[
  {
    "path": ".dockerignore",
    "content": "target\nparu.tar.*\n"
  },
  {
    "path": ".github/FUNDING.yml",
    "content": "github: Morganamilo\ncustom: https://paypal.me/zzsugar\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/bug-report.md",
    "content": "---\nname: Bug Report\nabout: Report a Bug\ntitle: ''\nlabels: ''\nassignees: ''\n\n---\n\n### Affected Version\n**paru -V**\n\n### Description\n**Have you checked previous issues?**\n\n### Output\n**Include the FULL output of any relevant commands/configs**\n\n**Don't cut parts of the input always include the FULL thing**\n\n**paru.conf and pacman.conf are usually always relevant**\n\n```sh\n\n```\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/feature_request.md",
    "content": "---\nname: Feature request\nabout: Suggest an idea for this project\ntitle: ''\nlabels: ''\nassignees: ''\n\n---\n\n**Have you checked the readme and man page for this feature?**\n**Have you checked previous issues for this feature?**\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/issue.md",
    "content": "---\nname: Issue\nabout: Report an Issue\ntitle: ''\nlabels: ''\nassignees: ''\n\n---\n\n### Affected Version\n**paru -V**\n\n### Description\n**Have you checked previous issues?**\n\n### Output\n**Include the FULL output of any relevant commands/configs**\n\n**Don't cut parts of the input always include the FULL thing**\n\n**paru.conf and pacman.conf are usually always relevant**\n\n```sh\n\n```\n"
  },
  {
    "path": ".github/workflows/build.yml",
    "content": "name: Build Release\non:\n  push:\n    tags:\n      - v*\n    branches:\n       - test-release/*\n\njobs:\n  get-version:\n    runs-on: ubuntu-latest\n    outputs:\n      version: ${{ steps.version.outputs.version }}\n    steps:\n      - id: version\n        run: echo \"version=${ref##test-release/}\" >> $GITHUB_OUTPUT\n        env:\n          ref: ${{ github.ref_name }}\n\n  build-releases:\n    name: Build release\n    runs-on: ubuntu-latest\n    strategy:\n      matrix:\n        platform:\n        - docker: amd64\n          arch: x86_64\n        - docker: arm64/v8\n          arch: aarch64\n        - docker: arm/v7\n          arch: armv7h\n\n    steps:\n      - uses: actions/checkout@v4\n      - uses: docker/setup-qemu-action@v3\n        with:\n          platforms: all\n      - uses: docker/setup-buildx-action@v3\n        with:\n          version: latest\n          install: true\n      - run: docker build --platform=linux/${{ matrix.platform.docker }} -o . .\n      - uses: actions/upload-artifact@v3\n        with:\n          name: paru-${{ matrix.platform.arch }}\n          path: paru.tar.zst\n\n  release:\n    name: Create GitHub Release\n    runs-on: ubuntu-latest\n    needs: [build-releases, get-version]\n    outputs:\n      release-url: ${{ steps.create-release.outputs.upload_url }}\n    steps:\n    - name: Create Release\n      id: create-release\n      uses: actions/create-release@master\n      env:\n        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n      with:\n        tag_name: ${{ needs.get-version.outputs.version }}\n        release_name: Paru v${{ needs.get-version.outputs.version }}\n        draft: true\n        prerelease: false\n\n  upload-binaries:\n    name: Upload binaries to Githib relase\n    runs-on: ubuntu-latest\n    needs: [release, get-version]\n    strategy:\n      matrix:\n          arch: [x86_64, aarch64, armv7h]\n    steps:\n      - uses: actions/download-artifact@v3\n        with:\n          name: paru-${{ matrix.arch }}\n      - uses: actions/upload-release-asset@v1\n        env:\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n        with:\n          upload_url: ${{ needs.release.outputs.release-url }}\n          asset_name: paru-${{ needs.get-version.outputs.version }}-${{ matrix.arch }}.tar.zst\n          asset_path: paru.tar.zst\n          asset_content_type: application/tar+zstd\n\n"
  },
  {
    "path": ".github/workflows/mo.yml",
    "content": "name: Build Translations\n\non:\n  push:\n    paths:\n      - 'po/*.po'\n  pull_request:\n    paths:\n      - 'po/*.po'\n\nenv:\n  CARGO_TERM_COLOR: always\n\njobs:\n  test:\n    runs-on: ubuntu-latest\n    steps:\n      - name: Install gettext\n        run: sudo apt-get install gettext\n\n      - name: Checkout\n        uses: actions/checkout@v4\n\n      - name: Build translations\n        run: ./scripts/mkmo locale\n"
  },
  {
    "path": ".github/workflows/paru.yml",
    "content": "name: Paru\n\non:\n  push:\n    paths:\n      - 'src/*.rs'\n      - 'testdata/**'\n      - 'tests/**'\n      - 'Cargo.*'\n  pull_request:\n    paths:\n      - 'src/*.rs'\n      - 'testdata/**'\n      - 'tests/**'\n      - 'Cargo.*'\n\nenv:\n  CARGO_TERM_COLOR: always\n\njobs:\n  test:\n    runs-on: ubuntu-latest\n    container:\n      image: archlinux\n    steps:\n      - name: Install Packages\n        run: pacman -Syu rust clang gcc git libarchive pkgconf sudo fakeroot --noconfirm --needed\n\n      - name: Checkout\n        uses: actions/checkout@v2\n\n      - uses: Swatinem/rust-cache@v2\n        with:\n          cache-on-failure: true\n\n      - name: Format\n        run: cargo fmt -- --check\n\n      - name: Build\n        run: cargo build --locked --features generate\n\n      - name: Test\n        run: sudo -u nobody XDG_STATE_HOME=/tmp CARGO_HOME=/tmp/cargo cargo test --locked --features generate,mock --target-dir=/tmp -- --nocapture\n\n  test-git:\n    runs-on: ubuntu-latest\n    container:\n      image: archlinux\n    steps:\n      - name: Install Packages\n        run: pacman -Syu rust curl clang git base-devel libarchive meson asciidoc doxygen fakechroot pkgconf --noconfirm --needed\n\n      - name: Install Pacman-git\n        run: |\n          git clone https://aur.archlinux.org/pacman-git\n          chown -R nobody pacman-git\n          cd pacman-git\n          sudo -u nobody makepkg --nocheck\n          sudo -u nobody makepkg --packagelist > list\n          yes | pacman -U $(cat list)\n\n      - name: Checkout\n        uses: actions/checkout@v2\n\n      - uses: Swatinem/rust-cache@v2\n        with:\n          cache-on-failure: true\n\n      - name: Format\n        run: cargo fmt -- --check\n\n      - name: Build\n        run: cargo build --locked --features git,generate\n\n      - name: Test\n        run: sudo -u nobody XDG_STATE_HOME=/tmp CARGO_HOME=/tmp/cargo cargo test --locked --features git,generate,mock --target-dir=/tmp -- --nocapture\n"
  },
  {
    "path": ".gitignore",
    "content": "/target\nparu.tar.*\npo/*.mo\nlocale/\ntestdata/pkg/*\n"
  },
  {
    "path": "CHANGELOG.md",
    "content": "# Changelog\n\n## Paru v2.1.0 (2025-07-08)\n\n### Added\n\n- Add `--chrootpkgs` flag 64ab502\n- Add `--print` flag for `-C` 2fa517c\n- Support `--noconfirm` on `-Ci` f6262fa\n- Add `-Gcc` flag to print all comments for AUR packages 211f78b\n\n### Changed\n\n- Tell user to initialise local repo after changing pacman.conf ed9e287\n- Revamp diff printing e2277b4\n- Print help message for paging during review b488b5a\n- Allow specifying Url and Path together for pkgbuild repos a1a0021\n- Remove package files when running `-Lc` c43eb20\n\n### Fixed\n\n- Don't check conflicts when chroot and not installing 6527db3\n- Fix chroot conflicts c652669\n- Fix chroot builds 5bca838 2f5e6e1\n- Fix debug package installs d0329e3\n- Fix `-Si` not working with split packages 1003495\n- Fix `--nocheck` not working for chroot builds c9c4a23\n- Fix provider menu from showing on interactive install 6af6674\n- Fix `-a` not working during `-Si` e8d9c01\n- Fix `-Si <repo>/<package>` for pkgbuild repos b23382f\n- Pass makepkg dropin config files to the chroot 25ab260\n- Exclude AUR packages when running `-Qn` c1edcd3\n- Fix `--asexp` and `--asdeps` not always being passed to pacman41f5862\n- Fix typos #1267 #1364\n\n### Localization\n\n- Update sk locale #1265\n- Update cs locale #1264\n- Update fi locale #1378\n- Update hu locale #1359 #1274 #1263\n- Add uk locale #1352\n\n## Paru v2.0.4 (2024-09-20)\n\n### Added\n\n- Add pacman 7 support 90656a9\n\n### Fixed\n\n- Fix split package support on -G c894e25\n- Fix -Fl fish completion #1213\n- Fix typo in man page #1237\n- Fix build when POSIXLY_CORRECT is set #1160\n\n### Localization\n\n- Add cs locale #1133\n- Updated pt locale #1164\n- Updated pt_BR locale #1175\n- Updated hu locale #1235\n\n## Paru v2.0.3 (2024-03-13)\n\n### Fixed\n\n- Fix build on arm c096bb\n\n## Paru v2.0.2 (2024-03-13)\n\n### Added\n\n- Add --chrootflags option #1090\n- Add zsh package completion for --getpkgbuild #1101\n\n### Fixed\n\n- Fix crash when pkgbuild repo has directories 057706b\n- Fix cache_dir instead of state_dir in error message #1141\n- Fix --needed #1100\n- Filter out pkgbuild repos for aur warnings 81efb1f\n- Fixed typos in man page #1091\n- Only enable color when stderr and stdout are tty b345771\n- Update testing repo names for -G #1147\n\n### Localization\n\n- Add hu locale #1116\n- Updated fr locale #1094\n- Update sv locale #1125\n- Update zh_CN locale #1120\n- Update es locale #1117\n- Update zh_TW locale #1111\n\n## Paru v2.0.1 (2023-12-01)\n\n### Added\n\n- Print which package failed to clean in -Sc #1074\n\n### Fixed\n\n- Fix local pkgbuild review bf35cab\n- Don't try interactive install with empty package list 26ce55f\n- Don't refresh when no Git pkgbuild repos e090af4\n- Fix compile on arm d1a9c4\n\n### Localization\n\n- Update sv locale #1088\n\n## Paru v2.0.0 (2023-11-26)\n\nParu v2.0.0 comes after a long time of no releases, mostly due to a lack of free time\nand a lot of changes that needed a lot of work to get done.\n\nThis update brings a lot of big changes, mostly aimed at power users, and a handul of general\nimprovements and quality of life changes.\n\nAs there's not been a release in so long, consider a lot of the things here not battle tested,\nwith a .1 patch to follow.\n\nThis changelog won't include minor changes as there are a lot.\n\n### PKGBUILD Repos\n\nThe main feature of this release is properly integrating non aur pkgbuilds into the build\nengine. You can now add pkgbuild repos to your paru.conf in the form of:\n\n```\n[repo_name]\nUrl = https://path/to/git/repo\n```\n\nThen syncing the repo with `paru -Sy --pkgbuilds`.\n\nYou can also specify 'Path =' instead to point to a pkgbuild repo on disk.\n\nparu will then recognise this repo as a source of pkgbuilds just like the AUR.\n\n```\nparu -S foo\n```\n\npkgbuild repos have a higher priority than the AUR so this can also be used to shadow AUR\npackages with your own pkgbuilds. The deps of these pkgbuilds can still include AUR deps.\n\nThere is also an automatic pkgbuild repo named `.` in the current directory. Essentionally\nthere's an invisible:\n\n```\n[.]\nPath = .\n```\n\nin your paru.conf.\n\nThis allows doing `paru -S ./foo` where `foo` is the name of a package (not path) under the\ncurrent directory. this means if you have a bunch of pkgbuilds in a directory that depend on\neach other you can build one with `paru -S ./foo` and paru will solve and build the dependencies\nacross pkgbuilds.\n\nPreviously `paru -U` could be used to build a pkgbuild in the current directory. This has been\nrenamed to `paru -B <dirs>...` allowing you to specify multiple pkgbuilds to build at once.\n\nSee `paru.conf(5)` for more information on this.\n\n### Chroot\n\n--chroot now works without local repos, though it still works better with them.\n\n### --interactive\n\n`paru foo` has always been there for interactive search and install. There is now `--interactive`\nwhich works for other operactions.\n\n- `paru foo` is an alias for `paru -S --interactive foo`\n- `paru -R --interactive foo` can be used for an interactive remove.\n- `paru -Ss/-Qs --interactive foo` will give an interactive prompt then print the chosen packages so they can be piped to other commands.\n\n### Provides\n\nProvide searching is now better and is now enabled in the default paru.conf. You probably\nwant to uncomment this option if you have an existing paru.conf.\n\n### Contributors\n\nThanks to every one who has contributed code and translations for paru.\nAnd thanks to every one who has decided to sponsor the project.\n\n### Added\n\n- Add --interactive\n- Add --nolocalrepo\n- Add --pacmanconfbin\n- Add --provides=all\n- Add --pkgbuilds and --mode\n- Add --rebuild=tree\n- Add -o to ignore optional deps with --clean\n- Add IgnoreDevelsource\n- Add IgnoreDevel\n- Add AurRpcUrl\n- Add pkgbuild repos\n- Add -S ./ syntax\n\n### Changed\n\n- Replace devel.json with devel.toml\n- Move devel.toml to $XDG_STATE_HOME\n- Dates now use the local time zone\n- Fallback to cat when less is not available\n- No confirm pacman install after final paru confirmation\n- Copy DB into chroot before update\n- Disable -w/--downloadonly when installing aur packages\n- Allow chroot without local repo\n- Replace -U with -B\n\n### Fixed\n\n- Pass env into chroot\n- Fix separate install of split packages\n- Create local repo when refreshing\n- Respect makepkg config outside of chroot\n- Fix no sudo when running paru -Sc\n- Fix --redownload=yes\n- Don't try set install reason if package didn't actually install\n- colour version when printing install\n- Fix assume install for chroot\n- Don't install makedeps when chroot\n- Fix -dd in chroot\n- Don't review when no packages\n- Fix aur packages not being case sensitive\n\n## Paru v1.11.2 (2022-11-05)\n\nRebuild for openssl 3\n\n## Paru v1.11.1 (2022-07-06)\n\n### Fixed\n\n- Fix installing split packages that depend on each other 8c24f92\n- Fix man page typos #785\n\n### Localization\n\n- Update ja locale #791\n- Update ca locale #788\n- Update zh_CN locale #786\n- Update zh_TW locale #784\n\n## Paru v1.11.0 (2022-06-24)\n\n### Added\n\n- Don't try to build packages if deps are missing on fail baceee9\n- Support verbose pkg list 84f16c4\n- Add armv7h builds #723\n- Add --failfast df382ce\n- Add --keepsrc 6b7858a\n- Add -Lc 57c2f23\n- add fossil as devel suffix to the config #728\n\n### Fixed\n\n- Fix typo in paru.conf man page #709\n- Include sudo flags in sudo loop 3620089\n- Properly check for deps via provides with batch install a90ced5\n- Don't check check_depends during batch install if --nocheck 386633d\n- Fix fish completion #736 #749 #756\n- Fix rebuild option #750\n- Fix typo #738\n- Fix --redownload=all 5371b65\n- Fix crash when package changes packagename bf9691c\n- Fix chroot cleaning c60d17e\n- Use clean instead of remove for -Sc message ca8040e\n\n### Localization\n\n- Update pt locale #706\n- Update hr locale #704\n- Update nl locale #724 #743 #765\n- Update pt_BR locale #732\n\n### Changed\n\n- Add triple dots to upgrade search messages #769\n\n## Paru v1.10.0 (2022-03-24)\n\n### Added\n\n- Add flag to download AUR packages via SSH #669\n- Add option to keep older packages in local repo #668\n\n### Fixed\n\n- Fix being unable to create chroot 5bf10e1\n- Fix typo in man page #695\n\n### Localization\n\n- Update ko_KR locale #680\n- Update pt_BR locale #687\n\n## Paru v1.9.3 (2022-02-16)\n\n### Added\n\n- Add --pager and MakepkgConf options #603\n- Add --asdep --asexp as short hand options 348bdb3\n\n### Fixed\n\n- Fix crash when updating local repo where local version != sync 017e05b\n- Add completion to -Ui 19fd836\n- Return no instead of default for invalid input 408f3cc\n- Fix crash when current directory no longer exists ffef79d\n- Fix comment fetching with new aurweb ea02818\n\n### Changed\n\n- Rename -C --upgrade to --sysupgrade and -Lu to -Ly 0bace84\n- Expand docs on --fm 48b0086\n\n### Localization\n\n- Add hr locale #632\n- Update es locale #645\n- Update zh_CN locale #675\n\n## Paru v1.9.2 (2021-12-09)\n\n## Fixed\n\n- Fix paru not actually waiting on children properly e336648\n- Fix typo #608 f8e0888\n\n### Localization\n\n- Update pt locale #553\n- Update es locale #606\n- Update ru locale #607\n- Update pt_br locale #605\n\n## Paru v1.9.1 (2021-11-26)\n\n### Fixed\n\n- Make paru -G return a correct exit code #601\n- Fix manpage wording #598\n- Add docs for -Po and --regex 3ebff0f\n- Remove Stale develinfo when package changes source Remove dbaec6c\n\n### Changed\n\n- Sort -Sla output 200b8b1\n- Wait for child process to exit on signal 8c04dbb\n\n### Localization\n\n- Update pt_br locale #568\n\n## Paru v1.9.0 (2021-11-01)\n\n### Added\n\n- Add -Po to show package install order #550\n- Add timeout to git ls-remote 6278891\n- Add -hg to default DevelSuffixes #546\n- Add search size limit #541\n- Add socks proxy support 5a25ec3\n- Add -x/--regex for -Ss 6790a5d\n- Add --savechanges to save pkgbuild changes e05ca07\n\n### Fixed\n\n- Fix typos #560\n- Fix -d acting as -cc 69ae7bf\n- Fix -U picking non local repo if package with same name 95c1f91\n\n### Localization\n\n- Add ko locale #565\n- Update de locale #513\n\n## Paru v1.8.2 (2021-08-18)\n\n### Fixed\n\n- Fix wrong length check leading to overflow in -Si 9de304b\n- Fix format string printing wrongly f6b5431\n- Make upgrade text bold to match pacman d5d1724\n\n### Localization\n\n- Add zh_TW locale #493\n- Update fr locale #510\n- Update ja locale #504\n\n## Paru v1.8.1 (2021-08-12)\n\n### Fixed\n\n- Fix makepkg command giving wrong args in error message #492\n- Fix stack overflow with some cyclic deps 22ec445\n- Fix excessive output during -Ld\n\n### Changed\n\n- Ignore PKGEXT in chroot 8ff2ba9\n- -Ld also removes sig files 2a1a412\n\n### Localization\n\n- Update nl locale #488\n- Update de locale #487\n- Update pt_BR locale #496\n\n## Paru v1.8.0 (2021-08-03)\n\n### Added\n\n- Localization support 8667e98 5b1ff38\n- Added ability to static link libalpm a39641c\n- Add [env] section in paru.conf daf225f\n\n### Fixed\n\n- Fix short opts not taking args after space #485\n- Fix -Sc not cleaning untracked files #430\n- Fix -U sometimes not installing repo deps 61b10e0\n- Fix chroot builds sometimes doing nothing when no AUR updates 08aa1f7\n- Bail if call to gpg fails 9fab5d9\n\n### Changed\n\n- Order packages by dep order even when satisfied 210e375\n- Add -F to default less flags 3b6cb32\n- Warn instead of bail on unknown section 11bc07d\n\n### Localization\n\n- Add zh_CN locale #439\n- Add ca locale #439\n- Add it locale #440\n- Add pt_BR locale #434\n- Add pt locale #438\n- Add es locale #435\n- Add fi locale #441\n- Add nl locale #444\n- Add ru locale #449\n- Add de locale #436\n- Add ja locale #451\n- Add tr locale #437\n- Add ro locale #453\n- Add fr locale #456\n- Add sv locale #460\n- Add hi locale #463\n\n## Paru v1.7.3 (2021-06-24)\n\n### Fixed\n\n- Fix -U trying to resolve already satisfied deps 012db72\n- Don't pass deps twice during -U afe0a1f\n- Fix -dd not being passed to pacman 5a496c4\n\n### Changed\n\n- Move arch prompt and pgp import out of review 3d3eccf\n- Retry aur search when one targ fails 4020507\n- Only add packages to be installed to local repos 23f0a8c\n\n## Paru v1.7.2 (2021-06-08)\n\n### Fixed\n\n- Fix compilation on 32 bit 9a211ed\n- Fix -S'ing ignored packages b6ac4f3\n\n### Changed\n\n- Include #AurOnly in the example config 8f1d6d9\n\n## Paru v1.7.1 (2021-06-03)\n\n### Fixed\n\n- Fix panic in provider menu 73ecc7\n\n## Paru v1.7.0 (2021-05-31)\n\n### Fixed\n\n- Correctly decide if a pkg is aur or repo with -G 911ae21\n- Fix provider menu showing during -Y 5c9b390\n- Fix -G not updating already downloaded packages f5d5145\n- Fix provider menu sometimes showing twice for targets da91f84\n- Handle query part in devel urls bc5f545\n- Fix exiting if devel pkg can not be checked 7463ae3\n- Fix skipping repo packages with upgrademenu ba35318\n- Fix crash in upgrade menu cc98ec6\n\n### Added\n\n- Add signing option d0ca8dd 74c7120\n- Add -P --stats #240\n- Support --assume-installed e6c6460\n- Add -Ldd c525fab\n- libalpm 13 support 062b0db\n\n### Removed\n\n- Remove -R --local c525fab\n- Remove MovePkgs 69b5fb0\n- libalpm \\<13 support 062b0db\n\n### Changed\n\n- Better error messages when calling commands 257f73a\n- Install repo packages with aur pkgs when using chroot 06a0f1f\n- Pass mflags to makechrootpkg 7bce35d\n- Expect local repos to be user writable 4d224b8\n- -C will create the chroot if it does not exist 5b6730f\n\n## Paru v1.6.1 (2021-05-04)\n\n### Fixed\n\n- Fix out of date packages not being shown dca010e\n- Fix typo in man page #359\n\n## Paru v1.6.0 (2021-05-03)\n\n### Fixed\n\n- Fix -Sc failing when pkg/ is not writable #324\n- Fix not checking return of `git ls-remote` cd2049a\n- Fix progress bar display 97b2d0b\n- Fix upgrademenu crashing on non installed packages de26909\n- Don't drop to a shell after -Cu b951d73\n- Fix -Sc doc f83cbd3\n\n### Added\n\n- Paru now sets the user agent for aur requests 841ebb5\n- support latest pacman-git 2cbe4ed\n\n### Removed\n\n- Removed pacman6-alpha support -- use pacman or pacman-git instead\n\n### Changed\n\n- Cancel sudo loop after sudo fails acbcfc1\n- --gendb: don't update already existing entries 49eb22\n- Better error message when AUR does not return 400 #351\n\n## Paru v1.5.1 (2021-04-13)\n\n### Fixed\n\n- Fix --overwrite not being passed to pacman calls 28e4c0e\n- Fix typo in manpage #300\n- Fix args not allowing pacman globals e82ba9a\n- Fix copy error in help message 25f6cc7\n\n### Changed\n\n- Use makepkg to generate srcinfo with paru -U #307\n- Don't noconfirm -Ui 9d9cdb1\n- Use -d/--delete to clean the whole package instead of -Scc edd43ef\n\n## Paru v1.5.0 (2021-03-30)\n\n### Fixed\n\n- Fix typos #283 #276\n- Fix packages being marked as explicit when they shouldn't 47c4caf\n- Fix PAGER having higher priority than PARU_PAGER 82a7326\n- Fix pacman error message not including sudo #297\n\n### Added\n\n- Wait for pacman when db is locked 57d73db\n\n### Changed\n\n- Only upgrade installed packages when using chroot 4d126bc\n- Handle devel packages in local repo but not installed c5dfff2 c698f2e\n- Don't enable provider menu on sysupgrade c698f2e\n\n## Paru v1.4.0 (2021-03-14)\n\n### Fixed\n\n- Fix news continuie prompt not working c9431b4\n- Fix ignore of .SRCINFO during initial review #264\n- Fix packages.aur not being updated 28478c8\n- Fix help menu: rename --noskipreview to --review #272\n- Fix wrong return code with --needed 64409bf\n\n### Added\n\n- Added verbose search (-Sss) #266\n- Warn when using chroot without devtools 06ff12a\n\n## Paru v1.3.0 (2021-02-19)\n\n### Fixed\n\n- Fix misleading error when doing --nonexistantarg=foo 37fddea\n- Fix build dir not existing and rename to clonedir 5786bb2\n- Fix -Qu with local repo 7a9454f\n- Fix typos #225 #245\n- Create cache dir before caching aur list f18a901\n- Make -Ta return 127 when not all packages are in AUR b91d7ee\n \n### Added\n\n- Add pager option ca9bfea\n- Add PARU_PAGER 097433d\n- Allow setting custom sudo loop behaviour c165166\n- Add --skipreview a6c8511\n- Add paru -U e54d635\n\n### Changed\n\n- Show all files in review 9830c74\n- Skip review prompt when nothing to review 2a5e441\n- Improve local repo documentation \n\n\n## Paru v1.2.2 (2021-02-03)\n\n### Fixed\n\n- Fix upgrademenu padding wrong with local repo 3198feb\n- Fix chroot not installing repo packages f083096\n- Fix sigpipe killing paru during review 27733e3\n\n## Paru v1.2.1 (2021-02-02)\n\n### Fixed\n\n- Fix -G with split packages 16998c9\n- Fix --bat not expecting an argument  e82a0ff\n- Make PAGER a command instead of just the binary name d3e605c\n\n### Added\n\n- Add out of date info on -Ss 5e458eb\n\n## Paru v1.2.0 (2021-01-29)\n\n### Fixed\n\n- Fix devel packages with multiple sources not updating 237f739\n- Fix tab completion for -a in fish #155\n- Fix -y's not being respected dcdf6f1\n- Fix asdeps/asexp check 3657863\n\n### Added\n\n- aarch64 builds #182\n- Add doas example to config 164f349\n- Local repo and chroot support 4078200 319859f\n\n### Changed\n\n- Don't error out when arch news is down 929fa34\n- Simplify help file 1031ebc 55b2992\n- Print all diffs into a single less instance 89c3f22\n- Continue building packages when one fails 315f93e\n- Ignore aur when p/print is passed 76433ff\n- --noconfirm also skips review #175\n- NoWarn now supports globbing #176\n\n## Paru v1.1.4 (2020-12-21)\n\n### Fixed\n\n- Remove nonexistent topdown option from `paru.conf(5)` #124\n- Fix ignorepkg for devel pkgs ac0de9f\n- Fix rebuild not taking an arg a516eda\n\n### Changed\n\n- Add example for packages exclude in ask input #130\n\n## Paru v1.1.3 (2020-11-29)\n\n### Fixed\n\n- Fix --color behaving differently to pacman 5b56f86\n\n### Changed\n\n- Wait for editor to exit before deleting view #110\n- Warn instead of error on unknown values in paru.conf 0e4e618\n\n## Paru v1.1.2 (2020-11-18)\n\n### Fixed\n\n- Fix some packages not resolving and tweak package not found message e860dad\n- Remove --stats from docs f8ce25b\n- removing code that would false-flag debug pkgs #105 4ec0bb9\n\n### Changed\n\n- Improve error message for unknown option b3d0e95\n- Do aur + devel upgrade concurrently 836bba8\n- Fix warnings not showing with upgrade menu fedddb6\n\n## Paru v1.1.1 (2020-11-12)\n\n### Fixed\n\n- Fix numbers in upgrade menu being printed improperly for devel packages #100\n- Fix `--batflags` zsh completion #98\n\n## Paru v1.1.0 (2020-11-12)\n\n### Fixed\n\n- Don't try to remove packages with -c when nothing to remove d3c668e\n- Fix error if running `-Sy` with no targets 95f5681\n- Hide warnings for debug packages b3e0fe0\n- Don't try to install non existing devel packages 5e910d9\n- Fix clean checking for wrong file type e9a260e\n- Try and make pkg writable before deleting 70676bf\n- Remove dashes from InstallDebug in paru.conf.5 #86\n- Add missing asp completion 8e19638\n-  Fix -Qu return value not always being correct 0b791bc\n\n### Added\n\n- Add AUR comment support faf4d51\n- Add --bat and --batflags 8693ccd\n\n### Changed\n\n- Print [ignored] for ignored aur packages during -Qu 960fb1a\n- Sort devel.json 30e1c6b\n- Add mflags example to config ecc4ecd\n- Always pass ignored packages to pacman 591d593\n- Flip upgrade menu 79a4ab7\n\n## Paru v1.0.2 (2020-11-02)\n\n### Fixed\n\n- Fix Git wanting login credentials for some repos ea3062e\n- Fix diffs breaking with `--cleanafter` 0b66f9c\n- Fix provider menu formatting d7f100a\n- Fix devel not handling split packages properly a9f47ea\n- Fix rogue \"info\" object in devel.json d434467\n- Fix version compare 30da3bd\n\n### Added\n\n- Support repo prefix for `-G` ea512c6\n- Added --newsonupgrade to print news on upgrade b30a35e\n\n### Changed\n\n- News now returns 1 when there is no new news 792e15c\n\n## Paru v1.0.1 (2020-10-30)\n\n### Fixed\n\n- Fix `-Ss` not supporting `--bottomup`/`--topdown` #31 \n- Fix typos and wording #30 #32 #36 #40 #46 91e8009\n- Fix `-G` using lcoaldb instead of syncdb d34d3b0\n- Fix warnings not printing when there are no upgrades 4b14b50\n- Fix `--upgrademenu` printing the wrong local version #37\n- Fix `paru <target>` trying to install all packages when input is empty ba00b9f\n- Fix upgrade menu not showing sometimes 21e0b19\n- Fix missing =all option to redownload/rebuild c2fc530\n- Fix --overwrite not expecting an arg 9253841\n- Fix not setting usage in alpm 9ee5a12\n- Fix group printing 0451d60\n- Fix `--removemake` not accounting for repomake b3a62bc\n- Fix ignorepkg not working for devel packages 0bf2692\n\n### Added\n\n- Add `PARU_CONF` to configure paru's config file location eb9e1b1\n\n### Changed\n\n- AUR search is now case insensitive 5b27fc1\n- `-Sh` and other operations will now forward to pacman's help for those options d148352\n- Print an error when there's no action to do ce48f12\n- `--gendb` will now continue on srcinfo parse errors 73eb796\n- Don't prompt to continue install when pacman is going to prompt 9663f84\n\n## Paru v1.0.0 (2020-10-28) - changes from yay\n\n### Added\n\n- Added --nocheck\n- Added --develsuffixes\n- Added --installDebug\n- Added NoWarn\n- Added syntax highlighting to pkgbuild printing\n- Auto detection for pacman-git. Paru will build against pacman-git's API\n\n### Removed\n\n- Remove --timeupdate, --requestsplitn\n- Remove --save -Pg --Pd -Ps\n- Remove -Gf\n- Remove --cleanmenu\n- Remove -Y/--yay, stuff like --gendb still work even though they belonged to -Y\n\n### Changed\n\n- List based flags now append instead of overwriting existing settings\n- Packages are now cloned to ~/.cache/paru/clone by default\n- Use asp for repo pkgbuilds\n- Improve news printing\n- Formatting changes to be more pacman like\n- -Yc accounts for makedeps for aur packages\n- Devel info is now saved to devel.json\n- Devel info schema change\n- Sources are no longer downloaded in batch\n- Only treat packages matching develsuffixes as devel\n"
  },
  {
    "path": "CONTRIBUTING.md",
    "content": "# Contributing to paru\n\n## Formatting\n\nPlease format the code using `cargo fmt`\n\n## Building\n\nParu is built with cargo.\n\nTo build paru use:\n\n```\ncargo build\n```\n\nTo run paru use:\n\n```\ncargo run -- <args>\n```\n\nParu has a couple of feature flags which you may want to enable:\n\n- backtrace: does nothing, kept around for backwards compatibility\n- git: target the libalpm-git API\n- generate: generate the libalpm bindings at build time (requires clang)\n\n### Building Against a Custom libalpm\n\nIf you wish to build against a custom libalpm you can specify **ALPM_LIB_DIR** while using the generate\nfeature. Then running with **LD_LIBRARY_PATH** pointed at the custom libalpm.so.\n\n## Testing\n\nParu's test suite can be run by running:\n\n```\ncargo test --features mock\n```\n\n## Translating\n\nSee https://github.com/Morganamilo/paru/discussions/433 for discussion on localization.\nYou probably want to subscribe to this to be notified when translations need to be updated.\n\n### New Languages\n\nWhen translating to a new language try to stick to languages pacman already supports:\nhttps://gitlab.archlinux.org/pacman/pacman/-/tree/master/src/pacman/po. For example using\n`es` over `es_ES`.\n\nTo translate paru to a new language, copy the the template .pot file to the locale you\nare translating to.\n\nFor example, to translate paru to Japanese you would do:\n\n```\ncp po/paru.pot po/jp.po\n```\n\nThen fill out the template file with your information and translation.\n\nAlternatively, you can use programs like `poedit` to write the translations.\n\n### Updating existing translations\n\nTo update existing translations against new code you must first update the .po\nfiles.\n\nDo this as its own commit.\n\n```\n./scripts/updpo\ngit commit po\n```\n\nThen fill in new strings.\n\n### Testing Translations\n\nTo test the translations you first must build the translation then run paru\npointing it at the generated files.\n\n```\n./scripts/mkmo locale/\nLOCALE_DIR=locale/ cargo run -- <args>\n```\n"
  },
  {
    "path": "Cargo.toml",
    "content": "[package]\nname = \"paru\"\nversion = \"2.1.0\"\nauthors = [\"morganamilo <morganamilo@archlinux.org>\"]\nedition = \"2021\"\n\ndescription = \"Feature packed AUR helper\"\nhomepage = \"https://github.com/Morganamilo/paru\"\nrepository = \"https://github.com/Morganamilo/paru\"\ndocumentation = \"https://docs.rs/paru\"\nlicense = \"GPL-3.0\"\nkeywords = [\"archlinux\", \"arch\", \"alpm\", \"pacman\", \"aur\"]\ninclude = [\"src/**/*\", \"LICENSE\", \"README.md\", \"CHANGELOG.md\", \"help\"]\nrust-version = \"1.87\"\n\n\n[dependencies]\nalpm = \"5.0.2\"\nalpm-utils = \"5.0.0\"\naur-depends = \"5.0.0\"\naur-fetch = \"0.11.3\"\ncini = \"1.0.0\"\npacmanconf = \"3.1.0\"\nraur = \"7.0.0\"\nsrcinfo = \"2.1.0\"\n\n\nansiterm = \"0.12.2\"\nanyhow = { version = \"1.0.100\", features = [\"backtrace\"] }\nchrono = { version = \"0.4.42\", default-features = false, features = [\"clock\"] }\ndirs = \"6.0.0\"\nfutures = \"0.3.31\"\nglobset = \"0.4.18\"\nhtmlescape = \"0.3.1\"\nindicatif = \"0.18.3\"\nscraper = \"0.25.0\"\nnix = { version = \"0.30.1\", features = [\"fs\", \"user\"] }\nreqwest = { version = \"0.11.27\", features = [\"gzip\", \"socks\"] }\nrss = { version = \"2.0.12\", default-features = false }\nserde = { version = \"1.0.228\", features = [\"derive\"] }\nserde_json = \"1.0.149\"\nsmart-default = \"0.7.1\"\ntempfile = \"3.24.0\"\nterminal_size = \"0.4.3\"\ntokio = { version = \"1.49.0\", features = [\n    \"process\",\n    \"macros\",\n    \"rt-multi-thread\",\n] }\nurl = \"2.5.8\"\nenv_logger = \"0.11.8\"\nlog = \"0.4.29\"\nasync-trait = { version = \"0.1.89\", optional = true }\ntr = \"0.1.11\"\nunicode-width = \"0.2.2\"\nregex = \"1.12.2\"\nsignal-hook = \"0.4.1\"\nbitflags = \"2.10.0\"\ntoml = { version = \"0.9.10\", features = [\"preserve_order\"] }\nflate2 = \"1.1.5\"\n\n[profile.release]\ncodegen-units = 1\nlto = true\n\n[features]\ngit = [\"alpm/git\", \"alpm-utils/git\", \"aur-depends/git\"]\nbacktrace = []\ngenerate = [\"alpm/generate\"]\nstatic = [\"alpm/static\"]\nmock = [\"async-trait\"]\nmock_chroot = [\"mock\"]\n#default = [\"git\", \"generate\"]\n\n[patch.crates-io]\n#alpm = { path = \"../alpm.rs/alpm\" }\n#alpm-utils = { path = \"../alpm.rs/alpm-utils\" }\n#aur-depends = { path = \"../aur-depends\" }\n#srcinfo = { path = \"../srcinfo.rs\" }\n#aur-fetch = { path = \"../aur-fetch\" }\n"
  },
  {
    "path": "Dockerfile",
    "content": "FROM debian:13 AS build-stage\n\nARG PACMAN_HASH=b9f7d4a5b0bea75953f5892621a2caecc5672de5\nARG PACMAN_VER=7.1.0\nARG DEBIAN_FRONTEND=noninteractive\n\nWORKDIR /pacman\n\nRUN apt-get update -y\nRUN apt-get install -y build-essential git libcurl4-openssl-dev curl meson ninja-build \\\n        libarchive-dev pkg-config libgpgme-dev libssl-dev clang python3 python3-setuptools \\\n        gettext zstd\n\nRUN curl -L -o pacman-${PACMAN_VER}.tar.xz https://gitlab.archlinux.org/pacman/pacman/-/archive/${PACMAN_HASH}/pacman-${PACMAN_HASH}.tar.gz\nRUN tar -xf pacman-${PACMAN_VER}.tar.xz\n\nWORKDIR pacman-${PACMAN_HASH}\n\nRUN meson setup \\\n        --prefix=/usr \\\n        --buildtype=plain \\\n        build\n\nRUN ninja -C build\nRUN ninja -C build install\n\nWORKDIR /paru\n\nENV RUSTUP_HOME=/usr/local/rustup \\\n    CARGO_HOME=/usr/local/cargo \\\n    PATH=/usr/local/cargo/bin:$PATH\n\nRUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | \\\n     sh -s -- -y --no-modify-path --profile minimal --default-toolchain nightly\n\nCOPY ../ .\n\nRUN --mount=type=tmpfs,target=/usr/local/cargo/git ./scripts/dist\n\nFROM scratch AS export-stage\nCOPY --from=build-stage /paru/paru.tar.zst /\n"
  },
  {
    "path": "LICENSE",
    "content": "                    GNU GENERAL PUBLIC LICENSE\n                       Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>\n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n                            Preamble\n\n  The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n  The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works.  By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users.  We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors.  You can apply it to\nyour programs, too.\n\n  When we speak of free software, we are referring to freedom, not\nprice.  Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n  To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights.  Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n  For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received.  You must make sure that they, too, receive\nor can get the source code.  And you must show them these terms so they\nknow their rights.\n\n  Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n  For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software.  For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n  Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so.  This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software.  The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable.  Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts.  If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n  Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary.  To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n  The precise terms and conditions for copying, distribution and\nmodification follow.\n\n                       TERMS AND CONDITIONS\n\n  0. Definitions.\n\n  \"This License\" refers to version 3 of the GNU General Public License.\n\n  \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n  \"The Program\" refers to any copyrightable work licensed under this\nLicense.  Each licensee is addressed as \"you\".  \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n  To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy.  The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n  A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n  To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy.  Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n  To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies.  Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n  An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License.  If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n  1. Source Code.\n\n  The \"source code\" for a work means the preferred form of the work\nfor making modifications to it.  \"Object code\" means any non-source\nform of a work.\n\n  A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n  The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form.  A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n  The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities.  However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work.  For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n  The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n  The Corresponding Source for a work in source code form is that\nsame work.\n\n  2. Basic Permissions.\n\n  All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met.  This License explicitly affirms your unlimited\npermission to run the unmodified Program.  The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work.  This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n  You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force.  You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright.  Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n  Conveying under any other circumstances is permitted solely under\nthe conditions stated below.  Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n  3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n  No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n  When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n  4. Conveying Verbatim Copies.\n\n  You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n  You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n  5. Conveying Modified Source Versions.\n\n  You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n    a) The work must carry prominent notices stating that you modified\n    it, and giving a relevant date.\n\n    b) The work must carry prominent notices stating that it is\n    released under this License and any conditions added under section\n    7.  This requirement modifies the requirement in section 4 to\n    \"keep intact all notices\".\n\n    c) You must license the entire work, as a whole, under this\n    License to anyone who comes into possession of a copy.  This\n    License will therefore apply, along with any applicable section 7\n    additional terms, to the whole of the work, and all its parts,\n    regardless of how they are packaged.  This License gives no\n    permission to license the work in any other way, but it does not\n    invalidate such permission if you have separately received it.\n\n    d) If the work has interactive user interfaces, each must display\n    Appropriate Legal Notices; however, if the Program has interactive\n    interfaces that do not display Appropriate Legal Notices, your\n    work need not make them do so.\n\n  A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit.  Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n  6. Conveying Non-Source Forms.\n\n  You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n    a) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by the\n    Corresponding Source fixed on a durable physical medium\n    customarily used for software interchange.\n\n    b) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by a\n    written offer, valid for at least three years and valid for as\n    long as you offer spare parts or customer support for that product\n    model, to give anyone who possesses the object code either (1) a\n    copy of the Corresponding Source for all the software in the\n    product that is covered by this License, on a durable physical\n    medium customarily used for software interchange, for a price no\n    more than your reasonable cost of physically performing this\n    conveying of source, or (2) access to copy the\n    Corresponding Source from a network server at no charge.\n\n    c) Convey individual copies of the object code with a copy of the\n    written offer to provide the Corresponding Source.  This\n    alternative is allowed only occasionally and noncommercially, and\n    only if you received the object code with such an offer, in accord\n    with subsection 6b.\n\n    d) Convey the object code by offering access from a designated\n    place (gratis or for a charge), and offer equivalent access to the\n    Corresponding Source in the same way through the same place at no\n    further charge.  You need not require recipients to copy the\n    Corresponding Source along with the object code.  If the place to\n    copy the object code is a network server, the Corresponding Source\n    may be on a different server (operated by you or a third party)\n    that supports equivalent copying facilities, provided you maintain\n    clear directions next to the object code saying where to find the\n    Corresponding Source.  Regardless of what server hosts the\n    Corresponding Source, you remain obligated to ensure that it is\n    available for as long as needed to satisfy these requirements.\n\n    e) Convey the object code using peer-to-peer transmission, provided\n    you inform other peers where the object code and Corresponding\n    Source of the work are being offered to the general public at no\n    charge under subsection 6d.\n\n  A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n  A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling.  In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage.  For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product.  A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n  \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source.  The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n  If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information.  But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n  The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed.  Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n  Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n  7. Additional Terms.\n\n  \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law.  If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n  When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit.  (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.)  You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n  Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n    a) Disclaiming warranty or limiting liability differently from the\n    terms of sections 15 and 16 of this License; or\n\n    b) Requiring preservation of specified reasonable legal notices or\n    author attributions in that material or in the Appropriate Legal\n    Notices displayed by works containing it; or\n\n    c) Prohibiting misrepresentation of the origin of that material, or\n    requiring that modified versions of such material be marked in\n    reasonable ways as different from the original version; or\n\n    d) Limiting the use for publicity purposes of names of licensors or\n    authors of the material; or\n\n    e) Declining to grant rights under trademark law for use of some\n    trade names, trademarks, or service marks; or\n\n    f) Requiring indemnification of licensors and authors of that\n    material by anyone who conveys the material (or modified versions of\n    it) with contractual assumptions of liability to the recipient, for\n    any liability that these contractual assumptions directly impose on\n    those licensors and authors.\n\n  All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10.  If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term.  If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n  If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n  Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n  8. Termination.\n\n  You may not propagate or modify a covered work except as expressly\nprovided under this License.  Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n  However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n  Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n  Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License.  If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n  9. Acceptance Not Required for Having Copies.\n\n  You are not required to accept this License in order to receive or\nrun a copy of the Program.  Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance.  However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work.  These actions infringe copyright if you do\nnot accept this License.  Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n  10. Automatic Licensing of Downstream Recipients.\n\n  Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License.  You are not responsible\nfor enforcing compliance by third parties with this License.\n\n  An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations.  If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n  You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License.  For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n  11. Patents.\n\n  A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based.  The\nwork thus licensed is called the contributor's \"contributor version\".\n\n  A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version.  For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n  Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n  In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement).  To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n  If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients.  \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n  If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n  A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License.  You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n  Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n  12. No Surrender of Others' Freedom.\n\n  If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License.  If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all.  For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n  13. Use with the GNU Affero General Public License.\n\n  Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work.  The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n  14. Revised Versions of this License.\n\n  The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time.  Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n  Each version is given a distinguishing version number.  If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation.  If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n  If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n  Later license versions may give you additional or different\npermissions.  However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n  15. Disclaimer of Warranty.\n\n  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n  16. Limitation of Liability.\n\n  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n  17. Interpretation of Sections 15 and 16.\n\n  If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n                     END OF TERMS AND CONDITIONS\n\n            How to Apply These Terms to Your New Programs\n\n  If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n  To do so, attach the following notices to the program.  It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n    {one line to give the program's name and a brief idea of what it does.}\n    Copyright (C) {year}  {name of author}\n\n    This program is free software: you can redistribute it and/or modify\n    it under the terms of the GNU General Public License as published by\n    the Free Software Foundation, either version 3 of the License, or\n    (at your option) any later version.\n\n    This program is distributed in the hope that it will be useful,\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n    GNU General Public License for more details.\n\n    You should have received a copy of the GNU General Public License\n    along with this program.  If not, see <http://www.gnu.org/licenses/>.\n\nAlso add information on how to contact you by electronic and paper mail.\n\n  If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n    {project}  Copyright (C) {year}  {fullname}\n    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n    This is free software, and you are welcome to redistribute it\n    under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License.  Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n  You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n<http://www.gnu.org/licenses/>.\n\n  The GNU General Public License does not permit incorporating your program\ninto proprietary programs.  If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library.  If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License.  But first, please read\n<http://www.gnu.org/philosophy/why-not-lgpl.html>.\n"
  },
  {
    "path": "README.md",
    "content": "# Paru\n\nFeature packed AUR helper\n\n[![paru](https://img.shields.io/aur/version/paru?color=1793d1&label=paru&logo=arch-linux&style=for-the-badge)](https://aur.archlinux.org/packages/paru/)\n[![paru-bin](https://img.shields.io/aur/version/paru-bin?color=1793d1&label=paru-bin&logo=arch-linux&style=for-the-badge)](https://aur.archlinux.org/packages/paru-bin/)\n[![paru-git](https://img.shields.io/aur/version/paru-git?color=1793d1&label=paru-git&logo=arch-linux&style=for-the-badge)](https://aur.archlinux.org/packages/paru-git/)\n\n## Description\n\nParu is your standard pacman wrapping AUR helper with lots of features and minimal interaction.\n\n[![asciicast](https://asciinema.org/a/sEh1ZpZZUgXUsgqKxuDdhpdEE.svg)](https://asciinema.org/a/sEh1ZpZZUgXUsgqKxuDdhpdEE)\n\n## Installation\n\n```\nsudo pacman -S --needed base-devel\ngit clone https://aur.archlinux.org/paru.git\ncd paru\nmakepkg -si\n```\n\n## Contributing\n\nSee [CONTRIBUTING.md](./CONTRIBUTING.md).\n\n## General Tips\n\n- **Man pages**: For documentation on paru's options and config file see `paru(8)` and `paru.conf(5)` respectively.\n\n- **Color**: Paru only enables color if color is enabled in pacman. Enable `color` in your `pacman.conf`.\n\n- **File based review**: To get a more advanced review process enable `FileManager` with your file manager of choice in `paru.conf`.\n\n- **Flip search order**: To get search results to start at the bottom and go upwards, enable `BottomUp` in `paru.conf`.\n\n- **Editing PKGBUILDs**: When editing PKGBUILDs, you can commit your changes to make them permanent. When the package is upgraded, `git` will try to merge your changes with upstream's.\n\n- **PKGBUILD syntax highlighting**: You can install [`bat`](https://github.com/sharkdp/bat) to enable syntax highlighting during PKGBUILD review.\n\n- **Tracking -git packages**: Paru tracks -git package by monitoring the upstream repository. Paru can only do this for packages that paru itself installed. `paru --gendb` will make paru aware of packages it did not install.\n\n## Examples\n\n`paru <target>` -- Interactively search and install `<target>`.\n\n`paru` -- Alias for `paru -Syu`.\n\n`paru -S <target>` -- Install a specific package.\n\n`paru -Sua` -- Upgrade AUR packages.\n\n`paru -Qua` -- Print available AUR updates.\n\n`paru -G <target>` -- Download the PKGBUILD and related files of `<target>`.\n\n`paru -Gp <target>` -- Print the PKGBUILD of `<target>`.\n\n`paru -Gc <target>` -- Print the AUR comments  of `<target>`.\n\n`paru --gendb` -- Generate the devel database for tracking `*-git` packages. This is only needed when you initially start using paru.\n\n`paru -Bi .` -- Build and install a PKGBUILD in the current directory.\n\n## IRC\n\nParu now has an IRC. #paru on [Libera Chat](https://libera.chat/). Feel free to join for discussion and help with paru.\n\n## Debugging\n\nParu is not an official tool. If paru can't build a package, you should first check if makepkg can successfully build the package. If it can't, then you should report the issue to the maintainer. Otherwise, it is likely an issue with paru and should be reported here.\n"
  },
  {
    "path": "completions/bash",
    "content": "# This file is in the public domain.\n\n_arch_compgen() {\n  local i r\n  COMPREPLY=($(compgen -W '$*' -- \"$cur\"))\n  for ((i = 1; i < ${#COMP_WORDS[@]} - 1; i++)); do\n    for r in ${!COMPREPLY[@]}; do\n      if [[ ${COMP_WORDS[i]} == ${COMPREPLY[r]} ]]; then\n        unset 'COMPREPLY[r]'\n        break\n      fi\n    done\n  done\n}\n\n_arch_ptr2comp() {\n  local list= x y\n  for x; do\n    for y in '0 --' '1 -'; do\n      eval 'set -- ${'$x'[${y% *}]}'\n      list+=\\ ${@/#/${y#* }}\n    done\n  done\n  _arch_compgen $list\n}\n\n_arch_incomp() {\n  local r=\"[[:space:]]-(-${1#* }[[:space:]]|[[:alnum:]_]*${1% *})\"\n  [[ $COMP_LINE =~ $r ]]\n}\n\n_pacman_pkg() {\n  _arch_compgen \"$(\n    if [[ $2 ]]; then\n      \\pacman -$1 2>/dev/null | \\cut -d' ' -f1 | \\sort -u\n    else\n      \\pacman -$1 2>/dev/null\n    fi\n  )\"\n}\n\n_paru_pkg() {\n  [ -z \"$cur\" ] && _pacman_pkg Slq && return\n  _arch_compgen \"$(paru -Pc)\"\n}\n\n_pacman_repo_list() {\n  _arch_compgen \"$(pacman-conf --repo-list)\"$'\\n'\"$(paru -Sl --pkgbuilds | cut -d ' ' -f1 | uniq)\"\n}\n\n_paru() {\n  compopt -o default\n  local common core cur database files prev query remove sync upgrade o\n  local show getpkgbuild\n  local cur prev words cword\n\n  _init_completion || return\n  database=('asdeps asexplicit')\n  files=('list machinereadable refresh regex' 'l x y')\n  query=('changelog check deps explicit file foreign groups info list native owns\n          search unrequired upgrades' 'c e g i k l m n o p s t u')\n  remove=('cascade dbonly nodeps assume-installed nosave print recursive unneeded local' 'c n p s u')\n  sync=('asdeps asexplicit clean dbonly downloadonly overwrite groups ignore ignoregroup\n         info list needed nodeps assume-installed print refresh recursive search sysupgrade'\n    'c g i l p s u w y')\n  upgrade=('asdeps asexplicit overwrite needed nodeps assume-installed print recursive install' 'p i')\n  core=('database files help query remove sync upgrade version' 'D F Q R S U V h')\n\n  common=('arch cachedir color config confirm dbpath debug gpgdir help hookdir logfile\n           noconfirm noprogressbar noscriptlet quiet root verbose\n\n           repo aur aururl clonedir makepkg mflags pacman pacman-conf git gitflags sudo sudoflags\n           asp gpg gpgflags fm fmflags chrootflags pager completioninterval sortby searchby limit\n           upgrademenu removemake noremovemake cleanafter nocleanafter rebuild rebuildall norebuild\n           rebuildtree redownload noredownload redownloadall pgpfetch nopgpfetch useask\n           nouseask savechanges nosavechanges failfast nofailfast keepsrc nokeepsrc combinedupgrade\n           nocombinedupgrade batchinstall nobatchinstall provides noprovides devel nodevel\n           develsuffixes sudoloop nosudoloop bottomup topdown newsonupgrade bat batflags\n           chroot nochroot sign nosign keeprepocache nokeeprepocache signdb nosigndb\n           localrepo nolocalrepo review skipreview' 'b d h q r v a')\n\n  show=('news stats' 'w s')\n  getpkgbuild=('print comments' 'p c')\n  chrootctl=('sysupgrade install' 'u i')\n  repoctl=('quiet list delete refresh clean' 'q l d y c')\n\n  for o in 'D database' 'F files' 'Q query' 'R remove' 'S sync' 'U upgrade' 'P show' 'G getpkgbuild' 'C chrootctl' 'L repoctl'; do\n    _arch_incomp \"$o\" && break\n  done\n\n  if [[ $? != 0 ]]; then\n    _arch_ptr2comp core\n  elif [[ ! $prev =~ ^-[[:alnum:]_]*[Vbhr] && ! $prev == --@(cachedir|color|config|dbpath|help|hookdir|gpgdir|logfile|root|version) ]]; then\n    [[ $cur == -* ]] && _arch_ptr2comp ${o#* } common ||\n      case ${o% *} in\n      D | R)\n        _pacman_pkg Qq\n        ;;\n      F)\n        { _arch_incomp 'l list' && _pacman_pkg Slq; } ||\n          _arch_incomp 'o owns' ||\n          compopt +o default\n        ;;\n      Q)\n        { _arch_incomp 'g groups' && _pacman_pkg Qg sort; } ||\n          { _arch_incomp 'p file' && _pacman_file; } ||\n          { _arch_incomp 's search' && compopt +o default; } ||\n          { _arch_incomp 'u upgrades' && compopt +o default; } ||\n          _arch_incomp 'o owns' ||\n          _pacman_pkg Qq\n        ;;\n      S)\n        { _arch_incomp 'g groups' && _pacman_pkg Sg; } ||\n          { _arch_incomp 'l list' && _pacman_repo_list; } ||\n          { _arch_incomp 's search' && compopt +o default; } ||\n          _paru_pkg\n        ;;\n      U)\n        _pacman_file\n        ;;\n      G)\n        _paru_pkg\n        ;;\n      esac\n  fi\n  true\n}\n\n_pacman_file() {\n  compopt -o filenames\n  _filedir 'pkg.tar*'\n}\n\ncomplete -F _paru paru\n\n# ex:et ts=2 sw=2 ft=sh\n"
  },
  {
    "path": "completions/fish",
    "content": "# vim:fdm=marker foldlevel=0 tabstop=2 shiftwidth=2 filetype=fish\n# Original Author for pacman: Giorgio Lando <patroclo7@gmail.com>\n# Updated for paru by jguer\n\nset -l progname paru\n\nfunction __fish_print_paru_repos --description \"Print the repositories configured for paru\"\n    string match -er \"\\[.*\\]\" </etc/pacman.conf | string match -r -v \"^#|options\" | string replace -ra \"\\[|\\]\" \"\"\n    paru -Sl --pkgbuilds | cut -d ' ' -f1 | uniq\nend\n\n\n# paru constants\nset -l noopt 'not __fish_contains_opt -s G -s V -s P -s S -s D -s Q -s R -s U -s T -s F -s L -s C database query sync remove upgrade deptest files version repoctl chrootctl gendb'\nset -l listall \"(paru -Pc | string replace ' ' \\t)\"\nset -l listpacman \"(__fish_print_pacman_packages)\"\nset -l show '__fish_contains_opt -s P show'\nset -l getpkgbuild '__fish_contains_opt -s G getpkgbuild'\nset -l repoctl '__fish_contains_opt -s L repoctl'\nset -l chrootctl '__fish_contains_opt -s C chrootctl'\n\n# Pacman constants\nset -l listinstalled \"(pacman -Q | string replace ' ' \\t)\"\nset -l listrepos \"(__fish_print_paru_repos)\"\nset -l listgroups \"(pacman -Sg)\\t'Package Group'\"\nset -l database '__fish_contains_opt -s D database'\nset -l query '__fish_contains_opt -s Q query'\nset -l remove '__fish_contains_opt -s R remove'\nset -l sync '__fish_contains_opt -s S sync'\nset -l upgrade '__fish_contains_opt -s U upgrade'\nset -l files '__fish_contains_opt -s F files'\n\ncomplete -c $progname -e\ncomplete -c $progname -f\n# HACK: We only need these two to coerce fish to stop file completion and complete options\ncomplete -c $progname -n \"$noopt\" -a \"-D\" -d \"Modify the package database\"\ncomplete -c $progname -n \"$noopt\" -a \"-Q\" -d \"Query the package database\"\n\n# Primary operations\ncomplete -c $progname -s D -f -l database -n \"$noopt\" -d 'Modify the package database'\ncomplete -c $progname -s Q -f -l query -n \"$noopt\" -d 'Query the package database'\ncomplete -c $progname -s R -f -l remove -n \"$noopt\" -d 'Remove packages from the system'\ncomplete -c $progname -s S -f -l sync -n \"$noopt\" -d 'Synchronize packages'\ncomplete -c $progname -s T -f -l deptest -n \"$noopt\" -d 'Check dependencies'\ncomplete -c $progname -s U -f -l upgrade -n \"$noopt\" -d 'Upgrade or add a local package'\ncomplete -c $progname -s F -f -l files -n \"$noopt\" -d 'Query the files database'\ncomplete -c $progname -s V -f -l version -n \"$noopt\" -d 'Display version and exit'\ncomplete -c $progname -s h -f -l help -d 'Display help'\n\n# General options\n# Only offer these once a command has been given so they get prominent display\ncomplete -c $progname -n \"not $noopt\" -s b -l dbpath -d 'Alternate database location' -xa \"(__fish_complete_directories)\"\ncomplete -c $progname -n \"not $noopt\" -s r -l root -d 'Alternate installation root' -xa \"(__fish_complete_directories)\"\ncomplete -c $progname -n \"not $noopt\" -s v -l verbose -d 'Output more status messages' -f\ncomplete -c $progname -n \"not $noopt\" -l arch -d 'Alternate architecture' -f\ncomplete -c $progname -n \"not $noopt\" -l cachedir -d 'Alternate package cache location' -xa \"(__fish_complete_directories)\"\ncomplete -c $progname -n \"not $noopt\" -l color -d 'Colorize the output' -fa '{auto,always,never}'\ncomplete -c $progname -n \"not $noopt\" -l config -d 'Alternate config file' -r\ncomplete -c $progname -n \"not $noopt\" -l confirm -d 'Always ask for confirmation' -f\ncomplete -c $progname -n \"not $noopt\" -l debug -d 'Display debug messages' -f\ncomplete -c $progname -n \"not $noopt\" -l disable-download-timeout -d 'Use relaxed timeouts for download' -f\ncomplete -c $progname -n \"not $noopt\" -l gpgdir -d 'Alternate home directory for GnuPG' -xa \"(__fish_complete_directories)\"\ncomplete -c $progname -n \"not $noopt\" -l hookdir -d 'Alternate hook location' -xa \"(__fish_complete_directories)\"\ncomplete -c $progname -n \"not $noopt\" -l logfile -d 'Alternate log file'\ncomplete -c $progname -n \"not $noopt\" -l noconfirm -d 'Bypass any confirmation' -f\ncomplete -c $progname -n \"not $noopt\" -l sysroot -d 'Operate on a mounted guest system (root-only)' -xa \"(__fish_complete_directories)\"\n\n# File, query, sync options (files, query, sync)\nfor condition in files query sync\n    complete -c $progname -n \"$$condition\" -s q -l quiet -d 'Show less information' -f\nend\n\n# Transaction options (sync, remove, upgrade)\nfor condition in sync remove upgrade\n    complete -c $progname -n \"$$condition\" -s d -l nodeps -d 'Skip [all] dependency checks' -f\n    complete -c $progname -n \"$$condition\" -s p -l print -d 'Dry run, only print targets' -f\n    complete -c $progname -n \"$$condition\" -l assume-installed -d 'Add a virtual package to satisfy dependencies' -f\n    complete -c $progname -n \"$$condition\" -l dbonly -d 'Modify database entry only' -f\n    complete -c $progname -n \"$$condition\" -l noprogressbar -d 'Do not display progress bar' -f\n    complete -c $progname -n \"$$condition\" -l noscriptlet -d 'Do not execute install script' -f\n    complete -c $progname -n \"$$condition\" -l print-format -d 'Specify printf-like format' -x\nend\n\n# File and query options (files, query)\nfor condition in files query\n    complete -c $progname -n \"$$condition\" -s l -l list -d 'List the files owned by PACKAGE' -f\nend\n\n# File and sync options (files, sync)\nfor condition in files sync\n    complete -c $progname -n \"$$condition\" -s y -l refresh -d 'Download fresh package databases [force]' -f\nend\n\n# Query and sync options (query, sync)\nfor condition in query sync\n    complete -c $progname -n \"$$condition\" -s g -l groups -d 'Display members of [all] package GROUP' -xa \"$listgroups\"\nend\n\n# Sync and upgrade options (sync, upgrade)\nfor condition in sync upgrade\n    complete -c $progname -n \"$$condition\" -l asdeps -d 'Install packages as non-explicitly installed' -f\n    complete -c $progname -n \"$$condition\" -l asexplicit -d 'Install packages as explicitly installed' -f\n    complete -c $progname -n \"$$condition\" -l ignore -d 'Ignore a package upgrade (can be used more than once)' -xa \"$listall\"\n    complete -c $progname -n \"$$condition\" -l ignoregroup -d 'Ignore a group upgrade (can be used more than once)' -xa \"$listgroups\"\n    complete -c $progname -n \"$$condition\" -l needed -d 'Do not reinstall up to date packages' -f\n    complete -c $progname -n \"$$condition\" -l overwrite -d 'Overwrite conflicting files (can be used more than once)' -r\nend\n\n# Database options\nset -l has_db_opt '__fish_contains_opt asdeps asexplicit check -s k'\ncomplete -c $progname -n \"$database; and not $has_db_opt\" -s k -l check -d 'Check database validity'\ncomplete -c $progname -n \"$database\" -s q -l quite -d 'Suppress output of success messages' -f\ncomplete -c $progname -n \"$database; and not $has_db_opt\" -l asdeps -d 'Mark PACKAGE as dependency' -x\ncomplete -c $progname -n \"$database; and not $has_db_opt\" -l asexplicit -d 'Mark PACKAGE as explicitly installed' -x\ncomplete -c $progname -n \"$has_db_opt; and $database\" -xa \"$listinstalled\"\n\n# File options - since pacman 5\ncomplete -c $progname -n \"$files\" -s x -l regex -d 'Interpret each query as a regular expression' -f\ncomplete -c $progname -n \"$files\" -l machinereadable -d 'Print each match in a machine readable output format' -f\ncomplete -c $progname -n \"$files\" -d 'Package' -xa \"$listpacman\"\n\n# Query options\ncomplete -c $progname -n \"$query\" -s c -l changelog -d 'View the change log of PACKAGE' -f\ncomplete -c $progname -n \"$query\" -s d -l deps -d 'List only non-explicit packages (dependencies)' -f\ncomplete -c $progname -n \"$query\" -s e -l explicit -d 'List only explicitly installed packages' -f\ncomplete -c $progname -n \"$query\" -s i -l info -d 'View PACKAGE [backup files] information' -f\ncomplete -c $progname -n \"$query\" -s k -l check -d 'Check that PACKAGE files exist' -f\ncomplete -c $progname -n \"$query\" -s m -l foreign -d 'List installed packages not found in sync database' -f\ncomplete -c $progname -n \"$query\" -s n -l native -d 'list installed packages only found in sync database' -f\ncomplete -c $progname -n \"$query\" -s o -l owns -d 'Query the package that owns FILE' -r\ncomplete -c $progname -n \"$query\" -s p -l file -d 'Query a package file instead of the database' -r\ncomplete -c $progname -n \"$query\" -s s -l search -d 'Search locally-installed packages for regexp' -f\ncomplete -c $progname -n \"$query\" -s t -l unrequired -d 'List only unrequired packages [and optdepends]' -f\ncomplete -c $progname -n \"$query\" -s u -l upgrades -d 'List only out-of-date packages' -f\ncomplete -c $progname -n \"$query\" -d 'Installed package' -xa \"$listinstalled\"\n\n# Remove options\ncomplete -c $progname -n \"$remove\" -s c -l cascade -d 'Also remove packages depending on PACKAGE' -f\ncomplete -c $progname -n \"$remove\" -s n -l nosave -d 'Ignore file backup designations' -f\ncomplete -c $progname -n \"$remove\" -s s -l recursive -d 'Also remove dependencies of PACKAGE' -f\ncomplete -c $progname -n \"$remove\" -s u -l unneeded -d 'Only remove targets not required by PACKAGE' -f\ncomplete -c $progname -n \"$remove\" -l local -d 'Also remove the package from the local repo' -f\ncomplete -c $progname -n \"$remove\" -d 'Installed package' -xa \"$listinstalled\"\n\n# Sync options\ncomplete -c $progname -n \"$sync\" -s c -l clean -d 'Remove [all] packages from cache' -f\ncomplete -c $progname -n \"$sync\" -s i -l info -d 'View PACKAGE [extended] information' -f\ncomplete -c $progname -n \"$sync\" -s l -l list -d 'List all packages in REPOSITORY' -xa \"$listrepos\"\ncomplete -c $progname -n \"$sync\" -s s -l search -d 'Search remote repositories for regexp' -f\ncomplete -c $progname -n \"$sync\" -s u -l sysupgrade -d 'Upgrade all packages that are out of date'\ncomplete -c $progname -n \"$sync\" -s w -l downloadonly -d 'Only download the target packages'\ncomplete -c $progname -n \"$sync\" -xa \"$listall $listgroups\"\n\n# Upgrade options\n# Theoretically, pacman reads packages in all formats that libarchive supports\n# In practice, it's going to be tar.xz, tar.gz or tar.zst\ncomplete -c $progname -n \"$upgrade\" -xa '(__fish_complete_suffix pkg.tar.zst; __fish_complete_suffix pkg.tar.xz; __fish_complete_suffix pkg.tar.gz)' -d 'Package file'\n\ncomplete -c $progname -n \"$upgrade\" -s i -l install -d 'Install package as well as building' -f\n\n# paru operations\ncomplete -c $progname -s P -f -l show -n \"$noopt\" -d 'Print information'\ncomplete -c $progname -s G -f -l getpkgbuild -n \"$noopt\" -d 'Get PKGBUILD from ABS or AUR'\ncomplete -c $progname -s L -f -l repoctl -n \"$noopt\" -d 'List local repos'\ncomplete -c $progname -s C -f -l chrootctl -n \"$noopt\" -d 'Interactive shell to the chroot'\n\n\n# paru options\ncomplete -c $progname -s c -l clean -n \"$noopt\" -d 'Remove unneeded dependencies' -f\ncomplete -c $progname -l gendb -n \"$noopt\" -d 'Generate development package DB' -f\n\n# Show options\ncomplete -c $progname -n \"$show\" -s w -l news -d 'Print arch news' -f\ncomplete -c $progname -n \"$show\" -s s -l stats -d 'Display system package statistics' -f\n\n# Getpkgbuild options\ncomplete -c $progname -n \"$getpkgbuild\" -s p -l print -d 'Print PKGBUILD instead of downloading' -f\ncomplete -c $progname -n \"$getpkgbuild\" -s c -l comments -d \"Print the AUR comments from the PKGBUILD's AUR page\" -f\n\ncomplete -c $progname -n \"$getpkgbuild\" -xa \"$listall\"\n\n# Repoctl options\ncomplete -c $progname -n \"$repoctl\" -s l -l list -d 'List packages in local repos' -f\ncomplete -c $progname -n \"$repoctl\" -s d -l delete -d 'Remove a package from the local repo' -f\ncomplete -c $progname -n \"$repoctl; and __fish_contains_opt -s d delete\" -d 'Package in local repo' -xa '(paru --repoctl --list --quiet)'\ncomplete -c $progname -n \"$repoctl\" -s q -l quiet -d 'Show less information' -f\ncomplete -c $progname -n \"$repoctl\" -s y -l refresh -d 'Refresh local repos' -f\ncomplete -c $progname -n \"$repoctl\" -s c -l clean -d 'Remove uninstalled packages from repos' -f\n\n# Chrootctl options\ncomplete -c $progname -n \"$chrootctl\" -s i -l install -d 'Install a package into the chroot' -xa \"$listpacman\"\ncomplete -c $progname -n \"$chrootctl\" -s u -l sysupgrade -d 'Upgrade the chroot' -f\n\n# New options\ncomplete -c $progname -n \"not $noopt\" -l repo -d 'Assume targets are from the repositories' -f\ncomplete -c $progname -n \"not $noopt\" -s a -l aur -d 'Assume targets are from the AUR' -f\ncomplete -c $progname -n \"not $noopt\" -l aururl -d 'Set an alternative AUR URL' -f\ncomplete -c $progname -n \"not $noopt\" -l aurrpcurl -d 'Set an alternative URL for the AUR /rpc endpoint' -f\ncomplete -c $progname -n \"not $noopt\" -l clonedir -d 'Directory used to download and run PKGBUILDs' -r\ncomplete -c $progname -n \"not $noopt\" -l makepkg -d 'Makepkg command to use' -f\ncomplete -c $progname -n \"not $noopt\" -l pacman -d 'Pacman command to use' -f\ncomplete -c $progname -n \"not $noopt\" -l pacman-conf -d 'Pacman-conf command to use' -f\ncomplete -c $progname -n \"not $noopt\" -l git -d 'Git command to use' -f\ncomplete -c $progname -n \"not $noopt\" -l asp -d 'Asp command to use' -f\ncomplete -c $progname -n \"not $noopt\" -l gpg -d 'Gpg command to use' -f\ncomplete -c $progname -n \"not $noopt\" -l fm -d 'File manager to use' -f\ncomplete -c $progname -n \"not $noopt\" -l pager -d 'Pager command to use' -f\ncomplete -c $progname -n \"not $noopt\" -l completioninterval -d 'Refresh interval for completion cache' -f\ncomplete -c $progname -n \"not $noopt\" -l sortby -d 'Sort AUR results by a specific field during search' -xa \"{votes,popularity,id,baseid,name,base,submitted,modified}\"\ncomplete -c $progname -n \"not $noopt\" -l searchby -d 'Search for AUR packages by querying the specified field' -xa \"{name,name-desc,maintainer,depends,checkdepends,makedepends,optdepends}\"\ncomplete -c $progname -n \"not $noopt\" -l limit -d 'Limit number of search results' -x\ncomplete -c $progname -n \"not $noopt\" -l upgrademenu -d 'Show a detailed list of updates with the option to skip any' -f\ncomplete -c $progname -n \"not $noopt\" -l noupgrademenu -d 'Do not show the upgrade menu' -f\ncomplete -c $progname -n \"not $noopt\" -l removemake -d 'Remove make deps after install' -f\ncomplete -c $progname -n \"not $noopt\" -l noremovemake -d 'Do not remove make deps after install' -f\ncomplete -c $progname -n \"not $noopt\" -l topdown -d 'Shows repository packages first and then aur' -f\ncomplete -c $progname -n \"not $noopt\" -l bottomup -d 'Shows aur packages first and then repository' -f\ncomplete -c $progname -n \"not $noopt\" -l devel -d 'Check -git/-svn/-hg development version' -f\ncomplete -c $progname -n \"not $noopt\" -l nodevel -d 'Disable development version checking' -f\ncomplete -c $progname -n \"not $noopt\" -l develsuffixes -d 'Suffixes to define development packages' -f\ncomplete -c $progname -n \"not $noopt\" -l cleanafter -d 'Clean package sources after successful build' -f\ncomplete -c $progname -n \"not $noopt\" -l nocleanafter -d 'Disable package sources cleaning' -f\ncomplete -c $progname -n \"not $noopt\" -l redownload -d 'Redownload PKGBUILD of package even if up-to-date' -f\ncomplete -c $progname -n \"not $noopt\" -l noredownload -d 'Do not redownload up-to-date PKGBUILDs' -f\ncomplete -c $progname -n \"not $noopt\" -l provides -d 'Look for matching providers when searching for packages' -f\ncomplete -c $progname -n \"not $noopt\" -l noprovides -d 'Just look for packages by pkgname' -f\ncomplete -c $progname -n \"not $noopt\" -l pgpfetch -d 'Prompt to import PGP keys from PKGBUILDs' -f\ncomplete -c $progname -n \"not $noopt\" -l nopgpfetch -d 'Do not prompt to import PGP keys' -f\ncomplete -c $progname -n \"not $noopt\" -l newsonupgrade -d 'Print new news during sysupgrade' -f\ncomplete -c $progname -n \"not $noopt\" -l useask -d 'Automatically resolve conflicts using pacmans ask flag' -f\ncomplete -c $progname -n \"not $noopt\" -l nouseask -d 'Confirm conflicts manually during the install' -f\ncomplete -c $progname -n \"not $noopt\" -l savechanges -d 'Commit changes to pkgbuilds made during review' -f\ncomplete -c $progname -n \"not $noopt\" -l nosavechanges -d \"Don't commit changes to pkgbuilds made during review\" -f\ncomplete -c $progname -n \"not $noopt\" -l failfast -d 'Exit as soon as any AUR packages fail to build' -f\ncomplete -c $progname -n \"not $noopt\" -l nofailfast -d \"Don't Exit as soon as any AUR packages fail to build\" -f\ncomplete -c $progname -n \"not $noopt\" -l keepsrc -d \"Keep src/ and pkg/ directories after building packages\" -f\ncomplete -c $progname -n \"not $noopt\" -l nokeepsrc -d \"Don't keep src/ and pkg/ directories after building packages\" -f\ncomplete -c $progname -n \"not $noopt\" -l combinedupgrade -d 'Refresh then perform the repo and AUR upgrade together' -f\ncomplete -c $progname -n \"not $noopt\" -l nocombinedupgrade -d 'Perform the repo upgrade and AUR upgrade separately' -f\ncomplete -c $progname -n \"not $noopt\" -l batchinstall -d 'Build multiple AUR packages then install them together' -f\ncomplete -c $progname -n \"not $noopt\" -l nobatchinstall -d 'Build and install each AUR package one by one' -f\ncomplete -c $progname -n \"not $noopt\" -l rebuild -d 'Always build target packages' -f\ncomplete -c $progname -n \"not $noopt\" -l norebuild -d 'Skip package build if in cache and up to date' -f\ncomplete -c $progname -n \"not $noopt\" -l mflags -d 'Pass the following options to makepkg' -f\ncomplete -c $progname -n \"not $noopt\" -l gitflags -d 'Pass the following options to git' -f\ncomplete -c $progname -n \"not $noopt\" -l gpgflags -d 'Pass the following options to gpg' -f\ncomplete -c $progname -n \"not $noopt\" -l sudoflags -d 'Pass the following options to sudo' -f\ncomplete -c $progname -n \"not $noopt\" -l batflags -d 'Pass the following options to sudo' -f\ncomplete -c $progname -n \"not $noopt\" -l fmflags -d 'Pass the following options to file manager' -f\ncomplete -c $progname -n \"not $noopt\" -l chrootflags -d 'Pass the following options to makechrootpkg' -f\ncomplete -c $progname -n \"not $noopt\" -l sudoloop -d 'Loop sudo calls in the background to avoid timeout' -f\ncomplete -c $progname -n \"not $noopt\" -l nosudoloop -d 'Do not loop sudo calls in the background' -f\ncomplete -c $progname -n \"not $noopt\" -l chroot -d 'Build packages in a chroot' -f\ncomplete -c $progname -n \"not $noopt\" -l nochroot -d \"Don't build packages in a chroot\" -f\ncomplete -c $progname -n \"not $noopt\" -l sign -d 'Sign packages with gpg' -f\ncomplete -c $progname -n \"not $noopt\" -l nosign -d \"Don't sign packages with gpg\" -f\ncomplete -c $progname -n \"not $noopt\" -l keeprepocache -d 'Keep old versions of packages with local repo' -f\ncomplete -c $progname -n \"not $noopt\" -l nokeeprepocache -d \"Don't keep old versions of packages with local repo\" -f\ncomplete -c $progname -n \"not $noopt\" -l signdb -d 'Sign databases with gpg' -f\ncomplete -c $progname -n \"not $noopt\" -l nosigndb -d \"Don't sign databases with gpg\" -f\ncomplete -c $progname -n \"not $noopt\" -l localrepo -d 'Build packages in a local repo' -f\ncomplete -c $progname -n \"not $noopt\" -l nolocalrepo -d \"Don't build packages in a local repo\" -f\ncomplete -c $progname -n \"not $noopt\" -l skipreview -d 'Skip the review process' -f\ncomplete -c $progname -n \"not $noopt\" -l review -d \"Don't skip the review process\" -f\n"
  },
  {
    "path": "completions/zsh",
    "content": "#compdef paru\n# vim:fdm=marker foldlevel=0 tabstop=2 shiftwidth=2 filetype=zsh\n\ntypeset -A opt_args\nsetopt extendedglob\n\n# options for passing to _arguments: main pacman commands\n_pacman_opts_commands=(\n\t{-D,--database}'[Modify database]'\n\t{-F,--files}'[Query the files database]'\n\t{-G,--getpkgbuild}'[Get PKGBUILD from ABS or AUR]'\n\t{-L,--repoctl}'[List local repos]'\n\t{-C,--chrootctl}'[Interactive shell to the chroot]'\n\t{-Q,--query}'[Query the package database]'\n\t{-R,--remove}'[Remove a package from the system]'\n\t{-P,--show}'[Print paru information]'\n\t{-S,--sync}'[Synchronize packages]'\n\t{-T,--deptest}'[Check if dependencies are installed]'\n\t{-U,--upgrade}'[Upgrade a package]'\n\t{-V,--version}'[Display version and exit]'\n\t'(-h --help)'{-h,--help}'[Display usage]'\n)\n\n# options for passing to _arguments: options common to all commands\n_pacman_opts_common=(\n\t'--arch[Set an alternate architecture]'\n\t{-b,--dbpath}'[Alternate database location]:database_location:_files -/'\n\t'--color[colorize the output]:color options:(always never auto)'\n\t{-h,--help}'[Display syntax for the given operation]'\n\t{-r,--root}'[Set alternate installation root]:installation root:_files -/'\n\t{-v,--verbose}'[Be more verbose]'\n\t'--cachedir[Alternate package cache location]:cache_location:_files -/'\n\t'--config[An alternate configuration file]:config file:_files'\n\t'--makepkgconf[makepkg.conf file to use]:config file:_files'\n\t'--nomakepkgconf[Use the default makepkg.conf]'\n\t'--completioninterval[Time in days to refresh completion cache]:number'\n\t'--confirm[Always ask for confirmation]'\n\t'--debug[Display debug messages]'\n\t'--gpgdir[Set an alternate directory for GnuPG (instead of /etc/pacman.d/gnupg)]: :_files -/'\n\t'--hookdir[Set an alternate hook location]: :_files -/'\n\t'--logfile[An alternate log file]:config file:_files'\n\t'--noconfirm[Do not ask for confirmation]'\n\t'--noprogressbar[Do not show a progress bar when downloading files]'\n\t'--noscriptlet[Do not execute the install scriptlet if one exists]'\n\n\n\t{-c,--clean}'[Remove unneeded dependencies]'\n\t'--gendb[Generates development package DB used for updating]'\n\t'--repo[Assume targets are from the repositories]'\n\t{-a,--aur}'[Assume targets are from the AUR]'\n\t'--aururl[Set an alternative AUR URL]:url'\n\t'--aurrpcurl[Set an alternative URL for the AUR /rpc endpoint]:url'\n\n\t'--clonedir[Directory used to download and run PKGBUILDs]:build dir:_files -/'\n\t'--makepkg[makepkg command to use]:makepkg:_files'\n\t'--pacman[pacman command to use]:pacman:_files'\n\t'--pacman-conf[pacman-conf command to use]:pacman:_files'\n\t'--git[git command to use]:git:_files'\n\t'--gpg[gpg command to use]:gpg:_files'\n\t'--fm[file manager to use]:fm:_files'\n\t'--asp[asp command to use]:asp:_files'\n\t'--pager[pager command to use]:pager:_files'\n\n\t'--sortby[Sort AUR results by a specific field during search]:sortby options:(votes popularity id baseid name base submitted modified)'\n\t'--upgrademenu[Show a detailed list of updates with the option to skip any]'\n\t\"--noupgrademenu[Don't show the upgrade menu]\"\n\t\"--removemake[Remove makedepends after install]\"\n\t\"--noremovemake[Don't remove makedepends after install]\"\n\n\t'--bottomup[Show AUR packages first]'\n\t'--topdown[Show repository packages first]'\n\t'--devel[Check -git/-svn/-hg development version]'\n\t'--nodevel[Disable development version checking]'\n\t'--develsuffixes[Suffixes to define development packages]:suffixes'\n\t'--cleanafter[Clean package sources after successful build]'\n\t'--nocleanafter[Disable package sources cleaning after successful build]'\n\t'--redownload[Always download PKGBUILDs of targets]'\n\t'--noredownload[Skip PKGBUILD download if in cache and up to date]'\n\t'--rebuild[Always build target packages]'\n\t'--norebuild[Skip package build if in cache and up to date]'\n\t'--provides[Look for matching providers when searching for packages]'\n\t'--noprovides[Just look for packages by pkgname]'\n\t'--pgpfetch[Prompt to import PGP keys from PKGBUILDs]'\n\t\"--nopgpfetch[Don't prompt to import PGP keys]\"\n\t\"--newsonupgrade[Print new news during sysupgrade]\"\n\t\"--useask[Automatically resolve conflicts using pacman's ask flag]\"\n\t'--nouseask[Confirm conflicts manually during the install]'\n\t\"--savechanges[Commit changes to pkgbuilds made during review]\"\n\t\"--nosavechanges[Don't commit changes to pkgbuilds made during review]\"\n\t\"--failfast[Exit as soon as any AUR packages fail to build]\"\n\t\"--nofailfast[Don't exit as soon as any AUR packages fail to build]\"\n\t\"--keepsrc[Keep src/ and pkg/ directories after building packages]\"\n\t\"--nokeepsrc[Don't keep src/ and pkg/ directories after building packages]\"\n\t'--combinedupgrade[Refresh then perform the repo and AUR upgrade together]'\n\t'--nocombinedupgrade[Perform the repo upgrade and AUR upgrade separately]'\n\t'--mflags[Pass arguments to makepkg]:mflags'\n\t'--gpgflags[Pass arguments to gpg]:gpgflags'\n\t'--gitflags[Pass arguments to git]:flags'\n\t'--sudoflags[Pass arguments to sudo]:flags'\n\t'--batflags[Pass arguments to bat]:flags'\n\t'--gpgflags[Pass arguments to gpg]:flags'\n\t'--fmflags[Pass arguments to file manager]:flags'\n\t'--chrootflags[Pass arguments to makechrootpkg]:flags'\n\n\t'--sudoloop[Loop sudo calls in the background to avoid timeout]'\n\t'--nosudoloop[Do not loop sudo calls in the background]'\n\t'--searchby[Search for packages using a specified field]'\n\t'--limit[limit number of search results]'\n\t'--sortby[Sort AUR results by a specific field during search]'\n\t'--batchinstall[Build multiple AUR packages then install them together]'\n\t'--nobatchinstall[Build and install each AUR package one by one]'\n\t'--chroot[Build packages in a chroot]'\n\t\"--nochroot[Don't build packages in a chroot]\"\n\t'--sign[Sign packages with gpg]'\n\t\"--nosign[Don't sign packages with gpg]\"\n\t'--keeprepocache[Keep old versions of packages with local repo]'\n\t\"--nokeeprepocache[Don't keep old versions of packages with local repo]\"\n\t'--signdb[Sign databases with gpg]'\n\t\"--nosigndb[Don't sign databases with gpg]\"\n\t'--localrepo[Build packages in a local repo]'\n\t\"--nolocalrepo[Don't build packages in a local repo]\"\n\n\t'--skipreview[Skip the review process]'\n\t\"--review[Don't skip the review process]\"\n)\n\n# options for passing to _arguments: options for --upgrade commands\n_pacman_opts_pkgfile=(\n\t'*-d[Skip dependency checks]'\n\t'*--nodeps[Skip dependency checks]'\n\t'*--assume-installed[Add virtual package to satisfy dependencies]'\n\t'--dbonly[Only remove database entry, do not remove files]'\n\t'--overwrite[Overwrite conflicting files]:file:_files -g \"*\"'\n\t'--needed[Do not reinstall up to date packages]'\n\t'--asdeps[mark packages as non-explicitly installed]'\n\t'--asexplicit[mark packages as explicitly installed]'\n\t{-p,--print}'[Only print the targets instead of performing the operation]'\n\t{-i,--install}'[Install package as well as building]'\n\t'*--ignore[Ignore a package upgrade]:package: _pacman_completions_all_packages'\n\t'*--ignoregroup[Ignore a group upgrade]:package group:_pacman_completions_all_groups'\n\t'--print-format[Specify how the targets should be printed]'\n\t'*:package file:_files -g \"*.pkg.tar*~*.sig(.,@)\"'\n)\n\n# options for passing to _arguments: subactions for --query command\n_pacman_opts_query_actions=(\n\t'(-Q --query)'{-Q,--query}\n\t{-g,--groups}'[View all members of a package group]:*:package groups:->query_group'\n\t{-o,--owns}'[Query the package that owns a file]:file:_files'\n\t{-p,--file}'[Package file to query]:*:package file:->query_file'\n\t{-s,--search}'[Search package names and descriptions]:*:search text:->query_search'\n)\n\n# options for passing to _arguments: options for --query and subcommands\n_pacman_opts_query_modifiers=(\n\t{-c,--changelog}'[List package changelog]'\n\t{-d,--deps}'[List packages installed as dependencies]'\n\t{-e,--explicit}'[List packages explicitly installed]'\n\t{\\*-i,\\*--info}'[View package information]'\n\t{\\*-k,\\*--check}'[Check package files]'\n\t{-l,--list}'[List package contents]'\n\t{-m,--foreign}'[List installed packages not found in sync db(s)]'\n\t{-n,--native}'[List installed packages found in sync db(s)]'\n\t{-q,--quiet}'[Show less information for query and search]'\n\t{-t,--unrequired}'[List packages not required by any package]'\n\t{-u,--upgrades}'[List packages that can be upgraded]'\n)\n\n# -G\n_pacman_opts_getpkgbuild_modifiers=(\n\t{-p,--print}'[Print PKGBUILD instead of downloading]'\n\t{-c,--comments}\"[Print the AUR comments from the PKGBUILD's AUR page]\"\n\t{-s,--ssh}\"[Clone the AUR package using SSH]\"\n)\n\n# -L\n_pacman_opts_repoctl_modifiers=(\n\t{-l,--list}'[List packages in local repos]'\n\t{-d,--delete}\"[Remove a package from the local repo]\"\n\t{-q,--quiet}'[Show less information]'\n\t{-y,--refresh}'[Refresh local repos]'\n\t{-c,--clean}'[Remove uninstalled packages from repos]'\n)\n\n# -L\n_pacman_opts_chrootctl_modifiers=(\n\t{-i,--install}'[Install a package into the chroot]'\n\t{-u,--sysupgrade}'[Upgrade the chroot]'\n)\n\n# -P\n_pacman_opts_print_modifiers=(\n\t\t{-w,--news}'[Print arch news]'\n\t\t{-s,--stats}'[Display system package statistics]'\n)\n# options for passing to _arguments: options for --remove command\n_pacman_opts_remove=(\n\t{-c,--cascade}'[Remove all dependent packages]'\n\t{-d,--nodeps}'[Skip dependency checks]'\n\t'*--assume-installed[Add virtual package to satisfy dependencies]'\n\t{-n,--nosave}'[Remove protected configuration files]'\n\t{-p,--print}'[Only print the targets instead of performing the operation]'\n\t{\\*-s,\\*--recursive}'[Remove dependencies not required by other packages]'\n\t{-u,--unneeded}'[Remove unneeded packages]'\n\t'--dbonly[Only remove database entry, do not remove files]'\n\t'--print-format[Specify how the targets should be printed]'\n\t'--local[Also remove the package from the local repo]'\n\t'*:installed package:_pacman_completions_installed_packages'\n)\n\n_pacman_opts_database=(\n\t'--asdeps[mark packages as non-explicitly installed]'\n\t'--asexplicit[mark packages as explicitly installed]'\n\t'*:installed package:_pacman_completions_installed_packages'\n)\n\n_pacman_opts_files=(\n\t{-l,--list}'[List the files owned by the queried package]:package:_pacman_completions_all_packages'\n\t{-x,--regex}'[Enable searching using regular expressions]:regex:'\n\t{-y,--refresh}'[Download fresh files databases from the server]'\n\t'--machinereadable[Produce machine-readable output]'\n\t{-q,--quiet}'[Show less information for query and search]'\n)\n\n# options for passing to _arguments: options for --sync command\n_pacman_opts_sync_actions=(\n\t'(-S --sync)'{-S,--sync}\n\t{\\*-c,\\*--clean}'[Remove old packages from cache]:\\*:clean:->sync_clean'\n\t{-g,--groups}'[View all members of a package group]:*:package groups:->sync_group'\n\t{-s,--search}'[Search package names and descriptions]:*:search text:->sync_search'\n\t'--dbonly[Only remove database entry, do not remove files]'\n\t'--needed[Do not reinstall up to date packages]'\n\t'--recursive[Reinstall all dependencies of target packages]'\n)\n\n# options for passing to _arguments: options for --sync command\n_pacman_opts_sync_modifiers=(\n\t{\\*-d,\\*--nodeps}'[Skip dependency checks]'\n\t'*--assume-installed[Add virtual package to satisfy dependencies]'\n\t{\\*-i,\\*--info}'[View package information]'\n\t{-l,--list}'[List all packages in a repository]'\n\t{-p,--print}'[Print download URIs for each package to be installed]'\n\t{-q,--quiet}'[Show less information for query and search]'\n\t{\\*-u,\\*--sysupgrade}'[Upgrade all out-of-date packages]'\n\t{-w,--downloadonly}'[Download packages only]'\n\t{\\*-y,\\*--refresh}'[Download fresh package databases]'\n\t'*--ignore[Ignore a package upgrade]:package: _pacman_completions_all_packages'\n\t'*--ignoregroup[Ignore a group upgrade]:package group:_pacman_completions_all_groups'\n\t'--asdeps[Install packages as non-explicitly installed]'\n\t'--asexplicit[Install packages as explicitly installed]'\n\t'--overwrite[Overwrite conflicting files]:files:_files'\n\t'--print-format[Specify how the targets should be printed]'\n)\n\n# handles --help subcommand\n_pacman_action_help() {\n\t_arguments -s : \\\n\t\t\"$_pacman_opts_commands[@]\"\n}\n\n# handles cases where no subcommand has yet been given\n_pacman_action_none() {\n\t_arguments -s : \\\n\t\t\"$_pacman_opts_commands[@]\"\n}\n\n# handles --query subcommand\n_pacman_action_query() {\n\tlocal context state line\n\ttypeset -A opt_args\n\n\tcase $state in\n\t\tquery_file)\n\t\t\t_arguments -s : \\\n\t\t\t\t\"$_pacman_opts_common[@]\" \\\n\t\t\t\t\"$_pacman_opts_query_modifiers[@]\" \\\n\t\t\t\t'*:package file:_files -g \"*.pkg.tar*~*.sig(.,@)\"'\n\t\t\t;;\n\t\tquery_group)\n\t\t\t_arguments -s : \\\n\t\t\t\t\"$_pacman_opts_common[@]\" \\\n\t\t\t\t\"$_pacman_opts_query_modifiers[@]\" \\\n\t\t\t\t'*:groups:_pacman_completions_installed_groups'\n\t\t\t;;\n\t\tquery_owner)\n\t\t\t_arguments -s : \\\n\t\t\t\t\"$_pacman_opts_common[@]\" \\\n\t\t\t\t\"$_pacman_opts_query_modifiers[@]\" \\\n\t\t\t\t'*:file:_files'\n\t\t\t;;\n\t\tquery_search)\n\t\t\t_arguments -s : \\\n\t\t\t\t\"$_pacman_opts_common[@]\" \\\n\t\t\t\t\"$_pacman_opts_query_modifiers[@]\" \\\n\t\t\t\t'*:search text: '\n\t\t\t;;\n\t\t*)\n\t\t\t_arguments -s : \\\n\t\t\t\t\"$_pacman_opts_common[@]\" \\\n\t\t\t\t\"$_pacman_opts_query_actions[@]\" \\\n\t\t\t\t\"$_pacman_opts_query_modifiers[@]\" \\\n\t\t\t\t'*:package:_pacman_completions_installed_packages'\n\t\t\t;;\n\tesac\n}\n\n# handles --remove subcommand\n_pacman_action_remove() {\n\t_arguments -s : \\\n\t\t'(--remove -R)'{-R,--remove} \\\n\t\t\"$_pacman_opts_common[@]\" \\\n\t\t\"$_pacman_opts_remove[@]\"\n}\n\n# handles --database subcommand\n_pacman_action_database() {\n\t_arguments -s : \\\n\t\t'(--database -D)'{-D,--database} \\\n\t\t\"$_pacman_opts_common[@]\" \\\n\t\t\"$_pacman_opts_database[@]\"\n}\n\n# handles --files subcommand\n_pacman_action_files() {\n\t_arguments -s : \\\n\t\t'(--files -F)'{-F,--files} \\\n\t\t\"$_pacman_opts_common[@]\" \\\n\t\t\"$_pacman_opts_files[@]\"\n}\n\n_pacman_action_deptest () {\n\t_arguments -s : \\\n\t\t'(--deptest)-T' \\\n\t\t\"$_pacman_opts_common[@]\" \\\n\t\t\":packages:_pacman_all_packages\"\n}\n\n\n# handles --sync subcommand\n_pacman_action_sync() {\n\tlocal context state line\n\ttypeset -A opt_args\n\tif (( $+words[(r)--clean] )); then\n\t\tstate=sync_clean\n\telif (( $+words[(r)--groups] )); then\n\t\tstate=sync_group\n\telif (( $+words[(r)--search] )); then\n\t\tstate=sync_search\n\tfi\n\n\tcase $state in\n\t\tsync_clean)\n\t\t\t_arguments -s : \\\n\t\t\t\t{\\*-c,\\*--clean}'[Remove old packages from cache]' \\\n\t\t\t\t\"$_pacman_opts_common[@]\" \\\n\t\t\t\t\"$_pacman_opts_sync_modifiers[@]\"\n\t\t\t\t;;\n\t\tsync_group)\n\t\t\t_arguments -s : \\\n\t\t\t\t\"$_pacman_opts_common[@]\" \\\n\t\t\t\t\"$_pacman_opts_sync_modifiers[@]\" \\\n\t\t\t\t'(-g --group)'{-g,--groups} \\\n\t\t\t\t'*:package group:_pacman_completions_all_groups'\n\t\t\t;;\n\t\tsync_search)\n\t\t\t_arguments -s : \\\n\t\t\t\t\"$_pacman_opts_common[@]\" \\\n\t\t\t\t\"$_pacman_opts_sync_modifiers[@]\" \\\n\t\t\t\t'*:search text: '\n\t\t\t;;\n\t\t*)\n\t\t\t_arguments -s : \\\n\t\t\t\t\"$_pacman_opts_common[@]\" \\\n\t\t\t\t\"$_pacman_opts_sync_actions[@]\" \\\n\t\t\t\t\"$_pacman_opts_sync_modifiers[@]\" \\\n\t\t\t\t'*:package:_pacman_completions_all_packages'\n\t\t\t;;\n\tesac\n}\n\n# handles --upgrade subcommand\n_pacman_action_upgrade() {\n\t_arguments -s : \\\n\t\t'(-U --upgrade)'{-U,--upgrade} \\\n\t\t\"$_pacman_opts_common[@]\" \\\n\t\t\"$_pacman_opts_pkgfile[@]\"\n}\n\n# handles --version subcommand\n_pacman_action_version() {\n\t# no further arguments\n\treturn 0\n}\n\n# handles --getpkgbuild subcommand\n_pacman_action_getpkgbuild() {\n  local aur_only\n  typeset -A opt_args\n  if (( $+words[(r)-c] )) || (( $+words[(r)--comments] )); then\n    aur_only=1\n  elif (( $+words[(r)-s] )) || (( $+words[(r)--ssh] )); then\n    aur_only=1\n  fi\n\n  if [[ $aur_only == 1 ]]; then\n    _arguments -s : \\\n        \"$_pacman_opts_getpkgbuild_modifiers[@]\" \\\n        '*:package:_pacman_completions_aur_packages'\n  else\n    _arguments -s : \\\n        \"$_pacman_opts_getpkgbuild_modifiers[@]\" \\\n        '*:package:_pacman_completions_all_packages'\n  fi\n}\n\n# provides completions for package groups\n_pacman_completions_all_groups() {\n\tlocal -a cmd groups\n\t_pacman_get_command\n\tgroups=( $(_call_program groups $cmd[@] -Sg) )\n\ttypeset -U groups\n\n\tif [[ ${words[CURRENT-1]} == '--ignoregroup' ]]; then\n\t\t_sequence compadd -S ',' \"$@\" -a groups\n\telse\n\t\tcompadd \"$@\" -a groups\n\tfi\n}\n\n# provides completions for packages available from repositories\n# these can be specified as either 'package' or 'repository/package'\n_pacman_completions_all_packages() {\n\tlocal -a seq sep cmd packages repositories packages_long\n\n\tif [[ ${words[CURRENT-1]} == '--ignore' ]]; then\n\t\tseq='_sequence'\n\t\tsep=(-S ',')\n\telse\n\t\tseq=\n\t\tsep=()\n\tfi\n\n\tif compset -P1 '*/*'; then\n\t\tpackages=( $(_call_program packages paru -Pc ${words[CURRENT]%/*}) )\n\t\ttypeset -U packages\n\t\t${seq} _wanted repo_packages expl \"repository/package\" compadd ${sep[@]} ${(@)packages}\n\telse\n\t\tpackages=( $(_call_program packages paru -Pc ) )\n\t\ttypeset -U packages\n\t\t${seq} _wanted packages expl \"packages\" compadd ${sep[@]} - \"${(@)packages}\"\n\n\t\trepositories=($(pacman-conf --repo-list) \\\n\t\t\t$(_call_program packages paru -Sl --pkgbuilds | cut -d ' ' -f1 | uniq))\n\t\ttypeset -U repositories\n\t\t_wanted repo_packages expl \"repository/package\" compadd -S \"/\" $repositories\n\tfi\n}\n\n_pacman_completions_aur_packages() {\n  # make sure cache is full\n  paru -Pc >/dev/null\n\n  local cache_file=${XDG_CACHE_HOME:-$HOME/.cache}/paru/packages.aur\n  if [ ! -f $cache_file ]; then\n    return\n  fi\n  local -a packages=( $(< $cache_file) )\n  _wanted packages expl \"AUR packages\" compadd ${(@)packages}\n}\n\n# provides completions for package groups\n_pacman_completions_installed_groups() {\n\tlocal -a cmd groups\n\t_pacman_get_command\n\tgroups=(${(o)${(f)\"$(_call_program groups $cmd[@] -Qg)\"}% *})\n\ttypeset -U groups\n\tcompadd \"$@\" -a groups\n}\n\n# provides completions for installed packages\n_pacman_completions_installed_packages() {\n\tlocal -a cmd packages packages_long\n\tpackages_long=(/var/lib/pacman/local/*(/))\n\tpackages=( ${${packages_long#/var/lib/pacman/local/}%-*-*} )\n\tcompadd \"$@\" -a packages\n}\n\n_pacman_all_packages() {\n\t_alternative : \\\n\t\t'localpkgs:local packages:_pacman_completions_installed_packages' \\\n\t\t'repopkgs:repository packages:_pacman_completions_all_packages'\n}\n\n# provides completions for repository names\n_pacman_completions_repositories() {\n\tlocal -a cmd repositories\n\trepositories=($(pacman-conf --repo-list) \\\n\t\t$(_call_program packages paru -Sl --pkgbuilds | cut -d ' ' -f1 | uniq))\n\t# Uniq the array\n\ttypeset -U repositories\n\tcompadd \"$@\" -a repositories\n}\n\n# builds command for invoking pacman in a _call_program command - extracts\n# relevant options already specified (config file, etc)\n# $cmd must be declared by calling function\n_pacman_get_command() {\n\t# this is mostly nicked from _perforce\n\tcmd=( \"pacman\" \"2>/dev/null\")\n\tinteger i\n\tfor (( i = 2; i < CURRENT - 1; i++ )); do\n\t\tif [[ ${words[i]} = \"--config\" || ${words[i]} = \"--root\" ]]; then\n\t\t\tcmd+=( ${words[i,i+1]} )\n\t\tfi\n\tdone\n}\n\n# main dispatcher\n_pacman_zsh_comp() {\n\tlocal -a args cmds;\n\tlocal tmp\n\targs=( ${${${(M)words:#-*}#-}:#-*} )\n\tfor tmp in $words; do\n\t\tcmds+=(\"${${_pacman_opts_commands[(r)*$tmp\\[*]%%\\[*}#*\\)}\")\n\tdone\n\tcase $args in #$words[2] in\n\t\th*)\n\t\t\tif (( ${(c)#args} <= 1 && ${(w)#cmds} <= 1 )); then\n\t\t\t\t_pacman_action_help\n\t\t\telse\n\t\t\t\t_message \"no more arguments\"\n\t\t\tfi\n\t\t\t;;\n\t\t*h*)\n\t\t\t_message \"no more arguments\"\n\t\t\t;;\n\t\tD*)\n\t\t\t_pacman_action_database\n\t\t\t;;\n\t\tF*)\n\t\t\t_pacman_action_files\n\t\t\t;;\n\t\tQ*g*) # ipkg groups\n\t\t\t_arguments -s : \\\n\t\t\t\t\"$_pacman_opts_common[@]\" \\\n\t\t\t\t\"$_pacman_opts_query_modifiers[@]\" \\\n\t\t\t\t'*:groups:_pacman_completions_installed_groups'\n\t\t\t;;\n\t\tQ*o*) # file\n\t\t\t_arguments -s : \\\n\t\t\t\t\"$_pacman_opts_common[@]\" \\\n\t\t\t\t\"$_pacman_opts_query_modifiers[@]\" \\\n\t\t\t\t'*:package file:_files'\n\t\t\t;;\n\t\tQ*p*) # file *.pkg.tar*\n\t\t\t_arguments -s : \\\n\t\t\t\t\"$_pacman_opts_common[@]\" \\\n\t\t\t\t\"$_pacman_opts_query_modifiers[@]\" \\\n\t\t\t\t'*:package file:_files -g \"*.pkg.tar*~*.sig(.,@)\"'\n\t\t\t;;\n\t\tT*)\n\t\t\t_pacman_action_deptest\n\t\t\t;;\n\t\tQ*)\n\t\t\t_pacman_action_query\n\t\t\t;;\n\t\tP*)\n\t\t\t _arguments -s : \\\n\t\t\t\t\"$_pacman_opts_print_modifiers[@]\"\n\t\t\t;;\n\t\tR*)\n\t\t\t_pacman_action_remove\n\t\t\t;;\n\t\tS*c*) # no completion\n\t\t\t_arguments -s : \\\n\t\t\t\t'(-c --clean)'{\\*-c,\\*--clean}'[Remove all files from the cache]' \\\n\t\t\t\t\"$_pacman_opts_common[@]\"\n\t\t\t;;\n\t\tS*l*) # repos\n\t\t\t_arguments -s : \\\n\t\t\t\t\"$_pacman_opts_common[@]\" \\\n\t\t\t\t\"$_pacman_opts_sync_modifiers[@]\" \\\n\t\t\t\t'*:package repo:_pacman_completions_repositories' \\\n\t\t\t;;\n\t\tS*g*) # pkg groups\n\t\t\t_arguments -s : \\\n\t\t\t\t\"$_pacman_opts_common[@]\" \\\n\t\t\t\t\"$_pacman_opts_sync_modifiers[@]\" \\\n\t\t\t\t'*:package group:_pacman_completions_all_groups'\n\t\t\t;;\n\t\tS*s*)\n\t\t\t_arguments -s : \\\n\t\t\t\t\"$_pacman_opts_common[@]\" \\\n\t\t\t\t\"$_pacman_opts_sync_modifiers[@]\" \\\n\t\t\t\t'*:search text: '\n\t\t\t\t;;\n\t\tS*)\n\t\t\t_pacman_action_sync\n\t\t\t;;\n\t\tT*)\n\t\t\t _arguments -s : \\\n\t\t\t\t'-T' \\\n\t\t\t\t\"$_pacman_opts_common[@]\" \\\n\t\t\t\t\":packages:_pacman_all_packages\"\n\t\t\t;;\n\t\tU*)\n\t\t\t_pacman_action_upgrade\n\t\t\t;;\n\t\tV*)\n\t\t\t_pacman_action_version\n\t\t\t;;\n\t\tY*)\n\t\t\t_arguments -s : \\\n\t\t\t\t\"$_pacman_opts_paru_modifiers[@]\"\n\t\t\t;;\n\t\tG*)\n\t\t\t_pacman_action_getpkgbuild\n\t\t\t;;\n\t\tL*)\n\t\t\t_arguments -s : \\\n\t\t\t\t\"$_pacman_opts_repoctl_modifiers[@]\"\n\t\t\t;;\n\t\tC*)\n\t\t\t_arguments -s : \\\n\t\t\t\t\"$_pacman_opts_chrootctl_modifiers[@]\"\n\t\t\t;;\n\n\t\t*)\n\n\t\t\tcase ${(M)words:#--*} in\n\t\t\t\t*--help*)\n\t\t\t\t\tif (( ${(w)#cmds} == 1 )); then\n\t\t\t\t\t\t_pacman_action_help\n\t\t\t\t\telse\n\t\t\t\t\t\treturn 0;\n\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t*--sync*)\n\t\t\t\t\t_pacman_action_sync\n\t\t\t\t\t;;\n\t\t\t\t*--query*)\n\t\t\t\t\t_pacman_action_query\n\t\t\t\t\t;;\n\t\t\t\t*--remove*)\n\t\t\t\t\t_pacman_action_remove\n\t\t\t\t\t;;\n\t\t\t\t*--deptest*)\n\t\t\t\t\t_pacman_action_deptest\n\t\t\t\t\t;;\n\t\t\t\t*--database*)\n\t\t\t\t\t_pacman_action_database\n\t\t\t\t\t;;\n\t\t\t\t*--files*)\n\t\t\t\t\t_pacman_action_files\n\t\t\t\t\t;;\n\t\t\t\t*--version*)\n\t\t\t\t\t_pacman_action_version\n\t\t\t\t\t;;\n\t\t\t\t*--upgrade*)\n\t\t\t\t\t_pacman_action_upgrade\n\t\t\t\t\t;;\n\t\t\t\t*--getpkgbuild*)\n\t\t\t\t\t_pacman_action_getpkgbuild\n\t\t\t\t\t;;\n\t\t\t\t*)\n\t\t\t\t\t_pacman_action_none\n\t\t\t\t\t;;\n\t\t\tesac\n\t\t\t;;\n\tesac\n}\n_pacman_comp() {\n\tcase \"$service\" in\n\t\tparu)\n\t\t\t_pacman_zsh_comp \"$@\"\n\t\t\t;;\n\t\t*)\n\t\t\t_message \"Error\"\n\t\t\t;;\n\tesac\n}\n\n_pacman_comp \"$@\"\n"
  },
  {
    "path": "man/paru.8",
    "content": ".TH \"PARU\" \"8\" \"2021\\-03\\-24\" \"paru v1.10.0 \"Paru Manual\"\n.nh\n.ad l\n.SH NAME\nparu \\- AUR helper and pacman wrapper\n\n.SH SYNOPSIS\n\\fIparu\\fR <operation> [options] [targets]\n.sp\n\\fIparu\\fR <search terms>\n.sp\n\\fIparu\\fR\n\n.SH DESCRIPTION\nParu is an AUR helper written in Rust and based on the design of yay. It aims\nto be your standard pacman wrapping AUR helper with minimal interaction.\n\nParu is a tool to easily build and install packages from the AUR, along with\ntheir dependencies. Paru also expands many of pacman's options making them\nAUR aware.\n\nThis manpage only covers options unique to paru. For other options see\n\\fBpacman(8)\\fR.\n\n.SH PARU OPERATIONS\n.TP\n\n.TP\n.B \\-P, \\-\\-show\nPrinting related options.\n\n.TP\n.B \\-G, \\-\\-getpkgbuild\nDownloads PKGBUILDs from the ABS or AUR. The ABS can only be used for Arch\nLinux repositories.\n\n.TP\n.B \\-B, \\-\\-build\nBuild PKGBUILDs on disk. Targets are directories directly containing a PKGBUILD.\n\n.TP\n.B \\-L, \\-\\-repoctl\nList local repos.\n\n.TP\n.B \\-C, \\-\\-chrootctl\nInteractive shell to the chroot.\n\n.RE\nIf no arguments are provided 'paru \\-Syu' will be performed.\n\n.SH EXTENDED PACMAN OPERATIONS\n.TP\n.B \\-R, \\-S, \\-Si, \\-Sl, \\-Ss, \\-Su, \\-Sc, \\-Qu \\-T\nThese operations are extended to support both AUR and repo packages.\n\n.TP\n.B \\-R\nParu will also remove cached data about devel packages.\n\n.TP\n.B \\-Sc\nParu will also clean cached AUR packages and any untracked files in the\ncache. Cleaning untracked files will wipe any downloaded sources or\nbuilt packages but will keep already downloaded VCS sources.\n-d or --delete can be passed to delete the entire package instead of just\ncleaning it.\n\n.TP\n.B \\-Ss\nThe AUR can be searched using regex but it must be explicitly requested using\n\\-x/\\-\\-regex. Regex search will only search package names and not descriptions\nregardless of SearchBy.\n\n.TP\n.B \\-Sss\nParu will also output a verbose search result when passing two\n'--search' or '-s' flags.\n\n.TP\n.B \\-S, \\-Si, \\-Sl, \\-Ss, \\-Su, \\-Qu\nParu will also handle AUR packages for these operations.\n\n.TP\n.B \\-Ta\nWill filter a list of packages to ones that appear in the AUR.\n\n.SH NO OPERATION\n\n.TP\n.B <NO OPTION>\nInteractive search and install. Displays a list of packages matching the search\nterms and prompts the user on which packages to install.\n\n.TP\n.B \\-\\-gendb\nGenerate the development package database. This tracks the latest commit for\neach development package, so when there is a new commit paru will know to\nupdate. This is done per package whenever a package is synced. This option\nshould only be used when migrating to paru from another AUR helper.\n\nThis also causes paru to assume all current development packages are up to\ndate. Updates will then be detected on the next commit.\n\n.TP\n.B \\-c, \\-\\-clean\nRemove unneeded dependencies.\n\nMake and check dependencies are considered for\nforeign packages. Pass this twice to ignore these. Pass \\-o to\nignore optional dependencies.\n\n.SH SHOW OPTIONS (APPLY TO \\-P AND \\-\\-SHOW)\n.TP\n.B \\-c, \\-\\-complete\nPrint a list of all AUR and repo packages. This allows shell completion\nand is not intended to be used directly by the user.\n\n.TP\n.B \\-s, \\-\\-stats\nDisplays information about installed packages and system health. If there\nare orphaned, or out-of-date packages, or packages that no longer\nexist on the AUR; warnings will be displayed.\n\n.TP\n.B \\-w, \\-\\-news\nPrint new news from the Arch Linux homepage. News is considered new if it is\nnewer than the build date of all native packages. Pass this twice to show all\navailable news.\n\n.TP\n.B \\-o, \\-\\-order\nPrint buildorder for targets.\n\nThis option outputs information about how to build a package and its\ndependencies. Each line of output specifies an action to perform or information\nto take into consideration.\n\nEach line of output will be in one of the following formats:\n\n.RE\n.RS 7\n.B MISSING <DEP> [WANTED BY]...\n.RS 7\nA dependency could not be found.\n\n<DEP> is the dependency that could not be found and\n[WANTED BY] is the current dependency stack. The dependency stack will be empty if the package\nthat could not be found was a target.\n\nParu will exit 1 if any packages are missing.\n.RE\n.RE\n\n.RS 7\n.B CONFLICT LOCAL|INNER <PKG> <CONFLICTING PKG> [CONFLICT]\n.RS 7\nThere was a package conflict.\n\nThe second arg will be LOCAL if the conflict is with an installed package and INNER if two of\nthe to be installed packages conflict. <PKG> and <CONFLICTING PKG> are the packages in conflict\nand [CONFLICT] will be the conflict string if it is different from <CONFLICTING PKG>.\n.RE\n.RE\n\n.RS 7\n.B INSTALL TARGET|DEP|MAKE <DB> <NAME>\n.RS 7\nInstall a package from the pacman repos.\n\nThe first arg will be TARGET if the package is a target, DEP if a dependency, or MAKE if the package\nis a build time dependency. <DB> is the name of the database the package belongs to and <NAME> is the\nname of the package.\n.RE\n.RE\n\n.RS 7\n.B AUR TARGET|DEP|MAKE <BASE> <NAMES>...\n.RS 7\nBuild a package from the AUR.\n\nThe first arg will be TARGET if the package is a target, DEP if a dependency, or MAKE if the package\nis a build time dependency. <BASE> is the pkgbase of the package  and <NAMES> are the names of the\npackages belonging to the pkgbase.\n.RE\n\nMore options may be added in the future.\n\n.SH GETPKGBUILD OPTIONS (APPLY TO \\-G AND \\-\\-GETPKGBUILD)\n.TP\n.B \\-p, \\-\\-print\nPrints the PKGBUILD to the terminal instead of downloading it.\n\n.TP\n.B \\-c, \\-\\-comments\nPrint the AUR comments from the PKGBUILD's AUR page.\n\nPass twice to get all comments instead of the first page.\n\n.TP\n.B \\-s, \\-\\-ssh\nClone the AUR package using SSH (e.g.: a read-write remote).\n\n.SH REPOCTL OPTIONS (APPLY TO \\-L AND \\-\\-REPOCTL)\n.TP\n.B \\-l, \\-\\-list\nList packages in local repos\n\n.TP\n.B \\-c, \\-\\-clean\nRemove packages that are not currently installed from repos.\n\n.TP\n.B \\-d, \\-\\-delete\nRemove a package from the local repo.\nPass this twice to also uninstall the package.\n\n.TP\n.B \\-y, \\-\\-refresh\nRefresh local repos.\n\n.TP\n.B \\-q, \\-\\-quiet\nShow less information.\n\n.SH CHROOTCTL OPTIONS (APPLY TO \\-C AND \\-\\-CHROOTCTL)\n.TP\n.B \\-i, \\-\\-install\nInstall a package into the chroot.\n\n\\fB--noconfirm\\fR can also be specified and will be forwarded to pacman.\n\n.TP\n.B \\-u, \\-\\-sysupgrade\nUpgrade the chroot.\n\n.TP\n.B \\-p, \\-\\-print\nPrint path to currently configured chroot.\n\n.SH BUILD OPTIONS (APPLY TO \\-B AND \\-\\-BUILD)\n.TP\n.B \\-i, \\-\\-install\nAlso install the package once built.\n\n.SH NEW OPTIONS\n.TP\n.B \\-\\-repo\nAssume all targets are from the repositories. Additionally, actions such as\nsysupgrade will only act on repository packages.\n\n.TP\n.B \\-a, \\-\\-aur\nAssume all targets are from the AUR. Additionally, actions such as\nsysupgrade will only act on AUR packages.\n\nNote that dependency resolution will still include repository packages.\n\n.TP\n.B \\--pkgbuilds\nAssume all targets are from the PKGBUILD repositories. Additionally,\nactions such as sysupgrade will only act on AUR packages.\n\nNote that dependency resolution will still include repositoryi and AUR packages.\n\n.TP\n.B \\-\\-mode = aur|repo|pkgbuilds\nSelect what kinds of packages paru should act on. Multiple modes can be selected\nby separating them with a comma.\n\nAdditionally, a, r and p may be used as short hand for aur, repo and pkgbuilds respectively.\nShort form modes can also be combined without a comma.\nE.g. \\fB--mode=ar\\fR or \\fB--mode=arp\\fR.\n\n\n.TP\n.B \\-\\-interactive\nEnable interactive package selection for -S, -R, -Ss and -Qs.\n\nFor -S/-R this allows you to pick which packages to install/remove from a list.\n\n\\fB paru <foo>\\fR is an alias to \\fBparu -S --interactive <foo>\\fR.\n\nFor -Ss/-Qs this allows you to interactively pick packages from the sync/local repos respectively.\nThis is intended to be chained with other package tools so paru can handle the menu work while the\nother tool in the pipeline just gets the packages.\n\nFor example:\n\n\\fB paru -Ssaq --interactive ruby | paru -Gc -\\fR\n\nwill show AUR packages containing the term ruby, give the user an interactive menu to pick packages, then pipeline\nthose packages into -Gc and display the comments.\n\nWould allow a user to interactively choose what files to list.\n\n.TP\n.B \\-\\-aururl\nSet an alternative AUR URL.\n\n.TP\n.B \\-\\-aurrpcurl\nSet an alternative URL for the AUR /rpc endpoint.\n\n.TP\n.B \\-\\-clonedir <dir>\nDirectory used to download and run PKGBUILDs.\n\n.TP\n.B \\-\\-makepkg <command>\nThe command to use for \\fBmakepkg\\fR calls. This can be a command in\n\\fBPATH\\fR or an absolute path to the file.\n\n.TP\n.B \\-\\-makepkgconf <file>\nSpecifies a \\fBmakepkg.conf\\fR file to use in the chroot environment. The file\ncan only be an absolute path to the file.\n\n.TP\n.B \\-\\-pacman <command>\nThe command to use for \\fBpacman\\fR calls. This can be a command in\n\\fBPATH\\fR or an absolute path to the file.\n\n.TP\n.B \\-\\-pacman-conf <command>\nThe command to use for \\fBpacman-conf\\fR calls. This can be a command in\n\\fBPATH\\fR or an absolute path to the file.\n\n.TP\n.B \\-\\-git <command>\nThe command to use for \\fBgit\\fR calls. This can be a command in\n\\fBPATH\\fR or an absolute path to the file.\n\n.TP\n.B \\-\\-gitflags <flags>\nPasses arguments to git. These flags get passed to every instance where\ngit is called by paru. Arguments are split on whitespace before being\npassed to git. Multiple arguments may be passed by supplying a space\nseparated list that is quoted by the shell.\n\n.TP\n.B \\-\\-gpg <command>\nThe command to use for \\fBgpg\\fR calls. This can be a command in\n\\fBPATH\\fR or an absolute path to the file.\n\n.TP\n.B \\-\\-gpgflags <flags>\nPasses arguments to gpg. These flags get passed to every instance where\ngpg is called by paru. Arguments are split on whitespace before being\npassed to gpg. Multiple arguments may be passed by supplying a space\nseparated list that is quoted by the shell.\n\n.TP\n.B \\-\\-fm <command>\nThis enables fm review mode, where PKGBUILD review is done using the file\nmanager specified by command.\n\nThis allows the PKGBUILDs and related files to be edited. Changes won't\npersist unless committed.\n\n.TP\n.B \\-\\-fmflags <flags>\nPasses arguments to file manager. These flags get passed to every instance where\nfile manager is called by paru. Arguments are split on whitespace before being\npassed to the file manager. Multiple arguments may be passed by supplying a space\nseparated list that is quoted by the shell.\n\n.TP\n.B \\-\\-asp <command>\nThe command to use for \\fBasp\\fR calls. This can be a command in\n\\fBPATH\\fR or an absolute path to the file.\n\n.TP\n.B \\-\\-mflags <flags>\nPasses arguments to makepkg. These flags get passed to every instance where\nmakepkg is called by paru. Arguments are split on whitespace before being\npassed to makepkg. Multiple arguments may be passed by supplying a space\nseparated list that is quoted by the shell.\n\n.TP\n.B \\-\\-bat <command>\nThe command to use for \\fBbat\\fR calls. This can be a command in\n\\fBPATH\\fR or an absolute path to the file.\n\n.TP\n.B \\-\\-batflags <flags>\nPasses arguments to bat. These flags get passed to every instance where\nbat is called by paru. Arguments are split on whitespace before being\npassed to bat. Multiple arguments may be passed by supplying a space\nseparated list that is quoted by the shell.\n\n.TP\n.B \\-\\-sudo <command>\nThe command to use for \\fBsudo\\fR calls. This can be a command in\n\\fBPATH\\fR or an absolute path to the file. The --sudoloop option is not\nguaranteed to work with a custom \\fBsudo\\fR command.\n\n.TP\n.B \\-\\-sudoflags <flags>\nPasses arguments to sudo. These flags get passed to every instance where\nsudo is called by paru. Arguments are split on whitespace before being\npassed to sudo. Multiple arguments may be passed by supplying a space\nseparated list that is quoted by the shell.\n\n.TP\n.B \\-\\-chrootflags <flags>\nPasses arguments to makechrootpkg. These flags get passed to every instance\nwhere makechrootpkg is called by paru. Arguments are split on whitespace before\nbeing passed to makechrootpkg. Multiple arguments may be passed by supplying a\nspace separated list that is quoted by the shell.\n\n.TP\n.B \\-\\-chrootpkgs <package>\nInstalls package into the chroot before building. Multiple packages can be\nspecified by separating them with a comma.\n\nUseful when PKGBUILDs don't declare needed dependencies.\n\nNote that this is only a temp fix and only applies to this one build. You should\nideally patch the package yourself or report the problem to the maintainer.\n\nIf you want to permanently add a package to the chroot use \\fBparu -Ci package\\fR\nto install packages into the root chroot, or use \\-\\-rootchrootpkgs to specify\npackages that should be installed when the chroot is created.\n\n.TP\n.B \\-\\-rootchrootpkgs <packages>\nComma-separated list of packages to install when creating the root chroot.\n\nDefaults to \"base-devel\" if not specified.\n\nUnlike \\-\\-chrootpkgs (which installs packages temporarily before each build),\n\\-\\-rootchrootpkgs packages become part of the root chroot and persist across\nall builds.\n\nThis only affects chroot creation. To apply changes to an existing chroot,\nyou must delete and recreate it.\n\n.TP\n.B \\-\\-completioninterval <days>\nTime in days to refresh the completion cache. Setting this to 0 will cause the\ncache to be refreshed every time, while setting this to -1 will cause the cache\nto never be refreshed. Defaults to 7.\n\n.TP\n.B \\-\\-sortby <votes|popularity|id|baseid|name|base|submitted|modified>\nSort AUR results by a specific field during search. Defaults to votes.\n\n.TP\n.B \\-\\-searchby <name|name-desc|maintainer|depends|checkdepends|makedepends|optdepends>\nSearch for AUR packages by querying the specified field. Defaults to name-desc.\n\n.TP\n.B \\-\\-skipreview\nSkip the review process.\n\n.TP\n.B \\-\\-review\nDon't skip the review process.\n\n.TP\n.B \\-\\-upgrademenu\nShow a detailed list of updates in a similar format to pacman's VerbosePkgLists\noption. (See \n.BR pacman.conf(5)).\nUpgrades can be skipped using numbers, number ranges, or repo\nnames.\n\n\\fBWarning\\fR: It is not recommended to skip updates from the repositories as\nthis can lead to partial upgrades. This feature is intended to easily skip AUR\nupdates on the fly that may be broken or have a long compile time. Ultimately\nit is up to the user what upgrades they skip.\n\n.TP\n.B \\-\\-noupgrademenu\nDo not show the upgrade menu.\n\n.TP\n.B \\-\\-removemake [yes|no|ask]\nRemove makedepends after installing packages. If set to ask, a menu will appear\nduring builds allowing an option to be chosen then. Defaults to yes when\nspecified without an option.\n\n.TP\n.B \\-\\-noremovemake\nDon't remove makedepends after installing packages.\n\n.TP\n.B \\-\\-topdown\nPrint search results from top to bottom. Repo packages will print first. This\nis the default.\n\n.TP\n.B \\-\\-bottomup\nPrint search results from bottom to top. AUR packages will print first.\n\n.TP\n.B \\-\\-limit <limit>\nLimit the number of packages returned in a search to the given amount. Defaults\nto 0 (no limit). This applies separately to repo and AUR packages.\n\n.TP\n.B \\-x, \\-\\-regex\nEnable regex for aur search.\n\nThe regex will only be matched against pkgnames and not pkgdescs as you would\nusually expect.\n\n.TP\n.B \\-\\-nocheck\nDon't resolve checkdepends or run the check function.\n\n.TP\n.B \\-\\-installdebug\nAlso install debug packages when a package provides them.\n\n.TP\n.B \\-\\-noinstalldebug\nDon't install debug packages when a package provides them.\n\n.TP\n.B \\-\\-devel\nDuring sysupgrade also check AUR development packages for updates. Currently\nonly Git packages are supported.\n\nDevel checking is done using \\fBgit ls-remote\\fR. The newest commit hash is\ncompared against the hash at install time. This allows devel updates to be\nchecked almost instantly and not require the original PKGBUILD to be downloaded.\n\nThe slower pacaur-like devel checks can be implemented manually by piping\na list of packages into paru (see \\fBexamples\\fR).\n\n.TP\n.B \\-\\-ignoredevel\nLike --ignore but for devel upgrades. Packages matching this will not be tried for a\ndevel update but may still be upgraded if the pkgver changes.\n\n.TP\n.B \\-\\-nodevel\nDo not check for development packages updates during sysupgrade.\n\n.TP\n.B \\-\\-develsuffixes\nSuffixes that paru will use to decide if a package is a devel package. \nUsed when determining if a pkgver bump is used when the --needed option is\nset.\n\n.TP\n.B \\-\\-cleanafter\nRemove untracked files after installation.\n\nUntracked files are removed with the exception of directories. This allows VCS\npackages to easily pull an update instead of having to reclone the entire repo.\n\n.TP\n.B \\-\\-nocleanafter\nDo not remove package sources after successful install.\n\n.TP\n.B \\-\\-redownload [yes|no|all]\nAlways download PKGBUILDs of targets even when a copy is available in\ncache. If all is specified, then PKGBUILDs will be downloaded for all packages,\nnot just targets. Defaults to yes when specified.\n\n.TP\n.B \\-\\-noredownload\nWhen downloading PKGBUILDs, if the PKGBUILD is found in cache and is equal or\nnewer than the AUR's version use that instead of downloading a new one.\n\n.TP\n.B \\-\\-provides\nLook for matching providers when searching for AUR packages. When multiple\nproviders are found a menu will appear prompting you to pick one. This\nincreases dependency resolve time although this should not be noticeable.\n\nBy default only targets and missing packages will be searched for providers.\nSpecifying all will enable this for all packages.\n\n.TP\n.B \\-\\-noprovides\nDo not look for matching providers when searching for AUR packages. Paru will\nnever show its provider menu but pacman will still show its provider menu for\nrepo packages.\n\n.TP\n.B \\-\\-pgpfetch\nPrompt to import unknown PGP keys from the \\fBvalidpgpkeys\\fR field of each\nPKGBUILD.\n\n.TP\n.B \\-\\-nopgpfetch\nDo not prompt to import unknown PGP keys. This is likely to cause a build\nfailure unless using options such as \\fB\\-\\-skippgpcheck\\fR or a customized\ngpg config\\%.\n\n\n.TP\n.B \\-\\-newsonupgrade\nPrint new news during sysupgrade.\n\n.TP\n.B \\-\\-useask\nUse pacman's --ask flag to automatically confirm package conflicts. Paru lists\nconflicts ahead of time. It is possible that paru does not detect a conflict, \ncausing a package to be removed without the user's confirmation. However, this\nis very unlikely.\n\n.TP\n.B \\-\\-nouseask\nManually resolve package conflicts during the install. Packages which do not\nconflict will not need to be confined manually.\n\n.TP\n.B \\-\\-savechanges\nCommit changes to pkgbuilds made during review.\n\n.TP\n.B \\-\\-nosavechanges\nDon't commit changes to pkgbuilds made during review.\n\n.TP\n.B \\-\\-failfast\nExit as soon as any AUR packages fail to build.\n\nBy default Paru will continue and try to build other AUR packages.\n\n.TP\n.B \\-\\-nofailfast\nDon't exit as soon as any AUR packages fail to build.\n\n.TP\n.B \\-\\-keepsrc\nKeep src/ and pkg/ directories after building packages.\n\n.TP\n.B \\-\\-nokeepsrc\nDon't keep src/ and pkg/ directories after building packages.\n\n.TP\n.B \\-\\-combinedupgrade\nDuring sysupgrade, paru will first perform a refresh, then show\nits combined menu of repo and AUR packages that will be upgraded. Then after\nreviewing the PKGBUILDs, the repo and AUR upgrade will start with no need\nfor manual intervention.\n\nIf paru exits for any reason after the refresh without upgrading, it will be\nthe user's responsibility to either resolve the reason paru exited or run\na sysupgrade through pacman directly.\n\n.TP\n.B \\-\\-nocombinedupgrade\nDuring sysupgrade, pacman \\-Syu will be called, then the AUR upgrade will\nstart. This means the upgrade menu and PKGBUILD review will be performed\nafter the sysupgrade has finished.\n\n.TP\n.B \\-\\-batchinstall\nWhen building and installing AUR packages instead of installing each package\nafter building, queue each package for install. Then once either all packages\nare built or a package in the build queue is needed as a dependency to build\nanother package, install all the packages in the install queue.\n\n.TP\n.B \\-\\-nobatchinstall\nAlways install AUR packages immediately after building them.\n\n.TP\n.B \\-\\-rebuild [yes|no|all|tree]\nAlways build target packages even when a copy is available in cache. If all is\nselected then all packages are rebuilt, not only targets. If tree is selected then\nthe whole dependency tree is rebuilt, including already satisfied dependencies.\nDefaults to no.\n\n.TP\n.B \\-\\-norebuild\nWhen building packages if the package is found in cache and is an equal version\nto the one wanted skip the package build and use the existing package.\n\n.TP\n.B \\-\\-sudoloop [= args...]\nPeriodically call sudo in the background to prevent it from timing out during\nlong builds.\n\nOptionally args can be passed to choose how to loop the command. This may be\nuseful for doas where looping is done differently.\n\n.TP\n.B \\-\\-nosudoloop\nDo not loop sudo calls in the background.\n\n.TP\n.B \\-\\-localrepo [= Repos...]\nUse a local repo to build and upgrade AUR packages.\n\nParu will act on packages in the enabled repos instead of foreign packages.\nThe repo must already be declared in pacman.conf but does not have to already exist on disk.\n\nOptionally a list of repos to use can be passed. By default paru will consider all\nlocal repos, building new packages into the first listed repo and upgrading the packages\nin other enabled repos.\n\n.TP\n.B \\-\\-nolocalrepo\nDo not build into a local repo.\n\n.TP\n.B \\-\\-chroot [= /path/to/chroot]\nBuild packages in a chroot. This requires the LocalRepo option to be enabled.\nOptionally a directory may be passed to specify where to create the chroot.\n\n.TP\n.B \\-\\-nochroot\nDon't build packages in a chroot.\n\n.TP\n.B \\-\\-sign [= key]\nSign packages with gpg. Optionally indicate which key to sign with.\n\n.TP\n.B \\-\\-nosign\nDon't sign package with gpg.\n\n.TP\n.B \\-\\-keeprepocache\nNormally upon AUR packages getting updated the old versions will be removed from the local repo.\nThis option disables that behavior, keeping the both all versions and only updating the DB.\n\n.TP\n.B \\-\\-nokeeprepocache\nDon't keep old packages.\n\n.TP\n.B \\-\\-signdb [= key]\nSign databases with gpg. Optionally indicate which key to sign with.\n\n.TP\n.B \\-\\-nosigndb\nDon't sign databases with gpg.\n\n.SH EXAMPLES\n.TP\nparu \\fIfoo\\fR\nSearch and install from the repos and the \\fBAUR\\fR\\ using interactive search\nand install.\n\n.TP\nparu \\-Syu\nUpdate package list and upgrade all currently installed repo and \\fBAUR\\fR\npackages.\n\n.TP\nparu \\-Sua\nUpdate all currently installed \\fBAUR\\fR packages.\n\n.TP\nparu \\-S \\fIfoo\\fR\nInstalls package \\fIfoo\\fR from the repos or the \\fBAUR\\fR.\n\n.TP\nparu \\-Ss \\fIfoo\\fR\nSearches for package \\fIfoo\\fR on the repos or the \\fBAUR\\fR.\n\n.TP\nparu \\-Si \\fIfoo\\fR\nGets information about package \\fIfoo\\fR from the repos or the \\fBAUR\\fR.\n\n.TP\nparu \\-S \\fIfoo\\fR \\-\\-mflags \"\\-\\-skipchecksums \\-\\-skippgpcheck\"\nInstalls \\fIfoo\\fR while skipping checksums and PGP checks.\n\n.TP\nparu \\-B .\nBuild PKGBUILD in current directory.\n\n.TP\npacman -Qmq | grep -Ee '-(cvs|svn|git|hg|bzr|darcs)$' | paru -Ta - | paru -S --needed -\npacaur-like devel check.\n\n.SH ENVIRONMENT VARIABLES\n\n.TP\n.B AURDEST\nCan be set to configure the build directory.\n\nOverridden by \\-\\-clonedir.\n\n.TP\n.B PARU_CONF\nOverrides where paru will look for its config file.\n\n.TP\n.B PARU_PAGER\nThe pager paru will use for file review. Has higher priority than PAGER but lower priority\nthan paru.conf.\n\n.SH FILES\n.TP\n.B CONFIG DIRECTORY\nThe config directory is \\fI$XDG_CONFIG_HOME/paru/\\fR. If\n\\fB$XDG_CONFIG_HOME\\fR is unset, the config directory will fall back to\n\\fI$HOME/.config/paru\\fR.\n\n\\fIparu.conf\\fR is used to store all of paru's config options. See\n.BR paru.conf (5)\nfor more about this file.\n\n.TP\n.B CACHE DIRECTORY\nThe cache directory is \\fI$XDG_CACHE_HOME/paru/\\fR. If\n\\fB$XDG_CACHE_HOME\\fR is unset, the cache directory will fall back to\n\\fI$HOME/.cache/paru\\fR.\n\n\\fIpackages.aur\\fR holds a list of of all AUR packages for shell\ncompletion. By default the completion files are refreshed every 7 days.\n\n.TP\n.B STATE DIRECTORY\nThe state directory is \\fI$XDG_STATE_HOME/paru/\\fR. If\n\\fB$XDG_STATE_HOME\\fR is unset, the state directory will fall back to\n\\fI$HOME/.local/state/paru\\fR.\n\n\\fIdevel.json\\fR tracks VCS packages and the latest commit of each source. If\nany of these commits change the package will be upgraded during a devel update.\n\n.TP\n.B BUILD DIRECTORY\nUnless otherwise set this should be the same as \\fBCACHE DIRECTORY\\fR. This\ndirectory is used to store downloaded AUR Packages as well as any source files\nand built packages from those packages.\n\n.TP\n.B PACMAN.CONF\nParu uses pacman's config file to set certain pacman options either through\nalpm.rs or paru itself. Options inherited include most libalpm options and\npacman options.\n\nNotably: \\fBDatabases\\fR, \\fBColor\\fR and \\fB*Path/*Dir\\fR options are used.\n\n.SH SEE ALSO\n.BR paru.conf (5),\n.BR makepkg (8),\n.BR makepkg.conf (5),\n.BR PKGBUILD (5),\n.BR pacman (8),\n.BR pacman.conf (5)\n\nSee the arch wiki at https://wiki.archlinux.org/index.php/Arch_User_Repository\nfor more info on the \\fBAUR\\fR.\n\n.SH BUGS\nPlease report bugs to our GitHub page \\fBhttps://github.com/Morganamilo/paru\\fR.\n\n.SH AUTHORS\nMorgan <morganamilo@archlinux.org>\n"
  },
  {
    "path": "man/paru.conf.5",
    "content": ".TH \"PARU.CONF\" \"5\" \"2021\\-03\\-24\" \"paru v1.10.0\" \"Paru Manual\"\n.nh\n.ad l\n.SH NAME\nparu.conf \\- paru configuration file\n\n.SH SYNOPSIS\n$PARU_CONF, $XDG_CONFIG_HOME/paru/paru.conf, $HOME/.config/paru/paru.conf, /etc/paru.conf\n\n.SH DESCRIPTION\nParu's config file. Based on the format used by \n.BR pacman.conf (5)\n\nParu first attempts to read the file at $PARU_CONF. If $PARU_CONF is not\nset, paru attempts to read from $XDG_CONFIG_HOME/paru/paru.conf. If\n$XDG_CONFIG_HOME is not set, or the file doesn't exist, paru attempts to read\nfrom $HOME/.config/paru/paru.conf. If that file doesn't exist, it will read\nthe system config from /etc/paru.conf.\n\nAdditionally, the \\fBInclude\\fB directive can be used to copy paste files into\nthe config. This could be used to extend the system config by including it in\nyour user's config and then defining options.\n\n.SH OPTIONS\nOptions belonging to the [options] section.\n\n.TP\n.B BottomUp\nPrint search results from bottom to top. AUR results will be printed first.\n\n.TP\n.B AurOnly\nAssume all targets are from the AUR. Additionally, actions such as\nsysupgrade will only act on AUR packages.\n\nNote that dependency resolving will still act normally and include repository\npackages.\n\n.TP\n.B PkgbuildsOnly\nAssume all targets are from PKGBUILD repositories. Additionally, actions such as\nsysupgrade will only act on PKGBUILD repository packages.\n\nNote that dependency resolving will still act normally and include repository\nand AUR packages.\n\n.TP\n.B RepoOnly\nAssume all targets are from the repositories. Additionally, actions such as\nsysupgrade will only act on repository packages.\n\n.TP\n.B Mode = aur|repo|pkgbuilds\nSelect what kinds of packages paru should act on. Multiple modes can be selected\nby separating them with a comma.\n\nAdditionally, a, r and p may be used as short hand for aur, repo and pkgbuilds respectively.\nShort form modes can also be combined without a comma.\nE.g. \\fBMode = ar\\fR or \\fBMode = arp\\fR.\n\n.TP\n.B SudoLoop [= args...]\nPeriodically call sudo in the background to prevent it from timing out during\nlong builds.\n\nOptionally args can be passed to choose how to loop the command. This may be\nuseful for doas where looping is done differently.\n\n.TP\n.B NoCheck\nDon't resolve checkdepends or run the check function.\n\n.TP\n.B InstallDebug\nAlso install debug packages when a package provides them.\n\n.TP\n.B Devel\nDuring sysupgrade also check AUR development packages for updates. Currently\nonly Git packages are supported.\n\nDevel checking is done using \\fBgit ls-remote\\fR. The newest commit hash is\ncompared against the hash at install time. This allows devel updates to be\nchecked almost instantly and not require the original PKGBUILD to be downloaded.\n\n.TP\n.B IgnoreDevel\nLike IgnorePkg but for devel upgrades. Packages matching this will not be tried for a\ndevel update but may still be upgraded if the pkgver changes.\n\n.TP\n.B IgnoreDevelSource\nLike IgnoreDevel but targets urls in the source=() array of pkgbuilds. This can be useful\nif a package has a properly working main git source but also has an unversioned secondary\nsource that doesn't effect the pkgver.\n\n.TP\n.B CleanAfter\nRemove untracked files after installation.\n\nUntracked files are removed with the exception of directories.\nThis allows VCS packages to easily pull an update\ninstead of having to reclone the entire repo.\n\n.TP\n.B Provides [= all]\nLook for matching providers when searching for AUR packages. When multiple\nproviders are found a menu will appear prompting you to pick one. This\nincreases dependency resolve time although this should not be noticeable.\n\nBy default only targets and missing packages will be searched for providers.\nSpecifying all will enable this for all packages.\n\n.TP\n.B PgpFetch\nPrompt to import unknown PGP keys from the \\fBvalidpgpkeys\\fR field of each\nPKGBUILD.\n\n.TP\n.B CombinedUpgrade\nDuring sysupgrade, paru will first perform a refresh, then show\nits combined menu of repo and AUR packages that will be upgraded. Then after\nreviewing the PKGBUILDs, the repo and AUR upgrade will start with no need\nfor manual intervention.\n\nIf paru exits for any reason after the refresh without upgrading, it will be\nthe user's responsibility to either resolve the reason paru exited or run\na sysupgrade through pacman directly.\n\n.TP\n.B BatchInstall\nWhen building and installing AUR packages; instead of installing each package\nafter building, queue each package for install. Then once either all packages\nare built or a package in the build queue is needed as a dependency to build\nanother package, install all the packages in the install queue.\n\n.TP\n.B NewsOnUpgrade\nPrint new news during sysupgrade.\n\n.TP\n.B UseAsk\nUse pacman's --ask flag to automatically confirm package conflicts. Paru lists\nconflicts ahead of time. It is possible that paru does not detect\na conflict, causing a package to be removed without the user's confirmation.\nHowever, this is very unlikely.\n\n.TP\n.B SaveChanges\nCommit changes to pkgbuilds made during review.\n\n.TP\n.B FailFast\nExit as soon as any AUR packages fail to build.\n\nBy default Paru will continue and try to build other AUR packages.\n\n.TP\n.B KeepSrc\nKeep src/ and pkg/ directories after building packages.\n\n.TP\n.B Redownload [= all]\nAlways download PKGBUILDs of targets even when a copy is available in cache. If\nset to all then this applies to all packages, not only targets.\n\n.TP\n.B Rebuild [= all, tree]\nAlways build target packages even when a copy is available in cache. If set to\nall, then all packages are rebuilt, not only targets. If set to tree, the whole\ndependency tree is rebuilt, including already satisfied dependencies.\n\n.TP\n.B RemoveMake [= ask]\nRemove makedepends after installing packages. If set to ask, a menu will appear\nduring builds allowing an option to be chosen then.\n\n.TP\n.B UpgradeMenu\nShow a detailed list of updates in a similar format to pacman's VerbosePkgLists\noption. (See \n.BR pacman.conf(5)).\nUpgrades can be skipped using numbers, number ranges, or repo\nnames.\n\n\\fBWarning\\fR: It is not recommended to skip updates from the repositories as\nthis can lead to partial upgrades. This feature is intended to easily skip AUR\nupdates on the fly that may be broken or have a long compile time. Ultimately\nit is up to the user what upgrades they skip.\n\n.TP\n.B AurUrl = URL\nSet an alternative AUR URL.\n\n.TP\n.B AurRpcUrl = URL\nSet an alternative URL for the AUR /rpc endpoint.\n\n.TP\n.B CloneDir = /path/to/dir\nDirectory used to download and run PKGBUILDs.\n\n\n.TP\n.B SortBy = <votes|popularity|name|base|submitted|modified|id|baseid>\nDefaults to votes. Sort AUR results according to the options in \"Sort by\"\nvisible here: https://aur.archlinux.org/packages/\n\n.TP\n.B SearchBy = <name|name-desc|maintainer|depends|checkdepends|makedepends|optdepends>\nDefaults to name-desc. Search AUR packages according to the options in \n\"Search by\" visible here: https://aur.archlinux.org/packages/\n\n.TP\n.B Limit = N\nLimit the number of packages returned in a search to the given amount. Defaults\nto 0 (no limit). This applies separately to repo and AUR packages.\n\n.TP\n.B CompletionInterval = N\nTime in days to refresh the completion cache. Setting this to 0 will cause the\ncache to be refreshed every time, while setting this to -1 will cause the cache\nto never be refreshed. Defaults to 7.\n\n.TP\n.B PacmanConf = path/to/pacman.conf\nThe pacman config file to use.\n\n.TP\n.B MakepkgConf = path/to/makepkg.conf\nThe makepkg config file to use.\n\n.TP\n.B DevelSuffixes = Suffixes...\nSuffixes that paru will use to decide if a package is a devel package.\nUsed when determining if a pkgver bump is used when the --needed option is\nset.\n\n.TP\n.B NoWarn = Packages...\nDon't warn when these packages are not in the aur, out of date, or orphaned.\n\n.TP\n.B LocalRepo [= Repos...]\nUse a local repo to build and upgrade AUR packages.\n\nParu will act on packages in the enabled repos instead of foreign packages.\nThe repo must already be declared in pacman.conf but does not have to already exist on disk.\n\nOptionally a list of repos to use can be passed. By default paru will consider all\nlocal repos, building new packages into the first listed repo and upgrading the packages\nin other enabled repos.\n\n.TP\n.B Chroot [= path/to/chroot]\nBuild packages in a chroot. This requires the LocalRepo option to be enabled.\nOptionally a directory may be passed to specify where to create the chroot.\n\n.TP\n.B Sign [= key]\nSign packages with gpg. Optionally indicate which key to sign with.\n\n.TP\n.B SignDb [= key]\nSign databases with gpg. Optionally indicate which key to sign with.\n\n.TP\n.B KeepRepoCache\nNormally upon AUR packages getting updated the old versions will be removed from the local repo.\nThis option disables that behavior, keeping the both all versions and only updating the DB.\n\n.TP\n.B SkipReview\nSkip the review process.\n\n.SH BIN\nOptions belonging to the [bin] section.\n\n.TP\n.B Makepkg = path/to/makepkg\nThe command to use for \\fBmakepkg\\fR calls. This can be a command in\n\\fBPATH\\fR or an absolute path to the file.\n\n.TP\n.B Pacman = path/to/pacman\nThe command to use for \\fBpacman\\fR calls. This can be a command in\n\\fBPATH\\fR or an absolute path to the file.\n\n.TP\n.B PacmanConf = path/to/pacman-conf\nThe command to use for \\fBpacman-conf\\fR calls. This can be a command in\n\\fBPATH\\fR or an absolute path to the file.\n\n.TP\n.B Git = path/to/git\nThe command to use for \\fBgit\\fR calls. This can be a command in\n\\fBPATH\\fR or an absolute path to the file.\n\n.TP\n.B Asp = path/to/asp\nThe command to use for \\fBasp\\fR calls. This can be a command in\n\\fBPATH\\fR or an absolute path to the file.\n\n.TP\n.B Bat = path/to/bat\nThe command to use for \\fBbat\\fR calls. This can be a command in\n\\fBPATH\\fR or an absolute path to the file.\n\n.TP\n.B Sudo = path/to/sudo\nThe command to use for \\fBsudo\\fR calls. This can be a command in\n\\fBPATH\\fR or an absolute path to the file. The SudoLoop option is not\nguaranteed to work with a custom \\fBsudo\\fR command.\n\n.TP\n.B FileManager = path/to/fm\nThis enables fm review mode, where PKGBUILD review is done using the file\nmanager specified by command.\n\nThis allows the PKGBUILDs and related files to be edited. Changes won't\npersist unless committed.\n\n.TP\n.B MFlags = Flags...\nPasses arguments to makepkg. These flags get passed to every instance where\nmakepkg is called by paru. Arguments are split on whitespace before being\npassed to makepkg.\n\n.TP\n.B GitFlags = Flags...\nPasses arguments to git. These flags get passed to every instance where\ngit is called by paru. Arguments are split on whitespace before being\npassed to git.\n.TP\n\n.B GpgFlags = Flags...\nPasses arguments to gpg. These flags get passed to every instance where\ngpg is called by paru. Arguments are split on whitespace before being\npassed to gpg.\n\n.TP\n.B BatFlags = Flags...\nPasses arguments to bat. These flags get passed to every instance where\nbat is called by paru. Arguments are split on whitespace before being\npassed to bat.\n\n.TP\n.B SudoFlags = Flags...\nPasses arguments to sudo. These flags get passed to every instance where\nsudo is called by paru. Arguments are split on whitespace before being\npassed to sudo.\n\n.TP\n.B FileManagerFlags = Flags...\nPasses arguments to the file manager. These flags get passed to every instance\nwhere file manager is called by paru. Arguments are split on whitespace before\nbeing passed to file manager.\n\n.TP\n.B ChrootFlags = Flags...\nPasses arguments to makechrootpkg. These flags get passed to every instance\nwhere makechrootpkg is called by paru. Arguments are split on whitespace before\nbeing passed to makechrootpkg.\n\n.TP\n.B RootChrootPkgs = Packages...\nSpace-separated list of packages to install when creating the root chroot.\n\nDefaults to \"base-devel\" if not specified.\n\nUnlike \\-\\-chrootpkgs (which installs packages temporarily before each build),\n\\-\\-rootchrootpkgs packages become part of the root chroot and persist across\nall builds.\n\nThis only affects chroot creation. To apply changes to an existing chroot,\nyou must delete and recreate it.\n\n.TP\n.B Pager = Command\nCommand to use for paging\n\n.TP\n.B PreBuildCommand = Command\nCommand will be executed for each package before it is built.\n\nThe command will be run via 'sh -c' and the command's current directory will be\nset to the directory containing the package's PKGBUILD. If a package is already\nbuilt then the build will be skipped but this command will still be run for\nthat package.\n\nThe variables PKGBASE and VERSION will be set for the command to use.\n\n.SH ENV\nSet environment variables.\n\n.TP\n.B Key = Value\nSets the environment variable Key to Value.\n\n\n.SH PKGBUILD REPOSITORY SECTION\nPKGBUILD repositories can be defined by adding a [reponame] section, where reponame\nis the name of the repository you wish to add.\n\nA PKGBUILD repository acts very much like the AUR in terms of package installation\nand upgrades. Packages in PKGBUILD repositories also take priority over the AUR so\nmay be used to mask packages.\n\nThe layout of a PKGBUILD repository is simply a directory that contains PKGBUILDs.\nParu will recursively scan a repository for PKGBUILDs, up to 3 levels by default.\n\nParu will refresh PKGBUILD repositories when it refreshes repository databases.\nRefreshing just PKGBUILD repositories can be done with \\fBparu -Sya\\fR.\n\n.TP\n.B Url = https://path/to/repo\nGit URL to the PKGBUILD repository. File paths may be used to point to git repos on\ndisk.\n\nIf \\fBPath\\fR is specified alongside \\fBUrl\\fR, the specified path will be treated as\na subdirectory of the repository and paru will only search for pkgbuilds in that\nsubdirectory.\n\n.TP\n.B Path = /path/to/repo\nCan be used as an alternative to \\fBURL\\fR to point to a PKGBUILD repository on disk.\nUnlike using a URL path, changes to this directory are propagated to paru immediately\nand not on \\fBparu -Sya\\fR. There is also no review step for this kind of repository.\n\n.TP\n.B Depth = N\nThe search depth for PKGBUILD scanning.\n\n.TP\n.B SkipReview\nSkip review for this repository.\n\n.TP\n.B GenerateSrcinfo\nForce regeneration of the .SRCINFO file even if it exists on disk. This is useful for\nrepositories that forget to update their .SRCINFO files.\n"
  },
  {
    "path": "paru.conf",
    "content": "#\n# $PARU_CONF\n# /etc/paru.conf\n# ~/.config/paru/paru.conf\n#\n# See the paru.conf(5) manpage for options\n\n#\n# GENERAL OPTIONS\n#\n[options]\nPgpFetch\nDevel\nProvides\nDevelSuffixes = -git -cvs -svn -bzr -darcs -always -hg -fossil\n#AurOnly\n#BottomUp\n#RemoveMake\n#SudoLoop\n#UseAsk\n#SaveChanges\n#CombinedUpgrade\n#CleanAfter\n#UpgradeMenu\n#NewsOnUpgrade\n\n#LocalRepo\n#Chroot\n#Sign\n#SignDb\n#KeepRepoCache\n\n#\n# Binary OPTIONS\n#\n#[bin]\n#FileManager = vifm\n#MFlags = --skippgpcheck\n#Sudo = doas\n"
  },
  {
    "path": "po/ca.po",
    "content": "# Paru Catalan translation\n# Copyright (C) 2021\n# This file is distributed under the same license as the paru package.\n# Ícar Nin Solana <icar.nin@protonmail.com>, 2021.\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: paru VERSION\\n\"\n\"Report-Msgid-Bugs-To: https://github.com/Morganamilo/paru\\n\"\n\"POT-Creation-Date: 2026-01-08 17:40+0000\\n\"\n\"PO-Revision-Date: 2022-12-08 01:06+0100\\n\"\n\"Last-Translator: Ícar N. S. <icar.nin@protonmail.com>\\n\"\n\"Language-Team: \\n\"\n\"Language: ca\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=2; plural=(n != 1);\\n\"\n\"X-Generator: Poedit 3.1.1\\n\"\n\n#: src/clean.rs:36\nmsgid \"Do you want to clean ALL AUR packages from cache?\"\nmsgstr \"Voleu eliminar TOTS els paquets de l'AUR de la memòria cau?\"\n\n#: src/clean.rs:38\nmsgid \"Do you want to clean all other AUR packages from cache?\"\nmsgstr \"Voleu eliminar tots els altres paquets de l'AUR de la memòria cau?\"\n\n#: src/clean.rs:41\nmsgid \"Clone Directory: {}\"\nmsgstr \"Clonar el directori: {}\"\n\n#: src/clean.rs:47\nmsgid \"\"\n\"\\n\"\n\"Diff Directory: {}\"\nmsgstr \"\"\n\"\\n\"\n\"Directori diff: {}\"\n\n#: src/clean.rs:49\nmsgid \"Do you want to remove all saved diffs?\"\nmsgstr \"Voleu eliminar totes les diferències (diff) desades?\"\n\n#: src/clean.rs:65\nmsgid \"can't open diff dir: {}\"\nmsgstr \"no es pot obrir el directori de diferències: {}\"\n\n#: src/clean.rs:76 src/clean.rs:180\nmsgid \"could not remove '{}'\"\nmsgstr \"no s'ha pogut eliminar «{}»\"\n\n#: src/clean.rs:95\nmsgid \"can't open clone dir: {}\"\nmsgstr \"no es pot obrir el directori de clonar: {}\"\n\n#: src/clean.rs:141\n#, fuzzy\nmsgid \"could not parse .SRCINFO for '{}'\"\nmsgstr \"no s'ha pogut trobar .SRINFO per a '{}'\"\n\n#: src/command_line.rs:134\nmsgid \"option {} expects a value\"\nmsgstr \"l'opció {} espera un valor\"\n\n#: src/command_line.rs:165 src/command_line.rs:382\nmsgid \"option {} does not allow a value\"\nmsgstr \"l'opció {} no permet un valor\"\n\n#: src/command_line.rs:373\nmsgid \"unknown option --{}\"\nmsgstr \"opció desconeguda --{}\"\n\n#: src/command_line.rs:376\nmsgid \"unknown option -{}\"\nmsgstr \"opció desconeguda -{}\"\n\n#: src/completion.rs:26 src/search.rs:179 src/sync.rs:113\n#, fuzzy\nmsgid \"failed to decode package list\"\nmsgstr \"no s'han pogut baixar les fonts\"\n\n#: src/completion.rs:35\nmsgid \"failed to open cache file '{}'\"\nmsgstr \"no s'ha pogut obrir el fitxer de la memòria cau «{}»\"\n\n#: src/completion.rs:83\nmsgid \"could not update aur cache\"\nmsgstr \"no s'ha pogut actualitzar la memòria cau de l'AUR\"\n\n#: src/config.rs:179\nmsgid \"invalid value '{val}' for key '{key}', expected: {exp}\"\nmsgstr \"valor '{val}' no vàlid per a la clau '{key}', s'esperava: {exp}\"\n\n#: src/config.rs:332\nmsgid \"unknown mode {}\"\nmsgstr \"mode desconegut {}\"\n\n#: src/config.rs:564\nmsgid \"section can not be called {}\"\nmsgstr \"la secció no pot ser cridada {}\"\n\n#: src/config.rs:581\nmsgid \"failed to find cache directory\"\nmsgstr \"no s'ha pogut trobar el directori de la memòria cau\"\n\n#: src/config.rs:584\nmsgid \"failed to find config directory\"\nmsgstr \"no s'ha pogut trobar el directori de configuració\"\n\n#: src/config.rs:588\nmsgid \"failed to find state directory\"\nmsgstr \"no s'ha pogut trobar el directori d'estat\"\n\n#: src/config.rs:635\nmsgid \"config file '{}' does not exist\"\nmsgstr \"el fitxer de configuració '{}' no existeix\"\n\n#: src/config.rs:684\nmsgid \"only one operation may be used at a time\"\nmsgstr \"només es pot utilitzar una operació alhora\"\n\n#: src/config.rs:795\nmsgid \"no local repo named {}\"\nmsgstr \"\"\n\n#: src/config.rs:821\nmsgid \"can not find local repo '{}' in pacman.conf\"\nmsgstr \"no es pot trobar el dipòsit local '{}' al pacman.conf\"\n\n#: src/config.rs:866\nmsgid \"failed to initialize alpm: root={} dbpath={}\"\nmsgstr \"no s'ha pogut inicialitzar l'alpm: arrel={} dbpath={}\"\n\n#: src/config.rs:941 src/config.rs:1102\nmsgid \"value can not be empty for key '{}'\"\nmsgstr \"el valor no pot estar buit per a la clau '{}'\"\n\n#: src/config.rs:957\nmsgid \"key '{}' does not belong to a section\"\nmsgstr \"la clau '{}' no pertany a una secció\"\n\n#: src/config.rs:971 src/config.rs:988 src/config.rs:990 src/config.rs:1005\nmsgid \"key can not be empty\"\nmsgstr \"la clau no pot estar buida\"\n\n#: src/config.rs:981\nmsgid \"error: unknown option '{}' in repo\"\nmsgstr \"error: opció desconeguda '{}' al dipòsit\"\n\n#: src/config.rs:991\nmsgid \"key can not contain null bytes\"\nmsgstr \"la clau no pot contenir bytes nuls\"\n\n#: src/config.rs:994\nmsgid \"value can not contain null bytes\"\nmsgstr \"el valor no pot contenir bytes nuls\"\n\n#: src/config.rs:1030\nmsgid \"error: unknown option '{}' in section [bin]\"\nmsgstr \"error: opció desconeguda '{}' a la secció [bin]\"\n\n#: src/config.rs:1150\nmsgid \"error: unknown option '{}' in section [options]\"\nmsgstr \"error: opció desconeguda '{}' a la secció [opcions]\"\n\n#: src/config.rs:1155\nmsgid \"option '{}' does not take a value\"\nmsgstr \"l'opció '{}' no pren cap valor\"\n\n#: src/config.rs:1187 src/resolver.rs:136\nmsgid \"There are {n} providers available for {pkg}:\"\nmsgstr \"Hi ha {n} proveïdors disponibles per a {pkg}:\"\n\n#: src/config.rs:1201 src/info.rs:85 src/info.rs:190 src/info.rs:224\n#: src/resolver.rs:95 src/resolver.rs:144\nmsgid \"Repository\"\nmsgstr \"Repositori\"\n\n#: src/config.rs:1227\nmsgid \"  failed to sync {}\"\nmsgstr \" no s'ha pogut sincronitzar {}\"\n\n#: src/devel.rs:136 src/download.rs:207\nmsgid \"Querying AUR...\"\nmsgstr \"S'està consultant l'AUR...\"\n\n#: src/devel.rs:157 src/devel.rs:181 src/install.rs:203\nmsgid \"failed to parse srcinfo for '{}'\"\nmsgstr \"no s'ha pogut analitzar «srcinfo» per a «{}»\"\n\n#: src/devel.rs:201\nmsgid \"Looking for devel repos...\"\nmsgstr \"Buscant repositoris de desenvolupament...\"\n\n#: src/devel.rs:210\nmsgid \"failed to save devel info\"\nmsgstr \"no s'ha pogut desar la informació de desenvolupament\"\n\n#: src/devel.rs:218\nmsgid \"failed to create state directory: {}\"\nmsgstr \"no s'ha pogut crear el directori d'estat {}\"\n\n#: src/devel.rs:233\nmsgid \"failed to create temporary file: {}\"\nmsgstr \"no s'ha pogut crear el fitxer temporal {}\"\n\n#: src/devel.rs:238\nmsgid \"failed to write to temporary file: {}\"\nmsgstr \"no s'ha pogut escriure al fitxer temporal {}\"\n\n#: src/devel.rs:244\n#, fuzzy\nmsgid \"failed to rename '{temp}' to '{devel_toml}\"\nmsgstr \"ha fallat reanomenar '{temp}' a '{devel_json}'\"\n\n#: src/devel.rs:490\nmsgid \"package does not have an update\"\nmsgstr \"el paquet no té cap actualització\"\n\n#: src/devel.rs:536\nmsgid \"failed to lookup: {}\"\nmsgstr \"no s'ha pogut cercar: {}\"\n\n#: src/devel.rs:564\n#, fuzzy\nmsgid \"invalid toml: {}\"\nmsgstr \"json no vàlid: {}\"\n\n#: src/download.rs:100\nmsgid \"packages not in the AUR: \"\nmsgstr \"paquets no a l'AUR: \"\n\n#: src/download.rs:111\nmsgid \"marked out of date: \"\nmsgstr \"marcat com a no actualitzat: \"\n\n#: src/download.rs:122\nmsgid \"orphans: \"\nmsgstr \"orfes: \"\n\n#: src/download.rs:260\nmsgid \"downloading: {pkg}\"\nmsgstr \"descarregant: {pkg}\"\n\n#: src/download.rs:279 src/download.rs:602 src/info.rs:55 src/info.rs:180\n#: src/query.rs:49\nmsgid \"package '{}' was not found\"\nmsgstr \"no s'ha trobat el paquet '{}'\"\n\n#: src/download.rs:291\n#, fuzzy\nmsgid \"duplicate PKGBUILD: {}\"\nmsgstr \"paquets duplicats: {}\"\n\n#: src/download.rs:307\nmsgid \"package '{}' exists but has no PKGBUILD -- skipping\"\nmsgstr \"\"\n\n#: src/download.rs:340\nmsgid \"Downloading PKGBUILDs...\"\nmsgstr \"S'estan baixant els PKGBUILDs...\"\n\n#: src/download.rs:344\nmsgid \" PKGBUILDs up to date\"\nmsgstr \" PKGBUILDs al dia\"\n\n#: src/exec.rs:72\nmsgid \"failed to run:\"\nmsgstr \"no s'ha pogut executar:\"\n\n#: src/exec.rs:174\nmsgid \"Pacman is currently in use, please wait...\"\nmsgstr \"Actualment, Pacman està en ús, espereu...\"\n\n#: src/fmt.rs:24 src/info.rs:275 src/search.rs:293 src/search.rs:350\nmsgid \"None\"\nmsgstr \"Cap\"\n\n#: src/fmt.rs:245\nmsgid \"Repo\"\nmsgstr \"Repo\"\n\n#: src/fmt.rs:252\nmsgid \"Repo Make\"\nmsgstr \"Construcció del repositori\"\n\n#: src/fmt.rs:272\nmsgid \"Pkgbuilds Make\"\nmsgstr \"Construcció dels PKGBUILD\"\n\n#: src/fmt.rs:274\nmsgid \"Aur Make\"\nmsgstr \"Construcció de l'AUR\"\n\n#: src/fmt.rs:319\nmsgid \"Repo ({})\"\nmsgstr \"Dipòsit ({})\"\n\n#: src/fmt.rs:327\nmsgid \"Old Version\"\nmsgstr \"Versió antiga\"\n\n#: src/fmt.rs:328\nmsgid \"New Version\"\nmsgstr \"Versió nova\"\n\n#: src/fmt.rs:329\nmsgid \"Make Only\"\nmsgstr \"Només construeix\"\n\n#: src/fmt.rs:330\nmsgid \"Yes\"\nmsgstr \"Sí\"\n\n#: src/fmt.rs:331 src/info.rs:221\nmsgid \"No\"\nmsgstr \"No\"\n\n#: src/fmt.rs:419\nmsgid \"insufficient columns available for table display\"\nmsgstr \"no hi ha suficients columnes per a la visualització com a taula\"\n\n#: src/help.rs:4\nmsgid \"Usage:\"\nmsgstr \"Ús:\"\n\n#: src/help.rs:5\nmsgid \"    paru\"\nmsgstr \"    paru\"\n\n#: src/help.rs:6\nmsgid \"    paru <operation> [...]\"\nmsgstr \"    paru <operació> [...]\"\n\n#: src/help.rs:7\nmsgid \"    paru <package(s)>\"\nmsgstr \"    paru <paquet(s)>\"\n\n#: src/help.rs:9\nmsgid \"Pacman operations:\"\nmsgstr \"Operacions del Pacman:\"\n\n#: src/help.rs:10\nmsgid \"    paru {-h --help}\"\nmsgstr \"    paru {-h --help}\"\n\n#: src/help.rs:11\nmsgid \"    paru {-V --version}\"\nmsgstr \"    paru {-V --version}\"\n\n#: src/help.rs:12\nmsgid \"    paru {-D --database}    <options> <package(s)>\"\nmsgstr \"    paru {-D --database}    <opcions> <paquet(s)>\"\n\n#: src/help.rs:13\nmsgid \"    paru {-F --files}       [options] [package(s)]\"\nmsgstr \"    paru {-F --files}       [opcions] [paquet(s)]\"\n\n#: src/help.rs:14\nmsgid \"    paru {-Q --query}       [options] [package(s)]\"\nmsgstr \"    paru {-Q --query}       [opcions] [paquet(s)]\"\n\n#: src/help.rs:15\nmsgid \"    paru {-R --remove}      [options] <package(s)>\"\nmsgstr \"    paru {-R --remove}      [opcions] <paquet(s)>\"\n\n#: src/help.rs:16\nmsgid \"    paru {-S --sync}        [options] [package(s)]\"\nmsgstr \"    paru {-S --sync}        [opcions] [paquet(s)]\"\n\n#: src/help.rs:17\nmsgid \"    paru {-T --deptest}     [options] [package(s)]\"\nmsgstr \"    paru {-T --deptest}     [opcions] [paquet(s)]\"\n\n#: src/help.rs:18\nmsgid \"    paru {-U --upgrade}     [options] [file(s)]\"\nmsgstr \"    paru {-U --upgrade}     [opcions] [fitxer(s)]\"\n\n#: src/help.rs:20\nmsgid \"New operations:\"\nmsgstr \"Operacions noves:\"\n\n#: src/help.rs:21\nmsgid \"    paru {-P --show}        [options]\"\nmsgstr \"    paru {-P --show}        [opcions]\"\n\n#: src/help.rs:22\nmsgid \"    paru {-G --getpkgbuild} [package(s)]\"\nmsgstr \"    paru {-G --getpkgbuild} [paquet(s)]\"\n\n#: src/help.rs:23\nmsgid \"    paru {-B --build}       [dir(s)]\"\nmsgstr \"    paru {-B --build}       [dir(s)]\"\n\n#: src/help.rs:25\nmsgid \"If no arguments are provided 'paru -Syu' will be performed\"\nmsgstr \"Si no es proveeixen arguments, s'executarà 'paru -Syu'\"\n\n#: src/help.rs:27\nmsgid \"Options without operation:\"\nmsgstr \"Opcions sense operació:\"\n\n#: src/help.rs:28\nmsgid \"    -c --clean            Remove unneeded dependencies\"\nmsgstr \"    -c --clean            Elimina els paquets no necessaris\"\n\n#: src/help.rs:29\nmsgid \"\"\n\"       --gendb            Generates development package DB used for updating\"\nmsgstr \"\"\n\"       --gendb            Genera la base de dades dels paquets de \"\n\"desenvolupament usada per actualitzar\"\n\n#: src/help.rs:31\nmsgid \"New options:\"\nmsgstr \"Opcions noves:\"\n\n#: src/help.rs:32\nmsgid \"       --repo              Assume targets are from the repositories\"\nmsgstr \"\"\n\"       --repo              Assumeix que els paquets són dels repositoris\"\n\n#: src/help.rs:33\nmsgid \"\"\n\"       --pkgbuilds         Assume targets are from pkgbuild repositories\"\nmsgstr \"\"\n\"       --pkgbuilds         Assumeix que els objectius són de dipòsits de \"\n\"PKGBUILDs\"\n\n#: src/help.rs:34\nmsgid \"    -a --aur               Assume targets are from the AUR\"\nmsgstr \"    -a --aur               Assumeix que els paquets són de l'AUR\"\n\n#: src/help.rs:35\nmsgid \"    --mode      <mode>     Sets where paru looks for targets\"\nmsgstr \"    --mode      <mode>     Indica on el paru busca objectius\"\n\n#: src/help.rs:37\nmsgid \"\"\n\"    --interactive          Enable interactive package selection for -S, -R, \"\n\"-Ss and -Qs\"\nmsgstr \"\"\n\n#: src/help.rs:39\nmsgid \"    --aururl    <url>      Set an alternative AUR URL\"\nmsgstr \"    --aururl    <url>      Especifica una URL alternativa per l'AUR\"\n\n#: src/help.rs:40\nmsgid \"\"\n\"    --aurrpcur  <url>      Set an alternative URL for the AUR /rpc endpoint\"\nmsgstr \"\"\n\"    --aurrpcur  <url>      Indica una URL alternativa per l'endpoint /rpc de \"\n\"l'AUR\"\n\n#: src/help.rs:41\nmsgid \"    --clonedir  <dir>      Directory used to download and run PKGBUILDs\"\nmsgstr \"\"\n\"    --clonedir  <dir>      El directori usat per descarregar i executar els \"\n\"PKGBUILD\"\n\n#: src/help.rs:43\nmsgid \"    --makepkg   <file>     makepkg command to use\"\nmsgstr \"    --makepkg   <file>     La comanda «makepkg» a usar\"\n\n#: src/help.rs:44\nmsgid \"    --mflags    <flags>    Pass arguments to makepkg\"\nmsgstr \"    --mflags    <flags>    Passa arguments al «makepkg»\"\n\n#: src/help.rs:45\nmsgid \"    --pacman    <file>     pacman command to use\"\nmsgstr \"    --pacman    <file>     La comanda «pacman» a usar\"\n\n#: src/help.rs:46\nmsgid \"    --git       <file>     git command to use\"\nmsgstr \"    --git       <file>     La comanda «git» a usar\"\n\n#: src/help.rs:47\nmsgid \"    --gitflags  <flags>    Pass arguments to git\"\nmsgstr \"    --gitflags  <flags>     Passa arguments al «git»\"\n\n#: src/help.rs:48\nmsgid \"    --sudo      <file>     sudo command to use\"\nmsgstr \"    --sudo      <file>     La comanda «sudo» a usar\"\n\n#: src/help.rs:49\nmsgid \"    --sudoflags <flags>    Pass arguments to sudo\"\nmsgstr \"    --sudoflags <flags>    Passa arguments al «sudo»\"\n\n#: src/help.rs:50\n#, fuzzy\nmsgid \"    --pkgctl    <file>     pkgctl command to use\"\nmsgstr \"    --git       <file>     La comanda «git» a usar\"\n\n#: src/help.rs:51\nmsgid \"    --bat       <file>     bat command to use\"\nmsgstr \"    --bat       <file>     La comanda «bat» a usar\"\n\n#: src/help.rs:52\nmsgid \"    --batflags  <flags>    Pass arguments to bat\"\nmsgstr \"    --batflags  <flags>    Passa arguments al «bat»\"\n\n#: src/help.rs:53\nmsgid \"    --gpg       <file>     gpg command to use\"\nmsgstr \"    --gpg       <file>     La comanda «gpg» a usar\"\n\n#: src/help.rs:54\nmsgid \"    --gpgflags  <flags>    Pass arguments to gpg\"\nmsgstr \"    --gpgflags  <flags>    Passa arguments al «gpg»\"\n\n#: src/help.rs:55\nmsgid \"    --fm        <file>     File manager to use for PKGBUILD review\"\nmsgstr \"\"\n\"    --fm        <file>     Gestor de fitxers usat per revisar els PKGBUILD\"\n\n#: src/help.rs:56\nmsgid \"    --fmflags   <flags>    Pass arguments to file manager\"\nmsgstr \"    --fmflags   <flags>    Passa arguments al gestor de fitxers\"\n\n#: src/help.rs:58\nmsgid \"    --completioninterval   <n> Time in days to refresh completion cache\"\nmsgstr \"\"\n\"    --completioninterval   <n> Temps en dies per refrescar la memòria cau de \"\n\"compleció\"\n\n#: src/help.rs:59\nmsgid \"\"\n\"    --sortby    <field>    Sort AUR results by a specific field during search\"\nmsgstr \"\"\n\"    --sortby    <field>    Ordena els resultats de la cerca a l'AUR per un \"\n\"camp específic\"\n\n#: src/help.rs:60\nmsgid \"    --searchby  <field>    Search for packages using a specified field\"\nmsgstr \"    --searchby  <field>    Cerca paquets per un camp específic\"\n\n#: src/help.rs:61\nmsgid \"\"\n\"    --limit     <limit>    Limits the number of items returned in a search\"\nmsgstr \"\"\n\"    --limit     <límit>    Limita el número d'ítems retornats en una cerca\"\n\n#: src/help.rs:62\nmsgid \"    -x --regex             Enable regex for aur search\"\nmsgstr \"    -x --regex             Habilita regex a la cerca a l'AUR\"\n\n#: src/help.rs:64\nmsgid \"    --skipreview           Skip the review process\"\nmsgstr \"    --skipreview           Omet el procés de revisió\"\n\n#: src/help.rs:65\nmsgid \"    --review               Don't skip the review process\"\nmsgstr \"    --review               No ometis el procés de revisió\"\n\n#: src/help.rs:66\nmsgid \"    --[no]upgrademenu      Show interactive menu to skip upgrades\"\nmsgstr \"\"\n\"    --[no]upgrademenu      Mostra un menú interactiu per ometre \"\n\"actualitzacions\"\n\n#: src/help.rs:67\nmsgid \"    --[no]removemake       Remove makedepends after install\"\nmsgstr \"\"\n\"    --[no]removemake       Esborra les dependències de construcció després \"\n\"de la instal·lació\"\n\n#: src/help.rs:68\nmsgid \"    --[no]cleanafter       Remove package sources after install\"\nmsgstr \"\"\n\"    --[no]cleanafter       Elimina les fonts dels paquets després de la \"\n\"instal·lació\"\n\n#: src/help.rs:69\nmsgid \"    --[no]rebuild          Always build target packages\"\nmsgstr \"    --[no]rebuild          Construeix sempre els paquets objectiu\"\n\n#: src/help.rs:70\nmsgid \"    --[no]redownload       Always download PKGBUILDs of targets\"\nmsgstr \"    --[no]redownload       Descarrega sempre els PKGBUILD dels paquets\"\n\n#: src/help.rs:72\nmsgid \"    --[no]pgpfetch         Prompt to import PGP keys from PKGBUILDs\"\nmsgstr \"\"\n\"    --[no]pgpfetch         Pregunta si importar les claus PGP dels PKGBUILD\"\n\n#: src/help.rs:73\nmsgid \"\"\n\"    --[no]useask           Automatically resolve conflicts using pacman's \"\n\"ask flag\"\nmsgstr \"\"\n\"    --[no]useask           Resol els conflictes automàticament usant la \"\n\"opció «ask» de Pacman\"\n\n#: src/help.rs:74\nmsgid \"\"\n\"    --[no]savechanges      Commit changes to pkgbuilds made during review\"\nmsgstr \"\"\n\"    --[no]savechanges      Comet els canvis als PKGBUILD fets durant la \"\n\"revisió\"\n\n#: src/help.rs:75\nmsgid \"    --[no]newsonupgrade    Print new news during sysupgrade\"\nmsgstr \"\"\n\"    --[no]newsonupgrade    Mostra notícies noves a l'actualitzar el sistema\"\n\n#: src/help.rs:76\nmsgid \"\"\n\"    --[no]combinedupgrade  Refresh then perform the repo and AUR upgrade \"\n\"together\"\nmsgstr \"\"\n\"    --[no]combinedupgrade  Refresca i després porta a terme les \"\n\"actualizacions dels repositoris i l'AUR conjuntament\"\n\n#: src/help.rs:77\nmsgid \"\"\n\"    --[no]batchinstall     Build multiple AUR packages then install them \"\n\"together\"\nmsgstr \"\"\n\"    --[no]batchinstall     Construeix múltiples paquets de l'AUR i després \"\n\"instal·la'ls conjuntament\"\n\n#: src/help.rs:78\nmsgid \"\"\n\"    --[no]provides         Look for matching providers when searching for \"\n\"packages\"\nmsgstr \"\"\n\"    --[no]provides         Busca proveïdors que coincideixin quan es busquin \"\n\"paquets\"\n\n#: src/help.rs:79\nmsgid \"    --[no]devel            Check development packages during sysupgrade\"\nmsgstr \"\"\n\"    --[no]devel            Comprova els paquets de desenvolupament durant \"\n\"una actualització del sistema\"\n\n#: src/help.rs:80\nmsgid \"\"\n\"    --[no]installdebug     Also install debug packages when a package \"\n\"provides them\"\nmsgstr \"\"\n\"    --[no]installdebug     També instal·la paquets de depuració quan un \"\n\"paquet els proveeix\"\n\n#: src/help.rs:81\nmsgid \"\"\n\"    --[no]sudoloop         Loop sudo calls in the background to avoid timeout\"\nmsgstr \"\"\n\"    --[no]sudoloop         Fes crides periòdiques a «sudo» per evitar el \"\n\"temps d'espera\"\n\n#: src/help.rs:82\nmsgid \"    --[no]chroot           Build packages in a chroot\"\nmsgstr \"    --[no]chroot           Construeix els paquets en un «chroot»\"\n\n#: src/help.rs:83\nmsgid \"\"\n\"    --[no]failfast         Exit as soon as building an AUR package fails\"\nmsgstr \"    --[no]failfast         Surt quan un paquet de l'AUR falli\"\n\n#: src/help.rs:84\nmsgid \"\"\n\"    --[no]keepsrc          Keep src/ and pkg/ dirs after building packages\"\nmsgstr \"\"\n\"    --[no]keepsrc          Mantingues els directoris src/ i pkg/ després de \"\n\"construir els paquets\"\n\n#: src/help.rs:85\nmsgid \"    --[no]sign             Sign packages with gpg\"\nmsgstr \"    --[no]sign             Firma els paquets amb gpg\"\n\n#: src/help.rs:86\nmsgid \"    --[no]signdb           Sign databases with gpg\"\nmsgstr \"    --[no]signdb           Signa les bases de dades amb gpg\"\n\n#: src/help.rs:87\n#, fuzzy\nmsgid \"    --[no]localrepo        Build packages into a local repo\"\nmsgstr \"\"\n\"    --localrepo            Afegeix els paquets construïts a un repositori \"\n\"local\"\n\n#: src/help.rs:88\nmsgid \"\"\n\"    --nocheck              Don't resolve checkdepends or run the check \"\n\"function\"\nmsgstr \"\"\n\"    --nocheck              No resolguis els «checkdepends» o executis la \"\n\"funció «check»\"\n\n#: src/help.rs:90\nmsgid \"\"\n\"    --rootchrootpkgs       Packages to install in the root chroot (default: \"\n\"base-devel)\"\nmsgstr \"\"\n\n#: src/help.rs:92\nmsgid \"\"\n\"    --develsuffixes        Suffixes used to decide if a package is a devel \"\n\"package\"\nmsgstr \"\"\n\"    --develsuffixes        Sufixos utilitzats per decidir si un paquet és un \"\n\"paquet de desenvolupament\"\n\n#: src/help.rs:93\n#, fuzzy\nmsgid \"    --ignoredevel          Ignore devel upgrades for specified packages\"\nmsgstr \"\"\n\"    --ignoredevel          Ignora les actualitzacions dels paquets de \"\n\"desenvolupament pels paquets especificats\"\n\n#: src/help.rs:94\nmsgid \"\"\n\"    --bottomup             Shows AUR's packages first and then repository's\"\nmsgstr \"    --bottomup             Mostra els paquets de l'AUR primerament\"\n\n#: src/help.rs:95\nmsgid \"\"\n\"    --topdown              Shows repository's packages first and then AUR's\"\nmsgstr \"\"\n\"    --topdown              Mostra els paquets dels repositoris primerament\"\n\n#: src/help.rs:97\nmsgid \"show specific options:\"\nmsgstr \"opcions específiques de «show»:\"\n\n#: src/help.rs:98\nmsgid \"    -c --complete         Used for completions\"\nmsgstr \"    -c --complete         Utilitzat per complecions\"\n\n#: src/help.rs:99\nmsgid \"    -s --stats            Display system package statistics\"\nmsgstr \"\"\n\"    -s --stats            Mostra estadístiques dels paquets del sistema\"\n\n#: src/help.rs:100\nmsgid \"    -w --news             Print arch news\"\nmsgstr \"    -w --news             Mostra notícies de l'Arch\"\n\n#: src/help.rs:102\nmsgid \"getpkgbuild specific options:\"\nmsgstr \"opcions específiques de «getpkgbuild»:\"\n\n#: src/help.rs:103\nmsgid \"    -p --print            Print pkgbuild to stdout\"\nmsgstr \"    -p --print            Imprimeix el PKGBUILD a «stdout»\"\n\n#: src/help.rs:104\nmsgid \"    -c --comments         Print AUR comments for pkgbuild\"\nmsgstr \"\"\n\"    -c --comments         Imprimeix els comentaris de l'AUR pel PKGBUILD\"\n\n#: src/help.rs:105\nmsgid \"    -s --ssh              Clone package using SSH\"\nmsgstr \"    -s --ssh              Clona el paquet usant SSH\"\n\n#: src/help.rs:107\nmsgid \"Build specific options:\"\nmsgstr \"Opcions específiques de construcció:\"\n\n#: src/help.rs:108\nmsgid \"    -i --install          Install package as well as building\"\nmsgstr \"    -i --install          Construeix i instal·la el(s) paquet(s)\"\n\n#: src/info.rs:86 src/info.rs:191 src/info.rs:225\nmsgid \"Name\"\nmsgstr \"Nom\"\n\n#: src/info.rs:87 src/info.rs:192 src/info.rs:226\nmsgid \"Version\"\nmsgstr \"Versió\"\n\n#: src/info.rs:88 src/info.rs:193 src/info.rs:227\nmsgid \"Description\"\nmsgstr \"Descripció\"\n\n#: src/info.rs:89 src/info.rs:195 src/info.rs:235\nmsgid \"Groups\"\nmsgstr \"Grups\"\n\n#: src/info.rs:90 src/info.rs:196 src/info.rs:236\nmsgid \"Licenses\"\nmsgstr \"Llicències\"\n\n#: src/info.rs:91 src/info.rs:197 src/info.rs:237\nmsgid \"Provides\"\nmsgstr \"Proporciona\"\n\n#: src/info.rs:92 src/info.rs:198 src/info.rs:238\nmsgid \"Depends On\"\nmsgstr \"Depèn de\"\n\n#: src/info.rs:93 src/info.rs:199 src/info.rs:239\nmsgid \"Make Deps\"\nmsgstr \"Dependències de construcció\"\n\n#: src/info.rs:94 src/info.rs:200 src/info.rs:240\nmsgid \"Check Deps\"\nmsgstr \"Comprova les dependències\"\n\n#: src/info.rs:95 src/info.rs:201 src/info.rs:241\nmsgid \"Optional Deps\"\nmsgstr \"Dependències opcionals\"\n\n#: src/info.rs:96 src/info.rs:202 src/info.rs:242\nmsgid \"Conflicts With\"\nmsgstr \"Conflictes amb\"\n\n#: src/info.rs:97 src/info.rs:243\nmsgid \"Maintainer\"\nmsgstr \"Mantenidor\"\n\n#: src/info.rs:98 src/info.rs:244\nmsgid \"Votes\"\nmsgstr \"Vots\"\n\n#: src/info.rs:99 src/info.rs:245\nmsgid \"Popularity\"\nmsgstr \"Popularitat\"\n\n#: src/info.rs:100 src/info.rs:246\nmsgid \"First Submitted\"\nmsgstr \"Primera vegada enviat\"\n\n#: src/info.rs:101 src/info.rs:247\nmsgid \"Last Modified\"\nmsgstr \"Última modificació\"\n\n#: src/info.rs:102 src/info.rs:249\nmsgid \"Out Of Date\"\nmsgstr \"No actualitzat\"\n\n#: src/info.rs:103 src/info.rs:254\nmsgid \"ID\"\nmsgstr \"ID\"\n\n#: src/info.rs:104 src/info.rs:255\nmsgid \"Package Base ID\"\nmsgstr \"ID de la base del paquet\"\n\n#: src/info.rs:105 src/info.rs:256\nmsgid \"Keywords\"\nmsgstr \"Paraules clau\"\n\n#: src/info.rs:106 src/info.rs:258\nmsgid \"Snapshot URL\"\nmsgstr \"URL de la instantània\"\n\n#: src/info.rs:107 src/info.rs:203\nmsgid \"Path\"\nmsgstr \"Camí\"\n\n#: src/install.rs:166 src/query.rs:48 src/lib.rs:101\nmsgid \"error:\"\nmsgstr \"error:\"\n\n#: src/install.rs:167\nmsgid \"could not get news\"\nmsgstr \"no s'han pogut obtenir notícies\"\n\n#: src/install.rs:172 src/install.rs:1127\nmsgid \"Proceed with installation?\"\nmsgstr \"Voleu continuar amb la instal·lació?\"\n\n#: src/install.rs:207\nmsgid \"could not find .SRCINFO for '{}'\"\nmsgstr \"no s'ha pogut trobar .SRINFO per a '{}'\"\n\n#: src/install.rs:353\nmsgid \"could not find package '{pkg}' in package list for '{base}'\"\nmsgstr \"\"\n\"no s'ha pogut trobar el paquet '{pkg}' a la llista de paquets per a '{base}'\"\n\n#: src/install.rs:451\nmsgid \"packages failed to build: {}\"\nmsgstr \"no s'han pogut construir els paquets: {}\"\n\n#: src/install.rs:523\nmsgid \"adding {} to the install list\"\nmsgstr \"s'està afegint {} a la llista d'instal·lació\"\n\n#: src/install.rs:553 src/install.rs:568\nmsgid \"failed to download sources for '{}'\"\nmsgstr \"no s'han pogut baixar les fonts per a «{}»\"\n\n#: src/install.rs:577 src/install.rs:603 src/install.rs:611\nmsgid \"failed to build '{}'\"\nmsgstr \"no s'ha pogut construir «{}»\"\n\n#: src/install.rs:580 src/install.rs:784\nmsgid \"{}: parsing pkg list...\"\nmsgstr \"{}: s'està analitzant la llista de paquets...\"\n\n#: src/install.rs:584\nmsgid \"package list does not match srcinfo\"\nmsgstr \"la llista de paquets no coincideix amb srcinfo\"\n\n#: src/install.rs:618\nmsgid \"{}-{} is up to date -- skipping build\"\nmsgstr \"{}-{} està actualitzat -- s'omet la construcció\"\n\n#: src/install.rs:775\nmsgid \"can't build {base}, deps not satisfied: {deps}\"\nmsgstr \"no es pot construir {base}, les dependències no satisfetes són: {deps}\"\n\n#: src/install.rs:846\nmsgid \"fetching devel info...\"\nmsgstr \"s'està recuperant la informació de desenvolupament...\"\n\n#: src/install.rs:911 src/lib.rs:240\nmsgid \"no targets specified (use -h for help)\"\nmsgstr \"no s'ha especificat cap objectiu (useu -h per ajuda)\"\n\n#: src/install.rs:1008 src/install.rs:1097 src/search.rs:450 src/search.rs:476\n#: src/lib.rs:304\nmsgid \" there is nothing to do\"\nmsgstr \" No hi ha res a fer\"\n\n#: src/install.rs:1016\nmsgid \"Resolving dependencies...\"\nmsgstr \"S'estan resolent les dependències...\"\n\n#: src/install.rs:1077\nmsgid \"can't install AUR package as root\"\nmsgstr \"no es pot instal·lar el paquet de l'AUR com a root\"\n\n#: src/install.rs:1080\nmsgid \"--downloadonly can't be used for AUR packages\"\nmsgstr \"--downloadonly no pot ser usat per a paquets de l'AUR\"\n\n#: src/install.rs:1113\nmsgid \"Remove make dependencies after install?\"\nmsgstr \"\"\n\"Voleu suprimir les dependències de construcció després de la instal·lació?\"\n\n#: src/install.rs:1124\nmsgid \"Proceed to review?\"\nmsgstr \"Voleu continuar a la revisió?\"\n\n#: src/install.rs:1177\nmsgid \"no architecture\"\nmsgstr \"sense arquitectura\"\n\n#: src/install.rs:1191\nmsgid \"The following packages are not compatible with your architecture:\"\nmsgstr \"Els següents paquets no són compatibles amb la vostra arquitectura:\"\n\n#: src/install.rs:1205\nmsgid \"Would you like to try build them anyway?\"\nmsgstr \"Voleu provar de construir-los de totes maneres?\"\n\n#: src/install.rs:1349\nmsgid \"duplicate packages: {}\"\nmsgstr \"paquets duplicats: {}\"\n\n#: src/install.rs:1353\nmsgid \"could not find all required packages:\"\nmsgstr \"no s'han pogut trobar tots els paquets necessaris:\"\n\n#: src/install.rs:1365\nmsgid \"\"\n\"\\n\"\n\"    {missing} (wanted by: {stack})\"\nmsgstr \"\"\n\"\\n\"\n\"    {missing} (desitjat per: {stack})\"\n\n#: src/install.rs:1379 src/install.rs:2122\nmsgid \"{}-{} is up to date -- skipping\"\nmsgstr \"{}-{} està actualitzat -- s'omet\"\n\n#: src/install.rs:1387\nmsgid \"Calculating conflicts...\"\nmsgstr \"Calculant conflictes...\"\n\n#: src/install.rs:1410\nmsgid \"Calculating inner conflicts...\"\nmsgstr \"Calculant conflictes interns...\"\n\n#: src/install.rs:1422\nmsgid \"Inner conflicts found:\"\nmsgstr \"Conflictes interns trobats:\"\n\n#: src/install.rs:1444\nmsgid \"Conflicts found:\"\nmsgstr \"Conflictes trobats:\"\n\n#: src/install.rs:1467\nmsgid \"Conflicting packages will have to be confirmed manually\"\nmsgstr \"Els paquets en conflicte s'hauran de confirmar manualment\"\n\n#: src/install.rs:1471\nmsgid \"can not install conflicting packages with --noconfirm\"\nmsgstr \"no es poden instal·lar paquets en conflicte amb --noconfirm\"\n\n#: src/install.rs:1599\nmsgid \"failed to execute file manager: {}\"\nmsgstr \"no s'ha pogut executar el gestor de fitxers: {}\"\n\n#: src/install.rs:1602\n#, fuzzy\nmsgid \"file manager '{}' did not execute successfully\"\nmsgstr \"el gestor de fitxers no s'ha executat correctament\"\n\n#: src/install.rs:1620\nmsgid \"failed to read dir: {}\"\nmsgstr \"no s'ha pogut llegir el directori: {}\"\n\n#: src/install.rs:1677\nmsgid \"failed to open: {}\"\nmsgstr \"no s'ha pogut obrir: {}\"\n\n#: src/install.rs:1697\nmsgid \"binary file: {}\"\nmsgstr \"fitxer binari: {}\"\n\n#: src/install.rs:1719 src/install.rs:1790\nmsgid \"Accept changes?\"\nmsgstr \"Accepteu els canvis?\"\n\n#: src/install.rs:1759\nmsgid \"Paging with less. Press 'q' to quit or 'h' for help.\"\nmsgstr \"\"\n\n#: src/install.rs:1794\nmsgid \" nothing new to review\"\nmsgstr \" no hi ha res nou per revisar\"\n\n#: src/install.rs:2070\nmsgid \"can't find package name in packagelist: {}\"\nmsgstr \"no es pot trobar el nom del paquet a la llista de paquets: {}\"\n\n#: src/install.rs:2142\nmsgid \"Signing packages...\"\nmsgstr \"Signant els paquets...\"\n\n#: src/install.rs:2172\nmsgid \"{}-{} is up to date -- skipping install\"\nmsgstr \"{}-{} està actualitzat -- s'està ometent la instal·lació\"\n\n#: src/keys.rs:57\nmsgid \"keys need to be imported:\"\nmsgstr \"cal importar les claus:\"\n\n#: src/keys.rs:62\nmsgid \"     {key} wanted by: {base}\"\nmsgstr \"    {key} buscat per: {base}\"\n\n#: src/news.rs:57\nmsgid \"No Date \"\nmsgstr \"Sense data \"\n\n#: src/news.rs:60\nmsgid \"No Title\"\nmsgstr \"Sense títol\"\n\n#: src/news.rs:69\nmsgid \"no new news\"\nmsgstr \"no hi ha notícies noves\"\n\n#: src/pkgbuild.rs:91\nmsgid \"repo {} does not have a URL or Path\"\nmsgstr \"el dipòsit {} no disposa d'una URL o camí\"\n\n#: src/pkgbuild.rs:153\n#, fuzzy\nmsgid \"repo {} not downloaded (use -Sy --pkgbuilds to download)\"\nmsgstr \"\"\n\"el dipòsit {} no s'ha descarregat (utilitzeu -Sya per a descarregar-lo)\"\n\n#: src/pkgbuild.rs:200\nmsgid \"Generating .SRCINFO for {repo}/{dir}...\"\nmsgstr \"Generant .SRCINFO per {repo}/{dir}...\"\n\n#: src/pkgbuild.rs:278\nmsgid \"failed to parse srcinfo \\\"{}\\\"\"\nmsgstr \"no s'ha pogut analitzar «srcinfo»\"\n\n#: src/pkgbuild.rs:368\nmsgid \"Downloading PKGBUILD Repos...\"\nmsgstr \"S'estan baixant els dipòsits amb els PKGBUILDs...\"\n\n#: src/pkgbuild.rs:422\nmsgid \"failed to parse srcinfo generated by makepkg\"\nmsgstr \"no s'ha pogut analitzar la «srcinfo» generada per makepkg\"\n\n#: src/query.rs:151\nmsgid \" [ignored]\"\nmsgstr \" [ignorat]\"\n\n#: src/repo.rs:253\nmsgid \"failed to get current exe\"\nmsgstr \"no s'ha pogut obtenir l'exe actual\"\n\n#: src/repo.rs:298\nmsgid \"syncing local databases...\"\nmsgstr \"s'estan sincronitzant les bases de dades locals...\"\n\n#: src/repo.rs:304\nmsgid \"  nothing to do\"\nmsgstr \"  res a fer\"\n\n#: src/repo.rs:335\nmsgid \"there is nothing to do\"\nmsgstr \"no hi ha res a fer\"\n\n#: src/repo.rs:341\nmsgid \"Packages\"\nmsgstr \"Paquets\"\n\n#: src/repo.rs:354\nmsgid \"Proceed with removal?\"\nmsgstr \"Voleu continuar amb l'eliminació?\"\n\n#: src/repo.rs:415\nmsgid \" [installed: {}]\"\nmsgstr \" [instal·lat: {}]\"\n\n#: src/repo.rs:417 src/sync.rs:144\nmsgid \" [installed]\"\nmsgstr \" [instal·lat]\"\n\n#: src/search.rs:41\nmsgid \"aur search failed\"\nmsgstr \"ha fallat la cerca a l'AUR\"\n\n#: src/search.rs:285 src/search.rs:338 src/search.rs:410\n#, fuzzy\nmsgid \"[installed: {}]\"\nmsgstr \" [instal·lat: {}]\"\n\n#: src/search.rs:287 src/search.rs:340 src/search.rs:412\n#, fuzzy\nmsgid \"[installed]\"\nmsgstr \" [instal·lat]\"\n\n#: src/search.rs:332\n#, fuzzy\nmsgid \"[out-of-date: {}]\"\nmsgstr \"[No actualitzat: {}]\"\n\n#: src/search.rs:347\n#, fuzzy\nmsgid \"[orphaned]\"\nmsgstr \"[Orfe]\"\n\n#: src/search.rs:491\nmsgid \"no packages match search\"\nmsgstr \"no hi ha cap paquet que coincideixi amb la cerca\"\n\n#: src/search.rs:529\nmsgid \"Packages to install (eg: 1 2 3, 1-3):\"\nmsgstr \"Paquets a instal·lar (p. ex.: 1 2 3, 1-3):\"\n\n#: src/search.rs:531\n#, fuzzy\nmsgid \"Select packages (eg: 1 2 3, 1-3):\"\nmsgstr \"Paquets a instal·lar (p. ex.: 1 2 3, 1-3):\"\n\n#: src/stats.rs:90\nmsgid \"Total installed packages: {}\"\nmsgstr \"Total de paquets instal·lats: {}\"\n\n#: src/stats.rs:94\nmsgid \"Aur packages: {}\"\nmsgstr \"Paquets de l'AUR: {}\"\n\n#: src/stats.rs:98\nmsgid \"Repo packages: {}\"\nmsgstr \"Paquets de repositoris: {}\"\n\n#: src/stats.rs:102\nmsgid \"Explicitly installed packages: {}\"\nmsgstr \"Paquets instal·lats explícitament: {}\"\n\n#: src/stats.rs:106\nmsgid \"Total Size occupied by packages: {}\"\nmsgstr \"Mida total ocupada pels paquets: {}\"\n\n#: src/stats.rs:113\nmsgid \"Ten biggest packages:\"\nmsgstr \"Els deu paquets més grans:\"\n\n#: src/upgrade.rs:126\nmsgid \"Looking for PKGBUILD upgrades...\"\nmsgstr \"Buscant actualitzacions dels PKGBUILD...\"\n\n#: src/upgrade.rs:134\nmsgid \"Looking for AUR upgrades...\"\nmsgstr \"Buscant actualitzacions a l'AUR...\"\n\n#: src/upgrade.rs:165\nmsgid \"Looking for devel upgrades...\"\nmsgstr \"Buscant actualitzacions de paquets de desenvolupament...\"\n\n#: src/upgrade.rs:193 src/upgrade.rs:206\nmsgid \"warning:\"\nmsgstr \"avís:\"\n\n#: src/upgrade.rs:195 src/upgrade.rs:208\nmsgid \"{pkg}: ignoring package upgrade ({old} => {new})\"\nmsgstr \"{pkg}: s'ignora l'actualització ({old} => {new})\"\n\n#: src/upgrade.rs:400\nmsgid \"Packages to exclude (eg: 1 2 3, 1-3):\"\nmsgstr \"Paquets a excloure (p. ex.: 1 2 3, 1-3):\"\n\n#: src/util.rs:121\nmsgid \"[Y/n]:\"\nmsgstr \"[S/n]:\"\n\n#: src/util.rs:123\nmsgid \"[y/N]:\"\nmsgstr \"[s/N]:\"\n\n#: src/util.rs:142\nmsgid \"y\"\nmsgstr \"s\"\n\n#: src/util.rs:142\nmsgid \"yes\"\nmsgstr \"sí\"\n\n#: src/util.rs:300\nmsgid \"Enter a number (default=1): \"\nmsgstr \"Introduïu un nombre (per defecte=1): \"\n\n#: src/util.rs:317\nmsgid \"invalid number: {}\"\nmsgstr \"número no vàlid: {}\"\n\n#: src/util.rs:327\nmsgid \"invalid value: {n} is not between 1 and {max}\"\nmsgstr \"valor no vàlid: {n} no és entre 1 i {max}\"\n\n#: src/resolver.rs:83\nmsgid \"There are {} members in group\"\nmsgstr \"Hi ha {} membres al grup\"\n\n#: src/resolver.rs:108\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Enter a selection (default=all): \"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Introduïu una selecció (per defecte=tot): \"\n\n#: src/lib.rs:206\nmsgid \"can not use chroot builds: devtools is not installed\"\nmsgstr \"\"\n\"no es poden utilitzar les construccions amb «chroot»: devtools no està \"\n\"instal·lat\"\n\n#: src/lib.rs:313\nmsgid \"no operation specified (use -h for help)\"\nmsgstr \"no s'ha especificat cap operació (useu -h per l'ajuda)\"\n\n#~ msgid \"[Installed: {}]\"\n#~ msgstr \"[Instal·lat: {}]\"\n\n#~ msgid \"[Installed]\"\n#~ msgstr \"[Instal·lat]\"\n\n#~ msgid \"Aur ({})\"\n#~ msgstr \"AUR ({})\"\n\n#~ msgid \"Pkgbuilds ({})\"\n#~ msgstr \"PKGBUILDs ({})\"\n\n#~ msgid \"could not get current directory\"\n#~ msgstr \"no s'ha pogut obtenir el directori actual\"\n\n#~ msgid \"can not get repo packages: asp is not installed\"\n#~ msgstr \"\"\n#~ \"no es poden obtenir els paquets de dipòsit: «asp» no està instal·lat\"\n\n#~ msgid \"Missing ABS packages \"\n#~ msgstr \"Paquets ABS que manquen \"\n\n#~ msgid \"does not contain PKGBUILD: skipping\"\n#~ msgstr \"no conté PKGBUILD: s'ometrà\"\n\n#~ msgid \"{} is not installed: can not get repo packages\"\n#~ msgstr \"\"\n#~ \"{} no està instal·lat: no es poden obtenir els paquets de repositoris\"\n\n#~ msgid \"asp returned {}\"\n#~ msgstr \"«asp» ha retornat {}\"\n\n#~ msgid \"    --asp       <file>     asp command to use\"\n#~ msgstr \"    --asp       <file>     La comanda «asp» a usar\"\n\n#~ msgid \"Generating .SRCINFO for {dir}...\"\n#~ msgstr \"Generant .SRCINFO per {dir}...\"\n\n#~ msgid \"pkgbase {base} already exists in repo {repo} -- skipping)\"\n#~ msgstr \"el pkgbase {base} ja existeix al dipòsit {repo} -- s'omet) \"\n\n#~ msgid \"upgrade specific options:\"\n#~ msgstr \"opcions específiques d'«upgrade»\"\n\n#, fuzzy\n#~ msgid \"error: unknown section '{}'\"\n#~ msgstr \"secció desconeguda '{}'\"\n\n#~ msgid \"can't build package as root\"\n#~ msgstr \"no es pot construir el paquet com a root\"\n\n#~ msgid \"failed to build\"\n#~ msgstr \"no s'ha pogut construir\"\n\n#~ msgid \"parsing pkg list...\"\n#~ msgstr \"s'està analitzant la llista de paquets...\"\n\n#~ msgid \"\"\n#~ \"{} is a directory\\n\"\n#~ \"\\n\"\n#~ msgstr \"\"\n#~ \"{} és un directori\\n\"\n#~ \"\\n\"\n\n#~ msgid \"n\"\n#~ msgstr \"n\"\n\n#~ msgid \"no\"\n#~ msgstr \"no\"\n"
  },
  {
    "path": "po/cs.po",
    "content": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE paru'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the paru package.\n# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: paru  2.0.0\\n\"\n\"Report-Msgid-Bugs-To: https://github.com/Morganamilo/paru\\n\"\n\"POT-Creation-Date: 2026-01-08 17:40+0000\\n\"\n\"PO-Revision-Date: 2025-12-20 02:00+0100\\n\"\n\"Last-Translator: Martin Kozák <martin.kozak@outlook.cz>\\n\"\n\"Language-Team: \\n\"\n\"Language: cs\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Generator: Poedit 3.8\\n\"\n\n#: src/clean.rs:36\nmsgid \"Do you want to clean ALL AUR packages from cache?\"\nmsgstr \"Chcete odstranit VŠECHNY AUR balíčky z mezipaměti?\"\n\n#: src/clean.rs:38\nmsgid \"Do you want to clean all other AUR packages from cache?\"\nmsgstr \"Chcete odstranit všechny ostatní balíčky AUR z mezipaměti?\"\n\n#: src/clean.rs:41\nmsgid \"Clone Directory: {}\"\nmsgstr \"Adresář pro klonování: {}\"\n\n#: src/clean.rs:47\nmsgid \"\"\n\"\\n\"\n\"Diff Directory: {}\"\nmsgstr \"\"\n\"\\n\"\n\"Adresář rozdílů: {}\"\n\n#: src/clean.rs:49\nmsgid \"Do you want to remove all saved diffs?\"\nmsgstr \"Přejete si smazat všechny uložené rozdíly?\"\n\n#: src/clean.rs:65\nmsgid \"can't open diff dir: {}\"\nmsgstr \"nelze otevřít adresář rozdílů: {}\"\n\n#: src/clean.rs:76 src/clean.rs:180\nmsgid \"could not remove '{}'\"\nmsgstr \"nelze odstranit '{}'\"\n\n#: src/clean.rs:95\nmsgid \"can't open clone dir: {}\"\nmsgstr \"nelze otevřít adresář pro klonování: {}\"\n\n#: src/clean.rs:141\nmsgid \"could not parse .SRCINFO for '{}'\"\nmsgstr \"nelze načíst .SRCINFO pro '{}'\"\n\n#: src/command_line.rs:134\nmsgid \"option {} expects a value\"\nmsgstr \"volba {} očekává hodnotu\"\n\n#: src/command_line.rs:165 src/command_line.rs:382\nmsgid \"option {} does not allow a value\"\nmsgstr \"volba {} nedovoluje hodnotu\"\n\n#: src/command_line.rs:373\nmsgid \"unknown option --{}\"\nmsgstr \"neznámá volba --{}\"\n\n#: src/command_line.rs:376\nmsgid \"unknown option -{}\"\nmsgstr \"neznámá volba -{}\"\n\n#: src/completion.rs:26 src/search.rs:179 src/sync.rs:113\n#, fuzzy\nmsgid \"failed to decode package list\"\nmsgstr \"nepodařilo se otevřít soubor mezipaměti '{}'\"\n\n#: src/completion.rs:35\nmsgid \"failed to open cache file '{}'\"\nmsgstr \"nepodařilo se otevřít soubor mezipaměti '{}'\"\n\n#: src/completion.rs:83\nmsgid \"could not update aur cache\"\nmsgstr \"nepodařilo se aktualizovat AUR mezipaměť\"\n\n#: src/config.rs:179\nmsgid \"invalid value '{val}' for key '{key}', expected: {exp}\"\nmsgstr \"neplatná hodnota '{val}' pro klíč '{key}', očekáváno: {exp}\"\n\n#: src/config.rs:332\nmsgid \"unknown mode {}\"\nmsgstr \"neznámý režim {}\"\n\n#: src/config.rs:564\nmsgid \"section can not be called {}\"\nmsgstr \"sekci nelze zavolat {}\"\n\n#: src/config.rs:581\nmsgid \"failed to find cache directory\"\nmsgstr \"nepodařilo se najít adresář mezipaměti\"\n\n#: src/config.rs:584\nmsgid \"failed to find config directory\"\nmsgstr \"nepodařilo se najít konfigurační adresář\"\n\n#: src/config.rs:588\nmsgid \"failed to find state directory\"\nmsgstr \"nepodařilo se najít stavový adresář\"\n\n#: src/config.rs:635\nmsgid \"config file '{}' does not exist\"\nmsgstr \"konfigurační soubor '{}' neexistuje\"\n\n#: src/config.rs:684\nmsgid \"only one operation may be used at a time\"\nmsgstr \"naráz může být použita pouze jedna operace\"\n\n#: src/config.rs:795\nmsgid \"no local repo named {}\"\nmsgstr \"neexistuje lokální repozitář jménem {}\"\n\n#: src/config.rs:821\nmsgid \"can not find local repo '{}' in pacman.conf\"\nmsgstr \"nelze najít lokální repozitář '{}' v pacman.conf\"\n\n#: src/config.rs:866\nmsgid \"failed to initialize alpm: root={} dbpath={}\"\nmsgstr \"nepodařilo se inicializovat alpm: root={} dbpath={}\"\n\n#: src/config.rs:941 src/config.rs:1102\nmsgid \"value can not be empty for key '{}'\"\nmsgstr \"hodnota pro klíč '{}' nemůže být prázdná\"\n\n#: src/config.rs:957\nmsgid \"key '{}' does not belong to a section\"\nmsgstr \"klíč '{}' nepatří do oddílu\"\n\n#: src/config.rs:971 src/config.rs:988 src/config.rs:990 src/config.rs:1005\nmsgid \"key can not be empty\"\nmsgstr \"klíč nemůže být prázdný\"\n\n#: src/config.rs:981\nmsgid \"error: unknown option '{}' in repo\"\nmsgstr \"chyba: neznámá volba '{}' v repozitáři\"\n\n#: src/config.rs:991\nmsgid \"key can not contain null bytes\"\nmsgstr \"klíč nesmí obsahovat nulové bajty\"\n\n#: src/config.rs:994\nmsgid \"value can not contain null bytes\"\nmsgstr \"hodnota nesmí obsahovat nulové bajty\"\n\n#: src/config.rs:1030\nmsgid \"error: unknown option '{}' in section [bin]\"\nmsgstr \"chyba: neznámá volba '{}' v oddílu [bin]\"\n\n#: src/config.rs:1150\nmsgid \"error: unknown option '{}' in section [options]\"\nmsgstr \"chyba: neznámá volba '{}' v oddílu [options]\"\n\n#: src/config.rs:1155\nmsgid \"option '{}' does not take a value\"\nmsgstr \"volba '{}' nepřijímá hodnotu\"\n\n#: src/config.rs:1187 src/resolver.rs:136\nmsgid \"There are {n} providers available for {pkg}:\"\nmsgstr \"Pro {pkg} je dostupných {n} poskytovatelů:\"\n\n#: src/config.rs:1201 src/info.rs:85 src/info.rs:190 src/info.rs:224\n#: src/resolver.rs:95 src/resolver.rs:144\nmsgid \"Repository\"\nmsgstr \"Repozitář\"\n\n#: src/config.rs:1227\nmsgid \"  failed to sync {}\"\nmsgstr \"  synchronizace {} se nezdařila\"\n\n#: src/devel.rs:136 src/download.rs:207\nmsgid \"Querying AUR...\"\nmsgstr \"Dotazovaní AUR...\"\n\n#: src/devel.rs:157 src/devel.rs:181 src/install.rs:203\nmsgid \"failed to parse srcinfo for '{}'\"\nmsgstr \"nepodařilo se načíst srcinfo pro '{}'\"\n\n#: src/devel.rs:201\nmsgid \"Looking for devel repos...\"\nmsgstr \"Vyhledávání vývojových repozitářů...\"\n\n#: src/devel.rs:210\nmsgid \"failed to save devel info\"\nmsgstr \"nepodařilo se uložit vývojové informace\"\n\n#: src/devel.rs:218\nmsgid \"failed to create state directory: {}\"\nmsgstr \"nepodařilo se vytvořit stavový adresář: {}\"\n\n#: src/devel.rs:233\nmsgid \"failed to create temporary file: {}\"\nmsgstr \"nepodařilo se vytvořit dočasný soubor: {}\"\n\n#: src/devel.rs:238\nmsgid \"failed to write to temporary file: {}\"\nmsgstr \"nepodařilo se zapsat dočasný soubor: {}\"\n\n#: src/devel.rs:244\nmsgid \"failed to rename '{temp}' to '{devel_toml}\"\nmsgstr \"nepodařilo se přejmenovat '{temp}' na '{devel_toml}\"\n\n#: src/devel.rs:490\nmsgid \"package does not have an update\"\nmsgstr \"balíček nemá aktualizaci\"\n\n#: src/devel.rs:536\nmsgid \"failed to lookup: {}\"\nmsgstr \"nepodařilo se najít: {}\"\n\n#: src/devel.rs:564\nmsgid \"invalid toml: {}\"\nmsgstr \"neplatný toml: {}\"\n\n#: src/download.rs:100\nmsgid \"packages not in the AUR: \"\nmsgstr \"balíčky mimo AUR: \"\n\n#: src/download.rs:111\nmsgid \"marked out of date: \"\nmsgstr \"označené jako zastaralé: \"\n\n#: src/download.rs:122\nmsgid \"orphans: \"\nmsgstr \"osamocené: \"\n\n#: src/download.rs:260\nmsgid \"downloading: {pkg}\"\nmsgstr \"stahování: {pkg}\"\n\n#: src/download.rs:279 src/download.rs:602 src/info.rs:55 src/info.rs:180\n#: src/query.rs:49\nmsgid \"package '{}' was not found\"\nmsgstr \"balíček '{}' nebyl nalezen\"\n\n#: src/download.rs:291\n#, fuzzy\nmsgid \"duplicate PKGBUILD: {}\"\nmsgstr \"duplicitní balíčky: {}\"\n\n#: src/download.rs:307\nmsgid \"package '{}' exists but has no PKGBUILD -- skipping\"\nmsgstr \"\"\n\n#: src/download.rs:340\nmsgid \"Downloading PKGBUILDs...\"\nmsgstr \"Stahování PKGBUILDů...\"\n\n#: src/download.rs:344\nmsgid \" PKGBUILDs up to date\"\nmsgstr \" PKGBUILDy jsou aktuální\"\n\n#: src/exec.rs:72\nmsgid \"failed to run:\"\nmsgstr \"nepodařilo se spustit:\"\n\n#: src/exec.rs:174\nmsgid \"Pacman is currently in use, please wait...\"\nmsgstr \"Pacman je zaneprázdněný, prosím počkejte...\"\n\n#: src/fmt.rs:24 src/info.rs:275 src/search.rs:293 src/search.rs:350\nmsgid \"None\"\nmsgstr \"Žádné\"\n\n#: src/fmt.rs:245\nmsgid \"Repo\"\nmsgstr \"Repozitář\"\n\n#: src/fmt.rs:252\nmsgid \"Repo Make\"\nmsgstr \"Repo Make\"\n\n#: src/fmt.rs:272\nmsgid \"Pkgbuilds Make\"\nmsgstr \"Pkgbuilds Make\"\n\n#: src/fmt.rs:274\nmsgid \"Aur Make\"\nmsgstr \"Aur Make\"\n\n#: src/fmt.rs:319\nmsgid \"Repo ({})\"\nmsgstr \"Repozitář ({})\"\n\n#: src/fmt.rs:327\nmsgid \"Old Version\"\nmsgstr \"Stará verze\"\n\n#: src/fmt.rs:328\nmsgid \"New Version\"\nmsgstr \"Nová verze\"\n\n#: src/fmt.rs:329\nmsgid \"Make Only\"\nmsgstr \"Pouze Make\"\n\n#: src/fmt.rs:330\nmsgid \"Yes\"\nmsgstr \"Ano\"\n\n#: src/fmt.rs:331 src/info.rs:221\nmsgid \"No\"\nmsgstr \"Ne\"\n\n#: src/fmt.rs:419\nmsgid \"insufficient columns available for table display\"\nmsgstr \"nedostatek sloupců pro zobrazení tabulky\"\n\n#: src/help.rs:4\nmsgid \"Usage:\"\nmsgstr \"Použití:\"\n\n#: src/help.rs:5\nmsgid \"    paru\"\nmsgstr \"    paru\"\n\n#: src/help.rs:6\nmsgid \"    paru <operation> [...]\"\nmsgstr \"    paru <operace> [...]\"\n\n#: src/help.rs:7\nmsgid \"    paru <package(s)>\"\nmsgstr \"    paru <balíček(y)>\"\n\n#: src/help.rs:9\nmsgid \"Pacman operations:\"\nmsgstr \"Pacman operace:\"\n\n#: src/help.rs:10\nmsgid \"    paru {-h --help}\"\nmsgstr \"    paru {-h --help}\"\n\n#: src/help.rs:11\nmsgid \"    paru {-V --version}\"\nmsgstr \"    paru {-V --version}\"\n\n#: src/help.rs:12\nmsgid \"    paru {-D --database}    <options> <package(s)>\"\nmsgstr \"    paru {-D --database}    <volby> <balíček(y)>\"\n\n#: src/help.rs:13\nmsgid \"    paru {-F --files}       [options] [package(s)]\"\nmsgstr \"    paru {-F --files}       [volby] [balíček(y)]\"\n\n#: src/help.rs:14\nmsgid \"    paru {-Q --query}       [options] [package(s)]\"\nmsgstr \"    paru {-Q --query}       [volby] [balíček(y)]\"\n\n#: src/help.rs:15\nmsgid \"    paru {-R --remove}      [options] <package(s)>\"\nmsgstr \"    paru {-R --remove}      [volby] <balíček(y)>\"\n\n#: src/help.rs:16\nmsgid \"    paru {-S --sync}        [options] [package(s)]\"\nmsgstr \"    paru {-S --sync}        [volby] [balíček(y)]\"\n\n#: src/help.rs:17\nmsgid \"    paru {-T --deptest}     [options] [package(s)]\"\nmsgstr \"    paru {-T --deptest}     [volby] [balíček(y)]\"\n\n#: src/help.rs:18\nmsgid \"    paru {-U --upgrade}     [options] [file(s)]\"\nmsgstr \"   paru {-U --upgrade}     [volby] [soubor(y)]\"\n\n#: src/help.rs:20\nmsgid \"New operations:\"\nmsgstr \"Nové operace:\"\n\n#: src/help.rs:21\nmsgid \"    paru {-P --show}        [options]\"\nmsgstr \"    paru {-P --show}        [volby]\"\n\n#: src/help.rs:22\nmsgid \"    paru {-G --getpkgbuild} [package(s)]\"\nmsgstr \"    paru {-G --getpkgbuild} [balíček(y)]\"\n\n#: src/help.rs:23\nmsgid \"    paru {-B --build}       [dir(s)]\"\nmsgstr \"    paru {-B --build}       [adresář(e)]\"\n\n#: src/help.rs:25\nmsgid \"If no arguments are provided 'paru -Syu' will be performed\"\nmsgstr \"Pokud nejsou dodány argumenty, provede se 'paru -Syu'\"\n\n#: src/help.rs:27\nmsgid \"Options without operation:\"\nmsgstr \"Volby bez operace:\"\n\n#: src/help.rs:28\nmsgid \"    -c --clean            Remove unneeded dependencies\"\nmsgstr \"    -c --clean            Odebrat nepotřebné závislosti\"\n\n#: src/help.rs:29\nmsgid \"\"\n\"       --gendb            Generates development package DB used for updating\"\nmsgstr \"\"\n\"       --gendb            Vygenerovat databázi vývojových balíčků použitých \"\n\"k aktualizaci\"\n\n#: src/help.rs:31\nmsgid \"New options:\"\nmsgstr \"Nové volby:\"\n\n#: src/help.rs:32\nmsgid \"       --repo              Assume targets are from the repositories\"\nmsgstr \"\"\n\"       --repo              Předpokládat, že cíle pocházejí z repozitářů\"\n\n#: src/help.rs:33\nmsgid \"\"\n\"       --pkgbuilds         Assume targets are from pkgbuild repositories\"\nmsgstr \"\"\n\"       --pkgbuilds         Předpokládat, že cíle pocházejí z pkgbuild \"\n\"repozitářů\"\n\n#: src/help.rs:34\nmsgid \"    -a --aur               Assume targets are from the AUR\"\nmsgstr \"    -a --aur               Předpokládat, že cíle pocházejí z AUR\"\n\n#: src/help.rs:35\nmsgid \"    --mode      <mode>     Sets where paru looks for targets\"\nmsgstr \"    --mode      <mód>     Nastavit, kde paru vyhledává cíle\"\n\n#: src/help.rs:37\nmsgid \"\"\n\"    --interactive          Enable interactive package selection for -S, -R, \"\n\"-Ss and -Qs\"\nmsgstr \"\"\n\"    --interactive          Zapnout interaktivní výběr balíčků pro -S, -R, \"\n\"-Ss a -Qs\"\n\n#: src/help.rs:39\nmsgid \"    --aururl    <url>      Set an alternative AUR URL\"\nmsgstr \"    --aururl    <url>      Nastavit alternativní AUR URL\"\n\n#: src/help.rs:40\nmsgid \"\"\n\"    --aurrpcur  <url>      Set an alternative URL for the AUR /rpc endpoint\"\nmsgstr \"    --aurrpcur  <url>      Nastavit alternativní AUR URL /rpc endpoint\"\n\n#: src/help.rs:41\nmsgid \"    --clonedir  <dir>      Directory used to download and run PKGBUILDs\"\nmsgstr \"    --clonedir  <adresář>      Adresář pro stažení a běh PKGBUILDů\"\n\n#: src/help.rs:43\nmsgid \"    --makepkg   <file>     makepkg command to use\"\nmsgstr \"    --makepkg   <soubor>     makepkg příkaz k vykonání\"\n\n#: src/help.rs:44\nmsgid \"    --mflags    <flags>    Pass arguments to makepkg\"\nmsgstr \"    --mflags    <flags>    Předat argumenty do makepkg\"\n\n#: src/help.rs:45\nmsgid \"    --pacman    <file>     pacman command to use\"\nmsgstr \"    --pacman    <soubor>     pacman příkaz k vykonání\"\n\n#: src/help.rs:46\nmsgid \"    --git       <file>     git command to use\"\nmsgstr \"    --git       <soubor>     git příkaz k vykonání\"\n\n#: src/help.rs:47\nmsgid \"    --gitflags  <flags>    Pass arguments to git\"\nmsgstr \"  --gitflags  <flags>    Předat argumenty do git\"\n\n#: src/help.rs:48\nmsgid \"    --sudo      <file>     sudo command to use\"\nmsgstr \"    --sudo      <soubor>     sudo příkaz k vykonání\"\n\n#: src/help.rs:49\nmsgid \"    --sudoflags <flags>    Pass arguments to sudo\"\nmsgstr \"    --sudoflags <flags>    Předat argumenty do sudo\"\n\n#: src/help.rs:50\nmsgid \"    --pkgctl    <file>     pkgctl command to use\"\nmsgstr \"    --pkgctl    <soubor>     pkgctl příkaz k vykonání\"\n\n#: src/help.rs:51\nmsgid \"    --bat       <file>     bat command to use\"\nmsgstr \"    --bat       <soubor>     bat příkaz k vykonání\"\n\n#: src/help.rs:52\nmsgid \"    --batflags  <flags>    Pass arguments to bat\"\nmsgstr \"    --batflags  <flags>    Předat argumenty do bat\"\n\n#: src/help.rs:53\nmsgid \"    --gpg       <file>     gpg command to use\"\nmsgstr \"    --gpg       <soubor>     gpg příkaz k vykonání\"\n\n#: src/help.rs:54\nmsgid \"    --gpgflags  <flags>    Pass arguments to gpg\"\nmsgstr \"    --gpgflags  <flags>    Předat argumenty do gpg\"\n\n#: src/help.rs:55\nmsgid \"    --fm        <file>     File manager to use for PKGBUILD review\"\nmsgstr \"    --fm        <soubor>     správce souborů pro PKGBUILD kontrolu\"\n\n#: src/help.rs:56\nmsgid \"    --fmflags   <flags>    Pass arguments to file manager\"\nmsgstr \"    --fmflags   <flags>    Předat argumenty do správce souborů\"\n\n#: src/help.rs:58\nmsgid \"    --completioninterval   <n> Time in days to refresh completion cache\"\nmsgstr \"\"\n\"    --completioninterval   <n> Čas ve dnech do další aktualizace mezipaměti \"\n\"dokončení\"\n\n#: src/help.rs:59\nmsgid \"\"\n\"    --sortby    <field>    Sort AUR results by a specific field during search\"\nmsgstr \"\"\n\"    --sortby    <pole>    Řazení výsledků vyhledávání v AUR podle \"\n\"specifického pole\"\n\n#: src/help.rs:60\nmsgid \"    --searchby  <field>    Search for packages using a specified field\"\nmsgstr \"    --searchby  <pole>    Vyhledat balíčky podle specifického pole\"\n\n#: src/help.rs:61\nmsgid \"\"\n\"    --limit     <limit>    Limits the number of items returned in a search\"\nmsgstr \"    --limit     <limit>    Omezit počet výsledků vyhledávání\"\n\n#: src/help.rs:62\nmsgid \"    -x --regex             Enable regex for aur search\"\nmsgstr \"    -x --regex             Zapnout regex pro vyhledávání v AUR\"\n\n#: src/help.rs:64\nmsgid \"    --skipreview           Skip the review process\"\nmsgstr \"    --skipreview           Přeskočit proces kontroly\"\n\n#: src/help.rs:65\nmsgid \"    --review               Don't skip the review process\"\nmsgstr \"    --review               Nepřeskakovat proces kontroly\"\n\n#: src/help.rs:66\nmsgid \"    --[no]upgrademenu      Show interactive menu to skip upgrades\"\nmsgstr \"\"\n\"    --[no]upgrademenu      Zobrazit interaktivní menu k přeskakovaní \"\n\"aktualizací\"\n\n#: src/help.rs:67\nmsgid \"    --[no]removemake       Remove makedepends after install\"\nmsgstr \"    --[no]removemake       Smazat makedepends po instalaci\"\n\n#: src/help.rs:68\nmsgid \"    --[no]cleanafter       Remove package sources after install\"\nmsgstr \"    --[no]cleanafter       Smazat zdroje balíčků po instalaci\"\n\n#: src/help.rs:69\nmsgid \"    --[no]rebuild          Always build target packages\"\nmsgstr \"    --[no]rebuild          Vždy sestavit cílové balíčky\"\n\n#: src/help.rs:70\nmsgid \"    --[no]redownload       Always download PKGBUILDs of targets\"\nmsgstr \"    --[no]redownload       Vždy stáhnout PKGBUILDy cílů\"\n\n#: src/help.rs:72\nmsgid \"    --[no]pgpfetch         Prompt to import PGP keys from PKGBUILDs\"\nmsgstr \"    --[no]pgpfetch         Vyzvat k importu PGP klíčů z PKGBUILDů\"\n\n#: src/help.rs:73\nmsgid \"\"\n\"    --[no]useask           Automatically resolve conflicts using pacman's \"\n\"ask flag\"\nmsgstr \"\"\n\"    --[no]useask           Automaticky vyřešit konflikty pomocí pacman ask \"\n\"volby\"\n\n#: src/help.rs:74\nmsgid \"\"\n\"    --[no]savechanges      Commit changes to pkgbuilds made during review\"\nmsgstr \"\"\n\"    --[no]savechanges      Převzít změny udělané během kontroly do pkgbuildů\"\n\n#: src/help.rs:75\nmsgid \"    --[no]newsonupgrade    Print new news during sysupgrade\"\nmsgstr \"\"\n\"    --[no]newsonupgrade    Zobrazit novinky během systémové aktualizace\"\n\n#: src/help.rs:76\nmsgid \"\"\n\"    --[no]combinedupgrade  Refresh then perform the repo and AUR upgrade \"\n\"together\"\nmsgstr \"\"\n\"    --[no]combinedupgrade  Obnovit a pak provést aktualizaci repozitáře a \"\n\"AUR najednou\"\n\n#: src/help.rs:77\nmsgid \"\"\n\"    --[no]batchinstall     Build multiple AUR packages then install them \"\n\"together\"\nmsgstr \"\"\n\"    --[no]batchinstall     Sestavit vícero AUR balíčků a pak je nainstalovat \"\n\"najednou\"\n\n#: src/help.rs:78\nmsgid \"\"\n\"    --[no]provides         Look for matching providers when searching for \"\n\"packages\"\nmsgstr \"\"\n\"    --[no]provides         Při vyhledávání balíčků, najít odpovídající \"\n\"poskytovatele\"\n\n#: src/help.rs:79\nmsgid \"    --[no]devel            Check development packages during sysupgrade\"\nmsgstr \"\"\n\"    --[no]devel            Zkontrolovat vývojové balíčky během systémové \"\n\"aktualizace\"\n\n#: src/help.rs:80\nmsgid \"\"\n\"    --[no]installdebug     Also install debug packages when a package \"\n\"provides them\"\nmsgstr \"\"\n\"    --[no]installdebug     Nainstalovat ladící balíčky pokud je balíček \"\n\"poskytuje\"\n\n#: src/help.rs:81\nmsgid \"\"\n\"    --[no]sudoloop         Loop sudo calls in the background to avoid timeout\"\nmsgstr \"\"\n\"    --[no]sudoloop         Zacyklit sudo volání na pozadí, aby se předešlo \"\n\"vypršení časového limitu\"\n\n#: src/help.rs:82\nmsgid \"    --[no]chroot           Build packages in a chroot\"\nmsgstr \"    --[no]chroot           Sestavit balíčky v chroot\"\n\n#: src/help.rs:83\nmsgid \"\"\n\"    --[no]failfast         Exit as soon as building an AUR package fails\"\nmsgstr \"\"\n\"    --[no]failfast         Skončit jakmile sestavování AUR balíčku selže\"\n\n#: src/help.rs:84\nmsgid \"\"\n\"    --[no]keepsrc          Keep src/ and pkg/ dirs after building packages\"\nmsgstr \"\"\n\"    --[no]keepsrc          Ponechat src/ a pkg/ adresáře po sestavení balíčků\"\n\n#: src/help.rs:85\nmsgid \"    --[no]sign             Sign packages with gpg\"\nmsgstr \"    --[no]sign             Podepsat balíčky pomocí gpg\"\n\n#: src/help.rs:86\nmsgid \"    --[no]signdb           Sign databases with gpg\"\nmsgstr \"    --[no]signdb           Podepsat databáze pomocí gpg\"\n\n#: src/help.rs:87\nmsgid \"    --[no]localrepo        Build packages into a local repo\"\nmsgstr \"    --[no]localrepo        Sestavit balíčky do lokálního repozitáře\"\n\n#: src/help.rs:88\nmsgid \"\"\n\"    --nocheck              Don't resolve checkdepends or run the check \"\n\"function\"\nmsgstr \"\"\n\"    --nocheck              Neřešit checkdepends nebo spouštět ověřování\"\n\n#: src/help.rs:90\nmsgid \"\"\n\"    --rootchrootpkgs       Packages to install in the root chroot (default: \"\n\"base-devel)\"\nmsgstr \"\"\n\n#: src/help.rs:92\nmsgid \"\"\n\"    --develsuffixes        Suffixes used to decide if a package is a devel \"\n\"package\"\nmsgstr \"    --develsuffixes        Přípony označující vývojové balíčky\"\n\n#: src/help.rs:93\nmsgid \"    --ignoredevel          Ignore devel upgrades for specified packages\"\nmsgstr \"\"\n\"    --ignoredevel          Ignorovat vývojové aktualizace pro specifikované \"\n\"balíčky\"\n\n#: src/help.rs:94\nmsgid \"\"\n\"    --bottomup             Shows AUR's packages first and then repository's\"\nmsgstr \"\"\n\"    --bottomup             Zobrazit nejdříve balíčky AUR a pak balíčky z \"\n\"repozitáře\"\n\n#: src/help.rs:95\nmsgid \"\"\n\"    --topdown              Shows repository's packages first and then AUR's\"\nmsgstr \"\"\n\"    --topdown              Zobrazit nejdříve balíčky z repozitáře a pak \"\n\"balíčky AUR\"\n\n#: src/help.rs:97\nmsgid \"show specific options:\"\nmsgstr \"specifické volby pro show:\"\n\n#: src/help.rs:98\nmsgid \"    -c --complete         Used for completions\"\nmsgstr \"    -c --complete         Použito k dokončení\"\n\n#: src/help.rs:99\nmsgid \"    -s --stats            Display system package statistics\"\nmsgstr \"    -s --stats            Zobrazit statistiky systémových balíčků\"\n\n#: src/help.rs:100\nmsgid \"    -w --news             Print arch news\"\nmsgstr \"    -w --news             Zobrazit novinky Arch\"\n\n#: src/help.rs:102\nmsgid \"getpkgbuild specific options:\"\nmsgstr \"specifické volby pro getpkgbuild:\"\n\n#: src/help.rs:103\nmsgid \"    -p --print            Print pkgbuild to stdout\"\nmsgstr \"    -p --print            Předat pkgbuild do stdout\"\n\n#: src/help.rs:104\nmsgid \"    -c --comments         Print AUR comments for pkgbuild\"\nmsgstr \"    -c --comments         Zobrazit AUR komentáře pro pkgbuild\"\n\n#: src/help.rs:105\nmsgid \"    -s --ssh              Clone package using SSH\"\nmsgstr \"    -s --ssh              Klonovat balíček pomocí SSH\"\n\n#: src/help.rs:107\nmsgid \"Build specific options:\"\nmsgstr \"Specifické volby pro sestavení:\"\n\n#: src/help.rs:108\nmsgid \"    -i --install          Install package as well as building\"\nmsgstr \"    -i --install          Nainstalovat a sestavit balíček\"\n\n#: src/info.rs:86 src/info.rs:191 src/info.rs:225\nmsgid \"Name\"\nmsgstr \"Název\"\n\n#: src/info.rs:87 src/info.rs:192 src/info.rs:226\nmsgid \"Version\"\nmsgstr \"Verze\"\n\n#: src/info.rs:88 src/info.rs:193 src/info.rs:227\nmsgid \"Description\"\nmsgstr \"Popis\"\n\n#: src/info.rs:89 src/info.rs:195 src/info.rs:235\nmsgid \"Groups\"\nmsgstr \"Skupiny\"\n\n#: src/info.rs:90 src/info.rs:196 src/info.rs:236\nmsgid \"Licenses\"\nmsgstr \"Licence\"\n\n#: src/info.rs:91 src/info.rs:197 src/info.rs:237\nmsgid \"Provides\"\nmsgstr \"Poskytuje\"\n\n#: src/info.rs:92 src/info.rs:198 src/info.rs:238\nmsgid \"Depends On\"\nmsgstr \"Závisí na\"\n\n#: src/info.rs:93 src/info.rs:199 src/info.rs:239\nmsgid \"Make Deps\"\nmsgstr \"Vytvořit závislosti\"\n\n#: src/info.rs:94 src/info.rs:200 src/info.rs:240\nmsgid \"Check Deps\"\nmsgstr \"Zkontrolovat závislosti\"\n\n#: src/info.rs:95 src/info.rs:201 src/info.rs:241\nmsgid \"Optional Deps\"\nmsgstr \"Volitelné závislosti\"\n\n#: src/info.rs:96 src/info.rs:202 src/info.rs:242\nmsgid \"Conflicts With\"\nmsgstr \"V konfliktu s\"\n\n#: src/info.rs:97 src/info.rs:243\nmsgid \"Maintainer\"\nmsgstr \"Správce\"\n\n#: src/info.rs:98 src/info.rs:244\nmsgid \"Votes\"\nmsgstr \"Hlasy\"\n\n#: src/info.rs:99 src/info.rs:245\nmsgid \"Popularity\"\nmsgstr \"Popularita\"\n\n#: src/info.rs:100 src/info.rs:246\nmsgid \"First Submitted\"\nmsgstr \"Poprvé zveřejněno\"\n\n#: src/info.rs:101 src/info.rs:247\nmsgid \"Last Modified\"\nmsgstr \"Poslední úprava\"\n\n#: src/info.rs:102 src/info.rs:249\nmsgid \"Out Of Date\"\nmsgstr \"Zastaralé\"\n\n#: src/info.rs:103 src/info.rs:254\nmsgid \"ID\"\nmsgstr \"ID\"\n\n#: src/info.rs:104 src/info.rs:255\nmsgid \"Package Base ID\"\nmsgstr \"Základní ID balíčku\"\n\n#: src/info.rs:105 src/info.rs:256\nmsgid \"Keywords\"\nmsgstr \"Klíčová slova\"\n\n#: src/info.rs:106 src/info.rs:258\nmsgid \"Snapshot URL\"\nmsgstr \"URL Snapshotu\"\n\n#: src/info.rs:107 src/info.rs:203\nmsgid \"Path\"\nmsgstr \"Cesta\"\n\n#: src/install.rs:166 src/query.rs:48 src/lib.rs:101\nmsgid \"error:\"\nmsgstr \"chyba:\"\n\n#: src/install.rs:167\nmsgid \"could not get news\"\nmsgstr \"nepodařilo se získat novinky\"\n\n#: src/install.rs:172 src/install.rs:1127\nmsgid \"Proceed with installation?\"\nmsgstr \"Pokračovat v instalaci?\"\n\n#: src/install.rs:207\nmsgid \"could not find .SRCINFO for '{}'\"\nmsgstr \"nepodařilo se najít .SRCINFO pro '{}'\"\n\n#: src/install.rs:353\nmsgid \"could not find package '{pkg}' in package list for '{base}'\"\nmsgstr \"nepodařilo se najít balíčky '{pkg}' v seznamu balíčků pro '{base}'\"\n\n#: src/install.rs:451\nmsgid \"packages failed to build: {}\"\nmsgstr \"balíčky, které se nepodařilo sestavit: {}\"\n\n#: src/install.rs:523\nmsgid \"adding {} to the install list\"\nmsgstr \"přidávání {} do seznamu k instalaci\"\n\n#: src/install.rs:553 src/install.rs:568\nmsgid \"failed to download sources for '{}'\"\nmsgstr \"nepodařilo se stáhnout zdroje pro '{}'\"\n\n#: src/install.rs:577 src/install.rs:603 src/install.rs:611\nmsgid \"failed to build '{}'\"\nmsgstr \"nepodařilo se sestavit '{}'\"\n\n#: src/install.rs:580 src/install.rs:784\nmsgid \"{}: parsing pkg list...\"\nmsgstr \"{}: načítání pkg seznamu...\"\n\n#: src/install.rs:584\nmsgid \"package list does not match srcinfo\"\nmsgstr \"seznam balíčků nesouhlasí s srcinfo\"\n\n#: src/install.rs:618\nmsgid \"{}-{} is up to date -- skipping build\"\nmsgstr \"{}-{} je aktuální -- sestavení překočeno\"\n\n#: src/install.rs:775\nmsgid \"can't build {base}, deps not satisfied: {deps}\"\nmsgstr \"nelze sestavit {base}, závislosti nejsou vyřešeny: {deps}\"\n\n#: src/install.rs:846\nmsgid \"fetching devel info...\"\nmsgstr \"získávání vývojových informací...\"\n\n#: src/install.rs:911 src/lib.rs:240\nmsgid \"no targets specified (use -h for help)\"\nmsgstr \"nebyly specifikovány cíle (použijte -h pro nápovědu)\"\n\n#: src/install.rs:1008 src/install.rs:1097 src/search.rs:450 src/search.rs:476\n#: src/lib.rs:304\nmsgid \" there is nothing to do\"\nmsgstr \" není co dělat\"\n\n#: src/install.rs:1016\nmsgid \"Resolving dependencies...\"\nmsgstr \"Řeším závislosti...\"\n\n#: src/install.rs:1077\nmsgid \"can't install AUR package as root\"\nmsgstr \"nelze nainstalovat AUR balíček jako root\"\n\n#: src/install.rs:1080\nmsgid \"--downloadonly can't be used for AUR packages\"\nmsgstr \"--downloadonly nelze použít pro AUR balíčky\"\n\n#: src/install.rs:1113\nmsgid \"Remove make dependencies after install?\"\nmsgstr \"Odebrat make závislosti po instalaci?\"\n\n#: src/install.rs:1124\nmsgid \"Proceed to review?\"\nmsgstr \"Pokračovat ke kontrole?\"\n\n#: src/install.rs:1177\nmsgid \"no architecture\"\nmsgstr \"žádná architektura\"\n\n#: src/install.rs:1191\nmsgid \"The following packages are not compatible with your architecture:\"\nmsgstr \"Následující balíčky nejsou kompatibilní s vaší architekturou:\"\n\n#: src/install.rs:1205\nmsgid \"Would you like to try build them anyway?\"\nmsgstr \"Přejete si je přesto sestavit?\"\n\n#: src/install.rs:1349\nmsgid \"duplicate packages: {}\"\nmsgstr \"duplicitní balíčky: {}\"\n\n#: src/install.rs:1353\nmsgid \"could not find all required packages:\"\nmsgstr \"nepodařilo se najít všechny potřebné balíčky:\"\n\n#: src/install.rs:1365\nmsgid \"\"\n\"\\n\"\n\"    {missing} (wanted by: {stack})\"\nmsgstr \"\"\n\"\\n\"\n\"    {missing} (požadováno od: {stack})\"\n\n#: src/install.rs:1379 src/install.rs:2122\nmsgid \"{}-{} is up to date -- skipping\"\nmsgstr \"{}-{} je aktuální -- přeskočeno\"\n\n#: src/install.rs:1387\nmsgid \"Calculating conflicts...\"\nmsgstr \"Výpočet konfliktů...\"\n\n#: src/install.rs:1410\nmsgid \"Calculating inner conflicts...\"\nmsgstr \"Výpočet vnitřních konfliktů...\"\n\n#: src/install.rs:1422\nmsgid \"Inner conflicts found:\"\nmsgstr \"Nalezené vnitřní konflikty:\"\n\n#: src/install.rs:1444\nmsgid \"Conflicts found:\"\nmsgstr \"Nalezené konflikty:\"\n\n#: src/install.rs:1467\nmsgid \"Conflicting packages will have to be confirmed manually\"\nmsgstr \"Konfliktní balíčky musí být potvrzeny ručně\"\n\n#: src/install.rs:1471\nmsgid \"can not install conflicting packages with --noconfirm\"\nmsgstr \"nelze instalovat konfliktní balíčky s --noconfirm\"\n\n#: src/install.rs:1599\nmsgid \"failed to execute file manager: {}\"\nmsgstr \"nepodařilo se spustit správce souborů: {}\"\n\n#: src/install.rs:1602\n#, fuzzy\nmsgid \"file manager '{}' did not execute successfully\"\nmsgstr \"správce souborů se nespustil\"\n\n#: src/install.rs:1620\nmsgid \"failed to read dir: {}\"\nmsgstr \"nepodařilo se načíst adresář: {}\"\n\n#: src/install.rs:1677\nmsgid \"failed to open: {}\"\nmsgstr \"nepodařilo se otevřít: {}\"\n\n#: src/install.rs:1697\nmsgid \"binary file: {}\"\nmsgstr \"binární soubor: {}\"\n\n#: src/install.rs:1719 src/install.rs:1790\nmsgid \"Accept changes?\"\nmsgstr \"Potvrdit změny?\"\n\n#: src/install.rs:1759\nmsgid \"Paging with less. Press 'q' to quit or 'h' for help.\"\nmsgstr \"\"\n\"Zobrazení po stránkách pomocí less. Stiskněte 'q' pro ukončení nebo 'h' pro \"\n\"nápovědu.\"\n\n#: src/install.rs:1794\nmsgid \" nothing new to review\"\nmsgstr \" nic nového ke kontrole\"\n\n#: src/install.rs:2070\nmsgid \"can't find package name in packagelist: {}\"\nmsgstr \"nelze najít název balíčku v seznamu balíčků: {}\"\n\n#: src/install.rs:2142\nmsgid \"Signing packages...\"\nmsgstr \"Podepisování balíčků...\"\n\n#: src/install.rs:2172\nmsgid \"{}-{} is up to date -- skipping install\"\nmsgstr \"{}-{} je aktuální -- instalace přeskočena\"\n\n#: src/keys.rs:57\nmsgid \"keys need to be imported:\"\nmsgstr \"klíče k importu:\"\n\n#: src/keys.rs:62\nmsgid \"     {key} wanted by: {base}\"\nmsgstr \"     {key} požadováno: {base}\"\n\n#: src/news.rs:57\nmsgid \"No Date \"\nmsgstr \"Žádný datum \"\n\n#: src/news.rs:60\nmsgid \"No Title\"\nmsgstr \"Žádný název\"\n\n#: src/news.rs:69\nmsgid \"no new news\"\nmsgstr \"žádné nové novinky\"\n\n#: src/pkgbuild.rs:91\nmsgid \"repo {} does not have a URL or Path\"\nmsgstr \"repozitář {} nemá URL nebo Path\"\n\n#: src/pkgbuild.rs:153\nmsgid \"repo {} not downloaded (use -Sy --pkgbuilds to download)\"\nmsgstr \"repozitář {} se nestáhl (použijte -Sy --pkgbuilds ke stažení)\"\n\n#: src/pkgbuild.rs:200\nmsgid \"Generating .SRCINFO for {repo}/{dir}...\"\nmsgstr \"Vytvářím .SRCINFO pro {repo}/{dir}...\"\n\n#: src/pkgbuild.rs:278\nmsgid \"failed to parse srcinfo \\\"{}\\\"\"\nmsgstr \"nepodařilo se načíst srcinfo \\\"{}\\\"\"\n\n#: src/pkgbuild.rs:368\nmsgid \"Downloading PKGBUILD Repos...\"\nmsgstr \"Stahování PKGBUILD repozitáře...\"\n\n#: src/pkgbuild.rs:422\nmsgid \"failed to parse srcinfo generated by makepkg\"\nmsgstr \"nepodařilo se načíst srcinfo, které vytvořilo makepkg\"\n\n#: src/query.rs:151\nmsgid \" [ignored]\"\nmsgstr \" [ignorováno]\"\n\n#: src/repo.rs:253\nmsgid \"failed to get current exe\"\nmsgstr \"nepodařilo se získat current_exe\"\n\n#: src/repo.rs:298\nmsgid \"syncing local databases...\"\nmsgstr \"synchronizování lokální databáze...\"\n\n#: src/repo.rs:304\nmsgid \"  nothing to do\"\nmsgstr \"  není co dělat\"\n\n#: src/repo.rs:335\nmsgid \"there is nothing to do\"\nmsgstr \"není co dělat\"\n\n#: src/repo.rs:341\nmsgid \"Packages\"\nmsgstr \"Balíčky\"\n\n#: src/repo.rs:354\nmsgid \"Proceed with removal?\"\nmsgstr \"Pokračovat v odebrání?\"\n\n#: src/repo.rs:415\nmsgid \" [installed: {}]\"\nmsgstr \" [nainstalováno: {}]\"\n\n#: src/repo.rs:417 src/sync.rs:144\nmsgid \" [installed]\"\nmsgstr \" [nainstalováno]\"\n\n#: src/search.rs:41\nmsgid \"aur search failed\"\nmsgstr \"vyhledávání v AUR selhalo\"\n\n#: src/search.rs:285 src/search.rs:338 src/search.rs:410\n#, fuzzy\nmsgid \"[installed: {}]\"\nmsgstr \" [nainstalováno: {}]\"\n\n#: src/search.rs:287 src/search.rs:340 src/search.rs:412\n#, fuzzy\nmsgid \"[installed]\"\nmsgstr \" [nainstalováno]\"\n\n#: src/search.rs:332\n#, fuzzy\nmsgid \"[out-of-date: {}]\"\nmsgstr \"[Zastaralé: {}]\"\n\n#: src/search.rs:347\n#, fuzzy\nmsgid \"[orphaned]\"\nmsgstr \"[Osamocené]\"\n\n#: src/search.rs:491\nmsgid \"no packages match search\"\nmsgstr \"žádné balíčky neodpovídají vyhledávání\"\n\n#: src/search.rs:529\nmsgid \"Packages to install (eg: 1 2 3, 1-3):\"\nmsgstr \"Balíčky k instalaci (např: 1 2 3, 1-3):\"\n\n#: src/search.rs:531\nmsgid \"Select packages (eg: 1 2 3, 1-3):\"\nmsgstr \"Vyberete balíčky (např: 1 2 3, 1-3):\"\n\n#: src/stats.rs:90\nmsgid \"Total installed packages: {}\"\nmsgstr \"Počet nainstalovaných balíčků: {}\"\n\n#: src/stats.rs:94\nmsgid \"Aur packages: {}\"\nmsgstr \"AUR balíčky: {}\"\n\n#: src/stats.rs:98\nmsgid \"Repo packages: {}\"\nmsgstr \"Balíčky z repozitářů: {}\"\n\n#: src/stats.rs:102\nmsgid \"Explicitly installed packages: {}\"\nmsgstr \"Explicitně nainstalované balíčky: {}\"\n\n#: src/stats.rs:106\nmsgid \"Total Size occupied by packages: {}\"\nmsgstr \"Celková velikost obsazená balíčky: {}\"\n\n#: src/stats.rs:113\nmsgid \"Ten biggest packages:\"\nmsgstr \"Deset největších balíčků:\"\n\n#: src/upgrade.rs:126\nmsgid \"Looking for PKGBUILD upgrades...\"\nmsgstr \"Vyhledávání aktualizací PKGBUILD...\"\n\n#: src/upgrade.rs:134\nmsgid \"Looking for AUR upgrades...\"\nmsgstr \"Vyhledávání aktualizací AUR...\"\n\n#: src/upgrade.rs:165\nmsgid \"Looking for devel upgrades...\"\nmsgstr \"Vyhledávání aktualizací vývojových balíčků...\"\n\n#: src/upgrade.rs:193 src/upgrade.rs:206\nmsgid \"warning:\"\nmsgstr \"varování:\"\n\n#: src/upgrade.rs:195 src/upgrade.rs:208\nmsgid \"{pkg}: ignoring package upgrade ({old} => {new})\"\nmsgstr \"{pkg}: ignorování aktualizace balíčku ({old} => {new})\"\n\n#: src/upgrade.rs:400\nmsgid \"Packages to exclude (eg: 1 2 3, 1-3):\"\nmsgstr \"Balíčky k vyloučení (např.: 1 2 3, 1-3):\"\n\n#: src/util.rs:121\nmsgid \"[Y/n]:\"\nmsgstr \"[A/n]:\"\n\n#: src/util.rs:123\nmsgid \"[y/N]:\"\nmsgstr \"[a/N]:\"\n\n#: src/util.rs:142\nmsgid \"y\"\nmsgstr \"a\"\n\n#: src/util.rs:142\nmsgid \"yes\"\nmsgstr \"ano\"\n\n#: src/util.rs:300\nmsgid \"Enter a number (default=1): \"\nmsgstr \"Zadejte číslo (výchozí=1): \"\n\n#: src/util.rs:317\nmsgid \"invalid number: {}\"\nmsgstr \"neplatné číslo: {}\"\n\n#: src/util.rs:327\nmsgid \"invalid value: {n} is not between 1 and {max}\"\nmsgstr \"neplatná hodnota: {n} není mezi 1 a {max}\"\n\n#: src/resolver.rs:83\nmsgid \"There are {} members in group\"\nmsgstr \"Ve skupině je {} členů\"\n\n#: src/resolver.rs:108\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Enter a selection (default=all): \"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Zadejte výběr (výchozí=all): \"\n\n#: src/lib.rs:206\nmsgid \"can not use chroot builds: devtools is not installed\"\nmsgstr \"nelze použít chroot sestavení: balíček devtools není nainstalován\"\n\n#: src/lib.rs:313\nmsgid \"no operation specified (use -h for help)\"\nmsgstr \"žádná operace nebyla specifikována (použijte -h pro nápovědu)\"\n\n#~ msgid \"[Installed: {}]\"\n#~ msgstr \"[Nainstalované: {}]\"\n\n#~ msgid \"[Installed]\"\n#~ msgstr \"[Nainstalované]\"\n\n#~ msgid \"Aur ({})\"\n#~ msgstr \"Aur ({})\"\n\n#~ msgid \"Pkgbuilds ({})\"\n#~ msgstr \"Pkgbuilds ({})\"\n"
  },
  {
    "path": "po/de.po",
    "content": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE paru'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the paru package.\n# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: paru  1.11.1\\n\"\n\"Report-Msgid-Bugs-To: https://github.com/Morganamilo/paru\\n\"\n\"POT-Creation-Date: 2026-01-08 17:40+0000\\n\"\n\"PO-Revision-Date: 2022-10-23 21:00+0200\\n\"\n\"Last-Translator: Sebin Nyshkim <sebin.nyshkim@icloud.com>\\n\"\n\"Language-Team: \\n\"\n\"Language: de\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Generator: Poedit 3.1.1\\n\"\n\n#: src/clean.rs:36\nmsgid \"Do you want to clean ALL AUR packages from cache?\"\nmsgstr \"ALLE AUR-Pakete aus dem Cache entfernen?\"\n\n#: src/clean.rs:38\nmsgid \"Do you want to clean all other AUR packages from cache?\"\nmsgstr \"Alle anderen AUR-Pakete aus dem Cache entfernen?\"\n\n#: src/clean.rs:41\nmsgid \"Clone Directory: {}\"\nmsgstr \"Clone-Verzeichnis: {}\"\n\n#: src/clean.rs:47\nmsgid \"\"\n\"\\n\"\n\"Diff Directory: {}\"\nmsgstr \"\"\n\"\\n\"\n\"Diff-Verzeichnis: {}\"\n\n#: src/clean.rs:49\nmsgid \"Do you want to remove all saved diffs?\"\nmsgstr \"Alle gespeicherten Diffs entfernen?\"\n\n#: src/clean.rs:65\nmsgid \"can't open diff dir: {}\"\nmsgstr \"Diff-Verzeichnis kann nicht geöffnet werden: {}\"\n\n#: src/clean.rs:76 src/clean.rs:180\nmsgid \"could not remove '{}'\"\nmsgstr \"‚{}‘ konnte nicht entfernt werden\"\n\n#: src/clean.rs:95\nmsgid \"can't open clone dir: {}\"\nmsgstr \"Clone-Verzeichnis konnte nicht geöffnet werden: {}\"\n\n#: src/clean.rs:141\n#, fuzzy\nmsgid \"could not parse .SRCINFO for '{}'\"\nmsgstr \".SRCINFO zu ‚{}‘ konnte nicht gefunden werden\"\n\n#: src/command_line.rs:134\nmsgid \"option {} expects a value\"\nmsgstr \"Option {} erwartet einen Wert\"\n\n#: src/command_line.rs:165 src/command_line.rs:382\nmsgid \"option {} does not allow a value\"\nmsgstr \"Option {} erlaubt keinen Wert\"\n\n#: src/command_line.rs:373\nmsgid \"unknown option --{}\"\nmsgstr \"unbekannte Option --{}\"\n\n#: src/command_line.rs:376\nmsgid \"unknown option -{}\"\nmsgstr \"unbekannte Option -{}\"\n\n#: src/completion.rs:26 src/search.rs:179 src/sync.rs:113\n#, fuzzy\nmsgid \"failed to decode package list\"\nmsgstr \"Cache-Datei ‚{}‘ konnte nicht geöffnet werden\"\n\n#: src/completion.rs:35\nmsgid \"failed to open cache file '{}'\"\nmsgstr \"Cache-Datei ‚{}‘ konnte nicht geöffnet werden\"\n\n#: src/completion.rs:83\nmsgid \"could not update aur cache\"\nmsgstr \"AUR-Cache konnte nicht aktualisiert werden\"\n\n#: src/config.rs:179\nmsgid \"invalid value '{val}' for key '{key}', expected: {exp}\"\nmsgstr \"Wert ‚{val}‘ für Schlüssel ‚{key}‘ ist ungültig, erwartet: {exp}\"\n\n#: src/config.rs:332\n#, fuzzy\nmsgid \"unknown mode {}\"\nmsgstr \"unbekannte Option -{}\"\n\n#: src/config.rs:564\nmsgid \"section can not be called {}\"\nmsgstr \"Abschnitt kann nicht {} genannt werden\"\n\n#: src/config.rs:581\nmsgid \"failed to find cache directory\"\nmsgstr \"Cache-Verzeichnis konnte nicht gefunden werden\"\n\n#: src/config.rs:584\nmsgid \"failed to find config directory\"\nmsgstr \"Konfigurationsverzeichnis konnte nicht gefunden werden\"\n\n#: src/config.rs:588\nmsgid \"failed to find state directory\"\nmsgstr \"State-Verzeichnis konnte nicht gefunden werden\"\n\n#: src/config.rs:635\nmsgid \"config file '{}' does not exist\"\nmsgstr \"Konfigurationsdatei ‚{}‘ existiert nicht\"\n\n#: src/config.rs:684\nmsgid \"only one operation may be used at a time\"\nmsgstr \"es darf nur eine Operation gleichzeitig benutzt werden\"\n\n#: src/config.rs:795\nmsgid \"no local repo named {}\"\nmsgstr \"\"\n\n#: src/config.rs:821\nmsgid \"can not find local repo '{}' in pacman.conf\"\nmsgstr \"Lokales Repositorium ‚{}‘ in pacman.conf nicht gefunden\"\n\n#: src/config.rs:866\nmsgid \"failed to initialize alpm: root={} dbpath={}\"\nmsgstr \"alpm konnte nicht initialisiert werden: root={} dbpath={}\"\n\n#: src/config.rs:941 src/config.rs:1102\nmsgid \"value can not be empty for key '{}'\"\nmsgstr \"Wert für Schlüssel ‚{}‘ darf nicht leer sein\"\n\n#: src/config.rs:957\nmsgid \"key '{}' does not belong to a section\"\nmsgstr \"Schlüssel ‚{}‘ gehört zu keinem Abschnitt\"\n\n#: src/config.rs:971 src/config.rs:988 src/config.rs:990 src/config.rs:1005\nmsgid \"key can not be empty\"\nmsgstr \"Schlüssel darf nicht leer sein\"\n\n#: src/config.rs:981\nmsgid \"error: unknown option '{}' in repo\"\nmsgstr \"Fehler: Unbekannte Option ‚{}‘ in Repositorium\"\n\n#: src/config.rs:991\nmsgid \"key can not contain null bytes\"\nmsgstr \"Schlüssel darf keine Null-Bytes enthalten\"\n\n#: src/config.rs:994\nmsgid \"value can not contain null bytes\"\nmsgstr \"Wert darf keine Null-Bytes enthalten\"\n\n#: src/config.rs:1030\nmsgid \"error: unknown option '{}' in section [bin]\"\nmsgstr \"Fehler: Unbekannte Option ‚{}‘ in Abschnitt [bin]\"\n\n#: src/config.rs:1150\nmsgid \"error: unknown option '{}' in section [options]\"\nmsgstr \"Fehler: Unbekannte Option ‚{}‘ in Abschnitt [options]\"\n\n#: src/config.rs:1155\nmsgid \"option '{}' does not take a value\"\nmsgstr \"Option ‚{}‘ akzeptiert keinen Wert\"\n\n#: src/config.rs:1187 src/resolver.rs:136\nmsgid \"There are {n} providers available for {pkg}:\"\nmsgstr \"Es sind {n} Anbieter für {pkg} verfügbar:\"\n\n#: src/config.rs:1201 src/info.rs:85 src/info.rs:190 src/info.rs:224\n#: src/resolver.rs:95 src/resolver.rs:144\nmsgid \"Repository\"\nmsgstr \"Repositorium\"\n\n#: src/config.rs:1227\nmsgid \"  failed to sync {}\"\nmsgstr \"  {} konnte nicht synchronisiert werden\"\n\n#: src/devel.rs:136 src/download.rs:207\nmsgid \"Querying AUR...\"\nmsgstr \"AUR abfragen…\"\n\n#: src/devel.rs:157 src/devel.rs:181 src/install.rs:203\nmsgid \"failed to parse srcinfo for '{}'\"\nmsgstr \".SRCINFO für ‚{}‘ konnte nicht eingelesen werden\"\n\n#: src/devel.rs:201\nmsgid \"Looking for devel repos...\"\nmsgstr \"Suche nach devel Repos…\"\n\n#: src/devel.rs:210\nmsgid \"failed to save devel info\"\nmsgstr \"devel Informationen konnten nicht gespeichert werden\"\n\n#: src/devel.rs:218\n#, fuzzy\nmsgid \"failed to create state directory: {}\"\nmsgstr \"State-Verzeichnis konnte nicht gefunden werden\"\n\n#: src/devel.rs:233\n#, fuzzy\nmsgid \"failed to create temporary file: {}\"\nmsgstr \"Dateimanager konnte nicht ausgeführt werden: {}\"\n\n#: src/devel.rs:238\n#, fuzzy\nmsgid \"failed to write to temporary file: {}\"\nmsgstr \"Verzeichnis konnte nicht gelesen werden: {}\"\n\n#: src/devel.rs:244\nmsgid \"failed to rename '{temp}' to '{devel_toml}\"\nmsgstr \"\"\n\n#: src/devel.rs:490\nmsgid \"package does not have an update\"\nmsgstr \"keine Updates für Paket verfügbar\"\n\n#: src/devel.rs:536\nmsgid \"failed to lookup: {}\"\nmsgstr \"nicht gefunden: {}\"\n\n#: src/devel.rs:564\n#, fuzzy\nmsgid \"invalid toml: {}\"\nmsgstr \"ungültiges JSON: {}\"\n\n#: src/download.rs:100\nmsgid \"packages not in the AUR: \"\nmsgstr \"Pakete nicht im AUR vorhanden: \"\n\n#: src/download.rs:111\nmsgid \"marked out of date: \"\nmsgstr \"als veraltet markiert: \"\n\n#: src/download.rs:122\nmsgid \"orphans: \"\nmsgstr \"verwaist: \"\n\n#: src/download.rs:260\nmsgid \"downloading: {pkg}\"\nmsgstr \"Herunterladen: {pkg}\"\n\n#: src/download.rs:279 src/download.rs:602 src/info.rs:55 src/info.rs:180\n#: src/query.rs:49\nmsgid \"package '{}' was not found\"\nmsgstr \"Paket ‚{}‘ wurde nicht gefunden\"\n\n#: src/download.rs:291\n#, fuzzy\nmsgid \"duplicate PKGBUILD: {}\"\nmsgstr \"duplizierte Pakete: {}\"\n\n#: src/download.rs:307\nmsgid \"package '{}' exists but has no PKGBUILD -- skipping\"\nmsgstr \"\"\n\n#: src/download.rs:340\nmsgid \"Downloading PKGBUILDs...\"\nmsgstr \"Lade PKGBUILDs herunter…\"\n\n#: src/download.rs:344\nmsgid \" PKGBUILDs up to date\"\nmsgstr \" PKGBUILDs sind aktuell\"\n\n#: src/exec.rs:72\nmsgid \"failed to run:\"\nmsgstr \"Ausführung fehlgeschlagen:\"\n\n#: src/exec.rs:174\nmsgid \"Pacman is currently in use, please wait...\"\nmsgstr \"Pacman wird gerade ausgeführt, bitte warten…\"\n\n#: src/fmt.rs:24 src/info.rs:275 src/search.rs:293 src/search.rs:350\nmsgid \"None\"\nmsgstr \"Keine\"\n\n#: src/fmt.rs:245\nmsgid \"Repo\"\nmsgstr \"Repo\"\n\n#: src/fmt.rs:252\nmsgid \"Repo Make\"\nmsgstr \"Repo Make\"\n\n#: src/fmt.rs:272\nmsgid \"Pkgbuilds Make\"\nmsgstr \"PKGBUILDs Make\"\n\n#: src/fmt.rs:274\nmsgid \"Aur Make\"\nmsgstr \"AUR Make\"\n\n#: src/fmt.rs:319\nmsgid \"Repo ({})\"\nmsgstr \"Repo ({})\"\n\n#: src/fmt.rs:327\nmsgid \"Old Version\"\nmsgstr \"Alte Version\"\n\n#: src/fmt.rs:328\nmsgid \"New Version\"\nmsgstr \"Neue Version\"\n\n#: src/fmt.rs:329\nmsgid \"Make Only\"\nmsgstr \"Nur Make\"\n\n#: src/fmt.rs:330\nmsgid \"Yes\"\nmsgstr \"Ja\"\n\n#: src/fmt.rs:331 src/info.rs:221\nmsgid \"No\"\nmsgstr \"Nein\"\n\n#: src/fmt.rs:419\nmsgid \"insufficient columns available for table display\"\nmsgstr \"zu wenig Spalten für Tabellenanzeige vorhanden\"\n\n#: src/help.rs:4\nmsgid \"Usage:\"\nmsgstr \"Benutzung:\"\n\n#: src/help.rs:5\nmsgid \"    paru\"\nmsgstr \"    paru\"\n\n#: src/help.rs:6\nmsgid \"    paru <operation> [...]\"\nmsgstr \"    paru <Operation> [...]\"\n\n#: src/help.rs:7\nmsgid \"    paru <package(s)>\"\nmsgstr \"    paru <Paket(e)>\"\n\n#: src/help.rs:9\nmsgid \"Pacman operations:\"\nmsgstr \"Pacman Operationen:\"\n\n#: src/help.rs:10\nmsgid \"    paru {-h --help}\"\nmsgstr \"    paru {-h --help}\"\n\n#: src/help.rs:11\nmsgid \"    paru {-V --version}\"\nmsgstr \"    paru {-V --version}\"\n\n#: src/help.rs:12\nmsgid \"    paru {-D --database}    <options> <package(s)>\"\nmsgstr \"    paru {-D --database}    <Optionen> <Paket(e)>\"\n\n#: src/help.rs:13\nmsgid \"    paru {-F --files}       [options] [package(s)]\"\nmsgstr \"    paru {-F --files}       [Optionen] [Paket(e)]\"\n\n#: src/help.rs:14\nmsgid \"    paru {-Q --query}       [options] [package(s)]\"\nmsgstr \"    paru {-Q --query}       [Optionen] [Paket(e)]\"\n\n#: src/help.rs:15\nmsgid \"    paru {-R --remove}      [options] <package(s)>\"\nmsgstr \"    paru {-R --remove}      [Optionen] <Paket(e)>\"\n\n#: src/help.rs:16\nmsgid \"    paru {-S --sync}        [options] [package(s)]\"\nmsgstr \"    paru {-S --sync}        [Optionen] [Paket(e)]\"\n\n#: src/help.rs:17\nmsgid \"    paru {-T --deptest}     [options] [package(s)]\"\nmsgstr \"    paru {-T --deptest}     [Optionen] [Paket(e)]\"\n\n#: src/help.rs:18\nmsgid \"    paru {-U --upgrade}     [options] [file(s)]\"\nmsgstr \"    paru {-U --upgrade}     [Optionen] [Paket(e)]\"\n\n#: src/help.rs:20\nmsgid \"New operations:\"\nmsgstr \"Neue Operationen:\"\n\n#: src/help.rs:21\nmsgid \"    paru {-P --show}        [options]\"\nmsgstr \"    paru {-P --show}        [Optionen]\"\n\n#: src/help.rs:22\nmsgid \"    paru {-G --getpkgbuild} [package(s)]\"\nmsgstr \"    paru {-G --getpkgbuild} [Paket(e)]\"\n\n#: src/help.rs:23\n#, fuzzy\nmsgid \"    paru {-B --build}       [dir(s)]\"\nmsgstr \"    paru {-P --show}        [Optionen]\"\n\n#: src/help.rs:25\nmsgid \"If no arguments are provided 'paru -Syu' will be performed\"\nmsgstr \"Wenn keine Argumente angegeben werden, wird ‚paru -Syu‘ ausgeführt\"\n\n#: src/help.rs:27\nmsgid \"Options without operation:\"\nmsgstr \"Optionen ohne Operation:\"\n\n#: src/help.rs:28\nmsgid \"    -c --clean            Remove unneeded dependencies\"\nmsgstr \"    -c --clean            Unnötige Abhängigkeiten entfernen\"\n\n#: src/help.rs:29\nmsgid \"\"\n\"       --gendb            Generates development package DB used for updating\"\nmsgstr \"\"\n\"       --gendb            Erzeugt Entwicklungspaket-DB für die Aktualisierung\"\n\n#: src/help.rs:31\nmsgid \"New options:\"\nmsgstr \"Neue Optionen:\"\n\n#: src/help.rs:32\nmsgid \"       --repo              Assume targets are from the repositories\"\nmsgstr \"\"\n\"       --repo              Annehmen, dass die Ziele aus den Repositorien \"\n\"stammen\"\n\n#: src/help.rs:33\n#, fuzzy\nmsgid \"\"\n\"       --pkgbuilds         Assume targets are from pkgbuild repositories\"\nmsgstr \"\"\n\"       --repo              Annehmen, dass die Ziele aus den Repositorien \"\n\"stammen\"\n\n#: src/help.rs:34\nmsgid \"    -a --aur               Assume targets are from the AUR\"\nmsgstr \"\"\n\"    -a --aur               Annehmen, dass die Ziele aus dem AUR stammen\"\n\n#: src/help.rs:35\nmsgid \"    --mode      <mode>     Sets where paru looks for targets\"\nmsgstr \"\"\n\n#: src/help.rs:37\nmsgid \"\"\n\"    --interactive          Enable interactive package selection for -S, -R, \"\n\"-Ss and -Qs\"\nmsgstr \"\"\n\n#: src/help.rs:39\nmsgid \"    --aururl    <url>      Set an alternative AUR URL\"\nmsgstr \"    --aururl    <url>      Legt eine alternative AUR-URL fest\"\n\n#: src/help.rs:40\n#, fuzzy\nmsgid \"\"\n\"    --aurrpcur  <url>      Set an alternative URL for the AUR /rpc endpoint\"\nmsgstr \"\"\n\"    --aurrpcurl    <url>      Legt eine alternative URL für den AUR /rpc \"\n\"Endpunkt fest\"\n\n#: src/help.rs:41\nmsgid \"    --clonedir  <dir>      Directory used to download and run PKGBUILDs\"\nmsgstr \"\"\n\"    --clonedir  <Verzeichnis>      Verzeichnis für das Herunterladen und \"\n\"Ausführen von PKGBUILDs\"\n\n#: src/help.rs:43\nmsgid \"    --makepkg   <file>     makepkg command to use\"\nmsgstr \"    --makepkg   <Datei>     Zu verwendender makepkg-Befehl\"\n\n#: src/help.rs:44\nmsgid \"    --mflags    <flags>    Pass arguments to makepkg\"\nmsgstr \"    --mflags    <flags>    Argumente für makepkg\"\n\n#: src/help.rs:45\nmsgid \"    --pacman    <file>     pacman command to use\"\nmsgstr \"    --pacman    <Datei>     Zu verwendender pacman-Befehl\"\n\n#: src/help.rs:46\nmsgid \"    --git       <file>     git command to use\"\nmsgstr \"    --git       <Datei>     Zu verwendender git-Befehl\"\n\n#: src/help.rs:47\nmsgid \"    --gitflags  <flags>    Pass arguments to git\"\nmsgstr \"    --gitflags  <flags>    Argumente für git\"\n\n#: src/help.rs:48\nmsgid \"    --sudo      <file>     sudo command to use\"\nmsgstr \"    --sudo      <Datei>     Zu verwendender sudo-Befehl\"\n\n#: src/help.rs:49\nmsgid \"    --sudoflags <flags>    Pass arguments to sudo\"\nmsgstr \"    --sudoflags <flags>    Argumente für sudo\"\n\n#: src/help.rs:50\n#, fuzzy\nmsgid \"    --pkgctl    <file>     pkgctl command to use\"\nmsgstr \"    --git       <Datei>     Zu verwendender git-Befehl\"\n\n#: src/help.rs:51\nmsgid \"    --bat       <file>     bat command to use\"\nmsgstr \"    --bat       <Datei>     Zu verwendender bat-Befehl\"\n\n#: src/help.rs:52\nmsgid \"    --batflags  <flags>    Pass arguments to bat\"\nmsgstr \"    --batflags  <flags>    Argumente für bat\"\n\n#: src/help.rs:53\nmsgid \"    --gpg       <file>     gpg command to use\"\nmsgstr \"    --gpg       <Datei>     Zu verwendender gpg-Befehl\"\n\n#: src/help.rs:54\nmsgid \"    --gpgflags  <flags>    Pass arguments to gpg\"\nmsgstr \"    --gpgflags  <flags>    Argumente für gpg\"\n\n#: src/help.rs:55\nmsgid \"    --fm        <file>     File manager to use for PKGBUILD review\"\nmsgstr \"\"\n\"    --fm        <Datei>     Dateimanager für die Überprüfung von PKGBUILDs\"\n\n#: src/help.rs:56\nmsgid \"    --fmflags   <flags>    Pass arguments to file manager\"\nmsgstr \"    --fmflags   <flags>    Argumente für Dateimanager\"\n\n#: src/help.rs:58\nmsgid \"    --completioninterval   <n> Time in days to refresh completion cache\"\nmsgstr \"\"\n\"    --completioninterval   <n> Zeit in Tagen bis zur Aktualisierung des \"\n\"Vervollständigungs-Caches\"\n\n#: src/help.rs:59\nmsgid \"\"\n\"    --sortby    <field>    Sort AUR results by a specific field during search\"\nmsgstr \"\"\n\"    --sortby    <Feld>    AUR-Ergebnisse bei Suche nach einem bestimmten \"\n\"Feld sortieren\"\n\n#: src/help.rs:60\nmsgid \"    --searchby  <field>    Search for packages using a specified field\"\nmsgstr \"\"\n\"    --searchby  <Feld>    Suche nach Paketen anhand des angegebenen Feldes\"\n\n#: src/help.rs:61\nmsgid \"\"\n\"    --limit     <limit>    Limits the number of items returned in a search\"\nmsgstr \"\"\n\"    --limit     <Limit>    Begrenzt die Anzahl der zurückgegebenen \"\n\"Ergebnisse bei einer Suche\"\n\n#: src/help.rs:62\nmsgid \"    -x --regex             Enable regex for aur search\"\nmsgstr \"    -x --regex             Reguläre Ausdrücke für AUR-Suche aktivieren\"\n\n#: src/help.rs:64\nmsgid \"    --skipreview           Skip the review process\"\nmsgstr \"    --skipreview           Den Überprüfungsprozess überspringen\"\n\n#: src/help.rs:65\nmsgid \"    --review               Don't skip the review process\"\nmsgstr \"    --review               Den Überprüfungsprozess nicht überspringen\"\n\n#: src/help.rs:66\nmsgid \"    --[no]upgrademenu      Show interactive menu to skip upgrades\"\nmsgstr \"\"\n\"    --[no]upgrademenu      Interaktives Menü zum Überspringen von Upgrades \"\n\"anzeigen\"\n\n#: src/help.rs:67\nmsgid \"    --[no]removemake       Remove makedepends after install\"\nmsgstr \"    --[no]removemake       Makedepends nach der Installation entfernen\"\n\n#: src/help.rs:68\nmsgid \"    --[no]cleanafter       Remove package sources after install\"\nmsgstr \"\"\n\"    --[no]cleanafter       Paketquellen nach der Installation entfernen\"\n\n#: src/help.rs:69\nmsgid \"    --[no]rebuild          Always build target packages\"\nmsgstr \"    --[no]rebuild          Zielpakete immer bauen\"\n\n#: src/help.rs:70\nmsgid \"    --[no]redownload       Always download PKGBUILDs of targets\"\nmsgstr \"    --[no]redownload       PKGBUILDs von Zielen immer herunterladen\"\n\n#: src/help.rs:72\nmsgid \"    --[no]pgpfetch         Prompt to import PGP keys from PKGBUILDs\"\nmsgstr \"\"\n\"    --[no]pgpfetch         Aufforderung zum Importieren von PGP-Schlüsseln \"\n\"aus PKGBUILDs\"\n\n#: src/help.rs:73\nmsgid \"\"\n\"    --[no]useask           Automatically resolve conflicts using pacman's \"\n\"ask flag\"\nmsgstr \"\"\n\"    --[no]useask           Konflikte automatisch mit dem ask-Flag von pacman \"\n\"auflösen\"\n\n#: src/help.rs:74\nmsgid \"\"\n\"    --[no]savechanges      Commit changes to pkgbuilds made during review\"\nmsgstr \"\"\n\"    --[no]savechanges      Änderungen an PKGBUILDs übernehmen, die während \"\n\"der Überprüfung vorgenommen wurden\"\n\n#: src/help.rs:75\nmsgid \"    --[no]newsonupgrade    Print new news during sysupgrade\"\nmsgstr \"\"\n\"    --[no]newsonupgrade    Neue Nachrichten während System-Upgrades anzeigen\"\n\n#: src/help.rs:76\nmsgid \"\"\n\"    --[no]combinedupgrade  Refresh then perform the repo and AUR upgrade \"\n\"together\"\nmsgstr \"\"\n\"    --[no]combinedupgrade  Auf Aktualisierungen prüfen und Repo- und AUR-\"\n\"Upgrade zusammen durchführen\"\n\n#: src/help.rs:77\nmsgid \"\"\n\"    --[no]batchinstall     Build multiple AUR packages then install them \"\n\"together\"\nmsgstr \"\"\n\"    --[no]batchinstall     Mehrere AUR-Pakete erstellen und anschließend \"\n\"gemeinsam installieren\"\n\n#: src/help.rs:78\nmsgid \"\"\n\"    --[no]provides         Look for matching providers when searching for \"\n\"packages\"\nmsgstr \"\"\n\"    --[no]provides         Nach passenden Anbietern suchen, wenn nach \"\n\"Paketen gesucht wird\"\n\n#: src/help.rs:79\nmsgid \"    --[no]devel            Check development packages during sysupgrade\"\nmsgstr \"\"\n\"    --[no]devel            Entwicklungspakete bei System-Upgrades \"\n\"miteinbeziehen\"\n\n#: src/help.rs:80\nmsgid \"\"\n\"    --[no]installdebug     Also install debug packages when a package \"\n\"provides them\"\nmsgstr \"\"\n\"    --[no]installdebug     Debug-Pakete ebenfalls installieren, wenn ein \"\n\"Paket sie bereitstellt\"\n\n#: src/help.rs:81\nmsgid \"\"\n\"    --[no]sudoloop         Loop sudo calls in the background to avoid timeout\"\nmsgstr \"\"\n\"    --[no]sudoloop         sudo-Aufrufe im Hintergrund wiederholen, um \"\n\"Zeitüberschreitung zu vermeiden\"\n\n#: src/help.rs:82\nmsgid \"    --[no]chroot           Build packages in a chroot\"\nmsgstr \"    --[no]chroot           Pakete in chroot-Umgebung bauen\"\n\n#: src/help.rs:83\nmsgid \"\"\n\"    --[no]failfast         Exit as soon as building an AUR package fails\"\nmsgstr \"\"\n\"    --[no]failfast         Beenden, sobald die Erstellung eines AUR-Pakets \"\n\"fehlschlägt\"\n\n#: src/help.rs:84\nmsgid \"\"\n\"    --[no]keepsrc          Keep src/ and pkg/ dirs after building packages\"\nmsgstr \"\"\n\"    --[no]keepsrc          src/ und pkg/ Verzeichnisse nach Erstellung \"\n\"behalten\"\n\n#: src/help.rs:85\nmsgid \"    --[no]sign             Sign packages with gpg\"\nmsgstr \"    --[no]sign             Pakete mit gpg signieren\"\n\n#: src/help.rs:86\nmsgid \"    --[no]signdb           Sign databases with gpg\"\nmsgstr \"    --[no]signdb           Datenbanken mit gpg signieren\"\n\n#: src/help.rs:87\n#, fuzzy\nmsgid \"    --[no]localrepo        Build packages into a local repo\"\nmsgstr \"\"\n\"    --localrepo            Pakete in ein lokales Repositorium erstellen\"\n\n#: src/help.rs:88\nmsgid \"\"\n\"    --nocheck              Don't resolve checkdepends or run the check \"\n\"function\"\nmsgstr \"\"\n\"    --nocheck              checkdepends nicht auflösen oder die check-\"\n\"Funktion nicht ausführen\"\n\n#: src/help.rs:90\nmsgid \"\"\n\"    --rootchrootpkgs       Packages to install in the root chroot (default: \"\n\"base-devel)\"\nmsgstr \"\"\n\n#: src/help.rs:92\nmsgid \"\"\n\"    --develsuffixes        Suffixes used to decide if a package is a devel \"\n\"package\"\nmsgstr \"    --develsuffixes        Suffixe, die ein devel-Paket kennzeichnen\"\n\n#: src/help.rs:93\n#, fuzzy\nmsgid \"    --ignoredevel          Ignore devel upgrades for specified packages\"\nmsgstr \"\"\n\"    --[no]provides         Nach passenden Anbietern suchen, wenn nach \"\n\"Paketen gesucht wird\"\n\n#: src/help.rs:94\nmsgid \"\"\n\"    --bottomup             Shows AUR's packages first and then repository's\"\nmsgstr \"\"\n\"    --bottomup             Zeigt zuerst AUR-Pakete und dann die des \"\n\"Repositoriums\"\n\n#: src/help.rs:95\nmsgid \"\"\n\"    --topdown              Shows repository's packages first and then AUR's\"\nmsgstr \"\"\n\"    --topdown              Zeigt zuerst die Pakete des Repositoriums und \"\n\"dann die des AURs\"\n\n#: src/help.rs:97\nmsgid \"show specific options:\"\nmsgstr \"Optionen für show:\"\n\n#: src/help.rs:98\nmsgid \"    -c --complete         Used for completions\"\nmsgstr \"    -c --complete         Verwendet für Vervollständigungen\"\n\n#: src/help.rs:99\nmsgid \"    -s --stats            Display system package statistics\"\nmsgstr \"    -s --stats            Statistiken für System-Pakete anzeigen\"\n\n#: src/help.rs:100\nmsgid \"    -w --news             Print arch news\"\nmsgstr \"    -w --news             Arch-Neuigkeiten anzeigen\"\n\n#: src/help.rs:102\nmsgid \"getpkgbuild specific options:\"\nmsgstr \"Optionen für getpkgbuild:\"\n\n#: src/help.rs:103\nmsgid \"    -p --print            Print pkgbuild to stdout\"\nmsgstr \"    -p --print            PKGBUILD nach stdout ausgeben\"\n\n#: src/help.rs:104\nmsgid \"    -c --comments         Print AUR comments for pkgbuild\"\nmsgstr \"    -c --comments         AUR Kommentare für PKGBUILD ausgeben\"\n\n#: src/help.rs:105\nmsgid \"    -s --ssh              Clone package using SSH\"\nmsgstr \"    -s --ssh              Paket mit SSH klonen\"\n\n#: src/help.rs:107\n#, fuzzy\nmsgid \"Build specific options:\"\nmsgstr \"Optionen für getpkgbuild:\"\n\n#: src/help.rs:108\nmsgid \"    -i --install          Install package as well as building\"\nmsgstr \"    -i --install          Paket installieren als auch erstellen\"\n\n#: src/info.rs:86 src/info.rs:191 src/info.rs:225\nmsgid \"Name\"\nmsgstr \"Name\"\n\n#: src/info.rs:87 src/info.rs:192 src/info.rs:226\nmsgid \"Version\"\nmsgstr \"Version\"\n\n#: src/info.rs:88 src/info.rs:193 src/info.rs:227\nmsgid \"Description\"\nmsgstr \"Beschreibung\"\n\n#: src/info.rs:89 src/info.rs:195 src/info.rs:235\nmsgid \"Groups\"\nmsgstr \"Gruppen\"\n\n#: src/info.rs:90 src/info.rs:196 src/info.rs:236\nmsgid \"Licenses\"\nmsgstr \"Lizenzen\"\n\n#: src/info.rs:91 src/info.rs:197 src/info.rs:237\nmsgid \"Provides\"\nmsgstr \"Stellt bereit\"\n\n#: src/info.rs:92 src/info.rs:198 src/info.rs:238\nmsgid \"Depends On\"\nmsgstr \"Hängt ab von\"\n\n#: src/info.rs:93 src/info.rs:199 src/info.rs:239\nmsgid \"Make Deps\"\nmsgstr \"Make-Abhängigkeiten\"\n\n#: src/info.rs:94 src/info.rs:200 src/info.rs:240\nmsgid \"Check Deps\"\nmsgstr \"Check-Abhängigkeiten\"\n\n#: src/info.rs:95 src/info.rs:201 src/info.rs:241\nmsgid \"Optional Deps\"\nmsgstr \"Optionale Abhängigkeiten\"\n\n#: src/info.rs:96 src/info.rs:202 src/info.rs:242\nmsgid \"Conflicts With\"\nmsgstr \"In Konflikt mit\"\n\n#: src/info.rs:97 src/info.rs:243\nmsgid \"Maintainer\"\nmsgstr \"Maintainer\"\n\n#: src/info.rs:98 src/info.rs:244\nmsgid \"Votes\"\nmsgstr \"Stimmen\"\n\n#: src/info.rs:99 src/info.rs:245\nmsgid \"Popularity\"\nmsgstr \"Beliebtheit\"\n\n#: src/info.rs:100 src/info.rs:246\nmsgid \"First Submitted\"\nmsgstr \"Zuerst eingereicht am\"\n\n#: src/info.rs:101 src/info.rs:247\nmsgid \"Last Modified\"\nmsgstr \"Letzte Aktualisierung\"\n\n#: src/info.rs:102 src/info.rs:249\nmsgid \"Out Of Date\"\nmsgstr \"Veraltet\"\n\n#: src/info.rs:103 src/info.rs:254\nmsgid \"ID\"\nmsgstr \"ID\"\n\n#: src/info.rs:104 src/info.rs:255\nmsgid \"Package Base ID\"\nmsgstr \"Paket Base ID\"\n\n#: src/info.rs:105 src/info.rs:256\nmsgid \"Keywords\"\nmsgstr \"Schlüsselwörter\"\n\n#: src/info.rs:106 src/info.rs:258\nmsgid \"Snapshot URL\"\nmsgstr \"Snapshot URL\"\n\n#: src/info.rs:107 src/info.rs:203\nmsgid \"Path\"\nmsgstr \"Pfad\"\n\n#: src/install.rs:166 src/query.rs:48 src/lib.rs:101\nmsgid \"error:\"\nmsgstr \"Fehler:\"\n\n#: src/install.rs:167\nmsgid \"could not get news\"\nmsgstr \"Neuigkeiten konnten nicht abgerufen werden\"\n\n#: src/install.rs:172 src/install.rs:1127\nmsgid \"Proceed with installation?\"\nmsgstr \"Mit der Installation fortfahren?\"\n\n#: src/install.rs:207\nmsgid \"could not find .SRCINFO for '{}'\"\nmsgstr \".SRCINFO zu ‚{}‘ konnte nicht gefunden werden\"\n\n#: src/install.rs:353\nmsgid \"could not find package '{pkg}' in package list for '{base}'\"\nmsgstr \"Paket ‚{pkg}‘ in Paketliste für ‚{base}‘ nicht gefunden\"\n\n#: src/install.rs:451\nmsgid \"packages failed to build: {}\"\nmsgstr \"Pakete konnten nicht erstellt werden: {}\"\n\n#: src/install.rs:523\nmsgid \"adding {} to the install list\"\nmsgstr \"{} zur Installationsliste hinzugefügt\"\n\n#: src/install.rs:553 src/install.rs:568\nmsgid \"failed to download sources for '{}'\"\nmsgstr \"Quellen für ‚{}‘ konnten nicht heruntergeladen werden\"\n\n#: src/install.rs:577 src/install.rs:603 src/install.rs:611\nmsgid \"failed to build '{}'\"\nmsgstr \"‚{}‘ konnte nicht erstellt werden\"\n\n#: src/install.rs:580 src/install.rs:784\nmsgid \"{}: parsing pkg list...\"\nmsgstr \"{}: Lese pkg Liste…\"\n\n#: src/install.rs:584\nmsgid \"package list does not match srcinfo\"\nmsgstr \"Paketliste stimmt nicht mit .SRCINFO überein\"\n\n#: src/install.rs:618\nmsgid \"{}-{} is up to date -- skipping build\"\nmsgstr \"{}-{} ist aktuell -- überspringe Erstellen\"\n\n#: src/install.rs:775\nmsgid \"can't build {base}, deps not satisfied: {deps}\"\nmsgstr \"kann {base} nicht erstellen, Abhängigkeiten nicht erfüllt: {deps}\"\n\n#: src/install.rs:846\nmsgid \"fetching devel info...\"\nmsgstr \"devel Informationen werden empfangen...\"\n\n#: src/install.rs:911 src/lib.rs:240\nmsgid \"no targets specified (use -h for help)\"\nmsgstr \"keine Ziele spezifiziert (benutze -h für Hilfe)\"\n\n#: src/install.rs:1008 src/install.rs:1097 src/search.rs:450 src/search.rs:476\n#: src/lib.rs:304\nmsgid \" there is nothing to do\"\nmsgstr \" es gibt nichts zu tun\"\n\n#: src/install.rs:1016\nmsgid \"Resolving dependencies...\"\nmsgstr \"Löse Abhängigkeiten auf…\"\n\n#: src/install.rs:1077\nmsgid \"can't install AUR package as root\"\nmsgstr \"AUR-Pakete können nicht als root installiert werden\"\n\n#: src/install.rs:1080\nmsgid \"--downloadonly can't be used for AUR packages\"\nmsgstr \"\"\n\n#: src/install.rs:1113\nmsgid \"Remove make dependencies after install?\"\nmsgstr \"Entferne make Abhängigkeiten nach der Installation?\"\n\n#: src/install.rs:1124\nmsgid \"Proceed to review?\"\nmsgstr \"Mit Überprüfung fortfahren?\"\n\n#: src/install.rs:1177\nmsgid \"no architecture\"\nmsgstr \"keine Architektur\"\n\n#: src/install.rs:1191\nmsgid \"The following packages are not compatible with your architecture:\"\nmsgstr \"Die folgenden Pakete sind nicht mit Ihrer Architektur kompatibel:\"\n\n#: src/install.rs:1205\nmsgid \"Would you like to try build them anyway?\"\nmsgstr \"Möchten Sie trotzdem versuchen, sie zu erstellen?\"\n\n#: src/install.rs:1349\nmsgid \"duplicate packages: {}\"\nmsgstr \"duplizierte Pakete: {}\"\n\n#: src/install.rs:1353\nmsgid \"could not find all required packages:\"\nmsgstr \"nicht alle benötigten Pakete gefunden:\"\n\n#: src/install.rs:1365\nmsgid \"\"\n\"\\n\"\n\"    {missing} (wanted by: {stack})\"\nmsgstr \"\"\n\"\\n\"\n\"    {missing} (Benötigt von: {stack})\"\n\n#: src/install.rs:1379 src/install.rs:2122\nmsgid \"{}-{} is up to date -- skipping\"\nmsgstr \"{}-{} ist aktuell -- überspringe\"\n\n#: src/install.rs:1387\nmsgid \"Calculating conflicts...\"\nmsgstr \"Konflikte berechnen…\"\n\n#: src/install.rs:1410\nmsgid \"Calculating inner conflicts...\"\nmsgstr \"Interne Konflikte berechnen…\"\n\n#: src/install.rs:1422\nmsgid \"Inner conflicts found:\"\nmsgstr \"Interne Konflikte gefunden:\"\n\n#: src/install.rs:1444\nmsgid \"Conflicts found:\"\nmsgstr \"Konflikte gefunden:\"\n\n#: src/install.rs:1467\nmsgid \"Conflicting packages will have to be confirmed manually\"\nmsgstr \"In Konflikt stehende Pakete müssen manuell bestätigt werden\"\n\n#: src/install.rs:1471\nmsgid \"can not install conflicting packages with --noconfirm\"\nmsgstr \"\"\n\"In Konflikt stehende Pakete können nicht mit --noconfirm installiert werden\"\n\n#: src/install.rs:1599\nmsgid \"failed to execute file manager: {}\"\nmsgstr \"Dateimanager konnte nicht ausgeführt werden: {}\"\n\n#: src/install.rs:1602\n#, fuzzy\nmsgid \"file manager '{}' did not execute successfully\"\nmsgstr \"Dateimanager wurde nicht erfolgreich beendet\"\n\n#: src/install.rs:1620\nmsgid \"failed to read dir: {}\"\nmsgstr \"Verzeichnis konnte nicht gelesen werden: {}\"\n\n#: src/install.rs:1677\nmsgid \"failed to open: {}\"\nmsgstr \"konnte nicht geöffnet werden: {}\"\n\n#: src/install.rs:1697\nmsgid \"binary file: {}\"\nmsgstr \"Binärdatei: {}\"\n\n#: src/install.rs:1719 src/install.rs:1790\nmsgid \"Accept changes?\"\nmsgstr \"Änderungen akzeptieren?\"\n\n#: src/install.rs:1759\nmsgid \"Paging with less. Press 'q' to quit or 'h' for help.\"\nmsgstr \"\"\n\n#: src/install.rs:1794\nmsgid \" nothing new to review\"\nmsgstr \" nichts Neues zu überprüfen\"\n\n#: src/install.rs:2070\nmsgid \"can't find package name in packagelist: {}\"\nmsgstr \"Paketname Paketliste nicht gefunden: {}\"\n\n#: src/install.rs:2142\nmsgid \"Signing packages...\"\nmsgstr \"Signiere Pakete…\"\n\n#: src/install.rs:2172\nmsgid \"{}-{} is up to date -- skipping install\"\nmsgstr \"{}-{} ist aktuell -- überspringe Installation\"\n\n#: src/keys.rs:57\nmsgid \"keys need to be imported:\"\nmsgstr \"Schlüssel müssen importiert werden:\"\n\n#: src/keys.rs:62\nmsgid \"     {key} wanted by: {base}\"\nmsgstr \"     {key} wird benötigt von: {base}\"\n\n#: src/news.rs:57\nmsgid \"No Date \"\nmsgstr \"Kein Datum \"\n\n#: src/news.rs:60\nmsgid \"No Title\"\nmsgstr \"Kein Titel\"\n\n#: src/news.rs:69\nmsgid \"no new news\"\nmsgstr \"keine Neuigkeiten\"\n\n#: src/pkgbuild.rs:91\nmsgid \"repo {} does not have a URL or Path\"\nmsgstr \"Repo {} hat keine URL oder Pfad\"\n\n#: src/pkgbuild.rs:153\n#, fuzzy\nmsgid \"repo {} not downloaded (use -Sy --pkgbuilds to download)\"\nmsgstr \"Repo {} nicht heruntergeladen (benutze -Sya zum Herunterladen)\"\n\n#: src/pkgbuild.rs:200\nmsgid \"Generating .SRCINFO for {repo}/{dir}...\"\nmsgstr \"Generiere .SRCINFO für {repo}/{dir}...\"\n\n#: src/pkgbuild.rs:278\nmsgid \"failed to parse srcinfo \\\"{}\\\"\"\nmsgstr \".SRCINFO ‚{}‘ konnte nicht eingelesen werden\"\n\n#: src/pkgbuild.rs:368\nmsgid \"Downloading PKGBUILD Repos...\"\nmsgstr \"Lade PKGBUILD Repos herunter...\"\n\n#: src/pkgbuild.rs:422\nmsgid \"failed to parse srcinfo generated by makepkg\"\nmsgstr \"von makepkg erzeugte .SRCINFO konnte nicht eingelesen werden\"\n\n#: src/query.rs:151\nmsgid \" [ignored]\"\nmsgstr \" [ignoriert]\"\n\n#: src/repo.rs:253\nmsgid \"failed to get current exe\"\nmsgstr \"aktuelle exe nicht gefunden\"\n\n#: src/repo.rs:298\nmsgid \"syncing local databases...\"\nmsgstr \"lokale Datenbanken synchronisieren...\"\n\n#: src/repo.rs:304\nmsgid \"  nothing to do\"\nmsgstr \"  nichts zu tun\"\n\n#: src/repo.rs:335\nmsgid \"there is nothing to do\"\nmsgstr \"es gibt nichts zu tun\"\n\n#: src/repo.rs:341\nmsgid \"Packages\"\nmsgstr \"Pakete\"\n\n#: src/repo.rs:354\nmsgid \"Proceed with removal?\"\nmsgstr \"Mit Entfernen fortfahren?\"\n\n#: src/repo.rs:415\nmsgid \" [installed: {}]\"\nmsgstr \" [installiert: {}]\"\n\n#: src/repo.rs:417 src/sync.rs:144\nmsgid \" [installed]\"\nmsgstr \" [installiert]\"\n\n#: src/search.rs:41\nmsgid \"aur search failed\"\nmsgstr \"AUR-Suche fehlgeschlagen\"\n\n#: src/search.rs:285 src/search.rs:338 src/search.rs:410\n#, fuzzy\nmsgid \"[installed: {}]\"\nmsgstr \" [installiert: {}]\"\n\n#: src/search.rs:287 src/search.rs:340 src/search.rs:412\n#, fuzzy\nmsgid \"[installed]\"\nmsgstr \" [installiert]\"\n\n#: src/search.rs:332\n#, fuzzy\nmsgid \"[out-of-date: {}]\"\nmsgstr \"[Veraltet: {}]\"\n\n#: src/search.rs:347\n#, fuzzy\nmsgid \"[orphaned]\"\nmsgstr \"[Verwaist]\"\n\n#: src/search.rs:491\nmsgid \"no packages match search\"\nmsgstr \"keine Pakete stimmen mit der Suche überein\"\n\n#: src/search.rs:529\nmsgid \"Packages to install (eg: 1 2 3, 1-3):\"\nmsgstr \"Zu installierende Pakete (z. B: 1 2 3, 1-3):\"\n\n#: src/search.rs:531\n#, fuzzy\nmsgid \"Select packages (eg: 1 2 3, 1-3):\"\nmsgstr \"Zu installierende Pakete (z. B: 1 2 3, 1-3):\"\n\n#: src/stats.rs:90\nmsgid \"Total installed packages: {}\"\nmsgstr \"Insgesamt installierte Pakete: {}\"\n\n#: src/stats.rs:94\nmsgid \"Aur packages: {}\"\nmsgstr \"AUR-Pakete: {}\"\n\n#: src/stats.rs:98\nmsgid \"Repo packages: {}\"\nmsgstr \"Repo-Pakete: {}\"\n\n#: src/stats.rs:102\nmsgid \"Explicitly installed packages: {}\"\nmsgstr \"Explizit installierte Pakete: {}\"\n\n#: src/stats.rs:106\nmsgid \"Total Size occupied by packages: {}\"\nmsgstr \"Gesamtgröße installierter Pakete: {}\"\n\n#: src/stats.rs:113\nmsgid \"Ten biggest packages:\"\nmsgstr \"Zehn größte Pakete:\"\n\n#: src/upgrade.rs:126\n#, fuzzy\nmsgid \"Looking for PKGBUILD upgrades...\"\nmsgstr \"Nach AUR-Upgrades suchen...\"\n\n#: src/upgrade.rs:134\nmsgid \"Looking for AUR upgrades...\"\nmsgstr \"Nach AUR-Upgrades suchen...\"\n\n#: src/upgrade.rs:165\nmsgid \"Looking for devel upgrades...\"\nmsgstr \"Nach devel-Upgrades suchen...\"\n\n#: src/upgrade.rs:193 src/upgrade.rs:206\nmsgid \"warning:\"\nmsgstr \"Warnung:\"\n\n#: src/upgrade.rs:195 src/upgrade.rs:208\nmsgid \"{pkg}: ignoring package upgrade ({old} => {new})\"\nmsgstr \"{pkg}: Ignoriere Paket-Upgrade ({old} => {new})\"\n\n#: src/upgrade.rs:400\nmsgid \"Packages to exclude (eg: 1 2 3, 1-3):\"\nmsgstr \"Auszuschließende Pakete (z. B: 1 2 3, 1-3):\"\n\n#: src/util.rs:121\nmsgid \"[Y/n]:\"\nmsgstr \"[J/n]:\"\n\n#: src/util.rs:123\nmsgid \"[y/N]:\"\nmsgstr \"[j/N]:\"\n\n#: src/util.rs:142\nmsgid \"y\"\nmsgstr \"j\"\n\n#: src/util.rs:142\nmsgid \"yes\"\nmsgstr \"ja\"\n\n#: src/util.rs:300\nmsgid \"Enter a number (default=1): \"\nmsgstr \"Geben Sie eine Zahl ein (Vorauswahl=1): \"\n\n#: src/util.rs:317\nmsgid \"invalid number: {}\"\nmsgstr \"ungültige Zahl: {}\"\n\n#: src/util.rs:327\nmsgid \"invalid value: {n} is not between 1 and {max}\"\nmsgstr \"ungültiger Wert: {n} liegt nicht zwischen 1 und {max}\"\n\n#: src/resolver.rs:83\nmsgid \"There are {} members in group\"\nmsgstr \"Die Gruppe enthält {} Einträge\"\n\n#: src/resolver.rs:108\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Enter a selection (default=all): \"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Geben Sie eine Auswahl an (Vorauswahl=alle): \"\n\n#: src/lib.rs:206\nmsgid \"can not use chroot builds: devtools is not installed\"\nmsgstr \"\"\n\"chroot-Erstellung nicht verfügbar: Entwicklungstools sind nicht installiert\"\n\n#: src/lib.rs:313\nmsgid \"no operation specified (use -h for help)\"\nmsgstr \"keine Operation angegeben (benutze -h für Hilfe)\"\n\n#~ msgid \"[Installed: {}]\"\n#~ msgstr \"[Installiert: {}]\"\n\n#~ msgid \"[Installed]\"\n#~ msgstr \"[Installiert]\"\n\n#~ msgid \"Aur ({})\"\n#~ msgstr \"AUR ({})\"\n\n#~ msgid \"Pkgbuilds ({})\"\n#~ msgstr \"PKGBUILDs ({})\"\n\n#~ msgid \"could not get current directory\"\n#~ msgstr \"aktuelles Verzeichnis konnte nicht ermittelt werden\"\n\n#~ msgid \"can not get repo packages: asp is not installed\"\n#~ msgstr \"\"\n#~ \"Repo-Pakete können nicht abgerufen werden: asp ist nicht installiert\"\n\n#~ msgid \"Missing ABS packages \"\n#~ msgstr \"Fehlende ABS-Pakete \"\n\n#~ msgid \"does not contain PKGBUILD: skipping\"\n#~ msgstr \"enthält kein PKGBUILD: Überspringe\"\n\n#~ msgid \"{} is not installed: can not get repo packages\"\n#~ msgstr \"{} ist nicht installiert: Repo-Pakete können nicht abgerufen werden\"\n\n#~ msgid \"asp returned {}\"\n#~ msgstr \"asp gab {} zurück\"\n\n#~ msgid \"    --asp       <file>     asp command to use\"\n#~ msgstr \"    --asp       <Datei>     Zu verwendender asp-Befehl\"\n\n#, fuzzy\n#~ msgid \"Generating .SRCINFO for {dir}...\"\n#~ msgstr \"Generiere .SRCINFO für {repo}/{dir}...\"\n\n#~ msgid \"pkgbase {base} already exists in repo {repo} -- skipping)\"\n#~ msgstr \"pkgbase {base} existiert bereits in Repo {repo} -- überspringe)\"\n\n#~ msgid \"upgrade specific options:\"\n#~ msgstr \"Optionen für upgrade:\"\n\n#~ msgid \"Looking for SRCINFO upgrades...\"\n#~ msgstr \"Nach SRCINFO-Upgrades suchen...\"\n"
  },
  {
    "path": "po/es.po",
    "content": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE paru'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the paru package.\n# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: paru VERSION\\n\"\n\"Report-Msgid-Bugs-To: https://github.com/Morganamilo/paru\\n\"\n\"POT-Creation-Date: 2026-01-08 17:40+0000\\n\"\n\"PO-Revision-Date: 2023-12-23 11:09+0100\\n\"\n\"Last-Translator: \\n\"\n\"Language-Team: \\n\"\n\"Language: es\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Generator: Poedit 3.4\\n\"\n\n#: src/clean.rs:36\nmsgid \"Do you want to clean ALL AUR packages from cache?\"\nmsgstr \"¿Quiere eliminar TODOS los paquetes del AUR de la caché?\"\n\n#: src/clean.rs:38\nmsgid \"Do you want to clean all other AUR packages from cache?\"\nmsgstr \"¿Quiere eliminar todos los demás paquetes del AUR de la caché?\"\n\n#: src/clean.rs:41\nmsgid \"Clone Directory: {}\"\nmsgstr \"Clonar Directorio: {}\"\n\n#: src/clean.rs:47\nmsgid \"\"\n\"\\n\"\n\"Diff Directory: {}\"\nmsgstr \"\"\n\"\\n\"\n\"Directorio de Diffs: {}\"\n\n#: src/clean.rs:49\nmsgid \"Do you want to remove all saved diffs?\"\nmsgstr \"¿Quiere eliminar todos los diffs guardados?\"\n\n#: src/clean.rs:65\nmsgid \"can't open diff dir: {}\"\nmsgstr \"no se pudo abrir el directorio de diff: {}\"\n\n#: src/clean.rs:76 src/clean.rs:180\nmsgid \"could not remove '{}'\"\nmsgstr \"no se pudo eliminar '{}'\"\n\n#: src/clean.rs:95\nmsgid \"can't open clone dir: {}\"\nmsgstr \"no se pudo abrir el directorio clonado: {}\"\n\n#: src/clean.rs:141\nmsgid \"could not parse .SRCINFO for '{}'\"\nmsgstr \"no se pudo procesar .SRINFO para '{}'\"\n\n#: src/command_line.rs:134\nmsgid \"option {} expects a value\"\nmsgstr \"la opción {} requiere un valor\"\n\n#: src/command_line.rs:165 src/command_line.rs:382\nmsgid \"option {} does not allow a value\"\nmsgstr \"la opción {} no admite un valor\"\n\n#: src/command_line.rs:373\nmsgid \"unknown option --{}\"\nmsgstr \"opción desconocida --{}\"\n\n#: src/command_line.rs:376\nmsgid \"unknown option -{}\"\nmsgstr \"opción desconocida -{}\"\n\n#: src/completion.rs:26 src/search.rs:179 src/sync.rs:113\n#, fuzzy\nmsgid \"failed to decode package list\"\nmsgstr \"no se pudieron descargar fuentes\"\n\n#: src/completion.rs:35\nmsgid \"failed to open cache file '{}'\"\nmsgstr \"no se pudo abrir el fichero '{}' desde la caché\"\n\n#: src/completion.rs:83\nmsgid \"could not update aur cache\"\nmsgstr \"no se pudo actualizar la caché del aur\"\n\n#: src/config.rs:179\nmsgid \"invalid value '{val}' for key '{key}', expected: {exp}\"\nmsgstr \"valor inválido '{val}' para clave '{key}', se esperaba: {exp}\"\n\n#: src/config.rs:332\nmsgid \"unknown mode {}\"\nmsgstr \"modo desconocido {}\"\n\n#: src/config.rs:564\nmsgid \"section can not be called {}\"\nmsgstr \"no se puede llamar la sección {}\"\n\n#: src/config.rs:581\nmsgid \"failed to find cache directory\"\nmsgstr \"no se pudo encontrar el directorio de caché\"\n\n#: src/config.rs:584\nmsgid \"failed to find config directory\"\nmsgstr \"no se pudo encontrar el directorio de configuración\"\n\n#: src/config.rs:588\nmsgid \"failed to find state directory\"\nmsgstr \"error al buscar directorio con el estado\"\n\n#: src/config.rs:635\nmsgid \"config file '{}' does not exist\"\nmsgstr \"no existe el fichero de configuración '{}'\"\n\n#: src/config.rs:684\nmsgid \"only one operation may be used at a time\"\nmsgstr \"solo se puede realizar una operación a la vez\"\n\n#: src/config.rs:795\nmsgid \"no local repo named {}\"\nmsgstr \"ningún repositorio local llamado {}\"\n\n#: src/config.rs:821\nmsgid \"can not find local repo '{}' in pacman.conf\"\nmsgstr \"no se pudo encontrar el repositorio local '{}' en pacman.conf\"\n\n#: src/config.rs:866\nmsgid \"failed to initialize alpm: root={} dbpath={}\"\nmsgstr \"no se pudo inicializar alpm: root={} dbpath={}\"\n\n#: src/config.rs:941 src/config.rs:1102\nmsgid \"value can not be empty for key '{}'\"\nmsgstr \"la clave '{}' no admite un valor vacío\"\n\n#: src/config.rs:957\nmsgid \"key '{}' does not belong to a section\"\nmsgstr \"la clave '{}' no pertenece a una sección\"\n\n#: src/config.rs:971 src/config.rs:988 src/config.rs:990 src/config.rs:1005\nmsgid \"key can not be empty\"\nmsgstr \"la clave no puede estar vacía\"\n\n#: src/config.rs:981\nmsgid \"error: unknown option '{}' in repo\"\nmsgstr \"error: opción desconocida '{}' en repositorio\"\n\n#: src/config.rs:991\nmsgid \"key can not contain null bytes\"\nmsgstr \"la clave no puede contener bytes nulos\"\n\n#: src/config.rs:994\nmsgid \"value can not contain null bytes\"\nmsgstr \"el valor no puede contener bytes nulos\"\n\n#: src/config.rs:1030\nmsgid \"error: unknown option '{}' in section [bin]\"\nmsgstr \"error: opción desconocida '{}' en sección [bin]\"\n\n#: src/config.rs:1150\nmsgid \"error: unknown option '{}' in section [options]\"\nmsgstr \"error: opción desconocida '{}' en sección [options]\"\n\n#: src/config.rs:1155\nmsgid \"option '{}' does not take a value\"\nmsgstr \"opción {} no admite un valor\"\n\n#: src/config.rs:1187 src/resolver.rs:136\nmsgid \"There are {n} providers available for {pkg}:\"\nmsgstr \"Hay {n} proveedores disponibles para {pkg}\"\n\n#: src/config.rs:1201 src/info.rs:85 src/info.rs:190 src/info.rs:224\n#: src/resolver.rs:95 src/resolver.rs:144\nmsgid \"Repository\"\nmsgstr \"Repositorio\"\n\n#: src/config.rs:1227\nmsgid \"  failed to sync {}\"\nmsgstr \" No se pudo sincronizar {}\"\n\n#: src/devel.rs:136 src/download.rs:207\nmsgid \"Querying AUR...\"\nmsgstr \"Buscando en el AUR...\"\n\n#: src/devel.rs:157 src/devel.rs:181 src/install.rs:203\nmsgid \"failed to parse srcinfo for '{}'\"\nmsgstr \"no se pudo leer srcinfo para '{}'\"\n\n#: src/devel.rs:201\nmsgid \"Looking for devel repos...\"\nmsgstr \"Buscando repos de desarrollo...\"\n\n#: src/devel.rs:210\nmsgid \"failed to save devel info\"\nmsgstr \"no se pudo guardar info de desarrollo\"\n\n#: src/devel.rs:218\nmsgid \"failed to create state directory: {}\"\nmsgstr \"error al crear directorio de estado: {}\"\n\n#: src/devel.rs:233\nmsgid \"failed to create temporary file: {}\"\nmsgstr \"error al crear fichero temporal: {}\"\n\n#: src/devel.rs:238\nmsgid \"failed to write to temporary file: {}\"\nmsgstr \"error al escribir en fichero temporal: {}\"\n\n#: src/devel.rs:244\nmsgid \"failed to rename '{temp}' to '{devel_toml}\"\nmsgstr \"error al renombrar '{temp}' a '{devel_toml}\"\n\n#: src/devel.rs:490\nmsgid \"package does not have an update\"\nmsgstr \"el paquete no tiene una actualización\"\n\n#: src/devel.rs:536\nmsgid \"failed to lookup: {}\"\nmsgstr \"no se pudo buscar: {}\"\n\n#: src/devel.rs:564\nmsgid \"invalid toml: {}\"\nmsgstr \"toml inválido: {}\"\n\n#: src/download.rs:100\nmsgid \"packages not in the AUR: \"\nmsgstr \"paquetes que no están en el AUR: \"\n\n#: src/download.rs:111\nmsgid \"marked out of date: \"\nmsgstr \"marcado como desactualizado: \"\n\n#: src/download.rs:122\nmsgid \"orphans: \"\nmsgstr \"huérfanos: \"\n\n#: src/download.rs:260\nmsgid \"downloading: {pkg}\"\nmsgstr \"descargando: {pkg}\"\n\n#: src/download.rs:279 src/download.rs:602 src/info.rs:55 src/info.rs:180\n#: src/query.rs:49\nmsgid \"package '{}' was not found\"\nmsgstr \"no se pudo encontrar el paquete '{}'\"\n\n#: src/download.rs:291\n#, fuzzy\nmsgid \"duplicate PKGBUILD: {}\"\nmsgstr \"paquetes duplicados: {}\"\n\n#: src/download.rs:307\nmsgid \"package '{}' exists but has no PKGBUILD -- skipping\"\nmsgstr \"\"\n\n#: src/download.rs:340\nmsgid \"Downloading PKGBUILDs...\"\nmsgstr \"Descargando PKGBUILDs...\"\n\n#: src/download.rs:344\nmsgid \" PKGBUILDs up to date\"\nmsgstr \" PKGBUILDs actualizados\"\n\n#: src/exec.rs:72\nmsgid \"failed to run:\"\nmsgstr \"no se pudo ejecutar:\"\n\n#: src/exec.rs:174\nmsgid \"Pacman is currently in use, please wait...\"\nmsgstr \"Ya se está ejecutando Pacman, por favor espera...\"\n\n#: src/fmt.rs:24 src/info.rs:275 src/search.rs:293 src/search.rs:350\nmsgid \"None\"\nmsgstr \"Ninguno\"\n\n#: src/fmt.rs:245\nmsgid \"Repo\"\nmsgstr \"Repo\"\n\n#: src/fmt.rs:252\nmsgid \"Repo Make\"\nmsgstr \"Constructor de Make\"\n\n#: src/fmt.rs:272\nmsgid \"Pkgbuilds Make\"\nmsgstr \"Constructor de Pkgbuilds\"\n\n#: src/fmt.rs:274\nmsgid \"Aur Make\"\nmsgstr \"Constructor de AUR\"\n\n#: src/fmt.rs:319\nmsgid \"Repo ({})\"\nmsgstr \"Repositorio ({})\"\n\n#: src/fmt.rs:327\nmsgid \"Old Version\"\nmsgstr \"Versión Antigua\"\n\n#: src/fmt.rs:328\nmsgid \"New Version\"\nmsgstr \"Versión Nueva\"\n\n#: src/fmt.rs:329\nmsgid \"Make Only\"\nmsgstr \"Solo Construir\"\n\n#: src/fmt.rs:330\nmsgid \"Yes\"\nmsgstr \"Sí\"\n\n#: src/fmt.rs:331 src/info.rs:221\nmsgid \"No\"\nmsgstr \"No\"\n\n#: src/fmt.rs:419\nmsgid \"insufficient columns available for table display\"\nmsgstr \"insuficientes columnas disponibles para visualizar como tabla\"\n\n#: src/help.rs:4\nmsgid \"Usage:\"\nmsgstr \"Uso:\"\n\n#: src/help.rs:5\nmsgid \"    paru\"\nmsgstr \"    paru\"\n\n#: src/help.rs:6\nmsgid \"    paru <operation> [...]\"\nmsgstr \"    paru <operación> [...]\"\n\n#: src/help.rs:7\nmsgid \"    paru <package(s)>\"\nmsgstr \"    paru <paquete(s)>\"\n\n#: src/help.rs:9\nmsgid \"Pacman operations:\"\nmsgstr \"Operaciones de Pacman:\"\n\n#: src/help.rs:10\nmsgid \"    paru {-h --help}\"\nmsgstr \"    paru {-h --help}\"\n\n#: src/help.rs:11\nmsgid \"    paru {-V --version}\"\nmsgstr \"    paru {-V --version}\"\n\n#: src/help.rs:12\nmsgid \"    paru {-D --database}    <options> <package(s)>\"\nmsgstr \"    paru {-D --database}    <opciones> <paquete(s)>\"\n\n#: src/help.rs:13\nmsgid \"    paru {-F --files}       [options] [package(s)]\"\nmsgstr \"    paru {-F --files}       [opciones] [paquete(s)]\"\n\n#: src/help.rs:14\nmsgid \"    paru {-Q --query}       [options] [package(s)]\"\nmsgstr \"    paru {-Q --query}       [opciones] [paquete(s)]\"\n\n#: src/help.rs:15\nmsgid \"    paru {-R --remove}      [options] <package(s)>\"\nmsgstr \"    paru {-R --remove}      [opciones] <paquete(s)>\"\n\n#: src/help.rs:16\nmsgid \"    paru {-S --sync}        [options] [package(s)]\"\nmsgstr \"    paru {-S --sync}        [opciones] [paquete(s)]\"\n\n#: src/help.rs:17\nmsgid \"    paru {-T --deptest}     [options] [package(s)]\"\nmsgstr \"    paru {-T --deptest}     [opciones] [paquete(s)]\"\n\n#: src/help.rs:18\nmsgid \"    paru {-U --upgrade}     [options] [file(s)]\"\nmsgstr \"    paru {-U --upgrade}     [opciones] [archivo(s)]\"\n\n#: src/help.rs:20\nmsgid \"New operations:\"\nmsgstr \"Nuevas operaciones:\"\n\n#: src/help.rs:21\nmsgid \"    paru {-P --show}        [options]\"\nmsgstr \"    paru {-P --show}        [opciones]\"\n\n#: src/help.rs:22\nmsgid \"    paru {-G --getpkgbuild} [package(s)]\"\nmsgstr \"    paru {-G --getpkgbuild} [paquete(s)]\"\n\n#: src/help.rs:23\nmsgid \"    paru {-B --build}       [dir(s)]\"\nmsgstr \"    paru {-B --build}        [dir(s)]\"\n\n#: src/help.rs:25\nmsgid \"If no arguments are provided 'paru -Syu' will be performed\"\nmsgstr \"Si no se proveen argumentos se ejecutará 'paru -Syu'\"\n\n#: src/help.rs:27\nmsgid \"Options without operation:\"\nmsgstr \"Opciones sin operación:\"\n\n#: src/help.rs:28\nmsgid \"    -c --clean            Remove unneeded dependencies\"\nmsgstr \"    -c --clean            Borrar dependencias innecesarias\"\n\n#: src/help.rs:29\nmsgid \"\"\n\"       --gendb            Generates development package DB used for updating\"\nmsgstr \"\"\n\"       --gendb            Genera BD de desarrollo del paquete utilizado al \"\n\"actualizar\"\n\n#: src/help.rs:31\nmsgid \"New options:\"\nmsgstr \"Nuevas opciones:\"\n\n#: src/help.rs:32\nmsgid \"       --repo              Assume targets are from the repositories\"\nmsgstr \"\"\n\"       --repo              Asumir que los objetivos provienen de los \"\n\"repositorios\"\n\n#: src/help.rs:33\nmsgid \"\"\n\"       --pkgbuilds         Assume targets are from pkgbuild repositories\"\nmsgstr \"\"\n\"       --pkgbuilds              Asumir que los objetivos provienen de los \"\n\"repositorios\"\n\n#: src/help.rs:34\nmsgid \"    -a --aur               Assume targets are from the AUR\"\nmsgstr \"    -a --aur               Asumir que los objetivos provienen de AUR\"\n\n#: src/help.rs:35\nmsgid \"    --mode      <mode>     Sets where paru looks for targets\"\nmsgstr \"    --mode      <mode>     Configurar donde paru busca objetivos\"\n\n#: src/help.rs:37\nmsgid \"\"\n\"    --interactive          Enable interactive package selection for -S, -R, \"\n\"-Ss and -Qs\"\nmsgstr \"\"\n\"    --interactive          Activar selección interactiva de paquetes para \"\n\"-S, -R, -Ss and -Qs\"\n\n#: src/help.rs:39\nmsgid \"    --aururl    <url>      Set an alternative AUR URL\"\nmsgstr \"    --aururl    <url>      Confiurar una URL de AUR alternativa\"\n\n#: src/help.rs:40\nmsgid \"\"\n\"    --aurrpcur  <url>      Set an alternative URL for the AUR /rpc endpoint\"\nmsgstr \"    --aurrpcur  <url>      Configurar URL alternativa para AUR /rpc\"\n\n#: src/help.rs:41\nmsgid \"    --clonedir  <dir>      Directory used to download and run PKGBUILDs\"\nmsgstr \"\"\n\"    --clonedir  <dir>      Directorio utilizado para descargar y ejecutar \"\n\"los PKGBUILD\"\n\n#: src/help.rs:43\nmsgid \"    --makepkg   <file>     makepkg command to use\"\nmsgstr \"    --makepkg   <file>     comando makepkg a utilizar\"\n\n#: src/help.rs:44\nmsgid \"    --mflags    <flags>    Pass arguments to makepkg\"\nmsgstr \"    --mflags    <flags>    Pasar argumentos s makepkg\"\n\n#: src/help.rs:45\nmsgid \"    --pacman    <file>     pacman command to use\"\nmsgstr \"    --pacman    <file>     comando pacman a utilizar\"\n\n#: src/help.rs:46\nmsgid \"    --git       <file>     git command to use\"\nmsgstr \"    --git       <file>     comando git a utilizar\"\n\n#: src/help.rs:47\nmsgid \"    --gitflags  <flags>    Pass arguments to git\"\nmsgstr \"    --gitflags  <flags>    Pasar argumentos a git\"\n\n#: src/help.rs:48\nmsgid \"    --sudo      <file>     sudo command to use\"\nmsgstr \"    --sudo      <file>     comando sudo a utilizar\"\n\n#: src/help.rs:49\nmsgid \"    --sudoflags <flags>    Pass arguments to sudo\"\nmsgstr \"    --sudoflags <flags>    Pasar argumentos a sudo\"\n\n#: src/help.rs:50\nmsgid \"    --pkgctl    <file>     pkgctl command to use\"\nmsgstr \"    --pkgctl    <file>     comando pkgctl command a usar\"\n\n#: src/help.rs:51\nmsgid \"    --bat       <file>     bat command to use\"\nmsgstr \"    --bat       <file>     comando bat a utilizar\"\n\n#: src/help.rs:52\nmsgid \"    --batflags  <flags>    Pass arguments to bat\"\nmsgstr \"    --batflags  <flags>    Pasar argumentos a bat\"\n\n#: src/help.rs:53\nmsgid \"    --gpg       <file>     gpg command to use\"\nmsgstr \"    --gpg       <file>     comando gpg command a utilizar\"\n\n#: src/help.rs:54\nmsgid \"    --gpgflags  <flags>    Pass arguments to gpg\"\nmsgstr \"    --gpgflags  <flags>    Pasar argumentos a gpg\"\n\n#: src/help.rs:55\nmsgid \"    --fm        <file>     File manager to use for PKGBUILD review\"\nmsgstr \"\"\n\"    --fm        <file>     Gestor de archivos a utilizar para revisar \"\n\"PKGBUILD\"\n\n#: src/help.rs:56\nmsgid \"    --fmflags   <flags>    Pass arguments to file manager\"\nmsgstr \"    --fmflags   <flags>    Pasar argumentos a gestor de archivos\"\n\n#: src/help.rs:58\nmsgid \"    --completioninterval   <n> Time in days to refresh completion cache\"\nmsgstr \"\"\n\"    --completioninterval   <n> Tiempo en días para refrescar caché de \"\n\"completado\"\n\n#: src/help.rs:59\nmsgid \"\"\n\"    --sortby    <field>    Sort AUR results by a specific field during search\"\nmsgstr \"\"\n\"    --sortby    <field>    Ordenar resultados de AUR en base a un campo \"\n\"específico durante la búsqueda\"\n\n#: src/help.rs:60\nmsgid \"    --searchby  <field>    Search for packages using a specified field\"\nmsgstr \"\"\n\"    --searchby  <field>    Buscar paquetes utilizando un campo específico\"\n\n#: src/help.rs:61\nmsgid \"\"\n\"    --limit     <limit>    Limits the number of items returned in a search\"\nmsgstr \"\"\n\"    --limit     <limit>    Limita el numero de resultados devueltos por la \"\n\"búsqueda\"\n\n#: src/help.rs:62\nmsgid \"    -x --regex             Enable regex for aur search\"\nmsgstr \"    -x --regex             Activar regex para búsquedas en aur\"\n\n#: src/help.rs:64\nmsgid \"    --skipreview           Skip the review process\"\nmsgstr \"    --skipreview           Saltar el proceso de revisión\"\n\n#: src/help.rs:65\nmsgid \"    --review               Don't skip the review process\"\nmsgstr \"    --review               No saltar el proceso de revisión\"\n\n#: src/help.rs:66\nmsgid \"    --[no]upgrademenu      Show interactive menu to skip upgrades\"\nmsgstr \"\"\n\"    --[no]upgrademenu      Mostrar menú interactivo para saltar \"\n\"actualizaciones\"\n\n#: src/help.rs:67\nmsgid \"    --[no]removemake       Remove makedepends after install\"\nmsgstr \"\"\n\"    --[no]removemake       Eliminar dependencias de make tras la instalación\"\n\n#: src/help.rs:68\nmsgid \"    --[no]cleanafter       Remove package sources after install\"\nmsgstr \"\"\n\"    --[no]cleanafter       Eliminar fuentes del paquete tras la instalación\"\n\n#: src/help.rs:69\nmsgid \"    --[no]rebuild          Always build target packages\"\nmsgstr \"    --[no]rebuild          Construir siempre los paquetes objetivos\"\n\n#: src/help.rs:70\nmsgid \"    --[no]redownload       Always download PKGBUILDs of targets\"\nmsgstr \"\"\n\"    --[no]redownload       Descargar siempre los PKGBUILDs de los objetivos\"\n\n#: src/help.rs:72\nmsgid \"    --[no]pgpfetch         Prompt to import PGP keys from PKGBUILDs\"\nmsgstr \"\"\n\"    --[no]pgpfetch         Sugerir importar las claves PGP de los PKGBUILDs\"\n\n#: src/help.rs:73\nmsgid \"\"\n\"    --[no]useask           Automatically resolve conflicts using pacman's \"\n\"ask flag\"\nmsgstr \"\"\n\"    --[no]useask           Resolver conflictos automaticamente usando el \"\n\"flag de pregunta de pacman\"\n\n#: src/help.rs:74\nmsgid \"\"\n\"    --[no]savechanges      Commit changes to pkgbuilds made during review\"\nmsgstr \"\"\n\"    --[no]savechanges      Hacer commit de los cambios hechos durante la \"\n\"revisión a los pkgbuilds\"\n\n#: src/help.rs:75\nmsgid \"    --[no]newsonupgrade    Print new news during sysupgrade\"\nmsgstr \"\"\n\"    --[no]newsonupgrade    Mostrar nuevas noticias durante la actualización \"\n\"del sistema\"\n\n#: src/help.rs:76\nmsgid \"\"\n\"    --[no]combinedupgrade  Refresh then perform the repo and AUR upgrade \"\n\"together\"\nmsgstr \"\"\n\"    --[no]combinedupgrade  Refrescar antes de ejecutar la actualización de \"\n\"repositorios y AUR simultáneamente\"\n\n#: src/help.rs:77\nmsgid \"\"\n\"    --[no]batchinstall     Build multiple AUR packages then install them \"\n\"together\"\nmsgstr \"\"\n\"    --[no]batchinstall     Construir multiples paquetes AUR e instalarlos a \"\n\"la vez\"\n\n#: src/help.rs:78\nmsgid \"\"\n\"    --[no]provides         Look for matching providers when searching for \"\n\"packages\"\nmsgstr \"\"\n\"    --[no]provides         Buscar proveedores que coincidan al buscar \"\n\"paquetes\"\n\n#: src/help.rs:79\nmsgid \"    --[no]devel            Check development packages during sysupgrade\"\nmsgstr \"\"\n\"    --[no]devel            Comprobar paquetes de desarrollo durante la \"\n\"actualización del sistema\"\n\n#: src/help.rs:80\nmsgid \"\"\n\"    --[no]installdebug     Also install debug packages when a package \"\n\"provides them\"\nmsgstr \"\"\n\"    --[no]installdebug     Instalar también paquetes de debug cuando un \"\n\"paquete lo provee\"\n\n#: src/help.rs:81\nmsgid \"\"\n\"    --[no]sudoloop         Loop sudo calls in the background to avoid timeout\"\nmsgstr \"\"\n\"    --[no]sudoloop         Realizar llamadas a sudo en segundo plano para \"\n\"evitar timeout\"\n\n#: src/help.rs:82\nmsgid \"    --[no]chroot           Build packages in a chroot\"\nmsgstr \"    --[no]chroot           Construir paquetes en un chroot\"\n\n#: src/help.rs:83\nmsgid \"\"\n\"    --[no]failfast         Exit as soon as building an AUR package fails\"\nmsgstr \"\"\n\"    --[no]failfast         Salir en cuanto falle al construir un paquete de \"\n\"AUR\"\n\n#: src/help.rs:84\nmsgid \"\"\n\"    --[no]keepsrc          Keep src/ and pkg/ dirs after building packages\"\nmsgstr \"\"\n\"    --[no]keepsrc          Conservar directorios src/ y pkg/ dirs tras \"\n\"construir paquetes\"\n\n#: src/help.rs:85\nmsgid \"    --[no]sign             Sign packages with gpg\"\nmsgstr \"    --[no]sign             Firmar paquetes con gpg\"\n\n#: src/help.rs:86\nmsgid \"    --[no]signdb           Sign databases with gpg\"\nmsgstr \"    --[no]signdb           Firmar bases de datos con gpg\"\n\n#: src/help.rs:87\nmsgid \"    --[no]localrepo        Build packages into a local repo\"\nmsgstr \"    --[no]localrepo        Construir paquetes en un repositorio local\"\n\n#: src/help.rs:88\nmsgid \"\"\n\"    --nocheck              Don't resolve checkdepends or run the check \"\n\"function\"\nmsgstr \"\"\n\"    --nocheck              No resolver checkdepends o ejecutar función de \"\n\"comprobación\"\n\n#: src/help.rs:90\nmsgid \"\"\n\"    --rootchrootpkgs       Packages to install in the root chroot (default: \"\n\"base-devel)\"\nmsgstr \"\"\n\n#: src/help.rs:92\nmsgid \"\"\n\"    --develsuffixes        Suffixes used to decide if a package is a devel \"\n\"package\"\nmsgstr \"\"\n\"    --develsuffixes        Sufijos utilizados para decidir si un paquete es \"\n\"un paquete de desarrollo\"\n\n#: src/help.rs:93\nmsgid \"    --ignoredevel          Ignore devel upgrades for specified packages\"\nmsgstr \"\"\n\"    --ignoredevel          Ignorar actualizaciones de desarrollo para los \"\n\"paquetes seleccionados\"\n\n#: src/help.rs:94\nmsgid \"\"\n\"    --bottomup             Shows AUR's packages first and then repository's\"\nmsgstr \"\"\n\"    --bottomup             Muestra primero los paquetes de AUR y después los \"\n\"de los repositorios\"\n\n#: src/help.rs:95\nmsgid \"\"\n\"    --topdown              Shows repository's packages first and then AUR's\"\nmsgstr \"\"\n\"    --topdown              Muestra primero los paquetes de los repositorios \"\n\"y después de los AUR\"\n\n#: src/help.rs:97\nmsgid \"show specific options:\"\nmsgstr \"opciones específicas de show:\"\n\n#: src/help.rs:98\nmsgid \"    -c --complete         Used for completions\"\nmsgstr \"    -c --complete         Utilizado para terminaciones\"\n\n#: src/help.rs:99\nmsgid \"    -s --stats            Display system package statistics\"\nmsgstr \"\"\n\"    -s --stats            Mostrar estadísticas de los paquetes del sistema\"\n\n#: src/help.rs:100\nmsgid \"    -w --news             Print arch news\"\nmsgstr \"    -w --news             Mostrar noticias de arch\"\n\n#: src/help.rs:102\nmsgid \"getpkgbuild specific options:\"\nmsgstr \"opciones específicas de getpkgbuild:\"\n\n#: src/help.rs:103\nmsgid \"    -p --print            Print pkgbuild to stdout\"\nmsgstr \"    -p --print            Imprimir pkgbuild en stdout\"\n\n#: src/help.rs:104\nmsgid \"    -c --comments         Print AUR comments for pkgbuild\"\nmsgstr \"    -c --comments         Mostrar comentarios de AUR para pkgbuild\"\n\n#: src/help.rs:105\nmsgid \"    -s --ssh              Clone package using SSH\"\nmsgstr \"    -s --ssh              Clonar paquete usando SSH\"\n\n#: src/help.rs:107\nmsgid \"Build specific options:\"\nmsgstr \"Opciones específicas de construcción:\"\n\n#: src/help.rs:108\nmsgid \"    -i --install          Install package as well as building\"\nmsgstr \"    -i --install          Instalar el paquete además de construirlo\"\n\n#: src/info.rs:86 src/info.rs:191 src/info.rs:225\nmsgid \"Name\"\nmsgstr \"Nombre\"\n\n#: src/info.rs:87 src/info.rs:192 src/info.rs:226\nmsgid \"Version\"\nmsgstr \"Versión\"\n\n#: src/info.rs:88 src/info.rs:193 src/info.rs:227\nmsgid \"Description\"\nmsgstr \"Descripción\"\n\n#: src/info.rs:89 src/info.rs:195 src/info.rs:235\nmsgid \"Groups\"\nmsgstr \"Grupos\"\n\n#: src/info.rs:90 src/info.rs:196 src/info.rs:236\nmsgid \"Licenses\"\nmsgstr \"Licencias\"\n\n#: src/info.rs:91 src/info.rs:197 src/info.rs:237\nmsgid \"Provides\"\nmsgstr \"Provee\"\n\n#: src/info.rs:92 src/info.rs:198 src/info.rs:238\nmsgid \"Depends On\"\nmsgstr \"Depende De\"\n\n#: src/info.rs:93 src/info.rs:199 src/info.rs:239\nmsgid \"Make Deps\"\nmsgstr \"Construir Dependencias\"\n\n#: src/info.rs:94 src/info.rs:200 src/info.rs:240\nmsgid \"Check Deps\"\nmsgstr \"Comprobar Dependencias\"\n\n#: src/info.rs:95 src/info.rs:201 src/info.rs:241\nmsgid \"Optional Deps\"\nmsgstr \"Dependencias Opcionales\"\n\n#: src/info.rs:96 src/info.rs:202 src/info.rs:242\nmsgid \"Conflicts With\"\nmsgstr \"En Conflicto Con\"\n\n#: src/info.rs:97 src/info.rs:243\nmsgid \"Maintainer\"\nmsgstr \"Encargado\"\n\n#: src/info.rs:98 src/info.rs:244\nmsgid \"Votes\"\nmsgstr \"Votos\"\n\n#: src/info.rs:99 src/info.rs:245\nmsgid \"Popularity\"\nmsgstr \"Popularidad\"\n\n#: src/info.rs:100 src/info.rs:246\nmsgid \"First Submitted\"\nmsgstr \"Subido por primera vez\"\n\n#: src/info.rs:101 src/info.rs:247\nmsgid \"Last Modified\"\nmsgstr \"Modificado por última vez\"\n\n#: src/info.rs:102 src/info.rs:249\nmsgid \"Out Of Date\"\nmsgstr \"Desactualizado\"\n\n#: src/info.rs:103 src/info.rs:254\nmsgid \"ID\"\nmsgstr \"ID\"\n\n#: src/info.rs:104 src/info.rs:255\nmsgid \"Package Base ID\"\nmsgstr \"ID Base del Paquete\"\n\n#: src/info.rs:105 src/info.rs:256\nmsgid \"Keywords\"\nmsgstr \"Palabras clave\"\n\n#: src/info.rs:106 src/info.rs:258\nmsgid \"Snapshot URL\"\nmsgstr \"URL de Instantánea\"\n\n#: src/info.rs:107 src/info.rs:203\nmsgid \"Path\"\nmsgstr \"Ruta\"\n\n#: src/install.rs:166 src/query.rs:48 src/lib.rs:101\nmsgid \"error:\"\nmsgstr \"error:\"\n\n#: src/install.rs:167\nmsgid \"could not get news\"\nmsgstr \"no se pudieron obtener noticias\"\n\n#: src/install.rs:172 src/install.rs:1127\nmsgid \"Proceed with installation?\"\nmsgstr \"¿Continuar con la instalación?\"\n\n#: src/install.rs:207\nmsgid \"could not find .SRCINFO for '{}'\"\nmsgstr \"no se pudo encontrar .SRINFO para '{}'\"\n\n#: src/install.rs:353\nmsgid \"could not find package '{pkg}' in package list for '{base}'\"\nmsgstr \"\"\n\"no se pudo encontrar paquete '{pkg}' en lista de instalación para '{base}'\"\n\n#: src/install.rs:451\nmsgid \"packages failed to build: {}\"\nmsgstr \"no se pudieron construir los siguientes paquetes: {}\"\n\n#: src/install.rs:523\nmsgid \"adding {} to the install list\"\nmsgstr \"añadiendo {} a la lista de instalación\"\n\n#: src/install.rs:553 src/install.rs:568\nmsgid \"failed to download sources for '{}'\"\nmsgstr \"no se pudieron descargar fuentes para '{}'\"\n\n#: src/install.rs:577 src/install.rs:603 src/install.rs:611\nmsgid \"failed to build '{}'\"\nmsgstr \"no se pudo construir '{}'\"\n\n#: src/install.rs:580 src/install.rs:784\nmsgid \"{}: parsing pkg list...\"\nmsgstr \"{}: leyendo lista pkg...\"\n\n#: src/install.rs:584\nmsgid \"package list does not match srcinfo\"\nmsgstr \"la lista de paquetes no coincide con el srcinfo\"\n\n#: src/install.rs:618\nmsgid \"{}-{} is up to date -- skipping build\"\nmsgstr \"{}-{} está actualizado -- saltando construcción\"\n\n#: src/install.rs:775\nmsgid \"can't build {base}, deps not satisfied: {deps}\"\nmsgstr \"no se puede construir {base}, dependencias sin satisfaces: {deps}\"\n\n#: src/install.rs:846\nmsgid \"fetching devel info...\"\nmsgstr \"obteniendo info de desarrollo....\"\n\n#: src/install.rs:911 src/lib.rs:240\nmsgid \"no targets specified (use -h for help)\"\nmsgstr \"ningún objetivo seleccionado (usa -h para ayuda)\"\n\n#: src/install.rs:1008 src/install.rs:1097 src/search.rs:450 src/search.rs:476\n#: src/lib.rs:304\nmsgid \" there is nothing to do\"\nmsgstr \" no hay nada que hacer\"\n\n#: src/install.rs:1016\nmsgid \"Resolving dependencies...\"\nmsgstr \"Resolviendo dependencias...\"\n\n#: src/install.rs:1077\nmsgid \"can't install AUR package as root\"\nmsgstr \"no se permite instalar un paquete de AUR como root\"\n\n#: src/install.rs:1080\nmsgid \"--downloadonly can't be used for AUR packages\"\nmsgstr \"--downloadonly no se puede utilizar para paquetes de AUR\"\n\n#: src/install.rs:1113\nmsgid \"Remove make dependencies after install?\"\nmsgstr \"¿Eliminar dependencias de make tras la instalación?\"\n\n#: src/install.rs:1124\nmsgid \"Proceed to review?\"\nmsgstr \"¿Editar ahora?\"\n\n#: src/install.rs:1177\nmsgid \"no architecture\"\nmsgstr \"sin arquitectura\"\n\n#: src/install.rs:1191\nmsgid \"The following packages are not compatible with your architecture:\"\nmsgstr \"Los siguientes paquetes no son compatibles con su arquitectura:\"\n\n#: src/install.rs:1205\nmsgid \"Would you like to try build them anyway?\"\nmsgstr \"¿Quieres volver a intentar construirlos igualmente?\"\n\n#: src/install.rs:1349\nmsgid \"duplicate packages: {}\"\nmsgstr \"paquetes duplicados: {}\"\n\n#: src/install.rs:1353\nmsgid \"could not find all required packages:\"\nmsgstr \"no se pudieron encontrar todos los paquetes necesarios:\"\n\n#: src/install.rs:1365\nmsgid \"\"\n\"\\n\"\n\"    {missing} (wanted by: {stack})\"\nmsgstr \"\"\n\"\\n\"\n\"    {missing} (requerido por {stack})\"\n\n#: src/install.rs:1379 src/install.rs:2122\nmsgid \"{}-{} is up to date -- skipping\"\nmsgstr \"{}-{} esta actualizado -- saltando\"\n\n#: src/install.rs:1387\nmsgid \"Calculating conflicts...\"\nmsgstr \"Calculando conflictos...\"\n\n#: src/install.rs:1410\nmsgid \"Calculating inner conflicts...\"\nmsgstr \"Calculando conflictos internos...\"\n\n#: src/install.rs:1422\nmsgid \"Inner conflicts found:\"\nmsgstr \"Conflictos internos encontrados:\"\n\n#: src/install.rs:1444\nmsgid \"Conflicts found:\"\nmsgstr \"Conflictos encontrados:\"\n\n#: src/install.rs:1467\nmsgid \"Conflicting packages will have to be confirmed manually\"\nmsgstr \"Los paquetes en conflicto tendrán que confirmase manualmente\"\n\n#: src/install.rs:1471\nmsgid \"can not install conflicting packages with --noconfirm\"\nmsgstr \"no se permiten instalar los paquetes en conflicto con --noconfirm\"\n\n#: src/install.rs:1599\nmsgid \"failed to execute file manager: {}\"\nmsgstr \"no se pudo ejecutar el gestor de archivos: {}\"\n\n#: src/install.rs:1602\n#, fuzzy\nmsgid \"file manager '{}' did not execute successfully\"\nmsgstr \"el gestor de archivos no se pudo ejecutar correctamente\"\n\n#: src/install.rs:1620\nmsgid \"failed to read dir: {}\"\nmsgstr \"no se pudo abrir el directorio: {}\"\n\n#: src/install.rs:1677\nmsgid \"failed to open: {}\"\nmsgstr \"no se pudo abrir: {}\"\n\n#: src/install.rs:1697\nmsgid \"binary file: {}\"\nmsgstr \"fichero binario: {}\"\n\n#: src/install.rs:1719 src/install.rs:1790\nmsgid \"Accept changes?\"\nmsgstr \"¿Aceptar cambios?\"\n\n#: src/install.rs:1759\nmsgid \"Paging with less. Press 'q' to quit or 'h' for help.\"\nmsgstr \"\"\n\n#: src/install.rs:1794\nmsgid \" nothing new to review\"\nmsgstr \" nada nuevo para revisar\"\n\n#: src/install.rs:2070\nmsgid \"can't find package name in packagelist: {}\"\nmsgstr \"no se pudo encontrar el nombre del paquete en lista de paquetes: {}\"\n\n#: src/install.rs:2142\nmsgid \"Signing packages...\"\nmsgstr \"Firmando paquetes...\"\n\n#: src/install.rs:2172\nmsgid \"{}-{} is up to date -- skipping install\"\nmsgstr \"{}-{} está actualizado -- saltando instalación\"\n\n#: src/keys.rs:57\nmsgid \"keys need to be imported:\"\nmsgstr \"se necesitan importar claves :\"\n\n#: src/keys.rs:62\nmsgid \"     {key} wanted by: {base}\"\nmsgstr \"     {key} requerido por: {base}\"\n\n#: src/news.rs:57\nmsgid \"No Date \"\nmsgstr \"Sin Fecha \"\n\n#: src/news.rs:60\nmsgid \"No Title\"\nmsgstr \"Sin Título\"\n\n#: src/news.rs:69\nmsgid \"no new news\"\nmsgstr \"no hay noticias\"\n\n#: src/pkgbuild.rs:91\nmsgid \"repo {} does not have a URL or Path\"\nmsgstr \"repositorio {} no tiene una URL o Ruta\"\n\n#: src/pkgbuild.rs:153\nmsgid \"repo {} not downloaded (use -Sy --pkgbuilds to download)\"\nmsgstr \"repositorio {} no se descargó (usa -Sy --pkgbuilds para descargar)\"\n\n#: src/pkgbuild.rs:200\nmsgid \"Generating .SRCINFO for {repo}/{dir}...\"\nmsgstr \"Generando .SRCINFO para {repo}/{dir}...\"\n\n#: src/pkgbuild.rs:278\nmsgid \"failed to parse srcinfo \\\"{}\\\"\"\nmsgstr \"no se pudo procesar srcinfo para '{}'\"\n\n#: src/pkgbuild.rs:368\nmsgid \"Downloading PKGBUILD Repos...\"\nmsgstr \"Descargando repositorios de PKGBUILDs...\"\n\n#: src/pkgbuild.rs:422\nmsgid \"failed to parse srcinfo generated by makepkg\"\nmsgstr \"no se pudo leer srcinfo generado por makepkg\"\n\n#: src/query.rs:151\nmsgid \" [ignored]\"\nmsgstr \" [ignorado]\"\n\n#: src/repo.rs:253\nmsgid \"failed to get current exe\"\nmsgstr \"no se pudo obtener ejecutable actual\"\n\n#: src/repo.rs:298\nmsgid \"syncing local databases...\"\nmsgstr \"sincronizando bases de datos locales...\"\n\n#: src/repo.rs:304\nmsgid \"  nothing to do\"\nmsgstr \" nada por hacer\"\n\n#: src/repo.rs:335\nmsgid \"there is nothing to do\"\nmsgstr \"no hay nada que hacer\"\n\n#: src/repo.rs:341\nmsgid \"Packages\"\nmsgstr \"Paquetes\"\n\n#: src/repo.rs:354\nmsgid \"Proceed with removal?\"\nmsgstr \"¿Proceder con eliminación?\"\n\n#: src/repo.rs:415\nmsgid \" [installed: {}]\"\nmsgstr \" [instalado: {}]\"\n\n#: src/repo.rs:417 src/sync.rs:144\nmsgid \" [installed]\"\nmsgstr \" [instalado]\"\n\n#: src/search.rs:41\nmsgid \"aur search failed\"\nmsgstr \"búsqueda en el aur falló\"\n\n#: src/search.rs:285 src/search.rs:338 src/search.rs:410\n#, fuzzy\nmsgid \"[installed: {}]\"\nmsgstr \" [instalado: {}]\"\n\n#: src/search.rs:287 src/search.rs:340 src/search.rs:412\n#, fuzzy\nmsgid \"[installed]\"\nmsgstr \" [instalado]\"\n\n#: src/search.rs:332\n#, fuzzy\nmsgid \"[out-of-date: {}]\"\nmsgstr \"[Desactualizado: {}]\"\n\n#: src/search.rs:347\n#, fuzzy\nmsgid \"[orphaned]\"\nmsgstr \"[Huérfanos]\"\n\n#: src/search.rs:491\nmsgid \"no packages match search\"\nmsgstr \"no hay paquetes para esa búsqueda\"\n\n#: src/search.rs:529\nmsgid \"Packages to install (eg: 1 2 3, 1-3):\"\nmsgstr \"Paquetes para instalar (ej: 1 2 3, 1-3):\"\n\n#: src/search.rs:531\nmsgid \"Select packages (eg: 1 2 3, 1-3):\"\nmsgstr \"Selecciona paquetes (ej: 1 2 3, 1-3):\"\n\n#: src/stats.rs:90\nmsgid \"Total installed packages: {}\"\nmsgstr \"Paquetes total instalados: {}\"\n\n#: src/stats.rs:94\nmsgid \"Aur packages: {}\"\nmsgstr \"Paquetes del AUR: {}\"\n\n#: src/stats.rs:98\nmsgid \"Repo packages: {}\"\nmsgstr \"Paquetes del repositorio: {}\"\n\n#: src/stats.rs:102\nmsgid \"Explicitly installed packages: {}\"\nmsgstr \"Paquetes instalados explícitamente: {}\"\n\n#: src/stats.rs:106\nmsgid \"Total Size occupied by packages: {}\"\nmsgstr \"Tamaño total ocupado por paquetes: {}\"\n\n#: src/stats.rs:113\nmsgid \"Ten biggest packages:\"\nmsgstr \"Diez paquetes más grandes:\"\n\n#: src/upgrade.rs:126\nmsgid \"Looking for PKGBUILD upgrades...\"\nmsgstr \"Buscando actualizaciones de PKGBUILD...\"\n\n#: src/upgrade.rs:134\nmsgid \"Looking for AUR upgrades...\"\nmsgstr \"Buscando actualizaciones de AUR...\"\n\n#: src/upgrade.rs:165\nmsgid \"Looking for devel upgrades...\"\nmsgstr \"Buscando actualizaciones de desarrollo...\"\n\n#: src/upgrade.rs:193 src/upgrade.rs:206\nmsgid \"warning:\"\nmsgstr \"advertencia:\"\n\n#: src/upgrade.rs:195 src/upgrade.rs:208\nmsgid \"{pkg}: ignoring package upgrade ({old} => {new})\"\nmsgstr \"{pkg}:ignorando actualización ({old} => {new})\"\n\n#: src/upgrade.rs:400\nmsgid \"Packages to exclude (eg: 1 2 3, 1-3):\"\nmsgstr \"Paquetes a excluir (ej: 1 2 3, 1-3):\"\n\n#: src/util.rs:121\nmsgid \"[Y/n]:\"\nmsgstr \"[S/n]:\"\n\n#: src/util.rs:123\nmsgid \"[y/N]:\"\nmsgstr \"[s/N]:\"\n\n#: src/util.rs:142\nmsgid \"y\"\nmsgstr \"s\"\n\n#: src/util.rs:142\nmsgid \"yes\"\nmsgstr \"si\"\n\n#: src/util.rs:300\nmsgid \"Enter a number (default=1): \"\nmsgstr \"Introduzca un número (Por omisión = 1): \"\n\n#: src/util.rs:317\nmsgid \"invalid number: {}\"\nmsgstr \"número inválido: {}\"\n\n#: src/util.rs:327\nmsgid \"invalid value: {n} is not between 1 and {max}\"\nmsgstr \"valor inválido: {n} no esta entre 1 y {max}\"\n\n#: src/resolver.rs:83\nmsgid \"There are {} members in group\"\nmsgstr \"Hay {} miembros en el grupo\"\n\n#: src/resolver.rs:108\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Enter a selection (default=all): \"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Elegir una opción (por omisión=all): \"\n\n#: src/lib.rs:206\nmsgid \"can not use chroot builds: devtools is not installed\"\nmsgstr \"no se pudo construir en chroot: devtools no esta instalado\"\n\n#: src/lib.rs:313\nmsgid \"no operation specified (use -h for help)\"\nmsgstr \"ninguna operación seleccionada (usa -h para ayuda)\"\n\n#~ msgid \"[Installed: {}]\"\n#~ msgstr \"[Instalado: {}]\"\n\n#~ msgid \"[Installed]\"\n#~ msgstr \"[Instalado]\"\n\n#~ msgid \"Aur ({})\"\n#~ msgstr \"Aur ({})\"\n\n#~ msgid \"Pkgbuilds ({})\"\n#~ msgstr \"Pkgbuilds ({})\"\n\n#~ msgid \"could not get current directory\"\n#~ msgstr \"no se pudo obtener el directorio actual\"\n\n#~ msgid \"can not get repo packages: asp is not installed\"\n#~ msgstr \"\"\n#~ \"no se pudieron obtener paquetes desde el repositorio: asp no esta \"\n#~ \"instalado\"\n\n#~ msgid \"Missing ABS packages \"\n#~ msgstr \"Faltan paquetes ABS \"\n\n#~ msgid \"does not contain PKGBUILD: skipping\"\n#~ msgstr \"no contiene PKGBUILD: saltando\"\n\n#~ msgid \"{} is not installed: can not get repo packages\"\n#~ msgstr \"\"\n#~ \"{} no está instalado: no se pudieron obtener paquetes desde el repositorio\"\n\n#~ msgid \"asp returned {}\"\n#~ msgstr \"asp devolvió {}\"\n\n#~ msgid \"    --asp       <file>     asp command to use\"\n#~ msgstr \"    --asp       <file>     comando asp a utilizar\"\n\n#, fuzzy\n#~ msgid \"Generating .SRCINFO for {dir}...\"\n#~ msgstr \"no se pudo encontrar .SRINFO para '{}'\"\n\n#~ msgid \"upgrade specific options:\"\n#~ msgstr \"opciones específicas de upgrade:\"\n\n#~ msgid \"error: unknown section '{}'\"\n#~ msgstr \"error: sección desconocida '{}'\"\n\n#~ msgid \"can't build package as root\"\n#~ msgstr \"no se permite construir paquete como root\"\n\n#~ msgid \"failed to build\"\n#~ msgstr \"no se pudo construir\"\n\n#~ msgid \"parsing pkg list...\"\n#~ msgstr \"leyendo lista pkg...\"\n\n#~ msgid \"\"\n#~ \"{} is a directory\\n\"\n#~ \"\\n\"\n#~ msgstr \"\"\n#~ \"{} es un directorio\\n\"\n#~ \"\\n\"\n\n#~ msgid \"n\"\n#~ msgstr \"n\"\n\n#~ msgid \"no\"\n#~ msgstr \"no\"\n"
  },
  {
    "path": "po/fi.po",
    "content": "# Paru Finnish translation \n# Copyright (C) YEAR THE paru'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the paru package.\n# Henry Keinälä <henry.keinala@tuta.io> 2021\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: paru VERSION\\n\"\n\"Report-Msgid-Bugs-To: https://github.com/Morganamilo/paru\\n\"\n\"POT-Creation-Date: 2026-01-08 17:40+0000\\n\"\n\"PO-Revision-Date: 2021-06-28 10:08+0200\\n\"\n\"Last-Translator: Henry Keinälä <henry.keinala@tuta.io>\\n\"\n\"Language-Team: \\n\"\n\"Language: fi\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\n#: src/clean.rs:36\n#, fuzzy\nmsgid \"Do you want to clean ALL AUR packages from cache?\"\nmsgstr \"Halutako poistaa KAIKKI AUR paketit välimuistista?\"\n\n#: src/clean.rs:38\n#, fuzzy\nmsgid \"Do you want to clean all other AUR packages from cache?\"\nmsgstr \"Haluatko poistaa kaikki muut AUR paketit välimuistista?\"\n\n#: src/clean.rs:41\nmsgid \"Clone Directory: {}\"\nmsgstr \"Kloonaa kansio: {}\"\n\n#: src/clean.rs:47\nmsgid \"\"\n\"\\n\"\n\"Diff Directory: {}\"\nmsgstr \"\"\n\"\\n\"\n\"Diff kansio: {}\"\n\n#: src/clean.rs:49\nmsgid \"Do you want to remove all saved diffs?\"\nmsgstr \"Haluatko poistaa kaikki tallennetut diffit?\"\n\n#: src/clean.rs:65\nmsgid \"can't open diff dir: {}\"\nmsgstr \"ei voitu avata diff kansiota: {}\"\n\n#: src/clean.rs:76 src/clean.rs:180\nmsgid \"could not remove '{}'\"\nmsgstr \"ei pystytty poistamaan '{}'\"\n\n#: src/clean.rs:95\nmsgid \"can't open clone dir: {}\"\nmsgstr \"ei voitu avata kloonattua kansiota: {}\"\n\n#: src/clean.rs:141\n#, fuzzy\nmsgid \"could not parse .SRCINFO for '{}'\"\nmsgstr \"ei pystytty löytämään .SRCINFOa paketille: '{}'\"\n\n#: src/command_line.rs:134\nmsgid \"option {} expects a value\"\nmsgstr \"vaihtoehto {} odottaa arvoa\"\n\n#: src/command_line.rs:165 src/command_line.rs:382\nmsgid \"option {} does not allow a value\"\nmsgstr \"vaihtoehto {} ei salli arvoa\"\n\n#: src/command_line.rs:373\nmsgid \"unknown option --{}\"\nmsgstr \"tuntematon vaihtoehto --{}\"\n\n#: src/command_line.rs:376\nmsgid \"unknown option -{}\"\nmsgstr \"tuntematon vaihtoehto -{}\"\n\n#: src/completion.rs:26 src/search.rs:179 src/sync.rs:113\n#, fuzzy\nmsgid \"failed to decode package list\"\nmsgstr \"ei pystytty latamaan lähteitä\"\n\n#: src/completion.rs:35\nmsgid \"failed to open cache file '{}'\"\nmsgstr \"ei pystytty avaamaan välimuistitiedostoa '{}'\"\n\n#: src/completion.rs:83\nmsgid \"could not update aur cache\"\nmsgstr \"ei pystytty päivittämään aur välimuistia\"\n\n#: src/config.rs:179\nmsgid \"invalid value '{val}' for key '{key}', expected: {exp}\"\nmsgstr \"kelpaamaton arvo '{val}' avaimelle {key}', odotettiin: {exp}\"\n\n#: src/config.rs:332\n#, fuzzy\nmsgid \"unknown mode {}\"\nmsgstr \"tuntematon vaihtoehto -{}\"\n\n#: src/config.rs:564\nmsgid \"section can not be called {}\"\nmsgstr \"\"\n\n#: src/config.rs:581\nmsgid \"failed to find cache directory\"\nmsgstr \"ei löydetty välimuistikansiota\"\n\n#: src/config.rs:584\nmsgid \"failed to find config directory\"\nmsgstr \"ei löydetty asetuskansiota\"\n\n#: src/config.rs:588\n#, fuzzy\nmsgid \"failed to find state directory\"\nmsgstr \"ei löydetty välimuistikansiota\"\n\n#: src/config.rs:635\nmsgid \"config file '{}' does not exist\"\nmsgstr \"asetustiedosto '{}' ei ole olemassa\"\n\n#: src/config.rs:684\nmsgid \"only one operation may be used at a time\"\nmsgstr \"vain yksi operaatia on sallittu kerrallaan\"\n\n#: src/config.rs:795\nmsgid \"no local repo named {}\"\nmsgstr \"\"\n\n#: src/config.rs:821\nmsgid \"can not find local repo '{}' in pacman.conf\"\nmsgstr \"\"\n\"ei pystytty löytämään paikallista pakettivarastoa '{}' tiedostosta \"\n\"pacman.conf\"\n\n#: src/config.rs:866\nmsgid \"failed to initialize alpm: root={} dbpath={}\"\nmsgstr \"ei pystytty alustamaan alpm: root={} dbpath={}\"\n\n#: src/config.rs:941 src/config.rs:1102\nmsgid \"value can not be empty for key '{}'\"\nmsgstr \"arvo ei voi olla tyhjä avaimelle '{}'\"\n\n#: src/config.rs:957\nmsgid \"key '{}' does not belong to a section\"\nmsgstr \"avain '{}' ei kuulu mihinkään osioon\"\n\n#: src/config.rs:971 src/config.rs:988 src/config.rs:990 src/config.rs:1005\nmsgid \"key can not be empty\"\nmsgstr \"avain ei voi olla tyhjä\"\n\n#: src/config.rs:981\n#, fuzzy\nmsgid \"error: unknown option '{}' in repo\"\nmsgstr \"virhe: tuntematon vaihtoehto '{}' osiossa [bin]\"\n\n#: src/config.rs:991\nmsgid \"key can not contain null bytes\"\nmsgstr \"\"\n\n#: src/config.rs:994\nmsgid \"value can not contain null bytes\"\nmsgstr \"\"\n\n#: src/config.rs:1030\nmsgid \"error: unknown option '{}' in section [bin]\"\nmsgstr \"virhe: tuntematon vaihtoehto '{}' osiossa [bin]\"\n\n#: src/config.rs:1150\nmsgid \"error: unknown option '{}' in section [options]\"\nmsgstr \"virhe: tuntematon vaihtoehto '{}' osiossa [options]\"\n\n#: src/config.rs:1155\nmsgid \"option '{}' does not take a value\"\nmsgstr \"vaihtoehto '{}' ei ota arvoa\"\n\n#: src/config.rs:1187 src/resolver.rs:136\nmsgid \"There are {n} providers available for {pkg}:\"\nmsgstr \"On olemassa {n} tarjoajaa paketille {pkg}\"\n\n#: src/config.rs:1201 src/info.rs:85 src/info.rs:190 src/info.rs:224\n#: src/resolver.rs:95 src/resolver.rs:144\nmsgid \"Repository\"\nmsgstr \"Pakettivarasto\"\n\n#: src/config.rs:1227\nmsgid \"  failed to sync {}\"\nmsgstr \"  epäonnistuttiin synkronoimaan {}\"\n\n#: src/devel.rs:136 src/download.rs:207\nmsgid \"Querying AUR...\"\nmsgstr \"Etsitään AURista...\"\n\n#: src/devel.rs:157 src/devel.rs:181 src/install.rs:203\nmsgid \"failed to parse srcinfo for '{}'\"\nmsgstr \"ei pystytty jäsentämään srcinfoa paketille '{}'\"\n\n#: src/devel.rs:201\nmsgid \"Looking for devel repos...\"\nmsgstr \"Etsitään devel pakettivarastoja...\"\n\n#: src/devel.rs:210\nmsgid \"failed to save devel info\"\nmsgstr \"ei pystytty tallentamaan devel infoa\"\n\n#: src/devel.rs:218\n#, fuzzy\nmsgid \"failed to create state directory: {}\"\nmsgstr \"ei löydetty välimuistikansiota\"\n\n#: src/devel.rs:233\n#, fuzzy\nmsgid \"failed to create temporary file: {}\"\nmsgstr \"ei pystytty suorittamaan tiedostoselainta: {}\"\n\n#: src/devel.rs:238\n#, fuzzy\nmsgid \"failed to write to temporary file: {}\"\nmsgstr \"ei pystytty lukemaan kansiota: {}\"\n\n#: src/devel.rs:244\nmsgid \"failed to rename '{temp}' to '{devel_toml}\"\nmsgstr \"\"\n\n#: src/devel.rs:490\nmsgid \"package does not have an update\"\nmsgstr \"paketille ei ole päivitystä\"\n\n#: src/devel.rs:536\nmsgid \"failed to lookup: {}\"\nmsgstr \"ei pystytty hakemaan: {}\"\n\n#: src/devel.rs:564\n#, fuzzy\nmsgid \"invalid toml: {}\"\nmsgstr \"virheellinen json: {}\"\n\n#: src/download.rs:100\nmsgid \"packages not in the AUR: \"\nmsgstr \"paketit, jotka eivät ole AURissa: \"\n\n#: src/download.rs:111\nmsgid \"marked out of date: \"\nmsgstr \"vanhentuneeksi merkatut: \"\n\n#: src/download.rs:122\nmsgid \"orphans: \"\nmsgstr \"orvot: \"\n\n#: src/download.rs:260\nmsgid \"downloading: {pkg}\"\nmsgstr \"ladataan: {pkg}\"\n\n#: src/download.rs:279 src/download.rs:602 src/info.rs:55 src/info.rs:180\n#: src/query.rs:49\nmsgid \"package '{}' was not found\"\nmsgstr \"pakettia '{}' ei löydetty\"\n\n#: src/download.rs:291\n#, fuzzy\nmsgid \"duplicate PKGBUILD: {}\"\nmsgstr \"duplikaatti paketti: {}\"\n\n#: src/download.rs:307\nmsgid \"package '{}' exists but has no PKGBUILD -- skipping\"\nmsgstr \"\"\n\n#: src/download.rs:340\nmsgid \"Downloading PKGBUILDs...\"\nmsgstr \"Ladataan PKGBUILDeja...\"\n\n#: src/download.rs:344\nmsgid \" PKGBUILDs up to date\"\nmsgstr \" PKGBUILDit ovat ajantasalla\"\n\n#: src/exec.rs:72\nmsgid \"failed to run:\"\nmsgstr \"epäonnistuttiin suorittamaan:\"\n\n#: src/exec.rs:174\nmsgid \"Pacman is currently in use, please wait...\"\nmsgstr \"Pacman on tällä hetkellä käytössä, odota...\"\n\n#: src/fmt.rs:24 src/info.rs:275 src/search.rs:293 src/search.rs:350\nmsgid \"None\"\nmsgstr \"Ei ole\"\n\n#: src/fmt.rs:245\nmsgid \"Repo\"\nmsgstr \"Pakettivarasto\"\n\n#: src/fmt.rs:252\nmsgid \"Repo Make\"\nmsgstr \"Pakettivarasto Make\"\n\n#: src/fmt.rs:272\nmsgid \"Pkgbuilds Make\"\nmsgstr \"\"\n\n#: src/fmt.rs:274\nmsgid \"Aur Make\"\nmsgstr \"Aur Make\"\n\n#: src/fmt.rs:319\n#, fuzzy\nmsgid \"Repo ({})\"\nmsgstr \"Pakettivarasto\"\n\n#: src/fmt.rs:327\n#, fuzzy\nmsgid \"Old Version\"\nmsgstr \"Versio\"\n\n#: src/fmt.rs:328\n#, fuzzy\nmsgid \"New Version\"\nmsgstr \"Versio\"\n\n#: src/fmt.rs:329\nmsgid \"Make Only\"\nmsgstr \"\"\n\n#: src/fmt.rs:330\n#, fuzzy\nmsgid \"Yes\"\nmsgstr \"kyllä\"\n\n#: src/fmt.rs:331 src/info.rs:221\nmsgid \"No\"\nmsgstr \"Ei\"\n\n#: src/fmt.rs:419\nmsgid \"insufficient columns available for table display\"\nmsgstr \"\"\n\n#: src/help.rs:4\nmsgid \"Usage:\"\nmsgstr \"\"\n\n#: src/help.rs:5\nmsgid \"    paru\"\nmsgstr \"\"\n\n#: src/help.rs:6\nmsgid \"    paru <operation> [...]\"\nmsgstr \"\"\n\n#: src/help.rs:7\nmsgid \"    paru <package(s)>\"\nmsgstr \"\"\n\n#: src/help.rs:9\nmsgid \"Pacman operations:\"\nmsgstr \"\"\n\n#: src/help.rs:10\nmsgid \"    paru {-h --help}\"\nmsgstr \"\"\n\n#: src/help.rs:11\nmsgid \"    paru {-V --version}\"\nmsgstr \"\"\n\n#: src/help.rs:12\nmsgid \"    paru {-D --database}    <options> <package(s)>\"\nmsgstr \"\"\n\n#: src/help.rs:13\nmsgid \"    paru {-F --files}       [options] [package(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:14\nmsgid \"    paru {-Q --query}       [options] [package(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:15\nmsgid \"    paru {-R --remove}      [options] <package(s)>\"\nmsgstr \"\"\n\n#: src/help.rs:16\nmsgid \"    paru {-S --sync}        [options] [package(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:17\nmsgid \"    paru {-T --deptest}     [options] [package(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:18\nmsgid \"    paru {-U --upgrade}     [options] [file(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:20\nmsgid \"New operations:\"\nmsgstr \"\"\n\n#: src/help.rs:21\nmsgid \"    paru {-P --show}        [options]\"\nmsgstr \"\"\n\n#: src/help.rs:22\nmsgid \"    paru {-G --getpkgbuild} [package(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:23\nmsgid \"    paru {-B --build}       [dir(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:25\nmsgid \"If no arguments are provided 'paru -Syu' will be performed\"\nmsgstr \"\"\n\n#: src/help.rs:27\nmsgid \"Options without operation:\"\nmsgstr \"\"\n\n#: src/help.rs:28\nmsgid \"    -c --clean            Remove unneeded dependencies\"\nmsgstr \"\"\n\n#: src/help.rs:29\nmsgid \"\"\n\"       --gendb            Generates development package DB used for updating\"\nmsgstr \"\"\n\n#: src/help.rs:31\nmsgid \"New options:\"\nmsgstr \"\"\n\n#: src/help.rs:32\nmsgid \"       --repo              Assume targets are from the repositories\"\nmsgstr \"\"\n\n#: src/help.rs:33\nmsgid \"\"\n\"       --pkgbuilds         Assume targets are from pkgbuild repositories\"\nmsgstr \"\"\n\n#: src/help.rs:34\nmsgid \"    -a --aur               Assume targets are from the AUR\"\nmsgstr \"\"\n\n#: src/help.rs:35\nmsgid \"    --mode      <mode>     Sets where paru looks for targets\"\nmsgstr \"\"\n\n#: src/help.rs:37\nmsgid \"\"\n\"    --interactive          Enable interactive package selection for -S, -R, \"\n\"-Ss and -Qs\"\nmsgstr \"\"\n\n#: src/help.rs:39\nmsgid \"    --aururl    <url>      Set an alternative AUR URL\"\nmsgstr \"\"\n\n#: src/help.rs:40\nmsgid \"\"\n\"    --aurrpcur  <url>      Set an alternative URL for the AUR /rpc endpoint\"\nmsgstr \"\"\n\n#: src/help.rs:41\nmsgid \"    --clonedir  <dir>      Directory used to download and run PKGBUILDs\"\nmsgstr \"\"\n\n#: src/help.rs:43\nmsgid \"    --makepkg   <file>     makepkg command to use\"\nmsgstr \"\"\n\n#: src/help.rs:44\nmsgid \"    --mflags    <flags>    Pass arguments to makepkg\"\nmsgstr \"\"\n\n#: src/help.rs:45\nmsgid \"    --pacman    <file>     pacman command to use\"\nmsgstr \"\"\n\n#: src/help.rs:46\nmsgid \"    --git       <file>     git command to use\"\nmsgstr \"\"\n\n#: src/help.rs:47\nmsgid \"    --gitflags  <flags>    Pass arguments to git\"\nmsgstr \"\"\n\n#: src/help.rs:48\nmsgid \"    --sudo      <file>     sudo command to use\"\nmsgstr \"\"\n\n#: src/help.rs:49\nmsgid \"    --sudoflags <flags>    Pass arguments to sudo\"\nmsgstr \"\"\n\n#: src/help.rs:50\nmsgid \"    --pkgctl    <file>     pkgctl command to use\"\nmsgstr \"\"\n\n#: src/help.rs:51\nmsgid \"    --bat       <file>     bat command to use\"\nmsgstr \"\"\n\n#: src/help.rs:52\nmsgid \"    --batflags  <flags>    Pass arguments to bat\"\nmsgstr \"\"\n\n#: src/help.rs:53\nmsgid \"    --gpg       <file>     gpg command to use\"\nmsgstr \"\"\n\n#: src/help.rs:54\nmsgid \"    --gpgflags  <flags>    Pass arguments to gpg\"\nmsgstr \"\"\n\n#: src/help.rs:55\nmsgid \"    --fm        <file>     File manager to use for PKGBUILD review\"\nmsgstr \"\"\n\n#: src/help.rs:56\nmsgid \"    --fmflags   <flags>    Pass arguments to file manager\"\nmsgstr \"\"\n\n#: src/help.rs:58\nmsgid \"    --completioninterval   <n> Time in days to refresh completion cache\"\nmsgstr \"\"\n\n#: src/help.rs:59\nmsgid \"\"\n\"    --sortby    <field>    Sort AUR results by a specific field during search\"\nmsgstr \"\"\n\n#: src/help.rs:60\nmsgid \"    --searchby  <field>    Search for packages using a specified field\"\nmsgstr \"\"\n\n#: src/help.rs:61\nmsgid \"\"\n\"    --limit     <limit>    Limits the number of items returned in a search\"\nmsgstr \"\"\n\n#: src/help.rs:62\nmsgid \"    -x --regex             Enable regex for aur search\"\nmsgstr \"\"\n\n#: src/help.rs:64\nmsgid \"    --skipreview           Skip the review process\"\nmsgstr \"\"\n\n#: src/help.rs:65\nmsgid \"    --review               Don't skip the review process\"\nmsgstr \"\"\n\n#: src/help.rs:66\nmsgid \"    --[no]upgrademenu      Show interactive menu to skip upgrades\"\nmsgstr \"\"\n\n#: src/help.rs:67\n#, fuzzy\nmsgid \"    --[no]removemake       Remove makedepends after install\"\nmsgstr \"Poistetaanko make riippuvuudet asennuksen jälkeen?\"\n\n#: src/help.rs:68\nmsgid \"    --[no]cleanafter       Remove package sources after install\"\nmsgstr \"\"\n\n#: src/help.rs:69\nmsgid \"    --[no]rebuild          Always build target packages\"\nmsgstr \"\"\n\n#: src/help.rs:70\nmsgid \"    --[no]redownload       Always download PKGBUILDs of targets\"\nmsgstr \"\"\n\n#: src/help.rs:72\nmsgid \"    --[no]pgpfetch         Prompt to import PGP keys from PKGBUILDs\"\nmsgstr \"\"\n\n#: src/help.rs:73\nmsgid \"\"\n\"    --[no]useask           Automatically resolve conflicts using pacman's \"\n\"ask flag\"\nmsgstr \"\"\n\n#: src/help.rs:74\nmsgid \"\"\n\"    --[no]savechanges      Commit changes to pkgbuilds made during review\"\nmsgstr \"\"\n\n#: src/help.rs:75\nmsgid \"    --[no]newsonupgrade    Print new news during sysupgrade\"\nmsgstr \"\"\n\n#: src/help.rs:76\nmsgid \"\"\n\"    --[no]combinedupgrade  Refresh then perform the repo and AUR upgrade \"\n\"together\"\nmsgstr \"\"\n\n#: src/help.rs:77\nmsgid \"\"\n\"    --[no]batchinstall     Build multiple AUR packages then install them \"\n\"together\"\nmsgstr \"\"\n\n#: src/help.rs:78\nmsgid \"\"\n\"    --[no]provides         Look for matching providers when searching for \"\n\"packages\"\nmsgstr \"\"\n\n#: src/help.rs:79\nmsgid \"    --[no]devel            Check development packages during sysupgrade\"\nmsgstr \"\"\n\n#: src/help.rs:80\nmsgid \"\"\n\"    --[no]installdebug     Also install debug packages when a package \"\n\"provides them\"\nmsgstr \"\"\n\n#: src/help.rs:81\nmsgid \"\"\n\"    --[no]sudoloop         Loop sudo calls in the background to avoid timeout\"\nmsgstr \"\"\n\n#: src/help.rs:82\nmsgid \"    --[no]chroot           Build packages in a chroot\"\nmsgstr \"\"\n\n#: src/help.rs:83\nmsgid \"\"\n\"    --[no]failfast         Exit as soon as building an AUR package fails\"\nmsgstr \"\"\n\n#: src/help.rs:84\nmsgid \"\"\n\"    --[no]keepsrc          Keep src/ and pkg/ dirs after building packages\"\nmsgstr \"\"\n\n#: src/help.rs:85\nmsgid \"    --[no]sign             Sign packages with gpg\"\nmsgstr \"\"\n\n#: src/help.rs:86\nmsgid \"    --[no]signdb           Sign databases with gpg\"\nmsgstr \"\"\n\n#: src/help.rs:87\nmsgid \"    --[no]localrepo        Build packages into a local repo\"\nmsgstr \"\"\n\n#: src/help.rs:88\nmsgid \"\"\n\"    --nocheck              Don't resolve checkdepends or run the check \"\n\"function\"\nmsgstr \"\"\n\n#: src/help.rs:90\nmsgid \"\"\n\"    --rootchrootpkgs       Packages to install in the root chroot (default: \"\n\"base-devel)\"\nmsgstr \"\"\n\n#: src/help.rs:92\nmsgid \"\"\n\"    --develsuffixes        Suffixes used to decide if a package is a devel \"\n\"package\"\nmsgstr \"\"\n\n#: src/help.rs:93\nmsgid \"    --ignoredevel          Ignore devel upgrades for specified packages\"\nmsgstr \"\"\n\n#: src/help.rs:94\nmsgid \"\"\n\"    --bottomup             Shows AUR's packages first and then repository's\"\nmsgstr \"\"\n\n#: src/help.rs:95\nmsgid \"\"\n\"    --topdown              Shows repository's packages first and then AUR's\"\nmsgstr \"\"\n\n#: src/help.rs:97\nmsgid \"show specific options:\"\nmsgstr \"\"\n\n#: src/help.rs:98\nmsgid \"    -c --complete         Used for completions\"\nmsgstr \"\"\n\n#: src/help.rs:99\nmsgid \"    -s --stats            Display system package statistics\"\nmsgstr \"\"\n\n#: src/help.rs:100\nmsgid \"    -w --news             Print arch news\"\nmsgstr \"\"\n\n#: src/help.rs:102\nmsgid \"getpkgbuild specific options:\"\nmsgstr \"\"\n\n#: src/help.rs:103\nmsgid \"    -p --print            Print pkgbuild to stdout\"\nmsgstr \"\"\n\n#: src/help.rs:104\nmsgid \"    -c --comments         Print AUR comments for pkgbuild\"\nmsgstr \"\"\n\n#: src/help.rs:105\nmsgid \"    -s --ssh              Clone package using SSH\"\nmsgstr \"\"\n\n#: src/help.rs:107\nmsgid \"Build specific options:\"\nmsgstr \"\"\n\n#: src/help.rs:108\nmsgid \"    -i --install          Install package as well as building\"\nmsgstr \"\"\n\n#: src/info.rs:86 src/info.rs:191 src/info.rs:225\nmsgid \"Name\"\nmsgstr \"Nimi\"\n\n#: src/info.rs:87 src/info.rs:192 src/info.rs:226\nmsgid \"Version\"\nmsgstr \"Versio\"\n\n#: src/info.rs:88 src/info.rs:193 src/info.rs:227\nmsgid \"Description\"\nmsgstr \"Kuvaus\"\n\n#: src/info.rs:89 src/info.rs:195 src/info.rs:235\nmsgid \"Groups\"\nmsgstr \"Ryhmät\"\n\n#: src/info.rs:90 src/info.rs:196 src/info.rs:236\nmsgid \"Licenses\"\nmsgstr \"Lisenssit\"\n\n#: src/info.rs:91 src/info.rs:197 src/info.rs:237\nmsgid \"Provides\"\nmsgstr \"Tarjoaa\"\n\n#: src/info.rs:92 src/info.rs:198 src/info.rs:238\nmsgid \"Depends On\"\nmsgstr \"Riippuu paketeista\"\n\n#: src/info.rs:93 src/info.rs:199 src/info.rs:239\nmsgid \"Make Deps\"\nmsgstr \"Make riippuvuudet\"\n\n#: src/info.rs:94 src/info.rs:200 src/info.rs:240\nmsgid \"Check Deps\"\nmsgstr \"Tarkastus riippuvuudet\"\n\n#: src/info.rs:95 src/info.rs:201 src/info.rs:241\nmsgid \"Optional Deps\"\nmsgstr \"Vaihtoehtoiset riippuvuudet\"\n\n#: src/info.rs:96 src/info.rs:202 src/info.rs:242\nmsgid \"Conflicts With\"\nmsgstr \"Ristiriidassa paketeille\"\n\n#: src/info.rs:97 src/info.rs:243\nmsgid \"Maintainer\"\nmsgstr \"Ylläpitäjä\"\n\n#: src/info.rs:98 src/info.rs:244\nmsgid \"Votes\"\nmsgstr \"Äänet\"\n\n#: src/info.rs:99 src/info.rs:245\nmsgid \"Popularity\"\nmsgstr \"Suosio\"\n\n#: src/info.rs:100 src/info.rs:246\nmsgid \"First Submitted\"\nmsgstr \"Ensimmäiseksi toimitettu\"\n\n#: src/info.rs:101 src/info.rs:247\nmsgid \"Last Modified\"\nmsgstr \"Viimeksi muokattu\"\n\n#: src/info.rs:102 src/info.rs:249\nmsgid \"Out Of Date\"\nmsgstr \"Vanhentunut\"\n\n#: src/info.rs:103 src/info.rs:254\nmsgid \"ID\"\nmsgstr \"ID\"\n\n#: src/info.rs:104 src/info.rs:255\nmsgid \"Package Base ID\"\nmsgstr \"Paketin pohja ID\"\n\n#: src/info.rs:105 src/info.rs:256\nmsgid \"Keywords\"\nmsgstr \"Avainsanat\"\n\n#: src/info.rs:106 src/info.rs:258\nmsgid \"Snapshot URL\"\nmsgstr \"Snapshot URL\"\n\n#: src/info.rs:107 src/info.rs:203\nmsgid \"Path\"\nmsgstr \"\"\n\n#: src/install.rs:166 src/query.rs:48 src/lib.rs:101\nmsgid \"error:\"\nmsgstr \"virhe:\"\n\n#: src/install.rs:167\nmsgid \"could not get news\"\nmsgstr \"ei voitu hakea uutisia\"\n\n#: src/install.rs:172 src/install.rs:1127\nmsgid \"Proceed with installation?\"\nmsgstr \"Jatka asentamista?\"\n\n#: src/install.rs:207\n#, fuzzy\nmsgid \"could not find .SRCINFO for '{}'\"\nmsgstr \"ei pystytty löytämään .SRCINFOa paketille: '{}'\"\n\n#: src/install.rs:353\nmsgid \"could not find package '{pkg}' in package list for '{base}'\"\nmsgstr \"ei löydetty pakettia '{pkg}' pakettilistassa '{base}'\"\n\n#: src/install.rs:451\nmsgid \"packages failed to build: {}\"\nmsgstr \"pakettien rakennus epäonnistui: {}\"\n\n#: src/install.rs:523\nmsgid \"adding {} to the install list\"\nmsgstr \"lisätään {} asennuslistaan\"\n\n#: src/install.rs:553 src/install.rs:568\nmsgid \"failed to download sources for '{}'\"\nmsgstr \"ei pystytty latamaan lähteitä paketille '{}'\"\n\n#: src/install.rs:577 src/install.rs:603 src/install.rs:611\nmsgid \"failed to build '{}'\"\nmsgstr \"ei pystytty rakentamaan '{}'\"\n\n#: src/install.rs:580 src/install.rs:784\nmsgid \"{}: parsing pkg list...\"\nmsgstr \"{}: jäsennetään pkg listaa...\"\n\n#: src/install.rs:584\n#, fuzzy\nmsgid \"package list does not match srcinfo\"\nmsgstr \"mitkään paketit ei vastannut hakua\"\n\n#: src/install.rs:618\nmsgid \"{}-{} is up to date -- skipping build\"\nmsgstr \"{}-{} on ajantasalla -- ohitetaan rakennus\"\n\n#: src/install.rs:775\nmsgid \"can't build {base}, deps not satisfied: {deps}\"\nmsgstr \"\"\n\n#: src/install.rs:846\nmsgid \"fetching devel info...\"\nmsgstr \"haetaan devel tietoa...\"\n\n#: src/install.rs:911 src/lib.rs:240\nmsgid \"no targets specified (use -h for help)\"\nmsgstr \"yhtään kohdetta ei ole määritelty (-h tulostaa ohjeen)\"\n\n#: src/install.rs:1008 src/install.rs:1097 src/search.rs:450 src/search.rs:476\n#: src/lib.rs:304\nmsgid \" there is nothing to do\"\nmsgstr \" ei ole mitään tehtävää\"\n\n#: src/install.rs:1016\nmsgid \"Resolving dependencies...\"\nmsgstr \"Selvitetään riippuvuuksia...\"\n\n#: src/install.rs:1077\nmsgid \"can't install AUR package as root\"\nmsgstr \"ei pystytty asentamaan AUR pakettia root-käyttäjänä\"\n\n#: src/install.rs:1080\nmsgid \"--downloadonly can't be used for AUR packages\"\nmsgstr \"\"\n\n#: src/install.rs:1113\nmsgid \"Remove make dependencies after install?\"\nmsgstr \"Poistetaanko make riippuvuudet asennuksen jälkeen?\"\n\n#: src/install.rs:1124\nmsgid \"Proceed to review?\"\nmsgstr \"Jatketaanko tarkistukseen?\"\n\n#: src/install.rs:1177\nmsgid \"no architecture\"\nmsgstr \"ei arkkitehtuuria\"\n\n#: src/install.rs:1191\nmsgid \"The following packages are not compatible with your architecture:\"\nmsgstr \"Seuraavat paketit eivät ole yhteensopvia arkkitehtuurisi kanssa:\"\n\n#: src/install.rs:1205\nmsgid \"Would you like to try build them anyway?\"\nmsgstr \"Haluaisitko kuitenkin kokeilla niiden rakentamista?\"\n\n#: src/install.rs:1349\nmsgid \"duplicate packages: {}\"\nmsgstr \"duplikaatti paketti: {}\"\n\n#: src/install.rs:1353\nmsgid \"could not find all required packages:\"\nmsgstr \"ei pystytty löytämään kaikkia vaadittuja paketteja\"\n\n#: src/install.rs:1365\nmsgid \"\"\n\"\\n\"\n\"    {missing} (wanted by: {stack})\"\nmsgstr \"\"\n\"\\n\"\n\"    {missing} ({stack} haluaa tämän)\"\n\n#: src/install.rs:1379 src/install.rs:2122\nmsgid \"{}-{} is up to date -- skipping\"\nmsgstr \"{}-{} on ajantasalla -- ohitetaan\"\n\n#: src/install.rs:1387\nmsgid \"Calculating conflicts...\"\nmsgstr \"Lasketaan ristiriitoja...\"\n\n#: src/install.rs:1410\nmsgid \"Calculating inner conflicts...\"\nmsgstr \"Lasketaan sisäisiä ristiriitoja...\"\n\n#: src/install.rs:1422\nmsgid \"Inner conflicts found:\"\nmsgstr \"Sisäiset ristiriidat löydetty:\"\n\n#: src/install.rs:1444\nmsgid \"Conflicts found:\"\nmsgstr \"Ristiriidat löydetty:\"\n\n#: src/install.rs:1467\nmsgid \"Conflicting packages will have to be confirmed manually\"\nmsgstr \"Ristiriitaiset paketit on vahvistettava manuaalisesti\"\n\n#: src/install.rs:1471\nmsgid \"can not install conflicting packages with --noconfirm\"\nmsgstr \"ei voida asentaa ristiriitaisia paketteja --noconfirm:illa\"\n\n#: src/install.rs:1599\nmsgid \"failed to execute file manager: {}\"\nmsgstr \"ei pystytty suorittamaan tiedostoselainta: {}\"\n\n#: src/install.rs:1602\n#, fuzzy\nmsgid \"file manager '{}' did not execute successfully\"\nmsgstr \"tiedostoselain ei suorittunut onnistuneesti\"\n\n#: src/install.rs:1620\nmsgid \"failed to read dir: {}\"\nmsgstr \"ei pystytty lukemaan kansiota: {}\"\n\n#: src/install.rs:1677\nmsgid \"failed to open: {}\"\nmsgstr \"ei pystytty avaamaan: {}\"\n\n#: src/install.rs:1697\nmsgid \"binary file: {}\"\nmsgstr \"binääri tiedosto: {}\"\n\n#: src/install.rs:1719 src/install.rs:1790\nmsgid \"Accept changes?\"\nmsgstr \"\"\n\n#: src/install.rs:1759\nmsgid \"Paging with less. Press 'q' to quit or 'h' for help.\"\nmsgstr \"\"\n\n#: src/install.rs:1794\nmsgid \" nothing new to review\"\nmsgstr \" ei uutta tarkistettavaa\"\n\n#: src/install.rs:2070\nmsgid \"can't find package name in packagelist: {}\"\nmsgstr \"ei löydetty paketin nimeä pakettilistassa: {}\"\n\n#: src/install.rs:2142\nmsgid \"Signing packages...\"\nmsgstr \"Allekirjoitetaan paketteja...\"\n\n#: src/install.rs:2172\nmsgid \"{}-{} is up to date -- skipping install\"\nmsgstr \"{}-{} on ajantasalla -- ohitetaan asennus\"\n\n#: src/keys.rs:57\nmsgid \"keys need to be imported:\"\nmsgstr \"avaimet on asennettava:\"\n\n#: src/keys.rs:62\nmsgid \"     {key} wanted by: {base}\"\nmsgstr \"     {base} haluaa {key}\"\n\n#: src/news.rs:57\nmsgid \"No Date \"\nmsgstr \"Ei Päivämäärää \"\n\n#: src/news.rs:60\nmsgid \"No Title\"\nmsgstr \"Ei Otsikkoa\"\n\n#: src/news.rs:69\nmsgid \"no new news\"\nmsgstr \"ei uusia uutisia\"\n\n#: src/pkgbuild.rs:91\n#, fuzzy\nmsgid \"repo {} does not have a URL or Path\"\nmsgstr \"vaihtoehto '{}' ei ota arvoa\"\n\n#: src/pkgbuild.rs:153\nmsgid \"repo {} not downloaded (use -Sy --pkgbuilds to download)\"\nmsgstr \"\"\n\n#: src/pkgbuild.rs:200\nmsgid \"Generating .SRCINFO for {repo}/{dir}...\"\nmsgstr \"\"\n\n#: src/pkgbuild.rs:278\n#, fuzzy\nmsgid \"failed to parse srcinfo \\\"{}\\\"\"\nmsgstr \"ei pystytty jäsentämään srcinfoa paketille '{}'\"\n\n#: src/pkgbuild.rs:368\n#, fuzzy\nmsgid \"Downloading PKGBUILD Repos...\"\nmsgstr \"Ladataan PKGBUILDeja...\"\n\n#: src/pkgbuild.rs:422\nmsgid \"failed to parse srcinfo generated by makepkg\"\nmsgstr \"ei pystytty jäsentämään makepkg:in luomaa srcinfoa\"\n\n#: src/query.rs:151\nmsgid \" [ignored]\"\nmsgstr \" [ohitettu]\"\n\n#: src/repo.rs:253\nmsgid \"failed to get current exe\"\nmsgstr \"ei pystytty hakemaan nykyistä exe:ä\"\n\n#: src/repo.rs:298\nmsgid \"syncing local databases...\"\nmsgstr \"synkronoidaan paikallisia tietokantoja...\"\n\n#: src/repo.rs:304\nmsgid \"  nothing to do\"\nmsgstr \"  ei mitään tehtävää\"\n\n#: src/repo.rs:335\n#, fuzzy\nmsgid \"there is nothing to do\"\nmsgstr \" ei ole mitään tehtävää\"\n\n#: src/repo.rs:341\n#, fuzzy\nmsgid \"Packages\"\nmsgstr \"Paketin pohja ID\"\n\n#: src/repo.rs:354\n#, fuzzy\nmsgid \"Proceed with removal?\"\nmsgstr \"Jatketaanko tarkistukseen?\"\n\n#: src/repo.rs:415\nmsgid \" [installed: {}]\"\nmsgstr \" [asennettu: {}]\"\n\n#: src/repo.rs:417 src/sync.rs:144\nmsgid \" [installed]\"\nmsgstr \" [asennettu]\"\n\n#: src/search.rs:41\nmsgid \"aur search failed\"\nmsgstr \"aur haku epäonnistui\"\n\n#: src/search.rs:285 src/search.rs:338 src/search.rs:410\n#, fuzzy\nmsgid \"[installed: {}]\"\nmsgstr \" [asennettu: {}]\"\n\n#: src/search.rs:287 src/search.rs:340 src/search.rs:412\n#, fuzzy\nmsgid \"[installed]\"\nmsgstr \" [asennettu]\"\n\n#: src/search.rs:332\n#, fuzzy\nmsgid \"[out-of-date: {}]\"\nmsgstr \"[Vanhentunut: {}]\"\n\n#: src/search.rs:347\n#, fuzzy\nmsgid \"[orphaned]\"\nmsgstr \"[Hylätty]\"\n\n#: src/search.rs:491\nmsgid \"no packages match search\"\nmsgstr \"mitkään paketit ei vastannut hakua\"\n\n#: src/search.rs:529\nmsgid \"Packages to install (eg: 1 2 3, 1-3):\"\nmsgstr \"Asennettavat paketit (esim 1 2 3, 1-3):\"\n\n#: src/search.rs:531\n#, fuzzy\nmsgid \"Select packages (eg: 1 2 3, 1-3):\"\nmsgstr \"Asennettavat paketit (esim 1 2 3, 1-3):\"\n\n#: src/stats.rs:90\nmsgid \"Total installed packages: {}\"\nmsgstr \"Yhteensä asennettuja paketteja: {}\"\n\n#: src/stats.rs:94\nmsgid \"Aur packages: {}\"\nmsgstr \"Aur paketit: {}\"\n\n#: src/stats.rs:98\nmsgid \"Repo packages: {}\"\nmsgstr \"Varasto paketit: {}\"\n\n#: src/stats.rs:102\nmsgid \"Explicitly installed packages: {}\"\nmsgstr \"Nimenomaisesti asennetut paketit: {}\"\n\n#: src/stats.rs:106\nmsgid \"Total Size occupied by packages: {}\"\nmsgstr \"Pakettien viemä kokonaistila: {}\"\n\n#: src/stats.rs:113\nmsgid \"Ten biggest packages:\"\nmsgstr \"Kymmenen suurinta pakettia\"\n\n#: src/upgrade.rs:126\n#, fuzzy\nmsgid \"Looking for PKGBUILD upgrades...\"\nmsgstr \"Etsitään AUR päivityksiä\"\n\n#: src/upgrade.rs:134\n#, fuzzy\nmsgid \"Looking for AUR upgrades...\"\nmsgstr \"Etsitään AUR päivityksiä\"\n\n#: src/upgrade.rs:165\n#, fuzzy\nmsgid \"Looking for devel upgrades...\"\nmsgstr \"Etsintää devel päivityksiä\"\n\n#: src/upgrade.rs:193 src/upgrade.rs:206\nmsgid \"warning:\"\nmsgstr \"varoitus:\"\n\n#: src/upgrade.rs:195 src/upgrade.rs:208\nmsgid \"{pkg}: ignoring package upgrade ({old} => {new})\"\nmsgstr \"{pkg}: ohitetaan paketti päivitys ({old} => {new})\"\n\n#: src/upgrade.rs:400\nmsgid \"Packages to exclude (eg: 1 2 3, 1-3):\"\nmsgstr \"Poissuljettavat paketit (esim: 1 2 3, 1-3):\"\n\n#: src/util.rs:121\nmsgid \"[Y/n]:\"\nmsgstr \"[K/e]:\"\n\n#: src/util.rs:123\nmsgid \"[y/N]:\"\nmsgstr \"[k/E]:\"\n\n#: src/util.rs:142\nmsgid \"y\"\nmsgstr \"k\"\n\n#: src/util.rs:142\nmsgid \"yes\"\nmsgstr \"kyllä\"\n\n#: src/util.rs:300\nmsgid \"Enter a number (default=1): \"\nmsgstr \"Anna luku (oletus=1): \"\n\n#: src/util.rs:317\nmsgid \"invalid number: {}\"\nmsgstr \"virheellinen luku: {}\"\n\n#: src/util.rs:327\nmsgid \"invalid value: {n} is not between 1 and {max}\"\nmsgstr \"virheellinen arvo: {n} ei ole 1 ja {max} välillä\"\n\n#: src/resolver.rs:83\nmsgid \"There are {} members in group\"\nmsgstr \"Ryhmässä on {} jäsentä\"\n\n#: src/resolver.rs:108\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Enter a selection (default=all): \"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Anna valinta (oletus=kaikki): \"\n\n#: src/lib.rs:206\nmsgid \"can not use chroot builds: devtools is not installed\"\nmsgstr \"ei voida käyttää chroot rakennuksia: devtools ei ole asennettu\"\n\n#: src/lib.rs:313\n#, fuzzy\nmsgid \"no operation specified (use -h for help)\"\nmsgstr \"yhtään kohdetta ei ole määritelty (-h tulostaa ohjeen)\"\n\n#~ msgid \"[Installed: {}]\"\n#~ msgstr \"[Asennettu: {}]\"\n\n#~ msgid \"[Installed]\"\n#~ msgstr \"[Asennettu]\"\n\n#~ msgid \"could not get current directory\"\n#~ msgstr \"ei voitu hakea nykyistä kansiota\"\n\n#~ msgid \"can not get repo packages: asp is not installed\"\n#~ msgstr \"ei voida hakea varasto paketteja: asp ei ole asennettu\"\n\n#~ msgid \"Missing ABS packages \"\n#~ msgstr \"Puuttuvia ABS paketteja \"\n\n#~ msgid \"does not contain PKGBUILD: skipping\"\n#~ msgstr \"ei sisällä PKGBUILDia: ohitetaan\"\n\n#~ msgid \"{} is not installed: can not get repo packages\"\n#~ msgstr \"{} ei ole asennettu: ei voitu hakea varasto paketteja\"\n\n#~ msgid \"asp returned {}\"\n#~ msgstr \"asp palautti {}\"\n\n#, fuzzy\n#~ msgid \"Generating .SRCINFO for {dir}...\"\n#~ msgstr \"ei pystytty löytämään .SRCINFOa paketille: '{}'\"\n\n#, fuzzy\n#~ msgid \"error: unknown section '{}'\"\n#~ msgstr \"tuntematon valinta '{}'\"\n\n#~ msgid \"can't build package as root\"\n#~ msgstr \"ei voida rakentaa pakettia root-käyttäjänä\"\n\n#~ msgid \"failed to build\"\n#~ msgstr \"ei pystytty rakentamaan\"\n\n#~ msgid \"parsing pkg list...\"\n#~ msgstr \"jäsennetään pkg listaa...\"\n\n#~ msgid \"\"\n#~ \"{} is a directory\\n\"\n#~ \"\\n\"\n#~ msgstr \"\"\n#~ \"{} on kansio\\n\"\n#~ \"\\n\"\n\n#~ msgid \"n\"\n#~ msgstr \"e\"\n\n#~ msgid \"no\"\n#~ msgstr \"ei\"\n"
  },
  {
    "path": "po/fr.po",
    "content": "# Paru French translation\n# Copyright (C) YEAR THE paru'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the paru package.\n#\n# Previous translators\n# Silejonu <erwan.amans@gmail.com>, 2021\\n\"\n# Cedric Brisson <cedric@cedricbrisson.ca>, 2021\\n\"\n# Paragoumba <github@paragoumba.fr>, 2023\\n\"\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: paru  1.10.0\\n\"\n\"Report-Msgid-Bugs-To: https://github.com/Morganamilo/paru\\n\"\n\"POT-Creation-Date: 2026-01-08 17:40+0000\\n\"\n\"PO-Revision-Date: 2025-12-21 22:33+0100\\n\"\n\"Last-Translator: Eliott Leboeuf <eliott.leboeuf@gmail.com>\\n\"\n\"Language-Team: Eliott Leboeuf <eliott.leboeuf@gmail.com>\\n\"\n\"Language: fr\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=2; plural=(n > 1);\\n\"\n\"X-Generator: Poedit 3.8\\n\"\n\n#: src/clean.rs:36\nmsgid \"Do you want to clean ALL AUR packages from cache?\"\nmsgstr \"Voulez-vous supprimer TOUS les paquets AUR du cache ?\"\n\n#: src/clean.rs:38\nmsgid \"Do you want to clean all other AUR packages from cache?\"\nmsgstr \"Voulez-vous supprimer tous les autres paquets AUR du cache ?\"\n\n#: src/clean.rs:41\nmsgid \"Clone Directory: {}\"\nmsgstr \"Dossier Clone : {}\"\n\n#: src/clean.rs:47\nmsgid \"\"\n\"\\n\"\n\"Diff Directory: {}\"\nmsgstr \"\"\n\"\\n\"\n\"Dossier Diff : {}\"\n\n#: src/clean.rs:49\nmsgid \"Do you want to remove all saved diffs?\"\nmsgstr \"Voulez-vous supprimer toutes les diffs sauvegardées ?\"\n\n#: src/clean.rs:65\nmsgid \"can't open diff dir: {}\"\nmsgstr \"impossible d'ouvrir le dossier diff : {}\"\n\n#: src/clean.rs:76 src/clean.rs:180\nmsgid \"could not remove '{}'\"\nmsgstr \"impossible de supprimer '{}'\"\n\n#: src/clean.rs:95\nmsgid \"can't open clone dir: {}\"\nmsgstr \"impossible d'ouvrir le dossier clone : {}\"\n\n#: src/clean.rs:141\nmsgid \"could not parse .SRCINFO for '{}'\"\nmsgstr \"impossible de trouver .SRCINFO pour '{}'\"\n\n#: src/command_line.rs:134\nmsgid \"option {} expects a value\"\nmsgstr \"l'option {} nécessite une valeur\"\n\n#: src/command_line.rs:165 src/command_line.rs:382\nmsgid \"option {} does not allow a value\"\nmsgstr \"option {} ne prend pas de valeur\"\n\n#: src/command_line.rs:373\nmsgid \"unknown option --{}\"\nmsgstr \"option inconnue --{}\"\n\n#: src/command_line.rs:376\nmsgid \"unknown option -{}\"\nmsgstr \"option inconnue -{}\"\n\n#: src/completion.rs:26 src/search.rs:179 src/sync.rs:113\n#, fuzzy\nmsgid \"failed to decode package list\"\nmsgstr \"échec du téléchargement des sources\"\n\n#: src/completion.rs:35\nmsgid \"failed to open cache file '{}'\"\nmsgstr \"échec de l'ouverture du fichier de cache '{}'\"\n\n#: src/completion.rs:83\nmsgid \"could not update aur cache\"\nmsgstr \"impossible de mettre à jour le cache de l'AUR\"\n\n#: src/config.rs:179\nmsgid \"invalid value '{val}' for key '{key}', expected: {exp}\"\nmsgstr \"valeur '{val}' invalide pour la clé '{key}', attendu : {exp}\"\n\n#: src/config.rs:332\nmsgid \"unknown mode {}\"\nmsgstr \"option inconnue {}\"\n\n#: src/config.rs:564\nmsgid \"section can not be called {}\"\nmsgstr \"la section ne peut pas être appelée {}\"\n\n#: src/config.rs:581\nmsgid \"failed to find cache directory\"\nmsgstr \"dossier de cache introuvable\"\n\n#: src/config.rs:584\nmsgid \"failed to find config directory\"\nmsgstr \"dossier de configuration introuvable\"\n\n#: src/config.rs:588\nmsgid \"failed to find state directory\"\nmsgstr \"dossier de cache introuvable\"\n\n#: src/config.rs:635\nmsgid \"config file '{}' does not exist\"\nmsgstr \"le fichier de configuration '{}' n'existe pas\"\n\n#: src/config.rs:684\nmsgid \"only one operation may be used at a time\"\nmsgstr \"une seule opération peut être utilisée à la fois\"\n\n#: src/config.rs:795\nmsgid \"no local repo named {}\"\nmsgstr \"pas de dépôt local nommé {}\"\n\n#: src/config.rs:821\nmsgid \"can not find local repo '{}' in pacman.conf\"\nmsgstr \"impossible de trouver le dépôt local '{}' dans pacman.conf\"\n\n#: src/config.rs:866\nmsgid \"failed to initialize alpm: root={} dbpath={}\"\nmsgstr \"échec d'initialisation d'alpm : root={} dbpath={}\"\n\n#: src/config.rs:941 src/config.rs:1102\nmsgid \"value can not be empty for key '{}'\"\nmsgstr \"la valeur ne peut être vide pour la clé '{}'\"\n\n#: src/config.rs:957\nmsgid \"key '{}' does not belong to a section\"\nmsgstr \"la clé '{}' n'appartient pas à une section\"\n\n#: src/config.rs:971 src/config.rs:988 src/config.rs:990 src/config.rs:1005\nmsgid \"key can not be empty\"\nmsgstr \"la clé ne peut pas être vide\"\n\n#: src/config.rs:981\nmsgid \"error: unknown option '{}' in repo\"\nmsgstr \"erreur: option '{}' inconnue dans la section [bin]\"\n\n#: src/config.rs:991\nmsgid \"key can not contain null bytes\"\nmsgstr \"la clé ne peut pas contenir de caractère nul\"\n\n#: src/config.rs:994\nmsgid \"value can not contain null bytes\"\nmsgstr \"la valeur ne peut pas contenir de caractère nul\"\n\n#: src/config.rs:1030\nmsgid \"error: unknown option '{}' in section [bin]\"\nmsgstr \"erreur : option '{}' inconnue dans la section [bin]\"\n\n#: src/config.rs:1150\nmsgid \"error: unknown option '{}' in section [options]\"\nmsgstr \"erreur : option '{}' inconnue dans la section [options]\"\n\n#: src/config.rs:1155\nmsgid \"option '{}' does not take a value\"\nmsgstr \"l'option '{}' n'accepte pas de valeur\"\n\n#: src/config.rs:1187 src/resolver.rs:136\nmsgid \"There are {n} providers available for {pkg}:\"\nmsgstr \"Il y a {n} fournisseurs disponibles pour {pkg} :\"\n\n#: src/config.rs:1201 src/info.rs:85 src/info.rs:190 src/info.rs:224\n#: src/resolver.rs:95 src/resolver.rs:144\nmsgid \"Repository\"\nmsgstr \"Dépôt\"\n\n#: src/config.rs:1227\nmsgid \"  failed to sync {}\"\nmsgstr \"  erreur de synchronisation de {}\"\n\n#: src/devel.rs:136 src/download.rs:207\nmsgid \"Querying AUR...\"\nmsgstr \"Interrogation de l'AUR...\"\n\n#: src/devel.rs:157 src/devel.rs:181 src/install.rs:203\nmsgid \"failed to parse srcinfo for '{}'\"\nmsgstr \"échec de l'analyse du srcinfo pour '{}'\"\n\n#: src/devel.rs:201\nmsgid \"Looking for devel repos...\"\nmsgstr \"Recherche des dépôts devel...\"\n\n#: src/devel.rs:210\nmsgid \"failed to save devel info\"\nmsgstr \"échec de l'enregistrement des informations devel\"\n\n#: src/devel.rs:218\nmsgid \"failed to create state directory: {}\"\nmsgstr \"dossier de cache introuvable : {}\"\n\n#: src/devel.rs:233\nmsgid \"failed to create temporary file: {}\"\nmsgstr \"échec de la création d'un fichier temporaire : {}\"\n\n#: src/devel.rs:238\nmsgid \"failed to write to temporary file: {}\"\nmsgstr \"échec de l'écriture d'un fichier temporaire : {}\"\n\n#: src/devel.rs:244\nmsgid \"failed to rename '{temp}' to '{devel_toml}\"\nmsgstr \"erreur de renommage '{temp}' en '{devel_toml}'\"\n\n#: src/devel.rs:490\nmsgid \"package does not have an update\"\nmsgstr \"le paquet n'a pas de mise à jour\"\n\n#: src/devel.rs:536\nmsgid \"failed to lookup: {}\"\nmsgstr \"erreur lors de la recherche : {}\"\n\n#: src/devel.rs:564\nmsgid \"invalid toml: {}\"\nmsgstr \"toml invalide : {}\"\n\n#: src/download.rs:100\nmsgid \"packages not in the AUR: \"\nmsgstr \"paquets introuvables dans l'AUR : \"\n\n#: src/download.rs:111\nmsgid \"marked out of date: \"\nmsgstr \"marqués comme obsolètes : \"\n\n#: src/download.rs:122\nmsgid \"orphans: \"\nmsgstr \"orphelins : \"\n\n#: src/download.rs:260\nmsgid \"downloading: {pkg}\"\nmsgstr \"téléchargement : {pkg}\"\n\n#: src/download.rs:279 src/download.rs:602 src/info.rs:55 src/info.rs:180\n#: src/query.rs:49\nmsgid \"package '{}' was not found\"\nmsgstr \"le paquet '{}' n'a pas été trouvé\"\n\n#: src/download.rs:291\n#, fuzzy\nmsgid \"duplicate PKGBUILD: {}\"\nmsgstr \"paquets en doublon : {}\"\n\n#: src/download.rs:307\nmsgid \"package '{}' exists but has no PKGBUILD -- skipping\"\nmsgstr \"\"\n\n#: src/download.rs:340\nmsgid \"Downloading PKGBUILDs...\"\nmsgstr \"Téléchargement des PKGBUILDs...\"\n\n#: src/download.rs:344\nmsgid \" PKGBUILDs up to date\"\nmsgstr \" PKGBUILDs à jour\"\n\n#: src/exec.rs:72\nmsgid \"failed to run:\"\nmsgstr \"échec du lancement :\"\n\n#: src/exec.rs:174\nmsgid \"Pacman is currently in use, please wait...\"\nmsgstr \"Pacman est en cours d'utilisation, veuillez patienter...\"\n\n#: src/fmt.rs:24 src/info.rs:275 src/search.rs:293 src/search.rs:350\nmsgid \"None\"\nmsgstr \"Aucun\"\n\n#: src/fmt.rs:245\nmsgid \"Repo\"\nmsgstr \"Dépôt\"\n\n#: src/fmt.rs:252\nmsgid \"Repo Make\"\nmsgstr \"Dépôts (compilation)\"\n\n#: src/fmt.rs:272\nmsgid \"Pkgbuilds Make\"\nmsgstr \"PKGBUILDs de compilation\"\n\n#: src/fmt.rs:274\nmsgid \"Aur Make\"\nmsgstr \"AUR (compilation)\"\n\n#: src/fmt.rs:319\nmsgid \"Repo ({})\"\nmsgstr \"Dépôt ({})\"\n\n#: src/fmt.rs:327\nmsgid \"Old Version\"\nmsgstr \"Ancienne Version\"\n\n#: src/fmt.rs:328\nmsgid \"New Version\"\nmsgstr \"Nouvelle Version\"\n\n#: src/fmt.rs:329\nmsgid \"Make Only\"\nmsgstr \"Make Uniquement\"\n\n#: src/fmt.rs:330\nmsgid \"Yes\"\nmsgstr \"Oui\"\n\n#: src/fmt.rs:331 src/info.rs:221\nmsgid \"No\"\nmsgstr \"Non\"\n\n#: src/fmt.rs:419\nmsgid \"insufficient columns available for table display\"\nmsgstr \"nombre insuffisant de colonnes disponibles pour l'affichage du tableau\"\n\n#: src/help.rs:4\nmsgid \"Usage:\"\nmsgstr \"Utilisation :\"\n\n#: src/help.rs:5\nmsgid \"    paru\"\nmsgstr \"    paru\"\n\n#: src/help.rs:6\nmsgid \"    paru <operation> [...]\"\nmsgstr \"    paru <opération> [...]\"\n\n#: src/help.rs:7\nmsgid \"    paru <package(s)>\"\nmsgstr \"    paru <paquet(s)>\"\n\n#: src/help.rs:9\nmsgid \"Pacman operations:\"\nmsgstr \"Opérations Pacman:\"\n\n#: src/help.rs:10\nmsgid \"    paru {-h --help}\"\nmsgstr \"    paru {-h --help}\"\n\n#: src/help.rs:11\nmsgid \"    paru {-V --version}\"\nmsgstr \"    paru {-V --version}\"\n\n#: src/help.rs:12\nmsgid \"    paru {-D --database}    <options> <package(s)>\"\nmsgstr \"    paru {-D --database}    <options> <paquet(s)>\"\n\n#: src/help.rs:13\nmsgid \"    paru {-F --files}       [options] [package(s)]\"\nmsgstr \"    paru {-F --files}       [options] [paquet(s)]\"\n\n#: src/help.rs:14\nmsgid \"    paru {-Q --query}       [options] [package(s)]\"\nmsgstr \"    paru {-Q --query}       [options] [paquet(s)]\"\n\n#: src/help.rs:15\nmsgid \"    paru {-R --remove}      [options] <package(s)>\"\nmsgstr \"    paru {-R --remove}      [options] <paquets(s)>\"\n\n#: src/help.rs:16\nmsgid \"    paru {-S --sync}        [options] [package(s)]\"\nmsgstr \"    paru {-S --sync}        [options] [paquets(s)]\"\n\n#: src/help.rs:17\nmsgid \"    paru {-T --deptest}     [options] [package(s)]\"\nmsgstr \"    paru {-T --deptest}     [options] [paquet(s)]\"\n\n#: src/help.rs:18\nmsgid \"    paru {-U --upgrade}     [options] [file(s)]\"\nmsgstr \"    paru {-U --upgrade}     [options] [fichier(s)]\"\n\n#: src/help.rs:20\nmsgid \"New operations:\"\nmsgstr \"Nouvelles opérations:\"\n\n#: src/help.rs:21\nmsgid \"    paru {-P --show}        [options]\"\nmsgstr \"    paru {-P --show}        [options]\"\n\n#: src/help.rs:22\nmsgid \"    paru {-G --getpkgbuild} [package(s)]\"\nmsgstr \"    paru {-G --getpkgbuild} [paquet(s)]\"\n\n#: src/help.rs:23\nmsgid \"    paru {-B --build}       [dir(s)]\"\nmsgstr \"    paru {-B --build}       [dossier(s)]\"\n\n#: src/help.rs:25\nmsgid \"If no arguments are provided 'paru -Syu' will be performed\"\nmsgstr \"Si aucun argument n'est fourni 'paru -Syu' sera exécuté\"\n\n#: src/help.rs:27\nmsgid \"Options without operation:\"\nmsgstr \"Options sans opérations :\"\n\n#: src/help.rs:28\nmsgid \"    -c --clean            Remove unneeded dependencies\"\nmsgstr \"    -c --clean            Supprimer les dépendances inutiles\"\n\n#: src/help.rs:29\nmsgid \"\"\n\"       --gendb            Generates development package DB used for updating\"\nmsgstr \"\"\n\"       --gendb            Génèrer la BDD de paquets de développement \"\n\"utilisée pour mettre à jour\"\n\n#: src/help.rs:31\nmsgid \"New options:\"\nmsgstr \"Nouvelles options :\"\n\n#: src/help.rs:32\nmsgid \"       --repo              Assume targets are from the repositories\"\nmsgstr \"\"\n\"       --repo              Supposer que les cibles sont dans les dépôts\"\n\n#: src/help.rs:33\nmsgid \"\"\n\"       --pkgbuilds         Assume targets are from pkgbuild repositories\"\nmsgstr \"\"\n\"       --pkgbuilds         Supposer que les cibles sont dans les dépôts \"\n\"pkgbuild\"\n\n#: src/help.rs:34\nmsgid \"    -a --aur               Assume targets are from the AUR\"\nmsgstr \"    -a --aur               Supposer que les cibles sont dans l'AUR\"\n\n#: src/help.rs:35\nmsgid \"    --mode      <mode>     Sets where paru looks for targets\"\nmsgstr \"    --mode      <mode>     Définit où paru recherche les cibles\"\n\n#: src/help.rs:37\nmsgid \"\"\n\"    --interactive          Enable interactive package selection for -S, -R, \"\n\"-Ss and -Qs\"\nmsgstr \"\"\n\"    --interactive          Activer la sélection interactive des paquets pour \"\n\"-S, -R, -Ss et -Qs\"\n\n#: src/help.rs:39\nmsgid \"    --aururl    <url>      Set an alternative AUR URL\"\nmsgstr \"    --aururl    <url>      Définir une URL alternative pour l'AUR\"\n\n#: src/help.rs:40\nmsgid \"\"\n\"    --aurrpcur  <url>      Set an alternative URL for the AUR /rpc endpoint\"\nmsgstr \"\"\n\"    --aurrpcur  <url>      Définir une URL alternative pour l'AUR / RPC \"\n\"distant\"\n\n#: src/help.rs:41\nmsgid \"    --clonedir  <dir>      Directory used to download and run PKGBUILDs\"\nmsgstr \"\"\n\"    --clonedir  <dossier>  Dossier utilisé pour télécharger et exécuter \"\n\"PKGBUILDs\"\n\n#: src/help.rs:43\nmsgid \"    --makepkg   <file>     makepkg command to use\"\nmsgstr \"    --makepkg   <fichier>      Commande makepkg à utiliser\"\n\n#: src/help.rs:44\nmsgid \"    --mflags    <flags>    Pass arguments to makepkg\"\nmsgstr \"    --mflags    <arguments>    Passer des arguments à makepkg\"\n\n#: src/help.rs:45\nmsgid \"    --pacman    <file>     pacman command to use\"\nmsgstr \"    --pacman    <fichier>      Commande pacman à utiliser\"\n\n#: src/help.rs:46\nmsgid \"    --git       <file>     git command to use\"\nmsgstr \"    --git       <fichier>      Commande git à utiliser\"\n\n#: src/help.rs:47\nmsgid \"    --gitflags  <flags>    Pass arguments to git\"\nmsgstr \"    --gitflags  <arguments>    Passer des arguments à git\"\n\n#: src/help.rs:48\nmsgid \"    --sudo      <file>     sudo command to use\"\nmsgstr \"    --sudo      <fichier>      Commande sudo à utiliser\"\n\n#: src/help.rs:49\nmsgid \"    --sudoflags <flags>    Pass arguments to sudo\"\nmsgstr \"    --sudoflags <arguments>    Passer des arguments à sudo\"\n\n#: src/help.rs:50\nmsgid \"    --pkgctl    <file>     pkgctl command to use\"\nmsgstr \"    --pkgctl    <fichier>      Commande pkgctl à utiliser\"\n\n#: src/help.rs:51\nmsgid \"    --bat       <file>     bat command to use\"\nmsgstr \"    --bat       <fichier>      Commande bat à utiliser\"\n\n#: src/help.rs:52\nmsgid \"    --batflags  <flags>    Pass arguments to bat\"\nmsgstr \"    --batflags  <arguments>    Passer des arguments à bat\"\n\n#: src/help.rs:53\nmsgid \"    --gpg       <file>     gpg command to use\"\nmsgstr \"    --gpg       <fichier>      Commande gpg à utiliser\"\n\n#: src/help.rs:54\nmsgid \"    --gpgflags  <flags>    Pass arguments to gpg\"\nmsgstr \"    --gpgflags  <arguments>    Passer des arguments à gpg\"\n\n#: src/help.rs:55\nmsgid \"    --fm        <file>     File manager to use for PKGBUILD review\"\nmsgstr \"\"\n\"    --fm        <fichier>      Gestionnaire de fichiers à utiliser pour la \"\n\"relecture des PKGBUILDs\"\n\n#: src/help.rs:56\nmsgid \"    --fmflags   <flags>    Pass arguments to file manager\"\nmsgstr \"\"\n\"    --fmflags   <arguments>    Passer des arguments au gestionnaire de \"\n\"fichiers\"\n\n#: src/help.rs:58\nmsgid \"    --completioninterval   <n> Time in days to refresh completion cache\"\nmsgstr \"\"\n\"    --completioninterval   <n> Temps (en jours) pour rafraîchir le cache de \"\n\"complétion\"\n\n#: src/help.rs:59\nmsgid \"\"\n\"    --sortby    <field>    Sort AUR results by a specific field during search\"\nmsgstr \"\"\n\"    --sortby    <field>    Trier les résultats de l'AUR par un champ \"\n\"spécifique pendant la recherche\"\n\n#: src/help.rs:60\nmsgid \"    --searchby  <field>    Search for packages using a specified field\"\nmsgstr \"\"\n\"    --searchby  <field>    Rechercher des paquets en utilisant un champ \"\n\"spécifique\"\n\n#: src/help.rs:61\nmsgid \"\"\n\"    --limit     <limit>    Limits the number of items returned in a search\"\nmsgstr \"\"\n\"    --limit     <limit>    Limiter le nombre d'éléments retournés dans une \"\n\"recherche\"\n\n#: src/help.rs:62\nmsgid \"    -x --regex             Enable regex for aur search\"\nmsgstr \"\"\n\"    -x --regex             Activer les regex pour la recherche dans l'AUR\"\n\n#: src/help.rs:64\nmsgid \"    --skipreview           Skip the review process\"\nmsgstr \"    --skipreview           Passer le processus de relecture\"\n\n#: src/help.rs:65\nmsgid \"    --review               Don't skip the review process\"\nmsgstr \"    --review               Ne pas passer le processus de relecture\"\n\n#: src/help.rs:66\nmsgid \"    --[no]upgrademenu      Show interactive menu to skip upgrades\"\nmsgstr \"\"\n\"    --[no]upgrademenu      Montrer le menu interactif pour passer les mises \"\n\"à jour\"\n\n#: src/help.rs:67\nmsgid \"    --[no]removemake       Remove makedepends after install\"\nmsgstr \"\"\n\"    --[no]removemake       Supprimer les dépendances de compilation après \"\n\"installation\"\n\n#: src/help.rs:68\nmsgid \"    --[no]cleanafter       Remove package sources after install\"\nmsgstr \"\"\n\"    --[no]cleanafter       Supprimer les sources des paquets après \"\n\"installation\"\n\n#: src/help.rs:69\nmsgid \"    --[no]rebuild          Always build target packages\"\nmsgstr \"    --[no]rebuild          Toujours recompiler les paquets cibles\"\n\n#: src/help.rs:70\nmsgid \"    --[no]redownload       Always download PKGBUILDs of targets\"\nmsgstr \"\"\n\"    --[no]redownload       Toujours télécharger les PKGBUILDs des cibles\"\n\n#: src/help.rs:72\nmsgid \"    --[no]pgpfetch         Prompt to import PGP keys from PKGBUILDs\"\nmsgstr \"\"\n\"    --[no]pgpfetch         Demande à importer les clés PGP depuis les \"\n\"PKGBUILDs\"\n\n#: src/help.rs:73\nmsgid \"\"\n\"    --[no]useask           Automatically resolve conflicts using pacman's \"\n\"ask flag\"\nmsgstr \"\"\n\"    --[no]useask           Résoudre automatiquement les conflits en \"\n\"utilisant l'argument 'ask' de pacman\"\n\n#: src/help.rs:74\nmsgid \"\"\n\"    --[no]savechanges      Commit changes to pkgbuilds made during review\"\nmsgstr \"\"\n\"    --[no]savechanges      Valider les changements apportés aux PKGBUILDs \"\n\"pendant la révision\"\n\n#: src/help.rs:75\nmsgid \"    --[no]newsonupgrade    Print new news during sysupgrade\"\nmsgstr \"\"\n\"    --[no]newsonupgrade    Afficher les dernières nouvelles pendant la mise \"\n\"à jour du système\"\n\n#: src/help.rs:76\nmsgid \"\"\n\"    --[no]combinedupgrade  Refresh then perform the repo and AUR upgrade \"\n\"together\"\nmsgstr \"\"\n\"    --[no]combinedupgrade  Rafraîchir et effectuer les mises à jour du dépôt \"\n\"et de l'AUR en même temps\"\n\n#: src/help.rs:77\nmsgid \"\"\n\"    --[no]batchinstall     Build multiple AUR packages then install them \"\n\"together\"\nmsgstr \"\"\n\"    --[no]batchinstall     Compiler plusieurs paquets depuis l'AUR et les \"\n\"installer en même temps\"\n\n#: src/help.rs:78\nmsgid \"\"\n\"    --[no]provides         Look for matching providers when searching for \"\n\"packages\"\nmsgstr \"\"\n\"    --[no]provides         Rechercher des fournisseurs correspondants lors \"\n\"de la recherche des paquets\"\n\n#: src/help.rs:79\nmsgid \"    --[no]devel            Check development packages during sysupgrade\"\nmsgstr \"\"\n\"    --[no]devel            Vérifier les paquets de développement pendant la \"\n\"mise à jour du système\"\n\n#: src/help.rs:80\nmsgid \"\"\n\"    --[no]installdebug     Also install debug packages when a package \"\n\"provides them\"\nmsgstr \"\"\n\"    --[no]installdebug     Installer aussi les paquets de déboguage quand un \"\n\"paquet les fournit\"\n\n#: src/help.rs:81\nmsgid \"\"\n\"    --[no]sudoloop         Loop sudo calls in the background to avoid timeout\"\nmsgstr \"\"\n\"    --[no]sudoloop         Appeler sudo en arrière-plan pour éviter \"\n\"l’expiration du délai\"\n\n#: src/help.rs:82\nmsgid \"    --[no]chroot           Build packages in a chroot\"\nmsgstr \"    --[no]chroot           Compiler les paquets dans un chroot\"\n\n#: src/help.rs:83\nmsgid \"\"\n\"    --[no]failfast         Exit as soon as building an AUR package fails\"\nmsgstr \"\"\n\"    --[no]failfast         S'arrêter dès que la compilation d'un paquet AUR \"\n\"échoue\"\n\n#: src/help.rs:84\nmsgid \"\"\n\"    --[no]keepsrc          Keep src/ and pkg/ dirs after building packages\"\nmsgstr \"\"\n\"    --[no]keepsrc          Conserver src/ et pkg/ après la compilation des \"\n\"paquets\"\n\n#: src/help.rs:85\nmsgid \"    --[no]sign             Sign packages with gpg\"\nmsgstr \"    --[no]sign             Signer les paquets avec gpg\"\n\n#: src/help.rs:86\nmsgid \"    --[no]signdb           Sign databases with gpg\"\nmsgstr \"    --[no]signdb           Signer les bases de données avec gpg\"\n\n#: src/help.rs:87\nmsgid \"    --[no]localrepo        Build packages into a local repo\"\nmsgstr \"    --[no]localrepo        Compiler les paquets dans un dépôt local\"\n\n#: src/help.rs:88\nmsgid \"\"\n\"    --nocheck              Don't resolve checkdepends or run the check \"\n\"function\"\nmsgstr \"\"\n\"    --nocheck              Ne pas résoudre les dépendances ou lancer la \"\n\"fonction de vérification\"\n\n#: src/help.rs:90\nmsgid \"\"\n\"    --rootchrootpkgs       Packages to install in the root chroot (default: \"\n\"base-devel)\"\nmsgstr \"\"\n\n#: src/help.rs:92\nmsgid \"\"\n\"    --develsuffixes        Suffixes used to decide if a package is a devel \"\n\"package\"\nmsgstr \"\"\n\"    --develsuffixes        Suffixes utilisés pour décider si un paquet est \"\n\"un paquet de développement\"\n\n#: src/help.rs:93\nmsgid \"    --ignoredevel          Ignore devel upgrades for specified packages\"\nmsgstr \"\"\n\"    --ignoredevel          Ignorer les mises à jour devel pour les paquets \"\n\"spécifiques\"\n\n#: src/help.rs:94\nmsgid \"\"\n\"    --bottomup             Shows AUR's packages first and then repository's\"\nmsgstr \"\"\n\"    --bottomup             Afficher les paquets de l'AUR en premier et ceux \"\n\"du dépôt ensuite\"\n\n#: src/help.rs:95\nmsgid \"\"\n\"    --topdown              Shows repository's packages first and then AUR's\"\nmsgstr \"\"\n\"    --topdown              Afficher les paquets du dépôt et ceux de l'AUR \"\n\"ensuite\"\n\n#: src/help.rs:97\nmsgid \"show specific options:\"\nmsgstr \"Options spécifiques de --show :\"\n\n#: src/help.rs:98\nmsgid \"    -c --complete         Used for completions\"\nmsgstr \"    -c --complete         Utilisé pour les complétions\"\n\n#: src/help.rs:99\nmsgid \"    -s --stats            Display system package statistics\"\nmsgstr \"\"\n\"    -s --stats            Afficher des statistiques sur les paquets du \"\n\"système\"\n\n#: src/help.rs:100\nmsgid \"    -w --news             Print arch news\"\nmsgstr \"    -w --news             Afficher les nouvelles d'arch\"\n\n#: src/help.rs:102\nmsgid \"getpkgbuild specific options:\"\nmsgstr \"Options spécifiques de --getpkgbuild :\"\n\n#: src/help.rs:103\nmsgid \"    -p --print            Print pkgbuild to stdout\"\nmsgstr \"    -p --print            Afficher le PKGBUILD sur la sortie standard\"\n\n#: src/help.rs:104\nmsgid \"    -c --comments         Print AUR comments for pkgbuild\"\nmsgstr \"\"\n\"    -c --comments         Afficher les commentaires de l'AUR pour le PKGBUILD\"\n\n#: src/help.rs:105\nmsgid \"    -s --ssh              Clone package using SSH\"\nmsgstr \"    -s --ssh              Cloner le paquet via SSH\"\n\n#: src/help.rs:107\nmsgid \"Build specific options:\"\nmsgstr \"Options de compilation spécifiques :\"\n\n#: src/help.rs:108\nmsgid \"    -i --install          Install package as well as building\"\nmsgstr \"    -i --install          Installer le paquet après l'avoir compilé\"\n\n#: src/info.rs:86 src/info.rs:191 src/info.rs:225\nmsgid \"Name\"\nmsgstr \"Nom\"\n\n#: src/info.rs:87 src/info.rs:192 src/info.rs:226\nmsgid \"Version\"\nmsgstr \"Version\"\n\n#: src/info.rs:88 src/info.rs:193 src/info.rs:227\nmsgid \"Description\"\nmsgstr \"Description\"\n\n#: src/info.rs:89 src/info.rs:195 src/info.rs:235\nmsgid \"Groups\"\nmsgstr \"Groupes\"\n\n#: src/info.rs:90 src/info.rs:196 src/info.rs:236\nmsgid \"Licenses\"\nmsgstr \"Licences\"\n\n#: src/info.rs:91 src/info.rs:197 src/info.rs:237\nmsgid \"Provides\"\nmsgstr \"Fournit\"\n\n#: src/info.rs:92 src/info.rs:198 src/info.rs:238\nmsgid \"Depends On\"\nmsgstr \"Dépend de\"\n\n#: src/info.rs:93 src/info.rs:199 src/info.rs:239\nmsgid \"Make Deps\"\nmsgstr \"Dépendances de compilation\"\n\n#: src/info.rs:94 src/info.rs:200 src/info.rs:240\nmsgid \"Check Deps\"\nmsgstr \"Dépendances de vérification\"\n\n#: src/info.rs:95 src/info.rs:201 src/info.rs:241\nmsgid \"Optional Deps\"\nmsgstr \"Dépendances optionnelles\"\n\n#: src/info.rs:96 src/info.rs:202 src/info.rs:242\nmsgid \"Conflicts With\"\nmsgstr \"Est en conflit avec\"\n\n#: src/info.rs:97 src/info.rs:243\nmsgid \"Maintainer\"\nmsgstr \"Mainteneur\"\n\n#: src/info.rs:98 src/info.rs:244\nmsgid \"Votes\"\nmsgstr \"Votes\"\n\n#: src/info.rs:99 src/info.rs:245\nmsgid \"Popularity\"\nmsgstr \"Popularité\"\n\n#: src/info.rs:100 src/info.rs:246\nmsgid \"First Submitted\"\nmsgstr \"Première soumission\"\n\n#: src/info.rs:101 src/info.rs:247\nmsgid \"Last Modified\"\nmsgstr \"Dernière mise à jour\"\n\n#: src/info.rs:102 src/info.rs:249\nmsgid \"Out Of Date\"\nmsgstr \"Pas à jour\"\n\n#: src/info.rs:103 src/info.rs:254\nmsgid \"ID\"\nmsgstr \"ID\"\n\n#: src/info.rs:104 src/info.rs:255\nmsgid \"Package Base ID\"\nmsgstr \"ID de base du paquet\"\n\n#: src/info.rs:105 src/info.rs:256\nmsgid \"Keywords\"\nmsgstr \"Mots clés\"\n\n#: src/info.rs:106 src/info.rs:258\nmsgid \"Snapshot URL\"\nmsgstr \"URL de l'instantané\"\n\n#: src/info.rs:107 src/info.rs:203\nmsgid \"Path\"\nmsgstr \"Chemin\"\n\n#: src/install.rs:166 src/query.rs:48 src/lib.rs:101\nmsgid \"error:\"\nmsgstr \"erreur :\"\n\n#: src/install.rs:167\nmsgid \"could not get news\"\nmsgstr \"impossible de récupérer les nouvelles\"\n\n#: src/install.rs:172 src/install.rs:1127\nmsgid \"Proceed with installation?\"\nmsgstr \"Procéder à l'installation ?\"\n\n#: src/install.rs:207\nmsgid \"could not find .SRCINFO for '{}'\"\nmsgstr \"impossible de trouver le .SRCINFO pour '{}'\"\n\n#: src/install.rs:353\nmsgid \"could not find package '{pkg}' in package list for '{base}'\"\nmsgstr \"\"\n\"le paquet '{pkg}' n'a pas été trouvé dans la liste des paquets pour '{base}'\"\n\n#: src/install.rs:451\nmsgid \"packages failed to build: {}\"\nmsgstr \"la compilation des paquets suivants a échouée : {}\"\n\n#: src/install.rs:523\nmsgid \"adding {} to the install list\"\nmsgstr \"ajout de {} à la liste des installations\"\n\n#: src/install.rs:553 src/install.rs:568\nmsgid \"failed to download sources for '{}'\"\nmsgstr \"échec du téléchargement des sources pour '{}'\"\n\n#: src/install.rs:577 src/install.rs:603 src/install.rs:611\nmsgid \"failed to build '{}'\"\nmsgstr \"échec de la compilation de '{}'\"\n\n#: src/install.rs:580 src/install.rs:784\nmsgid \"{}: parsing pkg list...\"\nmsgstr \"{} : analyse de la liste des paquets...\"\n\n#: src/install.rs:584\nmsgid \"package list does not match srcinfo\"\nmsgstr \"la liste de paquet ne correspond pas avec le fichier srcinfo\"\n\n#: src/install.rs:618\nmsgid \"{}-{} is up to date -- skipping build\"\nmsgstr \"{}-{} est à jour -- inutile de recompiler le paquet\"\n\n#: src/install.rs:775\nmsgid \"can't build {base}, deps not satisfied: {deps}\"\nmsgstr \"impossible de construire {base}, dépendances non satisfaites: {deps}\"\n\n#: src/install.rs:846\nmsgid \"fetching devel info...\"\nmsgstr \"récupération des informations de devel...\"\n\n#: src/install.rs:911 src/lib.rs:240\nmsgid \"no targets specified (use -h for help)\"\nmsgstr \"aucune cible spécifiée (utiliser -h pour l'aide)\"\n\n#: src/install.rs:1008 src/install.rs:1097 src/search.rs:450 src/search.rs:476\n#: src/lib.rs:304\nmsgid \" there is nothing to do\"\nmsgstr \" il n'y a rien à faire\"\n\n#: src/install.rs:1016\nmsgid \"Resolving dependencies...\"\nmsgstr \"Résolution des dépendances...\"\n\n#: src/install.rs:1077\nmsgid \"can't install AUR package as root\"\nmsgstr \"impossible d'installer le paquet de l'AUR en tant que root\"\n\n#: src/install.rs:1080\nmsgid \"--downloadonly can't be used for AUR packages\"\nmsgstr \"--downloadonly ne peut pas être utilisé pour les paquets de l'AUR\"\n\n#: src/install.rs:1113\nmsgid \"Remove make dependencies after install?\"\nmsgstr \"Désinstaller les dépendances de compilation après l'installation ?\"\n\n#: src/install.rs:1124\nmsgid \"Proceed to review?\"\nmsgstr \"Procéder à la relecture ?\"\n\n#: src/install.rs:1177\nmsgid \"no architecture\"\nmsgstr \"pas d'architecture\"\n\n#: src/install.rs:1191\nmsgid \"The following packages are not compatible with your architecture:\"\nmsgstr \"Les paquets suivants ne sont pas compatibles avec votre architecture :\"\n\n#: src/install.rs:1205\nmsgid \"Would you like to try build them anyway?\"\nmsgstr \"Voulez-vous quand même essayer de les compiler ?\"\n\n#: src/install.rs:1349\nmsgid \"duplicate packages: {}\"\nmsgstr \"paquets en doublon : {}\"\n\n#: src/install.rs:1353\nmsgid \"could not find all required packages:\"\nmsgstr \"certains des paquets requis n'ont pas pu être trouvés :\"\n\n#: src/install.rs:1365\nmsgid \"\"\n\"\\n\"\n\"    {missing} (wanted by: {stack})\"\nmsgstr \"\"\n\"\\n\"\n\"    {missing} (requis par : {stack})\"\n\n#: src/install.rs:1379 src/install.rs:2122\nmsgid \"{}-{} is up to date -- skipping\"\nmsgstr \"{}-{} est à jour -- omission\"\n\n#: src/install.rs:1387\nmsgid \"Calculating conflicts...\"\nmsgstr \"Calcul des conflits...\"\n\n#: src/install.rs:1410\nmsgid \"Calculating inner conflicts...\"\nmsgstr \"Calcul des conflits internes...\"\n\n#: src/install.rs:1422\nmsgid \"Inner conflicts found:\"\nmsgstr \"Conflits internes trouvés :\"\n\n#: src/install.rs:1444\nmsgid \"Conflicts found:\"\nmsgstr \"Conflits trouvés :\"\n\n#: src/install.rs:1467\nmsgid \"Conflicting packages will have to be confirmed manually\"\nmsgstr \"Les paquets conflictuels doivent être confirmés manuellement\"\n\n#: src/install.rs:1471\nmsgid \"can not install conflicting packages with --noconfirm\"\nmsgstr \"impossible d'installer les paquets conflictuels avec --noconfirm\"\n\n#: src/install.rs:1599\nmsgid \"failed to execute file manager: {}\"\nmsgstr \"échec de l’exécution du gestionnaire de fichiers : {}\"\n\n#: src/install.rs:1602\n#, fuzzy\nmsgid \"file manager '{}' did not execute successfully\"\nmsgstr \"le gestionnaire de fichiers ne s'est pas exécuté correctement\"\n\n#: src/install.rs:1620\nmsgid \"failed to read dir: {}\"\nmsgstr \"échec de la lecture du dossier : {}\"\n\n#: src/install.rs:1677\nmsgid \"failed to open: {}\"\nmsgstr \"échec de l'ouverture de : {}\"\n\n#: src/install.rs:1697\nmsgid \"binary file: {}\"\nmsgstr \"fichier binaire : {}\"\n\n#: src/install.rs:1719 src/install.rs:1790\nmsgid \"Accept changes?\"\nmsgstr \"Accepter les changements ?\"\n\n#: src/install.rs:1759\nmsgid \"Paging with less. Press 'q' to quit or 'h' for help.\"\nmsgstr \"\"\n\"Afficher avec 'less'. Appuyez sur 'q' pour quitter ou 'h' pour afficher \"\n\"l'aide.\"\n\n#: src/install.rs:1794\nmsgid \" nothing new to review\"\nmsgstr \" rien de nouveau à relire\"\n\n#: src/install.rs:2070\nmsgid \"can't find package name in packagelist: {}\"\nmsgstr \"impossible de trouver le nom du paquet dans la liste des paquets : {}\"\n\n#: src/install.rs:2142\nmsgid \"Signing packages...\"\nmsgstr \"Signature des paquets...\"\n\n#: src/install.rs:2172\nmsgid \"{}-{} is up to date -- skipping install\"\nmsgstr \"{}-{} est à jour -- installation ignorée\"\n\n#: src/keys.rs:57\nmsgid \"keys need to be imported:\"\nmsgstr \"les clés doivent être importées :\"\n\n#: src/keys.rs:62\nmsgid \"     {key} wanted by: {base}\"\nmsgstr \"     {key} requis par : {base}\"\n\n#: src/news.rs:57\nmsgid \"No Date \"\nmsgstr \"Pas de date \"\n\n#: src/news.rs:60\nmsgid \"No Title\"\nmsgstr \"Pas de titre\"\n\n#: src/news.rs:69\nmsgid \"no new news\"\nmsgstr \"pas de nouvelles informations\"\n\n#: src/pkgbuild.rs:91\nmsgid \"repo {} does not have a URL or Path\"\nmsgstr \"le dépot '{}' n'a pas d'URL ou de chemin\"\n\n#: src/pkgbuild.rs:153\nmsgid \"repo {} not downloaded (use -Sy --pkgbuilds to download)\"\nmsgstr \"\"\n\"le dépôt {} n'a pas été téléchargé (utiliser -Sy --\\n\"\n\" pour le télécharger)\"\n\n#: src/pkgbuild.rs:200\nmsgid \"Generating .SRCINFO for {repo}/{dir}...\"\nmsgstr \"Génération du .SRCINFO pour {repo}/{dir}...\"\n\n#: src/pkgbuild.rs:278\nmsgid \"failed to parse srcinfo \\\"{}\\\"\"\nmsgstr \"échec de l'analyse du srcinfo pour '{}'\"\n\n#: src/pkgbuild.rs:368\nmsgid \"Downloading PKGBUILD Repos...\"\nmsgstr \"Téléchargement des dépôts PKGBUILDs...\"\n\n#: src/pkgbuild.rs:422\nmsgid \"failed to parse srcinfo generated by makepkg\"\nmsgstr \"erreur lors de l'analyse du srcinfo généré par makepkg\"\n\n#: src/query.rs:151\nmsgid \" [ignored]\"\nmsgstr \" [ignoré]\"\n\n#: src/repo.rs:253\nmsgid \"failed to get current exe\"\nmsgstr \"échec de la récupération de l’exécutable\"\n\n#: src/repo.rs:298\nmsgid \"syncing local databases...\"\nmsgstr \"synchronisation des bases de données locales...\"\n\n#: src/repo.rs:304\nmsgid \"  nothing to do\"\nmsgstr \"  rien à faire\"\n\n#: src/repo.rs:335\nmsgid \"there is nothing to do\"\nmsgstr \"il n'y a rien à faire\"\n\n#: src/repo.rs:341\nmsgid \"Packages\"\nmsgstr \"Paquets\"\n\n#: src/repo.rs:354\nmsgid \"Proceed with removal?\"\nmsgstr \"Procéder à la suppression ?\"\n\n#: src/repo.rs:415\nmsgid \" [installed: {}]\"\nmsgstr \" [installés : {}]\"\n\n#: src/repo.rs:417 src/sync.rs:144\nmsgid \" [installed]\"\nmsgstr \" [installé]\"\n\n#: src/search.rs:41\nmsgid \"aur search failed\"\nmsgstr \"échec de la recherche dans l'AUR\"\n\n#: src/search.rs:285 src/search.rs:338 src/search.rs:410\n#, fuzzy\nmsgid \"[installed: {}]\"\nmsgstr \" [installés : {}]\"\n\n#: src/search.rs:287 src/search.rs:340 src/search.rs:412\n#, fuzzy\nmsgid \"[installed]\"\nmsgstr \" [installé]\"\n\n#: src/search.rs:332\n#, fuzzy\nmsgid \"[out-of-date: {}]\"\nmsgstr \"[Pas à jour : {}]\"\n\n#: src/search.rs:347\n#, fuzzy\nmsgid \"[orphaned]\"\nmsgstr \"[Orphelin]\"\n\n#: src/search.rs:491\nmsgid \"no packages match search\"\nmsgstr \"aucun paquet ne correspond à la recherche\"\n\n#: src/search.rs:529\nmsgid \"Packages to install (eg: 1 2 3, 1-3):\"\nmsgstr \"Paquets à installer (ex : 1 2 3, 1-3) :\"\n\n#: src/search.rs:531\nmsgid \"Select packages (eg: 1 2 3, 1-3):\"\nmsgstr \"Paquets à sélectionner (ex : 1 2 3, 1-3) :\"\n\n#: src/stats.rs:90\nmsgid \"Total installed packages: {}\"\nmsgstr \"Total des paquets installés : {}\"\n\n#: src/stats.rs:94\nmsgid \"Aur packages: {}\"\nmsgstr \"Paquets de l'AUR : {}\"\n\n#: src/stats.rs:98\nmsgid \"Repo packages: {}\"\nmsgstr \"Paquets des dépôts : {}\"\n\n#: src/stats.rs:102\nmsgid \"Explicitly installed packages: {}\"\nmsgstr \"Paquets installés explicitement : {}\"\n\n#: src/stats.rs:106\nmsgid \"Total Size occupied by packages: {}\"\nmsgstr \"Taille totale occupée par les paquets : {}\"\n\n#: src/stats.rs:113\nmsgid \"Ten biggest packages:\"\nmsgstr \"Dix plus gros paquets :\"\n\n#: src/upgrade.rs:126\nmsgid \"Looking for PKGBUILD upgrades...\"\nmsgstr \"Recherche des mises à jour pour les paquets PKGBUILD...\"\n\n#: src/upgrade.rs:134\nmsgid \"Looking for AUR upgrades...\"\nmsgstr \"Recherche des mises à jour pour les paquets de l'AUR...\"\n\n#: src/upgrade.rs:165\nmsgid \"Looking for devel upgrades...\"\nmsgstr \"Recherche de mises à jour pour les paquets devel...\"\n\n#: src/upgrade.rs:193 src/upgrade.rs:206\nmsgid \"warning:\"\nmsgstr \"avertissement :\"\n\n#: src/upgrade.rs:195 src/upgrade.rs:208\nmsgid \"{pkg}: ignoring package upgrade ({old} => {new})\"\nmsgstr \"{pkg} : mise à jour du paquet ignorée ({old} => {new})\"\n\n#: src/upgrade.rs:400\nmsgid \"Packages to exclude (eg: 1 2 3, 1-3):\"\nmsgstr \"Paquets à exclure (ex : 1 2 3, 1-3) :\"\n\n#: src/util.rs:121\nmsgid \"[Y/n]:\"\nmsgstr \"[O/n]\"\n\n#: src/util.rs:123\nmsgid \"[y/N]:\"\nmsgstr \"[o/N]\"\n\n#: src/util.rs:142\nmsgid \"y\"\nmsgstr \"o\"\n\n#: src/util.rs:142\nmsgid \"yes\"\nmsgstr \"oui\"\n\n#: src/util.rs:300\nmsgid \"Enter a number (default=1): \"\nmsgstr \"Entrez un nombre (défaut=1) : \"\n\n#: src/util.rs:317\nmsgid \"invalid number: {}\"\nmsgstr \"nombre invalide : {}\"\n\n#: src/util.rs:327\nmsgid \"invalid value: {n} is not between 1 and {max}\"\nmsgstr \"valeur invalide : {n} n'est pas compris entre 1 et {max}\"\n\n#: src/resolver.rs:83\nmsgid \"There are {} members in group\"\nmsgstr \"Il y a {} membres dans ce groupe\"\n\n#: src/resolver.rs:108\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Enter a selection (default=all): \"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Entrez une sélection (défaut=tout) : \"\n\n#: src/lib.rs:206\nmsgid \"can not use chroot builds: devtools is not installed\"\nmsgstr \"impossible d'utiliser chroot : devtools n'est pas installé\"\n\n#: src/lib.rs:313\nmsgid \"no operation specified (use -h for help)\"\nmsgstr \"aucune cible spécifiée (utiliser -h pour l'aide)\"\n\n#~ msgid \"[Installed: {}]\"\n#~ msgstr \"[Installé(s) : {}]\"\n\n#~ msgid \"[Installed]\"\n#~ msgstr \"[Installé]\"\n\n#~ msgid \"Aur ({})\"\n#~ msgstr \"Aur ({})\"\n\n#~ msgid \"Pkgbuilds ({})\"\n#~ msgstr \"Pkgbuilds ({})\"\n\n#~ msgid \"could not get current directory\"\n#~ msgstr \"impossible de récupérer le dossier actuel\"\n\n#~ msgid \"can not get repo packages: asp is not installed\"\n#~ msgstr \"\"\n#~ \"impossible de récupérer les paquets du dépôt : asp n'est pas installé\"\n\n#~ msgid \"Missing ABS packages \"\n#~ msgstr \"Paquets ABS manquants \"\n\n#~ msgid \"does not contain PKGBUILD: skipping\"\n#~ msgstr \"ne contient pas de PKGBUILD : ignoré\"\n\n#~ msgid \"{} is not installed: can not get repo packages\"\n#~ msgstr \"\"\n#~ \"{} n'est pas installé : impossible de récupérer les paquets du dépôt\"\n\n#~ msgid \"asp returned {}\"\n#~ msgstr \"asp a retourné {}\"\n\n#~ msgid \"    --asp       <file>     asp command to use\"\n#~ msgstr \"    --asp       <fichier>      Commande asp à utiliser\"\n\n#~ msgid \"Generating .SRCINFO for {dir}...\"\n#~ msgstr \"Génération de .SRCINFO pour {dir}...\"\n\n#~ msgid \"upgrade specific options:\"\n#~ msgstr \"options spécifiques de mise à jour :\"\n\n#~ msgid \"error: unknown section '{}'\"\n#~ msgstr \"erreur : section '{}' inconnue\"\n\n#~ msgid \"can't build package as root\"\n#~ msgstr \"impossible de compiler le paquet en tant que root\"\n\n#~ msgid \"failed to build\"\n#~ msgstr \"échec de compilation du paquet\"\n\n#~ msgid \"parsing pkg list...\"\n#~ msgstr \"analyse de la liste des paquets...\"\n\n#~ msgid \"\"\n#~ \"{} is a directory\\n\"\n#~ \"\\n\"\n#~ msgstr \"\"\n#~ \"{} est un dossier\\n\"\n#~ \"\\n\"\n"
  },
  {
    "path": "po/hi.po",
    "content": "# Paru Hindi translation\n# Copyright (C) 2021\n# This file is distributed under the same license as the paru package.\n# Atharva Amritkar <atharvaamritkar@protonmail.com>, 2021.\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: paru VERSION\\n\"\n\"Report-Msgid-Bugs-To: https://github.com/Morganamilo/paru\\n\"\n\"POT-Creation-Date: 2026-01-08 17:40+0000\\n\"\n\"PO-Revision-Date: 2021-07-03 20:07+0600\\n\"\n\"Last-Translator: Atharva Amritkar <atharvaamritkar@protonmail.com>\\n\"\n\"Language-Team: \\n\"\n\"Language: hi\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=2; plural=(n != 1);\\n\"\n\"X-Generator: Poedit 3.0\\n\"\n\n#: src/clean.rs:36\n#, fuzzy\nmsgid \"Do you want to clean ALL AUR packages from cache?\"\nmsgstr \"क्या आप कैश से सभी AUR पैकेज हटाना चाहते हैं?\"\n\n#: src/clean.rs:38\n#, fuzzy\nmsgid \"Do you want to clean all other AUR packages from cache?\"\nmsgstr \"क्या आप अन्य सभी AUR पैकेज को कैश से हटाना चाहते हैं?\"\n\n#: src/clean.rs:41\nmsgid \"Clone Directory: {}\"\nmsgstr \"क्लोन निर्देशिका: {}\"\n\n#: src/clean.rs:47\nmsgid \"\"\n\"\\n\"\n\"Diff Directory: {}\"\nmsgstr \"\"\n\"\\n\"\n\"डिफ निर्देशिका: {}\"\n\n#: src/clean.rs:49\nmsgid \"Do you want to remove all saved diffs?\"\nmsgstr \"क्या आप सभी सहेजे गए अंतर को हटाना चाहते हैं?\"\n\n#: src/clean.rs:65\nmsgid \"can't open diff dir: {}\"\nmsgstr \"अंतर निर्देशिका नहीं खोल सकता: {}\"\n\n#: src/clean.rs:76 src/clean.rs:180\nmsgid \"could not remove '{}'\"\nmsgstr \"'{}' हटा नहीं सका\"\n\n#: src/clean.rs:95\nmsgid \"can't open clone dir: {}\"\nmsgstr \"क्लोन निर्देशिका नहीं खोल सकता: {}\"\n\n#: src/clean.rs:141\n#, fuzzy\nmsgid \"could not parse .SRCINFO for '{}'\"\nmsgstr \"'{}' के लिए .SRINFO नहीं ढूंढ सका\"\n\n#: src/command_line.rs:134\nmsgid \"option {} expects a value\"\nmsgstr \"विकल्प {} एक मान की अपेक्षा करता है\"\n\n#: src/command_line.rs:165 src/command_line.rs:382\nmsgid \"option {} does not allow a value\"\nmsgstr \"विकल्प {} मान की अनुमति नहीं देता\"\n\n#: src/command_line.rs:373\nmsgid \"unknown option --{}\"\nmsgstr \"अज्ञात विकल्प --{}\"\n\n#: src/command_line.rs:376\nmsgid \"unknown option -{}\"\nmsgstr \"अज्ञात विकल्प -{}\"\n\n#: src/completion.rs:26 src/search.rs:179 src/sync.rs:113\n#, fuzzy\nmsgid \"failed to decode package list\"\nmsgstr \"स्रोत डाउनलोड करने में विफल \"\n\n#: src/completion.rs:35\nmsgid \"failed to open cache file '{}'\"\nmsgstr \"कैशे फ़ाइल खोलने में विफल  '{}'\"\n\n#: src/completion.rs:83\nmsgid \"could not update aur cache\"\nmsgstr \"AUR कैश अपडेट नहीं कर सका\"\n\n#: src/config.rs:179\nmsgid \"invalid value '{val}' for key '{key}', expected: {exp}\"\nmsgstr \"अमान्य मान '{val}','{key}' कुंजी के लिए , अपेक्षित: {exp}\"\n\n#: src/config.rs:332\n#, fuzzy\nmsgid \"unknown mode {}\"\nmsgstr \"अज्ञात विकल्प -{}\"\n\n#: src/config.rs:564\nmsgid \"section can not be called {}\"\nmsgstr \"\"\n\n#: src/config.rs:581\nmsgid \"failed to find cache directory\"\nmsgstr \"कैश निर्देशिका खोजने में विफल\"\n\n#: src/config.rs:584\nmsgid \"failed to find config directory\"\nmsgstr \"कॉन्फ़िग निर्देशिका खोजने में विफल\"\n\n#: src/config.rs:588\n#, fuzzy\nmsgid \"failed to find state directory\"\nmsgstr \"कैश निर्देशिका खोजने में विफल\"\n\n#: src/config.rs:635\nmsgid \"config file '{}' does not exist\"\nmsgstr \"कॉन्फ़िग फ़ाइल '{}' मौजूद नहीं होना\"\n\n#: src/config.rs:684\nmsgid \"only one operation may be used at a time\"\nmsgstr \"एक समय में केवल एक ही ऑपरेशन का उपयोग किया जा सकता है\"\n\n#: src/config.rs:795\nmsgid \"no local repo named {}\"\nmsgstr \"\"\n\n#: src/config.rs:821\nmsgid \"can not find local repo '{}' in pacman.conf\"\nmsgstr \"स्थानीय रेपो नहीं मिल रहा है '{}' pacman.conf में\"\n\n#: src/config.rs:866\nmsgid \"failed to initialize alpm: root={} dbpath={}\"\nmsgstr \"alpm प्रारंभ करने में विफल: root={} dbpath={}\"\n\n#: src/config.rs:941 src/config.rs:1102\nmsgid \"value can not be empty for key '{}'\"\nmsgstr \"'{}' कुंजी के लिए मान खाली नहीं हो सकता \"\n\n#: src/config.rs:957\nmsgid \"key '{}' does not belong to a section\"\nmsgstr \"की '{}' एक खंड से संबंधित नहीं है\"\n\n#: src/config.rs:971 src/config.rs:988 src/config.rs:990 src/config.rs:1005\nmsgid \"key can not be empty\"\nmsgstr \"कुंजी खाली नहीं हो सकती\"\n\n#: src/config.rs:981\n#, fuzzy\nmsgid \"error: unknown option '{}' in repo\"\nmsgstr \"त्रुटि: खंड [bin] में अज्ञात विकल्प '{}'\"\n\n#: src/config.rs:991\nmsgid \"key can not contain null bytes\"\nmsgstr \"\"\n\n#: src/config.rs:994\nmsgid \"value can not contain null bytes\"\nmsgstr \"\"\n\n#: src/config.rs:1030\nmsgid \"error: unknown option '{}' in section [bin]\"\nmsgstr \"त्रुटि: खंड [bin] में अज्ञात विकल्प '{}'\"\n\n#: src/config.rs:1150\nmsgid \"error: unknown option '{}' in section [options]\"\nmsgstr \"त्रुटि: अज्ञात विकल्प '{}' अनुभाग में [options]\"\n\n#: src/config.rs:1155\nmsgid \"option '{}' does not take a value\"\nmsgstr \"विकल्प '{}' मूल्य नहीं लेता\"\n\n#: src/config.rs:1187 src/resolver.rs:136\nmsgid \"There are {n} providers available for {pkg}:\"\nmsgstr \"{pkg} के लिए {n} प्रदाता उपलब्ध हैं:\"\n\n#: src/config.rs:1201 src/info.rs:85 src/info.rs:190 src/info.rs:224\n#: src/resolver.rs:95 src/resolver.rs:144\nmsgid \"Repository\"\nmsgstr \"कोष\"\n\n#: src/config.rs:1227\nmsgid \"  failed to sync {}\"\nmsgstr \"  सिंक करने में विफल {}\"\n\n#: src/devel.rs:136 src/download.rs:207\nmsgid \"Querying AUR...\"\nmsgstr \"क्वेरी AUR...\"\n\n#: src/devel.rs:157 src/devel.rs:181 src/install.rs:203\nmsgid \"failed to parse srcinfo for '{}'\"\nmsgstr \"'{}' के लिए srcinfo पार्स करने में विफल\"\n\n#: src/devel.rs:201\nmsgid \"Looking for devel repos...\"\nmsgstr \"डेवेल रेपो की तलाश में...\"\n\n#: src/devel.rs:210\nmsgid \"failed to save devel info\"\nmsgstr \"डेवेल जानकारी सहेजने में विफल\"\n\n#: src/devel.rs:218\n#, fuzzy\nmsgid \"failed to create state directory: {}\"\nmsgstr \"कैश निर्देशिका खोजने में विफल\"\n\n#: src/devel.rs:233\n#, fuzzy\nmsgid \"failed to create temporary file: {}\"\nmsgstr \"फ़ाइल प्रबंधक निष्पादित करने में विफल: {}\"\n\n#: src/devel.rs:238\n#, fuzzy\nmsgid \"failed to write to temporary file: {}\"\nmsgstr \"निर्देशिका पढ़ने में विफल: {}\"\n\n#: src/devel.rs:244\nmsgid \"failed to rename '{temp}' to '{devel_toml}\"\nmsgstr \"\"\n\n#: src/devel.rs:490\nmsgid \"package does not have an update\"\nmsgstr \"पैकेज में अपडेट नहीं है\"\n\n#: src/devel.rs:536\nmsgid \"failed to lookup: {}\"\nmsgstr \"देखने में विफल: {}\"\n\n#: src/devel.rs:564\n#, fuzzy\nmsgid \"invalid toml: {}\"\nmsgstr \"अमान्य json: {}\"\n\n#: src/download.rs:100\nmsgid \"packages not in the AUR: \"\nmsgstr \"पैकेज AUR में नहीं हैं: \"\n\n#: src/download.rs:111\nmsgid \"marked out of date: \"\nmsgstr \"पुराना चिह्नित: \"\n\n#: src/download.rs:122\nmsgid \"orphans: \"\nmsgstr \"अनाथ: \"\n\n#: src/download.rs:260\nmsgid \"downloading: {pkg}\"\nmsgstr \"डाउनलोड: {pkg}\"\n\n#: src/download.rs:279 src/download.rs:602 src/info.rs:55 src/info.rs:180\n#: src/query.rs:49\nmsgid \"package '{}' was not found\"\nmsgstr \"पैकेज '{}' नहीं मिला\"\n\n#: src/download.rs:291\n#, fuzzy\nmsgid \"duplicate PKGBUILD: {}\"\nmsgstr \"डुप्लीकेट पैकेज: {}\"\n\n#: src/download.rs:307\nmsgid \"package '{}' exists but has no PKGBUILD -- skipping\"\nmsgstr \"\"\n\n#: src/download.rs:340\nmsgid \"Downloading PKGBUILDs...\"\nmsgstr \"डाउनलोड PKGBUILDs...\"\n\n#: src/download.rs:344\nmsgid \" PKGBUILDs up to date\"\nmsgstr \" PKGBUILD अप टू डेट\"\n\n#: src/exec.rs:72\nmsgid \"failed to run:\"\nmsgstr \"चलाने में विफल:\"\n\n#: src/exec.rs:174\nmsgid \"Pacman is currently in use, please wait...\"\nmsgstr \"Pacman वर्तमान में उपयोग में है, कृपया प्रतीक्षा करें...\"\n\n#: src/fmt.rs:24 src/info.rs:275 src/search.rs:293 src/search.rs:350\nmsgid \"None\"\nmsgstr \"कोई नहीं\"\n\n#: src/fmt.rs:245\nmsgid \"Repo\"\nmsgstr \"Repo\"\n\n#: src/fmt.rs:252\nmsgid \"Repo Make\"\nmsgstr \"Repo Make\"\n\n#: src/fmt.rs:272\nmsgid \"Pkgbuilds Make\"\nmsgstr \"\"\n\n#: src/fmt.rs:274\nmsgid \"Aur Make\"\nmsgstr \"Aur Make\"\n\n#: src/fmt.rs:319\n#, fuzzy\nmsgid \"Repo ({})\"\nmsgstr \"Repo\"\n\n#: src/fmt.rs:327\n#, fuzzy\nmsgid \"Old Version\"\nmsgstr \"संस्करण\"\n\n#: src/fmt.rs:328\n#, fuzzy\nmsgid \"New Version\"\nmsgstr \"संस्करण\"\n\n#: src/fmt.rs:329\nmsgid \"Make Only\"\nmsgstr \"\"\n\n#: src/fmt.rs:330\n#, fuzzy\nmsgid \"Yes\"\nmsgstr \"हाँ\"\n\n#: src/fmt.rs:331 src/info.rs:221\nmsgid \"No\"\nmsgstr \"नहीं\"\n\n#: src/fmt.rs:419\nmsgid \"insufficient columns available for table display\"\nmsgstr \"\"\n\n#: src/help.rs:4\nmsgid \"Usage:\"\nmsgstr \"\"\n\n#: src/help.rs:5\nmsgid \"    paru\"\nmsgstr \"\"\n\n#: src/help.rs:6\nmsgid \"    paru <operation> [...]\"\nmsgstr \"\"\n\n#: src/help.rs:7\nmsgid \"    paru <package(s)>\"\nmsgstr \"\"\n\n#: src/help.rs:9\nmsgid \"Pacman operations:\"\nmsgstr \"\"\n\n#: src/help.rs:10\nmsgid \"    paru {-h --help}\"\nmsgstr \"\"\n\n#: src/help.rs:11\nmsgid \"    paru {-V --version}\"\nmsgstr \"\"\n\n#: src/help.rs:12\nmsgid \"    paru {-D --database}    <options> <package(s)>\"\nmsgstr \"\"\n\n#: src/help.rs:13\nmsgid \"    paru {-F --files}       [options] [package(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:14\nmsgid \"    paru {-Q --query}       [options] [package(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:15\nmsgid \"    paru {-R --remove}      [options] <package(s)>\"\nmsgstr \"\"\n\n#: src/help.rs:16\nmsgid \"    paru {-S --sync}        [options] [package(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:17\nmsgid \"    paru {-T --deptest}     [options] [package(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:18\nmsgid \"    paru {-U --upgrade}     [options] [file(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:20\nmsgid \"New operations:\"\nmsgstr \"\"\n\n#: src/help.rs:21\nmsgid \"    paru {-P --show}        [options]\"\nmsgstr \"\"\n\n#: src/help.rs:22\nmsgid \"    paru {-G --getpkgbuild} [package(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:23\nmsgid \"    paru {-B --build}       [dir(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:25\nmsgid \"If no arguments are provided 'paru -Syu' will be performed\"\nmsgstr \"\"\n\n#: src/help.rs:27\nmsgid \"Options without operation:\"\nmsgstr \"\"\n\n#: src/help.rs:28\nmsgid \"    -c --clean            Remove unneeded dependencies\"\nmsgstr \"\"\n\n#: src/help.rs:29\nmsgid \"\"\n\"       --gendb            Generates development package DB used for updating\"\nmsgstr \"\"\n\n#: src/help.rs:31\nmsgid \"New options:\"\nmsgstr \"\"\n\n#: src/help.rs:32\nmsgid \"       --repo              Assume targets are from the repositories\"\nmsgstr \"\"\n\n#: src/help.rs:33\nmsgid \"\"\n\"       --pkgbuilds         Assume targets are from pkgbuild repositories\"\nmsgstr \"\"\n\n#: src/help.rs:34\nmsgid \"    -a --aur               Assume targets are from the AUR\"\nmsgstr \"\"\n\n#: src/help.rs:35\nmsgid \"    --mode      <mode>     Sets where paru looks for targets\"\nmsgstr \"\"\n\n#: src/help.rs:37\nmsgid \"\"\n\"    --interactive          Enable interactive package selection for -S, -R, \"\n\"-Ss and -Qs\"\nmsgstr \"\"\n\n#: src/help.rs:39\nmsgid \"    --aururl    <url>      Set an alternative AUR URL\"\nmsgstr \"\"\n\n#: src/help.rs:40\nmsgid \"\"\n\"    --aurrpcur  <url>      Set an alternative URL for the AUR /rpc endpoint\"\nmsgstr \"\"\n\n#: src/help.rs:41\nmsgid \"    --clonedir  <dir>      Directory used to download and run PKGBUILDs\"\nmsgstr \"\"\n\n#: src/help.rs:43\nmsgid \"    --makepkg   <file>     makepkg command to use\"\nmsgstr \"\"\n\n#: src/help.rs:44\nmsgid \"    --mflags    <flags>    Pass arguments to makepkg\"\nmsgstr \"\"\n\n#: src/help.rs:45\nmsgid \"    --pacman    <file>     pacman command to use\"\nmsgstr \"\"\n\n#: src/help.rs:46\nmsgid \"    --git       <file>     git command to use\"\nmsgstr \"\"\n\n#: src/help.rs:47\nmsgid \"    --gitflags  <flags>    Pass arguments to git\"\nmsgstr \"\"\n\n#: src/help.rs:48\nmsgid \"    --sudo      <file>     sudo command to use\"\nmsgstr \"\"\n\n#: src/help.rs:49\nmsgid \"    --sudoflags <flags>    Pass arguments to sudo\"\nmsgstr \"\"\n\n#: src/help.rs:50\nmsgid \"    --pkgctl    <file>     pkgctl command to use\"\nmsgstr \"\"\n\n#: src/help.rs:51\nmsgid \"    --bat       <file>     bat command to use\"\nmsgstr \"\"\n\n#: src/help.rs:52\nmsgid \"    --batflags  <flags>    Pass arguments to bat\"\nmsgstr \"\"\n\n#: src/help.rs:53\nmsgid \"    --gpg       <file>     gpg command to use\"\nmsgstr \"\"\n\n#: src/help.rs:54\nmsgid \"    --gpgflags  <flags>    Pass arguments to gpg\"\nmsgstr \"\"\n\n#: src/help.rs:55\nmsgid \"    --fm        <file>     File manager to use for PKGBUILD review\"\nmsgstr \"\"\n\n#: src/help.rs:56\nmsgid \"    --fmflags   <flags>    Pass arguments to file manager\"\nmsgstr \"\"\n\n#: src/help.rs:58\nmsgid \"    --completioninterval   <n> Time in days to refresh completion cache\"\nmsgstr \"\"\n\n#: src/help.rs:59\nmsgid \"\"\n\"    --sortby    <field>    Sort AUR results by a specific field during search\"\nmsgstr \"\"\n\n#: src/help.rs:60\nmsgid \"    --searchby  <field>    Search for packages using a specified field\"\nmsgstr \"\"\n\n#: src/help.rs:61\nmsgid \"\"\n\"    --limit     <limit>    Limits the number of items returned in a search\"\nmsgstr \"\"\n\n#: src/help.rs:62\nmsgid \"    -x --regex             Enable regex for aur search\"\nmsgstr \"\"\n\n#: src/help.rs:64\nmsgid \"    --skipreview           Skip the review process\"\nmsgstr \"\"\n\n#: src/help.rs:65\nmsgid \"    --review               Don't skip the review process\"\nmsgstr \"\"\n\n#: src/help.rs:66\nmsgid \"    --[no]upgrademenu      Show interactive menu to skip upgrades\"\nmsgstr \"\"\n\n#: src/help.rs:67\n#, fuzzy\nmsgid \"    --[no]removemake       Remove makedepends after install\"\nmsgstr \"इंस्टॉल करने के बाद मेक डिपेंडेंसी हटाएं?\"\n\n#: src/help.rs:68\nmsgid \"    --[no]cleanafter       Remove package sources after install\"\nmsgstr \"\"\n\n#: src/help.rs:69\nmsgid \"    --[no]rebuild          Always build target packages\"\nmsgstr \"\"\n\n#: src/help.rs:70\nmsgid \"    --[no]redownload       Always download PKGBUILDs of targets\"\nmsgstr \"\"\n\n#: src/help.rs:72\nmsgid \"    --[no]pgpfetch         Prompt to import PGP keys from PKGBUILDs\"\nmsgstr \"\"\n\n#: src/help.rs:73\nmsgid \"\"\n\"    --[no]useask           Automatically resolve conflicts using pacman's \"\n\"ask flag\"\nmsgstr \"\"\n\n#: src/help.rs:74\nmsgid \"\"\n\"    --[no]savechanges      Commit changes to pkgbuilds made during review\"\nmsgstr \"\"\n\n#: src/help.rs:75\nmsgid \"    --[no]newsonupgrade    Print new news during sysupgrade\"\nmsgstr \"\"\n\n#: src/help.rs:76\nmsgid \"\"\n\"    --[no]combinedupgrade  Refresh then perform the repo and AUR upgrade \"\n\"together\"\nmsgstr \"\"\n\n#: src/help.rs:77\nmsgid \"\"\n\"    --[no]batchinstall     Build multiple AUR packages then install them \"\n\"together\"\nmsgstr \"\"\n\n#: src/help.rs:78\nmsgid \"\"\n\"    --[no]provides         Look for matching providers when searching for \"\n\"packages\"\nmsgstr \"\"\n\n#: src/help.rs:79\nmsgid \"    --[no]devel            Check development packages during sysupgrade\"\nmsgstr \"\"\n\n#: src/help.rs:80\nmsgid \"\"\n\"    --[no]installdebug     Also install debug packages when a package \"\n\"provides them\"\nmsgstr \"\"\n\n#: src/help.rs:81\nmsgid \"\"\n\"    --[no]sudoloop         Loop sudo calls in the background to avoid timeout\"\nmsgstr \"\"\n\n#: src/help.rs:82\nmsgid \"    --[no]chroot           Build packages in a chroot\"\nmsgstr \"\"\n\n#: src/help.rs:83\nmsgid \"\"\n\"    --[no]failfast         Exit as soon as building an AUR package fails\"\nmsgstr \"\"\n\n#: src/help.rs:84\nmsgid \"\"\n\"    --[no]keepsrc          Keep src/ and pkg/ dirs after building packages\"\nmsgstr \"\"\n\n#: src/help.rs:85\nmsgid \"    --[no]sign             Sign packages with gpg\"\nmsgstr \"\"\n\n#: src/help.rs:86\nmsgid \"    --[no]signdb           Sign databases with gpg\"\nmsgstr \"\"\n\n#: src/help.rs:87\nmsgid \"    --[no]localrepo        Build packages into a local repo\"\nmsgstr \"\"\n\n#: src/help.rs:88\nmsgid \"\"\n\"    --nocheck              Don't resolve checkdepends or run the check \"\n\"function\"\nmsgstr \"\"\n\n#: src/help.rs:90\nmsgid \"\"\n\"    --rootchrootpkgs       Packages to install in the root chroot (default: \"\n\"base-devel)\"\nmsgstr \"\"\n\n#: src/help.rs:92\nmsgid \"\"\n\"    --develsuffixes        Suffixes used to decide if a package is a devel \"\n\"package\"\nmsgstr \"\"\n\n#: src/help.rs:93\nmsgid \"    --ignoredevel          Ignore devel upgrades for specified packages\"\nmsgstr \"\"\n\n#: src/help.rs:94\nmsgid \"\"\n\"    --bottomup             Shows AUR's packages first and then repository's\"\nmsgstr \"\"\n\n#: src/help.rs:95\nmsgid \"\"\n\"    --topdown              Shows repository's packages first and then AUR's\"\nmsgstr \"\"\n\n#: src/help.rs:97\nmsgid \"show specific options:\"\nmsgstr \"\"\n\n#: src/help.rs:98\nmsgid \"    -c --complete         Used for completions\"\nmsgstr \"\"\n\n#: src/help.rs:99\nmsgid \"    -s --stats            Display system package statistics\"\nmsgstr \"\"\n\n#: src/help.rs:100\nmsgid \"    -w --news             Print arch news\"\nmsgstr \"\"\n\n#: src/help.rs:102\nmsgid \"getpkgbuild specific options:\"\nmsgstr \"\"\n\n#: src/help.rs:103\nmsgid \"    -p --print            Print pkgbuild to stdout\"\nmsgstr \"\"\n\n#: src/help.rs:104\nmsgid \"    -c --comments         Print AUR comments for pkgbuild\"\nmsgstr \"\"\n\n#: src/help.rs:105\nmsgid \"    -s --ssh              Clone package using SSH\"\nmsgstr \"\"\n\n#: src/help.rs:107\nmsgid \"Build specific options:\"\nmsgstr \"\"\n\n#: src/help.rs:108\nmsgid \"    -i --install          Install package as well as building\"\nmsgstr \"\"\n\n#: src/info.rs:86 src/info.rs:191 src/info.rs:225\nmsgid \"Name\"\nmsgstr \"नाम\"\n\n#: src/info.rs:87 src/info.rs:192 src/info.rs:226\nmsgid \"Version\"\nmsgstr \"संस्करण\"\n\n#: src/info.rs:88 src/info.rs:193 src/info.rs:227\nmsgid \"Description\"\nmsgstr \"विवरण\"\n\n#: src/info.rs:89 src/info.rs:195 src/info.rs:235\nmsgid \"Groups\"\nmsgstr \"समूह\"\n\n#: src/info.rs:90 src/info.rs:196 src/info.rs:236\nmsgid \"Licenses\"\nmsgstr \"लाइसेंस\"\n\n#: src/info.rs:91 src/info.rs:197 src/info.rs:237\nmsgid \"Provides\"\nmsgstr \"प्रदान\"\n\n#: src/info.rs:92 src/info.rs:198 src/info.rs:238\nmsgid \"Depends On\"\nmsgstr \"निर्भर\"\n\n#: src/info.rs:93 src/info.rs:199 src/info.rs:239\nmsgid \"Make Deps\"\nmsgstr \"निर्भर करें\"\n\n#: src/info.rs:94 src/info.rs:200 src/info.rs:240\nmsgid \"Check Deps\"\nmsgstr \"चेक डिप्स\"\n\n#: src/info.rs:95 src/info.rs:201 src/info.rs:241\nmsgid \"Optional Deps\"\nmsgstr \"वैकल्पिक विवरण\"\n\n#: src/info.rs:96 src/info.rs:202 src/info.rs:242\nmsgid \"Conflicts With\"\nmsgstr \"के साथ संघर्ष\"\n\n#: src/info.rs:97 src/info.rs:243\nmsgid \"Maintainer\"\nmsgstr \"मेंटेनर\"\n\n#: src/info.rs:98 src/info.rs:244\nmsgid \"Votes\"\nmsgstr \"वोट\"\n\n#: src/info.rs:99 src/info.rs:245\nmsgid \"Popularity\"\nmsgstr \"लोकप्रियता\"\n\n#: src/info.rs:100 src/info.rs:246\nmsgid \"First Submitted\"\nmsgstr \"पहले सबमिट\"\n\n#: src/info.rs:101 src/info.rs:247\nmsgid \"Last Modified\"\nmsgstr \"अंतिम संशोधित\"\n\n#: src/info.rs:102 src/info.rs:249\nmsgid \"Out Of Date\"\nmsgstr \"अप्रचलित\"\n\n#: src/info.rs:103 src/info.rs:254\nmsgid \"ID\"\nmsgstr \"ID\"\n\n#: src/info.rs:104 src/info.rs:255\nmsgid \"Package Base ID\"\nmsgstr \"पैकेज बेस ID\"\n\n#: src/info.rs:105 src/info.rs:256\nmsgid \"Keywords\"\nmsgstr \"खोजशब्द\"\n\n#: src/info.rs:106 src/info.rs:258\nmsgid \"Snapshot URL\"\nmsgstr \"स्नैपशॉट URL\"\n\n#: src/info.rs:107 src/info.rs:203\nmsgid \"Path\"\nmsgstr \"\"\n\n#: src/install.rs:166 src/query.rs:48 src/lib.rs:101\nmsgid \"error:\"\nmsgstr \"त्रुटि:\"\n\n#: src/install.rs:167\nmsgid \"could not get news\"\nmsgstr \"खबर नहीं मिल सकी\"\n\n#: src/install.rs:172 src/install.rs:1127\nmsgid \"Proceed with installation?\"\nmsgstr \"स्थापना के साथ आगे बढ़ें?\"\n\n#: src/install.rs:207\n#, fuzzy\nmsgid \"could not find .SRCINFO for '{}'\"\nmsgstr \"'{}' के लिए .SRINFO नहीं ढूंढ सका\"\n\n#: src/install.rs:353\nmsgid \"could not find package '{pkg}' in package list for '{base}'\"\nmsgstr \"पैकेज नहीं मिल सकाt '{pkg}' के लिए पैकेज सूची में'{base}'\"\n\n#: src/install.rs:451\nmsgid \"packages failed to build: {}\"\nmsgstr \"पैकेज बनाने में विफल: {}\"\n\n#: src/install.rs:523\nmsgid \"adding {} to the install list\"\nmsgstr \"{} को संस्थापित सूची में जोड़ना\"\n\n#: src/install.rs:553 src/install.rs:568\nmsgid \"failed to download sources for '{}'\"\nmsgstr \"'{}' के लिए स्रोत डाउनलोड करने में विफल\"\n\n#: src/install.rs:577 src/install.rs:603 src/install.rs:611\nmsgid \"failed to build '{}'\"\nmsgstr \"निर्माण करने में विफल '{}'\"\n\n#: src/install.rs:580 src/install.rs:784\nmsgid \"{}: parsing pkg list...\"\nmsgstr \"{}: संकल्प पीकेजी सूची...\"\n\n#: src/install.rs:584\n#, fuzzy\nmsgid \"package list does not match srcinfo\"\nmsgstr \"पैकेज खोज से मेल नहीं\"\n\n#: src/install.rs:618\nmsgid \"{}-{} is up to date -- skipping build\"\nmsgstr \"{}-{} अप टू डेट है -- स्किप बिल्ड\"\n\n#: src/install.rs:775\nmsgid \"can't build {base}, deps not satisfied: {deps}\"\nmsgstr \"\"\n\n#: src/install.rs:846\nmsgid \"fetching devel info...\"\nmsgstr \"डेवेल जानकारी प्राप्त करना...\"\n\n#: src/install.rs:911 src/lib.rs:240\nmsgid \"no targets specified (use -h for help)\"\nmsgstr \"कोई लक्ष्य निर्दिष्ट नहीं (मदद के लिए -h का उपयोग करें)\"\n\n#: src/install.rs:1008 src/install.rs:1097 src/search.rs:450 src/search.rs:476\n#: src/lib.rs:304\nmsgid \" there is nothing to do\"\nmsgstr \" यहां करने के लिए कुछ नहीं है\"\n\n#: src/install.rs:1016\nmsgid \"Resolving dependencies...\"\nmsgstr \"निर्भरता का समाधान...\"\n\n#: src/install.rs:1077\nmsgid \"can't install AUR package as root\"\nmsgstr \"AUR पैकेज को रूट के रूप में स्थापित नहीं कर सकता\"\n\n#: src/install.rs:1080\nmsgid \"--downloadonly can't be used for AUR packages\"\nmsgstr \"\"\n\n#: src/install.rs:1113\nmsgid \"Remove make dependencies after install?\"\nmsgstr \"इंस्टॉल करने के बाद मेक डिपेंडेंसी हटाएं?\"\n\n#: src/install.rs:1124\nmsgid \"Proceed to review?\"\nmsgstr \"समीक्षा के लिए आगे बढ़ें?\"\n\n#: src/install.rs:1177\nmsgid \"no architecture\"\nmsgstr \"कोई वास्तुकला नहीं\"\n\n#: src/install.rs:1191\nmsgid \"The following packages are not compatible with your architecture:\"\nmsgstr \"निम्नलिखित पैकेज आपके आर्किटेक्चर के अनुकूल नहीं हैं\"\n\n#: src/install.rs:1205\nmsgid \"Would you like to try build them anyway?\"\nmsgstr \"क्या आप उन्हें वैसे भी बनाने की कोशिश करना चाहेंगे?\"\n\n#: src/install.rs:1349\nmsgid \"duplicate packages: {}\"\nmsgstr \"डुप्लीकेट पैकेज: {}\"\n\n#: src/install.rs:1353\nmsgid \"could not find all required packages:\"\nmsgstr \"सभी आवश्यक पैकेज नहीं मिल सका:\"\n\n#: src/install.rs:1365\nmsgid \"\"\n\"\\n\"\n\"    {missing} (wanted by: {stack})\"\nmsgstr \"\"\n\"\\n\"\n\"    {missing} (द्वारा चाहता था: {stack})\"\n\n#: src/install.rs:1379 src/install.rs:2122\nmsgid \"{}-{} is up to date -- skipping\"\nmsgstr \"{}-{} अप टू डेट है -- लंघन\"\n\n#: src/install.rs:1387\nmsgid \"Calculating conflicts...\"\nmsgstr \"संघर्षों की गणना...\"\n\n#: src/install.rs:1410\nmsgid \"Calculating inner conflicts...\"\nmsgstr \"आंतरिक संघर्षों की गणना...\"\n\n#: src/install.rs:1422\nmsgid \"Inner conflicts found:\"\nmsgstr \"आंतरिक संघर्ष पाए गए:\"\n\n#: src/install.rs:1444\nmsgid \"Conflicts found:\"\nmsgstr \"संघर्ष पाया गया:\"\n\n#: src/install.rs:1467\nmsgid \"Conflicting packages will have to be confirmed manually\"\nmsgstr \"विरोधी पैकेजों की मैन्युअल रूप से पुष्टि करनी होगी\"\n\n#: src/install.rs:1471\nmsgid \"can not install conflicting packages with --noconfirm\"\nmsgstr \"--noconfirm के साथ परस्पर विरोधी पैकेज स्थापित नहीं कर सकता\"\n\n#: src/install.rs:1599\nmsgid \"failed to execute file manager: {}\"\nmsgstr \"फ़ाइल प्रबंधक निष्पादित करने में विफल: {}\"\n\n#: src/install.rs:1602\n#, fuzzy\nmsgid \"file manager '{}' did not execute successfully\"\nmsgstr \"फ़ाइल प्रबंधक सफलतापूर्वक निष्पादित नहीं हुआ\"\n\n#: src/install.rs:1620\nmsgid \"failed to read dir: {}\"\nmsgstr \"निर्देशिका पढ़ने में विफल: {}\"\n\n#: src/install.rs:1677\nmsgid \"failed to open: {}\"\nmsgstr \"खोलने में असफल हुआ: {}\"\n\n#: src/install.rs:1697\nmsgid \"binary file: {}\"\nmsgstr \"बाइनरी फ़ाइल: {}\"\n\n#: src/install.rs:1719 src/install.rs:1790\nmsgid \"Accept changes?\"\nmsgstr \"\"\n\n#: src/install.rs:1759\nmsgid \"Paging with less. Press 'q' to quit or 'h' for help.\"\nmsgstr \"\"\n\n#: src/install.rs:1794\nmsgid \" nothing new to review\"\nmsgstr \" समीक्षा करने के लिए कुछ भी नया नहीं\"\n\n#: src/install.rs:2070\nmsgid \"can't find package name in packagelist: {}\"\nmsgstr \"पैकेजेलिस्ट में पैकेज का नाम नहीं मिल रहा है: {}\"\n\n#: src/install.rs:2142\nmsgid \"Signing packages...\"\nmsgstr \"पैकेज पर हस्ताक्षर...\"\n\n#: src/install.rs:2172\nmsgid \"{}-{} is up to date -- skipping install\"\nmsgstr \"{}-{} अप टू डेट है -- लंघन इंस्टाल\"\n\n#: src/keys.rs:57\nmsgid \"keys need to be imported:\"\nmsgstr \"keys को आयात करने की आवश्यकता है:\"\n\n#: src/keys.rs:62\nmsgid \"     {key} wanted by: {base}\"\nmsgstr \"     {key} चाहते हैं: {base}\"\n\n#: src/news.rs:57\nmsgid \"No Date \"\nmsgstr \"कोई तारीख नहीं \"\n\n#: src/news.rs:60\nmsgid \"No Title\"\nmsgstr \"कोई शीर्षक नहीं\"\n\n#: src/news.rs:69\nmsgid \"no new news\"\nmsgstr \"कोई नई खबर नहीं\"\n\n#: src/pkgbuild.rs:91\n#, fuzzy\nmsgid \"repo {} does not have a URL or Path\"\nmsgstr \"विकल्प '{}' मूल्य नहीं लेता\"\n\n#: src/pkgbuild.rs:153\nmsgid \"repo {} not downloaded (use -Sy --pkgbuilds to download)\"\nmsgstr \"\"\n\n#: src/pkgbuild.rs:200\nmsgid \"Generating .SRCINFO for {repo}/{dir}...\"\nmsgstr \"\"\n\n#: src/pkgbuild.rs:278\n#, fuzzy\nmsgid \"failed to parse srcinfo \\\"{}\\\"\"\nmsgstr \"'{}' के लिए srcinfo पार्स करने में विफल\"\n\n#: src/pkgbuild.rs:368\n#, fuzzy\nmsgid \"Downloading PKGBUILD Repos...\"\nmsgstr \"डाउनलोड PKGBUILDs...\"\n\n#: src/pkgbuild.rs:422\nmsgid \"failed to parse srcinfo generated by makepkg\"\nmsgstr \"Makepkg . द्वारा उत्पन्न srcinfo को पार्स करने में विफल\"\n\n#: src/query.rs:151\nmsgid \" [ignored]\"\nmsgstr \" [नज़रअंदाज़]\"\n\n#: src/repo.rs:253\nmsgid \"failed to get current exe\"\nmsgstr \"वर्तमान exe प्राप्त करने में विफल\"\n\n#: src/repo.rs:298\nmsgid \"syncing local databases...\"\nmsgstr \"स्थानीय डेटाबेस को सिंक हो रहा...\"\n\n#: src/repo.rs:304\nmsgid \"  nothing to do\"\nmsgstr \"  कुछ करने को नहीं\"\n\n#: src/repo.rs:335\n#, fuzzy\nmsgid \"there is nothing to do\"\nmsgstr \" यहां करने के लिए कुछ नहीं है\"\n\n#: src/repo.rs:341\n#, fuzzy\nmsgid \"Packages\"\nmsgstr \"पैकेज बेस ID\"\n\n#: src/repo.rs:354\n#, fuzzy\nmsgid \"Proceed with removal?\"\nmsgstr \"समीक्षा के लिए आगे बढ़ें?\"\n\n#: src/repo.rs:415\nmsgid \" [installed: {}]\"\nmsgstr \" [स्थापित: {}]\"\n\n#: src/repo.rs:417 src/sync.rs:144\nmsgid \" [installed]\"\nmsgstr \" [स्थापित]\"\n\n#: src/search.rs:41\nmsgid \"aur search failed\"\nmsgstr \"AUR खोज विफल\"\n\n#: src/search.rs:285 src/search.rs:338 src/search.rs:410\n#, fuzzy\nmsgid \"[installed: {}]\"\nmsgstr \" [स्थापित: {}]\"\n\n#: src/search.rs:287 src/search.rs:340 src/search.rs:412\n#, fuzzy\nmsgid \"[installed]\"\nmsgstr \" [स्थापित]\"\n\n#: src/search.rs:332\n#, fuzzy\nmsgid \"[out-of-date: {}]\"\nmsgstr \"[अप्रचलित: {}]\"\n\n#: src/search.rs:347\n#, fuzzy\nmsgid \"[orphaned]\"\nmsgstr \"[अनाथ]\"\n\n#: src/search.rs:491\nmsgid \"no packages match search\"\nmsgstr \"पैकेज खोज से मेल नहीं\"\n\n#: src/search.rs:529\nmsgid \"Packages to install (eg: 1 2 3, 1-3):\"\nmsgstr \"स्थापित करने के लिए पैकेज (उदाहरण: 1 2 3, 1-3):\"\n\n#: src/search.rs:531\n#, fuzzy\nmsgid \"Select packages (eg: 1 2 3, 1-3):\"\nmsgstr \"स्थापित करने के लिए पैकेज (उदाहरण: 1 2 3, 1-3):\"\n\n#: src/stats.rs:90\nmsgid \"Total installed packages: {}\"\nmsgstr \"कुल स्थापित पैकेज: {}\"\n\n#: src/stats.rs:94\nmsgid \"Aur packages: {}\"\nmsgstr \"AUR संकुल: {}\"\n\n#: src/stats.rs:98\nmsgid \"Repo packages: {}\"\nmsgstr \"रेपो पैकेज: {}\"\n\n#: src/stats.rs:102\nmsgid \"Explicitly installed packages: {}\"\nmsgstr \"स्पष्ट रूप से स्थापित पैकेजt: {}\"\n\n#: src/stats.rs:106\nmsgid \"Total Size occupied by packages: {}\"\nmsgstr \"संकुल द्वारा कब्जा कर लिया गया कुल आकार: {}\"\n\n#: src/stats.rs:113\nmsgid \"Ten biggest packages:\"\nmsgstr \"दस सबसे बड़े पैकेज:\"\n\n#: src/upgrade.rs:126\n#, fuzzy\nmsgid \"Looking for PKGBUILD upgrades...\"\nmsgstr \"AUR अपग्रेड की तलाश है\"\n\n#: src/upgrade.rs:134\n#, fuzzy\nmsgid \"Looking for AUR upgrades...\"\nmsgstr \"AUR अपग्रेड की तलाश है\"\n\n#: src/upgrade.rs:165\n#, fuzzy\nmsgid \"Looking for devel upgrades...\"\nmsgstr \"डेवेल अपग्रेड की तलाश\"\n\n#: src/upgrade.rs:193 src/upgrade.rs:206\nmsgid \"warning:\"\nmsgstr \"चेतावनी:\"\n\n#: src/upgrade.rs:195 src/upgrade.rs:208\nmsgid \"{pkg}: ignoring package upgrade ({old} => {new})\"\nmsgstr \"{pkg}: पैकेज अपग्रेड की अनदेखी ({old} => {new})\"\n\n#: src/upgrade.rs:400\nmsgid \"Packages to exclude (eg: 1 2 3, 1-3):\"\nmsgstr \"बाहर करने के लिए पैकेज (उदाहरण: 1 2 3, 1-3):\"\n\n#: src/util.rs:121\nmsgid \"[Y/n]:\"\nmsgstr \"[Y/N]:\"\n\n#: src/util.rs:123\nmsgid \"[y/N]:\"\nmsgstr \"[y/N]:\"\n\n#: src/util.rs:142\nmsgid \"y\"\nmsgstr \"y\"\n\n#: src/util.rs:142\nmsgid \"yes\"\nmsgstr \"हाँ\"\n\n#: src/util.rs:300\nmsgid \"Enter a number (default=1): \"\nmsgstr \"एक नंबर दर्ज करें (डिफ़ॉल्ट=1): \"\n\n#: src/util.rs:317\nmsgid \"invalid number: {}\"\nmsgstr \"अमान्य संख्या: {}\"\n\n#: src/util.rs:327\nmsgid \"invalid value: {n} is not between 1 and {max}\"\nmsgstr \"अमान्य मूल्य: {n}, 1 तथा {max} के बीच नहीं है \"\n\n#: src/resolver.rs:83\nmsgid \"There are {} members in group\"\nmsgstr \"ग्रुप में {} सदस्य हैं\"\n\n#: src/resolver.rs:108\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Enter a selection (default=all): \"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"एक चयन दर्ज करें (डिफ़ॉल्ट = सभी): \"\n\n#: src/lib.rs:206\nmsgid \"can not use chroot builds: devtools is not installed\"\nmsgstr \"chroot बिल्ड का उपयोग नहीं कर सकते: devtools स्थापित नहीं है\"\n\n#: src/lib.rs:313\n#, fuzzy\nmsgid \"no operation specified (use -h for help)\"\nmsgstr \"कोई लक्ष्य निर्दिष्ट नहीं (मदद के लिए -h का उपयोग करें)\"\n\n#~ msgid \"[Installed: {}]\"\n#~ msgstr \"[स्थापित: {}]\"\n\n#~ msgid \"[Installed]\"\n#~ msgstr \"[स्थापित]\"\n\n#~ msgid \"could not get current directory\"\n#~ msgstr \"वर्तमान निर्देशिका नहीं मिल सका\"\n\n#~ msgid \"can not get repo packages: asp is not installed\"\n#~ msgstr \"रेपो पैकेज नहीं मिल सकता: asp स्थापित नहीं है\"\n\n#~ msgid \"Missing ABS packages \"\n#~ msgstr \"अनुपस्थित ABS पैकेज \"\n\n#~ msgid \"does not contain PKGBUILD: skipping\"\n#~ msgstr \"PKGBUILD शामिल नहीं है: छोड़ना\"\n\n#~ msgid \"{} is not installed: can not get repo packages\"\n#~ msgstr \"{} स्थापित नहीं है: रेपो पैकेज नहीं मिल सकता\"\n\n#~ msgid \"asp returned {}\"\n#~ msgstr \"asp लौटाया {}\"\n\n#, fuzzy\n#~ msgid \"Generating .SRCINFO for {dir}...\"\n#~ msgstr \"'{}' के लिए .SRINFO नहीं ढूंढ सका\"\n\n#, fuzzy\n#~ msgid \"error: unknown section '{}'\"\n#~ msgstr \"अज्ञात खंड '{}'\"\n\n#~ msgid \"can't build package as root\"\n#~ msgstr \"रूट के रूप में पैकेज नहीं बना सकता\"\n\n#~ msgid \"failed to build\"\n#~ msgstr \"निर्माण करने में विफल\"\n\n#~ msgid \"parsing pkg list...\"\n#~ msgstr \"पार्सिंग पैकेज सूची...\"\n\n#~ msgid \"\"\n#~ \"{} is a directory\\n\"\n#~ \"\\n\"\n#~ msgstr \"\"\n#~ \"{} एक निर्देशिका है\\n\"\n#~ \"\\n\"\n\n#~ msgid \"n\"\n#~ msgstr \"n\"\n\n#~ msgid \"no\"\n#~ msgstr \"नही\"\n"
  },
  {
    "path": "po/hr.po",
    "content": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE paru'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the paru package.\n# Ivan Merčep <i1mercep@gmail.com>, 2021.\n#\n#, fuzzy\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: paru VERSION\\n\"\n\"Report-Msgid-Bugs-To: https://github.com/Morganamilo/paru\\n\"\n\"POT-Creation-Date: 2026-01-08 17:40+0000\\n\"\n\"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\\n\"\n\"Last-Translator: Ivan Merčep <i1mercep@gmail.com>\\n\"\n\"Language-Team: Ivan Merčep <i1mercep@gmail.com>\\n\"\n\"Language: hr\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\n#: src/clean.rs:36\n#, fuzzy\nmsgid \"Do you want to clean ALL AUR packages from cache?\"\nmsgstr \"Brisanje SVIH AUR paketa iz cache memorije?\"\n\n#: src/clean.rs:38\n#, fuzzy\nmsgid \"Do you want to clean all other AUR packages from cache?\"\nmsgstr \"Brisanje svih ostalih AUR paketa iz cache memorije?\"\n\n#: src/clean.rs:41\nmsgid \"Clone Directory: {}\"\nmsgstr \"Clone Direktorij: {}\"\n\n#: src/clean.rs:47\nmsgid \"\"\n\"\\n\"\n\"Diff Directory: {}\"\nmsgstr \"\"\n\"\\n\"\n\"Diff Direktorij {}\"\n\n#: src/clean.rs:49\nmsgid \"Do you want to remove all saved diffs?\"\nmsgstr \"Brisanje svih spremljenih diffs?\"\n\n#: src/clean.rs:65\nmsgid \"can't open diff dir: {}\"\nmsgstr \"nije moguće otvoriti diff dir: {}\"\n\n#: src/clean.rs:76 src/clean.rs:180\nmsgid \"could not remove '{}'\"\nmsgstr \"nije moguće izbrisati '{}'\"\n\n#: src/clean.rs:95\nmsgid \"can't open clone dir: {}\"\nmsgstr \"nije moguće klonirati dir: {}\"\n\n#: src/clean.rs:141\n#, fuzzy\nmsgid \"could not parse .SRCINFO for '{}'\"\nmsgstr \"nije moguće pronaći .SRINFO za '{}'\"\n\n#: src/command_line.rs:134\nmsgid \"option {} expects a value\"\nmsgstr \"opcija {} očekuje vrijednost\"\n\n#: src/command_line.rs:165 src/command_line.rs:382\nmsgid \"option {} does not allow a value\"\nmsgstr \"opcija {} ne dopušta vrijednost\"\n\n#: src/command_line.rs:373\nmsgid \"unknown option --{}\"\nmsgstr \"nepoznata opcija --{}\"\n\n#: src/command_line.rs:376\nmsgid \"unknown option -{}\"\nmsgstr \"nepoznata opcija -{}\"\n\n#: src/completion.rs:26 src/search.rs:179 src/sync.rs:113\n#, fuzzy\nmsgid \"failed to decode package list\"\nmsgstr \"neuspješno preuzimanje source-a\"\n\n#: src/completion.rs:35\nmsgid \"failed to open cache file '{}'\"\nmsgstr \"neuspješno otvaranje cache datoteke '{}'\"\n\n#: src/completion.rs:83\nmsgid \"could not update aur cache\"\nmsgstr \"neuspješan update aur cache-a\"\n\n#: src/config.rs:179\nmsgid \"invalid value '{val}' for key '{key}', expected: {exp}\"\nmsgstr \"Nevažeća vrijednost '{val}' za key '{key}', očekivana: {exp}\"\n\n#: src/config.rs:332\n#, fuzzy\nmsgid \"unknown mode {}\"\nmsgstr \"nepoznata opcija -{}\"\n\n#: src/config.rs:564\nmsgid \"section can not be called {}\"\nmsgstr \"\"\n\n#: src/config.rs:581\nmsgid \"failed to find cache directory\"\nmsgstr \"neuspješno traženje cache direktorija\"\n\n#: src/config.rs:584\nmsgid \"failed to find config directory\"\nmsgstr \"neuspješno traženje config direktorija\"\n\n#: src/config.rs:588\n#, fuzzy\nmsgid \"failed to find state directory\"\nmsgstr \"neuspješno traženje cache direktorija\"\n\n#: src/config.rs:635\nmsgid \"config file '{}' does not exist\"\nmsgstr \"config datoteka '{}' ne postoji\"\n\n#: src/config.rs:684\nmsgid \"only one operation may be used at a time\"\nmsgstr \"istovremeno se smije koristiti samo jedna operacija\"\n\n#: src/config.rs:795\nmsgid \"no local repo named {}\"\nmsgstr \"\"\n\n#: src/config.rs:821\nmsgid \"can not find local repo '{}' in pacman.conf\"\nmsgstr \"neuspješno traženje lokalnog repozitorija '{}' u pacman.conf\"\n\n#: src/config.rs:866\nmsgid \"failed to initialize alpm: root={} dbpath={}\"\nmsgstr \"neuspješna inicijalizacija alpm: root={} dbpath={}\"\n\n#: src/config.rs:941 src/config.rs:1102\nmsgid \"value can not be empty for key '{}'\"\nmsgstr \"vrijednost ne smije biti prazna za key '{}'\"\n\n#: src/config.rs:957\nmsgid \"key '{}' does not belong to a section\"\nmsgstr \"key '{}' ne pripada sekciji\"\n\n#: src/config.rs:971 src/config.rs:988 src/config.rs:990 src/config.rs:1005\nmsgid \"key can not be empty\"\nmsgstr \"key ne smije biti prazan\"\n\n#: src/config.rs:981\n#, fuzzy\nmsgid \"error: unknown option '{}' in repo\"\nmsgstr \"greška: nepoznata opcija '{}' u sekciji [bin]\"\n\n#: src/config.rs:991\nmsgid \"key can not contain null bytes\"\nmsgstr \"key ne smije sadržavati null bytes\"\n\n#: src/config.rs:994\nmsgid \"value can not contain null bytes\"\nmsgstr \"vrijednost ne smije sadržavati null bytes\"\n\n#: src/config.rs:1030\nmsgid \"error: unknown option '{}' in section [bin]\"\nmsgstr \"greška: nepoznata opcija '{}' u sekciji [bin]\"\n\n#: src/config.rs:1150\nmsgid \"error: unknown option '{}' in section [options]\"\nmsgstr \"greška: nepoznata opcija '{}' u sekciji [opcije]\"\n\n#: src/config.rs:1155\nmsgid \"option '{}' does not take a value\"\nmsgstr \"opcija '{}' ne prima vrijednost\"\n\n#: src/config.rs:1187 src/resolver.rs:136\nmsgid \"There are {n} providers available for {pkg}:\"\nmsgstr \"{pkg} ima {n} dostupnih providera:\"\n\n#: src/config.rs:1201 src/info.rs:85 src/info.rs:190 src/info.rs:224\n#: src/resolver.rs:95 src/resolver.rs:144\nmsgid \"Repository\"\nmsgstr \"Repozitorij\"\n\n#: src/config.rs:1227\nmsgid \"  failed to sync {}\"\nmsgstr \"  neuspješan sync {}\"\n\n#: src/devel.rs:136 src/download.rs:207\nmsgid \"Querying AUR...\"\nmsgstr \"Upit na AUR...\"\n\n#: src/devel.rs:157 src/devel.rs:181 src/install.rs:203\nmsgid \"failed to parse srcinfo for '{}'\"\nmsgstr \"neuspješno raščlanjivanje srcinfo za '{}'\"\n\n#: src/devel.rs:201\nmsgid \"Looking for devel repos...\"\nmsgstr \"Traženje devel repos...\"\n\n#: src/devel.rs:210\nmsgid \"failed to save devel info\"\nmsgstr \"neuspješno spremanje devel info\"\n\n#: src/devel.rs:218\n#, fuzzy\nmsgid \"failed to create state directory: {}\"\nmsgstr \"neuspješno traženje cache direktorija\"\n\n#: src/devel.rs:233\n#, fuzzy\nmsgid \"failed to create temporary file: {}\"\nmsgstr \"neuspješno pokretanje file manager-a: {}\"\n\n#: src/devel.rs:238\n#, fuzzy\nmsgid \"failed to write to temporary file: {}\"\nmsgstr \"neuspješno čitanje dir-a: {}\"\n\n#: src/devel.rs:244\nmsgid \"failed to rename '{temp}' to '{devel_toml}\"\nmsgstr \"\"\n\n#: src/devel.rs:490\nmsgid \"package does not have an update\"\nmsgstr \"paket nema update\"\n\n#: src/devel.rs:536\nmsgid \"failed to lookup: {}\"\nmsgstr \"neuspješan lookup: {}\"\n\n#: src/devel.rs:564\n#, fuzzy\nmsgid \"invalid toml: {}\"\nmsgstr \"nevažeći json: {}\"\n\n#: src/download.rs:100\nmsgid \"packages not in the AUR: \"\nmsgstr \"paketi nisu u AUR: \"\n\n#: src/download.rs:111\nmsgid \"marked out of date: \"\nmsgstr \"označeno kao zastarjelo\"\n\n#: src/download.rs:122\nmsgid \"orphans: \"\nmsgstr \"napušteni: \"\n\n#: src/download.rs:260\nmsgid \"downloading: {pkg}\"\nmsgstr \"preuzimanje: {pkg}\"\n\n#: src/download.rs:279 src/download.rs:602 src/info.rs:55 src/info.rs:180\n#: src/query.rs:49\nmsgid \"package '{}' was not found\"\nmsgstr \"paket '{}' nije pronađen\"\n\n#: src/download.rs:291\n#, fuzzy\nmsgid \"duplicate PKGBUILD: {}\"\nmsgstr \"dupli paketi: {}\"\n\n#: src/download.rs:307\nmsgid \"package '{}' exists but has no PKGBUILD -- skipping\"\nmsgstr \"\"\n\n#: src/download.rs:340\nmsgid \"Downloading PKGBUILDs...\"\nmsgstr \"Preuzimanje PKGBUILDs...\"\n\n#: src/download.rs:344\nmsgid \" PKGBUILDs up to date\"\nmsgstr \" PKGBUILDs su ažurirani\"\n\n#: src/exec.rs:72\nmsgid \"failed to run:\"\nmsgstr \"neuspješno pokretanje:\"\n\n#: src/exec.rs:174\nmsgid \"Pacman is currently in use, please wait...\"\nmsgstr \"Pacman se trenutno koristi, pričekajte...\"\n\n#: src/fmt.rs:24 src/info.rs:275 src/search.rs:293 src/search.rs:350\nmsgid \"None\"\nmsgstr \"Ništa\"\n\n#: src/fmt.rs:245\nmsgid \"Repo\"\nmsgstr \"Repo\"\n\n#: src/fmt.rs:252\nmsgid \"Repo Make\"\nmsgstr \"Repo Make\"\n\n#: src/fmt.rs:272\nmsgid \"Pkgbuilds Make\"\nmsgstr \"\"\n\n#: src/fmt.rs:274\nmsgid \"Aur Make\"\nmsgstr \"Aur Make\"\n\n#: src/fmt.rs:319\n#, fuzzy\nmsgid \"Repo ({})\"\nmsgstr \"Repo\"\n\n#: src/fmt.rs:327\n#, fuzzy\nmsgid \"Old Version\"\nmsgstr \"Verzija\"\n\n#: src/fmt.rs:328\n#, fuzzy\nmsgid \"New Version\"\nmsgstr \"Verzija\"\n\n#: src/fmt.rs:329\nmsgid \"Make Only\"\nmsgstr \"\"\n\n#: src/fmt.rs:330\n#, fuzzy\nmsgid \"Yes\"\nmsgstr \"da\"\n\n#: src/fmt.rs:331 src/info.rs:221\nmsgid \"No\"\nmsgstr \"Ne\"\n\n#: src/fmt.rs:419\nmsgid \"insufficient columns available for table display\"\nmsgstr \"\"\n\n#: src/help.rs:4\nmsgid \"Usage:\"\nmsgstr \"Korištenje:\"\n\n#: src/help.rs:5\nmsgid \"    paru\"\nmsgstr \"    paru\"\n\n#: src/help.rs:6\nmsgid \"    paru <operation> [...]\"\nmsgstr \"    paru <operacija> [...]\"\n\n#: src/help.rs:7\nmsgid \"    paru <package(s)>\"\nmsgstr \"    paru <paket(i)>\"\n\n#: src/help.rs:9\nmsgid \"Pacman operations:\"\nmsgstr \"Pacman operacije:\"\n\n#: src/help.rs:10\nmsgid \"    paru {-h --help}\"\nmsgstr \"    paru {-h --help}\"\n\n#: src/help.rs:11\nmsgid \"    paru {-V --version}\"\nmsgstr \"    paru {-V --version}\"\n\n#: src/help.rs:12\nmsgid \"    paru {-D --database}    <options> <package(s)>\"\nmsgstr \"    paru {-D --database}    <opcije> <paket(i)>\"\n\n#: src/help.rs:13\nmsgid \"    paru {-F --files}       [options] [package(s)]\"\nmsgstr \"    paru {-F --files}       [opcije] [paket(i)]\"\n\n#: src/help.rs:14\nmsgid \"    paru {-Q --query}       [options] [package(s)]\"\nmsgstr \"    paru {-Q --query}       [opcije] [paket(i)]\"\n\n#: src/help.rs:15\nmsgid \"    paru {-R --remove}      [options] <package(s)>\"\nmsgstr \"    paru {-R --remove}      [opcije] <paket(i)>\"\n\n#: src/help.rs:16\nmsgid \"    paru {-S --sync}        [options] [package(s)]\"\nmsgstr \"    paru {-S --sync}        [opcije] [paket(i)]\"\n\n#: src/help.rs:17\nmsgid \"    paru {-T --deptest}     [options] [package(s)]\"\nmsgstr \"    paru {-T --deptest}     [opcije] [paket(i)]\"\n\n#: src/help.rs:18\nmsgid \"    paru {-U --upgrade}     [options] [file(s)]\"\nmsgstr \"    paru {-U --upgrade}     [opcije] [datoteke]\"\n\n#: src/help.rs:20\nmsgid \"New operations:\"\nmsgstr \"Nove operacije:\"\n\n#: src/help.rs:21\nmsgid \"    paru {-P --show}        [options]\"\nmsgstr \"    paru {-P --show}        [opcije]\"\n\n#: src/help.rs:22\nmsgid \"    paru {-G --getpkgbuild} [package(s)]\"\nmsgstr \"    paru {-G --getpkgbuild} [paket(i)]\"\n\n#: src/help.rs:23\n#, fuzzy\nmsgid \"    paru {-B --build}       [dir(s)]\"\nmsgstr \"    paru {-P --show}        [opcije]\"\n\n#: src/help.rs:25\nmsgid \"If no arguments are provided 'paru -Syu' will be performed\"\nmsgstr \"Ako je pokrento bez argumenata, pokreće se 'paru -Syu'\"\n\n#: src/help.rs:27\nmsgid \"Options without operation:\"\nmsgstr \"Opcije bez operacije:\"\n\n#: src/help.rs:28\nmsgid \"    -c --clean            Remove unneeded dependencies\"\nmsgstr \"    -c --clean            Izbriši nepotrebne ovisnosti\"\n\n#: src/help.rs:29\nmsgid \"\"\n\"       --gendb            Generates development package DB used for updating\"\nmsgstr \"       --gendb            Generira development paket DB za update\"\n\n#: src/help.rs:31\nmsgid \"New options:\"\nmsgstr \"Noce opcije:\"\n\n#: src/help.rs:32\nmsgid \"       --repo              Assume targets are from the repositories\"\nmsgstr \"       --repo              Pretpostavlja da su ciljevi iz repozitorija\"\n\n#: src/help.rs:33\n#, fuzzy\nmsgid \"\"\n\"       --pkgbuilds         Assume targets are from pkgbuild repositories\"\nmsgstr \"       --repo              Pretpostavlja da su ciljevi iz repozitorija\"\n\n#: src/help.rs:34\nmsgid \"    -a --aur               Assume targets are from the AUR\"\nmsgstr \"    -a --aur               Pretpostavlja da su ciljevi iz AUR\"\n\n#: src/help.rs:35\nmsgid \"    --mode      <mode>     Sets where paru looks for targets\"\nmsgstr \"\"\n\n#: src/help.rs:37\nmsgid \"\"\n\"    --interactive          Enable interactive package selection for -S, -R, \"\n\"-Ss and -Qs\"\nmsgstr \"\"\n\n#: src/help.rs:39\nmsgid \"    --aururl    <url>      Set an alternative AUR URL\"\nmsgstr \"    --aururl    <url>      Postavi alternativni AUR URL\"\n\n#: src/help.rs:40\n#, fuzzy\nmsgid \"\"\n\"    --aurrpcur  <url>      Set an alternative URL for the AUR /rpc endpoint\"\nmsgstr \"    --aururl    <url>      Postavi alternativni AUR URL\"\n\n#: src/help.rs:41\nmsgid \"    --clonedir  <dir>      Directory used to download and run PKGBUILDs\"\nmsgstr \"    --clonedir  <dir>      Direktorij za download i run PKGBUILDs\"\n\n#: src/help.rs:43\nmsgid \"    --makepkg   <file>     makepkg command to use\"\nmsgstr \"    --makepkg   <file>     makepkg naredba\"\n\n#: src/help.rs:44\nmsgid \"    --mflags    <flags>    Pass arguments to makepkg\"\nmsgstr \"    --mflags    <flags>    Argumenti za prosljediti u makepkg\"\n\n#: src/help.rs:45\nmsgid \"    --pacman    <file>     pacman command to use\"\nmsgstr \"    --pacman    <file>     pacman naredba\"\n\n#: src/help.rs:46\nmsgid \"    --git       <file>     git command to use\"\nmsgstr \"    --git       <file>     git naredba\"\n\n#: src/help.rs:47\nmsgid \"    --gitflags  <flags>    Pass arguments to git\"\nmsgstr \"    --gitflags  <flags>    Argumenti za prosljediti u git\"\n\n#: src/help.rs:48\nmsgid \"    --sudo      <file>     sudo command to use\"\nmsgstr \"    --sudo      <file>     sudo naredba\"\n\n#: src/help.rs:49\nmsgid \"    --sudoflags <flags>    Pass arguments to sudo\"\nmsgstr \"    --sudoflags <flags>    Argumenti za prosljediti u sudo\"\n\n#: src/help.rs:50\n#, fuzzy\nmsgid \"    --pkgctl    <file>     pkgctl command to use\"\nmsgstr \"    --git       <file>     git naredba\"\n\n#: src/help.rs:51\nmsgid \"    --bat       <file>     bat command to use\"\nmsgstr \"    --bat       <file>     bat naredba\"\n\n#: src/help.rs:52\nmsgid \"    --batflags  <flags>    Pass arguments to bat\"\nmsgstr \"    --batflags  <flags>    Argumenti za prosljediti u bat\"\n\n#: src/help.rs:53\nmsgid \"    --gpg       <file>     gpg command to use\"\nmsgstr \"    --gpg       <file>     gpg naredba\"\n\n#: src/help.rs:54\nmsgid \"    --gpgflags  <flags>    Pass arguments to gpg\"\nmsgstr \"    --gpgflags  <flags>    Argumenti za prosljediti u gpg\"\n\n#: src/help.rs:55\nmsgid \"    --fm        <file>     File manager to use for PKGBUILD review\"\nmsgstr \"    --fm        <file>     File manager za PKGBUILD review\"\n\n#: src/help.rs:56\nmsgid \"    --fmflags   <flags>    Pass arguments to file manager\"\nmsgstr \"    --fmflags   <flags>    Argmuneti za prosljediti u file manager\"\n\n#: src/help.rs:58\nmsgid \"    --completioninterval   <n> Time in days to refresh completion cache\"\nmsgstr \"\"\n\"    --completioninterval   <n> Vrijeme u danima za osvježavanje completion \"\n\"cache\"\n\n#: src/help.rs:59\nmsgid \"\"\n\"    --sortby    <field>    Sort AUR results by a specific field during search\"\nmsgstr \"\"\n\"    --sortby    <field>    Sortiranje AUR rezultata prema specifičnim \"\n\"poljima tjekom traženja\"\n\n#: src/help.rs:60\nmsgid \"    --searchby  <field>    Search for packages using a specified field\"\nmsgstr \"\"\n\"    --searchby  <field>    Pretraživanje paketa koristeći specifično polje\"\n\n#: src/help.rs:61\nmsgid \"\"\n\"    --limit     <limit>    Limits the number of items returned in a search\"\nmsgstr \"\"\n\n#: src/help.rs:62\nmsgid \"    -x --regex             Enable regex for aur search\"\nmsgstr \"\"\n\n#: src/help.rs:64\nmsgid \"    --skipreview           Skip the review process\"\nmsgstr \"    --skipreview           Preskoči review process\"\n\n#: src/help.rs:65\nmsgid \"    --review               Don't skip the review process\"\nmsgstr \"    --review               Ne preskači review process\"\n\n#: src/help.rs:66\nmsgid \"    --[no]upgrademenu      Show interactive menu to skip upgrades\"\nmsgstr \"\"\n\"    --[no]upgrademenu      Pokaži interaktivni menu za preskakanje ažuriranja\"\n\n#: src/help.rs:67\nmsgid \"    --[no]removemake       Remove makedepends after install\"\nmsgstr \"    --[no]removemake       Izbriši makedepends nakon instalacije\"\n\n#: src/help.rs:68\nmsgid \"    --[no]cleanafter       Remove package sources after install\"\nmsgstr \"    --[no]cleanafter       izbriši source paketa nakon instalacije\"\n\n#: src/help.rs:69\nmsgid \"    --[no]rebuild          Always build target packages\"\nmsgstr \"    --[no]rebuild          Uvijek buildaj ciljane pakete\"\n\n#: src/help.rs:70\nmsgid \"    --[no]redownload       Always download PKGBUILDs of targets\"\nmsgstr \"    --[no]redownload       Uvijek preuzmi PKGBUILDs od ciljeva\"\n\n#: src/help.rs:72\nmsgid \"    --[no]pgpfetch         Prompt to import PGP keys from PKGBUILDs\"\nmsgstr \"    --[no]pgpfetch         Prompt za import PGP ključeva iz PKGBUILDs\"\n\n#: src/help.rs:73\nmsgid \"\"\n\"    --[no]useask           Automatically resolve conflicts using pacman's \"\n\"ask flag\"\nmsgstr \"\"\n\"    --[no]useask           Automatski razriješi konflikte koristeći pacman-\"\n\"ovu ask flag\"\n\n#: src/help.rs:74\nmsgid \"\"\n\"    --[no]savechanges      Commit changes to pkgbuilds made during review\"\nmsgstr \"\"\n\n#: src/help.rs:75\nmsgid \"    --[no]newsonupgrade    Print new news during sysupgrade\"\nmsgstr \"    --[no]newsonupgrade    Ispis vijesti tijekom sysupgrade\"\n\n#: src/help.rs:76\nmsgid \"\"\n\"    --[no]combinedupgrade  Refresh then perform the repo and AUR upgrade \"\n\"together\"\nmsgstr \"    --[no]combinedupgrade  Refresh pa napravi repo i AUR upgrade skupa\"\n\n#: src/help.rs:77\nmsgid \"\"\n\"    --[no]batchinstall     Build multiple AUR packages then install them \"\n\"together\"\nmsgstr \"\"\n\"    --[no]batchinstall     Build više AUR paketa pa ih instaliraj skupa\"\n\n#: src/help.rs:78\nmsgid \"\"\n\"    --[no]provides         Look for matching providers when searching for \"\n\"packages\"\nmsgstr \"\"\n\"    --[no]provides         Pretraži odgovarajuće providere tijekom pretrage \"\n\"paketa\"\n\n#: src/help.rs:79\nmsgid \"    --[no]devel            Check development packages during sysupgrade\"\nmsgstr \"\"\n\"    --[no]devel            Provjeri development pakete tijekom sysupgrade\"\n\n#: src/help.rs:80\nmsgid \"\"\n\"    --[no]installdebug     Also install debug packages when a package \"\n\"provides them\"\nmsgstr \"\"\n\"    --[no]installdebug     Također instaliraj debug pakete kada ih paket \"\n\"pruža\"\n\n#: src/help.rs:81\nmsgid \"\"\n\"    --[no]sudoloop         Loop sudo calls in the background to avoid timeout\"\nmsgstr \"\"\n\"    --[no]sudoloop         Loop sudo pozive u pozadini zbog izbjegavanja \"\n\"timeout-a\"\n\n#: src/help.rs:82\nmsgid \"    --[no]chroot           Build packages in a chroot\"\nmsgstr \"    --[no]chroot           Build pakete u chroot\"\n\n#: src/help.rs:83\n#, fuzzy\nmsgid \"\"\n\"    --[no]failfast         Exit as soon as building an AUR package fails\"\nmsgstr \"    --[no]rebuild          Uvijek buildaj ciljane pakete\"\n\n#: src/help.rs:84\n#, fuzzy\nmsgid \"\"\n\"    --[no]keepsrc          Keep src/ and pkg/ dirs after building packages\"\nmsgstr \"    --[no]rebuild          Uvijek buildaj ciljane pakete\"\n\n#: src/help.rs:85\nmsgid \"    --[no]sign             Sign packages with gpg\"\nmsgstr \"    --[no]sign             Potpisivanje paketa sa gpg\"\n\n#: src/help.rs:86\nmsgid \"    --[no]signdb           Sign databases with gpg\"\nmsgstr \"    --[no]signdb           Potpisivanje baza podataka sa gpg\"\n\n#: src/help.rs:87\n#, fuzzy\nmsgid \"    --[no]localrepo        Build packages into a local repo\"\nmsgstr \"    --localrepo            Build pakete u lokalni repo\"\n\n#: src/help.rs:88\nmsgid \"\"\n\"    --nocheck              Don't resolve checkdepends or run the check \"\n\"function\"\nmsgstr \"\"\n\"    --nocheck              Ne razrješavaj checkdepends ili pozivaj check \"\n\"funkciju\"\n\n#: src/help.rs:90\nmsgid \"\"\n\"    --rootchrootpkgs       Packages to install in the root chroot (default: \"\n\"base-devel)\"\nmsgstr \"\"\n\n#: src/help.rs:92\nmsgid \"\"\n\"    --develsuffixes        Suffixes used to decide if a package is a devel \"\n\"package\"\nmsgstr \"\"\n\"    --develsuffixes        Sufiksi za odlučivanje je li paket devel paket\"\n\n#: src/help.rs:93\n#, fuzzy\nmsgid \"    --ignoredevel          Ignore devel upgrades for specified packages\"\nmsgstr \"\"\n\"    --[no]provides         Pretraži odgovarajuće providere tijekom pretrage \"\n\"paketa\"\n\n#: src/help.rs:94\nmsgid \"\"\n\"    --bottomup             Shows AUR's packages first and then repository's\"\nmsgstr \"    --bottomup             Prvo ispis AUR paketa pa onda repozitorija\"\n\n#: src/help.rs:95\nmsgid \"\"\n\"    --topdown              Shows repository's packages first and then AUR's\"\nmsgstr \"    --topdown              Prvo ispis paketa repozitorija pa onda AUR\"\n\n#: src/help.rs:97\nmsgid \"show specific options:\"\nmsgstr \"ispis specifične opcije:\"\n\n#: src/help.rs:98\nmsgid \"    -c --complete         Used for completions\"\nmsgstr \"    -c --complete         Za dovršavanje\"\n\n#: src/help.rs:99\nmsgid \"    -s --stats            Display system package statistics\"\nmsgstr \"    -s --stats            Ispis statistike system paketa\"\n\n#: src/help.rs:100\nmsgid \"    -w --news             Print arch news\"\nmsgstr \"    -w --news             Ispis arch vijesti\"\n\n#: src/help.rs:102\nmsgid \"getpkgbuild specific options:\"\nmsgstr \"getpkgbuild specifične opcije:\"\n\n#: src/help.rs:103\nmsgid \"    -p --print            Print pkgbuild to stdout\"\nmsgstr \"    -p --print            Ispis pkgbuild u stdout\"\n\n#: src/help.rs:104\nmsgid \"    -c --comments         Print AUR comments for pkgbuild\"\nmsgstr \"    -c --comments         Ispis AUR komentara za pkgbuild\"\n\n#: src/help.rs:105\n#, fuzzy\nmsgid \"    -s --ssh              Clone package using SSH\"\nmsgstr \"    -s --stats            Ispis statistike system paketa\"\n\n#: src/help.rs:107\n#, fuzzy\nmsgid \"Build specific options:\"\nmsgstr \"getpkgbuild specifične opcije:\"\n\n#: src/help.rs:108\nmsgid \"    -i --install          Install package as well as building\"\nmsgstr \"    -i --install          Install i build paket\"\n\n#: src/info.rs:86 src/info.rs:191 src/info.rs:225\nmsgid \"Name\"\nmsgstr \"Naziv\"\n\n#: src/info.rs:87 src/info.rs:192 src/info.rs:226\nmsgid \"Version\"\nmsgstr \"Verzija\"\n\n#: src/info.rs:88 src/info.rs:193 src/info.rs:227\nmsgid \"Description\"\nmsgstr \"Opis\"\n\n#: src/info.rs:89 src/info.rs:195 src/info.rs:235\nmsgid \"Groups\"\nmsgstr \"Grupe\"\n\n#: src/info.rs:90 src/info.rs:196 src/info.rs:236\nmsgid \"Licenses\"\nmsgstr \"Dozvole\"\n\n#: src/info.rs:91 src/info.rs:197 src/info.rs:237\nmsgid \"Provides\"\nmsgstr \"Provideri\"\n\n#: src/info.rs:92 src/info.rs:198 src/info.rs:238\nmsgid \"Depends On\"\nmsgstr \"Ovisi O\"\n\n#: src/info.rs:93 src/info.rs:199 src/info.rs:239\nmsgid \"Make Deps\"\nmsgstr \"Make Deps\"\n\n#: src/info.rs:94 src/info.rs:200 src/info.rs:240\nmsgid \"Check Deps\"\nmsgstr \"Check Deps\"\n\n#: src/info.rs:95 src/info.rs:201 src/info.rs:241\nmsgid \"Optional Deps\"\nmsgstr \"Izborni Deps\"\n\n#: src/info.rs:96 src/info.rs:202 src/info.rs:242\nmsgid \"Conflicts With\"\nmsgstr \"Konflikti S\"\n\n#: src/info.rs:97 src/info.rs:243\nmsgid \"Maintainer\"\nmsgstr \"Održavatelj\"\n\n#: src/info.rs:98 src/info.rs:244\nmsgid \"Votes\"\nmsgstr \"Glasovi\"\n\n#: src/info.rs:99 src/info.rs:245\nmsgid \"Popularity\"\nmsgstr \"Popularnost\"\n\n#: src/info.rs:100 src/info.rs:246\nmsgid \"First Submitted\"\nmsgstr \"Prvi Submit\"\n\n#: src/info.rs:101 src/info.rs:247\nmsgid \"Last Modified\"\nmsgstr \"Zadnja Modifikacija\"\n\n#: src/info.rs:102 src/info.rs:249\nmsgid \"Out Of Date\"\nmsgstr \"Zastarjelo\"\n\n#: src/info.rs:103 src/info.rs:254\nmsgid \"ID\"\nmsgstr \"ID\"\n\n#: src/info.rs:104 src/info.rs:255\nmsgid \"Package Base ID\"\nmsgstr \"Paket Base ID\"\n\n#: src/info.rs:105 src/info.rs:256\nmsgid \"Keywords\"\nmsgstr \"Ključne riječi\"\n\n#: src/info.rs:106 src/info.rs:258\nmsgid \"Snapshot URL\"\nmsgstr \"Snapshot URL\"\n\n#: src/info.rs:107 src/info.rs:203\nmsgid \"Path\"\nmsgstr \"\"\n\n#: src/install.rs:166 src/query.rs:48 src/lib.rs:101\nmsgid \"error:\"\nmsgstr \"greška:\"\n\n#: src/install.rs:167\nmsgid \"could not get news\"\nmsgstr \"neuspješno preuzimanje vijesti\"\n\n#: src/install.rs:172 src/install.rs:1127\nmsgid \"Proceed with installation?\"\nmsgstr \"Nastavi sa instalacijom?\"\n\n#: src/install.rs:207\n#, fuzzy\nmsgid \"could not find .SRCINFO for '{}'\"\nmsgstr \"nije moguće pronaći .SRINFO za '{}'\"\n\n#: src/install.rs:353\nmsgid \"could not find package '{pkg}' in package list for '{base}'\"\nmsgstr \"nije moguće pronaći paket '{pkg}' u listi paketa za '{base}'\"\n\n#: src/install.rs:451\nmsgid \"packages failed to build: {}\"\nmsgstr \"neuspješan build na paketima: {}\"\n\n#: src/install.rs:523\nmsgid \"adding {} to the install list\"\nmsgstr \"dodavanje {} na install list\"\n\n#: src/install.rs:553 src/install.rs:568\nmsgid \"failed to download sources for '{}'\"\nmsgstr \"neuspješno preuzimanje source-a za '{}'\"\n\n#: src/install.rs:577 src/install.rs:603 src/install.rs:611\nmsgid \"failed to build '{}'\"\nmsgstr \"neuspješan build '{}'\"\n\n#: src/install.rs:580 src/install.rs:784\nmsgid \"{}: parsing pkg list...\"\nmsgstr \"{}: raščlanjivanje pkg list...\"\n\n#: src/install.rs:584\n#, fuzzy\nmsgid \"package list does not match srcinfo\"\nmsgstr \"nema paketa koji odgovara pretrazi\"\n\n#: src/install.rs:618\nmsgid \"{}-{} is up to date -- skipping build\"\nmsgstr \"{}-{} je ažuriran -- preskačem build\"\n\n#: src/install.rs:775\nmsgid \"can't build {base}, deps not satisfied: {deps}\"\nmsgstr \"\"\n\n#: src/install.rs:846\nmsgid \"fetching devel info...\"\nmsgstr \"dohvaćanje devel info...\"\n\n#: src/install.rs:911 src/lib.rs:240\nmsgid \"no targets specified (use -h for help)\"\nmsgstr \"ciljevi nisu specifirani (-h za help)\"\n\n#: src/install.rs:1008 src/install.rs:1097 src/search.rs:450 src/search.rs:476\n#: src/lib.rs:304\nmsgid \" there is nothing to do\"\nmsgstr \" nema se što napraviti\"\n\n#: src/install.rs:1016\nmsgid \"Resolving dependencies...\"\nmsgstr \"Razrješavanje dependencies...\"\n\n#: src/install.rs:1077\nmsgid \"can't install AUR package as root\"\nmsgstr \"nije moguće instalirati AUR pakete kao root\"\n\n#: src/install.rs:1080\nmsgid \"--downloadonly can't be used for AUR packages\"\nmsgstr \"\"\n\n#: src/install.rs:1113\nmsgid \"Remove make dependencies after install?\"\nmsgstr \"Izbriši make dependencies nakon instalacije?\"\n\n#: src/install.rs:1124\nmsgid \"Proceed to review?\"\nmsgstr \"Nastavi na review?\"\n\n#: src/install.rs:1177\nmsgid \"no architecture\"\nmsgstr \"bez arhitekture\"\n\n#: src/install.rs:1191\nmsgid \"The following packages are not compatible with your architecture:\"\nmsgstr \"Sljedeći paketi nemaju kompatibilnu arhitekturu:\"\n\n#: src/install.rs:1205\nmsgid \"Would you like to try build them anyway?\"\nmsgstr \"Svejedno napravi build?\"\n\n#: src/install.rs:1349\nmsgid \"duplicate packages: {}\"\nmsgstr \"dupli paketi: {}\"\n\n#: src/install.rs:1353\nmsgid \"could not find all required packages:\"\nmsgstr \"neuspješno traženje potrebnih paketa:\"\n\n#: src/install.rs:1365\nmsgid \"\"\n\"\\n\"\n\"    {missing} (wanted by: {stack})\"\nmsgstr \"\"\n\"\\n\"\n\"    {missing} (tražen od: {stack})\"\n\n#: src/install.rs:1379 src/install.rs:2122\nmsgid \"{}-{} is up to date -- skipping\"\nmsgstr \"{}-{} je ažuriran -- preskačem\"\n\n#: src/install.rs:1387\nmsgid \"Calculating conflicts...\"\nmsgstr \"Računanje konflikata...\"\n\n#: src/install.rs:1410\nmsgid \"Calculating inner conflicts...\"\nmsgstr \"Računanje unutrašnjih konflikata...\"\n\n#: src/install.rs:1422\nmsgid \"Inner conflicts found:\"\nmsgstr \"Unutrašnji konflikti pronađeni:\"\n\n#: src/install.rs:1444\nmsgid \"Conflicts found:\"\nmsgstr \"Konflikti pronađeni:\"\n\n#: src/install.rs:1467\nmsgid \"Conflicting packages will have to be confirmed manually\"\nmsgstr \"Paketi u konfliktu se moraju ručno potvrditi\"\n\n#: src/install.rs:1471\nmsgid \"can not install conflicting packages with --noconfirm\"\nmsgstr \"nije moguće instalirati pakete u konfliktu sa --noconfirm\"\n\n#: src/install.rs:1599\nmsgid \"failed to execute file manager: {}\"\nmsgstr \"neuspješno pokretanje file manager-a: {}\"\n\n#: src/install.rs:1602\n#, fuzzy\nmsgid \"file manager '{}' did not execute successfully\"\nmsgstr \"file manager se nije uspješno pokrenuo\"\n\n#: src/install.rs:1620\nmsgid \"failed to read dir: {}\"\nmsgstr \"neuspješno čitanje dir-a: {}\"\n\n#: src/install.rs:1677\nmsgid \"failed to open: {}\"\nmsgstr \"neuspješno otvaranje: {}\"\n\n#: src/install.rs:1697\nmsgid \"binary file: {}\"\nmsgstr \"binarna datoteka: {}\"\n\n#: src/install.rs:1719 src/install.rs:1790\nmsgid \"Accept changes?\"\nmsgstr \"\"\n\n#: src/install.rs:1759\nmsgid \"Paging with less. Press 'q' to quit or 'h' for help.\"\nmsgstr \"\"\n\n#: src/install.rs:1794\nmsgid \" nothing new to review\"\nmsgstr \" ništa novo za review\"\n\n#: src/install.rs:2070\nmsgid \"can't find package name in packagelist: {}\"\nmsgstr \"nije moguće pronaći naziv paketa u listi paketa: {}\"\n\n#: src/install.rs:2142\nmsgid \"Signing packages...\"\nmsgstr \"Potpisivanje paketa...\"\n\n#: src/install.rs:2172\nmsgid \"{}-{} is up to date -- skipping install\"\nmsgstr \"{}-{} je ažuriran -- preskakanje instalacije\"\n\n#: src/keys.rs:57\nmsgid \"keys need to be imported:\"\nmsgstr \"klučevi moraju biti uvezeni:\"\n\n#: src/keys.rs:62\nmsgid \"     {key} wanted by: {base}\"\nmsgstr \"     {key} tražen od: {base}\"\n\n#: src/news.rs:57\nmsgid \"No Date \"\nmsgstr \"Bez Datuma \"\n\n#: src/news.rs:60\nmsgid \"No Title\"\nmsgstr \"Bez Naslova\"\n\n#: src/news.rs:69\nmsgid \"no new news\"\nmsgstr \"Nema novih vijesti\"\n\n#: src/pkgbuild.rs:91\n#, fuzzy\nmsgid \"repo {} does not have a URL or Path\"\nmsgstr \"opcija '{}' ne prima vrijednost\"\n\n#: src/pkgbuild.rs:153\nmsgid \"repo {} not downloaded (use -Sy --pkgbuilds to download)\"\nmsgstr \"\"\n\n#: src/pkgbuild.rs:200\nmsgid \"Generating .SRCINFO for {repo}/{dir}...\"\nmsgstr \"\"\n\n#: src/pkgbuild.rs:278\n#, fuzzy\nmsgid \"failed to parse srcinfo \\\"{}\\\"\"\nmsgstr \"neuspješno raščlanjivanje srcinfo za '{}'\"\n\n#: src/pkgbuild.rs:368\n#, fuzzy\nmsgid \"Downloading PKGBUILD Repos...\"\nmsgstr \"Preuzimanje PKGBUILDs...\"\n\n#: src/pkgbuild.rs:422\nmsgid \"failed to parse srcinfo generated by makepkg\"\nmsgstr \"Neuspješno raščlanjivanje srcinfo generiranog od makepkg\"\n\n#: src/query.rs:151\nmsgid \" [ignored]\"\nmsgstr \" [ignorirano]\"\n\n#: src/repo.rs:253\nmsgid \"failed to get current exe\"\nmsgstr \"neuspješno dohvaćanje trenutnog exe\"\n\n#: src/repo.rs:298\nmsgid \"syncing local databases...\"\nmsgstr \"sinkroniziranje lokalne baze podataka...\"\n\n#: src/repo.rs:304\nmsgid \"  nothing to do\"\nmsgstr \"  ništa za napraviti\"\n\n#: src/repo.rs:335\n#, fuzzy\nmsgid \"there is nothing to do\"\nmsgstr \" nema se što napraviti\"\n\n#: src/repo.rs:341\n#, fuzzy\nmsgid \"Packages\"\nmsgstr \"Paket Base ID\"\n\n#: src/repo.rs:354\n#, fuzzy\nmsgid \"Proceed with removal?\"\nmsgstr \"Nastavi na review?\"\n\n#: src/repo.rs:415\nmsgid \" [installed: {}]\"\nmsgstr \" [instalirano: {}]\"\n\n#: src/repo.rs:417 src/sync.rs:144\nmsgid \" [installed]\"\nmsgstr \" [instalirano]\"\n\n#: src/search.rs:41\nmsgid \"aur search failed\"\nmsgstr \"neuspješna aur pretraga\"\n\n#: src/search.rs:285 src/search.rs:338 src/search.rs:410\n#, fuzzy\nmsgid \"[installed: {}]\"\nmsgstr \" [instalirano: {}]\"\n\n#: src/search.rs:287 src/search.rs:340 src/search.rs:412\n#, fuzzy\nmsgid \"[installed]\"\nmsgstr \" [instalirano]\"\n\n#: src/search.rs:332\n#, fuzzy\nmsgid \"[out-of-date: {}]\"\nmsgstr \"[Zastarjelo: {}]\"\n\n#: src/search.rs:347\n#, fuzzy\nmsgid \"[orphaned]\"\nmsgstr \"[Napušteno]\"\n\n#: src/search.rs:491\nmsgid \"no packages match search\"\nmsgstr \"nema paketa koji odgovara pretrazi\"\n\n#: src/search.rs:529\nmsgid \"Packages to install (eg: 1 2 3, 1-3):\"\nmsgstr \"Paketi za instalaciju (eg: 1 2 3, 1-3):\"\n\n#: src/search.rs:531\n#, fuzzy\nmsgid \"Select packages (eg: 1 2 3, 1-3):\"\nmsgstr \"Paketi za instalaciju (eg: 1 2 3, 1-3):\"\n\n#: src/stats.rs:90\nmsgid \"Total installed packages: {}\"\nmsgstr \"Ukupno instalirano paketa: {}\"\n\n#: src/stats.rs:94\nmsgid \"Aur packages: {}\"\nmsgstr \"Aur paketi: {}\"\n\n#: src/stats.rs:98\nmsgid \"Repo packages: {}\"\nmsgstr \"Repo paketi: {}\"\n\n#: src/stats.rs:102\nmsgid \"Explicitly installed packages: {}\"\nmsgstr \"Explicitno instalirani paketi: {}\"\n\n#: src/stats.rs:106\nmsgid \"Total Size occupied by packages: {}\"\nmsgstr \"Ukupna veličina okupiranih paketa: {}\"\n\n#: src/stats.rs:113\nmsgid \"Ten biggest packages:\"\nmsgstr \"Deset najvećih paketa:\"\n\n#: src/upgrade.rs:126\n#, fuzzy\nmsgid \"Looking for PKGBUILD upgrades...\"\nmsgstr \"Traženje AUR ažuriranja\"\n\n#: src/upgrade.rs:134\n#, fuzzy\nmsgid \"Looking for AUR upgrades...\"\nmsgstr \"Traženje AUR ažuriranja\"\n\n#: src/upgrade.rs:165\n#, fuzzy\nmsgid \"Looking for devel upgrades...\"\nmsgstr \"Traženje devel ažuriranja\"\n\n#: src/upgrade.rs:193 src/upgrade.rs:206\nmsgid \"warning:\"\nmsgstr \"upozorenje:\"\n\n#: src/upgrade.rs:195 src/upgrade.rs:208\nmsgid \"{pkg}: ignoring package upgrade ({old} => {new})\"\nmsgstr \"{pkg}: ignoriranje ažuriranja ({old} => {new})\"\n\n#: src/upgrade.rs:400\nmsgid \"Packages to exclude (eg: 1 2 3, 1-3):\"\nmsgstr \"Paketi za odstranjivanje\"\n\n#: src/util.rs:121\nmsgid \"[Y/n]:\"\nmsgstr \"[D/n]\"\n\n#: src/util.rs:123\nmsgid \"[y/N]:\"\nmsgstr \"[d/N]\"\n\n#: src/util.rs:142\nmsgid \"y\"\nmsgstr \"d\"\n\n#: src/util.rs:142\nmsgid \"yes\"\nmsgstr \"da\"\n\n#: src/util.rs:300\nmsgid \"Enter a number (default=1): \"\nmsgstr \"Unos broja (default=1): \"\n\n#: src/util.rs:317\nmsgid \"invalid number: {}\"\nmsgstr \"nevažeći broj: {}\"\n\n#: src/util.rs:327\nmsgid \"invalid value: {n} is not between 1 and {max}\"\nmsgstr \"nevažeća vrijednost: {n} nije između 1 i {max}\"\n\n#: src/resolver.rs:83\nmsgid \"There are {} members in group\"\nmsgstr \"Grupa ima {} članova\"\n\n#: src/resolver.rs:108\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Enter a selection (default=all): \"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Unos odabira (default=all): \"\n\n#: src/lib.rs:206\nmsgid \"can not use chroot builds: devtools is not installed\"\nmsgstr \"nije moguće koristiti chroot builds: devtools nije instaliran\"\n\n#: src/lib.rs:313\n#, fuzzy\nmsgid \"no operation specified (use -h for help)\"\nmsgstr \"ciljevi nisu specifirani (-h za help)\"\n\n#~ msgid \"[Installed: {}]\"\n#~ msgstr \"[Instalirano: {}]\"\n\n#~ msgid \"[Installed]\"\n#~ msgstr \"[Instalirano]\"\n\n#~ msgid \"could not get current directory\"\n#~ msgstr \"neuspješno dohvaćanje trenutnog direktorija\"\n\n#~ msgid \"can not get repo packages: asp is not installed\"\n#~ msgstr \"neuspješno dohvaćanje repo paketa: asp is not installed\"\n\n#~ msgid \"Missing ABS packages \"\n#~ msgstr \"Nedostaje ABS paket\"\n\n#~ msgid \"does not contain PKGBUILD: skipping\"\n#~ msgstr \"ne sadrži PKGBUILD: preskačem\"\n\n#~ msgid \"{} is not installed: can not get repo packages\"\n#~ msgstr \"{} nije instaliran: neuspjepno dohvaćanje repo paketa\"\n\n#~ msgid \"asp returned {}\"\n#~ msgstr \"asp je vratio {}\"\n\n#~ msgid \"    --asp       <file>     asp command to use\"\n#~ msgstr \"    --asp       <file>     asp naredba\"\n\n#, fuzzy\n#~ msgid \"Generating .SRCINFO for {dir}...\"\n#~ msgstr \"nije moguće pronaći .SRINFO za '{}'\"\n\n#~ msgid \"upgrade specific options:\"\n#~ msgstr \"upgrade specifične opcije:\"\n\n#~ msgid \"error: unknown section '{}'\"\n#~ msgstr \"greška: nepoznata sekcija '{}'\"\n\n#~ msgid \"can't build package as root\"\n#~ msgstr \"Nije moguće napraviti build paketa kao root\"\n\n#~ msgid \"failed to build\"\n#~ msgstr \"neuspješan build\"\n\n#~ msgid \"parsing pkg list...\"\n#~ msgstr \"raščlanjivanje pkg list...\"\n\n#~ msgid \"\"\n#~ \"{} is a directory\\n\"\n#~ \"\\n\"\n#~ msgstr \"\"\n#~ \"{} je direktorij\\n\"\n#~ \"\\n\"\n\n#~ msgid \"n\"\n#~ msgstr \"n\"\n\n#~ msgid \"no\"\n#~ msgstr \"ne\"\n"
  },
  {
    "path": "po/hu.po",
    "content": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE paru'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the paru package.\n# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: paru  2.0.0\\n\"\n\"Report-Msgid-Bugs-To: https://github.com/Morganamilo/paru\\n\"\n\"POT-Creation-Date: 2026-01-08 17:40+0000\\n\"\n\"PO-Revision-Date: 2026-01-08 20:01+0100\\n\"\n\"Last-Translator: summoner <summoner@disroot.org>\\n\"\n\"Language-Team: \\n\"\n\"Language: hu\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=1; plural=0;\\n\"\n\"X-Generator: Poedit 3.8\\n\"\n\"X-Language: hu_HU\\n\"\n\"X-Source-Language: C\\n\"\n\n#: src/clean.rs:36\nmsgid \"Do you want to clean ALL AUR packages from cache?\"\nmsgstr \"Biztosan el akarja távolítani az ÖSSZES AUR-csomagot a gyorsítótárból?\"\n\n#: src/clean.rs:38\nmsgid \"Do you want to clean all other AUR packages from cache?\"\nmsgstr \"\"\n\"Biztosan el akarja távolítani az összes többi AUR-csomagot a gyorsítótárból?\"\n\n#: src/clean.rs:41\nmsgid \"Clone Directory: {}\"\nmsgstr \"Klónozási könyvtár: {}\"\n\n#: src/clean.rs:47\nmsgid \"\"\n\"\\n\"\n\"Diff Directory: {}\"\nmsgstr \"\"\n\"\\n\"\n\"Összehasonlítási könyvtár: {}\"\n\n#: src/clean.rs:49\nmsgid \"Do you want to remove all saved diffs?\"\nmsgstr \"Biztosan el akarja távolítani az összes mentett összehasonlítást?\"\n\n#: src/clean.rs:65\nmsgid \"can't open diff dir: {}\"\nmsgstr \"nem nyitható meg a következő összehasonlítási könyvtár: {}\"\n\n#: src/clean.rs:76 src/clean.rs:180\nmsgid \"could not remove '{}'\"\nmsgstr \"nem sikerült eltávolítani a következőt: „{}”\"\n\n#: src/clean.rs:95\nmsgid \"can't open clone dir: {}\"\nmsgstr \"nem sikerült megnyitni a klónozási könyvtárat: {}\"\n\n#: src/clean.rs:141\nmsgid \"could not parse .SRCINFO for '{}'\"\nmsgstr \"nem sikerült elemezni az .SRCINFO-t a(z) „{}” esetében\"\n\n#: src/command_line.rs:134\nmsgid \"option {} expects a value\"\nmsgstr \"a(z) {} kapcsoló értéket vár\"\n\n#: src/command_line.rs:165 src/command_line.rs:382\nmsgid \"option {} does not allow a value\"\nmsgstr \"a(z) {} kapcsoló nem enged meg egy értéket\"\n\n#: src/command_line.rs:373\nmsgid \"unknown option --{}\"\nmsgstr \"ismeretlen kapcsoló: --{}\"\n\n#: src/command_line.rs:376\nmsgid \"unknown option -{}\"\nmsgstr \"ismeretlen kapcsoló: -{}\"\n\n#: src/completion.rs:26 src/search.rs:179 src/sync.rs:113\nmsgid \"failed to decode package list\"\nmsgstr \"nem sikerült dekódolni a csomaglistát\"\n\n#: src/completion.rs:35\nmsgid \"failed to open cache file '{}'\"\nmsgstr \"nem sikerült megnyitni a gyorsítótár-fájlt „{}”\"\n\n#: src/completion.rs:83\nmsgid \"could not update aur cache\"\nmsgstr \"nem sikerült frissíteni az AUR-gyorsítótárat\"\n\n#: src/config.rs:179\nmsgid \"invalid value '{val}' for key '{key}', expected: {exp}\"\nmsgstr \"érvénytelen „{val}” érték a(z) „{key}” kulcshoz, várt érték: {exp}\"\n\n#: src/config.rs:332\nmsgid \"unknown mode {}\"\nmsgstr \"ismeretlen mód: {}\"\n\n#: src/config.rs:564\nmsgid \"section can not be called {}\"\nmsgstr \"nem hívható meg a következő szakasz: {}\"\n\n#: src/config.rs:581\nmsgid \"failed to find cache directory\"\nmsgstr \"nem sikerült megtalálni a gyorsítótár-könyvtárat\"\n\n#: src/config.rs:584\nmsgid \"failed to find config directory\"\nmsgstr \"nem sikerült megtalálni a konfigurációs könyvtárat\"\n\n#: src/config.rs:588\nmsgid \"failed to find state directory\"\nmsgstr \"nem sikerült megtalálni az állapotkönyvtárat\"\n\n#: src/config.rs:635\nmsgid \"config file '{}' does not exist\"\nmsgstr \"a(z) „{}” konfigurációs fájl nem létezik\"\n\n#: src/config.rs:684\nmsgid \"only one operation may be used at a time\"\nmsgstr \"egyszerre csak egy művelet használható\"\n\n#: src/config.rs:795\nmsgid \"no local repo named {}\"\nmsgstr \"nem található a(z) „{}” nevezetű helyi tároló\"\n\n#: src/config.rs:821\nmsgid \"can not find local repo '{}' in pacman.conf\"\nmsgstr \"nem található a(z) „{}” nevezetű helyi tároló a pacman.conf-ban\"\n\n#: src/config.rs:866\nmsgid \"failed to initialize alpm: root={} dbpath={}\"\nmsgstr \"nem sikerült előkészíteni az ALPM-et: root={} dbpath={}\"\n\n#: src/config.rs:941 src/config.rs:1102\nmsgid \"value can not be empty for key '{}'\"\nmsgstr \"a(z) „{}” kulcs esetében az érték nem lehet üres\"\n\n#: src/config.rs:957\nmsgid \"key '{}' does not belong to a section\"\nmsgstr \"a(z) „{}” kulcs nem tartozik egy szakaszhoz sem\"\n\n#: src/config.rs:971 src/config.rs:988 src/config.rs:990 src/config.rs:1005\nmsgid \"key can not be empty\"\nmsgstr \"a kulcs nem lehet üres\"\n\n#: src/config.rs:981\nmsgid \"error: unknown option '{}' in repo\"\nmsgstr \"hiba: ismeretlen „{}” kapcsoló a tárolóban\"\n\n#: src/config.rs:991\nmsgid \"key can not contain null bytes\"\nmsgstr \"a kulcs nem tartalmazhat null byte-ot\"\n\n#: src/config.rs:994\nmsgid \"value can not contain null bytes\"\nmsgstr \"az érték nem tartalmazhat null byte-ot\"\n\n#: src/config.rs:1030\nmsgid \"error: unknown option '{}' in section [bin]\"\nmsgstr \"hiba: ismeretlen „{}” kapcsoló a [bin] szakaszban\"\n\n#: src/config.rs:1150\nmsgid \"error: unknown option '{}' in section [options]\"\nmsgstr \"hiba: ismeretlen „{}” kapcsoló az [options] szakaszban\"\n\n#: src/config.rs:1155\nmsgid \"option '{}' does not take a value\"\nmsgstr \"a(z) „{}” kapcsoló nem vesz fel értéket\"\n\n#: src/config.rs:1187 src/resolver.rs:136\nmsgid \"There are {n} providers available for {pkg}:\"\nmsgstr \"A(z) {pkg} számára {n} szolgáltató áll rendelkezésre:\"\n\n#: src/config.rs:1201 src/info.rs:85 src/info.rs:190 src/info.rs:224\n#: src/resolver.rs:95 src/resolver.rs:144\nmsgid \"Repository\"\nmsgstr \"Tároló\"\n\n#: src/config.rs:1227\nmsgid \"  failed to sync {}\"\nmsgstr \"  nem sikerült szinkronizálni a következőt: {}\"\n\n#: src/devel.rs:136 src/download.rs:207\nmsgid \"Querying AUR...\"\nmsgstr \"Az AUR lekérdezése...\"\n\n#: src/devel.rs:157 src/devel.rs:181 src/install.rs:203\nmsgid \"failed to parse srcinfo for '{}'\"\nmsgstr \"nem sikerült elemezni az .SRCINFO-t a következőhöz: „{}”\"\n\n#: src/devel.rs:201\nmsgid \"Looking for devel repos...\"\nmsgstr \"Fejlesztői tárolók keresése...\"\n\n#: src/devel.rs:210\nmsgid \"failed to save devel info\"\nmsgstr \"nem sikerült elmenteni a fejlesztői információt\"\n\n#: src/devel.rs:218\nmsgid \"failed to create state directory: {}\"\nmsgstr \"nem sikerült létrehozni az állapotkönyvtárat: {}\"\n\n#: src/devel.rs:233\nmsgid \"failed to create temporary file: {}\"\nmsgstr \"nem sikerült létrehozni az ideiglenes fájlt: {}\"\n\n#: src/devel.rs:238\nmsgid \"failed to write to temporary file: {}\"\nmsgstr \"nem sikerült írni az ideiglenes fájlba: {}\"\n\n#: src/devel.rs:244\nmsgid \"failed to rename '{temp}' to '{devel_toml}\"\nmsgstr \"nem sikerült a(z) „{temp}” átnevezése a következőre: „{devel_toml}”\"\n\n#: src/devel.rs:490\nmsgid \"package does not have an update\"\nmsgstr \"a csomagnak nincs frissítése\"\n\n#: src/devel.rs:536\nmsgid \"failed to lookup: {}\"\nmsgstr \"nem sikerült megtalálni a következőt: {}\"\n\n#: src/devel.rs:564\nmsgid \"invalid toml: {}\"\nmsgstr \"érvénytelen toml: {}\"\n\n#: src/download.rs:100\nmsgid \"packages not in the AUR: \"\nmsgstr \"az AUR-ban nem szereplő csomagok: \"\n\n#: src/download.rs:111\nmsgid \"marked out of date: \"\nmsgstr \"elavultnak lett jelölve: \"\n\n#: src/download.rs:122\nmsgid \"orphans: \"\nmsgstr \"árvák: \"\n\n#: src/download.rs:260\nmsgid \"downloading: {pkg}\"\nmsgstr \"letöltés: {pkg}\"\n\n#: src/download.rs:279 src/download.rs:602 src/info.rs:55 src/info.rs:180\n#: src/query.rs:49\nmsgid \"package '{}' was not found\"\nmsgstr \"nem található a(z) „{}” nevezetű csomag\"\n\n#: src/download.rs:291\nmsgid \"duplicate PKGBUILD: {}\"\nmsgstr \"PKGBUILD duplikálása: {}\"\n\n#: src/download.rs:307\nmsgid \"package '{}' exists but has no PKGBUILD -- skipping\"\nmsgstr \"a(z) „{}” csomag létezik, de nincs PKGBUILD-fájlja -- kihagyás\"\n\n#: src/download.rs:340\nmsgid \"Downloading PKGBUILDs...\"\nmsgstr \"A PKGBUILD-ek letöltése…\"\n\n#: src/download.rs:344\nmsgid \" PKGBUILDs up to date\"\nmsgstr \" A PKGBUILD-ek naprakészek\"\n\n#: src/exec.rs:72\nmsgid \"failed to run:\"\nmsgstr \"nem sikerült futtatni:\"\n\n#: src/exec.rs:174\nmsgid \"Pacman is currently in use, please wait...\"\nmsgstr \"A pacman jelenleg használatban van, kis türelmet...\"\n\n#: src/fmt.rs:24 src/info.rs:275 src/search.rs:293 src/search.rs:350\nmsgid \"None\"\nmsgstr \"Semmi\"\n\n#: src/fmt.rs:245\nmsgid \"Repo\"\nmsgstr \"Tároló\"\n\n#: src/fmt.rs:252\nmsgid \"Repo Make\"\nmsgstr \"Tárolófordítás\"\n\n#: src/fmt.rs:272\nmsgid \"Pkgbuilds Make\"\nmsgstr \"Pkgbuild-ek fordítása\"\n\n#: src/fmt.rs:274\nmsgid \"Aur Make\"\nmsgstr \"AUR-fordítás\"\n\n#: src/fmt.rs:319\nmsgid \"Repo ({})\"\nmsgstr \"Tároló ({})\"\n\n#: src/fmt.rs:327\nmsgid \"Old Version\"\nmsgstr \"Korábbi verzió\"\n\n#: src/fmt.rs:328\nmsgid \"New Version\"\nmsgstr \"Új verzió\"\n\n#: src/fmt.rs:329\nmsgid \"Make Only\"\nmsgstr \"Csak fordítás\"\n\n#: src/fmt.rs:330\nmsgid \"Yes\"\nmsgstr \"Igen\"\n\n#: src/fmt.rs:331 src/info.rs:221\nmsgid \"No\"\nmsgstr \"Nem\"\n\n#: src/fmt.rs:419\nmsgid \"insufficient columns available for table display\"\nmsgstr \"nem áll rendelkezésre elegendő oszlop a táblázat megjelenítéséhez\"\n\n#: src/help.rs:4\nmsgid \"Usage:\"\nmsgstr \"Használat:\"\n\n#: src/help.rs:5\nmsgid \"    paru\"\nmsgstr \"    paru\"\n\n#: src/help.rs:6\nmsgid \"    paru <operation> [...]\"\nmsgstr \"    paru <művelet> [...]\"\n\n#: src/help.rs:7\nmsgid \"    paru <package(s)>\"\nmsgstr \"    paru <csomag(ok)>\"\n\n#: src/help.rs:9\nmsgid \"Pacman operations:\"\nmsgstr \"Pacman műveletek:\"\n\n#: src/help.rs:10\nmsgid \"    paru {-h --help}\"\nmsgstr \"    paru {-h --help}\"\n\n#: src/help.rs:11\nmsgid \"    paru {-V --version}\"\nmsgstr \"    paru {-V --version}\"\n\n#: src/help.rs:12\nmsgid \"    paru {-D --database}    <options> <package(s)>\"\nmsgstr \"    paru {-D --database}    <kapcsolók> <csomag(ok)>\"\n\n#: src/help.rs:13\nmsgid \"    paru {-F --files}       [options] [package(s)]\"\nmsgstr \"    paru {-F --files}       [kapcsolók] [csomag(ok)]\"\n\n#: src/help.rs:14\nmsgid \"    paru {-Q --query}       [options] [package(s)]\"\nmsgstr \"    paru {-Q --query}       [kapcsolók] [csomag(ok)]\"\n\n#: src/help.rs:15\nmsgid \"    paru {-R --remove}      [options] <package(s)>\"\nmsgstr \"    paru {-R --remove}      [kapcsolók] <csomag(ok)>\"\n\n#: src/help.rs:16\nmsgid \"    paru {-S --sync}        [options] [package(s)]\"\nmsgstr \"    paru {-S --sync}        [kapcsolók] [csomag(ok)]\"\n\n#: src/help.rs:17\nmsgid \"    paru {-T --deptest}     [options] [package(s)]\"\nmsgstr \"    paru {-T --deptest}     [kapcsolók] [csomag(ok)]\"\n\n#: src/help.rs:18\nmsgid \"    paru {-U --upgrade}     [options] [file(s)]\"\nmsgstr \"    paru {-U --upgrade}     [kapcsolók] [fájl(ok)]\"\n\n#: src/help.rs:20\nmsgid \"New operations:\"\nmsgstr \"Új műveletek:\"\n\n#: src/help.rs:21\nmsgid \"    paru {-P --show}        [options]\"\nmsgstr \"    paru {-P --show}        [kapcsolók]\"\n\n#: src/help.rs:22\nmsgid \"    paru {-G --getpkgbuild} [package(s)]\"\nmsgstr \"    paru {-G --getpkgbuild} [csomag(ok)]\"\n\n#: src/help.rs:23\nmsgid \"    paru {-B --build}       [dir(s)]\"\nmsgstr \"    paru {-B --build}       [könyvtár(ak)]\"\n\n#: src/help.rs:25\nmsgid \"If no arguments are provided 'paru -Syu' will be performed\"\nmsgstr \"Ha nem kap argumentumokat, akkor a „paru -Syu” parancsot hajtja végre\"\n\n#: src/help.rs:27\nmsgid \"Options without operation:\"\nmsgstr \"Kapcsolók műveletek nélkül:\"\n\n#: src/help.rs:28\nmsgid \"    -c --clean            Remove unneeded dependencies\"\nmsgstr \"    -c --clean            Felesleges függőségek eltávolítása\"\n\n#: src/help.rs:29\nmsgid \"\"\n\"       --gendb            Generates development package DB used for updating\"\nmsgstr \"\"\n\"       --gendb            A frissítéshez használt fejlesztői csomag-\"\n\"adatbázist állítja elő\"\n\n#: src/help.rs:31\nmsgid \"New options:\"\nmsgstr \"Új kapcsolók:\"\n\n#: src/help.rs:32\nmsgid \"       --repo              Assume targets are from the repositories\"\nmsgstr \"\"\n\"       --repo              Feltételezve, hogy minden cél a tárolókból \"\n\"származik\"\n\n#: src/help.rs:33\nmsgid \"\"\n\"       --pkgbuilds         Assume targets are from pkgbuild repositories\"\nmsgstr \"\"\n\"       --pkgbuilds         Feltételezve, hogy minden cél a pkgbuild \"\n\"tárolókból származik\"\n\n#: src/help.rs:34\nmsgid \"    -a --aur               Assume targets are from the AUR\"\nmsgstr \"\"\n\"    -a --aur               Feltételezve, hogy minden cél az AUR-ból származik\"\n\n#: src/help.rs:35\nmsgid \"    --mode      <mode>     Sets where paru looks for targets\"\nmsgstr \"    --mode      <mode>     Beállítja, hogy a paru hol keressen célokat\"\n\n#: src/help.rs:37\nmsgid \"\"\n\"    --interactive          Enable interactive package selection for -S, -R, \"\n\"-Ss and -Qs\"\nmsgstr \"\"\n\"    --interactive          Interaktív csomagkiválasztás engedélyezése a \"\n\"következőkhöz: -S, -R, -Ss és -Qs\"\n\n#: src/help.rs:39\nmsgid \"    --aururl    <url>      Set an alternative AUR URL\"\nmsgstr \"    --aururl    <url>      Alternatív AUR-webcím beállítása\"\n\n#: src/help.rs:40\nmsgid \"\"\n\"    --aurrpcur  <url>      Set an alternative URL for the AUR /rpc endpoint\"\nmsgstr \"\"\n\"    --aurrpcur  <url>      Alternatív webcím beállítása az AUR /rpc-\"\n\"végponthoz\"\n\n#: src/help.rs:41\nmsgid \"    --clonedir  <dir>      Directory used to download and run PKGBUILDs\"\nmsgstr \"\"\n\"    --clonedir  <dir>      A PKGBUILD-ek letöltéséhez és futtatásához \"\n\"használt könyvtár\"\n\n#: src/help.rs:43\nmsgid \"    --makepkg   <file>     makepkg command to use\"\nmsgstr \"    --makepkg   <file>     makepkg parancs használata\"\n\n#: src/help.rs:44\nmsgid \"    --mflags    <flags>    Pass arguments to makepkg\"\nmsgstr \"    --mflags    <flags>    Argumentumok átadása a makepkg-nek\"\n\n#: src/help.rs:45\nmsgid \"    --pacman    <file>     pacman command to use\"\nmsgstr \"    --pacman    <file>     pacman parancs használata\"\n\n#: src/help.rs:46\nmsgid \"    --git       <file>     git command to use\"\nmsgstr \"    --git       <file>     a git-parancs használata\"\n\n#: src/help.rs:47\nmsgid \"    --gitflags  <flags>    Pass arguments to git\"\nmsgstr \"    --gitflags  <flags>    Argumentumok átadása a git-nek\"\n\n#: src/help.rs:48\nmsgid \"    --sudo      <file>     sudo command to use\"\nmsgstr \"    --sudo      <file>     a sudo-parancs használata\"\n\n#: src/help.rs:49\nmsgid \"    --sudoflags <flags>    Pass arguments to sudo\"\nmsgstr \"    --sudoflags <flags>    Argumentumok átadása a sudo-nak\"\n\n#: src/help.rs:50\nmsgid \"    --pkgctl    <file>     pkgctl command to use\"\nmsgstr \"    --pkgctl    <file>     a pkgctl-parancs használata\"\n\n#: src/help.rs:51\nmsgid \"    --bat       <file>     bat command to use\"\nmsgstr \"    --bat       <file>     a bat-parancs használata\"\n\n#: src/help.rs:52\nmsgid \"    --batflags  <flags>    Pass arguments to bat\"\nmsgstr \"    --batflags  <flags>    Argumentumok átadása a bat-nek\"\n\n#: src/help.rs:53\nmsgid \"    --gpg       <file>     gpg command to use\"\nmsgstr \"    --gpg       <file>     a gpg-parancs használata\"\n\n#: src/help.rs:54\nmsgid \"    --gpgflags  <flags>    Pass arguments to gpg\"\nmsgstr \"    --gpgflags  <flags>    Argumentumok átadása a gpg-nek\"\n\n#: src/help.rs:55\nmsgid \"    --fm        <file>     File manager to use for PKGBUILD review\"\nmsgstr \"\"\n\"    --fm        <file>     A PKGBUILD felülvizsgálatához használandó \"\n\"fájlkezelő\"\n\n#: src/help.rs:56\nmsgid \"    --fmflags   <flags>    Pass arguments to file manager\"\nmsgstr \"    --fmflags   <flags>    Argumentumok átadása a fájlkezelőnek\"\n\n#: src/help.rs:58\nmsgid \"    --completioninterval   <n> Time in days to refresh completion cache\"\nmsgstr \"\"\n\"    --completioninterval   <n> A kitöltési gyorsítótár frissítésének ideje \"\n\"napokban\"\n\n#: src/help.rs:59\nmsgid \"\"\n\"    --sortby    <field>    Sort AUR results by a specific field during search\"\nmsgstr \"\"\n\"    --sortby    <field>    Az AUR-eredmények rendezése egy adott mező \"\n\"szerint kereséskor\"\n\n#: src/help.rs:60\nmsgid \"    --searchby  <field>    Search for packages using a specified field\"\nmsgstr \"    --searchby  <field>    Csomagok keresése egy megadott mező szerint\"\n\n#: src/help.rs:61\nmsgid \"\"\n\"    --limit     <limit>    Limits the number of items returned in a search\"\nmsgstr \"\"\n\"    --limit     <limit>    Korlátozza a kereséskor visszaadott elemek számát\"\n\n#: src/help.rs:62\nmsgid \"    -x --regex             Enable regex for aur search\"\nmsgstr \"\"\n\"    -x --regex             Reguláris kifejezés engedélyezése az AUR-\"\n\"kereséshez\"\n\n#: src/help.rs:64\nmsgid \"    --skipreview           Skip the review process\"\nmsgstr \"    --skipreview           A felülvizsgálati folyamat kihagyása\"\n\n#: src/help.rs:65\nmsgid \"    --review               Don't skip the review process\"\nmsgstr \"    --review               Ne hagyja ki a felülvizsgálati folyamatot\"\n\n#: src/help.rs:66\nmsgid \"    --[no]upgrademenu      Show interactive menu to skip upgrades\"\nmsgstr \"\"\n\"    --[no]upgrademenu      Interaktív menü megjelenítése a frissítések \"\n\"kihagyásához\"\n\n#: src/help.rs:67\nmsgid \"    --[no]removemake       Remove makedepends after install\"\nmsgstr \"\"\n\"    --[no]removemake       Fordítási függőségek eltávolítása telepítés után\"\n\n#: src/help.rs:68\nmsgid \"    --[no]cleanafter       Remove package sources after install\"\nmsgstr \"    --[no]cleanafter       Csomagforrások eltávolítása telepítés után\"\n\n#: src/help.rs:69\nmsgid \"    --[no]rebuild          Always build target packages\"\nmsgstr \"    --[no]rebuild          Mindig állítsa össze a célcsomagokat\"\n\n#: src/help.rs:70\nmsgid \"    --[no]redownload       Always download PKGBUILDs of targets\"\nmsgstr \"    --[no]redownload       Mindig töltse le a cél PKGBUILD-jét\"\n\n#: src/help.rs:72\nmsgid \"    --[no]pgpfetch         Prompt to import PGP keys from PKGBUILDs\"\nmsgstr \"\"\n\"    --[no]pgpfetch         Prompt a PGP kulcsok a PKGBUILD-ekből történő \"\n\"importálására\"\n\n#: src/help.rs:73\nmsgid \"\"\n\"    --[no]useask           Automatically resolve conflicts using pacman's \"\n\"ask flag\"\nmsgstr \"\"\n\"    --[no]useask           Ütközések automatikus feloldása a „pacman's ask” \"\n\"jelölő használatával\"\n\n#: src/help.rs:74\nmsgid \"\"\n\"    --[no]savechanges      Commit changes to pkgbuilds made during review\"\nmsgstr \"\"\n\"    --[no]savechanges      Az áttekintés során a pkgbuild-eken eszközölt \"\n\"változtatások véglegesítése\"\n\n#: src/help.rs:75\nmsgid \"    --[no]newsonupgrade    Print new news during sysupgrade\"\nmsgstr \"\"\n\"    --[no]newsonupgrade    Új hírek megjelenítése a rendszerfrissítéskor\"\n\n#: src/help.rs:76\nmsgid \"\"\n\"    --[no]combinedupgrade  Refresh then perform the repo and AUR upgrade \"\n\"together\"\nmsgstr \"\"\n\"    --[no]combinedupgrade  A tároló- és az AUR-frissítések egyszerre történő \"\n\"végrehajtása frissítéskor\"\n\n#: src/help.rs:77\nmsgid \"\"\n\"    --[no]batchinstall     Build multiple AUR packages then install them \"\n\"together\"\nmsgstr \"\"\n\"    --[no]batchinstall     Több AUR-csomag összeállítása, majd azok \"\n\"egyszerre történő telepítése\"\n\n#: src/help.rs:78\nmsgid \"\"\n\"    --[no]provides         Look for matching providers when searching for \"\n\"packages\"\nmsgstr \"\"\n\"    --[no]provides         Csomagok keresésekor figyeljen a megfelelő \"\n\"szolgáltatókra\"\n\n#: src/help.rs:79\nmsgid \"    --[no]devel            Check development packages during sysupgrade\"\nmsgstr \"\"\n\"    --[no]devel            Rendszerfrissítéskor ellenőrizze a fejlesztői \"\n\"csomagokat\"\n\n#: src/help.rs:80\nmsgid \"\"\n\"    --[no]installdebug     Also install debug packages when a package \"\n\"provides them\"\nmsgstr \"\"\n\"    --[no]installdebug     Hibakereső csomagok telepítése, amennyiben azok \"\n\"elérhetők a csomaghoz\"\n\n#: src/help.rs:81\nmsgid \"\"\n\"    --[no]sudoloop         Loop sudo calls in the background to avoid timeout\"\nmsgstr \"\"\n\"    --[no]sudoloop         Sudo-hívások hurkolása a háttérben az időtúllépés \"\n\"elkerülése érdekében\"\n\n#: src/help.rs:82\nmsgid \"    --[no]chroot           Build packages in a chroot\"\nmsgstr \"    --[no]chroot           Csomagok összeállítása egy chroot-ban\"\n\n#: src/help.rs:83\nmsgid \"\"\n\"    --[no]failfast         Exit as soon as building an AUR package fails\"\nmsgstr \"\"\n\"    --[no]failfast         kilépés, ha egy AUR-csomag összeállítása meghiúsul\"\n\n#: src/help.rs:84\nmsgid \"\"\n\"    --[no]keepsrc          Keep src/ and pkg/ dirs after building packages\"\nmsgstr \"\"\n\"    --[no]keepsrc          Tartsa meg az src/ és pkg/ könyvtárakat a \"\n\"csomagok összeállítása után\"\n\n#: src/help.rs:85\nmsgid \"    --[no]sign             Sign packages with gpg\"\nmsgstr \"    --[no]sign             Csomagok aláírása gpg-vel\"\n\n#: src/help.rs:86\nmsgid \"    --[no]signdb           Sign databases with gpg\"\nmsgstr \"    --[no]signdb           Adatbázisok aláírása gpg-vel\"\n\n#: src/help.rs:87\nmsgid \"    --[no]localrepo        Build packages into a local repo\"\nmsgstr \"    --[no]localrepo        Csomagok összeállítása egy helyi tárolóba\"\n\n#: src/help.rs:88\nmsgid \"\"\n\"    --nocheck              Don't resolve checkdepends or run the check \"\n\"function\"\nmsgstr \"\"\n\"    --nocheck              Ne oldja meg a checkdepend-eket és ne futtassa az \"\n\"ellenőrzés funkciót\"\n\n#: src/help.rs:90\nmsgid \"\"\n\"    --rootchrootpkgs       Packages to install in the root chroot (default: \"\n\"base-devel)\"\nmsgstr \"\"\n\"    --rootchrootpkgs       A root chroot-ba telepítendő csomagok \"\n\"(alapértelmezett: base-devel)\"\n\n#: src/help.rs:92\nmsgid \"\"\n\"    --develsuffixes        Suffixes used to decide if a package is a devel \"\n\"package\"\nmsgstr \"\"\n\"    --develsuffixes        A csomag fejlesztői csomagként való besorolásának \"\n\"eldöntésére használt utótagok\"\n\n#: src/help.rs:93\nmsgid \"    --ignoredevel          Ignore devel upgrades for specified packages\"\nmsgstr \"\"\n\"    --ignoredevel          A megadott csomagok fejlesztői frissítéseinek \"\n\"figyelmen kívül hagyása\"\n\n#: src/help.rs:94\nmsgid \"\"\n\"    --bottomup             Shows AUR's packages first and then repository's\"\nmsgstr \"\"\n\"    --bottomup             Az AUR-ból származó csomagok jelenjenek meg \"\n\"elsőként és csak utánuk az adattárból származó csomagok\"\n\n#: src/help.rs:95\nmsgid \"\"\n\"    --topdown              Shows repository's packages first and then AUR's\"\nmsgstr \"\"\n\"    --topdown              Az adattárból származó csomagok jelenjenek meg \"\n\"elsőként és csak utánuk az AUR-ból származó csomagok\"\n\n#: src/help.rs:97\nmsgid \"show specific options:\"\nmsgstr \"speciális kapcsolók megjelenítése:\"\n\n#: src/help.rs:98\nmsgid \"    -c --complete         Used for completions\"\nmsgstr \"    -c --complete         Kitöltésekhez használandó\"\n\n#: src/help.rs:99\nmsgid \"    -s --stats            Display system package statistics\"\nmsgstr \"    -s --stats            Rendszercsomag-statisztikák megjelenítése\"\n\n#: src/help.rs:100\nmsgid \"    -w --news             Print arch news\"\nmsgstr \"    -w --news             Arch hírek megjelenítése\"\n\n#: src/help.rs:102\nmsgid \"getpkgbuild specific options:\"\nmsgstr \"A getpkgbuild speciális kapcsolói:\"\n\n#: src/help.rs:103\nmsgid \"    -p --print            Print pkgbuild to stdout\"\nmsgstr \"    -p --print            A pkgbuild kiírása az stdout-ra\"\n\n#: src/help.rs:104\nmsgid \"    -c --comments         Print AUR comments for pkgbuild\"\nmsgstr \"    -c --comments         AUR-megjegyzések kiírása a pkgbuild számára\"\n\n#: src/help.rs:105\nmsgid \"    -s --ssh              Clone package using SSH\"\nmsgstr \"    -s --ssh              Csomag klónozása SSH használatával\"\n\n#: src/help.rs:107\nmsgid \"Build specific options:\"\nmsgstr \"Az összeállítás speciális kapcsolói:\"\n\n#: src/help.rs:108\nmsgid \"    -i --install          Install package as well as building\"\nmsgstr \"    -i --install          Csomag-összeállítás és telepítés\"\n\n#: src/info.rs:86 src/info.rs:191 src/info.rs:225\nmsgid \"Name\"\nmsgstr \"Név\"\n\n#: src/info.rs:87 src/info.rs:192 src/info.rs:226\nmsgid \"Version\"\nmsgstr \"Verzió\"\n\n#: src/info.rs:88 src/info.rs:193 src/info.rs:227\nmsgid \"Description\"\nmsgstr \"Leírás\"\n\n#: src/info.rs:89 src/info.rs:195 src/info.rs:235\nmsgid \"Groups\"\nmsgstr \"Csoportok\"\n\n#: src/info.rs:90 src/info.rs:196 src/info.rs:236\nmsgid \"Licenses\"\nmsgstr \"Licencek\"\n\n#: src/info.rs:91 src/info.rs:197 src/info.rs:237\nmsgid \"Provides\"\nmsgstr \"Szolgáltató\"\n\n#: src/info.rs:92 src/info.rs:198 src/info.rs:238\nmsgid \"Depends On\"\nmsgstr \"Függőségek\"\n\n#: src/info.rs:93 src/info.rs:199 src/info.rs:239\nmsgid \"Make Deps\"\nmsgstr \"Fordítási függőségek\"\n\n#: src/info.rs:94 src/info.rs:200 src/info.rs:240\nmsgid \"Check Deps\"\nmsgstr \"Függőségek ellenőrzése\"\n\n#: src/info.rs:95 src/info.rs:201 src/info.rs:241\nmsgid \"Optional Deps\"\nmsgstr \"Nem kötelező függőségek\"\n\n#: src/info.rs:96 src/info.rs:202 src/info.rs:242\nmsgid \"Conflicts With\"\nmsgstr \"Ütközik a következővel\"\n\n#: src/info.rs:97 src/info.rs:243\nmsgid \"Maintainer\"\nmsgstr \"Karbantartó\"\n\n#: src/info.rs:98 src/info.rs:244\nmsgid \"Votes\"\nmsgstr \"Szavazatok\"\n\n#: src/info.rs:99 src/info.rs:245\nmsgid \"Popularity\"\nmsgstr \"Népszerűség\"\n\n#: src/info.rs:100 src/info.rs:246\nmsgid \"First Submitted\"\nmsgstr \"Először beküldve\"\n\n#: src/info.rs:101 src/info.rs:247\nmsgid \"Last Modified\"\nmsgstr \"Utoljára módosítva\"\n\n#: src/info.rs:102 src/info.rs:249\nmsgid \"Out Of Date\"\nmsgstr \"Elavult\"\n\n#: src/info.rs:103 src/info.rs:254\nmsgid \"ID\"\nmsgstr \"Azonosító\"\n\n#: src/info.rs:104 src/info.rs:255\nmsgid \"Package Base ID\"\nmsgstr \"Csomag-azonosítóalap\"\n\n#: src/info.rs:105 src/info.rs:256\nmsgid \"Keywords\"\nmsgstr \"Kulcsszavak\"\n\n#: src/info.rs:106 src/info.rs:258\nmsgid \"Snapshot URL\"\nmsgstr \"Pillanatkép webcíme\"\n\n#: src/info.rs:107 src/info.rs:203\nmsgid \"Path\"\nmsgstr \"Elérési útvonal\"\n\n#: src/install.rs:166 src/query.rs:48 src/lib.rs:101\nmsgid \"error:\"\nmsgstr \"hiba:\"\n\n#: src/install.rs:167\nmsgid \"could not get news\"\nmsgstr \"nem sikerült híreket gyűjteni\"\n\n#: src/install.rs:172 src/install.rs:1127\nmsgid \"Proceed with installation?\"\nmsgstr \"Folytatja a telepítést?\"\n\n#: src/install.rs:207\nmsgid \"could not find .SRCINFO for '{}'\"\nmsgstr \"nem található az .SRCINFO a következőhöz: „{}”\"\n\n#: src/install.rs:353\nmsgid \"could not find package '{pkg}' in package list for '{base}'\"\nmsgstr \"\"\n\"nem található a(z) „{pkg}” nevezetű csomag a(z) „{base}” csomaglistában\"\n\n#: src/install.rs:451\nmsgid \"packages failed to build: {}\"\nmsgstr \"nem sikerült összeállítani a következő csomagokat : {}\"\n\n#: src/install.rs:523\nmsgid \"adding {} to the install list\"\nmsgstr \"a(z) {} hozzáadása a telepítési listához\"\n\n#: src/install.rs:553 src/install.rs:568\nmsgid \"failed to download sources for '{}'\"\nmsgstr \"a(z) „{}” forrásait nem sikerült letölteni\"\n\n#: src/install.rs:577 src/install.rs:603 src/install.rs:611\nmsgid \"failed to build '{}'\"\nmsgstr \"nem sikerült összeállítani a következő csomagot: „{}”\"\n\n#: src/install.rs:580 src/install.rs:784\nmsgid \"{}: parsing pkg list...\"\nmsgstr \"{}: pkg-lista elemzése...\"\n\n#: src/install.rs:584\nmsgid \"package list does not match srcinfo\"\nmsgstr \"a csomaglista nem egyezik az srcinfo-val\"\n\n#: src/install.rs:618\nmsgid \"{}-{} is up to date -- skipping build\"\nmsgstr \"{}-{} naprakész -- összeállítás kihagyása\"\n\n#: src/install.rs:775\nmsgid \"can't build {base}, deps not satisfied: {deps}\"\nmsgstr \"\"\n\"nem lehet összeállítani a következőt: {base}, a következő függőség(ek) nem \"\n\"teljesül(nek): {deps}\"\n\n#: src/install.rs:846\nmsgid \"fetching devel info...\"\nmsgstr \"fejlesztői információk lekérése...\"\n\n#: src/install.rs:911 src/lib.rs:240\nmsgid \"no targets specified (use -h for help)\"\nmsgstr \"nincsenek célok megadva (tekintse meg a súgót a -h kapcsolóval)\"\n\n#: src/install.rs:1008 src/install.rs:1097 src/search.rs:450 src/search.rs:476\n#: src/lib.rs:304\nmsgid \" there is nothing to do\"\nmsgstr \" itt nincs semmi tennivaló\"\n\n#: src/install.rs:1016\nmsgid \"Resolving dependencies...\"\nmsgstr \"Függőségek feloldása...\"\n\n#: src/install.rs:1077\nmsgid \"can't install AUR package as root\"\nmsgstr \"nem lehet telepíteni az AUR-csomagot rendszergazdaként\"\n\n#: src/install.rs:1080\nmsgid \"--downloadonly can't be used for AUR packages\"\nmsgstr \"--downloadonly nem használható az AUR-csomagokhoz\"\n\n#: src/install.rs:1113\nmsgid \"Remove make dependencies after install?\"\nmsgstr \"Fordítási függőségek eltávolítása a telepítés után?\"\n\n#: src/install.rs:1124\nmsgid \"Proceed to review?\"\nmsgstr \"Folytatja a felülvizsgálatot?\"\n\n#: src/install.rs:1177\nmsgid \"no architecture\"\nmsgstr \"nincs architektúra\"\n\n#: src/install.rs:1191\nmsgid \"The following packages are not compatible with your architecture:\"\nmsgstr \"\"\n\"A következő csomagok nem kompatibilisek a processzor architektúrájával:\"\n\n#: src/install.rs:1205\nmsgid \"Would you like to try build them anyway?\"\nmsgstr \"Megpróbálja mégis összeállítani őket?\"\n\n#: src/install.rs:1349\nmsgid \"duplicate packages: {}\"\nmsgstr \"duplikált csomagok: {}\"\n\n#: src/install.rs:1353\nmsgid \"could not find all required packages:\"\nmsgstr \"nem sikerült megtalálni az összes szükséges csomagot:\"\n\n#: src/install.rs:1365\nmsgid \"\"\n\"\\n\"\n\"    {missing} (wanted by: {stack})\"\nmsgstr \"\"\n\"\\n\"\n\"    {missing} (igényli: {stack})\"\n\n#: src/install.rs:1379 src/install.rs:2122\nmsgid \"{}-{} is up to date -- skipping\"\nmsgstr \"{}-{} naprakész -- kihagyás\"\n\n#: src/install.rs:1387\nmsgid \"Calculating conflicts...\"\nmsgstr \"Ütközések keresése...\"\n\n#: src/install.rs:1410\nmsgid \"Calculating inner conflicts...\"\nmsgstr \"Belső ütközések keresése...\"\n\n#: src/install.rs:1422\nmsgid \"Inner conflicts found:\"\nmsgstr \"Megtalált belső ütközések:\"\n\n#: src/install.rs:1444\nmsgid \"Conflicts found:\"\nmsgstr \"Megtalált ütközések:\"\n\n#: src/install.rs:1467\nmsgid \"Conflicting packages will have to be confirmed manually\"\nmsgstr \"Az ütköző csomagokat kézzel kell megerősíteni\"\n\n#: src/install.rs:1471\nmsgid \"can not install conflicting packages with --noconfirm\"\nmsgstr \"\"\n\"nem lehet egymással ütköző csomagokat telepíteni a --noconfirm kapcsolóval\"\n\n#: src/install.rs:1599\nmsgid \"failed to execute file manager: {}\"\nmsgstr \"nem sikerült elindítani a fájlkezelőt: {}\"\n\n#: src/install.rs:1602\nmsgid \"file manager '{}' did not execute successfully\"\nmsgstr \"az „()” fájlkezelő futtatását nem sikerült sikeresen végrehajtani\"\n\n#: src/install.rs:1620\nmsgid \"failed to read dir: {}\"\nmsgstr \"nem sikerült beolvasni a következő könyvtárat: {}\"\n\n#: src/install.rs:1677\nmsgid \"failed to open: {}\"\nmsgstr \"nem sikerült megnyitni a következőt: {}\"\n\n#: src/install.rs:1697\nmsgid \"binary file: {}\"\nmsgstr \"bináris fájl: {}\"\n\n#: src/install.rs:1719 src/install.rs:1790\nmsgid \"Accept changes?\"\nmsgstr \"Elfogadja a változásokat?\"\n\n#: src/install.rs:1759\nmsgid \"Paging with less. Press 'q' to quit or 'h' for help.\"\nmsgstr \"\"\n\"Kevesebb oldallapozás. A kilépéshez nyomja meg a „q” gombot, a súgó \"\n\"megnyitásához pedig a „h” gombot.\"\n\n#: src/install.rs:1794\nmsgid \" nothing new to review\"\nmsgstr \" nincs újdonság, amit felül kellene vizsgálni\"\n\n#: src/install.rs:2070\nmsgid \"can't find package name in packagelist: {}\"\nmsgstr \"nem sikerült megtalálni a csomag nevét a csomaglistában: {}\"\n\n#: src/install.rs:2142\nmsgid \"Signing packages...\"\nmsgstr \"Csomagok aláírása...\"\n\n#: src/install.rs:2172\nmsgid \"{}-{} is up to date -- skipping install\"\nmsgstr \"{}-{} naprakész -- telepítés kihagyása\"\n\n#: src/keys.rs:57\nmsgid \"keys need to be imported:\"\nmsgstr \"importálni kell a következő kulcsokat:\"\n\n#: src/keys.rs:62\nmsgid \"     {key} wanted by: {base}\"\nmsgstr \"     {key} igényli: {base}\"\n\n#: src/news.rs:57\nmsgid \"No Date \"\nmsgstr \"Nincs dátum \"\n\n#: src/news.rs:60\nmsgid \"No Title\"\nmsgstr \"Nincs cím\"\n\n#: src/news.rs:69\nmsgid \"no new news\"\nmsgstr \"nincsenek új hírek\"\n\n#: src/pkgbuild.rs:91\nmsgid \"repo {} does not have a URL or Path\"\nmsgstr \"a(z) {} tároló nem rendelkezik webcímmel vagy elérési útvonallal\"\n\n#: src/pkgbuild.rs:153\nmsgid \"repo {} not downloaded (use -Sy --pkgbuilds to download)\"\nmsgstr \"\"\n\"a(z) {} tároló nincs letöltve (használja a -Sy --pkgbuilds kapcsolókat a \"\n\"letöltéshez)\"\n\n#: src/pkgbuild.rs:200\nmsgid \"Generating .SRCINFO for {repo}/{dir}...\"\nmsgstr \".SRCINFO előállítása a(z) {repo}/{dir} számára...\"\n\n#: src/pkgbuild.rs:278\nmsgid \"failed to parse srcinfo \\\"{}\\\"\"\nmsgstr \"nem sikerült elemezni az srcinfo-t: „{}”\"\n\n#: src/pkgbuild.rs:368\nmsgid \"Downloading PKGBUILD Repos...\"\nmsgstr \"A PKGBUILD tárolók letöltése...\"\n\n#: src/pkgbuild.rs:422\nmsgid \"failed to parse srcinfo generated by makepkg\"\nmsgstr \"nem sikerült elemezni a makepkg által előállított srcinfo-t\"\n\n#: src/query.rs:151\nmsgid \" [ignored]\"\nmsgstr \" [mellőzött]\"\n\n#: src/repo.rs:253\nmsgid \"failed to get current exe\"\nmsgstr \"nem sikerült lekérni a jelenlegi végrehajtható fájlt\"\n\n#: src/repo.rs:298\nmsgid \"syncing local databases...\"\nmsgstr \"helyi adatbázisok szinkronizálása...\"\n\n#: src/repo.rs:304\nmsgid \"  nothing to do\"\nmsgstr \"  nincs semmi tennivaló\"\n\n#: src/repo.rs:335\nmsgid \"there is nothing to do\"\nmsgstr \"itt nincs semmi tennivaló\"\n\n#: src/repo.rs:341\nmsgid \"Packages\"\nmsgstr \"Csomagok\"\n\n#: src/repo.rs:354\nmsgid \"Proceed with removal?\"\nmsgstr \"Folytatja az eltávolítással?\"\n\n#: src/repo.rs:415\nmsgid \" [installed: {}]\"\nmsgstr \" [telepítve: {}]\"\n\n#: src/repo.rs:417 src/sync.rs:144\nmsgid \" [installed]\"\nmsgstr \" [telepítve]\"\n\n#: src/search.rs:41\nmsgid \"aur search failed\"\nmsgstr \"az AUR-keresés sikertelen\"\n\n#: src/search.rs:285 src/search.rs:338 src/search.rs:410\nmsgid \"[installed: {}]\"\nmsgstr \"[telepítve: {}]\"\n\n#: src/search.rs:287 src/search.rs:340 src/search.rs:412\nmsgid \"[installed]\"\nmsgstr \"[telepítve]\"\n\n#: src/search.rs:332\nmsgid \"[out-of-date: {}]\"\nmsgstr \"[Elavult: {}]\"\n\n#: src/search.rs:347\nmsgid \"[orphaned]\"\nmsgstr \"[Elárvult]\"\n\n#: src/search.rs:491\nmsgid \"no packages match search\"\nmsgstr \"egyetlen csomag sem felel meg a keresésnek\"\n\n#: src/search.rs:529\nmsgid \"Packages to install (eg: 1 2 3, 1-3):\"\nmsgstr \"Telepítendő csomagok (például: 1 2 3, 1-3):\"\n\n#: src/search.rs:531\nmsgid \"Select packages (eg: 1 2 3, 1-3):\"\nmsgstr \"Csomagok kiválasztása (például: 1 2 3, 1-3):\"\n\n#: src/stats.rs:90\nmsgid \"Total installed packages: {}\"\nmsgstr \"Összes telepített csomag: {}\"\n\n#: src/stats.rs:94\nmsgid \"Aur packages: {}\"\nmsgstr \"AUR-csomagok: {}\"\n\n#: src/stats.rs:98\nmsgid \"Repo packages: {}\"\nmsgstr \"Tárolóban lévő csomagok: {}\"\n\n#: src/stats.rs:102\nmsgid \"Explicitly installed packages: {}\"\nmsgstr \"Kifejezetten telepített csomagok: {}\"\n\n#: src/stats.rs:106\nmsgid \"Total Size occupied by packages: {}\"\nmsgstr \"A csomagok által elfoglalt teljes lemezterület: {}\"\n\n#: src/stats.rs:113\nmsgid \"Ten biggest packages:\"\nmsgstr \"A tíz legnagyobb csomag:\"\n\n#: src/upgrade.rs:126\nmsgid \"Looking for PKGBUILD upgrades...\"\nmsgstr \"PKGBUILD frissítések keresése...\"\n\n#: src/upgrade.rs:134\nmsgid \"Looking for AUR upgrades...\"\nmsgstr \"AUR-frissítések keresése...\"\n\n#: src/upgrade.rs:165\nmsgid \"Looking for devel upgrades...\"\nmsgstr \"Fejlesztői frissítések keresése...\"\n\n#: src/upgrade.rs:193 src/upgrade.rs:206\nmsgid \"warning:\"\nmsgstr \"figyelmeztetés:\"\n\n#: src/upgrade.rs:195 src/upgrade.rs:208\nmsgid \"{pkg}: ignoring package upgrade ({old} => {new})\"\nmsgstr \"{pkg}: a csomagfrissítés figyelmen kívül hagyása ({old} => {new})\"\n\n#: src/upgrade.rs:400\nmsgid \"Packages to exclude (eg: 1 2 3, 1-3):\"\nmsgstr \"Kihagyandó csomagok (például: 1 2 3, 1-3):\"\n\n#: src/util.rs:121\nmsgid \"[Y/n]:\"\nmsgstr \"[Y/n]:\"\n\n#: src/util.rs:123\nmsgid \"[y/N]:\"\nmsgstr \"[y/N]:\"\n\n#: src/util.rs:142\nmsgid \"y\"\nmsgstr \"y\"\n\n#: src/util.rs:142\nmsgid \"yes\"\nmsgstr \"igen\"\n\n#: src/util.rs:300\nmsgid \"Enter a number (default=1): \"\nmsgstr \"Adjon meg egy számot (alapértelmezett = 1): \"\n\n#: src/util.rs:317\nmsgid \"invalid number: {}\"\nmsgstr \"érvénytelen szám: {}\"\n\n#: src/util.rs:327\nmsgid \"invalid value: {n} is not between 1 and {max}\"\nmsgstr \"érvénytelen érték: a(z) {n} nem 1 és {max} között van\"\n\n#: src/resolver.rs:83\nmsgid \"There are {} members in group\"\nmsgstr \"{} tag van a csoportban\"\n\n#: src/resolver.rs:108\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Enter a selection (default=all): \"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Adjon meg egy kiválasztást (alapértelmezett=összes): \"\n\n#: src/lib.rs:206\nmsgid \"can not use chroot builds: devtools is not installed\"\nmsgstr \"\"\n\"nem sikerült használni a chroot összeállításokat: a devtools nincs telepítve\"\n\n#: src/lib.rs:313\nmsgid \"no operation specified (use -h for help)\"\nmsgstr \"nem adott meg kapcsolót (tekintse meg a súgót a -h kapcsolóval)\"\n\n#~ msgid \"[Installed: {}]\"\n#~ msgstr \"[Telepítve: {}]\"\n\n#~ msgid \"[Installed]\"\n#~ msgstr \"[Telepítve]\"\n\n#~ msgid \"Aur ({})\"\n#~ msgstr \"Aur ({})\"\n\n#~ msgid \"Pkgbuilds ({})\"\n#~ msgstr \"Pkgbuilds ({})\"\n"
  },
  {
    "path": "po/it.po",
    "content": "# Translation of paru into Italian.\n# This file is distributed under the same license as the paru package.\n# Francesco Minnocci <ascoli@minnocci>, 2021.\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: paru 1.7.3\\n\"\n\"Report-Msgid-Bugs-To: https://github.com/Morganamilo/paru\\n\"\n\"POT-Creation-Date: 2026-01-08 17:40+0000\\n\"\n\"PO-Revision-Date: 2021-06-28 19:00+0000\\n\"\n\"Last-Translator: Francesco Minnocci <ascoli dot minnocci at gmail dot com>\\n\"\n\"Language-Team: \\n\"\n\"Language: it\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\n#: src/clean.rs:36\n#, fuzzy\nmsgid \"Do you want to clean ALL AUR packages from cache?\"\nmsgstr \"Vuoi rimuovere TUTTI i pacchetti della AUR dalla cache?\"\n\n#: src/clean.rs:38\n#, fuzzy\nmsgid \"Do you want to clean all other AUR packages from cache?\"\nmsgstr \"Vuoi rimuovere tutti gli altri pacchetti AUR dalla cache?\"\n\n#: src/clean.rs:41\nmsgid \"Clone Directory: {}\"\nmsgstr \"Directory di scaricamento: {}\"\n\n#: src/clean.rs:47\nmsgid \"\"\n\"\\n\"\n\"Diff Directory: {}\"\nmsgstr \"\"\n\"\\n\"\n\"Directory dei file diff: {}\"\n\n#: src/clean.rs:49\nmsgid \"Do you want to remove all saved diffs?\"\nmsgstr \"Vuoi rimuovere tutti i file diff salvati?\"\n\n#: src/clean.rs:65\nmsgid \"can't open diff dir: {}\"\nmsgstr \"non è stato possibile rimuovere la directory dei file diff: {}\"\n\n#: src/clean.rs:76 src/clean.rs:180\nmsgid \"could not remove '{}'\"\nmsgstr \"non è stato possibile rimuovere '{}'\"\n\n#: src/clean.rs:95\nmsgid \"can't open clone dir: {}\"\nmsgstr \"non è stato possibile aprire la directory di scaricamento: {}\"\n\n#: src/clean.rs:141\n#, fuzzy\nmsgid \"could not parse .SRCINFO for '{}'\"\nmsgstr \"impossibile trovare .SRCINFO per '{}'\"\n\n#: src/command_line.rs:134\nmsgid \"option {} expects a value\"\nmsgstr \"l'opzione {} richiede un valore\"\n\n#: src/command_line.rs:165 src/command_line.rs:382\nmsgid \"option {} does not allow a value\"\nmsgstr \"l'opzione {} non accetta valori\"\n\n#: src/command_line.rs:373\nmsgid \"unknown option --{}\"\nmsgstr \"opzione sconosciuta --{}\"\n\n#: src/command_line.rs:376\nmsgid \"unknown option -{}\"\nmsgstr \"opzione sconosciuta -{}\"\n\n#: src/completion.rs:26 src/search.rs:179 src/sync.rs:113\n#, fuzzy\nmsgid \"failed to decode package list\"\nmsgstr \"scaricamento codice sorgente fallito\"\n\n#: src/completion.rs:35\nmsgid \"failed to open cache file '{}'\"\nmsgstr \"impossibile aprire il file di cache '{}'\"\n\n#: src/completion.rs:83\nmsgid \"could not update aur cache\"\nmsgstr \"non è stato possibile aggiornare la cache dell'aur\"\n\n#: src/config.rs:179\nmsgid \"invalid value '{val}' for key '{key}', expected: {exp}\"\nmsgstr \"\"\n\"valore non valido '{val}' per il campo '{key}', valori possibili: {exp}\"\n\n#: src/config.rs:332\n#, fuzzy\nmsgid \"unknown mode {}\"\nmsgstr \"opzione sconosciuta -{}\"\n\n#: src/config.rs:564\nmsgid \"section can not be called {}\"\nmsgstr \"\"\n\n#: src/config.rs:581\nmsgid \"failed to find cache directory\"\nmsgstr \"impossibile trovare o leggere la directory della cache\"\n\n#: src/config.rs:584\nmsgid \"failed to find config directory\"\nmsgstr \"impossibile trovare la directory di configurazione\"\n\n#: src/config.rs:588\n#, fuzzy\nmsgid \"failed to find state directory\"\nmsgstr \"impossibile trovare o leggere la directory della cache\"\n\n#: src/config.rs:635\nmsgid \"config file '{}' does not exist\"\nmsgstr \"il file di configurazione '{}' non esiste\"\n\n#: src/config.rs:684\nmsgid \"only one operation may be used at a time\"\nmsgstr \"puoi usare un'operazione sola alla volta\"\n\n#: src/config.rs:795\nmsgid \"no local repo named {}\"\nmsgstr \"\"\n\n#: src/config.rs:821\nmsgid \"can not find local repo '{}' in pacman.conf\"\nmsgstr \"non è stato possibile trovare la repository locale '{}' in pacman.conf\"\n\n#: src/config.rs:866\nmsgid \"failed to initialize alpm: root={} dbpath={}\"\nmsgstr \"inizializzazione fallita per alpm: root={} dbpath={}\"\n\n#: src/config.rs:941 src/config.rs:1102\nmsgid \"value can not be empty for key '{}'\"\nmsgstr \"il valore per '{}' non può essere vuoto\"\n\n#: src/config.rs:957\nmsgid \"key '{}' does not belong to a section\"\nmsgstr \"Il campo '{}' non appartiene a nessuna sezione\"\n\n#: src/config.rs:971 src/config.rs:988 src/config.rs:990 src/config.rs:1005\nmsgid \"key can not be empty\"\nmsgstr \"il campo non può essere vuoto\"\n\n#: src/config.rs:981\n#, fuzzy\nmsgid \"error: unknown option '{}' in repo\"\nmsgstr \"errore: opzione sconosciuta '{}' nella sezione [bin]\"\n\n#: src/config.rs:991\nmsgid \"key can not contain null bytes\"\nmsgstr \"\"\n\n#: src/config.rs:994\nmsgid \"value can not contain null bytes\"\nmsgstr \"\"\n\n#: src/config.rs:1030\nmsgid \"error: unknown option '{}' in section [bin]\"\nmsgstr \"errore: opzione sconosciuta '{}' nella sezione [bin]\"\n\n#: src/config.rs:1150\nmsgid \"error: unknown option '{}' in section [options]\"\nmsgstr \"errore: opzione sconosciuta '{}' nella sezione [opzioni]\"\n\n#: src/config.rs:1155\nmsgid \"option '{}' does not take a value\"\nmsgstr \"l'opzione '{}' non accetta valori\"\n\n#: src/config.rs:1187 src/resolver.rs:136\nmsgid \"There are {n} providers available for {pkg}:\"\nmsgstr \"Ci sono {n} provider disponibili per {pkg}:\"\n\n#: src/config.rs:1201 src/info.rs:85 src/info.rs:190 src/info.rs:224\n#: src/resolver.rs:95 src/resolver.rs:144\nmsgid \"Repository\"\nmsgstr \"Repository\"\n\n#: src/config.rs:1227\nmsgid \"  failed to sync {}\"\nmsgstr \"  non è potuto essere sincronizzato\"\n\n#: src/devel.rs:136 src/download.rs:207\nmsgid \"Querying AUR...\"\nmsgstr \"Interrogando la AUR...\"\n\n#: src/devel.rs:157 src/devel.rs:181 src/install.rs:203\nmsgid \"failed to parse srcinfo for '{}'\"\nmsgstr \"errore nel leggere il srcinfo per '{}'\"\n\n#: src/devel.rs:201\nmsgid \"Looking for devel repos...\"\nmsgstr \"Controllo delle repository di sviluppo in corso...\"\n\n#: src/devel.rs:210\nmsgid \"failed to save devel info\"\nmsgstr \"impossibile salvare le informazioni sulle repository di sviluppo\"\n\n#: src/devel.rs:218\n#, fuzzy\nmsgid \"failed to create state directory: {}\"\nmsgstr \"impossibile trovare o leggere la directory della cache\"\n\n#: src/devel.rs:233\n#, fuzzy\nmsgid \"failed to create temporary file: {}\"\nmsgstr \"impossibile lanciare il gestore di file: {}\"\n\n#: src/devel.rs:238\n#, fuzzy\nmsgid \"failed to write to temporary file: {}\"\nmsgstr \"impossibile accedere alla directory: {}\"\n\n#: src/devel.rs:244\nmsgid \"failed to rename '{temp}' to '{devel_toml}\"\nmsgstr \"\"\n\n#: src/devel.rs:490\nmsgid \"package does not have an update\"\nmsgstr \"non ci sono aggiornamenti disponibili per il pacchetto\"\n\n#: src/devel.rs:536\nmsgid \"failed to lookup: {}\"\nmsgstr \"non è stato possibile trovare: {}\"\n\n#: src/devel.rs:564\n#, fuzzy\nmsgid \"invalid toml: {}\"\nmsgstr \"json non valido: {}\"\n\n#: src/download.rs:100\nmsgid \"packages not in the AUR: \"\nmsgstr \"pacchetti non presenti nella AUR: \"\n\n#: src/download.rs:111\nmsgid \"marked out of date: \"\nmsgstr \"pacchetti obsoleti: \"\n\n#: src/download.rs:122\nmsgid \"orphans: \"\nmsgstr \"pacchetti orfani: \"\n\n#: src/download.rs:260\nmsgid \"downloading: {pkg}\"\nmsgstr \"in scaricamento: {pkg}\"\n\n#: src/download.rs:279 src/download.rs:602 src/info.rs:55 src/info.rs:180\n#: src/query.rs:49\nmsgid \"package '{}' was not found\"\nmsgstr \"impossibile trovare il pacchetto '{}'\"\n\n#: src/download.rs:291\n#, fuzzy\nmsgid \"duplicate PKGBUILD: {}\"\nmsgstr \"pacchetti duplicati: {}\"\n\n#: src/download.rs:307\nmsgid \"package '{}' exists but has no PKGBUILD -- skipping\"\nmsgstr \"\"\n\n#: src/download.rs:340\nmsgid \"Downloading PKGBUILDs...\"\nmsgstr \"Scaricando i PKGBUILD...\"\n\n#: src/download.rs:344\nmsgid \" PKGBUILDs up to date\"\nmsgstr \" PKGBUILD aggiornati\"\n\n#: src/exec.rs:72\nmsgid \"failed to run:\"\nmsgstr \"esecuzione fallita:\"\n\n#: src/exec.rs:174\nmsgid \"Pacman is currently in use, please wait...\"\nmsgstr \"Pacman è attualmente in uso, attendi...\"\n\n#: src/fmt.rs:24 src/info.rs:275 src/search.rs:293 src/search.rs:350\nmsgid \"None\"\nmsgstr \"Nessuno\"\n\n#: src/fmt.rs:245\nmsgid \"Repo\"\nmsgstr \"Repo\"\n\n#: src/fmt.rs:252\nmsgid \"Repo Make\"\nmsgstr \"Repo (compilazione)\"\n\n#: src/fmt.rs:272\nmsgid \"Pkgbuilds Make\"\nmsgstr \"\"\n\n#: src/fmt.rs:274\nmsgid \"Aur Make\"\nmsgstr \"AUR (compilazione)\"\n\n#: src/fmt.rs:319\n#, fuzzy\nmsgid \"Repo ({})\"\nmsgstr \"Repo\"\n\n#: src/fmt.rs:327\n#, fuzzy\nmsgid \"Old Version\"\nmsgstr \"Versione\"\n\n#: src/fmt.rs:328\n#, fuzzy\nmsgid \"New Version\"\nmsgstr \"Versione\"\n\n#: src/fmt.rs:329\nmsgid \"Make Only\"\nmsgstr \"\"\n\n#: src/fmt.rs:330\n#, fuzzy\nmsgid \"Yes\"\nmsgstr \"sì\"\n\n#: src/fmt.rs:331 src/info.rs:221\nmsgid \"No\"\nmsgstr \"No\"\n\n#: src/fmt.rs:419\nmsgid \"insufficient columns available for table display\"\nmsgstr \"\"\n\n#: src/help.rs:4\nmsgid \"Usage:\"\nmsgstr \"\"\n\n#: src/help.rs:5\nmsgid \"    paru\"\nmsgstr \"\"\n\n#: src/help.rs:6\nmsgid \"    paru <operation> [...]\"\nmsgstr \"\"\n\n#: src/help.rs:7\nmsgid \"    paru <package(s)>\"\nmsgstr \"\"\n\n#: src/help.rs:9\nmsgid \"Pacman operations:\"\nmsgstr \"\"\n\n#: src/help.rs:10\nmsgid \"    paru {-h --help}\"\nmsgstr \"\"\n\n#: src/help.rs:11\nmsgid \"    paru {-V --version}\"\nmsgstr \"\"\n\n#: src/help.rs:12\nmsgid \"    paru {-D --database}    <options> <package(s)>\"\nmsgstr \"\"\n\n#: src/help.rs:13\nmsgid \"    paru {-F --files}       [options] [package(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:14\nmsgid \"    paru {-Q --query}       [options] [package(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:15\nmsgid \"    paru {-R --remove}      [options] <package(s)>\"\nmsgstr \"\"\n\n#: src/help.rs:16\nmsgid \"    paru {-S --sync}        [options] [package(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:17\nmsgid \"    paru {-T --deptest}     [options] [package(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:18\nmsgid \"    paru {-U --upgrade}     [options] [file(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:20\nmsgid \"New operations:\"\nmsgstr \"\"\n\n#: src/help.rs:21\nmsgid \"    paru {-P --show}        [options]\"\nmsgstr \"\"\n\n#: src/help.rs:22\nmsgid \"    paru {-G --getpkgbuild} [package(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:23\nmsgid \"    paru {-B --build}       [dir(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:25\nmsgid \"If no arguments are provided 'paru -Syu' will be performed\"\nmsgstr \"\"\n\n#: src/help.rs:27\nmsgid \"Options without operation:\"\nmsgstr \"\"\n\n#: src/help.rs:28\nmsgid \"    -c --clean            Remove unneeded dependencies\"\nmsgstr \"\"\n\n#: src/help.rs:29\nmsgid \"\"\n\"       --gendb            Generates development package DB used for updating\"\nmsgstr \"\"\n\n#: src/help.rs:31\nmsgid \"New options:\"\nmsgstr \"\"\n\n#: src/help.rs:32\nmsgid \"       --repo              Assume targets are from the repositories\"\nmsgstr \"\"\n\n#: src/help.rs:33\nmsgid \"\"\n\"       --pkgbuilds         Assume targets are from pkgbuild repositories\"\nmsgstr \"\"\n\n#: src/help.rs:34\nmsgid \"    -a --aur               Assume targets are from the AUR\"\nmsgstr \"\"\n\n#: src/help.rs:35\nmsgid \"    --mode      <mode>     Sets where paru looks for targets\"\nmsgstr \"\"\n\n#: src/help.rs:37\nmsgid \"\"\n\"    --interactive          Enable interactive package selection for -S, -R, \"\n\"-Ss and -Qs\"\nmsgstr \"\"\n\n#: src/help.rs:39\nmsgid \"    --aururl    <url>      Set an alternative AUR URL\"\nmsgstr \"\"\n\n#: src/help.rs:40\nmsgid \"\"\n\"    --aurrpcur  <url>      Set an alternative URL for the AUR /rpc endpoint\"\nmsgstr \"\"\n\n#: src/help.rs:41\nmsgid \"    --clonedir  <dir>      Directory used to download and run PKGBUILDs\"\nmsgstr \"\"\n\n#: src/help.rs:43\nmsgid \"    --makepkg   <file>     makepkg command to use\"\nmsgstr \"\"\n\n#: src/help.rs:44\nmsgid \"    --mflags    <flags>    Pass arguments to makepkg\"\nmsgstr \"\"\n\n#: src/help.rs:45\nmsgid \"    --pacman    <file>     pacman command to use\"\nmsgstr \"\"\n\n#: src/help.rs:46\nmsgid \"    --git       <file>     git command to use\"\nmsgstr \"\"\n\n#: src/help.rs:47\nmsgid \"    --gitflags  <flags>    Pass arguments to git\"\nmsgstr \"\"\n\n#: src/help.rs:48\nmsgid \"    --sudo      <file>     sudo command to use\"\nmsgstr \"\"\n\n#: src/help.rs:49\nmsgid \"    --sudoflags <flags>    Pass arguments to sudo\"\nmsgstr \"\"\n\n#: src/help.rs:50\nmsgid \"    --pkgctl    <file>     pkgctl command to use\"\nmsgstr \"\"\n\n#: src/help.rs:51\nmsgid \"    --bat       <file>     bat command to use\"\nmsgstr \"\"\n\n#: src/help.rs:52\nmsgid \"    --batflags  <flags>    Pass arguments to bat\"\nmsgstr \"\"\n\n#: src/help.rs:53\nmsgid \"    --gpg       <file>     gpg command to use\"\nmsgstr \"\"\n\n#: src/help.rs:54\nmsgid \"    --gpgflags  <flags>    Pass arguments to gpg\"\nmsgstr \"\"\n\n#: src/help.rs:55\nmsgid \"    --fm        <file>     File manager to use for PKGBUILD review\"\nmsgstr \"\"\n\n#: src/help.rs:56\nmsgid \"    --fmflags   <flags>    Pass arguments to file manager\"\nmsgstr \"\"\n\n#: src/help.rs:58\nmsgid \"    --completioninterval   <n> Time in days to refresh completion cache\"\nmsgstr \"\"\n\n#: src/help.rs:59\nmsgid \"\"\n\"    --sortby    <field>    Sort AUR results by a specific field during search\"\nmsgstr \"\"\n\n#: src/help.rs:60\nmsgid \"    --searchby  <field>    Search for packages using a specified field\"\nmsgstr \"\"\n\n#: src/help.rs:61\nmsgid \"\"\n\"    --limit     <limit>    Limits the number of items returned in a search\"\nmsgstr \"\"\n\n#: src/help.rs:62\nmsgid \"    -x --regex             Enable regex for aur search\"\nmsgstr \"\"\n\n#: src/help.rs:64\nmsgid \"    --skipreview           Skip the review process\"\nmsgstr \"\"\n\n#: src/help.rs:65\nmsgid \"    --review               Don't skip the review process\"\nmsgstr \"\"\n\n#: src/help.rs:66\nmsgid \"    --[no]upgrademenu      Show interactive menu to skip upgrades\"\nmsgstr \"\"\n\n#: src/help.rs:67\n#, fuzzy\nmsgid \"    --[no]removemake       Remove makedepends after install\"\nmsgstr \"Rimuovere le dipendenze di compilazione dopo l'installazione?\"\n\n#: src/help.rs:68\nmsgid \"    --[no]cleanafter       Remove package sources after install\"\nmsgstr \"\"\n\n#: src/help.rs:69\nmsgid \"    --[no]rebuild          Always build target packages\"\nmsgstr \"\"\n\n#: src/help.rs:70\nmsgid \"    --[no]redownload       Always download PKGBUILDs of targets\"\nmsgstr \"\"\n\n#: src/help.rs:72\nmsgid \"    --[no]pgpfetch         Prompt to import PGP keys from PKGBUILDs\"\nmsgstr \"\"\n\n#: src/help.rs:73\nmsgid \"\"\n\"    --[no]useask           Automatically resolve conflicts using pacman's \"\n\"ask flag\"\nmsgstr \"\"\n\n#: src/help.rs:74\nmsgid \"\"\n\"    --[no]savechanges      Commit changes to pkgbuilds made during review\"\nmsgstr \"\"\n\n#: src/help.rs:75\nmsgid \"    --[no]newsonupgrade    Print new news during sysupgrade\"\nmsgstr \"\"\n\n#: src/help.rs:76\nmsgid \"\"\n\"    --[no]combinedupgrade  Refresh then perform the repo and AUR upgrade \"\n\"together\"\nmsgstr \"\"\n\n#: src/help.rs:77\nmsgid \"\"\n\"    --[no]batchinstall     Build multiple AUR packages then install them \"\n\"together\"\nmsgstr \"\"\n\n#: src/help.rs:78\nmsgid \"\"\n\"    --[no]provides         Look for matching providers when searching for \"\n\"packages\"\nmsgstr \"\"\n\n#: src/help.rs:79\nmsgid \"    --[no]devel            Check development packages during sysupgrade\"\nmsgstr \"\"\n\n#: src/help.rs:80\nmsgid \"\"\n\"    --[no]installdebug     Also install debug packages when a package \"\n\"provides them\"\nmsgstr \"\"\n\n#: src/help.rs:81\nmsgid \"\"\n\"    --[no]sudoloop         Loop sudo calls in the background to avoid timeout\"\nmsgstr \"\"\n\n#: src/help.rs:82\nmsgid \"    --[no]chroot           Build packages in a chroot\"\nmsgstr \"\"\n\n#: src/help.rs:83\nmsgid \"\"\n\"    --[no]failfast         Exit as soon as building an AUR package fails\"\nmsgstr \"\"\n\n#: src/help.rs:84\nmsgid \"\"\n\"    --[no]keepsrc          Keep src/ and pkg/ dirs after building packages\"\nmsgstr \"\"\n\n#: src/help.rs:85\nmsgid \"    --[no]sign             Sign packages with gpg\"\nmsgstr \"\"\n\n#: src/help.rs:86\nmsgid \"    --[no]signdb           Sign databases with gpg\"\nmsgstr \"\"\n\n#: src/help.rs:87\nmsgid \"    --[no]localrepo        Build packages into a local repo\"\nmsgstr \"\"\n\n#: src/help.rs:88\nmsgid \"\"\n\"    --nocheck              Don't resolve checkdepends or run the check \"\n\"function\"\nmsgstr \"\"\n\n#: src/help.rs:90\nmsgid \"\"\n\"    --rootchrootpkgs       Packages to install in the root chroot (default: \"\n\"base-devel)\"\nmsgstr \"\"\n\n#: src/help.rs:92\nmsgid \"\"\n\"    --develsuffixes        Suffixes used to decide if a package is a devel \"\n\"package\"\nmsgstr \"\"\n\n#: src/help.rs:93\nmsgid \"    --ignoredevel          Ignore devel upgrades for specified packages\"\nmsgstr \"\"\n\n#: src/help.rs:94\nmsgid \"\"\n\"    --bottomup             Shows AUR's packages first and then repository's\"\nmsgstr \"\"\n\n#: src/help.rs:95\nmsgid \"\"\n\"    --topdown              Shows repository's packages first and then AUR's\"\nmsgstr \"\"\n\n#: src/help.rs:97\nmsgid \"show specific options:\"\nmsgstr \"\"\n\n#: src/help.rs:98\nmsgid \"    -c --complete         Used for completions\"\nmsgstr \"\"\n\n#: src/help.rs:99\nmsgid \"    -s --stats            Display system package statistics\"\nmsgstr \"\"\n\n#: src/help.rs:100\nmsgid \"    -w --news             Print arch news\"\nmsgstr \"\"\n\n#: src/help.rs:102\nmsgid \"getpkgbuild specific options:\"\nmsgstr \"\"\n\n#: src/help.rs:103\nmsgid \"    -p --print            Print pkgbuild to stdout\"\nmsgstr \"\"\n\n#: src/help.rs:104\nmsgid \"    -c --comments         Print AUR comments for pkgbuild\"\nmsgstr \"\"\n\n#: src/help.rs:105\nmsgid \"    -s --ssh              Clone package using SSH\"\nmsgstr \"\"\n\n#: src/help.rs:107\nmsgid \"Build specific options:\"\nmsgstr \"\"\n\n#: src/help.rs:108\nmsgid \"    -i --install          Install package as well as building\"\nmsgstr \"\"\n\n#: src/info.rs:86 src/info.rs:191 src/info.rs:225\nmsgid \"Name\"\nmsgstr \"Nome\"\n\n#: src/info.rs:87 src/info.rs:192 src/info.rs:226\nmsgid \"Version\"\nmsgstr \"Versione\"\n\n#: src/info.rs:88 src/info.rs:193 src/info.rs:227\nmsgid \"Description\"\nmsgstr \"Descrizione\"\n\n#: src/info.rs:89 src/info.rs:195 src/info.rs:235\nmsgid \"Groups\"\nmsgstr \"Gruppi\"\n\n#: src/info.rs:90 src/info.rs:196 src/info.rs:236\nmsgid \"Licenses\"\nmsgstr \"Licenze\"\n\n#: src/info.rs:91 src/info.rs:197 src/info.rs:237\nmsgid \"Provides\"\nmsgstr \"Fornisce\"\n\n#: src/info.rs:92 src/info.rs:198 src/info.rs:238\nmsgid \"Depends On\"\nmsgstr \"Dipende da\"\n\n#: src/info.rs:93 src/info.rs:199 src/info.rs:239\nmsgid \"Make Deps\"\nmsgstr \"Dipendenze di compilazione\"\n\n#: src/info.rs:94 src/info.rs:200 src/info.rs:240\nmsgid \"Check Deps\"\nmsgstr \"Dipendenze di controllo\"\n\n#: src/info.rs:95 src/info.rs:201 src/info.rs:241\nmsgid \"Optional Deps\"\nmsgstr \"Dipendenze Opzionali\"\n\n#: src/info.rs:96 src/info.rs:202 src/info.rs:242\nmsgid \"Conflicts With\"\nmsgstr \"Conflitti con\"\n\n#: src/info.rs:97 src/info.rs:243\nmsgid \"Maintainer\"\nmsgstr \"Pacchettizzatore\"\n\n#: src/info.rs:98 src/info.rs:244\nmsgid \"Votes\"\nmsgstr \"Voti\"\n\n#: src/info.rs:99 src/info.rs:245\nmsgid \"Popularity\"\nmsgstr \"Popolarità\"\n\n#: src/info.rs:100 src/info.rs:246\nmsgid \"First Submitted\"\nmsgstr \"Data di creazione\"\n\n#: src/info.rs:101 src/info.rs:247\nmsgid \"Last Modified\"\nmsgstr \"Ultima modifica\"\n\n#: src/info.rs:102 src/info.rs:249\nmsgid \"Out Of Date\"\nmsgstr \"Obsoleto\"\n\n#: src/info.rs:103 src/info.rs:254\nmsgid \"ID\"\nmsgstr \"ID\"\n\n#: src/info.rs:104 src/info.rs:255\nmsgid \"Package Base ID\"\nmsgstr \"ID base del pacchetto\"\n\n#: src/info.rs:105 src/info.rs:256\nmsgid \"Keywords\"\nmsgstr \"Parole chiave\"\n\n#: src/info.rs:106 src/info.rs:258\nmsgid \"Snapshot URL\"\nmsgstr \"URL dello snapshot\"\n\n#: src/info.rs:107 src/info.rs:203\nmsgid \"Path\"\nmsgstr \"\"\n\n#: src/install.rs:166 src/query.rs:48 src/lib.rs:101\nmsgid \"error:\"\nmsgstr \"errore:\"\n\n#: src/install.rs:167\nmsgid \"could not get news\"\nmsgstr \"impossibile ottenere le notizie\"\n\n#: src/install.rs:172 src/install.rs:1127\nmsgid \"Proceed with installation?\"\nmsgstr \"Proseguire con l'installazione?\"\n\n#: src/install.rs:207\n#, fuzzy\nmsgid \"could not find .SRCINFO for '{}'\"\nmsgstr \"impossibile trovare .SRCINFO per '{}'\"\n\n#: src/install.rs:353\nmsgid \"could not find package '{pkg}' in package list for '{base}'\"\nmsgstr \"\"\n\"impossibile trovare il pacchetto '{pkg}' nella lista di pacchetti per \"\n\"'{base}'\"\n\n#: src/install.rs:451\nmsgid \"packages failed to build: {}\"\nmsgstr \"compilazione fallita per i seguenti pacchetti: {}\"\n\n#: src/install.rs:523\nmsgid \"adding {} to the install list\"\nmsgstr \"{} aggiunto alla lista d'installazione\"\n\n#: src/install.rs:553 src/install.rs:568\nmsgid \"failed to download sources for '{}'\"\nmsgstr \"Impossibile scaricare il codice sorgente per '{}'\"\n\n#: src/install.rs:577 src/install.rs:603 src/install.rs:611\nmsgid \"failed to build '{}'\"\nmsgstr \"compilazione fallita per '{}'\"\n\n#: src/install.rs:580 src/install.rs:784\nmsgid \"{}: parsing pkg list...\"\nmsgstr \"{}: lettura lista pacchetti in corso...\"\n\n#: src/install.rs:584\n#, fuzzy\nmsgid \"package list does not match srcinfo\"\nmsgstr \"nessun pacchetto corrisponde alla ricerca\"\n\n#: src/install.rs:618\nmsgid \"{}-{} is up to date -- skipping build\"\nmsgstr \"{}-{} è aggiornato -- compilazione ignorata\"\n\n#: src/install.rs:775\nmsgid \"can't build {base}, deps not satisfied: {deps}\"\nmsgstr \"\"\n\n#: src/install.rs:846\nmsgid \"fetching devel info...\"\nmsgstr \"salvando le informazioni sulle repository di sviluppo...\"\n\n#: src/install.rs:911 src/lib.rs:240\nmsgid \"no targets specified (use -h for help)\"\nmsgstr \"non è stato specificato nessun pacchetto (usa -h per un aiuto)\"\n\n#: src/install.rs:1008 src/install.rs:1097 src/search.rs:450 src/search.rs:476\n#: src/lib.rs:304\nmsgid \" there is nothing to do\"\nmsgstr \" non c'è nulla da fare\"\n\n#: src/install.rs:1016\nmsgid \"Resolving dependencies...\"\nmsgstr \"Risoluzione delle dipendenze in corso...\"\n\n#: src/install.rs:1077\nmsgid \"can't install AUR package as root\"\nmsgstr \"non è possibile installare pacchetti AUR come root\"\n\n#: src/install.rs:1080\nmsgid \"--downloadonly can't be used for AUR packages\"\nmsgstr \"\"\n\n#: src/install.rs:1113\nmsgid \"Remove make dependencies after install?\"\nmsgstr \"Rimuovere le dipendenze di compilazione dopo l'installazione?\"\n\n#: src/install.rs:1124\nmsgid \"Proceed to review?\"\nmsgstr \"Proseguire alla revisione?\"\n\n#: src/install.rs:1177\nmsgid \"no architecture\"\nmsgstr \"nessuna architettura\"\n\n#: src/install.rs:1191\nmsgid \"The following packages are not compatible with your architecture:\"\nmsgstr \"I seguenti pacchetti non sono compatibili con la tua architettura:\"\n\n#: src/install.rs:1205\nmsgid \"Would you like to try build them anyway?\"\nmsgstr \"Vuoi provare a compilarli comunque?\"\n\n#: src/install.rs:1349\nmsgid \"duplicate packages: {}\"\nmsgstr \"pacchetti duplicati: {}\"\n\n#: src/install.rs:1353\nmsgid \"could not find all required packages:\"\nmsgstr \"impossibile trovare tutti i pacchetti necessari:\"\n\n#: src/install.rs:1365\nmsgid \"\"\n\"\\n\"\n\"    {missing} (wanted by: {stack})\"\nmsgstr \"\"\n\"\\n\"\n\"    {missing} (richiesto da: {stack})\"\n\n#: src/install.rs:1379 src/install.rs:2122\nmsgid \"{}-{} is up to date -- skipping\"\nmsgstr \"{}-{} è aggiornato -- sarà ignorato\"\n\n#: src/install.rs:1387\nmsgid \"Calculating conflicts...\"\nmsgstr \"Analizzando i conflitti...\"\n\n#: src/install.rs:1410\nmsgid \"Calculating inner conflicts...\"\nmsgstr \"Analizzando i conflitti...\"\n\n#: src/install.rs:1422\nmsgid \"Inner conflicts found:\"\nmsgstr \"Conflitti interni:\"\n\n#: src/install.rs:1444\nmsgid \"Conflicts found:\"\nmsgstr \"Conflitti:\"\n\n#: src/install.rs:1467\nmsgid \"Conflicting packages will have to be confirmed manually\"\nmsgstr \"I pacchetti in conflitto dovranno essere confermati manualmente\"\n\n#: src/install.rs:1471\nmsgid \"can not install conflicting packages with --noconfirm\"\nmsgstr \"impossibile installare pacchetti in conflitto con --noconfirm \"\n\n#: src/install.rs:1599\nmsgid \"failed to execute file manager: {}\"\nmsgstr \"impossibile lanciare il gestore di file: {}\"\n\n#: src/install.rs:1602\n#, fuzzy\nmsgid \"file manager '{}' did not execute successfully\"\nmsgstr \"l'esecuzione del gestore di file è fallita\"\n\n#: src/install.rs:1620\nmsgid \"failed to read dir: {}\"\nmsgstr \"impossibile accedere alla directory: {}\"\n\n#: src/install.rs:1677\nmsgid \"failed to open: {}\"\nmsgstr \"impossibile aprire: {}\"\n\n#: src/install.rs:1697\nmsgid \"binary file: {}\"\nmsgstr \"file binario: {}\"\n\n#: src/install.rs:1719 src/install.rs:1790\nmsgid \"Accept changes?\"\nmsgstr \"\"\n\n#: src/install.rs:1759\nmsgid \"Paging with less. Press 'q' to quit or 'h' for help.\"\nmsgstr \"\"\n\n#: src/install.rs:1794\nmsgid \" nothing new to review\"\nmsgstr \" nessuna nuova revisione\"\n\n#: src/install.rs:2070\nmsgid \"can't find package name in packagelist: {}\"\nmsgstr \"\"\n\"impossibile trovare il nome del pacchetto nella lista dei \"\n\"pacchetti(packagelist): {}\"\n\n#: src/install.rs:2142\nmsgid \"Signing packages...\"\nmsgstr \"Firmando i pacchetti...\"\n\n#: src/install.rs:2172\nmsgid \"{}-{} is up to date -- skipping install\"\nmsgstr \"{}-{} è aggiornato -- saltando l'installazione\"\n\n#: src/keys.rs:57\nmsgid \"keys need to be imported:\"\nmsgstr \"le chiavi devono essere importate:\"\n\n#: src/keys.rs:62\nmsgid \"     {key} wanted by: {base}\"\nmsgstr \"     {key} richiesto da {base}\"\n\n#: src/news.rs:57\nmsgid \"No Date \"\nmsgstr \"Nessuna Data \"\n\n#: src/news.rs:60\nmsgid \"No Title\"\nmsgstr \"Nessun Titolo\"\n\n#: src/news.rs:69\nmsgid \"no new news\"\nmsgstr \"nessuna nuova notizia\"\n\n#: src/pkgbuild.rs:91\n#, fuzzy\nmsgid \"repo {} does not have a URL or Path\"\nmsgstr \"l'opzione '{}' non accetta valori\"\n\n#: src/pkgbuild.rs:153\nmsgid \"repo {} not downloaded (use -Sy --pkgbuilds to download)\"\nmsgstr \"\"\n\n#: src/pkgbuild.rs:200\nmsgid \"Generating .SRCINFO for {repo}/{dir}...\"\nmsgstr \"\"\n\n#: src/pkgbuild.rs:278\n#, fuzzy\nmsgid \"failed to parse srcinfo \\\"{}\\\"\"\nmsgstr \"errore nel leggere il srcinfo per '{}'\"\n\n#: src/pkgbuild.rs:368\n#, fuzzy\nmsgid \"Downloading PKGBUILD Repos...\"\nmsgstr \"Scaricando i PKGBUILD...\"\n\n#: src/pkgbuild.rs:422\nmsgid \"failed to parse srcinfo generated by makepkg\"\nmsgstr \"errore nel leggere il srcinfo generato da makepkg\"\n\n#: src/query.rs:151\nmsgid \" [ignored]\"\nmsgstr \" [ignorato]\"\n\n#: src/repo.rs:253\nmsgid \"failed to get current exe\"\nmsgstr \"impossibile ottenire l'eseguibie attuale\"\n\n#: src/repo.rs:298\nmsgid \"syncing local databases...\"\nmsgstr \"sincronizzazione dei database locali in corso...\"\n\n#: src/repo.rs:304\nmsgid \"  nothing to do\"\nmsgstr \"  nulla da fare\"\n\n#: src/repo.rs:335\n#, fuzzy\nmsgid \"there is nothing to do\"\nmsgstr \" non c'è nulla da fare\"\n\n#: src/repo.rs:341\n#, fuzzy\nmsgid \"Packages\"\nmsgstr \"ID base del pacchetto\"\n\n#: src/repo.rs:354\n#, fuzzy\nmsgid \"Proceed with removal?\"\nmsgstr \"Proseguire alla revisione?\"\n\n#: src/repo.rs:415\nmsgid \" [installed: {}]\"\nmsgstr \" [installato: {}]\"\n\n#: src/repo.rs:417 src/sync.rs:144\nmsgid \" [installed]\"\nmsgstr \" [installato]\"\n\n#: src/search.rs:41\nmsgid \"aur search failed\"\nmsgstr \"ricerca aur fallita\"\n\n#: src/search.rs:285 src/search.rs:338 src/search.rs:410\n#, fuzzy\nmsgid \"[installed: {}]\"\nmsgstr \" [installato: {}]\"\n\n#: src/search.rs:287 src/search.rs:340 src/search.rs:412\n#, fuzzy\nmsgid \"[installed]\"\nmsgstr \" [installato]\"\n\n#: src/search.rs:332\n#, fuzzy\nmsgid \"[out-of-date: {}]\"\nmsgstr \"[Obsoleto: {}]\"\n\n#: src/search.rs:347\n#, fuzzy\nmsgid \"[orphaned]\"\nmsgstr \"[Orfano]\"\n\n#: src/search.rs:491\nmsgid \"no packages match search\"\nmsgstr \"nessun pacchetto corrisponde alla ricerca\"\n\n#: src/search.rs:529\nmsgid \"Packages to install (eg: 1 2 3, 1-3):\"\nmsgstr \"Pacchetti da installare (ad esempio: 1 2 3, 1-3):\"\n\n#: src/search.rs:531\n#, fuzzy\nmsgid \"Select packages (eg: 1 2 3, 1-3):\"\nmsgstr \"Pacchetti da installare (ad esempio: 1 2 3, 1-3):\"\n\n#: src/stats.rs:90\nmsgid \"Total installed packages: {}\"\nmsgstr \"Totale pacchetti installati: {}\"\n\n#: src/stats.rs:94\nmsgid \"Aur packages: {}\"\nmsgstr \"Pacchetti nella AUR: {}\"\n\n#: src/stats.rs:98\nmsgid \"Repo packages: {}\"\nmsgstr \"Pacchetti nella Repo: {}\"\n\n#: src/stats.rs:102\nmsgid \"Explicitly installed packages: {}\"\nmsgstr \"Pacchetti installati esplicitamente: {}\"\n\n#: src/stats.rs:106\nmsgid \"Total Size occupied by packages: {}\"\nmsgstr \"Spazio totale occupato dai pacchetti: {}\"\n\n#: src/stats.rs:113\nmsgid \"Ten biggest packages:\"\nmsgstr \"I dieci pacchetti più grandi:\"\n\n#: src/upgrade.rs:126\n#, fuzzy\nmsgid \"Looking for PKGBUILD upgrades...\"\nmsgstr \"Controllo di aggiornamenti dalla AUR in corso\"\n\n#: src/upgrade.rs:134\n#, fuzzy\nmsgid \"Looking for AUR upgrades...\"\nmsgstr \"Controllo di aggiornamenti dalla AUR in corso\"\n\n#: src/upgrade.rs:165\n#, fuzzy\nmsgid \"Looking for devel upgrades...\"\nmsgstr \"Controllo di aggiornamenti da repository di sviluppo in corso\"\n\n#: src/upgrade.rs:193 src/upgrade.rs:206\nmsgid \"warning:\"\nmsgstr \"attenzione:\"\n\n#: src/upgrade.rs:195 src/upgrade.rs:208\nmsgid \"{pkg}: ignoring package upgrade ({old} => {new})\"\nmsgstr \"{pkg}: aggiornamento del pacchetto ignorato ({old} => {new})\"\n\n#: src/upgrade.rs:400\nmsgid \"Packages to exclude (eg: 1 2 3, 1-3):\"\nmsgstr \"Pacchetti da escludere (ad esempio: 1 2 3, 1-3):\"\n\n#: src/util.rs:121\nmsgid \"[Y/n]:\"\nmsgstr \"[S/n]:\"\n\n#: src/util.rs:123\nmsgid \"[y/N]:\"\nmsgstr \"[s/N]:\"\n\n#: src/util.rs:142\nmsgid \"y\"\nmsgstr \"s\"\n\n#: src/util.rs:142\nmsgid \"yes\"\nmsgstr \"sì\"\n\n#: src/util.rs:300\nmsgid \"Enter a number (default=1): \"\nmsgstr \"Inserisci un numero (predefinito=1): \"\n\n#: src/util.rs:317\nmsgid \"invalid number: {}\"\nmsgstr \"numero non valido: {}\"\n\n#: src/util.rs:327\nmsgid \"invalid value: {n} is not between 1 and {max}\"\nmsgstr \"valore non valido: {n} non è compreso tra 1 e {max}\"\n\n#: src/resolver.rs:83\nmsgid \"There are {} members in group\"\nmsgstr \"Il gruppo contiene {} membri\"\n\n#: src/resolver.rs:108\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Enter a selection (default=all): \"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Inserisci una selezione (predefinito=tutti): \"\n\n#: src/lib.rs:206\nmsgid \"can not use chroot builds: devtools is not installed\"\nmsgstr \"impossibile compilare con chroot: devtools non è installato\"\n\n#: src/lib.rs:313\n#, fuzzy\nmsgid \"no operation specified (use -h for help)\"\nmsgstr \"non è stato specificato nessun pacchetto (usa -h per un aiuto)\"\n\n#~ msgid \"[Installed: {}]\"\n#~ msgstr \"[Installato: {}]\"\n\n#~ msgid \"[Installed]\"\n#~ msgstr \"[Installato]\"\n\n#~ msgid \"could not get current directory\"\n#~ msgstr \"impossibile ottenere la directory attuale\"\n\n#~ msgid \"can not get repo packages: asp is not installed\"\n#~ msgstr \"\"\n#~ \"impossibile ottenere pacchetti della repository: asp non è installato\"\n\n#~ msgid \"Missing ABS packages \"\n#~ msgstr \"Pacchetti ABS mancanti \"\n\n#~ msgid \"does not contain PKGBUILD: skipping\"\n#~ msgstr \"non contiene PKGBUILD: saltando...\"\n\n#~ msgid \"{} is not installed: can not get repo packages\"\n#~ msgstr \"\"\n#~ \"{} non è installato: non è possibile ottenere pacchetti della repository\"\n\n#~ msgid \"asp returned {}\"\n#~ msgstr \"asp ha restituito {}\"\n\n#, fuzzy\n#~ msgid \"Generating .SRCINFO for {dir}...\"\n#~ msgstr \"impossibile trovare .SRCINFO per '{}'\"\n\n#, fuzzy\n#~ msgid \"error: unknown section '{}'\"\n#~ msgstr \"sezione sconosciuta '{}'\"\n\n#~ msgid \"can't build package as root\"\n#~ msgstr \"impossibile compilare pacchetti come root\"\n\n#~ msgid \"failed to build\"\n#~ msgstr \"compilazione fallita\"\n\n#~ msgid \"parsing pkg list...\"\n#~ msgstr \"lettura lista dei pacchetti in corso...\"\n\n#~ msgid \"\"\n#~ \"{} is a directory\\n\"\n#~ \"\\n\"\n#~ msgstr \"\"\n#~ \"{} è una directory\\n\"\n#~ \"\\n\"\n\n#~ msgid \"n\"\n#~ msgstr \"n\"\n\n#~ msgid \"no\"\n#~ msgstr \"no\"\n"
  },
  {
    "path": "po/ja.po",
    "content": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE paru'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the paru package.\n# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: paru VERSION\\n\"\n\"Report-Msgid-Bugs-To: https://github.com/Morganamilo/paru\\n\"\n\"POT-Creation-Date: 2026-01-08 17:40+0000\\n\"\n\"PO-Revision-Date: 2022-06-30 21:10+0900\\n\"\n\"Last-Translator: livewing.net <dev@livewing.net>\\n\"\n\"Language-Team: \\n\"\n\"Language: ja\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=1; plural=0;\\n\"\n\"X-Generator: Poedit 3.0.1\\n\"\n\n#: src/clean.rs:36\nmsgid \"Do you want to clean ALL AUR packages from cache?\"\nmsgstr \"キャッシュから全ての AUR パッケージを削除しますか？\"\n\n#: src/clean.rs:38\nmsgid \"Do you want to clean all other AUR packages from cache?\"\nmsgstr \"キャッシュから他の全ての AUR パッケージを削除しますか？\"\n\n#: src/clean.rs:41\nmsgid \"Clone Directory: {}\"\nmsgstr \"複製ディレクトリ: {}\"\n\n#: src/clean.rs:47\nmsgid \"\"\n\"\\n\"\n\"Diff Directory: {}\"\nmsgstr \"\"\n\"\\n\"\n\"差分ディレクトリ: {}\"\n\n#: src/clean.rs:49\nmsgid \"Do you want to remove all saved diffs?\"\nmsgstr \"保存された全ての差分を削除しますか？\"\n\n#: src/clean.rs:65\nmsgid \"can't open diff dir: {}\"\nmsgstr \"差分ディレクトリを開けません: {}\"\n\n#: src/clean.rs:76 src/clean.rs:180\nmsgid \"could not remove '{}'\"\nmsgstr \"'{}' を削除できませんでした\"\n\n#: src/clean.rs:95\nmsgid \"can't open clone dir: {}\"\nmsgstr \"複製ディレクトリを開けません: {}\"\n\n#: src/clean.rs:141\n#, fuzzy\nmsgid \"could not parse .SRCINFO for '{}'\"\nmsgstr \"'{}' の .SRCINFO を見つけられませんでした\"\n\n#: src/command_line.rs:134\nmsgid \"option {} expects a value\"\nmsgstr \"オプション {} は値が必要です\"\n\n#: src/command_line.rs:165 src/command_line.rs:382\nmsgid \"option {} does not allow a value\"\nmsgstr \"オプション {} は値を許可しません\"\n\n#: src/command_line.rs:373\nmsgid \"unknown option --{}\"\nmsgstr \"不明なオプション --{}\"\n\n#: src/command_line.rs:376\nmsgid \"unknown option -{}\"\nmsgstr \"不明なオプション -{}\"\n\n#: src/completion.rs:26 src/search.rs:179 src/sync.rs:113\n#, fuzzy\nmsgid \"failed to decode package list\"\nmsgstr \"ソースのダウンロードに失敗しました\"\n\n#: src/completion.rs:35\nmsgid \"failed to open cache file '{}'\"\nmsgstr \"キャッシュファイル '{}' のオープンに失敗しました\"\n\n#: src/completion.rs:83\nmsgid \"could not update aur cache\"\nmsgstr \"AUR キャッシュを更新できませんでした\"\n\n#: src/config.rs:179\nmsgid \"invalid value '{val}' for key '{key}', expected: {exp}\"\nmsgstr \"キー '{key}' に対して値 '{val}' は不正です、期待される値: {exp}\"\n\n#: src/config.rs:332\n#, fuzzy\nmsgid \"unknown mode {}\"\nmsgstr \"不明なオプション -{}\"\n\n#: src/config.rs:564\nmsgid \"section can not be called {}\"\nmsgstr \"\"\n\n#: src/config.rs:581\nmsgid \"failed to find cache directory\"\nmsgstr \"キャッシュディレクトリが見つかりません\"\n\n#: src/config.rs:584\nmsgid \"failed to find config directory\"\nmsgstr \"設定ディレクトリが見つかりません\"\n\n#: src/config.rs:588\n#, fuzzy\nmsgid \"failed to find state directory\"\nmsgstr \"キャッシュディレクトリが見つかりません\"\n\n#: src/config.rs:635\nmsgid \"config file '{}' does not exist\"\nmsgstr \"設定ファイル '{}' は存在しません\"\n\n#: src/config.rs:684\nmsgid \"only one operation may be used at a time\"\nmsgstr \"一度にできる操作はひとつだけです\"\n\n#: src/config.rs:795\nmsgid \"no local repo named {}\"\nmsgstr \"\"\n\n#: src/config.rs:821\nmsgid \"can not find local repo '{}' in pacman.conf\"\nmsgstr \"pacman.conf でローカルリポジトリ '{}' を見つけられません\"\n\n#: src/config.rs:866\nmsgid \"failed to initialize alpm: root={} dbpath={}\"\nmsgstr \"alpm を初期化できません: root={} dbpath={}\"\n\n#: src/config.rs:941 src/config.rs:1102\nmsgid \"value can not be empty for key '{}'\"\nmsgstr \"キー '{}' の値は空にできません\"\n\n#: src/config.rs:957\nmsgid \"key '{}' does not belong to a section\"\nmsgstr \"キー '{}' はセクションに属しません\"\n\n#: src/config.rs:971 src/config.rs:988 src/config.rs:990 src/config.rs:1005\nmsgid \"key can not be empty\"\nmsgstr \"キーは空にできません\"\n\n#: src/config.rs:981\n#, fuzzy\nmsgid \"error: unknown option '{}' in repo\"\nmsgstr \"エラー: セクション [bin] の不明なオプション '{}'\"\n\n#: src/config.rs:991\nmsgid \"key can not contain null bytes\"\nmsgstr \"キーに null バイトを含めることはできません\"\n\n#: src/config.rs:994\nmsgid \"value can not contain null bytes\"\nmsgstr \"値に null バイトを含めることはできません\"\n\n#: src/config.rs:1030\nmsgid \"error: unknown option '{}' in section [bin]\"\nmsgstr \"エラー: セクション [bin] の不明なオプション '{}'\"\n\n#: src/config.rs:1150\nmsgid \"error: unknown option '{}' in section [options]\"\nmsgstr \"エラー: セクション [options] の不明なオプション '{}'\"\n\n#: src/config.rs:1155\nmsgid \"option '{}' does not take a value\"\nmsgstr \"オプション '{}' は値をとりません\"\n\n#: src/config.rs:1187 src/resolver.rs:136\nmsgid \"There are {n} providers available for {pkg}:\"\nmsgstr \"{n} 個の選択肢が {pkg} にはあります:\"\n\n#: src/config.rs:1201 src/info.rs:85 src/info.rs:190 src/info.rs:224\n#: src/resolver.rs:95 src/resolver.rs:144\nmsgid \"Repository\"\nmsgstr \"リポジトリ\"\n\n#: src/config.rs:1227\nmsgid \"  failed to sync {}\"\nmsgstr \"  {} の同期に失敗しました\"\n\n#: src/devel.rs:136 src/download.rs:207\nmsgid \"Querying AUR...\"\nmsgstr \"AUR を検索しています...\"\n\n#: src/devel.rs:157 src/devel.rs:181 src/install.rs:203\nmsgid \"failed to parse srcinfo for '{}'\"\nmsgstr \"'{}' の SRCINFO の解析に失敗しました\"\n\n#: src/devel.rs:201\nmsgid \"Looking for devel repos...\"\nmsgstr \"開発リポジトリを検索しています...\"\n\n#: src/devel.rs:210\nmsgid \"failed to save devel info\"\nmsgstr \"開発情報の保存に失敗しました\"\n\n#: src/devel.rs:218\n#, fuzzy\nmsgid \"failed to create state directory: {}\"\nmsgstr \"キャッシュディレクトリが見つかりません\"\n\n#: src/devel.rs:233\n#, fuzzy\nmsgid \"failed to create temporary file: {}\"\nmsgstr \"ファイルマネージャの実行に失敗しました\"\n\n#: src/devel.rs:238\n#, fuzzy\nmsgid \"failed to write to temporary file: {}\"\nmsgstr \"ディレクトリの読み込みに失敗しました: {}\"\n\n#: src/devel.rs:244\nmsgid \"failed to rename '{temp}' to '{devel_toml}\"\nmsgstr \"\"\n\n#: src/devel.rs:490\nmsgid \"package does not have an update\"\nmsgstr \"パッケージに更新はありません\"\n\n#: src/devel.rs:536\nmsgid \"failed to lookup: {}\"\nmsgstr \"検索に失敗: {}\"\n\n#: src/devel.rs:564\n#, fuzzy\nmsgid \"invalid toml: {}\"\nmsgstr \"不正な JSON: {}\"\n\n#: src/download.rs:100\nmsgid \"packages not in the AUR: \"\nmsgstr \"AUR にないパッケージ: \"\n\n#: src/download.rs:111\nmsgid \"marked out of date: \"\nmsgstr \"古いバージョンとしてマーク: \"\n\n#: src/download.rs:122\nmsgid \"orphans: \"\nmsgstr \"孤児: \"\n\n#: src/download.rs:260\nmsgid \"downloading: {pkg}\"\nmsgstr \"{pkg} をダウンロードしています\"\n\n#: src/download.rs:279 src/download.rs:602 src/info.rs:55 src/info.rs:180\n#: src/query.rs:49\nmsgid \"package '{}' was not found\"\nmsgstr \"パッケージ '{}' は見つかりませんでした\"\n\n#: src/download.rs:291\n#, fuzzy\nmsgid \"duplicate PKGBUILD: {}\"\nmsgstr \"重複したパッケージ: {}\"\n\n#: src/download.rs:307\nmsgid \"package '{}' exists but has no PKGBUILD -- skipping\"\nmsgstr \"\"\n\n#: src/download.rs:340\nmsgid \"Downloading PKGBUILDs...\"\nmsgstr \"PKGBUILD をダウンロードしています...\"\n\n#: src/download.rs:344\nmsgid \" PKGBUILDs up to date\"\nmsgstr \" PKGBUILD は最新です\"\n\n#: src/exec.rs:72\nmsgid \"failed to run:\"\nmsgstr \"実行に失敗しました:\"\n\n#: src/exec.rs:174\nmsgid \"Pacman is currently in use, please wait...\"\nmsgstr \"現在 Pacman は使用中です、しばらくお待ちください...\"\n\n#: src/fmt.rs:24 src/info.rs:275 src/search.rs:293 src/search.rs:350\nmsgid \"None\"\nmsgstr \"なし\"\n\n#: src/fmt.rs:245\nmsgid \"Repo\"\nmsgstr \"リポジトリ\"\n\n#: src/fmt.rs:252\nmsgid \"Repo Make\"\nmsgstr \"リポジトリ ビルド\"\n\n#: src/fmt.rs:272\nmsgid \"Pkgbuilds Make\"\nmsgstr \"\"\n\n#: src/fmt.rs:274\nmsgid \"Aur Make\"\nmsgstr \"AUR ビルド\"\n\n#: src/fmt.rs:319\nmsgid \"Repo ({})\"\nmsgstr \"リポジトリ ({})\"\n\n#: src/fmt.rs:327\nmsgid \"Old Version\"\nmsgstr \"古いバージョン\"\n\n#: src/fmt.rs:328\nmsgid \"New Version\"\nmsgstr \"新しいバージョン\"\n\n#: src/fmt.rs:329\nmsgid \"Make Only\"\nmsgstr \"Makeのみ\"\n\n#: src/fmt.rs:330\nmsgid \"Yes\"\nmsgstr \"はい\"\n\n#: src/fmt.rs:331 src/info.rs:221\nmsgid \"No\"\nmsgstr \"いいえ\"\n\n#: src/fmt.rs:419\nmsgid \"insufficient columns available for table display\"\nmsgstr \"テーブル表示するためのカラム数が足りません\"\n\n#: src/help.rs:4\nmsgid \"Usage:\"\nmsgstr \"使用法:\"\n\n#: src/help.rs:5\nmsgid \"    paru\"\nmsgstr \"    paru\"\n\n#: src/help.rs:6\nmsgid \"    paru <operation> [...]\"\nmsgstr \"    paru <オペレーション> [...]\"\n\n#: src/help.rs:7\nmsgid \"    paru <package(s)>\"\nmsgstr \"    paru <パッケージ>\"\n\n#: src/help.rs:9\nmsgid \"Pacman operations:\"\nmsgstr \"Pacman オペレーション:\"\n\n#: src/help.rs:10\nmsgid \"    paru {-h --help}\"\nmsgstr \"    paru {-h --help}\"\n\n#: src/help.rs:11\nmsgid \"    paru {-V --version}\"\nmsgstr \"    paru {-V --version}\"\n\n#: src/help.rs:12\nmsgid \"    paru {-D --database}    <options> <package(s)>\"\nmsgstr \"    paru {-D --database}    <オプション> <パッケージ>\"\n\n#: src/help.rs:13\nmsgid \"    paru {-F --files}       [options] [package(s)]\"\nmsgstr \"    paru {-F --files}       [オプション] [パッケージ]\"\n\n#: src/help.rs:14\nmsgid \"    paru {-Q --query}       [options] [package(s)]\"\nmsgstr \"    paru {-Q --query}       [オプション] [パッケージ]\"\n\n#: src/help.rs:15\nmsgid \"    paru {-R --remove}      [options] <package(s)>\"\nmsgstr \"    paru {-R --remove}      [オプション] <パッケージ>\"\n\n#: src/help.rs:16\nmsgid \"    paru {-S --sync}        [options] [package(s)]\"\nmsgstr \"    paru {-S --sync}        [オプション] [パッケージ]\"\n\n#: src/help.rs:17\nmsgid \"    paru {-T --deptest}     [options] [package(s)]\"\nmsgstr \"    paru {-T --deptest}     [オプション] [パッケージ]\"\n\n#: src/help.rs:18\nmsgid \"    paru {-U --upgrade}     [options] [file(s)]\"\nmsgstr \"    paru {-U --upgrade}     [オプション] [ファイル]\"\n\n#: src/help.rs:20\nmsgid \"New operations:\"\nmsgstr \"新しいオペレーション:\"\n\n#: src/help.rs:21\nmsgid \"    paru {-P --show}        [options]\"\nmsgstr \"    paru {-P --show}        [オプション]\"\n\n#: src/help.rs:22\nmsgid \"    paru {-G --getpkgbuild} [package(s)]\"\nmsgstr \"    paru {-G --getpkgbuild} [パッケージ]\"\n\n#: src/help.rs:23\n#, fuzzy\nmsgid \"    paru {-B --build}       [dir(s)]\"\nmsgstr \"    paru {-P --show}        [オプション]\"\n\n#: src/help.rs:25\nmsgid \"If no arguments are provided 'paru -Syu' will be performed\"\nmsgstr \"引数を指定しなかった場合 'paru -Syu' が実行されます\"\n\n#: src/help.rs:27\nmsgid \"Options without operation:\"\nmsgstr \"オペレーションなしでのオプション:\"\n\n#: src/help.rs:28\nmsgid \"    -c --clean            Remove unneeded dependencies\"\nmsgstr \"\"\n\"    -c --clean            どのパッケージからも必要とされないパッケージを削除\"\n\n#: src/help.rs:29\nmsgid \"\"\n\"       --gendb            Generates development package DB used for updating\"\nmsgstr \"\"\n\"       --gendb            アップデートのために開発パッケージデータベースを生\"\n\"成\"\n\n#: src/help.rs:31\nmsgid \"New options:\"\nmsgstr \"新しいオプション:\"\n\n#: src/help.rs:32\nmsgid \"       --repo              Assume targets are from the repositories\"\nmsgstr \"       --repo              対象がリポジトリのものであると仮定\"\n\n#: src/help.rs:33\n#, fuzzy\nmsgid \"\"\n\"       --pkgbuilds         Assume targets are from pkgbuild repositories\"\nmsgstr \"       --repo              対象がリポジトリのものであると仮定\"\n\n#: src/help.rs:34\nmsgid \"    -a --aur               Assume targets are from the AUR\"\nmsgstr \"    -a --aur               対象が AUR のものであると仮定\"\n\n#: src/help.rs:35\nmsgid \"    --mode      <mode>     Sets where paru looks for targets\"\nmsgstr \"\"\n\n#: src/help.rs:37\nmsgid \"\"\n\"    --interactive          Enable interactive package selection for -S, -R, \"\n\"-Ss and -Qs\"\nmsgstr \"\"\n\n#: src/help.rs:39\nmsgid \"    --aururl    <url>      Set an alternative AUR URL\"\nmsgstr \"    --aururl    <url>      AUR の URL を指定\"\n\n#: src/help.rs:40\n#, fuzzy\nmsgid \"\"\n\"    --aurrpcur  <url>      Set an alternative URL for the AUR /rpc endpoint\"\nmsgstr \"    --aururl    <url>      AUR の URL を指定\"\n\n#: src/help.rs:41\nmsgid \"    --clonedir  <dir>      Directory used to download and run PKGBUILDs\"\nmsgstr \"\"\n\"    --clonedir  <dir>      PKGBUILD をダウンロードし実行するディレクトリを指\"\n\"定\"\n\n#: src/help.rs:43\nmsgid \"    --makepkg   <file>     makepkg command to use\"\nmsgstr \"    --makepkg   <file>     makepkg コマンドを指定\"\n\n#: src/help.rs:44\nmsgid \"    --mflags    <flags>    Pass arguments to makepkg\"\nmsgstr \"    --mflags    <flags>    makepkg に渡す引数を指定\"\n\n#: src/help.rs:45\nmsgid \"    --pacman    <file>     pacman command to use\"\nmsgstr \"    --pacman    <file>     pacman コマンドを指定\"\n\n#: src/help.rs:46\nmsgid \"    --git       <file>     git command to use\"\nmsgstr \"    --git       <file>     git コマンドを指定\"\n\n#: src/help.rs:47\nmsgid \"    --gitflags  <flags>    Pass arguments to git\"\nmsgstr \"    --gitflags  <flags>    git に渡す引数を指定\"\n\n#: src/help.rs:48\nmsgid \"    --sudo      <file>     sudo command to use\"\nmsgstr \"    --sudo      <file>     sudo コマンドを指定\"\n\n#: src/help.rs:49\nmsgid \"    --sudoflags <flags>    Pass arguments to sudo\"\nmsgstr \"    --sudoflags <flags>    sudo に渡す引数を指定\"\n\n#: src/help.rs:50\n#, fuzzy\nmsgid \"    --pkgctl    <file>     pkgctl command to use\"\nmsgstr \"    --git       <file>     git コマンドを指定\"\n\n#: src/help.rs:51\nmsgid \"    --bat       <file>     bat command to use\"\nmsgstr \"    --bat       <file>     bat コマンドを指定\"\n\n#: src/help.rs:52\nmsgid \"    --batflags  <flags>    Pass arguments to bat\"\nmsgstr \"    --batflags  <flags>    bat に渡す引数を指定\"\n\n#: src/help.rs:53\nmsgid \"    --gpg       <file>     gpg command to use\"\nmsgstr \"    --gpg       <file>     gpg コマンドを指定\"\n\n#: src/help.rs:54\nmsgid \"    --gpgflags  <flags>    Pass arguments to gpg\"\nmsgstr \"    --gpgflags  <flags>    gpg に渡す引数を指定\"\n\n#: src/help.rs:55\nmsgid \"    --fm        <file>     File manager to use for PKGBUILD review\"\nmsgstr \"\"\n\"    --fm        <file>     PKGBUILD のレビューに使うファイルマネージャを指定\"\n\n#: src/help.rs:56\nmsgid \"    --fmflags   <flags>    Pass arguments to file manager\"\nmsgstr \"    --fmflags   <flags>    ファイルマネージャに渡す引数を指定\"\n\n#: src/help.rs:58\nmsgid \"    --completioninterval   <n> Time in days to refresh completion cache\"\nmsgstr \"    --completioninterval   <n> 補完キャッシュを更新する日数を指定\"\n\n#: src/help.rs:59\nmsgid \"\"\n\"    --sortby    <field>    Sort AUR results by a specific field during search\"\nmsgstr \"    --sortby    <field>    AUR 検索で並び替えるフィールドを指定\"\n\n#: src/help.rs:60\nmsgid \"    --searchby  <field>    Search for packages using a specified field\"\nmsgstr \"    --searchby  <field>    検索するフィールドを指定\"\n\n#: src/help.rs:61\nmsgid \"\"\n\"    --limit     <limit>    Limits the number of items returned in a search\"\nmsgstr \"    --limit     <limit>    検索で表示されるアイテム数を制限する\"\n\n#: src/help.rs:62\nmsgid \"    -x --regex             Enable regex for aur search\"\nmsgstr \"    -x --regex             aur検索に正規表現を使用する\"\n\n#: src/help.rs:64\nmsgid \"    --skipreview           Skip the review process\"\nmsgstr \"    --skipreview           レビューをスキップ\"\n\n#: src/help.rs:65\nmsgid \"    --review               Don't skip the review process\"\nmsgstr \"    --review               レビューをスキップしない\"\n\n#: src/help.rs:66\nmsgid \"    --[no]upgrademenu      Show interactive menu to skip upgrades\"\nmsgstr \"\"\n\"    --[no]upgrademenu      アップグレードをスキップするための対話メニューを表\"\n\"示\"\n\n#: src/help.rs:67\nmsgid \"    --[no]removemake       Remove makedepends after install\"\nmsgstr \"\"\n\"    --[no]removemake       ビルド時の依存パッケージをインストール後に削除\"\n\n#: src/help.rs:68\nmsgid \"    --[no]cleanafter       Remove package sources after install\"\nmsgstr \"    --[no]cleanafter       パッケージのソースをインストール後に削除\"\n\n#: src/help.rs:69\nmsgid \"    --[no]rebuild          Always build target packages\"\nmsgstr \"    --[no]rebuild          対象を再ビルド\"\n\n#: src/help.rs:70\nmsgid \"    --[no]redownload       Always download PKGBUILDs of targets\"\nmsgstr \"    --[no]redownload       対象の PKGBUILD を再ダウンロード\"\n\n#: src/help.rs:72\nmsgid \"    --[no]pgpfetch         Prompt to import PGP keys from PKGBUILDs\"\nmsgstr \"\"\n\"    --[no]pgpfetch         PKGBUILD の PGP 鍵をインポートするかどうかを表示\"\n\n#: src/help.rs:73\nmsgid \"\"\n\"    --[no]useask           Automatically resolve conflicts using pacman's \"\n\"ask flag\"\nmsgstr \"\"\n\"    --[no]useask           pacman の ask フラグを使用して自動的に衝突を解決\"\n\n#: src/help.rs:74\nmsgid \"\"\n\"    --[no]savechanges      Commit changes to pkgbuilds made during review\"\nmsgstr \"\"\n\"    --[no]savechanges      レビュー中にpkgbuilldに加えた変更をコミットする\"\n\n#: src/help.rs:75\nmsgid \"    --[no]newsonupgrade    Print new news during sysupgrade\"\nmsgstr \"    --[no]newsonupgrade    アップグレード時にニュースを表示\"\n\n#: src/help.rs:76\nmsgid \"\"\n\"    --[no]combinedupgrade  Refresh then perform the repo and AUR upgrade \"\n\"together\"\nmsgstr \"\"\n\"    --[no]combinedupgrade  リポジトリパッケージと AUR パッケージを同時にアッ\"\n\"プグレード\"\n\n#: src/help.rs:77\nmsgid \"\"\n\"    --[no]batchinstall     Build multiple AUR packages then install them \"\n\"together\"\nmsgstr \"\"\n\"    --[no]batchinstall     複数の AUR パッケージをビルドしてからインストール\"\n\"する\"\n\n#: src/help.rs:78\nmsgid \"\"\n\"    --[no]provides         Look for matching providers when searching for \"\n\"packages\"\nmsgstr \"    --[no]provides         検索時にマッチする提供パッケージを探す\"\n\n#: src/help.rs:79\nmsgid \"    --[no]devel            Check development packages during sysupgrade\"\nmsgstr \"\"\n\"    --[no]devel            アップグレード時に開発パッケージのアップデートを確\"\n\"認\"\n\n#: src/help.rs:80\nmsgid \"\"\n\"    --[no]installdebug     Also install debug packages when a package \"\n\"provides them\"\nmsgstr \"\"\n\"    --[no]installdebug     パッケージが提供するデバッグパッケージもインストー\"\n\"ルする\"\n\n#: src/help.rs:81\nmsgid \"\"\n\"    --[no]sudoloop         Loop sudo calls in the background to avoid timeout\"\nmsgstr \"    --[no]sudoloop         sudo のタイムアウトを防止\"\n\n#: src/help.rs:82\nmsgid \"    --[no]chroot           Build packages in a chroot\"\nmsgstr \"    --[no]chroot           chroot してパッケージをビルド\"\n\n#: src/help.rs:83\nmsgid \"\"\n\"    --[no]failfast         Exit as soon as building an AUR package fails\"\nmsgstr \"\"\n\"    --[no]failfast         AURパッケージのビルドに失敗した場合直ちに終了する\"\n\n#: src/help.rs:84\nmsgid \"\"\n\"    --[no]keepsrc          Keep src/ and pkg/ dirs after building packages\"\nmsgstr \"    --[no]keepsrc          ビルド完了後にsrc/とpkg/をそのままにする\"\n\n#: src/help.rs:85\nmsgid \"    --[no]sign             Sign packages with gpg\"\nmsgstr \"    --[no]sign             gpg でパッケージに署名\"\n\n#: src/help.rs:86\nmsgid \"    --[no]signdb           Sign databases with gpg\"\nmsgstr \"    --[no]signdb           gpg でデータベースに署名\"\n\n#: src/help.rs:87\n#, fuzzy\nmsgid \"    --[no]localrepo        Build packages into a local repo\"\nmsgstr \"    --localrepo            ローカルリポジトリにパッケージをビルド\"\n\n#: src/help.rs:88\nmsgid \"\"\n\"    --nocheck              Don't resolve checkdepends or run the check \"\n\"function\"\nmsgstr \"\"\n\"    --nocheck              チェック時の依存関係の解決とチェックを行わない\"\n\n#: src/help.rs:90\nmsgid \"\"\n\"    --rootchrootpkgs       Packages to install in the root chroot (default: \"\n\"base-devel)\"\nmsgstr \"\"\n\n#: src/help.rs:92\nmsgid \"\"\n\"    --develsuffixes        Suffixes used to decide if a package is a devel \"\n\"package\"\nmsgstr \"\"\n\"    --develsuffixes        パッケージが開発パッケージであることを示す接尾辞を\"\n\"指定\"\n\n#: src/help.rs:93\n#, fuzzy\nmsgid \"    --ignoredevel          Ignore devel upgrades for specified packages\"\nmsgstr \"    --[no]provides         検索時にマッチする提供パッケージを探す\"\n\n#: src/help.rs:94\nmsgid \"\"\n\"    --bottomup             Shows AUR's packages first and then repository's\"\nmsgstr \"\"\n\"    --bottomup             AUR パッケージを表示後リポジトリパッケージを表示\"\n\n#: src/help.rs:95\nmsgid \"\"\n\"    --topdown              Shows repository's packages first and then AUR's\"\nmsgstr \"\"\n\"    --topdown              リポジトリパッケージを表示後 AUR パッケージを表示\"\n\n#: src/help.rs:97\nmsgid \"show specific options:\"\nmsgstr \"show 特有のオプション:\"\n\n#: src/help.rs:98\nmsgid \"    -c --complete         Used for completions\"\nmsgstr \"    -c --complete         補完で使用\"\n\n#: src/help.rs:99\nmsgid \"    -s --stats            Display system package statistics\"\nmsgstr \"    -s --stats            システムパッケージの統計を表示\"\n\n#: src/help.rs:100\nmsgid \"    -w --news             Print arch news\"\nmsgstr \"    -w --news             Arch Linux ニュースを表示\"\n\n#: src/help.rs:102\nmsgid \"getpkgbuild specific options:\"\nmsgstr \"getpkgbuild 特有のオプション:\"\n\n#: src/help.rs:103\nmsgid \"    -p --print            Print pkgbuild to stdout\"\nmsgstr \"    -p --print            PKGBUILD を標準出力に表示\"\n\n#: src/help.rs:104\nmsgid \"    -c --comments         Print AUR comments for pkgbuild\"\nmsgstr \"    -c --comments         AUR コメントを表示\"\n\n#: src/help.rs:105\nmsgid \"    -s --ssh              Clone package using SSH\"\nmsgstr \"    -s --ssh              パッケージをSSHを使用してクローンする\"\n\n#: src/help.rs:107\n#, fuzzy\nmsgid \"Build specific options:\"\nmsgstr \"getpkgbuild 特有のオプション:\"\n\n#: src/help.rs:108\nmsgid \"    -i --install          Install package as well as building\"\nmsgstr \"    -i --install          ビルドと同時にパッケージをインストール\"\n\n#: src/info.rs:86 src/info.rs:191 src/info.rs:225\nmsgid \"Name\"\nmsgstr \"名前\"\n\n#: src/info.rs:87 src/info.rs:192 src/info.rs:226\nmsgid \"Version\"\nmsgstr \"バージョン\"\n\n#: src/info.rs:88 src/info.rs:193 src/info.rs:227\nmsgid \"Description\"\nmsgstr \"説明\"\n\n#: src/info.rs:89 src/info.rs:195 src/info.rs:235\nmsgid \"Groups\"\nmsgstr \"グループ\"\n\n#: src/info.rs:90 src/info.rs:196 src/info.rs:236\nmsgid \"Licenses\"\nmsgstr \"ライセンス\"\n\n#: src/info.rs:91 src/info.rs:197 src/info.rs:237\nmsgid \"Provides\"\nmsgstr \"提供\"\n\n#: src/info.rs:92 src/info.rs:198 src/info.rs:238\nmsgid \"Depends On\"\nmsgstr \"依存パッケージ\"\n\n#: src/info.rs:93 src/info.rs:199 src/info.rs:239\nmsgid \"Make Deps\"\nmsgstr \"ビルド時の依存パッケージ\"\n\n#: src/info.rs:94 src/info.rs:200 src/info.rs:240\nmsgid \"Check Deps\"\nmsgstr \"チェック時の依存パッケージ\"\n\n#: src/info.rs:95 src/info.rs:201 src/info.rs:241\nmsgid \"Optional Deps\"\nmsgstr \"提案パッケージ\"\n\n#: src/info.rs:96 src/info.rs:202 src/info.rs:242\nmsgid \"Conflicts With\"\nmsgstr \"衝突パッケージ\"\n\n#: src/info.rs:97 src/info.rs:243\nmsgid \"Maintainer\"\nmsgstr \"メンテナ\"\n\n#: src/info.rs:98 src/info.rs:244\nmsgid \"Votes\"\nmsgstr \"投票\"\n\n#: src/info.rs:99 src/info.rs:245\nmsgid \"Popularity\"\nmsgstr \"人気度\"\n\n#: src/info.rs:100 src/info.rs:246\nmsgid \"First Submitted\"\nmsgstr \"最初の投稿\"\n\n#: src/info.rs:101 src/info.rs:247\nmsgid \"Last Modified\"\nmsgstr \"最終更新\"\n\n#: src/info.rs:102 src/info.rs:249\nmsgid \"Out Of Date\"\nmsgstr \"古いバージョンとしてマーク\"\n\n#: src/info.rs:103 src/info.rs:254\nmsgid \"ID\"\nmsgstr \"ID\"\n\n#: src/info.rs:104 src/info.rs:255\nmsgid \"Package Base ID\"\nmsgstr \"パッケージベース ID\"\n\n#: src/info.rs:105 src/info.rs:256\nmsgid \"Keywords\"\nmsgstr \"キーワード\"\n\n#: src/info.rs:106 src/info.rs:258\nmsgid \"Snapshot URL\"\nmsgstr \"スナップショット URL\"\n\n#: src/info.rs:107 src/info.rs:203\nmsgid \"Path\"\nmsgstr \"\"\n\n#: src/install.rs:166 src/query.rs:48 src/lib.rs:101\nmsgid \"error:\"\nmsgstr \"エラー:\"\n\n#: src/install.rs:167\nmsgid \"could not get news\"\nmsgstr \"ニュースを取得できませんでした\"\n\n#: src/install.rs:172 src/install.rs:1127\nmsgid \"Proceed with installation?\"\nmsgstr \"インストールを行いますか？\"\n\n#: src/install.rs:207\nmsgid \"could not find .SRCINFO for '{}'\"\nmsgstr \"'{}' の .SRCINFO を見つけられませんでした\"\n\n#: src/install.rs:353\nmsgid \"could not find package '{pkg}' in package list for '{base}'\"\nmsgstr \"'{base}' のパッケージリストにパッケージ '{pkg}' が見つかりませんでした\"\n\n#: src/install.rs:451\nmsgid \"packages failed to build: {}\"\nmsgstr \"パッケージのビルドに失敗しました: {}\"\n\n#: src/install.rs:523\nmsgid \"adding {} to the install list\"\nmsgstr \"インストールリストに {} を追加しています\"\n\n#: src/install.rs:553 src/install.rs:568\nmsgid \"failed to download sources for '{}'\"\nmsgstr \"'{}' のソースのダウンロードに失敗しました\"\n\n#: src/install.rs:577 src/install.rs:603 src/install.rs:611\nmsgid \"failed to build '{}'\"\nmsgstr \"'{}' のビルドに失敗しました\"\n\n#: src/install.rs:580 src/install.rs:784\nmsgid \"{}: parsing pkg list...\"\nmsgstr \"{}: パッケージリストを解析しています...\"\n\n#: src/install.rs:584\nmsgid \"package list does not match srcinfo\"\nmsgstr \"パッケージリストはsrcinfoに一致しません\"\n\n#: src/install.rs:618\nmsgid \"{}-{} is up to date -- skipping build\"\nmsgstr \"{}-{} は最新です -- ビルドをスキップ\"\n\n#: src/install.rs:775\nmsgid \"can't build {base}, deps not satisfied: {deps}\"\nmsgstr \"依存関係{deps}が満たされないため、{base}をビルドできませんでした\"\n\n#: src/install.rs:846\nmsgid \"fetching devel info...\"\nmsgstr \"開発情報を取得しています...\"\n\n#: src/install.rs:911 src/lib.rs:240\nmsgid \"no targets specified (use -h for help)\"\nmsgstr \"対象が指定されていません (-h を使ってヘルプを見て下さい)\"\n\n#: src/install.rs:1008 src/install.rs:1097 src/search.rs:450 src/search.rs:476\n#: src/lib.rs:304\nmsgid \" there is nothing to do\"\nmsgstr \" 何も行うことがありません\"\n\n#: src/install.rs:1016\nmsgid \"Resolving dependencies...\"\nmsgstr \"依存関係を解決しています...\"\n\n#: src/install.rs:1077\nmsgid \"can't install AUR package as root\"\nmsgstr \"root で AUR パッケージをインストールできません\"\n\n#: src/install.rs:1080\nmsgid \"--downloadonly can't be used for AUR packages\"\nmsgstr \"\"\n\n#: src/install.rs:1113\nmsgid \"Remove make dependencies after install?\"\nmsgstr \"ビルド時の依存パッケージをインストール後に削除しますか？\"\n\n#: src/install.rs:1124\nmsgid \"Proceed to review?\"\nmsgstr \"レビューを続行しますか？\"\n\n#: src/install.rs:1177\nmsgid \"no architecture\"\nmsgstr \"アーキテクチャなし\"\n\n#: src/install.rs:1191\nmsgid \"The following packages are not compatible with your architecture:\"\nmsgstr \"次のパッケージはアーキテクチャの互換性がありません:\"\n\n#: src/install.rs:1205\nmsgid \"Would you like to try build them anyway?\"\nmsgstr \"それでもビルドしますか？\"\n\n#: src/install.rs:1349\nmsgid \"duplicate packages: {}\"\nmsgstr \"重複したパッケージ: {}\"\n\n#: src/install.rs:1353\nmsgid \"could not find all required packages:\"\nmsgstr \"必要なパッケージを全て見つけることができません:\"\n\n#: src/install.rs:1365\nmsgid \"\"\n\"\\n\"\n\"    {missing} (wanted by: {stack})\"\nmsgstr \"\"\n\"\\n\"\n\"    {missing} (必要としているパッケージ: {stack})\"\n\n#: src/install.rs:1379 src/install.rs:2122\nmsgid \"{}-{} is up to date -- skipping\"\nmsgstr \"{}-{} は最新です -- スキップ\"\n\n#: src/install.rs:1387\nmsgid \"Calculating conflicts...\"\nmsgstr \"衝突を確認しています...\"\n\n#: src/install.rs:1410\nmsgid \"Calculating inner conflicts...\"\nmsgstr \"内部衝突を確認しています...\"\n\n#: src/install.rs:1422\nmsgid \"Inner conflicts found:\"\nmsgstr \"内部衝突が見つかりました:\"\n\n#: src/install.rs:1444\nmsgid \"Conflicts found:\"\nmsgstr \"衝突が見つかりました:\"\n\n#: src/install.rs:1467\nmsgid \"Conflicting packages will have to be confirmed manually\"\nmsgstr \"衝突しているパッケージを手動で確認する必要があります\"\n\n#: src/install.rs:1471\nmsgid \"can not install conflicting packages with --noconfirm\"\nmsgstr \"--noconfirm で衝突するパッケージをインストールできません\"\n\n#: src/install.rs:1599\nmsgid \"failed to execute file manager: {}\"\nmsgstr \"ファイルマネージャの実行に失敗しました\"\n\n#: src/install.rs:1602\n#, fuzzy\nmsgid \"file manager '{}' did not execute successfully\"\nmsgstr \"ファイルマネージャを正しく実行できません\"\n\n#: src/install.rs:1620\nmsgid \"failed to read dir: {}\"\nmsgstr \"ディレクトリの読み込みに失敗しました: {}\"\n\n#: src/install.rs:1677\nmsgid \"failed to open: {}\"\nmsgstr \"オープンに失敗しました: {}\"\n\n#: src/install.rs:1697\nmsgid \"binary file: {}\"\nmsgstr \"バイナリファイル: {}\"\n\n#: src/install.rs:1719 src/install.rs:1790\nmsgid \"Accept changes?\"\nmsgstr \"\"\n\n#: src/install.rs:1759\nmsgid \"Paging with less. Press 'q' to quit or 'h' for help.\"\nmsgstr \"\"\n\n#: src/install.rs:1794\nmsgid \" nothing new to review\"\nmsgstr \" 新しくレビューするものはありません\"\n\n#: src/install.rs:2070\nmsgid \"can't find package name in packagelist: {}\"\nmsgstr \"パッケージリストにパッケージの名前を見つけることができません: {}\"\n\n#: src/install.rs:2142\nmsgid \"Signing packages...\"\nmsgstr \"パッケージへ署名をしています...\"\n\n#: src/install.rs:2172\nmsgid \"{}-{} is up to date -- skipping install\"\nmsgstr \"{}-{} は最新です -- インストールをスキップ\"\n\n#: src/keys.rs:57\nmsgid \"keys need to be imported:\"\nmsgstr \"鍵をインポートする必要があります:\"\n\n#: src/keys.rs:62\nmsgid \"     {key} wanted by: {base}\"\nmsgstr \"     {key} は {base} に必要とされています\"\n\n#: src/news.rs:57\nmsgid \"No Date \"\nmsgstr \"日付なし \"\n\n#: src/news.rs:60\nmsgid \"No Title\"\nmsgstr \"タイトルなし\"\n\n#: src/news.rs:69\nmsgid \"no new news\"\nmsgstr \"新しいニュースはありません\"\n\n#: src/pkgbuild.rs:91\n#, fuzzy\nmsgid \"repo {} does not have a URL or Path\"\nmsgstr \"オプション '{}' は値をとりません\"\n\n#: src/pkgbuild.rs:153\nmsgid \"repo {} not downloaded (use -Sy --pkgbuilds to download)\"\nmsgstr \"\"\n\n#: src/pkgbuild.rs:200\nmsgid \"Generating .SRCINFO for {repo}/{dir}...\"\nmsgstr \"\"\n\n#: src/pkgbuild.rs:278\n#, fuzzy\nmsgid \"failed to parse srcinfo \\\"{}\\\"\"\nmsgstr \"'{}' の SRCINFO の解析に失敗しました\"\n\n#: src/pkgbuild.rs:368\n#, fuzzy\nmsgid \"Downloading PKGBUILD Repos...\"\nmsgstr \"PKGBUILD をダウンロードしています...\"\n\n#: src/pkgbuild.rs:422\nmsgid \"failed to parse srcinfo generated by makepkg\"\nmsgstr \"makepkg で作られた SRCINFO の解析に失敗しました\"\n\n#: src/query.rs:151\nmsgid \" [ignored]\"\nmsgstr \" [無視]\"\n\n#: src/repo.rs:253\nmsgid \"failed to get current exe\"\nmsgstr \"現在の実行ファイルの取得に失敗しました\"\n\n#: src/repo.rs:298\nmsgid \"syncing local databases...\"\nmsgstr \"ローカルデータベースの同期中...\"\n\n#: src/repo.rs:304\nmsgid \"  nothing to do\"\nmsgstr \"  何も行うことがありません\"\n\n#: src/repo.rs:335\nmsgid \"there is nothing to do\"\nmsgstr \"何も行うことがありません\"\n\n#: src/repo.rs:341\nmsgid \"Packages\"\nmsgstr \"パッケージ\"\n\n#: src/repo.rs:354\nmsgid \"Proceed with removal?\"\nmsgstr \"削除を続行しますか？\"\n\n#: src/repo.rs:415\nmsgid \" [installed: {}]\"\nmsgstr \" [インストール済み: {}]\"\n\n#: src/repo.rs:417 src/sync.rs:144\nmsgid \" [installed]\"\nmsgstr \" [インストール済み]\"\n\n#: src/search.rs:41\nmsgid \"aur search failed\"\nmsgstr \"aurの検索に失敗しました\"\n\n#: src/search.rs:285 src/search.rs:338 src/search.rs:410\n#, fuzzy\nmsgid \"[installed: {}]\"\nmsgstr \" [インストール済み: {}]\"\n\n#: src/search.rs:287 src/search.rs:340 src/search.rs:412\n#, fuzzy\nmsgid \"[installed]\"\nmsgstr \" [インストール済み]\"\n\n#: src/search.rs:332\n#, fuzzy\nmsgid \"[out-of-date: {}]\"\nmsgstr \"[古いバージョン: {}]\"\n\n#: src/search.rs:347\n#, fuzzy\nmsgid \"[orphaned]\"\nmsgstr \"[孤児]\"\n\n#: src/search.rs:491\nmsgid \"no packages match search\"\nmsgstr \"検索に一致するパッケージがありません\"\n\n#: src/search.rs:529\nmsgid \"Packages to install (eg: 1 2 3, 1-3):\"\nmsgstr \"インストールするパッケージ (例: 1 2 3, 1-3):\"\n\n#: src/search.rs:531\n#, fuzzy\nmsgid \"Select packages (eg: 1 2 3, 1-3):\"\nmsgstr \"インストールするパッケージ (例: 1 2 3, 1-3):\"\n\n#: src/stats.rs:90\nmsgid \"Total installed packages: {}\"\nmsgstr \"全てのインストールされたパッケージ: {}\"\n\n#: src/stats.rs:94\nmsgid \"Aur packages: {}\"\nmsgstr \"AUR パッケージ: {}\"\n\n#: src/stats.rs:98\nmsgid \"Repo packages: {}\"\nmsgstr \"リポジトリのパッケージ: {}\"\n\n#: src/stats.rs:102\nmsgid \"Explicitly installed packages: {}\"\nmsgstr \"明示的にインストールされたパッケージ: {}\"\n\n#: src/stats.rs:106\nmsgid \"Total Size occupied by packages: {}\"\nmsgstr \"合計パッケージ容量: {}\"\n\n#: src/stats.rs:113\nmsgid \"Ten biggest packages:\"\nmsgstr \"最も大きい 10 個のパッケージ:\"\n\n#: src/upgrade.rs:126\n#, fuzzy\nmsgid \"Looking for PKGBUILD upgrades...\"\nmsgstr \"AUR の更新を確認しています...\"\n\n#: src/upgrade.rs:134\nmsgid \"Looking for AUR upgrades...\"\nmsgstr \"AUR の更新を確認しています...\"\n\n#: src/upgrade.rs:165\nmsgid \"Looking for devel upgrades...\"\nmsgstr \"開発の更新を確認しています...\"\n\n#: src/upgrade.rs:193 src/upgrade.rs:206\nmsgid \"warning:\"\nmsgstr \"警告:\"\n\n#: src/upgrade.rs:195 src/upgrade.rs:208\nmsgid \"{pkg}: ignoring package upgrade ({old} => {new})\"\nmsgstr \"{pkg}: パッケージのアップグレードを無視 ({old} => {new})\"\n\n#: src/upgrade.rs:400\nmsgid \"Packages to exclude (eg: 1 2 3, 1-3):\"\nmsgstr \"除外するパッケージ (例: 1 2 3, 1-3):\"\n\n#: src/util.rs:121\nmsgid \"[Y/n]:\"\nmsgstr \"[Y/n]:\"\n\n#: src/util.rs:123\nmsgid \"[y/N]:\"\nmsgstr \"[y/N]:\"\n\n#: src/util.rs:142\nmsgid \"y\"\nmsgstr \"y\"\n\n#: src/util.rs:142\nmsgid \"yes\"\nmsgstr \"yes\"\n\n#: src/util.rs:300\nmsgid \"Enter a number (default=1): \"\nmsgstr \"数字を入力してください (デフォルト=1): \"\n\n#: src/util.rs:317\nmsgid \"invalid number: {}\"\nmsgstr \"不正な数字: {}\"\n\n#: src/util.rs:327\nmsgid \"invalid value: {n} is not between 1 and {max}\"\nmsgstr \"不正な値です: {n} が 1 と {max} の間に収まっていません\"\n\n#: src/resolver.rs:83\nmsgid \"There are {} members in group\"\nmsgstr \"{} 個のパッケージがグループに存在します\"\n\n#: src/resolver.rs:108\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Enter a selection (default=all): \"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"選択して下さい (デフォルト=all): \"\n\n#: src/lib.rs:206\nmsgid \"can not use chroot builds: devtools is not installed\"\nmsgstr \"chroot してビルドできません: devtools がインストールされていません\"\n\n#: src/lib.rs:313\nmsgid \"no operation specified (use -h for help)\"\nmsgstr \"対象が指定されていません (-h を使ってヘルプを見て下さい)\"\n\n#~ msgid \"[Installed: {}]\"\n#~ msgstr \"[インストール済み: {}]\"\n\n#~ msgid \"[Installed]\"\n#~ msgstr \"[インストール済み]\"\n\n#~ msgid \"Aur ({})\"\n#~ msgstr \"Aur ({})\"\n\n#~ msgid \"could not get current directory\"\n#~ msgstr \"現在のディレクトリを取得できませんでした\"\n\n#~ msgid \"can not get repo packages: asp is not installed\"\n#~ msgstr \"\"\n#~ \"リポジトリのパッケージを取得できません: asp がインストールされていません\"\n\n#~ msgid \"Missing ABS packages \"\n#~ msgstr \"存在しない ABS パッケージ \"\n\n#~ msgid \"does not contain PKGBUILD: skipping\"\n#~ msgstr \"PKGBUILD が含まれていません: スキップ\"\n\n#~ msgid \"{} is not installed: can not get repo packages\"\n#~ msgstr \"\"\n#~ \"{} はインストールされていません: リポジトリのパッケージを取得できません\"\n\n#~ msgid \"asp returned {}\"\n#~ msgstr \"asp が終了コード {} を返しました\"\n\n#~ msgid \"    --asp       <file>     asp command to use\"\n#~ msgstr \"    --asp       <file>     asp コマンドを指定\"\n\n#, fuzzy\n#~ msgid \"Generating .SRCINFO for {dir}...\"\n#~ msgstr \"'{}' の .SRCINFO を見つけられませんでした\"\n\n#~ msgid \"upgrade specific options:\"\n#~ msgstr \"upgrade 特有のオプション:\"\n\n#~ msgid \"error: unknown section '{}'\"\n#~ msgstr \"エラー: 不明なセクション '{}'\"\n\n#~ msgid \"can't build package as root\"\n#~ msgstr \"root でパッケージをビルドできません\"\n\n#~ msgid \"failed to build\"\n#~ msgstr \"ビルドに失敗しました\"\n\n#~ msgid \"parsing pkg list...\"\n#~ msgstr \"パッケージリストを解析しています...\"\n\n#~ msgid \"\"\n#~ \"{} is a directory\\n\"\n#~ \"\\n\"\n#~ msgstr \"\"\n#~ \"{} はディレクトリです\\n\"\n#~ \"\\n\"\n\n#~ msgid \"n\"\n#~ msgstr \"n\"\n\n#~ msgid \"no\"\n#~ msgstr \"no\"\n"
  },
  {
    "path": "po/ko.po",
    "content": "# Paru Korean translation\n# Copyright (C) YEAR THE paru'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the paru package.\n#\n# ponte-vecchio <zkogdxdkur@p.monash.edu>, 2022.\n# Junghee Lee <daemul72@gmail.com>, 2025.\n#\n#, fuzzy\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: paru VERSION\\n\"\n\"Report-Msgid-Bugs-To: https://github.com/Morganamilo/paru\\n\"\n\"POT-Creation-Date: 2026-01-08 17:40+0000\\n\"\n\"PO-Revision-Date: 2025-11-07 23:11+0900\\n\"\n\"Last-Translator: Junghee Lee <daemul72@gmail.com>\\n\"\n\"Language-Team: \\n\"\n\"Language: ko\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Generator: Poedit 3.8\\n\"\n\n#: src/clean.rs:36\nmsgid \"Do you want to clean ALL AUR packages from cache?\"\nmsgstr \"캐시에서 모든 AUR 꾸러미를 지우시겠습니까?\"\n\n#: src/clean.rs:38\nmsgid \"Do you want to clean all other AUR packages from cache?\"\nmsgstr \"캐시에서 다른 모든 AUR 꾸러미를 지우시겠습니까?\"\n\n#: src/clean.rs:41\nmsgid \"Clone Directory: {}\"\nmsgstr \"클론 디렉터리: {}\"\n\n#: src/clean.rs:47\nmsgid \"\"\n\"\\n\"\n\"Diff Directory: {}\"\nmsgstr \"\"\n\"\\n\"\n\"비교(Diff) 디렉터리: {}\"\n\n#: src/clean.rs:49\nmsgid \"Do you want to remove all saved diffs?\"\nmsgstr \"저장된 모든 변경사항(Diff)을 제거하시겠습니까?\"\n\n#: src/clean.rs:65\nmsgid \"can't open diff dir: {}\"\nmsgstr \"비교(Diff) 디렉터리 열 수 없음: {}\"\n\n#: src/clean.rs:76 src/clean.rs:180\nmsgid \"could not remove '{}'\"\nmsgstr \"'{}'을/를 제거할 수 없음\"\n\n#: src/clean.rs:95\nmsgid \"can't open clone dir: {}\"\nmsgstr \"클론 디렉터리 열 수 없음: {}\"\n\n#: src/clean.rs:141\nmsgid \"could not parse .SRCINFO for '{}'\"\nmsgstr \"'{}'의 .SRCINFO 파싱할 수 없음\"\n\n#: src/command_line.rs:134\nmsgid \"option {} expects a value\"\nmsgstr \"옵션 {}에 값을 입력해야 함\"\n\n#: src/command_line.rs:165 src/command_line.rs:382\nmsgid \"option {} does not allow a value\"\nmsgstr \"옵션 {}에는 값을 지정할 수 없음\"\n\n#: src/command_line.rs:373\nmsgid \"unknown option --{}\"\nmsgstr \"알 수 없는 옵션 --{}\"\n\n#: src/command_line.rs:376\nmsgid \"unknown option -{}\"\nmsgstr \"알 수 없는 옵션 -{}\"\n\n#: src/completion.rs:26 src/search.rs:179 src/sync.rs:113\n#, fuzzy\nmsgid \"failed to decode package list\"\nmsgstr \"소스 내려받기 실패\"\n\n#: src/completion.rs:35\nmsgid \"failed to open cache file '{}'\"\nmsgstr \"캐시 파일 '{}' 열기 실패함\"\n\n#: src/completion.rs:83\nmsgid \"could not update aur cache\"\nmsgstr \"AUR 캐시 업데이트할 수 없음\"\n\n#: src/config.rs:179\nmsgid \"invalid value '{val}' for key '{key}', expected: {exp}\"\nmsgstr \"키 ‘{key}'에 대해 잘못된 값 ’{val}', 예상된 값: {exp}\"\n\n#: src/config.rs:332\nmsgid \"unknown mode {}\"\nmsgstr \"알 수 없는 모드 {}\"\n\n#: src/config.rs:564\nmsgid \"section can not be called {}\"\nmsgstr \"섹션은 {}로 호출될 수 없음\"\n\n#: src/config.rs:581\nmsgid \"failed to find cache directory\"\nmsgstr \"cache 디렉터리를 찾을 수 없음 \"\n\n#: src/config.rs:584\nmsgid \"failed to find config directory\"\nmsgstr \"config 디렉터리를 찾을 수 없음 \"\n\n#: src/config.rs:588\nmsgid \"failed to find state directory\"\nmsgstr \"state 디렉토리를 찾을 수 없음\"\n\n#: src/config.rs:635\nmsgid \"config file '{}' does not exist\"\nmsgstr \"'{}' 구성 파일이 존재하지 않음 \"\n\n#: src/config.rs:684\nmsgid \"only one operation may be used at a time\"\nmsgstr \"한 번에 한 명령어만 사용할 수 있음\"\n\n#: src/config.rs:795\nmsgid \"no local repo named {}\"\nmsgstr \"'{}' 이름의 로컬 저장소 없음\"\n\n#: src/config.rs:821\nmsgid \"can not find local repo '{}' in pacman.conf\"\nmsgstr \"pacman.conf에서 로컬 저장소 '{}' 찾을 수 없음\"\n\n#: src/config.rs:866\nmsgid \"failed to initialize alpm: root={} dbpath={}\"\nmsgstr \"alpm 초기화 실패: root={} dbpath={}\"\n\n#: src/config.rs:941 src/config.rs:1102\nmsgid \"value can not be empty for key '{}'\"\nmsgstr \"키 '{}'에 대한 값은 비어있을 수 없음 \"\n\n#: src/config.rs:957\nmsgid \"key '{}' does not belong to a section\"\nmsgstr \"'{}' 키는 어떤 섹션에도 속하지 않음 \"\n\n#: src/config.rs:971 src/config.rs:988 src/config.rs:990 src/config.rs:1005\nmsgid \"key can not be empty\"\nmsgstr \"키는 비워둘 수 없음\"\n\n#: src/config.rs:981\nmsgid \"error: unknown option '{}' in repo\"\nmsgstr \"오류: 저장소 내 알 수 없는 옵션 '{}'\"\n\n#: src/config.rs:991\nmsgid \"key can not contain null bytes\"\nmsgstr \"키는 null 바이트를 포함할 수 없음\"\n\n#: src/config.rs:994\nmsgid \"value can not contain null bytes\"\nmsgstr \"값은 null 바이트를 포함할 수 없음\"\n\n#: src/config.rs:1030\nmsgid \"error: unknown option '{}' in section [bin]\"\nmsgstr \"오류: [bin] 섹션에 알 수 없는 옵션 '{}'\"\n\n#: src/config.rs:1150\nmsgid \"error: unknown option '{}' in section [options]\"\nmsgstr \"오류: [options] 섹션에 알 수 없는 옵션 '{}'\"\n\n#: src/config.rs:1155\nmsgid \"option '{}' does not take a value\"\nmsgstr \"'{}' 옵션은 값을 허용하지 않음\"\n\n#: src/config.rs:1187 src/resolver.rs:136\nmsgid \"There are {n} providers available for {pkg}:\"\nmsgstr \"{pkg}용 대안 꾸러미 {n}개:\"\n\n#: src/config.rs:1201 src/info.rs:85 src/info.rs:190 src/info.rs:224\n#: src/resolver.rs:95 src/resolver.rs:144\nmsgid \"Repository\"\nmsgstr \"저장소\"\n\n#: src/config.rs:1227\nmsgid \"  failed to sync {}\"\nmsgstr \"  {} 동기화 실패\"\n\n#: src/devel.rs:136 src/download.rs:207\nmsgid \"Querying AUR...\"\nmsgstr \"AUR 조회중...\"\n\n#: src/devel.rs:157 src/devel.rs:181 src/install.rs:203\nmsgid \"failed to parse srcinfo for '{}'\"\nmsgstr \"'{}'의 srcinfo 파싱 실패함\"\n\n#: src/devel.rs:201\nmsgid \"Looking for devel repos...\"\nmsgstr \"개발버전 저장소 찾는 중...\"\n\n#: src/devel.rs:210\nmsgid \"failed to save devel info\"\nmsgstr \"개발버전 정보 저장 실패함\"\n\n#: src/devel.rs:218\nmsgid \"failed to create state directory: {}\"\nmsgstr \"state 디렉터리 만들기 실패함: {}\"\n\n#: src/devel.rs:233\nmsgid \"failed to create temporary file: {}\"\nmsgstr \"임시 파일 만들기 실패함: {}\"\n\n#: src/devel.rs:238\nmsgid \"failed to write to temporary file: {}\"\nmsgstr \"임시 파일에 쓰기 실패함: {}\"\n\n#: src/devel.rs:244\nmsgid \"failed to rename '{temp}' to '{devel_toml}\"\nmsgstr \"'{temp}'의 이름을 '{devel_toml}'로 변경 실패함\"\n\n#: src/devel.rs:490\nmsgid \"package does not have an update\"\nmsgstr \"해당 꾸러미에 대한 업데이트 없음\"\n\n#: src/devel.rs:536\nmsgid \"failed to lookup: {}\"\nmsgstr \"조회 실패함: {}\"\n\n#: src/devel.rs:564\nmsgid \"invalid toml: {}\"\nmsgstr \"유효하지 JSON: {}\"\n\n#: src/download.rs:100\nmsgid \"packages not in the AUR: \"\nmsgstr \"AUR에 없는 꾸러미: \"\n\n#: src/download.rs:111\nmsgid \"marked out of date: \"\nmsgstr \"구버전으로 표시됨: \"\n\n#: src/download.rs:122\nmsgid \"orphans: \"\nmsgstr \"고아 꾸러미: \"\n\n#: src/download.rs:260\nmsgid \"downloading: {pkg}\"\nmsgstr \"내려받는 중: {pkg}\"\n\n#: src/download.rs:279 src/download.rs:602 src/info.rs:55 src/info.rs:180\n#: src/query.rs:49\nmsgid \"package '{}' was not found\"\nmsgstr \"'{}' 꾸러미를 찾을 수 없음\"\n\n#: src/download.rs:291\n#, fuzzy\nmsgid \"duplicate PKGBUILD: {}\"\nmsgstr \"중복 꾸러미: {}\"\n\n#: src/download.rs:307\nmsgid \"package '{}' exists but has no PKGBUILD -- skipping\"\nmsgstr \"\"\n\n#: src/download.rs:340\nmsgid \"Downloading PKGBUILDs...\"\nmsgstr \"PKGBUILD 내려받는 중...\"\n\n#: src/download.rs:344\nmsgid \" PKGBUILDs up to date\"\nmsgstr \" PKGBUILD 파일 업데이트됨\"\n\n#: src/exec.rs:72\nmsgid \"failed to run:\"\nmsgstr \"실행 실패함: \"\n\n#: src/exec.rs:174\nmsgid \"Pacman is currently in use, please wait...\"\nmsgstr \"Pacman이 현재 사용 중입니다. 잠시만 기다려 주세요...\"\n\n#: src/fmt.rs:24 src/info.rs:275 src/search.rs:293 src/search.rs:350\nmsgid \"None\"\nmsgstr \"없음\"\n\n#: src/fmt.rs:245\nmsgid \"Repo\"\nmsgstr \"저장소\"\n\n#: src/fmt.rs:252\nmsgid \"Repo Make\"\nmsgstr \"저장소 꾸러미 빌드\"\n\n#: src/fmt.rs:272\nmsgid \"Pkgbuilds Make\"\nmsgstr \"PKGBUILD 꾸러미 빌드\"\n\n#: src/fmt.rs:274\nmsgid \"Aur Make\"\nmsgstr \"AUR 꾸러미 빌드\"\n\n#: src/fmt.rs:319\nmsgid \"Repo ({})\"\nmsgstr \"저장소 ({})\"\n\n#: src/fmt.rs:327\nmsgid \"Old Version\"\nmsgstr \"구 버전\"\n\n#: src/fmt.rs:328\nmsgid \"New Version\"\nmsgstr \"신 버전\"\n\n#: src/fmt.rs:329\nmsgid \"Make Only\"\nmsgstr \"꾸러미 빌드만\"\n\n#: src/fmt.rs:330\nmsgid \"Yes\"\nmsgstr \"예\"\n\n#: src/fmt.rs:331 src/info.rs:221\nmsgid \"No\"\nmsgstr \"아니요\"\n\n#: src/fmt.rs:419\nmsgid \"insufficient columns available for table display\"\nmsgstr \"테이블 화면표시에 사용할 수 있는 열이 충분하지 않음\"\n\n#: src/help.rs:4\nmsgid \"Usage:\"\nmsgstr \"사용법: \"\n\n#: src/help.rs:5\nmsgid \"    paru\"\nmsgstr \"    paru\"\n\n#: src/help.rs:6\nmsgid \"    paru <operation> [...]\"\nmsgstr \"    paru <명령어> [...]\"\n\n#: src/help.rs:7\nmsgid \"    paru <package(s)>\"\nmsgstr \"    paru <꾸러미>\"\n\n#: src/help.rs:9\nmsgid \"Pacman operations:\"\nmsgstr \"Pacman 명령어:\"\n\n#: src/help.rs:10\nmsgid \"    paru {-h --help}\"\nmsgstr \"    paru {-h --help}\"\n\n#: src/help.rs:11\nmsgid \"    paru {-V --version}\"\nmsgstr \"    paru {-V --version}\"\n\n#: src/help.rs:12\nmsgid \"    paru {-D --database}    <options> <package(s)>\"\nmsgstr \"    paru {-D --database}    <옵션> <꾸러미>\"\n\n#: src/help.rs:13\nmsgid \"    paru {-F --files}       [options] [package(s)]\"\nmsgstr \"    paru {-F --files}       [옵션] [꾸러미]\"\n\n#: src/help.rs:14\nmsgid \"    paru {-Q --query}       [options] [package(s)]\"\nmsgstr \"    paru {-Q --query}       [옵션] [꾸러미]\"\n\n#: src/help.rs:15\nmsgid \"    paru {-R --remove}      [options] <package(s)>\"\nmsgstr \"    paru {-R --remove}      [옵션] <꾸러미>\"\n\n#: src/help.rs:16\nmsgid \"    paru {-S --sync}        [options] [package(s)]\"\nmsgstr \"    paru {-S --sync}        [옵션] [꾸러미]\"\n\n#: src/help.rs:17\nmsgid \"    paru {-T --deptest}     [options] [package(s)]\"\nmsgstr \"    paru {-T --deptest}     [옵션] [꾸러미]\"\n\n#: src/help.rs:18\nmsgid \"    paru {-U --upgrade}     [options] [file(s)]\"\nmsgstr \"    paru {-U --upgrade}     [옵션] [파일]\"\n\n#: src/help.rs:20\nmsgid \"New operations:\"\nmsgstr \"신규 명령어: \"\n\n#: src/help.rs:21\nmsgid \"    paru {-P --show}        [options]\"\nmsgstr \"    paru {-P --show}        [옵션]\"\n\n#: src/help.rs:22\nmsgid \"    paru {-G --getpkgbuild} [package(s)]\"\nmsgstr \"    paru {-G --getpkgbuild} [꾸러미]\"\n\n#: src/help.rs:23\nmsgid \"    paru {-B --build}       [dir(s)]\"\nmsgstr \"    paru {-B --build}       [디렉터리]\"\n\n#: src/help.rs:25\nmsgid \"If no arguments are provided 'paru -Syu' will be performed\"\nmsgstr \"만약 아무런 명령어도 지정되지 않는다면, 'paru -Syu'가 실행될 것입니다\"\n\n#: src/help.rs:27\nmsgid \"Options without operation:\"\nmsgstr \"명령어가 필요하지 않은 옵션: \"\n\n#: src/help.rs:28\nmsgid \"    -c --clean            Remove unneeded dependencies\"\nmsgstr \"    -c --clean            불필요한 종속성 제거\"\n\n#: src/help.rs:29\nmsgid \"\"\n\"       --gendb            Generates development package DB used for updating\"\nmsgstr \"       --gendb            업데이트에 사용되는 개발 꾸러미 DB 생성\"\n\n#: src/help.rs:31\nmsgid \"New options:\"\nmsgstr \"신규 옵션: \"\n\n#: src/help.rs:32\nmsgid \"       --repo              Assume targets are from the repositories\"\nmsgstr \"       --repo              지정된 꾸러미를 공식 저장소에서만 조회\"\n\n#: src/help.rs:33\nmsgid \"\"\n\"       --pkgbuilds         Assume targets are from pkgbuild repositories\"\nmsgstr \"       --pkgbuilds         지정된 꾸러미를 PKGBUILD 저장소에서만 조회\"\n\n#: src/help.rs:34\nmsgid \"    -a --aur               Assume targets are from the AUR\"\nmsgstr \"    -a --aur               지정된 꾸러미를 AUR에서만 조회\"\n\n#: src/help.rs:35\nmsgid \"    --mode      <mode>     Sets where paru looks for targets\"\nmsgstr \"    --mode      <모드>      Paru의 검색 대상 저장소 지정\"\n\n#: src/help.rs:37\nmsgid \"\"\n\"    --interactive          Enable interactive package selection for -S, -R, \"\n\"-Ss and -Qs\"\nmsgstr \"\"\n\"    --interactive          -S, -R, -Ss 및 -Qs에 대한 대화형 꾸러미 선택 활성\"\n\"화\"\n\n#: src/help.rs:39\nmsgid \"    --aururl    <url>      Set an alternative AUR URL\"\nmsgstr \"    --aururl    <url>      다른 AUR URL 지정\"\n\n#: src/help.rs:40\nmsgid \"\"\n\"    --aurrpcur  <url>      Set an alternative URL for the AUR /rpc endpoint\"\nmsgstr \"    --aurrpcur  <url>      AUR의 /rpc endpoint에 대한 다른 URL 지정\"\n\n#: src/help.rs:41\nmsgid \"    --clonedir  <dir>      Directory used to download and run PKGBUILDs\"\nmsgstr \"\"\n\"    --clonedir  <디렉터리>  PKGBUILD를 내려받아 빌드하는 데 사용할 디렉터리\"\n\n#: src/help.rs:43\nmsgid \"    --makepkg   <file>     makepkg command to use\"\nmsgstr \"    --makepkg   <파일>     사용할 makepkg 명령어\"\n\n#: src/help.rs:44\nmsgid \"    --mflags    <flags>    Pass arguments to makepkg\"\nmsgstr \"    --mflags    <플래그>   makepkg에 전달할 플래그\"\n\n#: src/help.rs:45\nmsgid \"    --pacman    <file>     pacman command to use\"\nmsgstr \"    --pacman    <파일>     사용할 Pacman 명령어\"\n\n#: src/help.rs:46\nmsgid \"    --git       <file>     git command to use\"\nmsgstr \"    --git       <파일>     사용할 git 명령어\"\n\n#: src/help.rs:47\nmsgid \"    --gitflags  <flags>    Pass arguments to git\"\nmsgstr \"    --gitflags  <플래그>    git에 전달할 플래그\"\n\n#: src/help.rs:48\nmsgid \"    --sudo      <file>     sudo command to use\"\nmsgstr \"    --sudo      <파일>     사용할 sudo 명령어\"\n\n#: src/help.rs:49\nmsgid \"    --sudoflags <flags>    Pass arguments to sudo\"\nmsgstr \"    --sudoflags <플래그>   sudo에 전달할 플래그\"\n\n#: src/help.rs:50\nmsgid \"    --pkgctl    <file>     pkgctl command to use\"\nmsgstr \"    --pkgctl    <파일>     사용할 pkgctl 명령어\"\n\n#: src/help.rs:51\nmsgid \"    --bat       <file>     bat command to use\"\nmsgstr \"    --bat       <파일>     사용할 bat 명령어\"\n\n#: src/help.rs:52\nmsgid \"    --batflags  <flags>    Pass arguments to bat\"\nmsgstr \"    --batflags  <플래그>   bat에 전달할 플래그\"\n\n#: src/help.rs:53\nmsgid \"    --gpg       <file>     gpg command to use\"\nmsgstr \"    --gpg       <파일>     사용할 gpg 명령어\"\n\n#: src/help.rs:54\nmsgid \"    --gpgflags  <flags>    Pass arguments to gpg\"\nmsgstr \"    --gpgflags  <플래그>   gpg에 전달할 플래그\"\n\n#: src/help.rs:55\nmsgid \"    --fm        <file>     File manager to use for PKGBUILD review\"\nmsgstr \"    --fm        <파일>     PKGBUILD 검토에 사용할 파일 관리자\"\n\n#: src/help.rs:56\nmsgid \"    --fmflags   <flags>    Pass arguments to file manager\"\nmsgstr \"    --fmflags   <플래그>   파일 관리자에 전달할 플래그\"\n\n#: src/help.rs:58\nmsgid \"    --completioninterval   <n> Time in days to refresh completion cache\"\nmsgstr \"    --completioninterval   <n> 완료 캐시 새로고침 주기 (일)\"\n\n#: src/help.rs:59\nmsgid \"\"\n\"    --sortby    <field>    Sort AUR results by a specific field during search\"\nmsgstr \"    --sortby    <필드>   검색 시 AUR 결과를 특정 필드로 정렬\"\n\n#: src/help.rs:60\nmsgid \"    --searchby  <field>    Search for packages using a specified field\"\nmsgstr \"    --searchby  <필드>   지정된 필드를 사용하여 꾸러미 검색\"\n\n#: src/help.rs:61\nmsgid \"\"\n\"    --limit     <limit>    Limits the number of items returned in a search\"\nmsgstr \"    --limit     <개수>     검색 결과를 특정 개수로 제한\"\n\n#: src/help.rs:62\nmsgid \"    -x --regex             Enable regex for aur search\"\nmsgstr \"    -x --regex             AUR 검색에 정규 표현식 활성화\"\n\n#: src/help.rs:64\nmsgid \"    --skipreview           Skip the review process\"\nmsgstr \"    --skipreview           검토 과정 건너뛰기\"\n\n#: src/help.rs:65\nmsgid \"    --review               Don't skip the review process\"\nmsgstr \"    --review               검토 과정 건너뛰기 안 함\"\n\n#: src/help.rs:66\nmsgid \"    --[no]upgrademenu      Show interactive menu to skip upgrades\"\nmsgstr \"    --[no]upgrademenu      업그레이드를 건너뛰려면 대화형 메뉴 표시\"\n\n#: src/help.rs:67\nmsgid \"    --[no]removemake       Remove makedepends after install\"\nmsgstr \"    --[no]removemake       설치 후 빌드 필수 꾸러미 제거\"\n\n#: src/help.rs:68\nmsgid \"    --[no]cleanafter       Remove package sources after install\"\nmsgstr \"    --[no]cleanafter       설치 후 꾸러미 소스 제거\"\n\n#: src/help.rs:69\nmsgid \"    --[no]rebuild          Always build target packages\"\nmsgstr \"    --[no]rebuild          항상 소스 코드로 직접 빌드\"\n\n#: src/help.rs:70\nmsgid \"    --[no]redownload       Always download PKGBUILDs of targets\"\nmsgstr \"    --[no]redownload       항상 대상에 대한 PKGBUILD 내려받기\"\n\n#: src/help.rs:72\nmsgid \"    --[no]pgpfetch         Prompt to import PGP keys from PKGBUILDs\"\nmsgstr \"\"\n\"    --[no]pgpfetch         PKGBUILD에서 PGP 키를 가져오도록 프롬프트 표시\"\n\n#: src/help.rs:73\nmsgid \"\"\n\"    --[no]useask           Automatically resolve conflicts using pacman's \"\n\"ask flag\"\nmsgstr \"\"\n\"    --[no]useask           Pacman의 ask 플래그를 사용하여 충돌 자동으로 해결\"\n\n#: src/help.rs:74\nmsgid \"\"\n\"    --[no]savechanges      Commit changes to pkgbuilds made during review\"\nmsgstr \"    --[no]savechanges      검토 과정에서 pkgbuilds에 변경사항 커밋\"\n\n#: src/help.rs:75\nmsgid \"    --[no]newsonupgrade    Print new news during sysupgrade\"\nmsgstr \"    --[no]newsonupgrade    시스템 업그레이드 중 새로운 뉴스 출력\"\n\n#: src/help.rs:76\nmsgid \"\"\n\"    --[no]combinedupgrade  Refresh then perform the repo and AUR upgrade \"\n\"together\"\nmsgstr \"\"\n\"    --[no]combinedupgrade  새로고침 후 저장소와 AUR 업그레이드 함께 수행\"\n\n#: src/help.rs:77\nmsgid \"\"\n\"    --[no]batchinstall     Build multiple AUR packages then install them \"\n\"together\"\nmsgstr \"\"\n\"    --[no]batchinstall     여러 개의 AUR 꾸러미를 빌드한 다음 함께 설치\"\n\n#: src/help.rs:78\nmsgid \"\"\n\"    --[no]provides         Look for matching providers when searching for \"\n\"packages\"\nmsgstr \"\"\n\"    --[no]provides         꾸러미를 검색할 때 일치하는 대체 꾸러미 찾아보기\"\n\n#: src/help.rs:79\nmsgid \"    --[no]devel            Check development packages during sysupgrade\"\nmsgstr \"    --[no]devel            시스템 업그레이드 중 개발 꾸러미 확인\"\n\n#: src/help.rs:80\nmsgid \"\"\n\"    --[no]installdebug     Also install debug packages when a package \"\n\"provides them\"\nmsgstr \"\"\n\"    --[no]installdebug     꾸러미에서 디버그 꾸러미를 제공하는 경우에도 디버\"\n\"그 꾸러미 설치\"\n\n#: src/help.rs:81\nmsgid \"\"\n\"    --[no]sudoloop         Loop sudo calls in the background to avoid timeout\"\nmsgstr \"\"\n\"    --[no]sudoloop         시간초과를 방지하기 위해 백그라운드에서 sudo 호출 \"\n\"반복\"\n\n#: src/help.rs:82\nmsgid \"    --[no]chroot           Build packages in a chroot\"\nmsgstr \"    --[no]chroot           chroot에서 꾸러미 빌드\"\n\n#: src/help.rs:83\nmsgid \"\"\n\"    --[no]failfast         Exit as soon as building an AUR package fails\"\nmsgstr \"    --[no]failfast         AUR 꾸러미 빌드가 실패하면 즉시 종료\"\n\n#: src/help.rs:84\nmsgid \"\"\n\"    --[no]keepsrc          Keep src/ and pkg/ dirs after building packages\"\nmsgstr \"\"\n\"    --[no]keepsrc          꾸러미를 빌드한 후 src/ 및 pkg/ 디렉터리 유지\"\n\n#: src/help.rs:85\nmsgid \"    --[no]sign             Sign packages with gpg\"\nmsgstr \"    --[no]sign             gpg로 꾸러미 서명\"\n\n#: src/help.rs:86\nmsgid \"    --[no]signdb           Sign databases with gpg\"\nmsgstr \"    --[no]signdb           gpg로 데이터베이스 서명\"\n\n#: src/help.rs:87\nmsgid \"    --[no]localrepo        Build packages into a local repo\"\nmsgstr \"    --[no]localrepo        로컬 저장소에 꾸러미 빌드\"\n\n#: src/help.rs:88\nmsgid \"\"\n\"    --nocheck              Don't resolve checkdepends or run the check \"\n\"function\"\nmsgstr \"    --nocheck              검사 종속성 해결하기나 검사 함수 실행 안 함\"\n\n#: src/help.rs:90\nmsgid \"\"\n\"    --rootchrootpkgs       Packages to install in the root chroot (default: \"\n\"base-devel)\"\nmsgstr \"\"\n\n#: src/help.rs:92\nmsgid \"\"\n\"    --develsuffixes        Suffixes used to decide if a package is a devel \"\n\"package\"\nmsgstr \"\"\n\"    --develsuffixes        꾸러미가 개발 꾸러미인지 판단하는 데 사용되는 접미\"\n\"어\"\n\n#: src/help.rs:93\nmsgid \"    --ignoredevel          Ignore devel upgrades for specified packages\"\nmsgstr \"\"\n\"    --ignoredevel          지정된 꾸러미에 대한 개발 버전 업그레이드 무시\"\n\n#: src/help.rs:94\nmsgid \"\"\n\"    --bottomup             Shows AUR's packages first and then repository's\"\nmsgstr \"\"\n\"    --bottomup             AUR 꾸러미를 먼저 표시한 다음 저장소의 꾸러미 표시\"\n\n#: src/help.rs:95\nmsgid \"\"\n\"    --topdown              Shows repository's packages first and then AUR's\"\nmsgstr \"\"\n\"    --topdown              저장소의 꾸러미를 먼저 표시한 다음 AUR의 꾸러미 표\"\n\"시\"\n\n#: src/help.rs:97\nmsgid \"show specific options:\"\nmsgstr \"특정(세부) 옵션 표시:\"\n\n#: src/help.rs:98\nmsgid \"    -c --complete         Used for completions\"\nmsgstr \"    -c --complete         자동 완성기능에 사용됨\"\n\n#: src/help.rs:99\nmsgid \"    -s --stats            Display system package statistics\"\nmsgstr \"    -s --stats            시스템 꾸러미 통계 화면표시\"\n\n#: src/help.rs:100\nmsgid \"    -w --news             Print arch news\"\nmsgstr \"    -w --news             아치(Arch) 뉴스 출력\"\n\n#: src/help.rs:102\nmsgid \"getpkgbuild specific options:\"\nmsgstr \"getpkgbuild 관련 옵션:\"\n\n#: src/help.rs:103\nmsgid \"    -p --print            Print pkgbuild to stdout\"\nmsgstr \"    -p --print            PKGBUILD 내용을 화면에 출력\"\n\n#: src/help.rs:104\nmsgid \"    -c --comments         Print AUR comments for pkgbuild\"\nmsgstr \"    -c --comments         PKGBUILD에 대한 AUR 댓글 출력\"\n\n#: src/help.rs:105\nmsgid \"    -s --ssh              Clone package using SSH\"\nmsgstr \"    -s --ssh              SSH를 사용하여 꾸러미 복제\"\n\n#: src/help.rs:107\nmsgid \"Build specific options:\"\nmsgstr \"빌드 관련 옵션:\"\n\n#: src/help.rs:108\nmsgid \"    -i --install          Install package as well as building\"\nmsgstr \"    -i --install          꾸러미 빌드와 동시에 설치\"\n\n#: src/info.rs:86 src/info.rs:191 src/info.rs:225\nmsgid \"Name\"\nmsgstr \"이름\"\n\n#: src/info.rs:87 src/info.rs:192 src/info.rs:226\nmsgid \"Version\"\nmsgstr \"버전\"\n\n#: src/info.rs:88 src/info.rs:193 src/info.rs:227\nmsgid \"Description\"\nmsgstr \"설명\"\n\n#: src/info.rs:89 src/info.rs:195 src/info.rs:235\nmsgid \"Groups\"\nmsgstr \"그룹\"\n\n#: src/info.rs:90 src/info.rs:196 src/info.rs:236\nmsgid \"Licenses\"\nmsgstr \"라이선스\"\n\n#: src/info.rs:91 src/info.rs:197 src/info.rs:237\nmsgid \"Provides\"\nmsgstr \"제공하는 꾸러미 \"\n\n#: src/info.rs:92 src/info.rs:198 src/info.rs:238\nmsgid \"Depends On\"\nmsgstr \"종속하는 꾸러미 \"\n\n#: src/info.rs:93 src/info.rs:199 src/info.rs:239\nmsgid \"Make Deps\"\nmsgstr \"빌드 종속성\"\n\n#: src/info.rs:94 src/info.rs:200 src/info.rs:240\nmsgid \"Check Deps\"\nmsgstr \"종속성 확인\"\n\n#: src/info.rs:95 src/info.rs:201 src/info.rs:241\nmsgid \"Optional Deps\"\nmsgstr \"선택적 종속성\"\n\n#: src/info.rs:96 src/info.rs:202 src/info.rs:242\nmsgid \"Conflicts With\"\nmsgstr \"충돌하는 꾸러미\"\n\n#: src/info.rs:97 src/info.rs:243\nmsgid \"Maintainer\"\nmsgstr \"유지보수 담당자\"\n\n#: src/info.rs:98 src/info.rs:244\nmsgid \"Votes\"\nmsgstr \"투표 수\"\n\n#: src/info.rs:99 src/info.rs:245\nmsgid \"Popularity\"\nmsgstr \"인기도\"\n\n#: src/info.rs:100 src/info.rs:246\nmsgid \"First Submitted\"\nmsgstr \"최초 제출일\"\n\n#: src/info.rs:101 src/info.rs:247\nmsgid \"Last Modified\"\nmsgstr \"마지막 수정일\"\n\n#: src/info.rs:102 src/info.rs:249\nmsgid \"Out Of Date\"\nmsgstr \"구 버전\"\n\n#: src/info.rs:103 src/info.rs:254\nmsgid \"ID\"\nmsgstr \"ID\"\n\n#: src/info.rs:104 src/info.rs:255\nmsgid \"Package Base ID\"\nmsgstr \"꾸러미 베이스 ID\"\n\n#: src/info.rs:105 src/info.rs:256\nmsgid \"Keywords\"\nmsgstr \"키워드\"\n\n#: src/info.rs:106 src/info.rs:258\nmsgid \"Snapshot URL\"\nmsgstr \"스냅샷 URL\"\n\n#: src/info.rs:107 src/info.rs:203\nmsgid \"Path\"\nmsgstr \"경로\"\n\n#: src/install.rs:166 src/query.rs:48 src/lib.rs:101\nmsgid \"error:\"\nmsgstr \"오류: \"\n\n#: src/install.rs:167\nmsgid \"could not get news\"\nmsgstr \"뉴스를 받을 수 없음\"\n\n#: src/install.rs:172 src/install.rs:1127\nmsgid \"Proceed with installation?\"\nmsgstr \"설치를 진행하시겠습니까?\"\n\n#: src/install.rs:207\nmsgid \"could not find .SRCINFO for '{}'\"\nmsgstr \"'{}'에 대한 .SRCINFO를 찾을 수 없음\"\n\n#: src/install.rs:353\nmsgid \"could not find package '{pkg}' in package list for '{base}'\"\nmsgstr \"'{base}'의 꾸러미 목록에서 '{pkg}' 꾸러미를 찾을 수 없음\"\n\n#: src/install.rs:451\nmsgid \"packages failed to build: {}\"\nmsgstr \"꾸러미 빌드 실패: {}\"\n\n#: src/install.rs:523\nmsgid \"adding {} to the install list\"\nmsgstr \"설치 목록에 {} 추가하는 중\"\n\n#: src/install.rs:553 src/install.rs:568\nmsgid \"failed to download sources for '{}'\"\nmsgstr \"'{}'의 소스 내려받기 실패함\"\n\n#: src/install.rs:577 src/install.rs:603 src/install.rs:611\nmsgid \"failed to build '{}'\"\nmsgstr \"'{}' 빌드 실패함\"\n\n#: src/install.rs:580 src/install.rs:784\nmsgid \"{}: parsing pkg list...\"\nmsgstr \"{}: 꾸러미 목록 파싱 중...\"\n\n#: src/install.rs:584\nmsgid \"package list does not match srcinfo\"\nmsgstr \"꾸러미 목록이 srcinfo와 일치하지 않음\"\n\n#: src/install.rs:618\nmsgid \"{}-{} is up to date -- skipping build\"\nmsgstr \"{}-{} 현재 최신버전 -- 빌드 건너뛰는 중\"\n\n#: src/install.rs:775\nmsgid \"can't build {base}, deps not satisfied: {deps}\"\nmsgstr \"{base} 빌드할 수 없음: 종속성 충족되지 않음: {deps}\"\n\n#: src/install.rs:846\nmsgid \"fetching devel info...\"\nmsgstr \"개발버전 정보를 가져오는 중...\"\n\n#: src/install.rs:911 src/lib.rs:240\nmsgid \"no targets specified (use -h for help)\"\nmsgstr \"지정된 대상 없음 (도움말: -h 옵션 사용)\"\n\n#: src/install.rs:1008 src/install.rs:1097 src/search.rs:450 src/search.rs:476\n#: src/lib.rs:304\nmsgid \" there is nothing to do\"\nmsgstr \"업데이트할 꾸러미 없음\"\n\n#: src/install.rs:1016\nmsgid \"Resolving dependencies...\"\nmsgstr \"종속성 해결 중...\"\n\n#: src/install.rs:1077\nmsgid \"can't install AUR package as root\"\nmsgstr \"root 권한으로 AUR 꾸러미 설치할 수 없음\"\n\n#: src/install.rs:1080\nmsgid \"--downloadonly can't be used for AUR packages\"\nmsgstr \"--downloadonly는 AUR 꾸러미에는 사용할 수 없음\"\n\n#: src/install.rs:1113\nmsgid \"Remove make dependencies after install?\"\nmsgstr \"설치 후 빌드에 사용된 종속성 꾸러미를 제거하시겠습니까?\"\n\n#: src/install.rs:1124\nmsgid \"Proceed to review?\"\nmsgstr \"검토를 진행하시겠습니까?\"\n\n#: src/install.rs:1177\nmsgid \"no architecture\"\nmsgstr \"이 시스템에 설치할 수 없음\"\n\n#: src/install.rs:1191\nmsgid \"The following packages are not compatible with your architecture:\"\nmsgstr \"다음 꾸러미는 사용자의 아키텍처와 호환되지 않음.: \"\n\n#: src/install.rs:1205\nmsgid \"Would you like to try build them anyway?\"\nmsgstr \"경고나 문제가 있지만, 무시하고 강제로 빌드를 진행하시겠습니까?\"\n\n#: src/install.rs:1349\nmsgid \"duplicate packages: {}\"\nmsgstr \"중복 꾸러미: {}\"\n\n#: src/install.rs:1353\nmsgid \"could not find all required packages:\"\nmsgstr \"필요한 모든 꾸러미들을 찾을 수 없음:\"\n\n#: src/install.rs:1365\nmsgid \"\"\n\"\\n\"\n\"    {missing} (wanted by: {stack})\"\nmsgstr \"\"\n\"\\n\"\n\"    {missing} (필수 꾸러미: {stack})\"\n\n#: src/install.rs:1379 src/install.rs:2122\nmsgid \"{}-{} is up to date -- skipping\"\nmsgstr \"{}-{} 현재 최신버전 -- 건너뛰는 중\"\n\n#: src/install.rs:1387\nmsgid \"Calculating conflicts...\"\nmsgstr \"충돌 계산 중...\"\n\n#: src/install.rs:1410\nmsgid \"Calculating inner conflicts...\"\nmsgstr \"내부충돌 계산 중...\"\n\n#: src/install.rs:1422\nmsgid \"Inner conflicts found:\"\nmsgstr \"내부 충돌 발견됨: \"\n\n#: src/install.rs:1444\nmsgid \"Conflicts found:\"\nmsgstr \"충돌 발견됨: \"\n\n#: src/install.rs:1467\nmsgid \"Conflicting packages will have to be confirmed manually\"\nmsgstr \"충돌하는 꾸러미는 사용자가 직접 확인 처리해야 합니다\"\n\n#: src/install.rs:1471\nmsgid \"can not install conflicting packages with --noconfirm\"\nmsgstr \"--noconfirm 옵션을 사용하여 충돌하는 꾸러미를 설치할 수 없음\"\n\n#: src/install.rs:1599\nmsgid \"failed to execute file manager: {}\"\nmsgstr \"파일 관리자 실행에 실패함: {}\"\n\n#: src/install.rs:1602\n#, fuzzy\nmsgid \"file manager '{}' did not execute successfully\"\nmsgstr \"파일 관리자가 정상적으로 실행되지 않음\"\n\n#: src/install.rs:1620\nmsgid \"failed to read dir: {}\"\nmsgstr \"디렉터리 읽기에 실패함: {}\"\n\n#: src/install.rs:1677\nmsgid \"failed to open: {}\"\nmsgstr \"열기에 실패함: {}\"\n\n#: src/install.rs:1697\nmsgid \"binary file: {}\"\nmsgstr \"바이너리 파일: {}\"\n\n#: src/install.rs:1719 src/install.rs:1790\nmsgid \"Accept changes?\"\nmsgstr \"변경사항을 적용하시겠습니까?\"\n\n#: src/install.rs:1759\nmsgid \"Paging with less. Press 'q' to quit or 'h' for help.\"\nmsgstr \"less로 페이징합니다. 종료는 'q', 도움말은 'h'를 누르세요.\"\n\n#: src/install.rs:1794\nmsgid \" nothing new to review\"\nmsgstr \"검토할 새로운 내용 없음\"\n\n#: src/install.rs:2070\nmsgid \"can't find package name in packagelist: {}\"\nmsgstr \"꾸러미목록에서 꾸러미 이름을 찾을 수 없음: {}\"\n\n#: src/install.rs:2142\nmsgid \"Signing packages...\"\nmsgstr \"꾸러미 서명 중...\"\n\n#: src/install.rs:2172\nmsgid \"{}-{} is up to date -- skipping install\"\nmsgstr \"{}-{} 현재 최신버전입 -- 설치 건너뛰는 중\"\n\n#: src/keys.rs:57\nmsgid \"keys need to be imported:\"\nmsgstr \"GPG 키 인증이 필요함:\"\n\n#: src/keys.rs:62\nmsgid \"     {key} wanted by: {base}\"\nmsgstr \"     {key}의 요청자: {base}\"\n\n#: src/news.rs:57\nmsgid \"No Date \"\nmsgstr \"날짜 없음 \"\n\n#: src/news.rs:60\nmsgid \"No Title\"\nmsgstr \"제목 없음\"\n\n#: src/news.rs:69\nmsgid \"no new news\"\nmsgstr \"새로운 소식 없음\"\n\n#: src/pkgbuild.rs:91\nmsgid \"repo {} does not have a URL or Path\"\nmsgstr \"저장소 {}에 URL이나 경로 없음\"\n\n#: src/pkgbuild.rs:153\nmsgid \"repo {} not downloaded (use -Sy --pkgbuilds to download)\"\nmsgstr \"저장소 {} 내려받지 못함 (내려받으려면 -Sy --pkgbuilds 사용)\"\n\n#: src/pkgbuild.rs:200\nmsgid \"Generating .SRCINFO for {repo}/{dir}...\"\nmsgstr \"{repo}/{dir}에 대한 .SRCINFO 생성하는 중...\"\n\n#: src/pkgbuild.rs:278\nmsgid \"failed to parse srcinfo \\\"{}\\\"\"\nmsgstr \"srcinfo \\\"{}\\\" 파싱 실패함\"\n\n#: src/pkgbuild.rs:368\nmsgid \"Downloading PKGBUILD Repos...\"\nmsgstr \"PKGBUILD 저장소 내려받는 중...\"\n\n#: src/pkgbuild.rs:422\nmsgid \"failed to parse srcinfo generated by makepkg\"\nmsgstr \"makepkg에서 생성된 srcinfo 파싱 실패함\"\n\n#: src/query.rs:151\nmsgid \" [ignored]\"\nmsgstr \" [무시됨]\"\n\n#: src/repo.rs:253\nmsgid \"failed to get current exe\"\nmsgstr \"현재 실행 경로를 찾는 데 실패함\"\n\n#: src/repo.rs:298\nmsgid \"syncing local databases...\"\nmsgstr \"로컬 데이터베이스 동기화 중...\"\n\n#: src/repo.rs:304\nmsgid \"  nothing to do\"\nmsgstr \"  처리할 작업 없음\"\n\n#: src/repo.rs:335\nmsgid \"there is nothing to do\"\nmsgstr \"업데이트할 꾸러미 없음\"\n\n#: src/repo.rs:341\nmsgid \"Packages\"\nmsgstr \"꾸러미\"\n\n#: src/repo.rs:354\nmsgid \"Proceed with removal?\"\nmsgstr \"제거를 진행하시겠습니까?\"\n\n#: src/repo.rs:415\nmsgid \" [installed: {}]\"\nmsgstr \" [설치됨: {}]\"\n\n#: src/repo.rs:417 src/sync.rs:144\nmsgid \" [installed]\"\nmsgstr \" [설치됨]\"\n\n#: src/search.rs:41\nmsgid \"aur search failed\"\nmsgstr \"AUR 검색 실패함\"\n\n#: src/search.rs:285 src/search.rs:338 src/search.rs:410\n#, fuzzy\nmsgid \"[installed: {}]\"\nmsgstr \" [설치됨: {}]\"\n\n#: src/search.rs:287 src/search.rs:340 src/search.rs:412\n#, fuzzy\nmsgid \"[installed]\"\nmsgstr \" [설치됨]\"\n\n#: src/search.rs:332\n#, fuzzy\nmsgid \"[out-of-date: {}]\"\nmsgstr \"[구 버전: {}]\"\n\n#: src/search.rs:347\n#, fuzzy\nmsgid \"[orphaned]\"\nmsgstr \"[고아됨]\"\n\n#: src/search.rs:491\nmsgid \"no packages match search\"\nmsgstr \"검색과 일치하는 꾸러미가 없음\"\n\n#: src/search.rs:529\nmsgid \"Packages to install (eg: 1 2 3, 1-3):\"\nmsgstr \"설치할 꾸러미 (예: 1 2 3, 1-3): \"\n\n#: src/search.rs:531\nmsgid \"Select packages (eg: 1 2 3, 1-3):\"\nmsgstr \"꾸러미 선택 (예: 1 2 3, 1-3): \"\n\n#: src/stats.rs:90\nmsgid \"Total installed packages: {}\"\nmsgstr \"총 설치된 꾸러미: {}\"\n\n#: src/stats.rs:94\nmsgid \"Aur packages: {}\"\nmsgstr \"AUR 꾸러미: {}\"\n\n#: src/stats.rs:98\nmsgid \"Repo packages: {}\"\nmsgstr \"저장소 꾸러미: {}\"\n\n#: src/stats.rs:102\nmsgid \"Explicitly installed packages: {}\"\nmsgstr \"사용자가 직접 설치한 꾸러미: {}\"\n\n#: src/stats.rs:106\nmsgid \"Total Size occupied by packages: {}\"\nmsgstr \"설치된 꾸러미 전체 용량: {}\"\n\n#: src/stats.rs:113\nmsgid \"Ten biggest packages:\"\nmsgstr \"용량 상위 10개 꾸러미: \"\n\n#: src/upgrade.rs:126\nmsgid \"Looking for PKGBUILD upgrades...\"\nmsgstr \"PKGBUILD 업그레이드 찾는 중...\"\n\n#: src/upgrade.rs:134\nmsgid \"Looking for AUR upgrades...\"\nmsgstr \"AUR 업그레이드 찾는 중...\"\n\n#: src/upgrade.rs:165\nmsgid \"Looking for devel upgrades...\"\nmsgstr \"개발버전 업그레이드 찾는 중...\"\n\n#: src/upgrade.rs:193 src/upgrade.rs:206\nmsgid \"warning:\"\nmsgstr \"경고:\"\n\n#: src/upgrade.rs:195 src/upgrade.rs:208\nmsgid \"{pkg}: ignoring package upgrade ({old} => {new})\"\nmsgstr \"{pkg}: 꾸러미 업그레이드 무시하는 중 ({old} => {new})\"\n\n#: src/upgrade.rs:400\nmsgid \"Packages to exclude (eg: 1 2 3, 1-3):\"\nmsgstr \"포함시키지 않을 꾸러미 (예: 1 2 3, 1-3): \"\n\n#: src/util.rs:121\nmsgid \"[Y/n]:\"\nmsgstr \"[Y/n]: \"\n\n#: src/util.rs:123\nmsgid \"[y/N]:\"\nmsgstr \"[y/N]: \"\n\n#: src/util.rs:142\nmsgid \"y\"\nmsgstr \"y\"\n\n#: src/util.rs:142\nmsgid \"yes\"\nmsgstr \"yes\"\n\n#: src/util.rs:300\nmsgid \"Enter a number (default=1): \"\nmsgstr \"숫자를 입력하세요 (기본값=1) \"\n\n#: src/util.rs:317\nmsgid \"invalid number: {}\"\nmsgstr \"잘못된 숫자: {} \"\n\n#: src/util.rs:327\nmsgid \"invalid value: {n} is not between 1 and {max}\"\nmsgstr \"잘못된 값: {n}은 1과 {max} 사이에 있지 않습니다\"\n\n#: src/resolver.rs:83\nmsgid \"There are {} members in group\"\nmsgstr \"이 그룹에는 {}개의 꾸러미가 포함되어 있습니다\"\n\n#: src/resolver.rs:108\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Enter a selection (default=all): \"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"선택항목을 입력하세요 (기본값=all): \"\n\n#: src/lib.rs:206\nmsgid \"can not use chroot builds: devtools is not installed\"\nmsgstr \"chroot 빌드를 사용할 수 없음: devtools가 설치되어 있지 않습니다\"\n\n#: src/lib.rs:313\nmsgid \"no operation specified (use -h for help)\"\nmsgstr \"지정된 명령어 없음 (도움말: -h 옵션 사용)\"\n\n#~ msgid \"[Installed: {}]\"\n#~ msgstr \"[설치됨: {}]\"\n\n#~ msgid \"[Installed]\"\n#~ msgstr \"[설치됨]\"\n\n#~ msgid \"could not get current directory\"\n#~ msgstr \"현재 디렉터리를 불러올 수 없음\"\n\n#~ msgid \"can not get repo packages: asp is not installed\"\n#~ msgstr \"저장소에서 꾸러미를 받을 수 없음: asp가 설치되지 않음\"\n\n#~ msgid \"Missing ABS packages \"\n#~ msgstr \"ABS 꾸러미가 설치되지 않음\"\n\n#~ msgid \"does not contain PKGBUILD: skipping\"\n#~ msgstr \"PKGBUILD 없음: 건너 뛰는 중\"\n\n#~ msgid \"{} is not installed: can not get repo packages\"\n#~ msgstr \"{}이/가 설치되지 않음: 저장소에서 꾸러미를 받을 수 없음\"\n\n#~ msgid \"asp returned {}\"\n#~ msgstr \"asp 반환 값: {}\"\n\n#~ msgid \"    --asp       <file>     asp command to use\"\n#~ msgstr \"    --asp       <파일>     사용할 asp 명령어\"\n\n#, fuzzy\n#~ msgid \"Generating .SRCINFO for {dir}...\"\n#~ msgstr \"'{}'에 대한 .SRINFO를 찾지 못함\"\n\n#~ msgid \"upgrade specific options:\"\n#~ msgstr \"세세한 업그레이드 옵션: \"\n\n#~ msgid \"error: unknown section '{}'\"\n#~ msgstr \"오류: 알 수 없는 섹션 '{}'\"\n\n#~ msgid \"can't build package as root\"\n#~ msgstr \"관리자(루트)로 꾸러미를 빌드할 수 없음\"\n\n#~ msgid \"failed to build\"\n#~ msgstr \"빌드 실패\"\n\n#~ msgid \"parsing pkg list...\"\n#~ msgstr \"꾸러미 리스트 해석 중...\"\n\n#~ msgid \"\"\n#~ \"{} is a directory\\n\"\n#~ \"\\n\"\n#~ msgstr \"\"\n#~ \"{}은/는 디렉터리임\\n\"\n#~ \"\\n\"\n\n#~ msgid \"n\"\n#~ msgstr \"n\"\n\n#~ msgid \"no\"\n#~ msgstr \"no\"\n"
  },
  {
    "path": "po/nl.po",
    "content": "# DUTCH TRANSLATIONS.\n# Copyright (C) YEAR THE paru'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the paru package.\n# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.\n# Ewout van Mansom <ewout@vanmansom.name>, 2021.\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: paru VERSION\\n\"\n\"Report-Msgid-Bugs-To: https://github.com/Morganamilo/paru\\n\"\n\"POT-Creation-Date: 2026-01-08 17:40+0000\\n\"\n\"PO-Revision-Date: 2022-11-23 13:13+0100\\n\"\n\"Last-Translator: Philip Goto <philip.goto@gmail.com>\\n\"\n\"Language-Team: \\n\"\n\"Language: nl_NL\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=2; plural=(n != 1);\\n\"\n\"X-Generator: Poedit 3.1.1\\n\"\n\n#: src/clean.rs:36\nmsgid \"Do you want to clean ALL AUR packages from cache?\"\nmsgstr \"Wilt u ALLE AUR-pakketten uit de cache verwijderen?\"\n\n#: src/clean.rs:38\nmsgid \"Do you want to clean all other AUR packages from cache?\"\nmsgstr \"Wilt u alle andere AUR-pakketten uit de cache verwijderen?\"\n\n#: src/clean.rs:41\nmsgid \"Clone Directory: {}\"\nmsgstr \"Kloonmap: {}\"\n\n#: src/clean.rs:47\nmsgid \"\"\n\"\\n\"\n\"Diff Directory: {}\"\nmsgstr \"\"\n\"\\n\"\n\"Verschillenmap: {}\"\n\n#: src/clean.rs:49\nmsgid \"Do you want to remove all saved diffs?\"\nmsgstr \"Wilt u alle opgeslagen verschillen verwijderen?\"\n\n#: src/clean.rs:65\nmsgid \"can't open diff dir: {}\"\nmsgstr \"kan verschillenmap {} niet openen\"\n\n#: src/clean.rs:76 src/clean.rs:180\nmsgid \"could not remove '{}'\"\nmsgstr \"kon '{}' niet verwijderen\"\n\n#: src/clean.rs:95\nmsgid \"can't open clone dir: {}\"\nmsgstr \"kan kloonmap {} niet openen\"\n\n#: src/clean.rs:141\n#, fuzzy\nmsgid \"could not parse .SRCINFO for '{}'\"\nmsgstr \"kon .SRCINFO voor '{}' niet vinden\"\n\n#: src/command_line.rs:134\nmsgid \"option {} expects a value\"\nmsgstr \"optie {} verwacht een waarde\"\n\n#: src/command_line.rs:165 src/command_line.rs:382\nmsgid \"option {} does not allow a value\"\nmsgstr \"optie {} laat geen waarde toe\"\n\n#: src/command_line.rs:373\nmsgid \"unknown option --{}\"\nmsgstr \"onbekende optie --{}\"\n\n#: src/command_line.rs:376\nmsgid \"unknown option -{}\"\nmsgstr \"onbekende optie -{}\"\n\n#: src/completion.rs:26 src/search.rs:179 src/sync.rs:113\n#, fuzzy\nmsgid \"failed to decode package list\"\nmsgstr \"bronnen downloaden mislukt\"\n\n#: src/completion.rs:35\nmsgid \"failed to open cache file '{}'\"\nmsgstr \"kon het cachebestand '{}' niet openen\"\n\n#: src/completion.rs:83\nmsgid \"could not update aur cache\"\nmsgstr \"kon de AUR-cache niet updaten\"\n\n#: src/config.rs:179\nmsgid \"invalid value '{val}' for key '{key}', expected: {exp}\"\nmsgstr \"ongeldige waarde '{val}' voor sleutel '{key}', verwacht: {exp}\"\n\n#: src/config.rs:332\nmsgid \"unknown mode {}\"\nmsgstr \"onbekende modus {}\"\n\n#: src/config.rs:564\nmsgid \"section can not be called {}\"\nmsgstr \"sectie mag niet de naam {} hebben\"\n\n#: src/config.rs:581\nmsgid \"failed to find cache directory\"\nmsgstr \"kon de cachemap niet vinden\"\n\n#: src/config.rs:584\nmsgid \"failed to find config directory\"\nmsgstr \"kon de configuratiemap niet vinden\"\n\n#: src/config.rs:588\nmsgid \"failed to find state directory\"\nmsgstr \"kon de staatmap niet vinden\"\n\n#: src/config.rs:635\nmsgid \"config file '{}' does not exist\"\nmsgstr \"configuratiebestand '{}' bestaat niet\"\n\n#: src/config.rs:684\nmsgid \"only one operation may be used at a time\"\nmsgstr \"slechts één handeling per keer is toegestaan\"\n\n#: src/config.rs:795\nmsgid \"no local repo named {}\"\nmsgstr \"\"\n\n#: src/config.rs:821\nmsgid \"can not find local repo '{}' in pacman.conf\"\nmsgstr \"kan lokale repo '{}' in pacman.conf niet vinden\"\n\n#: src/config.rs:866\nmsgid \"failed to initialize alpm: root={} dbpath={}\"\nmsgstr \"initialiseren van alpm mislukt: root={} dbpath={}\"\n\n#: src/config.rs:941 src/config.rs:1102\nmsgid \"value can not be empty for key '{}'\"\nmsgstr \"waarde mag niet leeg zijn voor sleutel '{}'\"\n\n#: src/config.rs:957\nmsgid \"key '{}' does not belong to a section\"\nmsgstr \"sleutel '{}' behoort niet tot een sectie\"\n\n#: src/config.rs:971 src/config.rs:988 src/config.rs:990 src/config.rs:1005\nmsgid \"key can not be empty\"\nmsgstr \"sleutel mag niet leeg zijn\"\n\n#: src/config.rs:981\nmsgid \"error: unknown option '{}' in repo\"\nmsgstr \"fout: onbekende optie '{}' in repo\"\n\n#: src/config.rs:991\nmsgid \"key can not contain null bytes\"\nmsgstr \"sleutel mag geen null-bytes bevatten\"\n\n#: src/config.rs:994\nmsgid \"value can not contain null bytes\"\nmsgstr \"waarde mag geen null-bytes bevatten\"\n\n#: src/config.rs:1030\nmsgid \"error: unknown option '{}' in section [bin]\"\nmsgstr \"fout: onbekende optie '{}' in sectie [bin]\"\n\n#: src/config.rs:1150\nmsgid \"error: unknown option '{}' in section [options]\"\nmsgstr \"fout: onbekende optie '{}' in sectie [options]\"\n\n#: src/config.rs:1155\nmsgid \"option '{}' does not take a value\"\nmsgstr \"optie '{}' neemt geen waarde aan\"\n\n#: src/config.rs:1187 src/resolver.rs:136\nmsgid \"There are {n} providers available for {pkg}:\"\nmsgstr \"Er zijn {n} aanbieders beschikbaar voor {pkg}:\"\n\n#: src/config.rs:1201 src/info.rs:85 src/info.rs:190 src/info.rs:224\n#: src/resolver.rs:95 src/resolver.rs:144\nmsgid \"Repository\"\nmsgstr \"Repository\"\n\n#: src/config.rs:1227\nmsgid \"  failed to sync {}\"\nmsgstr \"  synchronizeren van {} mislukt\"\n\n#: src/devel.rs:136 src/download.rs:207\nmsgid \"Querying AUR...\"\nmsgstr \"AUR doorzoeken...\"\n\n#: src/devel.rs:157 src/devel.rs:181 src/install.rs:203\nmsgid \"failed to parse srcinfo for '{}'\"\nmsgstr \"parsen van SRCINFO is mislukt voor '{}'\"\n\n#: src/devel.rs:201\nmsgid \"Looking for devel repos...\"\nmsgstr \"Zoeken naar devel-repo's...\"\n\n#: src/devel.rs:210\nmsgid \"failed to save devel info\"\nmsgstr \"opslaan van devel-info mislukt\"\n\n#: src/devel.rs:218\nmsgid \"failed to create state directory: {}\"\nmsgstr \"staatmap aanmaken mislukt: {}\"\n\n#: src/devel.rs:233\nmsgid \"failed to create temporary file: {}\"\nmsgstr \"tijdelijk bestand aanmaken mislukt: {}\"\n\n#: src/devel.rs:238\nmsgid \"failed to write to temporary file: {}\"\nmsgstr \"tijdelijk bestand schrijven mislukt: {}\"\n\n#: src/devel.rs:244\n#, fuzzy\nmsgid \"failed to rename '{temp}' to '{devel_toml}\"\nmsgstr \"'{temp}' hernoemen naar '{devel_json}' mislukt\"\n\n#: src/devel.rs:490\nmsgid \"package does not have an update\"\nmsgstr \"pakket heeft geen update\"\n\n#: src/devel.rs:536\nmsgid \"failed to lookup: {}\"\nmsgstr \"opzoeken mislukt: {}\"\n\n#: src/devel.rs:564\n#, fuzzy\nmsgid \"invalid toml: {}\"\nmsgstr \"ongeldige json: {}\"\n\n#: src/download.rs:100\nmsgid \"packages not in the AUR: \"\nmsgstr \"pakketten die niet in de AUR staan: \"\n\n#: src/download.rs:111\nmsgid \"marked out of date: \"\nmsgstr \"gemarkeerd als verouderd: \"\n\n#: src/download.rs:122\nmsgid \"orphans: \"\nmsgstr \"onbeheerd: \"\n\n#: src/download.rs:260\nmsgid \"downloading: {pkg}\"\nmsgstr \"downloaden: {pkg}\"\n\n#: src/download.rs:279 src/download.rs:602 src/info.rs:55 src/info.rs:180\n#: src/query.rs:49\nmsgid \"package '{}' was not found\"\nmsgstr \"pakket '{}' is niet gevonden\"\n\n#: src/download.rs:291\n#, fuzzy\nmsgid \"duplicate PKGBUILD: {}\"\nmsgstr \"dubbele pakketten: {}\"\n\n#: src/download.rs:307\nmsgid \"package '{}' exists but has no PKGBUILD -- skipping\"\nmsgstr \"\"\n\n#: src/download.rs:340\nmsgid \"Downloading PKGBUILDs...\"\nmsgstr \"PKGBUILDs downloaden...\"\n\n#: src/download.rs:344\nmsgid \" PKGBUILDs up to date\"\nmsgstr \" PKGBUILDs zijn nog actueel\"\n\n#: src/exec.rs:72\nmsgid \"failed to run:\"\nmsgstr \"starten mislukt:\"\n\n#: src/exec.rs:174\nmsgid \"Pacman is currently in use, please wait...\"\nmsgstr \"Pacman is momenteel in gebruik, gelieve even te wachten...\"\n\n#: src/fmt.rs:24 src/info.rs:275 src/search.rs:293 src/search.rs:350\nmsgid \"None\"\nmsgstr \"Geen\"\n\n#: src/fmt.rs:245\nmsgid \"Repo\"\nmsgstr \"Repo\"\n\n#: src/fmt.rs:252\nmsgid \"Repo Make\"\nmsgstr \"Repo (bouw)\"\n\n#: src/fmt.rs:272\nmsgid \"Pkgbuilds Make\"\nmsgstr \"PKGBUILDs (bouw)\"\n\n#: src/fmt.rs:274\nmsgid \"Aur Make\"\nmsgstr \"AUR (bouw)\"\n\n#: src/fmt.rs:319\nmsgid \"Repo ({})\"\nmsgstr \"Repo ({})\"\n\n#: src/fmt.rs:327\nmsgid \"Old Version\"\nmsgstr \"Oude versie\"\n\n#: src/fmt.rs:328\nmsgid \"New Version\"\nmsgstr \"Nieuwe versie\"\n\n#: src/fmt.rs:329\nmsgid \"Make Only\"\nmsgstr \"Alleen bouwen\"\n\n#: src/fmt.rs:330\nmsgid \"Yes\"\nmsgstr \"Ja\"\n\n#: src/fmt.rs:331 src/info.rs:221\nmsgid \"No\"\nmsgstr \"Nee\"\n\n#: src/fmt.rs:419\nmsgid \"insufficient columns available for table display\"\nmsgstr \"onvoldoende kolommen beschikbaar voor tabelweergave\"\n\n#: src/help.rs:4\nmsgid \"Usage:\"\nmsgstr \"Gebruik:\"\n\n#: src/help.rs:5\nmsgid \"    paru\"\nmsgstr \"    paru\"\n\n#: src/help.rs:6\nmsgid \"    paru <operation> [...]\"\nmsgstr \"    paru <handeling> [...]\"\n\n#: src/help.rs:7\nmsgid \"    paru <package(s)>\"\nmsgstr \"    paru <pakket(ten)>\"\n\n#: src/help.rs:9\nmsgid \"Pacman operations:\"\nmsgstr \"Pacman-handelingen:\"\n\n#: src/help.rs:10\nmsgid \"    paru {-h --help}\"\nmsgstr \"    paru {-h --help}\"\n\n#: src/help.rs:11\nmsgid \"    paru {-V --version}\"\nmsgstr \"    paru {-V --version}\"\n\n#: src/help.rs:12\nmsgid \"    paru {-D --database}    <options> <package(s)>\"\nmsgstr \"    paru {-D --database}    <opties> <pakket(ten)>\"\n\n#: src/help.rs:13\nmsgid \"    paru {-F --files}       [options] [package(s)]\"\nmsgstr \"    paru {-F --files}       [opties] [pakket(ten)]\"\n\n#: src/help.rs:14\nmsgid \"    paru {-Q --query}       [options] [package(s)]\"\nmsgstr \"    paru {-Q --query}       [opties] [pakket(ten)]\"\n\n#: src/help.rs:15\nmsgid \"    paru {-R --remove}      [options] <package(s)>\"\nmsgstr \"    paru {-R --remove}      [opties] <pakket(ten)>\"\n\n#: src/help.rs:16\nmsgid \"    paru {-S --sync}        [options] [package(s)]\"\nmsgstr \"    paru {-S --sync}        [opties] [pakket(ten)]\"\n\n#: src/help.rs:17\nmsgid \"    paru {-T --deptest}     [options] [package(s)]\"\nmsgstr \"    paru {-T --deptest}     [opties] [pakket(ten)]\"\n\n#: src/help.rs:18\nmsgid \"    paru {-U --upgrade}     [options] [file(s)]\"\nmsgstr \"    paru {-U --upgrade}     [opties] [bestand(en)]\"\n\n#: src/help.rs:20\nmsgid \"New operations:\"\nmsgstr \"Nieuwe handelingen:\"\n\n#: src/help.rs:21\nmsgid \"    paru {-P --show}        [options]\"\nmsgstr \"    paru {-P --show}        [opties]\"\n\n#: src/help.rs:22\nmsgid \"    paru {-G --getpkgbuild} [package(s)]\"\nmsgstr \"    paru {-G --getpkgbuild} [pakket(ten)]\"\n\n#: src/help.rs:23\n#, fuzzy\nmsgid \"    paru {-B --build}       [dir(s)]\"\nmsgstr \"    paru {-P --show}        [opties]\"\n\n#: src/help.rs:25\nmsgid \"If no arguments are provided 'paru -Syu' will be performed\"\nmsgstr \"\"\n\"Indien geen argumenten zijn meegegeven, zal 'paru -Syu' worden uitgevoerd\"\n\n#: src/help.rs:27\nmsgid \"Options without operation:\"\nmsgstr \"Opties zonder handeling:\"\n\n#: src/help.rs:28\nmsgid \"    -c --clean            Remove unneeded dependencies\"\nmsgstr \"    -c --clean               Verwijder onnodige afhankelijkheden\"\n\n#: src/help.rs:29\nmsgid \"\"\n\"       --gendb            Generates development package DB used for updating\"\nmsgstr \"\"\n\"       --gendb               Genereert ontwikkelingspakketdatabase gebruikt \"\n\"voor updaten\"\n\n#: src/help.rs:31\nmsgid \"New options:\"\nmsgstr \"Nieuwe opties:\"\n\n#: src/help.rs:32\nmsgid \"       --repo              Assume targets are from the repositories\"\nmsgstr \"\"\n\"       --repo                Ga ervan uit dat doelen van de repositories \"\n\"komen\"\n\n#: src/help.rs:33\n#, fuzzy\nmsgid \"\"\n\"       --pkgbuilds         Assume targets are from pkgbuild repositories\"\nmsgstr \"\"\n\"       --repo                Ga ervan uit dat doelen van de repositories \"\n\"komen\"\n\n#: src/help.rs:34\nmsgid \"    -a --aur               Assume targets are from the AUR\"\nmsgstr \"    -a --aur                 Ga ervan uit dat doelen van de AUR komen\"\n\n#: src/help.rs:35\nmsgid \"    --mode      <mode>     Sets where paru looks for targets\"\nmsgstr \"\"\n\n#: src/help.rs:37\nmsgid \"\"\n\"    --interactive          Enable interactive package selection for -S, -R, \"\n\"-Ss and -Qs\"\nmsgstr \"\"\n\n#: src/help.rs:39\nmsgid \"    --aururl    <url>      Set an alternative AUR URL\"\nmsgstr \"    --aururl    <url>        Stel een alternatieve AUR-URL in\"\n\n#: src/help.rs:40\n#, fuzzy\nmsgid \"\"\n\"    --aurrpcur  <url>      Set an alternative URL for the AUR /rpc endpoint\"\nmsgstr \"    --aururl    <url>        Stel een alternatieve AUR-URL in\"\n\n#: src/help.rs:41\nmsgid \"    --clonedir  <dir>      Directory used to download and run PKGBUILDs\"\nmsgstr \"\"\n\"    --clonedir  <map>        Map die wordt gebruikt om PKGBUILDs te \"\n\"downloaden en uit te voeren\"\n\n#: src/help.rs:43\nmsgid \"    --makepkg   <file>     makepkg command to use\"\nmsgstr \"    --makepkg   <bestand>    makepkg-commando om te gebruiken\"\n\n#: src/help.rs:44\nmsgid \"    --mflags    <flags>    Pass arguments to makepkg\"\nmsgstr \"    --mflags    <argumenten> Geef argumenten mee aan makepkg\"\n\n#: src/help.rs:45\nmsgid \"    --pacman    <file>     pacman command to use\"\nmsgstr \"    --pacman    <bestand>    pacman-commando om te gebruiken\"\n\n#: src/help.rs:46\nmsgid \"    --git       <file>     git command to use\"\nmsgstr \"    --git       <bestand>    git-commando om te gebruiken\"\n\n#: src/help.rs:47\nmsgid \"    --gitflags  <flags>    Pass arguments to git\"\nmsgstr \"    --gitflags  <argumenten> Geef argumenten mee aan git\"\n\n#: src/help.rs:48\nmsgid \"    --sudo      <file>     sudo command to use\"\nmsgstr \"    --sudo      <bestand>    sudo-commando om te gebruiken\"\n\n#: src/help.rs:49\nmsgid \"    --sudoflags <flags>    Pass arguments to sudo\"\nmsgstr \"    --sudoflags <argumenten> Geef argumenten mee aan sudo\"\n\n#: src/help.rs:50\n#, fuzzy\nmsgid \"    --pkgctl    <file>     pkgctl command to use\"\nmsgstr \"    --git       <bestand>    git-commando om te gebruiken\"\n\n#: src/help.rs:51\nmsgid \"    --bat       <file>     bat command to use\"\nmsgstr \"    --bat       <bestand>    bat-commando om te gebruiken\"\n\n#: src/help.rs:52\nmsgid \"    --batflags  <flags>    Pass arguments to bat\"\nmsgstr \"    --batflags  <argumenten> Geef argumenten mee aan bat\"\n\n#: src/help.rs:53\nmsgid \"    --gpg       <file>     gpg command to use\"\nmsgstr \"    --gpg       <bestand>    gpg-commando om te gebruiken\"\n\n#: src/help.rs:54\nmsgid \"    --gpgflags  <flags>    Pass arguments to gpg\"\nmsgstr \"    --gpgflags  <argumenten> Geef argumenten mee aan gpg\"\n\n#: src/help.rs:55\nmsgid \"    --fm        <file>     File manager to use for PKGBUILD review\"\nmsgstr \"\"\n\"    --fm        <bestand>    Bestandsbeheerder voor het controleren van \"\n\"PKGBUILDs\"\n\n#: src/help.rs:56\nmsgid \"    --fmflags   <flags>    Pass arguments to file manager\"\nmsgstr \"\"\n\"    --fmflags   <argumenten> Geef argumenten mee aan de bestandsbeheerder\"\n\n#: src/help.rs:58\nmsgid \"    --completioninterval   <n> Time in days to refresh completion cache\"\nmsgstr \"\"\n\"    --completioninterval <n> Aantal dagen waarna de automatisch-aanvullen-\"\n\"cache wordt ververst\"\n\n#: src/help.rs:59\nmsgid \"\"\n\"    --sortby    <field>    Sort AUR results by a specific field during search\"\nmsgstr \"\"\n\"    --sortby    <veld>       Sorteer AUR-resultaten op een aangegeven veld \"\n\"tijdens het zoeken\"\n\n#: src/help.rs:60\nmsgid \"    --searchby  <field>    Search for packages using a specified field\"\nmsgstr \"\"\n\"    --searchby  <veld>       Zoek naar pakketten binnen een aangegeven veld\"\n\n#: src/help.rs:61\nmsgid \"\"\n\"    --limit     <limit>    Limits the number of items returned in a search\"\nmsgstr \"    --limit     <limiet>     Limiteert het aantal zoekresultaten\"\n\n#: src/help.rs:62\nmsgid \"    -x --regex             Enable regex for aur search\"\nmsgstr \"\"\n\"    -x --regex               Reguliere expressies gebruiken bij het zoeken \"\n\"in de AUR\"\n\n#: src/help.rs:64\nmsgid \"    --skipreview           Skip the review process\"\nmsgstr \"    --skipreview             Het controleproces overslaan\"\n\n#: src/help.rs:65\nmsgid \"    --review               Don't skip the review process\"\nmsgstr \"    --review                 Het controleproces niet overslaan\"\n\n#: src/help.rs:66\nmsgid \"    --[no]upgrademenu      Show interactive menu to skip upgrades\"\nmsgstr \"\"\n\"    --[no]upgrademenu        Interactief menu tonen om upgrades over te slaan\"\n\n#: src/help.rs:67\nmsgid \"    --[no]removemake       Remove makedepends after install\"\nmsgstr \"\"\n\"    --[no]removemake         Bouwafhalkelijkheden verwijderen na de \"\n\"installatie\"\n\n#: src/help.rs:68\nmsgid \"    --[no]cleanafter       Remove package sources after install\"\nmsgstr \"\"\n\"    --[no]cleanafter         Pakketbronnen verwijderen na de installatie\"\n\n#: src/help.rs:69\nmsgid \"    --[no]rebuild          Always build target packages\"\nmsgstr \"    --[no]rebuild            Doelpakketten altijd bouwen\"\n\n#: src/help.rs:70\nmsgid \"    --[no]redownload       Always download PKGBUILDs of targets\"\nmsgstr \"    --[no]redownload         PKGBUILDs van doelen altijd downloaden\"\n\n#: src/help.rs:72\nmsgid \"    --[no]pgpfetch         Prompt to import PGP keys from PKGBUILDs\"\nmsgstr \"\"\n\"    --[no]pgpfetch           Vragen om PGP-sleutels van PKGBUILDs te \"\n\"importeren\"\n\n#: src/help.rs:73\nmsgid \"\"\n\"    --[no]useask           Automatically resolve conflicts using pacman's \"\n\"ask flag\"\nmsgstr \"\"\n\"    --[no]useask             Automatisch conflicten oplossen gebruikmakend \"\n\"van pacman's ask-argument\"\n\n#: src/help.rs:74\nmsgid \"\"\n\"    --[no]savechanges      Commit changes to pkgbuilds made during review\"\nmsgstr \"\"\n\"    --[no]savechanges        Veranderingen die gemaakt zijn tijdens de \"\n\"controle doorvoeren in PKGBUILDs\"\n\n#: src/help.rs:75\nmsgid \"    --[no]newsonupgrade    Print new news during sysupgrade\"\nmsgstr \"    --[no]newsonupgrade      Nieuws printen tijdens een systeemupgrade\"\n\n#: src/help.rs:76\nmsgid \"\"\n\"    --[no]combinedupgrade  Refresh then perform the repo and AUR upgrade \"\n\"together\"\nmsgstr \"\"\n\"    --[no]combinedupgrade    Bijwerken, en vervolgens de repo- en AUR-\"\n\"upgrades samen uitvoeren\"\n\n#: src/help.rs:77\nmsgid \"\"\n\"    --[no]batchinstall     Build multiple AUR packages then install them \"\n\"together\"\nmsgstr \"\"\n\"    --[no]batchinstall       Meerdere AUR-pakketten bouwen, en deze \"\n\"vervolgens samen installeren\"\n\n#: src/help.rs:78\nmsgid \"\"\n\"    --[no]provides         Look for matching providers when searching for \"\n\"packages\"\nmsgstr \"\"\n\"    --[no]provides           Naar overeenkomende voorzieningen zoeken bij \"\n\"het zoeken naar pakketten\"\n\n#: src/help.rs:79\nmsgid \"    --[no]devel            Check development packages during sysupgrade\"\nmsgstr \"\"\n\"    --[no]devel              Op ontwikkelingspakketten controleren tijdens \"\n\"een systeemupgrade\"\n\n#: src/help.rs:80\nmsgid \"\"\n\"    --[no]installdebug     Also install debug packages when a package \"\n\"provides them\"\nmsgstr \"\"\n\"    --[no]installdebug       Tevens debug-pakketten installeren wanneer deze \"\n\"beschikbaar zijn\"\n\n#: src/help.rs:81\nmsgid \"\"\n\"    --[no]sudoloop         Loop sudo calls in the background to avoid timeout\"\nmsgstr \"\"\n\"    --[no]sudoloop           Blijf sudo-commando's in de achtergrond \"\n\"uitvoeren om een timeout te voorkomen\"\n\n#: src/help.rs:82\nmsgid \"    --[no]chroot           Build packages in a chroot\"\nmsgstr \"    --[no]chroot             Pakketten in een chroot bouwen\"\n\n#: src/help.rs:83\nmsgid \"\"\n\"    --[no]failfast         Exit as soon as building an AUR package fails\"\nmsgstr \"\"\n\"    --[no]failfast           Direct afsluiten wanneer het bouwen van een AUR-\"\n\"pakket mislukt\"\n\n#: src/help.rs:84\nmsgid \"\"\n\"    --[no]keepsrc          Keep src/ and pkg/ dirs after building packages\"\nmsgstr \"\"\n\"    --[no]keepsrc            De mappen src/ en pkg/ behouden na het bouwen \"\n\"van pakketten\"\n\n#: src/help.rs:85\nmsgid \"    --[no]sign             Sign packages with gpg\"\nmsgstr \"    --[no]sign               Pakketten signeren met gpg\"\n\n#: src/help.rs:86\nmsgid \"    --[no]signdb           Sign databases with gpg\"\nmsgstr \"    --[no]signdb             Databases signeren met gpg\"\n\n#: src/help.rs:87\n#, fuzzy\nmsgid \"    --[no]localrepo        Build packages into a local repo\"\nmsgstr \"    --localrepo              Pakketten naar een lokale repo bouwen\"\n\n#: src/help.rs:88\nmsgid \"\"\n\"    --nocheck              Don't resolve checkdepends or run the check \"\n\"function\"\nmsgstr \"\"\n\"    --nocheck                De testafhankelijkheden en de testfunctie \"\n\"negeren\"\n\n#: src/help.rs:90\nmsgid \"\"\n\"    --rootchrootpkgs       Packages to install in the root chroot (default: \"\n\"base-devel)\"\nmsgstr \"\"\n\n#: src/help.rs:92\nmsgid \"\"\n\"    --develsuffixes        Suffixes used to decide if a package is a devel \"\n\"package\"\nmsgstr \"\"\n\"    --develsuffixes          Achtervoegsels die gebruikt worden om te \"\n\"controleren of een pakket een ontwikkelingspakket is\"\n\n#: src/help.rs:93\n#, fuzzy\nmsgid \"    --ignoredevel          Ignore devel upgrades for specified packages\"\nmsgstr \"\"\n\"    --[no]provides           Naar overeenkomende voorzieningen zoeken bij \"\n\"het zoeken naar pakketten\"\n\n#: src/help.rs:94\nmsgid \"\"\n\"    --bottomup             Shows AUR's packages first and then repository's\"\nmsgstr \"\"\n\"    --bottomup               AUR-pakketten voor repository-pakketten tonen\"\n\n#: src/help.rs:95\nmsgid \"\"\n\"    --topdown              Shows repository's packages first and then AUR's\"\nmsgstr \"\"\n\"    --topdown                Repository-pakketten voor AUR-pakketten tonen\"\n\n#: src/help.rs:97\nmsgid \"show specific options:\"\nmsgstr \"Opties voor weergave:\"\n\n#: src/help.rs:98\nmsgid \"    -c --complete         Used for completions\"\nmsgstr \"    -c --complete            Gebruikt voor automatisch aanvullen\"\n\n#: src/help.rs:99\nmsgid \"    -s --stats            Display system package statistics\"\nmsgstr \"    -s --stats               Systeempakketstatistieken tonen\"\n\n#: src/help.rs:100\nmsgid \"    -w --news             Print arch news\"\nmsgstr \"    -w --news                Arch-nieuws printen\"\n\n#: src/help.rs:102\nmsgid \"getpkgbuild specific options:\"\nmsgstr \"Opties voor getpkgbuild:\"\n\n#: src/help.rs:103\nmsgid \"    -p --print            Print pkgbuild to stdout\"\nmsgstr \"    -p --print               PKGBUILD naar standaarduitvoer printen\"\n\n#: src/help.rs:104\nmsgid \"    -c --comments         Print AUR comments for pkgbuild\"\nmsgstr \"    -c --comments            AUR-comments van de pkgbuild printen\"\n\n#: src/help.rs:105\nmsgid \"    -s --ssh              Clone package using SSH\"\nmsgstr \"    -s --ssh                 Pakket met SSH klonen\"\n\n#: src/help.rs:107\n#, fuzzy\nmsgid \"Build specific options:\"\nmsgstr \"Opties voor getpkgbuild:\"\n\n#: src/help.rs:108\nmsgid \"    -i --install          Install package as well as building\"\nmsgstr \"    -i --install             Pakket installeren naast deze te bouwen\"\n\n#: src/info.rs:86 src/info.rs:191 src/info.rs:225\nmsgid \"Name\"\nmsgstr \"Naam\"\n\n#: src/info.rs:87 src/info.rs:192 src/info.rs:226\nmsgid \"Version\"\nmsgstr \"Versie\"\n\n#: src/info.rs:88 src/info.rs:193 src/info.rs:227\nmsgid \"Description\"\nmsgstr \"Omschrijving\"\n\n#: src/info.rs:89 src/info.rs:195 src/info.rs:235\nmsgid \"Groups\"\nmsgstr \"Groepen\"\n\n#: src/info.rs:90 src/info.rs:196 src/info.rs:236\nmsgid \"Licenses\"\nmsgstr \"Licenties\"\n\n#: src/info.rs:91 src/info.rs:197 src/info.rs:237\nmsgid \"Provides\"\nmsgstr \"Voorziet\"\n\n#: src/info.rs:92 src/info.rs:198 src/info.rs:238\nmsgid \"Depends On\"\nmsgstr \"Is afhankelijk van\"\n\n#: src/info.rs:93 src/info.rs:199 src/info.rs:239\nmsgid \"Make Deps\"\nmsgstr \"Bouw-afhankelijkheden\"\n\n#: src/info.rs:94 src/info.rs:200 src/info.rs:240\nmsgid \"Check Deps\"\nmsgstr \"Check-afhankelijkheden\"\n\n#: src/info.rs:95 src/info.rs:201 src/info.rs:241\nmsgid \"Optional Deps\"\nmsgstr \"Optionele afhankelijkheden\"\n\n#: src/info.rs:96 src/info.rs:202 src/info.rs:242\nmsgid \"Conflicts With\"\nmsgstr \"Is in strijd met\"\n\n#: src/info.rs:97 src/info.rs:243\nmsgid \"Maintainer\"\nmsgstr \"Eigenaar\"\n\n#: src/info.rs:98 src/info.rs:244\nmsgid \"Votes\"\nmsgstr \"Stemmen\"\n\n#: src/info.rs:99 src/info.rs:245\nmsgid \"Popularity\"\nmsgstr \"Populariteit\"\n\n#: src/info.rs:100 src/info.rs:246\nmsgid \"First Submitted\"\nmsgstr \"Eerst toegevoegd\"\n\n#: src/info.rs:101 src/info.rs:247\nmsgid \"Last Modified\"\nmsgstr \"Laatst bewerkt\"\n\n#: src/info.rs:102 src/info.rs:249\nmsgid \"Out Of Date\"\nmsgstr \"Verouderd\"\n\n#: src/info.rs:103 src/info.rs:254\nmsgid \"ID\"\nmsgstr \"ID\"\n\n#: src/info.rs:104 src/info.rs:255\nmsgid \"Package Base ID\"\nmsgstr \"Basis-ID van pakket\"\n\n#: src/info.rs:105 src/info.rs:256\nmsgid \"Keywords\"\nmsgstr \"Trefwoorden\"\n\n#: src/info.rs:106 src/info.rs:258\nmsgid \"Snapshot URL\"\nmsgstr \"URL van momentopname\"\n\n#: src/info.rs:107 src/info.rs:203\nmsgid \"Path\"\nmsgstr \"Pad\"\n\n#: src/install.rs:166 src/query.rs:48 src/lib.rs:101\nmsgid \"error:\"\nmsgstr \"fout:\"\n\n#: src/install.rs:167\nmsgid \"could not get news\"\nmsgstr \"kon geen nieuws ophalen\"\n\n#: src/install.rs:172 src/install.rs:1127\nmsgid \"Proceed with installation?\"\nmsgstr \"Doorgaan met installatie?\"\n\n#: src/install.rs:207\nmsgid \"could not find .SRCINFO for '{}'\"\nmsgstr \"kon .SRCINFO voor '{}' niet vinden\"\n\n#: src/install.rs:353\nmsgid \"could not find package '{pkg}' in package list for '{base}'\"\nmsgstr \"kon het pakket {pkg} niet vinden in de pakketlijst van '{base}'\"\n\n#: src/install.rs:451\nmsgid \"packages failed to build: {}\"\nmsgstr \"pakketten die niet gebouwd konden worden: {}\"\n\n#: src/install.rs:523\nmsgid \"adding {} to the install list\"\nmsgstr \"{} aan de installatielijst aan het toevoegen\"\n\n#: src/install.rs:553 src/install.rs:568\nmsgid \"failed to download sources for '{}'\"\nmsgstr \"bron van '{}' downloaden mislukt\"\n\n#: src/install.rs:577 src/install.rs:603 src/install.rs:611\nmsgid \"failed to build '{}'\"\nmsgstr \"bouwen van '{}' mislukt\"\n\n#: src/install.rs:580 src/install.rs:784\nmsgid \"{}: parsing pkg list...\"\nmsgstr \"{}: pakketlijst parsen...\"\n\n#: src/install.rs:584\nmsgid \"package list does not match srcinfo\"\nmsgstr \"pakketlijst komt niet overeen met srcinfo\"\n\n#: src/install.rs:618\nmsgid \"{}-{} is up to date -- skipping build\"\nmsgstr \"{}-{} is nog actueel -- bouwen wordt overgeslagen\"\n\n#: src/install.rs:775\nmsgid \"can't build {base}, deps not satisfied: {deps}\"\nmsgstr \"kan {base} niet bouwen, afhankelijkheden niet voldaan: {deps}\"\n\n#: src/install.rs:846\nmsgid \"fetching devel info...\"\nmsgstr \"devel-info ophalen...\"\n\n#: src/install.rs:911 src/lib.rs:240\nmsgid \"no targets specified (use -h for help)\"\nmsgstr \"geen doelen gespecificeerd (gebruik -h voor hulp)\"\n\n#: src/install.rs:1008 src/install.rs:1097 src/search.rs:450 src/search.rs:476\n#: src/lib.rs:304\nmsgid \" there is nothing to do\"\nmsgstr \" er valt niets te doen\"\n\n#: src/install.rs:1016\nmsgid \"Resolving dependencies...\"\nmsgstr \"Afhankelijkheden oplossen...\"\n\n#: src/install.rs:1077\nmsgid \"can't install AUR package as root\"\nmsgstr \"kan AUR-pakket niet als root installeren\"\n\n#: src/install.rs:1080\nmsgid \"--downloadonly can't be used for AUR packages\"\nmsgstr \"--downloadonly kan niet worden gebruikt voor AUR-pakketen\"\n\n#: src/install.rs:1113\nmsgid \"Remove make dependencies after install?\"\nmsgstr \"Bouwafhankelijke pakketten verwijderen na installatie?\"\n\n#: src/install.rs:1124\nmsgid \"Proceed to review?\"\nmsgstr \"Doorgaan naar controleren?\"\n\n#: src/install.rs:1177\nmsgid \"no architecture\"\nmsgstr \"geen architectuur\"\n\n#: src/install.rs:1191\nmsgid \"The following packages are not compatible with your architecture:\"\nmsgstr \"De volgende pakketten zijn niet compatibel met uw architectuur:\"\n\n#: src/install.rs:1205\nmsgid \"Would you like to try build them anyway?\"\nmsgstr \"Wilt u deze toch proberen te bouwen?\"\n\n#: src/install.rs:1349\nmsgid \"duplicate packages: {}\"\nmsgstr \"dubbele pakketten: {}\"\n\n#: src/install.rs:1353\nmsgid \"could not find all required packages:\"\nmsgstr \"kon niet alle benodigde pakketten vinden:\"\n\n#: src/install.rs:1365\nmsgid \"\"\n\"\\n\"\n\"    {missing} (wanted by: {stack})\"\nmsgstr \"\"\n\"\\n\"\n\"    {missing} (nodig voor: {stack})\"\n\n#: src/install.rs:1379 src/install.rs:2122\nmsgid \"{}-{} is up to date -- skipping\"\nmsgstr \"{}-{} is actueel -- overslaan\"\n\n#: src/install.rs:1387\nmsgid \"Calculating conflicts...\"\nmsgstr \"Conflicten berekenen...\"\n\n#: src/install.rs:1410\nmsgid \"Calculating inner conflicts...\"\nmsgstr \"Interne conflicten berekenen...\"\n\n#: src/install.rs:1422\nmsgid \"Inner conflicts found:\"\nmsgstr \"Interne conflicten gevonden:\"\n\n#: src/install.rs:1444\nmsgid \"Conflicts found:\"\nmsgstr \"Conflicten gevonden:\"\n\n#: src/install.rs:1467\nmsgid \"Conflicting packages will have to be confirmed manually\"\nmsgstr \"Conflicterende pakketten moeten handmatig bevestigd worden\"\n\n#: src/install.rs:1471\nmsgid \"can not install conflicting packages with --noconfirm\"\nmsgstr \"kan geen conflicterende pakketten installeren met --noconfirm\"\n\n#: src/install.rs:1599\nmsgid \"failed to execute file manager: {}\"\nmsgstr \"kon bestandsbeheerder niet uitvoeren: {}\"\n\n#: src/install.rs:1602\n#, fuzzy\nmsgid \"file manager '{}' did not execute successfully\"\nmsgstr \"bestandsbeheerder niet succesvol uitgevoerd\"\n\n#: src/install.rs:1620\nmsgid \"failed to read dir: {}\"\nmsgstr \"uitlezen van map {} mislukt\"\n\n#: src/install.rs:1677\nmsgid \"failed to open: {}\"\nmsgstr \"openen van {} mislukt\"\n\n#: src/install.rs:1697\nmsgid \"binary file: {}\"\nmsgstr \"binair bestand: {}\"\n\n#: src/install.rs:1719 src/install.rs:1790\nmsgid \"Accept changes?\"\nmsgstr \"Wijzigingen accepteren?\"\n\n#: src/install.rs:1759\nmsgid \"Paging with less. Press 'q' to quit or 'h' for help.\"\nmsgstr \"\"\n\n#: src/install.rs:1794\nmsgid \" nothing new to review\"\nmsgstr \" niets nieuws om te controleren\"\n\n#: src/install.rs:2070\nmsgid \"can't find package name in packagelist: {}\"\nmsgstr \"kon de pakketnaam niet vinden in de pakketlijst: {}\"\n\n#: src/install.rs:2142\nmsgid \"Signing packages...\"\nmsgstr \"Pakketten signeren...\"\n\n#: src/install.rs:2172\nmsgid \"{}-{} is up to date -- skipping install\"\nmsgstr \"{}-{} is actueel -- installatie overslaan\"\n\n#: src/keys.rs:57\nmsgid \"keys need to be imported:\"\nmsgstr \"sleutels moeten geïmporteerd worden:\"\n\n#: src/keys.rs:62\nmsgid \"     {key} wanted by: {base}\"\nmsgstr \"     {key} gewenst door: {base}\"\n\n#: src/news.rs:57\nmsgid \"No Date \"\nmsgstr \"Geen datum \"\n\n#: src/news.rs:60\nmsgid \"No Title\"\nmsgstr \"Geen titel\"\n\n#: src/news.rs:69\nmsgid \"no new news\"\nmsgstr \"niets nieuws\"\n\n#: src/pkgbuild.rs:91\nmsgid \"repo {} does not have a URL or Path\"\nmsgstr \"repo {} heeft geen URL of pad\"\n\n#: src/pkgbuild.rs:153\n#, fuzzy\nmsgid \"repo {} not downloaded (use -Sy --pkgbuilds to download)\"\nmsgstr \"repo {} niet gedownload (gebruik -Sya om te downloaden)\"\n\n#: src/pkgbuild.rs:200\nmsgid \"Generating .SRCINFO for {repo}/{dir}...\"\nmsgstr \".SRCINFO aanmaken voor {repo}/{dir}...\"\n\n#: src/pkgbuild.rs:278\nmsgid \"failed to parse srcinfo \\\"{}\\\"\"\nmsgstr \"parsen van srcinfo is mislukt: '{}'\"\n\n#: src/pkgbuild.rs:368\nmsgid \"Downloading PKGBUILD Repos...\"\nmsgstr \"PKGBUILD-repo's downloaden...\"\n\n#: src/pkgbuild.rs:422\nmsgid \"failed to parse srcinfo generated by makepkg\"\nmsgstr \"het parsen van de gegenereerde srcinfo door makepkg is mislukt\"\n\n#: src/query.rs:151\nmsgid \" [ignored]\"\nmsgstr \" [genegeerd]\"\n\n#: src/repo.rs:253\nmsgid \"failed to get current exe\"\nmsgstr \"huidige exe ophalen mislukt\"\n\n#: src/repo.rs:298\nmsgid \"syncing local databases...\"\nmsgstr \"lokale databases synchronizeren...\"\n\n#: src/repo.rs:304\nmsgid \"  nothing to do\"\nmsgstr \"  niets te doen\"\n\n#: src/repo.rs:335\nmsgid \"there is nothing to do\"\nmsgstr \"er valt niets te doen\"\n\n#: src/repo.rs:341\nmsgid \"Packages\"\nmsgstr \"Pakketten\"\n\n#: src/repo.rs:354\nmsgid \"Proceed with removal?\"\nmsgstr \"Doorgaan met verwijderen?\"\n\n#: src/repo.rs:415\nmsgid \" [installed: {}]\"\nmsgstr \" [geïnstalleerd: {}]\"\n\n#: src/repo.rs:417 src/sync.rs:144\nmsgid \" [installed]\"\nmsgstr \" [geïnstalleerd]\"\n\n#: src/search.rs:41\nmsgid \"aur search failed\"\nmsgstr \"zoeken in AUR mislukt\"\n\n#: src/search.rs:285 src/search.rs:338 src/search.rs:410\n#, fuzzy\nmsgid \"[installed: {}]\"\nmsgstr \" [geïnstalleerd: {}]\"\n\n#: src/search.rs:287 src/search.rs:340 src/search.rs:412\n#, fuzzy\nmsgid \"[installed]\"\nmsgstr \" [geïnstalleerd]\"\n\n#: src/search.rs:332\n#, fuzzy\nmsgid \"[out-of-date: {}]\"\nmsgstr \"[Verouderd: {}]\"\n\n#: src/search.rs:347\n#, fuzzy\nmsgid \"[orphaned]\"\nmsgstr \"[Onbeheerd]\"\n\n#: src/search.rs:491\nmsgid \"no packages match search\"\nmsgstr \"geen overeenkomende pakketten gevonden\"\n\n#: src/search.rs:529\nmsgid \"Packages to install (eg: 1 2 3, 1-3):\"\nmsgstr \"Pakketten om te installeren (bv: 1 2 3, 1-3):\"\n\n#: src/search.rs:531\n#, fuzzy\nmsgid \"Select packages (eg: 1 2 3, 1-3):\"\nmsgstr \"Pakketten om te installeren (bv: 1 2 3, 1-3):\"\n\n#: src/stats.rs:90\nmsgid \"Total installed packages: {}\"\nmsgstr \"Totaal aantal geïnstalleerde pakketten: {}\"\n\n#: src/stats.rs:94\nmsgid \"Aur packages: {}\"\nmsgstr \"AUR-pakketten: {}\"\n\n#: src/stats.rs:98\nmsgid \"Repo packages: {}\"\nmsgstr \"Repo-pakketten: {}\"\n\n#: src/stats.rs:102\nmsgid \"Explicitly installed packages: {}\"\nmsgstr \"Expliciet geïnstalleerde pakketten: {}\"\n\n#: src/stats.rs:106\nmsgid \"Total Size occupied by packages: {}\"\nmsgstr \"Totale ruimte gebruikt door pakketten: {}\"\n\n#: src/stats.rs:113\nmsgid \"Ten biggest packages:\"\nmsgstr \"Tien grootste pakketten:\"\n\n#: src/upgrade.rs:126\nmsgid \"Looking for PKGBUILD upgrades...\"\nmsgstr \"Zoeken naar PKGBUILD-upgrades...\"\n\n#: src/upgrade.rs:134\nmsgid \"Looking for AUR upgrades...\"\nmsgstr \"Zoeken naar AUR-upgrades...\"\n\n#: src/upgrade.rs:165\nmsgid \"Looking for devel upgrades...\"\nmsgstr \"Zoeken naar devel-upgrades...\"\n\n#: src/upgrade.rs:193 src/upgrade.rs:206\nmsgid \"warning:\"\nmsgstr \"waarschuwing:\"\n\n#: src/upgrade.rs:195 src/upgrade.rs:208\nmsgid \"{pkg}: ignoring package upgrade ({old} => {new})\"\nmsgstr \"{pkg}: pakketupgrade wordt genegeerd ({old} => {new})\"\n\n#: src/upgrade.rs:400\nmsgid \"Packages to exclude (eg: 1 2 3, 1-3):\"\nmsgstr \"Uitgesloten pakketten (bv: 1 2 3, 1-3):\"\n\n#: src/util.rs:121\nmsgid \"[Y/n]:\"\nmsgstr \"[J/n]:\"\n\n#: src/util.rs:123\nmsgid \"[y/N]:\"\nmsgstr \"[j/N]:\"\n\n#: src/util.rs:142\nmsgid \"y\"\nmsgstr \"j\"\n\n#: src/util.rs:142\nmsgid \"yes\"\nmsgstr \"ja\"\n\n#: src/util.rs:300\nmsgid \"Enter a number (default=1): \"\nmsgstr \"Voer een nummer in (standaard=1): \"\n\n#: src/util.rs:317\nmsgid \"invalid number: {}\"\nmsgstr \"ongeldig nummer: {}\"\n\n#: src/util.rs:327\nmsgid \"invalid value: {n} is not between 1 and {max}\"\nmsgstr \"ongeldige waarde: {n} ligt niet tussen 1 en {max}\"\n\n#: src/resolver.rs:83\nmsgid \"There are {} members in group\"\nmsgstr \"Er zijn {} leden in de groep\"\n\n#: src/resolver.rs:108\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Enter a selection (default=all): \"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Voer een selectie in (standaard=alles): \"\n\n#: src/lib.rs:206\nmsgid \"can not use chroot builds: devtools is not installed\"\nmsgstr \"kan chroot-builds niet gebruiken: devtools is niet geïnstalleerd\"\n\n#: src/lib.rs:313\nmsgid \"no operation specified (use -h for help)\"\nmsgstr \"geen handeling gespecificeerd (gebruik -h voor hulp)\"\n\n#~ msgid \"[Installed: {}]\"\n#~ msgstr \"[Geïnstalleerd: {}]\"\n\n#~ msgid \"[Installed]\"\n#~ msgstr \"[Geïnstalleerd]\"\n\n#~ msgid \"Aur ({})\"\n#~ msgstr \"AUR ({})\"\n\n#~ msgid \"Pkgbuilds ({})\"\n#~ msgstr \"PKGBUILDS ({})\"\n\n#~ msgid \"could not get current directory\"\n#~ msgstr \"kon de huidige map niet vinden\"\n\n#~ msgid \"can not get repo packages: asp is not installed\"\n#~ msgstr \"kan de repo-pakketten niet krijgen: asp is niet geïnstalleerd\"\n\n#~ msgid \"Missing ABS packages \"\n#~ msgstr \"Missende ABS-pakketten \"\n\n#~ msgid \"does not contain PKGBUILD: skipping\"\n#~ msgstr \"bevat geen PKGBUILD: wordt overgeslagen\"\n\n#~ msgid \"{} is not installed: can not get repo packages\"\n#~ msgstr \"{} is niet geïnstalleerd: kan de repo-pakketten niet krijgen\"\n\n#~ msgid \"asp returned {}\"\n#~ msgstr \"asp antwoordde met {}\"\n\n#~ msgid \"    --asp       <file>     asp command to use\"\n#~ msgstr \"    --asp       <bestand>    asp-commando om te gebruiken\"\n\n#~ msgid \"Generating .SRCINFO for {dir}...\"\n#~ msgstr \".SRCINFO aanmaken voor {dir}...\"\n\n#~ msgid \"pkgbase {base} already exists in repo {repo} -- skipping)\"\n#~ msgstr \"pkgbase {base} is al onderdeel van repo {repo} -- overslaan\"\n\n#~ msgid \"\"\n#~ \"    --aurrpcurl    <url>      Set an alternative URL for the AUR /rpc \"\n#~ \"endpoint\"\n#~ msgstr \"\"\n#~ \"    --aurrpcurl <url>        Stel een alternatieve URL voor het AUR-RPC-\"\n#~ \"eindpunt in\"\n\n#~ msgid \"upgrade specific options:\"\n#~ msgstr \"Opties voor upgrades:\"\n\n#~ msgid \"Looking for SRCINFO upgrades...\"\n#~ msgstr \"Zoeken naar SRCINFO-upgrades...\"\n\n#~ msgid \"error: unknown section '{}'\"\n#~ msgstr \"fout: onbekende sectie '{}'\"\n\n#~ msgid \"can't build package as root\"\n#~ msgstr \"kan pakket niet bouwen als root\"\n\n#~ msgid \"failed to build\"\n#~ msgstr \"bouwen mislukt\"\n\n#~ msgid \"parsing pkg list...\"\n#~ msgstr \"pakketlijst parsen...\"\n\n#~ msgid \"\"\n#~ \"{} is a directory\\n\"\n#~ \"\\n\"\n#~ msgstr \"\"\n#~ \"{} is een map\\n\"\n#~ \"\\n\"\n\n#~ msgid \"n\"\n#~ msgstr \"n\"\n\n#~ msgid \"no\"\n#~ msgstr \"nee\"\n"
  },
  {
    "path": "po/paru.pot",
    "content": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE paru'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the paru package.\n# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.\n#\n#, fuzzy\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: paru  2.1.0\\n\"\n\"Report-Msgid-Bugs-To: https://github.com/Morganamilo/paru\\n\"\n\"POT-Creation-Date: 2026-01-08 17:40+0000\\n\"\n\"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\\n\"\n\"Last-Translator: FULL NAME <EMAIL@ADDRESS>\\n\"\n\"Language-Team: LANGUAGE <LL@li.org>\\n\"\n\"Language: \\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\n#: src/clean.rs:36\nmsgid \"Do you want to clean ALL AUR packages from cache?\"\nmsgstr \"\"\n\n#: src/clean.rs:38\nmsgid \"Do you want to clean all other AUR packages from cache?\"\nmsgstr \"\"\n\n#: src/clean.rs:41\nmsgid \"Clone Directory: {}\"\nmsgstr \"\"\n\n#: src/clean.rs:47\nmsgid \"\\n\"\n\"Diff Directory: {}\"\nmsgstr \"\"\n\n#: src/clean.rs:49\nmsgid \"Do you want to remove all saved diffs?\"\nmsgstr \"\"\n\n#: src/clean.rs:65\nmsgid \"can't open diff dir: {}\"\nmsgstr \"\"\n\n#: src/clean.rs:76 src/clean.rs:180\nmsgid \"could not remove '{}'\"\nmsgstr \"\"\n\n#: src/clean.rs:95\nmsgid \"can't open clone dir: {}\"\nmsgstr \"\"\n\n#: src/clean.rs:141\nmsgid \"could not parse .SRCINFO for '{}'\"\nmsgstr \"\"\n\n#: src/command_line.rs:134\nmsgid \"option {} expects a value\"\nmsgstr \"\"\n\n#: src/command_line.rs:165 src/command_line.rs:382\nmsgid \"option {} does not allow a value\"\nmsgstr \"\"\n\n#: src/command_line.rs:373\nmsgid \"unknown option --{}\"\nmsgstr \"\"\n\n#: src/command_line.rs:376\nmsgid \"unknown option -{}\"\nmsgstr \"\"\n\n#: src/completion.rs:26 src/search.rs:179 src/sync.rs:113\nmsgid \"failed to decode package list\"\nmsgstr \"\"\n\n#: src/completion.rs:35\nmsgid \"failed to open cache file '{}'\"\nmsgstr \"\"\n\n#: src/completion.rs:83\nmsgid \"could not update aur cache\"\nmsgstr \"\"\n\n#: src/config.rs:179\nmsgid \"invalid value '{val}' for key '{key}', expected: {exp}\"\nmsgstr \"\"\n\n#: src/config.rs:332\nmsgid \"unknown mode {}\"\nmsgstr \"\"\n\n#: src/config.rs:564\nmsgid \"section can not be called {}\"\nmsgstr \"\"\n\n#: src/config.rs:581\nmsgid \"failed to find cache directory\"\nmsgstr \"\"\n\n#: src/config.rs:584\nmsgid \"failed to find config directory\"\nmsgstr \"\"\n\n#: src/config.rs:588\nmsgid \"failed to find state directory\"\nmsgstr \"\"\n\n#: src/config.rs:635\nmsgid \"config file '{}' does not exist\"\nmsgstr \"\"\n\n#: src/config.rs:684\nmsgid \"only one operation may be used at a time\"\nmsgstr \"\"\n\n#: src/config.rs:795\nmsgid \"no local repo named {}\"\nmsgstr \"\"\n\n#: src/config.rs:821\nmsgid \"can not find local repo '{}' in pacman.conf\"\nmsgstr \"\"\n\n#: src/config.rs:866\nmsgid \"failed to initialize alpm: root={} dbpath={}\"\nmsgstr \"\"\n\n#: src/config.rs:941 src/config.rs:1102\nmsgid \"value can not be empty for key '{}'\"\nmsgstr \"\"\n\n#: src/config.rs:957\nmsgid \"key '{}' does not belong to a section\"\nmsgstr \"\"\n\n#: src/config.rs:971 src/config.rs:988 src/config.rs:990 src/config.rs:1005\nmsgid \"key can not be empty\"\nmsgstr \"\"\n\n#: src/config.rs:981\nmsgid \"error: unknown option '{}' in repo\"\nmsgstr \"\"\n\n#: src/config.rs:991\nmsgid \"key can not contain null bytes\"\nmsgstr \"\"\n\n#: src/config.rs:994\nmsgid \"value can not contain null bytes\"\nmsgstr \"\"\n\n#: src/config.rs:1030\nmsgid \"error: unknown option '{}' in section [bin]\"\nmsgstr \"\"\n\n#: src/config.rs:1150\nmsgid \"error: unknown option '{}' in section [options]\"\nmsgstr \"\"\n\n#: src/config.rs:1155\nmsgid \"option '{}' does not take a value\"\nmsgstr \"\"\n\n#: src/config.rs:1187 src/resolver.rs:136\nmsgid \"There are {n} providers available for {pkg}:\"\nmsgstr \"\"\n\n#: src/config.rs:1201 src/info.rs:85 src/info.rs:190 src/info.rs:224 src/resolver.rs:95 src/resolver.rs:144\nmsgid \"Repository\"\nmsgstr \"\"\n\n#: src/config.rs:1227\nmsgid \"  failed to sync {}\"\nmsgstr \"\"\n\n#: src/devel.rs:136 src/download.rs:207\nmsgid \"Querying AUR...\"\nmsgstr \"\"\n\n#: src/devel.rs:157 src/devel.rs:181 src/install.rs:203\nmsgid \"failed to parse srcinfo for '{}'\"\nmsgstr \"\"\n\n#: src/devel.rs:201\nmsgid \"Looking for devel repos...\"\nmsgstr \"\"\n\n#: src/devel.rs:210\nmsgid \"failed to save devel info\"\nmsgstr \"\"\n\n#: src/devel.rs:218\nmsgid \"failed to create state directory: {}\"\nmsgstr \"\"\n\n#: src/devel.rs:233\nmsgid \"failed to create temporary file: {}\"\nmsgstr \"\"\n\n#: src/devel.rs:238\nmsgid \"failed to write to temporary file: {}\"\nmsgstr \"\"\n\n#: src/devel.rs:244\nmsgid \"failed to rename '{temp}' to '{devel_toml}\"\nmsgstr \"\"\n\n#: src/devel.rs:490\nmsgid \"package does not have an update\"\nmsgstr \"\"\n\n#: src/devel.rs:536\nmsgid \"failed to lookup: {}\"\nmsgstr \"\"\n\n#: src/devel.rs:564\nmsgid \"invalid toml: {}\"\nmsgstr \"\"\n\n#: src/download.rs:100\nmsgid \"packages not in the AUR: \"\nmsgstr \"\"\n\n#: src/download.rs:111\nmsgid \"marked out of date: \"\nmsgstr \"\"\n\n#: src/download.rs:122\nmsgid \"orphans: \"\nmsgstr \"\"\n\n#: src/download.rs:260\nmsgid \"downloading: {pkg}\"\nmsgstr \"\"\n\n#: src/download.rs:279 src/download.rs:602 src/info.rs:55 src/info.rs:180 src/query.rs:49\nmsgid \"package '{}' was not found\"\nmsgstr \"\"\n\n#: src/download.rs:291\nmsgid \"duplicate PKGBUILD: {}\"\nmsgstr \"\"\n\n#: src/download.rs:307\nmsgid \"package '{}' exists but has no PKGBUILD -- skipping\"\nmsgstr \"\"\n\n#: src/download.rs:340\nmsgid \"Downloading PKGBUILDs...\"\nmsgstr \"\"\n\n#: src/download.rs:344\nmsgid \" PKGBUILDs up to date\"\nmsgstr \"\"\n\n#: src/exec.rs:72\nmsgid \"failed to run:\"\nmsgstr \"\"\n\n#: src/exec.rs:174\nmsgid \"Pacman is currently in use, please wait...\"\nmsgstr \"\"\n\n#: src/fmt.rs:24 src/info.rs:275 src/search.rs:293 src/search.rs:350\nmsgid \"None\"\nmsgstr \"\"\n\n#: src/fmt.rs:245\nmsgid \"Repo\"\nmsgstr \"\"\n\n#: src/fmt.rs:252\nmsgid \"Repo Make\"\nmsgstr \"\"\n\n#: src/fmt.rs:272\nmsgid \"Pkgbuilds Make\"\nmsgstr \"\"\n\n#: src/fmt.rs:274\nmsgid \"Aur Make\"\nmsgstr \"\"\n\n#: src/fmt.rs:319\nmsgid \"Repo ({})\"\nmsgstr \"\"\n\n#: src/fmt.rs:327\nmsgid \"Old Version\"\nmsgstr \"\"\n\n#: src/fmt.rs:328\nmsgid \"New Version\"\nmsgstr \"\"\n\n#: src/fmt.rs:329\nmsgid \"Make Only\"\nmsgstr \"\"\n\n#: src/fmt.rs:330\nmsgid \"Yes\"\nmsgstr \"\"\n\n#: src/fmt.rs:331 src/info.rs:221\nmsgid \"No\"\nmsgstr \"\"\n\n#: src/fmt.rs:419\nmsgid \"insufficient columns available for table display\"\nmsgstr \"\"\n\n#: src/help.rs:4\nmsgid \"Usage:\"\nmsgstr \"\"\n\n#: src/help.rs:5\nmsgid \"    paru\"\nmsgstr \"\"\n\n#: src/help.rs:6\nmsgid \"    paru <operation> [...]\"\nmsgstr \"\"\n\n#: src/help.rs:7\nmsgid \"    paru <package(s)>\"\nmsgstr \"\"\n\n#: src/help.rs:9\nmsgid \"Pacman operations:\"\nmsgstr \"\"\n\n#: src/help.rs:10\nmsgid \"    paru {-h --help}\"\nmsgstr \"\"\n\n#: src/help.rs:11\nmsgid \"    paru {-V --version}\"\nmsgstr \"\"\n\n#: src/help.rs:12\nmsgid \"    paru {-D --database}    <options> <package(s)>\"\nmsgstr \"\"\n\n#: src/help.rs:13\nmsgid \"    paru {-F --files}       [options] [package(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:14\nmsgid \"    paru {-Q --query}       [options] [package(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:15\nmsgid \"    paru {-R --remove}      [options] <package(s)>\"\nmsgstr \"\"\n\n#: src/help.rs:16\nmsgid \"    paru {-S --sync}        [options] [package(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:17\nmsgid \"    paru {-T --deptest}     [options] [package(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:18\nmsgid \"    paru {-U --upgrade}     [options] [file(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:20\nmsgid \"New operations:\"\nmsgstr \"\"\n\n#: src/help.rs:21\nmsgid \"    paru {-P --show}        [options]\"\nmsgstr \"\"\n\n#: src/help.rs:22\nmsgid \"    paru {-G --getpkgbuild} [package(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:23\nmsgid \"    paru {-B --build}       [dir(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:25\nmsgid \"If no arguments are provided 'paru -Syu' will be performed\"\nmsgstr \"\"\n\n#: src/help.rs:27\nmsgid \"Options without operation:\"\nmsgstr \"\"\n\n#: src/help.rs:28\nmsgid \"    -c --clean            Remove unneeded dependencies\"\nmsgstr \"\"\n\n#: src/help.rs:29\nmsgid \"       --gendb            Generates development package DB used for updating\"\nmsgstr \"\"\n\n#: src/help.rs:31\nmsgid \"New options:\"\nmsgstr \"\"\n\n#: src/help.rs:32\nmsgid \"       --repo              Assume targets are from the repositories\"\nmsgstr \"\"\n\n#: src/help.rs:33\nmsgid \"       --pkgbuilds         Assume targets are from pkgbuild repositories\"\nmsgstr \"\"\n\n#: src/help.rs:34\nmsgid \"    -a --aur               Assume targets are from the AUR\"\nmsgstr \"\"\n\n#: src/help.rs:35\nmsgid \"    --mode      <mode>     Sets where paru looks for targets\"\nmsgstr \"\"\n\n#: src/help.rs:37\nmsgid \"    --interactive          Enable interactive package selection for -S, -R, -Ss and -Qs\"\nmsgstr \"\"\n\n#: src/help.rs:39\nmsgid \"    --aururl    <url>      Set an alternative AUR URL\"\nmsgstr \"\"\n\n#: src/help.rs:40\nmsgid \"    --aurrpcur  <url>      Set an alternative URL for the AUR /rpc endpoint\"\nmsgstr \"\"\n\n#: src/help.rs:41\nmsgid \"    --clonedir  <dir>      Directory used to download and run PKGBUILDs\"\nmsgstr \"\"\n\n#: src/help.rs:43\nmsgid \"    --makepkg   <file>     makepkg command to use\"\nmsgstr \"\"\n\n#: src/help.rs:44\nmsgid \"    --mflags    <flags>    Pass arguments to makepkg\"\nmsgstr \"\"\n\n#: src/help.rs:45\nmsgid \"    --pacman    <file>     pacman command to use\"\nmsgstr \"\"\n\n#: src/help.rs:46\nmsgid \"    --git       <file>     git command to use\"\nmsgstr \"\"\n\n#: src/help.rs:47\nmsgid \"    --gitflags  <flags>    Pass arguments to git\"\nmsgstr \"\"\n\n#: src/help.rs:48\nmsgid \"    --sudo      <file>     sudo command to use\"\nmsgstr \"\"\n\n#: src/help.rs:49\nmsgid \"    --sudoflags <flags>    Pass arguments to sudo\"\nmsgstr \"\"\n\n#: src/help.rs:50\nmsgid \"    --pkgctl    <file>     pkgctl command to use\"\nmsgstr \"\"\n\n#: src/help.rs:51\nmsgid \"    --bat       <file>     bat command to use\"\nmsgstr \"\"\n\n#: src/help.rs:52\nmsgid \"    --batflags  <flags>    Pass arguments to bat\"\nmsgstr \"\"\n\n#: src/help.rs:53\nmsgid \"    --gpg       <file>     gpg command to use\"\nmsgstr \"\"\n\n#: src/help.rs:54\nmsgid \"    --gpgflags  <flags>    Pass arguments to gpg\"\nmsgstr \"\"\n\n#: src/help.rs:55\nmsgid \"    --fm        <file>     File manager to use for PKGBUILD review\"\nmsgstr \"\"\n\n#: src/help.rs:56\nmsgid \"    --fmflags   <flags>    Pass arguments to file manager\"\nmsgstr \"\"\n\n#: src/help.rs:58\nmsgid \"    --completioninterval   <n> Time in days to refresh completion cache\"\nmsgstr \"\"\n\n#: src/help.rs:59\nmsgid \"    --sortby    <field>    Sort AUR results by a specific field during search\"\nmsgstr \"\"\n\n#: src/help.rs:60\nmsgid \"    --searchby  <field>    Search for packages using a specified field\"\nmsgstr \"\"\n\n#: src/help.rs:61\nmsgid \"    --limit     <limit>    Limits the number of items returned in a search\"\nmsgstr \"\"\n\n#: src/help.rs:62\nmsgid \"    -x --regex             Enable regex for aur search\"\nmsgstr \"\"\n\n#: src/help.rs:64\nmsgid \"    --skipreview           Skip the review process\"\nmsgstr \"\"\n\n#: src/help.rs:65\nmsgid \"    --review               Don't skip the review process\"\nmsgstr \"\"\n\n#: src/help.rs:66\nmsgid \"    --[no]upgrademenu      Show interactive menu to skip upgrades\"\nmsgstr \"\"\n\n#: src/help.rs:67\nmsgid \"    --[no]removemake       Remove makedepends after install\"\nmsgstr \"\"\n\n#: src/help.rs:68\nmsgid \"    --[no]cleanafter       Remove package sources after install\"\nmsgstr \"\"\n\n#: src/help.rs:69\nmsgid \"    --[no]rebuild          Always build target packages\"\nmsgstr \"\"\n\n#: src/help.rs:70\nmsgid \"    --[no]redownload       Always download PKGBUILDs of targets\"\nmsgstr \"\"\n\n#: src/help.rs:72\nmsgid \"    --[no]pgpfetch         Prompt to import PGP keys from PKGBUILDs\"\nmsgstr \"\"\n\n#: src/help.rs:73\nmsgid \"    --[no]useask           Automatically resolve conflicts using pacman's ask flag\"\nmsgstr \"\"\n\n#: src/help.rs:74\nmsgid \"    --[no]savechanges      Commit changes to pkgbuilds made during review\"\nmsgstr \"\"\n\n#: src/help.rs:75\nmsgid \"    --[no]newsonupgrade    Print new news during sysupgrade\"\nmsgstr \"\"\n\n#: src/help.rs:76\nmsgid \"    --[no]combinedupgrade  Refresh then perform the repo and AUR upgrade together\"\nmsgstr \"\"\n\n#: src/help.rs:77\nmsgid \"    --[no]batchinstall     Build multiple AUR packages then install them together\"\nmsgstr \"\"\n\n#: src/help.rs:78\nmsgid \"    --[no]provides         Look for matching providers when searching for packages\"\nmsgstr \"\"\n\n#: src/help.rs:79\nmsgid \"    --[no]devel            Check development packages during sysupgrade\"\nmsgstr \"\"\n\n#: src/help.rs:80\nmsgid \"    --[no]installdebug     Also install debug packages when a package provides them\"\nmsgstr \"\"\n\n#: src/help.rs:81\nmsgid \"    --[no]sudoloop         Loop sudo calls in the background to avoid timeout\"\nmsgstr \"\"\n\n#: src/help.rs:82\nmsgid \"    --[no]chroot           Build packages in a chroot\"\nmsgstr \"\"\n\n#: src/help.rs:83\nmsgid \"    --[no]failfast         Exit as soon as building an AUR package fails\"\nmsgstr \"\"\n\n#: src/help.rs:84\nmsgid \"    --[no]keepsrc          Keep src/ and pkg/ dirs after building packages\"\nmsgstr \"\"\n\n#: src/help.rs:85\nmsgid \"    --[no]sign             Sign packages with gpg\"\nmsgstr \"\"\n\n#: src/help.rs:86\nmsgid \"    --[no]signdb           Sign databases with gpg\"\nmsgstr \"\"\n\n#: src/help.rs:87\nmsgid \"    --[no]localrepo        Build packages into a local repo\"\nmsgstr \"\"\n\n#: src/help.rs:88\nmsgid \"    --nocheck              Don't resolve checkdepends or run the check function\"\nmsgstr \"\"\n\n#: src/help.rs:90\nmsgid \"    --rootchrootpkgs       Packages to install in the root chroot (default: base-devel)\"\nmsgstr \"\"\n\n#: src/help.rs:92\nmsgid \"    --develsuffixes        Suffixes used to decide if a package is a devel package\"\nmsgstr \"\"\n\n#: src/help.rs:93\nmsgid \"    --ignoredevel          Ignore devel upgrades for specified packages\"\nmsgstr \"\"\n\n#: src/help.rs:94\nmsgid \"    --bottomup             Shows AUR's packages first and then repository's\"\nmsgstr \"\"\n\n#: src/help.rs:95\nmsgid \"    --topdown              Shows repository's packages first and then AUR's\"\nmsgstr \"\"\n\n#: src/help.rs:97\nmsgid \"show specific options:\"\nmsgstr \"\"\n\n#: src/help.rs:98\nmsgid \"    -c --complete         Used for completions\"\nmsgstr \"\"\n\n#: src/help.rs:99\nmsgid \"    -s --stats            Display system package statistics\"\nmsgstr \"\"\n\n#: src/help.rs:100\nmsgid \"    -w --news             Print arch news\"\nmsgstr \"\"\n\n#: src/help.rs:102\nmsgid \"getpkgbuild specific options:\"\nmsgstr \"\"\n\n#: src/help.rs:103\nmsgid \"    -p --print            Print pkgbuild to stdout\"\nmsgstr \"\"\n\n#: src/help.rs:104\nmsgid \"    -c --comments         Print AUR comments for pkgbuild\"\nmsgstr \"\"\n\n#: src/help.rs:105\nmsgid \"    -s --ssh              Clone package using SSH\"\nmsgstr \"\"\n\n#: src/help.rs:107\nmsgid \"Build specific options:\"\nmsgstr \"\"\n\n#: src/help.rs:108\nmsgid \"    -i --install          Install package as well as building\"\nmsgstr \"\"\n\n#: src/info.rs:86 src/info.rs:191 src/info.rs:225\nmsgid \"Name\"\nmsgstr \"\"\n\n#: src/info.rs:87 src/info.rs:192 src/info.rs:226\nmsgid \"Version\"\nmsgstr \"\"\n\n#: src/info.rs:88 src/info.rs:193 src/info.rs:227\nmsgid \"Description\"\nmsgstr \"\"\n\n#: src/info.rs:89 src/info.rs:195 src/info.rs:235\nmsgid \"Groups\"\nmsgstr \"\"\n\n#: src/info.rs:90 src/info.rs:196 src/info.rs:236\nmsgid \"Licenses\"\nmsgstr \"\"\n\n#: src/info.rs:91 src/info.rs:197 src/info.rs:237\nmsgid \"Provides\"\nmsgstr \"\"\n\n#: src/info.rs:92 src/info.rs:198 src/info.rs:238\nmsgid \"Depends On\"\nmsgstr \"\"\n\n#: src/info.rs:93 src/info.rs:199 src/info.rs:239\nmsgid \"Make Deps\"\nmsgstr \"\"\n\n#: src/info.rs:94 src/info.rs:200 src/info.rs:240\nmsgid \"Check Deps\"\nmsgstr \"\"\n\n#: src/info.rs:95 src/info.rs:201 src/info.rs:241\nmsgid \"Optional Deps\"\nmsgstr \"\"\n\n#: src/info.rs:96 src/info.rs:202 src/info.rs:242\nmsgid \"Conflicts With\"\nmsgstr \"\"\n\n#: src/info.rs:97 src/info.rs:243\nmsgid \"Maintainer\"\nmsgstr \"\"\n\n#: src/info.rs:98 src/info.rs:244\nmsgid \"Votes\"\nmsgstr \"\"\n\n#: src/info.rs:99 src/info.rs:245\nmsgid \"Popularity\"\nmsgstr \"\"\n\n#: src/info.rs:100 src/info.rs:246\nmsgid \"First Submitted\"\nmsgstr \"\"\n\n#: src/info.rs:101 src/info.rs:247\nmsgid \"Last Modified\"\nmsgstr \"\"\n\n#: src/info.rs:102 src/info.rs:249\nmsgid \"Out Of Date\"\nmsgstr \"\"\n\n#: src/info.rs:103 src/info.rs:254\nmsgid \"ID\"\nmsgstr \"\"\n\n#: src/info.rs:104 src/info.rs:255\nmsgid \"Package Base ID\"\nmsgstr \"\"\n\n#: src/info.rs:105 src/info.rs:256\nmsgid \"Keywords\"\nmsgstr \"\"\n\n#: src/info.rs:106 src/info.rs:258\nmsgid \"Snapshot URL\"\nmsgstr \"\"\n\n#: src/info.rs:107 src/info.rs:203\nmsgid \"Path\"\nmsgstr \"\"\n\n#: src/install.rs:166 src/query.rs:48 src/lib.rs:101\nmsgid \"error:\"\nmsgstr \"\"\n\n#: src/install.rs:167\nmsgid \"could not get news\"\nmsgstr \"\"\n\n#: src/install.rs:172 src/install.rs:1127\nmsgid \"Proceed with installation?\"\nmsgstr \"\"\n\n#: src/install.rs:207\nmsgid \"could not find .SRCINFO for '{}'\"\nmsgstr \"\"\n\n#: src/install.rs:353\nmsgid \"could not find package '{pkg}' in package list for '{base}'\"\nmsgstr \"\"\n\n#: src/install.rs:451\nmsgid \"packages failed to build: {}\"\nmsgstr \"\"\n\n#: src/install.rs:523\nmsgid \"adding {} to the install list\"\nmsgstr \"\"\n\n#: src/install.rs:553 src/install.rs:568\nmsgid \"failed to download sources for '{}'\"\nmsgstr \"\"\n\n#: src/install.rs:577 src/install.rs:603 src/install.rs:611\nmsgid \"failed to build '{}'\"\nmsgstr \"\"\n\n#: src/install.rs:580 src/install.rs:784\nmsgid \"{}: parsing pkg list...\"\nmsgstr \"\"\n\n#: src/install.rs:584\nmsgid \"package list does not match srcinfo\"\nmsgstr \"\"\n\n#: src/install.rs:618\nmsgid \"{}-{} is up to date -- skipping build\"\nmsgstr \"\"\n\n#: src/install.rs:775\nmsgid \"can't build {base}, deps not satisfied: {deps}\"\nmsgstr \"\"\n\n#: src/install.rs:846\nmsgid \"fetching devel info...\"\nmsgstr \"\"\n\n#: src/install.rs:911 src/lib.rs:240\nmsgid \"no targets specified (use -h for help)\"\nmsgstr \"\"\n\n#: src/install.rs:1008 src/install.rs:1097 src/search.rs:450 src/search.rs:476 src/lib.rs:304\nmsgid \" there is nothing to do\"\nmsgstr \"\"\n\n#: src/install.rs:1016\nmsgid \"Resolving dependencies...\"\nmsgstr \"\"\n\n#: src/install.rs:1077\nmsgid \"can't install AUR package as root\"\nmsgstr \"\"\n\n#: src/install.rs:1080\nmsgid \"--downloadonly can't be used for AUR packages\"\nmsgstr \"\"\n\n#: src/install.rs:1113\nmsgid \"Remove make dependencies after install?\"\nmsgstr \"\"\n\n#: src/install.rs:1124\nmsgid \"Proceed to review?\"\nmsgstr \"\"\n\n#: src/install.rs:1177\nmsgid \"no architecture\"\nmsgstr \"\"\n\n#: src/install.rs:1191\nmsgid \"The following packages are not compatible with your architecture:\"\nmsgstr \"\"\n\n#: src/install.rs:1205\nmsgid \"Would you like to try build them anyway?\"\nmsgstr \"\"\n\n#: src/install.rs:1349\nmsgid \"duplicate packages: {}\"\nmsgstr \"\"\n\n#: src/install.rs:1353\nmsgid \"could not find all required packages:\"\nmsgstr \"\"\n\n#: src/install.rs:1365\nmsgid \"\\n\"\n\"    {missing} (wanted by: {stack})\"\nmsgstr \"\"\n\n#: src/install.rs:1379 src/install.rs:2122\nmsgid \"{}-{} is up to date -- skipping\"\nmsgstr \"\"\n\n#: src/install.rs:1387\nmsgid \"Calculating conflicts...\"\nmsgstr \"\"\n\n#: src/install.rs:1410\nmsgid \"Calculating inner conflicts...\"\nmsgstr \"\"\n\n#: src/install.rs:1422\nmsgid \"Inner conflicts found:\"\nmsgstr \"\"\n\n#: src/install.rs:1444\nmsgid \"Conflicts found:\"\nmsgstr \"\"\n\n#: src/install.rs:1467\nmsgid \"Conflicting packages will have to be confirmed manually\"\nmsgstr \"\"\n\n#: src/install.rs:1471\nmsgid \"can not install conflicting packages with --noconfirm\"\nmsgstr \"\"\n\n#: src/install.rs:1599\nmsgid \"failed to execute file manager: {}\"\nmsgstr \"\"\n\n#: src/install.rs:1602\nmsgid \"file manager '{}' did not execute successfully\"\nmsgstr \"\"\n\n#: src/install.rs:1620\nmsgid \"failed to read dir: {}\"\nmsgstr \"\"\n\n#: src/install.rs:1677\nmsgid \"failed to open: {}\"\nmsgstr \"\"\n\n#: src/install.rs:1697\nmsgid \"binary file: {}\"\nmsgstr \"\"\n\n#: src/install.rs:1719 src/install.rs:1790\nmsgid \"Accept changes?\"\nmsgstr \"\"\n\n#: src/install.rs:1759\nmsgid \"Paging with less. Press 'q' to quit or 'h' for help.\"\nmsgstr \"\"\n\n#: src/install.rs:1794\nmsgid \" nothing new to review\"\nmsgstr \"\"\n\n#: src/install.rs:2070\nmsgid \"can't find package name in packagelist: {}\"\nmsgstr \"\"\n\n#: src/install.rs:2142\nmsgid \"Signing packages...\"\nmsgstr \"\"\n\n#: src/install.rs:2172\nmsgid \"{}-{} is up to date -- skipping install\"\nmsgstr \"\"\n\n#: src/keys.rs:57\nmsgid \"keys need to be imported:\"\nmsgstr \"\"\n\n#: src/keys.rs:62\nmsgid \"     {key} wanted by: {base}\"\nmsgstr \"\"\n\n#: src/news.rs:57\nmsgid \"No Date \"\nmsgstr \"\"\n\n#: src/news.rs:60\nmsgid \"No Title\"\nmsgstr \"\"\n\n#: src/news.rs:69\nmsgid \"no new news\"\nmsgstr \"\"\n\n#: src/pkgbuild.rs:91\nmsgid \"repo {} does not have a URL or Path\"\nmsgstr \"\"\n\n#: src/pkgbuild.rs:153\nmsgid \"repo {} not downloaded (use -Sy --pkgbuilds to download)\"\nmsgstr \"\"\n\n#: src/pkgbuild.rs:200\nmsgid \"Generating .SRCINFO for {repo}/{dir}...\"\nmsgstr \"\"\n\n#: src/pkgbuild.rs:278\nmsgid \"failed to parse srcinfo \\\"{}\\\"\"\nmsgstr \"\"\n\n#: src/pkgbuild.rs:368\nmsgid \"Downloading PKGBUILD Repos...\"\nmsgstr \"\"\n\n#: src/pkgbuild.rs:422\nmsgid \"failed to parse srcinfo generated by makepkg\"\nmsgstr \"\"\n\n#: src/query.rs:151\nmsgid \" [ignored]\"\nmsgstr \"\"\n\n#: src/repo.rs:253\nmsgid \"failed to get current exe\"\nmsgstr \"\"\n\n#: src/repo.rs:298\nmsgid \"syncing local databases...\"\nmsgstr \"\"\n\n#: src/repo.rs:304\nmsgid \"  nothing to do\"\nmsgstr \"\"\n\n#: src/repo.rs:335\nmsgid \"there is nothing to do\"\nmsgstr \"\"\n\n#: src/repo.rs:341\nmsgid \"Packages\"\nmsgstr \"\"\n\n#: src/repo.rs:354\nmsgid \"Proceed with removal?\"\nmsgstr \"\"\n\n#: src/repo.rs:415\nmsgid \" [installed: {}]\"\nmsgstr \"\"\n\n#: src/repo.rs:417 src/sync.rs:144\nmsgid \" [installed]\"\nmsgstr \"\"\n\n#: src/search.rs:41\nmsgid \"aur search failed\"\nmsgstr \"\"\n\n#: src/search.rs:285 src/search.rs:338 src/search.rs:410\nmsgid \"[installed: {}]\"\nmsgstr \"\"\n\n#: src/search.rs:287 src/search.rs:340 src/search.rs:412\nmsgid \"[installed]\"\nmsgstr \"\"\n\n#: src/search.rs:332\nmsgid \"[out-of-date: {}]\"\nmsgstr \"\"\n\n#: src/search.rs:347\nmsgid \"[orphaned]\"\nmsgstr \"\"\n\n#: src/search.rs:491\nmsgid \"no packages match search\"\nmsgstr \"\"\n\n#: src/search.rs:529\nmsgid \"Packages to install (eg: 1 2 3, 1-3):\"\nmsgstr \"\"\n\n#: src/search.rs:531\nmsgid \"Select packages (eg: 1 2 3, 1-3):\"\nmsgstr \"\"\n\n#: src/stats.rs:90\nmsgid \"Total installed packages: {}\"\nmsgstr \"\"\n\n#: src/stats.rs:94\nmsgid \"Aur packages: {}\"\nmsgstr \"\"\n\n#: src/stats.rs:98\nmsgid \"Repo packages: {}\"\nmsgstr \"\"\n\n#: src/stats.rs:102\nmsgid \"Explicitly installed packages: {}\"\nmsgstr \"\"\n\n#: src/stats.rs:106\nmsgid \"Total Size occupied by packages: {}\"\nmsgstr \"\"\n\n#: src/stats.rs:113\nmsgid \"Ten biggest packages:\"\nmsgstr \"\"\n\n#: src/upgrade.rs:126\nmsgid \"Looking for PKGBUILD upgrades...\"\nmsgstr \"\"\n\n#: src/upgrade.rs:134\nmsgid \"Looking for AUR upgrades...\"\nmsgstr \"\"\n\n#: src/upgrade.rs:165\nmsgid \"Looking for devel upgrades...\"\nmsgstr \"\"\n\n#: src/upgrade.rs:193 src/upgrade.rs:206\nmsgid \"warning:\"\nmsgstr \"\"\n\n#: src/upgrade.rs:195 src/upgrade.rs:208\nmsgid \"{pkg}: ignoring package upgrade ({old} => {new})\"\nmsgstr \"\"\n\n#: src/upgrade.rs:400\nmsgid \"Packages to exclude (eg: 1 2 3, 1-3):\"\nmsgstr \"\"\n\n#: src/util.rs:121\nmsgid \"[Y/n]:\"\nmsgstr \"\"\n\n#: src/util.rs:123\nmsgid \"[y/N]:\"\nmsgstr \"\"\n\n#: src/util.rs:142\nmsgid \"y\"\nmsgstr \"\"\n\n#: src/util.rs:142\nmsgid \"yes\"\nmsgstr \"\"\n\n#: src/util.rs:300\nmsgid \"Enter a number (default=1): \"\nmsgstr \"\"\n\n#: src/util.rs:317\nmsgid \"invalid number: {}\"\nmsgstr \"\"\n\n#: src/util.rs:327\nmsgid \"invalid value: {n} is not between 1 and {max}\"\nmsgstr \"\"\n\n#: src/resolver.rs:83\nmsgid \"There are {} members in group\"\nmsgstr \"\"\n\n#: src/resolver.rs:108\nmsgid \"\\n\"\n\"\\n\"\n\"Enter a selection (default=all): \"\nmsgstr \"\"\n\n#: src/lib.rs:206\nmsgid \"can not use chroot builds: devtools is not installed\"\nmsgstr \"\"\n\n#: src/lib.rs:313\nmsgid \"no operation specified (use -h for help)\"\nmsgstr \"\"\n"
  },
  {
    "path": "po/pt.po",
    "content": "# Portuguese translation of paru.\n# Copyright (C) YEAR THE paru'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the paru package.\n# Hugo Carvalho <hugokarvalho@hotmail.com>, 2021, 2022, 2023, 2024, 2025.\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: paru  2.0.0\\n\"\n\"Report-Msgid-Bugs-To: https://github.com/Morganamilo/paru\\n\"\n\"POT-Creation-Date: 2026-01-08 17:40+0000\\n\"\n\"PO-Revision-Date: 2025-08-29 10:29+0100\\n\"\n\"Last-Translator: Hugo Carvalho <hugokarvalho@hotmail.com>\\n\"\n\"Language-Team: Portuguese <hugokarvalho@hotmail.com>\\n\"\n\"Language: pt\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=2; plural=(n != 1);\\n\"\n\"X-Generator: Poedit 3.6\\n\"\n\n#: src/clean.rs:36\nmsgid \"Do you want to clean ALL AUR packages from cache?\"\nmsgstr \"Pretende limpar TODOS os pacotes AUR do cache?\"\n\n#: src/clean.rs:38\nmsgid \"Do you want to clean all other AUR packages from cache?\"\nmsgstr \"Pretende limpar todos os outros pacotes AUR do cache?\"\n\n#: src/clean.rs:41\nmsgid \"Clone Directory: {}\"\nmsgstr \"Diretório Clone: {}\"\n\n#: src/clean.rs:47\nmsgid \"\"\n\"\\n\"\n\"Diff Directory: {}\"\nmsgstr \"\"\n\"\\n\"\n\"Diretório Diff: {}\"\n\n#: src/clean.rs:49\nmsgid \"Do you want to remove all saved diffs?\"\nmsgstr \"Deseja remover todas as diffs guardadas?\"\n\n#: src/clean.rs:65\nmsgid \"can't open diff dir: {}\"\nmsgstr \"não é possível abrir diretório diff: {}\"\n\n#: src/clean.rs:76 src/clean.rs:180\nmsgid \"could not remove '{}'\"\nmsgstr \"não foi possível remover '{}'\"\n\n#: src/clean.rs:95\nmsgid \"can't open clone dir: {}\"\nmsgstr \"não foi possível abrir o diretório clone: {}\"\n\n#: src/clean.rs:141\nmsgid \"could not parse .SRCINFO for '{}'\"\nmsgstr \"não foi possível analisar o .SRCINFO para '{}'\"\n\n#: src/command_line.rs:134\nmsgid \"option {} expects a value\"\nmsgstr \"opção {} exige um valor\"\n\n#: src/command_line.rs:165 src/command_line.rs:382\nmsgid \"option {} does not allow a value\"\nmsgstr \"opção {} não aceita um valor\"\n\n#: src/command_line.rs:373\nmsgid \"unknown option --{}\"\nmsgstr \"opção desconhecida --{}\"\n\n#: src/command_line.rs:376\nmsgid \"unknown option -{}\"\nmsgstr \"opção desconhecida -{}\"\n\n#: src/completion.rs:26 src/search.rs:179 src/sync.rs:113\n#, fuzzy\nmsgid \"failed to decode package list\"\nmsgstr \"problema ao transferir código fonte\"\n\n#: src/completion.rs:35\nmsgid \"failed to open cache file '{}'\"\nmsgstr \"problema ao abrir ficheiro de cache '{}'\"\n\n#: src/completion.rs:83\nmsgid \"could not update aur cache\"\nmsgstr \"não foi possível atualizar a cache do AUR\"\n\n#: src/config.rs:179\nmsgid \"invalid value '{val}' for key '{key}', expected: {exp}\"\nmsgstr \"valor inválido '{val}' para chave '{key}', é esperado: {exp}\"\n\n#: src/config.rs:332\nmsgid \"unknown mode {}\"\nmsgstr \"modo desconhecido {}\"\n\n#: src/config.rs:564\nmsgid \"section can not be called {}\"\nmsgstr \"secção não pode ser chamada {}\"\n\n#: src/config.rs:581\nmsgid \"failed to find cache directory\"\nmsgstr \"problema ao procurar o diretório de cache\"\n\n#: src/config.rs:584\nmsgid \"failed to find config directory\"\nmsgstr \"problema ao procurar o diretório de configuração\"\n\n#: src/config.rs:588\nmsgid \"failed to find state directory\"\nmsgstr \"falha ao procurar diretório de estado\"\n\n#: src/config.rs:635\nmsgid \"config file '{}' does not exist\"\nmsgstr \"ficheiro de configuração '{}' não existe\"\n\n#: src/config.rs:684\nmsgid \"only one operation may be used at a time\"\nmsgstr \"apenas uma operação pode ser feita por vez\"\n\n#: src/config.rs:795\nmsgid \"no local repo named {}\"\nmsgstr \"nenhum repositório local nomeado {}\"\n\n#: src/config.rs:821\nmsgid \"can not find local repo '{}' in pacman.conf\"\nmsgstr \"não foi possível encontrar o repositório local '{}' no pacman.conf\"\n\n#: src/config.rs:866\nmsgid \"failed to initialize alpm: root={} dbpath={}\"\nmsgstr \"problema ao iniciar alpm: root={} dbpath={}\"\n\n#: src/config.rs:941 src/config.rs:1102\nmsgid \"value can not be empty for key '{}'\"\nmsgstr \"valor para a chave '{}' não pode ser vazio\"\n\n#: src/config.rs:957\nmsgid \"key '{}' does not belong to a section\"\nmsgstr \"chave '{}' não pertence a secção\"\n\n#: src/config.rs:971 src/config.rs:988 src/config.rs:990 src/config.rs:1005\nmsgid \"key can not be empty\"\nmsgstr \"chave não pode ter um valor vazio\"\n\n#: src/config.rs:981\nmsgid \"error: unknown option '{}' in repo\"\nmsgstr \"erro: opção desconhecida '{}' no repositório\"\n\n#: src/config.rs:991\nmsgid \"key can not contain null bytes\"\nmsgstr \"a chave não pode conter bytes nulos\"\n\n#: src/config.rs:994\nmsgid \"value can not contain null bytes\"\nmsgstr \"o valor não pode conter bytes nulos\"\n\n#: src/config.rs:1030\nmsgid \"error: unknown option '{}' in section [bin]\"\nmsgstr \"erro: opção desconhecida '{}' na secção [bin]\"\n\n#: src/config.rs:1150\nmsgid \"error: unknown option '{}' in section [options]\"\nmsgstr \"erro: opção desconhecida '{}' na secção [options]\"\n\n#: src/config.rs:1155\nmsgid \"option '{}' does not take a value\"\nmsgstr \"opção '{}' não aceita valores\"\n\n#: src/config.rs:1187 src/resolver.rs:136\nmsgid \"There are {n} providers available for {pkg}:\"\nmsgstr \"Há {n} provedores disponíveis para {pkg}:\"\n\n#: src/config.rs:1201 src/info.rs:85 src/info.rs:190 src/info.rs:224\n#: src/resolver.rs:95 src/resolver.rs:144\nmsgid \"Repository\"\nmsgstr \"Repositório\"\n\n#: src/config.rs:1227\nmsgid \"  failed to sync {}\"\nmsgstr \"  problema ao sincronizar '{}'\"\n\n#: src/devel.rs:136 src/download.rs:207\nmsgid \"Querying AUR...\"\nmsgstr \"A procurar no AUR...\"\n\n#: src/devel.rs:157 src/devel.rs:181 src/install.rs:203\nmsgid \"failed to parse srcinfo for '{}'\"\nmsgstr \"problema ao analisar srcinfo para '{}'\"\n\n#: src/devel.rs:201\nmsgid \"Looking for devel repos...\"\nmsgstr \"A procurar repositórios devel...\"\n\n#: src/devel.rs:210\nmsgid \"failed to save devel info\"\nmsgstr \"problema ao guardar informações de desenvolvimento\"\n\n#: src/devel.rs:218\nmsgid \"failed to create state directory: {}\"\nmsgstr \"falha ao criar diretório de estado: {}\"\n\n#: src/devel.rs:233\nmsgid \"failed to create temporary file: {}\"\nmsgstr \"falha ao criar ficheiro temporário: {}\"\n\n#: src/devel.rs:238\nmsgid \"failed to write to temporary file: {}\"\nmsgstr \"falha ao gravar no ficheiro temporário: {}\"\n\n#: src/devel.rs:244\nmsgid \"failed to rename '{temp}' to '{devel_toml}\"\nmsgstr \"falha ao renomear '{temp}' para '{devel_toml}\"\n\n#: src/devel.rs:490\nmsgid \"package does not have an update\"\nmsgstr \"pacote não possui atualizações\"\n\n#: src/devel.rs:536\nmsgid \"failed to lookup: {}\"\nmsgstr \"falha ao procurar: {}\"\n\n#: src/devel.rs:564\nmsgid \"invalid toml: {}\"\nmsgstr \"toml inválido: {}\"\n\n#: src/download.rs:100\nmsgid \"packages not in the AUR: \"\nmsgstr \"pacotes não presentes no AUR: \"\n\n#: src/download.rs:111\nmsgid \"marked out of date: \"\nmsgstr \"marcados como desatualizados: \"\n\n#: src/download.rs:122\nmsgid \"orphans: \"\nmsgstr \"órfãos: \"\n\n#: src/download.rs:260\nmsgid \"downloading: {pkg}\"\nmsgstr \"a transferir: {pkg}\"\n\n#: src/download.rs:279 src/download.rs:602 src/info.rs:55 src/info.rs:180\n#: src/query.rs:49\nmsgid \"package '{}' was not found\"\nmsgstr \"o pacote '{}' não foi encontrado\"\n\n#: src/download.rs:291\n#, fuzzy\nmsgid \"duplicate PKGBUILD: {}\"\nmsgstr \"pacotes duplicados: {}\"\n\n#: src/download.rs:307\nmsgid \"package '{}' exists but has no PKGBUILD -- skipping\"\nmsgstr \"\"\n\n#: src/download.rs:340\nmsgid \"Downloading PKGBUILDs...\"\nmsgstr \"A transferir PKGBUILDs...\"\n\n#: src/download.rs:344\nmsgid \" PKGBUILDs up to date\"\nmsgstr \" PKGBUILDs atualizadas\"\n\n#: src/exec.rs:72\nmsgid \"failed to run:\"\nmsgstr \"problema ao executar:\"\n\n#: src/exec.rs:174\nmsgid \"Pacman is currently in use, please wait...\"\nmsgstr \"O Pacman está em utilização, aguarde...\"\n\n#: src/fmt.rs:24 src/info.rs:275 src/search.rs:293 src/search.rs:350\nmsgid \"None\"\nmsgstr \"Nenhum\"\n\n#: src/fmt.rs:245\nmsgid \"Repo\"\nmsgstr \"Repo\"\n\n#: src/fmt.rs:252\nmsgid \"Repo Make\"\nmsgstr \"Repo Make\"\n\n#: src/fmt.rs:272\nmsgid \"Pkgbuilds Make\"\nmsgstr \"Pkgbuilds Make\"\n\n#: src/fmt.rs:274\nmsgid \"Aur Make\"\nmsgstr \"Aur Make\"\n\n#: src/fmt.rs:319\nmsgid \"Repo ({})\"\nmsgstr \"Repo ({})\"\n\n#: src/fmt.rs:327\nmsgid \"Old Version\"\nmsgstr \"Versão antiga\"\n\n#: src/fmt.rs:328\nmsgid \"New Version\"\nmsgstr \"Versão nova\"\n\n#: src/fmt.rs:329\nmsgid \"Make Only\"\nmsgstr \"Apenas compilar\"\n\n#: src/fmt.rs:330\nmsgid \"Yes\"\nmsgstr \"Sim\"\n\n#: src/fmt.rs:331 src/info.rs:221\nmsgid \"No\"\nmsgstr \"Não\"\n\n#: src/fmt.rs:419\nmsgid \"insufficient columns available for table display\"\nmsgstr \"colunas insuficientes disponíveis para exibição de tabela\"\n\n#: src/help.rs:4\nmsgid \"Usage:\"\nmsgstr \"Utilização:\"\n\n#: src/help.rs:5\nmsgid \"    paru\"\nmsgstr \"    paru\"\n\n#: src/help.rs:6\nmsgid \"    paru <operation> [...]\"\nmsgstr \"    paru <operation> [...]\"\n\n#: src/help.rs:7\nmsgid \"    paru <package(s)>\"\nmsgstr \"    paru <package(s)>\"\n\n#: src/help.rs:9\nmsgid \"Pacman operations:\"\nmsgstr \"Operações Pacman:\"\n\n#: src/help.rs:10\nmsgid \"    paru {-h --help}\"\nmsgstr \"    paru {-h --help}\"\n\n#: src/help.rs:11\nmsgid \"    paru {-V --version}\"\nmsgstr \"    paru {-V --version}\"\n\n#: src/help.rs:12\nmsgid \"    paru {-D --database}    <options> <package(s)>\"\nmsgstr \"    paru {-D --database}    <options> <package(s)>\"\n\n#: src/help.rs:13\nmsgid \"    paru {-F --files}       [options] [package(s)]\"\nmsgstr \"    paru {-F --files}       [options] [package(s)]\"\n\n#: src/help.rs:14\nmsgid \"    paru {-Q --query}       [options] [package(s)]\"\nmsgstr \"    paru {-Q --query}       [options] [package(s)]\"\n\n#: src/help.rs:15\nmsgid \"    paru {-R --remove}      [options] <package(s)>\"\nmsgstr \"    paru {-R --remove}      [options] <package(s)>\"\n\n#: src/help.rs:16\nmsgid \"    paru {-S --sync}        [options] [package(s)]\"\nmsgstr \"    paru {-S --sync}        [options] [package(s)]\"\n\n#: src/help.rs:17\nmsgid \"    paru {-T --deptest}     [options] [package(s)]\"\nmsgstr \"    paru {-T --deptest}     [options] [package(s)]\"\n\n#: src/help.rs:18\nmsgid \"    paru {-U --upgrade}     [options] [file(s)]\"\nmsgstr \"    paru {-U --upgrade}     [options] [file(s)]\"\n\n#: src/help.rs:20\nmsgid \"New operations:\"\nmsgstr \"Novas operações:\"\n\n#: src/help.rs:21\nmsgid \"    paru {-P --show}        [options]\"\nmsgstr \"    paru {-P --show}        [options]\"\n\n#: src/help.rs:22\nmsgid \"    paru {-G --getpkgbuild} [package(s)]\"\nmsgstr \"    paru {-G --getpkgbuild} [package(s)]\"\n\n#: src/help.rs:23\nmsgid \"    paru {-B --build}       [dir(s)]\"\nmsgstr \"    paru {-B --build}       [dir(s)]\"\n\n#: src/help.rs:25\nmsgid \"If no arguments are provided 'paru -Syu' will be performed\"\nmsgstr \"Se não forem fornecidos argumentos, o 'paru -Syu' será executado\"\n\n#: src/help.rs:27\nmsgid \"Options without operation:\"\nmsgstr \"Opções sem operação:\"\n\n#: src/help.rs:28\nmsgid \"    -c --clean            Remove unneeded dependencies\"\nmsgstr \"    -c --clean            Remove dependências desnecessárias\"\n\n#: src/help.rs:29\nmsgid \"\"\n\"       --gendb            Generates development package DB used for updating\"\nmsgstr \"\"\n\"       --gendb            Gera a BD do pacote de desenvolvimento utilizado \"\n\"para atualização\"\n\n#: src/help.rs:31\nmsgid \"New options:\"\nmsgstr \"Novas opções:\"\n\n#: src/help.rs:32\nmsgid \"       --repo              Assume targets are from the repositories\"\nmsgstr \"       --repo              Assume que os alvos são dos repositórios\"\n\n#: src/help.rs:33\nmsgid \"\"\n\"       --pkgbuilds         Assume targets are from pkgbuild repositories\"\nmsgstr \"\"\n\"       --pkgbuilds              Assume que os alvos sejam de repositórios \"\n\"pkgbuild\"\n\n#: src/help.rs:34\nmsgid \"    -a --aur               Assume targets are from the AUR\"\nmsgstr \"    -a --aur               Assume que os alvos são do AUR\"\n\n#: src/help.rs:35\nmsgid \"    --mode      <mode>     Sets where paru looks for targets\"\nmsgstr \"    --mode      <mode>     Define onde o paru procura por alvos\"\n\n#: src/help.rs:37\nmsgid \"\"\n\"    --interactive          Enable interactive package selection for -S, -R, \"\n\"-Ss and -Qs\"\nmsgstr \"\"\n\"    --interactive          Ativa a seleção interativa de pacotes para -S, \"\n\"-R, -Ss e -Qs\"\n\n#: src/help.rs:39\nmsgid \"    --aururl    <url>      Set an alternative AUR URL\"\nmsgstr \"    --aururl    <url>      Definir um URL alternativo do AUR\"\n\n#: src/help.rs:40\nmsgid \"\"\n\"    --aurrpcur  <url>      Set an alternative URL for the AUR /rpc endpoint\"\nmsgstr \"\"\n\"    --aurrpcur  <url>      Define um URL alternativo para o endpoint /rpc do \"\n\"AUR\"\n\n#: src/help.rs:41\nmsgid \"    --clonedir  <dir>      Directory used to download and run PKGBUILDs\"\nmsgstr \"\"\n\"    --clonedir  <dir>      Diretório utilizado para transferir e executar \"\n\"PKGBUILDs\"\n\n#: src/help.rs:43\nmsgid \"    --makepkg   <file>     makepkg command to use\"\nmsgstr \"    --makepkg   <file>     comando makepkg a usar\"\n\n#: src/help.rs:44\nmsgid \"    --mflags    <flags>    Pass arguments to makepkg\"\nmsgstr \"    --mflags    <flags>    Passa argumentos ao makepkg\"\n\n#: src/help.rs:45\nmsgid \"    --pacman    <file>     pacman command to use\"\nmsgstr \"    --pacman    <file>     comando pacman a usar\"\n\n#: src/help.rs:46\nmsgid \"    --git       <file>     git command to use\"\nmsgstr \"    --git       <file>     comando git a usar\"\n\n#: src/help.rs:47\nmsgid \"    --gitflags  <flags>    Pass arguments to git\"\nmsgstr \"    --gitflags  <flags>    Passa argumentos ao git\"\n\n#: src/help.rs:48\nmsgid \"    --sudo      <file>     sudo command to use\"\nmsgstr \"    --sudo      <file>     comando sudo a usar\"\n\n#: src/help.rs:49\nmsgid \"    --sudoflags <flags>    Pass arguments to sudo\"\nmsgstr \"    --sudoflags <flags>    Passa argumentos ao sudo\"\n\n#: src/help.rs:50\nmsgid \"    --pkgctl    <file>     pkgctl command to use\"\nmsgstr \"    --pkgctl    <file>     comando pkgctl a usar\"\n\n#: src/help.rs:51\nmsgid \"    --bat       <file>     bat command to use\"\nmsgstr \"    --bat       <file>     comando bat a usar\"\n\n#: src/help.rs:52\nmsgid \"    --batflags  <flags>    Pass arguments to bat\"\nmsgstr \"    --batflags  <flags>    Passa argumentos ao bat\"\n\n#: src/help.rs:53\nmsgid \"    --gpg       <file>     gpg command to use\"\nmsgstr \"    --gpg       <file>     comando gpg a usar\"\n\n#: src/help.rs:54\nmsgid \"    --gpgflags  <flags>    Pass arguments to gpg\"\nmsgstr \"    --gpgflags  <flags>    Passa argumentos ao gpg\"\n\n#: src/help.rs:55\nmsgid \"    --fm        <file>     File manager to use for PKGBUILD review\"\nmsgstr \"\"\n\"    --fm        <file>     Gestor de ficheiros a utilizar para revisão \"\n\"PKGBUILD\"\n\n#: src/help.rs:56\nmsgid \"    --fmflags   <flags>    Pass arguments to file manager\"\nmsgstr \"    --fmflags   <flags>    Passa argumentos ao gestor de ficheiros\"\n\n#: src/help.rs:58\nmsgid \"    --completioninterval   <n> Time in days to refresh completion cache\"\nmsgstr \"\"\n\"    --completioninterval   <n> Tempo em dias para atualizar a cache de \"\n\"conclusão\"\n\n#: src/help.rs:59\nmsgid \"\"\n\"    --sortby    <field>    Sort AUR results by a specific field during search\"\nmsgstr \"\"\n\"    --sortby    <field>    Ordena os resultados AUR por um campo específico \"\n\"durante a pesquisa\"\n\n#: src/help.rs:60\nmsgid \"    --searchby  <field>    Search for packages using a specified field\"\nmsgstr \"\"\n\"    --searchby  <field>    Pesquisa por pacotes ao usar um campo especificado\"\n\n#: src/help.rs:61\nmsgid \"\"\n\"    --limit     <limit>    Limits the number of items returned in a search\"\nmsgstr \"\"\n\"    --limit     <limit>    Limita o número de itens devolvidos numa pesquisa\"\n\n#: src/help.rs:62\nmsgid \"    -x --regex             Enable regex for aur search\"\nmsgstr \"\"\n\"    -x --regex             Ativa expressão regular para pesquisa no aur\"\n\n#: src/help.rs:64\nmsgid \"    --skipreview           Skip the review process\"\nmsgstr \"    --skipreview           Ignora o processo de revisão\"\n\n#: src/help.rs:65\nmsgid \"    --review               Don't skip the review process\"\nmsgstr \"    --review               Não ignora o processo de revisão\"\n\n#: src/help.rs:66\nmsgid \"    --[no]upgrademenu      Show interactive menu to skip upgrades\"\nmsgstr \"\"\n\"    --[no]upgrademenu      Mostra menu interativo para ignorar atualizações\"\n\n#: src/help.rs:67\nmsgid \"    --[no]removemake       Remove makedepends after install\"\nmsgstr \"    --[no]removemake       Remove as makedepends após a instalação\"\n\n#: src/help.rs:68\nmsgid \"    --[no]cleanafter       Remove package sources after install\"\nmsgstr \"\"\n\"    --[no]cleanafter       Remove as fontes do pacote após a instalação\"\n\n#: src/help.rs:69\nmsgid \"    --[no]rebuild          Always build target packages\"\nmsgstr \"    --[no]rebuild          Compilar sempre os pacotes destinados\"\n\n#: src/help.rs:70\nmsgid \"    --[no]redownload       Always download PKGBUILDs of targets\"\nmsgstr \"    --[no]redownload       Transferir sempre PKGBUILDs dos destinos\"\n\n#: src/help.rs:72\nmsgid \"    --[no]pgpfetch         Prompt to import PGP keys from PKGBUILDs\"\nmsgstr \"    --[no]pgpfetch         Alerta ao importar chaves PGP de PKGBUILDs\"\n\n#: src/help.rs:73\nmsgid \"\"\n\"    --[no]useask           Automatically resolve conflicts using pacman's \"\n\"ask flag\"\nmsgstr \"\"\n\"    --[no]useask           Resolve automaticamente conflitos usando a flag \"\n\"de pedido do pacman\"\n\n#: src/help.rs:74\nmsgid \"\"\n\"    --[no]savechanges      Commit changes to pkgbuilds made during review\"\nmsgstr \"\"\n\"    --[no]savechanges      Submete alterações aos pkgbuilds feitas durante a \"\n\"revisão\"\n\n#: src/help.rs:75\nmsgid \"    --[no]newsonupgrade    Print new news during sysupgrade\"\nmsgstr \"    --[no]newsonupgrade    Mostra novas notícias durante o sysupgrade\"\n\n#: src/help.rs:76\nmsgid \"\"\n\"    --[no]combinedupgrade  Refresh then perform the repo and AUR upgrade \"\n\"together\"\nmsgstr \"\"\n\"    --[no]combinedupgrade  Recarrega e depois realiza a atualização do \"\n\"repositório e AUR em conjunto\"\n\n#: src/help.rs:77\nmsgid \"\"\n\"    --[no]batchinstall     Build multiple AUR packages then install them \"\n\"together\"\nmsgstr \"\"\n\"    --[no]batchinstall     Compila vários pacotes AUR e depois instala-os em \"\n\"conjunto\"\n\n#: src/help.rs:78\nmsgid \"\"\n\"    --[no]provides         Look for matching providers when searching for \"\n\"packages\"\nmsgstr \"\"\n\"    --[no]provides         Procura fornecedores correspondentes ao procurar \"\n\"pacotes\"\n\n#: src/help.rs:79\nmsgid \"    --[no]devel            Check development packages during sysupgrade\"\nmsgstr \"\"\n\"    --[no]devel            Verifica pacotes de desenvolvimento durante o \"\n\"sysupgrade\"\n\n#: src/help.rs:80\nmsgid \"\"\n\"    --[no]installdebug     Also install debug packages when a package \"\n\"provides them\"\nmsgstr \"\"\n\"    --[no]installdebug     Também instala pacotes de depuração quando um \"\n\"pacote os fornece\"\n\n#: src/help.rs:81\nmsgid \"\"\n\"    --[no]sudoloop         Loop sudo calls in the background to avoid timeout\"\nmsgstr \"\"\n\"    --[no]sudoloop         Cicla invocações sudo em segundo plano para \"\n\"evitar tempo limite\"\n\n#: src/help.rs:82\nmsgid \"    --[no]chroot           Build packages in a chroot\"\nmsgstr \"    --[no]chroot           Compila pacotes em chroot\"\n\n#: src/help.rs:83\nmsgid \"\"\n\"    --[no]failfast         Exit as soon as building an AUR package fails\"\nmsgstr \"\"\n\"    --[no]failfast         Sair assim que a compilação de um pacote AUR \"\n\"falhar\"\n\n#: src/help.rs:84\nmsgid \"\"\n\"    --[no]keepsrc          Keep src/ and pkg/ dirs after building packages\"\nmsgstr \"\"\n\"    --[no]keepsrc          Manter diretórios src/ e pkg/ após a compilação \"\n\"de pacotes\"\n\n#: src/help.rs:85\nmsgid \"    --[no]sign             Sign packages with gpg\"\nmsgstr \"    --[no]sign             Assina pacotes com gpg\"\n\n#: src/help.rs:86\nmsgid \"    --[no]signdb           Sign databases with gpg\"\nmsgstr \"    --[no]signdb           Assine base de dados com gpg\"\n\n#: src/help.rs:87\nmsgid \"    --[no]localrepo        Build packages into a local repo\"\nmsgstr \"    --[no]localrepo        Compilar pacotes num repositório local\"\n\n#: src/help.rs:88\nmsgid \"\"\n\"    --nocheck              Don't resolve checkdepends or run the check \"\n\"function\"\nmsgstr \"\"\n\"    --nocheck              Não resolve checkdepends nem executa a função de \"\n\"verificação\"\n\n#: src/help.rs:90\nmsgid \"\"\n\"    --rootchrootpkgs       Packages to install in the root chroot (default: \"\n\"base-devel)\"\nmsgstr \"\"\n\n#: src/help.rs:92\nmsgid \"\"\n\"    --develsuffixes        Suffixes used to decide if a package is a devel \"\n\"package\"\nmsgstr \"\"\n\"    --develsuffixes        Sufixos utilizados para decidir se um pacote é um \"\n\"pacote de desenvolvimento\"\n\n#: src/help.rs:93\nmsgid \"    --ignoredevel          Ignore devel upgrades for specified packages\"\nmsgstr \"\"\n\"    --ignoredevel          Ignorar atualizações de desenvolvimento para \"\n\"pacotes especificados\"\n\n#: src/help.rs:94\nmsgid \"\"\n\"    --bottomup             Shows AUR's packages first and then repository's\"\nmsgstr \"\"\n\"    --bottomup             Mostra primeiro os pacotes do AUR e depois os do \"\n\"repositório\"\n\n#: src/help.rs:95\nmsgid \"\"\n\"    --topdown              Shows repository's packages first and then AUR's\"\nmsgstr \"\"\n\"    --topdown              Mostra primeiro os pacotes do repositório e \"\n\"depois os do AUR\"\n\n#: src/help.rs:97\nmsgid \"show specific options:\"\nmsgstr \"opções específicas show:\"\n\n#: src/help.rs:98\nmsgid \"    -c --complete         Used for completions\"\nmsgstr \"    -c --complete         Usado para conclusões\"\n\n#: src/help.rs:99\nmsgid \"    -s --stats            Display system package statistics\"\nmsgstr \"    -s --stats            Mostra estatísticas do pacote do sistema\"\n\n#: src/help.rs:100\nmsgid \"    -w --news             Print arch news\"\nmsgstr \"    -w --news             Mostra notícias sobre o arch\"\n\n#: src/help.rs:102\nmsgid \"getpkgbuild specific options:\"\nmsgstr \"opções específicas de getpkgbuild:\"\n\n#: src/help.rs:103\nmsgid \"    -p --print            Print pkgbuild to stdout\"\nmsgstr \"    -p --print            Mostra pkgbuild para stdout\"\n\n#: src/help.rs:104\nmsgid \"    -c --comments         Print AUR comments for pkgbuild\"\nmsgstr \"    -c --comments         Mostra comentários AUR para pkgbuild\"\n\n#: src/help.rs:105\nmsgid \"    -s --ssh              Clone package using SSH\"\nmsgstr \"    -s --ssh              Clonar pacote ao usar SSH\"\n\n#: src/help.rs:107\nmsgid \"Build specific options:\"\nmsgstr \"Opções específicas de compilação:\"\n\n#: src/help.rs:108\nmsgid \"    -i --install          Install package as well as building\"\nmsgstr \"    -i --install          Instala o pacote, bem como compila\"\n\n#: src/info.rs:86 src/info.rs:191 src/info.rs:225\nmsgid \"Name\"\nmsgstr \"Nome\"\n\n#: src/info.rs:87 src/info.rs:192 src/info.rs:226\nmsgid \"Version\"\nmsgstr \"Versão\"\n\n#: src/info.rs:88 src/info.rs:193 src/info.rs:227\nmsgid \"Description\"\nmsgstr \"Descrição\"\n\n#: src/info.rs:89 src/info.rs:195 src/info.rs:235\nmsgid \"Groups\"\nmsgstr \"Grupos\"\n\n#: src/info.rs:90 src/info.rs:196 src/info.rs:236\nmsgid \"Licenses\"\nmsgstr \"Licenças\"\n\n#: src/info.rs:91 src/info.rs:197 src/info.rs:237\nmsgid \"Provides\"\nmsgstr \"Fornece\"\n\n#: src/info.rs:92 src/info.rs:198 src/info.rs:238\nmsgid \"Depends On\"\nmsgstr \"Depende de\"\n\n#: src/info.rs:93 src/info.rs:199 src/info.rs:239\nmsgid \"Make Deps\"\nmsgstr \"Depend. de compilação\"\n\n#: src/info.rs:94 src/info.rs:200 src/info.rs:240\nmsgid \"Check Deps\"\nmsgstr \"Verificar dependências\"\n\n#: src/info.rs:95 src/info.rs:201 src/info.rs:241\nmsgid \"Optional Deps\"\nmsgstr \"Depend. opcionais\"\n\n#: src/info.rs:96 src/info.rs:202 src/info.rs:242\nmsgid \"Conflicts With\"\nmsgstr \"Em conflito com\"\n\n#: src/info.rs:97 src/info.rs:243\nmsgid \"Maintainer\"\nmsgstr \"Responsável\"\n\n#: src/info.rs:98 src/info.rs:244\nmsgid \"Votes\"\nmsgstr \"Votos\"\n\n#: src/info.rs:99 src/info.rs:245\nmsgid \"Popularity\"\nmsgstr \"Popularidade\"\n\n#: src/info.rs:100 src/info.rs:246\nmsgid \"First Submitted\"\nmsgstr \"Primeiro envio\"\n\n#: src/info.rs:101 src/info.rs:247\nmsgid \"Last Modified\"\nmsgstr \"Última modificação\"\n\n#: src/info.rs:102 src/info.rs:249\nmsgid \"Out Of Date\"\nmsgstr \"Desatualizado\"\n\n#: src/info.rs:103 src/info.rs:254\nmsgid \"ID\"\nmsgstr \"ID\"\n\n#: src/info.rs:104 src/info.rs:255\nmsgid \"Package Base ID\"\nmsgstr \"ID Base do pacote\"\n\n#: src/info.rs:105 src/info.rs:256\nmsgid \"Keywords\"\nmsgstr \"Palavras-chave\"\n\n#: src/info.rs:106 src/info.rs:258\nmsgid \"Snapshot URL\"\nmsgstr \"URL do Snapshot\"\n\n#: src/info.rs:107 src/info.rs:203\nmsgid \"Path\"\nmsgstr \"Caminho\"\n\n#: src/install.rs:166 src/query.rs:48 src/lib.rs:101\nmsgid \"error:\"\nmsgstr \"erro:\"\n\n#: src/install.rs:167\nmsgid \"could not get news\"\nmsgstr \"impossível obter notícias\"\n\n#: src/install.rs:172 src/install.rs:1127\nmsgid \"Proceed with installation?\"\nmsgstr \"Continuar com a instalação?\"\n\n#: src/install.rs:207\nmsgid \"could not find .SRCINFO for '{}'\"\nmsgstr \"não foi possível encontrar um .SRCINFO para '{}'\"\n\n#: src/install.rs:353\nmsgid \"could not find package '{pkg}' in package list for '{base}'\"\nmsgstr \"\"\n\"não foi possível encontrar o pacote '{pkg}' na lista de pacotes para '{base}'\"\n\n#: src/install.rs:451\nmsgid \"packages failed to build: {}\"\nmsgstr \"pacotes com problema a compilar: {}\"\n\n#: src/install.rs:523\nmsgid \"adding {} to the install list\"\nmsgstr \"a adicionar {} para a lista de instalação\"\n\n#: src/install.rs:553 src/install.rs:568\nmsgid \"failed to download sources for '{}'\"\nmsgstr \"problema ao transferir fontes para '{}'\"\n\n#: src/install.rs:577 src/install.rs:603 src/install.rs:611\nmsgid \"failed to build '{}'\"\nmsgstr \"problema ao compilar '{}'\"\n\n#: src/install.rs:580 src/install.rs:784\nmsgid \"{}: parsing pkg list...\"\nmsgstr \"{}: a analisar lista pkg...\"\n\n#: src/install.rs:584\nmsgid \"package list does not match srcinfo\"\nmsgstr \"a lista de pacotes não corresponde ao srcinfo\"\n\n#: src/install.rs:618\nmsgid \"{}-{} is up to date -- skipping build\"\nmsgstr \"{}-{} está atualizado -- a ignorar compilação\"\n\n#: src/install.rs:775\nmsgid \"can't build {base}, deps not satisfied: {deps}\"\nmsgstr \"não foi possível compilar {base}, dependências não satisfeitas: {deps}\"\n\n#: src/install.rs:846\nmsgid \"fetching devel info...\"\nmsgstr \"a procurar informações de compilação...\"\n\n#: src/install.rs:911 src/lib.rs:240\nmsgid \"no targets specified (use -h for help)\"\nmsgstr \"nenhum alvo especificado (use -h para ajuda)\"\n\n#: src/install.rs:1008 src/install.rs:1097 src/search.rs:450 src/search.rs:476\n#: src/lib.rs:304\nmsgid \" there is nothing to do\"\nmsgstr \" nada a fazer\"\n\n#: src/install.rs:1016\nmsgid \"Resolving dependencies...\"\nmsgstr \"A resolver dependências...\"\n\n#: src/install.rs:1077\nmsgid \"can't install AUR package as root\"\nmsgstr \"não é possível instalar o pacote AUR como root\"\n\n#: src/install.rs:1080\nmsgid \"--downloadonly can't be used for AUR packages\"\nmsgstr \"--downloadonly não pode ser usado para pacotes AUR\"\n\n#: src/install.rs:1113\nmsgid \"Remove make dependencies after install?\"\nmsgstr \"Remover dependências de compilação após instalação?\"\n\n#: src/install.rs:1124\nmsgid \"Proceed to review?\"\nmsgstr \"Continuar para análise?\"\n\n#: src/install.rs:1177\nmsgid \"no architecture\"\nmsgstr \"sem arquitetura\"\n\n#: src/install.rs:1191\nmsgid \"The following packages are not compatible with your architecture:\"\nmsgstr \"Os seguintes pacotes não são compatíveis com a sua arquitetura:\"\n\n#: src/install.rs:1205\nmsgid \"Would you like to try build them anyway?\"\nmsgstr \"Deseja tentar compilá-los mesmo assim?\"\n\n#: src/install.rs:1349\nmsgid \"duplicate packages: {}\"\nmsgstr \"pacotes duplicados: {}\"\n\n#: src/install.rs:1353\nmsgid \"could not find all required packages:\"\nmsgstr \"não foi possível encontrar todos os pacotes necessários:\"\n\n#: src/install.rs:1365\nmsgid \"\"\n\"\\n\"\n\"    {missing} (wanted by: {stack})\"\nmsgstr \"\"\n\"\\n\"\n\"    {missing} (requerido por: {stack})\"\n\n#: src/install.rs:1379 src/install.rs:2122\nmsgid \"{}-{} is up to date -- skipping\"\nmsgstr \"{}-{} está atualizado -- a ignorar\"\n\n#: src/install.rs:1387\nmsgid \"Calculating conflicts...\"\nmsgstr \"A calcular conflitos...\"\n\n#: src/install.rs:1410\nmsgid \"Calculating inner conflicts...\"\nmsgstr \"A calcular conflitos internos...\"\n\n#: src/install.rs:1422\nmsgid \"Inner conflicts found:\"\nmsgstr \"Conflitos internos encontrados:\"\n\n#: src/install.rs:1444\nmsgid \"Conflicts found:\"\nmsgstr \"Conflitos encontrados:\"\n\n#: src/install.rs:1467\nmsgid \"Conflicting packages will have to be confirmed manually\"\nmsgstr \"Pacotes em conflito deverão ser confirmados manualmente\"\n\n#: src/install.rs:1471\nmsgid \"can not install conflicting packages with --noconfirm\"\nmsgstr \"não é possível instalar pacotes em conflito com --noconfirm\"\n\n#: src/install.rs:1599\nmsgid \"failed to execute file manager: {}\"\nmsgstr \"problema ao executar gestor de ficheiros: {}\"\n\n#: src/install.rs:1602\n#, fuzzy\nmsgid \"file manager '{}' did not execute successfully\"\nmsgstr \"o gestor de ficheiros não foi executado com sucesso\"\n\n#: src/install.rs:1620\nmsgid \"failed to read dir: {}\"\nmsgstr \"problema ao ler diretório: {}\"\n\n#: src/install.rs:1677\nmsgid \"failed to open: {}\"\nmsgstr \"problema ao abrir: {}\"\n\n#: src/install.rs:1697\nmsgid \"binary file: {}\"\nmsgstr \"ficheiro binário: {}\"\n\n#: src/install.rs:1719 src/install.rs:1790\nmsgid \"Accept changes?\"\nmsgstr \"Aceitar alterações?\"\n\n#: src/install.rs:1759\nmsgid \"Paging with less. Press 'q' to quit or 'h' for help.\"\nmsgstr \"Chamada com menos. Prima ‘q’ para sair ou ‘h’ para obter ajuda.\"\n\n#: src/install.rs:1794\nmsgid \" nothing new to review\"\nmsgstr \" nada de novo para analisar\"\n\n#: src/install.rs:2070\nmsgid \"can't find package name in packagelist: {}\"\nmsgstr \"não foi possível encontrar nome do pacote na lista: {}\"\n\n#: src/install.rs:2142\nmsgid \"Signing packages...\"\nmsgstr \"A assinar os pacotes...\"\n\n#: src/install.rs:2172\nmsgid \"{}-{} is up to date -- skipping install\"\nmsgstr \"{}-{} está atualizado -- a ignorar instalação\"\n\n#: src/keys.rs:57\nmsgid \"keys need to be imported:\"\nmsgstr \"as chaves precisam de ser importadas:\"\n\n#: src/keys.rs:62\nmsgid \"     {key} wanted by: {base}\"\nmsgstr \"     {key} requerido por: {base}\"\n\n#: src/news.rs:57\nmsgid \"No Date \"\nmsgstr \"Sem data \"\n\n#: src/news.rs:60\nmsgid \"No Title\"\nmsgstr \"Sem título\"\n\n#: src/news.rs:69\nmsgid \"no new news\"\nmsgstr \"sem novas notícias\"\n\n#: src/pkgbuild.rs:91\nmsgid \"repo {} does not have a URL or Path\"\nmsgstr \"repositório {} não tem um URL ou caminho\"\n\n#: src/pkgbuild.rs:153\nmsgid \"repo {} not downloaded (use -Sy --pkgbuilds to download)\"\nmsgstr \"repositório {} não transferido (usar -Sy --pkgbuilds para transferir)\"\n\n#: src/pkgbuild.rs:200\nmsgid \"Generating .SRCINFO for {repo}/{dir}...\"\nmsgstr \"A gerar .SRCINFO para {repo}/{dir}...\"\n\n#: src/pkgbuild.rs:278\nmsgid \"failed to parse srcinfo \\\"{}\\\"\"\nmsgstr \"falha ao analisar srcinfo \\\"{}\\\"\"\n\n#: src/pkgbuild.rs:368\nmsgid \"Downloading PKGBUILD Repos...\"\nmsgstr \"A transferir repositórios PKGBUILD...\"\n\n#: src/pkgbuild.rs:422\nmsgid \"failed to parse srcinfo generated by makepkg\"\nmsgstr \"problema ao analisar a srcinfo gerada por makepkg\"\n\n#: src/query.rs:151\nmsgid \" [ignored]\"\nmsgstr \" [ignorado]\"\n\n#: src/repo.rs:253\nmsgid \"failed to get current exe\"\nmsgstr \"problema ao obter exe atual\"\n\n#: src/repo.rs:298\nmsgid \"syncing local databases...\"\nmsgstr \"a sincronizar bases de dados locais...\"\n\n#: src/repo.rs:304\nmsgid \"  nothing to do\"\nmsgstr \"  nada a fazer\"\n\n#: src/repo.rs:335\nmsgid \"there is nothing to do\"\nmsgstr \"não há nada para fazer\"\n\n#: src/repo.rs:341\nmsgid \"Packages\"\nmsgstr \"Pacotes\"\n\n#: src/repo.rs:354\nmsgid \"Proceed with removal?\"\nmsgstr \"Prosseguir com a remoção?\"\n\n#: src/repo.rs:415\nmsgid \" [installed: {}]\"\nmsgstr \" [instalado: {}]\"\n\n#: src/repo.rs:417 src/sync.rs:144\nmsgid \" [installed]\"\nmsgstr \" [instalado]\"\n\n#: src/search.rs:41\nmsgid \"aur search failed\"\nmsgstr \"problema ao procurar no AUR\"\n\n#: src/search.rs:285 src/search.rs:338 src/search.rs:410\n#, fuzzy\nmsgid \"[installed: {}]\"\nmsgstr \" [instalado: {}]\"\n\n#: src/search.rs:287 src/search.rs:340 src/search.rs:412\n#, fuzzy\nmsgid \"[installed]\"\nmsgstr \" [instalado]\"\n\n#: src/search.rs:332\n#, fuzzy\nmsgid \"[out-of-date: {}]\"\nmsgstr \"[Desatualizado desde: {}]\"\n\n#: src/search.rs:347\n#, fuzzy\nmsgid \"[orphaned]\"\nmsgstr \"[Órfão]\"\n\n#: src/search.rs:491\nmsgid \"no packages match search\"\nmsgstr \"nenhum resultado\"\n\n#: src/search.rs:529\nmsgid \"Packages to install (eg: 1 2 3, 1-3):\"\nmsgstr \"Pacotes a instalar (ex: 1 2 3, 1-3):\"\n\n#: src/search.rs:531\nmsgid \"Select packages (eg: 1 2 3, 1-3):\"\nmsgstr \"Selecionar pacotes (por exemplo: 1 2 3, 1-3):\"\n\n#: src/stats.rs:90\nmsgid \"Total installed packages: {}\"\nmsgstr \"Pacotes instalados: {}\"\n\n#: src/stats.rs:94\nmsgid \"Aur packages: {}\"\nmsgstr \"Pacotes AUR: {}\"\n\n#: src/stats.rs:98\nmsgid \"Repo packages: {}\"\nmsgstr \"Pacotes de repositórios: {}\"\n\n#: src/stats.rs:102\nmsgid \"Explicitly installed packages: {}\"\nmsgstr \"Pacotes instalados explicitamente: {}\"\n\n#: src/stats.rs:106\nmsgid \"Total Size occupied by packages: {}\"\nmsgstr \"Tamanho total dos pacotes: {}\"\n\n#: src/stats.rs:113\nmsgid \"Ten biggest packages:\"\nmsgstr \"Dez maiores pacotes:\"\n\n#: src/upgrade.rs:126\nmsgid \"Looking for PKGBUILD upgrades...\"\nmsgstr \"A procurar por atualizações de PKGBUILD...\"\n\n#: src/upgrade.rs:134\nmsgid \"Looking for AUR upgrades...\"\nmsgstr \"A procurar atualizações no AUR...\"\n\n#: src/upgrade.rs:165\nmsgid \"Looking for devel upgrades...\"\nmsgstr \"A procurar atualizações de desenvolvimento...\"\n\n#: src/upgrade.rs:193 src/upgrade.rs:206\nmsgid \"warning:\"\nmsgstr \"aviso:\"\n\n#: src/upgrade.rs:195 src/upgrade.rs:208\nmsgid \"{pkg}: ignoring package upgrade ({old} => {new})\"\nmsgstr \"{pkg}: a ignorar atualização de pacote ({old} => {new})\"\n\n#: src/upgrade.rs:400\nmsgid \"Packages to exclude (eg: 1 2 3, 1-3):\"\nmsgstr \"Pacotes a excluir (ex: 1 2 3, 1-3):\"\n\n#: src/util.rs:121\nmsgid \"[Y/n]:\"\nmsgstr \"[S/n]:\"\n\n#: src/util.rs:123\nmsgid \"[y/N]:\"\nmsgstr \"[s/N]:\"\n\n#: src/util.rs:142\nmsgid \"y\"\nmsgstr \"s\"\n\n#: src/util.rs:142\nmsgid \"yes\"\nmsgstr \"sim\"\n\n#: src/util.rs:300\nmsgid \"Enter a number (default=1): \"\nmsgstr \"Introduza um número (predefinido=1): \"\n\n#: src/util.rs:317\nmsgid \"invalid number: {}\"\nmsgstr \"número inválido: {}\"\n\n#: src/util.rs:327\nmsgid \"invalid value: {n} is not between 1 and {max}\"\nmsgstr \"valor inválido: {n} não está entre 1 e {max}\"\n\n#: src/resolver.rs:83\nmsgid \"There are {} members in group\"\nmsgstr \"Há {} membros no grupo\"\n\n#: src/resolver.rs:108\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Enter a selection (default=all): \"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Introduza uma seleção (predefinido=tudo): \"\n\n#: src/lib.rs:206\nmsgid \"can not use chroot builds: devtools is not installed\"\nmsgstr \"não é possível compilar em chroot: devtools não está instalado\"\n\n#: src/lib.rs:313\nmsgid \"no operation specified (use -h for help)\"\nmsgstr \"nenhuma operação especificada (usar -h para ajuda)\"\n\n#~ msgid \"[Installed: {}]\"\n#~ msgstr \"[Instalado: {}]\"\n\n#~ msgid \"[Installed]\"\n#~ msgstr \"[Instalado]\"\n\n#~ msgid \"Aur ({})\"\n#~ msgstr \"Aur ({})\"\n\n#~ msgid \"Pkgbuilds ({})\"\n#~ msgstr \"Pkgbuilds ({})\"\n\n#~ msgid \"could not get current directory\"\n#~ msgstr \"não foi possível obter o diretório atual\"\n\n#~ msgid \"can not get repo packages: asp is not installed\"\n#~ msgstr \"\"\n#~ \"não foi possível obter pacotes dos repositórios: asp não está instalado\"\n\n#~ msgid \"Missing ABS packages \"\n#~ msgstr \"Pacotes ABS em falta \"\n\n#~ msgid \"does not contain PKGBUILD: skipping\"\n#~ msgstr \"não possui uma PKGBUILD: a ignorar\"\n\n#~ msgid \"{} is not installed: can not get repo packages\"\n#~ msgstr \"{} não está instalado: impossível obter pacotes dos repositórios\"\n\n#~ msgid \"asp returned {}\"\n#~ msgstr \"asp devolveu {}\"\n\n#~ msgid \"    --asp       <file>     asp command to use\"\n#~ msgstr \"    --asp       <file>     comando asp a usar\"\n\n#~ msgid \"Generating .SRCINFO for {dir}...\"\n#~ msgstr \"A gerar .SRCINFO para {dir}...\"\n\n#~ msgid \"pkgbase {base} already exists in repo {repo} -- skipping)\"\n#~ msgstr \"pkgbase {base} já existe no repositório {repo} -- a ignorar)\"\n\n#~ msgid \"upgrade specific options:\"\n#~ msgstr \"atualizar opções específicas:\"\n\n#~ msgid \"error: unknown section '{}'\"\n#~ msgstr \"erro: secção desconhecida '{}'\"\n\n#~ msgid \"can't build package as root\"\n#~ msgstr \"não é possível compilar o pacote como root\"\n\n#~ msgid \"failed to build\"\n#~ msgstr \"problema ao compilar\"\n\n#~ msgid \"parsing pkg list...\"\n#~ msgstr \"a analisar lista pkg...\"\n\n#~ msgid \"\"\n#~ \"{} is a directory\\n\"\n#~ \"\\n\"\n#~ msgstr \"\"\n#~ \"{} é um diretório\\n\"\n#~ \"\\n\"\n\n#~ msgid \"n\"\n#~ msgstr \"n\"\n\n#~ msgid \"no\"\n#~ msgstr \"não\"\n"
  },
  {
    "path": "po/pt_BR.po",
    "content": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE paru'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the paru package.\n# Pedro Liberatti <ferrahwolfeh@protonmail.com>, 2021.\n# Morgana Milo <morganamilo@archlinux.org>, 2021.\n# Juliano Marcelino <github@jmarcelino.com.br>, 2021.\n# João Vitor S. Anjos <jvanjos@protonmail.com>, 2021-2024.\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: paru VERSION\\n\"\n\"Report-Msgid-Bugs-To: https://github.com/Morganamilo/paru\\n\"\n\"POT-Creation-Date: 2026-01-08 17:40+0000\\n\"\n\"PO-Revision-Date: 2026-01-08 22:47-0300\\n\"\n\"Last-Translator: Igor\\n\"\n\"Language-Team: \\n\"\n\"Language: pt_BR\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Generator: Poedit 3.8\\n\"\n\"X-Poedit-Bookmarks: -1,110,-1,-1,-1,-1,-1,-1,-1,-1\\n\"\n\n#: src/clean.rs:36\nmsgid \"Do you want to clean ALL AUR packages from cache?\"\nmsgstr \"Deseja limpar TODOS os pacotes AUR do cache?\"\n\n#: src/clean.rs:38\nmsgid \"Do you want to clean all other AUR packages from cache?\"\nmsgstr \"Deseja limpar todos os outros pacotes AUR do cache?\"\n\n#: src/clean.rs:41\nmsgid \"Clone Directory: {}\"\nmsgstr \"Diretório de clonagem: {}\"\n\n#: src/clean.rs:47\nmsgid \"\"\n\"\\n\"\n\"Diff Directory: {}\"\nmsgstr \"\"\n\"\\n\"\n\"Diretório de diffs: {}\"\n\n#: src/clean.rs:49\nmsgid \"Do you want to remove all saved diffs?\"\nmsgstr \"Deseja remover todos os diffs salvos?\"\n\n#: src/clean.rs:65\nmsgid \"can't open diff dir: {}\"\nmsgstr \"não foi possível abrir o diretório de diffs: {}\"\n\n#: src/clean.rs:76 src/clean.rs:180\nmsgid \"could not remove '{}'\"\nmsgstr \"não foi possível remover '{}'\"\n\n#: src/clean.rs:95\nmsgid \"can't open clone dir: {}\"\nmsgstr \"não foi possível abrir o diretório de clonagem: {}\"\n\n#: src/clean.rs:141\nmsgid \"could not parse .SRCINFO for '{}'\"\nmsgstr \"não foi possível analisar .SRCINFO para '{}'\"\n\n#: src/command_line.rs:134\nmsgid \"option {} expects a value\"\nmsgstr \"a opção {} espera um valor\"\n\n#: src/command_line.rs:165 src/command_line.rs:382\nmsgid \"option {} does not allow a value\"\nmsgstr \"a opção {} não permite um valor\"\n\n#: src/command_line.rs:373\nmsgid \"unknown option --{}\"\nmsgstr \"opção desconhecida --{}\"\n\n#: src/command_line.rs:376\nmsgid \"unknown option -{}\"\nmsgstr \"opção desconhecida -{}\"\n\n#: src/completion.rs:26 src/search.rs:179 src/sync.rs:113\nmsgid \"failed to decode package list\"\nmsgstr \"falha ao decodificar a lista de pacotes\"\n\n#: src/completion.rs:35\nmsgid \"failed to open cache file '{}'\"\nmsgstr \"falha ao abrir arquivo de cache '{}'\"\n\n#: src/completion.rs:83\nmsgid \"could not update aur cache\"\nmsgstr \"não foi possível atualizar o cache do AUR\"\n\n#: src/config.rs:179\nmsgid \"invalid value '{val}' for key '{key}', expected: {exp}\"\nmsgstr \"valor inválido '{val}' para chave '{key}', esperado: {exp}\"\n\n#: src/config.rs:332\nmsgid \"unknown mode {}\"\nmsgstr \"modo desconhecido {}\"\n\n#: src/config.rs:564\nmsgid \"section can not be called {}\"\nmsgstr \"seção não pode ser chamada {}\"\n\n#: src/config.rs:581\nmsgid \"failed to find cache directory\"\nmsgstr \"falha ao localizar diretório de cache\"\n\n#: src/config.rs:584\nmsgid \"failed to find config directory\"\nmsgstr \"falha ao localizar diretório de configuração\"\n\n#: src/config.rs:588\nmsgid \"failed to find state directory\"\nmsgstr \"falha ao localizar diretório de estado\"\n\n#: src/config.rs:635\nmsgid \"config file '{}' does not exist\"\nmsgstr \"arquivo de configuração '{}' não existe\"\n\n#: src/config.rs:684\nmsgid \"only one operation may be used at a time\"\nmsgstr \"apenas uma operação pode ser usada por vez\"\n\n#: src/config.rs:795\nmsgid \"no local repo named {}\"\nmsgstr \"nenhum repositório local chamado {}\"\n\n#: src/config.rs:821\nmsgid \"can not find local repo '{}' in pacman.conf\"\nmsgstr \"não foi possível encontrar repositório local '{}' em pacman.conf\"\n\n#: src/config.rs:866\nmsgid \"failed to initialize alpm: root={} dbpath={}\"\nmsgstr \"falha ao inicializar alpm: root={} dbpath={}\"\n\n#: src/config.rs:941 src/config.rs:1102\nmsgid \"value can not be empty for key '{}'\"\nmsgstr \"valor não pode estar vazio para chave '{}'\"\n\n#: src/config.rs:957\nmsgid \"key '{}' does not belong to a section\"\nmsgstr \"chave '{}' não pertence a uma seção\"\n\n#: src/config.rs:971 src/config.rs:988 src/config.rs:990 src/config.rs:1005\nmsgid \"key can not be empty\"\nmsgstr \"chave não pode estar vazia\"\n\n#: src/config.rs:981\nmsgid \"error: unknown option '{}' in repo\"\nmsgstr \"erro: opção desconhecida '{}' no repositório\"\n\n#: src/config.rs:991\nmsgid \"key can not contain null bytes\"\nmsgstr \"chave não pode conter bytes nulos\"\n\n#: src/config.rs:994\nmsgid \"value can not contain null bytes\"\nmsgstr \"valor não pode conter bytes nulos\"\n\n#: src/config.rs:1030\nmsgid \"error: unknown option '{}' in section [bin]\"\nmsgstr \"erro: opção desconhecida '{}' na seção [bin]\"\n\n#: src/config.rs:1150\nmsgid \"error: unknown option '{}' in section [options]\"\nmsgstr \"erro: opção desconhecida '{}' na seção [options]\"\n\n#: src/config.rs:1155\nmsgid \"option '{}' does not take a value\"\nmsgstr \"opção '{}' não aceita valor\"\n\n#: src/config.rs:1187 src/resolver.rs:136\nmsgid \"There are {n} providers available for {pkg}:\"\nmsgstr \"Há {n} provedores disponíveis para {pkg}:\"\n\n#: src/config.rs:1201 src/info.rs:85 src/info.rs:190 src/info.rs:224\n#: src/resolver.rs:95 src/resolver.rs:144\nmsgid \"Repository\"\nmsgstr \"Repositório\"\n\n#: src/config.rs:1227\nmsgid \"  failed to sync {}\"\nmsgstr \"  falha ao sincronizar {}\"\n\n#: src/devel.rs:136 src/download.rs:207\nmsgid \"Querying AUR...\"\nmsgstr \"Consultando AUR...\"\n\n#: src/devel.rs:157 src/devel.rs:181 src/install.rs:203\nmsgid \"failed to parse srcinfo for '{}'\"\nmsgstr \"falha ao analisar srcinfo para '{}'\"\n\n#: src/devel.rs:201\nmsgid \"Looking for devel repos...\"\nmsgstr \"Procurando repositórios devel...\"\n\n#: src/devel.rs:210\nmsgid \"failed to save devel info\"\nmsgstr \"falha ao salvar informações devel\"\n\n#: src/devel.rs:218\nmsgid \"failed to create state directory: {}\"\nmsgstr \"falha ao criar diretório de estado: {}\"\n\n#: src/devel.rs:233\nmsgid \"failed to create temporary file: {}\"\nmsgstr \"falha ao criar arquivo temporário: {}\"\n\n#: src/devel.rs:238\nmsgid \"failed to write to temporary file: {}\"\nmsgstr \"falha ao escrever no arquivo temporário: {}\"\n\n#: src/devel.rs:244\nmsgid \"failed to rename '{temp}' to '{devel_toml}\"\nmsgstr \"falha ao renomear '{temp}' para '{devel_toml}'\"\n\n#: src/devel.rs:490\nmsgid \"package does not have an update\"\nmsgstr \"pacote não possui atualização\"\n\n#: src/devel.rs:536\nmsgid \"failed to lookup: {}\"\nmsgstr \"falha ao buscar: {}\"\n\n#: src/devel.rs:564\nmsgid \"invalid toml: {}\"\nmsgstr \"toml inválido: {}\"\n\n#: src/download.rs:100\nmsgid \"packages not in the AUR: \"\nmsgstr \"pacotes não presentes no AUR: \"\n\n#: src/download.rs:111\nmsgid \"marked out of date: \"\nmsgstr \"marcados como desatualizados: \"\n\n#: src/download.rs:122\nmsgid \"orphans: \"\nmsgstr \"órfãos: \"\n\n#: src/download.rs:260\nmsgid \"downloading: {pkg}\"\nmsgstr \"baixando: {pkg}\"\n\n#: src/download.rs:279 src/download.rs:602 src/info.rs:55 src/info.rs:180\n#: src/query.rs:49\nmsgid \"package '{}' was not found\"\nmsgstr \"pacote '{}' não encontrado\"\n\n#: src/download.rs:291\nmsgid \"duplicate PKGBUILD: {}\"\nmsgstr \"PKGBUILD duplicado: {}\"\n\n#: src/download.rs:307\nmsgid \"package '{}' exists but has no PKGBUILD -- skipping\"\nmsgstr \"pacote '{}' existe mas não possui PKGBUILD -- ignorando\"\n\n#: src/download.rs:340\nmsgid \"Downloading PKGBUILDs...\"\nmsgstr \"Baixando PKGBUILDs...\"\n\n#: src/download.rs:344\nmsgid \" PKGBUILDs up to date\"\nmsgstr \" PKGBUILDs atualizados\"\n\n#: src/exec.rs:72\nmsgid \"failed to run:\"\nmsgstr \"falha ao executar:\"\n\n#: src/exec.rs:174\nmsgid \"Pacman is currently in use, please wait...\"\nmsgstr \"Pacman está em uso no momento, aguarde...\"\n\n#: src/fmt.rs:24 src/info.rs:275 src/search.rs:293 src/search.rs:350\nmsgid \"None\"\nmsgstr \"Nenhum\"\n\n#: src/fmt.rs:245\nmsgid \"Repo\"\nmsgstr \"Repo\"\n\n#: src/fmt.rs:252\nmsgid \"Repo Make\"\nmsgstr \"Repo Make\"\n\n#: src/fmt.rs:272\nmsgid \"Pkgbuilds Make\"\nmsgstr \"Pkgbuilds Make\"\n\n#: src/fmt.rs:274\nmsgid \"Aur Make\"\nmsgstr \"Aur Make\"\n\n#: src/fmt.rs:319\nmsgid \"Repo ({})\"\nmsgstr \"Repo ({})\"\n\n#: src/fmt.rs:327\nmsgid \"Old Version\"\nmsgstr \"Versão Antiga\"\n\n#: src/fmt.rs:328\nmsgid \"New Version\"\nmsgstr \"Nova Versão\"\n\n#: src/fmt.rs:329\nmsgid \"Make Only\"\nmsgstr \"Apenas Compilar\"\n\n#: src/fmt.rs:330\nmsgid \"Yes\"\nmsgstr \"Sim\"\n\n#: src/fmt.rs:331 src/info.rs:221\nmsgid \"No\"\nmsgstr \"Não\"\n\n#: src/fmt.rs:419\nmsgid \"insufficient columns available for table display\"\nmsgstr \"colunas insuficientes disponíveis para exibição em tabela\"\n\n#: src/help.rs:4\nmsgid \"Usage:\"\nmsgstr \"Uso:\"\n\n#: src/help.rs:5\nmsgid \"    paru\"\nmsgstr \"    paru\"\n\n#: src/help.rs:6\nmsgid \"    paru <operation> [...]\"\nmsgstr \"    paru <operação> [...]\"\n\n#: src/help.rs:7\nmsgid \"    paru <package(s)>\"\nmsgstr \"    paru <pacote(s)>\"\n\n#: src/help.rs:9\nmsgid \"Pacman operations:\"\nmsgstr \"Operações do Pacman:\"\n\n#: src/help.rs:10\nmsgid \"    paru {-h --help}\"\nmsgstr \"    paru {-h --help}\"\n\n#: src/help.rs:11\nmsgid \"    paru {-V --version}\"\nmsgstr \"    paru {-V --version}\"\n\n#: src/help.rs:12\nmsgid \"    paru {-D --database}    <options> <package(s)>\"\nmsgstr \"    paru {-D --database}    <opções> <pacote(s)>\"\n\n#: src/help.rs:13\nmsgid \"    paru {-F --files}       [options] [package(s)]\"\nmsgstr \"    paru {-F --files}       [opções] [pacote(s)]\"\n\n#: src/help.rs:14\nmsgid \"    paru {-Q --query}       [options] [package(s)]\"\nmsgstr \"    paru {-Q --query}       [opções] [pacote(s)]\"\n\n#: src/help.rs:15\nmsgid \"    paru {-R --remove}      [options] <package(s)>\"\nmsgstr \"    paru {-R --remove}      [opções] <pacote(s)>\"\n\n#: src/help.rs:16\nmsgid \"    paru {-S --sync}        [options] [package(s)]\"\nmsgstr \"    paru {-S --sync}        [opções] [pacote(s)]\"\n\n#: src/help.rs:17\nmsgid \"    paru {-T --deptest}     [options] [package(s)]\"\nmsgstr \"    paru {-T --deptest}     [opções] [pacote(s)]\"\n\n#: src/help.rs:18\nmsgid \"    paru {-U --upgrade}     [options] [file(s)]\"\nmsgstr \"    paru {-U --upgrade}     [opções] [arquivo(s)]\"\n\n#: src/help.rs:20\nmsgid \"New operations:\"\nmsgstr \"Novas operações:\"\n\n#: src/help.rs:21\nmsgid \"    paru {-P --show}        [options]\"\nmsgstr \"    paru {-P --show}        [opções]\"\n\n#: src/help.rs:22\nmsgid \"    paru {-G --getpkgbuild} [package(s)]\"\nmsgstr \"    paru {-G --getpkgbuild} [pacote(s)]\"\n\n#: src/help.rs:23\nmsgid \"    paru {-B --build}       [dir(s)]\"\nmsgstr \"    paru {-B --build}       [dir(s)]\"\n\n#: src/help.rs:25\nmsgid \"If no arguments are provided 'paru -Syu' will be performed\"\nmsgstr \"Se nenhum argumento for fornecido, 'paru -Syu' será executado\"\n\n#: src/help.rs:27\nmsgid \"Options without operation:\"\nmsgstr \"Opções sem operação:\"\n\n#: src/help.rs:28\nmsgid \"    -c --clean            Remove unneeded dependencies\"\nmsgstr \"    -c --clean            Remove dependências desnecessárias\"\n\n#: src/help.rs:29\nmsgid \"\"\n\"       --gendb            Generates development package DB used for updating\"\nmsgstr \"\"\n\"       --gendb            Gera banco de dados de pacotes de desenvolvimento \"\n\"usado para atualizações\"\n\n#: src/help.rs:31\nmsgid \"New options:\"\nmsgstr \"Novas opções:\"\n\n#: src/help.rs:32\nmsgid \"       --repo              Assume targets are from the repositories\"\nmsgstr \"       --repo              Assume que os alvos são dos repositórios\"\n\n#: src/help.rs:33\nmsgid \"\"\n\"       --pkgbuilds         Assume targets are from pkgbuild repositories\"\nmsgstr \"\"\n\"       --pkgbuilds         Assume que os alvos são de repositórios pkgbuild\"\n\n#: src/help.rs:34\nmsgid \"    -a --aur               Assume targets are from the AUR\"\nmsgstr \"    -a --aur               Assume que os alvos são do AUR\"\n\n#: src/help.rs:35\nmsgid \"    --mode      <mode>     Sets where paru looks for targets\"\nmsgstr \"    --mode      <modo>     Define onde o paru procura por alvos\"\n\n#: src/help.rs:37\nmsgid \"\"\n\"    --interactive          Enable interactive package selection for -S, -R, \"\n\"-Ss and -Qs\"\nmsgstr \"\"\n\"    --interactive          Habilita seleção interativa de pacotes para -S, \"\n\"-R, -Ss e -Qs\"\n\n#: src/help.rs:39\nmsgid \"    --aururl    <url>      Set an alternative AUR URL\"\nmsgstr \"    --aururl    <url>      Define uma URL alternativa do AUR\"\n\n#: src/help.rs:40\nmsgid \"\"\n\"    --aurrpcur  <url>      Set an alternative URL for the AUR /rpc endpoint\"\nmsgstr \"\"\n\"    --aurrpcur  <url>      Define uma URL alternativa para o endpoint /rpc \"\n\"do AUR\"\n\n#: src/help.rs:41\nmsgid \"    --clonedir  <dir>      Directory used to download and run PKGBUILDs\"\nmsgstr \"\"\n\"    --clonedir  <dir>      Diretório usado para baixar e executar PKGBUILDs\"\n\n#: src/help.rs:43\nmsgid \"    --makepkg   <file>     makepkg command to use\"\nmsgstr \"    --makepkg   <arquivo>  Comando makepkg a ser usado\"\n\n#: src/help.rs:44\nmsgid \"    --mflags    <flags>    Pass arguments to makepkg\"\nmsgstr \"    --mflags    <flags>    Passa argumentos para makepkg\"\n\n#: src/help.rs:45\nmsgid \"    --pacman    <file>     pacman command to use\"\nmsgstr \"    --pacman    <arquivo>  Comando pacman a ser usado\"\n\n#: src/help.rs:46\nmsgid \"    --git       <file>     git command to use\"\nmsgstr \"    --git       <arquivo>  Comando git a ser usado\"\n\n#: src/help.rs:47\nmsgid \"    --gitflags  <flags>    Pass arguments to git\"\nmsgstr \"    --gitflags  <flags>    Passa argumentos para git\"\n\n#: src/help.rs:48\nmsgid \"    --sudo      <file>     sudo command to use\"\nmsgstr \"    --sudo      <arquivo>  Comando sudo a ser usado\"\n\n#: src/help.rs:49\nmsgid \"    --sudoflags <flags>    Pass arguments to sudo\"\nmsgstr \"    --sudoflags <flags>    Passa argumentos para sudo\"\n\n#: src/help.rs:50\nmsgid \"    --pkgctl    <file>     pkgctl command to use\"\nmsgstr \"    --pkgctl    <arquivo>  Comando pkgctl a ser usado\"\n\n#: src/help.rs:51\nmsgid \"    --bat       <file>     bat command to use\"\nmsgstr \"    --bat       <arquivo>  Comando bat a ser usado\"\n\n#: src/help.rs:52\nmsgid \"    --batflags  <flags>    Pass arguments to bat\"\nmsgstr \"    --batflags  <flags>    Passa argumentos para bat\"\n\n#: src/help.rs:53\nmsgid \"    --gpg       <file>     gpg command to use\"\nmsgstr \"    --gpg       <arquivo>  Comando gpg a ser usado\"\n\n#: src/help.rs:54\nmsgid \"    --gpgflags  <flags>    Pass arguments to gpg\"\nmsgstr \"    --gpgflags  <flags>    Passa argumentos para gpg\"\n\n#: src/help.rs:55\nmsgid \"    --fm        <file>     File manager to use for PKGBUILD review\"\nmsgstr \"\"\n\"    --fm        <arquivo>  Gerenciador de arquivos a ser usado para revisão \"\n\"de PKGBUILD\"\n\n#: src/help.rs:56\nmsgid \"    --fmflags   <flags>    Pass arguments to file manager\"\nmsgstr \"\"\n\"    --fmflags   <flags>    Passa argumentos para o gerenciador de arquivos\"\n\n#: src/help.rs:58\nmsgid \"    --completioninterval   <n> Time in days to refresh completion cache\"\nmsgstr \"\"\n\"    --completioninterval   <n> Tempo em dias para atualizar o cache de \"\n\"conclusão\"\n\n#: src/help.rs:59\nmsgid \"\"\n\"    --sortby    <field>    Sort AUR results by a specific field during search\"\nmsgstr \"\"\n\"    --sortby    <field>    Ordena resultados do AUR por um campo específico \"\n\"durante a busca\"\n\n#: src/help.rs:60\nmsgid \"    --searchby  <field>    Search for packages using a specified field\"\nmsgstr \"\"\n\"    --searchby  <field>    Busca por pacotes usando um campo especificado\"\n\n#: src/help.rs:61\nmsgid \"\"\n\"    --limit     <limit>    Limits the number of items returned in a search\"\nmsgstr \"\"\n\"    --limit     <limit>    Limita o número de itens retornados em uma busca\"\n\n#: src/help.rs:62\nmsgid \"    -x --regex             Enable regex for aur search\"\nmsgstr \"    -x --regex             Habilita regex para busca no AUR\"\n\n#: src/help.rs:64\nmsgid \"    --skipreview           Skip the review process\"\nmsgstr \"    --skipreview           Ignora o processo de revisão\"\n\n#: src/help.rs:65\nmsgid \"    --review               Don't skip the review process\"\nmsgstr \"    --review               Não ignora o processo de revisão\"\n\n#: src/help.rs:66\nmsgid \"    --[no]upgrademenu      Show interactive menu to skip upgrades\"\nmsgstr \"\"\n\"    --[no]upgrademenu      Mostra menu interativo para pular atualizações\"\n\n#: src/help.rs:67\nmsgid \"    --[no]removemake       Remove makedepends after install\"\nmsgstr \"    --[no]removemake       Remove makedepends após instalação\"\n\n#: src/help.rs:68\nmsgid \"    --[no]cleanafter       Remove package sources after install\"\nmsgstr \"    --[no]cleanafter       Remove fontes do pacote após instalação\"\n\n#: src/help.rs:69\nmsgid \"    --[no]rebuild          Always build target packages\"\nmsgstr \"    --[no]rebuild          Sempre compila pacotes alvo\"\n\n#: src/help.rs:70\nmsgid \"    --[no]redownload       Always download PKGBUILDs of targets\"\nmsgstr \"    --[no]redownload       Sempre baixa PKGBUILDs dos alvos\"\n\n#: src/help.rs:72\nmsgid \"    --[no]pgpfetch         Prompt to import PGP keys from PKGBUILDs\"\nmsgstr \"\"\n\"    --[no]pgpfetch         Solicita importação de chaves PGP dos PKGBUILDs\"\n\n#: src/help.rs:73\nmsgid \"\"\n\"    --[no]useask           Automatically resolve conflicts using pacman's \"\n\"ask flag\"\nmsgstr \"\"\n\"    --[no]useask           Resolve conflitos automaticamente usando a flag \"\n\"ask do pacman\"\n\n#: src/help.rs:74\nmsgid \"\"\n\"    --[no]savechanges      Commit changes to pkgbuilds made during review\"\nmsgstr \"\"\n\"    --[no]savechanges      Confirma alterações feitas nos pkgbuilds durante \"\n\"a revisão\"\n\n#: src/help.rs:75\nmsgid \"    --[no]newsonupgrade    Print new news during sysupgrade\"\nmsgstr \"    --[no]newsonupgrade    Exibe novas notícias durante sysupgrade\"\n\n#: src/help.rs:76\nmsgid \"\"\n\"    --[no]combinedupgrade  Refresh then perform the repo and AUR upgrade \"\n\"together\"\nmsgstr \"\"\n\"    --[no]combinedupgrade  Atualiza e depois executa as atualizações de repo \"\n\"e AUR juntas\"\n\n#: src/help.rs:77\nmsgid \"\"\n\"    --[no]batchinstall     Build multiple AUR packages then install them \"\n\"together\"\nmsgstr \"\"\n\"    --[no]batchinstall     Compila múltiplos pacotes AUR e depois os instala \"\n\"juntos\"\n\n#: src/help.rs:78\nmsgid \"\"\n\"    --[no]provides         Look for matching providers when searching for \"\n\"packages\"\nmsgstr \"\"\n\"    --[no]provides         Procura por provedores correspondentes ao buscar \"\n\"por pacotes\"\n\n#: src/help.rs:79\nmsgid \"    --[no]devel            Check development packages during sysupgrade\"\nmsgstr \"\"\n\"    --[no]devel            Verifica pacotes de desenvolvimento durante \"\n\"sysupgrade\"\n\n#: src/help.rs:80\nmsgid \"\"\n\"    --[no]installdebug     Also install debug packages when a package \"\n\"provides them\"\nmsgstr \"\"\n\"    --[no]installdebug     Também instala pacotes de depuração quando um \"\n\"pacote os fornece\"\n\n#: src/help.rs:81\nmsgid \"\"\n\"    --[no]sudoloop         Loop sudo calls in the background to avoid timeout\"\nmsgstr \"\"\n\"    --[no]sudoloop         Executa chamadas sudo em loop em segundo plano \"\n\"para evitar timeout\"\n\n#: src/help.rs:82\nmsgid \"    --[no]chroot           Build packages in a chroot\"\nmsgstr \"    --[no]chroot           Compila pacotes em um chroot\"\n\n#: src/help.rs:83\nmsgid \"\"\n\"    --[no]failfast         Exit as soon as building an AUR package fails\"\nmsgstr \"\"\n\"    --[no]failfast         Sai assim que a compilação de um pacote AUR falhar\"\n\n#: src/help.rs:84\nmsgid \"\"\n\"    --[no]keepsrc          Keep src/ and pkg/ dirs after building packages\"\nmsgstr \"\"\n\"    --[no]keepsrc          Mantém diretórios src/ e pkg/ após compilar \"\n\"pacotes\"\n\n#: src/help.rs:85\nmsgid \"    --[no]sign             Sign packages with gpg\"\nmsgstr \"    --[no]sign             Assina pacotes com gpg\"\n\n#: src/help.rs:86\nmsgid \"    --[no]signdb           Sign databases with gpg\"\nmsgstr \"    --[no]signdb           Assina bancos de dados com gpg\"\n\n#: src/help.rs:87\nmsgid \"    --[no]localrepo        Build packages into a local repo\"\nmsgstr \"    --[no]localrepo        Compila pacotes em um repositório local\"\n\n#: src/help.rs:88\nmsgid \"\"\n\"    --nocheck              Don't resolve checkdepends or run the check \"\n\"function\"\nmsgstr \"\"\n\"    --nocheck              Não resolve checkdepends nem executa a função de \"\n\"verificação\"\n\n#: src/help.rs:90\nmsgid \"\"\n\"    --rootchrootpkgs       Packages to install in the root chroot (default: \"\n\"base-devel)\"\nmsgstr \"\"\n\"    --rootchrootpkgs       Pacotes para instalar no root chroot (padrão: \"\n\"base-devel)\"\n\n#: src/help.rs:92\nmsgid \"\"\n\"    --develsuffixes        Suffixes used to decide if a package is a devel \"\n\"package\"\nmsgstr \"\"\n\"    --develsuffixes        Sufixos usados para decidir se um pacote é um \"\n\"pacote devel\"\n\n#: src/help.rs:93\nmsgid \"    --ignoredevel          Ignore devel upgrades for specified packages\"\nmsgstr \"\"\n\"    --ignoredevel          Ignora atualizações devel para pacotes \"\n\"especificados\"\n\n#: src/help.rs:94\nmsgid \"\"\n\"    --bottomup             Shows AUR's packages first and then repository's\"\nmsgstr \"\"\n\"    --bottomup             Mostra primeiro os pacotes do AUR e depois os do \"\n\"repositório\"\n\n#: src/help.rs:95\nmsgid \"\"\n\"    --topdown              Shows repository's packages first and then AUR's\"\nmsgstr \"\"\n\"    --topdown              Mostra primeiro os pacotes do repositório e \"\n\"depois os do AUR\"\n\n#: src/help.rs:97\nmsgid \"show specific options:\"\nmsgstr \"mostrar opções específicas:\"\n\n#: src/help.rs:98\nmsgid \"    -c --complete         Used for completions\"\nmsgstr \"    -c --complete         Usado para conclusões\"\n\n#: src/help.rs:99\nmsgid \"    -s --stats            Display system package statistics\"\nmsgstr \"    -s --stats            Exibe estatísticas de pacotes do sistema\"\n\n#: src/help.rs:100\nmsgid \"    -w --news             Print arch news\"\nmsgstr \"    -w --news             Exibe notícias do Arch\"\n\n#: src/help.rs:102\nmsgid \"getpkgbuild specific options:\"\nmsgstr \"opções específicas do getpkgbuild:\"\n\n#: src/help.rs:103\nmsgid \"    -p --print            Print pkgbuild to stdout\"\nmsgstr \"    -p --print            Imprime pkgbuild na saída padrão\"\n\n#: src/help.rs:104\nmsgid \"    -c --comments         Print AUR comments for pkgbuild\"\nmsgstr \"    -c --comments         Imprime comentários do AUR para pkgbuild\"\n\n#: src/help.rs:105\nmsgid \"    -s --ssh              Clone package using SSH\"\nmsgstr \"    -s --ssh              Clona pacote usando SSH\"\n\n#: src/help.rs:107\nmsgid \"Build specific options:\"\nmsgstr \"Opções específicas de compilação:\"\n\n#: src/help.rs:108\nmsgid \"    -i --install          Install package as well as building\"\nmsgstr \"    -i --install          Instala pacote além de compilá-lo\"\n\n#: src/info.rs:86 src/info.rs:191 src/info.rs:225\nmsgid \"Name\"\nmsgstr \"Nome\"\n\n#: src/info.rs:87 src/info.rs:192 src/info.rs:226\nmsgid \"Version\"\nmsgstr \"Versão\"\n\n#: src/info.rs:88 src/info.rs:193 src/info.rs:227\nmsgid \"Description\"\nmsgstr \"Descrição\"\n\n#: src/info.rs:89 src/info.rs:195 src/info.rs:235\nmsgid \"Groups\"\nmsgstr \"Grupos\"\n\n#: src/info.rs:90 src/info.rs:196 src/info.rs:236\nmsgid \"Licenses\"\nmsgstr \"Licenças\"\n\n#: src/info.rs:91 src/info.rs:197 src/info.rs:237\nmsgid \"Provides\"\nmsgstr \"Fornece\"\n\n#: src/info.rs:92 src/info.rs:198 src/info.rs:238\nmsgid \"Depends On\"\nmsgstr \"Depende de\"\n\n#: src/info.rs:93 src/info.rs:199 src/info.rs:239\nmsgid \"Make Deps\"\nmsgstr \"Dependências de compilação\"\n\n#: src/info.rs:94 src/info.rs:200 src/info.rs:240\nmsgid \"Check Deps\"\nmsgstr \"Dependências de verificação\"\n\n#: src/info.rs:95 src/info.rs:201 src/info.rs:241\nmsgid \"Optional Deps\"\nmsgstr \"Dependências opcionais\"\n\n#: src/info.rs:96 src/info.rs:202 src/info.rs:242\nmsgid \"Conflicts With\"\nmsgstr \"Conflita com\"\n\n#: src/info.rs:97 src/info.rs:243\nmsgid \"Maintainer\"\nmsgstr \"Mantenedor\"\n\n#: src/info.rs:98 src/info.rs:244\nmsgid \"Votes\"\nmsgstr \"Votos\"\n\n#: src/info.rs:99 src/info.rs:245\nmsgid \"Popularity\"\nmsgstr \"Popularidade\"\n\n#: src/info.rs:100 src/info.rs:246\nmsgid \"First Submitted\"\nmsgstr \"Primeiro envio\"\n\n#: src/info.rs:101 src/info.rs:247\nmsgid \"Last Modified\"\nmsgstr \"Última modificação\"\n\n#: src/info.rs:102 src/info.rs:249\nmsgid \"Out Of Date\"\nmsgstr \"Desatualizado\"\n\n#: src/info.rs:103 src/info.rs:254\nmsgid \"ID\"\nmsgstr \"ID\"\n\n#: src/info.rs:104 src/info.rs:255\nmsgid \"Package Base ID\"\nmsgstr \"ID da base do pacote\"\n\n#: src/info.rs:105 src/info.rs:256\nmsgid \"Keywords\"\nmsgstr \"Palavras-chave\"\n\n#: src/info.rs:106 src/info.rs:258\nmsgid \"Snapshot URL\"\nmsgstr \"URL do snapshot\"\n\n#: src/info.rs:107 src/info.rs:203\nmsgid \"Path\"\nmsgstr \"Caminho\"\n\n#: src/install.rs:166 src/query.rs:48 src/lib.rs:101\nmsgid \"error:\"\nmsgstr \"erro:\"\n\n#: src/install.rs:167\nmsgid \"could not get news\"\nmsgstr \"não foi possível obter notícias\"\n\n#: src/install.rs:172 src/install.rs:1127\nmsgid \"Proceed with installation?\"\nmsgstr \"Prosseguir com a instalação?\"\n\n#: src/install.rs:207\nmsgid \"could not find .SRCINFO for '{}'\"\nmsgstr \"não foi possível encontrar .SRCINFO para '{}'\"\n\n#: src/install.rs:353\nmsgid \"could not find package '{pkg}' in package list for '{base}'\"\nmsgstr \"\"\n\"não foi possível encontrar pacote '{pkg}' na lista de pacotes para '{base}'\"\n\n#: src/install.rs:451\nmsgid \"packages failed to build: {}\"\nmsgstr \"pacotes falharam ao compilar: {}\"\n\n#: src/install.rs:523\nmsgid \"adding {} to the install list\"\nmsgstr \"adicionando {} à lista de instalação\"\n\n#: src/install.rs:553 src/install.rs:568\nmsgid \"failed to download sources for '{}'\"\nmsgstr \"falha ao baixar fontes para '{}'\"\n\n#: src/install.rs:577 src/install.rs:603 src/install.rs:611\nmsgid \"failed to build '{}'\"\nmsgstr \"falha ao compilar '{}'\"\n\n#: src/install.rs:580 src/install.rs:784\nmsgid \"{}: parsing pkg list...\"\nmsgstr \"{}: analisando lista de pacotes...\"\n\n#: src/install.rs:584\nmsgid \"package list does not match srcinfo\"\nmsgstr \"lista de pacotes não corresponde ao srcinfo\"\n\n#: src/install.rs:618\nmsgid \"{}-{} is up to date -- skipping build\"\nmsgstr \"{}-{} está atualizado — pulando compilação\"\n\n#: src/install.rs:775\nmsgid \"can't build {base}, deps not satisfied: {deps}\"\nmsgstr \"não é possível compilar {base}, dependências não satisfeitas: {deps}\"\n\n#: src/install.rs:846\nmsgid \"fetching devel info...\"\nmsgstr \"buscando informações devel...\"\n\n#: src/install.rs:911 src/lib.rs:240\nmsgid \"no targets specified (use -h for help)\"\nmsgstr \"nenhum alvo especificado (use -h para ajuda)\"\n\n#: src/install.rs:1008 src/install.rs:1097 src/search.rs:450 src/search.rs:476\n#: src/lib.rs:304\nmsgid \" there is nothing to do\"\nmsgstr \" não há nada a fazer\"\n\n#: src/install.rs:1016\nmsgid \"Resolving dependencies...\"\nmsgstr \"Resolvendo dependências...\"\n\n#: src/install.rs:1077\nmsgid \"can't install AUR package as root\"\nmsgstr \"não é possível instalar pacote AUR como root\"\n\n#: src/install.rs:1080\nmsgid \"--downloadonly can't be used for AUR packages\"\nmsgstr \"--downloadonly não pode ser usado para pacotes AUR\"\n\n#: src/install.rs:1113\nmsgid \"Remove make dependencies after install?\"\nmsgstr \"Remover dependências de compilação após instalação?\"\n\n#: src/install.rs:1124\nmsgid \"Proceed to review?\"\nmsgstr \"Prosseguir para revisão?\"\n\n#: src/install.rs:1177\nmsgid \"no architecture\"\nmsgstr \"sem arquitetura\"\n\n#: src/install.rs:1191\nmsgid \"The following packages are not compatible with your architecture:\"\nmsgstr \"Os seguintes pacotes não são compatíveis com sua arquitetura:\"\n\n#: src/install.rs:1205\nmsgid \"Would you like to try build them anyway?\"\nmsgstr \"Gostaria de tentar compilá-los mesmo assim?\"\n\n#: src/install.rs:1349\nmsgid \"duplicate packages: {}\"\nmsgstr \"pacotes duplicados: {}\"\n\n#: src/install.rs:1353\nmsgid \"could not find all required packages:\"\nmsgstr \"não foi possível encontrar todos os pacotes necessários:\"\n\n#: src/install.rs:1365\nmsgid \"\"\n\"\\n\"\n\"    {missing} (wanted by: {stack})\"\nmsgstr \"\"\n\"\\n\"\n\"    {missing} (requerido por: {stack})\"\n\n#: src/install.rs:1379 src/install.rs:2122\nmsgid \"{}-{} is up to date -- skipping\"\nmsgstr \"{}-{} está atualizado — pulando\"\n\n#: src/install.rs:1387\nmsgid \"Calculating conflicts...\"\nmsgstr \"Calculando conflitos...\"\n\n#: src/install.rs:1410\nmsgid \"Calculating inner conflicts...\"\nmsgstr \"Calculando conflitos internos...\"\n\n#: src/install.rs:1422\nmsgid \"Inner conflicts found:\"\nmsgstr \"Conflitos internos encontrados:\"\n\n#: src/install.rs:1444\nmsgid \"Conflicts found:\"\nmsgstr \"Conflitos encontrados:\"\n\n#: src/install.rs:1467\nmsgid \"Conflicting packages will have to be confirmed manually\"\nmsgstr \"Pacotes conflitantes deverão ser confirmados manualmente\"\n\n#: src/install.rs:1471\nmsgid \"can not install conflicting packages with --noconfirm\"\nmsgstr \"não é possível instalar pacotes conflitantes com --noconfirm\"\n\n#: src/install.rs:1599\nmsgid \"failed to execute file manager: {}\"\nmsgstr \"falha ao executar gerenciador de arquivos: {}\"\n\n#: src/install.rs:1602\nmsgid \"file manager '{}' did not execute successfully\"\nmsgstr \"falha na execução do gerenciador de arquivos '{}'\"\n\n#: src/install.rs:1620\nmsgid \"failed to read dir: {}\"\nmsgstr \"falha ao ler diretório: {}\"\n\n#: src/install.rs:1677\nmsgid \"failed to open: {}\"\nmsgstr \"falha ao abrir: {}\"\n\n#: src/install.rs:1697\nmsgid \"binary file: {}\"\nmsgstr \"arquivo binário: {}\"\n\n#: src/install.rs:1719 src/install.rs:1790\nmsgid \"Accept changes?\"\nmsgstr \"Aceitar alterações?\"\n\n#: src/install.rs:1759\nmsgid \"Paging with less. Press 'q' to quit or 'h' for help.\"\nmsgstr \"Paginando com less. Pressione 'q' para sair ou 'h' para ajuda.\"\n\n#: src/install.rs:1794\nmsgid \" nothing new to review\"\nmsgstr \" nada novo para revisar\"\n\n#: src/install.rs:2070\nmsgid \"can't find package name in packagelist: {}\"\nmsgstr \"não foi possível encontrar nome do pacote na lista de pacotes: {}\"\n\n#: src/install.rs:2142\nmsgid \"Signing packages...\"\nmsgstr \"Assinando pacotes...\"\n\n#: src/install.rs:2172\nmsgid \"{}-{} is up to date -- skipping install\"\nmsgstr \"{}-{} está atualizado — pulando instalação\"\n\n#: src/keys.rs:57\nmsgid \"keys need to be imported:\"\nmsgstr \"chaves precisam ser importadas:\"\n\n#: src/keys.rs:62\nmsgid \"     {key} wanted by: {base}\"\nmsgstr \"     {key} requerida por: {base}\"\n\n#: src/news.rs:57\nmsgid \"No Date \"\nmsgstr \"Sem data \"\n\n#: src/news.rs:60\nmsgid \"No Title\"\nmsgstr \"Sem título\"\n\n#: src/news.rs:69\nmsgid \"no new news\"\nmsgstr \"sem novas notícias\"\n\n#: src/pkgbuild.rs:91\nmsgid \"repo {} does not have a URL or Path\"\nmsgstr \"repositório {} não possui URL ou caminho\"\n\n#: src/pkgbuild.rs:153\nmsgid \"repo {} not downloaded (use -Sy --pkgbuilds to download)\"\nmsgstr \"repositório {} não baixado (use -Sy --pkgbuilds para baixar)\"\n\n#: src/pkgbuild.rs:200\nmsgid \"Generating .SRCINFO for {repo}/{dir}...\"\nmsgstr \"Gerando .SRCINFO para {repo}/{dir}...\"\n\n#: src/pkgbuild.rs:278\nmsgid \"failed to parse srcinfo \\\"{}\\\"\"\nmsgstr \"falha ao analisar srcinfo \\\"{}\\\"\"\n\n#: src/pkgbuild.rs:368\nmsgid \"Downloading PKGBUILD Repos...\"\nmsgstr \"Baixando repositórios PKGBUILD...\"\n\n#: src/pkgbuild.rs:422\nmsgid \"failed to parse srcinfo generated by makepkg\"\nmsgstr \"falha ao analisar srcinfo gerada pelo makepkg\"\n\n#: src/query.rs:151\nmsgid \" [ignored]\"\nmsgstr \" [ignorado]\"\n\n#: src/repo.rs:253\nmsgid \"failed to get current exe\"\nmsgstr \"falha ao obter executável atual\"\n\n#: src/repo.rs:298\nmsgid \"syncing local databases...\"\nmsgstr \"sincronizando bancos de dados locais...\"\n\n#: src/repo.rs:304\nmsgid \"  nothing to do\"\nmsgstr \"  nada a fazer\"\n\n#: src/repo.rs:335\nmsgid \"there is nothing to do\"\nmsgstr \"nada a fazer\"\n\n#: src/repo.rs:341\nmsgid \"Packages\"\nmsgstr \"Pacotes\"\n\n#: src/repo.rs:354\nmsgid \"Proceed with removal?\"\nmsgstr \"Prosseguir com remoção?\"\n\n#: src/repo.rs:415\nmsgid \" [installed: {}]\"\nmsgstr \" [instalado: {}]\"\n\n#: src/repo.rs:417 src/sync.rs:144\nmsgid \" [installed]\"\nmsgstr \" [instalado]\"\n\n#: src/search.rs:41\nmsgid \"aur search failed\"\nmsgstr \"falha na busca no AUR\"\n\n#: src/search.rs:285 src/search.rs:338 src/search.rs:410\nmsgid \"[installed: {}]\"\nmsgstr \"[instalado: {}]\"\n\n#: src/search.rs:287 src/search.rs:340 src/search.rs:412\nmsgid \"[installed]\"\nmsgstr \"[instalado]\"\n\n#: src/search.rs:332\nmsgid \"[out-of-date: {}]\"\nmsgstr \"[Desatualizado desde: {}]\"\n\n#: src/search.rs:347\nmsgid \"[orphaned]\"\nmsgstr \"[Órfão]\"\n\n#: src/search.rs:491\nmsgid \"no packages match search\"\nmsgstr \"nenhum pacote corresponde à busca\"\n\n#: src/search.rs:529\nmsgid \"Packages to install (eg: 1 2 3, 1-3):\"\nmsgstr \"Pacotes a instalar (ex: 1 2 3, 1-3):\"\n\n#: src/search.rs:531\nmsgid \"Select packages (eg: 1 2 3, 1-3):\"\nmsgstr \"Selecionar pacotes (ex: 1 2 3, 1-3):\"\n\n#: src/stats.rs:90\nmsgid \"Total installed packages: {}\"\nmsgstr \"Total de pacotes instalados: {}\"\n\n#: src/stats.rs:94\nmsgid \"Aur packages: {}\"\nmsgstr \"Pacotes AUR: {}\"\n\n#: src/stats.rs:98\nmsgid \"Repo packages: {}\"\nmsgstr \"Pacotes de repositório: {}\"\n\n#: src/stats.rs:102\nmsgid \"Explicitly installed packages: {}\"\nmsgstr \"Pacotes instalados explicitamente: {}\"\n\n#: src/stats.rs:106\nmsgid \"Total Size occupied by packages: {}\"\nmsgstr \"Tamanho total ocupado pelos pacotes: {}\"\n\n#: src/stats.rs:113\nmsgid \"Ten biggest packages:\"\nmsgstr \"Dez maiores pacotes:\"\n\n#: src/upgrade.rs:126\nmsgid \"Looking for PKGBUILD upgrades...\"\nmsgstr \"Procurando atualizações de PKGBUILD...\"\n\n#: src/upgrade.rs:134\nmsgid \"Looking for AUR upgrades...\"\nmsgstr \"Procurando atualizações no AUR...\"\n\n#: src/upgrade.rs:165\nmsgid \"Looking for devel upgrades...\"\nmsgstr \"Procurando atualizações devel...\"\n\n#: src/upgrade.rs:193 src/upgrade.rs:206\nmsgid \"warning:\"\nmsgstr \"aviso:\"\n\n#: src/upgrade.rs:195 src/upgrade.rs:208\nmsgid \"{pkg}: ignoring package upgrade ({old} => {new})\"\nmsgstr \"{pkg}: ignorando atualização de pacote ({old} => {new})\"\n\n#: src/upgrade.rs:400\nmsgid \"Packages to exclude (eg: 1 2 3, 1-3):\"\nmsgstr \"Pacotes a excluir (ex: 1 2 3, 1-3):\"\n\n#: src/util.rs:121\nmsgid \"[Y/n]:\"\nmsgstr \"[S/n]:\"\n\n#: src/util.rs:123\nmsgid \"[y/N]:\"\nmsgstr \"[s/N]:\"\n\n#: src/util.rs:142\nmsgid \"y\"\nmsgstr \"s\"\n\n#: src/util.rs:142\nmsgid \"yes\"\nmsgstr \"sim\"\n\n#: src/util.rs:300\nmsgid \"Enter a number (default=1): \"\nmsgstr \"Digite um número (padrão=1): \"\n\n#: src/util.rs:317\nmsgid \"invalid number: {}\"\nmsgstr \"número inválido: {}\"\n\n#: src/util.rs:327\nmsgid \"invalid value: {n} is not between 1 and {max}\"\nmsgstr \"valor inválido: {n} não está entre 1 e {max}\"\n\n#: src/resolver.rs:83\nmsgid \"There are {} members in group\"\nmsgstr \"Há {} membros no grupo\"\n\n#: src/resolver.rs:108\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Enter a selection (default=all): \"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Digite uma seleção (padrão=todos): \"\n\n#: src/lib.rs:206\nmsgid \"can not use chroot builds: devtools is not installed\"\nmsgstr \"não é possível usar compilações em chroot: devtools não está instalado\"\n\n#: src/lib.rs:313\nmsgid \"no operation specified (use -h for help)\"\nmsgstr \"nenhuma operação especificada (use -h para ajuda)\"\n\n#~ msgid \"[Installed: {}]\"\n#~ msgstr \"[Instalado: {}]\"\n\n#~ msgid \"[Installed]\"\n#~ msgstr \"[Instalado]\"\n"
  },
  {
    "path": "po/ro.po",
    "content": "# Paru Romanian translation\n# Copyright (C) 2021\n# This file is distributed under the same license as the paru package.\n# Adrian Costin <adriancostin6@gmail.com>, 2021.\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: paru VERSION\\n\"\n\"Report-Msgid-Bugs-To: https://github.com/Morganamilo/paru\\n\"\n\"POT-Creation-Date: 2026-01-08 17:40+0000\\n\"\n\"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\\n\"\n\"Last-Translator: Adrian Costin <adriancostin6@gmail.com>\\n\"\n\"Language-Team: \\n\"\n\"Language: ro\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\n#: src/clean.rs:36\n#, fuzzy\nmsgid \"Do you want to clean ALL AUR packages from cache?\"\nmsgstr \"Doriți să stergeți din cache TOATE PACHETELE care provin din AUR?\"\n\n#: src/clean.rs:38\n#, fuzzy\nmsgid \"Do you want to clean all other AUR packages from cache?\"\nmsgstr \"Doriți să stergeți din cache toate celelalte pachete AUR?\"\n\n#: src/clean.rs:41\nmsgid \"Clone Directory: {}\"\nmsgstr \"Director Clone: {}\"\n\n#: src/clean.rs:47\nmsgid \"\"\n\"\\n\"\n\"Diff Directory: {}\"\nmsgstr \"\"\n\"\\n\"\n\"Director Diff: {}\"\n\n#: src/clean.rs:49\nmsgid \"Do you want to remove all saved diffs?\"\nmsgstr \"Doriți să eliminați toate diff-urile salvate?\"\n\n#: src/clean.rs:65\nmsgid \"can't open diff dir: {}\"\nmsgstr \"nu se poate deschide directorul diff: {}\"\n\n#: src/clean.rs:76 src/clean.rs:180\nmsgid \"could not remove '{}'\"\nmsgstr \"nu se poate elimina '{}'\"\n\n#: src/clean.rs:95\nmsgid \"can't open clone dir: {}\"\nmsgstr \"nu se poate deschide directorul clone: {}\"\n\n#: src/clean.rs:141\n#, fuzzy\nmsgid \"could not parse .SRCINFO for '{}'\"\nmsgstr \"nu s-a putut găsi .SRCINFO pentru '{}'\"\n\n#: src/command_line.rs:134\nmsgid \"option {} expects a value\"\nmsgstr \"opțiunea {} așteaptă o valoare\"\n\n#: src/command_line.rs:165 src/command_line.rs:382\nmsgid \"option {} does not allow a value\"\nmsgstr \"opțiunea {} nu permite alocarea unei valori\"\n\n#: src/command_line.rs:373\nmsgid \"unknown option --{}\"\nmsgstr \"opțiune necunoscută --{}\"\n\n#: src/command_line.rs:376\nmsgid \"unknown option -{}\"\nmsgstr \"opțiune necunoscută -{}\"\n\n#: src/completion.rs:26 src/search.rs:179 src/sync.rs:113\n#, fuzzy\nmsgid \"failed to decode package list\"\nmsgstr \"nu s-au putut descărca sursele\"\n\n#: src/completion.rs:35\nmsgid \"failed to open cache file '{}'\"\nmsgstr \"nu s-a putut deschide fișierul cache '{}'\"\n\n#: src/completion.rs:83\nmsgid \"could not update aur cache\"\nmsgstr \"nu s-a putut actualiza cache-ul aur\"\n\n#: src/config.rs:179\nmsgid \"invalid value '{val}' for key '{key}', expected: {exp}\"\nmsgstr \"\"\n\"valoare incorectă '{val}' pentru cheia '{key}', valoare așteptată: {exp}\"\n\n#: src/config.rs:332\n#, fuzzy\nmsgid \"unknown mode {}\"\nmsgstr \"opțiune necunoscută -{}\"\n\n#: src/config.rs:564\nmsgid \"section can not be called {}\"\nmsgstr \"\"\n\n#: src/config.rs:581\nmsgid \"failed to find cache directory\"\nmsgstr \"nu s-a găsit directorul cache\"\n\n#: src/config.rs:584\nmsgid \"failed to find config directory\"\nmsgstr \"nu s-a găsit directorul config\"\n\n#: src/config.rs:588\n#, fuzzy\nmsgid \"failed to find state directory\"\nmsgstr \"nu s-a găsit directorul cache\"\n\n#: src/config.rs:635\nmsgid \"config file '{}' does not exist\"\nmsgstr \"fișierul de configurare '{}' nu există\"\n\n#: src/config.rs:684\nmsgid \"only one operation may be used at a time\"\nmsgstr \"se poate folosi doar o singură operațiune la un anumit moment\"\n\n#: src/config.rs:795\nmsgid \"no local repo named {}\"\nmsgstr \"\"\n\n#: src/config.rs:821\nmsgid \"can not find local repo '{}' in pacman.conf\"\nmsgstr \"nu s-a putut găsi repo-ul local '{}' în pacman.conf\"\n\n#: src/config.rs:866\nmsgid \"failed to initialize alpm: root={} dbpath={}\"\nmsgstr \"nu s-a putut inițializa alpm: root={} dbpath={}\"\n\n#: src/config.rs:941 src/config.rs:1102\nmsgid \"value can not be empty for key '{}'\"\nmsgstr \"valoarea cheii '{}' nu poate sa fie empty\"\n\n#: src/config.rs:957\nmsgid \"key '{}' does not belong to a section\"\nmsgstr \"cheia '{}' nu aparține unei secțiuni\"\n\n#: src/config.rs:971 src/config.rs:988 src/config.rs:990 src/config.rs:1005\nmsgid \"key can not be empty\"\nmsgstr \"cheia nu poate să fie empty\"\n\n#: src/config.rs:981\n#, fuzzy\nmsgid \"error: unknown option '{}' in repo\"\nmsgstr \"eroare: opțiune necunoscută '{}' în secțiunea [bin]\"\n\n#: src/config.rs:991\nmsgid \"key can not contain null bytes\"\nmsgstr \"\"\n\n#: src/config.rs:994\nmsgid \"value can not contain null bytes\"\nmsgstr \"\"\n\n#: src/config.rs:1030\nmsgid \"error: unknown option '{}' in section [bin]\"\nmsgstr \"eroare: opțiune necunoscută '{}' în secțiunea [bin]\"\n\n#: src/config.rs:1150\nmsgid \"error: unknown option '{}' in section [options]\"\nmsgstr \"erorare: opțiune necunoscută '{}' în secțiunea [options]\"\n\n#: src/config.rs:1155\nmsgid \"option '{}' does not take a value\"\nmsgstr \"opțiunea '{}' nu ia o valoare\"\n\n#: src/config.rs:1187 src/resolver.rs:136\nmsgid \"There are {n} providers available for {pkg}:\"\nmsgstr \"Există {n} provideri disponibili pentru {pkg}:\"\n\n#: src/config.rs:1201 src/info.rs:85 src/info.rs:190 src/info.rs:224\n#: src/resolver.rs:95 src/resolver.rs:144\nmsgid \"Repository\"\nmsgstr \"Repository\"\n\n#: src/config.rs:1227\nmsgid \"  failed to sync {}\"\nmsgstr \"  nu s-a putut sincroniza {}\"\n\n#: src/devel.rs:136 src/download.rs:207\nmsgid \"Querying AUR...\"\nmsgstr \"Se interoghează AUR...\"\n\n#: src/devel.rs:157 src/devel.rs:181 src/install.rs:203\nmsgid \"failed to parse srcinfo for '{}'\"\nmsgstr \"nu s-a putut procesa srcinfo pentru '{}'\"\n\n#: src/devel.rs:201\nmsgid \"Looking for devel repos...\"\nmsgstr \"Se caută devel repos...\"\n\n#: src/devel.rs:210\nmsgid \"failed to save devel info\"\nmsgstr \"nu s-au putut salva devel info\"\n\n#: src/devel.rs:218\n#, fuzzy\nmsgid \"failed to create state directory: {}\"\nmsgstr \"nu s-a găsit directorul cache\"\n\n#: src/devel.rs:233\n#, fuzzy\nmsgid \"failed to create temporary file: {}\"\nmsgstr \"nu s-a putut executa un file manager: {}\"\n\n#: src/devel.rs:238\n#, fuzzy\nmsgid \"failed to write to temporary file: {}\"\nmsgstr \"nu s-a putut citi directorul: {}\"\n\n#: src/devel.rs:244\nmsgid \"failed to rename '{temp}' to '{devel_toml}\"\nmsgstr \"\"\n\n#: src/devel.rs:490\nmsgid \"package does not have an update\"\nmsgstr \"pachetul nu are un update disponibil\"\n\n#: src/devel.rs:536\nmsgid \"failed to lookup: {}\"\nmsgstr \"nu s-a putut efectua căutarea: {}\"\n\n#: src/devel.rs:564\n#, fuzzy\nmsgid \"invalid toml: {}\"\nmsgstr \"json invalid: {}\"\n\n#: src/download.rs:100\nmsgid \"packages not in the AUR: \"\nmsgstr \"pachetele nu se găsesc în AUR: \"\n\n#: src/download.rs:111\nmsgid \"marked out of date: \"\nmsgstr \"marcat ca expirat: \"\n\n#: src/download.rs:122\nmsgid \"orphans: \"\nmsgstr \"orfani: \"\n\n#: src/download.rs:260\nmsgid \"downloading: {pkg}\"\nmsgstr \"se descarcă: {pkg}\"\n\n#: src/download.rs:279 src/download.rs:602 src/info.rs:55 src/info.rs:180\n#: src/query.rs:49\nmsgid \"package '{}' was not found\"\nmsgstr \"pachetul '{}' nu a fost găsit\"\n\n#: src/download.rs:291\n#, fuzzy\nmsgid \"duplicate PKGBUILD: {}\"\nmsgstr \"pachete duplicate: {}\"\n\n#: src/download.rs:307\nmsgid \"package '{}' exists but has no PKGBUILD -- skipping\"\nmsgstr \"\"\n\n#: src/download.rs:340\nmsgid \"Downloading PKGBUILDs...\"\nmsgstr \"Se descarcă PKBUILDs...\"\n\n#: src/download.rs:344\nmsgid \" PKGBUILDs up to date\"\nmsgstr \" PKGBUILDs sunt actualizate la cea mai recentă versiune\"\n\n#: src/exec.rs:72\nmsgid \"failed to run:\"\nmsgstr \"nu s-a putut rula:\"\n\n#: src/exec.rs:174\nmsgid \"Pacman is currently in use, please wait...\"\nmsgstr \"Pacman este ocupat momentan, vă rugăm să așteptați...\"\n\n#: src/fmt.rs:24 src/info.rs:275 src/search.rs:293 src/search.rs:350\nmsgid \"None\"\nmsgstr \"Nimic\"\n\n#: src/fmt.rs:245\nmsgid \"Repo\"\nmsgstr \"Repo\"\n\n#: src/fmt.rs:252\nmsgid \"Repo Make\"\nmsgstr \"Repo Make\"\n\n#: src/fmt.rs:272\nmsgid \"Pkgbuilds Make\"\nmsgstr \"\"\n\n#: src/fmt.rs:274\nmsgid \"Aur Make\"\nmsgstr \"Aur Make\"\n\n#: src/fmt.rs:319\n#, fuzzy\nmsgid \"Repo ({})\"\nmsgstr \"Repo\"\n\n#: src/fmt.rs:327\n#, fuzzy\nmsgid \"Old Version\"\nmsgstr \"Versiune\"\n\n#: src/fmt.rs:328\n#, fuzzy\nmsgid \"New Version\"\nmsgstr \"Versiune\"\n\n#: src/fmt.rs:329\nmsgid \"Make Only\"\nmsgstr \"\"\n\n#: src/fmt.rs:330\n#, fuzzy\nmsgid \"Yes\"\nmsgstr \"da\"\n\n#: src/fmt.rs:331 src/info.rs:221\nmsgid \"No\"\nmsgstr \"Nu\"\n\n#: src/fmt.rs:419\nmsgid \"insufficient columns available for table display\"\nmsgstr \"\"\n\n#: src/help.rs:4\nmsgid \"Usage:\"\nmsgstr \"\"\n\n#: src/help.rs:5\nmsgid \"    paru\"\nmsgstr \"\"\n\n#: src/help.rs:6\nmsgid \"    paru <operation> [...]\"\nmsgstr \"\"\n\n#: src/help.rs:7\nmsgid \"    paru <package(s)>\"\nmsgstr \"\"\n\n#: src/help.rs:9\nmsgid \"Pacman operations:\"\nmsgstr \"\"\n\n#: src/help.rs:10\nmsgid \"    paru {-h --help}\"\nmsgstr \"\"\n\n#: src/help.rs:11\nmsgid \"    paru {-V --version}\"\nmsgstr \"\"\n\n#: src/help.rs:12\nmsgid \"    paru {-D --database}    <options> <package(s)>\"\nmsgstr \"\"\n\n#: src/help.rs:13\nmsgid \"    paru {-F --files}       [options] [package(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:14\nmsgid \"    paru {-Q --query}       [options] [package(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:15\nmsgid \"    paru {-R --remove}      [options] <package(s)>\"\nmsgstr \"\"\n\n#: src/help.rs:16\nmsgid \"    paru {-S --sync}        [options] [package(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:17\nmsgid \"    paru {-T --deptest}     [options] [package(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:18\nmsgid \"    paru {-U --upgrade}     [options] [file(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:20\nmsgid \"New operations:\"\nmsgstr \"\"\n\n#: src/help.rs:21\nmsgid \"    paru {-P --show}        [options]\"\nmsgstr \"\"\n\n#: src/help.rs:22\nmsgid \"    paru {-G --getpkgbuild} [package(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:23\nmsgid \"    paru {-B --build}       [dir(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:25\nmsgid \"If no arguments are provided 'paru -Syu' will be performed\"\nmsgstr \"\"\n\n#: src/help.rs:27\nmsgid \"Options without operation:\"\nmsgstr \"\"\n\n#: src/help.rs:28\nmsgid \"    -c --clean            Remove unneeded dependencies\"\nmsgstr \"\"\n\n#: src/help.rs:29\nmsgid \"\"\n\"       --gendb            Generates development package DB used for updating\"\nmsgstr \"\"\n\n#: src/help.rs:31\nmsgid \"New options:\"\nmsgstr \"\"\n\n#: src/help.rs:32\nmsgid \"       --repo              Assume targets are from the repositories\"\nmsgstr \"\"\n\n#: src/help.rs:33\nmsgid \"\"\n\"       --pkgbuilds         Assume targets are from pkgbuild repositories\"\nmsgstr \"\"\n\n#: src/help.rs:34\nmsgid \"    -a --aur               Assume targets are from the AUR\"\nmsgstr \"\"\n\n#: src/help.rs:35\nmsgid \"    --mode      <mode>     Sets where paru looks for targets\"\nmsgstr \"\"\n\n#: src/help.rs:37\nmsgid \"\"\n\"    --interactive          Enable interactive package selection for -S, -R, \"\n\"-Ss and -Qs\"\nmsgstr \"\"\n\n#: src/help.rs:39\nmsgid \"    --aururl    <url>      Set an alternative AUR URL\"\nmsgstr \"\"\n\n#: src/help.rs:40\nmsgid \"\"\n\"    --aurrpcur  <url>      Set an alternative URL for the AUR /rpc endpoint\"\nmsgstr \"\"\n\n#: src/help.rs:41\nmsgid \"    --clonedir  <dir>      Directory used to download and run PKGBUILDs\"\nmsgstr \"\"\n\n#: src/help.rs:43\nmsgid \"    --makepkg   <file>     makepkg command to use\"\nmsgstr \"\"\n\n#: src/help.rs:44\nmsgid \"    --mflags    <flags>    Pass arguments to makepkg\"\nmsgstr \"\"\n\n#: src/help.rs:45\nmsgid \"    --pacman    <file>     pacman command to use\"\nmsgstr \"\"\n\n#: src/help.rs:46\nmsgid \"    --git       <file>     git command to use\"\nmsgstr \"\"\n\n#: src/help.rs:47\nmsgid \"    --gitflags  <flags>    Pass arguments to git\"\nmsgstr \"\"\n\n#: src/help.rs:48\nmsgid \"    --sudo      <file>     sudo command to use\"\nmsgstr \"\"\n\n#: src/help.rs:49\nmsgid \"    --sudoflags <flags>    Pass arguments to sudo\"\nmsgstr \"\"\n\n#: src/help.rs:50\nmsgid \"    --pkgctl    <file>     pkgctl command to use\"\nmsgstr \"\"\n\n#: src/help.rs:51\nmsgid \"    --bat       <file>     bat command to use\"\nmsgstr \"\"\n\n#: src/help.rs:52\nmsgid \"    --batflags  <flags>    Pass arguments to bat\"\nmsgstr \"\"\n\n#: src/help.rs:53\nmsgid \"    --gpg       <file>     gpg command to use\"\nmsgstr \"\"\n\n#: src/help.rs:54\nmsgid \"    --gpgflags  <flags>    Pass arguments to gpg\"\nmsgstr \"\"\n\n#: src/help.rs:55\nmsgid \"    --fm        <file>     File manager to use for PKGBUILD review\"\nmsgstr \"\"\n\n#: src/help.rs:56\nmsgid \"    --fmflags   <flags>    Pass arguments to file manager\"\nmsgstr \"\"\n\n#: src/help.rs:58\nmsgid \"    --completioninterval   <n> Time in days to refresh completion cache\"\nmsgstr \"\"\n\n#: src/help.rs:59\nmsgid \"\"\n\"    --sortby    <field>    Sort AUR results by a specific field during search\"\nmsgstr \"\"\n\n#: src/help.rs:60\nmsgid \"    --searchby  <field>    Search for packages using a specified field\"\nmsgstr \"\"\n\n#: src/help.rs:61\nmsgid \"\"\n\"    --limit     <limit>    Limits the number of items returned in a search\"\nmsgstr \"\"\n\n#: src/help.rs:62\nmsgid \"    -x --regex             Enable regex for aur search\"\nmsgstr \"\"\n\n#: src/help.rs:64\nmsgid \"    --skipreview           Skip the review process\"\nmsgstr \"\"\n\n#: src/help.rs:65\nmsgid \"    --review               Don't skip the review process\"\nmsgstr \"\"\n\n#: src/help.rs:66\nmsgid \"    --[no]upgrademenu      Show interactive menu to skip upgrades\"\nmsgstr \"\"\n\n#: src/help.rs:67\n#, fuzzy\nmsgid \"    --[no]removemake       Remove makedepends after install\"\nmsgstr \"Elimina dependințele make după instalare?\"\n\n#: src/help.rs:68\nmsgid \"    --[no]cleanafter       Remove package sources after install\"\nmsgstr \"\"\n\n#: src/help.rs:69\nmsgid \"    --[no]rebuild          Always build target packages\"\nmsgstr \"\"\n\n#: src/help.rs:70\nmsgid \"    --[no]redownload       Always download PKGBUILDs of targets\"\nmsgstr \"\"\n\n#: src/help.rs:72\nmsgid \"    --[no]pgpfetch         Prompt to import PGP keys from PKGBUILDs\"\nmsgstr \"\"\n\n#: src/help.rs:73\nmsgid \"\"\n\"    --[no]useask           Automatically resolve conflicts using pacman's \"\n\"ask flag\"\nmsgstr \"\"\n\n#: src/help.rs:74\nmsgid \"\"\n\"    --[no]savechanges      Commit changes to pkgbuilds made during review\"\nmsgstr \"\"\n\n#: src/help.rs:75\nmsgid \"    --[no]newsonupgrade    Print new news during sysupgrade\"\nmsgstr \"\"\n\n#: src/help.rs:76\nmsgid \"\"\n\"    --[no]combinedupgrade  Refresh then perform the repo and AUR upgrade \"\n\"together\"\nmsgstr \"\"\n\n#: src/help.rs:77\nmsgid \"\"\n\"    --[no]batchinstall     Build multiple AUR packages then install them \"\n\"together\"\nmsgstr \"\"\n\n#: src/help.rs:78\nmsgid \"\"\n\"    --[no]provides         Look for matching providers when searching for \"\n\"packages\"\nmsgstr \"\"\n\n#: src/help.rs:79\nmsgid \"    --[no]devel            Check development packages during sysupgrade\"\nmsgstr \"\"\n\n#: src/help.rs:80\nmsgid \"\"\n\"    --[no]installdebug     Also install debug packages when a package \"\n\"provides them\"\nmsgstr \"\"\n\n#: src/help.rs:81\nmsgid \"\"\n\"    --[no]sudoloop         Loop sudo calls in the background to avoid timeout\"\nmsgstr \"\"\n\n#: src/help.rs:82\nmsgid \"    --[no]chroot           Build packages in a chroot\"\nmsgstr \"\"\n\n#: src/help.rs:83\nmsgid \"\"\n\"    --[no]failfast         Exit as soon as building an AUR package fails\"\nmsgstr \"\"\n\n#: src/help.rs:84\nmsgid \"\"\n\"    --[no]keepsrc          Keep src/ and pkg/ dirs after building packages\"\nmsgstr \"\"\n\n#: src/help.rs:85\nmsgid \"    --[no]sign             Sign packages with gpg\"\nmsgstr \"\"\n\n#: src/help.rs:86\nmsgid \"    --[no]signdb           Sign databases with gpg\"\nmsgstr \"\"\n\n#: src/help.rs:87\nmsgid \"    --[no]localrepo        Build packages into a local repo\"\nmsgstr \"\"\n\n#: src/help.rs:88\nmsgid \"\"\n\"    --nocheck              Don't resolve checkdepends or run the check \"\n\"function\"\nmsgstr \"\"\n\n#: src/help.rs:90\nmsgid \"\"\n\"    --rootchrootpkgs       Packages to install in the root chroot (default: \"\n\"base-devel)\"\nmsgstr \"\"\n\n#: src/help.rs:92\nmsgid \"\"\n\"    --develsuffixes        Suffixes used to decide if a package is a devel \"\n\"package\"\nmsgstr \"\"\n\n#: src/help.rs:93\nmsgid \"    --ignoredevel          Ignore devel upgrades for specified packages\"\nmsgstr \"\"\n\n#: src/help.rs:94\nmsgid \"\"\n\"    --bottomup             Shows AUR's packages first and then repository's\"\nmsgstr \"\"\n\n#: src/help.rs:95\nmsgid \"\"\n\"    --topdown              Shows repository's packages first and then AUR's\"\nmsgstr \"\"\n\n#: src/help.rs:97\nmsgid \"show specific options:\"\nmsgstr \"\"\n\n#: src/help.rs:98\nmsgid \"    -c --complete         Used for completions\"\nmsgstr \"\"\n\n#: src/help.rs:99\nmsgid \"    -s --stats            Display system package statistics\"\nmsgstr \"\"\n\n#: src/help.rs:100\nmsgid \"    -w --news             Print arch news\"\nmsgstr \"\"\n\n#: src/help.rs:102\nmsgid \"getpkgbuild specific options:\"\nmsgstr \"\"\n\n#: src/help.rs:103\nmsgid \"    -p --print            Print pkgbuild to stdout\"\nmsgstr \"\"\n\n#: src/help.rs:104\nmsgid \"    -c --comments         Print AUR comments for pkgbuild\"\nmsgstr \"\"\n\n#: src/help.rs:105\nmsgid \"    -s --ssh              Clone package using SSH\"\nmsgstr \"\"\n\n#: src/help.rs:107\nmsgid \"Build specific options:\"\nmsgstr \"\"\n\n#: src/help.rs:108\nmsgid \"    -i --install          Install package as well as building\"\nmsgstr \"\"\n\n#: src/info.rs:86 src/info.rs:191 src/info.rs:225\nmsgid \"Name\"\nmsgstr \"Nume\"\n\n#: src/info.rs:87 src/info.rs:192 src/info.rs:226\nmsgid \"Version\"\nmsgstr \"Versiune\"\n\n#: src/info.rs:88 src/info.rs:193 src/info.rs:227\nmsgid \"Description\"\nmsgstr \"Descriere\"\n\n#: src/info.rs:89 src/info.rs:195 src/info.rs:235\nmsgid \"Groups\"\nmsgstr \"Grupuri\"\n\n#: src/info.rs:90 src/info.rs:196 src/info.rs:236\nmsgid \"Licenses\"\nmsgstr \"Licențe\"\n\n#: src/info.rs:91 src/info.rs:197 src/info.rs:237\nmsgid \"Provides\"\nmsgstr \"Oferă\"\n\n#: src/info.rs:92 src/info.rs:198 src/info.rs:238\nmsgid \"Depends On\"\nmsgstr \"Depinde De\"\n\n#: src/info.rs:93 src/info.rs:199 src/info.rs:239\nmsgid \"Make Deps\"\nmsgstr \"Dependințe Make\"\n\n#: src/info.rs:94 src/info.rs:200 src/info.rs:240\nmsgid \"Check Deps\"\nmsgstr \"Verificare dependințe\"\n\n#: src/info.rs:95 src/info.rs:201 src/info.rs:241\nmsgid \"Optional Deps\"\nmsgstr \"Dependințe Opționale\"\n\n#: src/info.rs:96 src/info.rs:202 src/info.rs:242\nmsgid \"Conflicts With\"\nmsgstr \"În Conflict Cu\"\n\n#: src/info.rs:97 src/info.rs:243\nmsgid \"Maintainer\"\nmsgstr \"Responsabil\"\n\n#: src/info.rs:98 src/info.rs:244\nmsgid \"Votes\"\nmsgstr \"Voturi\"\n\n#: src/info.rs:99 src/info.rs:245\nmsgid \"Popularity\"\nmsgstr \"Popularitate\"\n\n#: src/info.rs:100 src/info.rs:246\nmsgid \"First Submitted\"\nmsgstr \"Prima Încărcare\"\n\n#: src/info.rs:101 src/info.rs:247\nmsgid \"Last Modified\"\nmsgstr \"Ultima Modificare\"\n\n#: src/info.rs:102 src/info.rs:249\nmsgid \"Out Of Date\"\nmsgstr \"Expirat\"\n\n#: src/info.rs:103 src/info.rs:254\nmsgid \"ID\"\nmsgstr \"ID\"\n\n#: src/info.rs:104 src/info.rs:255\nmsgid \"Package Base ID\"\nmsgstr \"ID-ul de bază al pachetului\"\n\n#: src/info.rs:105 src/info.rs:256\nmsgid \"Keywords\"\nmsgstr \"Cuvinte cheie\"\n\n#: src/info.rs:106 src/info.rs:258\nmsgid \"Snapshot URL\"\nmsgstr \"Snapshot URL\"\n\n#: src/info.rs:107 src/info.rs:203\nmsgid \"Path\"\nmsgstr \"\"\n\n#: src/install.rs:166 src/query.rs:48 src/lib.rs:101\nmsgid \"error:\"\nmsgstr \"eroare:\"\n\n#: src/install.rs:167\nmsgid \"could not get news\"\nmsgstr \"nu s-au putut obține noutăți\"\n\n#: src/install.rs:172 src/install.rs:1127\nmsgid \"Proceed with installation?\"\nmsgstr \"Continuă cu instalarea?\"\n\n#: src/install.rs:207\n#, fuzzy\nmsgid \"could not find .SRCINFO for '{}'\"\nmsgstr \"nu s-a putut găsi .SRCINFO pentru '{}'\"\n\n#: src/install.rs:353\nmsgid \"could not find package '{pkg}' in package list for '{base}'\"\nmsgstr \"nu s-a putut găsi pachetul '{pkg}' in lista de pachete '{base}'\"\n\n#: src/install.rs:451\nmsgid \"packages failed to build: {}\"\nmsgstr \"pachetele nu au putut fi compilate: {}\"\n\n#: src/install.rs:523\nmsgid \"adding {} to the install list\"\nmsgstr \"se adaugă {} la lista de instalare\"\n\n#: src/install.rs:553 src/install.rs:568\nmsgid \"failed to download sources for '{}'\"\nmsgstr \"nu s-au putut descărca sursele\"\n\n#: src/install.rs:577 src/install.rs:603 src/install.rs:611\nmsgid \"failed to build '{}'\"\nmsgstr \"nu s-a putut compila '{}'\"\n\n#: src/install.rs:580 src/install.rs:784\nmsgid \"{}: parsing pkg list...\"\nmsgstr \"{}: procesare lista pkg...\"\n\n#: src/install.rs:584\n#, fuzzy\nmsgid \"package list does not match srcinfo\"\nmsgstr \"niciun pachet nu se potrivește cu căutarea\"\n\n#: src/install.rs:618\nmsgid \"{}-{} is up to date -- skipping build\"\nmsgstr \"{}-{} este actualizat la ultima versiune -- se sare peste compilare\"\n\n#: src/install.rs:775\nmsgid \"can't build {base}, deps not satisfied: {deps}\"\nmsgstr \"\"\n\n#: src/install.rs:846\nmsgid \"fetching devel info...\"\nmsgstr \"se obțin devel info...\"\n\n#: src/install.rs:911 src/lib.rs:240\nmsgid \"no targets specified (use -h for help)\"\nmsgstr \"niciun target specificat (folosește -h pentru ajutor)\"\n\n#: src/install.rs:1008 src/install.rs:1097 src/search.rs:450 src/search.rs:476\n#: src/lib.rs:304\nmsgid \" there is nothing to do\"\nmsgstr \" nu este nimic de făcut\"\n\n#: src/install.rs:1016\nmsgid \"Resolving dependencies...\"\nmsgstr \"Se rezolva dependințele...\"\n\n#: src/install.rs:1077\nmsgid \"can't install AUR package as root\"\nmsgstr \"nu se poate instala pachetul AUR ca root\"\n\n#: src/install.rs:1080\nmsgid \"--downloadonly can't be used for AUR packages\"\nmsgstr \"\"\n\n#: src/install.rs:1113\nmsgid \"Remove make dependencies after install?\"\nmsgstr \"Elimina dependințele make după instalare?\"\n\n#: src/install.rs:1124\nmsgid \"Proceed to review?\"\nmsgstr \"Continuă cu verificarea pachetului?\"\n\n#: src/install.rs:1177\nmsgid \"no architecture\"\nmsgstr \"nicio arhitectură\"\n\n#: src/install.rs:1191\nmsgid \"The following packages are not compatible with your architecture:\"\nmsgstr \"Următoarele pachete nu sunt compatibile cu arhitectura ta:\"\n\n#: src/install.rs:1205\nmsgid \"Would you like to try build them anyway?\"\nmsgstr \"Dorești să încerci să le compilezi oricum?\"\n\n#: src/install.rs:1349\nmsgid \"duplicate packages: {}\"\nmsgstr \"pachete duplicate: {}\"\n\n#: src/install.rs:1353\nmsgid \"could not find all required packages:\"\nmsgstr \"nu s-au putut găsi toate pachetele necesare:\"\n\n#: src/install.rs:1365\nmsgid \"\"\n\"\\n\"\n\"    {missing} (wanted by: {stack})\"\nmsgstr \"\"\n\"\\n\"\n\"    {missing} (dorit de: {stack})\"\n\n#: src/install.rs:1379 src/install.rs:2122\nmsgid \"{}-{} is up to date -- skipping\"\nmsgstr \"{}-{} este actualizat la ultima versiune -- se sare peste\"\n\n#: src/install.rs:1387\nmsgid \"Calculating conflicts...\"\nmsgstr \"Calcularea conflictelor...\"\n\n#: src/install.rs:1410\nmsgid \"Calculating inner conflicts...\"\nmsgstr \"Calculare conflicte interioare...\"\n\n#: src/install.rs:1422\nmsgid \"Inner conflicts found:\"\nmsgstr \"Conflicte interioare depistate:\"\n\n#: src/install.rs:1444\nmsgid \"Conflicts found:\"\nmsgstr \"Conflicte depistate:\"\n\n#: src/install.rs:1467\nmsgid \"Conflicting packages will have to be confirmed manually\"\nmsgstr \"Pachetele care sunt în conflict vor trebui confirmate manual\"\n\n#: src/install.rs:1471\nmsgid \"can not install conflicting packages with --noconfirm\"\nmsgstr \"nu s-au putut instala pachetele care sunt în conflict cu --noconfirm\"\n\n#: src/install.rs:1599\nmsgid \"failed to execute file manager: {}\"\nmsgstr \"nu s-a putut executa un file manager: {}\"\n\n#: src/install.rs:1602\n#, fuzzy\nmsgid \"file manager '{}' did not execute successfully\"\nmsgstr \"file manager-ul nu a fost executat cu succes\"\n\n#: src/install.rs:1620\nmsgid \"failed to read dir: {}\"\nmsgstr \"nu s-a putut citi directorul: {}\"\n\n#: src/install.rs:1677\nmsgid \"failed to open: {}\"\nmsgstr \"nu s-a putut deschide {}\"\n\n#: src/install.rs:1697\nmsgid \"binary file: {}\"\nmsgstr \"fișier binar: {}\"\n\n#: src/install.rs:1719 src/install.rs:1790\nmsgid \"Accept changes?\"\nmsgstr \"\"\n\n#: src/install.rs:1759\nmsgid \"Paging with less. Press 'q' to quit or 'h' for help.\"\nmsgstr \"\"\n\n#: src/install.rs:1794\nmsgid \" nothing new to review\"\nmsgstr \" nimic nou de verificat\"\n\n#: src/install.rs:2070\nmsgid \"can't find package name in packagelist: {}\"\nmsgstr \"nu s-a putut găsi numele pachetului in packagelist: {}\"\n\n#: src/install.rs:2142\nmsgid \"Signing packages...\"\nmsgstr \"Se semnează pachetele...\"\n\n#: src/install.rs:2172\nmsgid \"{}-{} is up to date -- skipping install\"\nmsgstr \"{}-{} este actualizat la ultima versiune -- se sare peste instalare\"\n\n#: src/keys.rs:57\nmsgid \"keys need to be imported:\"\nmsgstr \"cheile trebuie importate:\"\n\n#: src/keys.rs:62\nmsgid \"     {key} wanted by: {base}\"\nmsgstr \"     {key} dorită de: {base}\"\n\n#: src/news.rs:57\nmsgid \"No Date \"\nmsgstr \"Nicio Dată\"\n\n#: src/news.rs:60\nmsgid \"No Title\"\nmsgstr \"Niciun Titlu\"\n\n#: src/news.rs:69\nmsgid \"no new news\"\nmsgstr \"nicio știre nouă\"\n\n#: src/pkgbuild.rs:91\n#, fuzzy\nmsgid \"repo {} does not have a URL or Path\"\nmsgstr \"opțiunea '{}' nu ia o valoare\"\n\n#: src/pkgbuild.rs:153\nmsgid \"repo {} not downloaded (use -Sy --pkgbuilds to download)\"\nmsgstr \"\"\n\n#: src/pkgbuild.rs:200\nmsgid \"Generating .SRCINFO for {repo}/{dir}...\"\nmsgstr \"\"\n\n#: src/pkgbuild.rs:278\n#, fuzzy\nmsgid \"failed to parse srcinfo \\\"{}\\\"\"\nmsgstr \"nu s-a putut procesa srcinfo pentru '{}'\"\n\n#: src/pkgbuild.rs:368\n#, fuzzy\nmsgid \"Downloading PKGBUILD Repos...\"\nmsgstr \"Se descarcă PKBUILDs...\"\n\n#: src/pkgbuild.rs:422\nmsgid \"failed to parse srcinfo generated by makepkg\"\nmsgstr \"nu s-a putut procesa srcinfo generat de makepkg\"\n\n#: src/query.rs:151\nmsgid \" [ignored]\"\nmsgstr \" [ignorat]\"\n\n#: src/repo.rs:253\nmsgid \"failed to get current exe\"\nmsgstr \"nu s-a putut obține exe-ul curent\"\n\n#: src/repo.rs:298\nmsgid \"syncing local databases...\"\nmsgstr \"se sincronizează baza de date locală...\"\n\n#: src/repo.rs:304\nmsgid \"  nothing to do\"\nmsgstr \"  nimic de făcut\"\n\n#: src/repo.rs:335\n#, fuzzy\nmsgid \"there is nothing to do\"\nmsgstr \" nu este nimic de făcut\"\n\n#: src/repo.rs:341\n#, fuzzy\nmsgid \"Packages\"\nmsgstr \"ID-ul de bază al pachetului\"\n\n#: src/repo.rs:354\n#, fuzzy\nmsgid \"Proceed with removal?\"\nmsgstr \"Continuă cu verificarea pachetului?\"\n\n#: src/repo.rs:415\nmsgid \" [installed: {}]\"\nmsgstr \" [instalat: {}]\"\n\n#: src/repo.rs:417 src/sync.rs:144\nmsgid \" [installed]\"\nmsgstr \" [instalate]\"\n\n#: src/search.rs:41\nmsgid \"aur search failed\"\nmsgstr \"căutarea aur a eșuat\"\n\n#: src/search.rs:285 src/search.rs:338 src/search.rs:410\n#, fuzzy\nmsgid \"[installed: {}]\"\nmsgstr \" [instalat: {}]\"\n\n#: src/search.rs:287 src/search.rs:340 src/search.rs:412\n#, fuzzy\nmsgid \"[installed]\"\nmsgstr \" [instalate]\"\n\n#: src/search.rs:332\n#, fuzzy\nmsgid \"[out-of-date: {}]\"\nmsgstr \"[Expirat: {}]\"\n\n#: src/search.rs:347\n#, fuzzy\nmsgid \"[orphaned]\"\nmsgstr \"[Orphaned]\"\n\n#: src/search.rs:491\nmsgid \"no packages match search\"\nmsgstr \"niciun pachet nu se potrivește cu căutarea\"\n\n#: src/search.rs:529\nmsgid \"Packages to install (eg: 1 2 3, 1-3):\"\nmsgstr \"Pachetele care vor fi instalate (eg: 1 2 3, 1-3):\"\n\n#: src/search.rs:531\n#, fuzzy\nmsgid \"Select packages (eg: 1 2 3, 1-3):\"\nmsgstr \"Pachetele care vor fi instalate (eg: 1 2 3, 1-3):\"\n\n#: src/stats.rs:90\nmsgid \"Total installed packages: {}\"\nmsgstr \"Toate pachetele instalate: {}\"\n\n#: src/stats.rs:94\nmsgid \"Aur packages: {}\"\nmsgstr \"Pachete Aur: {}\"\n\n#: src/stats.rs:98\nmsgid \"Repo packages: {}\"\nmsgstr \"Pachete Repo: {}\"\n\n#: src/stats.rs:102\nmsgid \"Explicitly installed packages: {}\"\nmsgstr \"Pachete instalate explicit: {}\"\n\n#: src/stats.rs:106\nmsgid \"Total Size occupied by packages: {}\"\nmsgstr \"Spațiul Total ocupat de pachete: {}\"\n\n#: src/stats.rs:113\nmsgid \"Ten biggest packages:\"\nmsgstr \"Cele mai mari zece pachete:\"\n\n#: src/upgrade.rs:126\n#, fuzzy\nmsgid \"Looking for PKGBUILD upgrades...\"\nmsgstr \"Se caută upgrade-uri AUR\"\n\n#: src/upgrade.rs:134\n#, fuzzy\nmsgid \"Looking for AUR upgrades...\"\nmsgstr \"Se caută upgrade-uri AUR\"\n\n#: src/upgrade.rs:165\n#, fuzzy\nmsgid \"Looking for devel upgrades...\"\nmsgstr \"Se caută upgrade-uri devel\"\n\n#: src/upgrade.rs:193 src/upgrade.rs:206\nmsgid \"warning:\"\nmsgstr \"avertizare:\"\n\n#: src/upgrade.rs:195 src/upgrade.rs:208\nmsgid \"{pkg}: ignoring package upgrade ({old} => {new})\"\nmsgstr \"{pkg}: se ignora upgrade-ul pachetului ({old} => {new})\"\n\n#: src/upgrade.rs:400\nmsgid \"Packages to exclude (eg: 1 2 3, 1-3):\"\nmsgstr \"Pachetele care vor fi excluse (eg: 1 2 3, 1-3):\"\n\n#: src/util.rs:121\nmsgid \"[Y/n]:\"\nmsgstr \"[D/n]\"\n\n#: src/util.rs:123\nmsgid \"[y/N]:\"\nmsgstr \"[d/N]\"\n\n#: src/util.rs:142\nmsgid \"y\"\nmsgstr \"d\"\n\n#: src/util.rs:142\nmsgid \"yes\"\nmsgstr \"da\"\n\n#: src/util.rs:300\nmsgid \"Enter a number (default=1): \"\nmsgstr \"Introdu un număr (default=1):\"\n\n#: src/util.rs:317\nmsgid \"invalid number: {}\"\nmsgstr \"număr invalid: {}\"\n\n#: src/util.rs:327\nmsgid \"invalid value: {n} is not between 1 and {max}\"\nmsgstr \"valoare invalidă: {n} nu este între 1 și {max}\"\n\n#: src/resolver.rs:83\nmsgid \"There are {} members in group\"\nmsgstr \"Există {} membrii în grup\"\n\n#: src/resolver.rs:108\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Enter a selection (default=all): \"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Introdu pachetele selectate (default=toate): \"\n\n#: src/lib.rs:206\nmsgid \"can not use chroot builds: devtools is not installed\"\nmsgstr \"nu se pot folosi build-uri chroot: devtools nu este instalat\"\n\n#: src/lib.rs:313\n#, fuzzy\nmsgid \"no operation specified (use -h for help)\"\nmsgstr \"niciun target specificat (folosește -h pentru ajutor)\"\n\n#~ msgid \"[Installed: {}]\"\n#~ msgstr \"[Instalat: {}]\"\n\n#~ msgid \"[Installed]\"\n#~ msgstr \"[Instalat]\"\n\n#~ msgid \"could not get current directory\"\n#~ msgstr \"nu s-a putut obține directorul curent\"\n\n#~ msgid \"can not get repo packages: asp is not installed\"\n#~ msgstr \"nu s-au putut obține pachetele din repo: asp nu este instalat\"\n\n#~ msgid \"Missing ABS packages \"\n#~ msgstr \"Lipsesc pachetele ABS \"\n\n#~ msgid \"does not contain PKGBUILD: skipping\"\n#~ msgstr \"nu conține PKGBUILD: se sare peste\"\n\n#~ msgid \"{} is not installed: can not get repo packages\"\n#~ msgstr \"{} nu este instalat: nu se pot obține pachetele din repo\"\n\n#~ msgid \"asp returned {}\"\n#~ msgstr \"asp returnează {}\"\n\n#, fuzzy\n#~ msgid \"Generating .SRCINFO for {dir}...\"\n#~ msgstr \"nu s-a putut găsi .SRCINFO pentru '{}'\"\n\n#, fuzzy\n#~ msgid \"error: unknown section '{}'\"\n#~ msgstr \"secțiune necunoscută '{}'\"\n\n#~ msgid \"can't build package as root\"\n#~ msgstr \"nu se poate compila pachetul ca root\"\n\n#~ msgid \"failed to build\"\n#~ msgstr \"nu s-a putut compila\"\n\n#~ msgid \"parsing pkg list...\"\n#~ msgstr \"se procesează lista pkg...\"\n\n#~ msgid \"\"\n#~ \"{} is a directory\\n\"\n#~ \"\\n\"\n#~ msgstr \"\"\n#~ \"{} este un director\\n\"\n#~ \"\\n\"\n\n#~ msgid \"n\"\n#~ msgstr \"n\"\n\n#~ msgid \"no\"\n#~ msgstr \"nu\"\n"
  },
  {
    "path": "po/ru.po",
    "content": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE paru'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the paru package.\n# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: paru VERSION\\n\"\n\"Report-Msgid-Bugs-To: https://github.com/Morganamilo/paru\\n\"\n\"POT-Creation-Date: 2026-01-08 17:40+0000\\n\"\n\"PO-Revision-Date: 2021-06-29 01:25+0200\\n\"\n\"Last-Translator: Andreï V. Kostyrka <andrei.kostyrka@gmail.com>\\n\"\n\"Language-Team: \\n\"\n\"Language: ru\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Generator: Poedit 3.0\\n\"\n\n#: src/clean.rs:36\n#, fuzzy\nmsgid \"Do you want to clean ALL AUR packages from cache?\"\nmsgstr \"Вы хотите удалить ВСЕ AUR-пакеты из кэша?\"\n\n#: src/clean.rs:38\n#, fuzzy\nmsgid \"Do you want to clean all other AUR packages from cache?\"\nmsgstr \"Вы хотите удалить все прочие AUR-пакеты из кэша?\"\n\n#: src/clean.rs:41\nmsgid \"Clone Directory: {}\"\nmsgstr \"Каталог для клонирования: {}\"\n\n#: src/clean.rs:47\nmsgid \"\"\n\"\\n\"\n\"Diff Directory: {}\"\nmsgstr \"\"\n\"\\n\"\n\"Каталог для diff (различий): {}\"\n\n#: src/clean.rs:49\nmsgid \"Do you want to remove all saved diffs?\"\nmsgstr \"Вы хотите удалить все сохранённые diff-различия?\"\n\n#: src/clean.rs:65\nmsgid \"can't open diff dir: {}\"\nmsgstr \"не удалось открыть diff-каталог: {}\"\n\n#: src/clean.rs:76 src/clean.rs:180\nmsgid \"could not remove '{}'\"\nmsgstr \"не удалось удалить «{}»\"\n\n#: src/clean.rs:95\nmsgid \"can't open clone dir: {}\"\nmsgstr \"не удалось открыть клонированный каталог «{}»\"\n\n#: src/clean.rs:141\n#, fuzzy\nmsgid \"could not parse .SRCINFO for '{}'\"\nmsgstr \"не удалось найти .SRCINFO для «{}»\"\n\n#: src/command_line.rs:134\nmsgid \"option {} expects a value\"\nmsgstr \"опция {} требует значения параметра\"\n\n#: src/command_line.rs:165 src/command_line.rs:382\nmsgid \"option {} does not allow a value\"\nmsgstr \"опция {} должна указываться без параметров\"\n\n#: src/command_line.rs:373\nmsgid \"unknown option --{}\"\nmsgstr \"неизвестная опция --{}\"\n\n#: src/command_line.rs:376\nmsgid \"unknown option -{}\"\nmsgstr \"неизвестная опция -{}\"\n\n#: src/completion.rs:26 src/search.rs:179 src/sync.rs:113\n#, fuzzy\nmsgid \"failed to decode package list\"\nmsgstr \"не удалось загрузить исходники\"\n\n#: src/completion.rs:35\nmsgid \"failed to open cache file '{}'\"\nmsgstr \"не удалось открыть файл кэша «{}»\"\n\n#: src/completion.rs:83\nmsgid \"could not update aur cache\"\nmsgstr \"не удалось обновить AUR-кэш\"\n\n#: src/config.rs:179\nmsgid \"invalid value '{val}' for key '{key}', expected: {exp}\"\nmsgstr \"неверное значение «{val}» для ключа «{key}»; ожидалось «{exp}»\"\n\n#: src/config.rs:332\n#, fuzzy\nmsgid \"unknown mode {}\"\nmsgstr \"неизвестная опция -{}\"\n\n#: src/config.rs:564\nmsgid \"section can not be called {}\"\nmsgstr \"\"\n\n#: src/config.rs:581\nmsgid \"failed to find cache directory\"\nmsgstr \"не удалось найти директорию кэша\"\n\n#: src/config.rs:584\nmsgid \"failed to find config directory\"\nmsgstr \"не удалось найти директорию с конфигурацией\"\n\n#: src/config.rs:588\n#, fuzzy\nmsgid \"failed to find state directory\"\nmsgstr \"не удалось найти директорию кэша\"\n\n#: src/config.rs:635\nmsgid \"config file '{}' does not exist\"\nmsgstr \"файл конфигурации «{}» отсутствует\"\n\n#: src/config.rs:684\nmsgid \"only one operation may be used at a time\"\nmsgstr \"одновременно может выполняться только одна операция\"\n\n#: src/config.rs:795\nmsgid \"no local repo named {}\"\nmsgstr \"\"\n\n#: src/config.rs:821\nmsgid \"can not find local repo '{}' in pacman.conf\"\nmsgstr \"не удалось найти локальный репозиторий «{}» в pacman.conf\"\n\n#: src/config.rs:866\nmsgid \"failed to initialize alpm: root={} dbpath={}\"\nmsgstr \"не удалось инициализировать alpm: root={} dbpath={}\"\n\n#: src/config.rs:941 src/config.rs:1102\nmsgid \"value can not be empty for key '{}'\"\nmsgstr \"значение для ключа «{}» не может быть пустым\"\n\n#: src/config.rs:957\nmsgid \"key '{}' does not belong to a section\"\nmsgstr \"ключ «{}» не находится внутри секции\"\n\n#: src/config.rs:971 src/config.rs:988 src/config.rs:990 src/config.rs:1005\nmsgid \"key can not be empty\"\nmsgstr \"ключ не может быть пустым\"\n\n#: src/config.rs:981\n#, fuzzy\nmsgid \"error: unknown option '{}' in repo\"\nmsgstr \"ошибка: неизвестная опция «{}» в секции [bin]\"\n\n#: src/config.rs:991\nmsgid \"key can not contain null bytes\"\nmsgstr \"ключ не может содержать нулевые байты\"\n\n#: src/config.rs:994\nmsgid \"value can not contain null bytes\"\nmsgstr \"значение не может содержать нулевые байты\"\n\n#: src/config.rs:1030\nmsgid \"error: unknown option '{}' in section [bin]\"\nmsgstr \"ошибка: неизвестная опция «{}» в секции [bin]\"\n\n#: src/config.rs:1150\nmsgid \"error: unknown option '{}' in section [options]\"\nmsgstr \"ошибка: неизвестная опция «{}» в секции [options]\"\n\n#: src/config.rs:1155\nmsgid \"option '{}' does not take a value\"\nmsgstr \"опция «{}» не принимает никакого значения\"\n\n#: src/config.rs:1187 src/resolver.rs:136\nmsgid \"There are {n} providers available for {pkg}:\"\nmsgstr \"Есть {n} доступных источников-поставщиков пакета {pkg}:\"\n\n#: src/config.rs:1201 src/info.rs:85 src/info.rs:190 src/info.rs:224\n#: src/resolver.rs:95 src/resolver.rs:144\nmsgid \"Repository\"\nmsgstr \"Репозиторий\"\n\n#: src/config.rs:1227\nmsgid \"  failed to sync {}\"\nmsgstr \"  не удалось синхронизировать {}\"\n\n#: src/devel.rs:136 src/download.rs:207\nmsgid \"Querying AUR...\"\nmsgstr \"Выполняется запрос в AUR...\"\n\n#: src/devel.rs:157 src/devel.rs:181 src/install.rs:203\nmsgid \"failed to parse srcinfo for '{}'\"\nmsgstr \"не удалось обработать srcinfo для «{}»\"\n\n#: src/devel.rs:201\nmsgid \"Looking for devel repos...\"\nmsgstr \"Поиск репозиториев разработки (devel)...\"\n\n#: src/devel.rs:210\nmsgid \"failed to save devel info\"\nmsgstr \"не удалось сохранить информацию для разработки (devel)\"\n\n#: src/devel.rs:218\n#, fuzzy\nmsgid \"failed to create state directory: {}\"\nmsgstr \"не удалось найти директорию кэша\"\n\n#: src/devel.rs:233\n#, fuzzy\nmsgid \"failed to create temporary file: {}\"\nmsgstr \"не удалось запустить файловый менеджер: {}\"\n\n#: src/devel.rs:238\n#, fuzzy\nmsgid \"failed to write to temporary file: {}\"\nmsgstr \"не удалось прочесть директорию:\"\n\n#: src/devel.rs:244\nmsgid \"failed to rename '{temp}' to '{devel_toml}\"\nmsgstr \"\"\n\n#: src/devel.rs:490\nmsgid \"package does not have an update\"\nmsgstr \"нет обновлений для пакета\"\n\n#: src/devel.rs:536\nmsgid \"failed to lookup: {}\"\nmsgstr \"не удалось найти: {}\"\n\n#: src/devel.rs:564\n#, fuzzy\nmsgid \"invalid toml: {}\"\nmsgstr \"дефектный json\"\n\n#: src/download.rs:100\nmsgid \"packages not in the AUR: \"\nmsgstr \"пакеты, отсутствующие в AUR: \"\n\n#: src/download.rs:111\nmsgid \"marked out of date: \"\nmsgstr \"помечены как устаревшие: \"\n\n#: src/download.rs:122\nmsgid \"orphans: \"\nmsgstr \"сироты: \"\n\n#: src/download.rs:260\nmsgid \"downloading: {pkg}\"\nmsgstr \"скачивается: {pkg}\"\n\n#: src/download.rs:279 src/download.rs:602 src/info.rs:55 src/info.rs:180\n#: src/query.rs:49\nmsgid \"package '{}' was not found\"\nmsgstr \"пакет «{}» не найден\"\n\n#: src/download.rs:291\n#, fuzzy\nmsgid \"duplicate PKGBUILD: {}\"\nmsgstr \"пакеты-дубликаты: {}\"\n\n#: src/download.rs:307\nmsgid \"package '{}' exists but has no PKGBUILD -- skipping\"\nmsgstr \"\"\n\n#: src/download.rs:340\nmsgid \"Downloading PKGBUILDs...\"\nmsgstr \"Скачиваются PKGBUILD’ы...\"\n\n#: src/download.rs:344\nmsgid \" PKGBUILDs up to date\"\nmsgstr \" PKGBUILD’ы уже последних версий\"\n\n#: src/exec.rs:72\nmsgid \"failed to run:\"\nmsgstr \"не удалось выполнить:\"\n\n#: src/exec.rs:174\nmsgid \"Pacman is currently in use, please wait...\"\nmsgstr \"В данный момент уже работает Pacman, подождите...\"\n\n#: src/fmt.rs:24 src/info.rs:275 src/search.rs:293 src/search.rs:350\nmsgid \"None\"\nmsgstr \"Никаких\"\n\n#: src/fmt.rs:245\nmsgid \"Repo\"\nmsgstr \"Репозиторий\"\n\n#: src/fmt.rs:252\nmsgid \"Repo Make\"\nmsgstr \"Репозиторий Make\"\n\n#: src/fmt.rs:272\nmsgid \"Pkgbuilds Make\"\nmsgstr \"\"\n\n#: src/fmt.rs:274\nmsgid \"Aur Make\"\nmsgstr \"AUR Make\"\n\n#: src/fmt.rs:319\n#, fuzzy\nmsgid \"Repo ({})\"\nmsgstr \"Репозиторий\"\n\n#: src/fmt.rs:327\n#, fuzzy\nmsgid \"Old Version\"\nmsgstr \"Версия\"\n\n#: src/fmt.rs:328\n#, fuzzy\nmsgid \"New Version\"\nmsgstr \"Версия\"\n\n#: src/fmt.rs:329\nmsgid \"Make Only\"\nmsgstr \"\"\n\n#: src/fmt.rs:330\n#, fuzzy\nmsgid \"Yes\"\nmsgstr \"yes\"\n\n#: src/fmt.rs:331 src/info.rs:221\nmsgid \"No\"\nmsgstr \"Нет\"\n\n#: src/fmt.rs:419\nmsgid \"insufficient columns available for table display\"\nmsgstr \"\"\n\n#: src/help.rs:4\nmsgid \"Usage:\"\nmsgstr \"\"\n\n#: src/help.rs:5\nmsgid \"    paru\"\nmsgstr \"\"\n\n#: src/help.rs:6\nmsgid \"    paru <operation> [...]\"\nmsgstr \"\"\n\n#: src/help.rs:7\nmsgid \"    paru <package(s)>\"\nmsgstr \"\"\n\n#: src/help.rs:9\nmsgid \"Pacman operations:\"\nmsgstr \"\"\n\n#: src/help.rs:10\nmsgid \"    paru {-h --help}\"\nmsgstr \"\"\n\n#: src/help.rs:11\nmsgid \"    paru {-V --version}\"\nmsgstr \"\"\n\n#: src/help.rs:12\nmsgid \"    paru {-D --database}    <options> <package(s)>\"\nmsgstr \"\"\n\n#: src/help.rs:13\nmsgid \"    paru {-F --files}       [options] [package(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:14\nmsgid \"    paru {-Q --query}       [options] [package(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:15\nmsgid \"    paru {-R --remove}      [options] <package(s)>\"\nmsgstr \"\"\n\n#: src/help.rs:16\nmsgid \"    paru {-S --sync}        [options] [package(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:17\nmsgid \"    paru {-T --deptest}     [options] [package(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:18\nmsgid \"    paru {-U --upgrade}     [options] [file(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:20\nmsgid \"New operations:\"\nmsgstr \"\"\n\n#: src/help.rs:21\nmsgid \"    paru {-P --show}        [options]\"\nmsgstr \"\"\n\n#: src/help.rs:22\nmsgid \"    paru {-G --getpkgbuild} [package(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:23\nmsgid \"    paru {-B --build}       [dir(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:25\nmsgid \"If no arguments are provided 'paru -Syu' will be performed\"\nmsgstr \"\"\n\n#: src/help.rs:27\nmsgid \"Options without operation:\"\nmsgstr \"\"\n\n#: src/help.rs:28\nmsgid \"    -c --clean            Remove unneeded dependencies\"\nmsgstr \"\"\n\n#: src/help.rs:29\nmsgid \"\"\n\"       --gendb            Generates development package DB used for updating\"\nmsgstr \"\"\n\n#: src/help.rs:31\nmsgid \"New options:\"\nmsgstr \"\"\n\n#: src/help.rs:32\nmsgid \"       --repo              Assume targets are from the repositories\"\nmsgstr \"\"\n\n#: src/help.rs:33\nmsgid \"\"\n\"       --pkgbuilds         Assume targets are from pkgbuild repositories\"\nmsgstr \"\"\n\n#: src/help.rs:34\nmsgid \"    -a --aur               Assume targets are from the AUR\"\nmsgstr \"\"\n\n#: src/help.rs:35\nmsgid \"    --mode      <mode>     Sets where paru looks for targets\"\nmsgstr \"\"\n\n#: src/help.rs:37\nmsgid \"\"\n\"    --interactive          Enable interactive package selection for -S, -R, \"\n\"-Ss and -Qs\"\nmsgstr \"\"\n\n#: src/help.rs:39\nmsgid \"    --aururl    <url>      Set an alternative AUR URL\"\nmsgstr \"\"\n\n#: src/help.rs:40\nmsgid \"\"\n\"    --aurrpcur  <url>      Set an alternative URL for the AUR /rpc endpoint\"\nmsgstr \"\"\n\n#: src/help.rs:41\nmsgid \"    --clonedir  <dir>      Directory used to download and run PKGBUILDs\"\nmsgstr \"\"\n\n#: src/help.rs:43\nmsgid \"    --makepkg   <file>     makepkg command to use\"\nmsgstr \"\"\n\n#: src/help.rs:44\nmsgid \"    --mflags    <flags>    Pass arguments to makepkg\"\nmsgstr \"\"\n\n#: src/help.rs:45\nmsgid \"    --pacman    <file>     pacman command to use\"\nmsgstr \"\"\n\n#: src/help.rs:46\nmsgid \"    --git       <file>     git command to use\"\nmsgstr \"\"\n\n#: src/help.rs:47\nmsgid \"    --gitflags  <flags>    Pass arguments to git\"\nmsgstr \"\"\n\n#: src/help.rs:48\nmsgid \"    --sudo      <file>     sudo command to use\"\nmsgstr \"\"\n\n#: src/help.rs:49\nmsgid \"    --sudoflags <flags>    Pass arguments to sudo\"\nmsgstr \"\"\n\n#: src/help.rs:50\nmsgid \"    --pkgctl    <file>     pkgctl command to use\"\nmsgstr \"\"\n\n#: src/help.rs:51\nmsgid \"    --bat       <file>     bat command to use\"\nmsgstr \"\"\n\n#: src/help.rs:52\nmsgid \"    --batflags  <flags>    Pass arguments to bat\"\nmsgstr \"\"\n\n#: src/help.rs:53\nmsgid \"    --gpg       <file>     gpg command to use\"\nmsgstr \"\"\n\n#: src/help.rs:54\nmsgid \"    --gpgflags  <flags>    Pass arguments to gpg\"\nmsgstr \"\"\n\n#: src/help.rs:55\nmsgid \"    --fm        <file>     File manager to use for PKGBUILD review\"\nmsgstr \"\"\n\n#: src/help.rs:56\nmsgid \"    --fmflags   <flags>    Pass arguments to file manager\"\nmsgstr \"\"\n\n#: src/help.rs:58\nmsgid \"    --completioninterval   <n> Time in days to refresh completion cache\"\nmsgstr \"\"\n\n#: src/help.rs:59\nmsgid \"\"\n\"    --sortby    <field>    Sort AUR results by a specific field during search\"\nmsgstr \"\"\n\n#: src/help.rs:60\nmsgid \"    --searchby  <field>    Search for packages using a specified field\"\nmsgstr \"\"\n\n#: src/help.rs:61\nmsgid \"\"\n\"    --limit     <limit>    Limits the number of items returned in a search\"\nmsgstr \"\"\n\n#: src/help.rs:62\nmsgid \"    -x --regex             Enable regex for aur search\"\nmsgstr \"\"\n\n#: src/help.rs:64\nmsgid \"    --skipreview           Skip the review process\"\nmsgstr \"\"\n\n#: src/help.rs:65\nmsgid \"    --review               Don't skip the review process\"\nmsgstr \"\"\n\n#: src/help.rs:66\nmsgid \"    --[no]upgrademenu      Show interactive menu to skip upgrades\"\nmsgstr \"\"\n\n#: src/help.rs:67\n#, fuzzy\nmsgid \"    --[no]removemake       Remove makedepends after install\"\nmsgstr \"Удалить зависимости системы сборки make после установки?\"\n\n#: src/help.rs:68\nmsgid \"    --[no]cleanafter       Remove package sources after install\"\nmsgstr \"\"\n\n#: src/help.rs:69\nmsgid \"    --[no]rebuild          Always build target packages\"\nmsgstr \"\"\n\n#: src/help.rs:70\nmsgid \"    --[no]redownload       Always download PKGBUILDs of targets\"\nmsgstr \"\"\n\n#: src/help.rs:72\nmsgid \"    --[no]pgpfetch         Prompt to import PGP keys from PKGBUILDs\"\nmsgstr \"\"\n\n#: src/help.rs:73\nmsgid \"\"\n\"    --[no]useask           Automatically resolve conflicts using pacman's \"\n\"ask flag\"\nmsgstr \"\"\n\n#: src/help.rs:74\nmsgid \"\"\n\"    --[no]savechanges      Commit changes to pkgbuilds made during review\"\nmsgstr \"\"\n\n#: src/help.rs:75\nmsgid \"    --[no]newsonupgrade    Print new news during sysupgrade\"\nmsgstr \"\"\n\n#: src/help.rs:76\nmsgid \"\"\n\"    --[no]combinedupgrade  Refresh then perform the repo and AUR upgrade \"\n\"together\"\nmsgstr \"\"\n\n#: src/help.rs:77\nmsgid \"\"\n\"    --[no]batchinstall     Build multiple AUR packages then install them \"\n\"together\"\nmsgstr \"\"\n\n#: src/help.rs:78\nmsgid \"\"\n\"    --[no]provides         Look for matching providers when searching for \"\n\"packages\"\nmsgstr \"\"\n\n#: src/help.rs:79\nmsgid \"    --[no]devel            Check development packages during sysupgrade\"\nmsgstr \"\"\n\n#: src/help.rs:80\nmsgid \"\"\n\"    --[no]installdebug     Also install debug packages when a package \"\n\"provides them\"\nmsgstr \"\"\n\n#: src/help.rs:81\nmsgid \"\"\n\"    --[no]sudoloop         Loop sudo calls in the background to avoid timeout\"\nmsgstr \"\"\n\n#: src/help.rs:82\nmsgid \"    --[no]chroot           Build packages in a chroot\"\nmsgstr \"\"\n\n#: src/help.rs:83\nmsgid \"\"\n\"    --[no]failfast         Exit as soon as building an AUR package fails\"\nmsgstr \"\"\n\n#: src/help.rs:84\nmsgid \"\"\n\"    --[no]keepsrc          Keep src/ and pkg/ dirs after building packages\"\nmsgstr \"\"\n\n#: src/help.rs:85\nmsgid \"    --[no]sign             Sign packages with gpg\"\nmsgstr \"\"\n\n#: src/help.rs:86\nmsgid \"    --[no]signdb           Sign databases with gpg\"\nmsgstr \"\"\n\n#: src/help.rs:87\nmsgid \"    --[no]localrepo        Build packages into a local repo\"\nmsgstr \"\"\n\n#: src/help.rs:88\nmsgid \"\"\n\"    --nocheck              Don't resolve checkdepends or run the check \"\n\"function\"\nmsgstr \"\"\n\n#: src/help.rs:90\nmsgid \"\"\n\"    --rootchrootpkgs       Packages to install in the root chroot (default: \"\n\"base-devel)\"\nmsgstr \"\"\n\n#: src/help.rs:92\nmsgid \"\"\n\"    --develsuffixes        Suffixes used to decide if a package is a devel \"\n\"package\"\nmsgstr \"\"\n\n#: src/help.rs:93\nmsgid \"    --ignoredevel          Ignore devel upgrades for specified packages\"\nmsgstr \"\"\n\n#: src/help.rs:94\nmsgid \"\"\n\"    --bottomup             Shows AUR's packages first and then repository's\"\nmsgstr \"\"\n\n#: src/help.rs:95\nmsgid \"\"\n\"    --topdown              Shows repository's packages first and then AUR's\"\nmsgstr \"\"\n\n#: src/help.rs:97\nmsgid \"show specific options:\"\nmsgstr \"\"\n\n#: src/help.rs:98\nmsgid \"    -c --complete         Used for completions\"\nmsgstr \"\"\n\n#: src/help.rs:99\nmsgid \"    -s --stats            Display system package statistics\"\nmsgstr \"\"\n\n#: src/help.rs:100\nmsgid \"    -w --news             Print arch news\"\nmsgstr \"\"\n\n#: src/help.rs:102\nmsgid \"getpkgbuild specific options:\"\nmsgstr \"\"\n\n#: src/help.rs:103\nmsgid \"    -p --print            Print pkgbuild to stdout\"\nmsgstr \"\"\n\n#: src/help.rs:104\nmsgid \"    -c --comments         Print AUR comments for pkgbuild\"\nmsgstr \"\"\n\n#: src/help.rs:105\nmsgid \"    -s --ssh              Clone package using SSH\"\nmsgstr \"\"\n\n#: src/help.rs:107\nmsgid \"Build specific options:\"\nmsgstr \"\"\n\n#: src/help.rs:108\nmsgid \"    -i --install          Install package as well as building\"\nmsgstr \"\"\n\n#: src/info.rs:86 src/info.rs:191 src/info.rs:225\nmsgid \"Name\"\nmsgstr \"Название\"\n\n#: src/info.rs:87 src/info.rs:192 src/info.rs:226\nmsgid \"Version\"\nmsgstr \"Версия\"\n\n#: src/info.rs:88 src/info.rs:193 src/info.rs:227\nmsgid \"Description\"\nmsgstr \"Описание\"\n\n#: src/info.rs:89 src/info.rs:195 src/info.rs:235\nmsgid \"Groups\"\nmsgstr \"Группы\"\n\n#: src/info.rs:90 src/info.rs:196 src/info.rs:236\nmsgid \"Licenses\"\nmsgstr \"Лицензии\"\n\n#: src/info.rs:91 src/info.rs:197 src/info.rs:237\nmsgid \"Provides\"\nmsgstr \"Предоставляет\"\n\n#: src/info.rs:92 src/info.rs:198 src/info.rs:238\nmsgid \"Depends On\"\nmsgstr \"Зависит от\"\n\n#: src/info.rs:93 src/info.rs:199 src/info.rs:239\nmsgid \"Make Deps\"\nmsgstr \"Зависимости сборки\"\n\n#: src/info.rs:94 src/info.rs:200 src/info.rs:240\nmsgid \"Check Deps\"\nmsgstr \"Зависимости проверки\"\n\n#: src/info.rs:95 src/info.rs:201 src/info.rs:241\nmsgid \"Optional Deps\"\nmsgstr \"Доп. зависимости\"\n\n#: src/info.rs:96 src/info.rs:202 src/info.rs:242\nmsgid \"Conflicts With\"\nmsgstr \"Конфликтует с\"\n\n#: src/info.rs:97 src/info.rs:243\nmsgid \"Maintainer\"\nmsgstr \"Ответственный\"\n\n#: src/info.rs:98 src/info.rs:244\nmsgid \"Votes\"\nmsgstr \"Голосов\"\n\n#: src/info.rs:99 src/info.rs:245\nmsgid \"Popularity\"\nmsgstr \"Популярность\"\n\n#: src/info.rs:100 src/info.rs:246\nmsgid \"First Submitted\"\nmsgstr \"Впервые послан\"\n\n#: src/info.rs:101 src/info.rs:247\nmsgid \"Last Modified\"\nmsgstr \"Последнее обновление\"\n\n#: src/info.rs:102 src/info.rs:249\nmsgid \"Out Of Date\"\nmsgstr \"Устарел\"\n\n#: src/info.rs:103 src/info.rs:254\nmsgid \"ID\"\nmsgstr \"ID\"\n\n#: src/info.rs:104 src/info.rs:255\nmsgid \"Package Base ID\"\nmsgstr \"Базовый ID пакета\"\n\n#: src/info.rs:105 src/info.rs:256\nmsgid \"Keywords\"\nmsgstr \"Ключевые слова\"\n\n#: src/info.rs:106 src/info.rs:258\nmsgid \"Snapshot URL\"\nmsgstr \"Ссылка на пакет\"\n\n#: src/info.rs:107 src/info.rs:203\nmsgid \"Path\"\nmsgstr \"\"\n\n#: src/install.rs:166 src/query.rs:48 src/lib.rs:101\nmsgid \"error:\"\nmsgstr \"ошибка:\"\n\n#: src/install.rs:167\nmsgid \"could not get news\"\nmsgstr \"не удалось получить новости\"\n\n#: src/install.rs:172 src/install.rs:1127\nmsgid \"Proceed with installation?\"\nmsgstr \"Продолжить установку?\"\n\n#: src/install.rs:207\n#, fuzzy\nmsgid \"could not find .SRCINFO for '{}'\"\nmsgstr \"не удалось найти .SRCINFO для «{}»\"\n\n#: src/install.rs:353\nmsgid \"could not find package '{pkg}' in package list for '{base}'\"\nmsgstr \"не найдено пакета '{pkg}' в списке пакетов для '{base}'\"\n\n#: src/install.rs:451\nmsgid \"packages failed to build: {}\"\nmsgstr \"не удалось собрать пакеты: {}\"\n\n#: src/install.rs:523\nmsgid \"adding {} to the install list\"\nmsgstr \"добавление {} к устанавливаемым\"\n\n#: src/install.rs:553 src/install.rs:568\nmsgid \"failed to download sources for '{}'\"\nmsgstr \"не удалось загрузить исходники для «{}»\"\n\n#: src/install.rs:577 src/install.rs:603 src/install.rs:611\nmsgid \"failed to build '{}'\"\nmsgstr \"не удалось собрать «{}»\"\n\n#: src/install.rs:580 src/install.rs:784\nmsgid \"{}: parsing pkg list...\"\nmsgstr \"{}: чтение списка пакетов...\"\n\n#: src/install.rs:584\n#, fuzzy\nmsgid \"package list does not match srcinfo\"\nmsgstr \"пакетов по запросу не найдено\"\n\n#: src/install.rs:618\nmsgid \"{}-{} is up to date -- skipping build\"\nmsgstr \"{}-{} уже свежих версий --- пропускаем сборку\"\n\n#: src/install.rs:775\nmsgid \"can't build {base}, deps not satisfied: {deps}\"\nmsgstr \"\"\n\n#: src/install.rs:846\nmsgid \"fetching devel info...\"\nmsgstr \"получение информации о пакетах разработки...\"\n\n#: src/install.rs:911 src/lib.rs:240\nmsgid \"no targets specified (use -h for help)\"\nmsgstr \"не указаны target’ы (вызов справки через -h)\"\n\n#: src/install.rs:1008 src/install.rs:1097 src/search.rs:450 src/search.rs:476\n#: src/lib.rs:304\nmsgid \" there is nothing to do\"\nmsgstr \" делать больше нечего\"\n\n#: src/install.rs:1016\nmsgid \"Resolving dependencies...\"\nmsgstr \"Разрешение зависимостей...\"\n\n#: src/install.rs:1077\nmsgid \"can't install AUR package as root\"\nmsgstr \"невозможно установить AUR-пакет из-под root’а\"\n\n#: src/install.rs:1080\nmsgid \"--downloadonly can't be used for AUR packages\"\nmsgstr \"\"\n\n#: src/install.rs:1113\nmsgid \"Remove make dependencies after install?\"\nmsgstr \"Удалить зависимости сборки после установки?\"\n\n#: src/install.rs:1124\nmsgid \"Proceed to review?\"\nmsgstr \"Продолжить обзор?\"\n\n#: src/install.rs:1177\nmsgid \"no architecture\"\nmsgstr \"архитектура не указана\"\n\n#: src/install.rs:1191\nmsgid \"The following packages are not compatible with your architecture:\"\nmsgstr \"Следующие пакеты несовместимы с вашей архитектурой:\"\n\n#: src/install.rs:1205\nmsgid \"Would you like to try build them anyway?\"\nmsgstr \"Вы всё же хотите попытаться их собрать?\"\n\n#: src/install.rs:1349\nmsgid \"duplicate packages: {}\"\nmsgstr \"пакеты-дубликаты: {}\"\n\n#: src/install.rs:1353\nmsgid \"could not find all required packages:\"\nmsgstr \"не найдены требуемые пакеты:\"\n\n#: src/install.rs:1365\nmsgid \"\"\n\"\\n\"\n\"    {missing} (wanted by: {stack})\"\nmsgstr \"\"\n\"\\n\"\n\"    {missing} (нужен для: {stack})\"\n\n#: src/install.rs:1379 src/install.rs:2122\nmsgid \"{}-{} is up to date -- skipping\"\nmsgstr \"{}-{} уже свежих версий --- пропускаем\"\n\n#: src/install.rs:1387\nmsgid \"Calculating conflicts...\"\nmsgstr \"Поиск конфликтов...\"\n\n#: src/install.rs:1410\nmsgid \"Calculating inner conflicts...\"\nmsgstr \"Поиск внутренних конфликтов...\"\n\n#: src/install.rs:1422\nmsgid \"Inner conflicts found:\"\nmsgstr \"Внутренние конфликты:\"\n\n#: src/install.rs:1444\nmsgid \"Conflicts found:\"\nmsgstr \"Конфликты:\"\n\n#: src/install.rs:1467\nmsgid \"Conflicting packages will have to be confirmed manually\"\nmsgstr \"Установку конфликтующих пакетов будет необходимо подтверждать вручную\"\n\n#: src/install.rs:1471\nmsgid \"can not install conflicting packages with --noconfirm\"\nmsgstr \"нельзя установить конфликтующие пакеты с --noconfirm\"\n\n#: src/install.rs:1599\nmsgid \"failed to execute file manager: {}\"\nmsgstr \"не удалось запустить файловый менеджер: {}\"\n\n#: src/install.rs:1602\n#, fuzzy\nmsgid \"file manager '{}' did not execute successfully\"\nmsgstr \"файловый менеджер не смог успешно запуститься\"\n\n#: src/install.rs:1620\nmsgid \"failed to read dir: {}\"\nmsgstr \"не удалось прочесть директорию:\"\n\n#: src/install.rs:1677\nmsgid \"failed to open: {}\"\nmsgstr \"не удалось открыть: {}\"\n\n#: src/install.rs:1697\nmsgid \"binary file: {}\"\nmsgstr \"бинарный файл: {}\"\n\n#: src/install.rs:1719 src/install.rs:1790\nmsgid \"Accept changes?\"\nmsgstr \"\"\n\n#: src/install.rs:1759\nmsgid \"Paging with less. Press 'q' to quit or 'h' for help.\"\nmsgstr \"\"\n\n#: src/install.rs:1794\nmsgid \" nothing new to review\"\nmsgstr \" нет ничего нового, требующего ревизии\"\n\n#: src/install.rs:2070\nmsgid \"can't find package name in packagelist: {}\"\nmsgstr \"не найдено имени пакета в списке пакетов: {}\"\n\n#: src/install.rs:2142\nmsgid \"Signing packages...\"\nmsgstr \"Подписывание пакетов...\"\n\n#: src/install.rs:2172\nmsgid \"{}-{} is up to date -- skipping install\"\nmsgstr \"{}-{} уже свежих версий --- пропускаем установку\"\n\n#: src/keys.rs:57\nmsgid \"keys need to be imported:\"\nmsgstr \"нужно импортировать ключи:\"\n\n#: src/keys.rs:62\nmsgid \"     {key} wanted by: {base}\"\nmsgstr \"     {key} требуется для: {base}\"\n\n#: src/news.rs:57\nmsgid \"No Date \"\nmsgstr \"Без даты \"\n\n#: src/news.rs:60\nmsgid \"No Title\"\nmsgstr \"Без названия\"\n\n#: src/news.rs:69\nmsgid \"no new news\"\nmsgstr \"новостей нет\"\n\n#: src/pkgbuild.rs:91\n#, fuzzy\nmsgid \"repo {} does not have a URL or Path\"\nmsgstr \"опция «{}» не принимает никакого значения\"\n\n#: src/pkgbuild.rs:153\nmsgid \"repo {} not downloaded (use -Sy --pkgbuilds to download)\"\nmsgstr \"\"\n\n#: src/pkgbuild.rs:200\nmsgid \"Generating .SRCINFO for {repo}/{dir}...\"\nmsgstr \"\"\n\n#: src/pkgbuild.rs:278\n#, fuzzy\nmsgid \"failed to parse srcinfo \\\"{}\\\"\"\nmsgstr \"не удалось обработать srcinfo для «{}»\"\n\n#: src/pkgbuild.rs:368\n#, fuzzy\nmsgid \"Downloading PKGBUILD Repos...\"\nmsgstr \"Скачиваются PKGBUILD’ы...\"\n\n#: src/pkgbuild.rs:422\nmsgid \"failed to parse srcinfo generated by makepkg\"\nmsgstr \"не удалось обработать srcinfo, сгенерированный makepkg\"\n\n#: src/query.rs:151\nmsgid \" [ignored]\"\nmsgstr \" [игнорировано]\"\n\n#: src/repo.rs:253\nmsgid \"failed to get current exe\"\nmsgstr \"не удалось получить текущий EXE\"\n\n#: src/repo.rs:298\nmsgid \"syncing local databases...\"\nmsgstr \"синхронизация локальных баз...\"\n\n#: src/repo.rs:304\nmsgid \"  nothing to do\"\nmsgstr \"  ничего не нужно делать\"\n\n#: src/repo.rs:335\n#, fuzzy\nmsgid \"there is nothing to do\"\nmsgstr \" делать больше нечего\"\n\n#: src/repo.rs:341\n#, fuzzy\nmsgid \"Packages\"\nmsgstr \"Базовый ID пакета\"\n\n#: src/repo.rs:354\n#, fuzzy\nmsgid \"Proceed with removal?\"\nmsgstr \"Продолжить обзор?\"\n\n#: src/repo.rs:415\nmsgid \" [installed: {}]\"\nmsgstr \" [установлено: {}]\"\n\n#: src/repo.rs:417 src/sync.rs:144\nmsgid \" [installed]\"\nmsgstr \" [установлено]\"\n\n#: src/search.rs:41\nmsgid \"aur search failed\"\nmsgstr \"не удалось найти в AUR\"\n\n#: src/search.rs:285 src/search.rs:338 src/search.rs:410\n#, fuzzy\nmsgid \"[installed: {}]\"\nmsgstr \" [установлено: {}]\"\n\n#: src/search.rs:287 src/search.rs:340 src/search.rs:412\n#, fuzzy\nmsgid \"[installed]\"\nmsgstr \" [установлено]\"\n\n#: src/search.rs:332\n#, fuzzy\nmsgid \"[out-of-date: {}]\"\nmsgstr \"[Устарело: {}]\"\n\n#: src/search.rs:347\n#, fuzzy\nmsgid \"[orphaned]\"\nmsgstr \"[Сирота]\"\n\n#: src/search.rs:491\nmsgid \"no packages match search\"\nmsgstr \"пакетов по запросу не найдено\"\n\n#: src/search.rs:529\nmsgid \"Packages to install (eg: 1 2 3, 1-3):\"\nmsgstr \"Пакеты для установки (напр. 1 2 3, 1-3):\"\n\n#: src/search.rs:531\n#, fuzzy\nmsgid \"Select packages (eg: 1 2 3, 1-3):\"\nmsgstr \"Пакеты для установки (напр. 1 2 3, 1-3):\"\n\n#: src/stats.rs:90\nmsgid \"Total installed packages: {}\"\nmsgstr \"Всего установлено: {}\"\n\n#: src/stats.rs:94\nmsgid \"Aur packages: {}\"\nmsgstr \"Пакетов из AUR: {}\"\n\n#: src/stats.rs:98\nmsgid \"Repo packages: {}\"\nmsgstr \"Пакетов из репозитория: {}\"\n\n#: src/stats.rs:102\nmsgid \"Explicitly installed packages: {}\"\nmsgstr \"Установлено вручную: {}\"\n\n#: src/stats.rs:106\nmsgid \"Total Size occupied by packages: {}\"\nmsgstr \"Всего занято места пакетами: {}\"\n\n#: src/stats.rs:113\nmsgid \"Ten biggest packages:\"\nmsgstr \"Десять самых больших пакетов:\"\n\n#: src/upgrade.rs:126\n#, fuzzy\nmsgid \"Looking for PKGBUILD upgrades...\"\nmsgstr \"Поиск обновлений в AUR\"\n\n#: src/upgrade.rs:134\n#, fuzzy\nmsgid \"Looking for AUR upgrades...\"\nmsgstr \"Поиск обновлений в AUR\"\n\n#: src/upgrade.rs:165\n#, fuzzy\nmsgid \"Looking for devel upgrades...\"\nmsgstr \"Поиск обновлений разработки\"\n\n#: src/upgrade.rs:193 src/upgrade.rs:206\nmsgid \"warning:\"\nmsgstr \"предупреждение:\"\n\n#: src/upgrade.rs:195 src/upgrade.rs:208\nmsgid \"{pkg}: ignoring package upgrade ({old} => {new})\"\nmsgstr \"{pkg}: проигнорировано обновление ({old} => {new})\"\n\n#: src/upgrade.rs:400\nmsgid \"Packages to exclude (eg: 1 2 3, 1-3):\"\nmsgstr \"исключить пакеты (напр. 1 2 3, 1-3):\"\n\n#: src/util.rs:121\nmsgid \"[Y/n]:\"\nmsgstr \"[Y/n]:\"\n\n#: src/util.rs:123\nmsgid \"[y/N]:\"\nmsgstr \"[y/N]:\"\n\n#: src/util.rs:142\nmsgid \"y\"\nmsgstr \"y\"\n\n#: src/util.rs:142\nmsgid \"yes\"\nmsgstr \"yes\"\n\n#: src/util.rs:300\nmsgid \"Enter a number (default=1): \"\nmsgstr \"Введите номер (по умолчанию = 1): \"\n\n#: src/util.rs:317\nmsgid \"invalid number: {}\"\nmsgstr \"неверный номер: {}\"\n\n#: src/util.rs:327\nmsgid \"invalid value: {n} is not between 1 and {max}\"\nmsgstr \"неверное значение: {n} не находится между 1 и {max}\"\n\n#: src/resolver.rs:83\nmsgid \"There are {} members in group\"\nmsgstr \"{} объекта в группе\"\n\n#: src/resolver.rs:108\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Enter a selection (default=all): \"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Выберите вариант (по-умолчанию=все): \"\n\n#: src/lib.rs:206\nmsgid \"can not use chroot builds: devtools is not installed\"\nmsgstr \"невозможна сборка из-под chroot: не установлен devtools\"\n\n#: src/lib.rs:313\n#, fuzzy\nmsgid \"no operation specified (use -h for help)\"\nmsgstr \"не указаны target’ы (вызов справки через -h)\"\n\n#~ msgid \"[Installed: {}]\"\n#~ msgstr \"[Установлено: {}]\"\n\n#~ msgid \"[Installed]\"\n#~ msgstr \"[Установлено]\"\n\n#~ msgid \"could not get current directory\"\n#~ msgstr \"не удалось получить текущий каталог\"\n\n#~ msgid \"can not get repo packages: asp is not installed\"\n#~ msgstr \"не удалось получить пакеты из репозитория: не установлен asp\"\n\n#~ msgid \"Missing ABS packages \"\n#~ msgstr \"Недостающие пакеты ABS \"\n\n#~ msgid \"does not contain PKGBUILD: skipping\"\n#~ msgstr \"не содержит PKGBUILD — пропускаем\"\n\n#~ msgid \"{} is not installed: can not get repo packages\"\n#~ msgstr \"{} не установлен: не удалось получить пакеты из репозитория\"\n\n#~ msgid \"asp returned {}\"\n#~ msgstr \"asp вернул {}\"\n\n#, fuzzy\n#~ msgid \"Generating .SRCINFO for {dir}...\"\n#~ msgstr \"не удалось найти .SRCINFO для «{}»\"\n\n#, fuzzy\n#~ msgid \"error: unknown section '{}'\"\n#~ msgstr \"неизвестная секция «{}»\"\n\n#~ msgid \"can't build package as root\"\n#~ msgstr \"невозможно собрать пакет из под root’а\"\n\n#~ msgid \"failed to build\"\n#~ msgstr \"не удалось собрать\"\n\n#~ msgid \"parsing pkg list...\"\n#~ msgstr \"чтение списка пакетов...\"\n\n#~ msgid \"\"\n#~ \"{} is a directory\\n\"\n#~ \"\\n\"\n#~ msgstr \"\"\n#~ \"{} является директорией\\n\"\n#~ \"\\n\"\n\n#~ msgid \"n\"\n#~ msgstr \"n\"\n\n#~ msgid \"no\"\n#~ msgstr \"no\"\n"
  },
  {
    "path": "po/sk.po",
    "content": "# Slovak translation of paru.\n# Copyright (C) YEAR THE paru'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the paru package.\n# Jose Riha <jose1711@gmail.com>, 2024.\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: paru  2.0.0\\n\"\n\"Report-Msgid-Bugs-To: https://github.com/Morganamilo/paru\\n\"\n\"POT-Creation-Date: 2026-01-08 17:40+0000\\n\"\n\"PO-Revision-Date: 2024-10-14 13:14+0200\\n\"\n\"Last-Translator: Jose Riha <jose1711@gmail.com>\\n\"\n\"Language-Team: \\n\"\n\"Language: sk\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Generator: Poedit 3.4.2\\n\"\n\n#: src/clean.rs:36\nmsgid \"Do you want to clean ALL AUR packages from cache?\"\nmsgstr \"Chcete odstrániť VŠETKY balíčky AUR z cache?\"\n\n#: src/clean.rs:38\nmsgid \"Do you want to clean all other AUR packages from cache?\"\nmsgstr \"Chcete odstrániť všetky ostatné balíčky AUR z cache?\"\n\n#: src/clean.rs:41\nmsgid \"Clone Directory: {}\"\nmsgstr \"Adresár pre klonovanie: {}\"\n\n#: src/clean.rs:47\nmsgid \"\"\n\"\\n\"\n\"Diff Directory: {}\"\nmsgstr \"\"\n\"\\n\"\n\"Adresár pre rozdiely: {}\"\n\n#: src/clean.rs:49\nmsgid \"Do you want to remove all saved diffs?\"\nmsgstr \"Prajete si zmazať všetky uložené rozdiely?\"\n\n#: src/clean.rs:65\nmsgid \"can't open diff dir: {}\"\nmsgstr \"nedá sa otvoriť adresár pre rozdiely: {}\"\n\n#: src/clean.rs:76 src/clean.rs:180\nmsgid \"could not remove '{}'\"\nmsgstr \"nedá sa odstrániť '{}'\"\n\n#: src/clean.rs:95\nmsgid \"can't open clone dir: {}\"\nmsgstr \"nedá sa otvoriť adresár pre klonovanie: {}\"\n\n#: src/clean.rs:141\nmsgid \"could not parse .SRCINFO for '{}'\"\nmsgstr \"nedá sa načítať .SRCINFO pre '{}'\"\n\n#: src/command_line.rs:134\nmsgid \"option {} expects a value\"\nmsgstr \"voľba {} očakáva hodnotu\"\n\n#: src/command_line.rs:165 src/command_line.rs:382\nmsgid \"option {} does not allow a value\"\nmsgstr \"voľba {} nepovoľuje hodnotu\"\n\n#: src/command_line.rs:373\nmsgid \"unknown option --{}\"\nmsgstr \"neznáma voľba --{}\"\n\n#: src/command_line.rs:376\nmsgid \"unknown option -{}\"\nmsgstr \"neznáma voľba -{}\"\n\n#: src/completion.rs:26 src/search.rs:179 src/sync.rs:113\n#, fuzzy\nmsgid \"failed to decode package list\"\nmsgstr \"nepodarilo sa otvoriť súbor cache '{}'\"\n\n#: src/completion.rs:35\nmsgid \"failed to open cache file '{}'\"\nmsgstr \"nepodarilo sa otvoriť súbor cache '{}'\"\n\n#: src/completion.rs:83\nmsgid \"could not update aur cache\"\nmsgstr \"nepodarilo sa aktualizovať aur cache\"\n\n#: src/config.rs:179\nmsgid \"invalid value '{val}' for key '{key}', expected: {exp}\"\nmsgstr \"neplatná hodnota '{val}' pre kľúč '{key}', očakávané: {exp}\"\n\n#: src/config.rs:332\nmsgid \"unknown mode {}\"\nmsgstr \"neznámy režim {}\"\n\n#: src/config.rs:564\nmsgid \"section can not be called {}\"\nmsgstr \"oddiel sa nedá pomenovať {}\"\n\n#: src/config.rs:581\nmsgid \"failed to find cache directory\"\nmsgstr \"nepodarilo sa nájsť adresár cache\"\n\n#: src/config.rs:584\nmsgid \"failed to find config directory\"\nmsgstr \"nepodarilo sa nájsť adresár s konfiguráciou\"\n\n#: src/config.rs:588\nmsgid \"failed to find state directory\"\nmsgstr \"nepodarilo sa nájsť adresár pre stavy\"\n\n#: src/config.rs:635\nmsgid \"config file '{}' does not exist\"\nmsgstr \"konfiguračný súbor '{}' neexistuje\"\n\n#: src/config.rs:684\nmsgid \"only one operation may be used at a time\"\nmsgstr \"naraz môžete použiť iba jednu operáciu\"\n\n#: src/config.rs:795\nmsgid \"no local repo named {}\"\nmsgstr \"neexistuje lokálny repozitár s menom {}\"\n\n#: src/config.rs:821\nmsgid \"can not find local repo '{}' in pacman.conf\"\nmsgstr \"nedá sa nájsť lokálny repozitár '{}' v pacman.conf\"\n\n#: src/config.rs:866\nmsgid \"failed to initialize alpm: root={} dbpath={}\"\nmsgstr \"nepodarilo sa inicializovať alpm: root={} dbpath={}\"\n\n#: src/config.rs:941 src/config.rs:1102\nmsgid \"value can not be empty for key '{}'\"\nmsgstr \"hodnota pre kľúč '{}' nemôže byť prázdna\"\n\n#: src/config.rs:957\nmsgid \"key '{}' does not belong to a section\"\nmsgstr \"kľúč '{}' nepatrí do oddielu\"\n\n#: src/config.rs:971 src/config.rs:988 src/config.rs:990 src/config.rs:1005\nmsgid \"key can not be empty\"\nmsgstr \"kľúč nemôže byť prázdny\"\n\n#: src/config.rs:981\nmsgid \"error: unknown option '{}' in repo\"\nmsgstr \"chyba: neznáma voľba '{}' v repozitári\"\n\n#: src/config.rs:991\nmsgid \"key can not contain null bytes\"\nmsgstr \"kľúč nesmie obsahovať nulové bajty\"\n\n#: src/config.rs:994\nmsgid \"value can not contain null bytes\"\nmsgstr \"hodnota nesmie obsahovať nulové bajty\"\n\n#: src/config.rs:1030\nmsgid \"error: unknown option '{}' in section [bin]\"\nmsgstr \"chyba: neznáma voľba '{}' v oddiele [bin]\"\n\n#: src/config.rs:1150\nmsgid \"error: unknown option '{}' in section [options]\"\nmsgstr \"chyba: neznáma voľba '{}' v oddiele [options]\"\n\n#: src/config.rs:1155\nmsgid \"option '{}' does not take a value\"\nmsgstr \"voľba '{}' neprijíma hodnotu\"\n\n#: src/config.rs:1187 src/resolver.rs:136\nmsgid \"There are {n} providers available for {pkg}:\"\nmsgstr \"Pre {pkg} je dostupných {n} poskytovateľov:\"\n\n#: src/config.rs:1201 src/info.rs:85 src/info.rs:190 src/info.rs:224\n#: src/resolver.rs:95 src/resolver.rs:144\nmsgid \"Repository\"\nmsgstr \"Repozitár\"\n\n#: src/config.rs:1227\nmsgid \"  failed to sync {}\"\nmsgstr \"  synchronizácia {} sa nepodarila\"\n\n#: src/devel.rs:136 src/download.rs:207\nmsgid \"Querying AUR...\"\nmsgstr \"Posielam požiadavku do AUR...\"\n\n#: src/devel.rs:157 src/devel.rs:181 src/install.rs:203\nmsgid \"failed to parse srcinfo for '{}'\"\nmsgstr \"nepodarilo sa načítať srcinfo pre '{}'\"\n\n#: src/devel.rs:201\nmsgid \"Looking for devel repos...\"\nmsgstr \"Vyhľadávam vývojové repozitáre...\"\n\n#: src/devel.rs:210\nmsgid \"failed to save devel info\"\nmsgstr \"nepodarilo sa uložiť vývojové informácie\"\n\n#: src/devel.rs:218\nmsgid \"failed to create state directory: {}\"\nmsgstr \"nepodarilo sa vytvoriť adresár pre stavy: {}\"\n\n#: src/devel.rs:233\nmsgid \"failed to create temporary file: {}\"\nmsgstr \"nepodarilo sa vytvoriť dočasný súbor: {}\"\n\n#: src/devel.rs:238\nmsgid \"failed to write to temporary file: {}\"\nmsgstr \"nepodarilo sa zapísať dočasný súbor: {}\"\n\n#: src/devel.rs:244\nmsgid \"failed to rename '{temp}' to '{devel_toml}\"\nmsgstr \"nepodarilo sa premenovať '{temp}' na '{devel_toml}\"\n\n#: src/devel.rs:490\nmsgid \"package does not have an update\"\nmsgstr \"balíček nemá aktualizáciu\"\n\n#: src/devel.rs:536\nmsgid \"failed to lookup: {}\"\nmsgstr \"nepodarilo sa nájsť: {}\"\n\n#: src/devel.rs:564\nmsgid \"invalid toml: {}\"\nmsgstr \"neplatný toml: {}\"\n\n#: src/download.rs:100\nmsgid \"packages not in the AUR: \"\nmsgstr \"balíčky mimo AUR: \"\n\n#: src/download.rs:111\nmsgid \"marked out of date: \"\nmsgstr \"označené ako zastarané: \"\n\n#: src/download.rs:122\nmsgid \"orphans: \"\nmsgstr \"osamotené: \"\n\n#: src/download.rs:260\nmsgid \"downloading: {pkg}\"\nmsgstr \"sťahujem: {pkg}\"\n\n#: src/download.rs:279 src/download.rs:602 src/info.rs:55 src/info.rs:180\n#: src/query.rs:49\nmsgid \"package '{}' was not found\"\nmsgstr \"balíček '{}' nebol nájdený\"\n\n#: src/download.rs:291\n#, fuzzy\nmsgid \"duplicate PKGBUILD: {}\"\nmsgstr \"duplicitné balíčky: {}\"\n\n#: src/download.rs:307\nmsgid \"package '{}' exists but has no PKGBUILD -- skipping\"\nmsgstr \"\"\n\n#: src/download.rs:340\nmsgid \"Downloading PKGBUILDs...\"\nmsgstr \"Sťahujem PKGBUILDy...\"\n\n#: src/download.rs:344\nmsgid \" PKGBUILDs up to date\"\nmsgstr \" PKGBUILDy sú aktuálne\"\n\n#: src/exec.rs:72\nmsgid \"failed to run:\"\nmsgstr \"nepodarilo sa spustiť:\"\n\n#: src/exec.rs:174\nmsgid \"Pacman is currently in use, please wait...\"\nmsgstr \"Pacman je zaneprázdnený, prosím čakajte...\"\n\n#: src/fmt.rs:24 src/info.rs:275 src/search.rs:293 src/search.rs:350\nmsgid \"None\"\nmsgstr \"Žiadny\"\n\n#: src/fmt.rs:245\nmsgid \"Repo\"\nmsgstr \"Repozitár\"\n\n#: src/fmt.rs:252\nmsgid \"Repo Make\"\nmsgstr \"Repo Make\"\n\n#: src/fmt.rs:272\nmsgid \"Pkgbuilds Make\"\nmsgstr \"Pkgbuilds Make\"\n\n#: src/fmt.rs:274\nmsgid \"Aur Make\"\nmsgstr \"Aur Make\"\n\n#: src/fmt.rs:319\nmsgid \"Repo ({})\"\nmsgstr \"Repozitár ({})\"\n\n#: src/fmt.rs:327\nmsgid \"Old Version\"\nmsgstr \"Stará verzia\"\n\n#: src/fmt.rs:328\nmsgid \"New Version\"\nmsgstr \"Nová verzia\"\n\n#: src/fmt.rs:329\nmsgid \"Make Only\"\nmsgstr \"Iba Make\"\n\n#: src/fmt.rs:330\nmsgid \"Yes\"\nmsgstr \"Áno\"\n\n#: src/fmt.rs:331 src/info.rs:221\nmsgid \"No\"\nmsgstr \"Nie\"\n\n#: src/fmt.rs:419\nmsgid \"insufficient columns available for table display\"\nmsgstr \"nedostatok stĺpcov na zobrazenie tabuľky\"\n\n#: src/help.rs:4\nmsgid \"Usage:\"\nmsgstr \"Použitie:\"\n\n#: src/help.rs:5\nmsgid \"    paru\"\nmsgstr \"    paru\"\n\n#: src/help.rs:6\nmsgid \"    paru <operation> [...]\"\nmsgstr \"    paru <operácia> [...]\"\n\n#: src/help.rs:7\nmsgid \"    paru <package(s)>\"\nmsgstr \"    paru <balíček(y)>\"\n\n#: src/help.rs:9\nmsgid \"Pacman operations:\"\nmsgstr \"Pacman operácie:\"\n\n#: src/help.rs:10\nmsgid \"    paru {-h --help}\"\nmsgstr \"    paru {-h --help}\"\n\n#: src/help.rs:11\nmsgid \"    paru {-V --version}\"\nmsgstr \"    paru {-V --version}\"\n\n#: src/help.rs:12\nmsgid \"    paru {-D --database}    <options> <package(s)>\"\nmsgstr \"    paru {-D --database}    <voľby> <balíček(y)>\"\n\n#: src/help.rs:13\nmsgid \"    paru {-F --files}       [options] [package(s)]\"\nmsgstr \"    paru {-F --files}       [voľby] [balíček(y)]\"\n\n#: src/help.rs:14\nmsgid \"    paru {-Q --query}       [options] [package(s)]\"\nmsgstr \"    paru {-Q --query}       [voľby] [balíček(y)]\"\n\n#: src/help.rs:15\nmsgid \"    paru {-R --remove}      [options] <package(s)>\"\nmsgstr \"    paru {-R --remove}      [voľby] <balíček(y)>\"\n\n#: src/help.rs:16\nmsgid \"    paru {-S --sync}        [options] [package(s)]\"\nmsgstr \"    paru {-S --sync}        [voľby] [balíček(y)]\"\n\n#: src/help.rs:17\nmsgid \"    paru {-T --deptest}     [options] [package(s)]\"\nmsgstr \"    paru {-T --deptest}     [voľby] [balíček(y)]\"\n\n#: src/help.rs:18\nmsgid \"    paru {-U --upgrade}     [options] [file(s)]\"\nmsgstr \"   paru {-U --upgrade}     [voľby] [súbor(y)]\"\n\n#: src/help.rs:20\nmsgid \"New operations:\"\nmsgstr \"Nové operácie:\"\n\n#: src/help.rs:21\nmsgid \"    paru {-P --show}        [options]\"\nmsgstr \"    paru {-P --show}        [voľby]\"\n\n#: src/help.rs:22\nmsgid \"    paru {-G --getpkgbuild} [package(s)]\"\nmsgstr \"    paru {-G --getpkgbuild} [balíček(y)]\"\n\n#: src/help.rs:23\nmsgid \"    paru {-B --build}       [dir(s)]\"\nmsgstr \"    paru {-B --build}       [adresár(e)]\"\n\n#: src/help.rs:25\nmsgid \"If no arguments are provided 'paru -Syu' will be performed\"\nmsgstr \"Ak nie sú zadané argumenty, vykoná sa 'paru -Syu'\"\n\n#: src/help.rs:27\nmsgid \"Options without operation:\"\nmsgstr \"Voľby bez operácie:\"\n\n#: src/help.rs:28\nmsgid \"    -c --clean            Remove unneeded dependencies\"\nmsgstr \"    -c --clean            Odobrať nepotrebné závislosti\"\n\n#: src/help.rs:29\nmsgid \"\"\n\"       --gendb            Generates development package DB used for updating\"\nmsgstr \"\"\n\"       --gendb            Vygenerovať databázu vývojových balíčkov použitých \"\n\"na aktualizáciu\"\n\n#: src/help.rs:31\nmsgid \"New options:\"\nmsgstr \"Nové voľby:\"\n\n#: src/help.rs:32\nmsgid \"       --repo              Assume targets are from the repositories\"\nmsgstr \"\"\n\"       --repo              Predpokladať, že ciele pochádzajú z repozitárov\"\n\n#: src/help.rs:33\nmsgid \"\"\n\"       --pkgbuilds         Assume targets are from pkgbuild repositories\"\nmsgstr \"\"\n\"       --pkgbuilds         Predpokladať, že ciele pochádzajú z pkgbuild \"\n\"repozitárov\"\n\n#: src/help.rs:34\nmsgid \"    -a --aur               Assume targets are from the AUR\"\nmsgstr \"    -a --aur               Predpokladať, že ciele pochádzajú z AUR\"\n\n#: src/help.rs:35\nmsgid \"    --mode      <mode>     Sets where paru looks for targets\"\nmsgstr \"    --mode      <režim>   Nastaviť, kde bude paru hľadať ciele\"\n\n#: src/help.rs:37\nmsgid \"\"\n\"    --interactive          Enable interactive package selection for -S, -R, \"\n\"-Ss and -Qs\"\nmsgstr \"\"\n\"    --interactive          Zapnúť interaktívny výber balíčkov pre -S, -R, \"\n\"-Ss a -Qs\"\n\n#: src/help.rs:39\nmsgid \"    --aururl    <url>      Set an alternative AUR URL\"\nmsgstr \"    --aururl    <url>      Nastaviť alternatívnu URL adresu AUR\"\n\n#: src/help.rs:40\nmsgid \"\"\n\"    --aurrpcur  <url>      Set an alternative URL for the AUR /rpc endpoint\"\nmsgstr \"\"\n\"    --aurrpcur  <url>      Nastaviť alternatívnu URL adresu AUR /rpc \"\n\"endpointu\"\n\n#: src/help.rs:41\nmsgid \"    --clonedir  <dir>      Directory used to download and run PKGBUILDs\"\nmsgstr \"\"\n\"    --clonedir  <adresár>      Adresár pre sťahovanie a spúšťanie PKGBUILDov\"\n\n#: src/help.rs:43\nmsgid \"    --makepkg   <file>     makepkg command to use\"\nmsgstr \"    --makepkg   <súbor>     makepkg príkaz, ktorý sa má použiť\"\n\n#: src/help.rs:44\nmsgid \"    --mflags    <flags>    Pass arguments to makepkg\"\nmsgstr \"    --mflags    <argumen>  Odovzdať argumenty pre makepkg\"\n\n#: src/help.rs:45\nmsgid \"    --pacman    <file>     pacman command to use\"\nmsgstr \"    --pacman    <súbor>     pacman príkaz, ktorý sa má použiť\"\n\n#: src/help.rs:46\nmsgid \"    --git       <file>     git command to use\"\nmsgstr \"    --git       <súbor>     git príkaz, ktorý sa má použiť\"\n\n#: src/help.rs:47\nmsgid \"    --gitflags  <flags>    Pass arguments to git\"\nmsgstr \"  --gitflags  <argumen>  Odovzdať argumenty pre git\"\n\n#: src/help.rs:48\nmsgid \"    --sudo      <file>     sudo command to use\"\nmsgstr \"    --sudo      <súbor>     sudo príkaz, ktorý sa má použiť\"\n\n#: src/help.rs:49\nmsgid \"    --sudoflags <flags>    Pass arguments to sudo\"\nmsgstr \"    --sudoflags <argumen>  Odovzdať argumenty pre sudo\"\n\n#: src/help.rs:50\nmsgid \"    --pkgctl    <file>     pkgctl command to use\"\nmsgstr \"    --pkgctl    <súbor>     pkgctl príkaz, ktorý sa má použiť\"\n\n#: src/help.rs:51\nmsgid \"    --bat       <file>     bat command to use\"\nmsgstr \"    --bat       <súbor>     bat príkaz, ktorý sa má použiť\"\n\n#: src/help.rs:52\nmsgid \"    --batflags  <flags>    Pass arguments to bat\"\nmsgstr \"    --batflags  <argumen>  Odovzdať argumenty pre bat\"\n\n#: src/help.rs:53\nmsgid \"    --gpg       <file>     gpg command to use\"\nmsgstr \"    --gpg       <súbor>     gpg príkaz, ktorý sa má použiť\"\n\n#: src/help.rs:54\nmsgid \"    --gpgflags  <flags>    Pass arguments to gpg\"\nmsgstr \"    --gpgflags  <argumen>  Odovzdať argumenty pre gpg\"\n\n#: src/help.rs:55\nmsgid \"    --fm        <file>     File manager to use for PKGBUILD review\"\nmsgstr \"    --fm        <súbor>     Súborový manažér pre kontrolu PKGBUILDov\"\n\n#: src/help.rs:56\nmsgid \"    --fmflags   <flags>    Pass arguments to file manager\"\nmsgstr \"    --fmflags   <argumen>  Odovzdať argumenty pre súborového manažéra\"\n\n#: src/help.rs:58\nmsgid \"    --completioninterval   <n> Time in days to refresh completion cache\"\nmsgstr \"\"\n\"    --completioninterval   <n> Čas v dňoch do ďalšej aktualizácie cache \"\n\"dokončenia\"\n\n#: src/help.rs:59\nmsgid \"\"\n\"    --sortby    <field>    Sort AUR results by a specific field during search\"\nmsgstr \"\"\n\"    --sortby    <pole>    Radiť výsledky hľadania v AUR podľa určeného poľa\"\n\n#: src/help.rs:60\nmsgid \"    --searchby  <field>    Search for packages using a specified field\"\nmsgstr \"    --searchby  <pole>    Hľadať balíčky podľa určeného poľa\"\n\n#: src/help.rs:61\nmsgid \"\"\n\"    --limit     <limit>    Limits the number of items returned in a search\"\nmsgstr \"    --limit     <limit>    Obmedziť počet výsledkov hľadania\"\n\n#: src/help.rs:62\nmsgid \"    -x --regex             Enable regex for aur search\"\nmsgstr \"\"\n\"    -x --regex             Povoliť regulárne výrazy (regex) pre vyhľadávanie \"\n\"v AUR\"\n\n#: src/help.rs:64\nmsgid \"    --skipreview           Skip the review process\"\nmsgstr \"    --skipreview           Preskočiť proces kontroly\"\n\n#: src/help.rs:65\nmsgid \"    --review               Don't skip the review process\"\nmsgstr \"    --review               Nepreskakovať proces kontroly\"\n\n#: src/help.rs:66\nmsgid \"    --[no]upgrademenu      Show interactive menu to skip upgrades\"\nmsgstr \"\"\n\"    --[no]upgrademenu      Zobraziť interaktívne menu na preskakovanie \"\n\"aktualizácií\"\n\n#: src/help.rs:67\nmsgid \"    --[no]removemake       Remove makedepends after install\"\nmsgstr \"    --[no]removemake       Zmazať makedepends po inštalácii\"\n\n#: src/help.rs:68\nmsgid \"    --[no]cleanafter       Remove package sources after install\"\nmsgstr \"    --[no]cleanafter       Zmazať zdroje balíčkov po inštalácii\"\n\n#: src/help.rs:69\nmsgid \"    --[no]rebuild          Always build target packages\"\nmsgstr \"    --[no]rebuild          Vždy zostaviť cieľové balíčky\"\n\n#: src/help.rs:70\nmsgid \"    --[no]redownload       Always download PKGBUILDs of targets\"\nmsgstr \"    --[no]redownload       Vždy stiahnuť PKGBUILDy cieľov\"\n\n#: src/help.rs:72\nmsgid \"    --[no]pgpfetch         Prompt to import PGP keys from PKGBUILDs\"\nmsgstr \"    --[no]pgpfetch         Vyzvať na import PGP kľúčov z PKGBUILDov\"\n\n#: src/help.rs:73\nmsgid \"\"\n\"    --[no]useask           Automatically resolve conflicts using pacman's \"\n\"ask flag\"\nmsgstr \"\"\n\"    --[no]useask           Automaticky vyriešiť konflikty podľa ask \"\n\"prepínača pacmanu\"\n\n#: src/help.rs:74\nmsgid \"\"\n\"    --[no]savechanges      Commit changes to pkgbuilds made during review\"\nmsgstr \"\"\n\"    --[no]savechanges      Prevziať zmeny vykonané počas kontroly do \"\n\"PKGBUILDov\"\n\n#: src/help.rs:75\nmsgid \"    --[no]newsonupgrade    Print new news during sysupgrade\"\nmsgstr \"\"\n\"    --[no]newsonupgrade    Zobraziť novinky počas systémovej aktualizácie\"\n\n#: src/help.rs:76\nmsgid \"\"\n\"    --[no]combinedupgrade  Refresh then perform the repo and AUR upgrade \"\n\"together\"\nmsgstr \"\"\n\"    --[no]combinedupgrade  Obnoviť a potom vykonať aktualizáciu repozitára a \"\n\"AUR naraz\"\n\n#: src/help.rs:77\nmsgid \"\"\n\"    --[no]batchinstall     Build multiple AUR packages then install them \"\n\"together\"\nmsgstr \"\"\n\"    --[no]batchinstall     Zostaviť viacero AUR balíčkov a potom ich \"\n\"nainštalovať naraz\"\n\n#: src/help.rs:78\nmsgid \"\"\n\"    --[no]provides         Look for matching providers when searching for \"\n\"packages\"\nmsgstr \"\"\n\"    --[no]provides         Pri hľadaní balíčkov nájsť zodpovedajúcich \"\n\"poskytovateľov\"\n\n#: src/help.rs:79\nmsgid \"    --[no]devel            Check development packages during sysupgrade\"\nmsgstr \"\"\n\"    --[no]devel            Skontrolovať vývojové balíčky počas systémovej \"\n\"aktualizácie\"\n\n#: src/help.rs:80\nmsgid \"\"\n\"    --[no]installdebug     Also install debug packages when a package \"\n\"provides them\"\nmsgstr \"\"\n\"    --[no]installdebug     Nainštalovať balíčky pre ladenie, ak ich balíček \"\n\"poskytuje\"\n\n#: src/help.rs:81\nmsgid \"\"\n\"    --[no]sudoloop         Loop sudo calls in the background to avoid timeout\"\nmsgstr \"\"\n\"    --[no]sudoloop         Zacykliť sudo volania na pozadí, aby sa predišlo \"\n\"vypršaniu časového limitu\"\n\n#: src/help.rs:82\nmsgid \"    --[no]chroot           Build packages in a chroot\"\nmsgstr \"    --[no]chroot           Zostaviť balíčky v chroote\"\n\n#: src/help.rs:83\nmsgid \"\"\n\"    --[no]failfast         Exit as soon as building an AUR package fails\"\nmsgstr \"\"\n\"    --[no]failfast         Skončiť akonáhle zostavenie AUR balíčka skončí s \"\n\"chybou\"\n\n#: src/help.rs:84\nmsgid \"\"\n\"    --[no]keepsrc          Keep src/ and pkg/ dirs after building packages\"\nmsgstr \"\"\n\"    --[no]keepsrc          Ponechať src/ a pkg/ adresáre po zostavení \"\n\"balíčkov\"\n\n#: src/help.rs:85\nmsgid \"    --[no]sign             Sign packages with gpg\"\nmsgstr \"    --[no]sign             Podpísať balíčky pomocou gpg\"\n\n#: src/help.rs:86\nmsgid \"    --[no]signdb           Sign databases with gpg\"\nmsgstr \"    --[no]signdb           Podpísať databáze pomocou gpg\"\n\n#: src/help.rs:87\nmsgid \"    --[no]localrepo        Build packages into a local repo\"\nmsgstr \"    --[no]localrepo        Zostaviť balíčky do lokálneho repozitára\"\n\n#: src/help.rs:88\nmsgid \"\"\n\"    --nocheck              Don't resolve checkdepends or run the check \"\n\"function\"\nmsgstr \"\"\n\"    --nocheck              Neriešiť checkdepends alebo spúšťať funkciu check\"\n\n#: src/help.rs:90\nmsgid \"\"\n\"    --rootchrootpkgs       Packages to install in the root chroot (default: \"\n\"base-devel)\"\nmsgstr \"\"\n\n#: src/help.rs:92\nmsgid \"\"\n\"    --develsuffixes        Suffixes used to decide if a package is a devel \"\n\"package\"\nmsgstr \"    --develsuffixes        Prípony označujúce vývojové balíčky\"\n\n#: src/help.rs:93\nmsgid \"    --ignoredevel          Ignore devel upgrades for specified packages\"\nmsgstr \"\"\n\"    --ignoredevel          Ignorovať vývojové aktualizácie pre určené balíčky\"\n\n#: src/help.rs:94\nmsgid \"\"\n\"    --bottomup             Shows AUR's packages first and then repository's\"\nmsgstr \"\"\n\"    --bottomup             Zobraziť najskôr balíčky AUR a potom balíčky z \"\n\"repozitára\"\n\n#: src/help.rs:95\nmsgid \"\"\n\"    --topdown              Shows repository's packages first and then AUR's\"\nmsgstr \"\"\n\"    --topdown              Zobraziť najskôr balíčky z repozitára a potom \"\n\"balíčky AUR\"\n\n#: src/help.rs:97\nmsgid \"show specific options:\"\nmsgstr \"špecifické voľby pre show:\"\n\n#: src/help.rs:98\nmsgid \"    -c --complete         Used for completions\"\nmsgstr \"\"\n\"    -c --complete         Použité na dokončovanie príkazov a argumentov\"\n\n#: src/help.rs:99\nmsgid \"    -s --stats            Display system package statistics\"\nmsgstr \"    -s --stats            Zobraziť štatistiky systémových balíčkov\"\n\n#: src/help.rs:100\nmsgid \"    -w --news             Print arch news\"\nmsgstr \"    -w --news             Zobraziť novinky v Archu\"\n\n#: src/help.rs:102\nmsgid \"getpkgbuild specific options:\"\nmsgstr \"špecifické voľby pre getpkgbuild:\"\n\n#: src/help.rs:103\nmsgid \"    -p --print            Print pkgbuild to stdout\"\nmsgstr \"    -p --print            Zobraziť PKGBUILD na štandardný výstup\"\n\n#: src/help.rs:104\nmsgid \"    -c --comments         Print AUR comments for pkgbuild\"\nmsgstr \"    -c --comments         Zobraziť AUR komentáre pre PKGBUILD\"\n\n#: src/help.rs:105\nmsgid \"    -s --ssh              Clone package using SSH\"\nmsgstr \"    -s --ssh              Klonovať balíček pomocou SSH\"\n\n#: src/help.rs:107\nmsgid \"Build specific options:\"\nmsgstr \"Špecifické voľby pre zostavenie:\"\n\n#: src/help.rs:108\nmsgid \"    -i --install          Install package as well as building\"\nmsgstr \"    -i --install          Nainštalovať a zostaviť balíček\"\n\n#: src/info.rs:86 src/info.rs:191 src/info.rs:225\nmsgid \"Name\"\nmsgstr \"Meno\"\n\n#: src/info.rs:87 src/info.rs:192 src/info.rs:226\nmsgid \"Version\"\nmsgstr \"Verzia\"\n\n#: src/info.rs:88 src/info.rs:193 src/info.rs:227\nmsgid \"Description\"\nmsgstr \"Popis\"\n\n#: src/info.rs:89 src/info.rs:195 src/info.rs:235\nmsgid \"Groups\"\nmsgstr \"Skupiny\"\n\n#: src/info.rs:90 src/info.rs:196 src/info.rs:236\nmsgid \"Licenses\"\nmsgstr \"Licencie\"\n\n#: src/info.rs:91 src/info.rs:197 src/info.rs:237\nmsgid \"Provides\"\nmsgstr \"Poskytuje\"\n\n#: src/info.rs:92 src/info.rs:198 src/info.rs:238\nmsgid \"Depends On\"\nmsgstr \"Závisí na\"\n\n#: src/info.rs:93 src/info.rs:199 src/info.rs:239\nmsgid \"Make Deps\"\nmsgstr \"Závislosti pre zostavenie\"\n\n#: src/info.rs:94 src/info.rs:200 src/info.rs:240\nmsgid \"Check Deps\"\nmsgstr \"Závislosti pre check\"\n\n#: src/info.rs:95 src/info.rs:201 src/info.rs:241\nmsgid \"Optional Deps\"\nmsgstr \"Voliteľné závislosti\"\n\n#: src/info.rs:96 src/info.rs:202 src/info.rs:242\nmsgid \"Conflicts With\"\nmsgstr \"V konflikte s\"\n\n#: src/info.rs:97 src/info.rs:243\nmsgid \"Maintainer\"\nmsgstr \"Správca\"\n\n#: src/info.rs:98 src/info.rs:244\nmsgid \"Votes\"\nmsgstr \"Hlasy\"\n\n#: src/info.rs:99 src/info.rs:245\nmsgid \"Popularity\"\nmsgstr \"Popularita\"\n\n#: src/info.rs:100 src/info.rs:246\nmsgid \"First Submitted\"\nmsgstr \"Prvýkrát zverejnené\"\n\n#: src/info.rs:101 src/info.rs:247\nmsgid \"Last Modified\"\nmsgstr \"Posledná úprava\"\n\n#: src/info.rs:102 src/info.rs:249\nmsgid \"Out Of Date\"\nmsgstr \"Zastarané\"\n\n#: src/info.rs:103 src/info.rs:254\nmsgid \"ID\"\nmsgstr \"ID\"\n\n#: src/info.rs:104 src/info.rs:255\nmsgid \"Package Base ID\"\nmsgstr \"Základné ID aplikácie\"\n\n#: src/info.rs:105 src/info.rs:256\nmsgid \"Keywords\"\nmsgstr \"Kľúčové slová\"\n\n#: src/info.rs:106 src/info.rs:258\nmsgid \"Snapshot URL\"\nmsgstr \"URL adresa snapshotu\"\n\n#: src/info.rs:107 src/info.rs:203\nmsgid \"Path\"\nmsgstr \"Cesta\"\n\n#: src/install.rs:166 src/query.rs:48 src/lib.rs:101\nmsgid \"error:\"\nmsgstr \"chyba:\"\n\n#: src/install.rs:167\nmsgid \"could not get news\"\nmsgstr \"nepodarilo sa získať novinky\"\n\n#: src/install.rs:172 src/install.rs:1127\nmsgid \"Proceed with installation?\"\nmsgstr \"Pokračovať v inštalácii?\"\n\n#: src/install.rs:207\nmsgid \"could not find .SRCINFO for '{}'\"\nmsgstr \"nepodarilo sa nájsť .SRCINFO pre '{}'\"\n\n#: src/install.rs:353\nmsgid \"could not find package '{pkg}' in package list for '{base}'\"\nmsgstr \"nepodarilo sa nájsť balíčky '{pkg}' v zozname balíčkov pre '{base}'\"\n\n#: src/install.rs:451\nmsgid \"packages failed to build: {}\"\nmsgstr \"balíčky, ktoré sa nepodarilo zostaviť: {}\"\n\n#: src/install.rs:523\nmsgid \"adding {} to the install list\"\nmsgstr \"pridávam {} do zoznamu na inštaláciu\"\n\n#: src/install.rs:553 src/install.rs:568\nmsgid \"failed to download sources for '{}'\"\nmsgstr \"nepodarilo sa stiahnuť zdroje pre '{}'\"\n\n#: src/install.rs:577 src/install.rs:603 src/install.rs:611\nmsgid \"failed to build '{}'\"\nmsgstr \"nepodarilo sa zostaviť '{}'\"\n\n#: src/install.rs:580 src/install.rs:784\nmsgid \"{}: parsing pkg list...\"\nmsgstr \"{}: načítavam pkg zoznam...\"\n\n#: src/install.rs:584\nmsgid \"package list does not match srcinfo\"\nmsgstr \"zoznamov balíčkov nesúhlasí so srcinfo\"\n\n#: src/install.rs:618\nmsgid \"{}-{} is up to date -- skipping build\"\nmsgstr \"{}-{} je aktuálny -- preskakujem zostavenie\"\n\n#: src/install.rs:775\nmsgid \"can't build {base}, deps not satisfied: {deps}\"\nmsgstr \"nemôžem zostaviť {base}, závislosti nie sú vyriešené: {deps}\"\n\n#: src/install.rs:846\nmsgid \"fetching devel info...\"\nmsgstr \"získavam informácie pre vývoj...\"\n\n#: src/install.rs:911 src/lib.rs:240\nmsgid \"no targets specified (use -h for help)\"\nmsgstr \"neboli určené ciele (použite -h pre nápovedu)\"\n\n#: src/install.rs:1008 src/install.rs:1097 src/search.rs:450 src/search.rs:476\n#: src/lib.rs:304\nmsgid \" there is nothing to do\"\nmsgstr \" nie je čo robiť\"\n\n#: src/install.rs:1016\nmsgid \"Resolving dependencies...\"\nmsgstr \"Riešim závislosti...\"\n\n#: src/install.rs:1077\nmsgid \"can't install AUR package as root\"\nmsgstr \"nemôžem nainštalovať AUR balíček ako root\"\n\n#: src/install.rs:1080\nmsgid \"--downloadonly can't be used for AUR packages\"\nmsgstr \"--downloadonly sa nedá použiť pre balíčky AUR\"\n\n#: src/install.rs:1113\nmsgid \"Remove make dependencies after install?\"\nmsgstr \"Odobrať make závislosti po inštalácii?\"\n\n#: src/install.rs:1124\nmsgid \"Proceed to review?\"\nmsgstr \"Pokračovať ku kontrole?\"\n\n#: src/install.rs:1177\nmsgid \"no architecture\"\nmsgstr \"žiadna architektúra\"\n\n#: src/install.rs:1191\nmsgid \"The following packages are not compatible with your architecture:\"\nmsgstr \"Nasledujúce balíčky nie sú kompatibilné s vašou architektúrou:\"\n\n#: src/install.rs:1205\nmsgid \"Would you like to try build them anyway?\"\nmsgstr \"Prajete si ich aj napriek tomu zostaviť?\"\n\n#: src/install.rs:1349\nmsgid \"duplicate packages: {}\"\nmsgstr \"duplicitné balíčky: {}\"\n\n#: src/install.rs:1353\nmsgid \"could not find all required packages:\"\nmsgstr \"nepodarilo sa nájsť všetky potrebné balíčky:\"\n\n#: src/install.rs:1365\nmsgid \"\"\n\"\\n\"\n\"    {missing} (wanted by: {stack})\"\nmsgstr \"\"\n\"\\n\"\n\"    {missing} (požadované: {stack})\"\n\n#: src/install.rs:1379 src/install.rs:2122\nmsgid \"{}-{} is up to date -- skipping\"\nmsgstr \"{}-{} je aktuálne -- preskakujem\"\n\n#: src/install.rs:1387\nmsgid \"Calculating conflicts...\"\nmsgstr \"Počítam konflikty...\"\n\n#: src/install.rs:1410\nmsgid \"Calculating inner conflicts...\"\nmsgstr \"Počítam vnútorné konflikty...\"\n\n#: src/install.rs:1422\nmsgid \"Inner conflicts found:\"\nmsgstr \"Nájdené vnútorné konflikty:\"\n\n#: src/install.rs:1444\nmsgid \"Conflicts found:\"\nmsgstr \"Nájdené konflikty:\"\n\n#: src/install.rs:1467\nmsgid \"Conflicting packages will have to be confirmed manually\"\nmsgstr \"Konfliktné balíčky musíte potvrdiť ručne\"\n\n#: src/install.rs:1471\nmsgid \"can not install conflicting packages with --noconfirm\"\nmsgstr \"nemôžem inštalovať konfliktné balíčky s --noconfirm\"\n\n#: src/install.rs:1599\nmsgid \"failed to execute file manager: {}\"\nmsgstr \"nepodarilo sa spustiť správcu súborov: {}\"\n\n#: src/install.rs:1602\n#, fuzzy\nmsgid \"file manager '{}' did not execute successfully\"\nmsgstr \"správca súborov sa nespustil\"\n\n#: src/install.rs:1620\nmsgid \"failed to read dir: {}\"\nmsgstr \"nepodarilo sa načítať adresár: {}\"\n\n#: src/install.rs:1677\nmsgid \"failed to open: {}\"\nmsgstr \"nepodarilo sa otvoriť: {}\"\n\n#: src/install.rs:1697\nmsgid \"binary file: {}\"\nmsgstr \"binárny súbor: {}\"\n\n#: src/install.rs:1719 src/install.rs:1790\nmsgid \"Accept changes?\"\nmsgstr \"Potvrdiť zmeny?\"\n\n#: src/install.rs:1759\nmsgid \"Paging with less. Press 'q' to quit or 'h' for help.\"\nmsgstr \"\"\n\n#: src/install.rs:1794\nmsgid \" nothing new to review\"\nmsgstr \" nič nové na kontrolu\"\n\n#: src/install.rs:2070\nmsgid \"can't find package name in packagelist: {}\"\nmsgstr \"nemôžem nájsť meno balíčka v packagelist: {}\"\n\n#: src/install.rs:2142\nmsgid \"Signing packages...\"\nmsgstr \"Podpisujem balíčky...\"\n\n#: src/install.rs:2172\nmsgid \"{}-{} is up to date -- skipping install\"\nmsgstr \"{}-{} je aktuálny -- preskakujem aktualizáciu\"\n\n#: src/keys.rs:57\nmsgid \"keys need to be imported:\"\nmsgstr \"kľúče na import:\"\n\n#: src/keys.rs:62\nmsgid \"     {key} wanted by: {base}\"\nmsgstr \"     {key} požadované: {base}\"\n\n#: src/news.rs:57\nmsgid \"No Date \"\nmsgstr \"Žiadny dátum \"\n\n#: src/news.rs:60\nmsgid \"No Title\"\nmsgstr \"Žiadny názov\"\n\n#: src/news.rs:69\nmsgid \"no new news\"\nmsgstr \"žiadne novinky\"\n\n#: src/pkgbuild.rs:91\nmsgid \"repo {} does not have a URL or Path\"\nmsgstr \"repozitár {} nemá adresu URL alebo cestu\"\n\n#: src/pkgbuild.rs:153\nmsgid \"repo {} not downloaded (use -Sy --pkgbuilds to download)\"\nmsgstr \"repozitár {} sa nestiahol (použite -Sy --pkgbuilds na stiahnutie)\"\n\n#: src/pkgbuild.rs:200\nmsgid \"Generating .SRCINFO for {repo}/{dir}...\"\nmsgstr \"Vytváram .SRCINFO pre {repo}/{dir}...\"\n\n#: src/pkgbuild.rs:278\nmsgid \"failed to parse srcinfo \\\"{}\\\"\"\nmsgstr \"nepodarilo sa načítať srcinfo \\\"{}\\\"\"\n\n#: src/pkgbuild.rs:368\nmsgid \"Downloading PKGBUILD Repos...\"\nmsgstr \"Sťahujem PKGBUILD repozitáre...\"\n\n#: src/pkgbuild.rs:422\nmsgid \"failed to parse srcinfo generated by makepkg\"\nmsgstr \"nepodarilo sa načítať srcinfo vytvorené makepkg\"\n\n#: src/query.rs:151\nmsgid \" [ignored]\"\nmsgstr \" [ignorované]\"\n\n#: src/repo.rs:253\nmsgid \"failed to get current exe\"\nmsgstr \"nepodarilo sa získať aktuálne exe\"\n\n#: src/repo.rs:298\nmsgid \"syncing local databases...\"\nmsgstr \"synchronizujem lokálne databáze...\"\n\n#: src/repo.rs:304\nmsgid \"  nothing to do\"\nmsgstr \"  nie je čo robiť\"\n\n#: src/repo.rs:335\nmsgid \"there is nothing to do\"\nmsgstr \"nie je čo robiť\"\n\n#: src/repo.rs:341\nmsgid \"Packages\"\nmsgstr \"Balíčky\"\n\n#: src/repo.rs:354\nmsgid \"Proceed with removal?\"\nmsgstr \"Pokračovať v odoberaní?\"\n\n#: src/repo.rs:415\nmsgid \" [installed: {}]\"\nmsgstr \" [nainštalované: {}]\"\n\n#: src/repo.rs:417 src/sync.rs:144\nmsgid \" [installed]\"\nmsgstr \" [nainštalované]\"\n\n#: src/search.rs:41\nmsgid \"aur search failed\"\nmsgstr \"hľadanie v AUR zlyhalo\"\n\n#: src/search.rs:285 src/search.rs:338 src/search.rs:410\n#, fuzzy\nmsgid \"[installed: {}]\"\nmsgstr \" [nainštalované: {}]\"\n\n#: src/search.rs:287 src/search.rs:340 src/search.rs:412\n#, fuzzy\nmsgid \"[installed]\"\nmsgstr \" [nainštalované]\"\n\n#: src/search.rs:332\n#, fuzzy\nmsgid \"[out-of-date: {}]\"\nmsgstr \"[Zastarané: {}]\"\n\n#: src/search.rs:347\n#, fuzzy\nmsgid \"[orphaned]\"\nmsgstr \"[Osamotené]\"\n\n#: src/search.rs:491\nmsgid \"no packages match search\"\nmsgstr \"hľadaniu nezodpovedajú žiadne balíčky\"\n\n#: src/search.rs:529\nmsgid \"Packages to install (eg: 1 2 3, 1-3):\"\nmsgstr \"Balíčky na inštaláciu (napr. 1 2 3, 1-3):\"\n\n#: src/search.rs:531\nmsgid \"Select packages (eg: 1 2 3, 1-3):\"\nmsgstr \"Vyberte balíčky (napr. 1 2 3, 1-3):\"\n\n#: src/stats.rs:90\nmsgid \"Total installed packages: {}\"\nmsgstr \"Počet nainštalovaných balíčkov: {}\"\n\n#: src/stats.rs:94\nmsgid \"Aur packages: {}\"\nmsgstr \"AUR balíčky: {}\"\n\n#: src/stats.rs:98\nmsgid \"Repo packages: {}\"\nmsgstr \"Balíčky z repozitárov: {}\"\n\n#: src/stats.rs:102\nmsgid \"Explicitly installed packages: {}\"\nmsgstr \"Explicitne nainštalované balíčky: {}\"\n\n#: src/stats.rs:106\nmsgid \"Total Size occupied by packages: {}\"\nmsgstr \"Celková veľkosť obsadená balíčkami: {}\"\n\n#: src/stats.rs:113\nmsgid \"Ten biggest packages:\"\nmsgstr \"Desať najväčších balíčkov:\"\n\n#: src/upgrade.rs:126\nmsgid \"Looking for PKGBUILD upgrades...\"\nmsgstr \"Hľadám aktualizácie PKGBUILD...\"\n\n#: src/upgrade.rs:134\nmsgid \"Looking for AUR upgrades...\"\nmsgstr \"Hľadám aktualizácie AUR...\"\n\n#: src/upgrade.rs:165\nmsgid \"Looking for devel upgrades...\"\nmsgstr \"Vyhľadávam aktualizáciu vývojových balíčkov...\"\n\n#: src/upgrade.rs:193 src/upgrade.rs:206\nmsgid \"warning:\"\nmsgstr \"varovanie:\"\n\n#: src/upgrade.rs:195 src/upgrade.rs:208\nmsgid \"{pkg}: ignoring package upgrade ({old} => {new})\"\nmsgstr \"{pkg}: ignorujem aktualizáciu balíčka ({old} => {new})\"\n\n#: src/upgrade.rs:400\nmsgid \"Packages to exclude (eg: 1 2 3, 1-3):\"\nmsgstr \"Balíčky, ktoré sa vynechajú (napr. 1 2 3, 1-3):\"\n\n#: src/util.rs:121\nmsgid \"[Y/n]:\"\nmsgstr \"[A/n]:\"\n\n#: src/util.rs:123\nmsgid \"[y/N]:\"\nmsgstr \"[a/N]:\"\n\n#: src/util.rs:142\nmsgid \"y\"\nmsgstr \"a\"\n\n#: src/util.rs:142\nmsgid \"yes\"\nmsgstr \"áno\"\n\n#: src/util.rs:300\nmsgid \"Enter a number (default=1): \"\nmsgstr \"Zadajte číslo (predvolené=1): \"\n\n#: src/util.rs:317\nmsgid \"invalid number: {}\"\nmsgstr \"neplatné číslo: {}\"\n\n#: src/util.rs:327\nmsgid \"invalid value: {n} is not between 1 and {max}\"\nmsgstr \"neplatná hodnota: {n} nie je medzi 1 a {max}\"\n\n#: src/resolver.rs:83\nmsgid \"There are {} members in group\"\nmsgstr \"V skupine je {} členov\"\n\n#: src/resolver.rs:108\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Enter a selection (default=all): \"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Zadajte výber (predvolené=all): \"\n\n#: src/lib.rs:206\nmsgid \"can not use chroot builds: devtools is not installed\"\nmsgstr \"nedá sa použiť zostavenie v chroote: devtools nie sú nainštalované\"\n\n#: src/lib.rs:313\nmsgid \"no operation specified (use -h for help)\"\nmsgstr \"nebola špecifikovaná žiadna operácia (použite -h pre nápovedu)\"\n\n#~ msgid \"[Installed: {}]\"\n#~ msgstr \"[Nainštalované: {}]\"\n\n#~ msgid \"[Installed]\"\n#~ msgstr \"[Nainštalované]\"\n"
  },
  {
    "path": "po/sv.po",
    "content": "# paru Swedish translation.\n# Copyright (C) YEAR THE paru'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the paru package.\n# filiphe <filip@hesslund.org>, 2021.\n# Luna Jernberg <droidbittin@gmail.com>, 2022, 2023, 2024, 2026.\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: paru VERSION\\n\"\n\"Report-Msgid-Bugs-To: https://github.com/Morganamilo/paru\\n\"\n\"POT-Creation-Date: 2026-01-08 17:40+0000\\n\"\n\"PO-Revision-Date: 2026-01-09 05:48+0000\\n\"\n\"Last-Translator: Luna Jernberg <droidbittin@gmail.com>\\n\"\n\"Language-Team: \\n\"\n\"Language: sv\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Generator: Poedit 3.8\\n\"\n\n#: src/clean.rs:36\nmsgid \"Do you want to clean ALL AUR packages from cache?\"\nmsgstr \"Vill du rensa ALLA AUR paket från cache?\"\n\n#: src/clean.rs:38\nmsgid \"Do you want to clean all other AUR packages from cache?\"\nmsgstr \"Vill du rensa alla andra AUR paket från cache?\"\n\n#: src/clean.rs:41\nmsgid \"Clone Directory: {}\"\nmsgstr \"Kloningskatalog: {}\"\n\n#: src/clean.rs:47\nmsgid \"\"\n\"\\n\"\n\"Diff Directory: {}\"\nmsgstr \"\"\n\"\\n\"\n\"Skillnadskatalog: {}\"\n\n#: src/clean.rs:49\nmsgid \"Do you want to remove all saved diffs?\"\nmsgstr \"Vill du ta bort alla sparade skillnader?\"\n\n#: src/clean.rs:65\nmsgid \"can't open diff dir: {}\"\nmsgstr \"kan inte öppna skillnadskatalog: {}\"\n\n#: src/clean.rs:76 src/clean.rs:180\nmsgid \"could not remove '{}'\"\nmsgstr \"kunde inte ta bort '{}'\"\n\n#: src/clean.rs:95\nmsgid \"can't open clone dir: {}\"\nmsgstr \"kan inte öppna kloningskatalog: {}\"\n\n#: src/clean.rs:141\nmsgid \"could not parse .SRCINFO for '{}'\"\nmsgstr \"kunde inte analysera .SRCINFO för '{}'\"\n\n#: src/command_line.rs:134\nmsgid \"option {} expects a value\"\nmsgstr \"parametern {} förväntar sig ett värde\"\n\n#: src/command_line.rs:165 src/command_line.rs:382\nmsgid \"option {} does not allow a value\"\nmsgstr \"parametern {} tillåter inte ett värde\"\n\n#: src/command_line.rs:373\nmsgid \"unknown option --{}\"\nmsgstr \"okänd parameter --{}\"\n\n#: src/command_line.rs:376\nmsgid \"unknown option -{}\"\nmsgstr \"okänd parameter -{}\"\n\n#: src/completion.rs:26 src/search.rs:179 src/sync.rs:113\nmsgid \"failed to decode package list\"\nmsgstr \"misslyckades med att avkoda paketlista\"\n\n#: src/completion.rs:35\nmsgid \"failed to open cache file '{}'\"\nmsgstr \"misslyckades med att öppna cachefilen '{}'\"\n\n#: src/completion.rs:83\nmsgid \"could not update aur cache\"\nmsgstr \"kunde inte updatera aur-cachen\"\n\n#: src/config.rs:179\nmsgid \"invalid value '{val}' for key '{key}', expected: {exp}\"\nmsgstr \"ogiltigt värde '{val}' för nyckel '{key}', förväntade sig: {exp}\"\n\n#: src/config.rs:332\nmsgid \"unknown mode {}\"\nmsgstr \"okänt läge {}\"\n\n#: src/config.rs:564\nmsgid \"section can not be called {}\"\nmsgstr \"sektionen kan inte kallas {}\"\n\n#: src/config.rs:581\nmsgid \"failed to find cache directory\"\nmsgstr \"misslyckades med att hitta cachekatalogen\"\n\n#: src/config.rs:584\nmsgid \"failed to find config directory\"\nmsgstr \"misslyckades med att hitta konfigurationskatalogen\"\n\n#: src/config.rs:588\nmsgid \"failed to find state directory\"\nmsgstr \"misslyckades med att hitta tillståndskatalogen\"\n\n#: src/config.rs:635\nmsgid \"config file '{}' does not exist\"\nmsgstr \"konfigurationsfilen '{}' existerar inte\"\n\n#: src/config.rs:684\nmsgid \"only one operation may be used at a time\"\nmsgstr \"endast en operation åt gången får användas\"\n\n#: src/config.rs:795\nmsgid \"no local repo named {}\"\nmsgstr \"inget lokalt förvar {}\"\n\n#: src/config.rs:821\nmsgid \"can not find local repo '{}' in pacman.conf\"\nmsgstr \"kan inte hitta lokalt förvar '{}' i pacman.conf\"\n\n#: src/config.rs:866\nmsgid \"failed to initialize alpm: root={} dbpath={}\"\nmsgstr \"misslyckades med att initialisera alpm: root={} dbpath={}\"\n\n#: src/config.rs:941 src/config.rs:1102\nmsgid \"value can not be empty for key '{}'\"\nmsgstr \"värdet får inte vara tomt för nyckeln '{}'\"\n\n#: src/config.rs:957\nmsgid \"key '{}' does not belong to a section\"\nmsgstr \"nyckeln '{}' tillhör ingen sektion\"\n\n#: src/config.rs:971 src/config.rs:988 src/config.rs:990 src/config.rs:1005\nmsgid \"key can not be empty\"\nmsgstr \"nyckeln får inte vara tom\"\n\n#: src/config.rs:981\nmsgid \"error: unknown option '{}' in repo\"\nmsgstr \"okänt alternativ '{}' i förvar\"\n\n#: src/config.rs:991\nmsgid \"key can not contain null bytes\"\nmsgstr \"nyckel kan inte innehålla null bytes\"\n\n#: src/config.rs:994\nmsgid \"value can not contain null bytes\"\nmsgstr \"värde kan inte innehålla null bytes\"\n\n#: src/config.rs:1030\nmsgid \"error: unknown option '{}' in section [bin]\"\nmsgstr \"okänt alternativ '{}' i sektion [bin]\"\n\n#: src/config.rs:1150\nmsgid \"error: unknown option '{}' in section [options]\"\nmsgstr \"okänt alternativ '{}' i sektion [options]\"\n\n#: src/config.rs:1155\nmsgid \"option '{}' does not take a value\"\nmsgstr \"alternativet '{}' tar inget värde\"\n\n#: src/config.rs:1187 src/resolver.rs:136\nmsgid \"There are {n} providers available for {pkg}:\"\nmsgstr \"Det finns {n} leverantörer tillgängliga för {pkg}:\"\n\n#: src/config.rs:1201 src/info.rs:85 src/info.rs:190 src/info.rs:224\n#: src/resolver.rs:95 src/resolver.rs:144\nmsgid \"Repository\"\nmsgstr \"Förvaringsplats\"\n\n#: src/config.rs:1227\nmsgid \"  failed to sync {}\"\nmsgstr \"  misslyckades med att synkronisera {}\"\n\n#: src/devel.rs:136 src/download.rs:207\nmsgid \"Querying AUR...\"\nmsgstr \"Frågar AUR...\"\n\n#: src/devel.rs:157 src/devel.rs:181 src/install.rs:203\nmsgid \"failed to parse srcinfo for '{}'\"\nmsgstr \"misslyckades med att analysera srcinfo för '{}'\"\n\n#: src/devel.rs:201\nmsgid \"Looking for devel repos...\"\nmsgstr \"Letar efter devel-förvaringsplatser...\"\n\n#: src/devel.rs:210\nmsgid \"failed to save devel info\"\nmsgstr \"misslyckades med att spara devel-information\"\n\n#: src/devel.rs:218\nmsgid \"failed to create state directory: {}\"\nmsgstr \"misslyckades med att skapa tillståndskatalog: {}\"\n\n#: src/devel.rs:233\nmsgid \"failed to create temporary file: {}\"\nmsgstr \"misslyckades med att skapa temporär fil: {}\"\n\n#: src/devel.rs:238\nmsgid \"failed to write to temporary file: {}\"\nmsgstr \"misslyckades med att skriva till temporär fil: {}\"\n\n#: src/devel.rs:244\nmsgid \"failed to rename '{temp}' to '{devel_toml}\"\nmsgstr \"misslyckades att byta namn på '{temp}' till '{devel_toml}\"\n\n#: src/devel.rs:490\nmsgid \"package does not have an update\"\nmsgstr \"paketet har ingen uppdatering\"\n\n#: src/devel.rs:536\nmsgid \"failed to lookup: {}\"\nmsgstr \"misslyckades med att leta upp: {}\"\n\n#: src/devel.rs:564\nmsgid \"invalid toml: {}\"\nmsgstr \"ogiltig toml: {}\"\n\n#: src/download.rs:100\nmsgid \"packages not in the AUR: \"\nmsgstr \"paket finns inte i AUR: \"\n\n#: src/download.rs:111\nmsgid \"marked out of date: \"\nmsgstr \"markerat som utdaterat: \"\n\n#: src/download.rs:122\nmsgid \"orphans: \"\nmsgstr \"övergivna: \"\n\n#: src/download.rs:260\nmsgid \"downloading: {pkg}\"\nmsgstr \"laddar ner: {pkg}\"\n\n#: src/download.rs:279 src/download.rs:602 src/info.rs:55 src/info.rs:180\n#: src/query.rs:49\nmsgid \"package '{}' was not found\"\nmsgstr \"paket '{}' hittades inte\"\n\n#: src/download.rs:291\nmsgid \"duplicate PKGBUILD: {}\"\nmsgstr \"duplicera PKGBUILD: {}\"\n\n#: src/download.rs:307\nmsgid \"package '{}' exists but has no PKGBUILD -- skipping\"\nmsgstr \"paket '{}' existerar men har ingen PKGBUILD -- hoppar över\"\n\n#: src/download.rs:340\nmsgid \"Downloading PKGBUILDs...\"\nmsgstr \"Laddar ner PKGBUILD-filer...\"\n\n#: src/download.rs:344\nmsgid \" PKGBUILDs up to date\"\nmsgstr \" PKGBUILD-filer är aktuella\"\n\n#: src/exec.rs:72\nmsgid \"failed to run:\"\nmsgstr \"misslyckades med att köra:\"\n\n#: src/exec.rs:174\nmsgid \"Pacman is currently in use, please wait...\"\nmsgstr \"Pacman används just nu, var god vänta...\"\n\n#: src/fmt.rs:24 src/info.rs:275 src/search.rs:293 src/search.rs:350\nmsgid \"None\"\nmsgstr \"Inga\"\n\n#: src/fmt.rs:245\nmsgid \"Repo\"\nmsgstr \"Förvar\"\n\n#: src/fmt.rs:252\nmsgid \"Repo Make\"\nmsgstr \"Förvar Make\"\n\n#: src/fmt.rs:272\nmsgid \"Pkgbuilds Make\"\nmsgstr \"Pkgbuilds Make\"\n\n#: src/fmt.rs:274\nmsgid \"Aur Make\"\nmsgstr \"Aur Make\"\n\n#: src/fmt.rs:319\nmsgid \"Repo ({})\"\nmsgstr \"Förvar ({})\"\n\n#: src/fmt.rs:327\nmsgid \"Old Version\"\nmsgstr \"Gammal version\"\n\n#: src/fmt.rs:328\nmsgid \"New Version\"\nmsgstr \"Ny version\"\n\n#: src/fmt.rs:329\nmsgid \"Make Only\"\nmsgstr \"Make endast\"\n\n#: src/fmt.rs:330\nmsgid \"Yes\"\nmsgstr \"Ja\"\n\n#: src/fmt.rs:331 src/info.rs:221\nmsgid \"No\"\nmsgstr \"Nej\"\n\n#: src/fmt.rs:419\nmsgid \"insufficient columns available for table display\"\nmsgstr \"otillräckligt med kolumner tillgängliga för tabellvisning\"\n\n#: src/help.rs:4\nmsgid \"Usage:\"\nmsgstr \"Användning:\"\n\n#: src/help.rs:5\nmsgid \"    paru\"\nmsgstr \"    paru\"\n\n#: src/help.rs:6\nmsgid \"    paru <operation> [...]\"\nmsgstr \"    paru <operation> [...]\"\n\n#: src/help.rs:7\nmsgid \"    paru <package(s)>\"\nmsgstr \"    paru <paket>\"\n\n#: src/help.rs:9\nmsgid \"Pacman operations:\"\nmsgstr \"Pacman operationer:\"\n\n#: src/help.rs:10\nmsgid \"    paru {-h --help}\"\nmsgstr \"    paru {-h --help}\"\n\n#: src/help.rs:11\nmsgid \"    paru {-V --version}\"\nmsgstr \"    paru {-V --version}\"\n\n#: src/help.rs:12\nmsgid \"    paru {-D --database}    <options> <package(s)>\"\nmsgstr \"    paru {-D --database}    <alternativ> <paket>\"\n\n#: src/help.rs:13\nmsgid \"    paru {-F --files}       [options] [package(s)]\"\nmsgstr \"    paru {-F --files}       [alternativ] [paket]\"\n\n#: src/help.rs:14\nmsgid \"    paru {-Q --query}       [options] [package(s)]\"\nmsgstr \"    paru {-Q --query}       [alternativ] [paket]\"\n\n#: src/help.rs:15\nmsgid \"    paru {-R --remove}      [options] <package(s)>\"\nmsgstr \"    paru {-R --remove}      [alternativ] <paket>\"\n\n#: src/help.rs:16\nmsgid \"    paru {-S --sync}        [options] [package(s)]\"\nmsgstr \"    paru {-S --sync}        [alternativ] [paket]\"\n\n#: src/help.rs:17\nmsgid \"    paru {-T --deptest}     [options] [package(s)]\"\nmsgstr \"    paru {-T --deptest}     [alternativ] [paket]\"\n\n#: src/help.rs:18\nmsgid \"    paru {-U --upgrade}     [options] [file(s)]\"\nmsgstr \"    paru {-U --upgrade}     [alternativ] [filer]\"\n\n#: src/help.rs:20\nmsgid \"New operations:\"\nmsgstr \"Nya operationer:\"\n\n#: src/help.rs:21\nmsgid \"    paru {-P --show}        [options]\"\nmsgstr \"    paru {-P --show}        [alternativ]\"\n\n#: src/help.rs:22\nmsgid \"    paru {-G --getpkgbuild} [package(s)]\"\nmsgstr \"    paru {-G --getpkgbuild} [paket]\"\n\n#: src/help.rs:23\nmsgid \"    paru {-B --build}       [dir(s)]\"\nmsgstr \"    paru {-B --build}       [katalog(er)]\"\n\n#: src/help.rs:25\nmsgid \"If no arguments are provided 'paru -Syu' will be performed\"\nmsgstr \"Om inga argument tillhandahålls kommer 'paru -Syu' att utföras\"\n\n#: src/help.rs:27\nmsgid \"Options without operation:\"\nmsgstr \"Alternativ utan operationer:\"\n\n#: src/help.rs:28\nmsgid \"    -c --clean            Remove unneeded dependencies\"\nmsgstr \"    -c --clean            Ta bort onödiga beroenden\"\n\n#: src/help.rs:29\nmsgid \"\"\n\"       --gendb            Generates development package DB used for updating\"\nmsgstr \"\"\n\"       --gendb            Genererar utvecklingspaket DB som används för \"\n\"uppdatering\"\n\n#: src/help.rs:31\nmsgid \"New options:\"\nmsgstr \"Nya alternativ:\"\n\n#: src/help.rs:32\nmsgid \"       --repo              Assume targets are from the repositories\"\nmsgstr \"       --repo              Anta att målen kommer från förvar\"\n\n#: src/help.rs:33\nmsgid \"\"\n\"       --pkgbuilds         Assume targets are from pkgbuild repositories\"\nmsgstr \"       --pkgbuilds         Anta att målen är från pkgbuild förvar\"\n\n#: src/help.rs:34\nmsgid \"    -a --aur               Assume targets are from the AUR\"\nmsgstr \"    -a --aur               Anta att målen kommer från AUR\"\n\n#: src/help.rs:35\nmsgid \"    --mode      <mode>     Sets where paru looks for targets\"\nmsgstr \"    --mode      <mode>     Ställer in var paru letar efter mål\"\n\n#: src/help.rs:37\nmsgid \"\"\n\"    --interactive          Enable interactive package selection for -S, -R, \"\n\"-Ss and -Qs\"\nmsgstr \"\"\n\"    --interactive            Aktivera interaktivt paketval för -S, -R, -Ss \"\n\"och -Qs\"\n\n#: src/help.rs:39\nmsgid \"    --aururl    <url>      Set an alternative AUR URL\"\nmsgstr \"    --aururl    <url>      Ställ in en alternativ AUR URL\"\n\n#: src/help.rs:40\nmsgid \"\"\n\"    --aurrpcur  <url>      Set an alternative URL for the AUR /rpc endpoint\"\nmsgstr \"\"\n\"    --aurrpcur  <url>      Ställ in en alternativ URL för AUR /rpc-slutpunkt\"\n\n#: src/help.rs:41\nmsgid \"    --clonedir  <dir>      Directory used to download and run PKGBUILDs\"\nmsgstr \"\"\n\"    --clonedir  <kat>      Katalog som används för att ladda ner och köra \"\n\"PKGBUILDs\"\n\n#: src/help.rs:43\nmsgid \"    --makepkg   <file>     makepkg command to use\"\nmsgstr \"    --makepkg   <fil>     makepkg kommando att använda\"\n\n#: src/help.rs:44\nmsgid \"    --mflags    <flags>    Pass arguments to makepkg\"\nmsgstr \"    --mflags    <flaggor>    Skicka argument till makepkg\"\n\n#: src/help.rs:45\nmsgid \"    --pacman    <file>     pacman command to use\"\nmsgstr \"    --pacman    <fil>     pacman kommando att använda\"\n\n#: src/help.rs:46\nmsgid \"    --git       <file>     git command to use\"\nmsgstr \"    --git       <fil>     git kommando att använda\"\n\n#: src/help.rs:47\nmsgid \"    --gitflags  <flags>    Pass arguments to git\"\nmsgstr \"    --gitflags  <flaggor>    Skicka argument till git\"\n\n#: src/help.rs:48\nmsgid \"    --sudo      <file>     sudo command to use\"\nmsgstr \"    --sudo      <fil>     sudo kommando att använda\"\n\n#: src/help.rs:49\nmsgid \"    --sudoflags <flags>    Pass arguments to sudo\"\nmsgstr \"    --sudoflags <flaggor>    Skicka argument till sudo\"\n\n#: src/help.rs:50\nmsgid \"    --pkgctl    <file>     pkgctl command to use\"\nmsgstr \"    --pkgctl       <fil>     pkgctl kommando att använda\"\n\n#: src/help.rs:51\nmsgid \"    --bat       <file>     bat command to use\"\nmsgstr \"    --bat       <fil>    bat kommando att använda\"\n\n#: src/help.rs:52\nmsgid \"    --batflags  <flags>    Pass arguments to bat\"\nmsgstr \"    --batflags  <flaggor>    Skicka argument to bat\"\n\n#: src/help.rs:53\nmsgid \"    --gpg       <file>     gpg command to use\"\nmsgstr \"    --gpg        <fil>      gpg kommando att använda\"\n\n#: src/help.rs:54\nmsgid \"    --gpgflags  <flags>    Pass arguments to gpg\"\nmsgstr \"    --gpgflags  <flaggor>    Skicka argument till gpg\"\n\n#: src/help.rs:55\nmsgid \"    --fm        <file>     File manager to use for PKGBUILD review\"\nmsgstr \"\"\n\"    --fm         <fil>      Filhanterare att använda för granskning av \"\n\"PKGBUILD\"\n\n#: src/help.rs:56\nmsgid \"    --fmflags   <flags>    Pass arguments to file manager\"\nmsgstr \"    --fmflags  <flaggor>     Skicka argument till filhanteraren\"\n\n#: src/help.rs:58\nmsgid \"    --completioninterval   <n> Time in days to refresh completion cache\"\nmsgstr \"\"\n\"    --completioninterval   <n> Tid i dagar för att uppdatera \"\n\"slutföringscachen\"\n\n#: src/help.rs:59\nmsgid \"\"\n\"    --sortby    <field>    Sort AUR results by a specific field during search\"\nmsgstr \"\"\n\"    --sortby    <fält>     Sortera AUR-resultat efter ett specifikt fält \"\n\"under sökning\"\n\n#: src/help.rs:60\nmsgid \"    --searchby  <field>    Search for packages using a specified field\"\nmsgstr \"    --searchby  <field>    Sök efter paket med ett specificerat fält\"\n\n#: src/help.rs:61\nmsgid \"\"\n\"    --limit     <limit>    Limits the number of items returned in a search\"\nmsgstr \"\"\n\"    --limit     <limit>    Begränsar antalet objekt som returneras i en \"\n\"sökning\"\n\n#: src/help.rs:62\nmsgid \"    -x --regex             Enable regex for aur search\"\nmsgstr \"    -x --regex             Aktivera regex för aur sök\"\n\n#: src/help.rs:64\nmsgid \"    --skipreview           Skip the review process\"\nmsgstr \"    --skipreview           Hoppa över granskningen\"\n\n#: src/help.rs:65\nmsgid \"    --review               Don't skip the review process\"\nmsgstr \"    --review               Hoppa inte över granskningen\"\n\n#: src/help.rs:66\nmsgid \"    --[no]upgrademenu      Show interactive menu to skip upgrades\"\nmsgstr \"\"\n\"    --[no]upgrademenu      Visa interaktiv meny för att hoppa över \"\n\"uppgraderingar\"\n\n#: src/help.rs:67\nmsgid \"    --[no]removemake       Remove makedepends after install\"\nmsgstr \"    --[no]removemake       Ta bort makedepends efter installationen\"\n\n#: src/help.rs:68\nmsgid \"    --[no]cleanafter       Remove package sources after install\"\nmsgstr \"    --[no]cleanafter       Ta bort paketkällor efter installationen\"\n\n#: src/help.rs:69\nmsgid \"    --[no]rebuild          Always build target packages\"\nmsgstr \"    --[no]rebuild          Bygg alltid målpaket\"\n\n#: src/help.rs:70\nmsgid \"    --[no]redownload       Always download PKGBUILDs of targets\"\nmsgstr \"    --[no]redownload       Ladda alltid ner PKGBUILDs av mål\"\n\n#: src/help.rs:72\nmsgid \"    --[no]pgpfetch         Prompt to import PGP keys from PKGBUILDs\"\nmsgstr \"\"\n\"    --[no]pgpfetch         Fråga om att importera PGP-nycklar från PKGBUILDs\"\n\n#: src/help.rs:73\nmsgid \"\"\n\"    --[no]useask           Automatically resolve conflicts using pacman's \"\n\"ask flag\"\nmsgstr \"\"\n\"    --[no]useask           Lös konflikter automatiskt med pacmans frågeflagga\"\n\n#: src/help.rs:74\nmsgid \"\"\n\"    --[no]savechanges      Commit changes to pkgbuilds made during review\"\nmsgstr \"\"\n\"    --[no]savechanges      Bekräfta ändringar av pkgbuilds som gjordes under \"\n\"granskning\"\n\n#: src/help.rs:75\nmsgid \"    --[no]newsonupgrade    Print new news during sysupgrade\"\nmsgstr \"    --[no]newsonupgrade    Skriv ut nya nyheter under sysupgrade\"\n\n#: src/help.rs:76\nmsgid \"\"\n\"    --[no]combinedupgrade  Refresh then perform the repo and AUR upgrade \"\n\"together\"\nmsgstr \"\"\n\"    --[no]combinedupgrade  Uppdatera och utför sedan repo och AUR-\"\n\"uppgraderingen tillsammans\"\n\n#: src/help.rs:77\nmsgid \"\"\n\"    --[no]batchinstall     Build multiple AUR packages then install them \"\n\"together\"\nmsgstr \"\"\n\"    --[no]batchinstall     Bygg flera AUR-paket och installera dem sedan \"\n\"tillsammans\"\n\n#: src/help.rs:78\nmsgid \"\"\n\"    --[no]provides         Look for matching providers when searching for \"\n\"packages\"\nmsgstr \"\"\n\"    --[no]provides        Leta efter matchande leverantörer när du söker \"\n\"efter paket\"\n\n#: src/help.rs:79\nmsgid \"    --[no]devel            Check development packages during sysupgrade\"\nmsgstr \"\"\n\"    --[no]devel            Kontrollera utvecklingspaket under sysupgrade\"\n\n#: src/help.rs:80\nmsgid \"\"\n\"    --[no]installdebug     Also install debug packages when a package \"\n\"provides them\"\nmsgstr \"\"\n\"    --[no]installdebug     Installera även felsökningspaket när ett paket \"\n\"tillhandahåller dem\"\n\n#: src/help.rs:81\nmsgid \"\"\n\"    --[no]sudoloop         Loop sudo calls in the background to avoid timeout\"\nmsgstr \"\"\n\"    --[no]sudoloop         Slinga sudo-samtal i bakgrunden för att undvika \"\n\"timeout\"\n\n#: src/help.rs:82\nmsgid \"    --[no]chroot           Build packages in a chroot\"\nmsgstr \"    --[no]chroot           Bygg paket i ett chroot\"\n\n#: src/help.rs:83\nmsgid \"\"\n\"    --[no]failfast         Exit as soon as building an AUR package fails\"\nmsgstr \"\"\n\"    --[no]failfast         Avsluta så snart det inte går att bygga ett AUR-\"\n\"paket\"\n\n#: src/help.rs:84\nmsgid \"\"\n\"    --[no]keepsrc          Keep src/ and pkg/ dirs after building packages\"\nmsgstr \"\"\n\"    --[no]keepsrc          Behåll src/ och pkg/ katalogerna efter att ha \"\n\"byggt paket\"\n\n#: src/help.rs:85\nmsgid \"    --[no]sign             Sign packages with gpg\"\nmsgstr \"    --[no]sign             Signera paket med gpg\"\n\n#: src/help.rs:86\nmsgid \"    --[no]signdb           Sign databases with gpg\"\nmsgstr \"    --[no]signdb           Signera databaser med gpg\"\n\n#: src/help.rs:87\nmsgid \"    --[no]localrepo        Build packages into a local repo\"\nmsgstr \"    --[no]localrepo            Bygg paket till ett lokalt förvar\"\n\n#: src/help.rs:88\nmsgid \"\"\n\"    --nocheck              Don't resolve checkdepends or run the check \"\n\"function\"\nmsgstr \"\"\n\"    --nocheck              Lös inte checkdepends eller kör kontrollfunktionen\"\n\n#: src/help.rs:90\nmsgid \"\"\n\"    --rootchrootpkgs       Packages to install in the root chroot (default: \"\n\"base-devel)\"\nmsgstr \"\"\n\"    --rootchrootpkgs       Paket att installera i root-chroot (standard: \"\n\"base-devel)\"\n\n#: src/help.rs:92\nmsgid \"\"\n\"    --develsuffixes        Suffixes used to decide if a package is a devel \"\n\"package\"\nmsgstr \"\"\n\"    --develsuffixes        Suffix används för att avgöra om ett paket är ett \"\n\"utvecklingspaket\"\n\n#: src/help.rs:93\nmsgid \"    --ignoredevel          Ignore devel upgrades for specified packages\"\nmsgstr \"\"\n\"    --ignoredevel          Ignorera utvecklingsuppgraderingar för \"\n\"specificerade paket\"\n\n#: src/help.rs:94\nmsgid \"\"\n\"    --bottomup             Shows AUR's packages first and then repository's\"\nmsgstr \"    --bottomup             Visar först AURs paket och sedan förvarets\"\n\n#: src/help.rs:95\nmsgid \"\"\n\"    --topdown              Shows repository's packages first and then AUR's\"\nmsgstr \"    --topdown              Visar förvarets paket först och sedan AUR:s\"\n\n#: src/help.rs:97\nmsgid \"show specific options:\"\nmsgstr \"visa specifika alternativ:\"\n\n#: src/help.rs:98\nmsgid \"    -c --complete         Used for completions\"\nmsgstr \"    -c --complete         Används för kompletteringar\"\n\n#: src/help.rs:99\nmsgid \"    -s --stats            Display system package statistics\"\nmsgstr \"    -s --stats            Visa systempaketstatistik\"\n\n#: src/help.rs:100\nmsgid \"    -w --news             Print arch news\"\nmsgstr \"    -w --news             Skriv ut arch nyheter\"\n\n#: src/help.rs:102\nmsgid \"getpkgbuild specific options:\"\nmsgstr \"getpkgbuild specifika alternativ:\"\n\n#: src/help.rs:103\nmsgid \"    -p --print            Print pkgbuild to stdout\"\nmsgstr \"    -p --print            Skriv pkgbuild till stdout\"\n\n#: src/help.rs:104\nmsgid \"    -c --comments         Print AUR comments for pkgbuild\"\nmsgstr \"    -c --comments         Visar AUR-kommentarer för pkgbuild\"\n\n#: src/help.rs:105\nmsgid \"    -s --ssh              Clone package using SSH\"\nmsgstr \"    -s --ssh              Klona paket med SSH\"\n\n#: src/help.rs:107\nmsgid \"Build specific options:\"\nmsgstr \"Bygg specifika alternativ:\"\n\n#: src/help.rs:108\nmsgid \"    -i --install          Install package as well as building\"\nmsgstr \"    -i --install          Installera paket samt bygg\"\n\n#: src/info.rs:86 src/info.rs:191 src/info.rs:225\nmsgid \"Name\"\nmsgstr \"Namn\"\n\n#: src/info.rs:87 src/info.rs:192 src/info.rs:226\nmsgid \"Version\"\nmsgstr \"Version\"\n\n#: src/info.rs:88 src/info.rs:193 src/info.rs:227\nmsgid \"Description\"\nmsgstr \"Beskrivning\"\n\n#: src/info.rs:89 src/info.rs:195 src/info.rs:235\nmsgid \"Groups\"\nmsgstr \"Grupper\"\n\n#: src/info.rs:90 src/info.rs:196 src/info.rs:236\nmsgid \"Licenses\"\nmsgstr \"Licenser\"\n\n#: src/info.rs:91 src/info.rs:197 src/info.rs:237\nmsgid \"Provides\"\nmsgstr \"Tillhandahåller\"\n\n#: src/info.rs:92 src/info.rs:198 src/info.rs:238\nmsgid \"Depends On\"\nmsgstr \"Beror På\"\n\n#: src/info.rs:93 src/info.rs:199 src/info.rs:239\nmsgid \"Make Deps\"\nmsgstr \"Make-beroenden\"\n\n#: src/info.rs:94 src/info.rs:200 src/info.rs:240\nmsgid \"Check Deps\"\nmsgstr \"Check-beroenden\"\n\n#: src/info.rs:95 src/info.rs:201 src/info.rs:241\nmsgid \"Optional Deps\"\nmsgstr \"Frivilliga Beroenden\"\n\n#: src/info.rs:96 src/info.rs:202 src/info.rs:242\nmsgid \"Conflicts With\"\nmsgstr \"I Konflikt Med\"\n\n#: src/info.rs:97 src/info.rs:243\nmsgid \"Maintainer\"\nmsgstr \"Underhållare\"\n\n#: src/info.rs:98 src/info.rs:244\nmsgid \"Votes\"\nmsgstr \"Röster\"\n\n#: src/info.rs:99 src/info.rs:245\nmsgid \"Popularity\"\nmsgstr \"Popularitet\"\n\n#: src/info.rs:100 src/info.rs:246\nmsgid \"First Submitted\"\nmsgstr \"Först Framlagt\"\n\n#: src/info.rs:101 src/info.rs:247\nmsgid \"Last Modified\"\nmsgstr \"Sist Modifierat\"\n\n#: src/info.rs:102 src/info.rs:249\nmsgid \"Out Of Date\"\nmsgstr \"Utdaterat\"\n\n#: src/info.rs:103 src/info.rs:254\nmsgid \"ID\"\nmsgstr \"ID\"\n\n#: src/info.rs:104 src/info.rs:255\nmsgid \"Package Base ID\"\nmsgstr \"Paket Bas ID\"\n\n#: src/info.rs:105 src/info.rs:256\nmsgid \"Keywords\"\nmsgstr \"Nyckelord\"\n\n#: src/info.rs:106 src/info.rs:258\nmsgid \"Snapshot URL\"\nmsgstr \"URL Till Ögonblicksbild\"\n\n#: src/info.rs:107 src/info.rs:203\nmsgid \"Path\"\nmsgstr \"Sökväg\"\n\n#: src/install.rs:166 src/query.rs:48 src/lib.rs:101\nmsgid \"error:\"\nmsgstr \"fel:\"\n\n#: src/install.rs:167\nmsgid \"could not get news\"\nmsgstr \"kunde inte hämta nyheter\"\n\n#: src/install.rs:172 src/install.rs:1127\nmsgid \"Proceed with installation?\"\nmsgstr \"Gå vidare till installation?\"\n\n#: src/install.rs:207\nmsgid \"could not find .SRCINFO for '{}'\"\nmsgstr \"kunde inte hitta .SRCINFO för '{}'\"\n\n#: src/install.rs:353\nmsgid \"could not find package '{pkg}' in package list for '{base}'\"\nmsgstr \"kunde inte hitta paket '{pkg}' i paketlistan för '{base}'\"\n\n#: src/install.rs:451\nmsgid \"packages failed to build: {}\"\nmsgstr \"bygge misslyckat för paket: {}\"\n\n#: src/install.rs:523\nmsgid \"adding {} to the install list\"\nmsgstr \"lägger {} till installationslistan\"\n\n#: src/install.rs:553 src/install.rs:568\nmsgid \"failed to download sources for '{}'\"\nmsgstr \"misslyckades med att hämta källor för '{}'\"\n\n#: src/install.rs:577 src/install.rs:603 src/install.rs:611\nmsgid \"failed to build '{}'\"\nmsgstr \"misslyckades med att bygga '{}'\"\n\n#: src/install.rs:580 src/install.rs:784\nmsgid \"{}: parsing pkg list...\"\nmsgstr \"{}: analyserar pkg-lista...\"\n\n#: src/install.rs:584\nmsgid \"package list does not match srcinfo\"\nmsgstr \"paketlistan matchar inte srcinfo\"\n\n#: src/install.rs:618\nmsgid \"{}-{} is up to date -- skipping build\"\nmsgstr \"{}-{} är aktuell -- hoppar över bygge\"\n\n#: src/install.rs:775\nmsgid \"can't build {base}, deps not satisfied: {deps}\"\nmsgstr \"kan inte bygga {base}, deps inte tillfredsställda: {deps}\"\n\n#: src/install.rs:846\nmsgid \"fetching devel info...\"\nmsgstr \"hämtar devel information...\"\n\n#: src/install.rs:911 src/lib.rs:240\nmsgid \"no targets specified (use -h for help)\"\nmsgstr \"inga mål specificerade (använd -h för hjälp)\"\n\n#: src/install.rs:1008 src/install.rs:1097 src/search.rs:450 src/search.rs:476\n#: src/lib.rs:304\nmsgid \" there is nothing to do\"\nmsgstr \" det finns inget att göra\"\n\n#: src/install.rs:1016\nmsgid \"Resolving dependencies...\"\nmsgstr \"Löser beroenden...\"\n\n#: src/install.rs:1077\nmsgid \"can't install AUR package as root\"\nmsgstr \"kan inte installera AUR-paket som root\"\n\n#: src/install.rs:1080\nmsgid \"--downloadonly can't be used for AUR packages\"\nmsgstr \"--downloadonly kan inte användas för AUR-paket\"\n\n#: src/install.rs:1113\nmsgid \"Remove make dependencies after install?\"\nmsgstr \"Ta bort make-beroenden efter installation?\"\n\n#: src/install.rs:1124\nmsgid \"Proceed to review?\"\nmsgstr \"Gå vidare till granskning?\"\n\n#: src/install.rs:1177\nmsgid \"no architecture\"\nmsgstr \"ingen arkitektur\"\n\n#: src/install.rs:1191\nmsgid \"The following packages are not compatible with your architecture:\"\nmsgstr \"Följande paket är inte kompatibla med din arkitektur:\"\n\n#: src/install.rs:1205\nmsgid \"Would you like to try build them anyway?\"\nmsgstr \"Vill ni försöka bygga de ändå?\"\n\n#: src/install.rs:1349\nmsgid \"duplicate packages: {}\"\nmsgstr \"duplicerade paket: {}\"\n\n#: src/install.rs:1353\nmsgid \"could not find all required packages:\"\nmsgstr \"kunde inte hitta alla nödvändiga paket:\"\n\n#: src/install.rs:1365\nmsgid \"\"\n\"\\n\"\n\"    {missing} (wanted by: {stack})\"\nmsgstr \"\"\n\"\\n\"\n\"    {missing} (eftersökt av: {stack})\"\n\n#: src/install.rs:1379 src/install.rs:2122\nmsgid \"{}-{} is up to date -- skipping\"\nmsgstr \"{}-{} är aktuell -- hoppar över\"\n\n#: src/install.rs:1387\nmsgid \"Calculating conflicts...\"\nmsgstr \"Beräknar konflikter...\"\n\n#: src/install.rs:1410\nmsgid \"Calculating inner conflicts...\"\nmsgstr \"Beräknar inre konflikter...\"\n\n#: src/install.rs:1422\nmsgid \"Inner conflicts found:\"\nmsgstr \"Inre konflikter funna:\"\n\n#: src/install.rs:1444\nmsgid \"Conflicts found:\"\nmsgstr \"Konflikter funna:\"\n\n#: src/install.rs:1467\nmsgid \"Conflicting packages will have to be confirmed manually\"\nmsgstr \"Paket i konflikt kommer behöva konfimeras manuellt\"\n\n#: src/install.rs:1471\nmsgid \"can not install conflicting packages with --noconfirm\"\nmsgstr \"kan inte installera paket i konflikt med --noconfirm\"\n\n#: src/install.rs:1599\nmsgid \"failed to execute file manager: {}\"\nmsgstr \"misslyckades med att exekvera filhanterare: {}\"\n\n#: src/install.rs:1602\nmsgid \"file manager '{}' did not execute successfully\"\nmsgstr \"filhanterare '{}' exekverades inte korrekt\"\n\n#: src/install.rs:1620\nmsgid \"failed to read dir: {}\"\nmsgstr \"misslyckades med att läsa katalogen: {}\"\n\n#: src/install.rs:1677\nmsgid \"failed to open: {}\"\nmsgstr \"misslyckades med att öppna: {}\"\n\n#: src/install.rs:1697\nmsgid \"binary file: {}\"\nmsgstr \"binärfil: {}\"\n\n#: src/install.rs:1719 src/install.rs:1790\nmsgid \"Accept changes?\"\nmsgstr \"Acceptera ändringar?\"\n\n#: src/install.rs:1759\nmsgid \"Paging with less. Press 'q' to quit or 'h' for help.\"\nmsgstr \"Sökning med less. Tryck på 'q' för att avsluta eller 'h' för hjälp.\"\n\n#: src/install.rs:1794\nmsgid \" nothing new to review\"\nmsgstr \" inget nytt att granska\"\n\n#: src/install.rs:2070\nmsgid \"can't find package name in packagelist: {}\"\nmsgstr \"kan inte hitta paketnamn i packagelist: {}\"\n\n#: src/install.rs:2142\nmsgid \"Signing packages...\"\nmsgstr \"Signerar paket...\"\n\n#: src/install.rs:2172\nmsgid \"{}-{} is up to date -- skipping install\"\nmsgstr \"{}-{} är aktuell -- hoppar över installation\"\n\n#: src/keys.rs:57\nmsgid \"keys need to be imported:\"\nmsgstr \"nycklar behövs importeras:\"\n\n#: src/keys.rs:62\nmsgid \"     {key} wanted by: {base}\"\nmsgstr \"     {key} eftersökt av: {base}\"\n\n#: src/news.rs:57\nmsgid \"No Date \"\nmsgstr \"Inget Datum \"\n\n#: src/news.rs:60\nmsgid \"No Title\"\nmsgstr \"Ingen Titel\"\n\n#: src/news.rs:69\nmsgid \"no new news\"\nmsgstr \"inga nyheter\"\n\n#: src/pkgbuild.rs:91\nmsgid \"repo {} does not have a URL or Path\"\nmsgstr \"förvar {} har ingen URL eller sökväg\"\n\n#: src/pkgbuild.rs:153\nmsgid \"repo {} not downloaded (use -Sy --pkgbuilds to download)\"\nmsgstr \"förvar {} inte nedladdad (använd -Sy --pkgbuilds för att ladda ner)\"\n\n#: src/pkgbuild.rs:200\nmsgid \"Generating .SRCINFO for {repo}/{dir}...\"\nmsgstr \"Genererar .SRCINFO för {repo}/{dir}...\"\n\n#: src/pkgbuild.rs:278\nmsgid \"failed to parse srcinfo \\\"{}\\\"\"\nmsgstr \"misslyckades att tolka srcinfo \\\"{}\\\"\"\n\n#: src/pkgbuild.rs:368\nmsgid \"Downloading PKGBUILD Repos...\"\nmsgstr \"Laddar ner PKGBUILD Förvar...\"\n\n#: src/pkgbuild.rs:422\nmsgid \"failed to parse srcinfo generated by makepkg\"\nmsgstr \"misslyckades med att analysera srcinfo genererad av makepkg\"\n\n#: src/query.rs:151\nmsgid \" [ignored]\"\nmsgstr \" [ignorerad]\"\n\n#: src/repo.rs:253\nmsgid \"failed to get current exe\"\nmsgstr \"misslyckades med att få nuvarande exe\"\n\n#: src/repo.rs:298\nmsgid \"syncing local databases...\"\nmsgstr \"synkroniserar locala databaser...\"\n\n#: src/repo.rs:304\nmsgid \"  nothing to do\"\nmsgstr \"  inget att göra\"\n\n#: src/repo.rs:335\nmsgid \"there is nothing to do\"\nmsgstr \"det finns inget att göra\"\n\n#: src/repo.rs:341\nmsgid \"Packages\"\nmsgstr \"Paket\"\n\n#: src/repo.rs:354\nmsgid \"Proceed with removal?\"\nmsgstr \"Fortsätt med borttagning?\"\n\n#: src/repo.rs:415\nmsgid \" [installed: {}]\"\nmsgstr \" [installerad: {}]\"\n\n#: src/repo.rs:417 src/sync.rs:144\nmsgid \" [installed]\"\nmsgstr \" [installerad]\"\n\n#: src/search.rs:41\nmsgid \"aur search failed\"\nmsgstr \"aur-sökning misslyckades\"\n\n#: src/search.rs:285 src/search.rs:338 src/search.rs:410\nmsgid \"[installed: {}]\"\nmsgstr \"[installerade: {}]\"\n\n#: src/search.rs:287 src/search.rs:340 src/search.rs:412\nmsgid \"[installed]\"\nmsgstr \"[installerad]\"\n\n#: src/search.rs:332\nmsgid \"[out-of-date: {}]\"\nmsgstr \"[utdaterad: {}]\"\n\n#: src/search.rs:347\nmsgid \"[orphaned]\"\nmsgstr \"[övergiven]\"\n\n#: src/search.rs:491\nmsgid \"no packages match search\"\nmsgstr \"inga paket motsvarar sökningen\"\n\n#: src/search.rs:529\nmsgid \"Packages to install (eg: 1 2 3, 1-3):\"\nmsgstr \"Paket att installera (t.ex. 1 2 3, 1-3)\"\n\n#: src/search.rs:531\nmsgid \"Select packages (eg: 1 2 3, 1-3):\"\nmsgstr \"Välj paket (t.ex.: 1 2 3, 1-3):\"\n\n#: src/stats.rs:90\nmsgid \"Total installed packages: {}\"\nmsgstr \"Totalt antal installerade paket: {}\"\n\n#: src/stats.rs:94\nmsgid \"Aur packages: {}\"\nmsgstr \"Aur-paket: {}\"\n\n#: src/stats.rs:98\nmsgid \"Repo packages: {}\"\nmsgstr \"Repo-paket: {}\"\n\n#: src/stats.rs:102\nmsgid \"Explicitly installed packages: {}\"\nmsgstr \"Explicit installerade paket: {}\"\n\n#: src/stats.rs:106\nmsgid \"Total Size occupied by packages: {}\"\nmsgstr \"Total Storlek upptaget av paket: {}\"\n\n#: src/stats.rs:113\nmsgid \"Ten biggest packages:\"\nmsgstr \"Tio största paket:\"\n\n#: src/upgrade.rs:126\nmsgid \"Looking for PKGBUILD upgrades...\"\nmsgstr \"Letar efter PKGBUILD-uppgraderingar...\"\n\n#: src/upgrade.rs:134\nmsgid \"Looking for AUR upgrades...\"\nmsgstr \"Letar efter AUR-uppgraderingar...\"\n\n#: src/upgrade.rs:165\nmsgid \"Looking for devel upgrades...\"\nmsgstr \"Letar efter devel-upgraderingar...\"\n\n#: src/upgrade.rs:193 src/upgrade.rs:206\nmsgid \"warning:\"\nmsgstr \"varning:\"\n\n#: src/upgrade.rs:195 src/upgrade.rs:208\nmsgid \"{pkg}: ignoring package upgrade ({old} => {new})\"\nmsgstr \"{pkg}: ignoerar paketuppgradering ({old} => {new})\"\n\n#: src/upgrade.rs:400\nmsgid \"Packages to exclude (eg: 1 2 3, 1-3):\"\nmsgstr \"Paket att exkludera (t.ex.: 1 2 3, 1-3)\"\n\n#: src/util.rs:121\nmsgid \"[Y/n]:\"\nmsgstr \"[J/n]:\"\n\n#: src/util.rs:123\nmsgid \"[y/N]:\"\nmsgstr \"[j/N]:\"\n\n#: src/util.rs:142\nmsgid \"y\"\nmsgstr \"j\"\n\n#: src/util.rs:142\nmsgid \"yes\"\nmsgstr \"ja\"\n\n#: src/util.rs:300\nmsgid \"Enter a number (default=1): \"\nmsgstr \"Mata in ett nummer (grundantagande=1): \"\n\n#: src/util.rs:317\nmsgid \"invalid number: {}\"\nmsgstr \"ogiltigt nummer: {}\"\n\n#: src/util.rs:327\nmsgid \"invalid value: {n} is not between 1 and {max}\"\nmsgstr \"ogiltigt värde: {n} är inte mellan 1 och {max}\"\n\n#: src/resolver.rs:83\nmsgid \"There are {} members in group\"\nmsgstr \"Det finns {} medlemmar i gruppen\"\n\n#: src/resolver.rs:108\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Enter a selection (default=all): \"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Mata in ett val (grundantagande=alla): \"\n\n#: src/lib.rs:206\nmsgid \"can not use chroot builds: devtools is not installed\"\nmsgstr \"kan inte använda chroot-byggen: devtools är inte installerat\"\n\n#: src/lib.rs:313\nmsgid \"no operation specified (use -h for help)\"\nmsgstr \"ingen operation specificerad (använd -h för hjälp)\"\n\n#~ msgid \"[Installed: {}]\"\n#~ msgstr \"[Installerat: {}]\"\n\n#~ msgid \"[Installed]\"\n#~ msgstr \"[Installerad]\"\n\n#~ msgid \"Aur ({})\"\n#~ msgstr \"Aur ({})\"\n\n#~ msgid \"Pkgbuilds ({})\"\n#~ msgstr \"Pkgbuilds ({})\"\n\n#~ msgid \"could not get current directory\"\n#~ msgstr \"kunde inte ta reda på aktuell katalog\"\n\n#~ msgid \"can not get repo packages: asp is not installed\"\n#~ msgstr \"kan inte få repo paket: asp är inte installerat\"\n\n#~ msgid \"Missing ABS packages \"\n#~ msgstr \"Saknar ABS paket \"\n\n#~ msgid \"does not contain PKGBUILD: skipping\"\n#~ msgstr \"innehåller ingen PKGBUILD-fil: hoppar över\"\n\n#~ msgid \"{} is not installed: can not get repo packages\"\n#~ msgstr \"{} är inte installerat: kan inte få repo-paket\"\n\n#~ msgid \"asp returned {}\"\n#~ msgstr \"asp returnerade {}\"\n\n#~ msgid \"    --asp       <file>     asp command to use\"\n#~ msgstr \"    --asp       <fil>     asp kommando att använda\"\n\n#~ msgid \"Generating .SRCINFO for {dir}...\"\n#~ msgstr \"Genererar .SRCINFO för {dir}...\"\n\n#~ msgid \"pkgbase {base} already exists in repo {repo} -- skipping)\"\n#~ msgstr \"pkgbase {base} finns redan i förvar {repo} -- hoppar över)\"\n\n#~ msgid \"upgrade specific options:\"\n#~ msgstr \"uppgraderings specifika alternativ:\"\n\n#~ msgid \"error: unknown section '{}'\"\n#~ msgstr \"fel: okänd sektion '{}'\"\n\n#~ msgid \"can't build package as root\"\n#~ msgstr \"kan inte bygga paket som root\"\n\n#~ msgid \"failed to build\"\n#~ msgstr \"misslyckades med att bygga\"\n\n#~ msgid \"parsing pkg list...\"\n#~ msgstr \"analyserar pkg lista...\"\n\n#~ msgid \"\"\n#~ \"{} is a directory\\n\"\n#~ \"\\n\"\n#~ msgstr \"\"\n#~ \"{} är en katalog\\n\"\n#~ \"\\n\"\n\n#~ msgid \"n\"\n#~ msgstr \"n\"\n\n#~ msgid \"no\"\n#~ msgstr \"nej\"\n"
  },
  {
    "path": "po/tr.po",
    "content": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE paru'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the paru package.\n# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: paru VERSION\\n\"\n\"Report-Msgid-Bugs-To: https://github.com/Morganamilo/paru\\n\"\n\"POT-Creation-Date: 2026-01-08 17:40+0000\\n\"\n\"PO-Revision-Date: 2021-06-29 16:09+0300\\n\"\n\"Last-Translator: Hüseyin Fahri Uzun <mail@fahriuzun.com>\\n\"\n\"Language-Team: \\n\"\n\"Language: tr\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Generator: Poedit 2.3\\n\"\n\n#: src/clean.rs:36\n#, fuzzy\nmsgid \"Do you want to clean ALL AUR packages from cache?\"\nmsgstr \"TÜM AUR paketlerini önbellekten silmek istiyor musun?\"\n\n#: src/clean.rs:38\n#, fuzzy\nmsgid \"Do you want to clean all other AUR packages from cache?\"\nmsgstr \"Tüm diğer AUR paketlerini önbellekten silmek istiyor musun?\"\n\n#: src/clean.rs:41\nmsgid \"Clone Directory: {}\"\nmsgstr \"Dizini Klonla: {}\"\n\n#: src/clean.rs:47\nmsgid \"\"\n\"\\n\"\n\"Diff Directory: {}\"\nmsgstr \"\"\n\"\\n\"\n\"Fark Dizini: {}\"\n\n#: src/clean.rs:49\nmsgid \"Do you want to remove all saved diffs?\"\nmsgstr \"Tüm kayıtlı farkları silmek istiyor musun?\"\n\n#: src/clean.rs:65\nmsgid \"can't open diff dir: {}\"\nmsgstr \"dizin farkı açılamıyor: {}\"\n\n#: src/clean.rs:76 src/clean.rs:180\nmsgid \"could not remove '{}'\"\nmsgstr \"'{}' silinemiyor\"\n\n#: src/clean.rs:95\nmsgid \"can't open clone dir: {}\"\nmsgstr \"klon dizini açılamıyor: {}\"\n\n#: src/clean.rs:141\n#, fuzzy\nmsgid \"could not parse .SRCINFO for '{}'\"\nmsgstr \"'{}' için .SRINFO bulunamadı\"\n\n#: src/command_line.rs:134\nmsgid \"option {} expects a value\"\nmsgstr \"{} seçeneği bir değer bekler\"\n\n#: src/command_line.rs:165 src/command_line.rs:382\nmsgid \"option {} does not allow a value\"\nmsgstr \"{} seçeneği bir değere izin vermez\"\n\n#: src/command_line.rs:373\nmsgid \"unknown option --{}\"\nmsgstr \"bilinmeyen seçenek --{}\"\n\n#: src/command_line.rs:376\nmsgid \"unknown option -{}\"\nmsgstr \"bilinmeyen seçenek -{}\"\n\n#: src/completion.rs:26 src/search.rs:179 src/sync.rs:113\n#, fuzzy\nmsgid \"failed to decode package list\"\nmsgstr \"kaynaklar indirilemedi\"\n\n#: src/completion.rs:35\nmsgid \"failed to open cache file '{}'\"\nmsgstr \"önbellek dosyasını açarken hata '{}'\"\n\n#: src/completion.rs:83\nmsgid \"could not update aur cache\"\nmsgstr \"aur önbelleği güncellenemedi\"\n\n#: src/config.rs:179\nmsgid \"invalid value '{val}' for key '{key}', expected: {exp}\"\nmsgstr \"'{key}' anahtarı için geçersiz değer '{val}', beklenen: {exp}\"\n\n#: src/config.rs:332\n#, fuzzy\nmsgid \"unknown mode {}\"\nmsgstr \"bilinmeyen seçenek -{}\"\n\n#: src/config.rs:564\nmsgid \"section can not be called {}\"\nmsgstr \"\"\n\n#: src/config.rs:581\nmsgid \"failed to find cache directory\"\nmsgstr \"önbellek dizini aranırken hata\"\n\n#: src/config.rs:584\nmsgid \"failed to find config directory\"\nmsgstr \"ayar dizini aranırken hata\"\n\n#: src/config.rs:588\n#, fuzzy\nmsgid \"failed to find state directory\"\nmsgstr \"önbellek dizini aranırken hata\"\n\n#: src/config.rs:635\nmsgid \"config file '{}' does not exist\"\nmsgstr \"ayar dosyası '{}' yok\"\n\n#: src/config.rs:684\nmsgid \"only one operation may be used at a time\"\nmsgstr \"aynı anda sadece bir operasyon kullanılabilinir\"\n\n#: src/config.rs:795\nmsgid \"no local repo named {}\"\nmsgstr \"\"\n\n#: src/config.rs:821\nmsgid \"can not find local repo '{}' in pacman.conf\"\nmsgstr \"pacman.conf içinde '{}' lokal deposu bulunamadı\"\n\n#: src/config.rs:866\nmsgid \"failed to initialize alpm: root={} dbpath={}\"\nmsgstr \"alpm başlatılamadı: root={} dbpath={}\"\n\n#: src/config.rs:941 src/config.rs:1102\nmsgid \"value can not be empty for key '{}'\"\nmsgstr \"'{}' anahtarı için değer boş olamaz\"\n\n#: src/config.rs:957\nmsgid \"key '{}' does not belong to a section\"\nmsgstr \"'{}' anahtarı bir bölüme ait değil\"\n\n#: src/config.rs:971 src/config.rs:988 src/config.rs:990 src/config.rs:1005\nmsgid \"key can not be empty\"\nmsgstr \"anahtar boş olamaz\"\n\n#: src/config.rs:981\n#, fuzzy\nmsgid \"error: unknown option '{}' in repo\"\nmsgstr \"hata: [bin] bölümünde bilinmeyen seçenek '{}'\"\n\n#: src/config.rs:991\nmsgid \"key can not contain null bytes\"\nmsgstr \"\"\n\n#: src/config.rs:994\nmsgid \"value can not contain null bytes\"\nmsgstr \"\"\n\n#: src/config.rs:1030\nmsgid \"error: unknown option '{}' in section [bin]\"\nmsgstr \"hata: [bin] bölümünde bilinmeyen seçenek '{}'\"\n\n#: src/config.rs:1150\nmsgid \"error: unknown option '{}' in section [options]\"\nmsgstr \"hata: [options] bölümünde bilinmeyen seçenek '{}'\"\n\n#: src/config.rs:1155\nmsgid \"option '{}' does not take a value\"\nmsgstr \"'{}' seçeneği bir değer almaz\"\n\n#: src/config.rs:1187 src/resolver.rs:136\nmsgid \"There are {n} providers available for {pkg}:\"\nmsgstr \"{pkg} için {n} adet sağlayıcı bulunmaktadır:\"\n\n#: src/config.rs:1201 src/info.rs:85 src/info.rs:190 src/info.rs:224\n#: src/resolver.rs:95 src/resolver.rs:144\nmsgid \"Repository\"\nmsgstr \"Depo\"\n\n#: src/config.rs:1227\nmsgid \"  failed to sync {}\"\nmsgstr \" {} senkron hatası\"\n\n#: src/devel.rs:136 src/download.rs:207\nmsgid \"Querying AUR...\"\nmsgstr \"AUR sorgulanıyor...\"\n\n#: src/devel.rs:157 src/devel.rs:181 src/install.rs:203\nmsgid \"failed to parse srcinfo for '{}'\"\nmsgstr \"'{}' için srcinfo çekilemedi\"\n\n#: src/devel.rs:201\nmsgid \"Looking for devel repos...\"\nmsgstr \"Devel depolarına bakılıyor...\"\n\n#: src/devel.rs:210\nmsgid \"failed to save devel info\"\nmsgstr \"devel bilgisi kayıt edilemedi\"\n\n#: src/devel.rs:218\n#, fuzzy\nmsgid \"failed to create state directory: {}\"\nmsgstr \"önbellek dizini aranırken hata\"\n\n#: src/devel.rs:233\n#, fuzzy\nmsgid \"failed to create temporary file: {}\"\nmsgstr \"dosya yöneticisi çalıştırılamadı: {}\"\n\n#: src/devel.rs:238\n#, fuzzy\nmsgid \"failed to write to temporary file: {}\"\nmsgstr \"dizin okunamadı: {}\"\n\n#: src/devel.rs:244\nmsgid \"failed to rename '{temp}' to '{devel_toml}\"\nmsgstr \"\"\n\n#: src/devel.rs:490\nmsgid \"package does not have an update\"\nmsgstr \"pakete ait güncelleme yok\"\n\n#: src/devel.rs:536\nmsgid \"failed to lookup: {}\"\nmsgstr \"bakılamadı: {}\"\n\n#: src/devel.rs:564\n#, fuzzy\nmsgid \"invalid toml: {}\"\nmsgstr \"geçersiz json : {}\"\n\n#: src/download.rs:100\nmsgid \"packages not in the AUR: \"\nmsgstr \"aur'da olmayan paketler: \"\n\n#: src/download.rs:111\nmsgid \"marked out of date: \"\nmsgstr \"tarihi geçmişler: \"\n\n#: src/download.rs:122\nmsgid \"orphans: \"\nmsgstr \"yetimler: \"\n\n#: src/download.rs:260\nmsgid \"downloading: {pkg}\"\nmsgstr \"indiliriliyor: {pkg}\"\n\n#: src/download.rs:279 src/download.rs:602 src/info.rs:55 src/info.rs:180\n#: src/query.rs:49\nmsgid \"package '{}' was not found\"\nmsgstr \"'{}' paketi bulunamadı\"\n\n#: src/download.rs:291\n#, fuzzy\nmsgid \"duplicate PKGBUILD: {}\"\nmsgstr \"Tekrar eden paketler: {}\"\n\n#: src/download.rs:307\nmsgid \"package '{}' exists but has no PKGBUILD -- skipping\"\nmsgstr \"\"\n\n#: src/download.rs:340\nmsgid \"Downloading PKGBUILDs...\"\nmsgstr \"PKGBUILD'ler İndiriliyor...\"\n\n#: src/download.rs:344\nmsgid \" PKGBUILDs up to date\"\nmsgstr \" PKGBUILD'ler güncel\"\n\n#: src/exec.rs:72\nmsgid \"failed to run:\"\nmsgstr \"çalıştırılamadı:\"\n\n#: src/exec.rs:174\nmsgid \"Pacman is currently in use, please wait...\"\nmsgstr \"Pacman şuan kullanılıyor, lütfen bekleyiniz...\"\n\n#: src/fmt.rs:24 src/info.rs:275 src/search.rs:293 src/search.rs:350\nmsgid \"None\"\nmsgstr \"Hiçbiri\"\n\n#: src/fmt.rs:245\nmsgid \"Repo\"\nmsgstr \"Depo\"\n\n#: src/fmt.rs:252\nmsgid \"Repo Make\"\nmsgstr \"Depo Make\"\n\n#: src/fmt.rs:272\nmsgid \"Pkgbuilds Make\"\nmsgstr \"\"\n\n#: src/fmt.rs:274\nmsgid \"Aur Make\"\nmsgstr \"Aur Make\"\n\n#: src/fmt.rs:319\n#, fuzzy\nmsgid \"Repo ({})\"\nmsgstr \"Depo\"\n\n#: src/fmt.rs:327\n#, fuzzy\nmsgid \"Old Version\"\nmsgstr \"Versiyon\"\n\n#: src/fmt.rs:328\n#, fuzzy\nmsgid \"New Version\"\nmsgstr \"Versiyon\"\n\n#: src/fmt.rs:329\nmsgid \"Make Only\"\nmsgstr \"\"\n\n#: src/fmt.rs:330\n#, fuzzy\nmsgid \"Yes\"\nmsgstr \"evet\"\n\n#: src/fmt.rs:331 src/info.rs:221\nmsgid \"No\"\nmsgstr \"Hayır\"\n\n#: src/fmt.rs:419\nmsgid \"insufficient columns available for table display\"\nmsgstr \"\"\n\n#: src/help.rs:4\nmsgid \"Usage:\"\nmsgstr \"\"\n\n#: src/help.rs:5\nmsgid \"    paru\"\nmsgstr \"\"\n\n#: src/help.rs:6\nmsgid \"    paru <operation> [...]\"\nmsgstr \"\"\n\n#: src/help.rs:7\nmsgid \"    paru <package(s)>\"\nmsgstr \"\"\n\n#: src/help.rs:9\nmsgid \"Pacman operations:\"\nmsgstr \"\"\n\n#: src/help.rs:10\nmsgid \"    paru {-h --help}\"\nmsgstr \"\"\n\n#: src/help.rs:11\nmsgid \"    paru {-V --version}\"\nmsgstr \"\"\n\n#: src/help.rs:12\nmsgid \"    paru {-D --database}    <options> <package(s)>\"\nmsgstr \"\"\n\n#: src/help.rs:13\nmsgid \"    paru {-F --files}       [options] [package(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:14\nmsgid \"    paru {-Q --query}       [options] [package(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:15\nmsgid \"    paru {-R --remove}      [options] <package(s)>\"\nmsgstr \"\"\n\n#: src/help.rs:16\nmsgid \"    paru {-S --sync}        [options] [package(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:17\nmsgid \"    paru {-T --deptest}     [options] [package(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:18\nmsgid \"    paru {-U --upgrade}     [options] [file(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:20\nmsgid \"New operations:\"\nmsgstr \"\"\n\n#: src/help.rs:21\nmsgid \"    paru {-P --show}        [options]\"\nmsgstr \"\"\n\n#: src/help.rs:22\nmsgid \"    paru {-G --getpkgbuild} [package(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:23\nmsgid \"    paru {-B --build}       [dir(s)]\"\nmsgstr \"\"\n\n#: src/help.rs:25\nmsgid \"If no arguments are provided 'paru -Syu' will be performed\"\nmsgstr \"\"\n\n#: src/help.rs:27\nmsgid \"Options without operation:\"\nmsgstr \"\"\n\n#: src/help.rs:28\nmsgid \"    -c --clean            Remove unneeded dependencies\"\nmsgstr \"\"\n\n#: src/help.rs:29\nmsgid \"\"\n\"       --gendb            Generates development package DB used for updating\"\nmsgstr \"\"\n\n#: src/help.rs:31\nmsgid \"New options:\"\nmsgstr \"\"\n\n#: src/help.rs:32\nmsgid \"       --repo              Assume targets are from the repositories\"\nmsgstr \"\"\n\n#: src/help.rs:33\nmsgid \"\"\n\"       --pkgbuilds         Assume targets are from pkgbuild repositories\"\nmsgstr \"\"\n\n#: src/help.rs:34\nmsgid \"    -a --aur               Assume targets are from the AUR\"\nmsgstr \"\"\n\n#: src/help.rs:35\nmsgid \"    --mode      <mode>     Sets where paru looks for targets\"\nmsgstr \"\"\n\n#: src/help.rs:37\nmsgid \"\"\n\"    --interactive          Enable interactive package selection for -S, -R, \"\n\"-Ss and -Qs\"\nmsgstr \"\"\n\n#: src/help.rs:39\nmsgid \"    --aururl    <url>      Set an alternative AUR URL\"\nmsgstr \"\"\n\n#: src/help.rs:40\nmsgid \"\"\n\"    --aurrpcur  <url>      Set an alternative URL for the AUR /rpc endpoint\"\nmsgstr \"\"\n\n#: src/help.rs:41\nmsgid \"    --clonedir  <dir>      Directory used to download and run PKGBUILDs\"\nmsgstr \"\"\n\n#: src/help.rs:43\nmsgid \"    --makepkg   <file>     makepkg command to use\"\nmsgstr \"\"\n\n#: src/help.rs:44\nmsgid \"    --mflags    <flags>    Pass arguments to makepkg\"\nmsgstr \"\"\n\n#: src/help.rs:45\nmsgid \"    --pacman    <file>     pacman command to use\"\nmsgstr \"\"\n\n#: src/help.rs:46\nmsgid \"    --git       <file>     git command to use\"\nmsgstr \"\"\n\n#: src/help.rs:47\nmsgid \"    --gitflags  <flags>    Pass arguments to git\"\nmsgstr \"\"\n\n#: src/help.rs:48\nmsgid \"    --sudo      <file>     sudo command to use\"\nmsgstr \"\"\n\n#: src/help.rs:49\nmsgid \"    --sudoflags <flags>    Pass arguments to sudo\"\nmsgstr \"\"\n\n#: src/help.rs:50\nmsgid \"    --pkgctl    <file>     pkgctl command to use\"\nmsgstr \"\"\n\n#: src/help.rs:51\nmsgid \"    --bat       <file>     bat command to use\"\nmsgstr \"\"\n\n#: src/help.rs:52\nmsgid \"    --batflags  <flags>    Pass arguments to bat\"\nmsgstr \"\"\n\n#: src/help.rs:53\nmsgid \"    --gpg       <file>     gpg command to use\"\nmsgstr \"\"\n\n#: src/help.rs:54\nmsgid \"    --gpgflags  <flags>    Pass arguments to gpg\"\nmsgstr \"\"\n\n#: src/help.rs:55\nmsgid \"    --fm        <file>     File manager to use for PKGBUILD review\"\nmsgstr \"\"\n\n#: src/help.rs:56\nmsgid \"    --fmflags   <flags>    Pass arguments to file manager\"\nmsgstr \"\"\n\n#: src/help.rs:58\nmsgid \"    --completioninterval   <n> Time in days to refresh completion cache\"\nmsgstr \"\"\n\n#: src/help.rs:59\nmsgid \"\"\n\"    --sortby    <field>    Sort AUR results by a specific field during search\"\nmsgstr \"\"\n\n#: src/help.rs:60\nmsgid \"    --searchby  <field>    Search for packages using a specified field\"\nmsgstr \"\"\n\n#: src/help.rs:61\nmsgid \"\"\n\"    --limit     <limit>    Limits the number of items returned in a search\"\nmsgstr \"\"\n\n#: src/help.rs:62\nmsgid \"    -x --regex             Enable regex for aur search\"\nmsgstr \"\"\n\n#: src/help.rs:64\nmsgid \"    --skipreview           Skip the review process\"\nmsgstr \"\"\n\n#: src/help.rs:65\nmsgid \"    --review               Don't skip the review process\"\nmsgstr \"\"\n\n#: src/help.rs:66\nmsgid \"    --[no]upgrademenu      Show interactive menu to skip upgrades\"\nmsgstr \"\"\n\n#: src/help.rs:67\n#, fuzzy\nmsgid \"    --[no]removemake       Remove makedepends after install\"\nmsgstr \"Yükleme sonrasında make gereksinimlerini sil?\"\n\n#: src/help.rs:68\nmsgid \"    --[no]cleanafter       Remove package sources after install\"\nmsgstr \"\"\n\n#: src/help.rs:69\nmsgid \"    --[no]rebuild          Always build target packages\"\nmsgstr \"\"\n\n#: src/help.rs:70\nmsgid \"    --[no]redownload       Always download PKGBUILDs of targets\"\nmsgstr \"\"\n\n#: src/help.rs:72\nmsgid \"    --[no]pgpfetch         Prompt to import PGP keys from PKGBUILDs\"\nmsgstr \"\"\n\n#: src/help.rs:73\nmsgid \"\"\n\"    --[no]useask           Automatically resolve conflicts using pacman's \"\n\"ask flag\"\nmsgstr \"\"\n\n#: src/help.rs:74\nmsgid \"\"\n\"    --[no]savechanges      Commit changes to pkgbuilds made during review\"\nmsgstr \"\"\n\n#: src/help.rs:75\nmsgid \"    --[no]newsonupgrade    Print new news during sysupgrade\"\nmsgstr \"\"\n\n#: src/help.rs:76\nmsgid \"\"\n\"    --[no]combinedupgrade  Refresh then perform the repo and AUR upgrade \"\n\"together\"\nmsgstr \"\"\n\n#: src/help.rs:77\nmsgid \"\"\n\"    --[no]batchinstall     Build multiple AUR packages then install them \"\n\"together\"\nmsgstr \"\"\n\n#: src/help.rs:78\nmsgid \"\"\n\"    --[no]provides         Look for matching providers when searching for \"\n\"packages\"\nmsgstr \"\"\n\n#: src/help.rs:79\nmsgid \"    --[no]devel            Check development packages during sysupgrade\"\nmsgstr \"\"\n\n#: src/help.rs:80\nmsgid \"\"\n\"    --[no]installdebug     Also install debug packages when a package \"\n\"provides them\"\nmsgstr \"\"\n\n#: src/help.rs:81\nmsgid \"\"\n\"    --[no]sudoloop         Loop sudo calls in the background to avoid timeout\"\nmsgstr \"\"\n\n#: src/help.rs:82\nmsgid \"    --[no]chroot           Build packages in a chroot\"\nmsgstr \"\"\n\n#: src/help.rs:83\nmsgid \"\"\n\"    --[no]failfast         Exit as soon as building an AUR package fails\"\nmsgstr \"\"\n\n#: src/help.rs:84\nmsgid \"\"\n\"    --[no]keepsrc          Keep src/ and pkg/ dirs after building packages\"\nmsgstr \"\"\n\n#: src/help.rs:85\nmsgid \"    --[no]sign             Sign packages with gpg\"\nmsgstr \"\"\n\n#: src/help.rs:86\nmsgid \"    --[no]signdb           Sign databases with gpg\"\nmsgstr \"\"\n\n#: src/help.rs:87\nmsgid \"    --[no]localrepo        Build packages into a local repo\"\nmsgstr \"\"\n\n#: src/help.rs:88\nmsgid \"\"\n\"    --nocheck              Don't resolve checkdepends or run the check \"\n\"function\"\nmsgstr \"\"\n\n#: src/help.rs:90\nmsgid \"\"\n\"    --rootchrootpkgs       Packages to install in the root chroot (default: \"\n\"base-devel)\"\nmsgstr \"\"\n\n#: src/help.rs:92\nmsgid \"\"\n\"    --develsuffixes        Suffixes used to decide if a package is a devel \"\n\"package\"\nmsgstr \"\"\n\n#: src/help.rs:93\nmsgid \"    --ignoredevel          Ignore devel upgrades for specified packages\"\nmsgstr \"\"\n\n#: src/help.rs:94\nmsgid \"\"\n\"    --bottomup             Shows AUR's packages first and then repository's\"\nmsgstr \"\"\n\n#: src/help.rs:95\nmsgid \"\"\n\"    --topdown              Shows repository's packages first and then AUR's\"\nmsgstr \"\"\n\n#: src/help.rs:97\nmsgid \"show specific options:\"\nmsgstr \"\"\n\n#: src/help.rs:98\nmsgid \"    -c --complete         Used for completions\"\nmsgstr \"\"\n\n#: src/help.rs:99\nmsgid \"    -s --stats            Display system package statistics\"\nmsgstr \"\"\n\n#: src/help.rs:100\nmsgid \"    -w --news             Print arch news\"\nmsgstr \"\"\n\n#: src/help.rs:102\nmsgid \"getpkgbuild specific options:\"\nmsgstr \"\"\n\n#: src/help.rs:103\nmsgid \"    -p --print            Print pkgbuild to stdout\"\nmsgstr \"\"\n\n#: src/help.rs:104\nmsgid \"    -c --comments         Print AUR comments for pkgbuild\"\nmsgstr \"\"\n\n#: src/help.rs:105\nmsgid \"    -s --ssh              Clone package using SSH\"\nmsgstr \"\"\n\n#: src/help.rs:107\nmsgid \"Build specific options:\"\nmsgstr \"\"\n\n#: src/help.rs:108\nmsgid \"    -i --install          Install package as well as building\"\nmsgstr \"\"\n\n#: src/info.rs:86 src/info.rs:191 src/info.rs:225\nmsgid \"Name\"\nmsgstr \"İsim\"\n\n#: src/info.rs:87 src/info.rs:192 src/info.rs:226\nmsgid \"Version\"\nmsgstr \"Versiyon\"\n\n#: src/info.rs:88 src/info.rs:193 src/info.rs:227\nmsgid \"Description\"\nmsgstr \"Açıklama\"\n\n#: src/info.rs:89 src/info.rs:195 src/info.rs:235\nmsgid \"Groups\"\nmsgstr \"Gruplar\"\n\n#: src/info.rs:90 src/info.rs:196 src/info.rs:236\nmsgid \"Licenses\"\nmsgstr \"Lisanslar\"\n\n#: src/info.rs:91 src/info.rs:197 src/info.rs:237\nmsgid \"Provides\"\nmsgstr \"Sağladıkları\"\n\n#: src/info.rs:92 src/info.rs:198 src/info.rs:238\nmsgid \"Depends On\"\nmsgstr \"Gereksinimleri\"\n\n#: src/info.rs:93 src/info.rs:199 src/info.rs:239\nmsgid \"Make Deps\"\nmsgstr \"Make Gereksinimleri\"\n\n#: src/info.rs:94 src/info.rs:200 src/info.rs:240\nmsgid \"Check Deps\"\nmsgstr \"Kontrol Gereksinimleri\"\n\n#: src/info.rs:95 src/info.rs:201 src/info.rs:241\nmsgid \"Optional Deps\"\nmsgstr \"Opsiyonel Gereksinimler\"\n\n#: src/info.rs:96 src/info.rs:202 src/info.rs:242\nmsgid \"Conflicts With\"\nmsgstr \"Çakıştıkları\"\n\n#: src/info.rs:97 src/info.rs:243\nmsgid \"Maintainer\"\nmsgstr \"Bakıcı\"\n\n#: src/info.rs:98 src/info.rs:244\nmsgid \"Votes\"\nmsgstr \"Oylar\"\n\n#: src/info.rs:99 src/info.rs:245\nmsgid \"Popularity\"\nmsgstr \"Popülarite\"\n\n#: src/info.rs:100 src/info.rs:246\nmsgid \"First Submitted\"\nmsgstr \"İlk Gönderim\"\n\n#: src/info.rs:101 src/info.rs:247\nmsgid \"Last Modified\"\nmsgstr \"Son Değişiklik\"\n\n#: src/info.rs:102 src/info.rs:249\nmsgid \"Out Of Date\"\nmsgstr \"Tarihi Geçmiş\"\n\n#: src/info.rs:103 src/info.rs:254\nmsgid \"ID\"\nmsgstr \"ID\"\n\n#: src/info.rs:104 src/info.rs:255\nmsgid \"Package Base ID\"\nmsgstr \"Baz Paket ID\"\n\n#: src/info.rs:105 src/info.rs:256\nmsgid \"Keywords\"\nmsgstr \"Anahtar Kelimeler\"\n\n#: src/info.rs:106 src/info.rs:258\nmsgid \"Snapshot URL\"\nmsgstr \"Snapshot URL\"\n\n#: src/info.rs:107 src/info.rs:203\nmsgid \"Path\"\nmsgstr \"\"\n\n#: src/install.rs:166 src/query.rs:48 src/lib.rs:101\nmsgid \"error:\"\nmsgstr \"hata:\"\n\n#: src/install.rs:167\nmsgid \"could not get news\"\nmsgstr \"haberler çekilemedi\"\n\n#: src/install.rs:172 src/install.rs:1127\nmsgid \"Proceed with installation?\"\nmsgstr \"Yüklemeye devam et?\"\n\n#: src/install.rs:207\n#, fuzzy\nmsgid \"could not find .SRCINFO for '{}'\"\nmsgstr \"'{}' için .SRINFO bulunamadı\"\n\n#: src/install.rs:353\nmsgid \"could not find package '{pkg}' in package list for '{base}'\"\nmsgstr \"'{pkg}' paket '{base}' paket listesinde bulunamadı\"\n\n#: src/install.rs:451\nmsgid \"packages failed to build: {}\"\nmsgstr \"oluşumu hata veren paketler: {}\"\n\n#: src/install.rs:523\nmsgid \"adding {} to the install list\"\nmsgstr \"{} yükleme listesine ekleniyor\"\n\n#: src/install.rs:553 src/install.rs:568\nmsgid \"failed to download sources for '{}'\"\nmsgstr \"'{}' için kaynak indirilemedi\"\n\n#: src/install.rs:577 src/install.rs:603 src/install.rs:611\nmsgid \"failed to build '{}'\"\nmsgstr \"'{}' oluşturulamadı\"\n\n#: src/install.rs:580 src/install.rs:784\nmsgid \"{}: parsing pkg list...\"\nmsgstr \"{}: pkg listesi çekiliyor...\"\n\n#: src/install.rs:584\n#, fuzzy\nmsgid \"package list does not match srcinfo\"\nmsgstr \"arama ile eşleşen paket yok\"\n\n#: src/install.rs:618\nmsgid \"{}-{} is up to date -- skipping build\"\nmsgstr \"{}-{} güncel -- oluşturma es geçiliyor\"\n\n#: src/install.rs:775\nmsgid \"can't build {base}, deps not satisfied: {deps}\"\nmsgstr \"\"\n\n#: src/install.rs:846\nmsgid \"fetching devel info...\"\nmsgstr \"devel bilgisi çekiliyor...\"\n\n#: src/install.rs:911 src/lib.rs:240\nmsgid \"no targets specified (use -h for help)\"\nmsgstr \"hedef belirtilmedi (-h kullanarak yardıma ulaşın)\"\n\n#: src/install.rs:1008 src/install.rs:1097 src/search.rs:450 src/search.rs:476\n#: src/lib.rs:304\nmsgid \" there is nothing to do\"\nmsgstr \" yapılacak hiçbir şey yok\"\n\n#: src/install.rs:1016\nmsgid \"Resolving dependencies...\"\nmsgstr \"Gereksinimler çözülüyor...\"\n\n#: src/install.rs:1077\nmsgid \"can't install AUR package as root\"\nmsgstr \"root olarak AUR paketi yüklenemez\"\n\n#: src/install.rs:1080\nmsgid \"--downloadonly can't be used for AUR packages\"\nmsgstr \"\"\n\n#: src/install.rs:1113\nmsgid \"Remove make dependencies after install?\"\nmsgstr \"Yükleme sonrasında make gereksinimlerini sil?\"\n\n#: src/install.rs:1124\nmsgid \"Proceed to review?\"\nmsgstr \"İncelemeye geç?\"\n\n#: src/install.rs:1177\nmsgid \"no architecture\"\nmsgstr \"mimari yok\"\n\n#: src/install.rs:1191\nmsgid \"The following packages are not compatible with your architecture:\"\nmsgstr \"Gösterilen paketler mimariniz ile uyumlu değildir:\"\n\n#: src/install.rs:1205\nmsgid \"Would you like to try build them anyway?\"\nmsgstr \"Yine de oluşturmayı denemek ister misiniz?\"\n\n#: src/install.rs:1349\nmsgid \"duplicate packages: {}\"\nmsgstr \"Tekrar eden paketler: {}\"\n\n#: src/install.rs:1353\nmsgid \"could not find all required packages:\"\nmsgstr \"tüm gerekli paketler bulunamadı:\"\n\n#: src/install.rs:1365\nmsgid \"\"\n\"\\n\"\n\"    {missing} (wanted by: {stack})\"\nmsgstr \"\"\n\"\\n\"\n\"  {missing} ({stack}: tarafından arandı)\"\n\n#: src/install.rs:1379 src/install.rs:2122\nmsgid \"{}-{} is up to date -- skipping\"\nmsgstr \"{}-{} güncel -- es geçiliyor\"\n\n#: src/install.rs:1387\nmsgid \"Calculating conflicts...\"\nmsgstr \"Çakışmalar hesaplanıyor...\"\n\n#: src/install.rs:1410\nmsgid \"Calculating inner conflicts...\"\nmsgstr \"İç çakışmalar hesaplanıyor...\"\n\n#: src/install.rs:1422\nmsgid \"Inner conflicts found:\"\nmsgstr \"İç çakışmalar bulundu:\"\n\n#: src/install.rs:1444\nmsgid \"Conflicts found:\"\nmsgstr \"Çakışmalar bulundu:\"\n\n#: src/install.rs:1467\nmsgid \"Conflicting packages will have to be confirmed manually\"\nmsgstr \"Çakışan paketler manuel olarak onaylanmalıdır\"\n\n#: src/install.rs:1471\nmsgid \"can not install conflicting packages with --noconfirm\"\nmsgstr \"--noconfirm ile çakışan paketler yüklenemez\"\n\n#: src/install.rs:1599\nmsgid \"failed to execute file manager: {}\"\nmsgstr \"dosya yöneticisi çalıştırılamadı: {}\"\n\n#: src/install.rs:1602\n#, fuzzy\nmsgid \"file manager '{}' did not execute successfully\"\nmsgstr \"dosya yöneticisi başarılı bir şekilde çalışmadı\"\n\n#: src/install.rs:1620\nmsgid \"failed to read dir: {}\"\nmsgstr \"dizin okunamadı: {}\"\n\n#: src/install.rs:1677\nmsgid \"failed to open: {}\"\nmsgstr \"açılamadı: {}\"\n\n#: src/install.rs:1697\nmsgid \"binary file: {}\"\nmsgstr \"ikili dosya: {}\"\n\n#: src/install.rs:1719 src/install.rs:1790\nmsgid \"Accept changes?\"\nmsgstr \"\"\n\n#: src/install.rs:1759\nmsgid \"Paging with less. Press 'q' to quit or 'h' for help.\"\nmsgstr \"\"\n\n#: src/install.rs:1794\nmsgid \" nothing new to review\"\nmsgstr \" inceleme için yeni bir şey yok\"\n\n#: src/install.rs:2070\nmsgid \"can't find package name in packagelist: {}\"\nmsgstr \"paket ismi paket listesinde bulunamadı: {}\"\n\n#: src/install.rs:2142\nmsgid \"Signing packages...\"\nmsgstr \"Paketler imzalanıyor...\"\n\n#: src/install.rs:2172\nmsgid \"{}-{} is up to date -- skipping install\"\nmsgstr \"{}-{} güncel -- yükleme es geçiliyor\"\n\n#: src/keys.rs:57\nmsgid \"keys need to be imported:\"\nmsgstr \"anahtar içe aktarılmalıdır:\"\n\n#: src/keys.rs:62\nmsgid \"     {key} wanted by: {base}\"\nmsgstr \"    {key}: {base} tarafından istendi\"\n\n#: src/news.rs:57\nmsgid \"No Date \"\nmsgstr \"Tarih Yok \"\n\n#: src/news.rs:60\nmsgid \"No Title\"\nmsgstr \"Başlık Yok\"\n\n#: src/news.rs:69\nmsgid \"no new news\"\nmsgstr \"yeni haber yok\"\n\n#: src/pkgbuild.rs:91\n#, fuzzy\nmsgid \"repo {} does not have a URL or Path\"\nmsgstr \"'{}' seçeneği bir değer almaz\"\n\n#: src/pkgbuild.rs:153\nmsgid \"repo {} not downloaded (use -Sy --pkgbuilds to download)\"\nmsgstr \"\"\n\n#: src/pkgbuild.rs:200\nmsgid \"Generating .SRCINFO for {repo}/{dir}...\"\nmsgstr \"\"\n\n#: src/pkgbuild.rs:278\n#, fuzzy\nmsgid \"failed to parse srcinfo \\\"{}\\\"\"\nmsgstr \"'{}' için srcinfo çekilemedi\"\n\n#: src/pkgbuild.rs:368\n#, fuzzy\nmsgid \"Downloading PKGBUILD Repos...\"\nmsgstr \"PKGBUILD'ler İndiriliyor...\"\n\n#: src/pkgbuild.rs:422\nmsgid \"failed to parse srcinfo generated by makepkg\"\nmsgstr \"makepkg tarafından oluşturulmuş srcinfo çekilemedi\"\n\n#: src/query.rs:151\nmsgid \" [ignored]\"\nmsgstr \" [göz ardı edildi]\"\n\n#: src/repo.rs:253\nmsgid \"failed to get current exe\"\nmsgstr \"mevcut exe çekilemedi\"\n\n#: src/repo.rs:298\nmsgid \"syncing local databases...\"\nmsgstr \"lokal veritabanları senkronize ediliyor...\"\n\n#: src/repo.rs:304\nmsgid \"  nothing to do\"\nmsgstr \" yapılacak hiçbir şey yok\"\n\n#: src/repo.rs:335\n#, fuzzy\nmsgid \"there is nothing to do\"\nmsgstr \" yapılacak hiçbir şey yok\"\n\n#: src/repo.rs:341\n#, fuzzy\nmsgid \"Packages\"\nmsgstr \"Baz Paket ID\"\n\n#: src/repo.rs:354\n#, fuzzy\nmsgid \"Proceed with removal?\"\nmsgstr \"İncelemeye geç?\"\n\n#: src/repo.rs:415\nmsgid \" [installed: {}]\"\nmsgstr \" [yüklü: {}]\"\n\n#: src/repo.rs:417 src/sync.rs:144\nmsgid \" [installed]\"\nmsgstr \" [yüklü]\"\n\n#: src/search.rs:41\nmsgid \"aur search failed\"\nmsgstr \"aur araması başarısız\"\n\n#: src/search.rs:285 src/search.rs:338 src/search.rs:410\n#, fuzzy\nmsgid \"[installed: {}]\"\nmsgstr \" [yüklü: {}]\"\n\n#: src/search.rs:287 src/search.rs:340 src/search.rs:412\n#, fuzzy\nmsgid \"[installed]\"\nmsgstr \" [yüklü]\"\n\n#: src/search.rs:332\n#, fuzzy\nmsgid \"[out-of-date: {}]\"\nmsgstr \"[Tarihi-geçmiş: {}]\"\n\n#: src/search.rs:347\n#, fuzzy\nmsgid \"[orphaned]\"\nmsgstr \"[Yetim]\"\n\n#: src/search.rs:491\nmsgid \"no packages match search\"\nmsgstr \"arama ile eşleşen paket yok\"\n\n#: src/search.rs:529\nmsgid \"Packages to install (eg: 1 2 3, 1-3):\"\nmsgstr \"Yüklenecek paketler (örn: 1 2 3, 1-3):\"\n\n#: src/search.rs:531\n#, fuzzy\nmsgid \"Select packages (eg: 1 2 3, 1-3):\"\nmsgstr \"Yüklenecek paketler (örn: 1 2 3, 1-3):\"\n\n#: src/stats.rs:90\nmsgid \"Total installed packages: {}\"\nmsgstr \"Toplam yüklenen paketler: {}\"\n\n#: src/stats.rs:94\nmsgid \"Aur packages: {}\"\nmsgstr \"Aur paketleri: {}\"\n\n#: src/stats.rs:98\nmsgid \"Repo packages: {}\"\nmsgstr \"Depo paketleri: {}\"\n\n#: src/stats.rs:102\nmsgid \"Explicitly installed packages: {}\"\nmsgstr \"Açıkça yüklenen paketler: {}\"\n\n#: src/stats.rs:106\nmsgid \"Total Size occupied by packages: {}\"\nmsgstr \"Paketler tarafından işgal edilen Toplam Alan: {}\"\n\n#: src/stats.rs:113\nmsgid \"Ten biggest packages:\"\nmsgstr \"En büyük on paket:\"\n\n#: src/upgrade.rs:126\n#, fuzzy\nmsgid \"Looking for PKGBUILD upgrades...\"\nmsgstr \"AUR yükseltmelerine bakılıyor\"\n\n#: src/upgrade.rs:134\n#, fuzzy\nmsgid \"Looking for AUR upgrades...\"\nmsgstr \"AUR yükseltmelerine bakılıyor\"\n\n#: src/upgrade.rs:165\n#, fuzzy\nmsgid \"Looking for devel upgrades...\"\nmsgstr \"Devel yükseltmelerine bakılıyor\"\n\n#: src/upgrade.rs:193 src/upgrade.rs:206\nmsgid \"warning:\"\nmsgstr \"uyarı:\"\n\n#: src/upgrade.rs:195 src/upgrade.rs:208\nmsgid \"{pkg}: ignoring package upgrade ({old} => {new})\"\nmsgstr \"{pkg} paket yükseltmesini göz ardı ediyor ({old} => {new})\"\n\n#: src/upgrade.rs:400\nmsgid \"Packages to exclude (eg: 1 2 3, 1-3):\"\nmsgstr \"Hariç tutulacak paketler (örn: 1 2 3, 1-3):\"\n\n#: src/util.rs:121\nmsgid \"[Y/n]:\"\nmsgstr \"[E/h]:\"\n\n#: src/util.rs:123\nmsgid \"[y/N]:\"\nmsgstr \"[e/H]:\"\n\n#: src/util.rs:142\nmsgid \"y\"\nmsgstr \"e\"\n\n#: src/util.rs:142\nmsgid \"yes\"\nmsgstr \"evet\"\n\n#: src/util.rs:300\nmsgid \"Enter a number (default=1): \"\nmsgstr \"Bir numara girin (varsayılan=1): \"\n\n#: src/util.rs:317\nmsgid \"invalid number: {}\"\nmsgstr \"geçersiz numara: {}\"\n\n#: src/util.rs:327\nmsgid \"invalid value: {n} is not between 1 and {max}\"\nmsgstr \"geçersiz değer: {n} 1 ile {max} arasında değil\"\n\n#: src/resolver.rs:83\nmsgid \"There are {} members in group\"\nmsgstr \"Grupta {} adet üye var\"\n\n#: src/resolver.rs:108\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Enter a selection (default=all): \"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Bir seçim girin (varsayılan=hepsi): \"\n\n#: src/lib.rs:206\nmsgid \"can not use chroot builds: devtools is not installed\"\nmsgstr \"chroot oluşumları kullanılamaz: devtools yüklü değil\"\n\n#: src/lib.rs:313\n#, fuzzy\nmsgid \"no operation specified (use -h for help)\"\nmsgstr \"hedef belirtilmedi (-h kullanarak yardıma ulaşın)\"\n\n#~ msgid \"[Installed: {}]\"\n#~ msgstr \"[Yüklü: {}]\"\n\n#~ msgid \"[Installed]\"\n#~ msgstr \"[Yüklü]\"\n\n#~ msgid \"could not get current directory\"\n#~ msgstr \"geçerli dizin alınamadı\"\n\n#~ msgid \"can not get repo packages: asp is not installed\"\n#~ msgstr \"depo paketleri alınamadı: asp yüklü değil\"\n\n#~ msgid \"Missing ABS packages \"\n#~ msgstr \"Eksik ABS paketleri \"\n\n#~ msgid \"does not contain PKGBUILD: skipping\"\n#~ msgstr \"pkgbuild içermiyor: es geçiliyor\"\n\n#~ msgid \"{} is not installed: can not get repo packages\"\n#~ msgstr \"{} yüklü değil: depo paketleri alınamadı\"\n\n#~ msgid \"asp returned {}\"\n#~ msgstr \"asp cevabı {}\"\n\n#, fuzzy\n#~ msgid \"Generating .SRCINFO for {dir}...\"\n#~ msgstr \"'{}' için .SRINFO bulunamadı\"\n\n#, fuzzy\n#~ msgid \"error: unknown section '{}'\"\n#~ msgstr \"bilinmeyen bölüm '{}'\"\n\n#~ msgid \"can't build package as root\"\n#~ msgstr \"root olarak paket oluşturulamadı\"\n\n#~ msgid \"failed to build\"\n#~ msgstr \"oluşturulamadı\"\n\n#~ msgid \"parsing pkg list...\"\n#~ msgstr \"pkg listesi çekiliyor...\"\n\n#~ msgid \"\"\n#~ \"{} is a directory\\n\"\n#~ \"\\n\"\n#~ msgstr \"\"\n#~ \"{} bir dizindir\\n\"\n#~ \"\\n\"\n\n#~ msgid \"n\"\n#~ msgstr \"h\"\n\n#~ msgid \"no\"\n#~ msgstr \"hayır\"\n"
  },
  {
    "path": "po/uk.po",
    "content": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE paru'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the paru package.\n# Serhii Starovoitov <drommer.94@gmail.com>, 2025.\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: paru  2.0.3\\n\"\n\"Report-Msgid-Bugs-To: https://github.com/Morganamilo/paru\\n\"\n\"POT-Creation-Date: 2026-01-08 17:40+0000\\n\"\n\"PO-Revision-Date: 2025-12-30 08:07+0200\\n\"\n\"Last-Translator: Nazarii Balanda <balaraz@tuta.io>\\n\"\n\"Language-Team: Ukrainian <uk@li.org>\\n\"\n\"Language: uk\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Generator: Poedit 3.8\\n\"\n\n#: src/clean.rs:36\nmsgid \"Do you want to clean ALL AUR packages from cache?\"\nmsgstr \"Хочете видалити з кешу ВСІ пакунки з AUR?\"\n\n#: src/clean.rs:38\nmsgid \"Do you want to clean all other AUR packages from cache?\"\nmsgstr \"Хочете видалити з кешу всі інші пакунки з AUR?\"\n\n#: src/clean.rs:41\nmsgid \"Clone Directory: {}\"\nmsgstr \"Каталог для клонування: {}\"\n\n#: src/clean.rs:47\nmsgid \"\"\n\"\\n\"\n\"Diff Directory: {}\"\nmsgstr \"\"\n\"\\n\"\n\"Каталог для відмінностей: {}\"\n\n#: src/clean.rs:49\nmsgid \"Do you want to remove all saved diffs?\"\nmsgstr \"Хочете видалити всі збережені відмінності?\"\n\n#: src/clean.rs:65\nmsgid \"can't open diff dir: {}\"\nmsgstr \"не вдалося відкрити каталог з відмінностями: {}\"\n\n#: src/clean.rs:76 src/clean.rs:180\nmsgid \"could not remove '{}'\"\nmsgstr \"не вдалося видалити '{}'\"\n\n#: src/clean.rs:95\nmsgid \"can't open clone dir: {}\"\nmsgstr \"не вдалося відкрити каталог для клонування: {}\"\n\n#: src/clean.rs:141\nmsgid \"could not parse .SRCINFO for '{}'\"\nmsgstr \"не вдалося розібрати .SRCINFO для '{}'\"\n\n#: src/command_line.rs:134\nmsgid \"option {} expects a value\"\nmsgstr \"опція {} очікує на значення\"\n\n#: src/command_line.rs:165 src/command_line.rs:382\nmsgid \"option {} does not allow a value\"\nmsgstr \"опція {} не потребує значення\"\n\n#: src/command_line.rs:373\nmsgid \"unknown option --{}\"\nmsgstr \"невідома опція --{}\"\n\n#: src/command_line.rs:376\nmsgid \"unknown option -{}\"\nmsgstr \"невідома опція --{}\"\n\n#: src/completion.rs:26 src/search.rs:179 src/sync.rs:113\n#, fuzzy\nmsgid \"failed to decode package list\"\nmsgstr \"не вдалося відкрити файл кешу '{}'\"\n\n#: src/completion.rs:35\nmsgid \"failed to open cache file '{}'\"\nmsgstr \"не вдалося відкрити файл кешу '{}'\"\n\n#: src/completion.rs:83\nmsgid \"could not update aur cache\"\nmsgstr \"не вдалося оновити кеш AUR\"\n\n#: src/config.rs:179\nmsgid \"invalid value '{val}' for key '{key}', expected: {exp}\"\nmsgstr \"недійсне значення '{val}' для ключа '{key}', очікується: {exp}\"\n\n#: src/config.rs:332\nmsgid \"unknown mode {}\"\nmsgstr \"невідомий режим {}\"\n\n#: src/config.rs:564\nmsgid \"section can not be called {}\"\nmsgstr \"розділ не може бути викликано {}\"\n\n#: src/config.rs:581\nmsgid \"failed to find cache directory\"\nmsgstr \"каталог кешу не знайдено\"\n\n#: src/config.rs:584\nmsgid \"failed to find config directory\"\nmsgstr \"каталог налаштувань не знайдено\"\n\n#: src/config.rs:588\nmsgid \"failed to find state directory\"\nmsgstr \"каталог стану не знайдено\"\n\n#: src/config.rs:635\nmsgid \"config file '{}' does not exist\"\nmsgstr \"не існує файлу конфігурації '{}'\"\n\n#: src/config.rs:684\nmsgid \"only one operation may be used at a time\"\nmsgstr \"одночасно можна виконувати тільки одну операцію\"\n\n#: src/config.rs:795\nmsgid \"no local repo named {}\"\nmsgstr \"немає локального репозитарію із назвою {}\"\n\n#: src/config.rs:821\nmsgid \"can not find local repo '{}' in pacman.conf\"\nmsgstr \"локальне сховище '{}' не знайдено у pacman.conf\"\n\n#: src/config.rs:866\nmsgid \"failed to initialize alpm: root={} dbpath={}\"\nmsgstr \"не вдалося ініціалізувати alpm: root={} dbpath={}\"\n\n#: src/config.rs:941 src/config.rs:1102\nmsgid \"value can not be empty for key '{}'\"\nmsgstr \"значення для ключа '{}' не може бути порожнім\"\n\n#: src/config.rs:957\nmsgid \"key '{}' does not belong to a section\"\nmsgstr \"ключ '{}' не належить до розділу\"\n\n#: src/config.rs:971 src/config.rs:988 src/config.rs:990 src/config.rs:1005\nmsgid \"key can not be empty\"\nmsgstr \"ключ не може бути порожнім\"\n\n#: src/config.rs:981\nmsgid \"error: unknown option '{}' in repo\"\nmsgstr \"помилка: невідома опція '{}' у репозиторії\"\n\n#: src/config.rs:991\nmsgid \"key can not contain null bytes\"\nmsgstr \"ключ не може містити нульових байтів\"\n\n#: src/config.rs:994\nmsgid \"value can not contain null bytes\"\nmsgstr \"значення не може містити нульових байтів\"\n\n#: src/config.rs:1030\nmsgid \"error: unknown option '{}' in section [bin]\"\nmsgstr \"помилка: невідома опція '{}' у розділі [bin]\"\n\n#: src/config.rs:1150\nmsgid \"error: unknown option '{}' in section [options]\"\nmsgstr \"помилка: невідома опція '{}' у розділі [options]\"\n\n#: src/config.rs:1155\nmsgid \"option '{}' does not take a value\"\nmsgstr \"опція '{}' не приймає значення\"\n\n#: src/config.rs:1187 src/resolver.rs:136\nmsgid \"There are {n} providers available for {pkg}:\"\nmsgstr \"Для {pkg} знайдено {n} постачальників:\"\n\n#: src/config.rs:1201 src/info.rs:85 src/info.rs:190 src/info.rs:224\n#: src/resolver.rs:95 src/resolver.rs:144\nmsgid \"Repository\"\nmsgstr \"Репозиторій\"\n\n#: src/config.rs:1227\nmsgid \"  failed to sync {}\"\nmsgstr \"  не вдалося синхронізувати {}\"\n\n#: src/devel.rs:136 src/download.rs:207\nmsgid \"Querying AUR...\"\nmsgstr \"Запит до AUR...\"\n\n#: src/devel.rs:157 src/devel.rs:181 src/install.rs:203\nmsgid \"failed to parse srcinfo for '{}'\"\nmsgstr \"не вдалося розібрати srcinfo для '{}'\"\n\n#: src/devel.rs:201\nmsgid \"Looking for devel repos...\"\nmsgstr \"Шукаємо репозиторії розробки...\"\n\n#: src/devel.rs:210\nmsgid \"failed to save devel info\"\nmsgstr \"не вдалося зберегти інформацію розробки\"\n\n#: src/devel.rs:218\nmsgid \"failed to create state directory: {}\"\nmsgstr \"не вдалося створити каталог стану: {}\"\n\n#: src/devel.rs:233\nmsgid \"failed to create temporary file: {}\"\nmsgstr \"не вдалося створити тимчасовий файл: {}\"\n\n#: src/devel.rs:238\nmsgid \"failed to write to temporary file: {}\"\nmsgstr \"не вдалося записати до тимчасового файлу: {}\"\n\n#: src/devel.rs:244\nmsgid \"failed to rename '{temp}' to '{devel_toml}\"\nmsgstr \"не вдалося перейменувати '{temp}' на '{devel_toml}'.\"\n\n#: src/devel.rs:490\nmsgid \"package does not have an update\"\nmsgstr \"немає оновлення для пакунка\"\n\n#: src/devel.rs:536\nmsgid \"failed to lookup: {}\"\nmsgstr \"не вдалося знайти: {}\"\n\n#: src/devel.rs:564\nmsgid \"invalid toml: {}\"\nmsgstr \"недійсний toml: {}\"\n\n#: src/download.rs:100\nmsgid \"packages not in the AUR: \"\nmsgstr \"пакунки, яких немає в AUR: \"\n\n#: src/download.rs:111\nmsgid \"marked out of date: \"\nmsgstr \"позначені як застарілі: \"\n\n#: src/download.rs:122\nmsgid \"orphans: \"\nmsgstr \"сироти: \"\n\n#: src/download.rs:260\nmsgid \"downloading: {pkg}\"\nmsgstr \"завантаження: {pkg}\"\n\n#: src/download.rs:279 src/download.rs:602 src/info.rs:55 src/info.rs:180\n#: src/query.rs:49\nmsgid \"package '{}' was not found\"\nmsgstr \"пакунок '{}' не знайдено\"\n\n#: src/download.rs:291\n#, fuzzy\nmsgid \"duplicate PKGBUILD: {}\"\nmsgstr \"дублювання пакунків: {}\"\n\n#: src/download.rs:307\nmsgid \"package '{}' exists but has no PKGBUILD -- skipping\"\nmsgstr \"\"\n\n#: src/download.rs:340\nmsgid \"Downloading PKGBUILDs...\"\nmsgstr \"Завантаження сценаріїв PKGBUILD...\"\n\n#: src/download.rs:344\nmsgid \" PKGBUILDs up to date\"\nmsgstr \" сценарії PKGBUILD в актуальному стані\"\n\n#: src/exec.rs:72\nmsgid \"failed to run:\"\nmsgstr \"не вдалося виконати:\"\n\n#: src/exec.rs:174\nmsgid \"Pacman is currently in use, please wait...\"\nmsgstr \"Pacman зараз використовується, зачекайте...\"\n\n#: src/fmt.rs:24 src/info.rs:275 src/search.rs:293 src/search.rs:350\nmsgid \"None\"\nmsgstr \"Нічого\"\n\n#: src/fmt.rs:245\nmsgid \"Repo\"\nmsgstr \"Репозиторій\"\n\n#: src/fmt.rs:252\nmsgid \"Repo Make\"\nmsgstr \"Repo Make\"\n\n#: src/fmt.rs:272\nmsgid \"Pkgbuilds Make\"\nmsgstr \"Pkgbuilds Make\"\n\n#: src/fmt.rs:274\nmsgid \"Aur Make\"\nmsgstr \"Aur Make\"\n\n#: src/fmt.rs:319\nmsgid \"Repo ({})\"\nmsgstr \"Репозиторій ({})\"\n\n#: src/fmt.rs:327\nmsgid \"Old Version\"\nmsgstr \"Стара версія\"\n\n#: src/fmt.rs:328\nmsgid \"New Version\"\nmsgstr \"Нова версія\"\n\n#: src/fmt.rs:329\nmsgid \"Make Only\"\nmsgstr \"Тільки збирання\"\n\n#: src/fmt.rs:330\nmsgid \"Yes\"\nmsgstr \"Так\"\n\n#: src/fmt.rs:331 src/info.rs:221\nmsgid \"No\"\nmsgstr \"Ні\"\n\n#: src/fmt.rs:419\nmsgid \"insufficient columns available for table display\"\nmsgstr \"недостатньо стовпців для відображення таблиці\"\n\n#: src/help.rs:4\nmsgid \"Usage:\"\nmsgstr \"Використання:\"\n\n#: src/help.rs:5\nmsgid \"    paru\"\nmsgstr \"    paru\"\n\n#: src/help.rs:6\nmsgid \"    paru <operation> [...]\"\nmsgstr \"    paru <операція> [...]\"\n\n#: src/help.rs:7\nmsgid \"    paru <package(s)>\"\nmsgstr \"    paru <пакунок(и)>\"\n\n#: src/help.rs:9\nmsgid \"Pacman operations:\"\nmsgstr \"Операції Pacman:\"\n\n#: src/help.rs:10\nmsgid \"    paru {-h --help}\"\nmsgstr \"    paru {-h --help}\"\n\n#: src/help.rs:11\nmsgid \"    paru {-V --version}\"\nmsgstr \"    paru {-V --version}\"\n\n#: src/help.rs:12\nmsgid \"    paru {-D --database}    <options> <package(s)>\"\nmsgstr \"    paru {-D --database}    <опції> <пакунок(и)>\"\n\n#: src/help.rs:13\nmsgid \"    paru {-F --files}       [options] [package(s)]\"\nmsgstr \"    paru {-F --files}       [опції] [пакунок(и)]\"\n\n#: src/help.rs:14\nmsgid \"    paru {-Q --query}       [options] [package(s)]\"\nmsgstr \"    paru {-Q --query}       [опції] [пакунок(и)]\"\n\n#: src/help.rs:15\nmsgid \"    paru {-R --remove}      [options] <package(s)>\"\nmsgstr \"    paru {-R --remove}      [опції] <пакунок(и)>\"\n\n#: src/help.rs:16\nmsgid \"    paru {-S --sync}        [options] [package(s)]\"\nmsgstr \"    paru {-S --sync}        [опції] [пакунок(и)]\"\n\n#: src/help.rs:17\nmsgid \"    paru {-T --deptest}     [options] [package(s)]\"\nmsgstr \"    paru {-T --deptest}     [опції] [пакунок(и)]\"\n\n#: src/help.rs:18\nmsgid \"    paru {-U --upgrade}     [options] [file(s)]\"\nmsgstr \"    paru {-U --upgrade}     [опції] [файл(и)]\"\n\n#: src/help.rs:20\nmsgid \"New operations:\"\nmsgstr \"Нові операції:\"\n\n#: src/help.rs:21\nmsgid \"    paru {-P --show}        [options]\"\nmsgstr \"    paru {-P --show}        [опції]\"\n\n#: src/help.rs:22\nmsgid \"    paru {-G --getpkgbuild} [package(s)]\"\nmsgstr \"    paru {-G --getpkgbuild} [пакунок(и)]\"\n\n#: src/help.rs:23\nmsgid \"    paru {-B --build}       [dir(s)]\"\nmsgstr \"    paru {-B --build}       [каталог(и)]\"\n\n#: src/help.rs:25\nmsgid \"If no arguments are provided 'paru -Syu' will be performed\"\nmsgstr \"Якщо жодних аргументів не надано, буде виконано команду 'paru -Syu'\"\n\n#: src/help.rs:27\nmsgid \"Options without operation:\"\nmsgstr \"Опції без параметрів:\"\n\n#: src/help.rs:28\nmsgid \"    -c --clean            Remove unneeded dependencies\"\nmsgstr \"    -c --clean            Видалити непотрібні залежності\"\n\n#: src/help.rs:29\nmsgid \"\"\n\"       --gendb            Generates development package DB used for updating\"\nmsgstr \"\"\n\"       --gendb            Сформувати БД пакунків розробки, що \"\n\"використовується для оновлення\"\n\n#: src/help.rs:31\nmsgid \"New options:\"\nmsgstr \"Нові опції:\"\n\n#: src/help.rs:32\nmsgid \"       --repo              Assume targets are from the repositories\"\nmsgstr \"       --repo              Обирати пакунки з репозиторіїв\"\n\n#: src/help.rs:33\nmsgid \"\"\n\"       --pkgbuilds         Assume targets are from pkgbuild repositories\"\nmsgstr \"       --pkgbuilds         Обирати пакунки з репозиторіїв PKGBUILD\"\n\n#: src/help.rs:34\nmsgid \"    -a --aur               Assume targets are from the AUR\"\nmsgstr \"    -a --aur               Обирати пакунки з AUR\"\n\n#: src/help.rs:35\nmsgid \"    --mode      <mode>     Sets where paru looks for targets\"\nmsgstr \"    --mode      <режим>    Встановити де paru шукатиме пакунки\"\n\n#: src/help.rs:37\nmsgid \"\"\n\"    --interactive          Enable interactive package selection for -S, -R, \"\n\"-Ss and -Qs\"\nmsgstr \"\"\n\"    --interactive          Увімкнути інтерактивний вибір пакетів для -S, -R, \"\n\"-Ss та -Qs\"\n\n#: src/help.rs:39\nmsgid \"    --aururl    <url>      Set an alternative AUR URL\"\nmsgstr \"    --aururl    <url>      Встановити альтернативну URL-адресу AUR\"\n\n#: src/help.rs:40\nmsgid \"\"\n\"    --aurrpcur  <url>      Set an alternative URL for the AUR /rpc endpoint\"\nmsgstr \"\"\n\"    --aurrpcur  <url>      Встановити альтернативну URL-адресу для кінцевої \"\n\"точки AUR /rpc\"\n\n#: src/help.rs:41\nmsgid \"    --clonedir  <dir>      Directory used to download and run PKGBUILDs\"\nmsgstr \"\"\n\"    --clonedir  <каталог>  Каталог для завантаження та запуску сценаріїв \"\n\"PKGBUILD\"\n\n#: src/help.rs:43\nmsgid \"    --makepkg   <file>     makepkg command to use\"\nmsgstr \"    --makepkg   <файл>     Команда makepkg, яку слід використовувати\"\n\n#: src/help.rs:44\nmsgid \"    --mflags    <flags>    Pass arguments to makepkg\"\nmsgstr \"    --mflags    <опції>    Передати аргументи до makepkg\"\n\n#: src/help.rs:45\nmsgid \"    --pacman    <file>     pacman command to use\"\nmsgstr \"    --pacman    <файл>     Команда pacman, яку слід використовувати\"\n\n#: src/help.rs:46\nmsgid \"    --git       <file>     git command to use\"\nmsgstr \"    --git       <файл>     Команда git, яку слід використовувати\"\n\n#: src/help.rs:47\nmsgid \"    --gitflags  <flags>    Pass arguments to git\"\nmsgstr \"    --gitflags  <опції>    Передати аргументи до git\"\n\n#: src/help.rs:48\nmsgid \"    --sudo      <file>     sudo command to use\"\nmsgstr \"    --sudo      <файл>     Команда sudo, яку слід використовувати\"\n\n#: src/help.rs:49\nmsgid \"    --sudoflags <flags>    Pass arguments to sudo\"\nmsgstr \"    --sudoflags <опції>    Передати аргументи до sudo\"\n\n#: src/help.rs:50\nmsgid \"    --pkgctl    <file>     pkgctl command to use\"\nmsgstr \"    --pkgctl    <файл>     Команда pkgctl, яку слід використовувати\"\n\n#: src/help.rs:51\nmsgid \"    --bat       <file>     bat command to use\"\nmsgstr \"    --bat       <файл>     Команда bat, яку слід використовувати\"\n\n#: src/help.rs:52\nmsgid \"    --batflags  <flags>    Pass arguments to bat\"\nmsgstr \"    --batflags  <опції>    Передати аргументи до bat\"\n\n#: src/help.rs:53\nmsgid \"    --gpg       <file>     gpg command to use\"\nmsgstr \"    --gpg       <файл>     Команда gpg, яку слід використовувати\"\n\n#: src/help.rs:54\nmsgid \"    --gpgflags  <flags>    Pass arguments to gpg\"\nmsgstr \"    --gpgflags  <опції>    Передати аргументи до gpg\"\n\n#: src/help.rs:55\nmsgid \"    --fm        <file>     File manager to use for PKGBUILD review\"\nmsgstr \"    --fm        <файл>     Файловий менеджер для перегляду PKGBUILD\"\n\n#: src/help.rs:56\nmsgid \"    --fmflags   <flags>    Pass arguments to file manager\"\nmsgstr \"    --fmflags   <опції>    Передати аргументи до файлового менеджера\"\n\n#: src/help.rs:58\nmsgid \"    --completioninterval   <n> Time in days to refresh completion cache\"\nmsgstr \"\"\n\"    --completioninterval   <n> Час у днях для оновлення кешу завершення\"\n\n#: src/help.rs:59\nmsgid \"\"\n\"    --sortby    <field>    Sort AUR results by a specific field during search\"\nmsgstr \"\"\n\"    --sortby    <поле>     Сортувати результати з AUR за певним критерієм \"\n\"під час пошуку\"\n\n#: src/help.rs:60\nmsgid \"    --searchby  <field>    Search for packages using a specified field\"\nmsgstr \"    --searchby  <поле>     Пошук пакунків за вказаним параметром\"\n\n#: src/help.rs:61\nmsgid \"\"\n\"    --limit     <limit>    Limits the number of items returned in a search\"\nmsgstr \"\"\n\"    --limit     <limit>    Обмежити кількість елементів у результатах пошуку\"\n\n#: src/help.rs:62\nmsgid \"    -x --regex             Enable regex for aur search\"\nmsgstr \"    -x --regex             Увімкнути regex для пошуку по AUR\"\n\n#: src/help.rs:64\nmsgid \"    --skipreview           Skip the review process\"\nmsgstr \"    --skipreview           Пропустити процес перегляду\"\n\n#: src/help.rs:65\nmsgid \"    --review               Don't skip the review process\"\nmsgstr \"    --review               Не пропускати процес перегляду\"\n\n#: src/help.rs:66\nmsgid \"    --[no]upgrademenu      Show interactive menu to skip upgrades\"\nmsgstr \"\"\n\"    --[no]upgrademenu      Показувати інтерактивне меню для пропуску оновлень\"\n\n#: src/help.rs:67\nmsgid \"    --[no]removemake       Remove makedepends after install\"\nmsgstr \"\"\n\"    --[no]removemake       Видаляти залежності для збирання після \"\n\"встановлення\"\n\n#: src/help.rs:68\nmsgid \"    --[no]cleanafter       Remove package sources after install\"\nmsgstr \"\"\n\"    --[no]cleanafter       Видаляти вихідний код пакунків після встановлення\"\n\n#: src/help.rs:69\nmsgid \"    --[no]rebuild          Always build target packages\"\nmsgstr \"    --[no]rebuild          Завжди збирати цільові пакунки\"\n\n#: src/help.rs:70\nmsgid \"    --[no]redownload       Always download PKGBUILDs of targets\"\nmsgstr \"\"\n\"    --[no]redownload       Завжди завантажувати PKGBUILD для цільових \"\n\"пакунків\"\n\n#: src/help.rs:72\nmsgid \"    --[no]pgpfetch         Prompt to import PGP keys from PKGBUILDs\"\nmsgstr \"    --[no]pgpfetch         Запит на імпорт ключів PGP з PKGBUILD\"\n\n#: src/help.rs:73\nmsgid \"\"\n\"    --[no]useask           Automatically resolve conflicts using pacman's \"\n\"ask flag\"\nmsgstr \"\"\n\"    --[no]useask           Автоматично вирішувати конфлікти за допомогою \"\n\"опції ask (pacman)\"\n\n#: src/help.rs:74\nmsgid \"\"\n\"    --[no]savechanges      Commit changes to pkgbuilds made during review\"\nmsgstr \"\"\n\"    --[no]savechanges      Фіксувати зміни, зроблені під час перегляду, до \"\n\"pkgbuild\"\n\n#: src/help.rs:75\nmsgid \"    --[no]newsonupgrade    Print new news during sysupgrade\"\nmsgstr \"\"\n\"    --[no]newsonupgrade    Показувати останні новини під час оновлення \"\n\"системи\"\n\n#: src/help.rs:76\nmsgid \"\"\n\"    --[no]combinedupgrade  Refresh then perform the repo and AUR upgrade \"\n\"together\"\nmsgstr \"\"\n\"    --[no]combinedupgrade  Синхронізувати та виконувати оновлення з \"\n\"репозиторіїв та AUR разом\"\n\n#: src/help.rs:77\nmsgid \"\"\n\"    --[no]batchinstall     Build multiple AUR packages then install them \"\n\"together\"\nmsgstr \"\"\n\"    --[no]batchinstall     Збирати усі цільові пакунки з AUR та \"\n\"встановлювати їх разом\"\n\n#: src/help.rs:78\nmsgid \"\"\n\"    --[no]provides         Look for matching providers when searching for \"\n\"packages\"\nmsgstr \"\"\n\"    --[no]provides         Шукати відповідних постачальників під час пошуку \"\n\"пакунків\"\n\n#: src/help.rs:79\nmsgid \"    --[no]devel            Check development packages during sysupgrade\"\nmsgstr \"\"\n\"    --[no]devel            Перевіряти пакунки розробки під час оновлення \"\n\"системи\"\n\n#: src/help.rs:80\nmsgid \"\"\n\"    --[no]installdebug     Also install debug packages when a package \"\n\"provides them\"\nmsgstr \"\"\n\"    --[no]installdebug     Встановлювати також пакунки налагодження коли \"\n\"вони надаються\"\n\n#: src/help.rs:81\nmsgid \"\"\n\"    --[no]sudoloop         Loop sudo calls in the background to avoid timeout\"\nmsgstr \"\"\n\"    --[no]sudoloop         Зациклювати виклики sudo у фоновому режимі задля \"\n\"уникнення таймауту\"\n\n#: src/help.rs:82\nmsgid \"    --[no]chroot           Build packages in a chroot\"\nmsgstr \"    --[no]chroot           Збирати пакунки у chroot\"\n\n#: src/help.rs:83\nmsgid \"\"\n\"    --[no]failfast         Exit as soon as building an AUR package fails\"\nmsgstr \"\"\n\"    --[no]failfast         Завершувати роботу одразу у разі невдалого \"\n\"збирання пакета з AUR\"\n\n#: src/help.rs:84\nmsgid \"\"\n\"    --[no]keepsrc          Keep src/ and pkg/ dirs after building packages\"\nmsgstr \"\"\n\"    --[no]keepsrc          Зберігати каталоги src/ та pkg/ після збирання \"\n\"пакунків\"\n\n#: src/help.rs:85\nmsgid \"    --[no]sign             Sign packages with gpg\"\nmsgstr \"    --[no]sign             Підписувати пакунки за допомогою gpg\"\n\n#: src/help.rs:86\nmsgid \"    --[no]signdb           Sign databases with gpg\"\nmsgstr \"    --[no]signdb           Підписувати бази даних за допомогою gpg\"\n\n#: src/help.rs:87\nmsgid \"    --[no]localrepo        Build packages into a local repo\"\nmsgstr \"    --[no]localrepo        Збирати пакунки до локального репозиторію\"\n\n#: src/help.rs:88\nmsgid \"\"\n\"    --nocheck              Don't resolve checkdepends or run the check \"\n\"function\"\nmsgstr \"\"\n\"    --nocheck              Не вирішувати залежності для перевірки і не \"\n\"запускати функцію check()\"\n\n#: src/help.rs:90\nmsgid \"\"\n\"    --rootchrootpkgs       Packages to install in the root chroot (default: \"\n\"base-devel)\"\nmsgstr \"\"\n\n#: src/help.rs:92\nmsgid \"\"\n\"    --develsuffixes        Suffixes used to decide if a package is a devel \"\n\"package\"\nmsgstr \"\"\n\"    --develsuffixes        Суфікси для визначення належності до пакунків \"\n\"розробки\"\n\n#: src/help.rs:93\nmsgid \"    --ignoredevel          Ignore devel upgrades for specified packages\"\nmsgstr \"\"\n\"    --ignoredevel          Ігнорувати оновлення розробки для вказаних \"\n\"пакунків\"\n\n#: src/help.rs:94\nmsgid \"\"\n\"    --bottomup             Shows AUR's packages first and then repository's\"\nmsgstr \"\"\n\"    --bottomup             Спершу показувати пакунки з AUR, потім з \"\n\"репозиторіїв\"\n\n#: src/help.rs:95\nmsgid \"\"\n\"    --topdown              Shows repository's packages first and then AUR's\"\nmsgstr \"\"\n\"    --topdown              Спершу показувати пакунки з репозиторіїв, потім з \"\n\"AUR\"\n\n#: src/help.rs:97\nmsgid \"show specific options:\"\nmsgstr \"Опції для --show:\"\n\n#: src/help.rs:98\nmsgid \"    -c --complete         Used for completions\"\nmsgstr \"    -c --complete         Використовувати для завершення\"\n\n#: src/help.rs:99\nmsgid \"    -s --stats            Display system package statistics\"\nmsgstr \"    -s --stats            Показувати статистику системних пакетів\"\n\n#: src/help.rs:100\nmsgid \"    -w --news             Print arch news\"\nmsgstr \"    -w --news             Показувати новини Arch\"\n\n#: src/help.rs:102\nmsgid \"getpkgbuild specific options:\"\nmsgstr \"Опції для --getpkgbuild\"\n\n#: src/help.rs:103\nmsgid \"    -p --print            Print pkgbuild to stdout\"\nmsgstr \"    -p --print            Виводити PKGBUILD у stdout\"\n\n#: src/help.rs:104\nmsgid \"    -c --comments         Print AUR comments for pkgbuild\"\nmsgstr \"    -c --comments         Виводити коментарі з AUR для PKGBUILD\"\n\n#: src/help.rs:105\nmsgid \"    -s --ssh              Clone package using SSH\"\nmsgstr \"    -s --ssh              Клонувати пакунок за допомогою SSH\"\n\n#: src/help.rs:107\nmsgid \"Build specific options:\"\nmsgstr \"Опції для --build:\"\n\n#: src/help.rs:108\nmsgid \"    -i --install          Install package as well as building\"\nmsgstr \"    -i --install          Встановлювати пакунок після збирання\"\n\n#: src/info.rs:86 src/info.rs:191 src/info.rs:225\nmsgid \"Name\"\nmsgstr \"Назва\"\n\n#: src/info.rs:87 src/info.rs:192 src/info.rs:226\nmsgid \"Version\"\nmsgstr \"Версія\"\n\n#: src/info.rs:88 src/info.rs:193 src/info.rs:227\nmsgid \"Description\"\nmsgstr \"Опис\"\n\n#: src/info.rs:89 src/info.rs:195 src/info.rs:235\nmsgid \"Groups\"\nmsgstr \"Групи\"\n\n#: src/info.rs:90 src/info.rs:196 src/info.rs:236\nmsgid \"Licenses\"\nmsgstr \"Ліцензії\"\n\n#: src/info.rs:91 src/info.rs:197 src/info.rs:237\nmsgid \"Provides\"\nmsgstr \"Забезпечує\"\n\n#: src/info.rs:92 src/info.rs:198 src/info.rs:238\nmsgid \"Depends On\"\nmsgstr \"Залежить від\"\n\n#: src/info.rs:93 src/info.rs:199 src/info.rs:239\nmsgid \"Make Deps\"\nmsgstr \"Залежності для збирання\"\n\n#: src/info.rs:94 src/info.rs:200 src/info.rs:240\nmsgid \"Check Deps\"\nmsgstr \"Залежності для перевірки\"\n\n#: src/info.rs:95 src/info.rs:201 src/info.rs:241\nmsgid \"Optional Deps\"\nmsgstr \"Необов'язкові залежності\"\n\n#: src/info.rs:96 src/info.rs:202 src/info.rs:242\nmsgid \"Conflicts With\"\nmsgstr \"Конфліктує з\"\n\n#: src/info.rs:97 src/info.rs:243\nmsgid \"Maintainer\"\nmsgstr \"Супровідник\"\n\n#: src/info.rs:98 src/info.rs:244\nmsgid \"Votes\"\nmsgstr \"Голоси\"\n\n#: src/info.rs:99 src/info.rs:245\nmsgid \"Popularity\"\nmsgstr \"Популярність\"\n\n#: src/info.rs:100 src/info.rs:246\nmsgid \"First Submitted\"\nmsgstr \"Вперше поданий\"\n\n#: src/info.rs:101 src/info.rs:247\nmsgid \"Last Modified\"\nmsgstr \"Востаннє змінений\"\n\n#: src/info.rs:102 src/info.rs:249\nmsgid \"Out Of Date\"\nmsgstr \"Застарілий\"\n\n#: src/info.rs:103 src/info.rs:254\nmsgid \"ID\"\nmsgstr \"ID\"\n\n#: src/info.rs:104 src/info.rs:255\nmsgid \"Package Base ID\"\nmsgstr \"ID бази пакунка\"\n\n#: src/info.rs:105 src/info.rs:256\nmsgid \"Keywords\"\nmsgstr \"Ключові слова\"\n\n#: src/info.rs:106 src/info.rs:258\nmsgid \"Snapshot URL\"\nmsgstr \"URL-адреса знімка\"\n\n#: src/info.rs:107 src/info.rs:203\nmsgid \"Path\"\nmsgstr \"Шлях\"\n\n#: src/install.rs:166 src/query.rs:48 src/lib.rs:101\nmsgid \"error:\"\nmsgstr \"помилка:\"\n\n#: src/install.rs:167\nmsgid \"could not get news\"\nmsgstr \"не вдалося отримати новини\"\n\n#: src/install.rs:172 src/install.rs:1127\nmsgid \"Proceed with installation?\"\nmsgstr \"Продовжити встановлення?\"\n\n#: src/install.rs:207\nmsgid \"could not find .SRCINFO for '{}'\"\nmsgstr \"не вдалося знайти .SRCINFO для '{}'\"\n\n#: src/install.rs:353\nmsgid \"could not find package '{pkg}' in package list for '{base}'\"\nmsgstr \"не вдалося знайти пакунок '{pkg}' у списку пакунків для '{base}'\"\n\n#: src/install.rs:451\nmsgid \"packages failed to build: {}\"\nmsgstr \"не вдалося зібрати пакунки: {}\"\n\n#: src/install.rs:523\nmsgid \"adding {} to the install list\"\nmsgstr \"додавання {} до списку встановлення\"\n\n#: src/install.rs:553 src/install.rs:568\nmsgid \"failed to download sources for '{}'\"\nmsgstr \"не вдалося завантажити вихідний код для '{}'\"\n\n#: src/install.rs:577 src/install.rs:603 src/install.rs:611\nmsgid \"failed to build '{}'\"\nmsgstr \"не вдалося зібрати '{}'\"\n\n#: src/install.rs:580 src/install.rs:784\nmsgid \"{}: parsing pkg list...\"\nmsgstr \"{}: аналіз списку пакунка...\"\n\n#: src/install.rs:584\nmsgid \"package list does not match srcinfo\"\nmsgstr \"список пакунка не відповідає SRCINFO\"\n\n#: src/install.rs:618\nmsgid \"{}-{} is up to date -- skipping build\"\nmsgstr \"{}-{} в актуальному стані - збирання пропускається\"\n\n#: src/install.rs:775\nmsgid \"can't build {base}, deps not satisfied: {deps}\"\nmsgstr \"не вдалося зібрати {base} через нерозв'язані залежності: {deps}\"\n\n#: src/install.rs:846\nmsgid \"fetching devel info...\"\nmsgstr \"отримання інформації розробки...\"\n\n#: src/install.rs:911 src/lib.rs:240\nmsgid \"no targets specified (use -h for help)\"\nmsgstr \"цілі не вказано (використовуйте -h для довідки)\"\n\n#: src/install.rs:1008 src/install.rs:1097 src/search.rs:450 src/search.rs:476\n#: src/lib.rs:304\nmsgid \" there is nothing to do\"\nmsgstr \" нема чого робити\"\n\n#: src/install.rs:1016\nmsgid \"Resolving dependencies...\"\nmsgstr \"Розв'язання залежностей...\"\n\n#: src/install.rs:1077\nmsgid \"can't install AUR package as root\"\nmsgstr \"не вдалося встановити пакунок з AUR від імені root\"\n\n#: src/install.rs:1080\nmsgid \"--downloadonly can't be used for AUR packages\"\nmsgstr \"--downloadonly не можна використовувати для пакунків з AUR\"\n\n#: src/install.rs:1113\nmsgid \"Remove make dependencies after install?\"\nmsgstr \"Видалити залежності збирання після встановлення?\"\n\n#: src/install.rs:1124\nmsgid \"Proceed to review?\"\nmsgstr \"Перейти до перегляду?\"\n\n#: src/install.rs:1177\nmsgid \"no architecture\"\nmsgstr \"відсутня архітектура\"\n\n#: src/install.rs:1191\nmsgid \"The following packages are not compatible with your architecture:\"\nmsgstr \"Наступні пакунки не сумісні з вашою архітектурою:\"\n\n#: src/install.rs:1205\nmsgid \"Would you like to try build them anyway?\"\nmsgstr \"Ви все одно хочете спробувати зібрати їх?\"\n\n#: src/install.rs:1349\nmsgid \"duplicate packages: {}\"\nmsgstr \"дублювання пакунків: {}\"\n\n#: src/install.rs:1353\nmsgid \"could not find all required packages:\"\nmsgstr \"не вдалося знайти всі необхідні пакунки:\"\n\n#: src/install.rs:1365\nmsgid \"\"\n\"\\n\"\n\"    {missing} (wanted by: {stack})\"\nmsgstr \"\"\n\"\\n\"\n\"    {missing} (необхідний для: {stack})\"\n\n#: src/install.rs:1379 src/install.rs:2122\nmsgid \"{}-{} is up to date -- skipping\"\nmsgstr \"{}-{} в актуальному стані -- пропускається\"\n\n#: src/install.rs:1387\nmsgid \"Calculating conflicts...\"\nmsgstr \"Розрахунок конфліктів...\"\n\n#: src/install.rs:1410\nmsgid \"Calculating inner conflicts...\"\nmsgstr \"Розрахунок внутрішніх конфліктів...\"\n\n#: src/install.rs:1422\nmsgid \"Inner conflicts found:\"\nmsgstr \"Виявлені внутрішні конфлікти:\"\n\n#: src/install.rs:1444\nmsgid \"Conflicts found:\"\nmsgstr \"Виявлено конфлікти:\"\n\n#: src/install.rs:1467\nmsgid \"Conflicting packages will have to be confirmed manually\"\nmsgstr \"Конфліктуючі пакунки потрібно буде підтвердити вручну\"\n\n#: src/install.rs:1471\nmsgid \"can not install conflicting packages with --noconfirm\"\nmsgstr \"не вдалося встановити конфліктуючі пакунки з --noconfirm\"\n\n#: src/install.rs:1599\nmsgid \"failed to execute file manager: {}\"\nmsgstr \"не вдалося запустити файловий менеджер: {}\"\n\n#: src/install.rs:1602\n#, fuzzy\nmsgid \"file manager '{}' did not execute successfully\"\nmsgstr \"файловий менеджер не вдалося успішно запустити\"\n\n#: src/install.rs:1620\nmsgid \"failed to read dir: {}\"\nmsgstr \"не вдалося прочитати каталог: {}\"\n\n#: src/install.rs:1677\nmsgid \"failed to open: {}\"\nmsgstr \"не вдалося відкрити: {}\"\n\n#: src/install.rs:1697\nmsgid \"binary file: {}\"\nmsgstr \"двійковий файл: {}\"\n\n#: src/install.rs:1719 src/install.rs:1790\nmsgid \"Accept changes?\"\nmsgstr \"Прийняти зміни?\"\n\n#: src/install.rs:1759\nmsgid \"Paging with less. Press 'q' to quit or 'h' for help.\"\nmsgstr \"\"\n\"Посторінковий перегляд (less). Натисніть «q» для виходу або «h» для довідки.\"\n\n#: src/install.rs:1794\nmsgid \" nothing new to review\"\nmsgstr \" нічого нового для огляду\"\n\n#: src/install.rs:2070\nmsgid \"can't find package name in packagelist: {}\"\nmsgstr \"не вдалося знайти пакунок із такою назвою у списку пакунків: {}\"\n\n#: src/install.rs:2142\nmsgid \"Signing packages...\"\nmsgstr \"Підписання пакунків...\"\n\n#: src/install.rs:2172\nmsgid \"{}-{} is up to date -- skipping install\"\nmsgstr \"{}-{} в актуальному стані - встановлення пропускається\"\n\n#: src/keys.rs:57\nmsgid \"keys need to be imported:\"\nmsgstr \"потрібно імпортувати ключі:\"\n\n#: src/keys.rs:62\nmsgid \"     {key} wanted by: {base}\"\nmsgstr \"     {key} необхідний для: {base}\"\n\n#: src/news.rs:57\nmsgid \"No Date \"\nmsgstr \"Без дати \"\n\n#: src/news.rs:60\nmsgid \"No Title\"\nmsgstr \"Без назви\"\n\n#: src/news.rs:69\nmsgid \"no new news\"\nmsgstr \"немає нових новин\"\n\n#: src/pkgbuild.rs:91\nmsgid \"repo {} does not have a URL or Path\"\nmsgstr \"репозиторій {} не має посилання або шляху\"\n\n#: src/pkgbuild.rs:153\nmsgid \"repo {} not downloaded (use -Sy --pkgbuilds to download)\"\nmsgstr \"\"\n\"репозиторій {} не завантажено (для завантаження використовуйте -Sy --\"\n\"pkgbuilds)\"\n\n#: src/pkgbuild.rs:200\nmsgid \"Generating .SRCINFO for {repo}/{dir}...\"\nmsgstr \"Створення .SRCINFO для {repo}/{dir}...\"\n\n#: src/pkgbuild.rs:278\nmsgid \"failed to parse srcinfo \\\"{}\\\"\"\nmsgstr \"не вдалося розібрати SRCINFO \\\"{}\\\"\"\n\n#: src/pkgbuild.rs:368\nmsgid \"Downloading PKGBUILD Repos...\"\nmsgstr \"Завантаження репозиторіїв PKGBUILD...\"\n\n#: src/pkgbuild.rs:422\nmsgid \"failed to parse srcinfo generated by makepkg\"\nmsgstr \"не вдалося розібрати SRCINFO створений за допомогою makepkg\"\n\n#: src/query.rs:151\nmsgid \" [ignored]\"\nmsgstr \" [ігнорується]\"\n\n#: src/repo.rs:253\nmsgid \"failed to get current exe\"\nmsgstr \"не вдалося отримати поточний exe\"\n\n#: src/repo.rs:298\nmsgid \"syncing local databases...\"\nmsgstr \"синхронізація локальних баз даних...\"\n\n#: src/repo.rs:304\nmsgid \"  nothing to do\"\nmsgstr \"  нема чого робити\"\n\n#: src/repo.rs:335\nmsgid \"there is nothing to do\"\nmsgstr \"тут нічого робити\"\n\n#: src/repo.rs:341\nmsgid \"Packages\"\nmsgstr \"Пакунки\"\n\n#: src/repo.rs:354\nmsgid \"Proceed with removal?\"\nmsgstr \"Продовжити видалення?\"\n\n#: src/repo.rs:415\nmsgid \" [installed: {}]\"\nmsgstr \" [встановлено: {}]\"\n\n#: src/repo.rs:417 src/sync.rs:144\nmsgid \" [installed]\"\nmsgstr \" [встановлено]\"\n\n#: src/search.rs:41\nmsgid \"aur search failed\"\nmsgstr \"пошук в AUR не вдався\"\n\n#: src/search.rs:285 src/search.rs:338 src/search.rs:410\n#, fuzzy\nmsgid \"[installed: {}]\"\nmsgstr \" [встановлено: {}]\"\n\n#: src/search.rs:287 src/search.rs:340 src/search.rs:412\n#, fuzzy\nmsgid \"[installed]\"\nmsgstr \" [встановлено]\"\n\n#: src/search.rs:332\n#, fuzzy\nmsgid \"[out-of-date: {}]\"\nmsgstr \"[Застарілий: {}]\"\n\n#: src/search.rs:347\n#, fuzzy\nmsgid \"[orphaned]\"\nmsgstr \"[Осиротілий]\"\n\n#: src/search.rs:491\nmsgid \"no packages match search\"\nmsgstr \"не знайдено пакунків відповідних запиту\"\n\n#: src/search.rs:529\nmsgid \"Packages to install (eg: 1 2 3, 1-3):\"\nmsgstr \"Пакунки для встановлення (наприклад: 1 2 3, 1-3):\"\n\n#: src/search.rs:531\nmsgid \"Select packages (eg: 1 2 3, 1-3):\"\nmsgstr \"Виберіть пакунки (наприклад: 1 2 3, 1-3):\"\n\n#: src/stats.rs:90\nmsgid \"Total installed packages: {}\"\nmsgstr \"Загальна кількість встановлених пакунків: {}\"\n\n#: src/stats.rs:94\nmsgid \"Aur packages: {}\"\nmsgstr \"Пакунки з AUR: {}\"\n\n#: src/stats.rs:98\nmsgid \"Repo packages: {}\"\nmsgstr \"Пакунки з репозиторіїв: {}\"\n\n#: src/stats.rs:102\nmsgid \"Explicitly installed packages: {}\"\nmsgstr \"Явно встановлені пакунки: {}\"\n\n#: src/stats.rs:106\nmsgid \"Total Size occupied by packages: {}\"\nmsgstr \"Загальний розмір пакунків: {}\"\n\n#: src/stats.rs:113\nmsgid \"Ten biggest packages:\"\nmsgstr \"Десять найбільших пакунків:\"\n\n#: src/upgrade.rs:126\nmsgid \"Looking for PKGBUILD upgrades...\"\nmsgstr \"Пошук оновлень PKGBUILD...\"\n\n#: src/upgrade.rs:134\nmsgid \"Looking for AUR upgrades...\"\nmsgstr \"Пошук оновлень AUR...\"\n\n#: src/upgrade.rs:165\nmsgid \"Looking for devel upgrades...\"\nmsgstr \"Пошук оновлень розробки...\"\n\n#: src/upgrade.rs:193 src/upgrade.rs:206\nmsgid \"warning:\"\nmsgstr \"попередження:\"\n\n#: src/upgrade.rs:195 src/upgrade.rs:208\nmsgid \"{pkg}: ignoring package upgrade ({old} => {new})\"\nmsgstr \"{pkg}: ігнорується оновлення пакунка ({old} => {new})\"\n\n#: src/upgrade.rs:400\nmsgid \"Packages to exclude (eg: 1 2 3, 1-3):\"\nmsgstr \"Пакунки для виключення (наприклад: 1 2 3, 1-3):\"\n\n#: src/util.rs:121\nmsgid \"[Y/n]:\"\nmsgstr \"[Y/n]:\"\n\n#: src/util.rs:123\nmsgid \"[y/N]:\"\nmsgstr \"[y/N]:\"\n\n#: src/util.rs:142\nmsgid \"y\"\nmsgstr \"y\"\n\n#: src/util.rs:142\nmsgid \"yes\"\nmsgstr \"так\"\n\n#: src/util.rs:300\nmsgid \"Enter a number (default=1): \"\nmsgstr \"Введіть число (типово = 1): \"\n\n#: src/util.rs:317\nmsgid \"invalid number: {}\"\nmsgstr \"неприпустиме число: {}\"\n\n#: src/util.rs:327\nmsgid \"invalid value: {n} is not between 1 and {max}\"\nmsgstr \"неприпустиме значення: {n} не знаходиться між 1 та {max}\"\n\n#: src/resolver.rs:83\nmsgid \"There are {} members in group\"\nmsgstr \"Група налічує {} учасників\"\n\n#: src/resolver.rs:108\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Enter a selection (default=all): \"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"Введіть значення (типово = всі): \"\n\n#: src/lib.rs:206\nmsgid \"can not use chroot builds: devtools is not installed\"\nmsgstr \"не можливо використовувати chroot-збирання: не встановлено devtools\"\n\n#: src/lib.rs:313\nmsgid \"no operation specified (use -h for help)\"\nmsgstr \"не вказано операцію (використовуйте -h для довідки)\"\n\n#~ msgid \"[Installed: {}]\"\n#~ msgstr \"[Встановлено: {}]\"\n\n#~ msgid \"[Installed]\"\n#~ msgstr \"[Встановлено]\"\n"
  },
  {
    "path": "po/zh_CN.po",
    "content": "# Paru Simplified Chinese translation\n# Copyright (C) YEAR THE paru'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the paru package.\n#\n# Previous Translators\n# Yufan You <ouuansteve@gmail.com> , 2021\\n\"\n# St.kai <St.kai@live.cn> , 2022\\n\"\n# Yumeoto Zorin <zorin@zorin.icu> , 2022\\n\"\n# Puqns67 <me@puqns67.icu> , 2022\\n\"\n# clsty <celestial.y@outlook.com> , 2023\\n\"\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: paru  1.11.2\\n\"\n\"Report-Msgid-Bugs-To: https://github.com/Morganamilo/paru\\n\"\n\"POT-Creation-Date: 2026-01-08 17:40+0000\\n\"\n\"PO-Revision-Date: 2023-12-31 22:59+0800\\n\"\n\"Last-Translator: clsty <celestial.y@outlook.com>\\n\"\n\"Language-Team: \\n\"\n\"Language: zh_CN\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Generator: Poedit 3.4.1\\n\"\n\n#: src/clean.rs:36\nmsgid \"Do you want to clean ALL AUR packages from cache?\"\nmsgstr \"你想要从缓存中清除所有 AUR 软件包吗？\"\n\n#: src/clean.rs:38\nmsgid \"Do you want to clean all other AUR packages from cache?\"\nmsgstr \"你想要从缓存中清除所有其他的 AUR 软件包吗？\"\n\n#: src/clean.rs:41\nmsgid \"Clone Directory: {}\"\nmsgstr \"克隆目录：{}\"\n\n#: src/clean.rs:47\nmsgid \"\"\n\"\\n\"\n\"Diff Directory: {}\"\nmsgstr \"\"\n\"\\n\"\n\"差异目录：{}\"\n\n#: src/clean.rs:49\nmsgid \"Do you want to remove all saved diffs?\"\nmsgstr \"你想要移除所有已保存的差异吗？\"\n\n#: src/clean.rs:65\nmsgid \"can't open diff dir: {}\"\nmsgstr \"无法打开差异目录：{}\"\n\n#: src/clean.rs:76 src/clean.rs:180\nmsgid \"could not remove '{}'\"\nmsgstr \"未能移除 '{}'\"\n\n#: src/clean.rs:95\nmsgid \"can't open clone dir: {}\"\nmsgstr \"无法打开克隆目录：{}\"\n\n#: src/clean.rs:141\nmsgid \"could not parse .SRCINFO for '{}'\"\nmsgstr \"无法解析 '{}' 的 .SRCINFO\"\n\n#: src/command_line.rs:134\nmsgid \"option {} expects a value\"\nmsgstr \"需要为选项 {} 提供一个值\"\n\n#: src/command_line.rs:165 src/command_line.rs:382\nmsgid \"option {} does not allow a value\"\nmsgstr \"选项 {} 不接受值\"\n\n#: src/command_line.rs:373\nmsgid \"unknown option --{}\"\nmsgstr \"未知的选项 --{}\"\n\n#: src/command_line.rs:376\nmsgid \"unknown option -{}\"\nmsgstr \"未知的选项 -{}\"\n\n#: src/completion.rs:26 src/search.rs:179 src/sync.rs:113\n#, fuzzy\nmsgid \"failed to decode package list\"\nmsgstr \"未能下载源\"\n\n#: src/completion.rs:35\nmsgid \"failed to open cache file '{}'\"\nmsgstr \"未能打开缓存文件 '{}'\"\n\n#: src/completion.rs:83\nmsgid \"could not update aur cache\"\nmsgstr \"未能更新 AUR 缓存\"\n\n#: src/config.rs:179\nmsgid \"invalid value '{val}' for key '{key}', expected: {exp}\"\nmsgstr \"'{val}' 不是键 '{key}' 的有效值，期望值为：{exp}\"\n\n#: src/config.rs:332\nmsgid \"unknown mode {}\"\nmsgstr \"未知的模式 {}\"\n\n#: src/config.rs:564\nmsgid \"section can not be called {}\"\nmsgstr \"不能使用 '{}' 作为设置节\"\n\n#: src/config.rs:581\nmsgid \"failed to find cache directory\"\nmsgstr \"未能找到缓存目录\"\n\n#: src/config.rs:584\nmsgid \"failed to find config directory\"\nmsgstr \"未能找到配置目录\"\n\n#: src/config.rs:588\nmsgid \"failed to find state directory\"\nmsgstr \"未能找到状态目录\"\n\n#: src/config.rs:635\nmsgid \"config file '{}' does not exist\"\nmsgstr \"配置文件 '{}' 不存在\"\n\n#: src/config.rs:684\nmsgid \"only one operation may be used at a time\"\nmsgstr \"一次只能使用一个操作\"\n\n#: src/config.rs:795\nmsgid \"no local repo named {}\"\nmsgstr \"没有名为 {} 的本地软件库\"\n\n#: src/config.rs:821\nmsgid \"can not find local repo '{}' in pacman.conf\"\nmsgstr \"无法在 pacman.conf 中找到本地软件库 '{}'\"\n\n#: src/config.rs:866\nmsgid \"failed to initialize alpm: root={} dbpath={}\"\nmsgstr \"未能初始化 alpm: root={} dbpath={}\"\n\n#: src/config.rs:941 src/config.rs:1102\nmsgid \"value can not be empty for key '{}'\"\nmsgstr \"键 '{}' 的值不能为空\"\n\n#: src/config.rs:957\nmsgid \"key '{}' does not belong to a section\"\nmsgstr \"键 '{}' 不属于任何一个设置节\"\n\n#: src/config.rs:971 src/config.rs:988 src/config.rs:990 src/config.rs:1005\nmsgid \"key can not be empty\"\nmsgstr \"键不能为空\"\n\n#: src/config.rs:981\nmsgid \"error: unknown option '{}' in repo\"\nmsgstr \"错误：软件库中有未知的选项 '{}'\"\n\n#: src/config.rs:991\nmsgid \"key can not contain null bytes\"\nmsgstr \"键不能包含空字节\"\n\n#: src/config.rs:994\nmsgid \"value can not contain null bytes\"\nmsgstr \"值不能包含空字节\"\n\n#: src/config.rs:1030\nmsgid \"error: unknown option '{}' in section [bin]\"\nmsgstr \"错误：选项节 [bin] 中有未知的选项 '{}'\"\n\n#: src/config.rs:1150\nmsgid \"error: unknown option '{}' in section [options]\"\nmsgstr \"错误：选项节 [options] 中有未知的选项 '{}'\"\n\n#: src/config.rs:1155\nmsgid \"option '{}' does not take a value\"\nmsgstr \"选项 '{}' 不接受值\"\n\n#: src/config.rs:1187 src/resolver.rs:136\nmsgid \"There are {n} providers available for {pkg}:\"\nmsgstr \"软件包 {pkg} 有 {n} 个提供者：\"\n\n#: src/config.rs:1201 src/info.rs:85 src/info.rs:190 src/info.rs:224\n#: src/resolver.rs:95 src/resolver.rs:144\nmsgid \"Repository\"\nmsgstr \"软件库\"\n\n#: src/config.rs:1227\nmsgid \"  failed to sync {}\"\nmsgstr \"  未能同步 {}\"\n\n#: src/devel.rs:136 src/download.rs:207\nmsgid \"Querying AUR...\"\nmsgstr \"正在查询 AUR……\"\n\n#: src/devel.rs:157 src/devel.rs:181 src/install.rs:203\nmsgid \"failed to parse srcinfo for '{}'\"\nmsgstr \"未能解析 '{}' 的 srcinfo\"\n\n#: src/devel.rs:201\nmsgid \"Looking for devel repos...\"\nmsgstr \"正在搜寻开发版仓库……\"\n\n#: src/devel.rs:210\nmsgid \"failed to save devel info\"\nmsgstr \"未能保存开发版信息\"\n\n#: src/devel.rs:218\nmsgid \"failed to create state directory: {}\"\nmsgstr \"未能创建状态目录：{}\"\n\n#: src/devel.rs:233\nmsgid \"failed to create temporary file: {}\"\nmsgstr \"未能创建临时文件：{}\"\n\n#: src/devel.rs:238\nmsgid \"failed to write to temporary file: {}\"\nmsgstr \"未能写入至临时文件：{}\"\n\n#: src/devel.rs:244\nmsgid \"failed to rename '{temp}' to '{devel_toml}\"\nmsgstr \"未能将 '{temp}' 重命名为 '{devel_toml}\"\n\n#: src/devel.rs:490\nmsgid \"package does not have an update\"\nmsgstr \"软件包无可用更新\"\n\n#: src/devel.rs:536\nmsgid \"failed to lookup: {}\"\nmsgstr \"未能查找：{}\"\n\n#: src/devel.rs:564\nmsgid \"invalid toml: {}\"\nmsgstr \"非有效的 toml：{}\"\n\n#: src/download.rs:100\nmsgid \"packages not in the AUR: \"\nmsgstr \"不在 AUR 中的软件包: \"\n\n#: src/download.rs:111\nmsgid \"marked out of date: \"\nmsgstr \"被标记为过时：\"\n\n#: src/download.rs:122\nmsgid \"orphans: \"\nmsgstr \"无人维护：\"\n\n#: src/download.rs:260\nmsgid \"downloading: {pkg}\"\nmsgstr \"正在下载：{pkg}\"\n\n#: src/download.rs:279 src/download.rs:602 src/info.rs:55 src/info.rs:180\n#: src/query.rs:49\nmsgid \"package '{}' was not found\"\nmsgstr \"没有找到软件包 '{}'\"\n\n#: src/download.rs:291\n#, fuzzy\nmsgid \"duplicate PKGBUILD: {}\"\nmsgstr \"重复的软件包：{}\"\n\n#: src/download.rs:307\nmsgid \"package '{}' exists but has no PKGBUILD -- skipping\"\nmsgstr \"\"\n\n#: src/download.rs:340\nmsgid \"Downloading PKGBUILDs...\"\nmsgstr \"正在下载 PKGBUILD……\"\n\n#: src/download.rs:344\nmsgid \" PKGBUILDs up to date\"\nmsgstr \" PKGBUILD 都已是最新版本\"\n\n#: src/exec.rs:72\nmsgid \"failed to run:\"\nmsgstr \"未能运行：\"\n\n#: src/exec.rs:174\nmsgid \"Pacman is currently in use, please wait...\"\nmsgstr \"Pacman 正在使用中，请等待……\"\n\n#: src/fmt.rs:24 src/info.rs:275 src/search.rs:293 src/search.rs:350\nmsgid \"None\"\nmsgstr \"无\"\n\n#: src/fmt.rs:245\nmsgid \"Repo\"\nmsgstr \"软件库\"\n\n#: src/fmt.rs:252\nmsgid \"Repo Make\"\nmsgstr \"软件库（生成依赖）\"\n\n#: src/fmt.rs:272\nmsgid \"Pkgbuilds Make\"\nmsgstr \"PKGBUILD（生成依赖）\"\n\n#: src/fmt.rs:274\nmsgid \"Aur Make\"\nmsgstr \"AUR（生成依赖）\"\n\n#: src/fmt.rs:319\nmsgid \"Repo ({})\"\nmsgstr \"软件库（{}）\"\n\n#: src/fmt.rs:327\nmsgid \"Old Version\"\nmsgstr \"旧版本\"\n\n#: src/fmt.rs:328\nmsgid \"New Version\"\nmsgstr \"新版本\"\n\n#: src/fmt.rs:329\nmsgid \"Make Only\"\nmsgstr \"仅生成\"\n\n#: src/fmt.rs:330\nmsgid \"Yes\"\nmsgstr \"是\"\n\n#: src/fmt.rs:331 src/info.rs:221\nmsgid \"No\"\nmsgstr \"否\"\n\n#: src/fmt.rs:419\nmsgid \"insufficient columns available for table display\"\nmsgstr \"可用于表格显示的列不足\"\n\n#: src/help.rs:4\nmsgid \"Usage:\"\nmsgstr \"用法：\"\n\n#: src/help.rs:5\nmsgid \"    paru\"\nmsgstr \"    paru\"\n\n#: src/help.rs:6\nmsgid \"    paru <operation> [...]\"\nmsgstr \"    paru <操作> [...]\"\n\n#: src/help.rs:7\nmsgid \"    paru <package(s)>\"\nmsgstr \"    paru <(多个)软件包>\"\n\n#: src/help.rs:9\nmsgid \"Pacman operations:\"\nmsgstr \"Pacman 操作：\"\n\n#: src/help.rs:10\nmsgid \"    paru {-h --help}\"\nmsgstr \"    paru {-h --help}\"\n\n#: src/help.rs:11\nmsgid \"    paru {-V --version}\"\nmsgstr \"    paru {-V --version}\"\n\n#: src/help.rs:12\nmsgid \"    paru {-D --database}    <options> <package(s)>\"\nmsgstr \"    paru {-D --database}    <选项> <(多个)软件包>\"\n\n#: src/help.rs:13\nmsgid \"    paru {-F --files}       [options] [package(s)]\"\nmsgstr \"    paru {-F --files}       [选项] [(多个)软件包]\"\n\n#: src/help.rs:14\nmsgid \"    paru {-Q --query}       [options] [package(s)]\"\nmsgstr \"    paru {-Q --query}       [选项] [(多个)软件包]\"\n\n#: src/help.rs:15\nmsgid \"    paru {-R --remove}      [options] <package(s)>\"\nmsgstr \"    paru {-R --remove}      [选项] <(多个)软件包>\"\n\n#: src/help.rs:16\nmsgid \"    paru {-S --sync}        [options] [package(s)]\"\nmsgstr \"    paru {-S --sync}        [选项] [(多个)软件包]\"\n\n#: src/help.rs:17\nmsgid \"    paru {-T --deptest}     [options] [package(s)]\"\nmsgstr \"    paru {-T --deptest}     [选项] [(多个)软件包]\"\n\n#: src/help.rs:18\nmsgid \"    paru {-U --upgrade}     [options] [file(s)]\"\nmsgstr \"    paru {-U --upgrade}     [选项] [(多个)文件]\"\n\n#: src/help.rs:20\nmsgid \"New operations:\"\nmsgstr \"新操作：\"\n\n#: src/help.rs:21\nmsgid \"    paru {-P --show}        [options]\"\nmsgstr \"    paru {-P --show}        [选项]\"\n\n#: src/help.rs:22\nmsgid \"    paru {-G --getpkgbuild} [package(s)]\"\nmsgstr \"    paru {-G --getpkgbuild} [(多个)软件包]\"\n\n#: src/help.rs:23\nmsgid \"    paru {-B --build}       [dir(s)]\"\nmsgstr \"    paru {-B --build}       [(多个)目录]\"\n\n#: src/help.rs:25\nmsgid \"If no arguments are provided 'paru -Syu' will be performed\"\nmsgstr \"如果未提供任何参数，则将执行 'paru -Syu'\"\n\n#: src/help.rs:27\nmsgid \"Options without operation:\"\nmsgstr \"无操作选项：\"\n\n#: src/help.rs:28\nmsgid \"    -c --clean            Remove unneeded dependencies\"\nmsgstr \"    -c --clean              移除不需要的依赖\"\n\n#: src/help.rs:29\nmsgid \"\"\n\"       --gendb            Generates development package DB used for updating\"\nmsgstr \"       --gendb              生成用于更新的开发版软件包数据库\"\n\n#: src/help.rs:31\nmsgid \"New options:\"\nmsgstr \"新选项：\"\n\n#: src/help.rs:32\nmsgid \"       --repo              Assume targets are from the repositories\"\nmsgstr \"       --repo               假设目标来自软件库\"\n\n#: src/help.rs:33\nmsgid \"\"\n\"       --pkgbuilds         Assume targets are from pkgbuild repositories\"\nmsgstr \"       --pkgbuilds          假设目标来自 pkgbuild 仓库\"\n\n#: src/help.rs:34\nmsgid \"    -a --aur               Assume targets are from the AUR\"\nmsgstr \"    -a --aur                假设目标来自 AUR\"\n\n#: src/help.rs:35\nmsgid \"    --mode      <mode>     Sets where paru looks for targets\"\nmsgstr \"    --mode      <模式>      设置 paru 寻找目标的位置\"\n\n#: src/help.rs:37\nmsgid \"\"\n\"    --interactive          Enable interactive package selection for -S, -R, \"\n\"-Ss and -Qs\"\nmsgstr \"    --interactive          在使用 -S, -R, -Ss 和 -Qs 时交互选择软件包\"\n\n#: src/help.rs:39\nmsgid \"    --aururl    <url>      Set an alternative AUR URL\"\nmsgstr \"    --aururl    <地址>      为 AUR 设置一个备用地址\"\n\n#: src/help.rs:40\nmsgid \"\"\n\"    --aurrpcur  <url>      Set an alternative URL for the AUR /rpc endpoint\"\nmsgstr \"    --aurrpcur  <地址>      为 AUR 或 rpc 端点设置一个备用地址\"\n\n#: src/help.rs:41\nmsgid \"    --clonedir  <dir>      Directory used to download and run PKGBUILDs\"\nmsgstr \"    --clonedir  <目录>      用于下载和运行 PKGBUILD 的目录\"\n\n#: src/help.rs:43\nmsgid \"    --makepkg   <file>     makepkg command to use\"\nmsgstr \"    --makepkg   <文件>      使用 makepkg 命令\"\n\n#: src/help.rs:44\nmsgid \"    --mflags    <flags>    Pass arguments to makepkg\"\nmsgstr \"    --mflags    <标志>      传递参数给 makepkg\"\n\n#: src/help.rs:45\nmsgid \"    --pacman    <file>     pacman command to use\"\nmsgstr \"    --pacman    <文件>      要使用的 pacman 命令\"\n\n#: src/help.rs:46\nmsgid \"    --git       <file>     git command to use\"\nmsgstr \"    --git       <文件>      要使用的 git 命令\"\n\n#: src/help.rs:47\nmsgid \"    --gitflags  <flags>    Pass arguments to git\"\nmsgstr \"    --gitflags  <标志>      传递参数给 git\"\n\n#: src/help.rs:48\nmsgid \"    --sudo      <file>     sudo command to use\"\nmsgstr \"    --sudo      <文件>      要使用的 sudo 命令\"\n\n#: src/help.rs:49\nmsgid \"    --sudoflags <flags>    Pass arguments to sudo\"\nmsgstr \"    --sudoflags <标志>      传递参数给 sudo\"\n\n#: src/help.rs:50\nmsgid \"    --pkgctl    <file>     pkgctl command to use\"\nmsgstr \"    --pkgctl       <文件>      要使用的 pkgctl 命令\"\n\n#: src/help.rs:51\nmsgid \"    --bat       <file>     bat command to use\"\nmsgstr \"    --bat       <文件>      要使用的 bat 命令\"\n\n#: src/help.rs:52\nmsgid \"    --batflags  <flags>    Pass arguments to bat\"\nmsgstr \"    --batflags  <标志>      传递参数给 bat\"\n\n#: src/help.rs:53\nmsgid \"    --gpg       <file>     gpg command to use\"\nmsgstr \"    --gpg       <文件>      要使用的 gpg 命令\"\n\n#: src/help.rs:54\nmsgid \"    --gpgflags  <flags>    Pass arguments to gpg\"\nmsgstr \"    --gpgflags  <标志>      传递参数给 gpg\"\n\n#: src/help.rs:55\nmsgid \"    --fm        <file>     File manager to use for PKGBUILD review\"\nmsgstr \"    --fm        <文件>      使用文件管理器审阅 PKGBUILD\"\n\n#: src/help.rs:56\nmsgid \"    --fmflags   <flags>    Pass arguments to file manager\"\nmsgstr \"    --fmflags   <标志>      传递参数给文件管理器\"\n\n#: src/help.rs:58\nmsgid \"    --completioninterval   <n> Time in days to refresh completion cache\"\nmsgstr \"    --completioninterval <n> 要刷新完成缓存的间隔天数\"\n\n#: src/help.rs:59\nmsgid \"\"\n\"    --sortby    <field>    Sort AUR results by a specific field during search\"\nmsgstr \"    --sortby    <字段>      搜索时按指定字段对 AUR 结果进行排序\"\n\n#: src/help.rs:60\nmsgid \"    --searchby  <field>    Search for packages using a specified field\"\nmsgstr \"    --searchby  <字段>      使用指定字段搜索软件包\"\n\n#: src/help.rs:61\nmsgid \"\"\n\"    --limit     <limit>    Limits the number of items returned in a search\"\nmsgstr \"    --limit     <上限>      限制搜索中返回的项目数\"\n\n#: src/help.rs:62\nmsgid \"    -x --regex             Enable regex for aur search\"\nmsgstr \"    -x --regex              为 aur 搜索启用正则表达式\"\n\n#: src/help.rs:64\nmsgid \"    --skipreview           Skip the review process\"\nmsgstr \"    --skipreview            跳过审阅流程\"\n\n#: src/help.rs:65\nmsgid \"    --review               Don't skip the review process\"\nmsgstr \"    --review                不跳过审阅流程\"\n\n#: src/help.rs:66\nmsgid \"    --[no]upgrademenu      Show interactive menu to skip upgrades\"\nmsgstr \"    --[no]upgrademenu       显示交互式菜单以跳过升级\"\n\n#: src/help.rs:67\nmsgid \"    --[no]removemake       Remove makedepends after install\"\nmsgstr \"    --[no]removemake        在安装后移除生成依赖\"\n\n#: src/help.rs:68\nmsgid \"    --[no]cleanafter       Remove package sources after install\"\nmsgstr \"    --[no]cleanafter        在安装后移除软件包的源\"\n\n#: src/help.rs:69\nmsgid \"    --[no]rebuild          Always build target packages\"\nmsgstr \"    --[no]rebuild           始终构建目标软件包\"\n\n#: src/help.rs:70\nmsgid \"    --[no]redownload       Always download PKGBUILDs of targets\"\nmsgstr \"    --[no]redownload        始终下载目标的 PKGBUILD\"\n\n#: src/help.rs:72\nmsgid \"    --[no]pgpfetch         Prompt to import PGP keys from PKGBUILDs\"\nmsgstr \"    --[no]pgpfetch          询问从 PKGBUILD 导入 PGP 密钥\"\n\n#: src/help.rs:73\nmsgid \"\"\n\"    --[no]useask           Automatically resolve conflicts using pacman's \"\n\"ask flag\"\nmsgstr \"    --[no]useask            使用 pacman 询问标志自动解决冲突\"\n\n#: src/help.rs:74\nmsgid \"\"\n\"    --[no]savechanges      Commit changes to pkgbuilds made during review\"\nmsgstr \"    --[no]savechanges       向 PKGBUILD 提交审阅时的修改\"\n\n#: src/help.rs:75\nmsgid \"    --[no]newsonupgrade    Print new news during sysupgrade\"\nmsgstr \"    --[no]newsonupgrade     在系统升级时打印新的新闻\"\n\n#: src/help.rs:76\nmsgid \"\"\n\"    --[no]combinedupgrade  Refresh then perform the repo and AUR upgrade \"\n\"together\"\nmsgstr \"    --[no]combinedupgrade   刷新后一起执行软件库和 AUR 升级\"\n\n#: src/help.rs:77\nmsgid \"\"\n\"    --[no]batchinstall     Build multiple AUR packages then install them \"\n\"together\"\nmsgstr \"    --[no]batchinstall      构建多个 AUR 软件包再安装它们\"\n\n#: src/help.rs:78\nmsgid \"\"\n\"    --[no]provides         Look for matching providers when searching for \"\n\"packages\"\nmsgstr \"    --[no]provides          在搜索时查找匹配的提供者\"\n\n#: src/help.rs:79\nmsgid \"    --[no]devel            Check development packages during sysupgrade\"\nmsgstr \"    --[no]devel             系统升级时检查开发版软件包\"\n\n#: src/help.rs:80\nmsgid \"\"\n\"    --[no]installdebug     Also install debug packages when a package \"\n\"provides them\"\nmsgstr \"    --[no]installdebug      安装调试包（若软件包提供）\"\n\n#: src/help.rs:81\nmsgid \"\"\n\"    --[no]sudoloop         Loop sudo calls in the background to avoid timeout\"\nmsgstr \"    --[no]sudoloop          在后台循环调用 sudo 以避免超时\"\n\n#: src/help.rs:82\nmsgid \"    --[no]chroot           Build packages in a chroot\"\nmsgstr \"    --[no]chroot            在 chroot 中构建\"\n\n#: src/help.rs:83\nmsgid \"\"\n\"    --[no]failfast         Exit as soon as building an AUR package fails\"\nmsgstr \"    --[no]failfast          当构建 AUR 软件包失败时立即退出\"\n\n#: src/help.rs:84\nmsgid \"\"\n\"    --[no]keepsrc          Keep src/ and pkg/ dirs after building packages\"\nmsgstr \"    --[no]keepsrc           构建完软件包后保留 src/ 和 pkg/ 目录\"\n\n#: src/help.rs:85\nmsgid \"    --[no]sign             Sign packages with gpg\"\nmsgstr \"    --[no]sign              使用 gpg 签名软件包\"\n\n#: src/help.rs:86\nmsgid \"    --[no]signdb           Sign databases with gpg\"\nmsgstr \"    --[no]signdb            使用 gpg 签名数据库\"\n\n#: src/help.rs:87\nmsgid \"    --[no]localrepo        Build packages into a local repo\"\nmsgstr \"    --[no]localrepo             构建软件包到本地软件库中\"\n\n#: src/help.rs:88\nmsgid \"\"\n\"    --nocheck              Don't resolve checkdepends or run the check \"\n\"function\"\nmsgstr \"    --nocheck               不要解决依赖项或运行检查功能\"\n\n#: src/help.rs:90\nmsgid \"\"\n\"    --rootchrootpkgs       Packages to install in the root chroot (default: \"\n\"base-devel)\"\nmsgstr \"\"\n\n#: src/help.rs:92\nmsgid \"\"\n\"    --develsuffixes        Suffixes used to decide if a package is a devel \"\n\"package\"\nmsgstr \"    --develsuffixes         用于“决定软件包是否为开发版”的后缀\"\n\n#: src/help.rs:93\nmsgid \"    --ignoredevel          Ignore devel upgrades for specified packages\"\nmsgstr \"    --ignoredevel           忽略指定软件包的开发版更新\"\n\n#: src/help.rs:94\nmsgid \"\"\n\"    --bottomup             Shows AUR's packages first and then repository's\"\nmsgstr \"\"\n\"    --bottomup              首先显示 AUR 中的软件包，然后显示软件库中的软件包\"\n\n#: src/help.rs:95\nmsgid \"\"\n\"    --topdown              Shows repository's packages first and then AUR's\"\nmsgstr \"\"\n\"    --topdown               首先显示软件库中的软件包，然后显示 AUR 中的软件包\"\n\n#: src/help.rs:97\nmsgid \"show specific options:\"\nmsgstr \"显示的特定选项：\"\n\n#: src/help.rs:98\nmsgid \"    -c --complete         Used for completions\"\nmsgstr \"    -c --complete           用于补全\"\n\n#: src/help.rs:99\nmsgid \"    -s --stats            Display system package statistics\"\nmsgstr \"    -s --stats              显示系统软件包统计信息\"\n\n#: src/help.rs:100\nmsgid \"    -w --news             Print arch news\"\nmsgstr \"    -w --news               打印 arch 新闻\"\n\n#: src/help.rs:102\nmsgid \"getpkgbuild specific options:\"\nmsgstr \"获取 PKGBUILD 的特定选项：\"\n\n#: src/help.rs:103\nmsgid \"    -p --print            Print pkgbuild to stdout\"\nmsgstr \"    -p --print              打印 PKGBUILD 到 stdout\"\n\n#: src/help.rs:104\nmsgid \"    -c --comments         Print AUR comments for pkgbuild\"\nmsgstr \"    -c --comments           打印 PKGBUILD 的 AUR 评论\"\n\n#: src/help.rs:105\nmsgid \"    -s --ssh              Clone package using SSH\"\nmsgstr \"    -s --ssh                使用 SSH 克隆软件包\"\n\n#: src/help.rs:107\nmsgid \"Build specific options:\"\nmsgstr \"构建的特定选项：\"\n\n#: src/help.rs:108\nmsgid \"    -i --install          Install package as well as building\"\nmsgstr \"    -i --install            构建并安装软件包\"\n\n#: src/info.rs:86 src/info.rs:191 src/info.rs:225\nmsgid \"Name\"\nmsgstr \"名字\"\n\n#: src/info.rs:87 src/info.rs:192 src/info.rs:226\nmsgid \"Version\"\nmsgstr \"版本\"\n\n#: src/info.rs:88 src/info.rs:193 src/info.rs:227\nmsgid \"Description\"\nmsgstr \"描述\"\n\n#: src/info.rs:89 src/info.rs:195 src/info.rs:235\nmsgid \"Groups\"\nmsgstr \"组\"\n\n#: src/info.rs:90 src/info.rs:196 src/info.rs:236\nmsgid \"Licenses\"\nmsgstr \"许可证\"\n\n#: src/info.rs:91 src/info.rs:197 src/info.rs:237\nmsgid \"Provides\"\nmsgstr \"提供\"\n\n#: src/info.rs:92 src/info.rs:198 src/info.rs:238\nmsgid \"Depends On\"\nmsgstr \"依赖于\"\n\n#: src/info.rs:93 src/info.rs:199 src/info.rs:239\nmsgid \"Make Deps\"\nmsgstr \"生成依赖\"\n\n#: src/info.rs:94 src/info.rs:200 src/info.rs:240\nmsgid \"Check Deps\"\nmsgstr \"检查依赖\"\n\n#: src/info.rs:95 src/info.rs:201 src/info.rs:241\nmsgid \"Optional Deps\"\nmsgstr \"可选依赖\"\n\n#: src/info.rs:96 src/info.rs:202 src/info.rs:242\nmsgid \"Conflicts With\"\nmsgstr \"冲突于\"\n\n#: src/info.rs:97 src/info.rs:243\nmsgid \"Maintainer\"\nmsgstr \"维护者\"\n\n#: src/info.rs:98 src/info.rs:244\nmsgid \"Votes\"\nmsgstr \"得票\"\n\n#: src/info.rs:99 src/info.rs:245\nmsgid \"Popularity\"\nmsgstr \"受欢迎度\"\n\n#: src/info.rs:100 src/info.rs:246\nmsgid \"First Submitted\"\nmsgstr \"首次提交\"\n\n#: src/info.rs:101 src/info.rs:247\nmsgid \"Last Modified\"\nmsgstr \"最后修改\"\n\n#: src/info.rs:102 src/info.rs:249\nmsgid \"Out Of Date\"\nmsgstr \"过期\"\n\n#: src/info.rs:103 src/info.rs:254\nmsgid \"ID\"\nmsgstr \"ID\"\n\n#: src/info.rs:104 src/info.rs:255\nmsgid \"Package Base ID\"\nmsgstr \"包基础 ID\"\n\n#: src/info.rs:105 src/info.rs:256\nmsgid \"Keywords\"\nmsgstr \"关键词\"\n\n#: src/info.rs:106 src/info.rs:258\nmsgid \"Snapshot URL\"\nmsgstr \"快照 URL\"\n\n#: src/info.rs:107 src/info.rs:203\nmsgid \"Path\"\nmsgstr \"路径\"\n\n#: src/install.rs:166 src/query.rs:48 src/lib.rs:101\nmsgid \"error:\"\nmsgstr \"错误：\"\n\n#: src/install.rs:167\nmsgid \"could not get news\"\nmsgstr \"无法获取新闻\"\n\n#: src/install.rs:172 src/install.rs:1127\nmsgid \"Proceed with installation?\"\nmsgstr \"继续安装？\"\n\n#: src/install.rs:207\nmsgid \"could not find .SRCINFO for '{}'\"\nmsgstr \"无法找到 '{}' 的 .SRCINFO\"\n\n#: src/install.rs:353\nmsgid \"could not find package '{pkg}' in package list for '{base}'\"\nmsgstr \"未能在列表 '{base}' 中找到软件包 '{pkg}'\"\n\n#: src/install.rs:451\nmsgid \"packages failed to build: {}\"\nmsgstr \"未能构建的软件包：{}\"\n\n#: src/install.rs:523\nmsgid \"adding {} to the install list\"\nmsgstr \"正在将 {} 加入安装列表\"\n\n#: src/install.rs:553 src/install.rs:568\nmsgid \"failed to download sources for '{}'\"\nmsgstr \"未能下载 '{}' 的源\"\n\n#: src/install.rs:577 src/install.rs:603 src/install.rs:611\nmsgid \"failed to build '{}'\"\nmsgstr \"未能构建 '{}'\"\n\n#: src/install.rs:580 src/install.rs:784\nmsgid \"{}: parsing pkg list...\"\nmsgstr \"{}：正在解析软件包列表……\"\n\n#: src/install.rs:584\nmsgid \"package list does not match srcinfo\"\nmsgstr \"软件包列表与 srcinfo 不匹配\"\n\n#: src/install.rs:618\nmsgid \"{}-{} is up to date -- skipping build\"\nmsgstr \"{}-{} 已是最新版本 -- 跳过构建\"\n\n#: src/install.rs:775\nmsgid \"can't build {base}, deps not satisfied: {deps}\"\nmsgstr \"无法构建 {base}，未满足以下依赖关系：{deps}\"\n\n#: src/install.rs:846\nmsgid \"fetching devel info...\"\nmsgstr \"正在获取开发版信息……\"\n\n#: src/install.rs:911 src/lib.rs:240\nmsgid \"no targets specified (use -h for help)\"\nmsgstr \"没有指定目标（使用 -h 来获取帮助）\"\n\n#: src/install.rs:1008 src/install.rs:1097 src/search.rs:450 src/search.rs:476\n#: src/lib.rs:304\nmsgid \" there is nothing to do\"\nmsgstr \" 今日无事可做\"\n\n#: src/install.rs:1016\nmsgid \"Resolving dependencies...\"\nmsgstr \"正在解析依赖关系……\"\n\n#: src/install.rs:1077\nmsgid \"can't install AUR package as root\"\nmsgstr \"无法以 root 身份安装 AUR 软件包\"\n\n#: src/install.rs:1080\nmsgid \"--downloadonly can't be used for AUR packages\"\nmsgstr \"--downloadonly 参数不可用于 AUR 软件包\"\n\n#: src/install.rs:1113\nmsgid \"Remove make dependencies after install?\"\nmsgstr \"在安装后移除生成依赖？\"\n\n#: src/install.rs:1124\nmsgid \"Proceed to review?\"\nmsgstr \"继续以审阅？\"\n\n#: src/install.rs:1177\nmsgid \"no architecture\"\nmsgstr \"无架构\"\n\n#: src/install.rs:1191\nmsgid \"The following packages are not compatible with your architecture:\"\nmsgstr \"下列软件包与你的系统架构不兼容：\"\n\n#: src/install.rs:1205\nmsgid \"Would you like to try build them anyway?\"\nmsgstr \"你还是想要构建它们吗？\"\n\n#: src/install.rs:1349\nmsgid \"duplicate packages: {}\"\nmsgstr \"重复的软件包：{}\"\n\n#: src/install.rs:1353\nmsgid \"could not find all required packages:\"\nmsgstr \"无法找到所有需要的软件包：\"\n\n#: src/install.rs:1365\nmsgid \"\"\n\"\\n\"\n\"    {missing} (wanted by: {stack})\"\nmsgstr \"\"\n\"\\n\"\n\"    {missing}（被 {stack} 需要）\"\n\n#: src/install.rs:1379 src/install.rs:2122\nmsgid \"{}-{} is up to date -- skipping\"\nmsgstr \"{}-{} 已是最新 -- 正在跳过\"\n\n#: src/install.rs:1387\nmsgid \"Calculating conflicts...\"\nmsgstr \"正在计算冲突……\"\n\n#: src/install.rs:1410\nmsgid \"Calculating inner conflicts...\"\nmsgstr \"正在计算内部冲突……\"\n\n#: src/install.rs:1422\nmsgid \"Inner conflicts found:\"\nmsgstr \"发现的内部冲突：\"\n\n#: src/install.rs:1444\nmsgid \"Conflicts found:\"\nmsgstr \"发现的冲突：\"\n\n#: src/install.rs:1467\nmsgid \"Conflicting packages will have to be confirmed manually\"\nmsgstr \"冲突的软件包将需要手动确认\"\n\n#: src/install.rs:1471\nmsgid \"can not install conflicting packages with --noconfirm\"\nmsgstr \"无法通过 --noconfirm 来安装有冲突的软件包\"\n\n#: src/install.rs:1599\nmsgid \"failed to execute file manager: {}\"\nmsgstr \"未能执行文件管理器：{}\"\n\n#: src/install.rs:1602\n#, fuzzy\nmsgid \"file manager '{}' did not execute successfully\"\nmsgstr \"文件管理器未能成功执行\"\n\n#: src/install.rs:1620\nmsgid \"failed to read dir: {}\"\nmsgstr \"未能读取目录：{}\"\n\n#: src/install.rs:1677\nmsgid \"failed to open: {}\"\nmsgstr \"未能打开：{}\"\n\n#: src/install.rs:1697\nmsgid \"binary file: {}\"\nmsgstr \"二进制文件：{}\"\n\n#: src/install.rs:1719 src/install.rs:1790\nmsgid \"Accept changes?\"\nmsgstr \"接受更改？\"\n\n#: src/install.rs:1759\nmsgid \"Paging with less. Press 'q' to quit or 'h' for help.\"\nmsgstr \"\"\n\n#: src/install.rs:1794\nmsgid \" nothing new to review\"\nmsgstr \" 没有可供审阅的新更改\"\n\n#: src/install.rs:2070\nmsgid \"can't find package name in packagelist: {}\"\nmsgstr \"无法在软件包列表中找到软件包的名字：{}\"\n\n#: src/install.rs:2142\nmsgid \"Signing packages...\"\nmsgstr \"正在为软件包签名……\"\n\n#: src/install.rs:2172\nmsgid \"{}-{} is up to date -- skipping install\"\nmsgstr \"{}-{} 已是最新 -- 跳过安装\"\n\n#: src/keys.rs:57\nmsgid \"keys need to be imported:\"\nmsgstr \"需要导入的公钥：\"\n\n#: src/keys.rs:62\nmsgid \"     {key} wanted by: {base}\"\nmsgstr \"     {key} 被 {base} 需要\"\n\n#: src/news.rs:57\nmsgid \"No Date \"\nmsgstr \"没有日期 \"\n\n#: src/news.rs:60\nmsgid \"No Title\"\nmsgstr \"没有标题\"\n\n#: src/news.rs:69\nmsgid \"no new news\"\nmsgstr \"没有新的新闻\"\n\n#: src/pkgbuild.rs:91\nmsgid \"repo {} does not have a URL or Path\"\nmsgstr \"软件库 {} 不具有 URL 或路径\"\n\n#: src/pkgbuild.rs:153\nmsgid \"repo {} not downloaded (use -Sy --pkgbuilds to download)\"\nmsgstr \"软件库 {} 未下载（使用 -Sy --pkgbuilds 下载）\"\n\n#: src/pkgbuild.rs:200\nmsgid \"Generating .SRCINFO for {repo}/{dir}...\"\nmsgstr \"正在为 {repo}/{dir} 生成 .SRCINFO……\"\n\n#: src/pkgbuild.rs:278\nmsgid \"failed to parse srcinfo \\\"{}\\\"\"\nmsgstr \"未能解析 srcinfo \\\"{}\\\"\"\n\n#: src/pkgbuild.rs:368\nmsgid \"Downloading PKGBUILD Repos...\"\nmsgstr \"正在下载 PKGBUILD 仓库……\"\n\n#: src/pkgbuild.rs:422\nmsgid \"failed to parse srcinfo generated by makepkg\"\nmsgstr \"未能解析由 makepkg 生成的 srcinfo\"\n\n#: src/query.rs:151\nmsgid \" [ignored]\"\nmsgstr \" [已忽略]\"\n\n#: src/repo.rs:253\nmsgid \"failed to get current exe\"\nmsgstr \"未能获取当前可执行文件（current_exe）\"\n\n#: src/repo.rs:298\nmsgid \"syncing local databases...\"\nmsgstr \"正在同步本地数据库……\"\n\n#: src/repo.rs:304\nmsgid \"  nothing to do\"\nmsgstr \"  今日无事可做\"\n\n#: src/repo.rs:335\nmsgid \"there is nothing to do\"\nmsgstr \"今日无事可做\"\n\n#: src/repo.rs:341\nmsgid \"Packages\"\nmsgstr \"软件包\"\n\n#: src/repo.rs:354\nmsgid \"Proceed with removal?\"\nmsgstr \"继续删除？\"\n\n#: src/repo.rs:415\nmsgid \" [installed: {}]\"\nmsgstr \" [已安装：{}]\"\n\n#: src/repo.rs:417 src/sync.rs:144\nmsgid \" [installed]\"\nmsgstr \" [已安装]\"\n\n#: src/search.rs:41\nmsgid \"aur search failed\"\nmsgstr \"aur 搜索失败\"\n\n#: src/search.rs:285 src/search.rs:338 src/search.rs:410\n#, fuzzy\nmsgid \"[installed: {}]\"\nmsgstr \" [已安装：{}]\"\n\n#: src/search.rs:287 src/search.rs:340 src/search.rs:412\n#, fuzzy\nmsgid \"[installed]\"\nmsgstr \" [已安装]\"\n\n#: src/search.rs:332\n#, fuzzy\nmsgid \"[out-of-date: {}]\"\nmsgstr \"[过时：{}]\"\n\n#: src/search.rs:347\n#, fuzzy\nmsgid \"[orphaned]\"\nmsgstr \"[无人维护]\"\n\n#: src/search.rs:491\nmsgid \"no packages match search\"\nmsgstr \"没有匹配搜索的软件包\"\n\n#: src/search.rs:529\nmsgid \"Packages to install (eg: 1 2 3, 1-3):\"\nmsgstr \"要安装的软件包（例如：1 2 3, 1-3）：\"\n\n#: src/search.rs:531\nmsgid \"Select packages (eg: 1 2 3, 1-3):\"\nmsgstr \"选择软件包（例如：1 2 3, 1-3）：\"\n\n#: src/stats.rs:90\nmsgid \"Total installed packages: {}\"\nmsgstr \"共安装软件包：{}\"\n\n#: src/stats.rs:94\nmsgid \"Aur packages: {}\"\nmsgstr \"AUR 软件包：{}\"\n\n#: src/stats.rs:98\nmsgid \"Repo packages: {}\"\nmsgstr \"软件库软件包：{}\"\n\n#: src/stats.rs:102\nmsgid \"Explicitly installed packages: {}\"\nmsgstr \"明确地被安装的软件包：{}\"\n\n#: src/stats.rs:106\nmsgid \"Total Size occupied by packages: {}\"\nmsgstr \"软件包共占用空间：{}\"\n\n#: src/stats.rs:113\nmsgid \"Ten biggest packages:\"\nmsgstr \"最大的十个软件包：\"\n\n#: src/upgrade.rs:126\nmsgid \"Looking for PKGBUILD upgrades...\"\nmsgstr \"正在查找 PKGBUILD 更新……\"\n\n#: src/upgrade.rs:134\nmsgid \"Looking for AUR upgrades...\"\nmsgstr \"正在查找 AUR 更新……\"\n\n#: src/upgrade.rs:165\nmsgid \"Looking for devel upgrades...\"\nmsgstr \"正在查找开发版更新……\"\n\n#: src/upgrade.rs:193 src/upgrade.rs:206\nmsgid \"warning:\"\nmsgstr \"警告：\"\n\n#: src/upgrade.rs:195 src/upgrade.rs:208\nmsgid \"{pkg}: ignoring package upgrade ({old} => {new})\"\nmsgstr \"{pkg}：正在忽略软件包更新（{old} => {new}）\"\n\n#: src/upgrade.rs:400\nmsgid \"Packages to exclude (eg: 1 2 3, 1-3):\"\nmsgstr \"要排除的包（例如：1 2 3, 1-3）：\"\n\n#: src/util.rs:121\nmsgid \"[Y/n]:\"\nmsgstr \"[Y/n]：\"\n\n#: src/util.rs:123\nmsgid \"[y/N]:\"\nmsgstr \"[y/N]：\"\n\n#: src/util.rs:142\nmsgid \"y\"\nmsgstr \"y\"\n\n#: src/util.rs:142\nmsgid \"yes\"\nmsgstr \"yes\"\n\n#: src/util.rs:300\nmsgid \"Enter a number (default=1): \"\nmsgstr \"输入一个数字（默认=1）：\"\n\n#: src/util.rs:317\nmsgid \"invalid number: {}\"\nmsgstr \"非有效的数字：{}\"\n\n#: src/util.rs:327\nmsgid \"invalid value: {n} is not between 1 and {max}\"\nmsgstr \"非有效的值：{n} 不在 1 和 {max} 之间\"\n\n#: src/resolver.rs:83\nmsgid \"There are {} members in group\"\nmsgstr \"组内有 {} 个成员\"\n\n#: src/resolver.rs:108\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Enter a selection (default=all): \"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"输入选择（默认=全部）：\"\n\n#: src/lib.rs:206\nmsgid \"can not use chroot builds: devtools is not installed\"\nmsgstr \"无法使用 chroot 构建：devtools 未安装\"\n\n#: src/lib.rs:313\nmsgid \"no operation specified (use -h for help)\"\nmsgstr \"未指定操作（使用 -h 获取帮助）\"\n\n#~ msgid \"[Installed: {}]\"\n#~ msgstr \"[已安装：{}]\"\n\n#~ msgid \"[Installed]\"\n#~ msgstr \"[已安装]\"\n\n#~ msgid \"Aur ({})\"\n#~ msgstr \"Aur（{}）\"\n\n#~ msgid \"Pkgbuilds ({})\"\n#~ msgstr \"PKGBUILD（{}）\"\n\n#~ msgid \"could not get current directory\"\n#~ msgstr \"未能获取当前目录\"\n\n#~ msgid \"can not get repo packages: asp is not installed\"\n#~ msgstr \"无法获取软件库中的包：需要安装 asp\"\n\n#~ msgid \"Missing ABS packages \"\n#~ msgstr \"缺失 ABS 软件包 \"\n\n#~ msgid \"does not contain PKGBUILD: skipping\"\n#~ msgstr \"不包含 PKGBUILD：正在跳过\"\n\n#~ msgid \"{} is not installed: can not get repo packages\"\n#~ msgstr \"未安装 {}：无法获取软件库中的包\"\n\n#~ msgid \"asp returned {}\"\n#~ msgstr \"asp 返回了 {}\"\n\n#~ msgid \"    --asp       <file>     asp command to use\"\n#~ msgstr \"    --asp       <文件>      要使用的 asp 命令\"\n\n#~ msgid \"Generating .SRCINFO for {dir}...\"\n#~ msgstr \"正在为 {dir} 生成 .SRCINFO……\"\n\n#~ msgid \"pkgbase {base} already exists in repo {repo} -- skipping)\"\n#~ msgstr \"软件包组 {base} 在软件库 {repo} 中已经存在 -- 正在跳过）\"\n\n#~ msgid \"upgrade specific options:\"\n#~ msgstr \"升级的特定选项：\"\n\n#, fuzzy\n#~ msgid \"Looking for SRCINFO upgrades...\"\n#~ msgstr \"正在查找 SRCINFO 更新……\"\n\n#~ msgid \"error: unknown section '{}'\"\n#~ msgstr \"错误：未知的选项节 '{}'\"\n\n#~ msgid \"can't build package as root\"\n#~ msgstr \"无法以 root 身份构建软件包\"\n\n#~ msgid \"failed to build\"\n#~ msgstr \"未能构建\"\n\n#~ msgid \"parsing pkg list...\"\n#~ msgstr \"正在解析软件包列表……\"\n\n#~ msgid \"\"\n#~ \"{} is a directory\\n\"\n#~ \"\\n\"\n#~ msgstr \"\"\n#~ \"{} 是一个目录\\n\"\n#~ \"\\n\"\n\n#~ msgid \"n\"\n#~ msgstr \"n\"\n\n#~ msgid \"no\"\n#~ msgstr \"no\"\n"
  },
  {
    "path": "po/zh_TW.po",
    "content": "# Copyright (C) YEAR THE paru'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the paru package.\n#\n# SPDX-FileCopyrightText: 2021, 2022, 2023 Jeff Huang <s8321414@gmail.com>\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: paru VERSION\\n\"\n\"Report-Msgid-Bugs-To: https://github.com/Morganamilo/paru\\n\"\n\"POT-Creation-Date: 2026-01-08 17:40+0000\\n\"\n\"PO-Revision-Date: 2023-12-17 22:06+0800\\n\"\n\"Last-Translator: Jeff Huang <s8321414@gmail.com>\\n\"\n\"Language-Team: Chinese <zh-l10n@lists.slat.org>\\n\"\n\"Language: zh_TW\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=1; plural=0;\\n\"\n\"X-Generator: Lokalize 23.08.4\\n\"\n\n#: src/clean.rs:36\nmsgid \"Do you want to clean ALL AUR packages from cache?\"\nmsgstr \"您確定要從快取中清除所有 AUR 軟體包嗎？\"\n\n#: src/clean.rs:38\nmsgid \"Do you want to clean all other AUR packages from cache?\"\nmsgstr \"您確定要從快取中清除其他所有的 AUR 軟體包嗎？\"\n\n#: src/clean.rs:41\nmsgid \"Clone Directory: {}\"\nmsgstr \"再製目錄： {}\"\n\n#: src/clean.rs:47\nmsgid \"\"\n\"\\n\"\n\"Diff Directory: {}\"\nmsgstr \"\"\n\"\\n\"\n\"差異目錄： {}\"\n\n#: src/clean.rs:49\nmsgid \"Do you want to remove all saved diffs?\"\nmsgstr \"您確定要移除所有儲存的差異嗎？\"\n\n#: src/clean.rs:65\nmsgid \"can't open diff dir: {}\"\nmsgstr \"無法開啟差異資料夾： {}\"\n\n#: src/clean.rs:76 src/clean.rs:180\nmsgid \"could not remove '{}'\"\nmsgstr \"無法移除「{}」\"\n\n#: src/clean.rs:95\nmsgid \"can't open clone dir: {}\"\nmsgstr \"無法開啟再製目錄： {}\"\n\n#: src/clean.rs:141\nmsgid \"could not parse .SRCINFO for '{}'\"\nmsgstr \"無法解析「{}」的 .SRCINFO\"\n\n#: src/command_line.rs:134\nmsgid \"option {} expects a value\"\nmsgstr \"選項 {} 預期值\"\n\n#: src/command_line.rs:165 src/command_line.rs:382\nmsgid \"option {} does not allow a value\"\nmsgstr \"選項 {} 不允許值\"\n\n#: src/command_line.rs:373\nmsgid \"unknown option --{}\"\nmsgstr \"未知的選項 --{}\"\n\n#: src/command_line.rs:376\nmsgid \"unknown option -{}\"\nmsgstr \"未知的選項 -{}\"\n\n#: src/completion.rs:26 src/search.rs:179 src/sync.rs:113\n#, fuzzy\nmsgid \"failed to decode package list\"\nmsgstr \"下載來源失敗\"\n\n#: src/completion.rs:35\nmsgid \"failed to open cache file '{}'\"\nmsgstr \"開啟快取檔案「{}」失敗\"\n\n#: src/completion.rs:83\nmsgid \"could not update aur cache\"\nmsgstr \"無法更新 aur 快取\"\n\n#: src/config.rs:179\nmsgid \"invalid value '{val}' for key '{key}', expected: {exp}\"\nmsgstr \"鍵「{key}」有無效值「{val}」，預期： {exp}\"\n\n#: src/config.rs:332\nmsgid \"unknown mode {}\"\nmsgstr \"未知的模式 {}\"\n\n#: src/config.rs:564\nmsgid \"section can not be called {}\"\nmsgstr \"區段不能稱為 {}\"\n\n#: src/config.rs:581\nmsgid \"failed to find cache directory\"\nmsgstr \"尋找快取目錄失敗\"\n\n#: src/config.rs:584\nmsgid \"failed to find config directory\"\nmsgstr \"尋找設定目錄失敗\"\n\n#: src/config.rs:588\nmsgid \"failed to find state directory\"\nmsgstr \"找不到狀態目錄\"\n\n#: src/config.rs:635\nmsgid \"config file '{}' does not exist\"\nmsgstr \"設定檔「{}」不存在\"\n\n#: src/config.rs:684\nmsgid \"only one operation may be used at a time\"\nmsgstr \"一次只能使用一種操作\"\n\n#: src/config.rs:795\nmsgid \"no local repo named {}\"\nmsgstr \"沒有名為 {} 的本機軟體庫\"\n\n#: src/config.rs:821\nmsgid \"can not find local repo '{}' in pacman.conf\"\nmsgstr \"在 pacman.conf 中找不到本機軟體庫「{}」\"\n\n#: src/config.rs:866\nmsgid \"failed to initialize alpm: root={} dbpath={}\"\nmsgstr \"初始化 alpm 失敗：root={} dbpath={}\"\n\n#: src/config.rs:941 src/config.rs:1102\nmsgid \"value can not be empty for key '{}'\"\nmsgstr \"鍵「{}」的值不能為空\"\n\n#: src/config.rs:957\nmsgid \"key '{}' does not belong to a section\"\nmsgstr \"鍵「{}」不屬於某個部份\"\n\n#: src/config.rs:971 src/config.rs:988 src/config.rs:990 src/config.rs:1005\nmsgid \"key can not be empty\"\nmsgstr \"鍵不能為空\"\n\n#: src/config.rs:981\nmsgid \"error: unknown option '{}' in repo\"\nmsgstr \"錯誤：在軟體庫中有未知的選項「{}」\"\n\n#: src/config.rs:991\nmsgid \"key can not contain null bytes\"\nmsgstr \"鍵不能包含空的位元組\"\n\n#: src/config.rs:994\nmsgid \"value can not contain null bytes\"\nmsgstr \"值不能包含空的位元組\"\n\n#: src/config.rs:1030\nmsgid \"error: unknown option '{}' in section [bin]\"\nmsgstr \"錯誤：在 [bin] 部份中有未知選項「{}」\"\n\n#: src/config.rs:1150\nmsgid \"error: unknown option '{}' in section [options]\"\nmsgstr \"錯誤：在 [options] 部份中有未知選項「{}」\"\n\n#: src/config.rs:1155\nmsgid \"option '{}' does not take a value\"\nmsgstr \"選項「{}」沒有值\"\n\n#: src/config.rs:1187 src/resolver.rs:136\nmsgid \"There are {n} providers available for {pkg}:\"\nmsgstr \"有 {n} 個軟體包提供了 {pkg}：\"\n\n#: src/config.rs:1201 src/info.rs:85 src/info.rs:190 src/info.rs:224\n#: src/resolver.rs:95 src/resolver.rs:144\nmsgid \"Repository\"\nmsgstr \"軟體庫\"\n\n#: src/config.rs:1227\nmsgid \"  failed to sync {}\"\nmsgstr \"  同步 {} 失敗\"\n\n#: src/devel.rs:136 src/download.rs:207\nmsgid \"Querying AUR...\"\nmsgstr \"正在檢索 AUR……\"\n\n#: src/devel.rs:157 src/devel.rs:181 src/install.rs:203\nmsgid \"failed to parse srcinfo for '{}'\"\nmsgstr \"解析「{}」的 srcinfo 失敗\"\n\n#: src/devel.rs:201\nmsgid \"Looking for devel repos...\"\nmsgstr \"正在尋找 devel 軟體庫……\"\n\n#: src/devel.rs:210\nmsgid \"failed to save devel info\"\nmsgstr \"儲存 devel 資訊失敗\"\n\n#: src/devel.rs:218\nmsgid \"failed to create state directory: {}\"\nmsgstr \"建立狀態目錄失敗：{}\"\n\n#: src/devel.rs:233\nmsgid \"failed to create temporary file: {}\"\nmsgstr \"建立臨時檔案失敗：{}\"\n\n#: src/devel.rs:238\nmsgid \"failed to write to temporary file: {}\"\nmsgstr \"寫入臨時檔案失敗：{}\"\n\n#: src/devel.rs:244\nmsgid \"failed to rename '{temp}' to '{devel_toml}\"\nmsgstr \"將「{temp}」重新命名為「{devel_toml}」\"\n\n#: src/devel.rs:490\nmsgid \"package does not have an update\"\nmsgstr \"軟體包沒有更新\"\n\n#: src/devel.rs:536\nmsgid \"failed to lookup: {}\"\nmsgstr \"查詢失敗：{}\"\n\n#: src/devel.rs:564\nmsgid \"invalid toml: {}\"\nmsgstr \"無效的 toml：{}\"\n\n#: src/download.rs:100\nmsgid \"packages not in the AUR: \"\nmsgstr \"不在 AUR 中的軟體包： \"\n\n#: src/download.rs:111\nmsgid \"marked out of date: \"\nmsgstr \"標記為過期： \"\n\n#: src/download.rs:122\nmsgid \"orphans: \"\nmsgstr \"被棄置： \"\n\n#: src/download.rs:260\nmsgid \"downloading: {pkg}\"\nmsgstr \"正在下載：{pkg}\"\n\n#: src/download.rs:279 src/download.rs:602 src/info.rs:55 src/info.rs:180\n#: src/query.rs:49\nmsgid \"package '{}' was not found\"\nmsgstr \"找不到軟體包「{}」\"\n\n#: src/download.rs:291\n#, fuzzy\nmsgid \"duplicate PKGBUILD: {}\"\nmsgstr \"重複的軟體包：{}\"\n\n#: src/download.rs:307\nmsgid \"package '{}' exists but has no PKGBUILD -- skipping\"\nmsgstr \"\"\n\n#: src/download.rs:340\nmsgid \"Downloading PKGBUILDs...\"\nmsgstr \"正在下載 PKGBUILD……\"\n\n#: src/download.rs:344\nmsgid \" PKGBUILDs up to date\"\nmsgstr \" PKGBUILD 皆為最新\"\n\n#: src/exec.rs:72\nmsgid \"failed to run:\"\nmsgstr \"執行失敗：\"\n\n#: src/exec.rs:174\nmsgid \"Pacman is currently in use, please wait...\"\nmsgstr \"Pacman 目前正在使用中，請稍候……\"\n\n#: src/fmt.rs:24 src/info.rs:275 src/search.rs:293 src/search.rs:350\nmsgid \"None\"\nmsgstr \"無\"\n\n#: src/fmt.rs:245\nmsgid \"Repo\"\nmsgstr \"軟體庫\"\n\n#: src/fmt.rs:252\nmsgid \"Repo Make\"\nmsgstr \"軟體庫 Make\"\n\n#: src/fmt.rs:272\nmsgid \"Pkgbuilds Make\"\nmsgstr \"Pkgbuilds Make\"\n\n#: src/fmt.rs:274\nmsgid \"Aur Make\"\nmsgstr \"Aur Make\"\n\n#: src/fmt.rs:319\nmsgid \"Repo ({})\"\nmsgstr \"軟體庫 ({})\"\n\n#: src/fmt.rs:327\nmsgid \"Old Version\"\nmsgstr \"舊版本\"\n\n#: src/fmt.rs:328\nmsgid \"New Version\"\nmsgstr \"新版本\"\n\n#: src/fmt.rs:329\nmsgid \"Make Only\"\nmsgstr \"僅 Make\"\n\n#: src/fmt.rs:330\nmsgid \"Yes\"\nmsgstr \"是\"\n\n#: src/fmt.rs:331 src/info.rs:221\nmsgid \"No\"\nmsgstr \"否\"\n\n#: src/fmt.rs:419\nmsgid \"insufficient columns available for table display\"\nmsgstr \"可用於表格顯示的欄位不足\"\n\n#: src/help.rs:4\nmsgid \"Usage:\"\nmsgstr \"用法：\"\n\n#: src/help.rs:5\nmsgid \"    paru\"\nmsgstr \"    paru\"\n\n#: src/help.rs:6\nmsgid \"    paru <operation> [...]\"\nmsgstr \"    paru <動作> [...]\"\n\n#: src/help.rs:7\nmsgid \"    paru <package(s)>\"\nmsgstr \"    paru <軟體包>\"\n\n#: src/help.rs:9\nmsgid \"Pacman operations:\"\nmsgstr \"Pacman 動作：\"\n\n#: src/help.rs:10\nmsgid \"    paru {-h --help}\"\nmsgstr \"    paru {-h --help}\"\n\n#: src/help.rs:11\nmsgid \"    paru {-V --version}\"\nmsgstr \"    paru {-V --version}\"\n\n#: src/help.rs:12\nmsgid \"    paru {-D --database}    <options> <package(s)>\"\nmsgstr \"    paru {-D --database}    <選項> <軟體包>\"\n\n#: src/help.rs:13\nmsgid \"    paru {-F --files}       [options] [package(s)]\"\nmsgstr \"    paru {-F --files}       [選項] [軟體包]\"\n\n#: src/help.rs:14\nmsgid \"    paru {-Q --query}       [options] [package(s)]\"\nmsgstr \"    paru {-Q --query}       [選項] [軟體包]\"\n\n#: src/help.rs:15\nmsgid \"    paru {-R --remove}      [options] <package(s)>\"\nmsgstr \"    paru {-R --remove}      [選項] <軟體包>\"\n\n#: src/help.rs:16\nmsgid \"    paru {-S --sync}        [options] [package(s)]\"\nmsgstr \"    paru {-S --sync}        [選項] [軟體包]\"\n\n#: src/help.rs:17\nmsgid \"    paru {-T --deptest}     [options] [package(s)]\"\nmsgstr \"    paru {-T --deptest}     [選項] [軟體包]\"\n\n#: src/help.rs:18\nmsgid \"    paru {-U --upgrade}     [options] [file(s)]\"\nmsgstr \"    paru {-U --upgrade}     [選項] [檔案]\"\n\n#: src/help.rs:20\nmsgid \"New operations:\"\nmsgstr \"新動作：\"\n\n#: src/help.rs:21\nmsgid \"    paru {-P --show}        [options]\"\nmsgstr \"    paru {-P --show}        [選項]\"\n\n#: src/help.rs:22\nmsgid \"    paru {-G --getpkgbuild} [package(s)]\"\nmsgstr \"    paru {-G --getpkgbuild} [軟體包]\"\n\n#: src/help.rs:23\nmsgid \"    paru {-B --build}       [dir(s)]\"\nmsgstr \"    paru {-B --build}       [目錄]\"\n\n#: src/help.rs:25\nmsgid \"If no arguments are provided 'paru -Syu' will be performed\"\nmsgstr \"若未提供參數，則會執行「paru -Syu」\"\n\n#: src/help.rs:27\nmsgid \"Options without operation:\"\nmsgstr \"無操作選項：\"\n\n#: src/help.rs:28\nmsgid \"    -c --clean            Remove unneeded dependencies\"\nmsgstr \"    -c --clean            刪除不需要的依賴\"\n\n#: src/help.rs:29\nmsgid \"\"\n\"       --gendb            Generates development package DB used for updating\"\nmsgstr \"       --gendb            產生用於更新的開發軟體包資料庫\"\n\n#: src/help.rs:31\nmsgid \"New options:\"\nmsgstr \"新選項：\"\n\n#: src/help.rs:32\nmsgid \"       --repo              Assume targets are from the repositories\"\nmsgstr \"       --repo              假設目標來自軟體庫\"\n\n#: src/help.rs:33\nmsgid \"\"\n\"       --pkgbuilds         Assume targets are from pkgbuild repositories\"\nmsgstr \"       --pkgbuilds         假設目標來自 pkgbuild 軟體庫\"\n\n#: src/help.rs:34\nmsgid \"    -a --aur               Assume targets are from the AUR\"\nmsgstr \"    -a --aur               假設目標來自 AUR\"\n\n#: src/help.rs:35\nmsgid \"    --mode      <mode>     Sets where paru looks for targets\"\nmsgstr \"    --mode      <mode>     設定 paru 尋找目標的位置\"\n\n#: src/help.rs:37\nmsgid \"\"\n\"    --interactive          Enable interactive package selection for -S, -R, \"\n\"-Ss and -Qs\"\nmsgstr \"    --interactive          啟用 -S, -R, -Ss 與 -Qs 的互動式軟體包選擇\"\n\n#: src/help.rs:39\nmsgid \"    --aururl    <url>      Set an alternative AUR URL\"\nmsgstr \"    --aururl    <url>      設定替代 AUR URL\"\n\n#: src/help.rs:40\nmsgid \"\"\n\"    --aurrpcur  <url>      Set an alternative URL for the AUR /rpc endpoint\"\nmsgstr \"    --aurrpcur  <url>      為 AUR /rpc 端點設定備用 URL\"\n\n#: src/help.rs:41\nmsgid \"    --clonedir  <dir>      Directory used to download and run PKGBUILDs\"\nmsgstr \"    --clonedir  <dir>      用於下載與執行 PKGBUILD 的目錄\"\n\n#: src/help.rs:43\nmsgid \"    --makepkg   <file>     makepkg command to use\"\nmsgstr \"    --makepkg   <file>     要使用的 makepkg 指令\"\n\n#: src/help.rs:44\nmsgid \"    --mflags    <flags>    Pass arguments to makepkg\"\nmsgstr \"    --mflags    <flags>    傳遞參數給 makepkg\"\n\n#: src/help.rs:45\nmsgid \"    --pacman    <file>     pacman command to use\"\nmsgstr \"    --pacman    <file>     要使用的 pacman 指令\"\n\n#: src/help.rs:46\nmsgid \"    --git       <file>     git command to use\"\nmsgstr \"    --git       <file>     要使用的 git 指令\"\n\n#: src/help.rs:47\nmsgid \"    --gitflags  <flags>    Pass arguments to git\"\nmsgstr \"    --gitflags  <flags>    傳遞參數給 git\"\n\n#: src/help.rs:48\nmsgid \"    --sudo      <file>     sudo command to use\"\nmsgstr \"    --sudo      <file>     要使用的 sudo 指令\"\n\n#: src/help.rs:49\nmsgid \"    --sudoflags <flags>    Pass arguments to sudo\"\nmsgstr \"    --sudoflags <flags>    傳遞參數給 sudo\"\n\n#: src/help.rs:50\nmsgid \"    --pkgctl    <file>     pkgctl command to use\"\nmsgstr \"    --pkgctl    <file>     要使用的 pkgctl 命令\"\n\n#: src/help.rs:51\nmsgid \"    --bat       <file>     bat command to use\"\nmsgstr \"    --bat       <file>     要使用的 bat 指令\"\n\n#: src/help.rs:52\nmsgid \"    --batflags  <flags>    Pass arguments to bat\"\nmsgstr \"    --batflags  <flags>    傳遞參數給 bat\"\n\n#: src/help.rs:53\nmsgid \"    --gpg       <file>     gpg command to use\"\nmsgstr \"    --gpg       <file>     要使用的 gpg 指令\"\n\n#: src/help.rs:54\nmsgid \"    --gpgflags  <flags>    Pass arguments to gpg\"\nmsgstr \"    --gpgflags  <flags>    傳遞參數給 gpg\"\n\n#: src/help.rs:55\nmsgid \"    --fm        <file>     File manager to use for PKGBUILD review\"\nmsgstr \"    --fm        <file>     用於 PKGBUILD 檢閱的檔案管理程式\"\n\n#: src/help.rs:56\nmsgid \"    --fmflags   <flags>    Pass arguments to file manager\"\nmsgstr \"    --fmflags   <flags>    傳遞參數給檔案管理程式\"\n\n#: src/help.rs:58\nmsgid \"    --completioninterval   <n> Time in days to refresh completion cache\"\nmsgstr \"    --completioninterval   <n> 重新整理完成快取的時間（以天為單位）\"\n\n#: src/help.rs:59\nmsgid \"\"\n\"    --sortby    <field>    Sort AUR results by a specific field during search\"\nmsgstr \"    --sortby    <field>    在搜尋時以特定欄位排序 AUR 結果\"\n\n#: src/help.rs:60\nmsgid \"    --searchby  <field>    Search for packages using a specified field\"\nmsgstr \"    --searchby  <field>    使用特定欄位搜尋軟體包\"\n\n#: src/help.rs:61\nmsgid \"\"\n\"    --limit     <limit>    Limits the number of items returned in a search\"\nmsgstr \"    --limit     <limit>    限制一次搜尋中回傳的項目數量\"\n\n#: src/help.rs:62\nmsgid \"    -x --regex             Enable regex for aur search\"\nmsgstr \"    -x --regex             對 AUR 搜尋啟用正規表示式\"\n\n#: src/help.rs:64\nmsgid \"    --skipreview           Skip the review process\"\nmsgstr \"    --skipreview           略過審閱流程\"\n\n#: src/help.rs:65\nmsgid \"    --review               Don't skip the review process\"\nmsgstr \"    --review               不要略過審閱流程\"\n\n#: src/help.rs:66\nmsgid \"    --[no]upgrademenu      Show interactive menu to skip upgrades\"\nmsgstr \"    --[no]upgrademenu      顯示互動式選單以略過升級\"\n\n#: src/help.rs:67\nmsgid \"    --[no]removemake       Remove makedepends after install\"\nmsgstr \"    --[no]removemake       安裝完成後移除建置用的依賴關係\"\n\n#: src/help.rs:68\nmsgid \"    --[no]cleanafter       Remove package sources after install\"\nmsgstr \"    --[no]cleanafter       安裝後移除軟體包來源\"\n\n#: src/help.rs:69\nmsgid \"    --[no]rebuild          Always build target packages\"\nmsgstr \"    --[no]rebuild          一律建置目標軟體包\"\n\n#: src/help.rs:70\nmsgid \"    --[no]redownload       Always download PKGBUILDs of targets\"\nmsgstr \"    --[no]redownload       一律下載目標 PKGBUILD\"\n\n#: src/help.rs:72\nmsgid \"    --[no]pgpfetch         Prompt to import PGP keys from PKGBUILDs\"\nmsgstr \"    --[no]pgpfetch         提示從 PKGBUILD 匯入 PGP 金鑰\"\n\n#: src/help.rs:73\nmsgid \"\"\n\"    --[no]useask           Automatically resolve conflicts using pacman's \"\n\"ask flag\"\nmsgstr \"    --[no]useask           使用 pacman 的 ask 旗標來自動解決衝突\"\n\n#: src/help.rs:74\nmsgid \"\"\n\"    --[no]savechanges      Commit changes to pkgbuilds made during review\"\nmsgstr \"    --[no]savechanges      遞交在審閱期間對 PKGBUILD 所作的變更\"\n\n#: src/help.rs:75\nmsgid \"    --[no]newsonupgrade    Print new news during sysupgrade\"\nmsgstr \"    --[no]newsonupgrade    在系統升級時印出新的新聞\"\n\n#: src/help.rs:76\nmsgid \"\"\n\"    --[no]combinedupgrade  Refresh then perform the repo and AUR upgrade \"\n\"together\"\nmsgstr \"    --[no]combinedupgrade  重新整理，然後同時執行軟體庫與 AUR 的升級\"\n\n#: src/help.rs:77\nmsgid \"\"\n\"    --[no]batchinstall     Build multiple AUR packages then install them \"\n\"together\"\nmsgstr \"    --[no]batchinstall     建置多個 AUR 軟體包然後一起安裝\"\n\n#: src/help.rs:78\nmsgid \"\"\n\"    --[no]provides         Look for matching providers when searching for \"\n\"packages\"\nmsgstr \"    --[no]provides         在搜尋軟體包時尋找相符的提供者\"\n\n#: src/help.rs:79\nmsgid \"    --[no]devel            Check development packages during sysupgrade\"\nmsgstr \"    --[no]devel            在系統升級時檢查開發軟體包\"\n\n#: src/help.rs:80\nmsgid \"\"\n\"    --[no]installdebug     Also install debug packages when a package \"\n\"provides them\"\nmsgstr \"    --[no]installdebug     若軟體包提供除錯軟體包時則同時安裝\"\n\n#: src/help.rs:81\nmsgid \"\"\n\"    --[no]sudoloop         Loop sudo calls in the background to avoid timeout\"\nmsgstr \"    --[no]sudoloop         在背景讓 sudo 呼叫形成迴圈以避免逾時\"\n\n#: src/help.rs:82\nmsgid \"    --[no]chroot           Build packages in a chroot\"\nmsgstr \"    --[no]chroot           在 chroot 中建置軟體包\"\n\n#: src/help.rs:83\nmsgid \"\"\n\"    --[no]failfast         Exit as soon as building an AUR package fails\"\nmsgstr \"    --[no]failfast         建構 AUR 軟體包失敗後立刻退出\"\n\n#: src/help.rs:84\nmsgid \"\"\n\"    --[no]keepsrc          Keep src/ and pkg/ dirs after building packages\"\nmsgstr \"    --[no]keepsrc          在建構完軟體包後保留 src/ 與 pkg/ 目錄\"\n\n#: src/help.rs:85\nmsgid \"    --[no]sign             Sign packages with gpg\"\nmsgstr \"    --[no]sign             使用 gpg 簽署軟體包\"\n\n#: src/help.rs:86\nmsgid \"    --[no]signdb           Sign databases with gpg\"\nmsgstr \"    --[no]signdb           使用 gpg 簽署資料庫\"\n\n#: src/help.rs:87\nmsgid \"    --[no]localrepo        Build packages into a local repo\"\nmsgstr \"    --[no]localrepo        將軟體包建置到本機軟體庫中\"\n\n#: src/help.rs:88\nmsgid \"\"\n\"    --nocheck              Don't resolve checkdepends or run the check \"\n\"function\"\nmsgstr \"    --nocheck              不要解決檢查用的依賴關係或是執行 check 函式\"\n\n#: src/help.rs:90\nmsgid \"\"\n\"    --rootchrootpkgs       Packages to install in the root chroot (default: \"\n\"base-devel)\"\nmsgstr \"\"\n\n#: src/help.rs:92\nmsgid \"\"\n\"    --develsuffixes        Suffixes used to decide if a package is a devel \"\n\"package\"\nmsgstr \"    --develsuffixes        用於決定軟體包是否為開發軟體包的後綴\"\n\n#: src/help.rs:93\nmsgid \"    --ignoredevel          Ignore devel upgrades for specified packages\"\nmsgstr \"    --ignoredevel          忽略指定軟體包的開發升級\"\n\n#: src/help.rs:94\nmsgid \"\"\n\"    --bottomup             Shows AUR's packages first and then repository's\"\nmsgstr \"    --bottomup             先顯示 AUR 的軟體包，然後才是軟體庫的\"\n\n#: src/help.rs:95\nmsgid \"\"\n\"    --topdown              Shows repository's packages first and then AUR's\"\nmsgstr \"    --topdown              先顯示軟體庫的軟體包，然後才是 AUR 的\"\n\n#: src/help.rs:97\nmsgid \"show specific options:\"\nmsgstr \"show 專用選項：\"\n\n#: src/help.rs:98\nmsgid \"    -c --complete         Used for completions\"\nmsgstr \"    -c --complete         用於補完\"\n\n#: src/help.rs:99\nmsgid \"    -s --stats            Display system package statistics\"\nmsgstr \"    -s --stats            顯示系統軟體包統計\"\n\n#: src/help.rs:100\nmsgid \"    -w --news             Print arch news\"\nmsgstr \"    -w --news             顯示 Arch 新聞\"\n\n#: src/help.rs:102\nmsgid \"getpkgbuild specific options:\"\nmsgstr \"getpkgbuild 專用選項：\"\n\n#: src/help.rs:103\nmsgid \"    -p --print            Print pkgbuild to stdout\"\nmsgstr \"    -p --print            讓 PKGBUILD 顯示於標準輸出\"\n\n#: src/help.rs:104\nmsgid \"    -c --comments         Print AUR comments for pkgbuild\"\nmsgstr \"    -c --comments         顯示 PKGBUILD 的 AUR 評論\"\n\n#: src/help.rs:105\nmsgid \"    -s --ssh              Clone package using SSH\"\nmsgstr \"    -s --ssh              使用 SSH 再製軟體包\"\n\n#: src/help.rs:107\nmsgid \"Build specific options:\"\nmsgstr \"專用於建置的選項：\"\n\n#: src/help.rs:108\nmsgid \"    -i --install          Install package as well as building\"\nmsgstr \"    -i --install          建置並安裝軟體包\"\n\n#: src/info.rs:86 src/info.rs:191 src/info.rs:225\nmsgid \"Name\"\nmsgstr \"名稱\"\n\n#: src/info.rs:87 src/info.rs:192 src/info.rs:226\nmsgid \"Version\"\nmsgstr \"版本\"\n\n#: src/info.rs:88 src/info.rs:193 src/info.rs:227\nmsgid \"Description\"\nmsgstr \"描述\"\n\n#: src/info.rs:89 src/info.rs:195 src/info.rs:235\nmsgid \"Groups\"\nmsgstr \"群組\"\n\n#: src/info.rs:90 src/info.rs:196 src/info.rs:236\nmsgid \"Licenses\"\nmsgstr \"授權條款\"\n\n#: src/info.rs:91 src/info.rs:197 src/info.rs:237\nmsgid \"Provides\"\nmsgstr \"提供\"\n\n#: src/info.rs:92 src/info.rs:198 src/info.rs:238\nmsgid \"Depends On\"\nmsgstr \"依賴於\"\n\n#: src/info.rs:93 src/info.rs:199 src/info.rs:239\nmsgid \"Make Deps\"\nmsgstr \"建置用依賴關係\"\n\n#: src/info.rs:94 src/info.rs:200 src/info.rs:240\nmsgid \"Check Deps\"\nmsgstr \"檢查用依賴關係\"\n\n#: src/info.rs:95 src/info.rs:201 src/info.rs:241\nmsgid \"Optional Deps\"\nmsgstr \"可選依賴\"\n\n#: src/info.rs:96 src/info.rs:202 src/info.rs:242\nmsgid \"Conflicts With\"\nmsgstr \"與它衝突\"\n\n#: src/info.rs:97 src/info.rs:243\nmsgid \"Maintainer\"\nmsgstr \"維護者\"\n\n#: src/info.rs:98 src/info.rs:244\nmsgid \"Votes\"\nmsgstr \"投票\"\n\n#: src/info.rs:99 src/info.rs:245\nmsgid \"Popularity\"\nmsgstr \"人氣\"\n\n#: src/info.rs:100 src/info.rs:246\nmsgid \"First Submitted\"\nmsgstr \"首次遞交\"\n\n#: src/info.rs:101 src/info.rs:247\nmsgid \"Last Modified\"\nmsgstr \"最後修改\"\n\n#: src/info.rs:102 src/info.rs:249\nmsgid \"Out Of Date\"\nmsgstr \"過期\"\n\n#: src/info.rs:103 src/info.rs:254\nmsgid \"ID\"\nmsgstr \"ID\"\n\n#: src/info.rs:104 src/info.rs:255\nmsgid \"Package Base ID\"\nmsgstr \"軟體包基礎 ID\"\n\n#: src/info.rs:105 src/info.rs:256\nmsgid \"Keywords\"\nmsgstr \"關鍵字\"\n\n#: src/info.rs:106 src/info.rs:258\nmsgid \"Snapshot URL\"\nmsgstr \"快照 URL\"\n\n#: src/info.rs:107 src/info.rs:203\nmsgid \"Path\"\nmsgstr \"路徑\"\n\n#: src/install.rs:166 src/query.rs:48 src/lib.rs:101\nmsgid \"error:\"\nmsgstr \"錯誤：\"\n\n#: src/install.rs:167\nmsgid \"could not get news\"\nmsgstr \"無法取得新聞\"\n\n#: src/install.rs:172 src/install.rs:1127\nmsgid \"Proceed with installation?\"\nmsgstr \"繼續安裝？\"\n\n#: src/install.rs:207\nmsgid \"could not find .SRCINFO for '{}'\"\nmsgstr \"找不到「{}」的 .SRCINFO\"\n\n#: src/install.rs:353\nmsgid \"could not find package '{pkg}' in package list for '{base}'\"\nmsgstr \"在「{base}」的軟體包清單中找不到軟體包「{pkg}」\"\n\n#: src/install.rs:451\nmsgid \"packages failed to build: {}\"\nmsgstr \"建置軟體包失敗：{}\"\n\n#: src/install.rs:523\nmsgid \"adding {} to the install list\"\nmsgstr \"正在新增 {} 至安裝清單\"\n\n#: src/install.rs:553 src/install.rs:568\nmsgid \"failed to download sources for '{}'\"\nmsgstr \"下載「{}」來源失敗\"\n\n#: src/install.rs:577 src/install.rs:603 src/install.rs:611\nmsgid \"failed to build '{}'\"\nmsgstr \"建置「{}」失敗\"\n\n#: src/install.rs:580 src/install.rs:784\nmsgid \"{}: parsing pkg list...\"\nmsgstr \"{}：正在解析軟體包清單……\"\n\n#: src/install.rs:584\nmsgid \"package list does not match srcinfo\"\nmsgstr \"軟體包清單不符合 srcinfo\"\n\n#: src/install.rs:618\nmsgid \"{}-{} is up to date -- skipping build\"\nmsgstr \"{}-{} 已為最新 -- 略過建置步驟\"\n\n#: src/install.rs:775\nmsgid \"can't build {base}, deps not satisfied: {deps}\"\nmsgstr \"無法建構 {base}，並未滿足以下依賴關係： {deps}\"\n\n#: src/install.rs:846\nmsgid \"fetching devel info...\"\nmsgstr \"正在擷取開發資訊……\"\n\n#: src/install.rs:911 src/lib.rs:240\nmsgid \"no targets specified (use -h for help)\"\nmsgstr \"未指定目標（使用 -h 以取得說明）\"\n\n#: src/install.rs:1008 src/install.rs:1097 src/search.rs:450 src/search.rs:476\n#: src/lib.rs:304\nmsgid \" there is nothing to do\"\nmsgstr \" 已無事可做\"\n\n#: src/install.rs:1016\nmsgid \"Resolving dependencies...\"\nmsgstr \"正在解決依賴關係……\"\n\n#: src/install.rs:1077\nmsgid \"can't install AUR package as root\"\nmsgstr \"無法以 root 身份安裝 AUR 軟體包\"\n\n#: src/install.rs:1080\nmsgid \"--downloadonly can't be used for AUR packages\"\nmsgstr \"--downloadonly 不能用於 AUR 軟體包\"\n\n#: src/install.rs:1113\nmsgid \"Remove make dependencies after install?\"\nmsgstr \"在安裝後移除建置用的依賴關係？\"\n\n#: src/install.rs:1124\nmsgid \"Proceed to review?\"\nmsgstr \"繼續檢閱？\"\n\n#: src/install.rs:1177\nmsgid \"no architecture\"\nmsgstr \"無架構\"\n\n#: src/install.rs:1191\nmsgid \"The following packages are not compatible with your architecture:\"\nmsgstr \"以下的軟體包與您的架構不相容：\"\n\n#: src/install.rs:1205\nmsgid \"Would you like to try build them anyway?\"\nmsgstr \"您無論如何都想要建置它們嗎？\"\n\n#: src/install.rs:1349\nmsgid \"duplicate packages: {}\"\nmsgstr \"重複的軟體包：{}\"\n\n#: src/install.rs:1353\nmsgid \"could not find all required packages:\"\nmsgstr \"找不到所有需要的軟體包：\"\n\n#: src/install.rs:1365\nmsgid \"\"\n\"\\n\"\n\"    {missing} (wanted by: {stack})\"\nmsgstr \"\"\n\"\\n\"\n\"    {missing}（被以下軟體包需要：{stack}）\"\n\n#: src/install.rs:1379 src/install.rs:2122\nmsgid \"{}-{} is up to date -- skipping\"\nmsgstr \"{}-{} 已為最新 -- 略過\"\n\n#: src/install.rs:1387\nmsgid \"Calculating conflicts...\"\nmsgstr \"正在計算衝突……\"\n\n#: src/install.rs:1410\nmsgid \"Calculating inner conflicts...\"\nmsgstr \"正在計算內部衝突……\"\n\n#: src/install.rs:1422\nmsgid \"Inner conflicts found:\"\nmsgstr \"找到內部衝突：\"\n\n#: src/install.rs:1444\nmsgid \"Conflicts found:\"\nmsgstr \"找到衝突：\"\n\n#: src/install.rs:1467\nmsgid \"Conflicting packages will have to be confirmed manually\"\nmsgstr \"必須手動確認有衝突的軟體包\"\n\n#: src/install.rs:1471\nmsgid \"can not install conflicting packages with --noconfirm\"\nmsgstr \"無法使用 --noconfirm 安裝衝突的軟體包\"\n\n#: src/install.rs:1599\nmsgid \"failed to execute file manager: {}\"\nmsgstr \"執行檔案管理程式失敗：{}\"\n\n#: src/install.rs:1602\n#, fuzzy\nmsgid \"file manager '{}' did not execute successfully\"\nmsgstr \"檔案管理程式未成功執行\"\n\n#: src/install.rs:1620\nmsgid \"failed to read dir: {}\"\nmsgstr \"讀取目錄失敗：{}\"\n\n#: src/install.rs:1677\nmsgid \"failed to open: {}\"\nmsgstr \"開啟失敗：{}\"\n\n#: src/install.rs:1697\nmsgid \"binary file: {}\"\nmsgstr \"二進位檔案：{}\"\n\n#: src/install.rs:1719 src/install.rs:1790\nmsgid \"Accept changes?\"\nmsgstr \"接受變更？\"\n\n#: src/install.rs:1759\nmsgid \"Paging with less. Press 'q' to quit or 'h' for help.\"\nmsgstr \"\"\n\n#: src/install.rs:1794\nmsgid \" nothing new to review\"\nmsgstr \" 沒有新東西需要檢閱\"\n\n#: src/install.rs:2070\nmsgid \"can't find package name in packagelist: {}\"\nmsgstr \"在軟體包清單中找不到軟體包名稱：{}\"\n\n#: src/install.rs:2142\nmsgid \"Signing packages...\"\nmsgstr \"正在簽署軟體包……\"\n\n#: src/install.rs:2172\nmsgid \"{}-{} is up to date -- skipping install\"\nmsgstr \"{}-{} 已為最新 -- 略過安裝\"\n\n#: src/keys.rs:57\nmsgid \"keys need to be imported:\"\nmsgstr \"必須匯入金鑰:\"\n\n#: src/keys.rs:62\nmsgid \"     {key} wanted by: {base}\"\nmsgstr \"     {key} 被這些軟體需要：{base}\"\n\n#: src/news.rs:57\nmsgid \"No Date \"\nmsgstr \"無日期\"\n\n#: src/news.rs:60\nmsgid \"No Title\"\nmsgstr \"無標題\"\n\n#: src/news.rs:69\nmsgid \"no new news\"\nmsgstr \"沒有新的新聞\"\n\n#: src/pkgbuild.rs:91\nmsgid \"repo {} does not have a URL or Path\"\nmsgstr \"軟體庫 {} 沒有 URL 或路徑\"\n\n#: src/pkgbuild.rs:153\nmsgid \"repo {} not downloaded (use -Sy --pkgbuilds to download)\"\nmsgstr \"無法下載軟體庫 {}（使用 -Sy --pkgbuilds 以下載）\"\n\n#: src/pkgbuild.rs:200\nmsgid \"Generating .SRCINFO for {repo}/{dir}...\"\nmsgstr \"正在為 {repo}/{dir} 產生 .SRCINFO……\"\n\n#: src/pkgbuild.rs:278\nmsgid \"failed to parse srcinfo \\\"{}\\\"\"\nmsgstr \"解析「{}」的 srcinfo 失敗\"\n\n#: src/pkgbuild.rs:368\nmsgid \"Downloading PKGBUILD Repos...\"\nmsgstr \"正在下載 PKGBUILD 軟體庫……\"\n\n#: src/pkgbuild.rs:422\nmsgid \"failed to parse srcinfo generated by makepkg\"\nmsgstr \"解析由 makepkg 產生的 srcinfo 失敗\"\n\n#: src/query.rs:151\nmsgid \" [ignored]\"\nmsgstr \" [已忽略]\"\n\n#: src/repo.rs:253\nmsgid \"failed to get current exe\"\nmsgstr \"取得目前 exe 失敗\"\n\n#: src/repo.rs:298\nmsgid \"syncing local databases...\"\nmsgstr \"正在同步本機資料庫……\"\n\n#: src/repo.rs:304\nmsgid \"  nothing to do\"\nmsgstr \"  無事可作\"\n\n#: src/repo.rs:335\nmsgid \"there is nothing to do\"\nmsgstr \"無事可作\"\n\n#: src/repo.rs:341\nmsgid \"Packages\"\nmsgstr \"軟體包\"\n\n#: src/repo.rs:354\nmsgid \"Proceed with removal?\"\nmsgstr \"繼續移除？\"\n\n#: src/repo.rs:415\nmsgid \" [installed: {}]\"\nmsgstr \" [已安裝：{}]\"\n\n#: src/repo.rs:417 src/sync.rs:144\nmsgid \" [installed]\"\nmsgstr \"[已安裝]\"\n\n#: src/search.rs:41\nmsgid \"aur search failed\"\nmsgstr \"aur 搜尋失敗\"\n\n#: src/search.rs:285 src/search.rs:338 src/search.rs:410\n#, fuzzy\nmsgid \"[installed: {}]\"\nmsgstr \" [已安裝：{}]\"\n\n#: src/search.rs:287 src/search.rs:340 src/search.rs:412\n#, fuzzy\nmsgid \"[installed]\"\nmsgstr \"[已安裝]\"\n\n#: src/search.rs:332\n#, fuzzy\nmsgid \"[out-of-date: {}]\"\nmsgstr \"[過期：{}]\"\n\n#: src/search.rs:347\n#, fuzzy\nmsgid \"[orphaned]\"\nmsgstr \"[被棄置]\"\n\n#: src/search.rs:491\nmsgid \"no packages match search\"\nmsgstr \"無軟體包符合搜尋條件\"\n\n#: src/search.rs:529\nmsgid \"Packages to install (eg: 1 2 3, 1-3):\"\nmsgstr \"要安裝的軟體包（例如：1 2 3, 1-3）：\"\n\n#: src/search.rs:531\nmsgid \"Select packages (eg: 1 2 3, 1-3):\"\nmsgstr \"選取軟體包（例如：1 2 3, 1-3）：\"\n\n#: src/stats.rs:90\nmsgid \"Total installed packages: {}\"\nmsgstr \"總安裝軟體包：{}\"\n\n#: src/stats.rs:94\nmsgid \"Aur packages: {}\"\nmsgstr \"Aur 軟體包：{}\"\n\n#: src/stats.rs:98\nmsgid \"Repo packages: {}\"\nmsgstr \"軟體庫軟體包：{}\"\n\n#: src/stats.rs:102\nmsgid \"Explicitly installed packages: {}\"\nmsgstr \"明確安裝的軟體包：{}\"\n\n#: src/stats.rs:106\nmsgid \"Total Size occupied by packages: {}\"\nmsgstr \"被軟體包佔用的總大小：{}\"\n\n#: src/stats.rs:113\nmsgid \"Ten biggest packages:\"\nmsgstr \"十個最大的軟體包：\"\n\n#: src/upgrade.rs:126\nmsgid \"Looking for PKGBUILD upgrades...\"\nmsgstr \"正在尋找 PKGBUILD 升級……\"\n\n#: src/upgrade.rs:134\nmsgid \"Looking for AUR upgrades...\"\nmsgstr \"正在尋找 AUR 升級……\"\n\n#: src/upgrade.rs:165\nmsgid \"Looking for devel upgrades...\"\nmsgstr \"正在尋找開發升級……\"\n\n#: src/upgrade.rs:193 src/upgrade.rs:206\nmsgid \"warning:\"\nmsgstr \"警告：\"\n\n#: src/upgrade.rs:195 src/upgrade.rs:208\nmsgid \"{pkg}: ignoring package upgrade ({old} => {new})\"\nmsgstr \"{pkg}：忽略軟體包升級（{old} => {new}）\"\n\n#: src/upgrade.rs:400\nmsgid \"Packages to exclude (eg: 1 2 3, 1-3):\"\nmsgstr \"要排除的軟體包（例如：1 2 3, 1-3）：\"\n\n#: src/util.rs:121\nmsgid \"[Y/n]:\"\nmsgstr \"[Y/n]:\"\n\n#: src/util.rs:123\nmsgid \"[y/N]:\"\nmsgstr \"[y/N]:\"\n\n#: src/util.rs:142\nmsgid \"y\"\nmsgstr \"y\"\n\n#: src/util.rs:142\nmsgid \"yes\"\nmsgstr \"yes\"\n\n#: src/util.rs:300\nmsgid \"Enter a number (default=1): \"\nmsgstr \"輸入數字（預設=1）：\"\n\n#: src/util.rs:317\nmsgid \"invalid number: {}\"\nmsgstr \"無效數字：{}\"\n\n#: src/util.rs:327\nmsgid \"invalid value: {n} is not between 1 and {max}\"\nmsgstr \"無效值：{n} 並不在 1 到 {max} 間\"\n\n#: src/resolver.rs:83\nmsgid \"There are {} members in group\"\nmsgstr \"群組中有 {} 個成員\"\n\n#: src/resolver.rs:108\nmsgid \"\"\n\"\\n\"\n\"\\n\"\n\"Enter a selection (default=all): \"\nmsgstr \"\"\n\"\\n\"\n\"\\n\"\n\"輸入選擇（預設=全部）： \"\n\n#: src/lib.rs:206\nmsgid \"can not use chroot builds: devtools is not installed\"\nmsgstr \"無法使用 chroot 建置：未安裝 devtools\"\n\n#: src/lib.rs:313\nmsgid \"no operation specified (use -h for help)\"\nmsgstr \"未指定動作（使用 -h 以取得說明）\"\n\n#~ msgid \"[Installed: {}]\"\n#~ msgstr \"[已安裝：{}]\"\n\n#~ msgid \"[Installed]\"\n#~ msgstr \"[已安裝]\"\n\n#~ msgid \"Aur ({})\"\n#~ msgstr \"Aur ({})\"\n\n#~ msgid \"Pkgbuilds ({})\"\n#~ msgstr \"Pkgbuilds ({})\"\n\n#~ msgid \"could not get current directory\"\n#~ msgstr \"無法取得目前目錄\"\n\n#~ msgid \"can not get repo packages: asp is not installed\"\n#~ msgstr \"無法取得軟體庫包：未安裝 asp\"\n\n#~ msgid \"Missing ABS packages \"\n#~ msgstr \"缺少 ABS 軟體包 \"\n\n#~ msgid \"does not contain PKGBUILD: skipping\"\n#~ msgstr \"不包含 PKGBUILD：略過\"\n\n#~ msgid \"{} is not installed: can not get repo packages\"\n#~ msgstr \"{} 未安裝：無法取得軟體庫包\"\n\n#~ msgid \"asp returned {}\"\n#~ msgstr \"asp 回傳 {}\"\n\n#~ msgid \"    --asp       <file>     asp command to use\"\n#~ msgstr \"    --asp       <file>     要使用的 asp 指令\"\n\n#, fuzzy\n#~ msgid \"Generating .SRCINFO for {dir}...\"\n#~ msgstr \"找不到「{}」的 .SRCINFO\"\n\n#~ msgid \"upgrade specific options:\"\n#~ msgstr \"upgrade 專用選項：\"\n\n#~ msgid \"error: unknown section '{}'\"\n#~ msgstr \"錯誤：未知部份「{}」\"\n\n#~ msgid \"can't build package as root\"\n#~ msgstr \"不要以 root 身份建置軟體包\"\n\n#~ msgid \"failed to build\"\n#~ msgstr \"建置失敗\"\n\n#~ msgid \"parsing pkg list...\"\n#~ msgstr \"正在解析軟體包清單……\"\n\n#~ msgid \"\"\n#~ \"{} is a directory\\n\"\n#~ \"\\n\"\n#~ msgstr \"\"\n#~ \"{} 是目錄\\n\"\n#~ \"\\n\"\n\n#~ msgid \"n\"\n#~ msgstr \"n\"\n\n#~ msgid \"no\"\n#~ msgstr \"no\"\n"
  },
  {
    "path": "scripts/dist",
    "content": "#!/bin/bash\nset -e\n\ncargo build --release --features generate --locked --target-dir target\nscripts/mkmo locale/\nstrip target/release/paru\n\ntar --zstd -cf paru.tar.zst man completions paru.conf locale -C target/release paru\n\n"
  },
  {
    "path": "scripts/mkmo",
    "content": "#!/bin/bash\nset -e\n\nif [ -z \"$1\" ]; then\n\techo \"usage mkmo <dir>\"\n\texit 1\nfi\n\nfor po in po/*.po; do\n\tlang=$(basename ${po%.po})\n\tinstall -dm755 \"$1/$lang/LC_MESSAGES/\"\n\tmsgfmt -o \"$1/$lang/LC_MESSAGES/paru.mo\" \"$po\"\ndone\n"
  },
  {
    "path": "scripts/mkpot",
    "content": "#!/bin/sh\nset -e\n\nxtr \\\n\t-d paru \\\n\t--msgid-bugs-address https://github.com/Morganamilo/paru \\\n\t--package-name=paru\\\n\t--package-version=\"$(awk -F '=' '/^version/ {print $2}' Cargo.toml | sed 's/\\\"//g')\" \\\n\t-k printtr -k tr \\\n\t-o=po/paru.pot \\\n\tsrc/lib.rs\n"
  },
  {
    "path": "scripts/updpo",
    "content": "#!/bin/sh\nset -e\n\nfor po in po/*.po; do\n\tmsgmerge \"$po\" \"po/paru.pot\" -o \"$po\"\ndone\n"
  },
  {
    "path": "src/args.rs",
    "content": "use alpm_utils::Targ;\nuse std::fmt::{Display, Formatter, Result};\n\npub static PACMAN_FLAGS: &[&str] = &[\n    \"disable-download-timeout\",\n    \"d\",\n    \"nodeps\",\n    \"assume-installed\",\n    \"dbonly\",\n    \"absdir\",\n    \"noprogressbar\",\n    \"noscriptlet\",\n    \"p\",\n    \"print\",\n    \"print-format\",\n    \"asdeps\",\n    \"asdep\",\n    \"asexplicit\",\n    \"asexp\",\n    \"ignore\",\n    \"ignoregroup\",\n    \"needed\",\n    \"overwrite\",\n    \"f\",\n    \"force\",\n    \"c\",\n    \"changelog\",\n    \"deps\",\n    \"e\",\n    \"explicit\",\n    \"g\",\n    \"groups\",\n    \"i\",\n    \"info\",\n    \"k\",\n    \"check\",\n    \"l\",\n    \"list\",\n    \"m\",\n    \"foreign\",\n    \"n\",\n    \"native\",\n    \"o\",\n    \"owns\",\n    \"file\",\n    \"q\",\n    \"quiet\",\n    \"s\",\n    \"search\",\n    \"t\",\n    \"unrequired\",\n    \"u\",\n    \"upgrades\",\n    \"cascade\",\n    \"nosave\",\n    \"recursive\",\n    \"unneeded\",\n    \"clean\",\n    \"optional\",\n    \"sysupgrade\",\n    \"w\",\n    \"downloadonly\",\n    \"y\",\n    \"refresh\",\n    \"x\",\n    \"regex\",\n    \"machinereadable\",\n];\n\npub static PACMAN_GLOBALS: &[&str] = &[\n    \"b\",\n    \"dbpath\",\n    \"r\",\n    \"root\",\n    \"v\",\n    \"verbose\",\n    \"ask\",\n    \"arch\",\n    \"cachedir\",\n    \"color\",\n    \"config\",\n    \"debug\",\n    \"gpgdir\",\n    \"hookdir\",\n    \"logfile\",\n    \"disable-download-timeout\",\n    \"sysroot\",\n    \"noconfirm\",\n    \"confirm\",\n    \"h\",\n    \"help\",\n];\n\n#[derive(Default, Debug, Clone)]\npub struct Arg<S> {\n    pub key: S,\n    pub value: Option<S>,\n}\n\n#[derive(Default, Debug, Clone)]\npub struct Args<S> {\n    pub bin: S,\n    pub op: S,\n    pub args: Vec<Arg<S>>,\n    pub targets: Vec<S>,\n}\n\nimpl<S: AsRef<str>> Display for Arg<S> {\n    fn fmt(&self, f: &mut Formatter<'_>) -> Result {\n        if self.key.as_ref().len() == 1 {\n            f.write_str(\"-\")?;\n        } else {\n            f.write_str(\"--\")?;\n        }\n\n        f.write_str(self.key.as_ref())?;\n\n        if let Some(ref value) = self.value {\n            if self.key.as_ref().len() != 1 {\n                f.write_str(\"=\")?;\n            }\n            f.write_str(value.as_ref())?;\n        }\n\n        Ok(())\n    }\n}\n\nimpl<S: AsRef<str>> Arg<S> {\n    pub fn as_str(&self) -> Arg<&str> {\n        let value = self.value.as_ref().map(|v| v.as_ref());\n        Arg {\n            key: self.key.as_ref(),\n            value,\n        }\n    }\n}\n\nimpl<S: AsRef<str>> Args<S> {\n    pub fn args(&self) -> Vec<String> {\n        let op = format!(\"--{}\", self.op.as_ref());\n        let mut args = vec![op];\n        args.extend(self.args.iter().map(|a| a.to_string()));\n        args.push(\"--\".into());\n        args.extend(self.targets.iter().map(|s| s.as_ref().to_string()));\n        args\n    }\n\n    pub fn has_arg(&self, s1: &str, s2: &str) -> bool {\n        self.args\n            .iter()\n            .any(|a| a.key.as_ref() == s1 || a.key.as_ref() == s2)\n    }\n\n    pub fn count(&self, s1: &str, s2: &str) -> usize {\n        self.args\n            .iter()\n            .filter(|a| a.key.as_ref() == s1 || a.key.as_ref() == s2)\n            .count()\n    }\n\n    pub fn op(&mut self, op: S) -> &mut Self {\n        self.op = op;\n        self\n    }\n\n    pub fn remove<T: AsRef<str>>(&mut self, arg: T) -> &mut Self {\n        self.args.retain(|v| v.key.as_ref() != arg.as_ref());\n        self\n    }\n\n    pub fn target(&mut self, target: S) {\n        self.targets.push(target);\n    }\n\n    pub fn targets(&mut self, targets: impl IntoIterator<Item = S>) {\n        targets.into_iter().for_each(|target| self.target(target));\n    }\n\n    pub fn arg(&mut self, arg: S) -> &mut Self {\n        let arg = Arg {\n            key: arg,\n            value: None,\n        };\n        self.args.push(arg);\n        self\n    }\n\n    pub fn push_value(&mut self, arg: S, value: S) {\n        self.push(arg, Some(value));\n    }\n\n    pub fn push(&mut self, arg: S, value: Option<S>) {\n        let arg = Arg { key: arg, value };\n        self.args.push(arg);\n    }\n\n    pub fn as_str(&self) -> Args<&str> {\n        Args {\n            bin: self.bin.as_ref(),\n            op: self.op.as_ref(),\n            args: self.args.iter().map(|s| s.as_str()).collect(),\n            targets: self.targets.iter().map(|s| s.as_ref()).collect(),\n        }\n    }\n}\n\npub fn parse_targets(targets: &[String]) -> Vec<Targ<'_>> {\n    targets.iter().map(|t| Targ::from(t.as_str())).collect()\n}\n"
  },
  {
    "path": "src/auth.rs",
    "content": "use anyhow::{Result, ensure, bail, Context};\nuse std::fs::File;\nuse std::io::{Read, Write};\nuse std::os::unix::io::FromRawFd;\nuse nix::unistd::pipe;\nuse crate::config::Config;\nuse std::process::Command;\nuse std::cell::RefCell;\n\n#[derive(Debug)]\npub struct Pipe {\n    pub read: File,\n    pub write: File,\n}\n\nimpl Pipe {\n    fn wait_ok(&mut self) -> Result<()> {\n        let mut buf = [0; \"ok\\n\".len()];\n        self.read.read_exact(&mut buf)?;\n        ensure!(&buf == b\"ok\\n\");\n        Ok(())\n    }\n}\n\n#[derive(Debug, Default)]\npub struct LazyPipe {\n    pipe: RefCell<Option<Result<Pipe>>>,\n}\n\nimpl LazyPipe {\n    pub fn run(&self, config: &Config) -> Result<()> {\n        let mut pipe = self.pipe.borrow_mut();\n        let pipe = pipe.get_or_insert_with(|| spawn_auth(config).context(\"failed to spawn auth process\"));\n        let pipe = match pipe {\n            Err(e) => bail!(e.to_string()),\n            Ok(p) => p,\n        };\n        loop {}\n        pipe.write.write_all(b\"something\")?;\n        pipe.wait_ok()?;\n        Ok(())\n    }\n}\n\npub fn spawn_auth(config: &Config) -> Result<Pipe> {\n    let (paru_read, auth_write) = pipe()?;\n    let (auth_read, paru_write) = pipe()?;\n\n\n    /*Command::new(&config.sudo_bin)\n        .args(&config.sudo_flags)\n        .arg(std::env::current_exe()?)\n        .arg(\"--authpipe\")\n        .arg(auth_read.to_string())\n        .arg(auth_write.to_string())\n        .spawn()?;*/\n    Command::new(std::env::current_exe()?)\n        .arg(\"--authpipe\")\n        .arg(auth_read.to_string())\n        .arg(auth_write.to_string())\n        .spawn()?;\n\n    loop {}\n\n    let read = unsafe { File::from_raw_fd(paru_read) };\n    let write = unsafe { File::from_raw_fd(paru_write) };\n\n    let mut pipe = Pipe { read, write };\n\n    pipe.wait_ok().unwrap();\n    Ok(pipe)\n}\n\npub unsafe fn authpipe(read: &str, write: &str) -> Result<i32> {\n    let read = read.parse::<i32>()?;\n    let write = write.parse::<i32>()?;\n    ensure!(read > 3);\n    ensure!(write > 3);\n    println!(\"read={} write={}\", read, write);\n    ensure!(read != write);\n\n    loop {}\n\n    let mut read = File::from_raw_fd(read);\n    let mut write = File::from_raw_fd(write);\n\n\n    loop {\n        write.write(b\"ok\\n\").context(\"failed to write ok\")?;\n        write.flush().context(\"failed to flush\")?;\n    }\n    Ok(0)\n}\n"
  },
  {
    "path": "src/base.rs",
    "content": "use crate::{AurPackage, CustomPackage};\n\nuse std::fmt::{Display, Formatter};\n\nenum PkgNames<A, C> {\n    Aur(A),\n    Custom(C),\n}\n\nimpl<'a, A, C> Iterator for PkgNames<A, C>\nwhere\n    A: Iterator<Item = &'a str>,\n    C: Iterator<Item = &'a str>,\n{\n    type Item = &'a str;\n\n    fn next(&mut self) -> Option<Self::Item> {\n        match self {\n            PkgNames::Aur(i) => i.next(),\n            PkgNames::Custom(i) => i.next(),\n        }\n    }\n}\n\n/// Packages from a custom repo.\n#[derive(Debug, Eq, Clone, PartialEq, Ord, PartialOrd, Hash)]\npub struct CustomPackages {\n    /// the repo the package came from.\n    pub repo: String,\n    /// The srcinfo of the pkgbase.\n    pub srcinfo: Box<srcinfo::Srcinfo>,\n    /// The pkgs from the srcinfo to install.\n    pub pkgs: Vec<CustomPackage>,\n}\n\n/// Describes an AUR package base.\n#[derive(Debug, Eq, Clone, PartialEq, Ord, PartialOrd, Hash)]\npub struct AurBase {\n    /// List of packages belonging to the package base.\n    pub pkgs: Vec<AurPackage>,\n}\n\n/// A package base.\n/// This describes  packages that should be built then installed.\n#[derive(Debug, Eq, Clone, PartialEq, Ord, PartialOrd, Hash)]\npub enum Base {\n    /// Aur packages.\n    Aur(AurBase),\n    /// Custom packages.\n    Custom(CustomPackages),\n}\n\nimpl Display for AurBase {\n    fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n        let pkgbase = self.package_base();\n        let ver = self.version();\n\n        let name = self.package_base();\n        let len = self.pkgs.len();\n\n        if len == 1 && name == pkgbase {\n            write!(f, \"{}-{}\", pkgbase, ver)\n        } else {\n            write!(f, \"{}-{} ({}\", self.package_base(), self.version(), name)?;\n            for pkg in self.pkgs.iter().skip(1) {\n                f.write_str(\" \")?;\n                f.write_str(&pkg.pkg.name)?;\n            }\n            f.write_str(\")\")?;\n            Ok(())\n        }\n    }\n}\n\nimpl Display for CustomPackages {\n    fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n        let pkgbase = self.package_base();\n        let ver = self.version();\n\n        let name = self.package_base();\n        let len = self.pkgs.len();\n\n        if len == 1 && name == pkgbase {\n            write!(f, \"{}-{}\", pkgbase, ver)\n        } else {\n            write!(f, \"{}-{} ({}\", self.package_base(), self.version(), name)?;\n            for pkg in self.pkgs.iter().skip(1) {\n                f.write_str(\" \")?;\n                f.write_str(&pkg.pkg.pkgname)?;\n            }\n            f.write_str(\")\")?;\n            Ok(())\n        }\n    }\n}\n\nimpl Display for Base {\n    fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n        match self {\n            Base::Aur(base) => base.fmt(f),\n            Base::Custom(base) => base.fmt(f),\n        }\n    }\n}\n\nimpl AurBase {\n    /// Gets the package base of base.\n    pub fn package_base(&self) -> &str {\n        &self.pkgs[0].pkg.package_base\n    }\n\n    /// Gets the version of base.\n    pub fn version(&self) -> String {\n        self.pkgs[0].pkg.version.clone()\n    }\n}\n\nimpl CustomPackages {\n    /// Gets the package base of base.\n    pub fn package_base(&self) -> &str {\n        &self.srcinfo.base.pkgbase\n    }\n\n    /// Gets the version of base.\n    pub fn version(&self) -> String {\n        self.srcinfo.version()\n    }\n}\n\nimpl Base {\n    /// Gets the package base of base.\n    pub fn package_base(&self) -> &str {\n        match self {\n            Base::Aur(base) => base.package_base(),\n            Base::Custom(base) => base.package_base(),\n        }\n    }\n\n    /// Gets the version of base.\n    pub fn version(&self) -> String {\n        match self {\n            Base::Aur(base) => base.version(),\n            Base::Custom(base) => base.version(),\n        }\n    }\n\n    /// Amount of packages in this base.\n    pub fn package_count(&self) -> usize {\n        match self {\n            Base::Aur(base) => base.pkgs.len(),\n            Base::Custom(base) => base.pkgs.len(),\n        }\n    }\n\n    /// Iterator of package names in this base.\n    pub fn packages(&self) -> impl Iterator<Item = &str> {\n        match self {\n            Base::Aur(base) => PkgNames::Aur(base.pkgs.iter().map(|p| p.pkg.name.as_str())),\n            Base::Custom(base) => {\n                PkgNames::Custom(base.pkgs.iter().map(|p| p.pkg.pkgname.as_str()))\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/chroot.rs",
    "content": "use crate::config::Config;\nuse crate::exec;\nuse anyhow::{Context, Result};\nuse nix::unistd::{Uid, User};\nuse std::ffi::OsStr;\nuse std::fs::Permissions;\nuse std::io::Write;\nuse std::os::unix::fs::PermissionsExt;\nuse std::path::{Path, PathBuf};\nuse std::process::Command;\n\n#[derive(Debug)]\npub struct Chroot {\n    pub sudo: String,\n    pub path: PathBuf,\n    pub pacman_conf: String,\n    pub makepkg_conf: String,\n    pub mflags: Vec<String>,\n    pub ro: Vec<String>,\n    pub rw: Vec<String>,\n    pub extra_pkgs: Vec<String>,\n    pub root_pkgs: Vec<String>,\n}\n\nfn pacman_conf(pacman_conf: &str) -> Result<tempfile::NamedTempFile> {\n    let mut tmp = tempfile::NamedTempFile::new()?;\n    tmp.as_file()\n        .set_permissions(Permissions::from_mode(0o644))?;\n    let conf = pacmanconf::Config::expand_with_opts(None, Some(pacman_conf), Some(\"/\"))?;\n\n    // Bug with dbpath in pacstrap\n    let conf = conf\n        .lines()\n        .filter(|l| !l.starts_with(\"DBPath\"))\n        .collect::<Vec<_>>()\n        .join(\"\\n\");\n\n    tmp.as_file_mut().write_all(conf.as_bytes())?;\n    tmp.flush()?;\n    Ok(tmp)\n}\n\nimpl Chroot {\n    pub fn exists(&self) -> bool {\n        self.path.join(\"root\").exists()\n    }\n\n    pub fn create(&self, config: &Config) -> Result<()> {\n        let mut cmd = Command::new(&config.sudo_bin);\n        cmd.arg(\"install\").arg(\"-dm755\").arg(&self.path);\n        exec::command(&mut cmd)?;\n\n        let tmp = pacman_conf(&self.pacman_conf)?;\n        let dir = self.path.join(\"root\");\n\n        let mut cmd = Command::new(&self.sudo);\n        cmd.arg(\"mkarchroot\")\n            .arg(\"-C\")\n            .arg(tmp.path())\n            .arg(\"-M\")\n            .arg(&self.makepkg_conf)\n            .arg(dir)\n            .args(&self.root_pkgs);\n\n        exec::command(&mut cmd)?;\n        Ok(())\n    }\n\n    pub fn run<S: AsRef<OsStr>>(&self, args: &[S]) -> Result<()> {\n        self.run_as(true, args)\n    }\n    pub fn run_usr<S: AsRef<OsStr>>(&self, args: &[S]) -> Result<()> {\n        self.run_as(false, args)\n    }\n\n    fn run_as<S: AsRef<OsStr>>(&self, root: bool, args: &[S]) -> Result<()> {\n        let dir = if root {\n            self.path.join(\"root\")\n        } else {\n            let user = User::from_uid(Uid::current())\n                .context(\"failed to get username\")?\n                .context(\"failed to get username\")?;\n            self.path.join(&user.name)\n        };\n        let tmp = pacman_conf(&self.pacman_conf)?;\n\n        let mut cmd = Command::new(&self.sudo);\n        cmd.arg(\"arch-nspawn\")\n            .arg(\"-C\")\n            .arg(tmp.path())\n            .arg(\"-M\")\n            .arg(&self.makepkg_conf)\n            .arg(dir);\n\n        for file in &self.ro {\n            cmd.arg(\"--bind-ro\");\n            cmd.arg(file);\n        }\n\n        for file in &self.rw {\n            cmd.arg(\"--bind\");\n            cmd.arg(file);\n        }\n\n        cmd.args(args);\n\n        exec::command(&mut cmd)?;\n        Ok(())\n    }\n\n    pub fn update(&self) -> Result<()> {\n        let conf = pacmanconf::Config::with_opts(None, Some(self.pacman_conf.as_str()), Some(\"/\"))?;\n        let db = Path::new(&conf.db_path).join(\"sync\");\n        let dir = self.path.join(\"root\");\n        let mut cmd = Command::new(&self.sudo);\n        cmd.arg(\"cp\")\n            .arg(\"-auT\")\n            .arg(&db)\n            .arg(dir.join(db.strip_prefix(\"/\")?));\n        let _ = exec::command(&mut cmd);\n\n        self.run(&[\"pacman\", \"-Syu\", \"--noconfirm\"])\n    }\n\n    pub fn build<S: AsRef<OsStr>>(\n        &self,\n        pkgbuild: &Path,\n        pkgs: &[&str],\n        chroot_flags: &[S],\n        flags: &[&str],\n        env: &[(String, String)],\n    ) -> Result<()> {\n        let mut cmd = Command::new(\"makechrootpkg\");\n\n        cmd.current_dir(pkgbuild)\n            .args(chroot_flags)\n            .arg(\"-r\")\n            .arg(&self.path);\n\n        for pkg in pkgs {\n            cmd.arg(\"-I\").arg(pkg);\n        }\n\n        for file in &self.ro {\n            cmd.arg(\"-D\").arg(file);\n        }\n\n        for file in &self.rw {\n            cmd.arg(\"-d\").arg(file);\n        }\n\n        cmd.arg(\"--\").args(flags).args(&self.mflags);\n\n        for (key, value) in env {\n            if key == \"PKGDEST\" {\n                cmd.env(key, value);\n            } else {\n                cmd.arg(format!(\"{}={}\", key, value));\n            }\n        }\n\n        exec::command(&mut cmd)?;\n        Ok(())\n    }\n}\n"
  },
  {
    "path": "src/clean.rs",
    "content": "use crate::config::Config;\n\nuse crate::exec;\nuse crate::print_error;\nuse crate::printtr;\nuse crate::util::ask;\n\nuse std::fs::{read_dir, remove_dir_all, remove_file, set_permissions, DirEntry};\n\nuse std::os::unix::fs::PermissionsExt;\nuse std::path::Path;\nuse std::process::Command;\n\nuse alpm_utils::DbListExt;\nuse anyhow::{Context, Result};\nuse srcinfo::Srcinfo;\nuse tr::tr;\n\npub fn clean(config: &Config) -> Result<()> {\n    if config.mode.repo() {\n        exec::pacman(config, &config.args)?;\n    }\n\n    if config.mode.aur() {\n        let rm = config.delete >= 1;\n        let remove_all = config.clean >= 2;\n        let clean_method = &config.pacman.clean_method;\n        let keep_installed = clean_method.iter().any(|a| a == \"KeepInstalled\");\n        let keep_current = clean_method.iter().any(|a| a == \"KeepCurrent\");\n\n        if config.mode.repo() {\n            println!();\n        }\n\n        let question = if remove_all {\n            tr!(\"Do you want to clean ALL AUR packages from cache?\")\n        } else {\n            tr!(\"Do you want to clean all other AUR packages from cache?\")\n        };\n\n        printtr!(\"Clone Directory: {}\", config.fetch.clone_dir.display());\n\n        if ask(config, &question, !remove_all) {\n            clean_aur(config, keep_installed, keep_current, remove_all, rm)?;\n        }\n\n        printtr!(\"\\nDiff Directory: {}\", config.fetch.diff_dir.display());\n\n        let question = tr!(\"Do you want to remove all saved diffs?\");\n        if ask(config, &question, true) {\n            clean_diff(config)?;\n        }\n    }\n\n    Ok(())\n}\n\nfn clean_diff(config: &Config) -> Result<()> {\n    if !config.fetch.diff_dir.exists() {\n        return Ok(());\n    }\n\n    let diffs = read_dir(&config.fetch.diff_dir).with_context(|| {\n        tr!(\n            \"can't open diff dir: {}\",\n            config.fetch.diff_dir.display().to_string()\n        )\n    })?;\n\n    for diff in diffs {\n        let diff = diff?;\n\n        if !diff.file_type()?.is_dir() && diff.path().extension().map(|s| s == \"diff\") == Some(true)\n        {\n            remove_file(diff.path())\n                .with_context(|| tr!(\"could not remove '{}'\", diff.path().display().to_string()))?;\n        }\n    }\n\n    Ok(())\n}\n\nfn clean_aur(\n    config: &Config,\n    keep_installed: bool,\n    keep_current: bool,\n    remove_all: bool,\n    rm: bool,\n) -> Result<()> {\n    if !config.fetch.clone_dir.exists() {\n        return Ok(());\n    }\n\n    let cached_pkgs = read_dir(&config.fetch.clone_dir)\n        .with_context(|| tr!(\"can't open clone dir: {}\", config.fetch.clone_dir.display()))?;\n\n    for file in cached_pkgs {\n        if let Err(err) =\n            clean_aur_pkg(config, &file?, remove_all, keep_installed, keep_current, rm)\n        {\n            print_error(config.color.error, err);\n            continue;\n        }\n    }\n\n    Ok(())\n}\n\nfn fix_perms(file: &Path) -> Result<()> {\n    let pkg = file.join(\"pkg\");\n    let mut perms = pkg.metadata()?.permissions();\n    perms.set_mode(0o755);\n    set_permissions(pkg, perms)?;\n    Ok(())\n}\n\nfn clean_aur_pkg(\n    config: &Config,\n    file: &DirEntry,\n    remove_all: bool,\n    keep_installed: bool,\n    keep_current: bool,\n    rm: bool,\n) -> Result<()> {\n    if !file.file_type()?.is_dir()\n        || !file.path().join(\".git\").exists()\n        || !file.path().join(\".SRCINFO\").exists()\n    {\n        return Ok(());\n    }\n\n    let _ = fix_perms(&file.path());\n\n    if remove_all {\n        return do_remove(config, &file.path(), rm);\n    }\n\n    let srcinfo = Srcinfo::from_path(file.path().join(\".SRCINFO\")).with_context(|| {\n        let file_name = file.file_name();\n        tr!(\n            \"could not parse .SRCINFO for '{}'\",\n            file_name.to_string_lossy()\n        )\n    })?;\n\n    if config.clean == 1 {\n        if keep_installed {\n            let local_db = config.alpm.localdb();\n            for pkg in &srcinfo.pkgs {\n                if let Ok(pkg) = local_db.pkg(&*pkg.pkgname) {\n                    if pkg.version().as_str() == srcinfo.version() {\n                        return Ok(());\n                    }\n                }\n            }\n        }\n\n        if keep_current {\n            for pkg in &srcinfo.pkgs {\n                let sync_dbs = config.alpm.syncdbs();\n                if let Ok(pkg) = sync_dbs.pkg(&*pkg.pkgname) {\n                    if pkg.version().as_str() == srcinfo.version() {\n                        return Ok(());\n                    }\n                }\n            }\n        }\n    }\n\n    do_remove(\n        config,\n        &config.fetch.clone_dir.join(srcinfo.base.pkgbase),\n        rm,\n    )\n}\n\nfn do_remove(config: &Config, path: &Path, rm: bool) -> Result<()> {\n    if rm {\n        remove_dir_all(path)\n            .with_context(|| tr!(\"could not remove '{}'\", path.display().to_string()))\n    } else {\n        clean_untracked(config, path)\n    }\n}\n\npub fn clean_untracked(config: &Config, path: &Path) -> Result<()> {\n    let mut cmd = Command::new(&config.git_bin);\n    cmd.args(&config.git_flags)\n        .current_dir(path)\n        .args([\"restore\", \"-SWq\", \".\"]);\n    exec::command_output(&mut cmd)?;\n\n    let mut cmd = Command::new(&config.git_bin);\n    cmd.args(&config.git_flags)\n        .current_dir(path)\n        .arg(\"clean\")\n        .arg(\"-fx\")\n        .arg(\".\");\n    exec::command_output(&mut cmd)?;\n\n    Ok(())\n}\n"
  },
  {
    "path": "src/command_line.rs",
    "content": "use crate::args::{PACMAN_FLAGS, PACMAN_GLOBALS};\nuse crate::config::{\n    Colors, Config, ConfigEnum, LocalRepos, Mode, Op, Sign, SortMode, YesNoAll, YesNoAllTree,\n    YesNoAsk,\n};\n\nuse std::fmt;\n\nuse anyhow::{anyhow, bail, Context, Result};\nuse globset::Glob;\nuse tr::tr;\nuse url::Url;\n\n#[derive(Debug, Copy, Clone)]\nenum Arg<'a> {\n    Short(char),\n    Long(&'a str),\n}\n\nimpl<'a> fmt::Display for Arg<'a> {\n    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {\n        match self {\n            Arg::Short(c) => write!(f, \"-{}\", c),\n            Arg::Long(l) => write!(f, \"--{}\", l),\n        }\n    }\n}\n\nimpl<'a> Arg<'a> {\n    fn arg(self) -> String {\n        match self {\n            Arg::Long(arg) => arg.to_string(),\n            Arg::Short(arg) => arg.to_string(),\n        }\n    }\n\n    fn is_pacman_arg(self) -> bool {\n        match self {\n            Arg::Long(arg) => PACMAN_FLAGS.contains(&arg),\n            Arg::Short(arg) => {\n                let mut buff = [0, 0, 0, 0];\n                let arg = arg.encode_utf8(&mut buff);\n                let arg: &str = arg;\n                PACMAN_FLAGS.contains(&arg)\n            }\n        }\n    }\n\n    fn is_pacman_global(self) -> bool {\n        match self {\n            Arg::Long(arg) => PACMAN_GLOBALS.contains(&arg),\n            Arg::Short(arg) => {\n                let mut buff = [0, 0, 0, 0];\n                let arg = arg.encode_utf8(&mut buff);\n                let arg: &str = arg;\n                PACMAN_GLOBALS.contains(&arg)\n            }\n        }\n    }\n}\n\n#[derive(PartialEq)]\nenum TakesValue {\n    Required,\n    No,\n    Optional,\n}\n\nimpl Config {\n    pub fn parse_arg(\n        &mut self,\n        arg: &str,\n        value: Option<&str>,\n        op_count: &mut u8,\n        end_of_ops: &mut bool,\n    ) -> Result<bool> {\n        let mut forced = false;\n\n        if arg == \"-\" || *end_of_ops {\n            self.targets.push(arg.to_string());\n            return Ok(false);\n        }\n        if arg == \"--\" {\n            *end_of_ops = true;\n            return Ok(false);\n        }\n\n        if arg.starts_with(\"--\") {\n            let mut value = value;\n            let mut split = arg.splitn(2, '=');\n            let arg = split.next().unwrap();\n            let arg = Arg::Long(arg.trim_start_matches(\"--\"));\n            let mut used_next = takes_value(arg) == TakesValue::Required;\n            if let Some(val) = split.next() {\n                value = Some(val);\n                used_next = false;\n                forced = true;\n            }\n\n            self.handle_arg(arg, value, op_count, forced)?;\n            Ok(used_next)\n        } else if arg.starts_with('-') {\n            let mut chars = arg.chars();\n            chars.next().unwrap();\n\n            while let Some(c) = chars.next() {\n                let arg = Arg::Short(c);\n                if takes_value(arg) == TakesValue::Required {\n                    if chars.as_str().is_empty() {\n                        self.handle_arg(arg, value, op_count, false)?;\n                        return Ok(true);\n                    } else {\n                        self.handle_arg(arg, Some(chars.as_str()), op_count, false)?;\n                        return Ok(false);\n                    }\n                }\n                self.handle_arg(arg, None, op_count, false)?;\n            }\n            Ok(false)\n        } else {\n            self.targets.push(arg.to_string());\n            Ok(false)\n        }\n    }\n\n    fn handle_arg(\n        &mut self,\n        arg: Arg,\n        mut value: Option<&str>,\n        op_count: &mut u8,\n        forced: bool,\n    ) -> Result<()> {\n        match takes_value(arg) {\n            TakesValue::Required if value.is_none() => bail!(tr!(\"option {} expects a value\", arg)),\n            _ => (),\n        }\n\n        if takes_value(arg) != TakesValue::Required && !forced {\n            value = None;\n        }\n\n        if arg.is_pacman_global() {\n            self.globals.args.push(crate::args::Arg {\n                key: arg.arg(),\n                value: value.map(|s| s.to_string()),\n            });\n            self.args.args.push(crate::args::Arg {\n                key: arg.arg(),\n                value: value.map(|s| s.to_string()),\n            });\n        }\n\n        if arg.is_pacman_arg() {\n            self.args.args.push(crate::args::Arg {\n                key: arg.arg(),\n                value: value.map(|s| s.to_string()),\n            });\n        }\n\n        let mut set_op = |op: Op| {\n            self.op = op;\n            *op_count += 1;\n        };\n\n        let value = value.with_context(|| tr!(\"option {} does not allow a value\", arg));\n        let argkey = match arg {\n            Arg::Long(n) => n,\n            _ => \"<impossible_key_of_short_arg>\",\n        };\n\n        match arg {\n            Arg::Long(\"help\") | Arg::Short('h') => self.help = true,\n            Arg::Long(\"version\") | Arg::Short('V') => self.version = true,\n            Arg::Long(\"aururl\") => self.aur_url = Url::parse(value?)?,\n            Arg::Long(\"aurrpcurl\") => self.aur_rpc_url = Some(Url::parse(value?)?),\n            Arg::Long(\"makepkg\") => self.makepkg_bin = value?.to_string(),\n            Arg::Long(\"pacman\") => self.pacman_bin = value?.to_string(),\n            Arg::Long(\"pacman-conf\") => self.pacman_conf_bin = Some(value?.to_string()),\n            Arg::Long(\"git\") => self.git_bin = value?.to_string(),\n            Arg::Long(\"gpg\") => self.gpg_bin = value?.to_string(),\n            Arg::Long(\"sudo\") => self.sudo_bin = value?.to_string(),\n            Arg::Long(\"pkgctl\") => self.pkgctl_bin = value?.to_string(),\n            Arg::Long(\"bat\") => self.bat_bin = value?.to_string(),\n            Arg::Long(\"fm\") => self.fm = Some(value?.to_string()),\n            Arg::Long(\"pager\") => self.pager_cmd = Some(value?.to_string()),\n            Arg::Long(\"config\") => self.pacman_conf = Some(value?.to_string()),\n\n            Arg::Long(\"builddir\") | Arg::Long(\"clonedir\") => self.build_dir = value?.into(),\n            Arg::Long(\"develfile\") => self.devel_path = value?.into(),\n            Arg::Long(\"makepkgconf\") => self.makepkg_conf = Some(value?.to_string()),\n            Arg::Long(\"mflags\") => self.mflags.extend(split_whitespace(value?)),\n            Arg::Long(\"gitflags\") => self.git_flags.extend(split_whitespace(value?)),\n            Arg::Long(\"gpgflags\") => self.gpg_flags.extend(split_whitespace(value?)),\n            Arg::Long(\"sudoflags\") => self.sudo_flags.extend(split_whitespace(value?)),\n            Arg::Long(\"batflags\") => self.bat_flags.extend(split_whitespace(value?)),\n            Arg::Long(\"fmflags\") => self.fm_flags.extend(split_whitespace(value?)),\n            Arg::Long(\"chrootflags\") => self.chroot_flags.extend(split_whitespace(value?)),\n            Arg::Long(\"chrootpkgs\") => self\n                .chroot_pkgs\n                .extend(value?.split(',').map(|s| s.to_string())),\n            Arg::Long(\"rootchrootpkgs\") => self\n                .root_chroot_pkgs\n                .extend(value?.split(',').map(|s| s.to_string())),\n\n            Arg::Long(\"develsuffixes\") => self.devel_suffixes = split_whitespace(value?),\n            Arg::Long(\"installdebug\") => self.install_debug = true,\n            Arg::Long(\"noinstalldebug\") => self.install_debug = false,\n\n            Arg::Long(\"completioninterval\") => {\n                self.completion_interval = value?\n                    .parse()\n                    .map_err(|_| anyhow!(\"option {} must be a number\", arg))?\n            }\n            Arg::Long(\"sortby\") => self.sort_by = ConfigEnum::from_str(argkey, value?)?,\n            Arg::Long(\"searchby\") => self.search_by = ConfigEnum::from_str(argkey, value?)?,\n            Arg::Long(\"limit\") => self.limit = value?.parse()?,\n            Arg::Long(\"news\") | Arg::Short('w') => self.news += 1,\n            Arg::Long(\"stats\") => self.stats = true,\n            Arg::Short('s') => {\n                self.stats = true;\n                self.ssh = true;\n            }\n            Arg::Long(\"order\") => self.order = true,\n            Arg::Short('o') => {\n                self.order = true;\n                self.optional = true;\n            }\n            Arg::Long(\"removemake\") => {\n                self.remove_make = YesNoAsk::Yes.default_or(argkey, value.ok())?\n            }\n            Arg::Long(\"upgrademenu\") => self.upgrade_menu = true,\n            Arg::Long(\"noupgrademenu\") => self.upgrade_menu = false,\n            Arg::Long(\"noremovemake\") => self.remove_make = YesNoAsk::No,\n            Arg::Long(\"cleanafter\") => self.clean_after = true,\n            Arg::Long(\"nocleanafter\") => self.clean_after = false,\n            Arg::Long(\"redownload\") => {\n                self.redownload = YesNoAll::Yes.default_or(argkey, value.ok())?\n            }\n            Arg::Long(\"noredownload\") => self.redownload = YesNoAll::No,\n            Arg::Long(\"rebuild\") => {\n                self.rebuild = YesNoAllTree::Yes.default_or(argkey, value.ok())?\n            }\n            Arg::Long(\"norebuild\") => self.rebuild = YesNoAllTree::No,\n            Arg::Long(\"topdown\") => self.sort_mode = SortMode::TopDown,\n            Arg::Long(\"bottomup\") => self.sort_mode = SortMode::BottomUp,\n            Arg::Long(\"aur\") | Arg::Short('a') => {\n                self.mode = Mode::AUR;\n                self.aur_filter = true;\n            }\n            Arg::Long(\"repo\") => self.mode = Mode::REPO,\n            Arg::Long(\"pkgbuilds\") => self.mode = Mode::PKGBUILD,\n            Arg::Long(\"mode\") => {\n                for word in value?.split(',') {\n                    self.mode |= word.parse()?;\n                }\n            }\n            Arg::Long(\"interactive\") => self.interactive = true,\n            Arg::Long(\"skipreview\") => self.skip_review = true,\n            Arg::Long(\"review\") => self.skip_review = false,\n            Arg::Long(\"gendb\") => self.gendb = true,\n            Arg::Long(\"nocheck\") => self.no_check = true,\n            Arg::Long(\"devel\") => self.devel = true,\n            Arg::Long(\"nodevel\") => self.devel = false,\n            Arg::Long(\"provides\") => {\n                self.provides = YesNoAll::Yes.default_or(argkey, value.ok())?\n            }\n            Arg::Long(\"noprovides\") => self.provides = YesNoAll::No,\n            Arg::Long(\"pgpfetch\") => self.pgp_fetch = true,\n            Arg::Long(\"nopgpfetch\") => self.pgp_fetch = false,\n            Arg::Long(\"useask\") => self.use_ask = true,\n            Arg::Long(\"nouseask\") => self.use_ask = false,\n            Arg::Long(\"savechanges\") => self.save_changes = true,\n            Arg::Long(\"nosavechanges\") => self.save_changes = false,\n            Arg::Long(\"combinedupgrade\") => self.combined_upgrade = true,\n            Arg::Long(\"nocombinedupgrade\") => self.combined_upgrade = false,\n            Arg::Long(\"batchinstall\") => self.batch_install = true,\n            Arg::Long(\"nobatchinstall\") => self.batch_install = false,\n            Arg::Long(\"sudoloop\") => {\n                self.sudo_loop = value\n                    .unwrap_or(\"-v\")\n                    .split_whitespace()\n                    .map(|s| s.to_string())\n                    .collect()\n            }\n            Arg::Long(\"nosudoloop\") => self.sudo_loop.clear(),\n            Arg::Long(\"clean\") => self.clean += 1,\n            Arg::Long(\"optional\") => self.optional = true,\n            Arg::Long(\"complete\") => self.complete = true,\n            Arg::Short('c') => {\n                self.complete = true;\n                self.clean += 1;\n                self.comments += 1;\n            }\n            Arg::Long(\"install\") | Arg::Short('i') => self.install = true,\n            Arg::Long(\"sysupgrade\") | Arg::Short('u') => self.sysupgrade = true,\n            Arg::Long(\"refresh\") | Arg::Short('y') => self.refresh = true,\n            Arg::Long(\"quiet\") | Arg::Short('q') => self.quiet = true,\n            Arg::Long(\"list\") | Arg::Short('l') => self.list = true,\n            Arg::Long(\"delete\") | Arg::Short('d') => self.delete += 1,\n            Arg::Long(\"noinstall\") => self.no_install = true,\n\n            Arg::Long(\"print\") | Arg::Short('p') => self.print = true,\n            Arg::Long(\"newsonupgrade\") => self.news_on_upgrade = true,\n            Arg::Long(\"nonewsonupgrade\") => self.news_on_upgrade = false,\n            Arg::Long(\"comments\") => self.comments += 1,\n            Arg::Long(\"ssh\") => self.ssh = true,\n            Arg::Long(\"failfast\") => self.fail_fast = true,\n            Arg::Long(\"nofailfast\") => self.fail_fast = false,\n            Arg::Long(\"keepsrc\") => self.keep_src = true,\n            Arg::Long(\"nokeepsrc\") => self.keep_src = false,\n            // ops\n            Arg::Long(\"database\") | Arg::Short('D') => set_op(Op::Database),\n            Arg::Long(\"files\") | Arg::Short('F') => set_op(Op::Files),\n            Arg::Long(\"query\") | Arg::Short('Q') => set_op(Op::Query),\n            Arg::Long(\"remove\") | Arg::Short('R') => set_op(Op::Remove),\n            Arg::Long(\"sync\") | Arg::Short('S') => set_op(Op::Sync),\n            Arg::Long(\"deptest\") | Arg::Short('T') => set_op(Op::DepTest),\n            Arg::Long(\"upgrade\") | Arg::Short('U') => set_op(Op::Upgrade),\n            Arg::Long(\"build\") | Arg::Short('B') => set_op(Op::Build),\n            Arg::Long(\"show\") | Arg::Short('P') => set_op(Op::Show),\n            Arg::Long(\"getpkgbuild\") | Arg::Short('G') => set_op(Op::GetPkgBuild),\n            Arg::Long(\"repoctl\") | Arg::Short('L') => set_op(Op::RepoCtl),\n            Arg::Long(\"chrootctl\") | Arg::Short('C') => set_op(Op::ChrootCtl),\n            // globals\n            Arg::Long(\"noconfirm\") => self.no_confirm = true,\n            Arg::Long(\"confirm\") => self.no_confirm = false,\n            Arg::Long(\"dbpath\") | Arg::Short('b') => self.db_path = Some(value?.to_string()),\n            Arg::Long(\"root\") | Arg::Short('r') => self.root = Some(value?.to_string()),\n            Arg::Long(\"verbose\") | Arg::Short('v') => self.verbose = true,\n            Arg::Long(\"ask\") => {\n                if let Ok(n) = value?.to_string().parse() {\n                    self.ask = n\n                }\n            }\n            Arg::Long(\"ignore\") => self.ignore.extend(value?.split(',').map(|s| s.to_string())),\n            Arg::Long(\"ignoregroup\") => self\n                .ignore_group\n                .extend(value?.split(',').map(|s| s.to_string())),\n            Arg::Long(\"ignoredevel\") => {\n                for word in value?.split(',') {\n                    self.ignore_devel_builder.add(Glob::new(word)?);\n                }\n            }\n            Arg::Long(\"assume-installed\") => self.assume_installed.push(value?.to_string()),\n            Arg::Long(\"arch\") => self.arch = Some(value?.to_string()),\n            Arg::Long(\"color\") => self.color = Colors::from(value.unwrap_or(\"always\")),\n            Arg::Long(\"localrepo\") => self.repos = LocalRepos::new(value.ok()),\n            Arg::Long(\"nolocalrepo\") => self.repos = LocalRepos::None,\n            Arg::Long(\"chroot\") => {\n                self.chroot = true;\n                if let Ok(p) = value {\n                    self.chroot_dir = p.into();\n                }\n            }\n            Arg::Long(\"nochroot\") => self.chroot = false,\n            Arg::Long(\"sign\") => {\n                self.sign = match value {\n                    Ok(k) => Sign::Key(k.to_string()),\n                    Err(_) => Sign::Yes,\n                }\n            }\n            Arg::Long(\"nokeeprepocache\") => self.keep_repo_cache = false,\n            Arg::Long(\"keeprepocache\") => self.keep_repo_cache = true,\n            Arg::Long(\"signdb\") => {\n                self.sign_db = match value {\n                    Ok(k) => Sign::Key(k.to_string()),\n                    Err(_) => Sign::Yes,\n                }\n            }\n            Arg::Long(\"nosign\") => self.sign = Sign::No,\n            Arg::Long(\"nosigndb\") => self.sign_db = Sign::No,\n            Arg::Long(a) if !arg.is_pacman_arg() && !arg.is_pacman_global() => {\n                bail!(tr!(\"unknown option --{}\", a))\n            }\n            Arg::Short(a) if !arg.is_pacman_arg() && !arg.is_pacman_global() => {\n                bail!(tr!(\"unknown option -{}\", a))\n            }\n            _ => (),\n        }\n\n        match takes_value(arg) {\n            TakesValue::No if forced => bail!(tr!(\"option {} does not allow a value\", arg)),\n            _ => (),\n        }\n\n        Ok(())\n    }\n}\n\nfn split_whitespace(s: &str) -> Vec<String> {\n    s.split_whitespace().map(|s| s.to_string()).collect()\n}\n\nfn takes_value(arg: Arg) -> TakesValue {\n    match arg {\n        Arg::Long(\"aururl\") => TakesValue::Required,\n        Arg::Long(\"aurrpcurl\") => TakesValue::Required,\n        Arg::Long(\"editor\") => TakesValue::Required,\n        Arg::Long(\"makepkg\") => TakesValue::Required,\n        Arg::Long(\"pacman\") => TakesValue::Required,\n        Arg::Long(\"pacman-conf\") => TakesValue::Required,\n        Arg::Long(\"git\") => TakesValue::Required,\n        Arg::Long(\"gpg\") => TakesValue::Required,\n        Arg::Long(\"sudo\") => TakesValue::Required,\n        Arg::Long(\"pkgctl\") => TakesValue::Required,\n        Arg::Long(\"fm\") => TakesValue::Required,\n        Arg::Long(\"bat\") => TakesValue::Required,\n        Arg::Long(\"makepkgconf\") => TakesValue::Required,\n        Arg::Long(\"editorflags\") => TakesValue::Required,\n        Arg::Long(\"mflags\") => TakesValue::Required,\n        Arg::Long(\"gitflags\") => TakesValue::Required,\n        Arg::Long(\"gpgflags\") => TakesValue::Required,\n        Arg::Long(\"sudoflags\") => TakesValue::Required,\n        Arg::Long(\"batflags\") => TakesValue::Required,\n        Arg::Long(\"fmflags\") => TakesValue::Required,\n        Arg::Long(\"chrootflags\") => TakesValue::Required,\n        Arg::Long(\"chrootpkgs\") => TakesValue::Required,\n        Arg::Long(\"rootchrootpkgs\") => TakesValue::Required,\n        Arg::Long(\"completioninterval\") => TakesValue::Required,\n        Arg::Long(\"sortby\") => TakesValue::Required,\n        Arg::Long(\"searchby\") => TakesValue::Required,\n        Arg::Long(\"limit\") => TakesValue::Required,\n        Arg::Long(\"removemake\") => TakesValue::Optional,\n        Arg::Long(\"redownload\") => TakesValue::Optional,\n        Arg::Long(\"rebuild\") => TakesValue::Optional,\n        Arg::Long(\"sudoloop\") => TakesValue::Optional,\n        Arg::Long(\"develsuffixes\") => TakesValue::Required,\n        Arg::Long(\"localrepo\") => TakesValue::Optional,\n        Arg::Long(\"chroot\") => TakesValue::Optional,\n        Arg::Long(\"builddir\") => TakesValue::Required,\n        Arg::Long(\"provides\") => TakesValue::Optional,\n        Arg::Long(\"clonedir\") => TakesValue::Required,\n        Arg::Long(\"develfile\") => TakesValue::Required,\n        //pacman\n        Arg::Long(\"dbpath\") | Arg::Short('b') => TakesValue::Required,\n        Arg::Long(\"root\") | Arg::Short('r') => TakesValue::Required,\n        Arg::Long(\"ask\") => TakesValue::Required,\n        Arg::Long(\"cachedir\") => TakesValue::Required,\n        Arg::Long(\"arch\") => TakesValue::Required,\n        Arg::Long(\"color\") => TakesValue::Required,\n        Arg::Long(\"config\") => TakesValue::Required,\n        Arg::Long(\"gpgdir\") => TakesValue::Required,\n        Arg::Long(\"hookdir\") => TakesValue::Required,\n        Arg::Long(\"logfile\") => TakesValue::Required,\n        Arg::Long(\"sysroot\") => TakesValue::Required,\n        Arg::Long(\"ignore\") => TakesValue::Required,\n        Arg::Long(\"ignoregroup\") => TakesValue::Required,\n        Arg::Long(\"ignoredevel\") => TakesValue::Required,\n        Arg::Long(\"assume-installed\") => TakesValue::Required,\n        Arg::Long(\"print-format\") => TakesValue::Required,\n        Arg::Long(\"overwrite\") => TakesValue::Required,\n        Arg::Long(\"sign\") => TakesValue::Optional,\n        Arg::Long(\"signdb\") => TakesValue::Optional,\n        Arg::Long(\"mode\") => TakesValue::Required,\n        _ => TakesValue::No,\n    }\n}\n"
  },
  {
    "path": "src/completion.rs",
    "content": "use crate::config::Config;\nuse crate::print_error;\n\nuse std::fs::{create_dir_all, metadata, remove_file, OpenOptions};\nuse std::io::{stdout, BufRead, BufReader, Read, Write};\nuse std::path::Path;\nuse std::time::{Duration, SystemTime};\n\nuse anyhow::{ensure, Context, Result};\nuse flate2::read::GzDecoder;\nuse reqwest::get;\nuse tr::tr;\nuse url::Url;\n\nasync fn save_aur_list(aur_url: &Url, cache_dir: &Path) -> Result<()> {\n    let url = aur_url.join(\"packages.gz\")?;\n    let resp = get(url.clone())\n        .await\n        .with_context(|| format!(\"get {}\", url))?;\n    let success = resp.status().is_success();\n    ensure!(success, \"get {}: {}\", url, resp.status());\n\n    let data = resp.bytes().await?;\n    let decoder = GzDecoder::new(&*data);\n    let data =\n        std::io::read_to_string(decoder).with_context(|| tr!(\"failed to decode package list\"))?;\n\n    create_dir_all(cache_dir)?;\n    let path = cache_dir.join(\"packages.aur\");\n    let file = OpenOptions::new()\n        .write(true)\n        .create(true)\n        .truncate(true)\n        .open(&path);\n    let mut file = file.with_context(|| tr!(\"failed to open cache file '{}'\", path.display()))?;\n\n    for line in data.lines().filter(|l| !l.is_empty()) {\n        file.write_all(line.as_bytes())?;\n        file.write_all(b\"\\n\")?;\n    }\n\n    Ok(())\n}\n\npub async fn update_aur_cache(aur_url: &Url, cache_dir: &Path, timeout: Option<u64>) -> Result<()> {\n    let path = cache_dir.join(\"packages.aur\");\n    let metadata = metadata(&path);\n\n    if let Ok(mut file) = OpenOptions::new().read(true).open(&path) {\n        let mut buf = vec![0; 1024];\n        if let Ok(n) = file.read(&mut buf) {\n            if buf[0..n].contains(&b'\\0') {\n                let _ = std::fs::remove_file(&path);\n                let _ = remove_file(&path);\n                save_aur_list(aur_url, cache_dir).await?;\n                return Ok(());\n            }\n        }\n    }\n\n    let need_refresh = match metadata {\n        Err(err) if err.kind() == std::io::ErrorKind::NotFound => true,\n        Err(err) => return Err(anyhow::Error::new(err)),\n        Ok(metadate) => match timeout {\n            Some(timeout) => {\n                metadate.modified()?\n                    < SystemTime::now() - Duration::from_secs(60 * 60 * 24 * timeout)\n            }\n            None => false,\n        },\n    };\n\n    if need_refresh {\n        save_aur_list(aur_url, cache_dir).await?;\n    }\n\n    Ok(())\n}\n\nasync fn aur_list<W: Write>(config: &Config, w: &mut W, timeout: Option<u64>) -> Result<()> {\n    update_aur_cache(&config.aur_url, &config.cache_dir, timeout)\n        .await\n        .context(tr!(\"could not update aur cache\"))?;\n    let path = config.cache_dir.join(\"packages.aur\");\n    let file = OpenOptions::new().read(true).open(path)?;\n    let file = BufReader::new(file);\n\n    for line in file.split(b'\\n') {\n        let _ = w.write_all(&line?);\n        let _ = w.write_all(b\" AUR\\n\");\n    }\n\n    Ok(())\n}\n\nfn repo_list<W: Write>(config: &Config, w: &mut W) {\n    for db in config.alpm.syncdbs() {\n        for pkg in db.pkgs() {\n            let _ = w.write_all(pkg.name().as_bytes());\n            let _ = w.write_all(b\" \");\n            let _ = w.write_all(db.name().as_bytes());\n            let _ = w.write_all(b\"\\n\");\n        }\n    }\n}\n\nfn pkgbuild_list<W: Write>(config: &Config, w: &mut W) {\n    for db in &config.pkgbuild_repos.repos {\n        for base in db.pkgs(config) {\n            for pkg in base.srcinfo.pkgnames() {\n                let _ = w.write_all(pkg.as_bytes());\n                let _ = w.write_all(b\" \");\n                let _ = w.write_all(db.name.as_bytes());\n                let _ = w.write_all(b\"\\n\");\n            }\n        }\n    }\n}\n\npub async fn print(config: &Config, timeout: Option<u64>) -> i32 {\n    let stdout = stdout();\n    let mut stdout = stdout.lock();\n\n    repo_list(config, &mut stdout);\n    pkgbuild_list(config, &mut stdout);\n\n    if let Err(err) = aur_list(config, &mut stdout, timeout).await {\n        print_error(config.color.error, err);\n        return 1;\n    }\n\n    0\n}\n"
  },
  {
    "path": "src/config.rs",
    "content": "use crate::args::Args;\nuse crate::devel::save_devel_info;\nuse crate::exec::{self, Status};\nuse crate::fmt::color_repo;\nuse crate::info::get_terminal_width;\nuse crate::pkgbuild::PkgbuildRepos;\nuse crate::util::{get_provider, reopen_stdin};\nuse crate::{alpm_debug_enabled, help, printtr, repo};\n\nuse std::env::consts::ARCH;\nuse std::env::{remove_var, set_var, var};\nuse std::fmt;\nuse std::fs::{remove_file, OpenOptions};\nuse std::io::{stderr, stdin, stdout, BufRead, IsTerminal};\nuse std::path::{Path, PathBuf};\nuse std::str::FromStr;\n\nuse alpm::{\n    AnyDownloadEvent, AnyQuestion, Depend, DownloadEvent, DownloadResult, LogLevel, Question,\n};\nuse ansiterm::Color::{Blue, Cyan, Green, Purple, Red, Yellow};\nuse ansiterm::Style;\nuse anyhow::{anyhow, bail, ensure, Context, Error, Result};\n\nuse bitflags::bitflags;\nuse cini::{Callback, CallbackKind, Ini};\nuse globset::{Glob, GlobSet, GlobSetBuilder};\nuse tr::tr;\nuse url::Url;\n\n#[derive(Debug, Default)]\npub struct Alpm {\n    alpm: Option<alpm::Alpm>,\n}\n\nimpl std::ops::Deref for Alpm {\n    type Target = alpm::Alpm;\n    fn deref(&self) -> &Self::Target {\n        self.alpm.as_ref().unwrap()\n    }\n}\n\nimpl std::ops::DerefMut for Alpm {\n    fn deref_mut(&mut self) -> &mut Self::Target {\n        self.alpm.as_mut().unwrap()\n    }\n}\n\nimpl Alpm {\n    fn new(alpm: alpm::Alpm) -> Self {\n        Self { alpm: Some(alpm) }\n    }\n}\n\n#[derive(Debug, SmartDefault, Clone, PartialEq, Eq)]\npub enum LocalRepos {\n    #[default]\n    None,\n    Default,\n    Repo(Vec<String>),\n}\n\nimpl LocalRepos {\n    pub fn new(repo: Option<&str>) -> Self {\n        match repo {\n            Some(s) => LocalRepos::Repo(s.split_whitespace().map(|s| s.to_string()).collect()),\n            None => LocalRepos::Default,\n        }\n    }\n}\n\n#[derive(Debug, Default, Copy, Clone)]\npub struct Colors {\n    pub enabled: bool,\n    pub field: Style,\n    pub error: Style,\n    pub warning: Style,\n    pub bold: Style,\n    pub upgrade: Style,\n    //pub base: Style,\n    pub action: Style,\n    pub sl_repo: Style,\n    pub sl_pkg: Style,\n    pub sl_version: Style,\n    pub sl_installed: Style,\n    //pub ss_repo: Style,\n    pub ss_name: Style,\n    pub ss_ver: Style,\n    pub ss_stats: Style,\n    pub ss_orphaned: Style,\n    pub ss_installed: Style,\n    pub ss_ood: Style,\n    pub code: Style,\n    pub news_date: Style,\n    pub old_version: Style,\n    pub new_version: Style,\n    pub install_version: Style,\n    pub number_menu: Style,\n    pub group: Style,\n    pub stats_line_separator: Style,\n    pub stats_value: Style,\n}\n\nimpl From<&str> for Colors {\n    fn from(s: &str) -> Self {\n        match s {\n            \"auto\" if stdout().is_terminal() && stderr().is_terminal() => Colors::new(),\n            \"always\" => Colors::new(),\n            _ => Colors::default(),\n        }\n    }\n}\n\nimpl Colors {\n    pub fn new() -> Colors {\n        Colors {\n            enabled: true,\n            field: Style::new().bold(),\n            error: Style::new().fg(Red),\n            warning: Style::new().fg(Yellow),\n            bold: Style::new().bold(),\n            upgrade: Style::new().fg(Green).bold(),\n            //base: Style::new().fg(Blue),\n            action: Style::new().fg(Blue).bold(),\n            sl_repo: Style::new().fg(Purple).bold(),\n            sl_pkg: Style::new().bold(),\n            sl_version: Style::new().fg(Green).bold(),\n            sl_installed: Style::new().fg(Cyan).bold(),\n            //ss_repo: Style::new().fg(Blue).bold(),\n            ss_name: Style::new().bold(),\n            ss_ver: Style::new().fg(Green).bold(),\n            ss_stats: Style::new().bold(),\n            ss_orphaned: Style::new().fg(Red).bold(),\n            ss_installed: Style::new().fg(Cyan).bold(),\n            ss_ood: Style::new().fg(Red).bold(),\n            code: Style::new().fg(Cyan),\n            news_date: Style::new().fg(Cyan).bold(),\n            old_version: Style::new().fg(Red),\n            install_version: Style::new().fg(ansiterm::Color::Fixed(243)),\n            new_version: Style::new().fg(Green),\n            number_menu: Style::new().fg(Purple),\n            group: Style::new().fg(Blue).bold(),\n            stats_line_separator: Style::new().fg(Blue).bold(),\n            stats_value: Style::new().fg(Cyan),\n        }\n    }\n}\n\npub trait ConfigEnum: Sized + PartialEq + Copy + Clone + fmt::Debug + 'static {\n    const VALUE_LOOKUP: &'static [(&'static str, Self)];\n\n    fn as_str(&self) -> &'static str {\n        Self::VALUE_LOOKUP\n            .iter()\n            .find(|(_, v)| self == v)\n            .map(|(k, _)| k)\n            .unwrap()\n    }\n\n    fn default_or(self, key: &str, value: Option<&str>) -> Result<Self> {\n        value.map_or(Ok(self), |value| ConfigEnum::from_str(key, value))\n    }\n\n    fn from_str(key: &str, value: &str) -> Result<Self> {\n        let val = Self::VALUE_LOOKUP\n            .iter()\n            .find(|(name, _)| name == &value)\n            .map(|(_, res)| *res);\n\n        if let Some(val) = val {\n            Ok(val)\n        } else {\n            let okvalues = Self::VALUE_LOOKUP\n                .iter()\n                .map(|v| v.0)\n                .collect::<Vec<&str>>()\n                .join(\"|\");\n            bail!(tr!(\n                \"invalid value '{val}' for key '{key}', expected: {exp}\",\n                val = value,\n                key = key,\n                exp = okvalues\n            ))\n        }\n    }\n}\n\ntype ConfigEnumValues<T> = &'static [(&'static str, T)];\n\n#[derive(Debug, SmartDefault, PartialEq, Eq)]\npub enum Sign {\n    #[default]\n    No,\n    Yes,\n    Key(String),\n}\n\n#[derive(Debug, Default, Clone, Copy, PartialEq, Eq)]\npub enum Op {\n    #[default]\n    Default,\n    ChrootCtl,\n    Database,\n    DepTest,\n    Files,\n    GetPkgBuild,\n    Query,\n    Remove,\n    RepoCtl,\n    Show,\n    Sync,\n    Upgrade,\n    Build,\n}\n\nimpl ConfigEnum for Op {\n    const VALUE_LOOKUP: ConfigEnumValues<Self> = &[\n        (\"chrootctl\", Self::ChrootCtl),\n        (\"database\", Self::Database),\n        (\"deptest\", Self::DepTest),\n        (\"files\", Self::Files),\n        (\"getpkgbuild\", Self::GetPkgBuild),\n        (\"query\", Self::Query),\n        (\"remove\", Self::Remove),\n        (\"repoctl\", Self::RepoCtl),\n        (\"show\", Self::Show),\n        (\"sync\", Self::Sync),\n        (\"upgrade\", Self::Upgrade),\n        (\"build\", Self::Build),\n        (\"default\", Self::Default),\n    ];\n}\n\nimpl fmt::Display for Op {\n    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {\n        write!(f, \"{}\", self.as_str())\n    }\n}\n\n#[derive(Debug, Clone, Copy, PartialEq, Eq)]\npub enum SortBy {\n    Base,\n    BaseId,\n    Id,\n    Modified,\n    Name,\n    Popularity,\n    Submitted,\n    Votes,\n}\n\nimpl ConfigEnum for SortBy {\n    const VALUE_LOOKUP: ConfigEnumValues<Self> = &[\n        (\"base\", Self::Base),\n        (\"baseid\", Self::BaseId),\n        (\"id\", Self::Id),\n        (\"modified\", Self::Modified),\n        (\"name\", Self::Name),\n        (\"popularity\", Self::Popularity),\n        (\"submitted\", Self::Submitted),\n        (\"votes\", Self::Votes),\n    ];\n}\n\nimpl ConfigEnum for raur::SearchBy {\n    const VALUE_LOOKUP: ConfigEnumValues<Self> = &[\n        (\"checkdepends\", Self::CheckDepends),\n        (\"depends\", Self::Depends),\n        (\"maintainer\", Self::Maintainer),\n        (\"makedepends\", Self::MakeDepends),\n        (\"name-desc\", Self::NameDesc),\n        (\"name\", Self::Name),\n        (\"submitter\", Self::Submitter),\n        (\"provides\", Self::Provides),\n        (\"replaces\", Self::Replaces),\n        (\"groups\", Self::Groups),\n        (\"keywords\", Self::Keywords),\n        (\"comaintainers\", Self::CoMaintainers),\n    ];\n}\n\n#[derive(Debug, Clone, Copy, PartialEq, Eq)]\npub enum SortMode {\n    BottomUp,\n    TopDown,\n}\n\nimpl ConfigEnum for SortMode {\n    const VALUE_LOOKUP: ConfigEnumValues<Self> =\n        &[(\"bottomup\", Self::BottomUp), (\"topdown\", Self::TopDown)];\n}\n\nbitflags! {\n    #[derive(Debug, Clone, Copy, PartialEq, Eq)]\n    pub struct Mode: u32 {\n        const AUR =  1 << 0;\n        const REPO = 1 << 1;\n        const PKGBUILD = 1 << 2;\n    }\n}\n\nimpl Mode {\n    pub fn aur(self) -> bool {\n        self.contains(Self::AUR)\n    }\n\n    pub fn repo(self) -> bool {\n        self.contains(Self::REPO)\n    }\n\n    pub fn pkgbuild(self) -> bool {\n        self.contains(Self::PKGBUILD)\n    }\n}\n\nimpl FromStr for Mode {\n    type Err = Error;\n\n    fn from_str(input: &str) -> Result<Self> {\n        let mode = match input {\n            \"all\" => Mode::all(),\n            \"aur\" => Mode::AUR,\n            \"repo\" => Mode::REPO,\n            \"pkgbuilds\" => Mode::PKGBUILD,\n            _ => {\n                let mut mode = Mode::empty();\n                for c in input.chars() {\n                    match c {\n                        'a' => mode |= Mode::AUR,\n                        'r' => mode |= Mode::REPO,\n                        'p' => mode |= Mode::PKGBUILD,\n                        _ => bail!(tr!(\"unknown mode {}\", input)),\n                    }\n                }\n                mode\n            }\n        };\n        Ok(mode)\n    }\n}\n\n#[derive(Debug, Clone, Copy, PartialEq, Eq)]\npub enum YesNoAll {\n    Yes,\n    No,\n    All,\n}\n\nimpl ConfigEnum for YesNoAll {\n    const VALUE_LOOKUP: ConfigEnumValues<Self> =\n        &[(\"yes\", Self::Yes), (\"no\", Self::No), (\"all\", Self::All)];\n}\n\n#[derive(Debug, Clone, Copy, PartialEq, Eq)]\npub enum YesNoAsk {\n    Yes,\n    No,\n    Ask,\n}\n\nimpl ConfigEnum for YesNoAsk {\n    const VALUE_LOOKUP: ConfigEnumValues<Self> =\n        &[(\"yes\", Self::Yes), (\"no\", Self::No), (\"ask\", Self::Ask)];\n}\n\n#[derive(Debug, Clone, Copy, PartialEq, Eq)]\npub enum YesNoAllTree {\n    Yes,\n    No,\n    All,\n    Tree,\n}\n\nimpl ConfigEnum for YesNoAllTree {\n    const VALUE_LOOKUP: ConfigEnumValues<Self> = &[\n        (\"yes\", Self::Yes),\n        (\"no\", Self::No),\n        (\"all\", Self::All),\n        (\"tree\", Self::Tree),\n    ];\n}\n\n#[derive(SmartDefault, Debug)]\npub struct Config {\n    section: Option<String>,\n    pub args: Args<String>,\n    pub globals: Args<String>,\n\n    pub cols: Option<usize>,\n\n    pub op: Op,\n\n    #[cfg(not(feature = \"mock\"))]\n    pub raur: raur::Handle,\n    #[cfg(feature = \"mock\")]\n    pub raur: crate::mock::Mock,\n    #[default(aur_fetch::Fetch::with_cache_dir(\"\"))]\n    pub fetch: aur_fetch::Fetch,\n    pub cache: raur::Cache,\n    pub need_root: bool,\n\n    pub pacman: pacmanconf::Config,\n    pub alpm: Alpm,\n    pub color: Colors,\n    pub targets: Vec<String>,\n\n    #[default(Url::parse(\"https://aur.archlinux.org\").unwrap())]\n    pub aur_url: Url,\n    pub aur_rpc_url: Option<Url>,\n    #[default(Url::parse(\"https://archlinux.org\").unwrap())]\n    pub arch_url: Url,\n    pub build_dir: PathBuf,\n    pub cache_dir: PathBuf,\n    pub state_dir: PathBuf,\n    pub devel_path: PathBuf,\n    pub config_path: Option<PathBuf>,\n\n    pub news: u32,\n    pub stats: bool,\n    pub order: bool,\n    pub gendb: bool,\n\n    #[default(YesNoAll::No)]\n    pub redownload: YesNoAll,\n    #[default(YesNoAllTree::No)]\n    pub rebuild: YesNoAllTree,\n    #[default(YesNoAsk::No)]\n    pub remove_make: YesNoAsk,\n    #[default(SortBy::Votes)]\n    pub sort_by: SortBy,\n    #[default(raur::SearchBy::NameDesc)]\n    pub search_by: raur::SearchBy,\n    pub limit: usize,\n    #[default(SortMode::TopDown)]\n    pub sort_mode: SortMode,\n    #[default(Mode::empty())]\n    pub mode: Mode,\n    pub aur_filter: bool,\n    pub interactive: bool,\n\n    #[default = 7]\n    pub completion_interval: u64,\n\n    pub help: bool,\n    pub version: bool,\n\n    pub skip_review: bool,\n    pub no_check: bool,\n    pub no_confirm: bool,\n    pub devel: bool,\n    pub clean_after: bool,\n    #[default(YesNoAll::No)]\n    pub provides: YesNoAll,\n    pub pgp_fetch: bool,\n    pub combined_upgrade: bool,\n    pub batch_install: bool,\n    pub use_ask: bool,\n    pub save_changes: bool,\n    pub clean: usize,\n    pub optional: bool,\n    pub complete: bool,\n    pub print: bool,\n    pub news_on_upgrade: bool,\n    pub comments: usize,\n    pub ssh: bool,\n    pub keep_repo_cache: bool,\n    pub fail_fast: bool,\n    pub keep_src: bool,\n\n    pub sign: Sign,\n    pub sign_db: Sign,\n\n    pub pre_build_command: Option<String>,\n\n    #[default = \"makepkg\"]\n    pub makepkg_bin: String,\n    #[default = \"pacman\"]\n    pub pacman_bin: String,\n    pub pacman_conf_bin: Option<String>,\n    #[default = \"git\"]\n    pub git_bin: String,\n    #[default = \"gpg\"]\n    pub gpg_bin: String,\n    #[default = \"sudo\"]\n    pub sudo_bin: String,\n    #[default = \"pkgctl\"]\n    pub pkgctl_bin: String,\n    #[default = \"bat\"]\n    pub bat_bin: String,\n    pub fm: Option<String>,\n    pub sudo_loop: Vec<String>,\n\n    pub mflags: Vec<String>,\n    pub git_flags: Vec<String>,\n    pub gpg_flags: Vec<String>,\n    pub sudo_flags: Vec<String>,\n    pub bat_flags: Vec<String>,\n    pub fm_flags: Vec<String>,\n    pub chroot_flags: Vec<String>,\n    pub pager_cmd: Option<String>,\n\n    pub devel_suffixes: Vec<String>,\n    #[default(GlobSet::empty())]\n    pub no_warn: GlobSet,\n    #[default(GlobSetBuilder::new())]\n    pub no_warn_builder: GlobSetBuilder,\n    pub install_debug: bool,\n\n    pub upgrade_menu: bool,\n\n    pub makepkg_conf: Option<String>,\n    pub pacman_conf: Option<String>,\n\n    pub repos: LocalRepos,\n    #[default(Path::new(\"/var/lib/aurbuild/\").join(ARCH))]\n    pub chroot_dir: PathBuf,\n    pub chroot: bool,\n    pub chroot_pkgs: Vec<String>,\n    #[default(vec![\"base-devel\".to_string()])]\n    pub root_chroot_pkgs: Vec<String>,\n    pub install: bool,\n    pub uninstall: bool,\n    pub sysupgrade: bool,\n    pub refresh: bool,\n    pub quiet: bool,\n    pub list: bool,\n    pub delete: u32,\n    pub no_install: bool,\n\n    pub env: Vec<(String, String)>,\n\n    //pacman\n    pub db_path: Option<String>,\n    pub root: Option<String>,\n    pub verbose: bool,\n    pub ask: usize,\n    pub arch: Option<String>,\n\n    pub ignore: Vec<String>,\n    pub ignore_group: Vec<String>,\n    pub ignore_devel_source: Vec<String>,\n    #[default(GlobSet::empty())]\n    pub ignore_devel: GlobSet,\n    #[default(GlobSetBuilder::new())]\n    pub ignore_devel_builder: GlobSetBuilder,\n    pub assume_installed: Vec<String>,\n\n    #[default(PkgbuildRepos::new(aur_fetch::Fetch::with_cache_dir(\"repo\")))]\n    pub pkgbuild_repos: PkgbuildRepos,\n}\n\nimpl Ini for Config {\n    type Err = Error;\n\n    fn callback(&mut self, cb: Callback) -> Result<(), Self::Err> {\n        let err = match cb.kind {\n            CallbackKind::Section(section) => {\n                self.section = Some(section.to_string());\n                if !matches!(section, \"options\" | \"bin\" | \"env\")\n                    && self.pkgbuild_repos.repo(section).is_none()\n                {\n                    if matches!(section, \"local\" | \"aur\" | \"pkg\" | \"base\") || section.contains('.')\n                    {\n                        bail!(tr!(\"section can not be called {}\", section));\n                    }\n                    self.pkgbuild_repos.add_repo(section.to_string());\n                }\n                Ok(())\n            }\n            CallbackKind::Directive(_, key, value) => self.parse_directive(key, value),\n        };\n\n        let filename = cb.filename.unwrap_or(\"paru.conf\");\n        err.map_err(|e| anyhow!(\"{}:{}: {}\", filename, cb.line_number, e))\n    }\n}\n\nimpl Config {\n    pub fn new() -> Result<Self> {\n        let cache =\n            dirs::cache_dir().ok_or_else(|| anyhow!(tr!(\"failed to find cache directory\")))?;\n        let cache = cache.join(\"paru\");\n        let config =\n            dirs::config_dir().ok_or_else(|| anyhow!(tr!(\"failed to find config directory\")))?;\n        let config = config.join(\"paru\");\n        let state = dirs::state_dir()\n            .or_else(dirs::cache_dir)\n            .ok_or_else(|| anyhow!(tr!(\"failed to find state directory\")))?;\n        let state = state.join(\"paru\");\n\n        let build_dir = cache.join(\"clone\");\n        let old_old_devel_path = cache.join(\"devel.json\");\n        let old_devel_path = state.join(\"devel.json\");\n        let devel_path = state.join(\"devel.toml\");\n        let config_path = config.join(\"paru.conf\");\n\n        let old = if old_devel_path.exists() {\n            Some(&old_devel_path)\n        } else if old_old_devel_path.exists() {\n            Some(&old_old_devel_path)\n        } else {\n            None\n        };\n\n        let cache_dir = cache;\n        let state_dir = state;\n\n        let color = Colors::from(\"never\");\n        let cols = get_terminal_width();\n\n        let mut config = Self {\n            cols,\n            color,\n            build_dir,\n            cache_dir,\n            state_dir,\n            devel_path,\n            ..Self::default()\n        };\n\n        if let Some(old) = old {\n            if let Ok(devel) = OpenOptions::new().read(true).open(old) {\n                if let Ok(devel) = serde_json::from_reader(devel) {\n                    save_devel_info(&config, &devel)?;\n                    let _ = remove_file(&old_devel_path);\n                    let _ = remove_file(&old_old_devel_path);\n                }\n            }\n        }\n\n        if let Ok(conf) = var(\"PARU_CONF\") {\n            let path = PathBuf::from(conf);\n            ensure!(\n                path.exists(),\n                tr!(\"config file '{}' does not exist\", path.display())\n            );\n            config.config_path = Some(path);\n        } else if config_path.exists() {\n            config.config_path = Some(config_path);\n        } else {\n            let config_path = PathBuf::from(\"/etc/paru.conf\");\n\n            if config_path.exists() {\n                config.config_path = Some(config_path);\n            }\n        }\n\n        Ok(config)\n    }\n\n    pub fn set_op_args_globals(&mut self, op: Op) {\n        self.op = op;\n        self.args.op = op.as_str().to_string();\n        self.globals.op = op.as_str().to_string();\n    }\n\n    pub fn pacman_args(&self) -> Args<&str> {\n        self.args.as_str()\n    }\n\n    pub fn pacman_globals(&self) -> Args<&str> {\n        self.globals.as_str()\n    }\n\n    pub fn parse_args<S: AsRef<str>, I: IntoIterator<Item = S>>(&mut self, iter: I) -> Result<()> {\n        let iter = iter.into_iter();\n        let mut iter = iter.peekable();\n        let mut op_count = 0;\n        let mut end_of_ops = false;\n\n        if let Ok(aurdest) = var(\"AURDEST\") {\n            self.build_dir = aurdest.into();\n        }\n\n        while let Some(arg) = iter.next() {\n            let value = iter.peek().map(|s| s.as_ref());\n            let arg = arg.as_ref();\n            if self.parse_arg(arg, value, &mut op_count, &mut end_of_ops)? {\n                iter.next();\n            }\n\n            ensure!(\n                op_count <= 1,\n                tr!(\"only one operation may be used at a time\")\n            );\n        }\n\n        if let Some((i, _)) = self.targets.iter().enumerate().find(|t| t.1 == \"-\") {\n            self.targets.remove(i);\n            self.parse_stdin()?;\n            reopen_stdin()?;\n        }\n\n        self.args.op = self.op.as_str().to_string();\n        self.args.targets = self.targets.clone();\n        self.args.bin = self.pacman_bin.clone();\n\n        self.globals.op = self.op.as_str().to_string();\n        self.globals.bin = self.pacman_bin.clone();\n\n        if self.help {\n            match self.op {\n                Op::GetPkgBuild | Op::Show | Op::Default => {\n                    help::help();\n                    std::process::exit(0);\n                }\n                _ => {\n                    let status = exec::pacman(self, &self.args).unwrap_or(Status(1));\n                    std::process::exit(status.code());\n                }\n            }\n        }\n\n        if self.version {\n            version();\n            std::process::exit(0);\n        }\n\n        self.init_pacmanconf()?;\n        self.init_alpm()?;\n\n        if self.pacman.color && !self.globals.has_arg(\"color\", \"color\") {\n            self.color = Colors::from(\"auto\");\n        }\n\n        #[cfg(not(feature = \"mock\"))]\n        {\n            use std::time::Duration;\n\n            let ver = option_env!(\"PARU_VERSION\").unwrap_or(env!(\"CARGO_PKG_VERSION\"));\n            let client = reqwest::Client::builder()\n                .tcp_keepalive(Duration::new(15, 0))\n                .user_agent(format!(\"paru/{}\", ver))\n                .build()?;\n\n            let rpc_url = match &self.aur_rpc_url {\n                Some(rpc) => rpc.to_string(),\n                None => self.aur_url.join(\"rpc\")?.to_string(),\n            };\n\n            self.raur = raur::Handle::new_with_settings(client, rpc_url);\n        }\n\n        #[cfg(feature = \"mock\")]\n        {\n            self.raur = crate::mock::Mock::new()?;\n        }\n\n        let aur_url = if self.ssh {\n            self.aur_url\n                .to_string()\n                .replacen(\"https://\", \"ssh://aur@\", 1)\n                .parse()\n                .expect(\"change AUR URL schema from HTTPS to SSH\")\n        } else {\n            self.aur_url.clone()\n        };\n\n        self.fetch = aur_fetch::Fetch {\n            git: self.git_bin.clone().into(),\n            git_flags: self.git_flags.clone(),\n            clone_dir: self.build_dir.clone(),\n            diff_dir: self.cache_dir.join(\"diff\"),\n            aur_url: aur_url.clone(),\n        };\n\n        self.pkgbuild_repos.fetch = aur_fetch::Fetch {\n            git: self.git_bin.clone().into(),\n            git_flags: self.git_flags.clone(),\n            clone_dir: self.build_dir.join(\"repo\"),\n            diff_dir: self.cache_dir.join(\"repo/diff\"),\n            aur_url,\n        };\n\n        for repo in &mut self.pkgbuild_repos.repos {\n            if repo.source.url().is_some() {\n                repo.path = self.pkgbuild_repos.fetch.clone_dir.join(&repo.path);\n            }\n        }\n\n        if self.mode == Mode::empty() {\n            self.mode = Mode::all();\n        }\n\n        if !self.mode.pkgbuild() {\n            self.pkgbuild_repos.repos.clear();\n        }\n\n        self.need_root = self.need_root();\n\n        if let LocalRepos::Repo(repos) = &self.repos {\n            let (_, db) = repo::repo_aur_dbs(self);\n            for repo in repos {\n                if !db.iter().any(|db| db.name() == repo) {\n                    bail!(\"{}\", tr!(\"no local repo named {}\", repo))\n                }\n            }\n        }\n\n        if self.repos != LocalRepos::None {\n            let (_, repos) = repo::repo_aur_dbs(self);\n\n            if repos.is_empty() {\n                bail!(\n                    \"no local repos configured, add one to your pacman.conf:\n    [options]\n    CacheDir = /var/lib/repo/aur\n\n    [aur]\n    SigLevel = PackageOptional DatabaseOptional\n    Server = file:///var/lib/repo/aur\n\nthen initialise it with:\n    paru -Ly\"\n                );\n            }\n\n            for repo in repos {\n                if !self.pacman.repos.iter().any(|r| r.name == repo.name()) {\n                    bail!(tr!(\n                        \"can not find local repo '{}' in pacman.conf\",\n                        repo.name()\n                    ));\n                }\n            }\n        }\n\n        self.no_warn = self.no_warn_builder.build()?;\n        self.ignore_devel = self.ignore_devel_builder.build()?;\n\n        if !self.assume_installed.is_empty() && !self.chroot {\n            self.mflags.push(\"-d\".to_string());\n        }\n        if self.no_check {\n            self.mflags.push(\"--nocheck\".to_string());\n        }\n\n        if self.chroot {\n            remove_var(\"PKGEXT\");\n        }\n\n        Ok(())\n    }\n\n    fn init_pacmanconf(&mut self) -> Result<()> {\n        self.pacman = pacmanconf::Config::with_opts(\n            self.pacman_conf_bin.as_deref(),\n            self.pacman_conf.as_deref(),\n            self.root.as_deref(),\n        )?;\n\n        if let Some(ref dbpath) = self.db_path {\n            self.pacman.db_path = dbpath.clone();\n        }\n\n        self.ignore.extend(self.pacman.ignore_pkg.clone());\n        self.ignore_group.extend(self.pacman.ignore_group.clone());\n\n        Ok(())\n    }\n\n    pub fn new_alpm(&self) -> Result<alpm::Alpm> {\n        let mut alpm = alpm::Alpm::new(self.pacman.root_dir.as_str(), self.pacman.db_path.as_str())\n            .with_context(|| {\n                tr!(\n                    \"failed to initialize alpm: root={} dbpath={}\",\n                    self.pacman.root_dir,\n                    self.pacman.db_path\n                )\n            })?;\n\n        alpm.set_question_cb((self.no_confirm, self.color), question);\n        alpm.set_dl_cb((), download);\n        alpm.set_log_cb(self.color, log);\n        alpm_utils::configure_alpm(&mut alpm, &self.pacman)?;\n\n        if !self.chroot {\n            for dep in &self.assume_installed {\n                alpm.add_assume_installed(&Depend::new(dep.as_str()))?;\n            }\n        }\n\n        for pkg in &self.ignore {\n            alpm.add_ignorepkg(pkg.as_str())?;\n        }\n\n        for group in &self.ignore_group {\n            alpm.add_ignoregroup(group.as_str())?;\n        }\n\n        Ok(alpm)\n    }\n\n    pub fn init_alpm(&mut self) -> Result<()> {\n        self.alpm = Alpm::new(self.new_alpm()?);\n        Ok(())\n    }\n\n    fn parse_stdin(&mut self) -> Result<()> {\n        for line in stdin().lock().lines() {\n            self.targets.push(line?);\n        }\n\n        Ok(())\n    }\n\n    fn need_root(&self) -> bool {\n        let args = &self.args;\n\n        if self.op == Op::Database {\n            return !args.has_arg(\"k\", \"check\");\n        } else if self.op == Op::Files {\n            return args.has_arg(\"y\", \"refresh\");\n        } else if self.op == Op::Query {\n            return args.has_arg(\"k\", \"check\");\n        } else if self.op == Op::Remove {\n            return !(args.has_arg(\"p\", \"print\") || args.has_arg(\"p\", \"print-format\"));\n        } else if self.op == Op::Sync {\n            if args.has_arg(\"y\", \"refresh\") {\n                return true;\n            }\n\n            return !(args.has_arg(\"p\", \"print\")\n                || args.has_arg(\"p\", \"print-format\")\n                || args.has_arg(\"s\", \"search\")\n                || args.has_arg(\"l\", \"list\")\n                || args.has_arg(\"g\", \"groups\")\n                || args.has_arg(\"i\", \"info\")\n                || (args.has_arg(\"c\", \"clean\") && !self.mode.repo()));\n        } else if self.op == Op::Upgrade || self.op == Op::Build {\n            return true;\n        }\n\n        false\n    }\n\n    fn parse_directive(&mut self, key: &str, value: Option<&str>) -> Result<()> {\n        if key == \"Include\" {\n            let value = match value {\n                Some(value) => value,\n                None => bail!(tr!(\"value can not be empty for key '{}'\", key)),\n            };\n\n            let ini = std::fs::read_to_string(value)?;\n\n            let section = self.section.clone();\n            let section = section.as_deref();\n            let section = self\n                .parse_with_section(section, Some(value), &ini)?\n                .map(|s| s.to_string());\n            self.section = section;\n            return Ok(());\n        }\n\n        let section = match &self.section {\n            Some(section) => section.as_str(),\n            None => bail!(tr!(\"key '{}' does not belong to a section\", key)),\n        };\n\n        let section = section.to_string();\n\n        match section.as_str() {\n            \"options\" => self.parse_option(key, value),\n            \"bin\" => self.parse_bin(key, value),\n            \"env\" => self.parse_env(key, value),\n            repo => self.parse_repo(repo, key, value),\n        }\n    }\n\n    fn parse_repo(&mut self, repo: &str, key: &str, value: Option<&str>) -> Result<()> {\n        let value = value.context(tr!(\"key can not be empty\"));\n\n        let repo = self.pkgbuild_repos.repo_mut(repo).unwrap();\n\n        match key {\n            \"Url\" => repo.source.set_url(Url::parse(value?)?),\n            \"Path\" => repo.source.set_path(value?.to_string()),\n            \"Depth\" => repo.depth = value?.parse()?,\n            \"SkipReview\" => repo.skip_review = true,\n            \"GenerateSrcinfo\" => repo.force_srcinfo = true,\n            _ => eprintln!(\"{}\", tr!(\"error: unknown option '{}' in repo\", key)),\n        }\n\n        Ok(())\n    }\n\n    fn parse_env(&mut self, key: &str, value: Option<&str>) -> Result<()> {\n        let value = value.context(tr!(\"key can not be empty\"))?;\n\n        ensure!(!key.is_empty(), tr!(\"key can not be empty\"));\n        ensure!(!key.contains('\\0'), tr!(\"key can not contain null bytes\"));\n        ensure!(\n            !value.contains('\\0'),\n            tr!(\"value can not contain null bytes\")\n        );\n\n        self.env.push((key.to_owned(), value.to_string()));\n        set_var(key, value);\n        Ok(())\n    }\n\n    fn parse_bin(&mut self, key: &str, value: Option<&str>) -> Result<()> {\n        let value = value\n            .map(|s| s.to_string())\n            .ok_or_else(|| anyhow!(tr!(\"key can not be empty\")))?;\n\n        let split = value.split_whitespace().map(|s| s.to_string());\n\n        match key {\n            \"Makepkg\" => self.makepkg_bin = value,\n            \"Pacman\" => self.pacman_bin = value,\n            \"PacmanConf\" => self.pacman_conf_bin = Some(value),\n            \"Git\" => self.git_bin = value,\n            \"Pkgctl\" => self.pkgctl_bin = value,\n            \"Gpg\" => self.gpg_bin = value,\n            \"Sudo\" => self.sudo_bin = value,\n            \"Pager\" => self.pager_cmd = Some(value),\n            \"Bat\" => self.bat_bin = value,\n            \"FileManager\" => self.fm = Some(value),\n            \"MFlags\" => self.mflags.extend(split),\n            \"GitFlags\" => self.git_flags.extend(split),\n            \"GpgFlags\" => self.gpg_flags.extend(split),\n            \"SudoFlags\" => self.sudo_flags.extend(split),\n            \"BatFlags\" => self.bat_flags.extend(split),\n            \"FileManagerFlags\" => self.fm_flags.extend(split),\n            \"ChrootFlags\" => self.chroot_flags.extend(split),\n            \"PreBuildCommand\" => self.pre_build_command = Some(value),\n            _ => eprintln!(\n                \"{}\",\n                tr!(\"error: unknown option '{}' in section [bin]\", key)\n            ),\n        };\n\n        Ok(())\n    }\n\n    fn parse_option(&mut self, key: &str, value: Option<&str>) -> Result<()> {\n        let mut ok1 = true;\n        let mut ok2 = true;\n\n        match key {\n            \"SkipReview\" => self.skip_review = true,\n            \"BottomUp\" => self.sort_mode = SortMode::BottomUp,\n            \"AurOnly\" => self.mode = Mode::AUR,\n            \"PkgbuildsOnly\" => self.mode = Mode::PKGBUILD,\n            \"RepoOnly\" => self.mode = Mode::REPO,\n            \"SudoLoop\" => {\n                self.sudo_loop = value\n                    .unwrap_or(\"-v\")\n                    .split_whitespace()\n                    .map(|s| s.to_string())\n                    .collect()\n            }\n            \"Devel\" => self.devel = true,\n            \"NoCheck\" => self.no_check = true,\n            \"CleanAfter\" => self.clean_after = true,\n            \"Provides\" => self.provides = YesNoAll::Yes.default_or(key, value)?,\n            \"PgpFetch\" => self.pgp_fetch = true,\n            \"CombinedUpgrade\" => self.combined_upgrade = true,\n            \"BatchInstall\" => self.batch_install = true,\n            \"UseAsk\" => self.use_ask = true,\n            \"SaveChanges\" => self.save_changes = true,\n            \"NewsOnUpgrade\" => self.news_on_upgrade = true,\n            \"InstallDebug\" => self.install_debug = true,\n            \"Redownload\" => self.redownload = YesNoAll::Yes.default_or(key, value)?,\n            \"Rebuild\" => self.rebuild = YesNoAllTree::Yes.default_or(key, value)?,\n            \"RemoveMake\" => self.remove_make = YesNoAsk::Yes.default_or(key, value)?,\n            \"UpgradeMenu\" => self.upgrade_menu = true,\n            \"LocalRepo\" => self.repos = LocalRepos::new(value),\n            \"Chroot\" => {\n                self.chroot = true;\n                if let Some(p) = value {\n                    self.chroot_dir = p.into();\n                }\n            }\n            \"Sign\" => {\n                self.sign = match value {\n                    Some(v) => Sign::Key(v.to_string()),\n                    None => Sign::Yes,\n                }\n            }\n            \"KeepRepoCache\" => self.keep_repo_cache = true,\n            \"FailFast\" => self.fail_fast = true,\n            \"KeepSrc\" => self.keep_src = true,\n            \"SignDb\" => {\n                self.sign_db = match value {\n                    Some(v) => Sign::Key(v.to_string()),\n                    None => Sign::Yes,\n                }\n            }\n\n            _ => ok1 = false,\n        }\n\n        if ok1 {\n            return Ok(());\n        }\n\n        let has_value = value.is_some();\n        let value = value\n            .map(|s| s.to_string())\n            .ok_or_else(|| anyhow!(tr!(\"value can not be empty for key '{}'\", key)));\n\n        match key {\n            \"RootChrootPkgs\" => {\n                self.root_chroot_pkgs\n                    .extend(value?.split_whitespace().map(|s| s.to_string()));\n            }\n            \"AurUrl\" => self.aur_url = value?.parse()?,\n            \"AurRpcUrl\" => self.aur_rpc_url = Some(value?.parse()?),\n            \"BuildDir\" | \"CloneDir\" => self.build_dir = PathBuf::from(value?),\n            \"Redownload\" => self.redownload = ConfigEnum::from_str(key, value?.as_str())?,\n            \"Rebuild\" => self.rebuild = ConfigEnum::from_str(key, value?.as_str())?,\n            \"RemoveMake\" => self.remove_make = ConfigEnum::from_str(key, value?.as_str())?,\n            \"SortBy\" => self.sort_by = ConfigEnum::from_str(key, value?.as_str())?,\n            \"SearchBy\" => self.search_by = ConfigEnum::from_str(key, value?.as_str())?,\n            \"Limit\" => self.limit = value?.parse()?,\n            \"CompletionInterval\" => self.completion_interval = value?.parse()?,\n            \"PacmanConf\" => self.pacman_conf = Some(value?),\n            \"MakepkgConf\" => self.makepkg_conf = Some(value?),\n            \"DevelSuffixes\" => {\n                self.devel_suffixes\n                    .extend(value?.split_whitespace().map(|s| s.to_string()));\n            }\n            \"IgnoreDevelSource\" => {\n                self.ignore_devel_source\n                    .extend(value?.split_whitespace().map(|s| s.to_string()));\n            }\n            \"IgnoreDevel\" => {\n                for word in value?.split_whitespace() {\n                    self.ignore_devel_builder.add(Glob::new(word)?);\n                }\n            }\n            \"NoWarn\" => {\n                for word in value?.split_whitespace() {\n                    self.no_warn_builder.add(Glob::new(word)?);\n                }\n            }\n            \"Mode\" => {\n                for word in value?.split_whitespace() {\n                    self.mode |= word.parse()?;\n                }\n            }\n            _ => ok2 = false,\n        };\n\n        if !(ok1 || ok2) {\n            eprintln!(\n                \"{}\",\n                tr!(\"error: unknown option '{}' in section [options]\", key)\n            )\n        } else {\n            ensure!(\n                ok1 || has_value,\n                tr!(\"option '{}' does not take a value\", key)\n            );\n        }\n        Ok(())\n    }\n\n    pub fn aur_namespace(&self) -> &str {\n        if self.pacman.repos.iter().any(|r| r.name == \"aur\") {\n            // hack for search install\n            \"__aur__\"\n        } else {\n            \"aur\"\n        }\n    }\n}\n\npub fn version() {\n    let ver = option_env!(\"PARU_VERSION\").unwrap_or(env!(\"CARGO_PKG_VERSION\"));\n    print!(\"paru v{}\", ver);\n    #[cfg(feature = \"git\")]\n    print!(\" +git\");\n    println!(\" - libalpm v{}\", alpm::version());\n}\n\nfn question(question: AnyQuestion, (no_confirm, c): &mut (bool, Colors)) {\n    match question.question() {\n        Question::SelectProvider(mut question) => {\n            let providers = question.providers();\n            let len = providers.len();\n\n            println!();\n            let prompt = tr!(\n                \"There are {n} providers available for {pkg}:\",\n                n = len,\n                pkg = question.depend()\n            );\n            print!(\"{} {}\", c.action.paint(\"::\"), c.bold.paint(prompt));\n\n            let mut db = String::new();\n            for (n, pkg) in providers.iter().enumerate() {\n                let pkg_db = pkg.db().unwrap();\n                if pkg_db.name() != db {\n                    db = pkg_db.name().to_string();\n                    println!(\n                        \"\\n{} {} {}:\",\n                        c.action.paint(\"::\"),\n                        c.bold.paint(tr!(\"Repository\")),\n                        color_repo(c.enabled, pkg_db.name())\n                    );\n                    print!(\"    \");\n                }\n                print!(\"{}) {}  \", n + 1, pkg.name());\n            }\n\n            let index = get_provider(len, *no_confirm);\n            question.set_index(index as i32);\n        }\n        Question::InstallIgnorepkg(mut question) => {\n            question.set_install(true);\n        }\n        _ => (),\n    }\n}\n\nfn download(filename: &str, event: AnyDownloadEvent, _: &mut ()) {\n    if filename.ends_with(\".sig\") {\n        return;\n    }\n\n    match event.event() {\n        DownloadEvent::Init(_) => println!(\"  syncing {}...\", filename),\n        DownloadEvent::Completed(c) if c.result == DownloadResult::Failed => {\n            printtr!(\"  failed to sync {}\", filename);\n        }\n        _ => (),\n    }\n}\n\nfn log(level: LogLevel, msg: &str, color: &mut Colors) {\n    let err = color.error;\n    let warn = color.warning;\n\n    match level {\n        LogLevel::WARNING => eprint!(\"{} {}\", warn.paint(\"::\"), msg),\n        LogLevel::ERROR => eprint!(\"{} {}\", err.paint(\"error:\"), msg),\n        LogLevel::DEBUG if alpm_debug_enabled() => eprint!(\"debug: <alpm> {}\", msg),\n        _ => (),\n    }\n}\n"
  },
  {
    "path": "src/devel.rs",
    "content": "use crate::config::{Config, LocalRepos};\nuse crate::download::{self, cache_info_with_warnings, Bases};\nuse crate::print_error;\nuse crate::repo;\nuse crate::util::{pkg_base_or_name, split_repo_aur_pkgs};\n\nuse std::cmp::Ordering;\nuse std::collections::hash_map::Entry;\nuse std::collections::{BTreeMap, BTreeSet, HashMap, HashSet};\nuse std::fs::{create_dir_all, read_to_string, OpenOptions};\nuse std::hash::{Hash, Hasher};\nuse std::io::Write;\nuse std::iter::FromIterator;\nuse std::time::Duration;\n\nuse alpm_utils::{DbListExt, Target};\nuse ansiterm::Style;\nuse anyhow::{anyhow, bail, Context, Result};\nuse aur_depends::Base;\nuse futures::future::{join_all, select_ok, FutureExt};\nuse log::debug;\nuse raur::{Cache, Raur};\nuse serde::{Deserialize, Serialize, Serializer};\nuse srcinfo::Srcinfo;\nuse tokio::process::Command as AsyncCommand;\nuse tokio::time::timeout;\nuse tr::tr;\n\n#[derive(Serialize, Deserialize, Default, Debug, Clone)]\npub struct _PkgInfo {\n    pub repos: HashSet<RepoInfo>,\n}\n\n#[derive(Serialize, Deserialize, SmartDefault, Debug, Eq, Clone)]\npub struct RepoInfo {\n    pub url: String,\n    pub branch: Option<String>,\n    pub commit: String,\n}\n\nimpl Hash for RepoInfo {\n    fn hash<H: Hasher>(&self, state: &mut H) {\n        self.branch.hash(state);\n        self.url.hash(state);\n    }\n}\n\nimpl PartialOrd for RepoInfo {\n    fn partial_cmp(&self, other: &Self) -> Option<Ordering> {\n        Some(std::cmp::Ord::cmp(self, other))\n    }\n}\n\nimpl Ord for RepoInfo {\n    fn cmp(&self, other: &Self) -> Ordering {\n        self.url\n            .cmp(&other.url)\n            .then(self.branch.cmp(&other.branch))\n    }\n}\n\nimpl std::cmp::PartialEq for RepoInfo {\n    fn eq(&self, other: &Self) -> bool {\n        self.url == other.url && self.branch == other.branch\n    }\n}\n\n#[derive(Serialize, Deserialize, Default, Debug, Clone)]\n#[serde(transparent)]\npub struct PkgInfo {\n    #[serde(serialize_with = \"ordered_set\")]\n    pub repos: HashSet<RepoInfo>,\n}\n\nimpl std::borrow::Borrow<str> for RepoInfo {\n    fn borrow(&self) -> &str {\n        self.url.as_str()\n    }\n}\n\n#[derive(Serialize, Deserialize, Default, Debug, Clone)]\npub struct DevelInfo {\n    #[serde(rename = \"info\")]\n    #[serde(default)]\n    #[serde(skip_serializing)]\n    _info: HashMap<String, _PkgInfo>,\n    #[serde(flatten)]\n    #[serde(serialize_with = \"ordered_map\")]\n    pub info: HashMap<String, PkgInfo>,\n}\n\nfn ordered_map<S, T>(value: &HashMap<String, T>, serializer: S) -> Result<S::Ok, S::Error>\nwhere\n    S: Serializer,\n    T: Serialize,\n{\n    let ordered: BTreeMap<_, _> = value.iter().collect();\n    ordered.serialize(serializer)\n}\n\nfn ordered_set<S, T>(value: &HashSet<T>, serializer: S) -> Result<S::Ok, S::Error>\nwhere\n    S: Serializer,\n    T: Serialize + Ord,\n{\n    let ordered: BTreeSet<_> = value.iter().collect();\n    ordered.serialize(serializer)\n}\n\npub async fn gendb(config: &mut Config) -> Result<()> {\n    let action = config.color.action;\n    let bold = config.color.bold;\n\n    let db = config.alpm.localdb();\n    let pkgs = db.pkgs().iter().map(|p| p.name()).collect::<Vec<_>>();\n    let ignore = &config.ignore;\n\n    let (_, mut aur) = split_repo_aur_pkgs(config, &pkgs);\n    let mut devel_info = load_devel_info(config)?.unwrap_or_default();\n\n    aur.retain(|pkg| {\n        let pkg = db.pkg(*pkg).unwrap();\n        let pkg = pkg.base().unwrap_or_else(|| pkg.name());\n\n        !devel_info.info.contains_key(pkg)\n    });\n\n    let (_pkgbuilds, aur): (Vec<_>, Vec<_>) = aur\n        .into_iter()\n        .partition(|aur| config.pkgbuild_repos.pkg(config, aur).is_some());\n\n    if !aur.is_empty() {\n        println!(\n            \"{} {}\",\n            action.paint(\"::\"),\n            bold.paint(tr!(\"Querying AUR...\"))\n        );\n    }\n    let warnings = cache_info_with_warnings(\n        &config.raur,\n        &mut config.cache,\n        &aur,\n        ignore,\n        &config.no_warn,\n    )\n    .await?;\n    warnings.all(config.color, config.cols);\n\n    let bases = Bases::from_iter(warnings.pkgs);\n    let mut srcinfos = HashMap::new();\n    let mut failed = HashSet::new();\n\n    for base in &bases.bases {\n        let path = config.build_dir.join(base.package_base()).join(\".SRCINFO\");\n        if path.exists() {\n            let srcinfo = Srcinfo::from_path(path)\n                .with_context(|| tr!(\"failed to parse srcinfo for '{}'\", base));\n\n            match srcinfo {\n                Ok(srcinfo) => {\n                    srcinfos.insert(srcinfo.base.pkgbase.to_string(), srcinfo);\n                }\n                Err(err) => {\n                    print_error(config.color.error, err);\n                    failed.insert(base.package_base());\n                }\n            };\n        }\n    }\n\n    download::new_aur_pkgbuilds(config, &bases, &srcinfos).await?;\n\n    for base in &bases.bases {\n        if failed.contains(base.package_base()) || srcinfos.contains_key(base.package_base()) {\n            continue;\n        }\n        let path = config.build_dir.join(base.package_base()).join(\".SRCINFO\");\n        if path.exists() {\n            if let Entry::Vacant(vacant) = srcinfos.entry(base.package_base().to_string()) {\n                let srcinfo = Srcinfo::from_path(path)\n                    .with_context(|| tr!(\"failed to parse srcinfo for '{}'\", base));\n\n                match srcinfo {\n                    Ok(srcinfo) => {\n                        vacant.insert(srcinfo);\n                    }\n                    Err(err) => {\n                        print_error(config.color.error, err);\n                        continue;\n                    }\n                }\n            }\n        }\n    }\n\n    let bases = bases.bases.into_iter().map(Base::Aur).collect::<Vec<_>>();\n\n    println!(\n        \"{} {}\",\n        action.paint(\"::\"),\n        bold.paint(tr!(\"Looking for devel repos...\"))\n    );\n\n    let new_devel_info = fetch_devel_info(config, &bases, &srcinfos).await?;\n\n    for (k, v) in new_devel_info.info {\n        devel_info.info.entry(k).or_insert(v);\n    }\n\n    save_devel_info(config, &devel_info).context(tr!(\"failed to save devel info\"))?;\n\n    Ok(())\n}\n\npub fn save_devel_info(config: &Config, devel_info: &DevelInfo) -> Result<()> {\n    create_dir_all(&config.state_dir).with_context(|| {\n        tr!(\n            \"failed to create state directory: {}\",\n            config.state_dir.display()\n        )\n    })?;\n\n    let mut temp = config.devel_path.to_owned();\n    temp.set_extension(\"toml.tmp\");\n\n    let file = OpenOptions::new()\n        .create(true)\n        .write(true)\n        .truncate(true)\n        .open(&temp);\n\n    let mut file =\n        file.with_context(|| tr!(\"failed to create temporary file: {}\", temp.display()))?;\n\n    let toml = toml::to_string(&devel_info).unwrap();\n\n    file.write_all(toml.as_bytes())\n        .with_context(|| tr!(\"failed to write to temporary file: {}\", temp.display()))?;\n\n    drop(file);\n\n    std::fs::rename(&temp, &config.devel_path).with_context(|| {\n        tr!(\n            \"failed to rename '{temp}' to '{devel_toml}\",\n            temp = temp.display(),\n            devel_toml = config.devel_path.display()\n        )\n    })?;\n\n    Ok(())\n}\n\nasync fn ls_remote_internal(\n    git: &str,\n    flags: &[String],\n    remote: &str,\n    branch: Option<&str>,\n) -> Result<String> {\n    #[cfg(feature = \"mock\")]\n    let _ = git;\n    #[cfg(feature = \"mock\")]\n    let git = \"git\";\n\n    let mut command = AsyncCommand::new(git);\n    command\n        .args(flags)\n        .env(\"GIT_TERMINAL_PROMPT\", \"0\")\n        .arg(\"ls-remote\")\n        .arg(remote)\n        .arg(branch.unwrap_or(\"HEAD\"));\n\n    debug!(\"git ls-remote {} {}\", remote, branch.unwrap_or(\"HEAD\"));\n    let output = command.output().await?;\n    if !output.status.success() {\n        bail!(\"{}\", String::from_utf8_lossy(&output.stderr));\n    }\n\n    let sha = String::from_utf8_lossy(&output.stdout)\n        .split('\\t')\n        .next()\n        .unwrap()\n        .to_string();\n\n    Ok(sha)\n}\n\nasync fn ls_remote(\n    style: Style,\n    git: &str,\n    flags: &[String],\n    remote: String,\n    branch: Option<&str>,\n) -> Result<String> {\n    let remote = &remote;\n    let time = Duration::from_secs(15);\n    let future = ls_remote_internal(git, flags, remote, branch);\n    let future = timeout(time, future);\n\n    if let Ok(v) = future.await {\n        v\n    } else {\n        print_error(\n            style,\n            anyhow!(\"timed out looking for devel update: {}\", remote),\n        );\n        bail!(\"\")\n    }\n}\n\nfn parse_url(source: &str) -> Option<(String, &'_ str, Option<&'_ str>)> {\n    let url = source.splitn(2, \"::\").last().unwrap();\n\n    if !url.starts_with(\"git\") || !url.contains(\"://\") {\n        return None;\n    }\n\n    let mut split = url.splitn(2, \"://\");\n    let protocol = split.next().unwrap();\n    let protocol = protocol.rsplit('+').next().unwrap();\n    let rest = split.next().unwrap();\n\n    let mut split = rest.splitn(2, '#');\n    let remote = split.next().unwrap();\n    let remote = remote.split_once('?').map_or(remote, |(x, _)| x);\n    let remote = format!(\"{}://{}\", protocol, remote);\n\n    let branch = if let Some(fragment) = split.next() {\n        let fragment = fragment.split_once('?').map_or(fragment, |(x, _)| x);\n        let mut split = fragment.splitn(2, '=');\n        let frag_type = split.next().unwrap();\n\n        match frag_type {\n            \"commit\" | \"tag\" => return None,\n            \"branch\" => split.next(),\n            _ => None,\n        }\n    } else {\n        None\n    };\n\n    Some((remote, protocol, branch))\n}\n\npub async fn possible_devel_updates(config: &Config) -> Result<Vec<String>> {\n    let devel_info = load_devel_info(config)?.unwrap_or_default();\n    let db = config.alpm.localdb();\n    let mut futures = Vec::new();\n    let mut pkgbases: HashMap<&str, Vec<&alpm::Package>> = HashMap::new();\n\n    for pkg in db.pkgs().iter() {\n        let name = pkg_base_or_name(pkg);\n        pkgbases.entry(name).or_default().push(pkg);\n    }\n\n    'outer: for (pkg, repos) in &devel_info.info {\n        if let Some(pkgs) = pkgbases.get(pkg.as_str()) {\n            if pkgs.iter().all(|p| p.should_ignore()) {\n                continue;\n            }\n\n            if pkgs.iter().all(|p| config.ignore_devel.is_match(p.name())) {\n                continue;\n            }\n        }\n\n        if config.repos != LocalRepos::None {\n            let (_, dbs) = repo::repo_aur_dbs(config);\n            for db in dbs {\n                if db.pkg(pkg.as_str()).is_ok() {\n                    futures.push(pkg_has_update(config, pkg, &repos.repos));\n                    continue 'outer;\n                }\n            }\n        } else if config.alpm.syncdbs().pkg(pkg.as_str()).is_err() {\n            futures.push(pkg_has_update(config, pkg, &repos.repos));\n        }\n    }\n\n    let updates = join_all(futures).await;\n\n    let mut updates = updates\n        .into_iter()\n        .flatten()\n        .map(|s| s.to_string())\n        .collect::<Vec<_>>();\n\n    updates.sort_unstable();\n    updates.dedup();\n\n    Ok(updates)\n}\n\npub async fn filter_devel_updates(\n    config: &Config,\n    cache: &mut Cache,\n    updates: &[String],\n) -> Result<Vec<Target>> {\n    let mut pkgbases: HashMap<&str, Vec<&alpm::Package>> = HashMap::new();\n    let mut aur = Vec::new();\n    let mut custom = Vec::new();\n    let db = config.alpm.localdb();\n\n    'pkg: for update in updates {\n        if let Some((base, pkg)) = config.pkgbuild_repos.pkg(config, update) {\n            custom.push(Target::new(Some(base.repo.clone()), pkg.pkgname.clone()));\n            continue 'pkg;\n        }\n\n        aur.push(update);\n    }\n\n    let (_, dbs) = repo::repo_aur_dbs(config);\n    for pkg in dbs.iter().flat_map(|d| d.pkgs()) {\n        let name = pkg_base_or_name(pkg);\n        pkgbases.entry(name).or_default().push(pkg);\n    }\n\n    for pkg in db.pkgs().iter() {\n        let name = pkg_base_or_name(pkg);\n        pkgbases.entry(name).or_default().push(pkg);\n    }\n\n    config.raur.cache_info(cache, &aur).await?;\n    let aur = aur\n        .iter()\n        .map(|u| pkgbases.remove(u.as_str()).unwrap())\n        .collect::<Vec<_>>();\n\n    let mut updates = Vec::new();\n\n    if config.mode.aur() {\n        let aur = aur\n            .iter()\n            .flatten()\n            .filter(|p| !p.should_ignore())\n            .filter(|p| !config.ignore_devel.is_match(p.name()))\n            .map(|p| p.name().to_string())\n            .filter(|p| cache.contains(p.as_str()))\n            .map(|p| Target::new(Some(config.aur_namespace().to_string()), p));\n\n        updates.extend(aur);\n    }\n    if config.mode.pkgbuild() {\n        updates.extend(custom);\n    }\n\n    Ok(updates)\n}\n\npub async fn pkg_has_update<'pkg>(\n    config: &'_ Config,\n    pkg: &'pkg str,\n    info: &'_ HashSet<RepoInfo>,\n) -> Option<&'pkg str> {\n    if info.is_empty() {\n        return None;\n    }\n\n    let mut futures = Vec::with_capacity(info.len());\n\n    for info in info {\n        if config.ignore_devel_source.iter().any(|u| u == &info.url) {\n            continue;\n        }\n\n        futures\n            .push(has_update(config.color.error, &config.git_bin, &config.git_flags, info).boxed());\n    }\n\n    if !futures.is_empty() && select_ok(futures).await.is_ok() {\n        Some(pkg)\n    } else {\n        None\n    }\n}\n\nasync fn has_update(style: Style, git: &str, flags: &[String], url: &RepoInfo) -> Result<()> {\n    let sha = ls_remote(style, git, flags, url.url.clone(), url.branch.as_deref()).await?;\n    debug!(\n        \"devel check {}: '{}' == '{}' different: {}\",\n        url.url,\n        url.commit,\n        sha,\n        url.commit != sha\n    );\n    if sha != *url.commit {\n        return Ok(());\n    }\n\n    bail!(tr!(\"package does not have an update\"))\n}\n\npub async fn fetch_devel_info(\n    config: &Config,\n    bases: &[Base],\n    srcinfos: &HashMap<String, Srcinfo>,\n) -> Result<DevelInfo> {\n    let mut devel_info = DevelInfo::default();\n\n    let mut parsed = Vec::new();\n    let mut futures = Vec::new();\n\n    for base in bases {\n        let srcinfo = match base {\n            Base::Aur(_) => srcinfos.get(base.package_base()),\n            Base::Pkgbuild(c) => Some(c.srcinfo.as_ref()),\n        };\n\n        let srcinfo = match srcinfo {\n            Some(v) => v,\n            None => continue,\n        };\n\n        // TODO dont do this\n        let arch = config.alpm.architectures().first().unwrap_or_default();\n        for url in srcinfo.base.source.arch(arch) {\n            if let Some((remote, _, branch)) = parse_url(url) {\n                let future = ls_remote(\n                    config.color.error,\n                    &config.git_bin,\n                    &config.git_flags,\n                    remote.clone(),\n                    branch,\n                );\n                futures.push(future);\n                parsed.push((remote, base.package_base().to_string(), branch));\n            }\n        }\n    }\n\n    let commits = join_all(futures).await;\n    for ((remote, pkgbase, branch), commit) in parsed.into_iter().zip(commits) {\n        match commit {\n            Err(e) => print_error(\n                config.color.error,\n                e.context(tr!(\"failed to lookup: {}\", pkgbase)),\n            ),\n            Ok(commit) => {\n                let url_info = RepoInfo {\n                    url: remote,\n                    branch: branch.map(|s| s.to_string()),\n                    commit,\n                };\n\n                devel_info\n                    .info\n                    .entry(pkgbase)\n                    .or_default()\n                    .repos\n                    .insert(url_info);\n            }\n        }\n    }\n\n    Ok(devel_info)\n}\n\npub fn load_devel_info(config: &Config) -> Result<Option<DevelInfo>> {\n    let file = match read_to_string(&config.devel_path) {\n        Ok(file) => file,\n        _ => return Ok(None),\n    };\n    let devel_info = DevelInfo::deserialize(toml::Deserializer::parse(&file)?)\n        .with_context(|| tr!(\"invalid toml: {}\", config.devel_path.display()))?;\n\n    let mut pkgbases: HashMap<&str, Vec<&alpm::Package>> = HashMap::new();\n    let mut devel_info: DevelInfo = devel_info;\n\n    if !devel_info._info.is_empty() {\n        for (pkg, info) in devel_info._info.drain() {\n            devel_info.info.insert(pkg, PkgInfo { repos: info.repos });\n        }\n    }\n\n    for pkg in config.alpm.localdb().pkgs().iter() {\n        let name = pkg_base_or_name(pkg);\n        pkgbases.entry(name).or_default().push(pkg);\n    }\n\n    let (_, dbs) = repo::repo_aur_dbs(config);\n    for pkg in dbs.iter().flat_map(|d| d.pkgs()) {\n        let name = pkg_base_or_name(pkg);\n        pkgbases.entry(name).or_default().push(pkg);\n    }\n\n    devel_info\n        .info\n        .retain(|pkg, _| pkgbases.contains_key(pkg.as_str()));\n\n    save_devel_info(config, &devel_info)?;\n\n    Ok(Some(devel_info))\n}\n"
  },
  {
    "path": "src/download.rs",
    "content": "use crate::config::{Colors, Config, SortMode, YesNoAll};\nuse crate::exec::has_command;\nuse crate::fmt::print_indent;\nuse crate::util::is_arch_repo;\nuse crate::RaurHandle;\nuse crate::{exec, printtr};\n\nuse std::collections::btree_map::Entry;\nuse std::collections::{BTreeMap, HashMap};\nuse std::env::current_dir;\nuse std::fs::{read_to_string, remove_dir_all};\nuse std::io::Write;\nuse std::iter::FromIterator;\nuse std::process::{Command, Stdio};\nuse std::result::Result as StdResult;\n\nuse alpm::Version;\nuse alpm_utils::{AsTarg, DbListExt, Targ};\nuse ansiterm::Style;\nuse anyhow::{bail, Context, Result};\nuse aur_depends::AurBase;\n\nuse globset::GlobSet;\nuse indicatif::{ProgressBar, ProgressStyle};\nuse raur::{ArcPackage as Package, Raur};\nuse srcinfo::Srcinfo;\nuse tr::tr;\nuse url::Url;\n\n#[derive(Debug, Clone, Default)]\npub struct Bases {\n    pub bases: Vec<AurBase>,\n}\n\nimpl FromIterator<Package> for Bases {\n    fn from_iter<T: IntoIterator<Item = Package>>(iter: T) -> Self {\n        let mut bases = Bases::new();\n        bases.extend(iter);\n        bases\n    }\n}\n\nimpl FromIterator<aur_depends::AurPackage> for Bases {\n    fn from_iter<T: IntoIterator<Item = aur_depends::AurPackage>>(iter: T) -> Self {\n        let mut bases = Bases::new();\n        bases.extend_aur(iter);\n        bases\n    }\n}\n\nimpl Bases {\n    pub fn new() -> Self {\n        Self { bases: Vec::new() }\n    }\n\n    pub fn push(&mut self, pkg: Package) {\n        self.push_aur(aur_depends::AurPackage {\n            pkg,\n            make: false,\n            target: false,\n        })\n    }\n\n    pub fn push_aur(&mut self, pkg: aur_depends::AurPackage) {\n        for base in &mut self.bases {\n            if base.package_base() == pkg.pkg.package_base {\n                base.pkgs.push(pkg);\n                return;\n            }\n        }\n\n        self.bases.push(AurBase {\n            pkgs: vec![pkg],\n            build: true,\n        })\n    }\n\n    pub fn extend_aur<I: IntoIterator<Item = aur_depends::AurPackage>>(&mut self, iter: I) {\n        iter.into_iter().for_each(|p| self.push_aur(p))\n    }\n\n    pub fn extend<I: IntoIterator<Item = Package>>(&mut self, iter: I) {\n        iter.into_iter().for_each(|p| self.push(p))\n    }\n}\n\n#[derive(Debug, Default)]\npub struct Warnings<'a> {\n    pub pkgs: Vec<Package>,\n    pub missing: Vec<&'a str>,\n    pub ood: Vec<&'a str>,\n    pub orphans: Vec<&'a str>,\n}\n\nimpl<'a> Warnings<'a> {\n    pub fn missing(&self, color: Colors, cols: Option<usize>) -> &Self {\n        if !self.missing.is_empty() {\n            let b = color.bold;\n            let e = color.error;\n            let msg = tr!(\"packages not in the AUR: \");\n            print!(\"{} {}\", e.paint(\"::\"), b.paint(&msg));\n            print_indent(Style::new(), msg.len() + 3, 4, cols, \"  \", &self.missing);\n        }\n        self\n    }\n\n    pub fn ood(&self, color: Colors, cols: Option<usize>) -> &Self {\n        if !self.ood.is_empty() {\n            let b = color.bold;\n            let e = color.error;\n            let msg = tr!(\"marked out of date: \");\n            print!(\"{} {}\", e.paint(\"::\"), b.paint(&msg));\n            print_indent(Style::new(), msg.len() + 3, 4, cols, \"  \", &self.ood);\n        }\n        self\n    }\n\n    pub fn orphans(&self, color: Colors, cols: Option<usize>) -> &Self {\n        if !self.orphans.is_empty() {\n            let b = color.bold;\n            let e = color.error;\n            let msg = tr!(\"orphans: \");\n            print!(\"{} {}\", e.paint(\"::\"), b.paint(&msg));\n            print_indent(Style::new(), msg.len() + 3, 4, cols, \"  \", &self.orphans);\n        }\n        self\n    }\n\n    pub fn all(&self, color: Colors, cols: Option<usize>) {\n        self.missing(color, cols);\n        self.ood(color, cols);\n        self.orphans(color, cols);\n    }\n}\n\npub async fn cache_info_with_warnings<'a, S: AsRef<str> + Send + Sync>(\n    raur: &RaurHandle,\n    cache: &'a mut raur::Cache,\n    pkgs: &'a [S],\n    ignore: &[String],\n    no_warn: &GlobSet,\n) -> StdResult<Warnings<'a>, raur::Error> {\n    let mut missing = Vec::new();\n    let mut ood = Vec::new();\n    let mut orphaned = Vec::new();\n\n    let mut aur_pkgs = raur.cache_info(cache, pkgs).await?;\n    aur_pkgs.retain(|pkg1| pkgs.iter().any(|pkg2| pkg1.name == pkg2.as_ref()));\n\n    let should_warn =\n        |pkg: &str| !no_warn.is_match(pkg) && !ignore.iter().any(|ignored| ignored == pkg);\n\n    for pkg in pkgs {\n        let pkg_name = pkg.as_ref();\n        if should_warn(pkg_name) && !cache.contains(pkg_name) {\n            missing.push(pkg_name);\n        }\n    }\n\n    for pkg in &aur_pkgs {\n        if should_warn(&pkg.name) {\n            if pkg.out_of_date.is_some() {\n                ood.push(cache.get(pkg.name.as_str()).unwrap().name.as_str());\n            }\n\n            if pkg.maintainer.is_none() {\n                orphaned.push(cache.get(pkg.name.as_str()).unwrap().name.as_str());\n            }\n        }\n    }\n\n    let warnings = Warnings {\n        pkgs: aur_pkgs,\n        missing,\n        ood,\n        orphans: orphaned,\n    };\n\n    Ok(warnings)\n}\n\npub async fn getpkgbuilds(config: &mut Config) -> Result<i32> {\n    let pkgs = config\n        .targets\n        .iter()\n        .map(|t| t.as_str())\n        .collect::<Vec<_>>();\n\n    let (repo, pkgbuild, aur) = split_target_pkgbuilds(config, &pkgs);\n    let mut ret = 0;\n\n    if !repo.is_empty() {\n        ret = repo_pkgbuilds(config, &repo)?;\n    }\n\n    if !pkgbuild.is_empty() {\n        ret = pkgbuild_pkgbuilds(config, &pkgbuild)?;\n    }\n\n    if !aur.is_empty() {\n        let aur = aur.iter().map(|t| t.pkg).collect::<Vec<_>>();\n        let action = config.color.action;\n        let bold = config.color.bold;\n        println!(\n            \"{} {}\",\n            action.paint(\"::\"),\n            bold.paint(tr!(\"Querying AUR...\"))\n        );\n        let warnings = cache_info_with_warnings(\n            &config.raur,\n            &mut config.cache,\n            &aur,\n            &config.ignore,\n            &GlobSet::empty(),\n        )\n        .await?;\n        ret |= !warnings.missing.is_empty() as i32;\n        warnings.missing(config.color, config.cols);\n        let aur = warnings.pkgs;\n\n        if !aur.is_empty() {\n            let mut bases = Bases::new();\n            bases.extend(aur);\n\n            config.fetch.clone_dir = std::env::current_dir()?;\n\n            aur_pkgbuilds(config, &bases).await?;\n        }\n    }\n    Ok(ret)\n}\n\nfn repo_pkgbuilds(config: &Config, pkgs: &[Targ<'_>]) -> Result<i32> {\n    let pkgctl = &config.pkgctl_bin;\n\n    for (n, targ) in pkgs.iter().enumerate() {\n        let Ok(pkg) = config.alpm.syncdbs().find_target(*targ) else {\n            continue;\n        };\n        let base = pkg.base().unwrap_or_else(|| pkg.name());\n\n        print_download(config, n + 1, pkgs.len(), base);\n\n        let mut cmd = Command::new(pkgctl);\n        cmd.arg(\"repo\")\n            .arg(\"clone\")\n            .arg(\"--protocol\")\n            .arg(\"https\")\n            .arg(base);\n        exec::command_output(&mut cmd)?;\n    }\n\n    Ok(0)\n}\n\npub fn print_download(_config: &Config, n: usize, total: usize, pkg: &str) {\n    let total = total.to_string();\n    println!(\n        \" ({n:>padding$}/{total}) {}\",\n        tr!(\"downloading: {pkg}\", pkg),\n        padding = total.len(),\n        n = n,\n        total = total,\n    );\n}\n\nfn pkgbuild_pkgbuilds(config: &Config, pkgbuild: &[Targ]) -> Result<i32> {\n    let mut ret = 0;\n    let cwd = current_dir()?;\n    let color = config.color;\n\n    let mut pkgs = BTreeMap::new();\n\n    for &targ in pkgbuild {\n        let Some((base, _)) = config.pkgbuild_repos.target(config, targ) else {\n            eprintln!(\n                \"{} {}\",\n                color.error.paint(\"error:\"),\n                tr!(\"package '{}' was not found\", targ.pkg),\n            );\n            ret = 1;\n            continue;\n        };\n\n        match pkgs.entry(base.srcinfo.pkgbase()) {\n            Entry::Vacant(v) => {\n                v.insert(base);\n            }\n            Entry::Occupied(o) => {\n                if o.get().repo != base.repo {\n                    bail!(tr!(\"duplicate PKGBUILD: {}\", base.srcinfo.pkgbase()))\n                }\n            }\n        }\n    }\n\n    for (n, pkg) in pkgs.values().enumerate() {\n        let path = cwd.join(pkg.srcinfo.pkgbase());\n        print_download(config, n + 1, pkgs.len(), pkg.srcinfo.pkgbase());\n\n        if path.exists() {\n            if !path.join(\"PKGBUILD\").exists() {\n                eprintln!(\n                    \"{} {}\",\n                    color.error.paint(\"error:\"),\n                    tr!(\n                        \"package '{}' exists but has no PKGBUILD -- skipping\",\n                        pkg.srcinfo.pkgbase(),\n                    ),\n                );\n                ret = 1;\n                continue;\n            }\n            remove_dir_all(&path)?;\n        }\n\n        let mut cmd = Command::new(\"cp\");\n        cmd.arg(\"-r\").arg(\"--\").arg(&pkg.path).arg(path);\n        exec::command_output(&mut cmd)?;\n    }\n\n    Ok(ret)\n}\n\nasync fn aur_pkgbuilds(config: &Config, bases: &Bases) -> Result<()> {\n    let download = bases\n        .bases\n        .iter()\n        .map(|p| p.package_base())\n        .collect::<Vec<_>>();\n\n    let cols = config.cols.unwrap_or(0);\n\n    let action = config.color.action;\n    let bold = config.color.bold;\n\n    println!(\n        \"\\n{} {}\",\n        action.paint(\"::\"),\n        bold.paint(tr!(\"Downloading PKGBUILDs...\"))\n    );\n\n    if bases.bases.is_empty() {\n        printtr!(\" PKGBUILDs up to date\");\n        return Ok(());\n    }\n\n    if cols < 80 {\n        config.fetch.download_cb(&download, |cb| {\n            let base = bases\n                .bases\n                .iter()\n                .find(|b| b.package_base() == cb.pkg)\n                .unwrap();\n\n            print_download(config, cb.n, download.len(), &base.to_string());\n        })?;\n    } else {\n        let total = download.len().to_string();\n        let template = format!(\n            \" ({{pos:>{}}}/{{len}}) {{prefix:45!}} [{{wide_bar}}]\",\n            total.len()\n        );\n        let pb = ProgressBar::new(download.len() as u64);\n        pb.set_style(\n            ProgressStyle::default_bar()\n                .template(&template)?\n                .progress_chars(\"-> \"),\n        );\n\n        config.fetch.download_cb(&download, |cb| {\n            let base = bases\n                .bases\n                .iter()\n                .find(|b| b.package_base() == cb.pkg)\n                .unwrap();\n\n            pb.inc(1);\n            pb.set_prefix(base.to_string());\n        })?;\n\n        pb.finish();\n        println!();\n    }\n\n    Ok(())\n}\n\npub async fn new_aur_pkgbuilds(\n    config: &Config,\n    bases: &Bases,\n    srcinfos: &HashMap<String, Srcinfo>,\n) -> Result<()> {\n    let mut pkgs = Vec::new();\n\n    if bases.bases.is_empty() {\n        return Ok(());\n    }\n\n    let all_pkgs = bases\n        .bases\n        .iter()\n        .map(|b| b.package_base())\n        .collect::<Vec<_>>();\n\n    if config.redownload == YesNoAll::All {\n        aur_pkgbuilds(config, bases).await?;\n        config.fetch.merge(&all_pkgs)?;\n        return Ok(());\n    }\n\n    for base in &bases.bases {\n        if config.redownload == YesNoAll::Yes && base.pkgs.iter().any(|p| p.target) {\n            pkgs.push(base.clone());\n            continue;\n        }\n        if let Some(pkg) = srcinfos.get(base.package_base()) {\n            let upstream_ver = base.version();\n            if Version::new(pkg.version()) < Version::new(&*upstream_ver) {\n                pkgs.push(base.clone());\n            }\n        } else {\n            pkgs.push(base.clone());\n        }\n    }\n\n    let new_bases = Bases { bases: pkgs };\n    aur_pkgbuilds(config, &new_bases).await?;\n    config.fetch.merge(&all_pkgs)?;\n\n    Ok(())\n}\n\npub async fn show_comments(config: &mut Config) -> Result<i32> {\n    let client = config.raur.client();\n\n    let warnings = cache_info_with_warnings(\n        &config.raur,\n        &mut config.cache,\n        &config.targets,\n        &[],\n        &GlobSet::empty(),\n    )\n    .await?;\n    warnings.missing(config.color, config.cols);\n    let ret = !warnings.missing.is_empty() as i32;\n    let bases = Bases::from_iter(warnings.pkgs);\n    let c = config.color;\n\n    for base in &bases.bases {\n        let mut url = config\n            .aur_url\n            .join(&format!(\"packages/{}\", base.package_base()))?;\n\n        if config.comments >= 2 {\n            url.set_query(Some(\"PP=250\"));\n        }\n\n        let response = client\n            .get(url.clone())\n            .send()\n            .await\n            .with_context(|| format!(\"{}: {}\", base, url))?;\n        if !response.status().is_success() {\n            bail!(\"{}: {}: {}\", base, url, response.status());\n        }\n\n        let document = scraper::Html::parse_document(&response.text().await?);\n        let titles_selector = scraper::Selector::parse(\"div.comments h4.comment-header\").unwrap();\n        let comments_selector =\n            scraper::Selector::parse(\"div.comments div.article-content\").unwrap();\n\n        let titles = document\n            .select(&titles_selector)\n            .map(|node| node.text().collect::<String>());\n\n        let comments = document\n            .select(&comments_selector)\n            .map(|node| node.text().collect::<String>());\n\n        let iter = titles.zip(comments).collect::<Vec<_>>();\n\n        if config.sort_mode == SortMode::TopDown {\n            for (title, comment) in iter.into_iter() {\n                print_indent(c.bold, 0, 0, config.cols, \" \", title.split_whitespace());\n\n                for line in comment.trim().split('\\n') {\n                    let line = line.split_whitespace();\n                    print!(\"    \");\n                    print_indent(Style::new(), 4, 4, config.cols, \" \", line);\n                }\n                println!();\n            }\n        } else {\n            for (title, comment) in iter.into_iter().rev() {\n                print_indent(c.bold, 0, 0, config.cols, \" \", title.split_whitespace());\n\n                for line in comment.trim().split('\\n') {\n                    let line = line.split_whitespace();\n                    print!(\"    \");\n                    print_indent(Style::new(), 4, 4, config.cols, \" \", line);\n                }\n                println!();\n            }\n        }\n    }\n\n    Ok(ret)\n}\n\nfn split_target_pkgbuilds<'a, T: AsTarg>(\n    config: &Config,\n    targets: &'a [T],\n) -> (Vec<Targ<'a>>, Vec<Targ<'a>>, Vec<Targ<'a>>) {\n    let mut local = Vec::new();\n    let mut pkgbuild = Vec::new();\n    let mut aur = Vec::new();\n    let db = config.alpm.syncdbs();\n\n    for targ in targets {\n        let targ = targ.as_targ();\n        if config.mode.repo() && db.find_target(targ).is_ok() {\n            local.push(targ);\n            continue;\n        }\n\n        if config.mode.pkgbuild() {\n            if let Some(repo) = targ.repo {\n                if config.pkgbuild_repos.repo(repo).is_some() {\n                    pkgbuild.push(targ);\n                    continue;\n                }\n            } else if config.pkgbuild_repos.pkg(config, targ.pkg).is_some() {\n                pkgbuild.push(targ);\n                continue;\n            }\n        }\n\n        if config.mode.repo() && targ.repo.is_some_and(is_arch_repo) {\n            local.push(targ);\n            continue;\n        }\n\n        if config.mode.aur() {\n            aur.push(targ);\n        } else if config.mode.repo() {\n            local.push(targ)\n        } else {\n            pkgbuild.push(targ)\n        }\n    }\n\n    (local, pkgbuild, aur)\n}\n\npub async fn show_pkgbuilds(config: &mut Config) -> Result<i32> {\n    let color = config.color;\n    let stdout = std::io::stdout();\n    let mut stdout = stdout.lock();\n    let bat = config.color.enabled && has_command(&config.bat_bin);\n    let client = config.raur.client();\n\n    let (repo, pkgbuild, aur) = split_target_pkgbuilds(config, &config.targets);\n\n    if !repo.is_empty() {\n        for pkg in &repo {\n            let Ok(pkg) = config.alpm.syncdbs().find_target(*pkg) else {\n                continue;\n            };\n            let pkg = pkg.base().unwrap_or_else(|| pkg.name());\n\n            let url = Url::parse(&format!(\n                \"https://gitlab.archlinux.org/archlinux/packaging/packages/{}/-/raw/HEAD/PKGBUILD\",\n                pkg\n            ))?;\n\n            let response = client\n                .get(url.clone())\n                .send()\n                .await\n                .with_context(|| format!(\"{}: {}\", pkg, url))?;\n            if !response.status().is_success() {\n                bail!(\"{}: {}: {}\", pkg, url, response.status());\n            }\n\n            if bat {\n                pipe_bat(config, &response.bytes().await?)?;\n            } else {\n                let _ = stdout.write_all(&response.bytes().await?);\n            }\n\n            let _ = stdout.write_all(b\"\\n\");\n        }\n    }\n\n    if !pkgbuild.is_empty() {\n        for pkg in pkgbuild {\n            let Some(pkg) = config.pkgbuild_repos.target(config, pkg) else {\n                eprintln!(\n                    \"{} {}\",\n                    color.error.paint(\"error:\"),\n                    tr!(\"package '{}' was not found\", pkg.pkg),\n                );\n                continue;\n            };\n\n            let pkgbuild = read_to_string(pkg.0.path.join(\"PKGBUILD\"))?;\n            if bat {\n                pipe_bat(config, pkgbuild.as_bytes())?;\n            } else {\n                let _ = stdout.write_all(pkgbuild.as_bytes());\n            }\n\n            let _ = stdout.write_all(b\"\\n\");\n        }\n    }\n\n    if !aur.is_empty() {\n        let aur = aur.iter().map(|t| t.pkg).collect::<Vec<_>>();\n\n        let warnings = cache_info_with_warnings(\n            &config.raur,\n            &mut config.cache,\n            &aur,\n            &[],\n            &GlobSet::empty(),\n        )\n        .await?;\n        warnings.missing(config.color, config.cols);\n        let ret = !warnings.missing.is_empty() as i32;\n        let bases = Bases::from_iter(warnings.pkgs);\n\n        for base in &bases.bases {\n            let base = base.package_base();\n            let url = config.aur_url.join(\"cgit/aur.git/plain/PKGBUILD\").unwrap();\n            let url = Url::parse_with_params(url.as_str(), &[(\"h\", base)]).unwrap();\n\n            let response = client\n                .get(url.clone())\n                .send()\n                .await\n                .with_context(|| format!(\"{}: {}\", base, url))?;\n            if !response.status().is_success() {\n                bail!(\"{}: {}: {}\", base, url, response.status());\n            }\n\n            if bat {\n                pipe_bat(config, &response.bytes().await?)?;\n            } else {\n                let _ = stdout.write_all(&response.bytes().await?);\n            }\n\n            let _ = stdout.write_all(b\"\\n\");\n        }\n\n        return Ok(ret);\n    }\n\n    Ok(0)\n}\n\nfn pipe_bat(config: &Config, pkgbuild: &[u8]) -> Result<()> {\n    let mut command = Command::new(&config.bat_bin);\n    command\n        .arg(\"-pp\")\n        .arg(\"--color=always\")\n        .arg(\"-lPKGBUILD\")\n        .args(&config.bat_flags)\n        .stdin(Stdio::piped());\n    let mut child = exec::spawn(&mut command)?;\n\n    let _ = child.stdin.as_mut().unwrap().write_all(pkgbuild);\n    exec::wait(&command, &mut child)?;\n    Ok(())\n}\n"
  },
  {
    "path": "src/exec.rs",
    "content": "#![allow(clippy::disallowed_methods)]\n\nuse crate::args::Args;\nuse crate::config::Config;\n\nuse std::ffi::OsStr;\nuse std::fmt::{Debug, Display, Formatter};\nuse std::path::Path;\nuse std::process::{Child, Command, Output, Stdio};\nuse std::sync::atomic::{AtomicBool, AtomicUsize, Ordering};\nuse std::sync::Arc;\nuse std::thread;\nuse std::time::Duration;\n\nuse anyhow::{bail, Context, Result};\nuse log::debug;\nuse signal_hook::consts::signal::*;\nuse signal_hook::flag as signal_flag;\nuse std::sync::LazyLock;\nuse tr::tr;\n\npub static DEFAULT_SIGNALS: LazyLock<Arc<AtomicBool>> = LazyLock::new(|| {\n    let arc = Arc::new(AtomicBool::new(true));\n    signal_flag::register_conditional_default(SIGTERM, Arc::clone(&arc)).unwrap();\n    signal_flag::register_conditional_default(SIGINT, Arc::clone(&arc)).unwrap();\n    signal_flag::register_conditional_default(SIGQUIT, Arc::clone(&arc)).unwrap();\n    arc\n});\n\nstatic CAUGHT_SIGNAL: LazyLock<Arc<AtomicUsize>> = LazyLock::new(|| {\n    let arc = Arc::new(AtomicUsize::new(0));\n    signal_flag::register_usize(SIGTERM, Arc::clone(&arc), SIGTERM as usize).unwrap();\n    signal_flag::register_usize(SIGINT, Arc::clone(&arc), SIGINT as usize).unwrap();\n    signal_flag::register_usize(SIGQUIT, Arc::clone(&arc), SIGQUIT as usize).unwrap();\n    arc\n});\n\npub static RAISE_SIGPIPE: LazyLock<Arc<AtomicBool>> = LazyLock::new(|| {\n    let arc = Arc::new(AtomicBool::new(true));\n    signal_flag::register_conditional_default(SIGPIPE, Arc::clone(&arc)).unwrap();\n    arc\n});\n\n#[derive(Debug, Clone, Copy)]\npub struct Status(pub i32);\n\nimpl Display for Status {\n    fn fmt(&self, _f: &mut Formatter<'_>) -> std::fmt::Result {\n        Ok(())\n    }\n}\n\nimpl std::error::Error for Status {}\n\nimpl Status {\n    pub fn code(self) -> i32 {\n        self.0\n    }\n\n    pub fn success(self) -> Result<i32, Status> {\n        if self.0 == 0 {\n            Ok(0)\n        } else {\n            Err(self)\n        }\n    }\n}\n\nfn command_err(cmd: &Command) -> String {\n    format!(\n        \"{} {} {}\",\n        tr!(\"failed to run:\"),\n        cmd.get_program().to_string_lossy(),\n        cmd.get_args()\n            .map(|a| a.to_string_lossy())\n            .collect::<Vec<_>>()\n            .join(\" \")\n    )\n}\n\npub fn command_status(cmd: &mut Command) -> Result<Status> {\n    debug!(\"running command: {:?}\", cmd);\n    let term = &*CAUGHT_SIGNAL;\n\n    DEFAULT_SIGNALS.store(false, Ordering::Relaxed);\n\n    let ret = cmd\n        .status()\n        .map(|s| Status(s.code().unwrap_or(1)))\n        .with_context(|| command_err(cmd));\n\n    DEFAULT_SIGNALS.store(true, Ordering::Relaxed);\n\n    match term.swap(0, Ordering::Relaxed) {\n        0 => ret,\n        n => std::process::exit(128 + n as i32),\n    }\n}\n\npub fn command(cmd: &mut Command) -> Result<()> {\n    command_status(cmd)?\n        .success()\n        .with_context(|| command_err(cmd))?;\n    Ok(())\n}\n\npub fn command_output(cmd: &mut Command) -> Result<Output> {\n    debug!(\"running command: {:?}\", cmd);\n    let term = &*CAUGHT_SIGNAL;\n\n    DEFAULT_SIGNALS.store(false, Ordering::Relaxed);\n\n    let ret = cmd.output().with_context(|| command_err(cmd));\n\n    DEFAULT_SIGNALS.store(true, Ordering::Relaxed);\n    let ret = match term.swap(0, Ordering::Relaxed) {\n        0 => ret?,\n        n => std::process::exit(128 + n as i32),\n    };\n\n    if !ret.status.success() {\n        bail!(\n            \"{}: {}\",\n            command_err(cmd),\n            String::from_utf8_lossy(&ret.stderr).trim()\n        );\n    }\n\n    Ok(ret)\n}\n\npub fn spawn(cmd: &mut Command) -> Result<Child> {\n    debug!(\"running command: {:?}\", cmd);\n    cmd.spawn().with_context(|| command_err(cmd))\n}\n\npub fn wait(cmd: &Command, child: &mut Child) -> Result<Status> {\n    let status = child\n        .wait()\n        .map(|s| Status(s.code().unwrap_or(1)))\n        .with_context(|| command_err(cmd))?;\n    Ok(status)\n}\n\npub fn spawn_sudo(sudo: String, flags: Vec<String>) -> Result<()> {\n    update_sudo(&sudo, &flags)?;\n    thread::spawn(move || sudo_loop(&sudo, &flags));\n    Ok(())\n}\n\nfn sudo_loop<S: AsRef<OsStr>>(sudo: &str, flags: &[S]) -> Result<()> {\n    loop {\n        thread::sleep(Duration::from_secs(250));\n        update_sudo(sudo, flags)?;\n    }\n}\n\nfn update_sudo<S: AsRef<OsStr>>(sudo: &str, flags: &[S]) -> Result<()> {\n    let mut cmd = Command::new(sudo);\n    cmd.args(flags);\n    let status = command_status(&mut cmd)?;\n    status.success()?;\n    Ok(())\n}\n\nfn wait_for_lock(config: &Config) {\n    let path = Path::new(config.alpm.dbpath()).join(\"db.lck\");\n    let c = config.color;\n    if path.exists() {\n        println!(\n            \"{} {}\",\n            c.error.paint(\"::\"),\n            c.bold\n                .paint(tr!(\"Pacman is currently in use, please wait...\"))\n        );\n\n        while path.exists() {\n            std::thread::sleep(Duration::from_secs(3));\n        }\n    }\n}\n\nfn new_pacman<S: AsRef<str> + Display + Debug>(config: &Config, args: &Args<S>) -> Command {\n    let mut cmd = if config.need_root {\n        wait_for_lock(config);\n        let mut cmd = Command::new(&config.sudo_bin);\n        cmd.args(&config.sudo_flags).arg(args.bin.as_ref());\n        cmd\n    } else {\n        Command::new(args.bin.as_ref())\n    };\n\n    if let Some(config) = &config.pacman_conf {\n        cmd.args([\"--config\", config]);\n    }\n    cmd.args(args.args());\n    cmd\n}\n\npub fn pacman<S: AsRef<str> + Display + Debug>(config: &Config, args: &Args<S>) -> Result<Status> {\n    let mut cmd = new_pacman(config, args);\n    command_status(&mut cmd)\n}\n\npub fn pacman_output<S: AsRef<str> + Display + std::fmt::Debug>(\n    config: &Config,\n    args: &Args<S>,\n) -> Result<Output> {\n    let mut cmd = new_pacman(config, args);\n    cmd.stdin(Stdio::inherit());\n    command_output(&mut cmd)\n}\n\nfn new_makepkg<S: AsRef<OsStr>>(\n    config: &Config,\n    dir: &Path,\n    args: &[S],\n    pkgdest: Option<&str>,\n) -> Command {\n    let mut cmd = Command::new(&config.makepkg_bin);\n    if let Some(mconf) = &config.makepkg_conf {\n        cmd.arg(\"--config\").arg(mconf);\n    }\n    if let Some(dest) = pkgdest {\n        cmd.env(\"PKGDEST\", dest);\n    }\n    cmd.args(&config.mflags).args(args).current_dir(dir);\n    cmd\n}\n\npub fn makepkg_dest<S: AsRef<OsStr>>(\n    config: &Config,\n    dir: &Path,\n    args: &[S],\n    pkgdest: Option<&str>,\n) -> Result<Status> {\n    let mut cmd = new_makepkg(config, dir, args, pkgdest);\n    command_status(&mut cmd)\n}\n\npub fn makepkg<S: AsRef<OsStr>>(config: &Config, dir: &Path, args: &[S]) -> Result<Status> {\n    makepkg_dest(config, dir, args, None)\n}\n\npub fn makepkg_output_dest<S: AsRef<OsStr>>(\n    config: &Config,\n    dir: &Path,\n    args: &[S],\n    pkgdest: Option<&str>,\n) -> Result<Output> {\n    let mut cmd = new_makepkg(config, dir, args, pkgdest);\n    command_output(&mut cmd)\n}\n\npub fn makepkg_output<S: AsRef<OsStr>>(config: &Config, dir: &Path, args: &[S]) -> Result<Output> {\n    makepkg_output_dest(config, dir, args, None)\n}\n\npub fn has_command(name: &str) -> bool {\n    Command::new(name).arg(\"--version\").output().is_ok()\n}\n"
  },
  {
    "path": "src/fmt.rs",
    "content": "use std::fmt::Write;\n\nuse std::collections::HashSet;\n\nuse crate::config::Config;\nuse crate::repo;\n\nuse alpm::Ver;\nuse aur_depends::{Actions, Base};\n\nuse ansiterm::Style;\nuse chrono::{Local, TimeZone, Utc};\nuse tr::tr;\nuse unicode_width::UnicodeWidthStr;\n\nstruct ToInstall {\n    install: Vec<String>,\n    make_install: Vec<String>,\n    aur: Vec<String>,\n    make_aur: Vec<String>,\n}\n\npub fn opt(opt: &Option<String>) -> String {\n    opt.clone().unwrap_or_else(|| tr!(\"None\"))\n}\n\npub fn date(date: i64) -> String {\n    let date = Utc.timestamp_opt(date, 0).unwrap().with_timezone(&Local);\n    date.format(\"%a, %e %b %Y %T\").to_string()\n}\n\npub fn ymd(date: i64) -> String {\n    let date = Utc.timestamp_opt(date, 0).unwrap().with_timezone(&Local);\n    date.format(\"%Y-%m-%d\").to_string()\n}\n\npub fn link_str(enabled: bool, s: &str, url: &str) -> String {\n    if enabled {\n        format!(\"\\x1b]8;;{url}\\x1b\\\\{s}\\x1b]8;;\\x1b\\\\\")\n    } else {\n        s.to_string()\n    }\n}\n\nfn word_len(s: &str) -> usize {\n    let mut len = 0;\n    let mut chars = s.chars().peekable();\n\n    while let Some(c) = chars.next() {\n        if c == '\\x1b' && chars.peek() == Some(&'[') {\n            chars.by_ref().take_while(|c| c != &'m').count();\n        } else {\n            len += 1;\n        }\n    }\n\n    len\n}\n\npub fn print_indent<S: AsRef<str>>(\n    color: Style,\n    start: usize,\n    indent: usize,\n    cols: Option<usize>,\n    sep: &str,\n    value: impl IntoIterator<Item = S>,\n) {\n    let v = value.into_iter();\n\n    match cols {\n        Some(cols) if cols > indent + 2 => {\n            let mut pos = start;\n\n            let mut iter = v.peekable();\n\n            if let Some(word) = iter.next() {\n                print!(\"{}\", color.paint(word.as_ref()));\n                pos += word_len(word.as_ref());\n            }\n\n            if iter.peek().is_some() && pos + sep.len() < cols {\n                print!(\"{}\", sep);\n                pos += sep.len();\n            }\n\n            while let Some(word) = iter.next() {\n                let word = word.as_ref();\n                let len = word_len(word);\n\n                if pos + len > cols {\n                    print!(\"\\n{:>padding$}\", \"\", padding = indent);\n                    pos = indent;\n                }\n\n                print!(\"{}\", color.paint(word));\n                pos += len;\n\n                if iter.peek().is_some() && pos + sep.len() < cols {\n                    print!(\"{}\", sep);\n                    pos += sep.len();\n                }\n            }\n        }\n        _ => {\n            let mut iter = v;\n            if let Some(word) = iter.next() {\n                print!(\"{}\", color.paint(word.as_ref()));\n            }\n\n            for word in iter {\n                print!(\"{}{}\", sep, color.paint(word.as_ref()));\n            }\n        }\n    }\n    println!();\n}\n\nuse ansiterm::Color;\n\npub fn color_repo(enabled: bool, name: &str) -> String {\n    if !enabled {\n        return name.to_string();\n    }\n\n    let mut col: u32 = 5;\n\n    for &b in name.as_bytes() {\n        col = (b as u32).wrapping_add((col << 4).wrapping_add(col));\n    }\n\n    col = (col % 6) + 9;\n    let col = Style::from(Color::Fixed(col as u8)).bold();\n    col.paint(name).to_string()\n}\n\npub fn print_target(targ: &str, quiet: bool) {\n    if quiet {\n        println!(\"{}\", targ.split_once('/').unwrap().1);\n    } else {\n        println!(\"{}\", targ);\n    }\n}\n\nfn base_string(config: &Config, base: &Base, devel: &HashSet<String>) -> String {\n    let c = config.color;\n    let mut s = String::new();\n    write!(\n        &mut s,\n        \"{}{}\",\n        base.package_base(),\n        c.install_version.paint(\"-\"),\n    )\n    .unwrap();\n    if base.packages().any(|p| devel.contains(p)) {\n        write!(&mut s, \"{}\", c.install_version.paint(\"latest-commit\")).unwrap();\n    } else {\n        write!(&mut s, \"{}\", c.install_version.paint(base.version())).unwrap();\n    }\n\n    if !Base::base_is_pkg(base.package_base(), base.packages()) {\n        write!(&mut s, \" (\").unwrap();\n        let mut pkgs = base.packages();\n        write!(&mut s, \"{}\", pkgs.next().unwrap()).unwrap();\n        for pkg in pkgs {\n            write!(&mut s, \" {}\", pkg).unwrap();\n        }\n        write!(&mut s, \")\").unwrap();\n    }\n    s\n}\n\nfn to_install(config: &Config, actions: &Actions, devel: &HashSet<String>) -> ToInstall {\n    let c = config.color;\n    let dash = c.install_version.paint(\"-\");\n\n    let install = actions\n        .install\n        .iter()\n        .filter(|p| !p.make)\n        .map(|p| {\n            format!(\n                \"{}{}{}\",\n                p.pkg.name(),\n                dash,\n                c.install_version.paint(p.pkg.version().to_string())\n            )\n        })\n        .collect::<Vec<_>>();\n    let make_install = actions\n        .install\n        .iter()\n        .filter(|p| p.make)\n        .map(|p| {\n            format!(\n                \"{}{}{}\",\n                p.pkg.name(),\n                dash,\n                c.install_version.paint(p.pkg.version().to_string())\n            )\n        })\n        .collect::<Vec<_>>();\n\n    let mut build = actions.build.clone();\n    for base in &mut build {\n        match base {\n            Base::Aur(base) => base.pkgs.retain(|p| !p.make),\n            Base::Pkgbuild(base) => base.pkgs.retain(|p| !p.make),\n        }\n    }\n    build.retain(|b| b.package_count() != 0);\n    let build = build\n        .iter()\n        .map(|p| base_string(config, p, devel))\n        .collect::<Vec<_>>();\n\n    let mut make_build = actions.build.clone();\n    for base in &mut make_build {\n        match base {\n            Base::Aur(base) => base.pkgs.retain(|p| p.make),\n            Base::Pkgbuild(base) => base.pkgs.retain(|p| p.make),\n        }\n    }\n    make_build.retain(|b| b.package_count() != 0);\n    let make_build = make_build\n        .iter()\n        .map(|p| base_string(config, p, devel))\n        .collect::<Vec<_>>();\n\n    ToInstall {\n        install,\n        make_install,\n        aur: build,\n        make_aur: make_build,\n    }\n}\n\npub fn print_install(config: &Config, actions: &Actions, devel: &HashSet<String>) {\n    let c = config.color;\n\n    println!();\n\n    let to = to_install(config, actions, devel);\n\n    if !to.install.is_empty() {\n        let fmt = format!(\"{} ({}) \", tr!(\"Repo\"), to.install.len());\n        let start = 17 + to.install.len().to_string().len();\n        print!(\"{}\", c.bold.paint(fmt));\n        print_indent(Style::new(), start, 8, config.cols, \"  \", to.install);\n    }\n\n    if !to.make_install.is_empty() {\n        let fmt = format!(\"{} ({}) \", tr!(\"Repo Make\"), to.make_install.len());\n        let start = 22 + to.make_install.len().to_string().len();\n        print!(\"{}\", c.bold.paint(fmt));\n        print_indent(Style::new(), start, 8, config.cols, \"  \", to.make_install);\n    }\n\n    if !to.aur.is_empty() {\n        let aur = if actions.iter_pkgbuilds().next().is_some() {\n            \"Pkgbuilds\"\n        } else {\n            \"Aur\"\n        };\n        let fmt = format!(\"{} ({}) \", aur, to.aur.len());\n        let start = 16 + to.aur.len().to_string().len();\n        print!(\"{}\", c.bold.paint(fmt));\n        print_indent(Style::new(), start, 8, config.cols, \"  \", to.aur);\n    }\n\n    if !to.make_aur.is_empty() {\n        let aur = if actions.iter_pkgbuilds().next().is_some() {\n            tr!(\"Pkgbuilds Make\")\n        } else {\n            tr!(\"Aur Make\")\n        };\n\n        let fmt = format!(\"{} ({}) \", aur, to.make_aur.len());\n        let start = 16 + to.make_aur.len().to_string().len();\n        print!(\"{}\", c.bold.paint(fmt));\n        print_indent(Style::new(), start, 8, config.cols, \"  \", to.make_aur);\n    }\n\n    println!();\n}\n\nfn repo<'a>(config: &'a Config, pkg: &str) -> &'a str {\n    let (_, dbs) = repo::repo_aur_dbs(config);\n\n    if dbs.is_empty() {\n        return \"aur\";\n    }\n\n    let db = dbs\n        .iter()\n        .find(|db| db.pkg(pkg).is_ok())\n        .map(|db| db.name())\n        .unwrap_or_else(|| dbs.first().unwrap().name());\n\n    db\n}\n\nfn old_ver<'a>(config: &'a Config, pkg: &str) -> Option<&'a Ver> {\n    let (_, dbs) = repo::repo_aur_dbs(config);\n\n    if dbs.is_empty() {\n        return config.alpm.localdb().pkg(pkg).ok().map(|p| p.version());\n    }\n\n    dbs.iter()\n        .find_map(|db| db.pkg(pkg).ok())\n        .map(|p| p.version())\n}\n\npub fn print_install_verbose(config: &Config, actions: &Actions, devel: &HashSet<String>) {\n    let c = config.color;\n    let bold = c.bold;\n    let db = config.alpm.localdb();\n\n    let package = tr!(\"Repo ({})\", actions.install.len());\n    let aur = match (\n        actions.iter_aur_pkgs().count(),\n        actions.iter_pkgbuilds().count(),\n    ) {\n        (a, 0) => format!(\"Aur ({})\", a),\n        (a, c) => format!(\"Pkgbuilds ({})\", a + c),\n    };\n    let old = tr!(\"Old Version\");\n    let new = tr!(\"New Version\");\n    let make = tr!(\"Make Only\");\n    let yes = tr!(\"Yes\");\n    let no = tr!(\"No\");\n\n    let package_len = actions\n        .install\n        .iter()\n        .map(|pkg| pkg.pkg.db().unwrap().name().len() + 1 + pkg.pkg.name().len())\n        .chain(Some(package.width()))\n        .max()\n        .unwrap_or_default();\n\n    let old_len = actions\n        .install\n        .iter()\n        .filter_map(|pkg| db.pkg(pkg.pkg.name()).ok())\n        .map(|pkg| pkg.version().len())\n        .chain(Some(old.width()))\n        .max()\n        .unwrap_or_default();\n\n    let new_len = actions\n        .install\n        .iter()\n        .map(|pkg| pkg.pkg.version().len())\n        .chain(Some(new.width()))\n        .max()\n        .unwrap_or_default();\n    let new_len = new_len.max(\"latest-commit\".len());\n\n    let make_len = yes.width().max(no.width()).max(make.width());\n\n    let aur_len = actions\n        .build\n        .iter()\n        .filter_map(|pkg| match pkg {\n            Base::Aur(base) => base\n                .pkgs\n                .iter()\n                .map(|pkg| repo(config, &pkg.pkg.name).len() + 1 + pkg.pkg.name.len())\n                .max(),\n            Base::Pkgbuild(base) => base\n                .pkgs\n                .iter()\n                .map(|pkg| base.repo.len() + 1 + pkg.pkg.pkgname.len())\n                .max(),\n        })\n        .chain(Some(aur.width()))\n        .max()\n        .unwrap_or_default();\n\n    let aur_old_len = actions\n        .build\n        .iter()\n        .filter_map(|pkg| match pkg {\n            Base::Aur(base) => base\n                .pkgs\n                .iter()\n                .filter_map(|pkg| old_ver(config, &pkg.pkg.name))\n                .map(|v| v.as_str())\n                .max(),\n            Base::Pkgbuild(base) => base\n                .pkgs\n                .iter()\n                .filter_map(|pkg| old_ver(config, &pkg.pkg.pkgname))\n                .map(|v| v.as_str())\n                .max(),\n        })\n        .map(|v| v.len())\n        .chain(Some(old.width()))\n        .max()\n        .unwrap_or_default();\n\n    let aur_new_len = actions\n        .build\n        .iter()\n        .map(|base| base.version().len())\n        .chain(Some(new.width()))\n        .max()\n        .unwrap_or_default();\n\n    let package_len = package_len.max(aur_len);\n    let old_len = old_len.max(aur_old_len);\n    let new_len = new_len.max(aur_new_len);\n\n    if let Some(cols) = config.cols {\n        if package_len + 2 + old_len + 2 + new_len + 2 + make_len > cols {\n            eprintln!(\n                \"{} {}\",\n                c.warning.paint(\"::\"),\n                tr!(\"insufficient columns available for table display\")\n            );\n\n            print_install(config, actions, devel);\n            return;\n        }\n    }\n\n    if !actions.install.is_empty() {\n        println!();\n        println!(\n            \"{}{:<package_len$}  {}{:<old_len$}  {}{:<new_len$}  {}\",\n            bold.paint(&package),\n            \"\",\n            bold.paint(&old),\n            \"\",\n            bold.paint(&new),\n            \"\",\n            bold.paint(&make),\n            package_len = package_len - package.width(),\n            old_len = old_len - old.width(),\n            new_len = new_len - new.width(),\n        );\n\n        let mut install = actions.install.clone();\n        install.sort_by(|a, b| {\n            a.pkg\n                .db()\n                .unwrap()\n                .name()\n                .cmp(b.pkg.db().unwrap().name())\n                .then(a.pkg.name().cmp(b.pkg.name()))\n        });\n\n        for pkg in &install {\n            println!(\n                \"{:<package_len$}  {:<old_len$}  {:<new_len$}  {}\",\n                format!(\"{}/{}\", pkg.pkg.db().unwrap().name(), pkg.pkg.name()),\n                db.pkg(pkg.pkg.name())\n                    .map(|pkg| pkg.version().as_str())\n                    .unwrap_or(\"\"),\n                pkg.pkg.version().as_str(),\n                if pkg.make { &yes } else { &no }\n            );\n        }\n    }\n\n    if !actions.build.is_empty() {\n        println!();\n        println!(\n            \"{}{:<package_len$}  {}{:<old_len$}  {}{:<new_len$}  {}\",\n            bold.paint(&aur),\n            \"\",\n            bold.paint(&old),\n            \"\",\n            bold.paint(&new),\n            \"\",\n            bold.paint(&make),\n            package_len = package_len - aur.width(),\n            old_len = old_len - old.width(),\n            new_len = new_len - new.width(),\n        );\n\n        for pkg in actions.build.iter() {\n            match pkg {\n                Base::Aur(base) => {\n                    for pkg in &base.pkgs {\n                        let ver = if devel.contains(&pkg.pkg.name) {\n                            \"latest-commit\"\n                        } else {\n                            &pkg.pkg.version\n                        };\n                        println!(\n                            \"{:<package_len$}  {:<old_len$}  {:<new_len$}  {}\",\n                            format!(\"{}/{}\", repo(config, &pkg.pkg.name), pkg.pkg.name),\n                            old_ver(config, &pkg.pkg.name)\n                                .map(|v| v.as_str())\n                                .unwrap_or_default(),\n                            ver,\n                            if pkg.make { &yes } else { &no }\n                        );\n                    }\n                }\n                Base::Pkgbuild(base) => {\n                    for pkg in &base.pkgs {\n                        let ver = base.srcinfo.version();\n                        let ver = if devel.contains(&pkg.pkg.pkgname) {\n                            \"latest-commit\"\n                        } else {\n                            &ver\n                        };\n                        println!(\n                            \"{:<package_len$}  {:<old_len$}  {:<new_len$}  {}\",\n                            format!(\"{}/{}\", base.repo, pkg.pkg.pkgname),\n                            old_ver(config, &pkg.pkg.pkgname)\n                                .map(|v| v.as_str())\n                                .unwrap_or_default(),\n                            ver,\n                            if pkg.make { &yes } else { &no }\n                        );\n                    }\n                }\n            }\n        }\n    }\n\n    println!();\n}\n"
  },
  {
    "path": "src/help.rs",
    "content": "use crate::printtr;\n\npub fn help() {\n    printtr!(\"Usage:\");\n    printtr!(\"    paru\");\n    printtr!(\"    paru <operation> [...]\");\n    printtr!(\"    paru <package(s)>\");\n    println!();\n    printtr!(\"Pacman operations:\");\n    printtr!(\"    paru {-h --help}\");\n    printtr!(\"    paru {-V --version}\");\n    printtr!(\"    paru {-D --database}    <options> <package(s)>\");\n    printtr!(\"    paru {-F --files}       [options] [package(s)]\");\n    printtr!(\"    paru {-Q --query}       [options] [package(s)]\");\n    printtr!(\"    paru {-R --remove}      [options] <package(s)>\");\n    printtr!(\"    paru {-S --sync}        [options] [package(s)]\");\n    printtr!(\"    paru {-T --deptest}     [options] [package(s)]\");\n    printtr!(\"    paru {-U --upgrade}     [options] [file(s)]\");\n    println!();\n    printtr!(\"New operations:\");\n    printtr!(\"    paru {-P --show}        [options]\");\n    printtr!(\"    paru {-G --getpkgbuild} [package(s)]\");\n    printtr!(\"    paru {-B --build}       [dir(s)]\");\n    println!();\n    printtr!(\"If no arguments are provided 'paru -Syu' will be performed\");\n    println!();\n    printtr!(\"Options without operation:\");\n    printtr!(\"    -c --clean            Remove unneeded dependencies\");\n    printtr!(\"       --gendb            Generates development package DB used for updating\");\n    println!();\n    printtr!(\"New options:\");\n    printtr!(\"       --repo              Assume targets are from the repositories\");\n    printtr!(\"       --pkgbuilds         Assume targets are from pkgbuild repositories\");\n    printtr!(\"    -a --aur               Assume targets are from the AUR\");\n    printtr!(\"    --mode      <mode>     Sets where paru looks for targets\");\n    printtr!(\n        \"    --interactive          Enable interactive package selection for -S, -R, -Ss and -Qs\"\n    );\n    printtr!(\"    --aururl    <url>      Set an alternative AUR URL\");\n    printtr!(\"    --aurrpcur  <url>      Set an alternative URL for the AUR /rpc endpoint\");\n    printtr!(\"    --clonedir  <dir>      Directory used to download and run PKGBUILDs\");\n    println!();\n    printtr!(\"    --makepkg   <file>     makepkg command to use\");\n    printtr!(\"    --mflags    <flags>    Pass arguments to makepkg\");\n    printtr!(\"    --pacman    <file>     pacman command to use\");\n    printtr!(\"    --git       <file>     git command to use\");\n    printtr!(\"    --gitflags  <flags>    Pass arguments to git\");\n    printtr!(\"    --sudo      <file>     sudo command to use\");\n    printtr!(\"    --sudoflags <flags>    Pass arguments to sudo\");\n    printtr!(\"    --pkgctl    <file>     pkgctl command to use\");\n    printtr!(\"    --bat       <file>     bat command to use\");\n    printtr!(\"    --batflags  <flags>    Pass arguments to bat\");\n    printtr!(\"    --gpg       <file>     gpg command to use\");\n    printtr!(\"    --gpgflags  <flags>    Pass arguments to gpg\");\n    printtr!(\"    --fm        <file>     File manager to use for PKGBUILD review\");\n    printtr!(\"    --fmflags   <flags>    Pass arguments to file manager\");\n    println!();\n    printtr!(\"    --completioninterval   <n> Time in days to refresh completion cache\");\n    printtr!(\"    --sortby    <field>    Sort AUR results by a specific field during search\");\n    printtr!(\"    --searchby  <field>    Search for packages using a specified field\");\n    printtr!(\"    --limit     <limit>    Limits the number of items returned in a search\");\n    printtr!(\"    -x --regex             Enable regex for aur search\");\n    println!();\n    printtr!(\"    --skipreview           Skip the review process\");\n    printtr!(\"    --review               Don't skip the review process\");\n    printtr!(\"    --[no]upgrademenu      Show interactive menu to skip upgrades\");\n    printtr!(\"    --[no]removemake       Remove makedepends after install\");\n    printtr!(\"    --[no]cleanafter       Remove package sources after install\");\n    printtr!(\"    --[no]rebuild          Always build target packages\");\n    printtr!(\"    --[no]redownload       Always download PKGBUILDs of targets\");\n    println!();\n    printtr!(\"    --[no]pgpfetch         Prompt to import PGP keys from PKGBUILDs\");\n    printtr!(\"    --[no]useask           Automatically resolve conflicts using pacman's ask flag\");\n    printtr!(\"    --[no]savechanges      Commit changes to pkgbuilds made during review\");\n    printtr!(\"    --[no]newsonupgrade    Print new news during sysupgrade\");\n    printtr!(\"    --[no]combinedupgrade  Refresh then perform the repo and AUR upgrade together\");\n    printtr!(\"    --[no]batchinstall     Build multiple AUR packages then install them together\");\n    printtr!(\"    --[no]provides         Look for matching providers when searching for packages\");\n    printtr!(\"    --[no]devel            Check development packages during sysupgrade\");\n    printtr!(\"    --[no]installdebug     Also install debug packages when a package provides them\");\n    printtr!(\"    --[no]sudoloop         Loop sudo calls in the background to avoid timeout\");\n    printtr!(\"    --[no]chroot           Build packages in a chroot\");\n    printtr!(\"    --[no]failfast         Exit as soon as building an AUR package fails\");\n    printtr!(\"    --[no]keepsrc          Keep src/ and pkg/ dirs after building packages\");\n    printtr!(\"    --[no]sign             Sign packages with gpg\");\n    printtr!(\"    --[no]signdb           Sign databases with gpg\");\n    printtr!(\"    --[no]localrepo        Build packages into a local repo\");\n    printtr!(\"    --nocheck              Don't resolve checkdepends or run the check function\");\n    printtr!(\n        \"    --rootchrootpkgs       Packages to install in the root chroot (default: base-devel)\"\n    );\n    printtr!(\"    --develsuffixes        Suffixes used to decide if a package is a devel package\");\n    printtr!(\"    --ignoredevel          Ignore devel upgrades for specified packages\");\n    printtr!(\"    --bottomup             Shows AUR's packages first and then repository's\");\n    printtr!(\"    --topdown              Shows repository's packages first and then AUR's\");\n    println!();\n    printtr!(\"show specific options:\");\n    printtr!(\"    -c --complete         Used for completions\");\n    printtr!(\"    -s --stats            Display system package statistics\");\n    printtr!(\"    -w --news             Print arch news\");\n    println!();\n    printtr!(\"getpkgbuild specific options:\");\n    printtr!(\"    -p --print            Print pkgbuild to stdout\");\n    printtr!(\"    -c --comments         Print AUR comments for pkgbuild\");\n    printtr!(\"    -s --ssh              Clone package using SSH\");\n    println!();\n    printtr!(\"Build specific options:\");\n    printtr!(\"    -i --install          Install package as well as building\");\n}\n"
  },
  {
    "path": "src/info.rs",
    "content": "use crate::config::{Colors, Config};\nuse crate::download::cache_info_with_warnings;\nuse crate::exec;\nuse crate::fmt::{date, opt, print_indent};\nuse crate::util::split_repo_aur_info;\n\nuse alpm_utils::Targ;\nuse ansiterm::Style;\nuse anyhow::Error;\n\nuse globset::GlobSet;\nuse raur::ArcPackage as Package;\nuse srcinfo::{ArchVec, ArchVecs};\nuse terminal_size::terminal_size_of;\nuse tr::tr;\nuse unicode_width::UnicodeWidthStr;\n\npub async fn info(conf: &mut Config, verbose: bool) -> Result<i32, Error> {\n    let targets = conf.targets.clone();\n    let targets = targets.iter().map(Targ::from).collect::<Vec<_>>();\n\n    let (repo, aur) = split_repo_aur_info(conf, &targets)?;\n    let mut ret = 0;\n\n    let longest = longest(conf) + 3;\n\n    let (pkgbuild, aur) = aur.into_iter().partition::<Vec<_>, _>(|t| {\n        if !conf.mode.aur() {\n            return true;\n        }\n        if !conf.mode.pkgbuild() {\n            return false;\n        }\n        t.repo.map_or_else(\n            || conf.pkgbuild_repos.pkg(conf, t.pkg).is_some(),\n            |r| {\n                conf.pkgbuild_repos\n                    .repo(r)\n                    .and_then(|r| r.pkg(conf, t.pkg))\n                    .is_some()\n            },\n        )\n    });\n\n    let aur = if !aur.is_empty() {\n        let color = conf.color;\n        let aur = aur.iter().map(|t| t.pkg).collect::<Vec<_>>();\n        let warnings =\n            cache_info_with_warnings(&conf.raur, &mut conf.cache, &aur, &[], &GlobSet::empty())\n                .await?;\n        for pkg in &warnings.missing {\n            eprintln!(\n                \"{} {}\",\n                color.error.paint(\"error:\"),\n                tr!(\"package '{}' was not found\", pkg,),\n            );\n        }\n        ret = !warnings.missing.is_empty() as i32;\n        warnings.pkgs\n    } else {\n        Vec::new()\n    };\n\n    if !repo.is_empty() {\n        let targets = repo.into_iter().map(|t| t.to_string()).collect::<Vec<_>>();\n        let mut args = conf.pacman_args();\n        args.targets.clear();\n        args.targets(targets.iter().map(|t| t.as_str()));\n        ret |= exec::pacman(conf, &args)?.code();\n    }\n\n    if !aur.is_empty() {\n        print_aur_info(conf, verbose, &aur, longest)?;\n    }\n\n    if !pkgbuild.is_empty() {\n        print_pkgbuild_info(conf, verbose, &pkgbuild, longest)?;\n    }\n\n    Ok(ret)\n}\n\nfn longest(config: &Config) -> usize {\n    let longest = [\n        tr!(\"Repository\"),\n        tr!(\"Name\"),\n        tr!(\"Version\"),\n        tr!(\"Description\"),\n        tr!(\"Groups\"),\n        tr!(\"Licenses\"),\n        tr!(\"Provides\"),\n        tr!(\"Depends On\"),\n        tr!(\"Make Deps\"),\n        tr!(\"Check Deps\"),\n        tr!(\"Optional Deps\"),\n        tr!(\"Conflicts With\"),\n        tr!(\"Maintainer\"),\n        tr!(\"Votes\"),\n        tr!(\"Popularity\"),\n        tr!(\"First Submitted\"),\n        tr!(\"Last Modified\"),\n        tr!(\"Out Of Date\"),\n        tr!(\"ID\"),\n        tr!(\"Package Base ID\"),\n        tr!(\"Keywords\"),\n        tr!(\"Snapshot URL\"),\n        tr!(\"Path\"),\n        \"URL\".to_string(),\n        \"AUR URL\".to_string(),\n    ]\n    .iter()\n    .map(|s| s.width())\n    .max()\n    .unwrap();\n\n    let mut longest_a = 0;\n\n    for repo in &config.pkgbuild_repos.repos {\n        for base in repo.pkgs(config) {\n            let base = &base.srcinfo;\n            longest_a = longest_a\n                .max(arch_len(&base.base.makedepends))\n                .max(arch_len(&base.base.checkdepends));\n\n            for pkg in &base.pkgs {\n                longest_a = longest_a\n                    .max(arch_len(&pkg.depends))\n                    .max(arch_len(&pkg.optdepends))\n                    .max(arch_len(&pkg.provides))\n                    .max(arch_len(&pkg.conflicts));\n            }\n        }\n    }\n\n    longest + longest_a\n}\n\nfn arch_len(vec: &[ArchVec]) -> usize {\n    vec.iter()\n        .filter_map(|v| v.arch())\n        .map(|a| a.len() + 1)\n        .max()\n        .unwrap_or(0)\n}\n\npub fn print_pkgbuild_info(\n    conf: &Config,\n    _verbose: bool,\n    pkgs: &[Targ],\n    len: usize,\n) -> Result<(), Error> {\n    let color = conf.color;\n    let cols = get_terminal_width();\n    let print = |k: &str, v: &str| print(color, len, cols, k, v);\n    let print_list = |k: &str, v: &[_]| print_list(color, len, cols, k, v);\n    let print_arch_list = |k: &str, v: &ArchVecs| {\n        if v.is_empty() {\n            print_list(k, &[]);\n        }\n        v.iter().for_each(|v| match v.arch() {\n            Some(arch) => print_list(format!(\"{} {}\", k, arch).as_str(), v.values()),\n            None => print_list(k, v.values()),\n        })\n    };\n    for targ in pkgs {\n        let pkg = if let Some(repo) = targ.repo {\n            conf.pkgbuild_repos\n                .repo(repo)\n                .and_then(|r| r.pkg(conf, targ.pkg))\n        } else {\n            conf.pkgbuild_repos.pkg(conf, targ.pkg)\n        };\n\n        let (base, pkg) = match pkg {\n            Some(pkg) => pkg,\n            None => {\n                eprintln!(\n                    \"{} {}\",\n                    color.error.paint(\"error:\"),\n                    tr!(\"package '{}' was not found\", targ.pkg),\n                );\n                continue;\n            }\n        };\n\n        let path = base.path.as_path();\n        let srcinfo = &base.srcinfo;\n        let repo = base.repo.as_str();\n\n        print(&tr!(\"Repository\"), repo);\n        print(&tr!(\"Name\"), &pkg.pkgname);\n        print(&tr!(\"Version\"), &srcinfo.version());\n        print(&tr!(\"Description\"), &opt(&pkg.pkgdesc));\n        print(\"URL\", &opt(&pkg.url));\n        print_list(&tr!(\"Groups\"), &pkg.groups);\n        print_list(&tr!(\"Licenses\"), &pkg.license);\n        print_arch_list(&tr!(\"Provides\"), &pkg.provides);\n        print_arch_list(&tr!(\"Depends On\"), &pkg.depends);\n        print_arch_list(&tr!(\"Make Deps\"), &srcinfo.base.makedepends);\n        print_arch_list(&tr!(\"Check Deps\"), &srcinfo.base.checkdepends);\n        print_arch_list(&tr!(\"Optional Deps\"), &pkg.optdepends);\n        print_arch_list(&tr!(\"Conflicts With\"), &pkg.conflicts);\n        print(&tr!(\"Path\"), &path.display().to_string());\n\n        println!();\n    }\n\n    Ok(())\n}\n\npub fn print_aur_info(\n    conf: &Config,\n    verbose: bool,\n    pkgs: &[Package],\n    len: usize,\n) -> Result<(), Error> {\n    let color = conf.color;\n    let cols = get_terminal_width();\n    let print = |k: &str, v: &str| print(color, len, cols, k, v);\n    let print_list = |k: &str, v: &[_]| print_list(color, len, cols, k, v);\n    let no = tr!(\"No\");\n\n    for pkg in pkgs {\n        print(&tr!(\"Repository\"), \"aur\");\n        print(&tr!(\"Name\"), &pkg.name);\n        print(&tr!(\"Version\"), &pkg.version);\n        print(&tr!(\"Description\"), &opt(&pkg.description));\n        print(\"URL\", &opt(&pkg.url));\n        print(\n            \"AUR URL\",\n            conf.aur_url\n                .join(&format!(\"packages/{}\", pkg.name))?\n                .as_str(),\n        );\n        print_list(&tr!(\"Groups\"), &pkg.groups);\n        print_list(&tr!(\"Licenses\"), &pkg.license);\n        print_list(&tr!(\"Provides\"), &pkg.provides);\n        print_list(&tr!(\"Depends On\"), &pkg.depends);\n        print_list(&tr!(\"Make Deps\"), &pkg.make_depends);\n        print_list(&tr!(\"Check Deps\"), &pkg.check_depends);\n        print_list(&tr!(\"Optional Deps\"), &pkg.opt_depends);\n        print_list(&tr!(\"Conflicts With\"), &pkg.conflicts);\n        print(&tr!(\"Maintainer\"), &opt(&pkg.maintainer));\n        print(&tr!(\"Votes\"), &pkg.num_votes.to_string());\n        print(&tr!(\"Popularity\"), &pkg.popularity.to_string());\n        print(&tr!(\"First Submitted\"), &date(pkg.first_submitted));\n        print(&tr!(\"Last Modified\"), &date(pkg.last_modified));\n        print(\n            &tr!(\"Out Of Date\"),\n            pkg.out_of_date.map(date).as_deref().unwrap_or(no.as_str()),\n        );\n\n        if verbose {\n            print(&tr!(\"ID\"), &pkg.id.to_string());\n            print(&tr!(\"Package Base ID\"), &pkg.package_base_id.to_string());\n            print_list(&tr!(\"Keywords\"), &pkg.keywords);\n            print(\n                &tr!(\"Snapshot URL\"),\n                conf.aur_url.join(&pkg.url_path)?.as_str(),\n            );\n        }\n\n        println!();\n    }\n\n    Ok(())\n}\n\npub fn print(color: Colors, indent: usize, cols: Option<usize>, k: &str, v: &str) {\n    print_info(color, false, indent, cols, k, v.split_whitespace());\n}\n\nfn print_list(color: Colors, indent: usize, cols: Option<usize>, k: &str, v: &[String]) {\n    if v.is_empty() {\n        print(color, indent, cols, k, &tr!(\"None\"));\n    } else {\n        print_info(color, true, indent, cols, k, v.iter().map(|s| s.as_str()));\n    }\n}\n\nfn print_info<'a>(\n    color: Colors,\n    list: bool,\n    indent: usize,\n    cols: Option<usize>,\n    key: &str,\n    value: impl IntoIterator<Item = &'a str>,\n) {\n    let mut prefix = key.to_string();\n    for _ in 0..indent - prefix.width() - 2 {\n        prefix.push(' ');\n    }\n    prefix.push_str(\": \");\n    print!(\"{}\", color.field.paint(&prefix));\n\n    let sep = if list { \"  \" } else { \" \" };\n    print_indent(Style::new(), indent, indent, cols, sep, value)\n}\n\n#[must_use]\npub fn get_terminal_width() -> Option<usize> {\n    terminal_size_of(std::io::stdout()).map(|(w, _h)| w.0 as usize)\n}\n"
  },
  {
    "path": "src/install.rs",
    "content": "use std::collections::hash_map::Entry;\nuse std::collections::{HashMap, HashSet};\nuse std::env::var;\nuse std::ffi::OsStr;\nuse std::fmt::Write as _;\nuse std::fs::{read_dir, read_link, OpenOptions};\nuse std::io::{BufRead, Read, Write};\nuse std::path::{Path, PathBuf};\nuse std::process::{Command, Stdio};\nuse std::sync::atomic::Ordering;\n\nuse crate::args::{Arg, Args};\nuse crate::chroot::Chroot;\nuse crate::clean::clean_untracked;\nuse crate::completion::update_aur_cache;\nuse crate::config::{Config, LocalRepos, Mode, Op, Sign, YesNoAllTree, YesNoAsk};\nuse crate::devel::{fetch_devel_info, load_devel_info, save_devel_info, DevelInfo};\nuse crate::download::{self, Bases};\nuse crate::exec::{command_status, has_command};\nuse crate::fmt::{print_indent, print_install, print_install_verbose};\nuse crate::keys::check_pgp_keys;\nuse crate::pkgbuild::PkgbuildRepo;\nuse crate::resolver::{flags, resolver};\nuse crate::upgrade::{get_upgrades, Upgrades};\nuse crate::util::{ask, repo_aur_pkgs, split_repo_aur_targets};\nuse crate::{args, exec, news, print_error, printtr, repo};\n\nuse alpm::{Alpm, Depend, Version};\nuse alpm_utils::depends::{satisfies, satisfies_nover, satisfies_provide, satisfies_provide_nover};\nuse alpm_utils::{DbListExt, Targ};\nuse ansiterm::Style;\nuse anyhow::{bail, ensure, Context, Result};\nuse aur_depends::{Actions, Base, Conflict, DepMissing, RepoPackage};\nuse log::debug;\nuse raur::Cache;\nuse srcinfo::{ArchVecs, Srcinfo};\nuse tr::tr;\n\n#[derive(Copy, Clone, Debug)]\npub struct Status(pub i32);\n\nimpl std::fmt::Display for Status {\n    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {\n        write!(f, \"Status: {}\", self.0)\n    }\n}\n\nimpl std::error::Error for Status {}\n\nimpl Status {\n    pub fn err(n: i32) -> Result<()> {\n        bail!(Status(n))\n    }\n}\n\nstruct Installer {\n    refresh: usize,\n    sysupgrade: usize,\n    install_targets: bool,\n    done_something: bool,\n    ran_pacman: bool,\n    upgrades: Upgrades,\n    srcinfos: HashMap<String, Srcinfo>,\n    remove_make: Vec<String>,\n    conflicts: HashSet<String>,\n    failed: Vec<Base>,\n    chroot: Chroot,\n    deps: Vec<String>,\n    exp: Vec<String>,\n    install_queue: Vec<String>,\n    conflict: bool,\n    devel_info: DevelInfo,\n    new_devel_info: DevelInfo,\n    built: Vec<String>,\n}\n\npub async fn install(config: &mut Config, targets_str: &[String]) -> Result<()> {\n    let mut installer = Installer::new(config);\n    installer.install_targets = !config.no_install;\n    installer.install(config, targets_str).await\n}\n\npub async fn build_dirs(config: &mut Config, dirs: Vec<PathBuf>) -> Result<()> {\n    let mut installer = Installer::new(config);\n    let repo = PkgbuildRepo::from_pkgbuilds(config, &dirs)?;\n\n    let targets = repo\n        .pkgs(config)\n        .iter()\n        .flat_map(|s| s.srcinfo.pkgnames())\n        .map(|name| format!(\"./{}\", name))\n        .collect::<Vec<_>>();\n\n    config.pkgbuild_repos.repos.push(repo);\n    installer.install_targets = config.install;\n    installer.install(config, &targets).await\n}\n\nimpl Installer {\n    fn new(config: &Config) -> Self {\n        let mut fetch = config.fetch.clone();\n        fetch.clone_dir = fetch.clone_dir.join(\"repo\");\n        fetch.diff_dir = fetch.diff_dir.join(\"repo\");\n\n        Self {\n            sysupgrade: config.args.count(\"u\", \"sysupgrade\"),\n            refresh: config.args.count(\"y\", \"refresh\"),\n            install_targets: true,\n            done_something: false,\n            ran_pacman: false,\n            upgrades: Upgrades::default(),\n            srcinfos: HashMap::new(),\n            remove_make: Vec::new(),\n            conflicts: HashSet::new(),\n            failed: Vec::new(),\n            chroot: chroot(config),\n            deps: Vec::new(),\n            exp: Vec::new(),\n            install_queue: Vec::new(),\n            conflict: false,\n            devel_info: DevelInfo::default(),\n            new_devel_info: DevelInfo::default(),\n            built: Vec::new(),\n        }\n    }\n\n    fn early_refresh(&self, config: &mut Config) -> Result<()> {\n        let mut args = config.pacman_globals();\n        for _ in 0..config.args.count(\"y\", \"refresh\") {\n            args.arg(\"y\");\n        }\n        args.targets.clear();\n        exec::pacman(config, &args)?.success()?;\n        config.args.remove(\"y\").remove(\"refresh\");\n        Ok(())\n    }\n\n    fn early_pacman(&mut self, config: &mut Config, targets: Vec<String>) -> Result<()> {\n        let mut args = config.pacman_args();\n        args.targets.clear();\n        args.targets(targets.iter().map(|i| i.as_str()));\n        exec::pacman(config, &args)?.success()?;\n        config.args.remove(\"y\").remove(\"refresh\");\n        config.args.remove(\"u\").remove(\"sysupgrade\");\n        Ok(())\n    }\n\n    fn sudo_loop(&self, config: &Config) -> Result<()> {\n        if !config.sudo_loop.is_empty() {\n            let mut flags = config.sudo_flags.clone();\n            flags.extend(config.sudo_loop.clone());\n            exec::spawn_sudo(config.sudo_bin.clone(), flags)?;\n        }\n        Ok(())\n    }\n\n    async fn news(&self, config: &Config) -> Result<()> {\n        let c = config.color;\n\n        if config.news_on_upgrade && self.sysupgrade != 0 {\n            let mut ret = 0;\n            match news::news(config).await {\n                Ok(v) => ret = v,\n                Err(err) => eprintln!(\n                    \"{} {}: {}\",\n                    c.error.paint(tr!(\"error:\")),\n                    tr!(\"could not get news\",),\n                    err\n                ),\n            }\n\n            if ret != 1 && !ask(config, &tr!(\"Proceed with installation?\"), true) {\n                return Status::err(1);\n            }\n        }\n\n        Ok(())\n    }\n\n    async fn download_pkgbuilds(&mut self, config: &Config, bases: &Bases) -> Result<()> {\n        for base in &bases.bases {\n            let path = config.build_dir.join(base.package_base()).join(\".SRCINFO\");\n            if path.exists() {\n                let srcinfo = Srcinfo::from_path(path);\n                if let Ok(srcinfo) = srcinfo {\n                    self.srcinfos\n                        .insert(srcinfo.base.pkgbase.to_string(), srcinfo);\n                }\n            }\n        }\n\n        download::new_aur_pkgbuilds(config, bases, &self.srcinfos).await?;\n\n        for base in &bases.bases {\n            if self.srcinfos.contains_key(base.package_base()) {\n                continue;\n            }\n            let path = config.build_dir.join(base.package_base()).join(\".SRCINFO\");\n            if path.exists() {\n                if let Entry::Vacant(vacant) = self.srcinfos.entry(base.package_base().to_string())\n                {\n                    let srcinfo = Srcinfo::from_path(path)\n                        .with_context(|| tr!(\"failed to parse srcinfo for '{}'\", base))?;\n                    vacant.insert(srcinfo);\n                }\n            } else {\n                bail!(tr!(\"could not find .SRCINFO for '{}'\", base.package_base()));\n            }\n        }\n        Ok(())\n    }\n\n    fn chroot_install(&self, config: &Config, build: &[Base], repo_targs: &[String]) -> Result<()> {\n        if !config.chroot {\n            return Ok(());\n        }\n\n        if !config.args.has_arg(\"w\", \"downloadonly\") {\n            let mut targets = Vec::new();\n\n            let iter = build.iter().filter(|b| {\n                !self\n                    .failed\n                    .iter()\n                    .any(|f| b.package_base() == f.package_base())\n            });\n\n            for base in iter {\n                match base {\n                    Base::Aur(base) => {\n                        for pkg in &base.pkgs {\n                            if pkg.target && self.install_targets {\n                                targets.push(pkg.pkg.name.as_str())\n                            }\n                        }\n                    }\n                    Base::Pkgbuild(base) => {\n                        for pkg in &base.pkgs {\n                            if pkg.target && self.install_targets {\n                                targets.push(pkg.pkg.pkgname.as_str())\n                            }\n                        }\n                    }\n                }\n            }\n\n            if config.sysupgrade {\n                targets.retain(|&p| config.alpm.localdb().pkg(p).is_ok());\n            }\n\n            targets.extend(repo_targs.iter().map(|s| s.as_str()));\n\n            let mut args = config.pacman_globals();\n            args.op(\"sync\");\n            copy_sync_args(config, &mut args);\n            if config.args.has_arg(\"asexplicit\", \"asexp\") {\n                args.arg(\"asexplicit\");\n            } else if config.args.has_arg(\"asdeps\", \"asdep\") {\n                args.arg(\"asdeps\");\n            }\n\n            if config.mode.repo() {\n                for _ in 0..config.args.count(\"y\", \"refresh\") {\n                    args.arg(\"y\");\n                }\n                for _ in 0..config.args.count(\"u\", \"sysupgrade\") {\n                    args.arg(\"u\");\n                }\n            }\n\n            args.targets = targets;\n            let ask;\n\n            if !self.built.is_empty()\n                && (!config.args.has_arg(\"u\", \"sysupgrade\")\n                    || config.combined_upgrade\n                    || !config.mode.repo())\n            {\n                if self.conflict {\n                    if config.use_ask {\n                        if let Some(arg) = args.args.iter_mut().find(|a| a.key == \"ask\") {\n                            let num = arg.value.unwrap_or_default();\n                            let mut num = num.parse::<i32>().unwrap_or_default();\n                            num |= alpm::QuestionType::ConflictPkg as i32;\n                            ask = num.to_string();\n                            arg.value = Some(ask.as_str());\n                        } else {\n                            let value = alpm::QuestionType::ConflictPkg as i32;\n                            ask = value.to_string();\n                            args.push_value(\"ask\", ask.as_str());\n                        }\n                    }\n                } else {\n                    args.arg(\"noconfirm\");\n                }\n            }\n\n            if !args.targets.is_empty()\n                || args.has_arg(\"u\", \"sysupgrade\")\n                || args.has_arg(\"y\", \"refresh\")\n            {\n                exec::pacman(config, &args)?.success()?;\n            }\n        }\n\n        Ok(())\n    }\n\n    #[allow(clippy::too_many_arguments)]\n    fn dep_or_exp(\n        &mut self,\n        config: &Config,\n        base: &Base,\n        version: &str,\n        pkg: &str,\n        target: bool,\n        make: bool,\n        pkgdest: &mut HashMap<String, String>,\n    ) -> Result<()> {\n        if !needs_install(config, base, version, pkg) {\n            return Ok(());\n        }\n\n        let assume = if config.chroot {\n            // TODO handle nover\n            config\n                .assume_installed\n                .iter()\n                .map(|a| Depend::new(a.as_str()))\n                .any(|assume| satisfies_provide(Depend::new(pkg), assume))\n        } else {\n            false\n        };\n\n        if config.chroot && (make || assume) {\n            return Ok(());\n        }\n\n        if config.args.has_arg(\"asexplicit\", \"asexp\") {\n            self.exp.push(pkg.to_string());\n        } else if config.args.has_arg(\"asdeps\", \"asdeps\") {\n            self.deps.push(pkg.to_string());\n        } else if config.alpm.localdb().pkg(pkg).is_err() {\n            if target {\n                self.exp.push(pkg.to_string())\n            } else {\n                self.deps.push(pkg.to_string())\n            }\n        }\n\n        let path = pkgdest.remove(pkg).with_context(|| {\n            tr!(\n                \"could not find package '{pkg}' in package list for '{base}'\",\n                pkg = pkg,\n                base = base\n            )\n        })?;\n\n        self.conflict |= self.conflicts.contains(pkg);\n        self.install_queue.push(path);\n        Ok(())\n    }\n\n    fn do_install(&mut self, config: &Config) -> Result<()> {\n        if !self.install_queue.is_empty() {\n            let mut args = config.pacman_globals();\n            let ask;\n            args.op(\"upgrade\");\n            copy_sync_args(config, &mut args);\n\n            for _ in 0..args.count(\"d\", \"nodeps\") {\n                args.arg(\"d\");\n            }\n\n            if self.conflict {\n                if config.use_ask {\n                    if let Some(arg) = args.args.iter_mut().find(|a| a.key == \"ask\") {\n                        let num = arg.value.unwrap_or_default();\n                        let mut num = num.parse::<i32>().unwrap_or_default();\n                        num |= alpm::QuestionType::ConflictPkg as i32;\n                        ask = num.to_string();\n                        arg.value = Some(ask.as_str());\n                    } else {\n                        let value = alpm::QuestionType::ConflictPkg as i32;\n                        ask = value.to_string();\n                        args.push_value(\"ask\", ask.as_str());\n                    }\n                }\n            } else {\n                args.arg(\"noconfirm\");\n            }\n\n            debug!(\"flushing install queue\");\n            args.targets = self.install_queue.iter().map(|s| s.as_str()).collect();\n            exec::pacman(config, &args)?.success()?;\n\n            if config.devel {\n                save_devel_info(config, &self.devel_info)?;\n            }\n\n            asdeps(config, &self.deps)?;\n            asexp(config, &self.exp)?;\n            self.deps.clear();\n            self.exp.clear();\n            self.install_queue.clear();\n        }\n        Ok(())\n    }\n\n    fn build_cleanup(&self, config: &Config, build: &[Base]) -> Result<()> {\n        let mut ret = 0;\n\n        if !self.remove_make.is_empty() {\n            let mut args = config.pacman_globals();\n            args.op(\"remove\").arg(\"noconfirm\");\n            args.targets = self.remove_make.iter().map(|s| s.as_str()).collect();\n\n            if let Err(err) = exec::pacman(config, &args) {\n                print_error(config.color.error, err);\n                ret = 1;\n            }\n        }\n\n        if config.clean_after {\n            for base in build {\n                let path = match base {\n                    Base::Aur(base) => config.build_dir.join(base.package_base()),\n                    Base::Pkgbuild(base) => config\n                        .pkgbuild_repos\n                        .repo(&base.repo)\n                        .unwrap()\n                        .base(config, base.package_base())\n                        .unwrap()\n                        .path\n                        .clone(),\n                };\n\n                if let Err(err) = clean_untracked(config, &path) {\n                    print_error(config.color.error, err);\n                    ret = 1;\n                }\n            }\n        }\n\n        if !self.failed.is_empty() {\n            let failed = self\n                .failed\n                .iter()\n                .map(|f| f.to_string())\n                .collect::<Vec<_>>();\n            bail!(tr!(\"packages failed to build: {}\", failed.join(\"  \")));\n        }\n\n        if ret != 0 {\n            Status::err(ret)\n        } else {\n            Ok(())\n        }\n    }\n\n    fn debug_paths(\n        &mut self,\n        config: &Config,\n        base: &mut Base,\n        pkgdest: &HashMap<String, String>,\n    ) -> Result<HashMap<String, String>> {\n        let mut debug_paths = HashMap::new();\n\n        if config.install_debug {\n            for dest in pkgdest.values() {\n                let file = dest.rsplit('/').next().unwrap();\n\n                match base {\n                    Base::Aur(base) => {\n                        let mut debug = Vec::new();\n                        for pkg in &base.pkgs {\n                            if pkg.make {\n                                continue;\n                            }\n                            let debug_pkg = format!(\"{}-debug-\", pkg.pkg.name);\n\n                            if file.starts_with(&debug_pkg) {\n                                let debug_pkg = format!(\"{}-debug\", pkg.pkg.name);\n                                let mut pkg = pkg.clone();\n                                let mut raur_pkg = (*pkg.pkg).clone();\n                                raur_pkg.name = debug_pkg;\n                                pkg.pkg = raur_pkg.into();\n                                debug_paths.insert(pkg.pkg.name.clone(), dest.clone());\n                                debug.push(pkg);\n                            }\n                        }\n                        base.pkgs.extend(debug);\n                    }\n                    Base::Pkgbuild(base) => {\n                        let mut debug = Vec::new();\n                        for pkg in &base.pkgs {\n                            if pkg.make {\n                                continue;\n                            }\n                            let debug_pkg = format!(\"{}-debug-\", pkg.pkg.pkgname);\n\n                            if file.starts_with(&debug_pkg) {\n                                let debug_pkg = format!(\"{}-debug\", pkg.pkg.pkgname);\n                                let mut pkg = pkg.clone();\n                                pkg.pkg.pkgname = debug_pkg;\n                                debug_paths.insert(pkg.pkg.pkgname.clone(), dest.clone());\n                                debug.push(pkg);\n                            }\n                        }\n                        base.pkgs.extend(debug);\n                    }\n                }\n            }\n        }\n\n        for (pkg, path) in &debug_paths {\n            if !Path::new(path).exists() {\n                match base {\n                    Base::Aur(base) => base.pkgs.retain(|p| p.pkg.name != *pkg),\n                    Base::Pkgbuild(base) => base.pkgs.retain(|p| p.pkg.pkgname != *pkg),\n                }\n            } else {\n                printtr!(\"adding {} to the install list\", pkg);\n            }\n        }\n\n        Ok(debug_paths)\n    }\n\n    // TODO: sort out args\n    fn build_pkgbuild(\n        &mut self,\n        config: &mut Config,\n        base: &mut Base,\n        repo: Option<(&str, &str)>,\n        dir: &Path,\n    ) -> Result<(HashMap<String, String>, String)> {\n        let c = config.color;\n        let pkgdest = repo.map(|r| r.1);\n        let mut env = config.env.clone();\n        env.extend(pkgdest.map(|p| (\"PKGDEST\".to_string(), p.to_string())));\n\n        if config.chroot {\n            let mut extra = Vec::new();\n            if config.repos == LocalRepos::None {\n                extra.extend(self.built.iter().map(|s| s.as_str()));\n            }\n            let mut chroot_flags: Vec<&str> =\n                config.chroot_flags.iter().map(|s| s.as_str()).collect();\n            chroot_flags.push(\"-cu\");\n            self.chroot\n                .build(dir, &extra, &chroot_flags, &[\"-ofA\"], &config.env)\n                .with_context(|| tr!(\"failed to download sources for '{}'\", base))?;\n\n            if !self.chroot.extra_pkgs.is_empty() {\n                let mut pkgs = vec![\"pacman\", \"-S\", \"--asdeps\", \"--needed\", \"--noconfirm\", \"--\"];\n                pkgs.extend(self.chroot.extra_pkgs.iter().map(|s| s.as_str()));\n                self.chroot.run_usr(&pkgs)?;\n            }\n        } else {\n            // download sources\n            let mut args = vec![\"--verifysource\", \"-Af\"];\n            if !config.keep_src {\n                args.push(\"-Cc\");\n            }\n            exec::makepkg(config, dir, &args)?\n                .success()\n                .with_context(|| tr!(\"failed to download sources for '{}'\", base))?;\n\n            // pkgver bump\n            let mut args = vec![\"-ofA\"];\n            if !config.keep_src {\n                args.push(\"-C\");\n            }\n            exec::makepkg(config, dir, &args)?\n                .success()\n                .with_context(|| tr!(\"failed to build '{}'\", base))?;\n        }\n\n        printtr!(\"{}: parsing pkg list...\", base);\n        let (pkgdests, version) = parse_package_list(config, dir, pkgdest)?;\n\n        if !base.packages().all(|p| pkgdests.contains_key(p)) {\n            bail!(tr!(\"package list does not match srcinfo\"));\n        }\n\n        let needs_build = needs_build(config, base, &pkgdests, &version);\n        if needs_build {\n            // actual build\n            if config.chroot {\n                let mut extra = Vec::new();\n                if config.repos == LocalRepos::None {\n                    extra.extend(self.built.iter().map(|s| s.as_str()));\n                }\n                self.chroot\n                    .build(\n                        dir,\n                        &extra,\n                        &config.chroot_flags,\n                        &[\"-feA\", \"--noconfirm\", \"--noprepare\", \"--holdver\"],\n                        &env,\n                    )\n                    .with_context(|| tr!(\"failed to build '{}'\", base))?;\n            } else {\n                let mut args = vec![\"-feA\", \"--noconfirm\", \"--noprepare\", \"--holdver\"];\n                if !config.keep_src {\n                    args.push(\"-c\");\n                }\n                exec::makepkg_dest(config, dir, &args, pkgdest)?\n                    .success()\n                    .with_context(|| tr!(\"failed to build '{}'\", base))?;\n            }\n        } else {\n            println!(\n                \"{} {}\",\n                c.warning.paint(\"::\"),\n                tr!(\n                    \"{}-{} is up to date -- skipping build\",\n                    base.package_base(),\n                    base.version()\n                )\n            )\n        }\n\n        let debug_paths = self.debug_paths(config, base, &pkgdests)?;\n\n        self.add_pkg(config, base, repo, &pkgdests, &debug_paths)?;\n        self.queue_install(base, &pkgdests, &debug_paths);\n        Ok((pkgdests, version))\n    }\n\n    fn queue_install(\n        &mut self,\n        base: &mut Base,\n        pkgdest: &HashMap<String, String>,\n        debug_paths: &HashMap<String, String>,\n    ) {\n        let to_install: Vec<_> = match base {\n            Base::Aur(a) => a.pkgs.iter().map(|a| a.pkg.name.as_str()).collect(),\n            Base::Pkgbuild(c) => c.pkgs.iter().map(|a| a.pkg.pkgname.as_str()).collect(),\n        };\n\n        let to_install = to_install\n            .iter()\n            .filter_map(|p| pkgdest.get(*p))\n            .chain(debug_paths.values())\n            .cloned();\n\n        self.built.extend(to_install);\n    }\n\n    fn add_pkg(\n        &mut self,\n        config: &mut Config,\n        base: &Base,\n        repo: Option<(&str, &str)>,\n        pkgdest: &HashMap<String, String>,\n        debug_paths: &HashMap<String, String>,\n    ) -> Result<()> {\n        let paths = base\n            .packages()\n            .filter_map(|p| pkgdest.get(p))\n            .chain(debug_paths.values())\n            .map(|s| s.as_str())\n            .collect::<Vec<_>>();\n        sign_pkg(config, &paths)?;\n\n        if let Some(ref repo) = repo {\n            if let Some(repo) = self.upgrades.aur_repos.get(base.package_base()) {\n                let repo = config\n                    .alpm\n                    .syncdbs()\n                    .iter()\n                    .find(|db| db.name() == *repo)\n                    .unwrap();\n                let path = repo::file(repo).unwrap();\n                let name = repo.name().to_string();\n                repo::add(config, path, &name, &paths)?;\n                repo::refresh(config, &[name])?;\n            } else {\n                let (name, path) = repo;\n                repo::add(config, path, name, &paths)?;\n                repo::refresh(config, &[name])?;\n            }\n            if let Some(info) = self.new_devel_info.info.remove(base.package_base()) {\n                self.devel_info\n                    .info\n                    .insert(base.package_base().to_string(), info);\n            } else {\n                self.devel_info.info.remove(base.package_base());\n            }\n            if config.devel {\n                save_devel_info(config, &self.devel_info)?;\n            }\n        }\n\n        Ok(())\n    }\n\n    fn build_install_pkgbuild(\n        &mut self,\n        config: &mut Config,\n        base: &mut Base,\n        repo: Option<(&str, &str)>,\n    ) -> Result<()> {\n        let dir = match base {\n            Base::Aur(_) => config.build_dir.join(base.package_base()),\n            Base::Pkgbuild(c) => config\n                .pkgbuild_repos\n                .repo(&c.repo)\n                .unwrap()\n                .base(config, &c.srcinfo.base.pkgbase)\n                .unwrap()\n                .path\n                .clone(),\n        };\n\n        let pkgdest = repo.map(|r| r.1);\n        let build = base.build();\n\n        if !config.chroot\n            && (!config.batch_install || !deps_not_satisfied(config, base)?.is_empty())\n        {\n            self.do_install(config)?;\n            self.conflict = false;\n        }\n\n        let mut missing = if config.args.count(\"d\", \"nodeps\") > 1 {\n            Vec::new()\n        } else if config.chroot {\n            if config.repos == LocalRepos::None {\n                // todo\n                Vec::new()\n            } else {\n                deps_not_satisfied_by_repo(config, base)?\n            }\n        } else {\n            deps_not_satisfied(config, base)?\n        };\n\n        let ver = config.args.count(\"d\", \"nodeps\") == 0;\n        let arch = config.alpm.architectures().first().unwrap_or_default();\n\n        match &*base {\n            Base::Aur(a) => {\n                for pkg in &a.pkgs {\n                    missing.retain(|mis| {\n                        let provides = pkg.pkg.provides.iter().map(|p| Depend::new(p.as_str()));\n                        let v = Version::new(pkg.pkg.version.as_str());\n                        if ver {\n                            !satisfies(Depend::new(*mis), &pkg.pkg.name, v, provides)\n                        } else {\n                            !satisfies_nover(Depend::new(*mis), &pkg.pkg.name, provides)\n                        }\n                    })\n                }\n            }\n            Base::Pkgbuild(c) => {\n                for pkg in &c.pkgs {\n                    missing.retain(|mis| {\n                        let provides = pkg.pkg.provides.arch(arch).map(Depend::new);\n                        let v = Version::new(c.version().as_str());\n                        if ver {\n                            !satisfies(Depend::new(*mis), &pkg.pkg.pkgname, v, provides)\n                        } else {\n                            !satisfies_nover(Depend::new(*mis), &pkg.pkg.pkgname, provides)\n                        }\n                    })\n                }\n            }\n        }\n\n        if !missing.is_empty() {\n            bail!(tr!(\n                \"can't build {base}, deps not satisfied: {deps}\",\n                base = base,\n                deps = missing.join(\"  \")\n            ));\n        }\n\n        let (mut pkgdest, version) = if build {\n            self.build_pkgbuild(config, base, repo, &dir)?\n        } else {\n            printtr!(\"{}: parsing pkg list...\", base);\n            let (pkgdests, version) = parse_package_list(config, &dir, pkgdest)?;\n            let debug_paths = self.debug_paths(config, base, &pkgdests)?;\n            self.add_pkg(config, base, repo, &pkgdests, &debug_paths)?;\n            self.queue_install(base, &pkgdests, &debug_paths);\n            (pkgdests, version)\n        };\n\n        match &*base {\n            Base::Aur(b) => {\n                for pkg in &b.pkgs {\n                    if pkg.target && !self.install_targets {\n                        continue;\n                    }\n                    self.dep_or_exp(\n                        config,\n                        base,\n                        &version,\n                        &pkg.pkg.name,\n                        pkg.target,\n                        pkg.make,\n                        &mut pkgdest,\n                    )?\n                }\n            }\n            Base::Pkgbuild(b) => {\n                for pkg in &b.pkgs {\n                    if pkg.target && !self.install_targets {\n                        continue;\n                    }\n                    self.dep_or_exp(\n                        config,\n                        base,\n                        &version,\n                        &pkg.pkg.pkgname,\n                        pkg.target,\n                        pkg.make,\n                        &mut pkgdest,\n                    )?\n                }\n            }\n        }\n\n        if repo.is_none() {\n            if let Some(info) = self.new_devel_info.info.remove(base.package_base()) {\n                self.devel_info\n                    .info\n                    .insert(base.package_base().to_string(), info);\n            } else {\n                self.devel_info.info.remove(base.package_base());\n            }\n        }\n\n        Ok(())\n    }\n\n    async fn build_install_pkgbuilds(\n        &mut self,\n        config: &mut Config,\n        build: &mut [Base],\n    ) -> Result<()> {\n        if config.devel {\n            printtr!(\"fetching devel info...\");\n            self.devel_info = load_devel_info(config)?.unwrap_or_default();\n            self.new_devel_info = fetch_devel_info(config, build, &self.srcinfos).await?;\n        }\n\n        let (_, repo) = repo::repo_aur_dbs(config);\n        let default_repo = repo.first();\n        if let Some(repo) = default_repo {\n            let file = repo::file(repo).unwrap();\n            repo::init(config, file, repo.name())?;\n        }\n\n        if config.chroot {\n            if !self.chroot.exists() {\n                self.chroot.create(config)?;\n            } else {\n                self.chroot.update()?;\n            }\n        }\n\n        let repo_server =\n            default_repo.map(|r| (r.name().to_string(), repo::file(r).unwrap().to_string()));\n        drop(repo);\n\n        for base in build {\n            self.failed.push(base.clone());\n            let repo_server = repo_server\n                .as_ref()\n                .map(|(name, file)| (name.as_str(), file.as_str()));\n\n            let err = self.build_install_pkgbuild(config, base, repo_server);\n\n            match err {\n                Ok(_) => {\n                    self.failed.pop().unwrap();\n                }\n                Err(e) => {\n                    if config.fail_fast {\n                        self.failed.pop().unwrap();\n                        return Err(e);\n                    }\n                    print_error(config.color.error, e);\n                }\n            }\n        }\n\n        if !config.chroot {\n            self.do_install(config)?;\n        }\n\n        Ok(())\n    }\n\n    pub async fn install(&mut self, config: &mut Config, targets_str: &[String]) -> Result<()> {\n        self.sudo_loop(config)?;\n        self.news(config).await?;\n\n        config.set_op_args_globals(Op::Sync);\n        config.targets = targets_str.to_vec();\n        config.args.targets = config.targets.clone();\n\n        let targets = args::parse_targets(targets_str);\n        let (mut repo_targets, aur_targets) = split_repo_aur_targets(config, &targets)?;\n\n        if targets_str.is_empty() && self.sysupgrade == 0 && !self.sysupgrade == 0 {\n            bail!(tr!(\"no targets specified (use -h for help)\"));\n        }\n\n        if config.mode.repo() {\n            if config.combined_upgrade {\n                if config.args.has_arg(\"y\", \"refresh\") {\n                    self.early_refresh(config)?;\n                }\n            } else if !config.chroot\n                && (config.args.has_arg(\"y\", \"refresh\")\n                    || config.args.has_arg(\"u\", \"sysupgrade\")\n                    || !repo_targets.is_empty()\n                    || config.mode == Mode::REPO)\n            {\n                let targets = repo_targets.iter().map(|t| t.to_string()).collect();\n                repo_targets.clear();\n                self.done_something = true;\n                self.ran_pacman = true;\n                self.early_pacman(config, targets)?;\n            }\n        }\n\n        if targets_str.is_empty() && self.sysupgrade == 0 && self.refresh == 0 {\n            return Ok(());\n        }\n\n        config.init_alpm()?;\n\n        if self.refresh != 0 {\n            config.pkgbuild_repos.refresh(config)?;\n            self.done_something = true;\n        }\n        self.resolve_targets(config, &repo_targets, &aur_targets)\n            .await\n    }\n\n    async fn resolve_targets<'a>(\n        &mut self,\n        config: &mut Config,\n        repo_targets: &[Targ<'a>],\n        aur_targets: &[Targ<'a>],\n    ) -> Result<()> {\n        let mut cache = Cache::new();\n        let flags = flags(config);\n        let c = config.color;\n\n        let repos = config.pkgbuild_repos.clone();\n        let repos = repos.aur_depends_repo(config);\n        let mut resolver = resolver(config, &config.alpm, &config.raur, &mut cache, repos, flags);\n\n        if self.sysupgrade != 0 {\n            // TODO?\n            let upgrades = get_upgrades(config, &mut resolver).await?;\n            for pkg in &upgrades.repo_skip {\n                let arg = Arg {\n                    key: \"ignore\".to_string(),\n                    value: Some(pkg.to_string()),\n                };\n\n                config.args.args.push(arg);\n            }\n            self.upgrades = upgrades;\n        }\n\n        let mut targets = repo_targets.to_vec();\n        targets.extend(aur_targets);\n        targets.extend(self.upgrades.aur_keep.iter().map(|p| Targ {\n            repo: Some(config.aur_namespace()),\n            pkg: p,\n        }));\n        targets.extend(self.upgrades.pkgbuild_keep.iter().map(|(repo, pkg)| Targ {\n            repo: Some(repo),\n            pkg,\n        }));\n\n        targets.extend(self.upgrades.repo_keep.iter().map(Targ::from));\n\n        if self.shoud_just_pacman(config.mode, aur_targets, &self.upgrades, self.ran_pacman) {\n            print_warnings(config, &cache, None);\n            let mut args = config.pacman_args();\n            let targets = targets.iter().map(|t| t.to_string()).collect::<Vec<_>>();\n            args.targets = targets.iter().map(|s| s.as_str()).collect();\n\n            if !args.targets.is_empty()\n                || args.has_arg(\"u\", \"sysupgrade\")\n                || args.has_arg(\"y\", \"refresh\")\n            {\n                let code = exec::pacman(config, &args)?.code();\n                return Status::err(code);\n            }\n\n            return Ok(());\n        }\n\n        if targets.is_empty() && !self.upgrade_later(config) {\n            print_warnings(config, &cache, None);\n            if !self.done_something || self.sysupgrade != 0 {\n                printtr!(\" there is nothing to do\");\n            }\n            return Ok(());\n        }\n\n        println!(\n            \"{} {}\",\n            c.action.paint(\"::\"),\n            c.bold.paint(tr!(\"Resolving dependencies...\"))\n        );\n\n        let mut actions = resolver.resolve_targets(&targets).await?;\n        debug!(\"{:#?}\", actions);\n        let repo_targs = actions\n            .install\n            .iter()\n            .filter(|p| p.target)\n            .map(|p| p.pkg.name().to_string())\n            .collect::<Vec<_>>();\n\n        self.prepare_build(config, &cache, &mut actions).await?;\n\n        let mut build = actions.build;\n\n        let mut err = Ok(());\n\n        if !build.is_empty() {\n            err = self.build_install_pkgbuilds(config, &mut build).await;\n        }\n\n        if err.is_ok() && config.chroot {\n            if config.repos == LocalRepos::None {\n                err = self.chroot_install(config, &[], &repo_targs);\n                self.do_install(config)?;\n            } else {\n                err = self.chroot_install(config, &build, &repo_targs);\n            }\n        }\n\n        self.build_cleanup(config, &build)?;\n        err\n    }\n\n    fn shoud_just_pacman(\n        &self,\n        mode: Mode,\n        aur_targets: &[Targ<'_>],\n        upgrades: &Upgrades,\n        ran_pacman: bool,\n    ) -> bool {\n        if !mode.aur() && !mode.pkgbuild() {\n            return true;\n        }\n        if self.sysupgrade != 0 || self.refresh != 0 {\n            return false;\n        }\n        if ran_pacman {\n            return false;\n        }\n        aur_targets.is_empty() && upgrades.aur_keep.is_empty() && upgrades.pkgbuild_keep.is_empty()\n    }\n\n    async fn prepare_build(\n        &mut self,\n        config: &Config,\n        cache: &Cache,\n        actions: &mut Actions<'_>,\n    ) -> Result<()> {\n        if !actions.build.is_empty() && nix::unistd::getuid().is_root() {\n            bail!(tr!(\"can't install AUR package as root\"));\n        }\n        if !actions.build.is_empty() && config.args.has_arg(\"w\", \"downloadonly\") {\n            bail!(tr!(\"--downloadonly can't be used for AUR packages\"));\n        }\n\n        let conflicts = check_actions(config, actions, self.install_targets)?;\n\n        self.conflicts = conflicts\n            .0\n            .iter()\n            .map(|c| c.pkg.clone())\n            .chain(conflicts.1.iter().map(|c| c.pkg.clone()))\n            .collect::<HashSet<_>>();\n\n        let c = config.color;\n\n        print_warnings(config, cache, Some(actions));\n\n        if actions.build.is_empty() && actions.install.is_empty() {\n            printtr!(\" there is nothing to do\");\n            return Ok(());\n        }\n\n        if config.pacman.verbose_pkg_lists {\n            print_install_verbose(config, actions, &self.upgrades.devel);\n        } else {\n            print_install(config, actions, &self.upgrades.devel);\n        }\n\n        let has_make = if !config.chroot\n            && (actions.build.iter().any(|p| p.make()) || actions.install.iter().any(|p| p.make))\n        {\n            if config.remove_make == YesNoAsk::Ask {\n                ask(\n                    config,\n                    &tr!(\"Remove make dependencies after install?\"),\n                    false,\n                )\n            } else {\n                config.remove_make == YesNoAsk::Yes\n            }\n        } else {\n            false\n        };\n\n        if !config.skip_review && actions.iter_aur_pkgs().next().is_some() {\n            if !ask(config, &tr!(\"Proceed to review?\"), true) {\n                return Status::err(1);\n            }\n        } else if !ask(config, &tr!(\"Proceed with installation?\"), true) {\n            return Status::err(1);\n        }\n\n        if actions.build.is_empty() {\n            if !config.chroot {\n                repo_install(config, &actions.install, &self.conflicts)?;\n            }\n            return Ok(());\n        }\n\n        let bases = actions.iter_aur_pkgs().cloned().collect();\n        self.download_pkgbuilds(config, &bases).await?;\n\n        for pkg in &actions.build {\n            match pkg {\n                Base::Aur(base) => {\n                    let dir = config.fetch.clone_dir.join(base.package_base());\n                    pre_build_command(config, &dir, base.package_base(), &base.version())?;\n                }\n                Base::Pkgbuild(c) => {\n                    let dir = &config\n                        .pkgbuild_repos\n                        .repo(&c.repo)\n                        .unwrap()\n                        .base(config, c.package_base())\n                        .unwrap()\n                        .path;\n                    pre_build_command(config, dir, c.package_base(), &c.version())?;\n                }\n            }\n        }\n\n        if !config.skip_review {\n            let pkgs = actions\n                .build\n                .iter()\n                .filter(|b| b.build())\n                .filter_map(|b| match b {\n                    Base::Aur(pkg) => Some(pkg.package_base()),\n                    Base::Pkgbuild(_) => None,\n                })\n                .collect::<Vec<_>>();\n            review(config, &config.fetch, &pkgs)?;\n        }\n\n        let arch = config\n            .alpm\n            .architectures()\n            .first()\n            .context(tr!(\"no architecture\"))?;\n\n        let incompatible = self\n            .srcinfos\n            .values()\n            .flat_map(|s| &s.pkgs)\n            .filter(|p| !p.arch.iter().any(|a| a == \"any\") && !p.arch.iter().any(|a| a == arch))\n            .collect::<Vec<_>>();\n\n        if !incompatible.is_empty() {\n            println!(\n                \"{} {}\",\n                c.error.paint(\"::\"),\n                c.bold.paint(tr!(\n                    \"The following packages are not compatible with your architecture:\"\n                ))\n            );\n            print!(\"    \");\n            print_indent(\n                Style::new(),\n                0,\n                4,\n                config.cols,\n                \"  \",\n                incompatible.iter().map(|i| i.pkgname.as_str()),\n            );\n            if !ask(\n                config,\n                &tr!(\"Would you like to try build them anyway?\"),\n                true,\n            ) {\n                return Status::err(1);\n            }\n        }\n\n        if config.pgp_fetch {\n            check_pgp_keys(config, actions, &self.srcinfos)?;\n        }\n\n        if !config.chroot {\n            repo_install(config, &actions.install, &self.conflicts)?;\n        } else {\n            return Ok(());\n        }\n\n        update_aur_list(config);\n\n        if has_make {\n            self.remove_make.extend(\n                actions\n                    .install\n                    .iter()\n                    .filter(|p| p.make)\n                    .map(|p| p.pkg.name().to_string())\n                    .collect::<Vec<_>>(),\n            );\n\n            self.remove_make.extend(\n                actions\n                    .iter_aur_pkgs()\n                    .filter(|p| p.make)\n                    .map(|p| p.pkg.name.clone()),\n            );\n            self.remove_make.extend(\n                actions\n                    .iter_pkgbuilds()\n                    .filter(|(_, p)| p.make)\n                    .map(|(_, p)| p.pkg.pkgname.clone()),\n            );\n        }\n\n        Ok(())\n    }\n\n    fn upgrade_later(&self, config: &Config) -> bool {\n        config.mode.repo() && config.chroot && (self.sysupgrade != 0 || self.refresh != 0)\n    }\n}\n\nfn is_debug(pkg: &alpm::Package) -> bool {\n    if let Some(base) = pkg.base() {\n        if pkg.name().ends_with(\"-debug\") && pkg.name().trim_end_matches(\"-debug\") == base {\n            return true;\n        }\n    }\n\n    false\n}\n\nfn print_warnings(config: &Config, cache: &Cache, actions: Option<&Actions>) {\n    let mut warnings = crate::download::Warnings::default();\n\n    if !config.mode.aur() && !config.mode.pkgbuild() {\n        return;\n    }\n\n    if config.sysupgrade && config.mode.aur() {\n        let (_, mut pkgs) = repo_aur_pkgs(config);\n        pkgs.retain(|pkg| config.pkgbuild_repos.pkg(config, pkg.name()).is_none());\n\n        warnings.missing = pkgs\n            .iter()\n            .filter(|pkg| !cache.contains(pkg.name()))\n            .filter(|pkg| !is_debug(pkg))\n            .map(|pkg| pkg.name())\n            .filter(|pkg| !config.no_warn.is_match(pkg))\n            .collect::<Vec<_>>();\n\n        warnings.ood = pkgs\n            .iter()\n            .filter(|pkg| !is_debug(pkg))\n            .filter_map(|pkg| cache.get(pkg.name()))\n            .filter(|pkg| pkg.out_of_date.is_some())\n            .map(|pkg| pkg.name.as_str())\n            .filter(|pkg| !config.no_warn.is_match(pkg))\n            .collect::<Vec<_>>();\n\n        warnings.orphans = pkgs\n            .iter()\n            .filter(|pkg| !is_debug(pkg))\n            .filter_map(|pkg| cache.get(pkg.name()))\n            .filter(|pkg| pkg.maintainer.is_none())\n            .map(|pkg| pkg.name.as_str())\n            .filter(|pkg| !config.no_warn.is_match(pkg))\n            .collect::<Vec<_>>();\n    }\n\n    if let Some(actions) = actions {\n        warnings.ood.extend(\n            actions\n                .iter_aur_pkgs()\n                .map(|pkg| &pkg.pkg)\n                .filter(|pkg| pkg.out_of_date.is_some())\n                .filter(|pkg| !config.no_warn.is_match(&pkg.name))\n                .map(|pkg| pkg.name.as_str()),\n        );\n\n        warnings.orphans.extend(\n            actions\n                .iter_aur_pkgs()\n                .map(|pkg| &pkg.pkg)\n                .filter(|pkg| pkg.maintainer.is_none())\n                .filter(|pkg| !config.no_warn.is_match(&pkg.name))\n                .map(|pkg| pkg.name.as_str()),\n        );\n    }\n\n    warnings.missing.sort_unstable();\n    warnings.ood.sort_unstable();\n    warnings.ood.dedup();\n    warnings.orphans.sort_unstable();\n    warnings.orphans.dedup();\n\n    warnings.all(config.color, config.cols);\n}\n\nfn fmt_stack(want: &DepMissing) -> String {\n    match &want.dep {\n        Some(dep) => format!(\"{} ({})\", want.pkg, dep),\n        None => want.pkg.to_string(),\n    }\n}\n\nfn check_actions(\n    config: &Config,\n    actions: &mut Actions,\n    install_targets: bool,\n) -> Result<(Vec<Conflict>, Vec<Conflict>)> {\n    let c = config.color;\n    let dups = actions.duplicate_targets();\n    ensure!(\n        dups.is_empty(),\n        tr!(\"duplicate packages: {}\", dups.join(\" \"))\n    );\n\n    if !actions.missing.is_empty() {\n        let mut err = tr!(\"could not find all required packages:\");\n        for missing in &actions.missing {\n            if missing.stack.is_empty() {\n                write!(err, \"\\n    {} (target)\", c.error.paint(&missing.dep))?;\n            } else {\n                let stack = missing\n                    .stack\n                    .iter()\n                    .map(fmt_stack)\n                    .collect::<Vec<_>>()\n                    .join(\" -> \");\n                err.push_str(&tr!(\n                    \"\\n    {missing} (wanted by: {stack})\",\n                    missing = c.error.paint(&missing.dep),\n                    stack = stack\n                ));\n            };\n        }\n\n        bail!(\"{}\", err);\n    }\n\n    for pkg in &actions.unneeded {\n        eprintln!(\n            \"{} {}\",\n            c.warning.paint(\"::\"),\n            tr!(\"{}-{} is up to date -- skipping\", pkg.name, pkg.version)\n        );\n    }\n\n    let conflicts = if !config.chroot || install_targets {\n        println!(\n            \"{} {}\",\n            c.action.paint(\"::\"),\n            c.bold.paint(tr!(\"Calculating conflicts...\"))\n        );\n        // Hack to ignore conflicts on -B\n        // Only ignores conflicts for the last package instead of all targets\n        // As in theory one target could depend on another and thus must be installed\n        let mut conflicts = actions.calculate_conflicts(!config.chroot);\n        if !install_targets {\n            if let Some(build) = actions.build.last() {\n                let pkgs = build.packages().map(|s| s.to_string()).collect::<Vec<_>>();\n                conflicts.retain(|c| {\n                    !c.conflicting\n                        .iter()\n                        .all(|conflicting| pkgs.contains(&conflicting.pkg))\n                });\n            }\n        }\n        conflicts\n    } else {\n        Vec::new()\n    };\n    println!(\n        \"{} {}\",\n        c.action.paint(\"::\"),\n        c.bold.paint(tr!(\"Calculating inner conflicts...\"))\n    );\n    let inner_conflicts = actions.calculate_inner_conflicts(!config.chroot);\n\n    if !conflicts.is_empty() || !inner_conflicts.is_empty() {\n        eprintln!();\n    }\n\n    if !inner_conflicts.is_empty() {\n        eprintln!(\n            \"{} {}\",\n            c.error.paint(\"::\"),\n            c.bold.paint(tr!(\"Inner conflicts found:\"))\n        );\n\n        for conflict in &inner_conflicts {\n            eprint!(\"    {}: \", conflict.pkg);\n\n            for conflict in &conflict.conflicting {\n                eprint!(\"{}\", conflict.pkg);\n                if let Some(conflict) = &conflict.conflict {\n                    eprint!(\" ({})\", conflict);\n                }\n                eprint!(\"  \");\n            }\n            eprintln!();\n        }\n        eprintln!();\n    }\n\n    if !conflicts.is_empty() {\n        eprintln!(\n            \"{} {}\",\n            c.error.paint(\"::\"),\n            c.bold.paint(tr!(\"Conflicts found:\"))\n        );\n\n        for conflict in &conflicts {\n            eprint!(\"    {}: \", conflict.pkg);\n\n            for conflict in &conflict.conflicting {\n                eprint!(\"{}\", conflict.pkg);\n                if let Some(conflict) = &conflict.conflict {\n                    eprint!(\" ({})\", conflict);\n                }\n                eprint!(\"  \");\n            }\n            eprintln!();\n        }\n        eprintln!();\n    }\n\n    if (!conflicts.is_empty() || !inner_conflicts.is_empty()) && !config.use_ask {\n        eprintln!(\n            \"{} {}\",\n            c.warning.paint(\"::\"),\n            c.bold.paint(tr!(\n                \"Conflicting packages will have to be confirmed manually\"\n            ))\n        );\n        if config.no_confirm {\n            bail!(tr!(\"can not install conflicting packages with --noconfirm\"));\n        }\n    }\n\n    Ok((conflicts, inner_conflicts))\n}\n\nfn repo_install(\n    config: &Config,\n    install: &[RepoPackage],\n    conflicts: &HashSet<String>,\n) -> Result<i32> {\n    if install.is_empty() {\n        return Ok(0);\n    }\n\n    let mut deps = Vec::new();\n    let mut exp = Vec::new();\n\n    let targets = install\n        .iter()\n        .map(|p| format!(\"{}/{}\", p.pkg.db().unwrap().name(), p.pkg.name()))\n        .collect::<Vec<_>>();\n\n    let mut args = config.pacman_args();\n    args.remove(\"asdeps\")\n        .remove(\"asdep\")\n        .remove(\"asexplicit\")\n        .remove(\"asexp\")\n        .remove(\"y\")\n        .remove(\"i\")\n        .remove(\"refresh\");\n\n    if !install.iter().any(|pkg| conflicts.contains(pkg.pkg.name())) {\n        args.arg(\"noconfirm\");\n    }\n    args.targets = targets.iter().map(|s| s.as_str()).collect();\n\n    if !config.combined_upgrade || !config.mode.repo() {\n        args.remove(\"u\").remove(\"sysupgrade\");\n    }\n\n    if config.args.has_arg(\"asexplicit\", \"asexp\") {\n        exp.extend(install.iter().map(|p| p.pkg.name()));\n    } else if config.args.has_arg(\"asdeps\", \"asdep\") {\n        deps.extend(install.iter().map(|p| p.pkg.name()));\n    } else {\n        for pkg in install {\n            if config.alpm.localdb().pkg(pkg.pkg.name()).is_err() {\n                if pkg.target {\n                    exp.push(pkg.pkg.name())\n                } else {\n                    deps.push(pkg.pkg.name())\n                }\n            }\n        }\n    }\n\n    exec::pacman(config, &args)?.success()?;\n    asdeps(config, &deps)?;\n    asexp(config, &exp)?;\n\n    Ok(0)\n}\n\nfn asdeps<S: AsRef<str>>(config: &Config, pkgs: &[S]) -> Result<()> {\n    set_install_reason(config, \"asdeps\", pkgs)\n}\n\nfn asexp<S: AsRef<str>>(config: &Config, pkgs: &[S]) -> Result<()> {\n    set_install_reason(config, \"asexplicit\", pkgs)\n}\n\nfn set_install_reason<S: AsRef<str>>(config: &Config, reason: &str, pkgs: &[S]) -> Result<()> {\n    let alpm = config.new_alpm()?;\n    let db = alpm.localdb();\n\n    let pkgs = pkgs\n        .iter()\n        .map(|s| s.as_ref())\n        .filter(|p| db.pkg(*p).is_ok());\n\n    let mut args = config.pacman_globals();\n    args.op(\"database\").arg(reason).targets(pkgs);\n    if args.targets.is_empty() {\n        return Ok(());\n    }\n\n    let output = exec::pacman_output(config, &args)?;\n    ensure!(\n        output.status.success(),\n        \"{}\",\n        String::from_utf8_lossy(&output.stderr)\n    );\n    Ok(())\n}\n\nfn pre_build_command(config: &Config, dir: &Path, base: &str, version: &str) -> Result<()> {\n    if let Some(ref pb_cmd) = config.pre_build_command {\n        let mut cmd = Command::new(\"sh\");\n        cmd.env(\"PKGBASE\", base)\n            .env(\"VERSION\", version)\n            .current_dir(dir)\n            .arg(\"-c\")\n            .arg(pb_cmd);\n        exec::command(&mut cmd)?;\n    }\n    Ok(())\n}\n\nfn file_manager(\n    config: &Config,\n    fetch: &aur_fetch::Fetch,\n    fm: &str,\n    pkgs: &[&str],\n) -> Result<tempfile::TempDir> {\n    let has_diff = fetch.has_diff(pkgs)?;\n    fetch.save_diffs(&has_diff)?;\n    let view = tempfile::Builder::new().prefix(\"aur\").tempdir()?;\n    fetch.make_view(view.path(), pkgs, &has_diff)?;\n    run_file_manager(config, fm, view.path())?;\n    Ok(view)\n}\n\nfn run_file_manager(config: &Config, fm: &str, dir: &Path) -> Result<()> {\n    let mut cmd = Command::new(fm);\n    cmd.args(&config.fm_flags).arg(dir).current_dir(dir);\n    let ret =\n        command_status(&mut cmd).with_context(|| tr!(\"failed to execute file manager: {}\", fm))?;\n    ensure!(\n        ret.success().is_ok(),\n        tr!(\"file manager '{}' did not execute successfully\", fm)\n    );\n    Ok(())\n}\n\nfn print_dir(\n    config: &Config,\n    pkgdir: &Path,\n    path: &Path,\n    stdin: &mut impl Write,\n    buf: &mut Vec<u8>,\n    bat: bool,\n    recurse: u32,\n) -> Result<()> {\n    {\n        let c = config.color;\n        let has_pkgbuild = path.join(\"PKGBUILD\").exists();\n\n        for file in read_dir(path).with_context(|| tr!(\"failed to read dir: {}\", path.display()))? {\n            let file = file?;\n\n            if file.file_type()?.is_dir() && file.path().file_name() == Some(OsStr::new(\".git\")) {\n                continue;\n            }\n            if file.file_type()?.is_file()\n                && file.path().file_name() == Some(OsStr::new(\".SRCINFO\"))\n            {\n                continue;\n            }\n            if file.file_type()?.is_dir() {\n                if recurse == 0 {\n                    continue;\n                }\n                print_dir(config, pkgdir, &file.path(), stdin, buf, bat, recurse - 1)?;\n            }\n            if !has_pkgbuild {\n                continue;\n            }\n            if file.file_type()?.is_symlink() {\n                let s = format!(\n                    \"  {} -> {}\\n\\n\",\n                    file.path().strip_prefix(pkgdir)?.display(),\n                    read_link(file.path())?.display()\n                );\n                let _ = write!(stdin, \"  {}\", c.bold.paint(s));\n                continue;\n            }\n            if file.file_type()?.is_dir() {\n                continue;\n            }\n\n            let _ = writeln!(\n                stdin,\n                \"  {}:\",\n                c.bold\n                    .paint(file.path().strip_prefix(pkgdir)?.display().to_string())\n            );\n            if bat {\n                let mut cmd = Command::new(&config.bat_bin);\n                cmd.arg(\"-pp\")\n                    .arg(\"--color=always\")\n                    .arg(file.path())\n                    .args(&config.bat_flags);\n                let output = exec::command_output(&mut cmd)?;\n\n                for line in output.stdout.lines() {\n                    let _ = stdin.write_all(b\"    \");\n                    let _ = stdin.write_all(line?.as_bytes());\n                    let _ = stdin.write_all(b\"\\n\");\n                }\n            } else {\n                let mut pkgfile = OpenOptions::new()\n                    .read(true)\n                    .open(file.path())\n                    .with_context(|| {\n                        tr!(\"failed to open: {}\", file.path().display().to_string())\n                    })?;\n                buf.clear();\n                pkgfile.read_to_end(buf)?;\n\n                match std::str::from_utf8(buf) {\n                    Ok(_) => {\n                        for line in buf.lines() {\n                            let _ = stdin.write_all(b\"    \");\n                            let _ = stdin.write_all(line?.as_bytes());\n                            let _ = stdin.write_all(b\"\\n\");\n                        }\n                    }\n                    Err(_) => {\n                        let file = file.path();\n                        let file = file.strip_prefix(pkgdir)?;\n                        let _ = write!(\n                            stdin,\n                            \"  {}\",\n                            c.bold\n                                .paint(tr!(\"binary file: {}\", file.display().to_string()))\n                        );\n                    }\n                };\n            }\n            let _ = stdin.write_all(b\"\\n\");\n        }\n    }\n\n    Ok(())\n}\n\npub fn review(config: &Config, fetch: &aur_fetch::Fetch, pkgs: &[&str]) -> Result<()> {\n    let c = config.color;\n\n    if pkgs.is_empty() {\n        return Ok(());\n    }\n    if !config.no_confirm {\n        if let Some(ref fm) = config.fm {\n            let _view = file_manager(config, fetch, fm, pkgs)?;\n\n            if !ask(config, &tr!(\"Accept changes?\"), true) {\n                return Status::err(1);\n            }\n\n            if config.save_changes {\n                fetch.commit(pkgs, \"paru save changes\")?;\n            }\n        } else {\n            let unseen = fetch.unseen(pkgs)?;\n            let has_diff = fetch.has_diff(&unseen)?;\n            let printed = !has_diff.is_empty() || unseen.iter().any(|p| !has_diff.contains(p));\n            let diffs = fetch.diff(&has_diff, config.color.enabled)?;\n\n            if printed {\n                let pager_unconfigured = var(\"PARU_PAGER\").is_err() && var(\"PAGER\").is_err();\n                let pager = if has_command(\"less\") { \"less\" } else { \"cat\" };\n\n                let pager = config\n                    .pager_cmd\n                    .clone()\n                    .or_else(|| var(\"PARU_PAGER\").ok())\n                    .or_else(|| var(\"PAGER\").ok())\n                    .unwrap_or_else(|| pager.to_string());\n\n                exec::RAISE_SIGPIPE.store(false, Ordering::Relaxed);\n                let mut command = Command::new(\"sh\");\n\n                if std::env::var(\"LESS\").is_err() {\n                    command.env(\"LESS\", \"SRXF\");\n                }\n                command.arg(\"-c\").arg(&pager).stdin(Stdio::piped());\n                let mut child = exec::spawn(&mut command)?;\n\n                let mut stdin = child.stdin.take().unwrap();\n\n                if pager_unconfigured && pager == \"less\" {\n                    let _ = write!(\n                        stdin,\n                        \"{}\",\n                        c.bold\n                            .paint(tr!(\"Paging with less. Press 'q' to quit or 'h' for help.\"))\n                    );\n                    let _ = stdin.write_all(b\"\\n\\n\");\n                }\n\n                for (&pkg, diff) in has_diff.iter().zip(diffs) {\n                    let _ = write!(\n                        stdin,\n                        \"{} {}:\\n    \",\n                        c.action.paint(\"::\"),\n                        c.bold.paint(pkg)\n                    );\n                    let _ = stdin.write_all(diff.replace('\\n', \"\\n    \").trim_end().as_bytes());\n                    let _ = stdin.write_all(b\"\\n\\n\");\n                }\n\n                let bat = config.color.enabled && has_command(&config.bat_bin);\n\n                let mut buf = Vec::new();\n                for &pkg in &unseen {\n                    if !has_diff.contains(&pkg) {\n                        let dir = fetch.clone_dir.join(pkg);\n                        let _ = writeln!(stdin, \"{} {}:\", c.action.paint(\"::\"), c.bold.paint(pkg));\n                        print_dir(config, &dir, &dir, &mut stdin, &mut buf, bat, 1)?;\n                    }\n                }\n\n                drop(stdin);\n                exec::wait(&command, &mut child)?;\n                exec::RAISE_SIGPIPE.store(true, Ordering::Relaxed);\n\n                if !ask(config, &tr!(\"Accept changes?\"), true) {\n                    return Status::err(1);\n                }\n            } else {\n                printtr!(\" nothing new to review\");\n            }\n        }\n    }\n\n    fetch.mark_seen(pkgs)?;\n    Ok(())\n}\n\nfn update_aur_list(config: &Config) {\n    let url = config.aur_url.clone();\n    let dir = config.cache_dir.clone();\n    let interval = config.completion_interval;\n\n    tokio::spawn(async move {\n        let _ = update_aur_cache(&url, &dir, Some(interval)).await;\n    });\n}\n\nfn chroot(config: &Config) -> Chroot {\n    let mut chroot = Chroot {\n        #[cfg(not(feature = \"mock_chroot\"))]\n        sudo: config.sudo_bin.clone(),\n        #[cfg(feature = \"mock_chroot\")]\n        sudo: \"sudo\".to_string(),\n        path: config.chroot_dir.clone(),\n        pacman_conf: config\n            .pacman_conf\n            .as_deref()\n            .unwrap_or(\"/etc/pacman.conf\")\n            .to_string(),\n        makepkg_conf: config\n            .makepkg_conf\n            .as_deref()\n            .unwrap_or(\"/etc/makepkg.conf\")\n            .to_string(),\n        mflags: config.mflags.clone(),\n\n        ro: Default::default(),\n        rw: Default::default(),\n        extra_pkgs: config.chroot_pkgs.clone(),\n        root_pkgs: config.root_chroot_pkgs.clone(),\n    };\n\n    if config.args.count(\"d\", \"nodeps\") > 1 {\n        chroot.mflags.push(\"-d\".to_string());\n    }\n\n    chroot\n}\n\nfn trim_dep_ver(dep: &str, trim: bool) -> &str {\n    if trim {\n        dep.split_once(is_ver_char).map_or(dep, |(x, _)| x)\n    } else {\n        dep\n    }\n}\n\nfn check_deps_local<'a>(\n    alpm: &Alpm,\n    missing: &mut Vec<&'a str>,\n    deps: impl Iterator<Item = &'a str>,\n    nover: bool,\n) {\n    let db = alpm.localdb().pkgs();\n\n    for dep in deps {\n        let not_found = db.find_satisfier(trim_dep_ver(dep, nover)).is_none();\n\n        if not_found {\n            missing.push(dep)\n        }\n    }\n}\n\nfn check_deps_sync<'a>(\n    alpm: &Alpm,\n    missing: &mut Vec<&'a str>,\n    deps: impl Iterator<Item = &'a str>,\n    nover: bool,\n) {\n    let db = alpm.syncdbs();\n\n    for dep in deps {\n        let not_found = db.find_satisfier(trim_dep_ver(dep, nover)).is_none();\n\n        if not_found {\n            missing.push(dep)\n        }\n    }\n}\n\nfn supported_deps<'a>(config: &'a Config, deps: &'a ArchVecs) -> impl Iterator<Item = &'a str> {\n    let arch = config.alpm.architectures().first().unwrap_or_default();\n    deps.arch(arch)\n}\n\nfn deps_not_satisfied<'a>(config: &'a Config, base: &'a Base) -> Result<Vec<&'a str>> {\n    let nover = config.args.count(\"d\", \"nodeps\") > 0;\n\n    let alpm = config.new_alpm()?;\n    let mut missing = Vec::new();\n\n    match base {\n        Base::Aur(base) => {\n            for pkg in &base.pkgs {\n                check_deps_local(\n                    &alpm,\n                    &mut missing,\n                    pkg.pkg.depends.iter().map(|s| s.as_str()),\n                    nover,\n                );\n                check_deps_local(\n                    &alpm,\n                    &mut missing,\n                    pkg.pkg.make_depends.iter().map(|s| s.as_str()),\n                    nover,\n                );\n                if !config.no_check {\n                    check_deps_local(\n                        &alpm,\n                        &mut missing,\n                        pkg.pkg.check_depends.iter().map(|s| s.as_str()),\n                        nover,\n                    );\n                }\n            }\n        }\n        Base::Pkgbuild(base) => {\n            check_deps_local(\n                &alpm,\n                &mut missing,\n                supported_deps(config, &base.srcinfo.base.makedepends),\n                nover,\n            );\n            if !config.no_check {\n                check_deps_local(\n                    &alpm,\n                    &mut missing,\n                    supported_deps(config, &base.srcinfo.base.checkdepends),\n                    nover,\n                );\n            }\n\n            for pkg in &base.pkgs {\n                check_deps_local(\n                    &alpm,\n                    &mut missing,\n                    supported_deps(config, &pkg.pkg.depends),\n                    nover,\n                );\n            }\n        }\n    }\n\n    if nover {\n        missing.retain(|dep| {\n            !config\n                .alpm\n                .assume_installed()\n                .iter()\n                .any(|provide| satisfies_provide_nover(Depend::new(*dep), provide))\n        });\n    } else {\n        missing.retain(|dep| {\n            !config\n                .alpm\n                .assume_installed()\n                .iter()\n                .any(|provide| satisfies_provide(Depend::new(*dep), provide))\n        });\n    }\n\n    Ok(missing)\n}\n\nfn deps_not_satisfied_by_repo<'a>(config: &'a Config, base: &'a Base) -> Result<Vec<&'a str>> {\n    let nover = config.args.count(\"d\", \"nodeps\") > 0;\n    let alpm = config.new_alpm()?;\n    let mut missing = Vec::new();\n\n    match base {\n        Base::Aur(base) => {\n            for pkg in &base.pkgs {\n                check_deps_sync(\n                    &alpm,\n                    &mut missing,\n                    pkg.pkg.depends.iter().map(|s| s.as_str()),\n                    nover,\n                );\n                check_deps_sync(\n                    &alpm,\n                    &mut missing,\n                    pkg.pkg.make_depends.iter().map(|s| s.as_str()),\n                    nover,\n                );\n                if !config.no_check {\n                    check_deps_sync(\n                        &alpm,\n                        &mut missing,\n                        pkg.pkg.check_depends.iter().map(|s| s.as_str()),\n                        nover,\n                    );\n                }\n            }\n        }\n        Base::Pkgbuild(base) => {\n            check_deps_sync(\n                &alpm,\n                &mut missing,\n                supported_deps(config, &base.srcinfo.base.makedepends),\n                nover,\n            );\n            if !config.no_check {\n                check_deps_sync(\n                    &alpm,\n                    &mut missing,\n                    supported_deps(config, &base.srcinfo.base.checkdepends),\n                    nover,\n                );\n            }\n\n            for pkg in &base.pkgs {\n                check_deps_sync(\n                    &alpm,\n                    &mut missing,\n                    supported_deps(config, &pkg.pkg.depends),\n                    nover,\n                );\n            }\n        }\n    }\n\n    Ok(missing)\n}\n\npub fn copy_sync_args<'a>(config: &'a Config, args: &mut Args<&'a str>) {\n    config\n        .args\n        .args\n        .iter()\n        .filter(|a| matches!(&*a.key, \"overwrite\" | \"ignore\"))\n        .for_each(|a| args.push(&a.key, a.value.as_deref()));\n\n    config\n        .assume_installed\n        .iter()\n        .for_each(|a| args.push(\"assume-installed\", Some(a.as_str())));\n\n    if config.args.has_arg(\"dbonly\", \"dbonly\") {\n        args.arg(\"dbonly\");\n    }\n\n    for _ in 0..config.args.count(\"d\", \"nodeps\") {\n        args.arg(\"d\");\n    }\n}\n\nfn parse_package_list(\n    config: &Config,\n    dir: &Path,\n    pkgdest: Option<&str>,\n) -> Result<(HashMap<String, String>, String)> {\n    let output = exec::makepkg_output_dest(config, dir, &[\"--packagelist\"], pkgdest)?;\n    let output = String::from_utf8(output.stdout).context(\"pkgdest is not utf8\")?;\n    let mut pkgdests = HashMap::new();\n    let mut version = String::new();\n\n    for line in output.trim().lines() {\n        let file = line.rsplit('/').next().unwrap();\n\n        let split = file.split('-').collect::<Vec<_>>();\n        ensure!(\n            split.len() >= 4,\n            \"{}\",\n            tr!(\"can't find package name in packagelist: {}\", line)\n        );\n\n        // pkgname-pkgver-pkgrel-arch.pkgext\n        // This assumes 3 dashes after the pkgname, Will cause an error\n        // if the PKGEXT contains a dash. Please no one do that.\n        let pkgname = split[..split.len() - 3].join(\"-\");\n        version = split[split.len() - 3..split.len() - 1].join(\"-\");\n        pkgdests.insert(pkgname, line.to_string());\n    }\n\n    Ok((pkgdests, version))\n}\n\nfn needs_build(\n    config: &Config,\n    base: &Base,\n    pkgdest: &HashMap<String, String>,\n    version: &str,\n) -> bool {\n    if (config.rebuild == YesNoAllTree::Yes && base.target()) || config.rebuild != YesNoAllTree::No\n    {\n        return true;\n    }\n\n    if config.args.has_arg(\"needed\", \"needed\") {\n        let mut all_installed = true;\n        let c = config.color;\n\n        if config.repos != LocalRepos::None {\n            let (_, repos) = repo::repo_aur_dbs(config);\n\n            if !base\n                .packages()\n                .filter_map(|p| repos.pkg(p).ok())\n                .any(|p| p.version() == version)\n            {\n                all_installed = false\n            }\n        } else if !base\n            .packages()\n            .filter_map(|p| config.alpm.localdb().pkg(p).ok())\n            .any(|p| p.version() == version)\n        {\n            all_installed = false\n        }\n\n        if all_installed {\n            println!(\n                \"{} {}\",\n                c.warning.paint(\"::\"),\n                tr!(\n                    \"{}-{} is up to date -- skipping\",\n                    base.package_base(),\n                    base.version()\n                )\n            );\n            return false;\n        }\n    }\n\n    !base\n        .packages()\n        .all(|p| Path::new(pkgdest.get(p).unwrap()).exists())\n}\n\nfn sign_pkg(config: &Config, paths: &[&str]) -> Result<()> {\n    if config.sign != Sign::No {\n        let c = config.color;\n        println!(\n            \"{} {}\",\n            c.action.paint(\"::\"),\n            c.bold.paint(tr!(\"Signing packages...\"))\n        );\n\n        for path in paths {\n            let mut cmd = Command::new(\"gpg\");\n            cmd.args([\"--detach-sign\", \"--no-armor\", \"--batch\", \"--yes\"]);\n\n            if let Sign::Key(ref k) = config.sign {\n                cmd.arg(\"-u\").arg(k);\n            }\n\n            let sig = format!(\"{}.sig\", path);\n            cmd.arg(\"--output\").arg(&sig).arg(path);\n\n            exec::command(&mut cmd)?;\n        }\n    }\n\n    Ok(())\n}\n\nfn needs_install(config: &Config, base: &Base, version: &str, pkg: &str) -> bool {\n    if config.args.has_arg(\"needed\", \"needed\") {\n        if let Ok(pkg) = config.alpm.localdb().pkg(pkg) {\n            if pkg.version().as_str() == version {\n                let c = config.color;\n                println!(\n                    \"{} {}\",\n                    c.warning.paint(\"::\"),\n                    tr!(\n                        \"{}-{} is up to date -- skipping install\",\n                        base.package_base(),\n                        base.version()\n                    )\n                );\n                return false;\n            }\n        }\n    }\n\n    true\n}\n\nfn is_ver_char(c: char) -> bool {\n    matches!(c, '<' | '=' | '>')\n}\n"
  },
  {
    "path": "src/keys.rs",
    "content": "use crate::config::Config;\nuse crate::exec::command_status;\nuse crate::exec::{self};\nuse crate::printtr;\nuse crate::util::ask;\n\nuse std::collections::{HashMap, HashSet};\nuse std::process::{Command, Stdio};\n\nuse anyhow::Result;\nuse aur_depends::Actions;\nuse aur_depends::Base;\nuse srcinfo::Srcinfo;\nuse tr::tr;\n\npub fn check_pgp_keys(\n    config: &Config,\n    actions: &Actions,\n    srcinfos: &HashMap<String, Srcinfo>,\n) -> Result<()> {\n    let mut import: HashMap<&str, Vec<&Base>> = HashMap::new();\n    let mut seen = HashSet::new();\n    let c = config.color;\n\n    for base in &actions.build {\n        let srcinfo = match base {\n            Base::Aur(base) => {\n                let pkg = base.package_base();\n                srcinfos.get(pkg).unwrap()\n            }\n            Base::Pkgbuild(base) => base.srcinfo.as_ref(),\n        };\n        for key in &srcinfo.base.valid_pgp_keys {\n            if !seen.insert(key) {\n                continue;\n            }\n\n            let mut cmd = Command::new(&config.gpg_bin);\n            cmd.args(&config.gpg_flags)\n                .arg(\"--list-keys\")\n                .arg(key)\n                .stdin(Stdio::null())\n                .stdout(Stdio::null())\n                .stderr(Stdio::null());\n            let status = command_status(&mut cmd)?;\n\n            if status.success().is_err() {\n                import.entry(key).or_default().push(base);\n            }\n        }\n    }\n\n    if !import.is_empty() {\n        println!(\n            \"{} {}\",\n            c.action.paint(\"::\"),\n            c.bold.paint(tr!(\"keys need to be imported:\"))\n        );\n        for (key, base) in &import {\n            let base = base.iter().map(|s| s.to_string()).collect::<Vec<_>>();\n            printtr!(\n                \"     {key} wanted by: {base}\",\n                key = c.bold.paint(*key),\n                base = base.join(\"  \")\n            );\n        }\n        if ask(config, \"import?\", true) {\n            import_keys(config, &import)?;\n        }\n    }\n\n    Ok(())\n}\n\nfn import_keys(config: &Config, import: &HashMap<&str, Vec<&Base>>) -> Result<()> {\n    let mut cmd = Command::new(&config.gpg_bin);\n    cmd.args(&config.gpg_flags)\n        .arg(\"--recv-keys\")\n        .args(import.keys());\n    exec::command(&mut cmd)\n}\n"
  },
  {
    "path": "src/lib.rs",
    "content": "mod args;\nmod chroot;\nmod clean;\nmod command_line;\nmod completion;\nmod config;\nmod devel;\nmod download;\nmod exec;\nmod fmt;\nmod help;\nmod info;\nmod install;\nmod keys;\nmod news;\nmod order;\nmod pkgbuild;\nmod query;\nmod remove;\nmod repo;\nmod search;\nmod stats;\nmod sync;\nmod upgrade;\nmod util;\n\n#[cfg(feature = \"mock\")]\nmod mock;\nmod resolver;\n\n#[cfg(not(feature = \"mock\"))]\ntype RaurHandle = raur::Handle;\n#[cfg(feature = \"mock\")]\ntype RaurHandle = crate::mock::Mock;\n\n#[macro_use]\nextern crate smart_default;\n\nuse crate::chroot::Chroot;\nuse crate::config::{Config, Op};\nuse crate::exec::has_command;\nuse crate::query::print_upgrade_list;\n\nuse std::env::{self, current_dir};\nuse std::error::Error as StdError;\nuse std::fs::read_to_string;\nuse std::io::Write;\n\nuse std::path::PathBuf;\n\nuse ansiterm::Style;\nuse anyhow::{bail, Error, Result};\nuse cini::Ini;\nuse fmt::print_target;\n\nuse pkgbuild::PkgbuildRepo;\nuse search::{interactive_search, interactive_search_local};\nuse tr::{tr, tr_init};\nuse util::{redirect_to_stderr, reopen_stdout};\n\n#[macro_export]\nmacro_rules! printtr {\n    ($($tail:tt)* ) => {{\n        println!(\"{}\", ::tr::tr!($($tail)*));\n    }};\n}\n\nfn debug_enabled() -> bool {\n    env::var(\"PARU_DEBUG\").as_deref().unwrap_or(\"0\") != \"0\"\n}\n\nfn alpm_debug_enabled() -> bool {\n    debug_enabled() && env::var(\"PARU_ALPM_DEBUG\").is_ok_and(|v| v != \"0\")\n}\n\nfn print_error(color: Style, err: Error) {\n    let backtrace_enabled = match env::var(\"RUST_LIB_BACKTRACE\") {\n        Ok(s) => s != \"0\",\n        Err(_) => match env::var(\"RUST_BACKTRACE\") {\n            Ok(s) => s != \"0\",\n            Err(_) => false,\n        },\n    };\n\n    if backtrace_enabled {\n        let backtrace = err.backtrace();\n        eprint!(\"{}\", backtrace);\n    }\n\n    let mut iter = err.chain().peekable();\n\n    if <dyn StdError>::is::<exec::Status>(*iter.peek().unwrap()) {\n        eprint!(\"{}\", iter.peek().unwrap());\n        return;\n    }\n\n    if <dyn StdError>::is::<install::Status>(*iter.peek().unwrap()) {\n        return;\n    }\n\n    eprint!(\"{} \", color.paint(tr!(\"error:\")));\n    while let Some(link) = iter.next() {\n        eprint!(\"{}\", link);\n        if iter.peek().is_some() {\n            eprint!(\": \");\n        }\n    }\n    eprintln!();\n}\n\npub async fn run<S: AsRef<str>>(args: &[S]) -> i32 {\n    tr_init!(env::var(\"LOCALE_DIR\")\n        .as_deref()\n        .unwrap_or(\"/usr/share/locale/\"));\n    if debug_enabled() {\n        let _ = env_logger::Builder::new()\n            .filter_level(log::LevelFilter::Debug)\n            .format(|buf, record| {\n                writeln!(\n                    buf,\n                    \"{}: <{}:{}> {}\",\n                    record.level().to_string().to_lowercase(),\n                    record.module_path().unwrap_or(\"unknown\"),\n                    record.line().unwrap_or_default(),\n                    record.args()\n                )\n            })\n            .format_timestamp(None)\n            .try_init();\n    }\n\n    let _ = &*exec::DEFAULT_SIGNALS;\n    let _ = &*exec::RAISE_SIGPIPE;\n\n    let mut config = match Config::new() {\n        Ok(config) => config,\n        Err(err) => {\n            let code = if let Some(&install::Status(e)) = err.downcast_ref() {\n                e\n            } else {\n                1\n            };\n            print_error(Style::new(), err);\n            return code;\n        }\n    };\n\n    match run2(&mut config, args).await {\n        Err(err) => {\n            let code = if let Some(&install::Status(e)) = err.downcast_ref() {\n                e\n            } else {\n                1\n            };\n            print_error(Style::new(), err);\n            code\n        }\n        Ok(ret) => ret,\n    }\n}\n\nasync fn run2<S: AsRef<str>>(config: &mut Config, args: &[S]) -> Result<i32> {\n    if let Some(ref config_path) = config.config_path {\n        let file = read_to_string(config_path)?;\n        let name = config_path.display().to_string();\n        config.parse(Some(name.as_str()), &file)?;\n    };\n\n    if args.is_empty() {\n        config.parse_args([\"-Syu\"])?;\n    } else {\n        config.parse_args(args)?;\n    }\n\n    let aur_url = if config.ssh {\n        config\n            .aur_url\n            .to_string()\n            .replacen(\"https://\", \"ssh://aur@\", 1)\n            .parse()\n            .expect(\"change AUR URL schema from HTTPS to SSH\")\n    } else {\n        config.aur_url.clone()\n    };\n\n    config.fetch = aur_fetch::Fetch {\n        git: config.git_bin.clone().into(),\n        git_flags: config.git_flags.clone(),\n        clone_dir: config.build_dir.clone(),\n        diff_dir: config.cache_dir.join(\"diff\"),\n        aur_url,\n    };\n\n    let mut fetch = config.fetch.clone();\n    fetch.clone_dir = config.build_dir.join(\"repo\");\n    fetch.diff_dir = config.cache_dir.join(\"diff/repo\");\n    config.pkgbuild_repos.fetch = fetch;\n\n    log::debug!(\"{:#?}\", config);\n\n    handle_cmd(config).await\n}\n\nasync fn handle_cmd(config: &mut Config) -> Result<i32> {\n    if (config.op == Op::ChrootCtl || config.chroot) && !has_command(\"arch-nspawn\") {\n        bail!(tr!(\"can not use chroot builds: devtools is not installed\"));\n    }\n\n    let ret = match config.op {\n        Op::Database | Op::Files => exec::pacman(config, &config.args)?.code(),\n        Op::Upgrade => handle_upgrade(config).await?,\n        Op::Build => handle_build(config).await?,\n        Op::Query => handle_query(config).await?,\n        Op::Sync => handle_sync(config).await?,\n        Op::Remove => handle_remove(config)?,\n        Op::DepTest => handle_test(config).await?,\n        Op::GetPkgBuild => handle_get_pkg_build(config).await?,\n        Op::Show => handle_show(config).await?,\n        Op::Default => handle_default(config).await?,\n        Op::RepoCtl => handle_repo(config)?,\n        Op::ChrootCtl => handle_chroot(config)?,\n        // _ => bail!(\"unknown op '{}'\", config.op),\n    };\n\n    Ok(ret)\n}\n\nasync fn handle_upgrade(config: &mut Config) -> Result<i32> {\n    if config.targets.is_empty() {\n        let dir = current_dir()?;\n        install::build_dirs(config, vec![dir]).await?;\n        Ok(0)\n    } else {\n        Ok(exec::pacman(config, &config.args)?.code())\n    }\n}\n\nasync fn handle_build(config: &mut Config) -> Result<i32> {\n    if config.targets.is_empty() {\n        bail!(tr!(\"no targets specified (use -h for help)\"));\n    } else {\n        let dirs = config.targets.iter().map(PathBuf::from).collect();\n        install::build_dirs(config, dirs).await?;\n    }\n    Ok(0)\n}\n\nasync fn handle_query(config: &mut Config) -> Result<i32> {\n    let args = &config.args;\n    if args.has_arg(\"s\", \"search\") && config.interactive {\n        let stdout = redirect_to_stderr()?;\n        interactive_search_local(config)?;\n        reopen_stdout(&stdout)?;\n        for pkg in &config.targets {\n            print_target(pkg, config.quiet);\n        }\n        Ok(0)\n    } else if args.has_arg(\"u\", \"upgrades\") {\n        print_upgrade_list(config).await\n    } else {\n        Ok(exec::pacman(config, args)?.code())\n    }\n}\n\nasync fn handle_show(config: &mut Config) -> Result<i32> {\n    if config.news > 0 {\n        news::news(config).await\n    } else if config.complete {\n        Ok(completion::print(config, None).await)\n    } else if config.stats {\n        stats::stats(config).await\n    } else if config.order {\n        order::order(config).await\n    } else {\n        Ok(0)\n    }\n}\n\nasync fn handle_get_pkg_build(config: &mut Config) -> Result<i32> {\n    if config.print {\n        download::show_pkgbuilds(config).await\n    } else if config.comments >= 1 {\n        download::show_comments(config).await\n    } else {\n        download::getpkgbuilds(config).await\n    }\n}\n\nasync fn handle_default(config: &mut Config) -> Result<i32> {\n    if config.gendb {\n        devel::gendb(config).await?;\n        Ok(0)\n    } else if config.clean > 0 {\n        config.need_root = true;\n        let unneeded = util::unneeded_pkgs(config, !config.optional);\n        if !unneeded.is_empty() {\n            let mut args = config.pacman_args();\n            args.remove(\"c\").remove(\"clean\");\n            args.remove(\"o\");\n            args.targets = unneeded;\n            args.op = \"remove\";\n            Ok(exec::pacman(config, &args)?.code())\n        } else {\n            printtr!(\" there is nothing to do\");\n            Ok(0)\n        }\n    } else if !config.targets.is_empty() {\n        config.interactive = true;\n        config.need_root = true;\n        handle_sync(config).await?;\n        Ok(0)\n    } else {\n        bail!(tr!(\"no operation specified (use -h for help)\"));\n    }\n}\n\nfn handle_remove(config: &mut Config) -> Result<i32> {\n    remove::remove(config)\n}\n\nasync fn handle_test(config: &Config) -> Result<i32> {\n    if config.aur_filter {\n        sync::filter(config).await\n    } else {\n        Ok(exec::pacman(config, &config.args)?.code())\n    }\n}\n\nasync fn handle_sync(config: &mut Config) -> Result<i32> {\n    if config.targets.iter().any(|t| t.starts_with(\"./\")) {\n        let repo = PkgbuildRepo::from_cwd(config)?;\n        config.pkgbuild_repos.repos.push(repo);\n    }\n\n    if config.args.has_arg(\"i\", \"info\") {\n        info::info(config, config.args.count(\"i\", \"info\") > 1).await\n    } else if config.args.has_arg(\"c\", \"clean\") {\n        clean::clean(config)?;\n        Ok(0)\n    } else if config.args.has_arg(\"l\", \"list\") {\n        sync::list(config).await\n    } else if config.args.has_arg(\"s\", \"search\") {\n        if config.interactive {\n            let stdout = redirect_to_stderr()?;\n            interactive_search(config, false).await?;\n            reopen_stdout(&stdout)?;\n            for pkg in &config.targets {\n                print_target(pkg, config.quiet);\n            }\n            Ok(1)\n        } else {\n            search::search(config).await\n        }\n    } else if config.args.has_arg(\"g\", \"groups\")\n        || config.args.has_arg(\"p\", \"print\")\n        || config.args.has_arg(\"p\", \"print-format\")\n    {\n        Ok(exec::pacman(config, &config.args)?.code())\n    } else {\n        if config.interactive {\n            search::interactive_search(config, true).await?;\n            if config.targets.is_empty() {\n                return Ok(1);\n            }\n        }\n        let target = std::mem::take(&mut config.targets);\n        install::install(config, &target).await?;\n        Ok(0)\n    }\n}\n\nfn handle_repo(config: &mut Config) -> Result<i32> {\n    let repoc = config.color.sl_repo;\n    let pkgc = config.color.sl_pkg;\n    let version = config.color.sl_version;\n    let installedc = config.color.sl_installed;\n\n    if config.clean >= 1 {\n        repo::clean(config)?;\n        return Ok(0);\n    }\n\n    let (_, repos) = repo::repo_aur_dbs(config);\n    let repos = repos\n        .into_iter()\n        .map(|r| r.name().to_string())\n        .filter(|r| config.delete >= 1 || config.targets.is_empty() || config.targets.contains(r))\n        .collect::<Vec<_>>();\n\n    if config.refresh || config.sysupgrade {\n        repo::refresh(config, &repos)?;\n    }\n\n    repo::delete(config)?;\n\n    if config.refresh || config.sysupgrade {\n        return Ok(0);\n    }\n\n    let (_, mut repos) = repo::repo_aur_dbs(config);\n    repos.retain(|r| {\n        config.delete >= 1\n            || config.targets.is_empty()\n            || config.targets.contains(&r.name().to_string())\n    });\n\n    repo::print(repos, config, repoc, pkgc, version, installedc);\n\n    Ok(0)\n}\n\nfn handle_chroot(config: &Config) -> Result<i32> {\n    let chroot = Chroot {\n        sudo: config.sudo_bin.clone(),\n        path: config.chroot_dir.clone(),\n        pacman_conf: config\n            .pacman_conf\n            .as_deref()\n            .unwrap_or(\"/etc/pacman.conf\")\n            .to_string(),\n        makepkg_conf: config\n            .makepkg_conf\n            .as_deref()\n            .unwrap_or(\"/etc/makepkg.conf\")\n            .to_string(),\n        mflags: config.mflags.clone(),\n        ro: Default::default(),\n        rw: Default::default(),\n        extra_pkgs: config.chroot_pkgs.clone(),\n        root_pkgs: config.root_chroot_pkgs.clone(),\n    };\n\n    if config.print {\n        println!(\"{}\", config.chroot_dir.display());\n        return Ok(0);\n    }\n\n    if !chroot.exists() {\n        chroot.create(config)?;\n    }\n\n    if config.sysupgrade {\n        chroot.update()?;\n    }\n\n    if config.install {\n        let mut args = vec![\"pacman\", \"-S\"];\n        if config.no_confirm {\n            args.push(\"--noconfirm\");\n        }\n        args.extend(config.targets.iter().map(|s| s.as_str()));\n        chroot.run(&args)?;\n    } else if !config.sysupgrade || !config.targets.is_empty() {\n        chroot.run(&config.targets)?;\n    }\n    Ok(0)\n}\n"
  },
  {
    "path": "src/main.rs",
    "content": "use paru::run;\nuse std::process::exit;\n\n#[tokio::main]\nasync fn main() {\n    let args = std::env::args().skip(1).collect::<Vec<_>>();\n    let ret = run(&args).await;\n    exit(ret);\n}\n"
  },
  {
    "path": "src/mock.rs",
    "content": "use std::collections::HashMap;\nuse std::env::var;\nuse std::path::Path;\nuse std::result::Result as StdResult;\n\nuse anyhow::Result;\nuse async_trait::async_trait;\nuse raur::{Error, Package, Raur, SearchBy};\nuse srcinfo::Srcinfo;\n\n#[derive(Debug, Default, Clone)]\npub struct Mock {\n    pkgs: HashMap<String, Package>,\n}\n\nimpl Mock {\n    pub fn new() -> Result<Self> {\n        let mut mock = Mock {\n            pkgs: HashMap::new(),\n        };\n\n        let clone = Path::new(&var(\"CARGO_MANIFEST_DIR\").unwrap()).join(\"testdata/clone\");\n\n        for dir in std::fs::read_dir(clone)? {\n            let dir = dir?;\n\n            let srcinfo = Srcinfo::from_path(dir.path().join(\".SRCINFO\"))?;\n            let base = srcinfo.base;\n\n            for pkg in srcinfo.pkgs {\n                let name = pkg.pkgname;\n                let depends = pkg.depends.any().map(|s| s.to_string()).collect();\n                let make_depends = base.makedepends.any().map(|s| s.to_string()).collect();\n                let check_depends = base.checkdepends.any().map(|s| s.to_string()).collect();\n\n                let pkg = Package {\n                    id: 0,\n                    name: name.clone(),\n                    package_base_id: 0,\n                    package_base: base.pkgbase.clone(),\n                    version: format!(\"{}-{}\", base.pkgver, base.pkgrel),\n                    description: None,\n                    url: None,\n                    num_votes: 0,\n                    popularity: 0.0,\n                    out_of_date: None,\n                    maintainer: None,\n                    first_submitted: 0,\n                    last_modified: 0,\n                    url_path: \"\".into(),\n                    groups: vec![],\n                    depends,\n                    make_depends,\n                    opt_depends: vec![],\n                    check_depends,\n                    conflicts: vec![],\n                    replaces: vec![],\n                    provides: vec![],\n                    license: vec![],\n                    keywords: vec![],\n                    co_maintainers: vec![],\n                    submitter: None,\n                };\n\n                mock.pkgs.insert(name, pkg);\n            }\n        }\n        Ok(mock)\n    }\n\n    pub fn client(&self) -> reqwest::Client {\n        reqwest::Client::new()\n    }\n}\n\n#[async_trait]\nimpl Raur for Mock {\n    type Err = raur::Error;\n\n    async fn raw_info<S: AsRef<str> + Send + Sync>(\n        &self,\n        pkgs: &[S],\n    ) -> StdResult<Vec<Package>, Error> {\n        let mut ret = Vec::new();\n\n        for pkg in pkgs {\n            if let Some(pkg) = self.pkgs.get(pkg.as_ref()) {\n                ret.push(pkg.clone());\n            }\n        }\n\n        Ok(ret)\n    }\n\n    async fn search_by<S: AsRef<str> + Send + Sync>(\n        &self,\n        _pkg: S,\n        _by: SearchBy,\n    ) -> StdResult<Vec<Package>, Error> {\n        unimplemented!()\n    }\n}\n"
  },
  {
    "path": "src/news.rs",
    "content": "use crate::config::Config;\nuse crate::fmt::print_indent;\n\nuse std::str::Chars;\n\nuse ansiterm::Style;\nuse anyhow::{bail, Result};\nuse htmlescape::decode_html;\nuse rss::Channel;\nuse tr::tr;\n\nenum Tag {\n    CodeOpen,\n    CodeClose,\n    PClose,\n    Other,\n}\n\npub fn newest_pkg(config: &Config) -> i64 {\n    let max = config\n        .alpm\n        .localdb()\n        .pkgs()\n        .iter()\n        .map(|p| p.build_date())\n        .max()\n        .unwrap_or_default();\n\n    max\n}\n\npub async fn news(config: &Config) -> Result<i32> {\n    let url = config.arch_url.join(\"feeds/news\")?;\n    let client = config.raur.client();\n\n    let resp = client.get(url.clone()).send().await?;\n    if !resp.status().is_success() {\n        bail!(\"{}: {}\", url, resp.status());\n    }\n    let bytes = resp.bytes().await?;\n    let channel = Channel::read_from(bytes.as_ref())?;\n    let c = config.color;\n\n    let mut printed = false;\n\n    for item in channel.into_items().into_iter().rev() {\n        let date = item.pub_date().unwrap_or_default();\n\n        match chrono::DateTime::parse_from_rfc2822(date) {\n            Ok(date) => {\n                if config.news < 2 && date.timestamp() < newest_pkg(config) {\n                    continue;\n                }\n\n                print!(\"{} \", c.news_date.paint(date.format(\"%F\").to_string()));\n            }\n            Err(_) => print!(\"{}\", tr!(\"No Date \")),\n        }\n\n        let no_title = tr!(\"No Title\");\n        let title = item.title().unwrap_or(no_title.as_str());\n        println!(\"{}\", c.bold.paint(title));\n\n        printed = true;\n        parse_html(config, item.description().unwrap_or_default());\n    }\n\n    if !printed {\n        eprintln!(\"{}\", tr!(\"no new news\"));\n        Ok(1)\n    } else {\n        Ok(0)\n    }\n}\n\nfn parse_html(config: &Config, html: &str) {\n    let code = config.color.code;\n    let mut words = String::with_capacity(html.len());\n\n    let mut chars = html.chars();\n    while let Some(c) = chars.next() {\n        if c == '<' {\n            let tag = parse_tag(&mut chars);\n\n            match tag {\n                Tag::CodeOpen => {\n                    words.push(' ');\n                    words.push_str(&code.prefix().to_string());\n                }\n                Tag::CodeClose => words.push_str(&code.suffix().to_string()),\n                Tag::PClose => words.push('\\n'),\n                Tag::Other => (),\n            }\n        } else {\n            words.push(c);\n        }\n    }\n\n    words.push_str(&code.suffix().to_string());\n    let words = words;\n    let words = decode_html(&words).unwrap_or(words);\n\n    for line in words.lines() {\n        print!(\"    \");\n        let line = line.split_whitespace();\n        print_indent(Style::new(), 4, 4, config.cols, \" \", line);\n    }\n}\n\nfn parse_tag(iter: &mut Chars) -> Tag {\n    if iter.as_str().starts_with(\"code>\") {\n        iter.by_ref().take(5).count();\n        Tag::CodeOpen\n    } else if iter.as_str().starts_with(\"/code>\") {\n        iter.by_ref().take(6).count();\n        Tag::CodeClose\n    } else if iter.as_str().starts_with(\"/p>\") {\n        iter.by_ref().take(3).count();\n        Tag::PClose\n    } else {\n        iter.by_ref().any(|c| c == '>');\n        Tag::Other\n    }\n}\n"
  },
  {
    "path": "src/order.rs",
    "content": "use crate::config::Config;\nuse crate::resolver::flags;\nuse anyhow::Result;\nuse aur_depends::{Actions, Conflict, Package, Resolver};\nuse log::debug;\nuse std::collections::HashSet;\n\npub async fn order(config: &mut Config) -> Result<i32> {\n    let mut cache = HashSet::new();\n    let flags = flags(config);\n\n    let quiet = config.quiet;\n\n    let repos = config.pkgbuild_repos.clone();\n    let repos = repos.aur_depends_repo(config);\n    config.alpm.take_raw_question_cb();\n    let resolver =\n        Resolver::new(&config.alpm, &mut cache, &config.raur, flags).pkgbuild_repos(repos);\n    let mut actions = resolver.resolve_targets(&config.targets).await?;\n    debug!(\"{:#?}\", actions);\n\n    if !quiet {\n        let conflicts = actions.calculate_conflicts(true);\n        let inner_conflicts = actions.calculate_inner_conflicts(true);\n        print_missing(&actions);\n        print_conflicting(conflicts, \"LOCAL\");\n        print_conflicting(inner_conflicts, \"INNER\");\n    }\n    print_install(&actions, quiet);\n    print_build(config, &mut actions, quiet);\n\n    Ok(!actions.missing.is_empty() as i32)\n}\n\nfn print_install(actions: &Actions, quiet: bool) {\n    for pk in &actions.install {\n        if quiet {\n            println!(\"{}\", pk.pkg.name())\n        } else {\n            println!(\n                \"REPO {} {} {}\",\n                get_pkg_type(pk),\n                pk.pkg.db().unwrap().name(),\n                pk.pkg.name()\n            );\n        }\n    }\n}\n\nfn print_build(config: &Config, actions: &mut Actions, quiet: bool) {\n    for build in &actions.build {\n        let base = build.package_base();\n\n        match build {\n            aur_depends::Base::Aur(a) => {\n                for pkg in &a.pkgs {\n                    if quiet {\n                        println!(\"{}\", pkg.pkg.name);\n                    } else {\n                        println!(\"AUR {} {} {}\", get_pkg_type(pkg), base, pkg.pkg.name);\n                    }\n                }\n            }\n            aur_depends::Base::Pkgbuild(c) => {\n                for pkg in &c.pkgs {\n                    if quiet {\n                        println!(\"{}\", pkg.pkg.pkgname);\n                    } else {\n                        // TODO\n                        let path = &config\n                            .pkgbuild_repos\n                            .repo(&c.repo)\n                            .unwrap()\n                            .base(config, c.package_base())\n                            .unwrap()\n                            .path;\n                        println!(\n                            \"SRCINFO {} {} {} {} {}\",\n                            get_pkg_type(pkg),\n                            path.display(),\n                            c.repo,\n                            base,\n                            pkg.pkg.pkgname\n                        );\n                    }\n                }\n            }\n        }\n    }\n}\n\nfn print_missing(actions: &Actions) {\n    for pk in &actions.missing {\n        print!(\"MISSING {}\", pk.dep);\n        for pk in &pk.stack {\n            print!(\" {}\", pk.pkg);\n        }\n        println!();\n    }\n}\n\nfn print_conflicting(conflicts: Vec<Conflict>, type_str: &str) {\n    for conf in conflicts {\n        for conflicting in conf.conflicting {\n            print!(\"CONFLICT {} {} {}\", type_str, conf.pkg, conflicting.pkg,);\n            if let Some(conflict) = conflicting.conflict {\n                print!(\" {}\", conflict)\n            }\n            println!();\n        }\n    }\n}\n\nfn get_pkg_type<T>(pk: &Package<T>) -> &'static str {\n    if pk.target {\n        \"TARGET\"\n    } else if pk.make {\n        \"MAKE\"\n    } else {\n        \"DEP\"\n    }\n}\n"
  },
  {
    "path": "src/pkgbuild.rs",
    "content": "use std::{\n    cell::OnceCell,\n    env::current_dir,\n    fs::{read_dir, File},\n    io::Write,\n    path::{Path, PathBuf},\n    sync::Arc,\n};\n\nuse crate::{download::print_download, exec, install::review};\nuse alpm_utils::Targ;\nuse anyhow::{anyhow, bail, Context, Result};\nuse aur_fetch::Fetch;\nuse indicatif::{ProgressBar, ProgressStyle};\nuse srcinfo::Srcinfo;\nuse tr::tr;\nuse url::Url;\n\nuse crate::{config::Config, print_error};\n\n#[derive(Debug, Default, Clone)]\npub enum RepoSource {\n    Url(Url, Option<PathBuf>),\n    Path(PathBuf),\n    #[default]\n    None,\n}\n\nimpl RepoSource {\n    pub fn url(&self) -> Option<&Url> {\n        match self {\n            RepoSource::Url(url, _) => Some(url),\n            _ => None,\n        }\n    }\n\n    pub fn set_path<P: Into<PathBuf>>(&mut self, p: P) {\n        match self {\n            RepoSource::Url(_, path) => *path = Some(p.into()),\n            _ => *self = RepoSource::Path(p.into()),\n        }\n    }\n\n    pub fn set_url(&mut self, u: Url) {\n        match self {\n            RepoSource::Url(url, _) => *url = u,\n            RepoSource::Path(path) => *self = RepoSource::Url(u, Some(path.clone())),\n            _ => *self = RepoSource::Url(u, None),\n        }\n    }\n}\n\n#[derive(Debug)]\npub struct PkgbuildPkg {\n    pub repo: String,\n    pub srcinfo: Srcinfo,\n    pub path: PathBuf,\n}\n\n#[derive(Default, Debug, Clone)]\npub struct PkgbuildRepo {\n    pub name: String,\n    pub source: RepoSource,\n    pub depth: u32,\n    pub skip_review: bool,\n    pub force_srcinfo: bool,\n    pub path: PathBuf,\n    pkgs: OnceCell<Arc<Vec<PkgbuildPkg>>>,\n}\n\nimpl PkgbuildRepo {\n    pub fn new(name: String, path: PathBuf) -> Self {\n        PkgbuildRepo {\n            depth: 2,\n            path,\n            name,\n            source: RepoSource::None,\n            skip_review: false,\n            force_srcinfo: false,\n            pkgs: OnceCell::new(),\n        }\n    }\n\n    pub fn path(&self) -> Result<PathBuf> {\n        match &self.source {\n            RepoSource::Url(_, Some(path)) => {\n                Ok(self.path.join(path.strip_prefix(\"/\").unwrap_or(path)))\n            }\n            RepoSource::Url(_, None) => Ok(self.path.clone()),\n            RepoSource::Path(path) => Ok(path.clone()),\n            RepoSource::None => bail!(tr!(\"repo {} does not have a URL or Path\")),\n        }\n    }\n\n    pub fn pkgs(&self, config: &Config) -> &[PkgbuildPkg] {\n        self.pkgs\n            .get_or_init(move || Arc::new(self.read_pkgs(config)))\n    }\n\n    pub fn base(&self, config: &Config, base: &str) -> Option<&PkgbuildPkg> {\n        self.pkgs(config)\n            .iter()\n            .find(|p| p.srcinfo.base.pkgbase == base)\n    }\n\n    pub fn pkg(&self, config: &Config, pkg: &str) -> Option<(&PkgbuildPkg, &srcinfo::Package)> {\n        self.pkgs(config)\n            .iter()\n            .find_map(|srcinfo| srcinfo.srcinfo.pkg(pkg).map(|p| (srcinfo, p)))\n    }\n\n    pub fn from_cwd(config: &Config) -> Result<PkgbuildRepo> {\n        let dir = current_dir()?;\n        let repo = PkgbuildRepo {\n            name: \".\".to_string(),\n            source: RepoSource::Path(dir.clone()),\n            depth: 3,\n            skip_review: true,\n            force_srcinfo: false,\n            path: dir,\n            pkgs: Default::default(),\n        };\n\n        repo.pkgs(config);\n        Ok(repo)\n    }\n\n    pub fn from_pkgbuilds(config: &Config, dirs: &[PathBuf]) -> Result<PkgbuildRepo> {\n        let mut pkgs = Vec::new();\n        let mut repo = Self::from_cwd(config)?;\n\n        for dir in dirs {\n            let dir = dir.canonicalize()?;\n            repo.print_generate_srcinfo(config, &dir.file_name().unwrap().to_string_lossy());\n            let srcinfo = read_srcinfo_from_pkgbuild(config, &dir)?;\n            pkgs.push(PkgbuildPkg {\n                repo: repo.name.clone(),\n                srcinfo,\n                path: dir.clone(),\n            });\n        }\n\n        repo.pkgs = OnceCell::from(Arc::new(pkgs));\n        Ok(repo)\n    }\n\n    fn read_pkgs(&self, config: &Config) -> Vec<PkgbuildPkg> {\n        if matches!(self.source, RepoSource::Url(_, _)) && !self.path.join(\".git\").exists() {\n            eprintln!(\n                \"{} {}\",\n                config.color.warning.paint(\"::\"),\n                tr!(\n                    \"repo {} not downloaded (use -Sy --pkgbuilds to download)\",\n                    self.name\n                )\n            );\n        }\n\n        self.for_each_pkgbuild(Vec::new(), |path, data| match self.read_pkg(config, path) {\n            Ok(srcinfo) => data.push(srcinfo),\n            Err(e) => print_error(config.color.error, e),\n        })\n    }\n\n    fn generate_srcinfos(&self, config: &Config) {\n        self.for_each_pkgbuild((), |path, _| {\n            if let Err(e) = self.generate_srcinfo(config, path) {\n                print_error(config.color.error, e);\n            }\n        })\n    }\n\n    fn generate_srcinfo(&self, config: &Config, path: &Path) -> Result<()> {\n        if !self.force_srcinfo && path.join(\".SRCINFO\").exists() {\n            return Ok(());\n        }\n\n        self.print_generate_srcinfo(config, &path.file_name().unwrap().to_string_lossy());\n        let output = exec::makepkg_output(config, path, &[\"--printsrcinfo\"])\n            .context(path.display().to_string());\n        match output {\n            Ok(output) => {\n                let mut file = File::create(path.join(\".SRCINFO\"))?;\n                file.write_all(&output.stdout)?;\n            }\n            Err(e) => {\n                print_error(config.color.error, e);\n            }\n        }\n\n        Ok(())\n    }\n\n    fn print_generate_srcinfo(&self, config: &Config, pkg: &str) {\n        let c = config.color;\n        println!(\n            \"{} {}\",\n            c.action.paint(\"::\"),\n            c.bold.paint(tr!(\n                \"Generating .SRCINFO for {repo}/{dir}...\",\n                repo = self.name,\n                dir = pkg,\n            ))\n        );\n    }\n\n    fn for_each_pkgbuild<T, F: Fn(&Path, &mut T)>(&self, data: T, f: F) -> T {\n        self.try_for_each_pkgbuild(data, |path, data| {\n            f(path, data);\n            Ok(())\n        })\n        .unwrap()\n    }\n\n    fn try_for_each_pkgbuild<T, F: Fn(&Path, &mut T) -> Result<()>>(\n        &self,\n        mut data: T,\n        f: F,\n    ) -> Result<T> {\n        let path = self.path()?;\n        if path.exists() {\n            Self::try_for_each_pkgbuild_internal(&mut data, &f, &path, self.depth)?;\n        }\n        Ok(data)\n    }\n\n    fn try_for_each_pkgbuild_internal<T, F: Fn(&Path, &mut T) -> Result<()>>(\n        data: &mut T,\n        f: &F,\n        path: &Path,\n        depth: u32,\n    ) -> Result<()> {\n        if depth == 0 {\n            return Ok(());\n        }\n\n        //log::debug!(\"for each pkgbuild: {}\", path.display());\n\n        if path.join(\"PKGBUILD\").exists() {\n            f(path, data)?;\n        }\n\n        if depth == 1 {\n            return Ok(());\n        }\n\n        let dir = read_dir(path).context(path.display().to_string())?;\n\n        for entry in dir {\n            let entry = match entry {\n                Ok(entry) => entry,\n                Err(_) => return Ok(()),\n            };\n\n            if entry.file_type()?.is_dir() {\n                Self::try_for_each_pkgbuild_internal(data, f, &entry.path(), depth - 1)?;\n            }\n        }\n\n        Ok(())\n    }\n\n    fn read_pkg(&self, config: &Config, path: &Path) -> Result<PkgbuildPkg> {\n        let srcinfo_path = path.join(\".SRCINFO\");\n\n        if !srcinfo_path.exists() {\n            self.generate_srcinfo(config, path)?;\n        }\n\n        let srcinfo = Srcinfo::from_path(&srcinfo_path);\n        match srcinfo {\n            Ok(srcinfo) => Ok(PkgbuildPkg {\n                repo: self.name.to_string(),\n                srcinfo,\n                path: path.to_path_buf(),\n            }),\n            Err(err) => Err(anyhow!(err).context(tr!(\n                \"failed to parse srcinfo \\\"{}\\\"\",\n                srcinfo_path.display().to_string()\n            ))),\n        }\n    }\n}\n\n#[derive(Debug, Clone)]\npub struct PkgbuildRepos {\n    pub fetch: Fetch,\n    pub repos: Vec<PkgbuildRepo>,\n}\n\nimpl PkgbuildRepos {\n    pub fn new(fetch: Fetch) -> Self {\n        Self {\n            fetch,\n            repos: Vec::new(),\n        }\n    }\n\n    pub fn add_repo(&mut self, name: String) -> &mut PkgbuildRepo {\n        self.repos\n            .push(PkgbuildRepo::new(name.clone(), name.into()));\n        self.repos.last_mut().unwrap()\n    }\n\n    pub fn repo(&self, name: &str) -> Option<&PkgbuildRepo> {\n        self.repos.iter().find(|r| r.name == name)\n    }\n\n    pub fn target(\n        &self,\n        config: &Config,\n        target: Targ,\n    ) -> Option<(&PkgbuildPkg, &srcinfo::Package)> {\n        if let Some(repo) = target.repo {\n            self.repo(repo).and_then(|r| r.pkg(config, target.pkg))\n        } else {\n            self.pkg(config, target.pkg)\n        }\n    }\n\n    pub fn pkg(&self, config: &Config, name: &str) -> Option<(&PkgbuildPkg, &srcinfo::Package)> {\n        self.repos\n            .iter()\n            .flat_map(|r| r.pkgs(config))\n            .find_map(|s| s.srcinfo.pkg(name).map(|p| (s, p)))\n    }\n\n    pub fn repo_mut(&mut self, name: &str) -> Option<&mut PkgbuildRepo> {\n        self.repos.iter_mut().find(|r| r.name == name)\n    }\n\n    pub fn aur_depends_repo(&self, config: &Config) -> Vec<aur_depends::PkgbuildRepo<'_>> {\n        self.repos\n            .iter()\n            .map(|r| aur_depends::PkgbuildRepo {\n                name: &r.name,\n                pkgs: r.pkgs(config).iter().map(|p| &p.srcinfo).collect(),\n            })\n            .collect()\n    }\n\n    pub fn refresh(&self, config: &Config) -> Result<()> {\n        let cols = config.cols.unwrap_or(0);\n        let action = config.color.action;\n        let bold = config.color.bold;\n\n        let repos = self\n            .repos\n            .iter()\n            .filter_map(|r| {\n                r.source\n                    .url()\n                    .map(|u| (r.name.as_str(), u))\n                    .map(|(n, u)| aur_fetch::Repo {\n                        url: u.clone(),\n                        name: n.to_string(),\n                    })\n            })\n            .collect::<Vec<_>>();\n\n        if repos.is_empty() {\n            return Ok(());\n        }\n\n        println!(\n            \"\\n{} {}\",\n            action.paint(\"::\"),\n            bold.paint(tr!(\"Downloading PKGBUILD Repos...\"))\n        );\n\n        if cols < 80 {\n            self.fetch.download_repos_cb(&repos, |cb| {\n                print_download(config, cb.n, repos.len(), cb.pkg);\n            })?;\n        } else {\n            let total = repos.len().to_string();\n            let template = format!(\n                \" ({{pos:>{}}}/{{len}}) {{prefix:45!}} [{{wide_bar}}]\",\n                total.len()\n            );\n            let pb = ProgressBar::new(repos.len() as u64);\n            pb.set_style(\n                ProgressStyle::default_bar()\n                    .template(&template)?\n                    .progress_chars(\"-> \"),\n            );\n\n            self.fetch.download_repos_cb(&repos, |cb| {\n                pb.inc(1);\n                pb.set_prefix(cb.pkg.to_string());\n            })?;\n\n            pb.finish();\n            println!();\n        }\n\n        let review_repos = repos\n            .iter()\n            .filter(|r| {\n                !config\n                    .pkgbuild_repos\n                    .repo(&r.name)\n                    .map(|r| r.skip_review)\n                    .unwrap_or(false)\n            })\n            .map(|r| r.name.as_str())\n            .collect::<Vec<_>>();\n        review(config, &self.fetch, &review_repos)?;\n\n        let all_repos = repos.iter().map(|r| r.name.as_str()).collect::<Vec<_>>();\n        self.fetch.merge(&all_repos)?;\n\n        self.repos.iter().for_each(|r| r.generate_srcinfos(config));\n        Ok(())\n    }\n}\n\npub fn read_srcinfo_from_pkgbuild(config: &Config, dir: &Path) -> Result<Srcinfo> {\n    let output = exec::makepkg_output(config, dir, &[\"--printsrcinfo\"])\n        .with_context(|| dir.display().to_string())?;\n    let srcinfo = Srcinfo::from_buf(output.stdout.as_slice())\n        .context(tr!(\"failed to parse srcinfo generated by makepkg\"))\n        .with_context(|| dir.display().to_string())?;\n    Ok(srcinfo)\n}\n"
  },
  {
    "path": "src/query.rs",
    "content": "use std::collections::HashSet;\n\nuse crate::config::{Config, Mode};\nuse crate::devel::{filter_devel_updates, possible_devel_updates};\nuse crate::exec;\nuse crate::util::split_repo_aur_pkgs;\n\nuse anyhow::Result;\nuse futures::try_join;\nuse raur::{Cache, Raur};\nuse tr::tr;\n\npub async fn print_upgrade_list(config: &mut Config) -> Result<i32> {\n    let mut cache = HashSet::new();\n    let db = config.alpm.localdb();\n    let args = &config.args;\n\n    if args.has_arg(\"n\", \"native\") {\n        config.mode = Mode::REPO;\n    } else if args.has_arg(\"m\", \"foreign\") {\n        config.mode = Mode::AUR | Mode::PKGBUILD;\n    }\n\n    let targets: Vec<_> = if config.targets.is_empty() {\n        db.pkgs().iter().map(|p| p.name()).collect::<Vec<_>>()\n    } else {\n        config.targets.iter().map(|s| s.as_str()).collect()\n    };\n\n    let (repo, aur) = split_repo_aur_pkgs(config, &targets);\n\n    let mut repo_ret = 1;\n    let mut aur_ret = 1;\n\n    if !repo.is_empty() && config.mode.repo() {\n        let mut args = config.pacman_args();\n        args.targets = repo.into_iter().collect();\n        repo_ret = exec::pacman(config, &args)?.code();\n    }\n\n    if !aur.is_empty() && (config.mode.pkgbuild() || config.mode.aur()) {\n        let error = config.color.error;\n\n        for &pkg in &aur {\n            if db.pkg(pkg).is_err() {\n                eprintln!(\n                    \"{} {}\",\n                    error.paint(tr!(\"error:\")),\n                    tr!(\"package '{}' was not found\", pkg)\n                );\n            }\n        }\n\n        let mut args = config.pacman_args();\n        args.remove(\"u\")\n            .remove(\"upgrades\")\n            .remove(\"i\")\n            .remove(\"info\")\n            .arg(\"q\");\n        args.targets = aur.into_iter().collect();\n        let output = exec::pacman_output(config, &args)?;\n        let aur = String::from_utf8(output.stdout)?;\n\n        let mut aur = aur.trim().lines().collect::<Vec<_>>();\n\n        if config.mode.pkgbuild() {\n            aur.retain(|&target| {\n                if !config.mode.aur() {\n                    return false;\n                }\n                if !config.mode.pkgbuild() {\n                    return true;\n                }\n                let local_pkg = db.pkg(target).unwrap();\n\n                if let Some((base, _pkg)) = config.pkgbuild_repos.pkg(config, target) {\n                    if alpm::Version::new(&*base.srcinfo.version()) > local_pkg.version() {\n                        print_upgrade(\n                            config,\n                            target,\n                            local_pkg.version().as_str(),\n                            &base.srcinfo.version(),\n                        );\n                        return false;\n                    }\n                }\n                true\n            });\n        }\n\n        if config.mode.aur() {\n            async fn devel_up(config: &Config) -> Result<Vec<String>> {\n                if config.devel {\n                    let updates = possible_devel_updates(config).await?;\n                    Ok(updates)\n                } else {\n                    Ok(Vec::new())\n                }\n            }\n\n            async fn aur_up(config: &Config, cache: &mut Cache, pkgs: &[&str]) -> Result<()> {\n                config.raur.cache_info(cache, pkgs).await?;\n                Ok(())\n            }\n\n            let (_, devel) = try_join!(aur_up(config, &mut cache, &aur), devel_up(config))?;\n            let devel = filter_devel_updates(config, &mut cache, &devel).await?;\n\n            for target in aur {\n                let local_pkg = db.pkg(target).unwrap();\n                if let Some(pkg) = cache.get(target) {\n                    let devel = devel.iter().any(|d| d.pkg == pkg.name);\n\n                    if alpm::Version::new(&*pkg.version) > local_pkg.version() || devel {\n                        aur_ret = 0;\n\n                        let version = if devel {\n                            \"latest-commit\"\n                        } else {\n                            pkg.version.as_str()\n                        };\n\n                        print_upgrade(config, &pkg.name, local_pkg.version().as_str(), version);\n                    }\n                }\n            }\n        }\n    }\n\n    if repo_ret != 0 && aur_ret != 0 {\n        Ok(1)\n    } else {\n        Ok(0)\n    }\n}\n\nfn print_upgrade(config: &Config, name: &str, local_ver: &str, new_ver: &str) {\n    let bold = config.color.bold;\n    let upgrade = config.color.upgrade;\n\n    if config.args.has_arg(\"q\", \"quiet\") {\n        println!(\"{}\", name);\n    } else {\n        print!(\n            \"{} {} -> {}\",\n            bold.paint(name),\n            upgrade.paint(local_ver),\n            upgrade.paint(new_ver)\n        );\n        if config.alpm.localdb().pkg(name).unwrap().should_ignore() {\n            print!(\"{}\", tr!(\" [ignored]\"));\n        }\n        println!();\n    }\n}\n"
  },
  {
    "path": "src/remove.rs",
    "content": "use crate::devel::{load_devel_info, save_devel_info};\nuse crate::print_error;\nuse crate::search::interactive_search_local;\nuse crate::util::pkg_base_or_name;\nuse crate::Config;\nuse crate::{exec, repo};\n\nuse std::collections::HashMap;\n\nuse anyhow::Result;\n\npub fn remove(config: &mut Config) -> Result<i32> {\n    if config.interactive {\n        interactive_search_local(config)?;\n    }\n\n    let mut devel_info = load_devel_info(config)?.unwrap_or_default();\n    let db = config.alpm.localdb();\n    let bases = config\n        .targets\n        .iter()\n        .filter_map(|pkg| db.pkg(pkg.as_str()).ok())\n        .map(pkg_base_or_name)\n        .collect::<Vec<_>>();\n\n    let mut db_map: HashMap<String, Vec<String>> = HashMap::new();\n    let (_, local_repos) = repo::repo_aur_dbs(config);\n    for pkg in &config.targets {\n        for db in &local_repos {\n            if let Ok(pkg) = db.pkg(pkg.as_str()) {\n                db_map\n                    .entry(db.name().to_string())\n                    .or_default()\n                    .push(pkg.name().to_string());\n            }\n        }\n    }\n\n    let mut ret = exec::pacman(config, &config.args)?.code();\n    if ret != 0 {\n        return Ok(ret);\n    }\n\n    let (_, dbs) = repo::repo_aur_dbs(config);\n\n    for target in bases {\n        devel_info.info.remove(target);\n    }\n\n    drop(dbs);\n\n    if let Err(err) = save_devel_info(config, &devel_info) {\n        print_error(config.color.error, err);\n        ret = 1;\n    }\n\n    Ok(ret)\n}\n"
  },
  {
    "path": "src/repo.rs",
    "content": "use crate::config::{Config, LocalRepos, Sign};\nuse crate::exec::{self, command_status};\nuse crate::fmt::print_indent;\nuse crate::printtr;\nuse crate::util::ask;\n\nuse std::collections::HashMap;\nuse std::env::current_exe;\nuse std::ffi::OsStr;\nuse std::fs::{read_dir, read_link};\nuse std::os::unix::ffi::OsStrExt;\nuse std::path::{Path, PathBuf};\nuse std::process::Command;\n\nuse alpm::{AlpmListMut, Db};\nuse ansiterm::Style;\nuse anyhow::{Context, Error, Result};\nuse nix::unistd::{Gid, Uid, User};\nuse tr::tr;\nuse unicode_width::UnicodeWidthStr;\n\npub fn add<P: AsRef<Path>, S: AsRef<OsStr>>(\n    config: &Config,\n    path: P,\n    name: &str,\n    pkgs: &[S],\n) -> Result<()> {\n    let db = path.as_ref().join(format!(\"{}.db\", name));\n    let name = if db.exists() {\n        if pkgs.is_empty() {\n            return Ok(());\n        }\n        read_link(&db).context(\"readlink\")?\n    } else if !name.contains(\".db.\") {\n        PathBuf::from(format!(\"{}.db.tar.gz\", name))\n    } else {\n        PathBuf::from(name)\n    };\n\n    let path = path.as_ref();\n    let file = path.join(name);\n\n    if !db.exists() {\n        let mut cmd = Command::new(\"install\");\n        cmd.arg(\"-dm755\").arg(path);\n        if exec::command_output(&mut cmd).is_err() {\n            let mut cmd = Command::new(&config.sudo_bin);\n            cmd.arg(\"install\")\n                .arg(\"-dm755\")\n                .arg(\"-o\")\n                .arg(Uid::current().as_raw().to_string())\n                .arg(\"-g\")\n                .arg(Gid::current().as_raw().to_string())\n                .arg(path);\n            exec::command(&mut cmd)?;\n        }\n    }\n\n    let pkgs = pkgs\n        .iter()\n        .map(|p| path.join(Path::new(p.as_ref()).file_name().unwrap()))\n        .collect::<Vec<_>>();\n\n    let mut cmd = Command::new(\"repo-add\");\n\n    if !config.keep_repo_cache {\n        cmd.arg(\"-R\");\n    }\n\n    cmd.arg(file).args(pkgs);\n\n    if config.sign_db != Sign::No {\n        cmd.arg(\"-s\");\n        if let Sign::Key(ref k) = config.sign_db {\n            cmd.arg(\"-k\");\n            cmd.arg(k);\n        }\n    }\n\n    let err = exec::command(&mut cmd);\n\n    let user = User::from_uid(Uid::current()).unwrap().unwrap();\n\n    if err.is_err() {\n        eprintln!(\n            \"Could not add packages to repo:\n    paru now expects local repos to be writable as your user:\n    You should chown/chmod your repos to be writable by you:\n    chown -R {}: {}\",\n            user.name,\n            path.display()\n        );\n    }\n\n    err\n}\n\npub fn remove<P: AsRef<Path>, S: AsRef<OsStr>>(\n    config: &Config,\n    path: P,\n    name: &str,\n    pkgs: &[S],\n) -> Result<()> {\n    let path = path.as_ref();\n    let db = path.join(format!(\"{}.db\", name));\n    if pkgs.is_empty() || !db.exists() {\n        return Ok(());\n    }\n\n    let name = read_link(db)?;\n    let file = path.join(name);\n\n    let mut cmd = Command::new(\"repo-remove\");\n    cmd.arg(file);\n\n    if config.sign_db != Sign::No {\n        cmd.arg(\"-s\");\n        if let Sign::Key(ref k) = config.sign_db {\n            cmd.arg(\"-k\");\n            cmd.arg(k);\n        }\n    }\n\n    cmd.args(pkgs);\n    exec::command(&mut cmd)?;\n\n    Ok(())\n}\n\npub fn init<P: AsRef<Path>>(config: &Config, path: P, name: &str) -> Result<()> {\n    let pkgs: &[&str] = &[];\n    add(config, path, name, pkgs)\n}\n\nfn is_configured_local_db(config: &Config, db: &Db) -> bool {\n    match config.repos {\n        LocalRepos::None => false,\n        LocalRepos::Default => is_local_db(db),\n        LocalRepos::Repo(ref r) => is_local_db(db) && r.iter().any(|r| *r == db.name()),\n    }\n}\n\npub fn file(repo: &Db) -> Option<&str> {\n    repo.servers()\n        .first()\n        .map(|s| s.trim_start_matches(\"file://\"))\n}\n\nfn is_local_db(db: &alpm::Db) -> bool {\n    !db.servers().is_empty() && db.servers().iter().all(|s| s.starts_with(\"file://\"))\n}\n\npub fn repo_aur_dbs(config: &Config) -> (AlpmListMut<&Db>, AlpmListMut<&Db>) {\n    let dbs = config.alpm.syncdbs();\n    let mut aur = dbs.to_list_mut();\n    let mut repo = dbs.to_list_mut();\n    aur.retain(|db| is_configured_local_db(config, db));\n    repo.retain(|db| !is_configured_local_db(config, db));\n    (repo, aur)\n}\n\npub fn delete(config: &mut Config) -> Result<(), Error> {\n    let (_, mut repos) = repo_aur_dbs(config);\n    repos.retain(|r| {\n        config.delete >= 1\n            || config.uninstall\n            || config.targets.is_empty()\n            || config.targets.contains(&r.name().to_string())\n    });\n\n    if config.delete >= 1 {\n        let mut rm = HashMap::<&str, Vec<&str>>::new();\n        let mut rmfiles = Vec::new();\n        for repo in &repos {\n            for pkg in repo.pkgs() {\n                if config.targets.iter().any(|p| p == pkg.name()) {\n                    rm.entry(repo.name()).or_default().push(pkg.name());\n                }\n            }\n        }\n\n        let cb = config.alpm.take_raw_log_cb();\n        for repo in &repos {\n            if let Some(pkgs) = rm.get(&repo.name()) {\n                let path = repo\n                    .servers()\n                    .first()\n                    .unwrap()\n                    .trim_start_matches(\"file://\");\n                remove(config, path, repo.name(), pkgs)?;\n\n                let files = read_dir(path)?;\n\n                for file in files {\n                    let file = file?;\n                    if let Ok(pkg) = config.alpm.pkg_load(\n                        file.path().as_os_str().as_bytes(),\n                        false,\n                        alpm::SigLevel::NONE,\n                    ) {\n                        if pkgs.contains(&pkg.name()) {\n                            rmfiles.push(file.path());\n\n                            let mut sig = file.path().to_path_buf().into_os_string();\n                            sig.push(\".sig\");\n                            let sig = PathBuf::from(sig);\n                            if sig.exists() {\n                                rmfiles.push(sig);\n                            }\n                        }\n                    }\n                }\n            }\n        }\n        config.alpm.set_raw_log_cb(cb);\n\n        if !rmfiles.is_empty() {\n            let mut cmd = Command::new(&config.sudo_bin);\n            cmd.arg(\"rm\").args(rmfiles);\n            exec::command(&mut cmd)?;\n        }\n\n        let repos = repos\n            .into_iter()\n            .map(|r| r.name().to_string())\n            .collect::<Vec<_>>();\n        refresh(config, &repos)?;\n\n        if config.delete >= 2 {\n            config.need_root = true;\n            let db = config.alpm.localdb();\n            let pkgs = config\n                .targets\n                .iter()\n                .map(|p| p.as_str())\n                .filter(|p| db.pkg(*p).is_ok());\n\n            let mut args = config.pacman_globals();\n            args.op(\"remove\");\n            args.targets = pkgs.collect();\n            if !args.targets.is_empty() {\n                exec::pacman(config, &args)?.success()?;\n            }\n        }\n\n        return Ok(());\n    }\n\n    Ok(())\n}\n\npub fn refresh<S: AsRef<OsStr>>(config: &mut Config, repos: &[S]) -> Result<i32> {\n    let exe = current_exe().context(tr!(\"failed to get current exe\"))?;\n    let c = config.color;\n\n    let mut dbs = config.alpm.syncdbs().to_list_mut();\n\n    dbs.retain(|db| is_local_db(db));\n\n    if !repos.is_empty() {\n        dbs.retain(|db| repos.iter().any(|r| r.as_ref() == db.name()));\n    }\n\n    for db in dbs {\n        let path = file(db);\n        if let Some(path) = path {\n            init(config, path, db.name())?;\n        }\n    }\n\n    if !nix::unistd::getuid().is_root() && !cfg!(feature = \"mock\") {\n        let mut cmd = Command::new(&config.sudo_bin);\n\n        cmd.arg(exe);\n\n        if let Some(ref conf) = config.pacman_conf {\n            cmd.arg(\"--config\").arg(conf);\n        }\n\n        cmd.arg(\"--dbpath\")\n            .arg(config.alpm.dbpath())\n            .arg(\"-Ly\")\n            .args(repos);\n\n        return Ok(command_status(&mut cmd)?.code());\n    }\n\n    let mut dbs = config.alpm.syncdbs_mut().to_list_mut();\n    dbs.retain(|db| is_local_db(db));\n\n    if !repos.is_empty() {\n        dbs.retain(|db| repos.iter().any(|r| r.as_ref() == db.name()));\n    }\n\n    println!(\n        \"{} {}\",\n        c.action.paint(\"::\"),\n        c.bold.paint(tr!(\"syncing local databases...\"))\n    );\n\n    if !dbs.is_empty() {\n        dbs.list().update(cfg!(feature = \"mock\"))?;\n    } else {\n        printtr!(\"  nothing to do\");\n    }\n\n    Ok(0)\n}\n\npub fn clean(config: &mut Config) -> Result<i32> {\n    let c = config.color;\n    let (_, repos) = repo_aur_dbs(config);\n    let repo_names = repos\n        .iter()\n        .map(|r| r.name().to_string())\n        .collect::<Vec<_>>();\n    drop(repos);\n    refresh(config, &repo_names)?;\n    let (_, repos) = repo_aur_dbs(config);\n    let db = config.alpm.localdb();\n\n    let mut rem = repos\n        .iter()\n        .map(|repo| {\n            repo.pkgs()\n                .iter()\n                .filter(|pkg| db.pkg(pkg.name()).is_err())\n                .collect::<Vec<_>>()\n        })\n        .collect::<Vec<_>>();\n    rem.retain(|r| !r.is_empty());\n    drop(repos);\n\n    if rem.is_empty() {\n        printtr!(\"there is nothing to do\");\n        return Ok(0);\n    }\n\n    println!();\n    let count = rem.iter().fold(0, |acc, r| acc + r.len());\n    let fmt = format!(\"{} ({}) \", tr!(\"Packages\"), count);\n    let start = fmt.width();\n    print!(\"{}\", c.bold.paint(fmt));\n    print_indent(\n        Style::new(),\n        start,\n        4,\n        config.cols,\n        \"  \",\n        rem.iter().flatten().map(|p| p.name()),\n    );\n\n    println!();\n    if !ask(config, &tr!(\"Proceed with removal?\"), true) {\n        return Ok(1);\n    }\n\n    for pkgs in &rem {\n        let repo = pkgs[0].db().unwrap();\n        let path = file(repo).unwrap();\n        let pkgs = pkgs.iter().map(|p| p.name()).collect::<Vec<_>>();\n        remove(config, path, repo.name(), &pkgs)?;\n    }\n\n    let mut rmfiles = Vec::new();\n\n    for pkg in rem.iter().flatten() {\n        let repo = pkg.db().unwrap();\n        let path = file(repo).unwrap();\n        let pkgfile = Path::new(path).join(pkg.filename().unwrap());\n        rmfiles.push(pkgfile);\n    }\n\n    if !rmfiles.is_empty() {\n        let mut cmd = Command::new(&config.sudo_bin);\n        cmd.arg(\"rm\").args(rmfiles);\n        exec::command(&mut cmd)?;\n    }\n\n    let (_, repos) = repo_aur_dbs(config);\n    let repo_names = repos\n        .iter()\n        .map(|r| r.name().to_string())\n        .collect::<Vec<_>>();\n    drop(repos);\n    refresh(config, &repo_names)?;\n\n    Ok(0)\n}\n\npub fn print(\n    repos: AlpmListMut<&alpm::Db>,\n    config: &Config,\n    repoc: Style,\n    pkgc: Style,\n    version: Style,\n    installedc: Style,\n) {\n    for repo in repos {\n        if config.list {\n            for pkg in repo.pkgs() {\n                if config.quiet {\n                    println!(\"{}\", pkg.name());\n                } else {\n                    print!(\n                        \"{} {} {}\",\n                        repoc.paint(repo.name()),\n                        pkgc.paint(pkg.name()),\n                        version.paint(pkg.version().as_str())\n                    );\n                    let local_pkg = config.alpm.localdb().pkg(pkg.name());\n\n                    if let Ok(local_pkg) = local_pkg {\n                        let installed = if local_pkg.version() != pkg.version() {\n                            tr!(\" [installed: {}]\", local_pkg.version())\n                        } else {\n                            tr!(\" [installed]\")\n                        };\n                        print!(\"{}\", installedc.paint(installed));\n                    }\n                    println!();\n                }\n            }\n        } else if config.quiet {\n            println!(\"{}\", repo.name());\n        } else {\n            println!(\n                \"{} {}\",\n                repo.name(),\n                repo.servers()\n                    .first()\n                    .unwrap()\n                    .trim_start_matches(\"file://\")\n            );\n        }\n    }\n}\n"
  },
  {
    "path": "src/resolver.rs",
    "content": "use crate::config::{Alpm, Config, LocalRepos, YesNoAll, YesNoAllTree};\nuse crate::fmt::color_repo;\nuse crate::util::{get_provider, NumberMenu};\nuse crate::RaurHandle;\n\nuse std::io::{stdin, stdout, BufRead, Write};\n\nuse aur_depends::{Flags, PkgbuildRepo, Resolver};\nuse raur::Cache;\nuse tr::tr;\n\npub fn flags(config: &mut Config) -> aur_depends::Flags {\n    let mut flags = Flags::new();\n\n    if config.args.has_arg(\"needed\", \"needed\") {\n        flags |= Flags::NEEDED;\n    }\n    if config.args.count(\"u\", \"sysupgrade\") > 1 {\n        flags |= Flags::ENABLE_DOWNGRADE;\n    }\n    if config.args.count(\"d\", \"nodeps\") > 0 {\n        flags |= Flags::NO_DEP_VERSION;\n        config.mflags.push(\"-d\".to_string());\n    }\n    if config.args.count(\"d\", \"nodeps\") > 1 {\n        flags |= Flags::NO_DEPS;\n    }\n    if config.no_check {\n        flags.remove(Flags::CHECK_DEPENDS);\n    }\n    if !config.mode.pkgbuild() {\n        flags &= !Flags::PKGBUILDS;\n    }\n    if !config.mode.aur() {\n        flags &= !Flags::AUR;\n    }\n    if !config.mode.repo() {\n        flags &= !Flags::REPO;\n    }\n    match config.provides {\n        YesNoAll::Yes => flags |= Flags::TARGET_PROVIDES | Flags::MISSING_PROVIDES,\n        YesNoAll::No => flags.remove(\n            Flags::PROVIDES\n                | Flags::MISSING_PROVIDES\n                | Flags::TARGET_PROVIDES\n                | Flags::NON_TARGET_PROVIDES,\n        ),\n        YesNoAll::All => flags |= Flags::PROVIDES,\n    }\n    if config.interactive {\n        flags.remove(Flags::TARGET_PROVIDES);\n    }\n    if config.repos != LocalRepos::None || config.rebuild == YesNoAllTree::Tree || config.chroot {\n        flags |= Flags::RESOLVE_SATISFIED_PKGBUILDS;\n    }\n\n    log::debug!(\"AUR depends flags: {:?}\", flags);\n    flags\n}\n\npub fn resolver<'a, 'b>(\n    config: &Config,\n    alpm: &'a Alpm,\n    raur: &'b RaurHandle,\n    cache: &'b mut Cache,\n    pkgbuild_repos: Vec<PkgbuildRepo<'a>>,\n    flags: Flags,\n) -> Resolver<'a, 'b, RaurHandle> {\n    let devel_suffixes = config.devel_suffixes.clone();\n    let c = config.color;\n    let no_confirm = config.no_confirm;\n\n    let mut resolver = aur_depends::Resolver::new(alpm, cache, raur, flags)\n        .pkgbuild_repos(pkgbuild_repos)\n        .custom_aur_namespace(Some(config.aur_namespace().to_string()))\n        .is_devel(move |pkg| devel_suffixes.iter().any(|suff| pkg.ends_with(suff)))\n        .group_callback(move |groups| {\n            let total: usize = groups.iter().map(|g| g.group.packages().len()).sum();\n            let mut pkgs = Vec::new();\n            println!(\n                \"{} {} {}:\",\n                c.action.paint(\"::\"),\n                c.bold.paint(tr!(\"There are {} members in group\", total)),\n                c.group.paint(groups[0].group.name()),\n            );\n\n            let mut repo = String::new();\n\n            for group in groups {\n                if group.db.name() != repo {\n                    repo = group.db.name().to_string();\n                    println!(\n                        \"{} {} {}\",\n                        c.action.paint(\"::\"),\n                        c.bold.paint(tr!(\"Repository\")),\n                        color_repo(c.enabled, group.db.name())\n                    );\n                    print!(\"    \");\n                }\n\n                let mut n = 1;\n                for pkg in group.group.packages() {\n                    print!(\"{}) {}  \", n, pkg.name());\n                    n += 1;\n                }\n            }\n\n            print!(\"{}\", tr!(\"\\n\\nEnter a selection (default=all): \"));\n            let _ = stdout().lock().flush();\n\n            let stdin = stdin();\n            let mut stdin = stdin.lock();\n            let mut input = String::new();\n\n            input.clear();\n            if !no_confirm {\n                let _ = stdin.read_line(&mut input);\n            }\n\n            let menu = NumberMenu::new(input.trim());\n            let mut n = 1;\n\n            for pkg in groups.iter().flat_map(|g| g.group.packages()) {\n                if menu.contains(n, \"\") {\n                    pkgs.push(pkg);\n                }\n                n += 1;\n            }\n\n            pkgs\n        });\n\n    if !config.args.has_arg(\"u\", \"sysupgrade\") {\n        resolver = resolver.provider_callback(move |dep, pkgs| {\n            let prompt = tr!(\n                \"There are {n} providers available for {pkg}:\",\n                n = pkgs.len(),\n                pkg = dep\n            );\n            println!(\"{} {}\", c.action.paint(\"::\"), c.bold.paint(prompt));\n            println!(\n                \"{} {} {}:\",\n                c.action.paint(\"::\"),\n                c.bold.paint(tr!(\"Repository\")),\n                color_repo(c.enabled, \"AUR\")\n            );\n            print!(\"    \");\n            for (n, pkg) in pkgs.iter().enumerate() {\n                print!(\"{}) {}  \", n + 1, pkg);\n            }\n\n            get_provider(pkgs.len(), no_confirm)\n        });\n    }\n\n    resolver\n}\n"
  },
  {
    "path": "src/search.rs",
    "content": "use std::path::Path;\n\nuse crate::config::SortBy;\nuse crate::config::{Config, SortMode};\nuse crate::fmt::{color_repo, link_str, print_indent};\nuse crate::util::{input, is_arch_repo, NumberMenu};\nuse crate::{info, printtr};\n\nuse ansiterm::Style;\nuse anyhow::{ensure, Context, Result};\nuse flate2::read::GzDecoder;\nuse indicatif::HumanBytes;\nuse raur::{Raur, SearchBy};\nuse regex::RegexSet;\nuse reqwest::get;\nuse srcinfo::Srcinfo;\nuse tr::tr;\n\n#[derive(Debug)]\npub enum AnyPkg<'a> {\n    RepoPkg(&'a alpm::Package),\n    AurPkg(&'a raur::Package),\n    Custom(&'a str, &'a Srcinfo, &'a srcinfo::Package),\n}\n\npub async fn search(config: &Config) -> Result<i32> {\n    let quiet = config.args.has_arg(\"q\", \"quiet\");\n\n    let repo_pkgs = search_repos(config, &config.targets)?;\n\n    let targets = config\n        .targets\n        .iter()\n        .map(|t| t.to_lowercase())\n        .collect::<Vec<_>>();\n\n    let custom_pkgs = search_pkgbuilds(config, &targets)?;\n\n    let pkgs = search_aur(config, &targets)\n        .await\n        .context(tr!(\"aur search failed\"))?;\n\n    let print_custom = || {\n        for (repo, srcinfo, pkg) in &custom_pkgs {\n            let path = &config\n                .pkgbuild_repos\n                .repo(repo)\n                .unwrap()\n                .base(config, &srcinfo.base.pkgbase)\n                .unwrap()\n                .path;\n            print_pkgbuild_pkg(config, repo, path, srcinfo, pkg, quiet);\n        }\n    };\n\n    if config.sort_mode == SortMode::TopDown {\n        for pkg in &repo_pkgs {\n            print_alpm_pkg(config, pkg, quiet);\n        }\n        print_custom();\n        for pkg in &pkgs {\n            print_pkg(config, pkg, quiet)\n        }\n    } else {\n        for pkg in pkgs.iter().rev() {\n            print_pkg(config, pkg, quiet)\n        }\n        print_custom();\n        for pkg in repo_pkgs.iter().rev() {\n            print_alpm_pkg(config, pkg, quiet);\n        }\n    }\n\n    Ok((repo_pkgs.is_empty() && pkgs.is_empty()) as i32)\n}\n\nfn search_pkgbuilds<'a>(\n    config: &'a Config,\n    targets: &[String],\n) -> Result<Vec<(&'a str, &'a Srcinfo, &'a srcinfo::Package)>> {\n    if !config.mode.pkgbuild() {\n        return Ok(Vec::new());\n    }\n\n    let regex = RegexSet::new(targets)?;\n    let mut ret = Vec::new();\n\n    for repo in &config.pkgbuild_repos.repos {\n        for base in repo.pkgs(config) {\n            let base = &base.srcinfo;\n            for pkg in &base.pkgs {\n                if targets.is_empty()\n                    || regex.is_match(&base.base.pkgbase)\n                    || regex.is_match(&pkg.pkgname)\n                    || pkg.pkgdesc.iter().any(|d| regex.is_match(d))\n                    || pkg\n                        .provides\n                        .iter()\n                        .flat_map(|p| p.values())\n                        .any(|p| regex.is_match(p))\n                    || pkg.groups.iter().any(|g| regex.is_match(g))\n                {\n                    ret.push((repo.name.as_str(), base, pkg))\n                }\n            }\n        }\n    }\n\n    Ok(ret)\n}\n\nfn search_local<'a>(config: &'a Config, targets: &[String]) -> Result<Vec<&'a alpm::Package>> {\n    let mut ret = Vec::new();\n\n    if targets.is_empty() {\n        ret.extend(config.alpm.localdb().pkgs());\n    } else {\n        let pkgs = config.alpm.localdb().search(targets.iter())?;\n        ret.extend(pkgs);\n    };\n\n    if config.limit != 0 {\n        ret.truncate(config.limit);\n    }\n\n    Ok(ret)\n}\n\nfn search_repos<'a>(config: &'a Config, targets: &[String]) -> Result<Vec<&'a alpm::Package>> {\n    if targets.is_empty() || !config.mode.repo() {\n        return Ok(Vec::new());\n    }\n\n    let mut ret = Vec::new();\n\n    for db in config.alpm.syncdbs() {\n        let pkgs = db.search(targets.iter())?;\n        ret.extend(pkgs);\n    }\n\n    if config.limit != 0 {\n        ret.truncate(config.limit);\n    }\n\n    Ok(ret)\n}\n\nasync fn search_target(config: &Config, targets: &mut Vec<String>) -> Result<Vec<raur::Package>> {\n    let by = config.search_by;\n    let mut pkgs = Ok(Vec::new());\n    let mut index = 0;\n\n    for (i, target) in targets.iter().enumerate() {\n        index = i;\n        pkgs = config.raur.search_by(target, by).await;\n        if !matches!(pkgs, Err(raur::Error::Aur(_))) {\n            break;\n        }\n    }\n\n    if pkgs.is_ok() {\n        targets.remove(index);\n    }\n\n    Ok(pkgs?)\n}\n\nasync fn search_aur_regex(config: &Config, targets: &[String]) -> Result<Vec<raur::Package>> {\n    let url = config.aur_url.join(\"packages.gz\")?;\n    let resp = get(url.clone())\n        .await\n        .with_context(|| format!(\"get {}\", url))?;\n    let success = resp.status().is_success();\n    ensure!(success, \"get {}: {}\", url, resp.status());\n\n    let data = resp.bytes().await?;\n    let decoder = GzDecoder::new(&*data);\n    let data =\n        std::io::read_to_string(decoder).with_context(|| tr!(\"failed to decode package list\"))?;\n\n    let regex = RegexSet::new(targets)?;\n\n    let pkgs = data\n        .lines()\n        .filter(|pkg| regex.is_match(pkg))\n        .collect::<Vec<_>>();\n    ensure!(pkgs.len() < 2000, \"too many packages\");\n    let pkgs = config.raur.info(&pkgs).await?;\n    Ok(pkgs)\n}\n\nasync fn search_aur(config: &Config, targets: &[String]) -> Result<Vec<raur::Package>> {\n    if targets.is_empty() || !config.mode.aur() {\n        return Ok(Vec::new());\n    }\n\n    let mut matches = if config.args.has_arg(\"x\", \"regex\") {\n        search_aur_regex(config, targets).await?\n    } else {\n        let mut targets = targets.iter().map(|t| t.to_lowercase()).collect::<Vec<_>>();\n        targets.sort_by_key(|t| t.len());\n\n        let mut matches = Vec::new();\n\n        let by = config.search_by;\n\n        if by == SearchBy::NameDesc {\n            let pkgs = search_target(config, &mut targets).await?;\n            matches.extend(pkgs);\n            matches.retain(|p| {\n                let name = p.name.to_lowercase();\n                let description = p\n                    .description\n                    .as_ref()\n                    .map(|s| s.to_lowercase())\n                    .unwrap_or_default();\n                targets\n                    .iter()\n                    .all(|t| name.contains(t) | description.contains(t))\n            });\n        } else if by == SearchBy::Name {\n            let pkgs = search_target(config, &mut targets).await?;\n            matches.extend(pkgs);\n            matches.retain(|p| targets.iter().all(|t| p.name.to_lowercase().contains(t)));\n        } else {\n            for target in targets {\n                let pkgs = config.raur.search_by(target, by).await?;\n                matches.extend(pkgs);\n            }\n        }\n\n        matches\n    };\n\n    match config.sort_by {\n        SortBy::Votes => matches.sort_by(|a, b| b.num_votes.cmp(&a.num_votes)),\n        SortBy::Popularity => {\n            matches.sort_by(|a, b| b.popularity.partial_cmp(&a.popularity).unwrap())\n        }\n        SortBy::Id => matches.sort_by_key(|p| p.id),\n        SortBy::Name => matches.sort_by(|a, b| a.name.cmp(&b.name)),\n        SortBy::Base => matches.sort_by(|a, b| a.package_base.cmp(&b.package_base)),\n        SortBy::Submitted => matches.sort_by_key(|p| p.first_submitted),\n        SortBy::Modified => matches.sort_by_key(|p| p.last_modified),\n        _ => (),\n    }\n\n    if config.limit != 0 {\n        matches.truncate(config.limit);\n    }\n\n    Ok(matches)\n}\n\nfn print_pkgbuild_pkg(\n    config: &Config,\n    repo: &str,\n    path: &Path,\n    srcinfo: &Srcinfo,\n    pkg: &srcinfo::Package,\n    quiet: bool,\n) {\n    if quiet {\n        println!(\"{}\", pkg.pkgname);\n        return;\n    }\n\n    let c = config.color;\n\n    let name = if let Some(url) = &pkg.url {\n        link_str(c.enabled, &c.ss_name.paint(&pkg.pkgname), url)\n    } else {\n        c.ss_name.paint(&pkg.pkgname).to_string()\n    };\n\n    print!(\n        \"{}/{} {}\",\n        color_repo(c.enabled, repo),\n        name,\n        c.ss_ver.paint(srcinfo.version()),\n    );\n\n    if let Ok(repo_pkg) = config.alpm.localdb().pkg(&*pkg.pkgname) {\n        let installed = if repo_pkg.version().as_str() != srcinfo.version() {\n            tr!(\"[installed: {}]\", repo_pkg.version())\n        } else {\n            tr!(\"[installed]\")\n        };\n\n        print!(\" {}\", c.ss_installed.paint(installed));\n    }\n\n    let none = tr!(\"None\");\n    print!(\"\\n    \");\n    let desc = pkg.pkgdesc.as_deref().unwrap_or(&none).split_whitespace();\n    print_indent(Style::new(), 4, 4, config.cols, \" \", desc);\n\n    if config.args.count(\"s\", \"search\") > 1 {\n        info::print(c, 14, config.cols, \"    Path\", &path.display().to_string());\n    }\n}\n\nfn print_pkg(config: &Config, pkg: &raur::Package, quiet: bool) {\n    if quiet {\n        println!(\"{}\", pkg.name);\n        return;\n    }\n\n    let c = config.color;\n    let stats = format!(\"+{} ~{:.2}\", pkg.num_votes, pkg.popularity);\n\n    let aur = color_repo(c.enabled, \"aur\");\n    let aur = if let Ok(url) = config.aur_url.join(&format!(\"packages/{}\", pkg.name)) {\n        link_str(c.enabled, &aur, url.as_str())\n    } else {\n        aur\n    };\n    let name = if let Some(url) = &pkg.url {\n        link_str(c.enabled, &c.ss_name.paint(&pkg.name), url)\n    } else {\n        c.ss_name.paint(&pkg.name).to_string()\n    };\n    print!(\n        \"{}/{} {} [{}]\",\n        color_repo(c.enabled, &aur),\n        c.ss_name.paint(name),\n        c.ss_ver.paint(&pkg.version),\n        c.ss_stats.paint(stats),\n    );\n\n    if let Some(date) = pkg.out_of_date {\n        let date = tr!(\"[out-of-date: {}]\", crate::fmt::ymd(date));\n        print!(\" {}\", c.ss_ood.paint(date));\n    }\n\n    if let Ok(repo_pkg) = config.alpm.localdb().pkg(&*pkg.name) {\n        let installed = if repo_pkg.version().as_str() != pkg.version {\n            tr!(\"[installed: {}]\", repo_pkg.version())\n        } else {\n            tr!(\"[installed]\")\n        };\n\n        print!(\" {}\", c.ss_installed.paint(installed));\n    }\n\n    if pkg.maintainer.is_none() {\n        print!(\" {}\", c.ss_orphaned.paint(tr!(\"[orphaned]\")));\n    }\n\n    let none = tr!(\"None\");\n    print!(\"\\n    \");\n    let desc = pkg\n        .description\n        .as_deref()\n        .unwrap_or(&none)\n        .split_whitespace();\n    print_indent(Style::new(), 4, 4, config.cols, \" \", desc);\n\n    if config.args.count(\"s\", \"search\") > 1 {\n        if let Some(ref url) = pkg.url {\n            info::print(c, 14, config.cols, \"    URL\", url);\n        }\n\n        let aur_url = format!(\"{}packages/{}\", config.aur_url, pkg.package_base);\n        info::print(c, 14, config.cols, \"    AUR URL\", aur_url.as_str());\n    }\n}\n\nfn print_alpm_pkg(config: &Config, pkg: &alpm::Package, quiet: bool) {\n    if quiet {\n        println!(\"{}\", pkg.name());\n        return;\n    }\n\n    let c = config.color;\n    let stats = format!(\n        \"{} {}\",\n        HumanBytes(pkg.download_size() as u64),\n        HumanBytes(pkg.isize() as u64)\n    );\n    let ver: &str = pkg.version().as_ref();\n    let mut repo = color_repo(c.enabled, pkg.db().unwrap().name());\n    if is_arch_repo(pkg.db().unwrap().name()) {\n        if let Ok(url) = config.arch_url.join(&format!(\n            \"packages/{}/{}/{}/\",\n            pkg.db().unwrap().name(),\n            pkg.arch().unwrap_or(\"any\"),\n            pkg.name()\n        )) {\n            repo = link_str(c.enabled, &repo, url.as_str());\n        }\n    }\n\n    let name = if let Some(url) = pkg.url() {\n        link_str(c.enabled, &c.ss_name.paint(pkg.name()), url)\n    } else {\n        c.ss_name.paint(pkg.name()).to_string()\n    };\n\n    print!(\n        \"{}/{} {} [{}]\",\n        color_repo(c.enabled, &repo),\n        c.ss_name.paint(name),\n        c.ss_ver.paint(ver),\n        c.ss_stats.paint(stats),\n    );\n\n    if let Ok(repo_pkg) = config.alpm.localdb().pkg(pkg.name()) {\n        let installed = if repo_pkg.version() != pkg.version() {\n            tr!(\"[installed: {}]\", repo_pkg.version())\n        } else {\n            tr!(\"[installed]\")\n        };\n\n        print!(\" {}\", c.ss_installed.paint(installed));\n    }\n\n    if !pkg.groups().is_empty() {\n        print!(\" {}\", c.ss_orphaned.paint(\"(\"));\n        print!(\"{}\", c.ss_orphaned.paint(pkg.groups().first().unwrap()));\n        for group in pkg.groups().iter().skip(1) {\n            print!(\" {}\", c.ss_orphaned.paint(group));\n        }\n        print!(\"{}\", c.ss_orphaned.paint(\")\"));\n    }\n\n    print!(\"\\n    \");\n    let desc = pkg.desc();\n    let desc = desc.unwrap_or_default().split_whitespace();\n    print_indent(Style::new(), 4, 4, config.cols, \" \", desc);\n\n    if config.args.count(\"s\", \"search\") > 1 {\n        if let Some(url) = pkg.url() {\n            info::print(c, 14, config.cols, \"    URL\", url);\n        }\n    }\n}\n\npub fn interactive_search_local(config: &mut Config) -> Result<()> {\n    let mut all_pkgs = Vec::new();\n    let repo_pkgs = search_local(config, &config.targets)?;\n\n    for pkg in repo_pkgs {\n        all_pkgs.push(AnyPkg::RepoPkg(pkg));\n    }\n\n    let was_results = all_pkgs.is_empty();\n    let targs = interactive_menu(config, all_pkgs, false)?;\n    if targs.is_empty() && !was_results {\n        printtr!(\" there is nothing to do\");\n    }\n    config.targets = targs.clone();\n    config.args.targets = targs;\n    Ok(())\n}\n\npub async fn interactive_search(config: &mut Config, install: bool) -> Result<()> {\n    let repo_pkgs = search_repos(config, &config.targets)?;\n    let custom_pkgs = search_pkgbuilds(config, &config.targets)?;\n    let aur_pkgs = search_aur(config, &config.targets).await?;\n    let mut all_pkgs = Vec::new();\n\n    for pkg in repo_pkgs {\n        all_pkgs.push(AnyPkg::RepoPkg(pkg));\n    }\n    for (repo, base, pkg) in custom_pkgs {\n        all_pkgs.push(AnyPkg::Custom(repo, base, pkg));\n    }\n    for pkg in &aur_pkgs {\n        all_pkgs.push(AnyPkg::AurPkg(pkg));\n    }\n\n    let was_results = all_pkgs.is_empty();\n    let targs = interactive_menu(config, all_pkgs, install)?;\n    if targs.is_empty() && !was_results {\n        printtr!(\" there is nothing to do\");\n    }\n    config.targets = targs.clone();\n    config.args.targets = targs;\n    Ok(())\n}\n\npub fn interactive_menu(\n    config: &Config,\n    mut all_pkgs: Vec<AnyPkg<'_>>,\n    install: bool,\n) -> Result<Vec<String>> {\n    let pad = all_pkgs.len().to_string().len();\n\n    if all_pkgs.is_empty() {\n        printtr!(\"no packages match search\");\n        return Ok(Vec::new());\n    }\n\n    let indexes = all_pkgs\n        .iter()\n        .enumerate()\n        .filter_map(|(n, pkg)| {\n            let name = match pkg {\n                AnyPkg::RepoPkg(pkg) => pkg.name(),\n                AnyPkg::AurPkg(pkg) => pkg.name.as_str(),\n                AnyPkg::Custom(_, _, pkg) => pkg.pkgname.as_str(),\n            };\n\n            if config.targets.iter().any(|targ| targ == name) {\n                Some(n)\n            } else {\n                None\n            }\n        })\n        .collect::<Vec<_>>();\n\n    for (i, n) in indexes.iter().rev().enumerate() {\n        let pkg = all_pkgs.remove(i + n);\n        all_pkgs.insert(0, pkg);\n    }\n\n    if config.sort_mode == SortMode::TopDown {\n        for (n, pkg) in all_pkgs.iter().enumerate() {\n            print_any_pkg(config, n, pad, pkg)\n        }\n    } else {\n        for (n, pkg) in all_pkgs.iter().enumerate().rev() {\n            print_any_pkg(config, n, pad, pkg)\n        }\n    }\n\n    let input = if install {\n        input(config, &tr!(\"Packages to install (eg: 1 2 3, 1-3):\"))\n    } else {\n        input(config, &tr!(\"Select packages (eg: 1 2 3, 1-3):\"))\n    };\n\n    if input.trim().is_empty() {\n        return Ok(Vec::new());\n    }\n\n    let menu = NumberMenu::new(&input);\n    let mut pkgs = Vec::new();\n\n    if config.sort_mode == SortMode::TopDown {\n        for (n, pkg) in all_pkgs.iter().enumerate() {\n            if menu.contains(n + 1, \"\") {\n                match pkg {\n                    AnyPkg::RepoPkg(pkg) => {\n                        pkgs.push(format!(\"{}/{}\", pkg.db().unwrap().name(), pkg.name()))\n                    }\n                    AnyPkg::AurPkg(pkg) => {\n                        pkgs.push(format!(\"{}/{}\", config.aur_namespace(), pkg.name))\n                    }\n                    AnyPkg::Custom(repo, _, pkg) => pkgs.push(format!(\"{}/{}\", repo, pkg.pkgname)),\n                }\n            }\n        }\n    } else {\n        for (n, pkg) in all_pkgs.iter().enumerate().rev() {\n            if menu.contains(n + 1, \"\") {\n                match pkg {\n                    AnyPkg::RepoPkg(pkg) => {\n                        pkgs.push(format!(\"{}/{}\", pkg.db().unwrap().name(), pkg.name()))\n                    }\n                    AnyPkg::AurPkg(pkg) => {\n                        pkgs.push(format!(\"{}/{}\", config.aur_namespace(), pkg.name))\n                    }\n                    AnyPkg::Custom(repo, _, pkg) => pkgs.push(format!(\"{}/{}\", repo, pkg.pkgname)),\n                }\n            }\n        }\n    }\n\n    Ok(pkgs)\n}\n\nfn print_any_pkg(config: &Config, n: usize, pad: usize, pkg: &AnyPkg) {\n    let c = config.color;\n    match pkg {\n        AnyPkg::RepoPkg(pkg) => {\n            let n = format!(\"{:>pad$}\", n + 1, pad = pad);\n            print!(\"{} \", c.number_menu.paint(n));\n            print_alpm_pkg(config, pkg, false)\n        }\n        AnyPkg::AurPkg(pkg) => {\n            let n = format!(\"{:>pad$}\", n + 1, pad = pad);\n            print!(\"{} \", c.number_menu.paint(n));\n            print_pkg(config, pkg, false)\n        }\n        AnyPkg::Custom(repo, base, pkg) => {\n            let n = format!(\"{:>pad$}\", n + 1, pad = pad);\n            print!(\"{} \", c.number_menu.paint(n));\n            let path = &config\n                .pkgbuild_repos\n                .repo(repo)\n                .unwrap()\n                .base(config, &base.base.pkgbase)\n                .unwrap()\n                .path;\n            print_pkgbuild_pkg(config, repo, path, base, pkg, false)\n        }\n    };\n}\n"
  },
  {
    "path": "src/stats.rs",
    "content": "use crate::config::{version, Config};\nuse crate::download::cache_info_with_warnings;\nuse crate::printtr;\nuse crate::util::repo_aur_pkgs;\n\nuse alpm::PackageReason;\nuse globset::GlobSet;\n\nuse std::cmp::Reverse;\nuse std::collections::BinaryHeap;\n\nuse anyhow::Result;\nuse indicatif::HumanBytes;\nuse tr::tr;\n\nstruct Info<'a> {\n    total_packages: usize,\n    explicit_packages: usize,\n    total_size: i64,\n    max_packages: Vec<(i64, &'a str)>,\n}\n\nasync fn collect_info(config: &Config, max_n: usize) -> Result<Info<'_>> {\n    let db = config.alpm.localdb();\n    let total_packages = db.pkgs().len();\n\n    let mut explicit_packages = 0;\n    let mut total_size = 0;\n    let mut max_packages = BinaryHeap::with_capacity(max_n + 1);\n\n    for pkg in db.pkgs() {\n        max_packages.push(Reverse((pkg.isize(), pkg.name())));\n        if max_packages.len() > 10 {\n            max_packages.pop();\n        }\n        if pkg.reason() == PackageReason::Explicit {\n            explicit_packages += 1;\n        }\n        total_size += pkg.isize();\n    }\n\n    let max_packages = max_packages\n        .into_sorted_vec()\n        .into_iter()\n        .map(|r| r.0)\n        .collect();\n\n    Ok(Info {\n        total_packages,\n        explicit_packages,\n        total_size,\n        max_packages,\n    })\n}\n\nfn print_line_separator(config: &Config) {\n    println!(\n        \"{}\",\n        config\n            .color\n            .stats_line_separator\n            .paint(\"===========================================\")\n    );\n}\n\npub async fn stats(config: &Config) -> Result<i32> {\n    let mut cache = raur::Cache::new();\n    let c = config.color;\n    let info = collect_info(config, 10).await?;\n    let (repo, possible_aur) = repo_aur_pkgs(config);\n    let aur_packages = possible_aur\n        .iter()\n        .map(|pkg| pkg.name())\n        .map(|s| s.to_owned())\n        .collect::<Vec<_>>();\n\n    let warnings = cache_info_with_warnings(\n        &config.raur,\n        &mut cache,\n        &aur_packages,\n        &config.ignore,\n        &GlobSet::empty(),\n    )\n    .await?;\n\n    version();\n    print_line_separator(config);\n\n    printtr!(\n        \"Total installed packages: {}\",\n        c.stats_value.paint(info.total_packages.to_string())\n    );\n    printtr!(\n        \"Aur packages: {}\",\n        c.stats_value.paint(warnings.pkgs.len().to_string())\n    );\n    printtr!(\n        \"Repo packages: {}\",\n        c.stats_value.paint(repo.len().to_string())\n    );\n    printtr!(\n        \"Explicitly installed packages: {}\",\n        c.stats_value.paint(info.explicit_packages.to_string())\n    );\n    printtr!(\n        \"Total Size occupied by packages: {}\",\n        c.stats_value\n            .paint(HumanBytes(info.total_size as u64).to_string())\n    );\n\n    print_line_separator(config);\n\n    println!(\"{}\", c.bold.paint(tr!(\"Ten biggest packages:\")));\n    for (size, name) in info.max_packages {\n        println!(\n            \"{}: {}\",\n            c.bold.paint(name),\n            c.stats_value.paint(HumanBytes(size as u64).to_string())\n        );\n    }\n\n    print_line_separator(config);\n    warnings.all(config.color, config.cols);\n\n    Ok(0)\n}\n"
  },
  {
    "path": "src/sync.rs",
    "content": "use crate::config::Config;\nuse crate::pkgbuild::PkgbuildRepos;\nuse crate::{exec, print_error};\n\nuse std::io::{Read, Write};\n\nuse anyhow::{anyhow, ensure, Context, Result};\n\nuse flate2::read::GzDecoder;\nuse raur::Raur;\nuse tr::tr;\n\npub async fn filter(config: &Config) -> Result<i32> {\n    let mut cache = raur::Cache::new();\n    config.raur.cache_info(&mut cache, &config.targets).await?;\n\n    for targ in config.targets.iter().filter(|t| cache.contains(t.as_str())) {\n        println!(\"{}\", targ);\n    }\n\n    if cache.len() == config.targets.len() {\n        Ok(0)\n    } else {\n        Ok(127)\n    }\n}\n\npub async fn list(config: &Config) -> Result<i32> {\n    let c = config.color;\n    let args = config.pacman_args();\n    let mut ret = 0;\n\n    if args.targets.is_empty() {\n        if config.mode.repo() {\n            if let Err(e) = exec::pacman(config, &args) {\n                print_error(c.error, e);\n                ret = 1\n            }\n        }\n        if config.mode.pkgbuild() {\n            for repo in &config.pkgbuild_repos.repos {\n                list_pkgbuilds(config, &config.pkgbuild_repos, &repo.name);\n            }\n        }\n        if config.mode.aur() {\n            if let Err(e) = list_aur(config).await {\n                print_error(c.error, e);\n                ret = 1\n            }\n        }\n    } else {\n        for &target in &args.targets {\n            if config.alpm.syncdbs().iter().any(|r| r.name() == target) && config.mode.repo() {\n                let mut args = args.clone();\n                args.targets.clear();\n                args.target(target);\n                if let Err(e) = exec::pacman(config, &args) {\n                    print_error(c.error, e);\n                    ret = 1;\n                }\n            } else if config.pkgbuild_repos.repo(target).is_some() && config.mode.pkgbuild() {\n                list_pkgbuilds(config, &config.pkgbuild_repos, target);\n            } else if target == config.aur_namespace() && config.mode.aur() {\n                if let Err(e) = list_aur(config).await {\n                    print_error(c.error, e);\n                    ret = 1;\n                }\n            } else {\n                print_error(c.error, anyhow!(\"repository \\\"{}\\\" was not found\", target));\n                ret = 1;\n            }\n        }\n    }\n\n    Ok(ret)\n}\n\npub fn list_pkgbuilds(config: &Config, repos: &PkgbuildRepos, repo: &str) {\n    let stdout = std::io::stdout();\n    let mut stdout = stdout.lock();\n\n    if let Some(repo) = repos.repo(repo) {\n        for pkg in repo.pkgs(config) {\n            for name in pkg.srcinfo.pkgnames() {\n                print_pkg(\n                    config,\n                    &mut stdout,\n                    name.as_bytes(),\n                    &repo.name,\n                    &pkg.srcinfo.version(),\n                )\n            }\n        }\n    }\n}\n\npub async fn list_aur(config: &Config) -> Result<()> {\n    let url = config.aur_url.join(\"packages.gz\")?;\n    let client = config.raur.client();\n    let resp = client\n        .get(url.clone())\n        .send()\n        .await\n        .with_context(|| format!(\"get {}\", url))?;\n    let success = resp.status().is_success();\n    ensure!(success, \"get {}: {}\", url, resp.status());\n\n    let data = resp.bytes().await?;\n    let mut decoder = GzDecoder::new(&*data);\n    let mut data = Vec::new();\n    decoder\n        .read_to_end(&mut data)\n        .with_context(|| tr!(\"failed to decode package list\"))?;\n\n    let stdout = std::io::stdout();\n    let mut stdout = stdout.lock();\n\n    for line in data.split(|b| *b == b'\\n').filter(|l| !l.is_empty()) {\n        print_pkg(config, &mut stdout, line, \"aur\", \"unknown-version\");\n    }\n\n    Ok(())\n}\n\nfn print_pkg(config: &Config, mut stdout: impl Write, line: &[u8], repo: &str, version: &str) {\n    let cpkg = config.color.sl_pkg;\n    let crepo = config.color.sl_repo;\n    let cversion = config.color.sl_version;\n    let cinstalled = config.color.sl_installed;\n\n    if config.args.has_arg(\"q\", \"quiet\") {\n        let _ = stdout.write_all(line);\n        let _ = stdout.write_all(b\"\\n\");\n        return;\n    }\n    let _ = crepo.paint(repo.as_bytes()).write_to(&mut stdout);\n    let _ = stdout.write_all(b\" \");\n    let _ = cpkg.paint(line).write_to(&mut stdout);\n    let _ = stdout.write_all(b\" \");\n    let _ = cversion.paint(version.as_bytes()).write_to(&mut stdout);\n\n    if config.alpm.localdb().pkg(line).is_ok() {\n        let _ = cinstalled\n            .paint(tr!(\" [installed]\").as_bytes())\n            .write_to(&mut stdout);\n    }\n\n    let _ = stdout.write_all(b\"\\n\");\n}\n"
  },
  {
    "path": "src/upgrade.rs",
    "content": "use crate::config::{Config, LocalRepos};\nuse crate::devel::{filter_devel_updates, possible_devel_updates};\nuse crate::fmt::color_repo;\nuse crate::util::{input, NumberMenu};\nuse crate::{repo, RaurHandle};\n\nuse std::collections::{HashMap, HashSet};\n\nuse alpm::{AlpmList, Db};\nuse alpm_utils::DbListExt;\nuse anyhow::Result;\nuse aur_depends::{Resolver, Updates};\nuse futures::try_join;\nuse tr::tr;\n\n#[derive(Default, Debug)]\npub struct Upgrades {\n    pub aur_repos: HashMap<String, String>,\n    pub pkgbuild_keep: Vec<(String, String)>,\n    pub repo_keep: Vec<String>,\n    pub repo_skip: Vec<String>,\n    pub aur_keep: Vec<String>,\n    pub devel: HashSet<String>,\n}\n\npub fn repo_upgrades(config: &Config) -> Result<Vec<&alpm::Package>> {\n    let flags = alpm::TransFlag::NO_LOCK;\n    config.alpm.trans_init(flags)?;\n    config\n        .alpm\n        .sync_sysupgrade(config.args.count(\"u\", \"sysupgrade\") > 1)?;\n\n    let mut pkgs = config.alpm.trans_add().iter().collect::<Vec<_>>();\n    let (dbs, _) = repo::repo_aur_dbs(config);\n\n    pkgs.retain(|p| dbs.iter().any(|db| db.name() == p.db().unwrap().name()));\n\n    pkgs.sort_by(|a, b| {\n        dbs.iter()\n            .position(|db| db.name() == a.db().unwrap().name())\n            .unwrap()\n            .cmp(\n                &dbs.iter()\n                    .position(|db| db.name() == b.db().unwrap().name())\n                    .unwrap(),\n            )\n            .then(a.name().cmp(b.name()))\n    });\n    //config.alpm.trans_release();\n    Ok(pkgs)\n}\n\nfn get_version_diff(config: &Config, old: &str, new: &str) -> (String, String) {\n    let mut old_iter = old.chars();\n    let mut new_iter = new.chars();\n    let mut old_split = old_iter.clone();\n    let old_col = config.color.old_version;\n    let new_col = config.color.new_version;\n\n    while let Some(old_c) = old_iter.next() {\n        let new_c = match new_iter.next() {\n            Some(c) => c,\n            None => break,\n        };\n\n        if old_c != new_c {\n            break;\n        }\n\n        if !old_c.is_alphanumeric() {\n            old_split = old_iter.clone();\n        }\n    }\n\n    let common = old.len() - old_split.as_str().len();\n\n    (\n        format!(\"{}{}\", &old[..common], old_col.paint(&old[common..])),\n        format!(\"{}{}\", &new[..common], new_col.paint(&new[common..])),\n    )\n}\n\n#[allow(clippy::too_many_arguments)]\nfn print_upgrade(\n    config: &Config,\n    n: usize,\n    n_max: usize,\n    pkg: &str,\n    db: &str,\n    db_pkg_max: usize,\n    old: &str,\n    old_max: usize,\n    new: &str,\n) {\n    let c = config.color;\n    let n = format!(\"{:>pad$}\", n, pad = n_max);\n    let db_pkg = format!(\n        \"{}/{}{:pad$}\",\n        color_repo(config.color.enabled, db),\n        c.bold.paint(pkg),\n        \"\",\n        pad = db_pkg_max - (db.len() + pkg.len()) + 1\n    );\n    let old = format!(\"{:<pad$}\", old, pad = old_max);\n    let (old, new) = get_version_diff(config, &old, new);\n    println!(\n        \"{} {} {} -> {}\",\n        c.number_menu.paint(n),\n        c.bold.paint(db_pkg),\n        old,\n        new\n    );\n}\n\nasync fn get_resolver_upgrades<'a, 'b>(\n    config: &Config,\n    resolver: &mut Resolver<'a, 'b, RaurHandle>,\n    print: bool,\n) -> Result<Updates<'a>> {\n    if print {\n        if config.mode.pkgbuild() {\n            let c = config.color;\n            println!(\n                \"{} {}\",\n                c.action.paint(\"::\"),\n                c.bold.paint(tr!(\"Looking for PKGBUILD upgrades...\"))\n            );\n\n            if config.mode.aur() {\n                let c = config.color;\n                println!(\n                    \"{} {}\",\n                    c.action.paint(\"::\"),\n                    c.bold.paint(tr!(\"Looking for AUR upgrades...\"))\n                );\n            }\n        }\n\n        let dbs = match config.repos {\n            LocalRepos::None => None,\n            _ => {\n                let (_, dbs) = repo::repo_aur_dbs(config);\n                let dbs = Some(dbs.into_iter().map(|db| db.name()).collect::<Vec<_>>());\n                dbs\n            }\n        };\n        let updates = resolver.updates(dbs.as_deref()).await?;\n\n        Ok(updates)\n    } else {\n        Ok(Updates::default())\n    }\n}\n\nasync fn get_devel_upgrades(config: &Config, print: bool) -> Result<Vec<String>> {\n    if !config.devel || (!config.mode.aur() && !config.mode.pkgbuild()) {\n        return Ok(Vec::new());\n    }\n\n    let c = config.color;\n    if print {\n        println!(\n            \"{} {}\",\n            c.action.paint(\"::\"),\n            c.bold.paint(tr!(\"Looking for devel upgrades...\"))\n        );\n    }\n\n    possible_devel_updates(config).await\n}\n\npub async fn net_upgrades<'res>(\n    config: &'_ Config,\n    resolver: &mut Resolver<'res, '_, RaurHandle>,\n    print: bool,\n) -> Result<(Updates<'res>, Vec<String>)> {\n    try_join!(\n        get_resolver_upgrades(config, resolver, print),\n        get_devel_upgrades(config, print)\n    )\n}\n\npub async fn get_upgrades<'a, 'b>(\n    config: &Config,\n    resolver: &mut Resolver<'a, 'b, RaurHandle>,\n) -> Result<Upgrades> {\n    let (upgrades, devel_upgrades) = net_upgrades(config, resolver, true).await?;\n    let (syncdbs, aurdbs) = repo::repo_aur_dbs(config);\n\n    for pkg in upgrades.aur_ignored {\n        eprintln!(\n            \"{} {}\",\n            config.color.warning.paint(tr!(\"warning:\")),\n            tr!(\n                \"{pkg}: ignoring package upgrade ({old} => {new})\",\n                pkg = pkg.local.name(),\n                old = pkg.local.version(),\n                new = pkg.remote.version\n            )\n        );\n    }\n\n    for pkg in upgrades.pkgbuild_ignored {\n        eprintln!(\n            \"{} {}\",\n            config.color.warning.paint(tr!(\"warning:\")),\n            tr!(\n                \"{pkg}: ignoring package upgrade ({old} => {new})\",\n                pkg = pkg.local.name(),\n                old = pkg.local.version(),\n                new = pkg.remote_srcinfo.version(),\n            )\n        );\n    }\n\n    let mut aur_upgrades = upgrades.aur_updates;\n    let pkgbuild_upgrades = upgrades.pkgbuild_updates;\n    let mut devel_upgrades =\n        filter_devel_updates(config, resolver.get_cache_mut(), &devel_upgrades).await?;\n\n    let repo_upgrades = if config.mode.repo() && config.combined_upgrade {\n        repo_upgrades(config)?\n    } else {\n        Vec::new()\n    };\n\n    devel_upgrades.sort();\n    devel_upgrades.dedup();\n    // TODO better devel pkgbuild\n    aur_upgrades.retain(|u| !devel_upgrades.iter().any(|t| t.pkg == u.remote.name));\n\n    let mut repo_skip = Vec::new();\n    let mut repo_keep = Vec::new();\n    let mut aur_keep = Vec::new();\n    let mut custom_keep = Vec::new();\n\n    let mut aur_repos = HashMap::new();\n    for pkg in &aur_upgrades {\n        if let Some(db) = pkg.local.db() {\n            aur_repos.insert(pkg.local.name().to_string(), db.name().to_string());\n        }\n    }\n\n    if devel_upgrades.is_empty()\n        && aur_upgrades.is_empty()\n        && repo_upgrades.is_empty()\n        && pkgbuild_upgrades.is_empty()\n    {\n        return Ok(Upgrades::default());\n    }\n\n    if !config.upgrade_menu {\n        let mut aur = aur_upgrades\n            .iter()\n            .map(|p| p.remote.name.clone())\n            .collect::<Vec<_>>();\n\n        let mut pkgbuild_updates = pkgbuild_upgrades\n            .iter()\n            .map(|u| (u.repo.clone(), u.local.name().to_string()))\n            .collect::<Vec<_>>();\n\n        for devel in &devel_upgrades {\n            if devel.repo.as_deref() == Some(config.aur_namespace()) {\n                aur.push(devel.pkg.clone());\n            } else {\n                pkgbuild_updates.push((devel.repo.clone().unwrap(), devel.pkg.clone()));\n            }\n        }\n\n        let upgrades = Upgrades {\n            pkgbuild_keep: pkgbuild_updates,\n            aur_repos,\n            repo_keep: repo_upgrades.iter().map(|p| p.name().to_string()).collect(),\n            aur_keep: aur,\n            repo_skip,\n            devel: devel_upgrades.into_iter().map(|t| t.pkg).collect(),\n        };\n        return Ok(upgrades);\n    }\n\n    let db = config.alpm.localdb();\n    let n_max = repo_upgrades.len() + aur_upgrades.len() + devel_upgrades.len();\n    let n_max = n_max.to_string().len();\n    let mut index =\n        repo_upgrades.len() + aur_upgrades.len() + devel_upgrades.len() + pkgbuild_upgrades.len();\n\n    let db_pkg_max = repo_upgrades\n        .iter()\n        .map(|u| u.name().len() + u.db().unwrap().name().len())\n        .chain(\n            aur_upgrades\n                .iter()\n                .map(|u| db_len(u.local.name(), \"aur\", aurdbs.list())),\n        )\n        .chain(\n            devel_upgrades\n                .iter()\n                .map(|u| db_len(&u.pkg, \"devel\", aurdbs.list())),\n        )\n        .chain(\n            pkgbuild_upgrades\n                .iter()\n                .map(|u| db_len(u.local.name(), &u.repo, aurdbs.list())),\n        )\n        .max()\n        .unwrap_or(0);\n\n    let old_max = repo_upgrades\n        .iter()\n        .map(|p| db.pkg(p.name()).unwrap().version().as_str().len())\n        .chain(aur_upgrades.iter().map(|p| p.local.version().len()))\n        .chain(\n            devel_upgrades\n                .iter()\n                .filter_map(|p| db.pkg(p.pkg.as_str()).ok())\n                .map(|p| p.version().len()),\n        )\n        .chain(pkgbuild_upgrades.iter().map(|p| p.local.version().len()))\n        .max()\n        .unwrap_or(0);\n\n    for pkg in repo_upgrades.iter().rev().rev() {\n        let local_pkg = config.alpm.localdb().pkg(pkg.name())?;\n        print_upgrade(\n            config,\n            index,\n            n_max,\n            pkg.name(),\n            pkg.db().unwrap().name(),\n            db_pkg_max,\n            local_pkg.version(),\n            old_max,\n            pkg.version(),\n        );\n        index -= 1;\n    }\n\n    for pkg in aur_upgrades.iter().rev().rev() {\n        let remote = aurdbs\n            .pkg(pkg.local.name())\n            .map(|p| format!(\"{}-aur\", p.db().unwrap().name()));\n        let remote = remote.as_deref().unwrap_or(\"aur\");\n        print_upgrade(\n            config,\n            index,\n            n_max,\n            pkg.local.name(),\n            remote,\n            db_pkg_max,\n            pkg.local.version(),\n            old_max,\n            &pkg.remote.version,\n        );\n        index -= 1;\n    }\n\n    for pkg in devel_upgrades.iter().rev().rev() {\n        let pkg = pkg.pkg.as_str();\n        let remote = aurdbs\n            .pkg(pkg)\n            .map(|p| p.db().unwrap().name())\n            .map(|p| format!(\"{}-devel\", p));\n        let remote = remote.as_deref().unwrap_or(\"devel\");\n        let current = aurdbs.pkg(pkg).or_else(|_| db.pkg(pkg)).unwrap();\n        let ver = current.version();\n        print_upgrade(\n            config,\n            index,\n            n_max,\n            pkg,\n            remote,\n            db_pkg_max,\n            ver,\n            old_max,\n            \"latest-commit\",\n        );\n        index -= 1;\n    }\n\n    for pkg in pkgbuild_upgrades.iter().rev().rev() {\n        let remote = aurdbs\n            .pkg(pkg.local.name())\n            .map(|p| format!(\"{}-{}\", p.db().unwrap().name(), pkg.repo));\n        let remote = remote.as_deref().unwrap_or(\"aur\");\n        print_upgrade(\n            config,\n            index,\n            n_max,\n            pkg.local.name(),\n            remote,\n            db_pkg_max,\n            pkg.local.version(),\n            old_max,\n            &pkg.remote_srcinfo.version(),\n        );\n        index -= 1;\n    }\n\n    let input = input(config, &tr!(\"Packages to exclude (eg: 1 2 3, 1-3):\"));\n    let input = input.trim();\n    let number_menu = NumberMenu::new(input);\n    let mut index =\n        repo_upgrades.len() + aur_upgrades.len() + devel_upgrades.len() + pkgbuild_upgrades.len();\n\n    for pkg in repo_upgrades.iter().rev().rev() {\n        let remote = syncdbs.pkg(pkg.name()).unwrap();\n        let db = remote.db().unwrap();\n        if !number_menu.contains(index, db.name()) || input.is_empty() {\n            repo_keep.push(pkg.name().to_string());\n        } else {\n            repo_skip.push(pkg.name().to_string());\n        }\n        index -= 1;\n    }\n\n    for pkg in aur_upgrades.iter().rev().rev() {\n        let remote = aurdbs\n            .pkg(pkg.local.name())\n            .map(|p| p.db().unwrap().name())\n            .unwrap_or(\"aur\");\n        if !number_menu.contains(index, remote) || input.is_empty() {\n            aur_keep.push(pkg.local.name().to_string());\n        }\n        index -= 1;\n    }\n\n    //TODO\n    for pkg in devel_upgrades.iter().rev().rev() {\n        let remote = aurdbs\n            .pkg(pkg.pkg.as_str())\n            .map(|p| p.db().unwrap().name())\n            .map(|p| format!(\"{}-devel\", p));\n        let remote = remote.as_deref().unwrap_or(\"devel\");\n        let keep = !number_menu.contains(index, &format!(\"{}-devel\", remote)) || input.is_empty();\n        let is_aur = pkg.repo.as_deref() == Some(config.aur_namespace());\n\n        match (keep, is_aur) {\n            (true, true) => aur_keep.push(pkg.pkg.to_string()),\n            (true, false) => custom_keep.push((pkg.repo.clone().unwrap(), pkg.pkg.clone())),\n            (false, _) => (),\n        }\n\n        index -= 1;\n    }\n\n    for pkg in pkgbuild_upgrades.iter().rev().rev() {\n        let remote = aurdbs\n            .pkg(pkg.local.name())\n            .map(|p| p.db().unwrap().name())\n            .unwrap_or(&pkg.repo);\n        if !number_menu.contains(index, remote) || input.is_empty() {\n            custom_keep.push((pkg.repo.clone(), pkg.local.name().to_string()));\n        }\n        index -= 1;\n    }\n\n    let upgrades = Upgrades {\n        pkgbuild_keep: custom_keep,\n        aur_repos,\n        repo_keep,\n        repo_skip,\n        aur_keep,\n        devel: devel_upgrades.into_iter().map(|t| t.pkg).collect(),\n    };\n\n    Ok(upgrades)\n}\n\nfn db_len(name: &str, repo_name: &str, aurdbs: AlpmList<&Db>) -> usize {\n    name.len()\n        + aurdbs\n            .pkg(name)\n            .ok()\n            .and_then(|pkg| pkg.db())\n            .map(|db| db.name().len() + repo_name.len() + 1)\n            .unwrap_or(repo_name.len())\n}\n"
  },
  {
    "path": "src/util.rs",
    "content": "use crate::config::{Config, LocalRepos};\nuse crate::repo;\n\nuse std::collections::btree_map::Entry;\nuse std::collections::BTreeMap;\nuse std::fs::File;\nuse std::io::{stderr, stdin, stdout, BufRead, Write};\nuse std::mem::take;\nuse std::ops::Range;\nuse std::os::fd::{AsFd, OwnedFd};\n\nuse alpm::{Package, PackageReason};\nuse alpm_utils::depends::{satisfies_dep, satisfies_provide};\nuse alpm_utils::{AsTarg, DbListExt, Targ};\nuse anyhow::Result;\nuse nix::unistd::{dup2_stdin, dup2_stdout};\nuse tr::tr;\n\n#[derive(Debug)]\npub struct NumberMenu<'a> {\n    pub in_range: Vec<Range<usize>>,\n    pub ex_range: Vec<Range<usize>>,\n    pub in_word: Vec<&'a str>,\n    pub ex_word: Vec<&'a str>,\n}\n\npub fn pkg_base_or_name(pkg: &Package) -> &str {\n    pkg.base().unwrap_or_else(|| pkg.name())\n}\n\npub fn split_repo_aur_targets<'a, T: AsTarg>(\n    config: &mut Config,\n    targets: &'a [T],\n) -> Result<(Vec<Targ<'a>>, Vec<Targ<'a>>)> {\n    let mut local = Vec::new();\n    let mut aur = Vec::new();\n\n    let cb = config.alpm.take_raw_question_cb();\n    let empty: [&str; 0] = [];\n    config.alpm.set_ignorepkgs(empty.iter())?;\n    config.alpm.set_ignoregroups(empty.iter())?;\n\n    let dbs = config.alpm.syncdbs();\n\n    for targ in targets {\n        let targ = targ.as_targ();\n        if !config.mode.repo() {\n            aur.push(targ);\n        } else if !config.mode.aur() && !config.mode.pkgbuild() {\n            local.push(targ);\n        } else if let Some(repo) = targ.repo {\n            if config.alpm.syncdbs().iter().any(|db| db.name() == repo) {\n                local.push(targ);\n            } else if config.pkgbuild_repos.repo(repo).is_some()\n                || repo == config.aur_namespace()\n                || repo == \".\"\n            {\n                aur.push(targ);\n            } else {\n                local.push(targ);\n            }\n        } else if dbs.pkg(targ.pkg).is_ok()\n            || dbs.find_target_satisfier(targ.pkg).is_some()\n            || dbs\n                .iter()\n                .filter(|db| targ.repo.is_none() || db.name() == targ.repo.unwrap())\n                .any(|db| db.group(targ.pkg).is_ok())\n        {\n            local.push(targ);\n        } else {\n            aur.push(targ);\n        }\n    }\n\n    config.alpm.set_raw_question_cb(cb);\n    config\n        .alpm\n        .set_ignorepkgs(config.pacman.ignore_pkg.iter())?;\n    config\n        .alpm\n        .set_ignorepkgs(config.pacman.ignore_pkg.iter())?;\n\n    Ok((local, aur))\n}\n\npub fn split_repo_aur_info<'a, T: AsTarg>(\n    config: &Config,\n    targets: &'a [T],\n) -> Result<(Vec<Targ<'a>>, Vec<Targ<'a>>)> {\n    let mut local = Vec::new();\n    let mut aur = Vec::new();\n\n    let dbs = config.alpm.syncdbs();\n\n    for targ in targets {\n        let targ = targ.as_targ();\n        if !config.mode.repo() {\n            aur.push(targ);\n        } else if !config.mode.aur() && !config.mode.pkgbuild() {\n            local.push(targ);\n        } else if let Some(repo) = targ.repo {\n            if config.alpm.syncdbs().iter().any(|db| db.name() == repo) {\n                local.push(targ);\n            } else {\n                aur.push(targ);\n            }\n        } else if dbs.pkg(targ.pkg).is_ok() {\n            local.push(targ);\n        } else {\n            aur.push(targ);\n        }\n    }\n\n    Ok((local, aur))\n}\n\npub fn ask(config: &Config, question: &str, default: bool) -> bool {\n    let action = config.color.action;\n    let bold = config.color.bold;\n    let yn = if default {\n        tr!(\"[Y/n]:\")\n    } else {\n        tr!(\"[y/N]:\")\n    };\n    print!(\n        \"{} {} {} \",\n        action.paint(\"::\"),\n        bold.paint(question),\n        bold.paint(yn)\n    );\n    let _ = stdout().lock().flush();\n    if config.no_confirm {\n        println!();\n        return default;\n    }\n    let stdin = stdin();\n    let mut input = String::new();\n    let _ = stdin.read_line(&mut input);\n    let input = input.to_lowercase();\n    let input = input.trim();\n\n    if input == tr!(\"y\") || input == tr!(\"yes\") {\n        true\n    } else if input.trim().is_empty() {\n        default\n    } else {\n        false\n    }\n}\n\npub fn input(config: &Config, question: &str) -> String {\n    let action = config.color.action;\n    let bold = config.color.bold;\n    println!(\"{} {}\", action.paint(\"::\"), bold.paint(question));\n    print!(\"{} \", action.paint(\"::\"));\n    let _ = stdout().lock().flush();\n    if config.no_confirm {\n        println!();\n        return \"\".into();\n    }\n    let stdin = stdin();\n    let mut input = String::new();\n    let _ = stdin.read_line(&mut input);\n    input\n}\n\npub fn unneeded_pkgs(config: &Config, keep_optional: bool) -> Vec<&str> {\n    let db = config.alpm.localdb();\n    let mut next = db\n        .pkgs()\n        .into_iter()\n        .filter(|p| p.reason() == PackageReason::Explicit)\n        .collect::<Vec<_>>();\n    let mut deps = db\n        .pkgs()\n        .into_iter()\n        .filter(|p| p.reason() != PackageReason::Explicit)\n        .map(|p| (p.name(), p))\n        .collect::<BTreeMap<_, _>>();\n\n    let mut provides: BTreeMap<_, Vec<_>> = BTreeMap::new();\n    for dep in deps.values() {\n        for prov in dep.provides() {\n            provides.entry(prov.name()).or_default().push((*dep, prov));\n        }\n    }\n\n    while !next.is_empty() {\n        for new in take(&mut next) {\n            let opt = keep_optional.then(|| new.optdepends());\n            let depends = new.depends().into_iter().chain(opt.into_iter().flatten());\n\n            for dep in depends {\n                if let Entry::Occupied(entry) = deps.entry(dep.name()) {\n                    let pkg = entry.get();\n                    if satisfies_dep(dep, pkg.name(), pkg.version()) {\n                        next.push(entry.remove());\n                    }\n                }\n                if let Entry::Occupied(mut entry) = provides.entry(dep.name()) {\n                    let provides = entry\n                        .get_mut()\n                        .extract_if(.., |(_, prov)| satisfies_provide(dep, prov))\n                        .filter_map(|(pkg, _)| deps.remove(pkg.name()));\n                    next.extend(provides);\n                };\n            }\n        }\n    }\n\n    deps.into_keys().collect::<Vec<_>>()\n}\n\nimpl<'a> NumberMenu<'a> {\n    pub fn new(input: &'a str) -> Self {\n        let mut include_range = Vec::new();\n        let mut exclude_range = Vec::new();\n        let mut include_repo = Vec::new();\n        let mut exclude_repo = Vec::new();\n\n        let words = input\n            .split(|c: char| c.is_whitespace() || c == ',')\n            .filter(|s| !s.is_empty());\n\n        for mut word in words {\n            let mut invert = false;\n            if word.starts_with('^') {\n                word = word.trim_start_matches('^');\n                invert = true;\n            }\n\n            let mut split = word.split('-');\n            let start_str = split.next().unwrap();\n\n            let start = match start_str.parse::<usize>() {\n                Ok(start) => start,\n                Err(_) => {\n                    if invert {\n                        exclude_repo.push(start_str);\n                    } else {\n                        include_repo.push(start_str);\n                    }\n                    continue;\n                }\n            };\n\n            let end = match split.next() {\n                Some(end) => end,\n                None => {\n                    if invert {\n                        exclude_range.push(start..start + 1);\n                    } else {\n                        include_range.push(start..start + 1);\n                    }\n                    continue;\n                }\n            };\n\n            match end.parse::<usize>() {\n                Ok(end) => {\n                    if invert {\n                        exclude_range.push(start..end + 1)\n                    } else {\n                        include_range.push(start..end + 1)\n                    }\n                }\n                _ => {\n                    if invert {\n                        exclude_repo.push(start_str)\n                    } else {\n                        include_repo.push(start_str)\n                    }\n                }\n            }\n        }\n\n        NumberMenu {\n            in_range: include_range,\n            ex_range: exclude_range,\n            in_word: include_repo,\n            ex_word: exclude_repo,\n        }\n    }\n\n    pub fn contains(&self, n: usize, word: &str) -> bool {\n        if self.in_range.iter().any(|r| r.contains(&n)) || self.in_word.contains(&word) {\n            true\n        } else if self.ex_range.iter().any(|r| r.contains(&n)) || self.ex_word.contains(&word) {\n            false\n        } else {\n            self.in_range.is_empty() && self.in_word.is_empty()\n        }\n    }\n}\n\npub fn get_provider(max: usize, no_confirm: bool) -> usize {\n    let mut input = String::new();\n\n    loop {\n        print!(\"\\n{}\", tr!(\"Enter a number (default=1): \"));\n        let _ = stdout().lock().flush();\n        input.clear();\n\n        if !no_confirm {\n            let stdin = stdin();\n            let mut stdin = stdin.lock();\n            let _ = stdin.read_line(&mut input);\n        }\n\n        let num = input.trim();\n        if num.is_empty() {\n            return 0;\n        }\n\n        let num = match num.parse::<usize>() {\n            Err(_) => {\n                eprintln!(\"{}\", tr!(\"invalid number: {}\", num));\n                continue;\n            }\n            Ok(num) => num,\n        };\n\n        if num < 1 || num > max {\n            eprintln!(\n                \"{}\",\n                tr!(\n                    \"invalid value: {n} is not between 1 and {max}\",\n                    n = num,\n                    max = max\n                )\n            );\n            continue;\n        }\n\n        return num - 1;\n    }\n}\n\npub fn split_repo_aur_pkgs<S: AsRef<str> + Clone>(config: &Config, pkgs: &[S]) -> (Vec<S>, Vec<S>) {\n    let mut aur = Vec::new();\n    let mut repo = Vec::new();\n    let (repo_dbs, aur_dbs) = repo::repo_aur_dbs(config);\n\n    for pkg in pkgs {\n        if repo_dbs.pkg(pkg.as_ref()).is_ok() {\n            repo.push(pkg.clone());\n        } else if config.repos == LocalRepos::None || aur_dbs.pkg(pkg.as_ref()).is_ok() {\n            aur.push(pkg.clone());\n        }\n    }\n\n    (repo, aur)\n}\n\npub fn repo_aur_pkgs(config: &Config) -> (Vec<&alpm::Package>, Vec<&alpm::Package>) {\n    if config.repos != LocalRepos::None {\n        let (repo, aur) = repo::repo_aur_dbs(config);\n        let repo = repo.iter().flat_map(|db| db.pkgs()).collect::<Vec<_>>();\n        let aur = aur.iter().flat_map(|db| db.pkgs()).collect::<Vec<_>>();\n        (repo, aur)\n    } else {\n        let (repo, aur) = config\n            .alpm\n            .localdb()\n            .pkgs()\n            .iter()\n            .partition(|pkg| config.alpm.syncdbs().pkg(pkg.name()).is_ok());\n        (repo, aur)\n    }\n}\n\npub fn redirect_to_stderr() -> Result<OwnedFd> {\n    let stdout = stdout().as_fd().try_clone_to_owned()?;\n    dup2_stdout(stderr())?;\n    Ok(stdout)\n}\n\npub fn reopen_stdin() -> Result<()> {\n    let file = File::open(\"/dev/tty\")?;\n    dup2_stdin(&file)?;\n    Ok(())\n}\n\npub fn reopen_stdout<Fd: AsFd>(file: Fd) -> Result<()> {\n    dup2_stdout(file)?;\n    Ok(())\n}\n\npub fn is_arch_repo(name: &str) -> bool {\n    matches!(\n        name,\n        \"testing\"\n            | \"community-testing\"\n            | \"core\"\n            | \"extra\"\n            | \"community\"\n            | \"multilib\"\n            | \"core-testing\"\n            | \"extra-testing\"\n            | \"multilib-testing\"\n    )\n}\n"
  },
  {
    "path": "testdata/bin/gpg",
    "content": "#!/bin/sh\n/usr/bin/gpg --faked-system-time 20220101T000000 \"$@\"\n"
  },
  {
    "path": "testdata/bin/makepkg.bak",
    "content": "#!/bin/sh\nbash -x /usr/local/bin/local/makepkg \"$@\" | tee /dev/tty\n"
  },
  {
    "path": "testdata/bin/pacman",
    "content": "#!/bin/sh\n/usr/local/bin/pacman --config \"$PACMAN_CONF\" --dbpath \"$DBPATH\" \"$@\"\n"
  },
  {
    "path": "testdata/bin/pacman.bak",
    "content": "#!/bin/sh\n#/usr/local/bin/pacman --config \"$PACMAN_CONF\" --dbpath \"$DBPATH\" \"$@\"\n/usr/local/bin/pacman \"$@\"\n"
  },
  {
    "path": "testdata/clone/auracle-git/.SRCINFO",
    "content": "pkgbase = auracle-git\n\tpkgdesc = A flexible client for the AUR\n\tpkgver = r316.dfbd170\n\tpkgrel = 1\n\turl = https://github.com/falconindy/auracle.git\n\tarch = x86_64\n\tarch = i686\n\tlicense = MIT\n\tcheckdepends = gtest\n\tcheckdepends = gmock\n\tmakedepends = meson\n\tmakedepends = git\n\tmakedepends = perl\n\tmakedepends = systemd\n\tdepends = pacman\n\tdepends = libcurl.so\n\tdepends = libsystemd.so\n\tprovides = auracle\n\tconflicts = auracle\n\tsource = git+https://github.com/falconindy/auracle.git\n\tsha256sums = SKIP\n\npkgname = auracle-git\n\n"
  },
  {
    "path": "testdata/clone/auracle-git/PKGBUILD",
    "content": "pkgname=auracle-git\n_pkgname=auracle\npkgver=r366.8739929\npkgrel=1\narch=('x86_64' 'i686')\ndepends=('pacman' 'libcurl.so' 'libsystemd.so')\nmakedepends=('meson' 'git' 'perl' 'systemd')\ncheckdepends=('gtest' 'gmock')\nprovides=(\"$_pkgname\")\nconflicts=(\"$_pkgname\")\n"
  },
  {
    "path": "testdata/clone/devel/.SRCINFO",
    "content": "pkgbase = devel\n\tpkgver = 1\n\tpkgrel = 1\n\tarch = any\n\npkgname = devel\n"
  },
  {
    "path": "testdata/clone/devel/PKGBUILD",
    "content": "pkgname=devel\npkgver=2\npkgrel=1\narch=(any)\n"
  },
  {
    "path": "testdata/clone/pacaur/.SRCINFO",
    "content": "pkgbase = pacaur\n\tpkgdesc = An AUR helper that minimizes user interaction\n\tpkgver = 4.8.6\n\tpkgrel = 1\n\turl = https://github.com/E5ten/pacaur\n\tarch = any\n\tlicense = ISC\n\tmakedepends = perl\n\tmakedepends = git\n\tdepends = auracle-git\n\tdepends = expac\n\tdepends = sudo\n\tdepends = git\n\tdepends = jq\n\tbackup = etc/xdg/pacaur/config\n\tsource = git+https://github.com/E5ten/pacaur#tag=4.8.6\n\tsha256sums = SKIP\n\npkgname = pacaur\n\n"
  },
  {
    "path": "testdata/clone/pacaur/PKGBUILD",
    "content": "pkgname='pacaur'\npkgver=4.8.6\npkgrel=1\narch=('any')\ndepends=('auracle-git' 'expac' 'sudo' 'git' 'jq')\nmakedepends=('perl' 'git')\n\n"
  },
  {
    "path": "testdata/clone/pkg/.SRCINFO",
    "content": "pkgbase = pkg\n\tpkgver = 1\n\tpkgrel = 1\n\tarch = any\n\tdepends = pacaur\n\npkgname = pkg\n"
  },
  {
    "path": "testdata/clone/pkg/PKGBUILD",
    "content": "pkgname=pkg\npkgver=1\npkgrel=1\narch=(any)\ndepends=(pacaur)\n"
  },
  {
    "path": "testdata/clone/polybar/.SRCINFO",
    "content": "pkgbase = polybar\n\tpkgdesc = A fast and easy-to-use status bar\n\tpkgver = 3.5.6\n\tpkgrel = 1\n\turl = https://github.com/polybar/polybar\n\tinstall = polybar.install\n\tarch = i686\n\tarch = x86_64\n\tlicense = MIT\n\tmakedepends = cmake\n\tmakedepends = python\n\tmakedepends = pkg-config\n\tmakedepends = python-sphinx\n\tmakedepends = python-packaging\n\tmakedepends = i3-wm\n\tdepends = cairo\n\tdepends = xcb-util-image\n\tdepends = xcb-util-wm\n\tdepends = xcb-util-xrm\n\tdepends = xcb-util-cursor\n\tdepends = alsa-lib\n\tdepends = libpulse\n\tdepends = libmpdclient\n\tdepends = libnl\n\tdepends = jsoncpp\n\tdepends = curl\n\toptdepends = i3-wm: i3 module support\n\toptdepends = ttf-unifont: Font used in example config\n\toptdepends = siji-git: Font used in example config\n\toptdepends = xorg-fonts-misc: Font used in example config\n\tconflicts = polybar-git\n\tsource = https://github.com/polybar/polybar/releases/download/3.5.6/polybar-3.5.6.tar.gz\n\tsha256sums = dfe602fc6ac96eac2ae0f5deb2f87e0dd1f81ea5d0f04ad3b3bfd71efd5cc038\n\npkgname = polybar\n\n"
  },
  {
    "path": "testdata/clone/polybar/PKGBUILD",
    "content": "pkgname=polybar\npkgver=3.5.6\npkgrel=1\npkgdesc=\"A fast and easy-to-use status bar\"\narch=(\"i686\" \"x86_64\")\ndepends=(\"cairo\" \"xcb-util-image\" \"xcb-util-wm\" \"xcb-util-xrm\" \"xcb-util-cursor\"\n         \"alsa-lib\" \"libpulse\" \"libmpdclient\" \"libnl\" \"jsoncpp\" \"curl\")\noptdepends=(\"i3-wm: i3 module support\"\n            \"ttf-unifont: Font used in example config\"\n            \"siji-git: Font used in example config\"\n            \"xorg-fonts-misc: Font used in example config\")\nmakedepends=(\"cmake\" \"python\" \"pkg-config\" \"python-sphinx\" \"python-packaging\" \"i3-wm\")\nconflicts=(\"polybar-git\")\n"
  },
  {
    "path": "testdata/db/local/ALPM_DB_VERSION",
    "content": "9\n"
  },
  {
    "path": "testdata/db/local/acl-2.3.1-1/desc",
    "content": "%NAME%\nacl\n\n%VERSION%\n2.3.1-1\n\n%BASE%\nacl\n\n%DESC%\nAccess control list utilities, libraries and headers\n\n%URL%\nhttps://savannah.nongnu.org/projects/acl\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1615888805\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nChristian Hesse <arch@eworm.de>\n\n%SIZE%\n333189\n\n%REASON%\n1\n\n%LICENSE%\nLGPL\n\n%VALIDATION%\npgp\n\n%REPLACES%\nxfsacl\n\n%DEPENDS%\nattr\nlibattr.so\n\n%CONFLICTS%\nxfsacl\n\n%PROVIDES%\nxfsacl\nlibacl.so=1-64\n\n"
  },
  {
    "path": "testdata/db/local/alsa-lib-1.2.4-3/desc",
    "content": "%NAME%\nalsa-lib\n\n%VERSION%\n1.2.4-3\n\n%BASE%\nalsa-lib\n\n%DESC%\nAn alternative implementation of Linux sound support\n\n%URL%\nhttps://www.alsa-project.org\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1603289779\n\n%INSTALLDATE%\n1621851264\n\n%PACKAGER%\nDavid Runge <dvzrv@archlinux.org>\n\n%SIZE%\n1655438\n\n%REASON%\n1\n\n%LICENSE%\nLGPL2.1\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\nalsa-topology-conf\nalsa-ucm-conf\n\n%PROVIDES%\nlibasound.so=2-64\nlibatopology.so=2-64\n\n"
  },
  {
    "path": "testdata/db/local/alsa-lib-1.2.4-3/files",
    "content": "%FILES%\nusr/\nusr/bin/\nusr/bin/aserver\nusr/include/\nusr/include/alsa/\nusr/include/alsa/asoundef.h\nusr/include/alsa/asoundlib.h\nusr/include/alsa/conf.h\nusr/include/alsa/control.h\nusr/include/alsa/control_external.h\nusr/include/alsa/error.h\nusr/include/alsa/global.h\nusr/include/alsa/hwdep.h\nusr/include/alsa/input.h\nusr/include/alsa/mixer.h\nusr/include/alsa/mixer_abst.h\nusr/include/alsa/output.h\nusr/include/alsa/pcm.h\nusr/include/alsa/pcm_external.h\nusr/include/alsa/pcm_extplug.h\nusr/include/alsa/pcm_ioplug.h\nusr/include/alsa/pcm_old.h\nusr/include/alsa/pcm_plugin.h\nusr/include/alsa/pcm_rate.h\nusr/include/alsa/rawmidi.h\nusr/include/alsa/seq.h\nusr/include/alsa/seq_event.h\nusr/include/alsa/seq_midi_event.h\nusr/include/alsa/seqmid.h\nusr/include/alsa/sound/\nusr/include/alsa/sound/asoc.h\nusr/include/alsa/sound/asound_fm.h\nusr/include/alsa/sound/emu10k1.h\nusr/include/alsa/sound/hdsp.h\nusr/include/alsa/sound/hdspm.h\nusr/include/alsa/sound/sb16_csp.h\nusr/include/alsa/sound/sscape_ioctl.h\nusr/include/alsa/sound/tlv.h\nusr/include/alsa/sound/type_compat.h\nusr/include/alsa/sound/uapi/\nusr/include/alsa/sound/uapi/asoc.h\nusr/include/alsa/sound/uapi/asound_fm.h\nusr/include/alsa/sound/uapi/emu10k1.h\nusr/include/alsa/sound/uapi/hdsp.h\nusr/include/alsa/sound/uapi/hdspm.h\nusr/include/alsa/sound/uapi/sb16_csp.h\nusr/include/alsa/sound/uapi/sscape_ioctl.h\nusr/include/alsa/sound/uapi/tlv.h\nusr/include/alsa/timer.h\nusr/include/alsa/topology.h\nusr/include/alsa/use-case.h\nusr/include/alsa/version.h\nusr/include/asoundlib.h\nusr/include/sys/\nusr/include/sys/asoundlib.h\nusr/lib/\nusr/lib/libasound.so\nusr/lib/libasound.so.2\nusr/lib/libasound.so.2.0.0\nusr/lib/libatopology.so\nusr/lib/libatopology.so.2\nusr/lib/libatopology.so.2.0.0\nusr/lib/pkgconfig/\nusr/lib/pkgconfig/alsa-topology.pc\nusr/lib/pkgconfig/alsa.pc\nusr/share/\nusr/share/aclocal/\nusr/share/aclocal/alsa.m4\nusr/share/alsa/\nusr/share/alsa/alsa.conf\nusr/share/alsa/cards/\nusr/share/alsa/cards/AACI.conf\nusr/share/alsa/cards/ATIIXP-MODEM.conf\nusr/share/alsa/cards/ATIIXP-SPDMA.conf\nusr/share/alsa/cards/ATIIXP.conf\nusr/share/alsa/cards/AU8810.conf\nusr/share/alsa/cards/AU8820.conf\nusr/share/alsa/cards/AU8830.conf\nusr/share/alsa/cards/Audigy.conf\nusr/share/alsa/cards/Audigy2.conf\nusr/share/alsa/cards/Aureon51.conf\nusr/share/alsa/cards/Aureon71.conf\nusr/share/alsa/cards/CA0106.conf\nusr/share/alsa/cards/CMI8338-SWIEC.conf\nusr/share/alsa/cards/CMI8338.conf\nusr/share/alsa/cards/CMI8738-MC6.conf\nusr/share/alsa/cards/CMI8738-MC8.conf\nusr/share/alsa/cards/CMI8788.conf\nusr/share/alsa/cards/CS46xx.conf\nusr/share/alsa/cards/EMU10K1.conf\nusr/share/alsa/cards/EMU10K1X.conf\nusr/share/alsa/cards/ENS1370.conf\nusr/share/alsa/cards/ENS1371.conf\nusr/share/alsa/cards/ES1968.conf\nusr/share/alsa/cards/Echo_Echo3G.conf\nusr/share/alsa/cards/FM801.conf\nusr/share/alsa/cards/FWSpeakers.conf\nusr/share/alsa/cards/FireWave.conf\nusr/share/alsa/cards/GUS.conf\nusr/share/alsa/cards/HDA-Intel.conf\nusr/share/alsa/cards/HdmiLpeAudio.conf\nusr/share/alsa/cards/ICE1712.conf\nusr/share/alsa/cards/ICE1724.conf\nusr/share/alsa/cards/ICH-MODEM.conf\nusr/share/alsa/cards/ICH.conf\nusr/share/alsa/cards/ICH4.conf\nusr/share/alsa/cards/Loopback.conf\nusr/share/alsa/cards/Maestro3.conf\nusr/share/alsa/cards/NFORCE.conf\nusr/share/alsa/cards/PC-Speaker.conf\nusr/share/alsa/cards/PMac.conf\nusr/share/alsa/cards/PMacToonie.conf\nusr/share/alsa/cards/PS3.conf\nusr/share/alsa/cards/RME9636.conf\nusr/share/alsa/cards/RME9652.conf\nusr/share/alsa/cards/SB-XFi.conf\nusr/share/alsa/cards/SI7018.conf\nusr/share/alsa/cards/TRID4DWAVENX.conf\nusr/share/alsa/cards/USB-Audio.conf\nusr/share/alsa/cards/VIA686A.conf\nusr/share/alsa/cards/VIA8233.conf\nusr/share/alsa/cards/VIA8233A.conf\nusr/share/alsa/cards/VIA8237.conf\nusr/share/alsa/cards/VX222.conf\nusr/share/alsa/cards/VXPocket.conf\nusr/share/alsa/cards/VXPocket440.conf\nusr/share/alsa/cards/YMF744.conf\nusr/share/alsa/cards/aliases.conf\nusr/share/alsa/cards/pistachio-card.conf\nusr/share/alsa/cards/vc4-hdmi.conf\nusr/share/alsa/pcm/\nusr/share/alsa/pcm/center_lfe.conf\nusr/share/alsa/pcm/default.conf\nusr/share/alsa/pcm/dmix.conf\nusr/share/alsa/pcm/dpl.conf\nusr/share/alsa/pcm/dsnoop.conf\nusr/share/alsa/pcm/front.conf\nusr/share/alsa/pcm/hdmi.conf\nusr/share/alsa/pcm/iec958.conf\nusr/share/alsa/pcm/modem.conf\nusr/share/alsa/pcm/rear.conf\nusr/share/alsa/pcm/side.conf\nusr/share/alsa/pcm/surround21.conf\nusr/share/alsa/pcm/surround40.conf\nusr/share/alsa/pcm/surround41.conf\nusr/share/alsa/pcm/surround50.conf\nusr/share/alsa/pcm/surround51.conf\nusr/share/alsa/pcm/surround71.conf\nusr/share/doc/\nusr/share/doc/alsa-lib/\nusr/share/doc/alsa-lib/ChangeLog\nusr/share/doc/alsa-lib/MEMORY-LEAK\nusr/share/doc/alsa-lib/NOTES\nusr/share/doc/alsa-lib/TODO\nusr/share/doc/alsa-lib/asoundrc.txt\n\n"
  },
  {
    "path": "testdata/db/local/alsa-topology-conf-1.2.4-2/desc",
    "content": "%NAME%\nalsa-topology-conf\n\n%VERSION%\n1.2.4-2\n\n%BASE%\nalsa-topology-conf\n\n%DESC%\nALSA topology configuration files\n\n%URL%\nhttps://alsa-project.org/\n\n%ARCH%\nany\n\n%BUILDDATE%\n1603292589\n\n%INSTALLDATE%\n1621851264\n\n%PACKAGER%\nDavid Runge <dvzrv@archlinux.org>\n\n%SIZE%\n343698\n\n%REASON%\n1\n\n%LICENSE%\nBSD\n\n%VALIDATION%\npgp\n\n"
  },
  {
    "path": "testdata/db/local/alsa-topology-conf-1.2.4-2/files",
    "content": "%FILES%\nusr/\nusr/share/\nusr/share/alsa/\nusr/share/alsa/topology/\nusr/share/alsa/topology/broadwell/\nusr/share/alsa/topology/broadwell/broadwell.conf\nusr/share/alsa/topology/bxtrt298/\nusr/share/alsa/topology/bxtrt298/bxt_i2s.conf\nusr/share/alsa/topology/hda-dsp/\nusr/share/alsa/topology/hda-dsp/skl_hda_dsp_generic-tplg.conf\nusr/share/alsa/topology/sklrt286/\nusr/share/alsa/topology/sklrt286/skl_i2s.conf\nusr/share/doc/\nusr/share/doc/alsa-topology-conf/\nusr/share/doc/alsa-topology-conf/README.md\nusr/share/licenses/\nusr/share/licenses/alsa-topology-conf/\nusr/share/licenses/alsa-topology-conf/LICENSE\n\n"
  },
  {
    "path": "testdata/db/local/alsa-ucm-conf-1.2.4-2/desc",
    "content": "%NAME%\nalsa-ucm-conf\n\n%VERSION%\n1.2.4-2\n\n%BASE%\nalsa-ucm-conf\n\n%DESC%\nALSA Use Case Manager configuration (and topologies)\n\n%URL%\nhttps://alsa-project.org/\n\n%ARCH%\nany\n\n%BUILDDATE%\n1603292700\n\n%INSTALLDATE%\n1621851264\n\n%PACKAGER%\nDavid Runge <dvzrv@archlinux.org>\n\n%SIZE%\n155610\n\n%REASON%\n1\n\n%LICENSE%\nBSD\n\n%VALIDATION%\npgp\n\n"
  },
  {
    "path": "testdata/db/local/alsa-ucm-conf-1.2.4-2/files",
    "content": "%FILES%\nusr/\nusr/share/\nusr/share/alsa/\nusr/share/alsa/ucm2/\nusr/share/alsa/ucm2/HDA-Intel/\nusr/share/alsa/ucm2/HDA-Intel/HDA-Capture-value.conf\nusr/share/alsa/ucm2/HDA-Intel/HDA-Intel.conf\nusr/share/alsa/ucm2/HDA-Intel/HDAudio-DualCodecs.conf\nusr/share/alsa/ucm2/HDA-Intel/HDAudio-Gigabyte-ALC1220DualCodecs.conf\nusr/share/alsa/ucm2/HDA-Intel/HDAudio-Lenovo-DualCodecs.conf\nusr/share/alsa/ucm2/HDA-Intel/Hdmi.conf\nusr/share/alsa/ucm2/HDA-Intel/HiFi-acp.conf\nusr/share/alsa/ucm2/HDA-Intel/HiFi-analog.conf\nusr/share/alsa/ucm2/HDA-Intel/HiFi-dual.conf\nusr/share/alsa/ucm2/HDA-Intel/HiFi.conf\nusr/share/alsa/ucm2/HDA-Intel/init.conf\nusr/share/alsa/ucm2/OMAP/\nusr/share/alsa/ucm2/OMAP/abe-twl6040/\nusr/share/alsa/ucm2/OMAP/abe-twl6040/Pandaboard/\nusr/share/alsa/ucm2/OMAP/abe-twl6040/Pandaboard/FMAnalog.conf\nusr/share/alsa/ucm2/OMAP/abe-twl6040/Pandaboard/HiFi.conf\nusr/share/alsa/ucm2/OMAP/abe-twl6040/Pandaboard/HiFiLP.conf\nusr/share/alsa/ucm2/OMAP/abe-twl6040/Pandaboard/Pandaboard.conf\nusr/share/alsa/ucm2/OMAP/abe-twl6040/Pandaboard/Record.conf\nusr/share/alsa/ucm2/OMAP/abe-twl6040/Pandaboard/Voice.conf\nusr/share/alsa/ucm2/OMAP/abe-twl6040/Pandaboard/VoiceCall.conf\nusr/share/alsa/ucm2/OMAP/abe-twl6040/SDP4430/\nusr/share/alsa/ucm2/OMAP/abe-twl6040/SDP4430/FMAnalog.conf\nusr/share/alsa/ucm2/OMAP/abe-twl6040/SDP4430/HiFi.conf\nusr/share/alsa/ucm2/OMAP/abe-twl6040/SDP4430/HiFiLP.conf\nusr/share/alsa/ucm2/OMAP/abe-twl6040/SDP4430/Record.conf\nusr/share/alsa/ucm2/OMAP/abe-twl6040/SDP4430/SDP4430.conf\nusr/share/alsa/ucm2/OMAP/abe-twl6040/SDP4430/Voice.conf\nusr/share/alsa/ucm2/OMAP/abe-twl6040/SDP4430/VoiceCall.conf\nusr/share/alsa/ucm2/OMAP/abe-twl6040/abe-twl6040.conf\nusr/share/alsa/ucm2/Qualcomm/\nusr/share/alsa/ucm2/Qualcomm/apq8016-sbc/\nusr/share/alsa/ucm2/Qualcomm/apq8016-sbc/HDMI.conf\nusr/share/alsa/ucm2/Qualcomm/apq8016-sbc/HiFi.conf\nusr/share/alsa/ucm2/Qualcomm/apq8016-sbc/apq8016-sbc.conf\nusr/share/alsa/ucm2/Qualcomm/apq8096/\nusr/share/alsa/ucm2/Qualcomm/apq8096/HDMI.conf\nusr/share/alsa/ucm2/Qualcomm/apq8096/HiFi.conf\nusr/share/alsa/ucm2/Qualcomm/apq8096/apq8096.conf\nusr/share/alsa/ucm2/Qualcomm/sdm845/\nusr/share/alsa/ucm2/Qualcomm/sdm845/HDMI.conf\nusr/share/alsa/ucm2/Qualcomm/sdm845/HiFi.conf\nusr/share/alsa/ucm2/Qualcomm/sdm845/sdm845.conf\nusr/share/alsa/ucm2/Rockchip/\nusr/share/alsa/ucm2/Rockchip/max98090/\nusr/share/alsa/ucm2/Rockchip/max98090/HiFi.conf\nusr/share/alsa/ucm2/Rockchip/max98090/max98090.conf\nusr/share/alsa/ucm2/Rockchip/rk3399-gru-sound/\nusr/share/alsa/ucm2/Rockchip/rk3399-gru-sound/HiFi.conf\nusr/share/alsa/ucm2/Rockchip/rk3399-gru-sound/rk3399-gru-sound.conf\nusr/share/alsa/ucm2/SOF/\nusr/share/alsa/ucm2/SOF/HiFi.conf\nusr/share/alsa/ucm2/SOF/SOF.conf\nusr/share/alsa/ucm2/Samsung/\nusr/share/alsa/ucm2/Samsung/snow/\nusr/share/alsa/ucm2/Samsung/snow/HiFi.conf\nusr/share/alsa/ucm2/Samsung/snow/snow.conf\nusr/share/alsa/ucm2/Tegra/\nusr/share/alsa/ucm2/Tegra/alc5632/\nusr/share/alsa/ucm2/Tegra/alc5632/HiFi.conf\nusr/share/alsa/ucm2/Tegra/alc5632/Record.conf\nusr/share/alsa/ucm2/Tegra/alc5632/alc5632.conf\nusr/share/alsa/ucm2/Tegra/max98090/\nusr/share/alsa/ucm2/Tegra/max98090/HiFi.conf\nusr/share/alsa/ucm2/Tegra/max98090/max98090.conf\nusr/share/alsa/ucm2/USB-Audio/\nusr/share/alsa/ucm2/USB-Audio/Dell-WD15-Dock-HiFi.conf\nusr/share/alsa/ucm2/USB-Audio/Dell-WD15-Dock.conf\nusr/share/alsa/ucm2/USB-Audio/Lenovo-ThinkStation-P620-Main-HiFi.conf\nusr/share/alsa/ucm2/USB-Audio/Lenovo-ThinkStation-P620-Main.conf\nusr/share/alsa/ucm2/USB-Audio/Lenovo-ThinkStation-P620-Rear-HiFi.conf\nusr/share/alsa/ucm2/USB-Audio/Lenovo-ThinkStation-P620-Rear.conf\nusr/share/alsa/ucm2/USB-Audio/Realtek-ALC1220-VB-Desktop-HiFi.conf\nusr/share/alsa/ucm2/USB-Audio/Realtek-ALC1220-VB-Desktop.conf\nusr/share/alsa/ucm2/bdw-rt5677/\nusr/share/alsa/ucm2/bdw-rt5677/HiFi.conf\nusr/share/alsa/ucm2/bdw-rt5677/bdw-rt5677.conf\nusr/share/alsa/ucm2/broadwell-rt286/\nusr/share/alsa/ucm2/broadwell-rt286/HiFi.conf\nusr/share/alsa/ucm2/broadwell-rt286/broadwell-rt286.conf\nusr/share/alsa/ucm2/broxton-rt298/\nusr/share/alsa/ucm2/broxton-rt298/Hdmi.conf\nusr/share/alsa/ucm2/broxton-rt298/HiFi.conf\nusr/share/alsa/ucm2/broxton-rt298/broxton-rt298.conf\nusr/share/alsa/ucm2/bytcht-cx2072x/\nusr/share/alsa/ucm2/bytcht-cx2072x/HiFi.conf\nusr/share/alsa/ucm2/bytcht-cx2072x/bytcht-cx2072x.conf\nusr/share/alsa/ucm2/bytcht-es8316/\nusr/share/alsa/ucm2/bytcht-es8316/HiFi-Components.conf\nusr/share/alsa/ucm2/bytcht-es8316/HiFi-LongName.conf\nusr/share/alsa/ucm2/bytcht-es8316/HiFi.conf\nusr/share/alsa/ucm2/bytcht-es8316/bytcht-es8316.conf\nusr/share/alsa/ucm2/bytcr-rt5640/\nusr/share/alsa/ucm2/bytcr-rt5640/HiFi-Components.conf\nusr/share/alsa/ucm2/bytcr-rt5640/HiFi-LongName.conf\nusr/share/alsa/ucm2/bytcr-rt5640/HiFi.conf\nusr/share/alsa/ucm2/bytcr-rt5640/bytcr-rt5640.conf\nusr/share/alsa/ucm2/bytcr-rt5651/\nusr/share/alsa/ucm2/bytcr-rt5651/HiFi-Components.conf\nusr/share/alsa/ucm2/bytcr-rt5651/HiFi-LongName.conf\nusr/share/alsa/ucm2/bytcr-rt5651/HiFi.conf\nusr/share/alsa/ucm2/bytcr-rt5651/bytcr-rt5651.conf\nusr/share/alsa/ucm2/cht-bsw-rt5672/\nusr/share/alsa/ucm2/cht-bsw-rt5672/HiFi.conf\nusr/share/alsa/ucm2/cht-bsw-rt5672/cht-bsw-rt5672.conf\nusr/share/alsa/ucm2/chtmax98090/\nusr/share/alsa/ucm2/chtmax98090/HiFi.conf\nusr/share/alsa/ucm2/chtmax98090/chtmax98090.conf\nusr/share/alsa/ucm2/chtnau8824/\nusr/share/alsa/ucm2/chtnau8824/HiFi.conf\nusr/share/alsa/ucm2/chtnau8824/chtnau8824.conf\nusr/share/alsa/ucm2/chtrt5645/\nusr/share/alsa/ucm2/chtrt5645/HiFi.conf\nusr/share/alsa/ucm2/chtrt5645/chtrt5645.conf\nusr/share/alsa/ucm2/chtrt5650/\nusr/share/alsa/ucm2/chtrt5650/HiFi.conf\nusr/share/alsa/ucm2/chtrt5650/chtrt5650.conf\nusr/share/alsa/ucm2/codecs/\nusr/share/alsa/ucm2/codecs/cx2072x/\nusr/share/alsa/ucm2/codecs/cx2072x/DisableSeq.conf\nusr/share/alsa/ucm2/codecs/cx2072x/EnableSeq.conf\nusr/share/alsa/ucm2/codecs/cx2072x/HeadPhones.conf\nusr/share/alsa/ucm2/codecs/cx2072x/HeadsetMic.conf\nusr/share/alsa/ucm2/codecs/cx2072x/InternalMic.conf\nusr/share/alsa/ucm2/codecs/cx2072x/Speaker.conf\nusr/share/alsa/ucm2/codecs/es8316/\nusr/share/alsa/ucm2/codecs/es8316/EnableSeq.conf\nusr/share/alsa/ucm2/codecs/es8316/HeadPhones.conf\nusr/share/alsa/ucm2/codecs/es8316/IN1-HeadsetMic.conf\nusr/share/alsa/ucm2/codecs/es8316/IN1-InternalMic.conf\nusr/share/alsa/ucm2/codecs/es8316/IN2-HeadsetMic.conf\nusr/share/alsa/ucm2/codecs/es8316/IN2-InternalMic.conf\nusr/share/alsa/ucm2/codecs/es8316/MonoSpeaker.conf\nusr/share/alsa/ucm2/codecs/es8316/Speaker.conf\nusr/share/alsa/ucm2/codecs/hda/\nusr/share/alsa/ucm2/codecs/hda/hdmi.conf\nusr/share/alsa/ucm2/codecs/max98090/\nusr/share/alsa/ucm2/codecs/max98090/EnableSeq.conf\nusr/share/alsa/ucm2/codecs/max98090/Headphones.conf\nusr/share/alsa/ucm2/codecs/max98090/HeadsetMic.conf\nusr/share/alsa/ucm2/codecs/max98090/InternalMic.conf\nusr/share/alsa/ucm2/codecs/max98090/Speaker.conf\nusr/share/alsa/ucm2/codecs/nau8824/\nusr/share/alsa/ucm2/codecs/nau8824/EnableSeq.conf\nusr/share/alsa/ucm2/codecs/nau8824/HeadPhones.conf\nusr/share/alsa/ucm2/codecs/nau8824/HeadsetMic.conf\nusr/share/alsa/ucm2/codecs/nau8824/InternalMic.conf\nusr/share/alsa/ucm2/codecs/nau8824/MonoSpeaker.conf\nusr/share/alsa/ucm2/codecs/nau8824/Speaker.conf\nusr/share/alsa/ucm2/codecs/rt5640/\nusr/share/alsa/ucm2/codecs/rt5640/DigitalMics.conf\nusr/share/alsa/ucm2/codecs/rt5640/EnableSeq.conf\nusr/share/alsa/ucm2/codecs/rt5640/HeadPhones.conf\nusr/share/alsa/ucm2/codecs/rt5640/HeadsetMic.conf\nusr/share/alsa/ucm2/codecs/rt5640/IN1-InternalMic.conf\nusr/share/alsa/ucm2/codecs/rt5640/IN3-InternalMic.conf\nusr/share/alsa/ucm2/codecs/rt5640/MonoSpeaker.conf\nusr/share/alsa/ucm2/codecs/rt5640/Speaker.conf\nusr/share/alsa/ucm2/codecs/rt5645/\nusr/share/alsa/ucm2/codecs/rt5645/AnalogMic.conf\nusr/share/alsa/ucm2/codecs/rt5645/DigitalMicDisableSeq.conf\nusr/share/alsa/ucm2/codecs/rt5645/DigitalMicEnableSeq.conf\nusr/share/alsa/ucm2/codecs/rt5645/DisableSeq.conf\nusr/share/alsa/ucm2/codecs/rt5645/EnableSeq.conf\nusr/share/alsa/ucm2/codecs/rt5645/HSMicDisableSeq.conf\nusr/share/alsa/ucm2/codecs/rt5645/HSMicEnableSeq.conf\nusr/share/alsa/ucm2/codecs/rt5645/HeadphonesEnableSeq.conf\nusr/share/alsa/ucm2/codecs/rt5645/SpeakerEnableSeq.conf\nusr/share/alsa/ucm2/codecs/rt5651/\nusr/share/alsa/ucm2/codecs/rt5651/DigitalMic.conf\nusr/share/alsa/ucm2/codecs/rt5651/EnableSeq.conf\nusr/share/alsa/ucm2/codecs/rt5651/HeadPhones-swapped.conf\nusr/share/alsa/ucm2/codecs/rt5651/HeadPhones.conf\nusr/share/alsa/ucm2/codecs/rt5651/IN1-InternalMic.conf\nusr/share/alsa/ucm2/codecs/rt5651/IN12-InternalMic.conf\nusr/share/alsa/ucm2/codecs/rt5651/IN2-HeadsetMic.conf\nusr/share/alsa/ucm2/codecs/rt5651/IN2-InternalMic.conf\nusr/share/alsa/ucm2/codecs/rt5651/IN3-HeadsetMic.conf\nusr/share/alsa/ucm2/codecs/rt5651/MonoSpeaker.conf\nusr/share/alsa/ucm2/codecs/rt5651/Speaker.conf\nusr/share/alsa/ucm2/codecs/rt5672/\nusr/share/alsa/ucm2/codecs/rt5672/DMIC1.conf\nusr/share/alsa/ucm2/codecs/rt5672/DMIC2.conf\nusr/share/alsa/ucm2/codecs/rt5672/EnableSeq.conf\nusr/share/alsa/ucm2/codecs/rt5672/HeadPhones.conf\nusr/share/alsa/ucm2/codecs/rt5672/HeadsetMic.conf\nusr/share/alsa/ucm2/codecs/rt5672/MonoSpeaker.conf\nusr/share/alsa/ucm2/codecs/rt5672/Speaker.conf\nusr/share/alsa/ucm2/codecs/rt5682/\nusr/share/alsa/ucm2/codecs/rt5682/init.conf\nusr/share/alsa/ucm2/codecs/rt700/\nusr/share/alsa/ucm2/codecs/rt700/init.conf\nusr/share/alsa/ucm2/codecs/rt711/\nusr/share/alsa/ucm2/codecs/rt711/init.conf\nusr/share/alsa/ucm2/codecs/rt715/\nusr/share/alsa/ucm2/codecs/rt715/init.conf\nusr/share/alsa/ucm2/codecs/wcd934x/\nusr/share/alsa/ucm2/codecs/wcd934x/DefaultDisableSeq.conf\nusr/share/alsa/ucm2/codecs/wcd934x/DefaultEnableSeq.conf\nusr/share/alsa/ucm2/codecs/wcd934x/HeadphoneDisableSeq.conf\nusr/share/alsa/ucm2/codecs/wcd934x/HeadphoneEnableSeq.conf\nusr/share/alsa/ucm2/codecs/wcd934x/HeadphoneMicDisableSeq.conf\nusr/share/alsa/ucm2/codecs/wcd934x/HeadphoneMicEnableSeq.conf\nusr/share/alsa/ucm2/codecs/wcd934x/SpeakerDisableSeq.conf\nusr/share/alsa/ucm2/codecs/wcd934x/SpeakerEnableSeq.conf\nusr/share/alsa/ucm2/codecs/wsa881x/\nusr/share/alsa/ucm2/codecs/wsa881x/DefaultEnableSeq.conf\nusr/share/alsa/ucm2/codecs/wsa881x/SpeakerDisableSeq.conf\nusr/share/alsa/ucm2/codecs/wsa881x/SpeakerEnableSeq.conf\nusr/share/alsa/ucm2/hda-dsp/\nusr/share/alsa/ucm2/hda-dsp/Hdmi1.conf\nusr/share/alsa/ucm2/hda-dsp/Hdmi2.conf\nusr/share/alsa/ucm2/hda-dsp/HiFi.conf\nusr/share/alsa/ucm2/hda-dsp/hda-dsp.conf\nusr/share/alsa/ucm2/kblrt5660/\nusr/share/alsa/ucm2/kblrt5660/Hdmi1.conf\nusr/share/alsa/ucm2/kblrt5660/Hdmi2.conf\nusr/share/alsa/ucm2/kblrt5660/HiFi.conf\nusr/share/alsa/ucm2/kblrt5660/kblrt5660.conf\nusr/share/alsa/ucm2/module/\nusr/share/alsa/ucm2/module/lib/\nusr/share/alsa/ucm2/module/lib/linked.conf\nusr/share/alsa/ucm2/module/snd_acp3x_rn.conf\nusr/share/alsa/ucm2/module/snd_soc_apq8016_sbc.conf\nusr/share/alsa/ucm2/module/snd_soc_apq8096.conf\nusr/share/alsa/ucm2/module/snd_soc_omap_abe_twl6040.conf\nusr/share/alsa/ucm2/module/snd_soc_rk3399_gru_sound.conf\nusr/share/alsa/ucm2/module/snd_soc_rockchip_max98090.conf\nusr/share/alsa/ucm2/module/snd_soc_sdm845.conf\nusr/share/alsa/ucm2/module/snd_soc_snow.conf\nusr/share/alsa/ucm2/module/snd_soc_tegra_alc5632.conf\nusr/share/alsa/ucm2/module/snd_soc_tegra_max98090.conf\nusr/share/alsa/ucm2/platforms/\nusr/share/alsa/ucm2/platforms/bytcr/\nusr/share/alsa/ucm2/platforms/bytcr/PlatformDisableSeq.conf\nusr/share/alsa/ucm2/platforms/bytcr/PlatformEnableSeq.conf\nusr/share/alsa/ucm2/skylake-rt286/\nusr/share/alsa/ucm2/skylake-rt286/Hdmi1.conf\nusr/share/alsa/ucm2/skylake-rt286/Hdmi2.conf\nusr/share/alsa/ucm2/skylake-rt286/HiFi.conf\nusr/share/alsa/ucm2/skylake-rt286/skylake-rt286.conf\nusr/share/alsa/ucm2/sof-hda-dsp/\nusr/share/alsa/ucm2/sof-hda-dsp/Hdmi.conf\nusr/share/alsa/ucm2/sof-hda-dsp/HiFi.conf\nusr/share/alsa/ucm2/sof-hda-dsp/sof-hda-dsp.conf\nusr/share/alsa/ucm2/sof-soundwire/\nusr/share/alsa/ucm2/sof-soundwire/Hdmi.conf\nusr/share/alsa/ucm2/sof-soundwire/HiFi.conf\nusr/share/alsa/ucm2/sof-soundwire/rt1308-2.conf\nusr/share/alsa/ucm2/sof-soundwire/rt1308-4.conf\nusr/share/alsa/ucm2/sof-soundwire/rt5682.conf\nusr/share/alsa/ucm2/sof-soundwire/rt700.conf\nusr/share/alsa/ucm2/sof-soundwire/rt711.conf\nusr/share/alsa/ucm2/sof-soundwire/rt715.conf\nusr/share/alsa/ucm2/sof-soundwire/sof-soundwire.conf\nusr/share/alsa/ucm2/ucm.conf\nusr/share/doc/\nusr/share/doc/alsa-ucm-conf/\nusr/share/doc/alsa-ucm-conf/README.md\nusr/share/doc/alsa-ucm-conf/ucm2/\nusr/share/doc/alsa-ucm-conf/ucm2/README.md\nusr/share/licenses/\nusr/share/licenses/alsa-ucm-conf/\nusr/share/licenses/alsa-ucm-conf/LICENSE\n\n"
  },
  {
    "path": "testdata/db/local/archlinux-keyring-20210110-1/desc",
    "content": "%NAME%\narchlinux-keyring\n\n%VERSION%\n20210110-1\n\n%BASE%\narchlinux-keyring\n\n%DESC%\nArch Linux PGP keyring\n\n%URL%\nhttps://projects.archlinux.org/archlinux-keyring.git/\n\n%ARCH%\nany\n\n%BUILDDATE%\n1610310615\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nChristian Hesse <arch@eworm.de>\n\n%SIZE%\n1375022\n\n%REASON%\n1\n\n%LICENSE%\nGPL\n\n%VALIDATION%\npgp\n\n"
  },
  {
    "path": "testdata/db/local/archlinux-keyring-20210110-1/install",
    "content": "post_upgrade() {\n\tif usr/bin/pacman-key -l >/dev/null 2>&1; then\n\t\tusr/bin/pacman-key --populate archlinux\n\n\t\t# Re-enable key of alad\n\t\t# See https://bugs.archlinux.org/task/35478\n\t\tprintf 'enable\\nquit\\n' | LANG=C \\\n\t\t\tgpg --homedir /etc/pacman.d/gnupg \\\n\t\t\t--no-permission-warning --command-fd 0 \\\n\t\t\t--quiet --batch --edit-key \\\n\t\t\tDBE7D3DD8C81D58D0A13D0E76BC26A17B9B7018A \\\n\t\t\t2>/dev/null\n\tfi\n}\n\npost_install() {\n\tif [ -x usr/bin/pacman-key ]; then\n\t\tpost_upgrade\n\tfi\n}\n"
  },
  {
    "path": "testdata/db/local/argon2-20190702-3/desc",
    "content": "%NAME%\nargon2\n\n%VERSION%\n20190702-3\n\n%BASE%\nargon2\n\n%DESC%\nA password-hashing function (reference C implementation)\n\n%URL%\nhttps://github.com/P-H-C/phc-winner-argon2\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1588833333\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nChristian Hesse <arch@eworm.de>\n\n%SIZE%\n116248\n\n%REASON%\n1\n\n%LICENSE%\nApache\ncustom:CC0\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\n\n%PROVIDES%\nlibargon2.so=1-64\n\n"
  },
  {
    "path": "testdata/db/local/attr-2.5.1-1/desc",
    "content": "%NAME%\nattr\n\n%VERSION%\n2.5.1-1\n\n%BASE%\nattr\n\n%DESC%\nExtended attribute support library for ACL support\n\n%URL%\nhttps://savannah.nongnu.org/projects/attr\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1615888678\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nChristian Hesse <arch@eworm.de>\n\n%SIZE%\n212575\n\n%REASON%\n1\n\n%LICENSE%\nLGPL\n\n%VALIDATION%\npgp\n\n%REPLACES%\nxfsattr\n\n%DEPENDS%\nglibc\n\n%CONFLICTS%\nxfsattr\n\n%PROVIDES%\nxfsattr\nlibattr.so=1-64\n\n"
  },
  {
    "path": "testdata/db/local/audit-3.0.1-1/desc",
    "content": "%NAME%\naudit\n\n%VERSION%\n3.0.1-1\n\n%BASE%\naudit\n\n%DESC%\nUserspace components of the audit framework\n\n%URL%\nhttps://people.redhat.com/sgrubb/audit\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1613241976\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nLevente Polyak <anthraxx@archlinux.org>\n\n%SIZE%\n1083213\n\n%REASON%\n1\n\n%LICENSE%\nGPL\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\nkrb5\nlibcap-ng\n\n%PROVIDES%\nlibaudit.so=1-64\nlibauparse.so=0-64\n\n"
  },
  {
    "path": "testdata/db/local/base-2-2/desc",
    "content": "%NAME%\nbase\n\n%VERSION%\n2-2\n\n%BASE%\nbase\n\n%DESC%\nMinimal package set to define a basic Arch Linux installation\n\n%URL%\nhttps://www.archlinux.org\n\n%ARCH%\nany\n\n%BUILDDATE%\n1573662109\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nEvangelos Foutras <evangelos@foutrelis.com>\n\n%LICENSE%\nGPL\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nfilesystem\ngcc-libs\nglibc\nbash\ncoreutils\nfile\nfindutils\ngawk\ngrep\nprocps-ng\nsed\ntar\ngettext\npciutils\npsmisc\nshadow\nutil-linux\nbzip2\ngzip\nxz\nlicenses\npacman\nsystemd\nsystemd-sysvcompat\niputils\niproute2\n\n%OPTDEPENDS%\nlinux: bare metal support\n\n"
  },
  {
    "path": "testdata/db/local/bash-5.1.004-1/desc",
    "content": "%NAME%\nbash\n\n%VERSION%\n5.1.004-1\n\n%BASE%\nbash\n\n%DESC%\nThe GNU Bourne Again shell\n\n%URL%\nhttps://www.gnu.org/software/bash/bash.html\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1608489861\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nGiancarlo Razzolini <grazzolini@archlinux.org>\n\n%SIZE%\n8590083\n\n%REASON%\n1\n\n%LICENSE%\nGPL\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nreadline\nlibreadline.so=8-64\nglibc\nncurses\n\n%OPTDEPENDS%\nbash-completion: for tab completion\n\n%PROVIDES%\nsh\n\n"
  },
  {
    "path": "testdata/db/local/bzip2-1.0.8-4/desc",
    "content": "%NAME%\nbzip2\n\n%VERSION%\n1.0.8-4\n\n%BASE%\nbzip2\n\n%DESC%\nA high-quality data compression program\n\n%URL%\nhttps://sourceware.org/bzip2/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1604351007\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nLevente Polyak <anthraxx@archlinux.org>\n\n%SIZE%\n147687\n\n%REASON%\n1\n\n%LICENSE%\nBSD\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\nsh\n\n%PROVIDES%\nlibbz2.so=1.0-64\n\n"
  },
  {
    "path": "testdata/db/local/ca-certificates-20181109-4/desc",
    "content": "%NAME%\nca-certificates\n\n%VERSION%\n20181109-4\n\n%BASE%\nca-certificates\n\n%DESC%\nCommon CA certificates (default providers)\n\n%URL%\nhttps://src.fedoraproject.org/rpms/ca-certificates\n\n%ARCH%\nany\n\n%BUILDDATE%\n1595954161\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nJan Alexander Steffens (heftig) <heftig@archlinux.org>\n\n%REASON%\n1\n\n%LICENSE%\nGPL2\n\n%VALIDATION%\npgp\n\n%REPLACES%\nca-certificates-cacert<=20140824-4\n\n%DEPENDS%\nca-certificates-mozilla\n\n%CONFLICTS%\nca-certificates-cacert<=20140824-4\n\n"
  },
  {
    "path": "testdata/db/local/ca-certificates-mozilla-3.64-1/desc",
    "content": "%NAME%\nca-certificates-mozilla\n\n%VERSION%\n3.64-1\n\n%BASE%\nnss\n\n%DESC%\nMozilla's set of trusted CA certificates\n\n%URL%\nhttps://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1618580283\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nJan Alexander Steffens (heftig) <heftig@archlinux.org>\n\n%SIZE%\n912871\n\n%REASON%\n1\n\n%LICENSE%\nMPL\nGPL\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nca-certificates-utils>=20181109-3\n\n"
  },
  {
    "path": "testdata/db/local/ca-certificates-utils-20181109-4/desc",
    "content": "%NAME%\nca-certificates-utils\n\n%VERSION%\n20181109-4\n\n%BASE%\nca-certificates\n\n%DESC%\nCommon CA certificates (utilities)\n\n%URL%\nhttps://src.fedoraproject.org/rpms/ca-certificates\n\n%ARCH%\nany\n\n%BUILDDATE%\n1595954161\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nJan Alexander Steffens (heftig) <heftig@archlinux.org>\n\n%SIZE%\n6188\n\n%REASON%\n1\n\n%LICENSE%\nGPL2\n\n%VALIDATION%\npgp\n\n%REPLACES%\nca-certificates-java\n\n%DEPENDS%\nbash\ncoreutils\nfindutils\np11-kit>=0.23.19\n\n%CONFLICTS%\nca-certificates-java\n\n%PROVIDES%\nca-certificates\nca-certificates-java\n\n"
  },
  {
    "path": "testdata/db/local/cairo-1.17.4-5/desc",
    "content": "%NAME%\ncairo\n\n%VERSION%\n1.17.4-5\n\n%BASE%\ncairo\n\n%DESC%\n2D graphics library with support for multiple output devices\n\n%URL%\nhttps://cairographics.org/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1615928798\n\n%INSTALLDATE%\n1621851264\n\n%PACKAGER%\nJan Alexander Steffens (heftig) <heftig@archlinux.org>\n\n%SIZE%\n1758391\n\n%REASON%\n1\n\n%LICENSE%\nLGPL\nMPL\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nlzo\nzlib\nlibpng\nfontconfig\nfreetype2\nlibx11\nlibxext\nlibxrender\nlibxcb\nglib2\npixman\n\n"
  },
  {
    "path": "testdata/db/local/cairo-1.17.4-5/files",
    "content": "%FILES%\nusr/\nusr/bin/\nusr/bin/cairo-sphinx\nusr/bin/cairo-trace\nusr/include/\nusr/include/cairo/\nusr/include/cairo/cairo-deprecated.h\nusr/include/cairo/cairo-features.h\nusr/include/cairo/cairo-ft.h\nusr/include/cairo/cairo-gobject.h\nusr/include/cairo/cairo-pdf.h\nusr/include/cairo/cairo-ps.h\nusr/include/cairo/cairo-script-interpreter.h\nusr/include/cairo/cairo-script.h\nusr/include/cairo/cairo-svg.h\nusr/include/cairo/cairo-tee.h\nusr/include/cairo/cairo-version.h\nusr/include/cairo/cairo-xcb.h\nusr/include/cairo/cairo-xlib-xrender.h\nusr/include/cairo/cairo-xlib.h\nusr/include/cairo/cairo-xml.h\nusr/include/cairo/cairo.h\nusr/lib/\nusr/lib/cairo/\nusr/lib/cairo/libcairo-fdr.so\nusr/lib/cairo/libcairo-sphinx.so\nusr/lib/cairo/libcairo-trace.so\nusr/lib/libcairo-gobject.so\nusr/lib/libcairo-gobject.so.2\nusr/lib/libcairo-gobject.so.2.11704.0\nusr/lib/libcairo-script-interpreter.so\nusr/lib/libcairo-script-interpreter.so.2\nusr/lib/libcairo-script-interpreter.so.2.11704.0\nusr/lib/libcairo.so\nusr/lib/libcairo.so.2\nusr/lib/libcairo.so.2.11704.0\nusr/lib/pkgconfig/\nusr/lib/pkgconfig/cairo-fc.pc\nusr/lib/pkgconfig/cairo-ft.pc\nusr/lib/pkgconfig/cairo-gobject.pc\nusr/lib/pkgconfig/cairo-pdf.pc\nusr/lib/pkgconfig/cairo-png.pc\nusr/lib/pkgconfig/cairo-ps.pc\nusr/lib/pkgconfig/cairo-script.pc\nusr/lib/pkgconfig/cairo-svg.pc\nusr/lib/pkgconfig/cairo-tee.pc\nusr/lib/pkgconfig/cairo-xcb-shm.pc\nusr/lib/pkgconfig/cairo-xcb.pc\nusr/lib/pkgconfig/cairo-xlib-xrender.pc\nusr/lib/pkgconfig/cairo-xlib.pc\nusr/lib/pkgconfig/cairo-xml.pc\nusr/lib/pkgconfig/cairo.pc\n\n"
  },
  {
    "path": "testdata/db/local/coreutils-8.32-1/desc",
    "content": "%NAME%\ncoreutils\n\n%VERSION%\n8.32-1\n\n%BASE%\ncoreutils\n\n%DESC%\nThe basic file, shell and text manipulation utilities of the GNU operating system\n\n%URL%\nhttps://www.gnu.org/software/coreutils/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1583499672\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nSébastien Luttringer <seblu@seblu.net>\n\n%SIZE%\n16765236\n\n%REASON%\n1\n\n%LICENSE%\nGPL3\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\nacl\nattr\ngmp\nlibcap\nopenssl\n\n"
  },
  {
    "path": "testdata/db/local/cryptsetup-2.3.5-4/desc",
    "content": "%NAME%\ncryptsetup\n\n%VERSION%\n2.3.5-4\n\n%BASE%\ncryptsetup\n\n%DESC%\nUserspace setup tool for transparent encryption of block devices using dm-crypt\n\n%URL%\nhttps://gitlab.com/cryptsetup/cryptsetup/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1617664496\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nChristian Hesse <arch@eworm.de>\n\n%SIZE%\n2673945\n\n%REASON%\n1\n\n%LICENSE%\nGPL\n\n%VALIDATION%\npgp\n\n%DEPENDS%\ndevice-mapper\nlibdevmapper.so=1.02-64\nopenssl\npopt\nutil-linux-libs\nlibuuid.so=1-64\njson-c\nlibjson-c.so=5-64\nargon2\nlibargon2.so=1-64\n\n%PROVIDES%\nlibcryptsetup.so=12-64\n\n"
  },
  {
    "path": "testdata/db/local/curl-7.76.1-1/desc",
    "content": "%NAME%\ncurl\n\n%VERSION%\n7.76.1-1\n\n%BASE%\ncurl\n\n%DESC%\nAn URL retrieval utility and library\n\n%URL%\nhttps://curl.haxx.se\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1618385605\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nChristian Hesse <arch@eworm.de>\n\n%SIZE%\n1806036\n\n%REASON%\n1\n\n%LICENSE%\nMIT\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nca-certificates\nkrb5\nlibssh2\nlibssh2.so=1-64\nopenssl\nzlib\nlibpsl\nlibpsl.so=5-64\nlibnghttp2\nlibidn2\nlibidn2.so=0-64\nzstd\n\n%PROVIDES%\nlibcurl.so=4-64\n\n"
  },
  {
    "path": "testdata/db/local/dbus-1.12.20-1/desc",
    "content": "%NAME%\ndbus\n\n%VERSION%\n1.12.20-1\n\n%BASE%\ndbus\n\n%DESC%\nFreedesktop.org message bus system\n\n%URL%\nhttps://wiki.freedesktop.org/www/Software/dbus/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1593713143\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nJan Alexander Steffens (heftig) <heftig@archlinux.org>\n\n%SIZE%\n988146\n\n%REASON%\n1\n\n%LICENSE%\nGPL\ncustom\n\n%VALIDATION%\npgp\n\n%REPLACES%\nlibdbus\n\n%DEPENDS%\nsystemd-libs\nexpat\naudit\nlibsystemd.so=0-64\nlibaudit.so=1-64\n\n%CONFLICTS%\nlibdbus\n\n%PROVIDES%\nlibdbus\nlibdbus-1.so=3-64\n\n"
  },
  {
    "path": "testdata/db/local/devel-1-1/desc",
    "content": "%NAME%\ndevel\n\n%VERSION%\n1-1\n\n%BASE%\ndevel\n\n%DESC%\n\n\n%URL%\n\n\n%ARCH%\nany\n\n%BUILDDATE%\n1697290439\n\n%INSTALLDATE%\n1697290651\n\n%PACKAGER%\nUnknown Packager\n\n%VALIDATION%\nnone\n\n%XDATA%\npkgtype=pkg\n\n"
  },
  {
    "path": "testdata/db/local/devel-1-1/files",
    "content": ""
  },
  {
    "path": "testdata/db/local/device-mapper-2.03.11-5/desc",
    "content": "%NAME%\ndevice-mapper\n\n%VERSION%\n2.03.11-5\n\n%BASE%\nlvm2\n\n%DESC%\nDevice mapper userspace library and tools\n\n%URL%\nhttp://sourceware.org/dm/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1614239556\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nChristian Hesse <arch@eworm.de>\n\n%SIZE%\n853870\n\n%REASON%\n1\n\n%LICENSE%\nGPL2\nLGPL2.1\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\nsystemd-libs\nlibudev.so=1-64\n\n%PROVIDES%\nlibdevmapper.so=1.02-64\nlibdevmapper-event.so=1.02-64\n\n"
  },
  {
    "path": "testdata/db/local/e2fsprogs-1.46.2-1/desc",
    "content": "%NAME%\ne2fsprogs\n\n%VERSION%\n1.46.2-1\n\n%BASE%\ne2fsprogs\n\n%DESC%\nExt2/3/4 filesystem utilities\n\n%URL%\nhttp://e2fsprogs.sourceforge.net\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1614582530\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nChristian Hesse <arch@eworm.de>\n\n%SIZE%\n5121171\n\n%REASON%\n1\n\n%LICENSE%\nGPL\nLGPL\nMIT\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nsh\nutil-linux-libs\n\n%PROVIDES%\nlibcom_err.so=2-64\nlibe2p.so=2-64\nlibext2fs.so=2-64\nlibss.so=2-64\n\n"
  },
  {
    "path": "testdata/db/local/expat-2.3.0-1/desc",
    "content": "%NAME%\nexpat\n\n%VERSION%\n2.3.0-1\n\n%BASE%\nexpat\n\n%DESC%\nAn XML parser library\n\n%URL%\nhttps://libexpat.github.io/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1616698194\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nDavid Runge <dvzrv@archlinux.org>\n\n%SIZE%\n380446\n\n%REASON%\n1\n\n%LICENSE%\nMIT\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\n\n%PROVIDES%\nlibexpat.so=1-64\n\n"
  },
  {
    "path": "testdata/db/local/file-5.40-2/desc",
    "content": "%NAME%\nfile\n\n%VERSION%\n5.40-2\n\n%BASE%\nfile\n\n%DESC%\nFile type identification utility\n\n%URL%\nhttps://www.darwinsys.com/file/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1618244439\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nSébastien Luttringer <seblu@seblu.net>\n\n%SIZE%\n7246173\n\n%REASON%\n1\n\n%GROUPS%\nbase-devel\n\n%LICENSE%\ncustom\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\nzlib\nxz\nbzip2\nlibseccomp\nlibseccomp.so=2-64\n\n%PROVIDES%\nlibmagic.so=1-64\n\n"
  },
  {
    "path": "testdata/db/local/filesystem-2021.01.19-1/desc",
    "content": "%NAME%\nfilesystem\n\n%VERSION%\n2021.01.19-1\n\n%BASE%\nfilesystem\n\n%DESC%\nBase Arch Linux files\n\n%URL%\nhttps://www.archlinux.org\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1611019930\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nSébastien Luttringer <seblu@seblu.net>\n\n%SIZE%\n32436\n\n%REASON%\n1\n\n%LICENSE%\nGPL\n\n%VALIDATION%\npgp\n\n%DEPENDS%\niana-etc\n\n"
  },
  {
    "path": "testdata/db/local/findutils-4.8.0-1/desc",
    "content": "%NAME%\nfindutils\n\n%VERSION%\n4.8.0-1\n\n%BASE%\nfindutils\n\n%DESC%\nGNU utilities to locate files\n\n%URL%\nhttps://www.gnu.org/software/findutils/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1612327661\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nAllan McRae <allan@archlinux.org>\n\n%SIZE%\n1650376\n\n%REASON%\n1\n\n%GROUPS%\nbase-devel\n\n%LICENSE%\nGPL3\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\nsh\n\n"
  },
  {
    "path": "testdata/db/local/flac-1.3.3-2/desc",
    "content": "%NAME%\nflac\n\n%VERSION%\n1.3.3-2\n\n%BASE%\nflac\n\n%DESC%\nFree Lossless Audio Codec\n\n%URL%\nhttps://xiph.org/flac/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1589877946\n\n%INSTALLDATE%\n1621851264\n\n%PACKAGER%\nFelix Yan <felixonmars@archlinux.org>\n\n%SIZE%\n1116204\n\n%REASON%\n1\n\n%LICENSE%\nBSD\nGPL\n\n%VALIDATION%\npgp\n\n%DEPENDS%\ngcc-libs\nlibogg\n\n%PROVIDES%\nlibFLAC.so=8-64\nlibFLAC++.so=6-64\n\n"
  },
  {
    "path": "testdata/db/local/flac-1.3.3-2/files",
    "content": "%FILES%\nusr/\nusr/bin/\nusr/bin/flac\nusr/bin/metaflac\nusr/include/\nusr/include/FLAC++/\nusr/include/FLAC++/all.h\nusr/include/FLAC++/decoder.h\nusr/include/FLAC++/encoder.h\nusr/include/FLAC++/export.h\nusr/include/FLAC++/metadata.h\nusr/include/FLAC/\nusr/include/FLAC/all.h\nusr/include/FLAC/assert.h\nusr/include/FLAC/callback.h\nusr/include/FLAC/export.h\nusr/include/FLAC/format.h\nusr/include/FLAC/metadata.h\nusr/include/FLAC/ordinals.h\nusr/include/FLAC/stream_decoder.h\nusr/include/FLAC/stream_encoder.h\nusr/lib/\nusr/lib/libFLAC++.so\nusr/lib/libFLAC++.so.6\nusr/lib/libFLAC++.so.6.3.0\nusr/lib/libFLAC.so\nusr/lib/libFLAC.so.8\nusr/lib/libFLAC.so.8.3.0\nusr/lib/pkgconfig/\nusr/lib/pkgconfig/flac++.pc\nusr/lib/pkgconfig/flac.pc\nusr/share/\nusr/share/aclocal/\nusr/share/aclocal/libFLAC++.m4\nusr/share/aclocal/libFLAC.m4\nusr/share/licenses/\nusr/share/licenses/flac/\nusr/share/licenses/flac/COPYING.Xiph\nusr/share/man/\nusr/share/man/man1/\nusr/share/man/man1/flac.1.gz\nusr/share/man/man1/metaflac.1.gz\n\n"
  },
  {
    "path": "testdata/db/local/fontconfig-2:2.13.93-4/desc",
    "content": "%NAME%\nfontconfig\n\n%VERSION%\n2:2.13.93-4\n\n%BASE%\nfontconfig\n\n%DESC%\nLibrary for configuring and customizing font access\n\n%URL%\nhttps://www.freedesktop.org/wiki/Software/fontconfig/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1616612381\n\n%INSTALLDATE%\n1621851264\n\n%PACKAGER%\nJan Alexander Steffens (heftig) <heftig@archlinux.org>\n\n%SIZE%\n778843\n\n%REASON%\n1\n\n%LICENSE%\ncustom\n\n%VALIDATION%\npgp\n\n%REPLACES%\nfontconfig-docs<2:2.13.93-1\n\n%DEPENDS%\nlibexpat.so=1-64\nlibfreetype.so=6-64\n\n%CONFLICTS%\nfontconfig-docs\n\n%PROVIDES%\nlibfontconfig.so=1-64\nfontconfig-docs\n\n"
  },
  {
    "path": "testdata/db/local/fontconfig-2:2.13.93-4/files",
    "content": "%FILES%\netc/\netc/fonts/\netc/fonts/conf.d/\netc/fonts/conf.d/README\netc/fonts/fonts.conf\nusr/\nusr/bin/\nusr/bin/fc-cache\nusr/bin/fc-cat\nusr/bin/fc-conflist\nusr/bin/fc-list\nusr/bin/fc-match\nusr/bin/fc-pattern\nusr/bin/fc-query\nusr/bin/fc-scan\nusr/bin/fc-validate\nusr/include/\nusr/include/fontconfig/\nusr/include/fontconfig/fcfreetype.h\nusr/include/fontconfig/fcprivate.h\nusr/include/fontconfig/fontconfig.h\nusr/lib/\nusr/lib/libfontconfig.so\nusr/lib/libfontconfig.so.1\nusr/lib/libfontconfig.so.1.12.0\nusr/lib/pkgconfig/\nusr/lib/pkgconfig/fontconfig.pc\nusr/share/\nusr/share/fontconfig/\nusr/share/fontconfig/conf.avail/\nusr/share/fontconfig/conf.avail/05-reset-dirs-sample.conf\nusr/share/fontconfig/conf.avail/09-autohint-if-no-hinting.conf\nusr/share/fontconfig/conf.avail/10-autohint.conf\nusr/share/fontconfig/conf.avail/10-hinting-full.conf\nusr/share/fontconfig/conf.avail/10-hinting-medium.conf\nusr/share/fontconfig/conf.avail/10-hinting-none.conf\nusr/share/fontconfig/conf.avail/10-hinting-slight.conf\nusr/share/fontconfig/conf.avail/10-no-sub-pixel.conf\nusr/share/fontconfig/conf.avail/10-scale-bitmap-fonts.conf\nusr/share/fontconfig/conf.avail/10-sub-pixel-bgr.conf\nusr/share/fontconfig/conf.avail/10-sub-pixel-rgb.conf\nusr/share/fontconfig/conf.avail/10-sub-pixel-vbgr.conf\nusr/share/fontconfig/conf.avail/10-sub-pixel-vrgb.conf\nusr/share/fontconfig/conf.avail/10-unhinted.conf\nusr/share/fontconfig/conf.avail/11-lcdfilter-default.conf\nusr/share/fontconfig/conf.avail/11-lcdfilter-legacy.conf\nusr/share/fontconfig/conf.avail/11-lcdfilter-light.conf\nusr/share/fontconfig/conf.avail/20-unhint-small-vera.conf\nusr/share/fontconfig/conf.avail/25-unhint-nonlatin.conf\nusr/share/fontconfig/conf.avail/30-metric-aliases.conf\nusr/share/fontconfig/conf.avail/35-lang-normalize.conf\nusr/share/fontconfig/conf.avail/40-nonlatin.conf\nusr/share/fontconfig/conf.avail/45-generic.conf\nusr/share/fontconfig/conf.avail/45-latin.conf\nusr/share/fontconfig/conf.avail/49-sansserif.conf\nusr/share/fontconfig/conf.avail/50-user.conf\nusr/share/fontconfig/conf.avail/51-local.conf\nusr/share/fontconfig/conf.avail/60-generic.conf\nusr/share/fontconfig/conf.avail/60-latin.conf\nusr/share/fontconfig/conf.avail/65-fonts-persian.conf\nusr/share/fontconfig/conf.avail/65-khmer.conf\nusr/share/fontconfig/conf.avail/65-nonlatin.conf\nusr/share/fontconfig/conf.avail/69-unifont.conf\nusr/share/fontconfig/conf.avail/70-no-bitmaps.conf\nusr/share/fontconfig/conf.avail/70-yes-bitmaps.conf\nusr/share/fontconfig/conf.avail/80-delicious.conf\nusr/share/fontconfig/conf.avail/90-synthetic.conf\nusr/share/fontconfig/conf.default/\nusr/share/fontconfig/conf.default/10-hinting-slight.conf\nusr/share/fontconfig/conf.default/10-scale-bitmap-fonts.conf\nusr/share/fontconfig/conf.default/20-unhint-small-vera.conf\nusr/share/fontconfig/conf.default/30-metric-aliases.conf\nusr/share/fontconfig/conf.default/40-nonlatin.conf\nusr/share/fontconfig/conf.default/45-generic.conf\nusr/share/fontconfig/conf.default/45-latin.conf\nusr/share/fontconfig/conf.default/49-sansserif.conf\nusr/share/fontconfig/conf.default/50-user.conf\nusr/share/fontconfig/conf.default/51-local.conf\nusr/share/fontconfig/conf.default/60-generic.conf\nusr/share/fontconfig/conf.default/60-latin.conf\nusr/share/fontconfig/conf.default/65-fonts-persian.conf\nusr/share/fontconfig/conf.default/65-nonlatin.conf\nusr/share/fontconfig/conf.default/69-unifont.conf\nusr/share/fontconfig/conf.default/80-delicious.conf\nusr/share/fontconfig/conf.default/90-synthetic.conf\nusr/share/gettext/\nusr/share/gettext/its/\nusr/share/gettext/its/fontconfig.its\nusr/share/gettext/its/fontconfig.loc\nusr/share/libalpm/\nusr/share/libalpm/hooks/\nusr/share/libalpm/hooks/40-fontconfig-config.hook\nusr/share/libalpm/hooks/fontconfig.hook\nusr/share/libalpm/scripts/\nusr/share/libalpm/scripts/40-fontconfig-config\nusr/share/licenses/\nusr/share/licenses/fontconfig/\nusr/share/licenses/fontconfig/COPYING\nusr/share/locale/\nusr/share/locale/zh_CN/\nusr/share/locale/zh_CN/LC_MESSAGES/\nusr/share/locale/zh_CN/LC_MESSAGES/fontconfig-conf.mo\nusr/share/locale/zh_CN/LC_MESSAGES/fontconfig.mo\nusr/share/man/\nusr/share/man/man1/\nusr/share/man/man1/fc-cache.1.gz\nusr/share/man/man1/fc-cat.1.gz\nusr/share/man/man1/fc-conflist.1.gz\nusr/share/man/man1/fc-list.1.gz\nusr/share/man/man1/fc-match.1.gz\nusr/share/man/man1/fc-pattern.1.gz\nusr/share/man/man1/fc-query.1.gz\nusr/share/man/man1/fc-scan.1.gz\nusr/share/man/man1/fc-validate.1.gz\nusr/share/man/man3/\nusr/share/man/man3/FcAtomicCreate.3.gz\nusr/share/man/man3/FcAtomicDeleteNew.3.gz\nusr/share/man/man3/FcAtomicDestroy.3.gz\nusr/share/man/man3/FcAtomicLock.3.gz\nusr/share/man/man3/FcAtomicNewFile.3.gz\nusr/share/man/man3/FcAtomicOrigFile.3.gz\nusr/share/man/man3/FcAtomicReplaceOrig.3.gz\nusr/share/man/man3/FcAtomicUnlock.3.gz\nusr/share/man/man3/FcBlanksAdd.3.gz\nusr/share/man/man3/FcBlanksCreate.3.gz\nusr/share/man/man3/FcBlanksDestroy.3.gz\nusr/share/man/man3/FcBlanksIsMember.3.gz\nusr/share/man/man3/FcCacheCopySet.3.gz\nusr/share/man/man3/FcCacheCreateTagFile.3.gz\nusr/share/man/man3/FcCacheDir.3.gz\nusr/share/man/man3/FcCacheNumFont.3.gz\nusr/share/man/man3/FcCacheNumSubdir.3.gz\nusr/share/man/man3/FcCacheSubdir.3.gz\nusr/share/man/man3/FcCharSetAddChar.3.gz\nusr/share/man/man3/FcCharSetCopy.3.gz\nusr/share/man/man3/FcCharSetCount.3.gz\nusr/share/man/man3/FcCharSetCoverage.3.gz\nusr/share/man/man3/FcCharSetCreate.3.gz\nusr/share/man/man3/FcCharSetDelChar.3.gz\nusr/share/man/man3/FcCharSetDestroy.3.gz\nusr/share/man/man3/FcCharSetEqual.3.gz\nusr/share/man/man3/FcCharSetFirstPage.3.gz\nusr/share/man/man3/FcCharSetHasChar.3.gz\nusr/share/man/man3/FcCharSetIntersect.3.gz\nusr/share/man/man3/FcCharSetIntersectCount.3.gz\nusr/share/man/man3/FcCharSetIsSubset.3.gz\nusr/share/man/man3/FcCharSetMerge.3.gz\nusr/share/man/man3/FcCharSetNew.3.gz\nusr/share/man/man3/FcCharSetNextPage.3.gz\nusr/share/man/man3/FcCharSetSubtract.3.gz\nusr/share/man/man3/FcCharSetSubtractCount.3.gz\nusr/share/man/man3/FcCharSetUnion.3.gz\nusr/share/man/man3/FcConfigAppFontAddDir.3.gz\nusr/share/man/man3/FcConfigAppFontAddFile.3.gz\nusr/share/man/man3/FcConfigAppFontClear.3.gz\nusr/share/man/man3/FcConfigBuildFonts.3.gz\nusr/share/man/man3/FcConfigCreate.3.gz\nusr/share/man/man3/FcConfigDestroy.3.gz\nusr/share/man/man3/FcConfigEnableHome.3.gz\nusr/share/man/man3/FcConfigFileInfoIterGet.3.gz\nusr/share/man/man3/FcConfigFileInfoIterInit.3.gz\nusr/share/man/man3/FcConfigFileInfoIterNext.3.gz\nusr/share/man/man3/FcConfigFilename.3.gz\nusr/share/man/man3/FcConfigGetBlanks.3.gz\nusr/share/man/man3/FcConfigGetCache.3.gz\nusr/share/man/man3/FcConfigGetCacheDirs.3.gz\nusr/share/man/man3/FcConfigGetConfigDirs.3.gz\nusr/share/man/man3/FcConfigGetConfigFiles.3.gz\nusr/share/man/man3/FcConfigGetCurrent.3.gz\nusr/share/man/man3/FcConfigGetFilename.3.gz\nusr/share/man/man3/FcConfigGetFontDirs.3.gz\nusr/share/man/man3/FcConfigGetFonts.3.gz\nusr/share/man/man3/FcConfigGetRescanInterval.3.gz\nusr/share/man/man3/FcConfigGetSysRoot.3.gz\nusr/share/man/man3/FcConfigHome.3.gz\nusr/share/man/man3/FcConfigParseAndLoad.3.gz\nusr/share/man/man3/FcConfigParseAndLoadFromMemory.3.gz\nusr/share/man/man3/FcConfigReference.3.gz\nusr/share/man/man3/FcConfigSetCurrent.3.gz\nusr/share/man/man3/FcConfigSetRescanInterval.3.gz\nusr/share/man/man3/FcConfigSetSysRoot.3.gz\nusr/share/man/man3/FcConfigSubstitute.3.gz\nusr/share/man/man3/FcConfigSubstituteWithPat.3.gz\nusr/share/man/man3/FcConfigUptoDate.3.gz\nusr/share/man/man3/FcDefaultSubstitute.3.gz\nusr/share/man/man3/FcDirCacheClean.3.gz\nusr/share/man/man3/FcDirCacheCreateUUID.3.gz\nusr/share/man/man3/FcDirCacheDeleteUUID.3.gz\nusr/share/man/man3/FcDirCacheLoad.3.gz\nusr/share/man/man3/FcDirCacheLoadFile.3.gz\nusr/share/man/man3/FcDirCacheRead.3.gz\nusr/share/man/man3/FcDirCacheRescan.3.gz\nusr/share/man/man3/FcDirCacheUnlink.3.gz\nusr/share/man/man3/FcDirCacheUnload.3.gz\nusr/share/man/man3/FcDirCacheValid.3.gz\nusr/share/man/man3/FcDirSave.3.gz\nusr/share/man/man3/FcDirScan.3.gz\nusr/share/man/man3/FcFileIsDir.3.gz\nusr/share/man/man3/FcFileScan.3.gz\nusr/share/man/man3/FcFini.3.gz\nusr/share/man/man3/FcFontList.3.gz\nusr/share/man/man3/FcFontMatch.3.gz\nusr/share/man/man3/FcFontRenderPrepare.3.gz\nusr/share/man/man3/FcFontSetAdd.3.gz\nusr/share/man/man3/FcFontSetCreate.3.gz\nusr/share/man/man3/FcFontSetDestroy.3.gz\nusr/share/man/man3/FcFontSetList.3.gz\nusr/share/man/man3/FcFontSetMatch.3.gz\nusr/share/man/man3/FcFontSetPrint.3.gz\nusr/share/man/man3/FcFontSetSort.3.gz\nusr/share/man/man3/FcFontSetSortDestroy.3.gz\nusr/share/man/man3/FcFontSort.3.gz\nusr/share/man/man3/FcFreeTypeCharIndex.3.gz\nusr/share/man/man3/FcFreeTypeCharSet.3.gz\nusr/share/man/man3/FcFreeTypeCharSetAndSpacing.3.gz\nusr/share/man/man3/FcFreeTypeQuery.3.gz\nusr/share/man/man3/FcFreeTypeQueryAll.3.gz\nusr/share/man/man3/FcFreeTypeQueryFace.3.gz\nusr/share/man/man3/FcGetDefaultLangs.3.gz\nusr/share/man/man3/FcGetLangs.3.gz\nusr/share/man/man3/FcGetVersion.3.gz\nusr/share/man/man3/FcInit.3.gz\nusr/share/man/man3/FcInitBringUptoDate.3.gz\nusr/share/man/man3/FcInitLoadConfig.3.gz\nusr/share/man/man3/FcInitLoadConfigAndFonts.3.gz\nusr/share/man/man3/FcInitReinitialize.3.gz\nusr/share/man/man3/FcIsLower.3.gz\nusr/share/man/man3/FcIsUpper.3.gz\nusr/share/man/man3/FcLangGetCharSet.3.gz\nusr/share/man/man3/FcLangNormalize.3.gz\nusr/share/man/man3/FcLangSetAdd.3.gz\nusr/share/man/man3/FcLangSetCompare.3.gz\nusr/share/man/man3/FcLangSetContains.3.gz\nusr/share/man/man3/FcLangSetCopy.3.gz\nusr/share/man/man3/FcLangSetCreate.3.gz\nusr/share/man/man3/FcLangSetDel.3.gz\nusr/share/man/man3/FcLangSetDestroy.3.gz\nusr/share/man/man3/FcLangSetEqual.3.gz\nusr/share/man/man3/FcLangSetGetLangs.3.gz\nusr/share/man/man3/FcLangSetHasLang.3.gz\nusr/share/man/man3/FcLangSetHash.3.gz\nusr/share/man/man3/FcLangSetSubtract.3.gz\nusr/share/man/man3/FcLangSetUnion.3.gz\nusr/share/man/man3/FcMatrixCopy.3.gz\nusr/share/man/man3/FcMatrixEqual.3.gz\nusr/share/man/man3/FcMatrixInit.3.gz\nusr/share/man/man3/FcMatrixMultiply.3.gz\nusr/share/man/man3/FcMatrixRotate.3.gz\nusr/share/man/man3/FcMatrixScale.3.gz\nusr/share/man/man3/FcMatrixShear.3.gz\nusr/share/man/man3/FcNameConstant.3.gz\nusr/share/man/man3/FcNameGetConstant.3.gz\nusr/share/man/man3/FcNameGetObjectType.3.gz\nusr/share/man/man3/FcNameParse.3.gz\nusr/share/man/man3/FcNameRegisterConstants.3.gz\nusr/share/man/man3/FcNameRegisterObjectTypes.3.gz\nusr/share/man/man3/FcNameUnparse.3.gz\nusr/share/man/man3/FcNameUnregisterConstants.3.gz\nusr/share/man/man3/FcNameUnregisterObjectTypes.3.gz\nusr/share/man/man3/FcObjectSetAdd.3.gz\nusr/share/man/man3/FcObjectSetBuild.3.gz\nusr/share/man/man3/FcObjectSetCreate.3.gz\nusr/share/man/man3/FcObjectSetDestroy.3.gz\nusr/share/man/man3/FcPatternAdd-Type.3.gz\nusr/share/man/man3/FcPatternAdd.3.gz\nusr/share/man/man3/FcPatternAddWeak.3.gz\nusr/share/man/man3/FcPatternBuild.3.gz\nusr/share/man/man3/FcPatternCreate.3.gz\nusr/share/man/man3/FcPatternDel.3.gz\nusr/share/man/man3/FcPatternDestroy.3.gz\nusr/share/man/man3/FcPatternDuplicate.3.gz\nusr/share/man/man3/FcPatternEqual.3.gz\nusr/share/man/man3/FcPatternEqualSubset.3.gz\nusr/share/man/man3/FcPatternFilter.3.gz\nusr/share/man/man3/FcPatternFindIter.3.gz\nusr/share/man/man3/FcPatternFormat.3.gz\nusr/share/man/man3/FcPatternGet-Type.3.gz\nusr/share/man/man3/FcPatternGet.3.gz\nusr/share/man/man3/FcPatternGetWithBinding.3.gz\nusr/share/man/man3/FcPatternHash.3.gz\nusr/share/man/man3/FcPatternIterEqual.3.gz\nusr/share/man/man3/FcPatternIterGetObject.3.gz\nusr/share/man/man3/FcPatternIterGetValue.3.gz\nusr/share/man/man3/FcPatternIterIsValid.3.gz\nusr/share/man/man3/FcPatternIterNext.3.gz\nusr/share/man/man3/FcPatternIterStart.3.gz\nusr/share/man/man3/FcPatternIterValueCount.3.gz\nusr/share/man/man3/FcPatternObjectCount.3.gz\nusr/share/man/man3/FcPatternPrint.3.gz\nusr/share/man/man3/FcPatternReference.3.gz\nusr/share/man/man3/FcPatternRemove.3.gz\nusr/share/man/man3/FcRangeCopy.3.gz\nusr/share/man/man3/FcRangeCreateDouble.3.gz\nusr/share/man/man3/FcRangeCreateInteger.3.gz\nusr/share/man/man3/FcRangeDestroy.3.gz\nusr/share/man/man3/FcRangeGetDouble.3.gz\nusr/share/man/man3/FcStrBasename.3.gz\nusr/share/man/man3/FcStrBuildFilename.3.gz\nusr/share/man/man3/FcStrCmp.3.gz\nusr/share/man/man3/FcStrCmpIgnoreCase.3.gz\nusr/share/man/man3/FcStrCopy.3.gz\nusr/share/man/man3/FcStrCopyFilename.3.gz\nusr/share/man/man3/FcStrDirname.3.gz\nusr/share/man/man3/FcStrDowncase.3.gz\nusr/share/man/man3/FcStrFree.3.gz\nusr/share/man/man3/FcStrListCreate.3.gz\nusr/share/man/man3/FcStrListDone.3.gz\nusr/share/man/man3/FcStrListFirst.3.gz\nusr/share/man/man3/FcStrListNext.3.gz\nusr/share/man/man3/FcStrPlus.3.gz\nusr/share/man/man3/FcStrSetAdd.3.gz\nusr/share/man/man3/FcStrSetAddFilename.3.gz\nusr/share/man/man3/FcStrSetCreate.3.gz\nusr/share/man/man3/FcStrSetDel.3.gz\nusr/share/man/man3/FcStrSetDestroy.3.gz\nusr/share/man/man3/FcStrSetEqual.3.gz\nusr/share/man/man3/FcStrSetMember.3.gz\nusr/share/man/man3/FcStrStr.3.gz\nusr/share/man/man3/FcStrStrIgnoreCase.3.gz\nusr/share/man/man3/FcToLower.3.gz\nusr/share/man/man3/FcUcs4ToUtf8.3.gz\nusr/share/man/man3/FcUtf16Len.3.gz\nusr/share/man/man3/FcUtf16ToUcs4.3.gz\nusr/share/man/man3/FcUtf8Len.3.gz\nusr/share/man/man3/FcUtf8ToUcs4.3.gz\nusr/share/man/man3/FcValueDestroy.3.gz\nusr/share/man/man3/FcValueEqual.3.gz\nusr/share/man/man3/FcValuePrint.3.gz\nusr/share/man/man3/FcValueSave.3.gz\nusr/share/man/man3/FcWeightFromOpenType.3.gz\nusr/share/man/man3/FcWeightFromOpenTypeDouble.3.gz\nusr/share/man/man3/FcWeightToOpenType.3.gz\nusr/share/man/man3/FcWeightToOpenTypeDouble.3.gz\nusr/share/man/man5/\nusr/share/man/man5/fonts-conf.5.gz\nusr/share/xml/\nusr/share/xml/fontconfig/\nusr/share/xml/fontconfig/fonts.dtd\n\n%BACKUP%\netc/fonts/fonts.conf\t(null)\n\n"
  },
  {
    "path": "testdata/db/local/fontconfig-2:2.13.93-4/install",
    "content": "post_upgrade() {\n  if (( $(vercmp $2 2:2.13.93-1) < 0 )); then\n    echo \"Creating fontconfig configuration...\"\n    find usr/share/fontconfig/conf.default -mindepth 1 |\n      /usr/share/libalpm/scripts/40-fontconfig-config /etc/fonts/conf.d\n\n    (( $(vercmp $2 0) > 0 )) && cat <<END\n\n>>> If you have configured NoExtract to prevent symlinks in /etc/fonts/conf.d/\n    from being restored, these symlinks have been recreated one last time. You\n    can now delete the symlinks and remove the paths from NoExtract and they\n    will not be created again.\n\nEND\n  fi\n\n  # a full forced directory scan is required here\n  echo \"Rebuilding fontconfig cache...\"\n  /usr/bin/fc-cache -rs\n}\n\npost_install() {\n  post_upgrade $1 0\n}\n\n# vim:set sw=2 et:\n"
  },
  {
    "path": "testdata/db/local/freetype2-2.10.4-1/desc",
    "content": "%NAME%\nfreetype2\n\n%VERSION%\n2.10.4-1\n\n%BASE%\nfreetype2\n\n%DESC%\nFont rasterization library\n\n%URL%\nhttps://www.freetype.org/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1603185056\n\n%INSTALLDATE%\n1621851264\n\n%PACKAGER%\nJan Alexander Steffens (heftig) <heftig@archlinux.org>\n\n%SIZE%\n1657527\n\n%REASON%\n1\n\n%LICENSE%\nGPL\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nzlib\nbzip2\nsh\nlibpng\nharfbuzz\n\n%PROVIDES%\nlibfreetype.so=6-64\n\n"
  },
  {
    "path": "testdata/db/local/freetype2-2.10.4-1/files",
    "content": "%FILES%\netc/\netc/profile.d/\netc/profile.d/freetype2.sh\nusr/\nusr/include/\nusr/include/freetype2/\nusr/include/freetype2/freetype/\nusr/include/freetype2/freetype/config/\nusr/include/freetype2/freetype/config/ftconfig.h\nusr/include/freetype2/freetype/config/ftheader.h\nusr/include/freetype2/freetype/config/ftmodule.h\nusr/include/freetype2/freetype/config/ftoption.h\nusr/include/freetype2/freetype/config/ftstdlib.h\nusr/include/freetype2/freetype/config/integer-types.h\nusr/include/freetype2/freetype/config/mac-support.h\nusr/include/freetype2/freetype/config/public-macros.h\nusr/include/freetype2/freetype/freetype.h\nusr/include/freetype2/freetype/ftadvanc.h\nusr/include/freetype2/freetype/ftbbox.h\nusr/include/freetype2/freetype/ftbdf.h\nusr/include/freetype2/freetype/ftbitmap.h\nusr/include/freetype2/freetype/ftbzip2.h\nusr/include/freetype2/freetype/ftcache.h\nusr/include/freetype2/freetype/ftchapters.h\nusr/include/freetype2/freetype/ftcid.h\nusr/include/freetype2/freetype/ftcolor.h\nusr/include/freetype2/freetype/ftdriver.h\nusr/include/freetype2/freetype/fterrdef.h\nusr/include/freetype2/freetype/fterrors.h\nusr/include/freetype2/freetype/ftfntfmt.h\nusr/include/freetype2/freetype/ftgasp.h\nusr/include/freetype2/freetype/ftglyph.h\nusr/include/freetype2/freetype/ftgxval.h\nusr/include/freetype2/freetype/ftgzip.h\nusr/include/freetype2/freetype/ftimage.h\nusr/include/freetype2/freetype/ftincrem.h\nusr/include/freetype2/freetype/ftlcdfil.h\nusr/include/freetype2/freetype/ftlist.h\nusr/include/freetype2/freetype/ftlzw.h\nusr/include/freetype2/freetype/ftmac.h\nusr/include/freetype2/freetype/ftmm.h\nusr/include/freetype2/freetype/ftmodapi.h\nusr/include/freetype2/freetype/ftmoderr.h\nusr/include/freetype2/freetype/ftotval.h\nusr/include/freetype2/freetype/ftoutln.h\nusr/include/freetype2/freetype/ftparams.h\nusr/include/freetype2/freetype/ftpfr.h\nusr/include/freetype2/freetype/ftrender.h\nusr/include/freetype2/freetype/ftsizes.h\nusr/include/freetype2/freetype/ftsnames.h\nusr/include/freetype2/freetype/ftstroke.h\nusr/include/freetype2/freetype/ftsynth.h\nusr/include/freetype2/freetype/ftsystem.h\nusr/include/freetype2/freetype/fttrigon.h\nusr/include/freetype2/freetype/fttypes.h\nusr/include/freetype2/freetype/ftwinfnt.h\nusr/include/freetype2/freetype/t1tables.h\nusr/include/freetype2/freetype/ttnameid.h\nusr/include/freetype2/freetype/tttables.h\nusr/include/freetype2/freetype/tttags.h\nusr/include/freetype2/ft2build.h\nusr/lib/\nusr/lib/libfreetype.so\nusr/lib/libfreetype.so.6\nusr/lib/libfreetype.so.6.17.4\nusr/lib/pkgconfig/\nusr/lib/pkgconfig/freetype2.pc\nusr/share/\nusr/share/aclocal/\nusr/share/aclocal/freetype2.m4\n\n%BACKUP%\netc/profile.d/freetype2.sh\t(null)\n\n"
  },
  {
    "path": "testdata/db/local/freetype2-2.10.4-1/install",
    "content": "post_upgrade() {\n  if (( $(vercmp $2 2.7-1) < 0 )); then\n    cat <<MSG\n  The Arch-specific FT2_SUBPIXEL_HINTING has been removed.\n  Subpixel hinting is now configured in /etc/profile.d/freetype2.sh .\nMSG\n  fi\n}\n"
  },
  {
    "path": "testdata/db/local/gawk-5.1.0-1/desc",
    "content": "%NAME%\ngawk\n\n%VERSION%\n5.1.0-1\n\n%BASE%\ngawk\n\n%DESC%\nGNU version of awk\n\n%URL%\nhttps://www.gnu.org/software/gawk/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1586932694\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nAntonio Rojas <arojas@archlinux.org>\n\n%SIZE%\n2790732\n\n%REASON%\n1\n\n%GROUPS%\nbase-devel\n\n%LICENSE%\nGPL\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nsh\nglibc\nmpfr\n\n%PROVIDES%\nawk\n\n"
  },
  {
    "path": "testdata/db/local/gcc-libs-10.2.0-6/desc",
    "content": "%NAME%\ngcc-libs\n\n%VERSION%\n10.2.0-6\n\n%BASE%\ngcc\n\n%DESC%\nRuntime libraries shipped by GCC\n\n%URL%\nhttps://gcc.gnu.org\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1612445837\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nAllan McRae <allan@archlinux.org>\n\n%SIZE%\n156079010\n\n%REASON%\n1\n\n%LICENSE%\nGPL\nLGPL\nFDL\ncustom\n\n%VALIDATION%\npgp\n\n%REPLACES%\ngcc-libs-multilib\nlibgphobos\n\n%DEPENDS%\nglibc>=2.27\n\n%PROVIDES%\ngcc-libs-multilib\nlibgo.so=16-64\nlibgfortran.so=5-64\nlibgphobos.so=1-64\nlibubsan.so=1-64\nlibasan.so=6-64\nlibtsan.so=0-64\nliblsan.so=0-64\n\n"
  },
  {
    "path": "testdata/db/local/gettext-0.21-1/desc",
    "content": "%NAME%\ngettext\n\n%VERSION%\n0.21-1\n\n%BASE%\ngettext\n\n%DESC%\nGNU internationalization library\n\n%URL%\nhttps://www.gnu.org/software/gettext/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1596526990\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nAntonio Rojas <arojas@archlinux.org>\n\n%SIZE%\n7873724\n\n%REASON%\n1\n\n%GROUPS%\nbase-devel\n\n%LICENSE%\nGPL\n\n%VALIDATION%\npgp\n\n%DEPENDS%\ngcc-libs\nacl\nsh\nglib2\nlibunistring\nlibcroco\n\n%OPTDEPENDS%\ngit: for autopoint infrastructure updates\n\n"
  },
  {
    "path": "testdata/db/local/glib2-2.68.1-1/desc",
    "content": "%NAME%\nglib2\n\n%VERSION%\n2.68.1-1\n\n%BASE%\nglib2\n\n%DESC%\nLow level core library\n\n%URL%\nhttps://wiki.gnome.org/Projects/GLib\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1617890801\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nJan Alexander Steffens (heftig) <heftig@archlinux.org>\n\n%SIZE%\n15807525\n\n%REASON%\n1\n\n%LICENSE%\nLGPL\n\n%VALIDATION%\npgp\n\n%DEPENDS%\npcre\nlibffi\nutil-linux-libs\nzlib\nlibmount.so=1-64\n\n%OPTDEPENDS%\npython: gdbus-codegen, glib-genmarshal, glib-mkenums, gtester-report\nlibelf: gresource inspection tool\n\n%PROVIDES%\nlibgio-2.0.so=0-64\nlibglib-2.0.so=0-64\nlibglib-2.0.so\nlibgmodule-2.0.so=0-64\nlibgobject-2.0.so=0-64\nlibgobject-2.0.so\nlibgthread-2.0.so=0-64\n\n"
  },
  {
    "path": "testdata/db/local/glibc-2.33-4/desc",
    "content": "%NAME%\nglibc\n\n%VERSION%\n2.33-4\n\n%BASE%\nglibc\n\n%DESC%\nGNU C Library\n\n%URL%\nhttps://www.gnu.org/software/libc\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1613252361\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nAllan McRae <allan@archlinux.org>\n\n%SIZE%\n48279861\n\n%REASON%\n1\n\n%LICENSE%\nGPL\nLGPL\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nlinux-api-headers>=4.10\ntzdata\nfilesystem\n\n%OPTDEPENDS%\ngd: for memusagestat\n\n"
  },
  {
    "path": "testdata/db/local/glibc-2.33-4/install",
    "content": "post_upgrade() {\n  locale-gen\n\n  ldconfig -r .\n}\n"
  },
  {
    "path": "testdata/db/local/gmp-6.2.1-1/desc",
    "content": "%NAME%\ngmp\n\n%VERSION%\n6.2.1-1\n\n%BASE%\ngmp\n\n%DESC%\nA free library for arbitrary precision arithmetic\n\n%URL%\nhttps://gmplib.org/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1608776932\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nAllan McRae <allan@archlinux.org>\n\n%SIZE%\n1030337\n\n%REASON%\n1\n\n%LICENSE%\nLGPL3\nGPL\n\n%VALIDATION%\npgp\n\n%DEPENDS%\ngcc-libs\nsh\n\n"
  },
  {
    "path": "testdata/db/local/gnupg-2.2.27-1/desc",
    "content": "%NAME%\ngnupg\n\n%VERSION%\n2.2.27-1\n\n%BASE%\ngnupg\n\n%DESC%\nComplete and free implementation of the OpenPGP standard\n\n%URL%\nhttps://www.gnupg.org/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1610483226\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nLevente Polyak <anthraxx@archlinux.org>\n\n%SIZE%\n10354705\n\n%REASON%\n1\n\n%LICENSE%\nGPL\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nnpth\nlibgpg-error\nlibgcrypt\nlibksba\nlibassuan\npinentry\nbzip2\nlibbz2.so=1.0-64\nreadline\nlibreadline.so=8-64\ngnutls\nsqlite\nzlib\nglibc\n\n%OPTDEPENDS%\nlibldap: gpg2keys_ldap\nlibusb-compat: scdaemon\npcsclite: scdaemon\n\n"
  },
  {
    "path": "testdata/db/local/gnupg-2.2.27-1/install",
    "content": "_global_units() {\n\t_units=(dirmngr.socket gpg-agent.socket gpg-agent-{browser,extra,ssh}.socket)\n\t_dir=/etc/systemd/user/sockets.target.wants\n\n\tcase $1 in\n\t\tenable)\n\t\t\tmkdir -p $_dir\n\t\t\tfor _u in \"${_units[@]}\"; do\n\t\t\t\tln -sf /usr/lib/systemd/user/$_u $_dir/$_u\n\t\t\tdone\n\t\t\t;;\n\t\tdisable)\n\t\t\tfor _u in \"${_units[@]}\"; do\n\t\t\t\trm -f $_dir/$_u\n\t\t\tdone\n\t\t\trmdir -p --ignore-fail-on-non-empty $_dir\n\t\t\t;;\n\tesac\n}\n\npost_install() {\n\t# See FS#42798 and FS#47371\n\tdirmngr </dev/null &>/dev/null\n\n\t# Let systemd supervise daemons by default\n\t_global_units enable\n}\n\npre_remove() {\n\t_global_units disable\n}\n"
  },
  {
    "path": "testdata/db/local/gnutls-3.7.1-1/desc",
    "content": "%NAME%\ngnutls\n\n%VERSION%\n3.7.1-1\n\n%BASE%\ngnutls\n\n%DESC%\nA library which provides a secure layer over a reliable transport layer\n\n%URL%\nhttps://www.gnutls.org/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1615386047\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nAndreas Radke <andyrtr@archlinux.org>\n\n%SIZE%\n7124730\n\n%REASON%\n1\n\n%LICENSE%\nGPL3\nLGPL2.1\n\n%VALIDATION%\npgp\n\n%DEPENDS%\ngcc-libs\nlibtasn1\nreadline\nzlib\nnettle\np11-kit\nlibidn2\nlibidn2.so=0-64\nlibunistring\n\n%OPTDEPENDS%\nguile: for use with Guile bindings\n\n"
  },
  {
    "path": "testdata/db/local/gpgme-1.15.1-1/desc",
    "content": "%NAME%\ngpgme\n\n%VERSION%\n1.15.1-1\n\n%BASE%\ngpgme\n\n%DESC%\nA C wrapper library for GnuPG\n\n%URL%\nhttps://www.gnupg.org/related_software/gpgme/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1610135214\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nChristian Hesse <arch@eworm.de>\n\n%SIZE%\n1326460\n\n%REASON%\n1\n\n%LICENSE%\nLGPL\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nlibgpg-error\ngnupg>=2\n\n%PROVIDES%\nlibgpgme.so=11-64\nlibgpgmepp.so=6-64\n\n"
  },
  {
    "path": "testdata/db/local/graphite-1:1.3.14-1/desc",
    "content": "%NAME%\ngraphite\n\n%VERSION%\n1:1.3.14-1\n\n%BASE%\ngraphite\n\n%DESC%\nreimplementation of the SIL Graphite text processing engine\n\n%URL%\nhttps://github.com/silnrsi/graphite\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1585810502\n\n%INSTALLDATE%\n1621851264\n\n%PACKAGER%\nAndreas Radke <andyrtr@archlinux.org>\n\n%SIZE%\n699433\n\n%REASON%\n1\n\n%LICENSE%\nLGPL\nGPL\ncustom\n\n%VALIDATION%\npgp\n\n%DEPENDS%\ngcc-libs\n\n"
  },
  {
    "path": "testdata/db/local/graphite-1:1.3.14-1/files",
    "content": "%FILES%\nusr/\nusr/bin/\nusr/bin/gr2fonttest\nusr/include/\nusr/include/graphite2/\nusr/include/graphite2/Font.h\nusr/include/graphite2/Log.h\nusr/include/graphite2/Segment.h\nusr/include/graphite2/Types.h\nusr/lib/\nusr/lib/libgraphite2.so\nusr/lib/libgraphite2.so.3\nusr/lib/libgraphite2.so.3.2.1\nusr/lib/pkgconfig/\nusr/lib/pkgconfig/graphite2.pc\nusr/share/\nusr/share/doc/\nusr/share/doc/graphite2/\nusr/share/doc/graphite2/GTF.html\nusr/share/doc/graphite2/api/\nusr/share/doc/graphite2/api/html/\nusr/share/doc/graphite2/api/html/bc_s.png\nusr/share/doc/graphite2/api/html/bdwn.png\nusr/share/doc/graphite2/api/html/closed.png\nusr/share/doc/graphite2/api/html/doc.png\nusr/share/doc/graphite2/api/html/doxygen.css\nusr/share/doc/graphite2/api/html/doxygen.png\nusr/share/doc/graphite2/api/html/dynsections.js\nusr/share/doc/graphite2/api/html/folderclosed.png\nusr/share/doc/graphite2/api/html/folderopen.png\nusr/share/doc/graphite2/api/html/graph_legend.html\nusr/share/doc/graphite2/api/html/graph_legend.md5\nusr/share/doc/graphite2/api/html/graph_legend.png\nusr/share/doc/graphite2/api/html/index.html\nusr/share/doc/graphite2/api/html/jquery.js\nusr/share/doc/graphite2/api/html/menu.js\nusr/share/doc/graphite2/api/html/menudata.js\nusr/share/doc/graphite2/api/html/nav_f.png\nusr/share/doc/graphite2/api/html/nav_g.png\nusr/share/doc/graphite2/api/html/nav_h.png\nusr/share/doc/graphite2/api/html/open.png\nusr/share/doc/graphite2/api/html/search/\nusr/share/doc/graphite2/api/html/search/close.png\nusr/share/doc/graphite2/api/html/search/mag_sel.png\nusr/share/doc/graphite2/api/html/search/nomatches.html\nusr/share/doc/graphite2/api/html/search/search.css\nusr/share/doc/graphite2/api/html/search/search.js\nusr/share/doc/graphite2/api/html/search/search_l.png\nusr/share/doc/graphite2/api/html/search/search_m.png\nusr/share/doc/graphite2/api/html/search/search_r.png\nusr/share/doc/graphite2/api/html/search/searchdata.js\nusr/share/doc/graphite2/api/html/splitbar.png\nusr/share/doc/graphite2/api/html/sync_off.png\nusr/share/doc/graphite2/api/html/sync_on.png\nusr/share/doc/graphite2/api/html/tab_a.png\nusr/share/doc/graphite2/api/html/tab_b.png\nusr/share/doc/graphite2/api/html/tab_h.png\nusr/share/doc/graphite2/api/html/tab_s.png\nusr/share/doc/graphite2/api/html/tabs.css\nusr/share/doc/graphite2/api/refman.pdf\nusr/share/doc/graphite2/manual.html\nusr/share/graphite2/\nusr/share/graphite2/graphite2-release.cmake\nusr/share/graphite2/graphite2.cmake\nusr/share/licenses/\nusr/share/licenses/graphite/\nusr/share/licenses/graphite/COPYING\n\n"
  },
  {
    "path": "testdata/db/local/grep-3.6-1/desc",
    "content": "%NAME%\ngrep\n\n%VERSION%\n3.6-1\n\n%BASE%\ngrep\n\n%DESC%\nA string search utility\n\n%URL%\nhttps://www.gnu.org/software/grep/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1604914916\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nSébastien Luttringer <seblu@seblu.net>\n\n%SIZE%\n756625\n\n%REASON%\n1\n\n%GROUPS%\nbase-devel\n\n%LICENSE%\nGPL3\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\npcre\n\n"
  },
  {
    "path": "testdata/db/local/gzip-1.10-3/desc",
    "content": "%NAME%\ngzip\n\n%VERSION%\n1.10-3\n\n%BASE%\ngzip\n\n%DESC%\nGNU compression utility\n\n%URL%\nhttps://www.gnu.org/software/gzip/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1573660462\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nFelix Yan <felixonmars@archlinux.org>\n\n%SIZE%\n160715\n\n%REASON%\n1\n\n%GROUPS%\nbase-devel\n\n%LICENSE%\nGPL3\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\nbash\nless\n\n"
  },
  {
    "path": "testdata/db/local/harfbuzz-2.8.0-3/desc",
    "content": "%NAME%\nharfbuzz\n\n%VERSION%\n2.8.0-3\n\n%BASE%\nharfbuzz\n\n%DESC%\nOpenType text shaping engine\n\n%URL%\nhttps://www.freedesktop.org/wiki/Software/HarfBuzz\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1618494574\n\n%INSTALLDATE%\n1621851264\n\n%PACKAGER%\nEvangelos Foutras <foutrelis@archlinux.org>\n\n%SIZE%\n5389505\n\n%REASON%\n1\n\n%LICENSE%\nMIT\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglib2\nfreetype2\ngraphite\nlibglib-2.0.so=0-64\nlibfreetype.so=6-64\nlibgobject-2.0.so=0-64\n\n%OPTDEPENDS%\ncairo: hb-view program\n\n%PROVIDES%\nlibharfbuzz.so=0-64\nlibharfbuzz-subset.so=0-64\nlibharfbuzz-gobject.so=0-64\n\n"
  },
  {
    "path": "testdata/db/local/harfbuzz-2.8.0-3/files",
    "content": "%FILES%\nusr/\nusr/bin/\nusr/bin/hb-ot-shape-closure\nusr/bin/hb-shape\nusr/bin/hb-subset\nusr/bin/hb-view\nusr/include/\nusr/include/harfbuzz/\nusr/include/harfbuzz/hb-aat-layout.h\nusr/include/harfbuzz/hb-aat.h\nusr/include/harfbuzz/hb-blob.h\nusr/include/harfbuzz/hb-buffer.h\nusr/include/harfbuzz/hb-common.h\nusr/include/harfbuzz/hb-deprecated.h\nusr/include/harfbuzz/hb-draw.h\nusr/include/harfbuzz/hb-face.h\nusr/include/harfbuzz/hb-font.h\nusr/include/harfbuzz/hb-ft.h\nusr/include/harfbuzz/hb-glib.h\nusr/include/harfbuzz/hb-gobject-enums.h\nusr/include/harfbuzz/hb-gobject-structs.h\nusr/include/harfbuzz/hb-gobject.h\nusr/include/harfbuzz/hb-graphite2.h\nusr/include/harfbuzz/hb-map.h\nusr/include/harfbuzz/hb-ot-color.h\nusr/include/harfbuzz/hb-ot-deprecated.h\nusr/include/harfbuzz/hb-ot-font.h\nusr/include/harfbuzz/hb-ot-layout.h\nusr/include/harfbuzz/hb-ot-math.h\nusr/include/harfbuzz/hb-ot-meta.h\nusr/include/harfbuzz/hb-ot-metrics.h\nusr/include/harfbuzz/hb-ot-name.h\nusr/include/harfbuzz/hb-ot-shape.h\nusr/include/harfbuzz/hb-ot-var.h\nusr/include/harfbuzz/hb-ot.h\nusr/include/harfbuzz/hb-set.h\nusr/include/harfbuzz/hb-shape-plan.h\nusr/include/harfbuzz/hb-shape.h\nusr/include/harfbuzz/hb-style.h\nusr/include/harfbuzz/hb-subset.h\nusr/include/harfbuzz/hb-unicode.h\nusr/include/harfbuzz/hb-version.h\nusr/include/harfbuzz/hb.h\nusr/lib/\nusr/lib/cmake/\nusr/lib/cmake/harfbuzz/\nusr/lib/cmake/harfbuzz/harfbuzz-config.cmake\nusr/lib/girepository-1.0/\nusr/lib/girepository-1.0/HarfBuzz-0.0.typelib\nusr/lib/libharfbuzz-gobject.so\nusr/lib/libharfbuzz-gobject.so.0\nusr/lib/libharfbuzz-gobject.so.0.20800.0\nusr/lib/libharfbuzz-subset.so\nusr/lib/libharfbuzz-subset.so.0\nusr/lib/libharfbuzz-subset.so.0.20800.0\nusr/lib/libharfbuzz.so\nusr/lib/libharfbuzz.so.0\nusr/lib/libharfbuzz.so.0.20800.0\nusr/lib/pkgconfig/\nusr/lib/pkgconfig/harfbuzz-gobject.pc\nusr/lib/pkgconfig/harfbuzz-subset.pc\nusr/lib/pkgconfig/harfbuzz.pc\nusr/share/\nusr/share/gir-1.0/\nusr/share/gir-1.0/HarfBuzz-0.0.gir\nusr/share/gtk-doc/\nusr/share/gtk-doc/html/\nusr/share/gtk-doc/html/harfbuzz/\nusr/share/gtk-doc/html/harfbuzz/HarfBuzz.png\nusr/share/gtk-doc/html/harfbuzz/HarfBuzz.svg\nusr/share/gtk-doc/html/harfbuzz/a-clustering-example-for-levels-0-and-1.html\nusr/share/gtk-doc/html/harfbuzz/a-simple-shaping-example.html\nusr/share/gtk-doc/html/harfbuzz/aat-shaping.html\nusr/share/gtk-doc/html/harfbuzz/adding-text-to-the-buffer.html\nusr/share/gtk-doc/html/harfbuzz/annotation-glossary.html\nusr/share/gtk-doc/html/harfbuzz/api-index-full.html\nusr/share/gtk-doc/html/harfbuzz/apple-advanced-typography-api.html\nusr/share/gtk-doc/html/harfbuzz/buffers-language-script-and-direction.html\nusr/share/gtk-doc/html/harfbuzz/building.html\nusr/share/gtk-doc/html/harfbuzz/clusters.html\nusr/share/gtk-doc/html/harfbuzz/complex-scripts.html\nusr/share/gtk-doc/html/harfbuzz/core-api.html\nusr/share/gtk-doc/html/harfbuzz/customizing-unicode-functions.html\nusr/share/gtk-doc/html/harfbuzz/fonts-and-faces-custom-functions.html\nusr/share/gtk-doc/html/harfbuzz/fonts-and-faces-native-opentype.html\nusr/share/gtk-doc/html/harfbuzz/fonts-and-faces-variable.html\nusr/share/gtk-doc/html/harfbuzz/fonts-and-faces.html\nusr/share/gtk-doc/html/harfbuzz/getting-started.html\nusr/share/gtk-doc/html/harfbuzz/graphite-shaping.html\nusr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-aat-layout.html\nusr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-blob.html\nusr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-buffer.html\nusr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-common.html\nusr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-coretext.html\nusr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-deprecated.html\nusr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-directwrite.html\nusr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-face.html\nusr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-font.html\nusr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ft.html\nusr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-gdi.html\nusr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-glib.html\nusr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-graphite2.html\nusr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-icu.html\nusr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-map.html\nusr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-color.html\nusr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-font.html\nusr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-layout.html\nusr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-math.html\nusr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-meta.html\nusr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-metrics.html\nusr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-name.html\nusr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-shape.html\nusr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-var.html\nusr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-set.html\nusr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-shape-plan.html\nusr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-shape.html\nusr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-unicode.html\nusr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-uniscribe.html\nusr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-version.html\nusr/share/gtk-doc/html/harfbuzz/harfbuzz.devhelp2\nusr/share/gtk-doc/html/harfbuzz/home.png\nusr/share/gtk-doc/html/harfbuzz/index.html\nusr/share/gtk-doc/html/harfbuzz/install-harfbuzz.html\nusr/share/gtk-doc/html/harfbuzz/integration-api.html\nusr/share/gtk-doc/html/harfbuzz/integration-coretext.html\nusr/share/gtk-doc/html/harfbuzz/integration-freetype.html\nusr/share/gtk-doc/html/harfbuzz/integration-icu.html\nusr/share/gtk-doc/html/harfbuzz/integration-python.html\nusr/share/gtk-doc/html/harfbuzz/integration-uniscribe.html\nusr/share/gtk-doc/html/harfbuzz/integration.html\nusr/share/gtk-doc/html/harfbuzz/left-insensitive.png\nusr/share/gtk-doc/html/harfbuzz/left.png\nusr/share/gtk-doc/html/harfbuzz/level-2.html\nusr/share/gtk-doc/html/harfbuzz/object-model-blobs.html\nusr/share/gtk-doc/html/harfbuzz/object-model-lifecycle.html\nusr/share/gtk-doc/html/harfbuzz/object-model-object-types.html\nusr/share/gtk-doc/html/harfbuzz/object-model-user-data.html\nusr/share/gtk-doc/html/harfbuzz/object-model.html\nusr/share/gtk-doc/html/harfbuzz/opentype-api.html\nusr/share/gtk-doc/html/harfbuzz/opentype-shaping-models.html\nusr/share/gtk-doc/html/harfbuzz/reference-manual.html\nusr/share/gtk-doc/html/harfbuzz/reordering-in-levels-0-and-1.html\nusr/share/gtk-doc/html/harfbuzz/right-insensitive.png\nusr/share/gtk-doc/html/harfbuzz/right.png\nusr/share/gtk-doc/html/harfbuzz/setting-buffer-properties.html\nusr/share/gtk-doc/html/harfbuzz/shaping-and-shape-plans.html\nusr/share/gtk-doc/html/harfbuzz/shaping-concepts.html\nusr/share/gtk-doc/html/harfbuzz/shaping-opentype-features.html\nusr/share/gtk-doc/html/harfbuzz/shaping-operations.html\nusr/share/gtk-doc/html/harfbuzz/shaping-plans-and-caching.html\nusr/share/gtk-doc/html/harfbuzz/shaping-shaper-selection.html\nusr/share/gtk-doc/html/harfbuzz/style.css\nusr/share/gtk-doc/html/harfbuzz/terminology.html\nusr/share/gtk-doc/html/harfbuzz/text-runs.html\nusr/share/gtk-doc/html/harfbuzz/the-distinction-between-levels-0-and-1.html\nusr/share/gtk-doc/html/harfbuzz/unicode-character-categories.html\nusr/share/gtk-doc/html/harfbuzz/up-insensitive.png\nusr/share/gtk-doc/html/harfbuzz/up.png\nusr/share/gtk-doc/html/harfbuzz/user-manual.html\nusr/share/gtk-doc/html/harfbuzz/utilities-common-types-apis.html\nusr/share/gtk-doc/html/harfbuzz/utilities.html\nusr/share/gtk-doc/html/harfbuzz/what-does-harfbuzz-do.html\nusr/share/gtk-doc/html/harfbuzz/what-harfbuzz-doesnt-do.html\nusr/share/gtk-doc/html/harfbuzz/what-is-harfbuzz.html\nusr/share/gtk-doc/html/harfbuzz/why-do-i-need-a-shaping-engine.html\nusr/share/gtk-doc/html/harfbuzz/why-is-it-called-harfbuzz.html\nusr/share/gtk-doc/html/harfbuzz/working-with-harfbuzz-clusters.html\nusr/share/licenses/\nusr/share/licenses/harfbuzz/\nusr/share/licenses/harfbuzz/COPYING\n\n"
  },
  {
    "path": "testdata/db/local/hwids-20201207-1/desc",
    "content": "%NAME%\nhwids\n\n%VERSION%\n20201207-1\n\n%BASE%\nhwids\n\n%DESC%\nhardware identification databases\n\n%URL%\nhttps://github.com/gentoo/hwids\n\n%ARCH%\nany\n\n%BUILDDATE%\n1612861400\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nTobias Powalowski <tpowa@archlinux.org>\n\n%SIZE%\n2005838\n\n%REASON%\n1\n\n%LICENSE%\nGPL2\n\n%VALIDATION%\npgp\n\n"
  },
  {
    "path": "testdata/db/local/iana-etc-20210202-1/desc",
    "content": "%NAME%\niana-etc\n\n%VERSION%\n20210202-1\n\n%BASE%\niana-etc\n\n%DESC%\n/etc/protocols and /etc/services provided by IANA\n\n%URL%\nhttps://www.iana.org/protocols\n\n%ARCH%\nany\n\n%BUILDDATE%\n1612902715\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nJelle van der Waa <jelle@archlinux.org>\n\n%SIZE%\n4096306\n\n%REASON%\n1\n\n%LICENSE%\ncustom:none\n\n%VALIDATION%\npgp\n\n"
  },
  {
    "path": "testdata/db/local/icu-69.1-1/desc",
    "content": "%NAME%\nicu\n\n%VERSION%\n69.1-1\n\n%BASE%\nicu\n\n%DESC%\nInternational Components for Unicode library\n\n%URL%\nhttp://site.icu-project.org/home\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1618485160\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nAndreas Radke <andyrtr@archlinux.org>\n\n%SIZE%\n39757508\n\n%REASON%\n1\n\n%LICENSE%\ncustom:icu\n\n%VALIDATION%\npgp\n\n%DEPENDS%\ngcc-libs\nsh\n\n%PROVIDES%\nlibicudata.so=69-64\nlibicui18n.so=69-64\nlibicuio.so=69-64\nlibicutest.so=69-64\nlibicutu.so=69-64\nlibicuuc.so=69-64\n\n"
  },
  {
    "path": "testdata/db/local/iproute2-5.12.0-1/desc",
    "content": "%NAME%\niproute2\n\n%VERSION%\n5.12.0-1\n\n%BASE%\niproute2\n\n%DESC%\nIP Routing Utilities\n\n%URL%\nhttps://git.kernel.org/pub/scm/network/iproute2/iproute2.git\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1619555823\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nChristian Hesse <arch@eworm.de>\n\n%SIZE%\n3256821\n\n%REASON%\n1\n\n%LICENSE%\nGPL2\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\niptables\nlibelf\n\n%OPTDEPENDS%\ndb: userspace arp daemon\nlibcap: tipc\nlinux-atm: ATM support\n\n%PROVIDES%\niproute\n\n"
  },
  {
    "path": "testdata/db/local/iptables-1:1.8.7-1/desc",
    "content": "%NAME%\niptables\n\n%VERSION%\n1:1.8.7-1\n\n%BASE%\niptables\n\n%DESC%\nLinux kernel packet control tool (using legacy interface)\n\n%URL%\nhttps://www.netfilter.org/projects/iptables/index.html\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1611178269\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nAntonio Rojas <arojas@archlinux.org>\n\n%SIZE%\n2531305\n\n%REASON%\n1\n\n%LICENSE%\nGPL2\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nlibnftnl\nlibpcap\nlibnfnetlink\nlibnetfilter_conntrack\nbash\n\n"
  },
  {
    "path": "testdata/db/local/iputils-20210202-1/desc",
    "content": "%NAME%\niputils\n\n%VERSION%\n20210202-1\n\n%BASE%\niputils\n\n%DESC%\nNetwork monitoring tools, including ping\n\n%URL%\nhttp://www.skbuff.net/iputils/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1619417997\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nTobias Powalowski <tpowa@archlinux.org>\n\n%SIZE%\n422985\n\n%REASON%\n1\n\n%LICENSE%\nGPL\n\n%VALIDATION%\npgp\n\n%REPLACES%\nnetkit-base\n\n%DEPENDS%\nlibcap\nlibidn2\n\n%CONFLICTS%\nnetkit-base\narping\nnetkit-tftpd\n\n"
  },
  {
    "path": "testdata/db/local/json-c-0.15-1/desc",
    "content": "%NAME%\njson-c\n\n%VERSION%\n0.15-1\n\n%BASE%\njson-c\n\n%DESC%\nA JSON implementation in C\n\n%URL%\nhttps://github.com/json-c/json-c/wiki\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1596061395\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nJan Alexander Steffens (heftig) <heftig@archlinux.org>\n\n%SIZE%\n177456\n\n%REASON%\n1\n\n%LICENSE%\nMIT\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\n\n%PROVIDES%\nlibjson-c.so=5-64\n\n"
  },
  {
    "path": "testdata/db/local/jsoncpp-1.9.4-1/desc",
    "content": "%NAME%\njsoncpp\n\n%VERSION%\n1.9.4-1\n\n%BASE%\njsoncpp\n\n%DESC%\nC++ library for interacting with JSON\n\n%URL%\nhttps://github.com/open-source-parsers/jsoncpp\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1601132536\n\n%INSTALLDATE%\n1621851264\n\n%PACKAGER%\nLevente Polyak <anthraxx@archlinux.org>\n\n%SIZE%\n1845359\n\n%REASON%\n1\n\n%LICENSE%\nMIT\ncustom:Public_Domain\n\n%VALIDATION%\npgp\n\n%DEPENDS%\ngcc-libs\n\n%OPTDEPENDS%\njsoncpp-doc: documentation\n\n%PROVIDES%\nlibjsoncpp.so=24-64\n\n"
  },
  {
    "path": "testdata/db/local/jsoncpp-1.9.4-1/files",
    "content": "%FILES%\nusr/\nusr/include/\nusr/include/json/\nusr/include/json/allocator.h\nusr/include/json/assertions.h\nusr/include/json/config.h\nusr/include/json/forwards.h\nusr/include/json/json.h\nusr/include/json/json_features.h\nusr/include/json/reader.h\nusr/include/json/value.h\nusr/include/json/version.h\nusr/include/json/writer.h\nusr/lib/\nusr/lib/libjsoncpp.a\nusr/lib/libjsoncpp.so\nusr/lib/libjsoncpp.so.24\nusr/lib/pkgconfig/\nusr/lib/pkgconfig/jsoncpp.pc\nusr/share/\nusr/share/doc/\nusr/share/doc/jsoncpp/\nusr/share/doc/jsoncpp/README.md\nusr/share/licenses/\nusr/share/licenses/jsoncpp/\nusr/share/licenses/jsoncpp/LICENSE\n\n"
  },
  {
    "path": "testdata/db/local/kbd-2.4.0-2/desc",
    "content": "%NAME%\nkbd\n\n%VERSION%\n2.4.0-2\n\n%BASE%\nkbd\n\n%DESC%\nKeytable files and keyboard utilities\n\n%URL%\nhttp://www.kbd-project.org\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1612939697\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nTobias Powalowski <tpowa@archlinux.org>\n\n%SIZE%\n3026119\n\n%REASON%\n1\n\n%LICENSE%\nGPL\n\n%VALIDATION%\npgp\n\n%REPLACES%\nvlock\n\n%DEPENDS%\nglibc\npam\n\n%CONFLICTS%\nvlock\n\n%PROVIDES%\nvlock\n\n"
  },
  {
    "path": "testdata/db/local/keyutils-1.6.3-1/desc",
    "content": "%NAME%\nkeyutils\n\n%VERSION%\n1.6.3-1\n\n%BASE%\nkeyutils\n\n%DESC%\nLinux Key Management Utilities\n\n%URL%\nhttps://www.kernel.org/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1594156721\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nChristian Hesse <arch@eworm.de>\n\n%SIZE%\n202137\n\n%REASON%\n1\n\n%LICENSE%\nGPL2\nLGPL2.1\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\nsh\n\n%PROVIDES%\nlibkeyutils.so=1-64\n\n"
  },
  {
    "path": "testdata/db/local/kmod-28-1/desc",
    "content": "%NAME%\nkmod\n\n%VERSION%\n28-1\n\n%BASE%\nkmod\n\n%DESC%\nLinux kernel module management tools and library\n\n%URL%\nhttps://git.kernel.org/?p=utils/kernel/kmod/kmod.git;a=summary\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1610049080\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nChristian Hesse <arch@eworm.de>\n\n%SIZE%\n301102\n\n%REASON%\n1\n\n%LICENSE%\nGPL2\n\n%VALIDATION%\npgp\n\n%REPLACES%\nmodule-init-tools\n\n%DEPENDS%\nglibc\nzlib\nopenssl\nxz\nzstd\n\n%CONFLICTS%\nmodule-init-tools\n\n%PROVIDES%\nmodule-init-tools=3.16\nlibkmod.so=2-64\n\n"
  },
  {
    "path": "testdata/db/local/krb5-1.19.1-1/desc",
    "content": "%NAME%\nkrb5\n\n%VERSION%\n1.19.1-1\n\n%BASE%\nkrb5\n\n%DESC%\nThe Kerberos network authentication system\n\n%URL%\nhttps://web.mit.edu/kerberos/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1616332572\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nLevente Polyak <anthraxx@archlinux.org>\n\n%SIZE%\n4720043\n\n%REASON%\n1\n\n%LICENSE%\ncustom\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\ne2fsprogs\nlibss.so=2-64\nlibcom_err.so=2-64\nlibldap\nkeyutils\n\n%PROVIDES%\nlibgssapi_krb5.so=2-64\nlibgssrpc.so=4-64\nlibk5crypto.so=3-64\nlibkadm5clnt_mit.so=12-64\nlibkadm5srv_mit.so=12-64\nlibkdb5.so=10-64\nlibkdb_ldap.so=1-64\nlibkrad.so=0-64\nlibkrb5.so=3-64\nlibkrb5support.so=0-64\nlibverto.so=0-64\n\n"
  },
  {
    "path": "testdata/db/local/less-1:581.2-1/desc",
    "content": "%NAME%\nless\n\n%VERSION%\n1:581.2-1\n\n%BASE%\nless\n\n%DESC%\nA terminal based program for viewing text files\n\n%URL%\nhttps://www.greenwoodsoftware.com/less/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1619644500\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nSébastien Luttringer <seblu@seblu.net>\n\n%SIZE%\n258069\n\n%REASON%\n1\n\n%LICENSE%\nGPL3\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\nncurses\npcre2\n\n"
  },
  {
    "path": "testdata/db/local/libarchive-3.5.1-1/desc",
    "content": "%NAME%\nlibarchive\n\n%VERSION%\n3.5.1-1\n\n%BASE%\nlibarchive\n\n%DESC%\nMulti-format archive and compression library\n\n%URL%\nhttps://libarchive.org/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1609008722\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nChristian Hesse <arch@eworm.de>\n\n%SIZE%\n1141500\n\n%REASON%\n1\n\n%LICENSE%\nBSD\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nacl\nlibacl.so=1-64\nbzip2\nexpat\nlz4\nopenssl\nxz\nzlib\nzstd\n\n%PROVIDES%\nlibarchive.so=13-64\n\n"
  },
  {
    "path": "testdata/db/local/libassuan-2.5.5-1/desc",
    "content": "%NAME%\nlibassuan\n\n%VERSION%\n2.5.5-1\n\n%BASE%\nlibassuan\n\n%DESC%\nIPC library used by some GnuPG related software\n\n%URL%\nhttps://www.gnupg.org/related_software/libassuan/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1616436406\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nDavid Runge <dvzrv@archlinux.org>\n\n%SIZE%\n218138\n\n%REASON%\n1\n\n%LICENSE%\nGPL3\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\nlibgpg-error\n\n%PROVIDES%\nlibassuan.so=0-64\n\n"
  },
  {
    "path": "testdata/db/local/libasyncns-0.8+3+g68cd5af-3/desc",
    "content": "%NAME%\nlibasyncns\n\n%VERSION%\n0.8+3+g68cd5af-3\n\n%BASE%\nlibasyncns\n\n%DESC%\nA C library for executing name service queries asynchronously\n\n%URL%\nhttp://0pointer.de/lennart/projects/libasyncns\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1589876807\n\n%INSTALLDATE%\n1621851264\n\n%PACKAGER%\nFelix Yan <felixonmars@archlinux.org>\n\n%SIZE%\n48763\n\n%REASON%\n1\n\n%LICENSE%\nLGPL\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\n\n"
  },
  {
    "path": "testdata/db/local/libasyncns-0.8+3+g68cd5af-3/files",
    "content": "%FILES%\nusr/\nusr/include/\nusr/include/asyncns.h\nusr/lib/\nusr/lib/libasyncns.so\nusr/lib/libasyncns.so.0\nusr/lib/libasyncns.so.0.3.1\nusr/lib/pkgconfig/\nusr/lib/pkgconfig/libasyncns.pc\nusr/share/\nusr/share/doc/\nusr/share/doc/libasyncns/\nusr/share/doc/libasyncns/README\nusr/share/doc/libasyncns/README.html\nusr/share/doc/libasyncns/style.css\n\n"
  },
  {
    "path": "testdata/db/local/libcap-2.49-1/desc",
    "content": "%NAME%\nlibcap\n\n%VERSION%\n2.49-1\n\n%BASE%\nlibcap\n\n%DESC%\nPOSIX 1003.1e capabilities\n\n%URL%\nhttps://sites.google.com/site/fullycapable/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1615745942\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nDavid Runge <dvzrv@archlinux.org>\n\n%SIZE%\n184866\n\n%REASON%\n1\n\n%LICENSE%\nGPL2\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\npam\n\n%PROVIDES%\nlibcap.so=2-64\nlibpsx.so=2-64\n\n"
  },
  {
    "path": "testdata/db/local/libcap-ng-0.8.2-1/desc",
    "content": "%NAME%\nlibcap-ng\n\n%VERSION%\n0.8.2-1\n\n%BASE%\nlibcap-ng\n\n%DESC%\nLibrary making programming with POSIX capabilities easier than traditional libcap\n\n%URL%\nhttps://people.redhat.com/sgrubb/libcap-ng/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1607542366\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nDavid Runge <dvzrv@archlinux.org>\n\n%SIZE%\n120689\n\n%REASON%\n1\n\n%LICENSE%\nLGPL2.1\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\n\n%PROVIDES%\nlibcap-ng.so=0-64\nlibdrop_ambient.so=0-64\n\n"
  },
  {
    "path": "testdata/db/local/libcroco-0.6.13-2/desc",
    "content": "%NAME%\nlibcroco\n\n%VERSION%\n0.6.13-2\n\n%BASE%\nlibcroco\n\n%DESC%\nA CSS parsing library\n\n%URL%\nhttps://gitlab.gnome.org/GNOME/libcroco\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1589875345\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nEvangelos Foutras <evangelos@foutrelis.com>\n\n%SIZE%\n1245913\n\n%REASON%\n1\n\n%LICENSE%\nLGPL\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglib2\nlibxml2\n\n"
  },
  {
    "path": "testdata/db/local/libelf-0.183-3/desc",
    "content": "%NAME%\nlibelf\n\n%VERSION%\n0.183-3\n\n%BASE%\nelfutils\n\n%DESC%\nHandle ELF object files and DWARF debugging information (libraries)\n\n%URL%\nhttps://sourceware.org/elfutils/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1613045358\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nDavid Runge <dvzrv@archlinux.org>\n\n%SIZE%\n2918887\n\n%REASON%\n1\n\n%LICENSE%\nLGPL3\nGPL3\n\n%VALIDATION%\npgp\n\n%DEPENDS%\ngcc-libs\nlibbz2.so=1.0-64\nlibcurl.so=4-64\nxz\nzlib\nzstd\n\n"
  },
  {
    "path": "testdata/db/local/libffi-3.3-4/desc",
    "content": "%NAME%\nlibffi\n\n%VERSION%\n3.3-4\n\n%BASE%\nlibffi\n\n%DESC%\nPortable foreign function interface library\n\n%URL%\nhttps://sourceware.org/libffi/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1602795369\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nLevente Polyak <anthraxx@archlinux.org>\n\n%SIZE%\n94551\n\n%REASON%\n1\n\n%LICENSE%\nMIT\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\n\n%PROVIDES%\nlibffi.so=7-64\n\n"
  },
  {
    "path": "testdata/db/local/libgcrypt-1.9.3-1/desc",
    "content": "%NAME%\nlibgcrypt\n\n%VERSION%\n1.9.3-1\n\n%BASE%\nlibgcrypt\n\n%DESC%\nGeneral purpose cryptographic library based on the code from GnuPG\n\n%URL%\nhttps://www.gnupg.org\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1618900660\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nAndreas Radke <andyrtr@archlinux.org>\n\n%SIZE%\n1515563\n\n%REASON%\n1\n\n%LICENSE%\nLGPL\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nlibgpg-error\n\n"
  },
  {
    "path": "testdata/db/local/libgpg-error-1.42-1/desc",
    "content": "%NAME%\nlibgpg-error\n\n%VERSION%\n1.42-1\n\n%BASE%\nlibgpg-error\n\n%DESC%\nSupport library for libgcrypt\n\n%URL%\nhttps://www.gnupg.org\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1616427501\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nAndreas Radke <andyrtr@archlinux.org>\n\n%SIZE%\n1009822\n\n%REASON%\n1\n\n%LICENSE%\nLGPL\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\nsh\n\n"
  },
  {
    "path": "testdata/db/local/libice-1.0.10-3/desc",
    "content": "%NAME%\nlibice\n\n%VERSION%\n1.0.10-3\n\n%BASE%\nlibice\n\n%DESC%\nX11 Inter-Client Exchange library\n\n%URL%\nhttps://xorg.freedesktop.org/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1589637856\n\n%INSTALLDATE%\n1621851264\n\n%PACKAGER%\nEvangelos Foutras <evangelos@foutrelis.com>\n\n%SIZE%\n369675\n\n%REASON%\n1\n\n%LICENSE%\ncustom\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\n\n"
  },
  {
    "path": "testdata/db/local/libice-1.0.10-3/files",
    "content": "%FILES%\nusr/\nusr/include/\nusr/include/X11/\nusr/include/X11/ICE/\nusr/include/X11/ICE/ICE.h\nusr/include/X11/ICE/ICEconn.h\nusr/include/X11/ICE/ICElib.h\nusr/include/X11/ICE/ICEmsg.h\nusr/include/X11/ICE/ICEproto.h\nusr/include/X11/ICE/ICEutil.h\nusr/lib/\nusr/lib/libICE.so\nusr/lib/libICE.so.6\nusr/lib/libICE.so.6.3.0\nusr/lib/pkgconfig/\nusr/lib/pkgconfig/ice.pc\nusr/share/\nusr/share/doc/\nusr/share/doc/libICE/\nusr/share/doc/libICE/ICElib.xml\nusr/share/doc/libICE/ice.xml\nusr/share/licenses/\nusr/share/licenses/libice/\nusr/share/licenses/libice/COPYING\n\n"
  },
  {
    "path": "testdata/db/local/libidn2-2.3.0-1/desc",
    "content": "%NAME%\nlibidn2\n\n%VERSION%\n2.3.0-1\n\n%BASE%\nlibidn2\n\n%DESC%\nFree software implementation of IDNA2008, Punycode and TR46\n\n%URL%\nhttps://www.gnu.org/software/libidn/#libidn2\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1573744893\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nEvangelos Foutras <evangelos@foutrelis.com>\n\n%SIZE%\n408046\n\n%REASON%\n1\n\n%LICENSE%\nGPL2\nLGPL3\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nlibunistring\n\n%PROVIDES%\nlibidn2.so=0-64\n\n"
  },
  {
    "path": "testdata/db/local/libksba-1.4.0-2/desc",
    "content": "%NAME%\nlibksba\n\n%VERSION%\n1.4.0-2\n\n%BASE%\nlibksba\n\n%DESC%\nLibrary for working with X.509 certificates, CMS data and related objects\n\n%URL%\nhttps://www.gnupg.org/related_software/libksba/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1598784736\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nEvangelos Foutras <foutrelis@archlinux.org>\n\n%SIZE%\n321281\n\n%REASON%\n1\n\n%LICENSE%\nGPL\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nbash\nlibgpg-error\nglibc\n\n"
  },
  {
    "path": "testdata/db/local/libldap-2.4.58-1/desc",
    "content": "%NAME%\nlibldap\n\n%VERSION%\n2.4.58-1\n\n%BASE%\nopenldap\n\n%DESC%\nLightweight Directory Access Protocol (LDAP) client libraries\n\n%URL%\nhttps://www.openldap.org/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1616277908\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nAntonio Rojas <arojas@archlinux.org>\n\n%SIZE%\n945475\n\n%REASON%\n1\n\n%LICENSE%\ncustom\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nlibsasl\ne2fsprogs\n\n"
  },
  {
    "path": "testdata/db/local/libmnl-1.0.4-3/desc",
    "content": "%NAME%\nlibmnl\n\n%VERSION%\n1.0.4-3\n\n%BASE%\nlibmnl\n\n%DESC%\nMinimalistic user-space library oriented to Netlink developers.\n\n%URL%\nhttps://www.netfilter.org/projects/libmnl/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1573667342\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nEvangelos Foutras <evangelos@foutrelis.com>\n\n%SIZE%\n34682\n\n%REASON%\n1\n\n%LICENSE%\nLGPL2.1\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\n\n"
  },
  {
    "path": "testdata/db/local/libmpdclient-2.19-3/desc",
    "content": "%NAME%\nlibmpdclient\n\n%VERSION%\n2.19-3\n\n%BASE%\nlibmpdclient\n\n%DESC%\nC library to implement a MPD client\n\n%URL%\nhttps://www.musicpd.org/libs/libmpdclient/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1599126434\n\n%INSTALLDATE%\n1621851264\n\n%PACKAGER%\nDavid Runge <dvzrv@archlinux.org>\n\n%SIZE%\n381968\n\n%REASON%\n1\n\n%LICENSE%\nBSD\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\n\n%PROVIDES%\nlibmpdclient.so=2-64\n\n"
  },
  {
    "path": "testdata/db/local/libmpdclient-2.19-3/files",
    "content": "%FILES%\nusr/\nusr/include/\nusr/include/mpd/\nusr/include/mpd/async.h\nusr/include/mpd/audio_format.h\nusr/include/mpd/capabilities.h\nusr/include/mpd/client.h\nusr/include/mpd/compiler.h\nusr/include/mpd/connection.h\nusr/include/mpd/database.h\nusr/include/mpd/directory.h\nusr/include/mpd/entity.h\nusr/include/mpd/error.h\nusr/include/mpd/fingerprint.h\nusr/include/mpd/idle.h\nusr/include/mpd/list.h\nusr/include/mpd/message.h\nusr/include/mpd/mixer.h\nusr/include/mpd/mount.h\nusr/include/mpd/neighbor.h\nusr/include/mpd/output.h\nusr/include/mpd/pair.h\nusr/include/mpd/parser.h\nusr/include/mpd/partition.h\nusr/include/mpd/password.h\nusr/include/mpd/player.h\nusr/include/mpd/playlist.h\nusr/include/mpd/protocol.h\nusr/include/mpd/queue.h\nusr/include/mpd/recv.h\nusr/include/mpd/replay_gain.h\nusr/include/mpd/response.h\nusr/include/mpd/search.h\nusr/include/mpd/send.h\nusr/include/mpd/settings.h\nusr/include/mpd/socket.h\nusr/include/mpd/song.h\nusr/include/mpd/stats.h\nusr/include/mpd/status.h\nusr/include/mpd/sticker.h\nusr/include/mpd/tag.h\nusr/include/mpd/version.h\nusr/lib/\nusr/lib/libmpdclient.so\nusr/lib/libmpdclient.so.2\nusr/lib/libmpdclient.so.2.19\nusr/lib/pkgconfig/\nusr/lib/pkgconfig/libmpdclient.pc\nusr/share/\nusr/share/doc/\nusr/share/doc/libmpdclient/\nusr/share/doc/libmpdclient/AUTHORS\nusr/share/doc/libmpdclient/COPYING\nusr/share/doc/libmpdclient/NEWS\nusr/share/doc/libmpdclient/README.rst\nusr/share/licenses/\nusr/share/licenses/libmpdclient/\nusr/share/licenses/libmpdclient/COPYING\nusr/share/vala/\nusr/share/vala/vapi/\nusr/share/vala/vapi/libmpdclient.vapi\n\n"
  },
  {
    "path": "testdata/db/local/libnetfilter_conntrack-1.0.8-1/desc",
    "content": "%NAME%\nlibnetfilter_conntrack\n\n%VERSION%\n1.0.8-1\n\n%BASE%\nlibnetfilter_conntrack\n\n%DESC%\nLibrary providing an API to the in-kernel connection tracking state table\n\n%URL%\nhttps://www.netfilter.org/projects/libnetfilter_conntrack/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1585775065\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nSébastien Luttringer <seblu@seblu.net>\n\n%SIZE%\n153539\n\n%REASON%\n1\n\n%LICENSE%\nGPL\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nlibnfnetlink\nlibmnl\n\n"
  },
  {
    "path": "testdata/db/local/libnfnetlink-1.0.1-4/desc",
    "content": "%NAME%\nlibnfnetlink\n\n%VERSION%\n1.0.1-4\n\n%BASE%\nlibnfnetlink\n\n%DESC%\nLow-level library for netfilter related kernel/userspace communication\n\n%URL%\nhttps://www.netfilter.org/projects/libnfnetlink/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1589637827\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nEvangelos Foutras <evangelos@foutrelis.com>\n\n%SIZE%\n43166\n\n%REASON%\n1\n\n%LICENSE%\nGPL\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\n\n"
  },
  {
    "path": "testdata/db/local/libnftnl-1.1.9-1/desc",
    "content": "%NAME%\nlibnftnl\n\n%VERSION%\n1.1.9-1\n\n%BASE%\nlibnftnl\n\n%DESC%\nNetfilter library providing interface to the nf_tables subsystem\n\n%URL%\nhttps://netfilter.org/projects/libnftnl/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1611018125\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nSébastien Luttringer <seblu@seblu.net>\n\n%SIZE%\n253207\n\n%REASON%\n1\n\n%LICENSE%\nGPL2\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nlibmnl\n\n"
  },
  {
    "path": "testdata/db/local/libnghttp2-1.43.0-1/desc",
    "content": "%NAME%\nlibnghttp2\n\n%VERSION%\n1.43.0-1\n\n%BASE%\nlibnghttp2\n\n%DESC%\nFraming layer of HTTP/2 is implemented as a reusable C library\n\n%URL%\nhttps://nghttp2.org/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1615121705\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nAntonio Rojas <arojas@archlinux.org>\n\n%SIZE%\n381913\n\n%REASON%\n1\n\n%LICENSE%\nMIT\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\n\n%CONFLICTS%\nnghttp2<1.20.0-2\n\n"
  },
  {
    "path": "testdata/db/local/libnl-3.5.0-2/desc",
    "content": "%NAME%\nlibnl\n\n%VERSION%\n3.5.0-2\n\n%BASE%\nlibnl\n\n%DESC%\nLibrary for applications dealing with netlink sockets\n\n%URL%\nhttps://github.com/thom311/libnl/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1573665485\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nFelix Yan <felixonmars@archlinux.org>\n\n%SIZE%\n2110530\n\n%REASON%\n1\n\n%LICENSE%\nGPL\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\n\n"
  },
  {
    "path": "testdata/db/local/libogg-1.3.4-2/desc",
    "content": "%NAME%\nlibogg\n\n%VERSION%\n1.3.4-2\n\n%BASE%\nlibogg\n\n%DESC%\nOgg bitstream and framing library\n\n%URL%\nhttps://www.xiph.org/ogg/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1588875886\n\n%INSTALLDATE%\n1621851264\n\n%PACKAGER%\nJan Alexander Steffens (heftig) <jan.steffens@gmail.com>\n\n%SIZE%\n459580\n\n%REASON%\n1\n\n%LICENSE%\nBSD\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\n\n%PROVIDES%\nlibogg.so=0-64\n\n"
  },
  {
    "path": "testdata/db/local/libogg-1.3.4-2/files",
    "content": "%FILES%\nusr/\nusr/include/\nusr/include/ogg/\nusr/include/ogg/config_types.h\nusr/include/ogg/ogg.h\nusr/include/ogg/os_types.h\nusr/lib/\nusr/lib/cmake/\nusr/lib/cmake/Ogg/\nusr/lib/cmake/Ogg/OggConfig.cmake\nusr/lib/cmake/Ogg/OggConfigVersion.cmake\nusr/lib/cmake/Ogg/OggTargets-noconfig.cmake\nusr/lib/cmake/Ogg/OggTargets.cmake\nusr/lib/libogg.so\nusr/lib/libogg.so.0\nusr/lib/libogg.so.0.8.4\nusr/lib/pkgconfig/\nusr/lib/pkgconfig/ogg.pc\nusr/share/\nusr/share/aclocal/\nusr/share/aclocal/ogg.m4\nusr/share/doc/\nusr/share/doc/libogg/\nusr/share/doc/libogg/html/\nusr/share/doc/libogg/html/fish_xiph_org.png\nusr/share/doc/libogg/html/framing.html\nusr/share/doc/libogg/html/index.html\nusr/share/doc/libogg/html/libogg/\nusr/share/doc/libogg/html/libogg/Makefile.am\nusr/share/doc/libogg/html/libogg/bitpacking.html\nusr/share/doc/libogg/html/libogg/datastructures.html\nusr/share/doc/libogg/html/libogg/decoding.html\nusr/share/doc/libogg/html/libogg/encoding.html\nusr/share/doc/libogg/html/libogg/general.html\nusr/share/doc/libogg/html/libogg/index.html\nusr/share/doc/libogg/html/libogg/ogg_iovec_t.html\nusr/share/doc/libogg/html/libogg/ogg_packet.html\nusr/share/doc/libogg/html/libogg/ogg_packet_clear.html\nusr/share/doc/libogg/html/libogg/ogg_page.html\nusr/share/doc/libogg/html/libogg/ogg_page_bos.html\nusr/share/doc/libogg/html/libogg/ogg_page_checksum_set.html\nusr/share/doc/libogg/html/libogg/ogg_page_continued.html\nusr/share/doc/libogg/html/libogg/ogg_page_eos.html\nusr/share/doc/libogg/html/libogg/ogg_page_granulepos.html\nusr/share/doc/libogg/html/libogg/ogg_page_packets.html\nusr/share/doc/libogg/html/libogg/ogg_page_pageno.html\nusr/share/doc/libogg/html/libogg/ogg_page_serialno.html\nusr/share/doc/libogg/html/libogg/ogg_page_version.html\nusr/share/doc/libogg/html/libogg/ogg_stream_check.html\nusr/share/doc/libogg/html/libogg/ogg_stream_clear.html\nusr/share/doc/libogg/html/libogg/ogg_stream_destroy.html\nusr/share/doc/libogg/html/libogg/ogg_stream_eos.html\nusr/share/doc/libogg/html/libogg/ogg_stream_flush.html\nusr/share/doc/libogg/html/libogg/ogg_stream_flush_fill.html\nusr/share/doc/libogg/html/libogg/ogg_stream_init.html\nusr/share/doc/libogg/html/libogg/ogg_stream_iovecin.html\nusr/share/doc/libogg/html/libogg/ogg_stream_packetin.html\nusr/share/doc/libogg/html/libogg/ogg_stream_packetout.html\nusr/share/doc/libogg/html/libogg/ogg_stream_packetpeek.html\nusr/share/doc/libogg/html/libogg/ogg_stream_pagein.html\nusr/share/doc/libogg/html/libogg/ogg_stream_pageout.html\nusr/share/doc/libogg/html/libogg/ogg_stream_pageout_fill.html\nusr/share/doc/libogg/html/libogg/ogg_stream_reset.html\nusr/share/doc/libogg/html/libogg/ogg_stream_reset_serialno.html\nusr/share/doc/libogg/html/libogg/ogg_stream_state.html\nusr/share/doc/libogg/html/libogg/ogg_sync_buffer.html\nusr/share/doc/libogg/html/libogg/ogg_sync_check.html\nusr/share/doc/libogg/html/libogg/ogg_sync_clear.html\nusr/share/doc/libogg/html/libogg/ogg_sync_destroy.html\nusr/share/doc/libogg/html/libogg/ogg_sync_init.html\nusr/share/doc/libogg/html/libogg/ogg_sync_pageout.html\nusr/share/doc/libogg/html/libogg/ogg_sync_pageseek.html\nusr/share/doc/libogg/html/libogg/ogg_sync_reset.html\nusr/share/doc/libogg/html/libogg/ogg_sync_state.html\nusr/share/doc/libogg/html/libogg/ogg_sync_wrote.html\nusr/share/doc/libogg/html/libogg/oggpack_adv.html\nusr/share/doc/libogg/html/libogg/oggpack_adv1.html\nusr/share/doc/libogg/html/libogg/oggpack_bits.html\nusr/share/doc/libogg/html/libogg/oggpack_buffer.html\nusr/share/doc/libogg/html/libogg/oggpack_bytes.html\nusr/share/doc/libogg/html/libogg/oggpack_get_buffer.html\nusr/share/doc/libogg/html/libogg/oggpack_look.html\nusr/share/doc/libogg/html/libogg/oggpack_look1.html\nusr/share/doc/libogg/html/libogg/oggpack_read.html\nusr/share/doc/libogg/html/libogg/oggpack_read1.html\nusr/share/doc/libogg/html/libogg/oggpack_readinit.html\nusr/share/doc/libogg/html/libogg/oggpack_reset.html\nusr/share/doc/libogg/html/libogg/oggpack_write.html\nusr/share/doc/libogg/html/libogg/oggpack_writealign.html\nusr/share/doc/libogg/html/libogg/oggpack_writecheck.html\nusr/share/doc/libogg/html/libogg/oggpack_writeclear.html\nusr/share/doc/libogg/html/libogg/oggpack_writecopy.html\nusr/share/doc/libogg/html/libogg/oggpack_writeinit.html\nusr/share/doc/libogg/html/libogg/oggpack_writetrunc.html\nusr/share/doc/libogg/html/libogg/overview.html\nusr/share/doc/libogg/html/libogg/reference.html\nusr/share/doc/libogg/html/libogg/style.css\nusr/share/doc/libogg/html/multiplex1.png\nusr/share/doc/libogg/html/ogg-multiplex.html\nusr/share/doc/libogg/html/oggstream.html\nusr/share/doc/libogg/html/packets.png\nusr/share/doc/libogg/html/pages.png\nusr/share/doc/libogg/html/rfc3533.txt\nusr/share/doc/libogg/html/rfc5334.txt\nusr/share/doc/libogg/html/skeleton.html\nusr/share/doc/libogg/html/stream.png\nusr/share/doc/libogg/html/vorbisword2.png\nusr/share/doc/libogg/html/white-ogg.png\nusr/share/doc/libogg/html/white-xifish.png\nusr/share/licenses/\nusr/share/licenses/libogg/\nusr/share/licenses/libogg/COPYING\n\n"
  },
  {
    "path": "testdata/db/local/libp11-kit-0.23.22-1/desc",
    "content": "%NAME%\nlibp11-kit\n\n%VERSION%\n0.23.22-1\n\n%BASE%\np11-kit\n\n%DESC%\nLoads and enumerates PKCS#11 modules (library)\n\n%URL%\nhttps://p11-glue.freedesktop.org\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1607778149\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nJan Alexander Steffens (heftig) <heftig@archlinux.org>\n\n%SIZE%\n2837796\n\n%REASON%\n1\n\n%LICENSE%\nBSD\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\nlibtasn1\nlibffi\n\n%PROVIDES%\nlibp11-kit.so=0-64\n\n"
  },
  {
    "path": "testdata/db/local/libpcap-1.10.0-1/desc",
    "content": "%NAME%\nlibpcap\n\n%VERSION%\n1.10.0-1\n\n%BASE%\nlibpcap\n\n%DESC%\nA system-independent interface for user-level packet capture\n\n%URL%\nhttps://www.tcpdump.org/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1610039426\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nDavid Runge <dvzrv@archlinux.org>\n\n%SIZE%\n632805\n\n%REASON%\n1\n\n%LICENSE%\nBSD\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\nlibnl\nsh\nlibdbus-1.so=3-64\n\n%PROVIDES%\nlibpcap.so=1-64\n\n"
  },
  {
    "path": "testdata/db/local/libpng-1.6.37-3/desc",
    "content": "%NAME%\nlibpng\n\n%VERSION%\n1.6.37-3\n\n%BASE%\nlibpng\n\n%DESC%\nA collection of routines used to create PNG format graphics files\n\n%URL%\nhttp://www.libpng.org/pub/png/libpng.html\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1594070734\n\n%INSTALLDATE%\n1621851264\n\n%PACKAGER%\nChristian Hesse <arch@eworm.de>\n\n%SIZE%\n580195\n\n%REASON%\n1\n\n%LICENSE%\ncustom\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nzlib\nsh\n\n"
  },
  {
    "path": "testdata/db/local/libpng-1.6.37-3/files",
    "content": "%FILES%\nusr/\nusr/bin/\nusr/bin/libpng-config\nusr/bin/libpng16-config\nusr/bin/png-fix-itxt\nusr/bin/png2pnm\nusr/bin/pngfix\nusr/bin/pnm2png\nusr/include/\nusr/include/libpng16/\nusr/include/libpng16/png.h\nusr/include/libpng16/pngconf.h\nusr/include/libpng16/pnglibconf.h\nusr/include/png.h\nusr/include/pngconf.h\nusr/include/pnglibconf.h\nusr/lib/\nusr/lib/libpng.so\nusr/lib/libpng16.so\nusr/lib/libpng16.so.16\nusr/lib/libpng16.so.16.37.0\nusr/lib/pkgconfig/\nusr/lib/pkgconfig/libpng.pc\nusr/lib/pkgconfig/libpng16.pc\nusr/share/\nusr/share/licenses/\nusr/share/licenses/libpng/\nusr/share/licenses/libpng/LICENSE\nusr/share/man/\nusr/share/man/man3/\nusr/share/man/man3/libpng.3.gz\nusr/share/man/man3/libpngpf.3.gz\nusr/share/man/man5/\nusr/share/man/man5/png.5.gz\n\n"
  },
  {
    "path": "testdata/db/local/libpsl-0.21.1-1/desc",
    "content": "%NAME%\nlibpsl\n\n%VERSION%\n0.21.1-1\n\n%BASE%\nlibpsl\n\n%DESC%\nPublic Suffix List library\n\n%URL%\nhttps://github.com/rockdaboot/libpsl\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1598304191\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nLevente Polyak <anthraxx@archlinux.org>\n\n%SIZE%\n193026\n\n%REASON%\n1\n\n%LICENSE%\nMIT\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nlibidn2\nlibidn2.so=0-64\nlibunistring\n\n%PROVIDES%\nlibpsl.so=5-64\n\n"
  },
  {
    "path": "testdata/db/local/libpulse-14.2-3/desc",
    "content": "%NAME%\nlibpulse\n\n%VERSION%\n14.2-3\n\n%BASE%\npulseaudio\n\n%DESC%\nA featureful, general-purpose sound server (client library)\n\n%URL%\nhttps://www.freedesktop.org/wiki/Software/PulseAudio/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1616686938\n\n%INSTALLDATE%\n1621851264\n\n%PACKAGER%\nJan Alexander Steffens (heftig) <heftig@archlinux.org>\n\n%SIZE%\n1541311\n\n%REASON%\n1\n\n%LICENSE%\nLGPL\n\n%VALIDATION%\npgp\n\n%DEPENDS%\ndbus\nlibasyncns\nlibcap\nlibxcb\nlibsm\nlibsndfile\nsystemd\n\n%OPTDEPENDS%\nglib2: mainloop integration\n\n%PROVIDES%\nlibpulse.so=0-64\nlibpulse-simple.so=0-64\nlibpulse-mainloop-glib.so=0-64\n\n"
  },
  {
    "path": "testdata/db/local/libpulse-14.2-3/files",
    "content": "%FILES%\netc/\netc/pulse/\netc/pulse/client.conf\nusr/\nusr/bin/\nusr/bin/pacat\nusr/bin/pactl\nusr/bin/padsp\nusr/bin/pamon\nusr/bin/paplay\nusr/bin/parec\nusr/bin/parecord\nusr/include/\nusr/include/pulse/\nusr/include/pulse/cdecl.h\nusr/include/pulse/channelmap.h\nusr/include/pulse/context.h\nusr/include/pulse/def.h\nusr/include/pulse/direction.h\nusr/include/pulse/error.h\nusr/include/pulse/ext-device-manager.h\nusr/include/pulse/ext-device-restore.h\nusr/include/pulse/ext-stream-restore.h\nusr/include/pulse/format.h\nusr/include/pulse/gccmacro.h\nusr/include/pulse/glib-mainloop.h\nusr/include/pulse/introspect.h\nusr/include/pulse/mainloop-api.h\nusr/include/pulse/mainloop-signal.h\nusr/include/pulse/mainloop.h\nusr/include/pulse/operation.h\nusr/include/pulse/proplist.h\nusr/include/pulse/pulseaudio.h\nusr/include/pulse/rtclock.h\nusr/include/pulse/sample.h\nusr/include/pulse/scache.h\nusr/include/pulse/simple.h\nusr/include/pulse/stream.h\nusr/include/pulse/subscribe.h\nusr/include/pulse/thread-mainloop.h\nusr/include/pulse/timeval.h\nusr/include/pulse/utf8.h\nusr/include/pulse/util.h\nusr/include/pulse/version.h\nusr/include/pulse/volume.h\nusr/include/pulse/xmalloc.h\nusr/lib/\nusr/lib/cmake/\nusr/lib/cmake/PulseAudio/\nusr/lib/cmake/PulseAudio/PulseAudioConfig.cmake\nusr/lib/cmake/PulseAudio/PulseAudioConfigVersion.cmake\nusr/lib/libpulse-mainloop-glib.so\nusr/lib/libpulse-mainloop-glib.so.0\nusr/lib/libpulse-mainloop-glib.so.0.0.6\nusr/lib/libpulse-simple.so\nusr/lib/libpulse-simple.so.0\nusr/lib/libpulse-simple.so.0.1.1\nusr/lib/libpulse.so\nusr/lib/libpulse.so.0\nusr/lib/libpulse.so.0.23.0\nusr/lib/pkgconfig/\nusr/lib/pkgconfig/libpulse-mainloop-glib.pc\nusr/lib/pkgconfig/libpulse-simple.pc\nusr/lib/pkgconfig/libpulse.pc\nusr/lib/pulseaudio/\nusr/lib/pulseaudio/libpulsecommon-14.2.so\nusr/lib/pulseaudio/libpulsedsp.so\nusr/share/\nusr/share/bash-completion/\nusr/share/bash-completion/completions/\nusr/share/bash-completion/completions/pacat\nusr/share/bash-completion/completions/pactl\nusr/share/bash-completion/completions/padsp\nusr/share/bash-completion/completions/paplay\nusr/share/bash-completion/completions/parec\nusr/share/bash-completion/completions/parecord\nusr/share/bash-completion/completions/pulseaudio\nusr/share/man/\nusr/share/man/man1/\nusr/share/man/man1/pacat.1.gz\nusr/share/man/man1/pactl.1.gz\nusr/share/man/man1/padsp.1.gz\nusr/share/man/man1/pamon.1.gz\nusr/share/man/man1/paplay.1.gz\nusr/share/man/man1/parec.1.gz\nusr/share/man/man1/parecord.1.gz\nusr/share/man/man5/\nusr/share/man/man5/pulse-client.conf.5.gz\nusr/share/vala/\nusr/share/vala/vapi/\nusr/share/vala/vapi/libpulse-mainloop-glib.deps\nusr/share/vala/vapi/libpulse-mainloop-glib.vapi\nusr/share/vala/vapi/libpulse-simple.deps\nusr/share/vala/vapi/libpulse-simple.vapi\nusr/share/vala/vapi/libpulse.deps\nusr/share/vala/vapi/libpulse.vapi\nusr/share/zsh/\nusr/share/zsh/site-functions/\nusr/share/zsh/site-functions/_pulseaudio\n\n%BACKUP%\netc/pulse/client.conf\t(null)\n\n"
  },
  {
    "path": "testdata/db/local/libsasl-2.1.27-3/desc",
    "content": "%NAME%\nlibsasl\n\n%VERSION%\n2.1.27-3\n\n%BASE%\nlibsasl\n\n%DESC%\nCyrus Simple Authentication Service Layer (SASL) Library\n\n%URL%\nhttps://www.cyrusimap.org/sasl/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1588757600\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nAllan McRae <allan@archlinux.org>\n\n%SIZE%\n520188\n\n%REASON%\n1\n\n%LICENSE%\ncustom\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nopenssl\n\n%CONFLICTS%\ncyrus-sasl-plugins\n\n"
  },
  {
    "path": "testdata/db/local/libseccomp-2.5.1-2/desc",
    "content": "%NAME%\nlibseccomp\n\n%VERSION%\n2.5.1-2\n\n%BASE%\nlibseccomp\n\n%DESC%\nEnhanced seccomp library\n\n%URL%\nhttps://github.com/seccomp/libseccomp\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1605903021\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nLevente Polyak <anthraxx@archlinux.org>\n\n%SIZE%\n265228\n\n%REASON%\n1\n\n%LICENSE%\nLGPL2.1\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\n\n%PROVIDES%\nlibseccomp.so=2-64\n\n"
  },
  {
    "path": "testdata/db/local/libsecret-0.20.4-1/desc",
    "content": "%NAME%\nlibsecret\n\n%VERSION%\n0.20.4-1\n\n%BASE%\nlibsecret\n\n%DESC%\nLibrary for storing and retrieving passwords and other secrets\n\n%URL%\nhttps://wiki.gnome.org/Projects/Libsecret\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1602362669\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nJan Alexander Steffens (heftig) <heftig@archlinux.org>\n\n%SIZE%\n2285385\n\n%REASON%\n1\n\n%LICENSE%\nLGPL\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglib2\nlibgcrypt\n\n%OPTDEPENDS%\norg.freedesktop.secrets: secret storage backend\n\n%PROVIDES%\nlibsecret-1.so=0-64\n\n"
  },
  {
    "path": "testdata/db/local/libsm-1.2.3-2/desc",
    "content": "%NAME%\nlibsm\n\n%VERSION%\n1.2.3-2\n\n%BASE%\nlibsm\n\n%DESC%\nX11 Session Management library\n\n%URL%\nhttps://xorg.freedesktop.org/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1588779921\n\n%INSTALLDATE%\n1621851264\n\n%PACKAGER%\nAllan McRae <allan@archlinux.org>\n\n%SIZE%\n267480\n\n%REASON%\n1\n\n%LICENSE%\ncustom\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nlibice\nlibutil-linux\n\n"
  },
  {
    "path": "testdata/db/local/libsm-1.2.3-2/files",
    "content": "%FILES%\nusr/\nusr/include/\nusr/include/X11/\nusr/include/X11/SM/\nusr/include/X11/SM/SM.h\nusr/include/X11/SM/SMlib.h\nusr/include/X11/SM/SMproto.h\nusr/lib/\nusr/lib/libSM.so\nusr/lib/libSM.so.6\nusr/lib/libSM.so.6.0.1\nusr/lib/pkgconfig/\nusr/lib/pkgconfig/sm.pc\nusr/share/\nusr/share/doc/\nusr/share/doc/libSM/\nusr/share/doc/libSM/SMlib.xml\nusr/share/doc/libSM/xsmp.xml\nusr/share/licenses/\nusr/share/licenses/libsm/\nusr/share/licenses/libsm/COPYING\n\n"
  },
  {
    "path": "testdata/db/local/libsndfile-1.0.31-1/desc",
    "content": "%NAME%\nlibsndfile\n\n%VERSION%\n1.0.31-1\n\n%BASE%\nlibsndfile\n\n%DESC%\nA C library for reading and writing files containing sampled audio data\n\n%URL%\nhttps://libsndfile.github.io/libsndfile/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1612468623\n\n%INSTALLDATE%\n1621851264\n\n%PACKAGER%\nDavid Runge <dvzrv@archlinux.org>\n\n%SIZE%\n1044611\n\n%REASON%\n1\n\n%LICENSE%\nLGPL2.1\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\nopus\nspeex\nlibFLAC.so=8-64\nlibogg.so=0-64\nlibvorbis.so=0-64\nlibvorbisenc.so=2-64\n\n%OPTDEPENDS%\nalsa-lib: for sndfile-play\n\n%PROVIDES%\nlibsndfile.so=1-64\n\n"
  },
  {
    "path": "testdata/db/local/libsndfile-1.0.31-1/files",
    "content": "%FILES%\nusr/\nusr/bin/\nusr/bin/sndfile-cmp\nusr/bin/sndfile-concat\nusr/bin/sndfile-convert\nusr/bin/sndfile-deinterleave\nusr/bin/sndfile-info\nusr/bin/sndfile-interleave\nusr/bin/sndfile-metadata-get\nusr/bin/sndfile-metadata-set\nusr/bin/sndfile-play\nusr/bin/sndfile-salvage\nusr/include/\nusr/include/sndfile.h\nusr/include/sndfile.hh\nusr/lib/\nusr/lib/cmake/\nusr/lib/cmake/SndFile/\nusr/lib/cmake/SndFile/SndFileConfig.cmake\nusr/lib/cmake/SndFile/SndFileConfigVersion.cmake\nusr/lib/cmake/SndFile/SndFileTargets-none.cmake\nusr/lib/cmake/SndFile/SndFileTargets.cmake\nusr/lib/libsndfile.so\nusr/lib/libsndfile.so.1\nusr/lib/libsndfile.so.1.0.31\nusr/lib/pkgconfig/\nusr/lib/pkgconfig/sndfile.pc\nusr/share/\nusr/share/doc/\nusr/share/doc/libsndfile/\nusr/share/doc/libsndfile/AUTHORS\nusr/share/doc/libsndfile/ChangeLog\nusr/share/doc/libsndfile/FAQ.md\nusr/share/doc/libsndfile/NEWS\nusr/share/doc/libsndfile/README\nusr/share/doc/libsndfile/api.md\nusr/share/doc/libsndfile/bugs.md\nusr/share/doc/libsndfile/command.md\nusr/share/doc/libsndfile/embedded_files.md\nusr/share/doc/libsndfile/formats.md\nusr/share/doc/libsndfile/index.md\nusr/share/doc/libsndfile/libsndfile.css\nusr/share/doc/libsndfile/libsndfile.jpg\nusr/share/doc/libsndfile/lists.md\nusr/share/doc/libsndfile/new_file_type_howto.md\nusr/share/doc/libsndfile/octave.md\nusr/share/doc/libsndfile/print.css\nusr/share/doc/libsndfile/sndfile_info.md\nusr/share/doc/libsndfile/tutorial.md\nusr/share/doc/libsndfile/win32.md\nusr/share/man/\nusr/share/man/man1/\nusr/share/man/man1/sndfile-cmp.1.gz\nusr/share/man/man1/sndfile-concat.1.gz\nusr/share/man/man1/sndfile-convert.1.gz\nusr/share/man/man1/sndfile-deinterleave.1.gz\nusr/share/man/man1/sndfile-info.1.gz\nusr/share/man/man1/sndfile-interleave.1.gz\nusr/share/man/man1/sndfile-metadata-get.1.gz\nusr/share/man/man1/sndfile-metadata-set.1.gz\nusr/share/man/man1/sndfile-play.1.gz\nusr/share/man/man1/sndfile-salvage.1.gz\n\n"
  },
  {
    "path": "testdata/db/local/libssh2-1.9.0-3/desc",
    "content": "%NAME%\nlibssh2\n\n%VERSION%\n1.9.0-3\n\n%BASE%\nlibssh2\n\n%DESC%\nA library implementing the SSH2 protocol as defined by Internet Drafts\n\n%URL%\nhttps://www.libssh2.org/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1616163884\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nFelix Yan <felixonmars@archlinux.org>\n\n%SIZE%\n424360\n\n%REASON%\n1\n\n%LICENSE%\nBSD\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nopenssl\nzlib\n\n%PROVIDES%\nlibssh2.so=1-64\n\n"
  },
  {
    "path": "testdata/db/local/libtasn1-4.16.0-1/desc",
    "content": "%NAME%\nlibtasn1\n\n%VERSION%\n4.16.0-1\n\n%BASE%\nlibtasn1\n\n%DESC%\nThe ASN.1 library used in GNUTLS\n\n%URL%\nhttps://www.gnu.org/software/libtasn1/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1580756132\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nAndreas Radke <andyrtr@archlinux.org>\n\n%SIZE%\n270767\n\n%REASON%\n1\n\n%LICENSE%\nGPL3\nLGPL\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\n\n"
  },
  {
    "path": "testdata/db/local/libtirpc-1.3.1-1/desc",
    "content": "%NAME%\nlibtirpc\n\n%VERSION%\n1.3.1-1\n\n%BASE%\nlibtirpc\n\n%DESC%\nTransport Independent RPC library (SunRPC replacement)\n\n%URL%\nhttp://git.linux-nfs.org/?p=steved/libtirpc.git;a=summary\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1606924920\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nAndreas Radke <andyrtr@archlinux.org>\n\n%SIZE%\n444709\n\n%REASON%\n1\n\n%LICENSE%\nBSD\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nkrb5\n\n"
  },
  {
    "path": "testdata/db/local/libunistring-0.9.10-3/desc",
    "content": "%NAME%\nlibunistring\n\n%VERSION%\n0.9.10-3\n\n%BASE%\nlibunistring\n\n%DESC%\nLibrary for manipulating Unicode strings and C strings\n\n%URL%\nhttps://www.gnu.org/software/libunistring/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1602874395\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nLevente Polyak <anthraxx@archlinux.org>\n\n%SIZE%\n2356656\n\n%REASON%\n1\n\n%LICENSE%\nGPL\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\n\n%PROVIDES%\nlibunistring.so=2-64\n\n"
  },
  {
    "path": "testdata/db/local/libvorbis-1.3.7-2/desc",
    "content": "%NAME%\nlibvorbis\n\n%VERSION%\n1.3.7-2\n\n%BASE%\nlibvorbis\n\n%DESC%\nReference implementation of the Ogg Vorbis audio format\n\n%URL%\nhttps://www.xiph.org/vorbis/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1593956403\n\n%INSTALLDATE%\n1621851264\n\n%PACKAGER%\nMaxime Gauduin <alucryd@archlinux.org>\n\n%SIZE%\n1506408\n\n%REASON%\n1\n\n%LICENSE%\nBSD\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nlibogg.so=0-64\n\n%PROVIDES%\nlibvorbis.so=0-64\nlibvorbisenc.so=2-64\nlibvorbisfile.so=3-64\n\n"
  },
  {
    "path": "testdata/db/local/libvorbis-1.3.7-2/files",
    "content": "%FILES%\nusr/\nusr/include/\nusr/include/vorbis/\nusr/include/vorbis/codec.h\nusr/include/vorbis/vorbisenc.h\nusr/include/vorbis/vorbisfile.h\nusr/lib/\nusr/lib/libvorbis.so\nusr/lib/libvorbis.so.0\nusr/lib/libvorbis.so.0.4.9\nusr/lib/libvorbisenc.so\nusr/lib/libvorbisenc.so.2\nusr/lib/libvorbisenc.so.2.0.12\nusr/lib/libvorbisfile.so\nusr/lib/libvorbisfile.so.3\nusr/lib/libvorbisfile.so.3.3.8\nusr/lib/pkgconfig/\nusr/lib/pkgconfig/vorbis.pc\nusr/lib/pkgconfig/vorbisenc.pc\nusr/lib/pkgconfig/vorbisfile.pc\nusr/share/\nusr/share/aclocal/\nusr/share/aclocal/vorbis.m4\nusr/share/doc/\nusr/share/doc/libvorbis-1.3.7/\nusr/share/doc/libvorbis-1.3.7/doxygen-build.stamp\nusr/share/doc/libvorbis-1.3.7/eightphase.png\nusr/share/doc/libvorbis-1.3.7/fish_xiph_org.png\nusr/share/doc/libvorbis-1.3.7/floor1_inverse_dB_table.html\nusr/share/doc/libvorbis-1.3.7/floorval.png\nusr/share/doc/libvorbis-1.3.7/fourphase.png\nusr/share/doc/libvorbis-1.3.7/framing.html\nusr/share/doc/libvorbis-1.3.7/helper.html\nusr/share/doc/libvorbis-1.3.7/index.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/\nusr/share/doc/libvorbis-1.3.7/libvorbis/index.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/overview.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/reference.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/return.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/style.css\nusr/share/doc/libvorbis-1.3.7/libvorbis/vorbis_analysis.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/vorbis_analysis_blockout.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/vorbis_analysis_buffer.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/vorbis_analysis_headerout.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/vorbis_analysis_init.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/vorbis_analysis_wrote.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/vorbis_bitrate_addblock.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/vorbis_bitrate_flushpacket.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/vorbis_block.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/vorbis_block_clear.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/vorbis_block_init.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/vorbis_comment.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/vorbis_comment_add.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/vorbis_comment_add_tag.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/vorbis_comment_clear.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/vorbis_comment_init.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/vorbis_comment_query.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/vorbis_comment_query_count.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/vorbis_commentheader_out.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/vorbis_dsp_clear.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/vorbis_dsp_state.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/vorbis_granule_time.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/vorbis_info.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/vorbis_info_blocksize.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/vorbis_info_clear.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/vorbis_info_init.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/vorbis_packet_blocksize.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/vorbis_synthesis.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/vorbis_synthesis_blockin.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/vorbis_synthesis_halfrate.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/vorbis_synthesis_halfrate_p.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/vorbis_synthesis_headerin.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/vorbis_synthesis_idheader.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/vorbis_synthesis_init.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/vorbis_synthesis_lapout.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/vorbis_synthesis_pcmout.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/vorbis_synthesis_read.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/vorbis_synthesis_restart.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/vorbis_synthesis_trackonly.html\nusr/share/doc/libvorbis-1.3.7/libvorbis/vorbis_version_string.html\nusr/share/doc/libvorbis-1.3.7/oggstream.html\nusr/share/doc/libvorbis-1.3.7/programming.html\nusr/share/doc/libvorbis-1.3.7/rfc5215.txt\nusr/share/doc/libvorbis-1.3.7/rfc5215.xml\nusr/share/doc/libvorbis-1.3.7/squarepolar.png\nusr/share/doc/libvorbis-1.3.7/stereo.html\nusr/share/doc/libvorbis-1.3.7/stream.png\nusr/share/doc/libvorbis-1.3.7/v-comment.html\nusr/share/doc/libvorbis-1.3.7/vorbis-clip.txt\nusr/share/doc/libvorbis-1.3.7/vorbis-errors.txt\nusr/share/doc/libvorbis-1.3.7/vorbis-fidelity.html\nusr/share/doc/libvorbis-1.3.7/vorbisenc/\nusr/share/doc/libvorbis-1.3.7/vorbisenc/changes.html\nusr/share/doc/libvorbis-1.3.7/vorbisenc/examples.html\nusr/share/doc/libvorbis-1.3.7/vorbisenc/index.html\nusr/share/doc/libvorbis-1.3.7/vorbisenc/ovectl_ratemanage2_arg.html\nusr/share/doc/libvorbis-1.3.7/vorbisenc/ovectl_ratemanage_arg.html\nusr/share/doc/libvorbis-1.3.7/vorbisenc/overview.html\nusr/share/doc/libvorbis-1.3.7/vorbisenc/reference.html\nusr/share/doc/libvorbis-1.3.7/vorbisenc/style.css\nusr/share/doc/libvorbis-1.3.7/vorbisenc/vorbis_encode_ctl.html\nusr/share/doc/libvorbis-1.3.7/vorbisenc/vorbis_encode_init.html\nusr/share/doc/libvorbis-1.3.7/vorbisenc/vorbis_encode_init_vbr.html\nusr/share/doc/libvorbis-1.3.7/vorbisenc/vorbis_encode_setup_init.html\nusr/share/doc/libvorbis-1.3.7/vorbisenc/vorbis_encode_setup_managed.html\nusr/share/doc/libvorbis-1.3.7/vorbisenc/vorbis_encode_setup_vbr.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/\nusr/share/doc/libvorbis-1.3.7/vorbisfile/OggVorbis_File.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/callbacks.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/chaining_example_c.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/chainingexample.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/crosslap.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/datastructures.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/decoding.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/example.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/exampleindex.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/fileinfo.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/index.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/initialization.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/ov_bitrate.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/ov_bitrate_instant.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/ov_callbacks.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/ov_clear.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/ov_comment.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/ov_crosslap.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/ov_fopen.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/ov_info.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/ov_open.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/ov_open_callbacks.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/ov_pcm_seek.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/ov_pcm_seek_lap.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/ov_pcm_seek_page.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/ov_pcm_seek_page_lap.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/ov_pcm_tell.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/ov_pcm_total.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/ov_raw_seek.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/ov_raw_seek_lap.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/ov_raw_tell.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/ov_raw_total.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/ov_read.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/ov_read_filter.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/ov_read_float.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/ov_seekable.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/ov_serialnumber.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/ov_streams.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/ov_test.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/ov_test_callbacks.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/ov_test_open.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/ov_time_seek.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/ov_time_seek_lap.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/ov_time_seek_page.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/ov_time_seek_page_lap.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/ov_time_tell.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/ov_time_total.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/overview.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/reference.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/seekexample.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/seeking.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/seeking_example_c.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/seeking_test_c.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/seekingexample.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/style.css\nusr/share/doc/libvorbis-1.3.7/vorbisfile/threads.html\nusr/share/doc/libvorbis-1.3.7/vorbisfile/vorbisfile_example_c.html\nusr/share/licenses/\nusr/share/licenses/libvorbis/\nusr/share/licenses/libvorbis/COPYING\n\n"
  },
  {
    "path": "testdata/db/local/libx11-1.7.0-4/desc",
    "content": "%NAME%\nlibx11\n\n%VERSION%\n1.7.0-4\n\n%BASE%\nlibx11\n\n%DESC%\nX11 client-side library\n\n%URL%\nhttps://xorg.freedesktop.org/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1614241803\n\n%INSTALLDATE%\n1621851264\n\n%PACKAGER%\nAndreas Radke <andyrtr@archlinux.org>\n\n%SIZE%\n10646238\n\n%REASON%\n1\n\n%LICENSE%\ncustom\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nlibxcb\nxorgproto\n\n"
  },
  {
    "path": "testdata/db/local/libx11-1.7.0-4/files",
    "content": "%FILES%\nusr/\nusr/include/\nusr/include/X11/\nusr/include/X11/ImUtil.h\nusr/include/X11/XKBlib.h\nusr/include/X11/Xcms.h\nusr/include/X11/Xlib-xcb.h\nusr/include/X11/Xlib.h\nusr/include/X11/XlibConf.h\nusr/include/X11/Xlibint.h\nusr/include/X11/Xlocale.h\nusr/include/X11/Xregion.h\nusr/include/X11/Xresource.h\nusr/include/X11/Xutil.h\nusr/include/X11/cursorfont.h\nusr/include/X11/extensions/\nusr/include/X11/extensions/XKBgeom.h\nusr/lib/\nusr/lib/libX11-xcb.so\nusr/lib/libX11-xcb.so.1\nusr/lib/libX11-xcb.so.1.0.0\nusr/lib/libX11.so\nusr/lib/libX11.so.6\nusr/lib/libX11.so.6.4.0\nusr/lib/pkgconfig/\nusr/lib/pkgconfig/x11-xcb.pc\nusr/lib/pkgconfig/x11.pc\nusr/share/\nusr/share/X11/\nusr/share/X11/XErrorDB\nusr/share/X11/Xcms.txt\nusr/share/X11/locale/\nusr/share/X11/locale/C/\nusr/share/X11/locale/C/Compose\nusr/share/X11/locale/C/XI18N_OBJS\nusr/share/X11/locale/C/XLC_LOCALE\nusr/share/X11/locale/am_ET.UTF-8/\nusr/share/X11/locale/am_ET.UTF-8/Compose\nusr/share/X11/locale/am_ET.UTF-8/XI18N_OBJS\nusr/share/X11/locale/am_ET.UTF-8/XLC_LOCALE\nusr/share/X11/locale/armscii-8/\nusr/share/X11/locale/armscii-8/Compose\nusr/share/X11/locale/armscii-8/XI18N_OBJS\nusr/share/X11/locale/armscii-8/XLC_LOCALE\nusr/share/X11/locale/compose.dir\nusr/share/X11/locale/cs_CZ.UTF-8/\nusr/share/X11/locale/cs_CZ.UTF-8/Compose\nusr/share/X11/locale/cs_CZ.UTF-8/XI18N_OBJS\nusr/share/X11/locale/cs_CZ.UTF-8/XLC_LOCALE\nusr/share/X11/locale/el_GR.UTF-8/\nusr/share/X11/locale/el_GR.UTF-8/Compose\nusr/share/X11/locale/el_GR.UTF-8/XI18N_OBJS\nusr/share/X11/locale/el_GR.UTF-8/XLC_LOCALE\nusr/share/X11/locale/en_US.UTF-8/\nusr/share/X11/locale/en_US.UTF-8/Compose\nusr/share/X11/locale/en_US.UTF-8/XI18N_OBJS\nusr/share/X11/locale/en_US.UTF-8/XLC_LOCALE\nusr/share/X11/locale/fi_FI.UTF-8/\nusr/share/X11/locale/fi_FI.UTF-8/Compose\nusr/share/X11/locale/fi_FI.UTF-8/XI18N_OBJS\nusr/share/X11/locale/fi_FI.UTF-8/XLC_LOCALE\nusr/share/X11/locale/georgian-academy/\nusr/share/X11/locale/georgian-academy/Compose\nusr/share/X11/locale/georgian-academy/XI18N_OBJS\nusr/share/X11/locale/georgian-academy/XLC_LOCALE\nusr/share/X11/locale/georgian-ps/\nusr/share/X11/locale/georgian-ps/Compose\nusr/share/X11/locale/georgian-ps/XI18N_OBJS\nusr/share/X11/locale/georgian-ps/XLC_LOCALE\nusr/share/X11/locale/ibm-cp1133/\nusr/share/X11/locale/ibm-cp1133/Compose\nusr/share/X11/locale/ibm-cp1133/XI18N_OBJS\nusr/share/X11/locale/ibm-cp1133/XLC_LOCALE\nusr/share/X11/locale/iscii-dev/\nusr/share/X11/locale/iscii-dev/Compose\nusr/share/X11/locale/iscii-dev/XI18N_OBJS\nusr/share/X11/locale/iscii-dev/XLC_LOCALE\nusr/share/X11/locale/isiri-3342/\nusr/share/X11/locale/isiri-3342/Compose\nusr/share/X11/locale/isiri-3342/XI18N_OBJS\nusr/share/X11/locale/isiri-3342/XLC_LOCALE\nusr/share/X11/locale/iso8859-1/\nusr/share/X11/locale/iso8859-1/Compose\nusr/share/X11/locale/iso8859-1/XI18N_OBJS\nusr/share/X11/locale/iso8859-1/XLC_LOCALE\nusr/share/X11/locale/iso8859-10/\nusr/share/X11/locale/iso8859-10/Compose\nusr/share/X11/locale/iso8859-10/XI18N_OBJS\nusr/share/X11/locale/iso8859-10/XLC_LOCALE\nusr/share/X11/locale/iso8859-11/\nusr/share/X11/locale/iso8859-11/Compose\nusr/share/X11/locale/iso8859-11/XI18N_OBJS\nusr/share/X11/locale/iso8859-11/XLC_LOCALE\nusr/share/X11/locale/iso8859-13/\nusr/share/X11/locale/iso8859-13/Compose\nusr/share/X11/locale/iso8859-13/XI18N_OBJS\nusr/share/X11/locale/iso8859-13/XLC_LOCALE\nusr/share/X11/locale/iso8859-14/\nusr/share/X11/locale/iso8859-14/Compose\nusr/share/X11/locale/iso8859-14/XI18N_OBJS\nusr/share/X11/locale/iso8859-14/XLC_LOCALE\nusr/share/X11/locale/iso8859-15/\nusr/share/X11/locale/iso8859-15/Compose\nusr/share/X11/locale/iso8859-15/XI18N_OBJS\nusr/share/X11/locale/iso8859-15/XLC_LOCALE\nusr/share/X11/locale/iso8859-2/\nusr/share/X11/locale/iso8859-2/Compose\nusr/share/X11/locale/iso8859-2/XI18N_OBJS\nusr/share/X11/locale/iso8859-2/XLC_LOCALE\nusr/share/X11/locale/iso8859-3/\nusr/share/X11/locale/iso8859-3/Compose\nusr/share/X11/locale/iso8859-3/XI18N_OBJS\nusr/share/X11/locale/iso8859-3/XLC_LOCALE\nusr/share/X11/locale/iso8859-4/\nusr/share/X11/locale/iso8859-4/Compose\nusr/share/X11/locale/iso8859-4/XI18N_OBJS\nusr/share/X11/locale/iso8859-4/XLC_LOCALE\nusr/share/X11/locale/iso8859-5/\nusr/share/X11/locale/iso8859-5/Compose\nusr/share/X11/locale/iso8859-5/XI18N_OBJS\nusr/share/X11/locale/iso8859-5/XLC_LOCALE\nusr/share/X11/locale/iso8859-6/\nusr/share/X11/locale/iso8859-6/Compose\nusr/share/X11/locale/iso8859-6/XI18N_OBJS\nusr/share/X11/locale/iso8859-6/XLC_LOCALE\nusr/share/X11/locale/iso8859-7/\nusr/share/X11/locale/iso8859-7/Compose\nusr/share/X11/locale/iso8859-7/XI18N_OBJS\nusr/share/X11/locale/iso8859-7/XLC_LOCALE\nusr/share/X11/locale/iso8859-8/\nusr/share/X11/locale/iso8859-8/Compose\nusr/share/X11/locale/iso8859-8/XI18N_OBJS\nusr/share/X11/locale/iso8859-8/XLC_LOCALE\nusr/share/X11/locale/iso8859-9/\nusr/share/X11/locale/iso8859-9/Compose\nusr/share/X11/locale/iso8859-9/XI18N_OBJS\nusr/share/X11/locale/iso8859-9/XLC_LOCALE\nusr/share/X11/locale/iso8859-9e/\nusr/share/X11/locale/iso8859-9e/Compose\nusr/share/X11/locale/iso8859-9e/XI18N_OBJS\nusr/share/X11/locale/iso8859-9e/XLC_LOCALE\nusr/share/X11/locale/ja.JIS/\nusr/share/X11/locale/ja.JIS/Compose\nusr/share/X11/locale/ja.JIS/XI18N_OBJS\nusr/share/X11/locale/ja.JIS/XLC_LOCALE\nusr/share/X11/locale/ja.SJIS/\nusr/share/X11/locale/ja.SJIS/Compose\nusr/share/X11/locale/ja.SJIS/XI18N_OBJS\nusr/share/X11/locale/ja.SJIS/XLC_LOCALE\nusr/share/X11/locale/ja/\nusr/share/X11/locale/ja/Compose\nusr/share/X11/locale/ja/XI18N_OBJS\nusr/share/X11/locale/ja/XLC_LOCALE\nusr/share/X11/locale/ja_JP.UTF-8/\nusr/share/X11/locale/ja_JP.UTF-8/Compose\nusr/share/X11/locale/ja_JP.UTF-8/XI18N_OBJS\nusr/share/X11/locale/ja_JP.UTF-8/XLC_LOCALE\nusr/share/X11/locale/km_KH.UTF-8/\nusr/share/X11/locale/km_KH.UTF-8/Compose\nusr/share/X11/locale/km_KH.UTF-8/XI18N_OBJS\nusr/share/X11/locale/km_KH.UTF-8/XLC_LOCALE\nusr/share/X11/locale/ko/\nusr/share/X11/locale/ko/Compose\nusr/share/X11/locale/ko/XI18N_OBJS\nusr/share/X11/locale/ko/XLC_LOCALE\nusr/share/X11/locale/ko_KR.UTF-8/\nusr/share/X11/locale/ko_KR.UTF-8/Compose\nusr/share/X11/locale/ko_KR.UTF-8/XI18N_OBJS\nusr/share/X11/locale/ko_KR.UTF-8/XLC_LOCALE\nusr/share/X11/locale/koi8-c/\nusr/share/X11/locale/koi8-c/Compose\nusr/share/X11/locale/koi8-c/XI18N_OBJS\nusr/share/X11/locale/koi8-c/XLC_LOCALE\nusr/share/X11/locale/koi8-r/\nusr/share/X11/locale/koi8-r/Compose\nusr/share/X11/locale/koi8-r/XI18N_OBJS\nusr/share/X11/locale/koi8-r/XLC_LOCALE\nusr/share/X11/locale/koi8-u/\nusr/share/X11/locale/koi8-u/Compose\nusr/share/X11/locale/koi8-u/XI18N_OBJS\nusr/share/X11/locale/koi8-u/XLC_LOCALE\nusr/share/X11/locale/locale.alias\nusr/share/X11/locale/locale.dir\nusr/share/X11/locale/microsoft-cp1251/\nusr/share/X11/locale/microsoft-cp1251/Compose\nusr/share/X11/locale/microsoft-cp1251/XI18N_OBJS\nusr/share/X11/locale/microsoft-cp1251/XLC_LOCALE\nusr/share/X11/locale/microsoft-cp1255/\nusr/share/X11/locale/microsoft-cp1255/Compose\nusr/share/X11/locale/microsoft-cp1255/XI18N_OBJS\nusr/share/X11/locale/microsoft-cp1255/XLC_LOCALE\nusr/share/X11/locale/microsoft-cp1256/\nusr/share/X11/locale/microsoft-cp1256/Compose\nusr/share/X11/locale/microsoft-cp1256/XI18N_OBJS\nusr/share/X11/locale/microsoft-cp1256/XLC_LOCALE\nusr/share/X11/locale/mulelao-1/\nusr/share/X11/locale/mulelao-1/Compose\nusr/share/X11/locale/mulelao-1/XI18N_OBJS\nusr/share/X11/locale/mulelao-1/XLC_LOCALE\nusr/share/X11/locale/nokhchi-1/\nusr/share/X11/locale/nokhchi-1/Compose\nusr/share/X11/locale/nokhchi-1/XI18N_OBJS\nusr/share/X11/locale/nokhchi-1/XLC_LOCALE\nusr/share/X11/locale/pt_BR.UTF-8/\nusr/share/X11/locale/pt_BR.UTF-8/Compose\nusr/share/X11/locale/pt_BR.UTF-8/XI18N_OBJS\nusr/share/X11/locale/pt_BR.UTF-8/XLC_LOCALE\nusr/share/X11/locale/pt_PT.UTF-8/\nusr/share/X11/locale/pt_PT.UTF-8/Compose\nusr/share/X11/locale/pt_PT.UTF-8/XI18N_OBJS\nusr/share/X11/locale/pt_PT.UTF-8/XLC_LOCALE\nusr/share/X11/locale/ru_RU.UTF-8/\nusr/share/X11/locale/ru_RU.UTF-8/Compose\nusr/share/X11/locale/ru_RU.UTF-8/XI18N_OBJS\nusr/share/X11/locale/ru_RU.UTF-8/XLC_LOCALE\nusr/share/X11/locale/sr_RS.UTF-8/\nusr/share/X11/locale/sr_RS.UTF-8/Compose\nusr/share/X11/locale/sr_RS.UTF-8/XI18N_OBJS\nusr/share/X11/locale/sr_RS.UTF-8/XLC_LOCALE\nusr/share/X11/locale/tatar-cyr/\nusr/share/X11/locale/tatar-cyr/Compose\nusr/share/X11/locale/tatar-cyr/XI18N_OBJS\nusr/share/X11/locale/tatar-cyr/XLC_LOCALE\nusr/share/X11/locale/th_TH.UTF-8/\nusr/share/X11/locale/th_TH.UTF-8/Compose\nusr/share/X11/locale/th_TH.UTF-8/XI18N_OBJS\nusr/share/X11/locale/th_TH.UTF-8/XLC_LOCALE\nusr/share/X11/locale/th_TH/\nusr/share/X11/locale/th_TH/Compose\nusr/share/X11/locale/th_TH/XI18N_OBJS\nusr/share/X11/locale/th_TH/XLC_LOCALE\nusr/share/X11/locale/tscii-0/\nusr/share/X11/locale/tscii-0/Compose\nusr/share/X11/locale/tscii-0/XI18N_OBJS\nusr/share/X11/locale/tscii-0/XLC_LOCALE\nusr/share/X11/locale/vi_VN.tcvn/\nusr/share/X11/locale/vi_VN.tcvn/Compose\nusr/share/X11/locale/vi_VN.tcvn/XI18N_OBJS\nusr/share/X11/locale/vi_VN.tcvn/XLC_LOCALE\nusr/share/X11/locale/vi_VN.viscii/\nusr/share/X11/locale/vi_VN.viscii/Compose\nusr/share/X11/locale/vi_VN.viscii/XI18N_OBJS\nusr/share/X11/locale/vi_VN.viscii/XLC_LOCALE\nusr/share/X11/locale/zh_CN.UTF-8/\nusr/share/X11/locale/zh_CN.UTF-8/Compose\nusr/share/X11/locale/zh_CN.UTF-8/XI18N_OBJS\nusr/share/X11/locale/zh_CN.UTF-8/XLC_LOCALE\nusr/share/X11/locale/zh_CN.gb18030/\nusr/share/X11/locale/zh_CN.gb18030/Compose\nusr/share/X11/locale/zh_CN.gb18030/XI18N_OBJS\nusr/share/X11/locale/zh_CN.gb18030/XLC_LOCALE\nusr/share/X11/locale/zh_CN.gbk/\nusr/share/X11/locale/zh_CN.gbk/Compose\nusr/share/X11/locale/zh_CN.gbk/XI18N_OBJS\nusr/share/X11/locale/zh_CN.gbk/XLC_LOCALE\nusr/share/X11/locale/zh_CN/\nusr/share/X11/locale/zh_CN/Compose\nusr/share/X11/locale/zh_CN/XI18N_OBJS\nusr/share/X11/locale/zh_CN/XLC_LOCALE\nusr/share/X11/locale/zh_HK.UTF-8/\nusr/share/X11/locale/zh_HK.UTF-8/Compose\nusr/share/X11/locale/zh_HK.UTF-8/XI18N_OBJS\nusr/share/X11/locale/zh_HK.UTF-8/XLC_LOCALE\nusr/share/X11/locale/zh_HK.big5/\nusr/share/X11/locale/zh_HK.big5/Compose\nusr/share/X11/locale/zh_HK.big5/XI18N_OBJS\nusr/share/X11/locale/zh_HK.big5/XLC_LOCALE\nusr/share/X11/locale/zh_HK.big5hkscs/\nusr/share/X11/locale/zh_HK.big5hkscs/Compose\nusr/share/X11/locale/zh_HK.big5hkscs/XI18N_OBJS\nusr/share/X11/locale/zh_HK.big5hkscs/XLC_LOCALE\nusr/share/X11/locale/zh_TW.UTF-8/\nusr/share/X11/locale/zh_TW.UTF-8/Compose\nusr/share/X11/locale/zh_TW.UTF-8/XI18N_OBJS\nusr/share/X11/locale/zh_TW.UTF-8/XLC_LOCALE\nusr/share/X11/locale/zh_TW.big5/\nusr/share/X11/locale/zh_TW.big5/Compose\nusr/share/X11/locale/zh_TW.big5/XI18N_OBJS\nusr/share/X11/locale/zh_TW.big5/XLC_LOCALE\nusr/share/X11/locale/zh_TW/\nusr/share/X11/locale/zh_TW/Compose\nusr/share/X11/locale/zh_TW/XI18N_OBJS\nusr/share/X11/locale/zh_TW/XLC_LOCALE\nusr/share/doc/\nusr/share/doc/libX11/\nusr/share/doc/libX11/XIM/\nusr/share/doc/libX11/XIM/dynamicflow.svg\nusr/share/doc/libX11/XIM/dynamicflowsampleseq.svg\nusr/share/doc/libX11/XIM/eventflow.svg\nusr/share/doc/libX11/XIM/sampleprotocolflow1.svg\nusr/share/doc/libX11/XIM/sampleprotocolflow2.svg\nusr/share/doc/libX11/XIM/staticflow.svg\nusr/share/doc/libX11/XIM/staticflowsampleseq.svg\nusr/share/doc/libX11/XIM/xim.xml\nusr/share/doc/libX11/XKB/\nusr/share/doc/libX11/XKB/XKBlib-1.svg\nusr/share/doc/libX11/XKB/XKBlib-10.svg\nusr/share/doc/libX11/XKB/XKBlib-11.svg\nusr/share/doc/libX11/XKB/XKBlib-12.svg\nusr/share/doc/libX11/XKB/XKBlib-13.svg\nusr/share/doc/libX11/XKB/XKBlib-14.svg\nusr/share/doc/libX11/XKB/XKBlib-15.svg\nusr/share/doc/libX11/XKB/XKBlib-16.svg\nusr/share/doc/libX11/XKB/XKBlib-17.svg\nusr/share/doc/libX11/XKB/XKBlib-18.svg\nusr/share/doc/libX11/XKB/XKBlib-19.svg\nusr/share/doc/libX11/XKB/XKBlib-2.svg\nusr/share/doc/libX11/XKB/XKBlib-20.svg\nusr/share/doc/libX11/XKB/XKBlib-21.svg\nusr/share/doc/libX11/XKB/XKBlib-3.svg\nusr/share/doc/libX11/XKB/XKBlib-4.svg\nusr/share/doc/libX11/XKB/XKBlib-5.svg\nusr/share/doc/libX11/XKB/XKBlib-6.svg\nusr/share/doc/libX11/XKB/XKBlib-7.svg\nusr/share/doc/libX11/XKB/XKBlib-8.svg\nusr/share/doc/libX11/XKB/XKBlib-9.svg\nusr/share/doc/libX11/XKB/acknowledgement.xml\nusr/share/doc/libX11/XKB/ch01.xml\nusr/share/doc/libX11/XKB/ch02.xml\nusr/share/doc/libX11/XKB/ch03.xml\nusr/share/doc/libX11/XKB/ch04.xml\nusr/share/doc/libX11/XKB/ch05.xml\nusr/share/doc/libX11/XKB/ch06.xml\nusr/share/doc/libX11/XKB/ch07.xml\nusr/share/doc/libX11/XKB/ch08.xml\nusr/share/doc/libX11/XKB/ch09.xml\nusr/share/doc/libX11/XKB/ch10.xml\nusr/share/doc/libX11/XKB/ch11.xml\nusr/share/doc/libX11/XKB/ch12.xml\nusr/share/doc/libX11/XKB/ch13.xml\nusr/share/doc/libX11/XKB/ch14.xml\nusr/share/doc/libX11/XKB/ch15.xml\nusr/share/doc/libX11/XKB/ch16.xml\nusr/share/doc/libX11/XKB/ch17.xml\nusr/share/doc/libX11/XKB/ch18.xml\nusr/share/doc/libX11/XKB/ch19.xml\nusr/share/doc/libX11/XKB/ch20.xml\nusr/share/doc/libX11/XKB/ch21.xml\nusr/share/doc/libX11/XKB/ch22.xml\nusr/share/doc/libX11/XKB/glossary.xml\nusr/share/doc/libX11/XKB/xkblib.xml\nusr/share/doc/libX11/i18n/\nusr/share/doc/libX11/i18n/compose/\nusr/share/doc/libX11/i18n/compose/C.xml\nusr/share/doc/libX11/i18n/compose/am_ET.UTF-8.xml\nusr/share/doc/libX11/i18n/compose/armscii-8.xml\nusr/share/doc/libX11/i18n/compose/cs_CZ.UTF-8.xml\nusr/share/doc/libX11/i18n/compose/el_GR.UTF-8.xml\nusr/share/doc/libX11/i18n/compose/en_US.UTF-8.xml\nusr/share/doc/libX11/i18n/compose/fi_FI.UTF-8.xml\nusr/share/doc/libX11/i18n/compose/georgian-academy.xml\nusr/share/doc/libX11/i18n/compose/georgian-ps.xml\nusr/share/doc/libX11/i18n/compose/ibm-cp1133.xml\nusr/share/doc/libX11/i18n/compose/iscii-dev.xml\nusr/share/doc/libX11/i18n/compose/isiri-3342.xml\nusr/share/doc/libX11/i18n/compose/iso8859-1.xml\nusr/share/doc/libX11/i18n/compose/iso8859-10.xml\nusr/share/doc/libX11/i18n/compose/iso8859-11.xml\nusr/share/doc/libX11/i18n/compose/iso8859-13.xml\nusr/share/doc/libX11/i18n/compose/iso8859-14.xml\nusr/share/doc/libX11/i18n/compose/iso8859-15.xml\nusr/share/doc/libX11/i18n/compose/iso8859-2.xml\nusr/share/doc/libX11/i18n/compose/iso8859-3.xml\nusr/share/doc/libX11/i18n/compose/iso8859-4.xml\nusr/share/doc/libX11/i18n/compose/iso8859-5.xml\nusr/share/doc/libX11/i18n/compose/iso8859-6.xml\nusr/share/doc/libX11/i18n/compose/iso8859-7.xml\nusr/share/doc/libX11/i18n/compose/iso8859-8.xml\nusr/share/doc/libX11/i18n/compose/iso8859-9.xml\nusr/share/doc/libX11/i18n/compose/iso8859-9e.xml\nusr/share/doc/libX11/i18n/compose/ja.JIS.xml\nusr/share/doc/libX11/i18n/compose/ja.SJIS.xml\nusr/share/doc/libX11/i18n/compose/ja.xml\nusr/share/doc/libX11/i18n/compose/ja_JP.UTF-8.xml\nusr/share/doc/libX11/i18n/compose/km_KH.UTF-8.xml\nusr/share/doc/libX11/i18n/compose/ko.xml\nusr/share/doc/libX11/i18n/compose/ko_KR.UTF-8.xml\nusr/share/doc/libX11/i18n/compose/koi8-c.xml\nusr/share/doc/libX11/i18n/compose/koi8-r.xml\nusr/share/doc/libX11/i18n/compose/koi8-u.xml\nusr/share/doc/libX11/i18n/compose/libX11-keys.xml\nusr/share/doc/libX11/i18n/compose/microsoft-cp1251.xml\nusr/share/doc/libX11/i18n/compose/microsoft-cp1255.xml\nusr/share/doc/libX11/i18n/compose/microsoft-cp1256.xml\nusr/share/doc/libX11/i18n/compose/mulelao-1.xml\nusr/share/doc/libX11/i18n/compose/nokhchi-1.xml\nusr/share/doc/libX11/i18n/compose/pt_BR.UTF-8.xml\nusr/share/doc/libX11/i18n/compose/pt_PT.UTF-8.xml\nusr/share/doc/libX11/i18n/compose/ru_RU.UTF-8.xml\nusr/share/doc/libX11/i18n/compose/sr_RS.UTF-8.xml\nusr/share/doc/libX11/i18n/compose/tatar-cyr.xml\nusr/share/doc/libX11/i18n/compose/th_TH.UTF-8.xml\nusr/share/doc/libX11/i18n/compose/th_TH.xml\nusr/share/doc/libX11/i18n/compose/tscii-0.xml\nusr/share/doc/libX11/i18n/compose/vi_VN.tcvn.xml\nusr/share/doc/libX11/i18n/compose/vi_VN.viscii.xml\nusr/share/doc/libX11/i18n/compose/zh_CN.UTF-8.xml\nusr/share/doc/libX11/i18n/compose/zh_CN.gb18030.xml\nusr/share/doc/libX11/i18n/compose/zh_CN.gbk.xml\nusr/share/doc/libX11/i18n/compose/zh_CN.xml\nusr/share/doc/libX11/i18n/compose/zh_HK.UTF-8.xml\nusr/share/doc/libX11/i18n/compose/zh_HK.big5.xml\nusr/share/doc/libX11/i18n/compose/zh_HK.big5hkscs.xml\nusr/share/doc/libX11/i18n/compose/zh_TW.UTF-8.xml\nusr/share/doc/libX11/i18n/compose/zh_TW.big5.xml\nusr/share/doc/libX11/i18n/compose/zh_TW.xml\nusr/share/doc/libX11/i18n/framework/\nusr/share/doc/libX11/i18n/framework/framework.svg\nusr/share/doc/libX11/i18n/framework/framework.xml\nusr/share/doc/libX11/i18n/localedb/\nusr/share/doc/libX11/i18n/localedb/localedb.xml\nusr/share/doc/libX11/i18n/trans/\nusr/share/doc/libX11/i18n/trans/trans.xml\nusr/share/doc/libX11/libX11/\nusr/share/doc/libX11/libX11/AppA.xml\nusr/share/doc/libX11/libX11/AppB.xml\nusr/share/doc/libX11/libX11/AppC.xml\nusr/share/doc/libX11/libX11/AppD.xml\nusr/share/doc/libX11/libX11/CH01.xml\nusr/share/doc/libX11/libX11/CH02.xml\nusr/share/doc/libX11/libX11/CH03.xml\nusr/share/doc/libX11/libX11/CH04.xml\nusr/share/doc/libX11/libX11/CH05.xml\nusr/share/doc/libX11/libX11/CH06.xml\nusr/share/doc/libX11/libX11/CH07.xml\nusr/share/doc/libX11/libX11/CH08.xml\nusr/share/doc/libX11/libX11/CH09.xml\nusr/share/doc/libX11/libX11/CH10.xml\nusr/share/doc/libX11/libX11/CH11.xml\nusr/share/doc/libX11/libX11/CH12.xml\nusr/share/doc/libX11/libX11/CH13.xml\nusr/share/doc/libX11/libX11/CH14.xml\nusr/share/doc/libX11/libX11/CH15.xml\nusr/share/doc/libX11/libX11/CH16.xml\nusr/share/doc/libX11/libX11/credits.xml\nusr/share/doc/libX11/libX11/glossary.xml\nusr/share/doc/libX11/libX11/libX11.xml\nusr/share/licenses/\nusr/share/licenses/libx11/\nusr/share/licenses/libx11/COPYING\nusr/share/man/\nusr/share/man/man3/\nusr/share/man/man3/AllPlanes.3.gz\nusr/share/man/man3/BitmapBitOrder.3.gz\nusr/share/man/man3/BitmapPad.3.gz\nusr/share/man/man3/BitmapUnit.3.gz\nusr/share/man/man3/BlackPixel.3.gz\nusr/share/man/man3/BlackPixelOfScreen.3.gz\nusr/share/man/man3/CellsOfScreen.3.gz\nusr/share/man/man3/ClientWhitePointOfCCC.3.gz\nusr/share/man/man3/ConnectionNumber.3.gz\nusr/share/man/man3/DefaultColormap.3.gz\nusr/share/man/man3/DefaultColormapOfScreen.3.gz\nusr/share/man/man3/DefaultDepth.3.gz\nusr/share/man/man3/DefaultDepthOfScreen.3.gz\nusr/share/man/man3/DefaultGC.3.gz\nusr/share/man/man3/DefaultGCOfScreen.3.gz\nusr/share/man/man3/DefaultRootWindow.3.gz\nusr/share/man/man3/DefaultScreen.3.gz\nusr/share/man/man3/DefaultScreenOfDisplay.3.gz\nusr/share/man/man3/DefaultVisual.3.gz\nusr/share/man/man3/DefaultVisualOfScreen.3.gz\nusr/share/man/man3/DisplayCells.3.gz\nusr/share/man/man3/DisplayHeight.3.gz\nusr/share/man/man3/DisplayHeightMM.3.gz\nusr/share/man/man3/DisplayOfCCC.3.gz\nusr/share/man/man3/DisplayOfScreen.3.gz\nusr/share/man/man3/DisplayPlanes.3.gz\nusr/share/man/man3/DisplayString.3.gz\nusr/share/man/man3/DisplayWidth.3.gz\nusr/share/man/man3/DisplayWidthMM.3.gz\nusr/share/man/man3/DoesBackingStore.3.gz\nusr/share/man/man3/DoesSaveUnders.3.gz\nusr/share/man/man3/EventMaskOfScreen.3.gz\nusr/share/man/man3/HeightMMOfScreen.3.gz\nusr/share/man/man3/HeightOfScreen.3.gz\nusr/share/man/man3/ImageByteOrder.3.gz\nusr/share/man/man3/IsCursorKey.3.gz\nusr/share/man/man3/IsFunctionKey.3.gz\nusr/share/man/man3/IsKeypadKey.3.gz\nusr/share/man/man3/IsMiscFunctionKey.3.gz\nusr/share/man/man3/IsModifierKey.3.gz\nusr/share/man/man3/IsPFKey.3.gz\nusr/share/man/man3/IsPrivateKeypadKey.3.gz\nusr/share/man/man3/LastKnownRequestProcessed.3.gz\nusr/share/man/man3/MaxCmapsOfScreen.3.gz\nusr/share/man/man3/MinCmapsOfScreen.3.gz\nusr/share/man/man3/NextRequest.3.gz\nusr/share/man/man3/PlanesOfScreen.3.gz\nusr/share/man/man3/ProtocolRevision.3.gz\nusr/share/man/man3/ProtocolVersion.3.gz\nusr/share/man/man3/QLength.3.gz\nusr/share/man/man3/RootWindow.3.gz\nusr/share/man/man3/RootWindowOfScreen.3.gz\nusr/share/man/man3/ScreenCount.3.gz\nusr/share/man/man3/ScreenNumberOfCCC.3.gz\nusr/share/man/man3/ScreenOfDisplay.3.gz\nusr/share/man/man3/ScreenWhitePointOfCCC.3.gz\nusr/share/man/man3/ServerVendor.3.gz\nusr/share/man/man3/VendorRelease.3.gz\nusr/share/man/man3/VisualOfCCC.3.gz\nusr/share/man/man3/WhitePixel.3.gz\nusr/share/man/man3/WhitePixelOfScreen.3.gz\nusr/share/man/man3/WidthMMOfScreen.3.gz\nusr/share/man/man3/WidthOfScreen.3.gz\nusr/share/man/man3/XActivateScreenSaver.3.gz\nusr/share/man/man3/XAddConnectionWatch.3.gz\nusr/share/man/man3/XAddHost.3.gz\nusr/share/man/man3/XAddHosts.3.gz\nusr/share/man/man3/XAddPixel.3.gz\nusr/share/man/man3/XAddToSaveSet.3.gz\nusr/share/man/man3/XAllocClassHint.3.gz\nusr/share/man/man3/XAllocColor.3.gz\nusr/share/man/man3/XAllocColorCells.3.gz\nusr/share/man/man3/XAllocColorPlanes.3.gz\nusr/share/man/man3/XAllocIconSize.3.gz\nusr/share/man/man3/XAllocNamedColor.3.gz\nusr/share/man/man3/XAllocSizeHints.3.gz\nusr/share/man/man3/XAllocStandardColormap.3.gz\nusr/share/man/man3/XAllocWMHints.3.gz\nusr/share/man/man3/XAllowEvents.3.gz\nusr/share/man/man3/XAnyEvent.3.gz\nusr/share/man/man3/XArc.3.gz\nusr/share/man/man3/XAutoRepeatOff.3.gz\nusr/share/man/man3/XAutoRepeatOn.3.gz\nusr/share/man/man3/XBaseFontNameListOfFontSet.3.gz\nusr/share/man/man3/XBell.3.gz\nusr/share/man/man3/XButtonEvent.3.gz\nusr/share/man/man3/XChangeActivePointerGrab.3.gz\nusr/share/man/man3/XChangeGC.3.gz\nusr/share/man/man3/XChangeKeyboardControl.3.gz\nusr/share/man/man3/XChangeKeyboardMapping.3.gz\nusr/share/man/man3/XChangePointerControl.3.gz\nusr/share/man/man3/XChangeProperty.3.gz\nusr/share/man/man3/XChangeSaveSet.3.gz\nusr/share/man/man3/XChangeWindowAttributes.3.gz\nusr/share/man/man3/XChar2b.3.gz\nusr/share/man/man3/XCharStruct.3.gz\nusr/share/man/man3/XCheckIfEvent.3.gz\nusr/share/man/man3/XCheckMaskEvent.3.gz\nusr/share/man/man3/XCheckTypedEvent.3.gz\nusr/share/man/man3/XCheckTypedWindowEvent.3.gz\nusr/share/man/man3/XCheckWindowEvent.3.gz\nusr/share/man/man3/XCirculateEvent.3.gz\nusr/share/man/man3/XCirculateRequestEvent.3.gz\nusr/share/man/man3/XCirculateSubwindows.3.gz\nusr/share/man/man3/XCirculateSubwindowsDown.3.gz\nusr/share/man/man3/XCirculateSubwindowsUp.3.gz\nusr/share/man/man3/XClassHint.3.gz\nusr/share/man/man3/XClearArea.3.gz\nusr/share/man/man3/XClearWindow.3.gz\nusr/share/man/man3/XClientMessageEvent.3.gz\nusr/share/man/man3/XClipBox.3.gz\nusr/share/man/man3/XCloseDisplay.3.gz\nusr/share/man/man3/XCloseIM.3.gz\nusr/share/man/man3/XCloseOM.3.gz\nusr/share/man/man3/XColor.3.gz\nusr/share/man/man3/XColormapEvent.3.gz\nusr/share/man/man3/XCompose.3.gz\nusr/share/man/man3/XConfigureEvent.3.gz\nusr/share/man/man3/XConfigureRequestEvent.3.gz\nusr/share/man/man3/XConfigureWindow.3.gz\nusr/share/man/man3/XContextDependentDrawing.3.gz\nusr/share/man/man3/XContextualDrawing.3.gz\nusr/share/man/man3/XConvertCase.3.gz\nusr/share/man/man3/XConvertSelection.3.gz\nusr/share/man/man3/XCopyArea.3.gz\nusr/share/man/man3/XCopyColormapAndFree.3.gz\nusr/share/man/man3/XCopyGC.3.gz\nusr/share/man/man3/XCopyPlane.3.gz\nusr/share/man/man3/XCreateBitmapFromData.3.gz\nusr/share/man/man3/XCreateColormap.3.gz\nusr/share/man/man3/XCreateFontCursor.3.gz\nusr/share/man/man3/XCreateFontSet.3.gz\nusr/share/man/man3/XCreateGC.3.gz\nusr/share/man/man3/XCreateGlyphCursor.3.gz\nusr/share/man/man3/XCreateIC.3.gz\nusr/share/man/man3/XCreateImage.3.gz\nusr/share/man/man3/XCreateOC.3.gz\nusr/share/man/man3/XCreatePixmap.3.gz\nusr/share/man/man3/XCreatePixmapCursor.3.gz\nusr/share/man/man3/XCreatePixmapFromBitmapData.3.gz\nusr/share/man/man3/XCreateRegion.3.gz\nusr/share/man/man3/XCreateSimpleWindow.3.gz\nusr/share/man/man3/XCreateWindow.3.gz\nusr/share/man/man3/XCreateWindowEvent.3.gz\nusr/share/man/man3/XCrossingEvent.3.gz\nusr/share/man/man3/XDefaultString.3.gz\nusr/share/man/man3/XDefineCursor.3.gz\nusr/share/man/man3/XDeleteContext.3.gz\nusr/share/man/man3/XDeleteModifiermapEntry.3.gz\nusr/share/man/man3/XDeleteProperty.3.gz\nusr/share/man/man3/XDestroyIC.3.gz\nusr/share/man/man3/XDestroyImage.3.gz\nusr/share/man/man3/XDestroyOC.3.gz\nusr/share/man/man3/XDestroyRegion.3.gz\nusr/share/man/man3/XDestroySubwindows.3.gz\nusr/share/man/man3/XDestroyWindow.3.gz\nusr/share/man/man3/XDestroyWindowEvent.3.gz\nusr/share/man/man3/XDirectionalDependentDrawing.3.gz\nusr/share/man/man3/XDisableAccessControl.3.gz\nusr/share/man/man3/XDisplayKeycodes.3.gz\nusr/share/man/man3/XDisplayMotionBufferSize.3.gz\nusr/share/man/man3/XDisplayName.3.gz\nusr/share/man/man3/XDisplayOfIM.3.gz\nusr/share/man/man3/XDisplayOfOM.3.gz\nusr/share/man/man3/XDrawArc.3.gz\nusr/share/man/man3/XDrawArcs.3.gz\nusr/share/man/man3/XDrawImageString.3.gz\nusr/share/man/man3/XDrawImageString16.3.gz\nusr/share/man/man3/XDrawLine.3.gz\nusr/share/man/man3/XDrawLines.3.gz\nusr/share/man/man3/XDrawPoint.3.gz\nusr/share/man/man3/XDrawPoints.3.gz\nusr/share/man/man3/XDrawRectangle.3.gz\nusr/share/man/man3/XDrawRectangles.3.gz\nusr/share/man/man3/XDrawSegments.3.gz\nusr/share/man/man3/XDrawString.3.gz\nusr/share/man/man3/XDrawString16.3.gz\nusr/share/man/man3/XDrawText.3.gz\nusr/share/man/man3/XDrawText16.3.gz\nusr/share/man/man3/XEmptyRegion.3.gz\nusr/share/man/man3/XEnableAccessControl.3.gz\nusr/share/man/man3/XEqualRegion.3.gz\nusr/share/man/man3/XErrorEvent.3.gz\nusr/share/man/man3/XEvent.3.gz\nusr/share/man/man3/XEventsQueued.3.gz\nusr/share/man/man3/XExposeEvent.3.gz\nusr/share/man/man3/XExtendedMaxRequestSize.3.gz\nusr/share/man/man3/XExtentsOfFontSet.3.gz\nusr/share/man/man3/XFetchBuffer.3.gz\nusr/share/man/man3/XFetchBytes.3.gz\nusr/share/man/man3/XFetchName.3.gz\nusr/share/man/man3/XFillArc.3.gz\nusr/share/man/man3/XFillArcs.3.gz\nusr/share/man/man3/XFillPolygon.3.gz\nusr/share/man/man3/XFillRectangle.3.gz\nusr/share/man/man3/XFillRectangles.3.gz\nusr/share/man/man3/XFilterEvent.3.gz\nusr/share/man/man3/XFindContext.3.gz\nusr/share/man/man3/XFlush.3.gz\nusr/share/man/man3/XFocusChangeEvent.3.gz\nusr/share/man/man3/XFontProp.3.gz\nusr/share/man/man3/XFontSetExtents.3.gz\nusr/share/man/man3/XFontStruct.3.gz\nusr/share/man/man3/XFontsOfFontSet.3.gz\nusr/share/man/man3/XForceScreenSaver.3.gz\nusr/share/man/man3/XFree.3.gz\nusr/share/man/man3/XFreeColormap.3.gz\nusr/share/man/man3/XFreeColors.3.gz\nusr/share/man/man3/XFreeCursor.3.gz\nusr/share/man/man3/XFreeEventData.3.gz\nusr/share/man/man3/XFreeExtensionList.3.gz\nusr/share/man/man3/XFreeFont.3.gz\nusr/share/man/man3/XFreeFontInfo.3.gz\nusr/share/man/man3/XFreeFontNames.3.gz\nusr/share/man/man3/XFreeFontPath.3.gz\nusr/share/man/man3/XFreeFontSet.3.gz\nusr/share/man/man3/XFreeGC.3.gz\nusr/share/man/man3/XFreeModifiermap.3.gz\nusr/share/man/man3/XFreePixmap.3.gz\nusr/share/man/man3/XFreeStringList.3.gz\nusr/share/man/man3/XGCValues.3.gz\nusr/share/man/man3/XGContextFromGC.3.gz\nusr/share/man/man3/XGenericEventCookie.3.gz\nusr/share/man/man3/XGetAtomName.3.gz\nusr/share/man/man3/XGetAtomNames.3.gz\nusr/share/man/man3/XGetClassHint.3.gz\nusr/share/man/man3/XGetCommand.3.gz\nusr/share/man/man3/XGetErrorDatabaseText.3.gz\nusr/share/man/man3/XGetErrorText.3.gz\nusr/share/man/man3/XGetEventData.3.gz\nusr/share/man/man3/XGetFontPath.3.gz\nusr/share/man/man3/XGetFontProperty.3.gz\nusr/share/man/man3/XGetGCValues.3.gz\nusr/share/man/man3/XGetGeometry.3.gz\nusr/share/man/man3/XGetICValues.3.gz\nusr/share/man/man3/XGetIMValues.3.gz\nusr/share/man/man3/XGetIconName.3.gz\nusr/share/man/man3/XGetIconSizes.3.gz\nusr/share/man/man3/XGetImage.3.gz\nusr/share/man/man3/XGetInputFocus.3.gz\nusr/share/man/man3/XGetKeyboardControl.3.gz\nusr/share/man/man3/XGetKeyboardMapping.3.gz\nusr/share/man/man3/XGetModifierMapping.3.gz\nusr/share/man/man3/XGetMotionEvents.3.gz\nusr/share/man/man3/XGetOCValues.3.gz\nusr/share/man/man3/XGetOMValues.3.gz\nusr/share/man/man3/XGetPixel.3.gz\nusr/share/man/man3/XGetPointerControl.3.gz\nusr/share/man/man3/XGetPointerMapping.3.gz\nusr/share/man/man3/XGetRGBColormaps.3.gz\nusr/share/man/man3/XGetScreenSaver.3.gz\nusr/share/man/man3/XGetSelectionOwner.3.gz\nusr/share/man/man3/XGetSubImage.3.gz\nusr/share/man/man3/XGetTextProperty.3.gz\nusr/share/man/man3/XGetTransientForHint.3.gz\nusr/share/man/man3/XGetVisualInfo.3.gz\nusr/share/man/man3/XGetWMClientMachine.3.gz\nusr/share/man/man3/XGetWMColormapWindows.3.gz\nusr/share/man/man3/XGetWMHints.3.gz\nusr/share/man/man3/XGetWMIconName.3.gz\nusr/share/man/man3/XGetWMName.3.gz\nusr/share/man/man3/XGetWMNormalHints.3.gz\nusr/share/man/man3/XGetWMProtocols.3.gz\nusr/share/man/man3/XGetWMSizeHints.3.gz\nusr/share/man/man3/XGetWindowAttributes.3.gz\nusr/share/man/man3/XGetWindowProperty.3.gz\nusr/share/man/man3/XGetXCBConnection.3.gz\nusr/share/man/man3/XGrabButton.3.gz\nusr/share/man/man3/XGrabKey.3.gz\nusr/share/man/man3/XGrabKeyboard.3.gz\nusr/share/man/man3/XGrabPointer.3.gz\nusr/share/man/man3/XGrabServer.3.gz\nusr/share/man/man3/XGraphicsExposeEvent.3.gz\nusr/share/man/man3/XGravityEvent.3.gz\nusr/share/man/man3/XHostAddress.3.gz\nusr/share/man/man3/XIMOfIC.3.gz\nusr/share/man/man3/XIconSize.3.gz\nusr/share/man/man3/XIconifyWindow.3.gz\nusr/share/man/man3/XIfEvent.3.gz\nusr/share/man/man3/XInitImage.3.gz\nusr/share/man/man3/XInitThreads.3.gz\nusr/share/man/man3/XInsertModifiermapEntry.3.gz\nusr/share/man/man3/XInstallColormap.3.gz\nusr/share/man/man3/XInternAtom.3.gz\nusr/share/man/man3/XInternAtoms.3.gz\nusr/share/man/man3/XInternalConnectionNumbers.3.gz\nusr/share/man/man3/XIntersectRegion.3.gz\nusr/share/man/man3/XKeyEvent.3.gz\nusr/share/man/man3/XKeyboardControl.3.gz\nusr/share/man/man3/XKeycodeToKeysym.3.gz\nusr/share/man/man3/XKeymapEvent.3.gz\nusr/share/man/man3/XKeysymToKeycode.3.gz\nusr/share/man/man3/XKeysymToString.3.gz\nusr/share/man/man3/XKillClient.3.gz\nusr/share/man/man3/XListDepths.3.gz\nusr/share/man/man3/XListExtensions.3.gz\nusr/share/man/man3/XListFonts.3.gz\nusr/share/man/man3/XListFontsWithInfo.3.gz\nusr/share/man/man3/XListHosts.3.gz\nusr/share/man/man3/XListInstalledColormaps.3.gz\nusr/share/man/man3/XListPixmapFormats.3.gz\nusr/share/man/man3/XListProperties.3.gz\nusr/share/man/man3/XLoadFont.3.gz\nusr/share/man/man3/XLoadQueryFont.3.gz\nusr/share/man/man3/XLocaleOfFontSet.3.gz\nusr/share/man/man3/XLocaleOfIM.3.gz\nusr/share/man/man3/XLocaleOfOM.3.gz\nusr/share/man/man3/XLockDisplay.3.gz\nusr/share/man/man3/XLookupColor.3.gz\nusr/share/man/man3/XLookupKeysym.3.gz\nusr/share/man/man3/XLookupString.3.gz\nusr/share/man/man3/XLowerWindow.3.gz\nusr/share/man/man3/XMapEvent.3.gz\nusr/share/man/man3/XMapRaised.3.gz\nusr/share/man/man3/XMapRequestEvent.3.gz\nusr/share/man/man3/XMapSubwindows.3.gz\nusr/share/man/man3/XMapWindow.3.gz\nusr/share/man/man3/XMappingEvent.3.gz\nusr/share/man/man3/XMaskEvent.3.gz\nusr/share/man/man3/XMatchVisualInfo.3.gz\nusr/share/man/man3/XMaxRequestSize.3.gz\nusr/share/man/man3/XModifierKeymap.3.gz\nusr/share/man/man3/XMotionEvent.3.gz\nusr/share/man/man3/XMoveResizeWindow.3.gz\nusr/share/man/man3/XMoveWindow.3.gz\nusr/share/man/man3/XNewModifiermap.3.gz\nusr/share/man/man3/XNextEvent.3.gz\nusr/share/man/man3/XNoExposeEvent.3.gz\nusr/share/man/man3/XNoOp.3.gz\nusr/share/man/man3/XOMOfOC.3.gz\nusr/share/man/man3/XOffsetRegion.3.gz\nusr/share/man/man3/XOpenDisplay.3.gz\nusr/share/man/man3/XOpenIM.3.gz\nusr/share/man/man3/XOpenOM.3.gz\nusr/share/man/man3/XParseColor.3.gz\nusr/share/man/man3/XParseGeometry.3.gz\nusr/share/man/man3/XPeekEvent.3.gz\nusr/share/man/man3/XPeekIfEvent.3.gz\nusr/share/man/man3/XPending.3.gz\nusr/share/man/man3/XPixmapFormatValues.3.gz\nusr/share/man/man3/XPoint.3.gz\nusr/share/man/man3/XPointInRegion.3.gz\nusr/share/man/man3/XPolygonRegion.3.gz\nusr/share/man/man3/XProcessInternalConnection.3.gz\nusr/share/man/man3/XPropertyEvent.3.gz\nusr/share/man/man3/XPutBackEvent.3.gz\nusr/share/man/man3/XPutImage.3.gz\nusr/share/man/man3/XPutPixel.3.gz\nusr/share/man/man3/XQueryBestCursor.3.gz\nusr/share/man/man3/XQueryBestSize.3.gz\nusr/share/man/man3/XQueryBestStipple.3.gz\nusr/share/man/man3/XQueryBestTile.3.gz\nusr/share/man/man3/XQueryColor.3.gz\nusr/share/man/man3/XQueryColors.3.gz\nusr/share/man/man3/XQueryExtension.3.gz\nusr/share/man/man3/XQueryFont.3.gz\nusr/share/man/man3/XQueryKeymap.3.gz\nusr/share/man/man3/XQueryPointer.3.gz\nusr/share/man/man3/XQueryTextExtents.3.gz\nusr/share/man/man3/XQueryTextExtents16.3.gz\nusr/share/man/man3/XQueryTree.3.gz\nusr/share/man/man3/XRaiseWindow.3.gz\nusr/share/man/man3/XReadBitmapFile.3.gz\nusr/share/man/man3/XReadBitmapFileData.3.gz\nusr/share/man/man3/XRebindKeysym.3.gz\nusr/share/man/man3/XRecolorCursor.3.gz\nusr/share/man/man3/XReconfigureWMWindow.3.gz\nusr/share/man/man3/XRectInRegion.3.gz\nusr/share/man/man3/XRectangle.3.gz\nusr/share/man/man3/XRefreshKeyboardMapping.3.gz\nusr/share/man/man3/XRegisterIMInstantiateCallback.3.gz\nusr/share/man/man3/XRemoveConnectionWatch.3.gz\nusr/share/man/man3/XRemoveFromSaveSet.3.gz\nusr/share/man/man3/XRemoveHost.3.gz\nusr/share/man/man3/XRemoveHosts.3.gz\nusr/share/man/man3/XReparentEvent.3.gz\nusr/share/man/man3/XReparentWindow.3.gz\nusr/share/man/man3/XResetScreenSaver.3.gz\nusr/share/man/man3/XResizeRequestEvent.3.gz\nusr/share/man/man3/XResizeWindow.3.gz\nusr/share/man/man3/XResourceManagerString.3.gz\nusr/share/man/man3/XRestackWindows.3.gz\nusr/share/man/man3/XRotateBuffers.3.gz\nusr/share/man/man3/XRotateWindowProperties.3.gz\nusr/share/man/man3/XSaveContext.3.gz\nusr/share/man/man3/XScreenNumberOfScreen.3.gz\nusr/share/man/man3/XScreenResourceString.3.gz\nusr/share/man/man3/XSegment.3.gz\nusr/share/man/man3/XSelectInput.3.gz\nusr/share/man/man3/XSelectionClearEvent.3.gz\nusr/share/man/man3/XSelectionEvent.3.gz\nusr/share/man/man3/XSelectionRequestEvent.3.gz\nusr/share/man/man3/XSendEvent.3.gz\nusr/share/man/man3/XSetAccessControl.3.gz\nusr/share/man/man3/XSetAfterFunction.3.gz\nusr/share/man/man3/XSetArcMode.3.gz\nusr/share/man/man3/XSetBackground.3.gz\nusr/share/man/man3/XSetClassHint.3.gz\nusr/share/man/man3/XSetClipMask.3.gz\nusr/share/man/man3/XSetClipOrigin.3.gz\nusr/share/man/man3/XSetClipRectangles.3.gz\nusr/share/man/man3/XSetCloseDownMode.3.gz\nusr/share/man/man3/XSetCommand.3.gz\nusr/share/man/man3/XSetDashes.3.gz\nusr/share/man/man3/XSetErrorHandler.3.gz\nusr/share/man/man3/XSetEventQueueOwner.3.gz\nusr/share/man/man3/XSetFillRule.3.gz\nusr/share/man/man3/XSetFillStyle.3.gz\nusr/share/man/man3/XSetFont.3.gz\nusr/share/man/man3/XSetFontPath.3.gz\nusr/share/man/man3/XSetForeground.3.gz\nusr/share/man/man3/XSetFunction.3.gz\nusr/share/man/man3/XSetGraphicsExposure.3.gz\nusr/share/man/man3/XSetICFocus.3.gz\nusr/share/man/man3/XSetICValues.3.gz\nusr/share/man/man3/XSetIMValues.3.gz\nusr/share/man/man3/XSetIOErrorHandler.3.gz\nusr/share/man/man3/XSetIconName.3.gz\nusr/share/man/man3/XSetIconSizes.3.gz\nusr/share/man/man3/XSetInputFocus.3.gz\nusr/share/man/man3/XSetLineAttributes.3.gz\nusr/share/man/man3/XSetLocaleModifiers.3.gz\nusr/share/man/man3/XSetModifierMapping.3.gz\nusr/share/man/man3/XSetOCValues.3.gz\nusr/share/man/man3/XSetOMValues.3.gz\nusr/share/man/man3/XSetPlaneMask.3.gz\nusr/share/man/man3/XSetPointerMapping.3.gz\nusr/share/man/man3/XSetRGBColormaps.3.gz\nusr/share/man/man3/XSetRegion.3.gz\nusr/share/man/man3/XSetScreenSaver.3.gz\nusr/share/man/man3/XSetSelectionOwner.3.gz\nusr/share/man/man3/XSetState.3.gz\nusr/share/man/man3/XSetStipple.3.gz\nusr/share/man/man3/XSetSubwindowMode.3.gz\nusr/share/man/man3/XSetTSOrigin.3.gz\nusr/share/man/man3/XSetTextProperty.3.gz\nusr/share/man/man3/XSetTile.3.gz\nusr/share/man/man3/XSetTransientForHint.3.gz\nusr/share/man/man3/XSetWMClientMachine.3.gz\nusr/share/man/man3/XSetWMColormapWindows.3.gz\nusr/share/man/man3/XSetWMHints.3.gz\nusr/share/man/man3/XSetWMIconName.3.gz\nusr/share/man/man3/XSetWMName.3.gz\nusr/share/man/man3/XSetWMNormalHints.3.gz\nusr/share/man/man3/XSetWMProperties.3.gz\nusr/share/man/man3/XSetWMProtocols.3.gz\nusr/share/man/man3/XSetWMSizeHints.3.gz\nusr/share/man/man3/XSetWindowAttributes.3.gz\nusr/share/man/man3/XSetWindowBackground.3.gz\nusr/share/man/man3/XSetWindowBackgroundPixmap.3.gz\nusr/share/man/man3/XSetWindowBorder.3.gz\nusr/share/man/man3/XSetWindowBorderPixmap.3.gz\nusr/share/man/man3/XSetWindowBorderWidth.3.gz\nusr/share/man/man3/XSetWindowColormap.3.gz\nusr/share/man/man3/XShrinkRegion.3.gz\nusr/share/man/man3/XSizeHints.3.gz\nusr/share/man/man3/XStandardColormap.3.gz\nusr/share/man/man3/XStoreBuffer.3.gz\nusr/share/man/man3/XStoreBytes.3.gz\nusr/share/man/man3/XStoreColor.3.gz\nusr/share/man/man3/XStoreColors.3.gz\nusr/share/man/man3/XStoreName.3.gz\nusr/share/man/man3/XStoreNamedColor.3.gz\nusr/share/man/man3/XStringListToTextProperty.3.gz\nusr/share/man/man3/XStringToKeysym.3.gz\nusr/share/man/man3/XSubImage.3.gz\nusr/share/man/man3/XSubtractRegion.3.gz\nusr/share/man/man3/XSupportsLocale.3.gz\nusr/share/man/man3/XSync.3.gz\nusr/share/man/man3/XSynchronize.3.gz\nusr/share/man/man3/XTextExtents.3.gz\nusr/share/man/man3/XTextExtents16.3.gz\nusr/share/man/man3/XTextItem.3.gz\nusr/share/man/man3/XTextItem16.3.gz\nusr/share/man/man3/XTextProperty.3.gz\nusr/share/man/man3/XTextPropertyToStringList.3.gz\nusr/share/man/man3/XTextWidth.3.gz\nusr/share/man/man3/XTextWidth16.3.gz\nusr/share/man/man3/XTimeCoord.3.gz\nusr/share/man/man3/XTranslateCoordinates.3.gz\nusr/share/man/man3/XUndefineCursor.3.gz\nusr/share/man/man3/XUngrabButton.3.gz\nusr/share/man/man3/XUngrabKey.3.gz\nusr/share/man/man3/XUngrabKeyboard.3.gz\nusr/share/man/man3/XUngrabPointer.3.gz\nusr/share/man/man3/XUngrabServer.3.gz\nusr/share/man/man3/XUninstallColormap.3.gz\nusr/share/man/man3/XUnionRectWithRegion.3.gz\nusr/share/man/man3/XUnionRegion.3.gz\nusr/share/man/man3/XUniqueContext.3.gz\nusr/share/man/man3/XUnloadFont.3.gz\nusr/share/man/man3/XUnlockDisplay.3.gz\nusr/share/man/man3/XUnmapEvent.3.gz\nusr/share/man/man3/XUnmapSubwindows.3.gz\nusr/share/man/man3/XUnmapWindow.3.gz\nusr/share/man/man3/XUnregisterIMInstantiateCallback.3.gz\nusr/share/man/man3/XUnsetICFocus.3.gz\nusr/share/man/man3/XVaCreateNestedList.3.gz\nusr/share/man/man3/XVisibilityEvent.3.gz\nusr/share/man/man3/XVisualIDFromVisual.3.gz\nusr/share/man/man3/XVisualInfo.3.gz\nusr/share/man/man3/XWMGeometry.3.gz\nusr/share/man/man3/XWMHints.3.gz\nusr/share/man/man3/XWarpPointer.3.gz\nusr/share/man/man3/XWindowAttributes.3.gz\nusr/share/man/man3/XWindowChanges.3.gz\nusr/share/man/man3/XWindowEvent.3.gz\nusr/share/man/man3/XWithdrawWindow.3.gz\nusr/share/man/man3/XWriteBitmapFile.3.gz\nusr/share/man/man3/XXorRegion.3.gz\nusr/share/man/man3/XcmsAllocColor.3.gz\nusr/share/man/man3/XcmsAllocNamedColor.3.gz\nusr/share/man/man3/XcmsCCCOfColormap.3.gz\nusr/share/man/man3/XcmsCIELab.3.gz\nusr/share/man/man3/XcmsCIELabQueryMaxC.3.gz\nusr/share/man/man3/XcmsCIELabQueryMaxL.3.gz\nusr/share/man/man3/XcmsCIELabQueryMaxLC.3.gz\nusr/share/man/man3/XcmsCIELabQueryMinL.3.gz\nusr/share/man/man3/XcmsCIELuv.3.gz\nusr/share/man/man3/XcmsCIELuvQueryMaxC.3.gz\nusr/share/man/man3/XcmsCIELuvQueryMaxL.3.gz\nusr/share/man/man3/XcmsCIELuvQueryMaxLC.3.gz\nusr/share/man/man3/XcmsCIELuvQueryMinL.3.gz\nusr/share/man/man3/XcmsCIEXYZ.3.gz\nusr/share/man/man3/XcmsCIEuvY.3.gz\nusr/share/man/man3/XcmsCIExyY.3.gz\nusr/share/man/man3/XcmsColor.3.gz\nusr/share/man/man3/XcmsConvertColors.3.gz\nusr/share/man/man3/XcmsCreateCCC.3.gz\nusr/share/man/man3/XcmsDefaultCCC.3.gz\nusr/share/man/man3/XcmsFreeCCC.3.gz\nusr/share/man/man3/XcmsLookupColor.3.gz\nusr/share/man/man3/XcmsPad.3.gz\nusr/share/man/man3/XcmsQueryBlack.3.gz\nusr/share/man/man3/XcmsQueryBlue.3.gz\nusr/share/man/man3/XcmsQueryColor.3.gz\nusr/share/man/man3/XcmsQueryColors.3.gz\nusr/share/man/man3/XcmsQueryGreen.3.gz\nusr/share/man/man3/XcmsQueryRed.3.gz\nusr/share/man/man3/XcmsQueryWhite.3.gz\nusr/share/man/man3/XcmsRGB.3.gz\nusr/share/man/man3/XcmsRGBi.3.gz\nusr/share/man/man3/XcmsSetCCCOfColormap.3.gz\nusr/share/man/man3/XcmsSetWhiteAdjustProc.3.gz\nusr/share/man/man3/XcmsSetWhitePoint.3.gz\nusr/share/man/man3/XcmsStoreColor.3.gz\nusr/share/man/man3/XcmsStoreColors.3.gz\nusr/share/man/man3/XcmsTekHVC.3.gz\nusr/share/man/man3/XcmsTekHVCQueryMaxC.3.gz\nusr/share/man/man3/XcmsTekHVCQueryMaxV.3.gz\nusr/share/man/man3/XcmsTekHVCQueryMaxVC.3.gz\nusr/share/man/man3/XcmsTekHVCQueryMaxVSamples.3.gz\nusr/share/man/man3/XcmsTekHVCQueryMinV.3.gz\nusr/share/man/man3/XkbActionCtrls.3.gz\nusr/share/man/man3/XkbAddDeviceLedInfo.3.gz\nusr/share/man/man3/XkbAddGeomColor.3.gz\nusr/share/man/man3/XkbAddGeomDoodad.3.gz\nusr/share/man/man3/XkbAddGeomKey.3.gz\nusr/share/man/man3/XkbAddGeomKeyAlias.3.gz\nusr/share/man/man3/XkbAddGeomOutline.3.gz\nusr/share/man/man3/XkbAddGeomOverlay.3.gz\nusr/share/man/man3/XkbAddGeomOverlayKey.3.gz\nusr/share/man/man3/XkbAddGeomOverlayRow.3.gz\nusr/share/man/man3/XkbAddGeomProperty.3.gz\nusr/share/man/man3/XkbAddGeomRow.3.gz\nusr/share/man/man3/XkbAddGeomSection.3.gz\nusr/share/man/man3/XkbAddGeomShape.3.gz\nusr/share/man/man3/XkbAddSymInterpret.3.gz\nusr/share/man/man3/XkbAllocClientMap.3.gz\nusr/share/man/man3/XkbAllocCompatMap.3.gz\nusr/share/man/man3/XkbAllocControls.3.gz\nusr/share/man/man3/XkbAllocDeviceInfo.3.gz\nusr/share/man/man3/XkbAllocDeviceLedInfo.3.gz\nusr/share/man/man3/XkbAllocGeomColors.3.gz\nusr/share/man/man3/XkbAllocGeomDoodads.3.gz\nusr/share/man/man3/XkbAllocGeomKeyAliases.3.gz\nusr/share/man/man3/XkbAllocGeomKeys.3.gz\nusr/share/man/man3/XkbAllocGeomOutlines.3.gz\nusr/share/man/man3/XkbAllocGeomOverlayKeys.3.gz\nusr/share/man/man3/XkbAllocGeomOverlayRows.3.gz\nusr/share/man/man3/XkbAllocGeomOverlays.3.gz\nusr/share/man/man3/XkbAllocGeomPoints.3.gz\nusr/share/man/man3/XkbAllocGeomProps.3.gz\nusr/share/man/man3/XkbAllocGeomRows.3.gz\nusr/share/man/man3/XkbAllocGeomSectionDoodads.3.gz\nusr/share/man/man3/XkbAllocGeomSections.3.gz\nusr/share/man/man3/XkbAllocGeomShapes.3.gz\nusr/share/man/man3/XkbAllocGeometry.3.gz\nusr/share/man/man3/XkbAllocIndicatorMaps.3.gz\nusr/share/man/man3/XkbAllocKeyboard.3.gz\nusr/share/man/man3/XkbAllocNames.3.gz\nusr/share/man/man3/XkbAllocServerMap.3.gz\nusr/share/man/man3/XkbApplyCompatMapToKey.3.gz\nusr/share/man/man3/XkbBell.3.gz\nusr/share/man/man3/XkbBellEvent.3.gz\nusr/share/man/man3/XkbChangeControls.3.gz\nusr/share/man/man3/XkbChangeDeviceInfo.3.gz\nusr/share/man/man3/XkbChangeEnabledControls.3.gz\nusr/share/man/man3/XkbChangeIndicators.3.gz\nusr/share/man/man3/XkbChangeMap.3.gz\nusr/share/man/man3/XkbChangeNames.3.gz\nusr/share/man/man3/XkbChangeTypesOfKey.3.gz\nusr/share/man/man3/XkbComputeRowBounds.3.gz\nusr/share/man/man3/XkbComputeSectionBounds.3.gz\nusr/share/man/man3/XkbComputeShapeBounds.3.gz\nusr/share/man/man3/XkbComputeShapeTop.3.gz\nusr/share/man/man3/XkbCopyKeyType.3.gz\nusr/share/man/man3/XkbCopyKeyTypes.3.gz\nusr/share/man/man3/XkbDeviceBell.3.gz\nusr/share/man/man3/XkbDeviceBellEvent.3.gz\nusr/share/man/man3/XkbFindOverlayForKey.3.gz\nusr/share/man/man3/XkbForceBell.3.gz\nusr/share/man/man3/XkbForceDeviceBell.3.gz\nusr/share/man/man3/XkbFreeClientMap.3.gz\nusr/share/man/man3/XkbFreeCompatMap.3.gz\nusr/share/man/man3/XkbFreeComponentList.3.gz\nusr/share/man/man3/XkbFreeControls.3.gz\nusr/share/man/man3/XkbFreeDeviceInfo.3.gz\nusr/share/man/man3/XkbFreeGeomColors.3.gz\nusr/share/man/man3/XkbFreeGeomDoodads.3.gz\nusr/share/man/man3/XkbFreeGeomKeyAliases.3.gz\nusr/share/man/man3/XkbFreeGeomKeys.3.gz\nusr/share/man/man3/XkbFreeGeomOutlines.3.gz\nusr/share/man/man3/XkbFreeGeomOverlayKeys.3.gz\nusr/share/man/man3/XkbFreeGeomOverlayRows.3.gz\nusr/share/man/man3/XkbFreeGeomOverlays.3.gz\nusr/share/man/man3/XkbFreeGeomPoints.3.gz\nusr/share/man/man3/XkbFreeGeomProperties.3.gz\nusr/share/man/man3/XkbFreeGeomRows.3.gz\nusr/share/man/man3/XkbFreeGeomSections.3.gz\nusr/share/man/man3/XkbFreeGeomShapes.3.gz\nusr/share/man/man3/XkbFreeGeometry.3.gz\nusr/share/man/man3/XkbFreeIndicatorMaps.3.gz\nusr/share/man/man3/XkbFreeKeyboard.3.gz\nusr/share/man/man3/XkbFreeNames.3.gz\nusr/share/man/man3/XkbFreeServerMap.3.gz\nusr/share/man/man3/XkbGetAccessXTimeout.3.gz\nusr/share/man/man3/XkbGetAutoRepeatRate.3.gz\nusr/share/man/man3/XkbGetAutoResetControls.3.gz\nusr/share/man/man3/XkbGetBounceKeysDelay.3.gz\nusr/share/man/man3/XkbGetCompatMap.3.gz\nusr/share/man/man3/XkbGetControls.3.gz\nusr/share/man/man3/XkbGetControlsChanges.3.gz\nusr/share/man/man3/XkbGetDetectableAutoRepeat.3.gz\nusr/share/man/man3/XkbGetDeviceButtonActions.3.gz\nusr/share/man/man3/XkbGetDeviceInfo.3.gz\nusr/share/man/man3/XkbGetDeviceInfoChanges.3.gz\nusr/share/man/man3/XkbGetDeviceLedInfo.3.gz\nusr/share/man/man3/XkbGetGeometry.3.gz\nusr/share/man/man3/XkbGetIndicatorChanges.3.gz\nusr/share/man/man3/XkbGetIndicatorMap.3.gz\nusr/share/man/man3/XkbGetIndicatorState.3.gz\nusr/share/man/man3/XkbGetKeyActions.3.gz\nusr/share/man/man3/XkbGetKeyBehaviors.3.gz\nusr/share/man/man3/XkbGetKeyExplicitComponents.3.gz\nusr/share/man/man3/XkbGetKeyModifierMap.3.gz\nusr/share/man/man3/XkbGetKeySyms.3.gz\nusr/share/man/man3/XkbGetKeyTypes.3.gz\nusr/share/man/man3/XkbGetKeyVirtualModMap.3.gz\nusr/share/man/man3/XkbGetKeyboard.3.gz\nusr/share/man/man3/XkbGetKeyboardByName.3.gz\nusr/share/man/man3/XkbGetMap.3.gz\nusr/share/man/man3/XkbGetNameChanges.3.gz\nusr/share/man/man3/XkbGetNamedDeviceIndicator.3.gz\nusr/share/man/man3/XkbGetNamedGeometry.3.gz\nusr/share/man/man3/XkbGetNamedIndicator.3.gz\nusr/share/man/man3/XkbGetNames.3.gz\nusr/share/man/man3/XkbGetSlowKeysDelay.3.gz\nusr/share/man/man3/XkbGetState.3.gz\nusr/share/man/man3/XkbGetStickyKeysOptions.3.gz\nusr/share/man/man3/XkbGetUpdatedMap.3.gz\nusr/share/man/man3/XkbGetVirtualMods.3.gz\nusr/share/man/man3/XkbGetXlibControls.3.gz\nusr/share/man/man3/XkbIgnoreExtension.3.gz\nusr/share/man/man3/XkbInitCanonicalKeyTypes.3.gz\nusr/share/man/man3/XkbKeyAction.3.gz\nusr/share/man/man3/XkbKeyActionEntry.3.gz\nusr/share/man/man3/XkbKeyActionsPtr.3.gz\nusr/share/man/man3/XkbKeyGroupInfo.3.gz\nusr/share/man/man3/XkbKeyGroupWidth.3.gz\nusr/share/man/man3/XkbKeyGroupsWidth.3.gz\nusr/share/man/man3/XkbKeyHasActions.3.gz\nusr/share/man/man3/XkbKeyNumActions.3.gz\nusr/share/man/man3/XkbKeyNumGroups.3.gz\nusr/share/man/man3/XkbKeyNumSyms.3.gz\nusr/share/man/man3/XkbKeySymEntry.3.gz\nusr/share/man/man3/XkbKeySymsOffset.3.gz\nusr/share/man/man3/XkbKeySymsPtr.3.gz\nusr/share/man/man3/XkbKeyType.3.gz\nusr/share/man/man3/XkbKeyTypeIndex.3.gz\nusr/share/man/man3/XkbKeyTypesForCoreSymbols.3.gz\nusr/share/man/man3/XkbKeycodeToKeysym.3.gz\nusr/share/man/man3/XkbKeysymToModifiers.3.gz\nusr/share/man/man3/XkbLatchGroup.3.gz\nusr/share/man/man3/XkbLatchModifiers.3.gz\nusr/share/man/man3/XkbLibraryVersion.3.gz\nusr/share/man/man3/XkbListComponents.3.gz\nusr/share/man/man3/XkbLockGroup.3.gz\nusr/share/man/man3/XkbLockModifiers.3.gz\nusr/share/man/man3/XkbLookupKeyBinding.3.gz\nusr/share/man/man3/XkbLookupKeySym.3.gz\nusr/share/man/man3/XkbModActionVMods.3.gz\nusr/share/man/man3/XkbNoteControlsChanges.3.gz\nusr/share/man/man3/XkbNoteDeviceChanges.3.gz\nusr/share/man/man3/XkbNoteIndicatorChanges.3.gz\nusr/share/man/man3/XkbNoteNameChanges.3.gz\nusr/share/man/man3/XkbOpenDisplay.3.gz\nusr/share/man/man3/XkbOutOfRangeGroupInfo.3.gz\nusr/share/man/man3/XkbOutOfRangeGroupNumber.3.gz\nusr/share/man/man3/XkbPtrActionX.3.gz\nusr/share/man/man3/XkbPtrActionY.3.gz\nusr/share/man/man3/XkbQueryExtension.3.gz\nusr/share/man/man3/XkbRefreshKeyboardMapping.3.gz\nusr/share/man/man3/XkbResizeDeviceButtonActions.3.gz\nusr/share/man/man3/XkbResizeKeyActions.3.gz\nusr/share/man/man3/XkbResizeKeySyms.3.gz\nusr/share/man/man3/XkbResizeKeyType.3.gz\nusr/share/man/man3/XkbSAActionSetCtrls.3.gz\nusr/share/man/man3/XkbSAGroup.3.gz\nusr/share/man/man3/XkbSAPtrDfltValue.3.gz\nusr/share/man/man3/XkbSARedirectSetVMods.3.gz\nusr/share/man/man3/XkbSARedirectSetVModsMask.3.gz\nusr/share/man/man3/XkbSARedirectVMods.3.gz\nusr/share/man/man3/XkbSARedirectVModsMask.3.gz\nusr/share/man/man3/XkbSAScreen.3.gz\nusr/share/man/man3/XkbSASetGroup.3.gz\nusr/share/man/man3/XkbSASetPtrDfltValue.3.gz\nusr/share/man/man3/XkbSASetScreen.3.gz\nusr/share/man/man3/XkbSelectEventDetails.3.gz\nusr/share/man/man3/XkbSelectEvents.3.gz\nusr/share/man/man3/XkbSetAccessXTimeout.3.gz\nusr/share/man/man3/XkbSetAutoRepeatRate.3.gz\nusr/share/man/man3/XkbSetAutoResetControls.3.gz\nusr/share/man/man3/XkbSetBounceKeysDelay.3.gz\nusr/share/man/man3/XkbSetCompatMap.3.gz\nusr/share/man/man3/XkbSetControls.3.gz\nusr/share/man/man3/XkbSetDebuggingFlags.3.gz\nusr/share/man/man3/XkbSetDetectableAutoRepeat.3.gz\nusr/share/man/man3/XkbSetDeviceButtonActions.3.gz\nusr/share/man/man3/XkbSetDeviceInfo.3.gz\nusr/share/man/man3/XkbSetIgnoreLockMods.3.gz\nusr/share/man/man3/XkbSetIndicatorMap.3.gz\nusr/share/man/man3/XkbSetMap.3.gz\nusr/share/man/man3/XkbSetModActionVMods.3.gz\nusr/share/man/man3/XkbSetNamedDeviceIndicator.3.gz\nusr/share/man/man3/XkbSetNamedIndicator.3.gz\nusr/share/man/man3/XkbSetNames.3.gz\nusr/share/man/man3/XkbSetPtrActionX.3.gz\nusr/share/man/man3/XkbSetPtrActionY.3.gz\nusr/share/man/man3/XkbSetServerInternalMods.3.gz\nusr/share/man/man3/XkbSetXlibControls.3.gz\nusr/share/man/man3/XkbTranslateKeyCode.3.gz\nusr/share/man/man3/XkbTranslateKeySym.3.gz\nusr/share/man/man3/XkbUpdateMapFromCore.3.gz\nusr/share/man/man3/XkbVirtualModsToReal.3.gz\nusr/share/man/man3/XmbDrawImageString.3.gz\nusr/share/man/man3/XmbDrawString.3.gz\nusr/share/man/man3/XmbDrawText.3.gz\nusr/share/man/man3/XmbLookupString.3.gz\nusr/share/man/man3/XmbResetIC.3.gz\nusr/share/man/man3/XmbSetWMProperties.3.gz\nusr/share/man/man3/XmbTextEscapement.3.gz\nusr/share/man/man3/XmbTextExtents.3.gz\nusr/share/man/man3/XmbTextListToTextProperty.3.gz\nusr/share/man/man3/XmbTextPerCharExtents.3.gz\nusr/share/man/man3/XmbTextPropertyToTextList.3.gz\nusr/share/man/man3/XrmCombineDatabase.3.gz\nusr/share/man/man3/XrmCombineFileDatabase.3.gz\nusr/share/man/man3/XrmDestroyDatabase.3.gz\nusr/share/man/man3/XrmEnumerateDatabase.3.gz\nusr/share/man/man3/XrmGetDatabase.3.gz\nusr/share/man/man3/XrmGetFileDatabase.3.gz\nusr/share/man/man3/XrmGetResource.3.gz\nusr/share/man/man3/XrmGetStringDatabase.3.gz\nusr/share/man/man3/XrmInitialize.3.gz\nusr/share/man/man3/XrmLocaleOfDatabase.3.gz\nusr/share/man/man3/XrmMergeDatabases.3.gz\nusr/share/man/man3/XrmOptionDescRec.3.gz\nusr/share/man/man3/XrmOptionKind.3.gz\nusr/share/man/man3/XrmParseCommand.3.gz\nusr/share/man/man3/XrmPermStringToQuark.3.gz\nusr/share/man/man3/XrmPutFileDatabase.3.gz\nusr/share/man/man3/XrmPutLineResource.3.gz\nusr/share/man/man3/XrmPutResource.3.gz\nusr/share/man/man3/XrmPutStringResource.3.gz\nusr/share/man/man3/XrmQGetResource.3.gz\nusr/share/man/man3/XrmQGetSearchList.3.gz\nusr/share/man/man3/XrmQGetSearchResource.3.gz\nusr/share/man/man3/XrmQPutResource.3.gz\nusr/share/man/man3/XrmQPutStringResource.3.gz\nusr/share/man/man3/XrmQuarkToString.3.gz\nusr/share/man/man3/XrmSetDatabase.3.gz\nusr/share/man/man3/XrmStringToBindingQuarkList.3.gz\nusr/share/man/man3/XrmStringToQuark.3.gz\nusr/share/man/man3/XrmStringToQuarkList.3.gz\nusr/share/man/man3/XrmUniqueQuark.3.gz\nusr/share/man/man3/XrmValue.3.gz\nusr/share/man/man3/Xutf8DrawImageString.3.gz\nusr/share/man/man3/Xutf8DrawString.3.gz\nusr/share/man/man3/Xutf8DrawText.3.gz\nusr/share/man/man3/Xutf8LookupString.3.gz\nusr/share/man/man3/Xutf8ResetIC.3.gz\nusr/share/man/man3/Xutf8SetWMProperties.3.gz\nusr/share/man/man3/Xutf8TextEscapement.3.gz\nusr/share/man/man3/Xutf8TextExtents.3.gz\nusr/share/man/man3/Xutf8TextListToTextProperty.3.gz\nusr/share/man/man3/Xutf8TextPerCharExtents.3.gz\nusr/share/man/man3/Xutf8TextPropertyToTextList.3.gz\nusr/share/man/man3/XwcDrawImageString.3.gz\nusr/share/man/man3/XwcDrawString.3.gz\nusr/share/man/man3/XwcDrawText.3.gz\nusr/share/man/man3/XwcFreeStringList.3.gz\nusr/share/man/man3/XwcLookupString.3.gz\nusr/share/man/man3/XwcResetIC.3.gz\nusr/share/man/man3/XwcTextEscapement.3.gz\nusr/share/man/man3/XwcTextExtents.3.gz\nusr/share/man/man3/XwcTextListToTextProperty.3.gz\nusr/share/man/man3/XwcTextPerCharExtents.3.gz\nusr/share/man/man3/XwcTextPropertyToTextList.3.gz\nusr/share/man/man5/\nusr/share/man/man5/Compose.5.gz\nusr/share/man/man5/XCompose.5.gz\n\n"
  },
  {
    "path": "testdata/db/local/libxau-1.0.9-3/desc",
    "content": "%NAME%\nlibxau\n\n%VERSION%\n1.0.9-3\n\n%BASE%\nlibxau\n\n%DESC%\nX11 authorisation library\n\n%URL%\nhttps://xorg.freedesktop.org/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1589636886\n\n%INSTALLDATE%\n1621851264\n\n%PACKAGER%\nEvangelos Foutras <evangelos@foutrelis.com>\n\n%SIZE%\n21748\n\n%REASON%\n1\n\n%LICENSE%\ncustom\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\n\n"
  },
  {
    "path": "testdata/db/local/libxau-1.0.9-3/files",
    "content": "%FILES%\nusr/\nusr/include/\nusr/include/X11/\nusr/include/X11/Xauth.h\nusr/lib/\nusr/lib/libXau.so\nusr/lib/libXau.so.6\nusr/lib/libXau.so.6.0.0\nusr/lib/pkgconfig/\nusr/lib/pkgconfig/xau.pc\nusr/share/\nusr/share/licenses/\nusr/share/licenses/libxau/\nusr/share/licenses/libxau/COPYING\nusr/share/man/\nusr/share/man/man3/\nusr/share/man/man3/Xau.3.gz\nusr/share/man/man3/XauDisposeAuth.3.gz\nusr/share/man/man3/XauFileName.3.gz\nusr/share/man/man3/XauGetAuthByAddr.3.gz\nusr/share/man/man3/XauGetBestAuthByAddr.3.gz\nusr/share/man/man3/XauLockAuth.3.gz\nusr/share/man/man3/XauReadAuth.3.gz\nusr/share/man/man3/XauUnlockAuth.3.gz\nusr/share/man/man3/XauWriteAuth.3.gz\n\n"
  },
  {
    "path": "testdata/db/local/libxcb-1.14-1/desc",
    "content": "%NAME%\nlibxcb\n\n%VERSION%\n1.14-1\n\n%BASE%\nlibxcb\n\n%DESC%\nX11 client-side library\n\n%URL%\nhttps://xcb.freedesktop.org/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1582440876\n\n%INSTALLDATE%\n1621851264\n\n%PACKAGER%\nAndreas Radke <andyrtr@archlinux.org>\n\n%SIZE%\n3913960\n\n%REASON%\n1\n\n%LICENSE%\ncustom\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nxcb-proto\nlibxdmcp\nlibxau\n\n"
  },
  {
    "path": "testdata/db/local/libxcb-1.14-1/files",
    "content": "%FILES%\nusr/\nusr/include/\nusr/include/xcb/\nusr/include/xcb/bigreq.h\nusr/include/xcb/composite.h\nusr/include/xcb/damage.h\nusr/include/xcb/dpms.h\nusr/include/xcb/dri2.h\nusr/include/xcb/dri3.h\nusr/include/xcb/ge.h\nusr/include/xcb/glx.h\nusr/include/xcb/present.h\nusr/include/xcb/randr.h\nusr/include/xcb/record.h\nusr/include/xcb/render.h\nusr/include/xcb/res.h\nusr/include/xcb/screensaver.h\nusr/include/xcb/shape.h\nusr/include/xcb/shm.h\nusr/include/xcb/sync.h\nusr/include/xcb/xc_misc.h\nusr/include/xcb/xcb.h\nusr/include/xcb/xcbext.h\nusr/include/xcb/xevie.h\nusr/include/xcb/xf86dri.h\nusr/include/xcb/xfixes.h\nusr/include/xcb/xinerama.h\nusr/include/xcb/xinput.h\nusr/include/xcb/xkb.h\nusr/include/xcb/xprint.h\nusr/include/xcb/xproto.h\nusr/include/xcb/xselinux.h\nusr/include/xcb/xtest.h\nusr/include/xcb/xv.h\nusr/include/xcb/xvmc.h\nusr/lib/\nusr/lib/libxcb-composite.so\nusr/lib/libxcb-composite.so.0\nusr/lib/libxcb-composite.so.0.0.0\nusr/lib/libxcb-damage.so\nusr/lib/libxcb-damage.so.0\nusr/lib/libxcb-damage.so.0.0.0\nusr/lib/libxcb-dpms.so\nusr/lib/libxcb-dpms.so.0\nusr/lib/libxcb-dpms.so.0.0.0\nusr/lib/libxcb-dri2.so\nusr/lib/libxcb-dri2.so.0\nusr/lib/libxcb-dri2.so.0.0.0\nusr/lib/libxcb-dri3.so\nusr/lib/libxcb-dri3.so.0\nusr/lib/libxcb-dri3.so.0.0.0\nusr/lib/libxcb-glx.so\nusr/lib/libxcb-glx.so.0\nusr/lib/libxcb-glx.so.0.0.0\nusr/lib/libxcb-present.so\nusr/lib/libxcb-present.so.0\nusr/lib/libxcb-present.so.0.0.0\nusr/lib/libxcb-randr.so\nusr/lib/libxcb-randr.so.0\nusr/lib/libxcb-randr.so.0.1.0\nusr/lib/libxcb-record.so\nusr/lib/libxcb-record.so.0\nusr/lib/libxcb-record.so.0.0.0\nusr/lib/libxcb-render.so\nusr/lib/libxcb-render.so.0\nusr/lib/libxcb-render.so.0.0.0\nusr/lib/libxcb-res.so\nusr/lib/libxcb-res.so.0\nusr/lib/libxcb-res.so.0.0.0\nusr/lib/libxcb-screensaver.so\nusr/lib/libxcb-screensaver.so.0\nusr/lib/libxcb-screensaver.so.0.0.0\nusr/lib/libxcb-shape.so\nusr/lib/libxcb-shape.so.0\nusr/lib/libxcb-shape.so.0.0.0\nusr/lib/libxcb-shm.so\nusr/lib/libxcb-shm.so.0\nusr/lib/libxcb-shm.so.0.0.0\nusr/lib/libxcb-sync.so\nusr/lib/libxcb-sync.so.1\nusr/lib/libxcb-sync.so.1.0.0\nusr/lib/libxcb-xf86dri.so\nusr/lib/libxcb-xf86dri.so.0\nusr/lib/libxcb-xf86dri.so.0.0.0\nusr/lib/libxcb-xfixes.so\nusr/lib/libxcb-xfixes.so.0\nusr/lib/libxcb-xfixes.so.0.0.0\nusr/lib/libxcb-xinerama.so\nusr/lib/libxcb-xinerama.so.0\nusr/lib/libxcb-xinerama.so.0.0.0\nusr/lib/libxcb-xinput.so\nusr/lib/libxcb-xinput.so.0\nusr/lib/libxcb-xinput.so.0.1.0\nusr/lib/libxcb-xkb.so\nusr/lib/libxcb-xkb.so.1\nusr/lib/libxcb-xkb.so.1.0.0\nusr/lib/libxcb-xtest.so\nusr/lib/libxcb-xtest.so.0\nusr/lib/libxcb-xtest.so.0.0.0\nusr/lib/libxcb-xv.so\nusr/lib/libxcb-xv.so.0\nusr/lib/libxcb-xv.so.0.0.0\nusr/lib/libxcb-xvmc.so\nusr/lib/libxcb-xvmc.so.0\nusr/lib/libxcb-xvmc.so.0.0.0\nusr/lib/libxcb.so\nusr/lib/libxcb.so.1\nusr/lib/libxcb.so.1.1.0\nusr/lib/pkgconfig/\nusr/lib/pkgconfig/xcb-composite.pc\nusr/lib/pkgconfig/xcb-damage.pc\nusr/lib/pkgconfig/xcb-dpms.pc\nusr/lib/pkgconfig/xcb-dri2.pc\nusr/lib/pkgconfig/xcb-dri3.pc\nusr/lib/pkgconfig/xcb-glx.pc\nusr/lib/pkgconfig/xcb-present.pc\nusr/lib/pkgconfig/xcb-randr.pc\nusr/lib/pkgconfig/xcb-record.pc\nusr/lib/pkgconfig/xcb-render.pc\nusr/lib/pkgconfig/xcb-res.pc\nusr/lib/pkgconfig/xcb-screensaver.pc\nusr/lib/pkgconfig/xcb-shape.pc\nusr/lib/pkgconfig/xcb-shm.pc\nusr/lib/pkgconfig/xcb-sync.pc\nusr/lib/pkgconfig/xcb-xf86dri.pc\nusr/lib/pkgconfig/xcb-xfixes.pc\nusr/lib/pkgconfig/xcb-xinerama.pc\nusr/lib/pkgconfig/xcb-xinput.pc\nusr/lib/pkgconfig/xcb-xkb.pc\nusr/lib/pkgconfig/xcb-xtest.pc\nusr/lib/pkgconfig/xcb-xv.pc\nusr/lib/pkgconfig/xcb-xvmc.pc\nusr/lib/pkgconfig/xcb.pc\nusr/share/\nusr/share/doc/\nusr/share/doc/libxcb/\nusr/share/doc/libxcb/tutorial/\nusr/share/doc/libxcb/tutorial/index.html\nusr/share/doc/libxcb/tutorial/xcb.css\nusr/share/licenses/\nusr/share/licenses/libxcb/\nusr/share/licenses/libxcb/COPYING\nusr/share/man/\nusr/share/man/man3/\nusr/share/man/man3/xcb-examples.3.gz\nusr/share/man/man3/xcb-requests.3.gz\nusr/share/man/man3/xcb_alloc_color.3.gz\nusr/share/man/man3/xcb_alloc_color_cells.3.gz\nusr/share/man/man3/xcb_alloc_color_cells_masks.3.gz\nusr/share/man/man3/xcb_alloc_color_cells_masks_end.3.gz\nusr/share/man/man3/xcb_alloc_color_cells_masks_length.3.gz\nusr/share/man/man3/xcb_alloc_color_cells_pixels.3.gz\nusr/share/man/man3/xcb_alloc_color_cells_pixels_end.3.gz\nusr/share/man/man3/xcb_alloc_color_cells_pixels_length.3.gz\nusr/share/man/man3/xcb_alloc_color_cells_reply.3.gz\nusr/share/man/man3/xcb_alloc_color_cells_unchecked.3.gz\nusr/share/man/man3/xcb_alloc_color_planes.3.gz\nusr/share/man/man3/xcb_alloc_color_planes_pixels.3.gz\nusr/share/man/man3/xcb_alloc_color_planes_pixels_end.3.gz\nusr/share/man/man3/xcb_alloc_color_planes_pixels_length.3.gz\nusr/share/man/man3/xcb_alloc_color_planes_reply.3.gz\nusr/share/man/man3/xcb_alloc_color_planes_unchecked.3.gz\nusr/share/man/man3/xcb_alloc_color_reply.3.gz\nusr/share/man/man3/xcb_alloc_color_unchecked.3.gz\nusr/share/man/man3/xcb_alloc_named_color.3.gz\nusr/share/man/man3/xcb_alloc_named_color_reply.3.gz\nusr/share/man/man3/xcb_alloc_named_color_unchecked.3.gz\nusr/share/man/man3/xcb_allow_events.3.gz\nusr/share/man/man3/xcb_allow_events_checked.3.gz\nusr/share/man/man3/xcb_bell.3.gz\nusr/share/man/man3/xcb_bell_checked.3.gz\nusr/share/man/man3/xcb_big_requests_enable.3.gz\nusr/share/man/man3/xcb_big_requests_enable_reply.3.gz\nusr/share/man/man3/xcb_big_requests_enable_unchecked.3.gz\nusr/share/man/man3/xcb_button_press_event_t.3.gz\nusr/share/man/man3/xcb_change_active_pointer_grab.3.gz\nusr/share/man/man3/xcb_change_active_pointer_grab_checked.3.gz\nusr/share/man/man3/xcb_change_gc.3.gz\nusr/share/man/man3/xcb_change_gc_checked.3.gz\nusr/share/man/man3/xcb_change_hosts.3.gz\nusr/share/man/man3/xcb_change_hosts_checked.3.gz\nusr/share/man/man3/xcb_change_keyboard_control.3.gz\nusr/share/man/man3/xcb_change_keyboard_control_checked.3.gz\nusr/share/man/man3/xcb_change_keyboard_mapping.3.gz\nusr/share/man/man3/xcb_change_keyboard_mapping_checked.3.gz\nusr/share/man/man3/xcb_change_pointer_control.3.gz\nusr/share/man/man3/xcb_change_pointer_control_checked.3.gz\nusr/share/man/man3/xcb_change_property.3.gz\nusr/share/man/man3/xcb_change_property_checked.3.gz\nusr/share/man/man3/xcb_change_save_set.3.gz\nusr/share/man/man3/xcb_change_save_set_checked.3.gz\nusr/share/man/man3/xcb_change_window_attributes.3.gz\nusr/share/man/man3/xcb_change_window_attributes_checked.3.gz\nusr/share/man/man3/xcb_circulate_notify_event_t.3.gz\nusr/share/man/man3/xcb_circulate_window.3.gz\nusr/share/man/man3/xcb_circulate_window_checked.3.gz\nusr/share/man/man3/xcb_clear_area.3.gz\nusr/share/man/man3/xcb_clear_area_checked.3.gz\nusr/share/man/man3/xcb_client_message_event_t.3.gz\nusr/share/man/man3/xcb_close_font.3.gz\nusr/share/man/man3/xcb_close_font_checked.3.gz\nusr/share/man/man3/xcb_colormap_notify_event_t.3.gz\nusr/share/man/man3/xcb_composite_create_region_from_border_clip.3.gz\nusr/share/man/man3/xcb_composite_create_region_from_border_clip_checked.3.gz\nusr/share/man/man3/xcb_composite_get_overlay_window.3.gz\nusr/share/man/man3/xcb_composite_get_overlay_window_reply.3.gz\nusr/share/man/man3/xcb_composite_get_overlay_window_unchecked.3.gz\nusr/share/man/man3/xcb_composite_name_window_pixmap.3.gz\nusr/share/man/man3/xcb_composite_name_window_pixmap_checked.3.gz\nusr/share/man/man3/xcb_composite_query_version.3.gz\nusr/share/man/man3/xcb_composite_query_version_reply.3.gz\nusr/share/man/man3/xcb_composite_query_version_unchecked.3.gz\nusr/share/man/man3/xcb_composite_redirect_subwindows.3.gz\nusr/share/man/man3/xcb_composite_redirect_subwindows_checked.3.gz\nusr/share/man/man3/xcb_composite_redirect_window.3.gz\nusr/share/man/man3/xcb_composite_redirect_window_checked.3.gz\nusr/share/man/man3/xcb_composite_release_overlay_window.3.gz\nusr/share/man/man3/xcb_composite_release_overlay_window_checked.3.gz\nusr/share/man/man3/xcb_composite_unredirect_subwindows.3.gz\nusr/share/man/man3/xcb_composite_unredirect_subwindows_checked.3.gz\nusr/share/man/man3/xcb_composite_unredirect_window.3.gz\nusr/share/man/man3/xcb_composite_unredirect_window_checked.3.gz\nusr/share/man/man3/xcb_configure_notify_event_t.3.gz\nusr/share/man/man3/xcb_configure_request_event_t.3.gz\nusr/share/man/man3/xcb_configure_window.3.gz\nusr/share/man/man3/xcb_configure_window_checked.3.gz\nusr/share/man/man3/xcb_convert_selection.3.gz\nusr/share/man/man3/xcb_convert_selection_checked.3.gz\nusr/share/man/man3/xcb_copy_area.3.gz\nusr/share/man/man3/xcb_copy_area_checked.3.gz\nusr/share/man/man3/xcb_copy_colormap_and_free.3.gz\nusr/share/man/man3/xcb_copy_colormap_and_free_checked.3.gz\nusr/share/man/man3/xcb_copy_gc.3.gz\nusr/share/man/man3/xcb_copy_gc_checked.3.gz\nusr/share/man/man3/xcb_copy_plane.3.gz\nusr/share/man/man3/xcb_copy_plane_checked.3.gz\nusr/share/man/man3/xcb_create_colormap.3.gz\nusr/share/man/man3/xcb_create_colormap_checked.3.gz\nusr/share/man/man3/xcb_create_cursor.3.gz\nusr/share/man/man3/xcb_create_cursor_checked.3.gz\nusr/share/man/man3/xcb_create_gc.3.gz\nusr/share/man/man3/xcb_create_gc_checked.3.gz\nusr/share/man/man3/xcb_create_glyph_cursor.3.gz\nusr/share/man/man3/xcb_create_glyph_cursor_checked.3.gz\nusr/share/man/man3/xcb_create_notify_event_t.3.gz\nusr/share/man/man3/xcb_create_pixmap.3.gz\nusr/share/man/man3/xcb_create_pixmap_checked.3.gz\nusr/share/man/man3/xcb_create_window.3.gz\nusr/share/man/man3/xcb_create_window_checked.3.gz\nusr/share/man/man3/xcb_damage_add.3.gz\nusr/share/man/man3/xcb_damage_add_checked.3.gz\nusr/share/man/man3/xcb_damage_create.3.gz\nusr/share/man/man3/xcb_damage_create_checked.3.gz\nusr/share/man/man3/xcb_damage_destroy.3.gz\nusr/share/man/man3/xcb_damage_destroy_checked.3.gz\nusr/share/man/man3/xcb_damage_notify_event_t.3.gz\nusr/share/man/man3/xcb_damage_query_version.3.gz\nusr/share/man/man3/xcb_damage_query_version_reply.3.gz\nusr/share/man/man3/xcb_damage_query_version_unchecked.3.gz\nusr/share/man/man3/xcb_damage_subtract.3.gz\nusr/share/man/man3/xcb_damage_subtract_checked.3.gz\nusr/share/man/man3/xcb_delete_property.3.gz\nusr/share/man/man3/xcb_delete_property_checked.3.gz\nusr/share/man/man3/xcb_destroy_notify_event_t.3.gz\nusr/share/man/man3/xcb_destroy_subwindows.3.gz\nusr/share/man/man3/xcb_destroy_subwindows_checked.3.gz\nusr/share/man/man3/xcb_destroy_window.3.gz\nusr/share/man/man3/xcb_destroy_window_checked.3.gz\nusr/share/man/man3/xcb_dpms_capable.3.gz\nusr/share/man/man3/xcb_dpms_capable_reply.3.gz\nusr/share/man/man3/xcb_dpms_capable_unchecked.3.gz\nusr/share/man/man3/xcb_dpms_disable.3.gz\nusr/share/man/man3/xcb_dpms_disable_checked.3.gz\nusr/share/man/man3/xcb_dpms_enable.3.gz\nusr/share/man/man3/xcb_dpms_enable_checked.3.gz\nusr/share/man/man3/xcb_dpms_force_level.3.gz\nusr/share/man/man3/xcb_dpms_force_level_checked.3.gz\nusr/share/man/man3/xcb_dpms_get_timeouts.3.gz\nusr/share/man/man3/xcb_dpms_get_timeouts_reply.3.gz\nusr/share/man/man3/xcb_dpms_get_timeouts_unchecked.3.gz\nusr/share/man/man3/xcb_dpms_get_version.3.gz\nusr/share/man/man3/xcb_dpms_get_version_reply.3.gz\nusr/share/man/man3/xcb_dpms_get_version_unchecked.3.gz\nusr/share/man/man3/xcb_dpms_info.3.gz\nusr/share/man/man3/xcb_dpms_info_reply.3.gz\nusr/share/man/man3/xcb_dpms_info_unchecked.3.gz\nusr/share/man/man3/xcb_dpms_set_timeouts.3.gz\nusr/share/man/man3/xcb_dpms_set_timeouts_checked.3.gz\nusr/share/man/man3/xcb_dri2_authenticate.3.gz\nusr/share/man/man3/xcb_dri2_authenticate_reply.3.gz\nusr/share/man/man3/xcb_dri2_authenticate_unchecked.3.gz\nusr/share/man/man3/xcb_dri2_buffer_swap_complete_event_t.3.gz\nusr/share/man/man3/xcb_dri2_connect.3.gz\nusr/share/man/man3/xcb_dri2_connect_alignment_pad.3.gz\nusr/share/man/man3/xcb_dri2_connect_alignment_pad_end.3.gz\nusr/share/man/man3/xcb_dri2_connect_alignment_pad_length.3.gz\nusr/share/man/man3/xcb_dri2_connect_device_name.3.gz\nusr/share/man/man3/xcb_dri2_connect_device_name_end.3.gz\nusr/share/man/man3/xcb_dri2_connect_device_name_length.3.gz\nusr/share/man/man3/xcb_dri2_connect_driver_name.3.gz\nusr/share/man/man3/xcb_dri2_connect_driver_name_end.3.gz\nusr/share/man/man3/xcb_dri2_connect_driver_name_length.3.gz\nusr/share/man/man3/xcb_dri2_connect_reply.3.gz\nusr/share/man/man3/xcb_dri2_connect_unchecked.3.gz\nusr/share/man/man3/xcb_dri2_copy_region.3.gz\nusr/share/man/man3/xcb_dri2_copy_region_reply.3.gz\nusr/share/man/man3/xcb_dri2_copy_region_unchecked.3.gz\nusr/share/man/man3/xcb_dri2_create_drawable.3.gz\nusr/share/man/man3/xcb_dri2_create_drawable_checked.3.gz\nusr/share/man/man3/xcb_dri2_destroy_drawable.3.gz\nusr/share/man/man3/xcb_dri2_destroy_drawable_checked.3.gz\nusr/share/man/man3/xcb_dri2_get_buffers.3.gz\nusr/share/man/man3/xcb_dri2_get_buffers_buffers.3.gz\nusr/share/man/man3/xcb_dri2_get_buffers_buffers_iterator.3.gz\nusr/share/man/man3/xcb_dri2_get_buffers_buffers_length.3.gz\nusr/share/man/man3/xcb_dri2_get_buffers_reply.3.gz\nusr/share/man/man3/xcb_dri2_get_buffers_unchecked.3.gz\nusr/share/man/man3/xcb_dri2_get_buffers_with_format.3.gz\nusr/share/man/man3/xcb_dri2_get_buffers_with_format_buffers.3.gz\nusr/share/man/man3/xcb_dri2_get_buffers_with_format_buffers_iterator.3.gz\nusr/share/man/man3/xcb_dri2_get_buffers_with_format_buffers_length.3.gz\nusr/share/man/man3/xcb_dri2_get_buffers_with_format_reply.3.gz\nusr/share/man/man3/xcb_dri2_get_buffers_with_format_unchecked.3.gz\nusr/share/man/man3/xcb_dri2_get_msc.3.gz\nusr/share/man/man3/xcb_dri2_get_msc_reply.3.gz\nusr/share/man/man3/xcb_dri2_get_msc_unchecked.3.gz\nusr/share/man/man3/xcb_dri2_get_param.3.gz\nusr/share/man/man3/xcb_dri2_get_param_reply.3.gz\nusr/share/man/man3/xcb_dri2_get_param_unchecked.3.gz\nusr/share/man/man3/xcb_dri2_invalidate_buffers_event_t.3.gz\nusr/share/man/man3/xcb_dri2_query_version.3.gz\nusr/share/man/man3/xcb_dri2_query_version_reply.3.gz\nusr/share/man/man3/xcb_dri2_query_version_unchecked.3.gz\nusr/share/man/man3/xcb_dri2_swap_buffers.3.gz\nusr/share/man/man3/xcb_dri2_swap_buffers_reply.3.gz\nusr/share/man/man3/xcb_dri2_swap_buffers_unchecked.3.gz\nusr/share/man/man3/xcb_dri2_swap_interval.3.gz\nusr/share/man/man3/xcb_dri2_swap_interval_checked.3.gz\nusr/share/man/man3/xcb_dri2_wait_msc.3.gz\nusr/share/man/man3/xcb_dri2_wait_msc_reply.3.gz\nusr/share/man/man3/xcb_dri2_wait_msc_unchecked.3.gz\nusr/share/man/man3/xcb_dri2_wait_sbc.3.gz\nusr/share/man/man3/xcb_dri2_wait_sbc_reply.3.gz\nusr/share/man/man3/xcb_dri2_wait_sbc_unchecked.3.gz\nusr/share/man/man3/xcb_dri3_buffer_from_pixmap.3.gz\nusr/share/man/man3/xcb_dri3_buffer_from_pixmap_reply.3.gz\nusr/share/man/man3/xcb_dri3_buffer_from_pixmap_unchecked.3.gz\nusr/share/man/man3/xcb_dri3_buffers_from_pixmap.3.gz\nusr/share/man/man3/xcb_dri3_buffers_from_pixmap_buffers.3.gz\nusr/share/man/man3/xcb_dri3_buffers_from_pixmap_buffers_end.3.gz\nusr/share/man/man3/xcb_dri3_buffers_from_pixmap_buffers_length.3.gz\nusr/share/man/man3/xcb_dri3_buffers_from_pixmap_offsets.3.gz\nusr/share/man/man3/xcb_dri3_buffers_from_pixmap_offsets_end.3.gz\nusr/share/man/man3/xcb_dri3_buffers_from_pixmap_offsets_length.3.gz\nusr/share/man/man3/xcb_dri3_buffers_from_pixmap_reply.3.gz\nusr/share/man/man3/xcb_dri3_buffers_from_pixmap_strides.3.gz\nusr/share/man/man3/xcb_dri3_buffers_from_pixmap_strides_end.3.gz\nusr/share/man/man3/xcb_dri3_buffers_from_pixmap_strides_length.3.gz\nusr/share/man/man3/xcb_dri3_buffers_from_pixmap_unchecked.3.gz\nusr/share/man/man3/xcb_dri3_fd_from_fence.3.gz\nusr/share/man/man3/xcb_dri3_fd_from_fence_reply.3.gz\nusr/share/man/man3/xcb_dri3_fd_from_fence_unchecked.3.gz\nusr/share/man/man3/xcb_dri3_fence_from_fd.3.gz\nusr/share/man/man3/xcb_dri3_fence_from_fd_checked.3.gz\nusr/share/man/man3/xcb_dri3_get_supported_modifiers.3.gz\nusr/share/man/man3/xcb_dri3_get_supported_modifiers_reply.3.gz\nusr/share/man/man3/xcb_dri3_get_supported_modifiers_screen_modifiers.3.gz\nusr/share/man/man3/xcb_dri3_get_supported_modifiers_screen_modifiers_end.3.gz\nusr/share/man/man3/xcb_dri3_get_supported_modifiers_screen_modifiers_length.3.gz\nusr/share/man/man3/xcb_dri3_get_supported_modifiers_unchecked.3.gz\nusr/share/man/man3/xcb_dri3_get_supported_modifiers_window_modifiers.3.gz\nusr/share/man/man3/xcb_dri3_get_supported_modifiers_window_modifiers_end.3.gz\nusr/share/man/man3/xcb_dri3_get_supported_modifiers_window_modifiers_length.3.gz\nusr/share/man/man3/xcb_dri3_open.3.gz\nusr/share/man/man3/xcb_dri3_open_reply.3.gz\nusr/share/man/man3/xcb_dri3_open_unchecked.3.gz\nusr/share/man/man3/xcb_dri3_pixmap_from_buffer.3.gz\nusr/share/man/man3/xcb_dri3_pixmap_from_buffer_checked.3.gz\nusr/share/man/man3/xcb_dri3_pixmap_from_buffers.3.gz\nusr/share/man/man3/xcb_dri3_pixmap_from_buffers_checked.3.gz\nusr/share/man/man3/xcb_dri3_query_version.3.gz\nusr/share/man/man3/xcb_dri3_query_version_reply.3.gz\nusr/share/man/man3/xcb_dri3_query_version_unchecked.3.gz\nusr/share/man/man3/xcb_enter_notify_event_t.3.gz\nusr/share/man/man3/xcb_expose_event_t.3.gz\nusr/share/man/man3/xcb_fill_poly.3.gz\nusr/share/man/man3/xcb_fill_poly_checked.3.gz\nusr/share/man/man3/xcb_focus_in_event_t.3.gz\nusr/share/man/man3/xcb_force_screen_saver.3.gz\nusr/share/man/man3/xcb_force_screen_saver_checked.3.gz\nusr/share/man/man3/xcb_free_colormap.3.gz\nusr/share/man/man3/xcb_free_colormap_checked.3.gz\nusr/share/man/man3/xcb_free_colors.3.gz\nusr/share/man/man3/xcb_free_colors_checked.3.gz\nusr/share/man/man3/xcb_free_cursor.3.gz\nusr/share/man/man3/xcb_free_cursor_checked.3.gz\nusr/share/man/man3/xcb_free_gc.3.gz\nusr/share/man/man3/xcb_free_gc_checked.3.gz\nusr/share/man/man3/xcb_free_pixmap.3.gz\nusr/share/man/man3/xcb_free_pixmap_checked.3.gz\nusr/share/man/man3/xcb_ge_generic_event_t.3.gz\nusr/share/man/man3/xcb_genericevent_query_version.3.gz\nusr/share/man/man3/xcb_genericevent_query_version_reply.3.gz\nusr/share/man/man3/xcb_genericevent_query_version_unchecked.3.gz\nusr/share/man/man3/xcb_get_atom_name.3.gz\nusr/share/man/man3/xcb_get_atom_name_name.3.gz\nusr/share/man/man3/xcb_get_atom_name_name_end.3.gz\nusr/share/man/man3/xcb_get_atom_name_name_length.3.gz\nusr/share/man/man3/xcb_get_atom_name_reply.3.gz\nusr/share/man/man3/xcb_get_atom_name_unchecked.3.gz\nusr/share/man/man3/xcb_get_font_path.3.gz\nusr/share/man/man3/xcb_get_font_path_path_iterator.3.gz\nusr/share/man/man3/xcb_get_font_path_path_length.3.gz\nusr/share/man/man3/xcb_get_font_path_reply.3.gz\nusr/share/man/man3/xcb_get_font_path_unchecked.3.gz\nusr/share/man/man3/xcb_get_geometry.3.gz\nusr/share/man/man3/xcb_get_geometry_reply.3.gz\nusr/share/man/man3/xcb_get_geometry_unchecked.3.gz\nusr/share/man/man3/xcb_get_image.3.gz\nusr/share/man/man3/xcb_get_image_data.3.gz\nusr/share/man/man3/xcb_get_image_data_end.3.gz\nusr/share/man/man3/xcb_get_image_data_length.3.gz\nusr/share/man/man3/xcb_get_image_reply.3.gz\nusr/share/man/man3/xcb_get_image_unchecked.3.gz\nusr/share/man/man3/xcb_get_input_focus.3.gz\nusr/share/man/man3/xcb_get_input_focus_reply.3.gz\nusr/share/man/man3/xcb_get_input_focus_unchecked.3.gz\nusr/share/man/man3/xcb_get_keyboard_control.3.gz\nusr/share/man/man3/xcb_get_keyboard_control_reply.3.gz\nusr/share/man/man3/xcb_get_keyboard_control_unchecked.3.gz\nusr/share/man/man3/xcb_get_keyboard_mapping.3.gz\nusr/share/man/man3/xcb_get_keyboard_mapping_keysyms.3.gz\nusr/share/man/man3/xcb_get_keyboard_mapping_keysyms_end.3.gz\nusr/share/man/man3/xcb_get_keyboard_mapping_keysyms_length.3.gz\nusr/share/man/man3/xcb_get_keyboard_mapping_reply.3.gz\nusr/share/man/man3/xcb_get_keyboard_mapping_unchecked.3.gz\nusr/share/man/man3/xcb_get_modifier_mapping.3.gz\nusr/share/man/man3/xcb_get_modifier_mapping_keycodes.3.gz\nusr/share/man/man3/xcb_get_modifier_mapping_keycodes_end.3.gz\nusr/share/man/man3/xcb_get_modifier_mapping_keycodes_length.3.gz\nusr/share/man/man3/xcb_get_modifier_mapping_reply.3.gz\nusr/share/man/man3/xcb_get_modifier_mapping_unchecked.3.gz\nusr/share/man/man3/xcb_get_motion_events.3.gz\nusr/share/man/man3/xcb_get_motion_events_events.3.gz\nusr/share/man/man3/xcb_get_motion_events_events_iterator.3.gz\nusr/share/man/man3/xcb_get_motion_events_events_length.3.gz\nusr/share/man/man3/xcb_get_motion_events_reply.3.gz\nusr/share/man/man3/xcb_get_motion_events_unchecked.3.gz\nusr/share/man/man3/xcb_get_pointer_control.3.gz\nusr/share/man/man3/xcb_get_pointer_control_reply.3.gz\nusr/share/man/man3/xcb_get_pointer_control_unchecked.3.gz\nusr/share/man/man3/xcb_get_pointer_mapping.3.gz\nusr/share/man/man3/xcb_get_pointer_mapping_map.3.gz\nusr/share/man/man3/xcb_get_pointer_mapping_map_end.3.gz\nusr/share/man/man3/xcb_get_pointer_mapping_map_length.3.gz\nusr/share/man/man3/xcb_get_pointer_mapping_reply.3.gz\nusr/share/man/man3/xcb_get_pointer_mapping_unchecked.3.gz\nusr/share/man/man3/xcb_get_property.3.gz\nusr/share/man/man3/xcb_get_property_reply.3.gz\nusr/share/man/man3/xcb_get_property_unchecked.3.gz\nusr/share/man/man3/xcb_get_property_value.3.gz\nusr/share/man/man3/xcb_get_property_value_end.3.gz\nusr/share/man/man3/xcb_get_property_value_length.3.gz\nusr/share/man/man3/xcb_get_screen_saver.3.gz\nusr/share/man/man3/xcb_get_screen_saver_reply.3.gz\nusr/share/man/man3/xcb_get_screen_saver_unchecked.3.gz\nusr/share/man/man3/xcb_get_selection_owner.3.gz\nusr/share/man/man3/xcb_get_selection_owner_reply.3.gz\nusr/share/man/man3/xcb_get_selection_owner_unchecked.3.gz\nusr/share/man/man3/xcb_get_window_attributes.3.gz\nusr/share/man/man3/xcb_get_window_attributes_reply.3.gz\nusr/share/man/man3/xcb_get_window_attributes_unchecked.3.gz\nusr/share/man/man3/xcb_glx_are_textures_resident.3.gz\nusr/share/man/man3/xcb_glx_are_textures_resident_data.3.gz\nusr/share/man/man3/xcb_glx_are_textures_resident_data_end.3.gz\nusr/share/man/man3/xcb_glx_are_textures_resident_data_length.3.gz\nusr/share/man/man3/xcb_glx_are_textures_resident_reply.3.gz\nusr/share/man/man3/xcb_glx_are_textures_resident_unchecked.3.gz\nusr/share/man/man3/xcb_glx_buffer_swap_complete_event_t.3.gz\nusr/share/man/man3/xcb_glx_change_drawable_attributes.3.gz\nusr/share/man/man3/xcb_glx_change_drawable_attributes_checked.3.gz\nusr/share/man/man3/xcb_glx_client_info.3.gz\nusr/share/man/man3/xcb_glx_client_info_checked.3.gz\nusr/share/man/man3/xcb_glx_copy_context.3.gz\nusr/share/man/man3/xcb_glx_copy_context_checked.3.gz\nusr/share/man/man3/xcb_glx_create_context.3.gz\nusr/share/man/man3/xcb_glx_create_context_attribs_arb.3.gz\nusr/share/man/man3/xcb_glx_create_context_attribs_arb_checked.3.gz\nusr/share/man/man3/xcb_glx_create_context_checked.3.gz\nusr/share/man/man3/xcb_glx_create_glx_pixmap.3.gz\nusr/share/man/man3/xcb_glx_create_glx_pixmap_checked.3.gz\nusr/share/man/man3/xcb_glx_create_new_context.3.gz\nusr/share/man/man3/xcb_glx_create_new_context_checked.3.gz\nusr/share/man/man3/xcb_glx_create_pbuffer.3.gz\nusr/share/man/man3/xcb_glx_create_pbuffer_checked.3.gz\nusr/share/man/man3/xcb_glx_create_pixmap.3.gz\nusr/share/man/man3/xcb_glx_create_pixmap_checked.3.gz\nusr/share/man/man3/xcb_glx_create_window.3.gz\nusr/share/man/man3/xcb_glx_create_window_checked.3.gz\nusr/share/man/man3/xcb_glx_delete_lists.3.gz\nusr/share/man/man3/xcb_glx_delete_lists_checked.3.gz\nusr/share/man/man3/xcb_glx_delete_queries_arb.3.gz\nusr/share/man/man3/xcb_glx_delete_queries_arb_checked.3.gz\nusr/share/man/man3/xcb_glx_delete_textures.3.gz\nusr/share/man/man3/xcb_glx_delete_textures_checked.3.gz\nusr/share/man/man3/xcb_glx_delete_window.3.gz\nusr/share/man/man3/xcb_glx_delete_window_checked.3.gz\nusr/share/man/man3/xcb_glx_destroy_context.3.gz\nusr/share/man/man3/xcb_glx_destroy_context_checked.3.gz\nusr/share/man/man3/xcb_glx_destroy_glx_pixmap.3.gz\nusr/share/man/man3/xcb_glx_destroy_glx_pixmap_checked.3.gz\nusr/share/man/man3/xcb_glx_destroy_pbuffer.3.gz\nusr/share/man/man3/xcb_glx_destroy_pbuffer_checked.3.gz\nusr/share/man/man3/xcb_glx_destroy_pixmap.3.gz\nusr/share/man/man3/xcb_glx_destroy_pixmap_checked.3.gz\nusr/share/man/man3/xcb_glx_end_list.3.gz\nusr/share/man/man3/xcb_glx_end_list_checked.3.gz\nusr/share/man/man3/xcb_glx_feedback_buffer.3.gz\nusr/share/man/man3/xcb_glx_feedback_buffer_checked.3.gz\nusr/share/man/man3/xcb_glx_finish.3.gz\nusr/share/man/man3/xcb_glx_finish_reply.3.gz\nusr/share/man/man3/xcb_glx_finish_unchecked.3.gz\nusr/share/man/man3/xcb_glx_flush.3.gz\nusr/share/man/man3/xcb_glx_flush_checked.3.gz\nusr/share/man/man3/xcb_glx_gen_lists.3.gz\nusr/share/man/man3/xcb_glx_gen_lists_reply.3.gz\nusr/share/man/man3/xcb_glx_gen_lists_unchecked.3.gz\nusr/share/man/man3/xcb_glx_gen_queries_arb.3.gz\nusr/share/man/man3/xcb_glx_gen_queries_arb_data.3.gz\nusr/share/man/man3/xcb_glx_gen_queries_arb_data_end.3.gz\nusr/share/man/man3/xcb_glx_gen_queries_arb_data_length.3.gz\nusr/share/man/man3/xcb_glx_gen_queries_arb_reply.3.gz\nusr/share/man/man3/xcb_glx_gen_queries_arb_unchecked.3.gz\nusr/share/man/man3/xcb_glx_gen_textures.3.gz\nusr/share/man/man3/xcb_glx_gen_textures_data.3.gz\nusr/share/man/man3/xcb_glx_gen_textures_data_end.3.gz\nusr/share/man/man3/xcb_glx_gen_textures_data_length.3.gz\nusr/share/man/man3/xcb_glx_gen_textures_reply.3.gz\nusr/share/man/man3/xcb_glx_gen_textures_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_booleanv.3.gz\nusr/share/man/man3/xcb_glx_get_booleanv_data.3.gz\nusr/share/man/man3/xcb_glx_get_booleanv_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_booleanv_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_booleanv_reply.3.gz\nusr/share/man/man3/xcb_glx_get_booleanv_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_clip_plane.3.gz\nusr/share/man/man3/xcb_glx_get_clip_plane_data.3.gz\nusr/share/man/man3/xcb_glx_get_clip_plane_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_clip_plane_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_clip_plane_reply.3.gz\nusr/share/man/man3/xcb_glx_get_clip_plane_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_color_table.3.gz\nusr/share/man/man3/xcb_glx_get_color_table_data.3.gz\nusr/share/man/man3/xcb_glx_get_color_table_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_color_table_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_color_table_parameterfv.3.gz\nusr/share/man/man3/xcb_glx_get_color_table_parameterfv_data.3.gz\nusr/share/man/man3/xcb_glx_get_color_table_parameterfv_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_color_table_parameterfv_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_color_table_parameterfv_reply.3.gz\nusr/share/man/man3/xcb_glx_get_color_table_parameterfv_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_color_table_parameteriv.3.gz\nusr/share/man/man3/xcb_glx_get_color_table_parameteriv_data.3.gz\nusr/share/man/man3/xcb_glx_get_color_table_parameteriv_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_color_table_parameteriv_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_color_table_parameteriv_reply.3.gz\nusr/share/man/man3/xcb_glx_get_color_table_parameteriv_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_color_table_reply.3.gz\nusr/share/man/man3/xcb_glx_get_color_table_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_compressed_tex_image_arb.3.gz\nusr/share/man/man3/xcb_glx_get_compressed_tex_image_arb_data.3.gz\nusr/share/man/man3/xcb_glx_get_compressed_tex_image_arb_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_compressed_tex_image_arb_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_compressed_tex_image_arb_reply.3.gz\nusr/share/man/man3/xcb_glx_get_compressed_tex_image_arb_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_convolution_filter.3.gz\nusr/share/man/man3/xcb_glx_get_convolution_filter_data.3.gz\nusr/share/man/man3/xcb_glx_get_convolution_filter_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_convolution_filter_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_convolution_filter_reply.3.gz\nusr/share/man/man3/xcb_glx_get_convolution_filter_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_convolution_parameterfv.3.gz\nusr/share/man/man3/xcb_glx_get_convolution_parameterfv_data.3.gz\nusr/share/man/man3/xcb_glx_get_convolution_parameterfv_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_convolution_parameterfv_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_convolution_parameterfv_reply.3.gz\nusr/share/man/man3/xcb_glx_get_convolution_parameterfv_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_convolution_parameteriv.3.gz\nusr/share/man/man3/xcb_glx_get_convolution_parameteriv_data.3.gz\nusr/share/man/man3/xcb_glx_get_convolution_parameteriv_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_convolution_parameteriv_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_convolution_parameteriv_reply.3.gz\nusr/share/man/man3/xcb_glx_get_convolution_parameteriv_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_doublev.3.gz\nusr/share/man/man3/xcb_glx_get_doublev_data.3.gz\nusr/share/man/man3/xcb_glx_get_doublev_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_doublev_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_doublev_reply.3.gz\nusr/share/man/man3/xcb_glx_get_doublev_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_drawable_attributes.3.gz\nusr/share/man/man3/xcb_glx_get_drawable_attributes_attribs.3.gz\nusr/share/man/man3/xcb_glx_get_drawable_attributes_attribs_end.3.gz\nusr/share/man/man3/xcb_glx_get_drawable_attributes_attribs_length.3.gz\nusr/share/man/man3/xcb_glx_get_drawable_attributes_reply.3.gz\nusr/share/man/man3/xcb_glx_get_drawable_attributes_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_error.3.gz\nusr/share/man/man3/xcb_glx_get_error_reply.3.gz\nusr/share/man/man3/xcb_glx_get_error_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_fb_configs.3.gz\nusr/share/man/man3/xcb_glx_get_fb_configs_property_list.3.gz\nusr/share/man/man3/xcb_glx_get_fb_configs_property_list_end.3.gz\nusr/share/man/man3/xcb_glx_get_fb_configs_property_list_length.3.gz\nusr/share/man/man3/xcb_glx_get_fb_configs_reply.3.gz\nusr/share/man/man3/xcb_glx_get_fb_configs_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_floatv.3.gz\nusr/share/man/man3/xcb_glx_get_floatv_data.3.gz\nusr/share/man/man3/xcb_glx_get_floatv_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_floatv_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_floatv_reply.3.gz\nusr/share/man/man3/xcb_glx_get_floatv_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_histogram.3.gz\nusr/share/man/man3/xcb_glx_get_histogram_data.3.gz\nusr/share/man/man3/xcb_glx_get_histogram_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_histogram_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_histogram_parameterfv.3.gz\nusr/share/man/man3/xcb_glx_get_histogram_parameterfv_data.3.gz\nusr/share/man/man3/xcb_glx_get_histogram_parameterfv_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_histogram_parameterfv_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_histogram_parameterfv_reply.3.gz\nusr/share/man/man3/xcb_glx_get_histogram_parameterfv_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_histogram_parameteriv.3.gz\nusr/share/man/man3/xcb_glx_get_histogram_parameteriv_data.3.gz\nusr/share/man/man3/xcb_glx_get_histogram_parameteriv_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_histogram_parameteriv_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_histogram_parameteriv_reply.3.gz\nusr/share/man/man3/xcb_glx_get_histogram_parameteriv_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_histogram_reply.3.gz\nusr/share/man/man3/xcb_glx_get_histogram_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_integerv.3.gz\nusr/share/man/man3/xcb_glx_get_integerv_data.3.gz\nusr/share/man/man3/xcb_glx_get_integerv_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_integerv_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_integerv_reply.3.gz\nusr/share/man/man3/xcb_glx_get_integerv_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_lightfv.3.gz\nusr/share/man/man3/xcb_glx_get_lightfv_data.3.gz\nusr/share/man/man3/xcb_glx_get_lightfv_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_lightfv_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_lightfv_reply.3.gz\nusr/share/man/man3/xcb_glx_get_lightfv_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_lightiv.3.gz\nusr/share/man/man3/xcb_glx_get_lightiv_data.3.gz\nusr/share/man/man3/xcb_glx_get_lightiv_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_lightiv_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_lightiv_reply.3.gz\nusr/share/man/man3/xcb_glx_get_lightiv_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_mapdv.3.gz\nusr/share/man/man3/xcb_glx_get_mapdv_data.3.gz\nusr/share/man/man3/xcb_glx_get_mapdv_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_mapdv_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_mapdv_reply.3.gz\nusr/share/man/man3/xcb_glx_get_mapdv_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_mapfv.3.gz\nusr/share/man/man3/xcb_glx_get_mapfv_data.3.gz\nusr/share/man/man3/xcb_glx_get_mapfv_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_mapfv_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_mapfv_reply.3.gz\nusr/share/man/man3/xcb_glx_get_mapfv_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_mapiv.3.gz\nusr/share/man/man3/xcb_glx_get_mapiv_data.3.gz\nusr/share/man/man3/xcb_glx_get_mapiv_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_mapiv_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_mapiv_reply.3.gz\nusr/share/man/man3/xcb_glx_get_mapiv_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_materialfv.3.gz\nusr/share/man/man3/xcb_glx_get_materialfv_data.3.gz\nusr/share/man/man3/xcb_glx_get_materialfv_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_materialfv_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_materialfv_reply.3.gz\nusr/share/man/man3/xcb_glx_get_materialfv_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_materialiv.3.gz\nusr/share/man/man3/xcb_glx_get_materialiv_data.3.gz\nusr/share/man/man3/xcb_glx_get_materialiv_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_materialiv_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_materialiv_reply.3.gz\nusr/share/man/man3/xcb_glx_get_materialiv_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_minmax.3.gz\nusr/share/man/man3/xcb_glx_get_minmax_data.3.gz\nusr/share/man/man3/xcb_glx_get_minmax_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_minmax_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_minmax_parameterfv.3.gz\nusr/share/man/man3/xcb_glx_get_minmax_parameterfv_data.3.gz\nusr/share/man/man3/xcb_glx_get_minmax_parameterfv_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_minmax_parameterfv_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_minmax_parameterfv_reply.3.gz\nusr/share/man/man3/xcb_glx_get_minmax_parameterfv_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_minmax_parameteriv.3.gz\nusr/share/man/man3/xcb_glx_get_minmax_parameteriv_data.3.gz\nusr/share/man/man3/xcb_glx_get_minmax_parameteriv_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_minmax_parameteriv_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_minmax_parameteriv_reply.3.gz\nusr/share/man/man3/xcb_glx_get_minmax_parameteriv_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_minmax_reply.3.gz\nusr/share/man/man3/xcb_glx_get_minmax_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_pixel_mapfv.3.gz\nusr/share/man/man3/xcb_glx_get_pixel_mapfv_data.3.gz\nusr/share/man/man3/xcb_glx_get_pixel_mapfv_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_pixel_mapfv_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_pixel_mapfv_reply.3.gz\nusr/share/man/man3/xcb_glx_get_pixel_mapfv_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_pixel_mapuiv.3.gz\nusr/share/man/man3/xcb_glx_get_pixel_mapuiv_data.3.gz\nusr/share/man/man3/xcb_glx_get_pixel_mapuiv_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_pixel_mapuiv_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_pixel_mapuiv_reply.3.gz\nusr/share/man/man3/xcb_glx_get_pixel_mapuiv_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_pixel_mapusv.3.gz\nusr/share/man/man3/xcb_glx_get_pixel_mapusv_data.3.gz\nusr/share/man/man3/xcb_glx_get_pixel_mapusv_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_pixel_mapusv_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_pixel_mapusv_reply.3.gz\nusr/share/man/man3/xcb_glx_get_pixel_mapusv_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_polygon_stipple.3.gz\nusr/share/man/man3/xcb_glx_get_polygon_stipple_data.3.gz\nusr/share/man/man3/xcb_glx_get_polygon_stipple_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_polygon_stipple_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_polygon_stipple_reply.3.gz\nusr/share/man/man3/xcb_glx_get_polygon_stipple_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_query_objectiv_arb.3.gz\nusr/share/man/man3/xcb_glx_get_query_objectiv_arb_data.3.gz\nusr/share/man/man3/xcb_glx_get_query_objectiv_arb_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_query_objectiv_arb_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_query_objectiv_arb_reply.3.gz\nusr/share/man/man3/xcb_glx_get_query_objectiv_arb_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_query_objectuiv_arb.3.gz\nusr/share/man/man3/xcb_glx_get_query_objectuiv_arb_data.3.gz\nusr/share/man/man3/xcb_glx_get_query_objectuiv_arb_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_query_objectuiv_arb_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_query_objectuiv_arb_reply.3.gz\nusr/share/man/man3/xcb_glx_get_query_objectuiv_arb_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_queryiv_arb.3.gz\nusr/share/man/man3/xcb_glx_get_queryiv_arb_data.3.gz\nusr/share/man/man3/xcb_glx_get_queryiv_arb_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_queryiv_arb_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_queryiv_arb_reply.3.gz\nusr/share/man/man3/xcb_glx_get_queryiv_arb_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_separable_filter.3.gz\nusr/share/man/man3/xcb_glx_get_separable_filter_reply.3.gz\nusr/share/man/man3/xcb_glx_get_separable_filter_rows_and_cols.3.gz\nusr/share/man/man3/xcb_glx_get_separable_filter_rows_and_cols_end.3.gz\nusr/share/man/man3/xcb_glx_get_separable_filter_rows_and_cols_length.3.gz\nusr/share/man/man3/xcb_glx_get_separable_filter_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_string.3.gz\nusr/share/man/man3/xcb_glx_get_string_reply.3.gz\nusr/share/man/man3/xcb_glx_get_string_string.3.gz\nusr/share/man/man3/xcb_glx_get_string_string_end.3.gz\nusr/share/man/man3/xcb_glx_get_string_string_length.3.gz\nusr/share/man/man3/xcb_glx_get_string_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_tex_envfv.3.gz\nusr/share/man/man3/xcb_glx_get_tex_envfv_data.3.gz\nusr/share/man/man3/xcb_glx_get_tex_envfv_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_tex_envfv_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_tex_envfv_reply.3.gz\nusr/share/man/man3/xcb_glx_get_tex_envfv_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_tex_enviv.3.gz\nusr/share/man/man3/xcb_glx_get_tex_enviv_data.3.gz\nusr/share/man/man3/xcb_glx_get_tex_enviv_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_tex_enviv_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_tex_enviv_reply.3.gz\nusr/share/man/man3/xcb_glx_get_tex_enviv_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_tex_gendv.3.gz\nusr/share/man/man3/xcb_glx_get_tex_gendv_data.3.gz\nusr/share/man/man3/xcb_glx_get_tex_gendv_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_tex_gendv_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_tex_gendv_reply.3.gz\nusr/share/man/man3/xcb_glx_get_tex_gendv_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_tex_genfv.3.gz\nusr/share/man/man3/xcb_glx_get_tex_genfv_data.3.gz\nusr/share/man/man3/xcb_glx_get_tex_genfv_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_tex_genfv_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_tex_genfv_reply.3.gz\nusr/share/man/man3/xcb_glx_get_tex_genfv_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_tex_geniv.3.gz\nusr/share/man/man3/xcb_glx_get_tex_geniv_data.3.gz\nusr/share/man/man3/xcb_glx_get_tex_geniv_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_tex_geniv_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_tex_geniv_reply.3.gz\nusr/share/man/man3/xcb_glx_get_tex_geniv_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_tex_image.3.gz\nusr/share/man/man3/xcb_glx_get_tex_image_data.3.gz\nusr/share/man/man3/xcb_glx_get_tex_image_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_tex_image_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_tex_image_reply.3.gz\nusr/share/man/man3/xcb_glx_get_tex_image_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_tex_level_parameterfv.3.gz\nusr/share/man/man3/xcb_glx_get_tex_level_parameterfv_data.3.gz\nusr/share/man/man3/xcb_glx_get_tex_level_parameterfv_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_tex_level_parameterfv_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_tex_level_parameterfv_reply.3.gz\nusr/share/man/man3/xcb_glx_get_tex_level_parameterfv_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_tex_level_parameteriv.3.gz\nusr/share/man/man3/xcb_glx_get_tex_level_parameteriv_data.3.gz\nusr/share/man/man3/xcb_glx_get_tex_level_parameteriv_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_tex_level_parameteriv_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_tex_level_parameteriv_reply.3.gz\nusr/share/man/man3/xcb_glx_get_tex_level_parameteriv_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_tex_parameterfv.3.gz\nusr/share/man/man3/xcb_glx_get_tex_parameterfv_data.3.gz\nusr/share/man/man3/xcb_glx_get_tex_parameterfv_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_tex_parameterfv_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_tex_parameterfv_reply.3.gz\nusr/share/man/man3/xcb_glx_get_tex_parameterfv_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_tex_parameteriv.3.gz\nusr/share/man/man3/xcb_glx_get_tex_parameteriv_data.3.gz\nusr/share/man/man3/xcb_glx_get_tex_parameteriv_data_end.3.gz\nusr/share/man/man3/xcb_glx_get_tex_parameteriv_data_length.3.gz\nusr/share/man/man3/xcb_glx_get_tex_parameteriv_reply.3.gz\nusr/share/man/man3/xcb_glx_get_tex_parameteriv_unchecked.3.gz\nusr/share/man/man3/xcb_glx_get_visual_configs.3.gz\nusr/share/man/man3/xcb_glx_get_visual_configs_property_list.3.gz\nusr/share/man/man3/xcb_glx_get_visual_configs_property_list_end.3.gz\nusr/share/man/man3/xcb_glx_get_visual_configs_property_list_length.3.gz\nusr/share/man/man3/xcb_glx_get_visual_configs_reply.3.gz\nusr/share/man/man3/xcb_glx_get_visual_configs_unchecked.3.gz\nusr/share/man/man3/xcb_glx_is_direct.3.gz\nusr/share/man/man3/xcb_glx_is_direct_reply.3.gz\nusr/share/man/man3/xcb_glx_is_direct_unchecked.3.gz\nusr/share/man/man3/xcb_glx_is_enabled.3.gz\nusr/share/man/man3/xcb_glx_is_enabled_reply.3.gz\nusr/share/man/man3/xcb_glx_is_enabled_unchecked.3.gz\nusr/share/man/man3/xcb_glx_is_list.3.gz\nusr/share/man/man3/xcb_glx_is_list_reply.3.gz\nusr/share/man/man3/xcb_glx_is_list_unchecked.3.gz\nusr/share/man/man3/xcb_glx_is_query_arb.3.gz\nusr/share/man/man3/xcb_glx_is_query_arb_reply.3.gz\nusr/share/man/man3/xcb_glx_is_query_arb_unchecked.3.gz\nusr/share/man/man3/xcb_glx_is_texture.3.gz\nusr/share/man/man3/xcb_glx_is_texture_reply.3.gz\nusr/share/man/man3/xcb_glx_is_texture_unchecked.3.gz\nusr/share/man/man3/xcb_glx_make_context_current.3.gz\nusr/share/man/man3/xcb_glx_make_context_current_reply.3.gz\nusr/share/man/man3/xcb_glx_make_context_current_unchecked.3.gz\nusr/share/man/man3/xcb_glx_make_current.3.gz\nusr/share/man/man3/xcb_glx_make_current_reply.3.gz\nusr/share/man/man3/xcb_glx_make_current_unchecked.3.gz\nusr/share/man/man3/xcb_glx_new_list.3.gz\nusr/share/man/man3/xcb_glx_new_list_checked.3.gz\nusr/share/man/man3/xcb_glx_pbuffer_clobber_event_t.3.gz\nusr/share/man/man3/xcb_glx_pixel_storef.3.gz\nusr/share/man/man3/xcb_glx_pixel_storef_checked.3.gz\nusr/share/man/man3/xcb_glx_pixel_storei.3.gz\nusr/share/man/man3/xcb_glx_pixel_storei_checked.3.gz\nusr/share/man/man3/xcb_glx_query_context.3.gz\nusr/share/man/man3/xcb_glx_query_context_attribs.3.gz\nusr/share/man/man3/xcb_glx_query_context_attribs_end.3.gz\nusr/share/man/man3/xcb_glx_query_context_attribs_length.3.gz\nusr/share/man/man3/xcb_glx_query_context_reply.3.gz\nusr/share/man/man3/xcb_glx_query_context_unchecked.3.gz\nusr/share/man/man3/xcb_glx_query_extensions_string.3.gz\nusr/share/man/man3/xcb_glx_query_extensions_string_reply.3.gz\nusr/share/man/man3/xcb_glx_query_extensions_string_unchecked.3.gz\nusr/share/man/man3/xcb_glx_query_server_string.3.gz\nusr/share/man/man3/xcb_glx_query_server_string_reply.3.gz\nusr/share/man/man3/xcb_glx_query_server_string_string.3.gz\nusr/share/man/man3/xcb_glx_query_server_string_string_end.3.gz\nusr/share/man/man3/xcb_glx_query_server_string_string_length.3.gz\nusr/share/man/man3/xcb_glx_query_server_string_unchecked.3.gz\nusr/share/man/man3/xcb_glx_query_version.3.gz\nusr/share/man/man3/xcb_glx_query_version_reply.3.gz\nusr/share/man/man3/xcb_glx_query_version_unchecked.3.gz\nusr/share/man/man3/xcb_glx_read_pixels.3.gz\nusr/share/man/man3/xcb_glx_read_pixels_data.3.gz\nusr/share/man/man3/xcb_glx_read_pixels_data_end.3.gz\nusr/share/man/man3/xcb_glx_read_pixels_data_length.3.gz\nusr/share/man/man3/xcb_glx_read_pixels_reply.3.gz\nusr/share/man/man3/xcb_glx_read_pixels_unchecked.3.gz\nusr/share/man/man3/xcb_glx_render.3.gz\nusr/share/man/man3/xcb_glx_render_checked.3.gz\nusr/share/man/man3/xcb_glx_render_large.3.gz\nusr/share/man/man3/xcb_glx_render_large_checked.3.gz\nusr/share/man/man3/xcb_glx_render_mode.3.gz\nusr/share/man/man3/xcb_glx_render_mode_data.3.gz\nusr/share/man/man3/xcb_glx_render_mode_data_end.3.gz\nusr/share/man/man3/xcb_glx_render_mode_data_length.3.gz\nusr/share/man/man3/xcb_glx_render_mode_reply.3.gz\nusr/share/man/man3/xcb_glx_render_mode_unchecked.3.gz\nusr/share/man/man3/xcb_glx_select_buffer.3.gz\nusr/share/man/man3/xcb_glx_select_buffer_checked.3.gz\nusr/share/man/man3/xcb_glx_set_client_info_2arb.3.gz\nusr/share/man/man3/xcb_glx_set_client_info_2arb_checked.3.gz\nusr/share/man/man3/xcb_glx_set_client_info_arb.3.gz\nusr/share/man/man3/xcb_glx_set_client_info_arb_checked.3.gz\nusr/share/man/man3/xcb_glx_swap_buffers.3.gz\nusr/share/man/man3/xcb_glx_swap_buffers_checked.3.gz\nusr/share/man/man3/xcb_glx_use_x_font.3.gz\nusr/share/man/man3/xcb_glx_use_x_font_checked.3.gz\nusr/share/man/man3/xcb_glx_vendor_private.3.gz\nusr/share/man/man3/xcb_glx_vendor_private_checked.3.gz\nusr/share/man/man3/xcb_glx_vendor_private_with_reply.3.gz\nusr/share/man/man3/xcb_glx_vendor_private_with_reply_data_2.3.gz\nusr/share/man/man3/xcb_glx_vendor_private_with_reply_data_2_end.3.gz\nusr/share/man/man3/xcb_glx_vendor_private_with_reply_data_2_length.3.gz\nusr/share/man/man3/xcb_glx_vendor_private_with_reply_reply.3.gz\nusr/share/man/man3/xcb_glx_vendor_private_with_reply_unchecked.3.gz\nusr/share/man/man3/xcb_glx_wait_gl.3.gz\nusr/share/man/man3/xcb_glx_wait_gl_checked.3.gz\nusr/share/man/man3/xcb_glx_wait_x.3.gz\nusr/share/man/man3/xcb_glx_wait_x_checked.3.gz\nusr/share/man/man3/xcb_grab_button.3.gz\nusr/share/man/man3/xcb_grab_button_checked.3.gz\nusr/share/man/man3/xcb_grab_key.3.gz\nusr/share/man/man3/xcb_grab_key_checked.3.gz\nusr/share/man/man3/xcb_grab_keyboard.3.gz\nusr/share/man/man3/xcb_grab_keyboard_reply.3.gz\nusr/share/man/man3/xcb_grab_keyboard_unchecked.3.gz\nusr/share/man/man3/xcb_grab_pointer.3.gz\nusr/share/man/man3/xcb_grab_pointer_reply.3.gz\nusr/share/man/man3/xcb_grab_pointer_unchecked.3.gz\nusr/share/man/man3/xcb_grab_server.3.gz\nusr/share/man/man3/xcb_grab_server_checked.3.gz\nusr/share/man/man3/xcb_graphics_exposure_event_t.3.gz\nusr/share/man/man3/xcb_gravity_notify_event_t.3.gz\nusr/share/man/man3/xcb_image_text_16.3.gz\nusr/share/man/man3/xcb_image_text_16_checked.3.gz\nusr/share/man/man3/xcb_image_text_8.3.gz\nusr/share/man/man3/xcb_image_text_8_checked.3.gz\nusr/share/man/man3/xcb_input_allow_device_events.3.gz\nusr/share/man/man3/xcb_input_allow_device_events_checked.3.gz\nusr/share/man/man3/xcb_input_barrier_hit_event_t.3.gz\nusr/share/man/man3/xcb_input_button_press_event_t.3.gz\nusr/share/man/man3/xcb_input_change_device_control.3.gz\nusr/share/man/man3/xcb_input_change_device_control_reply.3.gz\nusr/share/man/man3/xcb_input_change_device_control_unchecked.3.gz\nusr/share/man/man3/xcb_input_change_device_dont_propagate_list.3.gz\nusr/share/man/man3/xcb_input_change_device_dont_propagate_list_checked.3.gz\nusr/share/man/man3/xcb_input_change_device_key_mapping.3.gz\nusr/share/man/man3/xcb_input_change_device_key_mapping_checked.3.gz\nusr/share/man/man3/xcb_input_change_device_notify_event_t.3.gz\nusr/share/man/man3/xcb_input_change_device_property.3.gz\nusr/share/man/man3/xcb_input_change_device_property_checked.3.gz\nusr/share/man/man3/xcb_input_change_feedback_control.3.gz\nusr/share/man/man3/xcb_input_change_feedback_control_checked.3.gz\nusr/share/man/man3/xcb_input_change_keyboard_device.3.gz\nusr/share/man/man3/xcb_input_change_keyboard_device_reply.3.gz\nusr/share/man/man3/xcb_input_change_keyboard_device_unchecked.3.gz\nusr/share/man/man3/xcb_input_change_pointer_device.3.gz\nusr/share/man/man3/xcb_input_change_pointer_device_reply.3.gz\nusr/share/man/man3/xcb_input_change_pointer_device_unchecked.3.gz\nusr/share/man/man3/xcb_input_close_device.3.gz\nusr/share/man/man3/xcb_input_close_device_checked.3.gz\nusr/share/man/man3/xcb_input_delete_device_property.3.gz\nusr/share/man/man3/xcb_input_delete_device_property_checked.3.gz\nusr/share/man/man3/xcb_input_device_bell.3.gz\nusr/share/man/man3/xcb_input_device_bell_checked.3.gz\nusr/share/man/man3/xcb_input_device_button_state_notify_event_t.3.gz\nusr/share/man/man3/xcb_input_device_changed_event_t.3.gz\nusr/share/man/man3/xcb_input_device_focus_in_event_t.3.gz\nusr/share/man/man3/xcb_input_device_key_press_event_t.3.gz\nusr/share/man/man3/xcb_input_device_key_state_notify_event_t.3.gz\nusr/share/man/man3/xcb_input_device_mapping_notify_event_t.3.gz\nusr/share/man/man3/xcb_input_device_presence_notify_event_t.3.gz\nusr/share/man/man3/xcb_input_device_property_notify_event_t.3.gz\nusr/share/man/man3/xcb_input_device_state_notify_event_t.3.gz\nusr/share/man/man3/xcb_input_device_valuator_event_t.3.gz\nusr/share/man/man3/xcb_input_enter_event_t.3.gz\nusr/share/man/man3/xcb_input_get_device_button_mapping.3.gz\nusr/share/man/man3/xcb_input_get_device_button_mapping_map.3.gz\nusr/share/man/man3/xcb_input_get_device_button_mapping_map_end.3.gz\nusr/share/man/man3/xcb_input_get_device_button_mapping_map_length.3.gz\nusr/share/man/man3/xcb_input_get_device_button_mapping_pad_1.3.gz\nusr/share/man/man3/xcb_input_get_device_button_mapping_reply.3.gz\nusr/share/man/man3/xcb_input_get_device_button_mapping_unchecked.3.gz\nusr/share/man/man3/xcb_input_get_device_control.3.gz\nusr/share/man/man3/xcb_input_get_device_control_control.3.gz\nusr/share/man/man3/xcb_input_get_device_control_reply.3.gz\nusr/share/man/man3/xcb_input_get_device_control_unchecked.3.gz\nusr/share/man/man3/xcb_input_get_device_dont_propagate_list.3.gz\nusr/share/man/man3/xcb_input_get_device_dont_propagate_list_classes.3.gz\nusr/share/man/man3/xcb_input_get_device_dont_propagate_list_classes_end.3.gz\nusr/share/man/man3/xcb_input_get_device_dont_propagate_list_classes_length.3.gz\nusr/share/man/man3/xcb_input_get_device_dont_propagate_list_reply.3.gz\nusr/share/man/man3/xcb_input_get_device_dont_propagate_list_unchecked.3.gz\nusr/share/man/man3/xcb_input_get_device_focus.3.gz\nusr/share/man/man3/xcb_input_get_device_focus_reply.3.gz\nusr/share/man/man3/xcb_input_get_device_focus_unchecked.3.gz\nusr/share/man/man3/xcb_input_get_device_key_mapping.3.gz\nusr/share/man/man3/xcb_input_get_device_key_mapping_keysyms.3.gz\nusr/share/man/man3/xcb_input_get_device_key_mapping_keysyms_end.3.gz\nusr/share/man/man3/xcb_input_get_device_key_mapping_keysyms_length.3.gz\nusr/share/man/man3/xcb_input_get_device_key_mapping_reply.3.gz\nusr/share/man/man3/xcb_input_get_device_key_mapping_unchecked.3.gz\nusr/share/man/man3/xcb_input_get_device_modifier_mapping.3.gz\nusr/share/man/man3/xcb_input_get_device_modifier_mapping_keymaps.3.gz\nusr/share/man/man3/xcb_input_get_device_modifier_mapping_keymaps_end.3.gz\nusr/share/man/man3/xcb_input_get_device_modifier_mapping_keymaps_length.3.gz\nusr/share/man/man3/xcb_input_get_device_modifier_mapping_reply.3.gz\nusr/share/man/man3/xcb_input_get_device_modifier_mapping_unchecked.3.gz\nusr/share/man/man3/xcb_input_get_device_motion_events.3.gz\nusr/share/man/man3/xcb_input_get_device_motion_events_events_iterator.3.gz\nusr/share/man/man3/xcb_input_get_device_motion_events_events_length.3.gz\nusr/share/man/man3/xcb_input_get_device_motion_events_reply.3.gz\nusr/share/man/man3/xcb_input_get_device_motion_events_unchecked.3.gz\nusr/share/man/man3/xcb_input_get_device_property.3.gz\nusr/share/man/man3/xcb_input_get_device_property_items.3.gz\nusr/share/man/man3/xcb_input_get_device_property_reply.3.gz\nusr/share/man/man3/xcb_input_get_device_property_unchecked.3.gz\nusr/share/man/man3/xcb_input_get_extension_version.3.gz\nusr/share/man/man3/xcb_input_get_extension_version_reply.3.gz\nusr/share/man/man3/xcb_input_get_extension_version_unchecked.3.gz\nusr/share/man/man3/xcb_input_get_feedback_control.3.gz\nusr/share/man/man3/xcb_input_get_feedback_control_feedbacks_iterator.3.gz\nusr/share/man/man3/xcb_input_get_feedback_control_feedbacks_length.3.gz\nusr/share/man/man3/xcb_input_get_feedback_control_reply.3.gz\nusr/share/man/man3/xcb_input_get_feedback_control_unchecked.3.gz\nusr/share/man/man3/xcb_input_get_selected_extension_events.3.gz\nusr/share/man/man3/xcb_input_get_selected_extension_events_all_classes.3.gz\nusr/share/man/man3/xcb_input_get_selected_extension_events_all_classes_end.3.gz\nusr/share/man/man3/xcb_input_get_selected_extension_events_all_classes_length.3.gz\nusr/share/man/man3/xcb_input_get_selected_extension_events_reply.3.gz\nusr/share/man/man3/xcb_input_get_selected_extension_events_this_classes.3.gz\nusr/share/man/man3/xcb_input_get_selected_extension_events_this_classes_end.3.gz\nusr/share/man/man3/xcb_input_get_selected_extension_events_this_classes_length.3.gz\nusr/share/man/man3/xcb_input_get_selected_extension_events_unchecked.3.gz\nusr/share/man/man3/xcb_input_grab_device.3.gz\nusr/share/man/man3/xcb_input_grab_device_button.3.gz\nusr/share/man/man3/xcb_input_grab_device_button_checked.3.gz\nusr/share/man/man3/xcb_input_grab_device_key.3.gz\nusr/share/man/man3/xcb_input_grab_device_key_checked.3.gz\nusr/share/man/man3/xcb_input_grab_device_reply.3.gz\nusr/share/man/man3/xcb_input_grab_device_unchecked.3.gz\nusr/share/man/man3/xcb_input_hierarchy_event_t.3.gz\nusr/share/man/man3/xcb_input_key_press_event_t.3.gz\nusr/share/man/man3/xcb_input_list_device_properties.3.gz\nusr/share/man/man3/xcb_input_list_device_properties_atoms.3.gz\nusr/share/man/man3/xcb_input_list_device_properties_atoms_end.3.gz\nusr/share/man/man3/xcb_input_list_device_properties_atoms_length.3.gz\nusr/share/man/man3/xcb_input_list_device_properties_reply.3.gz\nusr/share/man/man3/xcb_input_list_device_properties_unchecked.3.gz\nusr/share/man/man3/xcb_input_list_input_devices.3.gz\nusr/share/man/man3/xcb_input_list_input_devices_devices.3.gz\nusr/share/man/man3/xcb_input_list_input_devices_devices_iterator.3.gz\nusr/share/man/man3/xcb_input_list_input_devices_devices_length.3.gz\nusr/share/man/man3/xcb_input_list_input_devices_infos_iterator.3.gz\nusr/share/man/man3/xcb_input_list_input_devices_infos_length.3.gz\nusr/share/man/man3/xcb_input_list_input_devices_names_iterator.3.gz\nusr/share/man/man3/xcb_input_list_input_devices_names_length.3.gz\nusr/share/man/man3/xcb_input_list_input_devices_pad_1.3.gz\nusr/share/man/man3/xcb_input_list_input_devices_reply.3.gz\nusr/share/man/man3/xcb_input_list_input_devices_unchecked.3.gz\nusr/share/man/man3/xcb_input_open_device.3.gz\nusr/share/man/man3/xcb_input_open_device_class_info.3.gz\nusr/share/man/man3/xcb_input_open_device_class_info_iterator.3.gz\nusr/share/man/man3/xcb_input_open_device_class_info_length.3.gz\nusr/share/man/man3/xcb_input_open_device_pad_1.3.gz\nusr/share/man/man3/xcb_input_open_device_reply.3.gz\nusr/share/man/man3/xcb_input_open_device_unchecked.3.gz\nusr/share/man/man3/xcb_input_property_event_t.3.gz\nusr/share/man/man3/xcb_input_query_device_state.3.gz\nusr/share/man/man3/xcb_input_query_device_state_classes_iterator.3.gz\nusr/share/man/man3/xcb_input_query_device_state_classes_length.3.gz\nusr/share/man/man3/xcb_input_query_device_state_reply.3.gz\nusr/share/man/man3/xcb_input_query_device_state_unchecked.3.gz\nusr/share/man/man3/xcb_input_raw_button_press_event_t.3.gz\nusr/share/man/man3/xcb_input_raw_key_press_event_t.3.gz\nusr/share/man/man3/xcb_input_raw_touch_begin_event_t.3.gz\nusr/share/man/man3/xcb_input_select_extension_event.3.gz\nusr/share/man/man3/xcb_input_select_extension_event_checked.3.gz\nusr/share/man/man3/xcb_input_send_extension_event.3.gz\nusr/share/man/man3/xcb_input_send_extension_event_checked.3.gz\nusr/share/man/man3/xcb_input_set_device_button_mapping.3.gz\nusr/share/man/man3/xcb_input_set_device_button_mapping_reply.3.gz\nusr/share/man/man3/xcb_input_set_device_button_mapping_unchecked.3.gz\nusr/share/man/man3/xcb_input_set_device_focus.3.gz\nusr/share/man/man3/xcb_input_set_device_focus_checked.3.gz\nusr/share/man/man3/xcb_input_set_device_mode.3.gz\nusr/share/man/man3/xcb_input_set_device_mode_reply.3.gz\nusr/share/man/man3/xcb_input_set_device_mode_unchecked.3.gz\nusr/share/man/man3/xcb_input_set_device_modifier_mapping.3.gz\nusr/share/man/man3/xcb_input_set_device_modifier_mapping_reply.3.gz\nusr/share/man/man3/xcb_input_set_device_modifier_mapping_unchecked.3.gz\nusr/share/man/man3/xcb_input_set_device_valuators.3.gz\nusr/share/man/man3/xcb_input_set_device_valuators_reply.3.gz\nusr/share/man/man3/xcb_input_set_device_valuators_unchecked.3.gz\nusr/share/man/man3/xcb_input_touch_begin_event_t.3.gz\nusr/share/man/man3/xcb_input_touch_ownership_event_t.3.gz\nusr/share/man/man3/xcb_input_ungrab_device.3.gz\nusr/share/man/man3/xcb_input_ungrab_device_button.3.gz\nusr/share/man/man3/xcb_input_ungrab_device_button_checked.3.gz\nusr/share/man/man3/xcb_input_ungrab_device_checked.3.gz\nusr/share/man/man3/xcb_input_ungrab_device_key.3.gz\nusr/share/man/man3/xcb_input_ungrab_device_key_checked.3.gz\nusr/share/man/man3/xcb_input_xi_allow_events.3.gz\nusr/share/man/man3/xcb_input_xi_allow_events_checked.3.gz\nusr/share/man/man3/xcb_input_xi_barrier_release_pointer.3.gz\nusr/share/man/man3/xcb_input_xi_barrier_release_pointer_checked.3.gz\nusr/share/man/man3/xcb_input_xi_change_cursor.3.gz\nusr/share/man/man3/xcb_input_xi_change_cursor_checked.3.gz\nusr/share/man/man3/xcb_input_xi_change_hierarchy.3.gz\nusr/share/man/man3/xcb_input_xi_change_hierarchy_checked.3.gz\nusr/share/man/man3/xcb_input_xi_change_property.3.gz\nusr/share/man/man3/xcb_input_xi_change_property_checked.3.gz\nusr/share/man/man3/xcb_input_xi_delete_property.3.gz\nusr/share/man/man3/xcb_input_xi_delete_property_checked.3.gz\nusr/share/man/man3/xcb_input_xi_get_client_pointer.3.gz\nusr/share/man/man3/xcb_input_xi_get_client_pointer_reply.3.gz\nusr/share/man/man3/xcb_input_xi_get_client_pointer_unchecked.3.gz\nusr/share/man/man3/xcb_input_xi_get_focus.3.gz\nusr/share/man/man3/xcb_input_xi_get_focus_reply.3.gz\nusr/share/man/man3/xcb_input_xi_get_focus_unchecked.3.gz\nusr/share/man/man3/xcb_input_xi_get_property.3.gz\nusr/share/man/man3/xcb_input_xi_get_property_items.3.gz\nusr/share/man/man3/xcb_input_xi_get_property_reply.3.gz\nusr/share/man/man3/xcb_input_xi_get_property_unchecked.3.gz\nusr/share/man/man3/xcb_input_xi_get_selected_events.3.gz\nusr/share/man/man3/xcb_input_xi_get_selected_events_masks_iterator.3.gz\nusr/share/man/man3/xcb_input_xi_get_selected_events_masks_length.3.gz\nusr/share/man/man3/xcb_input_xi_get_selected_events_reply.3.gz\nusr/share/man/man3/xcb_input_xi_get_selected_events_unchecked.3.gz\nusr/share/man/man3/xcb_input_xi_grab_device.3.gz\nusr/share/man/man3/xcb_input_xi_grab_device_reply.3.gz\nusr/share/man/man3/xcb_input_xi_grab_device_unchecked.3.gz\nusr/share/man/man3/xcb_input_xi_list_properties.3.gz\nusr/share/man/man3/xcb_input_xi_list_properties_properties.3.gz\nusr/share/man/man3/xcb_input_xi_list_properties_properties_end.3.gz\nusr/share/man/man3/xcb_input_xi_list_properties_properties_length.3.gz\nusr/share/man/man3/xcb_input_xi_list_properties_reply.3.gz\nusr/share/man/man3/xcb_input_xi_list_properties_unchecked.3.gz\nusr/share/man/man3/xcb_input_xi_passive_grab_device.3.gz\nusr/share/man/man3/xcb_input_xi_passive_grab_device_modifiers.3.gz\nusr/share/man/man3/xcb_input_xi_passive_grab_device_modifiers_iterator.3.gz\nusr/share/man/man3/xcb_input_xi_passive_grab_device_modifiers_length.3.gz\nusr/share/man/man3/xcb_input_xi_passive_grab_device_reply.3.gz\nusr/share/man/man3/xcb_input_xi_passive_grab_device_unchecked.3.gz\nusr/share/man/man3/xcb_input_xi_passive_ungrab_device.3.gz\nusr/share/man/man3/xcb_input_xi_passive_ungrab_device_checked.3.gz\nusr/share/man/man3/xcb_input_xi_query_device.3.gz\nusr/share/man/man3/xcb_input_xi_query_device_infos_iterator.3.gz\nusr/share/man/man3/xcb_input_xi_query_device_infos_length.3.gz\nusr/share/man/man3/xcb_input_xi_query_device_reply.3.gz\nusr/share/man/man3/xcb_input_xi_query_device_unchecked.3.gz\nusr/share/man/man3/xcb_input_xi_query_pointer.3.gz\nusr/share/man/man3/xcb_input_xi_query_pointer_buttons.3.gz\nusr/share/man/man3/xcb_input_xi_query_pointer_buttons_end.3.gz\nusr/share/man/man3/xcb_input_xi_query_pointer_buttons_length.3.gz\nusr/share/man/man3/xcb_input_xi_query_pointer_reply.3.gz\nusr/share/man/man3/xcb_input_xi_query_pointer_unchecked.3.gz\nusr/share/man/man3/xcb_input_xi_query_version.3.gz\nusr/share/man/man3/xcb_input_xi_query_version_reply.3.gz\nusr/share/man/man3/xcb_input_xi_query_version_unchecked.3.gz\nusr/share/man/man3/xcb_input_xi_select_events.3.gz\nusr/share/man/man3/xcb_input_xi_select_events_checked.3.gz\nusr/share/man/man3/xcb_input_xi_set_client_pointer.3.gz\nusr/share/man/man3/xcb_input_xi_set_client_pointer_checked.3.gz\nusr/share/man/man3/xcb_input_xi_set_focus.3.gz\nusr/share/man/man3/xcb_input_xi_set_focus_checked.3.gz\nusr/share/man/man3/xcb_input_xi_ungrab_device.3.gz\nusr/share/man/man3/xcb_input_xi_ungrab_device_checked.3.gz\nusr/share/man/man3/xcb_input_xi_warp_pointer.3.gz\nusr/share/man/man3/xcb_input_xi_warp_pointer_checked.3.gz\nusr/share/man/man3/xcb_install_colormap.3.gz\nusr/share/man/man3/xcb_install_colormap_checked.3.gz\nusr/share/man/man3/xcb_intern_atom.3.gz\nusr/share/man/man3/xcb_intern_atom_reply.3.gz\nusr/share/man/man3/xcb_intern_atom_unchecked.3.gz\nusr/share/man/man3/xcb_key_press_event_t.3.gz\nusr/share/man/man3/xcb_keymap_notify_event_t.3.gz\nusr/share/man/man3/xcb_kill_client.3.gz\nusr/share/man/man3/xcb_kill_client_checked.3.gz\nusr/share/man/man3/xcb_list_extensions.3.gz\nusr/share/man/man3/xcb_list_extensions_names_iterator.3.gz\nusr/share/man/man3/xcb_list_extensions_names_length.3.gz\nusr/share/man/man3/xcb_list_extensions_reply.3.gz\nusr/share/man/man3/xcb_list_extensions_unchecked.3.gz\nusr/share/man/man3/xcb_list_fonts.3.gz\nusr/share/man/man3/xcb_list_fonts_names_iterator.3.gz\nusr/share/man/man3/xcb_list_fonts_names_length.3.gz\nusr/share/man/man3/xcb_list_fonts_reply.3.gz\nusr/share/man/man3/xcb_list_fonts_unchecked.3.gz\nusr/share/man/man3/xcb_list_fonts_with_info.3.gz\nusr/share/man/man3/xcb_list_fonts_with_info_name.3.gz\nusr/share/man/man3/xcb_list_fonts_with_info_name_end.3.gz\nusr/share/man/man3/xcb_list_fonts_with_info_name_length.3.gz\nusr/share/man/man3/xcb_list_fonts_with_info_properties.3.gz\nusr/share/man/man3/xcb_list_fonts_with_info_properties_iterator.3.gz\nusr/share/man/man3/xcb_list_fonts_with_info_properties_length.3.gz\nusr/share/man/man3/xcb_list_fonts_with_info_reply.3.gz\nusr/share/man/man3/xcb_list_fonts_with_info_unchecked.3.gz\nusr/share/man/man3/xcb_list_hosts.3.gz\nusr/share/man/man3/xcb_list_hosts_hosts_iterator.3.gz\nusr/share/man/man3/xcb_list_hosts_hosts_length.3.gz\nusr/share/man/man3/xcb_list_hosts_reply.3.gz\nusr/share/man/man3/xcb_list_hosts_unchecked.3.gz\nusr/share/man/man3/xcb_list_installed_colormaps.3.gz\nusr/share/man/man3/xcb_list_installed_colormaps_cmaps.3.gz\nusr/share/man/man3/xcb_list_installed_colormaps_cmaps_end.3.gz\nusr/share/man/man3/xcb_list_installed_colormaps_cmaps_length.3.gz\nusr/share/man/man3/xcb_list_installed_colormaps_reply.3.gz\nusr/share/man/man3/xcb_list_installed_colormaps_unchecked.3.gz\nusr/share/man/man3/xcb_list_properties.3.gz\nusr/share/man/man3/xcb_list_properties_atoms.3.gz\nusr/share/man/man3/xcb_list_properties_atoms_end.3.gz\nusr/share/man/man3/xcb_list_properties_atoms_length.3.gz\nusr/share/man/man3/xcb_list_properties_reply.3.gz\nusr/share/man/man3/xcb_list_properties_unchecked.3.gz\nusr/share/man/man3/xcb_lookup_color.3.gz\nusr/share/man/man3/xcb_lookup_color_reply.3.gz\nusr/share/man/man3/xcb_lookup_color_unchecked.3.gz\nusr/share/man/man3/xcb_map_notify_event_t.3.gz\nusr/share/man/man3/xcb_map_request_event_t.3.gz\nusr/share/man/man3/xcb_map_subwindows.3.gz\nusr/share/man/man3/xcb_map_subwindows_checked.3.gz\nusr/share/man/man3/xcb_map_window.3.gz\nusr/share/man/man3/xcb_map_window_checked.3.gz\nusr/share/man/man3/xcb_mapping_notify_event_t.3.gz\nusr/share/man/man3/xcb_motion_notify_event_t.3.gz\nusr/share/man/man3/xcb_no_exposure_event_t.3.gz\nusr/share/man/man3/xcb_no_operation.3.gz\nusr/share/man/man3/xcb_no_operation_checked.3.gz\nusr/share/man/man3/xcb_open_font.3.gz\nusr/share/man/man3/xcb_open_font_checked.3.gz\nusr/share/man/man3/xcb_poly_arc.3.gz\nusr/share/man/man3/xcb_poly_arc_checked.3.gz\nusr/share/man/man3/xcb_poly_fill_arc.3.gz\nusr/share/man/man3/xcb_poly_fill_arc_checked.3.gz\nusr/share/man/man3/xcb_poly_fill_rectangle.3.gz\nusr/share/man/man3/xcb_poly_fill_rectangle_checked.3.gz\nusr/share/man/man3/xcb_poly_line.3.gz\nusr/share/man/man3/xcb_poly_line_checked.3.gz\nusr/share/man/man3/xcb_poly_point.3.gz\nusr/share/man/man3/xcb_poly_point_checked.3.gz\nusr/share/man/man3/xcb_poly_rectangle.3.gz\nusr/share/man/man3/xcb_poly_rectangle_checked.3.gz\nusr/share/man/man3/xcb_poly_segment.3.gz\nusr/share/man/man3/xcb_poly_segment_checked.3.gz\nusr/share/man/man3/xcb_poly_text_16.3.gz\nusr/share/man/man3/xcb_poly_text_16_checked.3.gz\nusr/share/man/man3/xcb_poly_text_8.3.gz\nusr/share/man/man3/xcb_poly_text_8_checked.3.gz\nusr/share/man/man3/xcb_present_complete_notify_event_t.3.gz\nusr/share/man/man3/xcb_present_configure_notify_event_t.3.gz\nusr/share/man/man3/xcb_present_generic_event_t.3.gz\nusr/share/man/man3/xcb_present_idle_notify_event_t.3.gz\nusr/share/man/man3/xcb_present_notify_msc.3.gz\nusr/share/man/man3/xcb_present_notify_msc_checked.3.gz\nusr/share/man/man3/xcb_present_pixmap.3.gz\nusr/share/man/man3/xcb_present_pixmap_checked.3.gz\nusr/share/man/man3/xcb_present_query_capabilities.3.gz\nusr/share/man/man3/xcb_present_query_capabilities_reply.3.gz\nusr/share/man/man3/xcb_present_query_capabilities_unchecked.3.gz\nusr/share/man/man3/xcb_present_query_version.3.gz\nusr/share/man/man3/xcb_present_query_version_reply.3.gz\nusr/share/man/man3/xcb_present_query_version_unchecked.3.gz\nusr/share/man/man3/xcb_present_redirect_notify_event_t.3.gz\nusr/share/man/man3/xcb_present_select_input.3.gz\nusr/share/man/man3/xcb_present_select_input_checked.3.gz\nusr/share/man/man3/xcb_property_notify_event_t.3.gz\nusr/share/man/man3/xcb_put_image.3.gz\nusr/share/man/man3/xcb_put_image_checked.3.gz\nusr/share/man/man3/xcb_query_best_size.3.gz\nusr/share/man/man3/xcb_query_best_size_reply.3.gz\nusr/share/man/man3/xcb_query_best_size_unchecked.3.gz\nusr/share/man/man3/xcb_query_colors.3.gz\nusr/share/man/man3/xcb_query_colors_colors.3.gz\nusr/share/man/man3/xcb_query_colors_colors_iterator.3.gz\nusr/share/man/man3/xcb_query_colors_colors_length.3.gz\nusr/share/man/man3/xcb_query_colors_reply.3.gz\nusr/share/man/man3/xcb_query_colors_unchecked.3.gz\nusr/share/man/man3/xcb_query_extension.3.gz\nusr/share/man/man3/xcb_query_extension_reply.3.gz\nusr/share/man/man3/xcb_query_extension_unchecked.3.gz\nusr/share/man/man3/xcb_query_font.3.gz\nusr/share/man/man3/xcb_query_font_char_infos.3.gz\nusr/share/man/man3/xcb_query_font_char_infos_iterator.3.gz\nusr/share/man/man3/xcb_query_font_char_infos_length.3.gz\nusr/share/man/man3/xcb_query_font_properties.3.gz\nusr/share/man/man3/xcb_query_font_properties_iterator.3.gz\nusr/share/man/man3/xcb_query_font_properties_length.3.gz\nusr/share/man/man3/xcb_query_font_reply.3.gz\nusr/share/man/man3/xcb_query_font_unchecked.3.gz\nusr/share/man/man3/xcb_query_keymap.3.gz\nusr/share/man/man3/xcb_query_keymap_reply.3.gz\nusr/share/man/man3/xcb_query_keymap_unchecked.3.gz\nusr/share/man/man3/xcb_query_pointer.3.gz\nusr/share/man/man3/xcb_query_pointer_reply.3.gz\nusr/share/man/man3/xcb_query_pointer_unchecked.3.gz\nusr/share/man/man3/xcb_query_text_extents.3.gz\nusr/share/man/man3/xcb_query_text_extents_reply.3.gz\nusr/share/man/man3/xcb_query_text_extents_unchecked.3.gz\nusr/share/man/man3/xcb_query_tree.3.gz\nusr/share/man/man3/xcb_query_tree_children.3.gz\nusr/share/man/man3/xcb_query_tree_children_end.3.gz\nusr/share/man/man3/xcb_query_tree_children_length.3.gz\nusr/share/man/man3/xcb_query_tree_reply.3.gz\nusr/share/man/man3/xcb_query_tree_unchecked.3.gz\nusr/share/man/man3/xcb_randr_add_output_mode.3.gz\nusr/share/man/man3/xcb_randr_add_output_mode_checked.3.gz\nusr/share/man/man3/xcb_randr_change_output_property.3.gz\nusr/share/man/man3/xcb_randr_change_output_property_checked.3.gz\nusr/share/man/man3/xcb_randr_change_provider_property.3.gz\nusr/share/man/man3/xcb_randr_change_provider_property_checked.3.gz\nusr/share/man/man3/xcb_randr_configure_output_property.3.gz\nusr/share/man/man3/xcb_randr_configure_output_property_checked.3.gz\nusr/share/man/man3/xcb_randr_configure_provider_property.3.gz\nusr/share/man/man3/xcb_randr_configure_provider_property_checked.3.gz\nusr/share/man/man3/xcb_randr_create_lease.3.gz\nusr/share/man/man3/xcb_randr_create_lease_reply.3.gz\nusr/share/man/man3/xcb_randr_create_lease_unchecked.3.gz\nusr/share/man/man3/xcb_randr_create_mode.3.gz\nusr/share/man/man3/xcb_randr_create_mode_reply.3.gz\nusr/share/man/man3/xcb_randr_create_mode_unchecked.3.gz\nusr/share/man/man3/xcb_randr_delete_monitor.3.gz\nusr/share/man/man3/xcb_randr_delete_monitor_checked.3.gz\nusr/share/man/man3/xcb_randr_delete_output_mode.3.gz\nusr/share/man/man3/xcb_randr_delete_output_mode_checked.3.gz\nusr/share/man/man3/xcb_randr_delete_output_property.3.gz\nusr/share/man/man3/xcb_randr_delete_output_property_checked.3.gz\nusr/share/man/man3/xcb_randr_delete_provider_property.3.gz\nusr/share/man/man3/xcb_randr_delete_provider_property_checked.3.gz\nusr/share/man/man3/xcb_randr_destroy_mode.3.gz\nusr/share/man/man3/xcb_randr_destroy_mode_checked.3.gz\nusr/share/man/man3/xcb_randr_free_lease.3.gz\nusr/share/man/man3/xcb_randr_free_lease_checked.3.gz\nusr/share/man/man3/xcb_randr_get_crtc_gamma.3.gz\nusr/share/man/man3/xcb_randr_get_crtc_gamma_blue.3.gz\nusr/share/man/man3/xcb_randr_get_crtc_gamma_blue_end.3.gz\nusr/share/man/man3/xcb_randr_get_crtc_gamma_blue_length.3.gz\nusr/share/man/man3/xcb_randr_get_crtc_gamma_green.3.gz\nusr/share/man/man3/xcb_randr_get_crtc_gamma_green_end.3.gz\nusr/share/man/man3/xcb_randr_get_crtc_gamma_green_length.3.gz\nusr/share/man/man3/xcb_randr_get_crtc_gamma_red.3.gz\nusr/share/man/man3/xcb_randr_get_crtc_gamma_red_end.3.gz\nusr/share/man/man3/xcb_randr_get_crtc_gamma_red_length.3.gz\nusr/share/man/man3/xcb_randr_get_crtc_gamma_reply.3.gz\nusr/share/man/man3/xcb_randr_get_crtc_gamma_size.3.gz\nusr/share/man/man3/xcb_randr_get_crtc_gamma_size_reply.3.gz\nusr/share/man/man3/xcb_randr_get_crtc_gamma_size_unchecked.3.gz\nusr/share/man/man3/xcb_randr_get_crtc_gamma_unchecked.3.gz\nusr/share/man/man3/xcb_randr_get_crtc_info.3.gz\nusr/share/man/man3/xcb_randr_get_crtc_info_outputs.3.gz\nusr/share/man/man3/xcb_randr_get_crtc_info_outputs_end.3.gz\nusr/share/man/man3/xcb_randr_get_crtc_info_outputs_length.3.gz\nusr/share/man/man3/xcb_randr_get_crtc_info_possible.3.gz\nusr/share/man/man3/xcb_randr_get_crtc_info_possible_end.3.gz\nusr/share/man/man3/xcb_randr_get_crtc_info_possible_length.3.gz\nusr/share/man/man3/xcb_randr_get_crtc_info_reply.3.gz\nusr/share/man/man3/xcb_randr_get_crtc_info_unchecked.3.gz\nusr/share/man/man3/xcb_randr_get_crtc_transform.3.gz\nusr/share/man/man3/xcb_randr_get_crtc_transform_current_filter_name.3.gz\nusr/share/man/man3/xcb_randr_get_crtc_transform_current_filter_name_end.3.gz\nusr/share/man/man3/xcb_randr_get_crtc_transform_current_filter_name_length.3.gz\nusr/share/man/man3/xcb_randr_get_crtc_transform_current_params.3.gz\nusr/share/man/man3/xcb_randr_get_crtc_transform_current_params_end.3.gz\nusr/share/man/man3/xcb_randr_get_crtc_transform_current_params_length.3.gz\nusr/share/man/man3/xcb_randr_get_crtc_transform_pad_3.3.gz\nusr/share/man/man3/xcb_randr_get_crtc_transform_pad_4.3.gz\nusr/share/man/man3/xcb_randr_get_crtc_transform_pending_filter_name.3.gz\nusr/share/man/man3/xcb_randr_get_crtc_transform_pending_filter_name_end.3.gz\nusr/share/man/man3/xcb_randr_get_crtc_transform_pending_filter_name_length.3.gz\nusr/share/man/man3/xcb_randr_get_crtc_transform_pending_params.3.gz\nusr/share/man/man3/xcb_randr_get_crtc_transform_pending_params_end.3.gz\nusr/share/man/man3/xcb_randr_get_crtc_transform_pending_params_length.3.gz\nusr/share/man/man3/xcb_randr_get_crtc_transform_reply.3.gz\nusr/share/man/man3/xcb_randr_get_crtc_transform_unchecked.3.gz\nusr/share/man/man3/xcb_randr_get_monitors.3.gz\nusr/share/man/man3/xcb_randr_get_monitors_monitors_iterator.3.gz\nusr/share/man/man3/xcb_randr_get_monitors_monitors_length.3.gz\nusr/share/man/man3/xcb_randr_get_monitors_reply.3.gz\nusr/share/man/man3/xcb_randr_get_monitors_unchecked.3.gz\nusr/share/man/man3/xcb_randr_get_output_info.3.gz\nusr/share/man/man3/xcb_randr_get_output_info_clones.3.gz\nusr/share/man/man3/xcb_randr_get_output_info_clones_end.3.gz\nusr/share/man/man3/xcb_randr_get_output_info_clones_length.3.gz\nusr/share/man/man3/xcb_randr_get_output_info_crtcs.3.gz\nusr/share/man/man3/xcb_randr_get_output_info_crtcs_end.3.gz\nusr/share/man/man3/xcb_randr_get_output_info_crtcs_length.3.gz\nusr/share/man/man3/xcb_randr_get_output_info_modes.3.gz\nusr/share/man/man3/xcb_randr_get_output_info_modes_end.3.gz\nusr/share/man/man3/xcb_randr_get_output_info_modes_length.3.gz\nusr/share/man/man3/xcb_randr_get_output_info_name.3.gz\nusr/share/man/man3/xcb_randr_get_output_info_name_end.3.gz\nusr/share/man/man3/xcb_randr_get_output_info_name_length.3.gz\nusr/share/man/man3/xcb_randr_get_output_info_reply.3.gz\nusr/share/man/man3/xcb_randr_get_output_info_unchecked.3.gz\nusr/share/man/man3/xcb_randr_get_output_primary.3.gz\nusr/share/man/man3/xcb_randr_get_output_primary_reply.3.gz\nusr/share/man/man3/xcb_randr_get_output_primary_unchecked.3.gz\nusr/share/man/man3/xcb_randr_get_output_property.3.gz\nusr/share/man/man3/xcb_randr_get_output_property_data.3.gz\nusr/share/man/man3/xcb_randr_get_output_property_data_end.3.gz\nusr/share/man/man3/xcb_randr_get_output_property_data_length.3.gz\nusr/share/man/man3/xcb_randr_get_output_property_reply.3.gz\nusr/share/man/man3/xcb_randr_get_output_property_unchecked.3.gz\nusr/share/man/man3/xcb_randr_get_panning.3.gz\nusr/share/man/man3/xcb_randr_get_panning_reply.3.gz\nusr/share/man/man3/xcb_randr_get_panning_unchecked.3.gz\nusr/share/man/man3/xcb_randr_get_provider_info.3.gz\nusr/share/man/man3/xcb_randr_get_provider_info_associated_capability.3.gz\nusr/share/man/man3/xcb_randr_get_provider_info_associated_capability_end.3.gz\nusr/share/man/man3/xcb_randr_get_provider_info_associated_capability_length.3.gz\nusr/share/man/man3/xcb_randr_get_provider_info_associated_providers.3.gz\nusr/share/man/man3/xcb_randr_get_provider_info_associated_providers_end.3.gz\nusr/share/man/man3/xcb_randr_get_provider_info_associated_providers_length.3.gz\nusr/share/man/man3/xcb_randr_get_provider_info_crtcs.3.gz\nusr/share/man/man3/xcb_randr_get_provider_info_crtcs_end.3.gz\nusr/share/man/man3/xcb_randr_get_provider_info_crtcs_length.3.gz\nusr/share/man/man3/xcb_randr_get_provider_info_name.3.gz\nusr/share/man/man3/xcb_randr_get_provider_info_name_end.3.gz\nusr/share/man/man3/xcb_randr_get_provider_info_name_length.3.gz\nusr/share/man/man3/xcb_randr_get_provider_info_outputs.3.gz\nusr/share/man/man3/xcb_randr_get_provider_info_outputs_end.3.gz\nusr/share/man/man3/xcb_randr_get_provider_info_outputs_length.3.gz\nusr/share/man/man3/xcb_randr_get_provider_info_reply.3.gz\nusr/share/man/man3/xcb_randr_get_provider_info_unchecked.3.gz\nusr/share/man/man3/xcb_randr_get_provider_property.3.gz\nusr/share/man/man3/xcb_randr_get_provider_property_data.3.gz\nusr/share/man/man3/xcb_randr_get_provider_property_data_end.3.gz\nusr/share/man/man3/xcb_randr_get_provider_property_data_length.3.gz\nusr/share/man/man3/xcb_randr_get_provider_property_reply.3.gz\nusr/share/man/man3/xcb_randr_get_provider_property_unchecked.3.gz\nusr/share/man/man3/xcb_randr_get_providers.3.gz\nusr/share/man/man3/xcb_randr_get_providers_providers.3.gz\nusr/share/man/man3/xcb_randr_get_providers_providers_end.3.gz\nusr/share/man/man3/xcb_randr_get_providers_providers_length.3.gz\nusr/share/man/man3/xcb_randr_get_providers_reply.3.gz\nusr/share/man/man3/xcb_randr_get_providers_unchecked.3.gz\nusr/share/man/man3/xcb_randr_get_screen_info.3.gz\nusr/share/man/man3/xcb_randr_get_screen_info_rates_iterator.3.gz\nusr/share/man/man3/xcb_randr_get_screen_info_rates_length.3.gz\nusr/share/man/man3/xcb_randr_get_screen_info_reply.3.gz\nusr/share/man/man3/xcb_randr_get_screen_info_sizes.3.gz\nusr/share/man/man3/xcb_randr_get_screen_info_sizes_iterator.3.gz\nusr/share/man/man3/xcb_randr_get_screen_info_sizes_length.3.gz\nusr/share/man/man3/xcb_randr_get_screen_info_unchecked.3.gz\nusr/share/man/man3/xcb_randr_get_screen_resources.3.gz\nusr/share/man/man3/xcb_randr_get_screen_resources_crtcs.3.gz\nusr/share/man/man3/xcb_randr_get_screen_resources_crtcs_end.3.gz\nusr/share/man/man3/xcb_randr_get_screen_resources_crtcs_length.3.gz\nusr/share/man/man3/xcb_randr_get_screen_resources_current.3.gz\nusr/share/man/man3/xcb_randr_get_screen_resources_current_crtcs.3.gz\nusr/share/man/man3/xcb_randr_get_screen_resources_current_crtcs_end.3.gz\nusr/share/man/man3/xcb_randr_get_screen_resources_current_crtcs_length.3.gz\nusr/share/man/man3/xcb_randr_get_screen_resources_current_modes.3.gz\nusr/share/man/man3/xcb_randr_get_screen_resources_current_modes_iterator.3.gz\nusr/share/man/man3/xcb_randr_get_screen_resources_current_modes_length.3.gz\nusr/share/man/man3/xcb_randr_get_screen_resources_current_names.3.gz\nusr/share/man/man3/xcb_randr_get_screen_resources_current_names_end.3.gz\nusr/share/man/man3/xcb_randr_get_screen_resources_current_names_length.3.gz\nusr/share/man/man3/xcb_randr_get_screen_resources_current_outputs.3.gz\nusr/share/man/man3/xcb_randr_get_screen_resources_current_outputs_end.3.gz\nusr/share/man/man3/xcb_randr_get_screen_resources_current_outputs_length.3.gz\nusr/share/man/man3/xcb_randr_get_screen_resources_current_reply.3.gz\nusr/share/man/man3/xcb_randr_get_screen_resources_current_unchecked.3.gz\nusr/share/man/man3/xcb_randr_get_screen_resources_modes.3.gz\nusr/share/man/man3/xcb_randr_get_screen_resources_modes_iterator.3.gz\nusr/share/man/man3/xcb_randr_get_screen_resources_modes_length.3.gz\nusr/share/man/man3/xcb_randr_get_screen_resources_names.3.gz\nusr/share/man/man3/xcb_randr_get_screen_resources_names_end.3.gz\nusr/share/man/man3/xcb_randr_get_screen_resources_names_length.3.gz\nusr/share/man/man3/xcb_randr_get_screen_resources_outputs.3.gz\nusr/share/man/man3/xcb_randr_get_screen_resources_outputs_end.3.gz\nusr/share/man/man3/xcb_randr_get_screen_resources_outputs_length.3.gz\nusr/share/man/man3/xcb_randr_get_screen_resources_reply.3.gz\nusr/share/man/man3/xcb_randr_get_screen_resources_unchecked.3.gz\nusr/share/man/man3/xcb_randr_get_screen_size_range.3.gz\nusr/share/man/man3/xcb_randr_get_screen_size_range_reply.3.gz\nusr/share/man/man3/xcb_randr_get_screen_size_range_unchecked.3.gz\nusr/share/man/man3/xcb_randr_list_output_properties.3.gz\nusr/share/man/man3/xcb_randr_list_output_properties_atoms.3.gz\nusr/share/man/man3/xcb_randr_list_output_properties_atoms_end.3.gz\nusr/share/man/man3/xcb_randr_list_output_properties_atoms_length.3.gz\nusr/share/man/man3/xcb_randr_list_output_properties_reply.3.gz\nusr/share/man/man3/xcb_randr_list_output_properties_unchecked.3.gz\nusr/share/man/man3/xcb_randr_list_provider_properties.3.gz\nusr/share/man/man3/xcb_randr_list_provider_properties_atoms.3.gz\nusr/share/man/man3/xcb_randr_list_provider_properties_atoms_end.3.gz\nusr/share/man/man3/xcb_randr_list_provider_properties_atoms_length.3.gz\nusr/share/man/man3/xcb_randr_list_provider_properties_reply.3.gz\nusr/share/man/man3/xcb_randr_list_provider_properties_unchecked.3.gz\nusr/share/man/man3/xcb_randr_notify_event_t.3.gz\nusr/share/man/man3/xcb_randr_query_output_property.3.gz\nusr/share/man/man3/xcb_randr_query_output_property_reply.3.gz\nusr/share/man/man3/xcb_randr_query_output_property_unchecked.3.gz\nusr/share/man/man3/xcb_randr_query_output_property_valid_values.3.gz\nusr/share/man/man3/xcb_randr_query_output_property_valid_values_end.3.gz\nusr/share/man/man3/xcb_randr_query_output_property_valid_values_length.3.gz\nusr/share/man/man3/xcb_randr_query_provider_property.3.gz\nusr/share/man/man3/xcb_randr_query_provider_property_reply.3.gz\nusr/share/man/man3/xcb_randr_query_provider_property_unchecked.3.gz\nusr/share/man/man3/xcb_randr_query_provider_property_valid_values.3.gz\nusr/share/man/man3/xcb_randr_query_provider_property_valid_values_end.3.gz\nusr/share/man/man3/xcb_randr_query_provider_property_valid_values_length.3.gz\nusr/share/man/man3/xcb_randr_query_version.3.gz\nusr/share/man/man3/xcb_randr_query_version_reply.3.gz\nusr/share/man/man3/xcb_randr_query_version_unchecked.3.gz\nusr/share/man/man3/xcb_randr_screen_change_notify_event_t.3.gz\nusr/share/man/man3/xcb_randr_select_input.3.gz\nusr/share/man/man3/xcb_randr_select_input_checked.3.gz\nusr/share/man/man3/xcb_randr_set_crtc_config.3.gz\nusr/share/man/man3/xcb_randr_set_crtc_config_reply.3.gz\nusr/share/man/man3/xcb_randr_set_crtc_config_unchecked.3.gz\nusr/share/man/man3/xcb_randr_set_crtc_gamma.3.gz\nusr/share/man/man3/xcb_randr_set_crtc_gamma_checked.3.gz\nusr/share/man/man3/xcb_randr_set_crtc_transform.3.gz\nusr/share/man/man3/xcb_randr_set_crtc_transform_checked.3.gz\nusr/share/man/man3/xcb_randr_set_monitor.3.gz\nusr/share/man/man3/xcb_randr_set_monitor_checked.3.gz\nusr/share/man/man3/xcb_randr_set_output_primary.3.gz\nusr/share/man/man3/xcb_randr_set_output_primary_checked.3.gz\nusr/share/man/man3/xcb_randr_set_panning.3.gz\nusr/share/man/man3/xcb_randr_set_panning_reply.3.gz\nusr/share/man/man3/xcb_randr_set_panning_unchecked.3.gz\nusr/share/man/man3/xcb_randr_set_provider_offload_sink.3.gz\nusr/share/man/man3/xcb_randr_set_provider_offload_sink_checked.3.gz\nusr/share/man/man3/xcb_randr_set_provider_output_source.3.gz\nusr/share/man/man3/xcb_randr_set_provider_output_source_checked.3.gz\nusr/share/man/man3/xcb_randr_set_screen_config.3.gz\nusr/share/man/man3/xcb_randr_set_screen_config_reply.3.gz\nusr/share/man/man3/xcb_randr_set_screen_config_unchecked.3.gz\nusr/share/man/man3/xcb_randr_set_screen_size.3.gz\nusr/share/man/man3/xcb_randr_set_screen_size_checked.3.gz\nusr/share/man/man3/xcb_recolor_cursor.3.gz\nusr/share/man/man3/xcb_recolor_cursor_checked.3.gz\nusr/share/man/man3/xcb_record_create_context.3.gz\nusr/share/man/man3/xcb_record_create_context_checked.3.gz\nusr/share/man/man3/xcb_record_disable_context.3.gz\nusr/share/man/man3/xcb_record_disable_context_checked.3.gz\nusr/share/man/man3/xcb_record_enable_context.3.gz\nusr/share/man/man3/xcb_record_enable_context_data.3.gz\nusr/share/man/man3/xcb_record_enable_context_data_end.3.gz\nusr/share/man/man3/xcb_record_enable_context_data_length.3.gz\nusr/share/man/man3/xcb_record_enable_context_reply.3.gz\nusr/share/man/man3/xcb_record_enable_context_unchecked.3.gz\nusr/share/man/man3/xcb_record_free_context.3.gz\nusr/share/man/man3/xcb_record_free_context_checked.3.gz\nusr/share/man/man3/xcb_record_get_context.3.gz\nusr/share/man/man3/xcb_record_get_context_intercepted_clients_iterator.3.gz\nusr/share/man/man3/xcb_record_get_context_intercepted_clients_length.3.gz\nusr/share/man/man3/xcb_record_get_context_reply.3.gz\nusr/share/man/man3/xcb_record_get_context_unchecked.3.gz\nusr/share/man/man3/xcb_record_query_version.3.gz\nusr/share/man/man3/xcb_record_query_version_reply.3.gz\nusr/share/man/man3/xcb_record_query_version_unchecked.3.gz\nusr/share/man/man3/xcb_record_register_clients.3.gz\nusr/share/man/man3/xcb_record_register_clients_checked.3.gz\nusr/share/man/man3/xcb_record_unregister_clients.3.gz\nusr/share/man/man3/xcb_record_unregister_clients_checked.3.gz\nusr/share/man/man3/xcb_render_add_glyphs.3.gz\nusr/share/man/man3/xcb_render_add_glyphs_checked.3.gz\nusr/share/man/man3/xcb_render_add_traps.3.gz\nusr/share/man/man3/xcb_render_add_traps_checked.3.gz\nusr/share/man/man3/xcb_render_change_picture.3.gz\nusr/share/man/man3/xcb_render_change_picture_checked.3.gz\nusr/share/man/man3/xcb_render_composite.3.gz\nusr/share/man/man3/xcb_render_composite_checked.3.gz\nusr/share/man/man3/xcb_render_composite_glyphs_16.3.gz\nusr/share/man/man3/xcb_render_composite_glyphs_16_checked.3.gz\nusr/share/man/man3/xcb_render_composite_glyphs_32.3.gz\nusr/share/man/man3/xcb_render_composite_glyphs_32_checked.3.gz\nusr/share/man/man3/xcb_render_composite_glyphs_8.3.gz\nusr/share/man/man3/xcb_render_composite_glyphs_8_checked.3.gz\nusr/share/man/man3/xcb_render_create_anim_cursor.3.gz\nusr/share/man/man3/xcb_render_create_anim_cursor_checked.3.gz\nusr/share/man/man3/xcb_render_create_conical_gradient.3.gz\nusr/share/man/man3/xcb_render_create_conical_gradient_checked.3.gz\nusr/share/man/man3/xcb_render_create_cursor.3.gz\nusr/share/man/man3/xcb_render_create_cursor_checked.3.gz\nusr/share/man/man3/xcb_render_create_glyph_set.3.gz\nusr/share/man/man3/xcb_render_create_glyph_set_checked.3.gz\nusr/share/man/man3/xcb_render_create_linear_gradient.3.gz\nusr/share/man/man3/xcb_render_create_linear_gradient_checked.3.gz\nusr/share/man/man3/xcb_render_create_picture.3.gz\nusr/share/man/man3/xcb_render_create_picture_checked.3.gz\nusr/share/man/man3/xcb_render_create_radial_gradient.3.gz\nusr/share/man/man3/xcb_render_create_radial_gradient_checked.3.gz\nusr/share/man/man3/xcb_render_create_solid_fill.3.gz\nusr/share/man/man3/xcb_render_create_solid_fill_checked.3.gz\nusr/share/man/man3/xcb_render_fill_rectangles.3.gz\nusr/share/man/man3/xcb_render_fill_rectangles_checked.3.gz\nusr/share/man/man3/xcb_render_free_glyph_set.3.gz\nusr/share/man/man3/xcb_render_free_glyph_set_checked.3.gz\nusr/share/man/man3/xcb_render_free_glyphs.3.gz\nusr/share/man/man3/xcb_render_free_glyphs_checked.3.gz\nusr/share/man/man3/xcb_render_free_picture.3.gz\nusr/share/man/man3/xcb_render_free_picture_checked.3.gz\nusr/share/man/man3/xcb_render_query_filters.3.gz\nusr/share/man/man3/xcb_render_query_filters_aliases.3.gz\nusr/share/man/man3/xcb_render_query_filters_aliases_end.3.gz\nusr/share/man/man3/xcb_render_query_filters_aliases_length.3.gz\nusr/share/man/man3/xcb_render_query_filters_filters_iterator.3.gz\nusr/share/man/man3/xcb_render_query_filters_filters_length.3.gz\nusr/share/man/man3/xcb_render_query_filters_reply.3.gz\nusr/share/man/man3/xcb_render_query_filters_unchecked.3.gz\nusr/share/man/man3/xcb_render_query_pict_formats.3.gz\nusr/share/man/man3/xcb_render_query_pict_formats_formats.3.gz\nusr/share/man/man3/xcb_render_query_pict_formats_formats_iterator.3.gz\nusr/share/man/man3/xcb_render_query_pict_formats_formats_length.3.gz\nusr/share/man/man3/xcb_render_query_pict_formats_reply.3.gz\nusr/share/man/man3/xcb_render_query_pict_formats_screens_iterator.3.gz\nusr/share/man/man3/xcb_render_query_pict_formats_screens_length.3.gz\nusr/share/man/man3/xcb_render_query_pict_formats_subpixels.3.gz\nusr/share/man/man3/xcb_render_query_pict_formats_subpixels_end.3.gz\nusr/share/man/man3/xcb_render_query_pict_formats_subpixels_length.3.gz\nusr/share/man/man3/xcb_render_query_pict_formats_unchecked.3.gz\nusr/share/man/man3/xcb_render_query_pict_index_values.3.gz\nusr/share/man/man3/xcb_render_query_pict_index_values_reply.3.gz\nusr/share/man/man3/xcb_render_query_pict_index_values_unchecked.3.gz\nusr/share/man/man3/xcb_render_query_pict_index_values_values.3.gz\nusr/share/man/man3/xcb_render_query_pict_index_values_values_iterator.3.gz\nusr/share/man/man3/xcb_render_query_pict_index_values_values_length.3.gz\nusr/share/man/man3/xcb_render_query_version.3.gz\nusr/share/man/man3/xcb_render_query_version_reply.3.gz\nusr/share/man/man3/xcb_render_query_version_unchecked.3.gz\nusr/share/man/man3/xcb_render_reference_glyph_set.3.gz\nusr/share/man/man3/xcb_render_reference_glyph_set_checked.3.gz\nusr/share/man/man3/xcb_render_set_picture_clip_rectangles.3.gz\nusr/share/man/man3/xcb_render_set_picture_clip_rectangles_checked.3.gz\nusr/share/man/man3/xcb_render_set_picture_filter.3.gz\nusr/share/man/man3/xcb_render_set_picture_filter_checked.3.gz\nusr/share/man/man3/xcb_render_set_picture_transform.3.gz\nusr/share/man/man3/xcb_render_set_picture_transform_checked.3.gz\nusr/share/man/man3/xcb_render_trapezoids.3.gz\nusr/share/man/man3/xcb_render_trapezoids_checked.3.gz\nusr/share/man/man3/xcb_render_tri_fan.3.gz\nusr/share/man/man3/xcb_render_tri_fan_checked.3.gz\nusr/share/man/man3/xcb_render_tri_strip.3.gz\nusr/share/man/man3/xcb_render_tri_strip_checked.3.gz\nusr/share/man/man3/xcb_render_triangles.3.gz\nusr/share/man/man3/xcb_render_triangles_checked.3.gz\nusr/share/man/man3/xcb_reparent_notify_event_t.3.gz\nusr/share/man/man3/xcb_reparent_window.3.gz\nusr/share/man/man3/xcb_reparent_window_checked.3.gz\nusr/share/man/man3/xcb_res_query_client_ids.3.gz\nusr/share/man/man3/xcb_res_query_client_ids_ids_iterator.3.gz\nusr/share/man/man3/xcb_res_query_client_ids_ids_length.3.gz\nusr/share/man/man3/xcb_res_query_client_ids_reply.3.gz\nusr/share/man/man3/xcb_res_query_client_ids_unchecked.3.gz\nusr/share/man/man3/xcb_res_query_client_pixmap_bytes.3.gz\nusr/share/man/man3/xcb_res_query_client_pixmap_bytes_reply.3.gz\nusr/share/man/man3/xcb_res_query_client_pixmap_bytes_unchecked.3.gz\nusr/share/man/man3/xcb_res_query_client_resources.3.gz\nusr/share/man/man3/xcb_res_query_client_resources_reply.3.gz\nusr/share/man/man3/xcb_res_query_client_resources_types.3.gz\nusr/share/man/man3/xcb_res_query_client_resources_types_iterator.3.gz\nusr/share/man/man3/xcb_res_query_client_resources_types_length.3.gz\nusr/share/man/man3/xcb_res_query_client_resources_unchecked.3.gz\nusr/share/man/man3/xcb_res_query_clients.3.gz\nusr/share/man/man3/xcb_res_query_clients_clients.3.gz\nusr/share/man/man3/xcb_res_query_clients_clients_iterator.3.gz\nusr/share/man/man3/xcb_res_query_clients_clients_length.3.gz\nusr/share/man/man3/xcb_res_query_clients_reply.3.gz\nusr/share/man/man3/xcb_res_query_clients_unchecked.3.gz\nusr/share/man/man3/xcb_res_query_resource_bytes.3.gz\nusr/share/man/man3/xcb_res_query_resource_bytes_reply.3.gz\nusr/share/man/man3/xcb_res_query_resource_bytes_sizes_iterator.3.gz\nusr/share/man/man3/xcb_res_query_resource_bytes_sizes_length.3.gz\nusr/share/man/man3/xcb_res_query_resource_bytes_unchecked.3.gz\nusr/share/man/man3/xcb_res_query_version.3.gz\nusr/share/man/man3/xcb_res_query_version_reply.3.gz\nusr/share/man/man3/xcb_res_query_version_unchecked.3.gz\nusr/share/man/man3/xcb_resize_request_event_t.3.gz\nusr/share/man/man3/xcb_rotate_properties.3.gz\nusr/share/man/man3/xcb_rotate_properties_checked.3.gz\nusr/share/man/man3/xcb_screensaver_notify_event_t.3.gz\nusr/share/man/man3/xcb_screensaver_query_info.3.gz\nusr/share/man/man3/xcb_screensaver_query_info_reply.3.gz\nusr/share/man/man3/xcb_screensaver_query_info_unchecked.3.gz\nusr/share/man/man3/xcb_screensaver_query_version.3.gz\nusr/share/man/man3/xcb_screensaver_query_version_reply.3.gz\nusr/share/man/man3/xcb_screensaver_query_version_unchecked.3.gz\nusr/share/man/man3/xcb_screensaver_select_input.3.gz\nusr/share/man/man3/xcb_screensaver_select_input_checked.3.gz\nusr/share/man/man3/xcb_screensaver_set_attributes.3.gz\nusr/share/man/man3/xcb_screensaver_set_attributes_checked.3.gz\nusr/share/man/man3/xcb_screensaver_suspend.3.gz\nusr/share/man/man3/xcb_screensaver_suspend_checked.3.gz\nusr/share/man/man3/xcb_screensaver_unset_attributes.3.gz\nusr/share/man/man3/xcb_screensaver_unset_attributes_checked.3.gz\nusr/share/man/man3/xcb_selection_clear_event_t.3.gz\nusr/share/man/man3/xcb_selection_notify_event_t.3.gz\nusr/share/man/man3/xcb_selection_request_event_t.3.gz\nusr/share/man/man3/xcb_selinux_get_client_context.3.gz\nusr/share/man/man3/xcb_selinux_get_client_context_context.3.gz\nusr/share/man/man3/xcb_selinux_get_client_context_context_end.3.gz\nusr/share/man/man3/xcb_selinux_get_client_context_context_length.3.gz\nusr/share/man/man3/xcb_selinux_get_client_context_reply.3.gz\nusr/share/man/man3/xcb_selinux_get_client_context_unchecked.3.gz\nusr/share/man/man3/xcb_selinux_get_device_context.3.gz\nusr/share/man/man3/xcb_selinux_get_device_context_context.3.gz\nusr/share/man/man3/xcb_selinux_get_device_context_context_end.3.gz\nusr/share/man/man3/xcb_selinux_get_device_context_context_length.3.gz\nusr/share/man/man3/xcb_selinux_get_device_context_reply.3.gz\nusr/share/man/man3/xcb_selinux_get_device_context_unchecked.3.gz\nusr/share/man/man3/xcb_selinux_get_device_create_context.3.gz\nusr/share/man/man3/xcb_selinux_get_device_create_context_context.3.gz\nusr/share/man/man3/xcb_selinux_get_device_create_context_context_end.3.gz\nusr/share/man/man3/xcb_selinux_get_device_create_context_context_length.3.gz\nusr/share/man/man3/xcb_selinux_get_device_create_context_reply.3.gz\nusr/share/man/man3/xcb_selinux_get_device_create_context_unchecked.3.gz\nusr/share/man/man3/xcb_selinux_get_property_context.3.gz\nusr/share/man/man3/xcb_selinux_get_property_context_context.3.gz\nusr/share/man/man3/xcb_selinux_get_property_context_context_end.3.gz\nusr/share/man/man3/xcb_selinux_get_property_context_context_length.3.gz\nusr/share/man/man3/xcb_selinux_get_property_context_reply.3.gz\nusr/share/man/man3/xcb_selinux_get_property_context_unchecked.3.gz\nusr/share/man/man3/xcb_selinux_get_property_create_context.3.gz\nusr/share/man/man3/xcb_selinux_get_property_create_context_context.3.gz\nusr/share/man/man3/xcb_selinux_get_property_create_context_context_end.3.gz\nusr/share/man/man3/xcb_selinux_get_property_create_context_context_length.3.gz\nusr/share/man/man3/xcb_selinux_get_property_create_context_reply.3.gz\nusr/share/man/man3/xcb_selinux_get_property_create_context_unchecked.3.gz\nusr/share/man/man3/xcb_selinux_get_property_data_context.3.gz\nusr/share/man/man3/xcb_selinux_get_property_data_context_context.3.gz\nusr/share/man/man3/xcb_selinux_get_property_data_context_context_end.3.gz\nusr/share/man/man3/xcb_selinux_get_property_data_context_context_length.3.gz\nusr/share/man/man3/xcb_selinux_get_property_data_context_reply.3.gz\nusr/share/man/man3/xcb_selinux_get_property_data_context_unchecked.3.gz\nusr/share/man/man3/xcb_selinux_get_property_use_context.3.gz\nusr/share/man/man3/xcb_selinux_get_property_use_context_context.3.gz\nusr/share/man/man3/xcb_selinux_get_property_use_context_context_end.3.gz\nusr/share/man/man3/xcb_selinux_get_property_use_context_context_length.3.gz\nusr/share/man/man3/xcb_selinux_get_property_use_context_reply.3.gz\nusr/share/man/man3/xcb_selinux_get_property_use_context_unchecked.3.gz\nusr/share/man/man3/xcb_selinux_get_selection_context.3.gz\nusr/share/man/man3/xcb_selinux_get_selection_context_context.3.gz\nusr/share/man/man3/xcb_selinux_get_selection_context_context_end.3.gz\nusr/share/man/man3/xcb_selinux_get_selection_context_context_length.3.gz\nusr/share/man/man3/xcb_selinux_get_selection_context_reply.3.gz\nusr/share/man/man3/xcb_selinux_get_selection_context_unchecked.3.gz\nusr/share/man/man3/xcb_selinux_get_selection_create_context.3.gz\nusr/share/man/man3/xcb_selinux_get_selection_create_context_context.3.gz\nusr/share/man/man3/xcb_selinux_get_selection_create_context_context_end.3.gz\nusr/share/man/man3/xcb_selinux_get_selection_create_context_context_length.3.gz\nusr/share/man/man3/xcb_selinux_get_selection_create_context_reply.3.gz\nusr/share/man/man3/xcb_selinux_get_selection_create_context_unchecked.3.gz\nusr/share/man/man3/xcb_selinux_get_selection_data_context.3.gz\nusr/share/man/man3/xcb_selinux_get_selection_data_context_context.3.gz\nusr/share/man/man3/xcb_selinux_get_selection_data_context_context_end.3.gz\nusr/share/man/man3/xcb_selinux_get_selection_data_context_context_length.3.gz\nusr/share/man/man3/xcb_selinux_get_selection_data_context_reply.3.gz\nusr/share/man/man3/xcb_selinux_get_selection_data_context_unchecked.3.gz\nusr/share/man/man3/xcb_selinux_get_selection_use_context.3.gz\nusr/share/man/man3/xcb_selinux_get_selection_use_context_context.3.gz\nusr/share/man/man3/xcb_selinux_get_selection_use_context_context_end.3.gz\nusr/share/man/man3/xcb_selinux_get_selection_use_context_context_length.3.gz\nusr/share/man/man3/xcb_selinux_get_selection_use_context_reply.3.gz\nusr/share/man/man3/xcb_selinux_get_selection_use_context_unchecked.3.gz\nusr/share/man/man3/xcb_selinux_get_window_context.3.gz\nusr/share/man/man3/xcb_selinux_get_window_context_context.3.gz\nusr/share/man/man3/xcb_selinux_get_window_context_context_end.3.gz\nusr/share/man/man3/xcb_selinux_get_window_context_context_length.3.gz\nusr/share/man/man3/xcb_selinux_get_window_context_reply.3.gz\nusr/share/man/man3/xcb_selinux_get_window_context_unchecked.3.gz\nusr/share/man/man3/xcb_selinux_get_window_create_context.3.gz\nusr/share/man/man3/xcb_selinux_get_window_create_context_context.3.gz\nusr/share/man/man3/xcb_selinux_get_window_create_context_context_end.3.gz\nusr/share/man/man3/xcb_selinux_get_window_create_context_context_length.3.gz\nusr/share/man/man3/xcb_selinux_get_window_create_context_reply.3.gz\nusr/share/man/man3/xcb_selinux_get_window_create_context_unchecked.3.gz\nusr/share/man/man3/xcb_selinux_list_properties.3.gz\nusr/share/man/man3/xcb_selinux_list_properties_properties_iterator.3.gz\nusr/share/man/man3/xcb_selinux_list_properties_properties_length.3.gz\nusr/share/man/man3/xcb_selinux_list_properties_reply.3.gz\nusr/share/man/man3/xcb_selinux_list_properties_unchecked.3.gz\nusr/share/man/man3/xcb_selinux_list_selections.3.gz\nusr/share/man/man3/xcb_selinux_list_selections_reply.3.gz\nusr/share/man/man3/xcb_selinux_list_selections_selections_iterator.3.gz\nusr/share/man/man3/xcb_selinux_list_selections_selections_length.3.gz\nusr/share/man/man3/xcb_selinux_list_selections_unchecked.3.gz\nusr/share/man/man3/xcb_selinux_query_version.3.gz\nusr/share/man/man3/xcb_selinux_query_version_reply.3.gz\nusr/share/man/man3/xcb_selinux_query_version_unchecked.3.gz\nusr/share/man/man3/xcb_selinux_set_device_context.3.gz\nusr/share/man/man3/xcb_selinux_set_device_context_checked.3.gz\nusr/share/man/man3/xcb_selinux_set_device_create_context.3.gz\nusr/share/man/man3/xcb_selinux_set_device_create_context_checked.3.gz\nusr/share/man/man3/xcb_selinux_set_property_create_context.3.gz\nusr/share/man/man3/xcb_selinux_set_property_create_context_checked.3.gz\nusr/share/man/man3/xcb_selinux_set_property_use_context.3.gz\nusr/share/man/man3/xcb_selinux_set_property_use_context_checked.3.gz\nusr/share/man/man3/xcb_selinux_set_selection_create_context.3.gz\nusr/share/man/man3/xcb_selinux_set_selection_create_context_checked.3.gz\nusr/share/man/man3/xcb_selinux_set_selection_use_context.3.gz\nusr/share/man/man3/xcb_selinux_set_selection_use_context_checked.3.gz\nusr/share/man/man3/xcb_selinux_set_window_create_context.3.gz\nusr/share/man/man3/xcb_selinux_set_window_create_context_checked.3.gz\nusr/share/man/man3/xcb_send_event.3.gz\nusr/share/man/man3/xcb_send_event_checked.3.gz\nusr/share/man/man3/xcb_set_access_control.3.gz\nusr/share/man/man3/xcb_set_access_control_checked.3.gz\nusr/share/man/man3/xcb_set_clip_rectangles.3.gz\nusr/share/man/man3/xcb_set_clip_rectangles_checked.3.gz\nusr/share/man/man3/xcb_set_close_down_mode.3.gz\nusr/share/man/man3/xcb_set_close_down_mode_checked.3.gz\nusr/share/man/man3/xcb_set_dashes.3.gz\nusr/share/man/man3/xcb_set_dashes_checked.3.gz\nusr/share/man/man3/xcb_set_font_path.3.gz\nusr/share/man/man3/xcb_set_font_path_checked.3.gz\nusr/share/man/man3/xcb_set_input_focus.3.gz\nusr/share/man/man3/xcb_set_input_focus_checked.3.gz\nusr/share/man/man3/xcb_set_modifier_mapping.3.gz\nusr/share/man/man3/xcb_set_modifier_mapping_reply.3.gz\nusr/share/man/man3/xcb_set_modifier_mapping_unchecked.3.gz\nusr/share/man/man3/xcb_set_pointer_mapping.3.gz\nusr/share/man/man3/xcb_set_pointer_mapping_reply.3.gz\nusr/share/man/man3/xcb_set_pointer_mapping_unchecked.3.gz\nusr/share/man/man3/xcb_set_screen_saver.3.gz\nusr/share/man/man3/xcb_set_screen_saver_checked.3.gz\nusr/share/man/man3/xcb_set_selection_owner.3.gz\nusr/share/man/man3/xcb_set_selection_owner_checked.3.gz\nusr/share/man/man3/xcb_shape_combine.3.gz\nusr/share/man/man3/xcb_shape_combine_checked.3.gz\nusr/share/man/man3/xcb_shape_get_rectangles.3.gz\nusr/share/man/man3/xcb_shape_get_rectangles_rectangles.3.gz\nusr/share/man/man3/xcb_shape_get_rectangles_rectangles_iterator.3.gz\nusr/share/man/man3/xcb_shape_get_rectangles_rectangles_length.3.gz\nusr/share/man/man3/xcb_shape_get_rectangles_reply.3.gz\nusr/share/man/man3/xcb_shape_get_rectangles_unchecked.3.gz\nusr/share/man/man3/xcb_shape_input_selected.3.gz\nusr/share/man/man3/xcb_shape_input_selected_reply.3.gz\nusr/share/man/man3/xcb_shape_input_selected_unchecked.3.gz\nusr/share/man/man3/xcb_shape_mask.3.gz\nusr/share/man/man3/xcb_shape_mask_checked.3.gz\nusr/share/man/man3/xcb_shape_notify_event_t.3.gz\nusr/share/man/man3/xcb_shape_offset.3.gz\nusr/share/man/man3/xcb_shape_offset_checked.3.gz\nusr/share/man/man3/xcb_shape_query_extents.3.gz\nusr/share/man/man3/xcb_shape_query_extents_reply.3.gz\nusr/share/man/man3/xcb_shape_query_extents_unchecked.3.gz\nusr/share/man/man3/xcb_shape_query_version.3.gz\nusr/share/man/man3/xcb_shape_query_version_reply.3.gz\nusr/share/man/man3/xcb_shape_query_version_unchecked.3.gz\nusr/share/man/man3/xcb_shape_rectangles.3.gz\nusr/share/man/man3/xcb_shape_rectangles_checked.3.gz\nusr/share/man/man3/xcb_shape_select_input.3.gz\nusr/share/man/man3/xcb_shape_select_input_checked.3.gz\nusr/share/man/man3/xcb_shm_attach.3.gz\nusr/share/man/man3/xcb_shm_attach_checked.3.gz\nusr/share/man/man3/xcb_shm_attach_fd.3.gz\nusr/share/man/man3/xcb_shm_attach_fd_checked.3.gz\nusr/share/man/man3/xcb_shm_completion_event_t.3.gz\nusr/share/man/man3/xcb_shm_create_pixmap.3.gz\nusr/share/man/man3/xcb_shm_create_pixmap_checked.3.gz\nusr/share/man/man3/xcb_shm_create_segment.3.gz\nusr/share/man/man3/xcb_shm_create_segment_reply.3.gz\nusr/share/man/man3/xcb_shm_create_segment_unchecked.3.gz\nusr/share/man/man3/xcb_shm_detach.3.gz\nusr/share/man/man3/xcb_shm_detach_checked.3.gz\nusr/share/man/man3/xcb_shm_get_image.3.gz\nusr/share/man/man3/xcb_shm_get_image_reply.3.gz\nusr/share/man/man3/xcb_shm_get_image_unchecked.3.gz\nusr/share/man/man3/xcb_shm_put_image.3.gz\nusr/share/man/man3/xcb_shm_put_image_checked.3.gz\nusr/share/man/man3/xcb_shm_query_version.3.gz\nusr/share/man/man3/xcb_shm_query_version_reply.3.gz\nusr/share/man/man3/xcb_shm_query_version_unchecked.3.gz\nusr/share/man/man3/xcb_store_colors.3.gz\nusr/share/man/man3/xcb_store_colors_checked.3.gz\nusr/share/man/man3/xcb_store_named_color.3.gz\nusr/share/man/man3/xcb_store_named_color_checked.3.gz\nusr/share/man/man3/xcb_sync_alarm_notify_event_t.3.gz\nusr/share/man/man3/xcb_sync_await.3.gz\nusr/share/man/man3/xcb_sync_await_checked.3.gz\nusr/share/man/man3/xcb_sync_await_fence.3.gz\nusr/share/man/man3/xcb_sync_await_fence_checked.3.gz\nusr/share/man/man3/xcb_sync_change_alarm.3.gz\nusr/share/man/man3/xcb_sync_change_alarm_checked.3.gz\nusr/share/man/man3/xcb_sync_change_counter.3.gz\nusr/share/man/man3/xcb_sync_change_counter_checked.3.gz\nusr/share/man/man3/xcb_sync_counter_notify_event_t.3.gz\nusr/share/man/man3/xcb_sync_create_alarm.3.gz\nusr/share/man/man3/xcb_sync_create_alarm_checked.3.gz\nusr/share/man/man3/xcb_sync_create_counter.3.gz\nusr/share/man/man3/xcb_sync_create_counter_checked.3.gz\nusr/share/man/man3/xcb_sync_create_fence.3.gz\nusr/share/man/man3/xcb_sync_create_fence_checked.3.gz\nusr/share/man/man3/xcb_sync_destroy_alarm.3.gz\nusr/share/man/man3/xcb_sync_destroy_alarm_checked.3.gz\nusr/share/man/man3/xcb_sync_destroy_counter.3.gz\nusr/share/man/man3/xcb_sync_destroy_counter_checked.3.gz\nusr/share/man/man3/xcb_sync_destroy_fence.3.gz\nusr/share/man/man3/xcb_sync_destroy_fence_checked.3.gz\nusr/share/man/man3/xcb_sync_get_priority.3.gz\nusr/share/man/man3/xcb_sync_get_priority_reply.3.gz\nusr/share/man/man3/xcb_sync_get_priority_unchecked.3.gz\nusr/share/man/man3/xcb_sync_initialize.3.gz\nusr/share/man/man3/xcb_sync_initialize_reply.3.gz\nusr/share/man/man3/xcb_sync_initialize_unchecked.3.gz\nusr/share/man/man3/xcb_sync_list_system_counters.3.gz\nusr/share/man/man3/xcb_sync_list_system_counters_counters_iterator.3.gz\nusr/share/man/man3/xcb_sync_list_system_counters_counters_length.3.gz\nusr/share/man/man3/xcb_sync_list_system_counters_reply.3.gz\nusr/share/man/man3/xcb_sync_list_system_counters_unchecked.3.gz\nusr/share/man/man3/xcb_sync_query_alarm.3.gz\nusr/share/man/man3/xcb_sync_query_alarm_reply.3.gz\nusr/share/man/man3/xcb_sync_query_alarm_unchecked.3.gz\nusr/share/man/man3/xcb_sync_query_counter.3.gz\nusr/share/man/man3/xcb_sync_query_counter_reply.3.gz\nusr/share/man/man3/xcb_sync_query_counter_unchecked.3.gz\nusr/share/man/man3/xcb_sync_query_fence.3.gz\nusr/share/man/man3/xcb_sync_query_fence_reply.3.gz\nusr/share/man/man3/xcb_sync_query_fence_unchecked.3.gz\nusr/share/man/man3/xcb_sync_reset_fence.3.gz\nusr/share/man/man3/xcb_sync_reset_fence_checked.3.gz\nusr/share/man/man3/xcb_sync_set_counter.3.gz\nusr/share/man/man3/xcb_sync_set_counter_checked.3.gz\nusr/share/man/man3/xcb_sync_set_priority.3.gz\nusr/share/man/man3/xcb_sync_set_priority_checked.3.gz\nusr/share/man/man3/xcb_sync_trigger_fence.3.gz\nusr/share/man/man3/xcb_sync_trigger_fence_checked.3.gz\nusr/share/man/man3/xcb_test_compare_cursor.3.gz\nusr/share/man/man3/xcb_test_compare_cursor_reply.3.gz\nusr/share/man/man3/xcb_test_compare_cursor_unchecked.3.gz\nusr/share/man/man3/xcb_test_fake_input.3.gz\nusr/share/man/man3/xcb_test_fake_input_checked.3.gz\nusr/share/man/man3/xcb_test_get_version.3.gz\nusr/share/man/man3/xcb_test_get_version_reply.3.gz\nusr/share/man/man3/xcb_test_get_version_unchecked.3.gz\nusr/share/man/man3/xcb_test_grab_control.3.gz\nusr/share/man/man3/xcb_test_grab_control_checked.3.gz\nusr/share/man/man3/xcb_translate_coordinates.3.gz\nusr/share/man/man3/xcb_translate_coordinates_reply.3.gz\nusr/share/man/man3/xcb_translate_coordinates_unchecked.3.gz\nusr/share/man/man3/xcb_ungrab_button.3.gz\nusr/share/man/man3/xcb_ungrab_button_checked.3.gz\nusr/share/man/man3/xcb_ungrab_key.3.gz\nusr/share/man/man3/xcb_ungrab_key_checked.3.gz\nusr/share/man/man3/xcb_ungrab_keyboard.3.gz\nusr/share/man/man3/xcb_ungrab_keyboard_checked.3.gz\nusr/share/man/man3/xcb_ungrab_pointer.3.gz\nusr/share/man/man3/xcb_ungrab_pointer_checked.3.gz\nusr/share/man/man3/xcb_ungrab_server.3.gz\nusr/share/man/man3/xcb_ungrab_server_checked.3.gz\nusr/share/man/man3/xcb_uninstall_colormap.3.gz\nusr/share/man/man3/xcb_uninstall_colormap_checked.3.gz\nusr/share/man/man3/xcb_unmap_notify_event_t.3.gz\nusr/share/man/man3/xcb_unmap_subwindows.3.gz\nusr/share/man/man3/xcb_unmap_subwindows_checked.3.gz\nusr/share/man/man3/xcb_unmap_window.3.gz\nusr/share/man/man3/xcb_unmap_window_checked.3.gz\nusr/share/man/man3/xcb_visibility_notify_event_t.3.gz\nusr/share/man/man3/xcb_warp_pointer.3.gz\nusr/share/man/man3/xcb_warp_pointer_checked.3.gz\nusr/share/man/man3/xcb_x_print_attribut_notify_event_t.3.gz\nusr/share/man/man3/xcb_x_print_create_context.3.gz\nusr/share/man/man3/xcb_x_print_create_context_checked.3.gz\nusr/share/man/man3/xcb_x_print_notify_event_t.3.gz\nusr/share/man/man3/xcb_x_print_print_destroy_context.3.gz\nusr/share/man/man3/xcb_x_print_print_destroy_context_checked.3.gz\nusr/share/man/man3/xcb_x_print_print_end_doc.3.gz\nusr/share/man/man3/xcb_x_print_print_end_doc_checked.3.gz\nusr/share/man/man3/xcb_x_print_print_end_job.3.gz\nusr/share/man/man3/xcb_x_print_print_end_job_checked.3.gz\nusr/share/man/man3/xcb_x_print_print_end_page.3.gz\nusr/share/man/man3/xcb_x_print_print_end_page_checked.3.gz\nusr/share/man/man3/xcb_x_print_print_get_attributes.3.gz\nusr/share/man/man3/xcb_x_print_print_get_attributes_attributes.3.gz\nusr/share/man/man3/xcb_x_print_print_get_attributes_attributes_end.3.gz\nusr/share/man/man3/xcb_x_print_print_get_attributes_attributes_length.3.gz\nusr/share/man/man3/xcb_x_print_print_get_attributes_reply.3.gz\nusr/share/man/man3/xcb_x_print_print_get_attributes_unchecked.3.gz\nusr/share/man/man3/xcb_x_print_print_get_context.3.gz\nusr/share/man/man3/xcb_x_print_print_get_context_reply.3.gz\nusr/share/man/man3/xcb_x_print_print_get_context_unchecked.3.gz\nusr/share/man/man3/xcb_x_print_print_get_document_data.3.gz\nusr/share/man/man3/xcb_x_print_print_get_document_data_data.3.gz\nusr/share/man/man3/xcb_x_print_print_get_document_data_data_end.3.gz\nusr/share/man/man3/xcb_x_print_print_get_document_data_data_length.3.gz\nusr/share/man/man3/xcb_x_print_print_get_document_data_reply.3.gz\nusr/share/man/man3/xcb_x_print_print_get_document_data_unchecked.3.gz\nusr/share/man/man3/xcb_x_print_print_get_image_resolution.3.gz\nusr/share/man/man3/xcb_x_print_print_get_image_resolution_reply.3.gz\nusr/share/man/man3/xcb_x_print_print_get_image_resolution_unchecked.3.gz\nusr/share/man/man3/xcb_x_print_print_get_one_attributes.3.gz\nusr/share/man/man3/xcb_x_print_print_get_one_attributes_reply.3.gz\nusr/share/man/man3/xcb_x_print_print_get_one_attributes_unchecked.3.gz\nusr/share/man/man3/xcb_x_print_print_get_one_attributes_value.3.gz\nusr/share/man/man3/xcb_x_print_print_get_one_attributes_value_end.3.gz\nusr/share/man/man3/xcb_x_print_print_get_one_attributes_value_length.3.gz\nusr/share/man/man3/xcb_x_print_print_get_page_dimensions.3.gz\nusr/share/man/man3/xcb_x_print_print_get_page_dimensions_reply.3.gz\nusr/share/man/man3/xcb_x_print_print_get_page_dimensions_unchecked.3.gz\nusr/share/man/man3/xcb_x_print_print_get_printer_list.3.gz\nusr/share/man/man3/xcb_x_print_print_get_printer_list_printers_iterator.3.gz\nusr/share/man/man3/xcb_x_print_print_get_printer_list_printers_length.3.gz\nusr/share/man/man3/xcb_x_print_print_get_printer_list_reply.3.gz\nusr/share/man/man3/xcb_x_print_print_get_printer_list_unchecked.3.gz\nusr/share/man/man3/xcb_x_print_print_get_screen_of_context.3.gz\nusr/share/man/man3/xcb_x_print_print_get_screen_of_context_reply.3.gz\nusr/share/man/man3/xcb_x_print_print_get_screen_of_context_unchecked.3.gz\nusr/share/man/man3/xcb_x_print_print_input_selected.3.gz\nusr/share/man/man3/xcb_x_print_print_input_selected_reply.3.gz\nusr/share/man/man3/xcb_x_print_print_input_selected_unchecked.3.gz\nusr/share/man/man3/xcb_x_print_print_put_document_data.3.gz\nusr/share/man/man3/xcb_x_print_print_put_document_data_checked.3.gz\nusr/share/man/man3/xcb_x_print_print_query_screens.3.gz\nusr/share/man/man3/xcb_x_print_print_query_screens_reply.3.gz\nusr/share/man/man3/xcb_x_print_print_query_screens_roots.3.gz\nusr/share/man/man3/xcb_x_print_print_query_screens_roots_end.3.gz\nusr/share/man/man3/xcb_x_print_print_query_screens_roots_length.3.gz\nusr/share/man/man3/xcb_x_print_print_query_screens_unchecked.3.gz\nusr/share/man/man3/xcb_x_print_print_query_version.3.gz\nusr/share/man/man3/xcb_x_print_print_query_version_reply.3.gz\nusr/share/man/man3/xcb_x_print_print_query_version_unchecked.3.gz\nusr/share/man/man3/xcb_x_print_print_rehash_printer_list.3.gz\nusr/share/man/man3/xcb_x_print_print_rehash_printer_list_checked.3.gz\nusr/share/man/man3/xcb_x_print_print_select_input.3.gz\nusr/share/man/man3/xcb_x_print_print_select_input_checked.3.gz\nusr/share/man/man3/xcb_x_print_print_set_attributes.3.gz\nusr/share/man/man3/xcb_x_print_print_set_attributes_checked.3.gz\nusr/share/man/man3/xcb_x_print_print_set_context.3.gz\nusr/share/man/man3/xcb_x_print_print_set_context_checked.3.gz\nusr/share/man/man3/xcb_x_print_print_set_image_resolution.3.gz\nusr/share/man/man3/xcb_x_print_print_set_image_resolution_reply.3.gz\nusr/share/man/man3/xcb_x_print_print_set_image_resolution_unchecked.3.gz\nusr/share/man/man3/xcb_x_print_print_start_doc.3.gz\nusr/share/man/man3/xcb_x_print_print_start_doc_checked.3.gz\nusr/share/man/man3/xcb_x_print_print_start_job.3.gz\nusr/share/man/man3/xcb_x_print_print_start_job_checked.3.gz\nusr/share/man/man3/xcb_x_print_print_start_page.3.gz\nusr/share/man/man3/xcb_x_print_print_start_page_checked.3.gz\nusr/share/man/man3/xcb_xc_misc_get_version.3.gz\nusr/share/man/man3/xcb_xc_misc_get_version_reply.3.gz\nusr/share/man/man3/xcb_xc_misc_get_version_unchecked.3.gz\nusr/share/man/man3/xcb_xc_misc_get_xid_list.3.gz\nusr/share/man/man3/xcb_xc_misc_get_xid_list_ids.3.gz\nusr/share/man/man3/xcb_xc_misc_get_xid_list_ids_end.3.gz\nusr/share/man/man3/xcb_xc_misc_get_xid_list_ids_length.3.gz\nusr/share/man/man3/xcb_xc_misc_get_xid_list_reply.3.gz\nusr/share/man/man3/xcb_xc_misc_get_xid_list_unchecked.3.gz\nusr/share/man/man3/xcb_xc_misc_get_xid_range.3.gz\nusr/share/man/man3/xcb_xc_misc_get_xid_range_reply.3.gz\nusr/share/man/man3/xcb_xc_misc_get_xid_range_unchecked.3.gz\nusr/share/man/man3/xcb_xevie_end.3.gz\nusr/share/man/man3/xcb_xevie_end_reply.3.gz\nusr/share/man/man3/xcb_xevie_end_unchecked.3.gz\nusr/share/man/man3/xcb_xevie_query_version.3.gz\nusr/share/man/man3/xcb_xevie_query_version_reply.3.gz\nusr/share/man/man3/xcb_xevie_query_version_unchecked.3.gz\nusr/share/man/man3/xcb_xevie_select_input.3.gz\nusr/share/man/man3/xcb_xevie_select_input_reply.3.gz\nusr/share/man/man3/xcb_xevie_select_input_unchecked.3.gz\nusr/share/man/man3/xcb_xevie_send.3.gz\nusr/share/man/man3/xcb_xevie_send_reply.3.gz\nusr/share/man/man3/xcb_xevie_send_unchecked.3.gz\nusr/share/man/man3/xcb_xevie_start.3.gz\nusr/share/man/man3/xcb_xevie_start_reply.3.gz\nusr/share/man/man3/xcb_xevie_start_unchecked.3.gz\nusr/share/man/man3/xcb_xf86dri_auth_connection.3.gz\nusr/share/man/man3/xcb_xf86dri_auth_connection_reply.3.gz\nusr/share/man/man3/xcb_xf86dri_auth_connection_unchecked.3.gz\nusr/share/man/man3/xcb_xf86dri_close_connection.3.gz\nusr/share/man/man3/xcb_xf86dri_close_connection_checked.3.gz\nusr/share/man/man3/xcb_xf86dri_create_context.3.gz\nusr/share/man/man3/xcb_xf86dri_create_context_reply.3.gz\nusr/share/man/man3/xcb_xf86dri_create_context_unchecked.3.gz\nusr/share/man/man3/xcb_xf86dri_create_drawable.3.gz\nusr/share/man/man3/xcb_xf86dri_create_drawable_reply.3.gz\nusr/share/man/man3/xcb_xf86dri_create_drawable_unchecked.3.gz\nusr/share/man/man3/xcb_xf86dri_destroy_context.3.gz\nusr/share/man/man3/xcb_xf86dri_destroy_context_checked.3.gz\nusr/share/man/man3/xcb_xf86dri_destroy_drawable.3.gz\nusr/share/man/man3/xcb_xf86dri_destroy_drawable_checked.3.gz\nusr/share/man/man3/xcb_xf86dri_get_client_driver_name.3.gz\nusr/share/man/man3/xcb_xf86dri_get_client_driver_name_client_driver_name.3.gz\nusr/share/man/man3/xcb_xf86dri_get_client_driver_name_client_driver_name_end.3.gz\nusr/share/man/man3/xcb_xf86dri_get_client_driver_name_client_driver_name_length.3.gz\nusr/share/man/man3/xcb_xf86dri_get_client_driver_name_reply.3.gz\nusr/share/man/man3/xcb_xf86dri_get_client_driver_name_unchecked.3.gz\nusr/share/man/man3/xcb_xf86dri_get_device_info.3.gz\nusr/share/man/man3/xcb_xf86dri_get_device_info_device_private.3.gz\nusr/share/man/man3/xcb_xf86dri_get_device_info_device_private_end.3.gz\nusr/share/man/man3/xcb_xf86dri_get_device_info_device_private_length.3.gz\nusr/share/man/man3/xcb_xf86dri_get_device_info_reply.3.gz\nusr/share/man/man3/xcb_xf86dri_get_device_info_unchecked.3.gz\nusr/share/man/man3/xcb_xf86dri_get_drawable_info.3.gz\nusr/share/man/man3/xcb_xf86dri_get_drawable_info_back_clip_rects.3.gz\nusr/share/man/man3/xcb_xf86dri_get_drawable_info_back_clip_rects_iterator.3.gz\nusr/share/man/man3/xcb_xf86dri_get_drawable_info_back_clip_rects_length.3.gz\nusr/share/man/man3/xcb_xf86dri_get_drawable_info_clip_rects.3.gz\nusr/share/man/man3/xcb_xf86dri_get_drawable_info_clip_rects_iterator.3.gz\nusr/share/man/man3/xcb_xf86dri_get_drawable_info_clip_rects_length.3.gz\nusr/share/man/man3/xcb_xf86dri_get_drawable_info_reply.3.gz\nusr/share/man/man3/xcb_xf86dri_get_drawable_info_unchecked.3.gz\nusr/share/man/man3/xcb_xf86dri_open_connection.3.gz\nusr/share/man/man3/xcb_xf86dri_open_connection_bus_id.3.gz\nusr/share/man/man3/xcb_xf86dri_open_connection_bus_id_end.3.gz\nusr/share/man/man3/xcb_xf86dri_open_connection_bus_id_length.3.gz\nusr/share/man/man3/xcb_xf86dri_open_connection_reply.3.gz\nusr/share/man/man3/xcb_xf86dri_open_connection_unchecked.3.gz\nusr/share/man/man3/xcb_xf86dri_query_direct_rendering_capable.3.gz\nusr/share/man/man3/xcb_xf86dri_query_direct_rendering_capable_reply.3.gz\nusr/share/man/man3/xcb_xf86dri_query_direct_rendering_capable_unchecked.3.gz\nusr/share/man/man3/xcb_xf86dri_query_version.3.gz\nusr/share/man/man3/xcb_xf86dri_query_version_reply.3.gz\nusr/share/man/man3/xcb_xf86dri_query_version_unchecked.3.gz\nusr/share/man/man3/xcb_xfixes_change_cursor.3.gz\nusr/share/man/man3/xcb_xfixes_change_cursor_by_name.3.gz\nusr/share/man/man3/xcb_xfixes_change_cursor_by_name_checked.3.gz\nusr/share/man/man3/xcb_xfixes_change_cursor_checked.3.gz\nusr/share/man/man3/xcb_xfixes_change_save_set.3.gz\nusr/share/man/man3/xcb_xfixes_change_save_set_checked.3.gz\nusr/share/man/man3/xcb_xfixes_copy_region.3.gz\nusr/share/man/man3/xcb_xfixes_copy_region_checked.3.gz\nusr/share/man/man3/xcb_xfixes_create_pointer_barrier.3.gz\nusr/share/man/man3/xcb_xfixes_create_pointer_barrier_checked.3.gz\nusr/share/man/man3/xcb_xfixes_create_region.3.gz\nusr/share/man/man3/xcb_xfixes_create_region_checked.3.gz\nusr/share/man/man3/xcb_xfixes_create_region_from_bitmap.3.gz\nusr/share/man/man3/xcb_xfixes_create_region_from_bitmap_checked.3.gz\nusr/share/man/man3/xcb_xfixes_create_region_from_gc.3.gz\nusr/share/man/man3/xcb_xfixes_create_region_from_gc_checked.3.gz\nusr/share/man/man3/xcb_xfixes_create_region_from_picture.3.gz\nusr/share/man/man3/xcb_xfixes_create_region_from_picture_checked.3.gz\nusr/share/man/man3/xcb_xfixes_create_region_from_window.3.gz\nusr/share/man/man3/xcb_xfixes_create_region_from_window_checked.3.gz\nusr/share/man/man3/xcb_xfixes_cursor_notify_event_t.3.gz\nusr/share/man/man3/xcb_xfixes_delete_pointer_barrier.3.gz\nusr/share/man/man3/xcb_xfixes_delete_pointer_barrier_checked.3.gz\nusr/share/man/man3/xcb_xfixes_destroy_region.3.gz\nusr/share/man/man3/xcb_xfixes_destroy_region_checked.3.gz\nusr/share/man/man3/xcb_xfixes_expand_region.3.gz\nusr/share/man/man3/xcb_xfixes_expand_region_checked.3.gz\nusr/share/man/man3/xcb_xfixes_fetch_region.3.gz\nusr/share/man/man3/xcb_xfixes_fetch_region_rectangles.3.gz\nusr/share/man/man3/xcb_xfixes_fetch_region_rectangles_iterator.3.gz\nusr/share/man/man3/xcb_xfixes_fetch_region_rectangles_length.3.gz\nusr/share/man/man3/xcb_xfixes_fetch_region_reply.3.gz\nusr/share/man/man3/xcb_xfixes_fetch_region_unchecked.3.gz\nusr/share/man/man3/xcb_xfixes_get_cursor_image.3.gz\nusr/share/man/man3/xcb_xfixes_get_cursor_image_and_name.3.gz\nusr/share/man/man3/xcb_xfixes_get_cursor_image_and_name_cursor_image.3.gz\nusr/share/man/man3/xcb_xfixes_get_cursor_image_and_name_cursor_image_end.3.gz\nusr/share/man/man3/xcb_xfixes_get_cursor_image_and_name_cursor_image_length.3.gz\nusr/share/man/man3/xcb_xfixes_get_cursor_image_and_name_name.3.gz\nusr/share/man/man3/xcb_xfixes_get_cursor_image_and_name_name_end.3.gz\nusr/share/man/man3/xcb_xfixes_get_cursor_image_and_name_name_length.3.gz\nusr/share/man/man3/xcb_xfixes_get_cursor_image_and_name_reply.3.gz\nusr/share/man/man3/xcb_xfixes_get_cursor_image_and_name_unchecked.3.gz\nusr/share/man/man3/xcb_xfixes_get_cursor_image_cursor_image.3.gz\nusr/share/man/man3/xcb_xfixes_get_cursor_image_cursor_image_end.3.gz\nusr/share/man/man3/xcb_xfixes_get_cursor_image_cursor_image_length.3.gz\nusr/share/man/man3/xcb_xfixes_get_cursor_image_reply.3.gz\nusr/share/man/man3/xcb_xfixes_get_cursor_image_unchecked.3.gz\nusr/share/man/man3/xcb_xfixes_get_cursor_name.3.gz\nusr/share/man/man3/xcb_xfixes_get_cursor_name_name.3.gz\nusr/share/man/man3/xcb_xfixes_get_cursor_name_name_end.3.gz\nusr/share/man/man3/xcb_xfixes_get_cursor_name_name_length.3.gz\nusr/share/man/man3/xcb_xfixes_get_cursor_name_reply.3.gz\nusr/share/man/man3/xcb_xfixes_get_cursor_name_unchecked.3.gz\nusr/share/man/man3/xcb_xfixes_hide_cursor.3.gz\nusr/share/man/man3/xcb_xfixes_hide_cursor_checked.3.gz\nusr/share/man/man3/xcb_xfixes_intersect_region.3.gz\nusr/share/man/man3/xcb_xfixes_intersect_region_checked.3.gz\nusr/share/man/man3/xcb_xfixes_invert_region.3.gz\nusr/share/man/man3/xcb_xfixes_invert_region_checked.3.gz\nusr/share/man/man3/xcb_xfixes_query_version.3.gz\nusr/share/man/man3/xcb_xfixes_query_version_reply.3.gz\nusr/share/man/man3/xcb_xfixes_query_version_unchecked.3.gz\nusr/share/man/man3/xcb_xfixes_region_extents.3.gz\nusr/share/man/man3/xcb_xfixes_region_extents_checked.3.gz\nusr/share/man/man3/xcb_xfixes_select_cursor_input.3.gz\nusr/share/man/man3/xcb_xfixes_select_cursor_input_checked.3.gz\nusr/share/man/man3/xcb_xfixes_select_selection_input.3.gz\nusr/share/man/man3/xcb_xfixes_select_selection_input_checked.3.gz\nusr/share/man/man3/xcb_xfixes_selection_notify_event_t.3.gz\nusr/share/man/man3/xcb_xfixes_set_cursor_name.3.gz\nusr/share/man/man3/xcb_xfixes_set_cursor_name_checked.3.gz\nusr/share/man/man3/xcb_xfixes_set_gc_clip_region.3.gz\nusr/share/man/man3/xcb_xfixes_set_gc_clip_region_checked.3.gz\nusr/share/man/man3/xcb_xfixes_set_picture_clip_region.3.gz\nusr/share/man/man3/xcb_xfixes_set_picture_clip_region_checked.3.gz\nusr/share/man/man3/xcb_xfixes_set_region.3.gz\nusr/share/man/man3/xcb_xfixes_set_region_checked.3.gz\nusr/share/man/man3/xcb_xfixes_set_window_shape_region.3.gz\nusr/share/man/man3/xcb_xfixes_set_window_shape_region_checked.3.gz\nusr/share/man/man3/xcb_xfixes_show_cursor.3.gz\nusr/share/man/man3/xcb_xfixes_show_cursor_checked.3.gz\nusr/share/man/man3/xcb_xfixes_subtract_region.3.gz\nusr/share/man/man3/xcb_xfixes_subtract_region_checked.3.gz\nusr/share/man/man3/xcb_xfixes_translate_region.3.gz\nusr/share/man/man3/xcb_xfixes_translate_region_checked.3.gz\nusr/share/man/man3/xcb_xfixes_union_region.3.gz\nusr/share/man/man3/xcb_xfixes_union_region_checked.3.gz\nusr/share/man/man3/xcb_xinerama_get_screen_count.3.gz\nusr/share/man/man3/xcb_xinerama_get_screen_count_reply.3.gz\nusr/share/man/man3/xcb_xinerama_get_screen_count_unchecked.3.gz\nusr/share/man/man3/xcb_xinerama_get_screen_size.3.gz\nusr/share/man/man3/xcb_xinerama_get_screen_size_reply.3.gz\nusr/share/man/man3/xcb_xinerama_get_screen_size_unchecked.3.gz\nusr/share/man/man3/xcb_xinerama_get_state.3.gz\nusr/share/man/man3/xcb_xinerama_get_state_reply.3.gz\nusr/share/man/man3/xcb_xinerama_get_state_unchecked.3.gz\nusr/share/man/man3/xcb_xinerama_is_active.3.gz\nusr/share/man/man3/xcb_xinerama_is_active_reply.3.gz\nusr/share/man/man3/xcb_xinerama_is_active_unchecked.3.gz\nusr/share/man/man3/xcb_xinerama_query_screens.3.gz\nusr/share/man/man3/xcb_xinerama_query_screens_reply.3.gz\nusr/share/man/man3/xcb_xinerama_query_screens_screen_info.3.gz\nusr/share/man/man3/xcb_xinerama_query_screens_screen_info_iterator.3.gz\nusr/share/man/man3/xcb_xinerama_query_screens_screen_info_length.3.gz\nusr/share/man/man3/xcb_xinerama_query_screens_unchecked.3.gz\nusr/share/man/man3/xcb_xinerama_query_version.3.gz\nusr/share/man/man3/xcb_xinerama_query_version_reply.3.gz\nusr/share/man/man3/xcb_xinerama_query_version_unchecked.3.gz\nusr/share/man/man3/xcb_xkb_access_x_notify_event_t.3.gz\nusr/share/man/man3/xcb_xkb_action_message_event_t.3.gz\nusr/share/man/man3/xcb_xkb_bell.3.gz\nusr/share/man/man3/xcb_xkb_bell_checked.3.gz\nusr/share/man/man3/xcb_xkb_bell_notify_event_t.3.gz\nusr/share/man/man3/xcb_xkb_compat_map_notify_event_t.3.gz\nusr/share/man/man3/xcb_xkb_controls_notify_event_t.3.gz\nusr/share/man/man3/xcb_xkb_extension_device_notify_event_t.3.gz\nusr/share/man/man3/xcb_xkb_get_compat_map.3.gz\nusr/share/man/man3/xcb_xkb_get_compat_map_group_rtrn.3.gz\nusr/share/man/man3/xcb_xkb_get_compat_map_group_rtrn_iterator.3.gz\nusr/share/man/man3/xcb_xkb_get_compat_map_group_rtrn_length.3.gz\nusr/share/man/man3/xcb_xkb_get_compat_map_reply.3.gz\nusr/share/man/man3/xcb_xkb_get_compat_map_si_rtrn.3.gz\nusr/share/man/man3/xcb_xkb_get_compat_map_si_rtrn_iterator.3.gz\nusr/share/man/man3/xcb_xkb_get_compat_map_si_rtrn_length.3.gz\nusr/share/man/man3/xcb_xkb_get_compat_map_unchecked.3.gz\nusr/share/man/man3/xcb_xkb_get_controls.3.gz\nusr/share/man/man3/xcb_xkb_get_controls_reply.3.gz\nusr/share/man/man3/xcb_xkb_get_controls_unchecked.3.gz\nusr/share/man/man3/xcb_xkb_get_device_info.3.gz\nusr/share/man/man3/xcb_xkb_get_device_info_btn_actions.3.gz\nusr/share/man/man3/xcb_xkb_get_device_info_btn_actions_iterator.3.gz\nusr/share/man/man3/xcb_xkb_get_device_info_btn_actions_length.3.gz\nusr/share/man/man3/xcb_xkb_get_device_info_leds_iterator.3.gz\nusr/share/man/man3/xcb_xkb_get_device_info_leds_length.3.gz\nusr/share/man/man3/xcb_xkb_get_device_info_name.3.gz\nusr/share/man/man3/xcb_xkb_get_device_info_name_end.3.gz\nusr/share/man/man3/xcb_xkb_get_device_info_name_length.3.gz\nusr/share/man/man3/xcb_xkb_get_device_info_pad_1.3.gz\nusr/share/man/man3/xcb_xkb_get_device_info_reply.3.gz\nusr/share/man/man3/xcb_xkb_get_device_info_unchecked.3.gz\nusr/share/man/man3/xcb_xkb_get_indicator_map.3.gz\nusr/share/man/man3/xcb_xkb_get_indicator_map_maps.3.gz\nusr/share/man/man3/xcb_xkb_get_indicator_map_maps_iterator.3.gz\nusr/share/man/man3/xcb_xkb_get_indicator_map_maps_length.3.gz\nusr/share/man/man3/xcb_xkb_get_indicator_map_reply.3.gz\nusr/share/man/man3/xcb_xkb_get_indicator_map_unchecked.3.gz\nusr/share/man/man3/xcb_xkb_get_indicator_state.3.gz\nusr/share/man/man3/xcb_xkb_get_indicator_state_reply.3.gz\nusr/share/man/man3/xcb_xkb_get_indicator_state_unchecked.3.gz\nusr/share/man/man3/xcb_xkb_get_kbd_by_name.3.gz\nusr/share/man/man3/xcb_xkb_get_kbd_by_name_replies.3.gz\nusr/share/man/man3/xcb_xkb_get_kbd_by_name_reply.3.gz\nusr/share/man/man3/xcb_xkb_get_kbd_by_name_unchecked.3.gz\nusr/share/man/man3/xcb_xkb_get_map.3.gz\nusr/share/man/man3/xcb_xkb_get_map_map.3.gz\nusr/share/man/man3/xcb_xkb_get_map_reply.3.gz\nusr/share/man/man3/xcb_xkb_get_map_unchecked.3.gz\nusr/share/man/man3/xcb_xkb_get_named_indicator.3.gz\nusr/share/man/man3/xcb_xkb_get_named_indicator_reply.3.gz\nusr/share/man/man3/xcb_xkb_get_named_indicator_unchecked.3.gz\nusr/share/man/man3/xcb_xkb_get_names.3.gz\nusr/share/man/man3/xcb_xkb_get_names_reply.3.gz\nusr/share/man/man3/xcb_xkb_get_names_unchecked.3.gz\nusr/share/man/man3/xcb_xkb_get_names_value_list.3.gz\nusr/share/man/man3/xcb_xkb_get_state.3.gz\nusr/share/man/man3/xcb_xkb_get_state_reply.3.gz\nusr/share/man/man3/xcb_xkb_get_state_unchecked.3.gz\nusr/share/man/man3/xcb_xkb_indicator_map_notify_event_t.3.gz\nusr/share/man/man3/xcb_xkb_indicator_state_notify_event_t.3.gz\nusr/share/man/man3/xcb_xkb_latch_lock_state.3.gz\nusr/share/man/man3/xcb_xkb_latch_lock_state_checked.3.gz\nusr/share/man/man3/xcb_xkb_list_components.3.gz\nusr/share/man/man3/xcb_xkb_list_components_compat_maps_iterator.3.gz\nusr/share/man/man3/xcb_xkb_list_components_compat_maps_length.3.gz\nusr/share/man/man3/xcb_xkb_list_components_geometries_iterator.3.gz\nusr/share/man/man3/xcb_xkb_list_components_geometries_length.3.gz\nusr/share/man/man3/xcb_xkb_list_components_keycodes_iterator.3.gz\nusr/share/man/man3/xcb_xkb_list_components_keycodes_length.3.gz\nusr/share/man/man3/xcb_xkb_list_components_keymaps_iterator.3.gz\nusr/share/man/man3/xcb_xkb_list_components_keymaps_length.3.gz\nusr/share/man/man3/xcb_xkb_list_components_reply.3.gz\nusr/share/man/man3/xcb_xkb_list_components_symbols_iterator.3.gz\nusr/share/man/man3/xcb_xkb_list_components_symbols_length.3.gz\nusr/share/man/man3/xcb_xkb_list_components_types_iterator.3.gz\nusr/share/man/man3/xcb_xkb_list_components_types_length.3.gz\nusr/share/man/man3/xcb_xkb_list_components_unchecked.3.gz\nusr/share/man/man3/xcb_xkb_map_notify_event_t.3.gz\nusr/share/man/man3/xcb_xkb_names_notify_event_t.3.gz\nusr/share/man/man3/xcb_xkb_new_keyboard_notify_event_t.3.gz\nusr/share/man/man3/xcb_xkb_per_client_flags.3.gz\nusr/share/man/man3/xcb_xkb_per_client_flags_reply.3.gz\nusr/share/man/man3/xcb_xkb_per_client_flags_unchecked.3.gz\nusr/share/man/man3/xcb_xkb_select_events.3.gz\nusr/share/man/man3/xcb_xkb_select_events_checked.3.gz\nusr/share/man/man3/xcb_xkb_set_compat_map.3.gz\nusr/share/man/man3/xcb_xkb_set_compat_map_checked.3.gz\nusr/share/man/man3/xcb_xkb_set_controls.3.gz\nusr/share/man/man3/xcb_xkb_set_controls_checked.3.gz\nusr/share/man/man3/xcb_xkb_set_debugging_flags.3.gz\nusr/share/man/man3/xcb_xkb_set_debugging_flags_reply.3.gz\nusr/share/man/man3/xcb_xkb_set_debugging_flags_unchecked.3.gz\nusr/share/man/man3/xcb_xkb_set_device_info.3.gz\nusr/share/man/man3/xcb_xkb_set_device_info_checked.3.gz\nusr/share/man/man3/xcb_xkb_set_indicator_map.3.gz\nusr/share/man/man3/xcb_xkb_set_indicator_map_checked.3.gz\nusr/share/man/man3/xcb_xkb_set_map.3.gz\nusr/share/man/man3/xcb_xkb_set_map_checked.3.gz\nusr/share/man/man3/xcb_xkb_set_named_indicator.3.gz\nusr/share/man/man3/xcb_xkb_set_named_indicator_checked.3.gz\nusr/share/man/man3/xcb_xkb_set_names.3.gz\nusr/share/man/man3/xcb_xkb_set_names_checked.3.gz\nusr/share/man/man3/xcb_xkb_state_notify_event_t.3.gz\nusr/share/man/man3/xcb_xkb_use_extension.3.gz\nusr/share/man/man3/xcb_xkb_use_extension_reply.3.gz\nusr/share/man/man3/xcb_xkb_use_extension_unchecked.3.gz\nusr/share/man/man3/xcb_xv_get_port_attribute.3.gz\nusr/share/man/man3/xcb_xv_get_port_attribute_reply.3.gz\nusr/share/man/man3/xcb_xv_get_port_attribute_unchecked.3.gz\nusr/share/man/man3/xcb_xv_get_still.3.gz\nusr/share/man/man3/xcb_xv_get_still_checked.3.gz\nusr/share/man/man3/xcb_xv_get_video.3.gz\nusr/share/man/man3/xcb_xv_get_video_checked.3.gz\nusr/share/man/man3/xcb_xv_grab_port.3.gz\nusr/share/man/man3/xcb_xv_grab_port_reply.3.gz\nusr/share/man/man3/xcb_xv_grab_port_unchecked.3.gz\nusr/share/man/man3/xcb_xv_list_image_formats.3.gz\nusr/share/man/man3/xcb_xv_list_image_formats_format.3.gz\nusr/share/man/man3/xcb_xv_list_image_formats_format_iterator.3.gz\nusr/share/man/man3/xcb_xv_list_image_formats_format_length.3.gz\nusr/share/man/man3/xcb_xv_list_image_formats_reply.3.gz\nusr/share/man/man3/xcb_xv_list_image_formats_unchecked.3.gz\nusr/share/man/man3/xcb_xv_port_notify_event_t.3.gz\nusr/share/man/man3/xcb_xv_put_image.3.gz\nusr/share/man/man3/xcb_xv_put_image_checked.3.gz\nusr/share/man/man3/xcb_xv_put_still.3.gz\nusr/share/man/man3/xcb_xv_put_still_checked.3.gz\nusr/share/man/man3/xcb_xv_put_video.3.gz\nusr/share/man/man3/xcb_xv_put_video_checked.3.gz\nusr/share/man/man3/xcb_xv_query_adaptors.3.gz\nusr/share/man/man3/xcb_xv_query_adaptors_info_iterator.3.gz\nusr/share/man/man3/xcb_xv_query_adaptors_info_length.3.gz\nusr/share/man/man3/xcb_xv_query_adaptors_reply.3.gz\nusr/share/man/man3/xcb_xv_query_adaptors_unchecked.3.gz\nusr/share/man/man3/xcb_xv_query_best_size.3.gz\nusr/share/man/man3/xcb_xv_query_best_size_reply.3.gz\nusr/share/man/man3/xcb_xv_query_best_size_unchecked.3.gz\nusr/share/man/man3/xcb_xv_query_encodings.3.gz\nusr/share/man/man3/xcb_xv_query_encodings_info_iterator.3.gz\nusr/share/man/man3/xcb_xv_query_encodings_info_length.3.gz\nusr/share/man/man3/xcb_xv_query_encodings_reply.3.gz\nusr/share/man/man3/xcb_xv_query_encodings_unchecked.3.gz\nusr/share/man/man3/xcb_xv_query_extension.3.gz\nusr/share/man/man3/xcb_xv_query_extension_reply.3.gz\nusr/share/man/man3/xcb_xv_query_extension_unchecked.3.gz\nusr/share/man/man3/xcb_xv_query_image_attributes.3.gz\nusr/share/man/man3/xcb_xv_query_image_attributes_offsets.3.gz\nusr/share/man/man3/xcb_xv_query_image_attributes_offsets_end.3.gz\nusr/share/man/man3/xcb_xv_query_image_attributes_offsets_length.3.gz\nusr/share/man/man3/xcb_xv_query_image_attributes_pitches.3.gz\nusr/share/man/man3/xcb_xv_query_image_attributes_pitches_end.3.gz\nusr/share/man/man3/xcb_xv_query_image_attributes_pitches_length.3.gz\nusr/share/man/man3/xcb_xv_query_image_attributes_reply.3.gz\nusr/share/man/man3/xcb_xv_query_image_attributes_unchecked.3.gz\nusr/share/man/man3/xcb_xv_query_port_attributes.3.gz\nusr/share/man/man3/xcb_xv_query_port_attributes_attributes_iterator.3.gz\nusr/share/man/man3/xcb_xv_query_port_attributes_attributes_length.3.gz\nusr/share/man/man3/xcb_xv_query_port_attributes_reply.3.gz\nusr/share/man/man3/xcb_xv_query_port_attributes_unchecked.3.gz\nusr/share/man/man3/xcb_xv_select_port_notify.3.gz\nusr/share/man/man3/xcb_xv_select_port_notify_checked.3.gz\nusr/share/man/man3/xcb_xv_select_video_notify.3.gz\nusr/share/man/man3/xcb_xv_select_video_notify_checked.3.gz\nusr/share/man/man3/xcb_xv_set_port_attribute.3.gz\nusr/share/man/man3/xcb_xv_set_port_attribute_checked.3.gz\nusr/share/man/man3/xcb_xv_shm_put_image.3.gz\nusr/share/man/man3/xcb_xv_shm_put_image_checked.3.gz\nusr/share/man/man3/xcb_xv_stop_video.3.gz\nusr/share/man/man3/xcb_xv_stop_video_checked.3.gz\nusr/share/man/man3/xcb_xv_ungrab_port.3.gz\nusr/share/man/man3/xcb_xv_ungrab_port_checked.3.gz\nusr/share/man/man3/xcb_xv_video_notify_event_t.3.gz\nusr/share/man/man3/xcb_xvmc_create_context.3.gz\nusr/share/man/man3/xcb_xvmc_create_context_priv_data.3.gz\nusr/share/man/man3/xcb_xvmc_create_context_priv_data_end.3.gz\nusr/share/man/man3/xcb_xvmc_create_context_priv_data_length.3.gz\nusr/share/man/man3/xcb_xvmc_create_context_reply.3.gz\nusr/share/man/man3/xcb_xvmc_create_context_unchecked.3.gz\nusr/share/man/man3/xcb_xvmc_create_subpicture.3.gz\nusr/share/man/man3/xcb_xvmc_create_subpicture_priv_data.3.gz\nusr/share/man/man3/xcb_xvmc_create_subpicture_priv_data_end.3.gz\nusr/share/man/man3/xcb_xvmc_create_subpicture_priv_data_length.3.gz\nusr/share/man/man3/xcb_xvmc_create_subpicture_reply.3.gz\nusr/share/man/man3/xcb_xvmc_create_subpicture_unchecked.3.gz\nusr/share/man/man3/xcb_xvmc_create_surface.3.gz\nusr/share/man/man3/xcb_xvmc_create_surface_priv_data.3.gz\nusr/share/man/man3/xcb_xvmc_create_surface_priv_data_end.3.gz\nusr/share/man/man3/xcb_xvmc_create_surface_priv_data_length.3.gz\nusr/share/man/man3/xcb_xvmc_create_surface_reply.3.gz\nusr/share/man/man3/xcb_xvmc_create_surface_unchecked.3.gz\nusr/share/man/man3/xcb_xvmc_destroy_context.3.gz\nusr/share/man/man3/xcb_xvmc_destroy_context_checked.3.gz\nusr/share/man/man3/xcb_xvmc_destroy_subpicture.3.gz\nusr/share/man/man3/xcb_xvmc_destroy_subpicture_checked.3.gz\nusr/share/man/man3/xcb_xvmc_destroy_surface.3.gz\nusr/share/man/man3/xcb_xvmc_destroy_surface_checked.3.gz\nusr/share/man/man3/xcb_xvmc_list_subpicture_types.3.gz\nusr/share/man/man3/xcb_xvmc_list_subpicture_types_reply.3.gz\nusr/share/man/man3/xcb_xvmc_list_subpicture_types_types.3.gz\nusr/share/man/man3/xcb_xvmc_list_subpicture_types_types_iterator.3.gz\nusr/share/man/man3/xcb_xvmc_list_subpicture_types_types_length.3.gz\nusr/share/man/man3/xcb_xvmc_list_subpicture_types_unchecked.3.gz\nusr/share/man/man3/xcb_xvmc_list_surface_types.3.gz\nusr/share/man/man3/xcb_xvmc_list_surface_types_reply.3.gz\nusr/share/man/man3/xcb_xvmc_list_surface_types_surfaces.3.gz\nusr/share/man/man3/xcb_xvmc_list_surface_types_surfaces_iterator.3.gz\nusr/share/man/man3/xcb_xvmc_list_surface_types_surfaces_length.3.gz\nusr/share/man/man3/xcb_xvmc_list_surface_types_unchecked.3.gz\nusr/share/man/man3/xcb_xvmc_query_version.3.gz\nusr/share/man/man3/xcb_xvmc_query_version_reply.3.gz\nusr/share/man/man3/xcb_xvmc_query_version_unchecked.3.gz\n\n"
  },
  {
    "path": "testdata/db/local/libxcrypt-4.4.19-1/desc",
    "content": "%NAME%\nlibxcrypt\n\n%VERSION%\n4.4.19-1\n\n%BASE%\nlibxcrypt\n\n%DESC%\nModern library for one-way hashing of passwords\n\n%URL%\nhttps://github.com/besser82/libxcrypt/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1617912502\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nChristian Hesse <arch@eworm.de>\n\n%SIZE%\n210979\n\n%REASON%\n1\n\n%LICENSE%\nGPL\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\n\n%PROVIDES%\nlibcrypt.so=2-64\n\n"
  },
  {
    "path": "testdata/db/local/libxdmcp-1.1.3-3/desc",
    "content": "%NAME%\nlibxdmcp\n\n%VERSION%\n1.1.3-3\n\n%BASE%\nlibxdmcp\n\n%DESC%\nX11 Display Manager Control Protocol library\n\n%URL%\nhttps://xorg.freedesktop.org/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1589633666\n\n%INSTALLDATE%\n1621851264\n\n%PACKAGER%\nEvangelos Foutras <evangelos@foutrelis.com>\n\n%SIZE%\n133141\n\n%REASON%\n1\n\n%LICENSE%\ncustom\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\n\n"
  },
  {
    "path": "testdata/db/local/libxdmcp-1.1.3-3/files",
    "content": "%FILES%\nusr/\nusr/include/\nusr/include/X11/\nusr/include/X11/Xdmcp.h\nusr/lib/\nusr/lib/libXdmcp.so\nusr/lib/libXdmcp.so.6\nusr/lib/libXdmcp.so.6.0.0\nusr/lib/pkgconfig/\nusr/lib/pkgconfig/xdmcp.pc\nusr/share/\nusr/share/doc/\nusr/share/doc/libXdmcp/\nusr/share/doc/libXdmcp/xdmcp.xml\nusr/share/licenses/\nusr/share/licenses/libxdmcp/\nusr/share/licenses/libxdmcp/COPYING\n\n"
  },
  {
    "path": "testdata/db/local/libxext-1.3.4-3/desc",
    "content": "%NAME%\nlibxext\n\n%VERSION%\n1.3.4-3\n\n%BASE%\nlibxext\n\n%DESC%\nX11 miscellaneous extensions library\n\n%URL%\nhttps://xorg.freedesktop.org/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1589637747\n\n%INSTALLDATE%\n1621851264\n\n%PACKAGER%\nEvangelos Foutras <evangelos@foutrelis.com>\n\n%SIZE%\n318272\n\n%REASON%\n1\n\n%LICENSE%\ncustom\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nlibx11\n\n"
  },
  {
    "path": "testdata/db/local/libxext-1.3.4-3/files",
    "content": "%FILES%\nusr/\nusr/include/\nusr/include/X11/\nusr/include/X11/extensions/\nusr/include/X11/extensions/MITMisc.h\nusr/include/X11/extensions/XEVI.h\nusr/include/X11/extensions/XLbx.h\nusr/include/X11/extensions/XShm.h\nusr/include/X11/extensions/Xag.h\nusr/include/X11/extensions/Xcup.h\nusr/include/X11/extensions/Xdbe.h\nusr/include/X11/extensions/Xext.h\nusr/include/X11/extensions/Xge.h\nusr/include/X11/extensions/dpms.h\nusr/include/X11/extensions/extutil.h\nusr/include/X11/extensions/multibuf.h\nusr/include/X11/extensions/security.h\nusr/include/X11/extensions/shape.h\nusr/include/X11/extensions/sync.h\nusr/include/X11/extensions/xtestext1.h\nusr/lib/\nusr/lib/libXext.so\nusr/lib/libXext.so.6\nusr/lib/libXext.so.6.4.0\nusr/lib/pkgconfig/\nusr/lib/pkgconfig/xext.pc\nusr/share/\nusr/share/doc/\nusr/share/doc/libXext/\nusr/share/doc/libXext/dbelib.xml\nusr/share/doc/libXext/dpmslib.xml\nusr/share/doc/libXext/shapelib.xml\nusr/share/doc/libXext/synclib.xml\nusr/share/doc/libXext/xtest1.xml\nusr/share/licenses/\nusr/share/licenses/libxext/\nusr/share/licenses/libxext/COPYING\nusr/share/man/\nusr/share/man/man3/\nusr/share/man/man3/DBE.3.gz\nusr/share/man/man3/DPMSCapable.3.gz\nusr/share/man/man3/DPMSDisable.3.gz\nusr/share/man/man3/DPMSEnable.3.gz\nusr/share/man/man3/DPMSForceLevel.3.gz\nusr/share/man/man3/DPMSGetTimeouts.3.gz\nusr/share/man/man3/DPMSGetVersion.3.gz\nusr/share/man/man3/DPMSInfo.3.gz\nusr/share/man/man3/DPMSQueryExtension.3.gz\nusr/share/man/man3/DPMSSetTimeouts.3.gz\nusr/share/man/man3/XShape.3.gz\nusr/share/man/man3/XShapeCombineMask.3.gz\nusr/share/man/man3/XShapeCombineRectangles.3.gz\nusr/share/man/man3/XShapeCombineRegion.3.gz\nusr/share/man/man3/XShapeCombineShape.3.gz\nusr/share/man/man3/XShapeGetRectangles.3.gz\nusr/share/man/man3/XShapeInputSelected.3.gz\nusr/share/man/man3/XShapeOffsetShape.3.gz\nusr/share/man/man3/XShapeQueryExtension.3.gz\nusr/share/man/man3/XShapeQueryExtents.3.gz\nusr/share/man/man3/XShapeQueryVersion.3.gz\nusr/share/man/man3/XShapeSelectInput.3.gz\nusr/share/man/man3/XShm.3.gz\nusr/share/man/man3/XShmAttach.3.gz\nusr/share/man/man3/XShmCreateImage.3.gz\nusr/share/man/man3/XShmCreatePixmap.3.gz\nusr/share/man/man3/XShmDetach.3.gz\nusr/share/man/man3/XShmGetEventBase.3.gz\nusr/share/man/man3/XShmGetImage.3.gz\nusr/share/man/man3/XShmPixmapFormat.3.gz\nusr/share/man/man3/XShmPutImage.3.gz\nusr/share/man/man3/XShmQueryExtension.3.gz\nusr/share/man/man3/XShmQueryVersion.3.gz\nusr/share/man/man3/XcupGetReservedColormapEntries.3.gz\nusr/share/man/man3/XcupQueryVersion.3.gz\nusr/share/man/man3/XcupStoreColors.3.gz\nusr/share/man/man3/XdbeAllocateBackBufferName.3.gz\nusr/share/man/man3/XdbeBeginIdiom.3.gz\nusr/share/man/man3/XdbeDeallocateBackBufferName.3.gz\nusr/share/man/man3/XdbeEndIdiom.3.gz\nusr/share/man/man3/XdbeFreeVisualInfo.3.gz\nusr/share/man/man3/XdbeGetBackBufferAttributes.3.gz\nusr/share/man/man3/XdbeGetVisualInfo.3.gz\nusr/share/man/man3/XdbeQueryExtension.3.gz\nusr/share/man/man3/XdbeSwapBuffers.3.gz\nusr/share/man/man3/Xevi.3.gz\nusr/share/man/man3/XeviGetVisualInfo.3.gz\nusr/share/man/man3/XeviQueryExtension.3.gz\nusr/share/man/man3/XeviQueryVersion.3.gz\nusr/share/man/man3/Xmbuf.3.gz\nusr/share/man/man3/XmbufChangeBufferAttributes.3.gz\nusr/share/man/man3/XmbufChangeWindowAttributes.3.gz\nusr/share/man/man3/XmbufCreateBuffers.3.gz\nusr/share/man/man3/XmbufCreateStereoWindow.3.gz\nusr/share/man/man3/XmbufDestroyBuffers.3.gz\nusr/share/man/man3/XmbufDisplayBuffers.3.gz\nusr/share/man/man3/XmbufGetBufferAttributes.3.gz\nusr/share/man/man3/XmbufGetScreenInfo.3.gz\nusr/share/man/man3/XmbufGetVersion.3.gz\nusr/share/man/man3/XmbufGetWindowAttributes.3.gz\nusr/share/man/man3/XmbufQueryExtension.3.gz\n\n"
  },
  {
    "path": "testdata/db/local/libxml2-2.9.10-9/desc",
    "content": "%NAME%\nlibxml2\n\n%VERSION%\n2.9.10-9\n\n%BASE%\nlibxml2\n\n%DESC%\nXML parsing library, version 2\n\n%URL%\nhttp://www.xmlsoft.org/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1618488612\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nFelix Yan <felixonmars@archlinux.org>\n\n%SIZE%\n9674268\n\n%REASON%\n1\n\n%LICENSE%\nMIT\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nzlib\nreadline\nncurses\nxz\nicu\n\n"
  },
  {
    "path": "testdata/db/local/libxrender-0.9.10-4/desc",
    "content": "%NAME%\nlibxrender\n\n%VERSION%\n0.9.10-4\n\n%BASE%\nlibxrender\n\n%DESC%\nX Rendering Extension client library\n\n%URL%\nhttps://xorg.freedesktop.org/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1589636731\n\n%INSTALLDATE%\n1621851264\n\n%PACKAGER%\nEvangelos Foutras <evangelos@foutrelis.com>\n\n%SIZE%\n79418\n\n%REASON%\n1\n\n%LICENSE%\ncustom\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nlibx11\n\n"
  },
  {
    "path": "testdata/db/local/libxrender-0.9.10-4/files",
    "content": "%FILES%\nusr/\nusr/include/\nusr/include/X11/\nusr/include/X11/extensions/\nusr/include/X11/extensions/Xrender.h\nusr/lib/\nusr/lib/libXrender.so\nusr/lib/libXrender.so.1\nusr/lib/libXrender.so.1.3.0\nusr/lib/pkgconfig/\nusr/lib/pkgconfig/xrender.pc\nusr/share/\nusr/share/doc/\nusr/share/doc/libXrender/\nusr/share/doc/libXrender/libXrender.txt\nusr/share/licenses/\nusr/share/licenses/libxrender/\nusr/share/licenses/libxrender/COPYING\n\n"
  },
  {
    "path": "testdata/db/local/licenses-20200427-1/desc",
    "content": "%NAME%\nlicenses\n\n%VERSION%\n20200427-1\n\n%BASE%\nlicenses\n\n%DESC%\nStandard licenses distribution package\n\n%URL%\nhttps://www.archlinux.org/\n\n%ARCH%\nany\n\n%BUILDDATE%\n1587995067\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nJelle van der Waa <jelle@vdwaa.nl>\n\n%SIZE%\n425851\n\n%REASON%\n1\n\n%LICENSE%\ncustom:none\n\n%VALIDATION%\npgp\n\n"
  },
  {
    "path": "testdata/db/local/linux-api-headers-5.10.13-1/desc",
    "content": "%NAME%\nlinux-api-headers\n\n%VERSION%\n5.10.13-1\n\n%BASE%\nlinux-api-headers\n\n%DESC%\nKernel headers sanitized for use in userspace\n\n%URL%\nhttps://www.gnu.org/software/libc\n\n%ARCH%\nany\n\n%BUILDDATE%\n1612402356\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nAllan McRae <allan@archlinux.org>\n\n%SIZE%\n4971443\n\n%REASON%\n1\n\n%LICENSE%\nGPL2\n\n%VALIDATION%\npgp\n\n"
  },
  {
    "path": "testdata/db/local/lz4-1:1.9.3-1/desc",
    "content": "%NAME%\nlz4\n\n%VERSION%\n1:1.9.3-1\n\n%BASE%\nlz4\n\n%DESC%\nExtremely fast compression algorithm\n\n%URL%\nhttp://www.lz4.org/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1607445300\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nSébastien Luttringer <seblu@seblu.net>\n\n%SIZE%\n431144\n\n%REASON%\n1\n\n%LICENSE%\nGPL2\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\n\n"
  },
  {
    "path": "testdata/db/local/lzo-2.10-3/desc",
    "content": "%NAME%\nlzo\n\n%VERSION%\n2.10-3\n\n%BASE%\nlzo\n\n%DESC%\nPortable lossless data compression library\n\n%URL%\nhttps://www.oberhumer.com/opensource/lzo\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1573662199\n\n%INSTALLDATE%\n1621851264\n\n%PACKAGER%\nEvangelos Foutras <evangelos@foutrelis.com>\n\n%SIZE%\n411661\n\n%REASON%\n1\n\n%LICENSE%\nGPL\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\n\n"
  },
  {
    "path": "testdata/db/local/lzo-2.10-3/files",
    "content": "%FILES%\nusr/\nusr/include/\nusr/include/lzo/\nusr/include/lzo/lzo1.h\nusr/include/lzo/lzo1a.h\nusr/include/lzo/lzo1b.h\nusr/include/lzo/lzo1c.h\nusr/include/lzo/lzo1f.h\nusr/include/lzo/lzo1x.h\nusr/include/lzo/lzo1y.h\nusr/include/lzo/lzo1z.h\nusr/include/lzo/lzo2a.h\nusr/include/lzo/lzo_asm.h\nusr/include/lzo/lzoconf.h\nusr/include/lzo/lzodefs.h\nusr/include/lzo/lzoutil.h\nusr/include/lzo/minilzo.h\nusr/lib/\nusr/lib/liblzo2.so\nusr/lib/liblzo2.so.2\nusr/lib/liblzo2.so.2.0.0\nusr/lib/libminilzo.so\nusr/lib/libminilzo.so.0\nusr/lib/pkgconfig/\nusr/lib/pkgconfig/lzo2.pc\nusr/share/\nusr/share/doc/\nusr/share/doc/lzo/\nusr/share/doc/lzo/AUTHORS\nusr/share/doc/lzo/COPYING\nusr/share/doc/lzo/LZO.FAQ\nusr/share/doc/lzo/LZO.TXT\nusr/share/doc/lzo/LZOAPI.TXT\nusr/share/doc/lzo/NEWS\nusr/share/doc/lzo/THANKS\n\n"
  },
  {
    "path": "testdata/db/local/mpfr-4.1.0-1/desc",
    "content": "%NAME%\nmpfr\n\n%VERSION%\n4.1.0-1\n\n%BASE%\nmpfr\n\n%DESC%\nMultiple-precision floating-point library\n\n%URL%\nhttps://www.mpfr.org/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1596991596\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nBartłomiej Piotrowski <bpiotrowski@archlinux.org>\n\n%SIZE%\n3072705\n\n%REASON%\n1\n\n%LICENSE%\nLGPL\n\n%VALIDATION%\npgp\n\n%DEPENDS%\ngmp>=5.0\n\n"
  },
  {
    "path": "testdata/db/local/ncurses-6.2-1/desc",
    "content": "%NAME%\nncurses\n\n%VERSION%\n6.2-1\n\n%BASE%\nncurses\n\n%DESC%\nSystem V Release 4.0 curses emulation library\n\n%URL%\nhttps://invisible-island.net/ncurses/ncurses.html\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1581581308\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nBartłomiej Piotrowski <bpiotrowski@archlinux.org>\n\n%SIZE%\n3721271\n\n%REASON%\n1\n\n%LICENSE%\nMIT\n\n%VALIDATION%\npgp\n\n%REPLACES%\nalacritty-terminfo\n\n%DEPENDS%\nglibc\ngcc-libs\n\n%PROVIDES%\nlibncurses++w.so=6-64\nlibformw.so=6-64\nlibmenuw.so=6-64\nlibpanelw.so=6-64\nlibncursesw.so=6-64\n\n"
  },
  {
    "path": "testdata/db/local/nettle-3.7.2-1/desc",
    "content": "%NAME%\nnettle\n\n%VERSION%\n3.7.2-1\n\n%BASE%\nnettle\n\n%DESC%\nA low-level cryptographic library\n\n%URL%\nhttps://www.lysator.liu.se/~nisse/nettle\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1616322479\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nAndreas Radke <andyrtr@archlinux.org>\n\n%SIZE%\n993232\n\n%REASON%\n1\n\n%LICENSE%\nGPL2\n\n%VALIDATION%\npgp\n\n%DEPENDS%\ngmp\n\n%PROVIDES%\nlibnettle.so=8-64\nlibhogweed.so=6-64\n\n"
  },
  {
    "path": "testdata/db/local/npth-1.6-3/desc",
    "content": "%NAME%\nnpth\n\n%VERSION%\n1.6-3\n\n%BASE%\nnpth\n\n%DESC%\nThe new GNU portable threads library\n\n%URL%\nhttps://www.gnupg.org/software/npth/index.html\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1612908545\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nDavid Runge <dvzrv@archlinux.org>\n\n%SIZE%\n70707\n\n%REASON%\n1\n\n%LICENSE%\nLGPL2.1\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\nsh\n\n%PROVIDES%\nlibnpth.so=0-64\n\n"
  },
  {
    "path": "testdata/db/local/openssl-1.1.1.k-1/desc",
    "content": "%NAME%\nopenssl\n\n%VERSION%\n1.1.1.k-1\n\n%BASE%\nopenssl\n\n%DESC%\nThe Open Source toolkit for Secure Sockets Layer and Transport Layer Security\n\n%URL%\nhttps://www.openssl.org\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1616689671\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nPierre Schmitz <pierre@archlinux.de>\n\n%SIZE%\n7671273\n\n%REASON%\n1\n\n%LICENSE%\ncustom:BSD\n\n%VALIDATION%\npgp\n\n%REPLACES%\nopenssl-perl\nopenssl-doc\n\n%DEPENDS%\nglibc\n\n%OPTDEPENDS%\nca-certificates\nperl\n\n"
  },
  {
    "path": "testdata/db/local/opus-1.3.1-2/desc",
    "content": "%NAME%\nopus\n\n%VERSION%\n1.3.1-2\n\n%BASE%\nopus\n\n%DESC%\nTotally open, royalty-free, highly versatile audio codec\n\n%URL%\nhttps://www.opus-codec.org/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1589876005\n\n%INSTALLDATE%\n1621851264\n\n%PACKAGER%\nEvangelos Foutras <evangelos@foutrelis.com>\n\n%SIZE%\n1827352\n\n%REASON%\n1\n\n%LICENSE%\nBSD\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\n\n"
  },
  {
    "path": "testdata/db/local/opus-1.3.1-2/files",
    "content": "%FILES%\nusr/\nusr/include/\nusr/include/opus/\nusr/include/opus/opus.h\nusr/include/opus/opus_custom.h\nusr/include/opus/opus_defines.h\nusr/include/opus/opus_multistream.h\nusr/include/opus/opus_projection.h\nusr/include/opus/opus_types.h\nusr/lib/\nusr/lib/libopus.so\nusr/lib/libopus.so.0\nusr/lib/libopus.so.0.8.0\nusr/lib/pkgconfig/\nusr/lib/pkgconfig/opus.pc\nusr/share/\nusr/share/aclocal/\nusr/share/aclocal/opus.m4\nusr/share/doc/\nusr/share/doc/opus/\nusr/share/doc/opus/html/\nusr/share/doc/opus/html/bc_s.png\nusr/share/doc/opus/html/bdwn.png\nusr/share/doc/opus/html/closed.png\nusr/share/doc/opus/html/customdoxygen.css\nusr/share/doc/opus/html/dir_d44c64559bbebec7f509842c48db8b23.html\nusr/share/doc/opus/html/doc.png\nusr/share/doc/opus/html/doxygen.png\nusr/share/doc/opus/html/dynsections.js\nusr/share/doc/opus/html/files.html\nusr/share/doc/opus/html/folderclosed.png\nusr/share/doc/opus/html/folderopen.png\nusr/share/doc/opus/html/globals.html\nusr/share/doc/opus/html/globals_defs.html\nusr/share/doc/opus/html/globals_func.html\nusr/share/doc/opus/html/globals_type.html\nusr/share/doc/opus/html/group__opus__ctlvalues.html\nusr/share/doc/opus/html/group__opus__custom.html\nusr/share/doc/opus/html/group__opus__decoder.html\nusr/share/doc/opus/html/group__opus__decoderctls.html\nusr/share/doc/opus/html/group__opus__encoder.html\nusr/share/doc/opus/html/group__opus__encoderctls.html\nusr/share/doc/opus/html/group__opus__errorcodes.html\nusr/share/doc/opus/html/group__opus__genericctls.html\nusr/share/doc/opus/html/group__opus__libinfo.html\nusr/share/doc/opus/html/group__opus__multistream.html\nusr/share/doc/opus/html/group__opus__multistream__ctls.html\nusr/share/doc/opus/html/group__opus__repacketizer.html\nusr/share/doc/opus/html/index.html\nusr/share/doc/opus/html/jquery.js\nusr/share/doc/opus/html/menu.js\nusr/share/doc/opus/html/menudata.js\nusr/share/doc/opus/html/modules.html\nusr/share/doc/opus/html/nav_f.png\nusr/share/doc/opus/html/nav_g.png\nusr/share/doc/opus/html/nav_h.png\nusr/share/doc/opus/html/open.png\nusr/share/doc/opus/html/opus_8h.html\nusr/share/doc/opus/html/opus_8h_source.html\nusr/share/doc/opus/html/opus__custom_8h.html\nusr/share/doc/opus/html/opus__custom_8h_source.html\nusr/share/doc/opus/html/opus__defines_8h.html\nusr/share/doc/opus/html/opus__defines_8h_source.html\nusr/share/doc/opus/html/opus__multistream_8h.html\nusr/share/doc/opus/html/opus__multistream_8h_source.html\nusr/share/doc/opus/html/opus__types_8h.html\nusr/share/doc/opus/html/opus__types_8h_source.html\nusr/share/doc/opus/html/opus_logo.svg\nusr/share/doc/opus/html/search/\nusr/share/doc/opus/html/search/all_0.html\nusr/share/doc/opus/html/search/all_0.js\nusr/share/doc/opus/html/search/all_1.html\nusr/share/doc/opus/html/search/all_1.js\nusr/share/doc/opus/html/search/all_2.html\nusr/share/doc/opus/html/search/all_2.js\nusr/share/doc/opus/html/search/all_3.html\nusr/share/doc/opus/html/search/all_3.js\nusr/share/doc/opus/html/search/all_4.html\nusr/share/doc/opus/html/search/all_4.js\nusr/share/doc/opus/html/search/all_5.html\nusr/share/doc/opus/html/search/all_5.js\nusr/share/doc/opus/html/search/all_6.html\nusr/share/doc/opus/html/search/all_6.js\nusr/share/doc/opus/html/search/close.png\nusr/share/doc/opus/html/search/defines_0.html\nusr/share/doc/opus/html/search/defines_0.js\nusr/share/doc/opus/html/search/files_0.html\nusr/share/doc/opus/html/search/files_0.js\nusr/share/doc/opus/html/search/functions_0.html\nusr/share/doc/opus/html/search/functions_0.js\nusr/share/doc/opus/html/search/groups_0.html\nusr/share/doc/opus/html/search/groups_0.js\nusr/share/doc/opus/html/search/groups_1.html\nusr/share/doc/opus/html/search/groups_1.js\nusr/share/doc/opus/html/search/groups_2.html\nusr/share/doc/opus/html/search/groups_2.js\nusr/share/doc/opus/html/search/groups_3.html\nusr/share/doc/opus/html/search/groups_3.js\nusr/share/doc/opus/html/search/groups_4.html\nusr/share/doc/opus/html/search/groups_4.js\nusr/share/doc/opus/html/search/groups_5.html\nusr/share/doc/opus/html/search/groups_5.js\nusr/share/doc/opus/html/search/groups_6.html\nusr/share/doc/opus/html/search/groups_6.js\nusr/share/doc/opus/html/search/mag_sel.png\nusr/share/doc/opus/html/search/nomatches.html\nusr/share/doc/opus/html/search/pages_0.html\nusr/share/doc/opus/html/search/pages_0.js\nusr/share/doc/opus/html/search/search.css\nusr/share/doc/opus/html/search/search.js\nusr/share/doc/opus/html/search/search_l.png\nusr/share/doc/opus/html/search/search_m.png\nusr/share/doc/opus/html/search/search_r.png\nusr/share/doc/opus/html/search/searchdata.js\nusr/share/doc/opus/html/search/typedefs_0.html\nusr/share/doc/opus/html/search/typedefs_0.js\nusr/share/doc/opus/html/splitbar.png\nusr/share/doc/opus/html/sync_off.png\nusr/share/doc/opus/html/sync_on.png\nusr/share/doc/opus/html/tab_a.png\nusr/share/doc/opus/html/tab_b.png\nusr/share/doc/opus/html/tab_h.png\nusr/share/doc/opus/html/tab_s.png\nusr/share/doc/opus/html/tabs.css\nusr/share/licenses/\nusr/share/licenses/opus/\nusr/share/licenses/opus/COPYING\nusr/share/man/\nusr/share/man/man3/\nusr/share/man/man3/opus_ctlvalues.3.gz\nusr/share/man/man3/opus_custom.3.gz\nusr/share/man/man3/opus_custom.h.3.gz\nusr/share/man/man3/opus_decoder.3.gz\nusr/share/man/man3/opus_decoderctls.3.gz\nusr/share/man/man3/opus_defines.h.3.gz\nusr/share/man/man3/opus_encoder.3.gz\nusr/share/man/man3/opus_encoderctls.3.gz\nusr/share/man/man3/opus_errorcodes.3.gz\nusr/share/man/man3/opus_genericctls.3.gz\nusr/share/man/man3/opus_libinfo.3.gz\nusr/share/man/man3/opus_multistream.3.gz\nusr/share/man/man3/opus_multistream.h.3.gz\nusr/share/man/man3/opus_multistream_ctls.3.gz\nusr/share/man/man3/opus_repacketizer.3.gz\nusr/share/man/man3/opus_types.h.3.gz\n\n"
  },
  {
    "path": "testdata/db/local/p11-kit-0.23.22-1/desc",
    "content": "%NAME%\np11-kit\n\n%VERSION%\n0.23.22-1\n\n%BASE%\np11-kit\n\n%DESC%\nLoads and enumerates PKCS#11 modules\n\n%URL%\nhttps://p11-glue.freedesktop.org\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1607778149\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nJan Alexander Steffens (heftig) <heftig@archlinux.org>\n\n%SIZE%\n731802\n\n%REASON%\n1\n\n%LICENSE%\nBSD\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nlibp11-kit=0.23.22-1\ncoreutils\nlibp11-kit.so=0-64\nlibsystemd.so=0-64\n\n"
  },
  {
    "path": "testdata/db/local/p11-kit-0.23.22-1/install",
    "content": "_global_units() {\n    local unit=p11-kit-server.socket dir=/etc/systemd/user/sockets.target.wants\n\n    case $1 in\n        enable)\n            mkdir -p $dir\n            ln -sf /usr/lib/systemd/user/$unit $dir/$unit\n            ;;\n        disable)\n            rm -f $dir/$unit\n            rmdir -p --ignore-fail-on-non-empty $dir\n            ;;\n    esac\n}\n\npost_install() {\n  # Enable socket by default\n  _global_units enable\n}\n\npre_remove() {\n  _global_units disable\n}\n"
  },
  {
    "path": "testdata/db/local/pacman-5.2.2-3/desc",
    "content": "%NAME%\npacman\n\n%VERSION%\n5.2.2-3\n\n%BASE%\npacman\n\n%DESC%\nA library-based package manager with dependency support\n\n%URL%\nhttps://www.archlinux.org/pacman/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1616930391\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nAllan McRae <allan@archlinux.org>\n\n%SIZE%\n4647842\n\n%REASON%\n1\n\n%GROUPS%\nbase-devel\n\n%LICENSE%\nGPL\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nbash\nglibc\nlibarchive\ncurl\ngpgme\npacman-mirrorlist\narchlinux-keyring\n\n%OPTDEPENDS%\nperl-locale-gettext: translation support in makepkg-template\n\n%PROVIDES%\nlibalpm.so=12-64\n\n"
  },
  {
    "path": "testdata/db/local/pacman-mirrorlist-20210405-1/desc",
    "content": "%NAME%\npacman-mirrorlist\n\n%VERSION%\n20210405-1\n\n%BASE%\npacman-mirrorlist\n\n%DESC%\nArch Linux mirror list for use by pacman\n\n%URL%\nhttps://www.archlinux.org/mirrorlist/\n\n%ARCH%\nany\n\n%BUILDDATE%\n1617633510\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nFlorian Pritz <bluewind@xinu.at>\n\n%SIZE%\n38282\n\n%REASON%\n1\n\n%LICENSE%\nGPL\n\n%VALIDATION%\npgp\n\n"
  },
  {
    "path": "testdata/db/local/pam-1.5.1-1/desc",
    "content": "%NAME%\npam\n\n%VERSION%\n1.5.1-1\n\n%BASE%\npam\n\n%DESC%\nPAM (Pluggable Authentication Modules) library\n\n%URL%\nhttp://linux-pam.org\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1610578255\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nLevente Polyak <anthraxx@archlinux.org>\n\n%SIZE%\n2770065\n\n%REASON%\n1\n\n%LICENSE%\nGPL2\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\nlibtirpc\npambase\naudit\nlibaudit.so=1-64\nlibxcrypt\nlibcrypt.so=2-64\n\n%PROVIDES%\nlibpam.so=0-64\nlibpamc.so=0-64\nlibpam_misc.so=0-64\n\n"
  },
  {
    "path": "testdata/db/local/pambase-20200721.1-2/desc",
    "content": "%NAME%\npambase\n\n%VERSION%\n20200721.1-2\n\n%BASE%\npambase\n\n%DESC%\nBase PAM configuration for services\n\n%URL%\nhttps://www.archlinux.org\n\n%ARCH%\nany\n\n%BUILDDATE%\n1597260877\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nTobias Powalowski <tpowa@archlinux.org>\n\n%SIZE%\n2699\n\n%REASON%\n1\n\n%LICENSE%\nGPL\n\n%VALIDATION%\npgp\n\n"
  },
  {
    "path": "testdata/db/local/pciutils-3.7.0-1/desc",
    "content": "%NAME%\npciutils\n\n%VERSION%\n3.7.0-1\n\n%BASE%\npciutils\n\n%DESC%\nPCI bus configuration space access library and tools\n\n%URL%\nhttps://mj.ucw.cz/sw/pciutils/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1591447992\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nAntonio Rojas <arojas@archlinux.org>\n\n%SIZE%\n279696\n\n%REASON%\n1\n\n%LICENSE%\nGPL2\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\nhwids\nkmod\n\n"
  },
  {
    "path": "testdata/db/local/pcre-8.44-1/desc",
    "content": "%NAME%\npcre\n\n%VERSION%\n8.44-1\n\n%BASE%\npcre\n\n%DESC%\nA library that implements Perl 5-style regular expressions\n\n%URL%\nhttps://www.pcre.org/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1583969455\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nFelix Yan <felixonmars@archlinux.org>\n\n%SIZE%\n3567076\n\n%REASON%\n1\n\n%LICENSE%\nBSD\n\n%VALIDATION%\npgp\n\n%DEPENDS%\ngcc-libs\nreadline\nzlib\nbzip2\nbash\n\n"
  },
  {
    "path": "testdata/db/local/pcre2-10.36-1/desc",
    "content": "%NAME%\npcre2\n\n%VERSION%\n10.36-1\n\n%BASE%\npcre2\n\n%DESC%\nA library that implements Perl 5-style regular expressions. 2nd version\n\n%URL%\nhttps://www.pcre.org/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1607120922\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nFelix Yan <felixonmars@archlinux.org>\n\n%SIZE%\n4113361\n\n%REASON%\n1\n\n%LICENSE%\nBSD\n\n%VALIDATION%\npgp\n\n%DEPENDS%\ngcc-libs\nreadline\nzlib\nbzip2\nbash\n\n"
  },
  {
    "path": "testdata/db/local/pinentry-1.1.1-1/desc",
    "content": "%NAME%\npinentry\n\n%VERSION%\n1.1.1-1\n\n%BASE%\npinentry\n\n%DESC%\nCollection of simple PIN or passphrase entry dialogs which utilize the Assuan protocol\n\n%URL%\nhttps://gnupg.org/related_software/pinentry/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1616330941\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nLevente Polyak <anthraxx@archlinux.org>\n\n%SIZE%\n522827\n\n%REASON%\n1\n\n%LICENSE%\nGPL\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\nncurses\nlibcap\nlibassuan\nlibsecret\nglib2\nlibsecret-1.so=0-64\nlibcap.so=2-64\nlibncursesw.so=6-64\nlibassuan.so=0-64\nlibglib-2.0.so=0-64\n\n%OPTDEPENDS%\ngtk2: gtk2 backend\nqt5-base: qt backend\ngcr: gnome3 backend\n\n"
  },
  {
    "path": "testdata/db/local/pixman-0.40.0-1/desc",
    "content": "%NAME%\npixman\n\n%VERSION%\n0.40.0-1\n\n%BASE%\npixman\n\n%DESC%\nThe pixel-manipulation library for X and cairo\n\n%URL%\nhttps://cgit.freedesktop.org/pixman/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1587360642\n\n%INSTALLDATE%\n1621851264\n\n%PACKAGER%\nAndreas Radke <andyrtr@archlinux.org>\n\n%SIZE%\n733600\n\n%REASON%\n1\n\n%LICENSE%\ncustom\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\n\n%PROVIDES%\nlibpixman-1.so=0-64\n\n"
  },
  {
    "path": "testdata/db/local/pixman-0.40.0-1/files",
    "content": "%FILES%\nusr/\nusr/include/\nusr/include/pixman-1/\nusr/include/pixman-1/pixman-version.h\nusr/include/pixman-1/pixman.h\nusr/lib/\nusr/lib/libpixman-1.so\nusr/lib/libpixman-1.so.0\nusr/lib/libpixman-1.so.0.40.0\nusr/lib/pkgconfig/\nusr/lib/pkgconfig/pixman-1.pc\nusr/share/\nusr/share/licenses/\nusr/share/licenses/pixman/\nusr/share/licenses/pixman/COPYING\n\n"
  },
  {
    "path": "testdata/db/local/polybar-1.0.0-1/desc",
    "content": "%NAME%\npolybar\n\n%VERSION%\n1.0.0-1\n\n%BASE%\npolybar\n\n%DESC%\nA fast and easy-to-use status bar\n\n%URL%\n\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1621851049\n\n%INSTALLDATE%\n1621851264\n\n%PACKAGER%\nUnknown Packager\n\n%VALIDATION%\nnone\n\n%DEPENDS%\ncairo\nxcb-util-image\nxcb-util-wm\nxcb-util-xrm\nxcb-util-cursor\nalsa-lib\nlibpulse\nlibmpdclient\nlibnl\njsoncpp\ncurl\n\n%OPTDEPENDS%\ni3-wm: i3 module support\nttf-unifont: Font used in example config\nsiji-git: Font used in example config\nxorg-fonts-misc: Font used in example config\n\n%CONFLICTS%\npolybar-git\n\n"
  },
  {
    "path": "testdata/db/local/polybar-1.0.0-1/files",
    "content": ""
  },
  {
    "path": "testdata/db/local/popt-1.18-1/desc",
    "content": "%NAME%\npopt\n\n%VERSION%\n1.18-1\n\n%BASE%\npopt\n\n%DESC%\nA commandline option parser\n\n%URL%\nhttps://github.com/rpm-software-management/popt\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1593267132\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nJelle van der Waa <jelle@archlinux.org>\n\n%SIZE%\n220572\n\n%REASON%\n1\n\n%LICENSE%\ncustom\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\n\n"
  },
  {
    "path": "testdata/db/local/procps-ng-3.3.17-1/desc",
    "content": "%NAME%\nprocps-ng\n\n%VERSION%\n3.3.17-1\n\n%BASE%\nprocps-ng\n\n%DESC%\nUtilities for monitoring your system and its processes\n\n%URL%\nhttps://gitlab.com/procps-ng/procps\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1613243118\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nLevente Polyak <anthraxx@archlinux.org>\n\n%SIZE%\n1604282\n\n%REASON%\n1\n\n%LICENSE%\nGPL\nLGPL\n\n%VALIDATION%\npgp\n\n%REPLACES%\nprocps\nsysvinit-tools\n\n%DEPENDS%\nglibc\nncurses\nlibncursesw.so=6-64\nsystemd-libs\n\n%CONFLICTS%\nprocps\nsysvinit-tools\n\n%PROVIDES%\nprocps\nsysvinit-tools\nlibprocps.so=8-64\n\n"
  },
  {
    "path": "testdata/db/local/psmisc-23.4-1/desc",
    "content": "%NAME%\npsmisc\n\n%VERSION%\n23.4-1\n\n%BASE%\npsmisc\n\n%DESC%\nMiscellaneous procfs tools\n\n%URL%\nhttps://gitlab.com/psmisc/psmisc\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1612727867\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nChristian Hesse <arch@eworm.de>\n\n%SIZE%\n646425\n\n%REASON%\n1\n\n%LICENSE%\nGPL\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nncurses\n\n"
  },
  {
    "path": "testdata/db/local/readline-8.1.0-2/desc",
    "content": "%NAME%\nreadline\n\n%VERSION%\n8.1.0-2\n\n%BASE%\nreadline\n\n%DESC%\nGNU readline library\n\n%URL%\nhttps://tiswww.case.edu/php/chet/readline/rltop.html\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1607449720\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nGiancarlo Razzolini <grazzolini@archlinux.org>\n\n%SIZE%\n748546\n\n%REASON%\n1\n\n%LICENSE%\nGPL\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\nncurses\nlibncursesw.so=6-64\n\n%PROVIDES%\nlibhistory.so=8-64\nlibreadline.so=8-64\n\n"
  },
  {
    "path": "testdata/db/local/sed-4.8-1/desc",
    "content": "%NAME%\nsed\n\n%VERSION%\n4.8-1\n\n%BASE%\nsed\n\n%DESC%\nGNU stream editor\n\n%URL%\nhttps://www.gnu.org/software/sed/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1579093679\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nSébastien Luttringer <seblu@seblu.net>\n\n%SIZE%\n753464\n\n%REASON%\n1\n\n%GROUPS%\nbase-devel\n\n%LICENSE%\nGPL3\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\nacl\nattr\n\n"
  },
  {
    "path": "testdata/db/local/shadow-4.8.1-4/desc",
    "content": "%NAME%\nshadow\n\n%VERSION%\n4.8.1-4\n\n%BASE%\nshadow\n\n%DESC%\nPassword and account management tool suite with support for shadow files and PAM\n\n%URL%\nhttps://github.com/shadow-maint/shadow\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1599486121\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nChristian Hesse <arch@eworm.de>\n\n%SIZE%\n3914448\n\n%REASON%\n1\n\n%LICENSE%\nBSD\n\n%VALIDATION%\npgp\n\n%DEPENDS%\npam\nacl\nlibacl.so=1-64\naudit\nlibaudit.so=1-64\nlibcap-ng\nlibcap-ng.so\nlibxcrypt\nlibcrypt.so=2-64\n\n"
  },
  {
    "path": "testdata/db/local/shadow-4.8.1-4/install",
    "content": "setcaps() {\n  _setcap() {\n    if filecap \"$1\" \"$2\"; then\n      chmod -s \"$1\"\n    fi\n  }\n\n  # shadow ships these as setuid, but if we can apply file caps, use those instead.\n  # 'filecap' insists on absolute paths\n  _setcap /usr/bin/newuidmap setuid\n  _setcap /usr/bin/newgidmap setgid\n}\n\npost_install() {\n  setcaps\n}\n\npost_upgrade() {\n  setcaps\n}\n\n# vim:set ts=2 sw=2 et:\n"
  },
  {
    "path": "testdata/db/local/speex-1.2.0-3/desc",
    "content": "%NAME%\nspeex\n\n%VERSION%\n1.2.0-3\n\n%BASE%\nspeex\n\n%DESC%\nA free codec for free speech\n\n%URL%\nhttps://speex.org/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1589620889\n\n%INSTALLDATE%\n1621851264\n\n%PACKAGER%\nEvangelos Foutras <evangelos@foutrelis.com>\n\n%SIZE%\n651087\n\n%REASON%\n1\n\n%LICENSE%\nBSD\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nlibogg\nspeexdsp\n\n"
  },
  {
    "path": "testdata/db/local/speex-1.2.0-3/files",
    "content": "%FILES%\nusr/\nusr/bin/\nusr/bin/speexdec\nusr/bin/speexenc\nusr/include/\nusr/include/speex/\nusr/include/speex/speex.h\nusr/include/speex/speex_bits.h\nusr/include/speex/speex_callbacks.h\nusr/include/speex/speex_config_types.h\nusr/include/speex/speex_header.h\nusr/include/speex/speex_stereo.h\nusr/include/speex/speex_types.h\nusr/lib/\nusr/lib/libspeex.so\nusr/lib/libspeex.so.1\nusr/lib/libspeex.so.1.5.1\nusr/lib/pkgconfig/\nusr/lib/pkgconfig/speex.pc\nusr/share/\nusr/share/aclocal/\nusr/share/aclocal/speex.m4\nusr/share/doc/\nusr/share/doc/speex/\nusr/share/doc/speex/manual.pdf\nusr/share/licenses/\nusr/share/licenses/speex/\nusr/share/licenses/speex/LICENSE\nusr/share/man/\nusr/share/man/man1/\nusr/share/man/man1/speexdec.1.gz\nusr/share/man/man1/speexenc.1.gz\n\n"
  },
  {
    "path": "testdata/db/local/speexdsp-1.2.0-2/desc",
    "content": "%NAME%\nspeexdsp\n\n%VERSION%\n1.2.0-2\n\n%BASE%\nspeexdsp\n\n%DESC%\nDSP library derived from Speex\n\n%URL%\nhttps://www.speex.org/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1589876146\n\n%INSTALLDATE%\n1621851264\n\n%PACKAGER%\nFelix Yan <felixonmars@archlinux.org>\n\n%SIZE%\n561943\n\n%REASON%\n1\n\n%LICENSE%\nBSD\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\n\n"
  },
  {
    "path": "testdata/db/local/speexdsp-1.2.0-2/files",
    "content": "%FILES%\nusr/\nusr/include/\nusr/include/speex/\nusr/include/speex/speex_echo.h\nusr/include/speex/speex_jitter.h\nusr/include/speex/speex_preprocess.h\nusr/include/speex/speex_resampler.h\nusr/include/speex/speexdsp_config_types.h\nusr/include/speex/speexdsp_types.h\nusr/lib/\nusr/lib/libspeexdsp.so\nusr/lib/libspeexdsp.so.1\nusr/lib/libspeexdsp.so.1.5.1\nusr/lib/pkgconfig/\nusr/lib/pkgconfig/speexdsp.pc\nusr/share/\nusr/share/doc/\nusr/share/doc/speexdsp/\nusr/share/doc/speexdsp/manual.pdf\nusr/share/licenses/\nusr/share/licenses/speexdsp/\nusr/share/licenses/speexdsp/COPYING\n\n"
  },
  {
    "path": "testdata/db/local/sqlite-3.35.5-1/desc",
    "content": "%NAME%\nsqlite\n\n%VERSION%\n3.35.5-1\n\n%BASE%\nsqlite\n\n%DESC%\nA C library that implements an SQL database engine\n\n%URL%\nhttps://www.sqlite.org/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1618901148\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nAndreas Radke <andyrtr@archlinux.org>\n\n%SIZE%\n9937446\n\n%REASON%\n1\n\n%LICENSE%\ncustom:Public Domain\n\n%VALIDATION%\npgp\n\n%REPLACES%\nsqlite3\n\n%DEPENDS%\nreadline\nzlib\n\n%PROVIDES%\nsqlite3=3.35.5\n\n"
  },
  {
    "path": "testdata/db/local/systemd-248-5/desc",
    "content": "%NAME%\nsystemd\n\n%VERSION%\n248-5\n\n%BASE%\nsystemd\n\n%DESC%\nsystem and service manager\n\n%URL%\nhttps://www.github.com/systemd/systemd\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1618569146\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nChristian Hesse <arch@eworm.de>\n\n%SIZE%\n26248418\n\n%REASON%\n1\n\n%LICENSE%\nGPL2\nLGPL2.1\n\n%VALIDATION%\npgp\n\n%REPLACES%\nnss-myhostname\nsystemd-tools\nudev\n\n%DEPENDS%\nacl\nlibacl.so=1-64\nbash\ncryptsetup\nlibcryptsetup.so=12-64\ndbus\niptables\nkbd\nkmod\nlibkmod.so=2-64\nhwids\nlibcap\nlibcap.so=2-64\nlibgcrypt\nlibxcrypt\nlibcrypt.so=2-64\nsystemd-libs\nlibidn2\nlz4\npam\nlibelf\nlibseccomp\nlibseccomp.so=2-64\nutil-linux\nlibblkid.so=1-64\nlibmount.so=1-64\nxz\npcre2\naudit\nlibaudit.so=1-64\nlibp11-kit\nlibp11-kit.so=0-64\nopenssl\n\n%OPTDEPENDS%\nlibmicrohttpd: remote journald capabilities\nquota-tools: kernel-level quota management\nsystemd-sysvcompat: symlink package to provide sysvinit binaries\npolkit: allow administration as unprivileged user\ncurl: machinectl pull-tar and pull-raw\nlibfido2: unlocking LUKS2 volumes with FIDO2 token\ntpm2-tss: unlocking LUKS2 volumes with TPM2\n\n%CONFLICTS%\nnss-myhostname\nsystemd-tools\nudev\n\n%PROVIDES%\nnss-myhostname\nsystemd-tools=248\nudev=248\n\n"
  },
  {
    "path": "testdata/db/local/systemd-248-5/install",
    "content": "#!/bin/bash\n\nsd_booted() {\n  [[ -d run/systemd/system && ! -L run/systemd/system ]]\n}\n\nadd_journal_acls() {\n  # ignore errors, since the filesystem might not support ACLs\n  setfacl -Rnm g:wheel:rx,d:g:wheel:rx,g:adm:rx,d:g:adm:rx var/log/journal/ 2>/dev/null\n  :\n}\n\npost_common() {\n  systemd-sysusers\n  journalctl --update-catalog\n}\n\n_216_2_changes() {\n  echo ':: Coredumps are handled by systemd by default. Collection behavior can be'\n  echo '   tuned in /etc/systemd/coredump.conf.'\n}\n\n_219_2_changes() {\n  if mkdir -m2755 var/log/journal/remote 2>/dev/null; then\n    chgrp systemd-journal-remote var/log/journal/remote\n  fi\n}\n\n_219_4_changes() {\n  if ! systemctl is-enabled -q remote-fs.target; then\n    systemctl enable -q remote-fs.target\n  fi\n}\n\n_230_1_changes() {\n  echo ':: systemd-bootchart is no longer included with systemd'\n}\n\n_232_8_changes() {\n  # paper over possible effects of CVE-2016-10156\n  local stamps=(/var/lib/systemd/timers/*.timer)\n\n  if [[ -f ${stamps[0]} ]]; then\n    chmod 0644 \"${stamps[@]}\"\n  fi\n}\n\n_233_75_3_changes() {\n  # upstream installs services to /etc, which we remove\n  # to keep bus activation we re-enable systemd-resolved\n  if systemctl is-enabled -q systemd-resolved.service; then\n    systemctl reenable systemd-resolved.service 2>/dev/null\n  fi\n}\n\n_242_0_2_changes() {\n  if [[ -L var/lib/systemd/timesync ]]; then\n    rm var/lib/systemd/timesync\n    if [[ -d var/lib/private/systemd/timesync ]]; then\n      mv var/lib/{private/,}systemd/timesync\n    fi\n  fi\n}\n\npost_install() {\n  systemd-machine-id-setup\n\n  post_common \"$@\"\n\n  add_journal_acls\n\n  # enable some services by default, but don't track them\n  systemctl enable getty@tty1.service remote-fs.target\n\n  echo \":: Append 'init=/usr/lib/systemd/systemd' to your kernel command line in your\"\n  echo \"   bootloader to replace sysvinit with systemd, or install systemd-sysvcompat\"\n\n  # group 'systemd-journal-remote' is created by systemd-sysusers\n  mkdir -m2755 var/log/journal/remote\n  chgrp systemd-journal-remote var/log/journal/remote\n}\n\npost_upgrade() {\n  post_common \"$@\"\n\n  # don't reexec if the old version is 231-1 or 231-2.\n  # https://github.com/systemd/systemd/commit/bd64d82c1c\n  if [[ $1 != 231-[12] ]] && sd_booted; then\n    systemctl --system daemon-reexec\n  fi\n\n  local v upgrades=(\n    216-2\n    219-2\n    219-4\n    230-1\n    232-8\n    233.75-3\n    242.0-2\n  )\n\n  for v in \"${upgrades[@]}\"; do\n    if [[ $(vercmp \"$v\" \"$2\") -eq 1 ]]; then\n      \"_${v//[.-]/_}_changes\"\n    fi\n  done\n}\n\n# vim:set ts=2 sw=2 et:\n"
  },
  {
    "path": "testdata/db/local/systemd-libs-248-5/desc",
    "content": "%NAME%\nsystemd-libs\n\n%VERSION%\n248-5\n\n%BASE%\nsystemd\n\n%DESC%\nsystemd client libraries\n\n%URL%\nhttps://www.github.com/systemd/systemd\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1618569146\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nChristian Hesse <arch@eworm.de>\n\n%SIZE%\n1804424\n\n%REASON%\n1\n\n%LICENSE%\nLGPL2.1\n\n%VALIDATION%\npgp\n\n%REPLACES%\nlibsystemd\n\n%DEPENDS%\nglibc\nlibcap\nlibgcrypt\nlibp11-kit\nlz4\nxz\nzstd\n\n%CONFLICTS%\nlibsystemd\n\n%PROVIDES%\nlibsystemd\nlibsystemd.so=0-64\nlibudev.so=1-64\n\n"
  },
  {
    "path": "testdata/db/local/systemd-sysvcompat-248-5/desc",
    "content": "%NAME%\nsystemd-sysvcompat\n\n%VERSION%\n248-5\n\n%BASE%\nsystemd\n\n%DESC%\nsysvinit compat for systemd\n\n%URL%\nhttps://www.github.com/systemd/systemd\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1618569146\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nChristian Hesse <arch@eworm.de>\n\n%SIZE%\n2415\n\n%REASON%\n1\n\n%LICENSE%\nGPL2\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nsystemd\n\n%CONFLICTS%\nsysvinit\n\n"
  },
  {
    "path": "testdata/db/local/tar-1.34-1/desc",
    "content": "%NAME%\ntar\n\n%VERSION%\n1.34-1\n\n%BASE%\ntar\n\n%DESC%\nUtility used to store, backup, and transport files\n\n%URL%\nhttps://www.gnu.org/software/tar/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1613222230\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nSébastien Luttringer <seblu@seblu.net>\n\n%SIZE%\n3020748\n\n%REASON%\n1\n\n%LICENSE%\nGPL3\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\nacl\nattr\n\n"
  },
  {
    "path": "testdata/db/local/tzdata-2021a-1/desc",
    "content": "%NAME%\ntzdata\n\n%VERSION%\n2021a-1\n\n%BASE%\ntzdata\n\n%DESC%\nSources for time zone and daylight saving time data\n\n%URL%\nhttps://www.iana.org/time-zones\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1611519276\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nAndreas Radke <andyrtr@archlinux.org>\n\n%SIZE%\n2260660\n\n%REASON%\n1\n\n%LICENSE%\ncustom: public domain\n\n%VALIDATION%\npgp\n\n"
  },
  {
    "path": "testdata/db/local/util-linux-2.36.2-1/desc",
    "content": "%NAME%\nutil-linux\n\n%VERSION%\n2.36.2-1\n\n%BASE%\nutil-linux\n\n%DESC%\nMiscellaneous system utilities for Linux\n\n%URL%\nhttps://github.com/karelzak/util-linux\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1613141926\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nChristian Hesse <arch@eworm.de>\n\n%SIZE%\n14514648\n\n%REASON%\n1\n\n%LICENSE%\nGPL2\n\n%VALIDATION%\npgp\n\n%REPLACES%\nrfkill\n\n%DEPENDS%\npam\nshadow\ncoreutils\nsystemd-libs\nlibsystemd.so=0-64\nlibudev.so=1-64\nlibcap-ng\nlibxcrypt\nlibcrypt.so=2-64\nutil-linux-libs\nlibmagic.so=1-64\nlibncursesw.so=6-64\nlibreadline.so=8-64\n\n%OPTDEPENDS%\npython: python bindings to libmount\nwords: default dictionary for look\n\n%CONFLICTS%\nrfkill\n\n%PROVIDES%\nrfkill\n\n"
  },
  {
    "path": "testdata/db/local/util-linux-libs-2.36.2-1/desc",
    "content": "%NAME%\nutil-linux-libs\n\n%VERSION%\n2.36.2-1\n\n%BASE%\nutil-linux\n\n%DESC%\nutil-linux runtime libraries\n\n%URL%\nhttps://github.com/karelzak/util-linux\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1613141926\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nChristian Hesse <arch@eworm.de>\n\n%SIZE%\n1417112\n\n%REASON%\n1\n\n%LICENSE%\nGPL2\n\n%VALIDATION%\npgp\n\n%REPLACES%\nlibutil-linux\n\n%CONFLICTS%\nlibutil-linux\n\n%PROVIDES%\nlibutil-linux\nlibblkid.so=1-64\nlibfdisk.so=1-64\nlibmount.so=1-64\nlibsmartcols.so=1-64\nlibuuid.so=1-64\n\n"
  },
  {
    "path": "testdata/db/local/xcb-proto-1.14.1-3/desc",
    "content": "%NAME%\nxcb-proto\n\n%VERSION%\n1.14.1-3\n\n%BASE%\nxcb-proto\n\n%DESC%\nXML-XCB protocol descriptions\n\n%URL%\nhttps://xcb.freedesktop.org/\n\n%ARCH%\nany\n\n%BUILDDATE%\n1605107042\n\n%INSTALLDATE%\n1621851264\n\n%PACKAGER%\nEvangelos Foutras <foutrelis@archlinux.org>\n\n%SIZE%\n866468\n\n%REASON%\n1\n\n%LICENSE%\ncustom\n\n%VALIDATION%\npgp\n\n"
  },
  {
    "path": "testdata/db/local/xcb-proto-1.14.1-3/files",
    "content": "%FILES%\nusr/\nusr/lib/\nusr/lib/pkgconfig/\nusr/lib/pkgconfig/xcb-proto.pc\nusr/lib/python3.9/\nusr/lib/python3.9/site-packages/\nusr/lib/python3.9/site-packages/xcbgen/\nusr/lib/python3.9/site-packages/xcbgen/__init__.py\nusr/lib/python3.9/site-packages/xcbgen/__pycache__/\nusr/lib/python3.9/site-packages/xcbgen/__pycache__/__init__.cpython-39.opt-1.pyc\nusr/lib/python3.9/site-packages/xcbgen/__pycache__/__init__.cpython-39.pyc\nusr/lib/python3.9/site-packages/xcbgen/__pycache__/align.cpython-39.opt-1.pyc\nusr/lib/python3.9/site-packages/xcbgen/__pycache__/align.cpython-39.pyc\nusr/lib/python3.9/site-packages/xcbgen/__pycache__/error.cpython-39.opt-1.pyc\nusr/lib/python3.9/site-packages/xcbgen/__pycache__/error.cpython-39.pyc\nusr/lib/python3.9/site-packages/xcbgen/__pycache__/expr.cpython-39.opt-1.pyc\nusr/lib/python3.9/site-packages/xcbgen/__pycache__/expr.cpython-39.pyc\nusr/lib/python3.9/site-packages/xcbgen/__pycache__/matcher.cpython-39.opt-1.pyc\nusr/lib/python3.9/site-packages/xcbgen/__pycache__/matcher.cpython-39.pyc\nusr/lib/python3.9/site-packages/xcbgen/__pycache__/state.cpython-39.opt-1.pyc\nusr/lib/python3.9/site-packages/xcbgen/__pycache__/state.cpython-39.pyc\nusr/lib/python3.9/site-packages/xcbgen/__pycache__/xtypes.cpython-39.opt-1.pyc\nusr/lib/python3.9/site-packages/xcbgen/__pycache__/xtypes.cpython-39.pyc\nusr/lib/python3.9/site-packages/xcbgen/align.py\nusr/lib/python3.9/site-packages/xcbgen/error.py\nusr/lib/python3.9/site-packages/xcbgen/expr.py\nusr/lib/python3.9/site-packages/xcbgen/matcher.py\nusr/lib/python3.9/site-packages/xcbgen/state.py\nusr/lib/python3.9/site-packages/xcbgen/xtypes.py\nusr/share/\nusr/share/licenses/\nusr/share/licenses/xcb-proto/\nusr/share/licenses/xcb-proto/COPYING\nusr/share/xcb/\nusr/share/xcb/bigreq.xml\nusr/share/xcb/composite.xml\nusr/share/xcb/damage.xml\nusr/share/xcb/dpms.xml\nusr/share/xcb/dri2.xml\nusr/share/xcb/dri3.xml\nusr/share/xcb/ge.xml\nusr/share/xcb/glx.xml\nusr/share/xcb/present.xml\nusr/share/xcb/randr.xml\nusr/share/xcb/record.xml\nusr/share/xcb/render.xml\nusr/share/xcb/res.xml\nusr/share/xcb/screensaver.xml\nusr/share/xcb/shape.xml\nusr/share/xcb/shm.xml\nusr/share/xcb/sync.xml\nusr/share/xcb/xc_misc.xml\nusr/share/xcb/xcb.xsd\nusr/share/xcb/xevie.xml\nusr/share/xcb/xf86dri.xml\nusr/share/xcb/xf86vidmode.xml\nusr/share/xcb/xfixes.xml\nusr/share/xcb/xinerama.xml\nusr/share/xcb/xinput.xml\nusr/share/xcb/xkb.xml\nusr/share/xcb/xprint.xml\nusr/share/xcb/xproto.xml\nusr/share/xcb/xselinux.xml\nusr/share/xcb/xtest.xml\nusr/share/xcb/xv.xml\nusr/share/xcb/xvmc.xml\n\n"
  },
  {
    "path": "testdata/db/local/xcb-util-0.4.0-3/desc",
    "content": "%NAME%\nxcb-util\n\n%VERSION%\n0.4.0-3\n\n%BASE%\nxcb-util\n\n%DESC%\nUtility libraries for XC Binding\n\n%URL%\nhttps://xcb.freedesktop.org\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1588778518\n\n%INSTALLDATE%\n1621851264\n\n%PACKAGER%\nAllan McRae <allan@archlinux.org>\n\n%SIZE%\n39089\n\n%REASON%\n1\n\n%LICENSE%\ncustom\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nlibxcb>=1.7\n\n"
  },
  {
    "path": "testdata/db/local/xcb-util-0.4.0-3/files",
    "content": "%FILES%\nusr/\nusr/include/\nusr/include/xcb/\nusr/include/xcb/xcb_atom.h\nusr/include/xcb/xcb_aux.h\nusr/include/xcb/xcb_event.h\nusr/include/xcb/xcb_util.h\nusr/lib/\nusr/lib/libxcb-util.so\nusr/lib/libxcb-util.so.1\nusr/lib/libxcb-util.so.1.0.0\nusr/lib/pkgconfig/\nusr/lib/pkgconfig/xcb-atom.pc\nusr/lib/pkgconfig/xcb-aux.pc\nusr/lib/pkgconfig/xcb-event.pc\nusr/lib/pkgconfig/xcb-util.pc\nusr/share/\nusr/share/licenses/\nusr/share/licenses/xcb-util/\nusr/share/licenses/xcb-util/COPYING\n\n"
  },
  {
    "path": "testdata/db/local/xcb-util-cursor-0.1.3-3/desc",
    "content": "%NAME%\nxcb-util-cursor\n\n%VERSION%\n0.1.3-3\n\n%BASE%\nxcb-util-cursor\n\n%DESC%\nXCB cursor library\n\n%URL%\nhttps://cgit.freedesktop.org/xcb/util-cursor\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1588778460\n\n%INSTALLDATE%\n1621851264\n\n%PACKAGER%\nAllan McRae <allan@archlinux.org>\n\n%SIZE%\n33387\n\n%REASON%\n1\n\n%LICENSE%\ncustom:MIT\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nlibxcb\nxcb-util-renderutil\nxcb-util-image\n\n"
  },
  {
    "path": "testdata/db/local/xcb-util-cursor-0.1.3-3/files",
    "content": "%FILES%\nusr/\nusr/include/\nusr/include/xcb/\nusr/include/xcb/xcb_cursor.h\nusr/lib/\nusr/lib/libxcb-cursor.so\nusr/lib/libxcb-cursor.so.0\nusr/lib/libxcb-cursor.so.0.0.0\nusr/lib/pkgconfig/\nusr/lib/pkgconfig/xcb-cursor.pc\nusr/share/\nusr/share/licenses/\nusr/share/licenses/xcb-util-cursor/\nusr/share/licenses/xcb-util-cursor/LICENSE\n\n"
  },
  {
    "path": "testdata/db/local/xcb-util-image-0.4.0-3/desc",
    "content": "%NAME%\nxcb-util-image\n\n%VERSION%\n0.4.0-3\n\n%BASE%\nxcb-util-image\n\n%DESC%\nUtility libraries for XC Binding - Port of Xlib's XImage and XShmImage functions\n\n%URL%\nhttps://xcb.freedesktop.org\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1588778396\n\n%INSTALLDATE%\n1621851264\n\n%PACKAGER%\nAllan McRae <allan@archlinux.org>\n\n%SIZE%\n54054\n\n%REASON%\n1\n\n%LICENSE%\ncustom\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nlibxcb>=1.7\nxcb-util>=0.3.9\n\n"
  },
  {
    "path": "testdata/db/local/xcb-util-image-0.4.0-3/files",
    "content": "%FILES%\nusr/\nusr/include/\nusr/include/xcb/\nusr/include/xcb/xcb_bitops.h\nusr/include/xcb/xcb_image.h\nusr/include/xcb/xcb_pixel.h\nusr/lib/\nusr/lib/libxcb-image.so\nusr/lib/libxcb-image.so.0\nusr/lib/libxcb-image.so.0.0.0\nusr/lib/pkgconfig/\nusr/lib/pkgconfig/xcb-image.pc\nusr/share/\nusr/share/licenses/\nusr/share/licenses/xcb-util-image/\nusr/share/licenses/xcb-util-image/COPYING\n\n"
  },
  {
    "path": "testdata/db/local/xcb-util-renderutil-0.3.9-3/desc",
    "content": "%NAME%\nxcb-util-renderutil\n\n%VERSION%\n0.3.9-3\n\n%BASE%\nxcb-util-renderutil\n\n%DESC%\nUtility libraries for XC Binding - Convenience functions for the Render extension\n\n%URL%\nhttps://xcb.freedesktop.org\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1588778300\n\n%INSTALLDATE%\n1621851264\n\n%PACKAGER%\nAllan McRae <allan@archlinux.org>\n\n%SIZE%\n36813\n\n%REASON%\n1\n\n%LICENSE%\ncustom\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nlibxcb>=1.7\n\n"
  },
  {
    "path": "testdata/db/local/xcb-util-renderutil-0.3.9-3/files",
    "content": "%FILES%\nusr/\nusr/include/\nusr/include/xcb/\nusr/include/xcb/xcb_renderutil.h\nusr/lib/\nusr/lib/libxcb-render-util.so\nusr/lib/libxcb-render-util.so.0\nusr/lib/libxcb-render-util.so.0.0.0\nusr/lib/pkgconfig/\nusr/lib/pkgconfig/xcb-renderutil.pc\nusr/share/\nusr/share/licenses/\nusr/share/licenses/xcb-util-renderutil/\nusr/share/licenses/xcb-util-renderutil/LICENSE\n\n"
  },
  {
    "path": "testdata/db/local/xcb-util-wm-0.4.1-3/desc",
    "content": "%NAME%\nxcb-util-wm\n\n%VERSION%\n0.4.1-3\n\n%BASE%\nxcb-util-wm\n\n%DESC%\nUtility libraries for XC Binding - client and window-manager helpers for ICCCM\n\n%URL%\nhttps://xcb.freedesktop.org\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1588778267\n\n%INSTALLDATE%\n1621851264\n\n%PACKAGER%\nAllan McRae <allan@archlinux.org>\n\n%SIZE%\n229825\n\n%REASON%\n1\n\n%LICENSE%\ncustom\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nlibxcb>=1.7\n\n"
  },
  {
    "path": "testdata/db/local/xcb-util-wm-0.4.1-3/files",
    "content": "%FILES%\nusr/\nusr/include/\nusr/include/xcb/\nusr/include/xcb/xcb_ewmh.h\nusr/include/xcb/xcb_icccm.h\nusr/lib/\nusr/lib/libxcb-ewmh.so\nusr/lib/libxcb-ewmh.so.2\nusr/lib/libxcb-ewmh.so.2.0.0\nusr/lib/libxcb-icccm.so\nusr/lib/libxcb-icccm.so.4\nusr/lib/libxcb-icccm.so.4.0.0\nusr/lib/pkgconfig/\nusr/lib/pkgconfig/xcb-ewmh.pc\nusr/lib/pkgconfig/xcb-icccm.pc\nusr/share/\nusr/share/licenses/\nusr/share/licenses/xcb-util-wm/\nusr/share/licenses/xcb-util-wm/LICENSE\n\n"
  },
  {
    "path": "testdata/db/local/xcb-util-xrm-1.3-2/desc",
    "content": "%NAME%\nxcb-util-xrm\n\n%VERSION%\n1.3-2\n\n%BASE%\nxcb-util-xrm\n\n%DESC%\nXCB utility functions for the X resource manager\n\n%URL%\nhttps://github.com/Airblader/xcb-util-xrm\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1588700604\n\n%INSTALLDATE%\n1621851264\n\n%PACKAGER%\nkpcyrd <kpcyrd@archlinux.org>\n\n%SIZE%\n38311\n\n%REASON%\n1\n\n%LICENSE%\nMIT\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nxcb-util\n\n"
  },
  {
    "path": "testdata/db/local/xcb-util-xrm-1.3-2/files",
    "content": "%FILES%\nusr/\nusr/include/\nusr/include/xcb/\nusr/include/xcb/xcb_xrm.h\nusr/lib/\nusr/lib/libxcb-xrm.so\nusr/lib/libxcb-xrm.so.0\nusr/lib/libxcb-xrm.so.0.0.0\nusr/lib/pkgconfig/\nusr/lib/pkgconfig/xcb-xrm.pc\nusr/share/\nusr/share/licenses/\nusr/share/licenses/xcb-util-xrm/\nusr/share/licenses/xcb-util-xrm/COPYING\n\n"
  },
  {
    "path": "testdata/db/local/xorgproto-2021.3-1/desc",
    "content": "%NAME%\nxorgproto\n\n%VERSION%\n2021.3-1\n\n%BASE%\nxorgproto\n\n%DESC%\ncombined X.Org X11 Protocol headers\n\n%URL%\nhttps://xorg.freedesktop.org/\n\n%ARCH%\nany\n\n%BUILDDATE%\n1614241706\n\n%INSTALLDATE%\n1621851264\n\n%PACKAGER%\nAndreas Radke <andyrtr@archlinux.org>\n\n%SIZE%\n1488209\n\n%REASON%\n1\n\n%LICENSE%\ncustom\n\n%VALIDATION%\npgp\n\n"
  },
  {
    "path": "testdata/db/local/xorgproto-2021.3-1/files",
    "content": "%FILES%\nusr/\nusr/include/\nusr/include/GL/\nusr/include/GL/glxint.h\nusr/include/GL/glxmd.h\nusr/include/GL/glxproto.h\nusr/include/GL/glxtokens.h\nusr/include/GL/internal/\nusr/include/GL/internal/glcore.h\nusr/include/X11/\nusr/include/X11/DECkeysym.h\nusr/include/X11/HPkeysym.h\nusr/include/X11/Sunkeysym.h\nusr/include/X11/X.h\nusr/include/X11/XF86keysym.h\nusr/include/X11/XWDFile.h\nusr/include/X11/Xalloca.h\nusr/include/X11/Xarch.h\nusr/include/X11/Xatom.h\nusr/include/X11/Xdefs.h\nusr/include/X11/Xfuncproto.h\nusr/include/X11/Xfuncs.h\nusr/include/X11/Xmd.h\nusr/include/X11/Xos.h\nusr/include/X11/Xos_r.h\nusr/include/X11/Xosdefs.h\nusr/include/X11/Xpoll.h\nusr/include/X11/Xproto.h\nusr/include/X11/Xprotostr.h\nusr/include/X11/Xthreads.h\nusr/include/X11/Xw32defs.h\nusr/include/X11/Xwindows.h\nusr/include/X11/Xwinsock.h\nusr/include/X11/ap_keysym.h\nusr/include/X11/dri/\nusr/include/X11/dri/xf86dri.h\nusr/include/X11/dri/xf86driproto.h\nusr/include/X11/dri/xf86dristr.h\nusr/include/X11/extensions/\nusr/include/X11/extensions/EVI.h\nusr/include/X11/extensions/EVIproto.h\nusr/include/X11/extensions/XI.h\nusr/include/X11/extensions/XI2.h\nusr/include/X11/extensions/XI2proto.h\nusr/include/X11/extensions/XIproto.h\nusr/include/X11/extensions/XKB.h\nusr/include/X11/extensions/XKBproto.h\nusr/include/X11/extensions/XKBsrv.h\nusr/include/X11/extensions/XKBstr.h\nusr/include/X11/extensions/XResproto.h\nusr/include/X11/extensions/Xv.h\nusr/include/X11/extensions/XvMC.h\nusr/include/X11/extensions/XvMCproto.h\nusr/include/X11/extensions/Xvproto.h\nusr/include/X11/extensions/ag.h\nusr/include/X11/extensions/agproto.h\nusr/include/X11/extensions/bigreqsproto.h\nusr/include/X11/extensions/bigreqstr.h\nusr/include/X11/extensions/composite.h\nusr/include/X11/extensions/compositeproto.h\nusr/include/X11/extensions/cup.h\nusr/include/X11/extensions/cupproto.h\nusr/include/X11/extensions/damageproto.h\nusr/include/X11/extensions/damagewire.h\nusr/include/X11/extensions/dbe.h\nusr/include/X11/extensions/dbeproto.h\nusr/include/X11/extensions/dmx.h\nusr/include/X11/extensions/dmxproto.h\nusr/include/X11/extensions/dpmsconst.h\nusr/include/X11/extensions/dpmsproto.h\nusr/include/X11/extensions/dri2proto.h\nusr/include/X11/extensions/dri2tokens.h\nusr/include/X11/extensions/dri3proto.h\nusr/include/X11/extensions/ge.h\nusr/include/X11/extensions/geproto.h\nusr/include/X11/extensions/lbx.h\nusr/include/X11/extensions/lbxproto.h\nusr/include/X11/extensions/mitmiscconst.h\nusr/include/X11/extensions/mitmiscproto.h\nusr/include/X11/extensions/multibufconst.h\nusr/include/X11/extensions/multibufproto.h\nusr/include/X11/extensions/panoramiXproto.h\nusr/include/X11/extensions/presentproto.h\nusr/include/X11/extensions/presenttokens.h\nusr/include/X11/extensions/randr.h\nusr/include/X11/extensions/randrproto.h\nusr/include/X11/extensions/recordconst.h\nusr/include/X11/extensions/recordproto.h\nusr/include/X11/extensions/recordstr.h\nusr/include/X11/extensions/render.h\nusr/include/X11/extensions/renderproto.h\nusr/include/X11/extensions/saver.h\nusr/include/X11/extensions/saverproto.h\nusr/include/X11/extensions/secur.h\nusr/include/X11/extensions/securproto.h\nusr/include/X11/extensions/shapeconst.h\nusr/include/X11/extensions/shapeproto.h\nusr/include/X11/extensions/shapestr.h\nusr/include/X11/extensions/shm.h\nusr/include/X11/extensions/shmproto.h\nusr/include/X11/extensions/shmstr.h\nusr/include/X11/extensions/syncconst.h\nusr/include/X11/extensions/syncproto.h\nusr/include/X11/extensions/syncstr.h\nusr/include/X11/extensions/xcmiscproto.h\nusr/include/X11/extensions/xcmiscstr.h\nusr/include/X11/extensions/xf86bigfont.h\nusr/include/X11/extensions/xf86bigfproto.h\nusr/include/X11/extensions/xf86bigfstr.h\nusr/include/X11/extensions/xf86dga.h\nusr/include/X11/extensions/xf86dga1const.h\nusr/include/X11/extensions/xf86dga1proto.h\nusr/include/X11/extensions/xf86dga1str.h\nusr/include/X11/extensions/xf86dgaconst.h\nusr/include/X11/extensions/xf86dgaproto.h\nusr/include/X11/extensions/xf86dgastr.h\nusr/include/X11/extensions/xf86vm.h\nusr/include/X11/extensions/xf86vmproto.h\nusr/include/X11/extensions/xf86vmstr.h\nusr/include/X11/extensions/xfixesproto.h\nusr/include/X11/extensions/xfixeswire.h\nusr/include/X11/extensions/xtestconst.h\nusr/include/X11/extensions/xtestext1const.h\nusr/include/X11/extensions/xtestext1proto.h\nusr/include/X11/extensions/xtestproto.h\nusr/include/X11/fonts/\nusr/include/X11/fonts/FS.h\nusr/include/X11/fonts/FSproto.h\nusr/include/X11/fonts/font.h\nusr/include/X11/fonts/fontproto.h\nusr/include/X11/fonts/fontstruct.h\nusr/include/X11/fonts/fsmasks.h\nusr/include/X11/keysym.h\nusr/include/X11/keysymdef.h\nusr/share/\nusr/share/doc/\nusr/share/doc/xorgproto/\nusr/share/doc/xorgproto/PM_spec\nusr/share/doc/xorgproto/compositeproto.txt\nusr/share/doc/xorgproto/damageproto.txt\nusr/share/doc/xorgproto/dri2proto.txt\nusr/share/doc/xorgproto/dri3proto.txt\nusr/share/doc/xorgproto/fixesproto.txt\nusr/share/doc/xorgproto/presentproto.txt\nusr/share/doc/xorgproto/randrproto.txt\nusr/share/doc/xorgproto/renderproto.txt\nusr/share/doc/xorgproto/resproto.txt\nusr/share/doc/xorgproto/xv-protocol-v2.txt\nusr/share/licenses/\nusr/share/licenses/xorgproto/\nusr/share/licenses/xorgproto/COPYING-bigreqsproto\nusr/share/licenses/xorgproto/COPYING-compositeproto\nusr/share/licenses/xorgproto/COPYING-damageproto\nusr/share/licenses/xorgproto/COPYING-dmxproto\nusr/share/licenses/xorgproto/COPYING-dri2proto\nusr/share/licenses/xorgproto/COPYING-dri3proto\nusr/share/licenses/xorgproto/COPYING-fixesproto\nusr/share/licenses/xorgproto/COPYING-fontsproto\nusr/share/licenses/xorgproto/COPYING-glproto\nusr/share/licenses/xorgproto/COPYING-inputproto\nusr/share/licenses/xorgproto/COPYING-kbproto\nusr/share/licenses/xorgproto/COPYING-pmproto\nusr/share/licenses/xorgproto/COPYING-presentproto\nusr/share/licenses/xorgproto/COPYING-randrproto\nusr/share/licenses/xorgproto/COPYING-recordproto\nusr/share/licenses/xorgproto/COPYING-renderproto\nusr/share/licenses/xorgproto/COPYING-resourceproto\nusr/share/licenses/xorgproto/COPYING-scrnsaverproto\nusr/share/licenses/xorgproto/COPYING-trapproto\nusr/share/licenses/xorgproto/COPYING-videoproto\nusr/share/licenses/xorgproto/COPYING-x11proto\nusr/share/licenses/xorgproto/COPYING-xcmiscproto\nusr/share/licenses/xorgproto/COPYING-xextproto\nusr/share/licenses/xorgproto/COPYING-xf86bigfontproto\nusr/share/licenses/xorgproto/COPYING-xf86dgaproto\nusr/share/licenses/xorgproto/COPYING-xf86driproto\nusr/share/licenses/xorgproto/COPYING-xf86miscproto\nusr/share/licenses/xorgproto/COPYING-xf86vidmodeproto\nusr/share/licenses/xorgproto/COPYING-xineramaproto\nusr/share/pkgconfig/\nusr/share/pkgconfig/bigreqsproto.pc\nusr/share/pkgconfig/compositeproto.pc\nusr/share/pkgconfig/damageproto.pc\nusr/share/pkgconfig/dmxproto.pc\nusr/share/pkgconfig/dpmsproto.pc\nusr/share/pkgconfig/dri2proto.pc\nusr/share/pkgconfig/dri3proto.pc\nusr/share/pkgconfig/fixesproto.pc\nusr/share/pkgconfig/fontsproto.pc\nusr/share/pkgconfig/glproto.pc\nusr/share/pkgconfig/inputproto.pc\nusr/share/pkgconfig/kbproto.pc\nusr/share/pkgconfig/presentproto.pc\nusr/share/pkgconfig/randrproto.pc\nusr/share/pkgconfig/recordproto.pc\nusr/share/pkgconfig/renderproto.pc\nusr/share/pkgconfig/resourceproto.pc\nusr/share/pkgconfig/scrnsaverproto.pc\nusr/share/pkgconfig/videoproto.pc\nusr/share/pkgconfig/xcmiscproto.pc\nusr/share/pkgconfig/xextproto.pc\nusr/share/pkgconfig/xf86bigfontproto.pc\nusr/share/pkgconfig/xf86dgaproto.pc\nusr/share/pkgconfig/xf86driproto.pc\nusr/share/pkgconfig/xf86vidmodeproto.pc\nusr/share/pkgconfig/xineramaproto.pc\nusr/share/pkgconfig/xproto.pc\n\n"
  },
  {
    "path": "testdata/db/local/xz-5.2.5-1/desc",
    "content": "%NAME%\nxz\n\n%VERSION%\n5.2.5-1\n\n%BASE%\nxz\n\n%DESC%\nLibrary and command line tools for XZ and LZMA compressed files\n\n%URL%\nhttps://tukaani.org/xz/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1584507276\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nPierre Schmitz <pierre@archlinux.de>\n\n%SIZE%\n968603\n\n%REASON%\n1\n\n%LICENSE%\nGPL\nLGPL\ncustom\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nsh\n\n"
  },
  {
    "path": "testdata/db/local/zlib-1:1.2.11-4/desc",
    "content": "%NAME%\nzlib\n\n%VERSION%\n1:1.2.11-4\n\n%BASE%\nzlib\n\n%DESC%\nCompression library implementing the deflate compression method found in gzip and PKZIP\n\n%URL%\nhttps://www.zlib.net/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1573667866\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nEvangelos Foutras <evangelos@foutrelis.com>\n\n%SIZE%\n341567\n\n%REASON%\n1\n\n%LICENSE%\ncustom\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\n\n"
  },
  {
    "path": "testdata/db/local/zstd-1.4.9-1/desc",
    "content": "%NAME%\nzstd\n\n%VERSION%\n1.4.9-1\n\n%BASE%\nzstd\n\n%DESC%\nZstandard - Fast real-time compression algorithm\n\n%URL%\nhttps://facebook.github.io/zstd/\n\n%ARCH%\nx86_64\n\n%BUILDDATE%\n1614807643\n\n%INSTALLDATE%\n1621785543\n\n%PACKAGER%\nLevente Polyak <anthraxx@archlinux.org>\n\n%SIZE%\n2925067\n\n%REASON%\n1\n\n%LICENSE%\nBSD\nGPL2\n\n%VALIDATION%\npgp\n\n%DEPENDS%\nglibc\ngcc-libs\nzlib\nxz\nlz4\n\n%PROVIDES%\nlibzstd.so=1-64\n\n"
  },
  {
    "path": "testdata/devel.toml",
    "content": "[[devel]]\nurl = \"testdata/git-repo\"\ncommit = \"deadbeef\"\n"
  },
  {
    "path": "testdata/git-repo/HEAD",
    "content": "ref: refs/heads/master\n"
  },
  {
    "path": "testdata/git-repo/config",
    "content": "[core]\n\trepositoryformatversion = 0\n\tfilemode = true\n\tbare = true\n[remote \"origin\"]\n\turl = /home/morganamilo/git-repo\n"
  },
  {
    "path": "testdata/git-repo/objects/25/45915d2a057d068a8585ebfc0592ba543189a7",
    "content": "x\u0001A\n \u0010E\u0014/\u0014\u0013@(N&\u0010#\u001e!w\u000f\u001es950^Z\u0015\u0001\u000e3;\u001cD\ni\u00190.~vd_\bF\u0015z[K\\+!\u0003Snia<8\"[4p\u0014MH\u000bw="
  },
  {
    "path": "testdata/git-repo/packed-refs",
    "content": "# pack-refs with: peeled fully-peeled sorted \n2545915d2a057d068a8585ebfc0592ba543189a7 refs/heads/master\n"
  },
  {
    "path": "testdata/git-repo/refs/.keep",
    "content": ""
  },
  {
    "path": "testdata/makepkg.conf",
    "content": "DLAGENTS=('file::/usr/bin/curl -qgC - -o %o %u'\n          'ftp::/usr/bin/curl -qgfC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u'\n          'http::/usr/bin/curl -qgb \"\" -fLC - --retry 3 --retry-delay 3 -o %o %u'\n          'https::/usr/bin/curl -qgb \"\" -fLC - --retry 3 --retry-delay 3 -o %o %u'\n          'rsync::/usr/bin/rsync --no-motd -z %u %o'\n          'scp::/usr/bin/scp -C %u %o')\n\nVCSCLIENTS=('bzr::bzr'\n            'fossil::fossil'\n            'git::git'\n            'hg::mercurial'\n            'svn::subversion')\n\nCARCH=\"x86_64\"\nCHOST=\"x86_64-unknown-linux-gnu\"\nBUILDENV=(!distcc color !ccache check !sign)\nINTEGRITY_CHECK=(ck)\nSTRIP_BINARIES=\"\"\nSTRIP_SHARED=\"-s\"\nSTRIP_STATIC=\"-s\"\nMAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info})\nDOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc})\nPURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod)\nDBGSRCDIR=\"/usr/src/debug\"\nLIB_DIRS=('lib:usr/lib' 'lib32:usr/lib32')\n\nCOMPRESSGZ=(gzip -c -f -n)\nCOMPRESSBZ2=(bzip2 -c -f)\nCOMPRESSXZ=(xz -c -z -)\nCOMPRESSZST=(zstd -c -z -q -)\nCOMPRESSLRZ=(lrzip -q)\nCOMPRESSLZO=(lzop -q)\nCOMPRESSZ=(compress -c -f)\nCOMPRESSLZ4=(lz4 -q)\nCOMPRESSLZ=(lzip -c -f)\n\nPKGEXT='.pkg.tar.gz'\nSRCEXT='.src.tar.gz'\n"
  },
  {
    "path": "testdata/pacman.conf",
    "content": "[options]\nRootDir = /var/empty\nArchitecture = x86_64\nNoProgressBar\nDisableSandbox\nSigLevel = Never\n\n[core]\nServer=https://archive.archlinux.org/repos/2021/04/30/$repo/os/$arch\n\n[extra]\nServer=https://archive.archlinux.org/repos/2021/04/30/$repo/os/$arch\n\n[community]\nServer=https://archive.archlinux.org/repos/2021/04/30/$repo/os/$arch\n"
  },
  {
    "path": "testdata/paru.conf",
    "content": "[options]\nDevelSuffixes = -git -cvs -svn -bzr -darcs -always\nUpgradeMenu\n\n[bin]\n#Makepkg = bash\n#MFlags = -x makepkg\nPager = cat\nSudo = fakeroot\nGit = true\n\n[env]\nCARCH = x86_64\n\n[pkgbuild]\nPath = testdata/pkgbuild-repo\n"
  },
  {
    "path": "testdata/pkgbuild-repo/a/.SRCINFO",
    "content": "pkgbase = a\n\tpkgver = 1\n\tpkgrel = 1\n\tarch = any\n\tdepends = b\n\npkgname = a\n"
  },
  {
    "path": "testdata/pkgbuild-repo/a/PKGBUILD",
    "content": "pkgname=a\npkgver=1\npkgrel=1\narch=(any)\ndepends=(b)\n"
  },
  {
    "path": "testdata/pkgbuild-repo/b/.SRCINFO",
    "content": "pkgbase = b\n\tpkgver = 1\n\tpkgrel = 1\n\tarch = any\n\tdepends = c\n\npkgname = b\n"
  },
  {
    "path": "testdata/pkgbuild-repo/b/PKGBUILD",
    "content": "pkgname=b\npkgver=1\npkgrel=1\narch=(any)\ndepends=(c)\n"
  },
  {
    "path": "testdata/pkgbuild-repo/c/.SRCINFO",
    "content": "pkgbase = c\n\tpkgver = 1\n\tpkgrel = 1\n\tarch = any\n\npkgname = c\n"
  },
  {
    "path": "testdata/pkgbuild-repo/c/PKGBUILD",
    "content": "pkgname=c\npkgver=1\npkgrel=1\narch=(any)\n"
  },
  {
    "path": "tests/common/mod.rs",
    "content": "#![cfg(feature = \"mock\")]\n\nuse alpm::Alpm;\nuse anyhow::{Context, Result};\nuse std::env::var;\nuse std::fs;\nuse std::io::Write;\nuse std::path::Path;\nuse std::process::Command;\nuse tempfile::TempDir;\n\nasync fn run(run_args: &[&str], repo: bool) -> Result<(TempDir, i32)> {\n    let tmp = TempDir::new().unwrap();\n    let dir = tmp.path();\n    let testdata = Path::new(&var(\"CARGO_MANIFEST_DIR\").unwrap()).join(\"testdata\");\n\n    let status = Command::new(\"cp\")\n        .arg(\"-rp\")\n        .arg(testdata.join(\"pacman.conf\"))\n        .arg(dir.join(\"pacman.conf\"))\n        .status()?;\n    assert!(status.success());\n\n    let status = Command::new(\"cp\")\n        .arg(\"-rp\")\n        .arg(testdata.join(\"makepkg.conf\"))\n        .arg(dir.join(\"makepkg.conf\"))\n        .status()?;\n    assert!(status.success());\n\n    let status = Command::new(\"cp\")\n        .arg(\"-rp\")\n        .arg(testdata.join(\"devel.toml\"))\n        .arg(dir.join(\"devel.toml\"))\n        .status()?;\n    assert!(status.success());\n\n    let status = Command::new(\"cp\")\n        .arg(\"-rp\")\n        .arg(testdata.join(\"db\"))\n        .arg(dir.join(\"db\"))\n        .status()?;\n    assert!(status.success());\n\n    let status = Command::new(\"cp\")\n        .arg(\"-rp\")\n        .arg(testdata.join(\"pkgbuild-repo\"))\n        .arg(dir.join(\"pkgbuils-repo\"))\n        .status()?;\n    assert!(status.success());\n\n    if repo {\n        let status = Command::new(\"cp\")\n            .arg(\"-pa\")\n            .arg(testdata.join(\"repo\"))\n            .arg(dir.join(\"repo\"))\n            .status()?;\n        assert!(status.success());\n    }\n\n    std::fs::create_dir_all(dir.join(\"cache/pkg\"))?;\n    let _ = std::fs::create_dir_all(testdata.join(\"pkg\"));\n\n    let mut file = fs::OpenOptions::new()\n        .append(true)\n        .open(dir.join(\"makepkg.conf\"))?;\n\n    writeln!(\n        file,\n        \"\\n PKGDEST={0:}/pkgdest \\n SRCDEST={0:}/src \\n BUILDDIR={0:}/build\",\n        dir.join(\"cache\").to_str().unwrap(),\n    )?;\n\n    let mut file = fs::OpenOptions::new()\n        .write(true)\n        .append(true)\n        .open(dir.join(\"pacman.conf\"))?;\n\n    writeln!(\n        file,\n        \"[options]\n        DBPath = {}\n        CacheDir = {}\n        CacheDir = {}\",\n        dir.join(\"db\").to_str().unwrap(),\n        dir.join(\"cache/pkg\").to_str().unwrap(),\n        testdata.join(\"pkg\").to_str().unwrap()\n    )?;\n\n    if repo {\n        writeln!(\n            file,\n            \"[repo]\n            Server = file://{0:}/repo\n            SigLevel = Never\",\n            dir.display(),\n        )?;\n        std::fs::write(dir.join(\"localrepo\"), \"1\")?;\n    }\n\n    let mconf = dir.join(\"makepkg.conf\");\n    let mconf = mconf.to_str();\n\n    let pconf = dir.join(\"pacman.conf\");\n    let pconf = pconf.to_str();\n\n    let dbpath = dir.join(\"db\");\n    let dbpath = dbpath.to_str();\n\n    let clonedir = testdata.join(\"clone\");\n    let clonedir = clonedir.to_str();\n\n    let develfile = dir.join(\"devel.toml\");\n    let develfile = develfile.to_str();\n\n    let mut args = vec![\n        \"--root=/var/empty\",\n        \"--dbonly\",\n        \"--dbpath\",\n        dbpath.unwrap(),\n        \"--aururl=https://test.com\",\n        \"--noconfirm\",\n        \"--clonedir\",\n        clonedir.unwrap(),\n        \"--config\",\n        pconf.unwrap(),\n        \"--develfile\",\n        develfile.unwrap(),\n        \"--makepkgconf\",\n        mconf.unwrap(),\n    ];\n\n    if repo {\n        args.push(\"--localrepo\");\n    }\n\n    let mut path = std::env::var(\"PATH\").unwrap();\n    path.push(':');\n    path.push_str(testdata.join(\"bin\").to_str().unwrap());\n\n    std::env::set_var(\"PACMAN\", \"true\");\n    std::env::set_var(\"PACMAN_CONF\", dir.join(\"pacman.conf\"));\n    std::env::set_var(\"DBPATH\", dir.join(\"db\"));\n    std::env::set_var(\"PARU_CONF\", testdata.join(\"paru.conf\"));\n    std::env::set_var(\"PATH\", path);\n\n    std::env::set_var(\"LIBMAKEPKG_LINT_PKGBUILD_CHECKDEPENDS_SH\", \"1\");\n    std::env::set_var(\"LIBMAKEPKG_LINT_PKGBUILD_VARIABLE_SH\", \"1\");\n    std::env::set_var(\"LIBMAKEPKG_LINT_PKGBUILD_PKGVER_SH\", \"1\");\n    std::env::set_var(\"LIBMAKEPKG_LINT_PKGBUILD_ARCH_SH\", \"1\");\n    std::env::set_var(\"LIBMAKEPKG_LINT_PKGBUILD_MAKEDEPENDS_SH\", \"1\");\n    std::env::set_var(\"LIBMAKEPKG_LINT_PKGBUILD_PACKAGE_FUNCTION_SH\", \"1\");\n    std::env::set_var(\"LIBMAKEPKG_LINT_PKGBUILD_SOURCE_SH\", \"1\");\n    std::env::set_var(\"LIBMAKEPKG_LINT_PKGBUILD_OPTIONS_SH\", \"1\");\n    std::env::set_var(\"LIBMAKEPKG_LINT_PKGBUILD_PROVIDES_SH\", \"1\");\n    std::env::set_var(\"LIBMAKEPKG_LINT_PKGBUILD_OPTDEPENDS_SH\", \"1\");\n    std::env::set_var(\"LIBMAKEPKG_LINT_PKGBUILD_CHANGELOG_SH\", \"1\");\n    std::env::set_var(\"LIBMAKEPKG_LINT_PKGBUILD_INSTALL_SH\", \"1\");\n    std::env::set_var(\"LIBMAKEPKG_LINT_PKGBUILD_PKGBASE_SH\", \"1\");\n    std::env::set_var(\"LIBMAKEPKG_LINT_PKGBUILD_FULLPKGVER_SH\", \"1\");\n    std::env::set_var(\"LIBMAKEPKG_LINT_PKGBUILD_PKGREL_SH\", \"1\");\n    std::env::set_var(\"LIBMAKEPKG_LINT_PKGBUILD_EPOCH_SH\", \"1\");\n    std::env::set_var(\"LIBMAKEPKG_LINT_PKGBUILD_BACKUP_SH\", \"1\");\n    std::env::set_var(\"LIBMAKEPKG_LINT_PKGBUILD_PKGNAME_SH\", \"1\");\n    std::env::set_var(\"LIBMAKEPKG_LINT_PKGBUILD_PKGLIST_SH\", \"1\");\n    std::env::set_var(\"LIBMAKEPKG_LINT_PKGBUILD_UTIL_SH\", \"1\");\n    std::env::set_var(\"LIBMAKEPKG_LINT_PKGBUILD_PACKAGE_FUNCTION_VARIABLE_SH\", \"1\");\n    std::env::set_var(\"LIBMAKEPKG_LINT_PKGBUILD_DEPENDS_SH\", \"1\");\n    std::env::set_var(\"LIBMAKEPKG_LINT_PKGBUILD_CONFLICTS_SH\", \"1\");\n    std::env::set_var(\"LIBMAKEPKG_LINT_PKGBUILD_ARCH_SPECIFIC_SH\", \"1\");\n\n    if repo {\n        let mut args = args.clone();\n        args.push(\"-Ly\");\n        let ret = paru::run(&args).await;\n        assert_eq!(ret, 0);\n    }\n\n    args.extend(run_args);\n    let ret = paru::run(&args).await;\n\n    for pkg in std::fs::read_dir(dir.join(\"cache/pkg\"))? {\n        let path = pkg?.path();\n\n        let name = path.file_name().unwrap().to_str().unwrap();\n        if name.ends_with(\".pkg.tar.zst\") {\n            let _ = std::fs::rename(&path, testdata.join(\"pkg\").join(name));\n        }\n    }\n\n    Ok((tmp, ret))\n}\n\npub async fn run_normal(run_args: &[&str]) -> Result<(TempDir, i32)> {\n    run(run_args, false).await\n}\n\npub async fn run_combined(run_args: &[&str]) -> Result<(TempDir, i32)> {\n    let mut args = run_args.to_vec();\n    args.push(\"--combinedupgrade\");\n    run(&args, false).await\n}\n\npub async fn run_chroot(run_args: &[&str]) -> Result<(TempDir, i32)> {\n    let mut args = run_args.to_vec();\n    args.push(\"--chroot\");\n    run(&args, false).await\n}\n\npub async fn run_repo(run_args: &[&str]) -> Result<(TempDir, i32)> {\n    let args = run_args.to_vec();\n    run(&args, true).await\n}\n\npub async fn run_repo_chroot(run_args: &[&str]) -> Result<(TempDir, i32)> {\n    let mut args = run_args.to_vec();\n    args.push(\"--chroot\");\n    run(&args, true).await\n}\n\npub fn alpm(tmp: &TempDir) -> Result<Alpm> {\n    let alpm = Alpm::new(\"/var/empty\", tmp.path().join(\"db\").to_str().unwrap())?;\n    if tmp.path().join(\"localrepo\").exists() {\n        alpm.register_syncdb(\"repo\", alpm::SigLevel::NONE).unwrap();\n    }\n    Ok(alpm)\n}\n\npub fn assert_in_local_repo(alpm: &Alpm, pkg: &str) {\n    if let Some(repo) = alpm.syncdbs().iter().find(|db| db.name() == \"repo\") {\n        repo.pkg(pkg)\n            .context(pkg.to_string())\n            .expect(\"pkg not in local repo\");\n    }\n}\n"
  },
  {
    "path": "tests/common/tests.rs",
    "content": "use crate::common::*;\nuse alpm::PackageReason;\n\n#[tokio::test]\nasync fn pacaur() {\n    let (tmp, ret) = run(&[\"-S\", \"pacaur\"]).await.unwrap();\n    assert_eq!(ret, 0);\n    let alpm = alpm(&tmp).unwrap();\n\n    let db = alpm.localdb();\n\n    let pacaur = db.pkg(\"pacaur\").unwrap();\n    let auracle = db.pkg(\"auracle-git\").unwrap();\n    assert_in_local_repo(&alpm, \"pacaur\");\n    assert_in_local_repo(&alpm, \"auracle-git\");\n\n    assert_eq!(pacaur.reason(), PackageReason::Explicit);\n    assert_eq!(auracle.reason(), PackageReason::Depend);\n}\n\n#[tokio::test]\nasync fn pacaur_ignore() {\n    let (tmp, ret) = run(&[\"-S\", \"pacaur\", \"--ignore=pacaur\"]).await.unwrap();\n    assert_eq!(ret, 0);\n    let alpm = alpm(&tmp).unwrap();\n\n    let db = alpm.localdb();\n\n    let pacaur = db.pkg(\"pacaur\").unwrap();\n    let auracle = db.pkg(\"auracle-git\").unwrap();\n    assert_in_local_repo(&alpm, \"pacaur\");\n    assert_in_local_repo(&alpm, \"auracle-git\");\n\n    assert_eq!(pacaur.reason(), PackageReason::Explicit);\n    assert_eq!(auracle.reason(), PackageReason::Depend);\n}\n\n#[tokio::test]\nasync fn pacaur_as_deps() {\n    let (tmp, ret) = run(&[\"-S\", \"pacaur\", \"--asdeps\"]).await.unwrap();\n    assert_eq!(ret, 0);\n    let alpm = alpm(&tmp).unwrap();\n\n    let db = alpm.localdb();\n\n    let pacaur = db.pkg(\"pacaur\").unwrap();\n    let auracle = db.pkg(\"auracle-git\").unwrap();\n    assert_in_local_repo(&alpm, \"pacaur\");\n    assert_in_local_repo(&alpm, \"auracle-git\");\n\n    assert_eq!(pacaur.reason(), PackageReason::Depend);\n    assert_eq!(auracle.reason(), PackageReason::Depend);\n}\n\n#[tokio::test]\nasync fn pacaur_as_exp() {\n    let (tmp, ret) = run(&[\"-S\", \"pacaur\", \"--asexplicit\"]).await.unwrap();\n    assert_eq!(ret, 0);\n    let alpm = alpm(&tmp).unwrap();\n\n    let db = alpm.localdb();\n\n    let pacaur = db.pkg(\"pacaur\").unwrap();\n    let auracle = db.pkg(\"auracle-git\").unwrap();\n    assert_in_local_repo(&alpm, \"pacaur\");\n    assert_in_local_repo(&alpm, \"auracle-git\");\n\n    assert_eq!(pacaur.reason(), PackageReason::Explicit);\n    assert_eq!(auracle.reason(), PackageReason::Explicit);\n}\n\n#[tokio::test]\nasync fn pacaur_no_deps() {\n    let (tmp, ret) = run(&[\"-Sdd\", \"pacaur\"]).await.unwrap();\n    assert_eq!(ret, 0);\n    let alpm = alpm(&tmp).unwrap();\n    let db = alpm.localdb();\n    db.pkg(\"pacaur\").unwrap();\n    db.pkg(\"auracle-git\").unwrap_err();\n    assert_in_local_repo(&alpm, \"pacaur\");\n}\n\n#[tokio::test]\nasync fn pacaur_assume() {\n    let (tmp, ret) = run(&[\"-S\", \"--assume-installed=auracle-git\", \"pacaur\"])\n        .await\n        .unwrap();\n    assert_eq!(ret, 0);\n    let alpm = alpm(&tmp).unwrap();\n    let db = alpm.localdb();\n    db.pkg(\"pacaur\").unwrap();\n    db.pkg(\"auracle-git\").unwrap_err();\n}\n\n#[tokio::test]\nasync fn update() {\n    let (tmp, ret) = run(&[\"-Sua\"]).await.unwrap();\n    assert_eq!(ret, 0);\n    let alpm = alpm(&tmp).unwrap();\n    let db = alpm.localdb();\n    let polybar = db.pkg(\"polybar\").unwrap();\n    assert_eq!(polybar.version().as_str(), \"3.5.6-1\");\n}\n\n#[tokio::test]\nasync fn update_ignore() {\n    let (tmp, ret) = run(&[\"-Sua\", \"--ignore=polybar\"]).await.unwrap();\n    assert_eq!(ret, 0);\n    let alpm = alpm(&tmp).unwrap();\n    let db = alpm.localdb();\n    let polybar = db.pkg(\"polybar\").unwrap();\n    assert_eq!(polybar.version().as_str(), \"1.0.0-1\");\n}\n\n#[tokio::test]\nasync fn update_repo() {\n    let (tmp, ret) = run(&[\"-Su\", \"--repo\"]).await.unwrap();\n    assert_eq!(ret, 0);\n    let alpm = alpm(&tmp).unwrap();\n    let db = alpm.localdb();\n    let polybar = db.pkg(\"polybar\").unwrap();\n    assert_eq!(polybar.version().as_str(), \"1.0.0-1\");\n}\n\n#[tokio::test]\nasync fn no_exist() {\n    let (_, ret) = run(&[\"-S\", \"aaaaaaaaaa\"]).await.unwrap();\n    assert_eq!(ret, 1);\n}\n\n#[tokio::test]\nasync fn no_exist_r() {\n    let (_, ret) = run(&[\"-S\", \"--repo\", \"pacaur\"]).await.unwrap();\n    assert_eq!(ret, 1);\n}\n\n#[tokio::test]\nasync fn no_exist_a() {\n    let (_, ret) = run(&[\"-Sa\", \"pacman\"]).await.unwrap();\n    assert_eq!(ret, 1);\n}\n\n#[tokio::test]\nasync fn repo_ignore() {\n    let (tmp, ret) = run(&[\"-S\", \"i3-wm\", \"--ignore=i3-wm\"]).await.unwrap();\n    assert_eq!(ret, 0);\n    let alpm = alpm(&tmp).unwrap();\n    let db = alpm.localdb();\n    db.pkg(\"i3-wm\").unwrap();\n}\n\n#[tokio::test]\nasync fn pkgbuild() {\n    let (tmp, ret) = run(&[\"-Bi\", \"testdata/clone/pkg\"]).await.unwrap();\n    assert_eq!(ret, 0);\n    let alpm = alpm(&tmp).unwrap();\n\n    let db = alpm.localdb();\n\n    let pacaur = db.pkg(\"pacaur\").unwrap();\n    let auracle = db.pkg(\"auracle-git\").unwrap();\n    let pkg = db.pkg(\"pkg\").unwrap();\n    assert_in_local_repo(&alpm, \"pkg\");\n    assert_in_local_repo(&alpm, \"auracle-git\");\n    assert_in_local_repo(&alpm, \"pacaur\");\n\n    assert_eq!(pkg.reason(), PackageReason::Explicit);\n    assert_eq!(auracle.reason(), PackageReason::Depend);\n    assert_eq!(pacaur.reason(), PackageReason::Depend);\n}\n\n#[tokio::test]\nasync fn pkgbuild_repo() {\n    let (tmp, ret) = run(&[\"-S\", \"a\"]).await.unwrap();\n    assert_eq!(ret, 0);\n    let alpm = alpm(&tmp).unwrap();\n\n    let db = alpm.localdb();\n\n    let a = db.pkg(\"a\").unwrap();\n    let b = db.pkg(\"b\").unwrap();\n    let c = db.pkg(\"c\").unwrap();\n    assert_in_local_repo(&alpm, \"a\");\n    assert_in_local_repo(&alpm, \"b\");\n    assert_in_local_repo(&alpm, \"c\");\n\n    assert_eq!(a.reason(), PackageReason::Explicit);\n    assert_eq!(b.reason(), PackageReason::Depend);\n    assert_eq!(c.reason(), PackageReason::Depend);\n}\n\n#[tokio::test]\nasync fn devel() {\n    let (tmp, ret) = run(&[\"-Sua\", \"--devel\"]).await.unwrap();\n    assert_eq!(ret, 0);\n    let alpm = alpm(&tmp).unwrap();\n\n    let db = alpm.localdb();\n    let a = db.pkg(\"devel\").unwrap();\n    assert_eq!(a.version().as_str(), \"2-1\");\n}\n"
  },
  {
    "path": "tests/paru.rs",
    "content": "#![cfg(feature = \"mock\")]\n\npub mod common;\n\nmod normal {\n    use crate::common::run_normal as run;\n    include!(\"common/tests.rs\");\n}\n\nmod combined {\n    use crate::common::run_combined as run;\n    include!(\"common/tests.rs\");\n}\n\n#[cfg(feature = \"mock_chroot\")]\nmod chroot {\n    use crate::common::run_chroot as run;\n    include!(\"common/tests.rs\");\n}\n\nmod repo {\n    use crate::common::run_repo as run;\n    include!(\"common/tests.rs\");\n}\n\n#[cfg(feature = \"mock_chroot\")]\nmod repo_chroot {\n    use crate::common::run_repo_chroot as run;\n    include!(\"common/tests.rs\");\n}\n"
  }
]