aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--GIDs2
-rw-r--r--UIDs2
-rw-r--r--deskutils/py-paperless/Makefile126
-rw-r--r--deskutils/py-paperless/distinfo3
-rw-r--r--deskutils/py-paperless/files/README.in1
-rw-r--r--deskutils/py-paperless/files/nginx.conf.in18
-rw-r--r--deskutils/py-paperless/files/paperless-consumer.in61
-rw-r--r--deskutils/py-paperless/files/paperless.7.in259
-rw-r--r--deskutils/py-paperless/files/patch-paperless.conf.example29
-rw-r--r--deskutils/py-paperless/files/pkg-message.in3
-rw-r--r--deskutils/py-paperless/files/sshd_config.in14
-rw-r--r--deskutils/py-paperless/files/uwsgi.ini.in9
-rw-r--r--deskutils/py-paperless/pkg-descr8
-rw-r--r--deskutils/py-paperless/pkg-plist741
14 files changed, 1274 insertions, 2 deletions
diff --git a/GIDs b/GIDs
index dfa255fc31aa..9f8ea56a9c1f 100644
--- a/GIDs
+++ b/GIDs
@@ -177,7 +177,7 @@ _ntp:*:233:
kafka:*:234:
openhab:*:235:
rspamd:*:236:
-# free: 237
+paperless:*:237:
# free: 238
# free: 239
aprsd:*:240:
diff --git a/UIDs b/UIDs
index dd3b9fe4cb14..2490a56e4e95 100644
--- a/UIDs
+++ b/UIDs
@@ -182,7 +182,7 @@ _ntp:*:233:233::0:0:NTP Daemon:/var/empty:/usr/sbin/nologin
kafka:*:234:234::0:0:Apache Kafka user:/nonexistent:/usr/sbin/nologin
openhab:*:235:235::0:0:openHAB user:/var/db/openhab2/home:/usr/sbin/nologin
rspamd:*:236:236::0:0:rspamd pseudo-user:/nonexistent:/usr/sbin/nologin
-# free: 237
+paperless:*:237:237::0:0:paperless user:/var/db/paperless:/bin/sh
# free: 238
# free: 239
aprsd:*:240:240::0:0:aprsd:/nonexistent:/bin/sh
diff --git a/deskutils/py-paperless/Makefile b/deskutils/py-paperless/Makefile
new file mode 100644
index 000000000000..ba80ea46b818
--- /dev/null
+++ b/deskutils/py-paperless/Makefile
@@ -0,0 +1,126 @@
+# $FreeBSD$
+
+PORTNAME= paperless
+PORTVERSION= 2.7.0
+CATEGORIES= deskutils python
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= grembo@FreeBSD.org
+COMMENT= Index and archive scanned paper documents
+
+LICENSE= GPLv3
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dateparser>=0.7.1:devel/py-dateparser@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj21-django-cors-headers>=2.4.0:www/py-dj21-django-cors-headers@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj21-django-crispy-forms>=1.7.2:www/py-dj21-django-crispy-forms@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj21-django-extensions>=2.1.6:www/py-dj21-django-extensions@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj21-django-filter>=2.0.0:www/py-dj21-django-filter@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj21-djangoql>=0.12.4:www/py-dj21-djangoql@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj21-djangorestframework>=3.9.0:www/py-dj21-djangorestframework@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}fuzzywuzzy>=0.15.1:devel/py-fuzzywuzzy@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}langdetect>=1.0.7:textproc/py-langdetect@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pdftotext>=2.1.1:textproc/py-pdftotext@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pyocr>=0.5.3:graphics/py-pyocr@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}python-dotenv>=0.10.1:www/py-python-dotenv@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}python-gnupg>=0.4.3:security/py-python-gnupg@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}python-magic>=0.4.10:devel/py-python-magic@${PY_FLAVOR}
+RUN_DEPENDS:= ${BUILD_DEPENDS}
+RUN_DEPENDS+= gpg2:security/gnupg \
+ optipng:graphics/optipng \
+ tesseract:graphics/tesseract \
+ unpaper:graphics/unpaper
+
+USES= python:3.5+ shebangfix
+USE_GITHUB= yes
+GH_ACCOUNT= the-paperless-project
+GH_PROJECT= paperless
+USE_RC_SUBR= paperless-consumer
+
+SHEBANG_FILES= ${WRKSRC}/src/manage.py
+
+SUB_FILES= README nginx.conf paperless.7 pkg-message sshd_config uwsgi.ini
+SUB_LIST= PKGBASE=${PKGBASE} PYTHON_CMD=${PYTHON_CMD} \
+ PYTHONPREFIX_SITELIBDIR=${PYTHONPREFIX_SITELIBDIR} \
+ ECHO=${ECHO} EGREP=${EGREP} TOUCH=${TOUCH} \
+ CHOWN=${CHOWN} RM=${RM:Q}
+
+NO_ARCH= yes
+
+USERS= paperless
+GROUPS= paperless
+
+OPTIONS_DEFINE= DOCS EXAMPLES
+OPTIONS_SINGLE= IMAGICK
+OPTIONS_SINGLE_IMAGICK= IMAGICK6_NOX11 IMAGICK6_X11 IMAGICK7_NOX11 IMAGICK7_X11
+OPTIONS_DEFAULT= IMAGICK6_X11
+
+IMAGICK_DESC= ${IMAGEMAGICK_DESC}
+IMAGICK6_NOX11_DESC= ImageMagick6 without X11 support
+IMAGICK6_X11_DESC= ImageMagick6 with X11 support
+IMAGICK7_NOX11_DESC= ImageMagick7 without X11 support
+IMAGICK7_X11_DESC= ImageMagick7 with X11 support
+
+DOCS_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sphinx>=0:textproc/py-sphinx@${PY_FLAVOR}
+DOCS_USES= gmake
+
+IMAGICK6_X11_RUN_DEPENDS= convert:graphics/ImageMagick6
+IMAGICK6_NOX11_RUN_DEPENDS= convert:graphics/ImageMagick6-nox11
+IMAGICK7_X11_RUN_DEPENDS= convert:graphics/ImageMagick7
+IMAGICK7_NOX11_RUN_DEPENDS= convert:graphics/ImageMagick7-nox11
+
+PAPERLESS_STATICDIR= ${WRKSRC}/static
+
+do-build:
+ @${PYTHON_CMD} ${PYTHON_LIBDIR}/compileall.py \
+ -d ${PYTHONPREFIX_SITELIBDIR} \
+ -f ${WRKSRC}/src
+ @${PYTHON_CMD} -O ${PYTHON_LIBDIR}/compileall.py \
+ -d ${PYTHONPREFIX_SITELIBDIR} \
+ -f ${WRKSRC}/src
+ @${RM} -r ${PAPERLESS_STATICDIR}
+ @${SETENV} \
+ PAPERLESS_STATICDIR=${PAPERLESS_STATICDIR} \
+ ${PYTHON_CMD} ${WRKSRC}/src/manage.py collectstatic
+
+do-build-DOCS-on:
+ cd ${WRKSRC}/docs && ${SETENV} ${MAKE_ENV} \
+ ${MAKE_CMD} ${MAKE_ARGS} html SPHINXBUILD=sphinx-build-${PYTHON_VER}
+
+do-install:
+ @${MKDIR} ${STAGEDIR}${PYTHON_SITELIBDIR}/paperless
+ @cd ${WRKSRC}/resources && \
+ ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR}
+ @cd ${WRKSRC}/src && \
+ ${COPYTREE_SHARE} . ${STAGEDIR}${PYTHON_SITELIBDIR}/paperless
+ @${RLN} ${STAGEDIR}${PYTHON_SITELIBDIR}/paperless/manage.py \
+ ${STAGEDIR}${PREFIX}/bin/paperless
+ @${MKDIR} ${STAGEDIR}${WWWDIR}
+ @cd ${WRKSRC} && \
+ ${COPYTREE_SHARE} static ${STAGEDIR}${WWWDIR}
+ @${SED} -e 's|%%WWWDIR%%|${WWWDIR}|g;' \
+ ${WRKSRC}/paperless.conf.example \
+ > ${STAGEDIR}${PREFIX}/etc/paperless.conf.sample
+ @${MKDIR} ${STAGEDIR}/var/db/paperless/consume/input \
+ ${STAGEDIR}/var/db/paperless/media \
+ ${STAGEDIR}/var/db/paperless/sqlite
+ ${INSTALL_MAN} ${WRKDIR}/paperless.7 ${STAGEDIR}${MANPREFIX}/man/man7
+
+# Klammern aussenrum?
+post-install-DOCS-on:
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}/presentation
+ @cd ${WRKSRC}/docs/_build/html && \
+ ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}
+ @cd ${WRKSRC}/presentation && \
+ ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}/presentation
+
+post-install-EXAMPLES-on:
+ @${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
+ ${INSTALL_DATA} \
+ ${WRKDIR}/README \
+ ${WRKDIR}/nginx.conf \
+ ${WRKDIR}/sshd_config \
+ ${WRKDIR}/uwsgi.ini \
+ ${STAGEDIR}${EXAMPLESDIR}
+
+.include <bsd.port.mk>
diff --git a/deskutils/py-paperless/distinfo b/deskutils/py-paperless/distinfo
new file mode 100644
index 000000000000..57725e4af124
--- /dev/null
+++ b/deskutils/py-paperless/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1553390083
+SHA256 (the-paperless-project-paperless-2.7.0_GH0.tar.gz) = 478823e12ea874dc0acd7f6ce038d221849cfcb797f0d6de57624bacdaa02839
+SIZE (the-paperless-project-paperless-2.7.0_GH0.tar.gz) = 4038688
diff --git a/deskutils/py-paperless/files/README.in b/deskutils/py-paperless/files/README.in
new file mode 100644
index 000000000000..bb4fc88e205d
--- /dev/null
+++ b/deskutils/py-paperless/files/README.in
@@ -0,0 +1 @@
+Please see `man paperless' for details on how to use the paperless examples.
diff --git a/deskutils/py-paperless/files/nginx.conf.in b/deskutils/py-paperless/files/nginx.conf.in
new file mode 100644
index 000000000000..519f7fde0ca0
--- /dev/null
+++ b/deskutils/py-paperless/files/nginx.conf.in
@@ -0,0 +1,18 @@
+ server {
+ listen 80;
+ server_name localhost;
+
+ location /static/ {
+ alias %%WWWDIR%%/static/;
+ }
+
+ location / {
+ uwsgi_pass unix:/tmp/uwsgi-paperless.sock;
+ include uwsgi_params;
+ }
+
+ error_page 500 502 503 504 /50x.html;
+ location = /50x.html {
+ root %%PREFIX%%/www/nginx-dist;
+ }
+ }
diff --git a/deskutils/py-paperless/files/paperless-consumer.in b/deskutils/py-paperless/files/paperless-consumer.in
new file mode 100644
index 000000000000..3dd2086cec1a
--- /dev/null
+++ b/deskutils/py-paperless/files/paperless-consumer.in
@@ -0,0 +1,61 @@
+#!/bin/sh
+
+# $FreeBSD$
+#
+# PROVIDE: paperless-consumer
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+#
+# Add the following line(s) to /etc/rc.conf to enable the paperless
+# document consumer:
+# paperless_consumer_enable (bool):XSet to "NO" by default.
+# Set it to "YES" to enable
+# paperless_consumer
+# paperless_consumer_log_facility(str): Set to "daemon" by default.
+# Consumer logging syslog facility.
+# paperless_consumer_log_priority(str): Set to "notice" by default.
+# Consumer logging syslog priority.
+# paperless_consumer_log_tag(str): Set to "paperless-consumer" by default.
+# Consumer logging syslog tag.
+# paperless_consumer_restart_delay(int):Set to "60" by default.
+# Consumer automatic restart delay in
+# seconds.
+
+. /etc/rc.subr
+
+name="paperless_consumer"
+rcvar="${name}_enable"
+
+# Set defaults
+paperless_consumer_enable=${paperless_consumer_enable:-"NO"}
+paperless_consumer_daemon_user=${paperless_consumer_user:-"paperless"}
+paperless_consumer_log_facility=${paperless_consumer_log_facility:-"daemon"}
+paperless_consumer_log_priority=${paperless_consumer_log_priority:-"notice"}
+paperless_consumer_log_tag=${paperless_consumer_log_tag:-"paperless-consumer"}
+paperless_consumer_restart_delay=${paperless_consumer_restart_delay:-"5"}
+
+paperless_consumer_env="LANG=en_US.UTF-8 PATH=$PATH:%%PREFIX%%/bin"
+
+start_precmd="${name}_prestart"
+
+pidfile="/var/run/paperless_consumer.pid"
+command="/usr/sbin/daemon"
+command_args="-cS -u ${paperless_consumer_daemon_user} \
+ -P ${pidfile} \
+ -t paperless-consumer \
+ -l ${paperless_consumer_log_facility} \
+ -s ${paperless_consumer_log_priority} \
+ -T ${paperless_consumer_log_tag} \
+ -R ${paperless_consumer_restart_delay} \
+ %%PREFIX%%/bin/paperless document_consumer"
+
+paperless_consumer_prestart()
+{
+ %%ECHO%% "Applying potential migrations to ${name}."
+ env ${paperless_consumer_env} su \
+ -m ${paperless_consumer_daemon_user} \
+ -c 'sh -c "%%PREFIX%%/bin/paperless migrate --no-color -v 0"'
+}
+
+load_rc_config ${name}
+run_rc_command "$1"
diff --git a/deskutils/py-paperless/files/paperless.7.in b/deskutils/py-paperless/files/paperless.7.in
new file mode 100644
index 000000000000..f2bdd8ba7360
--- /dev/null
+++ b/deskutils/py-paperless/files/paperless.7.in
@@ -0,0 +1,259 @@
+.\"
+.\" Copyright (c) 2019 Michael Gmelin
+.\"
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd March 30, 2019
+.Dt PAPERLESS 7
+.Os
+.Sh NAME
+.Nm paperless
+.Nd Index and archive scanned paper documents - installation
+.Sh SYNOPSIS
+.Nm pkg install %%PKGBASE%%
+.Sh DESCRIPTION
+.Em Paperless
+is a simple Django application running in two parts: The consumer,
+which does the indexing and a web interface, which allows searching
+and downloading already-indexed documents.
+.Pp
+This man page documents how the
+.Fx FreeBSD
+port is installed and configured.
+It assumes that the paperless package was already installed, e.g., from the
+.Fx FreeBSD
+package repo as described in
+.Sx SYNOPSIS .
+.Pp
+For more information about using paperless, see
+.Dq the official paperless documentation
+.Pa ( file:/%%DOCSDIR%%/index.html
+or
+.Pa https://paperless.readthedocs.io ) .
+.Pp
+The package creates a symlink from
+.Pa %%PYTHONPREFIX_SITELIBDIR%%/paperless/manage.py
+to
+.Pa %%PREFIX%%/bin/paperless
+for convenience reasons, so whenever the official
+documentation mentions
+.Em manage.py
+it can be substituted with
+.Pa %%PREFIX%%/bin/paperless
+or simply
+.Pa paperless .
+.Pp
+.Em Paperless always needs to be run using the correct system user
+and an UTF-8 codepage.
+.Pp
+The package %%PKGBASE%% created a user
+.Em paperless
+with the following home directory layout, setting appropriate
+restrictive access permissions:
+.Bl -tag -width "/var"
+.It Pa /var/db/paperless
+home directory (only writeable by root)
+.Bl -tag -width "consume/" -compact
+.It Pa consume/
+Consume directory writable by root, used as chroot directory
+for sftp access (see below).
+.Bl -tag -width "123" -compact
+.It Pa input/
+Input files are dropped in there to be processed by the
+paperless document consumer - either directly or via
+a mechanism like sftp.
+.El
+.It Pa media/
+Directory used by paperless to store original files and
+thumbnails.
+.It Pa sqlite/
+Contains paperless' SQLite database.
+.El
+.El
+.Sh CONSUMER SETUP
+In case documents should be PGP encrypted,
+.Va PAPERLESS_PASSPHRASE
+needs to be configured in
+.Pa %%PREFIX%%/etc/paperless.conf
+first.
+.Pp
+Also,
+.Va PAPERLESS_OCR_THREADS
+can be tuned in the same configuration file to limit
+the impact on system performance.
+.Pp
+To use paperless, the consumer is enabled
+.Pp
+.Dl "sysrc paperless_consumer_enable=YES"
+.Pp
+and subsequently started
+.Pp
+.Dl "service paperless-consumer start"
+.Pp
+(which also creates/updates the paperless SQLite database).
+.Pp
+Therefore, restarting the consumer after updates
+.Pp
+.Dl "service paperless-consumer restart"
+.Pp
+updates the database before starting the new program version.
+.Sh WEB UI SETUP
+Before using the web ui, make sure to create a super user and assign
+a password
+.Pp
+.Dl "su -l paperless -c '%%PREFIX%%/bin/paperless createsuperuser'"
+.Pp
+It is recommended to host the web component using a real
+web server, e.g., nginx + uwsgi.
+.Pp
+Install and configure uwsgi:
+.Pp
+.Dl "pkg install uwsgi-py36"
+.Dl "mkdir -p %%PREFIX%%/etc/uwsgi"
+.Dl "cp %%EXAMPLESDIR%%/uwsgi.ini \\"
+.Dl " %%PREFIX%%/etc/uwsgi/paperless.ini"
+.Dl "sysrc uwsgi_enable=YES"
+.Dl "sysrc uwsgi_profiles+=paperless"
+.Dl "sysrc uwsgi_paperless_socket_owner=paperless:www"
+.Dl "sysrc uwsgi_paperless_uid=paperless"
+.Dl "sysrc uwsgi_paperless_gid=paperless"
+.Dl "sysrc uwsgi_paperless_configfile=%%PREFIX%%/etc/uwsgi/paperless.ini"
+.Pp
+Start the uwsgi process:
+.Pp
+.Dl "service uwsgi start paperless"
+.Pp
+Install nginx:
+.Pp
+.Dl "pkg install nginx"
+.Pp
+Create a basic server configuration (
+.Pa %%PREFIX%%/etc/nginx/nginx.conf
+), example snippet:
+.Pp
+.Dl "server {"
+.Dl " listen 80;"
+.Dl " server_name localhost;"
+.Dl ""
+.Dl " location /static/ {"
+.Dl " alias %%WWWDIR%%/static/;"
+.Dl " }"
+.Dl ""
+.Dl " location / {"
+.Dl " uwsgi_pass unix:/tmp/uwsgi-paperless.sock;"
+.Dl " include uwsgi_params;"
+.Dl " }"
+.Dl ""
+.Dl " error_page 500 502 503 504 /50x.html;"
+.Dl " location = /50x.html {"
+.Dl " root %%PREFIX%%/www/nginx-dist;"
+.Dl " }"
+.Dl "}"
+.Pp
+Enable and start nginx:
+.Pp
+.Dl "sysrc nginx_enable=YES"
+.Dl "service nginx start"
+.Pp
+.Em \In the real world, nginx should be configured to use TLS
+.Em and (potentially) client certificates .
+.Sh SFTP SETUP
+Setting up
+.Em sftp
+enabled direct upload of files to be processed by the paperless
+consumer.
+Some scanners allow configuring sftp with key based authentication,
+which is convenient as it scans directly to the paperless processing
+pipeline.
+.Pp
+In case paperless is using a dedicated instance of
+.Xr sshd 8 ,
+access can be limited to the paperless user by adding
+these lines to
+.Pa /etc/ssh/sshd_config :
+.Pp
+.Dl "# Only include if sshd is dedicated to paperless"
+.Dl "# otherwise you'll lock yourself out"
+.Dl "AllowUsers paperless"
+.Pp
+The following block limits the paperless user to using the
+.Xr sftp 1
+protocol and locks it into the consume directory:
+.Pp
+.Dl "# paperless can only do sftp and is dropped into correct directory"
+.Dl "Match User paperless"
+.Dl " ChrootDirectory %h/consume"
+.Dl " ForceCommand internal-sftp -u 0077 -d /input"
+.Dl " AllowTcpForwarding no"
+.Dl " X11Forwarding no"
+.Dl " PasswordAuthentication no"
+.Pp
+The public keys of authorized users/devices need to be added to
+.Pa /var/db/paperless/.ssh/authorized_keys :
+.Pp
+.Dl "mkdir -p /var/db/paperless/.ssh"
+.Dl "cat path/to/pubkey >>/var/db/paperless/.ssh/authorized_keys"
+.Pp
+Make sure
+.Xr sshd 8
+is enabled and restart (or reload) it:
+.Pp
+.Dl "sysrc sshd_enable=YES"
+.Dl "service sshd restart"
+.Pp
+The user will be dropped into the correct directory, so uploading
+a file is as simple as:
+.Pp
+.Dl "echo put file.pdf | sftp -b - paperless@host"
+.Sh FILES
+.Bl -tag -width ".Pa %%PREFIX%%/etc/paperless.conf" -compact
+.It Pa %%PREFIX%%/etc/paperless.conf
+See self-documented
+.Pa %%PREFIX%%/etc/paperless.conf.sample
+for example.
+.It Pa %%DOCSDIR%%/index.html
+Official documentation for the version installed.
+.It Pa %%DOCSDIR%%/presentation/index.html
+Presentation of the motivation for and technology behind paperless.
+.It Pa %%EXAMPLESDIR%%
+Configuration examples, complementary to this man page.
+.El
+.Sh SEE ALSO
+.Xr sftp 1 ,
+.Xr sshd_config 5 ,
+.Xr ports 7 ,
+.Xr daemon 8 ,
+.Xr service 8 ,
+.Xr sysrc 8
+.Pp
+.Rs
+.%B "Official paperless documentation"
+.Re
+.Pp
+.Pa https://paperless.readthedocs.io
+.Sh AUTHORS
+.An -nosplit
+This manual page was written by
+.An Michael Gmelin Aq Mt grembo@FreeBSD.org .
diff --git a/deskutils/py-paperless/files/patch-paperless.conf.example b/deskutils/py-paperless/files/patch-paperless.conf.example
new file mode 100644
index 000000000000..1c733c3988a4
--- /dev/null
+++ b/deskutils/py-paperless/files/patch-paperless.conf.example
@@ -0,0 +1,29 @@
+--- paperless.conf.example.orig 2019-01-27 13:48:05 UTC
++++ paperless.conf.example
+@@ -11,22 +11,22 @@
+ # This where your documents should go to be consumed. Make sure that it exists
+ # and that the user running the paperless service can read/write its contents
+ # before you start Paperless.
+-PAPERLESS_CONSUMPTION_DIR=""
++PAPERLESS_CONSUMPTION_DIR="/var/db/paperless/consume/input"
+
+
+ # You can specify where you want the SQLite database to be stored instead of
+ # the default location of /data/ within the install directory.
+-#PAPERLESS_DBDIR=/path/to/database/file
++PAPERLESS_DBDIR=/var/db/paperless/sqlite
+
+
+ # Override the default MEDIA_ROOT here. This is where all files are stored.
+ # The default location is /media/documents/ within the install folder.
+-#PAPERLESS_MEDIADIR=/path/to/media
++PAPERLESS_MEDIADIR=/var/db/paperless/media
+
+
+ # Override the default STATIC_ROOT here. This is where all static files
+ # created using "collectstatic" manager command are stored.
+-#PAPERLESS_STATICDIR=""
++PAPERLESS_STATICDIR=%%WWWDIR%%/static
+
+
+ # Override the MEDIA_URL here. Unless you're hosting Paperless off a subdomain
diff --git a/deskutils/py-paperless/files/pkg-message.in b/deskutils/py-paperless/files/pkg-message.in
new file mode 100644
index 000000000000..4a75bbeeb74d
--- /dev/null
+++ b/deskutils/py-paperless/files/pkg-message.in
@@ -0,0 +1,3 @@
+=========================================================================
+ Please see `man paperless' for details on how to configure paperless.
+=========================================================================
diff --git a/deskutils/py-paperless/files/sshd_config.in b/deskutils/py-paperless/files/sshd_config.in
new file mode 100644
index 000000000000..aab9e1692f39
--- /dev/null
+++ b/deskutils/py-paperless/files/sshd_config.in
@@ -0,0 +1,14 @@
+### Configuration for uploading documents via SFTP
+### e.g. using a scanner that supports such a feature
+
+# Only include if sshd is dedicated to paperless
+# otherwise you'll lock yourself out
+AllowUsers paperless
+
+# paperless can only do sftp and is dropped into correct directory
+Match User paperless
+ ChrootDirectory %h/consume
+ ForceCommand internal-sftp -u 0077 -d /input
+ AllowTcpForwarding no
+ X11Forwarding no
+ PasswordAuthentication no
diff --git a/deskutils/py-paperless/files/uwsgi.ini.in b/deskutils/py-paperless/files/uwsgi.ini.in
new file mode 100644
index 000000000000..c991c5b1bb68
--- /dev/null
+++ b/deskutils/py-paperless/files/uwsgi.ini.in
@@ -0,0 +1,9 @@
+[uwsgi]
+chdir = %%PYTHONPREFIX_SITELIBDIR%%/paperless
+module = paperless.wsgi:application
+env = DJANGO_SETTINGS_MODULE=paperless.settings
+env = LANG=en_US.UTF-8
+env = PATH=$PATH:%%PREFIX%%/bin
+harakiri = 20
+max-requests = 500
+vacuum = true
diff --git a/deskutils/py-paperless/pkg-descr b/deskutils/py-paperless/pkg-descr
new file mode 100644
index 000000000000..21fb4ed5baaf
--- /dev/null
+++ b/deskutils/py-paperless/pkg-descr
@@ -0,0 +1,8 @@
+Index and archive all of your scanned paper documents.
+
+Paperless is a simple Django application running in two parts: The consumer,
+which does the indexing and a web interface, which let's you you search and
+download already-indexed documents.
+
+WWW: https://github.com/the-paperless-project/paperless
+WWW: https://paperless.readthedocs.io
diff --git a/deskutils/py-paperless/pkg-plist b/deskutils/py-paperless/pkg-plist
new file mode 100644
index 000000000000..bd1c24d0588f
--- /dev/null
+++ b/deskutils/py-paperless/pkg-plist
@@ -0,0 +1,741 @@
+bin/paperless
+@sample(paperless,paperless,0600) etc/paperless.conf.sample
+%%PYTHON_SITELIBDIR%%/paperless/__pycache__/manage.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/__pycache__/manage.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/__init__.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/actions.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/actions.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/admin.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/admin.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/apps.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/apps.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/checks.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/checks.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/consumer.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/consumer.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/filters.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/filters.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/forms.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/forms.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/loggers.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/loggers.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/mail.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/mail.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/managers.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/managers.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/mixins.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/mixins.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/models.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/models.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/parsers.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/parsers.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/serialisers.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/serialisers.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/settings.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/settings.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/views.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/views.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/actions.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/admin.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/apps.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/checks.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/consumer.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/filters.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/forms.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/loggers.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/mail.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/management/__init__.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/management/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/management/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/__init__.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/__pycache__/change_storage_type.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/__pycache__/change_storage_type.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/__pycache__/document_consumer.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/__pycache__/document_consumer.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/__pycache__/document_correspondents.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/__pycache__/document_correspondents.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/__pycache__/document_exporter.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/__pycache__/document_exporter.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/__pycache__/document_importer.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/__pycache__/document_importer.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/__pycache__/document_logs.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/__pycache__/document_logs.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/__pycache__/document_retagger.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/__pycache__/document_retagger.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/__pycache__/loaddata_stdin.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/__pycache__/loaddata_stdin.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/change_storage_type.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/document_consumer.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/document_correspondents.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/document_exporter.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/document_importer.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/document_logs.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/document_retagger.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/loaddata_stdin.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/managers.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0001_initial.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0002_auto_20151226_1316.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0003_sender.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0004_auto_20160114_1844.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0005_auto_20160123_0313.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0006_auto_20160123_0430.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0007_auto_20160126_2114.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0008_document_file_type.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0009_auto_20160214_0040.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0010_log.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0011_auto_20160303_1929.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0012_auto_20160305_0040.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0013_auto_20160325_2111.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0014_document_checksum.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0015_add_insensitive_to_match.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0016_auto_20170325_1558.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0017_auto_20170512_0507.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0018_auto_20170715_1712.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0019_add_consumer_user.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0020_document_added.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0021_document_storage_type.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0022_auto_20181007_1420.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__init__.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0001_initial.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0001_initial.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0002_auto_20151226_1316.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0002_auto_20151226_1316.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0003_sender.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0003_sender.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0004_auto_20160114_1844.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0004_auto_20160114_1844.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0005_auto_20160123_0313.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0005_auto_20160123_0313.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0006_auto_20160123_0430.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0006_auto_20160123_0430.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0007_auto_20160126_2114.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0007_auto_20160126_2114.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0008_document_file_type.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0008_document_file_type.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0009_auto_20160214_0040.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0009_auto_20160214_0040.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0010_log.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0010_log.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0011_auto_20160303_1929.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0011_auto_20160303_1929.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0012_auto_20160305_0040.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0012_auto_20160305_0040.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0013_auto_20160325_2111.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0013_auto_20160325_2111.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0014_document_checksum.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0014_document_checksum.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0015_add_insensitive_to_match.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0015_add_insensitive_to_match.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0016_auto_20170325_1558.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0016_auto_20170325_1558.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0017_auto_20170512_0507.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0017_auto_20170512_0507.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0018_auto_20170715_1712.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0018_auto_20170715_1712.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0019_add_consumer_user.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0019_add_consumer_user.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0020_document_added.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0020_document_added.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0021_document_storage_type.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0021_document_storage_type.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0022_auto_20181007_1420.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0022_auto_20181007_1420.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/mixins.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/models.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/parsers.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/serialisers.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/settings.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/signals/__init__.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/signals/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/signals/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/signals/__pycache__/handlers.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/signals/__pycache__/handlers.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/signals/handlers.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/static/documents/img/gif.png
+%%PYTHON_SITELIBDIR%%/paperless/documents/static/documents/img/image.png
+%%PYTHON_SITELIBDIR%%/paperless/documents/static/documents/img/jpg.png
+%%PYTHON_SITELIBDIR%%/paperless/documents/static/documents/img/pdf.png
+%%PYTHON_SITELIBDIR%%/paperless/documents/static/documents/img/png.png
+%%PYTHON_SITELIBDIR%%/paperless/documents/static/documents/img/tiff.png
+%%PYTHON_SITELIBDIR%%/paperless/documents/static/js/colours.js
+%%PYTHON_SITELIBDIR%%/paperless/documents/static/paperless.css
+%%PYTHON_SITELIBDIR%%/paperless/documents/templates/admin/base_site.html
+%%PYTHON_SITELIBDIR%%/paperless/documents/templates/admin/documents/document/change_form.html
+%%PYTHON_SITELIBDIR%%/paperless/documents/templates/admin/documents/document/change_list.html
+%%PYTHON_SITELIBDIR%%/paperless/documents/templates/admin/documents/document/change_list_results.html
+%%PYTHON_SITELIBDIR%%/paperless/documents/templates/admin/documents/document/select_object.html
+%%PYTHON_SITELIBDIR%%/paperless/documents/templates/admin/index.html
+%%PYTHON_SITELIBDIR%%/paperless/documents/templates/documents/index.html
+%%PYTHON_SITELIBDIR%%/paperless/documents/templatetags/__init__.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/templatetags/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/templatetags/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/templatetags/__pycache__/customisation.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/templatetags/__pycache__/customisation.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/templatetags/__pycache__/hacks.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/templatetags/__pycache__/hacks.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/templatetags/customisation.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/templatetags/hacks.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__init__.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__pycache__/factories.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__pycache__/factories.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__pycache__/test_checks.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__pycache__/test_checks.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__pycache__/test_consumer.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__pycache__/test_consumer.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__pycache__/test_document_model.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__pycache__/test_document_model.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__pycache__/test_importer.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__pycache__/test_importer.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__pycache__/test_logger.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__pycache__/test_logger.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__pycache__/test_mail.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__pycache__/test_mail.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__pycache__/test_matchables.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__pycache__/test_matchables.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__pycache__/test_models.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__pycache__/test_models.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/documents/tests/factories.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/tests/samples/inline_mail.txt
+%%PYTHON_SITELIBDIR%%/paperless/documents/tests/samples/mail.txt
+%%PYTHON_SITELIBDIR%%/paperless/documents/tests/test_checks.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/tests/test_consumer.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/tests/test_document_model.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/tests/test_importer.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/tests/test_logger.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/tests/test_mail.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/tests/test_matchables.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/tests/test_models.py
+%%PYTHON_SITELIBDIR%%/paperless/documents/views.py
+@mode 0755
+%%PYTHON_SITELIBDIR%%/paperless/manage.py
+@mode
+%%PYTHON_SITELIBDIR%%/paperless/paperless/__init__.py
+%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/checks.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/checks.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/db.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/db.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/middleware.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/middleware.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/mixins.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/mixins.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/models.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/models.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/settings.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/settings.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/urls.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/urls.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/version.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/version.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/views.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/views.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/wsgi.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/wsgi.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/paperless/checks.py
+%%PYTHON_SITELIBDIR%%/paperless/paperless/db.py
+%%PYTHON_SITELIBDIR%%/paperless/paperless/middleware.py
+%%PYTHON_SITELIBDIR%%/paperless/paperless/mixins.py
+%%PYTHON_SITELIBDIR%%/paperless/paperless/models.py
+%%PYTHON_SITELIBDIR%%/paperless/paperless/settings.py
+%%PYTHON_SITELIBDIR%%/paperless/paperless/static/paperless/img/favicon.ico
+%%PYTHON_SITELIBDIR%%/paperless/paperless/static/paperless/img/logo-dark.png
+%%PYTHON_SITELIBDIR%%/paperless/paperless/static/paperless/img/logo-light.png
+%%PYTHON_SITELIBDIR%%/paperless/paperless/urls.py
+%%PYTHON_SITELIBDIR%%/paperless/paperless/version.py
+%%PYTHON_SITELIBDIR%%/paperless/paperless/views.py
+%%PYTHON_SITELIBDIR%%/paperless/paperless/wsgi.py
+%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/__init__.py
+%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/__pycache__/apps.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/__pycache__/apps.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/__pycache__/languages.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/__pycache__/languages.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/__pycache__/parsers.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/__pycache__/parsers.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/__pycache__/signals.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/__pycache__/signals.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/apps.py
+%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/languages.py
+%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/parsers.py
+%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/signals.py
+%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/tests/__init__.py
+%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/tests/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/tests/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/tests/__pycache__/test_date.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/tests/__pycache__/test_date.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/tests/__pycache__/test_ocr.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/tests/__pycache__/test_ocr.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/tests/__pycache__/test_signals.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/tests/__pycache__/test_signals.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/tests/samples/no-text.png
+%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/tests/test_date.py
+%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/tests/test_ocr.py
+%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/tests/test_signals.py
+%%PYTHON_SITELIBDIR%%/paperless/paperless_text/__init__.py
+%%PYTHON_SITELIBDIR%%/paperless/paperless_text/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/paperless_text/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/paperless_text/__pycache__/apps.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/paperless_text/__pycache__/apps.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/paperless_text/__pycache__/parsers.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/paperless_text/__pycache__/parsers.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/paperless_text/__pycache__/signals.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/paperless_text/__pycache__/signals.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/paperless_text/apps.py
+%%PYTHON_SITELIBDIR%%/paperless/paperless_text/parsers.py
+%%PYTHON_SITELIBDIR%%/paperless/paperless_text/signals.py
+%%PYTHON_SITELIBDIR%%/paperless/reminders/__init__.py
+%%PYTHON_SITELIBDIR%%/paperless/reminders/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/reminders/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/reminders/__pycache__/admin.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/reminders/__pycache__/admin.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/reminders/__pycache__/apps.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/reminders/__pycache__/apps.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/reminders/__pycache__/filters.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/reminders/__pycache__/filters.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/reminders/__pycache__/models.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/reminders/__pycache__/models.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/reminders/__pycache__/serialisers.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/reminders/__pycache__/serialisers.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/reminders/__pycache__/tests.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/reminders/__pycache__/tests.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/reminders/__pycache__/views.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/reminders/__pycache__/views.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/reminders/admin.py
+%%PYTHON_SITELIBDIR%%/paperless/reminders/apps.py
+%%PYTHON_SITELIBDIR%%/paperless/reminders/filters.py
+%%PYTHON_SITELIBDIR%%/paperless/reminders/migrations/0001_initial.py
+%%PYTHON_SITELIBDIR%%/paperless/reminders/migrations/0002_auto_20181007_1420.py
+%%PYTHON_SITELIBDIR%%/paperless/reminders/migrations/__init__.py
+%%PYTHON_SITELIBDIR%%/paperless/reminders/migrations/__pycache__/0001_initial.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/reminders/migrations/__pycache__/0001_initial.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/reminders/migrations/__pycache__/0002_auto_20181007_1420.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/reminders/migrations/__pycache__/0002_auto_20181007_1420.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/reminders/migrations/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%%
+%%PYTHON_SITELIBDIR%%/paperless/reminders/migrations/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/paperless/reminders/models.py
+%%PYTHON_SITELIBDIR%%/paperless/reminders/serialisers.py
+%%PYTHON_SITELIBDIR%%/paperless/reminders/tests.py
+%%PYTHON_SITELIBDIR%%/paperless/reminders/views.py
+%%PYTHON_SITELIBDIR%%/paperless/setup.cfg
+%%PYTHON_SITELIBDIR%%/paperless/tox.ini
+man/man7/paperless.7.gz
+%%PORTDOCS%%%%DOCSDIR%%/.buildinfo
+%%PORTDOCS%%%%DOCSDIR%%/_sources/api.rst.txt
+%%PORTDOCS%%%%DOCSDIR%%/_sources/changelog.rst.txt
+%%PORTDOCS%%%%DOCSDIR%%/_sources/consumption.rst.txt
+%%PORTDOCS%%%%DOCSDIR%%/_sources/contributing.rst.txt
+%%PORTDOCS%%%%DOCSDIR%%/_sources/customising.rst.txt
+%%PORTDOCS%%%%DOCSDIR%%/_sources/extending.rst.txt
+%%PORTDOCS%%%%DOCSDIR%%/_sources/guesswork.rst.txt
+%%PORTDOCS%%%%DOCSDIR%%/_sources/index.rst.txt
+%%PORTDOCS%%%%DOCSDIR%%/_sources/migrating.rst.txt
+%%PORTDOCS%%%%DOCSDIR%%/_sources/requirements.rst.txt
+%%PORTDOCS%%%%DOCSDIR%%/_sources/scanners.rst.txt
+%%PORTDOCS%%%%DOCSDIR%%/_sources/setup.rst.txt
+%%PORTDOCS%%%%DOCSDIR%%/_sources/troubleshooting.rst.txt
+%%PORTDOCS%%%%DOCSDIR%%/_sources/utilities.rst.txt
+%%PORTDOCS%%%%DOCSDIR%%/_static/ajax-loader.gif
+%%PORTDOCS%%%%DOCSDIR%%/_static/basic.css
+%%PORTDOCS%%%%DOCSDIR%%/_static/comment-bright.png
+%%PORTDOCS%%%%DOCSDIR%%/_static/comment-close.png
+%%PORTDOCS%%%%DOCSDIR%%/_static/comment.png
+%%PORTDOCS%%%%DOCSDIR%%/_static/css/badge_only.css
+%%PORTDOCS%%%%DOCSDIR%%/_static/css/theme.css
+%%PORTDOCS%%%%DOCSDIR%%/_static/custom.css
+%%PORTDOCS%%%%DOCSDIR%%/_static/doctools.js
+%%PORTDOCS%%%%DOCSDIR%%/_static/down-pressed.png
+%%PORTDOCS%%%%DOCSDIR%%/_static/down.png
+%%PORTDOCS%%%%DOCSDIR%%/_static/file.png
+%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/Lato/lato-bold.eot
+%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/Lato/lato-bold.ttf
+%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/Lato/lato-bold.woff
+%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/Lato/lato-bold.woff2
+%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/Lato/lato-bolditalic.eot
+%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/Lato/lato-bolditalic.ttf
+%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/Lato/lato-bolditalic.woff
+%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/Lato/lato-bolditalic.woff2
+%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/Lato/lato-italic.eot
+%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/Lato/lato-italic.ttf
+%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/Lato/lato-italic.woff
+%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/Lato/lato-italic.woff2
+%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/Lato/lato-regular.eot
+%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/Lato/lato-regular.ttf
+%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/Lato/lato-regular.woff
+%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/Lato/lato-regular.woff2
+%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot
+%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf
+%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff
+%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2
+%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot
+%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf
+%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff
+%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2
+%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/fontawesome-webfont.eot
+%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/fontawesome-webfont.svg
+%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/fontawesome-webfont.ttf
+%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/fontawesome-webfont.woff
+%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/fontawesome-webfont.woff2
+%%PORTDOCS%%%%DOCSDIR%%/_static/jquery-3.1.0.js
+%%PORTDOCS%%%%DOCSDIR%%/_static/jquery.js
+%%PORTDOCS%%%%DOCSDIR%%/_static/js/modernizr.min.js
+%%PORTDOCS%%%%DOCSDIR%%/_static/js/theme.js
+%%PORTDOCS%%%%DOCSDIR%%/_static/minus.png
+%%PORTDOCS%%%%DOCSDIR%%/_static/plus.png
+%%PORTDOCS%%%%DOCSDIR%%/_static/pygments.css
+%%PORTDOCS%%%%DOCSDIR%%/_static/screenshot.png
+%%PORTDOCS%%%%DOCSDIR%%/_static/searchtools.js
+%%PORTDOCS%%%%DOCSDIR%%/_static/underscore-1.3.1.js
+%%PORTDOCS%%%%DOCSDIR%%/_static/underscore.js
+%%PORTDOCS%%%%DOCSDIR%%/_static/up-pressed.png
+%%PORTDOCS%%%%DOCSDIR%%/_static/up.png
+%%PORTDOCS%%%%DOCSDIR%%/_static/websupport.js
+%%PORTDOCS%%%%DOCSDIR%%/api.html
+%%PORTDOCS%%%%DOCSDIR%%/changelog.html
+%%PORTDOCS%%%%DOCSDIR%%/consumption.html
+%%PORTDOCS%%%%DOCSDIR%%/contributing.html
+%%PORTDOCS%%%%DOCSDIR%%/customising.html
+%%PORTDOCS%%%%DOCSDIR%%/extending.html
+%%PORTDOCS%%%%DOCSDIR%%/genindex.html
+%%PORTDOCS%%%%DOCSDIR%%/guesswork.html
+%%PORTDOCS%%%%DOCSDIR%%/index.html
+%%PORTDOCS%%%%DOCSDIR%%/migrating.html
+%%PORTDOCS%%%%DOCSDIR%%/objects.inv
+%%PORTDOCS%%%%DOCSDIR%%/presentation/README.md
+%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/css/font-awesome.css
+%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/css/font-awesome.min.css
+%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/fonts/FontAwesome.otf
+%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/fonts/fontawesome-webfont.eot
+%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/fonts/fontawesome-webfont.svg
+%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/fonts/fontawesome-webfont.ttf
+%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/fonts/fontawesome-webfont.woff
+%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/fonts/fontawesome-webfont.woff2
+%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/less/animated.less
+%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/less/bordered-pulled.less
+%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/less/core.less
+%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/less/fixed-width.less
+%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/less/font-awesome.less
+%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/less/icons.less
+%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/less/larger.less
+%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/less/list.less
+%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/less/mixins.less
+%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/less/path.less
+%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/less/rotated-flipped.less
+%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/less/stacked.less
+%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/less/variables.less
+%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/scss/_animated.scss
+%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/scss/_bordered-pulled.scss
+%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/scss/_core.scss
+%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/scss/_fixed-width.scss
+%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/scss/_icons.scss
+%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/scss/_larger.scss
+%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/scss/_list.scss
+%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/scss/_mixins.scss
+%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/scss/_path.scss
+%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/scss/_rotated-flipped.scss
+%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/scss/_stacked.scss
+%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/scss/_variables.scss
+%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/scss/font-awesome.scss
+%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/google/css/lato.css
+%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/google/fonts/DvlFBScY1r-FMtZSYIYoYw.ttf
+%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/google/fonts/HkF_qI1x_noxlxhrhMQYEKCWcynf_cDxXwCLxiixG1c.ttf
+%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/google/fonts/LqowQDslGv4DmUBAfWa2Vw.ttf
+%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/google/fonts/v0SdcGFAl2aezM9Vq_aFTQ.ttf
+%%PORTDOCS%%%%DOCSDIR%%/presentation/css/print/paper.css
+%%PORTDOCS%%%%DOCSDIR%%/presentation/css/print/pdf.css
+%%PORTDOCS%%%%DOCSDIR%%/presentation/css/reveal.css
+%%PORTDOCS%%%%DOCSDIR%%/presentation/css/reveal.scss
+%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/README.md
+%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/beige.css
+%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/black.css
+%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/blood.css
+%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/league.css
+%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/moon.css
+%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/night.css
+%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/serif.css
+%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/simple.css
+%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/sky.css
+%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/solarized.css
+%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/source/beige.scss
+%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/source/black.scss
+%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/source/blood.scss
+%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/source/league.scss
+%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/source/moon.scss
+%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/source/night.scss
+%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/source/serif.scss
+%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/source/simple.scss
+%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/source/sky.scss
+%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/source/solarized.scss
+%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/source/white.scss
+%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/template/mixins.scss
+%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/template/settings.scss
+%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/template/theme.scss
+%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/white.css
+%%PORTDOCS%%%%DOCSDIR%%/presentation/img/kitten.jpg
+%%PORTDOCS%%%%DOCSDIR%%/presentation/img/pony.png
+%%PORTDOCS%%%%DOCSDIR%%/presentation/img/repo.svg
+%%PORTDOCS%%%%DOCSDIR%%/presentation/img/stack.jpg
+%%PORTDOCS%%%%DOCSDIR%%/presentation/index.html
+%%PORTDOCS%%%%DOCSDIR%%/presentation/js/reveal.js
+%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/css/zenburn.css
+%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/font/league-gothic/LICENSE
+%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/font/league-gothic/league-gothic.css
+%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/font/league-gothic/league-gothic.eot
+%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/font/league-gothic/league-gothic.ttf
+%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/font/league-gothic/league-gothic.woff
+%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/font/source-sans-pro/LICENSE
+%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/font/source-sans-pro/source-sans-pro-italic.eot
+%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/font/source-sans-pro/source-sans-pro-italic.ttf
+%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/font/source-sans-pro/source-sans-pro-italic.woff
+%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/font/source-sans-pro/source-sans-pro-regular.eot
+%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/font/source-sans-pro/source-sans-pro-regular.ttf
+%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/font/source-sans-pro/source-sans-pro-regular.woff
+%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/font/source-sans-pro/source-sans-pro-semibold.eot
+%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/font/source-sans-pro/source-sans-pro-semibold.ttf
+%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/font/source-sans-pro/source-sans-pro-semibold.woff
+%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/font/source-sans-pro/source-sans-pro-semibolditalic.eot
+%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/font/source-sans-pro/source-sans-pro-semibolditalic.ttf
+%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/font/source-sans-pro/source-sans-pro-semibolditalic.woff
+%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/font/source-sans-pro/source-sans-pro.css
+%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/js/classList.js
+%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/js/head.min.js
+%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/js/html5shiv.js
+%%PORTDOCS%%%%DOCSDIR%%/presentation/plugin/highlight/highlight.js
+%%PORTDOCS%%%%DOCSDIR%%/presentation/plugin/leap/leap.js
+%%PORTDOCS%%%%DOCSDIR%%/presentation/plugin/markdown/example.html
+%%PORTDOCS%%%%DOCSDIR%%/presentation/plugin/markdown/example.md
+%%PORTDOCS%%%%DOCSDIR%%/presentation/plugin/markdown/markdown.js
+%%PORTDOCS%%%%DOCSDIR%%/presentation/plugin/markdown/marked.js
+%%PORTDOCS%%%%DOCSDIR%%/presentation/plugin/math/math.js
+%%PORTDOCS%%%%DOCSDIR%%/presentation/plugin/multiplex/client.js
+%%PORTDOCS%%%%DOCSDIR%%/presentation/plugin/multiplex/index.js
+%%PORTDOCS%%%%DOCSDIR%%/presentation/plugin/multiplex/master.js
+%%PORTDOCS%%%%DOCSDIR%%/presentation/plugin/notes-server/client.js
+%%PORTDOCS%%%%DOCSDIR%%/presentation/plugin/notes-server/index.js
+%%PORTDOCS%%%%DOCSDIR%%/presentation/plugin/notes-server/notes.html
+%%PORTDOCS%%%%DOCSDIR%%/presentation/plugin/notes/notes.html
+%%PORTDOCS%%%%DOCSDIR%%/presentation/plugin/notes/notes.js
+%%PORTDOCS%%%%DOCSDIR%%/presentation/plugin/print-pdf/print-pdf.js
+%%PORTDOCS%%%%DOCSDIR%%/presentation/plugin/remotes/remotes.js
+%%PORTDOCS%%%%DOCSDIR%%/presentation/plugin/search/search.js
+%%PORTDOCS%%%%DOCSDIR%%/presentation/plugin/zoom-js/zoom.js
+%%PORTDOCS%%%%DOCSDIR%%/requirements.html
+%%PORTDOCS%%%%DOCSDIR%%/scanners.html
+%%PORTDOCS%%%%DOCSDIR%%/search.html
+%%PORTDOCS%%%%DOCSDIR%%/searchindex.js
+%%PORTDOCS%%%%DOCSDIR%%/setup.html
+%%PORTDOCS%%%%DOCSDIR%%/troubleshooting.html
+%%PORTDOCS%%%%DOCSDIR%%/utilities.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/README
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nginx.conf
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/sshd_config
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/uwsgi.ini
+%%DATADIR%%/logo/print/eps/Black logo - no background.eps
+%%DATADIR%%/logo/print/eps/Color logo - no background.eps
+%%DATADIR%%/logo/print/eps/Color logo with background.eps
+%%DATADIR%%/logo/print/eps/White logo - no background.eps
+%%DATADIR%%/logo/print/pdf/Black logo - no background.pdf
+%%DATADIR%%/logo/print/pdf/Color logo - no background.pdf
+%%DATADIR%%/logo/print/pdf/Color logo with background.pdf
+%%DATADIR%%/logo/print/pdf/White logo - no background.pdf
+%%DATADIR%%/logo/web/png/Black logo - no background.png
+%%DATADIR%%/logo/web/png/Color logo - no background.png
+%%DATADIR%%/logo/web/png/Color logo with background.png
+%%DATADIR%%/logo/web/png/White logo - no background.png
+%%DATADIR%%/logo/web/svg/Black logo - no background.svg
+%%DATADIR%%/logo/web/svg/Color logo - no background.svg
+%%DATADIR%%/logo/web/svg/Color logo with background.svg
+%%DATADIR%%/logo/web/svg/White logo - no background.svg
+%%DATADIR%%/logo/web/svg/square.svg
+%%WWWDIR%%/static/admin/css/autocomplete.css
+%%WWWDIR%%/static/admin/css/base.css
+%%WWWDIR%%/static/admin/css/changelists.css
+%%WWWDIR%%/static/admin/css/dashboard.css
+%%WWWDIR%%/static/admin/css/fonts.css
+%%WWWDIR%%/static/admin/css/forms.css
+%%WWWDIR%%/static/admin/css/login.css
+%%WWWDIR%%/static/admin/css/responsive.css
+%%WWWDIR%%/static/admin/css/responsive_rtl.css
+%%WWWDIR%%/static/admin/css/rtl.css
+%%WWWDIR%%/static/admin/css/vendor/select2/LICENSE-SELECT2.md
+%%WWWDIR%%/static/admin/css/vendor/select2/select2.css
+%%WWWDIR%%/static/admin/css/vendor/select2/select2.min.css
+%%WWWDIR%%/static/admin/css/widgets.css
+%%WWWDIR%%/static/admin/fonts/LICENSE.txt
+%%WWWDIR%%/static/admin/fonts/README.txt
+%%WWWDIR%%/static/admin/fonts/Roboto-Bold-webfont.woff
+%%WWWDIR%%/static/admin/fonts/Roboto-Light-webfont.woff
+%%WWWDIR%%/static/admin/fonts/Roboto-Regular-webfont.woff
+%%WWWDIR%%/static/admin/img/LICENSE
+%%WWWDIR%%/static/admin/img/README.txt
+%%WWWDIR%%/static/admin/img/calendar-icons.svg
+%%WWWDIR%%/static/admin/img/gis/move_vertex_off.svg
+%%WWWDIR%%/static/admin/img/gis/move_vertex_on.svg
+%%WWWDIR%%/static/admin/img/icon-addlink.svg
+%%WWWDIR%%/static/admin/img/icon-alert.svg
+%%WWWDIR%%/static/admin/img/icon-calendar.svg
+%%WWWDIR%%/static/admin/img/icon-changelink.svg
+%%WWWDIR%%/static/admin/img/icon-clock.svg
+%%WWWDIR%%/static/admin/img/icon-deletelink.svg
+%%WWWDIR%%/static/admin/img/icon-no.svg
+%%WWWDIR%%/static/admin/img/icon-unknown-alt.svg
+%%WWWDIR%%/static/admin/img/icon-unknown.svg
+%%WWWDIR%%/static/admin/img/icon-viewlink.svg
+%%WWWDIR%%/static/admin/img/icon-yes.svg
+%%WWWDIR%%/static/admin/img/inline-delete.svg
+%%WWWDIR%%/static/admin/img/search.svg
+%%WWWDIR%%/static/admin/img/selector-icons.svg
+%%WWWDIR%%/static/admin/img/sorting-icons.svg
+%%WWWDIR%%/static/admin/img/tooltag-add.svg
+%%WWWDIR%%/static/admin/img/tooltag-arrowright.svg
+%%WWWDIR%%/static/admin/js/SelectBox.js
+%%WWWDIR%%/static/admin/js/SelectFilter2.js
+%%WWWDIR%%/static/admin/js/actions.js
+%%WWWDIR%%/static/admin/js/actions.min.js
+%%WWWDIR%%/static/admin/js/admin/DateTimeShortcuts.js
+%%WWWDIR%%/static/admin/js/admin/RelatedObjectLookups.js
+%%WWWDIR%%/static/admin/js/autocomplete.js
+%%WWWDIR%%/static/admin/js/calendar.js
+%%WWWDIR%%/static/admin/js/cancel.js
+%%WWWDIR%%/static/admin/js/change_form.js
+%%WWWDIR%%/static/admin/js/collapse.js
+%%WWWDIR%%/static/admin/js/collapse.min.js
+%%WWWDIR%%/static/admin/js/core.js
+%%WWWDIR%%/static/admin/js/inlines.js
+%%WWWDIR%%/static/admin/js/inlines.min.js
+%%WWWDIR%%/static/admin/js/jquery.init.js
+%%WWWDIR%%/static/admin/js/popup_response.js
+%%WWWDIR%%/static/admin/js/prepopulate.js
+%%WWWDIR%%/static/admin/js/prepopulate.min.js
+%%WWWDIR%%/static/admin/js/prepopulate_init.js
+%%WWWDIR%%/static/admin/js/timeparse.js
+%%WWWDIR%%/static/admin/js/urlify.js
+%%WWWDIR%%/static/admin/js/vendor/jquery/LICENSE.txt
+%%WWWDIR%%/static/admin/js/vendor/jquery/jquery.js
+%%WWWDIR%%/static/admin/js/vendor/jquery/jquery.min.js
+%%WWWDIR%%/static/admin/js/vendor/select2/LICENSE.md
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/ar.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/az.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/bg.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/ca.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/cs.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/da.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/de.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/el.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/en.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/es.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/et.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/eu.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/fa.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/fi.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/fr.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/gl.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/he.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/hi.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/hr.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/hu.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/id.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/is.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/it.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/ja.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/km.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/ko.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/lt.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/lv.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/mk.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/ms.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/nb.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/nl.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/pl.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/pt-BR.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/pt.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/ro.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/ru.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/sk.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/sr-Cyrl.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/sr.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/sv.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/th.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/tr.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/uk.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/vi.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/zh-CN.js
+%%WWWDIR%%/static/admin/js/vendor/select2/i18n/zh-TW.js
+%%WWWDIR%%/static/admin/js/vendor/select2/select2.full.js
+%%WWWDIR%%/static/admin/js/vendor/select2/select2.full.min.js
+%%WWWDIR%%/static/admin/js/vendor/xregexp/LICENSE.txt
+%%WWWDIR%%/static/admin/js/vendor/xregexp/xregexp.js
+%%WWWDIR%%/static/admin/js/vendor/xregexp/xregexp.min.js
+%%WWWDIR%%/static/django_extensions/css/jquery.autocomplete.css
+%%WWWDIR%%/static/django_extensions/img/indicator.gif
+%%WWWDIR%%/static/django_extensions/js/jquery.ajaxQueue.js
+%%WWWDIR%%/static/django_extensions/js/jquery.autocomplete.js
+%%WWWDIR%%/static/django_extensions/js/jquery.bgiframe.js
+%%WWWDIR%%/static/djangoql/css/completion.css
+%%WWWDIR%%/static/djangoql/css/completion_admin.css
+%%WWWDIR%%/static/djangoql/css/syntax_help.css
+%%WWWDIR%%/static/djangoql/img/completion_example.png
+%%WWWDIR%%/static/djangoql/img/completion_example_scaled.png
+%%WWWDIR%%/static/djangoql/js/completion.js
+%%WWWDIR%%/static/djangoql/js/completion_admin.js
+%%WWWDIR%%/static/djangoql/js/completion_admin_toggle.js
+%%WWWDIR%%/static/djangoql/js/lib/lexer.js
+%%WWWDIR%%/static/documents/img/gif.png
+%%WWWDIR%%/static/documents/img/image.png
+%%WWWDIR%%/static/documents/img/jpg.png
+%%WWWDIR%%/static/documents/img/pdf.png
+%%WWWDIR%%/static/documents/img/png.png
+%%WWWDIR%%/static/documents/img/tiff.png
+%%WWWDIR%%/static/js/colours.js
+%%WWWDIR%%/static/paperless.css
+%%WWWDIR%%/static/paperless/img/favicon.ico
+%%WWWDIR%%/static/paperless/img/logo-dark.png
+%%WWWDIR%%/static/paperless/img/logo-light.png
+%%WWWDIR%%/static/rest_framework/css/bootstrap-theme.min.css
+%%WWWDIR%%/static/rest_framework/css/bootstrap-tweaks.css
+%%WWWDIR%%/static/rest_framework/css/bootstrap.min.css
+%%WWWDIR%%/static/rest_framework/css/default.css
+%%WWWDIR%%/static/rest_framework/css/font-awesome-4.0.3.css
+%%WWWDIR%%/static/rest_framework/css/prettify.css
+%%WWWDIR%%/static/rest_framework/docs/css/base.css
+%%WWWDIR%%/static/rest_framework/docs/css/highlight.css
+%%WWWDIR%%/static/rest_framework/docs/css/jquery.json-view.min.css
+%%WWWDIR%%/static/rest_framework/docs/img/favicon.ico
+%%WWWDIR%%/static/rest_framework/docs/img/grid.png
+%%WWWDIR%%/static/rest_framework/docs/js/api.js
+%%WWWDIR%%/static/rest_framework/docs/js/highlight.pack.js
+%%WWWDIR%%/static/rest_framework/docs/js/jquery.json-view.min.js
+%%WWWDIR%%/static/rest_framework/fonts/fontawesome-webfont.eot
+%%WWWDIR%%/static/rest_framework/fonts/fontawesome-webfont.svg
+%%WWWDIR%%/static/rest_framework/fonts/fontawesome-webfont.ttf
+%%WWWDIR%%/static/rest_framework/fonts/fontawesome-webfont.woff
+%%WWWDIR%%/static/rest_framework/fonts/glyphicons-halflings-regular.eot
+%%WWWDIR%%/static/rest_framework/fonts/glyphicons-halflings-regular.svg
+%%WWWDIR%%/static/rest_framework/fonts/glyphicons-halflings-regular.ttf
+%%WWWDIR%%/static/rest_framework/fonts/glyphicons-halflings-regular.woff
+%%WWWDIR%%/static/rest_framework/fonts/glyphicons-halflings-regular.woff2
+%%WWWDIR%%/static/rest_framework/img/glyphicons-halflings-white.png
+%%WWWDIR%%/static/rest_framework/img/glyphicons-halflings.png
+%%WWWDIR%%/static/rest_framework/img/grid.png
+%%WWWDIR%%/static/rest_framework/js/ajax-form.js
+%%WWWDIR%%/static/rest_framework/js/bootstrap.min.js
+%%WWWDIR%%/static/rest_framework/js/coreapi-0.1.1.js
+%%WWWDIR%%/static/rest_framework/js/csrf.js
+%%WWWDIR%%/static/rest_framework/js/default.js
+%%WWWDIR%%/static/rest_framework/js/jquery-3.3.1.min.js
+%%WWWDIR%%/static/rest_framework/js/prettify-min.js
+@dir(paperless,paperless) %%WWWDIR%%/static
+@dir(paperless,paperless,0700) /var/db/paperless/consume/input
+@dir(root,paperless,0750) /var/db/paperless/consume
+@dir(paperless,paperless,0700) /var/db/paperless/media
+@dir(paperless,paperless,0700) /var/db/paperless/sqlite
+@dir /var/db/paperless