diff --git a/.env.sandstorm b/.env.sandstorm new file mode 100755 index 0000000000..ed8d9d511b --- /dev/null +++ b/.env.sandstorm @@ -0,0 +1,55 @@ +APP_ENV=production +APP_DEBUG=true +APP_FORCE_SSL=false +APP_FORCE_ROOT= +APP_KEY=SomeRandomStringOf32CharsExactly +APP_LOG=syslog +APP_LOG_LEVEL=debug +APP_URL=http://localhost + +DB_CONNECTION=mysql +DB_HOST=127.0.0.1 +DB_PORT=3306 +DB_DATABASE=firefly +DB_USERNAME=firefly +DB_PASSWORD=firefly + +BROADCAST_DRIVER=log +CACHE_DRIVER=file +SESSION_DRIVER=file +QUEUE_DRIVER=sync + +COOKIE_PATH="/" +COOKIE_DOMAIN= +COOKIE_SECURE=false + +REDIS_HOST=127.0.0.1 +REDIS_PASSWORD=null +REDIS_PORT=6379 + +MAIL_DRIVER=smtp +MAIL_HOST=mailtrap.io +MAIL_PORT=2525 +MAIL_FROM=changeme@example.com +MAIL_USERNAME=null +MAIL_PASSWORD=null +MAIL_ENCRYPTION=null + +SEND_REGISTRATION_MAIL=true +SEND_ERROR_MESSAGE=true +SHOW_INCOMPLETE_TRANSLATIONS=false + +CACHE_PREFIX=firefly + +GOOGLE_MAPS_API_KEY= +ANALYTICS_ID= +SITE_OWNER=mail@example.com +USE_ENCRYPTION=true + +PUSHER_KEY= +PUSHER_SECRET= +PUSHER_APP_ID= + +DEMO_USERNAME= +DEMO_PASSWORD= + diff --git a/.sandstorm/.gitattributes b/.sandstorm/.gitattributes new file mode 100644 index 0000000000..5a533b9f62 --- /dev/null +++ b/.sandstorm/.gitattributes @@ -0,0 +1,5 @@ + + +# vagrant-spk creates shell scripts, which must end in \n, even on a \r\n system. +*.sh text eol=lf + diff --git a/.sandstorm/.gitignore b/.sandstorm/.gitignore new file mode 100644 index 0000000000..d70e1e39e4 --- /dev/null +++ b/.sandstorm/.gitignore @@ -0,0 +1,5 @@ + + +# This file stores a list of sub-paths of .sandstorm/ that should be ignored by git. +.vagrant + diff --git a/.sandstorm/Vagrantfile b/.sandstorm/Vagrantfile new file mode 100644 index 0000000000..20c01b674b --- /dev/null +++ b/.sandstorm/Vagrantfile @@ -0,0 +1,103 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +# Guess at a reasonable name for the VM based on the folder vagrant-spk is +# run from. The timestamp is there to avoid conflicts if you have multiple +# folders with the same name. +VM_NAME = File.basename(File.dirname(File.dirname(__FILE__))) + "_sandstorm_#{Time.now.utc.to_i}" + +# Vagrantfile API/syntax version. Don't touch unless you know what you're doing! +VAGRANTFILE_API_VERSION = "2" + +Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| + # Base on the Sandstorm snapshots of the official Debian 8 (jessie) box. + config.vm.box = "sandstorm/debian-jessie64" + + if Vagrant.has_plugin?("vagrant-vbguest") then + # vagrant-vbguest is a Vagrant plugin that upgrades + # the version of VirtualBox Guest Additions within each + # guest. If you have the vagrant-vbguest plugin, then it + # needs to know how to compile kernel modules, etc., and so + # we give it this hint about operating system type. + config.vm.guest = "debian" + end + + # We forward port 6080, the Sandstorm web port, so that developers can + # visit their sandstorm app from their browser as local.sandstorm.io:6080 + # (aka 127.0.0.1:6080). + config.vm.network :forwarded_port, guest: 6080, host: 6080 + + # Use a shell script to "provision" the box. This installs Sandstorm using + # the bundled installer. + config.vm.provision "shell", inline: "sudo bash /opt/app/.sandstorm/global-setup.sh", keep_color: true + # Then, do stack-specific and app-specific setup. + config.vm.provision "shell", inline: "sudo bash /opt/app/.sandstorm/setup.sh", keep_color: true + + # Shared folders are configured per-provider since vboxsf can't handle >4096 open files, + # NFS requires privilege escalation every time you bring a VM up, + # and 9p is only available on libvirt. + + # Calculate the number of CPUs and the amount of RAM the system has, + # in a platform-dependent way; further logic below. + cpus = nil + total_kB_ram = nil + + host = RbConfig::CONFIG['host_os'] + if host =~ /darwin/ + cpus = `sysctl -n hw.ncpu`.to_i + total_kB_ram = `sysctl -n hw.memsize`.to_i / 1024 + elsif host =~ /linux/ + cpus = `nproc`.to_i + total_kB_ram = `grep MemTotal /proc/meminfo | awk '{print $2}'`.to_i + elsif host =~ /mingw/ + # powershell may not be available on Windows XP and Vista, so wrap this in a rescue block + begin + cpus = `powershell -Command "(Get-WmiObject Win32_Processor -Property NumberOfLogicalProcessors | Select-Object -Property NumberOfLogicalProcessors | Measure-Object NumberOfLogicalProcessors -Sum).Sum"`.to_i + total_kB_ram = `powershell -Command "Get-CimInstance -class cim_physicalmemory | % $_.Capacity}"`.to_i / 1024 + rescue + end + end + # Use the same number of CPUs within Vagrant as the system, with 1 + # as a default. + # + # Use at least 512MB of RAM, and if the system has more than 2GB of + # RAM, use 1/4 of the system RAM. This seems a reasonable compromise + # between having the Vagrant guest operating system not run out of + # RAM entirely (which it basically would if we went much lower than + # 512MB) and also allowing it to use up a healthily large amount of + # RAM so it can run faster on systems that can afford it. + if cpus.nil? or cpus.zero? + cpus = 1 + end + if total_kB_ram.nil? or total_kB_ram < 2048000 + assign_ram_mb = 512 + else + assign_ram_mb = (total_kB_ram / 1024 / 4) + end + # Actually apply these CPU/memory values to the providers. + config.vm.provider :virtualbox do |vb, override| + vb.cpus = cpus + vb.memory = assign_ram_mb + vb.name = VM_NAME + vb.customize ["modifyvm", :id, "--nictype1", "Am79C973"] + + # /opt/app and /host-dot-sandstorm are used by vagrant-spk + override.vm.synced_folder "..", "/opt/app" + override.vm.synced_folder ENV["HOME"] + "/.sandstorm", "/host-dot-sandstorm" + # /vagrant is not used by vagrant-spk; we need this line so it gets disabled; if we removed the + # line, vagrant would automatically insert a synced folder in /vagrant, which is not what we want. + override.vm.synced_folder "..", "/vagrant", disabled: true + end + config.vm.provider :libvirt do |libvirt, override| + libvirt.cpus = cpus + libvirt.memory = assign_ram_mb + libvirt.default_prefix = VM_NAME + + # /opt/app and /host-dot-sandstorm are used by vagrant-spk + override.vm.synced_folder "..", "/opt/app", type: "9p", accessmode: "passthrough" + override.vm.synced_folder ENV["HOME"] + "/.sandstorm", "/host-dot-sandstorm", type: "9p", accessmode: "passthrough" + # /vagrant is not used by vagrant-spk; we need this line so it gets disabled; if we removed the + # line, vagrant would automatically insert a synced folder in /vagrant, which is not what we want. + override.vm.synced_folder "..", "/vagrant", type: "9p", accessmode: "passthrough", disabled: true + end +end diff --git a/.sandstorm/build.sh b/.sandstorm/build.sh new file mode 100755 index 0000000000..a72ac8cb24 --- /dev/null +++ b/.sandstorm/build.sh @@ -0,0 +1,21 @@ +#!/bin/bash +# Checks if there's a composer.json, and if so, installs/runs composer. +# Only runs when we connect the app to sandstorm (so once). +set -euo pipefail + + + +cd /opt/app + +cp .env.sandstorm .env + +if [ -f /opt/app/composer.json ] ; then + if [ ! -f composer.phar ] ; then + curl -sS https://getcomposer.org/installer | php + fi + php composer.phar install --no-dev --no-suggest +fi + +# link storage folder +rm -rf /opt/app/storage +ln -s /var/storage /opt/app \ No newline at end of file diff --git a/.sandstorm/global-setup.sh b/.sandstorm/global-setup.sh new file mode 100755 index 0000000000..219c770f63 --- /dev/null +++ b/.sandstorm/global-setup.sh @@ -0,0 +1,44 @@ +#!/bin/bash +set -euo pipefail + +# Set options for curl. Since we only want to show errors from these curl commands, we also use +# 'cat' to buffer the output; for more information: +# https://github.com/sandstorm-io/vagrant-spk/issues/158 + +CURL_OPTS="--silent --show-error" +echo localhost > /etc/hostname +hostname localhost + +# The following line copies stderr through stderr to cat without accidentally leaving it in the +# output file. Be careful when changing. See: https://github.com/sandstorm-io/vagrant-spk/pull/159 +curl $CURL_OPTS https://install.sandstorm.io/ 2>&1 > /host-dot-sandstorm/caches/install.sh | cat + +SANDSTORM_CURRENT_VERSION=$(curl $CURL_OPTS -f "https://install.sandstorm.io/dev?from=0&type=install") +SANDSTORM_PACKAGE="sandstorm-$SANDSTORM_CURRENT_VERSION.tar.xz" +if [[ ! -f /host-dot-sandstorm/caches/$SANDSTORM_PACKAGE ]] ; then + echo -n "Downloading Sandstorm version ${SANDSTORM_CURRENT_VERSION}..." + curl $CURL_OPTS --output "/host-dot-sandstorm/caches/$SANDSTORM_PACKAGE.partial" "https://dl.sandstorm.io/$SANDSTORM_PACKAGE" 2>&1 | cat + mv "/host-dot-sandstorm/caches/$SANDSTORM_PACKAGE.partial" "/host-dot-sandstorm/caches/$SANDSTORM_PACKAGE" + echo "...done." +fi +if [ ! -e /opt/sandstorm/latest/sandstorm ] ; then + echo -n "Installing Sandstorm version ${SANDSTORM_CURRENT_VERSION}..." + bash /host-dot-sandstorm/caches/install.sh -d -e "/host-dot-sandstorm/caches/$SANDSTORM_PACKAGE" >/dev/null + echo "...done." +fi +modprobe ip_tables +# Make the vagrant user part of the sandstorm group so that commands like +# `spk dev` work. +usermod -a -G 'sandstorm' 'vagrant' +# Bind to all addresses, so the vagrant port-forward works. +sudo sed --in-place='' \ + --expression='s/^BIND_IP=.*/BIND_IP=0.0.0.0/' \ + /opt/sandstorm/sandstorm.conf +sudo service sandstorm restart +# Enable apt-cacher-ng proxy to make things faster if one appears to be running on the gateway IP +GATEWAY_IP=$(ip route | grep ^default | cut -d ' ' -f 3) +if nc -z "$GATEWAY_IP" 3142 ; then + echo "Acquire::http::Proxy \"http://$GATEWAY_IP:3142\";" > /etc/apt/apt.conf.d/80httpproxy +fi +# Configure apt to retry fetching things that fail to download. +echo "APT::Acquire::Retries \"10\";" > /etc/apt/apt.conf.d/80sandstorm-retry diff --git a/.sandstorm/launcher.sh b/.sandstorm/launcher.sh new file mode 100755 index 0000000000..dba084dfa2 --- /dev/null +++ b/.sandstorm/launcher.sh @@ -0,0 +1,66 @@ +#!/bin/bash + +# Runs every time we create a new grain! + +# Create a bunch of folders under the clean /var that php, nginx, and mysql expect to exist +mkdir -p /var/lib/mysql +mkdir -p /var/lib/nginx +mkdir -p /var/lib/php/sessions/ +mkdir -p /var/log +mkdir -p /var/log/mysql +mkdir -p /var/log/nginx +# Wipe /var/run, since pidfiles and socket files from previous launches should go away +# TODO someday: I'd prefer a tmpfs for these. +rm -rf /var/run +mkdir -p /var/run +rm -rf /var/tmp +mkdir -p /var/tmp +mkdir -p /var/run/mysqld + +# make storage directories +rm -rf /var/storage +mkdir -p /var/storage/app/public +mkdir -p /var/storage/build +mkdir -p /var/storage/database +mkdir -p /var/storage/debugbar +mkdir -p /var/storage/export +mkdir -p /var/storage/framework/cache +mkdir -p /var/storage/framework/sessions +mkdir -p /var/storage/framework/views +mkdir -p /var/storage/logs +mkdir -p /var/storage/upload + + +# Ensure mysql tables created +HOME=/etc/mysql /usr/bin/mysql_install_db --force + +# Spawn mysqld, php +HOME=/etc/mysql /usr/sbin/mysqld & + +/usr/sbin/php-fpm7.0 --nodaemonize --fpm-config /etc/php/7.0/fpm/php-fpm.conf & + +# Wait until mysql and php have bound their sockets, indicating readiness +while [ ! -e /var/run/mysqld/mysqld.sock ] ; do + echo "waiting for mysql to be available at /var/run/mysqld/mysqld.sock" + sleep .5 +done +while [ ! -e /var/run/php7.0-fpm.sock ] ; do + echo "waiting for php7.0-fpm to be available at /var/run/php7.0-fpm.sock" + sleep .5 +done + +echo "Installing database.." +# Install database for Firefly III +echo "CREATE DATABASE IF NOT EXISTS firefly; GRANT ALL on firefly.* TO 'firefly'@'localhost' IDENTIFIED BY 'firefly';" | mysql -uroot +echo "Done!" + +#echo "Generate key..." +#php /opt/app/artisan key:generate +#echo "Done!" + +echo "Migrating..." +php /opt/app/artisan migrate:refresh --seed --force +echo "Done!" + +# Start nginx. +/usr/sbin/nginx -c /opt/app/.sandstorm/service-config/nginx.conf -g "daemon off;" diff --git a/.sandstorm/sandstorm-files.list b/.sandstorm/sandstorm-files.list new file mode 100644 index 0000000000..db769f8f6b --- /dev/null +++ b/.sandstorm/sandstorm-files.list @@ -0,0 +1,1113 @@ +# *** WARNING: GENERATED FILE *** +# This file is automatically updated and rewritten in sorted order every time +# the app runs in dev mode. You may manually add or remove files, but don't +# expect comments or ordering to be retained. +bin/bash +bin/cat +bin/chmod +bin/cp +bin/dash +bin/grep +bin/hostname +bin/ln +bin/ls +bin/mkdir +bin/rm +bin/sed +bin/sh +bin/sleep +bin/stty +etc/alternatives/php +etc/bash.bashrc +etc/bindresvport.blacklist +etc/default/nss +etc/hosts.allow +etc/hosts.deny +etc/inputrc +etc/ld.so.cache +etc/localtime +etc/mysql/conf.d +etc/mysql/conf.d/mysqld_safe_syslog.cnf +etc/mysql/conf.d/sandstorm.cnf +etc/mysql/my.cnf +etc/php/7.0/cli/conf.d +etc/php/7.0/cli/conf.d/10-mysqlnd.ini +etc/php/7.0/cli/conf.d/10-opcache.ini +etc/php/7.0/cli/conf.d/10-pdo.ini +etc/php/7.0/cli/conf.d/15-xml.ini +etc/php/7.0/cli/conf.d/20-bcmath.ini +etc/php/7.0/cli/conf.d/20-calendar.ini +etc/php/7.0/cli/conf.d/20-ctype.ini +etc/php/7.0/cli/conf.d/20-curl.ini +etc/php/7.0/cli/conf.d/20-dom.ini +etc/php/7.0/cli/conf.d/20-exif.ini +etc/php/7.0/cli/conf.d/20-fileinfo.ini +etc/php/7.0/cli/conf.d/20-ftp.ini +etc/php/7.0/cli/conf.d/20-gettext.ini +etc/php/7.0/cli/conf.d/20-iconv.ini +etc/php/7.0/cli/conf.d/20-intl.ini +etc/php/7.0/cli/conf.d/20-json.ini +etc/php/7.0/cli/conf.d/20-mbstring.ini +etc/php/7.0/cli/conf.d/20-mysqli.ini +etc/php/7.0/cli/conf.d/20-pdo_mysql.ini +etc/php/7.0/cli/conf.d/20-phar.ini +etc/php/7.0/cli/conf.d/20-posix.ini +etc/php/7.0/cli/conf.d/20-readline.ini +etc/php/7.0/cli/conf.d/20-shmop.ini +etc/php/7.0/cli/conf.d/20-simplexml.ini +etc/php/7.0/cli/conf.d/20-sockets.ini +etc/php/7.0/cli/conf.d/20-sysvmsg.ini +etc/php/7.0/cli/conf.d/20-sysvsem.ini +etc/php/7.0/cli/conf.d/20-sysvshm.ini +etc/php/7.0/cli/conf.d/20-tokenizer.ini +etc/php/7.0/cli/conf.d/20-wddx.ini +etc/php/7.0/cli/conf.d/20-xmlreader.ini +etc/php/7.0/cli/conf.d/20-xmlwriter.ini +etc/php/7.0/cli/conf.d/20-xsl.ini +etc/php/7.0/cli/php.ini +etc/php/7.0/fpm/conf.d +etc/php/7.0/fpm/conf.d/10-mysqlnd.ini +etc/php/7.0/fpm/conf.d/10-opcache.ini +etc/php/7.0/fpm/conf.d/10-pdo.ini +etc/php/7.0/fpm/conf.d/15-xml.ini +etc/php/7.0/fpm/conf.d/20-bcmath.ini +etc/php/7.0/fpm/conf.d/20-calendar.ini +etc/php/7.0/fpm/conf.d/20-ctype.ini +etc/php/7.0/fpm/conf.d/20-curl.ini +etc/php/7.0/fpm/conf.d/20-dom.ini +etc/php/7.0/fpm/conf.d/20-exif.ini +etc/php/7.0/fpm/conf.d/20-fileinfo.ini +etc/php/7.0/fpm/conf.d/20-ftp.ini +etc/php/7.0/fpm/conf.d/20-gettext.ini +etc/php/7.0/fpm/conf.d/20-iconv.ini +etc/php/7.0/fpm/conf.d/20-intl.ini +etc/php/7.0/fpm/conf.d/20-json.ini +etc/php/7.0/fpm/conf.d/20-mbstring.ini +etc/php/7.0/fpm/conf.d/20-mysqli.ini +etc/php/7.0/fpm/conf.d/20-pdo_mysql.ini +etc/php/7.0/fpm/conf.d/20-phar.ini +etc/php/7.0/fpm/conf.d/20-posix.ini +etc/php/7.0/fpm/conf.d/20-readline.ini +etc/php/7.0/fpm/conf.d/20-shmop.ini +etc/php/7.0/fpm/conf.d/20-simplexml.ini +etc/php/7.0/fpm/conf.d/20-sockets.ini +etc/php/7.0/fpm/conf.d/20-sysvmsg.ini +etc/php/7.0/fpm/conf.d/20-sysvsem.ini +etc/php/7.0/fpm/conf.d/20-sysvshm.ini +etc/php/7.0/fpm/conf.d/20-tokenizer.ini +etc/php/7.0/fpm/conf.d/20-wddx.ini +etc/php/7.0/fpm/conf.d/20-xmlreader.ini +etc/php/7.0/fpm/conf.d/20-xmlwriter.ini +etc/php/7.0/fpm/conf.d/20-xsl.ini +etc/php/7.0/fpm/php-fpm.conf +etc/php/7.0/fpm/php.ini +etc/php/7.0/fpm/pool.d +etc/php/7.0/fpm/pool.d/www.conf +etc/php/7.0/mods-available/bcmath.ini +etc/php/7.0/mods-available/calendar.ini +etc/php/7.0/mods-available/ctype.ini +etc/php/7.0/mods-available/curl.ini +etc/php/7.0/mods-available/dom.ini +etc/php/7.0/mods-available/exif.ini +etc/php/7.0/mods-available/fileinfo.ini +etc/php/7.0/mods-available/ftp.ini +etc/php/7.0/mods-available/gettext.ini +etc/php/7.0/mods-available/iconv.ini +etc/php/7.0/mods-available/intl.ini +etc/php/7.0/mods-available/json.ini +etc/php/7.0/mods-available/mbstring.ini +etc/php/7.0/mods-available/mysqli.ini +etc/php/7.0/mods-available/mysqlnd.ini +etc/php/7.0/mods-available/opcache.ini +etc/php/7.0/mods-available/pdo.ini +etc/php/7.0/mods-available/pdo_mysql.ini +etc/php/7.0/mods-available/phar.ini +etc/php/7.0/mods-available/posix.ini +etc/php/7.0/mods-available/readline.ini +etc/php/7.0/mods-available/shmop.ini +etc/php/7.0/mods-available/simplexml.ini +etc/php/7.0/mods-available/sockets.ini +etc/php/7.0/mods-available/sysvmsg.ini +etc/php/7.0/mods-available/sysvsem.ini +etc/php/7.0/mods-available/sysvshm.ini +etc/php/7.0/mods-available/tokenizer.ini +etc/php/7.0/mods-available/wddx.ini +etc/php/7.0/mods-available/xml.ini +etc/php/7.0/mods-available/xmlreader.ini +etc/php/7.0/mods-available/xmlwriter.ini +etc/php/7.0/mods-available/xsl.ini +etc/services +etc/ssl/openssl.cnf +lib/terminfo/d/dumb +lib/x86_64-linux-gnu/ld-2.19.so +lib/x86_64-linux-gnu/libacl.so.1 +lib/x86_64-linux-gnu/libacl.so.1.1.0 +lib/x86_64-linux-gnu/libaio.so.1 +lib/x86_64-linux-gnu/libaio.so.1.0.1 +lib/x86_64-linux-gnu/libattr.so.1 +lib/x86_64-linux-gnu/libattr.so.1.1.0 +lib/x86_64-linux-gnu/libaudit.so.1 +lib/x86_64-linux-gnu/libaudit.so.1.0.0 +lib/x86_64-linux-gnu/libbsd.so.0 +lib/x86_64-linux-gnu/libbsd.so.0.7.0 +lib/x86_64-linux-gnu/libbz2.so.1.0 +lib/x86_64-linux-gnu/libbz2.so.1.0.4 +lib/x86_64-linux-gnu/libc-2.19.so +lib/x86_64-linux-gnu/libc.so.6 +lib/x86_64-linux-gnu/libcom_err.so.2 +lib/x86_64-linux-gnu/libcom_err.so.2.1 +lib/x86_64-linux-gnu/libcrypt-2.19.so +lib/x86_64-linux-gnu/libcrypt.so.1 +lib/x86_64-linux-gnu/libdl-2.19.so +lib/x86_64-linux-gnu/libdl.so.2 +lib/x86_64-linux-gnu/libexpat.so.1 +lib/x86_64-linux-gnu/libexpat.so.1.6.0 +lib/x86_64-linux-gnu/libgcc_s.so.1 +lib/x86_64-linux-gnu/libgcrypt.so.20 +lib/x86_64-linux-gnu/libgcrypt.so.20.0.3 +lib/x86_64-linux-gnu/libgpg-error.so.0 +lib/x86_64-linux-gnu/libgpg-error.so.0.13.0 +lib/x86_64-linux-gnu/libjson-c.so.2 +lib/x86_64-linux-gnu/libjson-c.so.2.0.0 +lib/x86_64-linux-gnu/libkeyutils.so.1 +lib/x86_64-linux-gnu/libkeyutils.so.1.5 +lib/x86_64-linux-gnu/liblzma.so.5 +lib/x86_64-linux-gnu/liblzma.so.5.0.0 +lib/x86_64-linux-gnu/libm-2.19.so +lib/x86_64-linux-gnu/libm.so.6 +lib/x86_64-linux-gnu/libncurses.so.5 +lib/x86_64-linux-gnu/libncurses.so.5.9 +lib/x86_64-linux-gnu/libnsl-2.19.so +lib/x86_64-linux-gnu/libnsl.so.1 +lib/x86_64-linux-gnu/libnss_compat-2.19.so +lib/x86_64-linux-gnu/libnss_compat.so.2 +lib/x86_64-linux-gnu/libnss_dns-2.19.so +lib/x86_64-linux-gnu/libnss_dns.so.2 +lib/x86_64-linux-gnu/libnss_files-2.19.so +lib/x86_64-linux-gnu/libnss_files.so.2 +lib/x86_64-linux-gnu/libnss_nis-2.19.so +lib/x86_64-linux-gnu/libnss_nis.so.2 +lib/x86_64-linux-gnu/libpam.so.0 +lib/x86_64-linux-gnu/libpam.so.0.83.1 +lib/x86_64-linux-gnu/libpcre.so.3 +lib/x86_64-linux-gnu/libpcre.so.3.13.3 +lib/x86_64-linux-gnu/libpng12.so.0 +lib/x86_64-linux-gnu/libpng12.so.0.50.0 +lib/x86_64-linux-gnu/libpthread-2.19.so +lib/x86_64-linux-gnu/libpthread.so.0 +lib/x86_64-linux-gnu/libreadline.so.6 +lib/x86_64-linux-gnu/libreadline.so.6.3 +lib/x86_64-linux-gnu/libresolv-2.19.so +lib/x86_64-linux-gnu/libresolv.so.2 +lib/x86_64-linux-gnu/librt-2.19.so +lib/x86_64-linux-gnu/librt.so.1 +lib/x86_64-linux-gnu/libselinux.so.1 +lib/x86_64-linux-gnu/libsystemd.so.0 +lib/x86_64-linux-gnu/libsystemd.so.0.3.1 +lib/x86_64-linux-gnu/libtinfo.so.5 +lib/x86_64-linux-gnu/libtinfo.so.5.9 +lib/x86_64-linux-gnu/libutil-2.19.so +lib/x86_64-linux-gnu/libutil.so.1 +lib/x86_64-linux-gnu/libwrap.so.0 +lib/x86_64-linux-gnu/libwrap.so.0.7.6 +lib/x86_64-linux-gnu/libz.so.1 +lib/x86_64-linux-gnu/libz.so.1.2.8 +lib64/ld-linux-x86-64.so.2 +opt/app +opt/app/.env +opt/app/.sandstorm/launcher.sh +opt/app/.sandstorm/service-config/mime.types +opt/app/.sandstorm/service-config/nginx.conf +opt/app/app/Bootstrap/ConfigureLogging.php +opt/app/app/Console/Commands/CreateImport.php +opt/app/app/Console/Commands/EncryptFile.php +opt/app/app/Console/Commands/Import.php +opt/app/app/Console/Commands/ScanAttachments.php +opt/app/app/Console/Commands/UpgradeDatabase.php +opt/app/app/Console/Commands/UpgradeFireflyInstructions.php +opt/app/app/Console/Commands/UseEncryption.php +opt/app/app/Console/Commands/VerifyDatabase.php +opt/app/app/Console/Kernel.php +opt/app/app/Exceptions/Handler.php +opt/app/app/Http/Controllers/Controller.php +opt/app/app/Http/Controllers/HomeController.php +opt/app/app/Http/Kernel.php +opt/app/app/Http/breadcrumbs.php +opt/app/app/Jobs/Job.php +opt/app/app/Jobs/MailError.php +opt/app/app/Models/Account.php +opt/app/app/Models/AccountType.php +opt/app/app/Models/Configuration.php +opt/app/app/Models/PiggyBank.php +opt/app/app/Models/Role.php +opt/app/app/Models/TransactionCurrency.php +opt/app/app/Models/TransactionJournal.php +opt/app/app/Models/TransactionType.php +opt/app/app/Providers/AccountServiceProvider.php +opt/app/app/Providers/AppServiceProvider.php +opt/app/app/Providers/AttachmentServiceProvider.php +opt/app/app/Providers/AuthServiceProvider.php +opt/app/app/Providers/BillServiceProvider.php +opt/app/app/Providers/BudgetServiceProvider.php +opt/app/app/Providers/CategoryServiceProvider.php +opt/app/app/Providers/CrudServiceProvider.php +opt/app/app/Providers/CurrencyServiceProvider.php +opt/app/app/Providers/EventServiceProvider.php +opt/app/app/Providers/ExportJobServiceProvider.php +opt/app/app/Providers/FireflyServiceProvider.php +opt/app/app/Providers/JournalServiceProvider.php +opt/app/app/Providers/PiggyBankServiceProvider.php +opt/app/app/Providers/RouteServiceProvider.php +opt/app/app/Providers/RuleGroupServiceProvider.php +opt/app/app/Providers/RuleServiceProvider.php +opt/app/app/Providers/SearchServiceProvider.php +opt/app/app/Providers/TagServiceProvider.php +opt/app/app/Support/Facades/FireflyConfig.php +opt/app/app/Support/FireflyConfig.php +opt/app/app/Support/Models/TransactionJournalSupport.php +opt/app/app/Support/Twig/General.php +opt/app/app/Support/Twig/Journal.php +opt/app/app/Support/Twig/PiggyBank.php +opt/app/app/Support/Twig/Rule.php +opt/app/app/Support/Twig/Transaction.php +opt/app/app/Support/Twig/Translation.php +opt/app/app/Validation/FireflyValidator.php +opt/app/artisan +opt/app/bootstrap/app.php +opt/app/bootstrap/autoload.php +opt/app/bootstrap/cache/services.php +opt/app/config +opt/app/config/app.php +opt/app/config/auth.php +opt/app/config/broadcasting.php +opt/app/config/cache.php +opt/app/config/compile.php +opt/app/config/csv.php +opt/app/config/database.php +opt/app/config/filesystems.php +opt/app/config/firefly.php +opt/app/config/mail.php +opt/app/config/queue.php +opt/app/config/services.php +opt/app/config/session.php +opt/app/config/twigbridge.php +opt/app/config/upgrade.php +opt/app/config/view.php +opt/app/database/migrations +opt/app/database/migrations/2016_06_16_000000_create_support_tables.php +opt/app/database/migrations/2016_06_16_000001_create_users_table.php +opt/app/database/migrations/2016_06_16_000002_create_main_tables.php +opt/app/database/migrations/2016_08_25_091522_changes_for_3101.php +opt/app/database/migrations/2016_09_12_121359_fix_nullables.php +opt/app/database/migrations/2016_10_09_150037_expand_transactions_table.php +opt/app/database/migrations/2016_10_22_075804_changes_for_v410.php +opt/app/database/migrations/2016_11_24_210552_changes_for_v420.php +opt/app/database/migrations/2016_12_22_150431_changes_for_v430.php +opt/app/database/migrations/2016_12_28_203205_changes_for_v431.php +opt/app/database/seeds/AccountTypeSeeder.php +opt/app/database/seeds/DatabaseSeeder.php +opt/app/database/seeds/PermissionSeeder.php +opt/app/database/seeds/TransactionCurrencySeeder.php +opt/app/database/seeds/TransactionTypeSeeder.php +opt/app/public/index.php +opt/app/resources/views/emails/error-html.twig +opt/app/resources/views/emails/error-text.twig +opt/app/resources/views/emails/footer-html.twig +opt/app/resources/views/emails/footer-text.twig +opt/app/resources/views/emails/header-html.twig +opt/app/resources/views/emails/header-text.twig +opt/app/routes/api.php +opt/app/routes/console.php +opt/app/routes/web.php +opt/app/storage +opt/app/vendor/autoload.php +opt/app/vendor/composer/ClassLoader.php +opt/app/vendor/composer/autoload_real.php +opt/app/vendor/composer/autoload_static.php +opt/app/vendor/davejamesmiller/laravel-breadcrumbs/config/breadcrumbs.php +opt/app/vendor/davejamesmiller/laravel-breadcrumbs/src/CurrentRoute.php +opt/app/vendor/davejamesmiller/laravel-breadcrumbs/src/Facade.php +opt/app/vendor/davejamesmiller/laravel-breadcrumbs/src/Generator.php +opt/app/vendor/davejamesmiller/laravel-breadcrumbs/src/Manager.php +opt/app/vendor/davejamesmiller/laravel-breadcrumbs/src/ServiceProvider.php +opt/app/vendor/davejamesmiller/laravel-breadcrumbs/src/View.php +opt/app/vendor/doctrine/common/lib/Doctrine/Common/EventManager.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Configuration.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/Connection.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/DriverException.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/ExceptionConverterDriver.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOException.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOMySql/Driver.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/ResultStatement.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/ServerInfoAwareConnection.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/Statement.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Events.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/AbstractPlatform.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/KeywordList.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/MySQLKeywords.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/MySqlPlatform.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Query/Expression/ExpressionBuilder.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/AbstractAsset.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/AbstractSchemaManager.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Column.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Comparator.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Constraint.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/ForeignKeyConstraint.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Identifier.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Index.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/MySqlSchemaManager.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Table.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/TableDiff.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/ArrayType.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/BigIntType.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/BinaryType.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/BlobType.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/BooleanType.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateTimeType.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateTimeTzType.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateType.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DecimalType.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/FloatType.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/GuidType.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/IntegerType.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/JsonArrayType.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/ObjectType.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/SimpleArrayType.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/SmallIntType.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/StringType.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/TextType.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/TimeType.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/Type.php +opt/app/vendor/doctrine/dbal/lib/Doctrine/DBAL/VersionAwarePlatformDriver.php +opt/app/vendor/doctrine/inflector/lib/Doctrine/Common/Inflector/Inflector.php +opt/app/vendor/laravel/framework/src/Illuminate/Auth/Access/Gate.php +opt/app/vendor/laravel/framework/src/Illuminate/Auth/Access/HandlesAuthorization.php +opt/app/vendor/laravel/framework/src/Illuminate/Auth/AuthManager.php +opt/app/vendor/laravel/framework/src/Illuminate/Auth/AuthServiceProvider.php +opt/app/vendor/laravel/framework/src/Illuminate/Auth/Console/ClearResetsCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Auth/Console/MakeAuthCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Auth/CreatesUserProviders.php +opt/app/vendor/laravel/framework/src/Illuminate/Auth/EloquentUserProvider.php +opt/app/vendor/laravel/framework/src/Illuminate/Auth/GuardHelpers.php +opt/app/vendor/laravel/framework/src/Illuminate/Auth/Passwords/PasswordResetServiceProvider.php +opt/app/vendor/laravel/framework/src/Illuminate/Auth/SessionGuard.php +opt/app/vendor/laravel/framework/src/Illuminate/Broadcasting/BroadcastServiceProvider.php +opt/app/vendor/laravel/framework/src/Illuminate/Bus/BusServiceProvider.php +opt/app/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php +opt/app/vendor/laravel/framework/src/Illuminate/Bus/Queueable.php +opt/app/vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php +opt/app/vendor/laravel/framework/src/Illuminate/Cache/CacheServiceProvider.php +opt/app/vendor/laravel/framework/src/Illuminate/Cache/Console/CacheTableCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Cache/Console/ClearCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Cache/Events/CacheMissed.php +opt/app/vendor/laravel/framework/src/Illuminate/Cache/FileStore.php +opt/app/vendor/laravel/framework/src/Illuminate/Cache/Repository.php +opt/app/vendor/laravel/framework/src/Illuminate/Cache/RetrievesMultipleKeys.php +opt/app/vendor/laravel/framework/src/Illuminate/Config/Repository.php +opt/app/vendor/laravel/framework/src/Illuminate/Console/AppNamespaceDetectorTrait.php +opt/app/vendor/laravel/framework/src/Illuminate/Console/Application.php +opt/app/vendor/laravel/framework/src/Illuminate/Console/Command.php +opt/app/vendor/laravel/framework/src/Illuminate/Console/ConfirmableTrait.php +opt/app/vendor/laravel/framework/src/Illuminate/Console/Events/ArtisanStarting.php +opt/app/vendor/laravel/framework/src/Illuminate/Console/GeneratorCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Console/OutputStyle.php +opt/app/vendor/laravel/framework/src/Illuminate/Console/Parser.php +opt/app/vendor/laravel/framework/src/Illuminate/Console/ScheduleServiceProvider.php +opt/app/vendor/laravel/framework/src/Illuminate/Console/Scheduling/Schedule.php +opt/app/vendor/laravel/framework/src/Illuminate/Console/Scheduling/ScheduleRunCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Container/Container.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Auth/Access/Gate.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Auth/Factory.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Auth/Guard.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Auth/StatefulGuard.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Auth/SupportsBasicAuth.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Auth/UserProvider.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Bus/Dispatcher.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Bus/QueueingDispatcher.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Cache/Factory.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Cache/Repository.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Cache/Store.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Config/Repository.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Console/Application.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Console/Kernel.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Container/Container.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Cookie/Factory.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Cookie/QueueingFactory.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Debug/ExceptionHandler.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Encryption/Encrypter.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Events/Dispatcher.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Filesystem/FileNotFoundException.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Foundation/Application.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Hashing/Hasher.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Http/Kernel.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Logging/Log.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Mail/MailQueue.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Mail/Mailer.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Pagination/Paginator.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Pipeline/Pipeline.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Queue/Factory.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Queue/Job.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Queue/Monitor.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Queue/Queue.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Queue/QueueableEntity.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Queue/ShouldQueue.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Routing/Registrar.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Routing/UrlGenerator.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Routing/UrlRoutable.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Support/Arrayable.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Support/Htmlable.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Support/Jsonable.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Support/MessageBag.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Support/MessageProvider.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Support/Renderable.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Validation/Factory.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Validation/ValidatesWhenResolved.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Validation/Validator.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/View/Factory.php +opt/app/vendor/laravel/framework/src/Illuminate/Contracts/View/View.php +opt/app/vendor/laravel/framework/src/Illuminate/Cookie/CookieJar.php +opt/app/vendor/laravel/framework/src/Illuminate/Cookie/CookieServiceProvider.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/ConnectionInterface.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/ConnectionResolverInterface.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/Connectors/ConnectionFactory.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/Connectors/ConnectorInterface.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/Connectors/MySqlConnector.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/BaseCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/InstallCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateMakeCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/RefreshCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/ResetCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/RollbackCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/StatusCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/Console/Seeds/SeedCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/Console/Seeds/SeederMakeCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/DatabaseManager.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/DatabaseServiceProvider.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/DetectsDeadlocks.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/DetectsLostConnections.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Scope.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/Eloquent/SoftDeletes.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/Eloquent/SoftDeletingScope.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/Events/QueryExecuted.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/Grammar.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/MigrationServiceProvider.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/Migrations/DatabaseMigrationRepository.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migration.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/Migrations/MigrationCreator.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/Migrations/MigrationRepositoryInterface.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/Query/Grammars/Grammar.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/Query/Grammars/MySqlGrammar.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/Processor.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/QueryException.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/Schema/Blueprint.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/Schema/Builder.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/Schema/Grammars/Grammar.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/Schema/Grammars/MySqlGrammar.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/Schema/MySqlBuilder.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/SeedServiceProvider.php +opt/app/vendor/laravel/framework/src/Illuminate/Database/Seeder.php +opt/app/vendor/laravel/framework/src/Illuminate/Encryption/Encrypter.php +opt/app/vendor/laravel/framework/src/Illuminate/Encryption/EncryptionServiceProvider.php +opt/app/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php +opt/app/vendor/laravel/framework/src/Illuminate/Events/EventServiceProvider.php +opt/app/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php +opt/app/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemServiceProvider.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/AliasLoader.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Application.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Auth/Access/AuthorizesRequests.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/ConfigureLogging.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/DetectEnvironment.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/LoadConfiguration.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/RegisterFacades.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/RegisterProviders.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/SetRequestForConsole.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Bus/DispatchesJobs.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/AppNameCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/ClearCompiledCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/ConfigCacheCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/ConfigClearCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/ConsoleMakeCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/DownCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/EnvironmentCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/EventGenerateCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/EventMakeCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/JobMakeCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/KeyGenerateCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/ListenerMakeCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/MailMakeCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/ModelMakeCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/NotificationMakeCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/OptimizeCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/PolicyMakeCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/ProviderMakeCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/RequestMakeCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/RouteCacheCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/RouteClearCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/RouteListCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/ServeCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/StorageLinkCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/TestMakeCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/TinkerCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/UpCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/VendorPublishCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/ViewClearCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/EnvironmentDetector.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Http/FormRequest.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Providers/ArtisanServiceProvider.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Providers/ComposerServiceProvider.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Providers/ConsoleSupportServiceProvider.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Providers/FoundationServiceProvider.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/AuthServiceProvider.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/EventServiceProvider.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Validation/ValidatesRequests.php +opt/app/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php +opt/app/vendor/laravel/framework/src/Illuminate/Hashing/BcryptHasher.php +opt/app/vendor/laravel/framework/src/Illuminate/Hashing/HashServiceProvider.php +opt/app/vendor/laravel/framework/src/Illuminate/Http/Request.php +opt/app/vendor/laravel/framework/src/Illuminate/Http/Response.php +opt/app/vendor/laravel/framework/src/Illuminate/Http/ResponseTrait.php +opt/app/vendor/laravel/framework/src/Illuminate/Log/Writer.php +opt/app/vendor/laravel/framework/src/Illuminate/Mail/Events/MessageSending.php +opt/app/vendor/laravel/framework/src/Illuminate/Mail/MailServiceProvider.php +opt/app/vendor/laravel/framework/src/Illuminate/Mail/Mailer.php +opt/app/vendor/laravel/framework/src/Illuminate/Mail/Message.php +opt/app/vendor/laravel/framework/src/Illuminate/Mail/TransportManager.php +opt/app/vendor/laravel/framework/src/Illuminate/Notifications/Console/NotificationTableCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Notifications/NotificationServiceProvider.php +opt/app/vendor/laravel/framework/src/Illuminate/Pagination/AbstractPaginator.php +opt/app/vendor/laravel/framework/src/Illuminate/Pagination/PaginationServiceProvider.php +opt/app/vendor/laravel/framework/src/Illuminate/Pagination/Paginator.php +opt/app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php +opt/app/vendor/laravel/framework/src/Illuminate/Pipeline/PipelineServiceProvider.php +opt/app/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php +opt/app/vendor/laravel/framework/src/Illuminate/Queue/Connectors/ConnectorInterface.php +opt/app/vendor/laravel/framework/src/Illuminate/Queue/Connectors/SyncConnector.php +opt/app/vendor/laravel/framework/src/Illuminate/Queue/Console/FailedTableCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Queue/Console/FlushFailedCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Queue/Console/ForgetFailedCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Queue/Console/ListFailedCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Queue/Console/ListenCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Queue/Console/RestartCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Queue/Console/RetryCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Queue/Console/TableCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Queue/ConsoleServiceProvider.php +opt/app/vendor/laravel/framework/src/Illuminate/Queue/Events/JobProcessed.php +opt/app/vendor/laravel/framework/src/Illuminate/Queue/Events/JobProcessing.php +opt/app/vendor/laravel/framework/src/Illuminate/Queue/InteractsWithQueue.php +opt/app/vendor/laravel/framework/src/Illuminate/Queue/Jobs/Job.php +opt/app/vendor/laravel/framework/src/Illuminate/Queue/Jobs/SyncJob.php +opt/app/vendor/laravel/framework/src/Illuminate/Queue/Listener.php +opt/app/vendor/laravel/framework/src/Illuminate/Queue/Queue.php +opt/app/vendor/laravel/framework/src/Illuminate/Queue/QueueManager.php +opt/app/vendor/laravel/framework/src/Illuminate/Queue/QueueServiceProvider.php +opt/app/vendor/laravel/framework/src/Illuminate/Queue/SerializesAndRestoresModelIdentifiers.php +opt/app/vendor/laravel/framework/src/Illuminate/Queue/SerializesModels.php +opt/app/vendor/laravel/framework/src/Illuminate/Queue/SyncQueue.php +opt/app/vendor/laravel/framework/src/Illuminate/Queue/Worker.php +opt/app/vendor/laravel/framework/src/Illuminate/Redis/RedisServiceProvider.php +opt/app/vendor/laravel/framework/src/Illuminate/Routing/Console/ControllerMakeCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Routing/Console/MiddlewareMakeCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Routing/Controller.php +opt/app/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php +opt/app/vendor/laravel/framework/src/Illuminate/Routing/Events/RouteMatched.php +opt/app/vendor/laravel/framework/src/Illuminate/Routing/Matching/HostValidator.php +opt/app/vendor/laravel/framework/src/Illuminate/Routing/Matching/MethodValidator.php +opt/app/vendor/laravel/framework/src/Illuminate/Routing/Matching/SchemeValidator.php +opt/app/vendor/laravel/framework/src/Illuminate/Routing/Matching/UriValidator.php +opt/app/vendor/laravel/framework/src/Illuminate/Routing/Matching/ValidatorInterface.php +opt/app/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php +opt/app/vendor/laravel/framework/src/Illuminate/Routing/Route.php +opt/app/vendor/laravel/framework/src/Illuminate/Routing/RouteCollection.php +opt/app/vendor/laravel/framework/src/Illuminate/Routing/RouteDependencyResolverTrait.php +opt/app/vendor/laravel/framework/src/Illuminate/Routing/Router.php +opt/app/vendor/laravel/framework/src/Illuminate/Routing/RoutingServiceProvider.php +opt/app/vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php +opt/app/vendor/laravel/framework/src/Illuminate/Session/Console/SessionTableCommand.php +opt/app/vendor/laravel/framework/src/Illuminate/Session/EncryptedStore.php +opt/app/vendor/laravel/framework/src/Illuminate/Session/FileSessionHandler.php +opt/app/vendor/laravel/framework/src/Illuminate/Session/SessionInterface.php +opt/app/vendor/laravel/framework/src/Illuminate/Session/SessionManager.php +opt/app/vendor/laravel/framework/src/Illuminate/Session/SessionServiceProvider.php +opt/app/vendor/laravel/framework/src/Illuminate/Session/Store.php +opt/app/vendor/laravel/framework/src/Illuminate/Support/AggregateServiceProvider.php +opt/app/vendor/laravel/framework/src/Illuminate/Support/Arr.php +opt/app/vendor/laravel/framework/src/Illuminate/Support/Collection.php +opt/app/vendor/laravel/framework/src/Illuminate/Support/Composer.php +opt/app/vendor/laravel/framework/src/Illuminate/Support/Facades/Cache.php +opt/app/vendor/laravel/framework/src/Illuminate/Support/Facades/DB.php +opt/app/vendor/laravel/framework/src/Illuminate/Support/Facades/Event.php +opt/app/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php +opt/app/vendor/laravel/framework/src/Illuminate/Support/Facades/Gate.php +opt/app/vendor/laravel/framework/src/Illuminate/Support/Facades/Log.php +opt/app/vendor/laravel/framework/src/Illuminate/Support/Facades/Mail.php +opt/app/vendor/laravel/framework/src/Illuminate/Support/Facades/Request.php +opt/app/vendor/laravel/framework/src/Illuminate/Support/Facades/Route.php +opt/app/vendor/laravel/framework/src/Illuminate/Support/Facades/Schema.php +opt/app/vendor/laravel/framework/src/Illuminate/Support/Facades/Validator.php +opt/app/vendor/laravel/framework/src/Illuminate/Support/Facades/View.php +opt/app/vendor/laravel/framework/src/Illuminate/Support/Fluent.php +opt/app/vendor/laravel/framework/src/Illuminate/Support/Manager.php +opt/app/vendor/laravel/framework/src/Illuminate/Support/MessageBag.php +opt/app/vendor/laravel/framework/src/Illuminate/Support/NamespacedItemResolver.php +opt/app/vendor/laravel/framework/src/Illuminate/Support/Pluralizer.php +opt/app/vendor/laravel/framework/src/Illuminate/Support/ServiceProvider.php +opt/app/vendor/laravel/framework/src/Illuminate/Support/Str.php +opt/app/vendor/laravel/framework/src/Illuminate/Support/Traits/Macroable.php +opt/app/vendor/laravel/framework/src/Illuminate/Support/helpers.php +opt/app/vendor/laravel/framework/src/Illuminate/Translation/FileLoader.php +opt/app/vendor/laravel/framework/src/Illuminate/Translation/LoaderInterface.php +opt/app/vendor/laravel/framework/src/Illuminate/Translation/TranslationServiceProvider.php +opt/app/vendor/laravel/framework/src/Illuminate/Translation/Translator.php +opt/app/vendor/laravel/framework/src/Illuminate/Validation/DatabasePresenceVerifier.php +opt/app/vendor/laravel/framework/src/Illuminate/Validation/Factory.php +opt/app/vendor/laravel/framework/src/Illuminate/Validation/PresenceVerifierInterface.php +opt/app/vendor/laravel/framework/src/Illuminate/Validation/ValidatesWhenResolvedTrait.php +opt/app/vendor/laravel/framework/src/Illuminate/Validation/ValidationServiceProvider.php +opt/app/vendor/laravel/framework/src/Illuminate/Validation/Validator.php +opt/app/vendor/laravel/framework/src/Illuminate/View/Compilers/CompilerInterface.php +opt/app/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php +opt/app/vendor/laravel/framework/src/Illuminate/View/Engines/EngineInterface.php +opt/app/vendor/laravel/framework/src/Illuminate/View/Engines/EngineResolver.php +opt/app/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php +opt/app/vendor/laravel/framework/src/Illuminate/View/Factory.php +opt/app/vendor/laravel/framework/src/Illuminate/View/FileViewFinder.php +opt/app/vendor/laravel/framework/src/Illuminate/View/View.php +opt/app/vendor/laravel/framework/src/Illuminate/View/ViewFinderInterface.php +opt/app/vendor/laravel/framework/src/Illuminate/View/ViewServiceProvider.php +opt/app/vendor/laravelcollective/html/src/HtmlServiceProvider.php +opt/app/vendor/laravelcollective/html/src/helpers.php +opt/app/vendor/monolog/monolog/src/Monolog/Formatter/FormatterInterface.php +opt/app/vendor/monolog/monolog/src/Monolog/Formatter/LineFormatter.php +opt/app/vendor/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php +opt/app/vendor/monolog/monolog/src/Monolog/Handler/AbstractHandler.php +opt/app/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php +opt/app/vendor/monolog/monolog/src/Monolog/Handler/AbstractSyslogHandler.php +opt/app/vendor/monolog/monolog/src/Monolog/Handler/HandlerInterface.php +opt/app/vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php +opt/app/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php +opt/app/vendor/monolog/monolog/src/Monolog/Handler/SyslogHandler.php +opt/app/vendor/monolog/monolog/src/Monolog/Logger.php +opt/app/vendor/nesbot/carbon/src/Carbon/Carbon.php +opt/app/vendor/paragonie/random_compat/lib/random.php +opt/app/vendor/pragmarx/google2fa/src/Vendor/Laravel/ServiceProvider.php +opt/app/vendor/psr/log/Psr/Log/LoggerInterface.php +opt/app/vendor/psy/psysh/src/Psy/functions.php +opt/app/vendor/rcrowe/twigbridge/config/twigbridge.php +opt/app/vendor/rcrowe/twigbridge/src/Bridge.php +opt/app/vendor/rcrowe/twigbridge/src/Command/Clean.php +opt/app/vendor/rcrowe/twigbridge/src/Command/Lint.php +opt/app/vendor/rcrowe/twigbridge/src/Command/TwigBridge.php +opt/app/vendor/rcrowe/twigbridge/src/Engine/Compiler.php +opt/app/vendor/rcrowe/twigbridge/src/Engine/Twig.php +opt/app/vendor/rcrowe/twigbridge/src/Extension/Laravel/Auth.php +opt/app/vendor/rcrowe/twigbridge/src/Extension/Laravel/Config.php +opt/app/vendor/rcrowe/twigbridge/src/Extension/Laravel/Dump.php +opt/app/vendor/rcrowe/twigbridge/src/Extension/Laravel/Input.php +opt/app/vendor/rcrowe/twigbridge/src/Extension/Laravel/Session.php +opt/app/vendor/rcrowe/twigbridge/src/Extension/Laravel/Str.php +opt/app/vendor/rcrowe/twigbridge/src/Extension/Laravel/Translator.php +opt/app/vendor/rcrowe/twigbridge/src/Extension/Laravel/Url.php +opt/app/vendor/rcrowe/twigbridge/src/Extension/Loader/Facade/Caller.php +opt/app/vendor/rcrowe/twigbridge/src/Extension/Loader/Facades.php +opt/app/vendor/rcrowe/twigbridge/src/Extension/Loader/Filters.php +opt/app/vendor/rcrowe/twigbridge/src/Extension/Loader/Functions.php +opt/app/vendor/rcrowe/twigbridge/src/Extension/Loader/Loader.php +opt/app/vendor/rcrowe/twigbridge/src/Facade/Twig.php +opt/app/vendor/rcrowe/twigbridge/src/ServiceProvider.php +opt/app/vendor/rcrowe/twigbridge/src/Twig/Globals.php +opt/app/vendor/rcrowe/twigbridge/src/Twig/Loader.php +opt/app/vendor/rcrowe/twigbridge/src/Twig/Template.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/AbstractFilterableInputStream.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReaderFactory.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReaderFactory/SimpleCharacterReaderFactory.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterStream.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterStream/NgCharacterStream.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/DependencyContainer.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoder.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoder/QpEncoder.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoder/Rfc2231Encoder.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/Event.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/EventDispatcher.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/EventObject.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/SimpleEventDispatcher.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/TransportChangeEvent.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/TransportExceptionEvent.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Filterable.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/InputByteStream.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/IoException.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/DiskKeyCache.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/KeyCacheInputStream.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/SimpleKeyCacheInputStream.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mailer.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Message.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/CharsetObserver.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/NativeQpContentEncoder.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/QpContentEncoder.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/QpContentEncoderProxy.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/EncodingObserver.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Grammar.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Header.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/HeaderEncoder.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/HeaderEncoder/QpHeaderEncoder.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/HeaderFactory.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/HeaderSet.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/AbstractHeader.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/DateHeader.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/IdentificationHeader.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/MailboxHeader.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/ParameterizedHeader.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/UnstructuredHeader.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Message.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/MimeEntity.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/MimePart.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ParameterizedHeader.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleHeaderFactory.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleHeaderSet.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleMessage.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleMimeEntity.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/MimePart.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/OutputByteStream.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Preferences.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ReplacementFilterFactory.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SmtpTransport.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/StreamFilter.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/StreamFilters/ByteArrayReplacementFilter.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/StreamFilters/StringReplacementFilterFactory.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SwiftException.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/CramMd5Authenticator.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/LoginAuthenticator.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/NTLMAuthenticator.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/PlainAuthenticator.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/XOAuth2Authenticator.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/AuthHandler.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Authenticator.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/EsmtpHandler.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/EsmtpTransport.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/IoBuffer.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/SmtpAgent.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php +opt/app/vendor/swiftmailer/swiftmailer/lib/classes/Swift/TransportException.php +opt/app/vendor/swiftmailer/swiftmailer/lib/dependency_maps/cache_deps.php +opt/app/vendor/swiftmailer/swiftmailer/lib/dependency_maps/message_deps.php +opt/app/vendor/swiftmailer/swiftmailer/lib/dependency_maps/mime_deps.php +opt/app/vendor/swiftmailer/swiftmailer/lib/dependency_maps/transport_deps.php +opt/app/vendor/swiftmailer/swiftmailer/lib/mime_types.php +opt/app/vendor/swiftmailer/swiftmailer/lib/preferences.php +opt/app/vendor/swiftmailer/swiftmailer/lib/swift_init.php +opt/app/vendor/swiftmailer/swiftmailer/lib/swift_required.php +opt/app/vendor/symfony/console/Application.php +opt/app/vendor/symfony/console/Command/Command.php +opt/app/vendor/symfony/console/Command/HelpCommand.php +opt/app/vendor/symfony/console/Command/ListCommand.php +opt/app/vendor/symfony/console/Formatter/OutputFormatter.php +opt/app/vendor/symfony/console/Formatter/OutputFormatterInterface.php +opt/app/vendor/symfony/console/Formatter/OutputFormatterStyle.php +opt/app/vendor/symfony/console/Formatter/OutputFormatterStyleInterface.php +opt/app/vendor/symfony/console/Formatter/OutputFormatterStyleStack.php +opt/app/vendor/symfony/console/Helper/DebugFormatterHelper.php +opt/app/vendor/symfony/console/Helper/FormatterHelper.php +opt/app/vendor/symfony/console/Helper/Helper.php +opt/app/vendor/symfony/console/Helper/HelperInterface.php +opt/app/vendor/symfony/console/Helper/HelperSet.php +opt/app/vendor/symfony/console/Helper/ProcessHelper.php +opt/app/vendor/symfony/console/Helper/QuestionHelper.php +opt/app/vendor/symfony/console/Input/ArgvInput.php +opt/app/vendor/symfony/console/Input/ArrayInput.php +opt/app/vendor/symfony/console/Input/Input.php +opt/app/vendor/symfony/console/Input/InputArgument.php +opt/app/vendor/symfony/console/Input/InputDefinition.php +opt/app/vendor/symfony/console/Input/InputInterface.php +opt/app/vendor/symfony/console/Input/InputOption.php +opt/app/vendor/symfony/console/Output/BufferedOutput.php +opt/app/vendor/symfony/console/Output/ConsoleOutput.php +opt/app/vendor/symfony/console/Output/ConsoleOutputInterface.php +opt/app/vendor/symfony/console/Output/Output.php +opt/app/vendor/symfony/console/Output/OutputInterface.php +opt/app/vendor/symfony/console/Output/StreamOutput.php +opt/app/vendor/symfony/console/Style/OutputStyle.php +opt/app/vendor/symfony/console/Style/StyleInterface.php +opt/app/vendor/symfony/console/Style/SymfonyStyle.php +opt/app/vendor/symfony/debug/Exception/FatalErrorException.php +opt/app/vendor/symfony/debug/Exception/FlattenException.php +opt/app/vendor/symfony/debug/ExceptionHandler.php +opt/app/vendor/symfony/finder/Finder.php +opt/app/vendor/symfony/finder/Glob.php +opt/app/vendor/symfony/finder/Iterator/ExcludeDirectoryFilterIterator.php +opt/app/vendor/symfony/finder/Iterator/FileTypeFilterIterator.php +opt/app/vendor/symfony/finder/Iterator/FilenameFilterIterator.php +opt/app/vendor/symfony/finder/Iterator/FilterIterator.php +opt/app/vendor/symfony/finder/Iterator/MultiplePcreFilterIterator.php +opt/app/vendor/symfony/finder/Iterator/PathFilterIterator.php +opt/app/vendor/symfony/finder/Iterator/RecursiveDirectoryIterator.php +opt/app/vendor/symfony/finder/SplFileInfo.php +opt/app/vendor/symfony/http-foundation/FileBag.php +opt/app/vendor/symfony/http-foundation/HeaderBag.php +opt/app/vendor/symfony/http-foundation/ParameterBag.php +opt/app/vendor/symfony/http-foundation/Request.php +opt/app/vendor/symfony/http-foundation/Response.php +opt/app/vendor/symfony/http-foundation/ResponseHeaderBag.php +opt/app/vendor/symfony/http-foundation/ServerBag.php +opt/app/vendor/symfony/http-foundation/Session/SessionBagInterface.php +opt/app/vendor/symfony/http-foundation/Session/SessionInterface.php +opt/app/vendor/symfony/http-foundation/Session/Storage/MetadataBag.php +opt/app/vendor/symfony/http-kernel/HttpKernelInterface.php +opt/app/vendor/symfony/polyfill-mbstring/bootstrap.php +opt/app/vendor/symfony/polyfill-php56/bootstrap.php +opt/app/vendor/symfony/process/ExecutableFinder.php +opt/app/vendor/symfony/process/PhpExecutableFinder.php +opt/app/vendor/symfony/process/ProcessUtils.php +opt/app/vendor/symfony/routing/CompiledRoute.php +opt/app/vendor/symfony/routing/Route.php +opt/app/vendor/symfony/routing/RouteCompiler.php +opt/app/vendor/symfony/routing/RouteCompilerInterface.php +opt/app/vendor/symfony/translation/TranslatorInterface.php +opt/app/vendor/symfony/var-dumper/Cloner/AbstractCloner.php +opt/app/vendor/symfony/var-dumper/Cloner/ClonerInterface.php +opt/app/vendor/symfony/var-dumper/Cloner/VarCloner.php +opt/app/vendor/symfony/var-dumper/Resources/functions/dump.php +opt/app/vendor/twig/twig/lib/Twig/BaseNodeVisitor.php +opt/app/vendor/twig/twig/lib/Twig/Cache/Filesystem.php +opt/app/vendor/twig/twig/lib/Twig/CacheInterface.php +opt/app/vendor/twig/twig/lib/Twig/Compiler.php +opt/app/vendor/twig/twig/lib/Twig/CompilerInterface.php +opt/app/vendor/twig/twig/lib/Twig/Environment.php +opt/app/vendor/twig/twig/lib/Twig/ExistsLoaderInterface.php +opt/app/vendor/twig/twig/lib/Twig/ExpressionParser.php +opt/app/vendor/twig/twig/lib/Twig/Extension.php +opt/app/vendor/twig/twig/lib/Twig/Extension/Core.php +opt/app/vendor/twig/twig/lib/Twig/Extension/Debug.php +opt/app/vendor/twig/twig/lib/Twig/Extension/Escaper.php +opt/app/vendor/twig/twig/lib/Twig/Extension/GlobalsInterface.php +opt/app/vendor/twig/twig/lib/Twig/Extension/Optimizer.php +opt/app/vendor/twig/twig/lib/Twig/Extension/Staging.php +opt/app/vendor/twig/twig/lib/Twig/ExtensionInterface.php +opt/app/vendor/twig/twig/lib/Twig/Lexer.php +opt/app/vendor/twig/twig/lib/Twig/LexerInterface.php +opt/app/vendor/twig/twig/lib/Twig/Loader/Array.php +opt/app/vendor/twig/twig/lib/Twig/Loader/Chain.php +opt/app/vendor/twig/twig/lib/Twig/LoaderInterface.php +opt/app/vendor/twig/twig/lib/Twig/Node.php +opt/app/vendor/twig/twig/lib/Twig/Node/Body.php +opt/app/vendor/twig/twig/lib/Twig/Node/Expression.php +opt/app/vendor/twig/twig/lib/Twig/Node/Expression/Array.php +opt/app/vendor/twig/twig/lib/Twig/Node/Expression/Call.php +opt/app/vendor/twig/twig/lib/Twig/Node/Expression/Constant.php +opt/app/vendor/twig/twig/lib/Twig/Node/Expression/Filter.php +opt/app/vendor/twig/twig/lib/Twig/Node/Expression/GetAttr.php +opt/app/vendor/twig/twig/lib/Twig/Node/Expression/Name.php +opt/app/vendor/twig/twig/lib/Twig/Node/If.php +opt/app/vendor/twig/twig/lib/Twig/Node/Include.php +opt/app/vendor/twig/twig/lib/Twig/Node/Module.php +opt/app/vendor/twig/twig/lib/Twig/Node/Print.php +opt/app/vendor/twig/twig/lib/Twig/Node/Text.php +opt/app/vendor/twig/twig/lib/Twig/NodeInterface.php +opt/app/vendor/twig/twig/lib/Twig/NodeOutputInterface.php +opt/app/vendor/twig/twig/lib/Twig/NodeTraverser.php +opt/app/vendor/twig/twig/lib/Twig/NodeVisitor/Escaper.php +opt/app/vendor/twig/twig/lib/Twig/NodeVisitor/Optimizer.php +opt/app/vendor/twig/twig/lib/Twig/NodeVisitor/SafeAnalysis.php +opt/app/vendor/twig/twig/lib/Twig/NodeVisitorInterface.php +opt/app/vendor/twig/twig/lib/Twig/Parser.php +opt/app/vendor/twig/twig/lib/Twig/ParserInterface.php +opt/app/vendor/twig/twig/lib/Twig/SimpleFilter.php +opt/app/vendor/twig/twig/lib/Twig/SimpleFunction.php +opt/app/vendor/twig/twig/lib/Twig/SimpleTest.php +opt/app/vendor/twig/twig/lib/Twig/Source.php +opt/app/vendor/twig/twig/lib/Twig/SourceContextLoaderInterface.php +opt/app/vendor/twig/twig/lib/Twig/Template.php +opt/app/vendor/twig/twig/lib/Twig/TemplateInterface.php +opt/app/vendor/twig/twig/lib/Twig/Token.php +opt/app/vendor/twig/twig/lib/Twig/TokenParser.php +opt/app/vendor/twig/twig/lib/Twig/TokenParser/AutoEscape.php +opt/app/vendor/twig/twig/lib/Twig/TokenParser/Block.php +opt/app/vendor/twig/twig/lib/Twig/TokenParser/Do.php +opt/app/vendor/twig/twig/lib/Twig/TokenParser/Embed.php +opt/app/vendor/twig/twig/lib/Twig/TokenParser/Extends.php +opt/app/vendor/twig/twig/lib/Twig/TokenParser/Filter.php +opt/app/vendor/twig/twig/lib/Twig/TokenParser/Flush.php +opt/app/vendor/twig/twig/lib/Twig/TokenParser/For.php +opt/app/vendor/twig/twig/lib/Twig/TokenParser/From.php +opt/app/vendor/twig/twig/lib/Twig/TokenParser/If.php +opt/app/vendor/twig/twig/lib/Twig/TokenParser/Import.php +opt/app/vendor/twig/twig/lib/Twig/TokenParser/Include.php +opt/app/vendor/twig/twig/lib/Twig/TokenParser/Macro.php +opt/app/vendor/twig/twig/lib/Twig/TokenParser/Set.php +opt/app/vendor/twig/twig/lib/Twig/TokenParser/Spaceless.php +opt/app/vendor/twig/twig/lib/Twig/TokenParser/Use.php +opt/app/vendor/twig/twig/lib/Twig/TokenParser/With.php +opt/app/vendor/twig/twig/lib/Twig/TokenParserBroker.php +opt/app/vendor/twig/twig/lib/Twig/TokenParserBrokerInterface.php +opt/app/vendor/twig/twig/lib/Twig/TokenParserInterface.php +opt/app/vendor/twig/twig/lib/Twig/TokenStream.php +opt/app/vendor/vlucas/phpdotenv/src/Dotenv.php +opt/app/vendor/vlucas/phpdotenv/src/Loader.php +opt/app/vendor/watson/validating/src/Injectors/UniqueInjector.php +opt/app/vendor/watson/validating/src/ValidatingObserver.php +opt/app/vendor/watson/validating/src/ValidatingTrait.php +proc/cpuinfo +sandstorm-http-bridge +sandstorm-http-bridge-config +sandstorm-manifest +usr/bin/my_print_defaults +usr/bin/mysql +usr/bin/mysql_install_db +usr/bin/php +usr/bin/php7.0 +usr/bin/sudo +usr/lib/php/20151012/bcmath.so +usr/lib/php/20151012/calendar.so +usr/lib/php/20151012/ctype.so +usr/lib/php/20151012/curl.so +usr/lib/php/20151012/dom.so +usr/lib/php/20151012/exif.so +usr/lib/php/20151012/fileinfo.so +usr/lib/php/20151012/ftp.so +usr/lib/php/20151012/gettext.so +usr/lib/php/20151012/iconv.so +usr/lib/php/20151012/intl.so +usr/lib/php/20151012/json.so +usr/lib/php/20151012/mbstring.so +usr/lib/php/20151012/mysqli.so +usr/lib/php/20151012/mysqlnd.so +usr/lib/php/20151012/opcache.so +usr/lib/php/20151012/pdo.so +usr/lib/php/20151012/pdo_mysql.so +usr/lib/php/20151012/phar.so +usr/lib/php/20151012/posix.so +usr/lib/php/20151012/readline.so +usr/lib/php/20151012/shmop.so +usr/lib/php/20151012/simplexml.so +usr/lib/php/20151012/sockets.so +usr/lib/php/20151012/sysvmsg.so +usr/lib/php/20151012/sysvsem.so +usr/lib/php/20151012/sysvshm.so +usr/lib/php/20151012/tokenizer.so +usr/lib/php/20151012/wddx.so +usr/lib/php/20151012/xml.so +usr/lib/php/20151012/xmlreader.so +usr/lib/php/20151012/xmlwriter.so +usr/lib/php/20151012/xsl.so +usr/lib/ssl/openssl.cnf +usr/lib/x86_64-linux-gnu/libGeoIP.so.1 +usr/lib/x86_64-linux-gnu/libGeoIP.so.1.6.2 +usr/lib/x86_64-linux-gnu/libX11.so.6 +usr/lib/x86_64-linux-gnu/libX11.so.6.3.0 +usr/lib/x86_64-linux-gnu/libXau.so.6 +usr/lib/x86_64-linux-gnu/libXau.so.6.0.0 +usr/lib/x86_64-linux-gnu/libXdmcp.so.6 +usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0 +usr/lib/x86_64-linux-gnu/libXpm.so.4 +usr/lib/x86_64-linux-gnu/libXpm.so.4.11.0 +usr/lib/x86_64-linux-gnu/libapparmor.so.1 +usr/lib/x86_64-linux-gnu/libapparmor.so.1.2.0 +usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 +usr/lib/x86_64-linux-gnu/libcurl.so.4 +usr/lib/x86_64-linux-gnu/libcurl.so.4.3.0 +usr/lib/x86_64-linux-gnu/libdb-5.3.so +usr/lib/x86_64-linux-gnu/libedit.so.2 +usr/lib/x86_64-linux-gnu/libedit.so.2.0.51 +usr/lib/x86_64-linux-gnu/libexslt.so.0 +usr/lib/x86_64-linux-gnu/libexslt.so.0.8.17 +usr/lib/x86_64-linux-gnu/libffi.so.6 +usr/lib/x86_64-linux-gnu/libffi.so.6.0.2 +usr/lib/x86_64-linux-gnu/libfontconfig.so.1 +usr/lib/x86_64-linux-gnu/libfontconfig.so.1.8.0 +usr/lib/x86_64-linux-gnu/libfreetype.so.6 +usr/lib/x86_64-linux-gnu/libfreetype.so.6.11.1 +usr/lib/x86_64-linux-gnu/libgd.so.3 +usr/lib/x86_64-linux-gnu/libgd.so.3.0.0 +usr/lib/x86_64-linux-gnu/libgmp.so.10 +usr/lib/x86_64-linux-gnu/libgmp.so.10.2.0 +usr/lib/x86_64-linux-gnu/libgnutls-deb0.so.28 +usr/lib/x86_64-linux-gnu/libgnutls-deb0.so.28.41.0 +usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2 +usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2.2 +usr/lib/x86_64-linux-gnu/libhogweed.so.2 +usr/lib/x86_64-linux-gnu/libhogweed.so.2.5 +usr/lib/x86_64-linux-gnu/libicudata.so.52 +usr/lib/x86_64-linux-gnu/libicudata.so.52.1 +usr/lib/x86_64-linux-gnu/libicui18n.so.52 +usr/lib/x86_64-linux-gnu/libicui18n.so.52.1 +usr/lib/x86_64-linux-gnu/libicuio.so.52 +usr/lib/x86_64-linux-gnu/libicuio.so.52.1 +usr/lib/x86_64-linux-gnu/libicuuc.so.52 +usr/lib/x86_64-linux-gnu/libicuuc.so.52.1 +usr/lib/x86_64-linux-gnu/libidn.so.11 +usr/lib/x86_64-linux-gnu/libidn.so.11.6.12 +usr/lib/x86_64-linux-gnu/libjbig.so.0 +usr/lib/x86_64-linux-gnu/libjpeg.so.62 +usr/lib/x86_64-linux-gnu/libjpeg.so.62.1.0 +usr/lib/x86_64-linux-gnu/libk5crypto.so.3 +usr/lib/x86_64-linux-gnu/libk5crypto.so.3.1 +usr/lib/x86_64-linux-gnu/libkrb5.so.3 +usr/lib/x86_64-linux-gnu/libkrb5.so.3.3 +usr/lib/x86_64-linux-gnu/libkrb5support.so.0 +usr/lib/x86_64-linux-gnu/libkrb5support.so.0.1 +usr/lib/x86_64-linux-gnu/liblber-2.4.so.2 +usr/lib/x86_64-linux-gnu/liblber-2.4.so.2.10.3 +usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2 +usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2.10.3 +usr/lib/x86_64-linux-gnu/libmysqlclient.so.18 +usr/lib/x86_64-linux-gnu/libmysqlclient.so.18.0.0 +usr/lib/x86_64-linux-gnu/libnettle.so.4 +usr/lib/x86_64-linux-gnu/libnettle.so.4.7 +usr/lib/x86_64-linux-gnu/libossp-uuid.so.16 +usr/lib/x86_64-linux-gnu/libossp-uuid.so.16.0.22 +usr/lib/x86_64-linux-gnu/libp11-kit.so.0 +usr/lib/x86_64-linux-gnu/libp11-kit.so.0.0.0 +usr/lib/x86_64-linux-gnu/librtmp.so.1 +usr/lib/x86_64-linux-gnu/libsasl2.so.2 +usr/lib/x86_64-linux-gnu/libsasl2.so.2.0.25 +usr/lib/x86_64-linux-gnu/libssh2.so.1 +usr/lib/x86_64-linux-gnu/libssh2.so.1.0.1 +usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 +usr/lib/x86_64-linux-gnu/libstdc++.so.6 +usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 +usr/lib/x86_64-linux-gnu/libtasn1.so.6 +usr/lib/x86_64-linux-gnu/libtasn1.so.6.3.2 +usr/lib/x86_64-linux-gnu/libtiff.so.5 +usr/lib/x86_64-linux-gnu/libtiff.so.5.2.0 +usr/lib/x86_64-linux-gnu/libvpx.so.1 +usr/lib/x86_64-linux-gnu/libvpx.so.1.3.0 +usr/lib/x86_64-linux-gnu/libxcb.so.1 +usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0 +usr/lib/x86_64-linux-gnu/libxml2.so.2 +usr/lib/x86_64-linux-gnu/libxml2.so.2.9.1 +usr/lib/x86_64-linux-gnu/libxslt.so.1 +usr/lib/x86_64-linux-gnu/libxslt.so.1.1.28 +usr/sbin/mysqld +usr/sbin/nginx +usr/sbin/php-fpm7.0 +usr/share/mysql/charsets/Index.xml +usr/share/mysql/english/errmsg.sys +usr/share/mysql/fill_help_tables.sql +usr/share/mysql/mysql_system_tables.sql +usr/share/mysql/mysql_system_tables_data.sql diff --git a/.sandstorm/sandstorm-pkgdef.capnp b/.sandstorm/sandstorm-pkgdef.capnp new file mode 100644 index 0000000000..2e53aaf560 --- /dev/null +++ b/.sandstorm/sandstorm-pkgdef.capnp @@ -0,0 +1,247 @@ +@0x9411e6c8b3c8a4b6; + +using Spk = import "/sandstorm/package.capnp"; +# This imports: +# $SANDSTORM_HOME/latest/usr/include/sandstorm/package.capnp +# Check out that file to see the full, documented package definition format. + +const pkgdef :Spk.PackageDefinition = ( + # The package definition. Note that the spk tool looks specifically for the + # "pkgdef" constant. + + id = "uws252ya9mep4t77tevn85333xzsgrpgth8q4y1rhknn1hammw70", + # Your app ID is actually its public key. The private key was placed in + # your keyring. All updates must be signed with the same key. + + manifest = ( + # This manifest is included in your app package to tell Sandstorm + # about your app. + + appTitle = (defaultText = "Firefly III"), + + appVersion = 0, # Increment this for every release. + + appMarketingVersion = (defaultText = "3.4.3"), + # Human-readable representation of appVersion. Should match the way you + # identify versions of your app in documentation and marketing. + + actions = [ + # Define your "new document" handlers here. + ( nounPhrase = (defaultText = "administration"), + command = .myCommand + # The command to run when starting for the first time. (".myCommand" + # is just a constant defined at the bottom of the file.) + ) + ], + + continueCommand = .myCommand, + # This is the command called to start your app back up after it has been + # shut down for inactivity. Here we're using the same command as for + # starting a new instance, but you could use different commands for each + # case. + + metadata = ( + # Data which is not needed specifically to execute the app, but is useful + # for purposes like marketing and display. These fields are documented at + # https://docs.sandstorm.io/en/latest/developing/publishing-apps/#add-required-metadata + # and (in deeper detail) in the sandstorm source code, in the Metadata section of + # https://github.com/sandstorm-io/sandstorm/blob/master/src/sandstorm/package.capnp + icons = ( + # Various icons to represent the app in various contexts. + appGrid = (png = (dpi1x = embed "public/images/logo/firefly-iii-128.png")), + grain = (png = (dpi1x = embed "public/images/logo/firefly-iii-24.png", + dpi2x = embed "public/images/logo/firefly-iii-48.png")), + market = (png = (dpi1x = embed "public/images/logo/firefly-iii-150.png")) + ), + + website = "https://firefly-iii.github.io/", + # This should be the app's main website url. + + codeUrl = "https://github.com/firefly-iii/firefly-iii", + # URL of the app's source code repository, e.g. a GitHub URL. + # Required if you specify a license requiring redistributing code, but optional otherwise. + + license = (openSource = void), + # The license this package is distributed under. See + # https://docs.sandstorm.io/en/latest/developing/publishing-apps/#license + + categories = [productivity], + # A list of categories/genres to which this app belongs, sorted with best fit first. + # See the list of categories at + # https://docs.sandstorm.io/en/latest/developing/publishing-apps/#categories + + author = ( + # Fields relating to the author of this app. + + contactEmail = "thegrumpydictator@gmail.com", + # Email address to contact for any issues with this app. This includes end-user support + # requests as well as app store administrator requests, so it is very important that this be a + # valid address with someone paying attention to it. + + #pgpSignature = embed "path/to/pgp-signature", + # PGP signature attesting responsibility for the app ID. This is a binary-format detached + # signature of the following ASCII message (not including the quotes, no newlines, and + # replacing with the standard base-32 text format of the app's ID): + # + # "I am the author of the Sandstorm.io app with the following ID: " + # + # You can create a signature file using `gpg` like so: + # + # echo -n "I am the author of the Sandstorm.io app with the following ID: " | gpg --sign > pgp-signature + # + # Further details including how to set up GPG and how to use keybase.io can be found + # at https://docs.sandstorm.io/en/latest/developing/publishing-apps/#verify-your-identity + + # upstreamAuthor = "Example App Team", + # Name of the original primary author of this app, if it is different from the person who + # produced the Sandstorm package. Setting this implies that the author connected to the PGP + # signature only "packaged" the app for Sandstorm, rather than developing the app. + # Remove this line if you consider yourself as the author of the app. + ), + + #pgpKeyring = embed "path/to/pgp-keyring", + # A keyring in GPG keyring format containing all public keys needed to verify PGP signatures in + # this manifest (as of this writing, there is only one: `author.pgpSignature`). + # + # To generate a keyring containing just your public key, do: + # + # gpg --export > keyring + # + # Where `` is a PGP key ID or email address associated with the key. + + #description = (defaultText = embed "path/to/description.md"), + # The app's description in Github-flavored Markdown format, to be displayed e.g. + # in an app store. Note that the Markdown is not permitted to contain HTML nor image tags (but + # you can include a list of screenshots separately). + + shortDescription = (defaultText = "Financial management"), + # A very short (one-to-three words) description of what the app does. For example, + # "Document editor", or "Notetaking", or "Email client". This will be displayed under the app + # title in the grid view in the app market. + + screenshots = [ + # Screenshots to use for marketing purposes. Examples below. + # Sizes are given in device-independent pixels, so if you took these + # screenshots on a Retina-style high DPI screen, divide each dimension by two. + + #(width = 746, height = 795, jpeg = embed "path/to/screenshot-1.jpeg"), + #(width = 640, height = 480, png = embed "path/to/screenshot-2.png"), + ], + #changeLog = (defaultText = embed "path/to/sandstorm-specific/changelog.md"), + # Documents the history of changes in Github-flavored markdown format (with the same restrictions + # as govern `description`). We recommend formatting this with an H1 heading for each version + # followed by a bullet list of changes. + ), + ), + + sourceMap = ( + # Here we defined where to look for files to copy into your package. The + # `spk dev` command actually figures out what files your app needs + # automatically by running it on a FUSE filesystem. So, the mappings + # here are only to tell it where to find files that the app wants. + searchPath = [ + ( sourcePath = "." ), # Search this directory first. + ( sourcePath = "/", # Then search the system root directory. + hidePaths = [ "home", "proc", "sys", + "etc/passwd", "etc/hosts", "etc/host.conf", + "etc/nsswitch.conf", "etc/resolv.conf" ] + # You probably don't want the app pulling files from these places, + # so we hide them. Note that /dev, /var, and /tmp are implicitly + # hidden because Sandstorm itself provides them. + ) + ] + ), + + fileList = "sandstorm-files.list", + # `spk dev` will write a list of all the files your app uses to this file. + # You should review it later, before shipping your app. + + alwaysInclude = [], + # Fill this list with more names of files or directories that should be + # included in your package, even if not listed in sandstorm-files.list. + # Use this to force-include stuff that you know you need but which may + # not have been detected as a dependency during `spk dev`. If you list + # a directory here, its entire contents will be included recursively. + + #bridgeConfig = ( + # # Used for integrating permissions and roles into the Sandstorm shell + # # and for sandstorm-http-bridge to pass to your app. + # # Uncomment this block and adjust the permissions and roles to make + # # sense for your app. + # # For more information, see high-level documentation at + # # https://docs.sandstorm.io/en/latest/developing/auth/ + # # and advanced details in the "BridgeConfig" section of + # # https://github.com/sandstorm-io/sandstorm/blob/master/src/sandstorm/package.capnp + # viewInfo = ( + # # For details on the viewInfo field, consult "ViewInfo" in + # # https://github.com/sandstorm-io/sandstorm/blob/master/src/sandstorm/grain.capnp + # + # permissions = [ + # # Permissions which a user may or may not possess. A user's current + # # permissions are passed to the app as a comma-separated list of `name` + # # fields in the X-Sandstorm-Permissions header with each request. + # # + # # IMPORTANT: only ever append to this list! Reordering or removing fields + # # will change behavior and permissions for existing grains! To deprecate a + # # permission, or for more information, see "PermissionDef" in + # # https://github.com/sandstorm-io/sandstorm/blob/master/src/sandstorm/grain.capnp + # ( + # name = "editor", + # # Name of the permission, used as an identifier for the permission in cases where string + # # names are preferred. Used in sandstorm-http-bridge's X-Sandstorm-Permissions HTTP header. + # + # title = (defaultText = "editor"), + # # Display name of the permission, e.g. to display in a checklist of permissions + # # that may be assigned when sharing. + # + # description = (defaultText = "grants ability to modify data"), + # # Prose describing what this role means, suitable for a tool tip or similar help text. + # ), + # ], + # roles = [ + # # Roles are logical collections of permissions. For instance, your app may have + # # a "viewer" role and an "editor" role + # ( + # title = (defaultText = "editor"), + # # Name of the role. Shown in the Sandstorm UI to indicate which users have which roles. + # + # permissions = [true], + # # An array indicating which permissions this role carries. + # # It should be the same length as the permissions array in + # # viewInfo, and the order of the lists must match. + # + # verbPhrase = (defaultText = "can make changes to the document"), + # # Brief explanatory text to show in the sharing UI indicating + # # what a user assigned this role will be able to do with the grain. + # + # description = (defaultText = "editors may view all site data and change settings."), + # # Prose describing what this role means, suitable for a tool tip or similar help text. + # ), + # ( + # title = (defaultText = "viewer"), + # permissions = [false], + # verbPhrase = (defaultText = "can view the document"), + # description = (defaultText = "viewers may view what other users have written."), + # ), + # ], + # ), + # #apiPath = "/api", + # # Apps can export an API to the world. The API is to be used primarily by Javascript + # # code and native apps, so it can't serve out regular HTML to browsers. If a request + # # comes in to your app's API, sandstorm-http-bridge will prefix the request's path with + # # this string, if specified. + #), +); + +const myCommand :Spk.Manifest.Command = ( + # Here we define the command used to start up your server. + argv = ["/sandstorm-http-bridge", "8000", "--", "/opt/app/.sandstorm/launcher.sh"], + environ = [ + # Note that this defines the *entire* environment seen by your app. + (key = "PATH", value = "/usr/local/bin:/usr/bin:/bin"), + (key = "SANDSTORM", value = "1"), + # Export SANDSTORM=1 into the environment, so that apps running within Sandstorm + # can detect if $SANDSTORM="1" at runtime, switching UI and/or backend to use + # the app's Sandstorm-specific integration code. + ] +); diff --git a/.sandstorm/service-config/mime.types b/.sandstorm/service-config/mime.types new file mode 100644 index 0000000000..89be9a4cd6 --- /dev/null +++ b/.sandstorm/service-config/mime.types @@ -0,0 +1,89 @@ + +types { + text/html html htm shtml; + text/css css; + text/xml xml; + image/gif gif; + image/jpeg jpeg jpg; + application/javascript js; + application/atom+xml atom; + application/rss+xml rss; + + text/mathml mml; + text/plain txt; + text/vnd.sun.j2me.app-descriptor jad; + text/vnd.wap.wml wml; + text/x-component htc; + + image/png png; + image/tiff tif tiff; + image/vnd.wap.wbmp wbmp; + image/x-icon ico; + image/x-jng jng; + image/x-ms-bmp bmp; + image/svg+xml svg svgz; + image/webp webp; + + application/font-woff woff; + application/java-archive jar war ear; + application/json json; + application/mac-binhex40 hqx; + application/msword doc; + application/pdf pdf; + application/postscript ps eps ai; + application/rtf rtf; + application/vnd.apple.mpegurl m3u8; + application/vnd.ms-excel xls; + application/vnd.ms-fontobject eot; + application/vnd.ms-powerpoint ppt; + application/vnd.wap.wmlc wmlc; + application/vnd.google-earth.kml+xml kml; + application/vnd.google-earth.kmz kmz; + application/x-7z-compressed 7z; + application/x-cocoa cco; + application/x-java-archive-diff jardiff; + application/x-java-jnlp-file jnlp; + application/x-makeself run; + application/x-perl pl pm; + application/x-pilot prc pdb; + application/x-rar-compressed rar; + application/x-redhat-package-manager rpm; + application/x-sea sea; + application/x-shockwave-flash swf; + application/x-stuffit sit; + application/x-tcl tcl tk; + application/x-x509-ca-cert der pem crt; + application/x-xpinstall xpi; + application/xhtml+xml xhtml; + application/xspf+xml xspf; + application/zip zip; + + application/octet-stream bin exe dll; + application/octet-stream deb; + application/octet-stream dmg; + application/octet-stream iso img; + application/octet-stream msi msp msm; + + application/vnd.openxmlformats-officedocument.wordprocessingml.document docx; + application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx; + application/vnd.openxmlformats-officedocument.presentationml.presentation pptx; + + audio/midi mid midi kar; + audio/mpeg mp3; + audio/ogg ogg; + audio/x-m4a m4a; + audio/x-realaudio ra; + + video/3gpp 3gpp 3gp; + video/mp2t ts; + video/mp4 mp4; + video/mpeg mpeg mpg; + video/quicktime mov; + video/webm webm; + video/x-flv flv; + video/x-m4v m4v; + video/x-mng mng; + video/x-ms-asf asx asf; + video/x-ms-wmv wmv; + video/x-msvideo avi; +} diff --git a/.sandstorm/service-config/nginx.conf b/.sandstorm/service-config/nginx.conf new file mode 100644 index 0000000000..b63ddaae07 --- /dev/null +++ b/.sandstorm/service-config/nginx.conf @@ -0,0 +1,87 @@ +worker_processes 4; +pid /var/run/nginx.pid; + +events { + worker_connections 768; + # multi_accept on; +} + +http { + # Basic Settings + sendfile on; + tcp_nopush on; + tcp_nodelay on; + keepalive_timeout 65; + types_hash_max_size 2048; + # server_names_hash_bucket_size 64; + server_tokens off; + server_name_in_redirect off; + + include mime.types; + default_type application/octet-stream; + + # Logging + access_log off; + error_log stderr; + + # Prevent nginx from adding compression; this interacts badly with Sandstorm + # WebSession due to https://github.com/sandstorm-io/sandstorm/issues/289 + gzip off; + + # Trust the sandstorm-http-bridge's X-Forwarded-Proto. + map $http_x_forwarded_proto $fe_https { + default ""; + https on; + } + + server { + listen 8000 default_server; + listen [::]:8000 default_server ipv6only=on; + + # Allow arbitrarily large bodies - Sandstorm can handle them, and requests + # are authenticated already, so there's no reason for apps to add additional + # limits by default. + client_max_body_size 0; + + server_name localhost; + root /opt/app/public; + location / { + index index.php; + try_files $uri $uri/ /index.php?$query_string; + autoindex on; + sendfile off; + } + location ~ \.php$ { + try_files $uri =404; + fastcgi_pass unix:/var/run/php7.0-fpm.sock; + fastcgi_index index.php; + fastcgi_split_path_info ^(.+\.php)(/.+)$; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + + + fastcgi_param QUERY_STRING $query_string; + fastcgi_param REQUEST_METHOD $request_method; + fastcgi_param CONTENT_TYPE $content_type; + fastcgi_param CONTENT_LENGTH $content_length; + + fastcgi_param SCRIPT_NAME $fastcgi_script_name; + fastcgi_param REQUEST_URI $request_uri; + fastcgi_param DOCUMENT_URI $document_uri; + fastcgi_param DOCUMENT_ROOT $document_root; + fastcgi_param SERVER_PROTOCOL $server_protocol; + fastcgi_param HTTPS $fe_https if_not_empty; + + fastcgi_param GATEWAY_INTERFACE CGI/1.1; + fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; + + fastcgi_param REMOTE_ADDR $remote_addr; + fastcgi_param REMOTE_PORT $remote_port; + fastcgi_param SERVER_ADDR $server_addr; + fastcgi_param SERVER_PORT $server_port; + fastcgi_param SERVER_NAME $server_name; + + # PHP only, required if PHP was built with --enable-force-cgi-redirect + #fastcgi_param REDIRECT_STATUS 200; + } + } +} diff --git a/.sandstorm/setup.sh b/.sandstorm/setup.sh new file mode 100755 index 0000000000..9af16630f0 --- /dev/null +++ b/.sandstorm/setup.sh @@ -0,0 +1,61 @@ +#!/bin/bash + +# When you change this file, you must take manual action. Read this doc: +# - https://docs.sandstorm.io/en/latest/vagrant-spk/customizing/#setupsh + +set -euo pipefail + +export DEBIAN_FRONTEND=noninteractive + +# install packages so we can install apt-add-repository. +apt-get update +apt-get install -y python-software-properties software-properties-common + +# actually add repository +apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E9C74FEEA2098A6E +add-apt-repository "deb http://packages.dotdeb.org jessie all" + +# install packages. +apt-get update +apt-get install -y nginx php7.0-fpm php7.0-mysql php7.0-cli php7.0-curl git php7.0-dev php7.0-intl php7.0-dom php7.0-mbstring php7.0-bcmath mysql-server +service nginx stop +service php7.0-fpm stop +service mysql stop +systemctl disable nginx +systemctl disable php7.0-fpm +systemctl disable mysql +# patch /etc/php/7.0/fpm/pool.d/www.conf to not change uid/gid to www-data +sed --in-place='' \ + --expression='s/^listen.owner = www-data/;listen.owner = www-data/' \ + --expression='s/^listen.group = www-data/;listen.group = www-data/' \ + /etc/php/7.0/fpm/pool.d/www.conf +# patch /etc/php/7.0/fpm/php-fpm.conf to not have a pidfile +sed --in-place='' \ + --expression='s/^pid =/;pid =/' \ + /etc/php/7.0/fpm/php-fpm.conf + +# move sock file to better dir: +sed --in-place='' \ + --expression='s/^listen = \/run\/php\/php7.0-fpm.sock/listen = \/var\/run\/php7.0-fpm.sock/' \ + /etc/php/7.0/fpm/pool.d/www.conf + +# patch /etc/php/7.0/fpm/pool.d/www.conf to no clear environment variables +# so we can pass in SANDSTORM=1 to apps +sed --in-place='' \ + --expression='s/^;clear_env = no/clear_env=no/' \ + /etc/php/7.0/fpm/pool.d/www.conf +# patch mysql conf to not change uid, and to use /var/tmp over /tmp +# for secure-file-priv see https://github.com/sandstorm-io/vagrant-spk/issues/195 +sed --in-place='' \ + --expression='s/^user\t\t= mysql/#user\t\t= mysql/' \ + --expression='s,^tmpdir\t\t= /tmp,tmpdir\t\t= /var/tmp,' \ + --expression='/\[mysqld]/ a\ secure-file-priv = ""\' \ + /etc/mysql/my.cnf +# patch mysql conf to use smaller transaction logs to save disk space +cat < /etc/mysql/conf.d/sandstorm.cnf +[mysqld] +# Set the transaction log file to the minimum allowed size to save disk space. +# innodb_log_file_size = 1048576 +# Set the main data file to grow by 1MB at a time, rather than 8MB at a time. +innodb_autoextend_increment = 1 +EOF diff --git a/.sandstorm/stack b/.sandstorm/stack new file mode 100644 index 0000000000..79a9408192 --- /dev/null +++ b/.sandstorm/stack @@ -0,0 +1 @@ +lemp diff --git a/public/images/logo/firefly-iii-128.png b/public/images/logo/firefly-iii-128.png new file mode 100644 index 0000000000..70de2bc75a Binary files /dev/null and b/public/images/logo/firefly-iii-128.png differ diff --git a/public/images/logo/firefly-iii-150.png b/public/images/logo/firefly-iii-150.png new file mode 100644 index 0000000000..0d97be4768 Binary files /dev/null and b/public/images/logo/firefly-iii-150.png differ diff --git a/public/images/logo/firefly-iii-24.png b/public/images/logo/firefly-iii-24.png new file mode 100644 index 0000000000..a727ae4992 Binary files /dev/null and b/public/images/logo/firefly-iii-24.png differ diff --git a/public/images/logo/firefly-iii-48.png b/public/images/logo/firefly-iii-48.png new file mode 100644 index 0000000000..6f81c5731b Binary files /dev/null and b/public/images/logo/firefly-iii-48.png differ