]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/commitdiff
Merge branch 'next' of ssh://git.ipfire.org/pub/git/ipfire-2.x into next
authorArne Fitzenreiter <arne_f@ipfire.org>
Fri, 22 Aug 2014 07:17:27 +0000 (09:17 +0200)
committerArne Fitzenreiter <arne_f@ipfire.org>
Fri, 22 Aug 2014 07:17:27 +0000 (09:17 +0200)
Conflicts:
lfs/iputils

374 files changed:
config/backup/include
config/backup/includes/bacula [new file with mode: 0644]
config/backup/includes/check_mk_agent [new file with mode: 0644]
config/backup/includes/icinga [new file with mode: 0644]
config/backup/includes/owncloud [new file with mode: 0644]
config/bind/trusted-key.key [new file with mode: 0644]
config/cacti/cacti.conf
config/cacti/cacti.logrotate [new file with mode: 0644]
config/cacti/d.gif [new file with mode: 0644]
config/cacti/d.png [new file with mode: 0644]
config/cacti/throbber.gif [new file with mode: 0644]
config/cfgroot/general-functions.pl
config/cfgroot/header.pl
config/cfgroot/modem-lib.pl
config/cfgroot/network-functions.pl [new file with mode: 0644]
config/cron/crontab
config/etc/group
config/etc/logrotate.conf
config/firewall/firewall-policy
config/firewall/rules.pl
config/icinga/icinga.conf [new file with mode: 0644]
config/kernel/kernel.config.armv5tel-ipfire-kirkwood
config/kernel/kernel.config.armv5tel-ipfire-multi
config/kernel/kernel.config.armv5tel-ipfire-rpi
config/kernel/kernel.config.i586-ipfire
config/kernel/kernel.config.i586-ipfire-pae
config/owncloud/owncloud.conf [new file with mode: 0644]
config/rootfiles/common/armv5tel/gmp [moved from config/rootfiles/common/gmp with 62% similarity]
config/rootfiles/common/armv5tel/initscripts
config/rootfiles/common/armv5tel/linux-headers
config/rootfiles/common/armv5tel/linux-kirkwood
config/rootfiles/common/armv5tel/linux-multi
config/rootfiles/common/armv5tel/linux-rpi
config/rootfiles/common/armv5tel/util-linux
config/rootfiles/common/batctl [new file with mode: 0644]
config/rootfiles/common/bind
config/rootfiles/common/boost [new file with mode: 0644]
config/rootfiles/common/configroot
config/rootfiles/common/daq
config/rootfiles/common/ddns [new file with mode: 0644]
config/rootfiles/common/dhcp
config/rootfiles/common/hostname [new file with mode: 0644]
config/rootfiles/common/i586/gmp [new file with mode: 0644]
config/rootfiles/common/i586/initscripts
config/rootfiles/common/i586/linux
config/rootfiles/common/i586/linux-headers
config/rootfiles/common/i586/util-linux
config/rootfiles/common/inetutils [deleted file]
config/rootfiles/common/iputils
config/rootfiles/common/libgcrypt [new file with mode: 0644]
config/rootfiles/common/libgpg-error [new file with mode: 0644]
config/rootfiles/common/libnl-3 [new file with mode: 0644]
config/rootfiles/common/libpcap
config/rootfiles/common/mpfr
config/rootfiles/common/net-tools
config/rootfiles/common/nettle [new file with mode: 0644]
config/rootfiles/common/ppp
config/rootfiles/common/stage2
config/rootfiles/common/strongswan
config/rootfiles/core/78/filelists/files [deleted file]
config/rootfiles/core/82/exclude [moved from config/rootfiles/core/77/exclude with 100% similarity]
config/rootfiles/core/82/filelists/armv5tel/gmp [new symlink]
config/rootfiles/core/82/filelists/batctl [new symlink]
config/rootfiles/core/82/filelists/boost [new symlink]
config/rootfiles/core/82/filelists/files [new file with mode: 0644]
config/rootfiles/core/82/filelists/i586/gmp [new symlink]
config/rootfiles/core/82/filelists/libnl-3 [new symlink]
config/rootfiles/core/82/filelists/mpfr [new symlink]
config/rootfiles/core/82/filelists/ppp [new symlink]
config/rootfiles/core/82/meta [moved from config/rootfiles/core/77/meta with 100% similarity]
config/rootfiles/core/82/update.sh [new file with mode: 0644]
config/rootfiles/oldcore/77/exclude [moved from config/rootfiles/core/78/exclude with 100% similarity]
config/rootfiles/oldcore/77/filelists/GeoIP [moved from config/rootfiles/core/77/filelists/GeoIP with 100% similarity]
config/rootfiles/oldcore/77/filelists/Net_SSLeay [moved from config/rootfiles/core/77/filelists/Net_SSLeay with 100% similarity]
config/rootfiles/oldcore/77/filelists/apache2 [moved from config/rootfiles/core/77/filelists/apache2 with 100% similarity]
config/rootfiles/oldcore/77/filelists/armv5tel/binutils [moved from config/rootfiles/core/77/filelists/armv5tel/binutils with 100% similarity]
config/rootfiles/oldcore/77/filelists/armv5tel/dracut [moved from config/rootfiles/core/77/filelists/armv5tel/dracut with 100% similarity]
config/rootfiles/oldcore/77/filelists/armv5tel/gcc [moved from config/rootfiles/core/77/filelists/armv5tel/gcc with 100% similarity]
config/rootfiles/oldcore/77/filelists/armv5tel/glibc [moved from config/rootfiles/core/77/filelists/armv5tel/glibc with 100% similarity]
config/rootfiles/oldcore/77/filelists/armv5tel/initscripts [moved from config/rootfiles/core/77/filelists/armv5tel/initscripts with 100% similarity]
config/rootfiles/oldcore/77/filelists/armv5tel/linux-kirkwood [moved from config/rootfiles/core/77/filelists/armv5tel/linux-kirkwood with 100% similarity]
config/rootfiles/oldcore/77/filelists/armv5tel/linux-multi [moved from config/rootfiles/core/77/filelists/armv5tel/linux-multi with 100% similarity]
config/rootfiles/oldcore/77/filelists/armv5tel/linux-rpi [moved from config/rootfiles/core/77/filelists/armv5tel/linux-rpi with 100% similarity]
config/rootfiles/oldcore/77/filelists/armv5tel/lm_sensors [moved from config/rootfiles/core/77/filelists/armv5tel/lm_sensors with 100% similarity]
config/rootfiles/oldcore/77/filelists/armv5tel/rpi-firmware [moved from config/rootfiles/core/77/filelists/armv5tel/rpi-firmware with 100% similarity]
config/rootfiles/oldcore/77/filelists/armv5tel/u-boot [moved from config/rootfiles/core/77/filelists/armv5tel/u-boot with 100% similarity]
config/rootfiles/oldcore/77/filelists/armv5tel/util-linux [moved from config/rootfiles/core/77/filelists/armv5tel/util-linux with 100% similarity]
config/rootfiles/oldcore/77/filelists/beep [moved from config/rootfiles/core/77/filelists/beep with 100% similarity]
config/rootfiles/oldcore/77/filelists/bridge-utils [moved from config/rootfiles/core/77/filelists/bridge-utils with 100% similarity]
config/rootfiles/oldcore/77/filelists/coreutils [moved from config/rootfiles/core/77/filelists/coreutils with 100% similarity]
config/rootfiles/oldcore/77/filelists/cyrus-sasl [moved from config/rootfiles/core/77/filelists/cyrus-sasl with 100% similarity]
config/rootfiles/oldcore/77/filelists/dosfstools [moved from config/rootfiles/core/77/filelists/dosfstools with 100% similarity]
config/rootfiles/oldcore/77/filelists/dvb-firmwares [moved from config/rootfiles/core/77/filelists/dvb-firmwares with 100% similarity]
config/rootfiles/oldcore/77/filelists/e2fsprogs [moved from config/rootfiles/core/77/filelists/e2fsprogs with 100% similarity]
config/rootfiles/oldcore/77/filelists/files [moved from config/rootfiles/core/77/filelists/files with 100% similarity]
config/rootfiles/oldcore/77/filelists/fireinfo [moved from config/rootfiles/core/77/filelists/fireinfo with 100% similarity]
config/rootfiles/oldcore/77/filelists/firewall [moved from config/rootfiles/core/77/filelists/firewall with 100% similarity]
config/rootfiles/oldcore/77/filelists/hwdata [moved from config/rootfiles/core/77/filelists/hwdata with 100% similarity]
config/rootfiles/oldcore/77/filelists/i586/binutils [moved from config/rootfiles/core/77/filelists/i586/binutils with 100% similarity]
config/rootfiles/oldcore/77/filelists/i586/dracut [moved from config/rootfiles/core/77/filelists/i586/dracut with 100% similarity]
config/rootfiles/oldcore/77/filelists/i586/gcc [moved from config/rootfiles/core/77/filelists/i586/gcc with 100% similarity]
config/rootfiles/oldcore/77/filelists/i586/glibc [moved from config/rootfiles/core/77/filelists/i586/glibc with 100% similarity]
config/rootfiles/oldcore/77/filelists/i586/grub [moved from config/rootfiles/core/77/filelists/i586/grub with 100% similarity]
config/rootfiles/oldcore/77/filelists/i586/initscripts [moved from config/rootfiles/core/77/filelists/i586/initscripts with 100% similarity]
config/rootfiles/oldcore/77/filelists/i586/linux [moved from config/rootfiles/core/77/filelists/i586/linux with 100% similarity]
config/rootfiles/oldcore/77/filelists/i586/lm_sensors [moved from config/rootfiles/core/77/filelists/i586/lm_sensors with 100% similarity]
config/rootfiles/oldcore/77/filelists/i586/strongswan-padlock [moved from config/rootfiles/core/77/filelists/i586/strongswan-padlock with 100% similarity]
config/rootfiles/oldcore/77/filelists/i586/util-linux [moved from config/rootfiles/core/77/filelists/i586/util-linux with 100% similarity]
config/rootfiles/oldcore/77/filelists/iptables [moved from config/rootfiles/core/77/filelists/iptables with 100% similarity]
config/rootfiles/oldcore/77/filelists/iw [moved from config/rootfiles/core/77/filelists/iw with 100% similarity]
config/rootfiles/oldcore/77/filelists/jquery [moved from config/rootfiles/core/77/filelists/jquery with 100% similarity]
config/rootfiles/oldcore/77/filelists/kmod [moved from config/rootfiles/core/77/filelists/kmod with 100% similarity]
config/rootfiles/oldcore/77/filelists/libnl [moved from config/rootfiles/core/77/filelists/libnl with 100% similarity]
config/rootfiles/oldcore/77/filelists/libusbx [moved from config/rootfiles/core/77/filelists/libusbx with 100% similarity]
config/rootfiles/oldcore/77/filelists/libxml2 [moved from config/rootfiles/core/77/filelists/libxml2 with 100% similarity]
config/rootfiles/oldcore/77/filelists/linux-firmware [moved from config/rootfiles/core/77/filelists/linux-firmware with 100% similarity]
config/rootfiles/oldcore/77/filelists/lzo [moved from config/rootfiles/core/77/filelists/lzo with 100% similarity]
config/rootfiles/oldcore/77/filelists/misc-progs [moved from config/rootfiles/core/77/filelists/misc-progs with 100% similarity]
config/rootfiles/oldcore/77/filelists/mysql-libs [moved from config/rootfiles/core/77/filelists/mysql-libs with 100% similarity]
config/rootfiles/oldcore/77/filelists/net-tools [moved from config/rootfiles/core/77/filelists/net-tools with 100% similarity]
config/rootfiles/oldcore/77/filelists/ntp [moved from config/rootfiles/core/77/filelists/ntp with 100% similarity]
config/rootfiles/oldcore/77/filelists/openssh [moved from config/rootfiles/core/77/filelists/openssh with 100% similarity]
config/rootfiles/oldcore/77/filelists/openssl [moved from config/rootfiles/core/77/filelists/openssl with 100% similarity]
config/rootfiles/oldcore/77/filelists/openssl-compat [moved from config/rootfiles/core/77/filelists/openssl-compat with 100% similarity]
config/rootfiles/oldcore/77/filelists/openvpn [moved from config/rootfiles/core/77/filelists/openvpn with 100% similarity]
config/rootfiles/oldcore/77/filelists/pakfire [moved from config/rootfiles/core/77/filelists/pakfire with 100% similarity]
config/rootfiles/oldcore/77/filelists/paxctl [moved from config/rootfiles/core/77/filelists/paxctl with 100% similarity]
config/rootfiles/oldcore/77/filelists/php [moved from config/rootfiles/core/77/filelists/php with 100% similarity]
config/rootfiles/oldcore/77/filelists/rng-tools [moved from config/rootfiles/core/77/filelists/rng-tools with 100% similarity]
config/rootfiles/oldcore/77/filelists/setup [moved from config/rootfiles/core/77/filelists/setup with 100% similarity]
config/rootfiles/oldcore/77/filelists/strongswan [moved from config/rootfiles/core/77/filelists/strongswan with 100% similarity]
config/rootfiles/oldcore/77/filelists/tzdata [moved from config/rootfiles/core/77/filelists/tzdata with 100% similarity]
config/rootfiles/oldcore/77/filelists/udev [moved from config/rootfiles/core/77/filelists/udev with 100% similarity]
config/rootfiles/oldcore/77/filelists/usb_modeswitch [moved from config/rootfiles/core/77/filelists/usb_modeswitch with 100% similarity]
config/rootfiles/oldcore/77/filelists/usb_modeswitch_data [moved from config/rootfiles/core/77/filelists/usb_modeswitch_data with 100% similarity]
config/rootfiles/oldcore/77/filelists/usbutils [moved from config/rootfiles/core/77/filelists/usbutils with 100% similarity]
config/rootfiles/oldcore/77/filelists/vim [moved from config/rootfiles/core/77/filelists/vim with 100% similarity]
config/rootfiles/oldcore/77/filelists/wget [moved from config/rootfiles/core/77/filelists/wget with 100% similarity]
config/rootfiles/oldcore/77/filelists/wpa_supplicant [moved from config/rootfiles/core/77/filelists/wpa_supplicant with 100% similarity]
config/rootfiles/oldcore/77/filelists/xz [moved from config/rootfiles/core/77/filelists/xz with 100% similarity]
config/rootfiles/oldcore/77/meta [moved from config/rootfiles/core/78/meta with 100% similarity]
config/rootfiles/oldcore/77/update.sh [moved from config/rootfiles/core/77/update.sh with 100% similarity]
config/rootfiles/oldcore/79/exclude [new file with mode: 0644]
config/rootfiles/oldcore/79/filelists/armv5tel/linux-kirkwood [moved from config/rootfiles/core/78/filelists/armv5tel/linux-kirkwood with 100% similarity]
config/rootfiles/oldcore/79/filelists/armv5tel/linux-multi [moved from config/rootfiles/core/78/filelists/armv5tel/linux-multi with 100% similarity]
config/rootfiles/oldcore/79/filelists/armv5tel/linux-rpi [moved from config/rootfiles/core/78/filelists/armv5tel/linux-rpi with 100% similarity]
config/rootfiles/oldcore/79/filelists/daq [new symlink]
config/rootfiles/oldcore/79/filelists/files [new file with mode: 0644]
config/rootfiles/oldcore/79/filelists/hostname [new symlink]
config/rootfiles/oldcore/79/filelists/i586/grub [moved from config/rootfiles/core/78/filelists/i586/grub with 100% similarity]
config/rootfiles/oldcore/79/filelists/i586/linux [moved from config/rootfiles/core/78/filelists/i586/linux with 100% similarity]
config/rootfiles/oldcore/79/filelists/i586/syslinux [moved from config/rootfiles/core/78/filelists/i586/syslinux with 100% similarity]
config/rootfiles/oldcore/79/filelists/libpcap [new symlink]
config/rootfiles/oldcore/79/filelists/openssh [new symlink]
config/rootfiles/oldcore/79/filelists/openssl [new symlink]
config/rootfiles/oldcore/79/filelists/openvpn [new symlink]
config/rootfiles/oldcore/79/filelists/perl-Device-Modem [new symlink]
config/rootfiles/oldcore/79/filelists/perl-Device-SerialPort [new symlink]
config/rootfiles/oldcore/79/filelists/ppp [new symlink]
config/rootfiles/oldcore/79/filelists/snort [new symlink]
config/rootfiles/oldcore/79/filelists/squid [new symlink]
config/rootfiles/oldcore/79/filelists/sudo [new symlink]
config/rootfiles/oldcore/79/filelists/vnstat [new symlink]
config/rootfiles/oldcore/79/meta [new file with mode: 0644]
config/rootfiles/oldcore/79/update.sh [moved from config/rootfiles/core/78/update.sh with 98% similarity]
config/rootfiles/oldcore/80/exclude [new file with mode: 0644]
config/rootfiles/oldcore/80/filelists/bind [new symlink]
config/rootfiles/oldcore/80/filelists/ddns [new symlink]
config/rootfiles/oldcore/80/filelists/dnsmasq [new symlink]
config/rootfiles/oldcore/80/filelists/files [new file with mode: 0644]
config/rootfiles/oldcore/80/filelists/i586/gmp [new symlink]
config/rootfiles/oldcore/80/filelists/libgcrypt [new symlink]
config/rootfiles/oldcore/80/filelists/libgpg-error [new symlink]
config/rootfiles/oldcore/80/filelists/lzo [new symlink]
config/rootfiles/oldcore/80/filelists/nettle [new symlink]
config/rootfiles/oldcore/80/filelists/rng-tools [new symlink]
config/rootfiles/oldcore/80/filelists/strongswan [new symlink]
config/rootfiles/oldcore/80/filelists/wpa_supplicant [new symlink]
config/rootfiles/oldcore/80/meta [new file with mode: 0644]
config/rootfiles/oldcore/80/update.sh [new file with mode: 0644]
config/rootfiles/oldcore/81/exclude [new file with mode: 0644]
config/rootfiles/oldcore/81/filelists/ddns [new symlink]
config/rootfiles/oldcore/81/filelists/files [new file with mode: 0644]
config/rootfiles/oldcore/81/filelists/lzo [new symlink]
config/rootfiles/oldcore/81/filelists/openssh [new symlink]
config/rootfiles/oldcore/81/filelists/openssl [new symlink]
config/rootfiles/oldcore/81/meta [new file with mode: 0644]
config/rootfiles/oldcore/81/update.sh [new file with mode: 0644]
config/rootfiles/packages/asterisk
config/rootfiles/packages/bacula [new file with mode: 0644]
config/rootfiles/packages/cacti
config/rootfiles/packages/clamav
config/rootfiles/packages/cups
config/rootfiles/packages/dbus
config/rootfiles/packages/icecc [deleted file]
config/rootfiles/packages/icinga [new file with mode: 0644]
config/rootfiles/packages/krb5 [new file with mode: 0644]
config/rootfiles/packages/libgpg-error [deleted file]
config/rootfiles/packages/linux-pae
config/rootfiles/packages/mysql
config/rootfiles/packages/nagios
config/rootfiles/packages/owncloud [new file with mode: 0644]
config/rootfiles/packages/perl-PDF-API2 [new file with mode: 0644]
config/rootfiles/packages/samba
config/rootfiles/packages/sane
config/rootfiles/packages/squid-accounting [new file with mode: 0644]
config/rootfiles/packages/sslscan [new file with mode: 0644]
config/rootfiles/packages/tftpd
config/rootfiles/packages/vdr_vnsiserver5 [new file with mode: 0644]
config/rootfiles/packages/vdradmin
config/samba/default.shares
config/syslinux/syslinux.cfg
config/updxlrator/updxlrator
config/urlfilter/redirect_wrapper
config/vdr/plugins.d/vnsiserver5.conf [new file with mode: 0644]
config/xen-image/README
config/xen-image/ipfire.cfg
config/xen-image/xen-image-maker.sh
doc/language_issues.de
doc/language_issues.en
doc/language_issues.es
doc/language_issues.fr
doc/language_issues.nl
doc/language_issues.pl
doc/language_issues.ru
doc/language_issues.tr
doc/language_missings
doc/make.sh-usage
html/cgi-bin/connections.cgi
html/cgi-bin/ddns.cgi
html/cgi-bin/fwhosts.cgi
html/cgi-bin/ids.cgi
html/cgi-bin/logs.cgi/firewalllogcountry.dat
html/cgi-bin/logs.cgi/log.dat
html/cgi-bin/modem-status.cgi [changed mode: 0755->0644]
html/cgi-bin/netexternal.cgi
html/cgi-bin/optionsfw.cgi
html/cgi-bin/ovpnmain.cgi
html/cgi-bin/pppsetup.cgi
html/cgi-bin/proxy.cgi
html/cgi-bin/routing.cgi
html/cgi-bin/samba.cgi
html/cgi-bin/traffic.cgi
html/html/themes/ipfire/include/functions.pl
langs/de/cgi-bin/de.pl
langs/en/cgi-bin/en.pl
langs/es/cgi-bin/es.pl
langs/fr/cgi-bin/fr.pl
langs/nl/cgi-bin/nl.pl
langs/pl/cgi-bin/pl.pl
langs/ru/cgi-bin/ru.pl
langs/tr/cgi-bin/tr.pl
langs/tr/install/lang_tr.c
lfs/Config
lfs/bacula [moved from lfs/icecc with 85% similarity]
lfs/batctl [new file with mode: 0644]
lfs/bind
lfs/boost [new file with mode: 0644]
lfs/cacti
lfs/check_mk_agent
lfs/clamav
lfs/collectd
lfs/configroot
lfs/daq
lfs/ddns [new file with mode: 0644]
lfs/dnsmasq
lfs/e1000e
lfs/gmp
lfs/gmp-compat
lfs/gpgme
lfs/hostapd
lfs/hostname [new file with mode: 0644]
lfs/icinga [new file with mode: 0644]
lfs/igb
lfs/initscripts
lfs/krb5 [new file with mode: 0644]
lfs/libgcrypt [new file with mode: 0644]
lfs/libgpg-error
lfs/libnl-3 [moved from lfs/inetutils with 81% similarity]
lfs/libpcap
lfs/linux
lfs/lzo
lfs/mpfr
lfs/net-tools
lfs/nettle [new file with mode: 0644]
lfs/openssl
lfs/owncloud [new file with mode: 0644]
lfs/perl-PDF-API2 [new file with mode: 0644]
lfs/ppp
lfs/qemu
lfs/rng-tools
lfs/samba
lfs/sane
lfs/squid
lfs/squid-accounting [new file with mode: 0644]
lfs/squidclamav
lfs/squidguard
lfs/sslscan [new file with mode: 0644]
lfs/stage2
lfs/strongswan
lfs/sudo
lfs/tor
lfs/transmission
lfs/vdr_vnsiserver5 [new file with mode: 0644]
lfs/wpa_supplicant
make.sh
src/initscripts/init.d/cleanfs
src/initscripts/init.d/dhcrelay [new file with mode: 0755]
src/initscripts/init.d/dnsmasq
src/initscripts/init.d/firewall
src/initscripts/init.d/icecream [deleted file]
src/initscripts/init.d/leds
src/initscripts/init.d/networking/red.down/20-firewall [new file with mode: 0644]
src/initscripts/init.d/networking/red.up/20-firewall [new file with mode: 0644]
src/initscripts/init.d/networking/red.up/30-ddns
src/initscripts/init.d/rngd
src/initscripts/init.d/samba
src/initscripts/init.d/sshd
src/initscripts/init.d/udev
src/initscripts/init.d/winbind [deleted file]
src/install+setup/install/main.c
src/install+setup/setup/misc.c
src/misc-progs/sambactrl.c
src/paks/cacti/install.sh
src/paks/check_mk_agent/uninstall.sh
src/paks/owncloud/install.sh [new file with mode: 0644]
src/paks/owncloud/uninstall.sh [new file with mode: 0644]
src/paks/owncloud/update.sh [moved from src/paks/icecc/update.sh with 98% similarity]
src/paks/samba/install.sh
src/paks/samba/update.sh
src/paks/squid-accounting/install.sh [new file with mode: 0644]
src/paks/squid-accounting/uninstall.sh [new file with mode: 0644]
src/paks/squid-accounting/update.sh [moved from src/paks/icecc/uninstall.sh with 97% similarity]
src/paks/vdr_vnsiserver5/install.sh [moved from src/paks/icecc/install.sh with 97% similarity]
src/paks/vdr_vnsiserver5/uninstall.sh [new file with mode: 0644]
src/paks/vdr_vnsiserver5/update.sh [new file with mode: 0644]
src/patches/cacti/cacti-0.8.8a-legal.patch [new file with mode: 0644]
src/patches/cacti/cacti-0.8.8a-replace_treeview_by_jquery.jstree.patch [new file with mode: 0644]
src/patches/cacti/cacti-0.8.8b-html-injection.patch [new file with mode: 0644]
src/patches/cacti/cacti-0.8.8b-remote-command-execution.patch [new file with mode: 0644]
src/patches/cacti/cacti-0.8.8b-rra-comments.patch [new file with mode: 0644]
src/patches/cacti/cacti-0.8.8b-sanitize-variables.patch [new file with mode: 0644]
src/patches/cacti/cacti-0.8.8b-sql-injection-shell-escaping.patch [new file with mode: 0644]
src/patches/dnsmasq-2.70-Add-support-to-read-ISC-DHCP-lease-file.patch [new file with mode: 0644]
src/patches/dnsmasq-2.71-support-nettle-3.0.patch [new file with mode: 0644]
src/patches/dnsmasq-2.71-use-nettle-with-minigmp.patch [new file with mode: 0644]
src/patches/hostname-rh.patch [new file with mode: 0644]
src/patches/icecream-0.9.7-platform-arm.patch [deleted file]
src/patches/icecream-rename-scheduler.patch [deleted file]
src/patches/inetutils-1.4.2-daemon_fixes-1.patch [deleted file]
src/patches/inetutils-1.4.2-gcc4_fixes-3.patch [deleted file]
src/patches/linux-3.10.39-pie_packet_sch.patch [new file with mode: 0644]
src/patches/linux-3.10.y-usbnet_mcs7830_rework_link_detect.patch [new file with mode: 0644]
src/patches/lzo-2.06-CVE-2014-4607.patch [new file with mode: 0755]
src/patches/mitkrb-1.12.1-db2_fix-1.patch [new file with mode: 0644]
src/patches/net-tools-1.60-no-hostname.patch [new file with mode: 0644]
src/patches/ppp/0003-build-sys-utilize-compiler-flags-handed-to-us-by-rpm.patch [new file with mode: 0644]
src/patches/ppp/0012-pppd-we-don-t-want-to-accidentally-leak-fds.patch [new file with mode: 0644]
src/patches/ppp/0013-everywhere-O_CLOEXEC-harder.patch [new file with mode: 0644]
src/patches/ppp/0014-everywhere-use-SOCK_CLOEXEC-when-creating-socket.patch [new file with mode: 0644]
src/patches/ppp/ppp-2.4.6-increase-max-padi-attempts.patch [new file with mode: 0644]
src/patches/squidclamav-5.11-squid-helper-protocol.patch [new file with mode: 0644]
src/patches/squidguard-1.4-squid-helper-protocol.patch [new file with mode: 0644]
src/scripts/setddns.pl [deleted file]
src/squid-accounting/EX-squid-accounting.menu [new file with mode: 0755]
src/squid-accounting/accounting.cgi [new file with mode: 0755]
src/squid-accounting/acct-lib.pl [new file with mode: 0644]
src/squid-accounting/acct.de.pl [new file with mode: 0644]
src/squid-accounting/acct.en.pl [new file with mode: 0644]
src/squid-accounting/acct.pl [new file with mode: 0755]
src/squid-accounting/config/backup/includes/squid-accounting [new file with mode: 0644]
src/squid-accounting/dbinstall.pl [new file with mode: 0755]
tools/checkwronginitlinks
tools/make-functions

index 1d55e4acd4890c2e6606b53659dcbaf50a74003c..cc9546f8ef29bf39b09e3ea120c6cc7a032d216c 100644 (file)
@@ -12,6 +12,7 @@
 /etc/hosts*
 /etc/httpd/*
 /etc/ssh/ssh_host*
+/etc/logrotate.d
 /var/ipfire/auth/users
 /var/ipfire/dhcp/*
 /var/ipfire/dnsforward/*
diff --git a/config/backup/includes/bacula b/config/backup/includes/bacula
new file mode 100644 (file)
index 0000000..8d5c119
--- /dev/null
@@ -0,0 +1 @@
+/etc/bacula/
diff --git a/config/backup/includes/check_mk_agent b/config/backup/includes/check_mk_agent
new file mode 100644 (file)
index 0000000..ca71046
--- /dev/null
@@ -0,0 +1 @@
+/etc/check_mk/
diff --git a/config/backup/includes/icinga b/config/backup/includes/icinga
new file mode 100644 (file)
index 0000000..ecea4e1
--- /dev/null
@@ -0,0 +1 @@
+/etc/icinga
diff --git a/config/backup/includes/owncloud b/config/backup/includes/owncloud
new file mode 100644 (file)
index 0000000..041312b
--- /dev/null
@@ -0,0 +1,2 @@
+/srv/web/owncloud/config
+/var/owncloud/data
diff --git a/config/bind/trusted-key.key b/config/bind/trusted-key.key
new file mode 100644 (file)
index 0000000..ea07836
--- /dev/null
@@ -0,0 +1 @@
+. 3600 IN DNSKEY 257 3 8 AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjFFVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoXbfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaDX6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpzW5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relSQageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulqQxA+Uk1ihz0=\r
index 9c39ef6a08a779fb6c07f1146d3052d43bf6427b..024449d3019d2703b1f7d9612c4739354c9a64eb 100644 (file)
@@ -1,11 +1,16 @@
 Listen 1009
 
 <VirtualHost *:1009>
-
     DocumentRoot /usr/share/cacti
+
     Include /etc/httpd/conf/conf.d/php*.conf
+
+    Alias /cacti /usr/share/cacti
     <Directory /usr/share/cacti>
         Options FollowSymLinks
         AllowOverride None
     </Directory>
+
+    RewriteEngine on
+    RewriteRule ^/$ /cacti/ [R]
 </VirtualHost>
diff --git a/config/cacti/cacti.logrotate b/config/cacti/cacti.logrotate
new file mode 100644 (file)
index 0000000..3ff4395
--- /dev/null
@@ -0,0 +1,6 @@
+/var/log/cacti/cacti.log {
+       missingok
+       monthly
+       notifempty
+       compress
+}
diff --git a/config/cacti/d.gif b/config/cacti/d.gif
new file mode 100644 (file)
index 0000000..0e958d3
Binary files /dev/null and b/config/cacti/d.gif differ
diff --git a/config/cacti/d.png b/config/cacti/d.png
new file mode 100644 (file)
index 0000000..8540175
Binary files /dev/null and b/config/cacti/d.png differ
diff --git a/config/cacti/throbber.gif b/config/cacti/throbber.gif
new file mode 100644 (file)
index 0000000..5b33f7e
Binary files /dev/null and b/config/cacti/throbber.gif differ
index 271dc41dacf52faf380ce53b74383e72af8f95ef..8ed87fc80e58d5b40f3a5cc108d2d3e36fb767c8 100644 (file)
@@ -26,6 +26,8 @@ $General::swroot = 'CONFIG_ROOT';
 $General::noipprefix = 'noipg-';
 $General::adminmanualurl = 'http://wiki.ipfire.org';
 
+require "${General::swroot}/network-functions.pl";
+
 #
 # log ("message") use default 'ipcop' tag
 # log ("tag","message") use your tag
@@ -281,21 +283,10 @@ sub validip
        }
 }
 
-sub validmask
-{
-       my $mask = $_[0];
+sub validmask {
+       my $mask = shift;
 
-       # secord part an ip?
-       if (&validip($mask)) {
-               return 1; }
-       # second part a number?
-       if (/^0/) {
-               return 0; }
-       if (!($mask =~ /^\d+$/)) {
-               return 0; }
-       if ($mask >= 0 && $mask <= 32) {
-               return 1; }
-       return 0;
+       return &Network::check_netmask($mask) or &Network::check_prefix($mask);
 }
 
 sub validipormask
@@ -316,24 +307,12 @@ sub validipormask
        return &validmask($mask);
 }
 
-sub subtocidr
-{
-       #gets: Subnet in decimal (255.255.255.0) 
-       #Gives: 24 (The cidr of network)
-       my ($byte1, $byte2, $byte3, $byte4) = split(/\./, $_[0].".0.0.0.0"); 
-       my $num = ($byte1 * 16777216) + ($byte2 * 65536) + ($byte3 * 256) + $byte4; 
-       my $bin = unpack("B*", pack("N", $num)); 
-       my $count = ($bin =~ tr/1/1/); 
-       return $count;
+sub subtocidr {
+       return &Network::convert_netmask2prefix(shift);
 }
 
-sub cidrtosub
-{
-       #gets: Cidr of network (20-30 for ccd) 
-       #Konverts 30 to 255.255.255.252 e.g
-       my $cidr=$_[0];
-    my $netmask = &Net::IPv4Addr::ipv4_cidr2msk($cidr);
-    return "$netmask";
+sub cidrtosub {
+       return &Network::convert_prefix2netmask(shift);
 }
   
 sub iporsubtodec
@@ -408,15 +387,8 @@ sub iporsubtocidr
        return 3;
 }
 
-sub getnetworkip
-{
-       #Gets:  IP, CIDR    (10.10.10.0-255, 24)
-       #Gives:  10.10.10.0
-       my ($ccdip,$ccdsubnet) = @_;
-       my $ip_address_binary = inet_aton( $ccdip );
-       my $netmask_binary    = ~pack("N", (2**(32-$ccdsubnet))-1);
-       my $network_address    = inet_ntoa( $ip_address_binary & $netmask_binary );
-       return $network_address;
+sub getnetworkip {
+       return &Network::get_netaddress(shift);
 }
 
 sub getccdbc
@@ -431,46 +403,20 @@ sub getccdbc
        return $broadcast_address;
 }
 
-sub ip2dec 
-{
-    my $ip_num;
-    my $ip=$_[0];
-    if ( $ip =~ /(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})/ ) {
-        $ip_num = (($1*256**3) + ($2*256**2) + ($3*256) + $4);
-    } else {
-        $ip_num = -1;
-    }
-    $ip_num = (($1*256**3) + ($2*256**2) + ($3*256) + $4);
-    return($ip_num);
+sub ip2dec  {
+       return &Network::ip2bin(shift);
 }
 
-sub dec2ip 
-{
-    my $ip;
-    my $ip_num=$_[0];
-       my $o1=$ip_num%256;
-       $ip_num=int($ip_num/256);
-       my $o2=$ip_num%256;
-       $ip_num=int($ip_num/256);
-       my $o3=$ip_num%256;
-       $ip_num=int($ip_num/256);
-       my $o4=$ip_num%256;
-       $ip="$o4.$o3.$o2.$o1";
-    return ($ip);
+sub dec2ip  {
+       return &Network::bin2ip(shift);
 }
 
-sub getnextip
-{
-       my $decip=&ip2dec($_[0]);
-       $decip=$decip+4;
-       return &dec2ip($decip);
+sub getnextip {
+       return &Network::find_next_ip_address(shift, 4);
 }
 
-sub getlastip
-{
-       my $decip=&ip2dec($_[0]);
-       $decip--;
-       return &dec2ip($decip);
+sub getlastip {
+       return &Network::find_next_ip_address(shift, -1);
 }
 
 sub validipandmask
@@ -598,6 +544,19 @@ sub checksubnets
        if (($ownnet{'RED_NETADDRESS'}          ne '' && $ownnet{'RED_NETADDRESS'}              ne '0.0.0.0') && &IpInSubnet($ip,$ownnet{'RED_NETADDRESS'},&iporsubtodec($ownnet{'RED_NETMASK'}))){ $errormessage=$Lang::tr{'ccd err red'};return $errormessage;}
 }
 
+sub check_net_internal{
+       my $network=shift;
+       my ($ip,$cidr)=split(/\//,$network);
+       my %ownnet=();
+       my $errormessage;
+       $cidr=&iporsubtocidr($cidr);
+       #check if we use one of ipfire's networks (green,orange,blue)
+       &readhash("${General::swroot}/ethernet/settings", \%ownnet);
+       if (($ownnet{'GREEN_NETADDRESS'}        ne '' && $ownnet{'GREEN_NETADDRESS'}    ne '0.0.0.0') && &IpInSubnet($ip,$ownnet{'GREEN_NETADDRESS'},&iporsubtodec($ownnet{'GREEN_NETMASK'}))){ $errormessage=$Lang::tr{'ccd err green'};return $errormessage;}
+       if (($ownnet{'ORANGE_NETADDRESS'}       ne '' && $ownnet{'ORANGE_NETADDRESS'}   ne '0.0.0.0') && &IpInSubnet($ip,$ownnet{'ORANGE_NETADDRESS'},&iporsubtodec($ownnet{'ORANGE_NETMASK'}))){ $errormessage=$Lang::tr{'ccd err orange'};return $errormessage;}
+       if (($ownnet{'BLUE_NETADDRESS'}         ne '' && $ownnet{'BLUE_NETADDRESS'}     ne '0.0.0.0') && &IpInSubnet($ip,$ownnet{'BLUE_NETADDRESS'},&iporsubtodec($ownnet{'BLUE_NETMASK'}))){ $errormessage=$Lang::tr{'ccd err blue'};return $errormessage;}
+       if (($ownnet{'RED_NETADDRESS'}          ne '' && $ownnet{'RED_NETADDRESS'}              ne '0.0.0.0') && &IpInSubnet($ip,$ownnet{'RED_NETADDRESS'},&iporsubtodec($ownnet{'RED_NETMASK'}))){ $errormessage=$Lang::tr{'ccd err red'};return $errormessage;}
+}
 
 sub validport
 {
@@ -668,9 +627,8 @@ sub validdomainname
        my @parts = split (/\./, $domainname);  # Split hostname at the '.'
 
        foreach $part (@parts) {
-               # Each part should be at least two characters in length
-               # but no more than 63 characters
-               if (length ($part) < 2 || length ($part) > 63) {
+               # Each part should be no more than 63 characters in length
+               if (length ($part) < 1 || length ($part) > 63) {
                        return 0;}
                # Only valid characters are a-z, A-Z, 0-9 and -
                if ($part !~ /^[a-zA-Z0-9-]*$/) {
@@ -753,19 +711,12 @@ sub validportrange # used to check a port range
        }
 }
 
-# Test if IP is within a subnet
-# Call: IpInSubnet (Addr, Subnet, Subnet Mask)
-#       Subnet can be an IP of the subnet: 10.0.0.0 or 10.0.0.1
-#       Everything in dottted notation
-# Return: TRUE/FALSE
-sub IpInSubnet
-{
-    my $ip = unpack('N', &Socket::inet_aton(shift));
-    my $start = unpack('N', &Socket::inet_aton(shift));
-    my $mask  = unpack('N', &Socket::inet_aton(shift));
-       $start &= $mask;  # base of subnet...
-    my $end   = $start + ~$mask;
-    return (($ip >= $start) && ($ip <= $end));
+sub IpInSubnet {
+       my $addr = shift;
+       my $network = shift;
+       my $netmask = shift;
+
+       return &Network::ip_address_in_network($addr, "$network/$netmask");
 }
 
 #
@@ -773,32 +724,25 @@ sub IpInSubnet
 # Call: NextIP ('1.1.1.1');
 # Return: '1.1.1.2'
 #
-sub NextIP
-{
-    return &Socket::inet_ntoa( pack("N", 1 +  unpack('N', &Socket::inet_aton(shift))
-                                  )
-                            );
+sub NextIP {
+       return &Network::find_next_ip_address(shift, 1);
 }
-sub NextIP2
-{
-    return &Socket::inet_ntoa( pack("N", 4 +  unpack('N', &Socket::inet_aton(shift))
-                                  )
-                            );
+
+sub NextIP2 {
+       return &Network::find_next_ip_address(shift, 4);
 }
-sub ipcidr
-{
+
+sub ipcidr {
        my ($ip,$cidr) = &Net::IPv4Addr::ipv4_parse(shift);
        return "$ip\/$cidr";
 }
 
-sub ipcidr2msk
-{
+sub ipcidr2msk {
        my ($ip,$cidr) = &Net::IPv4Addr::ipv4_parse(shift);
        my $netmask = &Net::IPv4Addr::ipv4_cidr2msk($cidr);
        return "$ip\/$netmask";
 }
 
-
 sub validemail {
     my $mail = shift;
     return 0 if ( $mail !~ /^[0-9a-zA-Z\.\-\_]+\@[0-9a-zA-Z\.\-]+$/ );
@@ -1165,4 +1109,16 @@ sub firewall_reload() {
        system("/usr/local/bin/firewallctrl");
 }
 
+# Function which will return the used interface for the red network zone (red0, ppp0, etc).
+sub get_red_interface() {
+
+       open(IFACE, "${General::swroot}/red/iface") or die "Could not open /var/ipfire/red/iface";
+
+       my $interface = <IFACE>;
+       close(IFACE);
+       chomp $interface;
+
+       return $interface;
+}
+
 1;
index bbb7e21f45243b183e43169b017c6937e1364ec2..acccfc834756baad04abc0c1b430a28b73d2047a 100644 (file)
@@ -45,6 +45,7 @@ my %menuhash = ();
 my $menu = \%menuhash;
 %settings = ();
 %ethsettings = ();
+%pppsettings = ();
 @URI = ();
 
 ### Make sure this is an SSL request
@@ -57,6 +58,7 @@ if ($ENV{'SERVER_ADDR'} && $ENV{'HTTPS'} ne 'on') {
 ### Initialize environment
 &General::readhash("${swroot}/main/settings", \%settings);
 &General::readhash("${swroot}/ethernet/settings", \%ethsettings);
+&General::readhash("${swroot}/ppp/settings", \%pppsettings);
 $language = $settings{'LANGUAGE'};
 $hostname = $settings{'HOSTNAME'};
 $hostnameintitle = 0;
@@ -140,6 +142,8 @@ sub genmenu {
     my %sublogshash = ();
     my $sublogs = \%sublogshash;
 
+  if ( -e "/var/ipfire/main/gpl_accepted") {
+
     eval `/bin/cat /var/ipfire/menu.d/*.menu`;
     eval `/bin/cat /var/ipfire/menu.d/*.main`;
 
@@ -154,9 +158,10 @@ sub genmenu {
         $menu->{'01.system'}{'subMenu'}->{'21.wlan'}{'enabled'} = 1;
     }
 
-    if ($ethsettings{'RED_TYPE'} eq "PPPOE") {
+    if ( $ethsettings{'RED_TYPE'} eq "PPPOE" && $pppsettings{'MONPORT'} ne "" ) {
         $menu->{'02.status'}{'subMenu'}->{'74.modem-status'}{'enabled'} = 1;
     }
+  }
 }
 
 sub showhttpheaders
index 51b6d68e9cd60837da13cbc1a9ee37723d038cd7..5d43cc176e7a103b46bfa1282be457351f8e278f 100644 (file)
@@ -33,7 +33,10 @@ sub new() {
        bless $self, $class;
 
        # Initialize the connetion to the modem.
-       $self->_initialize($port, $baud);
+       my $ret = $self->_initialize($port, $baud);
+       if ($ret) {
+               return undef;
+       }
 
        if ($self->_is_working()) {
                return $self;
@@ -54,9 +57,16 @@ sub DESTROY() {
 sub _initialize() {
        my ($self, $port, $baud) = @_;
 
+       # Check if the character device actually exists.
+       if (! -c $port) {
+               return 1;
+       }
+
        # Establish connection to the modem.
        $self->{modem} = new Device::Modem(port => $port);
        $self->{modem}->connect(baudrate => $baud);
+
+       return 0;
 }
 
 sub _is_working() {
diff --git a/config/cfgroot/network-functions.pl b/config/cfgroot/network-functions.pl
new file mode 100644 (file)
index 0000000..029ffc0
--- /dev/null
@@ -0,0 +1,306 @@
+#!/usr/bin/perl -w
+############################################################################
+#                                                                          #
+# This file is part of the IPFire Firewall.                                #
+#                                                                          #
+# IPFire is free software; you can redistribute it and/or modify           #
+# it under the terms of the GNU General Public License as published by     #
+# the Free Software Foundation; either version 2 of the License, or        #
+# (at your option) any later version.                                      #
+#                                                                          #
+# IPFire is distributed in the hope that it will be useful,                #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of           #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            #
+# GNU General Public License for more details.                             #
+#                                                                          #
+# You should have received a copy of the GNU General Public License        #
+# along with IPFire; if not, write to the Free Software                    #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
+#                                                                          #
+# Copyright (C) 2014 IPFire Team <info@ipfire.org>.                        #
+#                                                                          #
+############################################################################
+
+package Network;
+
+use Socket;
+
+my %PREFIX2NETMASK = (
+       32 => "255.255.255.255",
+       31 => "255.255.255.254",
+       30 => "255.255.255.252",
+       29 => "255.255.255.248",
+       28 => "255.255.255.240",
+       27 => "255.255.255.224",
+       26 => "255.255.255.192",
+       25 => "255.255.255.128",
+       24 => "255.255.255.0",
+       23 => "255.255.254.0",
+       22 => "255.255.252.0",
+       21 => "255.255.248.0",
+       20 => "255.255.240.0",
+       19 => "255.255.224.0",
+       18 => "255.255.192.0",
+       17 => "255.255.128.0",
+       16 => "255.255.0.0",
+       15 => "255.254.0.0",
+       14 => "255.252.0.0",
+       13 => "255.248.0.0",
+       12 => "255.240.0.0",
+       11 => "255.224.0.0",
+       10 => "255.192.0.0",
+        9 => "255.128.0.0",
+        8 => "255.0.0.0",
+        7 => "254.0.0.0",
+        6 => "252.0.0.0",
+        5 => "248.0.0.0",
+        4 => "240.0.0.0",
+        3 => "224.0.0.0",
+        2 => "192.0.0.0",
+        1 => "128.0.0.0",
+        0 => "0.0.0.0"
+);
+
+my %NETMASK2PREFIX = reverse(%PREFIX2NETMASK);
+
+# Takes an IP address in dotted decimal notation and
+# returns a 32 bit integer representing that IP addresss.
+# Will return undef for invalid inputs.
+sub ip2bin($) {
+       my $address = shift;
+
+       # This function returns undef for undefined input.
+       if (!defined $address) {
+               return undef;
+       }
+
+       my $address_bin = &Socket::inet_pton(AF_INET, $address);
+       if ($address_bin) {
+               $address_bin = unpack('N', $address_bin);
+       }
+
+       return $address_bin;
+}
+
+# Does the reverse of ip2bin().
+# Will return undef for invalid inputs.
+sub bin2ip($) {
+       my $address_bin = shift;
+
+       # This function returns undef for undefined input.
+       if (!defined $address_bin) {
+               return undef;
+       }
+
+       my $address = pack('N', $address_bin);
+       if ($address) {
+               $address = &Socket::inet_ntop(AF_INET, $address);
+       }
+
+       return $address;
+}
+
+# Takes a network in either a.b.c.d/a.b.c.d or a.b.c.d/e notation
+# and will return an 32 bit integer representing the start
+# address and an other one representing the network mask.
+sub network2bin($) {
+       my $network = shift;
+
+       my ($address, $netmask) = split(/\//, $network, 2);
+
+       if (&check_prefix($netmask)) {
+               $netmask = &convert_prefix2netmask($netmask);
+       }
+
+       my $address_bin = &ip2bin($address);
+       my $netmask_bin = &ip2bin($netmask);
+
+       my $network_start = $address_bin & $netmask_bin;
+
+       return ($network_start, $netmask_bin);
+}
+
+# Returns True for all valid IP addresses
+sub check_ip_address($) {
+       my $address = shift;
+
+       # Normalise the IP address and compare the result with
+       # the input - which should obviously the same.
+       my $normalised_address = &_normalise_ip_address($address);
+
+       return ((defined $normalised_address) && ($address eq $normalised_address));
+}
+
+# Returns True for all valid prefixes.
+sub check_prefix($) {
+       my $prefix = shift;
+
+       return (exists $PREFIX2NETMASK{$prefix});
+}
+
+# Returns True for all valid subnet masks.
+sub check_netmask($) {
+       my $netmask = shift;
+
+       return (exists $NETMASK2PREFIX{$netmask});
+}
+
+# Returns True for all valid inputs like a.b.c.d/a.b.c.d.
+sub check_ip_address_and_netmask($$) {
+       my $network = shift;
+
+       my ($address, $netmask) = split(/\//, $network, 2);
+
+       # Check if the IP address is fine.
+       # 
+       my $result = &check_ip_address($address);
+       unless ($result) {
+               return $result;
+       }
+
+       return &check_netmask($netmask);
+}
+
+# For internal use only. Will take an IP address and
+# return it in a normalised style. Like 8.8.8.010 -> 8.8.8.8.
+sub _normalise_ip_address($) {
+       my $address = shift;
+
+       my $address_bin = &ip2bin($address);
+       if (!defined $address_bin) {
+               return undef;
+       }
+
+       return &bin2ip($address_bin);
+}
+
+# Returns the prefix for the given subnet mask.
+sub convert_netmask2prefix($) {
+       my $netmask = shift;
+
+       if (exists $NETMASK2PREFIX{$netmask}) {
+               return $NETMASK2PREFIX{$netmask};
+       }
+
+       return undef;
+}
+
+# Returns the subnet mask for the given prefix.
+sub convert_prefix2netmask($) {
+       my $prefix = shift;
+
+       if (exists $PREFIX2NETMASK{$prefix}) {
+               return $PREFIX2NETMASK{$prefix};
+       }
+
+       return undef;
+}
+
+# Takes an IP address and an offset and
+# will return the offset'th IP address.
+sub find_next_ip_address($$) {
+       my $address = shift;
+       my $offset = shift;
+
+       my $address_bin = &ip2bin($address);
+       $address_bin += $offset;
+
+       return &bin2ip($address_bin);
+}
+
+# Returns the network address of the given network.
+sub get_netaddress($) {
+       my $network = shift;
+       my ($network_bin, $netmask_bin) = &network2bin($network);
+
+       if (defined $network_bin) {
+               return &bin2ip($network_bin);
+       }
+
+       return undef;
+}
+
+# Returns the broadcast of the given network.
+sub get_broadcast($) {
+       my $network = shift;
+       my ($network_bin, $netmask_bin) = &network2bin($network);
+
+       return &bin2ip($network_bin ^ ~$netmask_bin);
+}
+
+# Returns True if $address is in $network.
+sub ip_address_in_network($$) {
+       my $address = shift;
+       my $network = shift;
+
+       my $address_bin = &ip2bin($address);
+       return undef unless (defined $address_bin);
+
+       my ($network_bin, $netmask_bin) = &network2bin($network);
+
+       # Find end address
+       my $broadcast_bin = $network_bin ^ ~$netmask_bin;
+
+       return (($address_bin ge $network_bin) && ($address_bin le $broadcast_bin));
+}
+
+1;
+
+# Remove the next line to enable the testsuite
+__END__
+
+sub assert($) {
+       my $ret = shift;
+
+       if ($ret) {
+               return;
+       }
+
+       print "ASSERTION ERROR";
+       exit(1);
+}
+
+sub testsuite() {
+       my $result;
+
+       my $address1 = &ip2bin("8.8.8.8");
+       assert($address1 == 134744072);
+
+       my $address2 = &bin2ip($address1);
+       assert($address2 eq "8.8.8.8");
+
+       # Check if valid IP addresses are correctly recognised.
+       foreach my $address ("1.2.3.4", "192.168.180.1", "127.0.0.1") {
+               if (!&check_ip_address($address)) {
+                       print "$address is not correctly recognised as a valid IP address!\n";
+                       exit 1;
+               };
+       }
+
+       # Check if invalid IP addresses are correctly found.
+       foreach my $address ("456.2.3.4", "192.768.180.1", "127.1", "1", "a.b.c.d", "1.2.3.4.5", "1.2.3.4/12") {
+               if (&check_ip_address($address)) {
+                       print "$address is recognised as a valid IP address!\n";
+                       exit 1;
+               };
+       }
+
+       $result = &check_ip_address_and_netmask("192.168.180.0/255.255.255.0");
+       assert($result);
+
+       $result = &convert_netmask2prefix("255.255.254.0");
+       assert($result == 23);
+
+       $result = &convert_prefix2netmask(8);
+       assert($result eq "255.0.0.0");
+
+       $result = &find_next_ip_address("1.2.3.4", 2);
+       assert($result eq "1.2.3.6");
+
+       $result = &ip_address_in_network("10.0.1.4", "10.0.0.0/8");
+       assert($result);
+
+       return 0;
+}
+
+&testsuite();
index 92c3a78ba74cf9267daaadd49d2bd6c5d362877b..d78d08f593529a9209499bf3bc7a68777f324dc6 100644 (file)
@@ -24,12 +24,10 @@ HOME=/
 */5 * * * *    /usr/local/bin/makegraphs >/dev/null
 17 5 * * *     /etc/init.d/tmpfs backup >/dev/null
 
-# Force update the dynamic dns registration once a week
-# Force update even if IP has not changed once a month if 'minimize update' selected in GUI
-# to avoid account declared as dead
-*/5 * * * *    [ -f "/var/ipfire/red/active" ] && /usr/local/bin/setddns.pl
-9 2 * * 0      [ -f "/var/ipfire/red/active" ] && /usr/local/bin/setddns.pl -f
-3 2 1 * *      [ -f "/var/ipfire/red/active" ] && /usr/local/bin/setddns.pl -f -m
+# Update dynamic DNS records every five minutes.
+# Force an update once a month
+*/5 * * * *    [ -f "/var/ipfire/red/active" ] && /usr/bin/ddns update-all
+3 2 1 * *      [ -f "/var/ipfire/red/active" ] && /usr/bin/ddns update-all --force
 
 # Logwatch
 01 0 * * *     /usr/local/bin/logwatch > /var/log/logwatch/`date -I -d yesterday`; \
index 46e4b80295050eac06d90e8236fdba485152ad01..51334aafbc14e3e7d4be2079288f36461c4f2cf4 100644 (file)
@@ -10,7 +10,7 @@ kmem:x:9:
 wheel:x:10:root
 mail:x:12:mail
 uucp:x:14:
-dialout:x:16:
+dialout:x:16:nobody
 floppy:x:19:
 tape:x:20:
 utmp:x:22:
@@ -25,6 +25,7 @@ stunnel:x:51:
 lock:x:54:
 sshd:x:74:
 pcap:x:77:
+wbpriv:x:88:squid
 nobody:x:99:
 users:x:100:
 snort:x:101:
index 637179987b95101702157476a6337b8f9ac23571..d38570de5526d5113ff691c1b372696379168e62 100644 (file)
@@ -10,6 +10,9 @@ create
 # uncomment this if you want your log files compressed
 compress
 
+# packages drop log rotation information into this directory
+include /etc/logrotate.d
+
 # wtmp
 /var/log/wtmp {
     weekly
index 96b9b2fe5aba650033a67c67c1b035599d3dd0e5..4ba1ace8cec12cee5aab07082e1c8d0cc107a053 100755 (executable)
@@ -57,6 +57,9 @@ HAVE_OPENVPN="true"
 
 # INPUT
 
+# Allow access from GREEN
+iptables -A POLICYIN -i "${GREEN_DEV}" -j ACCEPT
+
 # IPsec INPUT
 case "${HAVE_IPSEC},${POLICY}" in
        true,MODE1) ;;
index c0ddcb2d69ed96937c3f8e66cad08d8e17b8cd95..aa8870cdc488a47b123d0d794689573ec2f5b2d4 100755 (executable)
@@ -291,6 +291,7 @@ sub buildrules {
 
                        foreach my $src (@sources) {
                                # Skip invalid source.
+                               next unless (defined $src);
                                next unless ($src);
 
                                # Sanitize source.
@@ -301,6 +302,7 @@ sub buildrules {
 
                                foreach my $dst (@destinations) {
                                        # Skip invalid rules.
+                                       next unless (defined $dst);
                                        next if (!$dst || ($dst eq "none"));
 
                                        # Sanitize destination.
diff --git a/config/icinga/icinga.conf b/config/icinga/icinga.conf
new file mode 100644 (file)
index 0000000..3771812
--- /dev/null
@@ -0,0 +1,37 @@
+Listen 1010
+
+<VirtualHost *:1010>
+       ScriptAlias /icinga/cgi-bin /usr/share/icinga/cgi-bin
+       Alias /icinga /usr/share/icinga/
+
+       RewriteEngine on
+       RewriteRule ^/$ /icinga/ [R]
+
+       <Directory /usr/share/icinga/cgi-bin>
+               Options ExecCGI
+               AllowOverride None
+
+               AuthName "Icinga Access"
+               AuthType Basic
+               AuthUserFile /etc/icinga/htpasswd.users
+
+               Order allow,deny
+               Allow from all
+
+               Require valid-user
+       </Directory>
+
+       <Directory /usr/share/icinga/>
+               Options None
+               AllowOverride All
+
+               AuthName "Icinga Access"
+               AuthType Basic
+               AuthUserFile /etc/icinga/htpasswd.users
+
+               Order allow,deny
+               Allow from all
+
+               Require valid-user
+       </Directory>
+</VirtualHost>
index 2d9b11521af814fe75e7d2379fca085df32f6c27..9bc1d43aff4d09da2c1c4da52951d9c3bca1386a 100644 (file)
@@ -953,6 +953,7 @@ CONFIG_NET_SCH_CHOKE=m
 CONFIG_NET_SCH_QFQ=m
 CONFIG_NET_SCH_CODEL=m
 CONFIG_NET_SCH_FQ_CODEL=m
+CONFIG_NET_SCH_PIE=m
 CONFIG_NET_SCH_INGRESS=m
 CONFIG_NET_SCH_PLUG=m
 
index dcc177d3ecf9ac10b5da9c31cfbadb98fc399abb..34045f2a6a6a47f52601b1569148a987533d0239 100644 (file)
@@ -1142,6 +1142,7 @@ CONFIG_NET_SCH_CHOKE=m
 CONFIG_NET_SCH_QFQ=m
 CONFIG_NET_SCH_CODEL=m
 CONFIG_NET_SCH_FQ_CODEL=m
+CONFIG_NET_SCH_PIE=m
 CONFIG_NET_SCH_INGRESS=m
 CONFIG_NET_SCH_PLUG=m
 
@@ -2551,7 +2552,7 @@ CONFIG_SERIAL_8250_MANY_PORTS=y
 CONFIG_SERIAL_8250_SHARE_IRQ=y
 # CONFIG_SERIAL_8250_DETECT_IRQ is not set
 CONFIG_SERIAL_8250_RSA=y
-# CONFIG_SERIAL_8250_DW is not set
+CONFIG_SERIAL_8250_DW=y
 # CONFIG_SERIAL_8250_EM is not set
 
 #
index 0c9b3d20ecfcb2c50937e7cf7c6364c851c20921..2c709ccfca87f5beb40bb6b349828d4de4ca25dc 100644 (file)
@@ -888,6 +888,7 @@ CONFIG_NET_SCH_CHOKE=m
 CONFIG_NET_SCH_QFQ=m
 CONFIG_NET_SCH_CODEL=m
 CONFIG_NET_SCH_FQ_CODEL=m
+CONFIG_NET_SCH_PIE=m
 CONFIG_NET_SCH_INGRESS=m
 CONFIG_NET_SCH_PLUG=m
 
index 246e436ecbcabb1205adfb6f72a78a27cbc136ef..329d96d5ff88bfc212facc6868f8f7cf2d7fc4da 100644 (file)
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/x86 3.10.33 Kernel Configuration
+# Linux/x86 3.10.40-ipfire Kernel Configuration
 #
 # CONFIG_64BIT is not set
 CONFIG_X86_32=y
@@ -581,30 +581,30 @@ CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
 #
 # x86 CPU frequency scaling drivers
 #
-CONFIG_X86_INTEL_PSTATE=y
-CONFIG_X86_PCC_CPUFREQ=y
-CONFIG_X86_ACPI_CPUFREQ=y
+# CONFIG_X86_INTEL_PSTATE is not set
+CONFIG_X86_PCC_CPUFREQ=m
+CONFIG_X86_ACPI_CPUFREQ=m
 # CONFIG_X86_ACPI_CPUFREQ_CPB is not set
-# CONFIG_X86_POWERNOW_K6 is not set
-CONFIG_X86_POWERNOW_K7=y
+CONFIG_X86_POWERNOW_K6=m
+CONFIG_X86_POWERNOW_K7=m
 CONFIG_X86_POWERNOW_K7_ACPI=y
-CONFIG_X86_POWERNOW_K8=y
-# CONFIG_X86_AMD_FREQ_SENSITIVITY is not set
-# CONFIG_X86_GX_SUSPMOD is not set
+CONFIG_X86_POWERNOW_K8=m
+CONFIG_X86_AMD_FREQ_SENSITIVITY=m
+CONFIG_X86_GX_SUSPMOD=m
 # CONFIG_X86_SPEEDSTEP_CENTRINO is not set
-CONFIG_X86_SPEEDSTEP_ICH=y
-CONFIG_X86_SPEEDSTEP_SMI=y
-CONFIG_X86_P4_CLOCKMOD=y
-# CONFIG_X86_CPUFREQ_NFORCE2 is not set
-CONFIG_X86_LONGRUN=y
-# CONFIG_X86_LONGHAUL is not set
+CONFIG_X86_SPEEDSTEP_ICH=m
+CONFIG_X86_SPEEDSTEP_SMI=m
+CONFIG_X86_P4_CLOCKMOD=m
+CONFIG_X86_CPUFREQ_NFORCE2=m
+CONFIG_X86_LONGRUN=m
+CONFIG_X86_LONGHAUL=m
 # CONFIG_X86_E_POWERSAVER is not set
 
 #
 # shared options
 #
-CONFIG_X86_SPEEDSTEP_LIB=y
-# CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK is not set
+CONFIG_X86_SPEEDSTEP_LIB=m
+CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y
 CONFIG_CPU_IDLE=y
 # CONFIG_CPU_IDLE_MULTIPLE_DRIVERS is not set
 CONFIG_CPU_IDLE_GOV_LADDER=y
@@ -632,8 +632,8 @@ CONFIG_PCIE_ECRC=y
 CONFIG_PCIEAER_INJECT=m
 CONFIG_PCIEASPM=y
 # CONFIG_PCIEASPM_DEBUG is not set
-# CONFIG_PCIEASPM_DEFAULT is not set
-CONFIG_PCIEASPM_POWERSAVE=y
+CONFIG_PCIEASPM_DEFAULT=y
+# CONFIG_PCIEASPM_POWERSAVE is not set
 # CONFIG_PCIEASPM_PERFORMANCE is not set
 CONFIG_PCIE_PME=y
 CONFIG_ARCH_SUPPORTS_MSI=y
@@ -913,6 +913,8 @@ CONFIG_NETFILTER_XT_MATCH_HELPER=m
 CONFIG_NETFILTER_XT_MATCH_HL=m
 CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
 # CONFIG_NETFILTER_XT_MATCH_IPVS is not set
+CONFIG_NETFILTER_XT_MATCH_LAYER7=m
+# CONFIG_NETFILTER_XT_MATCH_LAYER7_DEBUG is not set
 CONFIG_NETFILTER_XT_MATCH_LENGTH=m
 CONFIG_NETFILTER_XT_MATCH_LIMIT=m
 CONFIG_NETFILTER_XT_MATCH_MAC=m
@@ -931,8 +933,6 @@ CONFIG_NETFILTER_XT_MATCH_RECENT=m
 CONFIG_NETFILTER_XT_MATCH_SCTP=m
 CONFIG_NETFILTER_XT_MATCH_SOCKET=m
 CONFIG_NETFILTER_XT_MATCH_STATE=m
-CONFIG_NETFILTER_XT_MATCH_LAYER7=m
-# CONFIG_NETFILTER_XT_MATCH_LAYER7_DEBUG is not set
 CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
 CONFIG_NETFILTER_XT_MATCH_STRING=m
 CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
@@ -1140,6 +1140,7 @@ CONFIG_NET_SCH_CHOKE=m
 CONFIG_NET_SCH_QFQ=m
 CONFIG_NET_SCH_CODEL=m
 CONFIG_NET_SCH_FQ_CODEL=m
+CONFIG_NET_SCH_PIE=m
 CONFIG_NET_SCH_INGRESS=m
 CONFIG_NET_SCH_PLUG=m
 
index 8dc185bca39b731609e8ba53f51c68d14fd27786..f395f3116ed774983ea6d964d9ba1799346ec595 100644 (file)
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/x86 3.10.33 Kernel Configuration
+# Linux/x86 3.10.40-ipfire Kernel Configuration
 #
 # CONFIG_64BIT is not set
 CONFIG_X86_32=y
@@ -593,30 +593,30 @@ CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
 #
 # x86 CPU frequency scaling drivers
 #
-CONFIG_X86_INTEL_PSTATE=y
-CONFIG_X86_PCC_CPUFREQ=y
-CONFIG_X86_ACPI_CPUFREQ=y
+# CONFIG_X86_INTEL_PSTATE is not set
+CONFIG_X86_PCC_CPUFREQ=m
+CONFIG_X86_ACPI_CPUFREQ=m
 # CONFIG_X86_ACPI_CPUFREQ_CPB is not set
-# CONFIG_X86_POWERNOW_K6 is not set
-CONFIG_X86_POWERNOW_K7=y
+CONFIG_X86_POWERNOW_K6=m
+CONFIG_X86_POWERNOW_K7=m
 CONFIG_X86_POWERNOW_K7_ACPI=y
-CONFIG_X86_POWERNOW_K8=y
-# CONFIG_X86_AMD_FREQ_SENSITIVITY is not set
-# CONFIG_X86_GX_SUSPMOD is not set
+CONFIG_X86_POWERNOW_K8=m
+CONFIG_X86_AMD_FREQ_SENSITIVITY=m
+CONFIG_X86_GX_SUSPMOD=m
 # CONFIG_X86_SPEEDSTEP_CENTRINO is not set
-CONFIG_X86_SPEEDSTEP_ICH=y
-CONFIG_X86_SPEEDSTEP_SMI=y
-CONFIG_X86_P4_CLOCKMOD=y
-# CONFIG_X86_CPUFREQ_NFORCE2 is not set
-CONFIG_X86_LONGRUN=y
-# CONFIG_X86_LONGHAUL is not set
+CONFIG_X86_SPEEDSTEP_ICH=m
+CONFIG_X86_SPEEDSTEP_SMI=m
+CONFIG_X86_P4_CLOCKMOD=m
+CONFIG_X86_CPUFREQ_NFORCE2=m
+CONFIG_X86_LONGRUN=m
+CONFIG_X86_LONGHAUL=m
 # CONFIG_X86_E_POWERSAVER is not set
 
 #
 # shared options
 #
-CONFIG_X86_SPEEDSTEP_LIB=y
-# CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK is not set
+CONFIG_X86_SPEEDSTEP_LIB=m
+CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y
 CONFIG_CPU_IDLE=y
 # CONFIG_CPU_IDLE_MULTIPLE_DRIVERS is not set
 CONFIG_CPU_IDLE_GOV_LADDER=y
@@ -645,8 +645,8 @@ CONFIG_PCIE_ECRC=y
 CONFIG_PCIEAER_INJECT=m
 CONFIG_PCIEASPM=y
 # CONFIG_PCIEASPM_DEBUG is not set
-# CONFIG_PCIEASPM_DEFAULT is not set
-CONFIG_PCIEASPM_POWERSAVE=y
+CONFIG_PCIEASPM_DEFAULT=y
+# CONFIG_PCIEASPM_POWERSAVE is not set
 # CONFIG_PCIEASPM_PERFORMANCE is not set
 CONFIG_PCIE_PME=y
 CONFIG_ARCH_SUPPORTS_MSI=y
@@ -925,6 +925,8 @@ CONFIG_NETFILTER_XT_MATCH_HELPER=m
 CONFIG_NETFILTER_XT_MATCH_HL=m
 CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
 # CONFIG_NETFILTER_XT_MATCH_IPVS is not set
+CONFIG_NETFILTER_XT_MATCH_LAYER7=m
+# CONFIG_NETFILTER_XT_MATCH_LAYER7_DEBUG is not set
 CONFIG_NETFILTER_XT_MATCH_LENGTH=m
 CONFIG_NETFILTER_XT_MATCH_LIMIT=m
 CONFIG_NETFILTER_XT_MATCH_MAC=m
@@ -943,8 +945,6 @@ CONFIG_NETFILTER_XT_MATCH_RECENT=m
 CONFIG_NETFILTER_XT_MATCH_SCTP=m
 CONFIG_NETFILTER_XT_MATCH_SOCKET=m
 CONFIG_NETFILTER_XT_MATCH_STATE=m
-CONFIG_NETFILTER_XT_MATCH_LAYER7=m
-# CONFIG_NETFILTER_XT_MATCH_LAYER7_DEBUG is not set
 CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
 CONFIG_NETFILTER_XT_MATCH_STRING=m
 CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
@@ -1152,6 +1152,7 @@ CONFIG_NET_SCH_CHOKE=m
 CONFIG_NET_SCH_QFQ=m
 CONFIG_NET_SCH_CODEL=m
 CONFIG_NET_SCH_FQ_CODEL=m
+CONFIG_NET_SCH_PIE=m
 CONFIG_NET_SCH_INGRESS=m
 CONFIG_NET_SCH_PLUG=m
 
diff --git a/config/owncloud/owncloud.conf b/config/owncloud/owncloud.conf
new file mode 100644 (file)
index 0000000..08f58c3
--- /dev/null
@@ -0,0 +1,21 @@
+Listen 1011
+
+<VirtualHost *:1011>
+       DocumentRoot /srv/web/owncloud
+
+       SSLEngine on
+       SSLProtocol all -SSLv2
+       SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128:AES256:HIGH:!RC4:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK
+       SSLHonorCipherOrder on
+       SSLCertificateFile /etc/httpd/owncloud.crt
+       SSLCertificateKeyFile /etc/httpd/owncloud.key
+
+       Include /etc/httpd/conf/conf.d/php*.conf
+
+       <Directory /srv/web/owncloud>
+               Options Indexes FollowSymlinks MultiViews
+               AllowOverride ALL
+               Order allow,deny
+               Allow from all
+       </Directory>
+</VirtualHost>
similarity index 62%
rename from config/rootfiles/common/gmp
rename to config/rootfiles/common/armv5tel/gmp
index 67f557fbb5888fbbcb61262d10da936b15505618..8f5ac559b3f94517526bc6612ff5bbf433cdad2d 100644 (file)
@@ -1,21 +1,15 @@
 #usr/include/gmp.h
 #usr/include/gmpxx.h
-#usr/include/mp.h
 #usr/lib/libgmp.a
 #usr/lib/libgmp.la
 #usr/lib/libgmp.so
 usr/lib/libgmp.so.10
-usr/lib/libgmp.so.10.0.5
+usr/lib/libgmp.so.10.2.0
 #usr/lib/libgmpxx.a
 #usr/lib/libgmpxx.la
 #usr/lib/libgmpxx.so
 usr/lib/libgmpxx.so.4
-usr/lib/libgmpxx.so.4.2.5
-#usr/lib/libmp.a
-#usr/lib/libmp.la
-#usr/lib/libmp.so
-usr/lib/libmp.so.3
-usr/lib/libmp.so.3.1.25
+usr/lib/libgmpxx.so.4.4.0
 #usr/share/info/gmp.info
 #usr/share/info/gmp.info-1
 #usr/share/info/gmp.info-2
index ecd01ec1e227d709da490582eb176eb57ebb0c8d..dfe2e4869e8e472a8fd725d18663c024158fa1ef 100644 (file)
@@ -24,6 +24,7 @@ etc/rc.d/init.d/console
 #etc/rc.d/init.d/cyrus-imapd
 #etc/rc.d/init.d/cyrus-sasl
 etc/rc.d/init.d/dhcp
+etc/rc.d/init.d/dhcrelay
 etc/rc.d/init.d/dnsmasq
 etc/rc.d/init.d/fcron
 #etc/rc.d/init.d/fetchmail
@@ -34,7 +35,6 @@ etc/rc.d/init.d/functions
 #etc/rc.d/init.d/gnump3d
 etc/rc.d/init.d/halt
 #etc/rc.d/init.d/hostapd
-#etc/rc.d/init.d/icecream
 #etc/rc.d/init.d/imspector
 etc/rc.d/init.d/ipsec
 #etc/rc.d/init.d/keepalived
@@ -73,13 +73,13 @@ etc/rc.d/init.d/networking/red.down/05-RS-dnsmasq
 etc/rc.d/init.d/networking/red.down/10-ipsec
 etc/rc.d/init.d/networking/red.down/10-miniupnpd
 etc/rc.d/init.d/networking/red.down/10-ovpn
-etc/rc.d/init.d/networking/red.down/20-RL-firewall
+etc/rc.d/init.d/networking/red.down/20-firewall
 #etc/rc.d/init.d/networking/red.up
 etc/rc.d/init.d/networking/red.up/01-conntrack-cleanup
 etc/rc.d/init.d/networking/red.up/05-RS-dnsmasq
 etc/rc.d/init.d/networking/red.up/10-miniupnpd
 etc/rc.d/init.d/networking/red.up/10-multicast
-etc/rc.d/init.d/networking/red.up/20-RL-firewall
+etc/rc.d/init.d/networking/red.up/20-firewall
 etc/rc.d/init.d/networking/red.up/23-RS-snort
 etc/rc.d/init.d/networking/red.up/24-RS-qos
 etc/rc.d/init.d/networking/red.up/27-RS-squid
@@ -131,7 +131,6 @@ etc/rc.d/init.d/upnpd
 #etc/rc.d/init.d/vdradmin
 #etc/rc.d/init.d/vsftpd
 #etc/rc.d/init.d/watchdog
-#etc/rc.d/init.d/winbind
 etc/rc.d/init.d/wlanclient
 #etc/rc.d/init.d/xinetd
 #etc/rc.d/rc0.d
index a4da621ed1c5d260fab90595fbd52665afc511a3..7fa9a2463f92150d8ca0df6baf73ce0c028dca7a 100644 (file)
 #usr/include/linux/unix_diag.h
 #usr/include/linux/usb
 #usr/include/linux/usb/audio.h
+#usr/include/linux/usb/cdc-wdm.h
 #usr/include/linux/usb/cdc.h
 #usr/include/linux/usb/ch11.h
 #usr/include/linux/usb/ch9.h
index 9cb3057d06703e5351e0a17439d92bde524e344e..4880b60ffe7a6bd4f18da36d5b0cee16cd14f7be 100644 (file)
@@ -2243,6 +2243,7 @@ lib/modules/KVER-ipfire-kirkwood
 #lib/modules/KVER-ipfire-kirkwood/kernel/net/sched/sch_mqprio.ko
 #lib/modules/KVER-ipfire-kirkwood/kernel/net/sched/sch_multiq.ko
 #lib/modules/KVER-ipfire-kirkwood/kernel/net/sched/sch_netem.ko
+#lib/modules/KVER-ipfire-kirkwood/kernel/net/sched/sch_pie.ko
 #lib/modules/KVER-ipfire-kirkwood/kernel/net/sched/sch_plug.ko
 #lib/modules/KVER-ipfire-kirkwood/kernel/net/sched/sch_prio.ko
 #lib/modules/KVER-ipfire-kirkwood/kernel/net/sched/sch_qfq.ko
index 1fd840c95e0f0fea857aca51c17e2bf945ecd93a..3c20c523634f8b7bdbd6ce1f38f90ccf4d0b2b09 100644 (file)
@@ -2195,6 +2195,7 @@ lib/modules/KVER-ipfire-multi
 #lib/modules/KVER-ipfire-multi/kernel/net/sched/sch_mqprio.ko
 #lib/modules/KVER-ipfire-multi/kernel/net/sched/sch_multiq.ko
 #lib/modules/KVER-ipfire-multi/kernel/net/sched/sch_netem.ko
+#lib/modules/KVER-ipfire-multi/kernel/net/sched/sch_pie.ko
 #lib/modules/KVER-ipfire-multi/kernel/net/sched/sch_plug.ko
 #lib/modules/KVER-ipfire-multi/kernel/net/sched/sch_prio.ko
 #lib/modules/KVER-ipfire-multi/kernel/net/sched/sch_qfq.ko
index 2ea9efe196523bb47d460b8a3ca7eafb57006b45..01f9312ee890ec7b24675bad898ca674b8bd95e9 100644 (file)
@@ -1804,6 +1804,7 @@ lib/modules/KVER-ipfire-rpi
 #lib/modules/KVER-ipfire-rpi/kernel/net/sched/sch_mqprio.ko
 #lib/modules/KVER-ipfire-rpi/kernel/net/sched/sch_multiq.ko
 #lib/modules/KVER-ipfire-rpi/kernel/net/sched/sch_netem.ko
+#lib/modules/KVER-ipfire-rpi/kernel/net/sched/sch_pie.ko
 #lib/modules/KVER-ipfire-rpi/kernel/net/sched/sch_plug.ko
 #lib/modules/KVER-ipfire-rpi/kernel/net/sched/sch_prio.ko
 #lib/modules/KVER-ipfire-rpi/kernel/net/sched/sch_qfq.ko
index 85b027d837433bf0041b417674713ac9b68c888d..c75b147c69747df1d5bf533cb4bd3f3782ecfb20 100644 (file)
@@ -233,6 +233,7 @@ usr/sbin/rtcwake
 #usr/share/man/man1/ipcmk.1
 #usr/share/man/man1/ipcrm.1
 #usr/share/man/man1/ipcs.1
+#usr/share/man/man1/logger.1
 #usr/share/man/man1/look.1
 #usr/share/man/man1/lscpu.1
 #usr/share/man/man1/mcookie.1
diff --git a/config/rootfiles/common/batctl b/config/rootfiles/common/batctl
new file mode 100644 (file)
index 0000000..a4f49c2
--- /dev/null
@@ -0,0 +1,2 @@
+usr/sbin/batctl
+#usr/share/man/man8/batctl.8
index df668534b9790fe547e8920ab3f86de4817a13bd..303c5b8287ed899671b8c51d64a4b404faee6393 100644 (file)
@@ -1,8 +1,9 @@
+etc/trusted-key.key
 usr/bin/dig
 usr/bin/host
 usr/bin/nslookup
 usr/bin/nsupdate
-#usr/man/man1/dig.1
-#usr/man/man1/host.1
-#usr/man/man1/nslookup.1
-#usr/man/man8/nsupdate.8
+#usr/share/man/man1/dig.1
+#usr/share/man/man1/host.1
+#usr/share/man/man1/nslookup.1
+#usr/share/man/man1/nsupdate.1
diff --git a/config/rootfiles/common/boost b/config/rootfiles/common/boost
new file mode 100644 (file)
index 0000000..57cb128
--- /dev/null
@@ -0,0 +1,10938 @@
+#usr/include/boost
+#usr/include/boost/accumulators
+#usr/include/boost/accumulators/accumulators.hpp
+#usr/include/boost/accumulators/accumulators_fwd.hpp
+#usr/include/boost/accumulators/framework
+#usr/include/boost/accumulators/framework/accumulator_base.hpp
+#usr/include/boost/accumulators/framework/accumulator_concept.hpp
+#usr/include/boost/accumulators/framework/accumulator_set.hpp
+#usr/include/boost/accumulators/framework/accumulators
+#usr/include/boost/accumulators/framework/accumulators/droppable_accumulator.hpp
+#usr/include/boost/accumulators/framework/accumulators/external_accumulator.hpp
+#usr/include/boost/accumulators/framework/accumulators/reference_accumulator.hpp
+#usr/include/boost/accumulators/framework/accumulators/value_accumulator.hpp
+#usr/include/boost/accumulators/framework/depends_on.hpp
+#usr/include/boost/accumulators/framework/external.hpp
+#usr/include/boost/accumulators/framework/extractor.hpp
+#usr/include/boost/accumulators/framework/features.hpp
+#usr/include/boost/accumulators/framework/parameters
+#usr/include/boost/accumulators/framework/parameters/accumulator.hpp
+#usr/include/boost/accumulators/framework/parameters/sample.hpp
+#usr/include/boost/accumulators/framework/parameters/weight.hpp
+#usr/include/boost/accumulators/framework/parameters/weights.hpp
+#usr/include/boost/accumulators/numeric
+#usr/include/boost/accumulators/numeric/detail
+#usr/include/boost/accumulators/numeric/detail/function1.hpp
+#usr/include/boost/accumulators/numeric/detail/function2.hpp
+#usr/include/boost/accumulators/numeric/detail/function3.hpp
+#usr/include/boost/accumulators/numeric/detail/function4.hpp
+#usr/include/boost/accumulators/numeric/detail/function_n.hpp
+#usr/include/boost/accumulators/numeric/detail/pod_singleton.hpp
+#usr/include/boost/accumulators/numeric/functional
+#usr/include/boost/accumulators/numeric/functional.hpp
+#usr/include/boost/accumulators/numeric/functional/complex.hpp
+#usr/include/boost/accumulators/numeric/functional/valarray.hpp
+#usr/include/boost/accumulators/numeric/functional/vector.hpp
+#usr/include/boost/accumulators/numeric/functional_fwd.hpp
+#usr/include/boost/accumulators/statistics
+#usr/include/boost/accumulators/statistics.hpp
+#usr/include/boost/accumulators/statistics/count.hpp
+#usr/include/boost/accumulators/statistics/covariance.hpp
+#usr/include/boost/accumulators/statistics/density.hpp
+#usr/include/boost/accumulators/statistics/error_of.hpp
+#usr/include/boost/accumulators/statistics/error_of_mean.hpp
+#usr/include/boost/accumulators/statistics/extended_p_square.hpp
+#usr/include/boost/accumulators/statistics/extended_p_square_quantile.hpp
+#usr/include/boost/accumulators/statistics/kurtosis.hpp
+#usr/include/boost/accumulators/statistics/max.hpp
+#usr/include/boost/accumulators/statistics/mean.hpp
+#usr/include/boost/accumulators/statistics/median.hpp
+#usr/include/boost/accumulators/statistics/min.hpp
+#usr/include/boost/accumulators/statistics/moment.hpp
+#usr/include/boost/accumulators/statistics/p_square_cumul_dist.hpp
+#usr/include/boost/accumulators/statistics/p_square_cumulative_distribution.hpp
+#usr/include/boost/accumulators/statistics/p_square_quantile.hpp
+#usr/include/boost/accumulators/statistics/parameters
+#usr/include/boost/accumulators/statistics/parameters/quantile_probability.hpp
+#usr/include/boost/accumulators/statistics/peaks_over_threshold.hpp
+#usr/include/boost/accumulators/statistics/pot_quantile.hpp
+#usr/include/boost/accumulators/statistics/pot_tail_mean.hpp
+#usr/include/boost/accumulators/statistics/rolling_count.hpp
+#usr/include/boost/accumulators/statistics/rolling_mean.hpp
+#usr/include/boost/accumulators/statistics/rolling_sum.hpp
+#usr/include/boost/accumulators/statistics/rolling_window.hpp
+#usr/include/boost/accumulators/statistics/skewness.hpp
+#usr/include/boost/accumulators/statistics/stats.hpp
+#usr/include/boost/accumulators/statistics/sum.hpp
+#usr/include/boost/accumulators/statistics/sum_kahan.hpp
+#usr/include/boost/accumulators/statistics/tail.hpp
+#usr/include/boost/accumulators/statistics/tail_mean.hpp
+#usr/include/boost/accumulators/statistics/tail_quantile.hpp
+#usr/include/boost/accumulators/statistics/tail_variate.hpp
+#usr/include/boost/accumulators/statistics/tail_variate_means.hpp
+#usr/include/boost/accumulators/statistics/times2_iterator.hpp
+#usr/include/boost/accumulators/statistics/variance.hpp
+#usr/include/boost/accumulators/statistics/variates
+#usr/include/boost/accumulators/statistics/variates/covariate.hpp
+#usr/include/boost/accumulators/statistics/weighted_covariance.hpp
+#usr/include/boost/accumulators/statistics/weighted_density.hpp
+#usr/include/boost/accumulators/statistics/weighted_extended_p_square.hpp
+#usr/include/boost/accumulators/statistics/weighted_kurtosis.hpp
+#usr/include/boost/accumulators/statistics/weighted_mean.hpp
+#usr/include/boost/accumulators/statistics/weighted_median.hpp
+#usr/include/boost/accumulators/statistics/weighted_moment.hpp
+#usr/include/boost/accumulators/statistics/weighted_p_square_cumul_dist.hpp
+#usr/include/boost/accumulators/statistics/weighted_p_square_cumulative_distribution.hpp
+#usr/include/boost/accumulators/statistics/weighted_p_square_quantile.hpp
+#usr/include/boost/accumulators/statistics/weighted_peaks_over_threshold.hpp
+#usr/include/boost/accumulators/statistics/weighted_skewness.hpp
+#usr/include/boost/accumulators/statistics/weighted_sum.hpp
+#usr/include/boost/accumulators/statistics/weighted_sum_kahan.hpp
+#usr/include/boost/accumulators/statistics/weighted_tail_mean.hpp
+#usr/include/boost/accumulators/statistics/weighted_tail_quantile.hpp
+#usr/include/boost/accumulators/statistics/weighted_tail_variate_means.hpp
+#usr/include/boost/accumulators/statistics/weighted_variance.hpp
+#usr/include/boost/accumulators/statistics/with_error.hpp
+#usr/include/boost/accumulators/statistics_fwd.hpp
+#usr/include/boost/algorithm
+#usr/include/boost/algorithm/clamp.hpp
+#usr/include/boost/algorithm/cxx11
+#usr/include/boost/algorithm/cxx11/all_of.hpp
+#usr/include/boost/algorithm/cxx11/any_of.hpp
+#usr/include/boost/algorithm/cxx11/copy_if.hpp
+#usr/include/boost/algorithm/cxx11/copy_n.hpp
+#usr/include/boost/algorithm/cxx11/find_if_not.hpp
+#usr/include/boost/algorithm/cxx11/iota.hpp
+#usr/include/boost/algorithm/cxx11/is_partitioned.hpp
+#usr/include/boost/algorithm/cxx11/is_permutation.hpp
+#usr/include/boost/algorithm/cxx11/is_sorted.hpp
+#usr/include/boost/algorithm/cxx11/none_of.hpp
+#usr/include/boost/algorithm/cxx11/one_of.hpp
+#usr/include/boost/algorithm/cxx11/partition_copy.hpp
+#usr/include/boost/algorithm/cxx11/partition_point.hpp
+#usr/include/boost/algorithm/cxx14
+#usr/include/boost/algorithm/cxx14/equal.hpp
+#usr/include/boost/algorithm/cxx14/is_permutation.hpp
+#usr/include/boost/algorithm/cxx14/mismatch.hpp
+#usr/include/boost/algorithm/gather.hpp
+#usr/include/boost/algorithm/hex.hpp
+#usr/include/boost/algorithm/minmax.hpp
+#usr/include/boost/algorithm/minmax_element.hpp
+#usr/include/boost/algorithm/searching
+#usr/include/boost/algorithm/searching/boyer_moore.hpp
+#usr/include/boost/algorithm/searching/boyer_moore_horspool.hpp
+#usr/include/boost/algorithm/searching/detail
+#usr/include/boost/algorithm/searching/detail/bm_traits.hpp
+#usr/include/boost/algorithm/searching/detail/debugging.hpp
+#usr/include/boost/algorithm/searching/knuth_morris_pratt.hpp
+#usr/include/boost/algorithm/string
+#usr/include/boost/algorithm/string.hpp
+#usr/include/boost/algorithm/string/case_conv.hpp
+#usr/include/boost/algorithm/string/classification.hpp
+#usr/include/boost/algorithm/string/compare.hpp
+#usr/include/boost/algorithm/string/concept.hpp
+#usr/include/boost/algorithm/string/config.hpp
+#usr/include/boost/algorithm/string/constants.hpp
+#usr/include/boost/algorithm/string/detail
+#usr/include/boost/algorithm/string/detail/case_conv.hpp
+#usr/include/boost/algorithm/string/detail/classification.hpp
+#usr/include/boost/algorithm/string/detail/find_format.hpp
+#usr/include/boost/algorithm/string/detail/find_format_all.hpp
+#usr/include/boost/algorithm/string/detail/find_format_store.hpp
+#usr/include/boost/algorithm/string/detail/find_iterator.hpp
+#usr/include/boost/algorithm/string/detail/finder.hpp
+#usr/include/boost/algorithm/string/detail/finder_regex.hpp
+#usr/include/boost/algorithm/string/detail/formatter.hpp
+#usr/include/boost/algorithm/string/detail/formatter_regex.hpp
+#usr/include/boost/algorithm/string/detail/predicate.hpp
+#usr/include/boost/algorithm/string/detail/replace_storage.hpp
+#usr/include/boost/algorithm/string/detail/sequence.hpp
+#usr/include/boost/algorithm/string/detail/trim.hpp
+#usr/include/boost/algorithm/string/detail/util.hpp
+#usr/include/boost/algorithm/string/erase.hpp
+#usr/include/boost/algorithm/string/find.hpp
+#usr/include/boost/algorithm/string/find_format.hpp
+#usr/include/boost/algorithm/string/find_iterator.hpp
+#usr/include/boost/algorithm/string/finder.hpp
+#usr/include/boost/algorithm/string/formatter.hpp
+#usr/include/boost/algorithm/string/iter_find.hpp
+#usr/include/boost/algorithm/string/join.hpp
+#usr/include/boost/algorithm/string/predicate.hpp
+#usr/include/boost/algorithm/string/predicate_facade.hpp
+#usr/include/boost/algorithm/string/regex.hpp
+#usr/include/boost/algorithm/string/regex_find_format.hpp
+#usr/include/boost/algorithm/string/replace.hpp
+#usr/include/boost/algorithm/string/sequence_traits.hpp
+#usr/include/boost/algorithm/string/split.hpp
+#usr/include/boost/algorithm/string/std
+#usr/include/boost/algorithm/string/std/list_traits.hpp
+#usr/include/boost/algorithm/string/std/rope_traits.hpp
+#usr/include/boost/algorithm/string/std/slist_traits.hpp
+#usr/include/boost/algorithm/string/std/string_traits.hpp
+#usr/include/boost/algorithm/string/std_containers_traits.hpp
+#usr/include/boost/algorithm/string/trim.hpp
+#usr/include/boost/algorithm/string/trim_all.hpp
+#usr/include/boost/algorithm/string/yes_no_type.hpp
+#usr/include/boost/algorithm/string_regex.hpp
+#usr/include/boost/aligned_storage.hpp
+#usr/include/boost/any.hpp
+#usr/include/boost/archive
+#usr/include/boost/archive/add_facet.hpp
+#usr/include/boost/archive/archive_exception.hpp
+#usr/include/boost/archive/basic_archive.hpp
+#usr/include/boost/archive/basic_binary_iarchive.hpp
+#usr/include/boost/archive/basic_binary_iprimitive.hpp
+#usr/include/boost/archive/basic_binary_oarchive.hpp
+#usr/include/boost/archive/basic_binary_oprimitive.hpp
+#usr/include/boost/archive/basic_streambuf_locale_saver.hpp
+#usr/include/boost/archive/basic_text_iarchive.hpp
+#usr/include/boost/archive/basic_text_iprimitive.hpp
+#usr/include/boost/archive/basic_text_oarchive.hpp
+#usr/include/boost/archive/basic_text_oprimitive.hpp
+#usr/include/boost/archive/basic_xml_archive.hpp
+#usr/include/boost/archive/basic_xml_iarchive.hpp
+#usr/include/boost/archive/basic_xml_oarchive.hpp
+#usr/include/boost/archive/binary_iarchive.hpp
+#usr/include/boost/archive/binary_iarchive_impl.hpp
+#usr/include/boost/archive/binary_oarchive.hpp
+#usr/include/boost/archive/binary_oarchive_impl.hpp
+#usr/include/boost/archive/binary_wiarchive.hpp
+#usr/include/boost/archive/binary_woarchive.hpp
+#usr/include/boost/archive/codecvt_null.hpp
+#usr/include/boost/archive/detail
+#usr/include/boost/archive/detail/abi_prefix.hpp
+#usr/include/boost/archive/detail/abi_suffix.hpp
+#usr/include/boost/archive/detail/archive_serializer_map.hpp
+#usr/include/boost/archive/detail/auto_link_archive.hpp
+#usr/include/boost/archive/detail/auto_link_warchive.hpp
+#usr/include/boost/archive/detail/basic_archive_impl.hpp
+#usr/include/boost/archive/detail/basic_config.hpp
+#usr/include/boost/archive/detail/basic_iarchive.hpp
+#usr/include/boost/archive/detail/basic_iserializer.hpp
+#usr/include/boost/archive/detail/basic_oarchive.hpp
+#usr/include/boost/archive/detail/basic_oserializer.hpp
+#usr/include/boost/archive/detail/basic_pointer_iserializer.hpp
+#usr/include/boost/archive/detail/basic_pointer_oserializer.hpp
+#usr/include/boost/archive/detail/basic_serializer.hpp
+#usr/include/boost/archive/detail/basic_serializer_map.hpp
+#usr/include/boost/archive/detail/check.hpp
+#usr/include/boost/archive/detail/common_iarchive.hpp
+#usr/include/boost/archive/detail/common_oarchive.hpp
+#usr/include/boost/archive/detail/decl.hpp
+#usr/include/boost/archive/detail/interface_iarchive.hpp
+#usr/include/boost/archive/detail/interface_oarchive.hpp
+#usr/include/boost/archive/detail/iserializer.hpp
+#usr/include/boost/archive/detail/oserializer.hpp
+#usr/include/boost/archive/detail/polymorphic_iarchive_route.hpp
+#usr/include/boost/archive/detail/polymorphic_oarchive_route.hpp
+#usr/include/boost/archive/detail/register_archive.hpp
+#usr/include/boost/archive/detail/utf8_codecvt_facet.hpp
+#usr/include/boost/archive/dinkumware.hpp
+#usr/include/boost/archive/impl
+#usr/include/boost/archive/impl/archive_serializer_map.ipp
+#usr/include/boost/archive/impl/basic_binary_iarchive.ipp
+#usr/include/boost/archive/impl/basic_binary_iprimitive.ipp
+#usr/include/boost/archive/impl/basic_binary_oarchive.ipp
+#usr/include/boost/archive/impl/basic_binary_oprimitive.ipp
+#usr/include/boost/archive/impl/basic_text_iarchive.ipp
+#usr/include/boost/archive/impl/basic_text_iprimitive.ipp
+#usr/include/boost/archive/impl/basic_text_oarchive.ipp
+#usr/include/boost/archive/impl/basic_text_oprimitive.ipp
+#usr/include/boost/archive/impl/basic_xml_grammar.hpp
+#usr/include/boost/archive/impl/basic_xml_iarchive.ipp
+#usr/include/boost/archive/impl/basic_xml_oarchive.ipp
+#usr/include/boost/archive/impl/text_iarchive_impl.ipp
+#usr/include/boost/archive/impl/text_oarchive_impl.ipp
+#usr/include/boost/archive/impl/text_wiarchive_impl.ipp
+#usr/include/boost/archive/impl/text_woarchive_impl.ipp
+#usr/include/boost/archive/impl/xml_iarchive_impl.ipp
+#usr/include/boost/archive/impl/xml_oarchive_impl.ipp
+#usr/include/boost/archive/impl/xml_wiarchive_impl.ipp
+#usr/include/boost/archive/impl/xml_woarchive_impl.ipp
+#usr/include/boost/archive/iterators
+#usr/include/boost/archive/iterators/base64_exception.hpp
+#usr/include/boost/archive/iterators/base64_from_binary.hpp
+#usr/include/boost/archive/iterators/binary_from_base64.hpp
+#usr/include/boost/archive/iterators/dataflow.hpp
+#usr/include/boost/archive/iterators/dataflow_exception.hpp
+#usr/include/boost/archive/iterators/escape.hpp
+#usr/include/boost/archive/iterators/head_iterator.hpp
+#usr/include/boost/archive/iterators/insert_linebreaks.hpp
+#usr/include/boost/archive/iterators/istream_iterator.hpp
+#usr/include/boost/archive/iterators/mb_from_wchar.hpp
+#usr/include/boost/archive/iterators/ostream_iterator.hpp
+#usr/include/boost/archive/iterators/remove_whitespace.hpp
+#usr/include/boost/archive/iterators/transform_width.hpp
+#usr/include/boost/archive/iterators/unescape.hpp
+#usr/include/boost/archive/iterators/wchar_from_mb.hpp
+#usr/include/boost/archive/iterators/xml_escape.hpp
+#usr/include/boost/archive/iterators/xml_unescape.hpp
+#usr/include/boost/archive/iterators/xml_unescape_exception.hpp
+#usr/include/boost/archive/polymorphic_binary_iarchive.hpp
+#usr/include/boost/archive/polymorphic_binary_oarchive.hpp
+#usr/include/boost/archive/polymorphic_iarchive.hpp
+#usr/include/boost/archive/polymorphic_oarchive.hpp
+#usr/include/boost/archive/polymorphic_text_iarchive.hpp
+#usr/include/boost/archive/polymorphic_text_oarchive.hpp
+#usr/include/boost/archive/polymorphic_text_wiarchive.hpp
+#usr/include/boost/archive/polymorphic_text_woarchive.hpp
+#usr/include/boost/archive/polymorphic_xml_iarchive.hpp
+#usr/include/boost/archive/polymorphic_xml_oarchive.hpp
+#usr/include/boost/archive/polymorphic_xml_wiarchive.hpp
+#usr/include/boost/archive/polymorphic_xml_woarchive.hpp
+#usr/include/boost/archive/shared_ptr_helper.hpp
+#usr/include/boost/archive/text_iarchive.hpp
+#usr/include/boost/archive/text_oarchive.hpp
+#usr/include/boost/archive/text_wiarchive.hpp
+#usr/include/boost/archive/text_woarchive.hpp
+#usr/include/boost/archive/tmpdir.hpp
+#usr/include/boost/archive/wcslen.hpp
+#usr/include/boost/archive/xml_archive_exception.hpp
+#usr/include/boost/archive/xml_iarchive.hpp
+#usr/include/boost/archive/xml_oarchive.hpp
+#usr/include/boost/archive/xml_wiarchive.hpp
+#usr/include/boost/archive/xml_woarchive.hpp
+#usr/include/boost/array.hpp
+#usr/include/boost/asio
+#usr/include/boost/asio.hpp
+#usr/include/boost/asio/async_result.hpp
+#usr/include/boost/asio/basic_datagram_socket.hpp
+#usr/include/boost/asio/basic_deadline_timer.hpp
+#usr/include/boost/asio/basic_io_object.hpp
+#usr/include/boost/asio/basic_raw_socket.hpp
+#usr/include/boost/asio/basic_seq_packet_socket.hpp
+#usr/include/boost/asio/basic_serial_port.hpp
+#usr/include/boost/asio/basic_signal_set.hpp
+#usr/include/boost/asio/basic_socket.hpp
+#usr/include/boost/asio/basic_socket_acceptor.hpp
+#usr/include/boost/asio/basic_socket_iostream.hpp
+#usr/include/boost/asio/basic_socket_streambuf.hpp
+#usr/include/boost/asio/basic_stream_socket.hpp
+#usr/include/boost/asio/basic_streambuf.hpp
+#usr/include/boost/asio/basic_streambuf_fwd.hpp
+#usr/include/boost/asio/basic_waitable_timer.hpp
+#usr/include/boost/asio/buffer.hpp
+#usr/include/boost/asio/buffered_read_stream.hpp
+#usr/include/boost/asio/buffered_read_stream_fwd.hpp
+#usr/include/boost/asio/buffered_stream.hpp
+#usr/include/boost/asio/buffered_stream_fwd.hpp
+#usr/include/boost/asio/buffered_write_stream.hpp
+#usr/include/boost/asio/buffered_write_stream_fwd.hpp
+#usr/include/boost/asio/buffers_iterator.hpp
+#usr/include/boost/asio/completion_condition.hpp
+#usr/include/boost/asio/connect.hpp
+#usr/include/boost/asio/coroutine.hpp
+#usr/include/boost/asio/datagram_socket_service.hpp
+#usr/include/boost/asio/deadline_timer.hpp
+#usr/include/boost/asio/deadline_timer_service.hpp
+#usr/include/boost/asio/detail
+#usr/include/boost/asio/detail/addressof.hpp
+#usr/include/boost/asio/detail/array.hpp
+#usr/include/boost/asio/detail/array_fwd.hpp
+#usr/include/boost/asio/detail/assert.hpp
+#usr/include/boost/asio/detail/atomic_count.hpp
+#usr/include/boost/asio/detail/base_from_completion_cond.hpp
+#usr/include/boost/asio/detail/bind_handler.hpp
+#usr/include/boost/asio/detail/buffer_resize_guard.hpp
+#usr/include/boost/asio/detail/buffer_sequence_adapter.hpp
+#usr/include/boost/asio/detail/buffered_stream_storage.hpp
+#usr/include/boost/asio/detail/call_stack.hpp
+#usr/include/boost/asio/detail/chrono_time_traits.hpp
+#usr/include/boost/asio/detail/completion_handler.hpp
+#usr/include/boost/asio/detail/config.hpp
+#usr/include/boost/asio/detail/consuming_buffers.hpp
+#usr/include/boost/asio/detail/cstdint.hpp
+#usr/include/boost/asio/detail/date_time_fwd.hpp
+#usr/include/boost/asio/detail/deadline_timer_service.hpp
+#usr/include/boost/asio/detail/dependent_type.hpp
+#usr/include/boost/asio/detail/descriptor_ops.hpp
+#usr/include/boost/asio/detail/descriptor_read_op.hpp
+#usr/include/boost/asio/detail/descriptor_write_op.hpp
+#usr/include/boost/asio/detail/dev_poll_reactor.hpp
+#usr/include/boost/asio/detail/epoll_reactor.hpp
+#usr/include/boost/asio/detail/event.hpp
+#usr/include/boost/asio/detail/eventfd_select_interrupter.hpp
+#usr/include/boost/asio/detail/fd_set_adapter.hpp
+#usr/include/boost/asio/detail/fenced_block.hpp
+#usr/include/boost/asio/detail/function.hpp
+#usr/include/boost/asio/detail/gcc_arm_fenced_block.hpp
+#usr/include/boost/asio/detail/gcc_hppa_fenced_block.hpp
+#usr/include/boost/asio/detail/gcc_sync_fenced_block.hpp
+#usr/include/boost/asio/detail/gcc_x86_fenced_block.hpp
+#usr/include/boost/asio/detail/handler_alloc_helpers.hpp
+#usr/include/boost/asio/detail/handler_cont_helpers.hpp
+#usr/include/boost/asio/detail/handler_invoke_helpers.hpp
+#usr/include/boost/asio/detail/handler_tracking.hpp
+#usr/include/boost/asio/detail/handler_type_requirements.hpp
+#usr/include/boost/asio/detail/hash_map.hpp
+#usr/include/boost/asio/detail/impl
+#usr/include/boost/asio/detail/impl/buffer_sequence_adapter.ipp
+#usr/include/boost/asio/detail/impl/descriptor_ops.ipp
+#usr/include/boost/asio/detail/impl/dev_poll_reactor.hpp
+#usr/include/boost/asio/detail/impl/dev_poll_reactor.ipp
+#usr/include/boost/asio/detail/impl/epoll_reactor.hpp
+#usr/include/boost/asio/detail/impl/epoll_reactor.ipp
+#usr/include/boost/asio/detail/impl/eventfd_select_interrupter.ipp
+#usr/include/boost/asio/detail/impl/handler_tracking.ipp
+#usr/include/boost/asio/detail/impl/kqueue_reactor.hpp
+#usr/include/boost/asio/detail/impl/kqueue_reactor.ipp
+#usr/include/boost/asio/detail/impl/pipe_select_interrupter.ipp
+#usr/include/boost/asio/detail/impl/posix_event.ipp
+#usr/include/boost/asio/detail/impl/posix_mutex.ipp
+#usr/include/boost/asio/detail/impl/posix_thread.ipp
+#usr/include/boost/asio/detail/impl/posix_tss_ptr.ipp
+#usr/include/boost/asio/detail/impl/reactive_descriptor_service.ipp
+#usr/include/boost/asio/detail/impl/reactive_serial_port_service.ipp
+#usr/include/boost/asio/detail/impl/reactive_socket_service_base.ipp
+#usr/include/boost/asio/detail/impl/resolver_service_base.ipp
+#usr/include/boost/asio/detail/impl/select_reactor.hpp
+#usr/include/boost/asio/detail/impl/select_reactor.ipp
+#usr/include/boost/asio/detail/impl/service_registry.hpp
+#usr/include/boost/asio/detail/impl/service_registry.ipp
+#usr/include/boost/asio/detail/impl/signal_set_service.ipp
+#usr/include/boost/asio/detail/impl/socket_ops.ipp
+#usr/include/boost/asio/detail/impl/socket_select_interrupter.ipp
+#usr/include/boost/asio/detail/impl/strand_service.hpp
+#usr/include/boost/asio/detail/impl/strand_service.ipp
+#usr/include/boost/asio/detail/impl/task_io_service.hpp
+#usr/include/boost/asio/detail/impl/task_io_service.ipp
+#usr/include/boost/asio/detail/impl/throw_error.ipp
+#usr/include/boost/asio/detail/impl/timer_queue_ptime.ipp
+#usr/include/boost/asio/detail/impl/timer_queue_set.ipp
+#usr/include/boost/asio/detail/impl/win_event.ipp
+#usr/include/boost/asio/detail/impl/win_iocp_handle_service.ipp
+#usr/include/boost/asio/detail/impl/win_iocp_io_service.hpp
+#usr/include/boost/asio/detail/impl/win_iocp_io_service.ipp
+#usr/include/boost/asio/detail/impl/win_iocp_serial_port_service.ipp
+#usr/include/boost/asio/detail/impl/win_iocp_socket_service_base.ipp
+#usr/include/boost/asio/detail/impl/win_mutex.ipp
+#usr/include/boost/asio/detail/impl/win_object_handle_service.ipp
+#usr/include/boost/asio/detail/impl/win_static_mutex.ipp
+#usr/include/boost/asio/detail/impl/win_thread.ipp
+#usr/include/boost/asio/detail/impl/win_tss_ptr.ipp
+#usr/include/boost/asio/detail/impl/winrt_ssocket_service_base.ipp
+#usr/include/boost/asio/detail/impl/winrt_timer_scheduler.hpp
+#usr/include/boost/asio/detail/impl/winrt_timer_scheduler.ipp
+#usr/include/boost/asio/detail/impl/winsock_init.ipp
+#usr/include/boost/asio/detail/io_control.hpp
+#usr/include/boost/asio/detail/keyword_tss_ptr.hpp
+#usr/include/boost/asio/detail/kqueue_reactor.hpp
+#usr/include/boost/asio/detail/limits.hpp
+#usr/include/boost/asio/detail/local_free_on_block_exit.hpp
+#usr/include/boost/asio/detail/macos_fenced_block.hpp
+#usr/include/boost/asio/detail/mutex.hpp
+#usr/include/boost/asio/detail/noncopyable.hpp
+#usr/include/boost/asio/detail/null_event.hpp
+#usr/include/boost/asio/detail/null_fenced_block.hpp
+#usr/include/boost/asio/detail/null_mutex.hpp
+#usr/include/boost/asio/detail/null_reactor.hpp
+#usr/include/boost/asio/detail/null_signal_blocker.hpp
+#usr/include/boost/asio/detail/null_socket_service.hpp
+#usr/include/boost/asio/detail/null_static_mutex.hpp
+#usr/include/boost/asio/detail/null_thread.hpp
+#usr/include/boost/asio/detail/null_tss_ptr.hpp
+#usr/include/boost/asio/detail/object_pool.hpp
+#usr/include/boost/asio/detail/old_win_sdk_compat.hpp
+#usr/include/boost/asio/detail/op_queue.hpp
+#usr/include/boost/asio/detail/operation.hpp
+#usr/include/boost/asio/detail/pipe_select_interrupter.hpp
+#usr/include/boost/asio/detail/pop_options.hpp
+#usr/include/boost/asio/detail/posix_event.hpp
+#usr/include/boost/asio/detail/posix_fd_set_adapter.hpp
+#usr/include/boost/asio/detail/posix_mutex.hpp
+#usr/include/boost/asio/detail/posix_signal_blocker.hpp
+#usr/include/boost/asio/detail/posix_static_mutex.hpp
+#usr/include/boost/asio/detail/posix_thread.hpp
+#usr/include/boost/asio/detail/posix_tss_ptr.hpp
+#usr/include/boost/asio/detail/push_options.hpp
+#usr/include/boost/asio/detail/reactive_descriptor_service.hpp
+#usr/include/boost/asio/detail/reactive_null_buffers_op.hpp
+#usr/include/boost/asio/detail/reactive_serial_port_service.hpp
+#usr/include/boost/asio/detail/reactive_socket_accept_op.hpp
+#usr/include/boost/asio/detail/reactive_socket_connect_op.hpp
+#usr/include/boost/asio/detail/reactive_socket_recv_op.hpp
+#usr/include/boost/asio/detail/reactive_socket_recvfrom_op.hpp
+#usr/include/boost/asio/detail/reactive_socket_recvmsg_op.hpp
+#usr/include/boost/asio/detail/reactive_socket_send_op.hpp
+#usr/include/boost/asio/detail/reactive_socket_sendto_op.hpp
+#usr/include/boost/asio/detail/reactive_socket_service.hpp
+#usr/include/boost/asio/detail/reactive_socket_service_base.hpp
+#usr/include/boost/asio/detail/reactor.hpp
+#usr/include/boost/asio/detail/reactor_fwd.hpp
+#usr/include/boost/asio/detail/reactor_op.hpp
+#usr/include/boost/asio/detail/reactor_op_queue.hpp
+#usr/include/boost/asio/detail/regex_fwd.hpp
+#usr/include/boost/asio/detail/resolve_endpoint_op.hpp
+#usr/include/boost/asio/detail/resolve_op.hpp
+#usr/include/boost/asio/detail/resolver_service.hpp
+#usr/include/boost/asio/detail/resolver_service_base.hpp
+#usr/include/boost/asio/detail/scoped_lock.hpp
+#usr/include/boost/asio/detail/scoped_ptr.hpp
+#usr/include/boost/asio/detail/select_interrupter.hpp
+#usr/include/boost/asio/detail/select_reactor.hpp
+#usr/include/boost/asio/detail/service_registry.hpp
+#usr/include/boost/asio/detail/shared_ptr.hpp
+#usr/include/boost/asio/detail/signal_blocker.hpp
+#usr/include/boost/asio/detail/signal_handler.hpp
+#usr/include/boost/asio/detail/signal_init.hpp
+#usr/include/boost/asio/detail/signal_op.hpp
+#usr/include/boost/asio/detail/signal_set_service.hpp
+#usr/include/boost/asio/detail/socket_holder.hpp
+#usr/include/boost/asio/detail/socket_ops.hpp
+#usr/include/boost/asio/detail/socket_option.hpp
+#usr/include/boost/asio/detail/socket_select_interrupter.hpp
+#usr/include/boost/asio/detail/socket_types.hpp
+#usr/include/boost/asio/detail/solaris_fenced_block.hpp
+#usr/include/boost/asio/detail/static_mutex.hpp
+#usr/include/boost/asio/detail/std_event.hpp
+#usr/include/boost/asio/detail/std_mutex.hpp
+#usr/include/boost/asio/detail/std_static_mutex.hpp
+#usr/include/boost/asio/detail/std_thread.hpp
+#usr/include/boost/asio/detail/strand_service.hpp
+#usr/include/boost/asio/detail/task_io_service.hpp
+#usr/include/boost/asio/detail/task_io_service_operation.hpp
+#usr/include/boost/asio/detail/task_io_service_thread_info.hpp
+#usr/include/boost/asio/detail/thread.hpp
+#usr/include/boost/asio/detail/thread_info_base.hpp
+#usr/include/boost/asio/detail/throw_error.hpp
+#usr/include/boost/asio/detail/throw_exception.hpp
+#usr/include/boost/asio/detail/timer_queue.hpp
+#usr/include/boost/asio/detail/timer_queue_base.hpp
+#usr/include/boost/asio/detail/timer_queue_ptime.hpp
+#usr/include/boost/asio/detail/timer_queue_set.hpp
+#usr/include/boost/asio/detail/timer_scheduler.hpp
+#usr/include/boost/asio/detail/timer_scheduler_fwd.hpp
+#usr/include/boost/asio/detail/tss_ptr.hpp
+#usr/include/boost/asio/detail/type_traits.hpp
+#usr/include/boost/asio/detail/variadic_templates.hpp
+#usr/include/boost/asio/detail/wait_handler.hpp
+#usr/include/boost/asio/detail/wait_op.hpp
+#usr/include/boost/asio/detail/weak_ptr.hpp
+#usr/include/boost/asio/detail/win_event.hpp
+#usr/include/boost/asio/detail/win_fd_set_adapter.hpp
+#usr/include/boost/asio/detail/win_fenced_block.hpp
+#usr/include/boost/asio/detail/win_iocp_handle_read_op.hpp
+#usr/include/boost/asio/detail/win_iocp_handle_service.hpp
+#usr/include/boost/asio/detail/win_iocp_handle_write_op.hpp
+#usr/include/boost/asio/detail/win_iocp_io_service.hpp
+#usr/include/boost/asio/detail/win_iocp_null_buffers_op.hpp
+#usr/include/boost/asio/detail/win_iocp_operation.hpp
+#usr/include/boost/asio/detail/win_iocp_overlapped_op.hpp
+#usr/include/boost/asio/detail/win_iocp_overlapped_ptr.hpp
+#usr/include/boost/asio/detail/win_iocp_serial_port_service.hpp
+#usr/include/boost/asio/detail/win_iocp_socket_accept_op.hpp
+#usr/include/boost/asio/detail/win_iocp_socket_recv_op.hpp
+#usr/include/boost/asio/detail/win_iocp_socket_recvfrom_op.hpp
+#usr/include/boost/asio/detail/win_iocp_socket_recvmsg_op.hpp
+#usr/include/boost/asio/detail/win_iocp_socket_send_op.hpp
+#usr/include/boost/asio/detail/win_iocp_socket_service.hpp
+#usr/include/boost/asio/detail/win_iocp_socket_service_base.hpp
+#usr/include/boost/asio/detail/win_iocp_thread_info.hpp
+#usr/include/boost/asio/detail/win_mutex.hpp
+#usr/include/boost/asio/detail/win_object_handle_service.hpp
+#usr/include/boost/asio/detail/win_static_mutex.hpp
+#usr/include/boost/asio/detail/win_thread.hpp
+#usr/include/boost/asio/detail/win_tss_ptr.hpp
+#usr/include/boost/asio/detail/wince_thread.hpp
+#usr/include/boost/asio/detail/winrt_async_manager.hpp
+#usr/include/boost/asio/detail/winrt_async_op.hpp
+#usr/include/boost/asio/detail/winrt_resolve_op.hpp
+#usr/include/boost/asio/detail/winrt_resolver_service.hpp
+#usr/include/boost/asio/detail/winrt_socket_connect_op.hpp
+#usr/include/boost/asio/detail/winrt_socket_recv_op.hpp
+#usr/include/boost/asio/detail/winrt_socket_send_op.hpp
+#usr/include/boost/asio/detail/winrt_ssocket_service.hpp
+#usr/include/boost/asio/detail/winrt_ssocket_service_base.hpp
+#usr/include/boost/asio/detail/winrt_timer_scheduler.hpp
+#usr/include/boost/asio/detail/winrt_utils.hpp
+#usr/include/boost/asio/detail/winsock_init.hpp
+#usr/include/boost/asio/detail/wrapped_handler.hpp
+#usr/include/boost/asio/error.hpp
+#usr/include/boost/asio/generic
+#usr/include/boost/asio/generic/basic_endpoint.hpp
+#usr/include/boost/asio/generic/datagram_protocol.hpp
+#usr/include/boost/asio/generic/detail
+#usr/include/boost/asio/generic/detail/endpoint.hpp
+#usr/include/boost/asio/generic/detail/impl
+#usr/include/boost/asio/generic/detail/impl/endpoint.ipp
+#usr/include/boost/asio/generic/raw_protocol.hpp
+#usr/include/boost/asio/generic/seq_packet_protocol.hpp
+#usr/include/boost/asio/generic/stream_protocol.hpp
+#usr/include/boost/asio/handler_alloc_hook.hpp
+#usr/include/boost/asio/handler_continuation_hook.hpp
+#usr/include/boost/asio/handler_invoke_hook.hpp
+#usr/include/boost/asio/handler_type.hpp
+#usr/include/boost/asio/high_resolution_timer.hpp
+#usr/include/boost/asio/impl
+#usr/include/boost/asio/impl/buffered_read_stream.hpp
+#usr/include/boost/asio/impl/buffered_write_stream.hpp
+#usr/include/boost/asio/impl/connect.hpp
+#usr/include/boost/asio/impl/error.ipp
+#usr/include/boost/asio/impl/handler_alloc_hook.ipp
+#usr/include/boost/asio/impl/io_service.hpp
+#usr/include/boost/asio/impl/io_service.ipp
+#usr/include/boost/asio/impl/read.hpp
+#usr/include/boost/asio/impl/read_at.hpp
+#usr/include/boost/asio/impl/read_until.hpp
+#usr/include/boost/asio/impl/serial_port_base.hpp
+#usr/include/boost/asio/impl/serial_port_base.ipp
+#usr/include/boost/asio/impl/spawn.hpp
+#usr/include/boost/asio/impl/src.hpp
+#usr/include/boost/asio/impl/use_future.hpp
+#usr/include/boost/asio/impl/write.hpp
+#usr/include/boost/asio/impl/write_at.hpp
+#usr/include/boost/asio/io_service.hpp
+#usr/include/boost/asio/ip
+#usr/include/boost/asio/ip/address.hpp
+#usr/include/boost/asio/ip/address_v4.hpp
+#usr/include/boost/asio/ip/address_v6.hpp
+#usr/include/boost/asio/ip/basic_endpoint.hpp
+#usr/include/boost/asio/ip/basic_resolver.hpp
+#usr/include/boost/asio/ip/basic_resolver_entry.hpp
+#usr/include/boost/asio/ip/basic_resolver_iterator.hpp
+#usr/include/boost/asio/ip/basic_resolver_query.hpp
+#usr/include/boost/asio/ip/detail
+#usr/include/boost/asio/ip/detail/endpoint.hpp
+#usr/include/boost/asio/ip/detail/impl
+#usr/include/boost/asio/ip/detail/impl/endpoint.ipp
+#usr/include/boost/asio/ip/detail/socket_option.hpp
+#usr/include/boost/asio/ip/host_name.hpp
+#usr/include/boost/asio/ip/icmp.hpp
+#usr/include/boost/asio/ip/impl
+#usr/include/boost/asio/ip/impl/address.hpp
+#usr/include/boost/asio/ip/impl/address.ipp
+#usr/include/boost/asio/ip/impl/address_v4.hpp
+#usr/include/boost/asio/ip/impl/address_v4.ipp
+#usr/include/boost/asio/ip/impl/address_v6.hpp
+#usr/include/boost/asio/ip/impl/address_v6.ipp
+#usr/include/boost/asio/ip/impl/basic_endpoint.hpp
+#usr/include/boost/asio/ip/impl/host_name.ipp
+#usr/include/boost/asio/ip/multicast.hpp
+#usr/include/boost/asio/ip/resolver_query_base.hpp
+#usr/include/boost/asio/ip/resolver_service.hpp
+#usr/include/boost/asio/ip/tcp.hpp
+#usr/include/boost/asio/ip/udp.hpp
+#usr/include/boost/asio/ip/unicast.hpp
+#usr/include/boost/asio/ip/v6_only.hpp
+#usr/include/boost/asio/is_read_buffered.hpp
+#usr/include/boost/asio/is_write_buffered.hpp
+#usr/include/boost/asio/local
+#usr/include/boost/asio/local/basic_endpoint.hpp
+#usr/include/boost/asio/local/connect_pair.hpp
+#usr/include/boost/asio/local/datagram_protocol.hpp
+#usr/include/boost/asio/local/detail
+#usr/include/boost/asio/local/detail/endpoint.hpp
+#usr/include/boost/asio/local/detail/impl
+#usr/include/boost/asio/local/detail/impl/endpoint.ipp
+#usr/include/boost/asio/local/stream_protocol.hpp
+#usr/include/boost/asio/placeholders.hpp
+#usr/include/boost/asio/posix
+#usr/include/boost/asio/posix/basic_descriptor.hpp
+#usr/include/boost/asio/posix/basic_stream_descriptor.hpp
+#usr/include/boost/asio/posix/descriptor_base.hpp
+#usr/include/boost/asio/posix/stream_descriptor.hpp
+#usr/include/boost/asio/posix/stream_descriptor_service.hpp
+#usr/include/boost/asio/raw_socket_service.hpp
+#usr/include/boost/asio/read.hpp
+#usr/include/boost/asio/read_at.hpp
+#usr/include/boost/asio/read_until.hpp
+#usr/include/boost/asio/seq_packet_socket_service.hpp
+#usr/include/boost/asio/serial_port.hpp
+#usr/include/boost/asio/serial_port_base.hpp
+#usr/include/boost/asio/serial_port_service.hpp
+#usr/include/boost/asio/signal_set.hpp
+#usr/include/boost/asio/signal_set_service.hpp
+#usr/include/boost/asio/socket_acceptor_service.hpp
+#usr/include/boost/asio/socket_base.hpp
+#usr/include/boost/asio/spawn.hpp
+#usr/include/boost/asio/ssl
+#usr/include/boost/asio/ssl.hpp
+#usr/include/boost/asio/ssl/basic_context.hpp
+#usr/include/boost/asio/ssl/context.hpp
+#usr/include/boost/asio/ssl/context_base.hpp
+#usr/include/boost/asio/ssl/context_service.hpp
+#usr/include/boost/asio/ssl/detail
+#usr/include/boost/asio/ssl/detail/buffered_handshake_op.hpp
+#usr/include/boost/asio/ssl/detail/engine.hpp
+#usr/include/boost/asio/ssl/detail/handshake_op.hpp
+#usr/include/boost/asio/ssl/detail/impl
+#usr/include/boost/asio/ssl/detail/impl/engine.ipp
+#usr/include/boost/asio/ssl/detail/impl/openssl_init.ipp
+#usr/include/boost/asio/ssl/detail/io.hpp
+#usr/include/boost/asio/ssl/detail/openssl_init.hpp
+#usr/include/boost/asio/ssl/detail/openssl_types.hpp
+#usr/include/boost/asio/ssl/detail/password_callback.hpp
+#usr/include/boost/asio/ssl/detail/read_op.hpp
+#usr/include/boost/asio/ssl/detail/shutdown_op.hpp
+#usr/include/boost/asio/ssl/detail/stream_core.hpp
+#usr/include/boost/asio/ssl/detail/verify_callback.hpp
+#usr/include/boost/asio/ssl/detail/write_op.hpp
+#usr/include/boost/asio/ssl/error.hpp
+#usr/include/boost/asio/ssl/impl
+#usr/include/boost/asio/ssl/impl/context.hpp
+#usr/include/boost/asio/ssl/impl/context.ipp
+#usr/include/boost/asio/ssl/impl/error.ipp
+#usr/include/boost/asio/ssl/impl/rfc2818_verification.ipp
+#usr/include/boost/asio/ssl/impl/src.hpp
+#usr/include/boost/asio/ssl/old
+#usr/include/boost/asio/ssl/old/basic_context.hpp
+#usr/include/boost/asio/ssl/old/context_service.hpp
+#usr/include/boost/asio/ssl/old/detail
+#usr/include/boost/asio/ssl/old/detail/openssl_context_service.hpp
+#usr/include/boost/asio/ssl/old/detail/openssl_operation.hpp
+#usr/include/boost/asio/ssl/old/detail/openssl_stream_service.hpp
+#usr/include/boost/asio/ssl/old/stream.hpp
+#usr/include/boost/asio/ssl/old/stream_service.hpp
+#usr/include/boost/asio/ssl/rfc2818_verification.hpp
+#usr/include/boost/asio/ssl/stream.hpp
+#usr/include/boost/asio/ssl/stream_base.hpp
+#usr/include/boost/asio/ssl/stream_service.hpp
+#usr/include/boost/asio/ssl/verify_context.hpp
+#usr/include/boost/asio/ssl/verify_mode.hpp
+#usr/include/boost/asio/steady_timer.hpp
+#usr/include/boost/asio/strand.hpp
+#usr/include/boost/asio/stream_socket_service.hpp
+#usr/include/boost/asio/streambuf.hpp
+#usr/include/boost/asio/system_timer.hpp
+#usr/include/boost/asio/time_traits.hpp
+#usr/include/boost/asio/unyield.hpp
+#usr/include/boost/asio/use_future.hpp
+#usr/include/boost/asio/version.hpp
+#usr/include/boost/asio/wait_traits.hpp
+#usr/include/boost/asio/waitable_timer_service.hpp
+#usr/include/boost/asio/windows
+#usr/include/boost/asio/windows/basic_handle.hpp
+#usr/include/boost/asio/windows/basic_object_handle.hpp
+#usr/include/boost/asio/windows/basic_random_access_handle.hpp
+#usr/include/boost/asio/windows/basic_stream_handle.hpp
+#usr/include/boost/asio/windows/object_handle.hpp
+#usr/include/boost/asio/windows/object_handle_service.hpp
+#usr/include/boost/asio/windows/overlapped_ptr.hpp
+#usr/include/boost/asio/windows/random_access_handle.hpp
+#usr/include/boost/asio/windows/random_access_handle_service.hpp
+#usr/include/boost/asio/windows/stream_handle.hpp
+#usr/include/boost/asio/windows/stream_handle_service.hpp
+#usr/include/boost/asio/write.hpp
+#usr/include/boost/asio/write_at.hpp
+#usr/include/boost/asio/yield.hpp
+#usr/include/boost/assert.hpp
+#usr/include/boost/assign
+#usr/include/boost/assign.hpp
+#usr/include/boost/assign/assignment_exception.hpp
+#usr/include/boost/assign/list_inserter.hpp
+#usr/include/boost/assign/list_of.hpp
+#usr/include/boost/assign/ptr_list_inserter.hpp
+#usr/include/boost/assign/ptr_list_of.hpp
+#usr/include/boost/assign/ptr_map_inserter.hpp
+#usr/include/boost/assign/std
+#usr/include/boost/assign/std.hpp
+#usr/include/boost/assign/std/deque.hpp
+#usr/include/boost/assign/std/list.hpp
+#usr/include/boost/assign/std/map.hpp
+#usr/include/boost/assign/std/queue.hpp
+#usr/include/boost/assign/std/set.hpp
+#usr/include/boost/assign/std/slist.hpp
+#usr/include/boost/assign/std/stack.hpp
+#usr/include/boost/assign/std/vector.hpp
+#usr/include/boost/atomic
+#usr/include/boost/atomic.hpp
+#usr/include/boost/atomic/atomic.hpp
+#usr/include/boost/atomic/detail
+#usr/include/boost/atomic/detail/base.hpp
+#usr/include/boost/atomic/detail/cas128strong.hpp
+#usr/include/boost/atomic/detail/cas32strong.hpp
+#usr/include/boost/atomic/detail/cas32weak.hpp
+#usr/include/boost/atomic/detail/cas64strong-ptr.hpp
+#usr/include/boost/atomic/detail/cas64strong.hpp
+#usr/include/boost/atomic/detail/config.hpp
+#usr/include/boost/atomic/detail/gcc-alpha.hpp
+#usr/include/boost/atomic/detail/gcc-armv6plus.hpp
+#usr/include/boost/atomic/detail/gcc-atomic.hpp
+#usr/include/boost/atomic/detail/gcc-cas.hpp
+#usr/include/boost/atomic/detail/gcc-ppc.hpp
+#usr/include/boost/atomic/detail/gcc-sparcv9.hpp
+#usr/include/boost/atomic/detail/gcc-x86.hpp
+#usr/include/boost/atomic/detail/generic-cas.hpp
+#usr/include/boost/atomic/detail/interlocked.hpp
+#usr/include/boost/atomic/detail/link.hpp
+#usr/include/boost/atomic/detail/linux-arm.hpp
+#usr/include/boost/atomic/detail/lockpool.hpp
+#usr/include/boost/atomic/detail/platform.hpp
+#usr/include/boost/atomic/detail/type-classification.hpp
+#usr/include/boost/atomic/detail/windows.hpp
+#usr/include/boost/bimap
+#usr/include/boost/bimap.hpp
+#usr/include/boost/bimap/bimap.hpp
+#usr/include/boost/bimap/container_adaptor
+#usr/include/boost/bimap/container_adaptor/associative_container_adaptor.hpp
+#usr/include/boost/bimap/container_adaptor/container_adaptor.hpp
+#usr/include/boost/bimap/container_adaptor/detail
+#usr/include/boost/bimap/container_adaptor/detail/comparison_adaptor.hpp
+#usr/include/boost/bimap/container_adaptor/detail/functor_bag.hpp
+#usr/include/boost/bimap/container_adaptor/detail/identity_converters.hpp
+#usr/include/boost/bimap/container_adaptor/detail/key_extractor.hpp
+#usr/include/boost/bimap/container_adaptor/detail/non_unique_container_helper.hpp
+#usr/include/boost/bimap/container_adaptor/list_adaptor.hpp
+#usr/include/boost/bimap/container_adaptor/list_map_adaptor.hpp
+#usr/include/boost/bimap/container_adaptor/map_adaptor.hpp
+#usr/include/boost/bimap/container_adaptor/multimap_adaptor.hpp
+#usr/include/boost/bimap/container_adaptor/multiset_adaptor.hpp
+#usr/include/boost/bimap/container_adaptor/ordered_associative_container_adaptor.hpp
+#usr/include/boost/bimap/container_adaptor/sequence_container_adaptor.hpp
+#usr/include/boost/bimap/container_adaptor/set_adaptor.hpp
+#usr/include/boost/bimap/container_adaptor/support
+#usr/include/boost/bimap/container_adaptor/support/iterator_facade_converters.hpp
+#usr/include/boost/bimap/container_adaptor/unordered_associative_container_adaptor.hpp
+#usr/include/boost/bimap/container_adaptor/unordered_map_adaptor.hpp
+#usr/include/boost/bimap/container_adaptor/unordered_multimap_adaptor.hpp
+#usr/include/boost/bimap/container_adaptor/unordered_multiset_adaptor.hpp
+#usr/include/boost/bimap/container_adaptor/unordered_set_adaptor.hpp
+#usr/include/boost/bimap/container_adaptor/vector_adaptor.hpp
+#usr/include/boost/bimap/container_adaptor/vector_map_adaptor.hpp
+#usr/include/boost/bimap/detail
+#usr/include/boost/bimap/detail/bimap_core.hpp
+#usr/include/boost/bimap/detail/concept_tags.hpp
+#usr/include/boost/bimap/detail/debug
+#usr/include/boost/bimap/detail/debug/static_error.hpp
+#usr/include/boost/bimap/detail/generate_index_binder.hpp
+#usr/include/boost/bimap/detail/generate_relation_binder.hpp
+#usr/include/boost/bimap/detail/generate_view_binder.hpp
+#usr/include/boost/bimap/detail/is_set_type_of.hpp
+#usr/include/boost/bimap/detail/manage_additional_parameters.hpp
+#usr/include/boost/bimap/detail/manage_bimap_key.hpp
+#usr/include/boost/bimap/detail/map_view_base.hpp
+#usr/include/boost/bimap/detail/map_view_iterator.hpp
+#usr/include/boost/bimap/detail/modifier_adaptor.hpp
+#usr/include/boost/bimap/detail/non_unique_views_helper.hpp
+#usr/include/boost/bimap/detail/set_view_base.hpp
+#usr/include/boost/bimap/detail/set_view_iterator.hpp
+#usr/include/boost/bimap/detail/test
+#usr/include/boost/bimap/detail/test/check_metadata.hpp
+#usr/include/boost/bimap/detail/user_interface_config.hpp
+#usr/include/boost/bimap/list_of.hpp
+#usr/include/boost/bimap/multiset_of.hpp
+#usr/include/boost/bimap/property_map
+#usr/include/boost/bimap/property_map/set_support.hpp
+#usr/include/boost/bimap/property_map/unordered_set_support.hpp
+#usr/include/boost/bimap/relation
+#usr/include/boost/bimap/relation/detail
+#usr/include/boost/bimap/relation/detail/access_builder.hpp
+#usr/include/boost/bimap/relation/detail/metadata_access_builder.hpp
+#usr/include/boost/bimap/relation/detail/mutant.hpp
+#usr/include/boost/bimap/relation/detail/static_access_builder.hpp
+#usr/include/boost/bimap/relation/detail/to_mutable_relation_functor.hpp
+#usr/include/boost/bimap/relation/member_at.hpp
+#usr/include/boost/bimap/relation/mutant_relation.hpp
+#usr/include/boost/bimap/relation/pair_layout.hpp
+#usr/include/boost/bimap/relation/structured_pair.hpp
+#usr/include/boost/bimap/relation/support
+#usr/include/boost/bimap/relation/support/data_extractor.hpp
+#usr/include/boost/bimap/relation/support/get.hpp
+#usr/include/boost/bimap/relation/support/get_pair_functor.hpp
+#usr/include/boost/bimap/relation/support/is_tag_of_member_at.hpp
+#usr/include/boost/bimap/relation/support/member_with_tag.hpp
+#usr/include/boost/bimap/relation/support/opposite_tag.hpp
+#usr/include/boost/bimap/relation/support/pair_by.hpp
+#usr/include/boost/bimap/relation/support/pair_type_by.hpp
+#usr/include/boost/bimap/relation/support/value_type_of.hpp
+#usr/include/boost/bimap/relation/symmetrical_base.hpp
+#usr/include/boost/bimap/set_of.hpp
+#usr/include/boost/bimap/support
+#usr/include/boost/bimap/support/data_type_by.hpp
+#usr/include/boost/bimap/support/iterator_type_by.hpp
+#usr/include/boost/bimap/support/key_type_by.hpp
+#usr/include/boost/bimap/support/lambda.hpp
+#usr/include/boost/bimap/support/map_by.hpp
+#usr/include/boost/bimap/support/map_type_by.hpp
+#usr/include/boost/bimap/support/value_type_by.hpp
+#usr/include/boost/bimap/tags
+#usr/include/boost/bimap/tags/support
+#usr/include/boost/bimap/tags/support/apply_to_value_type.hpp
+#usr/include/boost/bimap/tags/support/default_tagged.hpp
+#usr/include/boost/bimap/tags/support/is_tagged.hpp
+#usr/include/boost/bimap/tags/support/overwrite_tagged.hpp
+#usr/include/boost/bimap/tags/support/tag_of.hpp
+#usr/include/boost/bimap/tags/support/value_type_of.hpp
+#usr/include/boost/bimap/tags/tagged.hpp
+#usr/include/boost/bimap/unconstrained_set_of.hpp
+#usr/include/boost/bimap/unordered_multiset_of.hpp
+#usr/include/boost/bimap/unordered_set_of.hpp
+#usr/include/boost/bimap/vector_of.hpp
+#usr/include/boost/bimap/views
+#usr/include/boost/bimap/views/list_map_view.hpp
+#usr/include/boost/bimap/views/list_set_view.hpp
+#usr/include/boost/bimap/views/map_view.hpp
+#usr/include/boost/bimap/views/multimap_view.hpp
+#usr/include/boost/bimap/views/multiset_view.hpp
+#usr/include/boost/bimap/views/set_view.hpp
+#usr/include/boost/bimap/views/unconstrained_map_view.hpp
+#usr/include/boost/bimap/views/unconstrained_set_view.hpp
+#usr/include/boost/bimap/views/unordered_map_view.hpp
+#usr/include/boost/bimap/views/unordered_multimap_view.hpp
+#usr/include/boost/bimap/views/unordered_multiset_view.hpp
+#usr/include/boost/bimap/views/unordered_set_view.hpp
+#usr/include/boost/bimap/views/vector_map_view.hpp
+#usr/include/boost/bimap/views/vector_set_view.hpp
+#usr/include/boost/bind
+#usr/include/boost/bind.hpp
+#usr/include/boost/bind/apply.hpp
+#usr/include/boost/bind/arg.hpp
+#usr/include/boost/bind/bind.hpp
+#usr/include/boost/bind/bind_cc.hpp
+#usr/include/boost/bind/bind_mf2_cc.hpp
+#usr/include/boost/bind/bind_mf_cc.hpp
+#usr/include/boost/bind/bind_template.hpp
+#usr/include/boost/bind/make_adaptable.hpp
+#usr/include/boost/bind/mem_fn.hpp
+#usr/include/boost/bind/mem_fn_cc.hpp
+#usr/include/boost/bind/mem_fn_template.hpp
+#usr/include/boost/bind/mem_fn_vw.hpp
+#usr/include/boost/bind/placeholders.hpp
+#usr/include/boost/bind/protect.hpp
+#usr/include/boost/bind/storage.hpp
+#usr/include/boost/blank.hpp
+#usr/include/boost/blank_fwd.hpp
+#usr/include/boost/call_traits.hpp
+#usr/include/boost/cast.hpp
+#usr/include/boost/cerrno.hpp
+#usr/include/boost/checked_delete.hpp
+#usr/include/boost/chrono
+#usr/include/boost/chrono.hpp
+#usr/include/boost/chrono/ceil.hpp
+#usr/include/boost/chrono/chrono.hpp
+#usr/include/boost/chrono/chrono_io.hpp
+#usr/include/boost/chrono/clock_string.hpp
+#usr/include/boost/chrono/config.hpp
+#usr/include/boost/chrono/detail
+#usr/include/boost/chrono/detail/inlined
+#usr/include/boost/chrono/detail/inlined/chrono.hpp
+#usr/include/boost/chrono/detail/inlined/mac
+#usr/include/boost/chrono/detail/inlined/mac/chrono.hpp
+#usr/include/boost/chrono/detail/inlined/mac/process_cpu_clocks.hpp
+#usr/include/boost/chrono/detail/inlined/mac/thread_clock.hpp
+#usr/include/boost/chrono/detail/inlined/posix
+#usr/include/boost/chrono/detail/inlined/posix/chrono.hpp
+#usr/include/boost/chrono/detail/inlined/posix/process_cpu_clocks.hpp
+#usr/include/boost/chrono/detail/inlined/posix/thread_clock.hpp
+#usr/include/boost/chrono/detail/inlined/process_cpu_clocks.hpp
+#usr/include/boost/chrono/detail/inlined/thread_clock.hpp
+#usr/include/boost/chrono/detail/inlined/win
+#usr/include/boost/chrono/detail/inlined/win/chrono.hpp
+#usr/include/boost/chrono/detail/inlined/win/process_cpu_clocks.hpp
+#usr/include/boost/chrono/detail/inlined/win/thread_clock.hpp
+#usr/include/boost/chrono/detail/is_evenly_divisible_by.hpp
+#usr/include/boost/chrono/detail/no_warning
+#usr/include/boost/chrono/detail/no_warning/signed_unsigned_cmp.hpp
+#usr/include/boost/chrono/detail/scan_keyword.hpp
+#usr/include/boost/chrono/detail/static_assert.hpp
+#usr/include/boost/chrono/detail/system.hpp
+#usr/include/boost/chrono/duration.hpp
+#usr/include/boost/chrono/floor.hpp
+#usr/include/boost/chrono/include.hpp
+#usr/include/boost/chrono/io
+#usr/include/boost/chrono/io/duration_get.hpp
+#usr/include/boost/chrono/io/duration_io.hpp
+#usr/include/boost/chrono/io/duration_put.hpp
+#usr/include/boost/chrono/io/duration_style.hpp
+#usr/include/boost/chrono/io/duration_units.hpp
+#usr/include/boost/chrono/io/ios_base_state.hpp
+#usr/include/boost/chrono/io/time_point_get.hpp
+#usr/include/boost/chrono/io/time_point_io.hpp
+#usr/include/boost/chrono/io/time_point_put.hpp
+#usr/include/boost/chrono/io/time_point_units.hpp
+#usr/include/boost/chrono/io/timezone.hpp
+#usr/include/boost/chrono/io/utility
+#usr/include/boost/chrono/io/utility/ios_base_state_ptr.hpp
+#usr/include/boost/chrono/io/utility/manip_base.hpp
+#usr/include/boost/chrono/io/utility/to_string.hpp
+#usr/include/boost/chrono/io_v1
+#usr/include/boost/chrono/io_v1/chrono_io.hpp
+#usr/include/boost/chrono/process_cpu_clocks.hpp
+#usr/include/boost/chrono/round.hpp
+#usr/include/boost/chrono/system_clocks.hpp
+#usr/include/boost/chrono/thread_clock.hpp
+#usr/include/boost/chrono/time_point.hpp
+#usr/include/boost/chrono/typeof
+#usr/include/boost/chrono/typeof/boost
+#usr/include/boost/chrono/typeof/boost/chrono
+#usr/include/boost/chrono/typeof/boost/chrono/chrono.hpp
+#usr/include/boost/chrono/typeof/boost/ratio.hpp
+#usr/include/boost/circular_buffer
+#usr/include/boost/circular_buffer.hpp
+#usr/include/boost/circular_buffer/base.hpp
+#usr/include/boost/circular_buffer/debug.hpp
+#usr/include/boost/circular_buffer/details.hpp
+#usr/include/boost/circular_buffer/space_optimized.hpp
+#usr/include/boost/circular_buffer_fwd.hpp
+#usr/include/boost/compatibility
+#usr/include/boost/compatibility/cpp_c_headers
+#usr/include/boost/compatibility/cpp_c_headers/cassert
+#usr/include/boost/compatibility/cpp_c_headers/cctype
+#usr/include/boost/compatibility/cpp_c_headers/cerrno
+#usr/include/boost/compatibility/cpp_c_headers/cfloat
+#usr/include/boost/compatibility/cpp_c_headers/climits
+#usr/include/boost/compatibility/cpp_c_headers/clocale
+#usr/include/boost/compatibility/cpp_c_headers/cmath
+#usr/include/boost/compatibility/cpp_c_headers/csetjmp
+#usr/include/boost/compatibility/cpp_c_headers/csignal
+#usr/include/boost/compatibility/cpp_c_headers/cstdarg
+#usr/include/boost/compatibility/cpp_c_headers/cstddef
+#usr/include/boost/compatibility/cpp_c_headers/cstdio
+#usr/include/boost/compatibility/cpp_c_headers/cstdlib
+#usr/include/boost/compatibility/cpp_c_headers/cstring
+#usr/include/boost/compatibility/cpp_c_headers/ctime
+#usr/include/boost/compatibility/cpp_c_headers/cwchar
+#usr/include/boost/compatibility/cpp_c_headers/cwctype
+#usr/include/boost/compressed_pair.hpp
+#usr/include/boost/concept
+#usr/include/boost/concept/assert.hpp
+#usr/include/boost/concept/detail
+#usr/include/boost/concept/detail/backward_compatibility.hpp
+#usr/include/boost/concept/detail/borland.hpp
+#usr/include/boost/concept/detail/concept_def.hpp
+#usr/include/boost/concept/detail/concept_undef.hpp
+#usr/include/boost/concept/detail/general.hpp
+#usr/include/boost/concept/detail/has_constraints.hpp
+#usr/include/boost/concept/detail/msvc.hpp
+#usr/include/boost/concept/requires.hpp
+#usr/include/boost/concept/usage.hpp
+#usr/include/boost/concept_archetype.hpp
+#usr/include/boost/concept_check
+#usr/include/boost/concept_check.hpp
+#usr/include/boost/concept_check/borland.hpp
+#usr/include/boost/concept_check/general.hpp
+#usr/include/boost/concept_check/has_constraints.hpp
+#usr/include/boost/concept_check/msvc.hpp
+#usr/include/boost/config
+#usr/include/boost/config.hpp
+#usr/include/boost/config/abi
+#usr/include/boost/config/abi/borland_prefix.hpp
+#usr/include/boost/config/abi/borland_suffix.hpp
+#usr/include/boost/config/abi/msvc_prefix.hpp
+#usr/include/boost/config/abi/msvc_suffix.hpp
+#usr/include/boost/config/abi_prefix.hpp
+#usr/include/boost/config/abi_suffix.hpp
+#usr/include/boost/config/auto_link.hpp
+#usr/include/boost/config/compiler
+#usr/include/boost/config/compiler/borland.hpp
+#usr/include/boost/config/compiler/clang.hpp
+#usr/include/boost/config/compiler/codegear.hpp
+#usr/include/boost/config/compiler/comeau.hpp
+#usr/include/boost/config/compiler/common_edg.hpp
+#usr/include/boost/config/compiler/compaq_cxx.hpp
+#usr/include/boost/config/compiler/cray.hpp
+#usr/include/boost/config/compiler/digitalmars.hpp
+#usr/include/boost/config/compiler/gcc.hpp
+#usr/include/boost/config/compiler/gcc_xml.hpp
+#usr/include/boost/config/compiler/greenhills.hpp
+#usr/include/boost/config/compiler/hp_acc.hpp
+#usr/include/boost/config/compiler/intel.hpp
+#usr/include/boost/config/compiler/kai.hpp
+#usr/include/boost/config/compiler/metrowerks.hpp
+#usr/include/boost/config/compiler/mpw.hpp
+#usr/include/boost/config/compiler/nvcc.hpp
+#usr/include/boost/config/compiler/pathscale.hpp
+#usr/include/boost/config/compiler/pgi.hpp
+#usr/include/boost/config/compiler/sgi_mipspro.hpp
+#usr/include/boost/config/compiler/sunpro_cc.hpp
+#usr/include/boost/config/compiler/vacpp.hpp
+#usr/include/boost/config/compiler/visualc.hpp
+#usr/include/boost/config/no_tr1
+#usr/include/boost/config/no_tr1/cmath.hpp
+#usr/include/boost/config/no_tr1/complex.hpp
+#usr/include/boost/config/no_tr1/functional.hpp
+#usr/include/boost/config/no_tr1/memory.hpp
+#usr/include/boost/config/no_tr1/utility.hpp
+#usr/include/boost/config/platform
+#usr/include/boost/config/platform/aix.hpp
+#usr/include/boost/config/platform/amigaos.hpp
+#usr/include/boost/config/platform/beos.hpp
+#usr/include/boost/config/platform/bsd.hpp
+#usr/include/boost/config/platform/cray.hpp
+#usr/include/boost/config/platform/cygwin.hpp
+#usr/include/boost/config/platform/hpux.hpp
+#usr/include/boost/config/platform/irix.hpp
+#usr/include/boost/config/platform/linux.hpp
+#usr/include/boost/config/platform/macos.hpp
+#usr/include/boost/config/platform/qnxnto.hpp
+#usr/include/boost/config/platform/solaris.hpp
+#usr/include/boost/config/platform/symbian.hpp
+#usr/include/boost/config/platform/vms.hpp
+#usr/include/boost/config/platform/vxworks.hpp
+#usr/include/boost/config/platform/win32.hpp
+#usr/include/boost/config/posix_features.hpp
+#usr/include/boost/config/requires_threads.hpp
+#usr/include/boost/config/select_compiler_config.hpp
+#usr/include/boost/config/select_platform_config.hpp
+#usr/include/boost/config/select_stdlib_config.hpp
+#usr/include/boost/config/stdlib
+#usr/include/boost/config/stdlib/dinkumware.hpp
+#usr/include/boost/config/stdlib/libcomo.hpp
+#usr/include/boost/config/stdlib/libcpp.hpp
+#usr/include/boost/config/stdlib/libstdcpp3.hpp
+#usr/include/boost/config/stdlib/modena.hpp
+#usr/include/boost/config/stdlib/msl.hpp
+#usr/include/boost/config/stdlib/roguewave.hpp
+#usr/include/boost/config/stdlib/sgi.hpp
+#usr/include/boost/config/stdlib/stlport.hpp
+#usr/include/boost/config/stdlib/vacpp.hpp
+#usr/include/boost/config/suffix.hpp
+#usr/include/boost/config/user.hpp
+#usr/include/boost/config/warning_disable.hpp
+#usr/include/boost/container
+#usr/include/boost/container/allocator_traits.hpp
+#usr/include/boost/container/container_fwd.hpp
+#usr/include/boost/container/deque.hpp
+#usr/include/boost/container/detail
+#usr/include/boost/container/detail/adaptive_node_pool_impl.hpp
+#usr/include/boost/container/detail/advanced_insert_int.hpp
+#usr/include/boost/container/detail/algorithms.hpp
+#usr/include/boost/container/detail/allocation_type.hpp
+#usr/include/boost/container/detail/allocator_version_traits.hpp
+#usr/include/boost/container/detail/config_begin.hpp
+#usr/include/boost/container/detail/config_end.hpp
+#usr/include/boost/container/detail/destroyers.hpp
+#usr/include/boost/container/detail/flat_tree.hpp
+#usr/include/boost/container/detail/function_detector.hpp
+#usr/include/boost/container/detail/iterators.hpp
+#usr/include/boost/container/detail/math_functions.hpp
+#usr/include/boost/container/detail/memory_util.hpp
+#usr/include/boost/container/detail/mpl.hpp
+#usr/include/boost/container/detail/multiallocation_chain.hpp
+#usr/include/boost/container/detail/node_alloc_holder.hpp
+#usr/include/boost/container/detail/node_pool_impl.hpp
+#usr/include/boost/container/detail/pair.hpp
+#usr/include/boost/container/detail/pool_common.hpp
+#usr/include/boost/container/detail/preprocessor.hpp
+#usr/include/boost/container/detail/transform_iterator.hpp
+#usr/include/boost/container/detail/tree.hpp
+#usr/include/boost/container/detail/type_traits.hpp
+#usr/include/boost/container/detail/utilities.hpp
+#usr/include/boost/container/detail/value_init.hpp
+#usr/include/boost/container/detail/variadic_templates_tools.hpp
+#usr/include/boost/container/detail/version_type.hpp
+#usr/include/boost/container/detail/workaround.hpp
+#usr/include/boost/container/flat_map.hpp
+#usr/include/boost/container/flat_set.hpp
+#usr/include/boost/container/list.hpp
+#usr/include/boost/container/map.hpp
+#usr/include/boost/container/scoped_allocator.hpp
+#usr/include/boost/container/scoped_allocator_fwd.hpp
+#usr/include/boost/container/set.hpp
+#usr/include/boost/container/slist.hpp
+#usr/include/boost/container/stable_vector.hpp
+#usr/include/boost/container/static_vector.hpp
+#usr/include/boost/container/string.hpp
+#usr/include/boost/container/throw_exception.hpp
+#usr/include/boost/container/vector.hpp
+#usr/include/boost/context
+#usr/include/boost/context/all.hpp
+#usr/include/boost/context/detail
+#usr/include/boost/context/detail/config.hpp
+#usr/include/boost/context/detail/fcontext_arm.hpp
+#usr/include/boost/context/detail/fcontext_i386.hpp
+#usr/include/boost/context/detail/fcontext_i386_win.hpp
+#usr/include/boost/context/detail/fcontext_mips.hpp
+#usr/include/boost/context/detail/fcontext_ppc.hpp
+#usr/include/boost/context/detail/fcontext_sparc.hpp
+#usr/include/boost/context/detail/fcontext_x86_64.hpp
+#usr/include/boost/context/detail/fcontext_x86_64_win.hpp
+#usr/include/boost/context/fcontext.hpp
+#usr/include/boost/coroutine
+#usr/include/boost/coroutine/all.hpp
+#usr/include/boost/coroutine/attributes.hpp
+#usr/include/boost/coroutine/checkpoint.hpp
+#usr/include/boost/coroutine/coroutine.hpp
+#usr/include/boost/coroutine/detail
+#usr/include/boost/coroutine/detail/config.hpp
+#usr/include/boost/coroutine/detail/coroutine_context.hpp
+#usr/include/boost/coroutine/detail/exceptions.hpp
+#usr/include/boost/coroutine/detail/flags.hpp
+#usr/include/boost/coroutine/detail/holder.hpp
+#usr/include/boost/coroutine/detail/param.hpp
+#usr/include/boost/coroutine/detail/segmented_stack_allocator.hpp
+#usr/include/boost/coroutine/detail/stack_tuple.hpp
+#usr/include/boost/coroutine/detail/standard_stack_allocator.hpp
+#usr/include/boost/coroutine/detail/trampoline.hpp
+#usr/include/boost/coroutine/exceptions.hpp
+#usr/include/boost/coroutine/flags.hpp
+#usr/include/boost/coroutine/stack_allocator.hpp
+#usr/include/boost/coroutine/stack_context.hpp
+#usr/include/boost/coroutine/v1
+#usr/include/boost/coroutine/v1/coroutine.hpp
+#usr/include/boost/coroutine/v1/detail
+#usr/include/boost/coroutine/v1/detail/arg.hpp
+#usr/include/boost/coroutine/v1/detail/coroutine_base.hpp
+#usr/include/boost/coroutine/v1/detail/coroutine_base_resume.hpp
+#usr/include/boost/coroutine/v1/detail/coroutine_caller.hpp
+#usr/include/boost/coroutine/v1/detail/coroutine_get.hpp
+#usr/include/boost/coroutine/v1/detail/coroutine_object.hpp
+#usr/include/boost/coroutine/v1/detail/coroutine_object_result_0.ipp
+#usr/include/boost/coroutine/v1/detail/coroutine_object_result_1.ipp
+#usr/include/boost/coroutine/v1/detail/coroutine_object_result_arity.ipp
+#usr/include/boost/coroutine/v1/detail/coroutine_object_void_0.ipp
+#usr/include/boost/coroutine/v1/detail/coroutine_object_void_1.ipp
+#usr/include/boost/coroutine/v1/detail/coroutine_object_void_arity.ipp
+#usr/include/boost/coroutine/v1/detail/coroutine_op.hpp
+#usr/include/boost/coroutine/v2
+#usr/include/boost/coroutine/v2/coroutine.hpp
+#usr/include/boost/coroutine/v2/detail
+#usr/include/boost/coroutine/v2/detail/pull_coroutine_base.hpp
+#usr/include/boost/coroutine/v2/detail/pull_coroutine_caller.hpp
+#usr/include/boost/coroutine/v2/detail/pull_coroutine_object.hpp
+#usr/include/boost/coroutine/v2/detail/push_coroutine_base.hpp
+#usr/include/boost/coroutine/v2/detail/push_coroutine_caller.hpp
+#usr/include/boost/coroutine/v2/detail/push_coroutine_object.hpp
+#usr/include/boost/crc.hpp
+#usr/include/boost/cregex.hpp
+#usr/include/boost/cstdint.hpp
+#usr/include/boost/cstdlib.hpp
+#usr/include/boost/current_function.hpp
+#usr/include/boost/date_time
+#usr/include/boost/date_time.hpp
+#usr/include/boost/date_time/adjust_functors.hpp
+#usr/include/boost/date_time/c_local_time_adjustor.hpp
+#usr/include/boost/date_time/c_time.hpp
+#usr/include/boost/date_time/compiler_config.hpp
+#usr/include/boost/date_time/constrained_value.hpp
+#usr/include/boost/date_time/date.hpp
+#usr/include/boost/date_time/date_clock_device.hpp
+#usr/include/boost/date_time/date_defs.hpp
+#usr/include/boost/date_time/date_duration.hpp
+#usr/include/boost/date_time/date_duration_types.hpp
+#usr/include/boost/date_time/date_facet.hpp
+#usr/include/boost/date_time/date_format_simple.hpp
+#usr/include/boost/date_time/date_formatting.hpp
+#usr/include/boost/date_time/date_formatting_limited.hpp
+#usr/include/boost/date_time/date_formatting_locales.hpp
+#usr/include/boost/date_time/date_generator_formatter.hpp
+#usr/include/boost/date_time/date_generator_parser.hpp
+#usr/include/boost/date_time/date_generators.hpp
+#usr/include/boost/date_time/date_iterator.hpp
+#usr/include/boost/date_time/date_names_put.hpp
+#usr/include/boost/date_time/date_parsing.hpp
+#usr/include/boost/date_time/dst_rules.hpp
+#usr/include/boost/date_time/dst_transition_generators.hpp
+#usr/include/boost/date_time/filetime_functions.hpp
+#usr/include/boost/date_time/format_date_parser.hpp
+#usr/include/boost/date_time/gregorian
+#usr/include/boost/date_time/gregorian/conversion.hpp
+#usr/include/boost/date_time/gregorian/formatters.hpp
+#usr/include/boost/date_time/gregorian/formatters_limited.hpp
+#usr/include/boost/date_time/gregorian/greg_calendar.hpp
+#usr/include/boost/date_time/gregorian/greg_date.hpp
+#usr/include/boost/date_time/gregorian/greg_day.hpp
+#usr/include/boost/date_time/gregorian/greg_day_of_year.hpp
+#usr/include/boost/date_time/gregorian/greg_duration.hpp
+#usr/include/boost/date_time/gregorian/greg_duration_types.hpp
+#usr/include/boost/date_time/gregorian/greg_facet.hpp
+#usr/include/boost/date_time/gregorian/greg_month.hpp
+#usr/include/boost/date_time/gregorian/greg_serialize.hpp
+#usr/include/boost/date_time/gregorian/greg_weekday.hpp
+#usr/include/boost/date_time/gregorian/greg_year.hpp
+#usr/include/boost/date_time/gregorian/greg_ymd.hpp
+#usr/include/boost/date_time/gregorian/gregorian.hpp
+#usr/include/boost/date_time/gregorian/gregorian_io.hpp
+#usr/include/boost/date_time/gregorian/gregorian_types.hpp
+#usr/include/boost/date_time/gregorian/parsers.hpp
+#usr/include/boost/date_time/gregorian_calendar.hpp
+#usr/include/boost/date_time/gregorian_calendar.ipp
+#usr/include/boost/date_time/int_adapter.hpp
+#usr/include/boost/date_time/iso_format.hpp
+#usr/include/boost/date_time/local_time
+#usr/include/boost/date_time/local_time/conversion.hpp
+#usr/include/boost/date_time/local_time/custom_time_zone.hpp
+#usr/include/boost/date_time/local_time/date_duration_operators.hpp
+#usr/include/boost/date_time/local_time/dst_transition_day_rules.hpp
+#usr/include/boost/date_time/local_time/local_date_time.hpp
+#usr/include/boost/date_time/local_time/local_time.hpp
+#usr/include/boost/date_time/local_time/local_time_io.hpp
+#usr/include/boost/date_time/local_time/local_time_types.hpp
+#usr/include/boost/date_time/local_time/posix_time_zone.hpp
+#usr/include/boost/date_time/local_time/tz_database.hpp
+#usr/include/boost/date_time/local_time_adjustor.hpp
+#usr/include/boost/date_time/local_timezone_defs.hpp
+#usr/include/boost/date_time/locale_config.hpp
+#usr/include/boost/date_time/microsec_time_clock.hpp
+#usr/include/boost/date_time/parse_format_base.hpp
+#usr/include/boost/date_time/period.hpp
+#usr/include/boost/date_time/period_formatter.hpp
+#usr/include/boost/date_time/period_parser.hpp
+#usr/include/boost/date_time/posix_time
+#usr/include/boost/date_time/posix_time/conversion.hpp
+#usr/include/boost/date_time/posix_time/date_duration_operators.hpp
+#usr/include/boost/date_time/posix_time/posix_time.hpp
+#usr/include/boost/date_time/posix_time/posix_time_config.hpp
+#usr/include/boost/date_time/posix_time/posix_time_duration.hpp
+#usr/include/boost/date_time/posix_time/posix_time_io.hpp
+#usr/include/boost/date_time/posix_time/posix_time_legacy_io.hpp
+#usr/include/boost/date_time/posix_time/posix_time_system.hpp
+#usr/include/boost/date_time/posix_time/posix_time_types.hpp
+#usr/include/boost/date_time/posix_time/ptime.hpp
+#usr/include/boost/date_time/posix_time/time_formatters.hpp
+#usr/include/boost/date_time/posix_time/time_formatters_limited.hpp
+#usr/include/boost/date_time/posix_time/time_parsers.hpp
+#usr/include/boost/date_time/posix_time/time_period.hpp
+#usr/include/boost/date_time/posix_time/time_serialize.hpp
+#usr/include/boost/date_time/special_defs.hpp
+#usr/include/boost/date_time/special_values_formatter.hpp
+#usr/include/boost/date_time/special_values_parser.hpp
+#usr/include/boost/date_time/string_convert.hpp
+#usr/include/boost/date_time/string_parse_tree.hpp
+#usr/include/boost/date_time/strings_from_facet.hpp
+#usr/include/boost/date_time/time.hpp
+#usr/include/boost/date_time/time_clock.hpp
+#usr/include/boost/date_time/time_defs.hpp
+#usr/include/boost/date_time/time_duration.hpp
+#usr/include/boost/date_time/time_facet.hpp
+#usr/include/boost/date_time/time_formatting_streams.hpp
+#usr/include/boost/date_time/time_iterator.hpp
+#usr/include/boost/date_time/time_parsing.hpp
+#usr/include/boost/date_time/time_resolution_traits.hpp
+#usr/include/boost/date_time/time_system_counted.hpp
+#usr/include/boost/date_time/time_system_split.hpp
+#usr/include/boost/date_time/time_zone_base.hpp
+#usr/include/boost/date_time/time_zone_names.hpp
+#usr/include/boost/date_time/tz_db_base.hpp
+#usr/include/boost/date_time/wrapping_int.hpp
+#usr/include/boost/date_time/year_month_day.hpp
+#usr/include/boost/detail
+#usr/include/boost/detail/algorithm.hpp
+#usr/include/boost/detail/allocator_utilities.hpp
+#usr/include/boost/detail/atomic_count.hpp
+#usr/include/boost/detail/atomic_redef_macros.hpp
+#usr/include/boost/detail/atomic_undef_macros.hpp
+#usr/include/boost/detail/binary_search.hpp
+#usr/include/boost/detail/bitmask.hpp
+#usr/include/boost/detail/call_traits.hpp
+#usr/include/boost/detail/catch_exceptions.hpp
+#usr/include/boost/detail/compressed_pair.hpp
+#usr/include/boost/detail/container_fwd.hpp
+#usr/include/boost/detail/dynamic_bitset.hpp
+#usr/include/boost/detail/endian.hpp
+#usr/include/boost/detail/fenv.hpp
+#usr/include/boost/detail/has_default_constructor.hpp
+#usr/include/boost/detail/identifier.hpp
+#usr/include/boost/detail/indirect_traits.hpp
+#usr/include/boost/detail/interlocked.hpp
+#usr/include/boost/detail/is_function_ref_tester.hpp
+#usr/include/boost/detail/is_incrementable.hpp
+#usr/include/boost/detail/is_sorted.hpp
+#usr/include/boost/detail/is_xxx.hpp
+#usr/include/boost/detail/iterator.hpp
+#usr/include/boost/detail/lcast_precision.hpp
+#usr/include/boost/detail/lightweight_main.hpp
+#usr/include/boost/detail/lightweight_mutex.hpp
+#usr/include/boost/detail/lightweight_test.hpp
+#usr/include/boost/detail/lightweight_thread.hpp
+#usr/include/boost/detail/limits.hpp
+#usr/include/boost/detail/named_template_params.hpp
+#usr/include/boost/detail/no_exceptions_support.hpp
+#usr/include/boost/detail/none_t.hpp
+#usr/include/boost/detail/numeric_traits.hpp
+#usr/include/boost/detail/ob_call_traits.hpp
+#usr/include/boost/detail/ob_compressed_pair.hpp
+#usr/include/boost/detail/quick_allocator.hpp
+#usr/include/boost/detail/reference_content.hpp
+#usr/include/boost/detail/scoped_enum_emulation.hpp
+#usr/include/boost/detail/select_type.hpp
+#usr/include/boost/detail/sp_typeinfo.hpp
+#usr/include/boost/detail/templated_streams.hpp
+#usr/include/boost/detail/utf8_codecvt_facet.hpp
+#usr/include/boost/detail/utf8_codecvt_facet.ipp
+#usr/include/boost/detail/winapi
+#usr/include/boost/detail/winapi/GetCurrentProcess.hpp
+#usr/include/boost/detail/winapi/GetCurrentThread.hpp
+#usr/include/boost/detail/winapi/GetLastError.hpp
+#usr/include/boost/detail/winapi/GetProcessTimes.hpp
+#usr/include/boost/detail/winapi/GetThreadTimes.hpp
+#usr/include/boost/detail/winapi/LocalFree.hpp
+#usr/include/boost/detail/winapi/basic_types.hpp
+#usr/include/boost/detail/winapi/directory_management.hpp
+#usr/include/boost/detail/winapi/dll.hpp
+#usr/include/boost/detail/winapi/error_handling.hpp
+#usr/include/boost/detail/winapi/file_management.hpp
+#usr/include/boost/detail/winapi/handles.hpp
+#usr/include/boost/detail/winapi/memory.hpp
+#usr/include/boost/detail/winapi/process.hpp
+#usr/include/boost/detail/winapi/security.hpp
+#usr/include/boost/detail/winapi/synchronization.hpp
+#usr/include/boost/detail/winapi/system.hpp
+#usr/include/boost/detail/winapi/thread.hpp
+#usr/include/boost/detail/winapi/time.hpp
+#usr/include/boost/detail/winapi/timers.hpp
+#usr/include/boost/detail/workaround.hpp
+#usr/include/boost/dynamic_bitset
+#usr/include/boost/dynamic_bitset.hpp
+#usr/include/boost/dynamic_bitset/config.hpp
+#usr/include/boost/dynamic_bitset/dynamic_bitset.hpp
+#usr/include/boost/dynamic_bitset_fwd.hpp
+#usr/include/boost/enable_shared_from_this.hpp
+#usr/include/boost/exception
+#usr/include/boost/exception.hpp
+#usr/include/boost/exception/all.hpp
+#usr/include/boost/exception/current_exception_cast.hpp
+#usr/include/boost/exception/detail
+#usr/include/boost/exception/detail/attribute_noreturn.hpp
+#usr/include/boost/exception/detail/clone_current_exception.hpp
+#usr/include/boost/exception/detail/error_info_impl.hpp
+#usr/include/boost/exception/detail/exception_ptr.hpp
+#usr/include/boost/exception/detail/is_output_streamable.hpp
+#usr/include/boost/exception/detail/object_hex_dump.hpp
+#usr/include/boost/exception/detail/type_info.hpp
+#usr/include/boost/exception/diagnostic_information.hpp
+#usr/include/boost/exception/enable_current_exception.hpp
+#usr/include/boost/exception/enable_error_info.hpp
+#usr/include/boost/exception/errinfo_api_function.hpp
+#usr/include/boost/exception/errinfo_at_line.hpp
+#usr/include/boost/exception/errinfo_errno.hpp
+#usr/include/boost/exception/errinfo_file_handle.hpp
+#usr/include/boost/exception/errinfo_file_name.hpp
+#usr/include/boost/exception/errinfo_file_open_mode.hpp
+#usr/include/boost/exception/errinfo_nested_exception.hpp
+#usr/include/boost/exception/errinfo_type_info_name.hpp
+#usr/include/boost/exception/error_info.hpp
+#usr/include/boost/exception/exception.hpp
+#usr/include/boost/exception/get_error_info.hpp
+#usr/include/boost/exception/info.hpp
+#usr/include/boost/exception/info_tuple.hpp
+#usr/include/boost/exception/to_string.hpp
+#usr/include/boost/exception/to_string_stub.hpp
+#usr/include/boost/exception_ptr.hpp
+#usr/include/boost/filesystem
+#usr/include/boost/filesystem.hpp
+#usr/include/boost/filesystem/config.hpp
+#usr/include/boost/filesystem/convenience.hpp
+#usr/include/boost/filesystem/detail
+#usr/include/boost/filesystem/detail/utf8_codecvt_facet.hpp
+#usr/include/boost/filesystem/exception.hpp
+#usr/include/boost/filesystem/fstream.hpp
+#usr/include/boost/filesystem/operations.hpp
+#usr/include/boost/filesystem/path.hpp
+#usr/include/boost/filesystem/path_traits.hpp
+#usr/include/boost/flyweight
+#usr/include/boost/flyweight.hpp
+#usr/include/boost/flyweight/assoc_container_factory.hpp
+#usr/include/boost/flyweight/assoc_container_factory_fwd.hpp
+#usr/include/boost/flyweight/detail
+#usr/include/boost/flyweight/detail/default_value_policy.hpp
+#usr/include/boost/flyweight/detail/dyn_perfect_fwd.hpp
+#usr/include/boost/flyweight/detail/flyweight_core.hpp
+#usr/include/boost/flyweight/detail/is_placeholder_expr.hpp
+#usr/include/boost/flyweight/detail/nested_xxx_if_not_ph.hpp
+#usr/include/boost/flyweight/detail/not_placeholder_expr.hpp
+#usr/include/boost/flyweight/detail/perfect_fwd.hpp
+#usr/include/boost/flyweight/detail/pp_perfect_fwd.hpp
+#usr/include/boost/flyweight/detail/recursive_lw_mutex.hpp
+#usr/include/boost/flyweight/detail/value_tag.hpp
+#usr/include/boost/flyweight/factory_tag.hpp
+#usr/include/boost/flyweight/flyweight.hpp
+#usr/include/boost/flyweight/flyweight_fwd.hpp
+#usr/include/boost/flyweight/hashed_factory.hpp
+#usr/include/boost/flyweight/hashed_factory_fwd.hpp
+#usr/include/boost/flyweight/holder_tag.hpp
+#usr/include/boost/flyweight/intermodule_holder.hpp
+#usr/include/boost/flyweight/intermodule_holder_fwd.hpp
+#usr/include/boost/flyweight/key_value.hpp
+#usr/include/boost/flyweight/key_value_fwd.hpp
+#usr/include/boost/flyweight/locking_tag.hpp
+#usr/include/boost/flyweight/no_locking.hpp
+#usr/include/boost/flyweight/no_locking_fwd.hpp
+#usr/include/boost/flyweight/no_tracking.hpp
+#usr/include/boost/flyweight/no_tracking_fwd.hpp
+#usr/include/boost/flyweight/refcounted.hpp
+#usr/include/boost/flyweight/refcounted_fwd.hpp
+#usr/include/boost/flyweight/set_factory.hpp
+#usr/include/boost/flyweight/set_factory_fwd.hpp
+#usr/include/boost/flyweight/simple_locking.hpp
+#usr/include/boost/flyweight/simple_locking_fwd.hpp
+#usr/include/boost/flyweight/static_holder.hpp
+#usr/include/boost/flyweight/static_holder_fwd.hpp
+#usr/include/boost/flyweight/tag.hpp
+#usr/include/boost/flyweight/tracking_tag.hpp
+#usr/include/boost/foreach.hpp
+#usr/include/boost/foreach_fwd.hpp
+#usr/include/boost/format
+#usr/include/boost/format.hpp
+#usr/include/boost/format/alt_sstream.hpp
+#usr/include/boost/format/alt_sstream_impl.hpp
+#usr/include/boost/format/detail
+#usr/include/boost/format/detail/compat_workarounds.hpp
+#usr/include/boost/format/detail/config_macros.hpp
+#usr/include/boost/format/detail/msvc_disambiguater.hpp
+#usr/include/boost/format/detail/unset_macros.hpp
+#usr/include/boost/format/detail/workarounds_gcc-2_95.hpp
+#usr/include/boost/format/detail/workarounds_stlport.hpp
+#usr/include/boost/format/exceptions.hpp
+#usr/include/boost/format/feed_args.hpp
+#usr/include/boost/format/format_class.hpp
+#usr/include/boost/format/format_fwd.hpp
+#usr/include/boost/format/format_implementation.hpp
+#usr/include/boost/format/free_funcs.hpp
+#usr/include/boost/format/group.hpp
+#usr/include/boost/format/internals.hpp
+#usr/include/boost/format/internals_fwd.hpp
+#usr/include/boost/format/parsing.hpp
+#usr/include/boost/function
+#usr/include/boost/function.hpp
+#usr/include/boost/function/detail
+#usr/include/boost/function/detail/function_iterate.hpp
+#usr/include/boost/function/detail/maybe_include.hpp
+#usr/include/boost/function/detail/prologue.hpp
+#usr/include/boost/function/function0.hpp
+#usr/include/boost/function/function1.hpp
+#usr/include/boost/function/function10.hpp
+#usr/include/boost/function/function2.hpp
+#usr/include/boost/function/function3.hpp
+#usr/include/boost/function/function4.hpp
+#usr/include/boost/function/function5.hpp
+#usr/include/boost/function/function6.hpp
+#usr/include/boost/function/function7.hpp
+#usr/include/boost/function/function8.hpp
+#usr/include/boost/function/function9.hpp
+#usr/include/boost/function/function_base.hpp
+#usr/include/boost/function/function_fwd.hpp
+#usr/include/boost/function/function_template.hpp
+#usr/include/boost/function/function_typeof.hpp
+#usr/include/boost/function_equal.hpp
+#usr/include/boost/function_output_iterator.hpp
+#usr/include/boost/function_types
+#usr/include/boost/function_types/components.hpp
+#usr/include/boost/function_types/config
+#usr/include/boost/function_types/config/cc_names.hpp
+#usr/include/boost/function_types/config/compiler.hpp
+#usr/include/boost/function_types/config/config.hpp
+#usr/include/boost/function_types/detail
+#usr/include/boost/function_types/detail/class_transform.hpp
+#usr/include/boost/function_types/detail/classifier.hpp
+#usr/include/boost/function_types/detail/classifier_impl
+#usr/include/boost/function_types/detail/classifier_impl/arity10_0.hpp
+#usr/include/boost/function_types/detail/classifier_impl/arity10_1.hpp
+#usr/include/boost/function_types/detail/classifier_impl/arity20_0.hpp
+#usr/include/boost/function_types/detail/classifier_impl/arity20_1.hpp
+#usr/include/boost/function_types/detail/classifier_impl/arity30_0.hpp
+#usr/include/boost/function_types/detail/classifier_impl/arity30_1.hpp
+#usr/include/boost/function_types/detail/classifier_impl/arity40_0.hpp
+#usr/include/boost/function_types/detail/classifier_impl/arity40_1.hpp
+#usr/include/boost/function_types/detail/classifier_impl/arity50_0.hpp
+#usr/include/boost/function_types/detail/classifier_impl/arity50_1.hpp
+#usr/include/boost/function_types/detail/classifier_impl/master.hpp
+#usr/include/boost/function_types/detail/components_as_mpl_sequence.hpp
+#usr/include/boost/function_types/detail/components_impl
+#usr/include/boost/function_types/detail/components_impl/arity10_0.hpp
+#usr/include/boost/function_types/detail/components_impl/arity10_1.hpp
+#usr/include/boost/function_types/detail/components_impl/arity20_0.hpp
+#usr/include/boost/function_types/detail/components_impl/arity20_1.hpp
+#usr/include/boost/function_types/detail/components_impl/arity30_0.hpp
+#usr/include/boost/function_types/detail/components_impl/arity30_1.hpp
+#usr/include/boost/function_types/detail/components_impl/arity40_0.hpp
+#usr/include/boost/function_types/detail/components_impl/arity40_1.hpp
+#usr/include/boost/function_types/detail/components_impl/arity50_0.hpp
+#usr/include/boost/function_types/detail/components_impl/arity50_1.hpp
+#usr/include/boost/function_types/detail/components_impl/master.hpp
+#usr/include/boost/function_types/detail/cv_traits.hpp
+#usr/include/boost/function_types/detail/encoding
+#usr/include/boost/function_types/detail/encoding/aliases_def.hpp
+#usr/include/boost/function_types/detail/encoding/aliases_undef.hpp
+#usr/include/boost/function_types/detail/encoding/def.hpp
+#usr/include/boost/function_types/detail/encoding/undef.hpp
+#usr/include/boost/function_types/detail/pp_arity_loop.hpp
+#usr/include/boost/function_types/detail/pp_cc_loop
+#usr/include/boost/function_types/detail/pp_cc_loop/master.hpp
+#usr/include/boost/function_types/detail/pp_cc_loop/preprocessed.hpp
+#usr/include/boost/function_types/detail/pp_loop.hpp
+#usr/include/boost/function_types/detail/pp_retag_default_cc
+#usr/include/boost/function_types/detail/pp_retag_default_cc/master.hpp
+#usr/include/boost/function_types/detail/pp_retag_default_cc/preprocessed.hpp
+#usr/include/boost/function_types/detail/pp_tags
+#usr/include/boost/function_types/detail/pp_tags/cc_tag.hpp
+#usr/include/boost/function_types/detail/pp_tags/master.hpp
+#usr/include/boost/function_types/detail/pp_tags/preprocessed.hpp
+#usr/include/boost/function_types/detail/pp_variate_loop
+#usr/include/boost/function_types/detail/pp_variate_loop/master.hpp
+#usr/include/boost/function_types/detail/pp_variate_loop/preprocessed.hpp
+#usr/include/boost/function_types/detail/retag_default_cc.hpp
+#usr/include/boost/function_types/detail/synthesize.hpp
+#usr/include/boost/function_types/detail/synthesize_impl
+#usr/include/boost/function_types/detail/synthesize_impl/arity10_0.hpp
+#usr/include/boost/function_types/detail/synthesize_impl/arity10_1.hpp
+#usr/include/boost/function_types/detail/synthesize_impl/arity20_0.hpp
+#usr/include/boost/function_types/detail/synthesize_impl/arity20_1.hpp
+#usr/include/boost/function_types/detail/synthesize_impl/arity30_0.hpp
+#usr/include/boost/function_types/detail/synthesize_impl/arity30_1.hpp
+#usr/include/boost/function_types/detail/synthesize_impl/arity40_0.hpp
+#usr/include/boost/function_types/detail/synthesize_impl/arity40_1.hpp
+#usr/include/boost/function_types/detail/synthesize_impl/arity50_0.hpp
+#usr/include/boost/function_types/detail/synthesize_impl/arity50_1.hpp
+#usr/include/boost/function_types/detail/synthesize_impl/master.hpp
+#usr/include/boost/function_types/detail/to_sequence.hpp
+#usr/include/boost/function_types/function_arity.hpp
+#usr/include/boost/function_types/function_pointer.hpp
+#usr/include/boost/function_types/function_reference.hpp
+#usr/include/boost/function_types/function_type.hpp
+#usr/include/boost/function_types/is_callable_builtin.hpp
+#usr/include/boost/function_types/is_function.hpp
+#usr/include/boost/function_types/is_function_pointer.hpp
+#usr/include/boost/function_types/is_function_reference.hpp
+#usr/include/boost/function_types/is_member_function_pointer.hpp
+#usr/include/boost/function_types/is_member_object_pointer.hpp
+#usr/include/boost/function_types/is_member_pointer.hpp
+#usr/include/boost/function_types/is_nonmember_callable_builtin.hpp
+#usr/include/boost/function_types/member_function_pointer.hpp
+#usr/include/boost/function_types/member_object_pointer.hpp
+#usr/include/boost/function_types/parameter_types.hpp
+#usr/include/boost/function_types/property_tags.hpp
+#usr/include/boost/function_types/result_type.hpp
+#usr/include/boost/functional
+#usr/include/boost/functional.hpp
+#usr/include/boost/functional/factory.hpp
+#usr/include/boost/functional/forward_adapter.hpp
+#usr/include/boost/functional/hash
+#usr/include/boost/functional/hash.hpp
+#usr/include/boost/functional/hash/detail
+#usr/include/boost/functional/hash/detail/float_functions.hpp
+#usr/include/boost/functional/hash/detail/hash_float.hpp
+#usr/include/boost/functional/hash/detail/limits.hpp
+#usr/include/boost/functional/hash/extensions.hpp
+#usr/include/boost/functional/hash/hash.hpp
+#usr/include/boost/functional/hash/hash_fwd.hpp
+#usr/include/boost/functional/hash_fwd.hpp
+#usr/include/boost/functional/lightweight_forward_adapter.hpp
+#usr/include/boost/functional/overloaded_function
+#usr/include/boost/functional/overloaded_function.hpp
+#usr/include/boost/functional/overloaded_function/config.hpp
+#usr/include/boost/functional/overloaded_function/detail
+#usr/include/boost/functional/overloaded_function/detail/base.hpp
+#usr/include/boost/functional/overloaded_function/detail/function_type.hpp
+#usr/include/boost/functional/value_factory.hpp
+#usr/include/boost/fusion
+#usr/include/boost/fusion/adapted
+#usr/include/boost/fusion/adapted.hpp
+#usr/include/boost/fusion/adapted/adt
+#usr/include/boost/fusion/adapted/adt.hpp
+#usr/include/boost/fusion/adapted/adt/adapt_adt.hpp
+#usr/include/boost/fusion/adapted/adt/adapt_adt_named.hpp
+#usr/include/boost/fusion/adapted/adt/adapt_assoc_adt.hpp
+#usr/include/boost/fusion/adapted/adt/adapt_assoc_adt_named.hpp
+#usr/include/boost/fusion/adapted/adt/detail
+#usr/include/boost/fusion/adapted/adt/detail/adapt_base.hpp
+#usr/include/boost/fusion/adapted/adt/detail/extension.hpp
+#usr/include/boost/fusion/adapted/array
+#usr/include/boost/fusion/adapted/array.hpp
+#usr/include/boost/fusion/adapted/array/at_impl.hpp
+#usr/include/boost/fusion/adapted/array/begin_impl.hpp
+#usr/include/boost/fusion/adapted/array/category_of_impl.hpp
+#usr/include/boost/fusion/adapted/array/deref_impl.hpp
+#usr/include/boost/fusion/adapted/array/end_impl.hpp
+#usr/include/boost/fusion/adapted/array/is_sequence_impl.hpp
+#usr/include/boost/fusion/adapted/array/is_view_impl.hpp
+#usr/include/boost/fusion/adapted/array/size_impl.hpp
+#usr/include/boost/fusion/adapted/array/tag_of.hpp
+#usr/include/boost/fusion/adapted/array/value_at_impl.hpp
+#usr/include/boost/fusion/adapted/array/value_of_impl.hpp
+#usr/include/boost/fusion/adapted/boost_array
+#usr/include/boost/fusion/adapted/boost_array.hpp
+#usr/include/boost/fusion/adapted/boost_array/array_iterator.hpp
+#usr/include/boost/fusion/adapted/boost_array/detail
+#usr/include/boost/fusion/adapted/boost_array/detail/at_impl.hpp
+#usr/include/boost/fusion/adapted/boost_array/detail/begin_impl.hpp
+#usr/include/boost/fusion/adapted/boost_array/detail/category_of_impl.hpp
+#usr/include/boost/fusion/adapted/boost_array/detail/end_impl.hpp
+#usr/include/boost/fusion/adapted/boost_array/detail/is_sequence_impl.hpp
+#usr/include/boost/fusion/adapted/boost_array/detail/is_view_impl.hpp
+#usr/include/boost/fusion/adapted/boost_array/detail/size_impl.hpp
+#usr/include/boost/fusion/adapted/boost_array/detail/value_at_impl.hpp
+#usr/include/boost/fusion/adapted/boost_array/tag_of.hpp
+#usr/include/boost/fusion/adapted/boost_tuple
+#usr/include/boost/fusion/adapted/boost_tuple.hpp
+#usr/include/boost/fusion/adapted/boost_tuple/boost_tuple_iterator.hpp
+#usr/include/boost/fusion/adapted/boost_tuple/detail
+#usr/include/boost/fusion/adapted/boost_tuple/detail/at_impl.hpp
+#usr/include/boost/fusion/adapted/boost_tuple/detail/begin_impl.hpp
+#usr/include/boost/fusion/adapted/boost_tuple/detail/category_of_impl.hpp
+#usr/include/boost/fusion/adapted/boost_tuple/detail/end_impl.hpp
+#usr/include/boost/fusion/adapted/boost_tuple/detail/is_sequence_impl.hpp
+#usr/include/boost/fusion/adapted/boost_tuple/detail/is_view_impl.hpp
+#usr/include/boost/fusion/adapted/boost_tuple/detail/size_impl.hpp
+#usr/include/boost/fusion/adapted/boost_tuple/detail/value_at_impl.hpp
+#usr/include/boost/fusion/adapted/boost_tuple/tag_of.hpp
+#usr/include/boost/fusion/adapted/mpl
+#usr/include/boost/fusion/adapted/mpl.hpp
+#usr/include/boost/fusion/adapted/mpl/detail
+#usr/include/boost/fusion/adapted/mpl/detail/at_impl.hpp
+#usr/include/boost/fusion/adapted/mpl/detail/begin_impl.hpp
+#usr/include/boost/fusion/adapted/mpl/detail/category_of_impl.hpp
+#usr/include/boost/fusion/adapted/mpl/detail/empty_impl.hpp
+#usr/include/boost/fusion/adapted/mpl/detail/end_impl.hpp
+#usr/include/boost/fusion/adapted/mpl/detail/has_key_impl.hpp
+#usr/include/boost/fusion/adapted/mpl/detail/is_sequence_impl.hpp
+#usr/include/boost/fusion/adapted/mpl/detail/is_view_impl.hpp
+#usr/include/boost/fusion/adapted/mpl/detail/size_impl.hpp
+#usr/include/boost/fusion/adapted/mpl/detail/value_at_impl.hpp
+#usr/include/boost/fusion/adapted/mpl/mpl_iterator.hpp
+#usr/include/boost/fusion/adapted/std_pair.hpp
+#usr/include/boost/fusion/adapted/std_tuple
+#usr/include/boost/fusion/adapted/std_tuple.hpp
+#usr/include/boost/fusion/adapted/std_tuple/detail
+#usr/include/boost/fusion/adapted/std_tuple/detail/at_impl.hpp
+#usr/include/boost/fusion/adapted/std_tuple/detail/begin_impl.hpp
+#usr/include/boost/fusion/adapted/std_tuple/detail/category_of_impl.hpp
+#usr/include/boost/fusion/adapted/std_tuple/detail/end_impl.hpp
+#usr/include/boost/fusion/adapted/std_tuple/detail/is_sequence_impl.hpp
+#usr/include/boost/fusion/adapted/std_tuple/detail/is_view_impl.hpp
+#usr/include/boost/fusion/adapted/std_tuple/detail/size_impl.hpp
+#usr/include/boost/fusion/adapted/std_tuple/detail/value_at_impl.hpp
+#usr/include/boost/fusion/adapted/std_tuple/std_tuple_iterator.hpp
+#usr/include/boost/fusion/adapted/std_tuple/tag_of.hpp
+#usr/include/boost/fusion/adapted/struct
+#usr/include/boost/fusion/adapted/struct.hpp
+#usr/include/boost/fusion/adapted/struct/adapt_assoc_struct.hpp
+#usr/include/boost/fusion/adapted/struct/adapt_assoc_struct_named.hpp
+#usr/include/boost/fusion/adapted/struct/adapt_struct.hpp
+#usr/include/boost/fusion/adapted/struct/adapt_struct_named.hpp
+#usr/include/boost/fusion/adapted/struct/define_assoc_struct.hpp
+#usr/include/boost/fusion/adapted/struct/define_struct.hpp
+#usr/include/boost/fusion/adapted/struct/define_struct_inline.hpp
+#usr/include/boost/fusion/adapted/struct/detail
+#usr/include/boost/fusion/adapted/struct/detail/adapt_base.hpp
+#usr/include/boost/fusion/adapted/struct/detail/at_impl.hpp
+#usr/include/boost/fusion/adapted/struct/detail/begin_impl.hpp
+#usr/include/boost/fusion/adapted/struct/detail/category_of_impl.hpp
+#usr/include/boost/fusion/adapted/struct/detail/define_struct.hpp
+#usr/include/boost/fusion/adapted/struct/detail/define_struct_inline.hpp
+#usr/include/boost/fusion/adapted/struct/detail/deref_data_impl.hpp
+#usr/include/boost/fusion/adapted/struct/detail/deref_impl.hpp
+#usr/include/boost/fusion/adapted/struct/detail/end_impl.hpp
+#usr/include/boost/fusion/adapted/struct/detail/extension.hpp
+#usr/include/boost/fusion/adapted/struct/detail/is_sequence_impl.hpp
+#usr/include/boost/fusion/adapted/struct/detail/is_view_impl.hpp
+#usr/include/boost/fusion/adapted/struct/detail/key_of_impl.hpp
+#usr/include/boost/fusion/adapted/struct/detail/namespace.hpp
+#usr/include/boost/fusion/adapted/struct/detail/proxy_type.hpp
+#usr/include/boost/fusion/adapted/struct/detail/size_impl.hpp
+#usr/include/boost/fusion/adapted/struct/detail/value_at_impl.hpp
+#usr/include/boost/fusion/adapted/struct/detail/value_of_data_impl.hpp
+#usr/include/boost/fusion/adapted/struct/detail/value_of_impl.hpp
+#usr/include/boost/fusion/algorithm
+#usr/include/boost/fusion/algorithm.hpp
+#usr/include/boost/fusion/algorithm/auxiliary
+#usr/include/boost/fusion/algorithm/auxiliary.hpp
+#usr/include/boost/fusion/algorithm/auxiliary/copy.hpp
+#usr/include/boost/fusion/algorithm/auxiliary/move.hpp
+#usr/include/boost/fusion/algorithm/iteration
+#usr/include/boost/fusion/algorithm/iteration.hpp
+#usr/include/boost/fusion/algorithm/iteration/accumulate.hpp
+#usr/include/boost/fusion/algorithm/iteration/accumulate_fwd.hpp
+#usr/include/boost/fusion/algorithm/iteration/detail
+#usr/include/boost/fusion/algorithm/iteration/detail/fold.hpp
+#usr/include/boost/fusion/algorithm/iteration/detail/for_each.hpp
+#usr/include/boost/fusion/algorithm/iteration/detail/preprocessed
+#usr/include/boost/fusion/algorithm/iteration/detail/preprocessed/fold.hpp
+#usr/include/boost/fusion/algorithm/iteration/detail/preprocessed/iter_fold.hpp
+#usr/include/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_fold.hpp
+#usr/include/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_iter_fold.hpp
+#usr/include/boost/fusion/algorithm/iteration/detail/segmented_fold.hpp
+#usr/include/boost/fusion/algorithm/iteration/detail/segmented_for_each.hpp
+#usr/include/boost/fusion/algorithm/iteration/fold.hpp
+#usr/include/boost/fusion/algorithm/iteration/fold_fwd.hpp
+#usr/include/boost/fusion/algorithm/iteration/for_each.hpp
+#usr/include/boost/fusion/algorithm/iteration/for_each_fwd.hpp
+#usr/include/boost/fusion/algorithm/iteration/iter_fold.hpp
+#usr/include/boost/fusion/algorithm/iteration/iter_fold_fwd.hpp
+#usr/include/boost/fusion/algorithm/iteration/reverse_fold.hpp
+#usr/include/boost/fusion/algorithm/iteration/reverse_fold_fwd.hpp
+#usr/include/boost/fusion/algorithm/iteration/reverse_iter_fold.hpp
+#usr/include/boost/fusion/algorithm/iteration/reverse_iter_fold_fwd.hpp
+#usr/include/boost/fusion/algorithm/query
+#usr/include/boost/fusion/algorithm/query.hpp
+#usr/include/boost/fusion/algorithm/query/all.hpp
+#usr/include/boost/fusion/algorithm/query/any.hpp
+#usr/include/boost/fusion/algorithm/query/count.hpp
+#usr/include/boost/fusion/algorithm/query/count_if.hpp
+#usr/include/boost/fusion/algorithm/query/detail
+#usr/include/boost/fusion/algorithm/query/detail/all.hpp
+#usr/include/boost/fusion/algorithm/query/detail/any.hpp
+#usr/include/boost/fusion/algorithm/query/detail/count.hpp
+#usr/include/boost/fusion/algorithm/query/detail/count_if.hpp
+#usr/include/boost/fusion/algorithm/query/detail/find_if.hpp
+#usr/include/boost/fusion/algorithm/query/detail/segmented_find.hpp
+#usr/include/boost/fusion/algorithm/query/detail/segmented_find_if.hpp
+#usr/include/boost/fusion/algorithm/query/find.hpp
+#usr/include/boost/fusion/algorithm/query/find_fwd.hpp
+#usr/include/boost/fusion/algorithm/query/find_if.hpp
+#usr/include/boost/fusion/algorithm/query/find_if_fwd.hpp
+#usr/include/boost/fusion/algorithm/query/none.hpp
+#usr/include/boost/fusion/algorithm/transformation
+#usr/include/boost/fusion/algorithm/transformation.hpp
+#usr/include/boost/fusion/algorithm/transformation/clear.hpp
+#usr/include/boost/fusion/algorithm/transformation/detail
+#usr/include/boost/fusion/algorithm/transformation/detail/preprocessed
+#usr/include/boost/fusion/algorithm/transformation/detail/preprocessed/zip.hpp
+#usr/include/boost/fusion/algorithm/transformation/detail/preprocessed/zip10.hpp
+#usr/include/boost/fusion/algorithm/transformation/detail/preprocessed/zip20.hpp
+#usr/include/boost/fusion/algorithm/transformation/detail/preprocessed/zip30.hpp
+#usr/include/boost/fusion/algorithm/transformation/detail/preprocessed/zip40.hpp
+#usr/include/boost/fusion/algorithm/transformation/detail/preprocessed/zip50.hpp
+#usr/include/boost/fusion/algorithm/transformation/detail/replace.hpp
+#usr/include/boost/fusion/algorithm/transformation/detail/replace_if.hpp
+#usr/include/boost/fusion/algorithm/transformation/erase.hpp
+#usr/include/boost/fusion/algorithm/transformation/erase_key.hpp
+#usr/include/boost/fusion/algorithm/transformation/filter.hpp
+#usr/include/boost/fusion/algorithm/transformation/filter_if.hpp
+#usr/include/boost/fusion/algorithm/transformation/insert.hpp
+#usr/include/boost/fusion/algorithm/transformation/insert_range.hpp
+#usr/include/boost/fusion/algorithm/transformation/join.hpp
+#usr/include/boost/fusion/algorithm/transformation/pop_back.hpp
+#usr/include/boost/fusion/algorithm/transformation/pop_front.hpp
+#usr/include/boost/fusion/algorithm/transformation/push_back.hpp
+#usr/include/boost/fusion/algorithm/transformation/push_front.hpp
+#usr/include/boost/fusion/algorithm/transformation/remove.hpp
+#usr/include/boost/fusion/algorithm/transformation/remove_if.hpp
+#usr/include/boost/fusion/algorithm/transformation/replace.hpp
+#usr/include/boost/fusion/algorithm/transformation/replace_if.hpp
+#usr/include/boost/fusion/algorithm/transformation/reverse.hpp
+#usr/include/boost/fusion/algorithm/transformation/transform.hpp
+#usr/include/boost/fusion/algorithm/transformation/zip.hpp
+#usr/include/boost/fusion/container
+#usr/include/boost/fusion/container.hpp
+#usr/include/boost/fusion/container/deque
+#usr/include/boost/fusion/container/deque.hpp
+#usr/include/boost/fusion/container/deque/back_extended_deque.hpp
+#usr/include/boost/fusion/container/deque/convert.hpp
+#usr/include/boost/fusion/container/deque/deque.hpp
+#usr/include/boost/fusion/container/deque/deque_fwd.hpp
+#usr/include/boost/fusion/container/deque/deque_iterator.hpp
+#usr/include/boost/fusion/container/deque/detail
+#usr/include/boost/fusion/container/deque/detail/at_impl.hpp
+#usr/include/boost/fusion/container/deque/detail/begin_impl.hpp
+#usr/include/boost/fusion/container/deque/detail/build_deque.hpp
+#usr/include/boost/fusion/container/deque/detail/convert_impl.hpp
+#usr/include/boost/fusion/container/deque/detail/cpp03
+#usr/include/boost/fusion/container/deque/detail/cpp03/as_deque.hpp
+#usr/include/boost/fusion/container/deque/detail/cpp03/build_deque.hpp
+#usr/include/boost/fusion/container/deque/detail/cpp03/deque.hpp
+#usr/include/boost/fusion/container/deque/detail/cpp03/deque_forward_ctor.hpp
+#usr/include/boost/fusion/container/deque/detail/cpp03/deque_fwd.hpp
+#usr/include/boost/fusion/container/deque/detail/cpp03/deque_initial_size.hpp
+#usr/include/boost/fusion/container/deque/detail/cpp03/deque_keyed_values.hpp
+#usr/include/boost/fusion/container/deque/detail/cpp03/deque_keyed_values_call.hpp
+#usr/include/boost/fusion/container/deque/detail/cpp03/limits.hpp
+#usr/include/boost/fusion/container/deque/detail/cpp03/preprocessed
+#usr/include/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque.hpp
+#usr/include/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque10.hpp
+#usr/include/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque20.hpp
+#usr/include/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque30.hpp
+#usr/include/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque40.hpp
+#usr/include/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque50.hpp
+#usr/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque.hpp
+#usr/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque10.hpp
+#usr/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque10_fwd.hpp
+#usr/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque20.hpp
+#usr/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque20_fwd.hpp
+#usr/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque30.hpp
+#usr/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque30_fwd.hpp
+#usr/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque40.hpp
+#usr/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque40_fwd.hpp
+#usr/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque50.hpp
+#usr/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque50_fwd.hpp
+#usr/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_fwd.hpp
+#usr/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size.hpp
+#usr/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size10.hpp
+#usr/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size20.hpp
+#usr/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size30.hpp
+#usr/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size40.hpp
+#usr/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size50.hpp
+#usr/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values.hpp
+#usr/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values10.hpp
+#usr/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values20.hpp
+#usr/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values30.hpp
+#usr/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values40.hpp
+#usr/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values50.hpp
+#usr/include/boost/fusion/container/deque/detail/deque_keyed_values.hpp
+#usr/include/boost/fusion/container/deque/detail/end_impl.hpp
+#usr/include/boost/fusion/container/deque/detail/is_sequence_impl.hpp
+#usr/include/boost/fusion/container/deque/detail/keyed_element.hpp
+#usr/include/boost/fusion/container/deque/detail/value_at_impl.hpp
+#usr/include/boost/fusion/container/deque/front_extended_deque.hpp
+#usr/include/boost/fusion/container/generation
+#usr/include/boost/fusion/container/generation.hpp
+#usr/include/boost/fusion/container/generation/cons_tie.hpp
+#usr/include/boost/fusion/container/generation/deque_tie.hpp
+#usr/include/boost/fusion/container/generation/detail
+#usr/include/boost/fusion/container/generation/detail/pp_deque_tie.hpp
+#usr/include/boost/fusion/container/generation/detail/pp_make_deque.hpp
+#usr/include/boost/fusion/container/generation/detail/pp_make_map.hpp
+#usr/include/boost/fusion/container/generation/detail/pp_map_tie.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed
+#usr/include/boost/fusion/container/generation/detail/preprocessed/deque_tie.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/deque_tie10.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/deque_tie20.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/deque_tie30.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/deque_tie40.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/deque_tie50.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/list_tie.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/list_tie10.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/list_tie20.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/list_tie30.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/list_tie40.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/list_tie50.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/make_deque.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/make_deque10.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/make_deque20.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/make_deque30.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/make_deque40.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/make_deque50.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/make_list.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/make_list10.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/make_list20.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/make_list30.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/make_list40.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/make_list50.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/make_map.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/make_map10.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/make_map20.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/make_map30.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/make_map40.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/make_map50.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/make_set.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/make_set10.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/make_set20.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/make_set30.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/make_set40.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/make_set50.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/make_vector.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/make_vector10.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/make_vector20.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/make_vector30.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/make_vector40.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/make_vector50.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/map_tie.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/map_tie10.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/map_tie20.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/map_tie30.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/map_tie40.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/map_tie50.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/vector_tie.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/vector_tie10.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/vector_tie20.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/vector_tie30.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/vector_tie40.hpp
+#usr/include/boost/fusion/container/generation/detail/preprocessed/vector_tie50.hpp
+#usr/include/boost/fusion/container/generation/ignore.hpp
+#usr/include/boost/fusion/container/generation/list_tie.hpp
+#usr/include/boost/fusion/container/generation/make_cons.hpp
+#usr/include/boost/fusion/container/generation/make_deque.hpp
+#usr/include/boost/fusion/container/generation/make_list.hpp
+#usr/include/boost/fusion/container/generation/make_map.hpp
+#usr/include/boost/fusion/container/generation/make_set.hpp
+#usr/include/boost/fusion/container/generation/make_vector.hpp
+#usr/include/boost/fusion/container/generation/map_tie.hpp
+#usr/include/boost/fusion/container/generation/pair_tie.hpp
+#usr/include/boost/fusion/container/generation/vector_tie.hpp
+#usr/include/boost/fusion/container/list
+#usr/include/boost/fusion/container/list.hpp
+#usr/include/boost/fusion/container/list/cons.hpp
+#usr/include/boost/fusion/container/list/cons_fwd.hpp
+#usr/include/boost/fusion/container/list/cons_iterator.hpp
+#usr/include/boost/fusion/container/list/convert.hpp
+#usr/include/boost/fusion/container/list/detail
+#usr/include/boost/fusion/container/list/detail/at_impl.hpp
+#usr/include/boost/fusion/container/list/detail/begin_impl.hpp
+#usr/include/boost/fusion/container/list/detail/build_cons.hpp
+#usr/include/boost/fusion/container/list/detail/convert_impl.hpp
+#usr/include/boost/fusion/container/list/detail/deref_impl.hpp
+#usr/include/boost/fusion/container/list/detail/empty_impl.hpp
+#usr/include/boost/fusion/container/list/detail/end_impl.hpp
+#usr/include/boost/fusion/container/list/detail/equal_to_impl.hpp
+#usr/include/boost/fusion/container/list/detail/list_forward_ctor.hpp
+#usr/include/boost/fusion/container/list/detail/list_to_cons.hpp
+#usr/include/boost/fusion/container/list/detail/list_to_cons_call.hpp
+#usr/include/boost/fusion/container/list/detail/next_impl.hpp
+#usr/include/boost/fusion/container/list/detail/preprocessed
+#usr/include/boost/fusion/container/list/detail/preprocessed/list.hpp
+#usr/include/boost/fusion/container/list/detail/preprocessed/list10.hpp
+#usr/include/boost/fusion/container/list/detail/preprocessed/list10_fwd.hpp
+#usr/include/boost/fusion/container/list/detail/preprocessed/list20.hpp
+#usr/include/boost/fusion/container/list/detail/preprocessed/list20_fwd.hpp
+#usr/include/boost/fusion/container/list/detail/preprocessed/list30.hpp
+#usr/include/boost/fusion/container/list/detail/preprocessed/list30_fwd.hpp
+#usr/include/boost/fusion/container/list/detail/preprocessed/list40.hpp
+#usr/include/boost/fusion/container/list/detail/preprocessed/list40_fwd.hpp
+#usr/include/boost/fusion/container/list/detail/preprocessed/list50.hpp
+#usr/include/boost/fusion/container/list/detail/preprocessed/list50_fwd.hpp
+#usr/include/boost/fusion/container/list/detail/preprocessed/list_fwd.hpp
+#usr/include/boost/fusion/container/list/detail/preprocessed/list_to_cons.hpp
+#usr/include/boost/fusion/container/list/detail/preprocessed/list_to_cons10.hpp
+#usr/include/boost/fusion/container/list/detail/preprocessed/list_to_cons20.hpp
+#usr/include/boost/fusion/container/list/detail/preprocessed/list_to_cons30.hpp
+#usr/include/boost/fusion/container/list/detail/preprocessed/list_to_cons40.hpp
+#usr/include/boost/fusion/container/list/detail/preprocessed/list_to_cons50.hpp
+#usr/include/boost/fusion/container/list/detail/reverse_cons.hpp
+#usr/include/boost/fusion/container/list/detail/value_at_impl.hpp
+#usr/include/boost/fusion/container/list/detail/value_of_impl.hpp
+#usr/include/boost/fusion/container/list/limits.hpp
+#usr/include/boost/fusion/container/list/list.hpp
+#usr/include/boost/fusion/container/list/list_fwd.hpp
+#usr/include/boost/fusion/container/map
+#usr/include/boost/fusion/container/map.hpp
+#usr/include/boost/fusion/container/map/convert.hpp
+#usr/include/boost/fusion/container/map/detail
+#usr/include/boost/fusion/container/map/detail/at_impl.hpp
+#usr/include/boost/fusion/container/map/detail/at_key_impl.hpp
+#usr/include/boost/fusion/container/map/detail/begin_impl.hpp
+#usr/include/boost/fusion/container/map/detail/build_map.hpp
+#usr/include/boost/fusion/container/map/detail/cpp03
+#usr/include/boost/fusion/container/map/detail/cpp03/as_map.hpp
+#usr/include/boost/fusion/container/map/detail/cpp03/at_impl.hpp
+#usr/include/boost/fusion/container/map/detail/cpp03/begin_impl.hpp
+#usr/include/boost/fusion/container/map/detail/cpp03/convert.hpp
+#usr/include/boost/fusion/container/map/detail/cpp03/convert_impl.hpp
+#usr/include/boost/fusion/container/map/detail/cpp03/deref_data_impl.hpp
+#usr/include/boost/fusion/container/map/detail/cpp03/deref_impl.hpp
+#usr/include/boost/fusion/container/map/detail/cpp03/end_impl.hpp
+#usr/include/boost/fusion/container/map/detail/cpp03/key_of_impl.hpp
+#usr/include/boost/fusion/container/map/detail/cpp03/limits.hpp
+#usr/include/boost/fusion/container/map/detail/cpp03/map.hpp
+#usr/include/boost/fusion/container/map/detail/cpp03/map_forward_ctor.hpp
+#usr/include/boost/fusion/container/map/detail/cpp03/map_fwd.hpp
+#usr/include/boost/fusion/container/map/detail/cpp03/preprocessed
+#usr/include/boost/fusion/container/map/detail/cpp03/preprocessed/as_map.hpp
+#usr/include/boost/fusion/container/map/detail/cpp03/preprocessed/as_map10.hpp
+#usr/include/boost/fusion/container/map/detail/cpp03/preprocessed/as_map20.hpp
+#usr/include/boost/fusion/container/map/detail/cpp03/preprocessed/as_map30.hpp
+#usr/include/boost/fusion/container/map/detail/cpp03/preprocessed/as_map40.hpp
+#usr/include/boost/fusion/container/map/detail/cpp03/preprocessed/as_map50.hpp
+#usr/include/boost/fusion/container/map/detail/cpp03/preprocessed/map.hpp
+#usr/include/boost/fusion/container/map/detail/cpp03/preprocessed/map10.hpp
+#usr/include/boost/fusion/container/map/detail/cpp03/preprocessed/map10_fwd.hpp
+#usr/include/boost/fusion/container/map/detail/cpp03/preprocessed/map20.hpp
+#usr/include/boost/fusion/container/map/detail/cpp03/preprocessed/map20_fwd.hpp
+#usr/include/boost/fusion/container/map/detail/cpp03/preprocessed/map30.hpp
+#usr/include/boost/fusion/container/map/detail/cpp03/preprocessed/map30_fwd.hpp
+#usr/include/boost/fusion/container/map/detail/cpp03/preprocessed/map40.hpp
+#usr/include/boost/fusion/container/map/detail/cpp03/preprocessed/map40_fwd.hpp
+#usr/include/boost/fusion/container/map/detail/cpp03/preprocessed/map50.hpp
+#usr/include/boost/fusion/container/map/detail/cpp03/preprocessed/map50_fwd.hpp
+#usr/include/boost/fusion/container/map/detail/cpp03/preprocessed/map_fwd.hpp
+#usr/include/boost/fusion/container/map/detail/cpp03/value_at_impl.hpp
+#usr/include/boost/fusion/container/map/detail/cpp03/value_of_data_impl.hpp
+#usr/include/boost/fusion/container/map/detail/cpp03/value_of_impl.hpp
+#usr/include/boost/fusion/container/map/detail/end_impl.hpp
+#usr/include/boost/fusion/container/map/detail/map_impl.hpp
+#usr/include/boost/fusion/container/map/detail/map_index.hpp
+#usr/include/boost/fusion/container/map/detail/value_at_impl.hpp
+#usr/include/boost/fusion/container/map/detail/value_at_key_impl.hpp
+#usr/include/boost/fusion/container/map/map.hpp
+#usr/include/boost/fusion/container/map/map_fwd.hpp
+#usr/include/boost/fusion/container/map/map_iterator.hpp
+#usr/include/boost/fusion/container/set
+#usr/include/boost/fusion/container/set.hpp
+#usr/include/boost/fusion/container/set/convert.hpp
+#usr/include/boost/fusion/container/set/detail
+#usr/include/boost/fusion/container/set/detail/as_set.hpp
+#usr/include/boost/fusion/container/set/detail/begin_impl.hpp
+#usr/include/boost/fusion/container/set/detail/convert_impl.hpp
+#usr/include/boost/fusion/container/set/detail/deref_data_impl.hpp
+#usr/include/boost/fusion/container/set/detail/deref_impl.hpp
+#usr/include/boost/fusion/container/set/detail/end_impl.hpp
+#usr/include/boost/fusion/container/set/detail/key_of_impl.hpp
+#usr/include/boost/fusion/container/set/detail/preprocessed
+#usr/include/boost/fusion/container/set/detail/preprocessed/as_set.hpp
+#usr/include/boost/fusion/container/set/detail/preprocessed/as_set10.hpp
+#usr/include/boost/fusion/container/set/detail/preprocessed/as_set20.hpp
+#usr/include/boost/fusion/container/set/detail/preprocessed/as_set30.hpp
+#usr/include/boost/fusion/container/set/detail/preprocessed/as_set40.hpp
+#usr/include/boost/fusion/container/set/detail/preprocessed/as_set50.hpp
+#usr/include/boost/fusion/container/set/detail/preprocessed/set.hpp
+#usr/include/boost/fusion/container/set/detail/preprocessed/set10.hpp
+#usr/include/boost/fusion/container/set/detail/preprocessed/set10_fwd.hpp
+#usr/include/boost/fusion/container/set/detail/preprocessed/set20.hpp
+#usr/include/boost/fusion/container/set/detail/preprocessed/set20_fwd.hpp
+#usr/include/boost/fusion/container/set/detail/preprocessed/set30.hpp
+#usr/include/boost/fusion/container/set/detail/preprocessed/set30_fwd.hpp
+#usr/include/boost/fusion/container/set/detail/preprocessed/set40.hpp
+#usr/include/boost/fusion/container/set/detail/preprocessed/set40_fwd.hpp
+#usr/include/boost/fusion/container/set/detail/preprocessed/set50.hpp
+#usr/include/boost/fusion/container/set/detail/preprocessed/set50_fwd.hpp
+#usr/include/boost/fusion/container/set/detail/preprocessed/set_fwd.hpp
+#usr/include/boost/fusion/container/set/detail/set_forward_ctor.hpp
+#usr/include/boost/fusion/container/set/detail/value_of_data_impl.hpp
+#usr/include/boost/fusion/container/set/detail/value_of_impl.hpp
+#usr/include/boost/fusion/container/set/limits.hpp
+#usr/include/boost/fusion/container/set/set.hpp
+#usr/include/boost/fusion/container/set/set_fwd.hpp
+#usr/include/boost/fusion/container/vector
+#usr/include/boost/fusion/container/vector.hpp
+#usr/include/boost/fusion/container/vector/convert.hpp
+#usr/include/boost/fusion/container/vector/detail
+#usr/include/boost/fusion/container/vector/detail/advance_impl.hpp
+#usr/include/boost/fusion/container/vector/detail/as_vector.hpp
+#usr/include/boost/fusion/container/vector/detail/at_impl.hpp
+#usr/include/boost/fusion/container/vector/detail/begin_impl.hpp
+#usr/include/boost/fusion/container/vector/detail/convert_impl.hpp
+#usr/include/boost/fusion/container/vector/detail/deref_impl.hpp
+#usr/include/boost/fusion/container/vector/detail/distance_impl.hpp
+#usr/include/boost/fusion/container/vector/detail/end_impl.hpp
+#usr/include/boost/fusion/container/vector/detail/equal_to_impl.hpp
+#usr/include/boost/fusion/container/vector/detail/next_impl.hpp
+#usr/include/boost/fusion/container/vector/detail/preprocessed
+#usr/include/boost/fusion/container/vector/detail/preprocessed/as_vector.hpp
+#usr/include/boost/fusion/container/vector/detail/preprocessed/as_vector10.hpp
+#usr/include/boost/fusion/container/vector/detail/preprocessed/as_vector20.hpp
+#usr/include/boost/fusion/container/vector/detail/preprocessed/as_vector30.hpp
+#usr/include/boost/fusion/container/vector/detail/preprocessed/as_vector40.hpp
+#usr/include/boost/fusion/container/vector/detail/preprocessed/as_vector50.hpp
+#usr/include/boost/fusion/container/vector/detail/preprocessed/vector.hpp
+#usr/include/boost/fusion/container/vector/detail/preprocessed/vector10.hpp
+#usr/include/boost/fusion/container/vector/detail/preprocessed/vector10_fwd.hpp
+#usr/include/boost/fusion/container/vector/detail/preprocessed/vector20.hpp
+#usr/include/boost/fusion/container/vector/detail/preprocessed/vector20_fwd.hpp
+#usr/include/boost/fusion/container/vector/detail/preprocessed/vector30.hpp
+#usr/include/boost/fusion/container/vector/detail/preprocessed/vector30_fwd.hpp
+#usr/include/boost/fusion/container/vector/detail/preprocessed/vector40.hpp
+#usr/include/boost/fusion/container/vector/detail/preprocessed/vector40_fwd.hpp
+#usr/include/boost/fusion/container/vector/detail/preprocessed/vector50.hpp
+#usr/include/boost/fusion/container/vector/detail/preprocessed/vector50_fwd.hpp
+#usr/include/boost/fusion/container/vector/detail/preprocessed/vector_chooser.hpp
+#usr/include/boost/fusion/container/vector/detail/preprocessed/vector_chooser10.hpp
+#usr/include/boost/fusion/container/vector/detail/preprocessed/vector_chooser20.hpp
+#usr/include/boost/fusion/container/vector/detail/preprocessed/vector_chooser30.hpp
+#usr/include/boost/fusion/container/vector/detail/preprocessed/vector_chooser40.hpp
+#usr/include/boost/fusion/container/vector/detail/preprocessed/vector_chooser50.hpp
+#usr/include/boost/fusion/container/vector/detail/preprocessed/vector_fwd.hpp
+#usr/include/boost/fusion/container/vector/detail/preprocessed/vvector10.hpp
+#usr/include/boost/fusion/container/vector/detail/preprocessed/vvector10_fwd.hpp
+#usr/include/boost/fusion/container/vector/detail/preprocessed/vvector20.hpp
+#usr/include/boost/fusion/container/vector/detail/preprocessed/vvector20_fwd.hpp
+#usr/include/boost/fusion/container/vector/detail/preprocessed/vvector30.hpp
+#usr/include/boost/fusion/container/vector/detail/preprocessed/vvector30_fwd.hpp
+#usr/include/boost/fusion/container/vector/detail/preprocessed/vvector40.hpp
+#usr/include/boost/fusion/container/vector/detail/preprocessed/vvector40_fwd.hpp
+#usr/include/boost/fusion/container/vector/detail/preprocessed/vvector50.hpp
+#usr/include/boost/fusion/container/vector/detail/preprocessed/vvector50_fwd.hpp
+#usr/include/boost/fusion/container/vector/detail/prior_impl.hpp
+#usr/include/boost/fusion/container/vector/detail/value_at_impl.hpp
+#usr/include/boost/fusion/container/vector/detail/value_of_impl.hpp
+#usr/include/boost/fusion/container/vector/detail/vector_forward_ctor.hpp
+#usr/include/boost/fusion/container/vector/detail/vector_n.hpp
+#usr/include/boost/fusion/container/vector/detail/vector_n_chooser.hpp
+#usr/include/boost/fusion/container/vector/limits.hpp
+#usr/include/boost/fusion/container/vector/vector.hpp
+#usr/include/boost/fusion/container/vector/vector10.hpp
+#usr/include/boost/fusion/container/vector/vector10_fwd.hpp
+#usr/include/boost/fusion/container/vector/vector20.hpp
+#usr/include/boost/fusion/container/vector/vector20_fwd.hpp
+#usr/include/boost/fusion/container/vector/vector30.hpp
+#usr/include/boost/fusion/container/vector/vector30_fwd.hpp
+#usr/include/boost/fusion/container/vector/vector40.hpp
+#usr/include/boost/fusion/container/vector/vector40_fwd.hpp
+#usr/include/boost/fusion/container/vector/vector50.hpp
+#usr/include/boost/fusion/container/vector/vector50_fwd.hpp
+#usr/include/boost/fusion/container/vector/vector_fwd.hpp
+#usr/include/boost/fusion/container/vector/vector_iterator.hpp
+#usr/include/boost/fusion/functional
+#usr/include/boost/fusion/functional.hpp
+#usr/include/boost/fusion/functional/adapter
+#usr/include/boost/fusion/functional/adapter.hpp
+#usr/include/boost/fusion/functional/adapter/detail
+#usr/include/boost/fusion/functional/adapter/detail/access.hpp
+#usr/include/boost/fusion/functional/adapter/fused.hpp
+#usr/include/boost/fusion/functional/adapter/fused_function_object.hpp
+#usr/include/boost/fusion/functional/adapter/fused_procedure.hpp
+#usr/include/boost/fusion/functional/adapter/limits.hpp
+#usr/include/boost/fusion/functional/adapter/unfused.hpp
+#usr/include/boost/fusion/functional/adapter/unfused_typed.hpp
+#usr/include/boost/fusion/functional/generation
+#usr/include/boost/fusion/functional/generation.hpp
+#usr/include/boost/fusion/functional/generation/detail
+#usr/include/boost/fusion/functional/generation/detail/gen_make_adapter.hpp
+#usr/include/boost/fusion/functional/generation/make_fused.hpp
+#usr/include/boost/fusion/functional/generation/make_fused_function_object.hpp
+#usr/include/boost/fusion/functional/generation/make_fused_procedure.hpp
+#usr/include/boost/fusion/functional/generation/make_unfused.hpp
+#usr/include/boost/fusion/functional/invocation
+#usr/include/boost/fusion/functional/invocation.hpp
+#usr/include/boost/fusion/functional/invocation/detail
+#usr/include/boost/fusion/functional/invocation/detail/that_ptr.hpp
+#usr/include/boost/fusion/functional/invocation/invoke.hpp
+#usr/include/boost/fusion/functional/invocation/invoke_function_object.hpp
+#usr/include/boost/fusion/functional/invocation/invoke_procedure.hpp
+#usr/include/boost/fusion/functional/invocation/limits.hpp
+#usr/include/boost/fusion/include
+#usr/include/boost/fusion/include/accumulate.hpp
+#usr/include/boost/fusion/include/adapt_adt.hpp
+#usr/include/boost/fusion/include/adapt_adt_named.hpp
+#usr/include/boost/fusion/include/adapt_assoc_adt.hpp
+#usr/include/boost/fusion/include/adapt_assoc_adt_named.hpp
+#usr/include/boost/fusion/include/adapt_assoc_class.hpp
+#usr/include/boost/fusion/include/adapt_assoc_class_named.hpp
+#usr/include/boost/fusion/include/adapt_assoc_struct.hpp
+#usr/include/boost/fusion/include/adapt_assoc_struct_named.hpp
+#usr/include/boost/fusion/include/adapt_struct.hpp
+#usr/include/boost/fusion/include/adapt_struct_named.hpp
+#usr/include/boost/fusion/include/adapted.hpp
+#usr/include/boost/fusion/include/adapter.hpp
+#usr/include/boost/fusion/include/advance.hpp
+#usr/include/boost/fusion/include/algorithm.hpp
+#usr/include/boost/fusion/include/all.hpp
+#usr/include/boost/fusion/include/any.hpp
+#usr/include/boost/fusion/include/array.hpp
+#usr/include/boost/fusion/include/as_deque.hpp
+#usr/include/boost/fusion/include/as_list.hpp
+#usr/include/boost/fusion/include/as_map.hpp
+#usr/include/boost/fusion/include/as_set.hpp
+#usr/include/boost/fusion/include/as_vector.hpp
+#usr/include/boost/fusion/include/at.hpp
+#usr/include/boost/fusion/include/at_c.hpp
+#usr/include/boost/fusion/include/at_key.hpp
+#usr/include/boost/fusion/include/auxiliary.hpp
+#usr/include/boost/fusion/include/back.hpp
+#usr/include/boost/fusion/include/begin.hpp
+#usr/include/boost/fusion/include/boost_array.hpp
+#usr/include/boost/fusion/include/boost_tuple.hpp
+#usr/include/boost/fusion/include/category_of.hpp
+#usr/include/boost/fusion/include/clear.hpp
+#usr/include/boost/fusion/include/comparison.hpp
+#usr/include/boost/fusion/include/cons.hpp
+#usr/include/boost/fusion/include/cons_tie.hpp
+#usr/include/boost/fusion/include/container.hpp
+#usr/include/boost/fusion/include/convert.hpp
+#usr/include/boost/fusion/include/copy.hpp
+#usr/include/boost/fusion/include/count.hpp
+#usr/include/boost/fusion/include/count_if.hpp
+#usr/include/boost/fusion/include/deduce.hpp
+#usr/include/boost/fusion/include/deduce_sequence.hpp
+#usr/include/boost/fusion/include/define_assoc_struct.hpp
+#usr/include/boost/fusion/include/define_struct.hpp
+#usr/include/boost/fusion/include/define_struct_inline.hpp
+#usr/include/boost/fusion/include/deque.hpp
+#usr/include/boost/fusion/include/deque_fwd.hpp
+#usr/include/boost/fusion/include/deque_tie.hpp
+#usr/include/boost/fusion/include/deref.hpp
+#usr/include/boost/fusion/include/deref_data.hpp
+#usr/include/boost/fusion/include/distance.hpp
+#usr/include/boost/fusion/include/empty.hpp
+#usr/include/boost/fusion/include/end.hpp
+#usr/include/boost/fusion/include/equal_to.hpp
+#usr/include/boost/fusion/include/erase.hpp
+#usr/include/boost/fusion/include/erase_key.hpp
+#usr/include/boost/fusion/include/filter.hpp
+#usr/include/boost/fusion/include/filter_if.hpp
+#usr/include/boost/fusion/include/filter_view.hpp
+#usr/include/boost/fusion/include/find.hpp
+#usr/include/boost/fusion/include/find_if.hpp
+#usr/include/boost/fusion/include/fold.hpp
+#usr/include/boost/fusion/include/for_each.hpp
+#usr/include/boost/fusion/include/front.hpp
+#usr/include/boost/fusion/include/functional.hpp
+#usr/include/boost/fusion/include/fused.hpp
+#usr/include/boost/fusion/include/fused_function_object.hpp
+#usr/include/boost/fusion/include/fused_procedure.hpp
+#usr/include/boost/fusion/include/generation.hpp
+#usr/include/boost/fusion/include/greater.hpp
+#usr/include/boost/fusion/include/greater_equal.hpp
+#usr/include/boost/fusion/include/has_key.hpp
+#usr/include/boost/fusion/include/ignore.hpp
+#usr/include/boost/fusion/include/in.hpp
+#usr/include/boost/fusion/include/insert.hpp
+#usr/include/boost/fusion/include/insert_range.hpp
+#usr/include/boost/fusion/include/intrinsic.hpp
+#usr/include/boost/fusion/include/invocation.hpp
+#usr/include/boost/fusion/include/invoke.hpp
+#usr/include/boost/fusion/include/invoke_function_object.hpp
+#usr/include/boost/fusion/include/invoke_procedure.hpp
+#usr/include/boost/fusion/include/io.hpp
+#usr/include/boost/fusion/include/is_iterator.hpp
+#usr/include/boost/fusion/include/is_segmented.hpp
+#usr/include/boost/fusion/include/is_sequence.hpp
+#usr/include/boost/fusion/include/is_view.hpp
+#usr/include/boost/fusion/include/iter_fold.hpp
+#usr/include/boost/fusion/include/iteration.hpp
+#usr/include/boost/fusion/include/iterator.hpp
+#usr/include/boost/fusion/include/iterator_adapter.hpp
+#usr/include/boost/fusion/include/iterator_base.hpp
+#usr/include/boost/fusion/include/iterator_facade.hpp
+#usr/include/boost/fusion/include/iterator_range.hpp
+#usr/include/boost/fusion/include/join.hpp
+#usr/include/boost/fusion/include/joint_view.hpp
+#usr/include/boost/fusion/include/key_of.hpp
+#usr/include/boost/fusion/include/less.hpp
+#usr/include/boost/fusion/include/less_equal.hpp
+#usr/include/boost/fusion/include/list.hpp
+#usr/include/boost/fusion/include/list_fwd.hpp
+#usr/include/boost/fusion/include/list_tie.hpp
+#usr/include/boost/fusion/include/make_cons.hpp
+#usr/include/boost/fusion/include/make_deque.hpp
+#usr/include/boost/fusion/include/make_fused.hpp
+#usr/include/boost/fusion/include/make_fused_function_object.hpp
+#usr/include/boost/fusion/include/make_fused_procedure.hpp
+#usr/include/boost/fusion/include/make_list.hpp
+#usr/include/boost/fusion/include/make_map.hpp
+#usr/include/boost/fusion/include/make_set.hpp
+#usr/include/boost/fusion/include/make_tuple.hpp
+#usr/include/boost/fusion/include/make_unfused.hpp
+#usr/include/boost/fusion/include/make_vector.hpp
+#usr/include/boost/fusion/include/map.hpp
+#usr/include/boost/fusion/include/map_fwd.hpp
+#usr/include/boost/fusion/include/map_tie.hpp
+#usr/include/boost/fusion/include/move.hpp
+#usr/include/boost/fusion/include/mpl.hpp
+#usr/include/boost/fusion/include/next.hpp
+#usr/include/boost/fusion/include/none.hpp
+#usr/include/boost/fusion/include/not_equal_to.hpp
+#usr/include/boost/fusion/include/nview.hpp
+#usr/include/boost/fusion/include/out.hpp
+#usr/include/boost/fusion/include/pair.hpp
+#usr/include/boost/fusion/include/pair_tie.hpp
+#usr/include/boost/fusion/include/pop_back.hpp
+#usr/include/boost/fusion/include/pop_front.hpp
+#usr/include/boost/fusion/include/prior.hpp
+#usr/include/boost/fusion/include/proxy_type.hpp
+#usr/include/boost/fusion/include/push_back.hpp
+#usr/include/boost/fusion/include/push_front.hpp
+#usr/include/boost/fusion/include/query.hpp
+#usr/include/boost/fusion/include/remove.hpp
+#usr/include/boost/fusion/include/remove_if.hpp
+#usr/include/boost/fusion/include/repetitive_view.hpp
+#usr/include/boost/fusion/include/replace.hpp
+#usr/include/boost/fusion/include/replace_if.hpp
+#usr/include/boost/fusion/include/reverse.hpp
+#usr/include/boost/fusion/include/reverse_fold.hpp
+#usr/include/boost/fusion/include/reverse_iter_fold.hpp
+#usr/include/boost/fusion/include/reverse_view.hpp
+#usr/include/boost/fusion/include/segmented_fold_until.hpp
+#usr/include/boost/fusion/include/segmented_iterator.hpp
+#usr/include/boost/fusion/include/segments.hpp
+#usr/include/boost/fusion/include/sequence.hpp
+#usr/include/boost/fusion/include/sequence_base.hpp
+#usr/include/boost/fusion/include/sequence_facade.hpp
+#usr/include/boost/fusion/include/set.hpp
+#usr/include/boost/fusion/include/set_fwd.hpp
+#usr/include/boost/fusion/include/single_view.hpp
+#usr/include/boost/fusion/include/size.hpp
+#usr/include/boost/fusion/include/std_pair.hpp
+#usr/include/boost/fusion/include/struct.hpp
+#usr/include/boost/fusion/include/support.hpp
+#usr/include/boost/fusion/include/swap.hpp
+#usr/include/boost/fusion/include/tag_of.hpp
+#usr/include/boost/fusion/include/tag_of_fwd.hpp
+#usr/include/boost/fusion/include/transform.hpp
+#usr/include/boost/fusion/include/transform_view.hpp
+#usr/include/boost/fusion/include/transformation.hpp
+#usr/include/boost/fusion/include/tuple.hpp
+#usr/include/boost/fusion/include/tuple_fwd.hpp
+#usr/include/boost/fusion/include/tuple_tie.hpp
+#usr/include/boost/fusion/include/unfused.hpp
+#usr/include/boost/fusion/include/unfused_typed.hpp
+#usr/include/boost/fusion/include/unused.hpp
+#usr/include/boost/fusion/include/value_at.hpp
+#usr/include/boost/fusion/include/value_at_key.hpp
+#usr/include/boost/fusion/include/value_of.hpp
+#usr/include/boost/fusion/include/value_of_data.hpp
+#usr/include/boost/fusion/include/vector.hpp
+#usr/include/boost/fusion/include/vector10.hpp
+#usr/include/boost/fusion/include/vector20.hpp
+#usr/include/boost/fusion/include/vector30.hpp
+#usr/include/boost/fusion/include/vector40.hpp
+#usr/include/boost/fusion/include/vector50.hpp
+#usr/include/boost/fusion/include/vector_fwd.hpp
+#usr/include/boost/fusion/include/vector_tie.hpp
+#usr/include/boost/fusion/include/view.hpp
+#usr/include/boost/fusion/include/void.hpp
+#usr/include/boost/fusion/include/zip.hpp
+#usr/include/boost/fusion/include/zip_view.hpp
+#usr/include/boost/fusion/iterator
+#usr/include/boost/fusion/iterator.hpp
+#usr/include/boost/fusion/iterator/advance.hpp
+#usr/include/boost/fusion/iterator/basic_iterator.hpp
+#usr/include/boost/fusion/iterator/deref.hpp
+#usr/include/boost/fusion/iterator/deref_data.hpp
+#usr/include/boost/fusion/iterator/detail
+#usr/include/boost/fusion/iterator/detail/adapt_deref_traits.hpp
+#usr/include/boost/fusion/iterator/detail/adapt_value_traits.hpp
+#usr/include/boost/fusion/iterator/detail/advance.hpp
+#usr/include/boost/fusion/iterator/detail/distance.hpp
+#usr/include/boost/fusion/iterator/detail/segment_sequence.hpp
+#usr/include/boost/fusion/iterator/detail/segmented_equal_to.hpp
+#usr/include/boost/fusion/iterator/detail/segmented_iterator.hpp
+#usr/include/boost/fusion/iterator/detail/segmented_next_impl.hpp
+#usr/include/boost/fusion/iterator/distance.hpp
+#usr/include/boost/fusion/iterator/equal_to.hpp
+#usr/include/boost/fusion/iterator/iterator_adapter.hpp
+#usr/include/boost/fusion/iterator/iterator_facade.hpp
+#usr/include/boost/fusion/iterator/key_of.hpp
+#usr/include/boost/fusion/iterator/mpl
+#usr/include/boost/fusion/iterator/mpl.hpp
+#usr/include/boost/fusion/iterator/mpl/convert_iterator.hpp
+#usr/include/boost/fusion/iterator/mpl/fusion_iterator.hpp
+#usr/include/boost/fusion/iterator/next.hpp
+#usr/include/boost/fusion/iterator/prior.hpp
+#usr/include/boost/fusion/iterator/segmented_iterator.hpp
+#usr/include/boost/fusion/iterator/value_of.hpp
+#usr/include/boost/fusion/iterator/value_of_data.hpp
+#usr/include/boost/fusion/mpl
+#usr/include/boost/fusion/mpl.hpp
+#usr/include/boost/fusion/mpl/at.hpp
+#usr/include/boost/fusion/mpl/back.hpp
+#usr/include/boost/fusion/mpl/begin.hpp
+#usr/include/boost/fusion/mpl/clear.hpp
+#usr/include/boost/fusion/mpl/detail
+#usr/include/boost/fusion/mpl/detail/clear.hpp
+#usr/include/boost/fusion/mpl/empty.hpp
+#usr/include/boost/fusion/mpl/end.hpp
+#usr/include/boost/fusion/mpl/erase.hpp
+#usr/include/boost/fusion/mpl/erase_key.hpp
+#usr/include/boost/fusion/mpl/front.hpp
+#usr/include/boost/fusion/mpl/has_key.hpp
+#usr/include/boost/fusion/mpl/insert.hpp
+#usr/include/boost/fusion/mpl/insert_range.hpp
+#usr/include/boost/fusion/mpl/pop_back.hpp
+#usr/include/boost/fusion/mpl/pop_front.hpp
+#usr/include/boost/fusion/mpl/push_back.hpp
+#usr/include/boost/fusion/mpl/push_front.hpp
+#usr/include/boost/fusion/mpl/size.hpp
+#usr/include/boost/fusion/sequence
+#usr/include/boost/fusion/sequence.hpp
+#usr/include/boost/fusion/sequence/comparison
+#usr/include/boost/fusion/sequence/comparison.hpp
+#usr/include/boost/fusion/sequence/comparison/detail
+#usr/include/boost/fusion/sequence/comparison/detail/equal_to.hpp
+#usr/include/boost/fusion/sequence/comparison/detail/greater.hpp
+#usr/include/boost/fusion/sequence/comparison/detail/greater_equal.hpp
+#usr/include/boost/fusion/sequence/comparison/detail/less.hpp
+#usr/include/boost/fusion/sequence/comparison/detail/less_equal.hpp
+#usr/include/boost/fusion/sequence/comparison/detail/not_equal_to.hpp
+#usr/include/boost/fusion/sequence/comparison/enable_comparison.hpp
+#usr/include/boost/fusion/sequence/comparison/equal_to.hpp
+#usr/include/boost/fusion/sequence/comparison/greater.hpp
+#usr/include/boost/fusion/sequence/comparison/greater_equal.hpp
+#usr/include/boost/fusion/sequence/comparison/less.hpp
+#usr/include/boost/fusion/sequence/comparison/less_equal.hpp
+#usr/include/boost/fusion/sequence/comparison/not_equal_to.hpp
+#usr/include/boost/fusion/sequence/convert.hpp
+#usr/include/boost/fusion/sequence/intrinsic
+#usr/include/boost/fusion/sequence/intrinsic.hpp
+#usr/include/boost/fusion/sequence/intrinsic/at.hpp
+#usr/include/boost/fusion/sequence/intrinsic/at_c.hpp
+#usr/include/boost/fusion/sequence/intrinsic/at_key.hpp
+#usr/include/boost/fusion/sequence/intrinsic/back.hpp
+#usr/include/boost/fusion/sequence/intrinsic/begin.hpp
+#usr/include/boost/fusion/sequence/intrinsic/detail
+#usr/include/boost/fusion/sequence/intrinsic/detail/segmented_begin.hpp
+#usr/include/boost/fusion/sequence/intrinsic/detail/segmented_begin_impl.hpp
+#usr/include/boost/fusion/sequence/intrinsic/detail/segmented_end.hpp
+#usr/include/boost/fusion/sequence/intrinsic/detail/segmented_end_impl.hpp
+#usr/include/boost/fusion/sequence/intrinsic/detail/segmented_size.hpp
+#usr/include/boost/fusion/sequence/intrinsic/empty.hpp
+#usr/include/boost/fusion/sequence/intrinsic/end.hpp
+#usr/include/boost/fusion/sequence/intrinsic/front.hpp
+#usr/include/boost/fusion/sequence/intrinsic/has_key.hpp
+#usr/include/boost/fusion/sequence/intrinsic/segments.hpp
+#usr/include/boost/fusion/sequence/intrinsic/size.hpp
+#usr/include/boost/fusion/sequence/intrinsic/swap.hpp
+#usr/include/boost/fusion/sequence/intrinsic/value_at.hpp
+#usr/include/boost/fusion/sequence/intrinsic/value_at_key.hpp
+#usr/include/boost/fusion/sequence/intrinsic_fwd.hpp
+#usr/include/boost/fusion/sequence/io
+#usr/include/boost/fusion/sequence/io.hpp
+#usr/include/boost/fusion/sequence/io/detail
+#usr/include/boost/fusion/sequence/io/detail/in.hpp
+#usr/include/boost/fusion/sequence/io/detail/manip.hpp
+#usr/include/boost/fusion/sequence/io/detail/out.hpp
+#usr/include/boost/fusion/sequence/io/in.hpp
+#usr/include/boost/fusion/sequence/io/out.hpp
+#usr/include/boost/fusion/sequence/sequence_facade.hpp
+#usr/include/boost/fusion/support
+#usr/include/boost/fusion/support.hpp
+#usr/include/boost/fusion/support/as_const.hpp
+#usr/include/boost/fusion/support/category_of.hpp
+#usr/include/boost/fusion/support/deduce.hpp
+#usr/include/boost/fusion/support/deduce_sequence.hpp
+#usr/include/boost/fusion/support/detail
+#usr/include/boost/fusion/support/detail/access.hpp
+#usr/include/boost/fusion/support/detail/as_fusion_element.hpp
+#usr/include/boost/fusion/support/detail/category_of.hpp
+#usr/include/boost/fusion/support/detail/is_mpl_sequence.hpp
+#usr/include/boost/fusion/support/detail/is_view.hpp
+#usr/include/boost/fusion/support/detail/mpl_iterator_category.hpp
+#usr/include/boost/fusion/support/detail/pp_round.hpp
+#usr/include/boost/fusion/support/detail/segmented_fold_until_impl.hpp
+#usr/include/boost/fusion/support/detail/unknown_key.hpp
+#usr/include/boost/fusion/support/is_iterator.hpp
+#usr/include/boost/fusion/support/is_segmented.hpp
+#usr/include/boost/fusion/support/is_sequence.hpp
+#usr/include/boost/fusion/support/is_view.hpp
+#usr/include/boost/fusion/support/iterator_base.hpp
+#usr/include/boost/fusion/support/pair.hpp
+#usr/include/boost/fusion/support/segmented_fold_until.hpp
+#usr/include/boost/fusion/support/sequence_base.hpp
+#usr/include/boost/fusion/support/tag_of.hpp
+#usr/include/boost/fusion/support/tag_of_fwd.hpp
+#usr/include/boost/fusion/support/unused.hpp
+#usr/include/boost/fusion/support/void.hpp
+#usr/include/boost/fusion/tuple
+#usr/include/boost/fusion/tuple.hpp
+#usr/include/boost/fusion/tuple/detail
+#usr/include/boost/fusion/tuple/detail/preprocessed
+#usr/include/boost/fusion/tuple/detail/preprocessed/make_tuple.hpp
+#usr/include/boost/fusion/tuple/detail/preprocessed/make_tuple10.hpp
+#usr/include/boost/fusion/tuple/detail/preprocessed/make_tuple20.hpp
+#usr/include/boost/fusion/tuple/detail/preprocessed/make_tuple30.hpp
+#usr/include/boost/fusion/tuple/detail/preprocessed/make_tuple40.hpp
+#usr/include/boost/fusion/tuple/detail/preprocessed/make_tuple50.hpp
+#usr/include/boost/fusion/tuple/detail/preprocessed/tuple.hpp
+#usr/include/boost/fusion/tuple/detail/preprocessed/tuple10.hpp
+#usr/include/boost/fusion/tuple/detail/preprocessed/tuple10_fwd.hpp
+#usr/include/boost/fusion/tuple/detail/preprocessed/tuple20.hpp
+#usr/include/boost/fusion/tuple/detail/preprocessed/tuple20_fwd.hpp
+#usr/include/boost/fusion/tuple/detail/preprocessed/tuple30.hpp
+#usr/include/boost/fusion/tuple/detail/preprocessed/tuple30_fwd.hpp
+#usr/include/boost/fusion/tuple/detail/preprocessed/tuple40.hpp
+#usr/include/boost/fusion/tuple/detail/preprocessed/tuple40_fwd.hpp
+#usr/include/boost/fusion/tuple/detail/preprocessed/tuple50.hpp
+#usr/include/boost/fusion/tuple/detail/preprocessed/tuple50_fwd.hpp
+#usr/include/boost/fusion/tuple/detail/preprocessed/tuple_fwd.hpp
+#usr/include/boost/fusion/tuple/detail/preprocessed/tuple_tie.hpp
+#usr/include/boost/fusion/tuple/detail/preprocessed/tuple_tie10.hpp
+#usr/include/boost/fusion/tuple/detail/preprocessed/tuple_tie20.hpp
+#usr/include/boost/fusion/tuple/detail/preprocessed/tuple_tie30.hpp
+#usr/include/boost/fusion/tuple/detail/preprocessed/tuple_tie40.hpp
+#usr/include/boost/fusion/tuple/detail/preprocessed/tuple_tie50.hpp
+#usr/include/boost/fusion/tuple/detail/tuple_expand.hpp
+#usr/include/boost/fusion/tuple/make_tuple.hpp
+#usr/include/boost/fusion/tuple/tuple.hpp
+#usr/include/boost/fusion/tuple/tuple_fwd.hpp
+#usr/include/boost/fusion/tuple/tuple_tie.hpp
+#usr/include/boost/fusion/view
+#usr/include/boost/fusion/view.hpp
+#usr/include/boost/fusion/view/detail
+#usr/include/boost/fusion/view/detail/strictest_traversal.hpp
+#usr/include/boost/fusion/view/filter_view
+#usr/include/boost/fusion/view/filter_view.hpp
+#usr/include/boost/fusion/view/filter_view/detail
+#usr/include/boost/fusion/view/filter_view/detail/begin_impl.hpp
+#usr/include/boost/fusion/view/filter_view/detail/deref_data_impl.hpp
+#usr/include/boost/fusion/view/filter_view/detail/deref_impl.hpp
+#usr/include/boost/fusion/view/filter_view/detail/end_impl.hpp
+#usr/include/boost/fusion/view/filter_view/detail/equal_to_impl.hpp
+#usr/include/boost/fusion/view/filter_view/detail/key_of_impl.hpp
+#usr/include/boost/fusion/view/filter_view/detail/next_impl.hpp
+#usr/include/boost/fusion/view/filter_view/detail/size_impl.hpp
+#usr/include/boost/fusion/view/filter_view/detail/value_of_data_impl.hpp
+#usr/include/boost/fusion/view/filter_view/detail/value_of_impl.hpp
+#usr/include/boost/fusion/view/filter_view/filter_view.hpp
+#usr/include/boost/fusion/view/filter_view/filter_view_iterator.hpp
+#usr/include/boost/fusion/view/iterator_range
+#usr/include/boost/fusion/view/iterator_range.hpp
+#usr/include/boost/fusion/view/iterator_range/detail
+#usr/include/boost/fusion/view/iterator_range/detail/at_impl.hpp
+#usr/include/boost/fusion/view/iterator_range/detail/begin_impl.hpp
+#usr/include/boost/fusion/view/iterator_range/detail/end_impl.hpp
+#usr/include/boost/fusion/view/iterator_range/detail/is_segmented_impl.hpp
+#usr/include/boost/fusion/view/iterator_range/detail/segmented_iterator_range.hpp
+#usr/include/boost/fusion/view/iterator_range/detail/segments_impl.hpp
+#usr/include/boost/fusion/view/iterator_range/detail/size_impl.hpp
+#usr/include/boost/fusion/view/iterator_range/detail/value_at_impl.hpp
+#usr/include/boost/fusion/view/iterator_range/iterator_range.hpp
+#usr/include/boost/fusion/view/joint_view
+#usr/include/boost/fusion/view/joint_view.hpp
+#usr/include/boost/fusion/view/joint_view/detail
+#usr/include/boost/fusion/view/joint_view/detail/begin_impl.hpp
+#usr/include/boost/fusion/view/joint_view/detail/deref_data_impl.hpp
+#usr/include/boost/fusion/view/joint_view/detail/deref_impl.hpp
+#usr/include/boost/fusion/view/joint_view/detail/end_impl.hpp
+#usr/include/boost/fusion/view/joint_view/detail/key_of_impl.hpp
+#usr/include/boost/fusion/view/joint_view/detail/next_impl.hpp
+#usr/include/boost/fusion/view/joint_view/detail/value_of_data_impl.hpp
+#usr/include/boost/fusion/view/joint_view/detail/value_of_impl.hpp
+#usr/include/boost/fusion/view/joint_view/joint_view.hpp
+#usr/include/boost/fusion/view/joint_view/joint_view_fwd.hpp
+#usr/include/boost/fusion/view/joint_view/joint_view_iterator.hpp
+#usr/include/boost/fusion/view/nview
+#usr/include/boost/fusion/view/nview.hpp
+#usr/include/boost/fusion/view/nview/detail
+#usr/include/boost/fusion/view/nview/detail/advance_impl.hpp
+#usr/include/boost/fusion/view/nview/detail/at_impl.hpp
+#usr/include/boost/fusion/view/nview/detail/begin_impl.hpp
+#usr/include/boost/fusion/view/nview/detail/deref_impl.hpp
+#usr/include/boost/fusion/view/nview/detail/distance_impl.hpp
+#usr/include/boost/fusion/view/nview/detail/end_impl.hpp
+#usr/include/boost/fusion/view/nview/detail/equal_to_impl.hpp
+#usr/include/boost/fusion/view/nview/detail/next_impl.hpp
+#usr/include/boost/fusion/view/nview/detail/nview_impl.hpp
+#usr/include/boost/fusion/view/nview/detail/prior_impl.hpp
+#usr/include/boost/fusion/view/nview/detail/size_impl.hpp
+#usr/include/boost/fusion/view/nview/detail/value_at_impl.hpp
+#usr/include/boost/fusion/view/nview/detail/value_of_impl.hpp
+#usr/include/boost/fusion/view/nview/nview.hpp
+#usr/include/boost/fusion/view/nview/nview_iterator.hpp
+#usr/include/boost/fusion/view/repetitive_view
+#usr/include/boost/fusion/view/repetitive_view.hpp
+#usr/include/boost/fusion/view/repetitive_view/detail
+#usr/include/boost/fusion/view/repetitive_view/detail/begin_impl.hpp
+#usr/include/boost/fusion/view/repetitive_view/detail/deref_impl.hpp
+#usr/include/boost/fusion/view/repetitive_view/detail/end_impl.hpp
+#usr/include/boost/fusion/view/repetitive_view/detail/next_impl.hpp
+#usr/include/boost/fusion/view/repetitive_view/detail/value_of_impl.hpp
+#usr/include/boost/fusion/view/repetitive_view/repetitive_view.hpp
+#usr/include/boost/fusion/view/repetitive_view/repetitive_view_fwd.hpp
+#usr/include/boost/fusion/view/repetitive_view/repetitive_view_iterator.hpp
+#usr/include/boost/fusion/view/reverse_view
+#usr/include/boost/fusion/view/reverse_view.hpp
+#usr/include/boost/fusion/view/reverse_view/detail
+#usr/include/boost/fusion/view/reverse_view/detail/advance_impl.hpp
+#usr/include/boost/fusion/view/reverse_view/detail/at_impl.hpp
+#usr/include/boost/fusion/view/reverse_view/detail/begin_impl.hpp
+#usr/include/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp
+#usr/include/boost/fusion/view/reverse_view/detail/deref_impl.hpp
+#usr/include/boost/fusion/view/reverse_view/detail/distance_impl.hpp
+#usr/include/boost/fusion/view/reverse_view/detail/end_impl.hpp
+#usr/include/boost/fusion/view/reverse_view/detail/key_of_impl.hpp
+#usr/include/boost/fusion/view/reverse_view/detail/next_impl.hpp
+#usr/include/boost/fusion/view/reverse_view/detail/prior_impl.hpp
+#usr/include/boost/fusion/view/reverse_view/detail/value_at_impl.hpp
+#usr/include/boost/fusion/view/reverse_view/detail/value_of_data_impl.hpp
+#usr/include/boost/fusion/view/reverse_view/detail/value_of_impl.hpp
+#usr/include/boost/fusion/view/reverse_view/reverse_view.hpp
+#usr/include/boost/fusion/view/reverse_view/reverse_view_iterator.hpp
+#usr/include/boost/fusion/view/single_view
+#usr/include/boost/fusion/view/single_view.hpp
+#usr/include/boost/fusion/view/single_view/detail
+#usr/include/boost/fusion/view/single_view/detail/advance_impl.hpp
+#usr/include/boost/fusion/view/single_view/detail/at_impl.hpp
+#usr/include/boost/fusion/view/single_view/detail/begin_impl.hpp
+#usr/include/boost/fusion/view/single_view/detail/deref_impl.hpp
+#usr/include/boost/fusion/view/single_view/detail/distance_impl.hpp
+#usr/include/boost/fusion/view/single_view/detail/end_impl.hpp
+#usr/include/boost/fusion/view/single_view/detail/equal_to_impl.hpp
+#usr/include/boost/fusion/view/single_view/detail/next_impl.hpp
+#usr/include/boost/fusion/view/single_view/detail/prior_impl.hpp
+#usr/include/boost/fusion/view/single_view/detail/size_impl.hpp
+#usr/include/boost/fusion/view/single_view/detail/value_at_impl.hpp
+#usr/include/boost/fusion/view/single_view/detail/value_of_impl.hpp
+#usr/include/boost/fusion/view/single_view/single_view.hpp
+#usr/include/boost/fusion/view/single_view/single_view_iterator.hpp
+#usr/include/boost/fusion/view/transform_view
+#usr/include/boost/fusion/view/transform_view.hpp
+#usr/include/boost/fusion/view/transform_view/detail
+#usr/include/boost/fusion/view/transform_view/detail/advance_impl.hpp
+#usr/include/boost/fusion/view/transform_view/detail/apply_transform_result.hpp
+#usr/include/boost/fusion/view/transform_view/detail/at_impl.hpp
+#usr/include/boost/fusion/view/transform_view/detail/begin_impl.hpp
+#usr/include/boost/fusion/view/transform_view/detail/deref_impl.hpp
+#usr/include/boost/fusion/view/transform_view/detail/distance_impl.hpp
+#usr/include/boost/fusion/view/transform_view/detail/end_impl.hpp
+#usr/include/boost/fusion/view/transform_view/detail/equal_to_impl.hpp
+#usr/include/boost/fusion/view/transform_view/detail/next_impl.hpp
+#usr/include/boost/fusion/view/transform_view/detail/prior_impl.hpp
+#usr/include/boost/fusion/view/transform_view/detail/value_at_impl.hpp
+#usr/include/boost/fusion/view/transform_view/detail/value_of_impl.hpp
+#usr/include/boost/fusion/view/transform_view/transform_view.hpp
+#usr/include/boost/fusion/view/transform_view/transform_view_fwd.hpp
+#usr/include/boost/fusion/view/transform_view/transform_view_iterator.hpp
+#usr/include/boost/fusion/view/zip_view
+#usr/include/boost/fusion/view/zip_view.hpp
+#usr/include/boost/fusion/view/zip_view/detail
+#usr/include/boost/fusion/view/zip_view/detail/advance_impl.hpp
+#usr/include/boost/fusion/view/zip_view/detail/at_impl.hpp
+#usr/include/boost/fusion/view/zip_view/detail/begin_impl.hpp
+#usr/include/boost/fusion/view/zip_view/detail/deref_impl.hpp
+#usr/include/boost/fusion/view/zip_view/detail/distance_impl.hpp
+#usr/include/boost/fusion/view/zip_view/detail/end_impl.hpp
+#usr/include/boost/fusion/view/zip_view/detail/equal_to_impl.hpp
+#usr/include/boost/fusion/view/zip_view/detail/next_impl.hpp
+#usr/include/boost/fusion/view/zip_view/detail/prior_impl.hpp
+#usr/include/boost/fusion/view/zip_view/detail/size_impl.hpp
+#usr/include/boost/fusion/view/zip_view/detail/value_at_impl.hpp
+#usr/include/boost/fusion/view/zip_view/detail/value_of_impl.hpp
+#usr/include/boost/fusion/view/zip_view/zip_view.hpp
+#usr/include/boost/fusion/view/zip_view/zip_view_iterator.hpp
+#usr/include/boost/fusion/view/zip_view/zip_view_iterator_fwd.hpp
+#usr/include/boost/generator_iterator.hpp
+#usr/include/boost/geometry
+#usr/include/boost/geometry.hpp
+#usr/include/boost/geometry/algorithms
+#usr/include/boost/geometry/algorithms/append.hpp
+#usr/include/boost/geometry/algorithms/area.hpp
+#usr/include/boost/geometry/algorithms/assign.hpp
+#usr/include/boost/geometry/algorithms/buffer.hpp
+#usr/include/boost/geometry/algorithms/centroid.hpp
+#usr/include/boost/geometry/algorithms/clear.hpp
+#usr/include/boost/geometry/algorithms/comparable_distance.hpp
+#usr/include/boost/geometry/algorithms/convert.hpp
+#usr/include/boost/geometry/algorithms/convex_hull.hpp
+#usr/include/boost/geometry/algorithms/correct.hpp
+#usr/include/boost/geometry/algorithms/covered_by.hpp
+#usr/include/boost/geometry/algorithms/detail
+#usr/include/boost/geometry/algorithms/detail/as_range.hpp
+#usr/include/boost/geometry/algorithms/detail/assign_box_corners.hpp
+#usr/include/boost/geometry/algorithms/detail/assign_indexed_point.hpp
+#usr/include/boost/geometry/algorithms/detail/assign_values.hpp
+#usr/include/boost/geometry/algorithms/detail/calculate_null.hpp
+#usr/include/boost/geometry/algorithms/detail/calculate_sum.hpp
+#usr/include/boost/geometry/algorithms/detail/convert_indexed_to_indexed.hpp
+#usr/include/boost/geometry/algorithms/detail/convert_point_to_point.hpp
+#usr/include/boost/geometry/algorithms/detail/disjoint.hpp
+#usr/include/boost/geometry/algorithms/detail/equals
+#usr/include/boost/geometry/algorithms/detail/equals/collect_vectors.hpp
+#usr/include/boost/geometry/algorithms/detail/for_each_range.hpp
+#usr/include/boost/geometry/algorithms/detail/get_left_turns.hpp
+#usr/include/boost/geometry/algorithms/detail/has_self_intersections.hpp
+#usr/include/boost/geometry/algorithms/detail/not.hpp
+#usr/include/boost/geometry/algorithms/detail/occupation_info.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay
+#usr/include/boost/geometry/algorithms/detail/overlay/add_rings.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/append_no_duplicates.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/append_no_dups_or_spikes.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/assign_parents.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/backtrack_check_si.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/calculate_distance_policy.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/check_enrich.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/clip_linestring.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/convert_ring.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/copy_segment_point.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/copy_segments.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/debug_turn_info.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/enrich_intersection_points.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/enrichment_info.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/follow.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/get_intersection_points.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/get_relative_order.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/get_ring.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/get_turn_info.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/get_turns.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/handle_tangencies.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/intersection_insert.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/overlay.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/overlay_type.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/ring_properties.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/segment_identifier.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/select_rings.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/self_turn_points.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/stream_info.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/traversal_info.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/traverse.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/turn_info.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/visit_info.hpp
+#usr/include/boost/geometry/algorithms/detail/partition.hpp
+#usr/include/boost/geometry/algorithms/detail/point_is_spike_or_equal.hpp
+#usr/include/boost/geometry/algorithms/detail/point_on_border.hpp
+#usr/include/boost/geometry/algorithms/detail/ring_identifier.hpp
+#usr/include/boost/geometry/algorithms/detail/sections
+#usr/include/boost/geometry/algorithms/detail/sections/range_by_section.hpp
+#usr/include/boost/geometry/algorithms/detail/sections/sectionalize.hpp
+#usr/include/boost/geometry/algorithms/detail/throw_on_empty_input.hpp
+#usr/include/boost/geometry/algorithms/difference.hpp
+#usr/include/boost/geometry/algorithms/disjoint.hpp
+#usr/include/boost/geometry/algorithms/distance.hpp
+#usr/include/boost/geometry/algorithms/envelope.hpp
+#usr/include/boost/geometry/algorithms/equals.hpp
+#usr/include/boost/geometry/algorithms/expand.hpp
+#usr/include/boost/geometry/algorithms/for_each.hpp
+#usr/include/boost/geometry/algorithms/intersection.hpp
+#usr/include/boost/geometry/algorithms/intersects.hpp
+#usr/include/boost/geometry/algorithms/length.hpp
+#usr/include/boost/geometry/algorithms/make.hpp
+#usr/include/boost/geometry/algorithms/not_implemented.hpp
+#usr/include/boost/geometry/algorithms/num_geometries.hpp
+#usr/include/boost/geometry/algorithms/num_interior_rings.hpp
+#usr/include/boost/geometry/algorithms/num_points.hpp
+#usr/include/boost/geometry/algorithms/overlaps.hpp
+#usr/include/boost/geometry/algorithms/perimeter.hpp
+#usr/include/boost/geometry/algorithms/reverse.hpp
+#usr/include/boost/geometry/algorithms/simplify.hpp
+#usr/include/boost/geometry/algorithms/sym_difference.hpp
+#usr/include/boost/geometry/algorithms/touches.hpp
+#usr/include/boost/geometry/algorithms/transform.hpp
+#usr/include/boost/geometry/algorithms/union.hpp
+#usr/include/boost/geometry/algorithms/unique.hpp
+#usr/include/boost/geometry/algorithms/within.hpp
+#usr/include/boost/geometry/arithmetic
+#usr/include/boost/geometry/arithmetic/arithmetic.hpp
+#usr/include/boost/geometry/arithmetic/determinant.hpp
+#usr/include/boost/geometry/arithmetic/dot_product.hpp
+#usr/include/boost/geometry/core
+#usr/include/boost/geometry/core/access.hpp
+#usr/include/boost/geometry/core/closure.hpp
+#usr/include/boost/geometry/core/coordinate_dimension.hpp
+#usr/include/boost/geometry/core/coordinate_system.hpp
+#usr/include/boost/geometry/core/coordinate_type.hpp
+#usr/include/boost/geometry/core/cs.hpp
+#usr/include/boost/geometry/core/exception.hpp
+#usr/include/boost/geometry/core/exterior_ring.hpp
+#usr/include/boost/geometry/core/geometry_id.hpp
+#usr/include/boost/geometry/core/interior_rings.hpp
+#usr/include/boost/geometry/core/interior_type.hpp
+#usr/include/boost/geometry/core/is_areal.hpp
+#usr/include/boost/geometry/core/mutable_range.hpp
+#usr/include/boost/geometry/core/point_order.hpp
+#usr/include/boost/geometry/core/point_type.hpp
+#usr/include/boost/geometry/core/radian_access.hpp
+#usr/include/boost/geometry/core/reverse_dispatch.hpp
+#usr/include/boost/geometry/core/ring_type.hpp
+#usr/include/boost/geometry/core/tag.hpp
+#usr/include/boost/geometry/core/tag_cast.hpp
+#usr/include/boost/geometry/core/tags.hpp
+#usr/include/boost/geometry/core/topological_dimension.hpp
+#usr/include/boost/geometry/geometries
+#usr/include/boost/geometry/geometries/adapted
+#usr/include/boost/geometry/geometries/adapted/boost_array.hpp
+#usr/include/boost/geometry/geometries/adapted/boost_fusion.hpp
+#usr/include/boost/geometry/geometries/adapted/boost_polygon
+#usr/include/boost/geometry/geometries/adapted/boost_polygon.hpp
+#usr/include/boost/geometry/geometries/adapted/boost_polygon/box.hpp
+#usr/include/boost/geometry/geometries/adapted/boost_polygon/hole_iterator.hpp
+#usr/include/boost/geometry/geometries/adapted/boost_polygon/holes_proxy.hpp
+#usr/include/boost/geometry/geometries/adapted/boost_polygon/point.hpp
+#usr/include/boost/geometry/geometries/adapted/boost_polygon/polygon.hpp
+#usr/include/boost/geometry/geometries/adapted/boost_polygon/ring.hpp
+#usr/include/boost/geometry/geometries/adapted/boost_polygon/ring_proxy.hpp
+#usr/include/boost/geometry/geometries/adapted/boost_range
+#usr/include/boost/geometry/geometries/adapted/boost_range/adjacent_filtered.hpp
+#usr/include/boost/geometry/geometries/adapted/boost_range/filtered.hpp
+#usr/include/boost/geometry/geometries/adapted/boost_range/reversed.hpp
+#usr/include/boost/geometry/geometries/adapted/boost_range/sliced.hpp
+#usr/include/boost/geometry/geometries/adapted/boost_range/strided.hpp
+#usr/include/boost/geometry/geometries/adapted/boost_range/uniqued.hpp
+#usr/include/boost/geometry/geometries/adapted/boost_tuple.hpp
+#usr/include/boost/geometry/geometries/adapted/c_array.hpp
+#usr/include/boost/geometry/geometries/adapted/std_pair_as_segment.hpp
+#usr/include/boost/geometry/geometries/box.hpp
+#usr/include/boost/geometry/geometries/concepts
+#usr/include/boost/geometry/geometries/concepts/box_concept.hpp
+#usr/include/boost/geometry/geometries/concepts/check.hpp
+#usr/include/boost/geometry/geometries/concepts/linestring_concept.hpp
+#usr/include/boost/geometry/geometries/concepts/point_concept.hpp
+#usr/include/boost/geometry/geometries/concepts/polygon_concept.hpp
+#usr/include/boost/geometry/geometries/concepts/ring_concept.hpp
+#usr/include/boost/geometry/geometries/concepts/segment_concept.hpp
+#usr/include/boost/geometry/geometries/geometries.hpp
+#usr/include/boost/geometry/geometries/linestring.hpp
+#usr/include/boost/geometry/geometries/point.hpp
+#usr/include/boost/geometry/geometries/point_xy.hpp
+#usr/include/boost/geometry/geometries/polygon.hpp
+#usr/include/boost/geometry/geometries/register
+#usr/include/boost/geometry/geometries/register/box.hpp
+#usr/include/boost/geometry/geometries/register/linestring.hpp
+#usr/include/boost/geometry/geometries/register/point.hpp
+#usr/include/boost/geometry/geometries/register/ring.hpp
+#usr/include/boost/geometry/geometries/register/segment.hpp
+#usr/include/boost/geometry/geometries/ring.hpp
+#usr/include/boost/geometry/geometries/segment.hpp
+#usr/include/boost/geometry/geometries/variant.hpp
+#usr/include/boost/geometry/geometry.hpp
+#usr/include/boost/geometry/index
+#usr/include/boost/geometry/index/adaptors
+#usr/include/boost/geometry/index/adaptors/query.hpp
+#usr/include/boost/geometry/index/detail
+#usr/include/boost/geometry/index/detail/algorithms
+#usr/include/boost/geometry/index/detail/algorithms/bounds.hpp
+#usr/include/boost/geometry/index/detail/algorithms/comparable_distance_centroid.hpp
+#usr/include/boost/geometry/index/detail/algorithms/comparable_distance_far.hpp
+#usr/include/boost/geometry/index/detail/algorithms/comparable_distance_near.hpp
+#usr/include/boost/geometry/index/detail/algorithms/content.hpp
+#usr/include/boost/geometry/index/detail/algorithms/diff_abs.hpp
+#usr/include/boost/geometry/index/detail/algorithms/intersection_content.hpp
+#usr/include/boost/geometry/index/detail/algorithms/is_valid.hpp
+#usr/include/boost/geometry/index/detail/algorithms/margin.hpp
+#usr/include/boost/geometry/index/detail/algorithms/minmaxdist.hpp
+#usr/include/boost/geometry/index/detail/algorithms/path_intersection.hpp
+#usr/include/boost/geometry/index/detail/algorithms/segment_intersection.hpp
+#usr/include/boost/geometry/index/detail/algorithms/smallest_for_indexable.hpp
+#usr/include/boost/geometry/index/detail/algorithms/sum_for_indexable.hpp
+#usr/include/boost/geometry/index/detail/algorithms/union_content.hpp
+#usr/include/boost/geometry/index/detail/assert.hpp
+#usr/include/boost/geometry/index/detail/config_begin.hpp
+#usr/include/boost/geometry/index/detail/config_end.hpp
+#usr/include/boost/geometry/index/detail/distance_predicates.hpp
+#usr/include/boost/geometry/index/detail/exception.hpp
+#usr/include/boost/geometry/index/detail/meta.hpp
+#usr/include/boost/geometry/index/detail/predicates.hpp
+#usr/include/boost/geometry/index/detail/pushable_array.hpp
+#usr/include/boost/geometry/index/detail/rtree
+#usr/include/boost/geometry/index/detail/rtree/adaptors.hpp
+#usr/include/boost/geometry/index/detail/rtree/kmeans
+#usr/include/boost/geometry/index/detail/rtree/kmeans/kmeans.hpp
+#usr/include/boost/geometry/index/detail/rtree/kmeans/split.hpp
+#usr/include/boost/geometry/index/detail/rtree/linear
+#usr/include/boost/geometry/index/detail/rtree/linear/linear.hpp
+#usr/include/boost/geometry/index/detail/rtree/linear/redistribute_elements.hpp
+#usr/include/boost/geometry/index/detail/rtree/node
+#usr/include/boost/geometry/index/detail/rtree/node/auto_deallocator.hpp
+#usr/include/boost/geometry/index/detail/rtree/node/concept.hpp
+#usr/include/boost/geometry/index/detail/rtree/node/dynamic_visitor.hpp
+#usr/include/boost/geometry/index/detail/rtree/node/node.hpp
+#usr/include/boost/geometry/index/detail/rtree/node/node_auto_ptr.hpp
+#usr/include/boost/geometry/index/detail/rtree/node/node_d_mem_dynamic.hpp
+#usr/include/boost/geometry/index/detail/rtree/node/node_d_mem_static.hpp
+#usr/include/boost/geometry/index/detail/rtree/node/node_s_mem_dynamic.hpp
+#usr/include/boost/geometry/index/detail/rtree/node/node_s_mem_static.hpp
+#usr/include/boost/geometry/index/detail/rtree/node/pairs.hpp
+#usr/include/boost/geometry/index/detail/rtree/node/static_visitor.hpp
+#usr/include/boost/geometry/index/detail/rtree/options.hpp
+#usr/include/boost/geometry/index/detail/rtree/pack_create.hpp
+#usr/include/boost/geometry/index/detail/rtree/quadratic
+#usr/include/boost/geometry/index/detail/rtree/quadratic/quadratic.hpp
+#usr/include/boost/geometry/index/detail/rtree/quadratic/redistribute_elements.hpp
+#usr/include/boost/geometry/index/detail/rtree/query_iterators.hpp
+#usr/include/boost/geometry/index/detail/rtree/rstar
+#usr/include/boost/geometry/index/detail/rtree/rstar/choose_next_node.hpp
+#usr/include/boost/geometry/index/detail/rtree/rstar/insert.hpp
+#usr/include/boost/geometry/index/detail/rtree/rstar/redistribute_elements.hpp
+#usr/include/boost/geometry/index/detail/rtree/rstar/rstar.hpp
+#usr/include/boost/geometry/index/detail/rtree/utilities
+#usr/include/boost/geometry/index/detail/rtree/utilities/are_boxes_ok.hpp
+#usr/include/boost/geometry/index/detail/rtree/utilities/are_levels_ok.hpp
+#usr/include/boost/geometry/index/detail/rtree/utilities/gl_draw.hpp
+#usr/include/boost/geometry/index/detail/rtree/utilities/print.hpp
+#usr/include/boost/geometry/index/detail/rtree/utilities/statistics.hpp
+#usr/include/boost/geometry/index/detail/rtree/utilities/view.hpp
+#usr/include/boost/geometry/index/detail/rtree/visitors
+#usr/include/boost/geometry/index/detail/rtree/visitors/children_box.hpp
+#usr/include/boost/geometry/index/detail/rtree/visitors/copy.hpp
+#usr/include/boost/geometry/index/detail/rtree/visitors/count.hpp
+#usr/include/boost/geometry/index/detail/rtree/visitors/destroy.hpp
+#usr/include/boost/geometry/index/detail/rtree/visitors/distance_query.hpp
+#usr/include/boost/geometry/index/detail/rtree/visitors/insert.hpp
+#usr/include/boost/geometry/index/detail/rtree/visitors/is_leaf.hpp
+#usr/include/boost/geometry/index/detail/rtree/visitors/remove.hpp
+#usr/include/boost/geometry/index/detail/rtree/visitors/spatial_query.hpp
+#usr/include/boost/geometry/index/detail/serialization.hpp
+#usr/include/boost/geometry/index/detail/tags.hpp
+#usr/include/boost/geometry/index/detail/translator.hpp
+#usr/include/boost/geometry/index/detail/tuples.hpp
+#usr/include/boost/geometry/index/detail/utilities.hpp
+#usr/include/boost/geometry/index/detail/varray.hpp
+#usr/include/boost/geometry/index/detail/varray_detail.hpp
+#usr/include/boost/geometry/index/distance_predicates.hpp
+#usr/include/boost/geometry/index/equal_to.hpp
+#usr/include/boost/geometry/index/indexable.hpp
+#usr/include/boost/geometry/index/inserter.hpp
+#usr/include/boost/geometry/index/parameters.hpp
+#usr/include/boost/geometry/index/predicates.hpp
+#usr/include/boost/geometry/index/rtree.hpp
+#usr/include/boost/geometry/io
+#usr/include/boost/geometry/io/dsv
+#usr/include/boost/geometry/io/dsv/write.hpp
+#usr/include/boost/geometry/io/io.hpp
+#usr/include/boost/geometry/io/svg
+#usr/include/boost/geometry/io/svg/svg_mapper.hpp
+#usr/include/boost/geometry/io/svg/write_svg.hpp
+#usr/include/boost/geometry/io/svg/write_svg_multi.hpp
+#usr/include/boost/geometry/io/wkt
+#usr/include/boost/geometry/io/wkt/detail
+#usr/include/boost/geometry/io/wkt/detail/prefix.hpp
+#usr/include/boost/geometry/io/wkt/detail/wkt_multi.hpp
+#usr/include/boost/geometry/io/wkt/read.hpp
+#usr/include/boost/geometry/io/wkt/stream.hpp
+#usr/include/boost/geometry/io/wkt/wkt.hpp
+#usr/include/boost/geometry/io/wkt/write.hpp
+#usr/include/boost/geometry/iterators
+#usr/include/boost/geometry/iterators/base.hpp
+#usr/include/boost/geometry/iterators/closing_iterator.hpp
+#usr/include/boost/geometry/iterators/ever_circling_iterator.hpp
+#usr/include/boost/geometry/multi
+#usr/include/boost/geometry/multi/algorithms
+#usr/include/boost/geometry/multi/algorithms/append.hpp
+#usr/include/boost/geometry/multi/algorithms/area.hpp
+#usr/include/boost/geometry/multi/algorithms/centroid.hpp
+#usr/include/boost/geometry/multi/algorithms/clear.hpp
+#usr/include/boost/geometry/multi/algorithms/convert.hpp
+#usr/include/boost/geometry/multi/algorithms/correct.hpp
+#usr/include/boost/geometry/multi/algorithms/covered_by.hpp
+#usr/include/boost/geometry/multi/algorithms/detail
+#usr/include/boost/geometry/multi/algorithms/detail/for_each_range.hpp
+#usr/include/boost/geometry/multi/algorithms/detail/modify.hpp
+#usr/include/boost/geometry/multi/algorithms/detail/modify_with_predicate.hpp
+#usr/include/boost/geometry/multi/algorithms/detail/multi_sum.hpp
+#usr/include/boost/geometry/multi/algorithms/detail/overlay
+#usr/include/boost/geometry/multi/algorithms/detail/overlay/copy_segment_point.hpp
+#usr/include/boost/geometry/multi/algorithms/detail/overlay/copy_segments.hpp
+#usr/include/boost/geometry/multi/algorithms/detail/overlay/get_ring.hpp
+#usr/include/boost/geometry/multi/algorithms/detail/overlay/get_turns.hpp
+#usr/include/boost/geometry/multi/algorithms/detail/overlay/select_rings.hpp
+#usr/include/boost/geometry/multi/algorithms/detail/overlay/self_turn_points.hpp
+#usr/include/boost/geometry/multi/algorithms/detail/point_on_border.hpp
+#usr/include/boost/geometry/multi/algorithms/detail/sections
+#usr/include/boost/geometry/multi/algorithms/detail/sections/range_by_section.hpp
+#usr/include/boost/geometry/multi/algorithms/detail/sections/sectionalize.hpp
+#usr/include/boost/geometry/multi/algorithms/disjoint.hpp
+#usr/include/boost/geometry/multi/algorithms/distance.hpp
+#usr/include/boost/geometry/multi/algorithms/envelope.hpp
+#usr/include/boost/geometry/multi/algorithms/equals.hpp
+#usr/include/boost/geometry/multi/algorithms/for_each.hpp
+#usr/include/boost/geometry/multi/algorithms/intersection.hpp
+#usr/include/boost/geometry/multi/algorithms/length.hpp
+#usr/include/boost/geometry/multi/algorithms/num_geometries.hpp
+#usr/include/boost/geometry/multi/algorithms/num_interior_rings.hpp
+#usr/include/boost/geometry/multi/algorithms/num_points.hpp
+#usr/include/boost/geometry/multi/algorithms/perimeter.hpp
+#usr/include/boost/geometry/multi/algorithms/reverse.hpp
+#usr/include/boost/geometry/multi/algorithms/simplify.hpp
+#usr/include/boost/geometry/multi/algorithms/transform.hpp
+#usr/include/boost/geometry/multi/algorithms/unique.hpp
+#usr/include/boost/geometry/multi/algorithms/within.hpp
+#usr/include/boost/geometry/multi/core
+#usr/include/boost/geometry/multi/core/closure.hpp
+#usr/include/boost/geometry/multi/core/geometry_id.hpp
+#usr/include/boost/geometry/multi/core/interior_rings.hpp
+#usr/include/boost/geometry/multi/core/is_areal.hpp
+#usr/include/boost/geometry/multi/core/point_order.hpp
+#usr/include/boost/geometry/multi/core/point_type.hpp
+#usr/include/boost/geometry/multi/core/ring_type.hpp
+#usr/include/boost/geometry/multi/core/tags.hpp
+#usr/include/boost/geometry/multi/core/topological_dimension.hpp
+#usr/include/boost/geometry/multi/geometries
+#usr/include/boost/geometry/multi/geometries/concepts
+#usr/include/boost/geometry/multi/geometries/concepts/check.hpp
+#usr/include/boost/geometry/multi/geometries/concepts/multi_linestring_concept.hpp
+#usr/include/boost/geometry/multi/geometries/concepts/multi_point_concept.hpp
+#usr/include/boost/geometry/multi/geometries/concepts/multi_polygon_concept.hpp
+#usr/include/boost/geometry/multi/geometries/multi_geometries.hpp
+#usr/include/boost/geometry/multi/geometries/multi_linestring.hpp
+#usr/include/boost/geometry/multi/geometries/multi_point.hpp
+#usr/include/boost/geometry/multi/geometries/multi_polygon.hpp
+#usr/include/boost/geometry/multi/geometries/register
+#usr/include/boost/geometry/multi/geometries/register/multi_linestring.hpp
+#usr/include/boost/geometry/multi/geometries/register/multi_point.hpp
+#usr/include/boost/geometry/multi/geometries/register/multi_polygon.hpp
+#usr/include/boost/geometry/multi/io
+#usr/include/boost/geometry/multi/io/dsv
+#usr/include/boost/geometry/multi/io/dsv/write.hpp
+#usr/include/boost/geometry/multi/io/wkt
+#usr/include/boost/geometry/multi/io/wkt/detail
+#usr/include/boost/geometry/multi/io/wkt/detail/prefix.hpp
+#usr/include/boost/geometry/multi/io/wkt/read.hpp
+#usr/include/boost/geometry/multi/io/wkt/wkt.hpp
+#usr/include/boost/geometry/multi/io/wkt/write.hpp
+#usr/include/boost/geometry/multi/multi.hpp
+#usr/include/boost/geometry/multi/strategies
+#usr/include/boost/geometry/multi/strategies/cartesian
+#usr/include/boost/geometry/multi/strategies/cartesian/centroid_average.hpp
+#usr/include/boost/geometry/multi/views
+#usr/include/boost/geometry/multi/views/detail
+#usr/include/boost/geometry/multi/views/detail/range_type.hpp
+#usr/include/boost/geometry/policies
+#usr/include/boost/geometry/policies/compare.hpp
+#usr/include/boost/geometry/policies/relate
+#usr/include/boost/geometry/policies/relate/de9im.hpp
+#usr/include/boost/geometry/policies/relate/direction.hpp
+#usr/include/boost/geometry/policies/relate/intersection_points.hpp
+#usr/include/boost/geometry/policies/relate/tupled.hpp
+#usr/include/boost/geometry/strategies
+#usr/include/boost/geometry/strategies/agnostic
+#usr/include/boost/geometry/strategies/agnostic/hull_graham_andrew.hpp
+#usr/include/boost/geometry/strategies/agnostic/point_in_box_by_side.hpp
+#usr/include/boost/geometry/strategies/agnostic/point_in_poly_oriented_winding.hpp
+#usr/include/boost/geometry/strategies/agnostic/point_in_poly_winding.hpp
+#usr/include/boost/geometry/strategies/agnostic/simplify_douglas_peucker.hpp
+#usr/include/boost/geometry/strategies/area.hpp
+#usr/include/boost/geometry/strategies/cartesian
+#usr/include/boost/geometry/strategies/cartesian/area_surveyor.hpp
+#usr/include/boost/geometry/strategies/cartesian/box_in_box.hpp
+#usr/include/boost/geometry/strategies/cartesian/cart_intersect.hpp
+#usr/include/boost/geometry/strategies/cartesian/centroid_bashein_detmer.hpp
+#usr/include/boost/geometry/strategies/cartesian/centroid_weighted_length.hpp
+#usr/include/boost/geometry/strategies/cartesian/distance_projected_point.hpp
+#usr/include/boost/geometry/strategies/cartesian/distance_pythagoras.hpp
+#usr/include/boost/geometry/strategies/cartesian/point_in_box.hpp
+#usr/include/boost/geometry/strategies/cartesian/point_in_poly_crossings_multiply.hpp
+#usr/include/boost/geometry/strategies/cartesian/point_in_poly_franklin.hpp
+#usr/include/boost/geometry/strategies/cartesian/side_by_triangle.hpp
+#usr/include/boost/geometry/strategies/centroid.hpp
+#usr/include/boost/geometry/strategies/compare.hpp
+#usr/include/boost/geometry/strategies/concepts
+#usr/include/boost/geometry/strategies/concepts/area_concept.hpp
+#usr/include/boost/geometry/strategies/concepts/centroid_concept.hpp
+#usr/include/boost/geometry/strategies/concepts/convex_hull_concept.hpp
+#usr/include/boost/geometry/strategies/concepts/distance_concept.hpp
+#usr/include/boost/geometry/strategies/concepts/segment_intersect_concept.hpp
+#usr/include/boost/geometry/strategies/concepts/simplify_concept.hpp
+#usr/include/boost/geometry/strategies/concepts/within_concept.hpp
+#usr/include/boost/geometry/strategies/convex_hull.hpp
+#usr/include/boost/geometry/strategies/covered_by.hpp
+#usr/include/boost/geometry/strategies/default_area_result.hpp
+#usr/include/boost/geometry/strategies/default_distance_result.hpp
+#usr/include/boost/geometry/strategies/default_length_result.hpp
+#usr/include/boost/geometry/strategies/distance.hpp
+#usr/include/boost/geometry/strategies/intersection.hpp
+#usr/include/boost/geometry/strategies/intersection_result.hpp
+#usr/include/boost/geometry/strategies/side.hpp
+#usr/include/boost/geometry/strategies/side_info.hpp
+#usr/include/boost/geometry/strategies/spherical
+#usr/include/boost/geometry/strategies/spherical/area_huiller.hpp
+#usr/include/boost/geometry/strategies/spherical/compare_circular.hpp
+#usr/include/boost/geometry/strategies/spherical/distance_cross_track.hpp
+#usr/include/boost/geometry/strategies/spherical/distance_haversine.hpp
+#usr/include/boost/geometry/strategies/spherical/side_by_cross_track.hpp
+#usr/include/boost/geometry/strategies/spherical/ssf.hpp
+#usr/include/boost/geometry/strategies/strategies.hpp
+#usr/include/boost/geometry/strategies/strategy_transform.hpp
+#usr/include/boost/geometry/strategies/tags.hpp
+#usr/include/boost/geometry/strategies/transform
+#usr/include/boost/geometry/strategies/transform.hpp
+#usr/include/boost/geometry/strategies/transform/inverse_transformer.hpp
+#usr/include/boost/geometry/strategies/transform/map_transformer.hpp
+#usr/include/boost/geometry/strategies/transform/matrix_transformers.hpp
+#usr/include/boost/geometry/strategies/within.hpp
+#usr/include/boost/geometry/util
+#usr/include/boost/geometry/util/add_const_if_c.hpp
+#usr/include/boost/geometry/util/bare_type.hpp
+#usr/include/boost/geometry/util/calculation_type.hpp
+#usr/include/boost/geometry/util/closure_as_bool.hpp
+#usr/include/boost/geometry/util/coordinate_cast.hpp
+#usr/include/boost/geometry/util/for_each_coordinate.hpp
+#usr/include/boost/geometry/util/math.hpp
+#usr/include/boost/geometry/util/order_as_direction.hpp
+#usr/include/boost/geometry/util/parameter_type_of.hpp
+#usr/include/boost/geometry/util/promote_floating_point.hpp
+#usr/include/boost/geometry/util/rational.hpp
+#usr/include/boost/geometry/util/select_calculation_type.hpp
+#usr/include/boost/geometry/util/select_coordinate_type.hpp
+#usr/include/boost/geometry/util/select_most_precise.hpp
+#usr/include/boost/geometry/views
+#usr/include/boost/geometry/views/box_view.hpp
+#usr/include/boost/geometry/views/closeable_view.hpp
+#usr/include/boost/geometry/views/detail
+#usr/include/boost/geometry/views/detail/points_view.hpp
+#usr/include/boost/geometry/views/detail/range_type.hpp
+#usr/include/boost/geometry/views/identity_view.hpp
+#usr/include/boost/geometry/views/reversible_view.hpp
+#usr/include/boost/geometry/views/segment_view.hpp
+#usr/include/boost/get_pointer.hpp
+#usr/include/boost/gil
+#usr/include/boost/gil/algorithm.hpp
+#usr/include/boost/gil/bit_aligned_pixel_iterator.hpp
+#usr/include/boost/gil/bit_aligned_pixel_reference.hpp
+#usr/include/boost/gil/channel.hpp
+#usr/include/boost/gil/channel_algorithm.hpp
+#usr/include/boost/gil/cmyk.hpp
+#usr/include/boost/gil/color_base.hpp
+#usr/include/boost/gil/color_base_algorithm.hpp
+#usr/include/boost/gil/color_convert.hpp
+#usr/include/boost/gil/deprecated.hpp
+#usr/include/boost/gil/device_n.hpp
+#usr/include/boost/gil/extension
+#usr/include/boost/gil/extension/dynamic_image
+#usr/include/boost/gil/extension/dynamic_image/algorithm.hpp
+#usr/include/boost/gil/extension/dynamic_image/any_image.hpp
+#usr/include/boost/gil/extension/dynamic_image/any_image_view.hpp
+#usr/include/boost/gil/extension/dynamic_image/apply_operation.hpp
+#usr/include/boost/gil/extension/dynamic_image/apply_operation_base.hpp
+#usr/include/boost/gil/extension/dynamic_image/dynamic_at_c.hpp
+#usr/include/boost/gil/extension/dynamic_image/dynamic_image_all.hpp
+#usr/include/boost/gil/extension/dynamic_image/image_view_factory.hpp
+#usr/include/boost/gil/extension/dynamic_image/reduce.hpp
+#usr/include/boost/gil/extension/dynamic_image/variant.hpp
+#usr/include/boost/gil/extension/io
+#usr/include/boost/gil/extension/io/dynamic_io.hpp
+#usr/include/boost/gil/extension/io/io_error.hpp
+#usr/include/boost/gil/extension/io/jpeg_dynamic_io.hpp
+#usr/include/boost/gil/extension/io/jpeg_io.hpp
+#usr/include/boost/gil/extension/io/jpeg_io_private.hpp
+#usr/include/boost/gil/extension/io/png_dynamic_io.hpp
+#usr/include/boost/gil/extension/io/png_io.hpp
+#usr/include/boost/gil/extension/io/png_io_private.hpp
+#usr/include/boost/gil/extension/io/tiff_dynamic_io.hpp
+#usr/include/boost/gil/extension/io/tiff_io.hpp
+#usr/include/boost/gil/gil_all.hpp
+#usr/include/boost/gil/gil_concept.hpp
+#usr/include/boost/gil/gil_config.hpp
+#usr/include/boost/gil/gray.hpp
+#usr/include/boost/gil/image.hpp
+#usr/include/boost/gil/image_view.hpp
+#usr/include/boost/gil/image_view_factory.hpp
+#usr/include/boost/gil/iterator_from_2d.hpp
+#usr/include/boost/gil/locator.hpp
+#usr/include/boost/gil/metafunctions.hpp
+#usr/include/boost/gil/packed_pixel.hpp
+#usr/include/boost/gil/pixel.hpp
+#usr/include/boost/gil/pixel_iterator.hpp
+#usr/include/boost/gil/pixel_iterator_adaptor.hpp
+#usr/include/boost/gil/planar_pixel_iterator.hpp
+#usr/include/boost/gil/planar_pixel_reference.hpp
+#usr/include/boost/gil/position_iterator.hpp
+#usr/include/boost/gil/rgb.hpp
+#usr/include/boost/gil/rgba.hpp
+#usr/include/boost/gil/step_iterator.hpp
+#usr/include/boost/gil/typedefs.hpp
+#usr/include/boost/gil/utilities.hpp
+#usr/include/boost/gil/virtual_locator.hpp
+#usr/include/boost/graph
+#usr/include/boost/graph/accounting.hpp
+#usr/include/boost/graph/adj_list_serialize.hpp
+#usr/include/boost/graph/adjacency_iterator.hpp
+#usr/include/boost/graph/adjacency_list.hpp
+#usr/include/boost/graph/adjacency_list_io.hpp
+#usr/include/boost/graph/adjacency_matrix.hpp
+#usr/include/boost/graph/astar_search.hpp
+#usr/include/boost/graph/bandwidth.hpp
+#usr/include/boost/graph/bc_clustering.hpp
+#usr/include/boost/graph/bellman_ford_shortest_paths.hpp
+#usr/include/boost/graph/betweenness_centrality.hpp
+#usr/include/boost/graph/biconnected_components.hpp
+#usr/include/boost/graph/bipartite.hpp
+#usr/include/boost/graph/boyer_myrvold_planar_test.hpp
+#usr/include/boost/graph/boykov_kolmogorov_max_flow.hpp
+#usr/include/boost/graph/breadth_first_search.hpp
+#usr/include/boost/graph/bron_kerbosch_all_cliques.hpp
+#usr/include/boost/graph/buffer_concepts.hpp
+#usr/include/boost/graph/chrobak_payne_drawing.hpp
+#usr/include/boost/graph/circle_layout.hpp
+#usr/include/boost/graph/closeness_centrality.hpp
+#usr/include/boost/graph/clustering_coefficient.hpp
+#usr/include/boost/graph/compressed_sparse_row_graph.hpp
+#usr/include/boost/graph/connected_components.hpp
+#usr/include/boost/graph/copy.hpp
+#usr/include/boost/graph/core_numbers.hpp
+#usr/include/boost/graph/create_condensation_graph.hpp
+#usr/include/boost/graph/cuthill_mckee_ordering.hpp
+#usr/include/boost/graph/cycle_canceling.hpp
+#usr/include/boost/graph/dag_shortest_paths.hpp
+#usr/include/boost/graph/degree_centrality.hpp
+#usr/include/boost/graph/depth_first_search.hpp
+#usr/include/boost/graph/detail
+#usr/include/boost/graph/detail/adj_list_edge_iterator.hpp
+#usr/include/boost/graph/detail/adjacency_list.hpp
+#usr/include/boost/graph/detail/array_binary_tree.hpp
+#usr/include/boost/graph/detail/augment.hpp
+#usr/include/boost/graph/detail/compressed_sparse_row_struct.hpp
+#usr/include/boost/graph/detail/connected_components.hpp
+#usr/include/boost/graph/detail/d_ary_heap.hpp
+#usr/include/boost/graph/detail/edge.hpp
+#usr/include/boost/graph/detail/geodesic.hpp
+#usr/include/boost/graph/detail/histogram_sort.hpp
+#usr/include/boost/graph/detail/incidence_iterator.hpp
+#usr/include/boost/graph/detail/incremental_components.hpp
+#usr/include/boost/graph/detail/index.hpp
+#usr/include/boost/graph/detail/indexed_properties.hpp
+#usr/include/boost/graph/detail/is_distributed_selector.hpp
+#usr/include/boost/graph/detail/labeled_graph_traits.hpp
+#usr/include/boost/graph/detail/list_base.hpp
+#usr/include/boost/graph/detail/permutation.hpp
+#usr/include/boost/graph/detail/read_graphviz_new.hpp
+#usr/include/boost/graph/detail/read_graphviz_spirit.hpp
+#usr/include/boost/graph/detail/self_avoiding_walk.hpp
+#usr/include/boost/graph/detail/set_adaptor.hpp
+#usr/include/boost/graph/detail/shadow_iterator.hpp
+#usr/include/boost/graph/detail/sparse_ordering.hpp
+#usr/include/boost/graph/dijkstra_shortest_paths.hpp
+#usr/include/boost/graph/dijkstra_shortest_paths_no_color_map.hpp
+#usr/include/boost/graph/dimacs.hpp
+#usr/include/boost/graph/directed_graph.hpp
+#usr/include/boost/graph/distributed
+#usr/include/boost/graph/distributed/adjacency_list.hpp
+#usr/include/boost/graph/distributed/adjlist
+#usr/include/boost/graph/distributed/adjlist/handlers.hpp
+#usr/include/boost/graph/distributed/adjlist/initialize.hpp
+#usr/include/boost/graph/distributed/adjlist/redistribute.hpp
+#usr/include/boost/graph/distributed/adjlist/serialization.hpp
+#usr/include/boost/graph/distributed/betweenness_centrality.hpp
+#usr/include/boost/graph/distributed/boman_et_al_graph_coloring.hpp
+#usr/include/boost/graph/distributed/breadth_first_search.hpp
+#usr/include/boost/graph/distributed/compressed_sparse_row_graph.hpp
+#usr/include/boost/graph/distributed/concepts.hpp
+#usr/include/boost/graph/distributed/connected_components.hpp
+#usr/include/boost/graph/distributed/connected_components_parallel_search.hpp
+#usr/include/boost/graph/distributed/crauser_et_al_shortest_paths.hpp
+#usr/include/boost/graph/distributed/dehne_gotz_min_spanning_tree.hpp
+#usr/include/boost/graph/distributed/delta_stepping_shortest_paths.hpp
+#usr/include/boost/graph/distributed/depth_first_search.hpp
+#usr/include/boost/graph/distributed/detail
+#usr/include/boost/graph/distributed/detail/dijkstra_shortest_paths.hpp
+#usr/include/boost/graph/distributed/detail/filtered_queue.hpp
+#usr/include/boost/graph/distributed/detail/mpi_process_group.ipp
+#usr/include/boost/graph/distributed/detail/queue.ipp
+#usr/include/boost/graph/distributed/detail/remote_update_set.hpp
+#usr/include/boost/graph/distributed/detail/tag_allocator.hpp
+#usr/include/boost/graph/distributed/dijkstra_shortest_paths.hpp
+#usr/include/boost/graph/distributed/distributed_graph_utility.hpp
+#usr/include/boost/graph/distributed/eager_dijkstra_shortest_paths.hpp
+#usr/include/boost/graph/distributed/filtered_graph.hpp
+#usr/include/boost/graph/distributed/fruchterman_reingold.hpp
+#usr/include/boost/graph/distributed/graphviz.hpp
+#usr/include/boost/graph/distributed/hohberg_biconnected_components.hpp
+#usr/include/boost/graph/distributed/local_subgraph.hpp
+#usr/include/boost/graph/distributed/mpi_process_group.hpp
+#usr/include/boost/graph/distributed/named_graph.hpp
+#usr/include/boost/graph/distributed/one_bit_color_map.hpp
+#usr/include/boost/graph/distributed/page_rank.hpp
+#usr/include/boost/graph/distributed/queue.hpp
+#usr/include/boost/graph/distributed/reverse_graph.hpp
+#usr/include/boost/graph/distributed/rmat_graph_generator.hpp
+#usr/include/boost/graph/distributed/selector.hpp
+#usr/include/boost/graph/distributed/shuffled_distribution.hpp
+#usr/include/boost/graph/distributed/st_connected.hpp
+#usr/include/boost/graph/distributed/strong_components.hpp
+#usr/include/boost/graph/distributed/two_bit_color_map.hpp
+#usr/include/boost/graph/distributed/unsafe_serialize.hpp
+#usr/include/boost/graph/distributed/vertex_list_adaptor.hpp
+#usr/include/boost/graph/dll_import_export.hpp
+#usr/include/boost/graph/dominator_tree.hpp
+#usr/include/boost/graph/eccentricity.hpp
+#usr/include/boost/graph/edge_coloring.hpp
+#usr/include/boost/graph/edge_connectivity.hpp
+#usr/include/boost/graph/edge_list.hpp
+#usr/include/boost/graph/edmonds_karp_max_flow.hpp
+#usr/include/boost/graph/edmunds_karp_max_flow.hpp
+#usr/include/boost/graph/erdos_renyi_generator.hpp
+#usr/include/boost/graph/exception.hpp
+#usr/include/boost/graph/exterior_property.hpp
+#usr/include/boost/graph/filtered_graph.hpp
+#usr/include/boost/graph/find_flow_cost.hpp
+#usr/include/boost/graph/floyd_warshall_shortest.hpp
+#usr/include/boost/graph/fruchterman_reingold.hpp
+#usr/include/boost/graph/geodesic_distance.hpp
+#usr/include/boost/graph/graph_archetypes.hpp
+#usr/include/boost/graph/graph_as_tree.hpp
+#usr/include/boost/graph/graph_concepts.hpp
+#usr/include/boost/graph/graph_mutability_traits.hpp
+#usr/include/boost/graph/graph_selectors.hpp
+#usr/include/boost/graph/graph_stats.hpp
+#usr/include/boost/graph/graph_test.hpp
+#usr/include/boost/graph/graph_traits.hpp
+#usr/include/boost/graph/graph_utility.hpp
+#usr/include/boost/graph/graphml.hpp
+#usr/include/boost/graph/graphviz.hpp
+#usr/include/boost/graph/grid_graph.hpp
+#usr/include/boost/graph/gursoy_atun_layout.hpp
+#usr/include/boost/graph/hawick_circuits.hpp
+#usr/include/boost/graph/howard_cycle_ratio.hpp
+#usr/include/boost/graph/incremental_components.hpp
+#usr/include/boost/graph/is_kuratowski_subgraph.hpp
+#usr/include/boost/graph/is_straight_line_drawing.hpp
+#usr/include/boost/graph/isomorphism.hpp
+#usr/include/boost/graph/iteration_macros.hpp
+#usr/include/boost/graph/iteration_macros_undef.hpp
+#usr/include/boost/graph/johnson_all_pairs_shortest.hpp
+#usr/include/boost/graph/kamada_kawai_spring_layout.hpp
+#usr/include/boost/graph/king_ordering.hpp
+#usr/include/boost/graph/kruskal_min_spanning_tree.hpp
+#usr/include/boost/graph/labeled_graph.hpp
+#usr/include/boost/graph/leda_graph.hpp
+#usr/include/boost/graph/lookup_edge.hpp
+#usr/include/boost/graph/loop_erased_random_walk.hpp
+#usr/include/boost/graph/make_biconnected_planar.hpp
+#usr/include/boost/graph/make_connected.hpp
+#usr/include/boost/graph/make_maximal_planar.hpp
+#usr/include/boost/graph/matrix_as_graph.hpp
+#usr/include/boost/graph/max_cardinality_matching.hpp
+#usr/include/boost/graph/maximum_adjacency_search.hpp
+#usr/include/boost/graph/mcgregor_common_subgraphs.hpp
+#usr/include/boost/graph/mesh_graph_generator.hpp
+#usr/include/boost/graph/metis.hpp
+#usr/include/boost/graph/metric_tsp_approx.hpp
+#usr/include/boost/graph/minimum_degree_ordering.hpp
+#usr/include/boost/graph/named_function_params.hpp
+#usr/include/boost/graph/named_graph.hpp
+#usr/include/boost/graph/neighbor_bfs.hpp
+#usr/include/boost/graph/numeric_values.hpp
+#usr/include/boost/graph/one_bit_color_map.hpp
+#usr/include/boost/graph/overloading.hpp
+#usr/include/boost/graph/page_rank.hpp
+#usr/include/boost/graph/parallel
+#usr/include/boost/graph/parallel/algorithm.hpp
+#usr/include/boost/graph/parallel/basic_reduce.hpp
+#usr/include/boost/graph/parallel/container_traits.hpp
+#usr/include/boost/graph/parallel/detail
+#usr/include/boost/graph/parallel/detail/inplace_all_to_all.hpp
+#usr/include/boost/graph/parallel/detail/property_holders.hpp
+#usr/include/boost/graph/parallel/detail/untracked_pair.hpp
+#usr/include/boost/graph/parallel/distribution.hpp
+#usr/include/boost/graph/parallel/process_group.hpp
+#usr/include/boost/graph/parallel/properties.hpp
+#usr/include/boost/graph/parallel/simple_trigger.hpp
+#usr/include/boost/graph/planar_canonical_ordering.hpp
+#usr/include/boost/graph/planar_detail
+#usr/include/boost/graph/planar_detail/add_edge_visitors.hpp
+#usr/include/boost/graph/planar_detail/boyer_myrvold_impl.hpp
+#usr/include/boost/graph/planar_detail/bucket_sort.hpp
+#usr/include/boost/graph/planar_detail/face_handles.hpp
+#usr/include/boost/graph/planar_detail/face_iterators.hpp
+#usr/include/boost/graph/planar_face_traversal.hpp
+#usr/include/boost/graph/plod_generator.hpp
+#usr/include/boost/graph/point_traits.hpp
+#usr/include/boost/graph/prim_minimum_spanning_tree.hpp
+#usr/include/boost/graph/profile.hpp
+#usr/include/boost/graph/properties.hpp
+#usr/include/boost/graph/property_iter_range.hpp
+#usr/include/boost/graph/property_maps
+#usr/include/boost/graph/property_maps/constant_property_map.hpp
+#usr/include/boost/graph/property_maps/container_property_map.hpp
+#usr/include/boost/graph/property_maps/matrix_property_map.hpp
+#usr/include/boost/graph/property_maps/null_property_map.hpp
+#usr/include/boost/graph/push_relabel_max_flow.hpp
+#usr/include/boost/graph/r_c_shortest_paths.hpp
+#usr/include/boost/graph/random.hpp
+#usr/include/boost/graph/random_layout.hpp
+#usr/include/boost/graph/random_spanning_tree.hpp
+#usr/include/boost/graph/read_dimacs.hpp
+#usr/include/boost/graph/relax.hpp
+#usr/include/boost/graph/reverse_graph.hpp
+#usr/include/boost/graph/rmat_graph_generator.hpp
+#usr/include/boost/graph/sequential_vertex_coloring.hpp
+#usr/include/boost/graph/simple_point.hpp
+#usr/include/boost/graph/sloan_ordering.hpp
+#usr/include/boost/graph/small_world_generator.hpp
+#usr/include/boost/graph/smallest_last_ordering.hpp
+#usr/include/boost/graph/ssca_graph_generator.hpp
+#usr/include/boost/graph/st_connected.hpp
+#usr/include/boost/graph/stanford_graph.hpp
+#usr/include/boost/graph/stoer_wagner_min_cut.hpp
+#usr/include/boost/graph/strong_components.hpp
+#usr/include/boost/graph/subgraph.hpp
+#usr/include/boost/graph/successive_shortest_path_nonnegative_weights.hpp
+#usr/include/boost/graph/tiernan_all_cycles.hpp
+#usr/include/boost/graph/topological_sort.hpp
+#usr/include/boost/graph/topology.hpp
+#usr/include/boost/graph/transitive_closure.hpp
+#usr/include/boost/graph/transitive_reduction.hpp
+#usr/include/boost/graph/transpose_graph.hpp
+#usr/include/boost/graph/tree_traits.hpp
+#usr/include/boost/graph/two_bit_color_map.hpp
+#usr/include/boost/graph/two_graphs_common_spanning_trees.hpp
+#usr/include/boost/graph/undirected_dfs.hpp
+#usr/include/boost/graph/undirected_graph.hpp
+#usr/include/boost/graph/use_mpi.hpp
+#usr/include/boost/graph/vector_as_graph.hpp
+#usr/include/boost/graph/vertex_and_edge_range.hpp
+#usr/include/boost/graph/vf2_sub_graph_iso.hpp
+#usr/include/boost/graph/visitors.hpp
+#usr/include/boost/graph/wavefront.hpp
+#usr/include/boost/graph/write_dimacs.hpp
+#usr/include/boost/heap
+#usr/include/boost/heap/binomial_heap.hpp
+#usr/include/boost/heap/d_ary_heap.hpp
+#usr/include/boost/heap/detail
+#usr/include/boost/heap/detail/heap_comparison.hpp
+#usr/include/boost/heap/detail/heap_node.hpp
+#usr/include/boost/heap/detail/ilog2.hpp
+#usr/include/boost/heap/detail/mutable_heap.hpp
+#usr/include/boost/heap/detail/ordered_adaptor_iterator.hpp
+#usr/include/boost/heap/detail/stable_heap.hpp
+#usr/include/boost/heap/detail/tree_iterator.hpp
+#usr/include/boost/heap/fibonacci_heap.hpp
+#usr/include/boost/heap/heap_concepts.hpp
+#usr/include/boost/heap/heap_merge.hpp
+#usr/include/boost/heap/pairing_heap.hpp
+#usr/include/boost/heap/policies.hpp
+#usr/include/boost/heap/priority_queue.hpp
+#usr/include/boost/heap/skew_heap.hpp
+#usr/include/boost/icl
+#usr/include/boost/icl/associative_element_container.hpp
+#usr/include/boost/icl/associative_interval_container.hpp
+#usr/include/boost/icl/closed_interval.hpp
+#usr/include/boost/icl/concept
+#usr/include/boost/icl/concept/comparable.hpp
+#usr/include/boost/icl/concept/container.hpp
+#usr/include/boost/icl/concept/element_associator.hpp
+#usr/include/boost/icl/concept/element_map.hpp
+#usr/include/boost/icl/concept/element_set.hpp
+#usr/include/boost/icl/concept/element_set_value.hpp
+#usr/include/boost/icl/concept/interval.hpp
+#usr/include/boost/icl/concept/interval_associator.hpp
+#usr/include/boost/icl/concept/interval_associator_base.hpp
+#usr/include/boost/icl/concept/interval_bounds.hpp
+#usr/include/boost/icl/concept/interval_map.hpp
+#usr/include/boost/icl/concept/interval_set.hpp
+#usr/include/boost/icl/concept/interval_set_value.hpp
+#usr/include/boost/icl/concept/joinable.hpp
+#usr/include/boost/icl/concept/map_value.hpp
+#usr/include/boost/icl/concept/set_value.hpp
+#usr/include/boost/icl/continuous_interval.hpp
+#usr/include/boost/icl/detail
+#usr/include/boost/icl/detail/associated_value.hpp
+#usr/include/boost/icl/detail/boost_config.hpp
+#usr/include/boost/icl/detail/concept_check.hpp
+#usr/include/boost/icl/detail/design_config.hpp
+#usr/include/boost/icl/detail/element_comparer.hpp
+#usr/include/boost/icl/detail/element_iterator.hpp
+#usr/include/boost/icl/detail/exclusive_less_than.hpp
+#usr/include/boost/icl/detail/interval_map_algo.hpp
+#usr/include/boost/icl/detail/interval_morphism.hpp
+#usr/include/boost/icl/detail/interval_set_algo.hpp
+#usr/include/boost/icl/detail/interval_subset_comparer.hpp
+#usr/include/boost/icl/detail/map_algo.hpp
+#usr/include/boost/icl/detail/mapped_reference.hpp
+#usr/include/boost/icl/detail/notate.hpp
+#usr/include/boost/icl/detail/on_absorbtion.hpp
+#usr/include/boost/icl/detail/relation_state.hpp
+#usr/include/boost/icl/detail/set_algo.hpp
+#usr/include/boost/icl/detail/std_set.hpp
+#usr/include/boost/icl/detail/subset_comparer.hpp
+#usr/include/boost/icl/discrete_interval.hpp
+#usr/include/boost/icl/dynamic_interval_traits.hpp
+#usr/include/boost/icl/functors.hpp
+#usr/include/boost/icl/gregorian.hpp
+#usr/include/boost/icl/impl_config.hpp
+#usr/include/boost/icl/interval.hpp
+#usr/include/boost/icl/interval_base_map.hpp
+#usr/include/boost/icl/interval_base_set.hpp
+#usr/include/boost/icl/interval_bounds.hpp
+#usr/include/boost/icl/interval_combining_style.hpp
+#usr/include/boost/icl/interval_map.hpp
+#usr/include/boost/icl/interval_set.hpp
+#usr/include/boost/icl/interval_traits.hpp
+#usr/include/boost/icl/iterator.hpp
+#usr/include/boost/icl/left_open_interval.hpp
+#usr/include/boost/icl/map.hpp
+#usr/include/boost/icl/open_interval.hpp
+#usr/include/boost/icl/predicates
+#usr/include/boost/icl/predicates/distinct_equal.hpp
+#usr/include/boost/icl/predicates/element_equal.hpp
+#usr/include/boost/icl/predicates/std_equal.hpp
+#usr/include/boost/icl/predicates/sub_super_set.hpp
+#usr/include/boost/icl/ptime.hpp
+#usr/include/boost/icl/rational.hpp
+#usr/include/boost/icl/right_open_interval.hpp
+#usr/include/boost/icl/separate_interval_set.hpp
+#usr/include/boost/icl/set.hpp
+#usr/include/boost/icl/split_interval_map.hpp
+#usr/include/boost/icl/split_interval_set.hpp
+#usr/include/boost/icl/type_traits
+#usr/include/boost/icl/type_traits/absorbs_identities.hpp
+#usr/include/boost/icl/type_traits/adds_inversely.hpp
+#usr/include/boost/icl/type_traits/codomain_type_of.hpp
+#usr/include/boost/icl/type_traits/difference.hpp
+#usr/include/boost/icl/type_traits/difference_type_of.hpp
+#usr/include/boost/icl/type_traits/domain_type_of.hpp
+#usr/include/boost/icl/type_traits/element_type_of.hpp
+#usr/include/boost/icl/type_traits/has_inverse.hpp
+#usr/include/boost/icl/type_traits/has_set_semantics.hpp
+#usr/include/boost/icl/type_traits/identity_element.hpp
+#usr/include/boost/icl/type_traits/infinity.hpp
+#usr/include/boost/icl/type_traits/interval_type_default.hpp
+#usr/include/boost/icl/type_traits/interval_type_of.hpp
+#usr/include/boost/icl/type_traits/is_associative_element_container.hpp
+#usr/include/boost/icl/type_traits/is_asymmetric_interval.hpp
+#usr/include/boost/icl/type_traits/is_combinable.hpp
+#usr/include/boost/icl/type_traits/is_concept_equivalent.hpp
+#usr/include/boost/icl/type_traits/is_container.hpp
+#usr/include/boost/icl/type_traits/is_continuous.hpp
+#usr/include/boost/icl/type_traits/is_continuous_interval.hpp
+#usr/include/boost/icl/type_traits/is_discrete.hpp
+#usr/include/boost/icl/type_traits/is_discrete_interval.hpp
+#usr/include/boost/icl/type_traits/is_element_container.hpp
+#usr/include/boost/icl/type_traits/is_icl_container.hpp
+#usr/include/boost/icl/type_traits/is_increasing.hpp
+#usr/include/boost/icl/type_traits/is_interval.hpp
+#usr/include/boost/icl/type_traits/is_interval_container.hpp
+#usr/include/boost/icl/type_traits/is_interval_joiner.hpp
+#usr/include/boost/icl/type_traits/is_interval_separator.hpp
+#usr/include/boost/icl/type_traits/is_interval_splitter.hpp
+#usr/include/boost/icl/type_traits/is_key_container_of.hpp
+#usr/include/boost/icl/type_traits/is_map.hpp
+#usr/include/boost/icl/type_traits/is_numeric.hpp
+#usr/include/boost/icl/type_traits/is_set.hpp
+#usr/include/boost/icl/type_traits/is_total.hpp
+#usr/include/boost/icl/type_traits/no_type.hpp
+#usr/include/boost/icl/type_traits/predicate.hpp
+#usr/include/boost/icl/type_traits/rep_type_of.hpp
+#usr/include/boost/icl/type_traits/segment_type_of.hpp
+#usr/include/boost/icl/type_traits/size.hpp
+#usr/include/boost/icl/type_traits/size_type_of.hpp
+#usr/include/boost/icl/type_traits/succ_pred.hpp
+#usr/include/boost/icl/type_traits/to_string.hpp
+#usr/include/boost/icl/type_traits/type_to_string.hpp
+#usr/include/boost/icl/type_traits/unit_element.hpp
+#usr/include/boost/icl/type_traits/value_size.hpp
+#usr/include/boost/implicit_cast.hpp
+#usr/include/boost/indirect_reference.hpp
+#usr/include/boost/integer
+#usr/include/boost/integer.hpp
+#usr/include/boost/integer/integer_mask.hpp
+#usr/include/boost/integer/static_log2.hpp
+#usr/include/boost/integer/static_min_max.hpp
+#usr/include/boost/integer_fwd.hpp
+#usr/include/boost/integer_traits.hpp
+#usr/include/boost/interprocess
+#usr/include/boost/interprocess/allocators
+#usr/include/boost/interprocess/allocators/adaptive_pool.hpp
+#usr/include/boost/interprocess/allocators/allocator.hpp
+#usr/include/boost/interprocess/allocators/cached_adaptive_pool.hpp
+#usr/include/boost/interprocess/allocators/cached_node_allocator.hpp
+#usr/include/boost/interprocess/allocators/detail
+#usr/include/boost/interprocess/allocators/detail/adaptive_node_pool.hpp
+#usr/include/boost/interprocess/allocators/detail/allocator_common.hpp
+#usr/include/boost/interprocess/allocators/detail/node_pool.hpp
+#usr/include/boost/interprocess/allocators/detail/node_tools.hpp
+#usr/include/boost/interprocess/allocators/node_allocator.hpp
+#usr/include/boost/interprocess/allocators/private_adaptive_pool.hpp
+#usr/include/boost/interprocess/allocators/private_node_allocator.hpp
+#usr/include/boost/interprocess/anonymous_shared_memory.hpp
+#usr/include/boost/interprocess/containers
+#usr/include/boost/interprocess/containers/allocation_type.hpp
+#usr/include/boost/interprocess/containers/containers_fwd.hpp
+#usr/include/boost/interprocess/containers/deque.hpp
+#usr/include/boost/interprocess/containers/flat_map.hpp
+#usr/include/boost/interprocess/containers/flat_set.hpp
+#usr/include/boost/interprocess/containers/list.hpp
+#usr/include/boost/interprocess/containers/map.hpp
+#usr/include/boost/interprocess/containers/pair.hpp
+#usr/include/boost/interprocess/containers/set.hpp
+#usr/include/boost/interprocess/containers/slist.hpp
+#usr/include/boost/interprocess/containers/stable_vector.hpp
+#usr/include/boost/interprocess/containers/string.hpp
+#usr/include/boost/interprocess/containers/vector.hpp
+#usr/include/boost/interprocess/containers/version_type.hpp
+#usr/include/boost/interprocess/creation_tags.hpp
+#usr/include/boost/interprocess/detail
+#usr/include/boost/interprocess/detail/atomic.hpp
+#usr/include/boost/interprocess/detail/cast_tags.hpp
+#usr/include/boost/interprocess/detail/config_begin.hpp
+#usr/include/boost/interprocess/detail/config_end.hpp
+#usr/include/boost/interprocess/detail/config_external_begin.hpp
+#usr/include/boost/interprocess/detail/config_external_end.hpp
+#usr/include/boost/interprocess/detail/file_locking_helpers.hpp
+#usr/include/boost/interprocess/detail/file_wrapper.hpp
+#usr/include/boost/interprocess/detail/in_place_interface.hpp
+#usr/include/boost/interprocess/detail/intermodule_singleton.hpp
+#usr/include/boost/interprocess/detail/intermodule_singleton_common.hpp
+#usr/include/boost/interprocess/detail/interprocess_tester.hpp
+#usr/include/boost/interprocess/detail/intersegment_ptr.hpp
+#usr/include/boost/interprocess/detail/managed_global_memory.hpp
+#usr/include/boost/interprocess/detail/managed_memory_impl.hpp
+#usr/include/boost/interprocess/detail/managed_multi_shared_memory.hpp
+#usr/include/boost/interprocess/detail/managed_open_or_create_impl.hpp
+#usr/include/boost/interprocess/detail/math_functions.hpp
+#usr/include/boost/interprocess/detail/min_max.hpp
+#usr/include/boost/interprocess/detail/move.hpp
+#usr/include/boost/interprocess/detail/mpl.hpp
+#usr/include/boost/interprocess/detail/multi_segment_services.hpp
+#usr/include/boost/interprocess/detail/named_proxy.hpp
+#usr/include/boost/interprocess/detail/os_file_functions.hpp
+#usr/include/boost/interprocess/detail/os_thread_functions.hpp
+#usr/include/boost/interprocess/detail/pointer_type.hpp
+#usr/include/boost/interprocess/detail/portable_intermodule_singleton.hpp
+#usr/include/boost/interprocess/detail/posix_time_types_wrk.hpp
+#usr/include/boost/interprocess/detail/preprocessor.hpp
+#usr/include/boost/interprocess/detail/ptime_wrk.hpp
+#usr/include/boost/interprocess/detail/robust_emulation.hpp
+#usr/include/boost/interprocess/detail/segment_manager_helper.hpp
+#usr/include/boost/interprocess/detail/tmp_dir_helpers.hpp
+#usr/include/boost/interprocess/detail/transform_iterator.hpp
+#usr/include/boost/interprocess/detail/type_traits.hpp
+#usr/include/boost/interprocess/detail/utilities.hpp
+#usr/include/boost/interprocess/detail/variadic_templates_tools.hpp
+#usr/include/boost/interprocess/detail/win32_api.hpp
+#usr/include/boost/interprocess/detail/windows_intermodule_singleton.hpp
+#usr/include/boost/interprocess/detail/workaround.hpp
+#usr/include/boost/interprocess/detail/xsi_shared_memory_device.hpp
+#usr/include/boost/interprocess/detail/xsi_shared_memory_file_wrapper.hpp
+#usr/include/boost/interprocess/errors.hpp
+#usr/include/boost/interprocess/exceptions.hpp
+#usr/include/boost/interprocess/file_mapping.hpp
+#usr/include/boost/interprocess/indexes
+#usr/include/boost/interprocess/indexes/flat_map_index.hpp
+#usr/include/boost/interprocess/indexes/iset_index.hpp
+#usr/include/boost/interprocess/indexes/iunordered_set_index.hpp
+#usr/include/boost/interprocess/indexes/map_index.hpp
+#usr/include/boost/interprocess/indexes/null_index.hpp
+#usr/include/boost/interprocess/indexes/unordered_map_index.hpp
+#usr/include/boost/interprocess/interprocess_fwd.hpp
+#usr/include/boost/interprocess/ipc
+#usr/include/boost/interprocess/ipc/message_queue.hpp
+#usr/include/boost/interprocess/managed_external_buffer.hpp
+#usr/include/boost/interprocess/managed_heap_memory.hpp
+#usr/include/boost/interprocess/managed_mapped_file.hpp
+#usr/include/boost/interprocess/managed_shared_memory.hpp
+#usr/include/boost/interprocess/managed_windows_shared_memory.hpp
+#usr/include/boost/interprocess/managed_xsi_shared_memory.hpp
+#usr/include/boost/interprocess/mapped_region.hpp
+#usr/include/boost/interprocess/mem_algo
+#usr/include/boost/interprocess/mem_algo/detail
+#usr/include/boost/interprocess/mem_algo/detail/mem_algo_common.hpp
+#usr/include/boost/interprocess/mem_algo/detail/multi_simple_seq_fit.hpp
+#usr/include/boost/interprocess/mem_algo/detail/multi_simple_seq_fit_impl.hpp
+#usr/include/boost/interprocess/mem_algo/detail/simple_seq_fit_impl.hpp
+#usr/include/boost/interprocess/mem_algo/rbtree_best_fit.hpp
+#usr/include/boost/interprocess/mem_algo/simple_seq_fit.hpp
+#usr/include/boost/interprocess/offset_ptr.hpp
+#usr/include/boost/interprocess/permissions.hpp
+#usr/include/boost/interprocess/segment_manager.hpp
+#usr/include/boost/interprocess/shared_memory_object.hpp
+#usr/include/boost/interprocess/smart_ptr
+#usr/include/boost/interprocess/smart_ptr/deleter.hpp
+#usr/include/boost/interprocess/smart_ptr/detail
+#usr/include/boost/interprocess/smart_ptr/detail/bad_weak_ptr.hpp
+#usr/include/boost/interprocess/smart_ptr/detail/shared_count.hpp
+#usr/include/boost/interprocess/smart_ptr/detail/sp_counted_base.hpp
+#usr/include/boost/interprocess/smart_ptr/detail/sp_counted_base_atomic.hpp
+#usr/include/boost/interprocess/smart_ptr/detail/sp_counted_impl.hpp
+#usr/include/boost/interprocess/smart_ptr/enable_shared_from_this.hpp
+#usr/include/boost/interprocess/smart_ptr/intrusive_ptr.hpp
+#usr/include/boost/interprocess/smart_ptr/scoped_ptr.hpp
+#usr/include/boost/interprocess/smart_ptr/shared_ptr.hpp
+#usr/include/boost/interprocess/smart_ptr/unique_ptr.hpp
+#usr/include/boost/interprocess/smart_ptr/weak_ptr.hpp
+#usr/include/boost/interprocess/streams
+#usr/include/boost/interprocess/streams/bufferstream.hpp
+#usr/include/boost/interprocess/streams/vectorstream.hpp
+#usr/include/boost/interprocess/sync
+#usr/include/boost/interprocess/sync/detail
+#usr/include/boost/interprocess/sync/detail/condition_algorithm_8a.hpp
+#usr/include/boost/interprocess/sync/detail/condition_any_algorithm.hpp
+#usr/include/boost/interprocess/sync/detail/locks.hpp
+#usr/include/boost/interprocess/sync/file_lock.hpp
+#usr/include/boost/interprocess/sync/interprocess_condition.hpp
+#usr/include/boost/interprocess/sync/interprocess_condition_any.hpp
+#usr/include/boost/interprocess/sync/interprocess_mutex.hpp
+#usr/include/boost/interprocess/sync/interprocess_recursive_mutex.hpp
+#usr/include/boost/interprocess/sync/interprocess_semaphore.hpp
+#usr/include/boost/interprocess/sync/interprocess_sharable_mutex.hpp
+#usr/include/boost/interprocess/sync/interprocess_upgradable_mutex.hpp
+#usr/include/boost/interprocess/sync/lock_options.hpp
+#usr/include/boost/interprocess/sync/mutex_family.hpp
+#usr/include/boost/interprocess/sync/named_condition.hpp
+#usr/include/boost/interprocess/sync/named_condition_any.hpp
+#usr/include/boost/interprocess/sync/named_mutex.hpp
+#usr/include/boost/interprocess/sync/named_recursive_mutex.hpp
+#usr/include/boost/interprocess/sync/named_semaphore.hpp
+#usr/include/boost/interprocess/sync/named_sharable_mutex.hpp
+#usr/include/boost/interprocess/sync/named_upgradable_mutex.hpp
+#usr/include/boost/interprocess/sync/null_mutex.hpp
+#usr/include/boost/interprocess/sync/posix
+#usr/include/boost/interprocess/sync/posix/condition.hpp
+#usr/include/boost/interprocess/sync/posix/mutex.hpp
+#usr/include/boost/interprocess/sync/posix/named_mutex.hpp
+#usr/include/boost/interprocess/sync/posix/named_semaphore.hpp
+#usr/include/boost/interprocess/sync/posix/pthread_helpers.hpp
+#usr/include/boost/interprocess/sync/posix/ptime_to_timespec.hpp
+#usr/include/boost/interprocess/sync/posix/recursive_mutex.hpp
+#usr/include/boost/interprocess/sync/posix/semaphore.hpp
+#usr/include/boost/interprocess/sync/posix/semaphore_wrapper.hpp
+#usr/include/boost/interprocess/sync/scoped_lock.hpp
+#usr/include/boost/interprocess/sync/sharable_lock.hpp
+#usr/include/boost/interprocess/sync/shm
+#usr/include/boost/interprocess/sync/shm/named_condition.hpp
+#usr/include/boost/interprocess/sync/shm/named_condition_any.hpp
+#usr/include/boost/interprocess/sync/shm/named_creation_functor.hpp
+#usr/include/boost/interprocess/sync/shm/named_mutex.hpp
+#usr/include/boost/interprocess/sync/shm/named_recursive_mutex.hpp
+#usr/include/boost/interprocess/sync/shm/named_semaphore.hpp
+#usr/include/boost/interprocess/sync/shm/named_upgradable_mutex.hpp
+#usr/include/boost/interprocess/sync/spin
+#usr/include/boost/interprocess/sync/spin/condition.hpp
+#usr/include/boost/interprocess/sync/spin/interprocess_barrier.hpp
+#usr/include/boost/interprocess/sync/spin/mutex.hpp
+#usr/include/boost/interprocess/sync/spin/recursive_mutex.hpp
+#usr/include/boost/interprocess/sync/spin/semaphore.hpp
+#usr/include/boost/interprocess/sync/spin/wait.hpp
+#usr/include/boost/interprocess/sync/upgradable_lock.hpp
+#usr/include/boost/interprocess/sync/windows
+#usr/include/boost/interprocess/sync/windows/condition.hpp
+#usr/include/boost/interprocess/sync/windows/mutex.hpp
+#usr/include/boost/interprocess/sync/windows/named_condition.hpp
+#usr/include/boost/interprocess/sync/windows/named_condition_any.hpp
+#usr/include/boost/interprocess/sync/windows/named_mutex.hpp
+#usr/include/boost/interprocess/sync/windows/named_recursive_mutex.hpp
+#usr/include/boost/interprocess/sync/windows/named_semaphore.hpp
+#usr/include/boost/interprocess/sync/windows/named_sync.hpp
+#usr/include/boost/interprocess/sync/windows/recursive_mutex.hpp
+#usr/include/boost/interprocess/sync/windows/semaphore.hpp
+#usr/include/boost/interprocess/sync/windows/sync_utils.hpp
+#usr/include/boost/interprocess/sync/windows/winapi_mutex_wrapper.hpp
+#usr/include/boost/interprocess/sync/windows/winapi_semaphore_wrapper.hpp
+#usr/include/boost/interprocess/sync/xsi
+#usr/include/boost/interprocess/sync/xsi/advanced_xsi_semaphore.hpp
+#usr/include/boost/interprocess/sync/xsi/simple_xsi_semaphore.hpp
+#usr/include/boost/interprocess/sync/xsi/xsi_named_mutex.hpp
+#usr/include/boost/interprocess/windows_shared_memory.hpp
+#usr/include/boost/interprocess/xsi_key.hpp
+#usr/include/boost/interprocess/xsi_shared_memory.hpp
+#usr/include/boost/intrusive
+#usr/include/boost/intrusive/any_hook.hpp
+#usr/include/boost/intrusive/avl_set.hpp
+#usr/include/boost/intrusive/avl_set_hook.hpp
+#usr/include/boost/intrusive/avltree.hpp
+#usr/include/boost/intrusive/avltree_algorithms.hpp
+#usr/include/boost/intrusive/bs_set.hpp
+#usr/include/boost/intrusive/bs_set_hook.hpp
+#usr/include/boost/intrusive/bstree.hpp
+#usr/include/boost/intrusive/bstree_algorithms.hpp
+#usr/include/boost/intrusive/circular_list_algorithms.hpp
+#usr/include/boost/intrusive/circular_slist_algorithms.hpp
+#usr/include/boost/intrusive/derivation_value_traits.hpp
+#usr/include/boost/intrusive/detail
+#usr/include/boost/intrusive/detail/any_node_and_algorithms.hpp
+#usr/include/boost/intrusive/detail/assert.hpp
+#usr/include/boost/intrusive/detail/avltree_node.hpp
+#usr/include/boost/intrusive/detail/clear_on_destructor_base.hpp
+#usr/include/boost/intrusive/detail/common_slist_algorithms.hpp
+#usr/include/boost/intrusive/detail/config_begin.hpp
+#usr/include/boost/intrusive/detail/config_end.hpp
+#usr/include/boost/intrusive/detail/ebo_functor_holder.hpp
+#usr/include/boost/intrusive/detail/function_detector.hpp
+#usr/include/boost/intrusive/detail/generic_hook.hpp
+#usr/include/boost/intrusive/detail/has_member_function_callable_with.hpp
+#usr/include/boost/intrusive/detail/hashtable_node.hpp
+#usr/include/boost/intrusive/detail/is_stateful_value_traits.hpp
+#usr/include/boost/intrusive/detail/list_node.hpp
+#usr/include/boost/intrusive/detail/memory_util.hpp
+#usr/include/boost/intrusive/detail/mpl.hpp
+#usr/include/boost/intrusive/detail/parent_from_member.hpp
+#usr/include/boost/intrusive/detail/preprocessor.hpp
+#usr/include/boost/intrusive/detail/rbtree_node.hpp
+#usr/include/boost/intrusive/detail/slist_node.hpp
+#usr/include/boost/intrusive/detail/transform_iterator.hpp
+#usr/include/boost/intrusive/detail/tree_node.hpp
+#usr/include/boost/intrusive/detail/utilities.hpp
+#usr/include/boost/intrusive/detail/workaround.hpp
+#usr/include/boost/intrusive/hashtable.hpp
+#usr/include/boost/intrusive/intrusive_fwd.hpp
+#usr/include/boost/intrusive/linear_slist_algorithms.hpp
+#usr/include/boost/intrusive/link_mode.hpp
+#usr/include/boost/intrusive/list.hpp
+#usr/include/boost/intrusive/list_hook.hpp
+#usr/include/boost/intrusive/member_value_traits.hpp
+#usr/include/boost/intrusive/options.hpp
+#usr/include/boost/intrusive/parent_from_member.hpp
+#usr/include/boost/intrusive/pointer_plus_bits.hpp
+#usr/include/boost/intrusive/pointer_traits.hpp
+#usr/include/boost/intrusive/priority_compare.hpp
+#usr/include/boost/intrusive/rbtree.hpp
+#usr/include/boost/intrusive/rbtree_algorithms.hpp
+#usr/include/boost/intrusive/set.hpp
+#usr/include/boost/intrusive/set_hook.hpp
+#usr/include/boost/intrusive/sg_set.hpp
+#usr/include/boost/intrusive/sgtree.hpp
+#usr/include/boost/intrusive/sgtree_algorithms.hpp
+#usr/include/boost/intrusive/slist.hpp
+#usr/include/boost/intrusive/slist_hook.hpp
+#usr/include/boost/intrusive/splay_set.hpp
+#usr/include/boost/intrusive/splay_set_hook.hpp
+#usr/include/boost/intrusive/splaytree.hpp
+#usr/include/boost/intrusive/splaytree_algorithms.hpp
+#usr/include/boost/intrusive/treap.hpp
+#usr/include/boost/intrusive/treap_algorithms.hpp
+#usr/include/boost/intrusive/treap_set.hpp
+#usr/include/boost/intrusive/trivial_value_traits.hpp
+#usr/include/boost/intrusive/unordered_set.hpp
+#usr/include/boost/intrusive/unordered_set_hook.hpp
+#usr/include/boost/intrusive_ptr.hpp
+#usr/include/boost/io
+#usr/include/boost/io/detail
+#usr/include/boost/io/detail/quoted_manip.hpp
+#usr/include/boost/io/ios_state.hpp
+#usr/include/boost/io_fwd.hpp
+#usr/include/boost/iostreams
+#usr/include/boost/iostreams/categories.hpp
+#usr/include/boost/iostreams/chain.hpp
+#usr/include/boost/iostreams/char_traits.hpp
+#usr/include/boost/iostreams/checked_operations.hpp
+#usr/include/boost/iostreams/close.hpp
+#usr/include/boost/iostreams/code_converter.hpp
+#usr/include/boost/iostreams/combine.hpp
+#usr/include/boost/iostreams/compose.hpp
+#usr/include/boost/iostreams/concepts.hpp
+#usr/include/boost/iostreams/constants.hpp
+#usr/include/boost/iostreams/copy.hpp
+#usr/include/boost/iostreams/detail
+#usr/include/boost/iostreams/detail/absolute_path.hpp
+#usr/include/boost/iostreams/detail/access_control.hpp
+#usr/include/boost/iostreams/detail/adapter
+#usr/include/boost/iostreams/detail/adapter/concept_adapter.hpp
+#usr/include/boost/iostreams/detail/adapter/device_adapter.hpp
+#usr/include/boost/iostreams/detail/adapter/direct_adapter.hpp
+#usr/include/boost/iostreams/detail/adapter/filter_adapter.hpp
+#usr/include/boost/iostreams/detail/adapter/mode_adapter.hpp
+#usr/include/boost/iostreams/detail/adapter/non_blocking_adapter.hpp
+#usr/include/boost/iostreams/detail/adapter/output_iterator_adapter.hpp
+#usr/include/boost/iostreams/detail/adapter/range_adapter.hpp
+#usr/include/boost/iostreams/detail/add_facet.hpp
+#usr/include/boost/iostreams/detail/bool_trait_def.hpp
+#usr/include/boost/iostreams/detail/broken_overload_resolution
+#usr/include/boost/iostreams/detail/broken_overload_resolution/forward.hpp
+#usr/include/boost/iostreams/detail/broken_overload_resolution/stream.hpp
+#usr/include/boost/iostreams/detail/broken_overload_resolution/stream_buffer.hpp
+#usr/include/boost/iostreams/detail/buffer.hpp
+#usr/include/boost/iostreams/detail/call_traits.hpp
+#usr/include/boost/iostreams/detail/char_traits.hpp
+#usr/include/boost/iostreams/detail/codecvt_helper.hpp
+#usr/include/boost/iostreams/detail/codecvt_holder.hpp
+#usr/include/boost/iostreams/detail/config
+#usr/include/boost/iostreams/detail/config/auto_link.hpp
+#usr/include/boost/iostreams/detail/config/bzip2.hpp
+#usr/include/boost/iostreams/detail/config/codecvt.hpp
+#usr/include/boost/iostreams/detail/config/disable_warnings.hpp
+#usr/include/boost/iostreams/detail/config/dyn_link.hpp
+#usr/include/boost/iostreams/detail/config/enable_warnings.hpp
+#usr/include/boost/iostreams/detail/config/fpos.hpp
+#usr/include/boost/iostreams/detail/config/gcc.hpp
+#usr/include/boost/iostreams/detail/config/limits.hpp
+#usr/include/boost/iostreams/detail/config/overload_resolution.hpp
+#usr/include/boost/iostreams/detail/config/rtl.hpp
+#usr/include/boost/iostreams/detail/config/unreachable_return.hpp
+#usr/include/boost/iostreams/detail/config/wide_streams.hpp
+#usr/include/boost/iostreams/detail/config/windows_posix.hpp
+#usr/include/boost/iostreams/detail/config/zlib.hpp
+#usr/include/boost/iostreams/detail/counted_array.hpp
+#usr/include/boost/iostreams/detail/current_directory.hpp
+#usr/include/boost/iostreams/detail/default_arg.hpp
+#usr/include/boost/iostreams/detail/dispatch.hpp
+#usr/include/boost/iostreams/detail/double_object.hpp
+#usr/include/boost/iostreams/detail/enable_if_stream.hpp
+#usr/include/boost/iostreams/detail/error.hpp
+#usr/include/boost/iostreams/detail/execute.hpp
+#usr/include/boost/iostreams/detail/file_handle.hpp
+#usr/include/boost/iostreams/detail/forward.hpp
+#usr/include/boost/iostreams/detail/fstream.hpp
+#usr/include/boost/iostreams/detail/functional.hpp
+#usr/include/boost/iostreams/detail/ios.hpp
+#usr/include/boost/iostreams/detail/iostream.hpp
+#usr/include/boost/iostreams/detail/is_dereferenceable.hpp
+#usr/include/boost/iostreams/detail/is_iterator_range.hpp
+#usr/include/boost/iostreams/detail/newline.hpp
+#usr/include/boost/iostreams/detail/optional.hpp
+#usr/include/boost/iostreams/detail/param_type.hpp
+#usr/include/boost/iostreams/detail/path.hpp
+#usr/include/boost/iostreams/detail/push.hpp
+#usr/include/boost/iostreams/detail/push_params.hpp
+#usr/include/boost/iostreams/detail/resolve.hpp
+#usr/include/boost/iostreams/detail/restrict_impl.hpp
+#usr/include/boost/iostreams/detail/select.hpp
+#usr/include/boost/iostreams/detail/select_by_size.hpp
+#usr/include/boost/iostreams/detail/streambuf
+#usr/include/boost/iostreams/detail/streambuf.hpp
+#usr/include/boost/iostreams/detail/streambuf/chainbuf.hpp
+#usr/include/boost/iostreams/detail/streambuf/direct_streambuf.hpp
+#usr/include/boost/iostreams/detail/streambuf/indirect_streambuf.hpp
+#usr/include/boost/iostreams/detail/streambuf/linked_streambuf.hpp
+#usr/include/boost/iostreams/detail/system_failure.hpp
+#usr/include/boost/iostreams/detail/template_params.hpp
+#usr/include/boost/iostreams/detail/translate_int_type.hpp
+#usr/include/boost/iostreams/detail/vc6
+#usr/include/boost/iostreams/detail/vc6/close.hpp
+#usr/include/boost/iostreams/detail/vc6/read.hpp
+#usr/include/boost/iostreams/detail/vc6/write.hpp
+#usr/include/boost/iostreams/detail/wrap_unwrap.hpp
+#usr/include/boost/iostreams/device
+#usr/include/boost/iostreams/device/array.hpp
+#usr/include/boost/iostreams/device/back_inserter.hpp
+#usr/include/boost/iostreams/device/file.hpp
+#usr/include/boost/iostreams/device/file_descriptor.hpp
+#usr/include/boost/iostreams/device/mapped_file.hpp
+#usr/include/boost/iostreams/device/null.hpp
+#usr/include/boost/iostreams/filter
+#usr/include/boost/iostreams/filter/aggregate.hpp
+#usr/include/boost/iostreams/filter/bzip2.hpp
+#usr/include/boost/iostreams/filter/counter.hpp
+#usr/include/boost/iostreams/filter/grep.hpp
+#usr/include/boost/iostreams/filter/gzip.hpp
+#usr/include/boost/iostreams/filter/line.hpp
+#usr/include/boost/iostreams/filter/newline.hpp
+#usr/include/boost/iostreams/filter/regex.hpp
+#usr/include/boost/iostreams/filter/stdio.hpp
+#usr/include/boost/iostreams/filter/symmetric.hpp
+#usr/include/boost/iostreams/filter/test.hpp
+#usr/include/boost/iostreams/filter/zlib.hpp
+#usr/include/boost/iostreams/filtering_stream.hpp
+#usr/include/boost/iostreams/filtering_streambuf.hpp
+#usr/include/boost/iostreams/flush.hpp
+#usr/include/boost/iostreams/get.hpp
+#usr/include/boost/iostreams/imbue.hpp
+#usr/include/boost/iostreams/input_sequence.hpp
+#usr/include/boost/iostreams/invert.hpp
+#usr/include/boost/iostreams/operations.hpp
+#usr/include/boost/iostreams/operations_fwd.hpp
+#usr/include/boost/iostreams/optimal_buffer_size.hpp
+#usr/include/boost/iostreams/output_sequence.hpp
+#usr/include/boost/iostreams/pipeline.hpp
+#usr/include/boost/iostreams/positioning.hpp
+#usr/include/boost/iostreams/put.hpp
+#usr/include/boost/iostreams/putback.hpp
+#usr/include/boost/iostreams/read.hpp
+#usr/include/boost/iostreams/restrict.hpp
+#usr/include/boost/iostreams/seek.hpp
+#usr/include/boost/iostreams/skip.hpp
+#usr/include/boost/iostreams/slice.hpp
+#usr/include/boost/iostreams/stream.hpp
+#usr/include/boost/iostreams/stream_buffer.hpp
+#usr/include/boost/iostreams/tee.hpp
+#usr/include/boost/iostreams/traits.hpp
+#usr/include/boost/iostreams/traits_fwd.hpp
+#usr/include/boost/iostreams/write.hpp
+#usr/include/boost/is_placeholder.hpp
+#usr/include/boost/iterator
+#usr/include/boost/iterator.hpp
+#usr/include/boost/iterator/counting_iterator.hpp
+#usr/include/boost/iterator/detail
+#usr/include/boost/iterator/detail/any_conversion_eater.hpp
+#usr/include/boost/iterator/detail/config_def.hpp
+#usr/include/boost/iterator/detail/config_undef.hpp
+#usr/include/boost/iterator/detail/enable_if.hpp
+#usr/include/boost/iterator/detail/facade_iterator_category.hpp
+#usr/include/boost/iterator/detail/minimum_category.hpp
+#usr/include/boost/iterator/filter_iterator.hpp
+#usr/include/boost/iterator/function_input_iterator.hpp
+#usr/include/boost/iterator/indirect_iterator.hpp
+#usr/include/boost/iterator/interoperable.hpp
+#usr/include/boost/iterator/is_lvalue_iterator.hpp
+#usr/include/boost/iterator/is_readable_iterator.hpp
+#usr/include/boost/iterator/iterator_adaptor.hpp
+#usr/include/boost/iterator/iterator_archetypes.hpp
+#usr/include/boost/iterator/iterator_categories.hpp
+#usr/include/boost/iterator/iterator_concepts.hpp
+#usr/include/boost/iterator/iterator_facade.hpp
+#usr/include/boost/iterator/iterator_traits.hpp
+#usr/include/boost/iterator/new_iterator_tests.hpp
+#usr/include/boost/iterator/permutation_iterator.hpp
+#usr/include/boost/iterator/reverse_iterator.hpp
+#usr/include/boost/iterator/transform_iterator.hpp
+#usr/include/boost/iterator/zip_iterator.hpp
+#usr/include/boost/iterator_adaptors.hpp
+#usr/include/boost/lambda
+#usr/include/boost/lambda/algorithm.hpp
+#usr/include/boost/lambda/bind.hpp
+#usr/include/boost/lambda/casts.hpp
+#usr/include/boost/lambda/closures.hpp
+#usr/include/boost/lambda/construct.hpp
+#usr/include/boost/lambda/control_structures.hpp
+#usr/include/boost/lambda/core.hpp
+#usr/include/boost/lambda/detail
+#usr/include/boost/lambda/detail/actions.hpp
+#usr/include/boost/lambda/detail/arity_code.hpp
+#usr/include/boost/lambda/detail/bind_functions.hpp
+#usr/include/boost/lambda/detail/control_constructs_common.hpp
+#usr/include/boost/lambda/detail/function_adaptors.hpp
+#usr/include/boost/lambda/detail/is_instance_of.hpp
+#usr/include/boost/lambda/detail/lambda_config.hpp
+#usr/include/boost/lambda/detail/lambda_functor_base.hpp
+#usr/include/boost/lambda/detail/lambda_functors.hpp
+#usr/include/boost/lambda/detail/lambda_fwd.hpp
+#usr/include/boost/lambda/detail/lambda_traits.hpp
+#usr/include/boost/lambda/detail/member_ptr.hpp
+#usr/include/boost/lambda/detail/operator_actions.hpp
+#usr/include/boost/lambda/detail/operator_lambda_func_base.hpp
+#usr/include/boost/lambda/detail/operator_return_type_traits.hpp
+#usr/include/boost/lambda/detail/operators.hpp
+#usr/include/boost/lambda/detail/ret.hpp
+#usr/include/boost/lambda/detail/return_type_traits.hpp
+#usr/include/boost/lambda/detail/select_functions.hpp
+#usr/include/boost/lambda/detail/suppress_unused.hpp
+#usr/include/boost/lambda/exceptions.hpp
+#usr/include/boost/lambda/if.hpp
+#usr/include/boost/lambda/lambda.hpp
+#usr/include/boost/lambda/loops.hpp
+#usr/include/boost/lambda/numeric.hpp
+#usr/include/boost/lambda/switch.hpp
+#usr/include/boost/last_value.hpp
+#usr/include/boost/lexical_cast.hpp
+#usr/include/boost/limits.hpp
+#usr/include/boost/local_function
+#usr/include/boost/local_function.hpp
+#usr/include/boost/local_function/aux_
+#usr/include/boost/local_function/aux_/add_pointed_const.hpp
+#usr/include/boost/local_function/aux_/function.hpp
+#usr/include/boost/local_function/aux_/macro
+#usr/include/boost/local_function/aux_/macro/code_
+#usr/include/boost/local_function/aux_/macro/code_/bind.hpp
+#usr/include/boost/local_function/aux_/macro/code_/functor.hpp
+#usr/include/boost/local_function/aux_/macro/code_/result.hpp
+#usr/include/boost/local_function/aux_/macro/decl.hpp
+#usr/include/boost/local_function/aux_/macro/name.hpp
+#usr/include/boost/local_function/aux_/macro/typeof.hpp
+#usr/include/boost/local_function/aux_/member.hpp
+#usr/include/boost/local_function/aux_/nobind.hpp
+#usr/include/boost/local_function/aux_/preprocessor
+#usr/include/boost/local_function/aux_/preprocessor/traits
+#usr/include/boost/local_function/aux_/preprocessor/traits/bind.hpp
+#usr/include/boost/local_function/aux_/preprocessor/traits/decl.hpp
+#usr/include/boost/local_function/aux_/preprocessor/traits/decl_
+#usr/include/boost/local_function/aux_/preprocessor/traits/decl_/append.hpp
+#usr/include/boost/local_function/aux_/preprocessor/traits/decl_/index.hpp
+#usr/include/boost/local_function/aux_/preprocessor/traits/decl_/nil.hpp
+#usr/include/boost/local_function/aux_/preprocessor/traits/decl_/set_error.hpp
+#usr/include/boost/local_function/aux_/preprocessor/traits/decl_/validate.hpp
+#usr/include/boost/local_function/aux_/preprocessor/traits/decl_/validate_
+#usr/include/boost/local_function/aux_/preprocessor/traits/decl_/validate_/return_count.hpp
+#usr/include/boost/local_function/aux_/preprocessor/traits/decl_/validate_/this_count.hpp
+#usr/include/boost/local_function/aux_/preprocessor/traits/decl_binds.hpp
+#usr/include/boost/local_function/aux_/preprocessor/traits/decl_const_binds.hpp
+#usr/include/boost/local_function/aux_/preprocessor/traits/decl_error.hpp
+#usr/include/boost/local_function/aux_/preprocessor/traits/decl_params.hpp
+#usr/include/boost/local_function/aux_/preprocessor/traits/decl_returns.hpp
+#usr/include/boost/local_function/aux_/preprocessor/traits/decl_sign_
+#usr/include/boost/local_function/aux_/preprocessor/traits/decl_sign_/any_bind_type.hpp
+#usr/include/boost/local_function/aux_/preprocessor/traits/decl_sign_/sign.hpp
+#usr/include/boost/local_function/aux_/preprocessor/traits/decl_sign_/validate.hpp
+#usr/include/boost/local_function/aux_/preprocessor/traits/decl_sign_/validate_
+#usr/include/boost/local_function/aux_/preprocessor/traits/decl_sign_/validate_/defaults.hpp
+#usr/include/boost/local_function/aux_/preprocessor/traits/decl_sign_/validate_/this.hpp
+#usr/include/boost/local_function/aux_/preprocessor/traits/param.hpp
+#usr/include/boost/local_function/aux_/symbol.hpp
+#usr/include/boost/local_function/config.hpp
+#usr/include/boost/local_function/detail
+#usr/include/boost/local_function/detail/preprocessor
+#usr/include/boost/local_function/detail/preprocessor/keyword
+#usr/include/boost/local_function/detail/preprocessor/keyword/auto.hpp
+#usr/include/boost/local_function/detail/preprocessor/keyword/bind.hpp
+#usr/include/boost/local_function/detail/preprocessor/keyword/const.hpp
+#usr/include/boost/local_function/detail/preprocessor/keyword/const_bind.hpp
+#usr/include/boost/local_function/detail/preprocessor/keyword/default.hpp
+#usr/include/boost/local_function/detail/preprocessor/keyword/facility
+#usr/include/boost/local_function/detail/preprocessor/keyword/facility/add.hpp
+#usr/include/boost/local_function/detail/preprocessor/keyword/facility/is.hpp
+#usr/include/boost/local_function/detail/preprocessor/keyword/facility/remove.hpp
+#usr/include/boost/local_function/detail/preprocessor/keyword/inline.hpp
+#usr/include/boost/local_function/detail/preprocessor/keyword/recursive.hpp
+#usr/include/boost/local_function/detail/preprocessor/keyword/register.hpp
+#usr/include/boost/local_function/detail/preprocessor/keyword/return.hpp
+#usr/include/boost/local_function/detail/preprocessor/keyword/this.hpp
+#usr/include/boost/local_function/detail/preprocessor/keyword/thisunderscore.hpp
+#usr/include/boost/local_function/detail/preprocessor/keyword/void.hpp
+#usr/include/boost/local_function/detail/preprocessor/line_counter.hpp
+#usr/include/boost/local_function/detail/preprocessor/void_list.hpp
+#usr/include/boost/locale
+#usr/include/boost/locale.hpp
+#usr/include/boost/locale/boundary
+#usr/include/boost/locale/boundary.hpp
+#usr/include/boost/locale/boundary/boundary_point.hpp
+#usr/include/boost/locale/boundary/facets.hpp
+#usr/include/boost/locale/boundary/index.hpp
+#usr/include/boost/locale/boundary/segment.hpp
+#usr/include/boost/locale/boundary/types.hpp
+#usr/include/boost/locale/collator.hpp
+#usr/include/boost/locale/config.hpp
+#usr/include/boost/locale/conversion.hpp
+#usr/include/boost/locale/date_time.hpp
+#usr/include/boost/locale/date_time_facet.hpp
+#usr/include/boost/locale/definitions.hpp
+#usr/include/boost/locale/encoding.hpp
+#usr/include/boost/locale/encoding_errors.hpp
+#usr/include/boost/locale/encoding_utf.hpp
+#usr/include/boost/locale/format.hpp
+#usr/include/boost/locale/formatting.hpp
+#usr/include/boost/locale/generator.hpp
+#usr/include/boost/locale/gnu_gettext.hpp
+#usr/include/boost/locale/hold_ptr.hpp
+#usr/include/boost/locale/info.hpp
+#usr/include/boost/locale/localization_backend.hpp
+#usr/include/boost/locale/message.hpp
+#usr/include/boost/locale/time_zone.hpp
+#usr/include/boost/locale/utf.hpp
+#usr/include/boost/locale/util.hpp
+#usr/include/boost/lockfree
+#usr/include/boost/lockfree/detail
+#usr/include/boost/lockfree/detail/atomic.hpp
+#usr/include/boost/lockfree/detail/branch_hints.hpp
+#usr/include/boost/lockfree/detail/copy_payload.hpp
+#usr/include/boost/lockfree/detail/freelist.hpp
+#usr/include/boost/lockfree/detail/parameter.hpp
+#usr/include/boost/lockfree/detail/prefix.hpp
+#usr/include/boost/lockfree/detail/tagged_ptr.hpp
+#usr/include/boost/lockfree/detail/tagged_ptr_dcas.hpp
+#usr/include/boost/lockfree/detail/tagged_ptr_ptrcompression.hpp
+#usr/include/boost/lockfree/policies.hpp
+#usr/include/boost/lockfree/queue.hpp
+#usr/include/boost/lockfree/spsc_queue.hpp
+#usr/include/boost/lockfree/stack.hpp
+#usr/include/boost/log
+#usr/include/boost/log/attributes
+#usr/include/boost/log/attributes.hpp
+#usr/include/boost/log/attributes/attribute.hpp
+#usr/include/boost/log/attributes/attribute_cast.hpp
+#usr/include/boost/log/attributes/attribute_name.hpp
+#usr/include/boost/log/attributes/attribute_set.hpp
+#usr/include/boost/log/attributes/attribute_value.hpp
+#usr/include/boost/log/attributes/attribute_value_impl.hpp
+#usr/include/boost/log/attributes/attribute_value_set.hpp
+#usr/include/boost/log/attributes/clock.hpp
+#usr/include/boost/log/attributes/constant.hpp
+#usr/include/boost/log/attributes/counter.hpp
+#usr/include/boost/log/attributes/current_process_id.hpp
+#usr/include/boost/log/attributes/current_process_name.hpp
+#usr/include/boost/log/attributes/current_thread_id.hpp
+#usr/include/boost/log/attributes/fallback_policy.hpp
+#usr/include/boost/log/attributes/fallback_policy_fwd.hpp
+#usr/include/boost/log/attributes/function.hpp
+#usr/include/boost/log/attributes/mutable_constant.hpp
+#usr/include/boost/log/attributes/named_scope.hpp
+#usr/include/boost/log/attributes/scoped_attribute.hpp
+#usr/include/boost/log/attributes/time_traits.hpp
+#usr/include/boost/log/attributes/timer.hpp
+#usr/include/boost/log/attributes/value_extraction.hpp
+#usr/include/boost/log/attributes/value_extraction_fwd.hpp
+#usr/include/boost/log/attributes/value_visitation.hpp
+#usr/include/boost/log/attributes/value_visitation_fwd.hpp
+#usr/include/boost/log/common.hpp
+#usr/include/boost/log/core
+#usr/include/boost/log/core.hpp
+#usr/include/boost/log/core/core.hpp
+#usr/include/boost/log/core/record.hpp
+#usr/include/boost/log/core/record_view.hpp
+#usr/include/boost/log/detail
+#usr/include/boost/log/detail/asio_fwd.hpp
+#usr/include/boost/log/detail/attachable_sstream_buf.hpp
+#usr/include/boost/log/detail/attr_output_impl.hpp
+#usr/include/boost/log/detail/attr_output_terminal.hpp
+#usr/include/boost/log/detail/attribute_get_value_impl.hpp
+#usr/include/boost/log/detail/attribute_predicate.hpp
+#usr/include/boost/log/detail/cleanup_scope_guard.hpp
+#usr/include/boost/log/detail/code_conversion.hpp
+#usr/include/boost/log/detail/config.hpp
+#usr/include/boost/log/detail/custom_terminal_spec.hpp
+#usr/include/boost/log/detail/date_time_fmt_gen_traits_fwd.hpp
+#usr/include/boost/log/detail/date_time_format_parser.hpp
+#usr/include/boost/log/detail/decomposed_time.hpp
+#usr/include/boost/log/detail/deduce_char_type.hpp
+#usr/include/boost/log/detail/default_attribute_names.hpp
+#usr/include/boost/log/detail/embedded_string_type.hpp
+#usr/include/boost/log/detail/event.hpp
+#usr/include/boost/log/detail/fake_mutex.hpp
+#usr/include/boost/log/detail/footer.hpp
+#usr/include/boost/log/detail/format.hpp
+#usr/include/boost/log/detail/function_traits.hpp
+#usr/include/boost/log/detail/generate_overloads.hpp
+#usr/include/boost/log/detail/header.hpp
+#usr/include/boost/log/detail/id.hpp
+#usr/include/boost/log/detail/light_function.hpp
+#usr/include/boost/log/detail/light_function_pp.hpp
+#usr/include/boost/log/detail/light_rw_mutex.hpp
+#usr/include/boost/log/detail/locking_ptr.hpp
+#usr/include/boost/log/detail/locks.hpp
+#usr/include/boost/log/detail/malloc_aligned.hpp
+#usr/include/boost/log/detail/named_scope_fmt_pp.hpp
+#usr/include/boost/log/detail/native_typeof.hpp
+#usr/include/boost/log/detail/parameter_tools.hpp
+#usr/include/boost/log/detail/pp_identity.hpp
+#usr/include/boost/log/detail/process_id.hpp
+#usr/include/boost/log/detail/setup_config.hpp
+#usr/include/boost/log/detail/singleton.hpp
+#usr/include/boost/log/detail/sink_init_helpers.hpp
+#usr/include/boost/log/detail/snprintf.hpp
+#usr/include/boost/log/detail/spin_mutex.hpp
+#usr/include/boost/log/detail/tagged_integer.hpp
+#usr/include/boost/log/detail/thread_id.hpp
+#usr/include/boost/log/detail/thread_specific.hpp
+#usr/include/boost/log/detail/threadsafe_queue.hpp
+#usr/include/boost/log/detail/timestamp.hpp
+#usr/include/boost/log/detail/trivial_keyword.hpp
+#usr/include/boost/log/detail/unary_function_terminal.hpp
+#usr/include/boost/log/detail/unhandled_exception_count.hpp
+#usr/include/boost/log/detail/value_ref_visitation.hpp
+#usr/include/boost/log/detail/visible_type.hpp
+#usr/include/boost/log/exceptions.hpp
+#usr/include/boost/log/expressions
+#usr/include/boost/log/expressions.hpp
+#usr/include/boost/log/expressions/attr.hpp
+#usr/include/boost/log/expressions/attr_fwd.hpp
+#usr/include/boost/log/expressions/filter.hpp
+#usr/include/boost/log/expressions/formatter.hpp
+#usr/include/boost/log/expressions/formatters
+#usr/include/boost/log/expressions/formatters.hpp
+#usr/include/boost/log/expressions/formatters/c_decorator.hpp
+#usr/include/boost/log/expressions/formatters/char_decorator.hpp
+#usr/include/boost/log/expressions/formatters/csv_decorator.hpp
+#usr/include/boost/log/expressions/formatters/date_time.hpp
+#usr/include/boost/log/expressions/formatters/format.hpp
+#usr/include/boost/log/expressions/formatters/if.hpp
+#usr/include/boost/log/expressions/formatters/named_scope.hpp
+#usr/include/boost/log/expressions/formatters/stream.hpp
+#usr/include/boost/log/expressions/formatters/wrap_formatter.hpp
+#usr/include/boost/log/expressions/formatters/xml_decorator.hpp
+#usr/include/boost/log/expressions/is_keyword_descriptor.hpp
+#usr/include/boost/log/expressions/keyword.hpp
+#usr/include/boost/log/expressions/keyword_fwd.hpp
+#usr/include/boost/log/expressions/message.hpp
+#usr/include/boost/log/expressions/predicates
+#usr/include/boost/log/expressions/predicates.hpp
+#usr/include/boost/log/expressions/predicates/begins_with.hpp
+#usr/include/boost/log/expressions/predicates/channel_severity_filter.hpp
+#usr/include/boost/log/expressions/predicates/contains.hpp
+#usr/include/boost/log/expressions/predicates/ends_with.hpp
+#usr/include/boost/log/expressions/predicates/has_attr.hpp
+#usr/include/boost/log/expressions/predicates/is_debugger_present.hpp
+#usr/include/boost/log/expressions/predicates/is_in_range.hpp
+#usr/include/boost/log/expressions/predicates/matches.hpp
+#usr/include/boost/log/expressions/record.hpp
+#usr/include/boost/log/keywords
+#usr/include/boost/log/keywords/auto_flush.hpp
+#usr/include/boost/log/keywords/channel.hpp
+#usr/include/boost/log/keywords/delimiter.hpp
+#usr/include/boost/log/keywords/depth.hpp
+#usr/include/boost/log/keywords/facility.hpp
+#usr/include/boost/log/keywords/file_name.hpp
+#usr/include/boost/log/keywords/filter.hpp
+#usr/include/boost/log/keywords/format.hpp
+#usr/include/boost/log/keywords/ident.hpp
+#usr/include/boost/log/keywords/ip_version.hpp
+#usr/include/boost/log/keywords/iteration.hpp
+#usr/include/boost/log/keywords/log_name.hpp
+#usr/include/boost/log/keywords/log_source.hpp
+#usr/include/boost/log/keywords/max_size.hpp
+#usr/include/boost/log/keywords/message_file.hpp
+#usr/include/boost/log/keywords/min_free_space.hpp
+#usr/include/boost/log/keywords/open_mode.hpp
+#usr/include/boost/log/keywords/order.hpp
+#usr/include/boost/log/keywords/ordering_window.hpp
+#usr/include/boost/log/keywords/registration.hpp
+#usr/include/boost/log/keywords/rotation_size.hpp
+#usr/include/boost/log/keywords/scan_method.hpp
+#usr/include/boost/log/keywords/severity.hpp
+#usr/include/boost/log/keywords/start_thread.hpp
+#usr/include/boost/log/keywords/target.hpp
+#usr/include/boost/log/keywords/time_based_rotation.hpp
+#usr/include/boost/log/keywords/use_impl.hpp
+#usr/include/boost/log/sinks
+#usr/include/boost/log/sinks.hpp
+#usr/include/boost/log/sinks/async_frontend.hpp
+#usr/include/boost/log/sinks/attribute_mapping.hpp
+#usr/include/boost/log/sinks/basic_sink_backend.hpp
+#usr/include/boost/log/sinks/basic_sink_frontend.hpp
+#usr/include/boost/log/sinks/block_on_overflow.hpp
+#usr/include/boost/log/sinks/bounded_fifo_queue.hpp
+#usr/include/boost/log/sinks/bounded_ordering_queue.hpp
+#usr/include/boost/log/sinks/debug_output_backend.hpp
+#usr/include/boost/log/sinks/drop_on_overflow.hpp
+#usr/include/boost/log/sinks/event_log_backend.hpp
+#usr/include/boost/log/sinks/event_log_constants.hpp
+#usr/include/boost/log/sinks/frontend_requirements.hpp
+#usr/include/boost/log/sinks/sink.hpp
+#usr/include/boost/log/sinks/sync_frontend.hpp
+#usr/include/boost/log/sinks/syslog_backend.hpp
+#usr/include/boost/log/sinks/syslog_constants.hpp
+#usr/include/boost/log/sinks/text_file_backend.hpp
+#usr/include/boost/log/sinks/text_multifile_backend.hpp
+#usr/include/boost/log/sinks/text_ostream_backend.hpp
+#usr/include/boost/log/sinks/unbounded_fifo_queue.hpp
+#usr/include/boost/log/sinks/unbounded_ordering_queue.hpp
+#usr/include/boost/log/sinks/unlocked_frontend.hpp
+#usr/include/boost/log/sources
+#usr/include/boost/log/sources/basic_logger.hpp
+#usr/include/boost/log/sources/channel_feature.hpp
+#usr/include/boost/log/sources/channel_logger.hpp
+#usr/include/boost/log/sources/exception_handler_feature.hpp
+#usr/include/boost/log/sources/features.hpp
+#usr/include/boost/log/sources/global_logger_storage.hpp
+#usr/include/boost/log/sources/logger.hpp
+#usr/include/boost/log/sources/record_ostream.hpp
+#usr/include/boost/log/sources/severity_channel_logger.hpp
+#usr/include/boost/log/sources/severity_feature.hpp
+#usr/include/boost/log/sources/severity_logger.hpp
+#usr/include/boost/log/sources/threading_models.hpp
+#usr/include/boost/log/support
+#usr/include/boost/log/support/date_time.hpp
+#usr/include/boost/log/support/exception.hpp
+#usr/include/boost/log/support/regex.hpp
+#usr/include/boost/log/support/spirit_classic.hpp
+#usr/include/boost/log/support/spirit_qi.hpp
+#usr/include/boost/log/support/xpressive.hpp
+#usr/include/boost/log/trivial.hpp
+#usr/include/boost/log/utility
+#usr/include/boost/log/utility/empty_deleter.hpp
+#usr/include/boost/log/utility/exception_handler.hpp
+#usr/include/boost/log/utility/explicit_operator_bool.hpp
+#usr/include/boost/log/utility/formatting_ostream.hpp
+#usr/include/boost/log/utility/formatting_ostream_fwd.hpp
+#usr/include/boost/log/utility/functional
+#usr/include/boost/log/utility/functional.hpp
+#usr/include/boost/log/utility/functional/as_action.hpp
+#usr/include/boost/log/utility/functional/begins_with.hpp
+#usr/include/boost/log/utility/functional/bind.hpp
+#usr/include/boost/log/utility/functional/bind_assign.hpp
+#usr/include/boost/log/utility/functional/bind_output.hpp
+#usr/include/boost/log/utility/functional/bind_to_log.hpp
+#usr/include/boost/log/utility/functional/contains.hpp
+#usr/include/boost/log/utility/functional/ends_with.hpp
+#usr/include/boost/log/utility/functional/fun_ref.hpp
+#usr/include/boost/log/utility/functional/in_range.hpp
+#usr/include/boost/log/utility/functional/logical.hpp
+#usr/include/boost/log/utility/functional/matches.hpp
+#usr/include/boost/log/utility/functional/nop.hpp
+#usr/include/boost/log/utility/functional/save_result.hpp
+#usr/include/boost/log/utility/intrusive_ref_counter.hpp
+#usr/include/boost/log/utility/manipulators
+#usr/include/boost/log/utility/manipulators.hpp
+#usr/include/boost/log/utility/manipulators/add_value.hpp
+#usr/include/boost/log/utility/manipulators/dump.hpp
+#usr/include/boost/log/utility/manipulators/to_log.hpp
+#usr/include/boost/log/utility/once_block.hpp
+#usr/include/boost/log/utility/record_ordering.hpp
+#usr/include/boost/log/utility/setup
+#usr/include/boost/log/utility/setup.hpp
+#usr/include/boost/log/utility/setup/common_attributes.hpp
+#usr/include/boost/log/utility/setup/console.hpp
+#usr/include/boost/log/utility/setup/file.hpp
+#usr/include/boost/log/utility/setup/filter_parser.hpp
+#usr/include/boost/log/utility/setup/formatter_parser.hpp
+#usr/include/boost/log/utility/setup/from_settings.hpp
+#usr/include/boost/log/utility/setup/from_stream.hpp
+#usr/include/boost/log/utility/setup/settings.hpp
+#usr/include/boost/log/utility/setup/settings_parser.hpp
+#usr/include/boost/log/utility/strictest_lock.hpp
+#usr/include/boost/log/utility/string_literal.hpp
+#usr/include/boost/log/utility/string_literal_fwd.hpp
+#usr/include/boost/log/utility/type_dispatch
+#usr/include/boost/log/utility/type_dispatch/date_time_types.hpp
+#usr/include/boost/log/utility/type_dispatch/dynamic_type_dispatcher.hpp
+#usr/include/boost/log/utility/type_dispatch/standard_types.hpp
+#usr/include/boost/log/utility/type_dispatch/static_type_dispatcher.hpp
+#usr/include/boost/log/utility/type_dispatch/type_dispatcher.hpp
+#usr/include/boost/log/utility/type_info_wrapper.hpp
+#usr/include/boost/log/utility/unique_identifier_name.hpp
+#usr/include/boost/log/utility/unused_variable.hpp
+#usr/include/boost/log/utility/value_ref.hpp
+#usr/include/boost/log/utility/value_ref_fwd.hpp
+#usr/include/boost/logic
+#usr/include/boost/logic/tribool.hpp
+#usr/include/boost/logic/tribool_fwd.hpp
+#usr/include/boost/logic/tribool_io.hpp
+#usr/include/boost/make_shared.hpp
+#usr/include/boost/math
+#usr/include/boost/math/bindings
+#usr/include/boost/math/bindings/detail
+#usr/include/boost/math/bindings/detail/big_digamma.hpp
+#usr/include/boost/math/bindings/detail/big_lanczos.hpp
+#usr/include/boost/math/bindings/e_float.hpp
+#usr/include/boost/math/bindings/mpfr.hpp
+#usr/include/boost/math/bindings/mpreal.hpp
+#usr/include/boost/math/bindings/rr.hpp
+#usr/include/boost/math/common_factor.hpp
+#usr/include/boost/math/common_factor_ct.hpp
+#usr/include/boost/math/common_factor_rt.hpp
+#usr/include/boost/math/complex
+#usr/include/boost/math/complex.hpp
+#usr/include/boost/math/complex/acos.hpp
+#usr/include/boost/math/complex/acosh.hpp
+#usr/include/boost/math/complex/asin.hpp
+#usr/include/boost/math/complex/asinh.hpp
+#usr/include/boost/math/complex/atan.hpp
+#usr/include/boost/math/complex/atanh.hpp
+#usr/include/boost/math/complex/details.hpp
+#usr/include/boost/math/complex/fabs.hpp
+#usr/include/boost/math/concepts
+#usr/include/boost/math/concepts/distributions.hpp
+#usr/include/boost/math/concepts/real_concept.hpp
+#usr/include/boost/math/concepts/real_type_concept.hpp
+#usr/include/boost/math/concepts/std_real_concept.hpp
+#usr/include/boost/math/constants
+#usr/include/boost/math/constants/calculate_constants.hpp
+#usr/include/boost/math/constants/constants.hpp
+#usr/include/boost/math/constants/generate.hpp
+#usr/include/boost/math/constants/info.hpp
+#usr/include/boost/math/distributions
+#usr/include/boost/math/distributions.hpp
+#usr/include/boost/math/distributions/bernoulli.hpp
+#usr/include/boost/math/distributions/beta.hpp
+#usr/include/boost/math/distributions/binomial.hpp
+#usr/include/boost/math/distributions/cauchy.hpp
+#usr/include/boost/math/distributions/chi_squared.hpp
+#usr/include/boost/math/distributions/complement.hpp
+#usr/include/boost/math/distributions/detail
+#usr/include/boost/math/distributions/detail/common_error_handling.hpp
+#usr/include/boost/math/distributions/detail/derived_accessors.hpp
+#usr/include/boost/math/distributions/detail/generic_mode.hpp
+#usr/include/boost/math/distributions/detail/generic_quantile.hpp
+#usr/include/boost/math/distributions/detail/hypergeometric_cdf.hpp
+#usr/include/boost/math/distributions/detail/hypergeometric_pdf.hpp
+#usr/include/boost/math/distributions/detail/hypergeometric_quantile.hpp
+#usr/include/boost/math/distributions/detail/inv_discrete_quantile.hpp
+#usr/include/boost/math/distributions/exponential.hpp
+#usr/include/boost/math/distributions/extreme_value.hpp
+#usr/include/boost/math/distributions/find_location.hpp
+#usr/include/boost/math/distributions/find_scale.hpp
+#usr/include/boost/math/distributions/fisher_f.hpp
+#usr/include/boost/math/distributions/fwd.hpp
+#usr/include/boost/math/distributions/gamma.hpp
+#usr/include/boost/math/distributions/geometric.hpp
+#usr/include/boost/math/distributions/hypergeometric.hpp
+#usr/include/boost/math/distributions/inverse_chi_squared.hpp
+#usr/include/boost/math/distributions/inverse_gamma.hpp
+#usr/include/boost/math/distributions/inverse_gaussian.hpp
+#usr/include/boost/math/distributions/laplace.hpp
+#usr/include/boost/math/distributions/logistic.hpp
+#usr/include/boost/math/distributions/lognormal.hpp
+#usr/include/boost/math/distributions/negative_binomial.hpp
+#usr/include/boost/math/distributions/non_central_beta.hpp
+#usr/include/boost/math/distributions/non_central_chi_squared.hpp
+#usr/include/boost/math/distributions/non_central_f.hpp
+#usr/include/boost/math/distributions/non_central_t.hpp
+#usr/include/boost/math/distributions/normal.hpp
+#usr/include/boost/math/distributions/pareto.hpp
+#usr/include/boost/math/distributions/poisson.hpp
+#usr/include/boost/math/distributions/rayleigh.hpp
+#usr/include/boost/math/distributions/skew_normal.hpp
+#usr/include/boost/math/distributions/students_t.hpp
+#usr/include/boost/math/distributions/triangular.hpp
+#usr/include/boost/math/distributions/uniform.hpp
+#usr/include/boost/math/distributions/weibull.hpp
+#usr/include/boost/math/octonion.hpp
+#usr/include/boost/math/policies
+#usr/include/boost/math/policies/error_handling.hpp
+#usr/include/boost/math/policies/policy.hpp
+#usr/include/boost/math/quaternion.hpp
+#usr/include/boost/math/special_functions
+#usr/include/boost/math/special_functions.hpp
+#usr/include/boost/math/special_functions/acosh.hpp
+#usr/include/boost/math/special_functions/airy.hpp
+#usr/include/boost/math/special_functions/asinh.hpp
+#usr/include/boost/math/special_functions/atanh.hpp
+#usr/include/boost/math/special_functions/bessel.hpp
+#usr/include/boost/math/special_functions/beta.hpp
+#usr/include/boost/math/special_functions/binomial.hpp
+#usr/include/boost/math/special_functions/cbrt.hpp
+#usr/include/boost/math/special_functions/cos_pi.hpp
+#usr/include/boost/math/special_functions/detail
+#usr/include/boost/math/special_functions/detail/airy_ai_bi_zero.hpp
+#usr/include/boost/math/special_functions/detail/bessel_i0.hpp
+#usr/include/boost/math/special_functions/detail/bessel_i1.hpp
+#usr/include/boost/math/special_functions/detail/bessel_ik.hpp
+#usr/include/boost/math/special_functions/detail/bessel_j0.hpp
+#usr/include/boost/math/special_functions/detail/bessel_j1.hpp
+#usr/include/boost/math/special_functions/detail/bessel_jn.hpp
+#usr/include/boost/math/special_functions/detail/bessel_jy.hpp
+#usr/include/boost/math/special_functions/detail/bessel_jy_asym.hpp
+#usr/include/boost/math/special_functions/detail/bessel_jy_series.hpp
+#usr/include/boost/math/special_functions/detail/bessel_jy_zero.hpp
+#usr/include/boost/math/special_functions/detail/bessel_k0.hpp
+#usr/include/boost/math/special_functions/detail/bessel_k1.hpp
+#usr/include/boost/math/special_functions/detail/bessel_kn.hpp
+#usr/include/boost/math/special_functions/detail/bessel_y0.hpp
+#usr/include/boost/math/special_functions/detail/bessel_y1.hpp
+#usr/include/boost/math/special_functions/detail/bessel_yn.hpp
+#usr/include/boost/math/special_functions/detail/erf_inv.hpp
+#usr/include/boost/math/special_functions/detail/fp_traits.hpp
+#usr/include/boost/math/special_functions/detail/gamma_inva.hpp
+#usr/include/boost/math/special_functions/detail/ibeta_inv_ab.hpp
+#usr/include/boost/math/special_functions/detail/ibeta_inverse.hpp
+#usr/include/boost/math/special_functions/detail/iconv.hpp
+#usr/include/boost/math/special_functions/detail/igamma_inverse.hpp
+#usr/include/boost/math/special_functions/detail/igamma_large.hpp
+#usr/include/boost/math/special_functions/detail/lanczos_sse2.hpp
+#usr/include/boost/math/special_functions/detail/lgamma_small.hpp
+#usr/include/boost/math/special_functions/detail/round_fwd.hpp
+#usr/include/boost/math/special_functions/detail/t_distribution_inv.hpp
+#usr/include/boost/math/special_functions/detail/unchecked_factorial.hpp
+#usr/include/boost/math/special_functions/digamma.hpp
+#usr/include/boost/math/special_functions/ellint_1.hpp
+#usr/include/boost/math/special_functions/ellint_2.hpp
+#usr/include/boost/math/special_functions/ellint_3.hpp
+#usr/include/boost/math/special_functions/ellint_rc.hpp
+#usr/include/boost/math/special_functions/ellint_rd.hpp
+#usr/include/boost/math/special_functions/ellint_rf.hpp
+#usr/include/boost/math/special_functions/ellint_rj.hpp
+#usr/include/boost/math/special_functions/erf.hpp
+#usr/include/boost/math/special_functions/expint.hpp
+#usr/include/boost/math/special_functions/expm1.hpp
+#usr/include/boost/math/special_functions/factorials.hpp
+#usr/include/boost/math/special_functions/fpclassify.hpp
+#usr/include/boost/math/special_functions/gamma.hpp
+#usr/include/boost/math/special_functions/hankel.hpp
+#usr/include/boost/math/special_functions/hermite.hpp
+#usr/include/boost/math/special_functions/hypot.hpp
+#usr/include/boost/math/special_functions/jacobi_elliptic.hpp
+#usr/include/boost/math/special_functions/laguerre.hpp
+#usr/include/boost/math/special_functions/lanczos.hpp
+#usr/include/boost/math/special_functions/legendre.hpp
+#usr/include/boost/math/special_functions/log1p.hpp
+#usr/include/boost/math/special_functions/math_fwd.hpp
+#usr/include/boost/math/special_functions/modf.hpp
+#usr/include/boost/math/special_functions/next.hpp
+#usr/include/boost/math/special_functions/nonfinite_num_facets.hpp
+#usr/include/boost/math/special_functions/owens_t.hpp
+#usr/include/boost/math/special_functions/pow.hpp
+#usr/include/boost/math/special_functions/powm1.hpp
+#usr/include/boost/math/special_functions/prime.hpp
+#usr/include/boost/math/special_functions/round.hpp
+#usr/include/boost/math/special_functions/sign.hpp
+#usr/include/boost/math/special_functions/sin_pi.hpp
+#usr/include/boost/math/special_functions/sinc.hpp
+#usr/include/boost/math/special_functions/sinhc.hpp
+#usr/include/boost/math/special_functions/spherical_harmonic.hpp
+#usr/include/boost/math/special_functions/sqrt1pm1.hpp
+#usr/include/boost/math/special_functions/trunc.hpp
+#usr/include/boost/math/special_functions/zeta.hpp
+#usr/include/boost/math/tools
+#usr/include/boost/math/tools/big_constant.hpp
+#usr/include/boost/math/tools/config.hpp
+#usr/include/boost/math/tools/detail
+#usr/include/boost/math/tools/detail/polynomial_horner1_10.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner1_11.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner1_12.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner1_13.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner1_14.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner1_15.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner1_16.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner1_17.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner1_18.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner1_19.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner1_2.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner1_20.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner1_3.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner1_4.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner1_5.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner1_6.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner1_7.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner1_8.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner1_9.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner2_10.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner2_11.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner2_12.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner2_13.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner2_14.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner2_15.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner2_16.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner2_17.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner2_18.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner2_19.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner2_2.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner2_20.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner2_3.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner2_4.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner2_5.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner2_6.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner2_7.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner2_8.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner2_9.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner3_10.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner3_11.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner3_12.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner3_13.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner3_14.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner3_15.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner3_16.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner3_17.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner3_18.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner3_19.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner3_2.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner3_20.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner3_3.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner3_4.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner3_5.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner3_6.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner3_7.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner3_8.hpp
+#usr/include/boost/math/tools/detail/polynomial_horner3_9.hpp
+#usr/include/boost/math/tools/detail/rational_horner1_10.hpp
+#usr/include/boost/math/tools/detail/rational_horner1_11.hpp
+#usr/include/boost/math/tools/detail/rational_horner1_12.hpp
+#usr/include/boost/math/tools/detail/rational_horner1_13.hpp
+#usr/include/boost/math/tools/detail/rational_horner1_14.hpp
+#usr/include/boost/math/tools/detail/rational_horner1_15.hpp
+#usr/include/boost/math/tools/detail/rational_horner1_16.hpp
+#usr/include/boost/math/tools/detail/rational_horner1_17.hpp
+#usr/include/boost/math/tools/detail/rational_horner1_18.hpp
+#usr/include/boost/math/tools/detail/rational_horner1_19.hpp
+#usr/include/boost/math/tools/detail/rational_horner1_2.hpp
+#usr/include/boost/math/tools/detail/rational_horner1_20.hpp
+#usr/include/boost/math/tools/detail/rational_horner1_3.hpp
+#usr/include/boost/math/tools/detail/rational_horner1_4.hpp
+#usr/include/boost/math/tools/detail/rational_horner1_5.hpp
+#usr/include/boost/math/tools/detail/rational_horner1_6.hpp
+#usr/include/boost/math/tools/detail/rational_horner1_7.hpp
+#usr/include/boost/math/tools/detail/rational_horner1_8.hpp
+#usr/include/boost/math/tools/detail/rational_horner1_9.hpp
+#usr/include/boost/math/tools/detail/rational_horner2_10.hpp
+#usr/include/boost/math/tools/detail/rational_horner2_11.hpp
+#usr/include/boost/math/tools/detail/rational_horner2_12.hpp
+#usr/include/boost/math/tools/detail/rational_horner2_13.hpp
+#usr/include/boost/math/tools/detail/rational_horner2_14.hpp
+#usr/include/boost/math/tools/detail/rational_horner2_15.hpp
+#usr/include/boost/math/tools/detail/rational_horner2_16.hpp
+#usr/include/boost/math/tools/detail/rational_horner2_17.hpp
+#usr/include/boost/math/tools/detail/rational_horner2_18.hpp
+#usr/include/boost/math/tools/detail/rational_horner2_19.hpp
+#usr/include/boost/math/tools/detail/rational_horner2_2.hpp
+#usr/include/boost/math/tools/detail/rational_horner2_20.hpp
+#usr/include/boost/math/tools/detail/rational_horner2_3.hpp
+#usr/include/boost/math/tools/detail/rational_horner2_4.hpp
+#usr/include/boost/math/tools/detail/rational_horner2_5.hpp
+#usr/include/boost/math/tools/detail/rational_horner2_6.hpp
+#usr/include/boost/math/tools/detail/rational_horner2_7.hpp
+#usr/include/boost/math/tools/detail/rational_horner2_8.hpp
+#usr/include/boost/math/tools/detail/rational_horner2_9.hpp
+#usr/include/boost/math/tools/detail/rational_horner3_10.hpp
+#usr/include/boost/math/tools/detail/rational_horner3_11.hpp
+#usr/include/boost/math/tools/detail/rational_horner3_12.hpp
+#usr/include/boost/math/tools/detail/rational_horner3_13.hpp
+#usr/include/boost/math/tools/detail/rational_horner3_14.hpp
+#usr/include/boost/math/tools/detail/rational_horner3_15.hpp
+#usr/include/boost/math/tools/detail/rational_horner3_16.hpp
+#usr/include/boost/math/tools/detail/rational_horner3_17.hpp
+#usr/include/boost/math/tools/detail/rational_horner3_18.hpp
+#usr/include/boost/math/tools/detail/rational_horner3_19.hpp
+#usr/include/boost/math/tools/detail/rational_horner3_2.hpp
+#usr/include/boost/math/tools/detail/rational_horner3_20.hpp
+#usr/include/boost/math/tools/detail/rational_horner3_3.hpp
+#usr/include/boost/math/tools/detail/rational_horner3_4.hpp
+#usr/include/boost/math/tools/detail/rational_horner3_5.hpp
+#usr/include/boost/math/tools/detail/rational_horner3_6.hpp
+#usr/include/boost/math/tools/detail/rational_horner3_7.hpp
+#usr/include/boost/math/tools/detail/rational_horner3_8.hpp
+#usr/include/boost/math/tools/detail/rational_horner3_9.hpp
+#usr/include/boost/math/tools/fraction.hpp
+#usr/include/boost/math/tools/minima.hpp
+#usr/include/boost/math/tools/polynomial.hpp
+#usr/include/boost/math/tools/precision.hpp
+#usr/include/boost/math/tools/promotion.hpp
+#usr/include/boost/math/tools/rational.hpp
+#usr/include/boost/math/tools/real_cast.hpp
+#usr/include/boost/math/tools/remez.hpp
+#usr/include/boost/math/tools/roots.hpp
+#usr/include/boost/math/tools/series.hpp
+#usr/include/boost/math/tools/solve.hpp
+#usr/include/boost/math/tools/stats.hpp
+#usr/include/boost/math/tools/test.hpp
+#usr/include/boost/math/tools/test_data.hpp
+#usr/include/boost/math/tools/toms748_solve.hpp
+#usr/include/boost/math/tools/traits.hpp
+#usr/include/boost/math/tools/tuple.hpp
+#usr/include/boost/math/tools/user.hpp
+#usr/include/boost/math/tools/workaround.hpp
+#usr/include/boost/math/tr1.hpp
+#usr/include/boost/math/tr1_c_macros.ipp
+#usr/include/boost/math_fwd.hpp
+#usr/include/boost/mem_fn.hpp
+#usr/include/boost/memory_order.hpp
+#usr/include/boost/move
+#usr/include/boost/move/algorithm.hpp
+#usr/include/boost/move/core.hpp
+#usr/include/boost/move/detail
+#usr/include/boost/move/detail/config_begin.hpp
+#usr/include/boost/move/detail/config_end.hpp
+#usr/include/boost/move/detail/meta_utils.hpp
+#usr/include/boost/move/detail/move_helpers.hpp
+#usr/include/boost/move/iterator.hpp
+#usr/include/boost/move/move.hpp
+#usr/include/boost/move/traits.hpp
+#usr/include/boost/move/utility.hpp
+#usr/include/boost/mpi
+#usr/include/boost/mpi.hpp
+#usr/include/boost/mpi/allocator.hpp
+#usr/include/boost/mpi/collectives
+#usr/include/boost/mpi/collectives.hpp
+#usr/include/boost/mpi/collectives/all_gather.hpp
+#usr/include/boost/mpi/collectives/all_reduce.hpp
+#usr/include/boost/mpi/collectives/all_to_all.hpp
+#usr/include/boost/mpi/collectives/broadcast.hpp
+#usr/include/boost/mpi/collectives/gather.hpp
+#usr/include/boost/mpi/collectives/reduce.hpp
+#usr/include/boost/mpi/collectives/scan.hpp
+#usr/include/boost/mpi/collectives/scatter.hpp
+#usr/include/boost/mpi/collectives_fwd.hpp
+#usr/include/boost/mpi/communicator.hpp
+#usr/include/boost/mpi/config.hpp
+#usr/include/boost/mpi/datatype.hpp
+#usr/include/boost/mpi/datatype_fwd.hpp
+#usr/include/boost/mpi/detail
+#usr/include/boost/mpi/detail/binary_buffer_iprimitive.hpp
+#usr/include/boost/mpi/detail/binary_buffer_oprimitive.hpp
+#usr/include/boost/mpi/detail/broadcast_sc.hpp
+#usr/include/boost/mpi/detail/communicator_sc.hpp
+#usr/include/boost/mpi/detail/computation_tree.hpp
+#usr/include/boost/mpi/detail/content_oarchive.hpp
+#usr/include/boost/mpi/detail/forward_iprimitive.hpp
+#usr/include/boost/mpi/detail/forward_oprimitive.hpp
+#usr/include/boost/mpi/detail/forward_skeleton_iarchive.hpp
+#usr/include/boost/mpi/detail/forward_skeleton_oarchive.hpp
+#usr/include/boost/mpi/detail/ignore_iprimitive.hpp
+#usr/include/boost/mpi/detail/ignore_oprimitive.hpp
+#usr/include/boost/mpi/detail/ignore_skeleton_oarchive.hpp
+#usr/include/boost/mpi/detail/mpi_datatype_cache.hpp
+#usr/include/boost/mpi/detail/mpi_datatype_oarchive.hpp
+#usr/include/boost/mpi/detail/mpi_datatype_primitive.hpp
+#usr/include/boost/mpi/detail/packed_iprimitive.hpp
+#usr/include/boost/mpi/detail/packed_oprimitive.hpp
+#usr/include/boost/mpi/detail/point_to_point.hpp
+#usr/include/boost/mpi/detail/text_skeleton_oarchive.hpp
+#usr/include/boost/mpi/environment.hpp
+#usr/include/boost/mpi/exception.hpp
+#usr/include/boost/mpi/graph_communicator.hpp
+#usr/include/boost/mpi/group.hpp
+#usr/include/boost/mpi/inplace.hpp
+#usr/include/boost/mpi/intercommunicator.hpp
+#usr/include/boost/mpi/nonblocking.hpp
+#usr/include/boost/mpi/operations.hpp
+#usr/include/boost/mpi/packed_iarchive.hpp
+#usr/include/boost/mpi/packed_oarchive.hpp
+#usr/include/boost/mpi/python
+#usr/include/boost/mpi/python.hpp
+#usr/include/boost/mpi/python/config.hpp
+#usr/include/boost/mpi/python/serialize.hpp
+#usr/include/boost/mpi/python/skeleton_and_content.hpp
+#usr/include/boost/mpi/request.hpp
+#usr/include/boost/mpi/skeleton_and_content.hpp
+#usr/include/boost/mpi/skeleton_and_content_fwd.hpp
+#usr/include/boost/mpi/status.hpp
+#usr/include/boost/mpi/timer.hpp
+#usr/include/boost/mpl
+#usr/include/boost/mpl/O1_size.hpp
+#usr/include/boost/mpl/O1_size_fwd.hpp
+#usr/include/boost/mpl/accumulate.hpp
+#usr/include/boost/mpl/advance.hpp
+#usr/include/boost/mpl/advance_fwd.hpp
+#usr/include/boost/mpl/alias.hpp
+#usr/include/boost/mpl/always.hpp
+#usr/include/boost/mpl/and.hpp
+#usr/include/boost/mpl/apply.hpp
+#usr/include/boost/mpl/apply_fwd.hpp
+#usr/include/boost/mpl/apply_wrap.hpp
+#usr/include/boost/mpl/arg.hpp
+#usr/include/boost/mpl/arg_fwd.hpp
+#usr/include/boost/mpl/arithmetic.hpp
+#usr/include/boost/mpl/as_sequence.hpp
+#usr/include/boost/mpl/assert.hpp
+#usr/include/boost/mpl/at.hpp
+#usr/include/boost/mpl/at_fwd.hpp
+#usr/include/boost/mpl/aux_
+#usr/include/boost/mpl/aux_/O1_size_impl.hpp
+#usr/include/boost/mpl/aux_/adl_barrier.hpp
+#usr/include/boost/mpl/aux_/advance_backward.hpp
+#usr/include/boost/mpl/aux_/advance_forward.hpp
+#usr/include/boost/mpl/aux_/apply_1st.hpp
+#usr/include/boost/mpl/aux_/arg_typedef.hpp
+#usr/include/boost/mpl/aux_/arithmetic_op.hpp
+#usr/include/boost/mpl/aux_/arity.hpp
+#usr/include/boost/mpl/aux_/arity_spec.hpp
+#usr/include/boost/mpl/aux_/at_impl.hpp
+#usr/include/boost/mpl/aux_/back_impl.hpp
+#usr/include/boost/mpl/aux_/basic_bind.hpp
+#usr/include/boost/mpl/aux_/begin_end_impl.hpp
+#usr/include/boost/mpl/aux_/clear_impl.hpp
+#usr/include/boost/mpl/aux_/common_name_wknd.hpp
+#usr/include/boost/mpl/aux_/comparison_op.hpp
+#usr/include/boost/mpl/aux_/config
+#usr/include/boost/mpl/aux_/config/adl.hpp
+#usr/include/boost/mpl/aux_/config/arrays.hpp
+#usr/include/boost/mpl/aux_/config/bcc.hpp
+#usr/include/boost/mpl/aux_/config/bind.hpp
+#usr/include/boost/mpl/aux_/config/compiler.hpp
+#usr/include/boost/mpl/aux_/config/ctps.hpp
+#usr/include/boost/mpl/aux_/config/dependent_nttp.hpp
+#usr/include/boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp
+#usr/include/boost/mpl/aux_/config/dtp.hpp
+#usr/include/boost/mpl/aux_/config/eti.hpp
+#usr/include/boost/mpl/aux_/config/forwarding.hpp
+#usr/include/boost/mpl/aux_/config/gcc.hpp
+#usr/include/boost/mpl/aux_/config/has_apply.hpp
+#usr/include/boost/mpl/aux_/config/has_xxx.hpp
+#usr/include/boost/mpl/aux_/config/integral.hpp
+#usr/include/boost/mpl/aux_/config/intel.hpp
+#usr/include/boost/mpl/aux_/config/lambda.hpp
+#usr/include/boost/mpl/aux_/config/msvc.hpp
+#usr/include/boost/mpl/aux_/config/msvc_typename.hpp
+#usr/include/boost/mpl/aux_/config/nttp.hpp
+#usr/include/boost/mpl/aux_/config/operators.hpp
+#usr/include/boost/mpl/aux_/config/overload_resolution.hpp
+#usr/include/boost/mpl/aux_/config/pp_counter.hpp
+#usr/include/boost/mpl/aux_/config/preprocessor.hpp
+#usr/include/boost/mpl/aux_/config/static_constant.hpp
+#usr/include/boost/mpl/aux_/config/ttp.hpp
+#usr/include/boost/mpl/aux_/config/typeof.hpp
+#usr/include/boost/mpl/aux_/config/use_preprocessed.hpp
+#usr/include/boost/mpl/aux_/config/workaround.hpp
+#usr/include/boost/mpl/aux_/contains_impl.hpp
+#usr/include/boost/mpl/aux_/count_args.hpp
+#usr/include/boost/mpl/aux_/count_impl.hpp
+#usr/include/boost/mpl/aux_/empty_impl.hpp
+#usr/include/boost/mpl/aux_/erase_impl.hpp
+#usr/include/boost/mpl/aux_/erase_key_impl.hpp
+#usr/include/boost/mpl/aux_/filter_iter.hpp
+#usr/include/boost/mpl/aux_/find_if_pred.hpp
+#usr/include/boost/mpl/aux_/fold_impl.hpp
+#usr/include/boost/mpl/aux_/fold_impl_body.hpp
+#usr/include/boost/mpl/aux_/fold_op.hpp
+#usr/include/boost/mpl/aux_/fold_pred.hpp
+#usr/include/boost/mpl/aux_/front_impl.hpp
+#usr/include/boost/mpl/aux_/full_lambda.hpp
+#usr/include/boost/mpl/aux_/has_apply.hpp
+#usr/include/boost/mpl/aux_/has_begin.hpp
+#usr/include/boost/mpl/aux_/has_key_impl.hpp
+#usr/include/boost/mpl/aux_/has_rebind.hpp
+#usr/include/boost/mpl/aux_/has_size.hpp
+#usr/include/boost/mpl/aux_/has_tag.hpp
+#usr/include/boost/mpl/aux_/has_type.hpp
+#usr/include/boost/mpl/aux_/include_preprocessed.hpp
+#usr/include/boost/mpl/aux_/insert_impl.hpp
+#usr/include/boost/mpl/aux_/insert_range_impl.hpp
+#usr/include/boost/mpl/aux_/inserter_algorithm.hpp
+#usr/include/boost/mpl/aux_/integral_wrapper.hpp
+#usr/include/boost/mpl/aux_/is_msvc_eti_arg.hpp
+#usr/include/boost/mpl/aux_/iter_apply.hpp
+#usr/include/boost/mpl/aux_/iter_fold_if_impl.hpp
+#usr/include/boost/mpl/aux_/iter_fold_impl.hpp
+#usr/include/boost/mpl/aux_/iter_push_front.hpp
+#usr/include/boost/mpl/aux_/joint_iter.hpp
+#usr/include/boost/mpl/aux_/lambda_arity_param.hpp
+#usr/include/boost/mpl/aux_/lambda_no_ctps.hpp
+#usr/include/boost/mpl/aux_/lambda_spec.hpp
+#usr/include/boost/mpl/aux_/lambda_support.hpp
+#usr/include/boost/mpl/aux_/largest_int.hpp
+#usr/include/boost/mpl/aux_/logical_op.hpp
+#usr/include/boost/mpl/aux_/msvc_dtw.hpp
+#usr/include/boost/mpl/aux_/msvc_eti_base.hpp
+#usr/include/boost/mpl/aux_/msvc_is_class.hpp
+#usr/include/boost/mpl/aux_/msvc_never_true.hpp
+#usr/include/boost/mpl/aux_/msvc_type.hpp
+#usr/include/boost/mpl/aux_/na.hpp
+#usr/include/boost/mpl/aux_/na_assert.hpp
+#usr/include/boost/mpl/aux_/na_fwd.hpp
+#usr/include/boost/mpl/aux_/na_spec.hpp
+#usr/include/boost/mpl/aux_/nested_type_wknd.hpp
+#usr/include/boost/mpl/aux_/nttp_decl.hpp
+#usr/include/boost/mpl/aux_/numeric_cast_utils.hpp
+#usr/include/boost/mpl/aux_/numeric_op.hpp
+#usr/include/boost/mpl/aux_/order_impl.hpp
+#usr/include/boost/mpl/aux_/overload_names.hpp
+#usr/include/boost/mpl/aux_/partition_op.hpp
+#usr/include/boost/mpl/aux_/pop_back_impl.hpp
+#usr/include/boost/mpl/aux_/pop_front_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed
+#usr/include/boost/mpl/aux_/preprocessed/bcc
+#usr/include/boost/mpl/aux_/preprocessed/bcc/advance_backward.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/advance_forward.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/and.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/apply.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/apply_fwd.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/apply_wrap.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/arg.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/bind.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/bind_fwd.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/bitand.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/bitor.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/bitxor.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/deque.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/divides.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/equal_to.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/full_lambda.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/greater.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/greater_equal.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/inherit.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/iter_fold_if_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/iter_fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/lambda_no_ctps.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/less.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/less_equal.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/list.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/list_c.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/map.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/minus.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/modulus.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/not_equal_to.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/or.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/placeholders.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/plus.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/quote.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/reverse_fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/reverse_iter_fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/set.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/set_c.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/shift_left.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/shift_right.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/template_arity.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/times.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/unpack_args.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/vector.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc/vector_c.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/advance_backward.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/advance_forward.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/and.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/apply.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/apply_fwd.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/apply_wrap.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/arg.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/bind.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/bind_fwd.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/bitand.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/bitor.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/bitxor.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/deque.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/divides.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/equal_to.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/greater.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/greater_equal.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/inherit.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/iter_fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/lambda_no_ctps.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/less.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/less_equal.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/list.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/list_c.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/map.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/minus.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/modulus.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/not_equal_to.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/or.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/plus.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/quote.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/reverse_fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/reverse_iter_fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/set.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/set_c.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/shift_left.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/shift_right.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/template_arity.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/times.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/unpack_args.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/vector.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc551/vector_c.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/advance_backward.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/advance_forward.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/and.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/apply.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/apply_fwd.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/apply_wrap.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/arg.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/basic_bind.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/bind.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/bind_fwd.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/bitand.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/bitor.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/bitxor.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/deque.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/divides.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/equal_to.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/full_lambda.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/greater.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/greater_equal.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/inherit.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_if_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/lambda_no_ctps.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/less.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/less_equal.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/list.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/list_c.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/map.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/minus.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/modulus.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/not_equal_to.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/or.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/placeholders.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/plus.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/quote.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_iter_fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/set.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/set_c.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/shift_left.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/shift_right.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/template_arity.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/times.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/unpack_args.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/vector.hpp
+#usr/include/boost/mpl/aux_/preprocessed/bcc_pre590/vector_c.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc
+#usr/include/boost/mpl/aux_/preprocessed/dmc/advance_backward.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/advance_forward.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/and.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/apply.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/apply_fwd.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/apply_wrap.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/arg.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/bind.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/bind_fwd.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/bitand.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/bitor.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/bitxor.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/deque.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/divides.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/equal_to.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/full_lambda.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/greater.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/greater_equal.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/inherit.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/iter_fold_if_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/iter_fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/lambda_no_ctps.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/less.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/less_equal.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/list.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/list_c.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/map.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/minus.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/modulus.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/not_equal_to.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/or.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/placeholders.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/plus.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/quote.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/reverse_fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/reverse_iter_fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/set.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/set_c.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/shift_left.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/shift_right.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/template_arity.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/times.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/unpack_args.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/vector.hpp
+#usr/include/boost/mpl/aux_/preprocessed/dmc/vector_c.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc
+#usr/include/boost/mpl/aux_/preprocessed/gcc/advance_backward.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/advance_forward.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/and.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/apply.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/arg.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/bind.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/bitand.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/bitor.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/bitxor.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/deque.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/divides.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/greater.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/inherit.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/lambda_no_ctps.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/less.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/less_equal.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/list.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/list_c.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/map.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/minus.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/modulus.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/or.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/plus.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/quote.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/reverse_fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/reverse_iter_fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/set.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/set_c.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/shift_left.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/shift_right.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/times.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/unpack_args.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/vector.hpp
+#usr/include/boost/mpl/aux_/preprocessed/gcc/vector_c.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/advance_backward.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/advance_forward.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/and.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/apply.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/apply_fwd.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/apply_wrap.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/arg.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/bind.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/bind_fwd.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/deque.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/divides.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/equal_to.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/greater.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/greater_equal.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/inherit.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/iter_fold_if_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/iter_fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/less.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/less_equal.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/list.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/list_c.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/map.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/minus.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/modulus.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/not_equal_to.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/or.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/plus.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/quote.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/reverse_fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/reverse_iter_fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/set.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/set_c.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/shift_left.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/shift_right.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/template_arity.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/times.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/unpack_args.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/vector.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc60/vector_c.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/advance_backward.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/advance_forward.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/and.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/apply.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/apply_fwd.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/apply_wrap.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/arg.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/bind.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/bind_fwd.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/deque.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/divides.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/equal_to.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/greater.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/greater_equal.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/inherit.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/iter_fold_if_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/iter_fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/lambda_no_ctps.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/less.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/less_equal.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/list.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/list_c.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/map.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/minus.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/modulus.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/not_equal_to.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/or.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/plus.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/quote.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/reverse_fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/reverse_iter_fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/set.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/set_c.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/shift_left.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/shift_right.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/template_arity.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/times.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/unpack_args.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/vector.hpp
+#usr/include/boost/mpl/aux_/preprocessed/msvc70/vector_c.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/advance_backward.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/advance_forward.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/and.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/apply.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/apply_fwd.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/apply_wrap.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/arg.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/bind.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/bind_fwd.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/bitand.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/bitor.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/bitxor.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/deque.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/divides.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/equal_to.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/greater.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/greater_equal.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/inherit.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/iter_fold_if_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/iter_fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/lambda_no_ctps.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/less.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/less_equal.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/list.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/list_c.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/map.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/minus.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/modulus.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/not_equal_to.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/or.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/plus.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/quote.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/reverse_fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/reverse_iter_fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/set.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/set_c.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/shift_left.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/shift_right.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/template_arity.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/times.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/unpack_args.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/vector.hpp
+#usr/include/boost/mpl/aux_/preprocessed/mwcw/vector_c.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/advance_backward.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/advance_forward.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/and.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/apply.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/apply_fwd.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/apply_wrap.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/arg.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/bind.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/bind_fwd.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/deque.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/equal_to.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/greater.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/greater_equal.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/inherit.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_if_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/lambda_no_ctps.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/less.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/less_equal.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/list.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/list_c.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/map.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/modulus.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/not_equal_to.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/or.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/quote.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/reverse_fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/reverse_iter_fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/set.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/set_c.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/shift_left.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/shift_right.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/template_arity.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/times.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/unpack_args.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/vector.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ctps/vector_c.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/advance_backward.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/advance_forward.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/and.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/apply.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/apply_fwd.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/apply_wrap.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/arg.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/bind.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/bind_fwd.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/bitand.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/bitor.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/bitxor.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/deque.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/divides.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/equal_to.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/full_lambda.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/greater.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/greater_equal.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/inherit.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_if_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/lambda_no_ctps.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/less.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/less_equal.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/list.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/list_c.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/map.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/minus.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/modulus.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/not_equal_to.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/or.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/plus.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/quote.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/reverse_fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/reverse_iter_fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/set.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/set_c.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/shift_left.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/shift_right.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/template_arity.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/times.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/unpack_args.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/vector.hpp
+#usr/include/boost/mpl/aux_/preprocessed/no_ttp/vector_c.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain
+#usr/include/boost/mpl/aux_/preprocessed/plain/advance_backward.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/advance_forward.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/and.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/apply.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/apply_fwd.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/arg.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/bind.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/bind_fwd.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/bitand.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/bitor.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/bitxor.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/deque.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/divides.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/equal_to.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/greater.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/greater_equal.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/inherit.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/iter_fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/less.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/less_equal.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/list.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/list_c.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/map.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/minus.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/modulus.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/not_equal_to.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/or.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/placeholders.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/plus.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/quote.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/reverse_fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/reverse_iter_fold_impl.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/set.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/set_c.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/shift_left.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/shift_right.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/template_arity.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/times.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/unpack_args.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/vector.hpp
+#usr/include/boost/mpl/aux_/preprocessed/plain/vector_c.hpp
+#usr/include/boost/mpl/aux_/preprocessor
+#usr/include/boost/mpl/aux_/preprocessor/add.hpp
+#usr/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp
+#usr/include/boost/mpl/aux_/preprocessor/default_params.hpp
+#usr/include/boost/mpl/aux_/preprocessor/enum.hpp
+#usr/include/boost/mpl/aux_/preprocessor/ext_params.hpp
+#usr/include/boost/mpl/aux_/preprocessor/filter_params.hpp
+#usr/include/boost/mpl/aux_/preprocessor/is_seq.hpp
+#usr/include/boost/mpl/aux_/preprocessor/params.hpp
+#usr/include/boost/mpl/aux_/preprocessor/partial_spec_params.hpp
+#usr/include/boost/mpl/aux_/preprocessor/range.hpp
+#usr/include/boost/mpl/aux_/preprocessor/repeat.hpp
+#usr/include/boost/mpl/aux_/preprocessor/sub.hpp
+#usr/include/boost/mpl/aux_/preprocessor/token_equal.hpp
+#usr/include/boost/mpl/aux_/preprocessor/tuple.hpp
+#usr/include/boost/mpl/aux_/ptr_to_ref.hpp
+#usr/include/boost/mpl/aux_/push_back_impl.hpp
+#usr/include/boost/mpl/aux_/push_front_impl.hpp
+#usr/include/boost/mpl/aux_/range_c
+#usr/include/boost/mpl/aux_/range_c/O1_size.hpp
+#usr/include/boost/mpl/aux_/range_c/back.hpp
+#usr/include/boost/mpl/aux_/range_c/empty.hpp
+#usr/include/boost/mpl/aux_/range_c/front.hpp
+#usr/include/boost/mpl/aux_/range_c/iterator.hpp
+#usr/include/boost/mpl/aux_/range_c/size.hpp
+#usr/include/boost/mpl/aux_/range_c/tag.hpp
+#usr/include/boost/mpl/aux_/reverse_fold_impl.hpp
+#usr/include/boost/mpl/aux_/reverse_fold_impl_body.hpp
+#usr/include/boost/mpl/aux_/reverse_iter_fold_impl.hpp
+#usr/include/boost/mpl/aux_/sequence_wrapper.hpp
+#usr/include/boost/mpl/aux_/shift_op.hpp
+#usr/include/boost/mpl/aux_/single_element_iter.hpp
+#usr/include/boost/mpl/aux_/size_impl.hpp
+#usr/include/boost/mpl/aux_/sort_impl.hpp
+#usr/include/boost/mpl/aux_/static_cast.hpp
+#usr/include/boost/mpl/aux_/template_arity.hpp
+#usr/include/boost/mpl/aux_/template_arity_fwd.hpp
+#usr/include/boost/mpl/aux_/test
+#usr/include/boost/mpl/aux_/test.hpp
+#usr/include/boost/mpl/aux_/test/assert.hpp
+#usr/include/boost/mpl/aux_/test/data.hpp
+#usr/include/boost/mpl/aux_/test/test_case.hpp
+#usr/include/boost/mpl/aux_/traits_lambda_spec.hpp
+#usr/include/boost/mpl/aux_/transform_iter.hpp
+#usr/include/boost/mpl/aux_/type_wrapper.hpp
+#usr/include/boost/mpl/aux_/unwrap.hpp
+#usr/include/boost/mpl/aux_/value_wknd.hpp
+#usr/include/boost/mpl/aux_/yes_no.hpp
+#usr/include/boost/mpl/back.hpp
+#usr/include/boost/mpl/back_fwd.hpp
+#usr/include/boost/mpl/back_inserter.hpp
+#usr/include/boost/mpl/base.hpp
+#usr/include/boost/mpl/begin.hpp
+#usr/include/boost/mpl/begin_end.hpp
+#usr/include/boost/mpl/begin_end_fwd.hpp
+#usr/include/boost/mpl/bind.hpp
+#usr/include/boost/mpl/bind_fwd.hpp
+#usr/include/boost/mpl/bitand.hpp
+#usr/include/boost/mpl/bitor.hpp
+#usr/include/boost/mpl/bitwise.hpp
+#usr/include/boost/mpl/bitxor.hpp
+#usr/include/boost/mpl/bool.hpp
+#usr/include/boost/mpl/bool_fwd.hpp
+#usr/include/boost/mpl/char.hpp
+#usr/include/boost/mpl/char_fwd.hpp
+#usr/include/boost/mpl/clear.hpp
+#usr/include/boost/mpl/clear_fwd.hpp
+#usr/include/boost/mpl/comparison.hpp
+#usr/include/boost/mpl/contains.hpp
+#usr/include/boost/mpl/contains_fwd.hpp
+#usr/include/boost/mpl/copy.hpp
+#usr/include/boost/mpl/copy_if.hpp
+#usr/include/boost/mpl/count.hpp
+#usr/include/boost/mpl/count_fwd.hpp
+#usr/include/boost/mpl/count_if.hpp
+#usr/include/boost/mpl/deque.hpp
+#usr/include/boost/mpl/deref.hpp
+#usr/include/boost/mpl/distance.hpp
+#usr/include/boost/mpl/distance_fwd.hpp
+#usr/include/boost/mpl/divides.hpp
+#usr/include/boost/mpl/empty.hpp
+#usr/include/boost/mpl/empty_base.hpp
+#usr/include/boost/mpl/empty_fwd.hpp
+#usr/include/boost/mpl/empty_sequence.hpp
+#usr/include/boost/mpl/end.hpp
+#usr/include/boost/mpl/equal.hpp
+#usr/include/boost/mpl/equal_to.hpp
+#usr/include/boost/mpl/erase.hpp
+#usr/include/boost/mpl/erase_fwd.hpp
+#usr/include/boost/mpl/erase_key.hpp
+#usr/include/boost/mpl/erase_key_fwd.hpp
+#usr/include/boost/mpl/eval_if.hpp
+#usr/include/boost/mpl/filter_view.hpp
+#usr/include/boost/mpl/find.hpp
+#usr/include/boost/mpl/find_if.hpp
+#usr/include/boost/mpl/fold.hpp
+#usr/include/boost/mpl/for_each.hpp
+#usr/include/boost/mpl/front.hpp
+#usr/include/boost/mpl/front_fwd.hpp
+#usr/include/boost/mpl/front_inserter.hpp
+#usr/include/boost/mpl/greater.hpp
+#usr/include/boost/mpl/greater_equal.hpp
+#usr/include/boost/mpl/has_key.hpp
+#usr/include/boost/mpl/has_key_fwd.hpp
+#usr/include/boost/mpl/has_xxx.hpp
+#usr/include/boost/mpl/identity.hpp
+#usr/include/boost/mpl/if.hpp
+#usr/include/boost/mpl/index_if.hpp
+#usr/include/boost/mpl/index_of.hpp
+#usr/include/boost/mpl/inherit.hpp
+#usr/include/boost/mpl/inherit_linearly.hpp
+#usr/include/boost/mpl/insert.hpp
+#usr/include/boost/mpl/insert_fwd.hpp
+#usr/include/boost/mpl/insert_range.hpp
+#usr/include/boost/mpl/insert_range_fwd.hpp
+#usr/include/boost/mpl/inserter.hpp
+#usr/include/boost/mpl/int.hpp
+#usr/include/boost/mpl/int_fwd.hpp
+#usr/include/boost/mpl/integral_c.hpp
+#usr/include/boost/mpl/integral_c_fwd.hpp
+#usr/include/boost/mpl/integral_c_tag.hpp
+#usr/include/boost/mpl/is_placeholder.hpp
+#usr/include/boost/mpl/is_sequence.hpp
+#usr/include/boost/mpl/iter_fold.hpp
+#usr/include/boost/mpl/iter_fold_if.hpp
+#usr/include/boost/mpl/iterator_category.hpp
+#usr/include/boost/mpl/iterator_range.hpp
+#usr/include/boost/mpl/iterator_tags.hpp
+#usr/include/boost/mpl/joint_view.hpp
+#usr/include/boost/mpl/key_type.hpp
+#usr/include/boost/mpl/key_type_fwd.hpp
+#usr/include/boost/mpl/lambda.hpp
+#usr/include/boost/mpl/lambda_fwd.hpp
+#usr/include/boost/mpl/less.hpp
+#usr/include/boost/mpl/less_equal.hpp
+#usr/include/boost/mpl/limits
+#usr/include/boost/mpl/limits/arity.hpp
+#usr/include/boost/mpl/limits/list.hpp
+#usr/include/boost/mpl/limits/map.hpp
+#usr/include/boost/mpl/limits/set.hpp
+#usr/include/boost/mpl/limits/string.hpp
+#usr/include/boost/mpl/limits/unrolling.hpp
+#usr/include/boost/mpl/limits/vector.hpp
+#usr/include/boost/mpl/list
+#usr/include/boost/mpl/list.hpp
+#usr/include/boost/mpl/list/aux_
+#usr/include/boost/mpl/list/aux_/O1_size.hpp
+#usr/include/boost/mpl/list/aux_/begin_end.hpp
+#usr/include/boost/mpl/list/aux_/clear.hpp
+#usr/include/boost/mpl/list/aux_/empty.hpp
+#usr/include/boost/mpl/list/aux_/front.hpp
+#usr/include/boost/mpl/list/aux_/include_preprocessed.hpp
+#usr/include/boost/mpl/list/aux_/item.hpp
+#usr/include/boost/mpl/list/aux_/iterator.hpp
+#usr/include/boost/mpl/list/aux_/numbered.hpp
+#usr/include/boost/mpl/list/aux_/numbered_c.hpp
+#usr/include/boost/mpl/list/aux_/pop_front.hpp
+#usr/include/boost/mpl/list/aux_/preprocessed
+#usr/include/boost/mpl/list/aux_/preprocessed/plain
+#usr/include/boost/mpl/list/aux_/preprocessed/plain/list10.hpp
+#usr/include/boost/mpl/list/aux_/preprocessed/plain/list10_c.hpp
+#usr/include/boost/mpl/list/aux_/preprocessed/plain/list20.hpp
+#usr/include/boost/mpl/list/aux_/preprocessed/plain/list20_c.hpp
+#usr/include/boost/mpl/list/aux_/preprocessed/plain/list30.hpp
+#usr/include/boost/mpl/list/aux_/preprocessed/plain/list30_c.hpp
+#usr/include/boost/mpl/list/aux_/preprocessed/plain/list40.hpp
+#usr/include/boost/mpl/list/aux_/preprocessed/plain/list40_c.hpp
+#usr/include/boost/mpl/list/aux_/preprocessed/plain/list50.hpp
+#usr/include/boost/mpl/list/aux_/preprocessed/plain/list50_c.hpp
+#usr/include/boost/mpl/list/aux_/push_back.hpp
+#usr/include/boost/mpl/list/aux_/push_front.hpp
+#usr/include/boost/mpl/list/aux_/size.hpp
+#usr/include/boost/mpl/list/aux_/tag.hpp
+#usr/include/boost/mpl/list/list0.hpp
+#usr/include/boost/mpl/list/list0_c.hpp
+#usr/include/boost/mpl/list/list10.hpp
+#usr/include/boost/mpl/list/list10_c.hpp
+#usr/include/boost/mpl/list/list20.hpp
+#usr/include/boost/mpl/list/list20_c.hpp
+#usr/include/boost/mpl/list/list30.hpp
+#usr/include/boost/mpl/list/list30_c.hpp
+#usr/include/boost/mpl/list/list40.hpp
+#usr/include/boost/mpl/list/list40_c.hpp
+#usr/include/boost/mpl/list/list50.hpp
+#usr/include/boost/mpl/list/list50_c.hpp
+#usr/include/boost/mpl/list_c.hpp
+#usr/include/boost/mpl/logical.hpp
+#usr/include/boost/mpl/long.hpp
+#usr/include/boost/mpl/long_fwd.hpp
+#usr/include/boost/mpl/lower_bound.hpp
+#usr/include/boost/mpl/map
+#usr/include/boost/mpl/map.hpp
+#usr/include/boost/mpl/map/aux_
+#usr/include/boost/mpl/map/aux_/at_impl.hpp
+#usr/include/boost/mpl/map/aux_/begin_end_impl.hpp
+#usr/include/boost/mpl/map/aux_/clear_impl.hpp
+#usr/include/boost/mpl/map/aux_/contains_impl.hpp
+#usr/include/boost/mpl/map/aux_/empty_impl.hpp
+#usr/include/boost/mpl/map/aux_/erase_impl.hpp
+#usr/include/boost/mpl/map/aux_/erase_key_impl.hpp
+#usr/include/boost/mpl/map/aux_/has_key_impl.hpp
+#usr/include/boost/mpl/map/aux_/include_preprocessed.hpp
+#usr/include/boost/mpl/map/aux_/insert_impl.hpp
+#usr/include/boost/mpl/map/aux_/item.hpp
+#usr/include/boost/mpl/map/aux_/iterator.hpp
+#usr/include/boost/mpl/map/aux_/key_type_impl.hpp
+#usr/include/boost/mpl/map/aux_/map0.hpp
+#usr/include/boost/mpl/map/aux_/numbered.hpp
+#usr/include/boost/mpl/map/aux_/preprocessed
+#usr/include/boost/mpl/map/aux_/preprocessed/no_ctps
+#usr/include/boost/mpl/map/aux_/preprocessed/no_ctps/map10.hpp
+#usr/include/boost/mpl/map/aux_/preprocessed/no_ctps/map20.hpp
+#usr/include/boost/mpl/map/aux_/preprocessed/no_ctps/map30.hpp
+#usr/include/boost/mpl/map/aux_/preprocessed/no_ctps/map40.hpp
+#usr/include/boost/mpl/map/aux_/preprocessed/no_ctps/map50.hpp
+#usr/include/boost/mpl/map/aux_/preprocessed/plain
+#usr/include/boost/mpl/map/aux_/preprocessed/plain/map10.hpp
+#usr/include/boost/mpl/map/aux_/preprocessed/plain/map20.hpp
+#usr/include/boost/mpl/map/aux_/preprocessed/plain/map30.hpp
+#usr/include/boost/mpl/map/aux_/preprocessed/plain/map40.hpp
+#usr/include/boost/mpl/map/aux_/preprocessed/plain/map50.hpp
+#usr/include/boost/mpl/map/aux_/preprocessed/typeof_based
+#usr/include/boost/mpl/map/aux_/preprocessed/typeof_based/map10.hpp
+#usr/include/boost/mpl/map/aux_/preprocessed/typeof_based/map20.hpp
+#usr/include/boost/mpl/map/aux_/preprocessed/typeof_based/map30.hpp
+#usr/include/boost/mpl/map/aux_/preprocessed/typeof_based/map40.hpp
+#usr/include/boost/mpl/map/aux_/preprocessed/typeof_based/map50.hpp
+#usr/include/boost/mpl/map/aux_/size_impl.hpp
+#usr/include/boost/mpl/map/aux_/tag.hpp
+#usr/include/boost/mpl/map/aux_/value_type_impl.hpp
+#usr/include/boost/mpl/map/map0.hpp
+#usr/include/boost/mpl/map/map10.hpp
+#usr/include/boost/mpl/map/map20.hpp
+#usr/include/boost/mpl/map/map30.hpp
+#usr/include/boost/mpl/map/map40.hpp
+#usr/include/boost/mpl/map/map50.hpp
+#usr/include/boost/mpl/math
+#usr/include/boost/mpl/math/fixed_c.hpp
+#usr/include/boost/mpl/math/is_even.hpp
+#usr/include/boost/mpl/math/rational_c.hpp
+#usr/include/boost/mpl/max.hpp
+#usr/include/boost/mpl/max_element.hpp
+#usr/include/boost/mpl/min.hpp
+#usr/include/boost/mpl/min_element.hpp
+#usr/include/boost/mpl/min_max.hpp
+#usr/include/boost/mpl/minus.hpp
+#usr/include/boost/mpl/modulus.hpp
+#usr/include/boost/mpl/multiplies.hpp
+#usr/include/boost/mpl/multiset
+#usr/include/boost/mpl/multiset/aux_
+#usr/include/boost/mpl/multiset/aux_/count_impl.hpp
+#usr/include/boost/mpl/multiset/aux_/insert_impl.hpp
+#usr/include/boost/mpl/multiset/aux_/item.hpp
+#usr/include/boost/mpl/multiset/aux_/multiset0.hpp
+#usr/include/boost/mpl/multiset/aux_/tag.hpp
+#usr/include/boost/mpl/multiset/multiset0.hpp
+#usr/include/boost/mpl/negate.hpp
+#usr/include/boost/mpl/next.hpp
+#usr/include/boost/mpl/next_prior.hpp
+#usr/include/boost/mpl/not.hpp
+#usr/include/boost/mpl/not_equal_to.hpp
+#usr/include/boost/mpl/numeric_cast.hpp
+#usr/include/boost/mpl/or.hpp
+#usr/include/boost/mpl/order.hpp
+#usr/include/boost/mpl/order_fwd.hpp
+#usr/include/boost/mpl/pair.hpp
+#usr/include/boost/mpl/pair_view.hpp
+#usr/include/boost/mpl/partition.hpp
+#usr/include/boost/mpl/placeholders.hpp
+#usr/include/boost/mpl/plus.hpp
+#usr/include/boost/mpl/pop_back.hpp
+#usr/include/boost/mpl/pop_back_fwd.hpp
+#usr/include/boost/mpl/pop_front.hpp
+#usr/include/boost/mpl/pop_front_fwd.hpp
+#usr/include/boost/mpl/print.hpp
+#usr/include/boost/mpl/prior.hpp
+#usr/include/boost/mpl/protect.hpp
+#usr/include/boost/mpl/push_back.hpp
+#usr/include/boost/mpl/push_back_fwd.hpp
+#usr/include/boost/mpl/push_front.hpp
+#usr/include/boost/mpl/push_front_fwd.hpp
+#usr/include/boost/mpl/quote.hpp
+#usr/include/boost/mpl/range_c.hpp
+#usr/include/boost/mpl/remove.hpp
+#usr/include/boost/mpl/remove_if.hpp
+#usr/include/boost/mpl/replace.hpp
+#usr/include/boost/mpl/replace_if.hpp
+#usr/include/boost/mpl/reverse.hpp
+#usr/include/boost/mpl/reverse_fold.hpp
+#usr/include/boost/mpl/reverse_iter_fold.hpp
+#usr/include/boost/mpl/same_as.hpp
+#usr/include/boost/mpl/sequence_tag.hpp
+#usr/include/boost/mpl/sequence_tag_fwd.hpp
+#usr/include/boost/mpl/set
+#usr/include/boost/mpl/set.hpp
+#usr/include/boost/mpl/set/aux_
+#usr/include/boost/mpl/set/aux_/at_impl.hpp
+#usr/include/boost/mpl/set/aux_/begin_end_impl.hpp
+#usr/include/boost/mpl/set/aux_/clear_impl.hpp
+#usr/include/boost/mpl/set/aux_/empty_impl.hpp
+#usr/include/boost/mpl/set/aux_/erase_impl.hpp
+#usr/include/boost/mpl/set/aux_/erase_key_impl.hpp
+#usr/include/boost/mpl/set/aux_/has_key_impl.hpp
+#usr/include/boost/mpl/set/aux_/include_preprocessed.hpp
+#usr/include/boost/mpl/set/aux_/insert_impl.hpp
+#usr/include/boost/mpl/set/aux_/item.hpp
+#usr/include/boost/mpl/set/aux_/iterator.hpp
+#usr/include/boost/mpl/set/aux_/key_type_impl.hpp
+#usr/include/boost/mpl/set/aux_/numbered.hpp
+#usr/include/boost/mpl/set/aux_/numbered_c.hpp
+#usr/include/boost/mpl/set/aux_/preprocessed
+#usr/include/boost/mpl/set/aux_/preprocessed/plain
+#usr/include/boost/mpl/set/aux_/preprocessed/plain/set10.hpp
+#usr/include/boost/mpl/set/aux_/preprocessed/plain/set10_c.hpp
+#usr/include/boost/mpl/set/aux_/preprocessed/plain/set20.hpp
+#usr/include/boost/mpl/set/aux_/preprocessed/plain/set20_c.hpp
+#usr/include/boost/mpl/set/aux_/preprocessed/plain/set30.hpp
+#usr/include/boost/mpl/set/aux_/preprocessed/plain/set30_c.hpp
+#usr/include/boost/mpl/set/aux_/preprocessed/plain/set40.hpp
+#usr/include/boost/mpl/set/aux_/preprocessed/plain/set40_c.hpp
+#usr/include/boost/mpl/set/aux_/preprocessed/plain/set50.hpp
+#usr/include/boost/mpl/set/aux_/preprocessed/plain/set50_c.hpp
+#usr/include/boost/mpl/set/aux_/set0.hpp
+#usr/include/boost/mpl/set/aux_/size_impl.hpp
+#usr/include/boost/mpl/set/aux_/tag.hpp
+#usr/include/boost/mpl/set/aux_/value_type_impl.hpp
+#usr/include/boost/mpl/set/set0.hpp
+#usr/include/boost/mpl/set/set0_c.hpp
+#usr/include/boost/mpl/set/set10.hpp
+#usr/include/boost/mpl/set/set10_c.hpp
+#usr/include/boost/mpl/set/set20.hpp
+#usr/include/boost/mpl/set/set20_c.hpp
+#usr/include/boost/mpl/set/set30.hpp
+#usr/include/boost/mpl/set/set30_c.hpp
+#usr/include/boost/mpl/set/set40.hpp
+#usr/include/boost/mpl/set/set40_c.hpp
+#usr/include/boost/mpl/set/set50.hpp
+#usr/include/boost/mpl/set/set50_c.hpp
+#usr/include/boost/mpl/set_c.hpp
+#usr/include/boost/mpl/shift_left.hpp
+#usr/include/boost/mpl/shift_right.hpp
+#usr/include/boost/mpl/single_view.hpp
+#usr/include/boost/mpl/size.hpp
+#usr/include/boost/mpl/size_fwd.hpp
+#usr/include/boost/mpl/size_t.hpp
+#usr/include/boost/mpl/size_t_fwd.hpp
+#usr/include/boost/mpl/sizeof.hpp
+#usr/include/boost/mpl/sort.hpp
+#usr/include/boost/mpl/stable_partition.hpp
+#usr/include/boost/mpl/string.hpp
+#usr/include/boost/mpl/switch.hpp
+#usr/include/boost/mpl/tag.hpp
+#usr/include/boost/mpl/times.hpp
+#usr/include/boost/mpl/transform.hpp
+#usr/include/boost/mpl/transform_view.hpp
+#usr/include/boost/mpl/unique.hpp
+#usr/include/boost/mpl/unpack_args.hpp
+#usr/include/boost/mpl/upper_bound.hpp
+#usr/include/boost/mpl/value_type.hpp
+#usr/include/boost/mpl/value_type_fwd.hpp
+#usr/include/boost/mpl/vector
+#usr/include/boost/mpl/vector.hpp
+#usr/include/boost/mpl/vector/aux_
+#usr/include/boost/mpl/vector/aux_/O1_size.hpp
+#usr/include/boost/mpl/vector/aux_/at.hpp
+#usr/include/boost/mpl/vector/aux_/back.hpp
+#usr/include/boost/mpl/vector/aux_/begin_end.hpp
+#usr/include/boost/mpl/vector/aux_/clear.hpp
+#usr/include/boost/mpl/vector/aux_/empty.hpp
+#usr/include/boost/mpl/vector/aux_/front.hpp
+#usr/include/boost/mpl/vector/aux_/include_preprocessed.hpp
+#usr/include/boost/mpl/vector/aux_/item.hpp
+#usr/include/boost/mpl/vector/aux_/iterator.hpp
+#usr/include/boost/mpl/vector/aux_/numbered.hpp
+#usr/include/boost/mpl/vector/aux_/numbered_c.hpp
+#usr/include/boost/mpl/vector/aux_/pop_back.hpp
+#usr/include/boost/mpl/vector/aux_/pop_front.hpp
+#usr/include/boost/mpl/vector/aux_/preprocessed
+#usr/include/boost/mpl/vector/aux_/preprocessed/no_ctps
+#usr/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp
+#usr/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10_c.hpp
+#usr/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp
+#usr/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20_c.hpp
+#usr/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp
+#usr/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30_c.hpp
+#usr/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp
+#usr/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40_c.hpp
+#usr/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp
+#usr/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50_c.hpp
+#usr/include/boost/mpl/vector/aux_/preprocessed/plain
+#usr/include/boost/mpl/vector/aux_/preprocessed/plain/vector10.hpp
+#usr/include/boost/mpl/vector/aux_/preprocessed/plain/vector10_c.hpp
+#usr/include/boost/mpl/vector/aux_/preprocessed/plain/vector20.hpp
+#usr/include/boost/mpl/vector/aux_/preprocessed/plain/vector20_c.hpp
+#usr/include/boost/mpl/vector/aux_/preprocessed/plain/vector30.hpp
+#usr/include/boost/mpl/vector/aux_/preprocessed/plain/vector30_c.hpp
+#usr/include/boost/mpl/vector/aux_/preprocessed/plain/vector40.hpp
+#usr/include/boost/mpl/vector/aux_/preprocessed/plain/vector40_c.hpp
+#usr/include/boost/mpl/vector/aux_/preprocessed/plain/vector50.hpp
+#usr/include/boost/mpl/vector/aux_/preprocessed/plain/vector50_c.hpp
+#usr/include/boost/mpl/vector/aux_/preprocessed/typeof_based
+#usr/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10.hpp
+#usr/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10_c.hpp
+#usr/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20.hpp
+#usr/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20_c.hpp
+#usr/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30.hpp
+#usr/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30_c.hpp
+#usr/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40.hpp
+#usr/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40_c.hpp
+#usr/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50.hpp
+#usr/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50_c.hpp
+#usr/include/boost/mpl/vector/aux_/push_back.hpp
+#usr/include/boost/mpl/vector/aux_/push_front.hpp
+#usr/include/boost/mpl/vector/aux_/size.hpp
+#usr/include/boost/mpl/vector/aux_/tag.hpp
+#usr/include/boost/mpl/vector/aux_/vector0.hpp
+#usr/include/boost/mpl/vector/vector0.hpp
+#usr/include/boost/mpl/vector/vector0_c.hpp
+#usr/include/boost/mpl/vector/vector10.hpp
+#usr/include/boost/mpl/vector/vector10_c.hpp
+#usr/include/boost/mpl/vector/vector20.hpp
+#usr/include/boost/mpl/vector/vector20_c.hpp
+#usr/include/boost/mpl/vector/vector30.hpp
+#usr/include/boost/mpl/vector/vector30_c.hpp
+#usr/include/boost/mpl/vector/vector40.hpp
+#usr/include/boost/mpl/vector/vector40_c.hpp
+#usr/include/boost/mpl/vector/vector50.hpp
+#usr/include/boost/mpl/vector/vector50_c.hpp
+#usr/include/boost/mpl/vector_c.hpp
+#usr/include/boost/mpl/void.hpp
+#usr/include/boost/mpl/void_fwd.hpp
+#usr/include/boost/mpl/zip_view.hpp
+#usr/include/boost/msm
+#usr/include/boost/msm/active_state_switching_policies.hpp
+#usr/include/boost/msm/back
+#usr/include/boost/msm/back/args.hpp
+#usr/include/boost/msm/back/bind_helpers.hpp
+#usr/include/boost/msm/back/common_types.hpp
+#usr/include/boost/msm/back/copy_policies.hpp
+#usr/include/boost/msm/back/default_compile_policy.hpp
+#usr/include/boost/msm/back/dispatch_table.hpp
+#usr/include/boost/msm/back/favor_compile_time.hpp
+#usr/include/boost/msm/back/fold_to_list.hpp
+#usr/include/boost/msm/back/history_policies.hpp
+#usr/include/boost/msm/back/metafunctions.hpp
+#usr/include/boost/msm/back/mpl_graph_fsm_check.hpp
+#usr/include/boost/msm/back/no_fsm_check.hpp
+#usr/include/boost/msm/back/queue_container_circular.hpp
+#usr/include/boost/msm/back/queue_container_deque.hpp
+#usr/include/boost/msm/back/state_machine.hpp
+#usr/include/boost/msm/back/tools.hpp
+#usr/include/boost/msm/common.hpp
+#usr/include/boost/msm/event_traits.hpp
+#usr/include/boost/msm/front
+#usr/include/boost/msm/front/common_states.hpp
+#usr/include/boost/msm/front/completion_event.hpp
+#usr/include/boost/msm/front/detail
+#usr/include/boost/msm/front/detail/common_states.hpp
+#usr/include/boost/msm/front/detail/row2_helper.hpp
+#usr/include/boost/msm/front/euml
+#usr/include/boost/msm/front/euml/algorithm.hpp
+#usr/include/boost/msm/front/euml/common.hpp
+#usr/include/boost/msm/front/euml/container.hpp
+#usr/include/boost/msm/front/euml/euml.hpp
+#usr/include/boost/msm/front/euml/euml_typeof.hpp
+#usr/include/boost/msm/front/euml/guard_grammar.hpp
+#usr/include/boost/msm/front/euml/iteration.hpp
+#usr/include/boost/msm/front/euml/operator.hpp
+#usr/include/boost/msm/front/euml/phoenix_placeholders.hpp
+#usr/include/boost/msm/front/euml/querying.hpp
+#usr/include/boost/msm/front/euml/state_grammar.hpp
+#usr/include/boost/msm/front/euml/stl.hpp
+#usr/include/boost/msm/front/euml/stt_grammar.hpp
+#usr/include/boost/msm/front/euml/transformation.hpp
+#usr/include/boost/msm/front/functor_row.hpp
+#usr/include/boost/msm/front/internal_row.hpp
+#usr/include/boost/msm/front/row2.hpp
+#usr/include/boost/msm/front/state_machine_def.hpp
+#usr/include/boost/msm/front/states.hpp
+#usr/include/boost/msm/mpl_graph
+#usr/include/boost/msm/mpl_graph/adjacency_list_graph.hpp
+#usr/include/boost/msm/mpl_graph/breadth_first_search.hpp
+#usr/include/boost/msm/mpl_graph/depth_first_search.hpp
+#usr/include/boost/msm/mpl_graph/detail
+#usr/include/boost/msm/mpl_graph/detail/adjacency_list_graph.ipp
+#usr/include/boost/msm/mpl_graph/detail/graph_implementation_interface.ipp
+#usr/include/boost/msm/mpl_graph/detail/incidence_list_graph.ipp
+#usr/include/boost/msm/mpl_graph/incidence_list_graph.hpp
+#usr/include/boost/msm/mpl_graph/mpl_graph.hpp
+#usr/include/boost/msm/mpl_graph/mpl_utils.hpp
+#usr/include/boost/msm/mpl_graph/search_colors.hpp
+#usr/include/boost/msm/msm_grammar.hpp
+#usr/include/boost/msm/proto_config.hpp
+#usr/include/boost/msm/row_tags.hpp
+#usr/include/boost/multi_array
+#usr/include/boost/multi_array.hpp
+#usr/include/boost/multi_array/algorithm.hpp
+#usr/include/boost/multi_array/base.hpp
+#usr/include/boost/multi_array/collection_concept.hpp
+#usr/include/boost/multi_array/concept_checks.hpp
+#usr/include/boost/multi_array/copy_array.hpp
+#usr/include/boost/multi_array/extent_gen.hpp
+#usr/include/boost/multi_array/extent_range.hpp
+#usr/include/boost/multi_array/index_gen.hpp
+#usr/include/boost/multi_array/index_range.hpp
+#usr/include/boost/multi_array/iterator.hpp
+#usr/include/boost/multi_array/multi_array_ref.hpp
+#usr/include/boost/multi_array/range_list.hpp
+#usr/include/boost/multi_array/storage_order.hpp
+#usr/include/boost/multi_array/subarray.hpp
+#usr/include/boost/multi_array/types.hpp
+#usr/include/boost/multi_array/view.hpp
+#usr/include/boost/multi_index
+#usr/include/boost/multi_index/composite_key.hpp
+#usr/include/boost/multi_index/detail
+#usr/include/boost/multi_index/detail/access_specifier.hpp
+#usr/include/boost/multi_index/detail/adl_swap.hpp
+#usr/include/boost/multi_index/detail/archive_constructed.hpp
+#usr/include/boost/multi_index/detail/auto_space.hpp
+#usr/include/boost/multi_index/detail/base_type.hpp
+#usr/include/boost/multi_index/detail/bidir_node_iterator.hpp
+#usr/include/boost/multi_index/detail/bucket_array.hpp
+#usr/include/boost/multi_index/detail/converter.hpp
+#usr/include/boost/multi_index/detail/copy_map.hpp
+#usr/include/boost/multi_index/detail/do_not_copy_elements_tag.hpp
+#usr/include/boost/multi_index/detail/duplicates_iterator.hpp
+#usr/include/boost/multi_index/detail/has_tag.hpp
+#usr/include/boost/multi_index/detail/hash_index_args.hpp
+#usr/include/boost/multi_index/detail/hash_index_iterator.hpp
+#usr/include/boost/multi_index/detail/hash_index_node.hpp
+#usr/include/boost/multi_index/detail/header_holder.hpp
+#usr/include/boost/multi_index/detail/index_base.hpp
+#usr/include/boost/multi_index/detail/index_loader.hpp
+#usr/include/boost/multi_index/detail/index_matcher.hpp
+#usr/include/boost/multi_index/detail/index_node_base.hpp
+#usr/include/boost/multi_index/detail/index_saver.hpp
+#usr/include/boost/multi_index/detail/invariant_assert.hpp
+#usr/include/boost/multi_index/detail/is_index_list.hpp
+#usr/include/boost/multi_index/detail/iter_adaptor.hpp
+#usr/include/boost/multi_index/detail/modify_key_adaptor.hpp
+#usr/include/boost/multi_index/detail/msvc_index_specifier.hpp
+#usr/include/boost/multi_index/detail/no_duplicate_tags.hpp
+#usr/include/boost/multi_index/detail/node_type.hpp
+#usr/include/boost/multi_index/detail/ord_index_args.hpp
+#usr/include/boost/multi_index/detail/ord_index_node.hpp
+#usr/include/boost/multi_index/detail/ord_index_ops.hpp
+#usr/include/boost/multi_index/detail/prevent_eti.hpp
+#usr/include/boost/multi_index/detail/rnd_index_loader.hpp
+#usr/include/boost/multi_index/detail/rnd_index_node.hpp
+#usr/include/boost/multi_index/detail/rnd_index_ops.hpp
+#usr/include/boost/multi_index/detail/rnd_index_ptr_array.hpp
+#usr/include/boost/multi_index/detail/rnd_node_iterator.hpp
+#usr/include/boost/multi_index/detail/safe_ctr_proxy.hpp
+#usr/include/boost/multi_index/detail/safe_mode.hpp
+#usr/include/boost/multi_index/detail/scope_guard.hpp
+#usr/include/boost/multi_index/detail/seq_index_node.hpp
+#usr/include/boost/multi_index/detail/seq_index_ops.hpp
+#usr/include/boost/multi_index/detail/serialization_version.hpp
+#usr/include/boost/multi_index/detail/uintptr_type.hpp
+#usr/include/boost/multi_index/detail/unbounded.hpp
+#usr/include/boost/multi_index/detail/value_compare.hpp
+#usr/include/boost/multi_index/detail/vartempl_support.hpp
+#usr/include/boost/multi_index/global_fun.hpp
+#usr/include/boost/multi_index/hashed_index.hpp
+#usr/include/boost/multi_index/hashed_index_fwd.hpp
+#usr/include/boost/multi_index/identity.hpp
+#usr/include/boost/multi_index/identity_fwd.hpp
+#usr/include/boost/multi_index/indexed_by.hpp
+#usr/include/boost/multi_index/key_extractors.hpp
+#usr/include/boost/multi_index/mem_fun.hpp
+#usr/include/boost/multi_index/member.hpp
+#usr/include/boost/multi_index/ordered_index.hpp
+#usr/include/boost/multi_index/ordered_index_fwd.hpp
+#usr/include/boost/multi_index/random_access_index.hpp
+#usr/include/boost/multi_index/random_access_index_fwd.hpp
+#usr/include/boost/multi_index/safe_mode_errors.hpp
+#usr/include/boost/multi_index/sequenced_index.hpp
+#usr/include/boost/multi_index/sequenced_index_fwd.hpp
+#usr/include/boost/multi_index/tag.hpp
+#usr/include/boost/multi_index_container.hpp
+#usr/include/boost/multi_index_container_fwd.hpp
+#usr/include/boost/multiprecision
+#usr/include/boost/multiprecision/concepts
+#usr/include/boost/multiprecision/concepts/mp_number_archetypes.hpp
+#usr/include/boost/multiprecision/cpp_dec_float.hpp
+#usr/include/boost/multiprecision/cpp_int
+#usr/include/boost/multiprecision/cpp_int.hpp
+#usr/include/boost/multiprecision/cpp_int/add.hpp
+#usr/include/boost/multiprecision/cpp_int/bitwise.hpp
+#usr/include/boost/multiprecision/cpp_int/checked.hpp
+#usr/include/boost/multiprecision/cpp_int/comparison.hpp
+#usr/include/boost/multiprecision/cpp_int/cpp_int_config.hpp
+#usr/include/boost/multiprecision/cpp_int/divide.hpp
+#usr/include/boost/multiprecision/cpp_int/limits.hpp
+#usr/include/boost/multiprecision/cpp_int/literals.hpp
+#usr/include/boost/multiprecision/cpp_int/misc.hpp
+#usr/include/boost/multiprecision/cpp_int/multiply.hpp
+#usr/include/boost/multiprecision/cpp_int/serialize.hpp
+#usr/include/boost/multiprecision/cpp_int/value_pack.hpp
+#usr/include/boost/multiprecision/debug_adaptor.hpp
+#usr/include/boost/multiprecision/detail
+#usr/include/boost/multiprecision/detail/big_lanczos.hpp
+#usr/include/boost/multiprecision/detail/bitscan.hpp
+#usr/include/boost/multiprecision/detail/default_ops.hpp
+#usr/include/boost/multiprecision/detail/digits.hpp
+#usr/include/boost/multiprecision/detail/dynamic_array.hpp
+#usr/include/boost/multiprecision/detail/et_ops.hpp
+#usr/include/boost/multiprecision/detail/float_string_cvt.hpp
+#usr/include/boost/multiprecision/detail/functions
+#usr/include/boost/multiprecision/detail/functions/constants.hpp
+#usr/include/boost/multiprecision/detail/functions/pow.hpp
+#usr/include/boost/multiprecision/detail/functions/trig.hpp
+#usr/include/boost/multiprecision/detail/generic_interconvert.hpp
+#usr/include/boost/multiprecision/detail/integer_ops.hpp
+#usr/include/boost/multiprecision/detail/no_et_ops.hpp
+#usr/include/boost/multiprecision/detail/number_base.hpp
+#usr/include/boost/multiprecision/detail/number_compare.hpp
+#usr/include/boost/multiprecision/detail/rebind.hpp
+#usr/include/boost/multiprecision/detail/ublas_interop.hpp
+#usr/include/boost/multiprecision/detail/utype_helper.hpp
+#usr/include/boost/multiprecision/float128.hpp
+#usr/include/boost/multiprecision/gmp.hpp
+#usr/include/boost/multiprecision/integer.hpp
+#usr/include/boost/multiprecision/logged_adaptor.hpp
+#usr/include/boost/multiprecision/miller_rabin.hpp
+#usr/include/boost/multiprecision/mpfi.hpp
+#usr/include/boost/multiprecision/mpfr.hpp
+#usr/include/boost/multiprecision/number.hpp
+#usr/include/boost/multiprecision/random.hpp
+#usr/include/boost/multiprecision/rational_adaptor.hpp
+#usr/include/boost/multiprecision/tommath.hpp
+#usr/include/boost/multiprecision/traits
+#usr/include/boost/multiprecision/traits/explicit_conversion.hpp
+#usr/include/boost/multiprecision/traits/extract_exponent_type.hpp
+#usr/include/boost/multiprecision/traits/is_restricted_conversion.hpp
+#usr/include/boost/next_prior.hpp
+#usr/include/boost/non_type.hpp
+#usr/include/boost/noncopyable.hpp
+#usr/include/boost/nondet_random.hpp
+#usr/include/boost/none.hpp
+#usr/include/boost/none_t.hpp
+#usr/include/boost/numeric
+#usr/include/boost/numeric/conversion
+#usr/include/boost/numeric/conversion/bounds.hpp
+#usr/include/boost/numeric/conversion/cast.hpp
+#usr/include/boost/numeric/conversion/conversion_traits.hpp
+#usr/include/boost/numeric/conversion/converter.hpp
+#usr/include/boost/numeric/conversion/converter_policies.hpp
+#usr/include/boost/numeric/conversion/detail
+#usr/include/boost/numeric/conversion/detail/bounds.hpp
+#usr/include/boost/numeric/conversion/detail/conversion_traits.hpp
+#usr/include/boost/numeric/conversion/detail/converter.hpp
+#usr/include/boost/numeric/conversion/detail/int_float_mixture.hpp
+#usr/include/boost/numeric/conversion/detail/is_subranged.hpp
+#usr/include/boost/numeric/conversion/detail/meta.hpp
+#usr/include/boost/numeric/conversion/detail/numeric_cast_traits.hpp
+#usr/include/boost/numeric/conversion/detail/old_numeric_cast.hpp
+#usr/include/boost/numeric/conversion/detail/preprocessed
+#usr/include/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_common.hpp
+#usr/include/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_long_long.hpp
+#usr/include/boost/numeric/conversion/detail/sign_mixture.hpp
+#usr/include/boost/numeric/conversion/detail/udt_builtin_mixture.hpp
+#usr/include/boost/numeric/conversion/int_float_mixture.hpp
+#usr/include/boost/numeric/conversion/int_float_mixture_enum.hpp
+#usr/include/boost/numeric/conversion/is_subranged.hpp
+#usr/include/boost/numeric/conversion/numeric_cast_traits.hpp
+#usr/include/boost/numeric/conversion/sign_mixture.hpp
+#usr/include/boost/numeric/conversion/sign_mixture_enum.hpp
+#usr/include/boost/numeric/conversion/udt_builtin_mixture.hpp
+#usr/include/boost/numeric/conversion/udt_builtin_mixture_enum.hpp
+#usr/include/boost/numeric/interval
+#usr/include/boost/numeric/interval.hpp
+#usr/include/boost/numeric/interval/arith.hpp
+#usr/include/boost/numeric/interval/arith2.hpp
+#usr/include/boost/numeric/interval/arith3.hpp
+#usr/include/boost/numeric/interval/checking.hpp
+#usr/include/boost/numeric/interval/compare
+#usr/include/boost/numeric/interval/compare.hpp
+#usr/include/boost/numeric/interval/compare/certain.hpp
+#usr/include/boost/numeric/interval/compare/explicit.hpp
+#usr/include/boost/numeric/interval/compare/lexicographic.hpp
+#usr/include/boost/numeric/interval/compare/possible.hpp
+#usr/include/boost/numeric/interval/compare/set.hpp
+#usr/include/boost/numeric/interval/compare/tribool.hpp
+#usr/include/boost/numeric/interval/constants.hpp
+#usr/include/boost/numeric/interval/detail
+#usr/include/boost/numeric/interval/detail/alpha_rounding_control.hpp
+#usr/include/boost/numeric/interval/detail/bcc_rounding_control.hpp
+#usr/include/boost/numeric/interval/detail/bugs.hpp
+#usr/include/boost/numeric/interval/detail/c99_rounding_control.hpp
+#usr/include/boost/numeric/interval/detail/c99sub_rounding_control.hpp
+#usr/include/boost/numeric/interval/detail/division.hpp
+#usr/include/boost/numeric/interval/detail/ia64_rounding_control.hpp
+#usr/include/boost/numeric/interval/detail/interval_prototype.hpp
+#usr/include/boost/numeric/interval/detail/msvc_rounding_control.hpp
+#usr/include/boost/numeric/interval/detail/ppc_rounding_control.hpp
+#usr/include/boost/numeric/interval/detail/sparc_rounding_control.hpp
+#usr/include/boost/numeric/interval/detail/test_input.hpp
+#usr/include/boost/numeric/interval/detail/x86_rounding_control.hpp
+#usr/include/boost/numeric/interval/detail/x86gcc_rounding_control.hpp
+#usr/include/boost/numeric/interval/ext
+#usr/include/boost/numeric/interval/ext/integer.hpp
+#usr/include/boost/numeric/interval/ext/x86_fast_rounding_control.hpp
+#usr/include/boost/numeric/interval/hw_rounding.hpp
+#usr/include/boost/numeric/interval/interval.hpp
+#usr/include/boost/numeric/interval/io.hpp
+#usr/include/boost/numeric/interval/limits.hpp
+#usr/include/boost/numeric/interval/policies.hpp
+#usr/include/boost/numeric/interval/rounded_arith.hpp
+#usr/include/boost/numeric/interval/rounded_transc.hpp
+#usr/include/boost/numeric/interval/rounding.hpp
+#usr/include/boost/numeric/interval/transc.hpp
+#usr/include/boost/numeric/interval/utility.hpp
+#usr/include/boost/numeric/odeint
+#usr/include/boost/numeric/odeint.hpp
+#usr/include/boost/numeric/odeint/algebra
+#usr/include/boost/numeric/odeint/algebra/array_algebra.hpp
+#usr/include/boost/numeric/odeint/algebra/default_operations.hpp
+#usr/include/boost/numeric/odeint/algebra/detail
+#usr/include/boost/numeric/odeint/algebra/detail/for_each.hpp
+#usr/include/boost/numeric/odeint/algebra/detail/macros.hpp
+#usr/include/boost/numeric/odeint/algebra/detail/reduce.hpp
+#usr/include/boost/numeric/odeint/algebra/fusion_algebra.hpp
+#usr/include/boost/numeric/odeint/algebra/range_algebra.hpp
+#usr/include/boost/numeric/odeint/algebra/vector_space_algebra.hpp
+#usr/include/boost/numeric/odeint/config.hpp
+#usr/include/boost/numeric/odeint/external
+#usr/include/boost/numeric/odeint/external/gsl
+#usr/include/boost/numeric/odeint/external/gsl/gsl_wrapper.hpp
+#usr/include/boost/numeric/odeint/external/mkl
+#usr/include/boost/numeric/odeint/external/mkl/mkl_operations.hpp
+#usr/include/boost/numeric/odeint/external/mtl4
+#usr/include/boost/numeric/odeint/external/mtl4/implicit_euler_mtl4.hpp
+#usr/include/boost/numeric/odeint/external/mtl4/mtl4_resize.hpp
+#usr/include/boost/numeric/odeint/external/thrust
+#usr/include/boost/numeric/odeint/external/thrust/thrust_algebra.hpp
+#usr/include/boost/numeric/odeint/external/thrust/thrust_operations.hpp
+#usr/include/boost/numeric/odeint/external/thrust/thrust_resize.hpp
+#usr/include/boost/numeric/odeint/external/vexcl
+#usr/include/boost/numeric/odeint/external/vexcl/vexcl_resize.hpp
+#usr/include/boost/numeric/odeint/external/viennacl
+#usr/include/boost/numeric/odeint/external/viennacl/viennacl_operations.hpp
+#usr/include/boost/numeric/odeint/external/viennacl/viennacl_resize.hpp
+#usr/include/boost/numeric/odeint/integrate
+#usr/include/boost/numeric/odeint/integrate/detail
+#usr/include/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp
+#usr/include/boost/numeric/odeint/integrate/detail/integrate_const.hpp
+#usr/include/boost/numeric/odeint/integrate/detail/integrate_n_steps.hpp
+#usr/include/boost/numeric/odeint/integrate/detail/integrate_times.hpp
+#usr/include/boost/numeric/odeint/integrate/integrate.hpp
+#usr/include/boost/numeric/odeint/integrate/integrate_adaptive.hpp
+#usr/include/boost/numeric/odeint/integrate/integrate_const.hpp
+#usr/include/boost/numeric/odeint/integrate/integrate_n_steps.hpp
+#usr/include/boost/numeric/odeint/integrate/integrate_times.hpp
+#usr/include/boost/numeric/odeint/integrate/null_observer.hpp
+#usr/include/boost/numeric/odeint/integrate/observer_collection.hpp
+#usr/include/boost/numeric/odeint/stepper
+#usr/include/boost/numeric/odeint/stepper/adams_bashforth.hpp
+#usr/include/boost/numeric/odeint/stepper/adams_bashforth_moulton.hpp
+#usr/include/boost/numeric/odeint/stepper/adams_moulton.hpp
+#usr/include/boost/numeric/odeint/stepper/base
+#usr/include/boost/numeric/odeint/stepper/base/algebra_stepper_base.hpp
+#usr/include/boost/numeric/odeint/stepper/base/explicit_error_stepper_base.hpp
+#usr/include/boost/numeric/odeint/stepper/base/explicit_error_stepper_fsal_base.hpp
+#usr/include/boost/numeric/odeint/stepper/base/explicit_stepper_base.hpp
+#usr/include/boost/numeric/odeint/stepper/base/symplectic_rkn_stepper_base.hpp
+#usr/include/boost/numeric/odeint/stepper/bulirsch_stoer.hpp
+#usr/include/boost/numeric/odeint/stepper/bulirsch_stoer_dense_out.hpp
+#usr/include/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp
+#usr/include/boost/numeric/odeint/stepper/controlled_step_result.hpp
+#usr/include/boost/numeric/odeint/stepper/dense_output_runge_kutta.hpp
+#usr/include/boost/numeric/odeint/stepper/detail
+#usr/include/boost/numeric/odeint/stepper/detail/adams_bashforth_call_algebra.hpp
+#usr/include/boost/numeric/odeint/stepper/detail/adams_bashforth_coefficients.hpp
+#usr/include/boost/numeric/odeint/stepper/detail/adams_moulton_call_algebra.hpp
+#usr/include/boost/numeric/odeint/stepper/detail/adams_moulton_coefficients.hpp
+#usr/include/boost/numeric/odeint/stepper/detail/generic_rk_algorithm.hpp
+#usr/include/boost/numeric/odeint/stepper/detail/generic_rk_call_algebra.hpp
+#usr/include/boost/numeric/odeint/stepper/detail/generic_rk_operations.hpp
+#usr/include/boost/numeric/odeint/stepper/detail/rotating_buffer.hpp
+#usr/include/boost/numeric/odeint/stepper/euler.hpp
+#usr/include/boost/numeric/odeint/stepper/explicit_error_generic_rk.hpp
+#usr/include/boost/numeric/odeint/stepper/explicit_generic_rk.hpp
+#usr/include/boost/numeric/odeint/stepper/generation
+#usr/include/boost/numeric/odeint/stepper/generation.hpp
+#usr/include/boost/numeric/odeint/stepper/generation/generation_controlled_runge_kutta.hpp
+#usr/include/boost/numeric/odeint/stepper/generation/generation_dense_output_runge_kutta.hpp
+#usr/include/boost/numeric/odeint/stepper/generation/generation_rosenbrock4.hpp
+#usr/include/boost/numeric/odeint/stepper/generation/generation_runge_kutta_cash_karp54.hpp
+#usr/include/boost/numeric/odeint/stepper/generation/generation_runge_kutta_cash_karp54_classic.hpp
+#usr/include/boost/numeric/odeint/stepper/generation/generation_runge_kutta_dopri5.hpp
+#usr/include/boost/numeric/odeint/stepper/generation/generation_runge_kutta_fehlberg78.hpp
+#usr/include/boost/numeric/odeint/stepper/generation/make_controlled.hpp
+#usr/include/boost/numeric/odeint/stepper/generation/make_dense_output.hpp
+#usr/include/boost/numeric/odeint/stepper/implicit_euler.hpp
+#usr/include/boost/numeric/odeint/stepper/modified_midpoint.hpp
+#usr/include/boost/numeric/odeint/stepper/rosenbrock4.hpp
+#usr/include/boost/numeric/odeint/stepper/rosenbrock4_controller.hpp
+#usr/include/boost/numeric/odeint/stepper/rosenbrock4_dense_output.hpp
+#usr/include/boost/numeric/odeint/stepper/runge_kutta4.hpp
+#usr/include/boost/numeric/odeint/stepper/runge_kutta4_classic.hpp
+#usr/include/boost/numeric/odeint/stepper/runge_kutta_cash_karp54.hpp
+#usr/include/boost/numeric/odeint/stepper/runge_kutta_cash_karp54_classic.hpp
+#usr/include/boost/numeric/odeint/stepper/runge_kutta_dopri5.hpp
+#usr/include/boost/numeric/odeint/stepper/runge_kutta_fehlberg78.hpp
+#usr/include/boost/numeric/odeint/stepper/stepper_categories.hpp
+#usr/include/boost/numeric/odeint/stepper/symplectic_euler.hpp
+#usr/include/boost/numeric/odeint/stepper/symplectic_rkn_sb3a_m4_mclachlan.hpp
+#usr/include/boost/numeric/odeint/stepper/symplectic_rkn_sb3a_mclachlan.hpp
+#usr/include/boost/numeric/odeint/util
+#usr/include/boost/numeric/odeint/util/bind.hpp
+#usr/include/boost/numeric/odeint/util/copy.hpp
+#usr/include/boost/numeric/odeint/util/detail
+#usr/include/boost/numeric/odeint/util/detail/is_range.hpp
+#usr/include/boost/numeric/odeint/util/detail/less_with_sign.hpp
+#usr/include/boost/numeric/odeint/util/is_pair.hpp
+#usr/include/boost/numeric/odeint/util/is_resizeable.hpp
+#usr/include/boost/numeric/odeint/util/resize.hpp
+#usr/include/boost/numeric/odeint/util/resizer.hpp
+#usr/include/boost/numeric/odeint/util/same_instance.hpp
+#usr/include/boost/numeric/odeint/util/same_size.hpp
+#usr/include/boost/numeric/odeint/util/state_wrapper.hpp
+#usr/include/boost/numeric/odeint/util/ublas_wrapper.hpp
+#usr/include/boost/numeric/odeint/util/unit_helper.hpp
+#usr/include/boost/numeric/odeint/util/unwrap_reference.hpp
+#usr/include/boost/numeric/odeint/version.hpp
+#usr/include/boost/numeric/ublas
+#usr/include/boost/numeric/ublas/assignment.hpp
+#usr/include/boost/numeric/ublas/banded.hpp
+#usr/include/boost/numeric/ublas/blas.hpp
+#usr/include/boost/numeric/ublas/detail
+#usr/include/boost/numeric/ublas/detail/concepts.hpp
+#usr/include/boost/numeric/ublas/detail/config.hpp
+#usr/include/boost/numeric/ublas/detail/definitions.hpp
+#usr/include/boost/numeric/ublas/detail/documentation.hpp
+#usr/include/boost/numeric/ublas/detail/duff.hpp
+#usr/include/boost/numeric/ublas/detail/iterator.hpp
+#usr/include/boost/numeric/ublas/detail/matrix_assign.hpp
+#usr/include/boost/numeric/ublas/detail/raw.hpp
+#usr/include/boost/numeric/ublas/detail/returntype_deduction.hpp
+#usr/include/boost/numeric/ublas/detail/temporary.hpp
+#usr/include/boost/numeric/ublas/detail/vector_assign.hpp
+#usr/include/boost/numeric/ublas/doxydoc.hpp
+#usr/include/boost/numeric/ublas/exception.hpp
+#usr/include/boost/numeric/ublas/experimental
+#usr/include/boost/numeric/ublas/experimental/sparse_view.hpp
+#usr/include/boost/numeric/ublas/expression_types.hpp
+#usr/include/boost/numeric/ublas/functional.hpp
+#usr/include/boost/numeric/ublas/fwd.hpp
+#usr/include/boost/numeric/ublas/hermitian.hpp
+#usr/include/boost/numeric/ublas/io.hpp
+#usr/include/boost/numeric/ublas/lu.hpp
+#usr/include/boost/numeric/ublas/matrix.hpp
+#usr/include/boost/numeric/ublas/matrix_expression.hpp
+#usr/include/boost/numeric/ublas/matrix_proxy.hpp
+#usr/include/boost/numeric/ublas/matrix_sparse.hpp
+#usr/include/boost/numeric/ublas/operation
+#usr/include/boost/numeric/ublas/operation.hpp
+#usr/include/boost/numeric/ublas/operation/begin.hpp
+#usr/include/boost/numeric/ublas/operation/c_array.hpp
+#usr/include/boost/numeric/ublas/operation/end.hpp
+#usr/include/boost/numeric/ublas/operation/num_columns.hpp
+#usr/include/boost/numeric/ublas/operation/num_rows.hpp
+#usr/include/boost/numeric/ublas/operation/size.hpp
+#usr/include/boost/numeric/ublas/operation_blocked.hpp
+#usr/include/boost/numeric/ublas/operation_sparse.hpp
+#usr/include/boost/numeric/ublas/operations.hpp
+#usr/include/boost/numeric/ublas/storage.hpp
+#usr/include/boost/numeric/ublas/storage_sparse.hpp
+#usr/include/boost/numeric/ublas/symmetric.hpp
+#usr/include/boost/numeric/ublas/tags.hpp
+#usr/include/boost/numeric/ublas/traits
+#usr/include/boost/numeric/ublas/traits.hpp
+#usr/include/boost/numeric/ublas/traits/c_array.hpp
+#usr/include/boost/numeric/ublas/traits/const_iterator_type.hpp
+#usr/include/boost/numeric/ublas/traits/iterator_type.hpp
+#usr/include/boost/numeric/ublas/triangular.hpp
+#usr/include/boost/numeric/ublas/vector.hpp
+#usr/include/boost/numeric/ublas/vector_expression.hpp
+#usr/include/boost/numeric/ublas/vector_of_vector.hpp
+#usr/include/boost/numeric/ublas/vector_proxy.hpp
+#usr/include/boost/numeric/ublas/vector_sparse.hpp
+#usr/include/boost/operators.hpp
+#usr/include/boost/optional
+#usr/include/boost/optional.hpp
+#usr/include/boost/optional/optional.hpp
+#usr/include/boost/optional/optional_fwd.hpp
+#usr/include/boost/optional/optional_io.hpp
+#usr/include/boost/parameter
+#usr/include/boost/parameter.hpp
+#usr/include/boost/parameter/aux_
+#usr/include/boost/parameter/aux_/arg_list.hpp
+#usr/include/boost/parameter/aux_/cast.hpp
+#usr/include/boost/parameter/aux_/default.hpp
+#usr/include/boost/parameter/aux_/is_maybe.hpp
+#usr/include/boost/parameter/aux_/maybe.hpp
+#usr/include/boost/parameter/aux_/overloads.hpp
+#usr/include/boost/parameter/aux_/parameter_requirements.hpp
+#usr/include/boost/parameter/aux_/parenthesized_type.hpp
+#usr/include/boost/parameter/aux_/preprocessor
+#usr/include/boost/parameter/aux_/preprocessor/flatten.hpp
+#usr/include/boost/parameter/aux_/preprocessor/for_each.hpp
+#usr/include/boost/parameter/aux_/python
+#usr/include/boost/parameter/aux_/python/invoker.hpp
+#usr/include/boost/parameter/aux_/python/invoker_iterate.hpp
+#usr/include/boost/parameter/aux_/result_of0.hpp
+#usr/include/boost/parameter/aux_/set.hpp
+#usr/include/boost/parameter/aux_/tag.hpp
+#usr/include/boost/parameter/aux_/tagged_argument.hpp
+#usr/include/boost/parameter/aux_/template_keyword.hpp
+#usr/include/boost/parameter/aux_/unwrap_cv_reference.hpp
+#usr/include/boost/parameter/aux_/void.hpp
+#usr/include/boost/parameter/aux_/yesno.hpp
+#usr/include/boost/parameter/binding.hpp
+#usr/include/boost/parameter/config.hpp
+#usr/include/boost/parameter/keyword.hpp
+#usr/include/boost/parameter/macros.hpp
+#usr/include/boost/parameter/match.hpp
+#usr/include/boost/parameter/name.hpp
+#usr/include/boost/parameter/parameters.hpp
+#usr/include/boost/parameter/preprocessor.hpp
+#usr/include/boost/parameter/python.hpp
+#usr/include/boost/parameter/value_type.hpp
+#usr/include/boost/pending
+#usr/include/boost/pending/bucket_sorter.hpp
+#usr/include/boost/pending/container_traits.hpp
+#usr/include/boost/pending/cstddef.hpp
+#usr/include/boost/pending/detail
+#usr/include/boost/pending/detail/disjoint_sets.hpp
+#usr/include/boost/pending/detail/int_iterator.hpp
+#usr/include/boost/pending/detail/property.hpp
+#usr/include/boost/pending/disjoint_sets.hpp
+#usr/include/boost/pending/fenced_priority_queue.hpp
+#usr/include/boost/pending/fibonacci_heap.hpp
+#usr/include/boost/pending/indirect_cmp.hpp
+#usr/include/boost/pending/integer_log2.hpp
+#usr/include/boost/pending/is_heap.hpp
+#usr/include/boost/pending/iterator_adaptors.hpp
+#usr/include/boost/pending/iterator_tests.hpp
+#usr/include/boost/pending/lowest_bit.hpp
+#usr/include/boost/pending/mutable_heap.hpp
+#usr/include/boost/pending/mutable_queue.hpp
+#usr/include/boost/pending/property.hpp
+#usr/include/boost/pending/property_serialize.hpp
+#usr/include/boost/pending/queue.hpp
+#usr/include/boost/pending/relaxed_heap.hpp
+#usr/include/boost/pending/stringtok.hpp
+#usr/include/boost/phoenix
+#usr/include/boost/phoenix.hpp
+#usr/include/boost/phoenix/bind
+#usr/include/boost/phoenix/bind.hpp
+#usr/include/boost/phoenix/bind/bind_function.hpp
+#usr/include/boost/phoenix/bind/bind_function_object.hpp
+#usr/include/boost/phoenix/bind/bind_member_function.hpp
+#usr/include/boost/phoenix/bind/bind_member_variable.hpp
+#usr/include/boost/phoenix/bind/detail
+#usr/include/boost/phoenix/bind/detail/function_ptr.hpp
+#usr/include/boost/phoenix/bind/detail/member_function_ptr.hpp
+#usr/include/boost/phoenix/bind/detail/member_variable.hpp
+#usr/include/boost/phoenix/bind/detail/preprocessed
+#usr/include/boost/phoenix/bind/detail/preprocessed/function_ptr.hpp
+#usr/include/boost/phoenix/bind/detail/preprocessed/function_ptr_10.hpp
+#usr/include/boost/phoenix/bind/detail/preprocessed/function_ptr_20.hpp
+#usr/include/boost/phoenix/bind/detail/preprocessed/function_ptr_30.hpp
+#usr/include/boost/phoenix/bind/detail/preprocessed/function_ptr_40.hpp
+#usr/include/boost/phoenix/bind/detail/preprocessed/function_ptr_50.hpp
+#usr/include/boost/phoenix/bind/detail/preprocessed/member_function_ptr.hpp
+#usr/include/boost/phoenix/bind/detail/preprocessed/member_function_ptr_10.hpp
+#usr/include/boost/phoenix/bind/detail/preprocessed/member_function_ptr_20.hpp
+#usr/include/boost/phoenix/bind/detail/preprocessed/member_function_ptr_30.hpp
+#usr/include/boost/phoenix/bind/detail/preprocessed/member_function_ptr_40.hpp
+#usr/include/boost/phoenix/bind/detail/preprocessed/member_function_ptr_50.hpp
+#usr/include/boost/phoenix/bind/preprocessed
+#usr/include/boost/phoenix/bind/preprocessed/bind_function.hpp
+#usr/include/boost/phoenix/bind/preprocessed/bind_function_10.hpp
+#usr/include/boost/phoenix/bind/preprocessed/bind_function_20.hpp
+#usr/include/boost/phoenix/bind/preprocessed/bind_function_30.hpp
+#usr/include/boost/phoenix/bind/preprocessed/bind_function_40.hpp
+#usr/include/boost/phoenix/bind/preprocessed/bind_function_50.hpp
+#usr/include/boost/phoenix/bind/preprocessed/bind_function_object.hpp
+#usr/include/boost/phoenix/bind/preprocessed/bind_function_object_10.hpp
+#usr/include/boost/phoenix/bind/preprocessed/bind_function_object_20.hpp
+#usr/include/boost/phoenix/bind/preprocessed/bind_function_object_30.hpp
+#usr/include/boost/phoenix/bind/preprocessed/bind_function_object_40.hpp
+#usr/include/boost/phoenix/bind/preprocessed/bind_function_object_50.hpp
+#usr/include/boost/phoenix/bind/preprocessed/bind_member_function.hpp
+#usr/include/boost/phoenix/bind/preprocessed/bind_member_function_10.hpp
+#usr/include/boost/phoenix/bind/preprocessed/bind_member_function_20.hpp
+#usr/include/boost/phoenix/bind/preprocessed/bind_member_function_30.hpp
+#usr/include/boost/phoenix/bind/preprocessed/bind_member_function_40.hpp
+#usr/include/boost/phoenix/bind/preprocessed/bind_member_function_50.hpp
+#usr/include/boost/phoenix/core
+#usr/include/boost/phoenix/core.hpp
+#usr/include/boost/phoenix/core/actor.hpp
+#usr/include/boost/phoenix/core/argument.hpp
+#usr/include/boost/phoenix/core/arity.hpp
+#usr/include/boost/phoenix/core/as_actor.hpp
+#usr/include/boost/phoenix/core/call.hpp
+#usr/include/boost/phoenix/core/detail
+#usr/include/boost/phoenix/core/detail/actor_operator.hpp
+#usr/include/boost/phoenix/core/detail/actor_result_of.hpp
+#usr/include/boost/phoenix/core/detail/argument.hpp
+#usr/include/boost/phoenix/core/detail/call.hpp
+#usr/include/boost/phoenix/core/detail/expression.hpp
+#usr/include/boost/phoenix/core/detail/function_eval.hpp
+#usr/include/boost/phoenix/core/detail/phx2_result.hpp
+#usr/include/boost/phoenix/core/detail/preprocessed
+#usr/include/boost/phoenix/core/detail/preprocessed/actor_operator.hpp
+#usr/include/boost/phoenix/core/detail/preprocessed/actor_operator_10.hpp
+#usr/include/boost/phoenix/core/detail/preprocessed/actor_operator_20.hpp
+#usr/include/boost/phoenix/core/detail/preprocessed/actor_operator_30.hpp
+#usr/include/boost/phoenix/core/detail/preprocessed/actor_operator_40.hpp
+#usr/include/boost/phoenix/core/detail/preprocessed/actor_operator_50.hpp
+#usr/include/boost/phoenix/core/detail/preprocessed/actor_result_of.hpp
+#usr/include/boost/phoenix/core/detail/preprocessed/actor_result_of_10.hpp
+#usr/include/boost/phoenix/core/detail/preprocessed/actor_result_of_20.hpp
+#usr/include/boost/phoenix/core/detail/preprocessed/actor_result_of_30.hpp
+#usr/include/boost/phoenix/core/detail/preprocessed/actor_result_of_40.hpp
+#usr/include/boost/phoenix/core/detail/preprocessed/actor_result_of_50.hpp
+#usr/include/boost/phoenix/core/detail/preprocessed/call.hpp
+#usr/include/boost/phoenix/core/detail/preprocessed/call_10.hpp
+#usr/include/boost/phoenix/core/detail/preprocessed/call_20.hpp
+#usr/include/boost/phoenix/core/detail/preprocessed/call_30.hpp
+#usr/include/boost/phoenix/core/detail/preprocessed/call_40.hpp
+#usr/include/boost/phoenix/core/detail/preprocessed/call_50.hpp
+#usr/include/boost/phoenix/core/detail/preprocessed/function_eval.hpp
+#usr/include/boost/phoenix/core/detail/preprocessed/function_eval_10.hpp
+#usr/include/boost/phoenix/core/detail/preprocessed/function_eval_20.hpp
+#usr/include/boost/phoenix/core/detail/preprocessed/function_eval_30.hpp
+#usr/include/boost/phoenix/core/detail/preprocessed/function_eval_40.hpp
+#usr/include/boost/phoenix/core/detail/preprocessed/function_eval_50.hpp
+#usr/include/boost/phoenix/core/detail/preprocessed/phx2_result.hpp
+#usr/include/boost/phoenix/core/detail/preprocessed/phx2_result_10.hpp
+#usr/include/boost/phoenix/core/detail/preprocessed/phx2_result_20.hpp
+#usr/include/boost/phoenix/core/detail/preprocessed/phx2_result_30.hpp
+#usr/include/boost/phoenix/core/detail/preprocessed/phx2_result_40.hpp
+#usr/include/boost/phoenix/core/detail/preprocessed/phx2_result_50.hpp
+#usr/include/boost/phoenix/core/domain.hpp
+#usr/include/boost/phoenix/core/environment.hpp
+#usr/include/boost/phoenix/core/expression.hpp
+#usr/include/boost/phoenix/core/function_equal.hpp
+#usr/include/boost/phoenix/core/is_actor.hpp
+#usr/include/boost/phoenix/core/is_nullary.hpp
+#usr/include/boost/phoenix/core/limits.hpp
+#usr/include/boost/phoenix/core/meta_grammar.hpp
+#usr/include/boost/phoenix/core/nothing.hpp
+#usr/include/boost/phoenix/core/preprocessed
+#usr/include/boost/phoenix/core/preprocessed/actor.hpp
+#usr/include/boost/phoenix/core/preprocessed/actor_10.hpp
+#usr/include/boost/phoenix/core/preprocessed/actor_20.hpp
+#usr/include/boost/phoenix/core/preprocessed/actor_30.hpp
+#usr/include/boost/phoenix/core/preprocessed/actor_40.hpp
+#usr/include/boost/phoenix/core/preprocessed/actor_50.hpp
+#usr/include/boost/phoenix/core/preprocessed/argument.hpp
+#usr/include/boost/phoenix/core/preprocessed/argument_10.hpp
+#usr/include/boost/phoenix/core/preprocessed/argument_no_predefined_10.hpp
+#usr/include/boost/phoenix/core/preprocessed/argument_no_predefined_20.hpp
+#usr/include/boost/phoenix/core/preprocessed/argument_no_predefined_30.hpp
+#usr/include/boost/phoenix/core/preprocessed/argument_no_predefined_40.hpp
+#usr/include/boost/phoenix/core/preprocessed/argument_no_predefined_50.hpp
+#usr/include/boost/phoenix/core/preprocessed/argument_predefined_10.hpp
+#usr/include/boost/phoenix/core/preprocessed/argument_predefined_20.hpp
+#usr/include/boost/phoenix/core/preprocessed/argument_predefined_30.hpp
+#usr/include/boost/phoenix/core/preprocessed/argument_predefined_40.hpp
+#usr/include/boost/phoenix/core/preprocessed/argument_predefined_50.hpp
+#usr/include/boost/phoenix/core/preprocessed/expression.hpp
+#usr/include/boost/phoenix/core/preprocessed/expression_10.hpp
+#usr/include/boost/phoenix/core/preprocessed/expression_20.hpp
+#usr/include/boost/phoenix/core/preprocessed/expression_30.hpp
+#usr/include/boost/phoenix/core/preprocessed/expression_40.hpp
+#usr/include/boost/phoenix/core/preprocessed/expression_50.hpp
+#usr/include/boost/phoenix/core/preprocessed/function_equal.hpp
+#usr/include/boost/phoenix/core/preprocessed/function_equal_10.hpp
+#usr/include/boost/phoenix/core/preprocessed/function_equal_20.hpp
+#usr/include/boost/phoenix/core/preprocessed/function_equal_30.hpp
+#usr/include/boost/phoenix/core/preprocessed/function_equal_40.hpp
+#usr/include/boost/phoenix/core/preprocessed/function_equal_50.hpp
+#usr/include/boost/phoenix/core/reference.hpp
+#usr/include/boost/phoenix/core/terminal.hpp
+#usr/include/boost/phoenix/core/terminal_fwd.hpp
+#usr/include/boost/phoenix/core/v2_eval.hpp
+#usr/include/boost/phoenix/core/value.hpp
+#usr/include/boost/phoenix/core/visit_each.hpp
+#usr/include/boost/phoenix/function
+#usr/include/boost/phoenix/function.hpp
+#usr/include/boost/phoenix/function/adapt_callable.hpp
+#usr/include/boost/phoenix/function/adapt_function.hpp
+#usr/include/boost/phoenix/function/detail
+#usr/include/boost/phoenix/function/detail/function_operator.hpp
+#usr/include/boost/phoenix/function/detail/function_result_of.hpp
+#usr/include/boost/phoenix/function/detail/preprocessed
+#usr/include/boost/phoenix/function/detail/preprocessed/function_operator.hpp
+#usr/include/boost/phoenix/function/detail/preprocessed/function_operator_10.hpp
+#usr/include/boost/phoenix/function/detail/preprocessed/function_operator_20.hpp
+#usr/include/boost/phoenix/function/detail/preprocessed/function_operator_30.hpp
+#usr/include/boost/phoenix/function/detail/preprocessed/function_operator_40.hpp
+#usr/include/boost/phoenix/function/detail/preprocessed/function_operator_50.hpp
+#usr/include/boost/phoenix/function/detail/preprocessed/function_result_of.hpp
+#usr/include/boost/phoenix/function/detail/preprocessed/function_result_of_10.hpp
+#usr/include/boost/phoenix/function/detail/preprocessed/function_result_of_20.hpp
+#usr/include/boost/phoenix/function/detail/preprocessed/function_result_of_30.hpp
+#usr/include/boost/phoenix/function/detail/preprocessed/function_result_of_40.hpp
+#usr/include/boost/phoenix/function/detail/preprocessed/function_result_of_50.hpp
+#usr/include/boost/phoenix/function/function.hpp
+#usr/include/boost/phoenix/fusion
+#usr/include/boost/phoenix/fusion.hpp
+#usr/include/boost/phoenix/fusion/at.hpp
+#usr/include/boost/phoenix/object
+#usr/include/boost/phoenix/object.hpp
+#usr/include/boost/phoenix/object/const_cast.hpp
+#usr/include/boost/phoenix/object/construct.hpp
+#usr/include/boost/phoenix/object/delete.hpp
+#usr/include/boost/phoenix/object/detail
+#usr/include/boost/phoenix/object/detail/construct.hpp
+#usr/include/boost/phoenix/object/detail/construct_eval.hpp
+#usr/include/boost/phoenix/object/detail/new.hpp
+#usr/include/boost/phoenix/object/detail/new_eval.hpp
+#usr/include/boost/phoenix/object/detail/preprocessed
+#usr/include/boost/phoenix/object/detail/preprocessed/construct.hpp
+#usr/include/boost/phoenix/object/detail/preprocessed/construct_10.hpp
+#usr/include/boost/phoenix/object/detail/preprocessed/construct_20.hpp
+#usr/include/boost/phoenix/object/detail/preprocessed/construct_30.hpp
+#usr/include/boost/phoenix/object/detail/preprocessed/construct_40.hpp
+#usr/include/boost/phoenix/object/detail/preprocessed/construct_50.hpp
+#usr/include/boost/phoenix/object/detail/preprocessed/construct_eval.hpp
+#usr/include/boost/phoenix/object/detail/preprocessed/construct_eval_10.hpp
+#usr/include/boost/phoenix/object/detail/preprocessed/construct_eval_20.hpp
+#usr/include/boost/phoenix/object/detail/preprocessed/construct_eval_30.hpp
+#usr/include/boost/phoenix/object/detail/preprocessed/construct_eval_40.hpp
+#usr/include/boost/phoenix/object/detail/preprocessed/construct_eval_50.hpp
+#usr/include/boost/phoenix/object/detail/preprocessed/new.hpp
+#usr/include/boost/phoenix/object/detail/preprocessed/new_10.hpp
+#usr/include/boost/phoenix/object/detail/preprocessed/new_20.hpp
+#usr/include/boost/phoenix/object/detail/preprocessed/new_30.hpp
+#usr/include/boost/phoenix/object/detail/preprocessed/new_40.hpp
+#usr/include/boost/phoenix/object/detail/preprocessed/new_50.hpp
+#usr/include/boost/phoenix/object/detail/preprocessed/new_eval.hpp
+#usr/include/boost/phoenix/object/detail/preprocessed/new_eval_10.hpp
+#usr/include/boost/phoenix/object/detail/preprocessed/new_eval_20.hpp
+#usr/include/boost/phoenix/object/detail/preprocessed/new_eval_30.hpp
+#usr/include/boost/phoenix/object/detail/preprocessed/new_eval_40.hpp
+#usr/include/boost/phoenix/object/detail/preprocessed/new_eval_50.hpp
+#usr/include/boost/phoenix/object/detail/target.hpp
+#usr/include/boost/phoenix/object/dynamic_cast.hpp
+#usr/include/boost/phoenix/object/new.hpp
+#usr/include/boost/phoenix/object/reinterpret_cast.hpp
+#usr/include/boost/phoenix/object/static_cast.hpp
+#usr/include/boost/phoenix/operator
+#usr/include/boost/phoenix/operator.hpp
+#usr/include/boost/phoenix/operator/arithmetic.hpp
+#usr/include/boost/phoenix/operator/bitwise.hpp
+#usr/include/boost/phoenix/operator/comparison.hpp
+#usr/include/boost/phoenix/operator/detail
+#usr/include/boost/phoenix/operator/detail/define_operator.hpp
+#usr/include/boost/phoenix/operator/detail/mem_fun_ptr_eval_result_of.hpp
+#usr/include/boost/phoenix/operator/detail/mem_fun_ptr_gen.hpp
+#usr/include/boost/phoenix/operator/detail/preprocessed
+#usr/include/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen.hpp
+#usr/include/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_10.hpp
+#usr/include/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_20.hpp
+#usr/include/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_30.hpp
+#usr/include/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_40.hpp
+#usr/include/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_50.hpp
+#usr/include/boost/phoenix/operator/detail/undef_operator.hpp
+#usr/include/boost/phoenix/operator/if_else.hpp
+#usr/include/boost/phoenix/operator/io.hpp
+#usr/include/boost/phoenix/operator/logical.hpp
+#usr/include/boost/phoenix/operator/member.hpp
+#usr/include/boost/phoenix/operator/preprocessed
+#usr/include/boost/phoenix/operator/preprocessed/member.hpp
+#usr/include/boost/phoenix/operator/preprocessed/member_10.hpp
+#usr/include/boost/phoenix/operator/preprocessed/member_20.hpp
+#usr/include/boost/phoenix/operator/preprocessed/member_30.hpp
+#usr/include/boost/phoenix/operator/preprocessed/member_40.hpp
+#usr/include/boost/phoenix/operator/preprocessed/member_50.hpp
+#usr/include/boost/phoenix/operator/self.hpp
+#usr/include/boost/phoenix/phoenix.hpp
+#usr/include/boost/phoenix/scope
+#usr/include/boost/phoenix/scope.hpp
+#usr/include/boost/phoenix/scope/detail
+#usr/include/boost/phoenix/scope/detail/dynamic.hpp
+#usr/include/boost/phoenix/scope/detail/local_gen.hpp
+#usr/include/boost/phoenix/scope/detail/local_variable.hpp
+#usr/include/boost/phoenix/scope/detail/make_locals.hpp
+#usr/include/boost/phoenix/scope/detail/preprocessed
+#usr/include/boost/phoenix/scope/detail/preprocessed/dynamic.hpp
+#usr/include/boost/phoenix/scope/detail/preprocessed/dynamic_10.hpp
+#usr/include/boost/phoenix/scope/detail/preprocessed/dynamic_20.hpp
+#usr/include/boost/phoenix/scope/detail/preprocessed/dynamic_30.hpp
+#usr/include/boost/phoenix/scope/detail/preprocessed/dynamic_40.hpp
+#usr/include/boost/phoenix/scope/detail/preprocessed/dynamic_50.hpp
+#usr/include/boost/phoenix/scope/detail/preprocessed/make_locals.hpp
+#usr/include/boost/phoenix/scope/detail/preprocessed/make_locals_10.hpp
+#usr/include/boost/phoenix/scope/detail/preprocessed/make_locals_20.hpp
+#usr/include/boost/phoenix/scope/detail/preprocessed/make_locals_30.hpp
+#usr/include/boost/phoenix/scope/detail/preprocessed/make_locals_40.hpp
+#usr/include/boost/phoenix/scope/detail/preprocessed/make_locals_50.hpp
+#usr/include/boost/phoenix/scope/dynamic.hpp
+#usr/include/boost/phoenix/scope/lambda.hpp
+#usr/include/boost/phoenix/scope/let.hpp
+#usr/include/boost/phoenix/scope/local_variable.hpp
+#usr/include/boost/phoenix/scope/preprocessed
+#usr/include/boost/phoenix/scope/preprocessed/lambda.hpp
+#usr/include/boost/phoenix/scope/preprocessed/lambda_10.hpp
+#usr/include/boost/phoenix/scope/preprocessed/lambda_20.hpp
+#usr/include/boost/phoenix/scope/preprocessed/lambda_30.hpp
+#usr/include/boost/phoenix/scope/preprocessed/lambda_40.hpp
+#usr/include/boost/phoenix/scope/preprocessed/lambda_50.hpp
+#usr/include/boost/phoenix/scope/scoped_environment.hpp
+#usr/include/boost/phoenix/scope/this.hpp
+#usr/include/boost/phoenix/statement
+#usr/include/boost/phoenix/statement.hpp
+#usr/include/boost/phoenix/statement/detail
+#usr/include/boost/phoenix/statement/detail/catch_push_back.hpp
+#usr/include/boost/phoenix/statement/detail/preprocessed
+#usr/include/boost/phoenix/statement/detail/preprocessed/catch_push_back.hpp
+#usr/include/boost/phoenix/statement/detail/preprocessed/catch_push_back_10.hpp
+#usr/include/boost/phoenix/statement/detail/preprocessed/catch_push_back_20.hpp
+#usr/include/boost/phoenix/statement/detail/preprocessed/catch_push_back_30.hpp
+#usr/include/boost/phoenix/statement/detail/preprocessed/catch_push_back_40.hpp
+#usr/include/boost/phoenix/statement/detail/preprocessed/catch_push_back_50.hpp
+#usr/include/boost/phoenix/statement/detail/preprocessed/switch.hpp
+#usr/include/boost/phoenix/statement/detail/preprocessed/switch_10.hpp
+#usr/include/boost/phoenix/statement/detail/preprocessed/switch_20.hpp
+#usr/include/boost/phoenix/statement/detail/preprocessed/switch_30.hpp
+#usr/include/boost/phoenix/statement/detail/preprocessed/switch_40.hpp
+#usr/include/boost/phoenix/statement/detail/preprocessed/switch_50.hpp
+#usr/include/boost/phoenix/statement/detail/preprocessed/try_catch_eval.hpp
+#usr/include/boost/phoenix/statement/detail/preprocessed/try_catch_eval_10.hpp
+#usr/include/boost/phoenix/statement/detail/preprocessed/try_catch_eval_20.hpp
+#usr/include/boost/phoenix/statement/detail/preprocessed/try_catch_eval_30.hpp
+#usr/include/boost/phoenix/statement/detail/preprocessed/try_catch_eval_40.hpp
+#usr/include/boost/phoenix/statement/detail/preprocessed/try_catch_eval_50.hpp
+#usr/include/boost/phoenix/statement/detail/preprocessed/try_catch_expression.hpp
+#usr/include/boost/phoenix/statement/detail/preprocessed/try_catch_expression_10.hpp
+#usr/include/boost/phoenix/statement/detail/preprocessed/try_catch_expression_20.hpp
+#usr/include/boost/phoenix/statement/detail/preprocessed/try_catch_expression_30.hpp
+#usr/include/boost/phoenix/statement/detail/preprocessed/try_catch_expression_40.hpp
+#usr/include/boost/phoenix/statement/detail/preprocessed/try_catch_expression_50.hpp
+#usr/include/boost/phoenix/statement/detail/switch.hpp
+#usr/include/boost/phoenix/statement/detail/try_catch_eval.hpp
+#usr/include/boost/phoenix/statement/detail/try_catch_expression.hpp
+#usr/include/boost/phoenix/statement/do_while.hpp
+#usr/include/boost/phoenix/statement/for.hpp
+#usr/include/boost/phoenix/statement/if.hpp
+#usr/include/boost/phoenix/statement/sequence.hpp
+#usr/include/boost/phoenix/statement/switch.hpp
+#usr/include/boost/phoenix/statement/throw.hpp
+#usr/include/boost/phoenix/statement/try_catch.hpp
+#usr/include/boost/phoenix/statement/while.hpp
+#usr/include/boost/phoenix/stl
+#usr/include/boost/phoenix/stl.hpp
+#usr/include/boost/phoenix/stl/algorithm
+#usr/include/boost/phoenix/stl/algorithm.hpp
+#usr/include/boost/phoenix/stl/algorithm/detail
+#usr/include/boost/phoenix/stl/algorithm/detail/begin.hpp
+#usr/include/boost/phoenix/stl/algorithm/detail/decay_array.hpp
+#usr/include/boost/phoenix/stl/algorithm/detail/end.hpp
+#usr/include/boost/phoenix/stl/algorithm/detail/has_equal_range.hpp
+#usr/include/boost/phoenix/stl/algorithm/detail/has_find.hpp
+#usr/include/boost/phoenix/stl/algorithm/detail/has_lower_bound.hpp
+#usr/include/boost/phoenix/stl/algorithm/detail/has_remove.hpp
+#usr/include/boost/phoenix/stl/algorithm/detail/has_remove_if.hpp
+#usr/include/boost/phoenix/stl/algorithm/detail/has_reverse.hpp
+#usr/include/boost/phoenix/stl/algorithm/detail/has_sort.hpp
+#usr/include/boost/phoenix/stl/algorithm/detail/has_unique.hpp
+#usr/include/boost/phoenix/stl/algorithm/detail/has_upper_bound.hpp
+#usr/include/boost/phoenix/stl/algorithm/detail/is_std_hash_map.hpp
+#usr/include/boost/phoenix/stl/algorithm/detail/is_std_hash_set.hpp
+#usr/include/boost/phoenix/stl/algorithm/detail/is_std_list.hpp
+#usr/include/boost/phoenix/stl/algorithm/detail/is_std_map.hpp
+#usr/include/boost/phoenix/stl/algorithm/detail/is_std_set.hpp
+#usr/include/boost/phoenix/stl/algorithm/detail/std_hash_map_fwd.hpp
+#usr/include/boost/phoenix/stl/algorithm/detail/std_hash_set_fwd.hpp
+#usr/include/boost/phoenix/stl/algorithm/iteration.hpp
+#usr/include/boost/phoenix/stl/algorithm/querying.hpp
+#usr/include/boost/phoenix/stl/algorithm/transformation.hpp
+#usr/include/boost/phoenix/stl/cmath.hpp
+#usr/include/boost/phoenix/stl/container
+#usr/include/boost/phoenix/stl/container.hpp
+#usr/include/boost/phoenix/stl/container/container.hpp
+#usr/include/boost/phoenix/stl/container/detail
+#usr/include/boost/phoenix/stl/container/detail/container.hpp
+#usr/include/boost/phoenix/support
+#usr/include/boost/phoenix/support/detail
+#usr/include/boost/phoenix/support/detail/iterate.hpp
+#usr/include/boost/phoenix/support/detail/iterate_define.hpp
+#usr/include/boost/phoenix/support/detail/iterate_undef.hpp
+#usr/include/boost/phoenix/support/iterate.hpp
+#usr/include/boost/phoenix/support/preprocessed
+#usr/include/boost/phoenix/support/preprocessed/vector.hpp
+#usr/include/boost/phoenix/support/preprocessed/vector_10.hpp
+#usr/include/boost/phoenix/support/preprocessed/vector_20.hpp
+#usr/include/boost/phoenix/support/preprocessed/vector_30.hpp
+#usr/include/boost/phoenix/support/preprocessed/vector_40.hpp
+#usr/include/boost/phoenix/support/preprocessed/vector_50.hpp
+#usr/include/boost/phoenix/support/preprocessor
+#usr/include/boost/phoenix/support/preprocessor/round.hpp
+#usr/include/boost/phoenix/support/vector.hpp
+#usr/include/boost/phoenix/version.hpp
+#usr/include/boost/pointee.hpp
+#usr/include/boost/pointer_cast.hpp
+#usr/include/boost/pointer_to_other.hpp
+#usr/include/boost/polygon
+#usr/include/boost/polygon/detail
+#usr/include/boost/polygon/detail/boolean_op.hpp
+#usr/include/boost/polygon/detail/boolean_op_45.hpp
+#usr/include/boost/polygon/detail/iterator_compact_to_points.hpp
+#usr/include/boost/polygon/detail/iterator_geometry_to_set.hpp
+#usr/include/boost/polygon/detail/iterator_points_to_compact.hpp
+#usr/include/boost/polygon/detail/max_cover.hpp
+#usr/include/boost/polygon/detail/minkowski.hpp
+#usr/include/boost/polygon/detail/polygon_45_formation.hpp
+#usr/include/boost/polygon/detail/polygon_45_set_view.hpp
+#usr/include/boost/polygon/detail/polygon_45_touch.hpp
+#usr/include/boost/polygon/detail/polygon_90_set_view.hpp
+#usr/include/boost/polygon/detail/polygon_90_touch.hpp
+#usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp
+#usr/include/boost/polygon/detail/polygon_formation.hpp
+#usr/include/boost/polygon/detail/polygon_set_view.hpp
+#usr/include/boost/polygon/detail/polygon_simplify.hpp
+#usr/include/boost/polygon/detail/polygon_sort_adaptor.hpp
+#usr/include/boost/polygon/detail/property_merge.hpp
+#usr/include/boost/polygon/detail/property_merge_45.hpp
+#usr/include/boost/polygon/detail/rectangle_formation.hpp
+#usr/include/boost/polygon/detail/scan_arbitrary.hpp
+#usr/include/boost/polygon/detail/voronoi_ctypes.hpp
+#usr/include/boost/polygon/detail/voronoi_predicates.hpp
+#usr/include/boost/polygon/detail/voronoi_robust_fpt.hpp
+#usr/include/boost/polygon/detail/voronoi_structures.hpp
+#usr/include/boost/polygon/gmp_override.hpp
+#usr/include/boost/polygon/gtl.hpp
+#usr/include/boost/polygon/interval_concept.hpp
+#usr/include/boost/polygon/interval_data.hpp
+#usr/include/boost/polygon/interval_traits.hpp
+#usr/include/boost/polygon/isotropy.hpp
+#usr/include/boost/polygon/point_concept.hpp
+#usr/include/boost/polygon/point_data.hpp
+#usr/include/boost/polygon/point_traits.hpp
+#usr/include/boost/polygon/polygon.hpp
+#usr/include/boost/polygon/polygon_45_data.hpp
+#usr/include/boost/polygon/polygon_45_set_concept.hpp
+#usr/include/boost/polygon/polygon_45_set_data.hpp
+#usr/include/boost/polygon/polygon_45_set_traits.hpp
+#usr/include/boost/polygon/polygon_45_with_holes_data.hpp
+#usr/include/boost/polygon/polygon_90_data.hpp
+#usr/include/boost/polygon/polygon_90_set_concept.hpp
+#usr/include/boost/polygon/polygon_90_set_data.hpp
+#usr/include/boost/polygon/polygon_90_set_traits.hpp
+#usr/include/boost/polygon/polygon_90_with_holes_data.hpp
+#usr/include/boost/polygon/polygon_data.hpp
+#usr/include/boost/polygon/polygon_set_concept.hpp
+#usr/include/boost/polygon/polygon_set_data.hpp
+#usr/include/boost/polygon/polygon_set_traits.hpp
+#usr/include/boost/polygon/polygon_traits.hpp
+#usr/include/boost/polygon/polygon_with_holes_data.hpp
+#usr/include/boost/polygon/rectangle_concept.hpp
+#usr/include/boost/polygon/rectangle_data.hpp
+#usr/include/boost/polygon/rectangle_traits.hpp
+#usr/include/boost/polygon/segment_concept.hpp
+#usr/include/boost/polygon/segment_data.hpp
+#usr/include/boost/polygon/segment_traits.hpp
+#usr/include/boost/polygon/segment_utils.hpp
+#usr/include/boost/polygon/transform.hpp
+#usr/include/boost/polygon/voronoi.hpp
+#usr/include/boost/polygon/voronoi_builder.hpp
+#usr/include/boost/polygon/voronoi_diagram.hpp
+#usr/include/boost/polygon/voronoi_geometry_type.hpp
+#usr/include/boost/pool
+#usr/include/boost/pool/detail
+#usr/include/boost/pool/detail/guard.hpp
+#usr/include/boost/pool/detail/mutex.hpp
+#usr/include/boost/pool/detail/pool_construct.ipp
+#usr/include/boost/pool/detail/pool_construct_simple.ipp
+#usr/include/boost/pool/object_pool.hpp
+#usr/include/boost/pool/pool.hpp
+#usr/include/boost/pool/pool_alloc.hpp
+#usr/include/boost/pool/poolfwd.hpp
+#usr/include/boost/pool/simple_segregated_storage.hpp
+#usr/include/boost/pool/singleton_pool.hpp
+#usr/include/boost/predef
+#usr/include/boost/predef.h
+#usr/include/boost/predef/architecture
+#usr/include/boost/predef/architecture.h
+#usr/include/boost/predef/architecture/alpha.h
+#usr/include/boost/predef/architecture/arm.h
+#usr/include/boost/predef/architecture/blackfin.h
+#usr/include/boost/predef/architecture/convex.h
+#usr/include/boost/predef/architecture/ia64.h
+#usr/include/boost/predef/architecture/m68k.h
+#usr/include/boost/predef/architecture/mips.h
+#usr/include/boost/predef/architecture/parisc.h
+#usr/include/boost/predef/architecture/ppc.h
+#usr/include/boost/predef/architecture/pyramid.h
+#usr/include/boost/predef/architecture/rs6k.h
+#usr/include/boost/predef/architecture/sparc.h
+#usr/include/boost/predef/architecture/superh.h
+#usr/include/boost/predef/architecture/sys370.h
+#usr/include/boost/predef/architecture/sys390.h
+#usr/include/boost/predef/architecture/x86
+#usr/include/boost/predef/architecture/x86.h
+#usr/include/boost/predef/architecture/x86/32.h
+#usr/include/boost/predef/architecture/x86/64.h
+#usr/include/boost/predef/architecture/z.h
+#usr/include/boost/predef/compiler
+#usr/include/boost/predef/compiler.h
+#usr/include/boost/predef/compiler/borland.h
+#usr/include/boost/predef/compiler/clang.h
+#usr/include/boost/predef/compiler/comeau.h
+#usr/include/boost/predef/compiler/compaq.h
+#usr/include/boost/predef/compiler/diab.h
+#usr/include/boost/predef/compiler/digitalmars.h
+#usr/include/boost/predef/compiler/dignus.h
+#usr/include/boost/predef/compiler/edg.h
+#usr/include/boost/predef/compiler/ekopath.h
+#usr/include/boost/predef/compiler/gcc.h
+#usr/include/boost/predef/compiler/gcc_xml.h
+#usr/include/boost/predef/compiler/greenhills.h
+#usr/include/boost/predef/compiler/hp_acc.h
+#usr/include/boost/predef/compiler/iar.h
+#usr/include/boost/predef/compiler/ibm.h
+#usr/include/boost/predef/compiler/intel.h
+#usr/include/boost/predef/compiler/kai.h
+#usr/include/boost/predef/compiler/llvm.h
+#usr/include/boost/predef/compiler/metaware.h
+#usr/include/boost/predef/compiler/metrowerks.h
+#usr/include/boost/predef/compiler/microtec.h
+#usr/include/boost/predef/compiler/mpw.h
+#usr/include/boost/predef/compiler/palm.h
+#usr/include/boost/predef/compiler/pgi.h
+#usr/include/boost/predef/compiler/sgi_mipspro.h
+#usr/include/boost/predef/compiler/sunpro.h
+#usr/include/boost/predef/compiler/tendra.h
+#usr/include/boost/predef/compiler/visualc.h
+#usr/include/boost/predef/compiler/watcom.h
+#usr/include/boost/predef/detail
+#usr/include/boost/predef/detail/_cassert.h
+#usr/include/boost/predef/detail/_exception.h
+#usr/include/boost/predef/detail/endian_compat.h
+#usr/include/boost/predef/detail/os_detected.h
+#usr/include/boost/predef/detail/test.h
+#usr/include/boost/predef/language
+#usr/include/boost/predef/language.h
+#usr/include/boost/predef/language/objc.h
+#usr/include/boost/predef/language/stdc.h
+#usr/include/boost/predef/language/stdcpp.h
+#usr/include/boost/predef/library
+#usr/include/boost/predef/library.h
+#usr/include/boost/predef/library/c
+#usr/include/boost/predef/library/c.h
+#usr/include/boost/predef/library/c/_prefix.h
+#usr/include/boost/predef/library/c/gnu.h
+#usr/include/boost/predef/library/c/uc.h
+#usr/include/boost/predef/library/c/vms.h
+#usr/include/boost/predef/library/c/zos.h
+#usr/include/boost/predef/library/std
+#usr/include/boost/predef/library/std.h
+#usr/include/boost/predef/library/std/_prefix.h
+#usr/include/boost/predef/library/std/cxx.h
+#usr/include/boost/predef/library/std/dinkumware.h
+#usr/include/boost/predef/library/std/libcomo.h
+#usr/include/boost/predef/library/std/modena.h
+#usr/include/boost/predef/library/std/msl.h
+#usr/include/boost/predef/library/std/roguewave.h
+#usr/include/boost/predef/library/std/sgi.h
+#usr/include/boost/predef/library/std/stdcpp3.h
+#usr/include/boost/predef/library/std/stlport.h
+#usr/include/boost/predef/library/std/vacpp.h
+#usr/include/boost/predef/make.h
+#usr/include/boost/predef/os
+#usr/include/boost/predef/os.h
+#usr/include/boost/predef/os/aix.h
+#usr/include/boost/predef/os/amigaos.h
+#usr/include/boost/predef/os/android.h
+#usr/include/boost/predef/os/beos.h
+#usr/include/boost/predef/os/bsd
+#usr/include/boost/predef/os/bsd.h
+#usr/include/boost/predef/os/bsd/bsdi.h
+#usr/include/boost/predef/os/bsd/dragonfly.h
+#usr/include/boost/predef/os/bsd/free.h
+#usr/include/boost/predef/os/bsd/net.h
+#usr/include/boost/predef/os/bsd/open.h
+#usr/include/boost/predef/os/cygwin.h
+#usr/include/boost/predef/os/hpux.h
+#usr/include/boost/predef/os/irix.h
+#usr/include/boost/predef/os/linux.h
+#usr/include/boost/predef/os/macos.h
+#usr/include/boost/predef/os/os400.h
+#usr/include/boost/predef/os/qnxnto.h
+#usr/include/boost/predef/os/solaris.h
+#usr/include/boost/predef/os/unix.h
+#usr/include/boost/predef/os/vms.h
+#usr/include/boost/predef/os/windows.h
+#usr/include/boost/predef/other
+#usr/include/boost/predef/other.h
+#usr/include/boost/predef/other/endian.h
+#usr/include/boost/predef/platform
+#usr/include/boost/predef/platform.h
+#usr/include/boost/predef/platform/mingw.h
+#usr/include/boost/predef/version_number.h
+#usr/include/boost/preprocessor
+#usr/include/boost/preprocessor.hpp
+#usr/include/boost/preprocessor/arithmetic
+#usr/include/boost/preprocessor/arithmetic.hpp
+#usr/include/boost/preprocessor/arithmetic/add.hpp
+#usr/include/boost/preprocessor/arithmetic/dec.hpp
+#usr/include/boost/preprocessor/arithmetic/detail
+#usr/include/boost/preprocessor/arithmetic/detail/div_base.hpp
+#usr/include/boost/preprocessor/arithmetic/div.hpp
+#usr/include/boost/preprocessor/arithmetic/inc.hpp
+#usr/include/boost/preprocessor/arithmetic/mod.hpp
+#usr/include/boost/preprocessor/arithmetic/mul.hpp
+#usr/include/boost/preprocessor/arithmetic/sub.hpp
+#usr/include/boost/preprocessor/array
+#usr/include/boost/preprocessor/array.hpp
+#usr/include/boost/preprocessor/array/data.hpp
+#usr/include/boost/preprocessor/array/elem.hpp
+#usr/include/boost/preprocessor/array/enum.hpp
+#usr/include/boost/preprocessor/array/insert.hpp
+#usr/include/boost/preprocessor/array/pop_back.hpp
+#usr/include/boost/preprocessor/array/pop_front.hpp
+#usr/include/boost/preprocessor/array/push_back.hpp
+#usr/include/boost/preprocessor/array/push_front.hpp
+#usr/include/boost/preprocessor/array/remove.hpp
+#usr/include/boost/preprocessor/array/replace.hpp
+#usr/include/boost/preprocessor/array/reverse.hpp
+#usr/include/boost/preprocessor/array/size.hpp
+#usr/include/boost/preprocessor/array/to_list.hpp
+#usr/include/boost/preprocessor/array/to_seq.hpp
+#usr/include/boost/preprocessor/array/to_tuple.hpp
+#usr/include/boost/preprocessor/assert_msg.hpp
+#usr/include/boost/preprocessor/cat.hpp
+#usr/include/boost/preprocessor/comma.hpp
+#usr/include/boost/preprocessor/comma_if.hpp
+#usr/include/boost/preprocessor/comparison
+#usr/include/boost/preprocessor/comparison.hpp
+#usr/include/boost/preprocessor/comparison/equal.hpp
+#usr/include/boost/preprocessor/comparison/greater.hpp
+#usr/include/boost/preprocessor/comparison/greater_equal.hpp
+#usr/include/boost/preprocessor/comparison/less.hpp
+#usr/include/boost/preprocessor/comparison/less_equal.hpp
+#usr/include/boost/preprocessor/comparison/not_equal.hpp
+#usr/include/boost/preprocessor/config
+#usr/include/boost/preprocessor/config/config.hpp
+#usr/include/boost/preprocessor/config/limits.hpp
+#usr/include/boost/preprocessor/control
+#usr/include/boost/preprocessor/control.hpp
+#usr/include/boost/preprocessor/control/deduce_d.hpp
+#usr/include/boost/preprocessor/control/detail
+#usr/include/boost/preprocessor/control/detail/dmc
+#usr/include/boost/preprocessor/control/detail/dmc/while.hpp
+#usr/include/boost/preprocessor/control/detail/edg
+#usr/include/boost/preprocessor/control/detail/edg/while.hpp
+#usr/include/boost/preprocessor/control/detail/msvc
+#usr/include/boost/preprocessor/control/detail/msvc/while.hpp
+#usr/include/boost/preprocessor/control/detail/while.hpp
+#usr/include/boost/preprocessor/control/expr_if.hpp
+#usr/include/boost/preprocessor/control/expr_iif.hpp
+#usr/include/boost/preprocessor/control/if.hpp
+#usr/include/boost/preprocessor/control/iif.hpp
+#usr/include/boost/preprocessor/control/while.hpp
+#usr/include/boost/preprocessor/debug
+#usr/include/boost/preprocessor/debug.hpp
+#usr/include/boost/preprocessor/debug/assert.hpp
+#usr/include/boost/preprocessor/debug/error.hpp
+#usr/include/boost/preprocessor/debug/line.hpp
+#usr/include/boost/preprocessor/dec.hpp
+#usr/include/boost/preprocessor/detail
+#usr/include/boost/preprocessor/detail/auto_rec.hpp
+#usr/include/boost/preprocessor/detail/check.hpp
+#usr/include/boost/preprocessor/detail/dmc
+#usr/include/boost/preprocessor/detail/dmc/auto_rec.hpp
+#usr/include/boost/preprocessor/detail/is_binary.hpp
+#usr/include/boost/preprocessor/detail/is_nullary.hpp
+#usr/include/boost/preprocessor/detail/is_unary.hpp
+#usr/include/boost/preprocessor/detail/null.hpp
+#usr/include/boost/preprocessor/detail/split.hpp
+#usr/include/boost/preprocessor/empty.hpp
+#usr/include/boost/preprocessor/enum.hpp
+#usr/include/boost/preprocessor/enum_params.hpp
+#usr/include/boost/preprocessor/enum_params_with_a_default.hpp
+#usr/include/boost/preprocessor/enum_params_with_defaults.hpp
+#usr/include/boost/preprocessor/enum_shifted.hpp
+#usr/include/boost/preprocessor/enum_shifted_params.hpp
+#usr/include/boost/preprocessor/expand.hpp
+#usr/include/boost/preprocessor/expr_if.hpp
+#usr/include/boost/preprocessor/facilities
+#usr/include/boost/preprocessor/facilities.hpp
+#usr/include/boost/preprocessor/facilities/apply.hpp
+#usr/include/boost/preprocessor/facilities/empty.hpp
+#usr/include/boost/preprocessor/facilities/expand.hpp
+#usr/include/boost/preprocessor/facilities/identity.hpp
+#usr/include/boost/preprocessor/facilities/intercept.hpp
+#usr/include/boost/preprocessor/facilities/is_1.hpp
+#usr/include/boost/preprocessor/facilities/is_empty.hpp
+#usr/include/boost/preprocessor/facilities/is_empty_or_1.hpp
+#usr/include/boost/preprocessor/facilities/overload.hpp
+#usr/include/boost/preprocessor/for.hpp
+#usr/include/boost/preprocessor/identity.hpp
+#usr/include/boost/preprocessor/if.hpp
+#usr/include/boost/preprocessor/inc.hpp
+#usr/include/boost/preprocessor/iterate.hpp
+#usr/include/boost/preprocessor/iteration
+#usr/include/boost/preprocessor/iteration.hpp
+#usr/include/boost/preprocessor/iteration/detail
+#usr/include/boost/preprocessor/iteration/detail/bounds
+#usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp
+#usr/include/boost/preprocessor/iteration/detail/bounds/lower2.hpp
+#usr/include/boost/preprocessor/iteration/detail/bounds/lower3.hpp
+#usr/include/boost/preprocessor/iteration/detail/bounds/lower4.hpp
+#usr/include/boost/preprocessor/iteration/detail/bounds/lower5.hpp
+#usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp
+#usr/include/boost/preprocessor/iteration/detail/bounds/upper2.hpp
+#usr/include/boost/preprocessor/iteration/detail/bounds/upper3.hpp
+#usr/include/boost/preprocessor/iteration/detail/bounds/upper4.hpp
+#usr/include/boost/preprocessor/iteration/detail/bounds/upper5.hpp
+#usr/include/boost/preprocessor/iteration/detail/finish.hpp
+#usr/include/boost/preprocessor/iteration/detail/iter
+#usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp
+#usr/include/boost/preprocessor/iteration/detail/iter/forward2.hpp
+#usr/include/boost/preprocessor/iteration/detail/iter/forward3.hpp
+#usr/include/boost/preprocessor/iteration/detail/iter/forward4.hpp
+#usr/include/boost/preprocessor/iteration/detail/iter/forward5.hpp
+#usr/include/boost/preprocessor/iteration/detail/iter/reverse1.hpp
+#usr/include/boost/preprocessor/iteration/detail/iter/reverse2.hpp
+#usr/include/boost/preprocessor/iteration/detail/iter/reverse3.hpp
+#usr/include/boost/preprocessor/iteration/detail/iter/reverse4.hpp
+#usr/include/boost/preprocessor/iteration/detail/iter/reverse5.hpp
+#usr/include/boost/preprocessor/iteration/detail/local.hpp
+#usr/include/boost/preprocessor/iteration/detail/rlocal.hpp
+#usr/include/boost/preprocessor/iteration/detail/self.hpp
+#usr/include/boost/preprocessor/iteration/detail/start.hpp
+#usr/include/boost/preprocessor/iteration/iterate.hpp
+#usr/include/boost/preprocessor/iteration/local.hpp
+#usr/include/boost/preprocessor/iteration/self.hpp
+#usr/include/boost/preprocessor/library.hpp
+#usr/include/boost/preprocessor/limits.hpp
+#usr/include/boost/preprocessor/list
+#usr/include/boost/preprocessor/list.hpp
+#usr/include/boost/preprocessor/list/adt.hpp
+#usr/include/boost/preprocessor/list/append.hpp
+#usr/include/boost/preprocessor/list/at.hpp
+#usr/include/boost/preprocessor/list/cat.hpp
+#usr/include/boost/preprocessor/list/detail
+#usr/include/boost/preprocessor/list/detail/dmc
+#usr/include/boost/preprocessor/list/detail/dmc/fold_left.hpp
+#usr/include/boost/preprocessor/list/detail/edg
+#usr/include/boost/preprocessor/list/detail/edg/fold_left.hpp
+#usr/include/boost/preprocessor/list/detail/edg/fold_right.hpp
+#usr/include/boost/preprocessor/list/detail/fold_left.hpp
+#usr/include/boost/preprocessor/list/detail/fold_right.hpp
+#usr/include/boost/preprocessor/list/enum.hpp
+#usr/include/boost/preprocessor/list/filter.hpp
+#usr/include/boost/preprocessor/list/first_n.hpp
+#usr/include/boost/preprocessor/list/fold_left.hpp
+#usr/include/boost/preprocessor/list/fold_right.hpp
+#usr/include/boost/preprocessor/list/for_each.hpp
+#usr/include/boost/preprocessor/list/for_each_i.hpp
+#usr/include/boost/preprocessor/list/for_each_product.hpp
+#usr/include/boost/preprocessor/list/rest_n.hpp
+#usr/include/boost/preprocessor/list/reverse.hpp
+#usr/include/boost/preprocessor/list/size.hpp
+#usr/include/boost/preprocessor/list/to_array.hpp
+#usr/include/boost/preprocessor/list/to_seq.hpp
+#usr/include/boost/preprocessor/list/to_tuple.hpp
+#usr/include/boost/preprocessor/list/transform.hpp
+#usr/include/boost/preprocessor/logical
+#usr/include/boost/preprocessor/logical.hpp
+#usr/include/boost/preprocessor/logical/and.hpp
+#usr/include/boost/preprocessor/logical/bitand.hpp
+#usr/include/boost/preprocessor/logical/bitnor.hpp
+#usr/include/boost/preprocessor/logical/bitor.hpp
+#usr/include/boost/preprocessor/logical/bitxor.hpp
+#usr/include/boost/preprocessor/logical/bool.hpp
+#usr/include/boost/preprocessor/logical/compl.hpp
+#usr/include/boost/preprocessor/logical/nor.hpp
+#usr/include/boost/preprocessor/logical/not.hpp
+#usr/include/boost/preprocessor/logical/or.hpp
+#usr/include/boost/preprocessor/logical/xor.hpp
+#usr/include/boost/preprocessor/max.hpp
+#usr/include/boost/preprocessor/min.hpp
+#usr/include/boost/preprocessor/punctuation
+#usr/include/boost/preprocessor/punctuation.hpp
+#usr/include/boost/preprocessor/punctuation/comma.hpp
+#usr/include/boost/preprocessor/punctuation/comma_if.hpp
+#usr/include/boost/preprocessor/punctuation/paren.hpp
+#usr/include/boost/preprocessor/punctuation/paren_if.hpp
+#usr/include/boost/preprocessor/repeat.hpp
+#usr/include/boost/preprocessor/repeat_2nd.hpp
+#usr/include/boost/preprocessor/repeat_3rd.hpp
+#usr/include/boost/preprocessor/repeat_from_to.hpp
+#usr/include/boost/preprocessor/repeat_from_to_2nd.hpp
+#usr/include/boost/preprocessor/repeat_from_to_3rd.hpp
+#usr/include/boost/preprocessor/repetition
+#usr/include/boost/preprocessor/repetition.hpp
+#usr/include/boost/preprocessor/repetition/deduce_r.hpp
+#usr/include/boost/preprocessor/repetition/deduce_z.hpp
+#usr/include/boost/preprocessor/repetition/detail
+#usr/include/boost/preprocessor/repetition/detail/dmc
+#usr/include/boost/preprocessor/repetition/detail/dmc/for.hpp
+#usr/include/boost/preprocessor/repetition/detail/edg
+#usr/include/boost/preprocessor/repetition/detail/edg/for.hpp
+#usr/include/boost/preprocessor/repetition/detail/for.hpp
+#usr/include/boost/preprocessor/repetition/detail/msvc
+#usr/include/boost/preprocessor/repetition/detail/msvc/for.hpp
+#usr/include/boost/preprocessor/repetition/enum.hpp
+#usr/include/boost/preprocessor/repetition/enum_binary_params.hpp
+#usr/include/boost/preprocessor/repetition/enum_params.hpp
+#usr/include/boost/preprocessor/repetition/enum_params_with_a_default.hpp
+#usr/include/boost/preprocessor/repetition/enum_params_with_defaults.hpp
+#usr/include/boost/preprocessor/repetition/enum_shifted.hpp
+#usr/include/boost/preprocessor/repetition/enum_shifted_binary_params.hpp
+#usr/include/boost/preprocessor/repetition/enum_shifted_params.hpp
+#usr/include/boost/preprocessor/repetition/enum_trailing.hpp
+#usr/include/boost/preprocessor/repetition/enum_trailing_binary_params.hpp
+#usr/include/boost/preprocessor/repetition/enum_trailing_params.hpp
+#usr/include/boost/preprocessor/repetition/for.hpp
+#usr/include/boost/preprocessor/repetition/repeat.hpp
+#usr/include/boost/preprocessor/repetition/repeat_from_to.hpp
+#usr/include/boost/preprocessor/selection
+#usr/include/boost/preprocessor/selection.hpp
+#usr/include/boost/preprocessor/selection/max.hpp
+#usr/include/boost/preprocessor/selection/min.hpp
+#usr/include/boost/preprocessor/seq
+#usr/include/boost/preprocessor/seq.hpp
+#usr/include/boost/preprocessor/seq/cat.hpp
+#usr/include/boost/preprocessor/seq/detail
+#usr/include/boost/preprocessor/seq/detail/binary_transform.hpp
+#usr/include/boost/preprocessor/seq/detail/split.hpp
+#usr/include/boost/preprocessor/seq/elem.hpp
+#usr/include/boost/preprocessor/seq/enum.hpp
+#usr/include/boost/preprocessor/seq/filter.hpp
+#usr/include/boost/preprocessor/seq/first_n.hpp
+#usr/include/boost/preprocessor/seq/fold_left.hpp
+#usr/include/boost/preprocessor/seq/fold_right.hpp
+#usr/include/boost/preprocessor/seq/for_each.hpp
+#usr/include/boost/preprocessor/seq/for_each_i.hpp
+#usr/include/boost/preprocessor/seq/for_each_product.hpp
+#usr/include/boost/preprocessor/seq/insert.hpp
+#usr/include/boost/preprocessor/seq/pop_back.hpp
+#usr/include/boost/preprocessor/seq/pop_front.hpp
+#usr/include/boost/preprocessor/seq/push_back.hpp
+#usr/include/boost/preprocessor/seq/push_front.hpp
+#usr/include/boost/preprocessor/seq/remove.hpp
+#usr/include/boost/preprocessor/seq/replace.hpp
+#usr/include/boost/preprocessor/seq/rest_n.hpp
+#usr/include/boost/preprocessor/seq/reverse.hpp
+#usr/include/boost/preprocessor/seq/seq.hpp
+#usr/include/boost/preprocessor/seq/size.hpp
+#usr/include/boost/preprocessor/seq/subseq.hpp
+#usr/include/boost/preprocessor/seq/to_array.hpp
+#usr/include/boost/preprocessor/seq/to_list.hpp
+#usr/include/boost/preprocessor/seq/to_tuple.hpp
+#usr/include/boost/preprocessor/seq/transform.hpp
+#usr/include/boost/preprocessor/slot
+#usr/include/boost/preprocessor/slot.hpp
+#usr/include/boost/preprocessor/slot/counter.hpp
+#usr/include/boost/preprocessor/slot/detail
+#usr/include/boost/preprocessor/slot/detail/counter.hpp
+#usr/include/boost/preprocessor/slot/detail/def.hpp
+#usr/include/boost/preprocessor/slot/detail/shared.hpp
+#usr/include/boost/preprocessor/slot/detail/slot1.hpp
+#usr/include/boost/preprocessor/slot/detail/slot2.hpp
+#usr/include/boost/preprocessor/slot/detail/slot3.hpp
+#usr/include/boost/preprocessor/slot/detail/slot4.hpp
+#usr/include/boost/preprocessor/slot/detail/slot5.hpp
+#usr/include/boost/preprocessor/slot/slot.hpp
+#usr/include/boost/preprocessor/stringize.hpp
+#usr/include/boost/preprocessor/tuple
+#usr/include/boost/preprocessor/tuple.hpp
+#usr/include/boost/preprocessor/tuple/eat.hpp
+#usr/include/boost/preprocessor/tuple/elem.hpp
+#usr/include/boost/preprocessor/tuple/enum.hpp
+#usr/include/boost/preprocessor/tuple/rem.hpp
+#usr/include/boost/preprocessor/tuple/reverse.hpp
+#usr/include/boost/preprocessor/tuple/size.hpp
+#usr/include/boost/preprocessor/tuple/to_array.hpp
+#usr/include/boost/preprocessor/tuple/to_list.hpp
+#usr/include/boost/preprocessor/tuple/to_seq.hpp
+#usr/include/boost/preprocessor/variadic
+#usr/include/boost/preprocessor/variadic.hpp
+#usr/include/boost/preprocessor/variadic/elem.hpp
+#usr/include/boost/preprocessor/variadic/size.hpp
+#usr/include/boost/preprocessor/variadic/to_array.hpp
+#usr/include/boost/preprocessor/variadic/to_list.hpp
+#usr/include/boost/preprocessor/variadic/to_seq.hpp
+#usr/include/boost/preprocessor/variadic/to_tuple.hpp
+#usr/include/boost/preprocessor/while.hpp
+#usr/include/boost/preprocessor/wstringize.hpp
+#usr/include/boost/program_options
+#usr/include/boost/program_options.hpp
+#usr/include/boost/program_options/cmdline.hpp
+#usr/include/boost/program_options/config.hpp
+#usr/include/boost/program_options/detail
+#usr/include/boost/program_options/detail/cmdline.hpp
+#usr/include/boost/program_options/detail/config_file.hpp
+#usr/include/boost/program_options/detail/convert.hpp
+#usr/include/boost/program_options/detail/parsers.hpp
+#usr/include/boost/program_options/detail/utf8_codecvt_facet.hpp
+#usr/include/boost/program_options/detail/value_semantic.hpp
+#usr/include/boost/program_options/environment_iterator.hpp
+#usr/include/boost/program_options/eof_iterator.hpp
+#usr/include/boost/program_options/errors.hpp
+#usr/include/boost/program_options/option.hpp
+#usr/include/boost/program_options/options_description.hpp
+#usr/include/boost/program_options/parsers.hpp
+#usr/include/boost/program_options/positional_options.hpp
+#usr/include/boost/program_options/value_semantic.hpp
+#usr/include/boost/program_options/variables_map.hpp
+#usr/include/boost/program_options/version.hpp
+#usr/include/boost/progress.hpp
+#usr/include/boost/property_map
+#usr/include/boost/property_map/compose_property_map.hpp
+#usr/include/boost/property_map/dynamic_property_map.hpp
+#usr/include/boost/property_map/function_property_map.hpp
+#usr/include/boost/property_map/parallel
+#usr/include/boost/property_map/parallel/caching_property_map.hpp
+#usr/include/boost/property_map/parallel/distributed_property_map.hpp
+#usr/include/boost/property_map/parallel/global_index_map.hpp
+#usr/include/boost/property_map/parallel/impl
+#usr/include/boost/property_map/parallel/impl/distributed_property_map.ipp
+#usr/include/boost/property_map/parallel/local_property_map.hpp
+#usr/include/boost/property_map/property_map.hpp
+#usr/include/boost/property_map/property_map_iterator.hpp
+#usr/include/boost/property_map/shared_array_property_map.hpp
+#usr/include/boost/property_map/transform_value_property_map.hpp
+#usr/include/boost/property_map/vector_property_map.hpp
+#usr/include/boost/property_tree
+#usr/include/boost/property_tree/detail
+#usr/include/boost/property_tree/detail/exception_implementation.hpp
+#usr/include/boost/property_tree/detail/file_parser_error.hpp
+#usr/include/boost/property_tree/detail/info_parser_error.hpp
+#usr/include/boost/property_tree/detail/info_parser_read.hpp
+#usr/include/boost/property_tree/detail/info_parser_utils.hpp
+#usr/include/boost/property_tree/detail/info_parser_write.hpp
+#usr/include/boost/property_tree/detail/info_parser_writer_settings.hpp
+#usr/include/boost/property_tree/detail/json_parser_error.hpp
+#usr/include/boost/property_tree/detail/json_parser_read.hpp
+#usr/include/boost/property_tree/detail/json_parser_write.hpp
+#usr/include/boost/property_tree/detail/ptree_implementation.hpp
+#usr/include/boost/property_tree/detail/ptree_utils.hpp
+#usr/include/boost/property_tree/detail/rapidxml.hpp
+#usr/include/boost/property_tree/detail/xml_parser_error.hpp
+#usr/include/boost/property_tree/detail/xml_parser_flags.hpp
+#usr/include/boost/property_tree/detail/xml_parser_read_rapidxml.hpp
+#usr/include/boost/property_tree/detail/xml_parser_utils.hpp
+#usr/include/boost/property_tree/detail/xml_parser_write.hpp
+#usr/include/boost/property_tree/detail/xml_parser_writer_settings.hpp
+#usr/include/boost/property_tree/exceptions.hpp
+#usr/include/boost/property_tree/id_translator.hpp
+#usr/include/boost/property_tree/info_parser.hpp
+#usr/include/boost/property_tree/ini_parser.hpp
+#usr/include/boost/property_tree/json_parser.hpp
+#usr/include/boost/property_tree/ptree.hpp
+#usr/include/boost/property_tree/ptree_fwd.hpp
+#usr/include/boost/property_tree/ptree_serialization.hpp
+#usr/include/boost/property_tree/stream_translator.hpp
+#usr/include/boost/property_tree/string_path.hpp
+#usr/include/boost/property_tree/xml_parser.hpp
+#usr/include/boost/proto
+#usr/include/boost/proto/args.hpp
+#usr/include/boost/proto/context
+#usr/include/boost/proto/context.hpp
+#usr/include/boost/proto/context/callable.hpp
+#usr/include/boost/proto/context/default.hpp
+#usr/include/boost/proto/context/detail
+#usr/include/boost/proto/context/detail/callable_eval.hpp
+#usr/include/boost/proto/context/detail/default_eval.hpp
+#usr/include/boost/proto/context/detail/null_eval.hpp
+#usr/include/boost/proto/context/detail/preprocessed
+#usr/include/boost/proto/context/detail/preprocessed/callable_eval.hpp
+#usr/include/boost/proto/context/detail/preprocessed/default_eval.hpp
+#usr/include/boost/proto/context/detail/preprocessed/null_eval.hpp
+#usr/include/boost/proto/context/null.hpp
+#usr/include/boost/proto/core.hpp
+#usr/include/boost/proto/debug.hpp
+#usr/include/boost/proto/deep_copy.hpp
+#usr/include/boost/proto/detail
+#usr/include/boost/proto/detail/and_n.hpp
+#usr/include/boost/proto/detail/any.hpp
+#usr/include/boost/proto/detail/args.hpp
+#usr/include/boost/proto/detail/as_expr.hpp
+#usr/include/boost/proto/detail/as_lvalue.hpp
+#usr/include/boost/proto/detail/basic_expr.hpp
+#usr/include/boost/proto/detail/class_member_traits.hpp
+#usr/include/boost/proto/detail/decltype.hpp
+#usr/include/boost/proto/detail/deduce_domain.hpp
+#usr/include/boost/proto/detail/deduce_domain_n.hpp
+#usr/include/boost/proto/detail/deep_copy.hpp
+#usr/include/boost/proto/detail/deprecated.hpp
+#usr/include/boost/proto/detail/dont_care.hpp
+#usr/include/boost/proto/detail/expr.hpp
+#usr/include/boost/proto/detail/expr_funop.hpp
+#usr/include/boost/proto/detail/extends_funop.hpp
+#usr/include/boost/proto/detail/extends_funop_const.hpp
+#usr/include/boost/proto/detail/funop.hpp
+#usr/include/boost/proto/detail/generate_by_value.hpp
+#usr/include/boost/proto/detail/ignore_unused.hpp
+#usr/include/boost/proto/detail/is_noncopyable.hpp
+#usr/include/boost/proto/detail/lambda_matches.hpp
+#usr/include/boost/proto/detail/local.hpp
+#usr/include/boost/proto/detail/make_expr.hpp
+#usr/include/boost/proto/detail/make_expr_.hpp
+#usr/include/boost/proto/detail/make_expr_funop.hpp
+#usr/include/boost/proto/detail/matches_.hpp
+#usr/include/boost/proto/detail/memfun_funop.hpp
+#usr/include/boost/proto/detail/or_n.hpp
+#usr/include/boost/proto/detail/poly_function.hpp
+#usr/include/boost/proto/detail/poly_function_funop.hpp
+#usr/include/boost/proto/detail/poly_function_traits.hpp
+#usr/include/boost/proto/detail/preprocessed
+#usr/include/boost/proto/detail/preprocessed/and_n.hpp
+#usr/include/boost/proto/detail/preprocessed/args.hpp
+#usr/include/boost/proto/detail/preprocessed/basic_expr.hpp
+#usr/include/boost/proto/detail/preprocessed/class_member_traits.hpp
+#usr/include/boost/proto/detail/preprocessed/deduce_domain_n.hpp
+#usr/include/boost/proto/detail/preprocessed/deep_copy.hpp
+#usr/include/boost/proto/detail/preprocessed/expr.hpp
+#usr/include/boost/proto/detail/preprocessed/expr_variadic.hpp
+#usr/include/boost/proto/detail/preprocessed/extends_funop.hpp
+#usr/include/boost/proto/detail/preprocessed/extends_funop_const.hpp
+#usr/include/boost/proto/detail/preprocessed/funop.hpp
+#usr/include/boost/proto/detail/preprocessed/generate_by_value.hpp
+#usr/include/boost/proto/detail/preprocessed/lambda_matches.hpp
+#usr/include/boost/proto/detail/preprocessed/make_expr.hpp
+#usr/include/boost/proto/detail/preprocessed/make_expr_.hpp
+#usr/include/boost/proto/detail/preprocessed/make_expr_funop.hpp
+#usr/include/boost/proto/detail/preprocessed/matches_.hpp
+#usr/include/boost/proto/detail/preprocessed/memfun_funop.hpp
+#usr/include/boost/proto/detail/preprocessed/or_n.hpp
+#usr/include/boost/proto/detail/preprocessed/poly_function_funop.hpp
+#usr/include/boost/proto/detail/preprocessed/poly_function_traits.hpp
+#usr/include/boost/proto/detail/preprocessed/template_arity_helper.hpp
+#usr/include/boost/proto/detail/preprocessed/traits.hpp
+#usr/include/boost/proto/detail/preprocessed/unpack_expr_.hpp
+#usr/include/boost/proto/detail/preprocessed/vararg_matches_impl.hpp
+#usr/include/boost/proto/detail/remove_typename.hpp
+#usr/include/boost/proto/detail/static_const.hpp
+#usr/include/boost/proto/detail/template_arity.hpp
+#usr/include/boost/proto/detail/template_arity_helper.hpp
+#usr/include/boost/proto/detail/traits.hpp
+#usr/include/boost/proto/detail/unpack_expr_.hpp
+#usr/include/boost/proto/detail/vararg_matches_impl.hpp
+#usr/include/boost/proto/domain.hpp
+#usr/include/boost/proto/eval.hpp
+#usr/include/boost/proto/expr.hpp
+#usr/include/boost/proto/extends.hpp
+#usr/include/boost/proto/functional
+#usr/include/boost/proto/functional.hpp
+#usr/include/boost/proto/functional/fusion
+#usr/include/boost/proto/functional/fusion.hpp
+#usr/include/boost/proto/functional/fusion/at.hpp
+#usr/include/boost/proto/functional/fusion/pop_back.hpp
+#usr/include/boost/proto/functional/fusion/pop_front.hpp
+#usr/include/boost/proto/functional/fusion/push_back.hpp
+#usr/include/boost/proto/functional/fusion/push_front.hpp
+#usr/include/boost/proto/functional/fusion/reverse.hpp
+#usr/include/boost/proto/functional/range
+#usr/include/boost/proto/functional/range.hpp
+#usr/include/boost/proto/functional/range/begin.hpp
+#usr/include/boost/proto/functional/range/empty.hpp
+#usr/include/boost/proto/functional/range/end.hpp
+#usr/include/boost/proto/functional/range/rbegin.hpp
+#usr/include/boost/proto/functional/range/rend.hpp
+#usr/include/boost/proto/functional/range/size.hpp
+#usr/include/boost/proto/functional/std
+#usr/include/boost/proto/functional/std.hpp
+#usr/include/boost/proto/functional/std/iterator.hpp
+#usr/include/boost/proto/functional/std/utility.hpp
+#usr/include/boost/proto/fusion.hpp
+#usr/include/boost/proto/generate.hpp
+#usr/include/boost/proto/literal.hpp
+#usr/include/boost/proto/make_expr.hpp
+#usr/include/boost/proto/matches.hpp
+#usr/include/boost/proto/operators.hpp
+#usr/include/boost/proto/proto.hpp
+#usr/include/boost/proto/proto_fwd.hpp
+#usr/include/boost/proto/proto_typeof.hpp
+#usr/include/boost/proto/repeat.hpp
+#usr/include/boost/proto/tags.hpp
+#usr/include/boost/proto/traits.hpp
+#usr/include/boost/proto/transform
+#usr/include/boost/proto/transform.hpp
+#usr/include/boost/proto/transform/arg.hpp
+#usr/include/boost/proto/transform/call.hpp
+#usr/include/boost/proto/transform/default.hpp
+#usr/include/boost/proto/transform/detail
+#usr/include/boost/proto/transform/detail/call.hpp
+#usr/include/boost/proto/transform/detail/construct_funop.hpp
+#usr/include/boost/proto/transform/detail/construct_pod_funop.hpp
+#usr/include/boost/proto/transform/detail/default_function_impl.hpp
+#usr/include/boost/proto/transform/detail/expand_pack.hpp
+#usr/include/boost/proto/transform/detail/fold_impl.hpp
+#usr/include/boost/proto/transform/detail/lazy.hpp
+#usr/include/boost/proto/transform/detail/make.hpp
+#usr/include/boost/proto/transform/detail/make_gcc_workaround.hpp
+#usr/include/boost/proto/transform/detail/pack.hpp
+#usr/include/boost/proto/transform/detail/pack_impl.hpp
+#usr/include/boost/proto/transform/detail/pass_through_impl.hpp
+#usr/include/boost/proto/transform/detail/preprocessed
+#usr/include/boost/proto/transform/detail/preprocessed/call.hpp
+#usr/include/boost/proto/transform/detail/preprocessed/construct_funop.hpp
+#usr/include/boost/proto/transform/detail/preprocessed/construct_pod_funop.hpp
+#usr/include/boost/proto/transform/detail/preprocessed/default_function_impl.hpp
+#usr/include/boost/proto/transform/detail/preprocessed/expand_pack.hpp
+#usr/include/boost/proto/transform/detail/preprocessed/fold_impl.hpp
+#usr/include/boost/proto/transform/detail/preprocessed/lazy.hpp
+#usr/include/boost/proto/transform/detail/preprocessed/make.hpp
+#usr/include/boost/proto/transform/detail/preprocessed/make_gcc_workaround.hpp
+#usr/include/boost/proto/transform/detail/preprocessed/pack_impl.hpp
+#usr/include/boost/proto/transform/detail/preprocessed/pass_through_impl.hpp
+#usr/include/boost/proto/transform/detail/preprocessed/when.hpp
+#usr/include/boost/proto/transform/detail/when.hpp
+#usr/include/boost/proto/transform/env.hpp
+#usr/include/boost/proto/transform/fold.hpp
+#usr/include/boost/proto/transform/fold_tree.hpp
+#usr/include/boost/proto/transform/impl.hpp
+#usr/include/boost/proto/transform/integral_c.hpp
+#usr/include/boost/proto/transform/lazy.hpp
+#usr/include/boost/proto/transform/make.hpp
+#usr/include/boost/proto/transform/pass_through.hpp
+#usr/include/boost/proto/transform/when.hpp
+#usr/include/boost/ptr_container
+#usr/include/boost/ptr_container/clone_allocator.hpp
+#usr/include/boost/ptr_container/detail
+#usr/include/boost/ptr_container/detail/associative_ptr_container.hpp
+#usr/include/boost/ptr_container/detail/default_deleter.hpp
+#usr/include/boost/ptr_container/detail/is_convertible.hpp
+#usr/include/boost/ptr_container/detail/map_iterator.hpp
+#usr/include/boost/ptr_container/detail/meta_functions.hpp
+#usr/include/boost/ptr_container/detail/move.hpp
+#usr/include/boost/ptr_container/detail/reversible_ptr_container.hpp
+#usr/include/boost/ptr_container/detail/scoped_deleter.hpp
+#usr/include/boost/ptr_container/detail/serialize_ptr_map_adapter.hpp
+#usr/include/boost/ptr_container/detail/serialize_reversible_cont.hpp
+#usr/include/boost/ptr_container/detail/serialize_xml_names.hpp
+#usr/include/boost/ptr_container/detail/static_move_ptr.hpp
+#usr/include/boost/ptr_container/detail/throw_exception.hpp
+#usr/include/boost/ptr_container/detail/void_ptr_iterator.hpp
+#usr/include/boost/ptr_container/exception.hpp
+#usr/include/boost/ptr_container/indirect_fun.hpp
+#usr/include/boost/ptr_container/nullable.hpp
+#usr/include/boost/ptr_container/ptr_array.hpp
+#usr/include/boost/ptr_container/ptr_circular_buffer.hpp
+#usr/include/boost/ptr_container/ptr_container.hpp
+#usr/include/boost/ptr_container/ptr_deque.hpp
+#usr/include/boost/ptr_container/ptr_inserter.hpp
+#usr/include/boost/ptr_container/ptr_list.hpp
+#usr/include/boost/ptr_container/ptr_map.hpp
+#usr/include/boost/ptr_container/ptr_map_adapter.hpp
+#usr/include/boost/ptr_container/ptr_sequence_adapter.hpp
+#usr/include/boost/ptr_container/ptr_set.hpp
+#usr/include/boost/ptr_container/ptr_set_adapter.hpp
+#usr/include/boost/ptr_container/ptr_unordered_map.hpp
+#usr/include/boost/ptr_container/ptr_unordered_set.hpp
+#usr/include/boost/ptr_container/ptr_vector.hpp
+#usr/include/boost/ptr_container/serialize_ptr_array.hpp
+#usr/include/boost/ptr_container/serialize_ptr_circular_buffer.hpp
+#usr/include/boost/ptr_container/serialize_ptr_container.hpp
+#usr/include/boost/ptr_container/serialize_ptr_deque.hpp
+#usr/include/boost/ptr_container/serialize_ptr_list.hpp
+#usr/include/boost/ptr_container/serialize_ptr_map.hpp
+#usr/include/boost/ptr_container/serialize_ptr_set.hpp
+#usr/include/boost/ptr_container/serialize_ptr_unordered_map.hpp
+#usr/include/boost/ptr_container/serialize_ptr_unordered_set.hpp
+#usr/include/boost/ptr_container/serialize_ptr_vector.hpp
+#usr/include/boost/python
+#usr/include/boost/python.hpp
+#usr/include/boost/python/arg_from_python.hpp
+#usr/include/boost/python/args.hpp
+#usr/include/boost/python/args_fwd.hpp
+#usr/include/boost/python/back_reference.hpp
+#usr/include/boost/python/base_type_traits.hpp
+#usr/include/boost/python/bases.hpp
+#usr/include/boost/python/borrowed.hpp
+#usr/include/boost/python/call.hpp
+#usr/include/boost/python/call_method.hpp
+#usr/include/boost/python/cast.hpp
+#usr/include/boost/python/class.hpp
+#usr/include/boost/python/class_fwd.hpp
+#usr/include/boost/python/converter
+#usr/include/boost/python/converter/arg_from_python.hpp
+#usr/include/boost/python/converter/arg_to_python.hpp
+#usr/include/boost/python/converter/arg_to_python_base.hpp
+#usr/include/boost/python/converter/as_to_python_function.hpp
+#usr/include/boost/python/converter/builtin_converters.hpp
+#usr/include/boost/python/converter/constructor_function.hpp
+#usr/include/boost/python/converter/context_result_converter.hpp
+#usr/include/boost/python/converter/convertible_function.hpp
+#usr/include/boost/python/converter/from_python.hpp
+#usr/include/boost/python/converter/implicit.hpp
+#usr/include/boost/python/converter/obj_mgr_arg_from_python.hpp
+#usr/include/boost/python/converter/object_manager.hpp
+#usr/include/boost/python/converter/pointer_type_id.hpp
+#usr/include/boost/python/converter/pyobject_traits.hpp
+#usr/include/boost/python/converter/pyobject_type.hpp
+#usr/include/boost/python/converter/pytype_function.hpp
+#usr/include/boost/python/converter/pytype_object_mgr_traits.hpp
+#usr/include/boost/python/converter/registered.hpp
+#usr/include/boost/python/converter/registered_pointee.hpp
+#usr/include/boost/python/converter/registrations.hpp
+#usr/include/boost/python/converter/registry.hpp
+#usr/include/boost/python/converter/return_from_python.hpp
+#usr/include/boost/python/converter/rvalue_from_python_data.hpp
+#usr/include/boost/python/converter/shared_ptr_deleter.hpp
+#usr/include/boost/python/converter/shared_ptr_from_python.hpp
+#usr/include/boost/python/converter/shared_ptr_to_python.hpp
+#usr/include/boost/python/converter/to_python_function_type.hpp
+#usr/include/boost/python/copy_const_reference.hpp
+#usr/include/boost/python/copy_non_const_reference.hpp
+#usr/include/boost/python/data_members.hpp
+#usr/include/boost/python/def.hpp
+#usr/include/boost/python/def_visitor.hpp
+#usr/include/boost/python/default_call_policies.hpp
+#usr/include/boost/python/detail
+#usr/include/boost/python/detail/aix_init_module.hpp
+#usr/include/boost/python/detail/api_placeholder.hpp
+#usr/include/boost/python/detail/borrowed_ptr.hpp
+#usr/include/boost/python/detail/caller.hpp
+#usr/include/boost/python/detail/config.hpp
+#usr/include/boost/python/detail/construct.hpp
+#usr/include/boost/python/detail/convertible.hpp
+#usr/include/boost/python/detail/copy_ctor_mutates_rhs.hpp
+#usr/include/boost/python/detail/cv_category.hpp
+#usr/include/boost/python/detail/dealloc.hpp
+#usr/include/boost/python/detail/decorated_type_id.hpp
+#usr/include/boost/python/detail/decref_guard.hpp
+#usr/include/boost/python/detail/def_helper.hpp
+#usr/include/boost/python/detail/def_helper_fwd.hpp
+#usr/include/boost/python/detail/defaults_def.hpp
+#usr/include/boost/python/detail/defaults_gen.hpp
+#usr/include/boost/python/detail/dependent.hpp
+#usr/include/boost/python/detail/destroy.hpp
+#usr/include/boost/python/detail/enable_if.hpp
+#usr/include/boost/python/detail/exception_handler.hpp
+#usr/include/boost/python/detail/force_instantiate.hpp
+#usr/include/boost/python/detail/if_else.hpp
+#usr/include/boost/python/detail/indirect_traits.hpp
+#usr/include/boost/python/detail/invoke.hpp
+#usr/include/boost/python/detail/is_auto_ptr.hpp
+#usr/include/boost/python/detail/is_shared_ptr.hpp
+#usr/include/boost/python/detail/is_wrapper.hpp
+#usr/include/boost/python/detail/is_xxx.hpp
+#usr/include/boost/python/detail/make_keyword_range_fn.hpp
+#usr/include/boost/python/detail/make_tuple.hpp
+#usr/include/boost/python/detail/map_entry.hpp
+#usr/include/boost/python/detail/mpl_lambda.hpp
+#usr/include/boost/python/detail/msvc_typeinfo.hpp
+#usr/include/boost/python/detail/none.hpp
+#usr/include/boost/python/detail/not_specified.hpp
+#usr/include/boost/python/detail/nullary_function_adaptor.hpp
+#usr/include/boost/python/detail/operator_id.hpp
+#usr/include/boost/python/detail/overloads_fwd.hpp
+#usr/include/boost/python/detail/pointee.hpp
+#usr/include/boost/python/detail/prefix.hpp
+#usr/include/boost/python/detail/preprocessor.hpp
+#usr/include/boost/python/detail/python22_fixed.h
+#usr/include/boost/python/detail/python_type.hpp
+#usr/include/boost/python/detail/raw_pyobject.hpp
+#usr/include/boost/python/detail/referent_storage.hpp
+#usr/include/boost/python/detail/result.hpp
+#usr/include/boost/python/detail/scope.hpp
+#usr/include/boost/python/detail/sfinae.hpp
+#usr/include/boost/python/detail/signature.hpp
+#usr/include/boost/python/detail/string_literal.hpp
+#usr/include/boost/python/detail/target.hpp
+#usr/include/boost/python/detail/translate_exception.hpp
+#usr/include/boost/python/detail/type_list.hpp
+#usr/include/boost/python/detail/type_list_impl.hpp
+#usr/include/boost/python/detail/type_list_impl_no_pts.hpp
+#usr/include/boost/python/detail/unwind_type.hpp
+#usr/include/boost/python/detail/unwrap_type_id.hpp
+#usr/include/boost/python/detail/unwrap_wrapper.hpp
+#usr/include/boost/python/detail/value_arg.hpp
+#usr/include/boost/python/detail/value_is_shared_ptr.hpp
+#usr/include/boost/python/detail/value_is_xxx.hpp
+#usr/include/boost/python/detail/void_ptr.hpp
+#usr/include/boost/python/detail/void_return.hpp
+#usr/include/boost/python/detail/wrap_python.hpp
+#usr/include/boost/python/detail/wrapper_base.hpp
+#usr/include/boost/python/dict.hpp
+#usr/include/boost/python/docstring_options.hpp
+#usr/include/boost/python/enum.hpp
+#usr/include/boost/python/errors.hpp
+#usr/include/boost/python/exception_translator.hpp
+#usr/include/boost/python/exec.hpp
+#usr/include/boost/python/extract.hpp
+#usr/include/boost/python/handle.hpp
+#usr/include/boost/python/handle_fwd.hpp
+#usr/include/boost/python/has_back_reference.hpp
+#usr/include/boost/python/implicit.hpp
+#usr/include/boost/python/import.hpp
+#usr/include/boost/python/init.hpp
+#usr/include/boost/python/instance_holder.hpp
+#usr/include/boost/python/iterator.hpp
+#usr/include/boost/python/list.hpp
+#usr/include/boost/python/long.hpp
+#usr/include/boost/python/lvalue_from_pytype.hpp
+#usr/include/boost/python/make_constructor.hpp
+#usr/include/boost/python/make_function.hpp
+#usr/include/boost/python/manage_new_object.hpp
+#usr/include/boost/python/module.hpp
+#usr/include/boost/python/module_init.hpp
+#usr/include/boost/python/numeric.hpp
+#usr/include/boost/python/object
+#usr/include/boost/python/object.hpp
+#usr/include/boost/python/object/add_to_namespace.hpp
+#usr/include/boost/python/object/class.hpp
+#usr/include/boost/python/object/class_detail.hpp
+#usr/include/boost/python/object/class_metadata.hpp
+#usr/include/boost/python/object/class_wrapper.hpp
+#usr/include/boost/python/object/enum_base.hpp
+#usr/include/boost/python/object/find_instance.hpp
+#usr/include/boost/python/object/forward.hpp
+#usr/include/boost/python/object/function.hpp
+#usr/include/boost/python/object/function_doc_signature.hpp
+#usr/include/boost/python/object/function_handle.hpp
+#usr/include/boost/python/object/function_object.hpp
+#usr/include/boost/python/object/inheritance.hpp
+#usr/include/boost/python/object/inheritance_query.hpp
+#usr/include/boost/python/object/instance.hpp
+#usr/include/boost/python/object/iterator.hpp
+#usr/include/boost/python/object/iterator_core.hpp
+#usr/include/boost/python/object/life_support.hpp
+#usr/include/boost/python/object/make_holder.hpp
+#usr/include/boost/python/object/make_instance.hpp
+#usr/include/boost/python/object/make_ptr_instance.hpp
+#usr/include/boost/python/object/pickle_support.hpp
+#usr/include/boost/python/object/pointer_holder.hpp
+#usr/include/boost/python/object/py_function.hpp
+#usr/include/boost/python/object/stl_iterator_core.hpp
+#usr/include/boost/python/object/value_holder.hpp
+#usr/include/boost/python/object/value_holder_fwd.hpp
+#usr/include/boost/python/object_attributes.hpp
+#usr/include/boost/python/object_call.hpp
+#usr/include/boost/python/object_core.hpp
+#usr/include/boost/python/object_fwd.hpp
+#usr/include/boost/python/object_items.hpp
+#usr/include/boost/python/object_operators.hpp
+#usr/include/boost/python/object_protocol.hpp
+#usr/include/boost/python/object_protocol_core.hpp
+#usr/include/boost/python/object_slices.hpp
+#usr/include/boost/python/opaque_pointer_converter.hpp
+#usr/include/boost/python/operators.hpp
+#usr/include/boost/python/other.hpp
+#usr/include/boost/python/overloads.hpp
+#usr/include/boost/python/override.hpp
+#usr/include/boost/python/pointee.hpp
+#usr/include/boost/python/proxy.hpp
+#usr/include/boost/python/ptr.hpp
+#usr/include/boost/python/pure_virtual.hpp
+#usr/include/boost/python/raw_function.hpp
+#usr/include/boost/python/refcount.hpp
+#usr/include/boost/python/reference_existing_object.hpp
+#usr/include/boost/python/register_ptr_to_python.hpp
+#usr/include/boost/python/return_arg.hpp
+#usr/include/boost/python/return_by_value.hpp
+#usr/include/boost/python/return_internal_reference.hpp
+#usr/include/boost/python/return_opaque_pointer.hpp
+#usr/include/boost/python/return_value_policy.hpp
+#usr/include/boost/python/scope.hpp
+#usr/include/boost/python/self.hpp
+#usr/include/boost/python/signature.hpp
+#usr/include/boost/python/slice.hpp
+#usr/include/boost/python/slice_nil.hpp
+#usr/include/boost/python/ssize_t.hpp
+#usr/include/boost/python/stl_iterator.hpp
+#usr/include/boost/python/str.hpp
+#usr/include/boost/python/suite
+#usr/include/boost/python/suite/indexing
+#usr/include/boost/python/suite/indexing/container_utils.hpp
+#usr/include/boost/python/suite/indexing/detail
+#usr/include/boost/python/suite/indexing/detail/indexing_suite_detail.hpp
+#usr/include/boost/python/suite/indexing/indexing_suite.hpp
+#usr/include/boost/python/suite/indexing/map_indexing_suite.hpp
+#usr/include/boost/python/suite/indexing/vector_indexing_suite.hpp
+#usr/include/boost/python/tag.hpp
+#usr/include/boost/python/to_python_converter.hpp
+#usr/include/boost/python/to_python_indirect.hpp
+#usr/include/boost/python/to_python_value.hpp
+#usr/include/boost/python/tuple.hpp
+#usr/include/boost/python/type_id.hpp
+#usr/include/boost/python/with_custodian_and_ward.hpp
+#usr/include/boost/python/wrapper.hpp
+#usr/include/boost/random
+#usr/include/boost/random.hpp
+#usr/include/boost/random/additive_combine.hpp
+#usr/include/boost/random/bernoulli_distribution.hpp
+#usr/include/boost/random/binomial_distribution.hpp
+#usr/include/boost/random/cauchy_distribution.hpp
+#usr/include/boost/random/chi_squared_distribution.hpp
+#usr/include/boost/random/detail
+#usr/include/boost/random/detail/auto_link.hpp
+#usr/include/boost/random/detail/config.hpp
+#usr/include/boost/random/detail/const_mod.hpp
+#usr/include/boost/random/detail/disable_warnings.hpp
+#usr/include/boost/random/detail/enable_warnings.hpp
+#usr/include/boost/random/detail/generator_bits.hpp
+#usr/include/boost/random/detail/generator_seed_seq.hpp
+#usr/include/boost/random/detail/integer_log2.hpp
+#usr/include/boost/random/detail/iterator_mixin.hpp
+#usr/include/boost/random/detail/large_arithmetic.hpp
+#usr/include/boost/random/detail/operators.hpp
+#usr/include/boost/random/detail/ptr_helper.hpp
+#usr/include/boost/random/detail/seed.hpp
+#usr/include/boost/random/detail/seed_impl.hpp
+#usr/include/boost/random/detail/signed_unsigned_tools.hpp
+#usr/include/boost/random/detail/uniform_int_float.hpp
+#usr/include/boost/random/detail/vector_io.hpp
+#usr/include/boost/random/discard_block.hpp
+#usr/include/boost/random/discrete_distribution.hpp
+#usr/include/boost/random/exponential_distribution.hpp
+#usr/include/boost/random/extreme_value_distribution.hpp
+#usr/include/boost/random/fisher_f_distribution.hpp
+#usr/include/boost/random/gamma_distribution.hpp
+#usr/include/boost/random/generate_canonical.hpp
+#usr/include/boost/random/geometric_distribution.hpp
+#usr/include/boost/random/independent_bits.hpp
+#usr/include/boost/random/inversive_congruential.hpp
+#usr/include/boost/random/lagged_fibonacci.hpp
+#usr/include/boost/random/linear_congruential.hpp
+#usr/include/boost/random/linear_feedback_shift.hpp
+#usr/include/boost/random/lognormal_distribution.hpp
+#usr/include/boost/random/mersenne_twister.hpp
+#usr/include/boost/random/negative_binomial_distribution.hpp
+#usr/include/boost/random/normal_distribution.hpp
+#usr/include/boost/random/piecewise_constant_distribution.hpp
+#usr/include/boost/random/piecewise_linear_distribution.hpp
+#usr/include/boost/random/poisson_distribution.hpp
+#usr/include/boost/random/random_device.hpp
+#usr/include/boost/random/random_number_generator.hpp
+#usr/include/boost/random/ranlux.hpp
+#usr/include/boost/random/seed_seq.hpp
+#usr/include/boost/random/shuffle_order.hpp
+#usr/include/boost/random/shuffle_output.hpp
+#usr/include/boost/random/student_t_distribution.hpp
+#usr/include/boost/random/subtract_with_carry.hpp
+#usr/include/boost/random/taus88.hpp
+#usr/include/boost/random/triangle_distribution.hpp
+#usr/include/boost/random/uniform_01.hpp
+#usr/include/boost/random/uniform_int.hpp
+#usr/include/boost/random/uniform_int_distribution.hpp
+#usr/include/boost/random/uniform_on_sphere.hpp
+#usr/include/boost/random/uniform_real.hpp
+#usr/include/boost/random/uniform_real_distribution.hpp
+#usr/include/boost/random/uniform_smallint.hpp
+#usr/include/boost/random/variate_generator.hpp
+#usr/include/boost/random/weibull_distribution.hpp
+#usr/include/boost/random/xor_combine.hpp
+#usr/include/boost/range
+#usr/include/boost/range.hpp
+#usr/include/boost/range/adaptor
+#usr/include/boost/range/adaptor/adjacent_filtered.hpp
+#usr/include/boost/range/adaptor/argument_fwd.hpp
+#usr/include/boost/range/adaptor/copied.hpp
+#usr/include/boost/range/adaptor/define_adaptor.hpp
+#usr/include/boost/range/adaptor/filtered.hpp
+#usr/include/boost/range/adaptor/indexed.hpp
+#usr/include/boost/range/adaptor/indirected.hpp
+#usr/include/boost/range/adaptor/map.hpp
+#usr/include/boost/range/adaptor/replaced.hpp
+#usr/include/boost/range/adaptor/replaced_if.hpp
+#usr/include/boost/range/adaptor/reversed.hpp
+#usr/include/boost/range/adaptor/sliced.hpp
+#usr/include/boost/range/adaptor/strided.hpp
+#usr/include/boost/range/adaptor/tokenized.hpp
+#usr/include/boost/range/adaptor/transformed.hpp
+#usr/include/boost/range/adaptor/type_erased.hpp
+#usr/include/boost/range/adaptor/uniqued.hpp
+#usr/include/boost/range/adaptors.hpp
+#usr/include/boost/range/algorithm
+#usr/include/boost/range/algorithm.hpp
+#usr/include/boost/range/algorithm/adjacent_find.hpp
+#usr/include/boost/range/algorithm/binary_search.hpp
+#usr/include/boost/range/algorithm/copy.hpp
+#usr/include/boost/range/algorithm/copy_backward.hpp
+#usr/include/boost/range/algorithm/count.hpp
+#usr/include/boost/range/algorithm/count_if.hpp
+#usr/include/boost/range/algorithm/equal.hpp
+#usr/include/boost/range/algorithm/equal_range.hpp
+#usr/include/boost/range/algorithm/fill.hpp
+#usr/include/boost/range/algorithm/fill_n.hpp
+#usr/include/boost/range/algorithm/find.hpp
+#usr/include/boost/range/algorithm/find_end.hpp
+#usr/include/boost/range/algorithm/find_first_of.hpp
+#usr/include/boost/range/algorithm/find_if.hpp
+#usr/include/boost/range/algorithm/for_each.hpp
+#usr/include/boost/range/algorithm/generate.hpp
+#usr/include/boost/range/algorithm/heap_algorithm.hpp
+#usr/include/boost/range/algorithm/inplace_merge.hpp
+#usr/include/boost/range/algorithm/lexicographical_compare.hpp
+#usr/include/boost/range/algorithm/lower_bound.hpp
+#usr/include/boost/range/algorithm/max_element.hpp
+#usr/include/boost/range/algorithm/merge.hpp
+#usr/include/boost/range/algorithm/min_element.hpp
+#usr/include/boost/range/algorithm/mismatch.hpp
+#usr/include/boost/range/algorithm/nth_element.hpp
+#usr/include/boost/range/algorithm/partial_sort.hpp
+#usr/include/boost/range/algorithm/partial_sort_copy.hpp
+#usr/include/boost/range/algorithm/partition.hpp
+#usr/include/boost/range/algorithm/permutation.hpp
+#usr/include/boost/range/algorithm/random_shuffle.hpp
+#usr/include/boost/range/algorithm/remove.hpp
+#usr/include/boost/range/algorithm/remove_copy.hpp
+#usr/include/boost/range/algorithm/remove_copy_if.hpp
+#usr/include/boost/range/algorithm/remove_if.hpp
+#usr/include/boost/range/algorithm/replace.hpp
+#usr/include/boost/range/algorithm/replace_copy.hpp
+#usr/include/boost/range/algorithm/replace_copy_if.hpp
+#usr/include/boost/range/algorithm/replace_if.hpp
+#usr/include/boost/range/algorithm/reverse.hpp
+#usr/include/boost/range/algorithm/reverse_copy.hpp
+#usr/include/boost/range/algorithm/rotate.hpp
+#usr/include/boost/range/algorithm/rotate_copy.hpp
+#usr/include/boost/range/algorithm/search.hpp
+#usr/include/boost/range/algorithm/search_n.hpp
+#usr/include/boost/range/algorithm/set_algorithm.hpp
+#usr/include/boost/range/algorithm/sort.hpp
+#usr/include/boost/range/algorithm/stable_partition.hpp
+#usr/include/boost/range/algorithm/stable_sort.hpp
+#usr/include/boost/range/algorithm/swap_ranges.hpp
+#usr/include/boost/range/algorithm/transform.hpp
+#usr/include/boost/range/algorithm/unique.hpp
+#usr/include/boost/range/algorithm/unique_copy.hpp
+#usr/include/boost/range/algorithm/upper_bound.hpp
+#usr/include/boost/range/algorithm_ext
+#usr/include/boost/range/algorithm_ext.hpp
+#usr/include/boost/range/algorithm_ext/copy_n.hpp
+#usr/include/boost/range/algorithm_ext/erase.hpp
+#usr/include/boost/range/algorithm_ext/for_each.hpp
+#usr/include/boost/range/algorithm_ext/insert.hpp
+#usr/include/boost/range/algorithm_ext/iota.hpp
+#usr/include/boost/range/algorithm_ext/is_sorted.hpp
+#usr/include/boost/range/algorithm_ext/overwrite.hpp
+#usr/include/boost/range/algorithm_ext/push_back.hpp
+#usr/include/boost/range/algorithm_ext/push_front.hpp
+#usr/include/boost/range/any_range.hpp
+#usr/include/boost/range/as_array.hpp
+#usr/include/boost/range/as_literal.hpp
+#usr/include/boost/range/atl.hpp
+#usr/include/boost/range/begin.hpp
+#usr/include/boost/range/category.hpp
+#usr/include/boost/range/combine.hpp
+#usr/include/boost/range/concepts.hpp
+#usr/include/boost/range/config.hpp
+#usr/include/boost/range/const_iterator.hpp
+#usr/include/boost/range/const_reverse_iterator.hpp
+#usr/include/boost/range/counting_range.hpp
+#usr/include/boost/range/detail
+#usr/include/boost/range/detail/any_iterator.hpp
+#usr/include/boost/range/detail/any_iterator_buffer.hpp
+#usr/include/boost/range/detail/any_iterator_interface.hpp
+#usr/include/boost/range/detail/any_iterator_wrapper.hpp
+#usr/include/boost/range/detail/as_literal.hpp
+#usr/include/boost/range/detail/begin.hpp
+#usr/include/boost/range/detail/collection_traits.hpp
+#usr/include/boost/range/detail/collection_traits_detail.hpp
+#usr/include/boost/range/detail/common.hpp
+#usr/include/boost/range/detail/const_iterator.hpp
+#usr/include/boost/range/detail/demote_iterator_traversal_tag.hpp
+#usr/include/boost/range/detail/detail_str.hpp
+#usr/include/boost/range/detail/difference_type.hpp
+#usr/include/boost/range/detail/empty.hpp
+#usr/include/boost/range/detail/end.hpp
+#usr/include/boost/range/detail/extract_optional_type.hpp
+#usr/include/boost/range/detail/implementation_help.hpp
+#usr/include/boost/range/detail/iterator.hpp
+#usr/include/boost/range/detail/join_iterator.hpp
+#usr/include/boost/range/detail/microsoft.hpp
+#usr/include/boost/range/detail/misc_concept.hpp
+#usr/include/boost/range/detail/range_return.hpp
+#usr/include/boost/range/detail/remove_extent.hpp
+#usr/include/boost/range/detail/safe_bool.hpp
+#usr/include/boost/range/detail/sfinae.hpp
+#usr/include/boost/range/detail/size.hpp
+#usr/include/boost/range/detail/size_type.hpp
+#usr/include/boost/range/detail/sizer.hpp
+#usr/include/boost/range/detail/str_types.hpp
+#usr/include/boost/range/detail/value_type.hpp
+#usr/include/boost/range/detail/vc6
+#usr/include/boost/range/detail/vc6/end.hpp
+#usr/include/boost/range/detail/vc6/size.hpp
+#usr/include/boost/range/difference_type.hpp
+#usr/include/boost/range/distance.hpp
+#usr/include/boost/range/empty.hpp
+#usr/include/boost/range/end.hpp
+#usr/include/boost/range/functions.hpp
+#usr/include/boost/range/has_range_iterator.hpp
+#usr/include/boost/range/irange.hpp
+#usr/include/boost/range/istream_range.hpp
+#usr/include/boost/range/iterator.hpp
+#usr/include/boost/range/iterator_range.hpp
+#usr/include/boost/range/iterator_range_core.hpp
+#usr/include/boost/range/iterator_range_io.hpp
+#usr/include/boost/range/join.hpp
+#usr/include/boost/range/metafunctions.hpp
+#usr/include/boost/range/mfc.hpp
+#usr/include/boost/range/mutable_iterator.hpp
+#usr/include/boost/range/numeric.hpp
+#usr/include/boost/range/pointer.hpp
+#usr/include/boost/range/rbegin.hpp
+#usr/include/boost/range/reference.hpp
+#usr/include/boost/range/rend.hpp
+#usr/include/boost/range/result_iterator.hpp
+#usr/include/boost/range/reverse_iterator.hpp
+#usr/include/boost/range/reverse_result_iterator.hpp
+#usr/include/boost/range/size.hpp
+#usr/include/boost/range/size_type.hpp
+#usr/include/boost/range/sub_range.hpp
+#usr/include/boost/range/value_type.hpp
+#usr/include/boost/ratio
+#usr/include/boost/ratio.hpp
+#usr/include/boost/ratio/config.hpp
+#usr/include/boost/ratio/detail
+#usr/include/boost/ratio/detail/mpl
+#usr/include/boost/ratio/detail/mpl/abs.hpp
+#usr/include/boost/ratio/detail/mpl/gcd.hpp
+#usr/include/boost/ratio/detail/mpl/lcm.hpp
+#usr/include/boost/ratio/detail/mpl/sign.hpp
+#usr/include/boost/ratio/detail/overflow_helpers.hpp
+#usr/include/boost/ratio/detail/ratio_io.hpp
+#usr/include/boost/ratio/include.hpp
+#usr/include/boost/ratio/mpl
+#usr/include/boost/ratio/mpl/abs.hpp
+#usr/include/boost/ratio/mpl/arithmetic.hpp
+#usr/include/boost/ratio/mpl/comparison.hpp
+#usr/include/boost/ratio/mpl/divides.hpp
+#usr/include/boost/ratio/mpl/equal_to.hpp
+#usr/include/boost/ratio/mpl/gcd.hpp
+#usr/include/boost/ratio/mpl/greater.hpp
+#usr/include/boost/ratio/mpl/greater_equal.hpp
+#usr/include/boost/ratio/mpl/lcm.hpp
+#usr/include/boost/ratio/mpl/less.hpp
+#usr/include/boost/ratio/mpl/less_equal.hpp
+#usr/include/boost/ratio/mpl/minus.hpp
+#usr/include/boost/ratio/mpl/negate.hpp
+#usr/include/boost/ratio/mpl/not_equal_to.hpp
+#usr/include/boost/ratio/mpl/numeric_cast.hpp
+#usr/include/boost/ratio/mpl/plus.hpp
+#usr/include/boost/ratio/mpl/rational_c_tag.hpp
+#usr/include/boost/ratio/mpl/rational_constant.hpp
+#usr/include/boost/ratio/mpl/sign.hpp
+#usr/include/boost/ratio/mpl/times.hpp
+#usr/include/boost/ratio/ratio.hpp
+#usr/include/boost/ratio/ratio_fwd.hpp
+#usr/include/boost/ratio/ratio_io.hpp
+#usr/include/boost/ratio/ratio_static_string.hpp
+#usr/include/boost/rational.hpp
+#usr/include/boost/ref.hpp
+#usr/include/boost/regex
+#usr/include/boost/regex.h
+#usr/include/boost/regex.hpp
+#usr/include/boost/regex/concepts.hpp
+#usr/include/boost/regex/config
+#usr/include/boost/regex/config.hpp
+#usr/include/boost/regex/config/borland.hpp
+#usr/include/boost/regex/config/cwchar.hpp
+#usr/include/boost/regex/icu.hpp
+#usr/include/boost/regex/mfc.hpp
+#usr/include/boost/regex/pattern_except.hpp
+#usr/include/boost/regex/pending
+#usr/include/boost/regex/pending/object_cache.hpp
+#usr/include/boost/regex/pending/static_mutex.hpp
+#usr/include/boost/regex/pending/unicode_iterator.hpp
+#usr/include/boost/regex/regex_traits.hpp
+#usr/include/boost/regex/user.hpp
+#usr/include/boost/regex/v4
+#usr/include/boost/regex/v4/basic_regex.hpp
+#usr/include/boost/regex/v4/basic_regex_creator.hpp
+#usr/include/boost/regex/v4/basic_regex_parser.hpp
+#usr/include/boost/regex/v4/c_regex_traits.hpp
+#usr/include/boost/regex/v4/char_regex_traits.hpp
+#usr/include/boost/regex/v4/cpp_regex_traits.hpp
+#usr/include/boost/regex/v4/cregex.hpp
+#usr/include/boost/regex/v4/error_type.hpp
+#usr/include/boost/regex/v4/fileiter.hpp
+#usr/include/boost/regex/v4/instances.hpp
+#usr/include/boost/regex/v4/iterator_category.hpp
+#usr/include/boost/regex/v4/iterator_traits.hpp
+#usr/include/boost/regex/v4/match_flags.hpp
+#usr/include/boost/regex/v4/match_results.hpp
+#usr/include/boost/regex/v4/mem_block_cache.hpp
+#usr/include/boost/regex/v4/perl_matcher.hpp
+#usr/include/boost/regex/v4/perl_matcher_common.hpp
+#usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp
+#usr/include/boost/regex/v4/perl_matcher_recursive.hpp
+#usr/include/boost/regex/v4/primary_transform.hpp
+#usr/include/boost/regex/v4/protected_call.hpp
+#usr/include/boost/regex/v4/regbase.hpp
+#usr/include/boost/regex/v4/regex.hpp
+#usr/include/boost/regex/v4/regex_format.hpp
+#usr/include/boost/regex/v4/regex_fwd.hpp
+#usr/include/boost/regex/v4/regex_grep.hpp
+#usr/include/boost/regex/v4/regex_iterator.hpp
+#usr/include/boost/regex/v4/regex_match.hpp
+#usr/include/boost/regex/v4/regex_merge.hpp
+#usr/include/boost/regex/v4/regex_raw_buffer.hpp
+#usr/include/boost/regex/v4/regex_replace.hpp
+#usr/include/boost/regex/v4/regex_search.hpp
+#usr/include/boost/regex/v4/regex_split.hpp
+#usr/include/boost/regex/v4/regex_token_iterator.hpp
+#usr/include/boost/regex/v4/regex_traits.hpp
+#usr/include/boost/regex/v4/regex_traits_defaults.hpp
+#usr/include/boost/regex/v4/regex_workaround.hpp
+#usr/include/boost/regex/v4/states.hpp
+#usr/include/boost/regex/v4/sub_match.hpp
+#usr/include/boost/regex/v4/syntax_type.hpp
+#usr/include/boost/regex/v4/u32regex_iterator.hpp
+#usr/include/boost/regex/v4/u32regex_token_iterator.hpp
+#usr/include/boost/regex/v4/w32_regex_traits.hpp
+#usr/include/boost/regex_fwd.hpp
+#usr/include/boost/scope_exit.hpp
+#usr/include/boost/scoped_array.hpp
+#usr/include/boost/scoped_ptr.hpp
+#usr/include/boost/serialization
+#usr/include/boost/serialization/access.hpp
+#usr/include/boost/serialization/array.hpp
+#usr/include/boost/serialization/assume_abstract.hpp
+#usr/include/boost/serialization/base_object.hpp
+#usr/include/boost/serialization/binary_object.hpp
+#usr/include/boost/serialization/bitset.hpp
+#usr/include/boost/serialization/collection_size_type.hpp
+#usr/include/boost/serialization/collection_traits.hpp
+#usr/include/boost/serialization/collections_load_imp.hpp
+#usr/include/boost/serialization/collections_save_imp.hpp
+#usr/include/boost/serialization/complex.hpp
+#usr/include/boost/serialization/config.hpp
+#usr/include/boost/serialization/deque.hpp
+#usr/include/boost/serialization/detail
+#usr/include/boost/serialization/detail/get_data.hpp
+#usr/include/boost/serialization/detail/shared_count_132.hpp
+#usr/include/boost/serialization/detail/shared_ptr_132.hpp
+#usr/include/boost/serialization/detail/shared_ptr_nmt_132.hpp
+#usr/include/boost/serialization/detail/stack_constructor.hpp
+#usr/include/boost/serialization/ephemeral.hpp
+#usr/include/boost/serialization/export.hpp
+#usr/include/boost/serialization/extended_type_info.hpp
+#usr/include/boost/serialization/extended_type_info_no_rtti.hpp
+#usr/include/boost/serialization/extended_type_info_typeid.hpp
+#usr/include/boost/serialization/factory.hpp
+#usr/include/boost/serialization/force_include.hpp
+#usr/include/boost/serialization/hash_collections_load_imp.hpp
+#usr/include/boost/serialization/hash_collections_save_imp.hpp
+#usr/include/boost/serialization/hash_map.hpp
+#usr/include/boost/serialization/hash_set.hpp
+#usr/include/boost/serialization/is_bitwise_serializable.hpp
+#usr/include/boost/serialization/item_version_type.hpp
+#usr/include/boost/serialization/level.hpp
+#usr/include/boost/serialization/level_enum.hpp
+#usr/include/boost/serialization/list.hpp
+#usr/include/boost/serialization/map.hpp
+#usr/include/boost/serialization/nvp.hpp
+#usr/include/boost/serialization/optional.hpp
+#usr/include/boost/serialization/pfto.hpp
+#usr/include/boost/serialization/scoped_ptr.hpp
+#usr/include/boost/serialization/serialization.hpp
+#usr/include/boost/serialization/set.hpp
+#usr/include/boost/serialization/shared_ptr.hpp
+#usr/include/boost/serialization/shared_ptr_132.hpp
+#usr/include/boost/serialization/singleton.hpp
+#usr/include/boost/serialization/slist.hpp
+#usr/include/boost/serialization/smart_cast.hpp
+#usr/include/boost/serialization/split_free.hpp
+#usr/include/boost/serialization/split_member.hpp
+#usr/include/boost/serialization/state_saver.hpp
+#usr/include/boost/serialization/static_warning.hpp
+#usr/include/boost/serialization/string.hpp
+#usr/include/boost/serialization/strong_typedef.hpp
+#usr/include/boost/serialization/throw_exception.hpp
+#usr/include/boost/serialization/tracking.hpp
+#usr/include/boost/serialization/tracking_enum.hpp
+#usr/include/boost/serialization/traits.hpp
+#usr/include/boost/serialization/type_info_implementation.hpp
+#usr/include/boost/serialization/utility.hpp
+#usr/include/boost/serialization/valarray.hpp
+#usr/include/boost/serialization/variant.hpp
+#usr/include/boost/serialization/vector.hpp
+#usr/include/boost/serialization/vector_135.hpp
+#usr/include/boost/serialization/version.hpp
+#usr/include/boost/serialization/void_cast.hpp
+#usr/include/boost/serialization/void_cast_fwd.hpp
+#usr/include/boost/serialization/weak_ptr.hpp
+#usr/include/boost/serialization/wrapper.hpp
+#usr/include/boost/shared_array.hpp
+#usr/include/boost/shared_container_iterator.hpp
+#usr/include/boost/shared_ptr.hpp
+#usr/include/boost/signal.hpp
+#usr/include/boost/signals
+#usr/include/boost/signals.hpp
+#usr/include/boost/signals/connection.hpp
+#usr/include/boost/signals/detail
+#usr/include/boost/signals/detail/config.hpp
+#usr/include/boost/signals/detail/named_slot_map.hpp
+#usr/include/boost/signals/detail/signal_base.hpp
+#usr/include/boost/signals/detail/signals_common.hpp
+#usr/include/boost/signals/detail/slot_call_iterator.hpp
+#usr/include/boost/signals/signal0.hpp
+#usr/include/boost/signals/signal1.hpp
+#usr/include/boost/signals/signal10.hpp
+#usr/include/boost/signals/signal2.hpp
+#usr/include/boost/signals/signal3.hpp
+#usr/include/boost/signals/signal4.hpp
+#usr/include/boost/signals/signal5.hpp
+#usr/include/boost/signals/signal6.hpp
+#usr/include/boost/signals/signal7.hpp
+#usr/include/boost/signals/signal8.hpp
+#usr/include/boost/signals/signal9.hpp
+#usr/include/boost/signals/signal_template.hpp
+#usr/include/boost/signals/slot.hpp
+#usr/include/boost/signals/trackable.hpp
+#usr/include/boost/signals2
+#usr/include/boost/signals2.hpp
+#usr/include/boost/signals2/connection.hpp
+#usr/include/boost/signals2/deconstruct.hpp
+#usr/include/boost/signals2/deconstruct_ptr.hpp
+#usr/include/boost/signals2/detail
+#usr/include/boost/signals2/detail/auto_buffer.hpp
+#usr/include/boost/signals2/detail/foreign_ptr.hpp
+#usr/include/boost/signals2/detail/lwm_nop.hpp
+#usr/include/boost/signals2/detail/lwm_pthreads.hpp
+#usr/include/boost/signals2/detail/lwm_win32_cs.hpp
+#usr/include/boost/signals2/detail/null_output_iterator.hpp
+#usr/include/boost/signals2/detail/preprocessed_arg_type.hpp
+#usr/include/boost/signals2/detail/preprocessed_arg_type_template.hpp
+#usr/include/boost/signals2/detail/replace_slot_function.hpp
+#usr/include/boost/signals2/detail/result_type_wrapper.hpp
+#usr/include/boost/signals2/detail/signal_template.hpp
+#usr/include/boost/signals2/detail/signals_common.hpp
+#usr/include/boost/signals2/detail/signals_common_macros.hpp
+#usr/include/boost/signals2/detail/slot_call_iterator.hpp
+#usr/include/boost/signals2/detail/slot_groups.hpp
+#usr/include/boost/signals2/detail/slot_template.hpp
+#usr/include/boost/signals2/detail/tracked_objects_visitor.hpp
+#usr/include/boost/signals2/detail/unique_lock.hpp
+#usr/include/boost/signals2/detail/variadic_arg_type.hpp
+#usr/include/boost/signals2/detail/variadic_slot_invoker.hpp
+#usr/include/boost/signals2/dummy_mutex.hpp
+#usr/include/boost/signals2/expired_slot.hpp
+#usr/include/boost/signals2/last_value.hpp
+#usr/include/boost/signals2/mutex.hpp
+#usr/include/boost/signals2/optional_last_value.hpp
+#usr/include/boost/signals2/postconstructible.hpp
+#usr/include/boost/signals2/predestructible.hpp
+#usr/include/boost/signals2/preprocessed_signal.hpp
+#usr/include/boost/signals2/preprocessed_slot.hpp
+#usr/include/boost/signals2/shared_connection_block.hpp
+#usr/include/boost/signals2/signal.hpp
+#usr/include/boost/signals2/signal_base.hpp
+#usr/include/boost/signals2/signal_type.hpp
+#usr/include/boost/signals2/slot.hpp
+#usr/include/boost/signals2/slot_base.hpp
+#usr/include/boost/signals2/trackable.hpp
+#usr/include/boost/signals2/variadic_signal.hpp
+#usr/include/boost/signals2/variadic_slot.hpp
+#usr/include/boost/smart_ptr
+#usr/include/boost/smart_ptr.hpp
+#usr/include/boost/smart_ptr/allocate_shared_array.hpp
+#usr/include/boost/smart_ptr/bad_weak_ptr.hpp
+#usr/include/boost/smart_ptr/detail
+#usr/include/boost/smart_ptr/detail/allocate_array_helper.hpp
+#usr/include/boost/smart_ptr/detail/array_deleter.hpp
+#usr/include/boost/smart_ptr/detail/array_traits.hpp
+#usr/include/boost/smart_ptr/detail/array_utility.hpp
+#usr/include/boost/smart_ptr/detail/atomic_count.hpp
+#usr/include/boost/smart_ptr/detail/atomic_count_gcc.hpp
+#usr/include/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp
+#usr/include/boost/smart_ptr/detail/atomic_count_pthreads.hpp
+#usr/include/boost/smart_ptr/detail/atomic_count_solaris.hpp
+#usr/include/boost/smart_ptr/detail/atomic_count_sync.hpp
+#usr/include/boost/smart_ptr/detail/atomic_count_win32.hpp
+#usr/include/boost/smart_ptr/detail/lightweight_mutex.hpp
+#usr/include/boost/smart_ptr/detail/lwm_nop.hpp
+#usr/include/boost/smart_ptr/detail/lwm_pthreads.hpp
+#usr/include/boost/smart_ptr/detail/lwm_win32_cs.hpp
+#usr/include/boost/smart_ptr/detail/make_array_helper.hpp
+#usr/include/boost/smart_ptr/detail/operator_bool.hpp
+#usr/include/boost/smart_ptr/detail/quick_allocator.hpp
+#usr/include/boost/smart_ptr/detail/shared_array_nmt.hpp
+#usr/include/boost/smart_ptr/detail/shared_count.hpp
+#usr/include/boost/smart_ptr/detail/shared_ptr_nmt.hpp
+#usr/include/boost/smart_ptr/detail/sp_convertible.hpp
+#usr/include/boost/smart_ptr/detail/sp_counted_base.hpp
+#usr/include/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp
+#usr/include/boost/smart_ptr/detail/sp_counted_base_aix.hpp
+#usr/include/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp
+#usr/include/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp
+#usr/include/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp
+#usr/include/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp
+#usr/include/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp
+#usr/include/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp
+#usr/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp
+#usr/include/boost/smart_ptr/detail/sp_counted_base_nt.hpp
+#usr/include/boost/smart_ptr/detail/sp_counted_base_pt.hpp
+#usr/include/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp
+#usr/include/boost/smart_ptr/detail/sp_counted_base_solaris.hpp
+#usr/include/boost/smart_ptr/detail/sp_counted_base_spin.hpp
+#usr/include/boost/smart_ptr/detail/sp_counted_base_sync.hpp
+#usr/include/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp
+#usr/include/boost/smart_ptr/detail/sp_counted_base_w32.hpp
+#usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp
+#usr/include/boost/smart_ptr/detail/sp_forward.hpp
+#usr/include/boost/smart_ptr/detail/sp_has_sync.hpp
+#usr/include/boost/smart_ptr/detail/sp_if_array.hpp
+#usr/include/boost/smart_ptr/detail/sp_nullptr_t.hpp
+#usr/include/boost/smart_ptr/detail/spinlock.hpp
+#usr/include/boost/smart_ptr/detail/spinlock_gcc_arm.hpp
+#usr/include/boost/smart_ptr/detail/spinlock_nt.hpp
+#usr/include/boost/smart_ptr/detail/spinlock_pool.hpp
+#usr/include/boost/smart_ptr/detail/spinlock_pt.hpp
+#usr/include/boost/smart_ptr/detail/spinlock_sync.hpp
+#usr/include/boost/smart_ptr/detail/spinlock_w32.hpp
+#usr/include/boost/smart_ptr/detail/yield_k.hpp
+#usr/include/boost/smart_ptr/enable_shared_from_raw.hpp
+#usr/include/boost/smart_ptr/enable_shared_from_this.hpp
+#usr/include/boost/smart_ptr/intrusive_ptr.hpp
+#usr/include/boost/smart_ptr/intrusive_ref_counter.hpp
+#usr/include/boost/smart_ptr/make_shared.hpp
+#usr/include/boost/smart_ptr/make_shared_array.hpp
+#usr/include/boost/smart_ptr/make_shared_object.hpp
+#usr/include/boost/smart_ptr/owner_less.hpp
+#usr/include/boost/smart_ptr/scoped_array.hpp
+#usr/include/boost/smart_ptr/scoped_ptr.hpp
+#usr/include/boost/smart_ptr/shared_array.hpp
+#usr/include/boost/smart_ptr/shared_ptr.hpp
+#usr/include/boost/smart_ptr/weak_ptr.hpp
+#usr/include/boost/spirit
+#usr/include/boost/spirit.hpp
+#usr/include/boost/spirit/home
+#usr/include/boost/spirit/home/classic
+#usr/include/boost/spirit/home/classic.hpp
+#usr/include/boost/spirit/home/classic/actor
+#usr/include/boost/spirit/home/classic/actor.hpp
+#usr/include/boost/spirit/home/classic/actor/assign_actor.hpp
+#usr/include/boost/spirit/home/classic/actor/assign_key_actor.hpp
+#usr/include/boost/spirit/home/classic/actor/clear_actor.hpp
+#usr/include/boost/spirit/home/classic/actor/decrement_actor.hpp
+#usr/include/boost/spirit/home/classic/actor/erase_actor.hpp
+#usr/include/boost/spirit/home/classic/actor/increment_actor.hpp
+#usr/include/boost/spirit/home/classic/actor/insert_at_actor.hpp
+#usr/include/boost/spirit/home/classic/actor/insert_key_actor.hpp
+#usr/include/boost/spirit/home/classic/actor/push_back_actor.hpp
+#usr/include/boost/spirit/home/classic/actor/push_front_actor.hpp
+#usr/include/boost/spirit/home/classic/actor/ref_actor.hpp
+#usr/include/boost/spirit/home/classic/actor/ref_const_ref_actor.hpp
+#usr/include/boost/spirit/home/classic/actor/ref_const_ref_const_ref_a.hpp
+#usr/include/boost/spirit/home/classic/actor/ref_const_ref_value_actor.hpp
+#usr/include/boost/spirit/home/classic/actor/ref_value_actor.hpp
+#usr/include/boost/spirit/home/classic/actor/swap_actor.hpp
+#usr/include/boost/spirit/home/classic/actor/typeof.hpp
+#usr/include/boost/spirit/home/classic/attribute
+#usr/include/boost/spirit/home/classic/attribute.hpp
+#usr/include/boost/spirit/home/classic/attribute/closure.hpp
+#usr/include/boost/spirit/home/classic/attribute/closure_context.hpp
+#usr/include/boost/spirit/home/classic/attribute/closure_fwd.hpp
+#usr/include/boost/spirit/home/classic/attribute/parametric.hpp
+#usr/include/boost/spirit/home/classic/attribute/typeof.hpp
+#usr/include/boost/spirit/home/classic/core
+#usr/include/boost/spirit/home/classic/core.hpp
+#usr/include/boost/spirit/home/classic/core/assert.hpp
+#usr/include/boost/spirit/home/classic/core/composite
+#usr/include/boost/spirit/home/classic/core/composite/actions.hpp
+#usr/include/boost/spirit/home/classic/core/composite/alternative.hpp
+#usr/include/boost/spirit/home/classic/core/composite/composite.hpp
+#usr/include/boost/spirit/home/classic/core/composite/difference.hpp
+#usr/include/boost/spirit/home/classic/core/composite/directives.hpp
+#usr/include/boost/spirit/home/classic/core/composite/epsilon.hpp
+#usr/include/boost/spirit/home/classic/core/composite/exclusive_or.hpp
+#usr/include/boost/spirit/home/classic/core/composite/impl
+#usr/include/boost/spirit/home/classic/core/composite/impl/alternative.ipp
+#usr/include/boost/spirit/home/classic/core/composite/impl/difference.ipp
+#usr/include/boost/spirit/home/classic/core/composite/impl/directives.ipp
+#usr/include/boost/spirit/home/classic/core/composite/impl/exclusive_or.ipp
+#usr/include/boost/spirit/home/classic/core/composite/impl/intersection.ipp
+#usr/include/boost/spirit/home/classic/core/composite/impl/kleene_star.ipp
+#usr/include/boost/spirit/home/classic/core/composite/impl/list.ipp
+#usr/include/boost/spirit/home/classic/core/composite/impl/optional.ipp
+#usr/include/boost/spirit/home/classic/core/composite/impl/positive.ipp
+#usr/include/boost/spirit/home/classic/core/composite/impl/sequence.ipp
+#usr/include/boost/spirit/home/classic/core/composite/impl/sequential_and.ipp
+#usr/include/boost/spirit/home/classic/core/composite/impl/sequential_or.ipp
+#usr/include/boost/spirit/home/classic/core/composite/intersection.hpp
+#usr/include/boost/spirit/home/classic/core/composite/kleene_star.hpp
+#usr/include/boost/spirit/home/classic/core/composite/list.hpp
+#usr/include/boost/spirit/home/classic/core/composite/no_actions.hpp
+#usr/include/boost/spirit/home/classic/core/composite/operators.hpp
+#usr/include/boost/spirit/home/classic/core/composite/optional.hpp
+#usr/include/boost/spirit/home/classic/core/composite/positive.hpp
+#usr/include/boost/spirit/home/classic/core/composite/sequence.hpp
+#usr/include/boost/spirit/home/classic/core/composite/sequential_and.hpp
+#usr/include/boost/spirit/home/classic/core/composite/sequential_or.hpp
+#usr/include/boost/spirit/home/classic/core/config.hpp
+#usr/include/boost/spirit/home/classic/core/impl
+#usr/include/boost/spirit/home/classic/core/impl/match.ipp
+#usr/include/boost/spirit/home/classic/core/impl/match_attr_traits.ipp
+#usr/include/boost/spirit/home/classic/core/impl/parser.ipp
+#usr/include/boost/spirit/home/classic/core/match.hpp
+#usr/include/boost/spirit/home/classic/core/nil.hpp
+#usr/include/boost/spirit/home/classic/core/non_terminal
+#usr/include/boost/spirit/home/classic/core/non_terminal/grammar.hpp
+#usr/include/boost/spirit/home/classic/core/non_terminal/impl
+#usr/include/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp
+#usr/include/boost/spirit/home/classic/core/non_terminal/impl/object_with_id.ipp
+#usr/include/boost/spirit/home/classic/core/non_terminal/impl/rule.ipp
+#usr/include/boost/spirit/home/classic/core/non_terminal/impl/static.hpp
+#usr/include/boost/spirit/home/classic/core/non_terminal/impl/subrule.ipp
+#usr/include/boost/spirit/home/classic/core/non_terminal/parser_context.hpp
+#usr/include/boost/spirit/home/classic/core/non_terminal/parser_id.hpp
+#usr/include/boost/spirit/home/classic/core/non_terminal/rule.hpp
+#usr/include/boost/spirit/home/classic/core/non_terminal/subrule.hpp
+#usr/include/boost/spirit/home/classic/core/non_terminal/subrule_fwd.hpp
+#usr/include/boost/spirit/home/classic/core/parser.hpp
+#usr/include/boost/spirit/home/classic/core/primitives
+#usr/include/boost/spirit/home/classic/core/primitives/impl
+#usr/include/boost/spirit/home/classic/core/primitives/impl/numerics.ipp
+#usr/include/boost/spirit/home/classic/core/primitives/impl/primitives.ipp
+#usr/include/boost/spirit/home/classic/core/primitives/numerics.hpp
+#usr/include/boost/spirit/home/classic/core/primitives/numerics_fwd.hpp
+#usr/include/boost/spirit/home/classic/core/primitives/primitives.hpp
+#usr/include/boost/spirit/home/classic/core/safe_bool.hpp
+#usr/include/boost/spirit/home/classic/core/scanner
+#usr/include/boost/spirit/home/classic/core/scanner/impl
+#usr/include/boost/spirit/home/classic/core/scanner/impl/skipper.ipp
+#usr/include/boost/spirit/home/classic/core/scanner/scanner.hpp
+#usr/include/boost/spirit/home/classic/core/scanner/scanner_fwd.hpp
+#usr/include/boost/spirit/home/classic/core/scanner/skipper.hpp
+#usr/include/boost/spirit/home/classic/core/scanner/skipper_fwd.hpp
+#usr/include/boost/spirit/home/classic/core/typeof.hpp
+#usr/include/boost/spirit/home/classic/debug
+#usr/include/boost/spirit/home/classic/debug.hpp
+#usr/include/boost/spirit/home/classic/debug/debug_node.hpp
+#usr/include/boost/spirit/home/classic/debug/impl
+#usr/include/boost/spirit/home/classic/debug/impl/parser_names.ipp
+#usr/include/boost/spirit/home/classic/debug/minimal.hpp
+#usr/include/boost/spirit/home/classic/debug/parser_names.hpp
+#usr/include/boost/spirit/home/classic/debug/typeof.hpp
+#usr/include/boost/spirit/home/classic/dynamic
+#usr/include/boost/spirit/home/classic/dynamic.hpp
+#usr/include/boost/spirit/home/classic/dynamic/for.hpp
+#usr/include/boost/spirit/home/classic/dynamic/if.hpp
+#usr/include/boost/spirit/home/classic/dynamic/impl
+#usr/include/boost/spirit/home/classic/dynamic/impl/conditions.ipp
+#usr/include/boost/spirit/home/classic/dynamic/impl/select.ipp
+#usr/include/boost/spirit/home/classic/dynamic/impl/switch.ipp
+#usr/include/boost/spirit/home/classic/dynamic/lazy.hpp
+#usr/include/boost/spirit/home/classic/dynamic/rule_alias.hpp
+#usr/include/boost/spirit/home/classic/dynamic/select.hpp
+#usr/include/boost/spirit/home/classic/dynamic/stored_rule.hpp
+#usr/include/boost/spirit/home/classic/dynamic/stored_rule_fwd.hpp
+#usr/include/boost/spirit/home/classic/dynamic/switch.hpp
+#usr/include/boost/spirit/home/classic/dynamic/typeof.hpp
+#usr/include/boost/spirit/home/classic/dynamic/while.hpp
+#usr/include/boost/spirit/home/classic/error_handling
+#usr/include/boost/spirit/home/classic/error_handling.hpp
+#usr/include/boost/spirit/home/classic/error_handling/exceptions.hpp
+#usr/include/boost/spirit/home/classic/error_handling/exceptions_fwd.hpp
+#usr/include/boost/spirit/home/classic/error_handling/impl
+#usr/include/boost/spirit/home/classic/error_handling/impl/exceptions.ipp
+#usr/include/boost/spirit/home/classic/error_handling/typeof.hpp
+#usr/include/boost/spirit/home/classic/iterator
+#usr/include/boost/spirit/home/classic/iterator.hpp
+#usr/include/boost/spirit/home/classic/iterator/file_iterator.hpp
+#usr/include/boost/spirit/home/classic/iterator/file_iterator_fwd.hpp
+#usr/include/boost/spirit/home/classic/iterator/fixed_size_queue.hpp
+#usr/include/boost/spirit/home/classic/iterator/impl
+#usr/include/boost/spirit/home/classic/iterator/impl/file_iterator.ipp
+#usr/include/boost/spirit/home/classic/iterator/impl/position_iterator.ipp
+#usr/include/boost/spirit/home/classic/iterator/multi_pass.hpp
+#usr/include/boost/spirit/home/classic/iterator/multi_pass_fwd.hpp
+#usr/include/boost/spirit/home/classic/iterator/position_iterator.hpp
+#usr/include/boost/spirit/home/classic/iterator/position_iterator_fwd.hpp
+#usr/include/boost/spirit/home/classic/iterator/typeof.hpp
+#usr/include/boost/spirit/home/classic/meta
+#usr/include/boost/spirit/home/classic/meta.hpp
+#usr/include/boost/spirit/home/classic/meta/as_parser.hpp
+#usr/include/boost/spirit/home/classic/meta/fundamental.hpp
+#usr/include/boost/spirit/home/classic/meta/impl
+#usr/include/boost/spirit/home/classic/meta/impl/fundamental.ipp
+#usr/include/boost/spirit/home/classic/meta/impl/parser_traits.ipp
+#usr/include/boost/spirit/home/classic/meta/impl/refactoring.ipp
+#usr/include/boost/spirit/home/classic/meta/impl/traverse.ipp
+#usr/include/boost/spirit/home/classic/meta/parser_traits.hpp
+#usr/include/boost/spirit/home/classic/meta/refactoring.hpp
+#usr/include/boost/spirit/home/classic/meta/traverse.hpp
+#usr/include/boost/spirit/home/classic/namespace.hpp
+#usr/include/boost/spirit/home/classic/phoenix
+#usr/include/boost/spirit/home/classic/phoenix.hpp
+#usr/include/boost/spirit/home/classic/phoenix/actor.hpp
+#usr/include/boost/spirit/home/classic/phoenix/binders.hpp
+#usr/include/boost/spirit/home/classic/phoenix/casts.hpp
+#usr/include/boost/spirit/home/classic/phoenix/closures.hpp
+#usr/include/boost/spirit/home/classic/phoenix/composite.hpp
+#usr/include/boost/spirit/home/classic/phoenix/functions.hpp
+#usr/include/boost/spirit/home/classic/phoenix/new.hpp
+#usr/include/boost/spirit/home/classic/phoenix/operators.hpp
+#usr/include/boost/spirit/home/classic/phoenix/primitives.hpp
+#usr/include/boost/spirit/home/classic/phoenix/special_ops.hpp
+#usr/include/boost/spirit/home/classic/phoenix/statements.hpp
+#usr/include/boost/spirit/home/classic/phoenix/tuple_helpers.hpp
+#usr/include/boost/spirit/home/classic/phoenix/tuples.hpp
+#usr/include/boost/spirit/home/classic/symbols
+#usr/include/boost/spirit/home/classic/symbols.hpp
+#usr/include/boost/spirit/home/classic/symbols/impl
+#usr/include/boost/spirit/home/classic/symbols/impl/symbols.ipp
+#usr/include/boost/spirit/home/classic/symbols/impl/tst.ipp
+#usr/include/boost/spirit/home/classic/symbols/symbols.hpp
+#usr/include/boost/spirit/home/classic/symbols/symbols_fwd.hpp
+#usr/include/boost/spirit/home/classic/symbols/typeof.hpp
+#usr/include/boost/spirit/home/classic/tree
+#usr/include/boost/spirit/home/classic/tree/ast.hpp
+#usr/include/boost/spirit/home/classic/tree/ast_fwd.hpp
+#usr/include/boost/spirit/home/classic/tree/common.hpp
+#usr/include/boost/spirit/home/classic/tree/common_fwd.hpp
+#usr/include/boost/spirit/home/classic/tree/impl
+#usr/include/boost/spirit/home/classic/tree/impl/parse_tree_utils.ipp
+#usr/include/boost/spirit/home/classic/tree/impl/tree_to_xml.ipp
+#usr/include/boost/spirit/home/classic/tree/parse_tree.hpp
+#usr/include/boost/spirit/home/classic/tree/parse_tree_fwd.hpp
+#usr/include/boost/spirit/home/classic/tree/parse_tree_utils.hpp
+#usr/include/boost/spirit/home/classic/tree/tree_to_xml.hpp
+#usr/include/boost/spirit/home/classic/tree/typeof.hpp
+#usr/include/boost/spirit/home/classic/utility
+#usr/include/boost/spirit/home/classic/utility.hpp
+#usr/include/boost/spirit/home/classic/utility/chset.hpp
+#usr/include/boost/spirit/home/classic/utility/chset_operators.hpp
+#usr/include/boost/spirit/home/classic/utility/confix.hpp
+#usr/include/boost/spirit/home/classic/utility/confix_fwd.hpp
+#usr/include/boost/spirit/home/classic/utility/distinct.hpp
+#usr/include/boost/spirit/home/classic/utility/distinct_fwd.hpp
+#usr/include/boost/spirit/home/classic/utility/escape_char.hpp
+#usr/include/boost/spirit/home/classic/utility/escape_char_fwd.hpp
+#usr/include/boost/spirit/home/classic/utility/flush_multi_pass.hpp
+#usr/include/boost/spirit/home/classic/utility/functor_parser.hpp
+#usr/include/boost/spirit/home/classic/utility/grammar_def.hpp
+#usr/include/boost/spirit/home/classic/utility/grammar_def_fwd.hpp
+#usr/include/boost/spirit/home/classic/utility/impl
+#usr/include/boost/spirit/home/classic/utility/impl/chset
+#usr/include/boost/spirit/home/classic/utility/impl/chset.ipp
+#usr/include/boost/spirit/home/classic/utility/impl/chset/basic_chset.hpp
+#usr/include/boost/spirit/home/classic/utility/impl/chset/basic_chset.ipp
+#usr/include/boost/spirit/home/classic/utility/impl/chset/range_run.hpp
+#usr/include/boost/spirit/home/classic/utility/impl/chset/range_run.ipp
+#usr/include/boost/spirit/home/classic/utility/impl/chset_operators.ipp
+#usr/include/boost/spirit/home/classic/utility/impl/confix.ipp
+#usr/include/boost/spirit/home/classic/utility/impl/escape_char.ipp
+#usr/include/boost/spirit/home/classic/utility/impl/lists.ipp
+#usr/include/boost/spirit/home/classic/utility/impl/regex.ipp
+#usr/include/boost/spirit/home/classic/utility/lists.hpp
+#usr/include/boost/spirit/home/classic/utility/lists_fwd.hpp
+#usr/include/boost/spirit/home/classic/utility/loops.hpp
+#usr/include/boost/spirit/home/classic/utility/regex.hpp
+#usr/include/boost/spirit/home/classic/utility/rule_parser.hpp
+#usr/include/boost/spirit/home/classic/utility/scoped_lock.hpp
+#usr/include/boost/spirit/home/classic/utility/typeof.hpp
+#usr/include/boost/spirit/home/classic/version.hpp
+#usr/include/boost/spirit/home/karma
+#usr/include/boost/spirit/home/karma.hpp
+#usr/include/boost/spirit/home/karma/action
+#usr/include/boost/spirit/home/karma/action.hpp
+#usr/include/boost/spirit/home/karma/action/action.hpp
+#usr/include/boost/spirit/home/karma/auto
+#usr/include/boost/spirit/home/karma/auto.hpp
+#usr/include/boost/spirit/home/karma/auto/auto.hpp
+#usr/include/boost/spirit/home/karma/auto/create_generator.hpp
+#usr/include/boost/spirit/home/karma/auto/meta_create.hpp
+#usr/include/boost/spirit/home/karma/auxiliary
+#usr/include/boost/spirit/home/karma/auxiliary.hpp
+#usr/include/boost/spirit/home/karma/auxiliary/attr_cast.hpp
+#usr/include/boost/spirit/home/karma/auxiliary/eol.hpp
+#usr/include/boost/spirit/home/karma/auxiliary/eps.hpp
+#usr/include/boost/spirit/home/karma/auxiliary/lazy.hpp
+#usr/include/boost/spirit/home/karma/binary
+#usr/include/boost/spirit/home/karma/binary.hpp
+#usr/include/boost/spirit/home/karma/binary/binary.hpp
+#usr/include/boost/spirit/home/karma/binary/padding.hpp
+#usr/include/boost/spirit/home/karma/char
+#usr/include/boost/spirit/home/karma/char.hpp
+#usr/include/boost/spirit/home/karma/char/char.hpp
+#usr/include/boost/spirit/home/karma/char/char_class.hpp
+#usr/include/boost/spirit/home/karma/char/char_generator.hpp
+#usr/include/boost/spirit/home/karma/delimit_flag.hpp
+#usr/include/boost/spirit/home/karma/delimit_out.hpp
+#usr/include/boost/spirit/home/karma/detail
+#usr/include/boost/spirit/home/karma/detail/alternative_function.hpp
+#usr/include/boost/spirit/home/karma/detail/as.hpp
+#usr/include/boost/spirit/home/karma/detail/attributes.hpp
+#usr/include/boost/spirit/home/karma/detail/default_width.hpp
+#usr/include/boost/spirit/home/karma/detail/enable_lit.hpp
+#usr/include/boost/spirit/home/karma/detail/extract_from.hpp
+#usr/include/boost/spirit/home/karma/detail/fail_function.hpp
+#usr/include/boost/spirit/home/karma/detail/generate.hpp
+#usr/include/boost/spirit/home/karma/detail/generate_auto.hpp
+#usr/include/boost/spirit/home/karma/detail/generate_to.hpp
+#usr/include/boost/spirit/home/karma/detail/get_casetag.hpp
+#usr/include/boost/spirit/home/karma/detail/get_stricttag.hpp
+#usr/include/boost/spirit/home/karma/detail/indirect_iterator.hpp
+#usr/include/boost/spirit/home/karma/detail/output_iterator.hpp
+#usr/include/boost/spirit/home/karma/detail/pass_container.hpp
+#usr/include/boost/spirit/home/karma/detail/string_compare.hpp
+#usr/include/boost/spirit/home/karma/detail/string_generate.hpp
+#usr/include/boost/spirit/home/karma/detail/unused_delimiter.hpp
+#usr/include/boost/spirit/home/karma/directive
+#usr/include/boost/spirit/home/karma/directive.hpp
+#usr/include/boost/spirit/home/karma/directive/as.hpp
+#usr/include/boost/spirit/home/karma/directive/buffer.hpp
+#usr/include/boost/spirit/home/karma/directive/center_alignment.hpp
+#usr/include/boost/spirit/home/karma/directive/columns.hpp
+#usr/include/boost/spirit/home/karma/directive/delimit.hpp
+#usr/include/boost/spirit/home/karma/directive/duplicate.hpp
+#usr/include/boost/spirit/home/karma/directive/encoding.hpp
+#usr/include/boost/spirit/home/karma/directive/left_alignment.hpp
+#usr/include/boost/spirit/home/karma/directive/maxwidth.hpp
+#usr/include/boost/spirit/home/karma/directive/no_delimit.hpp
+#usr/include/boost/spirit/home/karma/directive/omit.hpp
+#usr/include/boost/spirit/home/karma/directive/repeat.hpp
+#usr/include/boost/spirit/home/karma/directive/right_alignment.hpp
+#usr/include/boost/spirit/home/karma/directive/strict_relaxed.hpp
+#usr/include/boost/spirit/home/karma/directive/upper_lower_case.hpp
+#usr/include/boost/spirit/home/karma/directive/verbatim.hpp
+#usr/include/boost/spirit/home/karma/domain.hpp
+#usr/include/boost/spirit/home/karma/format.hpp
+#usr/include/boost/spirit/home/karma/format_auto.hpp
+#usr/include/boost/spirit/home/karma/generate.hpp
+#usr/include/boost/spirit/home/karma/generate_attr.hpp
+#usr/include/boost/spirit/home/karma/generator.hpp
+#usr/include/boost/spirit/home/karma/meta_compiler.hpp
+#usr/include/boost/spirit/home/karma/nonterminal
+#usr/include/boost/spirit/home/karma/nonterminal.hpp
+#usr/include/boost/spirit/home/karma/nonterminal/debug_handler.hpp
+#usr/include/boost/spirit/home/karma/nonterminal/debug_handler_state.hpp
+#usr/include/boost/spirit/home/karma/nonterminal/detail
+#usr/include/boost/spirit/home/karma/nonterminal/detail/fcall.hpp
+#usr/include/boost/spirit/home/karma/nonterminal/detail/generator_binder.hpp
+#usr/include/boost/spirit/home/karma/nonterminal/detail/parameterized.hpp
+#usr/include/boost/spirit/home/karma/nonterminal/grammar.hpp
+#usr/include/boost/spirit/home/karma/nonterminal/nonterminal_fwd.hpp
+#usr/include/boost/spirit/home/karma/nonterminal/rule.hpp
+#usr/include/boost/spirit/home/karma/nonterminal/simple_trace.hpp
+#usr/include/boost/spirit/home/karma/numeric
+#usr/include/boost/spirit/home/karma/numeric.hpp
+#usr/include/boost/spirit/home/karma/numeric/bool.hpp
+#usr/include/boost/spirit/home/karma/numeric/bool_policies.hpp
+#usr/include/boost/spirit/home/karma/numeric/detail
+#usr/include/boost/spirit/home/karma/numeric/detail/bool_utils.hpp
+#usr/include/boost/spirit/home/karma/numeric/detail/numeric_utils.hpp
+#usr/include/boost/spirit/home/karma/numeric/detail/real_utils.hpp
+#usr/include/boost/spirit/home/karma/numeric/int.hpp
+#usr/include/boost/spirit/home/karma/numeric/real.hpp
+#usr/include/boost/spirit/home/karma/numeric/real_policies.hpp
+#usr/include/boost/spirit/home/karma/numeric/uint.hpp
+#usr/include/boost/spirit/home/karma/operator
+#usr/include/boost/spirit/home/karma/operator.hpp
+#usr/include/boost/spirit/home/karma/operator/alternative.hpp
+#usr/include/boost/spirit/home/karma/operator/and_predicate.hpp
+#usr/include/boost/spirit/home/karma/operator/kleene.hpp
+#usr/include/boost/spirit/home/karma/operator/list.hpp
+#usr/include/boost/spirit/home/karma/operator/not_predicate.hpp
+#usr/include/boost/spirit/home/karma/operator/optional.hpp
+#usr/include/boost/spirit/home/karma/operator/plus.hpp
+#usr/include/boost/spirit/home/karma/operator/sequence.hpp
+#usr/include/boost/spirit/home/karma/phoenix_attributes.hpp
+#usr/include/boost/spirit/home/karma/reference.hpp
+#usr/include/boost/spirit/home/karma/stream
+#usr/include/boost/spirit/home/karma/stream.hpp
+#usr/include/boost/spirit/home/karma/stream/detail
+#usr/include/boost/spirit/home/karma/stream/detail/format_manip.hpp
+#usr/include/boost/spirit/home/karma/stream/detail/format_manip_auto.hpp
+#usr/include/boost/spirit/home/karma/stream/detail/iterator_sink.hpp
+#usr/include/boost/spirit/home/karma/stream/format_manip.hpp
+#usr/include/boost/spirit/home/karma/stream/format_manip_attr.hpp
+#usr/include/boost/spirit/home/karma/stream/ostream_iterator.hpp
+#usr/include/boost/spirit/home/karma/stream/stream.hpp
+#usr/include/boost/spirit/home/karma/string
+#usr/include/boost/spirit/home/karma/string.hpp
+#usr/include/boost/spirit/home/karma/string/lit.hpp
+#usr/include/boost/spirit/home/karma/string/symbols.hpp
+#usr/include/boost/spirit/home/karma/what.hpp
+#usr/include/boost/spirit/home/lex
+#usr/include/boost/spirit/home/lex.hpp
+#usr/include/boost/spirit/home/lex/argument.hpp
+#usr/include/boost/spirit/home/lex/argument_phoenix.hpp
+#usr/include/boost/spirit/home/lex/detail
+#usr/include/boost/spirit/home/lex/detail/sequence_function.hpp
+#usr/include/boost/spirit/home/lex/domain.hpp
+#usr/include/boost/spirit/home/lex/lexer
+#usr/include/boost/spirit/home/lex/lexer.hpp
+#usr/include/boost/spirit/home/lex/lexer/action.hpp
+#usr/include/boost/spirit/home/lex/lexer/char_token_def.hpp
+#usr/include/boost/spirit/home/lex/lexer/lexer.hpp
+#usr/include/boost/spirit/home/lex/lexer/lexertl
+#usr/include/boost/spirit/home/lex/lexer/lexertl/functor.hpp
+#usr/include/boost/spirit/home/lex/lexer/lexertl/functor_data.hpp
+#usr/include/boost/spirit/home/lex/lexer/lexertl/generate_static.hpp
+#usr/include/boost/spirit/home/lex/lexer/lexertl/iterator.hpp
+#usr/include/boost/spirit/home/lex/lexer/lexertl/iterator_tokenizer.hpp
+#usr/include/boost/spirit/home/lex/lexer/lexertl/lexer.hpp
+#usr/include/boost/spirit/home/lex/lexer/lexertl/position_token.hpp
+#usr/include/boost/spirit/home/lex/lexer/lexertl/semantic_action_data.hpp
+#usr/include/boost/spirit/home/lex/lexer/lexertl/static_functor_data.hpp
+#usr/include/boost/spirit/home/lex/lexer/lexertl/static_lexer.hpp
+#usr/include/boost/spirit/home/lex/lexer/lexertl/static_version.hpp
+#usr/include/boost/spirit/home/lex/lexer/lexertl/token.hpp
+#usr/include/boost/spirit/home/lex/lexer/lexertl/wrap_action.hpp
+#usr/include/boost/spirit/home/lex/lexer/pass_flags.hpp
+#usr/include/boost/spirit/home/lex/lexer/sequence.hpp
+#usr/include/boost/spirit/home/lex/lexer/string_token_def.hpp
+#usr/include/boost/spirit/home/lex/lexer/support_functions.hpp
+#usr/include/boost/spirit/home/lex/lexer/support_functions_expression.hpp
+#usr/include/boost/spirit/home/lex/lexer/terminals.hpp
+#usr/include/boost/spirit/home/lex/lexer/token_def.hpp
+#usr/include/boost/spirit/home/lex/lexer_lexertl.hpp
+#usr/include/boost/spirit/home/lex/lexer_static_lexertl.hpp
+#usr/include/boost/spirit/home/lex/lexer_type.hpp
+#usr/include/boost/spirit/home/lex/meta_compiler.hpp
+#usr/include/boost/spirit/home/lex/primitives.hpp
+#usr/include/boost/spirit/home/lex/qi
+#usr/include/boost/spirit/home/lex/qi.hpp
+#usr/include/boost/spirit/home/lex/qi/in_state.hpp
+#usr/include/boost/spirit/home/lex/qi/plain_raw_token.hpp
+#usr/include/boost/spirit/home/lex/qi/plain_token.hpp
+#usr/include/boost/spirit/home/lex/qi/plain_tokenid.hpp
+#usr/include/boost/spirit/home/lex/qi/plain_tokenid_mask.hpp
+#usr/include/boost/spirit/home/lex/qi/state_switcher.hpp
+#usr/include/boost/spirit/home/lex/reference.hpp
+#usr/include/boost/spirit/home/lex/tokenize_and_parse.hpp
+#usr/include/boost/spirit/home/lex/tokenize_and_parse_attr.hpp
+#usr/include/boost/spirit/home/phoenix
+#usr/include/boost/spirit/home/phoenix.hpp
+#usr/include/boost/spirit/home/phoenix/algorithm.hpp
+#usr/include/boost/spirit/home/phoenix/bind
+#usr/include/boost/spirit/home/phoenix/bind.hpp
+#usr/include/boost/spirit/home/phoenix/bind/bind_function.hpp
+#usr/include/boost/spirit/home/phoenix/bind/bind_function_object.hpp
+#usr/include/boost/spirit/home/phoenix/bind/bind_member_function.hpp
+#usr/include/boost/spirit/home/phoenix/bind/bind_member_variable.hpp
+#usr/include/boost/spirit/home/phoenix/bind/detail
+#usr/include/boost/spirit/home/phoenix/bind/detail/bind_function.hpp
+#usr/include/boost/spirit/home/phoenix/bind/detail/bind_function_object.hpp
+#usr/include/boost/spirit/home/phoenix/bind/detail/bind_member_function.hpp
+#usr/include/boost/spirit/home/phoenix/bind/detail/function_ptr.hpp
+#usr/include/boost/spirit/home/phoenix/bind/detail/member_function_ptr.hpp
+#usr/include/boost/spirit/home/phoenix/container.hpp
+#usr/include/boost/spirit/home/phoenix/core
+#usr/include/boost/spirit/home/phoenix/core.hpp
+#usr/include/boost/spirit/home/phoenix/core/actor.hpp
+#usr/include/boost/spirit/home/phoenix/core/argument.hpp
+#usr/include/boost/spirit/home/phoenix/core/as_actor.hpp
+#usr/include/boost/spirit/home/phoenix/core/basic_environment.hpp
+#usr/include/boost/spirit/home/phoenix/core/compose.hpp
+#usr/include/boost/spirit/home/phoenix/core/composite.hpp
+#usr/include/boost/spirit/home/phoenix/core/detail
+#usr/include/boost/spirit/home/phoenix/core/detail/actor.hpp
+#usr/include/boost/spirit/home/phoenix/core/detail/basic_environment.hpp
+#usr/include/boost/spirit/home/phoenix/core/detail/compose.hpp
+#usr/include/boost/spirit/home/phoenix/core/detail/composite.hpp
+#usr/include/boost/spirit/home/phoenix/core/detail/composite_eval.hpp
+#usr/include/boost/spirit/home/phoenix/core/detail/composite_info.hpp
+#usr/include/boost/spirit/home/phoenix/core/detail/function_eval.hpp
+#usr/include/boost/spirit/home/phoenix/core/is_actor.hpp
+#usr/include/boost/spirit/home/phoenix/core/limits.hpp
+#usr/include/boost/spirit/home/phoenix/core/nothing.hpp
+#usr/include/boost/spirit/home/phoenix/core/reference.hpp
+#usr/include/boost/spirit/home/phoenix/core/value.hpp
+#usr/include/boost/spirit/home/phoenix/detail
+#usr/include/boost/spirit/home/phoenix/detail/local_reference.hpp
+#usr/include/boost/spirit/home/phoenix/detail/type_deduction.hpp
+#usr/include/boost/spirit/home/phoenix/function
+#usr/include/boost/spirit/home/phoenix/function.hpp
+#usr/include/boost/spirit/home/phoenix/function/detail
+#usr/include/boost/spirit/home/phoenix/function/detail/function_call.hpp
+#usr/include/boost/spirit/home/phoenix/function/function.hpp
+#usr/include/boost/spirit/home/phoenix/fusion
+#usr/include/boost/spirit/home/phoenix/fusion.hpp
+#usr/include/boost/spirit/home/phoenix/fusion/at.hpp
+#usr/include/boost/spirit/home/phoenix/object
+#usr/include/boost/spirit/home/phoenix/object.hpp
+#usr/include/boost/spirit/home/phoenix/object/const_cast.hpp
+#usr/include/boost/spirit/home/phoenix/object/construct.hpp
+#usr/include/boost/spirit/home/phoenix/object/delete.hpp
+#usr/include/boost/spirit/home/phoenix/object/detail
+#usr/include/boost/spirit/home/phoenix/object/detail/construct.hpp
+#usr/include/boost/spirit/home/phoenix/object/detail/construct_eval.hpp
+#usr/include/boost/spirit/home/phoenix/object/detail/new.hpp
+#usr/include/boost/spirit/home/phoenix/object/detail/new_eval.hpp
+#usr/include/boost/spirit/home/phoenix/object/dynamic_cast.hpp
+#usr/include/boost/spirit/home/phoenix/object/new.hpp
+#usr/include/boost/spirit/home/phoenix/object/reinterpret_cast.hpp
+#usr/include/boost/spirit/home/phoenix/object/static_cast.hpp
+#usr/include/boost/spirit/home/phoenix/operator
+#usr/include/boost/spirit/home/phoenix/operator.hpp
+#usr/include/boost/spirit/home/phoenix/operator/arithmetic.hpp
+#usr/include/boost/spirit/home/phoenix/operator/bitwise.hpp
+#usr/include/boost/spirit/home/phoenix/operator/comparison.hpp
+#usr/include/boost/spirit/home/phoenix/operator/detail
+#usr/include/boost/spirit/home/phoenix/operator/detail/binary_compose.hpp
+#usr/include/boost/spirit/home/phoenix/operator/detail/binary_eval.hpp
+#usr/include/boost/spirit/home/phoenix/operator/detail/io.hpp
+#usr/include/boost/spirit/home/phoenix/operator/detail/mem_fun_ptr_eval.hpp
+#usr/include/boost/spirit/home/phoenix/operator/detail/mem_fun_ptr_gen.hpp
+#usr/include/boost/spirit/home/phoenix/operator/detail/mem_fun_ptr_return.hpp
+#usr/include/boost/spirit/home/phoenix/operator/detail/unary_compose.hpp
+#usr/include/boost/spirit/home/phoenix/operator/detail/unary_eval.hpp
+#usr/include/boost/spirit/home/phoenix/operator/if_else.hpp
+#usr/include/boost/spirit/home/phoenix/operator/io.hpp
+#usr/include/boost/spirit/home/phoenix/operator/logical.hpp
+#usr/include/boost/spirit/home/phoenix/operator/member.hpp
+#usr/include/boost/spirit/home/phoenix/operator/self.hpp
+#usr/include/boost/spirit/home/phoenix/scope
+#usr/include/boost/spirit/home/phoenix/scope.hpp
+#usr/include/boost/spirit/home/phoenix/scope/detail
+#usr/include/boost/spirit/home/phoenix/scope/detail/local_gen.hpp
+#usr/include/boost/spirit/home/phoenix/scope/detail/local_variable.hpp
+#usr/include/boost/spirit/home/phoenix/scope/dynamic.hpp
+#usr/include/boost/spirit/home/phoenix/scope/lambda.hpp
+#usr/include/boost/spirit/home/phoenix/scope/let.hpp
+#usr/include/boost/spirit/home/phoenix/scope/local_variable.hpp
+#usr/include/boost/spirit/home/phoenix/scope/scoped_environment.hpp
+#usr/include/boost/spirit/home/phoenix/statement
+#usr/include/boost/spirit/home/phoenix/statement.hpp
+#usr/include/boost/spirit/home/phoenix/statement/detail
+#usr/include/boost/spirit/home/phoenix/statement/detail/catch_all_eval.hpp
+#usr/include/boost/spirit/home/phoenix/statement/detail/catch_composite.hpp
+#usr/include/boost/spirit/home/phoenix/statement/detail/catch_eval.hpp
+#usr/include/boost/spirit/home/phoenix/statement/detail/switch.hpp
+#usr/include/boost/spirit/home/phoenix/statement/detail/switch_eval.hpp
+#usr/include/boost/spirit/home/phoenix/statement/detail/switch_eval.ipp
+#usr/include/boost/spirit/home/phoenix/statement/do_while.hpp
+#usr/include/boost/spirit/home/phoenix/statement/for.hpp
+#usr/include/boost/spirit/home/phoenix/statement/if.hpp
+#usr/include/boost/spirit/home/phoenix/statement/sequence.hpp
+#usr/include/boost/spirit/home/phoenix/statement/switch.hpp
+#usr/include/boost/spirit/home/phoenix/statement/throw.hpp
+#usr/include/boost/spirit/home/phoenix/statement/try_catch.hpp
+#usr/include/boost/spirit/home/phoenix/statement/while.hpp
+#usr/include/boost/spirit/home/phoenix/stl
+#usr/include/boost/spirit/home/phoenix/stl.hpp
+#usr/include/boost/spirit/home/phoenix/stl/algorithm
+#usr/include/boost/spirit/home/phoenix/stl/algorithm.hpp
+#usr/include/boost/spirit/home/phoenix/stl/algorithm/detail
+#usr/include/boost/spirit/home/phoenix/stl/algorithm/detail/begin.hpp
+#usr/include/boost/spirit/home/phoenix/stl/algorithm/detail/decay_array.hpp
+#usr/include/boost/spirit/home/phoenix/stl/algorithm/detail/end.hpp
+#usr/include/boost/spirit/home/phoenix/stl/algorithm/detail/has_equal_range.hpp
+#usr/include/boost/spirit/home/phoenix/stl/algorithm/detail/has_find.hpp
+#usr/include/boost/spirit/home/phoenix/stl/algorithm/detail/has_lower_bound.hpp
+#usr/include/boost/spirit/home/phoenix/stl/algorithm/detail/has_remove.hpp
+#usr/include/boost/spirit/home/phoenix/stl/algorithm/detail/has_remove_if.hpp
+#usr/include/boost/spirit/home/phoenix/stl/algorithm/detail/has_reverse.hpp
+#usr/include/boost/spirit/home/phoenix/stl/algorithm/detail/has_sort.hpp
+#usr/include/boost/spirit/home/phoenix/stl/algorithm/detail/has_unique.hpp
+#usr/include/boost/spirit/home/phoenix/stl/algorithm/detail/has_upper_bound.hpp
+#usr/include/boost/spirit/home/phoenix/stl/algorithm/detail/is_std_hash_map.hpp
+#usr/include/boost/spirit/home/phoenix/stl/algorithm/detail/is_std_hash_set.hpp
+#usr/include/boost/spirit/home/phoenix/stl/algorithm/detail/is_std_list.hpp
+#usr/include/boost/spirit/home/phoenix/stl/algorithm/detail/is_std_map.hpp
+#usr/include/boost/spirit/home/phoenix/stl/algorithm/detail/is_std_set.hpp
+#usr/include/boost/spirit/home/phoenix/stl/algorithm/detail/std_hash_map_fwd.hpp
+#usr/include/boost/spirit/home/phoenix/stl/algorithm/detail/std_hash_set_fwd.hpp
+#usr/include/boost/spirit/home/phoenix/stl/algorithm/iteration.hpp
+#usr/include/boost/spirit/home/phoenix/stl/algorithm/querying.hpp
+#usr/include/boost/spirit/home/phoenix/stl/algorithm/transformation.hpp
+#usr/include/boost/spirit/home/phoenix/stl/container
+#usr/include/boost/spirit/home/phoenix/stl/container.hpp
+#usr/include/boost/spirit/home/phoenix/stl/container/container.hpp
+#usr/include/boost/spirit/home/phoenix/stl/container/detail
+#usr/include/boost/spirit/home/phoenix/stl/container/detail/container.hpp
+#usr/include/boost/spirit/home/phoenix/version.hpp
+#usr/include/boost/spirit/home/qi
+#usr/include/boost/spirit/home/qi.hpp
+#usr/include/boost/spirit/home/qi/action
+#usr/include/boost/spirit/home/qi/action.hpp
+#usr/include/boost/spirit/home/qi/action/action.hpp
+#usr/include/boost/spirit/home/qi/auto
+#usr/include/boost/spirit/home/qi/auto.hpp
+#usr/include/boost/spirit/home/qi/auto/auto.hpp
+#usr/include/boost/spirit/home/qi/auto/create_parser.hpp
+#usr/include/boost/spirit/home/qi/auto/meta_create.hpp
+#usr/include/boost/spirit/home/qi/auxiliary
+#usr/include/boost/spirit/home/qi/auxiliary.hpp
+#usr/include/boost/spirit/home/qi/auxiliary/attr.hpp
+#usr/include/boost/spirit/home/qi/auxiliary/attr_cast.hpp
+#usr/include/boost/spirit/home/qi/auxiliary/eoi.hpp
+#usr/include/boost/spirit/home/qi/auxiliary/eol.hpp
+#usr/include/boost/spirit/home/qi/auxiliary/eps.hpp
+#usr/include/boost/spirit/home/qi/auxiliary/lazy.hpp
+#usr/include/boost/spirit/home/qi/binary
+#usr/include/boost/spirit/home/qi/binary.hpp
+#usr/include/boost/spirit/home/qi/binary/binary.hpp
+#usr/include/boost/spirit/home/qi/char
+#usr/include/boost/spirit/home/qi/char.hpp
+#usr/include/boost/spirit/home/qi/char/char.hpp
+#usr/include/boost/spirit/home/qi/char/char_class.hpp
+#usr/include/boost/spirit/home/qi/char/char_parser.hpp
+#usr/include/boost/spirit/home/qi/detail
+#usr/include/boost/spirit/home/qi/detail/alternative_function.hpp
+#usr/include/boost/spirit/home/qi/detail/assign_to.hpp
+#usr/include/boost/spirit/home/qi/detail/attributes.hpp
+#usr/include/boost/spirit/home/qi/detail/construct.hpp
+#usr/include/boost/spirit/home/qi/detail/enable_lit.hpp
+#usr/include/boost/spirit/home/qi/detail/expect_function.hpp
+#usr/include/boost/spirit/home/qi/detail/fail_function.hpp
+#usr/include/boost/spirit/home/qi/detail/parse.hpp
+#usr/include/boost/spirit/home/qi/detail/parse_auto.hpp
+#usr/include/boost/spirit/home/qi/detail/pass_container.hpp
+#usr/include/boost/spirit/home/qi/detail/pass_function.hpp
+#usr/include/boost/spirit/home/qi/detail/permute_function.hpp
+#usr/include/boost/spirit/home/qi/detail/string_parse.hpp
+#usr/include/boost/spirit/home/qi/detail/unused_skipper.hpp
+#usr/include/boost/spirit/home/qi/directive
+#usr/include/boost/spirit/home/qi/directive.hpp
+#usr/include/boost/spirit/home/qi/directive/as.hpp
+#usr/include/boost/spirit/home/qi/directive/encoding.hpp
+#usr/include/boost/spirit/home/qi/directive/hold.hpp
+#usr/include/boost/spirit/home/qi/directive/lexeme.hpp
+#usr/include/boost/spirit/home/qi/directive/matches.hpp
+#usr/include/boost/spirit/home/qi/directive/no_case.hpp
+#usr/include/boost/spirit/home/qi/directive/no_skip.hpp
+#usr/include/boost/spirit/home/qi/directive/omit.hpp
+#usr/include/boost/spirit/home/qi/directive/raw.hpp
+#usr/include/boost/spirit/home/qi/directive/repeat.hpp
+#usr/include/boost/spirit/home/qi/directive/skip.hpp
+#usr/include/boost/spirit/home/qi/domain.hpp
+#usr/include/boost/spirit/home/qi/match.hpp
+#usr/include/boost/spirit/home/qi/match_auto.hpp
+#usr/include/boost/spirit/home/qi/meta_compiler.hpp
+#usr/include/boost/spirit/home/qi/nonterminal
+#usr/include/boost/spirit/home/qi/nonterminal.hpp
+#usr/include/boost/spirit/home/qi/nonterminal/debug_handler.hpp
+#usr/include/boost/spirit/home/qi/nonterminal/debug_handler_state.hpp
+#usr/include/boost/spirit/home/qi/nonterminal/detail
+#usr/include/boost/spirit/home/qi/nonterminal/detail/fcall.hpp
+#usr/include/boost/spirit/home/qi/nonterminal/detail/parameterized.hpp
+#usr/include/boost/spirit/home/qi/nonterminal/detail/parser_binder.hpp
+#usr/include/boost/spirit/home/qi/nonterminal/error_handler.hpp
+#usr/include/boost/spirit/home/qi/nonterminal/grammar.hpp
+#usr/include/boost/spirit/home/qi/nonterminal/nonterminal_fwd.hpp
+#usr/include/boost/spirit/home/qi/nonterminal/rule.hpp
+#usr/include/boost/spirit/home/qi/nonterminal/simple_trace.hpp
+#usr/include/boost/spirit/home/qi/nonterminal/success_handler.hpp
+#usr/include/boost/spirit/home/qi/numeric
+#usr/include/boost/spirit/home/qi/numeric.hpp
+#usr/include/boost/spirit/home/qi/numeric/bool.hpp
+#usr/include/boost/spirit/home/qi/numeric/bool_policies.hpp
+#usr/include/boost/spirit/home/qi/numeric/detail
+#usr/include/boost/spirit/home/qi/numeric/detail/numeric_utils.hpp
+#usr/include/boost/spirit/home/qi/numeric/detail/real_impl.hpp
+#usr/include/boost/spirit/home/qi/numeric/int.hpp
+#usr/include/boost/spirit/home/qi/numeric/numeric_utils.hpp
+#usr/include/boost/spirit/home/qi/numeric/real.hpp
+#usr/include/boost/spirit/home/qi/numeric/real_policies.hpp
+#usr/include/boost/spirit/home/qi/numeric/uint.hpp
+#usr/include/boost/spirit/home/qi/operator
+#usr/include/boost/spirit/home/qi/operator.hpp
+#usr/include/boost/spirit/home/qi/operator/alternative.hpp
+#usr/include/boost/spirit/home/qi/operator/and_predicate.hpp
+#usr/include/boost/spirit/home/qi/operator/difference.hpp
+#usr/include/boost/spirit/home/qi/operator/expect.hpp
+#usr/include/boost/spirit/home/qi/operator/kleene.hpp
+#usr/include/boost/spirit/home/qi/operator/list.hpp
+#usr/include/boost/spirit/home/qi/operator/not_predicate.hpp
+#usr/include/boost/spirit/home/qi/operator/optional.hpp
+#usr/include/boost/spirit/home/qi/operator/permutation.hpp
+#usr/include/boost/spirit/home/qi/operator/plus.hpp
+#usr/include/boost/spirit/home/qi/operator/sequence.hpp
+#usr/include/boost/spirit/home/qi/operator/sequence_base.hpp
+#usr/include/boost/spirit/home/qi/operator/sequential_or.hpp
+#usr/include/boost/spirit/home/qi/parse.hpp
+#usr/include/boost/spirit/home/qi/parse_attr.hpp
+#usr/include/boost/spirit/home/qi/parser.hpp
+#usr/include/boost/spirit/home/qi/reference.hpp
+#usr/include/boost/spirit/home/qi/skip_flag.hpp
+#usr/include/boost/spirit/home/qi/skip_over.hpp
+#usr/include/boost/spirit/home/qi/stream
+#usr/include/boost/spirit/home/qi/stream.hpp
+#usr/include/boost/spirit/home/qi/stream/detail
+#usr/include/boost/spirit/home/qi/stream/detail/iterator_source.hpp
+#usr/include/boost/spirit/home/qi/stream/detail/match_manip.hpp
+#usr/include/boost/spirit/home/qi/stream/detail/match_manip_auto.hpp
+#usr/include/boost/spirit/home/qi/stream/match_manip.hpp
+#usr/include/boost/spirit/home/qi/stream/match_manip_attr.hpp
+#usr/include/boost/spirit/home/qi/stream/stream.hpp
+#usr/include/boost/spirit/home/qi/string
+#usr/include/boost/spirit/home/qi/string.hpp
+#usr/include/boost/spirit/home/qi/string/detail
+#usr/include/boost/spirit/home/qi/string/detail/tst.hpp
+#usr/include/boost/spirit/home/qi/string/lit.hpp
+#usr/include/boost/spirit/home/qi/string/symbols.hpp
+#usr/include/boost/spirit/home/qi/string/tst.hpp
+#usr/include/boost/spirit/home/qi/string/tst_map.hpp
+#usr/include/boost/spirit/home/qi/what.hpp
+#usr/include/boost/spirit/home/support
+#usr/include/boost/spirit/home/support.hpp
+#usr/include/boost/spirit/home/support/action_dispatch.hpp
+#usr/include/boost/spirit/home/support/adapt_adt_attributes.hpp
+#usr/include/boost/spirit/home/support/algorithm
+#usr/include/boost/spirit/home/support/algorithm/any.hpp
+#usr/include/boost/spirit/home/support/algorithm/any_if.hpp
+#usr/include/boost/spirit/home/support/algorithm/any_if_ns.hpp
+#usr/include/boost/spirit/home/support/algorithm/any_ns.hpp
+#usr/include/boost/spirit/home/support/argument.hpp
+#usr/include/boost/spirit/home/support/argument_expression.hpp
+#usr/include/boost/spirit/home/support/assert_msg.hpp
+#usr/include/boost/spirit/home/support/attributes.hpp
+#usr/include/boost/spirit/home/support/attributes_fwd.hpp
+#usr/include/boost/spirit/home/support/auto
+#usr/include/boost/spirit/home/support/auto/meta_create.hpp
+#usr/include/boost/spirit/home/support/auxiliary
+#usr/include/boost/spirit/home/support/auxiliary/attr_cast.hpp
+#usr/include/boost/spirit/home/support/char_class.hpp
+#usr/include/boost/spirit/home/support/char_encoding
+#usr/include/boost/spirit/home/support/char_encoding/ascii.hpp
+#usr/include/boost/spirit/home/support/char_encoding/iso8859_1.hpp
+#usr/include/boost/spirit/home/support/char_encoding/standard.hpp
+#usr/include/boost/spirit/home/support/char_encoding/standard_wide.hpp
+#usr/include/boost/spirit/home/support/char_encoding/unicode
+#usr/include/boost/spirit/home/support/char_encoding/unicode.hpp
+#usr/include/boost/spirit/home/support/char_encoding/unicode/category_table.hpp
+#usr/include/boost/spirit/home/support/char_encoding/unicode/lowercase_table.hpp
+#usr/include/boost/spirit/home/support/char_encoding/unicode/query.hpp
+#usr/include/boost/spirit/home/support/char_encoding/unicode/script_table.hpp
+#usr/include/boost/spirit/home/support/char_encoding/unicode/uppercase_table.hpp
+#usr/include/boost/spirit/home/support/char_set
+#usr/include/boost/spirit/home/support/char_set/basic_chset.hpp
+#usr/include/boost/spirit/home/support/char_set/range.hpp
+#usr/include/boost/spirit/home/support/char_set/range_functions.hpp
+#usr/include/boost/spirit/home/support/char_set/range_run.hpp
+#usr/include/boost/spirit/home/support/char_set/range_run_impl.hpp
+#usr/include/boost/spirit/home/support/common_terminals.hpp
+#usr/include/boost/spirit/home/support/container.hpp
+#usr/include/boost/spirit/home/support/context.hpp
+#usr/include/boost/spirit/home/support/detail
+#usr/include/boost/spirit/home/support/detail/as_variant.hpp
+#usr/include/boost/spirit/home/support/detail/endian
+#usr/include/boost/spirit/home/support/detail/endian.hpp
+#usr/include/boost/spirit/home/support/detail/endian/cover_operators.hpp
+#usr/include/boost/spirit/home/support/detail/endian/endian.hpp
+#usr/include/boost/spirit/home/support/detail/get_encoding.hpp
+#usr/include/boost/spirit/home/support/detail/hold_any.hpp
+#usr/include/boost/spirit/home/support/detail/is_spirit_tag.hpp
+#usr/include/boost/spirit/home/support/detail/lexer
+#usr/include/boost/spirit/home/support/detail/lexer/char_traits.hpp
+#usr/include/boost/spirit/home/support/detail/lexer/consts.hpp
+#usr/include/boost/spirit/home/support/detail/lexer/containers
+#usr/include/boost/spirit/home/support/detail/lexer/containers/ptr_list.hpp
+#usr/include/boost/spirit/home/support/detail/lexer/containers/ptr_vector.hpp
+#usr/include/boost/spirit/home/support/detail/lexer/conversion
+#usr/include/boost/spirit/home/support/detail/lexer/conversion/char_state_machine.hpp
+#usr/include/boost/spirit/home/support/detail/lexer/debug.hpp
+#usr/include/boost/spirit/home/support/detail/lexer/file_input.hpp
+#usr/include/boost/spirit/home/support/detail/lexer/generate_cpp.hpp
+#usr/include/boost/spirit/home/support/detail/lexer/generate_re2c.hpp
+#usr/include/boost/spirit/home/support/detail/lexer/generator.hpp
+#usr/include/boost/spirit/home/support/detail/lexer/input.hpp
+#usr/include/boost/spirit/home/support/detail/lexer/internals.hpp
+#usr/include/boost/spirit/home/support/detail/lexer/parser
+#usr/include/boost/spirit/home/support/detail/lexer/parser/parser.hpp
+#usr/include/boost/spirit/home/support/detail/lexer/parser/tokeniser
+#usr/include/boost/spirit/home/support/detail/lexer/parser/tokeniser/num_token.hpp
+#usr/include/boost/spirit/home/support/detail/lexer/parser/tokeniser/re_tokeniser.hpp
+#usr/include/boost/spirit/home/support/detail/lexer/parser/tokeniser/re_tokeniser_helper.hpp
+#usr/include/boost/spirit/home/support/detail/lexer/parser/tokeniser/re_tokeniser_state.hpp
+#usr/include/boost/spirit/home/support/detail/lexer/parser/tree
+#usr/include/boost/spirit/home/support/detail/lexer/parser/tree/end_node.hpp
+#usr/include/boost/spirit/home/support/detail/lexer/parser/tree/iteration_node.hpp
+#usr/include/boost/spirit/home/support/detail/lexer/parser/tree/leaf_node.hpp
+#usr/include/boost/spirit/home/support/detail/lexer/parser/tree/node.hpp
+#usr/include/boost/spirit/home/support/detail/lexer/parser/tree/selection_node.hpp
+#usr/include/boost/spirit/home/support/detail/lexer/parser/tree/sequence_node.hpp
+#usr/include/boost/spirit/home/support/detail/lexer/partition
+#usr/include/boost/spirit/home/support/detail/lexer/partition/charset.hpp
+#usr/include/boost/spirit/home/support/detail/lexer/partition/equivset.hpp
+#usr/include/boost/spirit/home/support/detail/lexer/rules.hpp
+#usr/include/boost/spirit/home/support/detail/lexer/runtime_error.hpp
+#usr/include/boost/spirit/home/support/detail/lexer/serialise.hpp
+#usr/include/boost/spirit/home/support/detail/lexer/size_t.hpp
+#usr/include/boost/spirit/home/support/detail/lexer/state_machine.hpp
+#usr/include/boost/spirit/home/support/detail/lexer/string_token.hpp
+#usr/include/boost/spirit/home/support/detail/make_cons.hpp
+#usr/include/boost/spirit/home/support/detail/make_vector.hpp
+#usr/include/boost/spirit/home/support/detail/math
+#usr/include/boost/spirit/home/support/detail/math/detail
+#usr/include/boost/spirit/home/support/detail/math/detail/fp_traits.hpp
+#usr/include/boost/spirit/home/support/detail/math/fpclassify.hpp
+#usr/include/boost/spirit/home/support/detail/math/signbit.hpp
+#usr/include/boost/spirit/home/support/detail/pow10.hpp
+#usr/include/boost/spirit/home/support/detail/scoped_enum_emulation.hpp
+#usr/include/boost/spirit/home/support/detail/sign.hpp
+#usr/include/boost/spirit/home/support/detail/what_function.hpp
+#usr/include/boost/spirit/home/support/extended_variant.hpp
+#usr/include/boost/spirit/home/support/handles_container.hpp
+#usr/include/boost/spirit/home/support/has_semantic_action.hpp
+#usr/include/boost/spirit/home/support/info.hpp
+#usr/include/boost/spirit/home/support/iterators
+#usr/include/boost/spirit/home/support/iterators/detail
+#usr/include/boost/spirit/home/support/iterators/detail/buf_id_check_policy.hpp
+#usr/include/boost/spirit/home/support/iterators/detail/buffering_input_iterator_policy.hpp
+#usr/include/boost/spirit/home/support/iterators/detail/combine_policies.hpp
+#usr/include/boost/spirit/home/support/iterators/detail/first_owner_policy.hpp
+#usr/include/boost/spirit/home/support/iterators/detail/fixed_size_queue.hpp
+#usr/include/boost/spirit/home/support/iterators/detail/fixed_size_queue_policy.hpp
+#usr/include/boost/spirit/home/support/iterators/detail/functor_input_policy.hpp
+#usr/include/boost/spirit/home/support/iterators/detail/input_iterator_policy.hpp
+#usr/include/boost/spirit/home/support/iterators/detail/istream_policy.hpp
+#usr/include/boost/spirit/home/support/iterators/detail/lex_input_policy.hpp
+#usr/include/boost/spirit/home/support/iterators/detail/multi_pass.hpp
+#usr/include/boost/spirit/home/support/iterators/detail/no_check_policy.hpp
+#usr/include/boost/spirit/home/support/iterators/detail/ref_counted_policy.hpp
+#usr/include/boost/spirit/home/support/iterators/detail/split_functor_input_policy.hpp
+#usr/include/boost/spirit/home/support/iterators/detail/split_std_deque_policy.hpp
+#usr/include/boost/spirit/home/support/iterators/istream_iterator.hpp
+#usr/include/boost/spirit/home/support/iterators/line_pos_iterator.hpp
+#usr/include/boost/spirit/home/support/iterators/look_ahead.hpp
+#usr/include/boost/spirit/home/support/iterators/multi_pass.hpp
+#usr/include/boost/spirit/home/support/iterators/multi_pass_fwd.hpp
+#usr/include/boost/spirit/home/support/iterators/ostream_iterator.hpp
+#usr/include/boost/spirit/home/support/lazy.hpp
+#usr/include/boost/spirit/home/support/limits.hpp
+#usr/include/boost/spirit/home/support/make_component.hpp
+#usr/include/boost/spirit/home/support/meta_compiler.hpp
+#usr/include/boost/spirit/home/support/modify.hpp
+#usr/include/boost/spirit/home/support/multi_pass.hpp
+#usr/include/boost/spirit/home/support/multi_pass_wrapper.hpp
+#usr/include/boost/spirit/home/support/nonterminal
+#usr/include/boost/spirit/home/support/nonterminal/expand_arg.hpp
+#usr/include/boost/spirit/home/support/nonterminal/extract_param.hpp
+#usr/include/boost/spirit/home/support/nonterminal/locals.hpp
+#usr/include/boost/spirit/home/support/numeric_traits.hpp
+#usr/include/boost/spirit/home/support/sequence_base_id.hpp
+#usr/include/boost/spirit/home/support/string_traits.hpp
+#usr/include/boost/spirit/home/support/terminal.hpp
+#usr/include/boost/spirit/home/support/terminal_expression.hpp
+#usr/include/boost/spirit/home/support/unused.hpp
+#usr/include/boost/spirit/home/support/utf8.hpp
+#usr/include/boost/spirit/home/support/utree
+#usr/include/boost/spirit/home/support/utree.hpp
+#usr/include/boost/spirit/home/support/utree/detail
+#usr/include/boost/spirit/home/support/utree/detail/utree_detail1.hpp
+#usr/include/boost/spirit/home/support/utree/detail/utree_detail2.hpp
+#usr/include/boost/spirit/home/support/utree/operators.hpp
+#usr/include/boost/spirit/home/support/utree/utree.hpp
+#usr/include/boost/spirit/home/support/utree/utree_traits.hpp
+#usr/include/boost/spirit/home/support/utree/utree_traits_fwd.hpp
+#usr/include/boost/spirit/include
+#usr/include/boost/spirit/include/classic.hpp
+#usr/include/boost/spirit/include/classic_actions.hpp
+#usr/include/boost/spirit/include/classic_actor.hpp
+#usr/include/boost/spirit/include/classic_alternative.hpp
+#usr/include/boost/spirit/include/classic_as_parser.hpp
+#usr/include/boost/spirit/include/classic_assert.hpp
+#usr/include/boost/spirit/include/classic_assign_actor.hpp
+#usr/include/boost/spirit/include/classic_assign_key_actor.hpp
+#usr/include/boost/spirit/include/classic_ast.hpp
+#usr/include/boost/spirit/include/classic_ast_fwd.hpp
+#usr/include/boost/spirit/include/classic_attribute.hpp
+#usr/include/boost/spirit/include/classic_basic_chset.hpp
+#usr/include/boost/spirit/include/classic_chset.hpp
+#usr/include/boost/spirit/include/classic_chset_operators.hpp
+#usr/include/boost/spirit/include/classic_clear_actor.hpp
+#usr/include/boost/spirit/include/classic_closure.hpp
+#usr/include/boost/spirit/include/classic_closure_context.hpp
+#usr/include/boost/spirit/include/classic_closure_fwd.hpp
+#usr/include/boost/spirit/include/classic_common.hpp
+#usr/include/boost/spirit/include/classic_common_fwd.hpp
+#usr/include/boost/spirit/include/classic_composite.hpp
+#usr/include/boost/spirit/include/classic_config.hpp
+#usr/include/boost/spirit/include/classic_confix.hpp
+#usr/include/boost/spirit/include/classic_confix_fwd.hpp
+#usr/include/boost/spirit/include/classic_core.hpp
+#usr/include/boost/spirit/include/classic_debug.hpp
+#usr/include/boost/spirit/include/classic_debug_node.hpp
+#usr/include/boost/spirit/include/classic_decrement_actor.hpp
+#usr/include/boost/spirit/include/classic_difference.hpp
+#usr/include/boost/spirit/include/classic_directives.hpp
+#usr/include/boost/spirit/include/classic_distinct.hpp
+#usr/include/boost/spirit/include/classic_distinct_fwd.hpp
+#usr/include/boost/spirit/include/classic_dynamic.hpp
+#usr/include/boost/spirit/include/classic_epsilon.hpp
+#usr/include/boost/spirit/include/classic_erase_actor.hpp
+#usr/include/boost/spirit/include/classic_error_handling.hpp
+#usr/include/boost/spirit/include/classic_escape_char.hpp
+#usr/include/boost/spirit/include/classic_escape_char_fwd.hpp
+#usr/include/boost/spirit/include/classic_exceptions.hpp
+#usr/include/boost/spirit/include/classic_exceptions_fwd.hpp
+#usr/include/boost/spirit/include/classic_exclusive_or.hpp
+#usr/include/boost/spirit/include/classic_file_iterator.hpp
+#usr/include/boost/spirit/include/classic_file_iterator_fwd.hpp
+#usr/include/boost/spirit/include/classic_fixed_size_queue.hpp
+#usr/include/boost/spirit/include/classic_flush_multi_pass.hpp
+#usr/include/boost/spirit/include/classic_for.hpp
+#usr/include/boost/spirit/include/classic_functor_parser.hpp
+#usr/include/boost/spirit/include/classic_fundamental.hpp
+#usr/include/boost/spirit/include/classic_grammar.hpp
+#usr/include/boost/spirit/include/classic_grammar_def.hpp
+#usr/include/boost/spirit/include/classic_grammar_def_fwd.hpp
+#usr/include/boost/spirit/include/classic_if.hpp
+#usr/include/boost/spirit/include/classic_increment_actor.hpp
+#usr/include/boost/spirit/include/classic_insert_at_actor.hpp
+#usr/include/boost/spirit/include/classic_insert_key_actor.hpp
+#usr/include/boost/spirit/include/classic_intersection.hpp
+#usr/include/boost/spirit/include/classic_iterator.hpp
+#usr/include/boost/spirit/include/classic_kleene_star.hpp
+#usr/include/boost/spirit/include/classic_lazy.hpp
+#usr/include/boost/spirit/include/classic_list.hpp
+#usr/include/boost/spirit/include/classic_lists.hpp
+#usr/include/boost/spirit/include/classic_lists_fwd.hpp
+#usr/include/boost/spirit/include/classic_loops.hpp
+#usr/include/boost/spirit/include/classic_match.hpp
+#usr/include/boost/spirit/include/classic_meta.hpp
+#usr/include/boost/spirit/include/classic_minimal.hpp
+#usr/include/boost/spirit/include/classic_multi_pass.hpp
+#usr/include/boost/spirit/include/classic_multi_pass_fwd.hpp
+#usr/include/boost/spirit/include/classic_nil.hpp
+#usr/include/boost/spirit/include/classic_no_actions.hpp
+#usr/include/boost/spirit/include/classic_numerics.hpp
+#usr/include/boost/spirit/include/classic_numerics_fwd.hpp
+#usr/include/boost/spirit/include/classic_operators.hpp
+#usr/include/boost/spirit/include/classic_optional.hpp
+#usr/include/boost/spirit/include/classic_parametric.hpp
+#usr/include/boost/spirit/include/classic_parse_tree.hpp
+#usr/include/boost/spirit/include/classic_parse_tree_fwd.hpp
+#usr/include/boost/spirit/include/classic_parse_tree_utils.hpp
+#usr/include/boost/spirit/include/classic_parser.hpp
+#usr/include/boost/spirit/include/classic_parser_context.hpp
+#usr/include/boost/spirit/include/classic_parser_id.hpp
+#usr/include/boost/spirit/include/classic_parser_names.hpp
+#usr/include/boost/spirit/include/classic_parser_traits.hpp
+#usr/include/boost/spirit/include/classic_position_iterator.hpp
+#usr/include/boost/spirit/include/classic_position_iterator_fwd.hpp
+#usr/include/boost/spirit/include/classic_positive.hpp
+#usr/include/boost/spirit/include/classic_primitives.hpp
+#usr/include/boost/spirit/include/classic_push_back_actor.hpp
+#usr/include/boost/spirit/include/classic_push_front_actor.hpp
+#usr/include/boost/spirit/include/classic_range_run.hpp
+#usr/include/boost/spirit/include/classic_ref_actor.hpp
+#usr/include/boost/spirit/include/classic_ref_const_ref_actor.hpp
+#usr/include/boost/spirit/include/classic_ref_const_ref_const_ref_a.hpp
+#usr/include/boost/spirit/include/classic_ref_const_ref_value_actor.hpp
+#usr/include/boost/spirit/include/classic_ref_value_actor.hpp
+#usr/include/boost/spirit/include/classic_refactoring.hpp
+#usr/include/boost/spirit/include/classic_regex.hpp
+#usr/include/boost/spirit/include/classic_rule.hpp
+#usr/include/boost/spirit/include/classic_rule_alias.hpp
+#usr/include/boost/spirit/include/classic_rule_parser.hpp
+#usr/include/boost/spirit/include/classic_safe_bool.hpp
+#usr/include/boost/spirit/include/classic_scanner.hpp
+#usr/include/boost/spirit/include/classic_scanner_fwd.hpp
+#usr/include/boost/spirit/include/classic_scoped_lock.hpp
+#usr/include/boost/spirit/include/classic_select.hpp
+#usr/include/boost/spirit/include/classic_sequence.hpp
+#usr/include/boost/spirit/include/classic_sequential_and.hpp
+#usr/include/boost/spirit/include/classic_sequential_or.hpp
+#usr/include/boost/spirit/include/classic_skipper.hpp
+#usr/include/boost/spirit/include/classic_skipper_fwd.hpp
+#usr/include/boost/spirit/include/classic_spirit.hpp
+#usr/include/boost/spirit/include/classic_static.hpp
+#usr/include/boost/spirit/include/classic_stored_rule.hpp
+#usr/include/boost/spirit/include/classic_stored_rule_fwd.hpp
+#usr/include/boost/spirit/include/classic_subrule.hpp
+#usr/include/boost/spirit/include/classic_subrule_fwd.hpp
+#usr/include/boost/spirit/include/classic_swap_actor.hpp
+#usr/include/boost/spirit/include/classic_switch.hpp
+#usr/include/boost/spirit/include/classic_symbols.hpp
+#usr/include/boost/spirit/include/classic_symbols_fwd.hpp
+#usr/include/boost/spirit/include/classic_traverse.hpp
+#usr/include/boost/spirit/include/classic_tree_to_xml.hpp
+#usr/include/boost/spirit/include/classic_typeof.hpp
+#usr/include/boost/spirit/include/classic_utility.hpp
+#usr/include/boost/spirit/include/classic_version.hpp
+#usr/include/boost/spirit/include/classic_while.hpp
+#usr/include/boost/spirit/include/karma.hpp
+#usr/include/boost/spirit/include/karma_action.hpp
+#usr/include/boost/spirit/include/karma_alternative.hpp
+#usr/include/boost/spirit/include/karma_and_predicate.hpp
+#usr/include/boost/spirit/include/karma_as.hpp
+#usr/include/boost/spirit/include/karma_attr_cast.hpp
+#usr/include/boost/spirit/include/karma_auto.hpp
+#usr/include/boost/spirit/include/karma_auxiliary.hpp
+#usr/include/boost/spirit/include/karma_binary.hpp
+#usr/include/boost/spirit/include/karma_bool.hpp
+#usr/include/boost/spirit/include/karma_buffer.hpp
+#usr/include/boost/spirit/include/karma_center_alignment.hpp
+#usr/include/boost/spirit/include/karma_char.hpp
+#usr/include/boost/spirit/include/karma_char_.hpp
+#usr/include/boost/spirit/include/karma_char_class.hpp
+#usr/include/boost/spirit/include/karma_columns.hpp
+#usr/include/boost/spirit/include/karma_delimit.hpp
+#usr/include/boost/spirit/include/karma_directive.hpp
+#usr/include/boost/spirit/include/karma_domain.hpp
+#usr/include/boost/spirit/include/karma_duplicate.hpp
+#usr/include/boost/spirit/include/karma_eol.hpp
+#usr/include/boost/spirit/include/karma_eps.hpp
+#usr/include/boost/spirit/include/karma_format.hpp
+#usr/include/boost/spirit/include/karma_format_attr.hpp
+#usr/include/boost/spirit/include/karma_format_auto.hpp
+#usr/include/boost/spirit/include/karma_generate.hpp
+#usr/include/boost/spirit/include/karma_generate_attr.hpp
+#usr/include/boost/spirit/include/karma_generate_auto.hpp
+#usr/include/boost/spirit/include/karma_grammar.hpp
+#usr/include/boost/spirit/include/karma_int.hpp
+#usr/include/boost/spirit/include/karma_kleene.hpp
+#usr/include/boost/spirit/include/karma_lazy.hpp
+#usr/include/boost/spirit/include/karma_left_alignment.hpp
+#usr/include/boost/spirit/include/karma_list.hpp
+#usr/include/boost/spirit/include/karma_maxwidth.hpp
+#usr/include/boost/spirit/include/karma_no_delimit.hpp
+#usr/include/boost/spirit/include/karma_nonterminal.hpp
+#usr/include/boost/spirit/include/karma_not_predicate.hpp
+#usr/include/boost/spirit/include/karma_numeric.hpp
+#usr/include/boost/spirit/include/karma_omit.hpp
+#usr/include/boost/spirit/include/karma_operator.hpp
+#usr/include/boost/spirit/include/karma_optional.hpp
+#usr/include/boost/spirit/include/karma_phoenix_attributes.hpp
+#usr/include/boost/spirit/include/karma_plus.hpp
+#usr/include/boost/spirit/include/karma_real.hpp
+#usr/include/boost/spirit/include/karma_repeat.hpp
+#usr/include/boost/spirit/include/karma_right_alignment.hpp
+#usr/include/boost/spirit/include/karma_rule.hpp
+#usr/include/boost/spirit/include/karma_sequence.hpp
+#usr/include/boost/spirit/include/karma_stream.hpp
+#usr/include/boost/spirit/include/karma_strict_relaxed.hpp
+#usr/include/boost/spirit/include/karma_string.hpp
+#usr/include/boost/spirit/include/karma_symbols.hpp
+#usr/include/boost/spirit/include/karma_uint.hpp
+#usr/include/boost/spirit/include/karma_upper_lower_case.hpp
+#usr/include/boost/spirit/include/karma_verbatim.hpp
+#usr/include/boost/spirit/include/karma_what.hpp
+#usr/include/boost/spirit/include/lex.hpp
+#usr/include/boost/spirit/include/lex_char_token_def.hpp
+#usr/include/boost/spirit/include/lex_domain.hpp
+#usr/include/boost/spirit/include/lex_generate_static_lexertl.hpp
+#usr/include/boost/spirit/include/lex_lexer.hpp
+#usr/include/boost/spirit/include/lex_lexertl.hpp
+#usr/include/boost/spirit/include/lex_lexertl_position_token.hpp
+#usr/include/boost/spirit/include/lex_lexertl_token.hpp
+#usr/include/boost/spirit/include/lex_plain_token.hpp
+#usr/include/boost/spirit/include/lex_primitives.hpp
+#usr/include/boost/spirit/include/lex_static_lexertl.hpp
+#usr/include/boost/spirit/include/lex_tokenize_and_parse.hpp
+#usr/include/boost/spirit/include/lex_tokenize_and_parse_attr.hpp
+#usr/include/boost/spirit/include/phoenix.hpp
+#usr/include/boost/spirit/include/phoenix1.hpp
+#usr/include/boost/spirit/include/phoenix1_actor.hpp
+#usr/include/boost/spirit/include/phoenix1_binders.hpp
+#usr/include/boost/spirit/include/phoenix1_casts.hpp
+#usr/include/boost/spirit/include/phoenix1_closures.hpp
+#usr/include/boost/spirit/include/phoenix1_composite.hpp
+#usr/include/boost/spirit/include/phoenix1_functions.hpp
+#usr/include/boost/spirit/include/phoenix1_new.hpp
+#usr/include/boost/spirit/include/phoenix1_operators.hpp
+#usr/include/boost/spirit/include/phoenix1_primitives.hpp
+#usr/include/boost/spirit/include/phoenix1_special_ops.hpp
+#usr/include/boost/spirit/include/phoenix1_statements.hpp
+#usr/include/boost/spirit/include/phoenix1_tuple_helpers.hpp
+#usr/include/boost/spirit/include/phoenix1_tuples.hpp
+#usr/include/boost/spirit/include/phoenix_algorithm.hpp
+#usr/include/boost/spirit/include/phoenix_bind.hpp
+#usr/include/boost/spirit/include/phoenix_container.hpp
+#usr/include/boost/spirit/include/phoenix_core.hpp
+#usr/include/boost/spirit/include/phoenix_function.hpp
+#usr/include/boost/spirit/include/phoenix_fusion.hpp
+#usr/include/boost/spirit/include/phoenix_limits.hpp
+#usr/include/boost/spirit/include/phoenix_object.hpp
+#usr/include/boost/spirit/include/phoenix_operator.hpp
+#usr/include/boost/spirit/include/phoenix_scope.hpp
+#usr/include/boost/spirit/include/phoenix_statement.hpp
+#usr/include/boost/spirit/include/phoenix_stl.hpp
+#usr/include/boost/spirit/include/phoenix_version.hpp
+#usr/include/boost/spirit/include/qi.hpp
+#usr/include/boost/spirit/include/qi_action.hpp
+#usr/include/boost/spirit/include/qi_alternative.hpp
+#usr/include/boost/spirit/include/qi_and_predicate.hpp
+#usr/include/boost/spirit/include/qi_as.hpp
+#usr/include/boost/spirit/include/qi_as_string.hpp
+#usr/include/boost/spirit/include/qi_attr.hpp
+#usr/include/boost/spirit/include/qi_attr_cast.hpp
+#usr/include/boost/spirit/include/qi_auto.hpp
+#usr/include/boost/spirit/include/qi_auxiliary.hpp
+#usr/include/boost/spirit/include/qi_binary.hpp
+#usr/include/boost/spirit/include/qi_bool.hpp
+#usr/include/boost/spirit/include/qi_char.hpp
+#usr/include/boost/spirit/include/qi_char_.hpp
+#usr/include/boost/spirit/include/qi_char_class.hpp
+#usr/include/boost/spirit/include/qi_core.hpp
+#usr/include/boost/spirit/include/qi_difference.hpp
+#usr/include/boost/spirit/include/qi_directive.hpp
+#usr/include/boost/spirit/include/qi_domain.hpp
+#usr/include/boost/spirit/include/qi_eoi.hpp
+#usr/include/boost/spirit/include/qi_eol.hpp
+#usr/include/boost/spirit/include/qi_eps.hpp
+#usr/include/boost/spirit/include/qi_expect.hpp
+#usr/include/boost/spirit/include/qi_grammar.hpp
+#usr/include/boost/spirit/include/qi_hold.hpp
+#usr/include/boost/spirit/include/qi_int.hpp
+#usr/include/boost/spirit/include/qi_kleene.hpp
+#usr/include/boost/spirit/include/qi_lazy.hpp
+#usr/include/boost/spirit/include/qi_lexeme.hpp
+#usr/include/boost/spirit/include/qi_list.hpp
+#usr/include/boost/spirit/include/qi_lit.hpp
+#usr/include/boost/spirit/include/qi_match.hpp
+#usr/include/boost/spirit/include/qi_match_attr.hpp
+#usr/include/boost/spirit/include/qi_match_auto.hpp
+#usr/include/boost/spirit/include/qi_matches.hpp
+#usr/include/boost/spirit/include/qi_no_case.hpp
+#usr/include/boost/spirit/include/qi_no_skip.hpp
+#usr/include/boost/spirit/include/qi_nonterminal.hpp
+#usr/include/boost/spirit/include/qi_not_predicate.hpp
+#usr/include/boost/spirit/include/qi_numeric.hpp
+#usr/include/boost/spirit/include/qi_omit.hpp
+#usr/include/boost/spirit/include/qi_operator.hpp
+#usr/include/boost/spirit/include/qi_optional.hpp
+#usr/include/boost/spirit/include/qi_parse.hpp
+#usr/include/boost/spirit/include/qi_parse_attr.hpp
+#usr/include/boost/spirit/include/qi_parse_auto.hpp
+#usr/include/boost/spirit/include/qi_permutation.hpp
+#usr/include/boost/spirit/include/qi_plus.hpp
+#usr/include/boost/spirit/include/qi_raw.hpp
+#usr/include/boost/spirit/include/qi_real.hpp
+#usr/include/boost/spirit/include/qi_repeat.hpp
+#usr/include/boost/spirit/include/qi_rule.hpp
+#usr/include/boost/spirit/include/qi_sequence.hpp
+#usr/include/boost/spirit/include/qi_sequential_or.hpp
+#usr/include/boost/spirit/include/qi_skip.hpp
+#usr/include/boost/spirit/include/qi_stream.hpp
+#usr/include/boost/spirit/include/qi_string.hpp
+#usr/include/boost/spirit/include/qi_symbols.hpp
+#usr/include/boost/spirit/include/qi_uint.hpp
+#usr/include/boost/spirit/include/qi_what.hpp
+#usr/include/boost/spirit/include/support.hpp
+#usr/include/boost/spirit/include/support_adapt_adt_attributes.hpp
+#usr/include/boost/spirit/include/support_any.hpp
+#usr/include/boost/spirit/include/support_any_if.hpp
+#usr/include/boost/spirit/include/support_any_if_ns.hpp
+#usr/include/boost/spirit/include/support_any_ns.hpp
+#usr/include/boost/spirit/include/support_argument.hpp
+#usr/include/boost/spirit/include/support_ascii.hpp
+#usr/include/boost/spirit/include/support_attributes.hpp
+#usr/include/boost/spirit/include/support_attributes_fwd.hpp
+#usr/include/boost/spirit/include/support_char_class.hpp
+#usr/include/boost/spirit/include/support_container.hpp
+#usr/include/boost/spirit/include/support_extended_variant.hpp
+#usr/include/boost/spirit/include/support_info.hpp
+#usr/include/boost/spirit/include/support_iso8859_1.hpp
+#usr/include/boost/spirit/include/support_istream_iterator.hpp
+#usr/include/boost/spirit/include/support_line_pos_iterator.hpp
+#usr/include/boost/spirit/include/support_locals.hpp
+#usr/include/boost/spirit/include/support_look_ahead.hpp
+#usr/include/boost/spirit/include/support_modify.hpp
+#usr/include/boost/spirit/include/support_multi_pass.hpp
+#usr/include/boost/spirit/include/support_multi_pass_fwd.hpp
+#usr/include/boost/spirit/include/support_ostream_iterator.hpp
+#usr/include/boost/spirit/include/support_standard.hpp
+#usr/include/boost/spirit/include/support_standard_wide.hpp
+#usr/include/boost/spirit/include/support_string_traits.hpp
+#usr/include/boost/spirit/include/support_unused.hpp
+#usr/include/boost/spirit/include/support_utree.hpp
+#usr/include/boost/spirit/include/version.hpp
+#usr/include/boost/spirit/repository
+#usr/include/boost/spirit/repository/home
+#usr/include/boost/spirit/repository/home/karma
+#usr/include/boost/spirit/repository/home/karma.hpp
+#usr/include/boost/spirit/repository/home/karma/directive
+#usr/include/boost/spirit/repository/home/karma/directive.hpp
+#usr/include/boost/spirit/repository/home/karma/directive/confix.hpp
+#usr/include/boost/spirit/repository/home/karma/nonterminal
+#usr/include/boost/spirit/repository/home/karma/nonterminal.hpp
+#usr/include/boost/spirit/repository/home/karma/nonterminal/subrule.hpp
+#usr/include/boost/spirit/repository/home/qi
+#usr/include/boost/spirit/repository/home/qi.hpp
+#usr/include/boost/spirit/repository/home/qi/directive
+#usr/include/boost/spirit/repository/home/qi/directive.hpp
+#usr/include/boost/spirit/repository/home/qi/directive/confix.hpp
+#usr/include/boost/spirit/repository/home/qi/directive/distinct.hpp
+#usr/include/boost/spirit/repository/home/qi/directive/kwd.hpp
+#usr/include/boost/spirit/repository/home/qi/directive/seek.hpp
+#usr/include/boost/spirit/repository/home/qi/nonterminal
+#usr/include/boost/spirit/repository/home/qi/nonterminal.hpp
+#usr/include/boost/spirit/repository/home/qi/nonterminal/subrule.hpp
+#usr/include/boost/spirit/repository/home/qi/operator
+#usr/include/boost/spirit/repository/home/qi/operator.hpp
+#usr/include/boost/spirit/repository/home/qi/operator/detail
+#usr/include/boost/spirit/repository/home/qi/operator/detail/keywords.hpp
+#usr/include/boost/spirit/repository/home/qi/operator/keywords.hpp
+#usr/include/boost/spirit/repository/home/qi/primitive
+#usr/include/boost/spirit/repository/home/qi/primitive.hpp
+#usr/include/boost/spirit/repository/home/qi/primitive/advance.hpp
+#usr/include/boost/spirit/repository/home/qi/primitive/flush_multi_pass.hpp
+#usr/include/boost/spirit/repository/home/qi/primitive/iter_pos.hpp
+#usr/include/boost/spirit/repository/home/support
+#usr/include/boost/spirit/repository/home/support/confix.hpp
+#usr/include/boost/spirit/repository/home/support/distinct.hpp
+#usr/include/boost/spirit/repository/home/support/flush_multi_pass.hpp
+#usr/include/boost/spirit/repository/home/support/kwd.hpp
+#usr/include/boost/spirit/repository/home/support/seek.hpp
+#usr/include/boost/spirit/repository/home/support/subrule_context.hpp
+#usr/include/boost/spirit/repository/include
+#usr/include/boost/spirit/repository/include/karma.hpp
+#usr/include/boost/spirit/repository/include/karma_confix.hpp
+#usr/include/boost/spirit/repository/include/karma_directive.hpp
+#usr/include/boost/spirit/repository/include/karma_nonterminal.hpp
+#usr/include/boost/spirit/repository/include/karma_subrule.hpp
+#usr/include/boost/spirit/repository/include/qi.hpp
+#usr/include/boost/spirit/repository/include/qi_advance.hpp
+#usr/include/boost/spirit/repository/include/qi_confix.hpp
+#usr/include/boost/spirit/repository/include/qi_directive.hpp
+#usr/include/boost/spirit/repository/include/qi_distinct.hpp
+#usr/include/boost/spirit/repository/include/qi_flush_multi_pass.hpp
+#usr/include/boost/spirit/repository/include/qi_iter_pos.hpp
+#usr/include/boost/spirit/repository/include/qi_keywords.hpp
+#usr/include/boost/spirit/repository/include/qi_kwd.hpp
+#usr/include/boost/spirit/repository/include/qi_nonterminal.hpp
+#usr/include/boost/spirit/repository/include/qi_primitive.hpp
+#usr/include/boost/spirit/repository/include/qi_seek.hpp
+#usr/include/boost/spirit/repository/include/qi_subrule.hpp
+#usr/include/boost/spirit/version.hpp
+#usr/include/boost/statechart
+#usr/include/boost/statechart/asynchronous_state_machine.hpp
+#usr/include/boost/statechart/custom_reaction.hpp
+#usr/include/boost/statechart/deep_history.hpp
+#usr/include/boost/statechart/deferral.hpp
+#usr/include/boost/statechart/detail
+#usr/include/boost/statechart/detail/avoid_unused_warning.hpp
+#usr/include/boost/statechart/detail/constructor.hpp
+#usr/include/boost/statechart/detail/counted_base.hpp
+#usr/include/boost/statechart/detail/leaf_state.hpp
+#usr/include/boost/statechart/detail/memory.hpp
+#usr/include/boost/statechart/detail/node_state.hpp
+#usr/include/boost/statechart/detail/reaction_dispatcher.hpp
+#usr/include/boost/statechart/detail/rtti_policy.hpp
+#usr/include/boost/statechart/detail/state_base.hpp
+#usr/include/boost/statechart/event.hpp
+#usr/include/boost/statechart/event_base.hpp
+#usr/include/boost/statechart/event_processor.hpp
+#usr/include/boost/statechart/exception_translator.hpp
+#usr/include/boost/statechart/fifo_scheduler.hpp
+#usr/include/boost/statechart/fifo_worker.hpp
+#usr/include/boost/statechart/history.hpp
+#usr/include/boost/statechart/in_state_reaction.hpp
+#usr/include/boost/statechart/null_exception_translator.hpp
+#usr/include/boost/statechart/processor_container.hpp
+#usr/include/boost/statechart/result.hpp
+#usr/include/boost/statechart/shallow_history.hpp
+#usr/include/boost/statechart/simple_state.hpp
+#usr/include/boost/statechart/state.hpp
+#usr/include/boost/statechart/state_machine.hpp
+#usr/include/boost/statechart/termination.hpp
+#usr/include/boost/statechart/transition.hpp
+#usr/include/boost/static_assert.hpp
+#usr/include/boost/strong_typedef.hpp
+#usr/include/boost/swap.hpp
+#usr/include/boost/system
+#usr/include/boost/system/api_config.hpp
+#usr/include/boost/system/config.hpp
+#usr/include/boost/system/cygwin_error.hpp
+#usr/include/boost/system/error_code.hpp
+#usr/include/boost/system/linux_error.hpp
+#usr/include/boost/system/system_error.hpp
+#usr/include/boost/system/windows_error.hpp
+#usr/include/boost/test
+#usr/include/boost/test/auto_unit_test.hpp
+#usr/include/boost/test/debug.hpp
+#usr/include/boost/test/debug_config.hpp
+#usr/include/boost/test/detail
+#usr/include/boost/test/detail/config.hpp
+#usr/include/boost/test/detail/enable_warnings.hpp
+#usr/include/boost/test/detail/fwd_decl.hpp
+#usr/include/boost/test/detail/global_typedef.hpp
+#usr/include/boost/test/detail/log_level.hpp
+#usr/include/boost/test/detail/suppress_warnings.hpp
+#usr/include/boost/test/detail/unit_test_parameters.hpp
+#usr/include/boost/test/detail/workaround.hpp
+#usr/include/boost/test/exception_safety.hpp
+#usr/include/boost/test/execution_monitor.hpp
+#usr/include/boost/test/floating_point_comparison.hpp
+#usr/include/boost/test/framework.hpp
+#usr/include/boost/test/impl
+#usr/include/boost/test/impl/compiler_log_formatter.ipp
+#usr/include/boost/test/impl/cpp_main.ipp
+#usr/include/boost/test/impl/debug.ipp
+#usr/include/boost/test/impl/exception_safety.ipp
+#usr/include/boost/test/impl/execution_monitor.ipp
+#usr/include/boost/test/impl/framework.ipp
+#usr/include/boost/test/impl/interaction_based.ipp
+#usr/include/boost/test/impl/logged_expectations.ipp
+#usr/include/boost/test/impl/plain_report_formatter.ipp
+#usr/include/boost/test/impl/progress_monitor.ipp
+#usr/include/boost/test/impl/results_collector.ipp
+#usr/include/boost/test/impl/results_reporter.ipp
+#usr/include/boost/test/impl/test_main.ipp
+#usr/include/boost/test/impl/test_tools.ipp
+#usr/include/boost/test/impl/unit_test_log.ipp
+#usr/include/boost/test/impl/unit_test_main.ipp
+#usr/include/boost/test/impl/unit_test_monitor.ipp
+#usr/include/boost/test/impl/unit_test_parameters.ipp
+#usr/include/boost/test/impl/unit_test_suite.ipp
+#usr/include/boost/test/impl/xml_log_formatter.ipp
+#usr/include/boost/test/impl/xml_report_formatter.ipp
+#usr/include/boost/test/included
+#usr/include/boost/test/included/prg_exec_monitor.hpp
+#usr/include/boost/test/included/test_exec_monitor.hpp
+#usr/include/boost/test/included/unit_test.hpp
+#usr/include/boost/test/included/unit_test_framework.hpp
+#usr/include/boost/test/interaction_based.hpp
+#usr/include/boost/test/logged_expectations.hpp
+#usr/include/boost/test/minimal.hpp
+#usr/include/boost/test/mock_object.hpp
+#usr/include/boost/test/output
+#usr/include/boost/test/output/compiler_log_formatter.hpp
+#usr/include/boost/test/output/plain_report_formatter.hpp
+#usr/include/boost/test/output/xml_log_formatter.hpp
+#usr/include/boost/test/output/xml_report_formatter.hpp
+#usr/include/boost/test/output_test_stream.hpp
+#usr/include/boost/test/parameterized_test.hpp
+#usr/include/boost/test/predicate_result.hpp
+#usr/include/boost/test/prg_exec_monitor.hpp
+#usr/include/boost/test/progress_monitor.hpp
+#usr/include/boost/test/results_collector.hpp
+#usr/include/boost/test/results_reporter.hpp
+#usr/include/boost/test/test_case_template.hpp
+#usr/include/boost/test/test_exec_monitor.hpp
+#usr/include/boost/test/test_observer.hpp
+#usr/include/boost/test/test_tools.hpp
+#usr/include/boost/test/unit_test.hpp
+#usr/include/boost/test/unit_test_log.hpp
+#usr/include/boost/test/unit_test_log_formatter.hpp
+#usr/include/boost/test/unit_test_monitor.hpp
+#usr/include/boost/test/unit_test_suite.hpp
+#usr/include/boost/test/unit_test_suite_impl.hpp
+#usr/include/boost/test/utils
+#usr/include/boost/test/utils/algorithm.hpp
+#usr/include/boost/test/utils/assign_op.hpp
+#usr/include/boost/test/utils/basic_cstring
+#usr/include/boost/test/utils/basic_cstring/basic_cstring.hpp
+#usr/include/boost/test/utils/basic_cstring/basic_cstring_fwd.hpp
+#usr/include/boost/test/utils/basic_cstring/bcs_char_traits.hpp
+#usr/include/boost/test/utils/basic_cstring/compare.hpp
+#usr/include/boost/test/utils/basic_cstring/io.hpp
+#usr/include/boost/test/utils/callback.hpp
+#usr/include/boost/test/utils/class_properties.hpp
+#usr/include/boost/test/utils/custom_manip.hpp
+#usr/include/boost/test/utils/fixed_mapping.hpp
+#usr/include/boost/test/utils/foreach.hpp
+#usr/include/boost/test/utils/iterator
+#usr/include/boost/test/utils/iterator/ifstream_line_iterator.hpp
+#usr/include/boost/test/utils/iterator/input_iterator_facade.hpp
+#usr/include/boost/test/utils/iterator/istream_line_iterator.hpp
+#usr/include/boost/test/utils/iterator/token_iterator.hpp
+#usr/include/boost/test/utils/lazy_ostream.hpp
+#usr/include/boost/test/utils/named_params.hpp
+#usr/include/boost/test/utils/nullstream.hpp
+#usr/include/boost/test/utils/rtti.hpp
+#usr/include/boost/test/utils/runtime
+#usr/include/boost/test/utils/runtime/argument.hpp
+#usr/include/boost/test/utils/runtime/cla
+#usr/include/boost/test/utils/runtime/cla/argument_factory.hpp
+#usr/include/boost/test/utils/runtime/cla/argv_traverser.hpp
+#usr/include/boost/test/utils/runtime/cla/argv_traverser.ipp
+#usr/include/boost/test/utils/runtime/cla/basic_parameter.hpp
+#usr/include/boost/test/utils/runtime/cla/char_parameter.hpp
+#usr/include/boost/test/utils/runtime/cla/char_parameter.ipp
+#usr/include/boost/test/utils/runtime/cla/detail
+#usr/include/boost/test/utils/runtime/cla/detail/argument_value_usage.hpp
+#usr/include/boost/test/utils/runtime/cla/dual_name_parameter.hpp
+#usr/include/boost/test/utils/runtime/cla/dual_name_parameter.ipp
+#usr/include/boost/test/utils/runtime/cla/fwd.hpp
+#usr/include/boost/test/utils/runtime/cla/id_policy.hpp
+#usr/include/boost/test/utils/runtime/cla/id_policy.ipp
+#usr/include/boost/test/utils/runtime/cla/iface
+#usr/include/boost/test/utils/runtime/cla/iface/argument_factory.hpp
+#usr/include/boost/test/utils/runtime/cla/iface/id_policy.hpp
+#usr/include/boost/test/utils/runtime/cla/modifier.hpp
+#usr/include/boost/test/utils/runtime/cla/named_parameter.hpp
+#usr/include/boost/test/utils/runtime/cla/named_parameter.ipp
+#usr/include/boost/test/utils/runtime/cla/parameter.hpp
+#usr/include/boost/test/utils/runtime/cla/parser.hpp
+#usr/include/boost/test/utils/runtime/cla/parser.ipp
+#usr/include/boost/test/utils/runtime/cla/positional_parameter.hpp
+#usr/include/boost/test/utils/runtime/cla/typed_parameter.hpp
+#usr/include/boost/test/utils/runtime/cla/validation.hpp
+#usr/include/boost/test/utils/runtime/cla/validation.ipp
+#usr/include/boost/test/utils/runtime/cla/value_generator.hpp
+#usr/include/boost/test/utils/runtime/cla/value_handler.hpp
+#usr/include/boost/test/utils/runtime/config.hpp
+#usr/include/boost/test/utils/runtime/configuration.hpp
+#usr/include/boost/test/utils/runtime/env
+#usr/include/boost/test/utils/runtime/env/environment.hpp
+#usr/include/boost/test/utils/runtime/env/environment.ipp
+#usr/include/boost/test/utils/runtime/env/fwd.hpp
+#usr/include/boost/test/utils/runtime/env/modifier.hpp
+#usr/include/boost/test/utils/runtime/env/variable.hpp
+#usr/include/boost/test/utils/runtime/file
+#usr/include/boost/test/utils/runtime/file/config_file.hpp
+#usr/include/boost/test/utils/runtime/file/config_file_iterator.hpp
+#usr/include/boost/test/utils/runtime/fwd.hpp
+#usr/include/boost/test/utils/runtime/interpret_argument_value.hpp
+#usr/include/boost/test/utils/runtime/parameter.hpp
+#usr/include/boost/test/utils/runtime/trace.hpp
+#usr/include/boost/test/utils/runtime/validation.hpp
+#usr/include/boost/test/utils/trivial_singleton.hpp
+#usr/include/boost/test/utils/wrap_stringstream.hpp
+#usr/include/boost/test/utils/xml_printer.hpp
+#usr/include/boost/thread
+#usr/include/boost/thread.hpp
+#usr/include/boost/thread/barrier.hpp
+#usr/include/boost/thread/completion_latch.hpp
+#usr/include/boost/thread/condition.hpp
+#usr/include/boost/thread/condition_variable.hpp
+#usr/include/boost/thread/cv_status.hpp
+#usr/include/boost/thread/detail
+#usr/include/boost/thread/detail/async_func.hpp
+#usr/include/boost/thread/detail/config.hpp
+#usr/include/boost/thread/detail/counter.hpp
+#usr/include/boost/thread/detail/delete.hpp
+#usr/include/boost/thread/detail/force_cast.hpp
+#usr/include/boost/thread/detail/invoke.hpp
+#usr/include/boost/thread/detail/is_convertible.hpp
+#usr/include/boost/thread/detail/lockable_wrapper.hpp
+#usr/include/boost/thread/detail/log.hpp
+#usr/include/boost/thread/detail/make_tuple_indices.hpp
+#usr/include/boost/thread/detail/memory.hpp
+#usr/include/boost/thread/detail/move.hpp
+#usr/include/boost/thread/detail/platform.hpp
+#usr/include/boost/thread/detail/singleton.hpp
+#usr/include/boost/thread/detail/thread.hpp
+#usr/include/boost/thread/detail/thread_group.hpp
+#usr/include/boost/thread/detail/thread_heap_alloc.hpp
+#usr/include/boost/thread/detail/thread_interruption.hpp
+#usr/include/boost/thread/detail/tss_hooks.hpp
+#usr/include/boost/thread/exceptions.hpp
+#usr/include/boost/thread/externally_locked.hpp
+#usr/include/boost/thread/externally_locked_stream.hpp
+#usr/include/boost/thread/future.hpp
+#usr/include/boost/thread/future_error_code.hpp
+#usr/include/boost/thread/is_locked_by_this_thread.hpp
+#usr/include/boost/thread/latch.hpp
+#usr/include/boost/thread/lock_algorithms.hpp
+#usr/include/boost/thread/lock_concepts.hpp
+#usr/include/boost/thread/lock_factories.hpp
+#usr/include/boost/thread/lock_guard.hpp
+#usr/include/boost/thread/lock_options.hpp
+#usr/include/boost/thread/lock_traits.hpp
+#usr/include/boost/thread/lock_types.hpp
+#usr/include/boost/thread/lockable_adapter.hpp
+#usr/include/boost/thread/lockable_concepts.hpp
+#usr/include/boost/thread/lockable_traits.hpp
+#usr/include/boost/thread/locks.hpp
+#usr/include/boost/thread/mutex.hpp
+#usr/include/boost/thread/null_mutex.hpp
+#usr/include/boost/thread/once.hpp
+#usr/include/boost/thread/poly_lockable.hpp
+#usr/include/boost/thread/poly_lockable_adapter.hpp
+#usr/include/boost/thread/poly_shared_lockable.hpp
+#usr/include/boost/thread/poly_shared_lockable_adapter.hpp
+#usr/include/boost/thread/pthread
+#usr/include/boost/thread/pthread/condition_variable.hpp
+#usr/include/boost/thread/pthread/condition_variable_fwd.hpp
+#usr/include/boost/thread/pthread/mutex.hpp
+#usr/include/boost/thread/pthread/once.hpp
+#usr/include/boost/thread/pthread/once_atomic.hpp
+#usr/include/boost/thread/pthread/pthread_mutex_scoped_lock.hpp
+#usr/include/boost/thread/pthread/recursive_mutex.hpp
+#usr/include/boost/thread/pthread/shared_mutex.hpp
+#usr/include/boost/thread/pthread/shared_mutex_assert.hpp
+#usr/include/boost/thread/pthread/thread_data.hpp
+#usr/include/boost/thread/pthread/thread_heap_alloc.hpp
+#usr/include/boost/thread/pthread/timespec.hpp
+#usr/include/boost/thread/recursive_mutex.hpp
+#usr/include/boost/thread/reverse_lock.hpp
+#usr/include/boost/thread/scoped_thread.hpp
+#usr/include/boost/thread/shared_lock_guard.hpp
+#usr/include/boost/thread/shared_mutex.hpp
+#usr/include/boost/thread/strict_lock.hpp
+#usr/include/boost/thread/sync_bounded_queue.hpp
+#usr/include/boost/thread/sync_queue.hpp
+#usr/include/boost/thread/synchronized_value.hpp
+#usr/include/boost/thread/testable_mutex.hpp
+#usr/include/boost/thread/thread.hpp
+#usr/include/boost/thread/thread_functors.hpp
+#usr/include/boost/thread/thread_guard.hpp
+#usr/include/boost/thread/thread_only.hpp
+#usr/include/boost/thread/thread_time.hpp
+#usr/include/boost/thread/tss.hpp
+#usr/include/boost/thread/v2
+#usr/include/boost/thread/v2/shared_mutex.hpp
+#usr/include/boost/thread/v2/thread.hpp
+#usr/include/boost/thread/win32
+#usr/include/boost/thread/win32/basic_recursive_mutex.hpp
+#usr/include/boost/thread/win32/basic_timed_mutex.hpp
+#usr/include/boost/thread/win32/condition_variable.hpp
+#usr/include/boost/thread/win32/interlocked_read.hpp
+#usr/include/boost/thread/win32/mfc_thread_init.hpp
+#usr/include/boost/thread/win32/mutex.hpp
+#usr/include/boost/thread/win32/once.hpp
+#usr/include/boost/thread/win32/recursive_mutex.hpp
+#usr/include/boost/thread/win32/shared_mutex.hpp
+#usr/include/boost/thread/win32/thread_data.hpp
+#usr/include/boost/thread/win32/thread_heap_alloc.hpp
+#usr/include/boost/thread/win32/thread_primitives.hpp
+#usr/include/boost/thread/xtime.hpp
+#usr/include/boost/throw_exception.hpp
+#usr/include/boost/timer
+#usr/include/boost/timer.hpp
+#usr/include/boost/timer/config.hpp
+#usr/include/boost/timer/timer.hpp
+#usr/include/boost/token_functions.hpp
+#usr/include/boost/token_iterator.hpp
+#usr/include/boost/tokenizer.hpp
+#usr/include/boost/tr1
+#usr/include/boost/tr1/array.hpp
+#usr/include/boost/tr1/cmath.hpp
+#usr/include/boost/tr1/complex.hpp
+#usr/include/boost/tr1/detail
+#usr/include/boost/tr1/detail/config.hpp
+#usr/include/boost/tr1/detail/config_all.hpp
+#usr/include/boost/tr1/detail/functor2iterator.hpp
+#usr/include/boost/tr1/detail/math_overloads.hpp
+#usr/include/boost/tr1/functional.hpp
+#usr/include/boost/tr1/memory.hpp
+#usr/include/boost/tr1/random.hpp
+#usr/include/boost/tr1/regex.hpp
+#usr/include/boost/tr1/tr1
+#usr/include/boost/tr1/tr1/algorithm
+#usr/include/boost/tr1/tr1/array
+#usr/include/boost/tr1/tr1/bcc32
+#usr/include/boost/tr1/tr1/bcc32/array.h
+#usr/include/boost/tr1/tr1/bcc32/random.h
+#usr/include/boost/tr1/tr1/bcc32/regex.h
+#usr/include/boost/tr1/tr1/bcc32/tuple.h
+#usr/include/boost/tr1/tr1/bcc32/type_tra.h
+#usr/include/boost/tr1/tr1/bcc32/unordere.h
+#usr/include/boost/tr1/tr1/bitset
+#usr/include/boost/tr1/tr1/cmath
+#usr/include/boost/tr1/tr1/complex
+#usr/include/boost/tr1/tr1/deque
+#usr/include/boost/tr1/tr1/exception
+#usr/include/boost/tr1/tr1/fstream
+#usr/include/boost/tr1/tr1/functional
+#usr/include/boost/tr1/tr1/iomanip
+#usr/include/boost/tr1/tr1/ios
+#usr/include/boost/tr1/tr1/iostream
+#usr/include/boost/tr1/tr1/istream
+#usr/include/boost/tr1/tr1/iterator
+#usr/include/boost/tr1/tr1/limits
+#usr/include/boost/tr1/tr1/list
+#usr/include/boost/tr1/tr1/locale
+#usr/include/boost/tr1/tr1/map
+#usr/include/boost/tr1/tr1/memory
+#usr/include/boost/tr1/tr1/new
+#usr/include/boost/tr1/tr1/numeric
+#usr/include/boost/tr1/tr1/ostream
+#usr/include/boost/tr1/tr1/queue
+#usr/include/boost/tr1/tr1/random
+#usr/include/boost/tr1/tr1/regex
+#usr/include/boost/tr1/tr1/set
+#usr/include/boost/tr1/tr1/sstream
+#usr/include/boost/tr1/tr1/stack
+#usr/include/boost/tr1/tr1/stdexcept
+#usr/include/boost/tr1/tr1/streambuf
+#usr/include/boost/tr1/tr1/string
+#usr/include/boost/tr1/tr1/strstream
+#usr/include/boost/tr1/tr1/sun
+#usr/include/boost/tr1/tr1/sun/algorithm.SUNWCCh
+#usr/include/boost/tr1/tr1/sun/array.SUNWCCh
+#usr/include/boost/tr1/tr1/sun/bcc32.SUNWCCh
+#usr/include/boost/tr1/tr1/sun/bitset.SUNWCCh
+#usr/include/boost/tr1/tr1/sun/cmath.SUNWCCh
+#usr/include/boost/tr1/tr1/sun/complex.SUNWCCh
+#usr/include/boost/tr1/tr1/sun/deque.SUNWCCh
+#usr/include/boost/tr1/tr1/sun/exception.SUNWCCh
+#usr/include/boost/tr1/tr1/sun/fstream.SUNWCCh
+#usr/include/boost/tr1/tr1/sun/functional.SUNWCCh
+#usr/include/boost/tr1/tr1/sun/iomanip.SUNWCCh
+#usr/include/boost/tr1/tr1/sun/ios.SUNWCCh
+#usr/include/boost/tr1/tr1/sun/iostream.SUNWCCh
+#usr/include/boost/tr1/tr1/sun/istream.SUNWCCh
+#usr/include/boost/tr1/tr1/sun/iterator.SUNWCCh
+#usr/include/boost/tr1/tr1/sun/limits.SUNWCCh
+#usr/include/boost/tr1/tr1/sun/list.SUNWCCh
+#usr/include/boost/tr1/tr1/sun/locale.SUNWCCh
+#usr/include/boost/tr1/tr1/sun/map.SUNWCCh
+#usr/include/boost/tr1/tr1/sun/memory.SUNWCCh
+#usr/include/boost/tr1/tr1/sun/new.SUNWCCh
+#usr/include/boost/tr1/tr1/sun/numeric.SUNWCCh
+#usr/include/boost/tr1/tr1/sun/ostream.SUNWCCh
+#usr/include/boost/tr1/tr1/sun/queue.SUNWCCh
+#usr/include/boost/tr1/tr1/sun/random.SUNWCCh
+#usr/include/boost/tr1/tr1/sun/regex.SUNWCCh
+#usr/include/boost/tr1/tr1/sun/set.SUNWCCh
+#usr/include/boost/tr1/tr1/sun/sstream.SUNWCCh
+#usr/include/boost/tr1/tr1/sun/stack.SUNWCCh
+#usr/include/boost/tr1/tr1/sun/stdexcept.SUNWCCh
+#usr/include/boost/tr1/tr1/sun/streambuf.SUNWCCh
+#usr/include/boost/tr1/tr1/sun/string.SUNWCCh
+#usr/include/boost/tr1/tr1/sun/strstream.SUNWCCh
+#usr/include/boost/tr1/tr1/sun/sun.SUNWCCh
+#usr/include/boost/tr1/tr1/sun/tuple.SUNWCCh
+#usr/include/boost/tr1/tr1/sun/type_traits.SUNWCCh
+#usr/include/boost/tr1/tr1/sun/typeinfo.SUNWCCh
+#usr/include/boost/tr1/tr1/sun/unordered_map.SUNWCCh
+#usr/include/boost/tr1/tr1/sun/unordered_set.SUNWCCh
+#usr/include/boost/tr1/tr1/sun/utility.SUNWCCh
+#usr/include/boost/tr1/tr1/sun/valarray.SUNWCCh
+#usr/include/boost/tr1/tr1/sun/vector.SUNWCCh
+#usr/include/boost/tr1/tr1/tuple
+#usr/include/boost/tr1/tr1/type_traits
+#usr/include/boost/tr1/tr1/typeinfo
+#usr/include/boost/tr1/tr1/unordered_map
+#usr/include/boost/tr1/tr1/unordered_set
+#usr/include/boost/tr1/tr1/utility
+#usr/include/boost/tr1/tr1/valarray
+#usr/include/boost/tr1/tr1/vector
+#usr/include/boost/tr1/tuple.hpp
+#usr/include/boost/tr1/type_traits.hpp
+#usr/include/boost/tr1/unordered_map.hpp
+#usr/include/boost/tr1/unordered_set.hpp
+#usr/include/boost/tr1/utility.hpp
+#usr/include/boost/tti
+#usr/include/boost/tti/detail
+#usr/include/boost/tti/detail/dcomp_mem_fun.hpp
+#usr/include/boost/tti/detail/dcomp_static_mem_fun.hpp
+#usr/include/boost/tti/detail/ddata.hpp
+#usr/include/boost/tti/detail/ddeftype.hpp
+#usr/include/boost/tti/detail/dftclass.hpp
+#usr/include/boost/tti/detail/dfunction.hpp
+#usr/include/boost/tti/detail/dlambda.hpp
+#usr/include/boost/tti/detail/dmem_data.hpp
+#usr/include/boost/tti/detail/dmem_fun.hpp
+#usr/include/boost/tti/detail/dmem_type.hpp
+#usr/include/boost/tti/detail/dmetafunc.hpp
+#usr/include/boost/tti/detail/dnotype.hpp
+#usr/include/boost/tti/detail/dnullptr.hpp
+#usr/include/boost/tti/detail/dplaceholder.hpp
+#usr/include/boost/tti/detail/dptmf.hpp
+#usr/include/boost/tti/detail/dstatic_mem_data.hpp
+#usr/include/boost/tti/detail/dstatic_mem_fun.hpp
+#usr/include/boost/tti/detail/dtclass.hpp
+#usr/include/boost/tti/detail/dtemplate.hpp
+#usr/include/boost/tti/detail/dtemplate_params.hpp
+#usr/include/boost/tti/detail/dtfunction.hpp
+#usr/include/boost/tti/detail/dtype.hpp
+#usr/include/boost/tti/detail/dvm_template_params.hpp
+#usr/include/boost/tti/gen
+#usr/include/boost/tti/gen/has_data_gen.hpp
+#usr/include/boost/tti/gen/has_function_gen.hpp
+#usr/include/boost/tti/gen/has_member_data_gen.hpp
+#usr/include/boost/tti/gen/has_member_function_gen.hpp
+#usr/include/boost/tti/gen/has_static_member_data_gen.hpp
+#usr/include/boost/tti/gen/has_static_member_function_gen.hpp
+#usr/include/boost/tti/gen/has_template_gen.hpp
+#usr/include/boost/tti/gen/has_type_gen.hpp
+#usr/include/boost/tti/gen/member_type_gen.hpp
+#usr/include/boost/tti/gen/namespace_gen.hpp
+#usr/include/boost/tti/has_data.hpp
+#usr/include/boost/tti/has_function.hpp
+#usr/include/boost/tti/has_member_data.hpp
+#usr/include/boost/tti/has_member_function.hpp
+#usr/include/boost/tti/has_static_member_data.hpp
+#usr/include/boost/tti/has_static_member_function.hpp
+#usr/include/boost/tti/has_template.hpp
+#usr/include/boost/tti/has_type.hpp
+#usr/include/boost/tti/member_type.hpp
+#usr/include/boost/tti/tti.hpp
+#usr/include/boost/tuple
+#usr/include/boost/tuple/detail
+#usr/include/boost/tuple/detail/tuple_basic.hpp
+#usr/include/boost/tuple/detail/tuple_basic_no_partial_spec.hpp
+#usr/include/boost/tuple/tuple.hpp
+#usr/include/boost/tuple/tuple_comparison.hpp
+#usr/include/boost/tuple/tuple_io.hpp
+#usr/include/boost/type.hpp
+#usr/include/boost/type_erasure
+#usr/include/boost/type_erasure/any.hpp
+#usr/include/boost/type_erasure/any_cast.hpp
+#usr/include/boost/type_erasure/binding.hpp
+#usr/include/boost/type_erasure/binding_of.hpp
+#usr/include/boost/type_erasure/builtin.hpp
+#usr/include/boost/type_erasure/call.hpp
+#usr/include/boost/type_erasure/callable.hpp
+#usr/include/boost/type_erasure/check_match.hpp
+#usr/include/boost/type_erasure/concept_interface.hpp
+#usr/include/boost/type_erasure/concept_of.hpp
+#usr/include/boost/type_erasure/config.hpp
+#usr/include/boost/type_erasure/constructible.hpp
+#usr/include/boost/type_erasure/deduced.hpp
+#usr/include/boost/type_erasure/derived.hpp
+#usr/include/boost/type_erasure/detail
+#usr/include/boost/type_erasure/detail/access.hpp
+#usr/include/boost/type_erasure/detail/adapt_to_vtable.hpp
+#usr/include/boost/type_erasure/detail/any_base.hpp
+#usr/include/boost/type_erasure/detail/check_call.hpp
+#usr/include/boost/type_erasure/detail/check_map.hpp
+#usr/include/boost/type_erasure/detail/const.hpp
+#usr/include/boost/type_erasure/detail/construct.hpp
+#usr/include/boost/type_erasure/detail/extract_concept.hpp
+#usr/include/boost/type_erasure/detail/get_placeholders.hpp
+#usr/include/boost/type_erasure/detail/get_signature.hpp
+#usr/include/boost/type_erasure/detail/instantiate.hpp
+#usr/include/boost/type_erasure/detail/macro.hpp
+#usr/include/boost/type_erasure/detail/normalize.hpp
+#usr/include/boost/type_erasure/detail/normalize_deduced.hpp
+#usr/include/boost/type_erasure/detail/null.hpp
+#usr/include/boost/type_erasure/detail/rebind_placeholders.hpp
+#usr/include/boost/type_erasure/detail/storage.hpp
+#usr/include/boost/type_erasure/detail/vtable.hpp
+#usr/include/boost/type_erasure/exception.hpp
+#usr/include/boost/type_erasure/free.hpp
+#usr/include/boost/type_erasure/is_empty.hpp
+#usr/include/boost/type_erasure/is_placeholder.hpp
+#usr/include/boost/type_erasure/is_subconcept.hpp
+#usr/include/boost/type_erasure/iterator.hpp
+#usr/include/boost/type_erasure/member.hpp
+#usr/include/boost/type_erasure/operators.hpp
+#usr/include/boost/type_erasure/param.hpp
+#usr/include/boost/type_erasure/placeholder.hpp
+#usr/include/boost/type_erasure/placeholder_of.hpp
+#usr/include/boost/type_erasure/rebind_any.hpp
+#usr/include/boost/type_erasure/relaxed.hpp
+#usr/include/boost/type_erasure/require_match.hpp
+#usr/include/boost/type_erasure/same_type.hpp
+#usr/include/boost/type_erasure/static_binding.hpp
+#usr/include/boost/type_erasure/tuple.hpp
+#usr/include/boost/type_erasure/typeid_of.hpp
+#usr/include/boost/type_traits
+#usr/include/boost/type_traits.hpp
+#usr/include/boost/type_traits/add_const.hpp
+#usr/include/boost/type_traits/add_cv.hpp
+#usr/include/boost/type_traits/add_lvalue_reference.hpp
+#usr/include/boost/type_traits/add_pointer.hpp
+#usr/include/boost/type_traits/add_reference.hpp
+#usr/include/boost/type_traits/add_rvalue_reference.hpp
+#usr/include/boost/type_traits/add_volatile.hpp
+#usr/include/boost/type_traits/aligned_storage.hpp
+#usr/include/boost/type_traits/alignment_of.hpp
+#usr/include/boost/type_traits/alignment_traits.hpp
+#usr/include/boost/type_traits/arithmetic_traits.hpp
+#usr/include/boost/type_traits/array_traits.hpp
+#usr/include/boost/type_traits/broken_compiler_spec.hpp
+#usr/include/boost/type_traits/common_type.hpp
+#usr/include/boost/type_traits/composite_traits.hpp
+#usr/include/boost/type_traits/conditional.hpp
+#usr/include/boost/type_traits/config.hpp
+#usr/include/boost/type_traits/conversion_traits.hpp
+#usr/include/boost/type_traits/cv_traits.hpp
+#usr/include/boost/type_traits/decay.hpp
+#usr/include/boost/type_traits/detail
+#usr/include/boost/type_traits/detail/bool_trait_def.hpp
+#usr/include/boost/type_traits/detail/bool_trait_undef.hpp
+#usr/include/boost/type_traits/detail/common_type_imp.hpp
+#usr/include/boost/type_traits/detail/cv_traits_impl.hpp
+#usr/include/boost/type_traits/detail/false_result.hpp
+#usr/include/boost/type_traits/detail/has_binary_operator.hpp
+#usr/include/boost/type_traits/detail/has_postfix_operator.hpp
+#usr/include/boost/type_traits/detail/has_prefix_operator.hpp
+#usr/include/boost/type_traits/detail/ice_and.hpp
+#usr/include/boost/type_traits/detail/ice_eq.hpp
+#usr/include/boost/type_traits/detail/ice_not.hpp
+#usr/include/boost/type_traits/detail/ice_or.hpp
+#usr/include/boost/type_traits/detail/is_function_ptr_helper.hpp
+#usr/include/boost/type_traits/detail/is_function_ptr_tester.hpp
+#usr/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp
+#usr/include/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp
+#usr/include/boost/type_traits/detail/size_t_trait_def.hpp
+#usr/include/boost/type_traits/detail/size_t_trait_undef.hpp
+#usr/include/boost/type_traits/detail/template_arity_spec.hpp
+#usr/include/boost/type_traits/detail/type_trait_def.hpp
+#usr/include/boost/type_traits/detail/type_trait_undef.hpp
+#usr/include/boost/type_traits/detail/wrap.hpp
+#usr/include/boost/type_traits/detail/yes_no_type.hpp
+#usr/include/boost/type_traits/extent.hpp
+#usr/include/boost/type_traits/floating_point_promotion.hpp
+#usr/include/boost/type_traits/function_traits.hpp
+#usr/include/boost/type_traits/has_bit_and.hpp
+#usr/include/boost/type_traits/has_bit_and_assign.hpp
+#usr/include/boost/type_traits/has_bit_or.hpp
+#usr/include/boost/type_traits/has_bit_or_assign.hpp
+#usr/include/boost/type_traits/has_bit_xor.hpp
+#usr/include/boost/type_traits/has_bit_xor_assign.hpp
+#usr/include/boost/type_traits/has_complement.hpp
+#usr/include/boost/type_traits/has_dereference.hpp
+#usr/include/boost/type_traits/has_divides.hpp
+#usr/include/boost/type_traits/has_divides_assign.hpp
+#usr/include/boost/type_traits/has_equal_to.hpp
+#usr/include/boost/type_traits/has_greater.hpp
+#usr/include/boost/type_traits/has_greater_equal.hpp
+#usr/include/boost/type_traits/has_left_shift.hpp
+#usr/include/boost/type_traits/has_left_shift_assign.hpp
+#usr/include/boost/type_traits/has_less.hpp
+#usr/include/boost/type_traits/has_less_equal.hpp
+#usr/include/boost/type_traits/has_logical_and.hpp
+#usr/include/boost/type_traits/has_logical_not.hpp
+#usr/include/boost/type_traits/has_logical_or.hpp
+#usr/include/boost/type_traits/has_minus.hpp
+#usr/include/boost/type_traits/has_minus_assign.hpp
+#usr/include/boost/type_traits/has_modulus.hpp
+#usr/include/boost/type_traits/has_modulus_assign.hpp
+#usr/include/boost/type_traits/has_multiplies.hpp
+#usr/include/boost/type_traits/has_multiplies_assign.hpp
+#usr/include/boost/type_traits/has_negate.hpp
+#usr/include/boost/type_traits/has_new_operator.hpp
+#usr/include/boost/type_traits/has_not_equal_to.hpp
+#usr/include/boost/type_traits/has_nothrow_assign.hpp
+#usr/include/boost/type_traits/has_nothrow_constructor.hpp
+#usr/include/boost/type_traits/has_nothrow_copy.hpp
+#usr/include/boost/type_traits/has_nothrow_destructor.hpp
+#usr/include/boost/type_traits/has_operator.hpp
+#usr/include/boost/type_traits/has_plus.hpp
+#usr/include/boost/type_traits/has_plus_assign.hpp
+#usr/include/boost/type_traits/has_post_decrement.hpp
+#usr/include/boost/type_traits/has_post_increment.hpp
+#usr/include/boost/type_traits/has_pre_decrement.hpp
+#usr/include/boost/type_traits/has_pre_increment.hpp
+#usr/include/boost/type_traits/has_right_shift.hpp
+#usr/include/boost/type_traits/has_right_shift_assign.hpp
+#usr/include/boost/type_traits/has_trivial_assign.hpp
+#usr/include/boost/type_traits/has_trivial_constructor.hpp
+#usr/include/boost/type_traits/has_trivial_copy.hpp
+#usr/include/boost/type_traits/has_trivial_destructor.hpp
+#usr/include/boost/type_traits/has_trivial_move_assign.hpp
+#usr/include/boost/type_traits/has_trivial_move_constructor.hpp
+#usr/include/boost/type_traits/has_unary_minus.hpp
+#usr/include/boost/type_traits/has_unary_plus.hpp
+#usr/include/boost/type_traits/has_virtual_destructor.hpp
+#usr/include/boost/type_traits/ice.hpp
+#usr/include/boost/type_traits/integral_constant.hpp
+#usr/include/boost/type_traits/integral_promotion.hpp
+#usr/include/boost/type_traits/intrinsics.hpp
+#usr/include/boost/type_traits/is_abstract.hpp
+#usr/include/boost/type_traits/is_arithmetic.hpp
+#usr/include/boost/type_traits/is_array.hpp
+#usr/include/boost/type_traits/is_base_and_derived.hpp
+#usr/include/boost/type_traits/is_base_of.hpp
+#usr/include/boost/type_traits/is_base_of_tr1.hpp
+#usr/include/boost/type_traits/is_class.hpp
+#usr/include/boost/type_traits/is_complex.hpp
+#usr/include/boost/type_traits/is_compound.hpp
+#usr/include/boost/type_traits/is_const.hpp
+#usr/include/boost/type_traits/is_convertible.hpp
+#usr/include/boost/type_traits/is_copy_constructible.hpp
+#usr/include/boost/type_traits/is_empty.hpp
+#usr/include/boost/type_traits/is_enum.hpp
+#usr/include/boost/type_traits/is_float.hpp
+#usr/include/boost/type_traits/is_floating_point.hpp
+#usr/include/boost/type_traits/is_function.hpp
+#usr/include/boost/type_traits/is_fundamental.hpp
+#usr/include/boost/type_traits/is_integral.hpp
+#usr/include/boost/type_traits/is_lvalue_reference.hpp
+#usr/include/boost/type_traits/is_member_function_pointer.hpp
+#usr/include/boost/type_traits/is_member_object_pointer.hpp
+#usr/include/boost/type_traits/is_member_pointer.hpp
+#usr/include/boost/type_traits/is_nothrow_move_assignable.hpp
+#usr/include/boost/type_traits/is_nothrow_move_constructible.hpp
+#usr/include/boost/type_traits/is_object.hpp
+#usr/include/boost/type_traits/is_pod.hpp
+#usr/include/boost/type_traits/is_pointer.hpp
+#usr/include/boost/type_traits/is_polymorphic.hpp
+#usr/include/boost/type_traits/is_reference.hpp
+#usr/include/boost/type_traits/is_rvalue_reference.hpp
+#usr/include/boost/type_traits/is_same.hpp
+#usr/include/boost/type_traits/is_scalar.hpp
+#usr/include/boost/type_traits/is_signed.hpp
+#usr/include/boost/type_traits/is_stateless.hpp
+#usr/include/boost/type_traits/is_union.hpp
+#usr/include/boost/type_traits/is_unsigned.hpp
+#usr/include/boost/type_traits/is_virtual_base_of.hpp
+#usr/include/boost/type_traits/is_void.hpp
+#usr/include/boost/type_traits/is_volatile.hpp
+#usr/include/boost/type_traits/make_signed.hpp
+#usr/include/boost/type_traits/make_unsigned.hpp
+#usr/include/boost/type_traits/msvc
+#usr/include/boost/type_traits/msvc/remove_all_extents.hpp
+#usr/include/boost/type_traits/msvc/remove_bounds.hpp
+#usr/include/boost/type_traits/msvc/remove_const.hpp
+#usr/include/boost/type_traits/msvc/remove_cv.hpp
+#usr/include/boost/type_traits/msvc/remove_extent.hpp
+#usr/include/boost/type_traits/msvc/remove_pointer.hpp
+#usr/include/boost/type_traits/msvc/remove_reference.hpp
+#usr/include/boost/type_traits/msvc/remove_volatile.hpp
+#usr/include/boost/type_traits/msvc/typeof.hpp
+#usr/include/boost/type_traits/object_traits.hpp
+#usr/include/boost/type_traits/promote.hpp
+#usr/include/boost/type_traits/rank.hpp
+#usr/include/boost/type_traits/reference_traits.hpp
+#usr/include/boost/type_traits/remove_all_extents.hpp
+#usr/include/boost/type_traits/remove_bounds.hpp
+#usr/include/boost/type_traits/remove_const.hpp
+#usr/include/boost/type_traits/remove_cv.hpp
+#usr/include/boost/type_traits/remove_extent.hpp
+#usr/include/boost/type_traits/remove_pointer.hpp
+#usr/include/boost/type_traits/remove_reference.hpp
+#usr/include/boost/type_traits/remove_volatile.hpp
+#usr/include/boost/type_traits/same_traits.hpp
+#usr/include/boost/type_traits/transform_traits.hpp
+#usr/include/boost/type_traits/transform_traits_spec.hpp
+#usr/include/boost/type_traits/type_with_alignment.hpp
+#usr/include/boost/typeof
+#usr/include/boost/typeof/dmc
+#usr/include/boost/typeof/dmc/typeof_impl.hpp
+#usr/include/boost/typeof/encode_decode.hpp
+#usr/include/boost/typeof/encode_decode_params.hpp
+#usr/include/boost/typeof/incr_registration_group.hpp
+#usr/include/boost/typeof/int_encoding.hpp
+#usr/include/boost/typeof/integral_template_param.hpp
+#usr/include/boost/typeof/message.hpp
+#usr/include/boost/typeof/modifiers.hpp
+#usr/include/boost/typeof/msvc
+#usr/include/boost/typeof/msvc/typeof_impl.hpp
+#usr/include/boost/typeof/native.hpp
+#usr/include/boost/typeof/pointers_data_members.hpp
+#usr/include/boost/typeof/register_functions.hpp
+#usr/include/boost/typeof/register_functions_iterate.hpp
+#usr/include/boost/typeof/register_fundamental.hpp
+#usr/include/boost/typeof/register_mem_functions.hpp
+#usr/include/boost/typeof/std
+#usr/include/boost/typeof/std/bitset.hpp
+#usr/include/boost/typeof/std/complex.hpp
+#usr/include/boost/typeof/std/deque.hpp
+#usr/include/boost/typeof/std/fstream.hpp
+#usr/include/boost/typeof/std/functional.hpp
+#usr/include/boost/typeof/std/iostream.hpp
+#usr/include/boost/typeof/std/istream.hpp
+#usr/include/boost/typeof/std/iterator.hpp
+#usr/include/boost/typeof/std/list.hpp
+#usr/include/boost/typeof/std/locale.hpp
+#usr/include/boost/typeof/std/map.hpp
+#usr/include/boost/typeof/std/memory.hpp
+#usr/include/boost/typeof/std/ostream.hpp
+#usr/include/boost/typeof/std/queue.hpp
+#usr/include/boost/typeof/std/set.hpp
+#usr/include/boost/typeof/std/sstream.hpp
+#usr/include/boost/typeof/std/stack.hpp
+#usr/include/boost/typeof/std/streambuf.hpp
+#usr/include/boost/typeof/std/string.hpp
+#usr/include/boost/typeof/std/utility.hpp
+#usr/include/boost/typeof/std/valarray.hpp
+#usr/include/boost/typeof/std/vector.hpp
+#usr/include/boost/typeof/template_encoding.hpp
+#usr/include/boost/typeof/template_template_param.hpp
+#usr/include/boost/typeof/type_encoding.hpp
+#usr/include/boost/typeof/type_template_param.hpp
+#usr/include/boost/typeof/typeof.hpp
+#usr/include/boost/typeof/typeof_impl.hpp
+#usr/include/boost/typeof/unsupported.hpp
+#usr/include/boost/typeof/vector.hpp
+#usr/include/boost/typeof/vector100.hpp
+#usr/include/boost/typeof/vector150.hpp
+#usr/include/boost/typeof/vector200.hpp
+#usr/include/boost/typeof/vector50.hpp
+#usr/include/boost/units
+#usr/include/boost/units/absolute.hpp
+#usr/include/boost/units/base_dimension.hpp
+#usr/include/boost/units/base_unit.hpp
+#usr/include/boost/units/base_units
+#usr/include/boost/units/base_units/angle
+#usr/include/boost/units/base_units/angle/arcminute.hpp
+#usr/include/boost/units/base_units/angle/arcsecond.hpp
+#usr/include/boost/units/base_units/angle/degree.hpp
+#usr/include/boost/units/base_units/angle/gradian.hpp
+#usr/include/boost/units/base_units/angle/radian.hpp
+#usr/include/boost/units/base_units/angle/revolution.hpp
+#usr/include/boost/units/base_units/angle/steradian.hpp
+#usr/include/boost/units/base_units/astronomical
+#usr/include/boost/units/base_units/astronomical/astronomical_unit.hpp
+#usr/include/boost/units/base_units/astronomical/light_day.hpp
+#usr/include/boost/units/base_units/astronomical/light_hour.hpp
+#usr/include/boost/units/base_units/astronomical/light_minute.hpp
+#usr/include/boost/units/base_units/astronomical/light_second.hpp
+#usr/include/boost/units/base_units/astronomical/light_year.hpp
+#usr/include/boost/units/base_units/astronomical/parsec.hpp
+#usr/include/boost/units/base_units/cgs
+#usr/include/boost/units/base_units/cgs/biot.hpp
+#usr/include/boost/units/base_units/cgs/centimeter.hpp
+#usr/include/boost/units/base_units/cgs/gram.hpp
+#usr/include/boost/units/base_units/imperial
+#usr/include/boost/units/base_units/imperial/conversions.hpp
+#usr/include/boost/units/base_units/imperial/drachm.hpp
+#usr/include/boost/units/base_units/imperial/fluid_ounce.hpp
+#usr/include/boost/units/base_units/imperial/foot.hpp
+#usr/include/boost/units/base_units/imperial/furlong.hpp
+#usr/include/boost/units/base_units/imperial/gallon.hpp
+#usr/include/boost/units/base_units/imperial/gill.hpp
+#usr/include/boost/units/base_units/imperial/grain.hpp
+#usr/include/boost/units/base_units/imperial/hundredweight.hpp
+#usr/include/boost/units/base_units/imperial/inch.hpp
+#usr/include/boost/units/base_units/imperial/league.hpp
+#usr/include/boost/units/base_units/imperial/mile.hpp
+#usr/include/boost/units/base_units/imperial/ounce.hpp
+#usr/include/boost/units/base_units/imperial/pint.hpp
+#usr/include/boost/units/base_units/imperial/pound.hpp
+#usr/include/boost/units/base_units/imperial/quart.hpp
+#usr/include/boost/units/base_units/imperial/quarter.hpp
+#usr/include/boost/units/base_units/imperial/stone.hpp
+#usr/include/boost/units/base_units/imperial/thou.hpp
+#usr/include/boost/units/base_units/imperial/ton.hpp
+#usr/include/boost/units/base_units/imperial/yard.hpp
+#usr/include/boost/units/base_units/metric
+#usr/include/boost/units/base_units/metric/angstrom.hpp
+#usr/include/boost/units/base_units/metric/are.hpp
+#usr/include/boost/units/base_units/metric/atmosphere.hpp
+#usr/include/boost/units/base_units/metric/bar.hpp
+#usr/include/boost/units/base_units/metric/barn.hpp
+#usr/include/boost/units/base_units/metric/day.hpp
+#usr/include/boost/units/base_units/metric/fermi.hpp
+#usr/include/boost/units/base_units/metric/hectare.hpp
+#usr/include/boost/units/base_units/metric/hour.hpp
+#usr/include/boost/units/base_units/metric/knot.hpp
+#usr/include/boost/units/base_units/metric/liter.hpp
+#usr/include/boost/units/base_units/metric/micron.hpp
+#usr/include/boost/units/base_units/metric/minute.hpp
+#usr/include/boost/units/base_units/metric/mmHg.hpp
+#usr/include/boost/units/base_units/metric/nautical_mile.hpp
+#usr/include/boost/units/base_units/metric/ton.hpp
+#usr/include/boost/units/base_units/metric/torr.hpp
+#usr/include/boost/units/base_units/metric/year.hpp
+#usr/include/boost/units/base_units/si
+#usr/include/boost/units/base_units/si/ampere.hpp
+#usr/include/boost/units/base_units/si/candela.hpp
+#usr/include/boost/units/base_units/si/kelvin.hpp
+#usr/include/boost/units/base_units/si/kilogram.hpp
+#usr/include/boost/units/base_units/si/meter.hpp
+#usr/include/boost/units/base_units/si/mole.hpp
+#usr/include/boost/units/base_units/si/second.hpp
+#usr/include/boost/units/base_units/temperature
+#usr/include/boost/units/base_units/temperature/celsius.hpp
+#usr/include/boost/units/base_units/temperature/conversions.hpp
+#usr/include/boost/units/base_units/temperature/fahrenheit.hpp
+#usr/include/boost/units/base_units/us
+#usr/include/boost/units/base_units/us/cup.hpp
+#usr/include/boost/units/base_units/us/dram.hpp
+#usr/include/boost/units/base_units/us/fluid_dram.hpp
+#usr/include/boost/units/base_units/us/fluid_ounce.hpp
+#usr/include/boost/units/base_units/us/foot.hpp
+#usr/include/boost/units/base_units/us/gallon.hpp
+#usr/include/boost/units/base_units/us/gill.hpp
+#usr/include/boost/units/base_units/us/grain.hpp
+#usr/include/boost/units/base_units/us/hundredweight.hpp
+#usr/include/boost/units/base_units/us/inch.hpp
+#usr/include/boost/units/base_units/us/mil.hpp
+#usr/include/boost/units/base_units/us/mile.hpp
+#usr/include/boost/units/base_units/us/minim.hpp
+#usr/include/boost/units/base_units/us/ounce.hpp
+#usr/include/boost/units/base_units/us/pint.hpp
+#usr/include/boost/units/base_units/us/pound.hpp
+#usr/include/boost/units/base_units/us/pound_force.hpp
+#usr/include/boost/units/base_units/us/quart.hpp
+#usr/include/boost/units/base_units/us/tablespoon.hpp
+#usr/include/boost/units/base_units/us/teaspoon.hpp
+#usr/include/boost/units/base_units/us/ton.hpp
+#usr/include/boost/units/base_units/us/yard.hpp
+#usr/include/boost/units/cmath.hpp
+#usr/include/boost/units/config.hpp
+#usr/include/boost/units/conversion.hpp
+#usr/include/boost/units/derived_dimension.hpp
+#usr/include/boost/units/detail
+#usr/include/boost/units/detail/absolute_impl.hpp
+#usr/include/boost/units/detail/cmath_impl.hpp
+#usr/include/boost/units/detail/conversion_impl.hpp
+#usr/include/boost/units/detail/dim_impl.hpp
+#usr/include/boost/units/detail/dimension_impl.hpp
+#usr/include/boost/units/detail/dimension_list.hpp
+#usr/include/boost/units/detail/dimensionless_unit.hpp
+#usr/include/boost/units/detail/heterogeneous_conversion.hpp
+#usr/include/boost/units/detail/linear_algebra.hpp
+#usr/include/boost/units/detail/one.hpp
+#usr/include/boost/units/detail/ordinal.hpp
+#usr/include/boost/units/detail/prevent_redefinition.hpp
+#usr/include/boost/units/detail/push_front_if.hpp
+#usr/include/boost/units/detail/push_front_or_add.hpp
+#usr/include/boost/units/detail/sort.hpp
+#usr/include/boost/units/detail/static_rational_power.hpp
+#usr/include/boost/units/detail/unscale.hpp
+#usr/include/boost/units/detail/utility.hpp
+#usr/include/boost/units/dim.hpp
+#usr/include/boost/units/dimension.hpp
+#usr/include/boost/units/dimensionless_quantity.hpp
+#usr/include/boost/units/dimensionless_type.hpp
+#usr/include/boost/units/dimensionless_unit.hpp
+#usr/include/boost/units/get_dimension.hpp
+#usr/include/boost/units/get_system.hpp
+#usr/include/boost/units/heterogeneous_system.hpp
+#usr/include/boost/units/homogeneous_system.hpp
+#usr/include/boost/units/io.hpp
+#usr/include/boost/units/is_dim.hpp
+#usr/include/boost/units/is_dimension_list.hpp
+#usr/include/boost/units/is_dimensionless.hpp
+#usr/include/boost/units/is_dimensionless_quantity.hpp
+#usr/include/boost/units/is_dimensionless_unit.hpp
+#usr/include/boost/units/is_quantity.hpp
+#usr/include/boost/units/is_quantity_of_dimension.hpp
+#usr/include/boost/units/is_quantity_of_system.hpp
+#usr/include/boost/units/is_unit.hpp
+#usr/include/boost/units/is_unit_of_dimension.hpp
+#usr/include/boost/units/is_unit_of_system.hpp
+#usr/include/boost/units/lambda.hpp
+#usr/include/boost/units/limits.hpp
+#usr/include/boost/units/make_scaled_unit.hpp
+#usr/include/boost/units/make_system.hpp
+#usr/include/boost/units/operators.hpp
+#usr/include/boost/units/physical_dimensions
+#usr/include/boost/units/physical_dimensions.hpp
+#usr/include/boost/units/physical_dimensions/absorbed_dose.hpp
+#usr/include/boost/units/physical_dimensions/acceleration.hpp
+#usr/include/boost/units/physical_dimensions/action.hpp
+#usr/include/boost/units/physical_dimensions/activity.hpp
+#usr/include/boost/units/physical_dimensions/amount.hpp
+#usr/include/boost/units/physical_dimensions/angular_acceleration.hpp
+#usr/include/boost/units/physical_dimensions/angular_momentum.hpp
+#usr/include/boost/units/physical_dimensions/angular_velocity.hpp
+#usr/include/boost/units/physical_dimensions/area.hpp
+#usr/include/boost/units/physical_dimensions/capacitance.hpp
+#usr/include/boost/units/physical_dimensions/conductance.hpp
+#usr/include/boost/units/physical_dimensions/conductivity.hpp
+#usr/include/boost/units/physical_dimensions/current.hpp
+#usr/include/boost/units/physical_dimensions/dose_equivalent.hpp
+#usr/include/boost/units/physical_dimensions/dynamic_viscosity.hpp
+#usr/include/boost/units/physical_dimensions/electric_charge.hpp
+#usr/include/boost/units/physical_dimensions/electric_potential.hpp
+#usr/include/boost/units/physical_dimensions/energy.hpp
+#usr/include/boost/units/physical_dimensions/energy_density.hpp
+#usr/include/boost/units/physical_dimensions/force.hpp
+#usr/include/boost/units/physical_dimensions/frequency.hpp
+#usr/include/boost/units/physical_dimensions/heat_capacity.hpp
+#usr/include/boost/units/physical_dimensions/illuminance.hpp
+#usr/include/boost/units/physical_dimensions/impedance.hpp
+#usr/include/boost/units/physical_dimensions/inductance.hpp
+#usr/include/boost/units/physical_dimensions/kinematic_viscosity.hpp
+#usr/include/boost/units/physical_dimensions/length.hpp
+#usr/include/boost/units/physical_dimensions/luminance.hpp
+#usr/include/boost/units/physical_dimensions/luminous_flux.hpp
+#usr/include/boost/units/physical_dimensions/luminous_intensity.hpp
+#usr/include/boost/units/physical_dimensions/magnetic_field_intensity.hpp
+#usr/include/boost/units/physical_dimensions/magnetic_flux.hpp
+#usr/include/boost/units/physical_dimensions/magnetic_flux_density.hpp
+#usr/include/boost/units/physical_dimensions/mass.hpp
+#usr/include/boost/units/physical_dimensions/mass_density.hpp
+#usr/include/boost/units/physical_dimensions/molar_energy.hpp
+#usr/include/boost/units/physical_dimensions/molar_heat_capacity.hpp
+#usr/include/boost/units/physical_dimensions/moment_of_inertia.hpp
+#usr/include/boost/units/physical_dimensions/momentum.hpp
+#usr/include/boost/units/physical_dimensions/permeability.hpp
+#usr/include/boost/units/physical_dimensions/permittivity.hpp
+#usr/include/boost/units/physical_dimensions/plane_angle.hpp
+#usr/include/boost/units/physical_dimensions/power.hpp
+#usr/include/boost/units/physical_dimensions/pressure.hpp
+#usr/include/boost/units/physical_dimensions/reluctance.hpp
+#usr/include/boost/units/physical_dimensions/resistance.hpp
+#usr/include/boost/units/physical_dimensions/resistivity.hpp
+#usr/include/boost/units/physical_dimensions/solid_angle.hpp
+#usr/include/boost/units/physical_dimensions/specific_energy.hpp
+#usr/include/boost/units/physical_dimensions/specific_heat_capacity.hpp
+#usr/include/boost/units/physical_dimensions/specific_volume.hpp
+#usr/include/boost/units/physical_dimensions/stress.hpp
+#usr/include/boost/units/physical_dimensions/surface_density.hpp
+#usr/include/boost/units/physical_dimensions/surface_tension.hpp
+#usr/include/boost/units/physical_dimensions/temperature.hpp
+#usr/include/boost/units/physical_dimensions/thermal_conductivity.hpp
+#usr/include/boost/units/physical_dimensions/time.hpp
+#usr/include/boost/units/physical_dimensions/torque.hpp
+#usr/include/boost/units/physical_dimensions/velocity.hpp
+#usr/include/boost/units/physical_dimensions/volume.hpp
+#usr/include/boost/units/physical_dimensions/wavenumber.hpp
+#usr/include/boost/units/pow.hpp
+#usr/include/boost/units/quantity.hpp
+#usr/include/boost/units/reduce_unit.hpp
+#usr/include/boost/units/scale.hpp
+#usr/include/boost/units/scaled_base_unit.hpp
+#usr/include/boost/units/static_constant.hpp
+#usr/include/boost/units/static_rational.hpp
+#usr/include/boost/units/systems
+#usr/include/boost/units/systems/abstract.hpp
+#usr/include/boost/units/systems/angle
+#usr/include/boost/units/systems/angle/degrees.hpp
+#usr/include/boost/units/systems/angle/gradians.hpp
+#usr/include/boost/units/systems/angle/revolutions.hpp
+#usr/include/boost/units/systems/cgs
+#usr/include/boost/units/systems/cgs.hpp
+#usr/include/boost/units/systems/cgs/acceleration.hpp
+#usr/include/boost/units/systems/cgs/area.hpp
+#usr/include/boost/units/systems/cgs/base.hpp
+#usr/include/boost/units/systems/cgs/current.hpp
+#usr/include/boost/units/systems/cgs/dimensionless.hpp
+#usr/include/boost/units/systems/cgs/dynamic_viscosity.hpp
+#usr/include/boost/units/systems/cgs/energy.hpp
+#usr/include/boost/units/systems/cgs/force.hpp
+#usr/include/boost/units/systems/cgs/frequency.hpp
+#usr/include/boost/units/systems/cgs/io.hpp
+#usr/include/boost/units/systems/cgs/kinematic_viscosity.hpp
+#usr/include/boost/units/systems/cgs/length.hpp
+#usr/include/boost/units/systems/cgs/mass.hpp
+#usr/include/boost/units/systems/cgs/mass_density.hpp
+#usr/include/boost/units/systems/cgs/momentum.hpp
+#usr/include/boost/units/systems/cgs/power.hpp
+#usr/include/boost/units/systems/cgs/pressure.hpp
+#usr/include/boost/units/systems/cgs/time.hpp
+#usr/include/boost/units/systems/cgs/velocity.hpp
+#usr/include/boost/units/systems/cgs/volume.hpp
+#usr/include/boost/units/systems/cgs/wavenumber.hpp
+#usr/include/boost/units/systems/detail
+#usr/include/boost/units/systems/detail/constants.hpp
+#usr/include/boost/units/systems/si
+#usr/include/boost/units/systems/si.hpp
+#usr/include/boost/units/systems/si/absorbed_dose.hpp
+#usr/include/boost/units/systems/si/acceleration.hpp
+#usr/include/boost/units/systems/si/action.hpp
+#usr/include/boost/units/systems/si/activity.hpp
+#usr/include/boost/units/systems/si/amount.hpp
+#usr/include/boost/units/systems/si/angular_acceleration.hpp
+#usr/include/boost/units/systems/si/angular_momentum.hpp
+#usr/include/boost/units/systems/si/angular_velocity.hpp
+#usr/include/boost/units/systems/si/area.hpp
+#usr/include/boost/units/systems/si/base.hpp
+#usr/include/boost/units/systems/si/capacitance.hpp
+#usr/include/boost/units/systems/si/catalytic_activity.hpp
+#usr/include/boost/units/systems/si/codata
+#usr/include/boost/units/systems/si/codata/alpha_constants.hpp
+#usr/include/boost/units/systems/si/codata/atomic-nuclear_constants.hpp
+#usr/include/boost/units/systems/si/codata/deuteron_constants.hpp
+#usr/include/boost/units/systems/si/codata/electromagnetic_constants.hpp
+#usr/include/boost/units/systems/si/codata/electron_constants.hpp
+#usr/include/boost/units/systems/si/codata/helion_constants.hpp
+#usr/include/boost/units/systems/si/codata/muon_constants.hpp
+#usr/include/boost/units/systems/si/codata/neutron_constants.hpp
+#usr/include/boost/units/systems/si/codata/physico-chemical_constants.hpp
+#usr/include/boost/units/systems/si/codata/proton_constants.hpp
+#usr/include/boost/units/systems/si/codata/tau_constants.hpp
+#usr/include/boost/units/systems/si/codata/triton_constants.hpp
+#usr/include/boost/units/systems/si/codata/typedefs.hpp
+#usr/include/boost/units/systems/si/codata/universal_constants.hpp
+#usr/include/boost/units/systems/si/codata_constants.hpp
+#usr/include/boost/units/systems/si/conductance.hpp
+#usr/include/boost/units/systems/si/conductivity.hpp
+#usr/include/boost/units/systems/si/current.hpp
+#usr/include/boost/units/systems/si/dimensionless.hpp
+#usr/include/boost/units/systems/si/dose_equivalent.hpp
+#usr/include/boost/units/systems/si/dynamic_viscosity.hpp
+#usr/include/boost/units/systems/si/electric_charge.hpp
+#usr/include/boost/units/systems/si/electric_potential.hpp
+#usr/include/boost/units/systems/si/energy.hpp
+#usr/include/boost/units/systems/si/force.hpp
+#usr/include/boost/units/systems/si/frequency.hpp
+#usr/include/boost/units/systems/si/illuminance.hpp
+#usr/include/boost/units/systems/si/impedance.hpp
+#usr/include/boost/units/systems/si/inductance.hpp
+#usr/include/boost/units/systems/si/io.hpp
+#usr/include/boost/units/systems/si/kinematic_viscosity.hpp
+#usr/include/boost/units/systems/si/length.hpp
+#usr/include/boost/units/systems/si/luminous_flux.hpp
+#usr/include/boost/units/systems/si/luminous_intensity.hpp
+#usr/include/boost/units/systems/si/magnetic_field_intensity.hpp
+#usr/include/boost/units/systems/si/magnetic_flux.hpp
+#usr/include/boost/units/systems/si/magnetic_flux_density.hpp
+#usr/include/boost/units/systems/si/mass.hpp
+#usr/include/boost/units/systems/si/mass_density.hpp
+#usr/include/boost/units/systems/si/moment_of_inertia.hpp
+#usr/include/boost/units/systems/si/momentum.hpp
+#usr/include/boost/units/systems/si/permeability.hpp
+#usr/include/boost/units/systems/si/permittivity.hpp
+#usr/include/boost/units/systems/si/plane_angle.hpp
+#usr/include/boost/units/systems/si/power.hpp
+#usr/include/boost/units/systems/si/prefixes.hpp
+#usr/include/boost/units/systems/si/pressure.hpp
+#usr/include/boost/units/systems/si/reluctance.hpp
+#usr/include/boost/units/systems/si/resistance.hpp
+#usr/include/boost/units/systems/si/resistivity.hpp
+#usr/include/boost/units/systems/si/solid_angle.hpp
+#usr/include/boost/units/systems/si/surface_density.hpp
+#usr/include/boost/units/systems/si/surface_tension.hpp
+#usr/include/boost/units/systems/si/temperature.hpp
+#usr/include/boost/units/systems/si/time.hpp
+#usr/include/boost/units/systems/si/torque.hpp
+#usr/include/boost/units/systems/si/velocity.hpp
+#usr/include/boost/units/systems/si/volume.hpp
+#usr/include/boost/units/systems/si/wavenumber.hpp
+#usr/include/boost/units/systems/temperature
+#usr/include/boost/units/systems/temperature/celsius.hpp
+#usr/include/boost/units/systems/temperature/fahrenheit.hpp
+#usr/include/boost/units/unit.hpp
+#usr/include/boost/units/units_fwd.hpp
+#usr/include/boost/unordered
+#usr/include/boost/unordered/detail
+#usr/include/boost/unordered/detail/allocate.hpp
+#usr/include/boost/unordered/detail/buckets.hpp
+#usr/include/boost/unordered/detail/equivalent.hpp
+#usr/include/boost/unordered/detail/extract_key.hpp
+#usr/include/boost/unordered/detail/fwd.hpp
+#usr/include/boost/unordered/detail/table.hpp
+#usr/include/boost/unordered/detail/unique.hpp
+#usr/include/boost/unordered/detail/util.hpp
+#usr/include/boost/unordered/unordered_map.hpp
+#usr/include/boost/unordered/unordered_map_fwd.hpp
+#usr/include/boost/unordered/unordered_set.hpp
+#usr/include/boost/unordered/unordered_set_fwd.hpp
+#usr/include/boost/unordered_map.hpp
+#usr/include/boost/unordered_set.hpp
+#usr/include/boost/utility
+#usr/include/boost/utility.hpp
+#usr/include/boost/utility/addressof.hpp
+#usr/include/boost/utility/base_from_member.hpp
+#usr/include/boost/utility/binary.hpp
+#usr/include/boost/utility/compare_pointees.hpp
+#usr/include/boost/utility/declval.hpp
+#usr/include/boost/utility/detail
+#usr/include/boost/utility/detail/in_place_factory_prefix.hpp
+#usr/include/boost/utility/detail/in_place_factory_suffix.hpp
+#usr/include/boost/utility/detail/result_of_iterate.hpp
+#usr/include/boost/utility/empty_deleter.hpp
+#usr/include/boost/utility/enable_if.hpp
+#usr/include/boost/utility/explicit_operator_bool.hpp
+#usr/include/boost/utility/identity_type.hpp
+#usr/include/boost/utility/in_place_factory.hpp
+#usr/include/boost/utility/result_of.hpp
+#usr/include/boost/utility/string_ref.hpp
+#usr/include/boost/utility/string_ref_fwd.hpp
+#usr/include/boost/utility/swap.hpp
+#usr/include/boost/utility/typed_in_place_factory.hpp
+#usr/include/boost/utility/value_init.hpp
+#usr/include/boost/uuid
+#usr/include/boost/uuid/name_generator.hpp
+#usr/include/boost/uuid/nil_generator.hpp
+#usr/include/boost/uuid/random_generator.hpp
+#usr/include/boost/uuid/seed_rng.hpp
+#usr/include/boost/uuid/sha1.hpp
+#usr/include/boost/uuid/string_generator.hpp
+#usr/include/boost/uuid/uuid.hpp
+#usr/include/boost/uuid/uuid_generators.hpp
+#usr/include/boost/uuid/uuid_io.hpp
+#usr/include/boost/uuid/uuid_serialize.hpp
+#usr/include/boost/variant
+#usr/include/boost/variant.hpp
+#usr/include/boost/variant/apply_visitor.hpp
+#usr/include/boost/variant/bad_visit.hpp
+#usr/include/boost/variant/detail
+#usr/include/boost/variant/detail/apply_visitor_binary.hpp
+#usr/include/boost/variant/detail/apply_visitor_delayed.hpp
+#usr/include/boost/variant/detail/apply_visitor_unary.hpp
+#usr/include/boost/variant/detail/backup_holder.hpp
+#usr/include/boost/variant/detail/bool_trait_def.hpp
+#usr/include/boost/variant/detail/bool_trait_undef.hpp
+#usr/include/boost/variant/detail/cast_storage.hpp
+#usr/include/boost/variant/detail/config.hpp
+#usr/include/boost/variant/detail/enable_recursive.hpp
+#usr/include/boost/variant/detail/enable_recursive_fwd.hpp
+#usr/include/boost/variant/detail/forced_return.hpp
+#usr/include/boost/variant/detail/generic_result_type.hpp
+#usr/include/boost/variant/detail/hash_variant.hpp
+#usr/include/boost/variant/detail/initializer.hpp
+#usr/include/boost/variant/detail/make_variant_list.hpp
+#usr/include/boost/variant/detail/move.hpp
+#usr/include/boost/variant/detail/over_sequence.hpp
+#usr/include/boost/variant/detail/substitute.hpp
+#usr/include/boost/variant/detail/substitute_fwd.hpp
+#usr/include/boost/variant/detail/variant_io.hpp
+#usr/include/boost/variant/detail/visitation_impl.hpp
+#usr/include/boost/variant/get.hpp
+#usr/include/boost/variant/multivisitors.hpp
+#usr/include/boost/variant/recursive_variant.hpp
+#usr/include/boost/variant/recursive_wrapper.hpp
+#usr/include/boost/variant/recursive_wrapper_fwd.hpp
+#usr/include/boost/variant/static_visitor.hpp
+#usr/include/boost/variant/variant.hpp
+#usr/include/boost/variant/variant_fwd.hpp
+#usr/include/boost/variant/visitor_ptr.hpp
+#usr/include/boost/version.hpp
+#usr/include/boost/visit_each.hpp
+#usr/include/boost/wave
+#usr/include/boost/wave.hpp
+#usr/include/boost/wave/cpp_context.hpp
+#usr/include/boost/wave/cpp_exceptions.hpp
+#usr/include/boost/wave/cpp_iteration_context.hpp
+#usr/include/boost/wave/cpp_throw.hpp
+#usr/include/boost/wave/cpplexer
+#usr/include/boost/wave/cpplexer/convert_trigraphs.hpp
+#usr/include/boost/wave/cpplexer/cpp_lex_interface.hpp
+#usr/include/boost/wave/cpplexer/cpp_lex_interface_generator.hpp
+#usr/include/boost/wave/cpplexer/cpp_lex_iterator.hpp
+#usr/include/boost/wave/cpplexer/cpp_lex_token.hpp
+#usr/include/boost/wave/cpplexer/cpplexer_exceptions.hpp
+#usr/include/boost/wave/cpplexer/detect_include_guards.hpp
+#usr/include/boost/wave/cpplexer/re2clex
+#usr/include/boost/wave/cpplexer/re2clex/aq.hpp
+#usr/include/boost/wave/cpplexer/re2clex/cpp_re.hpp
+#usr/include/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp
+#usr/include/boost/wave/cpplexer/re2clex/scanner.hpp
+#usr/include/boost/wave/cpplexer/token_cache.hpp
+#usr/include/boost/wave/cpplexer/validate_universal_char.hpp
+#usr/include/boost/wave/grammars
+#usr/include/boost/wave/grammars/cpp_chlit_grammar.hpp
+#usr/include/boost/wave/grammars/cpp_defined_grammar.hpp
+#usr/include/boost/wave/grammars/cpp_defined_grammar_gen.hpp
+#usr/include/boost/wave/grammars/cpp_expression_grammar.hpp
+#usr/include/boost/wave/grammars/cpp_expression_grammar_gen.hpp
+#usr/include/boost/wave/grammars/cpp_expression_value.hpp
+#usr/include/boost/wave/grammars/cpp_grammar.hpp
+#usr/include/boost/wave/grammars/cpp_grammar_gen.hpp
+#usr/include/boost/wave/grammars/cpp_intlit_grammar.hpp
+#usr/include/boost/wave/grammars/cpp_literal_grammar_gen.hpp
+#usr/include/boost/wave/grammars/cpp_predef_macros_gen.hpp
+#usr/include/boost/wave/grammars/cpp_predef_macros_grammar.hpp
+#usr/include/boost/wave/grammars/cpp_value_error.hpp
+#usr/include/boost/wave/language_support.hpp
+#usr/include/boost/wave/preprocessing_hooks.hpp
+#usr/include/boost/wave/token_ids.hpp
+#usr/include/boost/wave/util
+#usr/include/boost/wave/util/cpp_ifblock.hpp
+#usr/include/boost/wave/util/cpp_include_paths.hpp
+#usr/include/boost/wave/util/cpp_iterator.hpp
+#usr/include/boost/wave/util/cpp_macromap.hpp
+#usr/include/boost/wave/util/cpp_macromap_predef.hpp
+#usr/include/boost/wave/util/cpp_macromap_utils.hpp
+#usr/include/boost/wave/util/file_position.hpp
+#usr/include/boost/wave/util/filesystem_compatibility.hpp
+#usr/include/boost/wave/util/flex_string.hpp
+#usr/include/boost/wave/util/functor_input.hpp
+#usr/include/boost/wave/util/insert_whitespace_detection.hpp
+#usr/include/boost/wave/util/interpret_pragma.hpp
+#usr/include/boost/wave/util/iteration_context.hpp
+#usr/include/boost/wave/util/macro_definition.hpp
+#usr/include/boost/wave/util/macro_helpers.hpp
+#usr/include/boost/wave/util/pattern_parser.hpp
+#usr/include/boost/wave/util/symbol_table.hpp
+#usr/include/boost/wave/util/time_conversion_helper.hpp
+#usr/include/boost/wave/util/transform_iterator.hpp
+#usr/include/boost/wave/util/unput_queue_iterator.hpp
+#usr/include/boost/wave/wave_config.hpp
+#usr/include/boost/wave/wave_config_constant.hpp
+#usr/include/boost/wave/wave_version.hpp
+#usr/include/boost/wave/whitespace_handling.hpp
+#usr/include/boost/weak_ptr.hpp
+#usr/include/boost/xpressive
+#usr/include/boost/xpressive/basic_regex.hpp
+#usr/include/boost/xpressive/detail
+#usr/include/boost/xpressive/detail/core
+#usr/include/boost/xpressive/detail/core/access.hpp
+#usr/include/boost/xpressive/detail/core/action.hpp
+#usr/include/boost/xpressive/detail/core/adaptor.hpp
+#usr/include/boost/xpressive/detail/core/finder.hpp
+#usr/include/boost/xpressive/detail/core/flow_control.hpp
+#usr/include/boost/xpressive/detail/core/icase.hpp
+#usr/include/boost/xpressive/detail/core/linker.hpp
+#usr/include/boost/xpressive/detail/core/list.hpp
+#usr/include/boost/xpressive/detail/core/matcher
+#usr/include/boost/xpressive/detail/core/matcher/action_matcher.hpp
+#usr/include/boost/xpressive/detail/core/matcher/alternate_end_matcher.hpp
+#usr/include/boost/xpressive/detail/core/matcher/alternate_matcher.hpp
+#usr/include/boost/xpressive/detail/core/matcher/any_matcher.hpp
+#usr/include/boost/xpressive/detail/core/matcher/assert_bol_matcher.hpp
+#usr/include/boost/xpressive/detail/core/matcher/assert_bos_matcher.hpp
+#usr/include/boost/xpressive/detail/core/matcher/assert_eol_matcher.hpp
+#usr/include/boost/xpressive/detail/core/matcher/assert_eos_matcher.hpp
+#usr/include/boost/xpressive/detail/core/matcher/assert_line_base.hpp
+#usr/include/boost/xpressive/detail/core/matcher/assert_word_matcher.hpp
+#usr/include/boost/xpressive/detail/core/matcher/attr_begin_matcher.hpp
+#usr/include/boost/xpressive/detail/core/matcher/attr_end_matcher.hpp
+#usr/include/boost/xpressive/detail/core/matcher/attr_matcher.hpp
+#usr/include/boost/xpressive/detail/core/matcher/charset_matcher.hpp
+#usr/include/boost/xpressive/detail/core/matcher/end_matcher.hpp
+#usr/include/boost/xpressive/detail/core/matcher/epsilon_matcher.hpp
+#usr/include/boost/xpressive/detail/core/matcher/keeper_matcher.hpp
+#usr/include/boost/xpressive/detail/core/matcher/literal_matcher.hpp
+#usr/include/boost/xpressive/detail/core/matcher/logical_newline_matcher.hpp
+#usr/include/boost/xpressive/detail/core/matcher/lookahead_matcher.hpp
+#usr/include/boost/xpressive/detail/core/matcher/lookbehind_matcher.hpp
+#usr/include/boost/xpressive/detail/core/matcher/mark_begin_matcher.hpp
+#usr/include/boost/xpressive/detail/core/matcher/mark_end_matcher.hpp
+#usr/include/boost/xpressive/detail/core/matcher/mark_matcher.hpp
+#usr/include/boost/xpressive/detail/core/matcher/optional_matcher.hpp
+#usr/include/boost/xpressive/detail/core/matcher/posix_charset_matcher.hpp
+#usr/include/boost/xpressive/detail/core/matcher/predicate_matcher.hpp
+#usr/include/boost/xpressive/detail/core/matcher/range_matcher.hpp
+#usr/include/boost/xpressive/detail/core/matcher/regex_byref_matcher.hpp
+#usr/include/boost/xpressive/detail/core/matcher/regex_matcher.hpp
+#usr/include/boost/xpressive/detail/core/matcher/repeat_begin_matcher.hpp
+#usr/include/boost/xpressive/detail/core/matcher/repeat_end_matcher.hpp
+#usr/include/boost/xpressive/detail/core/matcher/set_matcher.hpp
+#usr/include/boost/xpressive/detail/core/matcher/simple_repeat_matcher.hpp
+#usr/include/boost/xpressive/detail/core/matcher/string_matcher.hpp
+#usr/include/boost/xpressive/detail/core/matcher/true_matcher.hpp
+#usr/include/boost/xpressive/detail/core/matchers.hpp
+#usr/include/boost/xpressive/detail/core/optimize.hpp
+#usr/include/boost/xpressive/detail/core/peeker.hpp
+#usr/include/boost/xpressive/detail/core/quant_style.hpp
+#usr/include/boost/xpressive/detail/core/regex_domain.hpp
+#usr/include/boost/xpressive/detail/core/regex_impl.hpp
+#usr/include/boost/xpressive/detail/core/results_cache.hpp
+#usr/include/boost/xpressive/detail/core/state.hpp
+#usr/include/boost/xpressive/detail/core/sub_match_impl.hpp
+#usr/include/boost/xpressive/detail/core/sub_match_vector.hpp
+#usr/include/boost/xpressive/detail/detail_fwd.hpp
+#usr/include/boost/xpressive/detail/dynamic
+#usr/include/boost/xpressive/detail/dynamic/dynamic.hpp
+#usr/include/boost/xpressive/detail/dynamic/matchable.hpp
+#usr/include/boost/xpressive/detail/dynamic/parse_charset.hpp
+#usr/include/boost/xpressive/detail/dynamic/parser.hpp
+#usr/include/boost/xpressive/detail/dynamic/parser_enum.hpp
+#usr/include/boost/xpressive/detail/dynamic/parser_traits.hpp
+#usr/include/boost/xpressive/detail/dynamic/sequence.hpp
+#usr/include/boost/xpressive/detail/static
+#usr/include/boost/xpressive/detail/static/compile.hpp
+#usr/include/boost/xpressive/detail/static/grammar.hpp
+#usr/include/boost/xpressive/detail/static/is_pure.hpp
+#usr/include/boost/xpressive/detail/static/modifier.hpp
+#usr/include/boost/xpressive/detail/static/placeholders.hpp
+#usr/include/boost/xpressive/detail/static/static.hpp
+#usr/include/boost/xpressive/detail/static/transforms
+#usr/include/boost/xpressive/detail/static/transforms/as_action.hpp
+#usr/include/boost/xpressive/detail/static/transforms/as_alternate.hpp
+#usr/include/boost/xpressive/detail/static/transforms/as_independent.hpp
+#usr/include/boost/xpressive/detail/static/transforms/as_inverse.hpp
+#usr/include/boost/xpressive/detail/static/transforms/as_marker.hpp
+#usr/include/boost/xpressive/detail/static/transforms/as_matcher.hpp
+#usr/include/boost/xpressive/detail/static/transforms/as_modifier.hpp
+#usr/include/boost/xpressive/detail/static/transforms/as_quantifier.hpp
+#usr/include/boost/xpressive/detail/static/transforms/as_sequence.hpp
+#usr/include/boost/xpressive/detail/static/transforms/as_set.hpp
+#usr/include/boost/xpressive/detail/static/transmogrify.hpp
+#usr/include/boost/xpressive/detail/static/type_traits.hpp
+#usr/include/boost/xpressive/detail/static/visitor.hpp
+#usr/include/boost/xpressive/detail/static/width_of.hpp
+#usr/include/boost/xpressive/detail/utility
+#usr/include/boost/xpressive/detail/utility/algorithm.hpp
+#usr/include/boost/xpressive/detail/utility/any.hpp
+#usr/include/boost/xpressive/detail/utility/boyer_moore.hpp
+#usr/include/boost/xpressive/detail/utility/chset
+#usr/include/boost/xpressive/detail/utility/chset/basic_chset.hpp
+#usr/include/boost/xpressive/detail/utility/chset/basic_chset.ipp
+#usr/include/boost/xpressive/detail/utility/chset/chset.hpp
+#usr/include/boost/xpressive/detail/utility/chset/range_run.hpp
+#usr/include/boost/xpressive/detail/utility/chset/range_run.ipp
+#usr/include/boost/xpressive/detail/utility/cons.hpp
+#usr/include/boost/xpressive/detail/utility/counted_base.hpp
+#usr/include/boost/xpressive/detail/utility/dont_care.hpp
+#usr/include/boost/xpressive/detail/utility/hash_peek_bitset.hpp
+#usr/include/boost/xpressive/detail/utility/ignore_unused.hpp
+#usr/include/boost/xpressive/detail/utility/literals.hpp
+#usr/include/boost/xpressive/detail/utility/never_true.hpp
+#usr/include/boost/xpressive/detail/utility/save_restore.hpp
+#usr/include/boost/xpressive/detail/utility/sequence_stack.hpp
+#usr/include/boost/xpressive/detail/utility/symbols.hpp
+#usr/include/boost/xpressive/detail/utility/tracking_ptr.hpp
+#usr/include/boost/xpressive/detail/utility/traits_utils.hpp
+#usr/include/boost/xpressive/detail/utility/width.hpp
+#usr/include/boost/xpressive/match_results.hpp
+#usr/include/boost/xpressive/regex_actions.hpp
+#usr/include/boost/xpressive/regex_algorithms.hpp
+#usr/include/boost/xpressive/regex_compiler.hpp
+#usr/include/boost/xpressive/regex_constants.hpp
+#usr/include/boost/xpressive/regex_error.hpp
+#usr/include/boost/xpressive/regex_iterator.hpp
+#usr/include/boost/xpressive/regex_primitives.hpp
+#usr/include/boost/xpressive/regex_token_iterator.hpp
+#usr/include/boost/xpressive/regex_traits.hpp
+#usr/include/boost/xpressive/sub_match.hpp
+#usr/include/boost/xpressive/traits
+#usr/include/boost/xpressive/traits/c_regex_traits.hpp
+#usr/include/boost/xpressive/traits/cpp_regex_traits.hpp
+#usr/include/boost/xpressive/traits/detail
+#usr/include/boost/xpressive/traits/detail/c_ctype.hpp
+#usr/include/boost/xpressive/traits/null_regex_traits.hpp
+#usr/include/boost/xpressive/xpressive.hpp
+#usr/include/boost/xpressive/xpressive_dynamic.hpp
+#usr/include/boost/xpressive/xpressive_fwd.hpp
+#usr/include/boost/xpressive/xpressive_static.hpp
+#usr/include/boost/xpressive/xpressive_typeof.hpp
+#usr/lib/libboost_atomic-mt.a
+#usr/lib/libboost_atomic-mt.so
+usr/lib/libboost_atomic-mt.so.1.55.0
+#usr/lib/libboost_chrono-mt.a
+#usr/lib/libboost_chrono-mt.so
+usr/lib/libboost_chrono-mt.so.1.55.0
+#usr/lib/libboost_chrono.a
+#usr/lib/libboost_chrono.so
+usr/lib/libboost_chrono.so.1.55.0
+#usr/lib/libboost_context-mt.a
+#usr/lib/libboost_context-mt.so
+usr/lib/libboost_context-mt.so.1.55.0
+#usr/lib/libboost_context.a
+#usr/lib/libboost_context.so
+usr/lib/libboost_context.so.1.55.0
+#usr/lib/libboost_coroutine-mt.a
+#usr/lib/libboost_coroutine-mt.so
+usr/lib/libboost_coroutine-mt.so.1.55.0
+#usr/lib/libboost_coroutine.a
+#usr/lib/libboost_coroutine.so
+usr/lib/libboost_coroutine.so.1.55.0
+#usr/lib/libboost_date_time-mt.a
+#usr/lib/libboost_date_time-mt.so
+usr/lib/libboost_date_time-mt.so.1.55.0
+#usr/lib/libboost_date_time.a
+#usr/lib/libboost_date_time.so
+usr/lib/libboost_date_time.so.1.55.0
+#usr/lib/libboost_exception-mt.a
+#usr/lib/libboost_exception.a
+#usr/lib/libboost_filesystem-mt.a
+#usr/lib/libboost_filesystem-mt.so
+usr/lib/libboost_filesystem-mt.so.1.55.0
+#usr/lib/libboost_filesystem.a
+#usr/lib/libboost_filesystem.so
+usr/lib/libboost_filesystem.so.1.55.0
+#usr/lib/libboost_graph-mt.a
+#usr/lib/libboost_graph-mt.so
+usr/lib/libboost_graph-mt.so.1.55.0
+#usr/lib/libboost_graph.a
+#usr/lib/libboost_graph.so
+usr/lib/libboost_graph.so.1.55.0
+#usr/lib/libboost_iostreams-mt.a
+#usr/lib/libboost_iostreams-mt.so
+usr/lib/libboost_iostreams-mt.so.1.55.0
+#usr/lib/libboost_iostreams.a
+#usr/lib/libboost_iostreams.so
+usr/lib/libboost_iostreams.so.1.55.0
+#usr/lib/libboost_locale-mt.a
+#usr/lib/libboost_locale-mt.so
+usr/lib/libboost_locale-mt.so.1.55.0
+#usr/lib/libboost_log-mt.a
+#usr/lib/libboost_log-mt.so
+usr/lib/libboost_log-mt.so.1.55.0
+#usr/lib/libboost_log.a
+#usr/lib/libboost_log.so
+usr/lib/libboost_log.so.1.55.0
+#usr/lib/libboost_log_setup-mt.a
+#usr/lib/libboost_log_setup-mt.so
+usr/lib/libboost_log_setup-mt.so.1.55.0
+#usr/lib/libboost_log_setup.a
+#usr/lib/libboost_log_setup.so
+usr/lib/libboost_log_setup.so.1.55.0
+#usr/lib/libboost_math_c99-mt.a
+#usr/lib/libboost_math_c99-mt.so
+usr/lib/libboost_math_c99-mt.so.1.55.0
+#usr/lib/libboost_math_c99.a
+#usr/lib/libboost_math_c99.so
+usr/lib/libboost_math_c99.so.1.55.0
+#usr/lib/libboost_math_c99f-mt.a
+#usr/lib/libboost_math_c99f-mt.so
+usr/lib/libboost_math_c99f-mt.so.1.55.0
+#usr/lib/libboost_math_c99f.a
+#usr/lib/libboost_math_c99f.so
+usr/lib/libboost_math_c99f.so.1.55.0
+#usr/lib/libboost_math_c99l-mt.a
+#usr/lib/libboost_math_c99l-mt.so
+usr/lib/libboost_math_c99l-mt.so.1.55.0
+#usr/lib/libboost_math_c99l.a
+#usr/lib/libboost_math_c99l.so
+#usr/lib/libboost_math_c99l.so.1.55.0
+#usr/lib/libboost_math_tr1-mt.a
+#usr/lib/libboost_math_tr1-mt.so
+usr/lib/libboost_math_tr1-mt.so.1.55.0
+#usr/lib/libboost_math_tr1.a
+#usr/lib/libboost_math_tr1.so
+usr/lib/libboost_math_tr1.so.1.55.0
+#usr/lib/libboost_math_tr1f-mt.a
+#usr/lib/libboost_math_tr1f-mt.so
+usr/lib/libboost_math_tr1f-mt.so.1.55.0
+#usr/lib/libboost_math_tr1f.a
+#usr/lib/libboost_math_tr1f.so
+usr/lib/libboost_math_tr1f.so.1.55.0
+#usr/lib/libboost_math_tr1l-mt.a
+#usr/lib/libboost_math_tr1l-mt.so
+usr/lib/libboost_math_tr1l-mt.so.1.55.0
+#usr/lib/libboost_math_tr1l.a
+#usr/lib/libboost_math_tr1l.so
+usr/lib/libboost_math_tr1l.so.1.55.0
+#usr/lib/libboost_prg_exec_monitor-mt.a
+#usr/lib/libboost_prg_exec_monitor-mt.so
+usr/lib/libboost_prg_exec_monitor-mt.so.1.55.0
+#usr/lib/libboost_prg_exec_monitor.a
+#usr/lib/libboost_prg_exec_monitor.so
+usr/lib/libboost_prg_exec_monitor.so.1.55.0
+#usr/lib/libboost_program_options-mt.a
+#usr/lib/libboost_program_options-mt.so
+usr/lib/libboost_program_options-mt.so.1.55.0
+#usr/lib/libboost_program_options.a
+#usr/lib/libboost_program_options.so
+usr/lib/libboost_program_options.so.1.55.0
+#usr/lib/libboost_random-mt.a
+#usr/lib/libboost_random-mt.so
+usr/lib/libboost_random-mt.so.1.55.0
+#usr/lib/libboost_random.a
+#usr/lib/libboost_random.so
+usr/lib/libboost_random.so.1.55.0
+#usr/lib/libboost_regex-mt.a
+#usr/lib/libboost_regex-mt.so
+usr/lib/libboost_regex-mt.so.1.55.0
+#usr/lib/libboost_regex.a
+#usr/lib/libboost_regex.so
+usr/lib/libboost_regex.so.1.55.0
+#usr/lib/libboost_serialization-mt.a
+#usr/lib/libboost_serialization-mt.so
+usr/lib/libboost_serialization-mt.so.1.55.0
+#usr/lib/libboost_serialization.a
+#usr/lib/libboost_serialization.so
+usr/lib/libboost_serialization.so.1.55.0
+#usr/lib/libboost_signals-mt.a
+#usr/lib/libboost_signals-mt.so
+usr/lib/libboost_signals-mt.so.1.55.0
+#usr/lib/libboost_signals.a
+#usr/lib/libboost_signals.so
+usr/lib/libboost_signals.so.1.55.0
+#usr/lib/libboost_system-mt.a
+#usr/lib/libboost_system-mt.so
+usr/lib/libboost_system-mt.so.1.55.0
+#usr/lib/libboost_system.a
+#usr/lib/libboost_system.so
+usr/lib/libboost_system.so.1.55.0
+#usr/lib/libboost_test_exec_monitor-mt.a
+#usr/lib/libboost_test_exec_monitor.a
+#usr/lib/libboost_thread-mt.a
+#usr/lib/libboost_thread-mt.so
+usr/lib/libboost_thread-mt.so.1.55.0
+#usr/lib/libboost_timer-mt.a
+#usr/lib/libboost_timer-mt.so
+usr/lib/libboost_timer-mt.so.1.55.0
+#usr/lib/libboost_timer.a
+#usr/lib/libboost_timer.so
+usr/lib/libboost_timer.so.1.55.0
+#usr/lib/libboost_unit_test_framework-mt.a
+#usr/lib/libboost_unit_test_framework-mt.so
+usr/lib/libboost_unit_test_framework-mt.so.1.55.0
+#usr/lib/libboost_unit_test_framework.a
+#usr/lib/libboost_unit_test_framework.so
+usr/lib/libboost_unit_test_framework.so.1.55.0
+#usr/lib/libboost_wave-mt.a
+#usr/lib/libboost_wave-mt.so
+usr/lib/libboost_wave-mt.so.1.55.0
+#usr/lib/libboost_wave.a
+#usr/lib/libboost_wave.so
+usr/lib/libboost_wave.so.1.55.0
+#usr/lib/libboost_wserialization-mt.a
+#usr/lib/libboost_wserialization-mt.so
+usr/lib/libboost_wserialization-mt.so.1.55.0
+#usr/lib/libboost_wserialization.a
+#usr/lib/libboost_wserialization.so
+usr/lib/libboost_wserialization.so.1.55.0
index 6afe6cdf8840a3fbe4be5b5dbdd2ed061b71d40c..8e5aff828ffbfe4dce1a2d39f7b49e5a31cc2a47 100644 (file)
@@ -117,6 +117,7 @@ var/ipfire/modem
 #var/ipfire/modem/defaults
 #var/ipfire/modem/settings
 var/ipfire/modem-lib.pl
+var/ipfire/network-functions.pl
 var/ipfire/net-traffic
 #var/ipfire/net-traffic/net-traffic-admin.pl
 #var/ipfire/net-traffic/net-traffic-lib.pl
index 4467545ae53a3fe999e2582fb54f5981c72089ea..b8a9fd4acac2bc9737f0a459d11e28658af7c004 100644 (file)
@@ -21,7 +21,7 @@ usr/lib/daq
 #usr/lib/libdaq.la
 #usr/lib/libdaq.so
 usr/lib/libdaq.so.2
-usr/lib/libdaq.so.2.0.1
+usr/lib/libdaq.so.2.0.2
 #usr/lib/libdaq_static.a
 #usr/lib/libdaq_static.la
 #usr/lib/libdaq_static_modules.a
diff --git a/config/rootfiles/common/ddns b/config/rootfiles/common/ddns
new file mode 100644 (file)
index 0000000..f93965c
--- /dev/null
@@ -0,0 +1,66 @@
+usr/bin/ddns
+usr/lib/python2.7/site-packages/ddns
+usr/lib/python2.7/site-packages/ddns/__init__.py
+usr/lib/python2.7/site-packages/ddns/__init__.pyc
+usr/lib/python2.7/site-packages/ddns/__init__.pyo
+usr/lib/python2.7/site-packages/ddns/__version__.py
+usr/lib/python2.7/site-packages/ddns/__version__.pyc
+usr/lib/python2.7/site-packages/ddns/__version__.pyo
+usr/lib/python2.7/site-packages/ddns/errors.py
+usr/lib/python2.7/site-packages/ddns/errors.pyc
+usr/lib/python2.7/site-packages/ddns/errors.pyo
+usr/lib/python2.7/site-packages/ddns/i18n.py
+usr/lib/python2.7/site-packages/ddns/i18n.pyc
+usr/lib/python2.7/site-packages/ddns/i18n.pyo
+usr/lib/python2.7/site-packages/ddns/providers.py
+usr/lib/python2.7/site-packages/ddns/providers.pyc
+usr/lib/python2.7/site-packages/ddns/providers.pyo
+usr/lib/python2.7/site-packages/ddns/system.py
+usr/lib/python2.7/site-packages/ddns/system.pyc
+usr/lib/python2.7/site-packages/ddns/system.pyo
+#usr/share/doc/ddns
+#usr/share/doc/ddns/COPYING
+#usr/share/locale/ar/LC_MESSAGES/ddns.mo
+#usr/share/locale/ca/LC_MESSAGES/ddns.mo
+#usr/share/locale/cs_CZ
+#usr/share/locale/cs_CZ/LC_MESSAGES
+#usr/share/locale/cs_CZ/LC_MESSAGES/ddns.mo
+#usr/share/locale/da/LC_MESSAGES/ddns.mo
+#usr/share/locale/de/LC_MESSAGES/ddns.mo
+#usr/share/locale/el_GR
+#usr/share/locale/el_GR/LC_MESSAGES
+#usr/share/locale/el_GR/LC_MESSAGES/ddns.mo
+#usr/share/locale/es/LC_MESSAGES/ddns.mo
+#usr/share/locale/fa/LC_MESSAGES/ddns.mo
+#usr/share/locale/fr/LC_MESSAGES/ddns.mo
+#usr/share/locale/hu/LC_MESSAGES/ddns.mo
+#usr/share/locale/id/LC_MESSAGES/ddns.mo
+#usr/share/locale/it/LC_MESSAGES/ddns.mo
+#usr/share/locale/ja/LC_MESSAGES/ddns.mo
+#usr/share/locale/km_KH
+#usr/share/locale/km_KH/LC_MESSAGES
+#usr/share/locale/km_KH/LC_MESSAGES/ddns.mo
+#usr/share/locale/nl/LC_MESSAGES/ddns.mo
+#usr/share/locale/pl/LC_MESSAGES/ddns.mo
+#usr/share/locale/pt_BR/LC_MESSAGES/ddns.mo
+#usr/share/locale/pt_PT/LC_MESSAGES/ddns.mo
+#usr/share/locale/ro_RO
+#usr/share/locale/ro_RO/LC_MESSAGES
+#usr/share/locale/ro_RO/LC_MESSAGES/ddns.mo
+#usr/share/locale/ru/LC_MESSAGES/ddns.mo
+#usr/share/locale/sq/LC_MESSAGES/ddns.mo
+#usr/share/locale/sv/LC_MESSAGES/ddns.mo
+#usr/share/locale/th/LC_MESSAGES/ddns.mo
+#usr/share/locale/tk
+#usr/share/locale/tk/LC_MESSAGES
+#usr/share/locale/tk/LC_MESSAGES/ddns.mo
+#usr/share/locale/tr/LC_MESSAGES/ddns.mo
+#usr/share/locale/uk/LC_MESSAGES/ddns.mo
+#usr/share/locale/uz@Latn
+#usr/share/locale/uz@Latn/LC_MESSAGES
+#usr/share/locale/uz@Latn/LC_MESSAGES/ddns.mo
+#usr/share/locale/vi/LC_MESSAGES/ddns.mo
+#usr/share/locale/zh
+#usr/share/locale/zh/LC_MESSAGES
+#usr/share/locale/zh/LC_MESSAGES/ddns.mo
+#var/ipfire/ddns/ddns.conf.sample
index 381309c2762883d9fe1579fc3e96ab4c89253b94..2c2cfeeb386de7b51520619a241b3947440b1995 100644 (file)
@@ -21,7 +21,7 @@ etc/dhcp/dhcpd.conf
 #usr/lib/libomapi.a
 #usr/sbin/dhclient
 usr/sbin/dhcpd
-#usr/sbin/dhcrelay
+usr/sbin/dhcrelay
 #usr/share/man/man1/omshell.1
 #usr/share/man/man3/dhcpctl.3
 #usr/share/man/man3/omapi.3
diff --git a/config/rootfiles/common/hostname b/config/rootfiles/common/hostname
new file mode 100644 (file)
index 0000000..7c59b98
--- /dev/null
@@ -0,0 +1,9 @@
+bin/dnsdomainname
+bin/domainname
+bin/hostname
+bin/nisdomainname
+bin/ypdomainname
+#usr/share/man/man1/dnsdomainname.1
+#usr/share/man/man1/domainname.1
+#usr/share/man/man1/nisdomainname.1
+#usr/share/man/man1/ypdomainname.1
diff --git a/config/rootfiles/common/i586/gmp b/config/rootfiles/common/i586/gmp
new file mode 100644 (file)
index 0000000..2de8123
--- /dev/null
@@ -0,0 +1,17 @@
+#usr/include/gmp.h
+#usr/include/gmpxx.h
+#usr/lib/libgmp.a
+#usr/lib/libgmp.la
+#usr/lib/libgmp.so
+usr/lib/libgmp.so.10
+usr/lib/libgmp.so.10.2.0
+#usr/lib/libgmpxx.a
+#usr/lib/libgmpxx.la
+#usr/lib/libgmpxx.so
+usr/lib/libgmpxx.so.4
+usr/lib/libgmpxx.so.4.4.0
+usr/lib/sse2/libgmp.so.10
+usr/lib/sse2/libgmp.so.10.2.0
+#usr/share/info/gmp.info
+#usr/share/info/gmp.info-1
+#usr/share/info/gmp.info-2
index b34ea9187c57b054c1a98e6b735d22957ff4dd43..622886fd647f909dc2bb340b1ca5682642789a5e 100644 (file)
@@ -26,6 +26,7 @@ etc/rc.d/init.d/console
 #etc/rc.d/init.d/cyrus-imapd
 #etc/rc.d/init.d/cyrus-sasl
 etc/rc.d/init.d/dhcp
+etc/rc.d/init.d/dhcrelay
 etc/rc.d/init.d/dnsmasq
 etc/rc.d/init.d/fcron
 #etc/rc.d/init.d/fetchmail
@@ -36,7 +37,6 @@ etc/rc.d/init.d/functions
 #etc/rc.d/init.d/gnump3d
 etc/rc.d/init.d/halt
 #etc/rc.d/init.d/hostapd
-#etc/rc.d/init.d/icecream
 #etc/rc.d/init.d/imspector
 etc/rc.d/init.d/ipsec
 #etc/rc.d/init.d/keepalived
@@ -75,13 +75,13 @@ etc/rc.d/init.d/networking/red.down/05-RS-dnsmasq
 etc/rc.d/init.d/networking/red.down/10-ipsec
 etc/rc.d/init.d/networking/red.down/10-miniupnpd
 etc/rc.d/init.d/networking/red.down/10-ovpn
-etc/rc.d/init.d/networking/red.down/20-RL-firewall
+etc/rc.d/init.d/networking/red.down/20-firewall
 #etc/rc.d/init.d/networking/red.up
 etc/rc.d/init.d/networking/red.up/01-conntrack-cleanup
 etc/rc.d/init.d/networking/red.up/05-RS-dnsmasq
 etc/rc.d/init.d/networking/red.up/10-miniupnpd
 etc/rc.d/init.d/networking/red.up/10-multicast
-etc/rc.d/init.d/networking/red.up/20-RL-firewall
+etc/rc.d/init.d/networking/red.up/20-firewall
 etc/rc.d/init.d/networking/red.up/23-RS-snort
 etc/rc.d/init.d/networking/red.up/24-RS-qos
 etc/rc.d/init.d/networking/red.up/27-RS-squid
@@ -134,7 +134,6 @@ etc/rc.d/init.d/upnpd
 #etc/rc.d/init.d/vdradmin
 #etc/rc.d/init.d/vsftpd
 #etc/rc.d/init.d/watchdog
-#etc/rc.d/init.d/winbind
 etc/rc.d/init.d/wlanclient
 #etc/rc.d/init.d/xinetd
 #etc/rc.d/rc0.d
index 48bd9ced554d2b70ae75740e0ce88193275e84e6..3f364aed55e54ad1ee68f0f475c1291b7bb1abc2 100644 (file)
@@ -240,10 +240,25 @@ lib/modules/KVER-ipfire
 #lib/modules/KVER-ipfire/kernel/drivers/clocksource/cs5535-clockevt.ko
 #lib/modules/KVER-ipfire/kernel/drivers/clocksource/scx200_hrt.ko
 #lib/modules/KVER-ipfire/kernel/drivers/cpufreq
+#lib/modules/KVER-ipfire/kernel/drivers/cpufreq/acpi-cpufreq.ko
+#lib/modules/KVER-ipfire/kernel/drivers/cpufreq/amd_freq_sensitivity.ko
+#lib/modules/KVER-ipfire/kernel/drivers/cpufreq/cpufreq-nforce2.ko
 #lib/modules/KVER-ipfire/kernel/drivers/cpufreq/cpufreq_conservative.ko
 #lib/modules/KVER-ipfire/kernel/drivers/cpufreq/cpufreq_ondemand.ko
 #lib/modules/KVER-ipfire/kernel/drivers/cpufreq/cpufreq_powersave.ko
 #lib/modules/KVER-ipfire/kernel/drivers/cpufreq/cpufreq_stats.ko
+#lib/modules/KVER-ipfire/kernel/drivers/cpufreq/gx-suspmod.ko
+#lib/modules/KVER-ipfire/kernel/drivers/cpufreq/longhaul.ko
+#lib/modules/KVER-ipfire/kernel/drivers/cpufreq/longrun.ko
+#lib/modules/KVER-ipfire/kernel/drivers/cpufreq/mperf.ko
+#lib/modules/KVER-ipfire/kernel/drivers/cpufreq/p4-clockmod.ko
+#lib/modules/KVER-ipfire/kernel/drivers/cpufreq/pcc-cpufreq.ko
+#lib/modules/KVER-ipfire/kernel/drivers/cpufreq/powernow-k6.ko
+#lib/modules/KVER-ipfire/kernel/drivers/cpufreq/powernow-k7.ko
+#lib/modules/KVER-ipfire/kernel/drivers/cpufreq/powernow-k8.ko
+#lib/modules/KVER-ipfire/kernel/drivers/cpufreq/speedstep-ich.ko
+#lib/modules/KVER-ipfire/kernel/drivers/cpufreq/speedstep-lib.ko
+#lib/modules/KVER-ipfire/kernel/drivers/cpufreq/speedstep-smi.ko
 #lib/modules/KVER-ipfire/kernel/drivers/crypto
 #lib/modules/KVER-ipfire/kernel/drivers/crypto/geode-aes.ko
 #lib/modules/KVER-ipfire/kernel/drivers/crypto/hifn_795x.ko
@@ -2663,6 +2678,7 @@ lib/modules/KVER-ipfire
 #lib/modules/KVER-ipfire/kernel/net/sched/sch_mqprio.ko
 #lib/modules/KVER-ipfire/kernel/net/sched/sch_multiq.ko
 #lib/modules/KVER-ipfire/kernel/net/sched/sch_netem.ko
+#lib/modules/KVER-ipfire/kernel/net/sched/sch_pie.ko
 #lib/modules/KVER-ipfire/kernel/net/sched/sch_plug.ko
 #lib/modules/KVER-ipfire/kernel/net/sched/sch_prio.ko
 #lib/modules/KVER-ipfire/kernel/net/sched/sch_qfq.ko
index 8f8123cd87696b75af10d2e78cefe626d050fce2..deaa97f4019b3ee57d104c21913a7a194b56853d 100644 (file)
 #usr/include/linux/unix_diag.h
 #usr/include/linux/usb
 #usr/include/linux/usb/audio.h
+#usr/include/linux/usb/cdc-wdm.h
 #usr/include/linux/usb/cdc.h
 #usr/include/linux/usb/ch11.h
 #usr/include/linux/usb/ch9.h
index ea3de18484ec26abbf703e2a468166a79c79e960..6f31cf6a8381f7d28e924a344c6f44118a7f01d7 100644 (file)
@@ -234,6 +234,7 @@ usr/share/bash-completion
 #usr/share/man/man1/ipcmk.1
 #usr/share/man/man1/ipcrm.1
 #usr/share/man/man1/ipcs.1
+#usr/share/man/man1/logger.1
 #usr/share/man/man1/look.1
 #usr/share/man/man1/lscpu.1
 #usr/share/man/man1/mcookie.1
@@ -303,4 +304,3 @@ usr/share/bash-completion
 #usr/share/man/man8/umount.8
 #usr/share/man/man8/wdctl.8
 #usr/share/man/man8/wipefs.8
-
diff --git a/config/rootfiles/common/inetutils b/config/rootfiles/common/inetutils
deleted file mode 100644 (file)
index fb33fb0..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-bin/ping
-#usr/bin/ftp
-#usr/bin/rcp
-#usr/bin/rlogin
-#usr/bin/rsh
-#usr/bin/talk
-#usr/bin/tftp
-#usr/sbin/ftpd
-#usr/sbin/inetd
-#usr/sbin/rexecd
-#usr/sbin/rlogind
-#usr/sbin/rshd
-#usr/sbin/talkd
-#usr/sbin/tftpd
-#usr/sbin/uucpd
-#usr/share/info/inetutils.info
-#usr/share/info/inetutils.info-1
-#usr/share/info/inetutils.info-2
-#usr/share/info/inetutils.info-3
-#usr/share/man/man1/ftp.1
-#usr/share/man/man1/logger.1
-#usr/share/man/man1/rcp.1
-#usr/share/man/man1/rlogin.1
-#usr/share/man/man1/rsh.1
-#usr/share/man/man1/talk.1
-#usr/share/man/man1/telnet.1
-#usr/share/man/man1/tftp.1
-#usr/share/man/man5/syslog.conf.5
-#usr/share/man/man8/ftpd.8
-#usr/share/man/man8/inetd.8
-#usr/share/man/man8/ping.8
-#usr/share/man/man8/rexecd.8
-#usr/share/man/man8/rlogind.8
-#usr/share/man/man8/rshd.8
-#usr/share/man/man8/syslogd.8
-#usr/share/man/man8/talkd.8
-#usr/share/man/man8/telnetd.8
-#usr/share/man/man8/tftpd.8
index 934b55509a0364d0712345ac7ab761b6f54d667a..3484cbb244b04f177a8fef07ddf63066f1f03409 100644 (file)
@@ -1,2 +1,3 @@
+bin/ping
 usr/bin/ping
 usr/bin/tracepath
diff --git a/config/rootfiles/common/libgcrypt b/config/rootfiles/common/libgcrypt
new file mode 100644 (file)
index 0000000..96e48e1
--- /dev/null
@@ -0,0 +1,14 @@
+#usr/bin/dumpsexp
+#usr/bin/hmac256
+#usr/bin/libgcrypt-config
+#usr/bin/mpicalc
+#usr/include/gcrypt.h
+#usr/lib/libgcrypt.la
+#usr/lib/libgcrypt.so
+usr/lib/libgcrypt.so.20
+usr/lib/libgcrypt.so.20.0.1
+#usr/share/aclocal/libgcrypt.m4
+#usr/share/info/gcrypt.info
+#usr/share/info/gcrypt.info-1
+#usr/share/info/gcrypt.info-2
+#usr/share/man/man1/hmac256.1
diff --git a/config/rootfiles/common/libgpg-error b/config/rootfiles/common/libgpg-error
new file mode 100644 (file)
index 0000000..cbb7dec
--- /dev/null
@@ -0,0 +1,31 @@
+usr/bin/gpg-error
+#usr/bin/gpg-error-config
+#usr/include/gpg-error.h
+#usr/lib/libgpg-error.la
+#usr/lib/libgpg-error.so
+usr/lib/libgpg-error.so.0
+usr/lib/libgpg-error.so.0.11.0
+#usr/share/aclocal/gpg-error.m4
+#usr/share/common-lisp
+#usr/share/common-lisp/source
+#usr/share/common-lisp/source/gpg-error
+#usr/share/common-lisp/source/gpg-error/gpg-error-codes.lisp
+#usr/share/common-lisp/source/gpg-error/gpg-error-package.lisp
+#usr/share/common-lisp/source/gpg-error/gpg-error.asd
+#usr/share/common-lisp/source/gpg-error/gpg-error.lisp
+#usr/share/locale/cs/LC_MESSAGES/libgpg-error.mo
+#usr/share/locale/da/LC_MESSAGES/libgpg-error.mo
+#usr/share/locale/de/LC_MESSAGES/libgpg-error.mo
+#usr/share/locale/eo
+#usr/share/locale/eo/LC_MESSAGES
+#usr/share/locale/eo/LC_MESSAGES/libgpg-error.mo
+#usr/share/locale/fr/LC_MESSAGES/libgpg-error.mo
+#usr/share/locale/it/LC_MESSAGES/libgpg-error.mo
+#usr/share/locale/ja/LC_MESSAGES/libgpg-error.mo
+#usr/share/locale/nl/LC_MESSAGES/libgpg-error.mo
+#usr/share/locale/pl/LC_MESSAGES/libgpg-error.mo
+#usr/share/locale/ro/LC_MESSAGES/libgpg-error.mo
+#usr/share/locale/sv/LC_MESSAGES/libgpg-error.mo
+#usr/share/locale/uk/LC_MESSAGES/libgpg-error.mo
+#usr/share/locale/vi/LC_MESSAGES/libgpg-error.mo
+#usr/share/locale/zh_CN/LC_MESSAGES/libgpg-error.mo
diff --git a/config/rootfiles/common/libnl-3 b/config/rootfiles/common/libnl-3
new file mode 100644 (file)
index 0000000..0ad3c36
--- /dev/null
@@ -0,0 +1,204 @@
+#etc/libnl
+etc/libnl/classid
+etc/libnl/pktloc
+#usr/include/libnl3
+#usr/include/libnl3/netlink
+#usr/include/libnl3/netlink/addr.h
+#usr/include/libnl3/netlink/attr.h
+#usr/include/libnl3/netlink/cache-api.h
+#usr/include/libnl3/netlink/cache.h
+#usr/include/libnl3/netlink/cli
+#usr/include/libnl3/netlink/cli/addr.h
+#usr/include/libnl3/netlink/cli/class.h
+#usr/include/libnl3/netlink/cli/cls.h
+#usr/include/libnl3/netlink/cli/ct.h
+#usr/include/libnl3/netlink/cli/exp.h
+#usr/include/libnl3/netlink/cli/link.h
+#usr/include/libnl3/netlink/cli/neigh.h
+#usr/include/libnl3/netlink/cli/qdisc.h
+#usr/include/libnl3/netlink/cli/route.h
+#usr/include/libnl3/netlink/cli/rule.h
+#usr/include/libnl3/netlink/cli/tc.h
+#usr/include/libnl3/netlink/cli/utils.h
+#usr/include/libnl3/netlink/data.h
+#usr/include/libnl3/netlink/errno.h
+#usr/include/libnl3/netlink/fib_lookup
+#usr/include/libnl3/netlink/fib_lookup/lookup.h
+#usr/include/libnl3/netlink/fib_lookup/request.h
+#usr/include/libnl3/netlink/genl
+#usr/include/libnl3/netlink/genl/ctrl.h
+#usr/include/libnl3/netlink/genl/family.h
+#usr/include/libnl3/netlink/genl/genl.h
+#usr/include/libnl3/netlink/genl/mngt.h
+#usr/include/libnl3/netlink/handlers.h
+#usr/include/libnl3/netlink/hash.h
+#usr/include/libnl3/netlink/hashtable.h
+#usr/include/libnl3/netlink/idiag
+#usr/include/libnl3/netlink/idiag/idiagnl.h
+#usr/include/libnl3/netlink/idiag/meminfo.h
+#usr/include/libnl3/netlink/idiag/msg.h
+#usr/include/libnl3/netlink/idiag/req.h
+#usr/include/libnl3/netlink/idiag/vegasinfo.h
+#usr/include/libnl3/netlink/list.h
+#usr/include/libnl3/netlink/msg.h
+#usr/include/libnl3/netlink/netfilter
+#usr/include/libnl3/netlink/netfilter/ct.h
+#usr/include/libnl3/netlink/netfilter/exp.h
+#usr/include/libnl3/netlink/netfilter/log.h
+#usr/include/libnl3/netlink/netfilter/log_msg.h
+#usr/include/libnl3/netlink/netfilter/netfilter.h
+#usr/include/libnl3/netlink/netfilter/nfnl.h
+#usr/include/libnl3/netlink/netfilter/queue.h
+#usr/include/libnl3/netlink/netfilter/queue_msg.h
+#usr/include/libnl3/netlink/netlink-compat.h
+#usr/include/libnl3/netlink/netlink-kernel.h
+#usr/include/libnl3/netlink/netlink.h
+#usr/include/libnl3/netlink/object-api.h
+#usr/include/libnl3/netlink/object.h
+#usr/include/libnl3/netlink/route
+#usr/include/libnl3/netlink/route/act
+#usr/include/libnl3/netlink/route/act/mirred.h
+#usr/include/libnl3/netlink/route/action.h
+#usr/include/libnl3/netlink/route/addr.h
+#usr/include/libnl3/netlink/route/class.h
+#usr/include/libnl3/netlink/route/classifier.h
+#usr/include/libnl3/netlink/route/cls
+#usr/include/libnl3/netlink/route/cls/basic.h
+#usr/include/libnl3/netlink/route/cls/cgroup.h
+#usr/include/libnl3/netlink/route/cls/ematch
+#usr/include/libnl3/netlink/route/cls/ematch.h
+#usr/include/libnl3/netlink/route/cls/ematch/cmp.h
+#usr/include/libnl3/netlink/route/cls/ematch/meta.h
+#usr/include/libnl3/netlink/route/cls/ematch/nbyte.h
+#usr/include/libnl3/netlink/route/cls/ematch/text.h
+#usr/include/libnl3/netlink/route/cls/fw.h
+#usr/include/libnl3/netlink/route/cls/police.h
+#usr/include/libnl3/netlink/route/cls/u32.h
+#usr/include/libnl3/netlink/route/link
+#usr/include/libnl3/netlink/route/link.h
+#usr/include/libnl3/netlink/route/link/api.h
+#usr/include/libnl3/netlink/route/link/bonding.h
+#usr/include/libnl3/netlink/route/link/bridge.h
+#usr/include/libnl3/netlink/route/link/can.h
+#usr/include/libnl3/netlink/route/link/inet.h
+#usr/include/libnl3/netlink/route/link/info-api.h
+#usr/include/libnl3/netlink/route/link/ip6tnl.h
+#usr/include/libnl3/netlink/route/link/ipgre.h
+#usr/include/libnl3/netlink/route/link/ipip.h
+#usr/include/libnl3/netlink/route/link/ipvti.h
+#usr/include/libnl3/netlink/route/link/macvlan.h
+#usr/include/libnl3/netlink/route/link/sit.h
+#usr/include/libnl3/netlink/route/link/veth.h
+#usr/include/libnl3/netlink/route/link/vlan.h
+#usr/include/libnl3/netlink/route/link/vxlan.h
+#usr/include/libnl3/netlink/route/neighbour.h
+#usr/include/libnl3/netlink/route/neightbl.h
+#usr/include/libnl3/netlink/route/nexthop.h
+#usr/include/libnl3/netlink/route/pktloc.h
+#usr/include/libnl3/netlink/route/qdisc
+#usr/include/libnl3/netlink/route/qdisc.h
+#usr/include/libnl3/netlink/route/qdisc/cbq.h
+#usr/include/libnl3/netlink/route/qdisc/dsmark.h
+#usr/include/libnl3/netlink/route/qdisc/fifo.h
+#usr/include/libnl3/netlink/route/qdisc/fq_codel.h
+#usr/include/libnl3/netlink/route/qdisc/htb.h
+#usr/include/libnl3/netlink/route/qdisc/netem.h
+#usr/include/libnl3/netlink/route/qdisc/plug.h
+#usr/include/libnl3/netlink/route/qdisc/prio.h
+#usr/include/libnl3/netlink/route/qdisc/red.h
+#usr/include/libnl3/netlink/route/qdisc/sfq.h
+#usr/include/libnl3/netlink/route/qdisc/tbf.h
+#usr/include/libnl3/netlink/route/route.h
+#usr/include/libnl3/netlink/route/rtnl.h
+#usr/include/libnl3/netlink/route/rule.h
+#usr/include/libnl3/netlink/route/tc-api.h
+#usr/include/libnl3/netlink/route/tc.h
+#usr/include/libnl3/netlink/socket.h
+#usr/include/libnl3/netlink/types.h
+#usr/include/libnl3/netlink/utils.h
+#usr/include/libnl3/netlink/version.h
+#usr/lib/libnl
+#usr/lib/libnl-3.a
+#usr/lib/libnl-3.la
+#usr/lib/libnl-3.so
+usr/lib/libnl-3.so.200
+usr/lib/libnl-3.so.200.20.0
+#usr/lib/libnl-cli-3.a
+#usr/lib/libnl-cli-3.la
+#usr/lib/libnl-cli-3.so
+usr/lib/libnl-cli-3.so.200
+usr/lib/libnl-cli-3.so.200.20.0
+#usr/lib/libnl-genl-3.a
+#usr/lib/libnl-genl-3.la
+#usr/lib/libnl-genl-3.so
+usr/lib/libnl-genl-3.so.200
+usr/lib/libnl-genl-3.so.200.20.0
+#usr/lib/libnl-idiag-3.a
+#usr/lib/libnl-idiag-3.la
+#usr/lib/libnl-idiag-3.so
+usr/lib/libnl-idiag-3.so.200
+usr/lib/libnl-idiag-3.so.200.20.0
+#usr/lib/libnl-nf-3.a
+#usr/lib/libnl-nf-3.la
+#usr/lib/libnl-nf-3.so
+usr/lib/libnl-nf-3.so.200
+usr/lib/libnl-nf-3.so.200.20.0
+#usr/lib/libnl-route-3.a
+#usr/lib/libnl-route-3.la
+#usr/lib/libnl-route-3.so
+usr/lib/libnl-route-3.so.200
+usr/lib/libnl-route-3.so.200.20.0
+#usr/lib/libnl/cli
+#usr/lib/libnl/cli/cls
+#usr/lib/libnl/cli/cls/basic.a
+#usr/lib/libnl/cli/cls/basic.la
+usr/lib/libnl/cli/cls/basic.so
+#usr/lib/libnl/cli/cls/cgroup.a
+#usr/lib/libnl/cli/cls/cgroup.la
+usr/lib/libnl/cli/cls/cgroup.so
+#usr/lib/libnl/cli/qdisc
+#usr/lib/libnl/cli/qdisc/bfifo.a
+#usr/lib/libnl/cli/qdisc/bfifo.la
+usr/lib/libnl/cli/qdisc/bfifo.so
+#usr/lib/libnl/cli/qdisc/blackhole.a
+#usr/lib/libnl/cli/qdisc/blackhole.la
+usr/lib/libnl/cli/qdisc/blackhole.so
+#usr/lib/libnl/cli/qdisc/fq_codel.a
+#usr/lib/libnl/cli/qdisc/fq_codel.la
+usr/lib/libnl/cli/qdisc/fq_codel.so
+#usr/lib/libnl/cli/qdisc/htb.a
+#usr/lib/libnl/cli/qdisc/htb.la
+usr/lib/libnl/cli/qdisc/htb.so
+#usr/lib/libnl/cli/qdisc/ingress.a
+#usr/lib/libnl/cli/qdisc/ingress.la
+usr/lib/libnl/cli/qdisc/ingress.so
+#usr/lib/libnl/cli/qdisc/pfifo.a
+#usr/lib/libnl/cli/qdisc/pfifo.la
+usr/lib/libnl/cli/qdisc/pfifo.so
+#usr/lib/libnl/cli/qdisc/plug.a
+#usr/lib/libnl/cli/qdisc/plug.la
+usr/lib/libnl/cli/qdisc/plug.so
+#usr/lib/pkgconfig/libnl-3.0.pc
+#usr/lib/pkgconfig/libnl-cli-3.0.pc
+#usr/lib/pkgconfig/libnl-genl-3.0.pc
+#usr/lib/pkgconfig/libnl-nf-3.0.pc
+#usr/lib/pkgconfig/libnl-route-3.0.pc
+#usr/sbin/genl-ctrl-list
+usr/sbin/nl-class-add
+usr/sbin/nl-class-delete
+usr/sbin/nl-class-list
+usr/sbin/nl-classid-lookup
+usr/sbin/nl-cls-add
+usr/sbin/nl-cls-delete
+usr/sbin/nl-cls-list
+usr/sbin/nl-link-list
+usr/sbin/nl-pktloc-lookup
+usr/sbin/nl-qdisc-add
+usr/sbin/nl-qdisc-delete
+usr/sbin/nl-qdisc-list
+#usr/share/man/man8/genl-ctrl-list.8
+#usr/share/man/man8/nl-classid-lookup.8
+#usr/share/man/man8/nl-pktloc-lookup.8
+#usr/share/man/man8/nl-qdisc-add.8
+#usr/share/man/man8/nl-qdisc-delete.8
+#usr/share/man/man8/nl-qdisc-list.8
index 0fc7c0090b74074e4e5b641b3be77899ab6705d6..52169a74a94b2f53f2d3ed60453ace0ffa3d7be7 100644 (file)
@@ -1,7 +1,9 @@
 #usr/bin/pcap-config
 #usr/include/pcap
+#usr/include/pcap/bluetooth.h
 #usr/include/pcap-bpf.h
 #usr/include/pcap-int.h
+#usr/include/pcap/ipnet.h
 #usr/include/pcap-namedb.h
 #usr/include/pcap.h
 #usr/include/pcap/bpf.h
 #usr/include/pcap/pcap.h
 #usr/include/pcap/sll.h
 #usr/include/pcap/usb.h
+#usr/include/pcap/vlan.h
 #usr/lib/libpcap.a
 usr/lib/libpcap.so
 usr/lib/libpcap.so.1
-usr/lib/libpcap.so.1.0
-usr/lib/libpcap.so.1.0.0
+usr/lib/libpcap.so.1.4.0
 #usr/share/man/man1/pcap-config.1
 #usr/share/man/man3/pcap.3pcap
 #usr/share/man/man3/pcap_activate.3pcap
@@ -39,6 +41,7 @@ usr/lib/libpcap.so.1.0.0
 #usr/share/man/man3/pcap_findalldevs.3pcap
 #usr/share/man/man3/pcap_fopen_offline.3pcap
 #usr/share/man/man3/pcap_free_datalinks.3pcap
+#usr/share/man/man3/pcap_free_tstamp_types.3pcap
 #usr/share/man/man3/pcap_freealldevs.3pcap
 #usr/share/man/man3/pcap_freecode.3pcap
 #usr/share/man/man3/pcap_get_selectable_fd.3pcap
@@ -48,6 +51,7 @@ usr/lib/libpcap.so.1.0.0
 #usr/share/man/man3/pcap_is_swapped.3pcap
 #usr/share/man/man3/pcap_lib_version.3pcap
 #usr/share/man/man3/pcap_list_datalinks.3pcap
+#usr/share/man/man3/pcap_list_tstamp_types.3pcap
 #usr/share/man/man3/pcap_lookupdev.3pcap
 #usr/share/man/man3/pcap_lookupnet.3pcap
 #usr/share/man/man3/pcap_loop.3pcap
@@ -67,6 +71,7 @@ usr/lib/libpcap.so.1.0.0
 #usr/share/man/man3/pcap_set_rfmon.3pcap
 #usr/share/man/man3/pcap_set_snaplen.3pcap
 #usr/share/man/man3/pcap_set_timeout.3pcap
+#usr/share/man/man3/pcap_set_tstamp_type.3pcap
 #usr/share/man/man3/pcap_setdirection.3pcap
 #usr/share/man/man3/pcap_setfilter.3pcap
 #usr/share/man/man3/pcap_setnonblock.3pcap
@@ -74,6 +79,9 @@ usr/lib/libpcap.so.1.0.0
 #usr/share/man/man3/pcap_stats.3pcap
 #usr/share/man/man3/pcap_statustostr.3pcap
 #usr/share/man/man3/pcap_strerror.3pcap
+#usr/share/man/man3/pcap_tstamp_type_name_to_val.3pcap
+#usr/share/man/man3/pcap_tstamp_type_val_to_name.3pcap
 #usr/share/man/man5/pcap-savefile.5
 #usr/share/man/man7/pcap-filter.7
 #usr/share/man/man7/pcap-linktype.7
+#usr/share/man/man7/pcap-tstamp.7
index e4f33374bf5c6b0ab2ed652c5f00fbbef8ce621c..70b925b8a85918b91bb6fb1d7d0e55a7297f99b7 100644 (file)
@@ -3,13 +3,13 @@
 #usr/lib/libmpfr.a
 #usr/lib/libmpfr.la
 #usr/lib/libmpfr.so
-usr/lib/libmpfr.so.1
-usr/lib/libmpfr.so.1.2.2
+usr/lib/libmpfr.so.4
+usr/lib/libmpfr.so.4.1.2
 #usr/share/doc/mpfr
 #usr/share/doc/mpfr/AUTHORS
 #usr/share/doc/mpfr/BUGS
 #usr/share/doc/mpfr/COPYING
-#usr/share/doc/mpfr/COPYING.LIB
+#usr/share/doc/mpfr/COPYING.LESSER
 #usr/share/doc/mpfr/FAQ.html
 #usr/share/doc/mpfr/NEWS
 #usr/share/doc/mpfr/TODO
@@ -18,4 +18,5 @@ usr/lib/libmpfr.so.1.2.2
 #usr/share/doc/mpfr/examples/divworst.c
 #usr/share/doc/mpfr/examples/rndo-add.c
 #usr/share/doc/mpfr/examples/sample.c
+#usr/share/doc/mpfr/examples/version.c
 #usr/share/info/mpfr.info
index 3cf72ac400dd22ec0d5745cd26b6c5ceed6e3a7d..4860b2f0a8e8e103f05da8787a22979b4fb2b061 100644 (file)
@@ -1,9 +1,4 @@
-bin/dnsdomainname
-bin/domainname
-bin/hostname
 bin/netstat
-#bin/nisdomainname
-#bin/ypdomainname
 sbin/arp
 sbin/ifconfig
 #sbin/ipmaddr
@@ -14,10 +9,6 @@ sbin/nameif
 sbin/rarp
 sbin/route
 sbin/slattach
-#usr/share/man/man1/dnsdomainname.1
-#usr/share/man/man1/domainname.1
-#usr/share/man/man1/nisdomainname.1
-#usr/share/man/man1/ypdomainname.1
 #usr/share/man/man5/ethers.5
 #usr/share/man/man8/arp.8
 #usr/share/man/man8/ifconfig.8
diff --git a/config/rootfiles/common/nettle b/config/rootfiles/common/nettle
new file mode 100644 (file)
index 0000000..e6e4552
--- /dev/null
@@ -0,0 +1,71 @@
+#usr/bin/nettle-hash
+#usr/bin/nettle-lfib-stream
+#usr/bin/nettle-pbkdf2
+#usr/bin/pkcs1-conv
+#usr/bin/sexp-conv
+#usr/include/nettle
+#usr/include/nettle/aes.h
+#usr/include/nettle/arcfour.h
+#usr/include/nettle/arctwo.h
+#usr/include/nettle/asn1.h
+#usr/include/nettle/base16.h
+#usr/include/nettle/base64.h
+#usr/include/nettle/bignum.h
+#usr/include/nettle/blowfish.h
+#usr/include/nettle/buffer.h
+#usr/include/nettle/camellia.h
+#usr/include/nettle/cast128.h
+#usr/include/nettle/cbc.h
+#usr/include/nettle/ccm.h
+#usr/include/nettle/chacha-poly1305.h
+#usr/include/nettle/chacha.h
+#usr/include/nettle/ctr.h
+#usr/include/nettle/des-compat.h
+#usr/include/nettle/des.h
+#usr/include/nettle/dsa-compat.h
+#usr/include/nettle/dsa.h
+#usr/include/nettle/eax.h
+#usr/include/nettle/ecc-curve.h
+#usr/include/nettle/ecc.h
+#usr/include/nettle/ecdsa.h
+#usr/include/nettle/gcm.h
+#usr/include/nettle/gosthash94.h
+#usr/include/nettle/hmac.h
+#usr/include/nettle/knuth-lfib.h
+#usr/include/nettle/macros.h
+#usr/include/nettle/md2.h
+#usr/include/nettle/md4.h
+#usr/include/nettle/md5-compat.h
+#usr/include/nettle/md5.h
+#usr/include/nettle/memxor.h
+#usr/include/nettle/nettle-meta.h
+#usr/include/nettle/nettle-stdint.h
+#usr/include/nettle/nettle-types.h
+#usr/include/nettle/pbkdf2.h
+#usr/include/nettle/pgp.h
+#usr/include/nettle/pkcs1.h
+#usr/include/nettle/poly1305.h
+#usr/include/nettle/realloc.h
+#usr/include/nettle/ripemd160.h
+#usr/include/nettle/rsa.h
+#usr/include/nettle/salsa20.h
+#usr/include/nettle/serpent.h
+#usr/include/nettle/sexp.h
+#usr/include/nettle/sha.h
+#usr/include/nettle/sha1.h
+#usr/include/nettle/sha2.h
+#usr/include/nettle/sha3.h
+#usr/include/nettle/twofish.h
+#usr/include/nettle/umac.h
+#usr/include/nettle/yarrow.h
+#usr/lib/libhogweed.a
+#usr/lib/libhogweed.so
+usr/lib/libhogweed.so.3
+usr/lib/libhogweed.so.3.0
+#usr/lib/libnettle.a
+#usr/lib/libnettle.so
+usr/lib/libnettle.so.5
+usr/lib/libnettle.so.5.0
+#usr/lib/pkgconfig/hogweed.pc
+#usr/lib/pkgconfig/nettle.pc
+#usr/share/info/nettle.info
index 709e0d0e06498a40042b73e7ff269764d9e671b4..46c2f83b35e9a49ed7baec899fa7c2c03c70ca98 100644 (file)
@@ -33,18 +33,18 @@ etc/ppp/standardloginscript
 #usr/include/pppd/tdb.h
 #usr/include/pppd/upap.h
 usr/lib/pppd
-usr/lib/pppd/2.4.6
-usr/lib/pppd/2.4.6/minconn.so
-usr/lib/pppd/2.4.6/openl2tp.so
-usr/lib/pppd/2.4.6/passprompt.so
-usr/lib/pppd/2.4.6/passwordfd.so
-usr/lib/pppd/2.4.6/pppoatm.so
-usr/lib/pppd/2.4.6/pppol2tp.so
-usr/lib/pppd/2.4.6/radattr.so
-usr/lib/pppd/2.4.6/radius.so
-usr/lib/pppd/2.4.6/radrealms.so
-usr/lib/pppd/2.4.6/rp-pppoe.so
-usr/lib/pppd/2.4.6/winbind.so
+usr/lib/pppd/2.4.7
+#usr/lib/pppd/2.4.7/minconn.so
+#usr/lib/pppd/2.4.7/openl2tp.so
+#usr/lib/pppd/2.4.7/passprompt.so
+#usr/lib/pppd/2.4.7/passwordfd.so
+#usr/lib/pppd/2.4.7/pppoatm.so
+#usr/lib/pppd/2.4.7/pppol2tp.so
+#usr/lib/pppd/2.4.7/radattr.so
+#usr/lib/pppd/2.4.7/radius.so
+#usr/lib/pppd/2.4.7/radrealms.so
+#usr/lib/pppd/2.4.7/rp-pppoe.so
+#usr/lib/pppd/2.4.7/winbind.so
 usr/sbin/chat
 usr/sbin/pppd
 usr/sbin/pppdump
index 87649e9726b942db11496c458ac754032adf3ba7..eb97040764578da2493d204c8d756e2ec47757b5 100644 (file)
@@ -74,6 +74,7 @@ usr/lib/libgcc_s.so.1
 #usr/lib/libstdc++.la
 #usr/lib/libstdc++.so
 usr/lib/libstdc++.so.6
+#usr/lib/sse2
 #usr/local
 #usr/local/bin
 #usr/local/bin/archive.files
@@ -90,7 +91,6 @@ usr/local/bin/rebuild-initrd
 usr/local/bin/run-parts
 #usr/local/bin/sanedloop
 usr/local/bin/scanhd
-usr/local/bin/setddns.pl
 usr/local/bin/settime
 usr/local/bin/timecheck
 usr/local/bin/timezone-transition
@@ -98,6 +98,7 @@ usr/local/bin/timezone-transition
 usr/local/bin/update-lang-cache
 #usr/local/include
 #usr/local/lib
+#usr/local/lib/sse2
 #usr/local/sbin
 #usr/local/share
 #usr/local/share/doc
index 6d7bb0de466b4aa9545a6563e1d450bcb94db7ec..e55c43c03b9975fe0f6dd106dc84dba5255cd018 100644 (file)
@@ -30,6 +30,7 @@ etc/strongswan.d/charon/eap-tls.conf
 etc/strongswan.d/charon/eap-ttls.conf
 etc/strongswan.d/charon/farp.conf
 etc/strongswan.d/charon/fips-prf.conf
+etc/strongswan.d/charon/gcrypt.conf
 etc/strongswan.d/charon/gmp.conf
 etc/strongswan.d/charon/hmac.conf
 etc/strongswan.d/charon/kernel-netlink.conf
@@ -53,15 +54,15 @@ etc/strongswan.d/charon/sha2.conf
 etc/strongswan.d/charon/socket-default.conf
 etc/strongswan.d/charon/sshkey.conf
 etc/strongswan.d/charon/stroke.conf
-etc/strongswan.d/charon/unity.conf
 etc/strongswan.d/charon/updown.conf
 etc/strongswan.d/charon/x509.conf
 etc/strongswan.d/charon/xauth-eap.conf
 etc/strongswan.d/charon/xauth-generic.conf
 etc/strongswan.d/charon/xauth-noauth.conf
 etc/strongswan.d/charon/xcbc.conf
+etc/strongswan.d/pki.conf
+etc/strongswan.d/scepclient.conf
 etc/strongswan.d/starter.conf
-etc/strongswan.d/tools.conf
 usr/bin/pki
 #usr/lib/ipsec
 #usr/lib/ipsec/libcharon.a
@@ -106,6 +107,7 @@ usr/lib/ipsec/plugins/libstrongswan-eap-tls.so
 usr/lib/ipsec/plugins/libstrongswan-eap-ttls.so
 usr/lib/ipsec/plugins/libstrongswan-farp.so
 usr/lib/ipsec/plugins/libstrongswan-fips-prf.so
+usr/lib/ipsec/plugins/libstrongswan-gcrypt.so
 usr/lib/ipsec/plugins/libstrongswan-gmp.so
 usr/lib/ipsec/plugins/libstrongswan-hmac.so
 usr/lib/ipsec/plugins/libstrongswan-kernel-netlink.so
@@ -130,7 +132,6 @@ usr/lib/ipsec/plugins/libstrongswan-sha2.so
 usr/lib/ipsec/plugins/libstrongswan-socket-default.so
 usr/lib/ipsec/plugins/libstrongswan-sshkey.so
 usr/lib/ipsec/plugins/libstrongswan-stroke.so
-usr/lib/ipsec/plugins/libstrongswan-unity.so
 usr/lib/ipsec/plugins/libstrongswan-updown.so
 usr/lib/ipsec/plugins/libstrongswan-x509.so
 usr/lib/ipsec/plugins/libstrongswan-xauth-eap.so
@@ -186,6 +187,7 @@ usr/sbin/ipsec
 #usr/share/strongswan/templates/config/plugins/eap-ttls.conf
 #usr/share/strongswan/templates/config/plugins/farp.conf
 #usr/share/strongswan/templates/config/plugins/fips-prf.conf
+#usr/share/strongswan/templates/config/plugins/gcrypt.conf
 #usr/share/strongswan/templates/config/plugins/gmp.conf
 #usr/share/strongswan/templates/config/plugins/hmac.conf
 #usr/share/strongswan/templates/config/plugins/kernel-netlink.conf
@@ -209,7 +211,6 @@ usr/sbin/ipsec
 #usr/share/strongswan/templates/config/plugins/socket-default.conf
 #usr/share/strongswan/templates/config/plugins/sshkey.conf
 #usr/share/strongswan/templates/config/plugins/stroke.conf
-#usr/share/strongswan/templates/config/plugins/unity.conf
 #usr/share/strongswan/templates/config/plugins/updown.conf
 #usr/share/strongswan/templates/config/plugins/x509.conf
 #usr/share/strongswan/templates/config/plugins/xauth-eap.conf
@@ -220,5 +221,6 @@ usr/sbin/ipsec
 #usr/share/strongswan/templates/config/strongswan.d
 #usr/share/strongswan/templates/config/strongswan.d/charon-logging.conf
 #usr/share/strongswan/templates/config/strongswan.d/charon.conf
+#usr/share/strongswan/templates/config/strongswan.d/pki.conf
+#usr/share/strongswan/templates/config/strongswan.d/scepclient.conf
 #usr/share/strongswan/templates/config/strongswan.d/starter.conf
-#usr/share/strongswan/templates/config/strongswan.d/tools.conf
diff --git a/config/rootfiles/core/78/filelists/files b/config/rootfiles/core/78/filelists/files
deleted file mode 100644 (file)
index 409e5fe..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-etc/system-release
-etc/issue
diff --git a/config/rootfiles/core/82/filelists/armv5tel/gmp b/config/rootfiles/core/82/filelists/armv5tel/gmp
new file mode 120000 (symlink)
index 0000000..2bdf30d
--- /dev/null
@@ -0,0 +1 @@
+../../../../common/armv5tel/gmp
\ No newline at end of file
diff --git a/config/rootfiles/core/82/filelists/batctl b/config/rootfiles/core/82/filelists/batctl
new file mode 120000 (symlink)
index 0000000..6a6edde
--- /dev/null
@@ -0,0 +1 @@
+../../../common/batctl
\ No newline at end of file
diff --git a/config/rootfiles/core/82/filelists/boost b/config/rootfiles/core/82/filelists/boost
new file mode 120000 (symlink)
index 0000000..05246f0
--- /dev/null
@@ -0,0 +1 @@
+../../../common/boost
\ No newline at end of file
diff --git a/config/rootfiles/core/82/filelists/files b/config/rootfiles/core/82/filelists/files
new file mode 100644 (file)
index 0000000..19e551c
--- /dev/null
@@ -0,0 +1,15 @@
+etc/system-release
+etc/issue
+etc/rc.d/init.d/firewall
+etc/rc.d/init.d/networking/red.down/20-firewall
+etc/rc.d/init.d/networking/red.up/20-firewall
+srv/web/ipfire/cgi-bin/connections.cgi
+srv/web/ipfire/cgi-bin/ddns.cgi
+srv/web/ipfire/cgi-bin/fwhosts.cgi
+srv/web/ipfire/cgi-bin/optionsfw.cgi
+srv/web/ipfire/cgi-bin/ovpnmain.cgi
+srv/web/ipfire/cgi-bin/proxy.cgi
+usr/lib/firewall/rules.pl
+var/ipfire/general-functions.pl
+var/ipfire/langs
+var/ipfire/network-functions.pl
diff --git a/config/rootfiles/core/82/filelists/i586/gmp b/config/rootfiles/core/82/filelists/i586/gmp
new file mode 120000 (symlink)
index 0000000..52a09cd
--- /dev/null
@@ -0,0 +1 @@
+../../../../common/i586/gmp
\ No newline at end of file
diff --git a/config/rootfiles/core/82/filelists/libnl-3 b/config/rootfiles/core/82/filelists/libnl-3
new file mode 120000 (symlink)
index 0000000..00e61c2
--- /dev/null
@@ -0,0 +1 @@
+../../../common/libnl-3
\ No newline at end of file
diff --git a/config/rootfiles/core/82/filelists/mpfr b/config/rootfiles/core/82/filelists/mpfr
new file mode 120000 (symlink)
index 0000000..c8468bf
--- /dev/null
@@ -0,0 +1 @@
+../../../common/mpfr
\ No newline at end of file
diff --git a/config/rootfiles/core/82/filelists/ppp b/config/rootfiles/core/82/filelists/ppp
new file mode 120000 (symlink)
index 0000000..4844a9b
--- /dev/null
@@ -0,0 +1 @@
+../../../common/ppp
\ No newline at end of file
diff --git a/config/rootfiles/core/82/update.sh b/config/rootfiles/core/82/update.sh
new file mode 100644 (file)
index 0000000..76677ae
--- /dev/null
@@ -0,0 +1,57 @@
+#!/bin/bash
+############################################################################
+#                                                                          #
+# This file is part of the IPFire Firewall.                                #
+#                                                                          #
+# IPFire is free software; you can redistribute it and/or modify           #
+# it under the terms of the GNU General Public License as published by     #
+# the Free Software Foundation; either version 3 of the License, or        #
+# (at your option) any later version.                                      #
+#                                                                          #
+# IPFire is distributed in the hope that it will be useful,                #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of           #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            #
+# GNU General Public License for more details.                             #
+#                                                                          #
+# You should have received a copy of the GNU General Public License        #
+# along with IPFire; if not, write to the Free Software                    #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
+#                                                                          #
+# Copyright (C) 2014 IPFire-Team <info@ipfire.org>.                        #
+#                                                                          #
+############################################################################
+#
+. /opt/pakfire/lib/functions.sh
+/usr/local/bin/backupctrl exclude >/dev/null 2>&1
+
+# Remove old core updates from pakfire cache to save space...
+core=82
+for (( i=1; i<=$core; i++ ))
+do
+       rm -f /var/cache/pakfire/core-upgrade-*-$i.ipfire
+done
+
+# Stop services
+
+# Remove old files
+rm -vf /etc/rc.d/init.d/networking/red.up/20-RL-firewall
+
+# Extract files
+extract_files
+
+# Start services
+
+# Update Language cache
+perl -e "require '/var/ipfire/lang.pl'; &Lang::BuildCacheLang"
+
+sync
+
+# This update need a reboot...
+#touch /var/run/need_reboot
+
+# Finish
+/etc/init.d/fireinfo start
+sendprofile
+
+# Don't report the exitcode last command
+exit 0
diff --git a/config/rootfiles/oldcore/79/exclude b/config/rootfiles/oldcore/79/exclude
new file mode 100644 (file)
index 0000000..18e9b4d
--- /dev/null
@@ -0,0 +1,20 @@
+boot/config.txt
+etc/collectd.custom
+etc/ipsec.conf
+etc/ipsec.secrets
+etc/ipsec.user.conf
+etc/ipsec.user.secrets
+etc/localtime
+etc/shadow
+etc/ssh/ssh_config
+etc/ssh/sshd_config
+etc/ssl/openssl.cnf
+etc/sudoers
+etc/sysconfig/firewall.local
+etc/sysconfig/rc.local
+etc/udev/rules.d/30-persistent-network.rules
+srv/web/ipfire/html/proxy.pac
+var/ipfire/ovpn
+var/log/cache
+var/state/dhcp/dhcpd.leases
+var/updatecache
diff --git a/config/rootfiles/oldcore/79/filelists/daq b/config/rootfiles/oldcore/79/filelists/daq
new file mode 120000 (symlink)
index 0000000..d0e0956
--- /dev/null
@@ -0,0 +1 @@
+../../../common/daq
\ No newline at end of file
diff --git a/config/rootfiles/oldcore/79/filelists/files b/config/rootfiles/oldcore/79/filelists/files
new file mode 100644 (file)
index 0000000..4a557d2
--- /dev/null
@@ -0,0 +1,26 @@
+etc/system-release
+etc/issue
+etc/rc.d/init.d/leds
+etc/rc.d/init.d/sshd
+etc/rc.d/init.d/udev
+srv/web/ipfire/cgi-bin/ddns.cgi
+srv/web/ipfire/cgi-bin/ids.cgi
+srv/web/ipfire/cgi-bin/logs.cgi/firewalllogcountry.dat
+srv/web/ipfire/cgi-bin/logs.cgi/showrequestfromcountry.dat
+srv/web/ipfire/cgi-bin/modem-status.cgi
+srv/web/ipfire/cgi-bin/ovpnmain.cgi
+srv/web/ipfire/cgi-bin/pppsetup.cgi
+srv/web/ipfire/cgi-bin/proxy.cgi
+srv/web/ipfire/cgi-bin/traffic.cgi
+srv/web/ipfire/html/themes/ipfire/include/functions.pl
+usr/bin/squidGuard
+usr/sbin/firewall-policy
+usr/sbin/redirect_wrapper
+usr/sbin/updxlrator
+usr/local/bin/setddns.pl
+var/ipfire/header.pl
+var/ipfire/langs
+var/ipfire/menu.d/20-status.menu
+var/ipfire/menu.d/70-log.menu
+var/ipfire/modem-lib.pl
+var/ipfire/ovpn/openssl/ovpn.cnf
diff --git a/config/rootfiles/oldcore/79/filelists/hostname b/config/rootfiles/oldcore/79/filelists/hostname
new file mode 120000 (symlink)
index 0000000..2a96fdd
--- /dev/null
@@ -0,0 +1 @@
+../../../common/hostname
\ No newline at end of file
diff --git a/config/rootfiles/oldcore/79/filelists/libpcap b/config/rootfiles/oldcore/79/filelists/libpcap
new file mode 120000 (symlink)
index 0000000..c7f9f52
--- /dev/null
@@ -0,0 +1 @@
+../../../common/libpcap
\ No newline at end of file
diff --git a/config/rootfiles/oldcore/79/filelists/openssh b/config/rootfiles/oldcore/79/filelists/openssh
new file mode 120000 (symlink)
index 0000000..d8c77fd
--- /dev/null
@@ -0,0 +1 @@
+../../../common/openssh
\ No newline at end of file
diff --git a/config/rootfiles/oldcore/79/filelists/openssl b/config/rootfiles/oldcore/79/filelists/openssl
new file mode 120000 (symlink)
index 0000000..e011a92
--- /dev/null
@@ -0,0 +1 @@
+../../../common/openssl
\ No newline at end of file
diff --git a/config/rootfiles/oldcore/79/filelists/openvpn b/config/rootfiles/oldcore/79/filelists/openvpn
new file mode 120000 (symlink)
index 0000000..493f3f7
--- /dev/null
@@ -0,0 +1 @@
+../../../common/openvpn
\ No newline at end of file
diff --git a/config/rootfiles/oldcore/79/filelists/perl-Device-Modem b/config/rootfiles/oldcore/79/filelists/perl-Device-Modem
new file mode 120000 (symlink)
index 0000000..ea70f08
--- /dev/null
@@ -0,0 +1 @@
+../../../common/perl-Device-Modem
\ No newline at end of file
diff --git a/config/rootfiles/oldcore/79/filelists/perl-Device-SerialPort b/config/rootfiles/oldcore/79/filelists/perl-Device-SerialPort
new file mode 120000 (symlink)
index 0000000..2eb1527
--- /dev/null
@@ -0,0 +1 @@
+../../../common/perl-Device-SerialPort
\ No newline at end of file
diff --git a/config/rootfiles/oldcore/79/filelists/ppp b/config/rootfiles/oldcore/79/filelists/ppp
new file mode 120000 (symlink)
index 0000000..4844a9b
--- /dev/null
@@ -0,0 +1 @@
+../../../common/ppp
\ No newline at end of file
diff --git a/config/rootfiles/oldcore/79/filelists/snort b/config/rootfiles/oldcore/79/filelists/snort
new file mode 120000 (symlink)
index 0000000..9406ce0
--- /dev/null
@@ -0,0 +1 @@
+../../../common/snort
\ No newline at end of file
diff --git a/config/rootfiles/oldcore/79/filelists/squid b/config/rootfiles/oldcore/79/filelists/squid
new file mode 120000 (symlink)
index 0000000..2dc8372
--- /dev/null
@@ -0,0 +1 @@
+../../../common/squid
\ No newline at end of file
diff --git a/config/rootfiles/oldcore/79/filelists/sudo b/config/rootfiles/oldcore/79/filelists/sudo
new file mode 120000 (symlink)
index 0000000..0d3c45e
--- /dev/null
@@ -0,0 +1 @@
+../../../common/sudo
\ No newline at end of file
diff --git a/config/rootfiles/oldcore/79/filelists/vnstat b/config/rootfiles/oldcore/79/filelists/vnstat
new file mode 120000 (symlink)
index 0000000..2e2e610
--- /dev/null
@@ -0,0 +1 @@
+../../../common/vnstat
\ No newline at end of file
diff --git a/config/rootfiles/oldcore/79/meta b/config/rootfiles/oldcore/79/meta
new file mode 100644 (file)
index 0000000..d547fa8
--- /dev/null
@@ -0,0 +1 @@
+DEPS=""
similarity index 98%
rename from config/rootfiles/core/78/update.sh
rename to config/rootfiles/oldcore/79/update.sh
index 0d59761114819b3b0cabbcc5c44dc8300841cfa2..2085d4332f7225d069969d3ed536564be7488453 100644 (file)
@@ -35,7 +35,7 @@ function add_to_backup ()
 
 #
 # Remove old core updates from pakfire cache to save space...
-core=78
+core=79
 for (( i=1; i<=${core}; i++ ))
 do
        rm -f /var/cache/pakfire/core-upgrade-*-$i.ipfire
@@ -135,9 +135,6 @@ esac
 /etc/init.d/ipsec stop
 /etc/init.d/apache stop
 
-# Remove the old default theme
-rm -rf /srv/web/ipfire/html/themes/ipfire
-
 # rename /etc/modprobe.d files
 for i in $(find /etc/modprobe.d/* | grep -v ".conf"); do
        mv $i $i.conf
@@ -168,10 +165,17 @@ if [ $BOOTSPACE -lt 1000 ]; then
        esac
 fi
 
+# Update ping
+rm -f /bin/ping
+ln -sf ../usr/bin/ping /bin/ping
+chmod 4755 /usr/bin/ping
 
 # Update Language cache
 perl -e "require '/var/ipfire/lang.pl'; &Lang::BuildCacheLang"
 
+# Add nobody to group dialout
+usermod -a -G dialout nobody
+
 #
 # Start services
 #
diff --git a/config/rootfiles/oldcore/80/exclude b/config/rootfiles/oldcore/80/exclude
new file mode 100644 (file)
index 0000000..18e9b4d
--- /dev/null
@@ -0,0 +1,20 @@
+boot/config.txt
+etc/collectd.custom
+etc/ipsec.conf
+etc/ipsec.secrets
+etc/ipsec.user.conf
+etc/ipsec.user.secrets
+etc/localtime
+etc/shadow
+etc/ssh/ssh_config
+etc/ssh/sshd_config
+etc/ssl/openssl.cnf
+etc/sudoers
+etc/sysconfig/firewall.local
+etc/sysconfig/rc.local
+etc/udev/rules.d/30-persistent-network.rules
+srv/web/ipfire/html/proxy.pac
+var/ipfire/ovpn
+var/log/cache
+var/state/dhcp/dhcpd.leases
+var/updatecache
diff --git a/config/rootfiles/oldcore/80/filelists/bind b/config/rootfiles/oldcore/80/filelists/bind
new file mode 120000 (symlink)
index 0000000..48a0eba
--- /dev/null
@@ -0,0 +1 @@
+../../../common/bind
\ No newline at end of file
diff --git a/config/rootfiles/oldcore/80/filelists/ddns b/config/rootfiles/oldcore/80/filelists/ddns
new file mode 120000 (symlink)
index 0000000..7395164
--- /dev/null
@@ -0,0 +1 @@
+../../../common/ddns
\ No newline at end of file
diff --git a/config/rootfiles/oldcore/80/filelists/dnsmasq b/config/rootfiles/oldcore/80/filelists/dnsmasq
new file mode 120000 (symlink)
index 0000000..d469c74
--- /dev/null
@@ -0,0 +1 @@
+../../../common/dnsmasq
\ No newline at end of file
diff --git a/config/rootfiles/oldcore/80/filelists/files b/config/rootfiles/oldcore/80/filelists/files
new file mode 100644 (file)
index 0000000..cdddaac
--- /dev/null
@@ -0,0 +1,21 @@
+etc/system-release
+etc/issue
+etc/logrotate.conf
+etc/rc.d/init.d/cleanfs
+etc/rc.d/init.d/dhcrelay
+etc/rc.d/init.d/dnsmasq
+etc/rc.d/init.d/firewall
+etc/rc.d/init.d/networking/red.up/30-ddns
+etc/rc.d/init.d/rngd
+srv/web/ipfire/cgi-bin/ddns.cgi
+srv/web/ipfire/cgi-bin/ids.cgi
+srv/web/ipfire/cgi-bin/logs.cgi/firewalllogcountry.dat
+srv/web/ipfire/cgi-bin/logs.cgi/log.dat
+srv/web/ipfire/cgi-bin/netexternal.cgi
+srv/web/ipfire/cgi-bin/ovpnmain.cgi
+srv/web/ipfire/cgi-bin/proxy.cgi
+srv/web/ipfire/cgi-bin/routing.cgi
+usr/sbin/dhcrelay
+var/ipfire/general-functions.pl
+var/ipfire/header.pl
+var/ipfire/langs
diff --git a/config/rootfiles/oldcore/80/filelists/i586/gmp b/config/rootfiles/oldcore/80/filelists/i586/gmp
new file mode 120000 (symlink)
index 0000000..52a09cd
--- /dev/null
@@ -0,0 +1 @@
+../../../../common/i586/gmp
\ No newline at end of file
diff --git a/config/rootfiles/oldcore/80/filelists/libgcrypt b/config/rootfiles/oldcore/80/filelists/libgcrypt
new file mode 120000 (symlink)
index 0000000..2df12a2
--- /dev/null
@@ -0,0 +1 @@
+../../../common/libgcrypt
\ No newline at end of file
diff --git a/config/rootfiles/oldcore/80/filelists/libgpg-error b/config/rootfiles/oldcore/80/filelists/libgpg-error
new file mode 120000 (symlink)
index 0000000..cad4313
--- /dev/null
@@ -0,0 +1 @@
+../../../common/libgpg-error
\ No newline at end of file
diff --git a/config/rootfiles/oldcore/80/filelists/lzo b/config/rootfiles/oldcore/80/filelists/lzo
new file mode 120000 (symlink)
index 0000000..8e11e78
--- /dev/null
@@ -0,0 +1 @@
+../../../common/lzo
\ No newline at end of file
diff --git a/config/rootfiles/oldcore/80/filelists/nettle b/config/rootfiles/oldcore/80/filelists/nettle
new file mode 120000 (symlink)
index 0000000..f0dba7a
--- /dev/null
@@ -0,0 +1 @@
+../../../common/nettle
\ No newline at end of file
diff --git a/config/rootfiles/oldcore/80/filelists/rng-tools b/config/rootfiles/oldcore/80/filelists/rng-tools
new file mode 120000 (symlink)
index 0000000..a7853e4
--- /dev/null
@@ -0,0 +1 @@
+../../../common/rng-tools
\ No newline at end of file
diff --git a/config/rootfiles/oldcore/80/filelists/strongswan b/config/rootfiles/oldcore/80/filelists/strongswan
new file mode 120000 (symlink)
index 0000000..90c727e
--- /dev/null
@@ -0,0 +1 @@
+../../../common/strongswan
\ No newline at end of file
diff --git a/config/rootfiles/oldcore/80/filelists/wpa_supplicant b/config/rootfiles/oldcore/80/filelists/wpa_supplicant
new file mode 120000 (symlink)
index 0000000..1d04c03
--- /dev/null
@@ -0,0 +1 @@
+../../../common/wpa_supplicant
\ No newline at end of file
diff --git a/config/rootfiles/oldcore/80/meta b/config/rootfiles/oldcore/80/meta
new file mode 100644 (file)
index 0000000..d547fa8
--- /dev/null
@@ -0,0 +1 @@
+DEPS=""
diff --git a/config/rootfiles/oldcore/80/update.sh b/config/rootfiles/oldcore/80/update.sh
new file mode 100644 (file)
index 0000000..67244c6
--- /dev/null
@@ -0,0 +1,101 @@
+#!/bin/bash
+############################################################################
+#                                                                          #
+# This file is part of the IPFire Firewall.                                #
+#                                                                          #
+# IPFire is free software; you can redistribute it and/or modify           #
+# it under the terms of the GNU General Public License as published by     #
+# the Free Software Foundation; either version 3 of the License, or        #
+# (at your option) any later version.                                      #
+#                                                                          #
+# IPFire is distributed in the hope that it will be useful,                #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of           #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            #
+# GNU General Public License for more details.                             #
+#                                                                          #
+# You should have received a copy of the GNU General Public License        #
+# along with IPFire; if not, write to the Free Software                    #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
+#                                                                          #
+# Copyright (C) 2014 IPFire-Team <info@ipfire.org>.                        #
+#                                                                          #
+############################################################################
+#
+. /opt/pakfire/lib/functions.sh
+/usr/local/bin/backupctrl exclude >/dev/null 2>&1
+
+# Remove old core updates from pakfire cache to save space...
+core=80
+for (( i=1; i<=$core; i++ ))
+do
+       rm -f /var/cache/pakfire/core-upgrade-*-$i.ipfire
+done
+
+# Stop services
+/etc/init.d/ipsec stop
+
+# Remove old strongswan files
+rm -f \
+       /etc/strongswan.d/charon/unity.conf \
+       /usr/lib/ipsec/plugins/libstrongswan-unity.so \
+       /usr/share/strongswan/templates/config/plugins/unity.conf
+
+rm -f /usr/local/bin/setddns.pl
+
+# Extract files
+extract_files
+
+# Start services
+/etc/init.d/dnsmasq restart
+if [ `grep "ENABLED=on" /var/ipfire/vpn/settings` ]; then
+       /etc/init.d/ipsec start
+fi
+
+
+# Update Language cache
+perl -e "require '/var/ipfire/lang.pl'; &Lang::BuildCacheLang"
+
+# Uninstall the libgpg-error package.
+rm -f \
+       /opt/pakfire/db/installed/meta-libgpg-error \
+       /opt/pakfire/db/rootfiles/libgpg-error
+
+# Fix broken proxy configuration permissions
+chown -R nobody.nobody \
+       /var/ipfire/proxy/advanced \
+       /var/ipfire/proxy/acl-1.4 \
+       /var/ipfire/proxy/enable \
+       /var/ipfire/proxy/settings \
+       /var/ipfire/proxy/squid.conf \
+       /var/ipfire/proxy/transparent
+
+# Regenerate squid configuration file
+sudo -u nobody /srv/web/ipfire/cgi-bin/proxy.cgi
+
+# Generate ddns configuration file
+sudo -u nobody /srv/web/ipfire/cgi-bin/ddns.cgi
+
+# Update crontab
+sed -i /var/spool/cron/root.orig -e "/setddns.pl/d"
+
+grep -q /usr/bin/ddns /var/spool/cron/root.orig || cat <<EOF >> /var/spool/cron/root.orig
+
+# Update dynamic DNS records every five minutes.
+# Force an update once a month
+*/5 * * * *    [ -f "/var/ipfire/red/active" ] && /usr/bin/ddns update-all
+3 2 1 * *      [ -f "/var/ipfire/red/active" ] && /usr/bin/ddns update-all --force
+EOF
+
+fcrontab -z &>/dev/null
+
+sync
+
+# This update need a reboot...
+#touch /var/run/need_reboot
+
+# Finish
+/etc/init.d/fireinfo start
+sendprofile
+
+# Don't report the exitcode last command
+exit 0
diff --git a/config/rootfiles/oldcore/81/exclude b/config/rootfiles/oldcore/81/exclude
new file mode 100644 (file)
index 0000000..18e9b4d
--- /dev/null
@@ -0,0 +1,20 @@
+boot/config.txt
+etc/collectd.custom
+etc/ipsec.conf
+etc/ipsec.secrets
+etc/ipsec.user.conf
+etc/ipsec.user.secrets
+etc/localtime
+etc/shadow
+etc/ssh/ssh_config
+etc/ssh/sshd_config
+etc/ssl/openssl.cnf
+etc/sudoers
+etc/sysconfig/firewall.local
+etc/sysconfig/rc.local
+etc/udev/rules.d/30-persistent-network.rules
+srv/web/ipfire/html/proxy.pac
+var/ipfire/ovpn
+var/log/cache
+var/state/dhcp/dhcpd.leases
+var/updatecache
diff --git a/config/rootfiles/oldcore/81/filelists/ddns b/config/rootfiles/oldcore/81/filelists/ddns
new file mode 120000 (symlink)
index 0000000..7395164
--- /dev/null
@@ -0,0 +1 @@
+../../../common/ddns
\ No newline at end of file
diff --git a/config/rootfiles/oldcore/81/filelists/files b/config/rootfiles/oldcore/81/filelists/files
new file mode 100644 (file)
index 0000000..4b0ae1e
--- /dev/null
@@ -0,0 +1,5 @@
+etc/system-release
+etc/issue
+etc/rc.d/init.d/firewall
+srv/web/ipfire/cgi-bin/ddns.cgi
+srv/web/ipfire/cgi-bin/ovpnmain.cgi
diff --git a/config/rootfiles/oldcore/81/filelists/lzo b/config/rootfiles/oldcore/81/filelists/lzo
new file mode 120000 (symlink)
index 0000000..8e11e78
--- /dev/null
@@ -0,0 +1 @@
+../../../common/lzo
\ No newline at end of file
diff --git a/config/rootfiles/oldcore/81/filelists/openssh b/config/rootfiles/oldcore/81/filelists/openssh
new file mode 120000 (symlink)
index 0000000..d8c77fd
--- /dev/null
@@ -0,0 +1 @@
+../../../common/openssh
\ No newline at end of file
diff --git a/config/rootfiles/oldcore/81/filelists/openssl b/config/rootfiles/oldcore/81/filelists/openssl
new file mode 120000 (symlink)
index 0000000..e011a92
--- /dev/null
@@ -0,0 +1 @@
+../../../common/openssl
\ No newline at end of file
diff --git a/config/rootfiles/oldcore/81/meta b/config/rootfiles/oldcore/81/meta
new file mode 100644 (file)
index 0000000..d547fa8
--- /dev/null
@@ -0,0 +1 @@
+DEPS=""
diff --git a/config/rootfiles/oldcore/81/update.sh b/config/rootfiles/oldcore/81/update.sh
new file mode 100644 (file)
index 0000000..16a559e
--- /dev/null
@@ -0,0 +1,57 @@
+#!/bin/bash
+############################################################################
+#                                                                          #
+# This file is part of the IPFire Firewall.                                #
+#                                                                          #
+# IPFire is free software; you can redistribute it and/or modify           #
+# it under the terms of the GNU General Public License as published by     #
+# the Free Software Foundation; either version 3 of the License, or        #
+# (at your option) any later version.                                      #
+#                                                                          #
+# IPFire is distributed in the hope that it will be useful,                #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of           #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            #
+# GNU General Public License for more details.                             #
+#                                                                          #
+# You should have received a copy of the GNU General Public License        #
+# along with IPFire; if not, write to the Free Software                    #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
+#                                                                          #
+# Copyright (C) 2014 IPFire-Team <info@ipfire.org>.                        #
+#                                                                          #
+############################################################################
+#
+. /opt/pakfire/lib/functions.sh
+/usr/local/bin/backupctrl exclude >/dev/null 2>&1
+
+# Remove old core updates from pakfire cache to save space...
+core=81
+for (( i=1; i<=$core; i++ ))
+do
+       rm -f /var/cache/pakfire/core-upgrade-*-$i.ipfire
+done
+
+# Stop services
+
+# Remove old strongswan files
+
+# Extract files
+extract_files
+
+# Start services
+/etc/init.d/apache restart
+
+# Update Language cache
+#perl -e "require '/var/ipfire/lang.pl'; &Lang::BuildCacheLang"
+
+sync
+
+# This update need a reboot...
+touch /var/run/need_reboot
+^^
+# Finish
+/etc/init.d/fireinfo start
+sendprofile
+
+# Don't report the exitcode last command
+exit 0
index f7b6cde9ab3fcb55d22bf76b62c1b5f0e9d261c9..1b0eb9d1a52823ab681d7c31bd485791578f2e7a 100644 (file)
@@ -2706,7 +2706,7 @@ var/lib/asterisk/static-http/prototype.js
 var/log/asterisk/cdr-csv
 var/log/asterisk/cdr-custom
 var/log/asterisk/cel-custom
-var/run/asterisk
+#var/run/asterisk
 #var/spool/asterisk
 var/spool/asterisk/dictate
 var/spool/asterisk/meetme
diff --git a/config/rootfiles/packages/bacula b/config/rootfiles/packages/bacula
new file mode 100644 (file)
index 0000000..9084347
--- /dev/null
@@ -0,0 +1,62 @@
+#etc/bacula
+#etc/bacula/bacula
+#etc/bacula/bacula-ctl-dir
+etc/bacula/bacula-ctl-fd
+#etc/bacula/bacula-ctl-sd
+etc/bacula/bacula-fd.conf
+#etc/bacula/bacula_config
+#etc/bacula/bconsole
+#etc/bacula/bconsole.conf
+#etc/bacula/btraceback.dbx
+#etc/bacula/btraceback.gdb
+#etc/bacula/btraceback.mdb
+#etc/bacula/disk-changer
+#etc/bacula/dvd-handler
+#etc/bacula/mtx-changer
+#etc/bacula/mtx-changer.conf
+etc/rc.d/init.d/bacula
+usr/lib/bpipe-fd.so
+usr/lib/libbac-5.2.13.so
+#usr/lib/libbac.la
+#usr/lib/libbac.so
+usr/lib/libbaccfg-5.2.13.so
+#usr/lib/libbaccfg.la
+#usr/lib/libbaccfg.so
+usr/lib/libbacfind-5.2.13.so
+#usr/lib/libbacfind.la
+#usr/lib/libbacfind.so
+usr/lib/libbacpy-5.2.13.so
+#usr/lib/libbacpy.la
+#usr/lib/libbacpy.so
+#usr/sbin/bacula
+usr/sbin/bacula-fd
+#usr/sbin/bconsole
+#usr/sbin/btraceback
+#usr/share/doc/bacula
+#usr/share/doc/bacula/ChangeLog
+#usr/share/doc/bacula/INSTALL
+#usr/share/doc/bacula/LICENSE
+#usr/share/doc/bacula/README
+#usr/share/doc/bacula/ReleaseNotes
+#usr/share/doc/bacula/VERIFYING
+#usr/share/doc/bacula/technotes
+#usr/share/man/man1/bacula-bwxconsole.1.gz
+#usr/share/man/man1/bacula-tray-monitor.1.gz
+#usr/share/man/man1/bat.1.gz
+#usr/share/man/man1/bsmtp.1.gz
+#usr/share/man/man8/bacula-dir.8.gz
+#usr/share/man/man8/bacula-fd.8.gz
+#usr/share/man/man8/bacula-sd.8.gz
+#usr/share/man/man8/bacula.8.gz
+#usr/share/man/man8/bconsole.8.gz
+#usr/share/man/man8/bcopy.8.gz
+#usr/share/man/man8/bextract.8.gz
+#usr/share/man/man8/bls.8.gz
+#usr/share/man/man8/bregex.8.gz
+#usr/share/man/man8/bscan.8.gz
+#usr/share/man/man8/btape.8.gz
+#usr/share/man/man8/btraceback.8.gz
+#usr/share/man/man8/bwild.8.gz
+#usr/share/man/man8/dbcheck.8.gz
+#var/bacula
+var/bacula/working
index 2807f77c38a41e7e9a517048bb3ee54452a98e23..de0e2c7734cff2422acc7829bca0ced7ea7a4104 100644 (file)
@@ -1,5 +1,7 @@
 etc/fcron.cyclic/cacti.cron
 etc/httpd/conf/vhosts.d/cacti.conf
+#etc/logrotate.d
+etc/logrotate.d/cacti
 #usr/share/cacti
 #usr/share/cacti/LICENSE
 #usr/share/cacti/README
@@ -27,6 +29,7 @@ usr/share/cacti/cli/poller_graphs_reapply_names.php
 usr/share/cacti/cli/poller_output_empty.php
 usr/share/cacti/cli/poller_reindex_hosts.php
 usr/share/cacti/cli/rebuild_poller_cache.php
+usr/share/cacti/cli/reorder_data_query.php
 usr/share/cacti/cli/repair_database.php
 usr/share/cacti/cli/repair_templates.php
 usr/share/cacti/cli/structure_rra_paths.php
@@ -191,12 +194,17 @@ usr/share/cacti/images/cacti_logo.gif
 usr/share/cacti/images/calendar.gif
 usr/share/cacti/images/delete_icon.gif
 usr/share/cacti/images/delete_icon_large.gif
+usr/share/cacti/images/disable_icon.png
+usr/share/cacti/images/enable_icon.png
+usr/share/cacti/images/enable_icon_disabled.png
 usr/share/cacti/images/favicon.ico
 usr/share/cacti/images/graph_page_top.gif
 usr/share/cacti/images/graph_properties.gif
 usr/share/cacti/images/graph_query.png
 usr/share/cacti/images/graph_zoom.gif
 usr/share/cacti/images/hide.gif
+usr/share/cacti/images/install_icon.png
+usr/share/cacti/images/install_icon_disabled.png
 usr/share/cacti/images/left_border.gif
 usr/share/cacti/images/menu_line.gif
 usr/share/cacti/images/menuarrow.gif
@@ -222,6 +230,8 @@ usr/share/cacti/images/tab_mode_tree_down.gif
 usr/share/cacti/images/tab_settings.gif
 usr/share/cacti/images/tab_settings_down.gif
 usr/share/cacti/images/transparent_line.gif
+usr/share/cacti/images/uninstall_icon.gif
+usr/share/cacti/images/view_none.gif
 #usr/share/cacti/include
 usr/share/cacti/include/auth.php
 usr/share/cacti/include/bottom_footer.php
@@ -231,10 +241,28 @@ usr/share/cacti/include/global_arrays.php
 usr/share/cacti/include/global_constants.php
 usr/share/cacti/include/global_form.php
 usr/share/cacti/include/global_settings.php
-#usr/share/cacti/include/jscalendar
+usr/share/cacti/include/js
+usr/share/cacti/include/js/jquery
+usr/share/cacti/include/js/jquery/colorpicker.js
+usr/share/cacti/include/js/jquery/jquery-ui.js
+usr/share/cacti/include/js/jquery/jquery.cookie.js
+usr/share/cacti/include/js/jquery/jquery.dd.js
+usr/share/cacti/include/js/jquery/jquery.dropdown.js
+usr/share/cacti/include/js/jquery/jquery.js
+usr/share/cacti/include/js/jquery/jquery.jstree.js
+usr/share/cacti/include/js/jquery/jquery.tablednd.js
+usr/share/cacti/include/js/jquery/jquery.timepicker.js
+usr/share/cacti/include/js/jquery/jquery.zoom.js
+usr/share/cacti/include/js/jquery/themes
+usr/share/cacti/include/js/jquery/themes/default
+usr/share/cacti/include/js/jquery/themes/default/d.gif
+usr/share/cacti/include/js/jquery/themes/default/d.png
+usr/share/cacti/include/js/jquery/themes/default/style.css
+usr/share/cacti/include/js/jquery/themes/default/throbber.gif
+usr/share/cacti/include/jscalendar
 usr/share/cacti/include/jscalendar/calendar-setup.js
 usr/share/cacti/include/jscalendar/calendar.js
-#usr/share/cacti/include/jscalendar/lang
+usr/share/cacti/include/jscalendar/lang
 usr/share/cacti/include/jscalendar/lang/calendar-af.js
 usr/share/cacti/include/jscalendar/lang/calendar-al.js
 usr/share/cacti/include/jscalendar/lang/calendar-bg.js
@@ -280,20 +308,9 @@ usr/share/cacti/include/jscalendar/lang/calendar-zh.js
 usr/share/cacti/include/jscalendar/lang/cn_utf8.js
 usr/share/cacti/include/layout.js
 usr/share/cacti/include/main.css
+usr/share/cacti/include/plugins.php
 usr/share/cacti/include/top_graph_header.php
 usr/share/cacti/include/top_header.php
-#usr/share/cacti/include/treeview
-usr/share/cacti/include/treeview/ftiens4.js
-usr/share/cacti/include/treeview/ftiens4_export.js
-usr/share/cacti/include/treeview/ftv2blank.gif
-usr/share/cacti/include/treeview/ftv2lastnode.gif
-usr/share/cacti/include/treeview/ftv2mlastnode.gif
-usr/share/cacti/include/treeview/ftv2mnode.gif
-usr/share/cacti/include/treeview/ftv2node.gif
-usr/share/cacti/include/treeview/ftv2plastnode.gif
-usr/share/cacti/include/treeview/ftv2pnode.gif
-usr/share/cacti/include/treeview/ftv2vertline.gif
-usr/share/cacti/include/treeview/ua.js
 usr/share/cacti/include/zoom.js
 usr/share/cacti/index.php
 #usr/share/cacti/install
@@ -318,6 +335,10 @@ usr/share/cacti/install/0_8_7d_to_0_8_7e.php
 usr/share/cacti/install/0_8_7e_to_0_8_7f.php
 usr/share/cacti/install/0_8_7f_to_0_8_7g.php
 usr/share/cacti/install/0_8_7g_to_0_8_7h.php
+usr/share/cacti/install/0_8_7h_to_0_8_7i.php
+usr/share/cacti/install/0_8_7i_to_0_8_8.php
+usr/share/cacti/install/0_8_8_to_0_8_8a.php
+usr/share/cacti/install/0_8_8_to_0_8_8b.php
 usr/share/cacti/install/0_8_to_0_8_1.php
 usr/share/cacti/install/index.php
 usr/share/cacti/install/install_finish.gif
@@ -338,7 +359,7 @@ usr/share/cacti/lib/adodb/adodb-php4.inc.php
 usr/share/cacti/lib/adodb/adodb-time.inc.php
 usr/share/cacti/lib/adodb/adodb-xmlschema.inc.php
 usr/share/cacti/lib/adodb/adodb.inc.php
-#usr/share/cacti/lib/adodb/datadict
+usr/share/cacti/lib/adodb/datadict
 usr/share/cacti/lib/adodb/datadict/datadict-access.inc.php
 usr/share/cacti/lib/adodb/datadict/datadict-db2.inc.php
 usr/share/cacti/lib/adodb/datadict/datadict-firebird.inc.php
@@ -351,7 +372,7 @@ usr/share/cacti/lib/adodb/datadict/datadict-oci8.inc.php
 usr/share/cacti/lib/adodb/datadict/datadict-postgres.inc.php
 usr/share/cacti/lib/adodb/datadict/datadict-sapdb.inc.php
 usr/share/cacti/lib/adodb/datadict/datadict-sybase.inc.php
-#usr/share/cacti/lib/adodb/drivers
+usr/share/cacti/lib/adodb/drivers
 usr/share/cacti/lib/adodb/drivers/adodb-access.inc.php
 usr/share/cacti/lib/adodb/drivers/adodb-ado.inc.php
 usr/share/cacti/lib/adodb/drivers/adodb-ado5.inc.php
@@ -392,7 +413,7 @@ usr/share/cacti/lib/adodb/drivers/adodb-sqlite.inc.php
 usr/share/cacti/lib/adodb/drivers/adodb-sqlitepo.inc.php
 usr/share/cacti/lib/adodb/drivers/adodb-sybase.inc.php
 usr/share/cacti/lib/adodb/drivers/adodb-vfp.inc.php
-#usr/share/cacti/lib/adodb/lang
+usr/share/cacti/lib/adodb/lang
 usr/share/cacti/lib/adodb/lang/adodb-ar.inc.php
 usr/share/cacti/lib/adodb/lang/adodb-bg.inc.php
 usr/share/cacti/lib/adodb/lang/adodb-bgutf8.inc.php
@@ -437,6 +458,7 @@ usr/share/cacti/lib/html_validate.php
 usr/share/cacti/lib/import.php
 usr/share/cacti/lib/ldap.php
 usr/share/cacti/lib/ping.php
+usr/share/cacti/lib/plugins.php
 usr/share/cacti/lib/poller.php
 usr/share/cacti/lib/rrd.php
 usr/share/cacti/lib/snmp.php
@@ -450,6 +472,9 @@ usr/share/cacti/lib/variables.php
 usr/share/cacti/lib/xml.php
 usr/share/cacti/log
 usr/share/cacti/logout.php
+usr/share/cacti/plugins
+usr/share/cacti/plugins.php
+usr/share/cacti/plugins/index.php
 usr/share/cacti/poller.php
 usr/share/cacti/poller_commands.php
 usr/share/cacti/poller_export.php
index 885af45fc19bd3db5dfa4c04dcf30e9f32d5f97a..f3afd6b0332fbcd66119797d77e829bc66960007 100644 (file)
@@ -4,21 +4,22 @@ usr/bin/clamconf
 usr/bin/clamdscan
 usr/bin/clamdtop
 usr/bin/clamscan
+usr/bin/clamsubmit
 usr/bin/freshclam
 usr/bin/sigtool
 #usr/include/clamav.h
 #usr/lib/libclamav.la
 usr/lib/libclamav.so
 usr/lib/libclamav.so.6
-usr/lib/libclamav.so.6.1.20
+usr/lib/libclamav.so.6.1.23
 #usr/lib/libclamunrar.la
 usr/lib/libclamunrar.so
 usr/lib/libclamunrar.so.6
-usr/lib/libclamunrar.so.6.1.20
+usr/lib/libclamunrar.so.6.1.23
 #usr/lib/libclamunrar_iface.la
 usr/lib/libclamunrar_iface.so
 usr/lib/libclamunrar_iface.so.6
-usr/lib/libclamunrar_iface.so.6.1.20
+usr/lib/libclamunrar_iface.so.6.1.23
 #usr/lib/pkgconfig/libclamav.pc
 usr/sbin/clamd
 usr/share/clamav
@@ -27,6 +28,7 @@ usr/share/clamav
 #usr/share/man/man1/clamdscan.1
 #usr/share/man/man1/clamdtop.1
 #usr/share/man/man1/clamscan.1
+#usr/share/man/man1/clamsubmit.1
 #usr/share/man/man1/freshclam.1
 #usr/share/man/man1/sigtool.1
 #usr/share/man/man5/clamav-milter.conf.5
@@ -39,6 +41,6 @@ var/ipfire/clamav/clamd.conf
 var/ipfire/clamav/clamd.conf.sample
 var/ipfire/clamav/freshclam.conf
 var/ipfire/clamav/freshclam.conf.sample
-var/run/clamav
+#var/run/clamav
 etc/rc.d/init.d/clamav
 usr/local/bin/clamavctrl
index 3acbcac37562cbad592ac0eb3a85fc901dd9feb9..56ee1f2f19ffa9697f9da48dda19481d3b7e00de 100644 (file)
@@ -936,7 +936,7 @@ var/ipfire/cups/ppd
 var/ipfire/cups/snmp.conf
 var/ipfire/cups/ssl
 var/log/cups
-var/run/cups
-var/run/cups/certs
+#var/run/cups
+#var/run/cups/certs
 var/spool/cups
 var/spool/cups/tmp
index 2d31a13d883e5581f45d9d6a93f281a6a90897fe..b25265321d8a55427fa0140a47b50c11f57ba795 100644 (file)
@@ -50,4 +50,4 @@ usr/share/dbus-1/services
 #usr/share/man/man1/dbus-send.1
 #usr/share/man/man1/dbus-uuidgen.1
 var/lib/dbus
-var/run/dbus
+#var/run/dbus
diff --git a/config/rootfiles/packages/icecc b/config/rootfiles/packages/icecc
deleted file mode 100644 (file)
index d27df65..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-#opt/icecream
-#opt/icecream/bin
-#opt/icecream/bin/c++
-#opt/icecream/bin/cc
-#opt/icecream/bin/g++
-#opt/icecream/bin/gcc
-#opt/icecream/bin/icecc
-#opt/icecream/bin/icerun
-#opt/icecream/include
-#opt/icecream/include/icecc
-#opt/icecream/include/icecc/comm.h
-#opt/icecream/include/icecc/job.h
-#opt/icecream/lib
-#opt/icecream/lib/icecc
-#opt/icecream/lib/icecc/icecc-create-env
-#opt/icecream/lib/libicecc.a
-#opt/icecream/lib/libicecc.la
-#opt/icecream/lib/pkgconfig
-#opt/icecream/lib/pkgconfig/icecc.pc
-#opt/icecream/sbin
-opt/icecream/sbin/icecc-scheduler
-opt/icecream/sbin/iceccd
-etc/rc.d/init.d/icecream
diff --git a/config/rootfiles/packages/icinga b/config/rootfiles/packages/icinga
new file mode 100644 (file)
index 0000000..7a8ae92
--- /dev/null
@@ -0,0 +1,2370 @@
+etc/httpd/conf/vhosts.d/icinga.conf
+#etc/icinga
+etc/icinga/cgi.cfg
+etc/icinga/cgiauth.cfg
+etc/icinga/conf.d
+etc/icinga/icinga.cfg
+etc/icinga/modules
+etc/icinga/objects
+etc/icinga/objects/commands.cfg
+etc/icinga/objects/contacts.cfg
+etc/icinga/objects/localhost.cfg
+etc/icinga/objects/notifications.cfg
+etc/icinga/objects/printer.cfg
+etc/icinga/objects/switch.cfg
+etc/icinga/objects/templates.cfg
+etc/icinga/objects/timeperiods.cfg
+etc/icinga/objects/windows.cfg
+etc/icinga/resource.cfg
+etc/rc.d/init.d/icinga
+etc/rc.d/rc0.d/K33icinga
+etc/rc.d/rc3.d/S67icinga
+etc/rc.d/rc6.d/K33icinga
+usr/bin/icinga
+usr/bin/icingastats
+#usr/lib/icinga
+usr/lib/icinga/p1.pl
+#usr/lib/icinga/plugins
+usr/lib/icinga/plugins/check_apt
+usr/lib/icinga/plugins/check_breeze
+usr/lib/icinga/plugins/check_by_ssh
+usr/lib/icinga/plugins/check_clamd
+usr/lib/icinga/plugins/check_cluster
+usr/lib/icinga/plugins/check_dhcp
+usr/lib/icinga/plugins/check_dig
+usr/lib/icinga/plugins/check_disk
+usr/lib/icinga/plugins/check_disk_smb
+usr/lib/icinga/plugins/check_dns
+usr/lib/icinga/plugins/check_dummy
+usr/lib/icinga/plugins/check_file_age
+usr/lib/icinga/plugins/check_flexlm
+usr/lib/icinga/plugins/check_ftp
+usr/lib/icinga/plugins/check_hpjd
+usr/lib/icinga/plugins/check_http
+usr/lib/icinga/plugins/check_icmp
+usr/lib/icinga/plugins/check_ide_smart
+usr/lib/icinga/plugins/check_ifoperstatus
+usr/lib/icinga/plugins/check_ifstatus
+usr/lib/icinga/plugins/check_imap
+usr/lib/icinga/plugins/check_ircd
+usr/lib/icinga/plugins/check_jabber
+usr/lib/icinga/plugins/check_ldap
+usr/lib/icinga/plugins/check_ldaps
+usr/lib/icinga/plugins/check_load
+usr/lib/icinga/plugins/check_log
+usr/lib/icinga/plugins/check_mailq
+usr/lib/icinga/plugins/check_mrtg
+usr/lib/icinga/plugins/check_mrtgtraf
+usr/lib/icinga/plugins/check_mysql
+usr/lib/icinga/plugins/check_mysql_query
+usr/lib/icinga/plugins/check_nagios
+usr/lib/icinga/plugins/check_nntp
+usr/lib/icinga/plugins/check_nntps
+usr/lib/icinga/plugins/check_nt
+usr/lib/icinga/plugins/check_ntp
+usr/lib/icinga/plugins/check_ntp_peer
+usr/lib/icinga/plugins/check_ntp_time
+usr/lib/icinga/plugins/check_nwstat
+usr/lib/icinga/plugins/check_oracle
+usr/lib/icinga/plugins/check_overcr
+usr/lib/icinga/plugins/check_ping
+usr/lib/icinga/plugins/check_pop
+usr/lib/icinga/plugins/check_procs
+usr/lib/icinga/plugins/check_real
+usr/lib/icinga/plugins/check_rpc
+usr/lib/icinga/plugins/check_sensors
+usr/lib/icinga/plugins/check_simap
+usr/lib/icinga/plugins/check_smtp
+usr/lib/icinga/plugins/check_snmp
+usr/lib/icinga/plugins/check_spop
+usr/lib/icinga/plugins/check_ssh
+usr/lib/icinga/plugins/check_ssmtp
+usr/lib/icinga/plugins/check_swap
+usr/lib/icinga/plugins/check_tcp
+usr/lib/icinga/plugins/check_time
+usr/lib/icinga/plugins/check_udp
+usr/lib/icinga/plugins/check_ups
+usr/lib/icinga/plugins/check_uptime
+usr/lib/icinga/plugins/check_users
+usr/lib/icinga/plugins/check_wave
+usr/lib/icinga/plugins/eventhandlers
+usr/lib/icinga/plugins/eventhandlers/disable_active_service_checks
+usr/lib/icinga/plugins/eventhandlers/disable_notifications
+usr/lib/icinga/plugins/eventhandlers/distributed-monitoring
+usr/lib/icinga/plugins/eventhandlers/distributed-monitoring/obsessive_svc_handler
+usr/lib/icinga/plugins/eventhandlers/distributed-monitoring/submit_check_result_via_nsca
+usr/lib/icinga/plugins/eventhandlers/enable_active_service_checks
+usr/lib/icinga/plugins/eventhandlers/enable_notifications
+usr/lib/icinga/plugins/eventhandlers/redundancy-scenario1
+usr/lib/icinga/plugins/eventhandlers/redundancy-scenario1/handle-master-host-event
+usr/lib/icinga/plugins/eventhandlers/redundancy-scenario1/handle-master-proc-event
+usr/lib/icinga/plugins/eventhandlers/submit_check_result
+usr/lib/icinga/plugins/negate
+usr/lib/icinga/plugins/urlize
+usr/lib/icinga/plugins/utils.pm
+usr/lib/icinga/plugins/utils.sh
+usr/share/icinga
+usr/share/icinga/cgi-bin
+usr/share/icinga/cgi-bin/avail.cgi
+usr/share/icinga/cgi-bin/cmd.cgi
+usr/share/icinga/cgi-bin/config.cgi
+usr/share/icinga/cgi-bin/extinfo.cgi
+usr/share/icinga/cgi-bin/histogram.cgi
+usr/share/icinga/cgi-bin/history.cgi
+usr/share/icinga/cgi-bin/notifications.cgi
+usr/share/icinga/cgi-bin/outages.cgi
+usr/share/icinga/cgi-bin/showlog.cgi
+usr/share/icinga/cgi-bin/status.cgi
+usr/share/icinga/cgi-bin/statusmap.cgi
+usr/share/icinga/cgi-bin/summary.cgi
+usr/share/icinga/cgi-bin/tac.cgi
+usr/share/icinga/cgi-bin/trends.cgi
+usr/share/icinga/docs
+usr/share/icinga/docs/de
+usr/share/icinga/docs/de/about.html
+usr/share/icinga/docs/de/activechecks.html
+usr/share/icinga/docs/de/adaptive.html
+usr/share/icinga/docs/de/addons.html
+usr/share/icinga/docs/de/beginners.html
+usr/share/icinga/docs/de/cachedchecks.html
+usr/share/icinga/docs/de/cgiauth.html
+usr/share/icinga/docs/de/cgicmd.html
+usr/share/icinga/docs/de/cgiincludes.html
+usr/share/icinga/docs/de/cgiparams.html
+usr/share/icinga/docs/de/cgis.html
+usr/share/icinga/docs/de/cgisecurity.html
+usr/share/icinga/docs/de/ch01.html
+usr/share/icinga/docs/de/ch02.html
+usr/share/icinga/docs/de/ch03.html
+usr/share/icinga/docs/de/ch04.html
+usr/share/icinga/docs/de/ch05.html
+usr/share/icinga/docs/de/ch06.html
+usr/share/icinga/docs/de/ch07.html
+usr/share/icinga/docs/de/ch08.html
+usr/share/icinga/docs/de/ch09.html
+usr/share/icinga/docs/de/ch10.html
+usr/share/icinga/docs/de/ch11.html
+usr/share/icinga/docs/de/ch12.html
+usr/share/icinga/docs/de/ch13.html
+usr/share/icinga/docs/de/checkscheduling.html
+usr/share/icinga/docs/de/clusters.html
+usr/share/icinga/docs/de/components.html
+usr/share/icinga/docs/de/config.html
+usr/share/icinga/docs/de/configcgi.html
+usr/share/icinga/docs/de/configido.html
+usr/share/icinga/docs/de/configmain.html
+usr/share/icinga/docs/de/configobject.html
+usr/share/icinga/docs/de/customobjectvars.html
+usr/share/icinga/docs/de/db_changes.html
+usr/share/icinga/docs/de/db_intro.html
+usr/share/icinga/docs/de/db_model.html
+usr/share/icinga/docs/de/dependencies.html
+usr/share/icinga/docs/de/dependencychecks.html
+usr/share/icinga/docs/de/distributed.html
+usr/share/icinga/docs/de/downtime.html
+usr/share/icinga/docs/de/embeddedperl.html
+usr/share/icinga/docs/de/epnplugins.html
+usr/share/icinga/docs/de/escalation_condition.html
+usr/share/icinga/docs/de/escalations.html
+usr/share/icinga/docs/de/eventhandlers.html
+usr/share/icinga/docs/de/example-configs.html
+usr/share/icinga/docs/de/extcommands.html
+usr/share/icinga/docs/de/extcommands2.html
+usr/share/icinga/docs/de/faststartup.html
+usr/share/icinga/docs/de/flapping.html
+usr/share/icinga/docs/de/freshness.html
+usr/share/icinga/docs/de/hostchecks.html
+usr/share/icinga/docs/de/howtos.html
+usr/share/icinga/docs/de/icinga-api.html
+usr/share/icinga/docs/de/icinga-web-api.html
+usr/share/icinga/docs/de/icinga-web-config.html
+usr/share/icinga/docs/de/icinga-web-intro.html
+usr/share/icinga/docs/de/icinga-web-introduction.html
+usr/share/icinga/docs/de/icinga-web-pnp.html
+usr/share/icinga/docs/de/icinga-web-scratch.html
+usr/share/icinga/docs/de/icinga-web.html
+usr/share/icinga/docs/de/icinga_packages.html
+usr/share/icinga/docs/de/icingastats.html
+usr/share/icinga/docs/de/index.html
+usr/share/icinga/docs/de/int-mklivestatus.html
+usr/share/icinga/docs/de/int-snmptrap.html
+usr/share/icinga/docs/de/int-tcpwrappers.html
+usr/share/icinga/docs/de/integration.html
+usr/share/icinga/docs/de/ix01.html
+usr/share/icinga/docs/de/largeinstalltweaks.html
+usr/share/icinga/docs/de/macrolist.html
+usr/share/icinga/docs/de/macros.html
+usr/share/icinga/docs/de/modified_attr.html
+usr/share/icinga/docs/de/monitoring-linux.html
+usr/share/icinga/docs/de/monitoring-netware.html
+usr/share/icinga/docs/de/monitoring-overview.html
+usr/share/icinga/docs/de/monitoring-printers.html
+usr/share/icinga/docs/de/monitoring-publicservices.html
+usr/share/icinga/docs/de/monitoring-routers.html
+usr/share/icinga/docs/de/monitoring-windows.html
+usr/share/icinga/docs/de/mrtggraphs.html
+usr/share/icinga/docs/de/networkreachability.html
+usr/share/icinga/docs/de/notifications.html
+usr/share/icinga/docs/de/notifications2.html
+usr/share/icinga/docs/de/nrpe.html
+usr/share/icinga/docs/de/nsca.html
+usr/share/icinga/docs/de/objectdefinitions.html
+usr/share/icinga/docs/de/objectinheritance.html
+usr/share/icinga/docs/de/objecttricks.html
+usr/share/icinga/docs/de/oncallrotation.html
+usr/share/icinga/docs/de/passivechecks.html
+usr/share/icinga/docs/de/passivestatetranslation.html
+usr/share/icinga/docs/de/perfdata.html
+usr/share/icinga/docs/de/perfgraphs.html
+usr/share/icinga/docs/de/pluginapi.html
+usr/share/icinga/docs/de/plugins.html
+usr/share/icinga/docs/de/quickstart-icinga-freebsd.html
+usr/share/icinga/docs/de/quickstart-icinga.html
+usr/share/icinga/docs/de/quickstart-idoutils-freebsd.html
+usr/share/icinga/docs/de/quickstart-idoutils.html
+usr/share/icinga/docs/de/quickstart.html
+usr/share/icinga/docs/de/recurring_downtimes.html
+usr/share/icinga/docs/de/redundancy.html
+usr/share/icinga/docs/de/reporting.html
+usr/share/icinga/docs/de/sample-cgi.html
+usr/share/icinga/docs/de/sample-commands.html
+usr/share/icinga/docs/de/sample-config.html
+usr/share/icinga/docs/de/sample-contacts.html
+usr/share/icinga/docs/de/sample-httpd.html
+usr/share/icinga/docs/de/sample-icinga.html
+usr/share/icinga/docs/de/sample-localhost.html
+usr/share/icinga/docs/de/sample-notifications.html
+usr/share/icinga/docs/de/sample-printer.html
+usr/share/icinga/docs/de/sample-resource.html
+usr/share/icinga/docs/de/sample-switch.html
+usr/share/icinga/docs/de/sample-templates.html
+usr/share/icinga/docs/de/sample-timeperiods.html
+usr/share/icinga/docs/de/sample-windows.html
+usr/share/icinga/docs/de/security.html
+usr/share/icinga/docs/de/servicechecks.html
+usr/share/icinga/docs/de/stalking.html
+usr/share/icinga/docs/de/startstop.html
+usr/share/icinga/docs/de/statetypes.html
+usr/share/icinga/docs/de/temp_data.html
+usr/share/icinga/docs/de/timeperiods.html
+usr/share/icinga/docs/de/tuning.html
+usr/share/icinga/docs/de/upgrading.html
+usr/share/icinga/docs/de/upgrading_icingaweb.html
+usr/share/icinga/docs/de/upgrading_idoutils.html
+usr/share/icinga/docs/de/verifyconfig.html
+usr/share/icinga/docs/de/volatileservices.html
+usr/share/icinga/docs/de/whatsnew.html
+usr/share/icinga/docs/en
+usr/share/icinga/docs/en/about.html
+usr/share/icinga/docs/en/activechecks.html
+usr/share/icinga/docs/en/adaptive.html
+usr/share/icinga/docs/en/addons.html
+usr/share/icinga/docs/en/beginners.html
+usr/share/icinga/docs/en/cachedchecks.html
+usr/share/icinga/docs/en/cgiauth.html
+usr/share/icinga/docs/en/cgicmd.html
+usr/share/icinga/docs/en/cgiincludes.html
+usr/share/icinga/docs/en/cgiparams.html
+usr/share/icinga/docs/en/cgis.html
+usr/share/icinga/docs/en/cgisecurity.html
+usr/share/icinga/docs/en/ch01.html
+usr/share/icinga/docs/en/ch010.html
+usr/share/icinga/docs/en/ch02.html
+usr/share/icinga/docs/en/ch03.html
+usr/share/icinga/docs/en/ch04.html
+usr/share/icinga/docs/en/ch05.html
+usr/share/icinga/docs/en/ch06.html
+usr/share/icinga/docs/en/ch07.html
+usr/share/icinga/docs/en/ch08.html
+usr/share/icinga/docs/en/ch09.html
+usr/share/icinga/docs/en/ch10.html
+usr/share/icinga/docs/en/ch11.html
+usr/share/icinga/docs/en/ch12.html
+usr/share/icinga/docs/en/ch13.html
+usr/share/icinga/docs/en/checkscheduling.html
+usr/share/icinga/docs/en/clusters.html
+usr/share/icinga/docs/en/config.html
+usr/share/icinga/docs/en/configcgi.html
+usr/share/icinga/docs/en/configido.html
+usr/share/icinga/docs/en/configmain.html
+usr/share/icinga/docs/en/configobject.html
+usr/share/icinga/docs/en/customobjectvars.html
+usr/share/icinga/docs/en/db_changes.html
+usr/share/icinga/docs/en/db_components.html
+usr/share/icinga/docs/en/db_example-configs.html
+usr/share/icinga/docs/en/db_intro.html
+usr/share/icinga/docs/en/db_model.html
+usr/share/icinga/docs/en/dependencies.html
+usr/share/icinga/docs/en/dependencychecks.html
+usr/share/icinga/docs/en/distributed.html
+usr/share/icinga/docs/en/downtime.html
+usr/share/icinga/docs/en/embeddedperl.html
+usr/share/icinga/docs/en/epnplugins.html
+usr/share/icinga/docs/en/escalation_condition.html
+usr/share/icinga/docs/en/escalations.html
+usr/share/icinga/docs/en/eventhandlers.html
+usr/share/icinga/docs/en/extcommands.html
+usr/share/icinga/docs/en/extcommands2.html
+usr/share/icinga/docs/en/faststartup.html
+usr/share/icinga/docs/en/flapping.html
+usr/share/icinga/docs/en/freshness.html
+usr/share/icinga/docs/en/hostchecks.html
+usr/share/icinga/docs/en/howtos.html
+usr/share/icinga/docs/en/icinga-api.html
+usr/share/icinga/docs/en/icinga-web-api.html
+usr/share/icinga/docs/en/icinga-web-config.html
+usr/share/icinga/docs/en/icinga-web-intro.html
+usr/share/icinga/docs/en/icinga-web-introduction.html
+usr/share/icinga/docs/en/icinga-web-pnp.html
+usr/share/icinga/docs/en/icinga-web-scratch.html
+usr/share/icinga/docs/en/icinga-web.html
+usr/share/icinga/docs/en/icinga_packages.html
+usr/share/icinga/docs/en/icingastats.html
+usr/share/icinga/docs/en/index.html
+usr/share/icinga/docs/en/int-mklivestatus.html
+usr/share/icinga/docs/en/int-snmptrap.html
+usr/share/icinga/docs/en/int-tcpwrappers.html
+usr/share/icinga/docs/en/integration.html
+usr/share/icinga/docs/en/ix01.html
+usr/share/icinga/docs/en/largeinstalltweaks.html
+usr/share/icinga/docs/en/macrolist.html
+usr/share/icinga/docs/en/macros.html
+usr/share/icinga/docs/en/modified_attr.html
+usr/share/icinga/docs/en/monitoring-linux.html
+usr/share/icinga/docs/en/monitoring-netware.html
+usr/share/icinga/docs/en/monitoring-overview.html
+usr/share/icinga/docs/en/monitoring-printers.html
+usr/share/icinga/docs/en/monitoring-publicservices.html
+usr/share/icinga/docs/en/monitoring-routers.html
+usr/share/icinga/docs/en/monitoring-windows.html
+usr/share/icinga/docs/en/mrtggraphs.html
+usr/share/icinga/docs/en/networkreachability.html
+usr/share/icinga/docs/en/notifications.html
+usr/share/icinga/docs/en/notifications2.html
+usr/share/icinga/docs/en/nrpe.html
+usr/share/icinga/docs/en/nsca.html
+usr/share/icinga/docs/en/objectdefinitions.html
+usr/share/icinga/docs/en/objectinheritance.html
+usr/share/icinga/docs/en/objecttricks.html
+usr/share/icinga/docs/en/oncallrotation.html
+usr/share/icinga/docs/en/passivechecks.html
+usr/share/icinga/docs/en/passivestatetranslation.html
+usr/share/icinga/docs/en/perfdata.html
+usr/share/icinga/docs/en/perfgraphs.html
+usr/share/icinga/docs/en/pluginapi.html
+usr/share/icinga/docs/en/plugins.html
+usr/share/icinga/docs/en/quickstart-icinga-freebsd.html
+usr/share/icinga/docs/en/quickstart-icinga.html
+usr/share/icinga/docs/en/quickstart-idoutils-freebsd.html
+usr/share/icinga/docs/en/quickstart-idoutils.html
+usr/share/icinga/docs/en/quickstart.html
+usr/share/icinga/docs/en/recurring_downtimes.html
+usr/share/icinga/docs/en/redundancy.html
+usr/share/icinga/docs/en/reporting.html
+usr/share/icinga/docs/en/sample-cgi.html
+usr/share/icinga/docs/en/sample-commands.html
+usr/share/icinga/docs/en/sample-config.html
+usr/share/icinga/docs/en/sample-contacts.html
+usr/share/icinga/docs/en/sample-httpd.html
+usr/share/icinga/docs/en/sample-icinga.html
+usr/share/icinga/docs/en/sample-localhost.html
+usr/share/icinga/docs/en/sample-notifications.html
+usr/share/icinga/docs/en/sample-printer.html
+usr/share/icinga/docs/en/sample-resource.html
+usr/share/icinga/docs/en/sample-switch.html
+usr/share/icinga/docs/en/sample-templates.html
+usr/share/icinga/docs/en/sample-timeperiods.html
+usr/share/icinga/docs/en/sample-windows.html
+usr/share/icinga/docs/en/security.html
+usr/share/icinga/docs/en/servicechecks.html
+usr/share/icinga/docs/en/stalking.html
+usr/share/icinga/docs/en/startstop.html
+usr/share/icinga/docs/en/statetypes.html
+usr/share/icinga/docs/en/temp_data.html
+usr/share/icinga/docs/en/timeperiods.html
+usr/share/icinga/docs/en/tuning.html
+usr/share/icinga/docs/en/upgrading.html
+usr/share/icinga/docs/en/upgrading_icingaweb.html
+usr/share/icinga/docs/en/upgrading_idoutils.html
+usr/share/icinga/docs/en/verifyconfig.html
+usr/share/icinga/docs/en/volatileservices.html
+usr/share/icinga/docs/en/whatsnew.html
+usr/share/icinga/docs/images
+usr/share/icinga/docs/images/Architecture_1.5_800px.png
+usr/share/icinga/docs/images/IcingaWeb_BusinessProcess-150x150.png
+usr/share/icinga/docs/images/IcingaWeb_BusinessProcess.png
+usr/share/icinga/docs/images/IcingaWeb_Commands-150x150.png
+usr/share/icinga/docs/images/IcingaWeb_Commands.png
+usr/share/icinga/docs/images/IcingaWeb_CronkBuilder-150x150.png
+usr/share/icinga/docs/images/IcingaWeb_CronkBuilder.png
+usr/share/icinga/docs/images/IcingaWeb_Cronk_Configuration-150x150.png
+usr/share/icinga/docs/images/IcingaWeb_Cronk_Configuration.png
+usr/share/icinga/docs/images/IcingaWeb_Cronk_HostFiltered-150x150.png
+usr/share/icinga/docs/images/IcingaWeb_Downtimes-150x150.png
+usr/share/icinga/docs/images/IcingaWeb_Downtimes.png
+usr/share/icinga/docs/images/IcingaWeb_HostStatus_Events-150x150.png
+usr/share/icinga/docs/images/IcingaWeb_HostStatus_Events.png
+usr/share/icinga/docs/images/IcingaWeb_Host_filtered-150x150.png
+usr/share/icinga/docs/images/IcingaWeb_Host_filtered.png
+usr/share/icinga/docs/images/IcingaWeb_LogViewer-150x150.png
+usr/share/icinga/docs/images/IcingaWeb_LogViewer.png
+usr/share/icinga/docs/images/IcingaWeb_OpenProblems-150x150.png
+usr/share/icinga/docs/images/IcingaWeb_OpenProblems.png
+usr/share/icinga/docs/images/IcingaWeb_Portal2-150x150.png
+usr/share/icinga/docs/images/IcingaWeb_Portal2.png
+usr/share/icinga/docs/images/IcingaWeb_Reporting-150x150.png
+usr/share/icinga/docs/images/IcingaWeb_Reporting.png
+usr/share/icinga/docs/images/IcingaWeb_Search-150x150.png
+usr/share/icinga/docs/images/IcingaWeb_Search.png
+usr/share/icinga/docs/images/IcingaWeb_StatusMap-150x150.png
+usr/share/icinga/docs/images/IcingaWeb_StatusMap.png
+usr/share/icinga/docs/images/IcingaWeb_TacticalOverview-150x150.png
+usr/share/icinga/docs/images/IcingaWeb_TacticalOverview.png
+usr/share/icinga/docs/images/IcingaWeb_UserAdmin-150x150.png
+usr/share/icinga/docs/images/IcingaWeb_UserAdmin.png
+usr/share/icinga/docs/images/Icinga_Classic_CGIConfig-150x150.png
+usr/share/icinga/docs/images/Icinga_Classic_CGIConfig.png
+usr/share/icinga/docs/images/Icinga_Classic_Commands-150x150.png
+usr/share/icinga/docs/images/Icinga_Classic_Commands.png
+usr/share/icinga/docs/images/Icinga_Classic_DatePicker-150x150.png
+usr/share/icinga/docs/images/Icinga_Classic_DatePicker.png
+usr/share/icinga/docs/images/Icinga_Classic_Downtimes-150x150.png
+usr/share/icinga/docs/images/Icinga_Classic_Downtimes.png
+usr/share/icinga/docs/images/Icinga_Classic_HostGroup-150x150.png
+usr/share/icinga/docs/images/Icinga_Classic_HostGroup.png
+usr/share/icinga/docs/images/Icinga_Classic_PaginationLogs-150x150.png
+usr/share/icinga/docs/images/Icinga_Classic_PaginationLogs.png
+usr/share/icinga/docs/images/Icinga_Classic_ServiceStatus-150x150.png
+usr/share/icinga/docs/images/Icinga_Classic_ServiceStatus.png
+usr/share/icinga/docs/images/Icinga_Classic_TacticalOverview-150x150.png
+usr/share/icinga/docs/images/Icinga_Classic_TacticalOverview.png
+usr/share/icinga/docs/images/Icinga_Classic_Trending-150x150.png
+usr/share/icinga/docs/images/Icinga_Classic_Trending.png
+usr/share/icinga/docs/images/MyServiceStatus.png
+usr/share/icinga/docs/images/activechecks.png
+usr/share/icinga/docs/images/cachedcheckgraphs.png
+usr/share/icinga/docs/images/cachedchecks.png
+usr/share/icinga/docs/images/cachedchecks1.png
+usr/share/icinga/docs/images/caution.gif
+usr/share/icinga/docs/images/caution.png
+usr/share/icinga/docs/images/cgi-avail-a.png
+usr/share/icinga/docs/images/cgi-avail-b.png
+usr/share/icinga/docs/images/cgi-cmd.png
+usr/share/icinga/docs/images/cgi-commands.png
+usr/share/icinga/docs/images/cgi-config.png
+usr/share/icinga/docs/images/cgi-continue.png
+usr/share/icinga/docs/images/cgi-extinfo-a.png
+usr/share/icinga/docs/images/cgi-extinfo-b.png
+usr/share/icinga/docs/images/cgi-extinfo-c.png
+usr/share/icinga/docs/images/cgi-extinfo-d.png
+usr/share/icinga/docs/images/cgi-general.png
+usr/share/icinga/docs/images/cgi-histogram.png
+usr/share/icinga/docs/images/cgi-history.png
+usr/share/icinga/docs/images/cgi-notifications.png
+usr/share/icinga/docs/images/cgi-outages.png
+usr/share/icinga/docs/images/cgi-pause.png
+usr/share/icinga/docs/images/cgi-showlog.png
+usr/share/icinga/docs/images/cgi-status-a.png
+usr/share/icinga/docs/images/cgi-status-b.png
+usr/share/icinga/docs/images/cgi-status-c.png
+usr/share/icinga/docs/images/cgi-status-d.png
+usr/share/icinga/docs/images/cgi-statusinfo.png
+usr/share/icinga/docs/images/cgi-statusmap.png
+usr/share/icinga/docs/images/cgi-statuswml.png
+usr/share/icinga/docs/images/cgi-statuswrl.png
+usr/share/icinga/docs/images/cgi-summary.png
+usr/share/icinga/docs/images/cgi-tac.png
+usr/share/icinga/docs/images/cgi-trends.png
+usr/share/icinga/docs/images/checkmark.png
+usr/share/icinga/docs/images/checktiming.png
+usr/share/icinga/docs/images/configoverview.png
+usr/share/icinga/docs/images/db_model_cf.png
+usr/share/icinga/docs/images/db_model_ct.png
+usr/share/icinga/docs/images/db_model_cu.png
+usr/share/icinga/docs/images/db_model_dt.png
+usr/share/icinga/docs/images/db_model_ht.png
+usr/share/icinga/docs/images/distributed.png
+usr/share/icinga/docs/images/downtime.png
+usr/share/icinga/docs/images/epn.png
+usr/share/icinga/docs/images/eventhandlers.png
+usr/share/icinga/docs/images/externalcommands.png
+usr/share/icinga/docs/images/fast-startup.png
+usr/share/icinga/docs/images/fast-startup1.png
+usr/share/icinga/docs/images/fast-startup2.png
+usr/share/icinga/docs/images/fig1.png
+usr/share/icinga/docs/images/fig10.png
+usr/share/icinga/docs/images/fig11.png
+usr/share/icinga/docs/images/fig12.png
+usr/share/icinga/docs/images/fig13.png
+usr/share/icinga/docs/images/fig2.png
+usr/share/icinga/docs/images/fig3.png
+usr/share/icinga/docs/images/fig4.png
+usr/share/icinga/docs/images/fig5.png
+usr/share/icinga/docs/images/fig6.png
+usr/share/icinga/docs/images/fig7.png
+usr/share/icinga/docs/images/fig8.png
+usr/share/icinga/docs/images/fig9.png
+usr/share/icinga/docs/images/flags
+usr/share/icinga/docs/images/flags/de.png
+usr/share/icinga/docs/images/flags/um_gb.png
+usr/share/icinga/docs/images/freshness.png
+usr/share/icinga/docs/images/host-dependencies.png
+usr/share/icinga/docs/images/icinga-reporting-datasource-ido-mysql_1.8.png
+usr/share/icinga/docs/images/icinga-reporting-datasource-ido_1.8.png
+usr/share/icinga/docs/images/icinga-reporting-overview_1.8.png
+usr/share/icinga/docs/images/icinga-reporting_1.6.png
+usr/share/icinga/docs/images/icinga-web-admin_groups1.png
+usr/share/icinga/docs/images/icinga-web-admin_groups2.png
+usr/share/icinga/docs/images/icinga-web-admin_logs1.png
+usr/share/icinga/docs/images/icinga-web-admin_principals.png
+usr/share/icinga/docs/images/icinga-web-admin_tasks.png
+usr/share/icinga/docs/images/icinga-web-admin_users1.png
+usr/share/icinga/docs/images/icinga-web-admin_users2.png
+usr/share/icinga/docs/images/icinga-web-commands_hst.png
+usr/share/icinga/docs/images/icinga-web-commands_svc.png
+usr/share/icinga/docs/images/icinga-web-cronks-settings.png
+usr/share/icinga/docs/images/icinga-web-cronks1.png
+usr/share/icinga/docs/images/icinga-web-cronks2.png
+usr/share/icinga/docs/images/icinga-web-cronks2a.png
+usr/share/icinga/docs/images/icinga-web-cronks3.png
+usr/share/icinga/docs/images/icinga-web-cronks4.png
+usr/share/icinga/docs/images/icinga-web-cronks5.png
+usr/share/icinga/docs/images/icinga-web-cronks6.png
+usr/share/icinga/docs/images/icinga-web-exp_1.png
+usr/share/icinga/docs/images/icinga-web-exp_2.png
+usr/share/icinga/docs/images/icinga-web-exp_3.png
+usr/share/icinga/docs/images/icinga-web-exp_4.png
+usr/share/icinga/docs/images/icinga-web-exp_5.png
+usr/share/icinga/docs/images/icinga-web-filter1.png
+usr/share/icinga/docs/images/icinga-web-filter2.png
+usr/share/icinga/docs/images/icinga-web-filter3.png
+usr/share/icinga/docs/images/icinga-web-filter4.png
+usr/share/icinga/docs/images/icinga-web-filter5.png
+usr/share/icinga/docs/images/icinga-web-filter6.png
+usr/share/icinga/docs/images/icinga-web-host-obj.png
+usr/share/icinga/docs/images/icinga-web-host-obj1.png
+usr/share/icinga/docs/images/icinga-web-host.png
+usr/share/icinga/docs/images/icinga-web-hostgroup.png
+usr/share/icinga/docs/images/icinga-web-instance-down.png
+usr/share/icinga/docs/images/icinga-web-log.png
+usr/share/icinga/docs/images/icinga-web-login.png
+usr/share/icinga/docs/images/icinga-web-main_bar.png
+usr/share/icinga/docs/images/icinga-web-mainscreen.png
+usr/share/icinga/docs/images/icinga-web-open_problems.png
+usr/share/icinga/docs/images/icinga-web-overview.png
+usr/share/icinga/docs/images/icinga-web-search1.png
+usr/share/icinga/docs/images/icinga-web-settings.png
+usr/share/icinga/docs/images/icinga-web-srv.png
+usr/share/icinga/docs/images/icinga-web-srv_obj.png
+usr/share/icinga/docs/images/icinga-web-statuscronk.png
+usr/share/icinga/docs/images/icinga-web-tackle1.png
+usr/share/icinga/docs/images/icinga-web-tackle2.png
+usr/share/icinga/docs/images/icinga-web-tackle3.png
+usr/share/icinga/docs/images/icinga-web-tackle4.png
+usr/share/icinga/docs/images/icinga-web-topmenu1.png
+usr/share/icinga/docs/images/icinga-web-topmenu2.png
+usr/share/icinga/docs/images/icinga-web-topmenuadmin1.png
+usr/share/icinga/docs/images/icinga-web-user-prefs-logout.png
+usr/share/icinga/docs/images/idoutils.png
+usr/share/icinga/docs/images/important.gif
+usr/share/icinga/docs/images/important.png
+usr/share/icinga/docs/images/integrationoverview.png
+usr/share/icinga/docs/images/interleaved1.png
+usr/share/icinga/docs/images/interleaved2.png
+usr/share/icinga/docs/images/interleaved3.png
+usr/share/icinga/docs/images/logofullsize.png
+usr/share/icinga/docs/images/monitoring-printers.png
+usr/share/icinga/docs/images/monitoring-routers.png
+usr/share/icinga/docs/images/monitoring-windows.png
+usr/share/icinga/docs/images/multiple-templates1.png
+usr/share/icinga/docs/images/multiple-templates2.png
+usr/share/icinga/docs/images/nagios.jpg
+usr/share/icinga/docs/images/ndoutils.png
+usr/share/icinga/docs/images/network-outage1.png
+usr/share/icinga/docs/images/network-outage2.png
+usr/share/icinga/docs/images/noninterleaved1.png
+usr/share/icinga/docs/images/noninterleaved2.png
+usr/share/icinga/docs/images/note.gif
+usr/share/icinga/docs/images/note.png
+usr/share/icinga/docs/images/nrpe.png
+usr/share/icinga/docs/images/nrpe_remote.png
+usr/share/icinga/docs/images/nsca.png
+usr/share/icinga/docs/images/nscpp.png
+usr/share/icinga/docs/images/objects-commands.png
+usr/share/icinga/docs/images/objects-contacts.png
+usr/share/icinga/docs/images/objects-hosts.png
+usr/share/icinga/docs/images/objects-services.png
+usr/share/icinga/docs/images/objects-timeperiods.png
+usr/share/icinga/docs/images/passivechecks.png
+usr/share/icinga/docs/images/passivehosttranslation.png
+usr/share/icinga/docs/images/perfdata_cached.png
+usr/share/icinga/docs/images/perfdata_cached2.png
+usr/share/icinga/docs/images/perfdata_cmdbuf.png
+usr/share/icinga/docs/images/perfdata_exec.png
+usr/share/icinga/docs/images/perfdata_extcmd.png
+usr/share/icinga/docs/images/perfdata_host.png
+usr/share/icinga/docs/images/perfdata_lat.png
+usr/share/icinga/docs/images/perfdata_state_chg.png
+usr/share/icinga/docs/images/perfdata_svc.png
+usr/share/icinga/docs/images/plugins.png
+usr/share/icinga/docs/images/predictive-dependency-checks.png
+usr/share/icinga/docs/images/printer.png
+usr/share/icinga/docs/images/reachability1.png
+usr/share/icinga/docs/images/reachability2.png
+usr/share/icinga/docs/images/reachability3.png
+usr/share/icinga/docs/images/reachability4.png
+usr/share/icinga/docs/images/redundancy.png
+usr/share/icinga/docs/images/rep_avail.png
+usr/share/icinga/docs/images/reptop10.png
+usr/share/icinga/docs/images/security.png
+usr/share/icinga/docs/images/security1.png
+usr/share/icinga/docs/images/security2.png
+usr/share/icinga/docs/images/security3.png
+usr/share/icinga/docs/images/seealso.gif
+usr/share/icinga/docs/images/service-dependencies.png
+usr/share/icinga/docs/images/statetransitions.png
+usr/share/icinga/docs/images/statetransitions2.png
+usr/share/icinga/docs/images/stoprestart.png
+usr/share/icinga/docs/images/switch.png
+usr/share/icinga/docs/images/tac_header2.png
+usr/share/icinga/docs/images/tcpwrappers.png
+usr/share/icinga/docs/images/tip.gif
+usr/share/icinga/docs/images/tip.png
+usr/share/icinga/docs/images/tuning.png
+usr/share/icinga/docs/images/upto.gif
+usr/share/icinga/docs/index.html
+usr/share/icinga/docs/js
+usr/share/icinga/docs/js/icinga-docs.js
+usr/share/icinga/docs/js/jquery-min.js
+usr/share/icinga/docs/robots.txt
+usr/share/icinga/docs/stylesheets
+usr/share/icinga/docs/stylesheets/icinga-docs.css
+usr/share/icinga/images
+usr/share/icinga/images/Icinga_Header_Webinterface.jpg
+usr/share/icinga/images/Icinga_Header_Webinterface_Pixel.jpg
+usr/share/icinga/images/Icinga_TAC_Header_Webinterface.jpg
+usr/share/icinga/images/ack.gif
+usr/share/icinga/images/action.gif
+usr/share/icinga/images/application-monitor.png
+usr/share/icinga/images/cmd_shadow.gif
+usr/share/icinga/images/cmd_stop.png
+usr/share/icinga/images/command.png
+usr/share/icinga/images/comment.gif
+usr/share/icinga/images/contexthelp.gif
+usr/share/icinga/images/critical.png
+usr/share/icinga/images/database.gif
+usr/share/icinga/images/dd_arrow.gif
+usr/share/icinga/images/delay.gif
+usr/share/icinga/images/delete.gif
+usr/share/icinga/images/detail.gif
+usr/share/icinga/images/disabled.gif
+usr/share/icinga/images/down.gif
+usr/share/icinga/images/downtime.gif
+usr/share/icinga/images/empty.gif
+usr/share/icinga/images/enabled.gif
+usr/share/icinga/images/export_csv.png
+usr/share/icinga/images/export_json.png
+usr/share/icinga/images/export_link.png
+usr/share/icinga/images/export_xml.png
+usr/share/icinga/images/favicon.ico
+usr/share/icinga/images/flapping.gif
+usr/share/icinga/images/histogram.png
+usr/share/icinga/images/history.gif
+usr/share/icinga/images/hostevent.gif
+usr/share/icinga/images/hourglass-arrow.png
+usr/share/icinga/images/hourglass-exclamation.png
+usr/share/icinga/images/icon_collapse.gif
+usr/share/icinga/images/icon_expand.gif
+usr/share/icinga/images/icon_first_active.gif
+usr/share/icinga/images/icon_first_inactive.gif
+usr/share/icinga/images/icon_last_active.gif
+usr/share/icinga/images/icon_last_inactive.gif
+usr/share/icinga/images/icon_next_active.gif
+usr/share/icinga/images/icon_next_inactive.gif
+usr/share/icinga/images/icon_previous_active.gif
+usr/share/icinga/images/icon_previous_inactive.gif
+usr/share/icinga/images/icon_reload.png
+usr/share/icinga/images/info.png
+usr/share/icinga/images/left.gif
+usr/share/icinga/images/logofullsize.png
+usr/share/icinga/images/logos
+usr/share/icinga/images/logos/Stats1.gif
+usr/share/icinga/images/logos/Stats2.png
+usr/share/icinga/images/logos/equipment
+usr/share/icinga/images/logos/equipment/Nuvem.gif
+usr/share/icinga/images/logos/equipment/Nuvem.jpg
+usr/share/icinga/images/logos/equipment/Nuvem.png
+usr/share/icinga/images/logos/equipment/Nuvemp.gd2
+usr/share/icinga/images/logos/equipment/Nuvemp.gif
+usr/share/icinga/images/logos/equipment/Nuvemp.jpg
+usr/share/icinga/images/logos/equipment/Nuvemp.png
+usr/share/icinga/images/logos/equipment/accounting_server.gd2
+usr/share/icinga/images/logos/equipment/accounting_server.gif
+usr/share/icinga/images/logos/equipment/accounting_server.png
+usr/share/icinga/images/logos/equipment/antivirus.gd2
+usr/share/icinga/images/logos/equipment/antivirus.gif
+usr/share/icinga/images/logos/equipment/antivirus.png
+usr/share/icinga/images/logos/equipment/atm.gd2
+usr/share/icinga/images/logos/equipment/atm.gif
+usr/share/icinga/images/logos/equipment/atm.png
+usr/share/icinga/images/logos/equipment/backup.gd2
+usr/share/icinga/images/logos/equipment/backup.gif
+usr/share/icinga/images/logos/equipment/backup.png
+usr/share/icinga/images/logos/equipment/backup2.gd2
+usr/share/icinga/images/logos/equipment/backup2.gif
+usr/share/icinga/images/logos/equipment/backup2.png
+usr/share/icinga/images/logos/equipment/blackbox.gd2
+usr/share/icinga/images/logos/equipment/blackbox.gif
+usr/share/icinga/images/logos/equipment/blackbox.png
+usr/share/icinga/images/logos/equipment/cable_modem.gd2
+usr/share/icinga/images/logos/equipment/cable_modem.gif
+usr/share/icinga/images/logos/equipment/cable_modem.png
+usr/share/icinga/images/logos/equipment/cd_server.gd2
+usr/share/icinga/images/logos/equipment/cd_server.gif
+usr/share/icinga/images/logos/equipment/cd_server.png
+usr/share/icinga/images/logos/equipment/cd_server2.gd2
+usr/share/icinga/images/logos/equipment/cd_server2.gif
+usr/share/icinga/images/logos/equipment/cd_server2.png
+usr/share/icinga/images/logos/equipment/chat_server.gd2
+usr/share/icinga/images/logos/equipment/chat_server.gif
+usr/share/icinga/images/logos/equipment/chat_server.png
+usr/share/icinga/images/logos/equipment/chat_server2.gd2
+usr/share/icinga/images/logos/equipment/chat_server2.gif
+usr/share/icinga/images/logos/equipment/chat_server2.png
+usr/share/icinga/images/logos/equipment/chat_server3.gd2
+usr/share/icinga/images/logos/equipment/chat_server3.gif
+usr/share/icinga/images/logos/equipment/chat_server3.png
+usr/share/icinga/images/logos/equipment/cluster.gd2
+usr/share/icinga/images/logos/equipment/cluster.gif
+usr/share/icinga/images/logos/equipment/cluster.png
+usr/share/icinga/images/logos/equipment/cluster2.gd2
+usr/share/icinga/images/logos/equipment/cluster2.gif
+usr/share/icinga/images/logos/equipment/cluster2.png
+usr/share/icinga/images/logos/equipment/computer.gd2
+usr/share/icinga/images/logos/equipment/computer.gif
+usr/share/icinga/images/logos/equipment/computer.png
+usr/share/icinga/images/logos/equipment/computer2.gd2
+usr/share/icinga/images/logos/equipment/computer2.gif
+usr/share/icinga/images/logos/equipment/computer2.png
+usr/share/icinga/images/logos/equipment/computer3.gd2
+usr/share/icinga/images/logos/equipment/computer3.gif
+usr/share/icinga/images/logos/equipment/computer3.png
+usr/share/icinga/images/logos/equipment/computer4.gd2
+usr/share/icinga/images/logos/equipment/computer4.gif
+usr/share/icinga/images/logos/equipment/computer4.png
+usr/share/icinga/images/logos/equipment/computer5.gd2
+usr/share/icinga/images/logos/equipment/computer5.gif
+usr/share/icinga/images/logos/equipment/computer5.png
+usr/share/icinga/images/logos/equipment/computer6.gd2
+usr/share/icinga/images/logos/equipment/computer6.gif
+usr/share/icinga/images/logos/equipment/computer6.png
+usr/share/icinga/images/logos/equipment/concentrator.gd2
+usr/share/icinga/images/logos/equipment/concentrator.gif
+usr/share/icinga/images/logos/equipment/concentrator.png
+usr/share/icinga/images/logos/equipment/data_server.gd2
+usr/share/icinga/images/logos/equipment/data_server.gif
+usr/share/icinga/images/logos/equipment/data_server.png
+usr/share/icinga/images/logos/equipment/data_server2.gd2
+usr/share/icinga/images/logos/equipment/data_server2.gif
+usr/share/icinga/images/logos/equipment/data_server2.png
+usr/share/icinga/images/logos/equipment/database.gd2
+usr/share/icinga/images/logos/equipment/database.gif
+usr/share/icinga/images/logos/equipment/desktop-server.gd2
+usr/share/icinga/images/logos/equipment/desktop-server.gif
+usr/share/icinga/images/logos/equipment/dial-in.gd2
+usr/share/icinga/images/logos/equipment/dial-in.gif
+usr/share/icinga/images/logos/equipment/dial-in.png
+usr/share/icinga/images/logos/equipment/directory_services.gd2
+usr/share/icinga/images/logos/equipment/directory_services.gif
+usr/share/icinga/images/logos/equipment/directory_services.png
+usr/share/icinga/images/logos/equipment/directory_services2.gd2
+usr/share/icinga/images/logos/equipment/directory_services2.gif
+usr/share/icinga/images/logos/equipment/directory_services2.png
+usr/share/icinga/images/logos/equipment/directory_services3.gd2
+usr/share/icinga/images/logos/equipment/directory_services3.gif
+usr/share/icinga/images/logos/equipment/directory_services3.png
+usr/share/icinga/images/logos/equipment/disable_server.gd2
+usr/share/icinga/images/logos/equipment/disable_server.gif
+usr/share/icinga/images/logos/equipment/disable_server.png
+usr/share/icinga/images/logos/equipment/distributed_database.gd2
+usr/share/icinga/images/logos/equipment/distributed_database.gif
+usr/share/icinga/images/logos/equipment/distributed_database.png
+usr/share/icinga/images/logos/equipment/dmz_server.gd2
+usr/share/icinga/images/logos/equipment/dmz_server.gif
+usr/share/icinga/images/logos/equipment/dmz_server.png
+usr/share/icinga/images/logos/equipment/document_server.gd2
+usr/share/icinga/images/logos/equipment/document_server.gif
+usr/share/icinga/images/logos/equipment/document_server.png
+usr/share/icinga/images/logos/equipment/download_server.gd2
+usr/share/icinga/images/logos/equipment/download_server.gif
+usr/share/icinga/images/logos/equipment/download_server.png
+usr/share/icinga/images/logos/equipment/dumbterminal.gd2
+usr/share/icinga/images/logos/equipment/dumbterminal.gif
+usr/share/icinga/images/logos/equipment/dumbterminal.png
+usr/share/icinga/images/logos/equipment/e-shop.gd2
+usr/share/icinga/images/logos/equipment/e-shop.gif
+usr/share/icinga/images/logos/equipment/e-shop.png
+usr/share/icinga/images/logos/equipment/e-shop2.gd2
+usr/share/icinga/images/logos/equipment/e-shop2.gif
+usr/share/icinga/images/logos/equipment/e-shop2.png
+usr/share/icinga/images/logos/equipment/e-shop3.gd2
+usr/share/icinga/images/logos/equipment/e-shop3.gif
+usr/share/icinga/images/logos/equipment/e-shop3.png
+usr/share/icinga/images/logos/equipment/email_antivirus.gd2
+usr/share/icinga/images/logos/equipment/email_antivirus.gif
+usr/share/icinga/images/logos/equipment/email_antivirus.png
+usr/share/icinga/images/logos/equipment/email_server.gd2
+usr/share/icinga/images/logos/equipment/email_server.gif
+usr/share/icinga/images/logos/equipment/email_server.png
+usr/share/icinga/images/logos/equipment/email_server2.gd2
+usr/share/icinga/images/logos/equipment/email_server2.gif
+usr/share/icinga/images/logos/equipment/email_server2.png
+usr/share/icinga/images/logos/equipment/email_server3.gd2
+usr/share/icinga/images/logos/equipment/email_server3.gif
+usr/share/icinga/images/logos/equipment/email_server3.png
+usr/share/icinga/images/logos/equipment/enable_server.gd2
+usr/share/icinga/images/logos/equipment/enable_server.gif
+usr/share/icinga/images/logos/equipment/enable_server.png
+usr/share/icinga/images/logos/equipment/ethernet_card.png
+usr/share/icinga/images/logos/equipment/fax.gd2
+usr/share/icinga/images/logos/equipment/fax.gif
+usr/share/icinga/images/logos/equipment/firewall.gd2
+usr/share/icinga/images/logos/equipment/firewall.gif
+usr/share/icinga/images/logos/equipment/firewall.png
+usr/share/icinga/images/logos/equipment/firewall2.gd2
+usr/share/icinga/images/logos/equipment/firewall2.gif
+usr/share/icinga/images/logos/equipment/firewall2.png
+usr/share/icinga/images/logos/equipment/firewall3.gd2
+usr/share/icinga/images/logos/equipment/firewall3.gif
+usr/share/icinga/images/logos/equipment/firewall3.png
+usr/share/icinga/images/logos/equipment/firewall4.gd2
+usr/share/icinga/images/logos/equipment/firewall4.gif
+usr/share/icinga/images/logos/equipment/firewall_station.gd2
+usr/share/icinga/images/logos/equipment/firewall_station.gif
+usr/share/icinga/images/logos/equipment/firewall_station.png
+usr/share/icinga/images/logos/equipment/game_server.gd2
+usr/share/icinga/images/logos/equipment/game_server.gif
+usr/share/icinga/images/logos/equipment/game_server.png
+usr/share/icinga/images/logos/equipment/game_server2.gd2
+usr/share/icinga/images/logos/equipment/game_server2.gif
+usr/share/icinga/images/logos/equipment/game_server2.png
+usr/share/icinga/images/logos/equipment/game_server3.gd2
+usr/share/icinga/images/logos/equipment/game_server3.gif
+usr/share/icinga/images/logos/equipment/game_server3.png
+usr/share/icinga/images/logos/equipment/game_server4.gd2
+usr/share/icinga/images/logos/equipment/game_server4.gif
+usr/share/icinga/images/logos/equipment/game_server4.png
+usr/share/icinga/images/logos/equipment/hub.gd2
+usr/share/icinga/images/logos/equipment/hub.gif
+usr/share/icinga/images/logos/equipment/hub.png
+usr/share/icinga/images/logos/equipment/hub2.gd2
+usr/share/icinga/images/logos/equipment/hub2.gif
+usr/share/icinga/images/logos/equipment/information_cluster.gd2
+usr/share/icinga/images/logos/equipment/information_cluster.gif
+usr/share/icinga/images/logos/equipment/information_cluster.png
+usr/share/icinga/images/logos/equipment/integrated_office_system.gd2
+usr/share/icinga/images/logos/equipment/integrated_office_system.gif
+usr/share/icinga/images/logos/equipment/integrated_office_system.png
+usr/share/icinga/images/logos/equipment/internet_device.png
+usr/share/icinga/images/logos/equipment/ip-pbx.gd2
+usr/share/icinga/images/logos/equipment/ip-pbx.gif
+usr/share/icinga/images/logos/equipment/irc.gd2
+usr/share/icinga/images/logos/equipment/irc.gif
+usr/share/icinga/images/logos/equipment/irc.png
+usr/share/icinga/images/logos/equipment/laptop.gd2
+usr/share/icinga/images/logos/equipment/laptop.gif
+usr/share/icinga/images/logos/equipment/laptop.png
+usr/share/icinga/images/logos/equipment/laptop2.gd2
+usr/share/icinga/images/logos/equipment/laptop2.gif
+usr/share/icinga/images/logos/equipment/laptop2.png
+usr/share/icinga/images/logos/equipment/laptop3.gd2
+usr/share/icinga/images/logos/equipment/laptop3.gif
+usr/share/icinga/images/logos/equipment/laptop3.png
+usr/share/icinga/images/logos/equipment/laptop4.gd2
+usr/share/icinga/images/logos/equipment/laptop4.gif
+usr/share/icinga/images/logos/equipment/laptop4.png
+usr/share/icinga/images/logos/equipment/laptop5.gd2
+usr/share/icinga/images/logos/equipment/laptop5.gif
+usr/share/icinga/images/logos/equipment/laptop5.png
+usr/share/icinga/images/logos/equipment/loadbalancer.gd2
+usr/share/icinga/images/logos/equipment/loadbalancer.gif
+usr/share/icinga/images/logos/equipment/loadbalancer.png
+usr/share/icinga/images/logos/equipment/loadbalancer2.gd2
+usr/share/icinga/images/logos/equipment/loadbalancer2.gif
+usr/share/icinga/images/logos/equipment/loadbalancer2.png
+usr/share/icinga/images/logos/equipment/mainframe.gd2
+usr/share/icinga/images/logos/equipment/mainframe.gif
+usr/share/icinga/images/logos/equipment/modem.gd2
+usr/share/icinga/images/logos/equipment/modem.gif
+usr/share/icinga/images/logos/equipment/modem.png
+usr/share/icinga/images/logos/equipment/modem2.gd2
+usr/share/icinga/images/logos/equipment/modem2.gif
+usr/share/icinga/images/logos/equipment/modem2.png
+usr/share/icinga/images/logos/equipment/modem3.gd2
+usr/share/icinga/images/logos/equipment/modem3.gif
+usr/share/icinga/images/logos/equipment/modem3.png
+usr/share/icinga/images/logos/equipment/modem4.gd2
+usr/share/icinga/images/logos/equipment/modem4.gif
+usr/share/icinga/images/logos/equipment/modem4.png
+usr/share/icinga/images/logos/equipment/modem5.gd2
+usr/share/icinga/images/logos/equipment/modem5.gif
+usr/share/icinga/images/logos/equipment/modem5.png
+usr/share/icinga/images/logos/equipment/modem6.gd2
+usr/share/icinga/images/logos/equipment/modem6.gif
+usr/share/icinga/images/logos/equipment/modem6.png
+usr/share/icinga/images/logos/equipment/monitor.png
+usr/share/icinga/images/logos/equipment/monitoring.gd2
+usr/share/icinga/images/logos/equipment/monitoring.gif
+usr/share/icinga/images/logos/equipment/monitoring.png
+usr/share/icinga/images/logos/equipment/multimedia.gd2
+usr/share/icinga/images/logos/equipment/multimedia.gif
+usr/share/icinga/images/logos/equipment/multimedia.png
+usr/share/icinga/images/logos/equipment/multimedia2.gd2
+usr/share/icinga/images/logos/equipment/multimedia2.gif
+usr/share/icinga/images/logos/equipment/multimedia2.png
+usr/share/icinga/images/logos/equipment/multimedia3.gd2
+usr/share/icinga/images/logos/equipment/multimedia3.gif
+usr/share/icinga/images/logos/equipment/multimedia3.png
+usr/share/icinga/images/logos/equipment/mysql.gd2
+usr/share/icinga/images/logos/equipment/mysql.gif
+usr/share/icinga/images/logos/equipment/mysql.png
+usr/share/icinga/images/logos/equipment/mysql2.gd2
+usr/share/icinga/images/logos/equipment/mysql2.gif
+usr/share/icinga/images/logos/equipment/mysql2.png
+usr/share/icinga/images/logos/equipment/nas.gd2
+usr/share/icinga/images/logos/equipment/nas.gif
+usr/share/icinga/images/logos/equipment/nas.png
+usr/share/icinga/images/logos/equipment/nas2.gd2
+usr/share/icinga/images/logos/equipment/nas2.gif
+usr/share/icinga/images/logos/equipment/nas2.png
+usr/share/icinga/images/logos/equipment/nas3.gd2
+usr/share/icinga/images/logos/equipment/nas3.gif
+usr/share/icinga/images/logos/equipment/nas3.png
+usr/share/icinga/images/logos/equipment/nas4.gd2
+usr/share/icinga/images/logos/equipment/nas4.gif
+usr/share/icinga/images/logos/equipment/nas4.png
+usr/share/icinga/images/logos/equipment/nas_secured.gd2
+usr/share/icinga/images/logos/equipment/nas_secured.gif
+usr/share/icinga/images/logos/equipment/nas_secured.png
+usr/share/icinga/images/logos/equipment/network_node.gd2
+usr/share/icinga/images/logos/equipment/network_node.gif
+usr/share/icinga/images/logos/equipment/network_node.png
+usr/share/icinga/images/logos/equipment/news.gd2
+usr/share/icinga/images/logos/equipment/news.gif
+usr/share/icinga/images/logos/equipment/news.png
+usr/share/icinga/images/logos/equipment/news2.gd2
+usr/share/icinga/images/logos/equipment/news2.gif
+usr/share/icinga/images/logos/equipment/news2.png
+usr/share/icinga/images/logos/equipment/notebook.gd2
+usr/share/icinga/images/logos/equipment/notebook.gif
+usr/share/icinga/images/logos/equipment/office_app_server.gd2
+usr/share/icinga/images/logos/equipment/office_app_server.gif
+usr/share/icinga/images/logos/equipment/office_app_server.png
+usr/share/icinga/images/logos/equipment/outlook_remote.gd2
+usr/share/icinga/images/logos/equipment/outlook_remote.gif
+usr/share/icinga/images/logos/equipment/outlook_remote.png
+usr/share/icinga/images/logos/equipment/phone.gd2
+usr/share/icinga/images/logos/equipment/phone.gif
+usr/share/icinga/images/logos/equipment/phone.png
+usr/share/icinga/images/logos/equipment/phone2.gd2
+usr/share/icinga/images/logos/equipment/phone2.gif
+usr/share/icinga/images/logos/equipment/phone2.png
+usr/share/icinga/images/logos/equipment/print_server.gd2
+usr/share/icinga/images/logos/equipment/print_server.gif
+usr/share/icinga/images/logos/equipment/print_server.png
+usr/share/icinga/images/logos/equipment/printer.gd2
+usr/share/icinga/images/logos/equipment/printer.gif
+usr/share/icinga/images/logos/equipment/printer.png
+usr/share/icinga/images/logos/equipment/printer2.gd2
+usr/share/icinga/images/logos/equipment/printer2.gif
+usr/share/icinga/images/logos/equipment/printer2.png
+usr/share/icinga/images/logos/equipment/printer3.gd2
+usr/share/icinga/images/logos/equipment/printer3.gif
+usr/share/icinga/images/logos/equipment/printer3.png
+usr/share/icinga/images/logos/equipment/printer4.gd2
+usr/share/icinga/images/logos/equipment/printer4.gif
+usr/share/icinga/images/logos/equipment/proxy_server.gd2
+usr/share/icinga/images/logos/equipment/proxy_server.gif
+usr/share/icinga/images/logos/equipment/proxy_server.png
+usr/share/icinga/images/logos/equipment/rack-server.gd2
+usr/share/icinga/images/logos/equipment/rack-server.gif
+usr/share/icinga/images/logos/equipment/rack1.gd2
+usr/share/icinga/images/logos/equipment/rack1.gif
+usr/share/icinga/images/logos/equipment/rack1.png
+usr/share/icinga/images/logos/equipment/rack2.gd2
+usr/share/icinga/images/logos/equipment/rack2.gif
+usr/share/icinga/images/logos/equipment/rack2.png
+usr/share/icinga/images/logos/equipment/rack3.gd2
+usr/share/icinga/images/logos/equipment/rack3.gif
+usr/share/icinga/images/logos/equipment/rack3.png
+usr/share/icinga/images/logos/equipment/rack4.gd2
+usr/share/icinga/images/logos/equipment/rack4.gif
+usr/share/icinga/images/logos/equipment/rack4.png
+usr/share/icinga/images/logos/equipment/radiolink.gd2
+usr/share/icinga/images/logos/equipment/radiolink.gif
+usr/share/icinga/images/logos/equipment/radiolink.png
+usr/share/icinga/images/logos/equipment/raid_cluster.gd2
+usr/share/icinga/images/logos/equipment/raid_cluster.gif
+usr/share/icinga/images/logos/equipment/raid_cluster.png
+usr/share/icinga/images/logos/equipment/raid_cluster2.gd2
+usr/share/icinga/images/logos/equipment/raid_cluster2.gif
+usr/share/icinga/images/logos/equipment/raid_cluster2.png
+usr/share/icinga/images/logos/equipment/redundancy.gd2
+usr/share/icinga/images/logos/equipment/redundancy.gif
+usr/share/icinga/images/logos/equipment/redundancy.png
+usr/share/icinga/images/logos/equipment/redundancy2.gd2
+usr/share/icinga/images/logos/equipment/redundancy2.gif
+usr/share/icinga/images/logos/equipment/redundancy2.png
+usr/share/icinga/images/logos/equipment/remote_desktop.gd2
+usr/share/icinga/images/logos/equipment/remote_desktop.gif
+usr/share/icinga/images/logos/equipment/remote_desktop.png
+usr/share/icinga/images/logos/equipment/remote_desktop2.gd2
+usr/share/icinga/images/logos/equipment/remote_desktop2.gif
+usr/share/icinga/images/logos/equipment/remote_desktop2.png
+usr/share/icinga/images/logos/equipment/remote_installator.gd2
+usr/share/icinga/images/logos/equipment/remote_installator.gif
+usr/share/icinga/images/logos/equipment/remote_installator.png
+usr/share/icinga/images/logos/equipment/router.gd2
+usr/share/icinga/images/logos/equipment/router.gif
+usr/share/icinga/images/logos/equipment/router.png
+usr/share/icinga/images/logos/equipment/router2.gd2
+usr/share/icinga/images/logos/equipment/router2.gif
+usr/share/icinga/images/logos/equipment/san.gd2
+usr/share/icinga/images/logos/equipment/san.gif
+usr/share/icinga/images/logos/equipment/satellite.png
+usr/share/icinga/images/logos/equipment/satlink.gd2
+usr/share/icinga/images/logos/equipment/satlink.gif
+usr/share/icinga/images/logos/equipment/satlink.png
+usr/share/icinga/images/logos/equipment/satlink2.gd2
+usr/share/icinga/images/logos/equipment/satlink2.gif
+usr/share/icinga/images/logos/equipment/satlink2.png
+usr/share/icinga/images/logos/equipment/satlink3.gd2
+usr/share/icinga/images/logos/equipment/satlink3.gif
+usr/share/icinga/images/logos/equipment/satlink3.png
+usr/share/icinga/images/logos/equipment/scanner.gd2
+usr/share/icinga/images/logos/equipment/scanner.gif
+usr/share/icinga/images/logos/equipment/scanner.png
+usr/share/icinga/images/logos/equipment/screen.gd2
+usr/share/icinga/images/logos/equipment/screen.gif
+usr/share/icinga/images/logos/equipment/screen.png
+usr/share/icinga/images/logos/equipment/screen2.gd2
+usr/share/icinga/images/logos/equipment/screen2.gif
+usr/share/icinga/images/logos/equipment/screen2.png
+usr/share/icinga/images/logos/equipment/screen3.gd2
+usr/share/icinga/images/logos/equipment/screen3.gif
+usr/share/icinga/images/logos/equipment/screen3.png
+usr/share/icinga/images/logos/equipment/screen4.gd2
+usr/share/icinga/images/logos/equipment/screen4.gif
+usr/share/icinga/images/logos/equipment/screen4.png
+usr/share/icinga/images/logos/equipment/screen5.gd2
+usr/share/icinga/images/logos/equipment/screen5.gif
+usr/share/icinga/images/logos/equipment/screen5.png
+usr/share/icinga/images/logos/equipment/search_server.gd2
+usr/share/icinga/images/logos/equipment/search_server.gif
+usr/share/icinga/images/logos/equipment/search_server.png
+usr/share/icinga/images/logos/equipment/search_server2.gd2
+usr/share/icinga/images/logos/equipment/search_server2.gif
+usr/share/icinga/images/logos/equipment/search_server2.png
+usr/share/icinga/images/logos/equipment/search_server3.gd2
+usr/share/icinga/images/logos/equipment/search_server3.gif
+usr/share/icinga/images/logos/equipment/search_server3.png
+usr/share/icinga/images/logos/equipment/secure_server.gd2
+usr/share/icinga/images/logos/equipment/secure_server.gif
+usr/share/icinga/images/logos/equipment/secure_server.png
+usr/share/icinga/images/logos/equipment/security.gd2
+usr/share/icinga/images/logos/equipment/security.gif
+usr/share/icinga/images/logos/equipment/security.png
+usr/share/icinga/images/logos/equipment/security2.gd2
+usr/share/icinga/images/logos/equipment/security2.gif
+usr/share/icinga/images/logos/equipment/security2.png
+usr/share/icinga/images/logos/equipment/server.gd2
+usr/share/icinga/images/logos/equipment/server.gif
+usr/share/icinga/images/logos/equipment/server.png
+usr/share/icinga/images/logos/equipment/server2.gd2
+usr/share/icinga/images/logos/equipment/server2.gif
+usr/share/icinga/images/logos/equipment/server2.png
+usr/share/icinga/images/logos/equipment/server3.gd2
+usr/share/icinga/images/logos/equipment/server3.gif
+usr/share/icinga/images/logos/equipment/server3.png
+usr/share/icinga/images/logos/equipment/server4.gd2
+usr/share/icinga/images/logos/equipment/server4.gif
+usr/share/icinga/images/logos/equipment/server4.png
+usr/share/icinga/images/logos/equipment/shoutcast.gd2
+usr/share/icinga/images/logos/equipment/shoutcast.gif
+usr/share/icinga/images/logos/equipment/shoutcast.png
+usr/share/icinga/images/logos/equipment/shoutcast2.gd2
+usr/share/icinga/images/logos/equipment/shoutcast2.gif
+usr/share/icinga/images/logos/equipment/shoutcast2.png
+usr/share/icinga/images/logos/equipment/shoutcast3.gd2
+usr/share/icinga/images/logos/equipment/shoutcast3.gif
+usr/share/icinga/images/logos/equipment/shoutcast3.png
+usr/share/icinga/images/logos/equipment/signal.png
+usr/share/icinga/images/logos/equipment/soho.gd2
+usr/share/icinga/images/logos/equipment/soho.gif
+usr/share/icinga/images/logos/equipment/soho.png
+usr/share/icinga/images/logos/equipment/soho2.gd2
+usr/share/icinga/images/logos/equipment/soho2.gif
+usr/share/icinga/images/logos/equipment/soho2.png
+usr/share/icinga/images/logos/equipment/soho3.gd2
+usr/share/icinga/images/logos/equipment/soho3.gif
+usr/share/icinga/images/logos/equipment/soho3.png
+usr/share/icinga/images/logos/equipment/soho4.gd2
+usr/share/icinga/images/logos/equipment/soho4.gif
+usr/share/icinga/images/logos/equipment/soho4.png
+usr/share/icinga/images/logos/equipment/sql.gd2
+usr/share/icinga/images/logos/equipment/sql.gif
+usr/share/icinga/images/logos/equipment/sql.png
+usr/share/icinga/images/logos/equipment/sql2.gd2
+usr/share/icinga/images/logos/equipment/sql2.gif
+usr/share/icinga/images/logos/equipment/sql2.png
+usr/share/icinga/images/logos/equipment/sql3.gd2
+usr/share/icinga/images/logos/equipment/sql3.gif
+usr/share/icinga/images/logos/equipment/sql3.png
+usr/share/icinga/images/logos/equipment/sql4.gd2
+usr/share/icinga/images/logos/equipment/sql4.gif
+usr/share/icinga/images/logos/equipment/sql4.png
+usr/share/icinga/images/logos/equipment/ssh.gd2
+usr/share/icinga/images/logos/equipment/ssh.gif
+usr/share/icinga/images/logos/equipment/ssh.png
+usr/share/icinga/images/logos/equipment/ssh2.gd2
+usr/share/icinga/images/logos/equipment/ssh2.gif
+usr/share/icinga/images/logos/equipment/ssh2.png
+usr/share/icinga/images/logos/equipment/station.gd2
+usr/share/icinga/images/logos/equipment/storage.gd2
+usr/share/icinga/images/logos/equipment/storage.gif
+usr/share/icinga/images/logos/equipment/storage.png
+usr/share/icinga/images/logos/equipment/subnet.gd2
+usr/share/icinga/images/logos/equipment/subnet.gif
+usr/share/icinga/images/logos/equipment/subnet.png
+usr/share/icinga/images/logos/equipment/switch.gd2
+usr/share/icinga/images/logos/equipment/switch.gif
+usr/share/icinga/images/logos/equipment/switch.png
+usr/share/icinga/images/logos/equipment/switch2.gd2
+usr/share/icinga/images/logos/equipment/switch2.gif
+usr/share/icinga/images/logos/equipment/switch2.png
+usr/share/icinga/images/logos/equipment/switch3.gd2
+usr/share/icinga/images/logos/equipment/switch3.gif
+usr/share/icinga/images/logos/equipment/switch3.png
+usr/share/icinga/images/logos/equipment/switch4.gd2
+usr/share/icinga/images/logos/equipment/switch4.gif
+usr/share/icinga/images/logos/equipment/tablet.gd2
+usr/share/icinga/images/logos/equipment/tablet.gif
+usr/share/icinga/images/logos/equipment/tablet.png
+usr/share/icinga/images/logos/equipment/tablet2.gd2
+usr/share/icinga/images/logos/equipment/tablet2.gif
+usr/share/icinga/images/logos/equipment/tablet2.png
+usr/share/icinga/images/logos/equipment/thin-client.gd2
+usr/share/icinga/images/logos/equipment/thin-client.gif
+usr/share/icinga/images/logos/equipment/time_server.gd2
+usr/share/icinga/images/logos/equipment/time_server.gif
+usr/share/icinga/images/logos/equipment/time_server.png
+usr/share/icinga/images/logos/equipment/time_server2.gd2
+usr/share/icinga/images/logos/equipment/time_server2.gif
+usr/share/icinga/images/logos/equipment/time_server2.png
+usr/share/icinga/images/logos/equipment/time_server3.gd2
+usr/share/icinga/images/logos/equipment/time_server3.gif
+usr/share/icinga/images/logos/equipment/time_server3.png
+usr/share/icinga/images/logos/equipment/time_server4.gd2
+usr/share/icinga/images/logos/equipment/time_server4.gif
+usr/share/icinga/images/logos/equipment/time_server4.png
+usr/share/icinga/images/logos/equipment/time_server5.gd2
+usr/share/icinga/images/logos/equipment/time_server5.gif
+usr/share/icinga/images/logos/equipment/time_server5.png
+usr/share/icinga/images/logos/equipment/upload_server.gd2
+usr/share/icinga/images/logos/equipment/upload_server.gif
+usr/share/icinga/images/logos/equipment/upload_server.png
+usr/share/icinga/images/logos/equipment/video_server.gd2
+usr/share/icinga/images/logos/equipment/video_server.gif
+usr/share/icinga/images/logos/equipment/video_server.png
+usr/share/icinga/images/logos/equipment/video_server2.gd2
+usr/share/icinga/images/logos/equipment/video_server2.gif
+usr/share/icinga/images/logos/equipment/video_server2.png
+usr/share/icinga/images/logos/equipment/video_server3.gd2
+usr/share/icinga/images/logos/equipment/video_server3.gif
+usr/share/icinga/images/logos/equipment/video_server3.png
+usr/share/icinga/images/logos/equipment/video_server4.gd2
+usr/share/icinga/images/logos/equipment/video_server4.gif
+usr/share/icinga/images/logos/equipment/video_server4.png
+usr/share/icinga/images/logos/equipment/voip.gd2
+usr/share/icinga/images/logos/equipment/voip.gif
+usr/share/icinga/images/logos/equipment/voip.png
+usr/share/icinga/images/logos/equipment/voip2.gd2
+usr/share/icinga/images/logos/equipment/voip2.gif
+usr/share/icinga/images/logos/equipment/voip2.png
+usr/share/icinga/images/logos/equipment/voip_client.gd2
+usr/share/icinga/images/logos/equipment/voip_client.gif
+usr/share/icinga/images/logos/equipment/voip_client.png
+usr/share/icinga/images/logos/equipment/voip_client2.gd2
+usr/share/icinga/images/logos/equipment/voip_client2.gif
+usr/share/icinga/images/logos/equipment/voip_client2.png
+usr/share/icinga/images/logos/equipment/webcamera.png
+usr/share/icinga/images/logos/equipment/webmail.gd2
+usr/share/icinga/images/logos/equipment/webmail.gif
+usr/share/icinga/images/logos/equipment/webmail.png
+usr/share/icinga/images/logos/equipment/webmail2.gd2
+usr/share/icinga/images/logos/equipment/webmail2.gif
+usr/share/icinga/images/logos/equipment/webmail2.png
+usr/share/icinga/images/logos/equipment/wifi.gd2
+usr/share/icinga/images/logos/equipment/wifi.gif
+usr/share/icinga/images/logos/equipment/wifi.png
+usr/share/icinga/images/logos/equipment/wifi2.gd2
+usr/share/icinga/images/logos/equipment/wifi2.gif
+usr/share/icinga/images/logos/equipment/wifi2.png
+usr/share/icinga/images/logos/equipment/wifi3.gd2
+usr/share/icinga/images/logos/equipment/wifi3.gif
+usr/share/icinga/images/logos/equipment/wifi3.png
+usr/share/icinga/images/logos/equipment/wifi4.gd2
+usr/share/icinga/images/logos/equipment/wifi4.gif
+usr/share/icinga/images/logos/equipment/wifi4.png
+usr/share/icinga/images/logos/equipment/wifi5.gd2
+usr/share/icinga/images/logos/equipment/wifi5.gif
+usr/share/icinga/images/logos/equipment/wifi_bridge.gd2
+usr/share/icinga/images/logos/equipment/wifi_bridge.gif
+usr/share/icinga/images/logos/equipment/wifi_bridge.png
+usr/share/icinga/images/logos/equipment/wifi_modem.png
+usr/share/icinga/images/logos/equipment/workstation.gd2
+usr/share/icinga/images/logos/equipment/workstation.gif
+usr/share/icinga/images/logos/equipment/workstation.png
+usr/share/icinga/images/logos/equipment/workstation_locked.png
+usr/share/icinga/images/logos/equipment/www_server.gd2
+usr/share/icinga/images/logos/equipment/www_server.gif
+usr/share/icinga/images/logos/equipment/www_server.png
+usr/share/icinga/images/logos/hardware
+usr/share/icinga/images/logos/hardware/3ComSS2h500.gif
+usr/share/icinga/images/logos/hardware/3ComSS2h500.jpg
+usr/share/icinga/images/logos/hardware/3ComSS2h500.png
+usr/share/icinga/images/logos/hardware/3ComSS2h500p.gif
+usr/share/icinga/images/logos/hardware/3ComSS2h500p.jpg
+usr/share/icinga/images/logos/hardware/3ComSS2h500p.png
+usr/share/icinga/images/logos/hardware/3ComSS3s3300.gif
+usr/share/icinga/images/logos/hardware/3ComSS3s3300.jpg
+usr/share/icinga/images/logos/hardware/3ComSS3s3300.png
+usr/share/icinga/images/logos/hardware/3ComSS3s3300p.gif
+usr/share/icinga/images/logos/hardware/3ComSS3s3300p.jpg
+usr/share/icinga/images/logos/hardware/3ComSS3s3300p.png
+usr/share/icinga/images/logos/hardware/Brocade3800.gif
+usr/share/icinga/images/logos/hardware/Brocade3800.jpg
+usr/share/icinga/images/logos/hardware/Brocade3800.png
+usr/share/icinga/images/logos/hardware/Brocade3800p.gif
+usr/share/icinga/images/logos/hardware/Brocade3800p.jpg
+usr/share/icinga/images/logos/hardware/Brocade3800p.png
+usr/share/icinga/images/logos/hardware/Cisco1600.gif
+usr/share/icinga/images/logos/hardware/Cisco1600.jpg
+usr/share/icinga/images/logos/hardware/Cisco1600.png
+usr/share/icinga/images/logos/hardware/Cisco1600p.gif
+usr/share/icinga/images/logos/hardware/Cisco1600p.jpg
+usr/share/icinga/images/logos/hardware/Cisco1600p.png
+usr/share/icinga/images/logos/hardware/Cisco1720.gif
+usr/share/icinga/images/logos/hardware/Cisco1720.jpg
+usr/share/icinga/images/logos/hardware/Cisco1720.png
+usr/share/icinga/images/logos/hardware/Cisco1720p.gif
+usr/share/icinga/images/logos/hardware/Cisco1720p.jpg
+usr/share/icinga/images/logos/hardware/Cisco1720p.png
+usr/share/icinga/images/logos/hardware/Cisco2500.gif
+usr/share/icinga/images/logos/hardware/Cisco2500.jpg
+usr/share/icinga/images/logos/hardware/Cisco2500.png
+usr/share/icinga/images/logos/hardware/Cisco2500p.gif
+usr/share/icinga/images/logos/hardware/Cisco2500p.jpg
+usr/share/icinga/images/logos/hardware/Cisco2500p.png
+usr/share/icinga/images/logos/hardware/Cisco2600.gif
+usr/share/icinga/images/logos/hardware/Cisco2600.jpg
+usr/share/icinga/images/logos/hardware/Cisco2600.png
+usr/share/icinga/images/logos/hardware/Cisco2600p.gd2
+usr/share/icinga/images/logos/hardware/Cisco2600p.gif
+usr/share/icinga/images/logos/hardware/Cisco2600p.jpg
+usr/share/icinga/images/logos/hardware/Cisco2600p.png
+usr/share/icinga/images/logos/hardware/Cisco4500.gif
+usr/share/icinga/images/logos/hardware/Cisco4500.jpg
+usr/share/icinga/images/logos/hardware/Cisco4500.png
+usr/share/icinga/images/logos/hardware/Cisco4500p.gif
+usr/share/icinga/images/logos/hardware/Cisco4500p.jpg
+usr/share/icinga/images/logos/hardware/Cisco4500p.png
+usr/share/icinga/images/logos/hardware/ClariionFC4700.gif
+usr/share/icinga/images/logos/hardware/ClariionFC4700.jpg
+usr/share/icinga/images/logos/hardware/ClariionFC4700.png
+usr/share/icinga/images/logos/hardware/ClariionFC4700p.gif
+usr/share/icinga/images/logos/hardware/ClariionFC4700p.jpg
+usr/share/icinga/images/logos/hardware/ClariionFC4700p.png
+usr/share/icinga/images/logos/hardware/Compaq_EXD.gif
+usr/share/icinga/images/logos/hardware/Compaq_EXD.jpg
+usr/share/icinga/images/logos/hardware/Compaq_EXD.png
+usr/share/icinga/images/logos/hardware/Compaq_EXDs.gif
+usr/share/icinga/images/logos/hardware/Compaq_EXDs.jpg
+usr/share/icinga/images/logos/hardware/Compaq_EXDs.png
+usr/share/icinga/images/logos/hardware/Compaq_Pro_1600.gif
+usr/share/icinga/images/logos/hardware/Compaq_Pro_1600.jpg
+usr/share/icinga/images/logos/hardware/Compaq_Pro_1600.png
+usr/share/icinga/images/logos/hardware/Compaq_Pro_1600p.gif
+usr/share/icinga/images/logos/hardware/Compaq_Pro_1600p.jpg
+usr/share/icinga/images/logos/hardware/Compaq_Pro_1600p.png
+usr/share/icinga/images/logos/hardware/Compaq_Pro_5500.gif
+usr/share/icinga/images/logos/hardware/Compaq_Pro_5500.jpg
+usr/share/icinga/images/logos/hardware/Compaq_Pro_5500.png
+usr/share/icinga/images/logos/hardware/Compaq_Pro_5500p.gif
+usr/share/icinga/images/logos/hardware/Compaq_Pro_5500p.jpg
+usr/share/icinga/images/logos/hardware/Compaq_Pro_5500p.png
+usr/share/icinga/images/logos/hardware/Compaq_pc_EXD.gif
+usr/share/icinga/images/logos/hardware/Compaq_pc_EXD.jpg
+usr/share/icinga/images/logos/hardware/Compaq_pc_EXD.png
+usr/share/icinga/images/logos/hardware/Compaq_pc_EXDp.gif
+usr/share/icinga/images/logos/hardware/Compaq_pc_EXDp.jpg
+usr/share/icinga/images/logos/hardware/Compaq_pc_EXDp.png
+usr/share/icinga/images/logos/hardware/Dell_1650.gif
+usr/share/icinga/images/logos/hardware/Dell_1650.jpg
+usr/share/icinga/images/logos/hardware/Dell_1650.png
+usr/share/icinga/images/logos/hardware/Dell_1650p.gif
+usr/share/icinga/images/logos/hardware/Dell_1650p.jpg
+usr/share/icinga/images/logos/hardware/Dell_1650p.png
+usr/share/icinga/images/logos/hardware/HPdj2200.gif
+usr/share/icinga/images/logos/hardware/HPdj2200.jpg
+usr/share/icinga/images/logos/hardware/HPdj2200.png
+usr/share/icinga/images/logos/hardware/HPdj2200p.gif
+usr/share/icinga/images/logos/hardware/HPdj2200p.jpg
+usr/share/icinga/images/logos/hardware/HPdj2200p.png
+usr/share/icinga/images/logos/hardware/HPdj2500.gif
+usr/share/icinga/images/logos/hardware/HPdj2500.jpg
+usr/share/icinga/images/logos/hardware/HPdj2500.png
+usr/share/icinga/images/logos/hardware/HPdj2500p.gif
+usr/share/icinga/images/logos/hardware/HPdj2500p.jpg
+usr/share/icinga/images/logos/hardware/HPdj2500p.png
+usr/share/icinga/images/logos/hardware/HPlj4550.gif
+usr/share/icinga/images/logos/hardware/HPlj4550.jpg
+usr/share/icinga/images/logos/hardware/HPlj4550.png
+usr/share/icinga/images/logos/hardware/HPlj4550p.gif
+usr/share/icinga/images/logos/hardware/HPlj4550p.jpg
+usr/share/icinga/images/logos/hardware/HPlj4550p.png
+usr/share/icinga/images/logos/hardware/HPlj5000.gif
+usr/share/icinga/images/logos/hardware/HPlj5000.jpg
+usr/share/icinga/images/logos/hardware/HPlj5000.png
+usr/share/icinga/images/logos/hardware/HPlj5000p.gif
+usr/share/icinga/images/logos/hardware/HPlj5000p.jpg
+usr/share/icinga/images/logos/hardware/HPlj5000p.png
+usr/share/icinga/images/logos/hardware/HPlj8500.gif
+usr/share/icinga/images/logos/hardware/HPlj8500.jpg
+usr/share/icinga/images/logos/hardware/HPlj8500.png
+usr/share/icinga/images/logos/hardware/HPlj8500p.gif
+usr/share/icinga/images/logos/hardware/HPlj8500p.jpg
+usr/share/icinga/images/logos/hardware/HPlj8500p.png
+usr/share/icinga/images/logos/hardware/HPvectraXe320.gif
+usr/share/icinga/images/logos/hardware/HPvectraXe320.jpg
+usr/share/icinga/images/logos/hardware/HPvectraXe320.png
+usr/share/icinga/images/logos/hardware/HPvectraXe320p.gif
+usr/share/icinga/images/logos/hardware/HPvectraXe320p.jpg
+usr/share/icinga/images/logos/hardware/HPvectraXe320p.png
+usr/share/icinga/images/logos/hardware/Nokia_IP440.gif
+usr/share/icinga/images/logos/hardware/Nokia_IP440.jpg
+usr/share/icinga/images/logos/hardware/Nokia_IP440.png
+usr/share/icinga/images/logos/hardware/Nokia_IP440p.gif
+usr/share/icinga/images/logos/hardware/Nokia_IP440p.jpg
+usr/share/icinga/images/logos/hardware/Nokia_IP440p.png
+usr/share/icinga/images/logos/hardware/OptraC710.gif
+usr/share/icinga/images/logos/hardware/OptraC710.jpg
+usr/share/icinga/images/logos/hardware/OptraC710.png
+usr/share/icinga/images/logos/hardware/OptraC710p.gif
+usr/share/icinga/images/logos/hardware/OptraC710p.jpg
+usr/share/icinga/images/logos/hardware/OptraC710p.png
+usr/share/icinga/images/logos/hardware/OptraC750.gif
+usr/share/icinga/images/logos/hardware/OptraC750.jpg
+usr/share/icinga/images/logos/hardware/OptraC750.png
+usr/share/icinga/images/logos/hardware/OptraC750p.gif
+usr/share/icinga/images/logos/hardware/OptraC750p.jpg
+usr/share/icinga/images/logos/hardware/OptraC750p.png
+usr/share/icinga/images/logos/hardware/SunE450.gif
+usr/share/icinga/images/logos/hardware/SunE450.jpg
+usr/share/icinga/images/logos/hardware/SunE450.png
+usr/share/icinga/images/logos/hardware/SunE4500.gif
+usr/share/icinga/images/logos/hardware/SunE4500.jpg
+usr/share/icinga/images/logos/hardware/SunE4500.png
+usr/share/icinga/images/logos/hardware/SunE4500p.gif
+usr/share/icinga/images/logos/hardware/SunE4500p.jpg
+usr/share/icinga/images/logos/hardware/SunE4500p.png
+usr/share/icinga/images/logos/hardware/SunE450p.gif
+usr/share/icinga/images/logos/hardware/SunE450p.jpg
+usr/share/icinga/images/logos/hardware/SunE450p.png
+usr/share/icinga/images/logos/hardware/SunU5.gif
+usr/share/icinga/images/logos/hardware/SunU5.jpg
+usr/share/icinga/images/logos/hardware/SunU5.png
+usr/share/icinga/images/logos/hardware/SunU5p.gif
+usr/share/icinga/images/logos/hardware/SunU5p.jpg
+usr/share/icinga/images/logos/hardware/SunU5p.png
+usr/share/icinga/images/logos/hardware/SunV880.gif
+usr/share/icinga/images/logos/hardware/SunV880.jpg
+usr/share/icinga/images/logos/hardware/SunV880.png
+usr/share/icinga/images/logos/hardware/SunV880p.gif
+usr/share/icinga/images/logos/hardware/SunV880p.jpg
+usr/share/icinga/images/logos/hardware/SunV880p.png
+usr/share/icinga/images/logos/hardware/TCEricoh1015.gif
+usr/share/icinga/images/logos/hardware/TCEricoh1015.jpg
+usr/share/icinga/images/logos/hardware/TCEricoh1015.png
+usr/share/icinga/images/logos/hardware/TCEricoh1015p.gif
+usr/share/icinga/images/logos/hardware/TCEricoh1015p.jpg
+usr/share/icinga/images/logos/hardware/TCEricoh1015p.png
+usr/share/icinga/images/logos/hardware/Tektronix750.gif
+usr/share/icinga/images/logos/hardware/Tektronix750.jpg
+usr/share/icinga/images/logos/hardware/Tektronix750.png
+usr/share/icinga/images/logos/hardware/Tektronix750p.gif
+usr/share/icinga/images/logos/hardware/Tektronix750p.jpg
+usr/share/icinga/images/logos/hardware/Tektronix750p.png
+usr/share/icinga/images/logos/hardware/airo350.gd2
+usr/share/icinga/images/logos/hardware/airo350.gif
+usr/share/icinga/images/logos/hardware/airo350.jpg
+usr/share/icinga/images/logos/hardware/airo350.png
+usr/share/icinga/images/logos/hardware/cat1900.gd2
+usr/share/icinga/images/logos/hardware/cat2900.gd2
+usr/share/icinga/images/logos/hardware/cat3500.gd2
+usr/share/icinga/images/logos/hardware/cat3500.gif
+usr/share/icinga/images/logos/hardware/cat3500.jpg
+usr/share/icinga/images/logos/hardware/cat3500.png
+usr/share/icinga/images/logos/hardware/cat5000.gd2
+usr/share/icinga/images/logos/hardware/codin9000.gif
+usr/share/icinga/images/logos/hardware/codin9000.jpg
+usr/share/icinga/images/logos/hardware/codin9000.png
+usr/share/icinga/images/logos/hardware/codin9000p.gif
+usr/share/icinga/images/logos/hardware/codin9000p.jpg
+usr/share/icinga/images/logos/hardware/codin9000p.png
+usr/share/icinga/images/logos/hardware/hp-printer40.gd2
+usr/share/icinga/images/logos/hardware/hp-printer40.gif
+usr/share/icinga/images/logos/hardware/hp-printer40.jpg
+usr/share/icinga/images/logos/hardware/hp-printer40.png
+usr/share/icinga/images/logos/hardware/hp5000.gif
+usr/share/icinga/images/logos/hardware/hp5000.jpg
+usr/share/icinga/images/logos/hardware/hp5000.png
+usr/share/icinga/images/logos/hardware/ng-switch40.gd2
+usr/share/icinga/images/logos/hardware/ng-switch40.gif
+usr/share/icinga/images/logos/hardware/ng-switch40.jpg
+usr/share/icinga/images/logos/hardware/ng-switch40.png
+usr/share/icinga/images/logos/hardware/router40.gd2
+usr/share/icinga/images/logos/hardware/router40.gif
+usr/share/icinga/images/logos/hardware/router40.jpg
+usr/share/icinga/images/logos/hardware/router40.png
+usr/share/icinga/images/logos/hardware/server.png
+usr/share/icinga/images/logos/hardware/switch40.gd2
+usr/share/icinga/images/logos/hardware/switch40.gif
+usr/share/icinga/images/logos/hardware/switch40.jpg
+usr/share/icinga/images/logos/hardware/switch40.png
+usr/share/icinga/images/logos/icinga.gd2
+usr/share/icinga/images/logos/icinga.gif
+usr/share/icinga/images/logos/icingavrml.png
+usr/share/icinga/images/logos/other
+usr/share/icinga/images/logos/other/1.gd2
+usr/share/icinga/images/logos/other/1.gif
+usr/share/icinga/images/logos/other/1.png
+usr/share/icinga/images/logos/other/2.gd2
+usr/share/icinga/images/logos/other/2.gif
+usr/share/icinga/images/logos/other/2.png
+usr/share/icinga/images/logos/other/3.gd2
+usr/share/icinga/images/logos/other/3.gif
+usr/share/icinga/images/logos/other/3.png
+usr/share/icinga/images/logos/other/4.gd2
+usr/share/icinga/images/logos/other/4.gif
+usr/share/icinga/images/logos/other/4.png
+usr/share/icinga/images/logos/other/5.gd2
+usr/share/icinga/images/logos/other/5.gif
+usr/share/icinga/images/logos/other/5.png
+usr/share/icinga/images/logos/other/bluetooth.png
+usr/share/icinga/images/logos/other/burst.gd2
+usr/share/icinga/images/logos/other/burst.gif
+usr/share/icinga/images/logos/other/burst.png
+usr/share/icinga/images/logos/other/community.gd2
+usr/share/icinga/images/logos/other/community.gif
+usr/share/icinga/images/logos/other/community.png
+usr/share/icinga/images/logos/other/community2.gd2
+usr/share/icinga/images/logos/other/community2.gif
+usr/share/icinga/images/logos/other/community2.png
+usr/share/icinga/images/logos/other/crashed_node.gd2
+usr/share/icinga/images/logos/other/crashed_node.gif
+usr/share/icinga/images/logos/other/crashed_node.png
+usr/share/icinga/images/logos/other/exchange.gd2
+usr/share/icinga/images/logos/other/exchange.gif
+usr/share/icinga/images/logos/other/exchange.png
+usr/share/icinga/images/logos/other/eye.gd2
+usr/share/icinga/images/logos/other/eye.gif
+usr/share/icinga/images/logos/other/eye.png
+usr/share/icinga/images/logos/other/flow.gd2
+usr/share/icinga/images/logos/other/flow.gif
+usr/share/icinga/images/logos/other/flow.png
+usr/share/icinga/images/logos/other/garbage_collection.gd2
+usr/share/icinga/images/logos/other/garbage_collection.gif
+usr/share/icinga/images/logos/other/garbage_collection.png
+usr/share/icinga/images/logos/other/globe.gd2
+usr/share/icinga/images/logos/other/globe.gif
+usr/share/icinga/images/logos/other/globe.png
+usr/share/icinga/images/logos/other/globe2.gd2
+usr/share/icinga/images/logos/other/globe2.gif
+usr/share/icinga/images/logos/other/globe2.png
+usr/share/icinga/images/logos/other/globe3.gd2
+usr/share/icinga/images/logos/other/globe3.gif
+usr/share/icinga/images/logos/other/globe3.png
+usr/share/icinga/images/logos/other/globe4.gd2
+usr/share/icinga/images/logos/other/globe4.gif
+usr/share/icinga/images/logos/other/globe4.png
+usr/share/icinga/images/logos/other/globe5.gd2
+usr/share/icinga/images/logos/other/globe5.gif
+usr/share/icinga/images/logos/other/globe5.png
+usr/share/icinga/images/logos/other/globe6.png
+usr/share/icinga/images/logos/other/happy_user.gd2
+usr/share/icinga/images/logos/other/happy_user.gif
+usr/share/icinga/images/logos/other/happy_user.png
+usr/share/icinga/images/logos/other/heartbeat.gd2
+usr/share/icinga/images/logos/other/heartbeat.gif
+usr/share/icinga/images/logos/other/heartbeat.png
+usr/share/icinga/images/logos/other/heartbeat2.gd2
+usr/share/icinga/images/logos/other/heartbeat2.gif
+usr/share/icinga/images/logos/other/heartbeat2.png
+usr/share/icinga/images/logos/other/home.gd2
+usr/share/icinga/images/logos/other/home.gif
+usr/share/icinga/images/logos/other/home.png
+usr/share/icinga/images/logos/other/home2.gd2
+usr/share/icinga/images/logos/other/home2.gif
+usr/share/icinga/images/logos/other/home2.png
+usr/share/icinga/images/logos/other/hotspot.gd2
+usr/share/icinga/images/logos/other/hotspot.gif
+usr/share/icinga/images/logos/other/hotspot.png
+usr/share/icinga/images/logos/other/information.gd2
+usr/share/icinga/images/logos/other/information.gif
+usr/share/icinga/images/logos/other/information.png
+usr/share/icinga/images/logos/other/interconnect.gd2
+usr/share/icinga/images/logos/other/interconnect.gif
+usr/share/icinga/images/logos/other/interconnect.png
+usr/share/icinga/images/logos/other/internet.gd2
+usr/share/icinga/images/logos/other/internet.gif
+usr/share/icinga/images/logos/other/internet_route.gd2
+usr/share/icinga/images/logos/other/internet_route.gif
+usr/share/icinga/images/logos/other/internet_route.png
+usr/share/icinga/images/logos/other/internet_route2.gd2
+usr/share/icinga/images/logos/other/internet_route2.gif
+usr/share/icinga/images/logos/other/internet_route2.png
+usr/share/icinga/images/logos/other/intrusion.gd2
+usr/share/icinga/images/logos/other/intrusion.gif
+usr/share/icinga/images/logos/other/intrusion.png
+usr/share/icinga/images/logos/other/long_distance.gd2
+usr/share/icinga/images/logos/other/long_distance.gif
+usr/share/icinga/images/logos/other/long_distance.png
+usr/share/icinga/images/logos/other/measurement.gd2
+usr/share/icinga/images/logos/other/measurement.gif
+usr/share/icinga/images/logos/other/measurement.png
+usr/share/icinga/images/logos/other/node.gd2
+usr/share/icinga/images/logos/other/node.gif
+usr/share/icinga/images/logos/other/node.png
+usr/share/icinga/images/logos/other/remote.gd2
+usr/share/icinga/images/logos/other/remote.gif
+usr/share/icinga/images/logos/other/remote.png
+usr/share/icinga/images/logos/other/scripting.gd2
+usr/share/icinga/images/logos/other/scripting.gif
+usr/share/icinga/images/logos/other/scripting.png
+usr/share/icinga/images/logos/other/slice.gd2
+usr/share/icinga/images/logos/other/slice.gif
+usr/share/icinga/images/logos/other/slice.png
+usr/share/icinga/images/logos/other/snag.gd2
+usr/share/icinga/images/logos/other/snag.gif
+usr/share/icinga/images/logos/other/snag.png
+usr/share/icinga/images/logos/other/star.gd2
+usr/share/icinga/images/logos/other/star.gif
+usr/share/icinga/images/logos/other/star.png
+usr/share/icinga/images/logos/other/tag1.gd2
+usr/share/icinga/images/logos/other/tag1.gif
+usr/share/icinga/images/logos/other/tag1.png
+usr/share/icinga/images/logos/other/tag2.gd2
+usr/share/icinga/images/logos/other/tag2.gif
+usr/share/icinga/images/logos/other/tag2.png
+usr/share/icinga/images/logos/other/tag3.gd2
+usr/share/icinga/images/logos/other/tag3.gif
+usr/share/icinga/images/logos/other/tag3.png
+usr/share/icinga/images/logos/other/tag4.gd2
+usr/share/icinga/images/logos/other/tag4.gif
+usr/share/icinga/images/logos/other/tag4.png
+usr/share/icinga/images/logos/other/tokens.gd2
+usr/share/icinga/images/logos/other/tokens.gif
+usr/share/icinga/images/logos/other/tokens.png
+usr/share/icinga/images/logos/other/trusted.gd2
+usr/share/icinga/images/logos/other/trusted.gif
+usr/share/icinga/images/logos/other/trusted.png
+usr/share/icinga/images/logos/other/untrusted.gd2
+usr/share/icinga/images/logos/other/untrusted.gif
+usr/share/icinga/images/logos/other/untrusted.png
+usr/share/icinga/images/logos/other/uplink.gd2
+usr/share/icinga/images/logos/other/uplink.gif
+usr/share/icinga/images/logos/other/uplink.png
+usr/share/icinga/images/logos/other/user.gd2
+usr/share/icinga/images/logos/other/user.gif
+usr/share/icinga/images/logos/other/user.png
+usr/share/icinga/images/logos/other/user2.gd2
+usr/share/icinga/images/logos/other/user2.gif
+usr/share/icinga/images/logos/other/user2.png
+usr/share/icinga/images/logos/other/user3.gd2
+usr/share/icinga/images/logos/other/user3.gif
+usr/share/icinga/images/logos/other/user3.png
+usr/share/icinga/images/logos/other/utils.gd2
+usr/share/icinga/images/logos/other/utils.gif
+usr/share/icinga/images/logos/other/utils.png
+usr/share/icinga/images/logos/other/utils2.gd2
+usr/share/icinga/images/logos/other/utils2.gif
+usr/share/icinga/images/logos/other/utils2.png
+usr/share/icinga/images/logos/other/utils3.gd2
+usr/share/icinga/images/logos/other/utils3.gif
+usr/share/icinga/images/logos/other/utils3.png
+usr/share/icinga/images/logos/other/warning.gd2
+usr/share/icinga/images/logos/other/warning.gif
+usr/share/icinga/images/logos/other/warning.png
+usr/share/icinga/images/logos/other/warning2.gd2
+usr/share/icinga/images/logos/other/warning2.gif
+usr/share/icinga/images/logos/other/warning2.png
+usr/share/icinga/images/logos/other/whirl.gd2
+usr/share/icinga/images/logos/other/whirl.gif
+usr/share/icinga/images/logos/other/whirl.png
+usr/share/icinga/images/logos/printer.png
+usr/share/icinga/images/logos/router.png
+usr/share/icinga/images/logos/s.gif
+usr/share/icinga/images/logos/switch.png
+usr/share/icinga/images/logos/unknown.gd2
+usr/share/icinga/images/logos/unknown.gif
+usr/share/icinga/images/logos/vendors
+usr/share/icinga/images/logos/vendors/3com.gd2
+usr/share/icinga/images/logos/vendors/3com.gif
+usr/share/icinga/images/logos/vendors/3com.png
+usr/share/icinga/images/logos/vendors/3com2.gd2
+usr/share/icinga/images/logos/vendors/3com2.gif
+usr/share/icinga/images/logos/vendors/3com2.png
+usr/share/icinga/images/logos/vendors/9lives.gd2
+usr/share/icinga/images/logos/vendors/9lives.jpg
+usr/share/icinga/images/logos/vendors/9lives.png
+usr/share/icinga/images/logos/vendors/LVS.gif
+usr/share/icinga/images/logos/vendors/LVS.jpg
+usr/share/icinga/images/logos/vendors/LVS.png
+usr/share/icinga/images/logos/vendors/LVSp.gif
+usr/share/icinga/images/logos/vendors/LVSp.jpg
+usr/share/icinga/images/logos/vendors/LVSp.png
+usr/share/icinga/images/logos/vendors/UT-icon.png
+usr/share/icinga/images/logos/vendors/acer.gd2
+usr/share/icinga/images/logos/vendors/acer.gif
+usr/share/icinga/images/logos/vendors/acer.png
+usr/share/icinga/images/logos/vendors/adobe.gd2
+usr/share/icinga/images/logos/vendors/adobe.gif
+usr/share/icinga/images/logos/vendors/adobe.png
+usr/share/icinga/images/logos/vendors/adobe2.gd2
+usr/share/icinga/images/logos/vendors/adobe2.gif
+usr/share/icinga/images/logos/vendors/adobe2.png
+usr/share/icinga/images/logos/vendors/agilent.gd2
+usr/share/icinga/images/logos/vendors/agilent.gif
+usr/share/icinga/images/logos/vendors/agilent.png
+usr/share/icinga/images/logos/vendors/aix.gd2
+usr/share/icinga/images/logos/vendors/aix.gif
+usr/share/icinga/images/logos/vendors/aix.png
+usr/share/icinga/images/logos/vendors/aix2.gd2
+usr/share/icinga/images/logos/vendors/aix2.gif
+usr/share/icinga/images/logos/vendors/aix2.jpg
+usr/share/icinga/images/logos/vendors/aix2.png
+usr/share/icinga/images/logos/vendors/alcatel.gd2
+usr/share/icinga/images/logos/vendors/alcatel.gif
+usr/share/icinga/images/logos/vendors/alcatel.png
+usr/share/icinga/images/logos/vendors/allied.gd2
+usr/share/icinga/images/logos/vendors/allied.gif
+usr/share/icinga/images/logos/vendors/allied.png
+usr/share/icinga/images/logos/vendors/amd.gd2
+usr/share/icinga/images/logos/vendors/amd.gif
+usr/share/icinga/images/logos/vendors/amd.png
+usr/share/icinga/images/logos/vendors/amd2.gd2
+usr/share/icinga/images/logos/vendors/amd2.gif
+usr/share/icinga/images/logos/vendors/amd2.png
+usr/share/icinga/images/logos/vendors/amiga.gd2
+usr/share/icinga/images/logos/vendors/amiga.gif
+usr/share/icinga/images/logos/vendors/amiga.png
+usr/share/icinga/images/logos/vendors/amiga2.gd2
+usr/share/icinga/images/logos/vendors/amiga2.gif
+usr/share/icinga/images/logos/vendors/amiga2.jpg
+usr/share/icinga/images/logos/vendors/amiga2.png
+usr/share/icinga/images/logos/vendors/amstrad.gd2
+usr/share/icinga/images/logos/vendors/amstrad.gif
+usr/share/icinga/images/logos/vendors/amstrad.png
+usr/share/icinga/images/logos/vendors/apache.gd2
+usr/share/icinga/images/logos/vendors/apache.gif
+usr/share/icinga/images/logos/vendors/apache.png
+usr/share/icinga/images/logos/vendors/apc.gd2
+usr/share/icinga/images/logos/vendors/apc.gif
+usr/share/icinga/images/logos/vendors/apc.png
+usr/share/icinga/images/logos/vendors/apple.gd2
+usr/share/icinga/images/logos/vendors/apple.gif
+usr/share/icinga/images/logos/vendors/apple.png
+usr/share/icinga/images/logos/vendors/apple2.gd2
+usr/share/icinga/images/logos/vendors/apple2.gif
+usr/share/icinga/images/logos/vendors/apple2.png
+usr/share/icinga/images/logos/vendors/apple3.gd2
+usr/share/icinga/images/logos/vendors/apple3.gif
+usr/share/icinga/images/logos/vendors/apple3.png
+usr/share/icinga/images/logos/vendors/apple4.gd2
+usr/share/icinga/images/logos/vendors/apple4.gif
+usr/share/icinga/images/logos/vendors/apple4.jpg
+usr/share/icinga/images/logos/vendors/apple4.png
+usr/share/icinga/images/logos/vendors/asmax.gd2
+usr/share/icinga/images/logos/vendors/asmax.gif
+usr/share/icinga/images/logos/vendors/asmax.png
+usr/share/icinga/images/logos/vendors/asterisk.gd2
+usr/share/icinga/images/logos/vendors/asterisk.gif
+usr/share/icinga/images/logos/vendors/asterisk.png
+usr/share/icinga/images/logos/vendors/asus.gd2
+usr/share/icinga/images/logos/vendors/asus.gif
+usr/share/icinga/images/logos/vendors/asus.png
+usr/share/icinga/images/logos/vendors/atandt.gd2
+usr/share/icinga/images/logos/vendors/atandt.gif
+usr/share/icinga/images/logos/vendors/atandt.png
+usr/share/icinga/images/logos/vendors/atari.gd2
+usr/share/icinga/images/logos/vendors/atari.gif
+usr/share/icinga/images/logos/vendors/atari.png
+usr/share/icinga/images/logos/vendors/benq.gd2
+usr/share/icinga/images/logos/vendors/benq.gif
+usr/share/icinga/images/logos/vendors/benq.png
+usr/share/icinga/images/logos/vendors/beos.gd2
+usr/share/icinga/images/logos/vendors/beos.gif
+usr/share/icinga/images/logos/vendors/beos.jpg
+usr/share/icinga/images/logos/vendors/beos.png
+usr/share/icinga/images/logos/vendors/bosch.gd2
+usr/share/icinga/images/logos/vendors/bosch.gif
+usr/share/icinga/images/logos/vendors/bosch.png
+usr/share/icinga/images/logos/vendors/bosch2.gd2
+usr/share/icinga/images/logos/vendors/bosch2.gif
+usr/share/icinga/images/logos/vendors/bosch2.png
+usr/share/icinga/images/logos/vendors/broadcom.gd2
+usr/share/icinga/images/logos/vendors/broadcom.gif
+usr/share/icinga/images/logos/vendors/broadcom.png
+usr/share/icinga/images/logos/vendors/caldera.gd2
+usr/share/icinga/images/logos/vendors/caldera.gif
+usr/share/icinga/images/logos/vendors/caldera.jpg
+usr/share/icinga/images/logos/vendors/caldera.png
+usr/share/icinga/images/logos/vendors/canon.gd2
+usr/share/icinga/images/logos/vendors/canon.gif
+usr/share/icinga/images/logos/vendors/canon.png
+usr/share/icinga/images/logos/vendors/canyon.gd2
+usr/share/icinga/images/logos/vendors/canyon.gif
+usr/share/icinga/images/logos/vendors/canyon.png
+usr/share/icinga/images/logos/vendors/centos.gd2
+usr/share/icinga/images/logos/vendors/centos.gif
+usr/share/icinga/images/logos/vendors/centos.png
+usr/share/icinga/images/logos/vendors/centos2.gd2
+usr/share/icinga/images/logos/vendors/centos2.png
+usr/share/icinga/images/logos/vendors/cisco.gd2
+usr/share/icinga/images/logos/vendors/cisco.gif
+usr/share/icinga/images/logos/vendors/cisco.png
+usr/share/icinga/images/logos/vendors/cisco2.gd2
+usr/share/icinga/images/logos/vendors/cisco2.gif
+usr/share/icinga/images/logos/vendors/cisco2.png
+usr/share/icinga/images/logos/vendors/cisco3.gd2
+usr/share/icinga/images/logos/vendors/cisco3.gif
+usr/share/icinga/images/logos/vendors/cisco3.png
+usr/share/icinga/images/logos/vendors/citrix.gd2
+usr/share/icinga/images/logos/vendors/citrix.gif
+usr/share/icinga/images/logos/vendors/citrix.png
+usr/share/icinga/images/logos/vendors/citrix2.gd2
+usr/share/icinga/images/logos/vendors/citrix2.gif
+usr/share/icinga/images/logos/vendors/citrix2.jpg
+usr/share/icinga/images/logos/vendors/citrix2.png
+usr/share/icinga/images/logos/vendors/commodore.gd2
+usr/share/icinga/images/logos/vendors/commodore.gif
+usr/share/icinga/images/logos/vendors/commodore.png
+usr/share/icinga/images/logos/vendors/compaq.gd2
+usr/share/icinga/images/logos/vendors/compaq.gif
+usr/share/icinga/images/logos/vendors/compaq.png
+usr/share/icinga/images/logos/vendors/conexant.gd2
+usr/share/icinga/images/logos/vendors/conexant.gif
+usr/share/icinga/images/logos/vendors/conexant.png
+usr/share/icinga/images/logos/vendors/dbase.gd2
+usr/share/icinga/images/logos/vendors/dbase.gif
+usr/share/icinga/images/logos/vendors/dbase.png
+usr/share/icinga/images/logos/vendors/debian.gd2
+usr/share/icinga/images/logos/vendors/debian.gif
+usr/share/icinga/images/logos/vendors/debian.png
+usr/share/icinga/images/logos/vendors/debian2.gd2
+usr/share/icinga/images/logos/vendors/debian2.gif
+usr/share/icinga/images/logos/vendors/debian2.jpg
+usr/share/icinga/images/logos/vendors/debian2.png
+usr/share/icinga/images/logos/vendors/dell.gd2
+usr/share/icinga/images/logos/vendors/dell.gif
+usr/share/icinga/images/logos/vendors/dell.png
+usr/share/icinga/images/logos/vendors/dell2.gd2
+usr/share/icinga/images/logos/vendors/dell2.gif
+usr/share/icinga/images/logos/vendors/dell2.png
+usr/share/icinga/images/logos/vendors/digital.gd2
+usr/share/icinga/images/logos/vendors/digital.gif
+usr/share/icinga/images/logos/vendors/digital.png
+usr/share/icinga/images/logos/vendors/dlink.gd2
+usr/share/icinga/images/logos/vendors/dlink.gif
+usr/share/icinga/images/logos/vendors/dlink.png
+usr/share/icinga/images/logos/vendors/dos.gd2
+usr/share/icinga/images/logos/vendors/dos.gif
+usr/share/icinga/images/logos/vendors/dos.png
+usr/share/icinga/images/logos/vendors/dos2.gd2
+usr/share/icinga/images/logos/vendors/dos2.gif
+usr/share/icinga/images/logos/vendors/dos2.png
+usr/share/icinga/images/logos/vendors/edimax.gd2
+usr/share/icinga/images/logos/vendors/edimax.gif
+usr/share/icinga/images/logos/vendors/edimax.png
+usr/share/icinga/images/logos/vendors/epson.gd2
+usr/share/icinga/images/logos/vendors/epson.gif
+usr/share/icinga/images/logos/vendors/epson.png
+usr/share/icinga/images/logos/vendors/ericsson.gd2
+usr/share/icinga/images/logos/vendors/ericsson.gif
+usr/share/icinga/images/logos/vendors/ericsson.png
+usr/share/icinga/images/logos/vendors/ericsson2.gd2
+usr/share/icinga/images/logos/vendors/ericsson2.gif
+usr/share/icinga/images/logos/vendors/ericsson2.png
+usr/share/icinga/images/logos/vendors/etherwerx.gd2
+usr/share/icinga/images/logos/vendors/etherwerx.gif
+usr/share/icinga/images/logos/vendors/etherwerx.png
+usr/share/icinga/images/logos/vendors/fedora.gd2
+usr/share/icinga/images/logos/vendors/fedora.gif
+usr/share/icinga/images/logos/vendors/fedora.png
+usr/share/icinga/images/logos/vendors/freebsd.gd2
+usr/share/icinga/images/logos/vendors/freebsd.gif
+usr/share/icinga/images/logos/vendors/freebsd.png
+usr/share/icinga/images/logos/vendors/freebsd2.gd2
+usr/share/icinga/images/logos/vendors/freebsd2.gif
+usr/share/icinga/images/logos/vendors/freebsd2.png
+usr/share/icinga/images/logos/vendors/freebsd40.gd2
+usr/share/icinga/images/logos/vendors/freebsd40.gif
+usr/share/icinga/images/logos/vendors/freebsd40.jpg
+usr/share/icinga/images/logos/vendors/freebsd40.png
+usr/share/icinga/images/logos/vendors/freenas.gd2
+usr/share/icinga/images/logos/vendors/freenas.gif
+usr/share/icinga/images/logos/vendors/freenas.png
+usr/share/icinga/images/logos/vendors/fujitsu.gd2
+usr/share/icinga/images/logos/vendors/fujitsu.gif
+usr/share/icinga/images/logos/vendors/fujitsu.png
+usr/share/icinga/images/logos/vendors/gentoo.gd2
+usr/share/icinga/images/logos/vendors/gentoo.gif
+usr/share/icinga/images/logos/vendors/gentoo.png
+usr/share/icinga/images/logos/vendors/hp-ux.gd2
+usr/share/icinga/images/logos/vendors/hp-ux.gif
+usr/share/icinga/images/logos/vendors/hp-ux.png
+usr/share/icinga/images/logos/vendors/hp-ux2.gd2
+usr/share/icinga/images/logos/vendors/hp-ux2.gif
+usr/share/icinga/images/logos/vendors/hp-ux2.jpg
+usr/share/icinga/images/logos/vendors/hp-ux2.png
+usr/share/icinga/images/logos/vendors/hp.gd2
+usr/share/icinga/images/logos/vendors/hp.gif
+usr/share/icinga/images/logos/vendors/hp.png
+usr/share/icinga/images/logos/vendors/hp2.gd2
+usr/share/icinga/images/logos/vendors/hp2.gif
+usr/share/icinga/images/logos/vendors/hp2.png
+usr/share/icinga/images/logos/vendors/iana.gd2
+usr/share/icinga/images/logos/vendors/iana.gif
+usr/share/icinga/images/logos/vendors/iana.png
+usr/share/icinga/images/logos/vendors/ibm.gd2
+usr/share/icinga/images/logos/vendors/ibm.gif
+usr/share/icinga/images/logos/vendors/ibm.png
+usr/share/icinga/images/logos/vendors/intel.gd2
+usr/share/icinga/images/logos/vendors/intel.gif
+usr/share/icinga/images/logos/vendors/intel.png
+usr/share/icinga/images/logos/vendors/intel2.gd2
+usr/share/icinga/images/logos/vendors/intel2.gif
+usr/share/icinga/images/logos/vendors/intel2.png
+usr/share/icinga/images/logos/vendors/irix.gd2
+usr/share/icinga/images/logos/vendors/irix.gif
+usr/share/icinga/images/logos/vendors/irix.png
+usr/share/icinga/images/logos/vendors/irix2.gd2
+usr/share/icinga/images/logos/vendors/irix2.gif
+usr/share/icinga/images/logos/vendors/irix2.jpg
+usr/share/icinga/images/logos/vendors/irix2.png
+usr/share/icinga/images/logos/vendors/juniper.gd2
+usr/share/icinga/images/logos/vendors/juniper.gif
+usr/share/icinga/images/logos/vendors/juniper.png
+usr/share/icinga/images/logos/vendors/jvc.gd2
+usr/share/icinga/images/logos/vendors/jvc.gif
+usr/share/icinga/images/logos/vendors/jvc.png
+usr/share/icinga/images/logos/vendors/kodak.gd2
+usr/share/icinga/images/logos/vendors/kodak.gif
+usr/share/icinga/images/logos/vendors/kodak.png
+usr/share/icinga/images/logos/vendors/kodak2.gd2
+usr/share/icinga/images/logos/vendors/kodak2.gif
+usr/share/icinga/images/logos/vendors/kodak2.png
+usr/share/icinga/images/logos/vendors/konica.gd2
+usr/share/icinga/images/logos/vendors/konica.gif
+usr/share/icinga/images/logos/vendors/konica.png
+usr/share/icinga/images/logos/vendors/konica2.gd2
+usr/share/icinga/images/logos/vendors/konica2.gif
+usr/share/icinga/images/logos/vendors/konica2.png
+usr/share/icinga/images/logos/vendors/kyocera.gd2
+usr/share/icinga/images/logos/vendors/kyocera.gif
+usr/share/icinga/images/logos/vendors/kyocera.png
+usr/share/icinga/images/logos/vendors/kyocera2.gd2
+usr/share/icinga/images/logos/vendors/kyocera2.gif
+usr/share/icinga/images/logos/vendors/kyocera2.png
+usr/share/icinga/images/logos/vendors/lexmark.gd2
+usr/share/icinga/images/logos/vendors/lexmark.gif
+usr/share/icinga/images/logos/vendors/lexmark.png
+usr/share/icinga/images/logos/vendors/lg.gd2
+usr/share/icinga/images/logos/vendors/lg.gif
+usr/share/icinga/images/logos/vendors/lg.png
+usr/share/icinga/images/logos/vendors/lg2.gd2
+usr/share/icinga/images/logos/vendors/lg2.gif
+usr/share/icinga/images/logos/vendors/lg2.png
+usr/share/icinga/images/logos/vendors/linksys.gd2
+usr/share/icinga/images/logos/vendors/linksys.gif
+usr/share/icinga/images/logos/vendors/linksys.png
+usr/share/icinga/images/logos/vendors/linux.gd2
+usr/share/icinga/images/logos/vendors/linux.gif
+usr/share/icinga/images/logos/vendors/linux.png
+usr/share/icinga/images/logos/vendors/linux40.gd2
+usr/share/icinga/images/logos/vendors/linux40.gif
+usr/share/icinga/images/logos/vendors/linux40.jpg
+usr/share/icinga/images/logos/vendors/linux40.png
+usr/share/icinga/images/logos/vendors/livebox.gd2
+usr/share/icinga/images/logos/vendors/livebox.gif
+usr/share/icinga/images/logos/vendors/livebox.png
+usr/share/icinga/images/logos/vendors/lucent.gd2
+usr/share/icinga/images/logos/vendors/lucent.gif
+usr/share/icinga/images/logos/vendors/lucent.png
+usr/share/icinga/images/logos/vendors/mac40.gd2
+usr/share/icinga/images/logos/vendors/mac40.gif
+usr/share/icinga/images/logos/vendors/mac40.jpg
+usr/share/icinga/images/logos/vendors/mac40.png
+usr/share/icinga/images/logos/vendors/macos.gd2
+usr/share/icinga/images/logos/vendors/macos.gif
+usr/share/icinga/images/logos/vendors/macos.png
+usr/share/icinga/images/logos/vendors/macos2.gd2
+usr/share/icinga/images/logos/vendors/macos2.gif
+usr/share/icinga/images/logos/vendors/macos2.png
+usr/share/icinga/images/logos/vendors/mandrake.gd2
+usr/share/icinga/images/logos/vendors/mandrake.gif
+usr/share/icinga/images/logos/vendors/mandrake.jpg
+usr/share/icinga/images/logos/vendors/mandrake.png
+usr/share/icinga/images/logos/vendors/mandriva.gd2
+usr/share/icinga/images/logos/vendors/mandriva.gif
+usr/share/icinga/images/logos/vendors/mandriva.png
+usr/share/icinga/images/logos/vendors/microsoft.gd2
+usr/share/icinga/images/logos/vendors/microsoft.gif
+usr/share/icinga/images/logos/vendors/microsoft.png
+usr/share/icinga/images/logos/vendors/mikrotik.gd2
+usr/share/icinga/images/logos/vendors/mikrotik.gif
+usr/share/icinga/images/logos/vendors/mikrotik.png
+usr/share/icinga/images/logos/vendors/mint.gd2
+usr/share/icinga/images/logos/vendors/mint.gif
+usr/share/icinga/images/logos/vendors/mint.png
+usr/share/icinga/images/logos/vendors/monowall.gd2
+usr/share/icinga/images/logos/vendors/monowall.gif
+usr/share/icinga/images/logos/vendors/monowall.png
+usr/share/icinga/images/logos/vendors/monowall2.gd2
+usr/share/icinga/images/logos/vendors/monowall2.gif
+usr/share/icinga/images/logos/vendors/monowall2.png
+usr/share/icinga/images/logos/vendors/motorola.gd2
+usr/share/icinga/images/logos/vendors/motorola.gif
+usr/share/icinga/images/logos/vendors/motorola.png
+usr/share/icinga/images/logos/vendors/motorola2.gd2
+usr/share/icinga/images/logos/vendors/motorola2.gif
+usr/share/icinga/images/logos/vendors/motorola2.png
+usr/share/icinga/images/logos/vendors/nec.gd2
+usr/share/icinga/images/logos/vendors/nec.gif
+usr/share/icinga/images/logos/vendors/nec.png
+usr/share/icinga/images/logos/vendors/netapp.gd2
+usr/share/icinga/images/logos/vendors/netapp.gif
+usr/share/icinga/images/logos/vendors/netapp.jpg
+usr/share/icinga/images/logos/vendors/netapp.png
+usr/share/icinga/images/logos/vendors/netbsd.gd2
+usr/share/icinga/images/logos/vendors/netbsd.gif
+usr/share/icinga/images/logos/vendors/netbsd.png
+usr/share/icinga/images/logos/vendors/netgear.gd2
+usr/share/icinga/images/logos/vendors/netgear.gif
+usr/share/icinga/images/logos/vendors/netgear.png
+usr/share/icinga/images/logos/vendors/next.gd2
+usr/share/icinga/images/logos/vendors/next.gif
+usr/share/icinga/images/logos/vendors/next.jpg
+usr/share/icinga/images/logos/vendors/next.png
+usr/share/icinga/images/logos/vendors/nokia.gd2
+usr/share/icinga/images/logos/vendors/nokia.gif
+usr/share/icinga/images/logos/vendors/nokia.png
+usr/share/icinga/images/logos/vendors/nortel.gd2
+usr/share/icinga/images/logos/vendors/nortel.gif
+usr/share/icinga/images/logos/vendors/nortel.png
+usr/share/icinga/images/logos/vendors/nortel2.gd2
+usr/share/icinga/images/logos/vendors/nortel2.gif
+usr/share/icinga/images/logos/vendors/nortel2.png
+usr/share/icinga/images/logos/vendors/novell.gd2
+usr/share/icinga/images/logos/vendors/novell.gif
+usr/share/icinga/images/logos/vendors/novell.png
+usr/share/icinga/images/logos/vendors/novell40.gd2
+usr/share/icinga/images/logos/vendors/novell40.gif
+usr/share/icinga/images/logos/vendors/novell40.jpg
+usr/share/icinga/images/logos/vendors/novell40.png
+usr/share/icinga/images/logos/vendors/oki.gd2
+usr/share/icinga/images/logos/vendors/oki.gif
+usr/share/icinga/images/logos/vendors/oki.png
+usr/share/icinga/images/logos/vendors/olivetti.gd2
+usr/share/icinga/images/logos/vendors/olivetti.gif
+usr/share/icinga/images/logos/vendors/olivetti.png
+usr/share/icinga/images/logos/vendors/openbsd.gd2
+usr/share/icinga/images/logos/vendors/openbsd.gif
+usr/share/icinga/images/logos/vendors/openbsd.png
+usr/share/icinga/images/logos/vendors/openbsd2.gd2
+usr/share/icinga/images/logos/vendors/openbsd2.gif
+usr/share/icinga/images/logos/vendors/openbsd2.jpg
+usr/share/icinga/images/logos/vendors/openbsd2.png
+usr/share/icinga/images/logos/vendors/oracle.gd2
+usr/share/icinga/images/logos/vendors/oracle.gif
+usr/share/icinga/images/logos/vendors/oracle.png
+usr/share/icinga/images/logos/vendors/orinoco.gd2
+usr/share/icinga/images/logos/vendors/orinoco.gif
+usr/share/icinga/images/logos/vendors/orinoco.png
+usr/share/icinga/images/logos/vendors/os2.gd2
+usr/share/icinga/images/logos/vendors/os2.gif
+usr/share/icinga/images/logos/vendors/os2.png
+usr/share/icinga/images/logos/vendors/panasonic.gd2
+usr/share/icinga/images/logos/vendors/panasonic.gif
+usr/share/icinga/images/logos/vendors/panasonic.png
+usr/share/icinga/images/logos/vendors/paradox.gd2
+usr/share/icinga/images/logos/vendors/paradox.gif
+usr/share/icinga/images/logos/vendors/paradox.png
+usr/share/icinga/images/logos/vendors/pentagram.gd2
+usr/share/icinga/images/logos/vendors/pentagram.gif
+usr/share/icinga/images/logos/vendors/pentagram.png
+usr/share/icinga/images/logos/vendors/philips.gd2
+usr/share/icinga/images/logos/vendors/philips.gif
+usr/share/icinga/images/logos/vendors/philips.png
+usr/share/icinga/images/logos/vendors/php.gd2
+usr/share/icinga/images/logos/vendors/php.gif
+usr/share/icinga/images/logos/vendors/php.png
+usr/share/icinga/images/logos/vendors/pix.gd2
+usr/share/icinga/images/logos/vendors/pix.gif
+usr/share/icinga/images/logos/vendors/pix.jpg
+usr/share/icinga/images/logos/vendors/pix.png
+usr/share/icinga/images/logos/vendors/plan9.gd2
+usr/share/icinga/images/logos/vendors/plan9.gif
+usr/share/icinga/images/logos/vendors/plan9.png
+usr/share/icinga/images/logos/vendors/planet.gd2
+usr/share/icinga/images/logos/vendors/planet.gif
+usr/share/icinga/images/logos/vendors/planet.png
+usr/share/icinga/images/logos/vendors/procurve.gd2
+usr/share/icinga/images/logos/vendors/procurve.gif
+usr/share/icinga/images/logos/vendors/procurve.png
+usr/share/icinga/images/logos/vendors/proxim.gd2
+usr/share/icinga/images/logos/vendors/proxim.gif
+usr/share/icinga/images/logos/vendors/proxim.png
+usr/share/icinga/images/logos/vendors/redback.gd2
+usr/share/icinga/images/logos/vendors/redback.gif
+usr/share/icinga/images/logos/vendors/redback.png
+usr/share/icinga/images/logos/vendors/redhat.gd2
+usr/share/icinga/images/logos/vendors/redhat.gif
+usr/share/icinga/images/logos/vendors/redhat.png
+usr/share/icinga/images/logos/vendors/redhat2.gd2
+usr/share/icinga/images/logos/vendors/redhat2.gif
+usr/share/icinga/images/logos/vendors/redhat2.png
+usr/share/icinga/images/logos/vendors/redhat3.gd2
+usr/share/icinga/images/logos/vendors/redhat3.gif
+usr/share/icinga/images/logos/vendors/redhat3.jpg
+usr/share/icinga/images/logos/vendors/redhat3.png
+usr/share/icinga/images/logos/vendors/samsung.gd2
+usr/share/icinga/images/logos/vendors/samsung.gif
+usr/share/icinga/images/logos/vendors/samsung.png
+usr/share/icinga/images/logos/vendors/sco.gd2
+usr/share/icinga/images/logos/vendors/sco.gif
+usr/share/icinga/images/logos/vendors/sco.jpg
+usr/share/icinga/images/logos/vendors/sco.png
+usr/share/icinga/images/logos/vendors/siemens.gd2
+usr/share/icinga/images/logos/vendors/siemens.gif
+usr/share/icinga/images/logos/vendors/siemens.png
+usr/share/icinga/images/logos/vendors/sinix.gd2
+usr/share/icinga/images/logos/vendors/sinix.gif
+usr/share/icinga/images/logos/vendors/sinix.jpg
+usr/share/icinga/images/logos/vendors/sinix.png
+usr/share/icinga/images/logos/vendors/sis.gd2
+usr/share/icinga/images/logos/vendors/sis.gif
+usr/share/icinga/images/logos/vendors/sis.png
+usr/share/icinga/images/logos/vendors/sis2.gd2
+usr/share/icinga/images/logos/vendors/sis2.gif
+usr/share/icinga/images/logos/vendors/sis2.png
+usr/share/icinga/images/logos/vendors/slackware.gd2
+usr/share/icinga/images/logos/vendors/slackware.gif
+usr/share/icinga/images/logos/vendors/slackware.png
+usr/share/icinga/images/logos/vendors/slackware2.gd2
+usr/share/icinga/images/logos/vendors/slackware2.gif
+usr/share/icinga/images/logos/vendors/slackware2.jpg
+usr/share/icinga/images/logos/vendors/slackware2.png
+usr/share/icinga/images/logos/vendors/solaris.gd2
+usr/share/icinga/images/logos/vendors/solaris.gif
+usr/share/icinga/images/logos/vendors/solaris.png
+usr/share/icinga/images/logos/vendors/sony.gd2
+usr/share/icinga/images/logos/vendors/sony.gif
+usr/share/icinga/images/logos/vendors/sony.png
+usr/share/icinga/images/logos/vendors/sphairon.gd2
+usr/share/icinga/images/logos/vendors/sphairon.gif
+usr/share/icinga/images/logos/vendors/sphairon.png
+usr/share/icinga/images/logos/vendors/stampede.gd2
+usr/share/icinga/images/logos/vendors/stampede.gif
+usr/share/icinga/images/logos/vendors/stampede.jpg
+usr/share/icinga/images/logos/vendors/stampede.png
+usr/share/icinga/images/logos/vendors/storm.gd2
+usr/share/icinga/images/logos/vendors/storm.gif
+usr/share/icinga/images/logos/vendors/storm.jpg
+usr/share/icinga/images/logos/vendors/storm.png
+usr/share/icinga/images/logos/vendors/sun.gd2
+usr/share/icinga/images/logos/vendors/sun.gif
+usr/share/icinga/images/logos/vendors/sun.png
+usr/share/icinga/images/logos/vendors/sun2.gd2
+usr/share/icinga/images/logos/vendors/sun2.gif
+usr/share/icinga/images/logos/vendors/sun2.png
+usr/share/icinga/images/logos/vendors/sun40.gd2
+usr/share/icinga/images/logos/vendors/sun40.gif
+usr/share/icinga/images/logos/vendors/sun40.jpg
+usr/share/icinga/images/logos/vendors/sun40.png
+usr/share/icinga/images/logos/vendors/sunlogo.gd2
+usr/share/icinga/images/logos/vendors/sunlogo.gif
+usr/share/icinga/images/logos/vendors/sunlogo.jpg
+usr/share/icinga/images/logos/vendors/sunlogo.png
+usr/share/icinga/images/logos/vendors/surecom.gd2
+usr/share/icinga/images/logos/vendors/surecom.gif
+usr/share/icinga/images/logos/vendors/surecom.png
+usr/share/icinga/images/logos/vendors/suse.gd2
+usr/share/icinga/images/logos/vendors/suse.gif
+usr/share/icinga/images/logos/vendors/suse.png
+usr/share/icinga/images/logos/vendors/suse2.gd2
+usr/share/icinga/images/logos/vendors/suse2.gif
+usr/share/icinga/images/logos/vendors/suse2.png
+usr/share/icinga/images/logos/vendors/suse3.gd2
+usr/share/icinga/images/logos/vendors/suse3.gif
+usr/share/icinga/images/logos/vendors/suse3.jpg
+usr/share/icinga/images/logos/vendors/suse3.png
+usr/share/icinga/images/logos/vendors/tcom.gd2
+usr/share/icinga/images/logos/vendors/tcom.gif
+usr/share/icinga/images/logos/vendors/tcom.png
+usr/share/icinga/images/logos/vendors/texasinstruments.gd2
+usr/share/icinga/images/logos/vendors/texasinstruments.gif
+usr/share/icinga/images/logos/vendors/texasinstruments.png
+usr/share/icinga/images/logos/vendors/thomson.gd2
+usr/share/icinga/images/logos/vendors/thomson.gif
+usr/share/icinga/images/logos/vendors/thomson.png
+usr/share/icinga/images/logos/vendors/toshiba.gd2
+usr/share/icinga/images/logos/vendors/toshiba.gif
+usr/share/icinga/images/logos/vendors/toshiba.png
+usr/share/icinga/images/logos/vendors/tplink.gd2
+usr/share/icinga/images/logos/vendors/tplink.gif
+usr/share/icinga/images/logos/vendors/tplink.png
+usr/share/icinga/images/logos/vendors/tru64.gd2
+usr/share/icinga/images/logos/vendors/tru64.gif
+usr/share/icinga/images/logos/vendors/tru64.png
+usr/share/icinga/images/logos/vendors/turbolinux.gd2
+usr/share/icinga/images/logos/vendors/turbolinux.gif
+usr/share/icinga/images/logos/vendors/turbolinux.jpg
+usr/share/icinga/images/logos/vendors/turbolinux.png
+usr/share/icinga/images/logos/vendors/ubuntu.gd2
+usr/share/icinga/images/logos/vendors/ubuntu.gif
+usr/share/icinga/images/logos/vendors/ubuntu.png
+usr/share/icinga/images/logos/vendors/ubuntu2.gd2
+usr/share/icinga/images/logos/vendors/ubuntu2.gif
+usr/share/icinga/images/logos/vendors/ubuntu2.png
+usr/share/icinga/images/logos/vendors/ultrapenguin.gd2
+usr/share/icinga/images/logos/vendors/ultrapenguin.gif
+usr/share/icinga/images/logos/vendors/ultrapenguin.jpg
+usr/share/icinga/images/logos/vendors/ultrapenguin.png
+usr/share/icinga/images/logos/vendors/unicos.gd2
+usr/share/icinga/images/logos/vendors/unicos.gif
+usr/share/icinga/images/logos/vendors/unicos.jpg
+usr/share/icinga/images/logos/vendors/unicos.png
+usr/share/icinga/images/logos/vendors/usrobotics.gd2
+usr/share/icinga/images/logos/vendors/usrobotics.gif
+usr/share/icinga/images/logos/vendors/usrobotics.png
+usr/share/icinga/images/logos/vendors/virtual.gd2
+usr/share/icinga/images/logos/vendors/virtual.gif
+usr/share/icinga/images/logos/vendors/virtual.png
+usr/share/icinga/images/logos/vendors/vista.gd2
+usr/share/icinga/images/logos/vendors/vista.gif
+usr/share/icinga/images/logos/vendors/vista.png
+usr/share/icinga/images/logos/vendors/vmware.gd2
+usr/share/icinga/images/logos/vendors/vmware.gif
+usr/share/icinga/images/logos/vendors/vmware.png
+usr/share/icinga/images/logos/vendors/vmware2.gd2
+usr/share/icinga/images/logos/vendors/vmware2.gif
+usr/share/icinga/images/logos/vendors/vmware2.png
+usr/share/icinga/images/logos/vendors/vyatta.gd2
+usr/share/icinga/images/logos/vendors/vyatta.gif
+usr/share/icinga/images/logos/vendors/vyatta.png
+usr/share/icinga/images/logos/vendors/vyatta2.gd2
+usr/share/icinga/images/logos/vendors/vyatta2.gif
+usr/share/icinga/images/logos/vendors/vyatta2.png
+usr/share/icinga/images/logos/vendors/win40.gd2
+usr/share/icinga/images/logos/vendors/win40.gif
+usr/share/icinga/images/logos/vendors/win40.jpg
+usr/share/icinga/images/logos/vendors/win40.png
+usr/share/icinga/images/logos/vendors/win9x.gd2
+usr/share/icinga/images/logos/vendors/win9x.gif
+usr/share/icinga/images/logos/vendors/win9x.png
+usr/share/icinga/images/logos/vendors/windows7.gd2
+usr/share/icinga/images/logos/vendors/windows7.gif
+usr/share/icinga/images/logos/vendors/windows7.png
+usr/share/icinga/images/logos/vendors/windows7_2.gd2
+usr/share/icinga/images/logos/vendors/windows7_2.gif
+usr/share/icinga/images/logos/vendors/windows7_2.png
+usr/share/icinga/images/logos/vendors/windowsme.gd2
+usr/share/icinga/images/logos/vendors/windowsme.gif
+usr/share/icinga/images/logos/vendors/windowsme.png
+usr/share/icinga/images/logos/vendors/windowsxp.gd2
+usr/share/icinga/images/logos/vendors/windowsxp.gif
+usr/share/icinga/images/logos/vendors/windowsxp.png
+usr/share/icinga/images/logos/vendors/winnt.gd2
+usr/share/icinga/images/logos/vendors/winnt.gif
+usr/share/icinga/images/logos/vendors/winnt.png
+usr/share/icinga/images/logos/vendors/xen.gd2
+usr/share/icinga/images/logos/vendors/xen.gif
+usr/share/icinga/images/logos/vendors/xen.png
+usr/share/icinga/images/logos/vendors/xerox.gd2
+usr/share/icinga/images/logos/vendors/xerox.gif
+usr/share/icinga/images/logos/vendors/xerox.png
+usr/share/icinga/images/logos/vendors/xerox2.gd2
+usr/share/icinga/images/logos/vendors/xerox2.gif
+usr/share/icinga/images/logos/vendors/xerox2.png
+usr/share/icinga/images/logos/vendors/xerox3.gd2
+usr/share/icinga/images/logos/vendors/xerox3.gif
+usr/share/icinga/images/logos/vendors/xerox3.png
+usr/share/icinga/images/logos/vendors/xircom.gd2
+usr/share/icinga/images/logos/vendors/xircom.gif
+usr/share/icinga/images/logos/vendors/xircom.png
+usr/share/icinga/images/logos/vendors/xirrus.gd2
+usr/share/icinga/images/logos/vendors/xirrus.gif
+usr/share/icinga/images/logos/vendors/xirrus.png
+usr/share/icinga/images/logos/vendors/xirrus2.gd2
+usr/share/icinga/images/logos/vendors/xirrus2.gif
+usr/share/icinga/images/logos/vendors/xirrus2.png
+usr/share/icinga/images/logos/vendors/xserver.gd2
+usr/share/icinga/images/logos/vendors/xserver.gif
+usr/share/icinga/images/logos/vendors/xserver.png
+usr/share/icinga/images/logos/vendors/xserver2.gd2
+usr/share/icinga/images/logos/vendors/xserver2.gif
+usr/share/icinga/images/logos/vendors/xserver2.png
+usr/share/icinga/images/logos/vendors/yellowdog.gd2
+usr/share/icinga/images/logos/vendors/yellowdog.gif
+usr/share/icinga/images/logos/vendors/yellowdog.jpg
+usr/share/icinga/images/logos/vendors/yellowdog.png
+usr/share/icinga/images/logos/vendors/zoltrix.gd2
+usr/share/icinga/images/logos/vendors/zoltrix.gif
+usr/share/icinga/images/logos/vendors/zoltrix.png
+usr/share/icinga/images/logos/vendors/zoom.gd2
+usr/share/icinga/images/logos/vendors/zoom.gif
+usr/share/icinga/images/logos/vendors/zoom.png
+usr/share/icinga/images/logos/vendors/zyxel.gd2
+usr/share/icinga/images/logos/vendors/zyxel.gif
+usr/share/icinga/images/logos/vendors/zyxel.png
+usr/share/icinga/images/logrotate.png
+usr/share/icinga/images/menu_bar.gif
+usr/share/icinga/images/menu_blank.gif
+usr/share/icinga/images/menu_body.gif
+usr/share/icinga/images/menu_cat_gray.png
+usr/share/icinga/images/menu_less.gif
+usr/share/icinga/images/menu_li1.gif
+usr/share/icinga/images/menu_li2.gif
+usr/share/icinga/images/menu_more.gif
+usr/share/icinga/images/ndisabled.gif
+usr/share/icinga/images/noack.gif
+usr/share/icinga/images/notes.gif
+usr/share/icinga/images/notify.gif
+usr/share/icinga/images/passiveonly.gif
+usr/share/icinga/images/recovery.png
+usr/share/icinga/images/restart.gif
+usr/share/icinga/images/right.gif
+usr/share/icinga/images/save.gif
+usr/share/icinga/images/server.png
+usr/share/icinga/images/serviceevent.gif
+usr/share/icinga/images/splunk1.gif
+usr/share/icinga/images/splunk2.gif
+usr/share/icinga/images/start.gif
+usr/share/icinga/images/stats.gif
+usr/share/icinga/images/stats2.png
+usr/share/icinga/images/status_detail.gif
+usr/share/icinga/images/status_map.gif
+usr/share/icinga/images/stop.gif
+usr/share/icinga/images/tacdisabled.png
+usr/share/icinga/images/tacenabled.png
+usr/share/icinga/images/thermcrit.png
+usr/share/icinga/images/thermok.png
+usr/share/icinga/images/thermwarn.png
+usr/share/icinga/images/trends.gif
+usr/share/icinga/images/trendshost.png
+usr/share/icinga/images/trendssvc.png
+usr/share/icinga/images/unknown.png
+usr/share/icinga/images/up.gif
+usr/share/icinga/images/warning.png
+usr/share/icinga/images/warning_triangle.gif
+usr/share/icinga/images/zoom1.gif
+usr/share/icinga/images/zoom2.gif
+usr/share/icinga/index.html
+usr/share/icinga/jquery-ui
+usr/share/icinga/jquery-ui-addon
+usr/share/icinga/jquery-ui-addon/jquery.ui.timepicker-addon.css
+usr/share/icinga/jquery-ui-addon/jquery.ui.timepicker-addon.js
+usr/share/icinga/jquery-ui-addon/jquery.ui.timepicker-addon.min.js
+usr/share/icinga/jquery-ui/themes
+usr/share/icinga/jquery-ui/themes/base
+usr/share/icinga/jquery-ui/themes/base/images
+usr/share/icinga/jquery-ui/themes/base/images/ui-bg_flat_0_aaaaaa_40x100.png
+usr/share/icinga/jquery-ui/themes/base/images/ui-bg_flat_75_ffffff_40x100.png
+usr/share/icinga/jquery-ui/themes/base/images/ui-bg_glass_55_fbf9ee_1x400.png
+usr/share/icinga/jquery-ui/themes/base/images/ui-bg_glass_65_ffffff_1x400.png
+usr/share/icinga/jquery-ui/themes/base/images/ui-bg_glass_75_dadada_1x400.png
+usr/share/icinga/jquery-ui/themes/base/images/ui-bg_glass_75_e6e6e6_1x400.png
+usr/share/icinga/jquery-ui/themes/base/images/ui-bg_glass_95_fef1ec_1x400.png
+usr/share/icinga/jquery-ui/themes/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png
+usr/share/icinga/jquery-ui/themes/base/images/ui-icons_222222_256x240.png
+usr/share/icinga/jquery-ui/themes/base/images/ui-icons_2e83ff_256x240.png
+usr/share/icinga/jquery-ui/themes/base/images/ui-icons_454545_256x240.png
+usr/share/icinga/jquery-ui/themes/base/images/ui-icons_888888_256x240.png
+usr/share/icinga/jquery-ui/themes/base/images/ui-icons_cd0a0a_256x240.png
+usr/share/icinga/jquery-ui/themes/base/jquery.ui.all.css
+usr/share/icinga/jquery-ui/themes/base/jquery.ui.base.css
+usr/share/icinga/jquery-ui/themes/base/jquery.ui.button.css
+usr/share/icinga/jquery-ui/themes/base/jquery.ui.core.css
+usr/share/icinga/jquery-ui/themes/base/jquery.ui.datepicker.css
+usr/share/icinga/jquery-ui/themes/base/jquery.ui.slider.css
+usr/share/icinga/jquery-ui/themes/base/jquery.ui.theme.css
+usr/share/icinga/jquery-ui/ui
+usr/share/icinga/jquery-ui/ui/jquery.ui.autocomplete.js
+usr/share/icinga/jquery-ui/ui/jquery.ui.button.js
+usr/share/icinga/jquery-ui/ui/jquery.ui.core.js
+usr/share/icinga/jquery-ui/ui/jquery.ui.datepicker.js
+usr/share/icinga/jquery-ui/ui/jquery.ui.effect-blind.js
+usr/share/icinga/jquery-ui/ui/jquery.ui.effect.js
+usr/share/icinga/jquery-ui/ui/jquery.ui.menu.js
+usr/share/icinga/jquery-ui/ui/jquery.ui.mouse.js
+usr/share/icinga/jquery-ui/ui/jquery.ui.position.js
+usr/share/icinga/jquery-ui/ui/jquery.ui.slider.js
+usr/share/icinga/jquery-ui/ui/jquery.ui.widget.js
+usr/share/icinga/js
+usr/share/icinga/js/autocomplete.js
+usr/share/icinga/js/checkbox_functions.js
+usr/share/icinga/js/common_functions.js
+usr/share/icinga/js/jquery-1.8.0.js
+usr/share/icinga/js/jquery-1.8.0.min.js
+usr/share/icinga/js/jquery.dd.js
+usr/share/icinga/js/jquery.dd.min.js
+usr/share/icinga/js/menu.js
+usr/share/icinga/js/page_refresh.js
+usr/share/icinga/js/skinnytip.js
+usr/share/icinga/js/status_filter_functions.js
+usr/share/icinga/log
+usr/share/icinga/log/.htaccess
+usr/share/icinga/log/index.htm
+usr/share/icinga/main.html
+usr/share/icinga/media
+usr/share/icinga/menu.html
+usr/share/icinga/robots.txt
+usr/share/icinga/ssi
+usr/share/icinga/stylesheets
+usr/share/icinga/stylesheets/avail.css
+usr/share/icinga/stylesheets/checksanity.css
+usr/share/icinga/stylesheets/cmd.css
+usr/share/icinga/stylesheets/common.css
+usr/share/icinga/stylesheets/config.css
+usr/share/icinga/stylesheets/dd.css
+usr/share/icinga/stylesheets/extinfo.css
+usr/share/icinga/stylesheets/histogram.css
+usr/share/icinga/stylesheets/history.css
+usr/share/icinga/stylesheets/menu.css
+usr/share/icinga/stylesheets/notifications.css
+usr/share/icinga/stylesheets/outages.css
+usr/share/icinga/stylesheets/showlog.css
+usr/share/icinga/stylesheets/status.css
+usr/share/icinga/stylesheets/statusmap.css
+usr/share/icinga/stylesheets/summary.css
+usr/share/icinga/stylesheets/tac.css
+usr/share/icinga/stylesheets/tacheader.css
+usr/share/icinga/stylesheets/trends.css
+var/icinga
+var/icinga/archives
+var/icinga/rw
+var/icinga/spool
+var/icinga/spool/checkresults
+var/ipfire/backup/addons/includes/icinga
diff --git a/config/rootfiles/packages/krb5 b/config/rootfiles/packages/krb5
new file mode 100644 (file)
index 0000000..e1e7d64
--- /dev/null
@@ -0,0 +1,165 @@
+#usr/bin/gss-client
+#usr/bin/k5srvutil
+usr/bin/kadmin
+usr/bin/kdestroy
+usr/bin/kinit
+usr/bin/klist
+usr/bin/kpasswd
+#usr/bin/krb5-config
+#usr/bin/ksu
+#usr/bin/kswitch
+#usr/bin/ktutil
+#usr/bin/kvno
+#usr/bin/sclient
+#usr/bin/sim_client
+#usr/bin/uuclient
+#usr/include/gssapi
+#usr/include/gssapi.h
+#usr/include/gssapi/gssapi.h
+#usr/include/gssapi/gssapi_ext.h
+#usr/include/gssapi/gssapi_generic.h
+#usr/include/gssapi/gssapi_krb5.h
+#usr/include/gssapi/mechglue.h
+#usr/include/gssrpc
+#usr/include/gssrpc/auth.h
+#usr/include/gssrpc/auth_gss.h
+#usr/include/gssrpc/auth_gssapi.h
+#usr/include/gssrpc/auth_unix.h
+#usr/include/gssrpc/clnt.h
+#usr/include/gssrpc/netdb.h
+#usr/include/gssrpc/pmap_clnt.h
+#usr/include/gssrpc/pmap_prot.h
+#usr/include/gssrpc/pmap_rmt.h
+#usr/include/gssrpc/rename.h
+#usr/include/gssrpc/rpc.h
+#usr/include/gssrpc/rpc_msg.h
+#usr/include/gssrpc/svc.h
+#usr/include/gssrpc/svc_auth.h
+#usr/include/gssrpc/types.h
+#usr/include/gssrpc/xdr.h
+#usr/include/kadm5
+#usr/include/kadm5/admin.h
+#usr/include/kadm5/chpass_util_strings.h
+#usr/include/kadm5/kadm_err.h
+#usr/include/kdb.h
+#usr/include/krad.h
+#usr/include/krb5
+#usr/include/krb5.h
+#usr/include/krb5/ccselect_plugin.h
+#usr/include/krb5/clpreauth_plugin.h
+#usr/include/krb5/hostrealm_plugin.h
+#usr/include/krb5/kadm5_hook_plugin.h
+#usr/include/krb5/kdcpreauth_plugin.h
+#usr/include/krb5/krb5.h
+#usr/include/krb5/localauth_plugin.h
+#usr/include/krb5/locate_plugin.h
+#usr/include/krb5/plugin.h
+#usr/include/krb5/preauth_plugin.h
+#usr/include/krb5/pwqual_plugin.h
+#usr/include/profile.h
+#usr/include/verto-module.h
+#usr/include/verto.h
+usr/lib/krb5
+usr/lib/krb5/plugins
+usr/lib/krb5/plugins/authdata
+usr/lib/krb5/plugins/kdb
+usr/lib/krb5/plugins/kdb/db2.so
+usr/lib/krb5/plugins/libkrb5
+usr/lib/krb5/plugins/preauth
+usr/lib/krb5/plugins/preauth/otp.so
+usr/lib/krb5/plugins/preauth/pkinit.so
+#usr/lib/libgssapi_krb5.so
+usr/lib/libgssapi_krb5.so.2
+usr/lib/libgssapi_krb5.so.2.2
+#usr/lib/libgssrpc.so
+usr/lib/libgssrpc.so.4
+usr/lib/libgssrpc.so.4.2
+#usr/lib/libk5crypto.so
+usr/lib/libk5crypto.so.3
+usr/lib/libk5crypto.so.3.1
+#usr/lib/libkadm5clnt.so
+#usr/lib/libkadm5clnt_mit.so
+usr/lib/libkadm5clnt_mit.so.9
+usr/lib/libkadm5clnt_mit.so.9.0
+#usr/lib/libkadm5srv.so
+#usr/lib/libkadm5srv_mit.so
+usr/lib/libkadm5srv_mit.so.9
+usr/lib/libkadm5srv_mit.so.9.0
+#usr/lib/libkdb5.so
+usr/lib/libkdb5.so.7
+usr/lib/libkdb5.so.7.0
+#usr/lib/libkrad.so
+usr/lib/libkrad.so.0
+usr/lib/libkrad.so.0.0
+#usr/lib/libkrb5.so
+usr/lib/libkrb5.so.3
+usr/lib/libkrb5.so.3.3
+#usr/lib/libkrb5support.so
+usr/lib/libkrb5support.so.0
+usr/lib/libkrb5support.so.0.1
+#usr/lib/libverto.so
+usr/lib/libverto.so.0
+usr/lib/libverto.so.0.0
+#usr/lib/pkgconfig/gssrpc.pc
+#usr/lib/pkgconfig/kadm-client.pc
+#usr/lib/pkgconfig/kadm-server.pc
+#usr/lib/pkgconfig/kdb.pc
+#usr/lib/pkgconfig/krb5-gssapi.pc
+#usr/lib/pkgconfig/krb5.pc
+#usr/lib/pkgconfig/mit-krb5-gssapi.pc
+#usr/lib/pkgconfig/mit-krb5.pc
+#usr/sbin/gss-server
+#usr/sbin/kadmin.local
+#usr/sbin/kadmind
+#usr/sbin/kdb5_util
+#usr/sbin/kprop
+#usr/sbin/kpropd
+#usr/sbin/kproplog
+#usr/sbin/krb5-send-pr
+#usr/sbin/krb5kdc
+#usr/sbin/sim_server
+#usr/sbin/sserver
+#usr/sbin/uuserver
+#usr/share/examples
+#usr/share/examples/krb5
+#usr/share/examples/krb5/kdc.conf
+#usr/share/examples/krb5/krb5.conf
+#usr/share/examples/krb5/services.append
+#usr/share/gnats
+#usr/share/gnats/mit
+#usr/share/locale/en_US
+#usr/share/locale/en_US/LC_MESSAGES
+#usr/share/locale/en_US/LC_MESSAGES/mit-krb5.mo
+#usr/share/man/cat1
+#usr/share/man/cat5
+#usr/share/man/cat8
+#usr/share/man/man1/k5srvutil.1
+#usr/share/man/man1/kadmin.1
+#usr/share/man/man1/kdestroy.1
+#usr/share/man/man1/kinit.1
+#usr/share/man/man1/klist.1
+#usr/share/man/man1/kpasswd.1
+#usr/share/man/man1/krb5-config.1
+#usr/share/man/man1/krb5-send-pr.1
+#usr/share/man/man1/ksu.1
+#usr/share/man/man1/kswitch.1
+#usr/share/man/man1/ktutil.1
+#usr/share/man/man1/kvno.1
+#usr/share/man/man1/sclient.1
+#usr/share/man/man5/.k5identity.5
+#usr/share/man/man5/.k5login.5
+#usr/share/man/man5/k5identity.5
+#usr/share/man/man5/k5login.5
+#usr/share/man/man5/kadm5.acl.5
+#usr/share/man/man5/kdc.conf.5
+#usr/share/man/man5/krb5.conf.5
+#usr/share/man/man8/kadmin.local.8
+#usr/share/man/man8/kadmind.8
+#usr/share/man/man8/kdb5_ldap_util.8
+#usr/share/man/man8/kdb5_util.8
+#usr/share/man/man8/kprop.8
+#usr/share/man/man8/kpropd.8
+#usr/share/man/man8/kproplog.8
+#usr/share/man/man8/krb5kdc.8
+#usr/share/man/man8/sserver.8
+var/lib/krb5kdc
diff --git a/config/rootfiles/packages/libgpg-error b/config/rootfiles/packages/libgpg-error
deleted file mode 100644 (file)
index dad751c..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-usr/bin/gpg-error
-usr/bin/gpg-error-config
-#usr/include/gpg-error.h
-#usr/lib/libgpg-error.la
-usr/lib/libgpg-error.so
-usr/lib/libgpg-error.so.0
-usr/lib/libgpg-error.so.0.8.0
-#usr/share/aclocal/gpg-error.m4
-usr/share/common-lisp
-usr/share/common-lisp/source
-usr/share/common-lisp/source/gpg-error
-usr/share/common-lisp/source/gpg-error/gpg-error-codes.lisp
-usr/share/common-lisp/source/gpg-error/gpg-error-package.lisp
-usr/share/common-lisp/source/gpg-error/gpg-error.asd
-usr/share/common-lisp/source/gpg-error/gpg-error.lisp
-#usr/share/locale/cs/LC_MESSAGES/libgpg-error.mo
-usr/share/locale/de/LC_MESSAGES/libgpg-error.mo
-usr/share/locale/fr/LC_MESSAGES/libgpg-error.mo
-#usr/share/locale/it/LC_MESSAGES/libgpg-error.mo
-#usr/share/locale/nl/LC_MESSAGES/libgpg-error.mo
-#usr/share/locale/pl/LC_MESSAGES/libgpg-error.mo
-#usr/share/locale/ro/LC_MESSAGES/libgpg-error.mo
-#usr/share/locale/sv/LC_MESSAGES/libgpg-error.mo
-#usr/share/locale/vi/LC_MESSAGES/libgpg-error.mo
-#usr/share/locale/zh_CN/LC_MESSAGES/libgpg-error.mo
index eaaa3e589e6c6fdd1e74d4425ce99f8fb10f3689..9b198c2bdfbae9a082f2d3ef3455fb15abd8b6fd 100644 (file)
@@ -238,10 +238,25 @@ lib/modules/KVER-ipfire-pae
 #lib/modules/KVER-ipfire-pae/kernel/drivers/clocksource
 #lib/modules/KVER-ipfire-pae/kernel/drivers/clocksource/cs5535-clockevt.ko
 #lib/modules/KVER-ipfire-pae/kernel/drivers/cpufreq
+#lib/modules/KVER-ipfire-pae/kernel/drivers/cpufreq/acpi-cpufreq.ko
+#lib/modules/KVER-ipfire-pae/kernel/drivers/cpufreq/amd_freq_sensitivity.ko
+#lib/modules/KVER-ipfire-pae/kernel/drivers/cpufreq/cpufreq-nforce2.ko
 #lib/modules/KVER-ipfire-pae/kernel/drivers/cpufreq/cpufreq_conservative.ko
 #lib/modules/KVER-ipfire-pae/kernel/drivers/cpufreq/cpufreq_ondemand.ko
 #lib/modules/KVER-ipfire-pae/kernel/drivers/cpufreq/cpufreq_powersave.ko
 #lib/modules/KVER-ipfire-pae/kernel/drivers/cpufreq/cpufreq_stats.ko
+#lib/modules/KVER-ipfire-pae/kernel/drivers/cpufreq/gx-suspmod.ko
+#lib/modules/KVER-ipfire-pae/kernel/drivers/cpufreq/longhaul.ko
+#lib/modules/KVER-ipfire-pae/kernel/drivers/cpufreq/longrun.ko
+#lib/modules/KVER-ipfire-pae/kernel/drivers/cpufreq/mperf.ko
+#lib/modules/KVER-ipfire-pae/kernel/drivers/cpufreq/p4-clockmod.ko
+#lib/modules/KVER-ipfire-pae/kernel/drivers/cpufreq/pcc-cpufreq.ko
+#lib/modules/KVER-ipfire-pae/kernel/drivers/cpufreq/powernow-k6.ko
+#lib/modules/KVER-ipfire-pae/kernel/drivers/cpufreq/powernow-k7.ko
+#lib/modules/KVER-ipfire-pae/kernel/drivers/cpufreq/powernow-k8.ko
+#lib/modules/KVER-ipfire-pae/kernel/drivers/cpufreq/speedstep-ich.ko
+#lib/modules/KVER-ipfire-pae/kernel/drivers/cpufreq/speedstep-lib.ko
+#lib/modules/KVER-ipfire-pae/kernel/drivers/cpufreq/speedstep-smi.ko
 #lib/modules/KVER-ipfire-pae/kernel/drivers/crypto
 #lib/modules/KVER-ipfire-pae/kernel/drivers/crypto/geode-aes.ko
 #lib/modules/KVER-ipfire-pae/kernel/drivers/crypto/padlock-aes.ko
@@ -2675,6 +2690,7 @@ lib/modules/KVER-ipfire-pae
 #lib/modules/KVER-ipfire-pae/kernel/net/sched/sch_mqprio.ko
 #lib/modules/KVER-ipfire-pae/kernel/net/sched/sch_multiq.ko
 #lib/modules/KVER-ipfire-pae/kernel/net/sched/sch_netem.ko
+#lib/modules/KVER-ipfire-pae/kernel/net/sched/sch_pie.ko
 #lib/modules/KVER-ipfire-pae/kernel/net/sched/sch_plug.ko
 #lib/modules/KVER-ipfire-pae/kernel/net/sched/sch_prio.ko
 #lib/modules/KVER-ipfire-pae/kernel/net/sched/sch_qfq.ko
index 0beaca8bd0a58d1b67b67846c72ccf3963fc0354..8f1414ae138e5ffa337396e5395b625d52037764 100644 (file)
@@ -300,4 +300,4 @@ usr/share/mysql
 #usr/share/mysql/ukrainian
 #usr/share/mysql/ukrainian/errmsg.sys
 var/ipfire/backup/addons/includes/mysql
-var/run/mysql
+#var/run/mysql
index f0200cbe308155f76c5f8cd27a5ca44e7dc6b445..971a36061f7c2215973e0c4dad47e6ca6824e2a7 100644 (file)
@@ -34,6 +34,7 @@ usr/lib/nagios
 #usr/lib/nagios/check_file_age
 #usr/lib/nagios/check_flexlm
 #usr/lib/nagios/check_ftp
+#usr/lib/nagios/check_hpjd
 #usr/lib/nagios/check_http
 #usr/lib/nagios/check_icmp
 #usr/lib/nagios/check_ide_smart
@@ -69,6 +70,7 @@ usr/lib/nagios
 #usr/lib/nagios/check_sensors
 #usr/lib/nagios/check_simap
 #usr/lib/nagios/check_smtp
+#usr/lib/nagios/check_snmp
 #usr/lib/nagios/check_spop
 #usr/lib/nagios/check_ssh
 #usr/lib/nagios/check_ssmtp
diff --git a/config/rootfiles/packages/owncloud b/config/rootfiles/packages/owncloud
new file mode 100644 (file)
index 0000000..fed3b09
--- /dev/null
@@ -0,0 +1,12444 @@
+etc/httpd/conf/vhosts.d/owncloud.conf
+srv/web/owncloud
+#srv/web/owncloud/.htaccess
+#srv/web/owncloud/3rdparty
+#srv/web/owncloud/3rdparty/Archive
+#srv/web/owncloud/3rdparty/Archive/Tar.php
+#srv/web/owncloud/3rdparty/Console
+#srv/web/owncloud/3rdparty/Console/Getopt.php
+#srv/web/owncloud/3rdparty/Jcrop
+#srv/web/owncloud/3rdparty/Jcrop/MIT-LICENSE.txt
+#srv/web/owncloud/3rdparty/Jcrop/README.md
+#srv/web/owncloud/3rdparty/Jcrop/css
+#srv/web/owncloud/3rdparty/Jcrop/css/Jcrop.gif
+#srv/web/owncloud/3rdparty/Jcrop/css/jquery.Jcrop.css
+#srv/web/owncloud/3rdparty/Jcrop/css/jquery.Jcrop.min.css
+#srv/web/owncloud/3rdparty/Jcrop/js
+#srv/web/owncloud/3rdparty/Jcrop/js/jquery.Jcrop.js
+#srv/web/owncloud/3rdparty/Jcrop/js/jquery.Jcrop.min.js
+#srv/web/owncloud/3rdparty/LICENSE_INFO
+#srv/web/owncloud/3rdparty/OS
+#srv/web/owncloud/3rdparty/OS/Guess.php
+#srv/web/owncloud/3rdparty/PEAR
+#srv/web/owncloud/3rdparty/PEAR-LICENSE
+#srv/web/owncloud/3rdparty/PEAR.php
+#srv/web/owncloud/3rdparty/PEAR/Autoloader.php
+#srv/web/owncloud/3rdparty/PEAR/Builder.php
+#srv/web/owncloud/3rdparty/PEAR/ChannelFile
+#srv/web/owncloud/3rdparty/PEAR/ChannelFile.php
+#srv/web/owncloud/3rdparty/PEAR/ChannelFile/Parser.php
+#srv/web/owncloud/3rdparty/PEAR/Command
+#srv/web/owncloud/3rdparty/PEAR/Command.php
+#srv/web/owncloud/3rdparty/PEAR/Command/Auth.php
+#srv/web/owncloud/3rdparty/PEAR/Command/Auth.xml
+#srv/web/owncloud/3rdparty/PEAR/Command/Build.php
+#srv/web/owncloud/3rdparty/PEAR/Command/Build.xml
+#srv/web/owncloud/3rdparty/PEAR/Command/Channels.php
+#srv/web/owncloud/3rdparty/PEAR/Command/Channels.xml
+#srv/web/owncloud/3rdparty/PEAR/Command/Common.php
+#srv/web/owncloud/3rdparty/PEAR/Command/Config.php
+#srv/web/owncloud/3rdparty/PEAR/Command/Config.xml
+#srv/web/owncloud/3rdparty/PEAR/Command/Install.php
+#srv/web/owncloud/3rdparty/PEAR/Command/Install.xml
+#srv/web/owncloud/3rdparty/PEAR/Command/Mirror.php
+#srv/web/owncloud/3rdparty/PEAR/Command/Mirror.xml
+#srv/web/owncloud/3rdparty/PEAR/Command/Package.php
+#srv/web/owncloud/3rdparty/PEAR/Command/Package.xml
+#srv/web/owncloud/3rdparty/PEAR/Command/Pickle.php
+#srv/web/owncloud/3rdparty/PEAR/Command/Pickle.xml
+#srv/web/owncloud/3rdparty/PEAR/Command/Registry.php
+#srv/web/owncloud/3rdparty/PEAR/Command/Registry.xml
+#srv/web/owncloud/3rdparty/PEAR/Command/Remote.php
+#srv/web/owncloud/3rdparty/PEAR/Command/Remote.xml
+#srv/web/owncloud/3rdparty/PEAR/Command/Test.php
+#srv/web/owncloud/3rdparty/PEAR/Command/Test.xml
+#srv/web/owncloud/3rdparty/PEAR/Common.php
+#srv/web/owncloud/3rdparty/PEAR/Config.php
+#srv/web/owncloud/3rdparty/PEAR/Dependency.php
+#srv/web/owncloud/3rdparty/PEAR/Dependency2.php
+#srv/web/owncloud/3rdparty/PEAR/DependencyDB.php
+#srv/web/owncloud/3rdparty/PEAR/Downloader
+#srv/web/owncloud/3rdparty/PEAR/Downloader.php
+#srv/web/owncloud/3rdparty/PEAR/Downloader/Package.php
+#srv/web/owncloud/3rdparty/PEAR/ErrorStack.php
+#srv/web/owncloud/3rdparty/PEAR/Exception.php
+#srv/web/owncloud/3rdparty/PEAR/FixPHP5PEARWarnings.php
+#srv/web/owncloud/3rdparty/PEAR/Frontend
+#srv/web/owncloud/3rdparty/PEAR/Frontend.php
+#srv/web/owncloud/3rdparty/PEAR/Frontend/CLI.php
+#srv/web/owncloud/3rdparty/PEAR/Installer
+#srv/web/owncloud/3rdparty/PEAR/Installer.php
+#srv/web/owncloud/3rdparty/PEAR/Installer/Role
+#srv/web/owncloud/3rdparty/PEAR/Installer/Role.php
+#srv/web/owncloud/3rdparty/PEAR/Installer/Role/Cfg.php
+#srv/web/owncloud/3rdparty/PEAR/Installer/Role/Cfg.xml
+#srv/web/owncloud/3rdparty/PEAR/Installer/Role/Common.php
+#srv/web/owncloud/3rdparty/PEAR/Installer/Role/Data.php
+#srv/web/owncloud/3rdparty/PEAR/Installer/Role/Data.xml
+#srv/web/owncloud/3rdparty/PEAR/Installer/Role/Doc.php
+#srv/web/owncloud/3rdparty/PEAR/Installer/Role/Doc.xml
+#srv/web/owncloud/3rdparty/PEAR/Installer/Role/Ext.php
+#srv/web/owncloud/3rdparty/PEAR/Installer/Role/Ext.xml
+#srv/web/owncloud/3rdparty/PEAR/Installer/Role/Php.php
+#srv/web/owncloud/3rdparty/PEAR/Installer/Role/Php.xml
+#srv/web/owncloud/3rdparty/PEAR/Installer/Role/Script.php
+#srv/web/owncloud/3rdparty/PEAR/Installer/Role/Script.xml
+#srv/web/owncloud/3rdparty/PEAR/Installer/Role/Src.php
+#srv/web/owncloud/3rdparty/PEAR/Installer/Role/Src.xml
+#srv/web/owncloud/3rdparty/PEAR/Installer/Role/Test.php
+#srv/web/owncloud/3rdparty/PEAR/Installer/Role/Test.xml
+#srv/web/owncloud/3rdparty/PEAR/Installer/Role/Www.php
+#srv/web/owncloud/3rdparty/PEAR/Installer/Role/Www.xml
+#srv/web/owncloud/3rdparty/PEAR/PackageFile
+#srv/web/owncloud/3rdparty/PEAR/PackageFile.php
+#srv/web/owncloud/3rdparty/PEAR/PackageFile/Generator
+#srv/web/owncloud/3rdparty/PEAR/PackageFile/Generator/v1.php
+#srv/web/owncloud/3rdparty/PEAR/PackageFile/Generator/v2.php
+#srv/web/owncloud/3rdparty/PEAR/PackageFile/Parser
+#srv/web/owncloud/3rdparty/PEAR/PackageFile/Parser/v1.php
+#srv/web/owncloud/3rdparty/PEAR/PackageFile/Parser/v2.php
+#srv/web/owncloud/3rdparty/PEAR/PackageFile/v1.php
+#srv/web/owncloud/3rdparty/PEAR/PackageFile/v2
+#srv/web/owncloud/3rdparty/PEAR/PackageFile/v2.php
+#srv/web/owncloud/3rdparty/PEAR/PackageFile/v2/Validator.php
+#srv/web/owncloud/3rdparty/PEAR/PackageFile/v2/rw.php
+#srv/web/owncloud/3rdparty/PEAR/Packager.php
+#srv/web/owncloud/3rdparty/PEAR/REST
+#srv/web/owncloud/3rdparty/PEAR/REST.php
+#srv/web/owncloud/3rdparty/PEAR/REST/10.php
+#srv/web/owncloud/3rdparty/PEAR/REST/11.php
+#srv/web/owncloud/3rdparty/PEAR/REST/13.php
+#srv/web/owncloud/3rdparty/PEAR/Registry.php
+#srv/web/owncloud/3rdparty/PEAR/Remote.php
+#srv/web/owncloud/3rdparty/PEAR/RunTest.php
+#srv/web/owncloud/3rdparty/PEAR/Task
+#srv/web/owncloud/3rdparty/PEAR/Task/Common.php
+#srv/web/owncloud/3rdparty/PEAR/Task/Postinstallscript
+#srv/web/owncloud/3rdparty/PEAR/Task/Postinstallscript.php
+#srv/web/owncloud/3rdparty/PEAR/Task/Postinstallscript/rw.php
+#srv/web/owncloud/3rdparty/PEAR/Task/Replace
+#srv/web/owncloud/3rdparty/PEAR/Task/Replace.php
+#srv/web/owncloud/3rdparty/PEAR/Task/Replace/rw.php
+#srv/web/owncloud/3rdparty/PEAR/Task/Unixeol
+#srv/web/owncloud/3rdparty/PEAR/Task/Unixeol.php
+#srv/web/owncloud/3rdparty/PEAR/Task/Unixeol/rw.php
+#srv/web/owncloud/3rdparty/PEAR/Task/Windowseol
+#srv/web/owncloud/3rdparty/PEAR/Task/Windowseol.php
+#srv/web/owncloud/3rdparty/PEAR/Task/Windowseol/rw.php
+#srv/web/owncloud/3rdparty/PEAR/Validate.php
+#srv/web/owncloud/3rdparty/PEAR/Validator
+#srv/web/owncloud/3rdparty/PEAR/Validator/PECL.php
+#srv/web/owncloud/3rdparty/PEAR/XMLParser.php
+#srv/web/owncloud/3rdparty/PEAR5.php
+#srv/web/owncloud/3rdparty/Patchwork
+#srv/web/owncloud/3rdparty/Patchwork/PHP
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/Iconv.php
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/Intl.php
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/Mbstring.php
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/Normalizer.php
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/Xml.php
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.big5.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.cp037.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.cp1006.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.cp1026.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.cp424.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.cp437.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.cp500.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.cp737.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.cp775.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.cp850.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.cp852.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.cp855.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.cp856.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.cp857.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.cp860.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.cp861.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.cp862.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.cp863.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.cp864.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.cp865.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.cp866.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.cp869.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.cp874.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.cp875.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.cp932.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.cp936.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.cp949.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.cp950.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.gsm0338.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.iso-8859-1.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.iso-8859-10.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.iso-8859-11.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.iso-8859-13.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.iso-8859-14.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.iso-8859-15.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.iso-8859-16.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.iso-8859-2.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.iso-8859-3.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.iso-8859-4.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.iso-8859-5.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.iso-8859-6.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.iso-8859-7.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.iso-8859-8.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.iso-8859-9.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.koi8-r.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.koi8-u.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.mazovia.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.nextstep.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.stdenc.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.symbol.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.turkish.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.us-ascii-quotes.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.us-ascii.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.windows-1250.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.windows-1251.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.windows-1252.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.windows-1253.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.windows-1254.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.windows-1255.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.windows-1256.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.windows-1257.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.windows-1258.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.x-mac-ce.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.x-mac-cyrillic.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.x-mac-greek.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.x-mac-icelandic.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.x-mac-roman.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/from.zdingbat.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/to.gsm0338.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/to.mazovia.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/to.stdenc.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/to.symbol.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/to.zdingbat.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/charset/translit.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/unidata
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/unidata/canonicalComposition.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/unidata/canonicalDecomposition.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/unidata/combiningClass.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/unidata/compatibilityDecomposition.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/unidata/lowerCase.ser
+#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/unidata/upperCase.ser
+#srv/web/owncloud/3rdparty/Patchwork/README.md
+#srv/web/owncloud/3rdparty/Patchwork/Utf8
+#srv/web/owncloud/3rdparty/Patchwork/Utf8.php
+#srv/web/owncloud/3rdparty/Patchwork/Utf8/Bootup
+#srv/web/owncloud/3rdparty/Patchwork/Utf8/Bootup.php
+#srv/web/owncloud/3rdparty/Patchwork/Utf8/Bootup/iconv.php
+#srv/web/owncloud/3rdparty/Patchwork/Utf8/Bootup/intl.php
+#srv/web/owncloud/3rdparty/Patchwork/Utf8/Bootup/mbstring.php
+#srv/web/owncloud/3rdparty/Patchwork/Utf8/Bootup/utf8_encode.php
+#srv/web/owncloud/3rdparty/Patchwork/Utf8/data
+#srv/web/owncloud/3rdparty/Patchwork/Utf8/data/caseFolding_full.ser
+#srv/web/owncloud/3rdparty/Patchwork/Utf8/data/translit_extra.ser
+#srv/web/owncloud/3rdparty/Pimple
+#srv/web/owncloud/3rdparty/Pimple/Pimple.php
+#srv/web/owncloud/3rdparty/System.php
+#srv/web/owncloud/3rdparty/autoload.php
+#srv/web/owncloud/3rdparty/composer
+#srv/web/owncloud/3rdparty/composer.json
+#srv/web/owncloud/3rdparty/composer.lock
+#srv/web/owncloud/3rdparty/composer/ClassLoader.php
+#srv/web/owncloud/3rdparty/composer/autoload_classmap.php
+#srv/web/owncloud/3rdparty/composer/autoload_files.php
+#srv/web/owncloud/3rdparty/composer/autoload_namespaces.php
+#srv/web/owncloud/3rdparty/composer/autoload_psr4.php
+#srv/web/owncloud/3rdparty/composer/autoload_real.php
+#srv/web/owncloud/3rdparty/composer/include_paths.php
+#srv/web/owncloud/3rdparty/composer/installed.json
+#srv/web/owncloud/3rdparty/css
+#srv/web/owncloud/3rdparty/css/chosen
+#srv/web/owncloud/3rdparty/css/chosen/chosen-sprite.png
+#srv/web/owncloud/3rdparty/css/chosen/chosen.css
+#srv/web/owncloud/3rdparty/css/strengthify
+#srv/web/owncloud/3rdparty/css/strengthify/LICENSE
+#srv/web/owncloud/3rdparty/css/strengthify/README.md
+#srv/web/owncloud/3rdparty/css/strengthify/strengthify.css
+#srv/web/owncloud/3rdparty/doctrine
+#srv/web/owncloud/3rdparty/doctrine/common
+#srv/web/owncloud/3rdparty/doctrine/common/.gitmodules
+#srv/web/owncloud/3rdparty/doctrine/common/LICENSE
+#srv/web/owncloud/3rdparty/doctrine/common/README.md
+#srv/web/owncloud/3rdparty/doctrine/common/UPGRADE_TO_2_1
+#srv/web/owncloud/3rdparty/doctrine/common/UPGRADE_TO_2_2
+#srv/web/owncloud/3rdparty/doctrine/common/build.properties
+#srv/web/owncloud/3rdparty/doctrine/common/composer.json
+#srv/web/owncloud/3rdparty/doctrine/common/lib
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Annotations
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Annotations/Annotation
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Annotations/Annotation.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Annotations/Annotation/Attribute.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Annotations/Annotation/Attributes.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Annotations/Annotation/IgnoreAnnotation.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Annotations/Annotation/Required.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Annotations/Annotation/Target.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Annotations/AnnotationException.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Annotations/AnnotationReader.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Annotations/AnnotationRegistry.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Annotations/CachedReader.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Annotations/DocLexer.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Annotations/DocParser.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Annotations/FileCacheReader.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Annotations/IndexedReader.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Annotations/PhpParser.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Annotations/Reader.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Annotations/SimpleAnnotationReader.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Annotations/TokenParser.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Cache
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Cache/ApcCache.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Cache/ArrayCache.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Cache/Cache.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Cache/CacheProvider.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Cache/FileCache.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Cache/FilesystemCache.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Cache/MemcacheCache.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Cache/MemcachedCache.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Cache/PhpFileCache.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Cache/RedisCache.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Cache/WinCacheCache.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Cache/XcacheCache.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Cache/ZendDataCache.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/ClassLoader.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Collections
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Collections/ArrayCollection.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Collections/Collection.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Collections/Criteria.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Collections/Expr
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Collections/Expr/ClosureExpressionVisitor.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Collections/Expr/Comparison.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Collections/Expr/CompositeExpression.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Collections/Expr/Expression.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Collections/Expr/ExpressionVisitor.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Collections/Expr/Value.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Collections/ExpressionBuilder.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Collections/Selectable.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/CommonException.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Comparable.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/EventArgs.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/EventManager.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/EventSubscriber.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Lexer.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/NotifyPropertyChanged.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Persistence
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Persistence/AbstractManagerRegistry.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Persistence/ConnectionRegistry.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Persistence/Event
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Persistence/Event/LifecycleEventArgs.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Persistence/Event/LoadClassMetadataEventArgs.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Persistence/Event/ManagerEventArgs.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Persistence/Event/OnClearEventArgs.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Persistence/Event/PreUpdateEventArgs.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Persistence/ManagerRegistry.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Persistence/Mapping
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/AbstractClassMetadataFactory.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/ClassMetadata.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/ClassMetadataFactory.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/AnnotationDriver.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/DefaultFileLocator.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/FileDriver.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/FileLocator.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/MappingDriver.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/MappingDriverChain.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/PHPDriver.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/StaticPHPDriver.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/SymfonyFileLocator.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/MappingException.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/ReflectionService.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/RuntimeReflectionService.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/StaticReflectionService.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Persistence/ObjectManager.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Persistence/ObjectManagerAware.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Persistence/ObjectRepository.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Persistence/PersistentObject.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Persistence/Proxy.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/PropertyChangedListener.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Reflection
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Reflection/ClassFinderInterface.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Reflection/Psr0FindFile.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Reflection/ReflectionProviderInterface.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Reflection/StaticReflectionClass.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Reflection/StaticReflectionMethod.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Reflection/StaticReflectionParser.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Reflection/StaticReflectionProperty.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Util
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Util/ClassUtils.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Util/Debug.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Util/Inflector.php
+#srv/web/owncloud/3rdparty/doctrine/common/lib/Doctrine/Common/Version.php
+#srv/web/owncloud/3rdparty/doctrine/common/phpunit.xml.dist
+#srv/web/owncloud/3rdparty/doctrine/common/tests
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/AbstractReaderTest.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/AnnotationReaderTest.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/CachedReaderTest.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/DocLexerTest.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/DocParserTest.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/DummyClass.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/FileCacheReaderTest.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/Annotation
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/Annotation/AnnotWithDefaultValue.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/Annotation/Autoload.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/Annotation/Route.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/Annotation/Secure.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/Annotation/Template.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/Annotation/Version.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationTargetAll.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationTargetAnnotation.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationTargetClass.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationTargetMethod.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationTargetPropertyMethod.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationWithAttributes.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationWithConstants.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationWithRequiredAttributes.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationWithRequiredAttributesWithoutContructor.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationWithTargetSyntaxError.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationWithVarType.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassDDC1660.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithAnnotationWithTargetSyntaxError.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithAnnotationWithVarType.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithClosure.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithConstants.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithFullyQualifiedUseStatements.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithInvalidAnnotationTargetAtClass.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithInvalidAnnotationTargetAtMethod.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithInvalidAnnotationTargetAtProperty.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithValidAnnotationTarget.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/Controller.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/DifferentNamespacesPerFileWithClassAsFirst.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/DifferentNamespacesPerFileWithClassAsLast.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/EqualNamespacesPerFileWithClassAsFirst.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/EqualNamespacesPerFileWithClassAsLast.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/GlobalNamespacesPerFileWithClassAsFirst.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/GlobalNamespacesPerFileWithClassAsLast.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/IntefaceWithConstants.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/InvalidAnnotationUsageButIgnoredClass.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/InvalidAnnotationUsageClass.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/MultipleClassesInFile.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/MultipleImportsInUseStatement.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/NamespaceAndClassCommentedOut.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/NamespaceWithClosureDeclaration.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/NamespacedSingleClassLOC1000.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/NoAnnotation.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/NonNamespacedClass.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/SingleClassLOC1000.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Fixtures/TestInterface.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/PerformanceTest.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/PhpParserTest.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/SimpleAnnotationReaderTest.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Ticket
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Ticket/DCOM55Test.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Ticket/DCOM58Entity.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/Ticket/DCOM58Test.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Annotations/TopLevelAnnotation.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Cache
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Cache/ApcCacheTest.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Cache/ArrayCacheTest.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Cache/CacheTest.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Cache/FilesystemCacheTest.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Cache/MemcacheCacheTest.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Cache/MemcachedCacheTest.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Cache/PhpFileCacheTest.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Cache/RedisCacheTest.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Cache/WinCacheCacheTest.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Cache/XcacheCacheTest.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Cache/ZendDataCacheTest.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/ClassA.class.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/ClassB.class.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/ClassC.class.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/ClassD.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Collections
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Collections/ClosureExpressionVisitorTest.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Collections/CollectionTest.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Collections/CriteriaTest.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Collections/ExpressionBuilderTest.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/DoctrineExceptionTest.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/EventManagerTest.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Persistence
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/ChainDriverTest.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/ClassMetadataFactoryTest.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/DefaultFileLocatorTest.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/FileDriverTest.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/PHPDriverTest.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/RuntimeReflectionServiceTest.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/StaticPHPDriverTest.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/StaticReflectionServiceTest.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/SymfonyFileLocatorTest.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_files
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_files/TestEntity.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_files/global.yml
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_files/stdClass.yml
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Persistence/PersistentObjectTest.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Reflection
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Reflection/DeeperNamespaceParent.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Reflection/Dummies
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Reflection/Dummies/NoParent.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Reflection/FullyClassifiedParent.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Reflection/NoParent.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Reflection/SameNamespaceParent.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Reflection/StaticReflectionParserTest.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Reflection/UseParent.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Util
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Util/ClassUtilsTest.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/Common/Util/DebugTest.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/DoctrineTestCase.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/Doctrine/Tests/TestInit.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/NativePhpunitTask.php
+#srv/web/owncloud/3rdparty/doctrine/common/tests/README.markdown
+#srv/web/owncloud/3rdparty/doctrine/dbal
+#srv/web/owncloud/3rdparty/doctrine/dbal/.gitmodules
+#srv/web/owncloud/3rdparty/doctrine/dbal/LICENSE
+#srv/web/owncloud/3rdparty/doctrine/dbal/README.md
+#srv/web/owncloud/3rdparty/doctrine/dbal/UPGRADE
+#srv/web/owncloud/3rdparty/doctrine/dbal/bin
+#srv/web/owncloud/3rdparty/doctrine/dbal/bin/doctrine-dbal
+#srv/web/owncloud/3rdparty/doctrine/dbal/bin/doctrine-dbal.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/bin/doctrine.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/build.properties
+#srv/web/owncloud/3rdparty/doctrine/dbal/composer.json
+#srv/web/owncloud/3rdparty/doctrine/dbal/docs
+#srv/web/owncloud/3rdparty/doctrine/dbal/docs/design
+#srv/web/owncloud/3rdparty/doctrine/dbal/docs/design/AZURE_FEDERATIONS.md
+#srv/web/owncloud/3rdparty/doctrine/dbal/docs/design/SHARDING.md
+#srv/web/owncloud/3rdparty/doctrine/dbal/docs/examples
+#srv/web/owncloud/3rdparty/doctrine/dbal/docs/examples/sharding
+#srv/web/owncloud/3rdparty/doctrine/dbal/docs/examples/sharding/README.md
+#srv/web/owncloud/3rdparty/doctrine/dbal/docs/examples/sharding/bootstrap.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/docs/examples/sharding/composer.json
+#srv/web/owncloud/3rdparty/doctrine/dbal/docs/examples/sharding/create_schema.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/docs/examples/sharding/insert_data.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/docs/examples/sharding/insert_data_aftersplit.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/docs/examples/sharding/query_filtering_off.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/docs/examples/sharding/query_filtering_on.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/docs/examples/sharding/split_federation.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/docs/examples/sharding/view_federation_members.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Cache
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Cache/ArrayStatement.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Cache/CacheException.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Cache/QueryCacheProfile.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Cache/ResultCacheStatement.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Configuration.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/ConnectionException.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connections
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connections/MasterSlaveConnection.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/Connection.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/DrizzlePDOMySql
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/DrizzlePDOMySql/Connection.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/DrizzlePDOMySql/Driver.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/IBMDB2
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/IBMDB2/DB2Connection.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/IBMDB2/DB2Driver.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/IBMDB2/DB2Exception.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/IBMDB2/DB2Statement.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/Mysqli
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/Mysqli/Driver.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/Mysqli/MysqliConnection.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/Mysqli/MysqliException.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/Mysqli/MysqliStatement.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/OCI8
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/OCI8/Driver.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/OCI8/OCI8Connection.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/OCI8/OCI8Exception.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/OCI8/OCI8Statement.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOIbm
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOIbm/Driver.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOMySql
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOMySql/Driver.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOOracle
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOOracle/Driver.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOPgSql
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOPgSql/Driver.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOSqlite
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOSqlite/Driver.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOSqlsrv
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOSqlsrv/Connection.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOSqlsrv/Driver.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/ResultStatement.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLSrv
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLSrv/Driver.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLSrv/LastInsertId.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLSrv/SQLSrvConnection.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLSrv/SQLSrvException.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLSrv/SQLSrvStatement.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/Statement.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/DriverManager.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Event
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Event/ConnectionEventArgs.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Event/Listeners
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Event/Listeners/MysqlSessionInit.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Event/Listeners/OracleSessionInit.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Event/Listeners/SQLSessionInit.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaAlterTableAddColumnEventArgs.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaAlterTableChangeColumnEventArgs.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaAlterTableEventArgs.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaAlterTableRemoveColumnEventArgs.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaAlterTableRenameColumnEventArgs.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaColumnDefinitionEventArgs.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaCreateTableColumnEventArgs.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaCreateTableEventArgs.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaDropTableEventArgs.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaEventArgs.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaIndexDefinitionEventArgs.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Events.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Id
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Id/TableGenerator.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Id/TableGeneratorSchemaVisitor.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/LockMode.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Logging
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Logging/DebugStack.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Logging/EchoSQLLogger.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Logging/LoggerChain.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Logging/SQLLogger.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Platforms
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Platforms/AbstractPlatform.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Platforms/DB2Platform.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Platforms/DrizzlePlatform.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/DB2Keywords.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/DrizzleKeywords.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/KeywordList.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/MsSQLKeywords.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/MySQLKeywords.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/OracleKeywords.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/PostgreSQLKeywords.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/ReservedKeywordsValidator.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/SQLiteKeywords.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Platforms/MySqlPlatform.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Platforms/OraclePlatform.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Platforms/PostgreSqlPlatform.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SQLAzurePlatform.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SQLServer2005Platform.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SQLServer2008Platform.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SQLServerPlatform.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SqlitePlatform.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Portability
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Portability/Connection.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Portability/Statement.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Query
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Query/Expression
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Query/Expression/CompositeExpression.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Query/Expression/ExpressionBuilder.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Query/QueryBuilder.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Query/QueryException.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/README.markdown
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/SQLParserUtils.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/SQLParserUtilsException.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Schema
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Schema/AbstractAsset.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Schema/AbstractSchemaManager.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Schema/Column.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Schema/ColumnDiff.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Schema/Comparator.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Schema/Constraint.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Schema/DB2SchemaManager.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Schema/DrizzleSchemaManager.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Schema/ForeignKeyConstraint.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Schema/Index.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Schema/MySqlSchemaManager.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Schema/OracleSchemaManager.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Schema/PostgreSqlSchemaManager.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Schema/SQLServerSchemaManager.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Schema/Schema.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Schema/SchemaConfig.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Schema/SchemaDiff.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Schema/SchemaException.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Schema/Sequence.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Schema/SqliteSchemaManager.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Schema/Synchronizer
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Schema/Synchronizer/AbstractSchemaSynchronizer.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Schema/Synchronizer/SchemaSynchronizer.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Schema/Synchronizer/SingleDatabaseSynchronizer.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Schema/Table.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Schema/TableDiff.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Schema/View.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Schema/Visitor
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Schema/Visitor/CreateSchemaSqlCollector.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Schema/Visitor/DropSchemaSqlCollector.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Schema/Visitor/Graphviz.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Schema/Visitor/RemoveNamespacedAssets.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Schema/Visitor/Visitor.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Sharding
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Sharding/PoolingShardConnection.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Sharding/PoolingShardManager.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Sharding/SQLAzure
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Sharding/SQLAzure/SQLAzureFederationsSynchronizer.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Sharding/SQLAzure/SQLAzureShardManager.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Sharding/SQLAzure/Schema
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Sharding/SQLAzure/Schema/MultiTenantVisitor.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Sharding/ShardChoser
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Sharding/ShardChoser/MultiTenantShardChoser.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Sharding/ShardChoser/ShardChoser.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Sharding/ShardManager.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Sharding/ShardingException.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Statement.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Tools
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Tools/Console
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Tools/Console/Command
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Tools/Console/Command/ImportCommand.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Tools/Console/Command/ReservedWordsCommand.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Tools/Console/Command/RunSqlCommand.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Tools/Console/Helper
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Tools/Console/Helper/ConnectionHelper.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Types
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Types/ArrayType.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Types/BigIntType.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Types/BlobType.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Types/BooleanType.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Types/ConversionException.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Types/DateTimeType.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Types/DateTimeTzType.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Types/DateType.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Types/DecimalType.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Types/FloatType.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Types/GuidType.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Types/IntegerType.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Types/JsonArrayType.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Types/ObjectType.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Types/SimpleArrayType.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Types/SmallIntType.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Types/StringType.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Types/TextType.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Types/TimeType.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Types/Type.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Types/VarDateTimeType.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Version.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/phpunit.xml.dist
+#srv/web/owncloud/3rdparty/doctrine/dbal/run-all.sh
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/ConnectionTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/DBALExceptionTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Driver
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Driver/OCI8
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Driver/OCI8/OCI8StatementTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/DriverManagerTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Events
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Events/MysqlSessionInitTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Events/OracleSessionInitTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Events/SQLSessionInitTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Functional
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Functional/BlobTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Functional/ConnectionTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Functional/DataAccessTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Functional/LoggingTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Functional/MasterSlaveConnectionTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Functional/ModifyLimitQueryTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Functional/NamedParametersTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Functional/PortabilityTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Functional/ResultCacheTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Functional/Schema
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Functional/Schema/Db2SchemaManagerTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Functional/Schema/DrizzleSchemaManagerTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Functional/Schema/MySqlSchemaManagerTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Functional/Schema/OracleSchemaManagerTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Functional/Schema/PostgreSqlSchemaManagerTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Functional/Schema/SQLServerSchemaManagerTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Functional/Schema/SchemaManagerFunctionalTestCase.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Functional/Schema/SqliteSchemaManagerTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Functional/TableGeneratorTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Functional/TemporaryTableTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Functional/Ticket
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Functional/Ticket/DBAL168Test.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Functional/Ticket/DBAL202Test.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Functional/Ticket/DBAL510Test.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Functional/TypeConversionTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Functional/WriteTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Logging
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Logging/DebugStackTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Mocks
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Mocks/MockPlatform.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Platforms
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Platforms/AbstractPlatformTestCase.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Platforms/MySqlPlatformTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Platforms/OraclePlatformTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Platforms/PostgreSqlPlatformTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Platforms/ReservedKeywordsValidatorTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Platforms/SQLAzurePlatformTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Platforms/SQLServerPlatformTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Platforms/SqlitePlatformTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Query
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Query/Expression
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Query/Expression/CompositeExpressionTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Query/Expression/ExpressionBuilderTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Query/QueryBuilderTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/SQLParserUtilsTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Schema
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Schema/ColumnTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Schema/ComparatorTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Schema/IndexTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Schema/MySqlSchemaManagerTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Schema/Platforms
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Schema/Platforms/MySQLSchemaTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Schema/SchemaDiffTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Schema/SchemaTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Schema/SequenceTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Schema/Synchronizer
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Schema/Synchronizer/SingleDatabaseSynchronizerTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Schema/TableTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Schema/Visitor
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Schema/Visitor/RemoveNamespacedAssetsTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Schema/Visitor/SchemaSqlCollectorTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Sharding
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Sharding/PoolingShardConnectionTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Sharding/PoolingShardManagerTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Sharding/SQLAzure
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Sharding/SQLAzure/AbstractTestCase.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Sharding/SQLAzure/FunctionalTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Sharding/SQLAzure/MultiTenantVisitorTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Sharding/SQLAzure/SQLAzureFederationsSynchronizerTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Sharding/SQLAzure/SQLAzureShardManagerTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Sharding/ShardChoser
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Sharding/ShardChoser/MultiTenantShardChoserTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Types
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Types/ArrayTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Types/BlobTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Types/BooleanTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Types/DateTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Types/DateTimeTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Types/DateTimeTzTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Types/DecimalTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Types/FloatTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Types/GuidTypeTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Types/IntegerTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Types/ObjectTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Types/SmallIntTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Types/StringTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Types/TimeTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/Types/VarDateTimeTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DBAL/UtilTest.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DbalFunctionalTestCase.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DbalTestCase.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/DoctrineTestCase.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/Mocks
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/Mocks/ConnectionMock.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/Mocks/DatabasePlatformMock.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/Mocks/DriverConnectionMock.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/Mocks/DriverMock.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/Mocks/HydratorMockStatement.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/Mocks/SchemaManagerMock.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/Mocks/TaskMock.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/TestInit.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/Doctrine/Tests/TestUtil.php
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/README.markdown
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/travis
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/travis/mysql.travis.xml
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/travis/mysqli.travis.xml
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/travis/pgsql.travis.xml
+#srv/web/owncloud/3rdparty/doctrine/dbal/tests/travis/sqlite.travis.xml
+#srv/web/owncloud/3rdparty/fontawesome
+#srv/web/owncloud/3rdparty/fontawesome/README.md
+#srv/web/owncloud/3rdparty/fontawesome/css
+#srv/web/owncloud/3rdparty/fontawesome/css/font-awesome-ie7.min.css
+#srv/web/owncloud/3rdparty/fontawesome/css/font-awesome.css
+#srv/web/owncloud/3rdparty/fontawesome/css/font-awesome.min.css
+#srv/web/owncloud/3rdparty/fontawesome/font
+#srv/web/owncloud/3rdparty/fontawesome/font/FontAwesome.otf
+#srv/web/owncloud/3rdparty/fontawesome/font/fontawesome-webfont.eot
+#srv/web/owncloud/3rdparty/fontawesome/font/fontawesome-webfont.svg
+#srv/web/owncloud/3rdparty/fontawesome/font/fontawesome-webfont.ttf
+#srv/web/owncloud/3rdparty/fontawesome/font/fontawesome-webfont.woff
+#srv/web/owncloud/3rdparty/getid3
+#srv/web/owncloud/3rdparty/getid3/extension.cache.dbm.php
+#srv/web/owncloud/3rdparty/getid3/extension.cache.mysql.php
+#srv/web/owncloud/3rdparty/getid3/extension.cache.sqlite3.php
+#srv/web/owncloud/3rdparty/getid3/getid3.lib.php
+#srv/web/owncloud/3rdparty/getid3/getid3.php
+#srv/web/owncloud/3rdparty/getid3/license.txt
+#srv/web/owncloud/3rdparty/getid3/module.archive.gzip.php
+#srv/web/owncloud/3rdparty/getid3/module.archive.rar.php
+#srv/web/owncloud/3rdparty/getid3/module.archive.szip.php
+#srv/web/owncloud/3rdparty/getid3/module.archive.tar.php
+#srv/web/owncloud/3rdparty/getid3/module.archive.zip.php
+#srv/web/owncloud/3rdparty/getid3/module.audio-video.asf.php
+#srv/web/owncloud/3rdparty/getid3/module.audio-video.bink.php
+#srv/web/owncloud/3rdparty/getid3/module.audio-video.flv.php
+#srv/web/owncloud/3rdparty/getid3/module.audio-video.matroska.php
+#srv/web/owncloud/3rdparty/getid3/module.audio-video.mpeg.php
+#srv/web/owncloud/3rdparty/getid3/module.audio-video.nsv.php
+#srv/web/owncloud/3rdparty/getid3/module.audio-video.quicktime.php
+#srv/web/owncloud/3rdparty/getid3/module.audio-video.real.php
+#srv/web/owncloud/3rdparty/getid3/module.audio-video.riff.php
+#srv/web/owncloud/3rdparty/getid3/module.audio-video.swf.php
+#srv/web/owncloud/3rdparty/getid3/module.audio-video.ts.php
+#srv/web/owncloud/3rdparty/getid3/module.audio.aa.php
+#srv/web/owncloud/3rdparty/getid3/module.audio.aac.php
+#srv/web/owncloud/3rdparty/getid3/module.audio.ac3.php
+#srv/web/owncloud/3rdparty/getid3/module.audio.au.php
+#srv/web/owncloud/3rdparty/getid3/module.audio.avr.php
+#srv/web/owncloud/3rdparty/getid3/module.audio.bonk.php
+#srv/web/owncloud/3rdparty/getid3/module.audio.dss.php
+#srv/web/owncloud/3rdparty/getid3/module.audio.dts.php
+#srv/web/owncloud/3rdparty/getid3/module.audio.flac.php
+#srv/web/owncloud/3rdparty/getid3/module.audio.la.php
+#srv/web/owncloud/3rdparty/getid3/module.audio.lpac.php
+#srv/web/owncloud/3rdparty/getid3/module.audio.midi.php
+#srv/web/owncloud/3rdparty/getid3/module.audio.mod.php
+#srv/web/owncloud/3rdparty/getid3/module.audio.monkey.php
+#srv/web/owncloud/3rdparty/getid3/module.audio.mp3.php
+#srv/web/owncloud/3rdparty/getid3/module.audio.mpc.php
+#srv/web/owncloud/3rdparty/getid3/module.audio.ogg.php
+#srv/web/owncloud/3rdparty/getid3/module.audio.optimfrog.php
+#srv/web/owncloud/3rdparty/getid3/module.audio.rkau.php
+#srv/web/owncloud/3rdparty/getid3/module.audio.shorten.php
+#srv/web/owncloud/3rdparty/getid3/module.audio.tta.php
+#srv/web/owncloud/3rdparty/getid3/module.audio.voc.php
+#srv/web/owncloud/3rdparty/getid3/module.audio.vqf.php
+#srv/web/owncloud/3rdparty/getid3/module.audio.wavpack.php
+#srv/web/owncloud/3rdparty/getid3/module.graphic.bmp.php
+#srv/web/owncloud/3rdparty/getid3/module.graphic.efax.php
+#srv/web/owncloud/3rdparty/getid3/module.graphic.gif.php
+#srv/web/owncloud/3rdparty/getid3/module.graphic.jpg.php
+#srv/web/owncloud/3rdparty/getid3/module.graphic.pcd.php
+#srv/web/owncloud/3rdparty/getid3/module.graphic.png.php
+#srv/web/owncloud/3rdparty/getid3/module.graphic.svg.php
+#srv/web/owncloud/3rdparty/getid3/module.graphic.tiff.php
+#srv/web/owncloud/3rdparty/getid3/module.misc.cue.php
+#srv/web/owncloud/3rdparty/getid3/module.misc.exe.php
+#srv/web/owncloud/3rdparty/getid3/module.misc.iso.php
+#srv/web/owncloud/3rdparty/getid3/module.misc.msoffice.php
+#srv/web/owncloud/3rdparty/getid3/module.misc.par2.php
+#srv/web/owncloud/3rdparty/getid3/module.misc.pdf.php
+#srv/web/owncloud/3rdparty/getid3/module.tag.apetag.php
+#srv/web/owncloud/3rdparty/getid3/module.tag.id3v1.php
+#srv/web/owncloud/3rdparty/getid3/module.tag.id3v2.php
+#srv/web/owncloud/3rdparty/getid3/module.tag.lyrics3.php
+#srv/web/owncloud/3rdparty/getid3/module.tag.xmp.php
+#srv/web/owncloud/3rdparty/getid3/write.apetag.php
+#srv/web/owncloud/3rdparty/getid3/write.id3v1.php
+#srv/web/owncloud/3rdparty/getid3/write.id3v2.php
+#srv/web/owncloud/3rdparty/getid3/write.lyrics3.php
+#srv/web/owncloud/3rdparty/getid3/write.metaflac.php
+#srv/web/owncloud/3rdparty/getid3/write.php
+#srv/web/owncloud/3rdparty/getid3/write.real.php
+#srv/web/owncloud/3rdparty/getid3/write.vorbiscomment.php
+#srv/web/owncloud/3rdparty/guzzle
+#srv/web/owncloud/3rdparty/guzzle/common
+#srv/web/owncloud/3rdparty/guzzle/common/Guzzle
+#srv/web/owncloud/3rdparty/guzzle/common/Guzzle/Common
+#srv/web/owncloud/3rdparty/guzzle/common/Guzzle/Common/AbstractHasDispatcher.php
+#srv/web/owncloud/3rdparty/guzzle/common/Guzzle/Common/Collection.php
+#srv/web/owncloud/3rdparty/guzzle/common/Guzzle/Common/Event.php
+#srv/web/owncloud/3rdparty/guzzle/common/Guzzle/Common/Exception
+#srv/web/owncloud/3rdparty/guzzle/common/Guzzle/Common/Exception/BadMethodCallException.php
+#srv/web/owncloud/3rdparty/guzzle/common/Guzzle/Common/Exception/ExceptionCollection.php
+#srv/web/owncloud/3rdparty/guzzle/common/Guzzle/Common/Exception/GuzzleException.php
+#srv/web/owncloud/3rdparty/guzzle/common/Guzzle/Common/Exception/InvalidArgumentException.php
+#srv/web/owncloud/3rdparty/guzzle/common/Guzzle/Common/Exception/RuntimeException.php
+#srv/web/owncloud/3rdparty/guzzle/common/Guzzle/Common/Exception/UnexpectedValueException.php
+#srv/web/owncloud/3rdparty/guzzle/common/Guzzle/Common/FromConfigInterface.php
+#srv/web/owncloud/3rdparty/guzzle/common/Guzzle/Common/HasDispatcherInterface.php
+#srv/web/owncloud/3rdparty/guzzle/common/Guzzle/Common/ToArrayInterface.php
+#srv/web/owncloud/3rdparty/guzzle/common/Guzzle/Common/Version.php
+#srv/web/owncloud/3rdparty/guzzle/common/Guzzle/Common/composer.json
+#srv/web/owncloud/3rdparty/guzzle/http
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/AbstractEntityBodyDecorator.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/CachingEntityBody.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Client.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/ClientInterface.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Curl
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Curl/CurlHandle.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Curl/CurlMulti.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Curl/CurlMultiInterface.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Curl/CurlMultiProxy.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Curl/CurlVersion.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Curl/RequestMediator.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/EntityBody.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/EntityBodyInterface.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Exception
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Exception/BadResponseException.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Exception/ClientErrorResponseException.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Exception/CouldNotRewindStreamException.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Exception/CurlException.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Exception/HttpException.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Exception/MultiTransferException.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Exception/RequestException.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Exception/ServerErrorResponseException.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Exception/TooManyRedirectsException.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/IoEmittingEntityBody.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Message
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Message/AbstractMessage.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Message/EntityEnclosingRequest.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Message/EntityEnclosingRequestInterface.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Message/Header
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Message/Header.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Message/Header/CacheControl.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Message/Header/HeaderCollection.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Message/Header/HeaderFactory.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Message/Header/HeaderFactoryInterface.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Message/Header/HeaderInterface.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Message/Header/Link.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Message/MessageInterface.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Message/PostFile.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Message/PostFileInterface.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Message/Request.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Message/RequestFactory.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Message/RequestFactoryInterface.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Message/RequestInterface.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Message/Response.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Mimetypes.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/QueryAggregator
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/QueryAggregator/CommaAggregator.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/QueryAggregator/DuplicateAggregator.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/QueryAggregator/PhpAggregator.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/QueryAggregator/QueryAggregatorInterface.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/QueryString.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/ReadLimitEntityBody.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/RedirectPlugin.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Resources
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Resources/cacert.pem
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Resources/cacert.pem.md5
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/StaticClient.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/Url.php
+#srv/web/owncloud/3rdparty/guzzle/http/Guzzle/Http/composer.json
+#srv/web/owncloud/3rdparty/guzzle/parser
+#srv/web/owncloud/3rdparty/guzzle/parser/Guzzle
+#srv/web/owncloud/3rdparty/guzzle/parser/Guzzle/Parser
+#srv/web/owncloud/3rdparty/guzzle/parser/Guzzle/Parser/Cookie
+#srv/web/owncloud/3rdparty/guzzle/parser/Guzzle/Parser/Cookie/CookieParser.php
+#srv/web/owncloud/3rdparty/guzzle/parser/Guzzle/Parser/Cookie/CookieParserInterface.php
+#srv/web/owncloud/3rdparty/guzzle/parser/Guzzle/Parser/Message
+#srv/web/owncloud/3rdparty/guzzle/parser/Guzzle/Parser/Message/AbstractMessageParser.php
+#srv/web/owncloud/3rdparty/guzzle/parser/Guzzle/Parser/Message/MessageParser.php
+#srv/web/owncloud/3rdparty/guzzle/parser/Guzzle/Parser/Message/MessageParserInterface.php
+#srv/web/owncloud/3rdparty/guzzle/parser/Guzzle/Parser/Message/PeclHttpMessageParser.php
+#srv/web/owncloud/3rdparty/guzzle/parser/Guzzle/Parser/ParserRegistry.php
+#srv/web/owncloud/3rdparty/guzzle/parser/Guzzle/Parser/UriTemplate
+#srv/web/owncloud/3rdparty/guzzle/parser/Guzzle/Parser/UriTemplate/PeclUriTemplate.php
+#srv/web/owncloud/3rdparty/guzzle/parser/Guzzle/Parser/UriTemplate/UriTemplate.php
+#srv/web/owncloud/3rdparty/guzzle/parser/Guzzle/Parser/UriTemplate/UriTemplateInterface.php
+#srv/web/owncloud/3rdparty/guzzle/parser/Guzzle/Parser/Url
+#srv/web/owncloud/3rdparty/guzzle/parser/Guzzle/Parser/Url/UrlParser.php
+#srv/web/owncloud/3rdparty/guzzle/parser/Guzzle/Parser/Url/UrlParserInterface.php
+#srv/web/owncloud/3rdparty/guzzle/parser/Guzzle/Parser/composer.json
+#srv/web/owncloud/3rdparty/guzzle/stream
+#srv/web/owncloud/3rdparty/guzzle/stream/Guzzle
+#srv/web/owncloud/3rdparty/guzzle/stream/Guzzle/Stream
+#srv/web/owncloud/3rdparty/guzzle/stream/Guzzle/Stream/PhpStreamRequestFactory.php
+#srv/web/owncloud/3rdparty/guzzle/stream/Guzzle/Stream/Stream.php
+#srv/web/owncloud/3rdparty/guzzle/stream/Guzzle/Stream/StreamInterface.php
+#srv/web/owncloud/3rdparty/guzzle/stream/Guzzle/Stream/StreamRequestFactoryInterface.php
+#srv/web/owncloud/3rdparty/guzzle/stream/Guzzle/Stream/composer.json
+#srv/web/owncloud/3rdparty/isoft
+#srv/web/owncloud/3rdparty/isoft/mssql-bundle
+#srv/web/owncloud/3rdparty/isoft/mssql-bundle/Realestate
+#srv/web/owncloud/3rdparty/isoft/mssql-bundle/Realestate/MssqlBundle
+#srv/web/owncloud/3rdparty/isoft/mssql-bundle/Realestate/MssqlBundle/Driver
+#srv/web/owncloud/3rdparty/isoft/mssql-bundle/Realestate/MssqlBundle/Driver/PDODblib
+#srv/web/owncloud/3rdparty/isoft/mssql-bundle/Realestate/MssqlBundle/Driver/PDODblib/Connection.php
+#srv/web/owncloud/3rdparty/isoft/mssql-bundle/Realestate/MssqlBundle/Driver/PDODblib/Driver.php
+#srv/web/owncloud/3rdparty/isoft/mssql-bundle/Realestate/MssqlBundle/Platforms
+#srv/web/owncloud/3rdparty/isoft/mssql-bundle/Realestate/MssqlBundle/Platforms/DblibPlatform.php
+#srv/web/owncloud/3rdparty/isoft/mssql-bundle/Realestate/MssqlBundle/Readme.md
+#srv/web/owncloud/3rdparty/isoft/mssql-bundle/Realestate/MssqlBundle/RealestateMssqlBundle.php
+#srv/web/owncloud/3rdparty/isoft/mssql-bundle/Realestate/MssqlBundle/Schema
+#srv/web/owncloud/3rdparty/isoft/mssql-bundle/Realestate/MssqlBundle/Schema/DblibSchemaManager.php
+#srv/web/owncloud/3rdparty/isoft/mssql-bundle/Realestate/MssqlBundle/Types
+#srv/web/owncloud/3rdparty/isoft/mssql-bundle/Realestate/MssqlBundle/Types/DateTimeType.php
+#srv/web/owncloud/3rdparty/isoft/mssql-bundle/Realestate/MssqlBundle/Types/DateType.php
+#srv/web/owncloud/3rdparty/isoft/mssql-bundle/Realestate/MssqlBundle/Types/RealestateDateTime.php
+#srv/web/owncloud/3rdparty/isoft/mssql-bundle/Realestate/MssqlBundle/Types/UniqueidentifierType.php
+#srv/web/owncloud/3rdparty/isoft/mssql-bundle/Realestate/MssqlBundle/composer.json
+#srv/web/owncloud/3rdparty/js
+#srv/web/owncloud/3rdparty/js/chosen
+#srv/web/owncloud/3rdparty/js/chosen/LICENSE.md
+#srv/web/owncloud/3rdparty/js/chosen/README.md
+#srv/web/owncloud/3rdparty/js/chosen/VERSION
+#srv/web/owncloud/3rdparty/js/chosen/chosen.jquery.js
+#srv/web/owncloud/3rdparty/js/chosen/chosen.jquery.min.js
+#srv/web/owncloud/3rdparty/js/chosen/chosen.proto.js
+#srv/web/owncloud/3rdparty/js/chosen/chosen.proto.min.js
+#srv/web/owncloud/3rdparty/js/md5
+#srv/web/owncloud/3rdparty/js/md5/README.md
+#srv/web/owncloud/3rdparty/js/md5/md5.js
+#srv/web/owncloud/3rdparty/js/md5/md5.min.js
+#srv/web/owncloud/3rdparty/js/strengthify
+#srv/web/owncloud/3rdparty/js/strengthify/LICENSE
+#srv/web/owncloud/3rdparty/js/strengthify/README.md
+#srv/web/owncloud/3rdparty/js/strengthify/jquery.strengthify.js
+#srv/web/owncloud/3rdparty/kriswallsmith
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/.gitattributes
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/CHANGELOG-1.0.md
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/CHANGELOG-1.1.md
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/CHANGELOG-1.2.md
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/Gemfile
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/LICENSE
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/README.md
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/composer.json
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/docs
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/docs/en
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/docs/en/build.md
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/docs/en/concepts.md
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/docs/en/define.md
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/docs/en/index.md
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/docs/en/introduction.md
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/docs/ja
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/docs/ja/build.md
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/docs/ja/concepts.md
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/docs/ja/define.md
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/docs/ja/index.md
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/docs/ja/introduction.md
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/package.json
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/phpunit.xml.dist
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Asset
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Asset/AssetCache.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Asset/AssetCollection.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Asset/AssetCollectionInterface.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Asset/AssetInterface.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Asset/AssetReference.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Asset/BaseAsset.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Asset/FileAsset.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Asset/GlobAsset.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Asset/HttpAsset.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Asset/Iterator
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Asset/Iterator/AssetCollectionFilterIterator.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Asset/Iterator/AssetCollectionIterator.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Asset/StringAsset.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/AssetManager.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/AssetWriter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Cache
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Cache/ApcCache.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Cache/ArrayCache.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Cache/CacheInterface.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Cache/ConfigCache.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Cache/ExpiringCache.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Cache/FilesystemCache.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Exception
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Exception/Exception.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Exception/FilterException.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Extension
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Extension/Twig
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Extension/Twig/AsseticExtension.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Extension/Twig/AsseticFilterFunction.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Extension/Twig/AsseticFilterInvoker.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Extension/Twig/AsseticNode.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Extension/Twig/AsseticTokenParser.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Extension/Twig/TwigFormulaLoader.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Extension/Twig/TwigResource.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Extension/Twig/ValueContainer.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Factory
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Factory/AssetFactory.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Factory/LazyAssetManager.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Factory/Loader
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Factory/Loader/BasePhpFormulaLoader.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Factory/Loader/CachedFormulaLoader.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Factory/Loader/FormulaLoaderInterface.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Factory/Loader/FunctionCallsFormulaLoader.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Factory/Resource
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Factory/Resource/CoalescingDirectoryResource.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Factory/Resource/DirectoryResource.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Factory/Resource/FileResource.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Factory/Resource/IteratorResourceInterface.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Factory/Resource/ResourceInterface.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Factory/Worker
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Factory/Worker/CacheBustingWorker.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Factory/Worker/EnsureFilterWorker.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Factory/Worker/WorkerInterface.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/BaseCssFilter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/BaseNodeFilter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/BaseProcessFilter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/CallablesFilter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/CoffeeScriptFilter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/CompassFilter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/CssEmbedFilter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/CssImportFilter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/CssMinFilter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/CssRewriteFilter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/DartFilter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/DependencyExtractorInterface.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/EmberPrecompileFilter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/FilterCollection.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/FilterInterface.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/GoogleClosure
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/GoogleClosure/BaseCompilerFilter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/GoogleClosure/CompilerApiFilter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/GoogleClosure/CompilerJarFilter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/GssFilter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/HandlebarsFilter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/HashableInterface.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/JSMinFilter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/JSMinPlusFilter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/JSqueezeFilter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/JpegoptimFilter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/JpegtranFilter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/LessFilter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/LessphpFilter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/OptiPngFilter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/PackagerFilter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/PackerFilter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/PhpCssEmbedFilter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/PngoutFilter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/RooleFilter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/Sass
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/Sass/SassFilter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/Sass/ScssFilter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/ScssphpFilter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/SprocketsFilter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/StylusFilter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/TypeScriptFilter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/UglifyCssFilter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/UglifyJs2Filter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/UglifyJsFilter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/Yui
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/Yui/BaseCompressorFilter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/Yui/CssCompressorFilter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Filter/Yui/JsCompressorFilter.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/FilterManager.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Util
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Util/CssUtils.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Util/LessUtils.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Util/TraversableString.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/Util/VarUtils.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/Assetic/ValueSupplierInterface.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/src/functions.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Asset
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Asset/AssetCacheTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Asset/AssetCollectionTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Asset/AssetReferenceTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Asset/FileAssetTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Asset/GlobAssetTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Asset/HttpAssetTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Asset/StringAssetTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/AssetManagerTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/AssetWriterTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Cache
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Cache/ApcCacheTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Cache/ArrayCacheTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Cache/ConfigCacheTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Cache/ExpiringCacheTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Cache/FilesystemCacheTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Extension
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Extension/Twig
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Extension/Twig/AsseticExtensionTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Extension/Twig/TwigFormulaLoaderTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Extension/Twig/TwigResourceTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Extension/Twig/templates
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Extension/Twig/templates/absolute_path.twig
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Extension/Twig/templates/combine.twig
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Extension/Twig/templates/debug.twig
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Extension/Twig/templates/filters.twig
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Extension/Twig/templates/function.twig
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Extension/Twig/templates/glob.twig
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Extension/Twig/templates/image.twig
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Extension/Twig/templates/mixture.twig
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Extension/Twig/templates/optional_filter.twig
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Extension/Twig/templates/output_pattern.twig
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Extension/Twig/templates/output_url.twig
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Extension/Twig/templates/reference.twig
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Extension/Twig/templates/unclosed_tag.twig
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Extension/Twig/templates/variables.twig
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Factory
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Factory/AssetFactoryTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Factory/LazyAssetManagerTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Factory/Loader
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Factory/Loader/CachedFormulaLoaderTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Factory/Loader/FunctionCallsFormulaLoaderTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Factory/Loader/templates
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Factory/Loader/templates/debug.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Factory/Resource
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Factory/Resource/CoalescingDirectoryResourceTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Factory/Resource/DirectoryResourceTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Factory/Resource/FileResourceTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Factory/Resource/Fixtures
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Factory/Resource/Fixtures/css
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Factory/Resource/Fixtures/css/style.css
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Factory/Resource/Fixtures/dir1
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Factory/Resource/Fixtures/dir1/file1.txt
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Factory/Resource/Fixtures/dir1/file2.txt
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Factory/Resource/Fixtures/dir2
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Factory/Resource/Fixtures/dir2/file1.txt
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Factory/Resource/Fixtures/dir2/file3.txt
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Factory/Worker
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Factory/Worker/CacheBustingWorkerTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Factory/Worker/EnsureFilterWorkerTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/BaseProcessFilterTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/CallablesFilterTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/CoffeeScriptFilterTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/CompassFilterTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/CssEmbedFilterTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/CssImportFilterTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/CssMinFilterTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/CssRewriteFilterTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/DartFilterTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/EmberPrecompileFilterTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/FilterCollectionTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/FilterTestCase.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/GoogleClosure
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/GoogleClosure/CompilerApiFilterTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/GoogleClosure/CompilerJarFilterTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/GssFilterTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/HandlebarsFilterTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/JSMinFilterTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/JSMinPlusFilterTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/JSqueezeFilterTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/JpegoptimFilterTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/JpegtranFilterTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/LessFilterTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/LessphpFilterTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/OptiPngFilterTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/PackagerFilterTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/PackerFilterTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/PhpCssEmbedFilterTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/PngoutFilterTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/RooleFilterTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/Sass
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/Sass/SassFilterTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/Sass/ScssFilterTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/ScssphpFilterTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/SprocketsFilterTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/StylusFilterTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/TypeScriptFilterTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/UglifyCssFilterTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/UglifyJs2FilterTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/UglifyJsFilterTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/Yui
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/Yui/BaseCompressorFilterTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/Yui/CssCompressorFilterTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/Yui/JsCompressorFilterTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/compass
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/compass/compass.sass
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/compass/partials
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/compass/partials/_sass.sass
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/compass/partials/_scss.scss
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/compass/stylesheet.sass
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/compass/stylesheet.scss
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/cssembed
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/cssembed/test.css
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/cssimport
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/cssimport/import.css
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/cssimport/main.css
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/cssimport/more
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/cssimport/more.sass
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/cssimport/more/evenmore
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/cssimport/more/evenmore/bg.gif
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/cssimport/more/evenmore/deep1.css
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/cssimport/more/evenmore/deep2.css
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/cssimport/noncssimport.css
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/cssmin
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/cssmin/fonts.css
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/cssmin/main.css
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/handlebars
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/handlebars/template.handlebars
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/home.gif
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/home.jpg
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/home.png
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/jsmin
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/jsmin/js.js
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/less
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/less/_include.less
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/less/import_path
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/less/import_path/_import.less
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/less/main.less
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/packager
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/packager/app
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/packager/app/application.js
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/packager/lib
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/packager/lib/package.yml
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/packager/lib/util.js
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/packer
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/packer/example.js
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/sass
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/sass/_include.scss
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/sass/import_path
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/sass/import_path/_import.scss
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/sass/main.scss
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/sass/main_compass.scss
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/sprockets
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/sprockets/include.js
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/sprockets/lib1
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/sprockets/lib1/assets
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/sprockets/lib1/assets/images
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/sprockets/lib1/assets/images/image.gif
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/sprockets/lib1/header.js
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/sprockets/lib2
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/sprockets/lib2/footer.js
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/sprockets/main.js
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/uglifycss
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/uglifycss/fonts.css
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/uglifycss/main.css
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/uglifyjs
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Filter/fixtures/uglifyjs/script.js
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/FilterManagerTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Fixture
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Fixture/messages.de.js
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Fixture/messages.en.js
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Fixture/messages.fr.js
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Util
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Util/CssUtilsTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Util/LessUtilsTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Util/TraversableStringTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/Assetic/Test/Util/VarUtilsTest.php
+#srv/web/owncloud/3rdparty/kriswallsmith/assetic/tests/bootstrap.php
+#srv/web/owncloud/3rdparty/mcnetic
+#srv/web/owncloud/3rdparty/mcnetic/phpzipstreamer
+#srv/web/owncloud/3rdparty/mcnetic/phpzipstreamer/COPYING
+#srv/web/owncloud/3rdparty/mcnetic/phpzipstreamer/README.md
+#srv/web/owncloud/3rdparty/mcnetic/phpzipstreamer/ZipStreamer.php
+#srv/web/owncloud/3rdparty/miniColors
+#srv/web/owncloud/3rdparty/miniColors/GPL-LICENSE.txt
+#srv/web/owncloud/3rdparty/miniColors/MIT-LICENSE.txt
+#srv/web/owncloud/3rdparty/miniColors/css
+#srv/web/owncloud/3rdparty/miniColors/css/images
+#srv/web/owncloud/3rdparty/miniColors/css/images/colors.png
+#srv/web/owncloud/3rdparty/miniColors/css/images/trigger.png
+#srv/web/owncloud/3rdparty/miniColors/css/jquery.miniColors.css
+#srv/web/owncloud/3rdparty/miniColors/js
+#srv/web/owncloud/3rdparty/miniColors/js/jquery.miniColors.js
+#srv/web/owncloud/3rdparty/miniColors/js/jquery.miniColors.min.js
+#srv/web/owncloud/3rdparty/patches.txt
+#srv/web/owncloud/3rdparty/phpass
+#srv/web/owncloud/3rdparty/phpass/PasswordHash.php
+#srv/web/owncloud/3rdparty/phpass/c
+#srv/web/owncloud/3rdparty/phpass/c/Makefile
+#srv/web/owncloud/3rdparty/phpass/c/crypt_private.c
+#srv/web/owncloud/3rdparty/phpass/test.php
+#srv/web/owncloud/3rdparty/phpmailer
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/LICENSE
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/PHPMailerAutoload.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/README.md
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/changelog.md
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/class.phpmailer.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/class.pop3.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/class.smtp.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/composer.json
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/docs
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/docs/Callback_function_notes.txt
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/docs/DomainKeys_notes.txt
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/docs/Note_for_SMTP_debugging.txt
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/docs/extending.html
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/docs/faq.html
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/docs/generatedocs.sh
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/docs/pop3_article.txt
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/LGPLv3.txt
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/code_generator.phps
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/contents.html
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/exceptions.phps
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/gmail.phps
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/images
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/images/phpmailer.png
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/images/phpmailer_mini.png
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/index.html
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/mail.phps
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/mailing_list.phps
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/pop_before_smtp.phps
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/scripts
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/scripts/XRegExp.js
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/scripts/shAutoloader.js
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/scripts/shBrushPhp.js
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/scripts/shCore.js
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/scripts/shLegacy.js
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/sendmail.phps
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/smtp.phps
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/smtp_no_auth.phps
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/styles
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/styles/shCore.css
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/styles/shCoreDefault.css
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/styles/shCoreDjango.css
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/styles/shCoreEclipse.css
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/styles/shCoreEmacs.css
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/styles/shCoreFadeToGrey.css
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/styles/shCoreMDUltra.css
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/styles/shCoreMidnight.css
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/styles/shCoreRDark.css
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/styles/shThemeAppleScript.css
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/styles/shThemeDefault.css
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/styles/shThemeDjango.css
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/styles/shThemeEclipse.css
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/styles/shThemeEmacs.css
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/styles/shThemeFadeToGrey.css
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/styles/shThemeMDUltra.css
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/styles/shThemeMidnight.css
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/styles/shThemeRDark.css
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/styles/shThemeVisualStudio.css
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/examples/styles/wrapping.png
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/extras
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/extras/EasyPeasyICS.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/extras/class.html2text.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/extras/htmlfilter.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/extras/ntlm_sasl_client.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/language
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/language/phpmailer.lang-ar.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/language/phpmailer.lang-be.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/language/phpmailer.lang-br.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/language/phpmailer.lang-ca.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/language/phpmailer.lang-ch.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/language/phpmailer.lang-cz.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/language/phpmailer.lang-de.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/language/phpmailer.lang-dk.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/language/phpmailer.lang-el.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/language/phpmailer.lang-eo.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/language/phpmailer.lang-es.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/language/phpmailer.lang-et.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/language/phpmailer.lang-fa.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/language/phpmailer.lang-fi.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/language/phpmailer.lang-fo.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/language/phpmailer.lang-fr.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/language/phpmailer.lang-gl.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/language/phpmailer.lang-he.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/language/phpmailer.lang-hr.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/language/phpmailer.lang-hu.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/language/phpmailer.lang-it.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/language/phpmailer.lang-ja.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/language/phpmailer.lang-ka.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/language/phpmailer.lang-lt.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/language/phpmailer.lang-lv.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/language/phpmailer.lang-nl.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/language/phpmailer.lang-no.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/language/phpmailer.lang-pl.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/language/phpmailer.lang-pt.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/language/phpmailer.lang-ro.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/language/phpmailer.lang-ru.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/language/phpmailer.lang-se.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/language/phpmailer.lang-sk.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/language/phpmailer.lang-sr.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/language/phpmailer.lang-tr.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/language/phpmailer.lang-uk.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/language/phpmailer.lang-vi.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/language/phpmailer.lang-zh.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/language/phpmailer.lang-zh_cn.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/test
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/test/bootstrap.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/test/fakepopserver.sh
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/test/fakesendmail.sh
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/test/phpmailerLangTest.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/test/phpmailerTest.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/test/runfakepopserver.sh
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/test/test_callback.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/test/testbootstrap-dist.php
+#srv/web/owncloud/3rdparty/phpmailer/phpmailer/travis.phpunit.xml.dist
+#srv/web/owncloud/3rdparty/phpseclib
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/.gitattributes
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/AUTHORS
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/LICENSE
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/README.md
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/build
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/build/code-sniffer-ruleset-tests.xml
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/build/code-sniffer-ruleset.xml
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/composer.json
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/composer.lock
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/phpseclib
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/phpseclib/Crypt
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/phpseclib/Crypt/AES.php
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/phpseclib/Crypt/Base.php
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/phpseclib/Crypt/Blowfish.php
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/phpseclib/Crypt/DES.php
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/phpseclib/Crypt/Hash.php
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/phpseclib/Crypt/RC2.php
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/phpseclib/Crypt/RC4.php
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/phpseclib/Crypt/RSA.php
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/phpseclib/Crypt/Random.php
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/phpseclib/Crypt/Rijndael.php
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/phpseclib/Crypt/TripleDES.php
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/phpseclib/Crypt/Twofish.php
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/phpseclib/File
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/phpseclib/File/ANSI.php
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/phpseclib/File/ASN1.php
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/phpseclib/File/X509.php
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/phpseclib/Math
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/phpseclib/Math/BigInteger.php
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/phpseclib/Net
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/phpseclib/Net/SCP.php
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/phpseclib/Net/SFTP
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/phpseclib/Net/SFTP.php
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/phpseclib/Net/SFTP/Stream.php
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/phpseclib/Net/SSH1.php
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/phpseclib/Net/SSH2.php
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/phpseclib/System
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/phpseclib/System/SSH_Agent.php
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/phpseclib/openssl.cnf
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/phpunit.xml.dist
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/tests
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/tests/Crypt
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/tests/Crypt/AES
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/tests/Crypt/AES/ContinuousBufferTest.php
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/tests/Crypt/AES/TestCase.php
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/tests/Crypt/Hash
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/tests/Crypt/Hash/MD5Test.php
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/tests/Crypt/Hash/TestCase.php
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/tests/Crypt/RSA
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/tests/Crypt/RSA/LoadKeyTest.php
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/tests/Math
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/tests/Math/BigInteger
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/tests/Math/BigInteger/BCMathTest.php
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/tests/Math/BigInteger/GMPTest.php
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/tests/Math/BigInteger/InternalOpenSSLTest.php
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/tests/Math/BigInteger/InternalTest.php
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/tests/Math/BigInteger/TestCase.php
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/tests/Net
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/tests/Net/SSH1Test.php
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/tests/Net/SSH2Test.php
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/tests/PhpseclibTestCase.php
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/tests/bootstrap.php
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/travis
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/travis/code_coverage_id_rsa
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/travis/install-php-extensions.sh
+#srv/web/owncloud/3rdparty/phpseclib/phpseclib/travis/upload-code-coverage.sh
+#srv/web/owncloud/3rdparty/rackspace
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/.coveralls.yml
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/CONTRIBUTING.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/LICENSE
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/README.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/composer.json
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/changelog
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/changelog/1.7.0.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/changelog/1.9.0.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/changelog/Upgrading_to_1.7.0.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/generate.sh
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/getting-started-openstack.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/getting-started.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/Autoscale
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/Autoscale/Config.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/Autoscale/Groups.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/Autoscale/Policies.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/Autoscale/Webhooks.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/Clients.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/CloudMonitoring
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/CloudMonitoring/Agents.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/CloudMonitoring/Alarms.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/CloudMonitoring/Changelogs.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/CloudMonitoring/Checks.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/CloudMonitoring/Entities.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/CloudMonitoring/Metrics.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/CloudMonitoring/Notifications.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/CloudMonitoring/Service.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/CloudMonitoring/Views.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/CloudMonitoring/Zones.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/Compute
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/Compute/Images.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/Compute/Keypair.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/Compute/Server.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/Compute/Service.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/Identity
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/Identity/Roles.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/Identity/Service.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/Identity/Tenants.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/Identity/Tokens.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/Identity/Users.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/Iterators.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/LoadBalancer
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/LoadBalancer/README.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/LoadBalancer/USERGUIDE.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/ObjectStore
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/ObjectStore/Access.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/ObjectStore/Account.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/ObjectStore/CDN
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/ObjectStore/CDN/Container.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/ObjectStore/CDN/Object.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/ObjectStore/Storage
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/ObjectStore/Storage/Container.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/ObjectStore/Storage/Migrating.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/ObjectStore/Storage/Object.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/Queues
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/Queues/Claim.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/Queues/Message.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/Queues/Queue.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/accessip.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/caching-credentials.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/dbaas.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/flavors.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/networks.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/servers.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/volumes.md
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Autoscale
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Autoscale/Resource
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Autoscale/Resource/AbstractResource.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Autoscale/Resource/Group.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Autoscale/Resource/GroupConfiguration.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Autoscale/Resource/LaunchConfiguration.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Autoscale/Resource/ScalingPolicy.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Autoscale/Resource/Webhook.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Autoscale/Service.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/CloudMonitoring
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/CloudMonitoring/Exception
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/CloudMonitoring/Exception/AgentException.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/CloudMonitoring/Exception/AlarmException.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/CloudMonitoring/Exception/CheckException.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/CloudMonitoring/Exception/CloudMonitoringException.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/CloudMonitoring/Exception/EntityException.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/CloudMonitoring/Exception/MetricException.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/CloudMonitoring/Exception/NotificationHistoryException.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/CloudMonitoring/Exception/NotificationPlanException.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/CloudMonitoring/Exception/ServiceException.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/CloudMonitoring/Exception/TestException.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/CloudMonitoring/Exception/ZoneException.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/CloudMonitoring/Resource
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/CloudMonitoring/Resource/AbstractResource.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/CloudMonitoring/Resource/Agent.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/CloudMonitoring/Resource/AgentConnection.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/CloudMonitoring/Resource/AgentHost.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/CloudMonitoring/Resource/AgentHostInfo.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/CloudMonitoring/Resource/AgentTarget.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/CloudMonitoring/Resource/AgentToken.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/CloudMonitoring/Resource/Alarm.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/CloudMonitoring/Resource/Changelog.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/CloudMonitoring/Resource/Check.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/CloudMonitoring/Resource/CheckType.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/CloudMonitoring/Resource/Entity.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/CloudMonitoring/Resource/Metric.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/CloudMonitoring/Resource/Notification.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/CloudMonitoring/Resource/NotificationHistory.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/CloudMonitoring/Resource/NotificationPlan.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/CloudMonitoring/Resource/NotificationType.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/CloudMonitoring/Resource/ReadOnlyResource.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/CloudMonitoring/Resource/View.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/CloudMonitoring/Resource/Zone.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/CloudMonitoring/Service.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Base.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Collection
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Collection.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Collection/ArrayCollection.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Collection/PaginatedIterator.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Collection/ResourceIterator.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Constants
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Constants/Datetime.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Constants/Header.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Constants/Mime.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Constants/Service.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Constants/Size.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Constants/State.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/AsyncError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/AsyncHttpError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/AsyncTimeoutError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/AttributeError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/AuthenticationError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/BaseException.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/CdnError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/CdnHttpError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/CdnNotAvailableError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/CdnTtlError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/CollectionException.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/ContainerCreateError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/ContainerDeleteError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/ContainerError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/ContainerNameError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/ContainerNotEmptyError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/ContainerNotFoundError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/CreateError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/CreateUpdateError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/CredentialError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/DatabaseCreateError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/DatabaseDeleteError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/DatabaseListError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/DatabaseNameError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/DatabaseUpdateError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/DeleteError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/DocumentError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/DomainError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/EmptyResponseError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/EndpointError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/FlavorError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/HttpError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/HttpForbiddenError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/HttpOverLimitError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/HttpRetryError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/HttpTimeoutError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/HttpUnauthorizedError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/HttpUrlError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/IOError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/IdRequiredError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/ImageError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/InstanceCreateError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/InstanceDeleteError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/InstanceError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/InstanceFlavorError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/InstanceNotFound.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/InstanceUpdateError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/InvalidArgumentError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/InvalidIdTypeError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/InvalidIpTypeError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/InvalidParameterError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/InvalidRequestError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/JsonError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/LoggingException.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/MetadataCreateError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/MetadataDeleteError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/MetadataError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/MetadataJsonError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/MetadataKeyError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/MetadataPrefixError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/MetadataUpdateError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/MisMatchedChecksumError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/MissingValueError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/NameError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/NetworkCreateError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/NetworkDeleteError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/NetworkError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/NetworkUpdateError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/NetworkUrlError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/NoContentTypeError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/NoNameError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/ObjFetchError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/ObjectCopyError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/ObjectError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/RebuildError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/RecordTypeError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/ResourceBucketException.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/RuntimeException.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/ServerActionError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/ServerCreateError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/ServerDeleteError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/ServerImageScheduleError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/ServerIpsError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/ServerJsonError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/ServerUpdateError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/ServerUrlError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/ServiceException.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/SnapshotError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/TempUrlMethodError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/UnknownError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/UnknownParameterError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/UnrecognizedServiceError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/UnsupportedExtensionError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/UnsupportedFeatureExtension.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/UnsupportedVersionError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/UpdateError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/UrlError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/UserCreateError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/UserDeleteError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/UserListError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/UserNameError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/UserUpdateError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/VolumeError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/VolumeTypeError.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Http
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Http/Client.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Http/Message
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Http/Message/Formatter.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Http/Message/RequestSubscriber.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Lang.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Log
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Log/AbstractLogger.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Log/LogLevel.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Log/Logger.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Log/LoggerInterface.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Metadata.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/PersistentObject.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Service
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Service/AbstractService.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Service/Catalog.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Service/CatalogItem.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Service/CatalogService.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Service/Endpoint.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Service/NovaService.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Service/ServiceBuilder.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Service/ServiceInterface.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Compute
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Compute/Constants
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Compute/Constants/ImageState.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Compute/Constants/Network.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Compute/Constants/ServerState.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Compute/Exception
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Compute/Exception/KeyPairException.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Compute/Resource
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Compute/Resource/Flavor.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Compute/Resource/Image.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Compute/Resource/KeyPair.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Compute/Resource/Network.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Compute/Resource/Server.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Compute/Resource/ServerMetadata.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Compute/Resource/VolumeAttachment.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Compute/Service.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/DNS
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/DNS/Collection
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/DNS/Collection/DnsIterator.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/DNS/Resource
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/DNS/Resource/AsyncResponse.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/DNS/Resource/Domain.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/DNS/Resource/Object.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/DNS/Resource/PtrRecord.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/DNS/Resource/Record.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/DNS/Resource/Subdomain.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/DNS/Service.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Database
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Database/Resource
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Database/Resource/Database.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Database/Resource/Instance.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Database/Resource/User.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Database/Service.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Identity
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Identity/Constants
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Identity/Constants/User.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Identity/Resource
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Identity/Resource/Role.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Identity/Resource/Tenant.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Identity/Resource/Token.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Identity/Resource/User.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Identity/Service.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/LoadBalancer
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/LoadBalancer/Resource
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/LoadBalancer/Resource/Access.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/LoadBalancer/Resource/Algorithm.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/LoadBalancer/Resource/AllowedDomain.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/LoadBalancer/Resource/BillableLoadBalancer.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/LoadBalancer/Resource/ConnectionLogging.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/LoadBalancer/Resource/ConnectionThrottle.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/LoadBalancer/Resource/ContentCaching.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/LoadBalancer/Resource/ErrorPage.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/LoadBalancer/Resource/HealthMonitor.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/LoadBalancer/Resource/LoadBalancer.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/LoadBalancer/Resource/Metadata.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/LoadBalancer/Resource/Node.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/LoadBalancer/Resource/NodeEvent.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/LoadBalancer/Resource/Protocol.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/LoadBalancer/Resource/Readonly.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/LoadBalancer/Resource/SSLTermination.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/LoadBalancer/Resource/SessionPersistence.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/LoadBalancer/Resource/Stats.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/LoadBalancer/Resource/SubResource.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/LoadBalancer/Resource/Usage.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/LoadBalancer/Resource/VirtualIp.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/LoadBalancer/Service.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/ObjectStore
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/AbstractService.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/CDNService.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Constants
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Constants/Header.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Constants/UrlType.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Exception
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Exception/BulkOperationException.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Exception/ContainerException.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Exception/ObjectNotFoundException.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Exception/StreamException.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Exception/UploadException.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Resource
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Resource/AbstractContainer.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Resource/AbstractResource.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Resource/Account.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Resource/CDNContainer.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Resource/Container.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Resource/ContainerMetadata.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Resource/DataObject.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Service.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Upload
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Upload/AbstractTransfer.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Upload/ConcurrentTransfer.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Upload/ConsecutiveTransfer.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Upload/ContainerMigration.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Upload/DirectorySync.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Upload/TransferBuilder.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Upload/TransferPart.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Upload/TransferState.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/OpenStack.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Orchestration
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Orchestration/Resource.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Orchestration/Service.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Orchestration/Stack.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Queues
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Queues/Exception
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Queues/Exception/DeleteMessageException.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Queues/Exception/MessageException.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Queues/Exception/QueueException.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Queues/Exception/QueueMetadataException.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Queues/Resource
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Queues/Resource/Claim.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Queues/Resource/Message.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Queues/Resource/Queue.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Queues/Service.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Rackspace.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Version.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Volume
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Volume/Resource
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Volume/Resource/Snapshot.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Volume/Resource/Volume.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Volume/Resource/VolumeType.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/OpenCloud/Volume/Service.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/lib/php-opencloud.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/phpunit.xml.dist
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Smoke
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Smoke/Enum.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Smoke/Logger.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Smoke/Runner.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Smoke/SmokeException.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Smoke/Step.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Smoke/Unit
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Smoke/Unit/AbstractUnit.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Smoke/Unit/Autoscale.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Smoke/Unit/CloudMonitoring.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Smoke/Unit/Compute.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Smoke/Unit/DNS.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Smoke/Unit/Database.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Smoke/Unit/Identity.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Smoke/Unit/LoadBalancer.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Smoke/Unit/ObjectStore.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Smoke/Unit/Orchestration.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Smoke/Unit/Queues.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Smoke/Unit/UnitInterface.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Smoke/Unit/Volume.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Smoke/Utils.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Autoscale
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Autoscale/AutoscaleTestCase.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Autoscale/Resource
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Autoscale/Resource/GroupConfigurationTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Autoscale/Resource/GroupTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Autoscale/Resource/ScalingPolicyTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Autoscale/ServiceTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Autoscale/_response
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Autoscale/_response/Group.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Autoscale/_response/Group_Config.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Autoscale/_response/Group_Create.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Autoscale/_response/Group_Launch_Config.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Autoscale/_response/Group_List.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Autoscale/_response/Group_State.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Autoscale/_response/Policy.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Autoscale/_response/Policy_List.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Autoscale/_response/Webhook.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/CloudMonitoringTestCase.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/Resource
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/Resource/AgentHostTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/Resource/AgentTargetTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/Resource/AgentTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/Resource/AgentTokenTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/Resource/AlarmTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/Resource/ChangelogTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/Resource/CheckTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/Resource/CheckTypeTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/Resource/EntityTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/Resource/MetricTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/Resource/NotificationHistoryTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/Resource/NotificationPlanTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/Resource/NotificationTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/Resource/NotificationTypeTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/Resource/ViewTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/Resource/ZoneTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/Resource/test_existing.json
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/_response
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/_response/Agent.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/_response/Agent_Connection.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/_response/Agent_Connection_List.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/_response/Agent_Host_CPU.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/_response/Agent_Host_Disks.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/_response/Agent_Host_Filesystems.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/_response/Agent_Host_Memory.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/_response/Agent_Host_NetworkInterfaces.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/_response/Agent_Host_Processes.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/_response/Agent_Host_System.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/_response/Agent_Host_Who.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/_response/Agent_List.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/_response/Agent_Target_List.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/_response/Alarm.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/_response/Alarm_List.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/_response/Changelogs.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/_response/Check.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/_response/CheckType.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/_response/CheckType_List.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/_response/Check_List.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/_response/Entity.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/_response/Entity_List.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/_response/Entity_Test.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/_response/Metrics.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/_response/Metrics_DataPoints.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/_response/NH_Item.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/_response/NH_List.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/_response/NotificationType_List.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/_response/View.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/CloudMonitoring/_response/Zone_Traceroute.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Common
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Common/BaseTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Common/Collection
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Common/Collection/ArrayCollectionTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Common/Collection/PaginatedIteratorTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Common/Log
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Common/Log/LoggerTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Common/Log/testLogFile
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Common/MetadataTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Common/NovaTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Common/PersistentObjectTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Common/ServiceTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Common/cacert.pem
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Compute
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Compute/ComputeTestCase.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Compute/Resource
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Compute/Resource/FlavorTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Compute/Resource/ImageTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Compute/Resource/KeyPairTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Compute/Resource/NetworkTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Compute/Resource/ServerMetadataTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Compute/Resource/ServerTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Compute/Resource/VolumeAttachmentTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Compute/Resource/test.key
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Compute/ServiceTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Compute/_response
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Compute/_response/Extensions.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Compute/_response/Flavor.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Compute/_response/Flavor_List.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Compute/_response/Image.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Compute/_response/Image_List.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Compute/_response/Server.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Compute/_response/Server_List.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/DNS
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/DNS/DnsTestCase.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/DNS/Resource
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/DNS/Resource/DomainTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/DNS/Resource/PtrRecordTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/DNS/Resource/RecordTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/DNS/ServiceTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/DNS/_response
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/DNS/_response/Domain.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/DNS/_response/Domain_Changes.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/DNS/_response/Domain_List.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Database
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Database/DatabaseTestCase.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Database/Resource
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Database/Resource/DatabaseTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Database/Resource/InstanceTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Database/Resource/UserTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Database/ServiceTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Database/_response
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Database/_response/Instance.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Identity
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Identity/IdentityTestCase.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Identity/Resource
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Identity/Resource/RoleTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Identity/Resource/TenantTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Identity/Resource/TokenTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Identity/Resource/UserTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Identity/ServiceTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/LoadBalancer
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/LoadBalancer/LoadBalancerTestCase.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/LoadBalancer/Resource
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/LoadBalancer/Resource/LoadBalancerTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/LoadBalancer/Resource/SubResourceTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/LoadBalancer/ServiceTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/LoadBalancer/_response
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/LoadBalancer/_response/LoadBalancer.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/MockSubscriber.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/ObjectStore
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/ObjectStore/ObjectStoreTestCase.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/ObjectStore/Resource
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/ObjectStore/Resource/ContainerTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/ObjectStore/Resource/DataObjectTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/ObjectStore/Resource/TransferTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/ObjectStore/ServiceTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/ObjectStore/Upload
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/ObjectStore/Upload/ContainerMigrationTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/ObjectStore/_response
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/ObjectStore/_response/Object.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/ObjectStore/_response/Object_Metadata.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/OpenCloudTestCase.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/OpenStackTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Queues
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Queues/QueuesTestCase.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Queues/Resource
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Queues/Resource/ClaimTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Queues/Resource/MessageTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Queues/Resource/QueueTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Queues/ServiceTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Queues/_response
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Queues/_response/Claim.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Queues/_response/Message.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Queues/_response/Queue_List.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/RackspaceTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/VersionTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Volume
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Volume/Resource
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Volume/Resource/SnapshotTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Volume/Resource/VolumeTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Volume/Resource/VolumeTypeTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Volume/ServiceTest.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Volume/VolumeTestCase.php
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Volume/_response
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/Volume/_response/Volume.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/_response
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/_response/Auth.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/_response/Auth_No_Default_Region.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/OpenCloud/Tests/_response/Auth_OpenStack.resp
+#srv/web/owncloud/3rdparty/rackspace/php-opencloud/tests/bootstrap.php
+#srv/web/owncloud/3rdparty/sabre
+#srv/web/owncloud/3rdparty/sabre/dav
+#srv/web/owncloud/3rdparty/sabre/dav/ChangeLog
+#srv/web/owncloud/3rdparty/sabre/dav/LICENSE
+#srv/web/owncloud/3rdparty/sabre/dav/README.md
+#srv/web/owncloud/3rdparty/sabre/dav/bin
+#srv/web/owncloud/3rdparty/sabre/dav/bin/googlecode_upload.py
+#srv/web/owncloud/3rdparty/sabre/dav/bin/migrateto17.php
+#srv/web/owncloud/3rdparty/sabre/dav/bin/naturalselection.py
+#srv/web/owncloud/3rdparty/sabre/dav/composer.json
+#srv/web/owncloud/3rdparty/sabre/dav/examples
+#srv/web/owncloud/3rdparty/sabre/dav/examples/addressbookserver.php
+#srv/web/owncloud/3rdparty/sabre/dav/examples/basicauth.php
+#srv/web/owncloud/3rdparty/sabre/dav/examples/digestauth.php
+#srv/web/owncloud/3rdparty/sabre/dav/examples/simplefsserver.php
+#srv/web/owncloud/3rdparty/sabre/dav/examples/sql
+#srv/web/owncloud/3rdparty/sabre/dav/examples/sql/mysql.addressbook.sql
+#srv/web/owncloud/3rdparty/sabre/dav/examples/sql/mysql.calendars.sql
+#srv/web/owncloud/3rdparty/sabre/dav/examples/sql/mysql.locks.sql
+#srv/web/owncloud/3rdparty/sabre/dav/examples/sql/mysql.principals.sql
+#srv/web/owncloud/3rdparty/sabre/dav/examples/sql/mysql.users.sql
+#srv/web/owncloud/3rdparty/sabre/dav/examples/sql/pgsql.addressbook.sql
+#srv/web/owncloud/3rdparty/sabre/dav/examples/sql/pgsql.calendars.sql
+#srv/web/owncloud/3rdparty/sabre/dav/examples/sql/pgsql.locks.sql
+#srv/web/owncloud/3rdparty/sabre/dav/examples/sql/pgsql.principals.sql
+#srv/web/owncloud/3rdparty/sabre/dav/examples/sql/pgsql.users.sql
+#srv/web/owncloud/3rdparty/sabre/dav/examples/sql/sqlite.addressbooks.sql
+#srv/web/owncloud/3rdparty/sabre/dav/examples/sql/sqlite.calendars.sql
+#srv/web/owncloud/3rdparty/sabre/dav/examples/sql/sqlite.locks.sql
+#srv/web/owncloud/3rdparty/sabre/dav/examples/sql/sqlite.principals.sql
+#srv/web/owncloud/3rdparty/sabre/dav/examples/sql/sqlite.users.sql
+#srv/web/owncloud/3rdparty/sabre/dav/examples/webserver
+#srv/web/owncloud/3rdparty/sabre/dav/examples/webserver/apache2_htaccess.conf
+#srv/web/owncloud/3rdparty/sabre/dav/examples/webserver/apache2_vhost.conf
+#srv/web/owncloud/3rdparty/sabre/dav/examples/webserver/apache2_vhost_cgi.conf
+#srv/web/owncloud/3rdparty/sabre/dav/lib
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/Backend
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/Backend/AbstractBackend.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/Backend/BackendInterface.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/Backend/NotificationSupport.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/Backend/PDO.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/Backend/SharingSupport.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/Calendar.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/CalendarObject.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/CalendarQueryParser.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/CalendarQueryValidator.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/CalendarRootNode.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/Exception
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/Exception/InvalidComponentType.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/ICSExportPlugin.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/ICalendar.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/ICalendarObject.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/IShareableCalendar.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/ISharedCalendar.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/Notifications
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/Notifications/Collection.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/Notifications/ICollection.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/Notifications/INode.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/Notifications/INotificationType.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/Notifications/Node.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/Notifications/Notification
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/Notifications/Notification/Invite.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/Notifications/Notification/InviteReply.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/Notifications/Notification/SystemStatus.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/Plugin.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/Principal
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/Principal/Collection.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/Principal/IProxyRead.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/Principal/IProxyWrite.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/Principal/ProxyRead.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/Principal/ProxyWrite.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/Principal/User.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/Property
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/Property/AllowedSharingModes.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/Property/Invite.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/Property/ScheduleCalendarTransp.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/Property/SupportedCalendarComponentSet.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/Property/SupportedCalendarData.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/Property/SupportedCollationSet.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/Schedule
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/Schedule/IMip.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/Schedule/IOutbox.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/Schedule/Outbox.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/ShareableCalendar.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/SharedCalendar.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/SharingPlugin.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/UserCalendars.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CalDAV/Version.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CardDAV
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CardDAV/AddressBook.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CardDAV/AddressBookQueryParser.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CardDAV/AddressBookRoot.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CardDAV/Backend
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CardDAV/Backend/AbstractBackend.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CardDAV/Backend/BackendInterface.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CardDAV/Backend/PDO.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CardDAV/Card.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CardDAV/IAddressBook.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CardDAV/ICard.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CardDAV/IDirectory.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CardDAV/Plugin.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CardDAV/Property
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CardDAV/Property/SupportedAddressData.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CardDAV/UserAddressBooks.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CardDAV/VCFExportPlugin.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/CardDAV/Version.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Auth
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Auth/Backend
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Auth/Backend/AbstractBasic.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Auth/Backend/AbstractDigest.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Auth/Backend/Apache.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Auth/Backend/BackendInterface.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Auth/Backend/File.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Auth/Backend/PDO.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Auth/Plugin.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Browser
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Browser/GuessContentType.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Browser/MapGetToPropFind.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Browser/Plugin.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Browser/assets
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Browser/assets/favicon.ico
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Browser/assets/icons
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Browser/assets/icons/addressbook.png
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Browser/assets/icons/calendar.png
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Browser/assets/icons/card.png
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Browser/assets/icons/collection.png
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Browser/assets/icons/file.png
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Browser/assets/icons/parent.png
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Browser/assets/icons/principal.png
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Client.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Collection.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Exception
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Exception.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Exception/BadRequest.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Exception/Conflict.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Exception/ConflictingLock.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Exception/FileNotFound.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Exception/Forbidden.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Exception/InsufficientStorage.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Exception/InvalidResourceType.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Exception/LengthRequired.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Exception/LockTokenMatchesRequestUri.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Exception/Locked.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Exception/MethodNotAllowed.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Exception/NotAuthenticated.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Exception/NotFound.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Exception/NotImplemented.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Exception/PaymentRequired.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Exception/PreconditionFailed.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Exception/ReportNotSupported.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Exception/RequestedRangeNotSatisfiable.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Exception/ServiceUnavailable.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Exception/UnsupportedMediaType.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/FS
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/FS/Directory.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/FS/File.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/FS/Node.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/FSExt
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/FSExt/Directory.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/FSExt/File.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/FSExt/Node.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/File.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/ICollection.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/IExtendedCollection.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/IFile.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/INode.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/IProperties.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/IQuota.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Locks
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Locks/Backend
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Locks/Backend/AbstractBackend.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Locks/Backend/BackendInterface.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Locks/Backend/FS.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Locks/Backend/File.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Locks/Backend/PDO.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Locks/LockInfo.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Locks/Plugin.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Mount
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Mount/Plugin.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Node.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/ObjectTree.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/PartialUpdate
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/PartialUpdate/IFile.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/PartialUpdate/IPatchSupport.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/PartialUpdate/Plugin.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Property
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Property.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Property/GetLastModified.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Property/Href.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Property/HrefList.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Property/IHref.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Property/LockDiscovery.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Property/ResourceType.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Property/Response.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Property/ResponseList.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Property/SupportedLock.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Property/SupportedReportSet.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/PropertyInterface.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Server.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/ServerPlugin.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/SimpleCollection.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/SimpleFile.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/StringUtil.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/TemporaryFileFilterPlugin.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Tree
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Tree.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Tree/Filesystem.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/URLUtil.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/UUIDUtil.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Version.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/XMLUtil.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAVACL
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAVACL/AbstractPrincipalCollection.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAVACL/Exception
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAVACL/Exception/AceConflict.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAVACL/Exception/NeedPrivileges.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAVACL/Exception/NoAbstract.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAVACL/Exception/NotRecognizedPrincipal.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAVACL/Exception/NotSupportedPrivilege.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAVACL/IACL.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAVACL/IPrincipal.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAVACL/IPrincipalCollection.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAVACL/Plugin.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAVACL/Principal.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAVACL/PrincipalBackend
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAVACL/PrincipalBackend/AbstractBackend.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAVACL/PrincipalBackend/BackendInterface.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAVACL/PrincipalBackend/PDO.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAVACL/PrincipalCollection.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAVACL/Property
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAVACL/Property/Acl.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAVACL/Property/AclRestrictions.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAVACL/Property/CurrentUserPrivilegeSet.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAVACL/Property/Principal.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAVACL/Property/SupportedPrivilegeSet.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/DAVACL/Version.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/HTTP
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/HTTP/AWSAuth.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/HTTP/AbstractAuth.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/HTTP/BasicAuth.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/HTTP/DigestAuth.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/HTTP/Request.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/HTTP/Response.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/HTTP/Util.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/HTTP/Version.php
+#srv/web/owncloud/3rdparty/sabre/dav/lib/Sabre/autoload.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/Backend
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/Backend/AbstractPDOTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/Backend/AbstractTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/Backend/Mock.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/Backend/PDOMySQLTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/Backend/PDOSqliteTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/CalendarObjectTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/CalendarQueryParserTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/CalendarQueryVAlarmTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/CalendarQueryValidatorTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/CalendarTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/ExpandEventsDTSTARTandDTENDTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/ExpandEventsDTSTARTandDTENDbyDayTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/ExpandEventsDoubleEventsTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/FreeBusyReportTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/FreeBusyRequestTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/GetEventsByTimerangeTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/ICSExportPluginTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/Issue166Test.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/Issue172Test.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/Issue203Test.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/Issue205Test.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/Issue211Test.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/Issue220Test.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/Issue228Test.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/Notifications
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/Notifications/CollectionTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/Notifications/NodeTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/Notifications/Notification
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/Notifications/Notification/InviteReplyTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/Notifications/Notification/InviteTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/Notifications/Notification/SystemStatusTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/OutboxPostTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/PluginTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/Principal
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/Principal/CollectionTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/Principal/ProxyReadTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/Principal/ProxyWriteTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/Principal/UserTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/Property
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/Property/AllowedSharingModesTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/Property/InviteTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/Property/ScheduleCalendarTranspTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/Property/SupportedCalendarComponentSetTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/Property/SupportedCalendarDataTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/Property/SupportedCollationSetTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/Schedule
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/Schedule/IMip
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/Schedule/IMip/Mock.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/Schedule/OutboxTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/ShareableCalendarTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/SharedCalendarTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/SharingPluginTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/TestUtil.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/UserCalendarsSharedCalendarsTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/UserCalendarsTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/ValidateICalTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CalDAV/VersionTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CardDAV
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CardDAV/AbstractPluginTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CardDAV/AddressBookQueryParserTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CardDAV/AddressBookQueryTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CardDAV/AddressBookRootTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CardDAV/AddressBookTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CardDAV/Backend
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CardDAV/Backend/AbstractPDOTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CardDAV/Backend/Mock.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CardDAV/Backend/PDOMySQLTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CardDAV/Backend/PDOSqliteTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CardDAV/CardTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CardDAV/IDirectoryTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CardDAV/MultiGetTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CardDAV/PluginTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CardDAV/Property
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CardDAV/Property/SupportedAddressDataTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CardDAV/SogoStripContentTypeTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CardDAV/TestUtil.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CardDAV/UserAddressBooksTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CardDAV/VCFExportTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CardDAV/ValidateFilterTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CardDAV/ValidateVCardTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/CardDAV/VersionTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/AbstractServer.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Auth
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Auth/Backend
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Auth/Backend/AbstractBasicTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Auth/Backend/AbstractDigestTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Auth/Backend/AbstractPDOTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Auth/Backend/ApacheTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Auth/Backend/FileTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Auth/Backend/Mock.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Auth/Backend/PDOMySQLTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Auth/Backend/PDOSqliteTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Auth/PluginTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/BasicNodeTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Browser
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Browser/GuessContentTypeTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Browser/MapGetToPropFindTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Browser/PluginTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/ClientMock.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/ClientTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Exception
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Exception/LockedTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Exception/PaymentRequiredTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/ExceptionTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/FSExt
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/FSExt/FileTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/FSExt/NodeTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/FSExt/ServerTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/HTTPPreferParsingTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/HttpDeleteTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/HttpPutTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Issue33Test.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Locks
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Locks/Backend
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Locks/Backend/AbstractTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Locks/Backend/FSTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Locks/Backend/FileTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Locks/Backend/PDOMySQLTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Locks/Backend/PDOTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Locks/GetIfConditionsTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Locks/MSWordTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Locks/PluginTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Mock
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Mock/Collection.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Mock/File.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Mount
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Mount/PluginTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/ObjectTreeTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/PartialUpdate
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/PartialUpdate/FileMock.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/PartialUpdate/PluginTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/PartialUpdate/SpecificationTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Property
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Property/GetLastModifiedTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Property/HrefListTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Property/HrefTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Property/ResourceTypeTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Property/ResponseListTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Property/ResponseTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Property/SupportedReportSetTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/ServerCopyMoveTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/ServerEventsTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/ServerMKCOLTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/ServerPluginTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/ServerPreconditionTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/ServerPropsTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/ServerRangeTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/ServerSimpleTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/ServerUpdatePropertiesTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/SimpleFileTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/StringUtilTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/TemporaryFileFilterTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/TestPlugin.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Tree
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/Tree/FilesystemTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/TreeTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/URLUtilTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/UUIDUtilTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAV/XMLUtilTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAVACL
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAVACL/ACLMethodTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAVACL/AllowAccessTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAVACL/BlockAccessTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAVACL/Exception
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAVACL/Exception/AceConflictTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAVACL/Exception/NeedPrivilegesExceptionTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAVACL/Exception/NoAbstractTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAVACL/Exception/NotRecognizedPrincipalTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAVACL/Exception/NotSupportedPrivilegeTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAVACL/ExpandPropertiesTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAVACL/MockACLNode.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAVACL/MockPrincipal.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAVACL/PluginAdminTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAVACL/PluginPropertiesTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAVACL/PluginUpdatePropertiesTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/AbstractPDOTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/Mock.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/PDOMySQLTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/PDOSqliteTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAVACL/PrincipalCollectionTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAVACL/PrincipalPropertySearchTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAVACL/PrincipalSearchPropertySetTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAVACL/PrincipalTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAVACL/Property
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAVACL/Property/ACLRestrictionsTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAVACL/Property/ACLTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAVACL/Property/CurrentUserPrivilegeSetTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAVACL/Property/PrincipalTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAVACL/Property/SupportedPrivilegeSetTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAVACL/SimplePluginTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAVACL/VersionTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/DAVServerTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/HTTP
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/HTTP/AWSAuthTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/HTTP/BasicAuthTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/HTTP/DigestAuthTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/HTTP/RequestTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/HTTP/ResponseMock.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/HTTP/ResponseTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/HTTP/UtilTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/HTTP/VersionTest.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/Sabre/TestUtil.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/bootstrap.php
+#srv/web/owncloud/3rdparty/sabre/dav/tests/composer.vobject3.json
+#srv/web/owncloud/3rdparty/sabre/dav/tests/phpunit.xml
+#srv/web/owncloud/3rdparty/sabre/vobject
+#srv/web/owncloud/3rdparty/sabre/vobject/ChangeLog
+#srv/web/owncloud/3rdparty/sabre/vobject/LICENSE
+#srv/web/owncloud/3rdparty/sabre/vobject/README.md
+#srv/web/owncloud/3rdparty/sabre/vobject/bin
+#srv/web/owncloud/3rdparty/sabre/vobject/bin/bench.php
+#srv/web/owncloud/3rdparty/sabre/vobject/bin/generateicalendardata.php
+#srv/web/owncloud/3rdparty/sabre/vobject/bin/vobjectvalidate.php
+#srv/web/owncloud/3rdparty/sabre/vobject/composer.json
+#srv/web/owncloud/3rdparty/sabre/vobject/lib
+#srv/web/owncloud/3rdparty/sabre/vobject/lib/Sabre
+#srv/web/owncloud/3rdparty/sabre/vobject/lib/Sabre/VObject
+#srv/web/owncloud/3rdparty/sabre/vobject/lib/Sabre/VObject/Component
+#srv/web/owncloud/3rdparty/sabre/vobject/lib/Sabre/VObject/Component.php
+#srv/web/owncloud/3rdparty/sabre/vobject/lib/Sabre/VObject/Component/VAlarm.php
+#srv/web/owncloud/3rdparty/sabre/vobject/lib/Sabre/VObject/Component/VCalendar.php
+#srv/web/owncloud/3rdparty/sabre/vobject/lib/Sabre/VObject/Component/VCard.php
+#srv/web/owncloud/3rdparty/sabre/vobject/lib/Sabre/VObject/Component/VEvent.php
+#srv/web/owncloud/3rdparty/sabre/vobject/lib/Sabre/VObject/Component/VFreeBusy.php
+#srv/web/owncloud/3rdparty/sabre/vobject/lib/Sabre/VObject/Component/VJournal.php
+#srv/web/owncloud/3rdparty/sabre/vobject/lib/Sabre/VObject/Component/VTodo.php
+#srv/web/owncloud/3rdparty/sabre/vobject/lib/Sabre/VObject/DateTimeParser.php
+#srv/web/owncloud/3rdparty/sabre/vobject/lib/Sabre/VObject/Document.php
+#srv/web/owncloud/3rdparty/sabre/vobject/lib/Sabre/VObject/ElementList.php
+#srv/web/owncloud/3rdparty/sabre/vobject/lib/Sabre/VObject/FreeBusyGenerator.php
+#srv/web/owncloud/3rdparty/sabre/vobject/lib/Sabre/VObject/Node.php
+#srv/web/owncloud/3rdparty/sabre/vobject/lib/Sabre/VObject/Parameter.php
+#srv/web/owncloud/3rdparty/sabre/vobject/lib/Sabre/VObject/ParseException.php
+#srv/web/owncloud/3rdparty/sabre/vobject/lib/Sabre/VObject/Property
+#srv/web/owncloud/3rdparty/sabre/vobject/lib/Sabre/VObject/Property.php
+#srv/web/owncloud/3rdparty/sabre/vobject/lib/Sabre/VObject/Property/Compound.php
+#srv/web/owncloud/3rdparty/sabre/vobject/lib/Sabre/VObject/Property/DateTime.php
+#srv/web/owncloud/3rdparty/sabre/vobject/lib/Sabre/VObject/Property/MultiDateTime.php
+#srv/web/owncloud/3rdparty/sabre/vobject/lib/Sabre/VObject/Reader.php
+#srv/web/owncloud/3rdparty/sabre/vobject/lib/Sabre/VObject/RecurrenceIterator.php
+#srv/web/owncloud/3rdparty/sabre/vobject/lib/Sabre/VObject/Splitter
+#srv/web/owncloud/3rdparty/sabre/vobject/lib/Sabre/VObject/Splitter/ICalendar.php
+#srv/web/owncloud/3rdparty/sabre/vobject/lib/Sabre/VObject/Splitter/SplitterInterface.php
+#srv/web/owncloud/3rdparty/sabre/vobject/lib/Sabre/VObject/Splitter/VCard.php
+#srv/web/owncloud/3rdparty/sabre/vobject/lib/Sabre/VObject/StringUtil.php
+#srv/web/owncloud/3rdparty/sabre/vobject/lib/Sabre/VObject/TimeZoneUtil.php
+#srv/web/owncloud/3rdparty/sabre/vobject/lib/Sabre/VObject/Version.php
+#srv/web/owncloud/3rdparty/sabre/vobject/lib/Sabre/VObject/includes.php
+#srv/web/owncloud/3rdparty/sabre/vobject/tests
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/Sabre
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/Sabre/VObject
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/Sabre/VObject/Component
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/Sabre/VObject/Component/VAlarmTest.php
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/Sabre/VObject/Component/VCalendarTest.php
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/Sabre/VObject/Component/VCardTest.php
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/Sabre/VObject/Component/VEventTest.php
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/Sabre/VObject/Component/VFreeBusyTest.php
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/Sabre/VObject/Component/VJournalTest.php
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/Sabre/VObject/Component/VTodoTest.php
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/Sabre/VObject/ComponentTest.php
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/Sabre/VObject/DateTimeParserTest.php
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/Sabre/VObject/DocumentTest.php
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/Sabre/VObject/ElementListTest.php
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/Sabre/VObject/EmClientTest.php
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/Sabre/VObject/FreeBusyGeneratorTest.php
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/Sabre/VObject/Issue153Test.php
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/Sabre/VObject/Issue154Test.php
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/Sabre/VObject/Issue48Test.php
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/Sabre/VObject/Issue50Test.php
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/Sabre/VObject/ParameterTest.php
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/Sabre/VObject/Property
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/Sabre/VObject/Property/CompoundTest.php
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/Sabre/VObject/Property/DateTimeTest.php
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/Sabre/VObject/Property/MultiDateTimeTest.php
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/Sabre/VObject/PropertyTest.php
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/Sabre/VObject/ReaderTest.php
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/Sabre/VObject/RecurrenceIteratorFifthTuesdayProblemTest.php
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/Sabre/VObject/RecurrenceIteratorIncorrectExpandTest.php
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/Sabre/VObject/RecurrenceIteratorInfiniteLoopProblemTest.php
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/Sabre/VObject/RecurrenceIteratorMinusOneProblemTest.php
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/Sabre/VObject/RecurrenceIteratorMissingOverriddenTest.php
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/Sabre/VObject/RecurrenceIteratorTest.php
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/Sabre/VObject/SlashRTest.php
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/Sabre/VObject/Splitter
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/Sabre/VObject/Splitter/ICalendarTest.php
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/Sabre/VObject/Splitter/VCardTest.php
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/Sabre/VObject/StringUtilTest.php
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/Sabre/VObject/TimeZoneUtilTest.php
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/Sabre/VObject/VersionTest.php
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/Sabre/VObject/issue153.vcf
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/bootstrap.php
+#srv/web/owncloud/3rdparty/sabre/vobject/tests/phpunit.xml
+#srv/web/owncloud/3rdparty/symfony
+#srv/web/owncloud/3rdparty/symfony/console
+#srv/web/owncloud/3rdparty/symfony/console/Symfony
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Application.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/CHANGELOG.md
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Command
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Command/Command.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Command/HelpCommand.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Command/ListCommand.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/ConsoleEvents.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Descriptor
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Descriptor/ApplicationDescription.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Descriptor/Descriptor.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Descriptor/DescriptorInterface.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Descriptor/JsonDescriptor.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Descriptor/MarkdownDescriptor.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Descriptor/TextDescriptor.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Descriptor/XmlDescriptor.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Event
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Event/ConsoleCommandEvent.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Event/ConsoleEvent.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Event/ConsoleExceptionEvent.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Event/ConsoleTerminateEvent.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Formatter
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Formatter/OutputFormatter.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Formatter/OutputFormatterInterface.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Formatter/OutputFormatterStyle.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Formatter/OutputFormatterStyleInterface.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Formatter/OutputFormatterStyleStack.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Helper
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Helper/DescriptorHelper.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Helper/DialogHelper.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Helper/FormatterHelper.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Helper/Helper.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Helper/HelperInterface.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Helper/HelperSet.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Helper/ProgressHelper.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Helper/TableHelper.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Input
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Input/ArgvInput.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Input/ArrayInput.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Input/Input.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Input/InputArgument.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Input/InputDefinition.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Input/InputInterface.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Input/InputOption.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Input/StringInput.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/LICENSE
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Output
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Output/ConsoleOutput.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Output/ConsoleOutputInterface.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Output/NullOutput.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Output/Output.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Output/OutputInterface.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Output/StreamOutput.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/README.md
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Shell.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tester
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tester/ApplicationTester.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tester/CommandTester.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/ApplicationTest.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Command
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Command/CommandTest.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Command/HelpCommandTest.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Command/ListCommandTest.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Descriptor
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Descriptor/AbstractDescriptorTest.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Descriptor/JsonDescriptorTest.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Descriptor/MarkdownDescriptorTest.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Descriptor/ObjectsProvider.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Descriptor/TextDescriptorTest.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Descriptor/XmlDescriptorTest.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/DescriptorApplication1.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/DescriptorApplication2.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/DescriptorCommand1.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/DescriptorCommand2.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/Foo1Command.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/Foo2Command.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/Foo3Command.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/Foo4Command.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/FooCommand.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/TestCommand.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_1.json
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_1.md
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_1.txt
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_1.xml
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_2.json
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_2.md
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_2.txt
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_2.xml
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_astext1.txt
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_astext2.txt
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_asxml1.txt
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_asxml2.txt
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_gethelp.txt
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_renderexception1.txt
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_renderexception2.txt
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_renderexception3.txt
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_renderexception4.txt
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_run1.txt
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_run2.txt
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_run3.txt
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_run4.txt
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/command_1.json
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/command_1.md
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/command_1.txt
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/command_1.xml
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/command_2.json
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/command_2.md
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/command_2.txt
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/command_2.xml
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/command_astext.txt
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/command_asxml.txt
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/definition_astext.txt
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/definition_asxml.txt
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_argument_1.json
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_argument_1.md
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_argument_1.txt
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_argument_1.xml
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_argument_2.json
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_argument_2.md
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_argument_2.txt
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_argument_2.xml
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_argument_3.json
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_argument_3.md
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_argument_3.txt
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_argument_3.xml
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_1.json
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_1.md
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_1.txt
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_1.xml
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_2.json
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_2.md
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_2.txt
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_2.xml
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_3.json
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_3.md
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_3.txt
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_3.xml
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_4.json
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_4.md
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_4.txt
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_4.xml
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_1.json
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_1.md
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_1.txt
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_1.xml
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_2.json
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_2.md
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_2.txt
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_2.xml
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_3.json
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_3.md
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_3.txt
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_3.xml
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_4.json
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_4.md
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_4.txt
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_4.xml
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Formatter
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Formatter/OutputFormatterStyleStackTest.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Formatter/OutputFormatterStyleTest.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Formatter/OutputFormatterTest.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Helper
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Helper/DialogHelperTest.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Helper/FormatterHelperTest.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Helper/HelperSetTest.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Helper/ProgressHelperTest.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Helper/TableHelperTest.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Input
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Input/ArgvInputTest.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Input/ArrayInputTest.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Input/InputArgumentTest.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Input/InputDefinitionTest.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Input/InputOptionTest.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Input/InputTest.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Input/StringInputTest.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Output
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Output/ConsoleOutputTest.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Output/NullOutputTest.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Output/OutputTest.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Output/StreamOutputTest.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Tester
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Tester/ApplicationTesterTest.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tests/Tester/CommandTesterTest.php
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/composer.json
+#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/phpunit.xml.dist
+#srv/web/owncloud/3rdparty/symfony/event-dispatcher
+#srv/web/owncloud/3rdparty/symfony/event-dispatcher/Symfony
+#srv/web/owncloud/3rdparty/symfony/event-dispatcher/Symfony/Component
+#srv/web/owncloud/3rdparty/symfony/event-dispatcher/Symfony/Component/EventDispatcher
+#srv/web/owncloud/3rdparty/symfony/event-dispatcher/Symfony/Component/EventDispatcher/CHANGELOG.md
+#srv/web/owncloud/3rdparty/symfony/event-dispatcher/Symfony/Component/EventDispatcher/ContainerAwareEventDispatcher.php
+#srv/web/owncloud/3rdparty/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Debug
+#srv/web/owncloud/3rdparty/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcher.php
+#srv/web/owncloud/3rdparty/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcherInterface.php
+#srv/web/owncloud/3rdparty/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Debug/WrappedListener.php
+#srv/web/owncloud/3rdparty/symfony/event-dispatcher/Symfony/Component/EventDispatcher/DependencyInjection
+#srv/web/owncloud/3rdparty/symfony/event-dispatcher/Symfony/Component/EventDispatcher/DependencyInjection/RegisterListenersPass.php
+#srv/web/owncloud/3rdparty/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Event.php
+#srv/web/owncloud/3rdparty/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventDispatcher.php
+#srv/web/owncloud/3rdparty/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventDispatcherInterface.php
+#srv/web/owncloud/3rdparty/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventSubscriberInterface.php
+#srv/web/owncloud/3rdparty/symfony/event-dispatcher/Symfony/Component/EventDispatcher/GenericEvent.php
+#srv/web/owncloud/3rdparty/symfony/event-dispatcher/Symfony/Component/EventDispatcher/ImmutableEventDispatcher.php
+#srv/web/owncloud/3rdparty/symfony/event-dispatcher/Symfony/Component/EventDispatcher/LICENSE
+#srv/web/owncloud/3rdparty/symfony/event-dispatcher/Symfony/Component/EventDispatcher/README.md
+#srv/web/owncloud/3rdparty/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests
+#srv/web/owncloud/3rdparty/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/ContainerAwareEventDispatcherTest.php
+#srv/web/owncloud/3rdparty/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/Debug
+#srv/web/owncloud/3rdparty/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/Debug/TraceableEventDispatcherTest.php
+#srv/web/owncloud/3rdparty/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/DependencyInjection
+#srv/web/owncloud/3rdparty/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/DependencyInjection/RegisterListenersPassTest.php
+#srv/web/owncloud/3rdparty/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/EventDispatcherTest.php
+#srv/web/owncloud/3rdparty/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/EventTest.php
+#srv/web/owncloud/3rdparty/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/GenericEventTest.php
+#srv/web/owncloud/3rdparty/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/ImmutableEventDispatcherTest.php
+#srv/web/owncloud/3rdparty/symfony/event-dispatcher/Symfony/Component/EventDispatcher/composer.json
+#srv/web/owncloud/3rdparty/symfony/event-dispatcher/Symfony/Component/EventDispatcher/phpunit.xml.dist
+#srv/web/owncloud/3rdparty/symfony/process
+#srv/web/owncloud/3rdparty/symfony/process/Symfony
+#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component
+#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process
+#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process/4a6ea65c9fef48d6734356bba4ee47d8
+#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process/CHANGELOG.md
+#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process/Exception
+#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process/Exception/ExceptionInterface.php
+#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process/Exception/InvalidArgumentException.php
+#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process/Exception/LogicException.php
+#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process/Exception/ProcessFailedException.php
+#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process/Exception/ProcessTimedOutException.php
+#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process/Exception/RuntimeException.php
+#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process/ExecutableFinder.php
+#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process/LICENSE
+#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process/PhpExecutableFinder.php
+#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process/PhpProcess.php
+#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process/Process.php
+#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process/ProcessBuilder.php
+#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process/ProcessPipes.php
+#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process/ProcessUtils.php
+#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process/README.md
+#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process/Tests
+#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process/Tests/AbstractProcessTest.php
+#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process/Tests/NonStopableProcess.php
+#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process/Tests/PhpExecutableFinderTest.php
+#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process/Tests/PhpProcessTest.php
+#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process/Tests/PipeStdinInStdoutStdErrStreamSelect.php
+#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process/Tests/ProcessBuilderTest.php
+#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process/Tests/ProcessFailedExceptionTest.php
+#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process/Tests/ProcessInSigchildEnvironment.php
+#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process/Tests/ProcessUtilsTest.php
+#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process/Tests/SigchildDisabledProcessTest.php
+#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process/Tests/SigchildEnabledProcessTest.php
+#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process/Tests/SignalListener.php
+#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process/Tests/SimpleProcessTest.php
+#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process/composer.json
+#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process/phpunit.xml.dist
+#srv/web/owncloud/3rdparty/symfony/routing
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Annotation
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Annotation/Route.php
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/CompiledRoute.php
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Exception
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Exception/ExceptionInterface.php
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Exception/InvalidParameterException.php
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Exception/MethodNotAllowedException.php
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Exception/MissingMandatoryParametersException.php
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Exception/ResourceNotFoundException.php
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Exception/RouteNotFoundException.php
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Generator
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Generator/Dumper
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Generator/Dumper/GeneratorDumper.php
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Generator/Dumper/GeneratorDumperInterface.php
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Generator/Dumper/PhpGeneratorDumper.php
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Generator/UrlGenerator.php
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Generator/UrlGeneratorInterface.php
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/LICENSE
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Loader
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Loader/AnnotationClassLoader.php
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Loader/AnnotationDirectoryLoader.php
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Loader/AnnotationFileLoader.php
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Loader/ClosureLoader.php
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Loader/PhpFileLoader.php
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Loader/XmlFileLoader.php
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Loader/YamlFileLoader.php
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Loader/schema
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Loader/schema/routing
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Loader/schema/routing/routing-1.0.xsd
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Matcher
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Matcher/ApacheUrlMatcher.php
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Matcher/Dumper
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/ApacheMatcherDumper.php
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/MatcherDumper.php
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/MatcherDumperInterface.php
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/PhpMatcherDumper.php
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Matcher/RedirectableUrlMatcher.php
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Matcher/RedirectableUrlMatcherInterface.php
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Matcher/UrlMatcher.php
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Matcher/UrlMatcherInterface.php
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/README.md
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/RequestContext.php
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/RequestContextAwareInterface.php
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Route.php
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/RouteCollection.php
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/RouteCompiler.php
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/RouteCompilerInterface.php
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Router.php
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/RouterInterface.php
+#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/composer.json
+#srv/web/owncloud/3rdparty/timepicker
+#srv/web/owncloud/3rdparty/timepicker/GPL-LICENSE.txt
+#srv/web/owncloud/3rdparty/timepicker/MIT-LICENSE.txt
+#srv/web/owncloud/3rdparty/timepicker/css
+#srv/web/owncloud/3rdparty/timepicker/css/include
+#srv/web/owncloud/3rdparty/timepicker/css/include/images
+#srv/web/owncloud/3rdparty/timepicker/css/include/images/ui-bg_diagonals-thick_18_b81900_40x40.png
+#srv/web/owncloud/3rdparty/timepicker/css/include/images/ui-bg_diagonals-thick_20_666666_40x40.png
+#srv/web/owncloud/3rdparty/timepicker/css/include/images/ui-bg_flat_10_000000_40x100.png
+#srv/web/owncloud/3rdparty/timepicker/css/include/images/ui-bg_glass_100_f6f6f6_1x400.png
+#srv/web/owncloud/3rdparty/timepicker/css/include/images/ui-bg_glass_100_fdf5ce_1x400.png
+#srv/web/owncloud/3rdparty/timepicker/css/include/images/ui-bg_glass_65_ffffff_1x400.png
+#srv/web/owncloud/3rdparty/timepicker/css/include/images/ui-bg_gloss-wave_35_f6a828_500x100.png
+#srv/web/owncloud/3rdparty/timepicker/css/include/images/ui-bg_highlight-soft_100_eeeeee_1x100.png
+#srv/web/owncloud/3rdparty/timepicker/css/include/images/ui-bg_highlight-soft_75_ffe45c_1x100.png
+#srv/web/owncloud/3rdparty/timepicker/css/include/images/ui-icons_222222_256x240.png
+#srv/web/owncloud/3rdparty/timepicker/css/include/images/ui-icons_228ef1_256x240.png
+#srv/web/owncloud/3rdparty/timepicker/css/include/images/ui-icons_ef8c08_256x240.png
+#srv/web/owncloud/3rdparty/timepicker/css/include/images/ui-icons_ffd27a_256x240.png
+#srv/web/owncloud/3rdparty/timepicker/css/include/images/ui-icons_ffffff_256x240.png
+#srv/web/owncloud/3rdparty/timepicker/css/include/jquery-1.5.1.min.js
+#srv/web/owncloud/3rdparty/timepicker/css/include/jquery-ui-1.8.14.custom.css
+#srv/web/owncloud/3rdparty/timepicker/css/include/jquery.ui.core.min.js
+#srv/web/owncloud/3rdparty/timepicker/css/include/jquery.ui.position.min.js
+#srv/web/owncloud/3rdparty/timepicker/css/include/jquery.ui.tabs.min.js
+#srv/web/owncloud/3rdparty/timepicker/css/include/jquery.ui.widget.min.js
+#srv/web/owncloud/3rdparty/timepicker/css/include/ui-lightness
+#srv/web/owncloud/3rdparty/timepicker/css/include/ui-lightness/images
+#srv/web/owncloud/3rdparty/timepicker/css/include/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png
+#srv/web/owncloud/3rdparty/timepicker/css/include/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png
+#srv/web/owncloud/3rdparty/timepicker/css/include/ui-lightness/images/ui-bg_flat_10_000000_40x100.png
+#srv/web/owncloud/3rdparty/timepicker/css/include/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png
+#srv/web/owncloud/3rdparty/timepicker/css/include/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png
+#srv/web/owncloud/3rdparty/timepicker/css/include/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png
+#srv/web/owncloud/3rdparty/timepicker/css/include/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png
+#srv/web/owncloud/3rdparty/timepicker/css/include/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png
+#srv/web/owncloud/3rdparty/timepicker/css/include/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png
+#srv/web/owncloud/3rdparty/timepicker/css/include/ui-lightness/images/ui-icons_222222_256x240.png
+#srv/web/owncloud/3rdparty/timepicker/css/include/ui-lightness/images/ui-icons_228ef1_256x240.png
+#srv/web/owncloud/3rdparty/timepicker/css/include/ui-lightness/images/ui-icons_ef8c08_256x240.png
+#srv/web/owncloud/3rdparty/timepicker/css/include/ui-lightness/images/ui-icons_ffd27a_256x240.png
+#srv/web/owncloud/3rdparty/timepicker/css/include/ui-lightness/images/ui-icons_ffffff_256x240.png
+#srv/web/owncloud/3rdparty/timepicker/css/jquery.ui.timepicker.css
+#srv/web/owncloud/3rdparty/timepicker/js
+#srv/web/owncloud/3rdparty/timepicker/js/i18n
+#srv/web/owncloud/3rdparty/timepicker/js/i18n/i18n.html
+#srv/web/owncloud/3rdparty/timepicker/js/i18n/jquery.ui.timepicker-cs.js
+#srv/web/owncloud/3rdparty/timepicker/js/i18n/jquery.ui.timepicker-de.js
+#srv/web/owncloud/3rdparty/timepicker/js/i18n/jquery.ui.timepicker-es.js
+#srv/web/owncloud/3rdparty/timepicker/js/i18n/jquery.ui.timepicker-fr.js
+#srv/web/owncloud/3rdparty/timepicker/js/i18n/jquery.ui.timepicker-hr.js
+#srv/web/owncloud/3rdparty/timepicker/js/i18n/jquery.ui.timepicker-it.js
+#srv/web/owncloud/3rdparty/timepicker/js/i18n/jquery.ui.timepicker-ja.js
+#srv/web/owncloud/3rdparty/timepicker/js/i18n/jquery.ui.timepicker-nl.js
+#srv/web/owncloud/3rdparty/timepicker/js/i18n/jquery.ui.timepicker-pl.js
+#srv/web/owncloud/3rdparty/timepicker/js/i18n/jquery.ui.timepicker-pt-BR.js
+#srv/web/owncloud/3rdparty/timepicker/js/i18n/jquery.ui.timepicker-sl.js
+#srv/web/owncloud/3rdparty/timepicker/js/i18n/jquery.ui.timepicker-sv.js
+#srv/web/owncloud/3rdparty/timepicker/js/i18n/jquery.ui.timepicker-tr.js
+#srv/web/owncloud/3rdparty/timepicker/js/jquery.ui.timepicker.js
+#srv/web/owncloud/3rdparty/timepicker/releases.txt
+#srv/web/owncloud/3rdparty/zxcvbn
+#srv/web/owncloud/3rdparty/zxcvbn/LICENSE.txt
+#srv/web/owncloud/3rdparty/zxcvbn/README.md
+#srv/web/owncloud/3rdparty/zxcvbn/js
+#srv/web/owncloud/3rdparty/zxcvbn/js/zxcvbn.js
+#srv/web/owncloud/3rdparty/zxcvbn/js/zxcvbn.min.js
+#srv/web/owncloud/AUTHORS
+#srv/web/owncloud/COPYING-AGPL
+#srv/web/owncloud/apps
+#srv/web/owncloud/apps/activity
+#srv/web/owncloud/apps/activity/README.md
+#srv/web/owncloud/apps/activity/ajax
+#srv/web/owncloud/apps/activity/ajax/fetch.php
+#srv/web/owncloud/apps/activity/ajax/rssfeed.php
+#srv/web/owncloud/apps/activity/ajax/settings.php
+#srv/web/owncloud/apps/activity/appinfo
+#srv/web/owncloud/apps/activity/appinfo/app.php
+#srv/web/owncloud/apps/activity/appinfo/database.xml
+#srv/web/owncloud/apps/activity/appinfo/info.xml
+#srv/web/owncloud/apps/activity/appinfo/routes.php
+#srv/web/owncloud/apps/activity/appinfo/update.php
+#srv/web/owncloud/apps/activity/appinfo/version
+#srv/web/owncloud/apps/activity/css
+#srv/web/owncloud/apps/activity/css/settings.css
+#srv/web/owncloud/apps/activity/css/style.css
+#srv/web/owncloud/apps/activity/img
+#srv/web/owncloud/apps/activity/img/activity.png
+#srv/web/owncloud/apps/activity/img/activity.svg
+#srv/web/owncloud/apps/activity/img/add-color.png
+#srv/web/owncloud/apps/activity/img/add-color.svg
+#srv/web/owncloud/apps/activity/img/change.png
+#srv/web/owncloud/apps/activity/img/change.svg
+#srv/web/owncloud/apps/activity/img/delete-color.png
+#srv/web/owncloud/apps/activity/img/delete-color.svg
+#srv/web/owncloud/apps/activity/index.php
+#srv/web/owncloud/apps/activity/js
+#srv/web/owncloud/apps/activity/js/script.js
+#srv/web/owncloud/apps/activity/js/settings.js
+#srv/web/owncloud/apps/activity/l10n
+#srv/web/owncloud/apps/activity/l10n/ach.php
+#srv/web/owncloud/apps/activity/l10n/ady.php
+#srv/web/owncloud/apps/activity/l10n/af.php
+#srv/web/owncloud/apps/activity/l10n/af_ZA.php
+#srv/web/owncloud/apps/activity/l10n/ak.php
+#srv/web/owncloud/apps/activity/l10n/am_ET.php
+#srv/web/owncloud/apps/activity/l10n/ar.php
+#srv/web/owncloud/apps/activity/l10n/ast.php
+#srv/web/owncloud/apps/activity/l10n/az.php
+#srv/web/owncloud/apps/activity/l10n/be.php
+#srv/web/owncloud/apps/activity/l10n/bg_BG.php
+#srv/web/owncloud/apps/activity/l10n/bn_BD.php
+#srv/web/owncloud/apps/activity/l10n/bn_IN.php
+#srv/web/owncloud/apps/activity/l10n/bs.php
+#srv/web/owncloud/apps/activity/l10n/ca.php
+#srv/web/owncloud/apps/activity/l10n/ca@valencia.php
+#srv/web/owncloud/apps/activity/l10n/cs_CZ.php
+#srv/web/owncloud/apps/activity/l10n/cy_GB.php
+#srv/web/owncloud/apps/activity/l10n/da.php
+#srv/web/owncloud/apps/activity/l10n/de.php
+#srv/web/owncloud/apps/activity/l10n/de_AT.php
+#srv/web/owncloud/apps/activity/l10n/de_CH.php
+#srv/web/owncloud/apps/activity/l10n/de_DE.php
+#srv/web/owncloud/apps/activity/l10n/el.php
+#srv/web/owncloud/apps/activity/l10n/en@pirate.php
+#srv/web/owncloud/apps/activity/l10n/en_GB.php
+#srv/web/owncloud/apps/activity/l10n/en_NZ.php
+#srv/web/owncloud/apps/activity/l10n/eo.php
+#srv/web/owncloud/apps/activity/l10n/es.php
+#srv/web/owncloud/apps/activity/l10n/es_AR.php
+#srv/web/owncloud/apps/activity/l10n/es_BO.php
+#srv/web/owncloud/apps/activity/l10n/es_CL.php
+#srv/web/owncloud/apps/activity/l10n/es_CO.php
+#srv/web/owncloud/apps/activity/l10n/es_CR.php
+#srv/web/owncloud/apps/activity/l10n/es_EC.php
+#srv/web/owncloud/apps/activity/l10n/es_MX.php
+#srv/web/owncloud/apps/activity/l10n/es_PE.php
+#srv/web/owncloud/apps/activity/l10n/es_PY.php
+#srv/web/owncloud/apps/activity/l10n/es_US.php
+#srv/web/owncloud/apps/activity/l10n/es_UY.php
+#srv/web/owncloud/apps/activity/l10n/et_EE.php
+#srv/web/owncloud/apps/activity/l10n/eu.php
+#srv/web/owncloud/apps/activity/l10n/eu_ES.php
+#srv/web/owncloud/apps/activity/l10n/fa.php
+#srv/web/owncloud/apps/activity/l10n/fi_FI.php
+#srv/web/owncloud/apps/activity/l10n/fr.php
+#srv/web/owncloud/apps/activity/l10n/fr_CA.php
+#srv/web/owncloud/apps/activity/l10n/gl.php
+#srv/web/owncloud/apps/activity/l10n/he.php
+#srv/web/owncloud/apps/activity/l10n/hi.php
+#srv/web/owncloud/apps/activity/l10n/hi_IN.php
+#srv/web/owncloud/apps/activity/l10n/hr.php
+#srv/web/owncloud/apps/activity/l10n/hu_HU.php
+#srv/web/owncloud/apps/activity/l10n/hy.php
+#srv/web/owncloud/apps/activity/l10n/ia.php
+#srv/web/owncloud/apps/activity/l10n/id.php
+#srv/web/owncloud/apps/activity/l10n/is.php
+#srv/web/owncloud/apps/activity/l10n/it.php
+#srv/web/owncloud/apps/activity/l10n/ja.php
+#srv/web/owncloud/apps/activity/l10n/ja_JP.php
+#srv/web/owncloud/apps/activity/l10n/jv.php
+#srv/web/owncloud/apps/activity/l10n/ka_GE.php
+#srv/web/owncloud/apps/activity/l10n/km.php
+#srv/web/owncloud/apps/activity/l10n/kn.php
+#srv/web/owncloud/apps/activity/l10n/ko.php
+#srv/web/owncloud/apps/activity/l10n/ku_IQ.php
+#srv/web/owncloud/apps/activity/l10n/l10n.pl
+#srv/web/owncloud/apps/activity/l10n/lb.php
+#srv/web/owncloud/apps/activity/l10n/lt_LT.php
+#srv/web/owncloud/apps/activity/l10n/lv.php
+#srv/web/owncloud/apps/activity/l10n/mk.php
+#srv/web/owncloud/apps/activity/l10n/ml.php
+#srv/web/owncloud/apps/activity/l10n/ml_IN.php
+#srv/web/owncloud/apps/activity/l10n/mn.php
+#srv/web/owncloud/apps/activity/l10n/ms_MY.php
+#srv/web/owncloud/apps/activity/l10n/my_MM.php
+#srv/web/owncloud/apps/activity/l10n/nb_NO.php
+#srv/web/owncloud/apps/activity/l10n/nds.php
+#srv/web/owncloud/apps/activity/l10n/ne.php
+#srv/web/owncloud/apps/activity/l10n/nl.php
+#srv/web/owncloud/apps/activity/l10n/nn_NO.php
+#srv/web/owncloud/apps/activity/l10n/nqo.php
+#srv/web/owncloud/apps/activity/l10n/oc.php
+#srv/web/owncloud/apps/activity/l10n/or_IN.php
+#srv/web/owncloud/apps/activity/l10n/pa.php
+#srv/web/owncloud/apps/activity/l10n/pl.php
+#srv/web/owncloud/apps/activity/l10n/pt_BR.php
+#srv/web/owncloud/apps/activity/l10n/pt_PT.php
+#srv/web/owncloud/apps/activity/l10n/ro.php
+#srv/web/owncloud/apps/activity/l10n/ru.php
+#srv/web/owncloud/apps/activity/l10n/si_LK.php
+#srv/web/owncloud/apps/activity/l10n/sk.php
+#srv/web/owncloud/apps/activity/l10n/sk_SK.php
+#srv/web/owncloud/apps/activity/l10n/sl.php
+#srv/web/owncloud/apps/activity/l10n/sq.php
+#srv/web/owncloud/apps/activity/l10n/sr.php
+#srv/web/owncloud/apps/activity/l10n/sr@latin.php
+#srv/web/owncloud/apps/activity/l10n/su.php
+#srv/web/owncloud/apps/activity/l10n/sv.php
+#srv/web/owncloud/apps/activity/l10n/sw_KE.php
+#srv/web/owncloud/apps/activity/l10n/ta_IN.php
+#srv/web/owncloud/apps/activity/l10n/ta_LK.php
+#srv/web/owncloud/apps/activity/l10n/te.php
+#srv/web/owncloud/apps/activity/l10n/th_TH.php
+#srv/web/owncloud/apps/activity/l10n/tr.php
+#srv/web/owncloud/apps/activity/l10n/tzm.php
+#srv/web/owncloud/apps/activity/l10n/ug.php
+#srv/web/owncloud/apps/activity/l10n/uk.php
+#srv/web/owncloud/apps/activity/l10n/ur.php
+#srv/web/owncloud/apps/activity/l10n/ur_PK.php
+#srv/web/owncloud/apps/activity/l10n/uz.php
+#srv/web/owncloud/apps/activity/l10n/vi.php
+#srv/web/owncloud/apps/activity/l10n/zh_CN.php
+#srv/web/owncloud/apps/activity/l10n/zh_HK.php
+#srv/web/owncloud/apps/activity/l10n/zh_TW.php
+#srv/web/owncloud/apps/activity/lib
+#srv/web/owncloud/apps/activity/lib/api.php
+#srv/web/owncloud/apps/activity/lib/backgroundjob
+#srv/web/owncloud/apps/activity/lib/backgroundjob/emailnotification.php
+#srv/web/owncloud/apps/activity/lib/backgroundjob/expireactivities.php
+#srv/web/owncloud/apps/activity/lib/consumer.php
+#srv/web/owncloud/apps/activity/lib/data.php
+#srv/web/owncloud/apps/activity/lib/datahelper.php
+#srv/web/owncloud/apps/activity/lib/display.php
+#srv/web/owncloud/apps/activity/lib/grouphelper.php
+#srv/web/owncloud/apps/activity/lib/hooks.php
+#srv/web/owncloud/apps/activity/lib/mailqueuehandler.php
+#srv/web/owncloud/apps/activity/lib/navigation.php
+#srv/web/owncloud/apps/activity/lib/parameterhelper.php
+#srv/web/owncloud/apps/activity/lib/usersettings.php
+#srv/web/owncloud/apps/activity/personal.php
+#srv/web/owncloud/apps/activity/rss.php
+#srv/web/owncloud/apps/activity/templates
+#srv/web/owncloud/apps/activity/templates/activities.part.php
+#srv/web/owncloud/apps/activity/templates/activity.box.php
+#srv/web/owncloud/apps/activity/templates/email.notification.php
+#srv/web/owncloud/apps/activity/templates/list.php
+#srv/web/owncloud/apps/activity/templates/navigation.php
+#srv/web/owncloud/apps/activity/templates/personal.php
+#srv/web/owncloud/apps/activity/templates/rss.php
+#srv/web/owncloud/apps/activity/tests
+#srv/web/owncloud/apps/activity/tests/apitest.php
+#srv/web/owncloud/apps/activity/tests/bootstrap.php
+#srv/web/owncloud/apps/activity/tests/datadeleteactivitestest.php
+#srv/web/owncloud/apps/activity/tests/datahelpertest.php
+#srv/web/owncloud/apps/activity/tests/datatest.php
+#srv/web/owncloud/apps/activity/tests/grouphelpertest.php
+#srv/web/owncloud/apps/activity/tests/hooksdeleteusertest.php
+#srv/web/owncloud/apps/activity/tests/mailqueuehandlertest.php
+#srv/web/owncloud/apps/activity/tests/navigationtest.php
+#srv/web/owncloud/apps/activity/tests/phpunit.xml
+#srv/web/owncloud/apps/activity/tests/usersettingstest.php
+#srv/web/owncloud/apps/admin_dependencies_chk
+#srv/web/owncloud/apps/admin_dependencies_chk/appinfo
+#srv/web/owncloud/apps/admin_dependencies_chk/appinfo/app.php
+#srv/web/owncloud/apps/admin_dependencies_chk/appinfo/info.xml
+#srv/web/owncloud/apps/admin_dependencies_chk/appinfo/version
+#srv/web/owncloud/apps/admin_dependencies_chk/css
+#srv/web/owncloud/apps/admin_dependencies_chk/css/style.css
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/ar.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/ast.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/bg_BG.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/bn_BD.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/ca.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/cs_CZ.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/da.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/de.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/de_CH.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/de_DE.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/el.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/en_GB.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/eo.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/es.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/es_AR.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/es_CL.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/es_MX.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/et_EE.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/eu.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/eu_ES.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/fa.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/fi_FI.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/fr.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/gl.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/hu_HU.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/id.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/is.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/it.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/ja.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/ja_JP.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/jv.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/ka_GE.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/km.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/ko.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/lb.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/lt_LT.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/lv.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/mk.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/nb_NO.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/nl.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/nn_NO.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/pl.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/pt_BR.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/pt_PT.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/ro.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/ru.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/si_LK.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/sk_SK.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/sl.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/sq.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/sr.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/sr@latin.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/sv.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/ta_LK.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/th_TH.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/tr.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/ug.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/uk.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/vi.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/zh_CN.php
+#srv/web/owncloud/apps/admin_dependencies_chk/l10n/zh_TW.php
+#srv/web/owncloud/apps/admin_dependencies_chk/settings.php
+#srv/web/owncloud/apps/admin_dependencies_chk/templates
+#srv/web/owncloud/apps/admin_dependencies_chk/templates/settings.php
+#srv/web/owncloud/apps/bookmarks
+#srv/web/owncloud/apps/bookmarks/3rdparty
+#srv/web/owncloud/apps/bookmarks/3rdparty/css
+#srv/web/owncloud/apps/bookmarks/3rdparty/css/jquery.tagit.css
+#srv/web/owncloud/apps/bookmarks/3rdparty/js
+#srv/web/owncloud/apps/bookmarks/3rdparty/js/js_tpl.js
+#srv/web/owncloud/apps/bookmarks/3rdparty/js/tag-it.js
+#srv/web/owncloud/apps/bookmarks/README.md
+#srv/web/owncloud/apps/bookmarks/addBm.php
+#srv/web/owncloud/apps/bookmarks/ajax
+#srv/web/owncloud/apps/bookmarks/ajax/delBookmark.php
+#srv/web/owncloud/apps/bookmarks/ajax/delTag.php
+#srv/web/owncloud/apps/bookmarks/ajax/editBookmark.php
+#srv/web/owncloud/apps/bookmarks/ajax/getInfos.php
+#srv/web/owncloud/apps/bookmarks/ajax/import.php
+#srv/web/owncloud/apps/bookmarks/ajax/recordClick.php
+#srv/web/owncloud/apps/bookmarks/ajax/renameTag.php
+#srv/web/owncloud/apps/bookmarks/ajax/updateList.php
+#srv/web/owncloud/apps/bookmarks/appinfo
+#srv/web/owncloud/apps/bookmarks/appinfo/app.php
+#srv/web/owncloud/apps/bookmarks/appinfo/database.xml
+#srv/web/owncloud/apps/bookmarks/appinfo/info.xml
+#srv/web/owncloud/apps/bookmarks/appinfo/migrate.php
+#srv/web/owncloud/apps/bookmarks/appinfo/version
+#srv/web/owncloud/apps/bookmarks/css
+#srv/web/owncloud/apps/bookmarks/css/bookmarks.css
+#srv/web/owncloud/apps/bookmarks/export.php
+#srv/web/owncloud/apps/bookmarks/img
+#srv/web/owncloud/apps/bookmarks/img/bookmarks.png
+#srv/web/owncloud/apps/bookmarks/img/bookmarks.svg
+#srv/web/owncloud/apps/bookmarks/img/triangle-e.png
+#srv/web/owncloud/apps/bookmarks/img/triangle-e.svg
+#srv/web/owncloud/apps/bookmarks/img/triangle-w.png
+#srv/web/owncloud/apps/bookmarks/img/triangle-w.svg
+#srv/web/owncloud/apps/bookmarks/index.php
+#srv/web/owncloud/apps/bookmarks/js
+#srv/web/owncloud/apps/bookmarks/js/addBm.js
+#srv/web/owncloud/apps/bookmarks/js/bookmarks.js
+#srv/web/owncloud/apps/bookmarks/js/bookmarksearch.js
+#srv/web/owncloud/apps/bookmarks/js/full_tags.php
+#srv/web/owncloud/apps/bookmarks/js/settings.js
+#srv/web/owncloud/apps/bookmarks/l10n
+#srv/web/owncloud/apps/bookmarks/l10n/ach
+#srv/web/owncloud/apps/bookmarks/l10n/ach/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/ady
+#srv/web/owncloud/apps/bookmarks/l10n/ady/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/af
+#srv/web/owncloud/apps/bookmarks/l10n/af/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/af_ZA
+#srv/web/owncloud/apps/bookmarks/l10n/af_ZA.php
+#srv/web/owncloud/apps/bookmarks/l10n/af_ZA/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/ak
+#srv/web/owncloud/apps/bookmarks/l10n/ak/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/am_ET
+#srv/web/owncloud/apps/bookmarks/l10n/am_ET/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/ar
+#srv/web/owncloud/apps/bookmarks/l10n/ar.php
+#srv/web/owncloud/apps/bookmarks/l10n/ar/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/ast
+#srv/web/owncloud/apps/bookmarks/l10n/ast.php
+#srv/web/owncloud/apps/bookmarks/l10n/ast/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/az
+#srv/web/owncloud/apps/bookmarks/l10n/az/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/be
+#srv/web/owncloud/apps/bookmarks/l10n/be.php
+#srv/web/owncloud/apps/bookmarks/l10n/be/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/bg_BG
+#srv/web/owncloud/apps/bookmarks/l10n/bg_BG.php
+#srv/web/owncloud/apps/bookmarks/l10n/bg_BG/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/bn_BD
+#srv/web/owncloud/apps/bookmarks/l10n/bn_BD.php
+#srv/web/owncloud/apps/bookmarks/l10n/bn_BD/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/bn_IN
+#srv/web/owncloud/apps/bookmarks/l10n/bn_IN/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/bs
+#srv/web/owncloud/apps/bookmarks/l10n/bs.php
+#srv/web/owncloud/apps/bookmarks/l10n/bs/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/ca
+#srv/web/owncloud/apps/bookmarks/l10n/ca.php
+#srv/web/owncloud/apps/bookmarks/l10n/ca/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/ca@valencia
+#srv/web/owncloud/apps/bookmarks/l10n/ca@valencia/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/cs_CZ
+#srv/web/owncloud/apps/bookmarks/l10n/cs_CZ.php
+#srv/web/owncloud/apps/bookmarks/l10n/cs_CZ/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/cy_GB
+#srv/web/owncloud/apps/bookmarks/l10n/cy_GB.php
+#srv/web/owncloud/apps/bookmarks/l10n/cy_GB/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/da
+#srv/web/owncloud/apps/bookmarks/l10n/da.php
+#srv/web/owncloud/apps/bookmarks/l10n/da/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/de
+#srv/web/owncloud/apps/bookmarks/l10n/de.php
+#srv/web/owncloud/apps/bookmarks/l10n/de/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/de_AT
+#srv/web/owncloud/apps/bookmarks/l10n/de_AT.php
+#srv/web/owncloud/apps/bookmarks/l10n/de_AT/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/de_CH
+#srv/web/owncloud/apps/bookmarks/l10n/de_CH.php
+#srv/web/owncloud/apps/bookmarks/l10n/de_CH/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/de_DE
+#srv/web/owncloud/apps/bookmarks/l10n/de_DE.php
+#srv/web/owncloud/apps/bookmarks/l10n/de_DE/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/el
+#srv/web/owncloud/apps/bookmarks/l10n/el.php
+#srv/web/owncloud/apps/bookmarks/l10n/el/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/en@pirate
+#srv/web/owncloud/apps/bookmarks/l10n/en@pirate/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/en_GB
+#srv/web/owncloud/apps/bookmarks/l10n/en_GB.php
+#srv/web/owncloud/apps/bookmarks/l10n/en_GB/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/en_NZ
+#srv/web/owncloud/apps/bookmarks/l10n/en_NZ/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/eo
+#srv/web/owncloud/apps/bookmarks/l10n/eo.php
+#srv/web/owncloud/apps/bookmarks/l10n/eo/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/es
+#srv/web/owncloud/apps/bookmarks/l10n/es.php
+#srv/web/owncloud/apps/bookmarks/l10n/es/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/es_AR
+#srv/web/owncloud/apps/bookmarks/l10n/es_AR.php
+#srv/web/owncloud/apps/bookmarks/l10n/es_AR/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/es_BO
+#srv/web/owncloud/apps/bookmarks/l10n/es_BO/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/es_CL
+#srv/web/owncloud/apps/bookmarks/l10n/es_CL.php
+#srv/web/owncloud/apps/bookmarks/l10n/es_CL/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/es_CO
+#srv/web/owncloud/apps/bookmarks/l10n/es_CO/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/es_CR
+#srv/web/owncloud/apps/bookmarks/l10n/es_CR/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/es_EC
+#srv/web/owncloud/apps/bookmarks/l10n/es_EC/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/es_MX
+#srv/web/owncloud/apps/bookmarks/l10n/es_MX.php
+#srv/web/owncloud/apps/bookmarks/l10n/es_MX/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/es_PE
+#srv/web/owncloud/apps/bookmarks/l10n/es_PE/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/es_PY
+#srv/web/owncloud/apps/bookmarks/l10n/es_PY/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/es_US
+#srv/web/owncloud/apps/bookmarks/l10n/es_US/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/es_UY
+#srv/web/owncloud/apps/bookmarks/l10n/es_UY/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/et_EE
+#srv/web/owncloud/apps/bookmarks/l10n/et_EE.php
+#srv/web/owncloud/apps/bookmarks/l10n/et_EE/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/eu
+#srv/web/owncloud/apps/bookmarks/l10n/eu.php
+#srv/web/owncloud/apps/bookmarks/l10n/eu/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/eu_ES
+#srv/web/owncloud/apps/bookmarks/l10n/eu_ES.php
+#srv/web/owncloud/apps/bookmarks/l10n/eu_ES/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/fa
+#srv/web/owncloud/apps/bookmarks/l10n/fa.php
+#srv/web/owncloud/apps/bookmarks/l10n/fa/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/fi
+#srv/web/owncloud/apps/bookmarks/l10n/fi.php
+#srv/web/owncloud/apps/bookmarks/l10n/fi/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/fi_FI
+#srv/web/owncloud/apps/bookmarks/l10n/fi_FI.php
+#srv/web/owncloud/apps/bookmarks/l10n/fi_FI/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/fr
+#srv/web/owncloud/apps/bookmarks/l10n/fr.php
+#srv/web/owncloud/apps/bookmarks/l10n/fr/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/fr_CA
+#srv/web/owncloud/apps/bookmarks/l10n/fr_CA/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/gl
+#srv/web/owncloud/apps/bookmarks/l10n/gl.php
+#srv/web/owncloud/apps/bookmarks/l10n/gl/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/he
+#srv/web/owncloud/apps/bookmarks/l10n/he.php
+#srv/web/owncloud/apps/bookmarks/l10n/he/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/hi
+#srv/web/owncloud/apps/bookmarks/l10n/hi.php
+#srv/web/owncloud/apps/bookmarks/l10n/hi/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/hi_IN
+#srv/web/owncloud/apps/bookmarks/l10n/hi_IN/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/hr
+#srv/web/owncloud/apps/bookmarks/l10n/hr.php
+#srv/web/owncloud/apps/bookmarks/l10n/hr/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/hu_HU
+#srv/web/owncloud/apps/bookmarks/l10n/hu_HU.php
+#srv/web/owncloud/apps/bookmarks/l10n/hu_HU/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/hy
+#srv/web/owncloud/apps/bookmarks/l10n/hy.php
+#srv/web/owncloud/apps/bookmarks/l10n/hy/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/ia
+#srv/web/owncloud/apps/bookmarks/l10n/ia.php
+#srv/web/owncloud/apps/bookmarks/l10n/ia/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/id
+#srv/web/owncloud/apps/bookmarks/l10n/id.php
+#srv/web/owncloud/apps/bookmarks/l10n/id/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/is
+#srv/web/owncloud/apps/bookmarks/l10n/is.php
+#srv/web/owncloud/apps/bookmarks/l10n/is/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/it
+#srv/web/owncloud/apps/bookmarks/l10n/it.php
+#srv/web/owncloud/apps/bookmarks/l10n/it/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/ja
+#srv/web/owncloud/apps/bookmarks/l10n/ja.php
+#srv/web/owncloud/apps/bookmarks/l10n/ja/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/ja_JP.php
+#srv/web/owncloud/apps/bookmarks/l10n/jv
+#srv/web/owncloud/apps/bookmarks/l10n/jv.php
+#srv/web/owncloud/apps/bookmarks/l10n/jv/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/ka
+#srv/web/owncloud/apps/bookmarks/l10n/ka/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/ka_GE
+#srv/web/owncloud/apps/bookmarks/l10n/ka_GE.php
+#srv/web/owncloud/apps/bookmarks/l10n/ka_GE/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/km
+#srv/web/owncloud/apps/bookmarks/l10n/km.php
+#srv/web/owncloud/apps/bookmarks/l10n/km/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/kn
+#srv/web/owncloud/apps/bookmarks/l10n/kn/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/ko
+#srv/web/owncloud/apps/bookmarks/l10n/ko.php
+#srv/web/owncloud/apps/bookmarks/l10n/ko/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/ku_IQ
+#srv/web/owncloud/apps/bookmarks/l10n/ku_IQ.php
+#srv/web/owncloud/apps/bookmarks/l10n/ku_IQ/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/l10n.pl
+#srv/web/owncloud/apps/bookmarks/l10n/lb
+#srv/web/owncloud/apps/bookmarks/l10n/lb.php
+#srv/web/owncloud/apps/bookmarks/l10n/lb/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/lt_LT
+#srv/web/owncloud/apps/bookmarks/l10n/lt_LT.php
+#srv/web/owncloud/apps/bookmarks/l10n/lt_LT/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/lv
+#srv/web/owncloud/apps/bookmarks/l10n/lv.php
+#srv/web/owncloud/apps/bookmarks/l10n/lv/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/mk
+#srv/web/owncloud/apps/bookmarks/l10n/mk.php
+#srv/web/owncloud/apps/bookmarks/l10n/mk/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/ml
+#srv/web/owncloud/apps/bookmarks/l10n/ml/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/ml_IN
+#srv/web/owncloud/apps/bookmarks/l10n/ml_IN/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/mn
+#srv/web/owncloud/apps/bookmarks/l10n/mn/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/ms_MY
+#srv/web/owncloud/apps/bookmarks/l10n/ms_MY.php
+#srv/web/owncloud/apps/bookmarks/l10n/ms_MY/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/my_MM
+#srv/web/owncloud/apps/bookmarks/l10n/my_MM.php
+#srv/web/owncloud/apps/bookmarks/l10n/my_MM/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/nb_NO
+#srv/web/owncloud/apps/bookmarks/l10n/nb_NO.php
+#srv/web/owncloud/apps/bookmarks/l10n/nb_NO/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/nds
+#srv/web/owncloud/apps/bookmarks/l10n/nds/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/ne
+#srv/web/owncloud/apps/bookmarks/l10n/ne/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/nl
+#srv/web/owncloud/apps/bookmarks/l10n/nl.php
+#srv/web/owncloud/apps/bookmarks/l10n/nl/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/nn_NO
+#srv/web/owncloud/apps/bookmarks/l10n/nn_NO.php
+#srv/web/owncloud/apps/bookmarks/l10n/nn_NO/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/nqo
+#srv/web/owncloud/apps/bookmarks/l10n/nqo/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/oc
+#srv/web/owncloud/apps/bookmarks/l10n/oc.php
+#srv/web/owncloud/apps/bookmarks/l10n/oc/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/or_IN
+#srv/web/owncloud/apps/bookmarks/l10n/or_IN/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/pa
+#srv/web/owncloud/apps/bookmarks/l10n/pa.php
+#srv/web/owncloud/apps/bookmarks/l10n/pa/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/pl
+#srv/web/owncloud/apps/bookmarks/l10n/pl.php
+#srv/web/owncloud/apps/bookmarks/l10n/pl/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/pl_PL
+#srv/web/owncloud/apps/bookmarks/l10n/pl_PL.php
+#srv/web/owncloud/apps/bookmarks/l10n/pl_PL/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/pt_BR
+#srv/web/owncloud/apps/bookmarks/l10n/pt_BR.php
+#srv/web/owncloud/apps/bookmarks/l10n/pt_BR/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/pt_PT
+#srv/web/owncloud/apps/bookmarks/l10n/pt_PT.php
+#srv/web/owncloud/apps/bookmarks/l10n/pt_PT/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/ro
+#srv/web/owncloud/apps/bookmarks/l10n/ro.php
+#srv/web/owncloud/apps/bookmarks/l10n/ro/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/ru
+#srv/web/owncloud/apps/bookmarks/l10n/ru.php
+#srv/web/owncloud/apps/bookmarks/l10n/ru/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/ru_RU
+#srv/web/owncloud/apps/bookmarks/l10n/ru_RU.php
+#srv/web/owncloud/apps/bookmarks/l10n/ru_RU/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/si_LK
+#srv/web/owncloud/apps/bookmarks/l10n/si_LK.php
+#srv/web/owncloud/apps/bookmarks/l10n/si_LK/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/sk
+#srv/web/owncloud/apps/bookmarks/l10n/sk.php
+#srv/web/owncloud/apps/bookmarks/l10n/sk/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/sk_SK
+#srv/web/owncloud/apps/bookmarks/l10n/sk_SK.php
+#srv/web/owncloud/apps/bookmarks/l10n/sk_SK/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/sl
+#srv/web/owncloud/apps/bookmarks/l10n/sl.php
+#srv/web/owncloud/apps/bookmarks/l10n/sl/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/sq
+#srv/web/owncloud/apps/bookmarks/l10n/sq.php
+#srv/web/owncloud/apps/bookmarks/l10n/sq/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/sr
+#srv/web/owncloud/apps/bookmarks/l10n/sr.php
+#srv/web/owncloud/apps/bookmarks/l10n/sr/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/sr@latin
+#srv/web/owncloud/apps/bookmarks/l10n/sr@latin.php
+#srv/web/owncloud/apps/bookmarks/l10n/sr@latin/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/su
+#srv/web/owncloud/apps/bookmarks/l10n/su/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/sv
+#srv/web/owncloud/apps/bookmarks/l10n/sv.php
+#srv/web/owncloud/apps/bookmarks/l10n/sv/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/sw_KE
+#srv/web/owncloud/apps/bookmarks/l10n/sw_KE/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/ta_IN
+#srv/web/owncloud/apps/bookmarks/l10n/ta_IN/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/ta_LK
+#srv/web/owncloud/apps/bookmarks/l10n/ta_LK.php
+#srv/web/owncloud/apps/bookmarks/l10n/ta_LK/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/te
+#srv/web/owncloud/apps/bookmarks/l10n/te.php
+#srv/web/owncloud/apps/bookmarks/l10n/te/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/templates
+#srv/web/owncloud/apps/bookmarks/l10n/templates/bookmarks.pot
+#srv/web/owncloud/apps/bookmarks/l10n/th_TH
+#srv/web/owncloud/apps/bookmarks/l10n/th_TH.php
+#srv/web/owncloud/apps/bookmarks/l10n/th_TH/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/tr
+#srv/web/owncloud/apps/bookmarks/l10n/tr.php
+#srv/web/owncloud/apps/bookmarks/l10n/tr/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/tzm
+#srv/web/owncloud/apps/bookmarks/l10n/tzm/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/ug
+#srv/web/owncloud/apps/bookmarks/l10n/ug.php
+#srv/web/owncloud/apps/bookmarks/l10n/ug/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/uk
+#srv/web/owncloud/apps/bookmarks/l10n/uk.php
+#srv/web/owncloud/apps/bookmarks/l10n/uk/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/ur
+#srv/web/owncloud/apps/bookmarks/l10n/ur/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/ur_PK
+#srv/web/owncloud/apps/bookmarks/l10n/ur_PK.php
+#srv/web/owncloud/apps/bookmarks/l10n/ur_PK/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/uz
+#srv/web/owncloud/apps/bookmarks/l10n/uz/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/vi
+#srv/web/owncloud/apps/bookmarks/l10n/vi.php
+#srv/web/owncloud/apps/bookmarks/l10n/vi/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/xgettextfiles
+#srv/web/owncloud/apps/bookmarks/l10n/zh_CN
+#srv/web/owncloud/apps/bookmarks/l10n/zh_CN.GB2312
+#srv/web/owncloud/apps/bookmarks/l10n/zh_CN.GB2312.php
+#srv/web/owncloud/apps/bookmarks/l10n/zh_CN.GB2312/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/zh_CN.php
+#srv/web/owncloud/apps/bookmarks/l10n/zh_CN/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/zh_HK
+#srv/web/owncloud/apps/bookmarks/l10n/zh_HK.php
+#srv/web/owncloud/apps/bookmarks/l10n/zh_HK/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/l10n/zh_TW
+#srv/web/owncloud/apps/bookmarks/l10n/zh_TW.php
+#srv/web/owncloud/apps/bookmarks/l10n/zh_TW/bookmarks.po
+#srv/web/owncloud/apps/bookmarks/lib
+#srv/web/owncloud/apps/bookmarks/lib/bookmarks.php
+#srv/web/owncloud/apps/bookmarks/lib/search.php
+#srv/web/owncloud/apps/bookmarks/templates
+#srv/web/owncloud/apps/bookmarks/templates/addBm.php
+#srv/web/owncloud/apps/bookmarks/templates/js_tpl.php
+#srv/web/owncloud/apps/bookmarks/templates/list.php
+#srv/web/owncloud/apps/bookmarks/templates/settings.php
+#srv/web/owncloud/apps/bookmarks/tests
+#srv/web/owncloud/apps/bookmarks/tests/lib_bookmark.php
+#srv/web/owncloud/apps/calendar
+#srv/web/owncloud/apps/calendar/3rdparty
+#srv/web/owncloud/apps/calendar/3rdparty/fullcalendar
+#srv/web/owncloud/apps/calendar/3rdparty/fullcalendar/GPL-LICENSE.txt
+#srv/web/owncloud/apps/calendar/3rdparty/fullcalendar/MIT-LICENSE.txt
+#srv/web/owncloud/apps/calendar/3rdparty/fullcalendar/css
+#srv/web/owncloud/apps/calendar/3rdparty/fullcalendar/css/fullcalendar.css
+#srv/web/owncloud/apps/calendar/3rdparty/fullcalendar/css/fullcalendar.print.css
+#srv/web/owncloud/apps/calendar/3rdparty/fullcalendar/js
+#srv/web/owncloud/apps/calendar/3rdparty/fullcalendar/js/fullcalendar.js
+#srv/web/owncloud/apps/calendar/3rdparty/fullcalendar/js/fullcalendar.min.js
+#srv/web/owncloud/apps/calendar/3rdparty/fullcalendar/js/gcal.js
+#srv/web/owncloud/apps/calendar/README.md
+#srv/web/owncloud/apps/calendar/ajax
+#srv/web/owncloud/apps/calendar/ajax/cache
+#srv/web/owncloud/apps/calendar/ajax/cache/rescan.php
+#srv/web/owncloud/apps/calendar/ajax/cache/status.php
+#srv/web/owncloud/apps/calendar/ajax/calendar
+#srv/web/owncloud/apps/calendar/ajax/calendar/activation.php
+#srv/web/owncloud/apps/calendar/ajax/calendar/delete.php
+#srv/web/owncloud/apps/calendar/ajax/calendar/edit.form.php
+#srv/web/owncloud/apps/calendar/ajax/calendar/edit.php
+#srv/web/owncloud/apps/calendar/ajax/calendar/new.form.php
+#srv/web/owncloud/apps/calendar/ajax/calendar/new.php
+#srv/web/owncloud/apps/calendar/ajax/calendar/overview.php
+#srv/web/owncloud/apps/calendar/ajax/calendar/update.php
+#srv/web/owncloud/apps/calendar/ajax/categories
+#srv/web/owncloud/apps/calendar/ajax/categories/rescan.php
+#srv/web/owncloud/apps/calendar/ajax/changeview.php
+#srv/web/owncloud/apps/calendar/ajax/event
+#srv/web/owncloud/apps/calendar/ajax/event/delete.php
+#srv/web/owncloud/apps/calendar/ajax/event/edit.form.php
+#srv/web/owncloud/apps/calendar/ajax/event/edit.php
+#srv/web/owncloud/apps/calendar/ajax/event/move.php
+#srv/web/owncloud/apps/calendar/ajax/event/new.form.php
+#srv/web/owncloud/apps/calendar/ajax/event/new.php
+#srv/web/owncloud/apps/calendar/ajax/event/resize.php
+#srv/web/owncloud/apps/calendar/ajax/event/sendmail.php
+#srv/web/owncloud/apps/calendar/ajax/events.php
+#srv/web/owncloud/apps/calendar/ajax/import
+#srv/web/owncloud/apps/calendar/ajax/import/calendarcheck.php
+#srv/web/owncloud/apps/calendar/ajax/import/dialog.php
+#srv/web/owncloud/apps/calendar/ajax/import/dropimport.php
+#srv/web/owncloud/apps/calendar/ajax/import/import.php
+#srv/web/owncloud/apps/calendar/ajax/search-location.php
+#srv/web/owncloud/apps/calendar/ajax/settings
+#srv/web/owncloud/apps/calendar/ajax/settings/getfirstday.php
+#srv/web/owncloud/apps/calendar/ajax/settings/gettimezonedetection.php
+#srv/web/owncloud/apps/calendar/ajax/settings/guesstimezone.php
+#srv/web/owncloud/apps/calendar/ajax/settings/setfirstday.php
+#srv/web/owncloud/apps/calendar/ajax/settings/settimeformat.php
+#srv/web/owncloud/apps/calendar/ajax/settings/settimezone.php
+#srv/web/owncloud/apps/calendar/ajax/settings/timeformat.php
+#srv/web/owncloud/apps/calendar/ajax/settings/timezonedetection.php
+#srv/web/owncloud/apps/calendar/appinfo
+#srv/web/owncloud/apps/calendar/appinfo/app.php
+#srv/web/owncloud/apps/calendar/appinfo/database.xml
+#srv/web/owncloud/apps/calendar/appinfo/info.xml
+#srv/web/owncloud/apps/calendar/appinfo/migrate.php
+#srv/web/owncloud/apps/calendar/appinfo/preupdate.php
+#srv/web/owncloud/apps/calendar/appinfo/remote.php
+#srv/web/owncloud/apps/calendar/appinfo/update.php
+#srv/web/owncloud/apps/calendar/appinfo/version
+#srv/web/owncloud/apps/calendar/caldav.php
+#srv/web/owncloud/apps/calendar/calendar.php
+#srv/web/owncloud/apps/calendar/css
+#srv/web/owncloud/apps/calendar/css/import.css
+#srv/web/owncloud/apps/calendar/css/style.css
+#srv/web/owncloud/apps/calendar/export.php
+#srv/web/owncloud/apps/calendar/img
+#srv/web/owncloud/apps/calendar/img/calendar.png
+#srv/web/owncloud/apps/calendar/img/calendar.svg
+#srv/web/owncloud/apps/calendar/img/loading.gif
+#srv/web/owncloud/apps/calendar/index.php
+#srv/web/owncloud/apps/calendar/js
+#srv/web/owncloud/apps/calendar/js/calendar.js
+#srv/web/owncloud/apps/calendar/js/geo.js
+#srv/web/owncloud/apps/calendar/js/idtype.php
+#srv/web/owncloud/apps/calendar/js/jquery.multi-autocomplete.js
+#srv/web/owncloud/apps/calendar/js/l10n.php
+#srv/web/owncloud/apps/calendar/js/loader.js
+#srv/web/owncloud/apps/calendar/js/on-event.js
+#srv/web/owncloud/apps/calendar/js/settings.js
+#srv/web/owncloud/apps/calendar/l10n
+#srv/web/owncloud/apps/calendar/l10n/ach
+#srv/web/owncloud/apps/calendar/l10n/ach/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/ady
+#srv/web/owncloud/apps/calendar/l10n/ady/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/af
+#srv/web/owncloud/apps/calendar/l10n/af/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/af_ZA
+#srv/web/owncloud/apps/calendar/l10n/af_ZA.php
+#srv/web/owncloud/apps/calendar/l10n/af_ZA/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/ak
+#srv/web/owncloud/apps/calendar/l10n/ak/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/am_ET
+#srv/web/owncloud/apps/calendar/l10n/am_ET/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/ar
+#srv/web/owncloud/apps/calendar/l10n/ar.php
+#srv/web/owncloud/apps/calendar/l10n/ar/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/ast
+#srv/web/owncloud/apps/calendar/l10n/ast.php
+#srv/web/owncloud/apps/calendar/l10n/ast/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/az
+#srv/web/owncloud/apps/calendar/l10n/az/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/be
+#srv/web/owncloud/apps/calendar/l10n/be.php
+#srv/web/owncloud/apps/calendar/l10n/be/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/bg_BG
+#srv/web/owncloud/apps/calendar/l10n/bg_BG.php
+#srv/web/owncloud/apps/calendar/l10n/bg_BG/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/bn_BD
+#srv/web/owncloud/apps/calendar/l10n/bn_BD.php
+#srv/web/owncloud/apps/calendar/l10n/bn_BD/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/bn_IN
+#srv/web/owncloud/apps/calendar/l10n/bn_IN/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/bs
+#srv/web/owncloud/apps/calendar/l10n/bs.php
+#srv/web/owncloud/apps/calendar/l10n/bs/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/ca
+#srv/web/owncloud/apps/calendar/l10n/ca.php
+#srv/web/owncloud/apps/calendar/l10n/ca/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/ca@valencia
+#srv/web/owncloud/apps/calendar/l10n/ca@valencia/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/cs_CZ
+#srv/web/owncloud/apps/calendar/l10n/cs_CZ.php
+#srv/web/owncloud/apps/calendar/l10n/cs_CZ/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/cy_GB
+#srv/web/owncloud/apps/calendar/l10n/cy_GB.php
+#srv/web/owncloud/apps/calendar/l10n/cy_GB/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/da
+#srv/web/owncloud/apps/calendar/l10n/da.php
+#srv/web/owncloud/apps/calendar/l10n/da/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/de
+#srv/web/owncloud/apps/calendar/l10n/de.php
+#srv/web/owncloud/apps/calendar/l10n/de/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/de_AT
+#srv/web/owncloud/apps/calendar/l10n/de_AT.php
+#srv/web/owncloud/apps/calendar/l10n/de_AT/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/de_CH
+#srv/web/owncloud/apps/calendar/l10n/de_CH.php
+#srv/web/owncloud/apps/calendar/l10n/de_CH/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/de_DE
+#srv/web/owncloud/apps/calendar/l10n/de_DE.php
+#srv/web/owncloud/apps/calendar/l10n/de_DE/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/el
+#srv/web/owncloud/apps/calendar/l10n/el.php
+#srv/web/owncloud/apps/calendar/l10n/el/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/en@pirate
+#srv/web/owncloud/apps/calendar/l10n/en@pirate.php
+#srv/web/owncloud/apps/calendar/l10n/en@pirate/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/en_GB
+#srv/web/owncloud/apps/calendar/l10n/en_GB.php
+#srv/web/owncloud/apps/calendar/l10n/en_GB/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/en_NZ
+#srv/web/owncloud/apps/calendar/l10n/en_NZ/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/eo
+#srv/web/owncloud/apps/calendar/l10n/eo.php
+#srv/web/owncloud/apps/calendar/l10n/eo/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/es
+#srv/web/owncloud/apps/calendar/l10n/es.php
+#srv/web/owncloud/apps/calendar/l10n/es/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/es_AR
+#srv/web/owncloud/apps/calendar/l10n/es_AR.php
+#srv/web/owncloud/apps/calendar/l10n/es_AR/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/es_BO
+#srv/web/owncloud/apps/calendar/l10n/es_BO/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/es_CL
+#srv/web/owncloud/apps/calendar/l10n/es_CL.php
+#srv/web/owncloud/apps/calendar/l10n/es_CL/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/es_CO
+#srv/web/owncloud/apps/calendar/l10n/es_CO/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/es_CR
+#srv/web/owncloud/apps/calendar/l10n/es_CR/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/es_EC
+#srv/web/owncloud/apps/calendar/l10n/es_EC/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/es_MX
+#srv/web/owncloud/apps/calendar/l10n/es_MX.php
+#srv/web/owncloud/apps/calendar/l10n/es_MX/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/es_PE
+#srv/web/owncloud/apps/calendar/l10n/es_PE/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/es_PY
+#srv/web/owncloud/apps/calendar/l10n/es_PY/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/es_US
+#srv/web/owncloud/apps/calendar/l10n/es_US/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/es_UY
+#srv/web/owncloud/apps/calendar/l10n/es_UY/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/et_EE
+#srv/web/owncloud/apps/calendar/l10n/et_EE.php
+#srv/web/owncloud/apps/calendar/l10n/et_EE/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/eu
+#srv/web/owncloud/apps/calendar/l10n/eu.php
+#srv/web/owncloud/apps/calendar/l10n/eu/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/eu_ES
+#srv/web/owncloud/apps/calendar/l10n/eu_ES.php
+#srv/web/owncloud/apps/calendar/l10n/eu_ES/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/fa
+#srv/web/owncloud/apps/calendar/l10n/fa.php
+#srv/web/owncloud/apps/calendar/l10n/fa/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/fi
+#srv/web/owncloud/apps/calendar/l10n/fi.php
+#srv/web/owncloud/apps/calendar/l10n/fi/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/fi_FI
+#srv/web/owncloud/apps/calendar/l10n/fi_FI.php
+#srv/web/owncloud/apps/calendar/l10n/fi_FI/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/fr
+#srv/web/owncloud/apps/calendar/l10n/fr.php
+#srv/web/owncloud/apps/calendar/l10n/fr/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/fr_CA
+#srv/web/owncloud/apps/calendar/l10n/fr_CA/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/gl
+#srv/web/owncloud/apps/calendar/l10n/gl.php
+#srv/web/owncloud/apps/calendar/l10n/gl/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/he
+#srv/web/owncloud/apps/calendar/l10n/he.php
+#srv/web/owncloud/apps/calendar/l10n/he/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/hi
+#srv/web/owncloud/apps/calendar/l10n/hi.php
+#srv/web/owncloud/apps/calendar/l10n/hi/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/hi_IN
+#srv/web/owncloud/apps/calendar/l10n/hi_IN/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/hr
+#srv/web/owncloud/apps/calendar/l10n/hr.php
+#srv/web/owncloud/apps/calendar/l10n/hr/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/hu_HU
+#srv/web/owncloud/apps/calendar/l10n/hu_HU.php
+#srv/web/owncloud/apps/calendar/l10n/hu_HU/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/hy
+#srv/web/owncloud/apps/calendar/l10n/hy.php
+#srv/web/owncloud/apps/calendar/l10n/hy/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/ia
+#srv/web/owncloud/apps/calendar/l10n/ia.php
+#srv/web/owncloud/apps/calendar/l10n/ia/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/id
+#srv/web/owncloud/apps/calendar/l10n/id.php
+#srv/web/owncloud/apps/calendar/l10n/id/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/is
+#srv/web/owncloud/apps/calendar/l10n/is.php
+#srv/web/owncloud/apps/calendar/l10n/is/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/it
+#srv/web/owncloud/apps/calendar/l10n/it.php
+#srv/web/owncloud/apps/calendar/l10n/it/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/ja
+#srv/web/owncloud/apps/calendar/l10n/ja.php
+#srv/web/owncloud/apps/calendar/l10n/ja/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/ja_JP.php
+#srv/web/owncloud/apps/calendar/l10n/jv
+#srv/web/owncloud/apps/calendar/l10n/jv.php
+#srv/web/owncloud/apps/calendar/l10n/jv/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/ka
+#srv/web/owncloud/apps/calendar/l10n/ka.php
+#srv/web/owncloud/apps/calendar/l10n/ka/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/ka_GE
+#srv/web/owncloud/apps/calendar/l10n/ka_GE.php
+#srv/web/owncloud/apps/calendar/l10n/ka_GE/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/km
+#srv/web/owncloud/apps/calendar/l10n/km.php
+#srv/web/owncloud/apps/calendar/l10n/km/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/kn
+#srv/web/owncloud/apps/calendar/l10n/kn/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/ko
+#srv/web/owncloud/apps/calendar/l10n/ko.php
+#srv/web/owncloud/apps/calendar/l10n/ko/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/ku_IQ
+#srv/web/owncloud/apps/calendar/l10n/ku_IQ.php
+#srv/web/owncloud/apps/calendar/l10n/ku_IQ/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/l10n.pl
+#srv/web/owncloud/apps/calendar/l10n/lb
+#srv/web/owncloud/apps/calendar/l10n/lb.php
+#srv/web/owncloud/apps/calendar/l10n/lb/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/lt_LT
+#srv/web/owncloud/apps/calendar/l10n/lt_LT.php
+#srv/web/owncloud/apps/calendar/l10n/lt_LT/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/lv
+#srv/web/owncloud/apps/calendar/l10n/lv.php
+#srv/web/owncloud/apps/calendar/l10n/lv/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/mk
+#srv/web/owncloud/apps/calendar/l10n/mk.php
+#srv/web/owncloud/apps/calendar/l10n/mk/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/ml
+#srv/web/owncloud/apps/calendar/l10n/ml/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/ml_IN
+#srv/web/owncloud/apps/calendar/l10n/ml_IN.php
+#srv/web/owncloud/apps/calendar/l10n/ml_IN/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/mn
+#srv/web/owncloud/apps/calendar/l10n/mn/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/ms_MY
+#srv/web/owncloud/apps/calendar/l10n/ms_MY.php
+#srv/web/owncloud/apps/calendar/l10n/ms_MY/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/my_MM
+#srv/web/owncloud/apps/calendar/l10n/my_MM.php
+#srv/web/owncloud/apps/calendar/l10n/my_MM/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/nb_NO
+#srv/web/owncloud/apps/calendar/l10n/nb_NO.php
+#srv/web/owncloud/apps/calendar/l10n/nb_NO/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/nds
+#srv/web/owncloud/apps/calendar/l10n/nds/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/ne
+#srv/web/owncloud/apps/calendar/l10n/ne/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/nl
+#srv/web/owncloud/apps/calendar/l10n/nl.php
+#srv/web/owncloud/apps/calendar/l10n/nl/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/nn_NO
+#srv/web/owncloud/apps/calendar/l10n/nn_NO.php
+#srv/web/owncloud/apps/calendar/l10n/nn_NO/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/nqo
+#srv/web/owncloud/apps/calendar/l10n/nqo/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/oc
+#srv/web/owncloud/apps/calendar/l10n/oc.php
+#srv/web/owncloud/apps/calendar/l10n/oc/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/or_IN
+#srv/web/owncloud/apps/calendar/l10n/or_IN/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/pa
+#srv/web/owncloud/apps/calendar/l10n/pa.php
+#srv/web/owncloud/apps/calendar/l10n/pa/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/pl
+#srv/web/owncloud/apps/calendar/l10n/pl.php
+#srv/web/owncloud/apps/calendar/l10n/pl/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/pl_PL
+#srv/web/owncloud/apps/calendar/l10n/pl_PL.php
+#srv/web/owncloud/apps/calendar/l10n/pl_PL/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/pt_BR
+#srv/web/owncloud/apps/calendar/l10n/pt_BR.php
+#srv/web/owncloud/apps/calendar/l10n/pt_BR/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/pt_PT
+#srv/web/owncloud/apps/calendar/l10n/pt_PT.php
+#srv/web/owncloud/apps/calendar/l10n/pt_PT/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/ro
+#srv/web/owncloud/apps/calendar/l10n/ro.php
+#srv/web/owncloud/apps/calendar/l10n/ro/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/ru
+#srv/web/owncloud/apps/calendar/l10n/ru.php
+#srv/web/owncloud/apps/calendar/l10n/ru/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/ru_RU
+#srv/web/owncloud/apps/calendar/l10n/ru_RU.php
+#srv/web/owncloud/apps/calendar/l10n/ru_RU/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/si_LK
+#srv/web/owncloud/apps/calendar/l10n/si_LK.php
+#srv/web/owncloud/apps/calendar/l10n/si_LK/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/sk
+#srv/web/owncloud/apps/calendar/l10n/sk.php
+#srv/web/owncloud/apps/calendar/l10n/sk/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/sk_SK
+#srv/web/owncloud/apps/calendar/l10n/sk_SK.php
+#srv/web/owncloud/apps/calendar/l10n/sk_SK/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/sl
+#srv/web/owncloud/apps/calendar/l10n/sl.php
+#srv/web/owncloud/apps/calendar/l10n/sl/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/sq
+#srv/web/owncloud/apps/calendar/l10n/sq.php
+#srv/web/owncloud/apps/calendar/l10n/sq/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/sr
+#srv/web/owncloud/apps/calendar/l10n/sr.php
+#srv/web/owncloud/apps/calendar/l10n/sr/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/sr@latin
+#srv/web/owncloud/apps/calendar/l10n/sr@latin.php
+#srv/web/owncloud/apps/calendar/l10n/sr@latin/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/su
+#srv/web/owncloud/apps/calendar/l10n/su/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/sv
+#srv/web/owncloud/apps/calendar/l10n/sv.php
+#srv/web/owncloud/apps/calendar/l10n/sv/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/sw_KE
+#srv/web/owncloud/apps/calendar/l10n/sw_KE/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/ta_IN
+#srv/web/owncloud/apps/calendar/l10n/ta_IN/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/ta_LK
+#srv/web/owncloud/apps/calendar/l10n/ta_LK.php
+#srv/web/owncloud/apps/calendar/l10n/ta_LK/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/te
+#srv/web/owncloud/apps/calendar/l10n/te.php
+#srv/web/owncloud/apps/calendar/l10n/te/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/templates
+#srv/web/owncloud/apps/calendar/l10n/templates/calendar.pot
+#srv/web/owncloud/apps/calendar/l10n/th_TH
+#srv/web/owncloud/apps/calendar/l10n/th_TH.php
+#srv/web/owncloud/apps/calendar/l10n/th_TH/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/tr
+#srv/web/owncloud/apps/calendar/l10n/tr.php
+#srv/web/owncloud/apps/calendar/l10n/tr/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/tzm
+#srv/web/owncloud/apps/calendar/l10n/tzm/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/ug
+#srv/web/owncloud/apps/calendar/l10n/ug.php
+#srv/web/owncloud/apps/calendar/l10n/ug/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/uk
+#srv/web/owncloud/apps/calendar/l10n/uk.php
+#srv/web/owncloud/apps/calendar/l10n/uk/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/ur
+#srv/web/owncloud/apps/calendar/l10n/ur/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/ur_PK
+#srv/web/owncloud/apps/calendar/l10n/ur_PK.php
+#srv/web/owncloud/apps/calendar/l10n/ur_PK/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/uz
+#srv/web/owncloud/apps/calendar/l10n/uz/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/vi
+#srv/web/owncloud/apps/calendar/l10n/vi.php
+#srv/web/owncloud/apps/calendar/l10n/vi/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/xgettextfiles
+#srv/web/owncloud/apps/calendar/l10n/zh_CN
+#srv/web/owncloud/apps/calendar/l10n/zh_CN.GB2312
+#srv/web/owncloud/apps/calendar/l10n/zh_CN.GB2312.php
+#srv/web/owncloud/apps/calendar/l10n/zh_CN.GB2312/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/zh_CN.php
+#srv/web/owncloud/apps/calendar/l10n/zh_CN/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/zh_HK
+#srv/web/owncloud/apps/calendar/l10n/zh_HK.php
+#srv/web/owncloud/apps/calendar/l10n/zh_HK/calendar.po
+#srv/web/owncloud/apps/calendar/l10n/zh_TW
+#srv/web/owncloud/apps/calendar/l10n/zh_TW.php
+#srv/web/owncloud/apps/calendar/l10n/zh_TW/calendar.po
+#srv/web/owncloud/apps/calendar/lib
+#srv/web/owncloud/apps/calendar/lib/alarm.php
+#srv/web/owncloud/apps/calendar/lib/app.php
+#srv/web/owncloud/apps/calendar/lib/attendees.php
+#srv/web/owncloud/apps/calendar/lib/calendar.php
+#srv/web/owncloud/apps/calendar/lib/export.php
+#srv/web/owncloud/apps/calendar/lib/hooks.php
+#srv/web/owncloud/apps/calendar/lib/import.php
+#srv/web/owncloud/apps/calendar/lib/object.php
+#srv/web/owncloud/apps/calendar/lib/repeat.php
+#srv/web/owncloud/apps/calendar/lib/sabre
+#srv/web/owncloud/apps/calendar/lib/sabre/backend.php
+#srv/web/owncloud/apps/calendar/lib/sabre/calendar.php
+#srv/web/owncloud/apps/calendar/lib/sabre/calendarroot.php
+#srv/web/owncloud/apps/calendar/lib/sabre/object.php
+#srv/web/owncloud/apps/calendar/lib/sabre/usercalendars.php
+#srv/web/owncloud/apps/calendar/lib/search.php
+#srv/web/owncloud/apps/calendar/lib/share
+#srv/web/owncloud/apps/calendar/lib/share/calendar.php
+#srv/web/owncloud/apps/calendar/lib/share/event.php
+#srv/web/owncloud/apps/calendar/settingswrapper.php
+#srv/web/owncloud/apps/calendar/templates
+#srv/web/owncloud/apps/calendar/templates/calendar.php
+#srv/web/owncloud/apps/calendar/templates/part.choosecalendar.rowfields.php
+#srv/web/owncloud/apps/calendar/templates/part.editcalendar.php
+#srv/web/owncloud/apps/calendar/templates/part.editevent.php
+#srv/web/owncloud/apps/calendar/templates/part.eventform.php
+#srv/web/owncloud/apps/calendar/templates/part.import.php
+#srv/web/owncloud/apps/calendar/templates/part.newevent.php
+#srv/web/owncloud/apps/calendar/templates/part.share.php
+#srv/web/owncloud/apps/calendar/templates/part.showevent.php
+#srv/web/owncloud/apps/calendar/tests
+#srv/web/owncloud/apps/calendar/tests/calendar.php
+#srv/web/owncloud/apps/contacts
+#srv/web/owncloud/apps/contacts/.jshintrc
+#srv/web/owncloud/apps/contacts/COPYING-README
+#srv/web/owncloud/apps/contacts/Changelog
+#srv/web/owncloud/apps/contacts/README.md
+#srv/web/owncloud/apps/contacts/admin.php
+#srv/web/owncloud/apps/contacts/appinfo
+#srv/web/owncloud/apps/contacts/appinfo/app.php
+#srv/web/owncloud/apps/contacts/appinfo/database.xml
+#srv/web/owncloud/apps/contacts/appinfo/info.xml
+#srv/web/owncloud/apps/contacts/appinfo/migrate.php
+#srv/web/owncloud/apps/contacts/appinfo/remote.php
+#srv/web/owncloud/apps/contacts/appinfo/routes.php
+#srv/web/owncloud/apps/contacts/appinfo/update.php
+#srv/web/owncloud/apps/contacts/appinfo/version
+#srv/web/owncloud/apps/contacts/carddav.php
+#srv/web/owncloud/apps/contacts/composer.json
+#srv/web/owncloud/apps/contacts/css
+#srv/web/owncloud/apps/contacts/css/contacts.css
+#srv/web/owncloud/apps/contacts/css/jquery.combobox.css
+#srv/web/owncloud/apps/contacts/css/jquery.ocaddnew.css
+#srv/web/owncloud/apps/contacts/css/placeholder_polyfill.css
+#srv/web/owncloud/apps/contacts/css/placeholder_polyfill.min.css
+#srv/web/owncloud/apps/contacts/formats
+#srv/web/owncloud/apps/contacts/formats/backend_ldap_inet_org_person_connector.xml
+#srv/web/owncloud/apps/contacts/formats/backend_ldap_vcard_unassigned_connector.xml
+#srv/web/owncloud/apps/contacts/formats/import_csv_gmail_connector.xml
+#srv/web/owncloud/apps/contacts/formats/import_csv_outlook_connector.xml
+#srv/web/owncloud/apps/contacts/formats/import_csv_thunderbird_connector.xml
+#srv/web/owncloud/apps/contacts/formats/import_csv_yahoo_connector.xml
+#srv/web/owncloud/apps/contacts/formats/import_ldif_phpldapadmin_connector.xml
+#srv/web/owncloud/apps/contacts/formats/import_vcard_gmail_connector.xml
+#srv/web/owncloud/apps/contacts/formats/import_vcard_standard_connector.xml
+#srv/web/owncloud/apps/contacts/formats/import_vcard_yahoo_connector.xml
+#srv/web/owncloud/apps/contacts/formats/vcardunassigned.schema
+#srv/web/owncloud/apps/contacts/img
+#srv/web/owncloud/apps/contacts/img/170x170.gif
+#srv/web/owncloud/apps/contacts/img/contacts.png
+#srv/web/owncloud/apps/contacts/img/contacts.svg
+#srv/web/owncloud/apps/contacts/img/globe.svg
+#srv/web/owncloud/apps/contacts/img/person_large.png
+#srv/web/owncloud/apps/contacts/js
+#srv/web/owncloud/apps/contacts/js/addressbooks.js
+#srv/web/owncloud/apps/contacts/js/admin.js
+#srv/web/owncloud/apps/contacts/js/app.js
+#srv/web/owncloud/apps/contacts/js/config.php
+#srv/web/owncloud/apps/contacts/js/contacts.js
+#srv/web/owncloud/apps/contacts/js/groups.js
+#srv/web/owncloud/apps/contacts/js/jquery.combobox.js
+#srv/web/owncloud/apps/contacts/js/jquery.multi-autocomplete.js
+#srv/web/owncloud/apps/contacts/js/jquery.ocaddnew.js
+#srv/web/owncloud/apps/contacts/js/jquery.onfontresize.js
+#srv/web/owncloud/apps/contacts/js/loader.js
+#srv/web/owncloud/apps/contacts/js/modernizr.custom.js
+#srv/web/owncloud/apps/contacts/js/otherbackendconfig.js
+#srv/web/owncloud/apps/contacts/js/placeholder_polyfill.jquery.js
+#srv/web/owncloud/apps/contacts/js/placeholder_polyfill.jquery.min.combo.js
+#srv/web/owncloud/apps/contacts/js/storage.js
+#srv/web/owncloud/apps/contacts/l10n
+#srv/web/owncloud/apps/contacts/l10n/ach
+#srv/web/owncloud/apps/contacts/l10n/ach/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/ady
+#srv/web/owncloud/apps/contacts/l10n/ady/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/af
+#srv/web/owncloud/apps/contacts/l10n/af/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/af_ZA
+#srv/web/owncloud/apps/contacts/l10n/af_ZA.php
+#srv/web/owncloud/apps/contacts/l10n/af_ZA/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/ak
+#srv/web/owncloud/apps/contacts/l10n/ak/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/am_ET
+#srv/web/owncloud/apps/contacts/l10n/am_ET/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/ar
+#srv/web/owncloud/apps/contacts/l10n/ar.php
+#srv/web/owncloud/apps/contacts/l10n/ar/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/ast
+#srv/web/owncloud/apps/contacts/l10n/ast.php
+#srv/web/owncloud/apps/contacts/l10n/ast/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/az
+#srv/web/owncloud/apps/contacts/l10n/az/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/be
+#srv/web/owncloud/apps/contacts/l10n/be.php
+#srv/web/owncloud/apps/contacts/l10n/be/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/bg_BG
+#srv/web/owncloud/apps/contacts/l10n/bg_BG.php
+#srv/web/owncloud/apps/contacts/l10n/bg_BG/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/bn_BD
+#srv/web/owncloud/apps/contacts/l10n/bn_BD.php
+#srv/web/owncloud/apps/contacts/l10n/bn_BD/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/bn_IN
+#srv/web/owncloud/apps/contacts/l10n/bn_IN/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/bs
+#srv/web/owncloud/apps/contacts/l10n/bs.php
+#srv/web/owncloud/apps/contacts/l10n/bs/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/ca
+#srv/web/owncloud/apps/contacts/l10n/ca.php
+#srv/web/owncloud/apps/contacts/l10n/ca/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/ca@valencia
+#srv/web/owncloud/apps/contacts/l10n/ca@valencia/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/cs_CZ
+#srv/web/owncloud/apps/contacts/l10n/cs_CZ.php
+#srv/web/owncloud/apps/contacts/l10n/cs_CZ/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/cy_GB
+#srv/web/owncloud/apps/contacts/l10n/cy_GB.php
+#srv/web/owncloud/apps/contacts/l10n/cy_GB/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/da
+#srv/web/owncloud/apps/contacts/l10n/da.php
+#srv/web/owncloud/apps/contacts/l10n/da/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/de
+#srv/web/owncloud/apps/contacts/l10n/de.php
+#srv/web/owncloud/apps/contacts/l10n/de/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/de_AT
+#srv/web/owncloud/apps/contacts/l10n/de_AT.php
+#srv/web/owncloud/apps/contacts/l10n/de_AT/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/de_CH
+#srv/web/owncloud/apps/contacts/l10n/de_CH.php
+#srv/web/owncloud/apps/contacts/l10n/de_CH/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/de_DE
+#srv/web/owncloud/apps/contacts/l10n/de_DE.php
+#srv/web/owncloud/apps/contacts/l10n/de_DE/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/el
+#srv/web/owncloud/apps/contacts/l10n/el.php
+#srv/web/owncloud/apps/contacts/l10n/el/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/en@pirate
+#srv/web/owncloud/apps/contacts/l10n/en@pirate.php
+#srv/web/owncloud/apps/contacts/l10n/en@pirate/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/en_GB
+#srv/web/owncloud/apps/contacts/l10n/en_GB.php
+#srv/web/owncloud/apps/contacts/l10n/en_GB/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/en_NZ
+#srv/web/owncloud/apps/contacts/l10n/en_NZ/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/eo
+#srv/web/owncloud/apps/contacts/l10n/eo.php
+#srv/web/owncloud/apps/contacts/l10n/eo/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/es
+#srv/web/owncloud/apps/contacts/l10n/es.php
+#srv/web/owncloud/apps/contacts/l10n/es/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/es_AR
+#srv/web/owncloud/apps/contacts/l10n/es_AR.php
+#srv/web/owncloud/apps/contacts/l10n/es_AR/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/es_BO
+#srv/web/owncloud/apps/contacts/l10n/es_BO/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/es_CL
+#srv/web/owncloud/apps/contacts/l10n/es_CL.php
+#srv/web/owncloud/apps/contacts/l10n/es_CL/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/es_CO
+#srv/web/owncloud/apps/contacts/l10n/es_CO/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/es_CR
+#srv/web/owncloud/apps/contacts/l10n/es_CR/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/es_EC
+#srv/web/owncloud/apps/contacts/l10n/es_EC/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/es_MX
+#srv/web/owncloud/apps/contacts/l10n/es_MX.php
+#srv/web/owncloud/apps/contacts/l10n/es_MX/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/es_PE
+#srv/web/owncloud/apps/contacts/l10n/es_PE/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/es_PY
+#srv/web/owncloud/apps/contacts/l10n/es_PY/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/es_US
+#srv/web/owncloud/apps/contacts/l10n/es_US/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/es_UY
+#srv/web/owncloud/apps/contacts/l10n/es_UY/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/et_EE
+#srv/web/owncloud/apps/contacts/l10n/et_EE.php
+#srv/web/owncloud/apps/contacts/l10n/et_EE/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/eu
+#srv/web/owncloud/apps/contacts/l10n/eu.php
+#srv/web/owncloud/apps/contacts/l10n/eu/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/eu_ES
+#srv/web/owncloud/apps/contacts/l10n/eu_ES.php
+#srv/web/owncloud/apps/contacts/l10n/eu_ES/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/fa
+#srv/web/owncloud/apps/contacts/l10n/fa.php
+#srv/web/owncloud/apps/contacts/l10n/fa/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/fi
+#srv/web/owncloud/apps/contacts/l10n/fi.php
+#srv/web/owncloud/apps/contacts/l10n/fi/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/fi_FI
+#srv/web/owncloud/apps/contacts/l10n/fi_FI.php
+#srv/web/owncloud/apps/contacts/l10n/fi_FI/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/fr
+#srv/web/owncloud/apps/contacts/l10n/fr.php
+#srv/web/owncloud/apps/contacts/l10n/fr/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/fr_CA
+#srv/web/owncloud/apps/contacts/l10n/fr_CA/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/gl
+#srv/web/owncloud/apps/contacts/l10n/gl.php
+#srv/web/owncloud/apps/contacts/l10n/gl/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/he
+#srv/web/owncloud/apps/contacts/l10n/he.php
+#srv/web/owncloud/apps/contacts/l10n/he/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/hi
+#srv/web/owncloud/apps/contacts/l10n/hi.php
+#srv/web/owncloud/apps/contacts/l10n/hi/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/hi_IN
+#srv/web/owncloud/apps/contacts/l10n/hi_IN/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/hr
+#srv/web/owncloud/apps/contacts/l10n/hr.php
+#srv/web/owncloud/apps/contacts/l10n/hr/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/hu_HU
+#srv/web/owncloud/apps/contacts/l10n/hu_HU.php
+#srv/web/owncloud/apps/contacts/l10n/hu_HU/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/hy
+#srv/web/owncloud/apps/contacts/l10n/hy.php
+#srv/web/owncloud/apps/contacts/l10n/hy/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/ia
+#srv/web/owncloud/apps/contacts/l10n/ia.php
+#srv/web/owncloud/apps/contacts/l10n/ia/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/id
+#srv/web/owncloud/apps/contacts/l10n/id.php
+#srv/web/owncloud/apps/contacts/l10n/id/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/is
+#srv/web/owncloud/apps/contacts/l10n/is.php
+#srv/web/owncloud/apps/contacts/l10n/is/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/it
+#srv/web/owncloud/apps/contacts/l10n/it.php
+#srv/web/owncloud/apps/contacts/l10n/it/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/ja
+#srv/web/owncloud/apps/contacts/l10n/ja.php
+#srv/web/owncloud/apps/contacts/l10n/ja/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/ja_JP.php
+#srv/web/owncloud/apps/contacts/l10n/jv
+#srv/web/owncloud/apps/contacts/l10n/jv.php
+#srv/web/owncloud/apps/contacts/l10n/jv/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/ka
+#srv/web/owncloud/apps/contacts/l10n/ka.php
+#srv/web/owncloud/apps/contacts/l10n/ka/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/ka_GE
+#srv/web/owncloud/apps/contacts/l10n/ka_GE.php
+#srv/web/owncloud/apps/contacts/l10n/ka_GE/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/km
+#srv/web/owncloud/apps/contacts/l10n/km.php
+#srv/web/owncloud/apps/contacts/l10n/km/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/kn
+#srv/web/owncloud/apps/contacts/l10n/kn/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/ko
+#srv/web/owncloud/apps/contacts/l10n/ko.php
+#srv/web/owncloud/apps/contacts/l10n/ko/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/ku_IQ
+#srv/web/owncloud/apps/contacts/l10n/ku_IQ.php
+#srv/web/owncloud/apps/contacts/l10n/ku_IQ/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/l10n.pl
+#srv/web/owncloud/apps/contacts/l10n/lb
+#srv/web/owncloud/apps/contacts/l10n/lb.php
+#srv/web/owncloud/apps/contacts/l10n/lb/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/lt_LT
+#srv/web/owncloud/apps/contacts/l10n/lt_LT.php
+#srv/web/owncloud/apps/contacts/l10n/lt_LT/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/lv
+#srv/web/owncloud/apps/contacts/l10n/lv.php
+#srv/web/owncloud/apps/contacts/l10n/lv/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/mk
+#srv/web/owncloud/apps/contacts/l10n/mk.php
+#srv/web/owncloud/apps/contacts/l10n/mk/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/ml
+#srv/web/owncloud/apps/contacts/l10n/ml/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/ml_IN
+#srv/web/owncloud/apps/contacts/l10n/ml_IN.php
+#srv/web/owncloud/apps/contacts/l10n/ml_IN/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/mn
+#srv/web/owncloud/apps/contacts/l10n/mn/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/ms_MY
+#srv/web/owncloud/apps/contacts/l10n/ms_MY.php
+#srv/web/owncloud/apps/contacts/l10n/ms_MY/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/my_MM
+#srv/web/owncloud/apps/contacts/l10n/my_MM.php
+#srv/web/owncloud/apps/contacts/l10n/my_MM/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/nb_NO
+#srv/web/owncloud/apps/contacts/l10n/nb_NO.php
+#srv/web/owncloud/apps/contacts/l10n/nb_NO/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/nds
+#srv/web/owncloud/apps/contacts/l10n/nds/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/ne
+#srv/web/owncloud/apps/contacts/l10n/ne/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/nl
+#srv/web/owncloud/apps/contacts/l10n/nl.php
+#srv/web/owncloud/apps/contacts/l10n/nl/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/nn_NO
+#srv/web/owncloud/apps/contacts/l10n/nn_NO.php
+#srv/web/owncloud/apps/contacts/l10n/nn_NO/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/nqo
+#srv/web/owncloud/apps/contacts/l10n/nqo/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/oc
+#srv/web/owncloud/apps/contacts/l10n/oc.php
+#srv/web/owncloud/apps/contacts/l10n/oc/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/or_IN
+#srv/web/owncloud/apps/contacts/l10n/or_IN/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/pa
+#srv/web/owncloud/apps/contacts/l10n/pa.php
+#srv/web/owncloud/apps/contacts/l10n/pa/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/pl
+#srv/web/owncloud/apps/contacts/l10n/pl.php
+#srv/web/owncloud/apps/contacts/l10n/pl/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/pl_PL
+#srv/web/owncloud/apps/contacts/l10n/pl_PL.php
+#srv/web/owncloud/apps/contacts/l10n/pl_PL/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/pt_BR
+#srv/web/owncloud/apps/contacts/l10n/pt_BR.php
+#srv/web/owncloud/apps/contacts/l10n/pt_BR/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/pt_PT
+#srv/web/owncloud/apps/contacts/l10n/pt_PT.php
+#srv/web/owncloud/apps/contacts/l10n/pt_PT/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/ro
+#srv/web/owncloud/apps/contacts/l10n/ro.php
+#srv/web/owncloud/apps/contacts/l10n/ro/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/ru
+#srv/web/owncloud/apps/contacts/l10n/ru.php
+#srv/web/owncloud/apps/contacts/l10n/ru/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/ru_RU
+#srv/web/owncloud/apps/contacts/l10n/ru_RU.php
+#srv/web/owncloud/apps/contacts/l10n/ru_RU/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/si_LK
+#srv/web/owncloud/apps/contacts/l10n/si_LK.php
+#srv/web/owncloud/apps/contacts/l10n/si_LK/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/sk
+#srv/web/owncloud/apps/contacts/l10n/sk.php
+#srv/web/owncloud/apps/contacts/l10n/sk/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/sk_SK
+#srv/web/owncloud/apps/contacts/l10n/sk_SK.php
+#srv/web/owncloud/apps/contacts/l10n/sk_SK/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/sl
+#srv/web/owncloud/apps/contacts/l10n/sl.php
+#srv/web/owncloud/apps/contacts/l10n/sl/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/sq
+#srv/web/owncloud/apps/contacts/l10n/sq.php
+#srv/web/owncloud/apps/contacts/l10n/sq/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/sr
+#srv/web/owncloud/apps/contacts/l10n/sr.php
+#srv/web/owncloud/apps/contacts/l10n/sr/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/sr@latin
+#srv/web/owncloud/apps/contacts/l10n/sr@latin.php
+#srv/web/owncloud/apps/contacts/l10n/sr@latin/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/su
+#srv/web/owncloud/apps/contacts/l10n/su/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/sv
+#srv/web/owncloud/apps/contacts/l10n/sv.php
+#srv/web/owncloud/apps/contacts/l10n/sv/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/sw_KE
+#srv/web/owncloud/apps/contacts/l10n/sw_KE/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/ta_IN
+#srv/web/owncloud/apps/contacts/l10n/ta_IN/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/ta_LK
+#srv/web/owncloud/apps/contacts/l10n/ta_LK.php
+#srv/web/owncloud/apps/contacts/l10n/ta_LK/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/te
+#srv/web/owncloud/apps/contacts/l10n/te.php
+#srv/web/owncloud/apps/contacts/l10n/te/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/templates
+#srv/web/owncloud/apps/contacts/l10n/templates/contacts.pot
+#srv/web/owncloud/apps/contacts/l10n/th_TH
+#srv/web/owncloud/apps/contacts/l10n/th_TH.php
+#srv/web/owncloud/apps/contacts/l10n/th_TH/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/tr
+#srv/web/owncloud/apps/contacts/l10n/tr.php
+#srv/web/owncloud/apps/contacts/l10n/tr/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/tzm
+#srv/web/owncloud/apps/contacts/l10n/tzm/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/ug
+#srv/web/owncloud/apps/contacts/l10n/ug.php
+#srv/web/owncloud/apps/contacts/l10n/ug/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/uk
+#srv/web/owncloud/apps/contacts/l10n/uk.php
+#srv/web/owncloud/apps/contacts/l10n/uk/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/ur
+#srv/web/owncloud/apps/contacts/l10n/ur/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/ur_PK
+#srv/web/owncloud/apps/contacts/l10n/ur_PK.php
+#srv/web/owncloud/apps/contacts/l10n/ur_PK/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/uz
+#srv/web/owncloud/apps/contacts/l10n/uz/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/vi
+#srv/web/owncloud/apps/contacts/l10n/vi.php
+#srv/web/owncloud/apps/contacts/l10n/vi/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/xgettextfiles
+#srv/web/owncloud/apps/contacts/l10n/zh_CN
+#srv/web/owncloud/apps/contacts/l10n/zh_CN.GB2312
+#srv/web/owncloud/apps/contacts/l10n/zh_CN.GB2312.php
+#srv/web/owncloud/apps/contacts/l10n/zh_CN.GB2312/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/zh_CN.php
+#srv/web/owncloud/apps/contacts/l10n/zh_CN/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/zh_HK
+#srv/web/owncloud/apps/contacts/l10n/zh_HK.php
+#srv/web/owncloud/apps/contacts/l10n/zh_HK/contacts.po
+#srv/web/owncloud/apps/contacts/l10n/zh_TW
+#srv/web/owncloud/apps/contacts/l10n/zh_TW.php
+#srv/web/owncloud/apps/contacts/l10n/zh_TW/contacts.po
+#srv/web/owncloud/apps/contacts/lib
+#srv/web/owncloud/apps/contacts/lib/abstractpimcollection.php
+#srv/web/owncloud/apps/contacts/lib/abstractpimobject.php
+#srv/web/owncloud/apps/contacts/lib/addressbook.php
+#srv/web/owncloud/apps/contacts/lib/addressbookprovider.php
+#srv/web/owncloud/apps/contacts/lib/app.php
+#srv/web/owncloud/apps/contacts/lib/backend
+#srv/web/owncloud/apps/contacts/lib/backend/abstractbackend.php
+#srv/web/owncloud/apps/contacts/lib/backend/database.php
+#srv/web/owncloud/apps/contacts/lib/backend/ldap.php
+#srv/web/owncloud/apps/contacts/lib/backend/shared.php
+#srv/web/owncloud/apps/contacts/lib/carddav
+#srv/web/owncloud/apps/contacts/lib/carddav/addressbook.php
+#srv/web/owncloud/apps/contacts/lib/carddav/addressbookroot.php
+#srv/web/owncloud/apps/contacts/lib/carddav/backend.php
+#srv/web/owncloud/apps/contacts/lib/carddav/card.php
+#srv/web/owncloud/apps/contacts/lib/carddav/plugin.php
+#srv/web/owncloud/apps/contacts/lib/carddav/useraddressbooks.php
+#srv/web/owncloud/apps/contacts/lib/connector
+#srv/web/owncloud/apps/contacts/lib/connector/importconnector.php
+#srv/web/owncloud/apps/contacts/lib/connector/importcsvconnector.php
+#srv/web/owncloud/apps/contacts/lib/connector/importldifconnector.php
+#srv/web/owncloud/apps/contacts/lib/connector/importvcardconnector.php
+#srv/web/owncloud/apps/contacts/lib/connector/ldapconnector.php
+#srv/web/owncloud/apps/contacts/lib/contact.php
+#srv/web/owncloud/apps/contacts/lib/controller
+#srv/web/owncloud/apps/contacts/lib/controller.php
+#srv/web/owncloud/apps/contacts/lib/controller/addressbookcontroller.php
+#srv/web/owncloud/apps/contacts/lib/controller/backendcontroller.php
+#srv/web/owncloud/apps/contacts/lib/controller/contactcontroller.php
+#srv/web/owncloud/apps/contacts/lib/controller/contactphotocontroller.php
+#srv/web/owncloud/apps/contacts/lib/controller/exportcontroller.php
+#srv/web/owncloud/apps/contacts/lib/controller/groupcontroller.php
+#srv/web/owncloud/apps/contacts/lib/controller/importcontroller.php
+#srv/web/owncloud/apps/contacts/lib/controller/pagecontroller.php
+#srv/web/owncloud/apps/contacts/lib/controller/settingscontroller.php
+#srv/web/owncloud/apps/contacts/lib/dispatcher.php
+#srv/web/owncloud/apps/contacts/lib/hooks.php
+#srv/web/owncloud/apps/contacts/lib/imageresponse.php
+#srv/web/owncloud/apps/contacts/lib/importmanager.php
+#srv/web/owncloud/apps/contacts/lib/ipimobject.php
+#srv/web/owncloud/apps/contacts/lib/jsonresponse.php
+#srv/web/owncloud/apps/contacts/lib/middleware
+#srv/web/owncloud/apps/contacts/lib/middleware/http.php
+#srv/web/owncloud/apps/contacts/lib/searchprovider.php
+#srv/web/owncloud/apps/contacts/lib/share
+#srv/web/owncloud/apps/contacts/lib/share/addressbook.php
+#srv/web/owncloud/apps/contacts/lib/share/contact.php
+#srv/web/owncloud/apps/contacts/lib/textdownloadresponse.php
+#srv/web/owncloud/apps/contacts/lib/utils
+#srv/web/owncloud/apps/contacts/lib/utils/jsonserializer.php
+#srv/web/owncloud/apps/contacts/lib/utils/properties.php
+#srv/web/owncloud/apps/contacts/lib/utils/temporaryphoto
+#srv/web/owncloud/apps/contacts/lib/utils/temporaryphoto.php
+#srv/web/owncloud/apps/contacts/lib/utils/temporaryphoto/contact.php
+#srv/web/owncloud/apps/contacts/lib/utils/temporaryphoto/filesystem.php
+#srv/web/owncloud/apps/contacts/lib/utils/temporaryphoto/uploaded.php
+#srv/web/owncloud/apps/contacts/lib/utils/temporaryphoto/user.php
+#srv/web/owncloud/apps/contacts/lib/utils/uuid.php
+#srv/web/owncloud/apps/contacts/lib/vobject
+#srv/web/owncloud/apps/contacts/lib/vobject/groupproperty.php
+#srv/web/owncloud/apps/contacts/lib/vobject/stringproperty.php
+#srv/web/owncloud/apps/contacts/lib/vobject/vcard.php
+#srv/web/owncloud/apps/contacts/settings.php
+#srv/web/owncloud/apps/contacts/templates
+#srv/web/owncloud/apps/contacts/templates/admin.php
+#srv/web/owncloud/apps/contacts/templates/contacts.php
+#srv/web/owncloud/apps/contacts/templates/importdialog.html
+#srv/web/owncloud/apps/contacts/tests
+#srv/web/owncloud/apps/contacts/tests/Makefile
+#srv/web/owncloud/apps/contacts/tests/bootstrap.php
+#srv/web/owncloud/apps/contacts/tests/data
+#srv/web/owncloud/apps/contacts/tests/data/test1.vcf
+#srv/web/owncloud/apps/contacts/tests/data/test2.vcf
+#srv/web/owncloud/apps/contacts/tests/data/test3.vcf
+#srv/web/owncloud/apps/contacts/tests/data/test4.vcf
+#srv/web/owncloud/apps/contacts/tests/data/test5.vcf
+#srv/web/owncloud/apps/contacts/tests/data/test6.vcf
+#srv/web/owncloud/apps/contacts/tests/install_dependencies.sh
+#srv/web/owncloud/apps/contacts/tests/lib
+#srv/web/owncloud/apps/contacts/tests/lib/addressbook_test.php
+#srv/web/owncloud/apps/contacts/tests/lib/backend
+#srv/web/owncloud/apps/contacts/tests/lib/backend/backend_test.php
+#srv/web/owncloud/apps/contacts/tests/lib/backend/mock.php
+#srv/web/owncloud/apps/contacts/tests/lib/contact_test.php
+#srv/web/owncloud/apps/contacts/tests/lib/contacts_app.php
+#srv/web/owncloud/apps/contacts/tests/lib/vobject_test.php
+#srv/web/owncloud/apps/contacts/tests/phpunit.xml
+#srv/web/owncloud/apps/contacts/tests/preseed-config.php
+#srv/web/owncloud/apps/contacts/tests/setup_owncloud.sh
+#srv/web/owncloud/apps/documents
+#srv/web/owncloud/apps/documents/README.md
+#srv/web/owncloud/apps/documents/admin.php
+#srv/web/owncloud/apps/documents/ajax
+#srv/web/owncloud/apps/documents/ajax/admin.php
+#srv/web/owncloud/apps/documents/ajax/controller.php
+#srv/web/owncloud/apps/documents/ajax/documentController.php
+#srv/web/owncloud/apps/documents/ajax/download.php
+#srv/web/owncloud/apps/documents/ajax/mimes.php
+#srv/web/owncloud/apps/documents/ajax/otpoll.php
+#srv/web/owncloud/apps/documents/ajax/personal.php
+#srv/web/owncloud/apps/documents/ajax/sessionController.php
+#srv/web/owncloud/apps/documents/ajax/settings.php
+#srv/web/owncloud/apps/documents/ajax/userController.php
+#srv/web/owncloud/apps/documents/appinfo
+#srv/web/owncloud/apps/documents/appinfo/app.php
+#srv/web/owncloud/apps/documents/appinfo/database.xml
+#srv/web/owncloud/apps/documents/appinfo/info.xml
+#srv/web/owncloud/apps/documents/appinfo/routes.php
+#srv/web/owncloud/apps/documents/appinfo/update.php
+#srv/web/owncloud/apps/documents/appinfo/version
+#srv/web/owncloud/apps/documents/css
+#srv/web/owncloud/apps/documents/css/3rdparty
+#srv/web/owncloud/apps/documents/css/3rdparty/webodf
+#srv/web/owncloud/apps/documents/css/3rdparty/webodf/dojo-app.css
+#srv/web/owncloud/apps/documents/css/3rdparty/webodf/editor.css
+#srv/web/owncloud/apps/documents/css/fonts
+#srv/web/owncloud/apps/documents/css/fonts.css
+#srv/web/owncloud/apps/documents/css/fonts/GenBasB.ttf
+#srv/web/owncloud/apps/documents/css/fonts/GenBasBI.ttf
+#srv/web/owncloud/apps/documents/css/fonts/GenBasI.ttf
+#srv/web/owncloud/apps/documents/css/fonts/GenBasR.ttf
+#srv/web/owncloud/apps/documents/css/fonts/LICENSE_Apache2.txt
+#srv/web/owncloud/apps/documents/css/fonts/LICENSE_GPLv3.txt
+#srv/web/owncloud/apps/documents/css/fonts/LiberationMono-Bold.ttf
+#srv/web/owncloud/apps/documents/css/fonts/LiberationMono-BoldItalic.ttf
+#srv/web/owncloud/apps/documents/css/fonts/LiberationMono-Italic.ttf
+#srv/web/owncloud/apps/documents/css/fonts/LiberationMono-Regular.ttf
+#srv/web/owncloud/apps/documents/css/fonts/LiberationSans-Bold.ttf
+#srv/web/owncloud/apps/documents/css/fonts/LiberationSans-BoldItalic.ttf
+#srv/web/owncloud/apps/documents/css/fonts/LiberationSans-Italic.ttf
+#srv/web/owncloud/apps/documents/css/fonts/LiberationSans-Regular.ttf
+#srv/web/owncloud/apps/documents/css/fonts/LiberationSerif-Bold.ttf
+#srv/web/owncloud/apps/documents/css/fonts/LiberationSerif-BoldItalic.ttf
+#srv/web/owncloud/apps/documents/css/fonts/LiberationSerif-Italic.ttf
+#srv/web/owncloud/apps/documents/css/fonts/LiberationSerif-Regular.ttf
+#srv/web/owncloud/apps/documents/css/fonts/LinBiolinum_RB_G.ttf
+#srv/web/owncloud/apps/documents/css/fonts/LinBiolinum_RI_G.ttf
+#srv/web/owncloud/apps/documents/css/fonts/LinBiolinum_R_G.ttf
+#srv/web/owncloud/apps/documents/css/fonts/Lohit-Devanagari.ttf
+#srv/web/owncloud/apps/documents/css/fonts/README.txt
+#srv/web/owncloud/apps/documents/css/fonts/index.html
+#srv/web/owncloud/apps/documents/css/fonts/wqy-microhei.ttc
+#srv/web/owncloud/apps/documents/css/style.css
+#srv/web/owncloud/apps/documents/css/viewer
+#srv/web/owncloud/apps/documents/css/viewer/odfviewer.css
+#srv/web/owncloud/apps/documents/img
+#srv/web/owncloud/apps/documents/img/documents.png
+#srv/web/owncloud/apps/documents/img/documents.svg
+#srv/web/owncloud/apps/documents/index.php
+#srv/web/owncloud/apps/documents/js
+#srv/web/owncloud/apps/documents/js/3rdparty
+#srv/web/owncloud/apps/documents/js/3rdparty/resources
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/icons
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/icons/commonIcons.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/icons/commonIcons_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/icons/editorIcons.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/icons/editorIcons_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/icons/images
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/icons/images/commonIconsObjActDisabled.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/icons/images/commonIconsObjActDisabled_rtl.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/icons/images/commonIconsObjActEnabled.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/icons/images/commonIconsObjActEnabled8bit.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/icons/images/commonIconsObjActEnabled8bit_rtl.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/icons/images/commonIconsObjActEnabled_rtl.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/icons/images/editorIconsDisabled.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/icons/images/editorIconsDisabled_rtl.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/icons/images/editorIconsEnabled.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/icons/images/editorIconsEnabled_rtl.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/icons/images/loadingAnimation_rtl.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/a11y
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/a11y/README.txt
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/a11y/colors3x4.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/a11y/colors7x10.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/a11y/indeterminate_progress.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/Calendar.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/Calendar.less
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/Calendar_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/Calendar_rtl.less
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/ColorPalette.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/ColorPalette.less
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/Common.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/Common.less
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/Dialog.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/Dialog.less
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/Dialog_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/Dialog_rtl.less
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/Editor.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/Editor.less
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/Editor_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/Editor_rtl.less
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/InlineEditBox.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/InlineEditBox.less
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/Menu.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/Menu.less
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/Menu_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/Menu_rtl.less
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/ProgressBar.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/ProgressBar.less
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/README
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/TimePicker.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/TimePicker.less
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/TimePicker_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/TimePicker_rtl.less
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/TitlePane.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/TitlePane.less
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/TitlePane_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/TitlePane_rtl.less
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/Toolbar.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/Toolbar.less
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/Toolbar_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/Toolbar_rtl.less
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/Tree.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/Tree.less
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/claro.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/claro_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/compile.js
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/document.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/document.less
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/form
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/form/Button.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/form/Button.less
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/form/Button_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/form/Button_rtl.less
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/form/Checkbox.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/form/Checkbox.less
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/form/Common.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/form/Common.less
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/form/Common_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/form/Common_rtl.less
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/form/NumberSpinner.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/form/NumberSpinner.less
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/form/RadioButton.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/form/RadioButton.less
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/form/Select.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/form/Select.less
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/form/Slider.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/form/Slider.less
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/form/Slider_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/form/Slider_rtl.less
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/form/images
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/form/images/buttonArrows.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/form/images/buttonDisabled.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/form/images/buttonDisabled.svg
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/form/images/buttonEnabled.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/form/images/buttonEnabled.svg
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/form/images/checkboxAndRadioButtons_IE6.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/form/images/checkboxRadioButtonStates.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/form/images/commonFormArrows.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/form/images/error.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/form/images/sliderThumbs.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/images
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/images/activeGradient.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/images/activeGradient.svg
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/images/calendar.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/images/calendarArrows.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/images/calendarArrows8bit.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/images/checkmarkNoBorder.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/images/checkmarkNoBorder.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/images/dialogCloseIcon.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/images/dialogCloseIcon8bit.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/images/dnd.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/images/loadingAnimation.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/images/progressBarAnim.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/images/progressBarFull.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/images/spriteArrows.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/images/standardGradient.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/images/standardGradient.svg
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/images/tooltip.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/images/tooltip8bit.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/images/treeExpandImages.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/images/treeExpandImages8bit.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/layout
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/layout/AccordionContainer.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/layout/AccordionContainer.less
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/layout/BorderContainer.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/layout/BorderContainer.less
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/layout/ContentPane.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/layout/ContentPane.less
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/layout/TabContainer.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/layout/TabContainer.less
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/layout/TabContainer_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/layout/TabContainer_rtl.less
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/layout/images
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/layout/images/tabBottomSelected.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/layout/images/tabBottomSelected.svg
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/layout/images/tabBottomUnselected.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/layout/images/tabBottomUnselected.svg
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/layout/images/tabClose.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/layout/images/tabLeftSelected.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/layout/images/tabLeftSelected.svg
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/layout/images/tabLeftUnselected.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/layout/images/tabLeftUnselected.svg
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/layout/images/tabNested.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/layout/images/tabRightSelected.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/layout/images/tabRightSelected.svg
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/layout/images/tabRightUnselected.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/layout/images/tabRightUnselected.svg
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/layout/images/tabTopSelected.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/layout/images/tabTopSelected.svg
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/layout/images/tabTopUnselected.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/layout/images/tabTopUnselected.svg
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/claro/variables.less
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/dijit.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/dijit_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/Calendar.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/Calendar_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/ColorPalette.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/Common.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/Dialog.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/Dialog_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/Editor.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/Editor_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/Menu.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/Menu_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/ProgressBar.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/TimePicker.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/TimePicker_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/TitlePane.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/TitlePane_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/Toolbar.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/Tree.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/Tree_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/form
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/form/Button.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/form/Button_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/form/Checkbox.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/form/Common.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/form/RadioButton.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/form/Select.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/form/Slider.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/form/Slider_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/form/TimeTextBox.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/accordionItemActive.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/buttonActive.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/buttonDisabled.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/buttonEnabled.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/buttonHover.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/dndCopy.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/dndMove.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/dndNoCopy.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/dndNoMove.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/no.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/preciseSliderThumb.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/preciseSliderThumb.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/preciseSliderThumbFocus.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/preciseSliderThumbFocus.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/progressBarAnim.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/progressBarEmpty.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/progressBarFull.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/sliderEmpty.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/sliderEmptyVertical.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/sliderFull.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/sliderFullFocus.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/sliderFullVertical.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/sliderFullVerticalFocus.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/sliderThumb.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/sliderThumb.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/sliderThumbFocus.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/sliderThumbFocus.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/splitContainerSizerH-thumb.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/splitContainerSizerH.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/splitContainerSizerV-thumb.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/splitContainerSizerV.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/spriteArrows.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/spriteArrows.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/spriteCheckbox.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/spriteCheckbox.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/spriteDivIcons.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/spriteDivIcons.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/spriteRadio.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/spriteRadio.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/spriteRoundedIconsSmall.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/spriteRoundedIconsSmall.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/spriteTree.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/spriteTree.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/spriteTree_rtl.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/spriteTree_rtl.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/tabBottomActiveC.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/tabBottomEnabledC.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/tabBottomHoverC.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/tabContainerSprite.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/titleBar.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/titleBarActive.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/tooltipConnectorDown.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/tooltipConnectorDown.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/tooltipConnectorLeft.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/tooltipConnectorLeft.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/tooltipConnectorRight.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/tooltipConnectorRight.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/tooltipConnectorUp.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/tooltipConnectorUp.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/treeExpand_loading.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/treeHover.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/treeI.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/treeI_half.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/treeI_half_rtl.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/treeI_rtl.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/validationInputBg.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/validationInputBg.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/images/warning.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/layout
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/layout/AccordionContainer.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/layout/AccordionContainer_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/layout/BorderContainer.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/layout/ContentPane.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/layout/SplitContainer.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/layout/TabContainer.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/layout/TabContainer_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/nihilo.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/nihilo/nihilo_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/Calendar.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/Calendar_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/ColorPalette.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/Common.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/Dialog.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/Dialog_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/Editor.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/Editor_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/Menu.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/Menu_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/ProgressBar.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/TimePicker.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/TimePicker_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/TitlePane.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/TitlePane_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/Toolbar.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/Tree.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/Tree_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/form
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/form/Button.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/form/Button_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/form/Checkbox.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/form/Common.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/form/RadioButton.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/form/Select.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/form/Slider.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/form/Slider_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/form/TimeTextBox.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/accordionItemActive.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/accordionItemActive.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/buttonActive.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/buttonDisabled.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/buttonEnabled.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/buttonHover.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/dndCopy.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/dndMove.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/dndNoCopy.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/dndNoMove.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/preciseSliderThumb.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/preciseSliderThumb.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/preciseSliderThumbFocus.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/preciseSliderThumbFocus.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/progressBarAnim.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/progressBarEmpty.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/progressBarFull.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/sliderEmpty.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/sliderEmptyVertical.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/sliderFull.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/sliderFullFocus.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/sliderFullVertical.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/sliderFullVerticalFocus.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/sliderThumb.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/sliderThumb.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/sliderThumbFocus.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/sliderThumbFocus.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/splitContainerSizerH-thumb.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/splitContainerSizerH.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/splitContainerSizerV-thumb.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/splitContainerSizerV.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/spriteArrows.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/spriteArrows.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/spriteCheckbox.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/spriteCheckbox.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/spriteDivIcons.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/spriteDivIcons.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/spriteRadio.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/spriteRadio.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/spriteRoundedIconsSmall.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/spriteRoundedIconsSmall.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/spriteRoundedIconsSmallBl.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/spriteRoundedIconsSmallBl.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/spriteTree.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/spriteTree.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/spriteTree_rtl.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/spriteTree_rtl.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/tabBottomActiveC.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/tabBottomEnabledC.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/tabBottomEnabledSpriteLR.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/tabBottomHoverC.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/tabContainerSprite.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/tabLeftChecked.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/tabRightChecked.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/titleBar.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/titleBarActive.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/tooltipConnectorDown.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/tooltipConnectorDown.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/tooltipConnectorLeft.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/tooltipConnectorLeft.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/tooltipConnectorRight.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/tooltipConnectorRight.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/tooltipConnectorUp.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/tooltipConnectorUp.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/treeExpand_loading.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/treeHover.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/treeI.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/treeI_half.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/treeI_half_rtl.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/treeI_rtl.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/validationInputBg.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/validationInputBg.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/images/warning.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/layout
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/layout/AccordionContainer.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/layout/AccordionContainer_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/layout/BorderContainer.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/layout/ContentPane.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/layout/SplitContainer.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/layout/TabContainer.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/layout/TabContainer_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/soria.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/soria/soria_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/Calendar.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/Calendar_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/ColorPalette.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/Common.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/Dialog.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/Dialog_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/Editor.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/Editor_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/Menu.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/Menu_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/ProgressBar.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/TimePicker.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/TimePicker_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/TitlePane.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/TitlePane_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/Toolbar.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/Tree.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/Tree_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/form
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/form/Button.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/form/Checkbox.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/form/Common.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/form/RadioButton.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/form/Select.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/form/Slider.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/form/Slider_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/accordionItemActive.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/accordionItemHover.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/buttonActive.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/buttonDisabled.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/buttonEnabled.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/buttonHover.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/calendarDayLabel.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/calendarMonthLabel.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/calendarYearLabel.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/checkmark.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/checkmark.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/checkmarkNoBorder.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/checkmarkNoBorder.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/circleIcon.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/circleIcon.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/comboArrowDown.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/dijitProgressBarAnim.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/dijitProgressBarAnim.psd
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/dndCopy.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/dndMove.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/dndNoCopy.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/dndNoMove.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/dojoTundraGradientBg.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/dojoTundraGradientBg.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/doubleArrowDown.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/doubleArrowUp.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/folderClosed.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/folderOpened.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/i.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/i_half.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/i_half_rtl.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/i_rtl.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/leaf.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/loading.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/menu.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/minusButton.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/no.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/noX.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/plusButton.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/popupMenuBg.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/preciseSliderThumb.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/preciseSliderThumb.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/preciseSliderThumbFocus.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/preciseSliderThumbFocus.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/progressBarAnim-1.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/progressBarAnim-2.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/progressBarAnim-3.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/progressBarAnim-4.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/progressBarAnim-5.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/progressBarAnim-6.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/progressBarAnim-7.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/progressBarAnim-8.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/progressBarAnim-9.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/progressBarAnim.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/progressBarAnim.psd
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/progressBarEmpty.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/progressBarFull.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/radioButtonActive.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/radioButtonActiveDisabled.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/radioButtonActiveHover.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/radioButtonDisabled.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/radioButtonEnabled.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/radioButtonHover.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/sliderEmpty.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/sliderEmptyVertical.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/sliderFull.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/sliderFullFocus.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/sliderFullVertical.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/sliderFullVerticalFocus.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/sliderThumb.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/sliderThumbFocus.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/sliderThumbFocus.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/smallArrowDown.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/smallArrowUp.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/splitContainerSizerH-thumb.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/splitContainerSizerH.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/splitContainerSizerV-thumb.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/splitContainerSizerV.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/spriteArrows.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/spriteArrows.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/spriteRoundedIconsSmall.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/spriteRoundedIconsSmall.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/tabActive.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/tabClose.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/tabClose.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/tabCloseHover.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/tabCloseHover.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/tabDisabled.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/tabEnabled.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/tabHover.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/tabHover.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/titleBar.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/titleBarBg.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/tooltipConnectorDown.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/tooltipConnectorDown.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/tooltipConnectorLeft.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/tooltipConnectorLeft.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/tooltipConnectorRight.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/tooltipConnectorRight.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/tooltipConnectorUp.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/tooltipConnectorUp.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/treeExpand_leaf.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/treeExpand_leaf_rtl.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/treeExpand_loading.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/treeExpand_minus.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/treeExpand_minus_rtl.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/treeExpand_mius.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/treeExpand_plus.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/treeExpand_plus_rtl.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/treeHover.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/validationInputBg.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/validationInputBg.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/images/warning.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/layout
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/layout/AccordionContainer.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/layout/BorderContainer.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/layout/ContentPane.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/layout/SplitContainer.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/layout/TabContainer.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/layout/TabContainer_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/tundra.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dijit/themes/tundra/tundra_rtl.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojo
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojo/dojo.js
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojo/resources
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojo/resources/LICENSE
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojo/resources/blank.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojo/resources/blank.html
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojo/resources/dnd.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojo/resources/dojo.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojo/resources/iframe_history.html
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojo/resources/images
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojo/resources/images/dndCopy.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojo/resources/images/dndMove.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojo/resources/images/dndNoCopy.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojo/resources/images/dndNoMove.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojox
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojox/layout
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojox/layout/resources
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojox/layout/resources/DndGridContainer.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojox/layout/resources/ExpandoPane.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojox/layout/resources/ExpandoPane.html
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojox/layout/resources/FloatingPane.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojox/layout/resources/FloatingPane.html
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojox/layout/resources/GridContainer.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojox/layout/resources/GridContainer.html
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojox/layout/resources/RadioGroup.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojox/layout/resources/ResizeHandle.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojox/layout/resources/RotatorContainer.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojox/layout/resources/ScrollPane.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojox/layout/resources/ScrollPane.html
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojox/layout/resources/ToggleSplitter.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojox/layout/resources/icons
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojox/layout/resources/icons/gridcontainer_grip.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojox/layout/resources/icons/grip_bg.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojox/layout/resources/icons/pixel.gif
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojox/layout/resources/icons/resize.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojox/layout/resources/icons/resizeRtl.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojox/layout/resources/icons/rotator.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojox/layout/resources/icons/splitterToggleH.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojox/layout/resources/icons/splitterToggleV.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojox/widget
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojox/widget/ColorPicker
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojox/widget/ColorPicker/ColorPicker.css
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojox/widget/ColorPicker/ColorPicker.html
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojox/widget/ColorPicker/images
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojox/widget/ColorPicker/images/hue.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojox/widget/ColorPicker/images/hueHandle.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojox/widget/ColorPicker/images/hueHandleA11y.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojox/widget/ColorPicker/images/pickerPointer.png
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojox/widget/ColorPicker/images/underlay.png
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/dojo-amalgamation.js
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/editor
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/editor/Editor.js
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/editor/EditorSession.js
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/editor/MemberListView.js
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/editor/Tools.js
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/editor/nls
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/editor/nls/de
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/editor/nls/de/myResources.js
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/editor/nls/dojobundle.js
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/editor/nls/myResources.js
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/editor/nls/ru
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/editor/nls/ru/myResources.js
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/editor/server
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/editor/server/ServerFactory.js
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/editor/server/pullbox
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/editor/server/pullbox/OperationRouter.js
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/editor/server/pullbox/Server.js
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/editor/server/pullbox/ServerFactory.js
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/editor/server/pullbox/SessionList.js
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/editor/widgets
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/editor/widgets/annotation.js
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/editor/widgets/dialogWidgets
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/editor/widgets/dialogWidgets/alignmentPane.html
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/editor/widgets/dialogWidgets/alignmentPane.js
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/editor/widgets/dialogWidgets/editHyperlinkPane.html
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/editor/widgets/dialogWidgets/editHyperlinkPane.js
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/editor/widgets/dialogWidgets/fontEffectsPane.html
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/editor/widgets/dialogWidgets/fontEffectsPane.js
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/editor/widgets/editHyperlinks.js
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/editor/widgets/fontPicker.js
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/editor/widgets/imageInserter.js
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/editor/widgets/paragraphAlignment.js
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/editor/widgets/paragraphStyles.js
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/editor/widgets/paragraphStylesDialog.js
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/editor/widgets/simpleStyles.js
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/editor/widgets/toolbarWidgets
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/editor/widgets/toolbarWidgets/currentStyle.js
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/editor/widgets/undoRedoMenu.js
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/editor/widgets/zoomSlider.js
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/webodf-debug.js
+#srv/web/owncloud/apps/documents/js/3rdparty/webodf/webodf.js
+#srv/web/owncloud/apps/documents/js/ServerFactory.js
+#srv/web/owncloud/apps/documents/js/admin.js
+#srv/web/owncloud/apps/documents/js/documents.js
+#srv/web/owncloud/apps/documents/js/locale.js
+#srv/web/owncloud/apps/documents/js/personal.js
+#srv/web/owncloud/apps/documents/js/settings.js
+#srv/web/owncloud/apps/documents/js/viewer
+#srv/web/owncloud/apps/documents/js/viewer/viewer.js
+#srv/web/owncloud/apps/documents/l10n
+#srv/web/owncloud/apps/documents/l10n/ach
+#srv/web/owncloud/apps/documents/l10n/ach/documents.po
+#srv/web/owncloud/apps/documents/l10n/ady
+#srv/web/owncloud/apps/documents/l10n/ady/documents.po
+#srv/web/owncloud/apps/documents/l10n/af
+#srv/web/owncloud/apps/documents/l10n/af/documents.po
+#srv/web/owncloud/apps/documents/l10n/af_ZA
+#srv/web/owncloud/apps/documents/l10n/af_ZA.php
+#srv/web/owncloud/apps/documents/l10n/af_ZA/documents.po
+#srv/web/owncloud/apps/documents/l10n/ak
+#srv/web/owncloud/apps/documents/l10n/ak/documents.po
+#srv/web/owncloud/apps/documents/l10n/am_ET
+#srv/web/owncloud/apps/documents/l10n/am_ET/documents.po
+#srv/web/owncloud/apps/documents/l10n/ar
+#srv/web/owncloud/apps/documents/l10n/ar.php
+#srv/web/owncloud/apps/documents/l10n/ar/documents.po
+#srv/web/owncloud/apps/documents/l10n/ast
+#srv/web/owncloud/apps/documents/l10n/ast.php
+#srv/web/owncloud/apps/documents/l10n/ast/documents.po
+#srv/web/owncloud/apps/documents/l10n/az
+#srv/web/owncloud/apps/documents/l10n/az/documents.po
+#srv/web/owncloud/apps/documents/l10n/be
+#srv/web/owncloud/apps/documents/l10n/be.php
+#srv/web/owncloud/apps/documents/l10n/be/documents.po
+#srv/web/owncloud/apps/documents/l10n/bg_BG
+#srv/web/owncloud/apps/documents/l10n/bg_BG.php
+#srv/web/owncloud/apps/documents/l10n/bg_BG/documents.po
+#srv/web/owncloud/apps/documents/l10n/bn_BD
+#srv/web/owncloud/apps/documents/l10n/bn_BD.php
+#srv/web/owncloud/apps/documents/l10n/bn_BD/documents.po
+#srv/web/owncloud/apps/documents/l10n/bn_IN
+#srv/web/owncloud/apps/documents/l10n/bn_IN/documents.po
+#srv/web/owncloud/apps/documents/l10n/bs
+#srv/web/owncloud/apps/documents/l10n/bs.php
+#srv/web/owncloud/apps/documents/l10n/bs/documents.po
+#srv/web/owncloud/apps/documents/l10n/ca
+#srv/web/owncloud/apps/documents/l10n/ca.php
+#srv/web/owncloud/apps/documents/l10n/ca/documents.po
+#srv/web/owncloud/apps/documents/l10n/ca@valencia
+#srv/web/owncloud/apps/documents/l10n/ca@valencia/documents.po
+#srv/web/owncloud/apps/documents/l10n/cs_CZ
+#srv/web/owncloud/apps/documents/l10n/cs_CZ.php
+#srv/web/owncloud/apps/documents/l10n/cs_CZ/documents.po
+#srv/web/owncloud/apps/documents/l10n/cy_GB
+#srv/web/owncloud/apps/documents/l10n/cy_GB.php
+#srv/web/owncloud/apps/documents/l10n/cy_GB/documents.po
+#srv/web/owncloud/apps/documents/l10n/da
+#srv/web/owncloud/apps/documents/l10n/da.php
+#srv/web/owncloud/apps/documents/l10n/da/documents.po
+#srv/web/owncloud/apps/documents/l10n/de
+#srv/web/owncloud/apps/documents/l10n/de.php
+#srv/web/owncloud/apps/documents/l10n/de/documents.po
+#srv/web/owncloud/apps/documents/l10n/de_AT
+#srv/web/owncloud/apps/documents/l10n/de_AT.php
+#srv/web/owncloud/apps/documents/l10n/de_AT/documents.po
+#srv/web/owncloud/apps/documents/l10n/de_CH
+#srv/web/owncloud/apps/documents/l10n/de_CH.php
+#srv/web/owncloud/apps/documents/l10n/de_CH/documents.po
+#srv/web/owncloud/apps/documents/l10n/de_DE
+#srv/web/owncloud/apps/documents/l10n/de_DE.php
+#srv/web/owncloud/apps/documents/l10n/de_DE/documents.po
+#srv/web/owncloud/apps/documents/l10n/el
+#srv/web/owncloud/apps/documents/l10n/el.php
+#srv/web/owncloud/apps/documents/l10n/el/documents.po
+#srv/web/owncloud/apps/documents/l10n/en@pirate
+#srv/web/owncloud/apps/documents/l10n/en@pirate.php
+#srv/web/owncloud/apps/documents/l10n/en@pirate/documents.po
+#srv/web/owncloud/apps/documents/l10n/en_GB
+#srv/web/owncloud/apps/documents/l10n/en_GB.php
+#srv/web/owncloud/apps/documents/l10n/en_GB/documents.po
+#srv/web/owncloud/apps/documents/l10n/en_NZ
+#srv/web/owncloud/apps/documents/l10n/en_NZ/documents.po
+#srv/web/owncloud/apps/documents/l10n/eo
+#srv/web/owncloud/apps/documents/l10n/eo.php
+#srv/web/owncloud/apps/documents/l10n/eo/documents.po
+#srv/web/owncloud/apps/documents/l10n/es
+#srv/web/owncloud/apps/documents/l10n/es.php
+#srv/web/owncloud/apps/documents/l10n/es/documents.po
+#srv/web/owncloud/apps/documents/l10n/es_AR
+#srv/web/owncloud/apps/documents/l10n/es_AR.php
+#srv/web/owncloud/apps/documents/l10n/es_AR/documents.po
+#srv/web/owncloud/apps/documents/l10n/es_BO
+#srv/web/owncloud/apps/documents/l10n/es_BO/documents.po
+#srv/web/owncloud/apps/documents/l10n/es_CL
+#srv/web/owncloud/apps/documents/l10n/es_CL.php
+#srv/web/owncloud/apps/documents/l10n/es_CL/documents.po
+#srv/web/owncloud/apps/documents/l10n/es_CO
+#srv/web/owncloud/apps/documents/l10n/es_CO/documents.po
+#srv/web/owncloud/apps/documents/l10n/es_CR
+#srv/web/owncloud/apps/documents/l10n/es_CR/documents.po
+#srv/web/owncloud/apps/documents/l10n/es_EC
+#srv/web/owncloud/apps/documents/l10n/es_EC/documents.po
+#srv/web/owncloud/apps/documents/l10n/es_MX
+#srv/web/owncloud/apps/documents/l10n/es_MX.php
+#srv/web/owncloud/apps/documents/l10n/es_MX/documents.po
+#srv/web/owncloud/apps/documents/l10n/es_PE
+#srv/web/owncloud/apps/documents/l10n/es_PE/documents.po
+#srv/web/owncloud/apps/documents/l10n/es_PY
+#srv/web/owncloud/apps/documents/l10n/es_PY/documents.po
+#srv/web/owncloud/apps/documents/l10n/es_US
+#srv/web/owncloud/apps/documents/l10n/es_US/documents.po
+#srv/web/owncloud/apps/documents/l10n/es_UY
+#srv/web/owncloud/apps/documents/l10n/es_UY/documents.po
+#srv/web/owncloud/apps/documents/l10n/et_EE
+#srv/web/owncloud/apps/documents/l10n/et_EE.php
+#srv/web/owncloud/apps/documents/l10n/et_EE/documents.po
+#srv/web/owncloud/apps/documents/l10n/eu
+#srv/web/owncloud/apps/documents/l10n/eu.php
+#srv/web/owncloud/apps/documents/l10n/eu/documents.po
+#srv/web/owncloud/apps/documents/l10n/eu_ES
+#srv/web/owncloud/apps/documents/l10n/eu_ES.php
+#srv/web/owncloud/apps/documents/l10n/eu_ES/documents.po
+#srv/web/owncloud/apps/documents/l10n/fa
+#srv/web/owncloud/apps/documents/l10n/fa.php
+#srv/web/owncloud/apps/documents/l10n/fa/documents.po
+#srv/web/owncloud/apps/documents/l10n/fi_FI
+#srv/web/owncloud/apps/documents/l10n/fi_FI.php
+#srv/web/owncloud/apps/documents/l10n/fi_FI/documents.po
+#srv/web/owncloud/apps/documents/l10n/fr
+#srv/web/owncloud/apps/documents/l10n/fr.php
+#srv/web/owncloud/apps/documents/l10n/fr/documents.po
+#srv/web/owncloud/apps/documents/l10n/fr_CA
+#srv/web/owncloud/apps/documents/l10n/fr_CA/documents.po
+#srv/web/owncloud/apps/documents/l10n/gl
+#srv/web/owncloud/apps/documents/l10n/gl.php
+#srv/web/owncloud/apps/documents/l10n/gl/documents.po
+#srv/web/owncloud/apps/documents/l10n/he
+#srv/web/owncloud/apps/documents/l10n/he.php
+#srv/web/owncloud/apps/documents/l10n/he/documents.po
+#srv/web/owncloud/apps/documents/l10n/hi
+#srv/web/owncloud/apps/documents/l10n/hi.php
+#srv/web/owncloud/apps/documents/l10n/hi/documents.po
+#srv/web/owncloud/apps/documents/l10n/hi_IN
+#srv/web/owncloud/apps/documents/l10n/hi_IN/documents.po
+#srv/web/owncloud/apps/documents/l10n/hr
+#srv/web/owncloud/apps/documents/l10n/hr.php
+#srv/web/owncloud/apps/documents/l10n/hr/documents.po
+#srv/web/owncloud/apps/documents/l10n/hu_HU
+#srv/web/owncloud/apps/documents/l10n/hu_HU.php
+#srv/web/owncloud/apps/documents/l10n/hu_HU/documents.po
+#srv/web/owncloud/apps/documents/l10n/hy
+#srv/web/owncloud/apps/documents/l10n/hy.php
+#srv/web/owncloud/apps/documents/l10n/hy/documents.po
+#srv/web/owncloud/apps/documents/l10n/ia
+#srv/web/owncloud/apps/documents/l10n/ia.php
+#srv/web/owncloud/apps/documents/l10n/ia/documents.po
+#srv/web/owncloud/apps/documents/l10n/id
+#srv/web/owncloud/apps/documents/l10n/id.php
+#srv/web/owncloud/apps/documents/l10n/id/documents.po
+#srv/web/owncloud/apps/documents/l10n/is
+#srv/web/owncloud/apps/documents/l10n/is.php
+#srv/web/owncloud/apps/documents/l10n/is/documents.po
+#srv/web/owncloud/apps/documents/l10n/it
+#srv/web/owncloud/apps/documents/l10n/it.php
+#srv/web/owncloud/apps/documents/l10n/it/documents.po
+#srv/web/owncloud/apps/documents/l10n/ja
+#srv/web/owncloud/apps/documents/l10n/ja.php
+#srv/web/owncloud/apps/documents/l10n/ja/documents.po
+#srv/web/owncloud/apps/documents/l10n/ja_JP.php
+#srv/web/owncloud/apps/documents/l10n/jv
+#srv/web/owncloud/apps/documents/l10n/jv.php
+#srv/web/owncloud/apps/documents/l10n/jv/documents.po
+#srv/web/owncloud/apps/documents/l10n/ka
+#srv/web/owncloud/apps/documents/l10n/ka.php
+#srv/web/owncloud/apps/documents/l10n/ka/documents.po
+#srv/web/owncloud/apps/documents/l10n/ka_GE
+#srv/web/owncloud/apps/documents/l10n/ka_GE.php
+#srv/web/owncloud/apps/documents/l10n/ka_GE/documents.po
+#srv/web/owncloud/apps/documents/l10n/km
+#srv/web/owncloud/apps/documents/l10n/km.php
+#srv/web/owncloud/apps/documents/l10n/km/documents.po
+#srv/web/owncloud/apps/documents/l10n/kn
+#srv/web/owncloud/apps/documents/l10n/kn/documents.po
+#srv/web/owncloud/apps/documents/l10n/ko
+#srv/web/owncloud/apps/documents/l10n/ko.php
+#srv/web/owncloud/apps/documents/l10n/ko/documents.po
+#srv/web/owncloud/apps/documents/l10n/ku_IQ
+#srv/web/owncloud/apps/documents/l10n/ku_IQ.php
+#srv/web/owncloud/apps/documents/l10n/ku_IQ/documents.po
+#srv/web/owncloud/apps/documents/l10n/l10n.pl
+#srv/web/owncloud/apps/documents/l10n/lb
+#srv/web/owncloud/apps/documents/l10n/lb.php
+#srv/web/owncloud/apps/documents/l10n/lb/documents.po
+#srv/web/owncloud/apps/documents/l10n/lt_LT
+#srv/web/owncloud/apps/documents/l10n/lt_LT.php
+#srv/web/owncloud/apps/documents/l10n/lt_LT/documents.po
+#srv/web/owncloud/apps/documents/l10n/lv
+#srv/web/owncloud/apps/documents/l10n/lv.php
+#srv/web/owncloud/apps/documents/l10n/lv/documents.po
+#srv/web/owncloud/apps/documents/l10n/mk
+#srv/web/owncloud/apps/documents/l10n/mk.php
+#srv/web/owncloud/apps/documents/l10n/mk/documents.po
+#srv/web/owncloud/apps/documents/l10n/ml
+#srv/web/owncloud/apps/documents/l10n/ml/documents.po
+#srv/web/owncloud/apps/documents/l10n/ml_IN
+#srv/web/owncloud/apps/documents/l10n/ml_IN/documents.po
+#srv/web/owncloud/apps/documents/l10n/mn
+#srv/web/owncloud/apps/documents/l10n/mn/documents.po
+#srv/web/owncloud/apps/documents/l10n/ms_MY
+#srv/web/owncloud/apps/documents/l10n/ms_MY.php
+#srv/web/owncloud/apps/documents/l10n/ms_MY/documents.po
+#srv/web/owncloud/apps/documents/l10n/my_MM
+#srv/web/owncloud/apps/documents/l10n/my_MM.php
+#srv/web/owncloud/apps/documents/l10n/my_MM/documents.po
+#srv/web/owncloud/apps/documents/l10n/nb_NO
+#srv/web/owncloud/apps/documents/l10n/nb_NO.php
+#srv/web/owncloud/apps/documents/l10n/nb_NO/documents.po
+#srv/web/owncloud/apps/documents/l10n/nds
+#srv/web/owncloud/apps/documents/l10n/nds/documents.po
+#srv/web/owncloud/apps/documents/l10n/ne
+#srv/web/owncloud/apps/documents/l10n/ne/documents.po
+#srv/web/owncloud/apps/documents/l10n/nl
+#srv/web/owncloud/apps/documents/l10n/nl.php
+#srv/web/owncloud/apps/documents/l10n/nl/documents.po
+#srv/web/owncloud/apps/documents/l10n/nn_NO
+#srv/web/owncloud/apps/documents/l10n/nn_NO.php
+#srv/web/owncloud/apps/documents/l10n/nn_NO/documents.po
+#srv/web/owncloud/apps/documents/l10n/nqo
+#srv/web/owncloud/apps/documents/l10n/nqo/documents.po
+#srv/web/owncloud/apps/documents/l10n/oc
+#srv/web/owncloud/apps/documents/l10n/oc.php
+#srv/web/owncloud/apps/documents/l10n/oc/documents.po
+#srv/web/owncloud/apps/documents/l10n/or_IN
+#srv/web/owncloud/apps/documents/l10n/or_IN/documents.po
+#srv/web/owncloud/apps/documents/l10n/pa
+#srv/web/owncloud/apps/documents/l10n/pa.php
+#srv/web/owncloud/apps/documents/l10n/pa/documents.po
+#srv/web/owncloud/apps/documents/l10n/pl
+#srv/web/owncloud/apps/documents/l10n/pl.php
+#srv/web/owncloud/apps/documents/l10n/pl/documents.po
+#srv/web/owncloud/apps/documents/l10n/pt_BR
+#srv/web/owncloud/apps/documents/l10n/pt_BR.php
+#srv/web/owncloud/apps/documents/l10n/pt_BR/documents.po
+#srv/web/owncloud/apps/documents/l10n/pt_PT
+#srv/web/owncloud/apps/documents/l10n/pt_PT.php
+#srv/web/owncloud/apps/documents/l10n/pt_PT/documents.po
+#srv/web/owncloud/apps/documents/l10n/ro
+#srv/web/owncloud/apps/documents/l10n/ro.php
+#srv/web/owncloud/apps/documents/l10n/ro/documents.po
+#srv/web/owncloud/apps/documents/l10n/ru
+#srv/web/owncloud/apps/documents/l10n/ru.php
+#srv/web/owncloud/apps/documents/l10n/ru/documents.po
+#srv/web/owncloud/apps/documents/l10n/ru_RU
+#srv/web/owncloud/apps/documents/l10n/ru_RU.php
+#srv/web/owncloud/apps/documents/l10n/ru_RU/documents.po
+#srv/web/owncloud/apps/documents/l10n/si_LK
+#srv/web/owncloud/apps/documents/l10n/si_LK.php
+#srv/web/owncloud/apps/documents/l10n/si_LK/documents.po
+#srv/web/owncloud/apps/documents/l10n/sk
+#srv/web/owncloud/apps/documents/l10n/sk.php
+#srv/web/owncloud/apps/documents/l10n/sk/documents.po
+#srv/web/owncloud/apps/documents/l10n/sk_SK
+#srv/web/owncloud/apps/documents/l10n/sk_SK.php
+#srv/web/owncloud/apps/documents/l10n/sk_SK/documents.po
+#srv/web/owncloud/apps/documents/l10n/sl
+#srv/web/owncloud/apps/documents/l10n/sl.php
+#srv/web/owncloud/apps/documents/l10n/sl/documents.po
+#srv/web/owncloud/apps/documents/l10n/sq
+#srv/web/owncloud/apps/documents/l10n/sq.php
+#srv/web/owncloud/apps/documents/l10n/sq/documents.po
+#srv/web/owncloud/apps/documents/l10n/sr
+#srv/web/owncloud/apps/documents/l10n/sr.php
+#srv/web/owncloud/apps/documents/l10n/sr/documents.po
+#srv/web/owncloud/apps/documents/l10n/sr@latin
+#srv/web/owncloud/apps/documents/l10n/sr@latin.php
+#srv/web/owncloud/apps/documents/l10n/sr@latin/documents.po
+#srv/web/owncloud/apps/documents/l10n/su
+#srv/web/owncloud/apps/documents/l10n/su/documents.po
+#srv/web/owncloud/apps/documents/l10n/sv
+#srv/web/owncloud/apps/documents/l10n/sv.php
+#srv/web/owncloud/apps/documents/l10n/sv/documents.po
+#srv/web/owncloud/apps/documents/l10n/sw_KE
+#srv/web/owncloud/apps/documents/l10n/sw_KE/documents.po
+#srv/web/owncloud/apps/documents/l10n/ta_IN
+#srv/web/owncloud/apps/documents/l10n/ta_IN/documents.po
+#srv/web/owncloud/apps/documents/l10n/ta_LK
+#srv/web/owncloud/apps/documents/l10n/ta_LK.php
+#srv/web/owncloud/apps/documents/l10n/ta_LK/documents.po
+#srv/web/owncloud/apps/documents/l10n/te
+#srv/web/owncloud/apps/documents/l10n/te.php
+#srv/web/owncloud/apps/documents/l10n/te/documents.po
+#srv/web/owncloud/apps/documents/l10n/templates
+#srv/web/owncloud/apps/documents/l10n/templates/documents.pot
+#srv/web/owncloud/apps/documents/l10n/th_TH
+#srv/web/owncloud/apps/documents/l10n/th_TH.php
+#srv/web/owncloud/apps/documents/l10n/th_TH/documents.po
+#srv/web/owncloud/apps/documents/l10n/tr
+#srv/web/owncloud/apps/documents/l10n/tr.php
+#srv/web/owncloud/apps/documents/l10n/tr/documents.po
+#srv/web/owncloud/apps/documents/l10n/tzm
+#srv/web/owncloud/apps/documents/l10n/tzm/documents.po
+#srv/web/owncloud/apps/documents/l10n/ug
+#srv/web/owncloud/apps/documents/l10n/ug.php
+#srv/web/owncloud/apps/documents/l10n/ug/documents.po
+#srv/web/owncloud/apps/documents/l10n/uk
+#srv/web/owncloud/apps/documents/l10n/uk.php
+#srv/web/owncloud/apps/documents/l10n/uk/documents.po
+#srv/web/owncloud/apps/documents/l10n/ur
+#srv/web/owncloud/apps/documents/l10n/ur/documents.po
+#srv/web/owncloud/apps/documents/l10n/ur_PK
+#srv/web/owncloud/apps/documents/l10n/ur_PK.php
+#srv/web/owncloud/apps/documents/l10n/ur_PK/documents.po
+#srv/web/owncloud/apps/documents/l10n/uz
+#srv/web/owncloud/apps/documents/l10n/uz/documents.po
+#srv/web/owncloud/apps/documents/l10n/vi
+#srv/web/owncloud/apps/documents/l10n/vi.php
+#srv/web/owncloud/apps/documents/l10n/vi/documents.po
+#srv/web/owncloud/apps/documents/l10n/zh_CN
+#srv/web/owncloud/apps/documents/l10n/zh_CN.php
+#srv/web/owncloud/apps/documents/l10n/zh_CN/documents.po
+#srv/web/owncloud/apps/documents/l10n/zh_HK
+#srv/web/owncloud/apps/documents/l10n/zh_HK.php
+#srv/web/owncloud/apps/documents/l10n/zh_HK/documents.po
+#srv/web/owncloud/apps/documents/l10n/zh_TW
+#srv/web/owncloud/apps/documents/l10n/zh_TW.php
+#srv/web/owncloud/apps/documents/l10n/zh_TW/documents.po
+#srv/web/owncloud/apps/documents/lib
+#srv/web/owncloud/apps/documents/lib/config.php
+#srv/web/owncloud/apps/documents/lib/converter.php
+#srv/web/owncloud/apps/documents/lib/db
+#srv/web/owncloud/apps/documents/lib/db.php
+#srv/web/owncloud/apps/documents/lib/db/member.php
+#srv/web/owncloud/apps/documents/lib/db/op.php
+#srv/web/owncloud/apps/documents/lib/db/session.php
+#srv/web/owncloud/apps/documents/lib/download
+#srv/web/owncloud/apps/documents/lib/download.php
+#srv/web/owncloud/apps/documents/lib/download/range.php
+#srv/web/owncloud/apps/documents/lib/download/simple.php
+#srv/web/owncloud/apps/documents/lib/file.php
+#srv/web/owncloud/apps/documents/lib/filter
+#srv/web/owncloud/apps/documents/lib/filter.php
+#srv/web/owncloud/apps/documents/lib/filter/office.php
+#srv/web/owncloud/apps/documents/lib/genesis.php
+#srv/web/owncloud/apps/documents/lib/helper.php
+#srv/web/owncloud/apps/documents/lib/request.php
+#srv/web/owncloud/apps/documents/lib/response.odt
+#srv/web/owncloud/apps/documents/lib/storage.php
+#srv/web/owncloud/apps/documents/lib/view.php
+#srv/web/owncloud/apps/documents/personal.php
+#srv/web/owncloud/apps/documents/public.php
+#srv/web/owncloud/apps/documents/settings.php
+#srv/web/owncloud/apps/documents/src
+#srv/web/owncloud/apps/documents/src/locale.sh
+#srv/web/owncloud/apps/documents/src/patches
+#srv/web/owncloud/apps/documents/src/patches/MemberListView-OCavatar.patch
+#srv/web/owncloud/apps/documents/src/patches/MemberListView-OCnick.patch
+#srv/web/owncloud/apps/documents/src/patches/dojoStylesPill.patch
+#srv/web/owncloud/apps/documents/src/patches/fontsCssPath.patch
+#srv/web/owncloud/apps/documents/src/patches/hideCaretAvatar.patch
+#srv/web/owncloud/apps/documents/src/patches/keepBodyStyle.patch
+#srv/web/owncloud/apps/documents/src/updateWebODF.sh
+#srv/web/owncloud/apps/documents/templates
+#srv/web/owncloud/apps/documents/templates/admin.php
+#srv/web/owncloud/apps/documents/templates/documents.php
+#srv/web/owncloud/apps/documents/templates/personal.php
+#srv/web/owncloud/apps/documents/templates/public.php
+#srv/web/owncloud/apps/documents/templates/settings.php
+#srv/web/owncloud/apps/external
+#srv/web/owncloud/apps/external/ajax
+#srv/web/owncloud/apps/external/ajax/setsites.php
+#srv/web/owncloud/apps/external/appinfo
+#srv/web/owncloud/apps/external/appinfo/app.php
+#srv/web/owncloud/apps/external/appinfo/info.xml
+#srv/web/owncloud/apps/external/appinfo/version
+#srv/web/owncloud/apps/external/css
+#srv/web/owncloud/apps/external/css/style.css
+#srv/web/owncloud/apps/external/img
+#srv/web/owncloud/apps/external/img/external.png
+#srv/web/owncloud/apps/external/img/external.svg
+#srv/web/owncloud/apps/external/index.php
+#srv/web/owncloud/apps/external/js
+#srv/web/owncloud/apps/external/js/admin.js
+#srv/web/owncloud/apps/external/js/external.js
+#srv/web/owncloud/apps/external/l10n
+#srv/web/owncloud/apps/external/l10n/af_ZA.php
+#srv/web/owncloud/apps/external/l10n/ar.php
+#srv/web/owncloud/apps/external/l10n/ast.php
+#srv/web/owncloud/apps/external/l10n/bg_BG.php
+#srv/web/owncloud/apps/external/l10n/bn_BD.php
+#srv/web/owncloud/apps/external/l10n/bs.php
+#srv/web/owncloud/apps/external/l10n/ca.php
+#srv/web/owncloud/apps/external/l10n/cs_CZ.php
+#srv/web/owncloud/apps/external/l10n/cy_GB.php
+#srv/web/owncloud/apps/external/l10n/da.php
+#srv/web/owncloud/apps/external/l10n/de.php
+#srv/web/owncloud/apps/external/l10n/de_CH.php
+#srv/web/owncloud/apps/external/l10n/de_DE.php
+#srv/web/owncloud/apps/external/l10n/el.php
+#srv/web/owncloud/apps/external/l10n/en_GB.php
+#srv/web/owncloud/apps/external/l10n/eo.php
+#srv/web/owncloud/apps/external/l10n/es.php
+#srv/web/owncloud/apps/external/l10n/es_AR.php
+#srv/web/owncloud/apps/external/l10n/es_MX.php
+#srv/web/owncloud/apps/external/l10n/et_EE.php
+#srv/web/owncloud/apps/external/l10n/eu.php
+#srv/web/owncloud/apps/external/l10n/fa.php
+#srv/web/owncloud/apps/external/l10n/fi_FI.php
+#srv/web/owncloud/apps/external/l10n/fr.php
+#srv/web/owncloud/apps/external/l10n/gl.php
+#srv/web/owncloud/apps/external/l10n/he.php
+#srv/web/owncloud/apps/external/l10n/hi.php
+#srv/web/owncloud/apps/external/l10n/hr.php
+#srv/web/owncloud/apps/external/l10n/hu_HU.php
+#srv/web/owncloud/apps/external/l10n/ia.php
+#srv/web/owncloud/apps/external/l10n/id.php
+#srv/web/owncloud/apps/external/l10n/is.php
+#srv/web/owncloud/apps/external/l10n/it.php
+#srv/web/owncloud/apps/external/l10n/ja.php
+#srv/web/owncloud/apps/external/l10n/ja_JP.php
+#srv/web/owncloud/apps/external/l10n/ka_GE.php
+#srv/web/owncloud/apps/external/l10n/km.php
+#srv/web/owncloud/apps/external/l10n/ko.php
+#srv/web/owncloud/apps/external/l10n/ku_IQ.php
+#srv/web/owncloud/apps/external/l10n/lb.php
+#srv/web/owncloud/apps/external/l10n/lt_LT.php
+#srv/web/owncloud/apps/external/l10n/lv.php
+#srv/web/owncloud/apps/external/l10n/mk.php
+#srv/web/owncloud/apps/external/l10n/ms_MY.php
+#srv/web/owncloud/apps/external/l10n/my_MM.php
+#srv/web/owncloud/apps/external/l10n/nb_NO.php
+#srv/web/owncloud/apps/external/l10n/nl.php
+#srv/web/owncloud/apps/external/l10n/nn_NO.php
+#srv/web/owncloud/apps/external/l10n/oc.php
+#srv/web/owncloud/apps/external/l10n/pl.php
+#srv/web/owncloud/apps/external/l10n/pt_BR.php
+#srv/web/owncloud/apps/external/l10n/pt_PT.php
+#srv/web/owncloud/apps/external/l10n/ro.php
+#srv/web/owncloud/apps/external/l10n/ru.php
+#srv/web/owncloud/apps/external/l10n/si_LK.php
+#srv/web/owncloud/apps/external/l10n/sk_SK.php
+#srv/web/owncloud/apps/external/l10n/sl.php
+#srv/web/owncloud/apps/external/l10n/sq.php
+#srv/web/owncloud/apps/external/l10n/sr.php
+#srv/web/owncloud/apps/external/l10n/sr@latin.php
+#srv/web/owncloud/apps/external/l10n/sv.php
+#srv/web/owncloud/apps/external/l10n/ta_LK.php
+#srv/web/owncloud/apps/external/l10n/te.php
+#srv/web/owncloud/apps/external/l10n/th_TH.php
+#srv/web/owncloud/apps/external/l10n/tr.php
+#srv/web/owncloud/apps/external/l10n/ug.php
+#srv/web/owncloud/apps/external/l10n/uk.php
+#srv/web/owncloud/apps/external/l10n/ur_PK.php
+#srv/web/owncloud/apps/external/l10n/vi.php
+#srv/web/owncloud/apps/external/l10n/zh_CN.php
+#srv/web/owncloud/apps/external/l10n/zh_HK.php
+#srv/web/owncloud/apps/external/l10n/zh_TW.php
+#srv/web/owncloud/apps/external/lib
+#srv/web/owncloud/apps/external/lib/external.php
+#srv/web/owncloud/apps/external/settings.php
+#srv/web/owncloud/apps/external/templates
+#srv/web/owncloud/apps/external/templates/frame.php
+#srv/web/owncloud/apps/external/templates/settings.php
+#srv/web/owncloud/apps/files
+#srv/web/owncloud/apps/files/admin.php
+#srv/web/owncloud/apps/files/ajax
+#srv/web/owncloud/apps/files/ajax/delete.php
+#srv/web/owncloud/apps/files/ajax/download.php
+#srv/web/owncloud/apps/files/ajax/getstoragestats.php
+#srv/web/owncloud/apps/files/ajax/list.php
+#srv/web/owncloud/apps/files/ajax/mimeicon.php
+#srv/web/owncloud/apps/files/ajax/move.php
+#srv/web/owncloud/apps/files/ajax/newfile.php
+#srv/web/owncloud/apps/files/ajax/newfolder.php
+#srv/web/owncloud/apps/files/ajax/rename.php
+#srv/web/owncloud/apps/files/ajax/scan.php
+#srv/web/owncloud/apps/files/ajax/upload.php
+#srv/web/owncloud/apps/files/appinfo
+#srv/web/owncloud/apps/files/appinfo/app.php
+#srv/web/owncloud/apps/files/appinfo/filesync.php
+#srv/web/owncloud/apps/files/appinfo/info.xml
+#srv/web/owncloud/apps/files/appinfo/register_command.php
+#srv/web/owncloud/apps/files/appinfo/remote.php
+#srv/web/owncloud/apps/files/appinfo/routes.php
+#srv/web/owncloud/apps/files/appinfo/update.php
+#srv/web/owncloud/apps/files/appinfo/version
+#srv/web/owncloud/apps/files/command
+#srv/web/owncloud/apps/files/command/scan.php
+#srv/web/owncloud/apps/files/css
+#srv/web/owncloud/apps/files/css/files.css
+#srv/web/owncloud/apps/files/css/mobile.css
+#srv/web/owncloud/apps/files/css/upload.css
+#srv/web/owncloud/apps/files/download.php
+#srv/web/owncloud/apps/files/index.php
+#srv/web/owncloud/apps/files/js
+#srv/web/owncloud/apps/files/js/admin.js
+#srv/web/owncloud/apps/files/js/app.js
+#srv/web/owncloud/apps/files/js/breadcrumb.js
+#srv/web/owncloud/apps/files/js/file-upload.js
+#srv/web/owncloud/apps/files/js/fileactions.js
+#srv/web/owncloud/apps/files/js/filelist.js
+#srv/web/owncloud/apps/files/js/files.js
+#srv/web/owncloud/apps/files/js/filesummary.js
+#srv/web/owncloud/apps/files/js/jquery-visibility.js
+#srv/web/owncloud/apps/files/js/jquery.fileupload.js
+#srv/web/owncloud/apps/files/js/jquery.iframe-transport.js
+#srv/web/owncloud/apps/files/js/keyboardshortcuts.js
+#srv/web/owncloud/apps/files/js/navigation.js
+#srv/web/owncloud/apps/files/js/upload.js
+#srv/web/owncloud/apps/files/l10n
+#srv/web/owncloud/apps/files/l10n/ach.php
+#srv/web/owncloud/apps/files/l10n/ady.php
+#srv/web/owncloud/apps/files/l10n/af.php
+#srv/web/owncloud/apps/files/l10n/af_ZA.php
+#srv/web/owncloud/apps/files/l10n/ak.php
+#srv/web/owncloud/apps/files/l10n/am_ET.php
+#srv/web/owncloud/apps/files/l10n/ar.php
+#srv/web/owncloud/apps/files/l10n/ast.php
+#srv/web/owncloud/apps/files/l10n/az.php
+#srv/web/owncloud/apps/files/l10n/be.php
+#srv/web/owncloud/apps/files/l10n/bg_BG.php
+#srv/web/owncloud/apps/files/l10n/bn_BD.php
+#srv/web/owncloud/apps/files/l10n/bn_IN.php
+#srv/web/owncloud/apps/files/l10n/bs.php
+#srv/web/owncloud/apps/files/l10n/ca.php
+#srv/web/owncloud/apps/files/l10n/ca@valencia.php
+#srv/web/owncloud/apps/files/l10n/cs_CZ.php
+#srv/web/owncloud/apps/files/l10n/cy_GB.php
+#srv/web/owncloud/apps/files/l10n/da.php
+#srv/web/owncloud/apps/files/l10n/de.php
+#srv/web/owncloud/apps/files/l10n/de_AT.php
+#srv/web/owncloud/apps/files/l10n/de_CH.php
+#srv/web/owncloud/apps/files/l10n/de_DE.php
+#srv/web/owncloud/apps/files/l10n/el.php
+#srv/web/owncloud/apps/files/l10n/en@pirate.php
+#srv/web/owncloud/apps/files/l10n/en_GB.php
+#srv/web/owncloud/apps/files/l10n/en_NZ.php
+#srv/web/owncloud/apps/files/l10n/eo.php
+#srv/web/owncloud/apps/files/l10n/es.php
+#srv/web/owncloud/apps/files/l10n/es_AR.php
+#srv/web/owncloud/apps/files/l10n/es_BO.php
+#srv/web/owncloud/apps/files/l10n/es_CL.php
+#srv/web/owncloud/apps/files/l10n/es_CO.php
+#srv/web/owncloud/apps/files/l10n/es_CR.php
+#srv/web/owncloud/apps/files/l10n/es_EC.php
+#srv/web/owncloud/apps/files/l10n/es_MX.php
+#srv/web/owncloud/apps/files/l10n/es_PE.php
+#srv/web/owncloud/apps/files/l10n/es_PY.php
+#srv/web/owncloud/apps/files/l10n/es_US.php
+#srv/web/owncloud/apps/files/l10n/es_UY.php
+#srv/web/owncloud/apps/files/l10n/et_EE.php
+#srv/web/owncloud/apps/files/l10n/eu.php
+#srv/web/owncloud/apps/files/l10n/eu_ES.php
+#srv/web/owncloud/apps/files/l10n/fa.php
+#srv/web/owncloud/apps/files/l10n/fi.php
+#srv/web/owncloud/apps/files/l10n/fi_FI.php
+#srv/web/owncloud/apps/files/l10n/fr.php
+#srv/web/owncloud/apps/files/l10n/fr_CA.php
+#srv/web/owncloud/apps/files/l10n/gl.php
+#srv/web/owncloud/apps/files/l10n/he.php
+#srv/web/owncloud/apps/files/l10n/hi.php
+#srv/web/owncloud/apps/files/l10n/hi_IN.php
+#srv/web/owncloud/apps/files/l10n/hr.php
+#srv/web/owncloud/apps/files/l10n/hu_HU.php
+#srv/web/owncloud/apps/files/l10n/hy.php
+#srv/web/owncloud/apps/files/l10n/ia.php
+#srv/web/owncloud/apps/files/l10n/id.php
+#srv/web/owncloud/apps/files/l10n/is.php
+#srv/web/owncloud/apps/files/l10n/it.php
+#srv/web/owncloud/apps/files/l10n/ja.php
+#srv/web/owncloud/apps/files/l10n/ja_JP.php
+#srv/web/owncloud/apps/files/l10n/jv.php
+#srv/web/owncloud/apps/files/l10n/ka.php
+#srv/web/owncloud/apps/files/l10n/ka_GE.php
+#srv/web/owncloud/apps/files/l10n/km.php
+#srv/web/owncloud/apps/files/l10n/kn.php
+#srv/web/owncloud/apps/files/l10n/ko.php
+#srv/web/owncloud/apps/files/l10n/ku_IQ.php
+#srv/web/owncloud/apps/files/l10n/lb.php
+#srv/web/owncloud/apps/files/l10n/lt_LT.php
+#srv/web/owncloud/apps/files/l10n/lv.php
+#srv/web/owncloud/apps/files/l10n/mk.php
+#srv/web/owncloud/apps/files/l10n/ml.php
+#srv/web/owncloud/apps/files/l10n/ml_IN.php
+#srv/web/owncloud/apps/files/l10n/mn.php
+#srv/web/owncloud/apps/files/l10n/ms_MY.php
+#srv/web/owncloud/apps/files/l10n/my_MM.php
+#srv/web/owncloud/apps/files/l10n/nb_NO.php
+#srv/web/owncloud/apps/files/l10n/nds.php
+#srv/web/owncloud/apps/files/l10n/ne.php
+#srv/web/owncloud/apps/files/l10n/nl.php
+#srv/web/owncloud/apps/files/l10n/nn_NO.php
+#srv/web/owncloud/apps/files/l10n/nqo.php
+#srv/web/owncloud/apps/files/l10n/oc.php
+#srv/web/owncloud/apps/files/l10n/or_IN.php
+#srv/web/owncloud/apps/files/l10n/pa.php
+#srv/web/owncloud/apps/files/l10n/pl.php
+#srv/web/owncloud/apps/files/l10n/pt_BR.php
+#srv/web/owncloud/apps/files/l10n/pt_PT.php
+#srv/web/owncloud/apps/files/l10n/ro.php
+#srv/web/owncloud/apps/files/l10n/ru.php
+#srv/web/owncloud/apps/files/l10n/si_LK.php
+#srv/web/owncloud/apps/files/l10n/sk.php
+#srv/web/owncloud/apps/files/l10n/sk_SK.php
+#srv/web/owncloud/apps/files/l10n/sl.php
+#srv/web/owncloud/apps/files/l10n/sq.php
+#srv/web/owncloud/apps/files/l10n/sr.php
+#srv/web/owncloud/apps/files/l10n/sr@latin.php
+#srv/web/owncloud/apps/files/l10n/su.php
+#srv/web/owncloud/apps/files/l10n/sv.php
+#srv/web/owncloud/apps/files/l10n/sw_KE.php
+#srv/web/owncloud/apps/files/l10n/ta_IN.php
+#srv/web/owncloud/apps/files/l10n/ta_LK.php
+#srv/web/owncloud/apps/files/l10n/te.php
+#srv/web/owncloud/apps/files/l10n/th_TH.php
+#srv/web/owncloud/apps/files/l10n/tr.php
+#srv/web/owncloud/apps/files/l10n/tzm.php
+#srv/web/owncloud/apps/files/l10n/ug.php
+#srv/web/owncloud/apps/files/l10n/uk.php
+#srv/web/owncloud/apps/files/l10n/ur.php
+#srv/web/owncloud/apps/files/l10n/ur_PK.php
+#srv/web/owncloud/apps/files/l10n/uz.php
+#srv/web/owncloud/apps/files/l10n/vi.php
+#srv/web/owncloud/apps/files/l10n/xgettextfiles
+#srv/web/owncloud/apps/files/l10n/zh_CN.php
+#srv/web/owncloud/apps/files/l10n/zh_HK.php
+#srv/web/owncloud/apps/files/l10n/zh_TW.php
+#srv/web/owncloud/apps/files/lib
+#srv/web/owncloud/apps/files/lib/app.php
+#srv/web/owncloud/apps/files/lib/capabilities.php
+#srv/web/owncloud/apps/files/lib/helper.php
+#srv/web/owncloud/apps/files/list.php
+#srv/web/owncloud/apps/files/settings.php
+#srv/web/owncloud/apps/files/templates
+#srv/web/owncloud/apps/files/templates/admin.php
+#srv/web/owncloud/apps/files/templates/appnavigation.php
+#srv/web/owncloud/apps/files/templates/fileexists.html
+#srv/web/owncloud/apps/files/templates/index.php
+#srv/web/owncloud/apps/files/templates/list.php
+#srv/web/owncloud/apps/files/tests
+#srv/web/owncloud/apps/files/tests/ajax_rename.php
+#srv/web/owncloud/apps/files/tests/helper.php
+#srv/web/owncloud/apps/files/tests/js
+#srv/web/owncloud/apps/files/tests/js/appSpec.js
+#srv/web/owncloud/apps/files/tests/js/breadcrumbSpec.js
+#srv/web/owncloud/apps/files/tests/js/fileUploadSpec.js
+#srv/web/owncloud/apps/files/tests/js/fileactionsSpec.js
+#srv/web/owncloud/apps/files/tests/js/filelistSpec.js
+#srv/web/owncloud/apps/files/tests/js/filesSpec.js
+#srv/web/owncloud/apps/files/tests/js/filesummarySpec.js
+#srv/web/owncloud/apps/files/triggerupdate.php
+#srv/web/owncloud/apps/files_encryption
+#srv/web/owncloud/apps/files_encryption/3rdparty
+#srv/web/owncloud/apps/files_encryption/3rdparty/Crypt_Blowfish
+#srv/web/owncloud/apps/files_encryption/3rdparty/Crypt_Blowfish/Blowfish
+#srv/web/owncloud/apps/files_encryption/3rdparty/Crypt_Blowfish/Blowfish.php
+#srv/web/owncloud/apps/files_encryption/3rdparty/Crypt_Blowfish/Blowfish/DefaultKey.php
+#srv/web/owncloud/apps/files_encryption/ajax
+#srv/web/owncloud/apps/files_encryption/ajax/adminrecovery.php
+#srv/web/owncloud/apps/files_encryption/ajax/changeRecoveryPassword.php
+#srv/web/owncloud/apps/files_encryption/ajax/getMigrationStatus.php
+#srv/web/owncloud/apps/files_encryption/ajax/updatePrivateKeyPassword.php
+#srv/web/owncloud/apps/files_encryption/ajax/userrecovery.php
+#srv/web/owncloud/apps/files_encryption/appinfo
+#srv/web/owncloud/apps/files_encryption/appinfo/app.php
+#srv/web/owncloud/apps/files_encryption/appinfo/info.xml
+#srv/web/owncloud/apps/files_encryption/appinfo/routes.php
+#srv/web/owncloud/apps/files_encryption/appinfo/spec.txt
+#srv/web/owncloud/apps/files_encryption/appinfo/update.php
+#srv/web/owncloud/apps/files_encryption/appinfo/version
+#srv/web/owncloud/apps/files_encryption/css
+#srv/web/owncloud/apps/files_encryption/css/settings-personal.css
+#srv/web/owncloud/apps/files_encryption/files
+#srv/web/owncloud/apps/files_encryption/files/error.php
+#srv/web/owncloud/apps/files_encryption/hooks
+#srv/web/owncloud/apps/files_encryption/hooks/hooks.php
+#srv/web/owncloud/apps/files_encryption/js
+#srv/web/owncloud/apps/files_encryption/js/detect-migration.js
+#srv/web/owncloud/apps/files_encryption/js/encryption.js
+#srv/web/owncloud/apps/files_encryption/js/settings-admin.js
+#srv/web/owncloud/apps/files_encryption/js/settings-personal.js
+#srv/web/owncloud/apps/files_encryption/l10n
+#srv/web/owncloud/apps/files_encryption/l10n/ar.php
+#srv/web/owncloud/apps/files_encryption/l10n/ast.php
+#srv/web/owncloud/apps/files_encryption/l10n/bg_BG.php
+#srv/web/owncloud/apps/files_encryption/l10n/bn_BD.php
+#srv/web/owncloud/apps/files_encryption/l10n/bs.php
+#srv/web/owncloud/apps/files_encryption/l10n/ca.php
+#srv/web/owncloud/apps/files_encryption/l10n/cs_CZ.php
+#srv/web/owncloud/apps/files_encryption/l10n/cy_GB.php
+#srv/web/owncloud/apps/files_encryption/l10n/da.php
+#srv/web/owncloud/apps/files_encryption/l10n/de.php
+#srv/web/owncloud/apps/files_encryption/l10n/de_CH.php
+#srv/web/owncloud/apps/files_encryption/l10n/de_DE.php
+#srv/web/owncloud/apps/files_encryption/l10n/el.php
+#srv/web/owncloud/apps/files_encryption/l10n/en_GB.php
+#srv/web/owncloud/apps/files_encryption/l10n/eo.php
+#srv/web/owncloud/apps/files_encryption/l10n/es.php
+#srv/web/owncloud/apps/files_encryption/l10n/es_AR.php
+#srv/web/owncloud/apps/files_encryption/l10n/es_MX.php
+#srv/web/owncloud/apps/files_encryption/l10n/et_EE.php
+#srv/web/owncloud/apps/files_encryption/l10n/eu.php
+#srv/web/owncloud/apps/files_encryption/l10n/fa.php
+#srv/web/owncloud/apps/files_encryption/l10n/fi_FI.php
+#srv/web/owncloud/apps/files_encryption/l10n/fr.php
+#srv/web/owncloud/apps/files_encryption/l10n/gl.php
+#srv/web/owncloud/apps/files_encryption/l10n/he.php
+#srv/web/owncloud/apps/files_encryption/l10n/hr.php
+#srv/web/owncloud/apps/files_encryption/l10n/hu_HU.php
+#srv/web/owncloud/apps/files_encryption/l10n/id.php
+#srv/web/owncloud/apps/files_encryption/l10n/is.php
+#srv/web/owncloud/apps/files_encryption/l10n/it.php
+#srv/web/owncloud/apps/files_encryption/l10n/ja.php
+#srv/web/owncloud/apps/files_encryption/l10n/ja_JP.php
+#srv/web/owncloud/apps/files_encryption/l10n/ka_GE.php
+#srv/web/owncloud/apps/files_encryption/l10n/km.php
+#srv/web/owncloud/apps/files_encryption/l10n/ko.php
+#srv/web/owncloud/apps/files_encryption/l10n/ku_IQ.php
+#srv/web/owncloud/apps/files_encryption/l10n/lb.php
+#srv/web/owncloud/apps/files_encryption/l10n/lt_LT.php
+#srv/web/owncloud/apps/files_encryption/l10n/lv.php
+#srv/web/owncloud/apps/files_encryption/l10n/mk.php
+#srv/web/owncloud/apps/files_encryption/l10n/ms_MY.php
+#srv/web/owncloud/apps/files_encryption/l10n/nb_NO.php
+#srv/web/owncloud/apps/files_encryption/l10n/nl.php
+#srv/web/owncloud/apps/files_encryption/l10n/nn_NO.php
+#srv/web/owncloud/apps/files_encryption/l10n/oc.php
+#srv/web/owncloud/apps/files_encryption/l10n/pa.php
+#srv/web/owncloud/apps/files_encryption/l10n/pl.php
+#srv/web/owncloud/apps/files_encryption/l10n/pt_BR.php
+#srv/web/owncloud/apps/files_encryption/l10n/pt_PT.php
+#srv/web/owncloud/apps/files_encryption/l10n/ro.php
+#srv/web/owncloud/apps/files_encryption/l10n/ru.php
+#srv/web/owncloud/apps/files_encryption/l10n/si_LK.php
+#srv/web/owncloud/apps/files_encryption/l10n/sk_SK.php
+#srv/web/owncloud/apps/files_encryption/l10n/sl.php
+#srv/web/owncloud/apps/files_encryption/l10n/sq.php
+#srv/web/owncloud/apps/files_encryption/l10n/sr.php
+#srv/web/owncloud/apps/files_encryption/l10n/sv.php
+#srv/web/owncloud/apps/files_encryption/l10n/ta_LK.php
+#srv/web/owncloud/apps/files_encryption/l10n/te.php
+#srv/web/owncloud/apps/files_encryption/l10n/th_TH.php
+#srv/web/owncloud/apps/files_encryption/l10n/tr.php
+#srv/web/owncloud/apps/files_encryption/l10n/ug.php
+#srv/web/owncloud/apps/files_encryption/l10n/uk.php
+#srv/web/owncloud/apps/files_encryption/l10n/vi.php
+#srv/web/owncloud/apps/files_encryption/l10n/zh_CN.php
+#srv/web/owncloud/apps/files_encryption/l10n/zh_HK.php
+#srv/web/owncloud/apps/files_encryption/l10n/zh_TW.php
+#srv/web/owncloud/apps/files_encryption/lib
+#srv/web/owncloud/apps/files_encryption/lib/capabilities.php
+#srv/web/owncloud/apps/files_encryption/lib/crypt.php
+#srv/web/owncloud/apps/files_encryption/lib/exceptions.php
+#srv/web/owncloud/apps/files_encryption/lib/helper.php
+#srv/web/owncloud/apps/files_encryption/lib/keymanager.php
+#srv/web/owncloud/apps/files_encryption/lib/migration.php
+#srv/web/owncloud/apps/files_encryption/lib/proxy.php
+#srv/web/owncloud/apps/files_encryption/lib/session.php
+#srv/web/owncloud/apps/files_encryption/lib/stream.php
+#srv/web/owncloud/apps/files_encryption/lib/util.php
+#srv/web/owncloud/apps/files_encryption/settings-admin.php
+#srv/web/owncloud/apps/files_encryption/settings-personal.php
+#srv/web/owncloud/apps/files_encryption/templates
+#srv/web/owncloud/apps/files_encryption/templates/invalid_private_key.php
+#srv/web/owncloud/apps/files_encryption/templates/settings-admin.php
+#srv/web/owncloud/apps/files_encryption/templates/settings-personal.php
+#srv/web/owncloud/apps/files_encryption/tests
+#srv/web/owncloud/apps/files_encryption/tests/binary
+#srv/web/owncloud/apps/files_encryption/tests/crypt.php
+#srv/web/owncloud/apps/files_encryption/tests/encryption.key
+#srv/web/owncloud/apps/files_encryption/tests/encryption_table.xml
+#srv/web/owncloud/apps/files_encryption/tests/helper.php
+#srv/web/owncloud/apps/files_encryption/tests/hooks.php
+#srv/web/owncloud/apps/files_encryption/tests/keymanager.php
+#srv/web/owncloud/apps/files_encryption/tests/legacy-encrypted-text.txt
+#srv/web/owncloud/apps/files_encryption/tests/migration.php
+#srv/web/owncloud/apps/files_encryption/tests/proxy.php
+#srv/web/owncloud/apps/files_encryption/tests/share.php
+#srv/web/owncloud/apps/files_encryption/tests/stream.php
+#srv/web/owncloud/apps/files_encryption/tests/trashbin.php
+#srv/web/owncloud/apps/files_encryption/tests/util.php
+#srv/web/owncloud/apps/files_encryption/tests/webdav.php
+#srv/web/owncloud/apps/files_encryption/tests/zeros
+#srv/web/owncloud/apps/files_external
+#srv/web/owncloud/apps/files_external/3rdparty
+#srv/web/owncloud/apps/files_external/3rdparty/Dropbox
+#srv/web/owncloud/apps/files_external/3rdparty/Dropbox/API.php
+#srv/web/owncloud/apps/files_external/3rdparty/Dropbox/Exception
+#srv/web/owncloud/apps/files_external/3rdparty/Dropbox/Exception.php
+#srv/web/owncloud/apps/files_external/3rdparty/Dropbox/Exception/Forbidden.php
+#srv/web/owncloud/apps/files_external/3rdparty/Dropbox/Exception/NotFound.php
+#srv/web/owncloud/apps/files_external/3rdparty/Dropbox/Exception/OverQuota.php
+#srv/web/owncloud/apps/files_external/3rdparty/Dropbox/Exception/RequestToken.php
+#srv/web/owncloud/apps/files_external/3rdparty/Dropbox/LICENSE.txt
+#srv/web/owncloud/apps/files_external/3rdparty/Dropbox/OAuth
+#srv/web/owncloud/apps/files_external/3rdparty/Dropbox/OAuth.php
+#srv/web/owncloud/apps/files_external/3rdparty/Dropbox/OAuth/Consumer
+#srv/web/owncloud/apps/files_external/3rdparty/Dropbox/OAuth/Consumer/Dropbox.php
+#srv/web/owncloud/apps/files_external/3rdparty/Dropbox/OAuth/Curl.php
+#srv/web/owncloud/apps/files_external/3rdparty/Dropbox/README.md
+#srv/web/owncloud/apps/files_external/3rdparty/Dropbox/autoload.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Aws.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/AbstractClient.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/AwsClientInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/ClientBuilder.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/DefaultClient.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/ExpiredCredentialsChecker.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/ThrottlingErrorChecker.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/UploadBodyListener.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/UserAgentListener.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Command
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Command/AwsQueryVisitor.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Command/JsonCommand.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Command/QueryCommand.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Command/XmlResponseLocationVisitor.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Credentials
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Credentials/AbstractCredentialsDecorator.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Credentials/AbstractRefreshableCredentials.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Credentials/CacheableCredentials.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Credentials/Credentials.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Credentials/CredentialsInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Credentials/RefreshableInstanceProfileCredentials.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Enum
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Enum.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Enum/ClientOptions.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Enum/DateFormat.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Enum/Region.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Enum/Size.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Enum/Time.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Enum/UaString.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Exception
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Exception/AwsExceptionInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Exception/BadMethodCallException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Exception/DomainException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Exception/ExceptionFactoryInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Exception/ExceptionListener.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Exception/InstanceProfileCredentialsException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Exception/InvalidArgumentException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Exception/LogicException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Exception/MultipartUploadException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Exception/NamespaceExceptionFactory.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Exception/OutOfBoundsException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Exception/OverflowException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Exception/Parser
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Exception/Parser/AbstractJsonExceptionParser.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Exception/Parser/DefaultXmlExceptionParser.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Exception/Parser/ExceptionParserInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Exception/Parser/JsonQueryExceptionParser.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Exception/Parser/JsonRestExceptionParser.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Exception/RequiredExtensionNotLoadedException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Exception/RuntimeException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Exception/ServiceResponseException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Exception/UnexpectedValueException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Facade
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Facade/Facade.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Facade/FacadeInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Facade/facade-classes.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Hash
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Hash/ChunkHash.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Hash/ChunkHashInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Hash/HashUtils.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Hash/TreeHash.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/HostNameUtils.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/InstanceMetadata
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/InstanceMetadata/InstanceMetadataClient.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/InstanceMetadata/Waiter
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/InstanceMetadata/Waiter/ServiceAvailable.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Iterator
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Iterator/AwsResourceIterator.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Iterator/AwsResourceIteratorFactory.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Model
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Model/MultipartUpload
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Model/MultipartUpload/AbstractTransfer.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Model/MultipartUpload/AbstractTransferState.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Model/MultipartUpload/AbstractUploadBuilder.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Model/MultipartUpload/AbstractUploadId.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Model/MultipartUpload/AbstractUploadPart.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Model/MultipartUpload/TransferInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Model/MultipartUpload/TransferStateInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Model/MultipartUpload/UploadIdInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Model/MultipartUpload/UploadPartInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Resources
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Resources/aws-config.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Resources/sdk1-config.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Signature
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Signature/AbstractSignature.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Signature/EndpointSignatureInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Signature/SignatureInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Signature/SignatureListener.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Signature/SignatureV2.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Signature/SignatureV3.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Signature/SignatureV3Https.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Signature/SignatureV4.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Waiter
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Waiter/AbstractResourceWaiter.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Waiter/AbstractWaiter.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Waiter/CallableWaiter.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Waiter/CompositeWaiterFactory.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Waiter/ConfigResourceWaiter.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Waiter/ResourceWaiterInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Waiter/WaiterClassFactory.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Waiter/WaiterConfig.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Waiter/WaiterConfigFactory.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Waiter/WaiterFactoryInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Waiter/WaiterInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/LICENSE.md
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/NOTICE.md
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/AcpListener.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/BucketStyleListener.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Command
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Command/S3Command.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Enum
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Enum/CannedAcl.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Enum/Event.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Enum/GranteeType.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Enum/Group.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Enum/MFADelete.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Enum/MetadataDirective.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Enum/Payer.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Enum/Permission.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Enum/Protocol.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Enum/ServerSideEncryption.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Enum/Status.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Enum/Storage.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Enum/StorageClass.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/AccessDeniedException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/AccountProblemException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/AmbiguousGrantByEmailAddressException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/BadDigestException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/BucketAlreadyExistsException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/BucketAlreadyOwnedByYouException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/BucketNotEmptyException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/CredentialsNotSupportedException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/CrossLocationLoggingProhibitedException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/DeleteMultipleObjectsException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/EntityTooLargeException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/EntityTooSmallException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/ExpiredTokenException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/IllegalVersioningConfigurationException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/IncompleteBodyException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/IncorrectNumberOfFilesInPostRequestException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/InlineDataTooLargeException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/InternalErrorException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/InvalidAccessKeyIdException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/InvalidAddressingHeaderException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/InvalidArgumentException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/InvalidBucketNameException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/InvalidBucketStateException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/InvalidDigestException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/InvalidLocationConstraintException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/InvalidPartException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/InvalidPartOrderException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/InvalidPayerException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/InvalidPolicyDocumentException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/InvalidRangeException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/InvalidRequestException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/InvalidSOAPRequestException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/InvalidSecurityException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/InvalidStorageClassException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/InvalidTagErrorException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/InvalidTargetBucketForLoggingException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/InvalidTokenException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/InvalidURIException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/KeyTooLongException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/MalformedACLErrorException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/MalformedPOSTRequestException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/MalformedXMLException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/MaxMessageLengthExceededException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/MaxPostPreDataLengthExceededErrorException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/MetadataTooLargeException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/MethodNotAllowedException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/MissingAttachmentException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/MissingContentLengthException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/MissingRequestBodyErrorException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/MissingSecurityElementException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/MissingSecurityHeaderException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/NoLoggingStatusForKeyException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/NoSuchBucketException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/NoSuchBucketPolicyException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/NoSuchCORSConfigurationException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/NoSuchKeyException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/NoSuchLifecycleConfigurationException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/NoSuchTagSetErrorException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/NoSuchUploadException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/NoSuchVersionException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/NoSuchWebsiteConfigurationException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/NotImplementedException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/NotSignedUpException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/NotSuchBucketPolicyException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/ObjectAlreadyInActiveTierErrorException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/ObjectNotInActiveTierErrorException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/OperationAbortedException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/Parser
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/Parser/S3ExceptionParser.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/PermanentRedirectException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/PreconditionFailedException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/RedirectException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/RequestIsNotMultiPartContentException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/RequestTimeTooSkewedException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/RequestTimeoutException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/RequestTorrentOfBucketErrorException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/S3Exception.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/ServiceUnavailableException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/SignatureDoesNotMatchException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/SlowDownException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/TemporaryRedirectException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/TokenRefreshRequiredException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/TooManyBucketsException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/UnexpectedContentException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/UnresolvableGrantByEmailAddressException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Exception/UserKeyMustBeSpecifiedException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Iterator
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Iterator/ListBucketsIterator.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Iterator/ListMultipartUploadsIterator.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Iterator/ListObjectVersionsIterator.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Iterator/ListObjectsIterator.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Iterator/OpendirIterator.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/Acp.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/AcpBuilder.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/ClearBucket.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/DeleteObjectsBatch.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/DeleteObjectsTransfer.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/Grant.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/Grantee.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/MultipartUpload
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/MultipartUpload/AbstractTransfer.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/MultipartUpload/ParallelTransfer.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/MultipartUpload/SerialTransfer.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/MultipartUpload/TransferState.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/MultipartUpload/UploadBuilder.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/MultipartUpload/UploadId.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/MultipartUpload/UploadPart.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/PostObject.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Resources
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Resources/s3-2006-03-01.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/ResumableDownload.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/S3Client.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/S3Signature.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/S3SignatureInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/SocketTimeoutChecker.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/StreamWrapper.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Sync
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Sync/AbstractSync.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Sync/AbstractSyncBuilder.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Sync/ChangedFilesIterator.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Sync/DownloadSync.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Sync/DownloadSyncBuilder.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Sync/FilenameConverterInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Sync/KeyConverter.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Sync/UploadSync.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Sync/UploadSyncBuilder.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Doctrine
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Doctrine/Common
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Doctrine/Common/Cache
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Doctrine/Common/Cache/ApcCache.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Doctrine/Common/Cache/ArrayCache.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Doctrine/Common/Cache/Cache.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Doctrine/Common/Cache/CacheProvider.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Doctrine/Common/Cache/CouchbaseCache.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Doctrine/Common/Cache/FileCache.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Doctrine/Common/Cache/FilesystemCache.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Doctrine/Common/Cache/MemcacheCache.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Doctrine/Common/Cache/MemcachedCache.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Doctrine/Common/Cache/PhpFileCache.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Doctrine/Common/Cache/RedisCache.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Doctrine/Common/Cache/WinCacheCache.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Doctrine/Common/Cache/XcacheCache.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Doctrine/Common/Cache/ZendDataCache.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Batch
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Batch/AbstractBatchDecorator.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Batch/Batch.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Batch/BatchBuilder.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Batch/BatchClosureDivisor.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Batch/BatchClosureTransfer.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Batch/BatchCommandTransfer.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Batch/BatchDivisorInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Batch/BatchInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Batch/BatchRequestTransfer.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Batch/BatchSizeDivisor.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Batch/BatchTransferInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Batch/Exception
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Batch/Exception/BatchTransferException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Batch/ExceptionBufferingBatch.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Batch/FlushingBatch.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Batch/HistoryBatch.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Batch/NotifyingBatch.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Cache
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Cache/AbstractCacheAdapter.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Cache/CacheAdapterFactory.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Cache/CacheAdapterInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Cache/ClosureCacheAdapter.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Cache/DoctrineCacheAdapter.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Cache/NullCacheAdapter.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Cache/Zf1CacheAdapter.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Cache/Zf2CacheAdapter.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Common
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Common/AbstractHasDispatcher.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Common/Collection.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Common/Event.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Common/Exception
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Common/Exception/BadMethodCallException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Common/Exception/ExceptionCollection.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Common/Exception/GuzzleException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Common/Exception/InvalidArgumentException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Common/Exception/RuntimeException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Common/Exception/UnexpectedValueException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Common/FromConfigInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Common/HasDispatcherInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Common/ToArrayInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Common/Version.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/AbstractEntityBodyDecorator.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/CachingEntityBody.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Client.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/ClientInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Curl
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Curl/CurlHandle.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Curl/CurlMulti.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Curl/CurlMultiInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Curl/CurlMultiProxy.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Curl/CurlVersion.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Curl/RequestMediator.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/EntityBody.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/EntityBodyInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Exception
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Exception/BadResponseException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Exception/ClientErrorResponseException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Exception/CouldNotRewindStreamException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Exception/CurlException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Exception/HttpException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Exception/MultiTransferException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Exception/RequestException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Exception/ServerErrorResponseException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Exception/TooManyRedirectsException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/IoEmittingEntityBody.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Message
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Message/AbstractMessage.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Message/EntityEnclosingRequest.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Message/EntityEnclosingRequestInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Message/Header
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Message/Header.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Message/Header/CacheControl.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Message/Header/HeaderCollection.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Message/Header/HeaderFactory.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Message/Header/HeaderFactoryInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Message/Header/HeaderInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Message/Header/Link.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Message/MessageInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Message/PostFile.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Message/PostFileInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Message/Request.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Message/RequestFactory.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Message/RequestFactoryInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Message/RequestInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Message/Response.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Mimetypes.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/QueryAggregator
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/QueryAggregator/CommaAggregator.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/QueryAggregator/DuplicateAggregator.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/QueryAggregator/PhpAggregator.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/QueryAggregator/QueryAggregatorInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/QueryString.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/ReadLimitEntityBody.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/RedirectPlugin.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Resources
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Resources/cacert.pem
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Resources/cacert.pem.md5
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/StaticClient.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Url.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Inflection
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Inflection/Inflector.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Inflection/InflectorInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Inflection/MemoizingInflector.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Inflection/PreComputedInflector.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Iterator
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Iterator/AppendIterator.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Iterator/ChunkedIterator.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Iterator/FilterIterator.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Iterator/MapIterator.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Iterator/MethodProxyIterator.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Log
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Log/AbstractLogAdapter.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Log/ArrayLogAdapter.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Log/ClosureLogAdapter.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Log/LogAdapterInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Log/MessageFormatter.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Log/MonologLogAdapter.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Log/PsrLogAdapter.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Log/Zf1LogAdapter.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Log/Zf2LogAdapter.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Parser
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Parser/Cookie
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Parser/Cookie/CookieParser.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Parser/Cookie/CookieParserInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Parser/Message
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Parser/Message/AbstractMessageParser.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Parser/Message/MessageParser.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Parser/Message/MessageParserInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Parser/Message/PeclHttpMessageParser.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Parser/ParserRegistry.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Parser/UriTemplate
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Parser/UriTemplate/PeclUriTemplate.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Parser/UriTemplate/UriTemplate.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Parser/UriTemplate/UriTemplateInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Parser/Url
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Parser/Url/UrlParser.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Parser/Url/UrlParserInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Async
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Async/AsyncPlugin.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Backoff
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Backoff/AbstractBackoffStrategy.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Backoff/AbstractErrorCodeBackoffStrategy.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Backoff/BackoffLogger.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Backoff/BackoffPlugin.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Backoff/BackoffStrategyInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Backoff/CallbackBackoffStrategy.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Backoff/ConstantBackoffStrategy.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Backoff/CurlBackoffStrategy.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Backoff/ExponentialBackoffStrategy.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Backoff/HttpBackoffStrategy.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Backoff/LinearBackoffStrategy.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Backoff/ReasonPhraseBackoffStrategy.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Backoff/TruncatedBackoffStrategy.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Cache
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Cache/CacheKeyProviderInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Cache/CachePlugin.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Cache/CacheStorageInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Cache/CallbackCanCacheStrategy.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Cache/CanCacheStrategyInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Cache/DefaultCacheKeyProvider.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Cache/DefaultCacheStorage.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Cache/DefaultCanCacheStrategy.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Cache/DefaultRevalidation.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Cache/DenyRevalidation.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Cache/RevalidationInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Cache/SkipRevalidation.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Cookie
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Cookie/Cookie.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Cookie/CookieJar
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Cookie/CookieJar/ArrayCookieJar.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Cookie/CookieJar/CookieJarInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Cookie/CookieJar/FileCookieJar.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Cookie/CookiePlugin.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Cookie/Exception
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Cookie/Exception/InvalidCookieException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/CurlAuth
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/CurlAuth/CurlAuthPlugin.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/ErrorResponse
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/ErrorResponse/ErrorResponseExceptionInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/ErrorResponse/ErrorResponsePlugin.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/ErrorResponse/Exception
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/ErrorResponse/Exception/ErrorResponseException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/History
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/History/HistoryPlugin.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Log
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Log/LogPlugin.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Md5
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Md5/CommandContentMd5Plugin.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Md5/Md5ValidatorPlugin.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Mock
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Mock/MockPlugin.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Oauth
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Plugin/Oauth/OauthPlugin.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/AbstractConfigLoader.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Builder
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Builder/ServiceBuilder.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Builder/ServiceBuilderInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Builder/ServiceBuilderLoader.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/CachingConfigLoader.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Client.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/ClientInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Command
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Command/AbstractCommand.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Command/ClosureCommand.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Command/CommandInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Command/DefaultRequestSerializer.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Command/DefaultResponseParser.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Command/Factory
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Command/Factory/AliasFactory.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Command/Factory/CompositeFactory.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Command/Factory/ConcreteClassFactory.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Command/Factory/FactoryInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Command/Factory/MapFactory.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Command/Factory/ServiceDescriptionFactory.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Command/LocationVisitor
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Command/LocationVisitor/Request
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Command/LocationVisitor/Request/AbstractRequestVisitor.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Command/LocationVisitor/Request/BodyVisitor.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Command/LocationVisitor/Request/HeaderVisitor.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Command/LocationVisitor/Request/JsonVisitor.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Command/LocationVisitor/Request/PostFieldVisitor.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Command/LocationVisitor/Request/PostFileVisitor.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Command/LocationVisitor/Request/QueryVisitor.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Command/LocationVisitor/Request/RequestVisitorInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Command/LocationVisitor/Request/ResponseBodyVisitor.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Command/LocationVisitor/Request/XmlVisitor.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Command/LocationVisitor/Response
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Command/LocationVisitor/Response/AbstractResponseVisitor.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Command/LocationVisitor/Response/BodyVisitor.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Command/LocationVisitor/Response/HeaderVisitor.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Command/LocationVisitor/Response/JsonVisitor.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Command/LocationVisitor/Response/ReasonPhraseVisitor.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Command/LocationVisitor/Response/ResponseVisitorInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Command/LocationVisitor/Response/StatusCodeVisitor.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Command/LocationVisitor/Response/XmlVisitor.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Command/LocationVisitor/VisitorFlyweight.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Command/OperationCommand.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Command/OperationResponseParser.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Command/RequestSerializerInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Command/ResponseClassInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Command/ResponseParserInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/ConfigLoaderInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Description
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Description/Operation.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Description/OperationInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Description/Parameter.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Description/SchemaFormatter.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Description/SchemaValidator.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Description/ServiceDescription.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Description/ServiceDescriptionInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Description/ServiceDescriptionLoader.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Description/ValidatorInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Exception
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Exception/CommandException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Exception/CommandTransferException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Exception/DescriptionBuilderException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Exception/InconsistentClientTransferException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Exception/ResponseClassException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Exception/ServiceBuilderException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Exception/ServiceNotFoundException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Exception/ValidationException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Resource
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Resource/AbstractResourceIteratorFactory.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Resource/CompositeResourceIteratorFactory.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Resource/MapResourceIteratorFactory.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Resource/Model.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Resource/ResourceIterator.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Resource/ResourceIteratorApplyBatched.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Resource/ResourceIteratorClassFactory.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Resource/ResourceIteratorFactoryInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Service/Resource/ResourceIteratorInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Stream
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Stream/PhpStreamRequestFactory.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Stream/Stream.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Stream/StreamInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Stream/StreamRequestFactoryInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Formatter
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Formatter/ChromePHPFormatter.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Formatter/FormatterInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Formatter/GelfMessageFormatter.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Formatter/JsonFormatter.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Formatter/LineFormatter.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Formatter/LogstashFormatter.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Formatter/NormalizerFormatter.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Formatter/WildfireFormatter.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Handler
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Handler/AbstractHandler.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Handler/AbstractProcessingHandler.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Handler/AmqpHandler.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Handler/BufferHandler.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Handler/ChromePHPHandler.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Handler/CouchDBHandler.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Handler/CubeHandler.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Handler/DoctrineCouchDBHandler.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Handler/FingersCrossed
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Handler/FingersCrossed/ActivationStrategyInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Handler/FingersCrossed/ErrorLevelActivationStrategy.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Handler/FingersCrossedHandler.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Handler/FirePHPHandler.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Handler/GelfHandler.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Handler/GroupHandler.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Handler/HandlerInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Handler/MailHandler.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Handler/MissingExtensionException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Handler/MongoDBHandler.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Handler/NativeMailerHandler.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Handler/NullHandler.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Handler/PushoverHandler.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Handler/RavenHandler.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Handler/RedisHandler.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Handler/RotatingFileHandler.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Handler/SocketHandler.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Handler/StreamHandler.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Handler/SwiftMailerHandler.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Handler/SyslogHandler.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Handler/TestHandler.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Handler/ZendMonitorHandler.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Logger.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Processor
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Processor/IntrospectionProcessor.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Processor/MemoryPeakUsageProcessor.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Processor/MemoryProcessor.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Processor/MemoryUsageProcessor.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Processor/PsrLogMessageProcessor.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Monolog/Processor/WebProcessor.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Psr
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Psr/Log
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Psr/Log/AbstractLogger.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Psr/Log/InvalidArgumentException.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Psr/Log/LogLevel.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Psr/Log/LoggerAwareInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Psr/Log/LoggerAwareTrait.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Psr/Log/LoggerInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Psr/Log/LoggerTrait.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Psr/Log/NullLogger.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Psr/Log/Test
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Psr/Log/Test/LoggerInterfaceTest.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/ApcClassLoader.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/ApcUniversalClassLoader.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/ClassCollectionLoader.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/ClassLoader.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/ClassMapGenerator.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/DebugClassLoader.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/DebugUniversalClassLoader.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/MapClassLoader.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/ApcUniversalClassLoaderTest.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/ClassCollectionLoaderTest.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/ClassLoaderTest.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/ClassMapGeneratorTest.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/DebugClassLoaderTest.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Apc
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Namespaced
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Namespaced/Bar.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Namespaced/Baz.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Namespaced/Foo.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Namespaced/FooBar.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Pearlike
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Pearlike/Bar.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Pearlike/Baz.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Pearlike/Foo.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha/Apc
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha/Apc/ApcPrefixCollision
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha/Apc/ApcPrefixCollision/A
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha/Apc/ApcPrefixCollision/A/Bar.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha/Apc/ApcPrefixCollision/A/Foo.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha/Apc/NamespaceCollision
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha/Apc/NamespaceCollision/A
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha/Apc/NamespaceCollision/A/Bar.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha/Apc/NamespaceCollision/A/Foo.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/ApcPrefixCollision
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/ApcPrefixCollision/A
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/ApcPrefixCollision/A/B
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/ApcPrefixCollision/A/B/Bar.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/ApcPrefixCollision/A/B/Foo.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/NamespaceCollision
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/NamespaceCollision/A
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/NamespaceCollision/A/B
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/NamespaceCollision/A/B/Bar.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/NamespaceCollision/A/B/Foo.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/fallback
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/fallback/Apc
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/fallback/Apc/Pearlike
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/fallback/Apc/Pearlike/FooBar.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/fallback/Namespaced
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/fallback/Namespaced/FooBar.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/A.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/ATrait.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/B.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/BTrait.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/CInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/CTrait.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/D.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/E.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/GInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced/Bar.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced/Baz.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced/Foo.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced/WithComments.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced2
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced2/Bar.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced2/Baz.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced2/Foo.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike/Bar.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike/Baz.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike/Foo.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike/WithComments.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike2
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike2/Bar.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike2/Baz.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike2/Foo.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/alpha
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/NamespaceCollision
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/NamespaceCollision/A
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/NamespaceCollision/A/Bar.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/NamespaceCollision/A/Foo.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/NamespaceCollision/C
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/NamespaceCollision/C/Bar.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/NamespaceCollision/C/Foo.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/PrefixCollision
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/PrefixCollision/A
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/PrefixCollision/A/Bar.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/PrefixCollision/A/Foo.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/PrefixCollision/C
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/PrefixCollision/C/Bar.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/PrefixCollision/C/Foo.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/beta
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/beta/NamespaceCollision
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/beta/NamespaceCollision/A
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/beta/NamespaceCollision/A/B
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/beta/NamespaceCollision/A/B/Bar.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/beta/NamespaceCollision/A/B/Foo.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/beta/NamespaceCollision/C
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/beta/NamespaceCollision/C/B
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/beta/NamespaceCollision/C/B/Bar.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/beta/NamespaceCollision/C/B/Foo.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/beta/PrefixCollision
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/beta/PrefixCollision/A
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/beta/PrefixCollision/A/B
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/beta/PrefixCollision/A/B/Bar.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/beta/PrefixCollision/A/B/Foo.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/beta/PrefixCollision/C
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/beta/PrefixCollision/C/B
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/beta/PrefixCollision/C/B/Bar.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/beta/PrefixCollision/C/B/Foo.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/classmap
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeClass.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeParent.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/multipleNs.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/notAClass.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/sameNsMultipleClasses.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/deps
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/deps/traits.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/fallback
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/fallback/Namespaced
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/fallback/Namespaced/FooBar.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/fallback/Namespaced2
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/fallback/Namespaced2/FooBar.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/fallback/Pearlike
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/fallback/Pearlike/FooBar.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/fallback/Pearlike2
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/fallback/Pearlike2/FooBar.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/includepath
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/includepath/Foo.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/php5.4
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/php5.4/traits.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/UniversalClassLoaderTest.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/UniversalClassLoader.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/WinCacheClassLoader.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/XcacheClassLoader.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/ContainerAwareEventDispatcher.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/Debug
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcherInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/Event.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/EventDispatcher.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/EventDispatcherInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/EventSubscriberInterface.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/GenericEvent.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/ImmutableEventDispatcher.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/Tests
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/Tests/ContainerAwareEventDispatcherTest.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/Tests/EventDispatcherTest.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/Tests/EventTest.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/Tests/GenericEventTest.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/Tests/ImmutableEventDispatcherTest.php
+#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/aws-autoloader.php
+#srv/web/owncloud/apps/files_external/3rdparty/google-api-php-client
+#srv/web/owncloud/apps/files_external/3rdparty/google-api-php-client/LICENSE
+#srv/web/owncloud/apps/files_external/3rdparty/google-api-php-client/NOTICE
+#srv/web/owncloud/apps/files_external/3rdparty/google-api-php-client/README
+#srv/web/owncloud/apps/files_external/3rdparty/google-api-php-client/src
+#srv/web/owncloud/apps/files_external/3rdparty/google-api-php-client/src/Google_Client.php
+#srv/web/owncloud/apps/files_external/3rdparty/google-api-php-client/src/auth
+#srv/web/owncloud/apps/files_external/3rdparty/google-api-php-client/src/auth/Google_AssertionCredentials.php
+#srv/web/owncloud/apps/files_external/3rdparty/google-api-php-client/src/auth/Google_Auth.php
+#srv/web/owncloud/apps/files_external/3rdparty/google-api-php-client/src/auth/Google_AuthNone.php
+#srv/web/owncloud/apps/files_external/3rdparty/google-api-php-client/src/auth/Google_LoginTicket.php
+#srv/web/owncloud/apps/files_external/3rdparty/google-api-php-client/src/auth/Google_OAuth2.php
+#srv/web/owncloud/apps/files_external/3rdparty/google-api-php-client/src/auth/Google_P12Signer.php
+#srv/web/owncloud/apps/files_external/3rdparty/google-api-php-client/src/auth/Google_PemVerifier.php
+#srv/web/owncloud/apps/files_external/3rdparty/google-api-php-client/src/auth/Google_Signer.php
+#srv/web/owncloud/apps/files_external/3rdparty/google-api-php-client/src/auth/Google_Verifier.php
+#srv/web/owncloud/apps/files_external/3rdparty/google-api-php-client/src/cache
+#srv/web/owncloud/apps/files_external/3rdparty/google-api-php-client/src/cache/Google_ApcCache.php
+#srv/web/owncloud/apps/files_external/3rdparty/google-api-php-client/src/cache/Google_Cache.php
+#srv/web/owncloud/apps/files_external/3rdparty/google-api-php-client/src/cache/Google_FileCache.php
+#srv/web/owncloud/apps/files_external/3rdparty/google-api-php-client/src/cache/Google_MemcacheCache.php
+#srv/web/owncloud/apps/files_external/3rdparty/google-api-php-client/src/config.php
+#srv/web/owncloud/apps/files_external/3rdparty/google-api-php-client/src/contrib
+#srv/web/owncloud/apps/files_external/3rdparty/google-api-php-client/src/contrib/Google_DriveService.php
+#srv/web/owncloud/apps/files_external/3rdparty/google-api-php-client/src/external
+#srv/web/owncloud/apps/files_external/3rdparty/google-api-php-client/src/external/URITemplateParser.php
+#srv/web/owncloud/apps/files_external/3rdparty/google-api-php-client/src/io
+#srv/web/owncloud/apps/files_external/3rdparty/google-api-php-client/src/io/Google_CacheParser.php
+#srv/web/owncloud/apps/files_external/3rdparty/google-api-php-client/src/io/Google_CurlIO.php
+#srv/web/owncloud/apps/files_external/3rdparty/google-api-php-client/src/io/Google_HttpRequest.php
+#srv/web/owncloud/apps/files_external/3rdparty/google-api-php-client/src/io/Google_IO.php
+#srv/web/owncloud/apps/files_external/3rdparty/google-api-php-client/src/io/Google_REST.php
+#srv/web/owncloud/apps/files_external/3rdparty/google-api-php-client/src/io/cacerts.pem
+#srv/web/owncloud/apps/files_external/3rdparty/google-api-php-client/src/service
+#srv/web/owncloud/apps/files_external/3rdparty/google-api-php-client/src/service/Google_BatchRequest.php
+#srv/web/owncloud/apps/files_external/3rdparty/google-api-php-client/src/service/Google_MediaFileUpload.php
+#srv/web/owncloud/apps/files_external/3rdparty/google-api-php-client/src/service/Google_Model.php
+#srv/web/owncloud/apps/files_external/3rdparty/google-api-php-client/src/service/Google_Service.php
+#srv/web/owncloud/apps/files_external/3rdparty/google-api-php-client/src/service/Google_ServiceResource.php
+#srv/web/owncloud/apps/files_external/3rdparty/google-api-php-client/src/service/Google_Utils.php
+#srv/web/owncloud/apps/files_external/3rdparty/smb4php
+#srv/web/owncloud/apps/files_external/3rdparty/smb4php/smb.php
+#srv/web/owncloud/apps/files_external/ajax
+#srv/web/owncloud/apps/files_external/ajax/addMountPoint.php
+#srv/web/owncloud/apps/files_external/ajax/addRootCertificate.php
+#srv/web/owncloud/apps/files_external/ajax/dropbox.php
+#srv/web/owncloud/apps/files_external/ajax/google.php
+#srv/web/owncloud/apps/files_external/ajax/removeMountPoint.php
+#srv/web/owncloud/apps/files_external/ajax/removeRootCertificate.php
+#srv/web/owncloud/apps/files_external/appinfo
+#srv/web/owncloud/apps/files_external/appinfo/app.php
+#srv/web/owncloud/apps/files_external/appinfo/info.xml
+#srv/web/owncloud/apps/files_external/appinfo/routes.php
+#srv/web/owncloud/apps/files_external/appinfo/version
+#srv/web/owncloud/apps/files_external/css
+#srv/web/owncloud/apps/files_external/css/settings.css
+#srv/web/owncloud/apps/files_external/js
+#srv/web/owncloud/apps/files_external/js/app.js
+#srv/web/owncloud/apps/files_external/js/dropbox.js
+#srv/web/owncloud/apps/files_external/js/google.js
+#srv/web/owncloud/apps/files_external/js/mountsfilelist.js
+#srv/web/owncloud/apps/files_external/js/settings.js
+#srv/web/owncloud/apps/files_external/l10n
+#srv/web/owncloud/apps/files_external/l10n/af_ZA.php
+#srv/web/owncloud/apps/files_external/l10n/ar.php
+#srv/web/owncloud/apps/files_external/l10n/ast.php
+#srv/web/owncloud/apps/files_external/l10n/bg_BG.php
+#srv/web/owncloud/apps/files_external/l10n/bn_BD.php
+#srv/web/owncloud/apps/files_external/l10n/bs.php
+#srv/web/owncloud/apps/files_external/l10n/ca.php
+#srv/web/owncloud/apps/files_external/l10n/cs_CZ.php
+#srv/web/owncloud/apps/files_external/l10n/cy_GB.php
+#srv/web/owncloud/apps/files_external/l10n/da.php
+#srv/web/owncloud/apps/files_external/l10n/de.php
+#srv/web/owncloud/apps/files_external/l10n/de_AT.php
+#srv/web/owncloud/apps/files_external/l10n/de_CH.php
+#srv/web/owncloud/apps/files_external/l10n/de_DE.php
+#srv/web/owncloud/apps/files_external/l10n/el.php
+#srv/web/owncloud/apps/files_external/l10n/en@pirate.php
+#srv/web/owncloud/apps/files_external/l10n/en_GB.php
+#srv/web/owncloud/apps/files_external/l10n/eo.php
+#srv/web/owncloud/apps/files_external/l10n/es.php
+#srv/web/owncloud/apps/files_external/l10n/es_AR.php
+#srv/web/owncloud/apps/files_external/l10n/es_CL.php
+#srv/web/owncloud/apps/files_external/l10n/es_MX.php
+#srv/web/owncloud/apps/files_external/l10n/et_EE.php
+#srv/web/owncloud/apps/files_external/l10n/eu.php
+#srv/web/owncloud/apps/files_external/l10n/eu_ES.php
+#srv/web/owncloud/apps/files_external/l10n/fa.php
+#srv/web/owncloud/apps/files_external/l10n/fi_FI.php
+#srv/web/owncloud/apps/files_external/l10n/fr.php
+#srv/web/owncloud/apps/files_external/l10n/gl.php
+#srv/web/owncloud/apps/files_external/l10n/he.php
+#srv/web/owncloud/apps/files_external/l10n/hi.php
+#srv/web/owncloud/apps/files_external/l10n/hr.php
+#srv/web/owncloud/apps/files_external/l10n/hu_HU.php
+#srv/web/owncloud/apps/files_external/l10n/hy.php
+#srv/web/owncloud/apps/files_external/l10n/ia.php
+#srv/web/owncloud/apps/files_external/l10n/id.php
+#srv/web/owncloud/apps/files_external/l10n/is.php
+#srv/web/owncloud/apps/files_external/l10n/it.php
+#srv/web/owncloud/apps/files_external/l10n/ja.php
+#srv/web/owncloud/apps/files_external/l10n/ja_JP.php
+#srv/web/owncloud/apps/files_external/l10n/jv.php
+#srv/web/owncloud/apps/files_external/l10n/ka.php
+#srv/web/owncloud/apps/files_external/l10n/ka_GE.php
+#srv/web/owncloud/apps/files_external/l10n/km.php
+#srv/web/owncloud/apps/files_external/l10n/ko.php
+#srv/web/owncloud/apps/files_external/l10n/ku_IQ.php
+#srv/web/owncloud/apps/files_external/l10n/lb.php
+#srv/web/owncloud/apps/files_external/l10n/lt_LT.php
+#srv/web/owncloud/apps/files_external/l10n/lv.php
+#srv/web/owncloud/apps/files_external/l10n/mk.php
+#srv/web/owncloud/apps/files_external/l10n/ms_MY.php
+#srv/web/owncloud/apps/files_external/l10n/my_MM.php
+#srv/web/owncloud/apps/files_external/l10n/nb_NO.php
+#srv/web/owncloud/apps/files_external/l10n/nl.php
+#srv/web/owncloud/apps/files_external/l10n/nn_NO.php
+#srv/web/owncloud/apps/files_external/l10n/oc.php
+#srv/web/owncloud/apps/files_external/l10n/pa.php
+#srv/web/owncloud/apps/files_external/l10n/pl.php
+#srv/web/owncloud/apps/files_external/l10n/pt_BR.php
+#srv/web/owncloud/apps/files_external/l10n/pt_PT.php
+#srv/web/owncloud/apps/files_external/l10n/ro.php
+#srv/web/owncloud/apps/files_external/l10n/ru.php
+#srv/web/owncloud/apps/files_external/l10n/si_LK.php
+#srv/web/owncloud/apps/files_external/l10n/sk.php
+#srv/web/owncloud/apps/files_external/l10n/sk_SK.php
+#srv/web/owncloud/apps/files_external/l10n/sl.php
+#srv/web/owncloud/apps/files_external/l10n/sq.php
+#srv/web/owncloud/apps/files_external/l10n/sr.php
+#srv/web/owncloud/apps/files_external/l10n/sr@latin.php
+#srv/web/owncloud/apps/files_external/l10n/sv.php
+#srv/web/owncloud/apps/files_external/l10n/ta_LK.php
+#srv/web/owncloud/apps/files_external/l10n/te.php
+#srv/web/owncloud/apps/files_external/l10n/th_TH.php
+#srv/web/owncloud/apps/files_external/l10n/tr.php
+#srv/web/owncloud/apps/files_external/l10n/ug.php
+#srv/web/owncloud/apps/files_external/l10n/uk.php
+#srv/web/owncloud/apps/files_external/l10n/ur_PK.php
+#srv/web/owncloud/apps/files_external/l10n/vi.php
+#srv/web/owncloud/apps/files_external/l10n/zh_CN.php
+#srv/web/owncloud/apps/files_external/l10n/zh_HK.php
+#srv/web/owncloud/apps/files_external/l10n/zh_TW.php
+#srv/web/owncloud/apps/files_external/lib
+#srv/web/owncloud/apps/files_external/lib/amazons3.php
+#srv/web/owncloud/apps/files_external/lib/api.php
+#srv/web/owncloud/apps/files_external/lib/config.php
+#srv/web/owncloud/apps/files_external/lib/dropbox.php
+#srv/web/owncloud/apps/files_external/lib/ftp.php
+#srv/web/owncloud/apps/files_external/lib/google.php
+#srv/web/owncloud/apps/files_external/lib/owncloud.php
+#srv/web/owncloud/apps/files_external/lib/personalmount.php
+#srv/web/owncloud/apps/files_external/lib/sftp.php
+#srv/web/owncloud/apps/files_external/lib/smb.php
+#srv/web/owncloud/apps/files_external/lib/smb_oc.php
+#srv/web/owncloud/apps/files_external/lib/streamwrapper.php
+#srv/web/owncloud/apps/files_external/lib/swift.php
+#srv/web/owncloud/apps/files_external/list.php
+#srv/web/owncloud/apps/files_external/personal.php
+#srv/web/owncloud/apps/files_external/settings.php
+#srv/web/owncloud/apps/files_external/templates
+#srv/web/owncloud/apps/files_external/templates/list.php
+#srv/web/owncloud/apps/files_external/templates/settings.php
+#srv/web/owncloud/apps/files_external/tests
+#srv/web/owncloud/apps/files_external/tests/amazons3.php
+#srv/web/owncloud/apps/files_external/tests/appSpec.js
+#srv/web/owncloud/apps/files_external/tests/config.php
+#srv/web/owncloud/apps/files_external/tests/dropbox.php
+#srv/web/owncloud/apps/files_external/tests/dynamicmountconfig.php
+#srv/web/owncloud/apps/files_external/tests/ftp.php
+#srv/web/owncloud/apps/files_external/tests/google.php
+#srv/web/owncloud/apps/files_external/tests/js
+#srv/web/owncloud/apps/files_external/tests/js/mountsfilelistSpec.js
+#srv/web/owncloud/apps/files_external/tests/mountconfig.php
+#srv/web/owncloud/apps/files_external/tests/owncloud.php
+#srv/web/owncloud/apps/files_external/tests/sftp.php
+#srv/web/owncloud/apps/files_external/tests/smb.php
+#srv/web/owncloud/apps/files_external/tests/smbfunctions.php
+#srv/web/owncloud/apps/files_external/tests/swift.php
+#srv/web/owncloud/apps/files_external/tests/webdav.php
+#srv/web/owncloud/apps/files_pdfviewer
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/LICENSE
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/compatibility.js
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/annotation-check.svg
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/annotation-comment.svg
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/annotation-help.svg
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/annotation-insert.svg
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/annotation-key.svg
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/annotation-newparagraph.svg
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/annotation-noicon.svg
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/annotation-note.svg
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/annotation-paragraph.svg
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/findbarButton-next-rtl.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/findbarButton-next-rtl@2x.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/findbarButton-next.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/findbarButton-next@2x.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/findbarButton-previous-rtl.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/findbarButton-previous-rtl@2x.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/findbarButton-previous.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/findbarButton-previous@2x.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/grab.cur
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/grabbing.cur
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/loading-icon.gif
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/loading-small.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/secondaryToolbarButton-documentProperties.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/secondaryToolbarButton-documentProperties@2x.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/secondaryToolbarButton-firstPage.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/secondaryToolbarButton-firstPage@2x.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/secondaryToolbarButton-handTool.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/secondaryToolbarButton-handTool@2x.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/secondaryToolbarButton-lastPage.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/secondaryToolbarButton-lastPage@2x.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/secondaryToolbarButton-rotateCcw.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/secondaryToolbarButton-rotateCcw@2x.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/secondaryToolbarButton-rotateCw.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/secondaryToolbarButton-rotateCw@2x.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/shadow.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/texture.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/toolbarButton-bookmark.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/toolbarButton-bookmark@2x.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/toolbarButton-download.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/toolbarButton-download@2x.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/toolbarButton-menuArrows.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/toolbarButton-menuArrows@2x.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/toolbarButton-openFile.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/toolbarButton-openFile@2x.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/toolbarButton-pageDown-rtl.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/toolbarButton-pageDown-rtl@2x.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/toolbarButton-pageDown.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/toolbarButton-pageDown@2x.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/toolbarButton-pageUp-rtl.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/toolbarButton-pageUp-rtl@2x.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/toolbarButton-pageUp.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/toolbarButton-pageUp@2x.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/toolbarButton-presentationMode.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/toolbarButton-presentationMode@2x.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/toolbarButton-print.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/toolbarButton-print@2x.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/toolbarButton-search.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/toolbarButton-search@2x.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/toolbarButton-secondaryToolbarToggle-rtl.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/toolbarButton-secondaryToolbarToggle-rtl@2x.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/toolbarButton-secondaryToolbarToggle.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/toolbarButton-secondaryToolbarToggle@2x.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/toolbarButton-sidebarToggle-rtl.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/toolbarButton-sidebarToggle-rtl@2x.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/toolbarButton-sidebarToggle.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/toolbarButton-sidebarToggle@2x.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/toolbarButton-viewOutline-rtl.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/toolbarButton-viewOutline-rtl@2x.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/toolbarButton-viewOutline.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/toolbarButton-viewOutline@2x.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/toolbarButton-viewThumbnail.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/toolbarButton-viewThumbnail@2x.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/toolbarButton-zoomIn.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/toolbarButton-zoomIn@2x.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/toolbarButton-zoomOut.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/images/toolbarButton-zoomOut@2x.png
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/l10n.js
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/ar
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/ar/viewer.properties
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/bn-BD
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/bn-BD/viewer.properties
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/ca
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/ca/viewer.properties
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/cs
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/cs/viewer.properties
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/cy
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/cy/viewer.properties
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/da
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/da/viewer.properties
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/de
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/de/viewer.properties
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/el
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/el/viewer.properties
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/en-US
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/en-US/viewer.properties
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/es
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/es/viewer.properties
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/fa
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/fa/viewer.properties
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/fi
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/fi/viewer.properties
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/fr
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/fr/viewer.properties
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/he
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/he/viewer.properties
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/it
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/it/viewer.properties
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/ja
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/ja/viewer.properties
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/ko
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/ko/viewer.properties
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/locale.properties
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/lt
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/lt/viewer.properties
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/nl
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/nl/viewer.properties
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/no
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/no/viewer.properties
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/pl
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/pl/viewer.properties
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/pt-BR
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/pt-BR/viewer.properties
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/ro
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/ro/viewer.properties
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/ru
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/ru/viewer.properties
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/sr
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/sr/viewer.properties
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/sv-SE
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/sv-SE/viewer.properties
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/tr
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/tr/viewer.properties
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/vi
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/vi/viewer.properties
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/zh-CN
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/zh-CN/viewer.properties
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/zh-TW
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/locale/zh-TW/viewer.properties
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/pdf.js
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/pdf.worker.js
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/viewer.css
+#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/viewer.js
+#srv/web/owncloud/apps/files_pdfviewer/README.md
+#srv/web/owncloud/apps/files_pdfviewer/appinfo
+#srv/web/owncloud/apps/files_pdfviewer/appinfo/app.php
+#srv/web/owncloud/apps/files_pdfviewer/appinfo/info.xml
+#srv/web/owncloud/apps/files_pdfviewer/appinfo/version
+#srv/web/owncloud/apps/files_pdfviewer/js
+#srv/web/owncloud/apps/files_pdfviewer/js/files.php
+#srv/web/owncloud/apps/files_pdfviewer/js/loader.js
+#srv/web/owncloud/apps/files_pdfviewer/js/on_event.js
+#srv/web/owncloud/apps/files_pdfviewer/templates
+#srv/web/owncloud/apps/files_pdfviewer/templates/pdf.php
+#srv/web/owncloud/apps/files_pdfviewer/viewer.php
+#srv/web/owncloud/apps/files_sharing
+#srv/web/owncloud/apps/files_sharing/ajax
+#srv/web/owncloud/apps/files_sharing/ajax/external.php
+#srv/web/owncloud/apps/files_sharing/ajax/list.php
+#srv/web/owncloud/apps/files_sharing/ajax/publicpreview.php
+#srv/web/owncloud/apps/files_sharing/ajax/shareinfo.php
+#srv/web/owncloud/apps/files_sharing/ajax/testremote.php
+#srv/web/owncloud/apps/files_sharing/appinfo
+#srv/web/owncloud/apps/files_sharing/appinfo/app.php
+#srv/web/owncloud/apps/files_sharing/appinfo/database.xml
+#srv/web/owncloud/apps/files_sharing/appinfo/info.xml
+#srv/web/owncloud/apps/files_sharing/appinfo/routes.php
+#srv/web/owncloud/apps/files_sharing/appinfo/update.php
+#srv/web/owncloud/apps/files_sharing/appinfo/version
+#srv/web/owncloud/apps/files_sharing/css
+#srv/web/owncloud/apps/files_sharing/css/404.css
+#srv/web/owncloud/apps/files_sharing/css/authenticate.css
+#srv/web/owncloud/apps/files_sharing/css/mobile.css
+#srv/web/owncloud/apps/files_sharing/css/public.css
+#srv/web/owncloud/apps/files_sharing/css/sharedfilelist.css
+#srv/web/owncloud/apps/files_sharing/js
+#srv/web/owncloud/apps/files_sharing/js/app.js
+#srv/web/owncloud/apps/files_sharing/js/external.js
+#srv/web/owncloud/apps/files_sharing/js/public.js
+#srv/web/owncloud/apps/files_sharing/js/settings-admin.js
+#srv/web/owncloud/apps/files_sharing/js/share.js
+#srv/web/owncloud/apps/files_sharing/js/sharedfilelist.js
+#srv/web/owncloud/apps/files_sharing/l10n
+#srv/web/owncloud/apps/files_sharing/l10n/af_ZA.php
+#srv/web/owncloud/apps/files_sharing/l10n/ar.php
+#srv/web/owncloud/apps/files_sharing/l10n/ast.php
+#srv/web/owncloud/apps/files_sharing/l10n/bg_BG.php
+#srv/web/owncloud/apps/files_sharing/l10n/bn_BD.php
+#srv/web/owncloud/apps/files_sharing/l10n/bs.php
+#srv/web/owncloud/apps/files_sharing/l10n/ca.php
+#srv/web/owncloud/apps/files_sharing/l10n/cs_CZ.php
+#srv/web/owncloud/apps/files_sharing/l10n/cy_GB.php
+#srv/web/owncloud/apps/files_sharing/l10n/da.php
+#srv/web/owncloud/apps/files_sharing/l10n/de.php
+#srv/web/owncloud/apps/files_sharing/l10n/de_AT.php
+#srv/web/owncloud/apps/files_sharing/l10n/de_CH.php
+#srv/web/owncloud/apps/files_sharing/l10n/de_DE.php
+#srv/web/owncloud/apps/files_sharing/l10n/el.php
+#srv/web/owncloud/apps/files_sharing/l10n/en@pirate.php
+#srv/web/owncloud/apps/files_sharing/l10n/en_GB.php
+#srv/web/owncloud/apps/files_sharing/l10n/eo.php
+#srv/web/owncloud/apps/files_sharing/l10n/es.php
+#srv/web/owncloud/apps/files_sharing/l10n/es_AR.php
+#srv/web/owncloud/apps/files_sharing/l10n/es_CL.php
+#srv/web/owncloud/apps/files_sharing/l10n/es_MX.php
+#srv/web/owncloud/apps/files_sharing/l10n/et_EE.php
+#srv/web/owncloud/apps/files_sharing/l10n/eu.php
+#srv/web/owncloud/apps/files_sharing/l10n/eu_ES.php
+#srv/web/owncloud/apps/files_sharing/l10n/fa.php
+#srv/web/owncloud/apps/files_sharing/l10n/fi_FI.php
+#srv/web/owncloud/apps/files_sharing/l10n/fr.php
+#srv/web/owncloud/apps/files_sharing/l10n/gl.php
+#srv/web/owncloud/apps/files_sharing/l10n/he.php
+#srv/web/owncloud/apps/files_sharing/l10n/hi.php
+#srv/web/owncloud/apps/files_sharing/l10n/hr.php
+#srv/web/owncloud/apps/files_sharing/l10n/hu_HU.php
+#srv/web/owncloud/apps/files_sharing/l10n/hy.php
+#srv/web/owncloud/apps/files_sharing/l10n/ia.php
+#srv/web/owncloud/apps/files_sharing/l10n/id.php
+#srv/web/owncloud/apps/files_sharing/l10n/is.php
+#srv/web/owncloud/apps/files_sharing/l10n/it.php
+#srv/web/owncloud/apps/files_sharing/l10n/ja.php
+#srv/web/owncloud/apps/files_sharing/l10n/ja_JP.php
+#srv/web/owncloud/apps/files_sharing/l10n/jv.php
+#srv/web/owncloud/apps/files_sharing/l10n/ka.php
+#srv/web/owncloud/apps/files_sharing/l10n/ka_GE.php
+#srv/web/owncloud/apps/files_sharing/l10n/km.php
+#srv/web/owncloud/apps/files_sharing/l10n/ko.php
+#srv/web/owncloud/apps/files_sharing/l10n/ku_IQ.php
+#srv/web/owncloud/apps/files_sharing/l10n/lb.php
+#srv/web/owncloud/apps/files_sharing/l10n/lt_LT.php
+#srv/web/owncloud/apps/files_sharing/l10n/lv.php
+#srv/web/owncloud/apps/files_sharing/l10n/mk.php
+#srv/web/owncloud/apps/files_sharing/l10n/ms_MY.php
+#srv/web/owncloud/apps/files_sharing/l10n/my_MM.php
+#srv/web/owncloud/apps/files_sharing/l10n/nb_NO.php
+#srv/web/owncloud/apps/files_sharing/l10n/nl.php
+#srv/web/owncloud/apps/files_sharing/l10n/nn_NO.php
+#srv/web/owncloud/apps/files_sharing/l10n/oc.php
+#srv/web/owncloud/apps/files_sharing/l10n/pa.php
+#srv/web/owncloud/apps/files_sharing/l10n/pl.php
+#srv/web/owncloud/apps/files_sharing/l10n/pt_BR.php
+#srv/web/owncloud/apps/files_sharing/l10n/pt_PT.php
+#srv/web/owncloud/apps/files_sharing/l10n/ro.php
+#srv/web/owncloud/apps/files_sharing/l10n/ru.php
+#srv/web/owncloud/apps/files_sharing/l10n/si_LK.php
+#srv/web/owncloud/apps/files_sharing/l10n/sk.php
+#srv/web/owncloud/apps/files_sharing/l10n/sk_SK.php
+#srv/web/owncloud/apps/files_sharing/l10n/sl.php
+#srv/web/owncloud/apps/files_sharing/l10n/sq.php
+#srv/web/owncloud/apps/files_sharing/l10n/sr.php
+#srv/web/owncloud/apps/files_sharing/l10n/sr@latin.php
+#srv/web/owncloud/apps/files_sharing/l10n/sv.php
+#srv/web/owncloud/apps/files_sharing/l10n/ta_LK.php
+#srv/web/owncloud/apps/files_sharing/l10n/te.php
+#srv/web/owncloud/apps/files_sharing/l10n/th_TH.php
+#srv/web/owncloud/apps/files_sharing/l10n/tr.php
+#srv/web/owncloud/apps/files_sharing/l10n/ug.php
+#srv/web/owncloud/apps/files_sharing/l10n/uk.php
+#srv/web/owncloud/apps/files_sharing/l10n/ur_PK.php
+#srv/web/owncloud/apps/files_sharing/l10n/vi.php
+#srv/web/owncloud/apps/files_sharing/l10n/zh_CN.php
+#srv/web/owncloud/apps/files_sharing/l10n/zh_HK.php
+#srv/web/owncloud/apps/files_sharing/l10n/zh_TW.php
+#srv/web/owncloud/apps/files_sharing/lib
+#srv/web/owncloud/apps/files_sharing/lib/api.php
+#srv/web/owncloud/apps/files_sharing/lib/cache.php
+#srv/web/owncloud/apps/files_sharing/lib/connector
+#srv/web/owncloud/apps/files_sharing/lib/connector/publicauth.php
+#srv/web/owncloud/apps/files_sharing/lib/external
+#srv/web/owncloud/apps/files_sharing/lib/external/cache.php
+#srv/web/owncloud/apps/files_sharing/lib/external/manager.php
+#srv/web/owncloud/apps/files_sharing/lib/external/mount.php
+#srv/web/owncloud/apps/files_sharing/lib/external/scanner.php
+#srv/web/owncloud/apps/files_sharing/lib/external/storage.php
+#srv/web/owncloud/apps/files_sharing/lib/helper.php
+#srv/web/owncloud/apps/files_sharing/lib/isharedstorage.php
+#srv/web/owncloud/apps/files_sharing/lib/maintainer.php
+#srv/web/owncloud/apps/files_sharing/lib/proxy.php
+#srv/web/owncloud/apps/files_sharing/lib/readonlycache.php
+#srv/web/owncloud/apps/files_sharing/lib/readonlywrapper.php
+#srv/web/owncloud/apps/files_sharing/lib/share
+#srv/web/owncloud/apps/files_sharing/lib/share/file.php
+#srv/web/owncloud/apps/files_sharing/lib/share/folder.php
+#srv/web/owncloud/apps/files_sharing/lib/sharedmount.php
+#srv/web/owncloud/apps/files_sharing/lib/sharedstorage.php
+#srv/web/owncloud/apps/files_sharing/lib/updater.php
+#srv/web/owncloud/apps/files_sharing/lib/watcher.php
+#srv/web/owncloud/apps/files_sharing/list.php
+#srv/web/owncloud/apps/files_sharing/public.php
+#srv/web/owncloud/apps/files_sharing/publicwebdav.php
+#srv/web/owncloud/apps/files_sharing/settings-admin.php
+#srv/web/owncloud/apps/files_sharing/templates
+#srv/web/owncloud/apps/files_sharing/templates/authenticate.php
+#srv/web/owncloud/apps/files_sharing/templates/list.php
+#srv/web/owncloud/apps/files_sharing/templates/part.404.php
+#srv/web/owncloud/apps/files_sharing/templates/public.php
+#srv/web/owncloud/apps/files_sharing/templates/settings-admin.php
+#srv/web/owncloud/apps/files_sharing/tests
+#srv/web/owncloud/apps/files_sharing/tests/api.php
+#srv/web/owncloud/apps/files_sharing/tests/base.php
+#srv/web/owncloud/apps/files_sharing/tests/cache.php
+#srv/web/owncloud/apps/files_sharing/tests/externalstorage.php
+#srv/web/owncloud/apps/files_sharing/tests/js
+#srv/web/owncloud/apps/files_sharing/tests/js/appSpec.js
+#srv/web/owncloud/apps/files_sharing/tests/js/shareSpec.js
+#srv/web/owncloud/apps/files_sharing/tests/js/sharedfilelistSpec.js
+#srv/web/owncloud/apps/files_sharing/tests/permissions.php
+#srv/web/owncloud/apps/files_sharing/tests/proxy.php
+#srv/web/owncloud/apps/files_sharing/tests/share.php
+#srv/web/owncloud/apps/files_sharing/tests/sharedmount.php
+#srv/web/owncloud/apps/files_sharing/tests/sharedstorage.php
+#srv/web/owncloud/apps/files_sharing/tests/update.php
+#srv/web/owncloud/apps/files_sharing/tests/updater.php
+#srv/web/owncloud/apps/files_sharing/tests/watcher.php
+#srv/web/owncloud/apps/files_texteditor
+#srv/web/owncloud/apps/files_texteditor/README.md
+#srv/web/owncloud/apps/files_texteditor/ajax
+#srv/web/owncloud/apps/files_texteditor/ajax/loadfile.php
+#srv/web/owncloud/apps/files_texteditor/ajax/savefile.php
+#srv/web/owncloud/apps/files_texteditor/appinfo
+#srv/web/owncloud/apps/files_texteditor/appinfo/app.php
+#srv/web/owncloud/apps/files_texteditor/appinfo/info.xml
+#srv/web/owncloud/apps/files_texteditor/appinfo/version
+#srv/web/owncloud/apps/files_texteditor/css
+#srv/web/owncloud/apps/files_texteditor/css/DroidSansMono
+#srv/web/owncloud/apps/files_texteditor/css/DroidSansMono/DroidSansMono-webfont.eot
+#srv/web/owncloud/apps/files_texteditor/css/DroidSansMono/DroidSansMono-webfont.svg
+#srv/web/owncloud/apps/files_texteditor/css/DroidSansMono/DroidSansMono-webfont.ttf
+#srv/web/owncloud/apps/files_texteditor/css/DroidSansMono/DroidSansMono-webfont.woff
+#srv/web/owncloud/apps/files_texteditor/css/DroidSansMono/Google_Android_License.txt
+#srv/web/owncloud/apps/files_texteditor/css/DroidSansMono/stylesheet.css
+#srv/web/owncloud/apps/files_texteditor/css/mobile.css
+#srv/web/owncloud/apps/files_texteditor/css/style.css
+#srv/web/owncloud/apps/files_texteditor/js
+#srv/web/owncloud/apps/files_texteditor/js/editor.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/ace.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/ext-elastic_tabstops_lite.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/ext-emmet.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/ext-keybinding_menu.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/ext-language_tools.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/ext-modelist.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/ext-options.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/ext-searchbox.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/ext-settings_menu.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/ext-spellcheck.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/ext-split.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/ext-static_highlight.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/ext-statusbar.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/ext-textarea.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/ext-themelist.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/ext-whitespace.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/keybinding-emacs.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/keybinding-vim.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-abap.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-actionscript.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-ada.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-asciidoc.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-assembly_x86.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-autohotkey.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-batchfile.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-c9search.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-c_cpp.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-clojure.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-cobol.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-coffee.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-coldfusion.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-csharp.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-css.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-curly.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-d.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-dart.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-diff.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-django.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-dot.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-ejs.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-erlang.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-forth.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-ftl.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-glsl.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-golang.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-groovy.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-haml.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-haskell.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-haxe.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-html.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-html_ruby.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-ini.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-jade.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-java.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-javascript.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-json.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-jsoniq.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-jsp.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-jsx.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-julia.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-latex.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-less.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-liquid.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-lisp.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-livescript.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-logiql.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-lsl.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-lua.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-luapage.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-lucene.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-makefile.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-markdown.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-matlab.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-mushcode.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-mushcode_high_rules.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-mysql.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-objectivec.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-ocaml.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-pascal.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-perl.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-pgsql.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-php.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-plain_text.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-powershell.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-prolog.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-properties.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-python.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-r.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-rdoc.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-rhtml.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-ruby.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-rust.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-sass.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-scad.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-scala.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-scheme.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-scss.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-sh.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-snippets.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-sql.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-stylus.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-svg.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-tcl.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-tex.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-text.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-textile.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-tmsnippet.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-toml.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-twig.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-typescript.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-vbscript.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-velocity.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-verilog.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-xml.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-xquery.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/mode-yaml.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/abap.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/actionscript.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/ada.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/asciidoc.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/assembly_x86.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/autohotkey.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/batchfile.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/c9search.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/c_cpp.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/clojure.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/cobol.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/coffee.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/coldfusion.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/csharp.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/css.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/curly.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/d.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/dart.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/diff.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/django.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/dot.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/ejs.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/erlang.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/forth.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/ftl.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/glsl.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/golang.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/groovy.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/haml.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/haskell.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/haxe.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/html.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/html_ruby.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/ini.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/jade.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/java.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/javascript.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/json.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/jsoniq.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/jsp.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/jsx.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/julia.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/latex.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/less.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/liquid.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/lisp.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/livescript.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/logiql.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/lsl.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/lua.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/luapage.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/lucene.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/makefile.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/markdown.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/matlab.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/mushcode.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/mushcode_high_rules.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/mysql.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/objectivec.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/ocaml.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/pascal.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/perl.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/pgsql.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/php.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/plain_text.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/powershell.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/prolog.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/properties.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/python.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/r.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/rdoc.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/rhtml.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/ruby.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/rust.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/sass.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/scad.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/scala.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/scheme.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/scss.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/sh.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/snippets.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/sql.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/stylus.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/svg.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/tcl.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/tex.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/text.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/textile.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/toml.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/twig.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/typescript.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/vbscript.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/velocity.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/verilog.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/xml.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/xquery.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/snippets/yaml.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/theme-ambiance.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/theme-chaos.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/theme-chrome.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/theme-clouds.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/theme-clouds_midnight.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/theme-cobalt.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/theme-crimson_editor.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/theme-dawn.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/theme-dreamweaver.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/theme-eclipse.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/theme-github.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/theme-idle_fingers.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/theme-kr.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/theme-merbivore.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/theme-merbivore_soft.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/theme-mono_industrial.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/theme-monokai.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/theme-pastel_on_dark.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/theme-solarized_dark.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/theme-solarized_light.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/theme-terminal.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/theme-textmate.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/theme-tomorrow.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/theme-tomorrow_night.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/theme-tomorrow_night_blue.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/theme-tomorrow_night_bright.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/theme-tomorrow_night_eighties.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/theme-twilight.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/theme-vibrant_ink.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/theme-xcode.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/worker-coffee.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/worker-css.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/worker-javascript.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/worker-json.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/worker-lua.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/worker-php.js
+#srv/web/owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/worker-xquery.js
+#srv/web/owncloud/apps/files_texteditor/l10n
+#srv/web/owncloud/apps/files_texteditor/l10n/ar.php
+#srv/web/owncloud/apps/files_texteditor/l10n/bg_BG.php
+#srv/web/owncloud/apps/files_texteditor/l10n/bn_BD.php
+#srv/web/owncloud/apps/files_texteditor/l10n/bs.php
+#srv/web/owncloud/apps/files_texteditor/l10n/ca.php
+#srv/web/owncloud/apps/files_texteditor/l10n/cs_CZ.php
+#srv/web/owncloud/apps/files_texteditor/l10n/cy_GB.php
+#srv/web/owncloud/apps/files_texteditor/l10n/da.php
+#srv/web/owncloud/apps/files_texteditor/l10n/de.php
+#srv/web/owncloud/apps/files_texteditor/l10n/de_CH.php
+#srv/web/owncloud/apps/files_texteditor/l10n/de_DE.php
+#srv/web/owncloud/apps/files_texteditor/l10n/el.php
+#srv/web/owncloud/apps/files_texteditor/l10n/en_GB.php
+#srv/web/owncloud/apps/files_texteditor/l10n/eo.php
+#srv/web/owncloud/apps/files_texteditor/l10n/es.php
+#srv/web/owncloud/apps/files_texteditor/l10n/es_AR.php
+#srv/web/owncloud/apps/files_texteditor/l10n/es_MX.php
+#srv/web/owncloud/apps/files_texteditor/l10n/et_EE.php
+#srv/web/owncloud/apps/files_texteditor/l10n/eu.php
+#srv/web/owncloud/apps/files_texteditor/l10n/eu_ES.php
+#srv/web/owncloud/apps/files_texteditor/l10n/fa.php
+#srv/web/owncloud/apps/files_texteditor/l10n/fi.php
+#srv/web/owncloud/apps/files_texteditor/l10n/fi_FI.php
+#srv/web/owncloud/apps/files_texteditor/l10n/fr.php
+#srv/web/owncloud/apps/files_texteditor/l10n/gl.php
+#srv/web/owncloud/apps/files_texteditor/l10n/he.php
+#srv/web/owncloud/apps/files_texteditor/l10n/hi.php
+#srv/web/owncloud/apps/files_texteditor/l10n/hr.php
+#srv/web/owncloud/apps/files_texteditor/l10n/hu_HU.php
+#srv/web/owncloud/apps/files_texteditor/l10n/hy.php
+#srv/web/owncloud/apps/files_texteditor/l10n/ia.php
+#srv/web/owncloud/apps/files_texteditor/l10n/id.php
+#srv/web/owncloud/apps/files_texteditor/l10n/is.php
+#srv/web/owncloud/apps/files_texteditor/l10n/it.php
+#srv/web/owncloud/apps/files_texteditor/l10n/ja_JP.php
+#srv/web/owncloud/apps/files_texteditor/l10n/ka_GE.php
+#srv/web/owncloud/apps/files_texteditor/l10n/km.php
+#srv/web/owncloud/apps/files_texteditor/l10n/ko.php
+#srv/web/owncloud/apps/files_texteditor/l10n/ku_IQ.php
+#srv/web/owncloud/apps/files_texteditor/l10n/lb.php
+#srv/web/owncloud/apps/files_texteditor/l10n/lt_LT.php
+#srv/web/owncloud/apps/files_texteditor/l10n/lv.php
+#srv/web/owncloud/apps/files_texteditor/l10n/mk.php
+#srv/web/owncloud/apps/files_texteditor/l10n/ms_MY.php
+#srv/web/owncloud/apps/files_texteditor/l10n/nb_NO.php
+#srv/web/owncloud/apps/files_texteditor/l10n/nl.php
+#srv/web/owncloud/apps/files_texteditor/l10n/nn_NO.php
+#srv/web/owncloud/apps/files_texteditor/l10n/oc.php
+#srv/web/owncloud/apps/files_texteditor/l10n/pa.php
+#srv/web/owncloud/apps/files_texteditor/l10n/pl.php
+#srv/web/owncloud/apps/files_texteditor/l10n/pl_PL.php
+#srv/web/owncloud/apps/files_texteditor/l10n/pt_BR.php
+#srv/web/owncloud/apps/files_texteditor/l10n/pt_PT.php
+#srv/web/owncloud/apps/files_texteditor/l10n/ro.php
+#srv/web/owncloud/apps/files_texteditor/l10n/ru.php
+#srv/web/owncloud/apps/files_texteditor/l10n/si_LK.php
+#srv/web/owncloud/apps/files_texteditor/l10n/sk.php
+#srv/web/owncloud/apps/files_texteditor/l10n/sk_SK.php
+#srv/web/owncloud/apps/files_texteditor/l10n/sl.php
+#srv/web/owncloud/apps/files_texteditor/l10n/sq.php
+#srv/web/owncloud/apps/files_texteditor/l10n/sr.php
+#srv/web/owncloud/apps/files_texteditor/l10n/sr@latin.php
+#srv/web/owncloud/apps/files_texteditor/l10n/sv.php
+#srv/web/owncloud/apps/files_texteditor/l10n/ta_LK.php
+#srv/web/owncloud/apps/files_texteditor/l10n/te.php
+#srv/web/owncloud/apps/files_texteditor/l10n/th_TH.php
+#srv/web/owncloud/apps/files_texteditor/l10n/tr.php
+#srv/web/owncloud/apps/files_texteditor/l10n/ug.php
+#srv/web/owncloud/apps/files_texteditor/l10n/uk.php
+#srv/web/owncloud/apps/files_texteditor/l10n/vi.php
+#srv/web/owncloud/apps/files_texteditor/l10n/zh_CN.php
+#srv/web/owncloud/apps/files_texteditor/l10n/zh_HK.php
+#srv/web/owncloud/apps/files_texteditor/l10n/zh_TW.php
+#srv/web/owncloud/apps/files_trashbin
+#srv/web/owncloud/apps/files_trashbin/ajax
+#srv/web/owncloud/apps/files_trashbin/ajax/delete.php
+#srv/web/owncloud/apps/files_trashbin/ajax/isEmpty.php
+#srv/web/owncloud/apps/files_trashbin/ajax/list.php
+#srv/web/owncloud/apps/files_trashbin/ajax/preview.php
+#srv/web/owncloud/apps/files_trashbin/ajax/undelete.php
+#srv/web/owncloud/apps/files_trashbin/appinfo
+#srv/web/owncloud/apps/files_trashbin/appinfo/app.php
+#srv/web/owncloud/apps/files_trashbin/appinfo/database.xml
+#srv/web/owncloud/apps/files_trashbin/appinfo/info.xml
+#srv/web/owncloud/apps/files_trashbin/appinfo/routes.php
+#srv/web/owncloud/apps/files_trashbin/appinfo/update.php
+#srv/web/owncloud/apps/files_trashbin/appinfo/version
+#srv/web/owncloud/apps/files_trashbin/css
+#srv/web/owncloud/apps/files_trashbin/css/trash.css
+#srv/web/owncloud/apps/files_trashbin/js
+#srv/web/owncloud/apps/files_trashbin/js/app.js
+#srv/web/owncloud/apps/files_trashbin/js/filelist.js
+#srv/web/owncloud/apps/files_trashbin/l10n
+#srv/web/owncloud/apps/files_trashbin/l10n/ach.php
+#srv/web/owncloud/apps/files_trashbin/l10n/ady.php
+#srv/web/owncloud/apps/files_trashbin/l10n/af_ZA.php
+#srv/web/owncloud/apps/files_trashbin/l10n/ar.php
+#srv/web/owncloud/apps/files_trashbin/l10n/ast.php
+#srv/web/owncloud/apps/files_trashbin/l10n/be.php
+#srv/web/owncloud/apps/files_trashbin/l10n/bg_BG.php
+#srv/web/owncloud/apps/files_trashbin/l10n/bn_BD.php
+#srv/web/owncloud/apps/files_trashbin/l10n/bs.php
+#srv/web/owncloud/apps/files_trashbin/l10n/ca.php
+#srv/web/owncloud/apps/files_trashbin/l10n/cs_CZ.php
+#srv/web/owncloud/apps/files_trashbin/l10n/cy_GB.php
+#srv/web/owncloud/apps/files_trashbin/l10n/da.php
+#srv/web/owncloud/apps/files_trashbin/l10n/de.php
+#srv/web/owncloud/apps/files_trashbin/l10n/de_AT.php
+#srv/web/owncloud/apps/files_trashbin/l10n/de_CH.php
+#srv/web/owncloud/apps/files_trashbin/l10n/de_DE.php
+#srv/web/owncloud/apps/files_trashbin/l10n/el.php
+#srv/web/owncloud/apps/files_trashbin/l10n/en@pirate.php
+#srv/web/owncloud/apps/files_trashbin/l10n/en_GB.php
+#srv/web/owncloud/apps/files_trashbin/l10n/eo.php
+#srv/web/owncloud/apps/files_trashbin/l10n/es.php
+#srv/web/owncloud/apps/files_trashbin/l10n/es_AR.php
+#srv/web/owncloud/apps/files_trashbin/l10n/es_CL.php
+#srv/web/owncloud/apps/files_trashbin/l10n/es_MX.php
+#srv/web/owncloud/apps/files_trashbin/l10n/et_EE.php
+#srv/web/owncloud/apps/files_trashbin/l10n/eu.php
+#srv/web/owncloud/apps/files_trashbin/l10n/eu_ES.php
+#srv/web/owncloud/apps/files_trashbin/l10n/fa.php
+#srv/web/owncloud/apps/files_trashbin/l10n/fi_FI.php
+#srv/web/owncloud/apps/files_trashbin/l10n/fr.php
+#srv/web/owncloud/apps/files_trashbin/l10n/gl.php
+#srv/web/owncloud/apps/files_trashbin/l10n/he.php
+#srv/web/owncloud/apps/files_trashbin/l10n/hi.php
+#srv/web/owncloud/apps/files_trashbin/l10n/hr.php
+#srv/web/owncloud/apps/files_trashbin/l10n/hu_HU.php
+#srv/web/owncloud/apps/files_trashbin/l10n/hy.php
+#srv/web/owncloud/apps/files_trashbin/l10n/ia.php
+#srv/web/owncloud/apps/files_trashbin/l10n/id.php
+#srv/web/owncloud/apps/files_trashbin/l10n/is.php
+#srv/web/owncloud/apps/files_trashbin/l10n/it.php
+#srv/web/owncloud/apps/files_trashbin/l10n/ja.php
+#srv/web/owncloud/apps/files_trashbin/l10n/ja_JP.php
+#srv/web/owncloud/apps/files_trashbin/l10n/ka.php
+#srv/web/owncloud/apps/files_trashbin/l10n/ka_GE.php
+#srv/web/owncloud/apps/files_trashbin/l10n/km.php
+#srv/web/owncloud/apps/files_trashbin/l10n/kn.php
+#srv/web/owncloud/apps/files_trashbin/l10n/ko.php
+#srv/web/owncloud/apps/files_trashbin/l10n/ku_IQ.php
+#srv/web/owncloud/apps/files_trashbin/l10n/lb.php
+#srv/web/owncloud/apps/files_trashbin/l10n/lt_LT.php
+#srv/web/owncloud/apps/files_trashbin/l10n/lv.php
+#srv/web/owncloud/apps/files_trashbin/l10n/mk.php
+#srv/web/owncloud/apps/files_trashbin/l10n/ml_IN.php
+#srv/web/owncloud/apps/files_trashbin/l10n/ms_MY.php
+#srv/web/owncloud/apps/files_trashbin/l10n/my_MM.php
+#srv/web/owncloud/apps/files_trashbin/l10n/nb_NO.php
+#srv/web/owncloud/apps/files_trashbin/l10n/ne.php
+#srv/web/owncloud/apps/files_trashbin/l10n/nl.php
+#srv/web/owncloud/apps/files_trashbin/l10n/nn_NO.php
+#srv/web/owncloud/apps/files_trashbin/l10n/nqo.php
+#srv/web/owncloud/apps/files_trashbin/l10n/oc.php
+#srv/web/owncloud/apps/files_trashbin/l10n/pa.php
+#srv/web/owncloud/apps/files_trashbin/l10n/pl.php
+#srv/web/owncloud/apps/files_trashbin/l10n/pt_BR.php
+#srv/web/owncloud/apps/files_trashbin/l10n/pt_PT.php
+#srv/web/owncloud/apps/files_trashbin/l10n/ro.php
+#srv/web/owncloud/apps/files_trashbin/l10n/ru.php
+#srv/web/owncloud/apps/files_trashbin/l10n/si_LK.php
+#srv/web/owncloud/apps/files_trashbin/l10n/sk.php
+#srv/web/owncloud/apps/files_trashbin/l10n/sk_SK.php
+#srv/web/owncloud/apps/files_trashbin/l10n/sl.php
+#srv/web/owncloud/apps/files_trashbin/l10n/sq.php
+#srv/web/owncloud/apps/files_trashbin/l10n/sr.php
+#srv/web/owncloud/apps/files_trashbin/l10n/sr@latin.php
+#srv/web/owncloud/apps/files_trashbin/l10n/sv.php
+#srv/web/owncloud/apps/files_trashbin/l10n/sw_KE.php
+#srv/web/owncloud/apps/files_trashbin/l10n/ta_LK.php
+#srv/web/owncloud/apps/files_trashbin/l10n/te.php
+#srv/web/owncloud/apps/files_trashbin/l10n/th_TH.php
+#srv/web/owncloud/apps/files_trashbin/l10n/tr.php
+#srv/web/owncloud/apps/files_trashbin/l10n/ug.php
+#srv/web/owncloud/apps/files_trashbin/l10n/uk.php
+#srv/web/owncloud/apps/files_trashbin/l10n/ur_PK.php
+#srv/web/owncloud/apps/files_trashbin/l10n/vi.php
+#srv/web/owncloud/apps/files_trashbin/l10n/zh_CN.php
+#srv/web/owncloud/apps/files_trashbin/l10n/zh_HK.php
+#srv/web/owncloud/apps/files_trashbin/l10n/zh_TW.php
+#srv/web/owncloud/apps/files_trashbin/lib
+#srv/web/owncloud/apps/files_trashbin/lib/exceptions.php
+#srv/web/owncloud/apps/files_trashbin/lib/helper.php
+#srv/web/owncloud/apps/files_trashbin/lib/hooks.php
+#srv/web/owncloud/apps/files_trashbin/lib/trashbin.php
+#srv/web/owncloud/apps/files_trashbin/list.php
+#srv/web/owncloud/apps/files_trashbin/templates
+#srv/web/owncloud/apps/files_trashbin/templates/index.php
+#srv/web/owncloud/apps/files_trashbin/tests
+#srv/web/owncloud/apps/files_trashbin/tests/js
+#srv/web/owncloud/apps/files_trashbin/tests/js/appSpec.js
+#srv/web/owncloud/apps/files_trashbin/tests/js/filelistSpec.js
+#srv/web/owncloud/apps/files_trashbin/tests/trashbin.php
+#srv/web/owncloud/apps/files_versions
+#srv/web/owncloud/apps/files_versions/ajax
+#srv/web/owncloud/apps/files_versions/ajax/getVersions.php
+#srv/web/owncloud/apps/files_versions/ajax/preview.php
+#srv/web/owncloud/apps/files_versions/ajax/rollbackVersion.php
+#srv/web/owncloud/apps/files_versions/appinfo
+#srv/web/owncloud/apps/files_versions/appinfo/api.php
+#srv/web/owncloud/apps/files_versions/appinfo/app.php
+#srv/web/owncloud/apps/files_versions/appinfo/info.xml
+#srv/web/owncloud/apps/files_versions/appinfo/routes.php
+#srv/web/owncloud/apps/files_versions/appinfo/update.php
+#srv/web/owncloud/apps/files_versions/appinfo/version
+#srv/web/owncloud/apps/files_versions/css
+#srv/web/owncloud/apps/files_versions/css/versions.css
+#srv/web/owncloud/apps/files_versions/download.php
+#srv/web/owncloud/apps/files_versions/js
+#srv/web/owncloud/apps/files_versions/js/versions.js
+#srv/web/owncloud/apps/files_versions/l10n
+#srv/web/owncloud/apps/files_versions/l10n/ar.php
+#srv/web/owncloud/apps/files_versions/l10n/ast.php
+#srv/web/owncloud/apps/files_versions/l10n/bg_BG.php
+#srv/web/owncloud/apps/files_versions/l10n/bn_BD.php
+#srv/web/owncloud/apps/files_versions/l10n/ca.php
+#srv/web/owncloud/apps/files_versions/l10n/cs_CZ.php
+#srv/web/owncloud/apps/files_versions/l10n/cy_GB.php
+#srv/web/owncloud/apps/files_versions/l10n/da.php
+#srv/web/owncloud/apps/files_versions/l10n/de.php
+#srv/web/owncloud/apps/files_versions/l10n/de_CH.php
+#srv/web/owncloud/apps/files_versions/l10n/de_DE.php
+#srv/web/owncloud/apps/files_versions/l10n/el.php
+#srv/web/owncloud/apps/files_versions/l10n/en_GB.php
+#srv/web/owncloud/apps/files_versions/l10n/eo.php
+#srv/web/owncloud/apps/files_versions/l10n/es.php
+#srv/web/owncloud/apps/files_versions/l10n/es_AR.php
+#srv/web/owncloud/apps/files_versions/l10n/es_MX.php
+#srv/web/owncloud/apps/files_versions/l10n/et_EE.php
+#srv/web/owncloud/apps/files_versions/l10n/eu.php
+#srv/web/owncloud/apps/files_versions/l10n/fa.php
+#srv/web/owncloud/apps/files_versions/l10n/fi_FI.php
+#srv/web/owncloud/apps/files_versions/l10n/fr.php
+#srv/web/owncloud/apps/files_versions/l10n/gl.php
+#srv/web/owncloud/apps/files_versions/l10n/he.php
+#srv/web/owncloud/apps/files_versions/l10n/hu_HU.php
+#srv/web/owncloud/apps/files_versions/l10n/id.php
+#srv/web/owncloud/apps/files_versions/l10n/is.php
+#srv/web/owncloud/apps/files_versions/l10n/it.php
+#srv/web/owncloud/apps/files_versions/l10n/ja.php
+#srv/web/owncloud/apps/files_versions/l10n/ja_JP.php
+#srv/web/owncloud/apps/files_versions/l10n/ka_GE.php
+#srv/web/owncloud/apps/files_versions/l10n/km.php
+#srv/web/owncloud/apps/files_versions/l10n/ko.php
+#srv/web/owncloud/apps/files_versions/l10n/ku_IQ.php
+#srv/web/owncloud/apps/files_versions/l10n/lb.php
+#srv/web/owncloud/apps/files_versions/l10n/lt_LT.php
+#srv/web/owncloud/apps/files_versions/l10n/lv.php
+#srv/web/owncloud/apps/files_versions/l10n/mk.php
+#srv/web/owncloud/apps/files_versions/l10n/ms_MY.php
+#srv/web/owncloud/apps/files_versions/l10n/nb_NO.php
+#srv/web/owncloud/apps/files_versions/l10n/nl.php
+#srv/web/owncloud/apps/files_versions/l10n/nn_NO.php
+#srv/web/owncloud/apps/files_versions/l10n/pl.php
+#srv/web/owncloud/apps/files_versions/l10n/pt_BR.php
+#srv/web/owncloud/apps/files_versions/l10n/pt_PT.php
+#srv/web/owncloud/apps/files_versions/l10n/ro.php
+#srv/web/owncloud/apps/files_versions/l10n/ru.php
+#srv/web/owncloud/apps/files_versions/l10n/si_LK.php
+#srv/web/owncloud/apps/files_versions/l10n/sk_SK.php
+#srv/web/owncloud/apps/files_versions/l10n/sl.php
+#srv/web/owncloud/apps/files_versions/l10n/sq.php
+#srv/web/owncloud/apps/files_versions/l10n/sr.php
+#srv/web/owncloud/apps/files_versions/l10n/sv.php
+#srv/web/owncloud/apps/files_versions/l10n/ta_LK.php
+#srv/web/owncloud/apps/files_versions/l10n/th_TH.php
+#srv/web/owncloud/apps/files_versions/l10n/tr.php
+#srv/web/owncloud/apps/files_versions/l10n/ug.php
+#srv/web/owncloud/apps/files_versions/l10n/uk.php
+#srv/web/owncloud/apps/files_versions/l10n/ur_PK.php
+#srv/web/owncloud/apps/files_versions/l10n/vi.php
+#srv/web/owncloud/apps/files_versions/l10n/zh_CN.php
+#srv/web/owncloud/apps/files_versions/l10n/zh_HK.php
+#srv/web/owncloud/apps/files_versions/l10n/zh_TW.php
+#srv/web/owncloud/apps/files_versions/lib
+#srv/web/owncloud/apps/files_versions/lib/capabilities.php
+#srv/web/owncloud/apps/files_versions/lib/hooks.php
+#srv/web/owncloud/apps/files_versions/lib/versions.php
+#srv/web/owncloud/apps/files_versions/tests
+#srv/web/owncloud/apps/files_versions/tests/versions.php
+#srv/web/owncloud/apps/files_videoviewer
+#srv/web/owncloud/apps/files_videoviewer/appinfo
+#srv/web/owncloud/apps/files_videoviewer/appinfo/app.php
+#srv/web/owncloud/apps/files_videoviewer/appinfo/info.xml
+#srv/web/owncloud/apps/files_videoviewer/appinfo/version
+#srv/web/owncloud/apps/files_videoviewer/css
+#srv/web/owncloud/apps/files_videoviewer/css/mediaelementplayer.css
+#srv/web/owncloud/apps/files_videoviewer/css/style.css
+#srv/web/owncloud/apps/files_videoviewer/img
+#srv/web/owncloud/apps/files_videoviewer/img/close.png
+#srv/web/owncloud/apps/files_videoviewer/img/skin
+#srv/web/owncloud/apps/files_videoviewer/img/skin/background.png
+#srv/web/owncloud/apps/files_videoviewer/img/skin/bigplay.png
+#srv/web/owncloud/apps/files_videoviewer/img/skin/bigplay.svg
+#srv/web/owncloud/apps/files_videoviewer/img/skin/controls-ted.png
+#srv/web/owncloud/apps/files_videoviewer/img/skin/controls-wmp-bg.png
+#srv/web/owncloud/apps/files_videoviewer/img/skin/controls-wmp.png
+#srv/web/owncloud/apps/files_videoviewer/img/skin/controls.png
+#srv/web/owncloud/apps/files_videoviewer/img/skin/controls.svg
+#srv/web/owncloud/apps/files_videoviewer/img/skin/loading.gif
+#srv/web/owncloud/apps/files_videoviewer/js
+#srv/web/owncloud/apps/files_videoviewer/js/flashmediaelement.swf
+#srv/web/owncloud/apps/files_videoviewer/js/mediaelement-and-player.js
+#srv/web/owncloud/apps/files_videoviewer/js/mediaelement-and-player.min.js
+#srv/web/owncloud/apps/files_videoviewer/js/mep-extra.js
+#srv/web/owncloud/apps/files_videoviewer/js/silverlightmediaelement.xap
+#srv/web/owncloud/apps/files_videoviewer/js/viewer.js
+#srv/web/owncloud/apps/files_videoviewer/src
+#srv/web/owncloud/apps/files_videoviewer/src/flash
+#srv/web/owncloud/apps/files_videoviewer/src/flash/FlashMediaElement.as
+#srv/web/owncloud/apps/files_videoviewer/src/flash/FlashMediaElement.fla
+#srv/web/owncloud/apps/files_videoviewer/src/flash/HtmlMediaEvent.as
+#srv/web/owncloud/apps/files_videoviewer/src/flash/htmlelements
+#srv/web/owncloud/apps/files_videoviewer/src/flash/htmlelements/AudioElement.as
+#srv/web/owncloud/apps/files_videoviewer/src/flash/htmlelements/IMediaElement.as
+#srv/web/owncloud/apps/files_videoviewer/src/flash/htmlelements/VideoElement.as
+#srv/web/owncloud/apps/files_videoviewer/src/flash/htmlelements/YouTubeElement.as
+#srv/web/owncloud/apps/files_videoviewer/src/silverlight
+#srv/web/owncloud/apps/files_videoviewer/src/silverlight/App.xaml
+#srv/web/owncloud/apps/files_videoviewer/src/silverlight/App.xaml.cs
+#srv/web/owncloud/apps/files_videoviewer/src/silverlight/MainPage.xaml
+#srv/web/owncloud/apps/files_videoviewer/src/silverlight/MainPage.xaml.cs
+#srv/web/owncloud/apps/files_videoviewer/src/silverlight/Properties
+#srv/web/owncloud/apps/files_videoviewer/src/silverlight/Properties/AppManifest.xml
+#srv/web/owncloud/apps/files_videoviewer/src/silverlight/Properties/AssemblyInfo.cs
+#srv/web/owncloud/apps/files_videoviewer/src/silverlight/SilverlightMediaElement.csproj
+#srv/web/owncloud/apps/files_videoviewer/src/silverlight/SilverlightMediaElement.csproj.user
+#srv/web/owncloud/apps/files_videoviewer/src/silverlight/SilverlightMediaElement.sln
+#srv/web/owncloud/apps/firstrunwizard
+#srv/web/owncloud/apps/firstrunwizard/README.md
+#srv/web/owncloud/apps/firstrunwizard/ajax
+#srv/web/owncloud/apps/firstrunwizard/ajax/disable.php
+#srv/web/owncloud/apps/firstrunwizard/ajax/enable.php
+#srv/web/owncloud/apps/firstrunwizard/appinfo
+#srv/web/owncloud/apps/firstrunwizard/appinfo/app.php
+#srv/web/owncloud/apps/firstrunwizard/appinfo/info.xml
+#srv/web/owncloud/apps/firstrunwizard/appinfo/version
+#srv/web/owncloud/apps/firstrunwizard/css
+#srv/web/owncloud/apps/firstrunwizard/css/colorbox.css
+#srv/web/owncloud/apps/firstrunwizard/css/firstrunwizard.css
+#srv/web/owncloud/apps/firstrunwizard/js
+#srv/web/owncloud/apps/firstrunwizard/js/activate.js
+#srv/web/owncloud/apps/firstrunwizard/js/firstrunwizard.js
+#srv/web/owncloud/apps/firstrunwizard/js/jquery.colorbox.js
+#srv/web/owncloud/apps/firstrunwizard/l10n
+#srv/web/owncloud/apps/firstrunwizard/l10n/ar.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/ast.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/bg_BG.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/bn_BD.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/bs.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/ca.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/cs_CZ.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/cy_GB.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/da.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/de.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/de_CH.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/de_DE.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/el.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/en@pirate.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/en_GB.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/eo.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/es.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/es_AR.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/es_MX.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/et_EE.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/eu.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/fa.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/fi_FI.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/fr.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/gl.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/he.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/hr.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/hu_HU.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/ia.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/id.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/is.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/it.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/ja.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/ja_JP.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/ka_GE.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/km.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/ko.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/ku_IQ.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/l10n.pl
+#srv/web/owncloud/apps/firstrunwizard/l10n/lb.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/lt_LT.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/lv.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/mk.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/ms_MY.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/nb_NO.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/nl.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/nn_NO.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/oc.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/pl.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/pt_BR.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/pt_PT.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/ro.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/ru.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/si_LK.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/sk_SK.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/sl.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/sq.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/sr.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/sv.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/ta_LK.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/te.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/templates
+#srv/web/owncloud/apps/firstrunwizard/l10n/templates/firstrunwizard.pot
+#srv/web/owncloud/apps/firstrunwizard/l10n/th_TH.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/tr.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/ug.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/uk.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/vi.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/zh_CN.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/zh_HK.php
+#srv/web/owncloud/apps/firstrunwizard/l10n/zh_TW.php
+#srv/web/owncloud/apps/firstrunwizard/lib
+#srv/web/owncloud/apps/firstrunwizard/lib/firstrunwizard.php
+#srv/web/owncloud/apps/firstrunwizard/templates
+#srv/web/owncloud/apps/firstrunwizard/templates/wizard.php
+#srv/web/owncloud/apps/firstrunwizard/wizard.php
+#srv/web/owncloud/apps/gallery
+#srv/web/owncloud/apps/gallery/README.md
+#srv/web/owncloud/apps/gallery/ajax
+#srv/web/owncloud/apps/gallery/ajax/gallery.php
+#srv/web/owncloud/apps/gallery/ajax/getimages.php
+#srv/web/owncloud/apps/gallery/ajax/image.php
+#srv/web/owncloud/apps/gallery/ajax/thumbnail.php
+#srv/web/owncloud/apps/gallery/appinfo
+#srv/web/owncloud/apps/gallery/appinfo/app.php
+#srv/web/owncloud/apps/gallery/appinfo/database.xml
+#srv/web/owncloud/apps/gallery/appinfo/info.xml
+#srv/web/owncloud/apps/gallery/appinfo/update.php
+#srv/web/owncloud/apps/gallery/appinfo/version
+#srv/web/owncloud/apps/gallery/css
+#srv/web/owncloud/apps/gallery/css/mobile.css
+#srv/web/owncloud/apps/gallery/css/public.css
+#srv/web/owncloud/apps/gallery/css/slideshow.css
+#srv/web/owncloud/apps/gallery/css/styles.css
+#srv/web/owncloud/apps/gallery/index.php
+#srv/web/owncloud/apps/gallery/js
+#srv/web/owncloud/apps/gallery/js/album.js
+#srv/web/owncloud/apps/gallery/js/gallery.js
+#srv/web/owncloud/apps/gallery/js/jquery.mousewheel-3.1.1.js
+#srv/web/owncloud/apps/gallery/js/public.js
+#srv/web/owncloud/apps/gallery/js/slideshow.js
+#srv/web/owncloud/apps/gallery/js/thumbnail.js
+#srv/web/owncloud/apps/gallery/l10n
+#srv/web/owncloud/apps/gallery/l10n/ach
+#srv/web/owncloud/apps/gallery/l10n/ach/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/ady
+#srv/web/owncloud/apps/gallery/l10n/ady/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/af
+#srv/web/owncloud/apps/gallery/l10n/af/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/af_ZA
+#srv/web/owncloud/apps/gallery/l10n/af_ZA.php
+#srv/web/owncloud/apps/gallery/l10n/af_ZA/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/ak
+#srv/web/owncloud/apps/gallery/l10n/ak/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/am_ET
+#srv/web/owncloud/apps/gallery/l10n/am_ET/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/ar
+#srv/web/owncloud/apps/gallery/l10n/ar.php
+#srv/web/owncloud/apps/gallery/l10n/ar/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/ast
+#srv/web/owncloud/apps/gallery/l10n/ast.php
+#srv/web/owncloud/apps/gallery/l10n/ast/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/az
+#srv/web/owncloud/apps/gallery/l10n/az/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/be
+#srv/web/owncloud/apps/gallery/l10n/be/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/bg_BG
+#srv/web/owncloud/apps/gallery/l10n/bg_BG.php
+#srv/web/owncloud/apps/gallery/l10n/bg_BG/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/bn_BD
+#srv/web/owncloud/apps/gallery/l10n/bn_BD.php
+#srv/web/owncloud/apps/gallery/l10n/bn_BD/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/bn_IN
+#srv/web/owncloud/apps/gallery/l10n/bn_IN/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/bs
+#srv/web/owncloud/apps/gallery/l10n/bs.php
+#srv/web/owncloud/apps/gallery/l10n/bs/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/ca
+#srv/web/owncloud/apps/gallery/l10n/ca.php
+#srv/web/owncloud/apps/gallery/l10n/ca/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/ca@valencia
+#srv/web/owncloud/apps/gallery/l10n/ca@valencia/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/cs_CZ
+#srv/web/owncloud/apps/gallery/l10n/cs_CZ.php
+#srv/web/owncloud/apps/gallery/l10n/cs_CZ/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/cy_GB
+#srv/web/owncloud/apps/gallery/l10n/cy_GB.php
+#srv/web/owncloud/apps/gallery/l10n/cy_GB/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/da
+#srv/web/owncloud/apps/gallery/l10n/da.php
+#srv/web/owncloud/apps/gallery/l10n/da/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/de
+#srv/web/owncloud/apps/gallery/l10n/de.php
+#srv/web/owncloud/apps/gallery/l10n/de/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/de_AT
+#srv/web/owncloud/apps/gallery/l10n/de_AT.php
+#srv/web/owncloud/apps/gallery/l10n/de_AT/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/de_CH
+#srv/web/owncloud/apps/gallery/l10n/de_CH.php
+#srv/web/owncloud/apps/gallery/l10n/de_CH/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/de_DE
+#srv/web/owncloud/apps/gallery/l10n/de_DE.php
+#srv/web/owncloud/apps/gallery/l10n/de_DE/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/el
+#srv/web/owncloud/apps/gallery/l10n/el.php
+#srv/web/owncloud/apps/gallery/l10n/el/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/en@pirate
+#srv/web/owncloud/apps/gallery/l10n/en@pirate/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/en_GB
+#srv/web/owncloud/apps/gallery/l10n/en_GB.php
+#srv/web/owncloud/apps/gallery/l10n/en_GB/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/en_NZ
+#srv/web/owncloud/apps/gallery/l10n/en_NZ/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/eo
+#srv/web/owncloud/apps/gallery/l10n/eo.php
+#srv/web/owncloud/apps/gallery/l10n/eo/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/es
+#srv/web/owncloud/apps/gallery/l10n/es.php
+#srv/web/owncloud/apps/gallery/l10n/es/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/es_AR
+#srv/web/owncloud/apps/gallery/l10n/es_AR.php
+#srv/web/owncloud/apps/gallery/l10n/es_AR/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/es_BO
+#srv/web/owncloud/apps/gallery/l10n/es_BO/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/es_CL
+#srv/web/owncloud/apps/gallery/l10n/es_CL.php
+#srv/web/owncloud/apps/gallery/l10n/es_CL/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/es_CO
+#srv/web/owncloud/apps/gallery/l10n/es_CO/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/es_CR
+#srv/web/owncloud/apps/gallery/l10n/es_CR/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/es_EC
+#srv/web/owncloud/apps/gallery/l10n/es_EC/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/es_MX
+#srv/web/owncloud/apps/gallery/l10n/es_MX.php
+#srv/web/owncloud/apps/gallery/l10n/es_MX/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/es_PE
+#srv/web/owncloud/apps/gallery/l10n/es_PE/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/es_PY
+#srv/web/owncloud/apps/gallery/l10n/es_PY/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/es_US
+#srv/web/owncloud/apps/gallery/l10n/es_US/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/es_UY
+#srv/web/owncloud/apps/gallery/l10n/es_UY/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/et_EE
+#srv/web/owncloud/apps/gallery/l10n/et_EE.php
+#srv/web/owncloud/apps/gallery/l10n/et_EE/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/eu
+#srv/web/owncloud/apps/gallery/l10n/eu.php
+#srv/web/owncloud/apps/gallery/l10n/eu/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/eu_ES
+#srv/web/owncloud/apps/gallery/l10n/eu_ES/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/fa
+#srv/web/owncloud/apps/gallery/l10n/fa.php
+#srv/web/owncloud/apps/gallery/l10n/fa/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/fi_FI
+#srv/web/owncloud/apps/gallery/l10n/fi_FI.php
+#srv/web/owncloud/apps/gallery/l10n/fi_FI/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/fr
+#srv/web/owncloud/apps/gallery/l10n/fr.php
+#srv/web/owncloud/apps/gallery/l10n/fr/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/fr_CA
+#srv/web/owncloud/apps/gallery/l10n/fr_CA/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/gl
+#srv/web/owncloud/apps/gallery/l10n/gl.php
+#srv/web/owncloud/apps/gallery/l10n/gl/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/he
+#srv/web/owncloud/apps/gallery/l10n/he.php
+#srv/web/owncloud/apps/gallery/l10n/he/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/hi
+#srv/web/owncloud/apps/gallery/l10n/hi.php
+#srv/web/owncloud/apps/gallery/l10n/hi/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/hi_IN
+#srv/web/owncloud/apps/gallery/l10n/hi_IN/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/hr
+#srv/web/owncloud/apps/gallery/l10n/hr.php
+#srv/web/owncloud/apps/gallery/l10n/hr/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/hu_HU
+#srv/web/owncloud/apps/gallery/l10n/hu_HU.php
+#srv/web/owncloud/apps/gallery/l10n/hu_HU/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/hy
+#srv/web/owncloud/apps/gallery/l10n/hy/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/ia
+#srv/web/owncloud/apps/gallery/l10n/ia.php
+#srv/web/owncloud/apps/gallery/l10n/ia/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/id
+#srv/web/owncloud/apps/gallery/l10n/id.php
+#srv/web/owncloud/apps/gallery/l10n/id/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/is
+#srv/web/owncloud/apps/gallery/l10n/is.php
+#srv/web/owncloud/apps/gallery/l10n/is/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/it
+#srv/web/owncloud/apps/gallery/l10n/it.php
+#srv/web/owncloud/apps/gallery/l10n/it/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/ja
+#srv/web/owncloud/apps/gallery/l10n/ja.php
+#srv/web/owncloud/apps/gallery/l10n/ja/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/ja_JP.php
+#srv/web/owncloud/apps/gallery/l10n/jv
+#srv/web/owncloud/apps/gallery/l10n/jv/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/ka_GE
+#srv/web/owncloud/apps/gallery/l10n/ka_GE.php
+#srv/web/owncloud/apps/gallery/l10n/ka_GE/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/km
+#srv/web/owncloud/apps/gallery/l10n/km.php
+#srv/web/owncloud/apps/gallery/l10n/km/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/kn
+#srv/web/owncloud/apps/gallery/l10n/kn/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/ko
+#srv/web/owncloud/apps/gallery/l10n/ko.php
+#srv/web/owncloud/apps/gallery/l10n/ko/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/ku_IQ
+#srv/web/owncloud/apps/gallery/l10n/ku_IQ.php
+#srv/web/owncloud/apps/gallery/l10n/ku_IQ/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/l10n.pl
+#srv/web/owncloud/apps/gallery/l10n/lb
+#srv/web/owncloud/apps/gallery/l10n/lb.php
+#srv/web/owncloud/apps/gallery/l10n/lb/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/lt_LT
+#srv/web/owncloud/apps/gallery/l10n/lt_LT.php
+#srv/web/owncloud/apps/gallery/l10n/lt_LT/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/lv
+#srv/web/owncloud/apps/gallery/l10n/lv.php
+#srv/web/owncloud/apps/gallery/l10n/lv/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/mk
+#srv/web/owncloud/apps/gallery/l10n/mk.php
+#srv/web/owncloud/apps/gallery/l10n/mk/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/ml
+#srv/web/owncloud/apps/gallery/l10n/ml/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/ml_IN
+#srv/web/owncloud/apps/gallery/l10n/ml_IN/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/mn
+#srv/web/owncloud/apps/gallery/l10n/mn/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/ms_MY
+#srv/web/owncloud/apps/gallery/l10n/ms_MY.php
+#srv/web/owncloud/apps/gallery/l10n/ms_MY/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/my_MM
+#srv/web/owncloud/apps/gallery/l10n/my_MM/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/nb_NO
+#srv/web/owncloud/apps/gallery/l10n/nb_NO.php
+#srv/web/owncloud/apps/gallery/l10n/nb_NO/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/nds
+#srv/web/owncloud/apps/gallery/l10n/nds/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/ne
+#srv/web/owncloud/apps/gallery/l10n/ne/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/nl
+#srv/web/owncloud/apps/gallery/l10n/nl.php
+#srv/web/owncloud/apps/gallery/l10n/nl/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/nn_NO
+#srv/web/owncloud/apps/gallery/l10n/nn_NO.php
+#srv/web/owncloud/apps/gallery/l10n/nn_NO/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/nqo
+#srv/web/owncloud/apps/gallery/l10n/nqo/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/oc
+#srv/web/owncloud/apps/gallery/l10n/oc.php
+#srv/web/owncloud/apps/gallery/l10n/oc/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/or_IN
+#srv/web/owncloud/apps/gallery/l10n/or_IN/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/pa
+#srv/web/owncloud/apps/gallery/l10n/pa.php
+#srv/web/owncloud/apps/gallery/l10n/pa/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/pl
+#srv/web/owncloud/apps/gallery/l10n/pl.php
+#srv/web/owncloud/apps/gallery/l10n/pl/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/pt_BR
+#srv/web/owncloud/apps/gallery/l10n/pt_BR.php
+#srv/web/owncloud/apps/gallery/l10n/pt_BR/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/pt_PT
+#srv/web/owncloud/apps/gallery/l10n/pt_PT.php
+#srv/web/owncloud/apps/gallery/l10n/pt_PT/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/ro
+#srv/web/owncloud/apps/gallery/l10n/ro.php
+#srv/web/owncloud/apps/gallery/l10n/ro/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/ru
+#srv/web/owncloud/apps/gallery/l10n/ru.php
+#srv/web/owncloud/apps/gallery/l10n/ru/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/si_LK
+#srv/web/owncloud/apps/gallery/l10n/si_LK.php
+#srv/web/owncloud/apps/gallery/l10n/si_LK/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/sk
+#srv/web/owncloud/apps/gallery/l10n/sk.php
+#srv/web/owncloud/apps/gallery/l10n/sk/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/sk_SK
+#srv/web/owncloud/apps/gallery/l10n/sk_SK.php
+#srv/web/owncloud/apps/gallery/l10n/sk_SK/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/sl
+#srv/web/owncloud/apps/gallery/l10n/sl.php
+#srv/web/owncloud/apps/gallery/l10n/sl/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/sq
+#srv/web/owncloud/apps/gallery/l10n/sq.php
+#srv/web/owncloud/apps/gallery/l10n/sq/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/sr
+#srv/web/owncloud/apps/gallery/l10n/sr.php
+#srv/web/owncloud/apps/gallery/l10n/sr/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/sr@latin
+#srv/web/owncloud/apps/gallery/l10n/sr@latin.php
+#srv/web/owncloud/apps/gallery/l10n/sr@latin/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/su
+#srv/web/owncloud/apps/gallery/l10n/su/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/sv
+#srv/web/owncloud/apps/gallery/l10n/sv.php
+#srv/web/owncloud/apps/gallery/l10n/sv/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/sw_KE
+#srv/web/owncloud/apps/gallery/l10n/sw_KE/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/ta_IN
+#srv/web/owncloud/apps/gallery/l10n/ta_IN/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/ta_LK
+#srv/web/owncloud/apps/gallery/l10n/ta_LK.php
+#srv/web/owncloud/apps/gallery/l10n/ta_LK/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/te
+#srv/web/owncloud/apps/gallery/l10n/te/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/templates
+#srv/web/owncloud/apps/gallery/l10n/templates/gallery.pot
+#srv/web/owncloud/apps/gallery/l10n/th_TH
+#srv/web/owncloud/apps/gallery/l10n/th_TH.php
+#srv/web/owncloud/apps/gallery/l10n/th_TH/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/tr
+#srv/web/owncloud/apps/gallery/l10n/tr.php
+#srv/web/owncloud/apps/gallery/l10n/tr/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/tzm
+#srv/web/owncloud/apps/gallery/l10n/tzm/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/ug
+#srv/web/owncloud/apps/gallery/l10n/ug.php
+#srv/web/owncloud/apps/gallery/l10n/ug/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/uk
+#srv/web/owncloud/apps/gallery/l10n/uk.php
+#srv/web/owncloud/apps/gallery/l10n/uk/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/ur
+#srv/web/owncloud/apps/gallery/l10n/ur/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/ur_PK
+#srv/web/owncloud/apps/gallery/l10n/ur_PK.php
+#srv/web/owncloud/apps/gallery/l10n/ur_PK/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/uz
+#srv/web/owncloud/apps/gallery/l10n/uz/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/vi
+#srv/web/owncloud/apps/gallery/l10n/vi.php
+#srv/web/owncloud/apps/gallery/l10n/vi/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/zh_CN
+#srv/web/owncloud/apps/gallery/l10n/zh_CN.php
+#srv/web/owncloud/apps/gallery/l10n/zh_CN/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/zh_HK
+#srv/web/owncloud/apps/gallery/l10n/zh_HK.php
+#srv/web/owncloud/apps/gallery/l10n/zh_HK/gallery.po
+#srv/web/owncloud/apps/gallery/l10n/zh_TW
+#srv/web/owncloud/apps/gallery/l10n/zh_TW.php
+#srv/web/owncloud/apps/gallery/l10n/zh_TW/gallery.po
+#srv/web/owncloud/apps/gallery/lib
+#srv/web/owncloud/apps/gallery/lib/albumthumbnail.php
+#srv/web/owncloud/apps/gallery/lib/share.php
+#srv/web/owncloud/apps/gallery/lib/thumbnail.php
+#srv/web/owncloud/apps/gallery/public.php
+#srv/web/owncloud/apps/gallery/templates
+#srv/web/owncloud/apps/gallery/templates/index.php
+#srv/web/owncloud/apps/gallery/templates/public.php
+#srv/web/owncloud/apps/gallery/templates/slideshow.html
+#srv/web/owncloud/apps/search_lucene
+#srv/web/owncloud/apps/search_lucene/3rdparty
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Cache.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Exception.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Memory
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Memory.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Memory/AccessController.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Memory/Container
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Memory/Container.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Memory/Container/Interface.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Memory/Container/Locked.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Memory/Container/Movable.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Memory/Exception.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Memory/Manager.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Memory/Value.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Action
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Action.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Action/GoTo.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Action/GoTo3DView.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Action/GoToE.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Action/GoToR.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Action/Hide.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Action/ImportData.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Action/JavaScript.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Action/Launch.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Action/Movie.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Action/Named.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Action/Rendition.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Action/ResetForm.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Action/SetOCGState.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Action/Sound.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Action/SubmitForm.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Action/Thread.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Action/Trans.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Action/URI.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Action/Unknown.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Annotation
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Annotation.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Annotation/FileAttachment.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Annotation/Link.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Annotation/Markup.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Annotation/Text.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Canvas
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Canvas.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Canvas/Abstract.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Canvas/Interface.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Cmap
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Cmap.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Cmap/ByteEncoding
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Cmap/ByteEncoding.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Cmap/ByteEncoding/Static.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Cmap/SegmentToDelta.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Cmap/TrimmedTable.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Color
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Color.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Color/Cmyk.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Color/GrayScale.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Color/Html.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Color/Rgb.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Destination
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Destination.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Destination/Explicit.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Destination/Fit.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Destination/FitBoundingBox.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Destination/FitBoundingBoxHorizontally.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Destination/FitBoundingBoxVertically.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Destination/FitHorizontally.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Destination/FitRectangle.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Destination/FitVertically.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Destination/Named.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Destination/Unknown.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Destination/Zoom.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Element
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Element.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Element/Array.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Element/Boolean.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Element/Dictionary.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Element/Name.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Element/Null.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Element/Numeric.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Element/Object
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Element/Object.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Element/Object/Stream.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Element/Reference
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Element/Reference.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Element/Reference/Context.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Element/Reference/Table.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Element/Stream.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Element/String
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Element/String.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Element/String/Binary.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/ElementFactory
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/ElementFactory.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/ElementFactory/Interface.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/ElementFactory/Proxy.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Exception.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/FileParser
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/FileParser.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/FileParser/Font
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/FileParser/Font.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/FileParser/Font/OpenType
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/FileParser/Font/OpenType.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/FileParser/Font/OpenType/TrueType.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/FileParser/Image
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/FileParser/Image.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/FileParser/Image/Png.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/FileParserDataSource
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/FileParserDataSource.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/FileParserDataSource/File.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/FileParserDataSource/String.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Filter
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Filter/Ascii85.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Filter/AsciiHex.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Filter/Compression
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Filter/Compression.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Filter/Compression/Flate.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Filter/Compression/Lzw.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Filter/Interface.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Filter/RunLength.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Font.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Image.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/NameTree.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Outline
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Outline.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Outline/Created.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Outline/Loaded.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Page.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Parser.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/RecursivelyIteratableObjectsContainer.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Resource
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Resource.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Resource/ContentStream.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Resource/Extractor.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Resource/Font
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Resource/Font.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Resource/Font/CidFont
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Resource/Font/CidFont.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Resource/Font/CidFont/TrueType.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Resource/Font/Extracted.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Resource/Font/FontDescriptor.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Resource/Font/Simple
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Resource/Font/Simple.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Resource/Font/Simple/Parsed
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Resource/Font/Simple/Parsed.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Resource/Font/Simple/Parsed/TrueType.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Resource/Font/Simple/Standard
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Resource/Font/Simple/Standard.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Resource/Font/Simple/Standard/Courier.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Resource/Font/Simple/Standard/CourierBold.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Resource/Font/Simple/Standard/CourierBoldOblique.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Resource/Font/Simple/Standard/CourierOblique.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Resource/Font/Simple/Standard/Helvetica.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Resource/Font/Simple/Standard/HelveticaBold.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Resource/Font/Simple/Standard/HelveticaBoldOblique.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Resource/Font/Simple/Standard/HelveticaOblique.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Resource/Font/Simple/Standard/Symbol.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Resource/Font/Simple/Standard/TimesBold.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Resource/Font/Simple/Standard/TimesBoldItalic.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Resource/Font/Simple/Standard/TimesItalic.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Resource/Font/Simple/Standard/TimesRoman.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Resource/Font/Simple/Standard/ZapfDingbats.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Resource/Font/Type0.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Resource/GraphicsState.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Resource/Image
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Resource/Image.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Resource/Image/Jpeg.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Resource/Image/Png.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Resource/Image/Tiff.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Resource/ImageFactory.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Resource/Unified.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/StringParser.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Style.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Target.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Trailer
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Trailer.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Trailer/Generator.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/Trailer/Keeper.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Pdf/UpdateInfoContainer.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Exception.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Analysis
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Analysis/Analyzer
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Analysis/Analyzer.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Analysis/Analyzer/Common
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Analysis/Analyzer/Common.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Analysis/Analyzer/Common/Text
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Analysis/Analyzer/Common/Text.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Analysis/Analyzer/Common/Text/CaseInsensitive.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Analysis/Analyzer/Common/TextNum
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Analysis/Analyzer/Common/TextNum.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Analysis/Analyzer/Common/TextNum/CaseInsensitive.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Analysis/Analyzer/Common/Utf8
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Analysis/Analyzer/Common/Utf8.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Analysis/Analyzer/Common/Utf8/CaseInsensitive.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Analysis/Analyzer/Common/Utf8Num
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Analysis/Analyzer/Common/Utf8Num.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Analysis/Analyzer/Common/Utf8Num/CaseInsensitive.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Analysis/Token.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Analysis/TokenFilter
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Analysis/TokenFilter.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Analysis/TokenFilter/LowerCase.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Analysis/TokenFilter/LowerCaseUtf8.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Analysis/TokenFilter/ShortWords.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Analysis/TokenFilter/StopWords.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Document
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Document.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Document/Docx.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Document/Exception.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Document/Html.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Document/OpenXml.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Document/Pptx.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Document/Xlsx.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Exception.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/FSM.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/FSMAction.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Field.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Index
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Index/DictionaryLoader.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Index/DocsFilter.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Index/FieldInfo.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Index/SegmentInfo.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Index/SegmentMerger.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Index/SegmentWriter
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Index/SegmentWriter.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Index/SegmentWriter/DocumentWriter.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Index/SegmentWriter/StreamWriter.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Index/Term.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Index/TermInfo.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Index/TermsPriorityQueue.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Index/TermsStream
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Index/TermsStream/Interface.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Index/Writer.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Interface.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/LockManager.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/MultiSearcher.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/PriorityQueue.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Proxy.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search/BooleanExpressionRecognizer.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search/Highlighter
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search/Highlighter/Default.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search/Highlighter/Interface.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search/Query
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search/Query.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search/Query/Boolean.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search/Query/Empty.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search/Query/Fuzzy.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search/Query/Insignificant.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search/Query/MultiTerm.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search/Query/Phrase.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search/Query/Preprocessing
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search/Query/Preprocessing.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search/Query/Preprocessing/Fuzzy.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search/Query/Preprocessing/Phrase.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search/Query/Preprocessing/Term.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search/Query/Range.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search/Query/Term.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search/Query/Wildcard.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search/QueryEntry
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search/QueryEntry.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search/QueryEntry/Phrase.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search/QueryEntry/Subquery.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search/QueryEntry/Term.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search/QueryHit.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search/QueryLexer.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search/QueryParser.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search/QueryParserContext.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search/QueryParserException.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search/QueryToken.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search/Similarity
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search/Similarity.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search/Similarity/Default.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search/Weight
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search/Weight.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search/Weight/Boolean.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search/Weight/Empty.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search/Weight/MultiTerm.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search/Weight/Phrase.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Search/Weight/Term.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Storage
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Storage/Directory
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Storage/Directory.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Storage/Directory/Filesystem.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Storage/File
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Storage/File.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Storage/File/Filesystem.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/Storage/File/Memory.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/Zend/Search/Lucene/TermStreamsPriorityQueue.php
+#srv/web/owncloud/apps/search_lucene/3rdparty/pdf2text.php
+#srv/web/owncloud/apps/search_lucene/ajax
+#srv/web/owncloud/apps/search_lucene/ajax/lucene.php
+#srv/web/owncloud/apps/search_lucene/appinfo
+#srv/web/owncloud/apps/search_lucene/appinfo/app.php
+#srv/web/owncloud/apps/search_lucene/appinfo/database.xml
+#srv/web/owncloud/apps/search_lucene/appinfo/info.xml
+#srv/web/owncloud/apps/search_lucene/appinfo/preupdate.php
+#srv/web/owncloud/apps/search_lucene/appinfo/update.php
+#srv/web/owncloud/apps/search_lucene/appinfo/version
+#srv/web/owncloud/apps/search_lucene/css
+#srv/web/owncloud/apps/search_lucene/css/lucene.css
+#srv/web/owncloud/apps/search_lucene/document
+#srv/web/owncloud/apps/search_lucene/document/Ods.php
+#srv/web/owncloud/apps/search_lucene/document/Odt.php
+#srv/web/owncloud/apps/search_lucene/document/OpenDocument.php
+#srv/web/owncloud/apps/search_lucene/document/Pdf.php
+#srv/web/owncloud/apps/search_lucene/js
+#srv/web/owncloud/apps/search_lucene/js/checker.js
+#srv/web/owncloud/apps/search_lucene/lib
+#srv/web/owncloud/apps/search_lucene/lib/hooks.php
+#srv/web/owncloud/apps/search_lucene/lib/indexer.php
+#srv/web/owncloud/apps/search_lucene/lib/lucene.php
+#srv/web/owncloud/apps/search_lucene/lib/status.php
+#srv/web/owncloud/apps/templateeditor
+#srv/web/owncloud/apps/templateeditor/app
+#srv/web/owncloud/apps/templateeditor/app/templateeditor.php
+#srv/web/owncloud/apps/templateeditor/appinfo
+#srv/web/owncloud/apps/templateeditor/appinfo/app.php
+#srv/web/owncloud/apps/templateeditor/appinfo/info.xml
+#srv/web/owncloud/apps/templateeditor/appinfo/routes.php
+#srv/web/owncloud/apps/templateeditor/appinfo/version
+#srv/web/owncloud/apps/templateeditor/controller
+#srv/web/owncloud/apps/templateeditor/controller/adminsettingscontroller.php
+#srv/web/owncloud/apps/templateeditor/css
+#srv/web/owncloud/apps/templateeditor/css/settings-admin.css
+#srv/web/owncloud/apps/templateeditor/http
+#srv/web/owncloud/apps/templateeditor/http/mailtemplateresponse.php
+#srv/web/owncloud/apps/templateeditor/js
+#srv/web/owncloud/apps/templateeditor/js/settings-admin.js
+#srv/web/owncloud/apps/templateeditor/l10n
+#srv/web/owncloud/apps/templateeditor/l10n/l10n.pl
+#srv/web/owncloud/apps/templateeditor/lib
+#srv/web/owncloud/apps/templateeditor/lib/mailtemplate.php
+#srv/web/owncloud/apps/templateeditor/settings-admin.php
+#srv/web/owncloud/apps/templateeditor/templates
+#srv/web/owncloud/apps/templateeditor/templates/settings-admin.php
+#srv/web/owncloud/apps/updater
+#srv/web/owncloud/apps/updater/COPYING-AGPL
+#srv/web/owncloud/apps/updater/README.md
+#srv/web/owncloud/apps/updater/admin.php
+#srv/web/owncloud/apps/updater/ajax
+#srv/web/owncloud/apps/updater/ajax/backup
+#srv/web/owncloud/apps/updater/ajax/backup/delete.php
+#srv/web/owncloud/apps/updater/ajax/backup/download.php
+#srv/web/owncloud/apps/updater/ajax/backup/list.php
+#srv/web/owncloud/apps/updater/ajax/update.php
+#srv/web/owncloud/apps/updater/appinfo
+#srv/web/owncloud/apps/updater/appinfo/app.php
+#srv/web/owncloud/apps/updater/appinfo/info.xml
+#srv/web/owncloud/apps/updater/appinfo/version
+#srv/web/owncloud/apps/updater/css
+#srv/web/owncloud/apps/updater/css/updater.css
+#srv/web/owncloud/apps/updater/js
+#srv/web/owncloud/apps/updater/js/3rdparty
+#srv/web/owncloud/apps/updater/js/3rdparty/angular.js
+#srv/web/owncloud/apps/updater/js/app.js
+#srv/web/owncloud/apps/updater/js/controllers.js
+#srv/web/owncloud/apps/updater/l10n
+#srv/web/owncloud/apps/updater/l10n/ar.php
+#srv/web/owncloud/apps/updater/l10n/ast.php
+#srv/web/owncloud/apps/updater/l10n/bg_BG.php
+#srv/web/owncloud/apps/updater/l10n/bn_BD.php
+#srv/web/owncloud/apps/updater/l10n/ca.php
+#srv/web/owncloud/apps/updater/l10n/cs_CZ.php
+#srv/web/owncloud/apps/updater/l10n/cy_GB.php
+#srv/web/owncloud/apps/updater/l10n/da.php
+#srv/web/owncloud/apps/updater/l10n/de.php
+#srv/web/owncloud/apps/updater/l10n/de_AT.php
+#srv/web/owncloud/apps/updater/l10n/de_CH.php
+#srv/web/owncloud/apps/updater/l10n/de_DE.php
+#srv/web/owncloud/apps/updater/l10n/el.php
+#srv/web/owncloud/apps/updater/l10n/en@pirate.php
+#srv/web/owncloud/apps/updater/l10n/en_GB.php
+#srv/web/owncloud/apps/updater/l10n/eo.php
+#srv/web/owncloud/apps/updater/l10n/es.php
+#srv/web/owncloud/apps/updater/l10n/es_AR.php
+#srv/web/owncloud/apps/updater/l10n/es_CL.php
+#srv/web/owncloud/apps/updater/l10n/es_MX.php
+#srv/web/owncloud/apps/updater/l10n/et_EE.php
+#srv/web/owncloud/apps/updater/l10n/eu.php
+#srv/web/owncloud/apps/updater/l10n/eu_ES.php
+#srv/web/owncloud/apps/updater/l10n/fa.php
+#srv/web/owncloud/apps/updater/l10n/fi_FI.php
+#srv/web/owncloud/apps/updater/l10n/fr.php
+#srv/web/owncloud/apps/updater/l10n/gl.php
+#srv/web/owncloud/apps/updater/l10n/he.php
+#srv/web/owncloud/apps/updater/l10n/hi.php
+#srv/web/owncloud/apps/updater/l10n/hr.php
+#srv/web/owncloud/apps/updater/l10n/hu_HU.php
+#srv/web/owncloud/apps/updater/l10n/hy.php
+#srv/web/owncloud/apps/updater/l10n/ia.php
+#srv/web/owncloud/apps/updater/l10n/id.php
+#srv/web/owncloud/apps/updater/l10n/is.php
+#srv/web/owncloud/apps/updater/l10n/it.php
+#srv/web/owncloud/apps/updater/l10n/ja.php
+#srv/web/owncloud/apps/updater/l10n/ja_JP.php
+#srv/web/owncloud/apps/updater/l10n/jv.php
+#srv/web/owncloud/apps/updater/l10n/ka.php
+#srv/web/owncloud/apps/updater/l10n/ka_GE.php
+#srv/web/owncloud/apps/updater/l10n/km.php
+#srv/web/owncloud/apps/updater/l10n/ko.php
+#srv/web/owncloud/apps/updater/l10n/ku_IQ.php
+#srv/web/owncloud/apps/updater/l10n/l10n.pl
+#srv/web/owncloud/apps/updater/l10n/lb.php
+#srv/web/owncloud/apps/updater/l10n/lt_LT.php
+#srv/web/owncloud/apps/updater/l10n/lv.php
+#srv/web/owncloud/apps/updater/l10n/mk.php
+#srv/web/owncloud/apps/updater/l10n/ms_MY.php
+#srv/web/owncloud/apps/updater/l10n/my_MM.php
+#srv/web/owncloud/apps/updater/l10n/nb_NO.php
+#srv/web/owncloud/apps/updater/l10n/nl.php
+#srv/web/owncloud/apps/updater/l10n/nn_NO.php
+#srv/web/owncloud/apps/updater/l10n/oc.php
+#srv/web/owncloud/apps/updater/l10n/pa.php
+#srv/web/owncloud/apps/updater/l10n/pl.php
+#srv/web/owncloud/apps/updater/l10n/pt_BR.php
+#srv/web/owncloud/apps/updater/l10n/pt_PT.php
+#srv/web/owncloud/apps/updater/l10n/ro.php
+#srv/web/owncloud/apps/updater/l10n/ru.php
+#srv/web/owncloud/apps/updater/l10n/si_LK.php
+#srv/web/owncloud/apps/updater/l10n/sk.php
+#srv/web/owncloud/apps/updater/l10n/sk_SK.php
+#srv/web/owncloud/apps/updater/l10n/sl.php
+#srv/web/owncloud/apps/updater/l10n/sq.php
+#srv/web/owncloud/apps/updater/l10n/sr.php
+#srv/web/owncloud/apps/updater/l10n/sr@latin.php
+#srv/web/owncloud/apps/updater/l10n/sv.php
+#srv/web/owncloud/apps/updater/l10n/ta_LK.php
+#srv/web/owncloud/apps/updater/l10n/te.php
+#srv/web/owncloud/apps/updater/l10n/th_TH.php
+#srv/web/owncloud/apps/updater/l10n/tr.php
+#srv/web/owncloud/apps/updater/l10n/ug.php
+#srv/web/owncloud/apps/updater/l10n/uk.php
+#srv/web/owncloud/apps/updater/l10n/ur_PK.php
+#srv/web/owncloud/apps/updater/l10n/vi.php
+#srv/web/owncloud/apps/updater/l10n/zh_CN.php
+#srv/web/owncloud/apps/updater/l10n/zh_HK.php
+#srv/web/owncloud/apps/updater/l10n/zh_TW.php
+#srv/web/owncloud/apps/updater/lib
+#srv/web/owncloud/apps/updater/lib/app.php
+#srv/web/owncloud/apps/updater/lib/backup.php
+#srv/web/owncloud/apps/updater/lib/downloader.php
+#srv/web/owncloud/apps/updater/lib/helper.php
+#srv/web/owncloud/apps/updater/lib/location
+#srv/web/owncloud/apps/updater/lib/location.php
+#srv/web/owncloud/apps/updater/lib/location/3rdparty.php
+#srv/web/owncloud/apps/updater/lib/location/apps.php
+#srv/web/owncloud/apps/updater/lib/location/core.php
+#srv/web/owncloud/apps/updater/lib/updater.php
+#srv/web/owncloud/apps/updater/templates
+#srv/web/owncloud/apps/updater/templates/admin.php
+#srv/web/owncloud/apps/updater/templates/update.php
+#srv/web/owncloud/apps/updater/update.php
+#srv/web/owncloud/apps/user_external
+#srv/web/owncloud/apps/user_external/README.md
+#srv/web/owncloud/apps/user_external/appinfo
+#srv/web/owncloud/apps/user_external/appinfo/app.php
+#srv/web/owncloud/apps/user_external/appinfo/database.xml
+#srv/web/owncloud/apps/user_external/appinfo/info.xml
+#srv/web/owncloud/apps/user_external/appinfo/version
+#srv/web/owncloud/apps/user_external/lib
+#srv/web/owncloud/apps/user_external/lib/base.php
+#srv/web/owncloud/apps/user_external/lib/ftp.php
+#srv/web/owncloud/apps/user_external/lib/imap.php
+#srv/web/owncloud/apps/user_external/lib/smb.php
+#srv/web/owncloud/apps/user_external/tests
+#srv/web/owncloud/apps/user_external/tests/config.php
+#srv/web/owncloud/apps/user_external/tests/ftp.php
+#srv/web/owncloud/apps/user_external/tests/imap.php
+#srv/web/owncloud/apps/user_external/tests/smb.php
+#srv/web/owncloud/apps/user_ldap
+#srv/web/owncloud/apps/user_ldap/ajax
+#srv/web/owncloud/apps/user_ldap/ajax/clearMappings.php
+#srv/web/owncloud/apps/user_ldap/ajax/deleteConfiguration.php
+#srv/web/owncloud/apps/user_ldap/ajax/getConfiguration.php
+#srv/web/owncloud/apps/user_ldap/ajax/getNewServerConfigPrefix.php
+#srv/web/owncloud/apps/user_ldap/ajax/setConfiguration.php
+#srv/web/owncloud/apps/user_ldap/ajax/testConfiguration.php
+#srv/web/owncloud/apps/user_ldap/ajax/wizard.php
+#srv/web/owncloud/apps/user_ldap/appinfo
+#srv/web/owncloud/apps/user_ldap/appinfo/app.php
+#srv/web/owncloud/apps/user_ldap/appinfo/database.xml
+#srv/web/owncloud/apps/user_ldap/appinfo/info.xml
+#srv/web/owncloud/apps/user_ldap/appinfo/install.php
+#srv/web/owncloud/apps/user_ldap/appinfo/register_command.php
+#srv/web/owncloud/apps/user_ldap/appinfo/update.php
+#srv/web/owncloud/apps/user_ldap/appinfo/version
+#srv/web/owncloud/apps/user_ldap/command
+#srv/web/owncloud/apps/user_ldap/command/setconfig.php
+#srv/web/owncloud/apps/user_ldap/command/showconfig.php
+#srv/web/owncloud/apps/user_ldap/command/testconfig.php
+#srv/web/owncloud/apps/user_ldap/css
+#srv/web/owncloud/apps/user_ldap/css/settings.css
+#srv/web/owncloud/apps/user_ldap/group_ldap.php
+#srv/web/owncloud/apps/user_ldap/group_proxy.php
+#srv/web/owncloud/apps/user_ldap/js
+#srv/web/owncloud/apps/user_ldap/js/ldapFilter.js
+#srv/web/owncloud/apps/user_ldap/js/settings.js
+#srv/web/owncloud/apps/user_ldap/l10n
+#srv/web/owncloud/apps/user_ldap/l10n/ach.php
+#srv/web/owncloud/apps/user_ldap/l10n/ady.php
+#srv/web/owncloud/apps/user_ldap/l10n/af.php
+#srv/web/owncloud/apps/user_ldap/l10n/af_ZA.php
+#srv/web/owncloud/apps/user_ldap/l10n/ak.php
+#srv/web/owncloud/apps/user_ldap/l10n/am_ET.php
+#srv/web/owncloud/apps/user_ldap/l10n/ar.php
+#srv/web/owncloud/apps/user_ldap/l10n/ast.php
+#srv/web/owncloud/apps/user_ldap/l10n/az.php
+#srv/web/owncloud/apps/user_ldap/l10n/be.php
+#srv/web/owncloud/apps/user_ldap/l10n/bg_BG.php
+#srv/web/owncloud/apps/user_ldap/l10n/bn_BD.php
+#srv/web/owncloud/apps/user_ldap/l10n/bn_IN.php
+#srv/web/owncloud/apps/user_ldap/l10n/bs.php
+#srv/web/owncloud/apps/user_ldap/l10n/ca.php
+#srv/web/owncloud/apps/user_ldap/l10n/ca@valencia.php
+#srv/web/owncloud/apps/user_ldap/l10n/cs_CZ.php
+#srv/web/owncloud/apps/user_ldap/l10n/cy_GB.php
+#srv/web/owncloud/apps/user_ldap/l10n/da.php
+#srv/web/owncloud/apps/user_ldap/l10n/de.php
+#srv/web/owncloud/apps/user_ldap/l10n/de_AT.php
+#srv/web/owncloud/apps/user_ldap/l10n/de_CH.php
+#srv/web/owncloud/apps/user_ldap/l10n/de_DE.php
+#srv/web/owncloud/apps/user_ldap/l10n/el.php
+#srv/web/owncloud/apps/user_ldap/l10n/en@pirate.php
+#srv/web/owncloud/apps/user_ldap/l10n/en_GB.php
+#srv/web/owncloud/apps/user_ldap/l10n/en_NZ.php
+#srv/web/owncloud/apps/user_ldap/l10n/eo.php
+#srv/web/owncloud/apps/user_ldap/l10n/es.php
+#srv/web/owncloud/apps/user_ldap/l10n/es_AR.php
+#srv/web/owncloud/apps/user_ldap/l10n/es_BO.php
+#srv/web/owncloud/apps/user_ldap/l10n/es_CL.php
+#srv/web/owncloud/apps/user_ldap/l10n/es_CO.php
+#srv/web/owncloud/apps/user_ldap/l10n/es_CR.php
+#srv/web/owncloud/apps/user_ldap/l10n/es_EC.php
+#srv/web/owncloud/apps/user_ldap/l10n/es_MX.php
+#srv/web/owncloud/apps/user_ldap/l10n/es_PE.php
+#srv/web/owncloud/apps/user_ldap/l10n/es_PY.php
+#srv/web/owncloud/apps/user_ldap/l10n/es_US.php
+#srv/web/owncloud/apps/user_ldap/l10n/es_UY.php
+#srv/web/owncloud/apps/user_ldap/l10n/et_EE.php
+#srv/web/owncloud/apps/user_ldap/l10n/eu.php
+#srv/web/owncloud/apps/user_ldap/l10n/eu_ES.php
+#srv/web/owncloud/apps/user_ldap/l10n/fa.php
+#srv/web/owncloud/apps/user_ldap/l10n/fi_FI.php
+#srv/web/owncloud/apps/user_ldap/l10n/fr.php
+#srv/web/owncloud/apps/user_ldap/l10n/fr_CA.php
+#srv/web/owncloud/apps/user_ldap/l10n/gl.php
+#srv/web/owncloud/apps/user_ldap/l10n/he.php
+#srv/web/owncloud/apps/user_ldap/l10n/hi.php
+#srv/web/owncloud/apps/user_ldap/l10n/hi_IN.php
+#srv/web/owncloud/apps/user_ldap/l10n/hr.php
+#srv/web/owncloud/apps/user_ldap/l10n/hu_HU.php
+#srv/web/owncloud/apps/user_ldap/l10n/hy.php
+#srv/web/owncloud/apps/user_ldap/l10n/ia.php
+#srv/web/owncloud/apps/user_ldap/l10n/id.php
+#srv/web/owncloud/apps/user_ldap/l10n/is.php
+#srv/web/owncloud/apps/user_ldap/l10n/it.php
+#srv/web/owncloud/apps/user_ldap/l10n/ja.php
+#srv/web/owncloud/apps/user_ldap/l10n/ja_JP.php
+#srv/web/owncloud/apps/user_ldap/l10n/jv.php
+#srv/web/owncloud/apps/user_ldap/l10n/ka.php
+#srv/web/owncloud/apps/user_ldap/l10n/ka_GE.php
+#srv/web/owncloud/apps/user_ldap/l10n/km.php
+#srv/web/owncloud/apps/user_ldap/l10n/kn.php
+#srv/web/owncloud/apps/user_ldap/l10n/ko.php
+#srv/web/owncloud/apps/user_ldap/l10n/ku_IQ.php
+#srv/web/owncloud/apps/user_ldap/l10n/lb.php
+#srv/web/owncloud/apps/user_ldap/l10n/lt_LT.php
+#srv/web/owncloud/apps/user_ldap/l10n/lv.php
+#srv/web/owncloud/apps/user_ldap/l10n/mk.php
+#srv/web/owncloud/apps/user_ldap/l10n/ml.php
+#srv/web/owncloud/apps/user_ldap/l10n/ml_IN.php
+#srv/web/owncloud/apps/user_ldap/l10n/mn.php
+#srv/web/owncloud/apps/user_ldap/l10n/ms_MY.php
+#srv/web/owncloud/apps/user_ldap/l10n/my_MM.php
+#srv/web/owncloud/apps/user_ldap/l10n/nb_NO.php
+#srv/web/owncloud/apps/user_ldap/l10n/nds.php
+#srv/web/owncloud/apps/user_ldap/l10n/ne.php
+#srv/web/owncloud/apps/user_ldap/l10n/nl.php
+#srv/web/owncloud/apps/user_ldap/l10n/nn_NO.php
+#srv/web/owncloud/apps/user_ldap/l10n/nqo.php
+#srv/web/owncloud/apps/user_ldap/l10n/oc.php
+#srv/web/owncloud/apps/user_ldap/l10n/or_IN.php
+#srv/web/owncloud/apps/user_ldap/l10n/pa.php
+#srv/web/owncloud/apps/user_ldap/l10n/pl.php
+#srv/web/owncloud/apps/user_ldap/l10n/pt_BR.php
+#srv/web/owncloud/apps/user_ldap/l10n/pt_PT.php
+#srv/web/owncloud/apps/user_ldap/l10n/ro.php
+#srv/web/owncloud/apps/user_ldap/l10n/ru.php
+#srv/web/owncloud/apps/user_ldap/l10n/si_LK.php
+#srv/web/owncloud/apps/user_ldap/l10n/sk.php
+#srv/web/owncloud/apps/user_ldap/l10n/sk_SK.php
+#srv/web/owncloud/apps/user_ldap/l10n/sl.php
+#srv/web/owncloud/apps/user_ldap/l10n/sq.php
+#srv/web/owncloud/apps/user_ldap/l10n/sr.php
+#srv/web/owncloud/apps/user_ldap/l10n/sr@latin.php
+#srv/web/owncloud/apps/user_ldap/l10n/su.php
+#srv/web/owncloud/apps/user_ldap/l10n/sv.php
+#srv/web/owncloud/apps/user_ldap/l10n/sw_KE.php
+#srv/web/owncloud/apps/user_ldap/l10n/ta_IN.php
+#srv/web/owncloud/apps/user_ldap/l10n/ta_LK.php
+#srv/web/owncloud/apps/user_ldap/l10n/te.php
+#srv/web/owncloud/apps/user_ldap/l10n/th_TH.php
+#srv/web/owncloud/apps/user_ldap/l10n/tr.php
+#srv/web/owncloud/apps/user_ldap/l10n/tzm.php
+#srv/web/owncloud/apps/user_ldap/l10n/ug.php
+#srv/web/owncloud/apps/user_ldap/l10n/uk.php
+#srv/web/owncloud/apps/user_ldap/l10n/ur.php
+#srv/web/owncloud/apps/user_ldap/l10n/ur_PK.php
+#srv/web/owncloud/apps/user_ldap/l10n/uz.php
+#srv/web/owncloud/apps/user_ldap/l10n/vi.php
+#srv/web/owncloud/apps/user_ldap/l10n/zh_CN.php
+#srv/web/owncloud/apps/user_ldap/l10n/zh_HK.php
+#srv/web/owncloud/apps/user_ldap/l10n/zh_TW.php
+#srv/web/owncloud/apps/user_ldap/lib
+#srv/web/owncloud/apps/user_ldap/lib/access.php
+#srv/web/owncloud/apps/user_ldap/lib/backendutility.php
+#srv/web/owncloud/apps/user_ldap/lib/configuration.php
+#srv/web/owncloud/apps/user_ldap/lib/connection.php
+#srv/web/owncloud/apps/user_ldap/lib/filesystemhelper.php
+#srv/web/owncloud/apps/user_ldap/lib/helper.php
+#srv/web/owncloud/apps/user_ldap/lib/ildapwrapper.php
+#srv/web/owncloud/apps/user_ldap/lib/jobs.php
+#srv/web/owncloud/apps/user_ldap/lib/ldap.php
+#srv/web/owncloud/apps/user_ldap/lib/ldaputility.php
+#srv/web/owncloud/apps/user_ldap/lib/logwrapper.php
+#srv/web/owncloud/apps/user_ldap/lib/proxy.php
+#srv/web/owncloud/apps/user_ldap/lib/user
+#srv/web/owncloud/apps/user_ldap/lib/user/iusertools.php
+#srv/web/owncloud/apps/user_ldap/lib/user/manager.php
+#srv/web/owncloud/apps/user_ldap/lib/user/user.php
+#srv/web/owncloud/apps/user_ldap/lib/wizard.php
+#srv/web/owncloud/apps/user_ldap/lib/wizardresult.php
+#srv/web/owncloud/apps/user_ldap/settings.php
+#srv/web/owncloud/apps/user_ldap/templates
+#srv/web/owncloud/apps/user_ldap/templates/part.settingcontrols.php
+#srv/web/owncloud/apps/user_ldap/templates/part.wizard-groupfilter.php
+#srv/web/owncloud/apps/user_ldap/templates/part.wizard-loginfilter.php
+#srv/web/owncloud/apps/user_ldap/templates/part.wizard-server.php
+#srv/web/owncloud/apps/user_ldap/templates/part.wizard-userfilter.php
+#srv/web/owncloud/apps/user_ldap/templates/part.wizardcontrols.php
+#srv/web/owncloud/apps/user_ldap/templates/settings.php
+#srv/web/owncloud/apps/user_ldap/tests
+#srv/web/owncloud/apps/user_ldap/tests/access.php
+#srv/web/owncloud/apps/user_ldap/tests/connection.php
+#srv/web/owncloud/apps/user_ldap/tests/data
+#srv/web/owncloud/apps/user_ldap/tests/data/sid.dat
+#srv/web/owncloud/apps/user_ldap/tests/group_ldap.php
+#srv/web/owncloud/apps/user_ldap/tests/user
+#srv/web/owncloud/apps/user_ldap/tests/user/manager.php
+#srv/web/owncloud/apps/user_ldap/tests/user/user.php
+#srv/web/owncloud/apps/user_ldap/tests/user_ldap.php
+#srv/web/owncloud/apps/user_ldap/tests/wizard.php
+#srv/web/owncloud/apps/user_ldap/user_ldap.php
+#srv/web/owncloud/apps/user_ldap/user_proxy.php
+#srv/web/owncloud/apps/user_webdavauth
+#srv/web/owncloud/apps/user_webdavauth/appinfo
+#srv/web/owncloud/apps/user_webdavauth/appinfo/app.php
+#srv/web/owncloud/apps/user_webdavauth/appinfo/info.xml
+#srv/web/owncloud/apps/user_webdavauth/appinfo/version
+#srv/web/owncloud/apps/user_webdavauth/l10n
+#srv/web/owncloud/apps/user_webdavauth/l10n/ar.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/ast.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/bg_BG.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/bn_BD.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/bs.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/ca.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/cs_CZ.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/cy_GB.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/da.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/de.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/de_AT.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/de_CH.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/de_DE.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/el.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/en_GB.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/eo.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/es.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/es_AR.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/es_MX.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/et_EE.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/eu.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/eu_ES.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/fa.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/fi_FI.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/fr.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/gl.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/he.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/hi.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/hr.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/hu_HU.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/hy.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/ia.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/id.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/is.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/it.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/ja.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/ja_JP.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/ka_GE.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/km.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/ko.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/ku_IQ.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/lb.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/lt_LT.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/lv.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/mk.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/ms_MY.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/nb_NO.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/nl.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/nn_NO.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/oc.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/pl.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/pt_BR.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/pt_PT.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/ro.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/ru.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/si_LK.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/sk.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/sk_SK.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/sl.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/sq.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/sr.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/sr@latin.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/sv.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/ta_LK.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/te.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/th_TH.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/tr.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/ug.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/uk.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/ur_PK.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/vi.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/zh_CN.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/zh_HK.php
+#srv/web/owncloud/apps/user_webdavauth/l10n/zh_TW.php
+#srv/web/owncloud/apps/user_webdavauth/settings.php
+#srv/web/owncloud/apps/user_webdavauth/templates
+#srv/web/owncloud/apps/user_webdavauth/templates/settings.php
+#srv/web/owncloud/apps/user_webdavauth/user_webdavauth.php
+#srv/web/owncloud/config
+#srv/web/owncloud/config/.htaccess
+#srv/web/owncloud/config/config.sample.php
+#srv/web/owncloud/console.php
+#srv/web/owncloud/core
+#srv/web/owncloud/core/ajax
+#srv/web/owncloud/core/ajax/appconfig.php
+#srv/web/owncloud/core/ajax/preview.php
+#srv/web/owncloud/core/ajax/share.php
+#srv/web/owncloud/core/ajax/translations.php
+#srv/web/owncloud/core/ajax/update.php
+#srv/web/owncloud/core/avatar
+#srv/web/owncloud/core/avatar/controller.php
+#srv/web/owncloud/core/command
+#srv/web/owncloud/core/command/app
+#srv/web/owncloud/core/command/app/disable.php
+#srv/web/owncloud/core/command/app/enable.php
+#srv/web/owncloud/core/command/app/listapps.php
+#srv/web/owncloud/core/command/db
+#srv/web/owncloud/core/command/db/converttype.php
+#srv/web/owncloud/core/command/db/generatechangescript.php
+#srv/web/owncloud/core/command/maintenance
+#srv/web/owncloud/core/command/maintenance/mode.php
+#srv/web/owncloud/core/command/maintenance/repair.php
+#srv/web/owncloud/core/command/maintenance/singleuser.php
+#srv/web/owncloud/core/command/status.php
+#srv/web/owncloud/core/command/upgrade.php
+#srv/web/owncloud/core/command/user
+#srv/web/owncloud/core/command/user/lastseen.php
+#srv/web/owncloud/core/command/user/report.php
+#srv/web/owncloud/core/command/user/resetpassword.php
+#srv/web/owncloud/core/css
+#srv/web/owncloud/core/css/apps.css
+#srv/web/owncloud/core/css/fixes.css
+#srv/web/owncloud/core/css/fonts.css
+#srv/web/owncloud/core/css/header.css
+#srv/web/owncloud/core/css/icons.css
+#srv/web/owncloud/core/css/images
+#srv/web/owncloud/core/css/images/animated-overlay.gif
+#srv/web/owncloud/core/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png
+#srv/web/owncloud/core/css/images/ui-bg_diagonals-thick_20_666666_40x40.png
+#srv/web/owncloud/core/css/images/ui-bg_flat_100_ffffff_40x100.png
+#srv/web/owncloud/core/css/images/ui-bg_flat_10_000000_40x100.png
+#srv/web/owncloud/core/css/images/ui-bg_flat_35_1d2d44_40x100.png
+#srv/web/owncloud/core/css/images/ui-bg_glass_100_f8f8f8_1x400.png
+#srv/web/owncloud/core/css/images/ui-bg_highlight-hard_100_f8f8f8_1x100.png
+#srv/web/owncloud/core/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png
+#srv/web/owncloud/core/css/images/ui-icons_1d2d44_256x240.png
+#srv/web/owncloud/core/css/images/ui-icons_222222_256x240.png
+#srv/web/owncloud/core/css/images/ui-icons_ffd27a_256x240.png
+#srv/web/owncloud/core/css/images/ui-icons_ffffff_256x240.png
+#srv/web/owncloud/core/css/jquery-tipsy.css
+#srv/web/owncloud/core/css/jquery-ui-1.10.0.custom.css
+#srv/web/owncloud/core/css/jquery.multiselect.css
+#srv/web/owncloud/core/css/jquery.ocdialog.css
+#srv/web/owncloud/core/css/mobile.css
+#srv/web/owncloud/core/css/multiselect.css
+#srv/web/owncloud/core/css/share.css
+#srv/web/owncloud/core/css/styles.css
+#srv/web/owncloud/core/doc
+#srv/web/owncloud/core/doc/admin
+#srv/web/owncloud/core/doc/admin/_images
+#srv/web/owncloud/core/doc/admin/_images/100000000000003800000018D49F1CE7.png
+#srv/web/owncloud/core/doc/admin/_images/1000000000000050000000DB83B8FA5B.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000000950000004412998BE7.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000000A800000073F49785A6.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000000B600000120706C3C75.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000000CD000000ECA8DE7780.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000000F1000000F56125BDBA.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000000F1000000F6704F46D3.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000000F300000068AF0ECD53.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000000F40000019A110DD159.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000000F5000000675DC5F68C.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000000F500000067A8845EF8.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000000F60000006754ED2A1E.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000000F6000000685DFB3767.png
+#srv/web/owncloud/core/doc/admin/_images/100000000000012C0000009C444B4720.png
+#srv/web/owncloud/core/doc/admin/_images/100000000000013C0000017D4FC6CEF5.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000001400000008A557EF7E3.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000001440000005A2989832F.png
+#srv/web/owncloud/core/doc/admin/_images/1000000000000160000000DBB2FB0223.png
+#srv/web/owncloud/core/doc/admin/_images/1000000000000165000000D3FF2168AB.png
+#srv/web/owncloud/core/doc/admin/_images/1000000000000167000000B43E4BF478.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000001800000009A9494E037.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000001880000007EA4444400.png
+#srv/web/owncloud/core/doc/admin/_images/100000000000018B000000A090F31164.png
+#srv/web/owncloud/core/doc/admin/_images/100000000000018E000000C4BA62B2A3.png
+#srv/web/owncloud/core/doc/admin/_images/1000000000000193000001AE9AB8B0A2.png
+#srv/web/owncloud/core/doc/admin/_images/1000000000000194000000498325A766.png
+#srv/web/owncloud/core/doc/admin/_images/1000000000000194000000FAD39BC0D8.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000001980000009271BE0D26.png
+#srv/web/owncloud/core/doc/admin/_images/100000000000019E0000004CD2A0F407.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000001A3000000AAFE82893A.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000001AC000000477C76808F.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000001BF00000012349EAE2F.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000001C1000000FE663748B2.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000001C9000000AF9C1CE57F.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000001CF00000176B0BE1EBC.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000001D30000014DC251C948.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000001E50000006E3ECDC427.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000001FD000000DF8D2D7546.png
+#srv/web/owncloud/core/doc/admin/_images/1000000000000200000000BCCCC35DEB.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000002170000004A27056037.png
+#srv/web/owncloud/core/doc/admin/_images/100000000000021C0000004CACBF786C.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000002210000002DE3BE7515.png
+#srv/web/owncloud/core/doc/admin/_images/1000000000000227000000935D9B1EF6.png
+#srv/web/owncloud/core/doc/admin/_images/100000000000023B000000125381F51B.png
+#srv/web/owncloud/core/doc/admin/_images/1000000000000247000000A77440E4D3.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000002720000013FB6EDA793.png
+#srv/web/owncloud/core/doc/admin/_images/100000000000027B0000011D10F70F88.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000002840000016729388B7F.png
+#srv/web/owncloud/core/doc/admin/_images/1000000000000288000001A1D5BE4881.png
+#srv/web/owncloud/core/doc/admin/_images/1000000000000289000001A9D7F3941F.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000002910000018B31D51F03.png
+#srv/web/owncloud/core/doc/admin/_images/1000000000000291000001951B69B9A6.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000002950000019EF5732E36.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000002950000021E245F6883.png
+#srv/web/owncloud/core/doc/admin/_images/1000000000000298000001870B0581FA.png
+#srv/web/owncloud/core/doc/admin/_images/1000000000000298000001874D3CA506.png
+#srv/web/owncloud/core/doc/admin/_images/100000000000029B0000018885B5282E.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000002A6000000BFBE298238.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000002B1000002258C08D304.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000002B3000000365E1CD00D.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000002BB000000266DB6AD1A.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000002F3000000926CA65D02.png
+#srv/web/owncloud/core/doc/admin/_images/1000000000000304000001B964698779.png
+#srv/web/owncloud/core/doc/admin/_images/1000000000000336000000F38C3FAF84.png
+#srv/web/owncloud/core/doc/admin/_images/1000000000000372000002AF943ADDA0.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000003730000002B6865E951.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000003A60000011E274A1A28.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000003A6000002A9C7A660BE.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000003A800000039364066E4.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000003B30000021B5EE5D338.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000003DF00000071A41D8A1F.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000003DF000000D953A456B6.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000003E8000001524A147A04.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000003EC000000AB60616FA7.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000003FB000002359BAFB40E.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000004010000017E4A6552BC.png
+#srv/web/owncloud/core/doc/admin/_images/1000000000000403000001632F0B76F6.png
+#srv/web/owncloud/core/doc/admin/_images/1000000000000404000000FCFC13E732.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000004100000005657010336.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000004170000016ACB5E15AE.png
+#srv/web/owncloud/core/doc/admin/_images/100000000000041D0000017D8D1BC4D9.png
+#srv/web/owncloud/core/doc/admin/_images/100000000000042500000163D2B339D5.png
+#srv/web/owncloud/core/doc/admin/_images/1000000000000427000000324F58266D.png
+#srv/web/owncloud/core/doc/admin/_images/100000000000042E000001D3EEB9978B.png
+#srv/web/owncloud/core/doc/admin/_images/100000000000042F000000CC3EDDE79E.png
+#srv/web/owncloud/core/doc/admin/_images/1000000000000430000000AF9D6E724E.png
+#srv/web/owncloud/core/doc/admin/_images/100000000000043000000164DA0CE8C9.png
+#srv/web/owncloud/core/doc/admin/_images/100000000000043200000169BCD20493.png
+#srv/web/owncloud/core/doc/admin/_images/100000000000044C000002B0B421E27E.png
+#srv/web/owncloud/core/doc/admin/_images/100000000000045800000197FE462F2B.png
+#srv/web/owncloud/core/doc/admin/_images/1000000000000462000000D44541CF9A.png
+#srv/web/owncloud/core/doc/admin/_images/100000000000046C000000C2D3E5CF30.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000004770000008AAF3CFFDB.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000004920000028D9C8DC2CB.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000004C0000000795BB2C146.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000004CA000002B52116BE0C.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000004ED000000BE3B9E25D5.png
+#srv/web/owncloud/core/doc/admin/_images/1000000000000523000000C6F786381C.png
+#srv/web/owncloud/core/doc/admin/_images/100000000000052500000088DBB95005.png
+#srv/web/owncloud/core/doc/admin/_images/1000000000000525000000BE30CF0423.png
+#srv/web/owncloud/core/doc/admin/_images/1000000000000527000000A7AB409FE0.png
+#srv/web/owncloud/core/doc/admin/_images/100000000000052F000000C2867B7294.png
+#srv/web/owncloud/core/doc/admin/_images/1000000000000530000001410CF0028A.png
+#srv/web/owncloud/core/doc/admin/_images/100000000000053100000142D9A4C916.png
+#srv/web/owncloud/core/doc/admin/_images/1000000000000532000000285DDBBF37.png
+#srv/web/owncloud/core/doc/admin/_images/100000000000053A00000067708C8F53.png
+#srv/web/owncloud/core/doc/admin/_images/1000000000000552000000BF22E90239.png
+#srv/web/owncloud/core/doc/admin/_images/1000000000000557000002E148BAB6D4.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000005970000006AE23997C9.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000005AF00000074604B1A67.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000005B90000007866D92D14.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000005BB0000007C1DF71FA7.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000005C30000006CAFFAAD61.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000005D00000003B29340A7A.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000005D50000009458C5EE48.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000005E20000009B1BA5A8CF.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000005E6000000676902E040.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000005EB000000A68BA73E2D.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000005EC00000073E678DFEC.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000005F30000030F1372448D.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000005F70000005F0912E904.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000005F70000007E43DB8026.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000005FA0000005CE8491B77.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000005FF0000005F35710398.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000006000000005EDA7B96BE.png
+#srv/web/owncloud/core/doc/admin/_images/100000000000060300000065DF96536B.png
+#srv/web/owncloud/core/doc/admin/_images/10000000000006060000006A0106CA0C.png
+#srv/web/owncloud/core/doc/admin/_images/100000000000061A0000006FC014C3A4.png
+#srv/web/owncloud/core/doc/admin/_images/100000000000061D0000007047877972.png
+#srv/web/owncloud/core/doc/admin/_images/100000000000061E0000006BCF9ECC0B.png
+#srv/web/owncloud/core/doc/admin/_images/100000000000062A0000005F61A18950.png
+#srv/web/owncloud/core/doc/admin/_images/1000000000000631000000E19D116AA0.png
+#srv/web/owncloud/core/doc/admin/_images/100000000000063F00000090AAE1FA4A.png
+#srv/web/owncloud/core/doc/admin/_images/1000000000000668000002D29EAD9899.png
+#srv/web/owncloud/core/doc/admin/_images/100000000000066D000001AAD8CE8256.png
+#srv/web/owncloud/core/doc/admin/_images/10000201000002FC000001DC2DDAD2F1.png
+#srv/web/owncloud/core/doc/admin/_images/1000020100000359000000A8B848DE68.png
+#srv/web/owncloud/core/doc/admin/_images/10000201000005F90000029D8BA200FB.png
+#srv/web/owncloud/core/doc/admin/_images/custom_mount_config_gui-1.png
+#srv/web/owncloud/core/doc/admin/_images/custom_mount_config_gui-2.png
+#srv/web/owncloud/core/doc/admin/_images/custom_mount_config_gui-3.png
+#srv/web/owncloud/core/doc/admin/_images/custom_mount_config_gui-4.png
+#srv/web/owncloud/core/doc/admin/_images/edit_encrypted_file.png
+#srv/web/owncloud/core/doc/admin/_images/install-wizard-advanced.png
+#srv/web/owncloud/core/doc/admin/_images/install-wizard.png
+#srv/web/owncloud/core/doc/admin/_images/ldap-advanced-1-connection.png
+#srv/web/owncloud/core/doc/admin/_images/ldap-advanced-2-directory.png
+#srv/web/owncloud/core/doc/admin/_images/ldap-advanced-3-attributes.png
+#srv/web/owncloud/core/doc/admin/_images/ldap-expert.png
+#srv/web/owncloud/core/doc/admin/_images/ldap-fetched-avatar.png
+#srv/web/owncloud/core/doc/admin/_images/ldap-settings-invalid-oc45.png
+#srv/web/owncloud/core/doc/admin/_images/ldap-settings-valid-oc45.png
+#srv/web/owncloud/core/doc/admin/_images/ldap-wizard-1-server.png
+#srv/web/owncloud/core/doc/admin/_images/ldap-wizard-2-user.png
+#srv/web/owncloud/core/doc/admin/_images/ldap-wizard-3-login.png
+#srv/web/owncloud/core/doc/admin/_images/ldap-wizard-4-group.png
+#srv/web/owncloud/core/doc/admin/_images/oc_admin_app_page.png
+#srv/web/owncloud/core/doc/admin/_images/oc_admin_user_manage.png
+#srv/web/owncloud/core/doc/admin/_images/ucs-app-center-install.png
+#srv/web/owncloud/core/doc/admin/_images/ucs-app-center-module.png
+#srv/web/owncloud/core/doc/admin/_images/ucsint.png
+#srv/web/owncloud/core/doc/admin/_images/ucsint1.png
+#srv/web/owncloud/core/doc/admin/_images/ucsint2.png
+#srv/web/owncloud/core/doc/admin/_images/untrusted-domain.png
+#srv/web/owncloud/core/doc/admin/_images/win7features.jpg
+#srv/web/owncloud/core/doc/admin/_images/winserverroles.jpg
+#srv/web/owncloud/core/doc/admin/_sources
+#srv/web/owncloud/core/doc/admin/_sources/apps
+#srv/web/owncloud/core/doc/admin/_sources/apps/activity
+#srv/web/owncloud/core/doc/admin/_sources/apps/activity/index.txt
+#srv/web/owncloud/core/doc/admin/_sources/apps/admin_dependencies_chk
+#srv/web/owncloud/core/doc/admin/_sources/apps/admin_dependencies_chk/index.txt
+#srv/web/owncloud/core/doc/admin/_sources/apps/files_antivirus
+#srv/web/owncloud/core/doc/admin/_sources/apps/files_antivirus/index.txt
+#srv/web/owncloud/core/doc/admin/_sources/apps/files_encryption
+#srv/web/owncloud/core/doc/admin/_sources/apps/files_encryption/index.txt
+#srv/web/owncloud/core/doc/admin/_sources/apps/files_external
+#srv/web/owncloud/core/doc/admin/_sources/apps/files_external/index.txt
+#srv/web/owncloud/core/doc/admin/_sources/apps/files_sharing
+#srv/web/owncloud/core/doc/admin/_sources/apps/files_sharing/index.txt
+#srv/web/owncloud/core/doc/admin/_sources/apps/files_trashbin
+#srv/web/owncloud/core/doc/admin/_sources/apps/files_trashbin/index.txt
+#srv/web/owncloud/core/doc/admin/_sources/apps/files_versions
+#srv/web/owncloud/core/doc/admin/_sources/apps/files_versions/index.txt
+#srv/web/owncloud/core/doc/admin/_sources/apps/firstrunwizard
+#srv/web/owncloud/core/doc/admin/_sources/apps/firstrunwizard/index.txt
+#srv/web/owncloud/core/doc/admin/_sources/apps/index.txt
+#srv/web/owncloud/core/doc/admin/_sources/apps/user_ldap
+#srv/web/owncloud/core/doc/admin/_sources/apps/user_ldap/index.txt
+#srv/web/owncloud/core/doc/admin/_sources/apps/viewers
+#srv/web/owncloud/core/doc/admin/_sources/apps/viewers/index.txt
+#srv/web/owncloud/core/doc/admin/_sources/config
+#srv/web/owncloud/core/doc/admin/_sources/config/apps.txt
+#srv/web/owncloud/core/doc/admin/_sources/config/code_locations.txt
+#srv/web/owncloud/core/doc/admin/_sources/config/default_parameters.txt
+#srv/web/owncloud/core/doc/admin/_sources/config/deleted_items.txt
+#srv/web/owncloud/core/doc/admin/_sources/config/index.txt
+#srv/web/owncloud/core/doc/admin/_sources/config/logging.txt
+#srv/web/owncloud/core/doc/admin/_sources/config/mail_parameters.txt
+#srv/web/owncloud/core/doc/admin/_sources/config/maintenance.txt
+#srv/web/owncloud/core/doc/admin/_sources/config/miscellaneous.txt
+#srv/web/owncloud/core/doc/admin/_sources/config/previews.txt
+#srv/web/owncloud/core/doc/admin/_sources/config/reverse_proxy_configurations.txt
+#srv/web/owncloud/core/doc/admin/_sources/config/session_info.txt
+#srv/web/owncloud/core/doc/admin/_sources/config/user_experience.txt
+#srv/web/owncloud/core/doc/admin/_sources/config/verification.txt
+#srv/web/owncloud/core/doc/admin/_sources/configuration
+#srv/web/owncloud/core/doc/admin/_sources/configuration/auth_ldap.txt
+#srv/web/owncloud/core/doc/admin/_sources/configuration/background_jobs.txt
+#srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_3rdparty.txt
+#srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_apps.txt
+#srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_automation.txt
+#srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_custom_clients.txt
+#srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_database.txt
+#srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_encryption.txt
+#srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_knowledgebase.txt
+#srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_language.txt
+#srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_logging.txt
+#srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_mail.txt
+#srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_maintenance.txt
+#srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_preview.txt
+#srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_reverseproxy.txt
+#srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_users.txt
+#srv/web/owncloud/core/doc/admin/_sources/configuration/configuring_big_file_upload.txt
+#srv/web/owncloud/core/doc/admin/_sources/configuration/custom_mount_config.txt
+#srv/web/owncloud/core/doc/admin/_sources/configuration/custom_mount_config_gui.txt
+#srv/web/owncloud/core/doc/admin/_sources/configuration/custom_user_backend.txt
+#srv/web/owncloud/core/doc/admin/_sources/configuration/index.txt
+#srv/web/owncloud/core/doc/admin/_sources/configuration/xsendfile.txt
+#srv/web/owncloud/core/doc/admin/_sources/contents.txt
+#srv/web/owncloud/core/doc/admin/_sources/cron
+#srv/web/owncloud/core/doc/admin/_sources/cron/index.txt
+#srv/web/owncloud/core/doc/admin/_sources/index.txt
+#srv/web/owncloud/core/doc/admin/_sources/installation
+#srv/web/owncloud/core/doc/admin/_sources/installation/index.txt
+#srv/web/owncloud/core/doc/admin/_sources/installation/installation_appliance.txt
+#srv/web/owncloud/core/doc/admin/_sources/installation/installation_linux.txt
+#srv/web/owncloud/core/doc/admin/_sources/installation/installation_macos.txt
+#srv/web/owncloud/core/doc/admin/_sources/installation/installation_others.txt
+#srv/web/owncloud/core/doc/admin/_sources/installation/installation_source.txt
+#srv/web/owncloud/core/doc/admin/_sources/installation/installation_ucs.txt
+#srv/web/owncloud/core/doc/admin/_sources/installation/installation_windows.txt
+#srv/web/owncloud/core/doc/admin/_sources/installation/installation_wizard.txt
+#srv/web/owncloud/core/doc/admin/_sources/issues
+#srv/web/owncloud/core/doc/admin/_sources/issues/index.txt
+#srv/web/owncloud/core/doc/admin/_sources/maintenance
+#srv/web/owncloud/core/doc/admin/_sources/maintenance/backup.txt
+#srv/web/owncloud/core/doc/admin/_sources/maintenance/index.txt
+#srv/web/owncloud/core/doc/admin/_sources/maintenance/migrating.txt
+#srv/web/owncloud/core/doc/admin/_sources/maintenance/restore.txt
+#srv/web/owncloud/core/doc/admin/_sources/maintenance/update.txt
+#srv/web/owncloud/core/doc/admin/_sources/quota
+#srv/web/owncloud/core/doc/admin/_sources/quota/index.txt
+#srv/web/owncloud/core/doc/admin/_sources/sharing_api
+#srv/web/owncloud/core/doc/admin/_sources/sharing_api/create_a_new_share.txt
+#srv/web/owncloud/core/doc/admin/_sources/sharing_api/delete_share.txt
+#srv/web/owncloud/core/doc/admin/_sources/sharing_api/get_all_shares.txt
+#srv/web/owncloud/core/doc/admin/_sources/sharing_api/get_information_about_a_known_share.txt
+#srv/web/owncloud/core/doc/admin/_sources/sharing_api/get_shares_from_a_specific_file_or_folder.txt
+#srv/web/owncloud/core/doc/admin/_sources/sharing_api/index.txt
+#srv/web/owncloud/core/doc/admin/_static
+#srv/web/owncloud/core/doc/admin/_static/ajax-loader.gif
+#srv/web/owncloud/core/doc/admin/_static/basic.css
+#srv/web/owncloud/core/doc/admin/_static/bootstrap-responsive.css
+#srv/web/owncloud/core/doc/admin/_static/bootstrap-sphinx.css
+#srv/web/owncloud/core/doc/admin/_static/bootstrap.css
+#srv/web/owncloud/core/doc/admin/_static/bootstrap.js
+#srv/web/owncloud/core/doc/admin/_static/comment-bright.png
+#srv/web/owncloud/core/doc/admin/_static/comment-close.png
+#srv/web/owncloud/core/doc/admin/_static/comment.png
+#srv/web/owncloud/core/doc/admin/_static/doctools.js
+#srv/web/owncloud/core/doc/admin/_static/down-pressed.png
+#srv/web/owncloud/core/doc/admin/_static/down.png
+#srv/web/owncloud/core/doc/admin/_static/file.png
+#srv/web/owncloud/core/doc/admin/_static/img
+#srv/web/owncloud/core/doc/admin/_static/img/glyphicons-halflings-white.png
+#srv/web/owncloud/core/doc/admin/_static/img/glyphicons-halflings.png
+#srv/web/owncloud/core/doc/admin/_static/img/note.svg
+#srv/web/owncloud/core/doc/admin/_static/img/todo.svg
+#srv/web/owncloud/core/doc/admin/_static/jquery.js
+#srv/web/owncloud/core/doc/admin/_static/logo-blue.pdf
+#srv/web/owncloud/core/doc/admin/_static/logo-blue.png
+#srv/web/owncloud/core/doc/admin/_static/minus.png
+#srv/web/owncloud/core/doc/admin/_static/plus.png
+#srv/web/owncloud/core/doc/admin/_static/pygments.css
+#srv/web/owncloud/core/doc/admin/_static/searchtools.js
+#srv/web/owncloud/core/doc/admin/_static/style.css
+#srv/web/owncloud/core/doc/admin/_static/underscore.js
+#srv/web/owncloud/core/doc/admin/_static/up-pressed.png
+#srv/web/owncloud/core/doc/admin/_static/up.png
+#srv/web/owncloud/core/doc/admin/_static/websupport.js
+#srv/web/owncloud/core/doc/admin/apps
+#srv/web/owncloud/core/doc/admin/apps/activity
+#srv/web/owncloud/core/doc/admin/apps/activity/index.html
+#srv/web/owncloud/core/doc/admin/apps/admin_dependencies_chk
+#srv/web/owncloud/core/doc/admin/apps/admin_dependencies_chk/index.html
+#srv/web/owncloud/core/doc/admin/apps/files_antivirus
+#srv/web/owncloud/core/doc/admin/apps/files_antivirus/index.html
+#srv/web/owncloud/core/doc/admin/apps/files_encryption
+#srv/web/owncloud/core/doc/admin/apps/files_encryption/index.html
+#srv/web/owncloud/core/doc/admin/apps/files_external
+#srv/web/owncloud/core/doc/admin/apps/files_external/index.html
+#srv/web/owncloud/core/doc/admin/apps/files_sharing
+#srv/web/owncloud/core/doc/admin/apps/files_sharing/index.html
+#srv/web/owncloud/core/doc/admin/apps/files_trashbin
+#srv/web/owncloud/core/doc/admin/apps/files_trashbin/index.html
+#srv/web/owncloud/core/doc/admin/apps/files_versions
+#srv/web/owncloud/core/doc/admin/apps/files_versions/index.html
+#srv/web/owncloud/core/doc/admin/apps/firstrunwizard
+#srv/web/owncloud/core/doc/admin/apps/firstrunwizard/index.html
+#srv/web/owncloud/core/doc/admin/apps/index.html
+#srv/web/owncloud/core/doc/admin/apps/user_ldap
+#srv/web/owncloud/core/doc/admin/apps/user_ldap/index.html
+#srv/web/owncloud/core/doc/admin/apps/viewers
+#srv/web/owncloud/core/doc/admin/apps/viewers/index.html
+#srv/web/owncloud/core/doc/admin/config
+#srv/web/owncloud/core/doc/admin/config/apps.html
+#srv/web/owncloud/core/doc/admin/config/code_locations.html
+#srv/web/owncloud/core/doc/admin/config/default_parameters.html
+#srv/web/owncloud/core/doc/admin/config/deleted_items.html
+#srv/web/owncloud/core/doc/admin/config/index.html
+#srv/web/owncloud/core/doc/admin/config/logging.html
+#srv/web/owncloud/core/doc/admin/config/mail_parameters.html
+#srv/web/owncloud/core/doc/admin/config/maintenance.html
+#srv/web/owncloud/core/doc/admin/config/miscellaneous.html
+#srv/web/owncloud/core/doc/admin/config/previews.html
+#srv/web/owncloud/core/doc/admin/config/reverse_proxy_configurations.html
+#srv/web/owncloud/core/doc/admin/config/session_info.html
+#srv/web/owncloud/core/doc/admin/config/user_experience.html
+#srv/web/owncloud/core/doc/admin/config/verification.html
+#srv/web/owncloud/core/doc/admin/configuration
+#srv/web/owncloud/core/doc/admin/configuration/auth_ldap.html
+#srv/web/owncloud/core/doc/admin/configuration/background_jobs.html
+#srv/web/owncloud/core/doc/admin/configuration/configuration_3rdparty.html
+#srv/web/owncloud/core/doc/admin/configuration/configuration_apps.html
+#srv/web/owncloud/core/doc/admin/configuration/configuration_automation.html
+#srv/web/owncloud/core/doc/admin/configuration/configuration_custom_clients.html
+#srv/web/owncloud/core/doc/admin/configuration/configuration_database.html
+#srv/web/owncloud/core/doc/admin/configuration/configuration_encryption.html
+#srv/web/owncloud/core/doc/admin/configuration/configuration_knowledgebase.html
+#srv/web/owncloud/core/doc/admin/configuration/configuration_language.html
+#srv/web/owncloud/core/doc/admin/configuration/configuration_logging.html
+#srv/web/owncloud/core/doc/admin/configuration/configuration_mail.html
+#srv/web/owncloud/core/doc/admin/configuration/configuration_maintenance.html
+#srv/web/owncloud/core/doc/admin/configuration/configuration_preview.html
+#srv/web/owncloud/core/doc/admin/configuration/configuration_reverseproxy.html
+#srv/web/owncloud/core/doc/admin/configuration/configuration_users.html
+#srv/web/owncloud/core/doc/admin/configuration/configuring_big_file_upload.html
+#srv/web/owncloud/core/doc/admin/configuration/custom_mount_config.html
+#srv/web/owncloud/core/doc/admin/configuration/custom_mount_config_gui.html
+#srv/web/owncloud/core/doc/admin/configuration/custom_user_backend.html
+#srv/web/owncloud/core/doc/admin/configuration/index.html
+#srv/web/owncloud/core/doc/admin/configuration/xsendfile.html
+#srv/web/owncloud/core/doc/admin/contents.html
+#srv/web/owncloud/core/doc/admin/cron
+#srv/web/owncloud/core/doc/admin/cron/index.html
+#srv/web/owncloud/core/doc/admin/genindex.html
+#srv/web/owncloud/core/doc/admin/index.html
+#srv/web/owncloud/core/doc/admin/installation
+#srv/web/owncloud/core/doc/admin/installation/index.html
+#srv/web/owncloud/core/doc/admin/installation/installation_appliance.html
+#srv/web/owncloud/core/doc/admin/installation/installation_linux.html
+#srv/web/owncloud/core/doc/admin/installation/installation_macos.html
+#srv/web/owncloud/core/doc/admin/installation/installation_others.html
+#srv/web/owncloud/core/doc/admin/installation/installation_source.html
+#srv/web/owncloud/core/doc/admin/installation/installation_ucs.html
+#srv/web/owncloud/core/doc/admin/installation/installation_windows.html
+#srv/web/owncloud/core/doc/admin/installation/installation_wizard.html
+#srv/web/owncloud/core/doc/admin/issues
+#srv/web/owncloud/core/doc/admin/issues/index.html
+#srv/web/owncloud/core/doc/admin/maintenance
+#srv/web/owncloud/core/doc/admin/maintenance/backup.html
+#srv/web/owncloud/core/doc/admin/maintenance/index.html
+#srv/web/owncloud/core/doc/admin/maintenance/migrating.html
+#srv/web/owncloud/core/doc/admin/maintenance/restore.html
+#srv/web/owncloud/core/doc/admin/maintenance/update.html
+#srv/web/owncloud/core/doc/admin/objects.inv
+#srv/web/owncloud/core/doc/admin/quota
+#srv/web/owncloud/core/doc/admin/quota/index.html
+#srv/web/owncloud/core/doc/admin/search.html
+#srv/web/owncloud/core/doc/admin/searchindex.js
+#srv/web/owncloud/core/doc/admin/sharing_api
+#srv/web/owncloud/core/doc/admin/sharing_api/create_a_new_share.html
+#srv/web/owncloud/core/doc/admin/sharing_api/delete_share.html
+#srv/web/owncloud/core/doc/admin/sharing_api/get_all_shares.html
+#srv/web/owncloud/core/doc/admin/sharing_api/get_information_about_a_known_share.html
+#srv/web/owncloud/core/doc/admin/sharing_api/get_shares_from_a_specific_file_or_folder.html
+#srv/web/owncloud/core/doc/admin/sharing_api/index.html
+#srv/web/owncloud/core/doc/user
+#srv/web/owncloud/core/doc/user/_images
+#srv/web/owncloud/core/doc/user/_images/1000000000000163000000E9CDA84C92.png
+#srv/web/owncloud/core/doc/user/_images/1000000000000175000000FAB2A2B294.png
+#srv/web/owncloud/core/doc/user/_images/1000000000000195000000EF7E44082C.png
+#srv/web/owncloud/core/doc/user/_images/10000000000001CE000000F2E2084BA1.png
+#srv/web/owncloud/core/doc/user/_images/100000000000041D0000003D52225C0D.png
+#srv/web/owncloud/core/doc/user/_images/1000000000000453000001BFFCF48776.png
+#srv/web/owncloud/core/doc/user/_images/1000000000000467000002B63162E59B.png
+#srv/web/owncloud/core/doc/user/_images/10000000000004690000026615360BEB.png
+#srv/web/owncloud/core/doc/user/_images/100000000000046D0000015F4B5494A9.png
+#srv/web/owncloud/core/doc/user/_images/100000000000046F000000DEA2BFCD9B.png
+#srv/web/owncloud/core/doc/user/_images/1000000000000470000001B68AE60DD3.png
+#srv/web/owncloud/core/doc/user/_images/10000000000004710000014BBC34499D.png
+#srv/web/owncloud/core/doc/user/_images/100000000000047200000129CB014025.png
+#srv/web/owncloud/core/doc/user/_images/100000000000047700000219A3013A92.png
+#srv/web/owncloud/core/doc/user/_images/1000000000000479000002887E7F48EA.png
+#srv/web/owncloud/core/doc/user/_images/100000000000047A000000B727198874.png
+#srv/web/owncloud/core/doc/user/_images/100000000000047A000000FB86FF2A9A.png
+#srv/web/owncloud/core/doc/user/_images/100000000000047A0000011C6682A254.png
+#srv/web/owncloud/core/doc/user/_images/100000000000048100000245268CDB7A.png
+#srv/web/owncloud/core/doc/user/_images/bookmark_addurl.png
+#srv/web/owncloud/core/doc/user/_images/bookmark_setting.png
+#srv/web/owncloud/core/doc/user/_images/calendar_createevent.png
+#srv/web/owncloud/core/doc/user/_images/calendar_export.png
+#srv/web/owncloud/core/doc/user/_images/calendar_import.png
+#srv/web/owncloud/core/doc/user/_images/calendar_manage-calendars.png
+#srv/web/owncloud/core/doc/user/_images/calendar_newtimezone1.png
+#srv/web/owncloud/core/doc/user/_images/contact_bottombar.png
+#srv/web/owncloud/core/doc/user/_images/contact_crop.jpg
+#srv/web/owncloud/core/doc/user/_images/contact_del_ab.png
+#srv/web/owncloud/core/doc/user/_images/contact_emptycontact.png
+#srv/web/owncloud/core/doc/user/_images/contact_picture.jpg
+#srv/web/owncloud/core/doc/user/_images/contact_syncopt.jpg
+#srv/web/owncloud/core/doc/user/_images/contact_thunderbird-Symbol_Gear.jpg
+#srv/web/owncloud/core/doc/user/_images/contact_thunderbird-Symbol_Impeller.jpg
+#srv/web/owncloud/core/doc/user/_images/contact_thunderbird-URL_config.jpg
+#srv/web/owncloud/core/doc/user/_images/contact_uploadbutton.png
+#srv/web/owncloud/core/doc/user/_images/contact_vcfpick.jpg
+#srv/web/owncloud/core/doc/user/_images/dolphin_webdav.png
+#srv/web/owncloud/core/doc/user/_images/explorer_webdav.png
+#srv/web/owncloud/core/doc/user/_images/external_google_drive_1_sign_in.png
+#srv/web/owncloud/core/doc/user/_images/external_google_drive_2_verify.png
+#srv/web/owncloud/core/doc/user/_images/external_google_drive_3_create_project.png
+#srv/web/owncloud/core/doc/user/_images/external_google_drive_4_enable_api.png
+#srv/web/owncloud/core/doc/user/_images/external_google_drive_5_setup_ownCloud.png
+#srv/web/owncloud/core/doc/user/_images/external_google_drive_6_accept.png
+#srv/web/owncloud/core/doc/user/_images/files_versioning.png
+#srv/web/owncloud/core/doc/user/_images/gnome3_nautilus_webdav.png
+#srv/web/owncloud/core/doc/user/_images/kdes.png
+#srv/web/owncloud/core/doc/user/_images/kdes1.png
+#srv/web/owncloud/core/doc/user/_images/kdes2.png
+#srv/web/owncloud/core/doc/user/_images/kdes3.png
+#srv/web/owncloud/core/doc/user/_images/kdes4.png
+#srv/web/owncloud/core/doc/user/_images/kdes5.png
+#srv/web/owncloud/core/doc/user/_images/kdes6.png
+#srv/web/owncloud/core/doc/user/_images/kdes7.png
+#srv/web/owncloud/core/doc/user/_images/kdes9.png
+#srv/web/owncloud/core/doc/user/_images/oc_connect.png
+#srv/web/owncloud/core/doc/user/_images/oc_documents.png
+#srv/web/owncloud/core/doc/user/_images/oc_documents_col_edit.png
+#srv/web/owncloud/core/doc/user/_images/oc_documents_edit.png
+#srv/web/owncloud/core/doc/user/_images/oc_documents_share.png
+#srv/web/owncloud/core/doc/user/_images/oc_files_share.png
+#srv/web/owncloud/core/doc/user/_images/oc_filesweb.png
+#srv/web/owncloud/core/doc/user/_images/oc_filesweb_navigate.png
+#srv/web/owncloud/core/doc/user/_images/oc_filesweb_new.png
+#srv/web/owncloud/core/doc/user/_images/oc_ui.png
+#srv/web/owncloud/core/doc/user/_images/oc_user_preferences.png
+#srv/web/owncloud/core/doc/user/_images/osx_webdav1.png
+#srv/web/owncloud/core/doc/user/_images/osx_webdav2.png
+#srv/web/owncloud/core/doc/user/_sources
+#srv/web/owncloud/core/doc/user/_sources/bookmarks.txt
+#srv/web/owncloud/core/doc/user/_sources/contents.txt
+#srv/web/owncloud/core/doc/user/_sources/documents.txt
+#srv/web/owncloud/core/doc/user/_sources/external_storage
+#srv/web/owncloud/core/doc/user/_sources/external_storage/google_drive.txt
+#srv/web/owncloud/core/doc/user/_sources/files
+#srv/web/owncloud/core/doc/user/_sources/files/configuring_big_file_upload.txt
+#srv/web/owncloud/core/doc/user/_sources/files/deletedfiles.txt
+#srv/web/owncloud/core/doc/user/_sources/files/encryption.txt
+#srv/web/owncloud/core/doc/user/_sources/files/files.txt
+#srv/web/owncloud/core/doc/user/_sources/files/filesweb.txt
+#srv/web/owncloud/core/doc/user/_sources/files/index.txt
+#srv/web/owncloud/core/doc/user/_sources/files/quota.txt
+#srv/web/owncloud/core/doc/user/_sources/files/sync.txt
+#srv/web/owncloud/core/doc/user/_sources/files/versioncontrol.txt
+#srv/web/owncloud/core/doc/user/_sources/index.txt
+#srv/web/owncloud/core/doc/user/_sources/migration.txt
+#srv/web/owncloud/core/doc/user/_sources/pim
+#srv/web/owncloud/core/doc/user/_sources/pim/calendar.txt
+#srv/web/owncloud/core/doc/user/_sources/pim/contacts.txt
+#srv/web/owncloud/core/doc/user/_sources/pim/index.txt
+#srv/web/owncloud/core/doc/user/_sources/pim/sync_ios.txt
+#srv/web/owncloud/core/doc/user/_sources/pim/sync_kde.txt
+#srv/web/owncloud/core/doc/user/_sources/pim/sync_osx.txt
+#srv/web/owncloud/core/doc/user/_sources/pim/sync_thunderbird.txt
+#srv/web/owncloud/core/doc/user/_sources/pim/troubleshooting.txt
+#srv/web/owncloud/core/doc/user/_sources/userpreferences.txt
+#srv/web/owncloud/core/doc/user/_sources/web_guide
+#srv/web/owncloud/core/doc/user/_sources/web_guide/index.txt
+#srv/web/owncloud/core/doc/user/_sources/webinterface.txt
+#srv/web/owncloud/core/doc/user/_static
+#srv/web/owncloud/core/doc/user/_static/ajax-loader.gif
+#srv/web/owncloud/core/doc/user/_static/basic.css
+#srv/web/owncloud/core/doc/user/_static/bootstrap-responsive.css
+#srv/web/owncloud/core/doc/user/_static/bootstrap-sphinx.css
+#srv/web/owncloud/core/doc/user/_static/bootstrap.css
+#srv/web/owncloud/core/doc/user/_static/bootstrap.js
+#srv/web/owncloud/core/doc/user/_static/comment-bright.png
+#srv/web/owncloud/core/doc/user/_static/comment-close.png
+#srv/web/owncloud/core/doc/user/_static/comment.png
+#srv/web/owncloud/core/doc/user/_static/doctools.js
+#srv/web/owncloud/core/doc/user/_static/down-pressed.png
+#srv/web/owncloud/core/doc/user/_static/down.png
+#srv/web/owncloud/core/doc/user/_static/file.png
+#srv/web/owncloud/core/doc/user/_static/img
+#srv/web/owncloud/core/doc/user/_static/img/glyphicons-halflings-white.png
+#srv/web/owncloud/core/doc/user/_static/img/glyphicons-halflings.png
+#srv/web/owncloud/core/doc/user/_static/img/note.svg
+#srv/web/owncloud/core/doc/user/_static/img/todo.svg
+#srv/web/owncloud/core/doc/user/_static/jquery.js
+#srv/web/owncloud/core/doc/user/_static/logo-blue.pdf
+#srv/web/owncloud/core/doc/user/_static/logo-blue.png
+#srv/web/owncloud/core/doc/user/_static/minus.png
+#srv/web/owncloud/core/doc/user/_static/plus.png
+#srv/web/owncloud/core/doc/user/_static/pygments.css
+#srv/web/owncloud/core/doc/user/_static/searchtools.js
+#srv/web/owncloud/core/doc/user/_static/style.css
+#srv/web/owncloud/core/doc/user/_static/underscore.js
+#srv/web/owncloud/core/doc/user/_static/up-pressed.png
+#srv/web/owncloud/core/doc/user/_static/up.png
+#srv/web/owncloud/core/doc/user/_static/websupport.js
+#srv/web/owncloud/core/doc/user/bookmarks.html
+#srv/web/owncloud/core/doc/user/contents.html
+#srv/web/owncloud/core/doc/user/documents.html
+#srv/web/owncloud/core/doc/user/external_storage
+#srv/web/owncloud/core/doc/user/external_storage/google_drive.html
+#srv/web/owncloud/core/doc/user/files
+#srv/web/owncloud/core/doc/user/files/configuring_big_file_upload.html
+#srv/web/owncloud/core/doc/user/files/deletedfiles.html
+#srv/web/owncloud/core/doc/user/files/encryption.html
+#srv/web/owncloud/core/doc/user/files/files.html
+#srv/web/owncloud/core/doc/user/files/filesweb.html
+#srv/web/owncloud/core/doc/user/files/index.html
+#srv/web/owncloud/core/doc/user/files/quota.html
+#srv/web/owncloud/core/doc/user/files/sync.html
+#srv/web/owncloud/core/doc/user/files/versioncontrol.html
+#srv/web/owncloud/core/doc/user/genindex.html
+#srv/web/owncloud/core/doc/user/index.html
+#srv/web/owncloud/core/doc/user/migration.html
+#srv/web/owncloud/core/doc/user/objects.inv
+#srv/web/owncloud/core/doc/user/pim
+#srv/web/owncloud/core/doc/user/pim/calendar.html
+#srv/web/owncloud/core/doc/user/pim/contacts.html
+#srv/web/owncloud/core/doc/user/pim/index.html
+#srv/web/owncloud/core/doc/user/pim/sync_ios.html
+#srv/web/owncloud/core/doc/user/pim/sync_kde.html
+#srv/web/owncloud/core/doc/user/pim/sync_osx.html
+#srv/web/owncloud/core/doc/user/pim/sync_thunderbird.html
+#srv/web/owncloud/core/doc/user/pim/troubleshooting.html
+#srv/web/owncloud/core/doc/user/search.html
+#srv/web/owncloud/core/doc/user/searchindex.js
+#srv/web/owncloud/core/doc/user/userpreferences.html
+#srv/web/owncloud/core/doc/user/web_guide
+#srv/web/owncloud/core/doc/user/web_guide/index.html
+#srv/web/owncloud/core/doc/user/webinterface.html
+#srv/web/owncloud/core/fonts
+#srv/web/owncloud/core/fonts/LICENSE.txt
+#srv/web/owncloud/core/fonts/OpenSans-Bold.woff
+#srv/web/owncloud/core/fonts/OpenSans-Regular.ttf
+#srv/web/owncloud/core/fonts/OpenSans-Regular.woff
+#srv/web/owncloud/core/img
+#srv/web/owncloud/core/img/actions
+#srv/web/owncloud/core/img/actions/add.png
+#srv/web/owncloud/core/img/actions/add.svg
+#srv/web/owncloud/core/img/actions/caret-dark.png
+#srv/web/owncloud/core/img/actions/caret-dark.svg
+#srv/web/owncloud/core/img/actions/caret.png
+#srv/web/owncloud/core/img/actions/caret.svg
+#srv/web/owncloud/core/img/actions/checkmark-white.png
+#srv/web/owncloud/core/img/actions/checkmark-white.svg
+#srv/web/owncloud/core/img/actions/checkmark.png
+#srv/web/owncloud/core/img/actions/checkmark.svg
+#srv/web/owncloud/core/img/actions/clock.png
+#srv/web/owncloud/core/img/actions/clock.svg
+#srv/web/owncloud/core/img/actions/close.png
+#srv/web/owncloud/core/img/actions/close.svg
+#srv/web/owncloud/core/img/actions/confirm.png
+#srv/web/owncloud/core/img/actions/confirm.svg
+#srv/web/owncloud/core/img/actions/delete-hover.png
+#srv/web/owncloud/core/img/actions/delete-hover.svg
+#srv/web/owncloud/core/img/actions/delete.png
+#srv/web/owncloud/core/img/actions/delete.svg
+#srv/web/owncloud/core/img/actions/download.png
+#srv/web/owncloud/core/img/actions/download.svg
+#srv/web/owncloud/core/img/actions/history.png
+#srv/web/owncloud/core/img/actions/history.svg
+#srv/web/owncloud/core/img/actions/info.png
+#srv/web/owncloud/core/img/actions/info.svg
+#srv/web/owncloud/core/img/actions/lock.png
+#srv/web/owncloud/core/img/actions/lock.svg
+#srv/web/owncloud/core/img/actions/logout.png
+#srv/web/owncloud/core/img/actions/logout.svg
+#srv/web/owncloud/core/img/actions/mail.png
+#srv/web/owncloud/core/img/actions/mail.svg
+#srv/web/owncloud/core/img/actions/menu.png
+#srv/web/owncloud/core/img/actions/menu.svg
+#srv/web/owncloud/core/img/actions/more.png
+#srv/web/owncloud/core/img/actions/more.svg
+#srv/web/owncloud/core/img/actions/password.png
+#srv/web/owncloud/core/img/actions/password.svg
+#srv/web/owncloud/core/img/actions/pause-big.png
+#srv/web/owncloud/core/img/actions/pause-big.svg
+#srv/web/owncloud/core/img/actions/pause.png
+#srv/web/owncloud/core/img/actions/pause.svg
+#srv/web/owncloud/core/img/actions/play-add.png
+#srv/web/owncloud/core/img/actions/play-add.svg
+#srv/web/owncloud/core/img/actions/play-big.png
+#srv/web/owncloud/core/img/actions/play-big.svg
+#srv/web/owncloud/core/img/actions/play-next.png
+#srv/web/owncloud/core/img/actions/play-next.svg
+#srv/web/owncloud/core/img/actions/play-previous.png
+#srv/web/owncloud/core/img/actions/play-previous.svg
+#srv/web/owncloud/core/img/actions/play.png
+#srv/web/owncloud/core/img/actions/play.svg
+#srv/web/owncloud/core/img/actions/public.png
+#srv/web/owncloud/core/img/actions/public.svg
+#srv/web/owncloud/core/img/actions/rename.png
+#srv/web/owncloud/core/img/actions/rename.svg
+#srv/web/owncloud/core/img/actions/search.png
+#srv/web/owncloud/core/img/actions/search.svg
+#srv/web/owncloud/core/img/actions/settings.png
+#srv/web/owncloud/core/img/actions/settings.svg
+#srv/web/owncloud/core/img/actions/share.png
+#srv/web/owncloud/core/img/actions/share.svg
+#srv/web/owncloud/core/img/actions/shared.png
+#srv/web/owncloud/core/img/actions/shared.svg
+#srv/web/owncloud/core/img/actions/sound-off.png
+#srv/web/owncloud/core/img/actions/sound-off.svg
+#srv/web/owncloud/core/img/actions/sound.png
+#srv/web/owncloud/core/img/actions/sound.svg
+#srv/web/owncloud/core/img/actions/star.png
+#srv/web/owncloud/core/img/actions/star.svg
+#srv/web/owncloud/core/img/actions/starred.png
+#srv/web/owncloud/core/img/actions/starred.svg
+#srv/web/owncloud/core/img/actions/toggle-filelist.png
+#srv/web/owncloud/core/img/actions/toggle-filelist.svg
+#srv/web/owncloud/core/img/actions/toggle-pictures.png
+#srv/web/owncloud/core/img/actions/toggle-pictures.svg
+#srv/web/owncloud/core/img/actions/toggle.png
+#srv/web/owncloud/core/img/actions/toggle.svg
+#srv/web/owncloud/core/img/actions/triangle-e.png
+#srv/web/owncloud/core/img/actions/triangle-e.svg
+#srv/web/owncloud/core/img/actions/triangle-n.png
+#srv/web/owncloud/core/img/actions/triangle-n.svg
+#srv/web/owncloud/core/img/actions/triangle-s.png
+#srv/web/owncloud/core/img/actions/triangle-s.svg
+#srv/web/owncloud/core/img/actions/upload-white.png
+#srv/web/owncloud/core/img/actions/upload-white.svg
+#srv/web/owncloud/core/img/actions/upload.png
+#srv/web/owncloud/core/img/actions/upload.svg
+#srv/web/owncloud/core/img/actions/user.png
+#srv/web/owncloud/core/img/actions/user.svg
+#srv/web/owncloud/core/img/actions/view-close.png
+#srv/web/owncloud/core/img/actions/view-close.svg
+#srv/web/owncloud/core/img/actions/view-next.png
+#srv/web/owncloud/core/img/actions/view-next.svg
+#srv/web/owncloud/core/img/actions/view-pause.png
+#srv/web/owncloud/core/img/actions/view-pause.svg
+#srv/web/owncloud/core/img/actions/view-play.png
+#srv/web/owncloud/core/img/actions/view-play.svg
+#srv/web/owncloud/core/img/actions/view-previous.png
+#srv/web/owncloud/core/img/actions/view-previous.svg
+#srv/web/owncloud/core/img/appstore.png
+#srv/web/owncloud/core/img/breadcrumb.png
+#srv/web/owncloud/core/img/breadcrumb.svg
+#srv/web/owncloud/core/img/desktopapp.png
+#srv/web/owncloud/core/img/desktopapp.svg
+#srv/web/owncloud/core/img/favicon-touch.png
+#srv/web/owncloud/core/img/favicon-touch.svg
+#srv/web/owncloud/core/img/favicon.png
+#srv/web/owncloud/core/img/favicon.svg
+#srv/web/owncloud/core/img/filetypes
+#srv/web/owncloud/core/img/filetypes/application-epub+zip.png
+#srv/web/owncloud/core/img/filetypes/application-epub+zip.svg
+#srv/web/owncloud/core/img/filetypes/application-javascript.png
+#srv/web/owncloud/core/img/filetypes/application-javascript.svg
+#srv/web/owncloud/core/img/filetypes/application-pdf.png
+#srv/web/owncloud/core/img/filetypes/application-pdf.svg
+#srv/web/owncloud/core/img/filetypes/application-rss+xml.png
+#srv/web/owncloud/core/img/filetypes/application-rss+xml.svg
+#srv/web/owncloud/core/img/filetypes/application-x-cbr.png
+#srv/web/owncloud/core/img/filetypes/application-x-cbr.svg
+#srv/web/owncloud/core/img/filetypes/application-x-shockwave-flash.png
+#srv/web/owncloud/core/img/filetypes/application-x-shockwave-flash.svg
+#srv/web/owncloud/core/img/filetypes/application.png
+#srv/web/owncloud/core/img/filetypes/application.svg
+#srv/web/owncloud/core/img/filetypes/audio.png
+#srv/web/owncloud/core/img/filetypes/audio.svg
+#srv/web/owncloud/core/img/filetypes/database.png
+#srv/web/owncloud/core/img/filetypes/database.svg
+#srv/web/owncloud/core/img/filetypes/file.png
+#srv/web/owncloud/core/img/filetypes/file.svg
+#srv/web/owncloud/core/img/filetypes/folder-drag-accept.png
+#srv/web/owncloud/core/img/filetypes/folder-drag-accept.svg
+#srv/web/owncloud/core/img/filetypes/folder-external.png
+#srv/web/owncloud/core/img/filetypes/folder-external.svg
+#srv/web/owncloud/core/img/filetypes/folder-public.png
+#srv/web/owncloud/core/img/filetypes/folder-public.svg
+#srv/web/owncloud/core/img/filetypes/folder-shared.png
+#srv/web/owncloud/core/img/filetypes/folder-shared.svg
+#srv/web/owncloud/core/img/filetypes/folder.png
+#srv/web/owncloud/core/img/filetypes/folder.svg
+#srv/web/owncloud/core/img/filetypes/font.png
+#srv/web/owncloud/core/img/filetypes/font.svg
+#srv/web/owncloud/core/img/filetypes/image-svg+xml.png
+#srv/web/owncloud/core/img/filetypes/image-svg+xml.svg
+#srv/web/owncloud/core/img/filetypes/image.png
+#srv/web/owncloud/core/img/filetypes/image.svg
+#srv/web/owncloud/core/img/filetypes/package-x-generic.png
+#srv/web/owncloud/core/img/filetypes/package-x-generic.svg
+#srv/web/owncloud/core/img/filetypes/text-calendar.png
+#srv/web/owncloud/core/img/filetypes/text-calendar.svg
+#srv/web/owncloud/core/img/filetypes/text-code.png
+#srv/web/owncloud/core/img/filetypes/text-code.svg
+#srv/web/owncloud/core/img/filetypes/text-html.png
+#srv/web/owncloud/core/img/filetypes/text-html.svg
+#srv/web/owncloud/core/img/filetypes/text-vcard.png
+#srv/web/owncloud/core/img/filetypes/text-vcard.svg
+#srv/web/owncloud/core/img/filetypes/text-x-c.png
+#srv/web/owncloud/core/img/filetypes/text-x-c.svg
+#srv/web/owncloud/core/img/filetypes/text-x-h.png
+#srv/web/owncloud/core/img/filetypes/text-x-h.svg
+#srv/web/owncloud/core/img/filetypes/text-x-python.png
+#srv/web/owncloud/core/img/filetypes/text-x-python.svg
+#srv/web/owncloud/core/img/filetypes/text.png
+#srv/web/owncloud/core/img/filetypes/text.svg
+#srv/web/owncloud/core/img/filetypes/video.png
+#srv/web/owncloud/core/img/filetypes/video.svg
+#srv/web/owncloud/core/img/filetypes/web.png
+#srv/web/owncloud/core/img/filetypes/web.svg
+#srv/web/owncloud/core/img/filetypes/x-office-document.png
+#srv/web/owncloud/core/img/filetypes/x-office-document.svg
+#srv/web/owncloud/core/img/filetypes/x-office-presentation.png
+#srv/web/owncloud/core/img/filetypes/x-office-presentation.svg
+#srv/web/owncloud/core/img/filetypes/x-office-spreadsheet.png
+#srv/web/owncloud/core/img/filetypes/x-office-spreadsheet.svg
+#srv/web/owncloud/core/img/googleplay.png
+#srv/web/owncloud/core/img/image-optimization.sh
+#srv/web/owncloud/core/img/loading-dark.gif
+#srv/web/owncloud/core/img/loading-small.gif
+#srv/web/owncloud/core/img/loading.gif
+#srv/web/owncloud/core/img/logo-icon.png
+#srv/web/owncloud/core/img/logo-icon.svg
+#srv/web/owncloud/core/img/logo-mail.gif
+#srv/web/owncloud/core/img/logo-wide.png
+#srv/web/owncloud/core/img/logo-wide.svg
+#srv/web/owncloud/core/img/logo.png
+#srv/web/owncloud/core/img/logo.svg
+#srv/web/owncloud/core/img/places
+#srv/web/owncloud/core/img/places/calendar-dark.png
+#srv/web/owncloud/core/img/places/calendar-dark.svg
+#srv/web/owncloud/core/img/places/contacts-dark.png
+#srv/web/owncloud/core/img/places/contacts-dark.svg
+#srv/web/owncloud/core/img/places/file.png
+#srv/web/owncloud/core/img/places/file.svg
+#srv/web/owncloud/core/img/places/files.png
+#srv/web/owncloud/core/img/places/files.svg
+#srv/web/owncloud/core/img/places/folder.png
+#srv/web/owncloud/core/img/places/folder.svg
+#srv/web/owncloud/core/img/places/home.png
+#srv/web/owncloud/core/img/places/home.svg
+#srv/web/owncloud/core/img/places/link.png
+#srv/web/owncloud/core/img/places/link.svg
+#srv/web/owncloud/core/img/places/music.png
+#srv/web/owncloud/core/img/places/music.svg
+#srv/web/owncloud/core/img/places/picture.png
+#srv/web/owncloud/core/img/places/picture.svg
+#srv/web/owncloud/core/img/rating
+#srv/web/owncloud/core/img/rating/s1.png
+#srv/web/owncloud/core/img/rating/s10.png
+#srv/web/owncloud/core/img/rating/s11.png
+#srv/web/owncloud/core/img/rating/s2.png
+#srv/web/owncloud/core/img/rating/s3.png
+#srv/web/owncloud/core/img/rating/s4.png
+#srv/web/owncloud/core/img/rating/s5.png
+#srv/web/owncloud/core/img/rating/s6.png
+#srv/web/owncloud/core/img/rating/s7.png
+#srv/web/owncloud/core/img/rating/s8.png
+#srv/web/owncloud/core/img/rating/s9.png
+#srv/web/owncloud/core/js
+#srv/web/owncloud/core/js/LICENSE.jquery.inview
+#srv/web/owncloud/core/js/apps.js
+#srv/web/owncloud/core/js/avatar.js
+#srv/web/owncloud/core/js/backgroundjobs.js
+#srv/web/owncloud/core/js/compatibility.js
+#srv/web/owncloud/core/js/config.js
+#srv/web/owncloud/core/js/config.php
+#srv/web/owncloud/core/js/core.json
+#srv/web/owncloud/core/js/eventsource.js
+#srv/web/owncloud/core/js/jquery-1.10.0.js
+#srv/web/owncloud/core/js/jquery-1.10.0.min.js
+#srv/web/owncloud/core/js/jquery-migrate-1.2.1.js
+#srv/web/owncloud/core/js/jquery-migrate-1.2.1.min.js
+#srv/web/owncloud/core/js/jquery-showpassword.js
+#srv/web/owncloud/core/js/jquery-tipsy.js
+#srv/web/owncloud/core/js/jquery-ui-1.10.0.custom.js
+#srv/web/owncloud/core/js/jquery.avatar.js
+#srv/web/owncloud/core/js/jquery.inview.js
+#srv/web/owncloud/core/js/jquery.inview.txt
+#srv/web/owncloud/core/js/jquery.multiselect.js
+#srv/web/owncloud/core/js/jquery.ocdialog.js
+#srv/web/owncloud/core/js/jquery.placeholder.js
+#srv/web/owncloud/core/js/js.js
+#srv/web/owncloud/core/js/listview.js
+#srv/web/owncloud/core/js/lostpassword.js
+#srv/web/owncloud/core/js/multiselect.js
+#srv/web/owncloud/core/js/oc-dialogs.js
+#srv/web/owncloud/core/js/oc-requesttoken.js
+#srv/web/owncloud/core/js/octemplate.js
+#srv/web/owncloud/core/js/placeholder.js
+#srv/web/owncloud/core/js/placeholders.js
+#srv/web/owncloud/core/js/setup.js
+#srv/web/owncloud/core/js/share.js
+#srv/web/owncloud/core/js/singleselect.js
+#srv/web/owncloud/core/js/snap.js
+#srv/web/owncloud/core/js/tags.js
+#srv/web/owncloud/core/js/tests
+#srv/web/owncloud/core/js/tests/lib
+#srv/web/owncloud/core/js/tests/lib/sinon-1.7.3.js
+#srv/web/owncloud/core/js/tests/specHelper.js
+#srv/web/owncloud/core/js/tests/specs
+#srv/web/owncloud/core/js/tests/specs/coreSpec.js
+#srv/web/owncloud/core/js/tests/specs/shareSpec.js
+#srv/web/owncloud/core/js/underscore.js
+#srv/web/owncloud/core/js/update.js
+#srv/web/owncloud/core/js/visitortimezone.js
+#srv/web/owncloud/core/l10n
+#srv/web/owncloud/core/l10n/ach.php
+#srv/web/owncloud/core/l10n/ady.php
+#srv/web/owncloud/core/l10n/af.php
+#srv/web/owncloud/core/l10n/af_ZA.php
+#srv/web/owncloud/core/l10n/ak.php
+#srv/web/owncloud/core/l10n/am_ET.php
+#srv/web/owncloud/core/l10n/ar.php
+#srv/web/owncloud/core/l10n/ast.php
+#srv/web/owncloud/core/l10n/az.php
+#srv/web/owncloud/core/l10n/be.php
+#srv/web/owncloud/core/l10n/bg_BG.php
+#srv/web/owncloud/core/l10n/bn_BD.php
+#srv/web/owncloud/core/l10n/bn_IN.php
+#srv/web/owncloud/core/l10n/bs.php
+#srv/web/owncloud/core/l10n/ca.php
+#srv/web/owncloud/core/l10n/ca@valencia.php
+#srv/web/owncloud/core/l10n/cs_CZ.php
+#srv/web/owncloud/core/l10n/cy_GB.php
+#srv/web/owncloud/core/l10n/da.php
+#srv/web/owncloud/core/l10n/de.php
+#srv/web/owncloud/core/l10n/de_AT.php
+#srv/web/owncloud/core/l10n/de_CH.php
+#srv/web/owncloud/core/l10n/de_DE.php
+#srv/web/owncloud/core/l10n/el.php
+#srv/web/owncloud/core/l10n/en@pirate.php
+#srv/web/owncloud/core/l10n/en_GB.php
+#srv/web/owncloud/core/l10n/en_NZ.php
+#srv/web/owncloud/core/l10n/eo.php
+#srv/web/owncloud/core/l10n/es.php
+#srv/web/owncloud/core/l10n/es_AR.php
+#srv/web/owncloud/core/l10n/es_BO.php
+#srv/web/owncloud/core/l10n/es_CL.php
+#srv/web/owncloud/core/l10n/es_CO.php
+#srv/web/owncloud/core/l10n/es_CR.php
+#srv/web/owncloud/core/l10n/es_EC.php
+#srv/web/owncloud/core/l10n/es_MX.php
+#srv/web/owncloud/core/l10n/es_PE.php
+#srv/web/owncloud/core/l10n/es_PY.php
+#srv/web/owncloud/core/l10n/es_US.php
+#srv/web/owncloud/core/l10n/es_UY.php
+#srv/web/owncloud/core/l10n/et_EE.php
+#srv/web/owncloud/core/l10n/eu.php
+#srv/web/owncloud/core/l10n/eu_ES.php
+#srv/web/owncloud/core/l10n/fa.php
+#srv/web/owncloud/core/l10n/fi.php
+#srv/web/owncloud/core/l10n/fi_FI.php
+#srv/web/owncloud/core/l10n/fr.php
+#srv/web/owncloud/core/l10n/fr_CA.php
+#srv/web/owncloud/core/l10n/gl.php
+#srv/web/owncloud/core/l10n/he.php
+#srv/web/owncloud/core/l10n/hi.php
+#srv/web/owncloud/core/l10n/hi_IN.php
+#srv/web/owncloud/core/l10n/hr.php
+#srv/web/owncloud/core/l10n/hu_HU.php
+#srv/web/owncloud/core/l10n/hy.php
+#srv/web/owncloud/core/l10n/ia.php
+#srv/web/owncloud/core/l10n/id.php
+#srv/web/owncloud/core/l10n/ignorelist
+#srv/web/owncloud/core/l10n/is.php
+#srv/web/owncloud/core/l10n/it.php
+#srv/web/owncloud/core/l10n/ja.php
+#srv/web/owncloud/core/l10n/ja_JP.php
+#srv/web/owncloud/core/l10n/jv.php
+#srv/web/owncloud/core/l10n/ka.php
+#srv/web/owncloud/core/l10n/ka_GE.php
+#srv/web/owncloud/core/l10n/km.php
+#srv/web/owncloud/core/l10n/kn.php
+#srv/web/owncloud/core/l10n/ko.php
+#srv/web/owncloud/core/l10n/ku_IQ.php
+#srv/web/owncloud/core/l10n/l10n-de.php
+#srv/web/owncloud/core/l10n/l10n-en.php
+#srv/web/owncloud/core/l10n/l10n-es.php
+#srv/web/owncloud/core/l10n/lb.php
+#srv/web/owncloud/core/l10n/lt_LT.php
+#srv/web/owncloud/core/l10n/lv.php
+#srv/web/owncloud/core/l10n/mk.php
+#srv/web/owncloud/core/l10n/ml.php
+#srv/web/owncloud/core/l10n/ml_IN.php
+#srv/web/owncloud/core/l10n/mn.php
+#srv/web/owncloud/core/l10n/ms_MY.php
+#srv/web/owncloud/core/l10n/my_MM.php
+#srv/web/owncloud/core/l10n/nb_NO.php
+#srv/web/owncloud/core/l10n/nds.php
+#srv/web/owncloud/core/l10n/ne.php
+#srv/web/owncloud/core/l10n/nl.php
+#srv/web/owncloud/core/l10n/nn_NO.php
+#srv/web/owncloud/core/l10n/nqo.php
+#srv/web/owncloud/core/l10n/oc.php
+#srv/web/owncloud/core/l10n/or_IN.php
+#srv/web/owncloud/core/l10n/pa.php
+#srv/web/owncloud/core/l10n/pl.php
+#srv/web/owncloud/core/l10n/pt_BR.php
+#srv/web/owncloud/core/l10n/pt_PT.php
+#srv/web/owncloud/core/l10n/ro.php
+#srv/web/owncloud/core/l10n/ru.php
+#srv/web/owncloud/core/l10n/si_LK.php
+#srv/web/owncloud/core/l10n/sk.php
+#srv/web/owncloud/core/l10n/sk_SK.php
+#srv/web/owncloud/core/l10n/sl.php
+#srv/web/owncloud/core/l10n/sq.php
+#srv/web/owncloud/core/l10n/sr.php
+#srv/web/owncloud/core/l10n/sr@latin.php
+#srv/web/owncloud/core/l10n/su.php
+#srv/web/owncloud/core/l10n/sv.php
+#srv/web/owncloud/core/l10n/sw_KE.php
+#srv/web/owncloud/core/l10n/ta_IN.php
+#srv/web/owncloud/core/l10n/ta_LK.php
+#srv/web/owncloud/core/l10n/te.php
+#srv/web/owncloud/core/l10n/th_TH.php
+#srv/web/owncloud/core/l10n/tr.php
+#srv/web/owncloud/core/l10n/tzm.php
+#srv/web/owncloud/core/l10n/ug.php
+#srv/web/owncloud/core/l10n/uk.php
+#srv/web/owncloud/core/l10n/ur.php
+#srv/web/owncloud/core/l10n/ur_PK.php
+#srv/web/owncloud/core/l10n/uz.php
+#srv/web/owncloud/core/l10n/vi.php
+#srv/web/owncloud/core/l10n/xgettextfiles
+#srv/web/owncloud/core/l10n/zh_CN.php
+#srv/web/owncloud/core/l10n/zh_HK.php
+#srv/web/owncloud/core/l10n/zh_TW.php
+#srv/web/owncloud/core/lostpassword
+#srv/web/owncloud/core/lostpassword/application.php
+#srv/web/owncloud/core/lostpassword/controller
+#srv/web/owncloud/core/lostpassword/controller/lostcontroller.php
+#srv/web/owncloud/core/lostpassword/css
+#srv/web/owncloud/core/lostpassword/css/lostpassword.css
+#srv/web/owncloud/core/lostpassword/css/resetpassword.css
+#srv/web/owncloud/core/lostpassword/encrypteddataexception.php
+#srv/web/owncloud/core/lostpassword/templates
+#srv/web/owncloud/core/lostpassword/templates/email.php
+#srv/web/owncloud/core/lostpassword/templates/lostpassword.php
+#srv/web/owncloud/core/lostpassword/templates/resetpassword.php
+#srv/web/owncloud/core/register_command.php
+#srv/web/owncloud/core/routes.php
+#srv/web/owncloud/core/setup
+#srv/web/owncloud/core/setup/controller.php
+#srv/web/owncloud/core/skeleton
+#srv/web/owncloud/core/skeleton/documents
+#srv/web/owncloud/core/skeleton/documents/example.odt
+#srv/web/owncloud/core/skeleton/music
+#srv/web/owncloud/core/skeleton/music/projekteva-letitrain.mp3
+#srv/web/owncloud/core/skeleton/ownCloudUserManual.pdf
+#srv/web/owncloud/core/skeleton/photos
+#srv/web/owncloud/core/skeleton/photos/paris.jpg
+#srv/web/owncloud/core/skeleton/photos/san_francisco.jpg
+#srv/web/owncloud/core/skeleton/photos/squirrel.jpg
+#srv/web/owncloud/core/strings.php
+#srv/web/owncloud/core/tags
+#srv/web/owncloud/core/tags/controller.php
+#srv/web/owncloud/core/templates
+#srv/web/owncloud/core/templates/403.php
+#srv/web/owncloud/core/templates/404.php
+#srv/web/owncloud/core/templates/altmail.php
+#srv/web/owncloud/core/templates/error.php
+#srv/web/owncloud/core/templates/filepicker.html
+#srv/web/owncloud/core/templates/filetemplates
+#srv/web/owncloud/core/templates/filetemplates/template.html
+#srv/web/owncloud/core/templates/filetemplates/template.odp
+#srv/web/owncloud/core/templates/filetemplates/template.ods
+#srv/web/owncloud/core/templates/filetemplates/template.odt
+#srv/web/owncloud/core/templates/installation.php
+#srv/web/owncloud/core/templates/layout.base.php
+#srv/web/owncloud/core/templates/layout.guest.php
+#srv/web/owncloud/core/templates/layout.user.php
+#srv/web/owncloud/core/templates/login.php
+#srv/web/owncloud/core/templates/mail.php
+#srv/web/owncloud/core/templates/message.html
+#srv/web/owncloud/core/templates/singleuser.user.php
+#srv/web/owncloud/core/templates/tags.html
+#srv/web/owncloud/core/templates/update.admin.php
+#srv/web/owncloud/core/templates/update.user.php
+#srv/web/owncloud/cron.php
+#srv/web/owncloud/data
+#srv/web/owncloud/db_structure.xml
+#srv/web/owncloud/index.html
+#srv/web/owncloud/index.php
+#srv/web/owncloud/indie.json
+#srv/web/owncloud/l10n
+#srv/web/owncloud/l10n/ach
+#srv/web/owncloud/l10n/ach/core.po
+#srv/web/owncloud/l10n/ach/files.po
+#srv/web/owncloud/l10n/ach/files_encryption.po
+#srv/web/owncloud/l10n/ach/files_external.po
+#srv/web/owncloud/l10n/ach/files_sharing.po
+#srv/web/owncloud/l10n/ach/files_trashbin.po
+#srv/web/owncloud/l10n/ach/files_versions.po
+#srv/web/owncloud/l10n/ach/lib.po
+#srv/web/owncloud/l10n/ach/settings.po
+#srv/web/owncloud/l10n/ach/user_ldap.po
+#srv/web/owncloud/l10n/ach/user_webdavauth.po
+#srv/web/owncloud/l10n/ady
+#srv/web/owncloud/l10n/ady/core.po
+#srv/web/owncloud/l10n/ady/files.po
+#srv/web/owncloud/l10n/ady/files_encryption.po
+#srv/web/owncloud/l10n/ady/files_external.po
+#srv/web/owncloud/l10n/ady/files_sharing.po
+#srv/web/owncloud/l10n/ady/files_trashbin.po
+#srv/web/owncloud/l10n/ady/files_versions.po
+#srv/web/owncloud/l10n/ady/lib.po
+#srv/web/owncloud/l10n/ady/settings.po
+#srv/web/owncloud/l10n/ady/user_ldap.po
+#srv/web/owncloud/l10n/ady/user_webdavauth.po
+#srv/web/owncloud/l10n/af
+#srv/web/owncloud/l10n/af/core.po
+#srv/web/owncloud/l10n/af/files.po
+#srv/web/owncloud/l10n/af/files_encryption.po
+#srv/web/owncloud/l10n/af/files_external.po
+#srv/web/owncloud/l10n/af/files_sharing.po
+#srv/web/owncloud/l10n/af/files_trashbin.po
+#srv/web/owncloud/l10n/af/files_versions.po
+#srv/web/owncloud/l10n/af/lib.po
+#srv/web/owncloud/l10n/af/settings.po
+#srv/web/owncloud/l10n/af/user_ldap.po
+#srv/web/owncloud/l10n/af/user_webdavauth.po
+#srv/web/owncloud/l10n/af_ZA
+#srv/web/owncloud/l10n/af_ZA/core.po
+#srv/web/owncloud/l10n/af_ZA/files.po
+#srv/web/owncloud/l10n/af_ZA/files_encryption.po
+#srv/web/owncloud/l10n/af_ZA/files_external.po
+#srv/web/owncloud/l10n/af_ZA/files_sharing.po
+#srv/web/owncloud/l10n/af_ZA/files_trashbin.po
+#srv/web/owncloud/l10n/af_ZA/files_versions.po
+#srv/web/owncloud/l10n/af_ZA/lib.po
+#srv/web/owncloud/l10n/af_ZA/settings.po
+#srv/web/owncloud/l10n/af_ZA/user_ldap.po
+#srv/web/owncloud/l10n/af_ZA/user_webdavauth.po
+#srv/web/owncloud/l10n/ak
+#srv/web/owncloud/l10n/ak/core.po
+#srv/web/owncloud/l10n/ak/files.po
+#srv/web/owncloud/l10n/ak/files_encryption.po
+#srv/web/owncloud/l10n/ak/files_external.po
+#srv/web/owncloud/l10n/ak/files_sharing.po
+#srv/web/owncloud/l10n/ak/files_trashbin.po
+#srv/web/owncloud/l10n/ak/files_versions.po
+#srv/web/owncloud/l10n/ak/lib.po
+#srv/web/owncloud/l10n/ak/settings.po
+#srv/web/owncloud/l10n/ak/user_ldap.po
+#srv/web/owncloud/l10n/ak/user_webdavauth.po
+#srv/web/owncloud/l10n/am_ET
+#srv/web/owncloud/l10n/am_ET/core.po
+#srv/web/owncloud/l10n/am_ET/files.po
+#srv/web/owncloud/l10n/am_ET/files_encryption.po
+#srv/web/owncloud/l10n/am_ET/files_external.po
+#srv/web/owncloud/l10n/am_ET/files_sharing.po
+#srv/web/owncloud/l10n/am_ET/files_trashbin.po
+#srv/web/owncloud/l10n/am_ET/files_versions.po
+#srv/web/owncloud/l10n/am_ET/lib.po
+#srv/web/owncloud/l10n/am_ET/settings.po
+#srv/web/owncloud/l10n/am_ET/user_ldap.po
+#srv/web/owncloud/l10n/am_ET/user_webdavauth.po
+#srv/web/owncloud/l10n/ar
+#srv/web/owncloud/l10n/ar/core.po
+#srv/web/owncloud/l10n/ar/files.po
+#srv/web/owncloud/l10n/ar/files_encryption.po
+#srv/web/owncloud/l10n/ar/files_external.po
+#srv/web/owncloud/l10n/ar/files_sharing.po
+#srv/web/owncloud/l10n/ar/files_trashbin.po
+#srv/web/owncloud/l10n/ar/files_versions.po
+#srv/web/owncloud/l10n/ar/lib.po
+#srv/web/owncloud/l10n/ar/settings.po
+#srv/web/owncloud/l10n/ar/user_ldap.po
+#srv/web/owncloud/l10n/ar/user_webdavauth.po
+#srv/web/owncloud/l10n/ar_SA
+#srv/web/owncloud/l10n/ar_SA/core.po
+#srv/web/owncloud/l10n/ar_SA/files.po
+#srv/web/owncloud/l10n/ar_SA/files_encryption.po
+#srv/web/owncloud/l10n/ar_SA/files_external.po
+#srv/web/owncloud/l10n/ar_SA/files_sharing.po
+#srv/web/owncloud/l10n/ar_SA/files_versions.po
+#srv/web/owncloud/l10n/ar_SA/lib.po
+#srv/web/owncloud/l10n/ar_SA/settings.po
+#srv/web/owncloud/l10n/ar_SA/user_ldap.po
+#srv/web/owncloud/l10n/ast
+#srv/web/owncloud/l10n/ast/core.po
+#srv/web/owncloud/l10n/ast/files.po
+#srv/web/owncloud/l10n/ast/files_encryption.po
+#srv/web/owncloud/l10n/ast/files_external.po
+#srv/web/owncloud/l10n/ast/files_sharing.po
+#srv/web/owncloud/l10n/ast/files_trashbin.po
+#srv/web/owncloud/l10n/ast/files_versions.po
+#srv/web/owncloud/l10n/ast/lib.po
+#srv/web/owncloud/l10n/ast/settings.po
+#srv/web/owncloud/l10n/ast/user_ldap.po
+#srv/web/owncloud/l10n/ast/user_webdavauth.po
+#srv/web/owncloud/l10n/az
+#srv/web/owncloud/l10n/az/core.po
+#srv/web/owncloud/l10n/az/files.po
+#srv/web/owncloud/l10n/az/files_encryption.po
+#srv/web/owncloud/l10n/az/files_external.po
+#srv/web/owncloud/l10n/az/files_sharing.po
+#srv/web/owncloud/l10n/az/files_trashbin.po
+#srv/web/owncloud/l10n/az/files_versions.po
+#srv/web/owncloud/l10n/az/lib.po
+#srv/web/owncloud/l10n/az/settings.po
+#srv/web/owncloud/l10n/az/user_ldap.po
+#srv/web/owncloud/l10n/az/user_webdavauth.po
+#srv/web/owncloud/l10n/be
+#srv/web/owncloud/l10n/be/core.po
+#srv/web/owncloud/l10n/be/files.po
+#srv/web/owncloud/l10n/be/files_encryption.po
+#srv/web/owncloud/l10n/be/files_external.po
+#srv/web/owncloud/l10n/be/files_sharing.po
+#srv/web/owncloud/l10n/be/files_trashbin.po
+#srv/web/owncloud/l10n/be/files_versions.po
+#srv/web/owncloud/l10n/be/lib.po
+#srv/web/owncloud/l10n/be/settings.po
+#srv/web/owncloud/l10n/be/user_ldap.po
+#srv/web/owncloud/l10n/be/user_webdavauth.po
+#srv/web/owncloud/l10n/bg_BG
+#srv/web/owncloud/l10n/bg_BG/core.po
+#srv/web/owncloud/l10n/bg_BG/files.po
+#srv/web/owncloud/l10n/bg_BG/files_encryption.po
+#srv/web/owncloud/l10n/bg_BG/files_external.po
+#srv/web/owncloud/l10n/bg_BG/files_sharing.po
+#srv/web/owncloud/l10n/bg_BG/files_trashbin.po
+#srv/web/owncloud/l10n/bg_BG/files_versions.po
+#srv/web/owncloud/l10n/bg_BG/lib.po
+#srv/web/owncloud/l10n/bg_BG/settings.po
+#srv/web/owncloud/l10n/bg_BG/user_ldap.po
+#srv/web/owncloud/l10n/bg_BG/user_webdavauth.po
+#srv/web/owncloud/l10n/bn_BD
+#srv/web/owncloud/l10n/bn_BD/core.po
+#srv/web/owncloud/l10n/bn_BD/files.po
+#srv/web/owncloud/l10n/bn_BD/files_encryption.po
+#srv/web/owncloud/l10n/bn_BD/files_external.po
+#srv/web/owncloud/l10n/bn_BD/files_sharing.po
+#srv/web/owncloud/l10n/bn_BD/files_trashbin.po
+#srv/web/owncloud/l10n/bn_BD/files_versions.po
+#srv/web/owncloud/l10n/bn_BD/lib.po
+#srv/web/owncloud/l10n/bn_BD/settings.po
+#srv/web/owncloud/l10n/bn_BD/user_ldap.po
+#srv/web/owncloud/l10n/bn_BD/user_webdavauth.po
+#srv/web/owncloud/l10n/bn_IN
+#srv/web/owncloud/l10n/bn_IN/core.po
+#srv/web/owncloud/l10n/bn_IN/files.po
+#srv/web/owncloud/l10n/bn_IN/files_encryption.po
+#srv/web/owncloud/l10n/bn_IN/files_external.po
+#srv/web/owncloud/l10n/bn_IN/files_sharing.po
+#srv/web/owncloud/l10n/bn_IN/files_trashbin.po
+#srv/web/owncloud/l10n/bn_IN/files_versions.po
+#srv/web/owncloud/l10n/bn_IN/lib.po
+#srv/web/owncloud/l10n/bn_IN/settings.po
+#srv/web/owncloud/l10n/bn_IN/user_ldap.po
+#srv/web/owncloud/l10n/bn_IN/user_webdavauth.po
+#srv/web/owncloud/l10n/bs
+#srv/web/owncloud/l10n/bs/core.po
+#srv/web/owncloud/l10n/bs/files.po
+#srv/web/owncloud/l10n/bs/files_encryption.po
+#srv/web/owncloud/l10n/bs/files_external.po
+#srv/web/owncloud/l10n/bs/files_sharing.po
+#srv/web/owncloud/l10n/bs/files_trashbin.po
+#srv/web/owncloud/l10n/bs/files_versions.po
+#srv/web/owncloud/l10n/bs/lib.po
+#srv/web/owncloud/l10n/bs/settings.po
+#srv/web/owncloud/l10n/bs/user_ldap.po
+#srv/web/owncloud/l10n/bs/user_webdavauth.po
+#srv/web/owncloud/l10n/ca
+#srv/web/owncloud/l10n/ca/core.po
+#srv/web/owncloud/l10n/ca/files.po
+#srv/web/owncloud/l10n/ca/files_encryption.po
+#srv/web/owncloud/l10n/ca/files_external.po
+#srv/web/owncloud/l10n/ca/files_sharing.po
+#srv/web/owncloud/l10n/ca/files_trashbin.po
+#srv/web/owncloud/l10n/ca/files_versions.po
+#srv/web/owncloud/l10n/ca/lib.po
+#srv/web/owncloud/l10n/ca/settings.po
+#srv/web/owncloud/l10n/ca/user_ldap.po
+#srv/web/owncloud/l10n/ca/user_webdavauth.po
+#srv/web/owncloud/l10n/ca@valencia
+#srv/web/owncloud/l10n/ca@valencia/core.po
+#srv/web/owncloud/l10n/ca@valencia/files.po
+#srv/web/owncloud/l10n/ca@valencia/files_encryption.po
+#srv/web/owncloud/l10n/ca@valencia/files_external.po
+#srv/web/owncloud/l10n/ca@valencia/files_sharing.po
+#srv/web/owncloud/l10n/ca@valencia/files_trashbin.po
+#srv/web/owncloud/l10n/ca@valencia/files_versions.po
+#srv/web/owncloud/l10n/ca@valencia/lib.po
+#srv/web/owncloud/l10n/ca@valencia/settings.po
+#srv/web/owncloud/l10n/ca@valencia/user_ldap.po
+#srv/web/owncloud/l10n/ca@valencia/user_webdavauth.po
+#srv/web/owncloud/l10n/cs_CZ
+#srv/web/owncloud/l10n/cs_CZ/core.po
+#srv/web/owncloud/l10n/cs_CZ/files.po
+#srv/web/owncloud/l10n/cs_CZ/files_encryption.po
+#srv/web/owncloud/l10n/cs_CZ/files_external.po
+#srv/web/owncloud/l10n/cs_CZ/files_sharing.po
+#srv/web/owncloud/l10n/cs_CZ/files_trashbin.po
+#srv/web/owncloud/l10n/cs_CZ/files_versions.po
+#srv/web/owncloud/l10n/cs_CZ/lib.po
+#srv/web/owncloud/l10n/cs_CZ/settings.po
+#srv/web/owncloud/l10n/cs_CZ/user_ldap.po
+#srv/web/owncloud/l10n/cs_CZ/user_webdavauth.po
+#srv/web/owncloud/l10n/cy_GB
+#srv/web/owncloud/l10n/cy_GB/core.po
+#srv/web/owncloud/l10n/cy_GB/files.po
+#srv/web/owncloud/l10n/cy_GB/files_encryption.po
+#srv/web/owncloud/l10n/cy_GB/files_external.po
+#srv/web/owncloud/l10n/cy_GB/files_sharing.po
+#srv/web/owncloud/l10n/cy_GB/files_trashbin.po
+#srv/web/owncloud/l10n/cy_GB/files_versions.po
+#srv/web/owncloud/l10n/cy_GB/lib.po
+#srv/web/owncloud/l10n/cy_GB/settings.po
+#srv/web/owncloud/l10n/cy_GB/user_ldap.po
+#srv/web/owncloud/l10n/cy_GB/user_webdavauth.po
+#srv/web/owncloud/l10n/da
+#srv/web/owncloud/l10n/da/core.po
+#srv/web/owncloud/l10n/da/files.po
+#srv/web/owncloud/l10n/da/files_encryption.po
+#srv/web/owncloud/l10n/da/files_external.po
+#srv/web/owncloud/l10n/da/files_sharing.po
+#srv/web/owncloud/l10n/da/files_trashbin.po
+#srv/web/owncloud/l10n/da/files_versions.po
+#srv/web/owncloud/l10n/da/lib.po
+#srv/web/owncloud/l10n/da/settings.po
+#srv/web/owncloud/l10n/da/user_ldap.po
+#srv/web/owncloud/l10n/da/user_webdavauth.po
+#srv/web/owncloud/l10n/de
+#srv/web/owncloud/l10n/de/core.po
+#srv/web/owncloud/l10n/de/files.po
+#srv/web/owncloud/l10n/de/files_encryption.po
+#srv/web/owncloud/l10n/de/files_external.po
+#srv/web/owncloud/l10n/de/files_sharing.po
+#srv/web/owncloud/l10n/de/files_trashbin.po
+#srv/web/owncloud/l10n/de/files_versions.po
+#srv/web/owncloud/l10n/de/lib.po
+#srv/web/owncloud/l10n/de/settings.po
+#srv/web/owncloud/l10n/de/user_ldap.po
+#srv/web/owncloud/l10n/de/user_webdavauth.po
+#srv/web/owncloud/l10n/de_AT
+#srv/web/owncloud/l10n/de_AT/core.po
+#srv/web/owncloud/l10n/de_AT/files.po
+#srv/web/owncloud/l10n/de_AT/files_encryption.po
+#srv/web/owncloud/l10n/de_AT/files_external.po
+#srv/web/owncloud/l10n/de_AT/files_sharing.po
+#srv/web/owncloud/l10n/de_AT/files_trashbin.po
+#srv/web/owncloud/l10n/de_AT/files_versions.po
+#srv/web/owncloud/l10n/de_AT/lib.po
+#srv/web/owncloud/l10n/de_AT/settings.po
+#srv/web/owncloud/l10n/de_AT/user_ldap.po
+#srv/web/owncloud/l10n/de_AT/user_webdavauth.po
+#srv/web/owncloud/l10n/de_CH
+#srv/web/owncloud/l10n/de_CH/core.po
+#srv/web/owncloud/l10n/de_CH/files.po
+#srv/web/owncloud/l10n/de_CH/files_encryption.po
+#srv/web/owncloud/l10n/de_CH/files_external.po
+#srv/web/owncloud/l10n/de_CH/files_sharing.po
+#srv/web/owncloud/l10n/de_CH/files_trashbin.po
+#srv/web/owncloud/l10n/de_CH/files_versions.po
+#srv/web/owncloud/l10n/de_CH/lib.po
+#srv/web/owncloud/l10n/de_CH/settings.po
+#srv/web/owncloud/l10n/de_CH/user_ldap.po
+#srv/web/owncloud/l10n/de_CH/user_webdavauth.po
+#srv/web/owncloud/l10n/de_DE
+#srv/web/owncloud/l10n/de_DE/core.po
+#srv/web/owncloud/l10n/de_DE/files.po
+#srv/web/owncloud/l10n/de_DE/files_encryption.po
+#srv/web/owncloud/l10n/de_DE/files_external.po
+#srv/web/owncloud/l10n/de_DE/files_sharing.po
+#srv/web/owncloud/l10n/de_DE/files_trashbin.po
+#srv/web/owncloud/l10n/de_DE/files_versions.po
+#srv/web/owncloud/l10n/de_DE/lib.po
+#srv/web/owncloud/l10n/de_DE/settings.po
+#srv/web/owncloud/l10n/de_DE/user_ldap.po
+#srv/web/owncloud/l10n/de_DE/user_webdavauth.po
+#srv/web/owncloud/l10n/el
+#srv/web/owncloud/l10n/el/core.po
+#srv/web/owncloud/l10n/el/files.po
+#srv/web/owncloud/l10n/el/files_encryption.po
+#srv/web/owncloud/l10n/el/files_external.po
+#srv/web/owncloud/l10n/el/files_sharing.po
+#srv/web/owncloud/l10n/el/files_trashbin.po
+#srv/web/owncloud/l10n/el/files_versions.po
+#srv/web/owncloud/l10n/el/lib.po
+#srv/web/owncloud/l10n/el/settings.po
+#srv/web/owncloud/l10n/el/user_ldap.po
+#srv/web/owncloud/l10n/el/user_webdavauth.po
+#srv/web/owncloud/l10n/en@pirate
+#srv/web/owncloud/l10n/en@pirate/core.po
+#srv/web/owncloud/l10n/en@pirate/files.po
+#srv/web/owncloud/l10n/en@pirate/files_encryption.po
+#srv/web/owncloud/l10n/en@pirate/files_external.po
+#srv/web/owncloud/l10n/en@pirate/files_sharing.po
+#srv/web/owncloud/l10n/en@pirate/files_trashbin.po
+#srv/web/owncloud/l10n/en@pirate/files_versions.po
+#srv/web/owncloud/l10n/en@pirate/lib.po
+#srv/web/owncloud/l10n/en@pirate/settings.po
+#srv/web/owncloud/l10n/en@pirate/user_ldap.po
+#srv/web/owncloud/l10n/en@pirate/user_webdavauth.po
+#srv/web/owncloud/l10n/en_GB
+#srv/web/owncloud/l10n/en_GB/core.po
+#srv/web/owncloud/l10n/en_GB/files.po
+#srv/web/owncloud/l10n/en_GB/files_encryption.po
+#srv/web/owncloud/l10n/en_GB/files_external.po
+#srv/web/owncloud/l10n/en_GB/files_sharing.po
+#srv/web/owncloud/l10n/en_GB/files_trashbin.po
+#srv/web/owncloud/l10n/en_GB/files_versions.po
+#srv/web/owncloud/l10n/en_GB/lib.po
+#srv/web/owncloud/l10n/en_GB/settings.po
+#srv/web/owncloud/l10n/en_GB/user_ldap.po
+#srv/web/owncloud/l10n/en_GB/user_webdavauth.po
+#srv/web/owncloud/l10n/en_NZ
+#srv/web/owncloud/l10n/en_NZ/core.po
+#srv/web/owncloud/l10n/en_NZ/files.po
+#srv/web/owncloud/l10n/en_NZ/files_encryption.po
+#srv/web/owncloud/l10n/en_NZ/files_external.po
+#srv/web/owncloud/l10n/en_NZ/files_sharing.po
+#srv/web/owncloud/l10n/en_NZ/files_trashbin.po
+#srv/web/owncloud/l10n/en_NZ/files_versions.po
+#srv/web/owncloud/l10n/en_NZ/lib.po
+#srv/web/owncloud/l10n/en_NZ/settings.po
+#srv/web/owncloud/l10n/en_NZ/user_ldap.po
+#srv/web/owncloud/l10n/en_NZ/user_webdavauth.po
+#srv/web/owncloud/l10n/eo
+#srv/web/owncloud/l10n/eo/core.po
+#srv/web/owncloud/l10n/eo/files.po
+#srv/web/owncloud/l10n/eo/files_encryption.po
+#srv/web/owncloud/l10n/eo/files_external.po
+#srv/web/owncloud/l10n/eo/files_sharing.po
+#srv/web/owncloud/l10n/eo/files_trashbin.po
+#srv/web/owncloud/l10n/eo/files_versions.po
+#srv/web/owncloud/l10n/eo/lib.po
+#srv/web/owncloud/l10n/eo/settings.po
+#srv/web/owncloud/l10n/eo/user_ldap.po
+#srv/web/owncloud/l10n/eo/user_webdavauth.po
+#srv/web/owncloud/l10n/es
+#srv/web/owncloud/l10n/es/core.po
+#srv/web/owncloud/l10n/es/files.po
+#srv/web/owncloud/l10n/es/files_encryption.po
+#srv/web/owncloud/l10n/es/files_external.po
+#srv/web/owncloud/l10n/es/files_sharing.po
+#srv/web/owncloud/l10n/es/files_trashbin.po
+#srv/web/owncloud/l10n/es/files_versions.po
+#srv/web/owncloud/l10n/es/lib.po
+#srv/web/owncloud/l10n/es/settings.po
+#srv/web/owncloud/l10n/es/user_ldap.po
+#srv/web/owncloud/l10n/es/user_webdavauth.po
+#srv/web/owncloud/l10n/es_AR
+#srv/web/owncloud/l10n/es_AR/core.po
+#srv/web/owncloud/l10n/es_AR/files.po
+#srv/web/owncloud/l10n/es_AR/files_encryption.po
+#srv/web/owncloud/l10n/es_AR/files_external.po
+#srv/web/owncloud/l10n/es_AR/files_sharing.po
+#srv/web/owncloud/l10n/es_AR/files_trashbin.po
+#srv/web/owncloud/l10n/es_AR/files_versions.po
+#srv/web/owncloud/l10n/es_AR/lib.po
+#srv/web/owncloud/l10n/es_AR/settings.po
+#srv/web/owncloud/l10n/es_AR/user_ldap.po
+#srv/web/owncloud/l10n/es_AR/user_webdavauth.po
+#srv/web/owncloud/l10n/es_BO
+#srv/web/owncloud/l10n/es_BO/core.po
+#srv/web/owncloud/l10n/es_BO/files.po
+#srv/web/owncloud/l10n/es_BO/files_encryption.po
+#srv/web/owncloud/l10n/es_BO/files_external.po
+#srv/web/owncloud/l10n/es_BO/files_sharing.po
+#srv/web/owncloud/l10n/es_BO/files_trashbin.po
+#srv/web/owncloud/l10n/es_BO/files_versions.po
+#srv/web/owncloud/l10n/es_BO/lib.po
+#srv/web/owncloud/l10n/es_BO/settings.po
+#srv/web/owncloud/l10n/es_BO/user_ldap.po
+#srv/web/owncloud/l10n/es_BO/user_webdavauth.po
+#srv/web/owncloud/l10n/es_CL
+#srv/web/owncloud/l10n/es_CL/core.po
+#srv/web/owncloud/l10n/es_CL/files.po
+#srv/web/owncloud/l10n/es_CL/files_encryption.po
+#srv/web/owncloud/l10n/es_CL/files_external.po
+#srv/web/owncloud/l10n/es_CL/files_sharing.po
+#srv/web/owncloud/l10n/es_CL/files_trashbin.po
+#srv/web/owncloud/l10n/es_CL/files_versions.po
+#srv/web/owncloud/l10n/es_CL/lib.po
+#srv/web/owncloud/l10n/es_CL/settings.po
+#srv/web/owncloud/l10n/es_CL/user_ldap.po
+#srv/web/owncloud/l10n/es_CL/user_webdavauth.po
+#srv/web/owncloud/l10n/es_CO
+#srv/web/owncloud/l10n/es_CO/core.po
+#srv/web/owncloud/l10n/es_CO/files.po
+#srv/web/owncloud/l10n/es_CO/files_encryption.po
+#srv/web/owncloud/l10n/es_CO/files_external.po
+#srv/web/owncloud/l10n/es_CO/files_sharing.po
+#srv/web/owncloud/l10n/es_CO/files_trashbin.po
+#srv/web/owncloud/l10n/es_CO/files_versions.po
+#srv/web/owncloud/l10n/es_CO/lib.po
+#srv/web/owncloud/l10n/es_CO/settings.po
+#srv/web/owncloud/l10n/es_CO/user_ldap.po
+#srv/web/owncloud/l10n/es_CO/user_webdavauth.po
+#srv/web/owncloud/l10n/es_CR
+#srv/web/owncloud/l10n/es_CR/core.po
+#srv/web/owncloud/l10n/es_CR/files.po
+#srv/web/owncloud/l10n/es_CR/files_encryption.po
+#srv/web/owncloud/l10n/es_CR/files_external.po
+#srv/web/owncloud/l10n/es_CR/files_sharing.po
+#srv/web/owncloud/l10n/es_CR/files_trashbin.po
+#srv/web/owncloud/l10n/es_CR/files_versions.po
+#srv/web/owncloud/l10n/es_CR/lib.po
+#srv/web/owncloud/l10n/es_CR/settings.po
+#srv/web/owncloud/l10n/es_CR/user_ldap.po
+#srv/web/owncloud/l10n/es_CR/user_webdavauth.po
+#srv/web/owncloud/l10n/es_EC
+#srv/web/owncloud/l10n/es_EC/core.po
+#srv/web/owncloud/l10n/es_EC/files.po
+#srv/web/owncloud/l10n/es_EC/files_encryption.po
+#srv/web/owncloud/l10n/es_EC/files_external.po
+#srv/web/owncloud/l10n/es_EC/files_sharing.po
+#srv/web/owncloud/l10n/es_EC/files_trashbin.po
+#srv/web/owncloud/l10n/es_EC/files_versions.po
+#srv/web/owncloud/l10n/es_EC/lib.po
+#srv/web/owncloud/l10n/es_EC/settings.po
+#srv/web/owncloud/l10n/es_EC/user_ldap.po
+#srv/web/owncloud/l10n/es_EC/user_webdavauth.po
+#srv/web/owncloud/l10n/es_MX
+#srv/web/owncloud/l10n/es_MX/core.po
+#srv/web/owncloud/l10n/es_MX/files.po
+#srv/web/owncloud/l10n/es_MX/files_encryption.po
+#srv/web/owncloud/l10n/es_MX/files_external.po
+#srv/web/owncloud/l10n/es_MX/files_sharing.po
+#srv/web/owncloud/l10n/es_MX/files_trashbin.po
+#srv/web/owncloud/l10n/es_MX/files_versions.po
+#srv/web/owncloud/l10n/es_MX/lib.po
+#srv/web/owncloud/l10n/es_MX/settings.po
+#srv/web/owncloud/l10n/es_MX/user_ldap.po
+#srv/web/owncloud/l10n/es_MX/user_webdavauth.po
+#srv/web/owncloud/l10n/es_PE
+#srv/web/owncloud/l10n/es_PE/core.po
+#srv/web/owncloud/l10n/es_PE/files.po
+#srv/web/owncloud/l10n/es_PE/files_encryption.po
+#srv/web/owncloud/l10n/es_PE/files_external.po
+#srv/web/owncloud/l10n/es_PE/files_sharing.po
+#srv/web/owncloud/l10n/es_PE/files_trashbin.po
+#srv/web/owncloud/l10n/es_PE/files_versions.po
+#srv/web/owncloud/l10n/es_PE/lib.po
+#srv/web/owncloud/l10n/es_PE/settings.po
+#srv/web/owncloud/l10n/es_PE/user_ldap.po
+#srv/web/owncloud/l10n/es_PE/user_webdavauth.po
+#srv/web/owncloud/l10n/es_PY
+#srv/web/owncloud/l10n/es_PY/core.po
+#srv/web/owncloud/l10n/es_PY/files.po
+#srv/web/owncloud/l10n/es_PY/files_encryption.po
+#srv/web/owncloud/l10n/es_PY/files_external.po
+#srv/web/owncloud/l10n/es_PY/files_sharing.po
+#srv/web/owncloud/l10n/es_PY/files_trashbin.po
+#srv/web/owncloud/l10n/es_PY/files_versions.po
+#srv/web/owncloud/l10n/es_PY/lib.po
+#srv/web/owncloud/l10n/es_PY/settings.po
+#srv/web/owncloud/l10n/es_PY/user_ldap.po
+#srv/web/owncloud/l10n/es_PY/user_webdavauth.po
+#srv/web/owncloud/l10n/es_US
+#srv/web/owncloud/l10n/es_US/core.po
+#srv/web/owncloud/l10n/es_US/files.po
+#srv/web/owncloud/l10n/es_US/files_encryption.po
+#srv/web/owncloud/l10n/es_US/files_external.po
+#srv/web/owncloud/l10n/es_US/files_sharing.po
+#srv/web/owncloud/l10n/es_US/files_trashbin.po
+#srv/web/owncloud/l10n/es_US/files_versions.po
+#srv/web/owncloud/l10n/es_US/lib.po
+#srv/web/owncloud/l10n/es_US/settings.po
+#srv/web/owncloud/l10n/es_US/user_ldap.po
+#srv/web/owncloud/l10n/es_US/user_webdavauth.po
+#srv/web/owncloud/l10n/es_UY
+#srv/web/owncloud/l10n/es_UY/core.po
+#srv/web/owncloud/l10n/es_UY/files.po
+#srv/web/owncloud/l10n/es_UY/files_encryption.po
+#srv/web/owncloud/l10n/es_UY/files_external.po
+#srv/web/owncloud/l10n/es_UY/files_sharing.po
+#srv/web/owncloud/l10n/es_UY/files_trashbin.po
+#srv/web/owncloud/l10n/es_UY/files_versions.po
+#srv/web/owncloud/l10n/es_UY/lib.po
+#srv/web/owncloud/l10n/es_UY/settings.po
+#srv/web/owncloud/l10n/es_UY/user_ldap.po
+#srv/web/owncloud/l10n/es_UY/user_webdavauth.po
+#srv/web/owncloud/l10n/et_EE
+#srv/web/owncloud/l10n/et_EE/core.po
+#srv/web/owncloud/l10n/et_EE/files.po
+#srv/web/owncloud/l10n/et_EE/files_encryption.po
+#srv/web/owncloud/l10n/et_EE/files_external.po
+#srv/web/owncloud/l10n/et_EE/files_sharing.po
+#srv/web/owncloud/l10n/et_EE/files_trashbin.po
+#srv/web/owncloud/l10n/et_EE/files_versions.po
+#srv/web/owncloud/l10n/et_EE/lib.po
+#srv/web/owncloud/l10n/et_EE/settings.po
+#srv/web/owncloud/l10n/et_EE/user_ldap.po
+#srv/web/owncloud/l10n/et_EE/user_webdavauth.po
+#srv/web/owncloud/l10n/eu
+#srv/web/owncloud/l10n/eu/core.po
+#srv/web/owncloud/l10n/eu/files.po
+#srv/web/owncloud/l10n/eu/files_encryption.po
+#srv/web/owncloud/l10n/eu/files_external.po
+#srv/web/owncloud/l10n/eu/files_sharing.po
+#srv/web/owncloud/l10n/eu/files_trashbin.po
+#srv/web/owncloud/l10n/eu/files_versions.po
+#srv/web/owncloud/l10n/eu/lib.po
+#srv/web/owncloud/l10n/eu/settings.po
+#srv/web/owncloud/l10n/eu/user_ldap.po
+#srv/web/owncloud/l10n/eu/user_webdavauth.po
+#srv/web/owncloud/l10n/eu_ES
+#srv/web/owncloud/l10n/eu_ES/core.po
+#srv/web/owncloud/l10n/eu_ES/files.po
+#srv/web/owncloud/l10n/eu_ES/files_encryption.po
+#srv/web/owncloud/l10n/eu_ES/files_external.po
+#srv/web/owncloud/l10n/eu_ES/files_sharing.po
+#srv/web/owncloud/l10n/eu_ES/files_trashbin.po
+#srv/web/owncloud/l10n/eu_ES/files_versions.po
+#srv/web/owncloud/l10n/eu_ES/lib.po
+#srv/web/owncloud/l10n/eu_ES/settings.po
+#srv/web/owncloud/l10n/eu_ES/user_ldap.po
+#srv/web/owncloud/l10n/eu_ES/user_webdavauth.po
+#srv/web/owncloud/l10n/fa
+#srv/web/owncloud/l10n/fa/core.po
+#srv/web/owncloud/l10n/fa/files.po
+#srv/web/owncloud/l10n/fa/files_encryption.po
+#srv/web/owncloud/l10n/fa/files_external.po
+#srv/web/owncloud/l10n/fa/files_sharing.po
+#srv/web/owncloud/l10n/fa/files_trashbin.po
+#srv/web/owncloud/l10n/fa/files_versions.po
+#srv/web/owncloud/l10n/fa/lib.po
+#srv/web/owncloud/l10n/fa/settings.po
+#srv/web/owncloud/l10n/fa/user_ldap.po
+#srv/web/owncloud/l10n/fa/user_webdavauth.po
+#srv/web/owncloud/l10n/fi
+#srv/web/owncloud/l10n/fi/core.po
+#srv/web/owncloud/l10n/fi/files.po
+#srv/web/owncloud/l10n/fi/files_encryption.po
+#srv/web/owncloud/l10n/fi/files_external.po
+#srv/web/owncloud/l10n/fi/files_sharing.po
+#srv/web/owncloud/l10n/fi/files_trashbin.po
+#srv/web/owncloud/l10n/fi/files_versions.po
+#srv/web/owncloud/l10n/fi/lib.po
+#srv/web/owncloud/l10n/fi/settings.po
+#srv/web/owncloud/l10n/fi/user_ldap.po
+#srv/web/owncloud/l10n/fi/user_webdavauth.po
+#srv/web/owncloud/l10n/fi_FI
+#srv/web/owncloud/l10n/fi_FI/core.po
+#srv/web/owncloud/l10n/fi_FI/files.po
+#srv/web/owncloud/l10n/fi_FI/files_encryption.po
+#srv/web/owncloud/l10n/fi_FI/files_external.po
+#srv/web/owncloud/l10n/fi_FI/files_sharing.po
+#srv/web/owncloud/l10n/fi_FI/files_trashbin.po
+#srv/web/owncloud/l10n/fi_FI/files_versions.po
+#srv/web/owncloud/l10n/fi_FI/lib.po
+#srv/web/owncloud/l10n/fi_FI/settings.po
+#srv/web/owncloud/l10n/fi_FI/user_ldap.po
+#srv/web/owncloud/l10n/fi_FI/user_webdavauth.po
+#srv/web/owncloud/l10n/fr
+#srv/web/owncloud/l10n/fr/core.po
+#srv/web/owncloud/l10n/fr/files.po
+#srv/web/owncloud/l10n/fr/files_encryption.po
+#srv/web/owncloud/l10n/fr/files_external.po
+#srv/web/owncloud/l10n/fr/files_sharing.po
+#srv/web/owncloud/l10n/fr/files_trashbin.po
+#srv/web/owncloud/l10n/fr/files_versions.po
+#srv/web/owncloud/l10n/fr/lib.po
+#srv/web/owncloud/l10n/fr/settings.po
+#srv/web/owncloud/l10n/fr/user_ldap.po
+#srv/web/owncloud/l10n/fr/user_webdavauth.po
+#srv/web/owncloud/l10n/fr_CA
+#srv/web/owncloud/l10n/fr_CA/core.po
+#srv/web/owncloud/l10n/fr_CA/files.po
+#srv/web/owncloud/l10n/fr_CA/files_encryption.po
+#srv/web/owncloud/l10n/fr_CA/files_external.po
+#srv/web/owncloud/l10n/fr_CA/files_sharing.po
+#srv/web/owncloud/l10n/fr_CA/files_trashbin.po
+#srv/web/owncloud/l10n/fr_CA/files_versions.po
+#srv/web/owncloud/l10n/fr_CA/lib.po
+#srv/web/owncloud/l10n/fr_CA/settings.po
+#srv/web/owncloud/l10n/fr_CA/user_ldap.po
+#srv/web/owncloud/l10n/fr_CA/user_webdavauth.po
+#srv/web/owncloud/l10n/gl
+#srv/web/owncloud/l10n/gl/core.po
+#srv/web/owncloud/l10n/gl/files.po
+#srv/web/owncloud/l10n/gl/files_encryption.po
+#srv/web/owncloud/l10n/gl/files_external.po
+#srv/web/owncloud/l10n/gl/files_sharing.po
+#srv/web/owncloud/l10n/gl/files_trashbin.po
+#srv/web/owncloud/l10n/gl/files_versions.po
+#srv/web/owncloud/l10n/gl/lib.po
+#srv/web/owncloud/l10n/gl/settings.po
+#srv/web/owncloud/l10n/gl/user_ldap.po
+#srv/web/owncloud/l10n/gl/user_webdavauth.po
+#srv/web/owncloud/l10n/he
+#srv/web/owncloud/l10n/he/core.po
+#srv/web/owncloud/l10n/he/files.po
+#srv/web/owncloud/l10n/he/files_encryption.po
+#srv/web/owncloud/l10n/he/files_external.po
+#srv/web/owncloud/l10n/he/files_sharing.po
+#srv/web/owncloud/l10n/he/files_trashbin.po
+#srv/web/owncloud/l10n/he/files_versions.po
+#srv/web/owncloud/l10n/he/lib.po
+#srv/web/owncloud/l10n/he/settings.po
+#srv/web/owncloud/l10n/he/user_ldap.po
+#srv/web/owncloud/l10n/he/user_webdavauth.po
+#srv/web/owncloud/l10n/hi
+#srv/web/owncloud/l10n/hi/core.po
+#srv/web/owncloud/l10n/hi/files.po
+#srv/web/owncloud/l10n/hi/files_encryption.po
+#srv/web/owncloud/l10n/hi/files_external.po
+#srv/web/owncloud/l10n/hi/files_sharing.po
+#srv/web/owncloud/l10n/hi/files_trashbin.po
+#srv/web/owncloud/l10n/hi/files_versions.po
+#srv/web/owncloud/l10n/hi/lib.po
+#srv/web/owncloud/l10n/hi/settings.po
+#srv/web/owncloud/l10n/hi/user_ldap.po
+#srv/web/owncloud/l10n/hi/user_webdavauth.po
+#srv/web/owncloud/l10n/hi_IN
+#srv/web/owncloud/l10n/hi_IN/core.po
+#srv/web/owncloud/l10n/hi_IN/files.po
+#srv/web/owncloud/l10n/hi_IN/files_encryption.po
+#srv/web/owncloud/l10n/hi_IN/files_external.po
+#srv/web/owncloud/l10n/hi_IN/files_sharing.po
+#srv/web/owncloud/l10n/hi_IN/files_trashbin.po
+#srv/web/owncloud/l10n/hi_IN/files_versions.po
+#srv/web/owncloud/l10n/hi_IN/lib.po
+#srv/web/owncloud/l10n/hi_IN/settings.po
+#srv/web/owncloud/l10n/hi_IN/user_ldap.po
+#srv/web/owncloud/l10n/hi_IN/user_webdavauth.po
+#srv/web/owncloud/l10n/hr
+#srv/web/owncloud/l10n/hr/core.po
+#srv/web/owncloud/l10n/hr/files.po
+#srv/web/owncloud/l10n/hr/files_encryption.po
+#srv/web/owncloud/l10n/hr/files_external.po
+#srv/web/owncloud/l10n/hr/files_sharing.po
+#srv/web/owncloud/l10n/hr/files_trashbin.po
+#srv/web/owncloud/l10n/hr/files_versions.po
+#srv/web/owncloud/l10n/hr/lib.po
+#srv/web/owncloud/l10n/hr/settings.po
+#srv/web/owncloud/l10n/hr/user_ldap.po
+#srv/web/owncloud/l10n/hr/user_webdavauth.po
+#srv/web/owncloud/l10n/hu
+#srv/web/owncloud/l10n/hu/core.po
+#srv/web/owncloud/l10n/hu/files.po
+#srv/web/owncloud/l10n/hu/files_encryption.po
+#srv/web/owncloud/l10n/hu/files_external.po
+#srv/web/owncloud/l10n/hu/files_sharing.po
+#srv/web/owncloud/l10n/hu/files_versions.po
+#srv/web/owncloud/l10n/hu/lib.po
+#srv/web/owncloud/l10n/hu/settings.po
+#srv/web/owncloud/l10n/hu/user_ldap.po
+#srv/web/owncloud/l10n/hu/user_webdavauth.po
+#srv/web/owncloud/l10n/hu_HU
+#srv/web/owncloud/l10n/hu_HU/core.po
+#srv/web/owncloud/l10n/hu_HU/files.po
+#srv/web/owncloud/l10n/hu_HU/files_encryption.po
+#srv/web/owncloud/l10n/hu_HU/files_external.po
+#srv/web/owncloud/l10n/hu_HU/files_sharing.po
+#srv/web/owncloud/l10n/hu_HU/files_trashbin.po
+#srv/web/owncloud/l10n/hu_HU/files_versions.po
+#srv/web/owncloud/l10n/hu_HU/lib.po
+#srv/web/owncloud/l10n/hu_HU/settings.po
+#srv/web/owncloud/l10n/hu_HU/user_ldap.po
+#srv/web/owncloud/l10n/hu_HU/user_webdavauth.po
+#srv/web/owncloud/l10n/hy
+#srv/web/owncloud/l10n/hy/core.po
+#srv/web/owncloud/l10n/hy/files.po
+#srv/web/owncloud/l10n/hy/files_encryption.po
+#srv/web/owncloud/l10n/hy/files_external.po
+#srv/web/owncloud/l10n/hy/files_sharing.po
+#srv/web/owncloud/l10n/hy/files_trashbin.po
+#srv/web/owncloud/l10n/hy/files_versions.po
+#srv/web/owncloud/l10n/hy/lib.po
+#srv/web/owncloud/l10n/hy/settings.po
+#srv/web/owncloud/l10n/hy/user_ldap.po
+#srv/web/owncloud/l10n/hy/user_webdavauth.po
+#srv/web/owncloud/l10n/ia
+#srv/web/owncloud/l10n/ia/core.po
+#srv/web/owncloud/l10n/ia/files.po
+#srv/web/owncloud/l10n/ia/files_encryption.po
+#srv/web/owncloud/l10n/ia/files_external.po
+#srv/web/owncloud/l10n/ia/files_sharing.po
+#srv/web/owncloud/l10n/ia/files_trashbin.po
+#srv/web/owncloud/l10n/ia/files_versions.po
+#srv/web/owncloud/l10n/ia/lib.po
+#srv/web/owncloud/l10n/ia/settings.po
+#srv/web/owncloud/l10n/ia/user_ldap.po
+#srv/web/owncloud/l10n/ia/user_webdavauth.po
+#srv/web/owncloud/l10n/id
+#srv/web/owncloud/l10n/id/core.po
+#srv/web/owncloud/l10n/id/files.po
+#srv/web/owncloud/l10n/id/files_encryption.po
+#srv/web/owncloud/l10n/id/files_external.po
+#srv/web/owncloud/l10n/id/files_sharing.po
+#srv/web/owncloud/l10n/id/files_trashbin.po
+#srv/web/owncloud/l10n/id/files_versions.po
+#srv/web/owncloud/l10n/id/lib.po
+#srv/web/owncloud/l10n/id/settings.po
+#srv/web/owncloud/l10n/id/user_ldap.po
+#srv/web/owncloud/l10n/id/user_webdavauth.po
+#srv/web/owncloud/l10n/id_ID
+#srv/web/owncloud/l10n/id_ID/core.po
+#srv/web/owncloud/l10n/id_ID/files.po
+#srv/web/owncloud/l10n/id_ID/files_encryption.po
+#srv/web/owncloud/l10n/id_ID/files_external.po
+#srv/web/owncloud/l10n/id_ID/files_sharing.po
+#srv/web/owncloud/l10n/id_ID/files_versions.po
+#srv/web/owncloud/l10n/id_ID/lib.po
+#srv/web/owncloud/l10n/id_ID/settings.po
+#srv/web/owncloud/l10n/id_ID/user_ldap.po
+#srv/web/owncloud/l10n/init.sh
+#srv/web/owncloud/l10n/is
+#srv/web/owncloud/l10n/is/core.po
+#srv/web/owncloud/l10n/is/files.po
+#srv/web/owncloud/l10n/is/files_encryption.po
+#srv/web/owncloud/l10n/is/files_external.po
+#srv/web/owncloud/l10n/is/files_sharing.po
+#srv/web/owncloud/l10n/is/files_trashbin.po
+#srv/web/owncloud/l10n/is/files_versions.po
+#srv/web/owncloud/l10n/is/lib.po
+#srv/web/owncloud/l10n/is/settings.po
+#srv/web/owncloud/l10n/is/user_ldap.po
+#srv/web/owncloud/l10n/is/user_webdavauth.po
+#srv/web/owncloud/l10n/it
+#srv/web/owncloud/l10n/it/core.po
+#srv/web/owncloud/l10n/it/files.po
+#srv/web/owncloud/l10n/it/files_encryption.po
+#srv/web/owncloud/l10n/it/files_external.po
+#srv/web/owncloud/l10n/it/files_sharing.po
+#srv/web/owncloud/l10n/it/files_trashbin.po
+#srv/web/owncloud/l10n/it/files_versions.po
+#srv/web/owncloud/l10n/it/lib.po
+#srv/web/owncloud/l10n/it/settings.po
+#srv/web/owncloud/l10n/it/user_ldap.po
+#srv/web/owncloud/l10n/it/user_webdavauth.po
+#srv/web/owncloud/l10n/ja
+#srv/web/owncloud/l10n/ja/core.po
+#srv/web/owncloud/l10n/ja/files.po
+#srv/web/owncloud/l10n/ja/files_encryption.po
+#srv/web/owncloud/l10n/ja/files_external.po
+#srv/web/owncloud/l10n/ja/files_sharing.po
+#srv/web/owncloud/l10n/ja/files_trashbin.po
+#srv/web/owncloud/l10n/ja/files_versions.po
+#srv/web/owncloud/l10n/ja/lib.po
+#srv/web/owncloud/l10n/ja/settings.po
+#srv/web/owncloud/l10n/ja/user_ldap.po
+#srv/web/owncloud/l10n/ja/user_webdavauth.po
+#srv/web/owncloud/l10n/jv
+#srv/web/owncloud/l10n/jv/core.po
+#srv/web/owncloud/l10n/jv/files.po
+#srv/web/owncloud/l10n/jv/files_encryption.po
+#srv/web/owncloud/l10n/jv/files_external.po
+#srv/web/owncloud/l10n/jv/files_sharing.po
+#srv/web/owncloud/l10n/jv/files_trashbin.po
+#srv/web/owncloud/l10n/jv/files_versions.po
+#srv/web/owncloud/l10n/jv/lib.po
+#srv/web/owncloud/l10n/jv/settings.po
+#srv/web/owncloud/l10n/jv/user_ldap.po
+#srv/web/owncloud/l10n/jv/user_webdavauth.po
+#srv/web/owncloud/l10n/ka
+#srv/web/owncloud/l10n/ka/core.po
+#srv/web/owncloud/l10n/ka/files.po
+#srv/web/owncloud/l10n/ka/files_encryption.po
+#srv/web/owncloud/l10n/ka/files_external.po
+#srv/web/owncloud/l10n/ka/files_sharing.po
+#srv/web/owncloud/l10n/ka/files_trashbin.po
+#srv/web/owncloud/l10n/ka/files_versions.po
+#srv/web/owncloud/l10n/ka/lib.po
+#srv/web/owncloud/l10n/ka/settings.po
+#srv/web/owncloud/l10n/ka/user_ldap.po
+#srv/web/owncloud/l10n/ka/user_webdavauth.po
+#srv/web/owncloud/l10n/ka_GE
+#srv/web/owncloud/l10n/ka_GE/core.po
+#srv/web/owncloud/l10n/ka_GE/files.po
+#srv/web/owncloud/l10n/ka_GE/files_encryption.po
+#srv/web/owncloud/l10n/ka_GE/files_external.po
+#srv/web/owncloud/l10n/ka_GE/files_sharing.po
+#srv/web/owncloud/l10n/ka_GE/files_trashbin.po
+#srv/web/owncloud/l10n/ka_GE/files_versions.po
+#srv/web/owncloud/l10n/ka_GE/lib.po
+#srv/web/owncloud/l10n/ka_GE/settings.po
+#srv/web/owncloud/l10n/ka_GE/user_ldap.po
+#srv/web/owncloud/l10n/ka_GE/user_webdavauth.po
+#srv/web/owncloud/l10n/km
+#srv/web/owncloud/l10n/km/core.po
+#srv/web/owncloud/l10n/km/files.po
+#srv/web/owncloud/l10n/km/files_encryption.po
+#srv/web/owncloud/l10n/km/files_external.po
+#srv/web/owncloud/l10n/km/files_sharing.po
+#srv/web/owncloud/l10n/km/files_trashbin.po
+#srv/web/owncloud/l10n/km/files_versions.po
+#srv/web/owncloud/l10n/km/lib.po
+#srv/web/owncloud/l10n/km/settings.po
+#srv/web/owncloud/l10n/km/user_ldap.po
+#srv/web/owncloud/l10n/km/user_webdavauth.po
+#srv/web/owncloud/l10n/kn
+#srv/web/owncloud/l10n/kn/core.po
+#srv/web/owncloud/l10n/kn/files.po
+#srv/web/owncloud/l10n/kn/files_encryption.po
+#srv/web/owncloud/l10n/kn/files_external.po
+#srv/web/owncloud/l10n/kn/files_sharing.po
+#srv/web/owncloud/l10n/kn/files_trashbin.po
+#srv/web/owncloud/l10n/kn/files_versions.po
+#srv/web/owncloud/l10n/kn/lib.po
+#srv/web/owncloud/l10n/kn/settings.po
+#srv/web/owncloud/l10n/kn/user_ldap.po
+#srv/web/owncloud/l10n/kn/user_webdavauth.po
+#srv/web/owncloud/l10n/ko
+#srv/web/owncloud/l10n/ko/core.po
+#srv/web/owncloud/l10n/ko/files.po
+#srv/web/owncloud/l10n/ko/files_encryption.po
+#srv/web/owncloud/l10n/ko/files_external.po
+#srv/web/owncloud/l10n/ko/files_sharing.po
+#srv/web/owncloud/l10n/ko/files_trashbin.po
+#srv/web/owncloud/l10n/ko/files_versions.po
+#srv/web/owncloud/l10n/ko/lib.po
+#srv/web/owncloud/l10n/ko/settings.po
+#srv/web/owncloud/l10n/ko/user_ldap.po
+#srv/web/owncloud/l10n/ko/user_webdavauth.po
+#srv/web/owncloud/l10n/ku_IQ
+#srv/web/owncloud/l10n/ku_IQ/core.po
+#srv/web/owncloud/l10n/ku_IQ/files.po
+#srv/web/owncloud/l10n/ku_IQ/files_encryption.po
+#srv/web/owncloud/l10n/ku_IQ/files_external.po
+#srv/web/owncloud/l10n/ku_IQ/files_sharing.po
+#srv/web/owncloud/l10n/ku_IQ/files_trashbin.po
+#srv/web/owncloud/l10n/ku_IQ/files_versions.po
+#srv/web/owncloud/l10n/ku_IQ/lib.po
+#srv/web/owncloud/l10n/ku_IQ/settings.po
+#srv/web/owncloud/l10n/ku_IQ/user_ldap.po
+#srv/web/owncloud/l10n/ku_IQ/user_webdavauth.po
+#srv/web/owncloud/l10n/l10n.pl
+#srv/web/owncloud/l10n/lb
+#srv/web/owncloud/l10n/lb/core.po
+#srv/web/owncloud/l10n/lb/files.po
+#srv/web/owncloud/l10n/lb/files_encryption.po
+#srv/web/owncloud/l10n/lb/files_external.po
+#srv/web/owncloud/l10n/lb/files_sharing.po
+#srv/web/owncloud/l10n/lb/files_trashbin.po
+#srv/web/owncloud/l10n/lb/files_versions.po
+#srv/web/owncloud/l10n/lb/lib.po
+#srv/web/owncloud/l10n/lb/settings.po
+#srv/web/owncloud/l10n/lb/user_ldap.po
+#srv/web/owncloud/l10n/lb/user_webdavauth.po
+#srv/web/owncloud/l10n/lt_LT
+#srv/web/owncloud/l10n/lt_LT/core.po
+#srv/web/owncloud/l10n/lt_LT/files.po
+#srv/web/owncloud/l10n/lt_LT/files_encryption.po
+#srv/web/owncloud/l10n/lt_LT/files_external.po
+#srv/web/owncloud/l10n/lt_LT/files_sharing.po
+#srv/web/owncloud/l10n/lt_LT/files_trashbin.po
+#srv/web/owncloud/l10n/lt_LT/files_versions.po
+#srv/web/owncloud/l10n/lt_LT/lib.po
+#srv/web/owncloud/l10n/lt_LT/settings.po
+#srv/web/owncloud/l10n/lt_LT/user_ldap.po
+#srv/web/owncloud/l10n/lt_LT/user_webdavauth.po
+#srv/web/owncloud/l10n/lv
+#srv/web/owncloud/l10n/lv/core.po
+#srv/web/owncloud/l10n/lv/files.po
+#srv/web/owncloud/l10n/lv/files_encryption.po
+#srv/web/owncloud/l10n/lv/files_external.po
+#srv/web/owncloud/l10n/lv/files_sharing.po
+#srv/web/owncloud/l10n/lv/files_trashbin.po
+#srv/web/owncloud/l10n/lv/files_versions.po
+#srv/web/owncloud/l10n/lv/lib.po
+#srv/web/owncloud/l10n/lv/settings.po
+#srv/web/owncloud/l10n/lv/user_ldap.po
+#srv/web/owncloud/l10n/lv/user_webdavauth.po
+#srv/web/owncloud/l10n/mk
+#srv/web/owncloud/l10n/mk/core.po
+#srv/web/owncloud/l10n/mk/files.po
+#srv/web/owncloud/l10n/mk/files_encryption.po
+#srv/web/owncloud/l10n/mk/files_external.po
+#srv/web/owncloud/l10n/mk/files_sharing.po
+#srv/web/owncloud/l10n/mk/files_trashbin.po
+#srv/web/owncloud/l10n/mk/files_versions.po
+#srv/web/owncloud/l10n/mk/lib.po
+#srv/web/owncloud/l10n/mk/settings.po
+#srv/web/owncloud/l10n/mk/user_ldap.po
+#srv/web/owncloud/l10n/mk/user_webdavauth.po
+#srv/web/owncloud/l10n/ml
+#srv/web/owncloud/l10n/ml/core.po
+#srv/web/owncloud/l10n/ml/files.po
+#srv/web/owncloud/l10n/ml/files_encryption.po
+#srv/web/owncloud/l10n/ml/files_external.po
+#srv/web/owncloud/l10n/ml/files_sharing.po
+#srv/web/owncloud/l10n/ml/files_trashbin.po
+#srv/web/owncloud/l10n/ml/files_versions.po
+#srv/web/owncloud/l10n/ml/lib.po
+#srv/web/owncloud/l10n/ml/settings.po
+#srv/web/owncloud/l10n/ml/user_ldap.po
+#srv/web/owncloud/l10n/ml/user_webdavauth.po
+#srv/web/owncloud/l10n/ml_IN
+#srv/web/owncloud/l10n/ml_IN/core.po
+#srv/web/owncloud/l10n/ml_IN/files.po
+#srv/web/owncloud/l10n/ml_IN/files_encryption.po
+#srv/web/owncloud/l10n/ml_IN/files_external.po
+#srv/web/owncloud/l10n/ml_IN/files_sharing.po
+#srv/web/owncloud/l10n/ml_IN/files_trashbin.po
+#srv/web/owncloud/l10n/ml_IN/files_versions.po
+#srv/web/owncloud/l10n/ml_IN/lib.po
+#srv/web/owncloud/l10n/ml_IN/settings.po
+#srv/web/owncloud/l10n/ml_IN/user_ldap.po
+#srv/web/owncloud/l10n/ml_IN/user_webdavauth.po
+#srv/web/owncloud/l10n/mn
+#srv/web/owncloud/l10n/mn/core.po
+#srv/web/owncloud/l10n/mn/files.po
+#srv/web/owncloud/l10n/mn/files_encryption.po
+#srv/web/owncloud/l10n/mn/files_external.po
+#srv/web/owncloud/l10n/mn/files_sharing.po
+#srv/web/owncloud/l10n/mn/files_trashbin.po
+#srv/web/owncloud/l10n/mn/files_versions.po
+#srv/web/owncloud/l10n/mn/lib.po
+#srv/web/owncloud/l10n/mn/settings.po
+#srv/web/owncloud/l10n/mn/user_ldap.po
+#srv/web/owncloud/l10n/mn/user_webdavauth.po
+#srv/web/owncloud/l10n/ms_MY
+#srv/web/owncloud/l10n/ms_MY/core.po
+#srv/web/owncloud/l10n/ms_MY/files.po
+#srv/web/owncloud/l10n/ms_MY/files_encryption.po
+#srv/web/owncloud/l10n/ms_MY/files_external.po
+#srv/web/owncloud/l10n/ms_MY/files_sharing.po
+#srv/web/owncloud/l10n/ms_MY/files_trashbin.po
+#srv/web/owncloud/l10n/ms_MY/files_versions.po
+#srv/web/owncloud/l10n/ms_MY/lib.po
+#srv/web/owncloud/l10n/ms_MY/settings.po
+#srv/web/owncloud/l10n/ms_MY/user_ldap.po
+#srv/web/owncloud/l10n/ms_MY/user_webdavauth.po
+#srv/web/owncloud/l10n/my_MM
+#srv/web/owncloud/l10n/my_MM/core.po
+#srv/web/owncloud/l10n/my_MM/files.po
+#srv/web/owncloud/l10n/my_MM/files_encryption.po
+#srv/web/owncloud/l10n/my_MM/files_external.po
+#srv/web/owncloud/l10n/my_MM/files_sharing.po
+#srv/web/owncloud/l10n/my_MM/files_trashbin.po
+#srv/web/owncloud/l10n/my_MM/files_versions.po
+#srv/web/owncloud/l10n/my_MM/lib.po
+#srv/web/owncloud/l10n/my_MM/settings.po
+#srv/web/owncloud/l10n/my_MM/user_ldap.po
+#srv/web/owncloud/l10n/my_MM/user_webdavauth.po
+#srv/web/owncloud/l10n/nb_NO
+#srv/web/owncloud/l10n/nb_NO/core.po
+#srv/web/owncloud/l10n/nb_NO/files.po
+#srv/web/owncloud/l10n/nb_NO/files_encryption.po
+#srv/web/owncloud/l10n/nb_NO/files_external.po
+#srv/web/owncloud/l10n/nb_NO/files_sharing.po
+#srv/web/owncloud/l10n/nb_NO/files_trashbin.po
+#srv/web/owncloud/l10n/nb_NO/files_versions.po
+#srv/web/owncloud/l10n/nb_NO/lib.po
+#srv/web/owncloud/l10n/nb_NO/settings.po
+#srv/web/owncloud/l10n/nb_NO/user_ldap.po
+#srv/web/owncloud/l10n/nb_NO/user_webdavauth.po
+#srv/web/owncloud/l10n/nds
+#srv/web/owncloud/l10n/nds/core.po
+#srv/web/owncloud/l10n/nds/files.po
+#srv/web/owncloud/l10n/nds/files_encryption.po
+#srv/web/owncloud/l10n/nds/files_external.po
+#srv/web/owncloud/l10n/nds/files_sharing.po
+#srv/web/owncloud/l10n/nds/files_trashbin.po
+#srv/web/owncloud/l10n/nds/files_versions.po
+#srv/web/owncloud/l10n/nds/lib.po
+#srv/web/owncloud/l10n/nds/settings.po
+#srv/web/owncloud/l10n/nds/user_ldap.po
+#srv/web/owncloud/l10n/nds/user_webdavauth.po
+#srv/web/owncloud/l10n/ne
+#srv/web/owncloud/l10n/ne/core.po
+#srv/web/owncloud/l10n/ne/files.po
+#srv/web/owncloud/l10n/ne/files_encryption.po
+#srv/web/owncloud/l10n/ne/files_external.po
+#srv/web/owncloud/l10n/ne/files_sharing.po
+#srv/web/owncloud/l10n/ne/files_trashbin.po
+#srv/web/owncloud/l10n/ne/files_versions.po
+#srv/web/owncloud/l10n/ne/lib.po
+#srv/web/owncloud/l10n/ne/settings.po
+#srv/web/owncloud/l10n/ne/user_ldap.po
+#srv/web/owncloud/l10n/ne/user_webdavauth.po
+#srv/web/owncloud/l10n/nl
+#srv/web/owncloud/l10n/nl/core.po
+#srv/web/owncloud/l10n/nl/files.po
+#srv/web/owncloud/l10n/nl/files_encryption.po
+#srv/web/owncloud/l10n/nl/files_external.po
+#srv/web/owncloud/l10n/nl/files_sharing.po
+#srv/web/owncloud/l10n/nl/files_trashbin.po
+#srv/web/owncloud/l10n/nl/files_versions.po
+#srv/web/owncloud/l10n/nl/lib.po
+#srv/web/owncloud/l10n/nl/settings.po
+#srv/web/owncloud/l10n/nl/user_ldap.po
+#srv/web/owncloud/l10n/nl/user_webdavauth.po
+#srv/web/owncloud/l10n/nn_NO
+#srv/web/owncloud/l10n/nn_NO/core.po
+#srv/web/owncloud/l10n/nn_NO/files.po
+#srv/web/owncloud/l10n/nn_NO/files_encryption.po
+#srv/web/owncloud/l10n/nn_NO/files_external.po
+#srv/web/owncloud/l10n/nn_NO/files_sharing.po
+#srv/web/owncloud/l10n/nn_NO/files_trashbin.po
+#srv/web/owncloud/l10n/nn_NO/files_versions.po
+#srv/web/owncloud/l10n/nn_NO/lib.po
+#srv/web/owncloud/l10n/nn_NO/settings.po
+#srv/web/owncloud/l10n/nn_NO/user_ldap.po
+#srv/web/owncloud/l10n/nn_NO/user_webdavauth.po
+#srv/web/owncloud/l10n/nqo
+#srv/web/owncloud/l10n/nqo/core.po
+#srv/web/owncloud/l10n/nqo/files.po
+#srv/web/owncloud/l10n/nqo/files_encryption.po
+#srv/web/owncloud/l10n/nqo/files_external.po
+#srv/web/owncloud/l10n/nqo/files_sharing.po
+#srv/web/owncloud/l10n/nqo/files_trashbin.po
+#srv/web/owncloud/l10n/nqo/files_versions.po
+#srv/web/owncloud/l10n/nqo/lib.po
+#srv/web/owncloud/l10n/nqo/settings.po
+#srv/web/owncloud/l10n/nqo/user_ldap.po
+#srv/web/owncloud/l10n/nqo/user_webdavauth.po
+#srv/web/owncloud/l10n/oc
+#srv/web/owncloud/l10n/oc/core.po
+#srv/web/owncloud/l10n/oc/files.po
+#srv/web/owncloud/l10n/oc/files_encryption.po
+#srv/web/owncloud/l10n/oc/files_external.po
+#srv/web/owncloud/l10n/oc/files_sharing.po
+#srv/web/owncloud/l10n/oc/files_trashbin.po
+#srv/web/owncloud/l10n/oc/files_versions.po
+#srv/web/owncloud/l10n/oc/lib.po
+#srv/web/owncloud/l10n/oc/settings.po
+#srv/web/owncloud/l10n/oc/user_ldap.po
+#srv/web/owncloud/l10n/oc/user_webdavauth.po
+#srv/web/owncloud/l10n/or_IN
+#srv/web/owncloud/l10n/or_IN/core.po
+#srv/web/owncloud/l10n/or_IN/files.po
+#srv/web/owncloud/l10n/or_IN/files_encryption.po
+#srv/web/owncloud/l10n/or_IN/files_external.po
+#srv/web/owncloud/l10n/or_IN/files_sharing.po
+#srv/web/owncloud/l10n/or_IN/files_trashbin.po
+#srv/web/owncloud/l10n/or_IN/files_versions.po
+#srv/web/owncloud/l10n/or_IN/lib.po
+#srv/web/owncloud/l10n/or_IN/settings.po
+#srv/web/owncloud/l10n/or_IN/user_ldap.po
+#srv/web/owncloud/l10n/or_IN/user_webdavauth.po
+#srv/web/owncloud/l10n/pa
+#srv/web/owncloud/l10n/pa/core.po
+#srv/web/owncloud/l10n/pa/files.po
+#srv/web/owncloud/l10n/pa/files_encryption.po
+#srv/web/owncloud/l10n/pa/files_external.po
+#srv/web/owncloud/l10n/pa/files_sharing.po
+#srv/web/owncloud/l10n/pa/files_trashbin.po
+#srv/web/owncloud/l10n/pa/files_versions.po
+#srv/web/owncloud/l10n/pa/lib.po
+#srv/web/owncloud/l10n/pa/settings.po
+#srv/web/owncloud/l10n/pa/user_ldap.po
+#srv/web/owncloud/l10n/pa/user_webdavauth.po
+#srv/web/owncloud/l10n/pl
+#srv/web/owncloud/l10n/pl/core.po
+#srv/web/owncloud/l10n/pl/files.po
+#srv/web/owncloud/l10n/pl/files_encryption.po
+#srv/web/owncloud/l10n/pl/files_external.po
+#srv/web/owncloud/l10n/pl/files_sharing.po
+#srv/web/owncloud/l10n/pl/files_trashbin.po
+#srv/web/owncloud/l10n/pl/files_versions.po
+#srv/web/owncloud/l10n/pl/lib.po
+#srv/web/owncloud/l10n/pl/settings.po
+#srv/web/owncloud/l10n/pl/user_ldap.po
+#srv/web/owncloud/l10n/pl/user_webdavauth.po
+#srv/web/owncloud/l10n/pt_BR
+#srv/web/owncloud/l10n/pt_BR/core.po
+#srv/web/owncloud/l10n/pt_BR/files.po
+#srv/web/owncloud/l10n/pt_BR/files_encryption.po
+#srv/web/owncloud/l10n/pt_BR/files_external.po
+#srv/web/owncloud/l10n/pt_BR/files_sharing.po
+#srv/web/owncloud/l10n/pt_BR/files_trashbin.po
+#srv/web/owncloud/l10n/pt_BR/files_versions.po
+#srv/web/owncloud/l10n/pt_BR/lib.po
+#srv/web/owncloud/l10n/pt_BR/settings.po
+#srv/web/owncloud/l10n/pt_BR/user_ldap.po
+#srv/web/owncloud/l10n/pt_BR/user_webdavauth.po
+#srv/web/owncloud/l10n/pt_PT
+#srv/web/owncloud/l10n/pt_PT/core.po
+#srv/web/owncloud/l10n/pt_PT/files.po
+#srv/web/owncloud/l10n/pt_PT/files_encryption.po
+#srv/web/owncloud/l10n/pt_PT/files_external.po
+#srv/web/owncloud/l10n/pt_PT/files_sharing.po
+#srv/web/owncloud/l10n/pt_PT/files_trashbin.po
+#srv/web/owncloud/l10n/pt_PT/files_versions.po
+#srv/web/owncloud/l10n/pt_PT/lib.po
+#srv/web/owncloud/l10n/pt_PT/settings.po
+#srv/web/owncloud/l10n/pt_PT/user_ldap.po
+#srv/web/owncloud/l10n/pt_PT/user_webdavauth.po
+#srv/web/owncloud/l10n/ro
+#srv/web/owncloud/l10n/ro/core.po
+#srv/web/owncloud/l10n/ro/files.po
+#srv/web/owncloud/l10n/ro/files_encryption.po
+#srv/web/owncloud/l10n/ro/files_external.po
+#srv/web/owncloud/l10n/ro/files_sharing.po
+#srv/web/owncloud/l10n/ro/files_trashbin.po
+#srv/web/owncloud/l10n/ro/files_versions.po
+#srv/web/owncloud/l10n/ro/lib.po
+#srv/web/owncloud/l10n/ro/settings.po
+#srv/web/owncloud/l10n/ro/user_ldap.po
+#srv/web/owncloud/l10n/ro/user_webdavauth.po
+#srv/web/owncloud/l10n/ru
+#srv/web/owncloud/l10n/ru/core.po
+#srv/web/owncloud/l10n/ru/files.po
+#srv/web/owncloud/l10n/ru/files_encryption.po
+#srv/web/owncloud/l10n/ru/files_external.po
+#srv/web/owncloud/l10n/ru/files_sharing.po
+#srv/web/owncloud/l10n/ru/files_trashbin.po
+#srv/web/owncloud/l10n/ru/files_versions.po
+#srv/web/owncloud/l10n/ru/lib.po
+#srv/web/owncloud/l10n/ru/settings.po
+#srv/web/owncloud/l10n/ru/user_ldap.po
+#srv/web/owncloud/l10n/ru/user_webdavauth.po
+#srv/web/owncloud/l10n/si_LK
+#srv/web/owncloud/l10n/si_LK/core.po
+#srv/web/owncloud/l10n/si_LK/files.po
+#srv/web/owncloud/l10n/si_LK/files_encryption.po
+#srv/web/owncloud/l10n/si_LK/files_external.po
+#srv/web/owncloud/l10n/si_LK/files_sharing.po
+#srv/web/owncloud/l10n/si_LK/files_trashbin.po
+#srv/web/owncloud/l10n/si_LK/files_versions.po
+#srv/web/owncloud/l10n/si_LK/lib.po
+#srv/web/owncloud/l10n/si_LK/settings.po
+#srv/web/owncloud/l10n/si_LK/user_ldap.po
+#srv/web/owncloud/l10n/si_LK/user_webdavauth.po
+#srv/web/owncloud/l10n/sk
+#srv/web/owncloud/l10n/sk/core.po
+#srv/web/owncloud/l10n/sk/files.po
+#srv/web/owncloud/l10n/sk/files_encryption.po
+#srv/web/owncloud/l10n/sk/files_external.po
+#srv/web/owncloud/l10n/sk/files_sharing.po
+#srv/web/owncloud/l10n/sk/files_trashbin.po
+#srv/web/owncloud/l10n/sk/files_versions.po
+#srv/web/owncloud/l10n/sk/lib.po
+#srv/web/owncloud/l10n/sk/settings.po
+#srv/web/owncloud/l10n/sk/user_ldap.po
+#srv/web/owncloud/l10n/sk/user_webdavauth.po
+#srv/web/owncloud/l10n/sk_SK
+#srv/web/owncloud/l10n/sk_SK/core.po
+#srv/web/owncloud/l10n/sk_SK/files.po
+#srv/web/owncloud/l10n/sk_SK/files_encryption.po
+#srv/web/owncloud/l10n/sk_SK/files_external.po
+#srv/web/owncloud/l10n/sk_SK/files_sharing.po
+#srv/web/owncloud/l10n/sk_SK/files_trashbin.po
+#srv/web/owncloud/l10n/sk_SK/files_versions.po
+#srv/web/owncloud/l10n/sk_SK/lib.po
+#srv/web/owncloud/l10n/sk_SK/settings.po
+#srv/web/owncloud/l10n/sk_SK/user_ldap.po
+#srv/web/owncloud/l10n/sk_SK/user_webdavauth.po
+#srv/web/owncloud/l10n/sl
+#srv/web/owncloud/l10n/sl/core.po
+#srv/web/owncloud/l10n/sl/files.po
+#srv/web/owncloud/l10n/sl/files_encryption.po
+#srv/web/owncloud/l10n/sl/files_external.po
+#srv/web/owncloud/l10n/sl/files_sharing.po
+#srv/web/owncloud/l10n/sl/files_trashbin.po
+#srv/web/owncloud/l10n/sl/files_versions.po
+#srv/web/owncloud/l10n/sl/lib.po
+#srv/web/owncloud/l10n/sl/settings.po
+#srv/web/owncloud/l10n/sl/user_ldap.po
+#srv/web/owncloud/l10n/sl/user_webdavauth.po
+#srv/web/owncloud/l10n/so
+#srv/web/owncloud/l10n/so/core.po
+#srv/web/owncloud/l10n/so/files.po
+#srv/web/owncloud/l10n/so/files_encryption.po
+#srv/web/owncloud/l10n/so/files_external.po
+#srv/web/owncloud/l10n/so/files_sharing.po
+#srv/web/owncloud/l10n/so/files_versions.po
+#srv/web/owncloud/l10n/so/lib.po
+#srv/web/owncloud/l10n/so/settings.po
+#srv/web/owncloud/l10n/so/user_ldap.po
+#srv/web/owncloud/l10n/sq
+#srv/web/owncloud/l10n/sq/core.po
+#srv/web/owncloud/l10n/sq/files.po
+#srv/web/owncloud/l10n/sq/files_encryption.po
+#srv/web/owncloud/l10n/sq/files_external.po
+#srv/web/owncloud/l10n/sq/files_sharing.po
+#srv/web/owncloud/l10n/sq/files_trashbin.po
+#srv/web/owncloud/l10n/sq/files_versions.po
+#srv/web/owncloud/l10n/sq/lib.po
+#srv/web/owncloud/l10n/sq/settings.po
+#srv/web/owncloud/l10n/sq/user_ldap.po
+#srv/web/owncloud/l10n/sq/user_webdavauth.po
+#srv/web/owncloud/l10n/sr
+#srv/web/owncloud/l10n/sr/core.po
+#srv/web/owncloud/l10n/sr/files.po
+#srv/web/owncloud/l10n/sr/files_encryption.po
+#srv/web/owncloud/l10n/sr/files_external.po
+#srv/web/owncloud/l10n/sr/files_sharing.po
+#srv/web/owncloud/l10n/sr/files_trashbin.po
+#srv/web/owncloud/l10n/sr/files_versions.po
+#srv/web/owncloud/l10n/sr/lib.po
+#srv/web/owncloud/l10n/sr/settings.po
+#srv/web/owncloud/l10n/sr/user_ldap.po
+#srv/web/owncloud/l10n/sr/user_webdavauth.po
+#srv/web/owncloud/l10n/sr@latin
+#srv/web/owncloud/l10n/sr@latin/core.po
+#srv/web/owncloud/l10n/sr@latin/files.po
+#srv/web/owncloud/l10n/sr@latin/files_encryption.po
+#srv/web/owncloud/l10n/sr@latin/files_external.po
+#srv/web/owncloud/l10n/sr@latin/files_sharing.po
+#srv/web/owncloud/l10n/sr@latin/files_trashbin.po
+#srv/web/owncloud/l10n/sr@latin/files_versions.po
+#srv/web/owncloud/l10n/sr@latin/lib.po
+#srv/web/owncloud/l10n/sr@latin/settings.po
+#srv/web/owncloud/l10n/sr@latin/user_ldap.po
+#srv/web/owncloud/l10n/sr@latin/user_webdavauth.po
+#srv/web/owncloud/l10n/su
+#srv/web/owncloud/l10n/su/core.po
+#srv/web/owncloud/l10n/su/files.po
+#srv/web/owncloud/l10n/su/files_encryption.po
+#srv/web/owncloud/l10n/su/files_external.po
+#srv/web/owncloud/l10n/su/files_sharing.po
+#srv/web/owncloud/l10n/su/files_trashbin.po
+#srv/web/owncloud/l10n/su/files_versions.po
+#srv/web/owncloud/l10n/su/lib.po
+#srv/web/owncloud/l10n/su/settings.po
+#srv/web/owncloud/l10n/su/user_ldap.po
+#srv/web/owncloud/l10n/su/user_webdavauth.po
+#srv/web/owncloud/l10n/sv
+#srv/web/owncloud/l10n/sv/core.po
+#srv/web/owncloud/l10n/sv/files.po
+#srv/web/owncloud/l10n/sv/files_encryption.po
+#srv/web/owncloud/l10n/sv/files_external.po
+#srv/web/owncloud/l10n/sv/files_sharing.po
+#srv/web/owncloud/l10n/sv/files_trashbin.po
+#srv/web/owncloud/l10n/sv/files_versions.po
+#srv/web/owncloud/l10n/sv/lib.po
+#srv/web/owncloud/l10n/sv/settings.po
+#srv/web/owncloud/l10n/sv/user_ldap.po
+#srv/web/owncloud/l10n/sv/user_webdavauth.po
+#srv/web/owncloud/l10n/sw_KE
+#srv/web/owncloud/l10n/sw_KE/core.po
+#srv/web/owncloud/l10n/sw_KE/files.po
+#srv/web/owncloud/l10n/sw_KE/files_encryption.po
+#srv/web/owncloud/l10n/sw_KE/files_external.po
+#srv/web/owncloud/l10n/sw_KE/files_sharing.po
+#srv/web/owncloud/l10n/sw_KE/files_trashbin.po
+#srv/web/owncloud/l10n/sw_KE/files_versions.po
+#srv/web/owncloud/l10n/sw_KE/lib.po
+#srv/web/owncloud/l10n/sw_KE/settings.po
+#srv/web/owncloud/l10n/sw_KE/user_ldap.po
+#srv/web/owncloud/l10n/sw_KE/user_webdavauth.po
+#srv/web/owncloud/l10n/ta_IN
+#srv/web/owncloud/l10n/ta_IN/core.po
+#srv/web/owncloud/l10n/ta_IN/files.po
+#srv/web/owncloud/l10n/ta_IN/files_encryption.po
+#srv/web/owncloud/l10n/ta_IN/files_external.po
+#srv/web/owncloud/l10n/ta_IN/files_sharing.po
+#srv/web/owncloud/l10n/ta_IN/files_trashbin.po
+#srv/web/owncloud/l10n/ta_IN/files_versions.po
+#srv/web/owncloud/l10n/ta_IN/lib.po
+#srv/web/owncloud/l10n/ta_IN/settings.po
+#srv/web/owncloud/l10n/ta_IN/user_ldap.po
+#srv/web/owncloud/l10n/ta_IN/user_webdavauth.po
+#srv/web/owncloud/l10n/ta_LK
+#srv/web/owncloud/l10n/ta_LK/core.po
+#srv/web/owncloud/l10n/ta_LK/files.po
+#srv/web/owncloud/l10n/ta_LK/files_encryption.po
+#srv/web/owncloud/l10n/ta_LK/files_external.po
+#srv/web/owncloud/l10n/ta_LK/files_sharing.po
+#srv/web/owncloud/l10n/ta_LK/files_trashbin.po
+#srv/web/owncloud/l10n/ta_LK/files_versions.po
+#srv/web/owncloud/l10n/ta_LK/lib.po
+#srv/web/owncloud/l10n/ta_LK/settings.po
+#srv/web/owncloud/l10n/ta_LK/user_ldap.po
+#srv/web/owncloud/l10n/ta_LK/user_webdavauth.po
+#srv/web/owncloud/l10n/te
+#srv/web/owncloud/l10n/te/core.po
+#srv/web/owncloud/l10n/te/files.po
+#srv/web/owncloud/l10n/te/files_encryption.po
+#srv/web/owncloud/l10n/te/files_external.po
+#srv/web/owncloud/l10n/te/files_sharing.po
+#srv/web/owncloud/l10n/te/files_trashbin.po
+#srv/web/owncloud/l10n/te/files_versions.po
+#srv/web/owncloud/l10n/te/lib.po
+#srv/web/owncloud/l10n/te/settings.po
+#srv/web/owncloud/l10n/te/user_ldap.po
+#srv/web/owncloud/l10n/te/user_webdavauth.po
+#srv/web/owncloud/l10n/templates
+#srv/web/owncloud/l10n/templates/core.pot
+#srv/web/owncloud/l10n/templates/files.pot
+#srv/web/owncloud/l10n/templates/files_encryption.pot
+#srv/web/owncloud/l10n/templates/files_external.pot
+#srv/web/owncloud/l10n/templates/files_sharing.pot
+#srv/web/owncloud/l10n/templates/files_trashbin.pot
+#srv/web/owncloud/l10n/templates/files_versions.pot
+#srv/web/owncloud/l10n/templates/lib.pot
+#srv/web/owncloud/l10n/templates/private.pot
+#srv/web/owncloud/l10n/templates/settings.pot
+#srv/web/owncloud/l10n/templates/user_ldap.pot
+#srv/web/owncloud/l10n/templates/user_webdavauth.pot
+#srv/web/owncloud/l10n/th_TH
+#srv/web/owncloud/l10n/th_TH/core.po
+#srv/web/owncloud/l10n/th_TH/files.po
+#srv/web/owncloud/l10n/th_TH/files_encryption.po
+#srv/web/owncloud/l10n/th_TH/files_external.po
+#srv/web/owncloud/l10n/th_TH/files_sharing.po
+#srv/web/owncloud/l10n/th_TH/files_trashbin.po
+#srv/web/owncloud/l10n/th_TH/files_versions.po
+#srv/web/owncloud/l10n/th_TH/lib.po
+#srv/web/owncloud/l10n/th_TH/settings.po
+#srv/web/owncloud/l10n/th_TH/user_ldap.po
+#srv/web/owncloud/l10n/th_TH/user_webdavauth.po
+#srv/web/owncloud/l10n/tr
+#srv/web/owncloud/l10n/tr/core.po
+#srv/web/owncloud/l10n/tr/files.po
+#srv/web/owncloud/l10n/tr/files_encryption.po
+#srv/web/owncloud/l10n/tr/files_external.po
+#srv/web/owncloud/l10n/tr/files_sharing.po
+#srv/web/owncloud/l10n/tr/files_trashbin.po
+#srv/web/owncloud/l10n/tr/files_versions.po
+#srv/web/owncloud/l10n/tr/lib.po
+#srv/web/owncloud/l10n/tr/settings.po
+#srv/web/owncloud/l10n/tr/user_ldap.po
+#srv/web/owncloud/l10n/tr/user_webdavauth.po
+#srv/web/owncloud/l10n/tzm
+#srv/web/owncloud/l10n/tzm/core.po
+#srv/web/owncloud/l10n/tzm/files.po
+#srv/web/owncloud/l10n/tzm/files_encryption.po
+#srv/web/owncloud/l10n/tzm/files_external.po
+#srv/web/owncloud/l10n/tzm/files_sharing.po
+#srv/web/owncloud/l10n/tzm/files_trashbin.po
+#srv/web/owncloud/l10n/tzm/files_versions.po
+#srv/web/owncloud/l10n/tzm/lib.po
+#srv/web/owncloud/l10n/tzm/settings.po
+#srv/web/owncloud/l10n/tzm/user_ldap.po
+#srv/web/owncloud/l10n/tzm/user_webdavauth.po
+#srv/web/owncloud/l10n/ug
+#srv/web/owncloud/l10n/ug/core.po
+#srv/web/owncloud/l10n/ug/files.po
+#srv/web/owncloud/l10n/ug/files_encryption.po
+#srv/web/owncloud/l10n/ug/files_external.po
+#srv/web/owncloud/l10n/ug/files_sharing.po
+#srv/web/owncloud/l10n/ug/files_trashbin.po
+#srv/web/owncloud/l10n/ug/files_versions.po
+#srv/web/owncloud/l10n/ug/lib.po
+#srv/web/owncloud/l10n/ug/settings.po
+#srv/web/owncloud/l10n/ug/user_ldap.po
+#srv/web/owncloud/l10n/ug/user_webdavauth.po
+#srv/web/owncloud/l10n/uk
+#srv/web/owncloud/l10n/uk/core.po
+#srv/web/owncloud/l10n/uk/files.po
+#srv/web/owncloud/l10n/uk/files_encryption.po
+#srv/web/owncloud/l10n/uk/files_external.po
+#srv/web/owncloud/l10n/uk/files_sharing.po
+#srv/web/owncloud/l10n/uk/files_trashbin.po
+#srv/web/owncloud/l10n/uk/files_versions.po
+#srv/web/owncloud/l10n/uk/lib.po
+#srv/web/owncloud/l10n/uk/settings.po
+#srv/web/owncloud/l10n/uk/user_ldap.po
+#srv/web/owncloud/l10n/uk/user_webdavauth.po
+#srv/web/owncloud/l10n/ur
+#srv/web/owncloud/l10n/ur/core.po
+#srv/web/owncloud/l10n/ur/files.po
+#srv/web/owncloud/l10n/ur/files_encryption.po
+#srv/web/owncloud/l10n/ur/files_external.po
+#srv/web/owncloud/l10n/ur/files_sharing.po
+#srv/web/owncloud/l10n/ur/files_trashbin.po
+#srv/web/owncloud/l10n/ur/files_versions.po
+#srv/web/owncloud/l10n/ur/lib.po
+#srv/web/owncloud/l10n/ur/settings.po
+#srv/web/owncloud/l10n/ur/user_ldap.po
+#srv/web/owncloud/l10n/ur/user_webdavauth.po
+#srv/web/owncloud/l10n/ur_PK
+#srv/web/owncloud/l10n/ur_PK/core.po
+#srv/web/owncloud/l10n/ur_PK/files.po
+#srv/web/owncloud/l10n/ur_PK/files_encryption.po
+#srv/web/owncloud/l10n/ur_PK/files_external.po
+#srv/web/owncloud/l10n/ur_PK/files_sharing.po
+#srv/web/owncloud/l10n/ur_PK/files_trashbin.po
+#srv/web/owncloud/l10n/ur_PK/files_versions.po
+#srv/web/owncloud/l10n/ur_PK/lib.po
+#srv/web/owncloud/l10n/ur_PK/settings.po
+#srv/web/owncloud/l10n/ur_PK/user_ldap.po
+#srv/web/owncloud/l10n/ur_PK/user_webdavauth.po
+#srv/web/owncloud/l10n/uz
+#srv/web/owncloud/l10n/uz/core.po
+#srv/web/owncloud/l10n/uz/files.po
+#srv/web/owncloud/l10n/uz/files_encryption.po
+#srv/web/owncloud/l10n/uz/files_external.po
+#srv/web/owncloud/l10n/uz/files_sharing.po
+#srv/web/owncloud/l10n/uz/files_trashbin.po
+#srv/web/owncloud/l10n/uz/files_versions.po
+#srv/web/owncloud/l10n/uz/lib.po
+#srv/web/owncloud/l10n/uz/settings.po
+#srv/web/owncloud/l10n/uz/user_ldap.po
+#srv/web/owncloud/l10n/uz/user_webdavauth.po
+#srv/web/owncloud/l10n/vi
+#srv/web/owncloud/l10n/vi/core.po
+#srv/web/owncloud/l10n/vi/files.po
+#srv/web/owncloud/l10n/vi/files_encryption.po
+#srv/web/owncloud/l10n/vi/files_external.po
+#srv/web/owncloud/l10n/vi/files_sharing.po
+#srv/web/owncloud/l10n/vi/files_trashbin.po
+#srv/web/owncloud/l10n/vi/files_versions.po
+#srv/web/owncloud/l10n/vi/lib.po
+#srv/web/owncloud/l10n/vi/settings.po
+#srv/web/owncloud/l10n/vi/user_ldap.po
+#srv/web/owncloud/l10n/vi/user_webdavauth.po
+#srv/web/owncloud/l10n/zh_CN
+#srv/web/owncloud/l10n/zh_CN/core.po
+#srv/web/owncloud/l10n/zh_CN/files.po
+#srv/web/owncloud/l10n/zh_CN/files_encryption.po
+#srv/web/owncloud/l10n/zh_CN/files_external.po
+#srv/web/owncloud/l10n/zh_CN/files_sharing.po
+#srv/web/owncloud/l10n/zh_CN/files_trashbin.po
+#srv/web/owncloud/l10n/zh_CN/files_versions.po
+#srv/web/owncloud/l10n/zh_CN/lib.po
+#srv/web/owncloud/l10n/zh_CN/settings.po
+#srv/web/owncloud/l10n/zh_CN/user_ldap.po
+#srv/web/owncloud/l10n/zh_CN/user_webdavauth.po
+#srv/web/owncloud/l10n/zh_HK
+#srv/web/owncloud/l10n/zh_HK/core.po
+#srv/web/owncloud/l10n/zh_HK/files.po
+#srv/web/owncloud/l10n/zh_HK/files_encryption.po
+#srv/web/owncloud/l10n/zh_HK/files_external.po
+#srv/web/owncloud/l10n/zh_HK/files_sharing.po
+#srv/web/owncloud/l10n/zh_HK/files_trashbin.po
+#srv/web/owncloud/l10n/zh_HK/files_versions.po
+#srv/web/owncloud/l10n/zh_HK/lib.po
+#srv/web/owncloud/l10n/zh_HK/settings.po
+#srv/web/owncloud/l10n/zh_HK/user_ldap.po
+#srv/web/owncloud/l10n/zh_HK/user_webdavauth.po
+#srv/web/owncloud/l10n/zh_TW
+#srv/web/owncloud/l10n/zh_TW/core.po
+#srv/web/owncloud/l10n/zh_TW/files.po
+#srv/web/owncloud/l10n/zh_TW/files_encryption.po
+#srv/web/owncloud/l10n/zh_TW/files_external.po
+#srv/web/owncloud/l10n/zh_TW/files_sharing.po
+#srv/web/owncloud/l10n/zh_TW/files_trashbin.po
+#srv/web/owncloud/l10n/zh_TW/files_versions.po
+#srv/web/owncloud/l10n/zh_TW/lib.po
+#srv/web/owncloud/l10n/zh_TW/settings.po
+#srv/web/owncloud/l10n/zh_TW/user_ldap.po
+#srv/web/owncloud/l10n/zh_TW/user_webdavauth.po
+#srv/web/owncloud/l10n/zu_ZA
+#srv/web/owncloud/l10n/zu_ZA/core.po
+#srv/web/owncloud/l10n/zu_ZA/files.po
+#srv/web/owncloud/l10n/zu_ZA/files_encryption.po
+#srv/web/owncloud/l10n/zu_ZA/files_external.po
+#srv/web/owncloud/l10n/zu_ZA/files_sharing.po
+#srv/web/owncloud/l10n/zu_ZA/files_versions.po
+#srv/web/owncloud/l10n/zu_ZA/lib.po
+#srv/web/owncloud/l10n/zu_ZA/settings.po
+#srv/web/owncloud/l10n/zu_ZA/user_ldap.po
+#srv/web/owncloud/l10n/zu_ZA/user_webdavauth.po
+#srv/web/owncloud/lib
+#srv/web/owncloud/lib/autoloader.php
+#srv/web/owncloud/lib/base.php
+#srv/web/owncloud/lib/l10n
+#srv/web/owncloud/lib/l10n/ach.php
+#srv/web/owncloud/lib/l10n/ady.php
+#srv/web/owncloud/lib/l10n/af.php
+#srv/web/owncloud/lib/l10n/af_ZA.php
+#srv/web/owncloud/lib/l10n/ak.php
+#srv/web/owncloud/lib/l10n/am_ET.php
+#srv/web/owncloud/lib/l10n/ar.php
+#srv/web/owncloud/lib/l10n/ast.php
+#srv/web/owncloud/lib/l10n/az.php
+#srv/web/owncloud/lib/l10n/be.php
+#srv/web/owncloud/lib/l10n/bg_BG.php
+#srv/web/owncloud/lib/l10n/bn_BD.php
+#srv/web/owncloud/lib/l10n/bn_IN.php
+#srv/web/owncloud/lib/l10n/bs.php
+#srv/web/owncloud/lib/l10n/ca.php
+#srv/web/owncloud/lib/l10n/ca@valencia.php
+#srv/web/owncloud/lib/l10n/cs_CZ.php
+#srv/web/owncloud/lib/l10n/cy_GB.php
+#srv/web/owncloud/lib/l10n/da.php
+#srv/web/owncloud/lib/l10n/de.php
+#srv/web/owncloud/lib/l10n/de_AT.php
+#srv/web/owncloud/lib/l10n/de_CH.php
+#srv/web/owncloud/lib/l10n/de_DE.php
+#srv/web/owncloud/lib/l10n/el.php
+#srv/web/owncloud/lib/l10n/en@pirate.php
+#srv/web/owncloud/lib/l10n/en_GB.php
+#srv/web/owncloud/lib/l10n/en_NZ.php
+#srv/web/owncloud/lib/l10n/eo.php
+#srv/web/owncloud/lib/l10n/es.php
+#srv/web/owncloud/lib/l10n/es_AR.php
+#srv/web/owncloud/lib/l10n/es_BO.php
+#srv/web/owncloud/lib/l10n/es_CL.php
+#srv/web/owncloud/lib/l10n/es_CO.php
+#srv/web/owncloud/lib/l10n/es_CR.php
+#srv/web/owncloud/lib/l10n/es_EC.php
+#srv/web/owncloud/lib/l10n/es_MX.php
+#srv/web/owncloud/lib/l10n/es_PE.php
+#srv/web/owncloud/lib/l10n/es_PY.php
+#srv/web/owncloud/lib/l10n/es_US.php
+#srv/web/owncloud/lib/l10n/es_UY.php
+#srv/web/owncloud/lib/l10n/et_EE.php
+#srv/web/owncloud/lib/l10n/eu.php
+#srv/web/owncloud/lib/l10n/eu_ES.php
+#srv/web/owncloud/lib/l10n/fa.php
+#srv/web/owncloud/lib/l10n/fi.php
+#srv/web/owncloud/lib/l10n/fi_FI.php
+#srv/web/owncloud/lib/l10n/fr.php
+#srv/web/owncloud/lib/l10n/fr_CA.php
+#srv/web/owncloud/lib/l10n/gl.php
+#srv/web/owncloud/lib/l10n/he.php
+#srv/web/owncloud/lib/l10n/hi.php
+#srv/web/owncloud/lib/l10n/hi_IN.php
+#srv/web/owncloud/lib/l10n/hr.php
+#srv/web/owncloud/lib/l10n/hu_HU.php
+#srv/web/owncloud/lib/l10n/hy.php
+#srv/web/owncloud/lib/l10n/ia.php
+#srv/web/owncloud/lib/l10n/id.php
+#srv/web/owncloud/lib/l10n/is.php
+#srv/web/owncloud/lib/l10n/it.php
+#srv/web/owncloud/lib/l10n/ja.php
+#srv/web/owncloud/lib/l10n/ja_JP.php
+#srv/web/owncloud/lib/l10n/jv.php
+#srv/web/owncloud/lib/l10n/ka.php
+#srv/web/owncloud/lib/l10n/ka_GE.php
+#srv/web/owncloud/lib/l10n/km.php
+#srv/web/owncloud/lib/l10n/kn.php
+#srv/web/owncloud/lib/l10n/ko.php
+#srv/web/owncloud/lib/l10n/ku_IQ.php
+#srv/web/owncloud/lib/l10n/lb.php
+#srv/web/owncloud/lib/l10n/lt_LT.php
+#srv/web/owncloud/lib/l10n/lv.php
+#srv/web/owncloud/lib/l10n/mk.php
+#srv/web/owncloud/lib/l10n/ml.php
+#srv/web/owncloud/lib/l10n/ml_IN.php
+#srv/web/owncloud/lib/l10n/mn.php
+#srv/web/owncloud/lib/l10n/ms_MY.php
+#srv/web/owncloud/lib/l10n/my_MM.php
+#srv/web/owncloud/lib/l10n/nb_NO.php
+#srv/web/owncloud/lib/l10n/nds.php
+#srv/web/owncloud/lib/l10n/ne.php
+#srv/web/owncloud/lib/l10n/nl.php
+#srv/web/owncloud/lib/l10n/nn_NO.php
+#srv/web/owncloud/lib/l10n/nqo.php
+#srv/web/owncloud/lib/l10n/oc.php
+#srv/web/owncloud/lib/l10n/or_IN.php
+#srv/web/owncloud/lib/l10n/pa.php
+#srv/web/owncloud/lib/l10n/pl.php
+#srv/web/owncloud/lib/l10n/pt_BR.php
+#srv/web/owncloud/lib/l10n/pt_PT.php
+#srv/web/owncloud/lib/l10n/ro.php
+#srv/web/owncloud/lib/l10n/ru.php
+#srv/web/owncloud/lib/l10n/si_LK.php
+#srv/web/owncloud/lib/l10n/sk.php
+#srv/web/owncloud/lib/l10n/sk_SK.php
+#srv/web/owncloud/lib/l10n/sl.php
+#srv/web/owncloud/lib/l10n/sq.php
+#srv/web/owncloud/lib/l10n/sr.php
+#srv/web/owncloud/lib/l10n/sr@latin.php
+#srv/web/owncloud/lib/l10n/su.php
+#srv/web/owncloud/lib/l10n/sv.php
+#srv/web/owncloud/lib/l10n/sw_KE.php
+#srv/web/owncloud/lib/l10n/ta_IN.php
+#srv/web/owncloud/lib/l10n/ta_LK.php
+#srv/web/owncloud/lib/l10n/te.php
+#srv/web/owncloud/lib/l10n/th_TH.php
+#srv/web/owncloud/lib/l10n/tr.php
+#srv/web/owncloud/lib/l10n/tzm.php
+#srv/web/owncloud/lib/l10n/ug.php
+#srv/web/owncloud/lib/l10n/uk.php
+#srv/web/owncloud/lib/l10n/ur.php
+#srv/web/owncloud/lib/l10n/ur_PK.php
+#srv/web/owncloud/lib/l10n/uz.php
+#srv/web/owncloud/lib/l10n/vi.php
+#srv/web/owncloud/lib/l10n/zh_CN.php
+#srv/web/owncloud/lib/l10n/zh_HK.php
+#srv/web/owncloud/lib/l10n/zh_TW.php
+#srv/web/owncloud/lib/private
+#srv/web/owncloud/lib/private/activitymanager.php
+#srv/web/owncloud/lib/private/allconfig.php
+#srv/web/owncloud/lib/private/api.php
+#srv/web/owncloud/lib/private/app.php
+#srv/web/owncloud/lib/private/appconfig.php
+#srv/web/owncloud/lib/private/appframework
+#srv/web/owncloud/lib/private/appframework/app.php
+#srv/web/owncloud/lib/private/appframework/core
+#srv/web/owncloud/lib/private/appframework/core/api.php
+#srv/web/owncloud/lib/private/appframework/db
+#srv/web/owncloud/lib/private/appframework/db/db.php
+#srv/web/owncloud/lib/private/appframework/dependencyinjection
+#srv/web/owncloud/lib/private/appframework/dependencyinjection/dicontainer.php
+#srv/web/owncloud/lib/private/appframework/http
+#srv/web/owncloud/lib/private/appframework/http.php
+#srv/web/owncloud/lib/private/appframework/http/dispatcher.php
+#srv/web/owncloud/lib/private/appframework/http/request.php
+#srv/web/owncloud/lib/private/appframework/middleware
+#srv/web/owncloud/lib/private/appframework/middleware/middlewaredispatcher.php
+#srv/web/owncloud/lib/private/appframework/middleware/security
+#srv/web/owncloud/lib/private/appframework/middleware/security/corsmiddleware.php
+#srv/web/owncloud/lib/private/appframework/middleware/security/securityexception.php
+#srv/web/owncloud/lib/private/appframework/middleware/security/securitymiddleware.php
+#srv/web/owncloud/lib/private/appframework/routing
+#srv/web/owncloud/lib/private/appframework/routing/routeactionhandler.php
+#srv/web/owncloud/lib/private/appframework/routing/routeconfig.php
+#srv/web/owncloud/lib/private/appframework/utility
+#srv/web/owncloud/lib/private/appframework/utility/controllermethodreflector.php
+#srv/web/owncloud/lib/private/appframework/utility/simplecontainer.php
+#srv/web/owncloud/lib/private/appframework/utility/timefactory.php
+#srv/web/owncloud/lib/private/apphelper.php
+#srv/web/owncloud/lib/private/archive
+#srv/web/owncloud/lib/private/archive.php
+#srv/web/owncloud/lib/private/archive/tar.php
+#srv/web/owncloud/lib/private/archive/zip.php
+#srv/web/owncloud/lib/private/arrayparser.php
+#srv/web/owncloud/lib/private/avatar.php
+#srv/web/owncloud/lib/private/avatarmanager.php
+#srv/web/owncloud/lib/private/backgroundjob
+#srv/web/owncloud/lib/private/backgroundjob.php
+#srv/web/owncloud/lib/private/backgroundjob/job.php
+#srv/web/owncloud/lib/private/backgroundjob/joblist.php
+#srv/web/owncloud/lib/private/backgroundjob/legacy
+#srv/web/owncloud/lib/private/backgroundjob/legacy/queuedjob.php
+#srv/web/owncloud/lib/private/backgroundjob/legacy/regularjob.php
+#srv/web/owncloud/lib/private/backgroundjob/queuedjob.php
+#srv/web/owncloud/lib/private/backgroundjob/timedjob.php
+#srv/web/owncloud/lib/private/cache
+#srv/web/owncloud/lib/private/cache.php
+#srv/web/owncloud/lib/private/cache/broker.php
+#srv/web/owncloud/lib/private/cache/file.php
+#srv/web/owncloud/lib/private/cache/fileglobal.php
+#srv/web/owncloud/lib/private/cache/fileglobalgc.php
+#srv/web/owncloud/lib/private/cache/usercache.php
+#srv/web/owncloud/lib/private/config.php
+#srv/web/owncloud/lib/private/connector
+#srv/web/owncloud/lib/private/connector/sabre
+#srv/web/owncloud/lib/private/connector/sabre/auth.php
+#srv/web/owncloud/lib/private/connector/sabre/directory.php
+#srv/web/owncloud/lib/private/connector/sabre/exception
+#srv/web/owncloud/lib/private/connector/sabre/exception/entitytoolarge.php
+#srv/web/owncloud/lib/private/connector/sabre/exception/filelocked.php
+#srv/web/owncloud/lib/private/connector/sabre/exception/unsupportedmediatype.php
+#srv/web/owncloud/lib/private/connector/sabre/exceptionloggerplugin.php
+#srv/web/owncloud/lib/private/connector/sabre/file.php
+#srv/web/owncloud/lib/private/connector/sabre/filesplugin.php
+#srv/web/owncloud/lib/private/connector/sabre/locks.php
+#srv/web/owncloud/lib/private/connector/sabre/maintenanceplugin.php
+#srv/web/owncloud/lib/private/connector/sabre/node.php
+#srv/web/owncloud/lib/private/connector/sabre/objecttree.php
+#srv/web/owncloud/lib/private/connector/sabre/principal.php
+#srv/web/owncloud/lib/private/connector/sabre/quotaplugin.php
+#srv/web/owncloud/lib/private/connector/sabre/request.php
+#srv/web/owncloud/lib/private/connector/sabre/server.php
+#srv/web/owncloud/lib/private/contactsmanager.php
+#srv/web/owncloud/lib/private/davclient.php
+#srv/web/owncloud/lib/private/db
+#srv/web/owncloud/lib/private/db.php
+#srv/web/owncloud/lib/private/db/adapter.php
+#srv/web/owncloud/lib/private/db/adapteroci8.php
+#srv/web/owncloud/lib/private/db/adapterpgsql.php
+#srv/web/owncloud/lib/private/db/adaptersqlite.php
+#srv/web/owncloud/lib/private/db/adaptersqlsrv.php
+#srv/web/owncloud/lib/private/db/connection.php
+#srv/web/owncloud/lib/private/db/connectionfactory.php
+#srv/web/owncloud/lib/private/db/connectionwrapper.php
+#srv/web/owncloud/lib/private/db/mdb2schemamanager.php
+#srv/web/owncloud/lib/private/db/mdb2schemareader.php
+#srv/web/owncloud/lib/private/db/mdb2schemawriter.php
+#srv/web/owncloud/lib/private/db/migrationexception.php
+#srv/web/owncloud/lib/private/db/migrator.php
+#srv/web/owncloud/lib/private/db/mysqlmigrator.php
+#srv/web/owncloud/lib/private/db/nocheckmigrator.php
+#srv/web/owncloud/lib/private/db/oracleconnection.php
+#srv/web/owncloud/lib/private/db/oraclemigrator.php
+#srv/web/owncloud/lib/private/db/pgsqltools.php
+#srv/web/owncloud/lib/private/db/sqlitemigrator.php
+#srv/web/owncloud/lib/private/db/statementwrapper.php
+#srv/web/owncloud/lib/private/defaults.php
+#srv/web/owncloud/lib/private/eventsource.php
+#srv/web/owncloud/lib/private/filechunking.php
+#srv/web/owncloud/lib/private/fileproxy
+#srv/web/owncloud/lib/private/fileproxy.php
+#srv/web/owncloud/lib/private/fileproxy/fileoperations.php
+#srv/web/owncloud/lib/private/files
+#srv/web/owncloud/lib/private/files.php
+#srv/web/owncloud/lib/private/files/cache
+#srv/web/owncloud/lib/private/files/cache/cache.php
+#srv/web/owncloud/lib/private/files/cache/changepropagator.php
+#srv/web/owncloud/lib/private/files/cache/homecache.php
+#srv/web/owncloud/lib/private/files/cache/scanner.php
+#srv/web/owncloud/lib/private/files/cache/storage.php
+#srv/web/owncloud/lib/private/files/cache/updater.php
+#srv/web/owncloud/lib/private/files/cache/watcher.php
+#srv/web/owncloud/lib/private/files/fileinfo.php
+#srv/web/owncloud/lib/private/files/filesystem.php
+#srv/web/owncloud/lib/private/files/mapper.php
+#srv/web/owncloud/lib/private/files/mount
+#srv/web/owncloud/lib/private/files/mount/manager.php
+#srv/web/owncloud/lib/private/files/mount/mount.php
+#srv/web/owncloud/lib/private/files/mount/moveablemount.php
+#srv/web/owncloud/lib/private/files/node
+#srv/web/owncloud/lib/private/files/node/file.php
+#srv/web/owncloud/lib/private/files/node/folder.php
+#srv/web/owncloud/lib/private/files/node/node.php
+#srv/web/owncloud/lib/private/files/node/nonexistingfile.php
+#srv/web/owncloud/lib/private/files/node/nonexistingfolder.php
+#srv/web/owncloud/lib/private/files/node/root.php
+#srv/web/owncloud/lib/private/files/objectstore
+#srv/web/owncloud/lib/private/files/objectstore/homeobjectstorestorage.php
+#srv/web/owncloud/lib/private/files/objectstore/noopscanner.php
+#srv/web/owncloud/lib/private/files/objectstore/objectstorestorage.php
+#srv/web/owncloud/lib/private/files/objectstore/swift.php
+#srv/web/owncloud/lib/private/files/storage
+#srv/web/owncloud/lib/private/files/storage/common.php
+#srv/web/owncloud/lib/private/files/storage/commontest.php
+#srv/web/owncloud/lib/private/files/storage/dav.php
+#srv/web/owncloud/lib/private/files/storage/home.php
+#srv/web/owncloud/lib/private/files/storage/loader.php
+#srv/web/owncloud/lib/private/files/storage/local.php
+#srv/web/owncloud/lib/private/files/storage/mappedlocal.php
+#srv/web/owncloud/lib/private/files/storage/storage.php
+#srv/web/owncloud/lib/private/files/storage/temporary.php
+#srv/web/owncloud/lib/private/files/storage/wrapper
+#srv/web/owncloud/lib/private/files/storage/wrapper/quota.php
+#srv/web/owncloud/lib/private/files/storage/wrapper/wrapper.php
+#srv/web/owncloud/lib/private/files/stream
+#srv/web/owncloud/lib/private/files/stream/close.php
+#srv/web/owncloud/lib/private/files/stream/dir.php
+#srv/web/owncloud/lib/private/files/stream/oc.php
+#srv/web/owncloud/lib/private/files/stream/quota.php
+#srv/web/owncloud/lib/private/files/stream/staticstream.php
+#srv/web/owncloud/lib/private/files/type
+#srv/web/owncloud/lib/private/files/type/detection.php
+#srv/web/owncloud/lib/private/files/type/templatemanager.php
+#srv/web/owncloud/lib/private/files/utils
+#srv/web/owncloud/lib/private/files/utils/scanner.php
+#srv/web/owncloud/lib/private/files/view.php
+#srv/web/owncloud/lib/private/forbiddenexception.php
+#srv/web/owncloud/lib/private/geo.php
+#srv/web/owncloud/lib/private/group
+#srv/web/owncloud/lib/private/group.php
+#srv/web/owncloud/lib/private/group/backend.php
+#srv/web/owncloud/lib/private/group/database.php
+#srv/web/owncloud/lib/private/group/dummy.php
+#srv/web/owncloud/lib/private/group/example.php
+#srv/web/owncloud/lib/private/group/group.php
+#srv/web/owncloud/lib/private/group/interface.php
+#srv/web/owncloud/lib/private/group/manager.php
+#srv/web/owncloud/lib/private/group/metadata.php
+#srv/web/owncloud/lib/private/helper.php
+#srv/web/owncloud/lib/private/hintexception.php
+#srv/web/owncloud/lib/private/hook.php
+#srv/web/owncloud/lib/private/hooks
+#srv/web/owncloud/lib/private/hooks/basicemitter.php
+#srv/web/owncloud/lib/private/hooks/emitter.php
+#srv/web/owncloud/lib/private/hooks/forwardingemitter.php
+#srv/web/owncloud/lib/private/hooks/legacyemitter.php
+#srv/web/owncloud/lib/private/hooks/publicemitter.php
+#srv/web/owncloud/lib/private/image.php
+#srv/web/owncloud/lib/private/installer.php
+#srv/web/owncloud/lib/private/json.php
+#srv/web/owncloud/lib/private/l10n
+#srv/web/owncloud/lib/private/l10n.php
+#srv/web/owncloud/lib/private/l10n/factory.php
+#srv/web/owncloud/lib/private/l10n/string.php
+#srv/web/owncloud/lib/private/largefilehelper.php
+#srv/web/owncloud/lib/private/legacy
+#srv/web/owncloud/lib/private/legacy/appconfig.php
+#srv/web/owncloud/lib/private/legacy/config.php
+#srv/web/owncloud/lib/private/legacy/log.php
+#srv/web/owncloud/lib/private/legacy/preferences.php
+#srv/web/owncloud/lib/private/legacy/search
+#srv/web/owncloud/lib/private/legacy/search.php
+#srv/web/owncloud/lib/private/legacy/search/provider
+#srv/web/owncloud/lib/private/legacy/search/provider.php
+#srv/web/owncloud/lib/private/legacy/search/provider/file.php
+#srv/web/owncloud/lib/private/legacy/search/result.php
+#srv/web/owncloud/lib/private/legacy/updater.php
+#srv/web/owncloud/lib/private/log
+#srv/web/owncloud/lib/private/log.php
+#srv/web/owncloud/lib/private/log/errorhandler.php
+#srv/web/owncloud/lib/private/log/owncloud.php
+#srv/web/owncloud/lib/private/log/rotate.php
+#srv/web/owncloud/lib/private/log/syslog.php
+#srv/web/owncloud/lib/private/mail.php
+#srv/web/owncloud/lib/private/memcache
+#srv/web/owncloud/lib/private/memcache/apc.php
+#srv/web/owncloud/lib/private/memcache/apcu.php
+#srv/web/owncloud/lib/private/memcache/cache.php
+#srv/web/owncloud/lib/private/memcache/factory.php
+#srv/web/owncloud/lib/private/memcache/memcached.php
+#srv/web/owncloud/lib/private/memcache/xcache.php
+#srv/web/owncloud/lib/private/migrate.php
+#srv/web/owncloud/lib/private/migration
+#srv/web/owncloud/lib/private/migration/content.php
+#srv/web/owncloud/lib/private/migration/provider.php
+#srv/web/owncloud/lib/private/mimetypes.list.php
+#srv/web/owncloud/lib/private/navigationmanager.php
+#srv/web/owncloud/lib/private/notsquareexception.php
+#srv/web/owncloud/lib/private/ocs
+#srv/web/owncloud/lib/private/ocs.php
+#srv/web/owncloud/lib/private/ocs/cloud.php
+#srv/web/owncloud/lib/private/ocs/config.php
+#srv/web/owncloud/lib/private/ocs/person.php
+#srv/web/owncloud/lib/private/ocs/privatedata.php
+#srv/web/owncloud/lib/private/ocs/result.php
+#srv/web/owncloud/lib/private/ocsclient.php
+#srv/web/owncloud/lib/private/preferences.php
+#srv/web/owncloud/lib/private/preview
+#srv/web/owncloud/lib/private/preview.php
+#srv/web/owncloud/lib/private/preview/image.php
+#srv/web/owncloud/lib/private/preview/movies.php
+#srv/web/owncloud/lib/private/preview/mp3.php
+#srv/web/owncloud/lib/private/preview/office-cl.php
+#srv/web/owncloud/lib/private/preview/office.php
+#srv/web/owncloud/lib/private/preview/pdf.php
+#srv/web/owncloud/lib/private/preview/provider.php
+#srv/web/owncloud/lib/private/preview/svg.php
+#srv/web/owncloud/lib/private/preview/txt.php
+#srv/web/owncloud/lib/private/preview/unknown.php
+#srv/web/owncloud/lib/private/previewmanager.php
+#srv/web/owncloud/lib/private/repair.php
+#srv/web/owncloud/lib/private/repairstep.php
+#srv/web/owncloud/lib/private/request.php
+#srv/web/owncloud/lib/private/response.php
+#srv/web/owncloud/lib/private/route
+#srv/web/owncloud/lib/private/route/cachingrouter.php
+#srv/web/owncloud/lib/private/route/route.php
+#srv/web/owncloud/lib/private/route/router.php
+#srv/web/owncloud/lib/private/search
+#srv/web/owncloud/lib/private/search.php
+#srv/web/owncloud/lib/private/search/provider
+#srv/web/owncloud/lib/private/search/provider/file.php
+#srv/web/owncloud/lib/private/search/result
+#srv/web/owncloud/lib/private/search/result/audio.php
+#srv/web/owncloud/lib/private/search/result/file.php
+#srv/web/owncloud/lib/private/search/result/folder.php
+#srv/web/owncloud/lib/private/search/result/image.php
+#srv/web/owncloud/lib/private/server.php
+#srv/web/owncloud/lib/private/session
+#srv/web/owncloud/lib/private/session/internal.php
+#srv/web/owncloud/lib/private/session/memory.php
+#srv/web/owncloud/lib/private/session/session.php
+#srv/web/owncloud/lib/private/setup
+#srv/web/owncloud/lib/private/setup.php
+#srv/web/owncloud/lib/private/setup/abstractdatabase.php
+#srv/web/owncloud/lib/private/setup/mssql.php
+#srv/web/owncloud/lib/private/setup/mysql.php
+#srv/web/owncloud/lib/private/setup/oci.php
+#srv/web/owncloud/lib/private/setup/postgresql.php
+#srv/web/owncloud/lib/private/setup/sqlite.php
+#srv/web/owncloud/lib/private/share
+#srv/web/owncloud/lib/private/share/constants.php
+#srv/web/owncloud/lib/private/share/helper.php
+#srv/web/owncloud/lib/private/share/hooks.php
+#srv/web/owncloud/lib/private/share/mailnotifications.php
+#srv/web/owncloud/lib/private/share/searchresultsorter.php
+#srv/web/owncloud/lib/private/share/share.php
+#srv/web/owncloud/lib/private/subadmin.php
+#srv/web/owncloud/lib/private/tagmanager.php
+#srv/web/owncloud/lib/private/tags.php
+#srv/web/owncloud/lib/private/template
+#srv/web/owncloud/lib/private/template.php
+#srv/web/owncloud/lib/private/template/base.php
+#srv/web/owncloud/lib/private/template/cssresourcelocator.php
+#srv/web/owncloud/lib/private/template/functions.php
+#srv/web/owncloud/lib/private/template/jsresourcelocator.php
+#srv/web/owncloud/lib/private/template/resourcelocator.php
+#srv/web/owncloud/lib/private/template/templatefilelocator.php
+#srv/web/owncloud/lib/private/templatelayout.php
+#srv/web/owncloud/lib/private/updater.php
+#srv/web/owncloud/lib/private/urlgenerator.php
+#srv/web/owncloud/lib/private/user
+#srv/web/owncloud/lib/private/user.php
+#srv/web/owncloud/lib/private/user/backend.php
+#srv/web/owncloud/lib/private/user/database.php
+#srv/web/owncloud/lib/private/user/dummy.php
+#srv/web/owncloud/lib/private/user/example.php
+#srv/web/owncloud/lib/private/user/http.php
+#srv/web/owncloud/lib/private/user/interface.php
+#srv/web/owncloud/lib/private/user/manager.php
+#srv/web/owncloud/lib/private/user/session.php
+#srv/web/owncloud/lib/private/user/user.php
+#srv/web/owncloud/lib/private/util.php
+#srv/web/owncloud/lib/private/vobject
+#srv/web/owncloud/lib/private/vobject.php
+#srv/web/owncloud/lib/private/vobject/compoundproperty.php
+#srv/web/owncloud/lib/private/vobject/stringproperty.php
+#srv/web/owncloud/lib/public
+#srv/web/owncloud/lib/public/activity
+#srv/web/owncloud/lib/public/activity/iconsumer.php
+#srv/web/owncloud/lib/public/activity/iextension.php
+#srv/web/owncloud/lib/public/activity/imanager.php
+#srv/web/owncloud/lib/public/api.php
+#srv/web/owncloud/lib/public/app.php
+#srv/web/owncloud/lib/public/appframework
+#srv/web/owncloud/lib/public/appframework/apicontroller.php
+#srv/web/owncloud/lib/public/appframework/app.php
+#srv/web/owncloud/lib/public/appframework/controller.php
+#srv/web/owncloud/lib/public/appframework/db
+#srv/web/owncloud/lib/public/appframework/db/doesnotexistexception.php
+#srv/web/owncloud/lib/public/appframework/db/entity.php
+#srv/web/owncloud/lib/public/appframework/db/mapper.php
+#srv/web/owncloud/lib/public/appframework/db/multipleobjectsreturnedexception.php
+#srv/web/owncloud/lib/public/appframework/http
+#srv/web/owncloud/lib/public/appframework/http.php
+#srv/web/owncloud/lib/public/appframework/http/downloadresponse.php
+#srv/web/owncloud/lib/public/appframework/http/jsonresponse.php
+#srv/web/owncloud/lib/public/appframework/http/redirectresponse.php
+#srv/web/owncloud/lib/public/appframework/http/response.php
+#srv/web/owncloud/lib/public/appframework/http/templateresponse.php
+#srv/web/owncloud/lib/public/appframework/iapi.php
+#srv/web/owncloud/lib/public/appframework/iappcontainer.php
+#srv/web/owncloud/lib/public/appframework/middleware.php
+#srv/web/owncloud/lib/public/authentication
+#srv/web/owncloud/lib/public/authentication/iapachebackend.php
+#srv/web/owncloud/lib/public/backgroundjob
+#srv/web/owncloud/lib/public/backgroundjob.php
+#srv/web/owncloud/lib/public/backgroundjob/ijob.php
+#srv/web/owncloud/lib/public/backgroundjob/ijoblist.php
+#srv/web/owncloud/lib/public/config.php
+#srv/web/owncloud/lib/public/constants.php
+#srv/web/owncloud/lib/public/contacts
+#srv/web/owncloud/lib/public/contacts.php
+#srv/web/owncloud/lib/public/contacts/imanager.php
+#srv/web/owncloud/lib/public/db.php
+#srv/web/owncloud/lib/public/defaults.php
+#srv/web/owncloud/lib/public/files
+#srv/web/owncloud/lib/public/files.php
+#srv/web/owncloud/lib/public/files/alreadyexistsexception.php
+#srv/web/owncloud/lib/public/files/entitytoolargeexception.php
+#srv/web/owncloud/lib/public/files/file.php
+#srv/web/owncloud/lib/public/files/fileinfo.php
+#srv/web/owncloud/lib/public/files/folder.php
+#srv/web/owncloud/lib/public/files/invalidcontentexception.php
+#srv/web/owncloud/lib/public/files/invalidpathexception.php
+#srv/web/owncloud/lib/public/files/locknotacquiredexception.php
+#srv/web/owncloud/lib/public/files/node.php
+#srv/web/owncloud/lib/public/files/notenoughspaceexception.php
+#srv/web/owncloud/lib/public/files/notfoundexception.php
+#srv/web/owncloud/lib/public/files/notpermittedexception.php
+#srv/web/owncloud/lib/public/files/objectstore
+#srv/web/owncloud/lib/public/files/objectstore/iobjectstore.php
+#srv/web/owncloud/lib/public/files/storage.php
+#srv/web/owncloud/lib/public/files/storageinvalidexception.php
+#srv/web/owncloud/lib/public/files/storagenotavailableexception.php
+#srv/web/owncloud/lib/public/groupinterface.php
+#srv/web/owncloud/lib/public/iaddressbook.php
+#srv/web/owncloud/lib/public/iappconfig.php
+#srv/web/owncloud/lib/public/iavatar.php
+#srv/web/owncloud/lib/public/iavatarmanager.php
+#srv/web/owncloud/lib/public/icache.php
+#srv/web/owncloud/lib/public/icachefactory.php
+#srv/web/owncloud/lib/public/iconfig.php
+#srv/web/owncloud/lib/public/icontainer.php
+#srv/web/owncloud/lib/public/idb.php
+#srv/web/owncloud/lib/public/idbconnection.php
+#srv/web/owncloud/lib/public/ihelper.php
+#srv/web/owncloud/lib/public/il10n.php
+#srv/web/owncloud/lib/public/ilogger.php
+#srv/web/owncloud/lib/public/image.php
+#srv/web/owncloud/lib/public/inavigationmanager.php
+#srv/web/owncloud/lib/public/ipreview.php
+#srv/web/owncloud/lib/public/irequest.php
+#srv/web/owncloud/lib/public/isearch.php
+#srv/web/owncloud/lib/public/iservercontainer.php
+#srv/web/owncloud/lib/public/isession.php
+#srv/web/owncloud/lib/public/itagmanager.php
+#srv/web/owncloud/lib/public/itags.php
+#srv/web/owncloud/lib/public/iurlgenerator.php
+#srv/web/owncloud/lib/public/iuser.php
+#srv/web/owncloud/lib/public/iusermanager.php
+#srv/web/owncloud/lib/public/iusersession.php
+#srv/web/owncloud/lib/public/json.php
+#srv/web/owncloud/lib/public/response.php
+#srv/web/owncloud/lib/public/route
+#srv/web/owncloud/lib/public/route/iroute.php
+#srv/web/owncloud/lib/public/route/irouter.php
+#srv/web/owncloud/lib/public/search
+#srv/web/owncloud/lib/public/search/provider.php
+#srv/web/owncloud/lib/public/search/result.php
+#srv/web/owncloud/lib/public/share.php
+#srv/web/owncloud/lib/public/template.php
+#srv/web/owncloud/lib/public/user.php
+#srv/web/owncloud/lib/public/userinterface.php
+#srv/web/owncloud/lib/public/util.php
+#srv/web/owncloud/lib/repair
+#srv/web/owncloud/lib/repair/collation.php
+#srv/web/owncloud/lib/repair/innodb.php
+#srv/web/owncloud/lib/repair/repairmimetypes.php
+#srv/web/owncloud/occ
+#srv/web/owncloud/ocs
+#srv/web/owncloud/ocs/providers.php
+#srv/web/owncloud/ocs/routes.php
+#srv/web/owncloud/ocs/v1.php
+#srv/web/owncloud/public.php
+#srv/web/owncloud/remote.php
+#srv/web/owncloud/robots.txt
+#srv/web/owncloud/search
+#srv/web/owncloud/search/ajax
+#srv/web/owncloud/search/ajax/search.php
+#srv/web/owncloud/search/css
+#srv/web/owncloud/search/css/results.css
+#srv/web/owncloud/search/js
+#srv/web/owncloud/search/js/result.js
+#srv/web/owncloud/search/templates
+#srv/web/owncloud/search/templates/part.results.php
+#srv/web/owncloud/settings
+#srv/web/owncloud/settings/admin
+#srv/web/owncloud/settings/admin.php
+#srv/web/owncloud/settings/admin/controller.php
+#srv/web/owncloud/settings/ajax
+#srv/web/owncloud/settings/ajax/apps
+#srv/web/owncloud/settings/ajax/apps/ocs.php
+#srv/web/owncloud/settings/ajax/changedisplayname.php
+#srv/web/owncloud/settings/ajax/creategroup.php
+#srv/web/owncloud/settings/ajax/createuser.php
+#srv/web/owncloud/settings/ajax/decryptall.php
+#srv/web/owncloud/settings/ajax/deletekeys.php
+#srv/web/owncloud/settings/ajax/disableapp.php
+#srv/web/owncloud/settings/ajax/enableapp.php
+#srv/web/owncloud/settings/ajax/excludegroups.php
+#srv/web/owncloud/settings/ajax/getlog.php
+#srv/web/owncloud/settings/ajax/grouplist.php
+#srv/web/owncloud/settings/ajax/installapp.php
+#srv/web/owncloud/settings/ajax/lostpassword.php
+#srv/web/owncloud/settings/ajax/navigationdetect.php
+#srv/web/owncloud/settings/ajax/removegroup.php
+#srv/web/owncloud/settings/ajax/removeuser.php
+#srv/web/owncloud/settings/ajax/restorekeys.php
+#srv/web/owncloud/settings/ajax/setlanguage.php
+#srv/web/owncloud/settings/ajax/setloglevel.php
+#srv/web/owncloud/settings/ajax/setquota.php
+#srv/web/owncloud/settings/ajax/setsecurity.php
+#srv/web/owncloud/settings/ajax/togglegroups.php
+#srv/web/owncloud/settings/ajax/togglesubadmins.php
+#srv/web/owncloud/settings/ajax/uninstallapp.php
+#srv/web/owncloud/settings/ajax/updateapp.php
+#srv/web/owncloud/settings/ajax/userlist.php
+#srv/web/owncloud/settings/apps.php
+#srv/web/owncloud/settings/changepassword
+#srv/web/owncloud/settings/changepassword/controller.php
+#srv/web/owncloud/settings/css
+#srv/web/owncloud/settings/css/settings.css
+#srv/web/owncloud/settings/help.php
+#srv/web/owncloud/settings/img
+#srv/web/owncloud/settings/img/admin.png
+#srv/web/owncloud/settings/img/admin.svg
+#srv/web/owncloud/settings/img/apps.png
+#srv/web/owncloud/settings/img/apps.svg
+#srv/web/owncloud/settings/img/help.png
+#srv/web/owncloud/settings/img/help.svg
+#srv/web/owncloud/settings/img/personal.png
+#srv/web/owncloud/settings/img/personal.svg
+#srv/web/owncloud/settings/img/trans.png
+#srv/web/owncloud/settings/img/users.png
+#srv/web/owncloud/settings/img/users.svg
+#srv/web/owncloud/settings/js
+#srv/web/owncloud/settings/js/admin.js
+#srv/web/owncloud/settings/js/apps-custom.php
+#srv/web/owncloud/settings/js/apps.js
+#srv/web/owncloud/settings/js/log.js
+#srv/web/owncloud/settings/js/personal.js
+#srv/web/owncloud/settings/js/users
+#srv/web/owncloud/settings/js/users/deleteHandler.js
+#srv/web/owncloud/settings/js/users/filter.js
+#srv/web/owncloud/settings/js/users/groups.js
+#srv/web/owncloud/settings/js/users/users.js
+#srv/web/owncloud/settings/l10n
+#srv/web/owncloud/settings/l10n/af_ZA.php
+#srv/web/owncloud/settings/l10n/ar.php
+#srv/web/owncloud/settings/l10n/ast.php
+#srv/web/owncloud/settings/l10n/be.php
+#srv/web/owncloud/settings/l10n/bg_BG.php
+#srv/web/owncloud/settings/l10n/bn_BD.php
+#srv/web/owncloud/settings/l10n/bs.php
+#srv/web/owncloud/settings/l10n/ca.php
+#srv/web/owncloud/settings/l10n/cs_CZ.php
+#srv/web/owncloud/settings/l10n/cy_GB.php
+#srv/web/owncloud/settings/l10n/da.php
+#srv/web/owncloud/settings/l10n/de.php
+#srv/web/owncloud/settings/l10n/de_AT.php
+#srv/web/owncloud/settings/l10n/de_CH.php
+#srv/web/owncloud/settings/l10n/de_DE.php
+#srv/web/owncloud/settings/l10n/el.php
+#srv/web/owncloud/settings/l10n/en@pirate.php
+#srv/web/owncloud/settings/l10n/en_GB.php
+#srv/web/owncloud/settings/l10n/eo.php
+#srv/web/owncloud/settings/l10n/es.php
+#srv/web/owncloud/settings/l10n/es_AR.php
+#srv/web/owncloud/settings/l10n/es_CL.php
+#srv/web/owncloud/settings/l10n/es_MX.php
+#srv/web/owncloud/settings/l10n/et_EE.php
+#srv/web/owncloud/settings/l10n/eu.php
+#srv/web/owncloud/settings/l10n/eu_ES.php
+#srv/web/owncloud/settings/l10n/fa.php
+#srv/web/owncloud/settings/l10n/fi_FI.php
+#srv/web/owncloud/settings/l10n/fr.php
+#srv/web/owncloud/settings/l10n/gl.php
+#srv/web/owncloud/settings/l10n/he.php
+#srv/web/owncloud/settings/l10n/hi.php
+#srv/web/owncloud/settings/l10n/hr.php
+#srv/web/owncloud/settings/l10n/hu_HU.php
+#srv/web/owncloud/settings/l10n/hy.php
+#srv/web/owncloud/settings/l10n/ia.php
+#srv/web/owncloud/settings/l10n/id.php
+#srv/web/owncloud/settings/l10n/is.php
+#srv/web/owncloud/settings/l10n/it.php
+#srv/web/owncloud/settings/l10n/ja.php
+#srv/web/owncloud/settings/l10n/ja_JP.php
+#srv/web/owncloud/settings/l10n/jv.php
+#srv/web/owncloud/settings/l10n/ka.php
+#srv/web/owncloud/settings/l10n/ka_GE.php
+#srv/web/owncloud/settings/l10n/km.php
+#srv/web/owncloud/settings/l10n/ko.php
+#srv/web/owncloud/settings/l10n/ku_IQ.php
+#srv/web/owncloud/settings/l10n/lb.php
+#srv/web/owncloud/settings/l10n/lt_LT.php
+#srv/web/owncloud/settings/l10n/lv.php
+#srv/web/owncloud/settings/l10n/mk.php
+#srv/web/owncloud/settings/l10n/ms_MY.php
+#srv/web/owncloud/settings/l10n/my_MM.php
+#srv/web/owncloud/settings/l10n/nb_NO.php
+#srv/web/owncloud/settings/l10n/nl.php
+#srv/web/owncloud/settings/l10n/nn_NO.php
+#srv/web/owncloud/settings/l10n/oc.php
+#srv/web/owncloud/settings/l10n/pa.php
+#srv/web/owncloud/settings/l10n/pl.php
+#srv/web/owncloud/settings/l10n/pt_BR.php
+#srv/web/owncloud/settings/l10n/pt_PT.php
+#srv/web/owncloud/settings/l10n/ro.php
+#srv/web/owncloud/settings/l10n/ru.php
+#srv/web/owncloud/settings/l10n/si_LK.php
+#srv/web/owncloud/settings/l10n/sk.php
+#srv/web/owncloud/settings/l10n/sk_SK.php
+#srv/web/owncloud/settings/l10n/sl.php
+#srv/web/owncloud/settings/l10n/sq.php
+#srv/web/owncloud/settings/l10n/sr.php
+#srv/web/owncloud/settings/l10n/sr@latin.php
+#srv/web/owncloud/settings/l10n/sv.php
+#srv/web/owncloud/settings/l10n/ta_LK.php
+#srv/web/owncloud/settings/l10n/te.php
+#srv/web/owncloud/settings/l10n/th_TH.php
+#srv/web/owncloud/settings/l10n/tr.php
+#srv/web/owncloud/settings/l10n/ug.php
+#srv/web/owncloud/settings/l10n/uk.php
+#srv/web/owncloud/settings/l10n/ur_PK.php
+#srv/web/owncloud/settings/l10n/vi.php
+#srv/web/owncloud/settings/l10n/zh_CN.php
+#srv/web/owncloud/settings/l10n/zh_HK.php
+#srv/web/owncloud/settings/l10n/zh_TW.php
+#srv/web/owncloud/settings/languageCodes.php
+#srv/web/owncloud/settings/personal.php
+#srv/web/owncloud/settings/routes.php
+#srv/web/owncloud/settings/settings.php
+#srv/web/owncloud/settings/templates
+#srv/web/owncloud/settings/templates/admin.php
+#srv/web/owncloud/settings/templates/apps.php
+#srv/web/owncloud/settings/templates/help.php
+#srv/web/owncloud/settings/templates/personal.php
+#srv/web/owncloud/settings/templates/settings.php
+#srv/web/owncloud/settings/templates/users
+#srv/web/owncloud/settings/templates/users/main.php
+#srv/web/owncloud/settings/templates/users/part.createuser.php
+#srv/web/owncloud/settings/templates/users/part.grouplist.php
+#srv/web/owncloud/settings/templates/users/part.setquota.php
+#srv/web/owncloud/settings/templates/users/part.userlist.php
+#srv/web/owncloud/settings/users.php
+#srv/web/owncloud/status.php
+#srv/web/owncloud/themes
+#srv/web/owncloud/themes/README
+#srv/web/owncloud/version.php
+var/ipfire/backup/addons/includes/owncloud
+#var/owncloud
+#var/owncloud/data
diff --git a/config/rootfiles/packages/perl-PDF-API2 b/config/rootfiles/packages/perl-PDF-API2
new file mode 100644 (file)
index 0000000..c594d82
--- /dev/null
@@ -0,0 +1,176 @@
+usr/lib/perl5/site_perl/5.12.3/PDF
+usr/lib/perl5/site_perl/5.12.3/PDF/API2
+usr/lib/perl5/site_perl/5.12.3/PDF/API2.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Annotation.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Basic
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Basic/PDF
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Basic/PDF/Array.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Basic/PDF/Bool.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Basic/PDF/Dict.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Basic/PDF/File.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Basic/PDF/Filter
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Basic/PDF/Filter.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Basic/PDF/Filter/ASCII85Decode.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Basic/PDF/Filter/ASCIIHexDecode.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Basic/PDF/Filter/FlateDecode.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Basic/PDF/Filter/LZWDecode.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Basic/PDF/Filter/RunLengthDecode.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Basic/PDF/Literal.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Basic/PDF/Name.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Basic/PDF/Null.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Basic/PDF/Number.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Basic/PDF/Objind.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Basic/PDF/Page.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Basic/PDF/Pages.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Basic/PDF/String.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Basic/PDF/Utils.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Content
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Content.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Content/Text.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Lite.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Matrix.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/NamedDestination.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Outline.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Outlines.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Page.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/BaseFont.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/CIDFont
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/CIDFont.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/CIDFont/CJKFont
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/CIDFont/CJKFont.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/CIDFont/CJKFont/adobemingstdlightacro.data
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/CIDFont/CJKFont/adobemyungjostdmediumacro.data
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/CIDFont/CJKFont/adobesongstdlightacro.data
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/CIDFont/CJKFont/kozgopromediumacro.data
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/CIDFont/CJKFont/kozminproregularacro.data
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/CIDFont/CMap
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/CIDFont/CMap/japanese.cmap
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/CIDFont/CMap/korean.cmap
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/CIDFont/CMap/simplified.cmap
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/CIDFont/CMap/traditional.cmap
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/CIDFont/TrueType
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/CIDFont/TrueType.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/CIDFont/TrueType/FontFile.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/ColorSpace
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/ColorSpace.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/ColorSpace/DeviceN.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/ColorSpace/Indexed
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/ColorSpace/Indexed.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/ColorSpace/Indexed/ACTFile.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/ColorSpace/Indexed/Hue.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/ColorSpace/Indexed/WebColor.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/ColorSpace/Separation.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Colors.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/ExtGState.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Font
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Font.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Font/BdFont.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Font/CoreFont
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Font/CoreFont.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Font/CoreFont/bankgothic.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Font/CoreFont/courier.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Font/CoreFont/courierbold.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Font/CoreFont/courierboldoblique.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Font/CoreFont/courieroblique.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Font/CoreFont/georgia.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Font/CoreFont/georgiabold.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Font/CoreFont/georgiabolditalic.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Font/CoreFont/georgiaitalic.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Font/CoreFont/helvetica.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Font/CoreFont/helveticabold.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Font/CoreFont/helveticaboldoblique.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Font/CoreFont/helveticaoblique.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Font/CoreFont/symbol.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Font/CoreFont/timesbold.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Font/CoreFont/timesbolditalic.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Font/CoreFont/timesitalic.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Font/CoreFont/timesroman.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Font/CoreFont/trebuchet.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Font/CoreFont/trebuchetbold.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Font/CoreFont/trebuchetbolditalic.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Font/CoreFont/trebuchetitalic.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Font/CoreFont/verdana.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Font/CoreFont/verdanabold.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Font/CoreFont/verdanabolditalic.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Font/CoreFont/verdanaitalic.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Font/CoreFont/webdings.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Font/CoreFont/wingdings.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Font/CoreFont/zapfdingbats.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Font/Postscript.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Font/SynFont.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Glyphs.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/PaperSizes.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Pattern.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Shading.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/UniFont.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/XObject
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/XObject.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/XObject/Form
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/XObject/Form.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/XObject/Form/BarCode
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/XObject/Form/BarCode.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/XObject/Form/BarCode/codabar.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/XObject/Form/BarCode/code128.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/XObject/Form/BarCode/code3of9.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/XObject/Form/BarCode/ean13.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/XObject/Form/BarCode/int2of5.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/XObject/Form/Hybrid.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/XObject/Image
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/XObject/Image.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/XObject/Image/GD.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/XObject/Image/GIF.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/XObject/Image/JPEG.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/XObject/Image/PNG.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/XObject/Image/PNM.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/XObject/Image/TIFF.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/uniglyph.txt
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/UniWrap.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Util.pm
+usr/lib/perl5/site_perl/5.12.3/PDF/API2/Win32.pm
+#usr/lib/perl5/site_perl/5.12.3/i586-linux-thread-multi/auto/PDF
+#usr/lib/perl5/site_perl/5.12.3/i586-linux-thread-multi/auto/PDF/API2
+#usr/lib/perl5/site_perl/5.12.3/i586-linux-thread-multi/auto/PDF/API2/.packlist
+#usr/share/man/man3/PDF::API2.3
+#usr/share/man/man3/PDF::API2::Annotation.3
+#usr/share/man/man3/PDF::API2::Basic::PDF::Array.3
+#usr/share/man/man3/PDF::API2::Basic::PDF::Bool.3
+#usr/share/man/man3/PDF::API2::Basic::PDF::Dict.3
+#usr/share/man/man3/PDF::API2::Basic::PDF::File.3
+#usr/share/man/man3/PDF::API2::Basic::PDF::Filter.3
+#usr/share/man/man3/PDF::API2::Basic::PDF::Filter::RunLengthDecode.3
+#usr/share/man/man3/PDF::API2::Basic::PDF::Name.3
+#usr/share/man/man3/PDF::API2::Basic::PDF::Null.3
+#usr/share/man/man3/PDF::API2::Basic::PDF::Number.3
+#usr/share/man/man3/PDF::API2::Basic::PDF::Objind.3
+#usr/share/man/man3/PDF::API2::Basic::PDF::Page.3
+#usr/share/man/man3/PDF::API2::Basic::PDF::Pages.3
+#usr/share/man/man3/PDF::API2::Basic::PDF::String.3
+#usr/share/man/man3/PDF::API2::Basic::PDF::Utils.3
+#usr/share/man/man3/PDF::API2::Content.3
+#usr/share/man/man3/PDF::API2::Lite.3
+#usr/share/man/man3/PDF::API2::NamedDestination.3
+#usr/share/man/man3/PDF::API2::Outline.3
+#usr/share/man/man3/PDF::API2::Page.3
+#usr/share/man/man3/PDF::API2::Resource.3
+#usr/share/man/man3/PDF::API2::Resource::BaseFont.3
+#usr/share/man/man3/PDF::API2::Resource::CIDFont.3
+#usr/share/man/man3/PDF::API2::Resource::CIDFont::CJKFont.3
+#usr/share/man/man3/PDF::API2::Resource::CIDFont::TrueType.3
+#usr/share/man/man3/PDF::API2::Resource::ColorSpace.3
+#usr/share/man/man3/PDF::API2::Resource::ColorSpace::Indexed::ACTFile.3
+#usr/share/man/man3/PDF::API2::Resource::ColorSpace::Separation.3
+#usr/share/man/man3/PDF::API2::Resource::ExtGState.3
+#usr/share/man/man3/PDF::API2::Resource::Font.3
+#usr/share/man/man3/PDF::API2::Resource::Font::BdFont.3
+#usr/share/man/man3/PDF::API2::Resource::Font::CoreFont.3
+#usr/share/man/man3/PDF::API2::Resource::Font::SynFont.3
+#usr/share/man/man3/PDF::API2::Resource::UniFont.3
+#usr/share/man/man3/PDF::API2::Resource::XObject.3
+#usr/share/man/man3/PDF::API2::Resource::XObject::Form.3
+#usr/share/man/man3/PDF::API2::Resource::XObject::Form::BarCode.3
+#usr/share/man/man3/PDF::API2::Resource::XObject::Form::BarCode::code128.3
+#usr/share/man/man3/PDF::API2::Resource::XObject::Image.3
+#usr/share/man/man3/PDF::API2::Resource::XObject::Image::TIFF.3
+#usr/share/man/man3/PDF::API2::Util.3
index 9882067685a73ca56a5f97e291aab755aa7965ef..aafa112acea222141a115edc3e9136b8dba595a5 100644 (file)
@@ -219,10 +219,10 @@ var/ipfire/samba/shares
 var/ipfire/samba/smb.conf
 var/ipfire/samba/smb.conf.default
 var/lib/samba
+var/lib/samba/winbindd_privileged
 var/log/samba
 var/nmbd
 etc/rc.d/init.d/samba
-etc/rc.d/init.d/winbind
 srv/web/ipfire/cgi-bin/samba.cgi
 srv/web/ipfire/cgi-bin/sambahlp.cgi
 var/ipfire/menu.d/EX-samba.menu
index 411243e39c9c19f9290c51e00465b08990376809..4fd9b98ed228d1f6b0ca8480513eb9de4bbe4389 100644 (file)
@@ -36,6 +36,7 @@ etc/sane.d/hp5400.conf
 etc/sane.d/hs2p.conf
 etc/sane.d/ibm.conf
 etc/sane.d/kodak.conf
+etc/sane.d/kodakaio.conf
 etc/sane.d/leo.conf
 etc/sane.d/lexmark.conf
 etc/sane.d/ma1509.conf
@@ -79,427 +80,440 @@ usr/bin/gamma4scanimage
 usr/bin/sane-config
 usr/bin/sane-find-scanner
 usr/bin/scanimage
-usr/doc/sane-1.0.22
-usr/doc/sane-1.0.22/AUTHORS
-usr/doc/sane-1.0.22/COPYING
-usr/doc/sane-1.0.22/ChangeLog
-usr/doc/sane-1.0.22/LICENSE
-usr/doc/sane-1.0.22/NEWS
-usr/doc/sane-1.0.22/PROBLEMS
-usr/doc/sane-1.0.22/PROJECTS
-usr/doc/sane-1.0.22/README
-#usr/doc/sane-1.0.22/README.aix
-#usr/doc/sane-1.0.22/README.beos
-#usr/doc/sane-1.0.22/README.darwin
-usr/doc/sane-1.0.22/README.djpeg
-#usr/doc/sane-1.0.22/README.freebsd
-#usr/doc/sane-1.0.22/README.hp-ux
-usr/doc/sane-1.0.22/README.linux
-#usr/doc/sane-1.0.22/README.netbsd
-#usr/doc/sane-1.0.22/README.openbsd
-#usr/doc/sane-1.0.22/README.os2
-#usr/doc/sane-1.0.22/README.solaris
-#usr/doc/sane-1.0.22/README.unixware2
-#usr/doc/sane-1.0.22/README.unixware7
-#usr/doc/sane-1.0.22/README.windows
-#usr/doc/sane-1.0.22/README.zeta
-#usr/doc/sane-1.0.22/backend-writing.txt
-usr/doc/sane-1.0.22/canon
-usr/doc/sane-1.0.22/canon/canon.changes
-usr/doc/sane-1.0.22/canon/canon.install2700F.txt
-#usr/doc/sane-1.0.22/gt68xx
-usr/doc/sane-1.0.22/gt68xx/gt68xx.CHANGES
-usr/doc/sane-1.0.22/gt68xx/gt68xx.TODO
-#usr/doc/sane-1.0.22/leo
-usr/doc/sane-1.0.22/leo/leo.txt
-#usr/doc/sane-1.0.22/matsushita
-usr/doc/sane-1.0.22/matsushita/matsushita.txt
-#usr/doc/sane-1.0.22/mustek
-usr/doc/sane-1.0.22/mustek/mustek.CHANGES
-#usr/doc/sane-1.0.22/mustek_usb
-usr/doc/sane-1.0.22/mustek_usb/mustek_usb.CHANGES
-usr/doc/sane-1.0.22/mustek_usb/mustek_usb.TODO
-#usr/doc/sane-1.0.22/mustek_usb2
-usr/doc/sane-1.0.22/mustek_usb2/mustek_usb2.CHANGES
-usr/doc/sane-1.0.22/mustek_usb2/mustek_usb2.TODO
-#usr/doc/sane-1.0.22/niash
-usr/doc/sane-1.0.22/niash/niash.TODO
-#usr/doc/sane-1.0.22/plustek
-usr/doc/sane-1.0.22/plustek/FAQ
-usr/doc/sane-1.0.22/plustek/MakeModule.sh
-#usr/doc/sane-1.0.22/plustek/Makefile.kernel24
-usr/doc/sane-1.0.22/plustek/Makefile.kernel26
-usr/doc/sane-1.0.22/plustek/Plustek-PARPORT-TODO.txt
-usr/doc/sane-1.0.22/plustek/Plustek-PARPORT.changes
-usr/doc/sane-1.0.22/plustek/Plustek-PARPORT.txt
-usr/doc/sane-1.0.22/plustek/Plustek-USB-TODO.txt
-usr/doc/sane-1.0.22/plustek/Plustek-USB.changes
-usr/doc/sane-1.0.22/plustek/Plustek-USB.txt
-usr/doc/sane-1.0.22/sane-backends-external.html
-usr/doc/sane-1.0.22/sane-backends.html
-usr/doc/sane-1.0.22/sane-mfgs-external.html
-usr/doc/sane-1.0.22/sane-mfgs.html
-#usr/doc/sane-1.0.22/sceptre
-usr/doc/sane-1.0.22/sceptre/s1200.txt
-#usr/doc/sane-1.0.22/teco
-usr/doc/sane-1.0.22/teco/teco1.txt
-usr/doc/sane-1.0.22/teco/teco2.txt
-usr/doc/sane-1.0.22/teco/teco3.txt
-#usr/doc/sane-1.0.22/u12
-usr/doc/sane-1.0.22/u12/U12.changes
-usr/doc/sane-1.0.22/u12/U12.todo
-#usr/doc/sane-1.0.22/umax
-usr/doc/sane-1.0.22/umax/negative-types.txt
-usr/doc/sane-1.0.22/umax/sane-logo.jpg
-usr/doc/sane-1.0.22/umax/sane-umax-advanced-options-doc.html
-usr/doc/sane-1.0.22/umax/sane-umax-advanced.jpg
-usr/doc/sane-1.0.22/umax/sane-umax-astra-doc.html
-usr/doc/sane-1.0.22/umax/sane-umax-config-doc.html
-usr/doc/sane-1.0.22/umax/sane-umax-doc.html
-usr/doc/sane-1.0.22/umax/sane-umax-histogram.jpg
-usr/doc/sane-1.0.22/umax/sane-umax-mirage-doc.html
-usr/doc/sane-1.0.22/umax/sane-umax-not-listed-doc.html
-usr/doc/sane-1.0.22/umax/sane-umax-others-doc.html
-usr/doc/sane-1.0.22/umax/sane-umax-parport-doc.html
-usr/doc/sane-1.0.22/umax/sane-umax-powerlook-doc.html
-usr/doc/sane-1.0.22/umax/sane-umax-scanner-clones-doc.html
-usr/doc/sane-1.0.22/umax/sane-umax-speed-doc.html
-usr/doc/sane-1.0.22/umax/sane-umax-standard-options-doc.html
-usr/doc/sane-1.0.22/umax/sane-umax-standard.jpg
-usr/doc/sane-1.0.22/umax/sane-umax-text.jpg
-usr/doc/sane-1.0.22/umax/sane-umax-text2.jpg
-usr/doc/sane-1.0.22/umax/sane-umax-text4.jpg
-usr/doc/sane-1.0.22/umax/sane-umax-uc-doc.html
-usr/doc/sane-1.0.22/umax/sane-umax-vista-doc.html
-usr/doc/sane-1.0.22/umax/sane-umax.jpg
-usr/doc/sane-1.0.22/umax/umax.BUGS
-usr/doc/sane-1.0.22/umax/umax.CHANGES
-usr/doc/sane-1.0.22/umax/umax.FAQ
-usr/doc/sane-1.0.22/umax/umax.TODO
+usr/doc/sane-1.0.24
+#usr/doc/sane-1.0.24/AUTHORS
+#usr/doc/sane-1.0.24/COPYING
+#usr/doc/sane-1.0.24/ChangeLog
+#usr/doc/sane-1.0.24/LICENSE
+#usr/doc/sane-1.0.24/NEWS
+#usr/doc/sane-1.0.24/PROBLEMS
+#usr/doc/sane-1.0.24/PROJECTS
+#usr/doc/sane-1.0.24/README
+#usr/doc/sane-1.0.24/README.aix
+#usr/doc/sane-1.0.24/README.beos
+#usr/doc/sane-1.0.24/README.darwin
+#usr/doc/sane-1.0.24/README.djpeg
+#usr/doc/sane-1.0.24/README.freebsd
+#usr/doc/sane-1.0.24/README.hp-ux
+#usr/doc/sane-1.0.24/README.linux
+#usr/doc/sane-1.0.24/README.netbsd
+#usr/doc/sane-1.0.24/README.openbsd
+#usr/doc/sane-1.0.24/README.os2
+#usr/doc/sane-1.0.24/README.solaris
+#usr/doc/sane-1.0.24/README.unixware2
+#usr/doc/sane-1.0.24/README.unixware7
+#usr/doc/sane-1.0.24/README.windows
+#usr/doc/sane-1.0.24/README.zeta
+#usr/doc/sane-1.0.24/backend-writing.txt
+#usr/doc/sane-1.0.24/canon
+#usr/doc/sane-1.0.24/canon/canon.changes
+#usr/doc/sane-1.0.24/canon/canon.install2700F.txt
+#usr/doc/sane-1.0.24/gt68xx
+#usr/doc/sane-1.0.24/gt68xx/gt68xx.CHANGES
+#usr/doc/sane-1.0.24/gt68xx/gt68xx.TODO
+#usr/doc/sane-1.0.24/leo
+#usr/doc/sane-1.0.24/leo/leo.txt
+#usr/doc/sane-1.0.24/matsushita
+#usr/doc/sane-1.0.24/matsushita/matsushita.txt
+#usr/doc/sane-1.0.24/mustek
+#usr/doc/sane-1.0.24/mustek/mustek.CHANGES
+#usr/doc/sane-1.0.24/mustek_usb
+#usr/doc/sane-1.0.24/mustek_usb/mustek_usb.CHANGES
+#usr/doc/sane-1.0.24/mustek_usb/mustek_usb.TODO
+#usr/doc/sane-1.0.24/mustek_usb2
+#usr/doc/sane-1.0.24/mustek_usb2/mustek_usb2.CHANGES
+#usr/doc/sane-1.0.24/mustek_usb2/mustek_usb2.TODO
+#usr/doc/sane-1.0.24/niash
+#usr/doc/sane-1.0.24/niash/niash.TODO
+#usr/doc/sane-1.0.24/plustek
+#usr/doc/sane-1.0.24/plustek/FAQ
+#usr/doc/sane-1.0.24/plustek/MakeModule.sh
+#usr/doc/sane-1.0.24/plustek/Makefile.kernel24
+#usr/doc/sane-1.0.24/plustek/Makefile.kernel26
+#usr/doc/sane-1.0.24/plustek/Plustek-PARPORT-TODO.txt
+#usr/doc/sane-1.0.24/plustek/Plustek-PARPORT.changes
+#usr/doc/sane-1.0.24/plustek/Plustek-PARPORT.txt
+#usr/doc/sane-1.0.24/plustek/Plustek-USB-TODO.txt
+#usr/doc/sane-1.0.24/plustek/Plustek-USB.changes
+#usr/doc/sane-1.0.24/plustek/Plustek-USB.txt
+#usr/doc/sane-1.0.24/sane-backends-external.html
+#usr/doc/sane-1.0.24/sane-backends.html
+#usr/doc/sane-1.0.24/sane-mfgs-external.html
+#usr/doc/sane-1.0.24/sane-mfgs.html
+#usr/doc/sane-1.0.24/sceptre
+#usr/doc/sane-1.0.24/sceptre/s1200.txt
+#usr/doc/sane-1.0.24/teco
+#usr/doc/sane-1.0.24/teco/teco1.txt
+#usr/doc/sane-1.0.24/teco/teco2.txt
+#usr/doc/sane-1.0.24/teco/teco3.txt
+#usr/doc/sane-1.0.24/u12
+#usr/doc/sane-1.0.24/u12/U12.changes
+#usr/doc/sane-1.0.24/u12/U12.todo
+#usr/doc/sane-1.0.24/umax
+#usr/doc/sane-1.0.24/umax/negative-types.txt
+#usr/doc/sane-1.0.24/umax/sane-logo.jpg
+#usr/doc/sane-1.0.24/umax/sane-umax-advanced-options-doc.html
+#usr/doc/sane-1.0.24/umax/sane-umax-advanced.jpg
+#usr/doc/sane-1.0.24/umax/sane-umax-astra-doc.html
+#usr/doc/sane-1.0.24/umax/sane-umax-config-doc.html
+#usr/doc/sane-1.0.24/umax/sane-umax-doc.html
+#usr/doc/sane-1.0.24/umax/sane-umax-histogram.jpg
+#usr/doc/sane-1.0.24/umax/sane-umax-mirage-doc.html
+#usr/doc/sane-1.0.24/umax/sane-umax-not-listed-doc.html
+#usr/doc/sane-1.0.24/umax/sane-umax-others-doc.html
+#usr/doc/sane-1.0.24/umax/sane-umax-parport-doc.html
+#usr/doc/sane-1.0.24/umax/sane-umax-powerlook-doc.html
+#usr/doc/sane-1.0.24/umax/sane-umax-scanner-clones-doc.html
+#usr/doc/sane-1.0.24/umax/sane-umax-speed-doc.html
+#usr/doc/sane-1.0.24/umax/sane-umax-standard-options-doc.html
+#usr/doc/sane-1.0.24/umax/sane-umax-standard.jpg
+#usr/doc/sane-1.0.24/umax/sane-umax-text.jpg
+#usr/doc/sane-1.0.24/umax/sane-umax-text2.jpg
+#usr/doc/sane-1.0.24/umax/sane-umax-text4.jpg
+#usr/doc/sane-1.0.24/umax/sane-umax-uc-doc.html
+#usr/doc/sane-1.0.24/umax/sane-umax-vista-doc.html
+#usr/doc/sane-1.0.24/umax/sane-umax.jpg
+#usr/doc/sane-1.0.24/umax/umax.BUGS
+#usr/doc/sane-1.0.24/umax/umax.CHANGES
+#usr/doc/sane-1.0.24/umax/umax.FAQ
+#usr/doc/sane-1.0.24/umax/umax.TODO
 #usr/include/sane
 usr/include/sane/sane.h
 usr/include/sane/saneopts.h
 #usr/lib/libsane.la
 usr/lib/libsane.so
 usr/lib/libsane.so.1
-usr/lib/libsane.so.1.0.22
+usr/lib/libsane.so.1.0.24
+#usr/lib/pkgconfig/sane-backends.pc
 #usr/lib/sane
 #usr/lib/sane/libsane-abaton.la
 usr/lib/sane/libsane-abaton.so
 usr/lib/sane/libsane-abaton.so.1
-usr/lib/sane/libsane-abaton.so.1.0.22
+usr/lib/sane/libsane-abaton.so.1.0.24
 #usr/lib/sane/libsane-agfafocus.la
 usr/lib/sane/libsane-agfafocus.so
 usr/lib/sane/libsane-agfafocus.so.1
-usr/lib/sane/libsane-agfafocus.so.1.0.22
+usr/lib/sane/libsane-agfafocus.so.1.0.24
 #usr/lib/sane/libsane-apple.la
 usr/lib/sane/libsane-apple.so
 usr/lib/sane/libsane-apple.so.1
-usr/lib/sane/libsane-apple.so.1.0.22
+usr/lib/sane/libsane-apple.so.1.0.24
 #usr/lib/sane/libsane-artec.la
 usr/lib/sane/libsane-artec.so
 usr/lib/sane/libsane-artec.so.1
-usr/lib/sane/libsane-artec.so.1.0.22
+usr/lib/sane/libsane-artec.so.1.0.24
 #usr/lib/sane/libsane-artec_eplus48u.la
 usr/lib/sane/libsane-artec_eplus48u.so
 usr/lib/sane/libsane-artec_eplus48u.so.1
-usr/lib/sane/libsane-artec_eplus48u.so.1.0.22
+usr/lib/sane/libsane-artec_eplus48u.so.1.0.24
 #usr/lib/sane/libsane-as6e.la
 usr/lib/sane/libsane-as6e.so
 usr/lib/sane/libsane-as6e.so.1
-usr/lib/sane/libsane-as6e.so.1.0.22
+usr/lib/sane/libsane-as6e.so.1.0.24
 #usr/lib/sane/libsane-avision.la
 usr/lib/sane/libsane-avision.so
 usr/lib/sane/libsane-avision.so.1
-usr/lib/sane/libsane-avision.so.1.0.22
+usr/lib/sane/libsane-avision.so.1.0.24
 #usr/lib/sane/libsane-bh.la
 usr/lib/sane/libsane-bh.so
 usr/lib/sane/libsane-bh.so.1
-usr/lib/sane/libsane-bh.so.1.0.22
+usr/lib/sane/libsane-bh.so.1.0.24
 #usr/lib/sane/libsane-canon.la
 usr/lib/sane/libsane-canon.so
 usr/lib/sane/libsane-canon.so.1
-usr/lib/sane/libsane-canon.so.1.0.22
+usr/lib/sane/libsane-canon.so.1.0.24
 #usr/lib/sane/libsane-canon630u.la
 usr/lib/sane/libsane-canon630u.so
 usr/lib/sane/libsane-canon630u.so.1
-usr/lib/sane/libsane-canon630u.so.1.0.22
+usr/lib/sane/libsane-canon630u.so.1.0.24
 #usr/lib/sane/libsane-canon_dr.la
 usr/lib/sane/libsane-canon_dr.so
 usr/lib/sane/libsane-canon_dr.so.1
-usr/lib/sane/libsane-canon_dr.so.1.0.22
+usr/lib/sane/libsane-canon_dr.so.1.0.24
 #usr/lib/sane/libsane-cardscan.la
 usr/lib/sane/libsane-cardscan.so
 usr/lib/sane/libsane-cardscan.so.1
-usr/lib/sane/libsane-cardscan.so.1.0.22
+usr/lib/sane/libsane-cardscan.so.1.0.24
 #usr/lib/sane/libsane-coolscan.la
 usr/lib/sane/libsane-coolscan.so
 usr/lib/sane/libsane-coolscan.so.1
-usr/lib/sane/libsane-coolscan.so.1.0.22
+usr/lib/sane/libsane-coolscan.so.1.0.24
 #usr/lib/sane/libsane-coolscan2.la
 usr/lib/sane/libsane-coolscan2.so
 usr/lib/sane/libsane-coolscan2.so.1
-usr/lib/sane/libsane-coolscan2.so.1.0.22
+usr/lib/sane/libsane-coolscan2.so.1.0.24
 #usr/lib/sane/libsane-coolscan3.la
 usr/lib/sane/libsane-coolscan3.so
 usr/lib/sane/libsane-coolscan3.so.1
-usr/lib/sane/libsane-coolscan3.so.1.0.22
+usr/lib/sane/libsane-coolscan3.so.1.0.24
 #usr/lib/sane/libsane-dc210.la
 usr/lib/sane/libsane-dc210.so
 usr/lib/sane/libsane-dc210.so.1
-usr/lib/sane/libsane-dc210.so.1.0.22
+usr/lib/sane/libsane-dc210.so.1.0.24
 #usr/lib/sane/libsane-dc240.la
 usr/lib/sane/libsane-dc240.so
 usr/lib/sane/libsane-dc240.so.1
-usr/lib/sane/libsane-dc240.so.1.0.22
+usr/lib/sane/libsane-dc240.so.1.0.24
 #usr/lib/sane/libsane-dc25.la
 usr/lib/sane/libsane-dc25.so
 usr/lib/sane/libsane-dc25.so.1
-usr/lib/sane/libsane-dc25.so.1.0.22
+usr/lib/sane/libsane-dc25.so.1.0.24
 #usr/lib/sane/libsane-dell1600n_net.la
 usr/lib/sane/libsane-dell1600n_net.so
 usr/lib/sane/libsane-dell1600n_net.so.1
-usr/lib/sane/libsane-dell1600n_net.so.1.0.22
+usr/lib/sane/libsane-dell1600n_net.so.1.0.24
 #usr/lib/sane/libsane-dll.la
 usr/lib/sane/libsane-dll.so
 usr/lib/sane/libsane-dll.so.1
-usr/lib/sane/libsane-dll.so.1.0.22
+usr/lib/sane/libsane-dll.so.1.0.24
 #usr/lib/sane/libsane-dmc.la
 usr/lib/sane/libsane-dmc.so
 usr/lib/sane/libsane-dmc.so.1
-usr/lib/sane/libsane-dmc.so.1.0.22
+usr/lib/sane/libsane-dmc.so.1.0.24
 #usr/lib/sane/libsane-epjitsu.la
 usr/lib/sane/libsane-epjitsu.so
 usr/lib/sane/libsane-epjitsu.so.1
-usr/lib/sane/libsane-epjitsu.so.1.0.22
+usr/lib/sane/libsane-epjitsu.so.1.0.24
 #usr/lib/sane/libsane-epson.la
 usr/lib/sane/libsane-epson.so
 usr/lib/sane/libsane-epson.so.1
-usr/lib/sane/libsane-epson.so.1.0.22
+usr/lib/sane/libsane-epson.so.1.0.24
 #usr/lib/sane/libsane-epson2.la
 usr/lib/sane/libsane-epson2.so
 usr/lib/sane/libsane-epson2.so.1
-usr/lib/sane/libsane-epson2.so.1.0.22
+usr/lib/sane/libsane-epson2.so.1.0.24
 #usr/lib/sane/libsane-fujitsu.la
 usr/lib/sane/libsane-fujitsu.so
 usr/lib/sane/libsane-fujitsu.so.1
-usr/lib/sane/libsane-fujitsu.so.1.0.22
+usr/lib/sane/libsane-fujitsu.so.1.0.24
 #usr/lib/sane/libsane-genesys.la
 usr/lib/sane/libsane-genesys.so
 usr/lib/sane/libsane-genesys.so.1
-usr/lib/sane/libsane-genesys.so.1.0.22
+usr/lib/sane/libsane-genesys.so.1.0.24
 #usr/lib/sane/libsane-gt68xx.la
 usr/lib/sane/libsane-gt68xx.so
 usr/lib/sane/libsane-gt68xx.so.1
-usr/lib/sane/libsane-gt68xx.so.1.0.22
+usr/lib/sane/libsane-gt68xx.so.1.0.24
 #usr/lib/sane/libsane-hp.la
 usr/lib/sane/libsane-hp.so
 usr/lib/sane/libsane-hp.so.1
-usr/lib/sane/libsane-hp.so.1.0.22
+usr/lib/sane/libsane-hp.so.1.0.24
 #usr/lib/sane/libsane-hp3500.la
 usr/lib/sane/libsane-hp3500.so
 usr/lib/sane/libsane-hp3500.so.1
-usr/lib/sane/libsane-hp3500.so.1.0.22
+usr/lib/sane/libsane-hp3500.so.1.0.24
 #usr/lib/sane/libsane-hp3900.la
 usr/lib/sane/libsane-hp3900.so
 usr/lib/sane/libsane-hp3900.so.1
-usr/lib/sane/libsane-hp3900.so.1.0.22
+usr/lib/sane/libsane-hp3900.so.1.0.24
 #usr/lib/sane/libsane-hp4200.la
 usr/lib/sane/libsane-hp4200.so
 usr/lib/sane/libsane-hp4200.so.1
-usr/lib/sane/libsane-hp4200.so.1.0.22
+usr/lib/sane/libsane-hp4200.so.1.0.24
 #usr/lib/sane/libsane-hp5400.la
 usr/lib/sane/libsane-hp5400.so
 usr/lib/sane/libsane-hp5400.so.1
-usr/lib/sane/libsane-hp5400.so.1.0.22
+usr/lib/sane/libsane-hp5400.so.1.0.24
 #usr/lib/sane/libsane-hp5590.la
 usr/lib/sane/libsane-hp5590.so
 usr/lib/sane/libsane-hp5590.so.1
-usr/lib/sane/libsane-hp5590.so.1.0.22
+usr/lib/sane/libsane-hp5590.so.1.0.24
 #usr/lib/sane/libsane-hpljm1005.la
 usr/lib/sane/libsane-hpljm1005.so
 usr/lib/sane/libsane-hpljm1005.so.1
-usr/lib/sane/libsane-hpljm1005.so.1.0.22
+usr/lib/sane/libsane-hpljm1005.so.1.0.24
 #usr/lib/sane/libsane-hs2p.la
 usr/lib/sane/libsane-hs2p.so
 usr/lib/sane/libsane-hs2p.so.1
-usr/lib/sane/libsane-hs2p.so.1.0.22
+usr/lib/sane/libsane-hs2p.so.1.0.24
 #usr/lib/sane/libsane-ibm.la
 usr/lib/sane/libsane-ibm.so
 usr/lib/sane/libsane-ibm.so.1
-usr/lib/sane/libsane-ibm.so.1.0.22
+usr/lib/sane/libsane-ibm.so.1.0.24
 #usr/lib/sane/libsane-kodak.la
 usr/lib/sane/libsane-kodak.so
 usr/lib/sane/libsane-kodak.so.1
-usr/lib/sane/libsane-kodak.so.1.0.22
+usr/lib/sane/libsane-kodak.so.1.0.24
+#usr/lib/sane/libsane-kodakaio.la
+usr/lib/sane/libsane-kodakaio.so
+usr/lib/sane/libsane-kodakaio.so.1
+usr/lib/sane/libsane-kodakaio.so.1.0.24
 #usr/lib/sane/libsane-kvs1025.la
 usr/lib/sane/libsane-kvs1025.so
 usr/lib/sane/libsane-kvs1025.so.1
-usr/lib/sane/libsane-kvs1025.so.1.0.22
+usr/lib/sane/libsane-kvs1025.so.1.0.24
 #usr/lib/sane/libsane-kvs20xx.la
 usr/lib/sane/libsane-kvs20xx.so
 usr/lib/sane/libsane-kvs20xx.so.1
-usr/lib/sane/libsane-kvs20xx.so.1.0.22
+usr/lib/sane/libsane-kvs20xx.so.1.0.24
+#usr/lib/sane/libsane-kvs40xx.la
+usr/lib/sane/libsane-kvs40xx.so
+usr/lib/sane/libsane-kvs40xx.so.1
+usr/lib/sane/libsane-kvs40xx.so.1.0.24
 #usr/lib/sane/libsane-leo.la
 usr/lib/sane/libsane-leo.so
 usr/lib/sane/libsane-leo.so.1
-usr/lib/sane/libsane-leo.so.1.0.22
+usr/lib/sane/libsane-leo.so.1.0.24
 #usr/lib/sane/libsane-lexmark.la
 usr/lib/sane/libsane-lexmark.so
 usr/lib/sane/libsane-lexmark.so.1
-usr/lib/sane/libsane-lexmark.so.1.0.22
+usr/lib/sane/libsane-lexmark.so.1.0.24
 #usr/lib/sane/libsane-ma1509.la
 usr/lib/sane/libsane-ma1509.so
 usr/lib/sane/libsane-ma1509.so.1
-usr/lib/sane/libsane-ma1509.so.1.0.22
+usr/lib/sane/libsane-ma1509.so.1.0.24
 #usr/lib/sane/libsane-magicolor.la
 usr/lib/sane/libsane-magicolor.so
 usr/lib/sane/libsane-magicolor.so.1
-usr/lib/sane/libsane-magicolor.so.1.0.22
+usr/lib/sane/libsane-magicolor.so.1.0.24
 #usr/lib/sane/libsane-matsushita.la
 usr/lib/sane/libsane-matsushita.so
 usr/lib/sane/libsane-matsushita.so.1
-usr/lib/sane/libsane-matsushita.so.1.0.22
+usr/lib/sane/libsane-matsushita.so.1.0.24
 #usr/lib/sane/libsane-microtek.la
 usr/lib/sane/libsane-microtek.so
 usr/lib/sane/libsane-microtek.so.1
-usr/lib/sane/libsane-microtek.so.1.0.22
+usr/lib/sane/libsane-microtek.so.1.0.24
 #usr/lib/sane/libsane-microtek2.la
 usr/lib/sane/libsane-microtek2.so
 usr/lib/sane/libsane-microtek2.so.1
-usr/lib/sane/libsane-microtek2.so.1.0.22
+usr/lib/sane/libsane-microtek2.so.1.0.24
 #usr/lib/sane/libsane-mustek.la
 usr/lib/sane/libsane-mustek.so
 usr/lib/sane/libsane-mustek.so.1
-usr/lib/sane/libsane-mustek.so.1.0.22
+usr/lib/sane/libsane-mustek.so.1.0.24
 #usr/lib/sane/libsane-mustek_pp.la
 usr/lib/sane/libsane-mustek_pp.so
 usr/lib/sane/libsane-mustek_pp.so.1
-usr/lib/sane/libsane-mustek_pp.so.1.0.22
+usr/lib/sane/libsane-mustek_pp.so.1.0.24
 #usr/lib/sane/libsane-mustek_usb.la
 usr/lib/sane/libsane-mustek_usb.so
 usr/lib/sane/libsane-mustek_usb.so.1
-usr/lib/sane/libsane-mustek_usb.so.1.0.22
+usr/lib/sane/libsane-mustek_usb.so.1.0.24
+#usr/lib/sane/libsane-mustek_usb2.la
+usr/lib/sane/libsane-mustek_usb2.so
+usr/lib/sane/libsane-mustek_usb2.so.1
+usr/lib/sane/libsane-mustek_usb2.so.1.0.24
 #usr/lib/sane/libsane-nec.la
 usr/lib/sane/libsane-nec.so
 usr/lib/sane/libsane-nec.so.1
-usr/lib/sane/libsane-nec.so.1.0.22
+usr/lib/sane/libsane-nec.so.1.0.24
 #usr/lib/sane/libsane-net.la
 usr/lib/sane/libsane-net.so
 usr/lib/sane/libsane-net.so.1
-usr/lib/sane/libsane-net.so.1.0.22
+usr/lib/sane/libsane-net.so.1.0.24
 #usr/lib/sane/libsane-niash.la
 usr/lib/sane/libsane-niash.so
 usr/lib/sane/libsane-niash.so.1
-usr/lib/sane/libsane-niash.so.1.0.22
+usr/lib/sane/libsane-niash.so.1.0.24
 #usr/lib/sane/libsane-p5.la
 usr/lib/sane/libsane-p5.so
 usr/lib/sane/libsane-p5.so.1
-usr/lib/sane/libsane-p5.so.1.0.22
+usr/lib/sane/libsane-p5.so.1.0.24
 #usr/lib/sane/libsane-pie.la
 usr/lib/sane/libsane-pie.so
 usr/lib/sane/libsane-pie.so.1
-usr/lib/sane/libsane-pie.so.1.0.22
+usr/lib/sane/libsane-pie.so.1.0.24
 #usr/lib/sane/libsane-pixma.la
 usr/lib/sane/libsane-pixma.so
 usr/lib/sane/libsane-pixma.so.1
-usr/lib/sane/libsane-pixma.so.1.0.22
+usr/lib/sane/libsane-pixma.so.1.0.24
 #usr/lib/sane/libsane-plustek.la
 usr/lib/sane/libsane-plustek.so
 usr/lib/sane/libsane-plustek.so.1
-usr/lib/sane/libsane-plustek.so.1.0.22
+usr/lib/sane/libsane-plustek.so.1.0.24
 #usr/lib/sane/libsane-plustek_pp.la
 usr/lib/sane/libsane-plustek_pp.so
 usr/lib/sane/libsane-plustek_pp.so.1
-usr/lib/sane/libsane-plustek_pp.so.1.0.22
+usr/lib/sane/libsane-plustek_pp.so.1.0.24
 #usr/lib/sane/libsane-qcam.la
 usr/lib/sane/libsane-qcam.so
 usr/lib/sane/libsane-qcam.so.1
-usr/lib/sane/libsane-qcam.so.1.0.22
+usr/lib/sane/libsane-qcam.so.1.0.24
 #usr/lib/sane/libsane-ricoh.la
 usr/lib/sane/libsane-ricoh.so
 usr/lib/sane/libsane-ricoh.so.1
-usr/lib/sane/libsane-ricoh.so.1.0.22
+usr/lib/sane/libsane-ricoh.so.1.0.24
 #usr/lib/sane/libsane-rts8891.la
 usr/lib/sane/libsane-rts8891.so
 usr/lib/sane/libsane-rts8891.so.1
-usr/lib/sane/libsane-rts8891.so.1.0.22
+usr/lib/sane/libsane-rts8891.so.1.0.24
 #usr/lib/sane/libsane-s9036.la
 usr/lib/sane/libsane-s9036.so
 usr/lib/sane/libsane-s9036.so.1
-usr/lib/sane/libsane-s9036.so.1.0.22
+usr/lib/sane/libsane-s9036.so.1.0.24
 #usr/lib/sane/libsane-sceptre.la
 usr/lib/sane/libsane-sceptre.so
 usr/lib/sane/libsane-sceptre.so.1
-usr/lib/sane/libsane-sceptre.so.1.0.22
+usr/lib/sane/libsane-sceptre.so.1.0.24
 #usr/lib/sane/libsane-sharp.la
 usr/lib/sane/libsane-sharp.so
 usr/lib/sane/libsane-sharp.so.1
-usr/lib/sane/libsane-sharp.so.1.0.22
+usr/lib/sane/libsane-sharp.so.1.0.24
 #usr/lib/sane/libsane-sm3600.la
 usr/lib/sane/libsane-sm3600.so
 usr/lib/sane/libsane-sm3600.so.1
-usr/lib/sane/libsane-sm3600.so.1.0.22
+usr/lib/sane/libsane-sm3600.so.1.0.24
 #usr/lib/sane/libsane-sm3840.la
 usr/lib/sane/libsane-sm3840.so
 usr/lib/sane/libsane-sm3840.so.1
-usr/lib/sane/libsane-sm3840.so.1.0.22
+usr/lib/sane/libsane-sm3840.so.1.0.24
 #usr/lib/sane/libsane-snapscan.la
 usr/lib/sane/libsane-snapscan.so
 usr/lib/sane/libsane-snapscan.so.1
-usr/lib/sane/libsane-snapscan.so.1.0.22
+usr/lib/sane/libsane-snapscan.so.1.0.24
 #usr/lib/sane/libsane-sp15c.la
 usr/lib/sane/libsane-sp15c.so
 usr/lib/sane/libsane-sp15c.so.1
-usr/lib/sane/libsane-sp15c.so.1.0.22
+usr/lib/sane/libsane-sp15c.so.1.0.24
 #usr/lib/sane/libsane-st400.la
 usr/lib/sane/libsane-st400.so
 usr/lib/sane/libsane-st400.so.1
-usr/lib/sane/libsane-st400.so.1.0.22
+usr/lib/sane/libsane-st400.so.1.0.24
 #usr/lib/sane/libsane-stv680.la
 usr/lib/sane/libsane-stv680.so
 usr/lib/sane/libsane-stv680.so.1
-usr/lib/sane/libsane-stv680.so.1.0.22
+usr/lib/sane/libsane-stv680.so.1.0.24
 #usr/lib/sane/libsane-tamarack.la
 usr/lib/sane/libsane-tamarack.so
 usr/lib/sane/libsane-tamarack.so.1
-usr/lib/sane/libsane-tamarack.so.1.0.22
+usr/lib/sane/libsane-tamarack.so.1.0.24
 #usr/lib/sane/libsane-teco1.la
 usr/lib/sane/libsane-teco1.so
 usr/lib/sane/libsane-teco1.so.1
-usr/lib/sane/libsane-teco1.so.1.0.22
+usr/lib/sane/libsane-teco1.so.1.0.24
 #usr/lib/sane/libsane-teco2.la
 usr/lib/sane/libsane-teco2.so
 usr/lib/sane/libsane-teco2.so.1
-usr/lib/sane/libsane-teco2.so.1.0.22
+usr/lib/sane/libsane-teco2.so.1.0.24
 #usr/lib/sane/libsane-teco3.la
 usr/lib/sane/libsane-teco3.so
 usr/lib/sane/libsane-teco3.so.1
-usr/lib/sane/libsane-teco3.so.1.0.22
+usr/lib/sane/libsane-teco3.so.1.0.24
 #usr/lib/sane/libsane-test.la
 usr/lib/sane/libsane-test.so
 usr/lib/sane/libsane-test.so.1
-usr/lib/sane/libsane-test.so.1.0.22
+usr/lib/sane/libsane-test.so.1.0.24
 #usr/lib/sane/libsane-u12.la
 usr/lib/sane/libsane-u12.so
 usr/lib/sane/libsane-u12.so.1
-usr/lib/sane/libsane-u12.so.1.0.22
+usr/lib/sane/libsane-u12.so.1.0.24
 #usr/lib/sane/libsane-umax.la
 usr/lib/sane/libsane-umax.so
 usr/lib/sane/libsane-umax.so.1
-usr/lib/sane/libsane-umax.so.1.0.22
+usr/lib/sane/libsane-umax.so.1.0.24
 #usr/lib/sane/libsane-umax1220u.la
 usr/lib/sane/libsane-umax1220u.so
 usr/lib/sane/libsane-umax1220u.so.1
-usr/lib/sane/libsane-umax1220u.so.1.0.22
+usr/lib/sane/libsane-umax1220u.so.1.0.24
 #usr/lib/sane/libsane-umax_pp.la
 usr/lib/sane/libsane-umax_pp.so
 usr/lib/sane/libsane-umax_pp.so.1
-usr/lib/sane/libsane-umax_pp.so.1.0.22
+usr/lib/sane/libsane-umax_pp.so.1.0.24
 #usr/lib/sane/libsane-xerox_mfp.la
 usr/lib/sane/libsane-xerox_mfp.so
 usr/lib/sane/libsane-xerox_mfp.so.1
-usr/lib/sane/libsane-xerox_mfp.so.1.0.22
+usr/lib/sane/libsane-xerox_mfp.so.1.0.24
 usr/sbin/saned
 #usr/share/locale/bg/LC_MESSAGES/sane-backends.mo
 #usr/share/locale/cs/LC_MESSAGES/sane-backends.mo
@@ -560,8 +574,10 @@ usr/share/locale/de/LC_MESSAGES/sane-backends.mo
 #usr/share/man/man5/sane-hs2p.5
 #usr/share/man/man5/sane-ibm.5
 #usr/share/man/man5/sane-kodak.5
+#usr/share/man/man5/sane-kodakaio.5
 #usr/share/man/man5/sane-kvs1025.5
 #usr/share/man/man5/sane-kvs20xx.5
+#usr/share/man/man5/sane-kvs40xx.5
 #usr/share/man/man5/sane-leo.5
 #usr/share/man/man5/sane-lexmark.5
 #usr/share/man/man5/sane-ma1509.5
@@ -572,6 +588,7 @@ usr/share/locale/de/LC_MESSAGES/sane-backends.mo
 #usr/share/man/man5/sane-mustek.5
 #usr/share/man/man5/sane-mustek_pp.5
 #usr/share/man/man5/sane-mustek_usb.5
+#usr/share/man/man5/sane-mustek_usb2.5
 #usr/share/man/man5/sane-nec.5
 #usr/share/man/man5/sane-net.5
 #usr/share/man/man5/sane-niash.5
@@ -611,7 +628,6 @@ usr/share/sane/artec_eplus48u
 usr/share/sane/epjitsu
 usr/share/sane/gt68xx
 usr/share/sane/snapscan
-#usr/var
 #usr/var/lock
 usr/var/lock/sane
 var/ipfire/backup/addons/includes/sane
diff --git a/config/rootfiles/packages/squid-accounting b/config/rootfiles/packages/squid-accounting
new file mode 100644 (file)
index 0000000..29d09a1
--- /dev/null
@@ -0,0 +1,14 @@
+etc/fcron.hourly/squid-accounting
+srv/web/ipfire/cgi-bin/accounting.cgi
+#srv/web/ipfire/html/accounting
+srv/web/ipfire/html/accounting/logo
+usr/local/bin/acct.pl
+var/ipfire/accounting
+var/ipfire/accounting/acct-lib.pl
+var/ipfire/accounting/bill
+var/ipfire/accounting/dbinstall.pl
+var/ipfire/addon-lang/acct.de.pl
+var/ipfire/addon-lang/acct.en.pl
+var/ipfire/backup/addons/includes/squid-accounting
+var/ipfire/menu.d/EX-squid-accounting.menu
+var/log/accounting.log
diff --git a/config/rootfiles/packages/sslscan b/config/rootfiles/packages/sslscan
new file mode 100644 (file)
index 0000000..603c36e
--- /dev/null
@@ -0,0 +1,2 @@
+usr/bin/sslscan
+#usr/share/man/man1/sslscan.1
index 55d261be77c0d9f0310c1b93f5a4812eca6d360c..eb19657400aebc4fbb229cd9d8427d3635b9ba60 100644 (file)
@@ -1,6 +1,6 @@
-etc/rc.d/init.d/tftpd
+usr/bin/tftp
 #usr/man/man1/tftp.1
 #usr/man/man8/in.tftpd.8
 #usr/man/man8/tftpd.8
 usr/sbin/tftpd
-#var/tftpboot
+etc/rc.d/init.d/tftpd
diff --git a/config/rootfiles/packages/vdr_vnsiserver5 b/config/rootfiles/packages/vdr_vnsiserver5
new file mode 100644 (file)
index 0000000..9b27e97
--- /dev/null
@@ -0,0 +1,4 @@
+etc/sysconfig/vdr-plugins.d/vnsiserver5.conf
+etc/vdr/plugins/vnsiserver5
+etc/vdr/plugins/vnsiserver5/allowed_hosts.conf
+usr/lib/vdr/libvdr-vnsiserver5.so.2.0.0
index 20ea7d535988253b72791cef94f4f5ed16dd21db..3dba2a03c62ff1739f8ab94aa232beb54aa35d69 100644 (file)
@@ -182,4 +182,4 @@ etc/rc.d/rc3.d/S99vdradmin
 #usr/share/locale/en_US.utf8/LC_MESSAGES/vdradmin.mo
 var/cache/vdradmin
 var/log/vdradmin
-var/run/vdradmin
+#var/run/vdradmin
index aa21965f955ff8eed3fb265044f251728ce808a1..ee297fe3f9208d7f39ecd24208c2adbadfc80ce6 100644 (file)
@@ -1,18 +1,9 @@
-[Temp]
-path = /tmp
-comment = Temp
-browseable = yes
+[Share1]
+path = /mnt/share1
+comment = Shared Folder
+browsable = yes
 writeable = yes
-create mask = 0777
-directory mask = 0777
-guest ok = yes
-force user = samba
-[P2P]
-path = /var/ipfire/samba/p2p
-comment = P2P
-browseable = yes
-writeable = yes
-create mask = 0777
-directory mask = 0777
+create mask = 0644
+directory mask = 0755
 guest ok = yes
 force user = samba
index 88320890cc0ca736d0ace02498547ed9b1eac4d1..3c7ae87d23a07c488a398779a853bd8bdb6b03dc 100644 (file)
@@ -1,3 +1,4 @@
+SERIAL 0 115200
 
 UI vesamenu.c32
 PROMPT 0
@@ -25,8 +26,7 @@ MENU TITLE Welcome!
 LABEL installer
        MENU LABEL Install IPFire VERSION
        TEXT HELP
-Install the version of IPFire that is
-on this disk.
+Install the version of IPFire that is on this disk.
        ENDTEXT
        KERNEL vmlinuz
        INITRD instroot
@@ -80,12 +80,57 @@ Diagnose memory problems with memtest86+.
        LABEL hdt
                MENU LABEL Hardware Detection Tool
                TEXT HELP
-Check your hardware with the Hardware Detection
-Tool!
+Check your hardware with the Hardware Detection Tool!
                ENDTEXT
                KERNEL hdt.c32
 MENU END
 
+MENU BEGIN serial
+       MENU TITLE Serial console options
+
+       LABEL serial.back
+               MENU LABEL Back
+               MENU EXIT
+
+       MENU SEPARATOR
+
+       LABEL ipfire-serial
+               MENU LABEL Install IPFire (serial)
+               TEXT HELP
+Run the installer with serial console.
+               ENDTEXT
+               KERNEL vmlinuz
+               INITRD instroot
+               APPEND console=ttyS0,115200 novga
+
+       LABEL unattended-serial
+               MENU LABEL Unattended installation (serial)
+               TEXT HELP
+Run an unattended installation wit serial console.
+               ENDTEXT
+               KERNEL vmlinuz
+               INITRD instroot
+               APPEND console=ttyS0,115200 novga unattended
+
+       MENU SEPARATOR
+
+       LABEL memtest-serial
+               MENU LABEL memtest86+ (serial)
+               TEXT HELP
+Diagnose memory problems with memtest86+ with serial console.
+               ENDTEXT
+               KERNEL memtest
+               APPEND console=ttyS0,115200
+
+       LABEL hdt-serial
+               MENU LABEL Hardware Detection Tool
+               TEXT HELP
+Check your hardware with the Hardware Detection Tool!
+               ENDTEXT
+               KERNEL hdt.c32
+
+MENU END
+
 MENU SEPARATOR
 
 LABEL netboot
index 91ff8a9665f665e97e31f15f93de460b05b1bc90..2ddc6d8e4425d133d2673c7bc913949723d23970 100644 (file)
@@ -70,7 +70,7 @@ while (<>) {
        $username   = $tmp[2]; if ($username eq '') { $username='-'; };
        $method     = $tmp[3];
 
-       $xlrator_url = $source_url;
+       $xlrator_url = "";
 
        if (($method eq 'GET') || ($method eq 'HEAD')) 
        {
@@ -212,9 +212,11 @@ while (<>) {
 # ----------- ADD NEW SOURCES BEFORE THIS LINE !!! ------------------
        }
 
-       $request="$xlrator_url $hostaddr $username $method\n";
-
-       print $request;
+       if ($xlrator_url) {
+               print "OK rewrite-url=\"$xlrator_url\"\n";
+       } else {
+               print "ERR\n";
+       }
 }
 
 # -------------------------------------------------------------------
index ceae12b2bc97da3af78a52c6e5bb129f59cc0e30..3e8b49eacd945c7f2be81b3e39b0eb3e7051e9a8 100644 (file)
 #                                                                             #
 ###############################################################################
 
-use strict;
 use IPC::Open2;
 use IO::Handle;
 
-my $redirectors;
-
 require '/var/ipfire/general-functions.pl';
 
 my %proxysettings=();
@@ -35,15 +32,20 @@ $proxysettings{'ENABLE_CLAMAV'} = 'off';
 $proxysettings{'ENABLE_UPDXLRATOR'} = 'off';
 &General::readhash("${General::swroot}/proxy/settings", \%proxysettings);
 
-# define here your redirectors (use a comma sperated list)
-if ( $proxysettings{'ENABLE_FILTER'} eq 'on' && $proxysettings{'ENABLE_CLAMAV'} eq 'on' && $proxysettings{'ENABLE_UPDXLRATOR'} eq 'on' ){$redirectors = [ '/usr/bin/squidGuard', '/usr/bin/squidclamav', '/usr/sbin/updxlrator' ];}
-elsif ( $proxysettings{'ENABLE_FILTER'} eq 'on' && $proxysettings{'ENABLE_CLAMAV'} eq 'on' && $proxysettings{'ENABLE_UPDXLRATOR'} eq 'off' ){$redirectors = [ '/usr/bin/squidGuard', '/usr/bin/squidclamav' ];}
-elsif ( $proxysettings{'ENABLE_FILTER'} eq 'on' && $proxysettings{'ENABLE_CLAMAV'} eq 'off' && $proxysettings{'ENABLE_UPDXLRATOR'} eq 'on' ){$redirectors = [ '/usr/bin/squidGuard', '/usr/sbin/updxlrator' ];}
-elsif ( $proxysettings{'ENABLE_FILTER'} eq 'on' && $proxysettings{'ENABLE_CLAMAV'} eq 'off' && $proxysettings{'ENABLE_UPDXLRATOR'} eq 'off' ){$redirectors = [ '/usr/bin/squidGuard' ];}
-elsif ( $proxysettings{'ENABLE_FILTER'} eq 'off' && $proxysettings{'ENABLE_CLAMAV'} eq 'on' && $proxysettings{'ENABLE_UPDXLRATOR'} eq 'on' ){$redirectors = [ '/usr/bin/squidclamav', '/usr/sbin/updxlrator' ];}
-elsif ( $proxysettings{'ENABLE_FILTER'} eq 'off' && $proxysettings{'ENABLE_CLAMAV'} eq 'on' && $proxysettings{'ENABLE_UPDXLRATOR'} eq 'off' ){$redirectors = [ '/usr/bin/squidclamav' ];}
-elsif ( $proxysettings{'ENABLE_FILTER'} eq 'off' && $proxysettings{'ENABLE_CLAMAV'} eq 'off' && $proxysettings{'ENABLE_UPDXLRATOR'} eq 'on' ){$redirectors = [ '/usr/sbin/updxlrator' ];}
-else  { $redirectors = [ '/usr/bin/squidGuard', '/usr/sbin/updxlrator' ];}
+# define here your redirectors
+my @redirectors = ();
+
+if ($proxysettings{'ENABLE_FILTER'} eq 'on') {
+       push(@redirectors, "/usr/bin/squidGuard");
+}
+
+if ($proxysettings{'ENABLE_CLAMAV'} eq 'on') {
+       push(@redirectors, "/usr/bin/squidclamav");
+}
+
+if ($proxysettings{'ENABLE_UPDXLRATOR'} eq 'on') {
+       push(@redirectors, "/usr/sbin/updxlrator");
+}
 
 # Attention: keep in mind that the order of your redirectors is important.
 # It doesn't make sense to scan for viruses on pages you restrict access to...
@@ -55,68 +57,89 @@ else  { $redirectors = [ '/usr/bin/squidGuard', '/usr/sbin/updxlrator' ];}
 # init
 $| = 1;
 STDOUT->autoflush(1);
-my $line;
-my $return;
-my $i;
+
 my $debug=0; # enable only for debugging
 
-if ( -e "/var/ipfire/proxy/enable_redirector_debug" ){
-       $debug = 1;
+if (-e "/var/ipfire/proxy/enable_redirector_debug") {
        writetolog("Urlfilter = ".$proxysettings{'ENABLE_FILTER'}." Clamav = ".$proxysettings{'ENABLE_CLAMAV'}." Updxlrator = ".$proxysettings{'ENABLE_UPDXLRATOR'});
-       }
+       $debug = 1;
+}
 
-# open progamms
-my $pidlist = [];
-my $rlist = [];
-my $wlist = [];
+# Open one instance for each redirector in the list and
+# put them into an array with the STDIN and STDOUT file
+# descriptors.
+my @instances = ();
 
-for($i = 0; $i < @$redirectors; $i++) {
-       $pidlist->[$i] = open2($rlist->[$i], $wlist->[$i], $redirectors->[$i]);
-       if ($debug){
-               writetolog("Current redirector is ".$redirectors->[$i]." number ".$i." PID ".$pidlist->[$i]);
-               }
+foreach my $redirector (@redirectors) {
+       my $desc_out = new IO::Handle();
+       my $desc_in  = new IO::Handle();
+
+       my $pid = open2($desc_out, $desc_in, $redirector);
+
+       if ($debug) {
+               &writetolog("Started an instance of $redirector with PID $pid");
        }
 
+       push(@instances, [$redirector, $desc_out, $desc_in]);
+}
+
 # wait for data...
-while($line = <>) {
-       $return = "";
+my $line;
+while ($line = <>) {
+       my $return = "ERR\n";
 
-       for($i = 0; $i < @$redirectors; $i++) {
-               $wlist->[$i]->print($line);
-               $return = $rlist->[$i]->getline;
+       foreach my $instance (@instances) {
+               my $redirector = @$instance[0];
+               my $desc_out   = @$instance[1];
+               my $desc_in    = @$instance[2];
+               my $response;
 
-               if ( $return eq "Processing file and database" ){
+               # Send request to the redirector.
+               $desc_in->print($line);
+
+               # Wait for a response.
+               $response = $desc_out->getline;
+
+               # Catch invalid responses from squidGuard.
+               if ($redirector eq "/usr/bin/squidGuard" && $response eq "Processing file and database") {
                        system("logger -t ipfire 'Emergency - squidGuard not initialised please run squidGuard -C all'");
-                       }
+                       next;
+               }
 
-               if ($debug){
-                       my $dline = $line;my $dreturn = $return;chomp $dline;chomp $dreturn;
-                       if ( $return eq $line or $return eq "\n" or $return eq "" ){
-                               writetolog("Request equals result by ".$redirectors->[$i]." ".$dline);
-                               }
-                       else {
-                               writetolog($redirectors->[$i]." answers ".$dreturn."\n   Querried ".$dline);
-                               }
-                       }
+               # Writing debug output.
+               if ($debug) {
+                       my $len_response = length($response);
+
+                       &writetolog("Queried $redirector for: $line");
+                       &writetolog("  --> Response ($len_response): $response");
+               }
 
-               # break if redirector changes data
-               if($return ne "\n" and $return ne $line ){
-                       if ( $redirectors->[$i] ne "/usr/sbin/updxlrator"){
-                               if ($debug){
-                                       writetolog($redirectors->[$i]." is stopping querry because block was found.");
-                                       }
-                               $i = @$redirectors;
-                               }
+               # If we got a decisive response, we send it back to squid
+               # and stop querying any more redirectors.
+               if ($response =~ /^(OK|BH)/) {
+                       if ($debug) {
+                               &writetolog("  --  Stopped querying redirectors");
                        }
+
+                       $return = $response;
+                       last;
                }
-       print $return;
        }
 
+       # Send response back to squid.
+       if ($debug) {
+               &writetolog("Sending back to squid: $return");
+       }
+       print $return;
+}
+
 exit 0;
 
 sub writetolog {
-       open(DATEI, ">>/var/log/squid/redirector_debug") || die "Unable to acces file /var/log/squid/redirector_debug";
-       my $log = shift;
-       print DATEI $log."\n";
-       close(DATEI);
-       }
+       my $message = shift;
+       chomp($message);
+
+       open(FILE, ">>/var/log/squid/redirector_debug") || die "Unable to acces file /var/log/squid/redirector_debug";
+       print FILE "$message\n";
+       close(FILE);
+}
diff --git a/config/vdr/plugins.d/vnsiserver5.conf b/config/vdr/plugins.d/vnsiserver5.conf
new file mode 100644 (file)
index 0000000..561552d
--- /dev/null
@@ -0,0 +1,5 @@
+# Configuration snippet for vdr-vnsiserver5                         -*- sh -*-
+#
+# Add command line options to pass to the vnsiserver5 plugin to PLUGIN_OPTIONS.
+
+PLUGIN_OPTIONS=""
index 3813572e00287031349e7abb0d67c46125a99ca4..574812166f72a9a01654d5b066891e5a99a2bbcf 100644 (file)
@@ -18,3 +18,7 @@ other usefull commands from the Dom0:
 - shutdown the fire: "xm shutdown ipfire-xen"
 - reset the fire: "xm destroy ipfire-xen"
 - look what is going on: "xm top" or "xm list"
+
+This script can also build a Citrix XenCenter xva image.
+- run "XEN_IMG_TYPE=xva sh xen-image-maker.sh" to build an xva image.
+- import the vm with "xe vm-import file=ipfire.xfa"
index 594c82a5f9c3fcf844662069e4369ec847fa9986..38bfdff5e5146aa6f182f1cacc051bab1d5bb43a 100644 (file)
@@ -17,8 +17,8 @@ vif         = [
 
 
 disk = [
-               'file:/mnt/test/ipfire-boot.img,xvda1,w',
-               'file:/mnt/test/ipfire-swap.img,xvda2,w',
-               'file:/mnt/test/ipfire-root.img,xvda3,w',
-               'file:/mnt/test/ipfire-var.img,xvda4,w'
+               'file:./ipfire-boot.img,xvda1,w',
+               'file:./ipfire-swap.img,xvda2,w',
+               'file:./ipfire-root.img,xvda3,w',
+               'file:./ipfire-var.img,xvda4,w'
        ] #### Change path
index a42ad5bf06df70ca96f82716de1053d3e79b7905..4f632805e130a72379f7e0857ef263bfb04f1911 100644 (file)
@@ -28,23 +28,12 @@ KVER=xxxKVERxxx
 KERN_PACK=xxxKERN_PACKxxx
 KRNDOWN=http://mirror0.ipfire.org/pakfire2/$VERSION/paks
 CONSOLE=hvc0
-###############################################################################
-# If you really want to use  outdated legacy kernel uncomment this lines. #####
-# Not recommended!!! ##########################################################
-######################
-#KERN_TYPE=xen
-#KVER=2.6.32.61
-#KERN_PACK=29
-#KRNDOWN=http://mirror0.ipfire.org/pakfire2/2.15/paks
-#CONSOLE=xvc0
-###############################################################################
 
 SIZEboot=64
 SIZEswap=512
 SIZEroot=1024
 SIZEvar=1024
-# ct'server does not support ext4 so change this to ext3.
-FSTYPE=ext4
+FSTYPE=ext3
 
 ##############################################################################
 
@@ -62,6 +51,25 @@ IMGvar=./$SNAME-var.img
 
 KERNEL=linux-$KERN_TYPE-$KVER-$KERN_PACK.ipfire
 
+if [ "$XEN_IMG_TYPE" == "xva" ]; then
+       # download xva.py if it not exist.
+       if [ ! -e xva.py ]; then
+               wget http://source.ipfire.org/source-2.x/xva.py
+       fi
+       # XenCenter use other devicenames and
+       # xvdd seems to be reserved (converter bug?).
+       P1=xvda
+       P2=xvdb
+       P3=xvdc
+       P4=xvde
+else
+       # old style xen image partition names
+       P1=xvda1
+       P2=xvda2
+       P3=xvda3
+       P4=xvda4
+fi
+
 rm -rf $TMPDIR && mkdir -p $MNThdd && mkdir -p $ISODIR
 echo --------------------------------------------------------
 echo - Download $SOURCEISO ...
@@ -108,7 +116,8 @@ mount -o loop $IMGboot $MNThdd/boot
 mount -o loop $IMGvar $MNThdd/var
 
 # Install IPFire without kernel modules
-tar -C $MNThdd/ -xvf $ISODIR/$SNAME-$VERSION.tlz --lzma \
+xz -d < $ISODIR/$SNAME-$VERSION.tlz > $TMPDIR/$SNAME-$VERSION.tar
+tar -C $MNThdd/ -xvf $TMPDIR/$SNAME-$VERSION.tar \
        --exclude=lib/modules* --exclude=boot* --numeric-owner
 
 #Install Kernel
@@ -121,7 +130,7 @@ mkdir $MNThdd/boot/grub
 echo "timeout 10"                          > $MNThdd/boot/grub/grub.conf
 echo "default 0"                          >> $MNThdd/boot/grub/grub.conf
 echo "title IPFire ($KERN_TYPE-kernel)"   >> $MNThdd/boot/grub/grub.conf
-echo "  kernel /vmlinuz-$KVER-ipfire-xen root=/dev/xvda3 rootdelay=10 panic=10 console=$CONSOLE ro" \
+echo "  kernel /vmlinuz-$KVER-ipfire-$KERN_TYPE root=/dev/$P3 rootdelay=10 panic=10 console=$CONSOLE ro" \
                                          >> $MNThdd/boot/grub/grub.conf
 echo "  initrd /ipfirerd-$KVER-$KERN_TYPE.img" >> $MNThdd/boot/grub/grub.conf
 echo "# savedefault 0" >> $MNThdd/boot/grub/grub.conf
@@ -129,16 +138,16 @@ echo "# savedefault 0" >> $MNThdd/boot/grub/grub.conf
 ln -s grub.conf $MNThdd/boot/grub/menu.lst
 
 #create the meta-info of linux-kernel package
-echo ""                       >  $MNThdd/opt/pakfire/db/meta/linux-$KERN_TYPE
-echo "Name: linux-$KERN_TYPE" >> $MNThdd/opt/pakfire/db/meta/linux-$KERN_TYPE
-echo "ProgVersion: $KVER"     >> $MNThdd/opt/pakfire/db/meta/linux-$KERN_TYPE
-echo "Release: $KERN_PACK"    >> $MNThdd/opt/pakfire/db/meta/linux-$KERN_TYPE
-echo ""                       >> $MNThdd/opt/pakfire/db/meta/linux-$KERN_TYPE
-echo ""                       >  $MNThdd/opt/pakfire/db/installed/linux-$KERN_TYPE
-echo "Name: linux-$KERN_TYPE" >> $MNThdd/opt/pakfire/db/installed/linux-$KERN_TYPE
-echo "ProgVersion: $KVER"     >> $MNThdd/opt/pakfire/db/installed/linux-$KERN_TYPE
-echo "Release: $KERN_PACK"    >> $MNThdd/opt/pakfire/db/installed/linux-$KERN_TYPE
-echo ""                       >> $MNThdd/opt/pakfire/db/installed/linux-$KERN_TYPE
+echo ""                       >  $MNThdd/opt/pakfire/db/meta/meta-linux-$KERN_TYPE
+echo "Name: linux-$KERN_TYPE" >> $MNThdd/opt/pakfire/db/meta/meta-linux-$KERN_TYPE
+echo "ProgVersion: $KVER"     >> $MNThdd/opt/pakfire/db/meta/meta-linux-$KERN_TYPE
+echo "Release: $KERN_PACK"    >> $MNThdd/opt/pakfire/db/meta/meta-linux-$KERN_TYPE
+echo ""                       >> $MNThdd/opt/pakfire/db/meta/meta-linux-$KERN_TYPE
+echo ""                       >  $MNThdd/opt/pakfire/db/installed/meta-linux-$KERN_TYPE
+echo "Name: linux-$KERN_TYPE" >> $MNThdd/opt/pakfire/db/installed/meta-linux-$KERN_TYPE
+echo "ProgVersion: $KVER"     >> $MNThdd/opt/pakfire/db/installed/meta-linux-$KERN_TYPE
+echo "Release: $KERN_PACK"    >> $MNThdd/opt/pakfire/db/installed/meta-linux-$KERN_TYPE
+echo ""                       >> $MNThdd/opt/pakfire/db/installed/meta-linux-$KERN_TYPE
 
 #Set default configuration
 echo "LANGUAGE=en" >> $MNThdd/var/ipfire/main/settings
@@ -150,10 +159,10 @@ mount --bind /proc $MNThdd/proc
 mount --bind /dev  $MNThdd/dev
 mount --bind /sys  $MNThdd/sys
 chroot $MNThdd /usr/bin/perl -e "require '/var/ipfire/lang.pl'; &Lang::BuildCacheLang"
-sed -i -e "s|DEVICE1|/dev/xvda1|g" $MNThdd/etc/fstab
-sed -i -e "s|DEVICE2|/dev/xvda2|g" $MNThdd/etc/fstab
-sed -i -e "s|DEVICE3|/dev/xvda3|g" $MNThdd/etc/fstab
-sed -i -e "s|DEVICE4|/dev/xvda4|g" $MNThdd/etc/fstab
+sed -i -e "s|DEVICE1|/dev/$P1|g" $MNThdd/etc/fstab
+sed -i -e "s|DEVICE2|/dev/$P2|g" $MNThdd/etc/fstab
+sed -i -e "s|DEVICE3|/dev/$P3|g" $MNThdd/etc/fstab
+sed -i -e "s|DEVICE4|/dev/$P4|g" $MNThdd/etc/fstab
 
 sed -i -e "s|FSTYPE|$FSTYPE|g" $MNThdd/etc/fstab
 
@@ -192,6 +201,11 @@ umount $MNThdd
 
 umount $ISODIR
 rm -rf ./ipfire-tmp
+
+if [ "$XEN_IMG_TYPE" == "xva" ]; then
+       python xva.py --sparse -c $SNAME.cfg -f $SNAME.xva
+       rm -f $SNAME*.img
+fi
 echo --------------------------------------------------------
 echo - Done.
 echo --------------------------------------------------------
index a00e97a051756d4ff5d8572e128e38ee59b102b9..0eb5785ae8317aa98bf881f885e132f6a5308096 100644 (file)
@@ -21,6 +21,7 @@ WARNING: translation string unused: add-route
 WARNING: translation string unused: addon
 WARNING: translation string unused: admin user password has been changed
 WARNING: translation string unused: administrator user password
+WARNING: translation string unused: adsl settings
 WARNING: translation string unused: advproxy LDAP auth
 WARNING: translation string unused: advproxy NTLM auth
 WARNING: translation string unused: advproxy advanced proxy
@@ -41,6 +42,7 @@ WARNING: translation string unused: advproxy errmsg password incorrect
 WARNING: translation string unused: advproxy no cre groups
 WARNING: translation string unused: advproxy ssadvanced proxy
 WARNING: translation string unused: advproxy update notification
+WARNING: translation string unused: again
 WARNING: translation string unused: age second
 WARNING: translation string unused: age seconds
 WARNING: translation string unused: age shour
@@ -59,6 +61,7 @@ WARNING: translation string unused: apply
 WARNING: translation string unused: archive not exist
 WARNING: translation string unused: attemps
 WARNING: translation string unused: available updates
+WARNING: translation string unused: avoid dod
 WARNING: translation string unused: backup config floppy
 WARNING: translation string unused: backup configuration
 WARNING: translation string unused: backup export key
@@ -70,6 +73,7 @@ WARNING: translation string unused: backup password
 WARNING: translation string unused: backup sets
 WARNING: translation string unused: backup to floppy
 WARNING: translation string unused: bad characters in
+WARNING: translation string unused: behind a proxy
 WARNING: translation string unused: bitrate
 WARNING: translation string unused: bleeding rules
 WARNING: translation string unused: blue access use hint
@@ -116,6 +120,8 @@ WARNING: translation string unused: dbfile
 WARNING: translation string unused: ddns help dnsmadeeasy
 WARNING: translation string unused: ddns help freedns
 WARNING: translation string unused: ddns help plus
+WARNING: translation string unused: ddns minimize updates
+WARNING: translation string unused: ddns noip prefix
 WARNING: translation string unused: debugme
 WARNING: translation string unused: deep scan directories
 WARNING: translation string unused: default ip
@@ -144,7 +150,9 @@ WARNING: translation string unused: dmz pinhole rule removed
 WARNING: translation string unused: dmzpinholes for same net not necessary
 WARNING: translation string unused: dns server
 WARNING: translation string unused: do not log this port list
+WARNING: translation string unused: domain not set
 WARNING: translation string unused: donation-link
+WARNING: translation string unused: download dh parameter
 WARNING: translation string unused: driver
 WARNING: translation string unused: dstprt range overlaps
 WARNING: translation string unused: dstprt within existing
@@ -158,6 +166,7 @@ WARNING: translation string unused: editor
 WARNING: translation string unused: eg
 WARNING: translation string unused: email server can not be empty
 WARNING: translation string unused: enable javascript
+WARNING: translation string unused: enable wildcards
 WARNING: translation string unused: enabled on
 WARNING: translation string unused: enabledtitle
 WARNING: translation string unused: encrypted
@@ -229,7 +238,6 @@ WARNING: translation string unused: fwhost Custom Host
 WARNING: translation string unused: fwhost Custom Network
 WARNING: translation string unused: fwhost IpSec Host
 WARNING: translation string unused: fwhost IpSec Network
-WARNING: translation string unused: fwhost OpenVPN N-2-N
 WARNING: translation string unused: fwhost OpenVPN static host
 WARNING: translation string unused: fwhost OpenVPN static network
 WARNING: translation string unused: fwhost Standard Network
@@ -410,6 +418,7 @@ WARNING: translation string unused: outgoing firewall warning
 WARNING: translation string unused: override mtu
 WARNING: translation string unused: ovpn config
 WARNING: translation string unused: ovpn dl
+WARNING: translation string unused: ovpn engines
 WARNING: translation string unused: ovpn log
 WARNING: translation string unused: ovpn reneg sec
 WARNING: translation string unused: ovpn_fastio
@@ -444,6 +453,7 @@ WARNING: translation string unused: pots
 WARNING: translation string unused: pppoe
 WARNING: translation string unused: present
 WARNING: translation string unused: profiles
+WARNING: translation string unused: proxy
 WARNING: translation string unused: proxy access graphs
 WARNING: translation string unused: proxy no proxy extend
 WARNING: translation string unused: proxy no proxy local
@@ -458,12 +468,16 @@ WARNING: translation string unused: released
 WARNING: translation string unused: removable device advice
 WARNING: translation string unused: reportfile
 WARNING: translation string unused: requested data
+WARNING: translation string unused: reserved dst port
+WARNING: translation string unused: reserved src port
 WARNING: translation string unused: restore hardware settings
 WARNING: translation string unused: root
 WARNING: translation string unused: root path
 WARNING: translation string unused: root user password
 WARNING: translation string unused: route subnet is invalid
 WARNING: translation string unused: router ip
+WARNING: translation string unused: rsvd dst port overlap
+WARNING: translation string unused: rsvd src port overlap
 WARNING: translation string unused: rules already up to date
 WARNING: translation string unused: safe removal of umounted device
 WARNING: translation string unused: save error
@@ -490,6 +504,7 @@ WARNING: translation string unused: source ip in use
 WARNING: translation string unused: source ip or net
 WARNING: translation string unused: source net
 WARNING: translation string unused: source network
+WARNING: translation string unused: source port in use
 WARNING: translation string unused: source port overlaps
 WARNING: translation string unused: squid extension methods
 WARNING: translation string unused: squid extension methods invalid
@@ -604,6 +619,7 @@ WARNING: translation string unused: warn when traffic reaches
 WARNING: translation string unused: web proxy configuration
 WARNING: translation string unused: week-graph
 WARNING: translation string unused: weekly firewallhits
+WARNING: translation string unused: wildcards
 WARNING: translation string unused: wlanap wlan services
 WARNING: translation string unused: xtaccess all error
 WARNING: translation string unused: xtaccess bad transfert
@@ -614,16 +630,11 @@ WARNING: untranslated string: addons
 WARNING: untranslated string: bytes
 WARNING: untranslated string: community rules
 WARNING: untranslated string: dead peer detection
-WARNING: untranslated string: dns servers
-WARNING: untranslated string: downlink
 WARNING: untranslated string: emerging rules
-WARNING: untranslated string: first
 WARNING: untranslated string: fwhost err hostip
-WARNING: untranslated string: last
-WARNING: untranslated string: monitor interface
 WARNING: untranslated string: qos add subclass
 WARNING: untranslated string: route config changed
 WARNING: untranslated string: routing config added
 WARNING: untranslated string: routing config changed
 WARNING: untranslated string: routing table
-WARNING: untranslated string: uplink
+WARNING: untranslated string: show tls-auth key
index ba7f0307df6b0b49a6ef5fefef0239eec67e59d5..f3ef62118977e439dc3eed55f1be881cdb7bdea5 100644 (file)
@@ -20,6 +20,7 @@ WARNING: translation string unused: add xtaccess
 WARNING: translation string unused: add-route
 WARNING: translation string unused: admin user password has been changed
 WARNING: translation string unused: administrator user password
+WARNING: translation string unused: adsl settings
 WARNING: translation string unused: advproxy LDAP auth
 WARNING: translation string unused: advproxy NTLM auth
 WARNING: translation string unused: advproxy advanced proxy
@@ -41,6 +42,7 @@ WARNING: translation string unused: advproxy no cre groups
 WARNING: translation string unused: advproxy ssadvanced proxy
 WARNING: translation string unused: advproxy update information
 WARNING: translation string unused: advproxy update notification
+WARNING: translation string unused: again
 WARNING: translation string unused: age second
 WARNING: translation string unused: age seconds
 WARNING: translation string unused: age shour
@@ -60,6 +62,7 @@ WARNING: translation string unused: apply
 WARNING: translation string unused: archive not exist
 WARNING: translation string unused: attemps
 WARNING: translation string unused: available updates
+WARNING: translation string unused: avoid dod
 WARNING: translation string unused: backup archive
 WARNING: translation string unused: backup clear archive
 WARNING: translation string unused: backup config floppy
@@ -86,6 +89,7 @@ WARNING: translation string unused: backup protect key password
 WARNING: translation string unused: backup sets
 WARNING: translation string unused: backup to floppy
 WARNING: translation string unused: bad characters in
+WARNING: translation string unused: behind a proxy
 WARNING: translation string unused: bewan adsl pci st
 WARNING: translation string unused: bewan adsl usb
 WARNING: translation string unused: bitrate
@@ -135,6 +139,8 @@ WARNING: translation string unused: dbfile
 WARNING: translation string unused: ddns help dnsmadeeasy
 WARNING: translation string unused: ddns help freedns
 WARNING: translation string unused: ddns help plus
+WARNING: translation string unused: ddns minimize updates
+WARNING: translation string unused: ddns noip prefix
 WARNING: translation string unused: debugme
 WARNING: translation string unused: deep scan directories
 WARNING: translation string unused: default ip
@@ -166,8 +172,10 @@ WARNING: translation string unused: dmz pinhole rule removed
 WARNING: translation string unused: dmzpinholes for same net not necessary
 WARNING: translation string unused: dns server
 WARNING: translation string unused: do not log this port list
+WARNING: translation string unused: domain not set
 WARNING: translation string unused: donation-link
 WARNING: translation string unused: done
+WARNING: translation string unused: download dh parameter
 WARNING: translation string unused: driver
 WARNING: translation string unused: dstprt range overlaps
 WARNING: translation string unused: dstprt within existing
@@ -181,6 +189,7 @@ WARNING: translation string unused: editor
 WARNING: translation string unused: eg
 WARNING: translation string unused: email server can not be empty
 WARNING: translation string unused: enable javascript
+WARNING: translation string unused: enable wildcards
 WARNING: translation string unused: enabled on
 WARNING: translation string unused: enabledtitle
 WARNING: translation string unused: encrypted
@@ -252,7 +261,6 @@ WARNING: translation string unused: fwhost Custom Host
 WARNING: translation string unused: fwhost Custom Network
 WARNING: translation string unused: fwhost IpSec Host
 WARNING: translation string unused: fwhost IpSec Network
-WARNING: translation string unused: fwhost OpenVPN N-2-N
 WARNING: translation string unused: fwhost OpenVPN static host
 WARNING: translation string unused: fwhost OpenVPN static network
 WARNING: translation string unused: fwhost Standard Network
@@ -437,6 +445,7 @@ WARNING: translation string unused: outgoing firewall warning
 WARNING: translation string unused: override mtu
 WARNING: translation string unused: ovpn config
 WARNING: translation string unused: ovpn dl
+WARNING: translation string unused: ovpn engines
 WARNING: translation string unused: ovpn log
 WARNING: translation string unused: ovpn reneg sec
 WARNING: translation string unused: ovpn_fastio
@@ -470,6 +479,7 @@ WARNING: translation string unused: pots
 WARNING: translation string unused: pppoe
 WARNING: translation string unused: present
 WARNING: translation string unused: profiles
+WARNING: translation string unused: proxy
 WARNING: translation string unused: proxy access graphs
 WARNING: translation string unused: proxy no proxy extend
 WARNING: translation string unused: proxy no proxy local
@@ -485,12 +495,16 @@ WARNING: translation string unused: released
 WARNING: translation string unused: removable device advice
 WARNING: translation string unused: reportfile
 WARNING: translation string unused: requested data
+WARNING: translation string unused: reserved dst port
+WARNING: translation string unused: reserved src port
 WARNING: translation string unused: restore hardware settings
 WARNING: translation string unused: root
 WARNING: translation string unused: root path
 WARNING: translation string unused: root user password
 WARNING: translation string unused: route subnet is invalid
 WARNING: translation string unused: router ip
+WARNING: translation string unused: rsvd dst port overlap
+WARNING: translation string unused: rsvd src port overlap
 WARNING: translation string unused: rules already up to date
 WARNING: translation string unused: safe removal of umounted device
 WARNING: translation string unused: save error
@@ -520,6 +534,7 @@ WARNING: translation string unused: source ip in use
 WARNING: translation string unused: source ip or net
 WARNING: translation string unused: source net
 WARNING: translation string unused: source network
+WARNING: translation string unused: source port in use
 WARNING: translation string unused: source port overlaps
 WARNING: translation string unused: squid extension methods
 WARNING: translation string unused: squid extension methods invalid
@@ -629,6 +644,7 @@ WARNING: translation string unused: use dov
 WARNING: translation string unused: use ibod
 WARNING: translation string unused: view log
 WARNING: translation string unused: vpn aggrmode
+WARNING: translation string unused: vpn configuration main
 WARNING: translation string unused: vpn incompatible use of defaultroute
 WARNING: translation string unused: vpn mtu invalid
 WARNING: translation string unused: vpn on blue
@@ -639,6 +655,7 @@ WARNING: translation string unused: warn when traffic reaches
 WARNING: translation string unused: web proxy configuration
 WARNING: translation string unused: week-graph
 WARNING: translation string unused: weekly firewallhits
+WARNING: translation string unused: wildcards
 WARNING: translation string unused: wlanap wlan services
 WARNING: translation string unused: xtaccess all error
 WARNING: translation string unused: xtaccess bad transfert
@@ -646,14 +663,8 @@ WARNING: translation string unused: year-graph
 WARNING: translation string unused: yearly firewallhits
 WARNING: untranslated string: Scan for Songs
 WARNING: untranslated string: bytes
-WARNING: untranslated string: dns servers
-WARNING: untranslated string: downlink
-WARNING: untranslated string: first
 WARNING: untranslated string: fwhost err hostip
-WARNING: untranslated string: last
-WARNING: untranslated string: monitor interface
 WARNING: untranslated string: route config changed
 WARNING: untranslated string: routing config added
 WARNING: untranslated string: routing config changed
 WARNING: untranslated string: routing table
-WARNING: untranslated string: uplink
index 54cb32e982402487f14ad1a6fd28c85dfc729981..e25697512856a1cc6d0787074d64469eb98de559 100644 (file)
@@ -42,6 +42,7 @@ WARNING: translation string unused: advproxy no cre groups
 WARNING: translation string unused: advproxy ssadvanced proxy
 WARNING: translation string unused: advproxy update information
 WARNING: translation string unused: advproxy update notification
+WARNING: translation string unused: again
 WARNING: translation string unused: alcatelusb help
 WARNING: translation string unused: alcatelusb upload
 WARNING: translation string unused: all interfaces
@@ -56,6 +57,7 @@ WARNING: translation string unused: apply
 WARNING: translation string unused: archive not exist
 WARNING: translation string unused: attemps
 WARNING: translation string unused: available updates
+WARNING: translation string unused: avoid dod
 WARNING: translation string unused: backup archive
 WARNING: translation string unused: backup clear archive
 WARNING: translation string unused: backup config floppy
@@ -82,6 +84,7 @@ WARNING: translation string unused: backup protect key password
 WARNING: translation string unused: backup sets
 WARNING: translation string unused: backup to floppy
 WARNING: translation string unused: bad characters in
+WARNING: translation string unused: behind a proxy
 WARNING: translation string unused: bewan adsl pci st
 WARNING: translation string unused: bewan adsl usb
 WARNING: translation string unused: bitrate
@@ -129,6 +132,8 @@ WARNING: translation string unused: dbfile
 WARNING: translation string unused: ddns help dnsmadeeasy
 WARNING: translation string unused: ddns help freedns
 WARNING: translation string unused: ddns help plus
+WARNING: translation string unused: ddns minimize updates
+WARNING: translation string unused: ddns noip prefix
 WARNING: translation string unused: debugme
 WARNING: translation string unused: deep scan directories
 WARNING: translation string unused: default networks
@@ -158,6 +163,7 @@ WARNING: translation string unused: dmz pinhole rule removed
 WARNING: translation string unused: dmzpinholes for same net not necessary
 WARNING: translation string unused: dns server
 WARNING: translation string unused: do not log this port list
+WARNING: translation string unused: domain not set
 WARNING: translation string unused: donation-link
 WARNING: translation string unused: done
 WARNING: translation string unused: driver
@@ -174,6 +180,7 @@ WARNING: translation string unused: editor
 WARNING: translation string unused: eg
 WARNING: translation string unused: email server can not be empty
 WARNING: translation string unused: enable javascript
+WARNING: translation string unused: enable wildcards
 WARNING: translation string unused: enabled on
 WARNING: translation string unused: enabledtitle
 WARNING: translation string unused: encrypted
@@ -405,6 +412,7 @@ WARNING: translation string unused: pots
 WARNING: translation string unused: pppoe
 WARNING: translation string unused: present
 WARNING: translation string unused: profiles
+WARNING: translation string unused: proxy
 WARNING: translation string unused: proxy access graphs
 WARNING: translation string unused: proxy no proxy extend
 WARNING: translation string unused: proxy no proxy local
@@ -420,12 +428,16 @@ WARNING: translation string unused: released
 WARNING: translation string unused: removable device advice
 WARNING: translation string unused: reportfile
 WARNING: translation string unused: requested data
+WARNING: translation string unused: reserved dst port
+WARNING: translation string unused: reserved src port
 WARNING: translation string unused: restore hardware settings
 WARNING: translation string unused: root
 WARNING: translation string unused: root path
 WARNING: translation string unused: root user password
 WARNING: translation string unused: route subnet is invalid
 WARNING: translation string unused: router ip
+WARNING: translation string unused: rsvd dst port overlap
+WARNING: translation string unused: rsvd src port overlap
 WARNING: translation string unused: rules already up to date
 WARNING: translation string unused: safe removal of umounted device
 WARNING: translation string unused: save error
@@ -455,6 +467,7 @@ WARNING: translation string unused: source ip in use
 WARNING: translation string unused: source ip or net
 WARNING: translation string unused: source net
 WARNING: translation string unused: source network
+WARNING: translation string unused: source port in use
 WARNING: translation string unused: source port overlaps
 WARNING: translation string unused: squid extension methods
 WARNING: translation string unused: squid extension methods invalid
@@ -563,6 +576,7 @@ WARNING: translation string unused: warn when traffic reaches
 WARNING: translation string unused: web proxy configuration
 WARNING: translation string unused: week-graph
 WARNING: translation string unused: weekly firewallhits
+WARNING: translation string unused: wildcards
 WARNING: translation string unused: wlanap wlan services
 WARNING: translation string unused: xtaccess all error
 WARNING: translation string unused: xtaccess bad transfert
@@ -575,14 +589,22 @@ WARNING: untranslated string: ConnSched reboot
 WARNING: untranslated string: ConnSched shutdown
 WARNING: untranslated string: MB read
 WARNING: untranslated string: MB written
+WARNING: untranslated string: MTU settings
 WARNING: untranslated string: Number of Countries for the pie chart
 WARNING: untranslated string: Scan for Songs
 WARNING: untranslated string: Set time on boot
 WARNING: untranslated string: addons
+WARNING: untranslated string: administrator password
+WARNING: untranslated string: administrator username
+WARNING: untranslated string: advproxy AUTH method ntlm
+WARNING: untranslated string: advproxy AUTH method ntlm auth
+WARNING: untranslated string: advproxy basic authentication
 WARNING: untranslated string: advproxy cache-digest
 WARNING: untranslated string: advproxy errmsg cache
 WARNING: untranslated string: advproxy errmsg invalid upstream proxy
 WARNING: untranslated string: advproxy errmsg proxy ports equal
+WARNING: untranslated string: advproxy group access control
+WARNING: untranslated string: advproxy group required
 WARNING: untranslated string: advproxy proxy port transparent
 WARNING: untranslated string: atm device
 WARNING: untranslated string: attention
@@ -631,12 +653,14 @@ WARNING: untranslated string: countries
 WARNING: untranslated string: country codes and flags
 WARNING: untranslated string: countrycode
 WARNING: untranslated string: dead peer detection
+WARNING: untranslated string: default
 WARNING: untranslated string: deprecated fs warn
 WARNING: untranslated string: details
 WARNING: untranslated string: dh
 WARNING: untranslated string: dh key move failed
 WARNING: untranslated string: dh key warn
 WARNING: untranslated string: dh key warn1
+WARNING: untranslated string: dh parameter
 WARNING: untranslated string: dnat address
 WARNING: untranslated string: dns servers
 WARNING: untranslated string: dnsforward
@@ -646,7 +670,12 @@ WARNING: untranslated string: dnsforward edit an entry
 WARNING: untranslated string: dnsforward entries
 WARNING: untranslated string: dnsforward forward_server
 WARNING: untranslated string: dnsforward zone
+WARNING: untranslated string: dnssec aware
+WARNING: untranslated string: dnssec information
+WARNING: untranslated string: dnssec not supported
+WARNING: untranslated string: dnssec validating
 WARNING: untranslated string: downlink
+WARNING: untranslated string: download tls-auth key
 WARNING: untranslated string: dpd delay
 WARNING: untranslated string: dpd timeout
 WARNING: untranslated string: drop action
@@ -756,6 +785,7 @@ WARNING: untranslated string: fwdfw wd_sun
 WARNING: untranslated string: fwdfw wd_thu
 WARNING: untranslated string: fwdfw wd_tue
 WARNING: untranslated string: fwdfw wd_wed
+WARNING: untranslated string: fwhost OpenVPN N-2-N
 WARNING: untranslated string: fwhost addgrp
 WARNING: untranslated string: fwhost addgrpname
 WARNING: untranslated string: fwhost addhost
@@ -838,7 +868,14 @@ WARNING: untranslated string: last
 WARNING: untranslated string: least preferred
 WARNING: untranslated string: lifetime
 WARNING: untranslated string: mac filter
+WARNING: untranslated string: masquerade blue
+WARNING: untranslated string: masquerade green
+WARNING: untranslated string: masquerade orange
+WARNING: untranslated string: masquerading
+WARNING: untranslated string: masquerading disabled
+WARNING: untranslated string: masquerading enabled
 WARNING: untranslated string: maximum
+WARNING: untranslated string: messages
 WARNING: untranslated string: minimum
 WARNING: untranslated string: minute
 WARNING: untranslated string: model
@@ -856,6 +893,7 @@ WARNING: untranslated string: modem sim information
 WARNING: untranslated string: modem status
 WARNING: untranslated string: monitor interface
 WARNING: untranslated string: most preferred
+WARNING: untranslated string: nameserver
 WARNING: untranslated string: no hardware random number generator
 WARNING: untranslated string: not a valid dh key
 WARNING: untranslated string: notice
@@ -874,8 +912,9 @@ WARNING: untranslated string: outgoing firewall p2p allow
 WARNING: untranslated string: outgoing firewall p2p deny
 WARNING: untranslated string: ovpn crypt options
 WARNING: untranslated string: ovpn dh
+WARNING: untranslated string: ovpn dh new key
+WARNING: untranslated string: ovpn dh parameters
 WARNING: untranslated string: ovpn dh upload
-WARNING: untranslated string: ovpn engines
 WARNING: untranslated string: ovpn errmsg green already pushed
 WARNING: untranslated string: ovpn errmsg invalid ip or mask
 WARNING: untranslated string: ovpn generating the root and host certificates
@@ -908,8 +947,11 @@ WARNING: untranslated string: route config changed
 WARNING: untranslated string: routing config added
 WARNING: untranslated string: routing config changed
 WARNING: untranslated string: routing table
+WARNING: untranslated string: samba join a domain
+WARNING: untranslated string: samba join domain
 WARNING: untranslated string: server restart
 WARNING: untranslated string: show dh
+WARNING: untranslated string: show tls-auth key
 WARNING: untranslated string: snat new source ip address
 WARNING: untranslated string: software version
 WARNING: untranslated string: source ip country
@@ -919,6 +961,7 @@ WARNING: untranslated string: support donation
 WARNING: untranslated string: system has hwrng
 WARNING: untranslated string: system has rdrand
 WARNING: untranslated string: system information
+WARNING: untranslated string: ta key
 WARNING: untranslated string: tor
 WARNING: untranslated string: tor accounting
 WARNING: untranslated string: tor accounting bytes
index 0386f243cc5b58d65911517c07f7bcdb0275296a..62dd5d5c940c8dcd135f1bbb328f8caf2d40c045 100644 (file)
@@ -42,6 +42,7 @@ WARNING: translation string unused: advproxy no cre groups
 WARNING: translation string unused: advproxy ssadvanced proxy
 WARNING: translation string unused: advproxy update information
 WARNING: translation string unused: advproxy update notification
+WARNING: translation string unused: again
 WARNING: translation string unused: alcatelusb help
 WARNING: translation string unused: alcatelusb upload
 WARNING: translation string unused: all interfaces
@@ -56,6 +57,7 @@ WARNING: translation string unused: apply
 WARNING: translation string unused: archive not exist
 WARNING: translation string unused: attemps
 WARNING: translation string unused: available updates
+WARNING: translation string unused: avoid dod
 WARNING: translation string unused: backup archive
 WARNING: translation string unused: backup clear archive
 WARNING: translation string unused: backup config floppy
@@ -82,6 +84,7 @@ WARNING: translation string unused: backup protect key password
 WARNING: translation string unused: backup sets
 WARNING: translation string unused: backup to floppy
 WARNING: translation string unused: bad characters in
+WARNING: translation string unused: behind a proxy
 WARNING: translation string unused: bewan adsl pci st
 WARNING: translation string unused: bewan adsl usb
 WARNING: translation string unused: bitrate
@@ -129,6 +132,8 @@ WARNING: translation string unused: dbfile
 WARNING: translation string unused: ddns help dnsmadeeasy
 WARNING: translation string unused: ddns help freedns
 WARNING: translation string unused: ddns help plus
+WARNING: translation string unused: ddns minimize updates
+WARNING: translation string unused: ddns noip prefix
 WARNING: translation string unused: debugme
 WARNING: translation string unused: deep scan directories
 WARNING: translation string unused: default networks
@@ -158,6 +163,7 @@ WARNING: translation string unused: dmz pinhole rule removed
 WARNING: translation string unused: dmzpinholes for same net not necessary
 WARNING: translation string unused: dns server
 WARNING: translation string unused: do not log this port list
+WARNING: translation string unused: domain not set
 WARNING: translation string unused: donation-link
 WARNING: translation string unused: done
 WARNING: translation string unused: driver
@@ -174,6 +180,7 @@ WARNING: translation string unused: editor
 WARNING: translation string unused: eg
 WARNING: translation string unused: email server can not be empty
 WARNING: translation string unused: enable javascript
+WARNING: translation string unused: enable wildcards
 WARNING: translation string unused: enabled on
 WARNING: translation string unused: enabledtitle
 WARNING: translation string unused: encrypted
@@ -416,6 +423,7 @@ WARNING: translation string unused: pots
 WARNING: translation string unused: pppoe
 WARNING: translation string unused: present
 WARNING: translation string unused: profiles
+WARNING: translation string unused: proxy
 WARNING: translation string unused: proxy access graphs
 WARNING: translation string unused: proxy no proxy extend
 WARNING: translation string unused: proxy no proxy local
@@ -431,12 +439,16 @@ WARNING: translation string unused: released
 WARNING: translation string unused: removable device advice
 WARNING: translation string unused: reportfile
 WARNING: translation string unused: requested data
+WARNING: translation string unused: reserved dst port
+WARNING: translation string unused: reserved src port
 WARNING: translation string unused: restore hardware settings
 WARNING: translation string unused: root
 WARNING: translation string unused: root path
 WARNING: translation string unused: root user password
 WARNING: translation string unused: route subnet is invalid
 WARNING: translation string unused: router ip
+WARNING: translation string unused: rsvd dst port overlap
+WARNING: translation string unused: rsvd src port overlap
 WARNING: translation string unused: rules already up to date
 WARNING: translation string unused: safe removal of umounted device
 WARNING: translation string unused: save error
@@ -466,6 +478,7 @@ WARNING: translation string unused: source ip in use
 WARNING: translation string unused: source ip or net
 WARNING: translation string unused: source net
 WARNING: translation string unused: source network
+WARNING: translation string unused: source port in use
 WARNING: translation string unused: source port overlaps
 WARNING: translation string unused: squid extension methods
 WARNING: translation string unused: squid extension methods invalid
@@ -576,6 +589,7 @@ WARNING: translation string unused: warn when traffic reaches
 WARNING: translation string unused: web proxy configuration
 WARNING: translation string unused: week-graph
 WARNING: translation string unused: weekly firewallhits
+WARNING: translation string unused: wildcards
 WARNING: translation string unused: xtaccess all error
 WARNING: translation string unused: xtaccess bad transfert
 WARNING: translation string unused: year-graph
@@ -586,13 +600,21 @@ WARNING: untranslated string: ConnSched reboot
 WARNING: untranslated string: ConnSched shutdown
 WARNING: untranslated string: MB read
 WARNING: untranslated string: MB written
+WARNING: untranslated string: MTU settings
 WARNING: untranslated string: Number of Countries for the pie chart
 WARNING: untranslated string: Scan for Songs
 WARNING: untranslated string: addons
+WARNING: untranslated string: administrator password
+WARNING: untranslated string: administrator username
+WARNING: untranslated string: advproxy AUTH method ntlm
+WARNING: untranslated string: advproxy AUTH method ntlm auth
+WARNING: untranslated string: advproxy basic authentication
 WARNING: untranslated string: advproxy cache-digest
 WARNING: untranslated string: advproxy errmsg cache
 WARNING: untranslated string: advproxy errmsg invalid upstream proxy
 WARNING: untranslated string: advproxy errmsg proxy ports equal
+WARNING: untranslated string: advproxy group access control
+WARNING: untranslated string: advproxy group required
 WARNING: untranslated string: advproxy proxy port transparent
 WARNING: untranslated string: atm device
 WARNING: untranslated string: attention
@@ -641,12 +663,14 @@ WARNING: untranslated string: countries
 WARNING: untranslated string: country codes and flags
 WARNING: untranslated string: countrycode
 WARNING: untranslated string: dead peer detection
+WARNING: untranslated string: default
 WARNING: untranslated string: deprecated fs warn
 WARNING: untranslated string: details
 WARNING: untranslated string: dh
 WARNING: untranslated string: dh key move failed
 WARNING: untranslated string: dh key warn
 WARNING: untranslated string: dh key warn1
+WARNING: untranslated string: dh parameter
 WARNING: untranslated string: dnat address
 WARNING: untranslated string: dns address deleted txt
 WARNING: untranslated string: dns servers
@@ -657,7 +681,12 @@ WARNING: untranslated string: dnsforward edit an entry
 WARNING: untranslated string: dnsforward entries
 WARNING: untranslated string: dnsforward forward_server
 WARNING: untranslated string: dnsforward zone
+WARNING: untranslated string: dnssec aware
+WARNING: untranslated string: dnssec information
+WARNING: untranslated string: dnssec not supported
+WARNING: untranslated string: dnssec validating
 WARNING: untranslated string: downlink
+WARNING: untranslated string: download tls-auth key
 WARNING: untranslated string: dpd delay
 WARNING: untranslated string: dpd timeout
 WARNING: untranslated string: drop action
@@ -767,6 +796,7 @@ WARNING: untranslated string: fwdfw wd_sun
 WARNING: untranslated string: fwdfw wd_thu
 WARNING: untranslated string: fwdfw wd_tue
 WARNING: untranslated string: fwdfw wd_wed
+WARNING: untranslated string: fwhost OpenVPN N-2-N
 WARNING: untranslated string: fwhost addgrp
 WARNING: untranslated string: fwhost addgrpname
 WARNING: untranslated string: fwhost addhost
@@ -849,7 +879,14 @@ WARNING: untranslated string: last
 WARNING: untranslated string: least preferred
 WARNING: untranslated string: lifetime
 WARNING: untranslated string: mac filter
+WARNING: untranslated string: masquerade blue
+WARNING: untranslated string: masquerade green
+WARNING: untranslated string: masquerade orange
+WARNING: untranslated string: masquerading
+WARNING: untranslated string: masquerading disabled
+WARNING: untranslated string: masquerading enabled
 WARNING: untranslated string: maximum
+WARNING: untranslated string: messages
 WARNING: untranslated string: minimum
 WARNING: untranslated string: minute
 WARNING: untranslated string: model
@@ -867,6 +904,7 @@ WARNING: untranslated string: modem sim information
 WARNING: untranslated string: modem status
 WARNING: untranslated string: monitor interface
 WARNING: untranslated string: most preferred
+WARNING: untranslated string: nameserver
 WARNING: untranslated string: no hardware random number generator
 WARNING: untranslated string: not a valid dh key
 WARNING: untranslated string: notice
@@ -885,8 +923,9 @@ WARNING: untranslated string: other
 WARNING: untranslated string: outgoing firewall access
 WARNING: untranslated string: ovpn crypt options
 WARNING: untranslated string: ovpn dh
+WARNING: untranslated string: ovpn dh new key
+WARNING: untranslated string: ovpn dh parameters
 WARNING: untranslated string: ovpn dh upload
-WARNING: untranslated string: ovpn engines
 WARNING: untranslated string: ovpn generating the root and host certificates
 WARNING: untranslated string: ovpn ha
 WARNING: untranslated string: ovpn hmac
@@ -915,8 +954,11 @@ WARNING: untranslated string: route config changed
 WARNING: untranslated string: routing config added
 WARNING: untranslated string: routing config changed
 WARNING: untranslated string: routing table
+WARNING: untranslated string: samba join a domain
+WARNING: untranslated string: samba join domain
 WARNING: untranslated string: server restart
 WARNING: untranslated string: show dh
+WARNING: untranslated string: show tls-auth key
 WARNING: untranslated string: snat new source ip address
 WARNING: untranslated string: snort working
 WARNING: untranslated string: software version
@@ -927,6 +969,7 @@ WARNING: untranslated string: support donation
 WARNING: untranslated string: system has hwrng
 WARNING: untranslated string: system has rdrand
 WARNING: untranslated string: system information
+WARNING: untranslated string: ta key
 WARNING: untranslated string: tor
 WARNING: untranslated string: tor accounting
 WARNING: untranslated string: tor accounting bytes
index 7c6f729dd0dcc5f83348b91f3b691b4636947b85..7360d4fcb5aa57f99fb5b938a85f79054d3a3414 100644 (file)
@@ -42,6 +42,7 @@ WARNING: translation string unused: advproxy no cre groups
 WARNING: translation string unused: advproxy ssadvanced proxy
 WARNING: translation string unused: advproxy update information
 WARNING: translation string unused: advproxy update notification
+WARNING: translation string unused: again
 WARNING: translation string unused: age second
 WARNING: translation string unused: age seconds
 WARNING: translation string unused: age shour
@@ -61,6 +62,7 @@ WARNING: translation string unused: apply
 WARNING: translation string unused: archive not exist
 WARNING: translation string unused: attemps
 WARNING: translation string unused: available updates
+WARNING: translation string unused: avoid dod
 WARNING: translation string unused: backup archive
 WARNING: translation string unused: backup clear archive
 WARNING: translation string unused: backup config floppy
@@ -87,6 +89,7 @@ WARNING: translation string unused: backup protect key password
 WARNING: translation string unused: backup sets
 WARNING: translation string unused: backup to floppy
 WARNING: translation string unused: bad characters in
+WARNING: translation string unused: behind a proxy
 WARNING: translation string unused: bewan adsl pci st
 WARNING: translation string unused: bewan adsl usb
 WARNING: translation string unused: bitrate
@@ -136,6 +139,8 @@ WARNING: translation string unused: dbfile
 WARNING: translation string unused: ddns help dnsmadeeasy
 WARNING: translation string unused: ddns help freedns
 WARNING: translation string unused: ddns help plus
+WARNING: translation string unused: ddns minimize updates
+WARNING: translation string unused: ddns noip prefix
 WARNING: translation string unused: debugme
 WARNING: translation string unused: deep scan directories
 WARNING: translation string unused: default ip
@@ -166,6 +171,7 @@ WARNING: translation string unused: dmz pinhole rule removed
 WARNING: translation string unused: dmzpinholes for same net not necessary
 WARNING: translation string unused: dns server
 WARNING: translation string unused: do not log this port list
+WARNING: translation string unused: domain not set
 WARNING: translation string unused: donation-link
 WARNING: translation string unused: done
 WARNING: translation string unused: driver
@@ -182,6 +188,7 @@ WARNING: translation string unused: editor
 WARNING: translation string unused: eg
 WARNING: translation string unused: email server can not be empty
 WARNING: translation string unused: enable javascript
+WARNING: translation string unused: enable wildcards
 WARNING: translation string unused: enabled on
 WARNING: translation string unused: enabledtitle
 WARNING: translation string unused: encrypted
@@ -253,7 +260,6 @@ WARNING: translation string unused: fwhost Custom Host
 WARNING: translation string unused: fwhost Custom Network
 WARNING: translation string unused: fwhost IpSec Host
 WARNING: translation string unused: fwhost IpSec Network
-WARNING: translation string unused: fwhost OpenVPN N-2-N
 WARNING: translation string unused: fwhost OpenVPN static host
 WARNING: translation string unused: fwhost OpenVPN static network
 WARNING: translation string unused: fwhost Standard Network
@@ -470,6 +476,7 @@ WARNING: translation string unused: pots
 WARNING: translation string unused: pppoe
 WARNING: translation string unused: present
 WARNING: translation string unused: profiles
+WARNING: translation string unused: proxy
 WARNING: translation string unused: proxy access graphs
 WARNING: translation string unused: proxy no proxy extend
 WARNING: translation string unused: proxy no proxy local
@@ -485,12 +492,16 @@ WARNING: translation string unused: released
 WARNING: translation string unused: removable device advice
 WARNING: translation string unused: reportfile
 WARNING: translation string unused: requested data
+WARNING: translation string unused: reserved dst port
+WARNING: translation string unused: reserved src port
 WARNING: translation string unused: restore hardware settings
 WARNING: translation string unused: root
 WARNING: translation string unused: root path
 WARNING: translation string unused: root user password
 WARNING: translation string unused: route subnet is invalid
 WARNING: translation string unused: router ip
+WARNING: translation string unused: rsvd dst port overlap
+WARNING: translation string unused: rsvd src port overlap
 WARNING: translation string unused: rules already up to date
 WARNING: translation string unused: safe removal of umounted device
 WARNING: translation string unused: save error
@@ -520,6 +531,7 @@ WARNING: translation string unused: source ip in use
 WARNING: translation string unused: source ip or net
 WARNING: translation string unused: source net
 WARNING: translation string unused: source network
+WARNING: translation string unused: source port in use
 WARNING: translation string unused: source port overlaps
 WARNING: translation string unused: squid extension methods
 WARNING: translation string unused: squid extension methods invalid
@@ -639,21 +651,37 @@ WARNING: translation string unused: warn when traffic reaches
 WARNING: translation string unused: web proxy configuration
 WARNING: translation string unused: week-graph
 WARNING: translation string unused: weekly firewallhits
+WARNING: translation string unused: wildcards
 WARNING: translation string unused: wlanap wlan services
 WARNING: translation string unused: xtaccess all error
 WARNING: translation string unused: xtaccess bad transfert
 WARNING: translation string unused: year-graph
 WARNING: translation string unused: yearly firewallhits
+WARNING: untranslated string: MTU settings
 WARNING: untranslated string: Number of Countries for the pie chart
 WARNING: untranslated string: Scan for Songs
+WARNING: untranslated string: administrator password
+WARNING: untranslated string: administrator username
+WARNING: untranslated string: advproxy AUTH method ntlm
+WARNING: untranslated string: advproxy AUTH method ntlm auth
+WARNING: untranslated string: advproxy basic authentication
+WARNING: untranslated string: advproxy group access control
+WARNING: untranslated string: advproxy group required
 WARNING: untranslated string: atm device
 WARNING: untranslated string: bytes
 WARNING: untranslated string: capabilities
+WARNING: untranslated string: default
 WARNING: untranslated string: dh
 WARNING: untranslated string: dh key move failed
 WARNING: untranslated string: dh key warn
 WARNING: untranslated string: dh key warn1
+WARNING: untranslated string: dh parameter
 WARNING: untranslated string: dns servers
+WARNING: untranslated string: dnssec aware
+WARNING: untranslated string: dnssec information
+WARNING: untranslated string: dnssec not supported
+WARNING: untranslated string: dnssec validating
+WARNING: untranslated string: download tls-auth key
 WARNING: untranslated string: drop outgoing
 WARNING: untranslated string: firewall logs country
 WARNING: untranslated string: fwhost err hostip
@@ -661,6 +689,13 @@ WARNING: untranslated string: gen dh
 WARNING: untranslated string: generate dh key
 WARNING: untranslated string: imei
 WARNING: untranslated string: imsi
+WARNING: untranslated string: masquerade blue
+WARNING: untranslated string: masquerade green
+WARNING: untranslated string: masquerade orange
+WARNING: untranslated string: masquerading
+WARNING: untranslated string: masquerading disabled
+WARNING: untranslated string: masquerading enabled
+WARNING: untranslated string: messages
 WARNING: untranslated string: model
 WARNING: untranslated string: modem hardware details
 WARNING: untranslated string: modem information
@@ -675,11 +710,13 @@ WARNING: untranslated string: modem no connection message
 WARNING: untranslated string: modem sim information
 WARNING: untranslated string: modem status
 WARNING: untranslated string: monitor interface
+WARNING: untranslated string: nameserver
 WARNING: untranslated string: not a valid dh key
 WARNING: untranslated string: ovpn crypt options
 WARNING: untranslated string: ovpn dh
+WARNING: untranslated string: ovpn dh new key
+WARNING: untranslated string: ovpn dh parameters
 WARNING: untranslated string: ovpn dh upload
-WARNING: untranslated string: ovpn engines
 WARNING: untranslated string: ovpn generating the root and host certificates
 WARNING: untranslated string: ovpn ha
 WARNING: untranslated string: ovpn hmac
@@ -688,8 +725,12 @@ WARNING: untranslated string: route config changed
 WARNING: untranslated string: routing config added
 WARNING: untranslated string: routing config changed
 WARNING: untranslated string: routing table
+WARNING: untranslated string: samba join a domain
+WARNING: untranslated string: samba join domain
 WARNING: untranslated string: show dh
+WARNING: untranslated string: show tls-auth key
 WARNING: untranslated string: software version
 WARNING: untranslated string: source ip country
+WARNING: untranslated string: ta key
 WARNING: untranslated string: upload dh key
 WARNING: untranslated string: vendor
index 54cb32e982402487f14ad1a6fd28c85dfc729981..e25697512856a1cc6d0787074d64469eb98de559 100644 (file)
@@ -42,6 +42,7 @@ WARNING: translation string unused: advproxy no cre groups
 WARNING: translation string unused: advproxy ssadvanced proxy
 WARNING: translation string unused: advproxy update information
 WARNING: translation string unused: advproxy update notification
+WARNING: translation string unused: again
 WARNING: translation string unused: alcatelusb help
 WARNING: translation string unused: alcatelusb upload
 WARNING: translation string unused: all interfaces
@@ -56,6 +57,7 @@ WARNING: translation string unused: apply
 WARNING: translation string unused: archive not exist
 WARNING: translation string unused: attemps
 WARNING: translation string unused: available updates
+WARNING: translation string unused: avoid dod
 WARNING: translation string unused: backup archive
 WARNING: translation string unused: backup clear archive
 WARNING: translation string unused: backup config floppy
@@ -82,6 +84,7 @@ WARNING: translation string unused: backup protect key password
 WARNING: translation string unused: backup sets
 WARNING: translation string unused: backup to floppy
 WARNING: translation string unused: bad characters in
+WARNING: translation string unused: behind a proxy
 WARNING: translation string unused: bewan adsl pci st
 WARNING: translation string unused: bewan adsl usb
 WARNING: translation string unused: bitrate
@@ -129,6 +132,8 @@ WARNING: translation string unused: dbfile
 WARNING: translation string unused: ddns help dnsmadeeasy
 WARNING: translation string unused: ddns help freedns
 WARNING: translation string unused: ddns help plus
+WARNING: translation string unused: ddns minimize updates
+WARNING: translation string unused: ddns noip prefix
 WARNING: translation string unused: debugme
 WARNING: translation string unused: deep scan directories
 WARNING: translation string unused: default networks
@@ -158,6 +163,7 @@ WARNING: translation string unused: dmz pinhole rule removed
 WARNING: translation string unused: dmzpinholes for same net not necessary
 WARNING: translation string unused: dns server
 WARNING: translation string unused: do not log this port list
+WARNING: translation string unused: domain not set
 WARNING: translation string unused: donation-link
 WARNING: translation string unused: done
 WARNING: translation string unused: driver
@@ -174,6 +180,7 @@ WARNING: translation string unused: editor
 WARNING: translation string unused: eg
 WARNING: translation string unused: email server can not be empty
 WARNING: translation string unused: enable javascript
+WARNING: translation string unused: enable wildcards
 WARNING: translation string unused: enabled on
 WARNING: translation string unused: enabledtitle
 WARNING: translation string unused: encrypted
@@ -405,6 +412,7 @@ WARNING: translation string unused: pots
 WARNING: translation string unused: pppoe
 WARNING: translation string unused: present
 WARNING: translation string unused: profiles
+WARNING: translation string unused: proxy
 WARNING: translation string unused: proxy access graphs
 WARNING: translation string unused: proxy no proxy extend
 WARNING: translation string unused: proxy no proxy local
@@ -420,12 +428,16 @@ WARNING: translation string unused: released
 WARNING: translation string unused: removable device advice
 WARNING: translation string unused: reportfile
 WARNING: translation string unused: requested data
+WARNING: translation string unused: reserved dst port
+WARNING: translation string unused: reserved src port
 WARNING: translation string unused: restore hardware settings
 WARNING: translation string unused: root
 WARNING: translation string unused: root path
 WARNING: translation string unused: root user password
 WARNING: translation string unused: route subnet is invalid
 WARNING: translation string unused: router ip
+WARNING: translation string unused: rsvd dst port overlap
+WARNING: translation string unused: rsvd src port overlap
 WARNING: translation string unused: rules already up to date
 WARNING: translation string unused: safe removal of umounted device
 WARNING: translation string unused: save error
@@ -455,6 +467,7 @@ WARNING: translation string unused: source ip in use
 WARNING: translation string unused: source ip or net
 WARNING: translation string unused: source net
 WARNING: translation string unused: source network
+WARNING: translation string unused: source port in use
 WARNING: translation string unused: source port overlaps
 WARNING: translation string unused: squid extension methods
 WARNING: translation string unused: squid extension methods invalid
@@ -563,6 +576,7 @@ WARNING: translation string unused: warn when traffic reaches
 WARNING: translation string unused: web proxy configuration
 WARNING: translation string unused: week-graph
 WARNING: translation string unused: weekly firewallhits
+WARNING: translation string unused: wildcards
 WARNING: translation string unused: wlanap wlan services
 WARNING: translation string unused: xtaccess all error
 WARNING: translation string unused: xtaccess bad transfert
@@ -575,14 +589,22 @@ WARNING: untranslated string: ConnSched reboot
 WARNING: untranslated string: ConnSched shutdown
 WARNING: untranslated string: MB read
 WARNING: untranslated string: MB written
+WARNING: untranslated string: MTU settings
 WARNING: untranslated string: Number of Countries for the pie chart
 WARNING: untranslated string: Scan for Songs
 WARNING: untranslated string: Set time on boot
 WARNING: untranslated string: addons
+WARNING: untranslated string: administrator password
+WARNING: untranslated string: administrator username
+WARNING: untranslated string: advproxy AUTH method ntlm
+WARNING: untranslated string: advproxy AUTH method ntlm auth
+WARNING: untranslated string: advproxy basic authentication
 WARNING: untranslated string: advproxy cache-digest
 WARNING: untranslated string: advproxy errmsg cache
 WARNING: untranslated string: advproxy errmsg invalid upstream proxy
 WARNING: untranslated string: advproxy errmsg proxy ports equal
+WARNING: untranslated string: advproxy group access control
+WARNING: untranslated string: advproxy group required
 WARNING: untranslated string: advproxy proxy port transparent
 WARNING: untranslated string: atm device
 WARNING: untranslated string: attention
@@ -631,12 +653,14 @@ WARNING: untranslated string: countries
 WARNING: untranslated string: country codes and flags
 WARNING: untranslated string: countrycode
 WARNING: untranslated string: dead peer detection
+WARNING: untranslated string: default
 WARNING: untranslated string: deprecated fs warn
 WARNING: untranslated string: details
 WARNING: untranslated string: dh
 WARNING: untranslated string: dh key move failed
 WARNING: untranslated string: dh key warn
 WARNING: untranslated string: dh key warn1
+WARNING: untranslated string: dh parameter
 WARNING: untranslated string: dnat address
 WARNING: untranslated string: dns servers
 WARNING: untranslated string: dnsforward
@@ -646,7 +670,12 @@ WARNING: untranslated string: dnsforward edit an entry
 WARNING: untranslated string: dnsforward entries
 WARNING: untranslated string: dnsforward forward_server
 WARNING: untranslated string: dnsforward zone
+WARNING: untranslated string: dnssec aware
+WARNING: untranslated string: dnssec information
+WARNING: untranslated string: dnssec not supported
+WARNING: untranslated string: dnssec validating
 WARNING: untranslated string: downlink
+WARNING: untranslated string: download tls-auth key
 WARNING: untranslated string: dpd delay
 WARNING: untranslated string: dpd timeout
 WARNING: untranslated string: drop action
@@ -756,6 +785,7 @@ WARNING: untranslated string: fwdfw wd_sun
 WARNING: untranslated string: fwdfw wd_thu
 WARNING: untranslated string: fwdfw wd_tue
 WARNING: untranslated string: fwdfw wd_wed
+WARNING: untranslated string: fwhost OpenVPN N-2-N
 WARNING: untranslated string: fwhost addgrp
 WARNING: untranslated string: fwhost addgrpname
 WARNING: untranslated string: fwhost addhost
@@ -838,7 +868,14 @@ WARNING: untranslated string: last
 WARNING: untranslated string: least preferred
 WARNING: untranslated string: lifetime
 WARNING: untranslated string: mac filter
+WARNING: untranslated string: masquerade blue
+WARNING: untranslated string: masquerade green
+WARNING: untranslated string: masquerade orange
+WARNING: untranslated string: masquerading
+WARNING: untranslated string: masquerading disabled
+WARNING: untranslated string: masquerading enabled
 WARNING: untranslated string: maximum
+WARNING: untranslated string: messages
 WARNING: untranslated string: minimum
 WARNING: untranslated string: minute
 WARNING: untranslated string: model
@@ -856,6 +893,7 @@ WARNING: untranslated string: modem sim information
 WARNING: untranslated string: modem status
 WARNING: untranslated string: monitor interface
 WARNING: untranslated string: most preferred
+WARNING: untranslated string: nameserver
 WARNING: untranslated string: no hardware random number generator
 WARNING: untranslated string: not a valid dh key
 WARNING: untranslated string: notice
@@ -874,8 +912,9 @@ WARNING: untranslated string: outgoing firewall p2p allow
 WARNING: untranslated string: outgoing firewall p2p deny
 WARNING: untranslated string: ovpn crypt options
 WARNING: untranslated string: ovpn dh
+WARNING: untranslated string: ovpn dh new key
+WARNING: untranslated string: ovpn dh parameters
 WARNING: untranslated string: ovpn dh upload
-WARNING: untranslated string: ovpn engines
 WARNING: untranslated string: ovpn errmsg green already pushed
 WARNING: untranslated string: ovpn errmsg invalid ip or mask
 WARNING: untranslated string: ovpn generating the root and host certificates
@@ -908,8 +947,11 @@ WARNING: untranslated string: route config changed
 WARNING: untranslated string: routing config added
 WARNING: untranslated string: routing config changed
 WARNING: untranslated string: routing table
+WARNING: untranslated string: samba join a domain
+WARNING: untranslated string: samba join domain
 WARNING: untranslated string: server restart
 WARNING: untranslated string: show dh
+WARNING: untranslated string: show tls-auth key
 WARNING: untranslated string: snat new source ip address
 WARNING: untranslated string: software version
 WARNING: untranslated string: source ip country
@@ -919,6 +961,7 @@ WARNING: untranslated string: support donation
 WARNING: untranslated string: system has hwrng
 WARNING: untranslated string: system has rdrand
 WARNING: untranslated string: system information
+WARNING: untranslated string: ta key
 WARNING: untranslated string: tor
 WARNING: untranslated string: tor accounting
 WARNING: untranslated string: tor accounting bytes
index c7c39ec983cb2e8b769532fe3259d27cf907c4e9..d7d3d26dff535a23ad4661a7bf3ed26455cf113f 100644 (file)
@@ -42,6 +42,7 @@ WARNING: translation string unused: advproxy no cre groups
 WARNING: translation string unused: advproxy ssadvanced proxy
 WARNING: translation string unused: advproxy update information
 WARNING: translation string unused: advproxy update notification
+WARNING: translation string unused: again
 WARNING: translation string unused: alcatelusb help
 WARNING: translation string unused: alcatelusb upload
 WARNING: translation string unused: all interfaces
@@ -56,6 +57,7 @@ WARNING: translation string unused: apply
 WARNING: translation string unused: archive not exist
 WARNING: translation string unused: attemps
 WARNING: translation string unused: available updates
+WARNING: translation string unused: avoid dod
 WARNING: translation string unused: backup archive
 WARNING: translation string unused: backup clear archive
 WARNING: translation string unused: backup config floppy
@@ -82,6 +84,7 @@ WARNING: translation string unused: backup protect key password
 WARNING: translation string unused: backup sets
 WARNING: translation string unused: backup to floppy
 WARNING: translation string unused: bad characters in
+WARNING: translation string unused: behind a proxy
 WARNING: translation string unused: bewan adsl pci st
 WARNING: translation string unused: bewan adsl usb
 WARNING: translation string unused: bitrate
@@ -128,6 +131,8 @@ WARNING: translation string unused: dbfile
 WARNING: translation string unused: ddns help dnsmadeeasy
 WARNING: translation string unused: ddns help freedns
 WARNING: translation string unused: ddns help plus
+WARNING: translation string unused: ddns minimize updates
+WARNING: translation string unused: ddns noip prefix
 WARNING: translation string unused: debugme
 WARNING: translation string unused: deep scan directories
 WARNING: translation string unused: default networks
@@ -157,6 +162,7 @@ WARNING: translation string unused: dmz pinhole rule removed
 WARNING: translation string unused: dmzpinholes for same net not necessary
 WARNING: translation string unused: dns server
 WARNING: translation string unused: do not log this port list
+WARNING: translation string unused: domain not set
 WARNING: translation string unused: donation-link
 WARNING: translation string unused: done
 WARNING: translation string unused: driver
@@ -173,6 +179,7 @@ WARNING: translation string unused: editor
 WARNING: translation string unused: eg
 WARNING: translation string unused: email server can not be empty
 WARNING: translation string unused: enable javascript
+WARNING: translation string unused: enable wildcards
 WARNING: translation string unused: enabled on
 WARNING: translation string unused: enabledtitle
 WARNING: translation string unused: encrypted
@@ -410,6 +417,7 @@ WARNING: translation string unused: pots
 WARNING: translation string unused: pppoe
 WARNING: translation string unused: present
 WARNING: translation string unused: profiles
+WARNING: translation string unused: proxy
 WARNING: translation string unused: proxy access graphs
 WARNING: translation string unused: proxy no proxy extend
 WARNING: translation string unused: proxy no proxy local
@@ -425,12 +433,16 @@ WARNING: translation string unused: released
 WARNING: translation string unused: removable device advice
 WARNING: translation string unused: reportfile
 WARNING: translation string unused: requested data
+WARNING: translation string unused: reserved dst port
+WARNING: translation string unused: reserved src port
 WARNING: translation string unused: restore hardware settings
 WARNING: translation string unused: root
 WARNING: translation string unused: root path
 WARNING: translation string unused: root user password
 WARNING: translation string unused: route subnet is invalid
 WARNING: translation string unused: router ip
+WARNING: translation string unused: rsvd dst port overlap
+WARNING: translation string unused: rsvd src port overlap
 WARNING: translation string unused: rules already up to date
 WARNING: translation string unused: safe removal of umounted device
 WARNING: translation string unused: save error
@@ -460,6 +472,7 @@ WARNING: translation string unused: source ip in use
 WARNING: translation string unused: source ip or net
 WARNING: translation string unused: source net
 WARNING: translation string unused: source network
+WARNING: translation string unused: source port in use
 WARNING: translation string unused: source port overlaps
 WARNING: translation string unused: squid extension methods
 WARNING: translation string unused: squid extension methods invalid
@@ -567,6 +580,7 @@ WARNING: translation string unused: vpn watch
 WARNING: translation string unused: warn when traffic reaches
 WARNING: translation string unused: web proxy configuration
 WARNING: translation string unused: weekly firewallhits
+WARNING: translation string unused: wildcards
 WARNING: translation string unused: wlanap wlan services
 WARNING: translation string unused: xtaccess all error
 WARNING: translation string unused: xtaccess bad transfert
@@ -579,13 +593,21 @@ WARNING: untranslated string: ConnSched shutdown
 WARNING: untranslated string: Edit an existing route
 WARNING: untranslated string: MB read
 WARNING: untranslated string: MB written
+WARNING: untranslated string: MTU settings
 WARNING: untranslated string: Number of Countries for the pie chart
 WARNING: untranslated string: Scan for Songs
 WARNING: untranslated string: addons
+WARNING: untranslated string: administrator password
+WARNING: untranslated string: administrator username
+WARNING: untranslated string: advproxy AUTH method ntlm
+WARNING: untranslated string: advproxy AUTH method ntlm auth
+WARNING: untranslated string: advproxy basic authentication
 WARNING: untranslated string: advproxy cache-digest
 WARNING: untranslated string: advproxy errmsg cache
 WARNING: untranslated string: advproxy errmsg invalid upstream proxy
 WARNING: untranslated string: advproxy errmsg proxy ports equal
+WARNING: untranslated string: advproxy group access control
+WARNING: untranslated string: advproxy group required
 WARNING: untranslated string: advproxy proxy port transparent
 WARNING: untranslated string: atm device
 WARNING: untranslated string: attention
@@ -635,12 +657,14 @@ WARNING: untranslated string: countries
 WARNING: untranslated string: country codes and flags
 WARNING: untranslated string: countrycode
 WARNING: untranslated string: dead peer detection
+WARNING: untranslated string: default
 WARNING: untranslated string: deprecated fs warn
 WARNING: untranslated string: details
 WARNING: untranslated string: dh
 WARNING: untranslated string: dh key move failed
 WARNING: untranslated string: dh key warn
 WARNING: untranslated string: dh key warn1
+WARNING: untranslated string: dh parameter
 WARNING: untranslated string: disk access per
 WARNING: untranslated string: dnat address
 WARNING: untranslated string: dns servers
@@ -651,7 +675,12 @@ WARNING: untranslated string: dnsforward edit an entry
 WARNING: untranslated string: dnsforward entries
 WARNING: untranslated string: dnsforward forward_server
 WARNING: untranslated string: dnsforward zone
+WARNING: untranslated string: dnssec aware
+WARNING: untranslated string: dnssec information
+WARNING: untranslated string: dnssec not supported
+WARNING: untranslated string: dnssec validating
 WARNING: untranslated string: downlink
+WARNING: untranslated string: download tls-auth key
 WARNING: untranslated string: dpd delay
 WARNING: untranslated string: dpd timeout
 WARNING: untranslated string: drop action
@@ -751,6 +780,7 @@ WARNING: untranslated string: fwdfw wd_sun
 WARNING: untranslated string: fwdfw wd_thu
 WARNING: untranslated string: fwdfw wd_tue
 WARNING: untranslated string: fwdfw wd_wed
+WARNING: untranslated string: fwhost OpenVPN N-2-N
 WARNING: untranslated string: fwhost addgrp
 WARNING: untranslated string: fwhost addgrpname
 WARNING: untranslated string: fwhost addhost
@@ -834,7 +864,14 @@ WARNING: untranslated string: last
 WARNING: untranslated string: least preferred
 WARNING: untranslated string: lifetime
 WARNING: untranslated string: mac filter
+WARNING: untranslated string: masquerade blue
+WARNING: untranslated string: masquerade green
+WARNING: untranslated string: masquerade orange
+WARNING: untranslated string: masquerading
+WARNING: untranslated string: masquerading disabled
+WARNING: untranslated string: masquerading enabled
 WARNING: untranslated string: maximum
+WARNING: untranslated string: messages
 WARNING: untranslated string: minimum
 WARNING: untranslated string: minute
 WARNING: untranslated string: model
@@ -852,6 +889,7 @@ WARNING: untranslated string: modem sim information
 WARNING: untranslated string: modem status
 WARNING: untranslated string: monitor interface
 WARNING: untranslated string: most preferred
+WARNING: untranslated string: nameserver
 WARNING: untranslated string: no hardware random number generator
 WARNING: untranslated string: not a valid dh key
 WARNING: untranslated string: notice
@@ -869,8 +907,9 @@ WARNING: untranslated string: outgoing firewall access
 WARNING: untranslated string: outgoing traffic in bytes per second
 WARNING: untranslated string: ovpn crypt options
 WARNING: untranslated string: ovpn dh
+WARNING: untranslated string: ovpn dh new key
+WARNING: untranslated string: ovpn dh parameters
 WARNING: untranslated string: ovpn dh upload
-WARNING: untranslated string: ovpn engines
 WARNING: untranslated string: ovpn generating the root and host certificates
 WARNING: untranslated string: ovpn ha
 WARNING: untranslated string: ovpn hmac
@@ -898,8 +937,11 @@ WARNING: untranslated string: route config changed
 WARNING: untranslated string: routing config added
 WARNING: untranslated string: routing config changed
 WARNING: untranslated string: routing table
+WARNING: untranslated string: samba join a domain
+WARNING: untranslated string: samba join domain
 WARNING: untranslated string: server restart
 WARNING: untranslated string: show dh
+WARNING: untranslated string: show tls-auth key
 WARNING: untranslated string: snat new source ip address
 WARNING: untranslated string: software version
 WARNING: untranslated string: source ip country
@@ -908,6 +950,7 @@ WARNING: untranslated string: static routes
 WARNING: untranslated string: support donation
 WARNING: untranslated string: system has hwrng
 WARNING: untranslated string: system has rdrand
+WARNING: untranslated string: ta key
 WARNING: untranslated string: tor
 WARNING: untranslated string: tor accounting
 WARNING: untranslated string: tor accounting bytes
index 06cacf10fa353c3e60ed10662bca0cd953f11bca..623df9836e8c511579554cbfb04da8867241e577 100644 (file)
@@ -42,6 +42,7 @@ WARNING: translation string unused: advproxy no cre groups
 WARNING: translation string unused: advproxy ssadvanced proxy
 WARNING: translation string unused: advproxy update information
 WARNING: translation string unused: advproxy update notification
+WARNING: translation string unused: again
 WARNING: translation string unused: age second
 WARNING: translation string unused: age seconds
 WARNING: translation string unused: age shour
@@ -61,6 +62,7 @@ WARNING: translation string unused: apply
 WARNING: translation string unused: archive not exist
 WARNING: translation string unused: attemps
 WARNING: translation string unused: available updates
+WARNING: translation string unused: avoid dod
 WARNING: translation string unused: backup archive
 WARNING: translation string unused: backup clear archive
 WARNING: translation string unused: backup config floppy
@@ -87,6 +89,7 @@ WARNING: translation string unused: backup protect key password
 WARNING: translation string unused: backup sets
 WARNING: translation string unused: backup to floppy
 WARNING: translation string unused: bad characters in
+WARNING: translation string unused: behind a proxy
 WARNING: translation string unused: bewan adsl pci st
 WARNING: translation string unused: bewan adsl usb
 WARNING: translation string unused: bitrate
@@ -136,6 +139,8 @@ WARNING: translation string unused: dbfile
 WARNING: translation string unused: ddns help dnsmadeeasy
 WARNING: translation string unused: ddns help freedns
 WARNING: translation string unused: ddns help plus
+WARNING: translation string unused: ddns minimize updates
+WARNING: translation string unused: ddns noip prefix
 WARNING: translation string unused: debugme
 WARNING: translation string unused: deep scan directories
 WARNING: translation string unused: default ip
@@ -166,6 +171,7 @@ WARNING: translation string unused: dmz pinhole rule removed
 WARNING: translation string unused: dmzpinholes for same net not necessary
 WARNING: translation string unused: dns server
 WARNING: translation string unused: do not log this port list
+WARNING: translation string unused: domain not set
 WARNING: translation string unused: donation-link
 WARNING: translation string unused: done
 WARNING: translation string unused: driver
@@ -181,6 +187,7 @@ WARNING: translation string unused: editor
 WARNING: translation string unused: eg
 WARNING: translation string unused: email server can not be empty
 WARNING: translation string unused: enable javascript
+WARNING: translation string unused: enable wildcards
 WARNING: translation string unused: enabled on
 WARNING: translation string unused: enabledtitle
 WARNING: translation string unused: encrypted
@@ -252,7 +259,6 @@ WARNING: translation string unused: fwhost Custom Host
 WARNING: translation string unused: fwhost Custom Network
 WARNING: translation string unused: fwhost IpSec Host
 WARNING: translation string unused: fwhost IpSec Network
-WARNING: translation string unused: fwhost OpenVPN N-2-N
 WARNING: translation string unused: fwhost OpenVPN static host
 WARNING: translation string unused: fwhost OpenVPN static network
 WARNING: translation string unused: fwhost Standard Network
@@ -469,6 +475,7 @@ WARNING: translation string unused: pots
 WARNING: translation string unused: pppoe
 WARNING: translation string unused: present
 WARNING: translation string unused: profiles
+WARNING: translation string unused: proxy
 WARNING: translation string unused: proxy access graphs
 WARNING: translation string unused: proxy no proxy extend
 WARNING: translation string unused: proxy no proxy local
@@ -484,12 +491,16 @@ WARNING: translation string unused: released
 WARNING: translation string unused: removable device advice
 WARNING: translation string unused: reportfile
 WARNING: translation string unused: requested data
+WARNING: translation string unused: reserved dst port
+WARNING: translation string unused: reserved src port
 WARNING: translation string unused: restore hardware settings
 WARNING: translation string unused: root
 WARNING: translation string unused: root path
 WARNING: translation string unused: root user password
 WARNING: translation string unused: route subnet is invalid
 WARNING: translation string unused: router ip
+WARNING: translation string unused: rsvd dst port overlap
+WARNING: translation string unused: rsvd src port overlap
 WARNING: translation string unused: rules already up to date
 WARNING: translation string unused: safe removal of umounted device
 WARNING: translation string unused: save error
@@ -519,6 +530,7 @@ WARNING: translation string unused: source ip in use
 WARNING: translation string unused: source ip or net
 WARNING: translation string unused: source net
 WARNING: translation string unused: source network
+WARNING: translation string unused: source port in use
 WARNING: translation string unused: source port overlaps
 WARNING: translation string unused: squid extension methods
 WARNING: translation string unused: squid extension methods invalid
@@ -622,6 +634,10 @@ WARNING: translation string unused: urlfilter update information
 WARNING: translation string unused: urlfilter update notification
 WARNING: translation string unused: urlfilter update results
 WARNING: translation string unused: urlfilter upload background
+WARNING: translation string unused: usb modem on acm0
+WARNING: translation string unused: usb modem on acm1
+WARNING: translation string unused: usb modem on acm2
+WARNING: translation string unused: usb modem on acm3
 WARNING: translation string unused: use
 WARNING: translation string unused: use dov
 WARNING: translation string unused: use ibod
@@ -638,25 +654,48 @@ WARNING: translation string unused: warn when traffic reaches
 WARNING: translation string unused: web proxy configuration
 WARNING: translation string unused: week-graph
 WARNING: translation string unused: weekly firewallhits
+WARNING: translation string unused: wildcards
 WARNING: translation string unused: wlanap wlan services
 WARNING: translation string unused: xtaccess all error
 WARNING: translation string unused: xtaccess bad transfert
 WARNING: translation string unused: year-graph
 WARNING: translation string unused: yearly firewallhits
+WARNING: untranslated string: MTU settings
 WARNING: untranslated string: Number of Countries for the pie chart
 WARNING: untranslated string: Scan for Songs
+WARNING: untranslated string: administrator password
+WARNING: untranslated string: administrator username
+WARNING: untranslated string: advproxy AUTH method ntlm
+WARNING: untranslated string: advproxy AUTH method ntlm auth
+WARNING: untranslated string: advproxy basic authentication
+WARNING: untranslated string: advproxy group access control
+WARNING: untranslated string: advproxy group required
 WARNING: untranslated string: bytes
 WARNING: untranslated string: capabilities
+WARNING: untranslated string: default
 WARNING: untranslated string: dh
 WARNING: untranslated string: dh key move failed
 WARNING: untranslated string: dh key warn
 WARNING: untranslated string: dh key warn1
+WARNING: untranslated string: dh parameter
+WARNING: untranslated string: dnssec aware
+WARNING: untranslated string: dnssec information
+WARNING: untranslated string: dnssec not supported
+WARNING: untranslated string: dnssec validating
+WARNING: untranslated string: download tls-auth key
 WARNING: untranslated string: firewall logs country
 WARNING: untranslated string: fwhost err hostip
 WARNING: untranslated string: gen dh
 WARNING: untranslated string: generate dh key
 WARNING: untranslated string: imei
 WARNING: untranslated string: imsi
+WARNING: untranslated string: masquerade blue
+WARNING: untranslated string: masquerade green
+WARNING: untranslated string: masquerade orange
+WARNING: untranslated string: masquerading
+WARNING: untranslated string: masquerading disabled
+WARNING: untranslated string: masquerading enabled
+WARNING: untranslated string: messages
 WARNING: untranslated string: model
 WARNING: untranslated string: modem hardware details
 WARNING: untranslated string: modem information
@@ -671,11 +710,13 @@ WARNING: untranslated string: modem no connection message
 WARNING: untranslated string: modem sim information
 WARNING: untranslated string: modem status
 WARNING: untranslated string: monitor interface
+WARNING: untranslated string: nameserver
 WARNING: untranslated string: not a valid dh key
 WARNING: untranslated string: ovpn crypt options
 WARNING: untranslated string: ovpn dh
+WARNING: untranslated string: ovpn dh new key
+WARNING: untranslated string: ovpn dh parameters
 WARNING: untranslated string: ovpn dh upload
-WARNING: untranslated string: ovpn engines
 WARNING: untranslated string: ovpn generating the root and host certificates
 WARNING: untranslated string: ovpn ha
 WARNING: untranslated string: ovpn hmac
@@ -683,8 +724,12 @@ WARNING: untranslated string: route config changed
 WARNING: untranslated string: routing config added
 WARNING: untranslated string: routing config changed
 WARNING: untranslated string: routing table
+WARNING: untranslated string: samba join a domain
+WARNING: untranslated string: samba join domain
 WARNING: untranslated string: show dh
+WARNING: untranslated string: show tls-auth key
 WARNING: untranslated string: software version
 WARNING: untranslated string: source ip country
+WARNING: untranslated string: ta key
 WARNING: untranslated string: upload dh key
 WARNING: untranslated string: vendor
index d25ea40f8dc7e8ece5c4a8803b2c60e591eb4a4b..376a460ce78c7d2e733845b23ac3cd36dcbb9697 100644 (file)
 # Checking cgi-bin translations for language: fr                           #
 ############################################################################
 < addon
+< administrator password
+< administrator username
+< adsl settings
+< advproxy AUTH method ntlm
+< advproxy AUTH method ntlm auth
+< advproxy basic authentication
 < advproxy cache-digest
 < advproxy errmsg cache
 < advproxy errmsg invalid upstream proxy
 < advproxy errmsg proxy ports equal
+< advproxy group access control
+< advproxy group required
 < advproxy proxy port transparent
 < age second
 < age seconds
@@ -76,6 +84,7 @@
 < countries
 < countrycode
 < country codes and flags
+< default
 < default ip
 < deprecated fs warn
 < details
@@ -83,6 +92,7 @@
 < dh key move failed
 < dh key warn
 < dh key warn1
+< dh parameter
 < dnat address
 < dns address deleted txt
 < dnsforward
 < dnsforward entries
 < dnsforward forward_server
 < dnsforward zone
+< dnssec aware
+< dnssec information
+< dnssec not supported
+< dnssec validating
+< dns servers
+< downlink
+< download dh parameter
+< download tls-auth key
 < dpd delay
 < dpd timeout
 < drop action
 < fireinfo your profile id
 < firewall logs country
 < firewall rules
+< first
 < flag
 < forward firewall
 < fw default drop
 < ipsec
 < ipsec network
 < ipsec no connections
+< last
 < least preferred
 < lifetime
 < mac filter
+< masquerade blue
+< masquerade green
+< masquerade orange
+< masquerading
+< masquerading disabled
+< masquerading enabled
 < maximum
 < MB read
 < MB written
+< messages
 < minimum
 < minute
 < model
 < modem no connection message
 < modem sim information
 < modem status
+< monitor interface
 < most preferred
+< MTU settings
+< nameserver
 < never
 < no hardware random number generator
 < not a valid dh key
 < outgoing firewall access
 < ovpn crypt options
 < ovpn dh
+< ovpn dh new key
+< ovpn dh parameters
 < ovpn dh upload
 < ovpn engines
 < ovpn generating the root and host certificates
 < qos enter bandwidths
 < random number generator daemon
 < red1
+< samba join a domain
+< samba join domain
 < server restart
 < show dh
 < snat new source ip address
 < system has hwrng
 < system has rdrand
 < system information
+< ta key
 < tor
 < tor 0 = disabled
 < tor accounting
 < tor use exit nodes
 < updxlrtr sources
 < updxlrtr standard view
+< uplink
 < upload dh key
 < upload new ruleset
 < uptime
 # Checking cgi-bin translations for language: es                           #
 ############################################################################
 < addon
+< administrator password
+< administrator username
+< adsl settings
+< advproxy AUTH method ntlm
+< advproxy AUTH method ntlm auth
+< advproxy basic authentication
 < advproxy cache-digest
 < advproxy errmsg cache
 < advproxy errmsg invalid upstream proxy
 < advproxy errmsg proxy ports equal
+< advproxy group access control
+< advproxy group required
 < advproxy proxy port transparent
 < age second
 < age seconds
 < countries
 < countrycode
 < country codes and flags
+< default
 < default ip
 < deprecated fs warn
 < details
 < dh key move failed
 < dh key warn
 < dh key warn1
+< dh parameter
 < dnat address
 < dnsforward
 < dnsforward add a new entry
 < dnsforward entries
 < dnsforward forward_server
 < dnsforward zone
+< dnssec aware
+< dnssec information
+< dnssec not supported
+< dnssec validating
+< dns servers
+< downlink
+< download dh parameter
+< download tls-auth key
 < dpd delay
 < dpd timeout
 < drop action
 < fireinfo your profile id
 < firewall logs country
 < firewall rules
+< first
 < flag
 < forward firewall
 < fw default drop
 < ipsec
 < ipsec network
 < ipsec no connections
+< last
 < least preferred
 < lifetime
 < mac filter
+< masquerade blue
+< masquerade green
+< masquerade orange
+< masquerading
+< masquerading disabled
+< masquerading enabled
 < maximum
 < MB read
 < MB written
+< messages
 < minimum
 < minute
 < model
 < modem no connection message
 < modem sim information
 < modem status
+< monitor interface
 < most preferred
+< MTU settings
+< nameserver
 < never
 < no hardware random number generator
 < not a valid dh key
 < outgoing firewall view group
 < ovpn crypt options
 < ovpn dh
+< ovpn dh new key
+< ovpn dh parameters
 < ovpn dh upload
 < ovpn engines
 < ovpn errmsg green already pushed
 < qos enter bandwidths
 < random number generator daemon
 < red1
+< samba join a domain
+< samba join domain
 < server restart
 < Set time on boot
 < show dh
 < system has hwrng
 < system has rdrand
 < system information
+< ta key
 < tor
 < tor 0 = disabled
 < tor accounting
 < tor use exit nodes
 < updxlrtr sources
 < updxlrtr standard view
+< uplink
 < upload dh key
 < uptime
 < uptime load average
 # Checking cgi-bin translations for language: pl                           #
 ############################################################################
 < addon
+< administrator password
+< administrator username
+< adsl settings
+< advproxy AUTH method ntlm
+< advproxy AUTH method ntlm auth
+< advproxy basic authentication
 < advproxy cache-digest
 < advproxy errmsg cache
 < advproxy errmsg invalid upstream proxy
 < advproxy errmsg proxy ports equal
+< advproxy group access control
+< advproxy group required
 < advproxy proxy port transparent
 < age second
 < age seconds
 < countries
 < countrycode
 < country codes and flags
+< default
 < default ip
 < deprecated fs warn
 < details
 < dh key move failed
 < dh key warn
 < dh key warn1
+< dh parameter
 < dnat address
 < dnsforward
 < dnsforward add a new entry
 < dnsforward entries
 < dnsforward forward_server
 < dnsforward zone
+< dnssec aware
+< dnssec information
+< dnssec not supported
+< dnssec validating
+< dns servers
+< downlink
+< download dh parameter
+< download tls-auth key
 < dpd delay
 < dpd timeout
 < drop action
 < extrahd you cant mount
 < firewall logs country
 < firewall rules
+< first
 < flag
 < forward firewall
 < fw default drop
 < ipsec
 < ipsec network
 < ipsec no connections
+< last
 < least preferred
 < lifetime
 < mac filter
+< masquerade blue
+< masquerade green
+< masquerade orange
+< masquerading
+< masquerading disabled
+< masquerading enabled
 < maximum
 < MB read
 < MB written
+< messages
 < minimum
 < minute
 < model
 < modem no connection message
 < modem sim information
 < modem status
+< monitor interface
 < most preferred
+< MTU settings
+< nameserver
 < never
 < no hardware random number generator
 < not a valid dh key
 < outgoing firewall access
 < ovpn crypt options
 < ovpn dh
+< ovpn dh new key
+< ovpn dh parameters
 < ovpn dh upload
 < ovpn engines
 < ovpn errmsg green already pushed
 < qos enter bandwidths
 < random number generator daemon
 < red1
+< samba join a domain
+< samba join domain
 < server restart
 < show dh
 < snat new source ip address
 < support donation
 < system has hwrng
 < system has rdrand
+< ta key
 < tor
 < tor 0 = disabled
 < tor accounting
 < tor use exit nodes
 < updxlrtr sources
 < updxlrtr standard view
+< uplink
 < upload dh key
 < uptime
 < uptime load average
 ############################################################################
 < Add a route
 < addon
+< administrator password
+< administrator username
+< adsl settings
+< advproxy AUTH method ntlm
+< advproxy AUTH method ntlm auth
+< advproxy basic authentication
 < advproxy cache-digest
 < advproxy errmsg cache
 < advproxy errmsg invalid upstream proxy
 < advproxy errmsg proxy ports equal
+< advproxy group access control
+< advproxy group required
 < advproxy proxy port transparent
 < age second
 < age seconds
 < countrycode
 < country codes and flags
 < day-graph
+< default
 < default ip
 < deprecated fs warn
 < details
 < dh key move failed
 < dh key warn
 < dh key warn1
+< dh parameter
 < disk access per
 < dnat address
 < dnsforward
 < dnsforward entries
 < dnsforward forward_server
 < dnsforward zone
+< dnssec aware
+< dnssec information
+< dnssec not supported
+< dnssec validating
+< dns servers
+< downlink
+< download dh parameter
+< download tls-auth key
 < dpd delay
 < dpd timeout
 < drop action
 < extrahd you cant mount
 < firewall logs country
 < firewall rules
+< first
 < flag
 < forward firewall
 < frequency
 < ipsec
 < ipsec network
 < ipsec no connections
+< last
 < least preferred
 < lifetime
 < mac filter
+< masquerade blue
+< masquerade green
+< masquerade orange
+< masquerading
+< masquerading disabled
+< masquerading enabled
 < maximum
 < MB read
 < MB written
+< messages
 < minimum
 < minute
 < model
 < modem no connection message
 < modem sim information
 < modem status
+< monitor interface
 < month-graph
 < most preferred
+< MTU settings
+< nameserver
 < never
 < no hardware random number generator
 < not a valid dh key
 < outgoing traffic in bytes per second
 < ovpn crypt options
 < ovpn dh
+< ovpn dh new key
+< ovpn dh parameters
 < ovpn dh upload
 < ovpn engines
 < ovpn generating the root and host certificates
 < qos enter bandwidths
 < random number generator daemon
 < red1
+< samba join a domain
+< samba join domain
 < server restart
 < show dh
 < snat new source ip address
 < support donation
 < system has hwrng
 < system has rdrand
+< ta key
 < tor
 < tor 0 = disabled
 < tor accounting
 < tor use exit nodes
 < updxlrtr sources
 < updxlrtr standard view
+< uplink
 < upload dh key
 < uptime
 < uptime load average
index c025a5c32e663042a4b07a754d079cd673bb25bb..78a73efacbbce7c881805c9c499a650c474911c8 100644 (file)
@@ -13,3 +13,11 @@ Maintainer / advanced commands
     toolchain : Create our own toolchain package to save 20% of build time.
         shell : Enter a shell inside the chroot, used to tune lfs script
                  and / or during kernel upgrade to rebuild a new .config
+
+
+Options:
+    --target=[armv5tel|i586] : Cross-compile for this target architecture.
+                               Uses the QEMU emulator if needed to virtualise
+                               the desired target architecture.
+                               Can be permanently set with TARGET_ARCH= in
+                               .config.
index c7220f62d164b46dc2c63b34178cdc2e0df2f600..f1ed2125a2cb9e253ca332f7de01c1b09985e601 100644 (file)
@@ -238,6 +238,23 @@ if (-e "${General::swroot}/ovpn/settings") {
        }
 }
 
+# Add OpenVPN net for custom OVPNs
+if (-e "${General::swroot}/ovpn/ccd.conf") {
+       open(OVPNSUB, "${General::swroot}/ovpn/ccd.conf");      
+       my @ovpnsub = <OVPNSUB>;
+       close(OVPNSUB);
+
+       foreach (@ovpnsub) {
+               my ($network, $mask) = split '/', (split ',', $_)[2];
+               
+               $mask = ipv4_cidr2msk($mask) unless &General::validip($mask);
+
+               push(@network, $network);
+               push(@masklen, $mask);
+               push(@colour, ${Header::colourovpn});
+       }
+}
+
 open(IPSEC, "${General::swroot}/vpn/config");
 my @ipsec = <IPSEC>;
 close(IPSEC);
index 4e51ab6fd27ea8fb20e38e88ba4e74fe0fd51624..55841b2b99290ceb2562107f2229768dc8a90691 100644 (file)
@@ -2,7 +2,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2011  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2014  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -33,360 +33,433 @@ require "${General::swroot}/header.pl";
 my @dummy = ( ${Header::table2colour}, ${Header::colouryellow} );
 undef (@dummy);
 
-my $ddnsprefix = $Lang::tr{'ddns noip prefix'};
-$ddnsprefix =~ s/%/$General::noipprefix/;
-
 my %color = ();
 my %mainsettings = ();
 &General::readhash("${General::swroot}/main/settings", \%mainsettings);
 &General::readhash("/srv/web/ipfire/html/themes/".$mainsettings{'THEME'}."/include/colors.txt", \%color);
 
-# Files used
-my $setting = "${General::swroot}/ddns/settings";
-our $datafile = "${General::swroot}/ddns/config";
+# Config file for basic configuration.
+my $settingsfile = "${General::swroot}/ddns/settings";
+
+# Config file to store the configured ddns providers.
+my $datafile = "${General::swroot}/ddns/config";
+
+# Dynamic ddns programm call.
+my @ddnsprog = ("/usr/bin/ddns", "--config",
+               "/var/ipfire/ddns/ddns.conf",
+               "update-all");
 
 my %settings=();
-#Settings1
+my $errormessage = '';
+
+# DDNS General settings.
 $settings{'BEHINDROUTER'} = 'RED_IP';
-$settings{'MINIMIZEUPDATES'} = '';
 
-#Settings2 for editing the multi-line list
-#Must not be saved !
+# Account settings.
 $settings{'HOSTNAME'} = '';
 $settings{'DOMAIN'} = '';
 $settings{'LOGIN'} = '';
 $settings{'PASSWORD'} = '';
-$settings{'PASSWORD2'} = '';
 $settings{'ENABLED'} = '';
 $settings{'PROXY'} = '';
-$settings{'WILDCARDS'} = '';
 $settings{'SERVICE'} = '';
 
-my @nosaved=('HOSTNAME','DOMAIN','LOGIN','PASSWORD','PASSWORD2',
-            'ENABLED','PROXY','WILDCARDS','SERVICE');  # List here ALL setting2 fields. Mandatory
-    
-$settings{'ACTION'} = '';              # add/edit/remove
-$settings{'KEY1'} = '';                        # point record for ACTION
-$settings{'KEY2'} = '';                        # point record for ACTION
+$settings{'ACTION'} = '';
 
-my $errormessage = '';
-my $warnmessage = '';
+# Get supported ddns providers.
+my @providers = &GetProviders();
+
+# Hook to regenerate the configuration files, if cgi got called from command line.
+if ($ENV{"REMOTE_ADDR"} eq "") {
+       &GenerateDDNSConfigFile();
+       exit(0);
+}
 
 &Header::showhttpheaders();
 
 #Get GUI values
 &Header::getcgihash(\%settings);
 
-# Load multiline data
-our @current = ();
-if (open(FILE, "$datafile")) {
-    @current = <FILE>;
-    close (FILE);
-}
+# Read configuration file.
+open(FILE, "$datafile") or die "Unable to open $datafile.";
+my @current = <FILE>;
+close (FILE);
 
 #
-# Check Settings1 first because they are needed before working on @current
+# Save General Settings.
 #
 if ($settings{'ACTION'} eq $Lang::tr{'save'}) {
-    # No user input to check.  !
-    #unless ($errormessage) {                                  # Everything is ok, save settings
-       $settings{'BEHINDROUTERWAITLOOP'} = '-1';               # init  & will update on next setddns.pl call
-       map (delete ($settings{$_}) ,(@nosaved,'ACTION','KEY1','KEY2'));# Must never be saved 
-       &General::writehash($setting, \%settings);              # Save good settings
-       $settings{'ACTION'} = $Lang::tr{'save'};                # Recreate  'ACTION'
-       map ($settings{$_}= '',(@nosaved,'KEY1','KEY2'));       # and reinit var to empty
-    #}
-} else {
-    &General::readhash($setting, \%settings);                  # Get saved settings and reset to good if needed
+       # Open /var/ipfire/ddns/settings for writing.
+       open(FILE, ">$settingsfile") or die "Unable to open $settingsfile.";
+
+       # Lock file for writing.
+       flock FILE, 2;
+
+       # Check if BEHINDROUTER has been configured.
+       if ($settings{'BEHINDROUTER'} ne '') {
+               print FILE "BEHINDROUTER=$settings{'BEHINDROUTER'}\n";
+       }
+
+       # Close file after writing.
+       close(FILE);
+
+       # Update ddns config file.
+       &GenerateDDNSConfigFile();
 }
 
-#
-# Now manipulate the multi-line list with Settings2
 #
 # Toggle enable/disable field.  Field is in second position
+#
 if ($settings{'ACTION'} eq $Lang::tr{'toggle enable disable'}) {
-    #move out new line
-    chomp(@current[$settings{'KEY1'}]);
-    my @temp = split(/\,/,@current[$settings{'KEY1'}]);
-    my $K2=$settings{'KEY2'};
-    $temp[ $K2 ] = ( $temp[ $K2 ] eq 'on') ? '' : 'on';                # Toggle the field
-    @current[$settings{'KEY1'}] = join (',',@temp)."\n";
-    $settings{'KEY1'} = '';                                    # End edit mode
-    &General::log($Lang::tr{'ddns hostname modified'});
-
-    # Write changes to config file.
-    &WriteDataFile;                                            # sort newly added/modified entry
+       # Open /var/ipfire/ddns/config for writing.
+       open(FILE, ">$datafile") or die "Unable to open $datafile.";
+
+       # Lock file for writing.
+       flock FILE, 2;
+
+       my @temp;
+       my $id = 0;
+
+       # Read file line by line.
+       foreach my $line (@current) {
+               # Remove newlines.
+               chomp($line);
+
+               if ($settings{'ID'} eq $id) {
+                       # Splitt lines (splitting element is a single ",") and save values into temp array.
+                       @temp = split(/\,/,$line);
+
+                       # Check if we want to toggle ENABLED or WILDCARDS.
+                       if ($settings{'ENABLED'} ne '') {
+                               # Update ENABLED.
+                               print FILE "$temp[0],$temp[1],$temp[2],$temp[3],$temp[4],$temp[5],$temp[6],$settings{'ENABLED'}\n";
+                       }
+               } else {
+                       # Print unmodified line.
+                       print FILE "$line\n";
+               }
+
+               # Increase $id.
+               $id++;
+       }
+       undef $settings{'ID'};
+
+       # Close file after writing.
+       close(FILE);
+
+       # Write out logging notice.
+       &General::log($Lang::tr{'ddns hostname modified'});
+
+       # Update ddns config file.
+       &GenerateDDNSConfigFile();
 }
 
-if ($settings{'ACTION'} eq $Lang::tr{'add'}) {
-    # Validate inputs
-
-    unless ($settings{'LOGIN'} ne '') {
-       $errormessage = $Lang::tr{'username not set'};
-    }
-
-    # list box returns 'service optional synonyms'
-    # keep only first name
-    $settings{'SERVICE'} =~ s/ .*$//;
-    
-    # for freedns.afraid.org, only 'connect string' is mandatory
-    if ($settings{'SERVICE'} ne 'freedns.afraid.org') {
-       unless ($settings{'SERVICE'} eq 'regfish.com' || $settings{'PASSWORD'} ne '') {
-           $errormessage = $Lang::tr{'password not set'};
-       }
-       unless ($settings{'PASSWORD'} eq $settings{'PASSWORD2'}) {
-           $errormessage = $Lang::tr{'passwords do not match'};
-       }
-       
-       # Permit an empty HOSTNAME for the nsupdate, regfish, dyndns, enom, ovh, zoneedit, no-ip, easydns
-       #and namecheap
-        unless ($settings{'SERVICE'} eq 'zoneedit.com' || $settings{'SERVICE'} eq 'nsupdate' || 
-               $settings{'SERVICE'} eq 'dyndns-custom'|| $settings{'SERVICE'} eq 'regfish.com' || 
-               $settings{'SERVICE'} eq 'enom.com' || $settings{'SERVICE'} eq 'dnspark.com' ||
-               $settings{'SERVICE'} eq 'ovh.com' || $settings{'HOSTNAME'} ne '' ||
-               $settings{'SERVICE'} eq 'no-ip.com' || $settings{'SERVICE'} eq 'easydns.com'  ||
-               $settings{'SERVICE'} eq 'namecheap.com' )       {
-           $errormessage = $Lang::tr{'hostname not set'};
-       }
-       unless ($settings{'HOSTNAME'} eq '' || $settings{'HOSTNAME'} =~ /^[a-zA-Z_0-9-]+$/) {
-           $errormessage = $Lang::tr{'invalid hostname'};
-       }
-       unless ($settings{'DOMAIN'} ne '') {
-           $errormessage = $Lang::tr{'domain not set'};
-       }
-       unless ($settings{'DOMAIN'} =~ /^[a-zA-Z_0-9.-]+$/) { 
-           $errormessage = $Lang::tr{'invalid domain name'};
+#
+# Add new accounts, or edit existing ones.
+#
+if (($settings{'ACTION'} eq $Lang::tr{'add'}) || ($settings{'ACTION'} eq $Lang::tr{'update'})) {
+       # Check if a hostname has been given.
+       if ($settings{'HOSTNAME'} eq '') {
+               $errormessage = $Lang::tr{'hostname not set'};
        }
-       unless ($settings{'DOMAIN'} =~ /[.]/) {
-           $errormessage = $Lang::tr{'invalid domain name'};
+
+       # Check if a valid domainname has been provided.
+       if (!&General::validdomainname($settings{'HOSTNAME'})) {
+               $errormessage = $Lang::tr{'invalid domain name'};
        }
-    }
 
-    # recheck service wich don't need too much fields
-    if ($settings{'SERVICE'} eq 'cjb.net') {
-       $errormessage = ''; # clear previous error
-       unless ($settings{'LOGIN'} ne '') {
-           $errormessage = $Lang::tr{'username not set'};
+       # Check if a username has been sent.
+       if ($settings{'LOGIN'} eq '') {
+               $errormessage = $Lang::tr{'username not set'};
        }
-       unless ($settings{'PASSWORD'} ne '') {
-           $errormessage = $Lang::tr{'password not set'};
+
+       # Check if a password has been typed in.
+       # freedns.afraid.org does not require this field.
+       if (($settings{'PASSWORD'} eq '') && ($settings{'SERVICE'} ne 'freedns.afraid.org') && ($settings{'SERVICE'} ne 'regfish.com')) {
+               $errormessage = $Lang::tr{'password not set'};
        }
-       unless ($settings{'PASSWORD'} eq $settings{'PASSWORD2'}) {
-           $errormessage = $Lang::tr{'passwords do not match'};
+
+       # Go furter if there was no error.
+       if (!$errormessage) {
+               # Splitt hostname field into 2 parts for storrage.
+               my($hostname, $domain) = split(/\./, $settings{'HOSTNAME'}, 2);
+
+               # Handle enabled checkbox. When the checkbox is selected a "on" will be returned,
+               # if the checkbox is not checked nothing is returned in this case we set the value to "off".
+               if ($settings{'ENABLED'} ne 'on') {
+                       $settings{'ENABLED'} = 'off';
+               }
+
+               # Handle adding new accounts.
+               if ($settings{'ACTION'} eq $Lang::tr{'add'}) {
+                       # Open /var/ipfire/ddns/config for writing.
+                       open(FILE, ">>$datafile") or die "Unable to open $datafile.";
+
+                       # Lock file for writing.
+                       flock FILE, 2;
+
+                       # Add account data to the file.
+                       print FILE "$settings{'SERVICE'},$hostname,$domain,$settings{'PROXY'},$settings{'WILDCARDS'},$settings{'LOGIN'},$settings{'PASSWORD'},$settings{'ENABLED'}\n";
+
+                       # Close file after writing.
+                       close(FILE);
+
+                       # Write out notice to logfile.
+                       &General::log($Lang::tr{'ddns hostname added'});
+
+               # Handle account edditing.
+               } elsif ($settings{'ACTION'} eq $Lang::tr{'update'}) {
+                       # Open /var/ipfire/ddns/config for writing.
+                       open(FILE, ">$datafile") or die "Unable to open $datafile.";
+
+                       # Lock file for writing.
+                       flock FILE, 2;
+
+                       my $id = 0;
+
+                       # Read file line by line.
+                       foreach my $line (@current) {
+                               if ($settings{'ID'} eq $id) {
+                                       print FILE "$settings{'SERVICE'},$hostname,$domain,$settings{'PROXY'},$settings{'WILDCARDS'},$settings{'LOGIN'},$settings{'PASSWORD'},$settings{'ENABLED'}\n";
+                               } else {
+                                       print FILE "$line";
+                               }
+
+                               # Increase $id.
+                               $id++;
+                       }
+
+                       # Close file after writing.
+                       close(FILE);
+
+                       # Write out notice to logfile.
+                       &General::log($Lang::tr{'ddns hostname modified'});
+               }
+               undef $settings{'ID'};
+
+               # Update ddns config file.
+               &GenerateDDNSConfigFile();
        }
-    }
+}
 
-    unless ($errormessage) {
-       if ($settings{'KEY1'} eq '') { #add or edit ?
-           unshift (@current, "$settings{'SERVICE'},$settings{'HOSTNAME'},$settings{'DOMAIN'},$settings{'PROXY'},$settings{'WILDCARDS'},$settings{'LOGIN'},$settings{'PASSWORD'},$settings{'ENABLED'}\n");
-           &General::log($Lang::tr{'ddns hostname added'});
-       } else {
-           @current[$settings{'KEY1'}] = "$settings{'SERVICE'},$settings{'HOSTNAME'},$settings{'DOMAIN'},$settings{'PROXY'},$settings{'WILDCARDS'},$settings{'LOGIN'},$settings{'PASSWORD'},$settings{'ENABLED'}\n";
-           $settings{'KEY1'} = '';       # End edit mode
-           &General::log($Lang::tr{'ddns hostname modified'});
+#
+# Remove existing accounts.
+#
+if ($settings{'ACTION'} eq $Lang::tr{'remove'}) {
+       # Open /var/ipfire/ddns/config for writing.
+       open(FILE, ">$datafile") or die "Unable to open $datafile.";
+
+       # Lock file for writing.
+       flock FILE, 2;
+
+       my $id = 0;
+
+       # Read file line by line.
+       foreach my $line (@current) {
+               # Write back every line, except the one we want to drop
+               # (identified by the ID)
+               unless ($settings{'ID'} eq $id) {
+                       print FILE "$line";
+               }
+
+               # Increase id.
+               $id++;
        }
-       map ($settings{$_}='' ,@nosaved);       # Clear fields
-        # Write changes to config file.
-       &WriteDataFile;                         # sort newly added/modified entry
-    }
+       undef $settings{'ID'};
+
+       # Close file after writing.
+       close(FILE);
+
+       # Write out notice to logfile.
+       &General::log($Lang::tr{'ddns hostname removed'});
+
+       # Update ddns config file.
+       &GenerateDDNSConfigFile();
 }
 
+#
+# Read items for editing.
+#
 if ($settings{'ACTION'} eq $Lang::tr{'edit'}) {
-    #move out new line
-    my $line = @current[$settings{'KEY1'}];    # KEY1 is the index in current
-    chomp($line);
-    my @temp = split(/\,/, $line);
-    $settings{'SERVICE'}       = $temp[0];
-    $settings{'HOSTNAME'}      = $temp[1];
-    $settings{'DOMAIN'}                = $temp[2];
-    $settings{'PROXY'}         = $temp[3];
-    $settings{'WILDCARDS'}     = $temp[4];
-    $settings{'LOGIN'}         = $temp[5];
-    $settings{'PASSWORD'} = $settings{'PASSWORD2'} = $temp[6];
-    $settings{'ENABLED'}       = $temp[7];
-}
+       my $id = 0;
+       my @temp;
+
+       # Read file line by line.
+       foreach my $line (@current) {
+               if ($settings{'ID'} eq $id) {
+                       # Remove newlines.
+                       chomp($line);
+
+                       # Splitt lines (splitting element is a single ",") and save values into temp array.
+                       @temp = split(/\,/,$line);
+
+                       # Handle hostname details. Only connect the values with a dott if both are available.
+                       my $hostname;
+
+                       if (($temp[1]) && ($temp[2])) {
+                               $hostname = "$temp[1].$temp[2]";
+                       } else {
+                               $hostname = "$temp[1]";
+                       }
+
+                       $settings{'SERVICE'} = $temp[0];
+                       $settings{'HOSTNAME'} = $hostname;
+                       $settings{'PROXY'} = $temp[3];
+                       $settings{'WILDCARDS'} = $temp[4];
+                       $settings{'LOGIN'} = $temp[5];
+                       $settings{'PASSWORD'} = $temp[6];
+                       $settings{'ENABLED'} = $temp[7];
+               }
+
+               # Increase $id.
+               $id++;
+       }
 
-if ($settings{'ACTION'} eq $Lang::tr{'remove'}) {
-    splice (@current,$settings{'KEY1'},1);             # Delete line 
-    open(FILE, ">$datafile") or die 'ddns datafile error';
-    print FILE @current;
-    close(FILE);
-    $settings{'KEY1'} = '';                            # End remove mode
-    &General::log($Lang::tr{'ddns hostname removed'});
-    # Write changes to config file.
-    &WriteDataFile;
+       &GenerateDDNSConfigFile();
 }
 
+#
+# Handle forced updates.
+#
 if ($settings{'ACTION'} eq $Lang::tr{'instant update'}) {
-    system('/usr/local/bin/setddns.pl', '-f');
+    system(@ddnsprog) == 0 or die "@ddnsprog failed: $?\n";
 }
 
-
-if ($settings{'ACTION'} eq '')
-{
-    $settings{'SERVICE'} = 'dyndns.org';
-    $settings{'ENABLED'} = 'on';
+#
+# Set default values.
+#
+if (!$settings{'ACTION'}) {
+       $settings{'SERVICE'} = 'dyndns.org';
+       $settings{'ENABLED'} = 'on';
+       $settings{'ID'} = '';
 }
 
 &Header::openpage($Lang::tr{'dynamic dns'}, 1, '');
 &Header::openbigbox('100%', 'left', '', $errormessage);
 
-my %checked =();     # Checkbox manipulations
-$checked{'SERVICE'}{'all-inkl.com'} = '';
-$checked{'SERVICE'}{'cjb.net'} = '';
-$checked{'SERVICE'}{'dhs.org'} = '';
-$checked{'SERVICE'}{'dnspark.com'} = '';
-$checked{'SERVICE'}{'dns.lightningwirelabs.com'} = '';
-$checked{'SERVICE'}{'dtdns.com'} = '';
-$checked{'SERVICE'}{'dyndns.org'} = '';
-$checked{'SERVICE'}{'dyndns-custom'} = '';
-$checked{'SERVICE'}{'dyndns-static'} = '';
-$checked{'SERVICE'}{'dyns.cx'} = '';
-$checked{'SERVICE'}{'dynu.ca'} = '';
-$checked{'SERVICE'}{'easydns.com'} = '';
-$checked{'SERVICE'}{'enom.com'} = '';
-$checked{'SERVICE'}{'freedns.afraid.org'} = '';
-$checked{'SERVICE'}{'hn.org'} = '';
-$checked{'SERVICE'}{'namecheap.com'} = '';
-$checked{'SERVICE'}{'no-ip.com'} = '';
-$checked{'SERVICE'}{'nsupdate'} = '';
-$checked{'SERVICE'}{'ovh.com'} = '';
-$checked{'SERVICE'}{'regfish.com'} = '';
-$checked{'SERVICE'}{'selfhost.de'} = '';
-$checked{'SERVICE'}{'strato.com'} = '';
-$checked{'SERVICE'}{'tzo.com'} = '';
-$checked{'SERVICE'}{'zoneedit.com'} = '';
-$checked{'SERVICE'}{$settings{'SERVICE'}} = "selected='selected'";
+# Read file for general ddns settings.
+&General::readhash($settingsfile, \%settings);
 
+my %checked =();
 $checked{'BEHINDROUTER'}{'RED_IP'} = '';
 $checked{'BEHINDROUTER'}{'FETCH_IP'} = '';
 $checked{'BEHINDROUTER'}{$settings{'BEHINDROUTER'}} = "checked='checked'";
-$checked{'MINIMIZEUPDATES'} = ($settings{'MINIMIZEUPDATES'} eq '' ) ? '' : "checked='checked'";
 
-$checked{'PROXY'}{'on'} = ($settings{'PROXY'} eq '') ? '' : "checked='checked'";
-$checked{'WILDCARDS'}{'on'} = ($settings{'WILDCARDS'} eq '') ? '' : "checked='checked'";
-$checked{'ENABLED'}{'on'} = ($settings{'ENABLED'} eq '' ) ? '' : "checked='checked'";
+$checked{'ENABLED'}{'on'} = '';
+$checked{'ENABLED'}{'off'} = '';
+$checked{'ENABLED'}{$settings{'ENABLED'}} = "checked='checked'";
 
+# Show box for errormessages..
 if ($errormessage) {
     &Header::openbox('100%', 'left', $Lang::tr{'error messages'});
     print "<font class='base'>$errormessage&nbsp;</font>";
     &Header::closebox();
 }
 
-if ($warnmessage) {
-    $warnmessage = "<font color=${Header::colourred}><b>$Lang::tr{'capswarning'}</b></font>: $warnmessage";
-}
 &Header::openbox('100%', 'left', $Lang::tr{'settings'});
-print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>";
+
+##
+# Section for general ddns setup.
 print <<END
+<form method='post' action='$ENV{'SCRIPT_NAME'}'>
 <table width='100%'>
-<tr>
-        <td class='base'>$Lang::tr{'dyn dns source choice'}</td>
-</tr><tr>
-    <td class='base'><input type='radio' name='BEHINDROUTER' value='RED_IP' $checked{'BEHINDROUTER'}{'RED_IP'} />
-    $Lang::tr{'use ipfire red ip'}</td>
-</tr><tr>
-    <td class='base'><input type='radio' name='BEHINDROUTER' value='FETCH_IP' $checked{'BEHINDROUTER'}{'FETCH_IP'} />
-    $Lang::tr{'fetch ip from'} <img src='/blob.gif' alt='*' /></td>
-</tr>
-<tr>
-    <td class='base'><input type='checkbox' name='MINIMIZEUPDATES' $checked{'MINIMIZEUPDATES'} />
-    $Lang::tr{'ddns minimize updates'}</td>
-</tr>
+       <tr>
+               <td class='base'>$Lang::tr{'dyn dns source choice'}</td>
+       </tr>
+       <tr>
+               <td class='base'><input type='radio' name='BEHINDROUTER' value='RED_IP' $checked{'BEHINDROUTER'}{'RED_IP'} />
+               $Lang::tr{'use ipfire red ip'}</td>
+       </tr>
+       <tr>
+               <td class='base'><input type='radio' name='BEHINDROUTER' value='FETCH_IP' $checked{'BEHINDROUTER'}{'FETCH_IP'} />
+               $Lang::tr{'fetch ip from'}</td>
+       </tr>
 </table>
-<br /><hr />
-END
-;
+<br />
+<hr />
 
-print <<END
 <table width='100%'>
-<tr>
-    <td class='base' valign='top'><img src='/blob.gif' alt='*' /></td>
-    <td width='70%' class='base'>$Lang::tr{'avoid dod'}</td>
-    <td width='30%' align='right' valign='top' class='base'><input type='submit' name='ACTION' value='$Lang::tr{'save'}' /></td>
-</tr>
+       <tr>
+               <td align='right' valign='top' class='base'><input type='submit' name='ACTION' value='$Lang::tr{'save'}' /></td>
+       </tr>
 </table>
 </form>
 END
 ;
-&Header::closebox();   # end of Settings1
 
+&Header::closebox();
+
+##
+# Section to add or edit an existing entry.
 
+# Default is add.
 my $buttontext = $Lang::tr{'add'};
-if ($settings{'KEY1'} ne '') {
-    $buttontext = $Lang::tr{'update'};
-    &Header::openbox('100%', 'left', $Lang::tr{'edit an existing host'});
+
+# Change buttontext and headline if we edit an account.
+if ($settings{'ACTION'} eq $Lang::tr{'edit'}) {
+       # Rename button and print headline for updating.
+       $buttontext = $Lang::tr{'update'};
+       &Header::openbox('100%', 'left', $Lang::tr{'edit an existing host'});
 } else {
-    &Header::openbox('100%', 'left', $Lang::tr{'add a host'});
+       # Otherwise use default button text and show headline for adding a new account.
+       &Header::openbox('100%', 'left', $Lang::tr{'add a host'});
 }
 
-#Edited line number (KEY1) passed until cleared by 'save' or 'remove'
 print <<END
 <form method='post' action='$ENV{'SCRIPT_NAME'}'>
-<input type='hidden' name='KEY1' value='$settings{'KEY1'}' />
+<input type='hidden' name='ID' value='$settings{'ID'}' />
 <table width='100%'>
-<tr>
-    <td width='25%' class='base'>$Lang::tr{'service'}:</td>
-    <td width='25%'><select size='1' name='SERVICE'>
-    <option $checked{'SERVICE'}{'all-inkl.com'}>all-inkl.com</option>
-    <option $checked{'SERVICE'}{'cjb.net'}>cjb.net</option>
-    <option $checked{'SERVICE'}{'dhs.org'}>dhs.org</option>
-    <option $checked{'SERVICE'}{'dnspark.com'}>dnspark.com</option>
-    <option $checked{'SERVICE'}{'dns.lightningwirelabs.com'}>dns.lightningwirelabs.com</option>
-    <option $checked{'SERVICE'}{'dtdns.com'}>dtdns.com</option>
-    <option $checked{'SERVICE'}{'dyndns.org'}>dyndns.org</option>
-    <option $checked{'SERVICE'}{'dyndns-custom'}>dyndns-custom</option>
-    <option $checked{'SERVICE'}{'dyndns-static'}>dyndns-static</option>
-    <option $checked{'SERVICE'}{'dyns.cx'}>dyns.cx</option>
-    <option $checked{'SERVICE'}{'dynu.ca'}>dynu.ca dyn.ee dynserv.(ca|org|net|com)</option>
-    <option $checked{'SERVICE'}{'easydns.com'}>easydns.com</option>
-    <option $checked{'SERVICE'}{'enom.com'}>enom.com</option>
-    <option $checked{'SERVICE'}{'freedns.afraid.org'}>freedns.afraid.org</option>
-    <option $checked{'SERVICE'}{'hn.org'}>hn.org</option>
-       <option $checked{'SERVICE'}{'namecheap.com'}>namecheap.com</option>
-    <option $checked{'SERVICE'}{'no-ip.com'}>no-ip.com</option>
-    <option $checked{'SERVICE'}{'nsupdate'}>nsupdate</option>
-    <option $checked{'SERVICE'}{'ovh.com'}>ovh.com</option>
-    <option $checked{'SERVICE'}{'regfish.com'}>regfish.com</option>
-    <option $checked{'SERVICE'}{'selfhost.de'}>selfhost.de</option>
-    <option $checked{'SERVICE'}{'strato.com'}>strato.com</option>
-<!--    <option $checked{'SERVICE'}{'tzo.com'}>tzo.com</option>        comment this service out until a working fix is developed -->
-    <option $checked{'SERVICE'}{'zoneedit.com'}>zoneedit.com</option>
-    </select></td>
-    <td width='20%' class='base'>$Lang::tr{'hostname'}:&nbsp;<img src='/blob.gif' alt='*' /></td>
-    <td width='30%'><input type='text' name='HOSTNAME' value='$settings{'HOSTNAME'}' /></td>
-</tr><tr>
-    <td class='base'>$Lang::tr{'behind a proxy'}</td>
-    <td><input type='checkbox' name='PROXY' value='on' $checked{'PROXY'}{'on'} /></td>
-    <td class='base'>$Lang::tr{'domain'}:</td>
-    <td><input type='text' name='DOMAIN' value='$settings{'DOMAIN'}' /></td>
-</tr><tr>
-    <td class='base'>$Lang::tr{'enable wildcards'}</td>
-    <td><input type='checkbox' name='WILDCARDS' value='on' $checked{'WILDCARDS'}{'on'} /></td>
-    <td class='base'>$Lang::tr{'username'}</td>
-    <td><input type='text' name='LOGIN' value='$settings{'LOGIN'}' /></td>
-</tr><tr>
-    <td></td>
-    <td></td>
-    <td class='base'>$Lang::tr{'password'}</td>
-    <td><input type='password' name='PASSWORD' value='$settings{'PASSWORD'}' /></td>
-</tr><tr>
-    <td class='base'>$Lang::tr{'enabled'}</td>
-    <td><input type='checkbox' name='ENABLED' value='on' $checked{'ENABLED'}{'on'} /></td>
-    <td class='base'>$Lang::tr{'again'}</td>
-    <td><input type='password' name='PASSWORD2' value='$settings{'PASSWORD2'}' /></td>
-</tr>
+       <tr>
+               <td width='25%' class='base'>$Lang::tr{'service'}:</td>
+               <td width='25%'>
+END
+;
+               # Generate dropdown menu for service selection.
+               print"<select size='1' name='SERVICE'>\n";
+
+               my $selected;
+
+               # Loop to print the providerlist.
+               foreach my $provider (@providers) {
+                       # Check if the current provider needs to be selected.
+                       if ($provider eq $settings{'SERVICE'}) {
+                               $selected = 'selected';
+                       } else {
+                               $selected = "";
+                       }
+
+                       # Print out the HTML option field.
+                       print "<option value=\"$provider\" $selected>$provider</option>\n";
+               }
+
+               print"</select></td>\n";
+print <<END
+               <td width='20%' class='base'>$Lang::tr{'hostname'}:</td>
+               <td width='30%'><input type='text' name='HOSTNAME' value='$settings{'HOSTNAME'}' /></td>
+       </tr>
+
+       <tr>
+               <td class='base'>$Lang::tr{'enabled'}</td>
+               <td><input type='checkbox' name='ENABLED' $checked{'ENABLED'}{'on'} /></td>
+               <td class='base'>$Lang::tr{'username'}</td>
+               <td><input type='text' name='LOGIN' value='$settings{'LOGIN'}' /></td>
+       </tr>
+
+       <tr>
+               <td class='base'></td>
+               <td></td>
+               <td class='base'>$Lang::tr{'password'}</td>
+               <td><input type='password' name='PASSWORD' value='$settings{'PASSWORD'}' /></td>
+       </tr>
 </table>
 <br>
-<hr />
+<hr>
+
 <table width='100%'>
 <tr>
-    <td class='base' valign='top'><img src='/blob.gif' alt='*' /></td>
-    <td width='70%' class='base'>$ddnsprefix</td>
-    
     <td width='30%' align='right' class='base'>
-       <input type='hidden' name='ACTION' value='$Lang::tr{'add'}' />
-       <input type='submit' name='SUBMIT' value='$buttontext' />    </td>
+       <input type='hidden' name='ACTION' value='$buttontext'>
+       <input type='submit' name='SUBMIT' value='$buttontext'></td>
 </tr>
 </table>
 </form>
@@ -394,174 +467,270 @@ END
 ;
 &Header::closebox();
 
-#
-# Third box shows the list, in columns
-#
-&Header::openbox('100%', 'left', $Lang::tr{'current hosts'});
-print <<END
-<table width='100%' class='tbl'>
-<tr>
-    <th width='15%' align='center' class='boldbase'><b>$Lang::tr{'service'}</b></th>
-    <th width='25%' align='center' class='boldbase'><b>$Lang::tr{'hostname'}</b></th>
-    <th width='30%' align='center' class='boldbase'><b>$Lang::tr{'domain'}</b></th>
-    <th width='10%' align='center' class='boldbase'><b>$Lang::tr{'proxy'}</b></th>
-    <th width='10%' align='center' class='boldbase'><b>$Lang::tr{'wildcards'}</b></th>
-    <th width='10%' colspan='3' class='boldbase' align='center'><b>$Lang::tr{'action'}</b></th>
-</tr>
-END
-;
-my $ip = &General::GetDyndnsRedIP;
-my $key = 0;
-foreach my $line (@current) {
-    chomp($line);                              # remove newline
-    my @temp = split(/\,/,$line);
-
-    if ($temp[0] eq 'no-ip.com') {
-       $temp[1] =~ s!$General::noipprefix(.*)!<b>group:</b>$1 !;
-    } 
-
-    #Choose icon for checkbox
-
-    my $gifproxy='';
-    my $descproxy='';
-    if ($temp[3] eq "on") {
-       $gifproxy = 'on.gif';
-       $descproxy = $Lang::tr{'click to disable'};
-    } else {
-       $gifproxy = 'off.gif';
-       $descproxy = $Lang::tr{'click to enable'};
-    }
-
-    my $gifwildcard='';
-    my $descwildcard='';
-    if ($temp[4] eq "on") {
-       $gifwildcard = 'on.gif';
-       $descwildcard = $Lang::tr{'click to disable'};
-    } else {
-       $gifwildcard = 'off.gif';
-       $descwildcard = $Lang::tr{'click to enable'}; 
-    }
-
-    my $sync = "<font color='blue'>";
-    my $gif = '';
-    my $gdesc = '';
-    if ($temp[7] eq "on") {
-       $gif = 'on.gif';
-       $gdesc = $Lang::tr{'click to disable'};
-        $sync = (&General::DyndnsServiceSync ($ip,$temp[1], $temp[2]) ? "<font color='green'>": "<font color='red'>") ;
-    } else {
-       $gif = 'off.gif';
-       $gdesc = $Lang::tr{'click to enable'};
-    }
-
-       my $col="";
-    #Colorize each line
-    if ($settings{'KEY1'} eq $key) {
-       print "<tr>";
-       $col="bgcolor='${Header::colouryellow}'";
-    } elsif ($key % 2) {
-       print "<tr>";
-       $col="bgcolor='$color{'color20'}'";
-    } else {
-       print "<tr>";
-       $col="bgcolor='$color{'color22'}'";
-    }
-
-    #if a field is empty, replace it with a '---' to see colorized info!
-    $temp[1] = '---' if (!$temp[1]);
-    $temp[2] = '---' if (!$temp[2]);
-
-    print <<END
-<td align='center' $col><a href='http://$temp[0]'>$temp[0]</a></td>
-<td align='center' $col>$sync$temp[1]</td>
-<td align='center' $col>$sync$temp[2]</td>
-
-<td align='center' $col>
-<form method='post' action='$ENV{'SCRIPT_NAME'}'>
-<input type='hidden' name='ACTION' value='$Lang::tr{'toggle enable disable'}' />
-<input type='image' name='$Lang::tr{'toggle enable disable'}' src='/images/$gifproxy' alt='$descproxy' title='$descproxy' />
-<input type='hidden' name='KEY1' value='$key' />
-<input type='hidden' name='KEY2' value='3' />
-</form>
-</td>
+##
+# Third section, display all created ddns hosts.
+# Re-open file to get changes.
+open(FILE, $datafile) or die "Unable to open $datafile.";
+@current = <FILE>;
+close(FILE);
 
-<td align='center' $col>
-<form method='post' action='$ENV{'SCRIPT_NAME'}'>
-<input type='hidden' name='ACTION' value='$Lang::tr{'toggle enable disable'}' />
-<input type='image' name='$Lang::tr{'toggle enable disable'}' src='/images/$gifwildcard' alt='$descwildcard' title='$descwildcard' />
-<input type='hidden' name='KEY1' value='$key' />
-<input type='hidden' name='KEY2' value='4' />
-</form>
-</td>
+# Get IP address of the red interface.
+my $ip = &General::GetDyndnsRedIP();
+my $id = 0;
+my $toggle_enabled;
 
-<td align='center' $col>
-<form method='post' action='$ENV{'SCRIPT_NAME'}'>
-<input type='hidden' name='ACTION' value='$Lang::tr{'toggle enable disable'}' />
-<input type='image' name='$Lang::tr{'toggle enable disable'}' src='/images/$gif' alt='$gdesc' title='$gdesc' />
-<input type='hidden' name='KEY1' value='$key' />
-<input type='hidden' name='KEY2' value='7' />
-</form>
-</td>
+if (@current) {
+       &Header::openbox('100%', 'left', $Lang::tr{'current hosts'});
 
-<td align='center' $col>
-<form method='post' action='$ENV{'SCRIPT_NAME'}'>
-<input type='hidden' name='ACTION' value='$Lang::tr{'edit'}' />
-<input type='image' name='$Lang::tr{'edit'}' src='/images/edit.gif' alt='$Lang::tr{'edit'}' title='$Lang::tr{'edit'}' />
-<input type='hidden' name='KEY1' value='$key' />
-</form>
-</td>
+       print <<END;
+<table width='100%' class='tbl'>
+       <tr>
+               <th width='30%' align='center' class='boldbase'><b>$Lang::tr{'service'}</b></th>
+               <th width='50%' align='center' class='boldbase'><b>$Lang::tr{'hostname'}</b></th>
+               <th width='20%' colspan='3' class='boldbase' align='center'><b>$Lang::tr{'action'}</b></th>
+       </tr>
+END
 
-<td align='center' $col>
-<form method='post' action='$ENV{'SCRIPT_NAME'}'>
-<input type='hidden' name='ACTION' value='$Lang::tr{'remove'}' />
-<input type='image' name='$Lang::tr{'remove'}' src='/images/delete.gif' alt='$Lang::tr{'remove'}' title='$Lang::tr{'remove'}' />
-<input type='hidden' name='KEY1' value='$key' />
-</form>
-</td>
+       foreach my $line (@current) {
+               # Remove newlines.
+               chomp(@current);
+               my @temp = split(/\,/,$line);
+
+               # Handle hostname details. Only connect the values with a dott if both are available.
+               my $hostname="";
+
+               if (($temp[1]) && ($temp[2])) {
+                       $hostname="$temp[1].$temp[2]";
+               } else {
+                       $hostname="$temp[1]";
+               }
+
+               # Generate value for enable/disable checkbox.
+               my $sync = '';
+               my $gif = '';
+               my $gdesc = '';
+
+               if ($temp[7] eq "on") {
+                       $gif = 'on.gif';
+                       $gdesc = $Lang::tr{'click to disable'};
+
+                       # Check if the given hostname is a FQDN before doing a nslookup.
+                       if (&General::validfqdn($hostname)) {
+                               $sync = (&General::DyndnsServiceSync ($ip,$temp[1], $temp[2]) ? "<font color='green'>": "<font color='red'>") ;
+                       }
+
+                       $toggle_enabled = 'off';
+               } else {
+                       $sync = "<font color='blue'>";
+                       $gif = 'off.gif';
+                       $gdesc = $Lang::tr{'click to enable'};
+                       $toggle_enabled = 'on';
+               }
+
+               # Background color.
+               my $col="";
+
+               if ($settings{'ID'} eq $id) {
+                       $col="bgcolor='${Header::colouryellow}'";
+               } elsif (!($temp[0] ~~ @providers)) {
+                       $col="bgcolor='#FF4D4D'";
+               } elsif ($id % 2) {
+                       $col="bgcolor='$color{'color20'}'";
+               } else {
+                       $col="bgcolor='$color{'color22'}'";
+               }
+
+               # Handle hostname details. Only connect the values with a dott if both are available.
+               my $hostname="";
+
+               if (($temp[1]) && ($temp[2])) {
+                       $hostname="$temp[1].$temp[2]";
+               } else {
+                       $hostname="$temp[1]";
+               }
+
+               # The following HTML Code still is part of the loop.
+               print <<END;
+<tr>
+       <td align='center' $col><a href='http://$temp[0]'>$temp[0]</a></td>
+       <td align='center' $col>$sync$hostname</td>
+
+       <td align='center' $col><form method='post' action='$ENV{'SCRIPT_NAME'}'>
+               <input type='hidden' name='ID' value='$id'>
+               <input type='hidden' name='ENABLED' value='$toggle_enabled'>
+               <input type='hidden' name='ACTION' value='$Lang::tr{'toggle enable disable'}' />
+               <input type='image' name='$Lang::tr{'toggle enable disable'}' src='/images/$gif' alt='$gdesc' title='$gdesc' />
+       </form></td>
+
+       <td align='center' $col><form method='post' action='$ENV{'SCRIPT_NAME'}'>
+               <input type='hidden' name='ID' value='$id'>
+               <input type='hidden' name='ACTION' value='$Lang::tr{'edit'}' />
+               <input type='image' name='$Lang::tr{'edit'}' src='/images/edit.gif' alt='$Lang::tr{'edit'}' title='$Lang::tr{'edit'}' />
+       </form></td>
+
+       <td align='center' $col><form method='post' action='$ENV{'SCRIPT_NAME'}'>
+               <input type='hidden' name='ID' value='$id'>
+               <input type='hidden' name='ACTION' value='$Lang::tr{'remove'}' />
+               <input type='image' name='$Lang::tr{'remove'}' src='/images/delete.gif' alt='$Lang::tr{'remove'}' title='$Lang::tr{'remove'}' />
+       </form></td>
 </tr>
 END
-;
-    $key++;
-}
-print "</table>";
+               $id++;
+       }
 
-# If table contains entries, print 'Key to action icons'
-if ($key) {
-print <<END
+       print <<END;
+</table>
 <table width='100%'>
-<tr>
-    <td class='boldbase'>&nbsp;<b>$Lang::tr{'legend'}:&nbsp;</b></td>
-    <td><img src='/images/on.gif' alt='$Lang::tr{'click to disable'}' /></td>
-    <td class='base'>$Lang::tr{'click to disable'}</td>
-    <td>&nbsp;&nbsp;</td>
-    <td><img src='/images/off.gif' alt='$Lang::tr{'click to enable'}' /></td>
-    <td class='base'>$Lang::tr{'click to enable'}</td>
-    <td>&nbsp;&nbsp;</td>
-    <td><img src='/images/edit.gif' alt='$Lang::tr{'edit'}' /></td>
-    <td class='base'>$Lang::tr{'edit'}</td>
-    <td>&nbsp;&nbsp;</td>
-    <td><img src='/images/delete.gif' alt='$Lang::tr{'remove'}' /></td>
-    <td class='base'>$Lang::tr{'remove'}</td>
-    <form method='post' action='$ENV{'SCRIPT_NAME'}'>
-        <td align='right' width='30%'><input type='submit' name='ACTION' value='$Lang::tr{'instant update'}' /></td>
-    </form>
-</tr>
+       <tr>
+               <td class='boldbase'>&nbsp;<b>$Lang::tr{'legend'}:&nbsp;</b></td>
+               <td><img src='/images/on.gif' alt='$Lang::tr{'click to disable'}' /></td>
+               <td class='base'>$Lang::tr{'click to disable'}</td>
+               <td>&nbsp;&nbsp;</td>
+               <td><img src='/images/off.gif' alt='$Lang::tr{'click to enable'}' /></td>
+               <td class='base'>$Lang::tr{'click to enable'}</td>
+               <td>&nbsp;&nbsp;</td>
+               <td><img src='/images/edit.gif' alt='$Lang::tr{'edit'}' /></td>
+               <td class='base'>$Lang::tr{'edit'}</td>
+               <td>&nbsp;&nbsp;</td>
+               <td><img src='/images/delete.gif' alt='$Lang::tr{'remove'}' /></td>
+               <td class='base'>$Lang::tr{'remove'}</td>
+               <form method='post' action='$ENV{'SCRIPT_NAME'}'>
+                       <td align='right' width='30%'><input type='submit' name='ACTION' value='$Lang::tr{'instant update'}' /></td>
+               </form>
+       </tr>
 </table>
 END
-;
+
+       &Header::closebox();
 }
 
-&Header::closebox();
 &Header::closebigbox();
 &Header::closepage();
 
-## Ouf it's the end !
+# Function to generate the required configuration file for the DDNS tool.
+sub GenerateDDNSConfigFile {
+       # Open datafile file
+       open(SETTINGS, "<$datafile") or die "Could not open $datafile.";
+
+       open(FILE, ">${General::swroot}/ddns/ddns.conf");
+
+       # Global configuration options.
+       print FILE "[config]\n";
+
+       # Check if we guess our IP address by an extranal server.
+       if ($settings{'BEHINDROUTER'} eq "FETCH_IP") {
+               print FILE "guess_external_ip = true\n";
+       } else {
+               print FILE "guess_external_ip = false\n";
+       }
+
+       # Use an upstream proxy and generate proxy url.
+       my %proxysettings;
+       &General::readhash("${General::swroot}/proxy/settings", \%proxysettings);
+       if ($proxysettings{'UPSTREAM_PROXY'}) {
+               my $proxy_string = "http://";
+
+               if ($proxysettings{'UPSTREAM_USER'} && $proxysettings{'UPSTREAM_PASSWORD'}) {
+                       $proxy_string .= "$proxysettings{'UPSTREAM_USER'}:$proxysettings{'UPSTREAM_PASSWORD'}@";
+               }
+
+               $proxy_string .= $proxysettings{'UPSTREAM_PROXY'};
+
+               print FILE "proxy = $proxy_string\n";
+       }
+
+       print FILE "\n";
+
+       while (<SETTINGS>) {
+               my $line = $_;
+               chomp($line);
+
+               # Generate array based on the line content (seperator is a single or multiple space's)
+               my @settings = split(/,/, $line);
+               my ($provider, $hostname, $domain, $proxy, $wildcards, $username, $password, $enabled) = @settings;
+
+               # Skip entries if they are not (longer) supported.
+               next unless ($provider ~~ @providers);
+
+               # Skip disabled entries.
+               next unless ($enabled eq "on");
+
+               # Handle hostname details. Only connect the values with a dott if both are available.
+               if (($hostname) && ($domain)) {
+                       print FILE "[$hostname.$domain]\n";
+               } else {
+                       print FILE "[$hostname]\n";
+               }
+
+               print FILE "provider = $provider\n";
+
+               my $use_token = 0;
+
+               # Handle token based auth for various providers.
+               if ($provider ~~ ["dns.lightningwirelabs.com", "entrydns.net", "regfish.com"] && $username eq "token") {
+                       $use_token = 1;
+
+               # Handle token auth for freedns.afraid.org and regfish.com.
+               } elsif ($provider ~~ ["freedns.afraid.org", "regfish.com"] && $password eq "") {
+                       $use_token = 1;
+                       $password = $username;
+
+               # Handle keys for nsupdate
+               } elsif (($provider eq "nsupdate") && $username && $password) {
+                       print FILE "key = $username\n";
+                       print FILE "secret = $password\n";
+
+                       $username = "";
+                       $password = "";
+
+               # Handle keys for nsupdate.info
+               } elsif (($provider eq "nsupdate.info") && $password) {
+                       print FILE "secret = $password\n";
+
+                       $username = "";
+                       $password = "";
+               }
+
+               # Write auth details.
+               if ($use_token) {
+                       print FILE "token = $password\n";
+               } elsif ($username && $password) {
+                       print FILE "username = $username\n";
+                       print FILE "password = $password\n";
+               }
+
+               # These providers need to be set to only use IPv4.
+               if ($provider ~~ ["freedns.afraid.org", "nsupdate.info", "opendns.com", "variomedia.de", "zoneedit.com"]) {
+                       print FILE "proto = ipv4\n";
+               }
+
+               print FILE "\n";
+       }
+
+       close(SETTINGS);
+       close(FILE);
+}
+
+# Function which generates an array (@providers) which contains the supported providers.
+sub GetProviders {
+       # Get supported providers.
+       open(PROVIDERS, "/usr/bin/ddns list-providers |");
+
+       # Create new array to store the providers.
+       my @providers = ();
+
+       while (<PROVIDERS>) {
+               my $provider = $_;
+
+               # Remove following newlines.
+               chomp($provider);
+
+               # Add provider to the array.
+               push(@providers, $provider);
+       }
 
+       close(PROVIDERS);
 
-# write the "current" array
-sub WriteDataFile {
-    #Save current
-    open(FILE, ">$datafile") or die 'ddns datafile error';
-    print FILE @current;
-    close (FILE);
+       # Return our array.
+       return @providers;
 }
index eeb83ac127bc216b3e7c10e7568c1c82cab7bdb4..1f96336a6b4d9b964b80572504aeacf5089c5cf3 100644 (file)
@@ -292,25 +292,25 @@ if ($fwhostsettings{'ACTION'} eq 'savenet' )
                }
                if($fwhostsettings{'error'} ne 'on'){
                        #check if we use one of ipfire's networks (green,orange,blue)
-                       if (($ownnet{'GREEN_NETADDRESS'}        ne '' && $ownnet{'GREEN_NETADDRESS'}    ne '0.0.0.0') && &General::IpInSubnet($fwhostsettings{'IP'},$ownnet{'GREEN_NETADDRESS'},$ownnet{'GREEN_NETMASK'}))
+                       if (($ownnet{'GREEN_NETADDRESS'}        ne '' && $ownnet{'GREEN_NETADDRESS'}    ne '0.0.0.0') && ($fwhostsettings{'IP'} eq $ownnet{'GREEN_NETADDRESS'} && $fwhostsettings{'SUBNET'} eq $ownnet{'GREEN_NETMASK'}))
                        { 
                                $errormessage=$errormessage.$Lang::tr{'ccd err green'}."<br>";
                                $fwhostsettings{'HOSTNAME'} = $fwhostsettings{'orgname'};
                                if ($fwhostsettings{'update'} eq 'on'){$fwhostsettings{'ACTION'}='editnet';}
                        }
-                       if (($ownnet{'ORANGE_NETADDRESS'}       ne '' && $ownnet{'ORANGE_NETADDRESS'}   ne '0.0.0.0') && &General::IpInSubnet($fwhostsettings{'IP'},$ownnet{'ORANGE_NETADDRESS'},$ownnet{'ORANGE_NETMASK'}))
+                       if (($ownnet{'ORANGE_NETADDRESS'}       ne '' && $ownnet{'ORANGE_NETADDRESS'}   ne '0.0.0.0') && ($fwhostsettings{'IP'} eq $ownnet{'ORANGE_NETADDRESS'} && $fwhostsettings{'SUBNET'} eq $ownnet{'ORANGE_NETMASK'}))
                        { 
                                $errormessage=$errormessage.$Lang::tr{'ccd err orange'}."<br>";
                                $fwhostsettings{'HOSTNAME'} = $fwhostsettings{'orgname'};
                                if ($fwhostsettings{'update'} eq 'on'){$fwhostsettings{'ACTION'}='editnet';}
                        }
-                       if (($ownnet{'BLUE_NETADDRESS'}         ne '' && $ownnet{'BLUE_NETADDRESS'}     ne '0.0.0.0') && &General::IpInSubnet($fwhostsettings{'IP'},$ownnet{'BLUE_NETADDRESS'},$ownnet{'BLUE_NETMASK'}))
+                       if (($ownnet{'BLUE_NETADDRESS'}         ne '' && $ownnet{'BLUE_NETADDRESS'}     ne '0.0.0.0') && ($fwhostsettings{'IP'} eq $ownnet{'BLUE_NETADDRESS'} && $fwhostsettings{'SUBNET'} eq $ownnet{'BLUE_NETMASK'}))
                        { 
                                $errormessage=$errormessage.$Lang::tr{'ccd err blue'}."<br>";
                                $fwhostsettings{'HOSTNAME'} = $fwhostsettings{'orgname'};
                                if ($fwhostsettings{'update'} eq 'on'){$fwhostsettings{'ACTION'}='editnet';}
                        }
-                       if (($ownnet{'RED_NETADDRESS'}  ne '' && $ownnet{'RED_NETADDRESS'}              ne '0.0.0.0') && &General::IpInSubnet($fwhostsettings{'IP'},$ownnet{'RED_NETADDRESS'},$ownnet{'RED_NETMASK'}))
+                       if (($ownnet{'RED_NETADDRESS'}  ne '' && $ownnet{'RED_NETADDRESS'}              ne '0.0.0.0') && ($fwhostsettings{'IP'} eq $ownnet{'RED_NETADDRESS'} && $fwhostsettings{'SUBNET'} eq $ownnet{'RED_NETMASK'}))
                        { 
                                $errormessage=$errormessage.$Lang::tr{'ccd err red'}."<br>";
                                $fwhostsettings{'HOSTNAME'} = $fwhostsettings{'orgname'};
index 55e2645061c659ba7406cd83d5e39ad25258a63a..ff72b7894b2457754a55021124a0d78e396599b5 100644 (file)
@@ -263,11 +263,11 @@ if (-e "/etc/snort/snort.conf") {
 #######################  End added for snort rules control  #################################
 
 if ($snortsettings{'RULES'} eq 'subscripted') {
-       $url=" http://www.snort.org/sub-rules/snortrules-snapshot-2953.tar.gz/$snortsettings{'OINKCODE'}";
+       $url=" https://www.snort.org/rules/snortrules-snapshot-2961.tar.gz?oinkcode=$snortsettings{'OINKCODE'}";
 } elsif ($snortsettings{'RULES'} eq 'registered') {
-       $url=" http://www.snort.org/reg-rules/snortrules-snapshot-2950.tar.gz/$snortsettings{'OINKCODE'}";
+       $url=" https://www.snort.org/rules/snortrules-snapshot-2961.tar.gz?oinkcode=$snortsettings{'OINKCODE'}";
 } elsif ($snortsettings{'RULES'} eq 'community') {
-       $url=" http://s3.amazonaws.com/snort-org/www/rules/community/community-rules.tar.gz";
+       $url=" https://www.snort.org/rules/community";
 } else {
        $url="http://rules.emergingthreats.net/open/snort-2.9.0/emerging.rules.tar.gz";
 }
index af142790870b24eebcb8edc80cbce4415149f195..3a774f92298f198b50ebf82c61b81a83967cd75e 100644 (file)
@@ -283,12 +283,14 @@ END
 &Header::openbox('100%', 'left', 'Firewall Logs');
 print "<p><b>$Lang::tr{'firewall hits'} $longmonthstr $daystr: $lines</b></p>";
 
+my $red_interface = &General::get_red_interface();
 my $linesjc = 0;
 my %tabjc;
 my $gi = Geo::IP::PurePerl->new();
 
 if ($pienumber == -1 || $pienumber > $lines || $sortcolumn == 2) { $pienumber = $lines; };
 $lines = 0;
+
 foreach $_ (@log)
 {
   /^... (..) (..:..:..) [\w\-]+ kernel:(.*)(IN=.*)$/;
@@ -296,7 +298,7 @@ foreach $_ (@log)
   $packet =~ /IN=(\w+)/;       my $iface=$1; if ( $1 =~ /2./ ){ $iface="";}
   $packet =~ /SRC=([\d\.]+)/;  my $srcaddr=$1;
 
-  if($iface eq 'red0') {
+  if($iface eq $red_interface) {
     if($srcaddr ne '') {
       my $ccode = $gi->country_code_by_name($srcaddr);
       if( $ccode eq '') {
index dacd518a142a6fcb9ebef99e6f8e22aa3fc5c7b2..1813862fe0eeacc15266f95feb0c0b4ff469f2b5 100644 (file)
@@ -51,6 +51,7 @@ $cgiparams{'SECTION'} = 'ipfire';
 my %sections = (
         'ipfire' => '(ipfire: )',
         'red' => '(red:|pppd\[.*\]: |chat\[.*\]|pppoe\[.*\]|pptp\[.*\]|pppoa\[.*\]|pppoa3\[.*\]|pppoeci\[.*\]|ipppd|ipppd\[.*\]|kernel: ippp\d|kernel: isdn.*|ibod\[.*\]|dhcpcd\[.*\]|modem_run\[.*\])',
+        'ddns' => '(ddns\[\d+\]:)',
         'dns' => '(dnsmasq\[.*\]: )',
         'dhcp' => '(dhcpd: )',
         'clamav' => '(clamd\[.*\]: |freshclam\[.*\]: )',
@@ -70,6 +71,7 @@ my %sections = (
 my %trsections = (
         'ipfire' => 'IPFire',
         'red' => 'RED',
+        'ddns' => $Lang::tr{'dynamic dns'},
         'dns' => 'DNS',
         'dhcp' => "$Lang::tr{'dhcp server'}",
         'cron' => 'Cron',
old mode 100755 (executable)
new mode 100644 (file)
index d278c77..2d33a3d
@@ -2,7 +2,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2008  Michael Tremer & Christian Schmidt                      #
+# Copyright (C) 2007-2014  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
index 156ef2418c604f429f66390e9ef136aa267e1eaa..299612d4c799051bd7958eae685db19230edf14d 100644 (file)
@@ -76,6 +76,86 @@ if ( $querry[0] ne~ ""){
                &Header::closebox();
        }
 
+       ## DNSSEC
+       my @nameservers = ();
+       foreach my $f ("${General::swroot}/red/dns1", "${General::swroot}/red/dns2") {
+               open(DNS, "<$f");
+               my $nameserver = <DNS>;
+               close(DNS);
+
+               chomp($nameserver);
+               if ($nameserver) {
+                       push(@nameservers, $nameserver);
+               }
+       }
+
+       &Header::openbox('100%', 'center', $Lang::tr{'dnssec information'});
+
+       print <<END;
+               <table class="tbl" width='66%'>
+                       <thead>
+                               <tr>
+                                       <th align="center">
+                                               <strong>$Lang::tr{'nameserver'}</strong>
+                                       </th>
+                                       <th align="center">
+                                               <strong>$Lang::tr{'status'}</strong>
+                                       </th>
+                               </tr>
+                       </thead>
+                       <tbody>
+END
+
+       my $id = 0;
+       for my $nameserver (@nameservers) {
+               my $status = &check_dnssec($nameserver, "ping.ipfire.org");
+
+               my $colour = "";
+               my $bgcolour = "";
+               my $message = "";
+
+               # DNSSEC Not supported
+               if ($status == 0) {
+                       $message = $Lang::tr{'dnssec not supported'};
+                       $colour = "white";
+                       $bgcolour = ${Header::colourred};
+
+               # DNSSEC Aware
+               } elsif ($status == 1) {
+                       $message = $Lang::tr{'dnssec aware'};
+                       $colour = "black";
+                       $bgcolour = ${Header::colouryellow};
+
+               # DNSSEC Validating
+               } elsif ($status == 2) {
+                       $message = $Lang::tr{'dnssec validating'};
+                       $colour = "white";
+                       $bgcolour = ${Header::colourgreen};
+
+               # Error
+               } else {
+                       $colour = ${Header::colourred};
+               }
+
+               my $table_colour = ($id++ % 2) ? $color{'color22'} : $color{'color20'};
+
+               print <<END;
+                       <tr bgcolor="$table_colour">
+                               <td>$nameserver</td>
+                               <td bgcolor="$bgcolour" align="center">
+                                       <font color="$colour"><strong>$message</strong></font>
+                               </td>
+                       </tr>
+END
+       }
+
+       print <<END;
+                       </tbody>
+               </table>
+END
+
+       &Header::closebox();
+
        if ( $netsettings{'CONFIG_TYPE'} =~ /^(1|2|3|4)$/  && $netsettings{'RED_TYPE'} eq "DHCP"){
 
                &Header::openbox('100%', 'left', "RED $Lang::tr{'dhcp configuration'}");
@@ -161,4 +241,33 @@ END
 
        &Header::closebigbox();
        &Header::closepage();
-}      
+}
+
+sub check_dnssec($$) {
+       my $nameserver = shift;
+       my $record = shift;
+
+       my @command = ("dig", "+dnssec", $record, "\@$nameserver");
+
+       my @output = qx(@command);
+       my $output = join("", @output);
+
+       my $status = 0;
+       if ($output =~ m/status: (\w+)/) {
+               $status = ($1 eq "NOERROR");
+
+               if (!$status) {
+                       return -1;
+               }
+       }
+
+       my @flags = ();
+       if ($output =~ m/flags: (.*);/) {
+               @flags = split(/ /, $1);
+       }
+
+       my $aware = ($output =~ m/RRSIG/);
+       my $validating = ("ad" ~~ @flags);
+
+       return $aware + $validating;
+}
index 00fa1b45a253c7637805b357e9314e7d184ff2b0..34e0cdcabac6a8bb037faa65441f6d36226034a5 100644 (file)
@@ -70,6 +70,17 @@ if ($errormessage) {
         &Header::closebox();
 }
 
+# Set new defaults
+if (!$settings{'MASQUERADE_GREEN'}) {
+       $settings{'MASQUERADE_GREEN'} = 'on';
+}
+if (!$settings{'MASQUERADE_ORANGE'}) {
+       $settings{'MASQUERADE_ORANGE'} = 'on';
+}
+if (!$settings{'MASQUERADE_BLUE'}) {
+       $settings{'MASQUERADE_BLUE'} = 'on';
+}
+
 $checked{'DROPNEWNOTSYN'}{'off'} = '';
 $checked{'DROPNEWNOTSYN'}{'on'} = '';
 $checked{'DROPNEWNOTSYN'}{$settings{'DROPNEWNOTSYN'}} = "checked='checked'";
@@ -112,12 +123,69 @@ $checked{'SHOWDROPDOWN'}{$settings{'SHOWDROPDOWN'}} = "checked='checked'";
 $selected{'FWPOLICY'}{$settings{'FWPOLICY'}}= 'selected';
 $selected{'FWPOLICY1'}{$settings{'FWPOLICY1'}}= 'selected';
 $selected{'FWPOLICY2'}{$settings{'FWPOLICY2'}}= 'selected';
+$selected{'MASQUERADE_GREEN'}{'off'} = '';
+$selected{'MASQUERADE_GREEN'}{'on'} = '';
+$selected{'MASQUERADE_GREEN'}{$settings{'MASQUERADE_GREEN'}} = 'selected="selected"';
+$selected{'MASQUERADE_ORANGE'}{'off'} = '';
+$selected{'MASQUERADE_ORANGE'}{'on'} = '';
+$selected{'MASQUERADE_ORANGE'}{$settings{'MASQUERADE_ORANGE'}} = 'selected="selected"';
+$selected{'MASQUERADE_BLUE'}{'off'} = '';
+$selected{'MASQUERADE_BLUE'}{'on'} = '';
+$selected{'MASQUERADE_BLUE'}{$settings{'MASQUERADE_BLUE'}} = 'selected="selected"';
 
 &Header::openbox('100%', 'center',);
 print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>";
 
-print <<END
+print <<END;
 <form method='post' action='$ENV{'SCRIPT_NAME'}'>
+       <table width='95%' cellspacing='0'>
+               <tr bgcolor='$color{'color20'}'>
+                       <td colspan='2' align='left'><b>$Lang::tr{'masquerading'}</b></td>
+               </tr>
+               <tr>
+                       <td align='left' width='60%'>$Lang::tr{'masquerade green'}</td>
+                       <td>
+                               <select name='MASQUERADE_GREEN'>
+                                       <option value='on' $selected{'MASQUERADE_GREEN'}{'on'}>$Lang::tr{'masquerading enabled'}</option>
+                                       <option value='off' $selected{'MASQUERADE_GREEN'}{'off'}>$Lang::tr{'masquerading disabled'}</option>
+                               </select>
+                       </td>
+               </tr>
+END
+
+       if (&Header::orange_used()) {
+               print <<END;
+                       <tr>
+                               <td align='left' width='60%'>$Lang::tr{'masquerade orange'}</td>
+                               <td>
+                                       <select name='MASQUERADE_ORANGE'>
+                                               <option value='on' $selected{'MASQUERADE_ORANGE'}{'on'}>$Lang::tr{'masquerading enabled'}</option>
+                                               <option value='off' $selected{'MASQUERADE_ORANGE'}{'off'}>$Lang::tr{'masquerading disabled'}</option>
+                                       </select>
+                               </td>
+                       </tr>
+END
+       }
+
+       if (&Header::blue_used()) {
+               print <<END;
+                       <tr>
+                               <td align='left' width='60%'>$Lang::tr{'masquerade blue'}</td>
+                               <td>
+                                       <select name='MASQUERADE_BLUE'>
+                                               <option value='on' $selected{'MASQUERADE_BLUE'}{'on'}>$Lang::tr{'masquerading enabled'}</option>
+                                               <option value='off' $selected{'MASQUERADE_BLUE'}{'off'}>$Lang::tr{'masquerading disabled'}</option>
+                                       </select>
+                               </td>
+                       </tr>
+END
+       }
+
+       print <<END
+       </table>
+
+       <br>
+
 <table width='95%' cellspacing='0'>
 <tr bgcolor='$color{'color20'}'><td colspan='2' align='left'><b>$Lang::tr{'fw logging'}</b></td></tr>
 <tr><td align='left' width='60%'>$Lang::tr{'drop newnotsyn'}</td><td align='left'>on <input type='radio' name='DROPNEWNOTSYN' value='on' $checked{'DROPNEWNOTSYN'}{'on'} />/
index df5f9ece2a3a0732c8d21fe07ec471310028e6cc..969b2557fffde5033403d13aa75bd2cf61934fca 100644 (file)
@@ -19,6 +19,7 @@
 #                                                                             #
 ###############################################################################
 ###
+# Based on IPFireCore 77
 ###
 use CGI;
 use CGI qw/:standard/;
@@ -92,7 +93,6 @@ $cgiparams{'PMTU_DISCOVERY'} = '';
 $cgiparams{'DCIPHER'} = '';
 $cgiparams{'DAUTH'} = '';
 $cgiparams{'TLSAUTH'} = '';
-$cgiparams{'ENGINES'} = '';
 $routes_push_file = "${General::swroot}/ovpn/routes_push";
 unless (-e $routes_push_file)    { system("touch $routes_push_file"); }
 unless (-e "${General::swroot}/ovpn/ccd.conf")    { system("touch ${General::swroot}/ovpn/ccd.conf"); }
@@ -172,105 +172,6 @@ sub deletebackupcert
                unlink ("${General::swroot}/ovpn/certs/$hexvalue.pem");
        }
 }
-sub checkportfw {
-       my $DPORT = shift;
-       my $DPROT = shift;
-       my %natconfig =();
-       my $confignat = "${General::swroot}/firewall/config";
-       $DPROT= uc ($DPROT);
-       &General::readhasharray($confignat, \%natconfig);
-       foreach my $key (sort keys %natconfig){
-               my @portarray = split (/\|/,$natconfig{$key}[30]);
-               foreach my $value (@portarray){
-                       if ($value =~ /:/i){
-                               my ($a,$b) = split (":",$value);
-                               if ($DPROT eq $natconfig{$key}[12] && $DPORT gt $a && $DPORT lt $b){
-                                       $errormessage= "$Lang::tr{'source port in use'} $DPORT";
-                               }
-                       }else{
-                               if ($DPROT eq $natconfig{$key}[12] && $DPORT eq $value){
-                                       $errormessage= "$Lang::tr{'source port in use'} $DPORT";
-                               }
-                       }
-               }
-       }
-       return;
-}
-
-sub checkportoverlap
-{
-       my $portrange1 = $_[0]; # New port range
-       my $portrange2 = $_[1]; # existing port range
-       my @tempr1 = split(/\:/,$portrange1);
-       my @tempr2 = split(/\:/,$portrange2);
-
-       unless (&checkportinc($tempr1[0], $portrange2)){ return 0;}
-       unless (&checkportinc($tempr1[1], $portrange2)){ return 0;}
-       
-       unless (&checkportinc($tempr2[0], $portrange1)){ return 0;}
-       unless (&checkportinc($tempr2[1], $portrange1)){ return 0;}
-
-       return 1; # Everything checks out!
-}
-
-# Darren Critchley - we want to make sure that a port entry is not within an already existing range
-sub checkportinc
-{
-       my $port1 = $_[0]; # Port
-       my $portrange2 = $_[1]; # Port range
-       my @tempr1 = split(/\:/,$portrange2);
-
-       if ($port1 < $tempr1[0] || $port1 > $tempr1[1]) {
-               return 1; 
-       } else {
-               return 0; 
-       }
-}
-
-# Darren Critchley - certain ports are reserved for IPFire
-# TCP 67,68,81,222,444
-# UDP 67,68
-# Params passed in -> port, rangeyn, protocol
-sub disallowreserved
-{
-       # port 67 and 68 same for tcp and udp, don't bother putting in an array
-       my $msg = "";
-       my @tcp_reserved = (81,222,444);
-       my $prt = $_[0]; # the port or range
-       my $ryn = $_[1]; # tells us whether or not it is a port range
-       my $prot = $_[2]; # protocol
-       my $srcdst = $_[3]; # source or destination
-       if ($ryn) { # disect port range
-               if ($srcdst eq "src") {
-                       $msg = "$Lang::tr{'rsvd src port overlap'}";
-               } else {
-                       $msg = "$Lang::tr{'rsvd dst port overlap'}";
-               }
-               my @tmprng = split(/\:/,$prt);
-               unless (67 < $tmprng[0] || 67 > $tmprng[1]) { $errormessage="$msg 67"; return; }
-               unless (68 < $tmprng[0] || 68 > $tmprng[1]) { $errormessage="$msg 68"; return; }
-               if ($prot eq "tcp") {
-                       foreach my $prange (@tcp_reserved) {
-                               unless ($prange < $tmprng[0] || $prange > $tmprng[1]) { $errormessage="$msg $prange"; return; }
-                       }
-               }
-       } else {
-               if ($srcdst eq "src") {
-                       $msg = "$Lang::tr{'reserved src port'}";
-               } else {
-                       $msg = "$Lang::tr{'reserved dst port'}";
-               }
-               if ($prt == 67) { $errormessage="$msg 67"; return; }
-               if ($prt == 68) { $errormessage="$msg 68"; return; }
-               if ($prot eq "tcp") {
-                       foreach my $prange (@tcp_reserved) {
-                               if ($prange == $prt) { $errormessage="$msg $prange"; return; }
-                       }
-               }
-       }
-       return;
-}
-
 
 sub writeserverconf {
     my %sovpnsettings = ();  
@@ -369,12 +270,7 @@ sub writeserverconf {
        print CONF "auth $sovpnsettings{'DAUTH'}\n";
     }
     if ($sovpnsettings{'TLSAUTH'} eq 'on') {
-       print CONF "tls-auth ${General::swroot}/ovpn/ca/ta.key 0\n";
-    }
-    if ($sovpnsettings{ENGINES} eq 'disabled') {
-       print CONF "";
-    } else {
-       print CONF "engine $sovpnsettings{ENGINES}\n";
+       print CONF "tls-auth ${General::swroot}/ovpn/certs/ta.key\n";
     }
     if ($sovpnsettings{DCOMPLZO} eq 'on') {
         print CONF "comp-lzo\n";
@@ -572,7 +468,7 @@ sub getccdadresses
        my @iprange=();
        my %ccdhash=();
        &General::readhasharray("${General::swroot}/ovpn/ovpnconfig", \%ccdhash);
-       $iprange[0]=$ip1.".".$ip2.".".$ip3.".".2;
+       $iprange[0]=$ip1.".".$ip2.".".$ip3.".".($ip4+2);
        for (my $i=1;$i<=$count;$i++) {
                my $tmpip=$iprange[$i-1];
                my $stepper=$i*4;
@@ -796,7 +692,6 @@ if ($cgiparams{'ACTION'} eq $Lang::tr{'save-adv-options'}) {
     $vpnsettings{'PMTU_DISCOVERY'} = $cgiparams{'PMTU_DISCOVERY'};
     $vpnsettings{'DAUTH'} = $cgiparams{'DAUTH'};
     $vpnsettings{'TLSAUTH'} = $cgiparams{'TLSAUTH'};
-    $vpnsettings{'ENGINES'} = $cgiparams{'ENGINES'};
     my @temp=();
     
     if ($cgiparams{'FRAGMENT'} eq '') {
@@ -816,13 +711,6 @@ if ($cgiparams{'ACTION'} eq $Lang::tr{'save-adv-options'}) {
        $vpnsettings{'MSSFIX'} = $cgiparams{'MSSFIX'};
     }
 
-   # Create ta.key for tls-auth if not presant
-   if ($cgiparams{'TLSAUTH'} eq 'on') {
-       if ( ! -e "${General::swroot}/ovpn/ca/ta.key") {
-               system('/usr/sbin/openvpn', '--genkey', '--secret', "${General::swroot}/ovpn/ca/ta.key")
-       }
-    }
-
     if (($cgiparams{'PMTU_DISCOVERY'} eq 'yes') ||
         ($cgiparams{'PMTU_DISCOVERY'} eq 'maybe') ||
         ($cgiparams{'PMTU_DISCOVERY'} eq 'no' )) {
@@ -921,6 +809,16 @@ if ($cgiparams{'ACTION'} eq $Lang::tr{'save-adv-options'}) {
         $errormessage = $Lang::tr{'invalid input for keepalive 1:2'};
         goto ADV_ERROR;        
     }
+    # Create ta.key for tls-auth if not presant
+    if ($cgiparams{'TLSAUTH'} eq 'on') {
+       if ( ! -e "${General::swroot}/ovpn/certs/ta.key") {
+               system('/usr/sbin/openvpn', '--genkey', '--secret', "${General::swroot}/ovpn/certs/ta.key");
+               if ($?) {
+               $errormessage = "$Lang::tr{'openssl produced an error'}: $?";
+        goto ADV_ERROR;
+               }
+       }
+    }
     
     &General::writehash("${General::swroot}/ovpn/settings", \%vpnsettings);
     &writeserverconf();#hier ok
@@ -1008,15 +906,9 @@ unless(-d "${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}"){mkdir "${General
        print SERVERCONF "# HMAC algorithm\n";
        print SERVERCONF "auth $cgiparams{'DAUTH'}\n";
   }
-  if ($cgiparams{'ENGINES'} eq 'disabled') {
-       print SERVERCONF "";
-  } else {
-       print SERVERCONF "# Crypto engine\n";
-       print SERVERCONF "engine $cgiparams{'ENGINES'}\n";
-  }
   if ($cgiparams{'COMPLZO'} eq 'on') {
    print SERVERCONF "# Enable Compression\n";
-   print SERVERCONF "comp-lzo\r\n";
+   print SERVERCONF "comp-lzo\n";
      }
   print SERVERCONF "# Debug Level\n"; 
   print SERVERCONF "verb 3\n"; 
@@ -1109,15 +1001,9 @@ unless(-d "${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}"){mkdir "${General
        print CLIENTCONF "# HMAC algorithm\n";
        print CLIENTCONF "auth $cgiparams{'DAUTH'}\n";
   }
-  if ($cgiparams{'ENGINES'} eq 'disabled') {
-       print CLIENTCONF "";
-  } else {
-       print CLIENTCONF "# Crypto engine\n";
-       print CLIENTCONF "engine $cgiparams{'ENGINES'}\n";
-  }
   if ($cgiparams{'COMPLZO'} eq 'on') {
    print CLIENTCONF "# Enable Compression\n";
-   print CLIENTCONF "comp-lzo\r\n";
+   print CLIENTCONF "comp-lzo\n";
   }
   print CLIENTCONF "# Debug Level\n"; 
   print CLIENTCONF "verb 3\n"; 
@@ -1137,7 +1023,6 @@ unless(-d "${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}"){mkdir "${General
 ### Save main settings
 ###
 
-
 if ($cgiparams{'ACTION'} eq $Lang::tr{'save'} && $cgiparams{'TYPE'} eq '' && $cgiparams{'KEY'} eq '') {
     &General::readhash("${General::swroot}/ovpn/settings", \%vpnsettings);
     #DAN do we really need (to to check) this value? Besides if we listen on blue and orange too,
@@ -1148,13 +1033,7 @@ if ($cgiparams{'ACTION'} eq $Lang::tr{'save'} && $cgiparams{'TYPE'} eq '' && $cg
        goto SETTINGS_ERROR;
        }
     }
-    if ($errormessage) { goto SETTINGS_ERROR; }
 
-    if ($cgiparams{'ENABLED'} eq 'on'){
-       &checkportfw($cgiparams{'DDEST_PORT'},$cgiparams{'DPROTOCOL'});
-    }
-    if ($errormessage) { goto SETTINGS_ERROR; }
-    
     if (! &General::validipandmask($cgiparams{'DOVPN_SUBNET'})) {
             $errormessage = $Lang::tr{'ovpn subnet is invalid'};
                        goto SETTINGS_ERROR;
@@ -1299,7 +1178,6 @@ SETTINGS_ERROR:
                        <tr>
                                <td align='center'>
                                <input type='hidden' name='AREUSURE' value='yes' />
-                               <b><font color='${Header::colourred}'>$Lang::tr{'capswarning'}</font></b>: 
                                <b><font color='${Header::colourred}'>$Lang::tr{'capswarning'}</font></b>:
                                $Lang::tr{'resetting the vpn configuration will remove the root ca, the host certificate and all certificate based connections'}</td>
                        </tr>
@@ -1343,7 +1221,7 @@ END
        print <<END;
        <table width='100%'>
        <tr>
-               <td width='15%'> </td> <td width='15%'></td> <td width='65%'></td>
+               <td width='20%'> </td> <td width='15%'></td> <td width='65%'></td>
        </tr>
        <tr>
                <td class='base'>$Lang::tr{'ovpn dh'}:</td>
@@ -1640,6 +1518,18 @@ END
        print `/usr/bin/openssl x509 -in ${General::swroot}/ovpn/certs/servercert.pem`;
        exit(0);
     }
+
+###
+### Download tls-auth key
+###
+}elsif ($cgiparams{'ACTION'} eq $Lang::tr{'download tls-auth key'}) {
+    if ( -f "${General::swroot}/ovpn/certs/ta.key" ) {
+       print "Content-Type: application/octet-stream\r\n";
+       print "Content-Disposition: filename=ta.key\r\n\r\n";
+       print `/bin/cat ${General::swroot}/ovpn/certs/ta.key`;
+       exit(0);
+    }
+
 ###
 ### Form for generating a root certificate
 ###
@@ -1963,7 +1853,14 @@ END
            goto ROOTCERT_ERROR;
 #      } else {
 #          &cleanssldatabase();
-       }       
+       }
+       # Create ta.key for tls-auth
+       system('/usr/sbin/openvpn', '--genkey', '--secret', "${General::swroot}/ovpn/certs/ta.key");
+       if ($?) {
+           $errormessage = "$Lang::tr{'openssl produced an error'}: $?";
+           &cleanssldatabase();
+           goto ROOTCERT_ERROR;
+       }
        goto ROOTCERT_SUCCESS;
     }
     ROOTCERT_ERROR:
@@ -2206,7 +2103,7 @@ if ($confighash{$cgiparams{'KEY'}}[3] eq 'net'){
    }
    if ($confighash{$cgiparams{'KEY'}}[30] eq 'on') {
    print CLIENTCONF "# Enable Compression\n";
-   print CLIENTCONF "comp-lzo\r\n";
+   print CLIENTCONF "comp-lzo\n";
      }
    print CLIENTCONF "# Debug Level\n"; 
    print CLIENTCONF "verb 3\n"; 
@@ -2305,8 +2202,8 @@ else
        print CLIENTCONF "auth $vpnsettings{'DAUTH'}\r\n";
     }
     if ($vpnsettings{'TLSAUTH'} eq 'on') {
-       print CLIENTCONF "tls-auth ta.key 1\r\n";
-       $zip->addFile( "${General::swroot}/ovpn/ca/ta.key", "ta.key")  or die "Can't add file ta.key\n";
+       print CLIENTCONF "tls-auth ta.key\r\n";
+       $zip->addFile( "${General::swroot}/ovpn/certs/ta.key", "ta.key")  or die "Can't add file ta.key\n";
     }
     if ($vpnsettings{DCOMPLZO} eq 'on') {
         print CLIENTCONF "comp-lzo\r\n";
@@ -2472,6 +2369,28 @@ if ($confighash{$cgiparams{'KEY'}}[3] eq 'net') {
                exit(0);
     }
 
+###
+### Display tls-auth key
+###
+} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'show tls-auth key'}) {
+
+    if (! -e "${General::swroot}/ovpn/certs/ta.key") {
+       $errormessage = $Lang::tr{'not present'};
+       } else {
+               &Header::showhttpheaders();
+               &Header::openpage($Lang::tr{'ovpn'}, 1, '');
+               &Header::openbigbox('100%', 'LEFT', '', '');
+               &Header::openbox('100%', 'LEFT', "$Lang::tr{'ta key'}:");
+               my $output = `/bin/cat ${General::swroot}/ovpn/certs/ta.key`;
+               $output = &Header::cleanhtml($output,"y");
+               print "<pre>$output</pre>\n";
+               &Header::closebox();
+               print "<div align='center'><a href='/cgi-bin/ovpnmain.cgi'>$Lang::tr{'back'}</a></div>";
+               &Header::closebigbox();
+               &Header::closepage();
+               exit(0);
+    }
+
 ###
 ### Display Certificate Revoke List
 ###
@@ -2530,14 +2449,8 @@ ADV_ERROR:
     if ($cgiparams{'DAUTH'} eq '') {
                $cgiparams{'DAUTH'} = 'SHA1';
     }
-    if ($cgiparams{'DAUTH'} eq '') {
-       $cgiparams{'DAUTH'} = 'SHA1';
-    }
-    if ($cgiparams{'ENGINES'} eq '') {
-       $cgiparams{'ENGINES'} = 'disabled';
-    }
     if ($cgiparams{'TLSAUTH'} eq '') {
-       $cgiparams{'TLSAUTH'} = 'off';
+               $cgiparams{'TLSAUTH'} = 'off';
     }
     $checked{'CLIENT2CLIENT'}{'off'} = '';
     $checked{'CLIENT2CLIENT'}{'on'} = '';
@@ -2571,13 +2484,7 @@ ADV_ERROR:
     $checked{'TLSAUTH'}{'off'} = '';
     $checked{'TLSAUTH'}{'on'} = '';
     $checked{'TLSAUTH'}{$cgiparams{'TLSAUTH'}} = 'CHECKED';
-    $selected{'ENGINES'}{'cryptodev'} = '';
-    $selected{'ENGINES'}{'dynamic'} = '';
-    $selected{'ENGINES'}{'aesni'} = '';
-    $selected{'ENGINES'}{'padlock'} = '';
-    $selected{'ENGINES'}{'disabled'} = '';
-    $selected{'ENGINES'}{$cgiparams{'ENGINES'}} = 'SELECTED';
-
+   
     &Header::showhttpheaders();
     &Header::openpage($Lang::tr{'status ovpn'}, 1, '');
     &Header::openbigbox('100%', 'LEFT', '', $errormessage);    
@@ -2717,20 +2624,8 @@ print <<END;
                                <option value='SHA1'                    $selected{'DAUTH'}{'SHA1'}>SHA1 (160 $Lang::tr{'bit'})</option>
                        </select>
                </td>
-               <td>Default: <span class="base">SHA1 (160 $Lang::tr{'bit'})</span></td>
+               <td>$Lang::tr{'openvpn default'}: <span class="base">SHA1 (160 $Lang::tr{'bit'})</span></td>
     </tr>
-
-    <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'ovpn engines'}</td>
-               <td><select name='ENGINES'>
-                               <option value='cryptodev'               $selected{'ENGINES'}{'cryptodev'}>Cryptodev</option>
-                               <option value='dynamic'                 $selected{'ENGINES'}{'dynamic'}>Dynamic</option>
-                               <option value='aesni'                   $selected{'ENGINES'}{'aesni'}>AES-NI</option>
-                               <option value='padlock'                 $selected{'ENGINES'}{'padlock'}>Padlock</option>
-                               <option value='disabled'                $selected{'ENGINES'}{'disabled'}>$Lang::tr{'disabled'}</option>
-                       </select>
-               </td>
-               <td>Default: <span class="base">$Lang::tr{'disabled'}</span></td>
-       </tr>
 </table>
 
 <table width='100%'>
@@ -2824,7 +2719,7 @@ if ($cgiparams{'ACTION'} eq "edit"){
     <table width='100%' border='0'>
     <tr><form method='post'>
        <td width='10%' nowrap='nowrap'>$Lang::tr{'ccd name'}:</td><td><input type='TEXT' name='ccdname' value='$cgiparams{'ccdname'}' /></td>
-       <td width='8%'>$Lang::tr{'ccd subnet'}:</td><td><input type='TEXT' name='ccdsubnet' value='$cgiparams{'ccdsubnet'}' readonly /></td></tr>
+       <td width='8%'>$Lang::tr{'ccd subnet'}:</td><td><input type='TEXT' name='ccdsubnet' value='$cgiparams{'ccdsubnet'}' readonly='readonly' /></td></tr>
        <tr><td colspan='4' align='right'><hr><input type='submit' value='$Lang::tr{'save'}' /><input type='hidden' name='ACTION' value='editsave'/>
        <input type='hidden' name='ccdname' value='$cgiparams{'ccdname'}'/><input type='submit' value='$Lang::tr{'cancel'}' />
        </td></tr>
@@ -2884,7 +2779,7 @@ END
                print"<td>$ccdconf[0]</td><td align='center'>$ccdconf[1]</td><td align='center'>$ccdhosts/".(&ccdmaxclients($ccdconf[1])+1)."</td><td>";
         print <<END;
                <form method='post' />
-               <input type='image' src='/images/edit.gif' align='middle' alt=$Lang::tr{'edit'} title=$Lang::tr{'edit'} />
+               <input type='image' src='/images/edit.gif' align='middle' alt='$Lang::tr{'edit'}' title='$Lang::tr{'edit'}' />
                <input type='hidden' name='ACTION' value='edit'/>
                <input type='hidden' name='ccdname' value='$ccdconf[0]' />
                <input type='hidden' name='ccdsubnet' value='$ccdconf[1]' />
@@ -2893,7 +2788,7 @@ END
                <td><input type='hidden' name='ACTION' value='kill'/>
                <input type='hidden' name='number' value='$count' />
                <input type='hidden' name='net' value='$ccdconf[0]' />
-               <input type='image' src='/images/delete.gif' align='middle' alt=$Lang::tr{'remove'} title=$Lang::tr{'remove'} /></form></td></tr>
+               <input type='image' src='/images/delete.gif' align='middle' alt='$Lang::tr{'remove'}' title='$Lang::tr{'remove'}' /></form></td></tr>
 END
 ;
        }       
@@ -3123,7 +3018,7 @@ if ( -s "${General::swroot}/ovpn/settings") {
                <td class='base'>$Lang::tr{'net to net vpn'} (Upload Client Package)</td></tr>
          <tr><td>&nbsp;</td><td class='base'><input type='file' name='FH' size='30'></td></tr>
          <tr><td>&nbsp;</td><td>Import Connection Name <img src='/blob.gif' /></td></tr>
-    <tr><td>&nbsp;</td><td class='base'><input type='text' name='n2nname' size='30'>Default : Client Packagename</td></tr>
+    <tr><td>&nbsp;</td><td class='base'><input type='text' name='n2nname' size='30'>$Lang::tr{'openvpn default'}: Client Packagename</td></tr>
          <tr><td colspan='3'><hr /></td></tr>
     <tr><td align='right' colspan='3'><input type='submit' name='ACTION' value='$Lang::tr{'add'}' /></td></tr>
          <tr><td class='base' colspan='3' align='left'><img src='/blob.gif' alt='*' />&nbsp;$Lang::tr{'this field may be blank'}</td></tr>
@@ -3282,7 +3177,6 @@ my $complzoactive;
 my $mssfixactive;
 my $authactive;
 my $n2nfragment;
-my $authactive;
 my @n2nmtudisc = split(/ /, (grep { /^mtu-disc/ } @firen2nconf)[0]);
 my @n2nproto2 = split(/ /, (grep { /^proto/ } @firen2nconf)[0]);
 my @n2nproto = split(/-/, $n2nproto2[1]);
@@ -3301,8 +3195,7 @@ my @n2nremsub = split(/ /, (grep { /^route/ } @firen2nconf)[0]);
 my @n2nmgmt =  split(/ /, (grep { /^management/ } @firen2nconf)[0]);
 my @n2nlocalsub  = split(/ /, (grep { /^# remsub/ } @firen2nconf)[0]);
 my @n2ncipher = split(/ /, (grep { /^cipher/ } @firen2nconf)[0]);
-my @n2nauth = split(/ /, (grep { /^auth/ } @firen2nconf)[0]);
-my @n2nengine = split(/ /, (grep { /^engine/ } @firen2nconf)[0]);;
+my @n2nauth = split(/ /, (grep { /^auth/ } @firen2nconf)[0]);;
 
 ###
 # m.a.d delete CR and LF from arrays for this chomp doesnt work
@@ -3323,7 +3216,6 @@ $n2nmgmt[2] =~ s/\n|\r//g;
 $n2nmtudisc[1] =~ s/\n|\r//g;
 $n2ncipher[1] =~ s/\n|\r//g;
 $n2nauth[1] =~ s/\n|\r//g;
-$n2nengine[1] =~ s/\n|\r//g;
 chomp ($complzoactive);
 chomp ($mssfixactive);
 
@@ -3542,7 +3434,6 @@ if ($confighash{$cgiparams{'KEY'}}) {
                $cgiparams{'DAUTH'}             = $confighash{$cgiparams{'KEY'}}[39];
                $cgiparams{'DCIPHER'}           = $confighash{$cgiparams{'KEY'}}[40];
                $cgiparams{'TLSAUTH'}           = $confighash{$cgiparams{'KEY'}}[41];
-               $cgiparams{'ENGINES'}           = $confighash{$cgiparams{'KEY'}}[42];
        } elsif ($cgiparams{'ACTION'} eq $Lang::tr{'save'}) {
        $cgiparams{'REMARK'} = &Header::cleanhtml($cgiparams{'REMARK'});
        
@@ -4077,10 +3968,8 @@ if ($cgiparams{'TYPE'} eq 'net') {
                $errormessage = $Lang::tr{'name too long'};
                goto VPNCONF_ERROR;
            }
-           if ($cgiparams{'CERT_NAME'} !~ /^[a-zA-Z0-9 ,\.\-_]+$/) {
+           if ($cgiparams{'CERT_NAME'} eq '' || $cgiparams{'CERT_NAME'} !~ /^[a-zA-Z0-9 ,\.\-_]+$/) {
                $errormessage = $Lang::tr{'invalid input for name'};
-               unlink ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}/$cgiparams{'NAME'}.conf") or die "Removing Configfile fail: $!";
-               rmdir ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}") || die "Removing Directory fail: $!";
                goto VPNCONF_ERROR;
            }
            if ($cgiparams{'CERT_EMAIL'} ne '' && (! &General::validemail($cgiparams{'CERT_EMAIL'}))) {
@@ -4268,7 +4157,6 @@ if ($cgiparams{'TYPE'} eq 'net') {
        $confighash{$key}[38]           = $cgiparams{'PMTU_DISCOVERY'};
        $confighash{$key}[39]           = $cgiparams{'DAUTH'};
        $confighash{$key}[40]           = $cgiparams{'DCIPHER'};
-       $confighash{$key}[42]           = $cgiparams{'ENGINES'};
 
        &General::writehasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash);
        
@@ -4380,7 +4268,6 @@ if ($cgiparams{'TYPE'} eq 'net') {
         $cgiparams{'FRAGMENT'} = '1300';
        $cgiparams{'PMTU_DISCOVERY'} = 'off';
        $cgiparams{'DAUTH'} = 'SHA1';
-       $cgiparams{'ENGINES'} = 'disabled';
 ###
 # m.a.d n2n end
 ###    
@@ -4457,10 +4344,7 @@ if ($cgiparams{'TYPE'} eq 'net') {
     $selected{'DCIPHER'}{'DES-EDE-CBC'} = '';
     $selected{'DCIPHER'}{'CAST5-CBC'} = '';
     $selected{'DCIPHER'}{'BF-CBC'} = '';
-    $selected{'DCIPHER'}{'RC2-CBC'} = '';
     $selected{'DCIPHER'}{'DES-CBC'} = '';
-    $selected{'DCIPHER'}{'RC2-64-CBC'} = '';
-    $selected{'DCIPHER'}{'RC2-40-CBC'} = '';
     # If no cipher has been chossen yet, select
     # the old default (AES-256-CBC) for compatiblity reasons.
     if ($cgiparams{'DCIPHER'} eq '') {
@@ -4479,18 +4363,6 @@ if ($cgiparams{'TYPE'} eq 'net') {
     }
     $selected{'DAUTH'}{$cgiparams{'DAUTH'}} = 'SELECTED';
 
-    $selected{'ENGINES'}{'disabled'} = '';
-    $selected{'ENGINES'}{'cryptodev'} = '';
-    $selected{'ENGINES'}{'dynamic'} = '';
-    $selected{'ENGINES'}{'aesni'} = '';
-    $selected{'ENGINES'}{'padlock'} = '';
-    # If no engine has been choosen yet, select
-    # a default one (disabled).
-    if ($cgiparams{'ENGINES'} eq '') {
-        $cgiparams{'ENGINES'} = 'disabled';
-    }
-    $selected{'ENGINES'}{$cgiparams{'ENGINES'}} = 'SELECTED';
-
     if (1) {
        &Header::showhttpheaders();
        &Header::openpage($Lang::tr{'ovpn'}, 1, '');
@@ -4547,100 +4419,66 @@ if ($cgiparams{'TYPE'} eq 'net') {
            }
            print <<END;
                    <td width='25%'>&nbsp;</td>
-                   <td width='25%'>&nbsp;</td></tr>
-
-               <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'Act as'}</td>
-                   <td><select name='SIDE'><option value='server' $selected{'SIDE'}{'server'}>$Lang::tr{'openvpn server'}</option>
-                                           <option value='client' $selected{'SIDE'}{'client'}>$Lang::tr{'openvpn client'}</option></select></td>
-
-                   <td class='boldbase'>$Lang::tr{'remote host/ip'}:</td>
-                   <td><input type='TEXT' name='REMOTE' value='$cgiparams{'REMOTE'}' /></td></tr>
-
-               <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'local subnet'}</td>
-                   <td><input type='TEXT' name='LOCAL_SUBNET' value='$cgiparams{'LOCAL_SUBNET'}' /></td>
-
-                   <td class='boldbase' nowrap='nowrap'>$Lang::tr{'remote subnet'}</td>
-                   <td><input type='text' name='REMOTE_SUBNET' value='$cgiparams{'REMOTE_SUBNET'}' /></td></tr>
+                   <td width='25%'>&nbsp;</td></tr>    
+       <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'Act as'}</td>
+               <td><select name='SIDE'>
+                               <option value='server' $selected{'SIDE'}{'server'}>$Lang::tr{'openvpn server'}</option>
+                               <option value='client' $selected{'SIDE'}{'client'}>$Lang::tr{'openvpn client'}</option>
+                       </select>
+               </td>
 
-               <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'ovpn subnet'}</td>
-                   <td><input type='TEXT' name='OVPN_SUBNET' value='$cgiparams{'OVPN_SUBNET'}' /></td></tr>
+               <td class='boldbase'>$Lang::tr{'remote host/ip'}:</td>
+               <td><input type='TEXT' name='REMOTE' value='$cgiparams{'REMOTE'}' /></td>
+       </tr>
 
-                   
-               <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'protocol'}</td>
-                       <td><select name='PROTOCOL'><option value='udp' $selected{'PROTOCOL'}{'udp'}>UDP</option>
-                                       <option value='tcp' $selected{'PROTOCOL'}{'tcp'}>TCP</option></select></td>
+       <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'local subnet'}</td>
+               <td><input type='TEXT' name='LOCAL_SUBNET' value='$cgiparams{'LOCAL_SUBNET'}' /></td>
 
-                       <td class='boldbase'>$Lang::tr{'destination port'}:</td>
-                       <td><input type='TEXT' name='DEST_PORT' value='$cgiparams{'DEST_PORT'}' size='5' /></td>
-               </tr>
+               <td class='boldbase' nowrap='nowrap'>$Lang::tr{'remote subnet'}</td>
+               <td><input type='text' name='REMOTE_SUBNET' value='$cgiparams{'REMOTE_SUBNET'}' /></td>
+       </tr>
 
-               <tr><td class='boldbase'>$Lang::tr{'cipher'}</td>
-                       <td><select name='DCIPHER'>
-                                       <option value='CAMELLIA-256-CBC'        $selected{'DCIPHER'}{'CAMELLIA-256-CBC'}>CAMELLIA-CBC (256 $Lang::tr{'bit'})</option>
-                                       <option value='CAMELLIA-192-CBC'        $selected{'DCIPHER'}{'CAMELLIA-192-CBC'}>CAMELLIA-CBC (196 $Lang::tr{'bit'})</option>
-                                       <option value='CAMELLIA-128-CBC'        $selected{'DCIPHER'}{'CAMELLIA-128-CBC'}>CAMELLIA-CBC (128 $Lang::tr{'bit'})</option>
-                                       <option value='AES-256-CBC'             $selected{'DCIPHER'}{'AES-256-CBC'}>AES-CBC (256 $Lang::tr{'bit'})</option>
-                                       <option value='AES-192-CBC'             $selected{'DCIPHER'}{'AES-192-CBC'}>AES-CBC (192 $Lang::tr{'bit'})</option>
-                                       <option value='AES-128-CBC'             $selected{'DCIPHER'}{'AES-128-CBC'}>AES-CBC (128 $Lang::tr{'bit'})</option>
-                                       <option value='DES-EDE3-CBC'            $selected{'DCIPHER'}{'DES-EDE3-CBC'}>DES-EDE3-CBC (192 $Lang::tr{'bit'})</option>
-                                       <option value='DESX-CBC'                $selected{'DCIPHER'}{'DESX-CBC'}>DESX-CBC (192 $Lang::tr{'bit'})</option>
-                                       <option value='SEED-CBC'                $selected{'DCIPHER'}{'SEED-CBC'}>SEED-CBC (128 $Lang::tr{'bit'})</option>
-                                       <option value='DES-EDE-CBC'             $selected{'DCIPHER'}{'DES-EDE-CBC'}>DES-EDE-CBC (128 $Lang::tr{'bit'})</option>
-                                       <option value='BF-CBC'                  $selected{'DCIPHER'}{'BF-CBC'}>BF-CBC (128 $Lang::tr{'bit'})</option>
-                                       <option value='CAST5-CBC'               $selected{'DCIPHER'}{'CAST5-CBC'}>CAST5-CBC (128 $Lang::tr{'bit'})</option>
-                                       <option value='RC2-CBC'                 $selected{'DCIPHER'}{'RC2-CBC'}>RC2-CBC (128 $Lang::tr{'bit'})</option>
-                                       <option value='DES-CBC'                 $selected{'DCIPHER'}{'DES-CBC'}>DES-CBC (64 $Lang::tr{'bit'} not recommended)</option>
-                                       <option value='RC2-64-CBC'              $selected{'DCIPHER'}{'RC2-64-CBC'}>RC2-CBC (64 $Lang::tr{'bit'} not recommended)</option>
-                                       <option value='RC2-40-CBC'              $selected{'DCIPHER'}{'RC2-40-CBC'}>RC2-CBC (40 $Lang::tr{'bit'} not recommended)</option>
-                               </select>
-                       </td>
-
-                       <td class='boldbase'>$Lang::tr{'ovpn ha'}:</td>
-                       <td><select name='DAUTH'>
-                                       <option value='whirlpool'               $selected{'DAUTH'}{'whirlpool'}>Whirlpool (512 $Lang::tr{'bit'})</option>
-                                       <option value='SHA512'                  $selected{'DAUTH'}{'SHA512'}>SHA2 (512 $Lang::tr{'bit'})</option>
-                                       <option value='SHA384'                  $selected{'DAUTH'}{'SHA384'}>SHA2 (384 $Lang::tr{'bit'})</option>
-                                       <option value='SHA256'                  $selected{'DAUTH'}{'SHA256'}>SHA2 (256 $Lang::tr{'bit'})</option>
-                                       <option value='SHA1'                    $selected{'DAUTH'}{'SHA1'}>SHA1 (160 $Lang::tr{'bit'} Default)</option>
-                               </select>
-                       </td>
-               </tr>
+       <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'ovpn subnet'}</td>
+               <td><input type='TEXT' name='OVPN_SUBNET' value='$cgiparams{'OVPN_SUBNET'}' /></td>
 
-               <tr>    <td class='boldbase' nowrap='nowrap'>$Lang::tr{'ovpn engines'} &nbsp;<img src='/blob.gif'</td>
-                       <td><select name='ENGINES'>
-                                       <option value='cryptodev'               $selected{'ENGINES'}{'cryptodev'}>Cryptodev</option>
-                                       <option value='dynamic'                 $selected{'ENGINES'}{'dynamic'}>Dynamic</option>
-                                       <option value='aesni'                   $selected{'ENGINES'}{'aesni'}>AES-NI</option>
-                                       <option value='padlock'                 $selected{'ENGINES'}{'padlock'}>Padlock</option>
-                                       <option value='disabled'                $selected{'ENGINES'}{'disabled'}>$Lang::tr{'disabled'} (Default)</option>
-                               </select>
-                       </td>
-               </tr>
+               <td class='boldbase' nowrap='nowrap'>$Lang::tr{'protocol'}</td>
+               <td><select name='PROTOCOL'>
+                       <option value='udp' $selected{'PROTOCOL'}{'udp'}>UDP</option>
+                       <option value='tcp' $selected{'PROTOCOL'}{'tcp'}>TCP</option></select></td>
+       </tr>
+       
+       <tr>
+               <td class='boldbase'>$Lang::tr{'destination port'}:</td>
+               <td><input type='TEXT' name='DEST_PORT' value='$cgiparams{'DEST_PORT'}' size='5' /></td>
 
-               <tr><td colspan=2><hr /></td></tr><tr>
+               <td class='boldbase' nowrap='nowrap'>Management Port ($Lang::tr{'openvpn default'}: <span class="base">$Lang::tr{'destination port'}): &nbsp;<img src='/blob.gif' /></td>
+               <td> <input type='TEXT' name='OVPN_MGMT' VALUE='$cgiparams{'OVPN_MGMT'}'size='5' /></td>
+       </tr>
 
-                       <tr><td class='boldbase' nowrap='nowrap'>Management Port ($Lang::tr{'openvpn default'}: <span class="base">$Lang::tr{'destination port'}): &nbsp;<img src='/blob.gif' /></td>
-                       <td> <input type='TEXT' name='OVPN_MGMT' VALUE='$cgiparams{'OVPN_MGMT'}'size='5' /></td>
-               </tr>
+       <tr><td colspan=4><hr /></td></tr><tr>
+       
+       <tr>
+               <td class'base'><b>$Lang::tr{'MTU settings'}</b></td>
+       </tr>
 
-               <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'MTU'}&nbsp;<img src='/blob.gif' /></td>
-                       <td> <input type='TEXT' name='MTU' VALUE='$cgiparams{'MTU'}'size='5' /></td>
-                       <td colspan='2'>$Lang::tr{'openvpn default'}: udp/tcp <span class="base">1500/1400</span></td>
-               </tr>
+        <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'MTU'}&nbsp;<img src='/blob.gif' /></td>
+               <td><input type='TEXT' name='MTU' VALUE='$cgiparams{'MTU'}'size='5' /></td>
+               <td colspan='2'>$Lang::tr{'openvpn default'}: udp/tcp <span class="base">1500/1400</span></td>
+       </tr>
 
-               <tr><td class='boldbase' nowrap='nowrap'>fragment &nbsp;<img src='/blob.gif' /></td>
-                       <td><input type='TEXT' name='FRAGMENT' VALUE='$cgiparams{'FRAGMENT'}'size='5' /></td>
-                       <td>$Lang::tr{'openvpn default'}: <span class="base">1300</span></td>
-               </tr>
+       <tr><td class='boldbase' nowrap='nowrap'>fragment &nbsp;<img src='/blob.gif' /></td>
+               <td><input type='TEXT' name='FRAGMENT' VALUE='$cgiparams{'FRAGMENT'}'size='5' /></td>
+               <td>$Lang::tr{'openvpn default'}: <span class="base">1300</span></td>
+       </tr>
 
-               <tr><td class='boldbase' nowrap='nowrap'>mssfix &nbsp;<img src='/blob.gif' /></td>
-                       <td><input type='checkbox' name='MSSFIX' $checked{'MSSFIX'}{'on'} /></td>
-                       <td>$Lang::tr{'openvpn default'}: <span class="base">on</span></td>
-               </tr>
+       <tr><td class='boldbase' nowrap='nowrap'>mssfix &nbsp;<img src='/blob.gif' /></td>
+               <td><input type='checkbox' name='MSSFIX' $checked{'MSSFIX'}{'on'} /></td>
+               <td>$Lang::tr{'openvpn default'}: <span class="base">on</span></td>
+       </tr>
 
-               <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'comp-lzo'} &nbsp;<img src='/blob.gif'</td>
-                       <td><input type='checkbox' name='COMPLZO' $checked{'COMPLZO'}{'on'} /></td>
-               </tr>
+        <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'comp-lzo'} &nbsp;<img src='/blob.gif'</td>
+               <td><input type='checkbox' name='COMPLZO' $checked{'COMPLZO'}{'on'} /></td>
+       </tr>
 
        <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'ovpn mtu-disc'}</td>
                <td colspan='3'>
@@ -4650,6 +4488,41 @@ if ($cgiparams{'TYPE'} eq 'net') {
                        <input type='radio' name='PMTU_DISCOVERY' value='off' $checked{'PMTU_DISCOVERY'}{'off'} /> $Lang::tr{'ovpn mtu-disc off'}
                </td>
        </tr>
+
+<tr><td colspan=4><hr /></td></tr><tr>
+       <tr>
+               <td class'base'><b>$Lang::tr{'ovpn crypt options'}:</b></td>
+       </tr>
+
+       <tr><td class='boldbase'>$Lang::tr{'cipher'}</td>
+               <td><select name='DCIPHER'>
+                               <option value='CAMELLIA-256-CBC'        $selected{'DCIPHER'}{'CAMELLIA-256-CBC'}>CAMELLIA-CBC (256 $Lang::tr{'bit'})</option>
+                               <option value='CAMELLIA-192-CBC'        $selected{'DCIPHER'}{'CAMELLIA-192-CBC'}>CAMELLIA-CBC (192 $Lang::tr{'bit'})</option>
+                               <option value='CAMELLIA-128-CBC'        $selected{'DCIPHER'}{'CAMELLIA-128-CBC'}>CAMELLIA-CBC (128 $Lang::tr{'bit'})</option>
+                               <option value='AES-256-CBC'             $selected{'DCIPHER'}{'AES-256-CBC'}>AES-CBC (256 $Lang::tr{'bit'}, $Lang::tr{'default'})</option>
+                               <option value='AES-192-CBC'             $selected{'DCIPHER'}{'AES-192-CBC'}>AES-CBC (192 $Lang::tr{'bit'})</option>
+                               <option value='AES-128-CBC'             $selected{'DCIPHER'}{'AES-128-CBC'}>AES-CBC (128 $Lang::tr{'bit'})</option>
+                               <option value='DES-EDE3-CBC'            $selected{'DCIPHER'}{'DES-EDE3-CBC'}>DES-EDE3-CBC (192 $Lang::tr{'bit'})</option>
+                               <option value='DESX-CBC'                $selected{'DCIPHER'}{'DESX-CBC'}>DESX-CBC (192 $Lang::tr{'bit'})</option>
+                               <option value='SEED-CBC'                $selected{'DCIPHER'}{'SEED-CBC'}>SEED-CBC (128 $Lang::tr{'bit'})</option>
+                               <option value='DES-EDE-CBC'             $selected{'DCIPHER'}{'DES-EDE-CBC'}>DES-EDE-CBC (128 $Lang::tr{'bit'})</option>
+                               <option value='BF-CBC'                  $selected{'DCIPHER'}{'BF-CBC'}>BF-CBC (128 $Lang::tr{'bit'})</option>
+                               <option value='CAST5-CBC'               $selected{'DCIPHER'}{'CAST5-CBC'}>CAST5-CBC (128 $Lang::tr{'bit'})</option>
+                       </select>
+               </td>
+
+               <td class='boldbase'>$Lang::tr{'ovpn ha'}:</td>
+               <td><select name='DAUTH'>
+                               <option value='whirlpool'               $selected{'DAUTH'}{'whirlpool'}>Whirlpool (512 $Lang::tr{'bit'})</option>
+                               <option value='SHA512'                  $selected{'DAUTH'}{'SHA512'}>SHA2 (512 $Lang::tr{'bit'})</option>
+                               <option value='SHA384'                  $selected{'DAUTH'}{'SHA384'}>SHA2 (384 $Lang::tr{'bit'})</option>
+                               <option value='SHA256'                  $selected{'DAUTH'}{'SHA256'}>SHA2 (256 $Lang::tr{'bit'})</option>
+                               <option value='SHA1'                    $selected{'DAUTH'}{'SHA1'}>SHA1 (160 $Lang::tr{'bit'} Default)</option>
+                       </select>
+               </td>
+       </tr>
+       <tr><td colspan=4><hr /></td></tr><tr>
+
 END
 ;
        }
@@ -4779,7 +4652,7 @@ if ($cgiparams{'TYPE'} eq 'host') {
    <tr><td>&nbsp;</td>
                <td class='base'>$Lang::tr{'pkcs12 file password'}:</td>
                <td class='base' nowrap='nowrap'><input type='password' name='CERT_PASS1' value='$cgiparams{'CERT_PASS1'}' size='32' $cakeydisabled /></td></tr>
-           <tr><td>&nbsp;</td><td class='base'>$Lang::tr{'pkcs12 file password'}:<BR>($Lang::tr{'confirmation'})</td>
+           <tr><td>&nbsp;</td><td class='base'>$Lang::tr{'pkcs12 file password'}:<br>($Lang::tr{'confirmation'})</td>
                <td class='base' nowrap='nowrap'><input type='password' name='CERT_PASS2' value='$cgiparams{'CERT_PASS2'}' size='32' $cakeydisabled /></td></tr>
      <tr><td colspan='3'>&nbsp;</td></tr>
      <tr><td colspan='3'><hr /></td></tr>
@@ -4977,9 +4850,6 @@ END
        if ($cgiparams{'DAUTH'} eq '') {
                $cgiparams{'DAUTH'} = 'SHA1';
     }
-    if ($cgiparams{'ENGINES'} eq '') {
-       $cgiparams{'ENGINES'} = 'disabled';
-    }
     if ($cgiparams{'DOVPN_SUBNET'} eq '') {
                $cgiparams{'DOVPN_SUBNET'} = '10.' . int(rand(256)) . '.' . int(rand(256)) . '.0/255.255.255.0';
     }
@@ -5012,10 +4882,7 @@ END
     $selected{'DCIPHER'}{'DES-EDE-CBC'} = '';
     $selected{'DCIPHER'}{'CAST5-CBC'} = '';
     $selected{'DCIPHER'}{'BF-CBC'} = '';
-    $selected{'DCIPHER'}{'RC2-CBC'} = '';
     $selected{'DCIPHER'}{'DES-CBC'} = '';
-    $selected{'DCIPHER'}{'RC2-64-CBC'} = '';
-    $selected{'DCIPHER'}{'RC2-40-CBC'} = '';
     $selected{'DCIPHER'}{$cgiparams{'DCIPHER'}} = 'SELECTED';
 
     $selected{'DAUTH'}{'whirlpool'} = '';
@@ -5025,13 +4892,6 @@ END
     $selected{'DAUTH'}{'SHA1'} = '';
     $selected{'DAUTH'}{$cgiparams{'DAUTH'}} = 'SELECTED';
 
-    $selected{'ENGINES'}{'cryptodev'} = '';
-    $selected{'ENGINES'}{'dynamic'} = '';
-    $selected{'ENGINES'}{'aesni'} = '';
-    $selected{'ENGINES'}{'padlock'} = '';
-    $selected{'ENGINES'}{'disabled'} = '';
-    $selected{'ENGINES'}{$cgiparams{'ENGINES'}} = 'SELECTED';
-
     $checked{'DCOMPLZO'}{'off'} = '';
     $checked{'DCOMPLZO'}{'on'} = '';
     $checked{'DCOMPLZO'}{$cgiparams{'DCOMPLZO'}} = 'CHECKED';
@@ -5106,11 +4966,12 @@ END
         <td class='boldbase'>$Lang::tr{'destination port'}:</td>
         <td><input type='TEXT' name='DDEST_PORT' value='$cgiparams{'DDEST_PORT'}' size='5' /></td></tr>
     <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'MTU'}&nbsp;</td>
-        <td> <input type='TEXT' name='DMTU' VALUE='$cgiparams{'DMTU'}'size='5' /></td>
+        <td> <input type='TEXT' name='DMTU' VALUE='$cgiparams{'DMTU'}' size='5' /></td>
+
                <td class='boldbase' nowrap='nowrap'>$Lang::tr{'cipher'}</td>
                <td><select name='DCIPHER'>
                                <option value='CAMELLIA-256-CBC' $selected{'DCIPHER'}{'CAMELLIA-256-CBC'}>CAMELLIA-CBC (256 $Lang::tr{'bit'})</option>
-                               <option value='CAMELLIA-192-CBC' $selected{'DCIPHER'}{'CAMELLIA-192-CBC'}>CAMELLIA-CBC (196 $Lang::tr{'bit'})</option>
+                               <option value='CAMELLIA-192-CBC' $selected{'DCIPHER'}{'CAMELLIA-192-CBC'}>CAMELLIA-CBC (192 $Lang::tr{'bit'})</option>
                                <option value='CAMELLIA-128-CBC' $selected{'DCIPHER'}{'CAMELLIA-128-CBC'}>CAMELLIA-CBC (128 $Lang::tr{'bit'})</option>
                                <option value='AES-256-CBC' $selected{'DCIPHER'}{'AES-256-CBC'}>AES-CBC (256 $Lang::tr{'bit'})</option>
                                <option value='AES-192-CBC' $selected{'DCIPHER'}{'AES-192-CBC'}>AES-CBC (192 $Lang::tr{'bit'})</option>
@@ -5121,10 +4982,6 @@ END
                                <option value='DES-EDE-CBC' $selected{'DCIPHER'}{'DES-EDE-CBC'}>DES-EDE-CBC (128 $Lang::tr{'bit'})</option>
                                <option value='BF-CBC' $selected{'DCIPHER'}{'BF-CBC'}>BF-CBC (128 $Lang::tr{'bit'})</option>
                                <option value='CAST5-CBC' $selected{'DCIPHER'}{'CAST5-CBC'}>CAST5-CBC (128 $Lang::tr{'bit'})</option>
-                               <option value='RC2-CBC' $selected{'DCIPHER'}{'RC2-CBC'}>RC2-CBC (128 $Lang::tr{'bit'})</option>
-                               <option value='DES-CBC' $selected{'DCIPHER'}{'DES-CBC'}>DES-CBC (64 $Lang::tr{'bit'} not recommended)</option>
-                               <option value='RC2-64-CBC' $selected{'DCIPHER'}{'RC2-64-CBC'}>RC2-CBC (64 $Lang::tr{'bit'} not recommended)</option>
-                               <option value='RC2-40-CBC' $selected{'DCIPHER'}{'RC2-40-CBC'}>RC2-CBC (40 $Lang::tr{'bit'} not recommended)</option>
                        </select>
                </td>
     <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'comp-lzo'}</td>
@@ -5165,24 +5022,41 @@ END
 ###
 
     &Header::openbox('100%', 'LEFT', $Lang::tr{'connection status and controlc' });
-    print <<END;
-
-
-    <table width='100%' cellspacing='1' cellpadding='0' class='tbl'>
-<tr>
-    <th width='10%' class='boldbase' align='center'><b>$Lang::tr{'name'}</b></th>
-    <th width='15%' class='boldbase' align='center'><b>$Lang::tr{'type'}</b></th>
-    <th width='22%' class='boldbase' align='center'><b>$Lang::tr{'network'}</b></th>
-    <th width='20%' class='boldbase' align='center'><b>$Lang::tr{'remark'}</b></th>
-    <th width='10%' class='boldbase' align='center'><b>$Lang::tr{'status'}</b></th>
-    <th width='5%' class='boldbase' colspan='6' align='center'><b>$Lang::tr{'action'}</b></th>
-</tr>
-END
        ;
        my $id = 0;
        my $gif;
        my $col1="";
-       foreach my $key (sort { ncmp ($confighash{$a}[1],$confighash{$b}[1]) } keys %confighash) {
+       my $lastnet;
+       foreach my $key (sort { ncmp ($confighash{$a}[32],$confighash{$b}[32]) } sort { ncmp ($confighash{$a}[1],$confighash{$b}[1]) } keys %confighash) {
+               if ($confighash{$key}[32] eq "" && $confighash{$key}[3] eq 'net' ){$confighash{$key}[32]=$Lang::tr{'fwhost OpenVPN N-2-N'};}
+               if ($confighash{$key}[32] eq "dynamic"){$confighash{$key}[32]=$Lang::tr{'ccd dynrange'};}
+               if($id == 0){
+                       print"<b>$confighash{$key}[32]</b>";
+                       print <<END;
+       <table width='100%' cellspacing='1' cellpadding='0' class='tbl'>
+<tr>
+       <th width='10%' class='boldbase' align='center'><b>$Lang::tr{'name'}</b></th>
+       <th width='15%' class='boldbase' align='center'><b>$Lang::tr{'type'}</b></th>
+       <th width='20%' class='boldbase' align='center'><b>$Lang::tr{'remark'}</b></th>
+       <th width='10%' class='boldbase' align='center'><b>$Lang::tr{'status'}</b></th>
+       <th width='5%' class='boldbase' colspan='6' align='center'><b>$Lang::tr{'action'}</b></th>
+</tr>
+END
+               }
+               if ($id > 0 && $lastnet ne $confighash{$key}[32]){
+                       print "</table><br>";
+                       print"<b>$confighash{$key}[32]</b>";
+                       print <<END;
+       <table width='100%' cellspacing='1' cellpadding='0' class='tbl'>
+<tr>
+       <th width='10%' class='boldbase' align='center'><b>$Lang::tr{'name'}</b></th>
+       <th width='15%' class='boldbase' align='center'><b>$Lang::tr{'type'}</b></th>
+       <th width='20%' class='boldbase' align='center'><b>$Lang::tr{'remark'}</b></th>
+       <th width='10%' class='boldbase' align='center'><b>$Lang::tr{'status'}</b></th>
+       <th width='5%' class='boldbase' colspan='6' align='center'><b>$Lang::tr{'action'}</b></th>
+</tr>
+END
+               }
        if ($confighash{$key}[0] eq 'on') { $gif = 'on.gif'; } else { $gif = 'off.gif'; }
        if ($id % 2) {
                print "<tr>";
@@ -5201,9 +5075,6 @@ END
        my $cavalid = `/usr/bin/openssl x509 -text -in ${General::swroot}/ovpn/certs/$confighash{$key}[1]cert.pem`;
        $cavalid    =~ /Not After : (.*)[\n]/;
        $cavalid    = $1;
-       if ($confighash{$key}[32] eq "" && $confighash{$key}[3] eq 'net' ){$confighash{$key}[32]="net-2-net";}
-       if ($confighash{$key}[32] eq "" && $confighash{$key}[3] eq 'host' ){$confighash{$key}[32]="dynamic";}
-       print "<td align='center' $col>$confighash{$key}[32]</td>";
        print "<td align='center' $col>$confighash{$key}[25]</td>";
        $col1="bgcolor='${Header::colourred}'";
        my $active = "<b><font color='#FFFFFF'>$Lang::tr{'capsclosed'}</font></b>";
@@ -5240,7 +5111,7 @@ END
 #EXITING       -- A graceful exit is in progress.
 ####
 
-               if ($tustate[1] eq 'CONNECTED') {
+               if (($tustate[1] eq 'CONNECTED') || ($tustate[1] eq 'WAIT')) {
                        $col1="bgcolor='${Header::colourgreen}'";
                        $active = "<b><font color='#FFFFFF'>$Lang::tr{'capsopen'}</font></b>";
                }else {
@@ -5332,7 +5203,9 @@ END
 END
        ;
        $id++;
+       $lastnet = $confighash{$key}[32];
     }
+    print"</table>";
     ;
 
     # If the config file contains entries, print Key to action icons
@@ -5377,6 +5250,8 @@ END
     ;
        &Header::closebox();
        }
+
+    # CA/key listing
     &Header::openbox('100%', 'LEFT', "$Lang::tr{'certificate authorities'}");
     print <<END;
     <table width='100%' cellspacing='1' cellpadding='0' class='tbl'>
@@ -5388,7 +5263,12 @@ END
 END
     ;
     my $col1="bgcolor='$color{'color22'}'";
-       my $col2="bgcolor='$color{'color20'}'";
+    my $col2="bgcolor='$color{'color20'}'";
+    # DH parameter line
+    my $col3="bgcolor='$color{'color22'}'";
+    # ta.key line
+    my $col4="bgcolor='$color{'color20'}'";
+
     if (-f "${General::swroot}/ovpn/ca/cacert.pem") {
                my $casubject = `/usr/bin/openssl x509 -text -in ${General::swroot}/ovpn/ca/cacert.pem`;
                $casubject    =~ /Subject: (.*)[\n]/;
@@ -5399,15 +5279,16 @@ END
                <tr>
                        <td class='base' $col1>$Lang::tr{'root certificate'}</td>
                        <td class='base' $col1>$casubject</td>
-               <form method='post' name='frmrootcrta'><td width='3%' align='center' $col1>
+                       <form method='post' name='frmrootcrta'><td width='3%' align='center' $col1>
                        <input type='hidden' name='ACTION' value='$Lang::tr{'show root certificate'}' />
                        <input type='image' name='$Lang::tr{'edit'}' src='/images/info.gif' alt='$Lang::tr{'show root certificate'}' title='$Lang::tr{'show root certificate'}' width='20' height='20' border='0' />
-               </td></form>
-               <form method='post' name='frmrootcrtb'><td width='3%' align='center' $col1>
+                       </form>
+                       <form method='post' name='frmrootcrtb'><td width='3%' align='center' $col1>
                        <input type='image' name='$Lang::tr{'download root certificate'}' src='/images/media-floppy.png' alt='$Lang::tr{'download root certificate'}' title='$Lang::tr{'download root certificate'}' border='0' />
                        <input type='hidden' name='ACTION' value='$Lang::tr{'download root certificate'}' />
-               </td></form>
-               <td width='4%' $col1>&nbsp;</td></tr>
+                       </form>
+                       <td width='4%' $col1>&nbsp;</td>
+               </tr>
 END
                ;
     } else {
@@ -5416,7 +5297,8 @@ END
                <tr>
                        <td class='base' $col1>$Lang::tr{'root certificate'}:</td>
                        <td class='base' $col1>$Lang::tr{'not present'}</td>
-                       <td colspan='3' $col1>&nbsp;</td></tr>
+                       <td colspan='3' $col1>&nbsp;</td>
+               </tr>
 END
                ;
     }
@@ -5432,15 +5314,16 @@ END
                <tr>
                        <td class='base' $col2>$Lang::tr{'host certificate'}</td>
                        <td class='base' $col2>$hostsubject</td>
-               <form method='post' name='frmhostcrta'><td width='3%' align='center' $col2>
+                       <form method='post' name='frmhostcrta'><td width='3%' align='center' $col2>
                        <input type='hidden' name='ACTION' value='$Lang::tr{'show host certificate'}' />
                        <input type='image' name='$Lang::tr{'show host certificate'}' src='/images/info.gif' alt='$Lang::tr{'show host certificate'}' title='$Lang::tr{'show host certificate'}' width='20' height='20' border='0' />
-               </td></form>
-               <form method='post' name='frmhostcrtb'><td width='3%' align='center' $col2>
+                       </form>
+                       <form method='post' name='frmhostcrtb'><td width='3%' align='center' $col2>
                        <input type='image' name="$Lang::tr{'download host certificate'}" src='/images/media-floppy.png' alt="$Lang::tr{'download host certificate'}" title="$Lang::tr{'download host certificate'}" border='0' />
                        <input type='hidden' name='ACTION' value="$Lang::tr{'download host certificate'}" />
-               </td></form>
-               <td width='4%' $col2>&nbsp;</td></tr>
+                       </td></form>
+                       <td width='4%' $col2>&nbsp;</td>
+               </tr>
 END
                ;
     } else {
@@ -5449,7 +5332,75 @@ END
                <tr>
                        <td width='25%' class='base' $col2>$Lang::tr{'host certificate'}:</td>
                        <td class='base' $col2>$Lang::tr{'not present'}</td>
-               </td><td colspan='3' $col2>&nbsp;</td></tr>
+                       </td><td colspan='3' $col2>&nbsp;</td>
+               </tr>
+END
+               ;
+    }
+
+    # Adding DH parameter to chart
+    if (-f "${General::swroot}/ovpn/ca/dh1024.pem") {
+               my $dhsubject = `/usr/bin/openssl dhparam -text -in ${General::swroot}/ovpn/ca/dh1024.pem`;
+               $dhsubject    =~ /    (.*)[\n]/;
+               $dhsubject    = $1;
+
+
+       print <<END;
+               <tr>
+                       <td class='base' $col3>$Lang::tr{'dh parameter'}</td>
+                       <td class='base' $col3>$dhsubject</td>
+                       <form method='post' name='frmdhparam'><td width='3%' align='center' $col3>
+                       <input type='hidden' name='ACTION' value='$Lang::tr{'show dh'}' />
+                       <input type='image' name='$Lang::tr{'show dh'}' src='/images/info.gif' alt='$Lang::tr{'show dh'}' title='$Lang::tr{'show dh'}' width='20' height='20' border='0' />
+                       </form>
+                       <form method='post' name='frmdhparam'><td width='3%' align='center' $col3>
+                       </form>
+                       <td width='4%' $col3>&nbsp;</td>
+               </tr>
+END
+               ;
+    } else {
+               # Nothing
+               print <<END;
+               <tr>
+                       <td width='25%' class='base' $col3>$Lang::tr{'dh parameter'}:</td>
+                       <td class='base' $col3>$Lang::tr{'not present'}</td>
+                       </td><td colspan='3' $col3>&nbsp;</td>
+               </tr>
+END
+               ;
+    }
+
+    # Adding ta.key to chart
+    if (-f "${General::swroot}/ovpn/certs/ta.key") {
+               my $tasubject = `/bin/cat ${General::swroot}/ovpn/certs/ta.key`;
+               $tasubject    =~ /# (.*)[\n]/;
+               $tasubject    = $1;
+               print <<END;
+
+               <tr>
+                       <td class='base' $col4>$Lang::tr{'ta key'}</td>
+                       <td class='base' $col4>$tasubject</td>
+                       <form method='post' name='frmtakey'><td width='3%' align='center' $col4>
+                       <input type='hidden' name='ACTION' value='$Lang::tr{'show tls-auth key'}' />
+                       <input type='image' name='$Lang::tr{'edit'}' src='/images/info.gif' alt='$Lang::tr{'show tls-auth key'}' title='$Lang::tr{'show tls-auth key'}' width='20' height='20' border='0' />
+                       </form>
+                       <form method='post' name='frmtakey'><td width='3%' align='center' $col4>
+                       <input type='image' name='$Lang::tr{'download tls-auth key'}' src='/images/media-floppy.png' alt='$Lang::tr{'download tls-auth key'}' title='$Lang::tr{'download tls-auth key'}' border='0' />
+                       <input type='hidden' name='ACTION' value='$Lang::tr{'download tls-auth key'}' />
+                       </form>
+                       <td width='4%' $col4>&nbsp;</td>
+               </tr>
+END
+               ;
+    } else {
+               # Nothing
+               print <<END;
+               <tr>
+                       <td width='25%' class='base' $col4>$Lang::tr{'ta key'}:</td>
+                       <td class='base' $col4>$Lang::tr{'not present'}</td>
+                       <td colspan='3' $col4>&nbsp;</td>
+               </tr>
 END
                ;
     }
@@ -5512,6 +5463,9 @@ END
        <hr size='1'>
        <form method='post' enctype='multipart/form-data'>
        <table width='100%' border='0'cellspacing='1' cellpadding='0'>
+       <tr>
+               <td class'base'><b>$Lang::tr{'upload ca certificate'}</b></td>
+       </tr>
        <tr>
                <td class='base' nowrap='nowrap'>$Lang::tr{'ca name'}:</td>
                <td nowrap='nowrap'><input type='text' name='CA_NAME' value='$cgiparams{'CA_NAME'}' size='15' align='left'/></td>
@@ -5519,22 +5473,29 @@ END
                <td nowrap='nowrap' align='right'><input type='submit' name='ACTION' value='$Lang::tr{'upload ca certificate'}' /></td>
        </tr>
 
+       <tr align='right'>
+               <td colspan='4' align='right' width='80%'><input type='submit' name='ACTION' value='$Lang::tr{'show crl'}' /></td>
+       </tr>
+
+       <tr><td colspan=4><hr /></td></tr><tr>
+       <tr>
+               <td class'base'><b>$Lang::tr{'ovpn dh parameters'}</b></td>
+       </tr>
+
        <tr>
                <td class='base' nowrap='nowrap'>$Lang::tr{'ovpn dh upload'}:</td>
                <td nowrap='nowrap'><size='15' align='left'/></td>
                <td nowrap='nowrap'><input type='file' name='FH' size='25' />
                <td colspan='4' align='right'><input type='submit' name='ACTION' value='$Lang::tr{'upload dh key'}' /></td>
        </tr>
-       <tr><td colspan='4'><br></td></tr>
        <tr>
+               <td class='base' nowrap='nowrap'>$Lang::tr{'ovpn dh new key'}:</td>
+               <td nowrap='nowrap'><size='15' align='left'/></td>
                <td nowrap='nowrap'><input type='submit' name='ACTION' value='$Lang::tr{'generate dh key'}' /></td>
-               <td colspan='4' align='right'><input type='submit' name='ACTION' value='$Lang::tr{'show dh'}' /></td>
-       </tr>
-
-       <tr align='right'>
-               <td colspan='4' align='right' width='80%'><input type='submit' name='ACTION' value='$Lang::tr{'show crl'}' /></td>
        </tr>
        </table>
+       
+       <tr><td colspan=4><hr /></td></tr><tr>
 END
        ;
 
index 7bceb80ee74230fbbbea1cb9440147cf7e6e5b4d..33f521e7569adcb7bf640ce44e0b81c59be280ab 100644 (file)
@@ -2,7 +2,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2011  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2014  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -70,10 +70,10 @@ elsif ($pppsettings{'ACTION'} eq $Lang::tr{'refresh'})
 }
 elsif ($pppsettings{'ACTION'} eq $Lang::tr{'save'})
 {
-        if ($pppsettings{'TYPE'} =~ /^(modem|serial|isdn)$/ && $pppsettings{'COMPORT'} !~ /^(ttyS0|ttyS1|ttyS2|ttyS3|ttyS4|ttyACM0|ttyACM1|ttyACM2|ttyACM3|ttyUSB0|ttyUSB1|ttyUSB2|ttyUSB3|rfcomm0|rfcomm1|isdn1|isdn2)$/) {
+        if ($pppsettings{'TYPE'} =~ /^(modem|serial|isdn)$/ && $pppsettings{'COMPORT'} !~ /^(ttyS0|ttyS1|ttyS2|ttyS3|ttyS4|ttyACM[0-9]|ttyUSB[0-9]|rfcomm0|rfcomm1|isdn1|isdn2)$/) {
                 $errormessage = $Lang::tr{'invalid input'};
                 goto ERROR; }
-        if ($pppsettings{'TYPE'} =~ /^(modem|serial|isdn)$/ && $pppsettings{'MONPORT'} !~ /^(ttyUSB0|ttyUSB1|ttyUSB2|ttyUSB3)$/) {
+        if ($pppsettings{'TYPE'} =~ /^(modem|serial|isdn)$/ && $pppsettings{'MONPORT'} !~ /^(|ttyACM[0-9]|ttyUSB[0-9]|rfcomm0|rfcomm1)$/) {
                 $errormessage = $Lang::tr{'invalid input'};
                 goto ERROR; }
         if ($pppsettings{'TYPE'} =~ /^(modem|serial)$/ && $pppsettings{'DTERATE'} !~ /^(9600|19200|38400|57600|115200|230400|460800|921600)$/) {
@@ -333,19 +333,49 @@ $selected{'COMPORT'}{'ttyACM0'} = '';
 $selected{'COMPORT'}{'ttyACM1'} = '';
 $selected{'COMPORT'}{'ttyACM2'} = '';
 $selected{'COMPORT'}{'ttyACM3'} = '';
+$selected{'COMPORT'}{'ttyACM4'} = '';
+$selected{'COMPORT'}{'ttyACM5'} = '';
+$selected{'COMPORT'}{'ttyACM6'} = '';
+$selected{'COMPORT'}{'ttyACM7'} = '';
+$selected{'COMPORT'}{'ttyACM8'} = '';
+$selected{'COMPORT'}{'ttyACM9'} = '';
 $selected{'COMPORT'}{'ttyUSB0'} = '';
 $selected{'COMPORT'}{'ttyUSB1'} = '';
 $selected{'COMPORT'}{'ttyUSB2'} = '';
 $selected{'COMPORT'}{'ttyUSB3'} = '';
+$selected{'COMPORT'}{'ttyUSB4'} = '';
+$selected{'COMPORT'}{'ttyUSB5'} = '';
+$selected{'COMPORT'}{'ttyUSB6'} = '';
+$selected{'COMPORT'}{'ttyUSB7'} = '';
+$selected{'COMPORT'}{'ttyUSB8'} = '';
+$selected{'COMPORT'}{'ttyUSB9'} = '';
 $selected{'COMPORT'}{'rfcomm0'} = '';
 $selected{'COMPORT'}{'rfcomm1'} = '';
 $selected{'COMPORT'}{$pppsettings{'COMPORT'}} = "selected='selected'";
 
 $selected{'MONPORT'}{''} = '';
+$selected{'MONPORT'}{'ttyACM0'} = '';
+$selected{'MONPORT'}{'ttyACM1'} = '';
+$selected{'MONPORT'}{'ttyACM2'} = '';
+$selected{'MONPORT'}{'ttyACM3'} = '';
+$selected{'MONPORT'}{'ttyACM4'} = '';
+$selected{'MONPORT'}{'ttyACM5'} = '';
+$selected{'MONPORT'}{'ttyACM6'} = '';
+$selected{'MONPORT'}{'ttyACM7'} = '';
+$selected{'MONPORT'}{'ttyACM8'} = '';
+$selected{'MONPORT'}{'ttyACM9'} = '';
 $selected{'MONPORT'}{'ttyUSB0'} = '';
 $selected{'MONPORT'}{'ttyUSB1'} = '';
 $selected{'MONPORT'}{'ttyUSB2'} = '';
 $selected{'MONPORT'}{'ttyUSB3'} = '';
+$selected{'MONPORT'}{'ttyUSB4'} = '';
+$selected{'MONPORT'}{'ttyUSB5'} = '';
+$selected{'MONPORT'}{'ttyUSB6'} = '';
+$selected{'MONPORT'}{'ttyUSB7'} = '';
+$selected{'MONPORT'}{'ttyUSB8'} = '';
+$selected{'MONPORT'}{'ttyUSB9'} = '';
+$selected{'MONPORT'}{'rfcomm0'} = '';
+$selected{'MONPORT'}{'rfcomm1'} = '';
 $selected{'MONPORT'}{$pppsettings{'MONPORT'}} = "selected='selected'";
 
 $selected{'DTERATE'}{'9600'} = '';
@@ -582,16 +612,28 @@ END
                 <option value='ttyUSB1' $selected{'COMPORT'}{'ttyUSB1'}>ttyUSB1</option>
                 <option value='ttyUSB2' $selected{'COMPORT'}{'ttyUSB2'}>ttyUSB2</option>
                 <option value='ttyUSB3' $selected{'COMPORT'}{'ttyUSB3'}>ttyUSB3</option>
+                <option value='ttyUSB4' $selected{'COMPORT'}{'ttyUSB4'}>ttyUSB4</option>
+                <option value='ttyUSB5' $selected{'COMPORT'}{'ttyUSB5'}>ttyUSB5</option>
+                <option value='ttyUSB6' $selected{'COMPORT'}{'ttyUSB6'}>ttyUSB6</option>
+                <option value='ttyUSB7' $selected{'COMPORT'}{'ttyUSB7'}>ttyUSB7</option>
+                <option value='ttyUSB8' $selected{'COMPORT'}{'ttyUSB8'}>ttyUSB8</option>
+                <option value='ttyUSB9' $selected{'COMPORT'}{'ttyUSB9'}>ttyUSB9</option>
                 <option value='rfcomm0' $selected{'COMPORT'}{'rfcomm0'}>rfcomm0 (bluetooth)</option>
                 <option value='rfcomm1' $selected{'COMPORT'}{'rfcomm1'}>rfcomm1 (bluetooth)</option>
 END
 ;
                 if ($pppsettings{'TYPE'} ne 'serial' ) {
                         print <<END
-                <option value='ttyACM0' $selected{'COMPORT'}{'ttyACM0'}>$Lang::tr{'usb modem on acm0'}</option>
-                <option value='ttyACM1' $selected{'COMPORT'}{'ttyACM1'}>$Lang::tr{'usb modem on acm1'}</option>
-                <option value='ttyACM2' $selected{'COMPORT'}{'ttyACM2'}>$Lang::tr{'usb modem on acm2'}</option>
-                <option value='ttyACM3' $selected{'COMPORT'}{'ttyACM3'}>$Lang::tr{'usb modem on acm3'}</option>
+                <option value='ttyACM0' $selected{'COMPORT'}{'ttyACM0'}>ttyACM0</option>
+                <option value='ttyACM1' $selected{'COMPORT'}{'ttyACM1'}>ttyACM1</option>
+                <option value='ttyACM2' $selected{'COMPORT'}{'ttyACM2'}>ttyACM2</option>
+                <option value='ttyACM3' $selected{'COMPORT'}{'ttyACM3'}>ttyACM3</option>
+                <option value='ttyACM4' $selected{'COMPORT'}{'ttyACM4'}>ttyACM4</option>
+                <option value='ttyACM5' $selected{'COMPORT'}{'ttyACM5'}>ttyACM5</option>
+                <option value='ttyACM6' $selected{'COMPORT'}{'ttyACM6'}>ttyACM6</option>
+                <option value='ttyACM7' $selected{'COMPORT'}{'ttyACM7'}>ttyACM7</option>
+                <option value='ttyACM8' $selected{'COMPORT'}{'ttyACM8'}>ttyACM8</option>
+                <option value='ttyACM9' $selected{'COMPORT'}{'ttyACM9'}>ttyACM9</option>
 END
 ;
                 }
@@ -608,6 +650,24 @@ END
                                                <option value="ttyUSB1" $selected{'MONPORT'}{'ttyUSB1'}>ttyUSB1</option>
                                                <option value="ttyUSB2" $selected{'MONPORT'}{'ttyUSB2'}>ttyUSB2</option>
                                                <option value="ttyUSB3" $selected{'MONPORT'}{'ttyUSB3'}>ttyUSB3</option>
+                                               <option value="ttyUSB4" $selected{'MONPORT'}{'ttyUSB4'}>ttyUSB4</option>
+                                               <option value="ttyUSB5" $selected{'MONPORT'}{'ttyUSB5'}>ttyUSB5</option>
+                                               <option value="ttyUSB6" $selected{'MONPORT'}{'ttyUSB6'}>ttyUSB6</option>
+                                               <option value="ttyUSB7" $selected{'MONPORT'}{'ttyUSB7'}>ttyUSB7</option>
+                                               <option value="ttyUSB8" $selected{'MONPORT'}{'ttyUSB8'}>ttyUSB8</option>
+                                               <option value="ttyUSB9" $selected{'MONPORT'}{'ttyUSB9'}>ttyUSB9</option>
+                                               <option value="rfcomm0" $selected{'COMPORT'}{'rfcomm0'}>rfcomm0 (bluetooth)</option>
+                                               <option value="rfcomm1" $selected{'COMPORT'}{'rfcomm1'}>rfcomm1 (bluetooth)</option>
+                                               <option value="ttyACM0" $selected{'COMPORT'}{'ttyACM0'}>ttyACM0</option>
+                                               <option value="ttyACM1" $selected{'COMPORT'}{'ttyACM1'}>ttyACM1</option>
+                                               <option value="ttyACM2" $selected{'COMPORT'}{'ttyACM2'}>ttyACM2</option>
+                                               <option value="ttyACM3" $selected{'COMPORT'}{'ttyACM3'}>ttyACM3</option>
+                                               <option value="ttyACM4" $selected{'COMPORT'}{'ttyACM4'}>ttyACM4</option>
+                                               <option value="ttyACM5" $selected{'COMPORT'}{'ttyACM5'}>ttyACM5</option>
+                                               <option value="ttyACM6" $selected{'COMPORT'}{'ttyACM6'}>ttyACM6</option>
+                                               <option value="ttyACM7" $selected{'COMPORT'}{'ttyACM7'}>ttyACM7</option>
+                                               <option value="ttyACM8" $selected{'COMPORT'}{'ttyACM8'}>ttyACM8</option>
+                                               <option value="ttyACM9" $selected{'COMPORT'}{'ttyACM9'}>ttyACM9</option>
                                        </select>
                                </td>
                        </tr>
index 2a9d49394276a83233b4928b5737b1facb5141e9..772852bb8f1f11f9d3eeb3922e19d2ac8a38aedf 100644 (file)
@@ -172,6 +172,8 @@ unless (-e $acl_include) { system("touch $acl_include"); }
 unless (-e $browserdb) { system("touch $browserdb"); }
 unless (-e $mimetypes) { system("touch $mimetypes"); }
 
+my $HAVE_NTLM_AUTH = (-e "/usr/bin/ntlm_auth");
+
 open FILE, $browserdb;
 @useragentlist = sort { reverse(substr(reverse(substr($a,index($a,',')+1)),index(reverse(substr($a,index($a,','))),',')+1)) cmp reverse(substr(reverse(substr($b,index($b,',')+1)),index(reverse(substr($b,index($b,','))),',')+1))} grep !/(^$)|(^\s*#)/,<FILE>;
 close(FILE);
@@ -264,6 +266,8 @@ $proxysettings{'LDAP_PORT'} = '389';
 $proxysettings{'LDAP_BINDDN_USER'} = '';
 $proxysettings{'LDAP_BINDDN_PASS'} = '';
 $proxysettings{'LDAP_GROUP'} = '';
+$proxysettings{'NTLM_AUTH_GROUP'} = '';
+$proxysettings{'NTLM_AUTH_BASIC'} = 'off';
 $proxysettings{'NTLM_DOMAIN'} = '';
 $proxysettings{'NTLM_PDC'} = '';
 $proxysettings{'NTLM_BDC'} = '';
@@ -860,6 +864,7 @@ $checked{'AUTH_METHOD'}{'ncsa'} = '';
 $checked{'AUTH_METHOD'}{'ident'} = '';
 $checked{'AUTH_METHOD'}{'ldap'} = '';
 $checked{'AUTH_METHOD'}{'ntlm'} = '';
+$checked{'AUTH_METHOD'}{'ntlm-auth'} = '';
 $checked{'AUTH_METHOD'}{'radius'} = '';
 $checked{'AUTH_METHOD'}{$proxysettings{'AUTH_METHOD'}} = "checked='checked'";
 
@@ -891,6 +896,10 @@ $checked{'NTLM_USER_ACL'}{'positive'} = '';
 $checked{'NTLM_USER_ACL'}{'negative'} = '';
 $checked{'NTLM_USER_ACL'}{$proxysettings{'NTLM_USER_ACL'}} = "checked='checked'";
 
+$checked{'NTLM_AUTH_BASIC'}{'on'} = '';
+$checked{'NTLM_AUTH_BASIC'}{'off'} = '';
+$checked{'NTLM_AUTH_BASIC'}{$proxysettings{'NTLM_AUTH_BASIC'}} = "checked='checked'";
+
 $checked{'RADIUS_ENABLE_ACL'}{'off'} = '';
 $checked{'RADIUS_ENABLE_ACL'}{'on'} = '';
 $checked{'RADIUS_ENABLE_ACL'}{$proxysettings{'RADIUS_ENABLE_ACL'}} = "checked='checked'";
@@ -1686,18 +1695,33 @@ print <<END
 END
 ;
 
-print <<END
+my $auth_columns = 5;
+if ($HAVE_NTLM_AUTH) {
+       $auth_columns++;
+}
+my $auth_column_width = 100 / $auth_columns;
+
+print <<END;
 <table width='100%'>
 <tr>
-       <td colspan='5'><b>$Lang::tr{'advproxy AUTH method'}</b></td>
+       <td colspan='$auth_columns'><b>$Lang::tr{'advproxy AUTH method'}</b></td>
 </tr>
 <tr>
-       <td width='16%' class='base'><input type='radio' name='AUTH_METHOD' value='none' $checked{'AUTH_METHOD'}{'none'} />$Lang::tr{'advproxy AUTH method none'}</td>
-       <td width='16%' class='base'><input type='radio' name='AUTH_METHOD' value='ncsa' $checked{'AUTH_METHOD'}{'ncsa'} />$Lang::tr{'advproxy AUTH method ncsa'}</td>
-       <td width='16%' class='base'><input type='radio' name='AUTH_METHOD' value='ident' $checked{'AUTH_METHOD'}{'ident'} />$Lang::tr{'advproxy AUTH method ident'}</td>
-       <td width='16%' class='base'><input type='radio' name='AUTH_METHOD' value='ldap' $checked{'AUTH_METHOD'}{'ldap'} />$Lang::tr{'advproxy AUTH method ldap'}</td>
-       <td width='16%' class='base'><input type='radio' name='AUTH_METHOD' value='ntlm' $checked{'AUTH_METHOD'}{'ntlm'} />$Lang::tr{'advproxy AUTH method ntlm'}</td>
-       <td width='16%' class='base'><input type='radio' name='AUTH_METHOD' value='radius' $checked{'AUTH_METHOD'}{'radius'} />$Lang::tr{'advproxy AUTH method radius'}</td>
+       <td width='$auth_column_width%' class='base'><input type='radio' name='AUTH_METHOD' value='none' $checked{'AUTH_METHOD'}{'none'} />$Lang::tr{'advproxy AUTH method none'}</td>
+       <td width='$auth_column_width%' class='base'><input type='radio' name='AUTH_METHOD' value='ncsa' $checked{'AUTH_METHOD'}{'ncsa'} />$Lang::tr{'advproxy AUTH method ncsa'}</td>
+       <td width='$auth_column_width%' class='base'><input type='radio' name='AUTH_METHOD' value='ident' $checked{'AUTH_METHOD'}{'ident'} />$Lang::tr{'advproxy AUTH method ident'}</td>
+       <td width='$auth_column_width%' class='base'><input type='radio' name='AUTH_METHOD' value='ldap' $checked{'AUTH_METHOD'}{'ldap'} />$Lang::tr{'advproxy AUTH method ldap'}</td>
+       <td width='$auth_column_width%' class='base'><input type='radio' name='AUTH_METHOD' value='ntlm' $checked{'AUTH_METHOD'}{'ntlm'} />$Lang::tr{'advproxy AUTH method ntlm'}</td>
+END
+
+if ($HAVE_NTLM_AUTH) {
+       print <<END;
+       <td width='$auth_column_width%' class='base'><input type='radio' name='AUTH_METHOD' value='ntlm-auth' $checked{'AUTH_METHOD'}{'ntlm-auth'} />$Lang::tr{'advproxy AUTH method ntlm auth'}</td>
+END
+}
+
+print <<END
+       <td width='$auth_column_width%' class='base'><input type='radio' name='AUTH_METHOD' value='radius' $checked{'AUTH_METHOD'}{'radius'} />$Lang::tr{'advproxy AUTH method radius'}</td>
 </tr>
 </table>
 END
@@ -1976,6 +2000,35 @@ if ($proxysettings{'AUTH_METHOD'} eq 'ntlm') { print <<END
 END
 ; }
 
+# ===================================================================
+#  NTLM-AUTH settings
+# ===================================================================
+
+if ($proxysettings{'AUTH_METHOD'} eq 'ntlm-auth') {
+       print <<END;
+               <hr size ='1'>
+               <table width='100%'>
+                       <td width='20%' class='base'>$Lang::tr{'advproxy basic authentication'}:</td>
+                       <td width='40%'><input type='checkbox' name='NTLM_AUTH_BASIC' $checked{'NTLM_AUTH_BASIC'}{'on'} /></td>
+                       <td colspan='2'>&nbsp;</td>
+               </table>
+
+               <hr size='1' />
+
+               <table width='100%'>
+                       <tr>
+                               <td colspan='4'><b>$Lang::tr{'advproxy group access control'}</b></td>
+                       </tr>
+                       <tr>
+                               <td width='20%' class='base'>$Lang::tr{'advproxy group required'}:&nbsp;<img src='/blob.gif' alt='*' /></td>
+                               <td width='40%'><input type='text' name='NTLM_AUTH_GROUP' value='$proxysettings{'NTLM_AUTH_GROUP'}' size='37' /></td>
+                               <td>&nbsp;</td>
+                               <td>&nbsp;</td>
+                       </tr>
+       </table>
+END
+}
+
 # ===================================================================
 #  LDAP auth settings
 # ===================================================================
@@ -3143,7 +3196,6 @@ END
        print FILE <<END
 
 cache_effective_user squid
-cache_effective_group squid
 umask 022
 
 pid_filename /var/run/squid.pid
@@ -3169,9 +3221,35 @@ END
                print FILE "\n";
        }
 
-       if ($proxysettings{'CACHE_SIZE'} ne '0')
+       if ($proxysettings{'CACHE_SIZE'} > 0) {
+               print FILE <<END
+maximum_object_size $proxysettings{'MAX_SIZE'} KB
+minimum_object_size $proxysettings{'MIN_SIZE'} KB
+
+cache_dir aufs /var/log/cache $proxysettings{'CACHE_SIZE'} $proxysettings{'L1_DIRS'} 256
+END
+               ;
+       } else {
+               print FILE "cache deny all\n\n";
+       }
+
+       print FILE <<END
+request_body_max_size $proxysettings{'MAX_OUTGOING_SIZE'} KB
+END
+       ;
+
+       if ($proxysettings{'MAX_INCOMING_SIZE'} > 0) {
+               if (!-z $acl_src_unrestricted_ip) { print FILE "reply_body_max_size none IPFire_unrestricted_ips\n"; }
+               if (!-z $acl_src_unrestricted_mac) { print FILE "reply_body_max_size none IPFire_unrestricted_mac\n"; }
+               if ($proxysettings{'AUTH_METHOD'} eq 'ncsa')
+               {
+                       if (!-z $extgrp) { print FILE "reply_body_max_size none for_extended_users\n"; }
+               }
+       }
+
+       if ( $proxysettings{'MAX_INCOMING_SIZE'} != '0' )
        {
-               print FILE "cache_dir aufs /var/log/cache $proxysettings{'CACHE_SIZE'} $proxysettings{'L1_DIRS'} 256\n\n";
+               print FILE "reply_body_max_size $proxysettings{'MAX_INCOMING_SIZE'} KB all\n\n";
        }
 
        if ($proxysettings{'LOGGING'} eq 'on')
@@ -3300,6 +3378,35 @@ END
                        }
                }
 
+               if ($proxysettings{'AUTH_METHOD'} eq 'ntlm-auth')
+               {
+                       print FILE "auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp";
+                       if ($proxysettings{'NTLM_AUTH_GROUP'}) {
+                               my $ntlm_auth_group = $proxysettings{'NTLM_AUTH_GROUP'};
+                               $ntlm_auth_group =~ s/\\/\+/;
+
+                               print FILE " --require-membership-of=\"$ntlm_auth_group\"";
+                       }
+                       print FILE "\n";
+
+                       print FILE "auth_param ntlm children $proxysettings{'AUTH_CHILDREN'}\n\n";
+
+                       # BASIC authentication
+                       if ($proxysettings{'NTLM_AUTH_BASIC'} eq "on") {
+                               print FILE "auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic";
+                               if ($proxysettings{'NTLM_AUTH_GROUP'}) {
+                                       my $ntlm_auth_group = $proxysettings{'NTLM_AUTH_GROUP'};
+                                       $ntlm_auth_group =~ s/\\/\+/;
+
+                                       print FILE " --require-membership-of=\"$ntlm_auth_group\"";
+                               }
+                               print FILE "\n";
+                               print FILE "auth_param basic children 10\n";
+                               print FILE "auth_param basic realm IPFire Web Proxy Server\n";
+                               print FILE "auth_param basic credentialsttl 2 hours\n\n";
+                       }
+               }
+
                if ($proxysettings{'AUTH_METHOD'} eq 'radius')
                {
                        print FILE "auth_param basic program $authdir/basic_radius_auth -h $proxysettings{'RADIUS_SERVER'} -p $proxysettings{'RADIUS_PORT'} ";
@@ -3396,19 +3503,25 @@ END
        }
 
 open (PORTS,"$acl_ports_ssl");
-@temp = <PORTS>;
+my @ssl_ports = <PORTS>;
 close PORTS;
-if (@temp)
-{
-       foreach (@temp) { print FILE "acl SSL_ports port $_"; }
+
+if (@ssl_ports) {
+       foreach (@ssl_ports) {
+               print FILE "acl SSL_ports port $_";
+       }
 }
+
 open (PORTS,"$acl_ports_safe");
-@temp = <PORTS>;
+my @safe_ports = <PORTS>;
 close PORTS;
-if (@temp)
-{
-       foreach (@temp) { print FILE "acl Safe_ports port $_"; }
+
+if (@safe_ports) {
+       foreach (@safe_ports) {
+               print FILE "acl Safe_ports port $_";
+       }
 }
+
        print FILE <<END
 
 acl IPFire_http  port $http_port
@@ -3498,7 +3611,7 @@ END
                print FILE "http_access deny purge\n";
                print FILE "url_rewrite_access deny localhost\n";
        }
-       print FILE <<END
+       print FILE <<END;
 
 #Access to squid:
 #local machine, no restriction
@@ -3509,11 +3622,15 @@ http_access allow         IPFire_ips IPFire_networks IPFire_http
 http_access allow CONNECT IPFire_ips IPFire_networks IPFire_https
 
 #Deny not web services
-http_access deny          !Safe_ports
-http_access deny  CONNECT !SSL_ports
-
 END
-       ;
+
+if (@safe_ports) {
+       print FILE "http_access deny          !Safe_ports\n";
+}
+
+if (@ssl_ports) {
+       print FILE "http_access deny  CONNECT !SSL_ports\n";
+}
 
 if ($proxysettings{'AUTH_METHOD'} eq 'ident')
 {
@@ -3941,34 +4058,6 @@ END
                print FILE "http_reply_access allow all\n\n";
        }
 
-       if ($proxysettings{'CACHE_SIZE'} > 0)
-       {
-               print FILE <<END
-maximum_object_size $proxysettings{'MAX_SIZE'} KB
-minimum_object_size $proxysettings{'MIN_SIZE'} KB
-
-END
-               ;
-       } else { print FILE "cache deny all\n\n";       }
-
-       print FILE <<END
-request_body_max_size $proxysettings{'MAX_OUTGOING_SIZE'} KB
-END
-       ;
-       if ($proxysettings{'MAX_INCOMING_SIZE'} > 0) {
-               if (!-z $acl_src_unrestricted_ip) { print FILE "reply_body_max_size none IPFire_unrestricted_ips\n"; }
-               if (!-z $acl_src_unrestricted_mac) { print FILE "reply_body_max_size none IPFire_unrestricted_mac\n"; }
-               if ($proxysettings{'AUTH_METHOD'} eq 'ncsa')
-               {
-                       if (!-z $extgrp) { print FILE "reply_body_max_size none for_extended_users\n"; }
-               }
-       }
-       
-       if ( $proxysettings{'MAX_INCOMING_SIZE'} != '0' )
-       {
-               print FILE "reply_body_max_size $proxysettings{'MAX_INCOMING_SIZE'} KB all\n\n";
-       }
-
        print FILE "visible_hostname";
        if ($proxysettings{'VISIBLE_HOSTNAME'} eq '')
        {
index 5798fb89689172ccf8a8903ac1295da809616b4f..c460a74e7ca1ab56d4d2dd44f8ecc9d69f9df6c2 100644 (file)
@@ -134,6 +134,27 @@ if ($settings{'ACTION'} eq $Lang::tr{'add'}) {
        $errormessage = $Lang::tr{'invalid ip'}. " - ".$Lang::tr{'gateway ip'};
        }
 
+       #set networkip if not already correctly defined
+       my($ip,$cidr) = split(/\//,$settings{'IP'});
+       my $netip=&General::getnetworkip($ip,$cidr);
+       $settings{'IP'} = "$netip/$cidr";
+
+       #Check for already existing routing entry
+       foreach my $line (@current) {
+               chomp($line);                           # remove newline
+               my @temp=split(/\,/,$line);
+               $temp[2] ='' unless defined $temp[2]; # not always populated
+               $temp[3] ='' unless defined $temp[2]; # not always populated
+               #Same ip already used?
+               if($temp[1] eq $settings{'IP'}){
+                       $errormessage = $Lang::tr{'ccd err irouteexist'};
+                       last;
+               }
+               #Is the network part of an internal network?
+               $errormessage .= &General::check_net_internal($settings{'IP'});
+               last;
+       }
+
     unless ($errormessage) {
        if ($settings{'KEY1'} eq '') { #add or edit ?
            unshift (@current, "$settings{'EN'},$settings{'IP'},$settings{'GATEWAY'},$settings{'REMARK'}\n");
index bfa0b89edb272fc013fb65a87543f4653af626a3..0e1409c73bf3294ae76e37e42042ced9b90318bc 100644 (file)
@@ -67,8 +67,7 @@ $ovpnip[3]=$ovpnip[3]+1;
 ############################################################################################################################
 ############################################# Samba Dienste fr Statusberprfung ##########################################
 
-my %servicenames = ('SMB Daemon' => 'smbd','NetBIOS Nameserver' => 'nmbd');
-#my %servicenames = ('SMB Daemon' => 'smbd','NetBIOS Nameserver' => 'nmbd','Winbind Daemon' => 'winbindd');
+my %servicenames = ('SMB Daemon' => 'smbd', 'NetBIOS Nameserver' => 'nmbd', 'Winbind Daemon' => 'winbindd');
 
 &Header::showhttpheaders();
 
@@ -192,6 +191,10 @@ if ($sambasettings{'ACTION'} eq 'globalresetyes')
        refreshpage();
        }
 
+if ($sambasettings{'ACTION'} eq 'join') {
+       $message .= &joindomain($sambasettings{'USERNAME'}, $sambasettings{'PASSWORD'});
+}
+
 ############################################################################################################################
 ################################################ Sicherheitsabfrage für den Reset ##########################################
 
@@ -276,6 +279,7 @@ print FILE <<END
 netbios name = $sambasettings{'NETBIOSNAME'}
 server string = $sambasettings{'SRVSTRING'}
 workgroup = $sambasettings{'WORKGRP'}
+realm = $mainsettings{'DOMAINNAME'}
 passdb backend = smbpasswd
 
 wide links = $sambasettings{'WIDELINKS'}
@@ -315,8 +319,12 @@ username level = 1
 wins support = $sambasettings{'WINSSUPPORT'}
 wins server = $sambasettings{'WINSSRV'}
 
+winbind separator = +
+winbind uid = 10000-20000
+winbind gid = 10000-20000
+winbind use default domain = yes
+
 log file       = /var/log/samba/samba-log.%m
-lock directory = /var/lock/samba
 pid directory  = /var/run/
 log level = $sambasettings{'LOGLEVEL'}
 syslog = $sambasettings{'SYSLOGLEVEL'}
@@ -384,6 +392,15 @@ if ($errormessage)
        &Header::closebox();
        }
 
+if ($message) {
+       $message = &Header::cleanhtml($message);
+       $message =~ s/\n/<br>/g;
+
+       &Header::openbox('100%', 'left', $Lang::tr{'messages'});
+       print "$message\n";
+       &Header::closebox();
+}
+
 ############################################################################################################################
 ########################################## Aktivieren von Checkboxen und Dropdowns #########################################
 
@@ -440,14 +457,6 @@ $selected{'SECURITY'}{$sambasettings{'SECURITY'}} = "selected='selected'";
 print <<END
 <br />
 <table width='95%' cellspacing='0'>
-END
-;
-if ( $message ne "" )
-       {
-       print "<tr><td colspan='3' align='left'><font color='red'>$message</font>";
-       }
-
-print <<END
 <tr bgcolor='$color{'color20'}'><td colspan='2' align='left'><b>$Lang::tr{'all services'}</b></td></tr>
 </table><table width='95%' cellspacing='0'>
 END
@@ -875,6 +884,55 @@ END
 &Header::closebox();
 }
 
+if ($sambasettings{'SECURITY'} eq "ADS") {
+       &Header::openbox('100%', 'center', $Lang::tr{'samba join a domain'});
+
+       my $AD_DOMAINNAME = uc($mainsettings{'DOMAINNAME'});
+
+       print <<END;
+       <form method="POST" action="$ENV{'SCRIPT_NAME'}">
+               <input type="hidden" name="ACTION" value="join">
+
+               <table width="95%">
+                       <tbody>
+                               <tr>
+                                       <td width="40%">
+                                               $Lang::tr{'domain'}
+                                       </td>
+                                       <td>
+                                               $AD_DOMAINNAME
+                                       </td>
+                               </tr>
+                               <tr>
+                                       <td width="40%">
+                                               $Lang::tr{'administrator username'}
+                                       </td>
+                                       <td>
+                                               <input type="text" name="USERNAME" size="30">
+                                       </td>
+                               </tr>
+                               <tr>
+                                       <td width="40%">
+                                               $Lang::tr{'administrator password'}
+                                       </td>
+                                       <td>
+                                               <input type="password" name="PASSWORD" size="30">
+                                       </td>
+                               </tr>
+                               <tr>
+                                       <td></td>
+                                       <td>
+                                               <input type="submit" value="$Lang::tr{'samba join domain'}">
+                                       </td>
+                               </tr>
+                       </tbody>
+               </table>
+       </form>
+END
+
+       &Header::closebox();
+}
+
 ############################################################################################################################
 ############################################### Verwalten von Freigaben ####################################################
 
@@ -1304,3 +1362,13 @@ sub isrunning
                }
        return $status;
        }
+
+sub joindomain {
+       my $username = shift;
+       my $password = shift;
+
+       my @options = ("/usr/local/bin/sambactrl", "join", $username, $password);
+       my $output = qx(@options);
+
+       return $output;
+}
index 70e5726c907b6498b85c92bd63f04cea1d341966..58a51d0751d46d7c56a45fbd917314f1ea7eb853 100644 (file)
@@ -2,7 +2,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
+# Copyright (C) 2007-2014  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -88,10 +88,7 @@ sub display_vnstat
        if ( $testdata =~ 'enough') {
                print"No data for $device !<br>";
        } else {
-           # Falls back to textoutput if there was no % value because vnstati hang in this case
-           if (!($testdata =~ 'nan%')) {
-                   system("/usr/bin/vnstati -c 5 -s -i $device -o /srv/web/ipfire/html/graphs/vnstat-s-$device.png");
-           }
+           system("/usr/bin/vnstati -c 5 -s -i $device -o /srv/web/ipfire/html/graphs/vnstat-s-$device.png");
            # Hour graph
            system("/usr/bin/vnstati -c 5 -h -i $device -o /srv/web/ipfire/html/graphs/vnstat-h-$device.png");
            # Day graph
@@ -102,15 +99,9 @@ sub display_vnstat
            system("/usr/bin/vnstati -c 5 -t -i $device -o /srv/web/ipfire/html/graphs/vnstat-t-$device.png");
 
 # Generate HTML-Table with the graphs
-           print "<table>";
-           if ($testdata =~ 'nan%') {
-               print "<tr><td><b><pre>";
-               system("/usr/bin/vnstat -i $device");
-               print "</pre></b></td></tr>";
-           } else {
-               print"<tr><td><img src=\"/graphs/vnstat-s-$device.png\"></td></tr>";
-           }
 print <<END
+<table>
+<tr><td><img src="/graphs/vnstat-s-$device.png"></td></tr>
 <tr><td><img src="/graphs/vnstat-h-$device.png"></td></tr>
 <tr><td><img src="/graphs/vnstat-d-$device.png"></td></tr>
 <tr><td><img src="/graphs/vnstat-m-$device.png"></td></tr>
index 0c47cd456bbee33e732d848e2601304e22f133a8..63740d42d8385cf008b86d30d6fd2d376bca5329 100644 (file)
@@ -194,7 +194,7 @@ sub openpagewithoutmenu {
 sub closepage () {
        open(FILE, "</etc/system-release");
        my $system_release = <FILE>;
-       $system_release =~ s/core/Core Update/;
+       $system_release =~ s/core/Core Update /;
        close(FILE);
 
 print <<END;
index a2cf71a7a042c20290184e7945337630d4efe8cd..6c46f70bfabdd99611b666a873431a9ba502a4f4 100644 (file)
@@ -39,6 +39,7 @@
 'MB read' => 'MB gelesen',
 'MB written' => 'MB geschrieben',
 'MTU' => 'MTU-Größe:',
+'MTU settings' => 'MTU-Einstellungen:',
 'Number of Countries for the pie chart' => 'Anzahl der angezeigten Länder im Diagramm',
 'Number of IPs for the pie chart' => 'Anzahl der angezeigten IPs im Diagramm',
 'Number of Ports for the pie chart' => 'Anzahl der angezeigten Ports im Diagramm',
 'addon' => 'Addons',
 'admin user password has been changed' => 'Passwort für Benutzer admin wurde geändert.',
 'admin users' => 'Liste der Benutzer mit Super User Rechten',
+'administrator password' => 'Administrator-Passwort',
 'administrator user password' => 'Passwort für Benutzer &quot;admin&quot;:',
+'administrator username' => 'Administrator-Benutzername',
+'adsl settings' => 'ADSL-Einstellungen',
 'advanced' => 'Erweitert',
 'advanced server' => 'Erweiterte Server-Optionen',
 'advproxy AUTH always required' => 'Authentifizierung für uneingeschränkte Quelladressen erforderlich',
 'advproxy AUTH method ldap' => 'LDAP',
 'advproxy AUTH method ncsa' => 'Lokal',
 'advproxy AUTH method none' => 'Keine',
-'advproxy AUTH method ntlm' => 'Windows',
+'advproxy AUTH method ntlm' => 'Windows NT4-Domäne',
+'advproxy AUTH method ntlm auth' => 'Windows Active Directory',
 'advproxy AUTH method radius' => 'RADIUS',
 'advproxy AUTH no auth' => 'Domains ohne Authentifizierung (eine pro Zeile)',
 'advproxy AUTH number of auth processes' => 'Anzahl der Authentifizierungsprozesse',
 'advproxy back to main page' => 'Zurück zur Hauptseite',
 'advproxy banned ip clients' => 'Gesperrte IP-Adressen (eine pro Zeile)',
 'advproxy banned mac clients' => 'Gesperrte MAC-Adressen (eine pro Zeile)',
+'advproxy basic authentication' => 'Erlaube HTTP-Basic-Authentifizierung',
 'advproxy cache management' => 'Cacheverwaltung',
 'advproxy cache replacement policy' => 'Cache Ersetzungsrichtlinie',
 'advproxy cache-digest' => 'Cache-Digest-Erstellung aktivieren',
 'advproxy fake useragent' => 'Gefälschter Useragent für externe Web-Sites',
 'advproxy friday' => 'Fre',
 'advproxy from' => 'Von',
+'advproxy group access control' => 'Gruppenbasierte Zugriffskontrolle',
+'advproxy group required' => 'Erforderliche Gruppe',
 'advproxy hdd cache size' => 'Cachegröße auf der Festplatte (MB)',
 'advproxy invalid num of children' => 'Ungültige Anzahl der Filter-Prozesse',
 'advproxy log enabled' => 'Protokoll aktiviert',
 'ccd used' => 'Genutzte Adressen',
 'cert' => 'Zertifikat',
 'certificate' => 'Zertifikat',
-'certificate authorities' => 'Zertifizierungsstellen (CAs)',
+'certificate authorities' => 'Zertifizierungsstellen und -Schlüssel',
 'certificate does not have a valid ca associated with it' => 'Mit dem Zertifikat ist keine gültige CA verbunden.',
 'certificate file move failed' => 'Verschieben der Zertifikatsdatei fehlgeschlagen',
 'cfg restart' => 'Nach dem Wiederherstellen eines Konfigurationsarchivs wird ein Neustart empfohlen.',
 'connection' => 'Verbindung',
 'connection closed' => 'Nicht Verbunden...',
 'connection debugging' => 'Verbindungs-Debugging',
-'connection status and controlc' => 'Verbindungsstatus und -kontrolle',
+'connection status and controlc' => 'Verbindungsstatus und -Kontrolle',
 'connection tracking' => 'iptables-Verbindungsverfolgung',
 'connection type' => 'Verbindungstyp',
 'connection type is invalid' => 'Verbindungstyp ist ungültig',
 'december' => 'Dezember',
 'deep scan directories' => 'rekursiv scannen',
 'def lease time' => 'Standardzeit für Zuordnung',
+'default' => 'Voreinstellung',
 'default ip' => 'Standard IP-Adresse',
 'default lease time' => 'Haltezeit-Voreinstellung in min:',
 'default networks' => 'Standard Netzwerke',
 'devices on blue' => 'Geräte auf Blau',
 'dh' => 'Diffie-Hellman-Parameter',
 'dh key move failed' => 'Verschieben der Diffie-Hellman-Parameter fehlgeschlagen.',
-'dh key warn' => 'Das Generieren der Diffie-Hellman-Parameter mit 1024 oder 2048 Bit dauert üblicherweise mehrere Minuten. Schlüssellängen von 3072 oder 4096 Bit beanspruchen mehrere Stunden. Bitte haben Sie etwas Geduld.',
+'dh key warn' => 'Das Generieren der DH-Parameter mit 1024 oder 2048 Bit dauert üblicherweise mehrere Minuten. Schlüssellängen von 3072 oder 4096 Bit beanspruchen mehrere Stunden. Bitte haben Sie etwas Geduld.',
 'dh key warn1' => 'Bei schwachen Systemen oder Systeme mit wenig Entropie wird empfohlen lange Diffie-Hellman-Parameter über die Upload-Funktion hochzuladen.',
+'dh parameter' => 'Diffie-Hellman-Parameter',
 'dhcp advopt add' => 'DHCP Option hinzufügen',
 'dhcp advopt added' => 'DHCP Option hinzugefügt',
 'dhcp advopt blank value' => 'Wert für DHCP Option darf nicht leer sein',
 'dns saved' => 'Erfolgreich gespeichert!',
 'dns saved txt' => 'Die beiden eingegebenen DNS-Server-Adressen wurde erfolgreich gespeichert.<br/>Um die Änderung wirksam zu machen, müssen Sie neustarten oder wiederverbinden!',
 'dns server' => 'DNS Server',
+'dns servers' => 'DNS-Server',
 'dns title' => 'Domain Name System',
 'dnsforward' => 'DNS-Weiterleitung',
 'dnsforward add a new entry' => 'Neuen Eintrag hinzufügen',
 'dnsforward entries' => 'Aktuelle Einträge',
 'dnsforward forward_server' => 'DNS-Server',
 'dnsforward zone' => 'Zone',
+'dnssec aware' => 'DNSSEC-aware',
+'dnssec information' => 'DNSSEC-Informationen',
+'dnssec not supported' => 'DNSSEC wird nicht unterstützt',
+'dnssec validating' => 'DNSSEC-validierend',
 'do not log this port list' => 'Verwerfe diese Port-Liste kurz bevor sie protokolliert werden (reduziert Protokollgröße)',
 'dod' => 'Dial-on-Demand-Modus',
 'dod for dns' => 'Dial-on-Demand für DNS:',
 'donation-text' => '<strong>IPFire</strong> wird von Freiwilligen in ihrer Freizeit betrieben und auch betreut. Um dieses Projekt am Laufen zu halten, entstehen uns natürlich auch Kosten. Wenn Sie uns unterstützen wollen, würden wir uns über eine kleine Spende sehr freuen.',
 'dos charset' => 'DOS Charset',
 'down and up speed' => 'Geben Sie bitte hier ihre Download- bzw. Upload-Geschwindigkeit ein <br /> und klicken Sie danach auf <i>Speichern</i>.',
+'downlink' => 'Downlink',
 'downlink speed' => 'Downlink-Geschwindigkeit (kBit/sek)',
 'downlink std class' => 'Downloadstandardklasse',
 'download' => 'herunterladen',
 'download ca certificate' => 'CA-Zertifikat herunterladen',
-'download certificate' => 'Zertifikate herunterladen',
+'download certificate' => 'Datei herunterladen',
+'download dh parameter' => 'Diffie-Hellman-Parameter herunterladen',
 'download host certificate' => 'Host-Zertifikat herunterladen',
 'download new ruleset' => 'Neuen Regelsatz herunterladen',
 'download pkcs12 file' => 'PKCS12-Datei herunterladen',
 'download root certificate' => 'Root-Zertifikat herunterladen',
+'download tls-auth key' => 'tls-auth Key herunterladen',
 'dpd action' => 'Aktion für Dead Peer Detection',
 'dpd delay' => 'Verzögerung',
 'dpd timeout' => 'Zeitüberschreitung',
 'firewallhits' => 'Firewalltreffer',
 'firmware' => 'Firmware',
 'firmware upload' => 'Hochladen der Firmware/Treiber',
+'first' => 'Erste',
 'fixed ip lease added' => 'Feste IP-Zuordnung hinzugefügt',
 'fixed ip lease modified' => 'Feste IP-Zuordnung geändert',
 'fixed ip lease removed' => 'Feste IP-Zuordnung gelöscht',
 'fwhost wo subnet' => '(Ohne Subnetz)',
 'gateway' => 'Gateway',
 'gateway ip' => 'Gateway-IP',
-'gen dh' => 'Diffie-Hellman-Parameter erzeugen',
+'gen dh' => 'Neuen Diffie-Hellman-Parameter erzeugen',
 'gen static key' => 'Statischen Schlüssel erzeugen',
 'generate' => 'Root/Host-Zertifikate generieren',
 'generate a certificate' => 'Erzeuge ein Zertifikat:',
 'lan' => 'LAN',
 'lang' => 'de',
 'languagepurpose' => 'Wählen Sie eine Sprache, in der IPFire angezeigt werden soll:',
+'last' => 'Letzte',
 'last activity' => 'Letzte Aktivität',
 'lateprompting' => 'Late prompting',
 'lease expires' => 'Zuordnung verfällt',
 'map to guest' => 'Map to Guest',
 'march' => 'März',
 'marked' => 'Markiert',
+'masquerade blue' => 'NAT auf BLAU',
+'masquerade green' => 'NAT auf GREEN',
+'masquerade orange' => 'NAT auf ORANGE',
+'masquerading' => 'Masquerading/NAT',
+'masquerading disabled' => 'NAT ausgeschaltet',
+'masquerading enabled' => 'NAT eingeschaltet',
 'max bandwith' => 'Maximale Bandbreite',
 'max incoming size' => 'Max. eingehende Größe (kB):',
 'max lease time' => 'Max. Haltezeit in min:',
 'memory' => 'Speicher',
 'memory information' => 'Speicherinformationen',
 'memory usage per' => 'Speichernutzung pro',
+'messages' => 'Meldungen',
 'messages logging' => 'Logeinstellungen für /var/log/messages',
 'method' => 'Methode:',
 'min costs' => 'Minimale Kosten',
 'modify' => 'Ändern',
 'modulation' => 'Modulation',
 'monday' => 'Montag',
+'monitor interface' => 'Monitor-Schnittstelle',
 'month' => 'Monat',
 'month-graph' => 'Monat',
 'monthly firewallhits' => 'monatliche Firewalltreffer',
 'name is invalid' => 'Name ist ungültig',
 'name must only contain characters' => 'Name darf nur Buchstaben enthalten.',
 'name too long' => 'Der volle Benutzername oder der System Hostname ist zu lang',
+'nameserver' => 'Nameserver',
 'nat-traversal' => 'Nat Traversal:',
 'needreboot' => 'Ein Update benötigt einen Neustart',
 'net' => 'Netz',
 'ovpn crypt options' => 'Kryptografieoptionen',
 'ovpn device' => 'OpenVPN-Gerät',
 'ovpn dh' => 'Diffie-Hellman-Parameter-Länge',
-'ovpn dh upload' => 'Diffie-Hellman-Parameter hochladen',
+'ovpn dh new key' => 'Neuen Diffie-Hellman Parameter erstellen',
+'ovpn dh parameters' => 'Diffie-Hellman-Parameter Optionen',
+'ovpn dh upload' => 'Neuen Diffie-Hellman-Parameter hochladen',
 'ovpn dl' => 'OVPN-Konfiguration downloaden',
 'ovpn engines' => 'Krypto Engine',
 'ovpn errmsg green already pushed' => 'Route für grünes Netzwerk wird immer gesetzt',
 'running' => 'LÄUFT',
 'safe removal of umounted device' => 'Sie können gefahrlos das abgemeldete Gerät entfernen',
 'samba' => 'Samba',
+'samba join a domain' => 'Einer Domäne beitreten',
+'samba join domain' => 'Domäne beitreten',
 'samba status' => 'Samba Status',
 'saturday' => 'Samstag',
 'save' => 'Speichern',
 'shares' => 'Freigaben',
 'show ajax speedmeter in footer' => 'Ajax Speed Anzeige',
 'show ca certificate' => 'CA Zertifikat anzeigen',
-'show certificate' => 'Zertifikat anzeigen',
+'show certificate' => 'Datei anzeigen',
 'show crl' => 'Certificate Revocation List anzeigen',
 'show dh' => 'Diffie-Hellman-Parameter anzeigen',
 'show host certificate' => 'Host-Zertifikat anzeigen',
 'system log viewer' => 'Betrachter der System-Logdateien',
 'system logs' => 'System-Logdateien',
 'system status information' => 'System-Statusinformationen',
+'ta key' => 'TLS-Authentifizierungsschlüssel',
 'telephone not set' => 'Telefonnummer nicht angegeben.',
 'template' => 'Vorlage',
 'template warning' => 'Zur Einrichtung von QoS stehen Ihnen 2 Möglichkeiten zur Auswahl. Entweder Sie wählen speichern und erstellen Klassen und Regeln nach Ihren Wünschen, oder Sie wählen Vorlage, dann werden die Klassen und Regeln durch ein Template generiert.',
 'updxlrtr weekly' => 'wöchentlich',
 'updxlrtr year' => 'einem Jahr',
 'upgrade' => 'upgrade',
+'uplink' => 'Uplink',
 'uplink speed' => 'Uplink-Geschwindigkeit (kBit/sek)',
 'uplink std class' => 'Uploadstandardklasse',
 'upload' => 'Hochladen',
 'urlfilter weekly' => 'wöchentlich',
 'urlfilter whitelist always allowed' => 'Erlaube angepasste Whitelist für gesperrte Clients',
 'urlfilter wrong filetype' => 'Die Datei hat nicht die Erweiterung .tar.gz',
-'usb modem on acm0' => 'USB Modem an ACM0',
-'usb modem on acm1' => 'USB Modem an ACM1',
-'usb modem on acm2' => 'USB Modem an ACM2',
-'usb modem on acm3' => 'USB Modem an ACM3',
 'use' => 'Einsatz',
 'use a pre-shared key' => 'Verwenden Sie einen Pre-Shared Schlüssel:',
 'use dov' => 'DOV (Data Over Voice) benutzen:',
index 5ccad79ee961b9cd7d58c55a01f91d97b58ac6e0..b537868d2c6bf1f9d249f5693774529f0c4331b5 100644 (file)
@@ -39,6 +39,7 @@
 'MB read' => 'MB read',
 'MB written' => 'MB written',
 'MTU' => 'MTU size:',
+'MTU settings' => 'MTU settings:',
 'Number of Countries for the pie chart' => 'Number of Countries for the pie chart',
 'Number of IPs for the pie chart' => 'Number of IPs for the pie chart',
 'Number of Ports for the pie chart' => 'Number of ports for the pie chart',
 'addons' => 'Addons',
 'admin user password has been changed' => 'Admin user password has been changed.',
 'admin users' => 'User with superuser rights',
+'administrator password' => 'Administrator password',
 'administrator user password' => 'Admin user password:',
+'administrator username' => 'Administrator username',
+'adsl settings' => 'ADSL settings',
 'advanced' => 'Advanced',
 'advanced server' => 'Advanced server options',
 'advproxy AUTH always required' => 'Require authentication for unrestricted source addresses',
 'advproxy AUTH method ldap' => 'LDAP',
 'advproxy AUTH method ncsa' => 'Local',
 'advproxy AUTH method none' => 'None',
-'advproxy AUTH method ntlm' => 'Windows',
+'advproxy AUTH method ntlm' => 'Windows NT4 Domain',
+'advproxy AUTH method ntlm auth' => 'Windows Active Directory',
 'advproxy AUTH method radius' => 'RADIUS',
 'advproxy AUTH no auth' => 'Domains without authentication (one per line)',
 'advproxy AUTH number of auth processes' => 'Number of authentication processes',
 'advproxy back to main page' => 'Back to main page',
 'advproxy banned ip clients' => 'Banned IP addresses (one per line)',
 'advproxy banned mac clients' => 'Banned MAC addresses (one per line)',
+'advproxy basic authentication' => 'Allow HTTP Basic authentication',
 'advproxy cache management' => 'Cache management',
 'advproxy cache replacement policy' => 'Cache replacement policy',
 'advproxy cache-digest' => 'Enable Cache-Digest Generation',
 'advproxy fake useragent' => 'Fake useragent submitted to external sites',
 'advproxy friday' => 'Fri',
 'advproxy from' => 'From',
+'advproxy group access control' => 'Group based access control',
+'advproxy group required' => 'Required group',
 'advproxy hdd cache size' => 'Harddisk cache size (MB)',
 'advproxy invalid num of children' => 'Invalid number of filter processes',
 'advproxy log enabled' => 'Log enabled',
 'ccd used' => 'Used addresses',
 'cert' => 'Certificate',
 'certificate' => 'Certificate',
-'certificate authorities' => 'Certificate Authorities',
+'certificate authorities' => 'Certificate Authorities and -Keys',
 'certificate does not have a valid ca associated with it' => 'Certificate does not have a valid CA associated with it.',
 'certificate file move failed' => 'Certificate file move failed',
 'cfg restart' => 'A reboot is suggested after restoring a configuration archive.',
 'connection' => 'Connection',
 'connection closed' => 'Not connected...',
 'connection debugging' => 'Connection debugging',
-'connection status and controlc' => 'Connection status and control',
+'connection status and controlc' => 'Connection Status and -Control',
 'connection tracking' => 'iptables Connection Tracking',
 'connection type' => 'Connection Type',
 'connection type is invalid' => 'Connection type is invalid.',
 'december' => 'December',
 'deep scan directories' => 'Scan recursive',
 'def lease time' => 'Default Lease Time',
+'default' => 'Default',
 'default ip' => 'Default IP address',
 'default lease time' => 'Default lease time (mins):',
 'default networks' => 'Default networks',
 'devices on blue' => 'Devices on BLUE',
 'dh' => 'Diffie-Hellman parameters',
 'dh key move failed' => 'Diffie-Hellman parameters move failed.',
-'dh key warn' => 'Creating Diffie-Hellman parameters with lengths of 1024 or 2048 bits takes up to several minutes. Lengths of 3072 or 4096 bits might needs several hours. Please be patient.',
+'dh key warn' => 'Creating DH-parameters with lengths of 1024 or 2048 bits takes up to several minutes. Lengths of 3072 or 4096 bits might needs several hours. Please be patient.',
 'dh key warn1' => 'For weak systems or systems with little entropy, it is recommended to upload long Diffie-Hellman parameters by usage of the upload function.',
 'dh name is invalid' => 'Name is invalid, please use "dh1024.pem".',
+'dh parameter' => 'Diffie-Hellman parameters',
 'dhcp advopt add' => 'Add a DHCP option',
 'dhcp advopt added' => 'DHCP option added',
 'dhcp advopt blank value' => 'DHCP Option value cannot be empty.',
 'dns saved' => 'Successfully saved!',
 'dns saved txt' => 'The two entered DNS server addresses have been saved successfully.<br />You have to reboot or reconnect that the changes have effect!',
 'dns server' => 'DNS Server',
+'dns servers' => 'DNS Servers',
 'dns title' => 'Domain Name System',
 'dnsforward' => 'DNS Forwarding',
 'dnsforward add a new entry' => 'Add a new entry',
 'dnsforward entries' => 'Current entries',
 'dnsforward forward_server' => 'Nameserver',
 'dnsforward zone' => 'Zone',
+'dnssec aware' => 'DNSSEC Aware',
+'dnssec information' => 'DNSSEC Information',
+'dnssec not supported' => 'DNSSEC Not supported',
+'dnssec validating' => 'DNSSEC Validating',
 'do not log this port list' => 'Drop this port list just before they are logged (reduces log size)',
 'dod' => 'Dial on Demand',
 'dod for dns' => 'Dial on Demand for DNS:',
 'done' => 'Do it',
 'dos charset' => 'DOS Charset',
 'down and up speed' => 'Enter your Down- and Uplink-Speed <br /> and then press <i>Save</i>.',
+'downlink' => 'Downlink',
 'downlink speed' => 'Downlink speed (kbit/sec)',
 'downlink std class' => 'downlink standard class',
 'download' => 'download',
 'download ca certificate' => 'Download CA certificate',
-'download certificate' => 'Download certificate',
+'download certificate' => 'Download file',
+'download dh parameter' => 'Download Diffie-Hellman parameters',
 'download host certificate' => 'Download host certificate',
 'download new ruleset' => 'Download new ruleset',
 'download pkcs12 file' => 'Download PKCS12 file',
 'download root certificate' => 'Download root certificate',
+'download tls-auth key' => 'Download tls-auth key',
 'dpd action' => 'Action',
 'dpd delay' => 'Delay',
 'dpd timeout' => 'Timeout',
 'firewallhits' => 'firewallhits',
 'firmware' => 'Firmware',
 'firmware upload' => 'Upload Firmware/Drivers',
+'first' => 'First',
 'fixed ip lease added' => 'Fixed IP lease added',
 'fixed ip lease modified' => 'Fixed IP lease modified',
 'fixed ip lease removed' => 'Fixed IP lease removed',
 'g.lite' => 'TO BE REMOVED',
 'gateway' => 'Gateway',
 'gateway ip' => 'Gateway IP',
-'gen dh' => 'Generate Diffie-Hellman parameters',
+'gen dh' => 'Generate new Diffie-Hellman parameters',
 'gen static key' => 'Generate a static key',
 'generate' => 'Generate root/host zertifikate',
 'generate a certificate' => 'Generate a certificate:',
 'generating the root and host certificates may take a long time. it can take up to several minutes on older hardware. please be patient' => 'Generating the root and host certificates may take a long time.  It can take up to several minutes on older hardware. Please be patient.',
 'genkey' => 'Generate PSK',
 'genre' => 'Genre',
-'global settings' => 'Global settings',
+'global settings' => 'Global Settings',
 'gpl i accept these terms and conditions' => 'I accept these terms and conditions',
 'gpl license agreement' => 'License Agreement',
 'gpl please read carefully the general public license and accept it below' => 'Please read carefully the General Public License and accept it below',
 'lan' => 'LAN',
 'lang' => 'en',
 'languagepurpose' => 'Select the language you wish IPFire to display in:',
+'last' => 'Last',
 'last activity' => 'Last Activity',
 'lateprompting' => 'Lateprompting',
 'lease expires' => 'Lease expires',
 'map to guest' => 'Map to Guest',
 'march' => 'March',
 'marked' => 'Marked',
+'masquerade blue' => 'Masquerade BLUE',
+'masquerade green' => 'Masquerade GREEN',
+'masquerade orange' => 'Masquerade ORANGE',
+'masquerading' => 'Masquerading',
+'masquerading disabled' => 'Masquerading disabled',
+'masquerading enabled' => 'Masquerading enabled',
 'max bandwith' => 'Maximum bandwith',
 'max incoming size' => 'Max incoming size (KB):',
 'max lease time' => 'Max lease time (mins):',
 'memory' => 'Memory',
 'memory information' => 'Memory information',
 'memory usage per' => 'Memory Usage per',
+'messages' => 'Messages',
 'messages logging' => 'Logsettings for /var/log/messages',
 'method' => 'Method:',
 'min costs' => 'Minimum costs',
 'modify' => 'Modify',
 'modulation' => 'Modulation',
 'monday' => 'Monday',
+'monitor interface' => 'Monitor Interface',
 'month' => 'Month',
 'month-graph' => 'Month',
 'monthly firewallhits' => 'monthly firewallhits',
 'name is invalid' => 'Name is invalid',
 'name must only contain characters' => 'Name must only contain characters.',
 'name too long' => 'User\'s full name or system hostname is too long',
+'nameserver' => 'Nameserver',
 'nat-traversal' => 'Nat Traversal:',
 'needreboot' => 'An update requires a restart',
 'net' => 'Net',
 'ovpn crypt options' => 'Cryptographic options',
 'ovpn device' => 'OpenVPN device:',
 'ovpn dh' => 'Diffie-Hellman parameters length',
-'ovpn dh upload' => 'Upload Diffie-Hellman parameters',
+'ovpn dh new key' => 'Generate new Diffie-Hellman parameters',
+'ovpn dh parameters' => 'Diffie-Hellman parameters options',
+'ovpn dh upload' => 'Upload new Diffie-Hellman parameters',
 'ovpn dl' => 'OVPN-Config Download',
 'ovpn engines' => 'Crypto engine',
 'ovpn errmsg green already pushed' => 'Route for green network is always set',
 'running' => 'RUNNING',
 'safe removal of umounted device' => 'You can safely remove the unmounted device',
 'samba' => 'Samba',
+'samba join a domain' => 'Join a domain',
+'samba join domain' => 'Join domain',
 'samba status' => 'Samba Status',
 'saturday' => 'Saturday',
 'save' => 'Save',
 'show ajax speedmeter in footer' => 'Show Ajax speedmeter',
 'show areas' => 'show areas',
 'show ca certificate' => 'Show CA certificate',
-'show certificate' => 'Show certificate',
+'show certificate' => 'Show file',
 'show crl' => 'Show certificate revocation list',
 'show dh' => 'Show Diffie-Hellman parameters',
 'show host certificate' => 'Show host certificate',
 'show lines' => 'Show lines',
 'show root certificate' => 'Show root certificate',
 'show share options' => 'Show shares options',
+'show tls-auth key' => 'Show tls-auth key',
 'shuffle' => 'Shuffle',
 'shutdown' => 'Shutdown',
 'shutdown ask' => 'Shutdown?',
 'system log viewer' => 'System Log Viewer',
 'system logs' => 'System Logs',
 'system status information' => 'System Status Information',
+'ta key' => 'TLS-Authentification-Key',
 'telephone not set' => 'Telephone not set.',
 'template' => 'Preset',
 'template warning' => 'You have two options to set up Qos. The First, you press the save button and generate the classes and rules on your own. The second, you press the preset button and classes and rules will be set up by a template.',
 'updxlrtr weekly' => 'weekly',
 'updxlrtr year' => 'one year',
 'upgrade' => 'upgrade',
+'uplink' => 'Uplink',
 'uplink speed' => 'Uplink speed (kbit/sec)',
 'uplink std class' => 'uplink standard class',
 'upload' => 'Upload',
 'urlfilter weekly' => 'weekly',
 'urlfilter whitelist always allowed' => 'Allow custom whitelist for banned clients',
 'urlfilter wrong filetype' => 'File has not the extension .tar.gz',
-'usb modem on acm0' => 'USB Modem on ACM0',
-'usb modem on acm1' => 'USB Modem on ACM1',
-'usb modem on acm2' => 'USB Modem on ACM2',
-'usb modem on acm3' => 'USB Modem on ACM3',
 'use' => 'Use',
 'use a pre-shared key' => 'Use a pre-shared key:',
 'use dov' => 'Use data over voice (DOV):',
 'vpn aggrmode' => 'IKE aggressive mode allowed. Avoid if possible (preshared key is transmitted in clear text)!',
 'vpn altname syntax' => 'SubjectAltName is a comma separated list of e-mail, dns, uri, rid and ip objects.<br />email:an email address. Syntax email:copy takes the email field from the cert to be used.<br />DNS:a valid domain name.<br />URI:any valid uri.<br />RID:registered object identifier.<br />IP:an IP address.<br />Note:charset is limited and case is significant.<br />Example:<br /><b>e-mail:</b>ipfire@foo.org<b>,email:</b>copy<b>,DNS:</b>www.ipfire.org<b>,IP:</b>127.0.0.1<b>,URI:</b>http://url/to/something',
 'vpn auth-dn' => 'Peer is identified by either IPV4_ADDR, FQDN, USER_FQDN or DER_ASN1_DN string in remote ID field',
+'vpn configuration main' => 'VPN Configuration',
 'vpn delayed start' => 'Delay before launching VPN (seconds)',
 'vpn delayed start help' => 'If required, this delay can be used to allow dynamic DNS updates to propagate properly. 60 is a common value when RED is a dynamic IP.',
 'vpn incompatible use of defaultroute' => 'hostname=%defaultroute not allowed',
index ae5bf14a677979dd5b1f8c281f3392cee7b58b13..8c757a9b39373a41d514f6d396ea241927e56194 100644 (file)
 'advproxy AUTH method ldap' => 'LDAP',
 'advproxy AUTH method ncsa' => 'Local',
 'advproxy AUTH method none' => 'Ninguno',
-'advproxy AUTH method ntlm' => 'Windows',
 'advproxy AUTH method radius' => 'RADIUS',
 'advproxy AUTH no auth' => 'Dominios sin autenticación (uno por línea)',
 'advproxy AUTH number of auth processes' => 'Número de proceso de autenticación',
 'urlfilter weekly' => 'semanalmente',
 'urlfilter whitelist always allowed' => 'Permitir lista blanca personalizada para clientes censurados',
 'urlfilter wrong filetype' => 'El archivo no tiene la extension .tar.gz',
-'usb modem on acm0' => 'Modem USB en ACM0',
-'usb modem on acm1' => 'Modem USB en ACM1',
-'usb modem on acm2' => 'Modem USB en ACM2',
-'usb modem on acm3' => 'Modem USB en ACM3',
 'use' => 'Usar',
 'use a pre-shared key' => 'Usar llave pre-compartida',
 'use dov' => 'Usar datos sobre voz (DOV)',
index 84e15a82bb342bf0759943ca4fc9b2fe5515c06e..ccd61cb407bff7bbb46a992fed8e19bba269b6d3 100644 (file)
 'advproxy AUTH method ldap' => 'LDAP',
 'advproxy AUTH method ncsa' => 'Local',
 'advproxy AUTH method none' => 'Rien',
-'advproxy AUTH method ntlm' => 'Windows',
 'advproxy AUTH method radius' => 'RADIUS',
 'advproxy AUTH no auth' => 'Domaines sans authentification (un par ligne)',
 'advproxy AUTH number of auth processes' => 'Nombre de processus d\'authentification',
 'urlfilter weekly' => 'hebdomadairement',
 'urlfilter whitelist always allowed' => 'Autoriser une liste blanche personnalisée de clients bannis',
 'urlfilter wrong filetype' => 'Le fichier n\'a pas l\'extension .tar.gz',
-'usb modem on acm0' => 'Modem USB sur ACM0',
-'usb modem on acm1' => 'Modem USB sur ACM1',
-'usb modem on acm2' => 'Modem USB sur ACM2',
-'usb modem on acm3' => 'Modem USB sur ACM3',
 'use' => 'Utiliser',
 'use a pre-shared key' => 'Utiliser une clé pré-partagée :',
 'use dov' => 'Utilisez DOV (Data Over Voice):',
index 767f93b95da6d905df213cacb453e0bb044efcee..fdad1d3abda7b5ff9d91005e578ad06dbbde3bef 100644 (file)
 'advproxy AUTH method ldap' => 'LDAP',
 'advproxy AUTH method ncsa' => 'Lokaal',
 'advproxy AUTH method none' => 'Geen',
-'advproxy AUTH method ntlm' => 'Windows',
 'advproxy AUTH method radius' => 'RADIUS',
 'advproxy AUTH no auth' => 'Domeinen zonder authenticatie (een per regel)',
 'advproxy AUTH number of auth processes' => 'Aantal authenticatieprocessen',
 'urlfilter weekly' => 'wekelijks',
 'urlfilter whitelist always allowed' => 'Toestaan gebruik van eigen witte lijst voor verboden clients',
 'urlfilter wrong filetype' => 'Bestand heeft niet de extensie .tar.gz',
-'usb modem on acm0' => 'USB Modem op ACM0',
-'usb modem on acm1' => 'USB Modem op ACM1',
-'usb modem on acm2' => 'USB Modem op ACM2',
-'usb modem on acm3' => 'USB Modem op ACM3',
 'use' => 'Gebruik',
 'use a pre-shared key' => 'Gebruik een pre-shared sleutel:',
 'use dov' => 'Gebruik data over voice (DOV):',
index 103e5262e3616c1d1526ee83dd8208152f2af304..5a205e1dee2e973ee8c6246ee1b16ed6de6131e6 100644 (file)
 'advproxy AUTH method ldap' => 'LDAP',
 'advproxy AUTH method ncsa' => 'Local',
 'advproxy AUTH method none' => 'None',
-'advproxy AUTH method ntlm' => 'Windows',
 'advproxy AUTH method radius' => 'RADIUS',
 'advproxy AUTH no auth' => 'Domeny bez autoryzacji (jedna w linii)',
 'advproxy AUTH number of auth processes' => 'Liczba procesów autoryzujących',
 'urlfilter weekly' => 'co tydzień',
 'urlfilter whitelist always allowed' => 'Zezwolenie na białą listę dla zablokowanych klientów',
 'urlfilter wrong filetype' => 'Plik nie posiada rozszerzenia .tar.gz',
-'usb modem on acm0' => 'Modem USB na ACM0',
-'usb modem on acm1' => 'Modem USB na ACM1',
-'usb modem on acm2' => 'Modem USB na ACM2',
-'usb modem on acm3' => 'Modem USB na ACM3',
 'use' => 'Użyj',
 'use a pre-shared key' => 'Użyj klucza współdzielonego:',
 'use dov' => 'Use data over voice (DOV):',
index 2b680b0665b0c2eae02ac8b6abe5ff6e602aafff..38b844169eb5ecb87121657d806f1d8d45b75c19 100644 (file)
 'advproxy AUTH method ldap' => 'LDAP',
 'advproxy AUTH method ncsa' => 'Локальный',
 'advproxy AUTH method none' => 'Нет',
-'advproxy AUTH method ntlm' => 'Windows',
 'advproxy AUTH method radius' => 'RADIUS',
 'advproxy AUTH no auth' => 'Домен без аутентификации (один на строчку)',
 'advproxy AUTH number of auth processes' => 'Кол-во процессов аутентификации',
 'urlfilter weekly' => 'Еженедельно',
 'urlfilter whitelist always allowed' => 'Разрешить пользовательский белый список для забаненых клиентов',
 'urlfilter wrong filetype' => 'File has not the extension .tar.gz',
-'usb modem on acm0' => 'USB Модем на ACM0',
-'usb modem on acm1' => 'USB Модем на ACM1',
-'usb modem on acm2' => 'USB Модем на ACM2',
-'usb modem on acm3' => 'USB Модем на ACM3',
 'use' => 'Use',
 'use a pre-shared key' => 'Use a pre-shared key:',
 'use dov' => 'Use data over voice (DOV):',
index 9eb5a4325288be355b55741d0c2762be7d45392c..e2a6d4f6a590417b6ee4c03c4ff996a6e80b2eb2 100644 (file)
 'advproxy AUTH method ldap' => 'LDAP',
 'advproxy AUTH method ncsa' => 'Yerel',
 'advproxy AUTH method none' => 'Yok',
-'advproxy AUTH method ntlm' => 'Windows',
 'advproxy AUTH method radius' => 'RADIUS',
 'advproxy AUTH no auth' => 'Kimlik doğrulaması olmayan hedefler (her satırda bir tane)',
 'advproxy AUTH number of auth processes' => 'Kimlik doğrulama işlemlerinin sayısı',
 'advproxy MIME block types' => ' Bu MIME türlerini engelle (her satırda bir tane)',
 'advproxy MIME filter' => 'MIME türü filtre',
 'advproxy NCSA auth' => 'Yerel kullanıcı kimlik doğrulaması',
-'advproxy NCSA create user' => 'Kullanıcı oluştur',
+'advproxy NCSA create user' => 'Kullanıcı Oluştur',
 'advproxy NCSA group' => 'Grup',
 'advproxy NCSA group membership' => 'Grup üyeliği',
 'advproxy NCSA grp disabled' => 'Pasif',
 'advproxy NCSA redirector bypass' => 'Grubun üyeleri için yönlendirmeyi atla',
 'advproxy NCSA update user' => 'Kullanıcıyı güncelle',
 'advproxy NCSA user accounts' => 'Kullanıcı hesabı',
-'advproxy NCSA user management' => 'Kullanıcı yönetimi',
+'advproxy NCSA user management' => 'Kullanıcı Yönetimi',
 'advproxy NCSA username' => 'Kullanıcı adı',
 'advproxy NTLM BDC hostname' => 'BDC ana bilgisayar adı',
 'advproxy NTLM PDC hostname' => 'PDC ana bilgisayar adı',
 'advproxy advanced web proxy configuration' => 'Gelişmiş web vekil sunucu ayarları',
 'advproxy allowed subnets' => 'İzin verilen alt ağlar (her satırda bir tane)',
 'advproxy allowed web browsers' => 'Web erişimi için izin verilen istemciler',
-'advproxy back to main page' => 'Ana sayfaya geri dön',
+'advproxy back to main page' => 'Ana Sayfaya Geri Dön',
 'advproxy banned ip clients' => 'Yasaklanan IP adresleri (her satırda bir tane)',
 'advproxy banned mac clients' => 'Yasaklanan MAC adresleri (her satırda bir tane)',
 'advproxy cache management' => 'Önbellek yönetimi',
 'current aliases' => 'Geçerli takma adlar:',
 'current class' => 'Geçerli sınıflar',
 'current devices' => 'Geçerli aygıtlar',
-'current dhcp leases on blue' => 'Mavi üzerindeki geçerli DHCP atamaları',
+'current dhcp leases on blue' => 'Mavi üzerindeki geçerli dhcp atamaları',
 'current dynamic leases' => 'Geçerli dinamik atamalar',
 'current fixed leases' => 'Geçerli sabit atamalar',
 'current hosts' => 'Mevcut ana bilgisayarlar:',
 'detail level' => 'Detay seviyesi',
 'details' => 'Detaylar',
 'device' => 'Aygıt',
-'devices on blue' => 'MAVİ üzerindeki aygıt',
+'devices on blue' => 'Mavi üzerindeki aygıtlar',
 'dhcp advopt add' => 'DHCP seçeneği ekle',
 'dhcp advopt added' => 'DHCP seçeneği eklendi',
 'dhcp advopt blank value' => 'DHCP seçeneği değeri boş olamaz.',
 'dns header' => 'Red0 üzerindeki DHCP için sadece DNS sunucu adreslerini ata',
 'dns list' => 'Halka açık ücretsiz DNS sunucularının listesi',
 'dns menu' => 'DNS Sunucusu',
-'dns new 0' => 'Yeni <strong>birincil</strong> DNS sunucu IP\'si:',
-'dns new 1' => 'Yeni <strong>ikincil</strong> DNS sunucu IP\'si:',
+'dns new 0' => 'Yeni <strong>birincil</strong> DNS sunucu IP adresi:',
+'dns new 1' => 'Yeni <strong>ikincil</strong> DNS sunucu IP adresi:',
 'dns proxy server' => 'DNS Vekil Sunucusu',
 'dns saved' => 'Başarıyla kaydedildi!',
 'dns saved txt' => 'Girilen iki DNS sunucu adresi başarılı bir şekilde kaydedildi.<br />Değişikliklerin aktifleştirielebilmesi için yeniden başlatın!',
 'name must only contain characters' => 'Ad sadece karakter içermelidir.',
 'name too long' => 'Kullanıcının tam adı veya sistem ana bilgisayar adı çok uzun',
 'nat-traversal' => 'Nat Geçişi:',
-'needreboot' => 'Bir güncelleştirmeden sonra yeniden başlatmak gerekir',
+'needreboot' => 'Bu güncelleştirmeden sonra yeniden başlatmak gerekir',
 'net' => 'Ağ',
 'net address' => 'ağ adresi',
 'net config' => 'Ağ yapılandırma',
 'out' => 'Dışarı',
 'outgoing' => 'giden',
 'outgoing firewall' => 'Giden güvenlik duvarı',
-'outgoing firewall access' => 'giden güvenlik duvarı bağlantısı',
+'outgoing firewall access' => 'Giden güvenlik duvarı bağlantısı',
 'outgoing firewall add ip group' => 'IP Adres Grubu Ekle',
 'outgoing firewall add mac group' => 'MAC Adres Grubu Ekle',
 'outgoing firewall edit ip group' => 'IP Adres Grubunu Düzenle',
 'secondary wins server address' => 'İkincil WINS sunucu adresi',
 'seconds' => 'Saniye',
 'section' => 'Bölüm',
-'secure shell server' => 'Güvenli Kabuk Sunucusu',
+'secure shell server' => 'Güvenli Kabuk Sunucusu (SSH)',
 'security' => 'Güvenlik',
 'security options' => 'Güvenlik seçenekleri',
 'select' => 'Seç',
 'updxlrtr not enabled' => 'Güncelleme hızlandırıcı web vekil sunucusu sayfasında aktif değil',
 'updxlrtr other' => 'Diğer',
 'updxlrtr passive mode' => 'Pasif yöntemini aktifleştir',
-'updxlrtr pending downloads' => 'Beklemedekileri indir',
+'updxlrtr pending downloads' => 'Beklemedekileri indirilenler',
 'updxlrtr performance options' => 'Performans seçenekleri',
-'updxlrtr progress' => 'Geliştirme',
+'updxlrtr progress' => 'İşlem durumu',
 'updxlrtr purge' => 'Temizlik',
 'updxlrtr remove file' => 'Önbelleği kaldır',
 'updxlrtr save and restart' => 'Kaydet ve Yeniden Başlat',
 'updxlrtr week' => 'Bir hafta',
 'updxlrtr weekly' => 'haftalık',
 'updxlrtr year' => 'Bir yıl',
-'upgrade' => 'yükselt',
+'upgrade' => 'Yükselt',
 'uplink' => 'Yükleme bağlantısı',
 'uplink speed' => 'Yükleme hızı (kbit/san)',
 'uplink std class' => 'Standart yükleme hızı sınıf',
index 3131dd14faa1e5a3ae5a2d866654b1781b11c480..814949a84e62a9b77618d9b3c4ad1d54e334d11f 100644 (file)
@@ -54,7 +54,7 @@ char *tr_tr[] = {
 /* TR_JOURNAL_EXT3 */
 "Ext3 için günlük oluşturuluyor...",
 /* TR_CHOOSE_NETCARD */
-"Aşağıdaki ara birim için bir ağ kartı seçin - %s.",
+"Aşağıdan şu ara birim için bir ağ kartı seçin - %s",
 /* TR_NETCARDMENU2 */
 "Genişletilmiş Ağ Listesi",
 /* TR_ERROR_INTERFACES */
@@ -132,7 +132,7 @@ char *tr_tr[] = {
 /* TR_DNS_AND_GATEWAY_SETTINGS */
 "DNS ve Ağ Geçidi ayarları",
 /* TR_DNS_AND_GATEWAY_SETTINGS_LONG */
-"DNS ve ağ geçidi bilgilerini girin. Bu ayarlar sadece KIRMIZI arabirim adres ayarlarında Sabit seçenği seçilmişse kullanılır. Eğer KIRMIZI arabirim adres ayarlarında DHCP seçeneğini seçtiyseniz bu alanı boş bırakabilirsiniz.",
+"DNS ve ağ geçidi bilgilerini girin. Bu ayarlar sadece KIRMIZI ara birim adres ayarlarında Statik seçenği seçilmişse kullanılır. Eğer KIRMIZI ara birim adres ayarlarında DHCP seçeneğini seçtiyseniz bu alanı boş bırakabilirsiniz.",
 /* TR_DNS_GATEWAY_WITH_GREEN */
 "Yapılandırmanız KIRMIZI ara birim için ethernet adaptörünü kullanamaz. DNS ve Çevirmeli ağ kullanıcıları için ağ geçidi bilgisi çevirmeli ağda otomatik olarak yapılandırılır.",
 /* TR_DOMAINNAME */
@@ -164,7 +164,7 @@ char *tr_tr[] = {
 /* TR_ENTER_ADDITIONAL_MODULE_PARAMS */
 "Bazı ISDN kartları (özellikle ISA olanlar) IRQ ve GÇ adres bilgilerini ayarlamak için ek modül parametrelerine ihtiyaç duyar.Böyle bir ISDN kartınız varsa burada bu ek parametreleri girin. Örneğin: \"io = 0x280 irq = 9 \". Bunlar kart algılama sırasında kullanılacaktır.",
 /* TR_ENTER_ADMIN_PASSWORD */
-"%s 'admin' kullanıcı parolasını giriniz. Bu, %s web yönetimi sayfalarının kayıtlarına erişebilen kullanıcıdır.",
+"%s 'admin' kullanıcı parolasını girin. Bu, %s web yönetimi sayfalarının kayıtlarına erişebilen kullanıcıdır.",
 /* TR_ENTER_DOMAINNAME */
 "Alan adını girin",
 /* TR_ENTER_HOSTNAME */
@@ -228,7 +228,7 @@ char *tr_tr[] = {
 /* TR_INTERFACE_FAILED_TO_COME_UP */
 "Ara birim yükseltmesi başarısız oldu.",
 /* TR_INVALID_FIELDS */
-"Aşağıdaki alan geçersizdir:\n\n",
+"Aşağıdaki alan geçersiz:\n\n",
 /* TR_INVALID_IO */
 "Girilen GÇ bağlantı noktası detayları geçersiz. ",
 /* TR_INVALID_IRQ */
@@ -354,7 +354,7 @@ char *tr_tr[] = {
 /* TR_PHONENUMBER_CANNOT_BE_EMPTY */
 "Telefon numarası boş olamaz.",
 /* TR_PREPARE_HARDDISK */
-"Sabit disk kurulum programı /dev/sda üzerindeki %s sabit diski hazırlayacak. İlk olarak diskiniz bölümlendirilir ve daha sonra bu bölüme dosya sistemleri oluşturulur.\n\nDİSKTEKİ TÜM VERİLER SİLİNECEKTİR. Kabul ediyor musunuz?",
+"Sabit disk kurulum programı %s üzerindeki sabit diski hazırlayacak. İlk olarak diskiniz bölümlendirilir ve daha sonra bu bölüme dosya sistemleri oluşturulur.\n\nDİSKTEKİ TÜM VERİLER SİLİNECEKTİR. Kabul ediyor musunuz?",
 /* TR_PRESS_OK_TO_REBOOT */
 "Yeniden Başlat",
 /* TR_PRIMARY_DNS */
@@ -428,7 +428,7 @@ char *tr_tr[] = {
 /* TR_SETTING_SETUP_PASSWORD */
 "KALDIRILACAK",
 /* TR_SETUP_FINISHED */
-"Kurulum tamamlandı. Tamam tuşuna basın.",
+"Kurulum tamamlandı. Tamam seçneği ile ilerleyin.",
 /* TR_SETUP_NOT_COMPLETE */
 "Başlangıç kurulumu tamamlanamadı. Şimdi kurulumu tekrar çalıştırarak ayarlarınızın düzgün yapılmış olduğundan emin olun.",
 /* TR_SETUP_PASSWORD */
@@ -444,7 +444,7 @@ char *tr_tr[] = {
 /* TR_START_ADDRESS_CR */
 "Başlangıç adresi\n",
 /* TR_STATIC */
-"Sabit",
+"Statik",
 /* TR_SUGGEST_IO */
 "(öneri %x)",
 /* TR_SUGGEST_IRQ */
@@ -546,7 +546,7 @@ char *tr_tr[] = {
 /* TR_WARNING */
 "UYARI",
 /* TR_WARNING_LONG */
-"Bu IP adresini değiştiriseniz %s makinesi ile uzak oturum bağlantısı kopar ve yeniden IP adresi girmeniz gerekir. Bu riskli bir işlemdir. Bu işlem sırasında bir şeyler ters giderse düzeltmek için makineye fiziksel erişiminiz varsa denemelisiniz.",
+"Bu IP adresini değiştiriseniz %s makinesi ile uzak oturum bağlantısı kopar ve yeniden IP adresi girmeniz gerekir. Bu riskli bir işlemdir. Bu işlem sırasında bir şeyler ters giderse düzeltmek için makineye fiziksel erişiminiz olmalıdır. Makineye fiziksel erişiminiz varsa bu işlemi gerçekleştirin.",
 /* TR_WELCOME */
 "%s kurulum programına hoş geldiniz. Sonraki ekranların herhangi birinde İptal seçeneğini seçtiğinizde bilgisayar yeniden başlatılacaktır.",
 /* TR_YOUR_CONFIGURATION_IS_SINGLE_GREEN_ALREADY_HAS_DRIVER */
@@ -588,9 +588,9 @@ char *tr_tr[] = {
 /* TR_DHCP_FORCE_MTU */
 "DHCP mtu zorla:",
 /* TR_IDENTIFY */
-"Identify",
+"Belirle",
 /* TR_IDENTIFY_SHOULD_BLINK */
-"Selected port should blink now ...",
+"Seçilen bağlantı noktasının şimdi yanıp sönmesi gerekir...",
 /* TR_IDENTIFY_NOT_SUPPORTED */
-"Function is not supported by this port.",
+"İşlev bu bağlantı noktası tarafından desteklenmiyor.",
 };
index fb0f2e9a2f92c2f2238e14e8b0e9b10164db1396..415766d123da4b2bbd5ab7c87fa8ffda8b4b906b 100644 (file)
@@ -57,8 +57,6 @@ DIR_CONF    = $(LFS_BASEDIR)/config
 DIR_INFO    = $(LFS_BASEDIR)/log
 DIR_TMP     = /tmp
 
-KGCC = gcc
-
 ###############################################################################
 # Common Macro Definitions
 ###############################################################################
similarity index 85%
rename from lfs/icecc
rename to lfs/bacula
index 9c9651cde4f6afbe68a08a389fe16bcf826f8f00..0e7d39ba62e93555ad4ce7797e7ec232bbbe53b4 100644 (file)
--- a/lfs/icecc
 
 include Config
 
-VER        = 0.9.7
+VER        = 5.2.13
 
-THISAPP    = icecc-$(VER)
-DL_FILE    = $(THISAPP).tar.bz2
+THISAPP    = bacula-$(VER)
+DL_FILE    = $(THISAPP).tar.gz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
-PROG       = icecc
-PAK_VER    = 3
+PROG       = bacula
+PAK_VER    = 2
 
 DEPS       = ""
 
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = c06900c2f4011428d0d48826a04f74fb
+$(DL_FILE)_MD5 = 43417bae0c221afb1f30a581c9e0f2fe
 
 install : $(TARGET)
 
@@ -76,12 +76,16 @@ $(subst %,%_MD5,$(objects)) :
 
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
-       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/icecream-rename-scheduler.patch
-       cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/icecream-0.9.7-platform-arm.patch
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
        cd $(DIR_APP) && ./configure \
-                               --prefix=/opt/icecream
-       cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE)
+                               --prefix=/usr \
+                               --sysconfdir=/etc/bacula \
+                               --with-working-dir=/var/bacula/working \
+                               --enable-client-only
+       cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && make install
+       ln -s /etc/bacula/bacula-ctl-fd /etc/rc.d/init.d/bacula
+       rm -f /root/.rnd
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
+
diff --git a/lfs/batctl b/lfs/batctl
new file mode 100644 (file)
index 0000000..6a66982
--- /dev/null
@@ -0,0 +1,79 @@
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER        = 2014.3.0
+
+THISAPP    = batctl-$(VER)
+DL_FILE    = $(THISAPP).tar.gz
+DL_FROM    = $(URL_IPFIRE)
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET     = $(DIR_INFO)/$(THISAPP)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = 7d2b8c129424c014d020c4b1a2add31b
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+dist: 
+       @$(PAK)
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+       @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+       @$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+       @$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+       @$(PREBUILD)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && make $(MAKETUNING)
+       cd $(DIR_APP) && make install PREFIX=/usr
+       @rm -rf $(DIR_APP)
+       @$(POSTBUILD)
index 022335882214bdb54cee2868de4283f032c4c6e6..36b234058f07d7f0fae13543e3504cc0cf9c4ec1 100644 (file)
--- a/lfs/bind
+++ b/lfs/bind
@@ -25,7 +25,7 @@
 
 include Config
 
-VER        = 9.3.2
+VER        = 9.9.5
 
 THISAPP    = bind-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -33,6 +33,8 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 
+export CPPFLAGS = -DDIG_SIGCHASE
+
 ###############################################################################
 # Top-level Rules
 ###############################################################################
@@ -41,7 +43,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 55e709501a7780233c36e25ccd15ece2
+$(DL_FILE)_MD5 = e676c65cad5234617ee22f48e328c24e
 
 install : $(TARGET)
 
@@ -71,7 +73,11 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-       cd $(DIR_APP) && ./configure --prefix=/usr --disable-nls --disable-ipv6
+       cd $(DIR_APP) && STD_CDEFINES="$(CPPFLAGS)" \
+               ./configure \
+                       --prefix=/usr \
+                       --disable-static \
+                       --disable-openssl-version-check
        cd $(DIR_APP) && make -C lib/dns
        cd $(DIR_APP) && make -C lib/isc
        cd $(DIR_APP) && make -C lib/bind9
@@ -81,5 +87,9 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        cd $(DIR_APP) && make -C bin/dig install
        cd $(DIR_APP) && make -C bin/nsupdate
        cd $(DIR_APP) && make -C bin/nsupdate install
+
+       install -v -m 644 $(DIR_SRC)/config/bind/trusted-key.key \
+               /etc/trusted-key.key
+
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
diff --git a/lfs/boost b/lfs/boost
new file mode 100644 (file)
index 0000000..b9b5015
--- /dev/null
+++ b/lfs/boost
@@ -0,0 +1,99 @@
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER        = 1_55_0
+
+THISAPP    = boost_$(VER)
+DL_FILE    = $(THISAPP).tar.gz
+DL_FROM    = $(URL_IPFIRE)
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET     = $(DIR_INFO)/$(THISAPP)
+
+CFLAGS    += -fno-strict-aliasing
+CXXFLAGS  += -fno-strict-aliasing
+
+CONFIGURE_OPTIONS = \
+       --prefix=/usr \
+       --layout=tagged \
+       --without-mpi \
+       --without-graph_parallel \
+       --build-dir=serial \
+       cflags="$(CFLAGS)" \
+       cxxflags="$(CXXFLAGS)" \
+       variant=release \
+       threading=single,multi \
+       debug-symbols=off \
+       pch=off
+
+ifeq "$(MACHINE)" "armv5tel"
+       MAKETUNING = -j2
+endif
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = 93780777cfbf999a600f62883bd54b17
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+       @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+       @$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+       @$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+       @$(PREBUILD)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
+
+       cd $(DIR_APP) && ./bootstrap.sh --with-toolset=gcc
+       cd $(DIR_APP) && ./b2 -d+2 -q $(MAKETUNING) $(CONFIGURE_OPTIONS) stage
+       cd $(DIR_APP) && ./b2 $(MAKETUNING) $(CONFIGURE_OPTIONS) install
+
+       @rm -rf $(DIR_APP)
+       @$(POSTBUILD)
index 8d7885975110d1ce35f424b252f0fe494f6d575d..f44e7b40ebb0301f5d83429f47e7454db5ecf947 100644 (file)
--- a/lfs/cacti
+++ b/lfs/cacti
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 0.8.7h
+VER        = 0.8.8b
 
 THISAPP    = cacti-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -32,7 +32,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = cacti
-PAK_VER    = 4
+PAK_VER    = 5
 
 DEPS       = "netsnmpd mysql"
 
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 58c9371341f49a190ae11a85118e598d
+$(DL_FILE)_MD5 = acb40deae073ca22e5c01a8e3ba389fb
 
 install : $(TARGET)
 
@@ -54,7 +54,6 @@ download :$(patsubst %,$(DIR_DL)/%,$(objects))
 
 md5 : $(subst %,%_MD5,$(objects))
 
-
 dist: 
        @$(PAK)
 
@@ -78,6 +77,21 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+
+       cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/cacti/cacti-0.8.8a-legal.patch
+       cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/cacti/cacti-0.8.8a-replace_treeview_by_jquery.jstree.patch
+       cd $(DIR_APP) && patch -p2 -i $(DIR_SRC)/src/patches/cacti/cacti-0.8.8b-html-injection.patch
+       cd $(DIR_APP) && patch -p2 -i $(DIR_SRC)/src/patches/cacti/cacti-0.8.8b-remote-command-execution.patch
+       cd $(DIR_APP) && patch -p2 -i $(DIR_SRC)/src/patches/cacti/cacti-0.8.8b-rra-comments.patch
+       cd $(DIR_APP) && patch -p2 -i $(DIR_SRC)/src/patches/cacti/cacti-0.8.8b-sanitize-variables.patch
+       cd $(DIR_APP) && patch -p2 -i $(DIR_SRC)/src/patches/cacti/cacti-0.8.8b-sql-injection-shell-escaping.patch
+       cp -vf \
+               $(DIR_SRC)/config/cacti/d.gif \
+               $(DIR_SRC)/config/cacti/d.png \
+               $(DIR_SRC)/config/cacti/throbber.gif \
+               $(DIR_APP)/include/js/jquery/themes/default/
+       cd $(DIR_APP) && rm -rf include/treeview
+
        @rm -rf /var/cacti /usr/share/cacti
        mkdir -pv /var/cacti /usr/share/cacti
 
@@ -92,6 +106,9 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        ln -s /var/cacti/log /usr/share/cacti/log
        ln -s /var/cacti/rra /usr/share/cacti/rra
 
+       -mkdir -pv /etc/logrotate.d
+       install -v -m 644 $(DIR_SRC)/config/cacti/cacti.logrotate /etc/logrotate.d/cacti
+
        chown -R nobody:nobody /var/cacti/rra /var/cacti/log
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
index 6e6d557d2cfb648150fa150e3a747a2d08b5c7db..53264711141ac428c79a53ec3078629b4fd3b34c 100644 (file)
 
 include Config
 
-VER        = 1.2.2p2
+VER        = 1.2.4p5
 
 THISAPP    = check_mk_agent-$(VER)
 DL_FILE    = check_mk-${VER}.tar.gz
-DL_FROM    = http://mathias-kettner.de/download
+DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/check_mk-${VER}
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = check_mk_agent
-PAK_VER    = 2
+PAK_VER    = 4
 
 DEPS       = ""
 
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = caa0f7662b4d170b2b6db2516bd41a89
+$(DL_FILE)_MD5 = ef3055d191bd38295d1716b3f7824115
 
 install : $(TARGET)
 check : $(patsubst %,$(DIR_CHK)/%,$(objects))
index 4a9a5a2bae3f9002d167881853dbcb4b425f6c88..58f03417ad1175a1c59fdfbb985d0e5f29a7e53b 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 0.98.1
+VER        = 0.98.4
 
 THISAPP    = clamav-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -32,7 +32,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = clamav
-PAK_VER    = 24
+PAK_VER    = 26
 
 DEPS       = ""
 
@@ -48,7 +48,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = b1ec7b19dea8385954515ef1d63576d8
+$(DL_FILE)_MD5 = 6d409eab6c311de05a0a591fccd2ec83
 
 install : $(TARGET)
 
@@ -96,6 +96,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 
        # Disable PaX mprotect for clamd and freshclam
        paxctl -cm /usr/sbin/clamd
+       paxctl -cm /usr/bin/clamscan
        paxctl -cm /usr/bin/freshclam
 
        @rm -rf $(DIR_APP)
index 3d2884198b319ad15d5b5b017f3834d40da66525..d4ea661d518bb137c3b85f667330e3d3d0cf564d 100644 (file)
@@ -36,6 +36,8 @@ PROG       = collectd
 
 DEPS       = ""
 
+CFLAGS    += -Wno-error=deprecated-declarations
+
 ###############################################################################
 # Top-level Rules
 ###############################################################################
index fcb08b0d495713ac886d2019a12b7d1a503c0e74..e0bb346d0ffab1588c9c1533beb9e6b4f7ad138d 100644 (file)
@@ -77,6 +77,7 @@ $(TARGET) :
        # Copy initial configfiles
        cp $(DIR_SRC)/config/cfgroot/header.pl                  $(CONFIG_ROOT)/
        cp $(DIR_SRC)/config/cfgroot/general-functions.pl       $(CONFIG_ROOT)/
+       cp $(DIR_SRC)/config/cfgroot/network-functions.pl       $(CONFIG_ROOT)/
        cp $(DIR_SRC)/config/cfgroot/lang.pl                    $(CONFIG_ROOT)/
        cp $(DIR_SRC)/config/cfgroot/countries.pl               $(CONFIG_ROOT)/
        cp $(DIR_SRC)/config/cfgroot/graphs.pl                  $(CONFIG_ROOT)/
diff --git a/lfs/daq b/lfs/daq
index e6fd8fbdf462885cddb7a8ce0d119880ca84f873..fa8f2a89c5e7dbd228b5fb3089dd9f1ff81123fc 100644 (file)
--- a/lfs/daq
+++ b/lfs/daq
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 2.0.1
+VER        = 2.0.2
 
 THISAPP    = daq-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 044aa3663d44580d005293eeb8ccf175
+$(DL_FILE)_MD5 = 865bf9b750a2a2ca632591a3c70b0ea0
 
 install : $(TARGET)
 
diff --git a/lfs/ddns b/lfs/ddns
new file mode 100644 (file)
index 0000000..b94b3a1
--- /dev/null
+++ b/lfs/ddns
@@ -0,0 +1,80 @@
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2010  IPFire Team  <info@ipfire.org>                          #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER        = 004
+
+THISAPP    = ddns-$(VER)
+DL_FILE    = $(THISAPP).tar.xz
+DL_FROM    = http://source.ipfire.org/releases/ddns/
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET     = $(DIR_INFO)/$(THISAPP)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = ff77cb72d0cb06c73bde70419b15bae8
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+       @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+       @$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+       @$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+       @$(PREBUILD)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
+
+       cd $(DIR_APP) && [ -x "configure" ] || sh ./autogen.sh
+       cd $(DIR_APP) && ./configure --prefix=/usr --sysconfdir=/var/ipfire
+       cd $(DIR_APP) && make $(MAKETUNING)
+       cd $(DIR_APP) && make install
+
+       @rm -rf $(DIR_APP)
+       @$(POSTBUILD)
index 29fb9b38dfc3c7b10f9054b451226c4a4d4c3a5d..58b001755dbbc8d6175537ed94d9f8c4a266d8f7 100644 (file)
 
 include Config
 
-VER        = 2.45
+VER        = 2.71
 
 THISAPP    = dnsmasq-$(VER)
-DL_FILE    = $(THISAPP).tar.gz
+DL_FILE    = $(THISAPP).tar.xz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 
+COPTS      = -DHAVE_ISC_READER
+
 ###############################################################################
 # Top-level Rules
 ###############################################################################
@@ -40,7 +42,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = b7956e15c9766e05b3eca3ce88fdb616
+$(DL_FILE)_MD5 = 9e2e4d59c75e71ee3ca817ff0f9be69e
 
 install : $(TARGET)
 
@@ -69,13 +71,18 @@ $(subst %,%_MD5,$(objects)) :
 
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
-       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-       cd $(DIR_APP) && sed -i -e 's|/usr/local|/usr|g' Makefile
-       cd $(DIR_APP)/src && sed -i \
-               -e 's|^\/\* #define HAVE_ISC_READER .*$$|#define HAVE_ISC_READER\n#define NO_IPV6|' \
-               -e 's|^#define HAVE_TFTP *$$|//#define HAVE_TFTP|' \
-               -e 's/^#define CHUSER .*$$/#define CHUSER "dnsmasq"/' config.h
-       cd $(DIR_APP) && make $(MAKETUNING)
-       cd $(DIR_APP) && make install
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq-2.71-use-nettle-with-minigmp.patch
+       cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq-2.71-support-nettle-3.0.patch
+       cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq-2.70-Add-support-to-read-ISC-DHCP-lease-file.patch
+       cd $(DIR_APP) && sed -i src/config.h \
+               -e 's|/\* #define HAVE_IDN \*/|#define HAVE_IDN|g' \
+               -e 's|/\* #define HAVE_DNSSEC \*/|#define HAVE_DNSSEC|g' \
+               -e 's|#define HAVE_DHCP|//#define HAVE_DHCP|g' \
+               -e 's|#define HAVE_DHCP6|//#define HAVE_DHCP6|g' \
+               -e 's|#define HAVE_TFTP|//#define HAVE_TFTP|g'
+
+       cd $(DIR_APP) && make CFLAGS="$(CFLAGS)" COPTS="$(COPTS)" $(MAKETUNING)
+       cd $(DIR_APP) && make PREFIX=/usr install
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
index 58c99c43c8bcff1e736c7537d12c4b97cdd48475..10a42ee766c09fa764e571fc9a68bbb5effbcc34 100644 (file)
@@ -27,7 +27,7 @@ include Config
 VERSUFIX = ipfire$(KCFG)
 MODPATH = /lib/modules/$(KVER)-$(VERSUFIX)/kernel/drivers/net/e1000e
 
-VER        = 2.5.4
+VER        = 3.0.4
 
 THISAPP    = e1000e-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -43,7 +43,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 8a57fc73335bf1ab0e16a02ecccdae76
+$(DL_FILE)_MD5 = 2d8364cd2043ef5c71291a4ca8b8084e
 
 install : $(TARGET)
 
diff --git a/lfs/gmp b/lfs/gmp
index cf5227671155965897c0bc8c6d3416fc287f4e62..780e7f69df9dfb824489f2bd72387fbb0d0bb3ab 100644 (file)
--- a/lfs/gmp
+++ b/lfs/gmp
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
+# Copyright (C) 2007-2014   IPFire Team   <info@ipfire.org>                   #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
 
 include Config
 
-VER        = 5.0.5
+VER        = 6.0.0
 
 THISAPP    = gmp-$(VER)
-DL_FILE    = $(THISAPP).tar.bz2
+DL_FILE    = $(THISAPP)a.tar.xz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 
 ifeq "$(MACHINE)" "i586"
        CONFIGURE_ARGS = ABI=32
+       BUILDTARGET_PENTIUM4 = $(patsubst $(MACHINE)-%,pentium4-%,$(BUILDTARGET))
 endif
 
+CONFIGURE_OPTIONS = \
+       --prefix=/usr \
+       --enable-cxx \
+       --enable-mpbsd \
+       --disable-nls
+
 ###############################################################################
 # Top-level Rules
 ###############################################################################
@@ -44,7 +51,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 041487d25e9c230b0c42b106361055fe
+$(DL_FILE)_MD5 = 1e6da4e434553d2811437aa42c7f7c76
 
 install : $(TARGET)
 
@@ -73,10 +80,30 @@ $(subst %,%_MD5,$(objects)) :
 
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
-       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
-       cd $(DIR_APP) && $(CONFIGURE_ARGS) ./configure --prefix=/usr \
-               --enable-cxx --enable-mpbsd --disable-nls
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && \
+               $(CONFIGURE_ARGS) \
+               ./configure \
+                       --build=$(BUILDTARGET) \
+                       $(CONFIGURE_OPTIONS)
        cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && make install
+
+ifeq "$(MACHINE)" "i586"
+       # Build SSE/SSE2 optimised version for x86
+       cd $(DIR_APP) && make clean
+       cd $(DIR_APP) && \
+               $(CONFIGURE_ARGS) \
+               ./configure \
+                       --build=$(BUILDTARGET_PENTIUM4) \
+                       $(CONFIGURE_OPTIONS) \
+                       CFLAGS="$(CFLAGS) -march=pentium4" \
+                       CXXFLAGS="$(CXXFLAGS) -march=pentium4"
+       cd $(DIR_APP) && make $(MAKETUNING)
+
+       -mkdir -pv /usr/lib/sse2
+       cd $(DIR_APP) && install -v -m 755 .libs/libgmp.so.10.2.0 /usr/lib/sse2
+endif
+
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
index 3d20e889a013f3eec690f9dbc2c1f5edc7073c88..438e9578d3076b5f988088ebf81bd8367fd2fbf2 100644 (file)
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
+# Copyright (C) 2007-2014   IPFire Team   <info@ipfire.org>                   #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -75,6 +75,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
        cd $(DIR_APP) && $(CONFIGURE_ARGS) ./configure --prefix=/usr \
+               --build=$(BUILDTARGET) \
                --enable-cxx --enable-mpbsd --disable-nls
        cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && install -m 644 .libs/libgmp.so.3.5.2 /usr/lib
index 12da4cb777c27b8885aa5cfcb7315ac12e9f5842..cdaf5a69e964cf2a84163192219671b4bc3f0902 100644 (file)
--- a/lfs/gpgme
+++ b/lfs/gpgme
@@ -32,9 +32,9 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = gpgme
-PAK_VER    = 1
+PAK_VER    = 2
 
-DEPS       = "libgpg-error libassuan"
+DEPS       = "libassuan"
 
 ###############################################################################
 # Top-level Rules
index 5560a4277e4843c7c0dee5d6be4ae3819a28c5b9..dbf909d54f36792f810632a380a16ba982c1c958 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 2.1
+VER        = 2.2
 
 THISAPP    = hostapd-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -32,7 +32,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = hostapd
-PAK_VER    = 29
+PAK_VER    = 30
 
 DEPS       = ""
 
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = bb9c50e87c5af6f89f387e63911effac
+$(DL_FILE)_MD5 = 23c1f78a693c3288802d516adb7fd289
 
 install : $(TARGET)
 
diff --git a/lfs/hostname b/lfs/hostname
new file mode 100644 (file)
index 0000000..feac3a0
--- /dev/null
@@ -0,0 +1,77 @@
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER        = 3.15
+
+THISAPP    = hostname_$(VER)
+DL_FILE    = $(THISAPP).tar.gz
+DL_FROM    = $(URL_IPFIRE)
+DIR_APP    = $(DIR_SRC)/hostname
+TARGET     = $(DIR_INFO)/$(THISAPP)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = f93c87de2517850de5f47234e3bcb563
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+       @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+       @$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+       @$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+       @$(PREBUILD)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/hostname-rh.patch
+       cd $(DIR_APP) && make $(MAKETUNING)
+       cd $(DIR_APP) && make install BINDIR=/bin
+       @rm -rf $(DIR_APP)
+       @$(POSTBUILD)
diff --git a/lfs/icinga b/lfs/icinga
new file mode 100644 (file)
index 0000000..691d83d
--- /dev/null
@@ -0,0 +1,137 @@
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007-2012  IPFire Team  <info@ipfire.org>                     #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER        = 1.11.4
+PLUGIN_VER = 2.0.2
+
+THISAPP    = icinga-$(VER)
+DL_FILE    = $(THISAPP).tar.gz
+DL_FROM    = $(URL_IPFIRE)
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET     = $(DIR_INFO)/$(THISAPP)
+PROG       = icinga
+PAK_VER    = 1
+
+DEPS       = ""
+
+CFLAGS    += -fno-strict-aliasing
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE) nagios-plugins-$(PLUGIN_VER).tar.gz
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+nagios-plugins-$(PLUGIN_VER).tar.gz = \
+       $(DL_FROM)/nagios-plugins-$(PLUGIN_VER).tar.gz
+
+$(DL_FILE)_MD5 = cfe64b91ec84f5431e53959e31ff07b5
+nagios-plugins-$(PLUGIN_VER).tar.gz_MD5 = 2f6d9c43adcf9f024175e48a44d099d4
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+dist: 
+       @$(PAK)
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+       @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+       @$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+       @$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+       @$(PREBUILD)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+       @rm -rf $(DIR_SRC)/nagios-plugins-$(PLUGIN_VER) && cd $(DIR_SRC) && \
+               tar axf $(DIR_DL)/nagios-plugins-$(PLUGIN_VER).tar.gz
+
+       # Compile core
+       cd $(DIR_APP) && \
+               ./configure \
+                       --prefix=/usr \
+                       --sysconfdir=/etc/icinga \
+                       --datadir=/usr/share/icinga \
+                       --datarootdir=/usr/share/icinga \
+                       --sbindir=/usr/share/icinga/cgi-bin \
+                       --localstatedir=/var/icinga \
+                       --libdir=/usr/lib/icinga \
+                       --libexecdir=/usr/lib/icinga/plugins \
+                       --with-lockfile=/var/run/icinga.pid \
+                       --with-httpd-conf=/etc/httpd/conf/conf.d \
+                       --with-icinga-user=nobody \
+                       --with-icinga-group=nobody \
+                       --enable-event-broker \
+                       --enable-embedded-perl \
+                       --disable-idoutils
+       cd $(DIR_APP) && make all $(MAKETUNING)
+
+       # Compile plugins
+       cd $(DIR_SRC)/nagios-plugins-$(PLUGIN_VER) && \
+               ./configure \
+                       --prefix=/usr \
+                       --libexecdir=/usr/lib/icinga/plugins \
+                       --with-nagios-user=nobody \
+                       --with-nagios-group=nobody
+       cd $(DIR_SRC)/nagios-plugins-$(PLUGIN_VER) && make $(MAKETUNING)
+
+       # Install core
+       cd $(DIR_APP) && make \
+               install install-init install-commandmode install-config \
+               install-webconf install-eventhandlers
+       rm -vf /etc/httpd/conf/conf.d/icinga.conf
+       install -v -m 644 $(DIR_SRC)/config/icinga/icinga.conf \
+               /etc/httpd/conf/vhosts.d/icinga.conf
+
+       # Install plugins
+       cd $(DIR_SRC)/nagios-plugins-$(PLUGIN_VER) && make install
+
+       ln -svf /etc/rc.d/init.d/icinga /etc/rc.d/rc3.d/S67icinga
+       ln -svf /etc/rc.d/init.d/icinga /etc/rc.d/rc0.d/K33icinga
+       ln -svf /etc/rc.d/init.d/icinga /etc/rc.d/rc6.d/K33icinga
+
+       install -v -m 644 $(DIR_SRC)/config/backup/includes/icinga \
+                        /var/ipfire/backup/addons/includes/icinga
+
+       @rm -rf $(DIR_APP) $(DIR_SRC)/nagios-plugins-$(PLUGIN_VER)
+       @$(POSTBUILD)
diff --git a/lfs/igb b/lfs/igb
index 9303ffb86df071f9c5764c392994834680dac3af..b8aadc48b66f414024bd35d06fcacc34effda492 100644 (file)
--- a/lfs/igb
+++ b/lfs/igb
@@ -27,7 +27,7 @@ include Config
 VERSUFIX   = ipfire$(KCFG)
 MODPATH = /lib/modules/$(KVER)-$(VERSUFIX)/kernel/drivers/net/ethernet/intel/igb/
 
-VER        = 5.0.6
+VER        = 5.1.2
 
 THISAPP    = igb-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -43,7 +43,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 701717fbbba6065af4ff5138bd3a3a9c
+$(DL_FILE)_MD5 = c222b04f7e43afffc105d0d0db60c6c0
 
 install : $(TARGET)
 
index 02f97431a2318186c57dbed65374451cf17141f1..4acf65e13eb965ae8673e0a40e72786a30d3a5c9 100644 (file)
@@ -180,14 +180,12 @@ $(TARGET) :
        ln -sf ../init.d/wlanclient  /etc/rc.d/rc6.d/K82wlanclient
 
        ln -sf ../../dnsmasq /etc/rc.d/init.d/networking/red.up/05-RS-dnsmasq
-       ln -sf ../../firewall /etc/rc.d/init.d/networking/red.up/20-RL-firewall
        ln -sf ../../../../../usr/local/bin/snortctrl \
                /etc/rc.d/init.d/networking/red.up/23-RS-snort
        ln -sf ../../../../../usr/local/bin/qosctrl \
                /etc/rc.d/init.d/networking/red.up/24-RS-qos
        ln -sf ../../squid /etc/rc.d/init.d/networking/red.up/27-RS-squid
        ln -sf ../../dnsmasq /etc/rc.d/init.d/networking/red.down/05-RS-dnsmasq
-       ln -sf ../../firewall /etc/rc.d/init.d/networking/red.down/20-RL-firewall
 
        for i in green blue orange; do \
                ln -sf any /etc/rc.d/init.d/networking/$$i; \
diff --git a/lfs/krb5 b/lfs/krb5
new file mode 100644 (file)
index 0000000..64eb670
--- /dev/null
+++ b/lfs/krb5
@@ -0,0 +1,105 @@
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER        = 1.12.1
+
+THISAPP    = krb5-$(VER)
+DL_FILE    = $(THISAPP).tar.gz
+DL_FROM    = $(URL_IPFIRE)
+DIR_APP    = $(DIR_SRC)/$(THISAPP)/src
+TARGET     = $(DIR_INFO)/$(THISAPP)
+PROG       = krb5
+PAK_VER    = 1
+
+DEPS       = ""
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = 4a631b3474d3e44773f1ecda96f04400
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+dist: 
+       @$(PAK)
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+       @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+       @$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+       @$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+       @$(PREBUILD)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && patch -Np2 < $(DIR_SRC)/src/patches/mitkrb-1.12.1-db2_fix-1.patch
+
+       cd $(DIR_APP) && sed -e "s@python2.5/Python.h@& python2.7/Python.h@g" \
+               -e "s@-lpython2.5]@&,\n  AC_CHECK_LIB(python2.7,main,[PYTHON_LIB=-lpython2.7])@g" \
+               -i configure.in
+       cd $(DIR_APP) && autoconf
+
+       cd $(DIR_APP) && ./configure \
+               --prefix=/usr \
+               --sysconfdir=/etc \
+               --localstatedir=/var/lib \
+               --with-system-et \
+               --with-system-ss \
+               --enable-dns-for-realm \
+               CPPFLAGS="-I/usr/include/et"
+
+       cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE)
+       cd $(DIR_APP) && make $(EXTRA_INSTALL) install
+
+       for LIB in gssapi_krb5 gssrpc k5crypto kadm5clnt kadm5srv \
+                       kdb5 kdb_ldap krad krb5 krb5support verto; do \
+               chmod -f -v 755 "/usr/lib/lib$$LIB.so"; \
+       done
+
+       @rm -rf $(DIR_APP)
+       @$(POSTBUILD)
diff --git a/lfs/libgcrypt b/lfs/libgcrypt
new file mode 100644 (file)
index 0000000..76ee3d0
--- /dev/null
@@ -0,0 +1,80 @@
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER        = 1.6.1
+
+THISAPP    = libgcrypt-$(VER)
+DL_FILE    = $(THISAPP).tar.bz2
+DL_FROM    = $(URL_IPFIRE)
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET     = $(DIR_INFO)/$(THISAPP)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = a5a5060dc2f80bcac700ab0236ea47dc
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+       @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+       @$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+       @$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+       @$(PREBUILD)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && \
+               ./configure \
+                       --prefix=/usr \
+                       --enable-noexecstack
+       cd $(DIR_APP) && make $(MAKETUNING)
+       cd $(DIR_APP) && make install
+       @rm -rf $(DIR_APP)
+       @$(POSTBUILD)
index 59108c155808d4b6467864ee98572ab61bd0e03a..7faf289bc1161e2458f2764670c170c2c3c76fc6 100644 (file)
 
 include Config
 
-VER        = 1.10
+VER        = 1.13
 
 THISAPP    = libgpg-error-$(VER)
 DL_FILE    = $(THISAPP).tar.bz2
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
-PROG       = libgpg-error
-PAK_VER    = 1
-
-DEPS       = ""
 
 ###############################################################################
 # Top-level Rules
@@ -44,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 736a03daa9dc5873047d4eb4a9c22a16
+$(DL_FILE)_MD5 = fe0cfa7e15262ef8fdeee366109e9ff6
 
 install : $(TARGET)
 
@@ -54,9 +50,6 @@ download :$(patsubst %,$(DIR_DL)/%,$(objects))
 
 md5 : $(subst %,%_MD5,$(objects))
 
-dist: 
-       @$(PAK)
-
 ###############################################################################
 # Downloading, checking, md5sum
 ###############################################################################
similarity index 81%
rename from lfs/inetutils
rename to lfs/libnl-3
index ba87c9c994cbd093a983dc5cbe849397ada9d5de..3bb7f52f09cfa98fef0904a285b772e0f1eb4657 100644 (file)
@@ -24,9 +24,9 @@
 
 include Config
 
-VER        = 1.4.2
+VER        = 3.2.25
 
-THISAPP    = inetutils-$(VER)
+THISAPP    = libnl-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = df0909a586ddac2b7a0d62795eea4206
+$(DL_FILE)_MD5 = 03f74d0cd5037cadc8cdfa313bbd195c
 
 install : $(TARGET)
 
@@ -50,6 +50,9 @@ download :$(patsubst %,$(DIR_DL)/%,$(objects))
 
 md5 : $(subst %,%_MD5,$(objects))
 
+dist: 
+       @$(PAK)
+
 ###############################################################################
 # Downloading, checking, md5sum
 ###############################################################################
@@ -70,19 +73,8 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/$(THISAPP)-gcc4_fixes-3.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/$(THISAPP)-daemon_fixes-1.patch
-       cd $(DIR_APP) && sed -i '/#include/a #include <stdlib.h>' libicmp/icmp_timestamp.c
-       cd $(DIR_APP) && ./configure --prefix=/usr --libexecdir=/usr/sbin \
-                               --sysconfdir=/etc --localstatedir=/var \
-                               --mandir=/usr/share/man --infodir=/usr/share/info \
-                               --disable-logger --disable-syslogd --disable-telnet --disable-telnetd
+       cd $(DIR_APP) && ./configure --prefix=/usr --sysconfdir=/etc
        cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && make install
-       mv -v /usr/bin/ping /bin
-
-       # Don't use whois command from here.
-       rm -vf /usr/bin/whois
-
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
index c6fdc2ef042608183390fec78e364e1012b09039..0f118a428772a16e2dde757cefa835caee5a1713 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 1.0.0
+VER        = 1.4.0
 
 THISAPP    = libpcap-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -32,6 +32,8 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 
+CFLAGS    += -fno-strict-aliasing
+
 ###############################################################################
 # Top-level Rules
 ###############################################################################
@@ -40,7 +42,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 9ad1358c5dec48456405eac197a46d3d
+$(DL_FILE)_MD5 = 56e88a5aabdd1e04414985ac24f7e76c
 
 install : $(TARGET)
 
@@ -70,15 +72,8 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-#      cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/libpcap-0.8.3-shared.patch
-       cd $(DIR_APP) && ./configure --prefix=/usr --disable-nls
-       cd $(DIR_APP) && make
-       cd $(DIR_APP) && make shared
+       cd $(DIR_APP) && ./configure --prefix=/usr
+       cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && make install
-       cd $(DIR_APP) && make install-shared-so
-       ln -svf libpcap.so.1.0.0 /usr/lib/libpcap.so.1.0
-       ln -svf libpcap.so.1.0 /usr/lib/libpcap.so.1
-       ln -svf libpcap.so.1 /usr/lib/libpcap.so        
-       cd $(DIR_APP) && cp -vf pcap-int.h /usr/include
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
index 2bf32d39b8cf9f521cf0955c4495d108ebfaaf3c..6beb75c5707b21e7fc50057d66929e7cd3958dad 100644 (file)
--- a/lfs/linux
+++ b/lfs/linux
 
 include Config
 
-VER        = 3.10.39
+VER        = 3.10.44
 
 RPI_PATCHES = linux-3.10.38-grsec-1b49b45
-GRS_PATCHES = grsecurity-2.9.1-3.10.39-ipfire1.patch.xz
+GRS_PATCHES = grsecurity-2.9.1-3.10.44-ipfire1.patch.xz
 
 THISAPP    = linux-$(VER)
 DL_FILE    = linux-$(VER).tar.xz
@@ -36,7 +36,7 @@ DIR_APP    = $(DIR_SRC)/$(THISAPP)
 CFLAGS     =
 CXXFLAGS   =
 
-PAK_VER    = 44
+PAK_VER    = 51
 DEPS      = ""
 
 VERSUFIX=ipfire$(KCFG)
@@ -74,9 +74,9 @@ $(DL_FILE)                            = $(URL_IPFIRE)/$(DL_FILE)
 rpi-patches-$(RPI_PATCHES).patch.xz    = $(URL_IPFIRE)/rpi-patches-$(RPI_PATCHES).patch.xz
 $(GRS_PATCHES)                         = $(URL_IPFIRE)/$(GRS_PATCHES)
 
-$(DL_FILE)_MD5                         = 74db7cc558a1a72ebf5044d286e2bc47
+$(DL_FILE)_MD5                         = 8a4006eff3bbd8aff58fe4b443223e7a
 rpi-patches-$(RPI_PATCHES).patch.xz_MD5        = a7408e8bad57b4b2cb677dd5a0bfb7ff
-$(GRS_PATCHES)_MD5                     = 6296b7ec4146544249075249e338ceb3
+$(GRS_PATCHES)_MD5                     = 07e5d812146063ed5b2ce49d0d24099b
 
 install : $(TARGET)
 
@@ -120,6 +120,9 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        # Layer7-patch
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-3.10-layer7-filter.patch
 
+       # pie packet scheduler
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-3.10.39-pie_packet_sch.patch
+
        # Grsecurity-patches
 ifneq "$(KCFG)" "-headers"
        cd $(DIR_APP) && xz -c -d $(DIR_DL)/$(GRS_PATCHES) | patch -Np1
@@ -157,6 +160,9 @@ endif
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-3.2.33_ipg-fix-driver-name.patch
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-2.6.32.27_mcs7830-fix-driver-name.patch
 
+       # Moschip 7830 link detection
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-3.10.y-usbnet_mcs7830_rework_link_detect.patch
+
 
 ifeq "$(KCFG)" "-kirkwood"
        # Add dreamplug,guruplug and icy 62x0  support on ARM-kirkwood
@@ -250,26 +256,26 @@ else
 
        # Cleanup kernel source
        cp $(DIR_SRC)/config/kernel/kernel.config.$(MACHINE)-$(VERSUFIX) $(DIR_APP)/.config
-       cd $(DIR_APP) && make CC="$(KGCC)" oldconfig
-       cd $(DIR_APP) && make CC="$(KGCC)" clean
+       cd $(DIR_APP) && make oldconfig
+       cd $(DIR_APP) && make clean
        cd $(DIR_APP) && sed -i -e 's/EXTRAVERSION\ =.*/EXTRAVERSION\ =\ -$(VERSUFIX)/' Makefile
 
 ifeq "$(KCFG)" "-kirkwood"
-       cd $(DIR_APP) && make $(MAKETUNING) CC="$(KGCC)" uImage modules
+       cd $(DIR_APP) && make $(MAKETUNING) uImage modules
        cd $(DIR_APP) && cp -v arch/arm/boot/uImage /boot/vmlinuz-$(VER)-$(VERSUFIX)
        cd $(DIR_APP) && cp -v arch/arm/boot/uImage /boot/uImage-$(VERSUFIX)
 else
 ifeq "$(KCFG)" "-multi"
-       cd $(DIR_APP) && make $(MAKETUNING) CC="$(KGCC)" zImage modules
+       cd $(DIR_APP) && make $(MAKETUNING) zImage modules
        cd $(DIR_APP) && cp -v arch/arm/boot/zImage /boot/vmlinuz-$(VER)-$(VERSUFIX)
        cd $(DIR_APP) && cp -v arch/arm/boot/zImage /boot/zImage-$(VERSUFIX)
 else
 ifeq "$(KCFG)" "-rpi"
-       cd $(DIR_APP) && make $(MAKETUNING) CC="$(KGCC)" zImage modules
+       cd $(DIR_APP) && make $(MAKETUNING) zImage modules
        cd $(DIR_APP) && cp -v arch/arm/boot/zImage /boot/vmlinuz-$(VER)-$(VERSUFIX)
        cd $(DIR_APP) && cp -v arch/arm/boot/zImage /boot/kernel.img
 else
-       cd $(DIR_APP) && make $(MAKETUNING) CC="$(KGCC)" bzImage modules
+       cd $(DIR_APP) && make $(MAKETUNING) bzImage modules
        cd $(DIR_APP) && cp -v arch/i386/boot/bzImage /boot/vmlinuz-$(VER)-$(VERSUFIX)
        ln -sf vmlinuz-$(VER)-$(VERSUFIX) /boot/vmlinuz-$(VERSUFIX)
 endif
@@ -278,11 +284,11 @@ endif
        cd $(DIR_APP) && cp -v System.map /boot/System.map-$(VER)-$(VERSUFIX)
        cd $(DIR_APP) && cp -v .config /boot/config-$(VER)-$(VERSUFIX)
        ln -sf System.map-$(VER)-$(VERSUFIX) /boot/System.map-$(VERSUFIX)
-       cd $(DIR_APP) && make CC="$(KGCC)" $(MAKETUNING) modules_install
-       cd $(DIR_APP) && make CC="$(KGCC)" $(MAKETUNING) firmware_install
+       cd $(DIR_APP) && make $(MAKETUNING) modules_install
+       cd $(DIR_APP) && make $(MAKETUNING) firmware_install
 
 ifeq "$(MACHINE_TYPE)" "arm"
-       cd $(DIR_APP) && make CC="$(KGCC)" $(MAKETUNING) dtbs
+       cd $(DIR_APP) && make $(MAKETUNING) dtbs
        cd $(DIR_APP) && for f in $$(find arch/arm/boot/dts/ -name *.dtb); do \
                                mkdir -p /boot/dtb-$(VER)-$(VERSUFIX) ; \
                                install -m 644 $$f /boot/dtb-$(VER)-$(VERSUFIX)/ ; \
diff --git a/lfs/lzo b/lfs/lzo
index 69bc5cd40e2a1653854e0a9a8d83fe2f2f84978b..19ad0909cc3d4f003ac3a3f6a94f3ab795551a92 100644 (file)
--- a/lfs/lzo
+++ b/lfs/lzo
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
+# Copyright (C) 2007-2014  IPFire Team   <info@ipfire.org>                    #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -70,6 +70,7 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/lzo-2.06-CVE-2014-4607.patch
        cd $(DIR_APP) && ./configure --prefix=/usr --enable-shared 
        cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && make install
index de5e006dc1185cd02bcbb9abfea9f37f06ff49a5..b4cfc6653f67236c5b79303c7ed9bf5fc38c682d 100644 (file)
--- a/lfs/mpfr
+++ b/lfs/mpfr
 
 include Config
 
-VER        = 2.4.2
+VER        = 3.1.2
 
 THISAPP    = mpfr-$(VER)
-DL_FILE    = $(THISAPP).tar.bz2
+DL_FILE    = $(THISAPP).tar.xz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 89e59fe665e2b3ad44a6789f40b059a0
+$(DL_FILE)_MD5 = e3d203d188b8fe60bb6578dd3152e05c
 
 install : $(TARGET)
 
@@ -69,7 +69,7 @@ $(subst %,%_MD5,$(objects)) :
 
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
-       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
        cd $(DIR_APP) && $(CONFIGURE_ARGS) ./configure --prefix=/usr \
                --enable-thread-safe --disable-nls
        cd $(DIR_APP) && make $(MAKETUNING)
index 08b4815f38bc0a8d2c7a3ebfa57b217f8ed34832..ae4d73850e416fc50388fa4588654f18a2ff2020 100644 (file)
@@ -69,6 +69,7 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/net-tools-1.60-no-hostname.patch
        cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/$(THISAPP)-gcc34-3.patch
        cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/$(THISAPP)-kernel_headers-3.patch
        cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/$(THISAPP)-mii_ioctl-1.patch
diff --git a/lfs/nettle b/lfs/nettle
new file mode 100644 (file)
index 0000000..0ea42f3
--- /dev/null
@@ -0,0 +1,79 @@
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER        = 3.0
+
+THISAPP    = nettle-$(VER)
+DL_FILE    = $(THISAPP).tar.gz
+DL_FROM    = $(URL_IPFIRE)
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET     = $(DIR_INFO)/$(THISAPP)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = f64b1bf1e774b7ae6e507318e340250e
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+       @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+       @$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+       @$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+       @$(PREBUILD)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && ./configure \
+               --prefix=/usr \
+               --enable-shared
+       cd $(DIR_APP) && make $(MAKETUNING)
+       cd $(DIR_APP) && make install
+       @rm -rf $(DIR_APP)
+       @$(POSTBUILD)
index f842bb979b8283dd0465b09ce331083f920b554f..0f0b823a947acddbfada70d00dc6cfb39eb63e1f 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 1.0.1g
+VER        = 1.0.1i
 
 THISAPP    = openssl-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -51,7 +51,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = de62b43dfcd858e66a74bee1c834e959
+$(DL_FILE)_MD5 = c8dc151a671b9b92ff3e4c118b174972
 
 install : $(TARGET)
 
diff --git a/lfs/owncloud b/lfs/owncloud
new file mode 100644 (file)
index 0000000..93ab3a5
--- /dev/null
@@ -0,0 +1,100 @@
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007-2013  IPFire Team  <info@ipfire.org>                     #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER        = 7.0.0
+
+THISAPP    = owncloud-$(VER)
+DL_FILE    = $(THISAPP).tar.bz2
+DL_FROM    = $(URL_IPFIRE)
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET     = $(DIR_INFO)/$(THISAPP)
+PROG       = owncloud
+PAK_VER           = 2
+
+DEPS       = ""
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = 28cfdc99e8ee9350fe88430b4c7d62f2
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+dist: 
+       @$(PAK)
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+       @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+       @$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+       @$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+       @$(PREBUILD)
+       @rm -rf $(DIR_SRC)/$(PROG) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
+
+       cd $(DIR_SRC) && cp -vrf owncloud /srv/web/
+
+       # Rename files with spaces in the name.
+       while read -r file; do \
+               mv -v "$${file}" "$${file//\ /_}"; \
+       done <<< "$$(find /srv/web/owncloud | grep ' ')"
+
+       # Create data directory
+       mkdir -pv /var/owncloud/data
+       ln -s /var/owncloud/data /srv/web/owncloud/data 
+
+       # Make sure everything is owned by root, except...
+       chown -R root.root /srv/web/owncloud
+       chown -R nobody.nobody /srv/web/owncloud/{apps,data,config}
+
+       install -v -m644 $(DIR_SRC)/config/owncloud/owncloud.conf \
+               /etc/httpd/conf/vhosts.d/
+       install -v -m 644 $(DIR_SRC)/config/backup/includes/owncloud \
+               /var/ipfire/backup/addons/includes/owncloud
+       @$(POSTBUILD)
diff --git a/lfs/perl-PDF-API2 b/lfs/perl-PDF-API2
new file mode 100644 (file)
index 0000000..8b0af9a
--- /dev/null
@@ -0,0 +1,82 @@
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2011  IPFire Team  <info@ipfire.org>                          #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER        = 2.020
+
+THISAPP    = PDF-API2-$(VER)
+DL_FILE    = $(THISAPP).tar.gz
+DL_FROM    = $(URL_IPFIRE)
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET     = $(DIR_INFO)/$(THISAPP)
+PROG       = perl-PDF-API2
+PAK_VER    = 1
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = c0d20bfd03883b5b2b2a7fd47455249a
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+dist: 
+       @$(PAK)
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+       @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+       @$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+       @$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+       @$(PREBUILD)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && perl Makefile.PL
+       cd $(DIR_APP) && make $(MAKETUNING)
+       cd $(DIR_APP) && make install
+       @rm -rf $(DIR_APP)
+       @$(POSTBUILD)
diff --git a/lfs/ppp b/lfs/ppp
index ba72f4c835f3c9728dbc5695beec7cc4c09d5980..f25531006aa4f6f49233b0625d6ce3a136b3f9e8 100644 (file)
--- a/lfs/ppp
+++ b/lfs/ppp
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
+# Copyright (C) 2007-2014   IPFire Team   <info@ipfire.org>                   #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 2.4.6
+VER        = 2.4.7
 
 THISAPP    = ppp-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -42,7 +42,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 3434d2cc9327167a0723aaaa8670083b
+$(DL_FILE)_MD5 = 78818f40e6d33a1d1de68a1551f6595a
 
 install : $(TARGET)
 
@@ -73,9 +73,14 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
        cd $(DIR_APP) && rm -f include/pcap-int.h include/linux/if_pppol2tp.h
+       cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/ppp/0003-build-sys-utilize-compiler-flags-handed-to-us-by-rpm.patch
+       cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/ppp/0012-pppd-we-don-t-want-to-accidentally-leak-fds.patch
+       cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/ppp/0013-everywhere-O_CLOEXEC-harder.patch
+       cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/ppp/0014-everywhere-use-SOCK_CLOEXEC-when-creating-socket.patch
+       cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/ppp/ppp-2.4.6-increase-max-padi-attempts.patch
        cd $(DIR_APP) && sed -i -e "s+/etc/ppp/connect-errors+/var/log/connect-errors+" pppd/pathnames.h
        cd $(DIR_APP) && ./configure --prefix=/usr --disable-nls
-       cd $(DIR_APP) && make $(MAKETUNING) CC="gcc $(CFLAGS)"
+       cd $(DIR_APP) && make $(MAKETUNING) CC="gcc" RPM_OPT_FLAGS="$(CFLAGS)"
        cd $(DIR_APP) && make install
        cd $(DIR_APP) && make install-etcppp
        touch /var/log/connect-errors
index d68b97d1e5667a66320706b962c576f742886222..2fc0476b0a8e5c93bc0264074a3edca341f6641e 100644 (file)
--- a/lfs/qemu
+++ b/lfs/qemu
@@ -33,7 +33,7 @@ DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 SUP_ARCH   = i586
 PROG       = qemu
-PAK_VER    = 13
+PAK_VER    = 14
 
 DEPS       = "sdl"
 
index 8ca95cff8f816767ae19df3771f05489d0c217f2..c8ea08d8a4ba3a25cf96c27c84484aca4bd36217 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 4
+VER        = 5
 
 THISAPP    = rng-tools-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = ae89dbfcf08bdfbea19066cfbf599127
+$(DL_FILE)_MD5 = 6726cdc6fae1f5122463f24ae980dd68
 
 install : $(TARGET)
 
index 4f5375c07faca4099e9369278e1cc217f7ffde44..4bd42cbb276a3b28c6993d9e6df2e2ae688bcf92 100644 (file)
--- a/lfs/samba
+++ b/lfs/samba
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 3.6.23
+VER        = 3.6.24
 
 THISAPP    = samba-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -32,9 +32,9 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = samba
-PAK_VER    = 57
+PAK_VER    = 58
 
-DEPS       = "cups"
+DEPS       = "cups krb5"
 
 ###############################################################################
 # Top-level Rules
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 2f7aee1dc5d31aefcb364600915b31dc
+$(DL_FILE)_MD5 = d98425c0c2b73e08f048d31ffc727fb0
 
 install : $(TARGET)
 
@@ -78,16 +78,27 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
        cd $(DIR_APP)/source3 && ./configure \
-                               --prefix=/usr \
-                               --libdir=/usr/lib/ \
-                               --sysconfdir=/var/ipfire \
-                               --localstatedir=/var \
-                               --with-piddir=/var/run \
-                               --with-fhs \
-                               --with-winbind \
-                               --disable-swat \
-                               --enable-cups \
-                               --with-syslog
+               --prefix=/usr \
+               --libdir=/usr/lib/ \
+               --sysconfdir=/var/ipfire \
+               --localstatedir=/var \
+               --with-cachedir=/var/lib/samba \
+               --with-lockdir=/var/lib/samba \
+               --with-piddir=/var/run \
+               --with-ads \
+               --with-acl-support \
+               --with-libsmbclient \
+               --with-libsmbsharemodes \
+               --with-sendfile-support \
+               --without-smbwrapper \
+               --with-mmap \
+               --with-fhs \
+               --with-vfs \
+               --with-winbind \
+               --disable-swat \
+               --enable-cups \
+               --disable-avahi \
+               --with-syslog
        cd $(DIR_APP)/source3 && make proto && make all $(MAKETUNING) $(EXTRA_MAKE)
        cd $(DIR_APP)/source3 && make install
        cd $(DIR_APP)/source3 && chmod -v 644 /usr/include/libsmbclient.h
@@ -107,5 +118,9 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        cat /var/ipfire/samba/global /var/ipfire/samba/shares > /var/ipfire/samba/smb.conf
        -mkdir -p /var/log/samba
        install -v -m 644 $(DIR_SRC)/config/backup/includes/samba /var/ipfire/backup/addons/includes/samba
+
+       -mkdir -p 750 /var/lib/samba/winbindd_privileged
+       chgrp wbpriv /var/lib/samba/winbindd_privileged
+
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
index 96341b6e0cce6f9bc4a561051a5f89263582d5b7..842b5484610ae9013a4275a0efd17a900084f9ce 100644 (file)
--- a/lfs/sane
+++ b/lfs/sane
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2011  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2014  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 1.0.22
+VER        = 1.0.24
 
 THISAPP    = sane-$(VER)
 DL_FILE    = sane-backends-$(VER).tar.gz
@@ -33,7 +33,7 @@ DIR_APP    = $(DIR_SRC)/sane-backends-$(VER)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 
 PROG       = sane
-PAK_VER    = 2
+PAK_VER    = 3
 
 DEPS       = "libtiff"
 
@@ -45,7 +45,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = fadf56a60f4776bfb24491f66b617cf5
+$(DL_FILE)_MD5 = 1ca68e536cd7c1852322822f5f6ac3a4
 
 install : $(TARGET)
 
index 1f1589d0168a671e38716f6514d5910881f8927a..e050b17c5c4edaa8f5d8c725479ecf95e0792a87 100644 (file)
--- a/lfs/squid
+++ b/lfs/squid
@@ -118,7 +118,8 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
                --disable-wccpv2 \
                --enable-icap-client \
                --disable-esi \
-               --enable-zph-qos
+               --enable-zph-qos \
+               --disable-arch-native
 
        cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && make install
diff --git a/lfs/squid-accounting b/lfs/squid-accounting
new file mode 100644 (file)
index 0000000..6f0fdc3
--- /dev/null
@@ -0,0 +1,71 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER        = 1.0.1
+
+THISAPP    = squid-accounting-$(VER)
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET     = $(DIR_INFO)/$(THISAPP)
+PROG       = squid-accounting
+PAK_VER    = 2
+
+DEPS       = "perl-DBI perl-DBD-SQLite perl-File-ReadBackwards perl-PDF-API2 sendEmail"
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+install : $(TARGET)
+
+check : 
+
+download :
+
+md5 : 
+
+dist: 
+       @$(PAK)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+       @$(PREBUILD)
+       @rm -rf $(DIR_APP) && mkdir $(DIR_APP) && cp -R $(DIR_SRC)/src/squid-accounting/ $(DIR_APP)
+       cd $(DIR_APP)
+       mkdir -p /var/ipfire/accounting/bill
+       mkdir -p /srv/web/ipfire/html/accounting/logo
+
+#Touch Logfile
+       touch /var/log/accounting.log
+       chmod 777 /var/log/accounting.log
+#Set permissions for logo and graphs
+       chmod -R 777 /srv/web/ipfire/html/accounting
+               
+       
+       install -v -m 755 $(DIR_APP)/squid-accounting/accounting.cgi /srv/web/ipfire/cgi-bin/
+       install -v -m 755 $(DIR_APP)/squid-accounting/acct.pl /usr/local/bin/
+       install -v -m 644 $(DIR_APP)/squid-accounting/acct-lib.pl /var/ipfire/accounting/
+       install -v -m 655 $(DIR_APP)/squid-accounting/acct.de.pl /var/ipfire/addon-lang/
+       install -v -m 655 $(DIR_APP)/squid-accounting/acct.en.pl /var/ipfire/addon-lang/
+       install -v -m 655 $(DIR_APP)/squid-accounting/EX-squid-accounting.menu /var/ipfire/menu.d/
+       install -v -m 755 $(DIR_APP)/squid-accounting/dbinstall.pl /var/ipfire/accounting/
+       install -v -m 644 $(DIR_APP)/squid-accounting/config/backup/includes/squid-accounting  \
+                       /var/ipfire/backup/addons/includes/squid-accounting
+                       
+#activate hourly logging of proxy logfile
+       ln -sf /usr/local/bin/acct.pl /etc/fcron.hourly/squid-accounting
+               
+       chown -R nobody.nobody /var/ipfire/accounting
+       @rm -rf $(DIR_APP)
+       @$(POSTBUILD)
+
index 7d9e6afec2861342354c2d77a7aa8042b02b1ef7..697b59ab03a3cc75e3838f38689f1e69c884ff62 100644 (file)
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
+# Copyright (C) 2007-2014  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -32,7 +32,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = squidclamav
-PAK_VER    = 17
+PAK_VER    = 19
 
 DEPS       = "clamav"
 
@@ -78,6 +78,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/squidclamav-5.11-dont_use_ipv6.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/squidclamav-5.11-squid-helper-protocol.patch
        cd $(DIR_APP) && ./configure --prefix=/usr
        cd $(DIR_APP) && make install
        install -v -m 664 $(DIR_CONF)/squidclamav/squidclamav.conf /etc/squidclamav.conf
index c70a0d881e67dfce1f269cffb45e27216438b85f..a48c25cbe2d275dfd79878a15b10b06a538431e7 100644 (file)
@@ -70,6 +70,7 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/squidguard-1.4-squid-helper-protocol.patch
        cd $(DIR_APP) && ./configure --prefix=/usr --datadir=/usr/share \
                --sysconfdir=/etc --localstatedir=/var --infodir=/usr/info --mandir=/usr/man  \
                --with-sg-config=/var/ipfire/urlfilter/squidGuard.conf \
diff --git a/lfs/sslscan b/lfs/sslscan
new file mode 100644 (file)
index 0000000..a384db1
--- /dev/null
@@ -0,0 +1,83 @@
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2014  Michael Tremer & Christian Schmidt                      #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER        = 1.10.2
+
+THISAPP    = sslscan-$(VER)
+DL_FILE    = $(THISAPP).tar.gz
+DL_FROM    = $(URL_IPFIRE)
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET     = $(DIR_INFO)/$(THISAPP)
+PROG       = sslscan
+PAK_VER    = 1
+
+DEPS       = ""
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = 41ecff92303cecfd00bf3c7de509af14
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+dist: 
+       @$(PAK)
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+       @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+       @$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+       @$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+       @$(PREBUILD)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && make $(MAKETUNING) CFLAGS="$(CFLAGS)"
+       cd $(DIR_APP) && make install PREFIX=/usr
+       @rm -rf $(DIR_APP)
+       @$(POSTBUILD)
index 956f58953c36a8a393af00b4a15bb0b2a12e7950..a084816309c4f69ae518c187e23e4280289cb117 100644 (file)
@@ -53,7 +53,7 @@ $(TARGET) :
        -mkdir -pv /{media/{floppy,cdrom,usbkey},sbin,srv,var}
        -install -dv -m 0750 /root
        -install -dv -m 1777 /tmp /var/tmp
-       -mkdir -pv /usr/{,local/}{bin,include,lib,sbin,src}
+       -mkdir -pv /usr/{,local/}{bin,include,lib{,/sse2},sbin,src}
        -mkdir -pv /usr/{,local/}share/{doc,info,locale,man}
        -mkdir -v  /usr/{,local/}share/{misc,terminfo,zoneinfo}
        -mkdir -pv /usr/{,local/}share/man/man{1..8}
index ba492106eca9df95431c6411a34b8c2af6e7d86d..5256b0ac6cae303421e835362ae1fcc040e78a99 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 5.1.3
+VER        = 5.2.0
 
 THISAPP    = strongswan-$(VER)
 DL_FILE    = $(THISAPP).tar.bz2
@@ -48,7 +48,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 1d1c108775242743cd8699215b2918c3
+$(DL_FILE)_MD5 = 5cee4ee1a6ccb74400758b3ace54d46e
 
 install : $(TARGET)
 
@@ -88,6 +88,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
                --enable-dhcp \
                --enable-farp \
                --enable-openssl \
+               --enable-gcrypt \
                --enable-xauth-eap \
                --enable-xauth-noauth \
                --enable-eap-radius \
@@ -96,7 +97,6 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
                --enable-eap-peap \
                --enable-eap-mschapv2 \
                --enable-eap-identity \
-               --enable-unity \
                $(CONFIGURE_OPTIONS)
 
        cd $(DIR_APP) && make $(MAKETUNING)
index 7c3feabb7de6f734f398c7447c2259d5bc834c33..9dd72fef5331974d44892afecf8eb1d34247c50e 100644 (file)
--- a/lfs/sudo
+++ b/lfs/sudo
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 1.8.10p1
+VER        = 1.8.10p3
 
 THISAPP    = sudo-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 1d9c2bc5aaf02608343d17b9a666e8e1
+$(DL_FILE)_MD5 = fcd8d0d9f9f0397d076ee901e242ed39
 
 install : $(TARGET)
 
@@ -79,7 +79,8 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
                        --with-env-editor \
                        --with-ignore-dot \
                        --with-tty-tickets \
-                       --with-passpromt="[sudo] password for %p: "
+                       --with-passpromt="[sudo] password for %p: " \
+                       --without-pam
        cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && make install
        @rm -rf $(DIR_APP)
diff --git a/lfs/tor b/lfs/tor
index 79567366aa6b6507b2ecf0600fee2cf25f95f3fc..0cc2957ed91ee7d3e2a939cf1930dfce7e898d08 100644 (file)
--- a/lfs/tor
+++ b/lfs/tor
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 0.2.4.20
+VER        = 0.2.4.23
 
 THISAPP    = tor-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -32,7 +32,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = tor
-PAK_VER    = 6
+PAK_VER    = 8
 
 DEPS       = "libevent2"
 
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = a8cd8e3b3a3f6a7770f2c22d280f19b8
+$(DL_FILE)_MD5 = 9e39928e310612c3bffee727f554c63f
 
 install : $(TARGET)
 
index 51c2fbd4d87beea7606ae5bdaeecf4bd7e4d39b8..3a1cbddba648f75683a45bf3ace362a92f8aa824 100644 (file)
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2013  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2014  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 2.82
+VER        = 2.84
 
 THISAPP    = transmission-$(VER)
 DL_FILE    = $(THISAPP).tar.xz
@@ -32,7 +32,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = transmission
-PAK_VER    = 9
+PAK_VER    = 11
 
 DEPS       = "libevent2"
 
@@ -46,7 +46,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = a5ef870c0410b12d10449c2d36fa4661
+$(DL_FILE)_MD5 = 411aec1c418c14f6765710d89743ae42
 
 install : $(TARGET)
 
diff --git a/lfs/vdr_vnsiserver5 b/lfs/vdr_vnsiserver5
new file mode 100644 (file)
index 0000000..0416416
--- /dev/null
@@ -0,0 +1,99 @@
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007-2013  IPFire Team  <info@ipfire.org>                     #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER        = 1.0.0
+THISAPP    = vdr-vnsiserver5-$(VER)
+DL_FILE    = $(THISAPP).tar.gz
+
+DL_FROM    = $(URL_IPFIRE)
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET     = $(DIR_INFO)/$(THISAPP)
+PROG       = vdr_vnsiserver5
+PAK_VER    = 1
+
+DEPS       = "vdr"
+
+VDRPLUGVER = 2.0.0
+
+EXTRA_FLAGS= -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
+CFLAGS    += $(EXTRA_FLAGS)
+CXXFLAGS  += $(EXTRA_FLAGS)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE)  = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5  = 3d1a0b21d11187e43a56f9e4cf7cb1c9
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download : $(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+dist: 
+       @$(PAK)
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+       @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+       @$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+       @$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+       @$(PREBUILD)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+
+       cd $(DIR_APP) && make $(MAKE_TUNING) LIBDIR=. VDRDIR=/usr/lib/vdr \
+               CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" \
+               LOCALEDIR=$$(pwd)/locale all
+
+       -mkdir -pv /etc/vdr/plugins/vnsiserver5
+       cd $(DIR_APP) && install -m 755 libvdr-vnsiserver5.so \
+               /usr/lib/vdr/libvdr-vnsiserver5.so.$(VDRPLUGVER)
+       ln -svf ../../svdrphosts.conf /etc/vdr/plugins/vnsiserver5/allowed_hosts.conf
+       install -m 644 $(DIR_SRC)/config/vdr/plugins.d/vnsiserver5.conf \
+               /etc/sysconfig/vdr-plugins.d
+
+       @rm -rf $(DIR_APP)
+       @$(POSTBUILD)
index 754bb01532b30fddd3f374188e064fc8df91a79c..5b1125c9206151e9a23f052e42c136c08426fc48 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 2.1
+VER        = 2.2
 
 THISAPP    = wpa_supplicant-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -41,7 +41,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = e96b8db5a8171cd17a5b2012d6ad7cc7
+$(DL_FILE)_MD5 = 238e8e888bbd558e1a57e3eb28d1dd07
 
 install : $(TARGET)
 
diff --git a/make.sh b/make.sh
index 0056ee59e3479791648a92c433c7824e47c8e5ca..ce45d0d9ed21ff2e173ca1188e8dcd41d2572f57 100755 (executable)
--- a/make.sh
+++ b/make.sh
@@ -25,8 +25,8 @@
 NAME="IPFire"                                                  # Software name
 SNAME="ipfire"                                                 # Short name
 VERSION="2.15"                                                 # Version number
-CORE="78"                                                      # Core Level (Filename)
-PAKFIRE_CORE="77"                                              # Core Level (PAKFIRE)
+CORE="82"                                                      # Core Level (Filename)
+PAKFIRE_CORE="82"                                              # Core Level (PAKFIRE)
 GIT_BRANCH=`git rev-parse --abbrev-ref HEAD`                   # Git Branch
 SLOGAN="www.ipfire.org"                                                # Software slogan
 CONFIG_ROOT=/var/ipfire                                                # Configuration rootdir
@@ -34,16 +34,13 @@ NICE=10                                                             # Nice level
 MAX_RETRIES=1                                                  # prefetch/check loop
 BUILD_IMAGES=1                                                 # Flash and Xen Downloader
 KVER=`grep --max-count=1 VER lfs/linux | awk '{ print $3 }'`
-MACHINE=`uname -m`
 GIT_TAG=$(git tag | tail -1)                                   # Git Tag
 GIT_LASTCOMMIT=$(git log | head -n1 | cut -d" " -f2 |head -c8) # Last commit
 TOOLCHAINVER=7
 
-BUILDMACHINE=$MACHINE
-    if [ "$MACHINE" = "x86_64" ]; then
-        BUILDMACHINE="i686";
-    fi
-
+# New architecture variables
+BUILD_ARCH="$(uname -m)"
+BUILDMACHINE="${BUILD_ARCH}"
 
 # Debian specific settings
 if [ ! -e /etc/debian_version ]; then
@@ -72,6 +69,12 @@ if [ -f .config ]; then
        . .config
 fi
 
+if [ -n "${TARGET_ARCH}" ]; then
+       configure_target "${TARGET_ARCH}"
+else
+       configure_target "default"
+fi
+
 if [ -z $EDITOR ]; then
        for i in nano emacs vi; do
                EDITOR=$(which $i 2>/dev/null)
@@ -241,7 +244,7 @@ prepareenv() {
 
 buildtoolchain() {
     local error=false
-    case "${MACHINE}:$(uname -m)" in
+    case "${TARGET_ARCH}:${BUILD_ARCH}" in
         # x86
         i586:i586|i586:i686|i586:x86_64)
             # These are working.
@@ -352,7 +355,7 @@ buildbase() {
     lfsmake2 groff
     lfsmake2 gperf
     lfsmake2 gzip
-    lfsmake2 inetutils
+    lfsmake2 hostname
     lfsmake2 iproute2
     lfsmake2 jwhois
     lfsmake2 kbd
@@ -382,9 +385,6 @@ buildipfire() {
   export LOGFILE
   ipfiremake configroot
   ipfiremake backup
-  ipfiremake bind
-  ipfiremake dhcp
-  ipfiremake dhcpcd
   ipfiremake libusb
   ipfiremake libusbx
   ipfiremake libpcap
@@ -399,70 +399,78 @@ buildipfire() {
   ipfiremake bc
   ipfiremake u-boot
 
-  if [ "${MACHINE_TYPE}" != "arm" ]; then
-
-    # x86-pae (Native and new XEN) kernel build
-    ipfiremake linux                   KCFG="-pae"
-#    ipfiremake kvm-kmod                       KCFG="-pae"
-#    ipfiremake v4l-dvb                        KCFG="-pae"
-#    ipfiremake mISDN                  KCFG="-pae"
-    ipfiremake cryptodev               KCFG="-pae"
-#    ipfiremake compat-drivers         KCFG="-pae"
-#    ipfiremake r8169                  KCFG="-pae"
-#    ipfiremake r8168                  KCFG="-pae"
-#    ipfiremake r8101                  KCFG="-pae"
-    ipfiremake e1000e                  KCFG="-pae"
-    ipfiremake igb                     KCFG="-pae"
-
-    # x86 kernel build
-    ipfiremake linux                   KCFG=""
-#    ipfiremake kvm-kmod                       KCFG=""
-#    ipfiremake v4l-dvb                        KCFG=""
-#    ipfiremake mISDN                  KCFG=""
-    ipfiremake cryptodev               KCFG=""
-#    ipfiremake compat-drivers         KCFG=""
-#    ipfiremake r8169                  KCFG=""
-#    ipfiremake r8168                  KCFG=""
-#    ipfiremake r8101                  KCFG=""
-    ipfiremake e1000e                  KCFG=""
-    ipfiremake igb                     KCFG=""
-
-  else
-    # arm-rpi (Raspberry Pi) kernel build
-    ipfiremake linux                   KCFG="-rpi"
-#    ipfiremake v4l-dvb                        KCFG="-rpi"
-#    ipfiremake mISDN                  KCFG="-rpi" NOPCI=1
-    ipfiremake cryptodev               KCFG="-rpi"
-#    ipfiremake compat-drivers         KCFG="-rpi"
-
-    # arm multi platform (Panda, Wandboard ...) kernel build
-    ipfiremake linux                   KCFG="-multi"
-    ipfiremake cryptodev               KCFG="-multi"
-    ipfiremake e1000e                  KCFG="-multi"
-    ipfiremake igb                     KCFG="-multi"
-
-    # arm-kirkwood (Dreamplug, ICY-Box ...) kernel build
-    ipfiremake linux                   KCFG="-kirkwood"
-#    ipfiremake v4l-dvb                        KCFG="-kirkwood"
-#    ipfiremake mISDN                  KCFG="-kirkwood"
-    ipfiremake cryptodev               KCFG="-kirkwood"
-#    ipfiremake compat-drivers         KCFG="-kirkwood"
-#    ipfiremake r8169                  KCFG="-kirkwood"
-#    ipfiremake r8168                  KCFG="-kirkwood"
-#    ipfiremake r8101                  KCFG="-kirkwood"
-#    ipfiremake e1000e                 KCFG="-kirkwood"
-    ipfiremake igb                     KCFG="-kirkwood"
+  case "${TARGET_ARCH}" in
+       i586)
+               # x86-pae (Native and new XEN) kernel build
+               ipfiremake linux                        KCFG="-pae"
+#              ipfiremake kvm-kmod                     KCFG="-pae"
+#              ipfiremake v4l-dvb                      KCFG="-pae"
+#              ipfiremake mISDN                        KCFG="-pae"
+               ipfiremake cryptodev                    KCFG="-pae"
+#              ipfiremake compat-drivers               KCFG="-pae"
+#              ipfiremake r8169                        KCFG="-pae"
+#              ipfiremake r8168                        KCFG="-pae"
+#              ipfiremake r8101                        KCFG="-pae"
+               ipfiremake e1000e                       KCFG="-pae"
+               ipfiremake igb                          KCFG="-pae"
+
+               # x86 kernel build
+               ipfiremake linux                        KCFG=""
+#              ipfiremake kvm-kmod                     KCFG=""
+#              ipfiremake v4l-dvb                      KCFG=""
+#              ipfiremake mISDN                        KCFG=""
+               ipfiremake cryptodev                    KCFG=""
+#              ipfiremake compat-drivers               KCFG=""
+#              ipfiremake r8169                        KCFG=""
+#              ipfiremake r8168                        KCFG=""
+#              ipfiremake r8101                        KCFG=""
+               ipfiremake e1000e                       KCFG=""
+               ipfiremake igb                          KCFG=""
+               ;;
 
-  fi
+       armv5tel)
+               # arm-rpi (Raspberry Pi) kernel build
+               ipfiremake linux                        KCFG="-rpi"
+#              ipfiremake v4l-dvb                      KCFG="-rpi"
+#              ipfiremake mISDN                        KCFG="-rpi" NOPCI=1
+               ipfiremake cryptodev                    KCFG="-rpi"
+#              ipfiremake compat-drivers               KCFG="-rpi"
+
+               # arm multi platform (Panda, Wandboard ...) kernel build
+               ipfiremake linux                        KCFG="-multi"
+               ipfiremake cryptodev                    KCFG="-multi"
+               ipfiremake e1000e                       KCFG="-multi"
+               ipfiremake igb                          KCFG="-multi"
+
+               # arm-kirkwood (Dreamplug, ICY-Box ...) kernel build
+               ipfiremake linux                        KCFG="-kirkwood"
+#              ipfiremake v4l-dvb                      KCFG="-kirkwood"
+#              ipfiremake mISDN                        KCFG="-kirkwood"
+               ipfiremake cryptodev                    KCFG="-kirkwood"
+#              ipfiremake compat-drivers               KCFG="-kirkwood"
+#              ipfiremake r8169                        KCFG="-kirkwood"
+#              ipfiremake r8168                        KCFG="-kirkwood"
+#              ipfiremake r8101                        KCFG="-kirkwood"
+#              ipfiremake e1000e                       KCFG="-kirkwood"
+               ipfiremake igb                          KCFG="-kirkwood"
+               ;;
+  esac
   ipfiremake pkg-config
+  ipfiremake openssl
+  ipfiremake openssl-compat
+  ipfiremake libgpg-error
+  ipfiremake libgcrypt
+  ipfiremake libassuan
+  ipfiremake bind
+  ipfiremake dhcp
+  ipfiremake dhcpcd
+  ipfiremake boost
   ipfiremake linux-atm
   ipfiremake cpio
   ipfiremake dracut
   ipfiremake expat
   ipfiremake gdbm
   ipfiremake pam
-  ipfiremake openssl
-  ipfiremake openssl-compat
   ipfiremake curl
   ipfiremake tcl
   ipfiremake sqlite
@@ -470,6 +478,7 @@ buildipfire() {
   ipfiremake fireinfo
   ipfiremake libnet
   ipfiremake libnl
+  ipfiremake libnl-3
   ipfiremake libidn
   ipfiremake nasm
   ipfiremake libjpeg
@@ -501,6 +510,7 @@ buildipfire() {
   ipfiremake arping
   ipfiremake beep
   ipfiremake dvdrtools
+  ipfiremake nettle
   ipfiremake dnsmasq
   ipfiremake dosfstools
   ipfiremake reiserfsprogs
@@ -607,6 +617,7 @@ buildipfire() {
   ipfiremake foomatic
   ipfiremake hplip
   ipfiremake cifs-utils
+  ipfiremake krb5
   ipfiremake samba
   ipfiremake sudo
   ipfiremake mc
@@ -669,8 +680,10 @@ buildipfire() {
   ipfiremake netpbm
   ipfiremake phpSANE
   ipfiremake tunctl
+  ipfiremake netsnmpd
   ipfiremake nagios
   ipfiremake nagios_nrpe
+  ipfiremake icinga
   ipfiremake ebtables
   ipfiremake directfb
   ipfiremake dfb++
@@ -678,6 +691,7 @@ buildipfire() {
   ipfiremake ffmpeg
   ipfiremake vdr
   ipfiremake vdr_streamdev
+  ipfiremake vdr_vnsiserver5
   ipfiremake vdr_vnsiserver3
   ipfiremake vdr_epgsearch
   ipfiremake vdr_dvbapi
@@ -715,13 +729,11 @@ buildipfire() {
   ipfiremake perl-Sort-Naturally
   ipfiremake vdradmin
   ipfiremake miau
-  ipfiremake netsnmpd
   ipfiremake perl-DBI
   ipfiremake perl-DBD-mysql
   ipfiremake perl-DBD-SQLite
   ipfiremake perl-File-ReadBackwards
   ipfiremake cacti
-  ipfiremake icecc
   ipfiremake openvmtools
   ipfiremake nagiosql
   ipfiremake iftop
@@ -754,6 +766,7 @@ buildipfire() {
   ipfiremake python-progressbar
   ipfiremake python-xattr
   ipfiremake intltool
+  ipfiremake ddns
   ipfiremake transmission
   ipfiremake dpfhack
   ipfiremake lcd4linux
@@ -764,8 +777,6 @@ buildipfire() {
   ipfiremake fping
   ipfiremake telnet
   ipfiremake xinetd
-  ipfiremake libgpg-error
-  ipfiremake libassuan
   ipfiremake gpgme
   ipfiremake pygpgme
   ipfiremake pakfire3
@@ -797,6 +808,12 @@ buildipfire() {
   ipfiremake iptraf-ng
   ipfiremake iotop
   ipfiremake stunnel
+  ipfiremake sslscan
+  ipfiremake owncloud
+  ipfiremake bacula
+  ipfiremake batctl
+  ipfiremake perl-PDF-API2
+  ipfiremake squid-accounting
 }
 
 buildinstaller() {
@@ -896,6 +913,22 @@ ipfirepackages() {
   rm -rf  $BASEDIR/build/install/packages/*
 }
 
+while [ $# -gt 0 ]; do
+       case "${1}" in
+               --target=*)
+                       configure_target "${1#--target=}"
+                       ;;
+               -*)
+                       exiterror "Unknown configuration option: ${1}"
+                       ;;
+               *)
+                       # Found a command, so exit options parsing.
+                       break
+                       ;;
+       esac
+       shift
+done
+
 # See what we're supposed to do
 case "$1" in 
 build)
index d526c35b2eeeb4eb8a3d7953c7d9c3594c457fc7..e8c8c8bb0869a0f646ec1050f8408d450703cbea 100644 (file)
@@ -71,6 +71,13 @@ create_files() {
 
 case "${1}" in
        start)
+               if [[ ! -L "/var/run" ]]; then
+                       boot_mesg "Repair /var/run symlink to /run..."
+                       mv -u /var/run/* /run/ 2>&1 > /dev/null
+                       rm -rf /var/run
+                       ln -s ../run /var/run
+               fi
+
                boot_mesg -n "Cleaning file systems:" ${INFO}
 
                boot_mesg -n " /tmp" ${NORMAL}
diff --git a/src/initscripts/init.d/dhcrelay b/src/initscripts/init.d/dhcrelay
new file mode 100755 (executable)
index 0000000..327a084
--- /dev/null
@@ -0,0 +1,53 @@
+#!/bin/sh
+########################################################################
+# Begin $rc_base/init.d/dhcrelay
+#
+# Description : The DHCP Relay Daemon
+#
+########################################################################
+
+. /etc/sysconfig/rc
+. ${rc_functions}
+
+CONFIG_FILE="/var/ipfire/dhcp/relay"
+
+if [ -r "${CONFIG_FILE}" ]; then
+       eval $(/usr/local/bin/readhash ${CONFIG_FILE})
+fi
+
+ARGS="-q"
+
+for interface in ${INTERFACES}; do
+       ARGS="${ARGS} -i ${interface}"
+done
+
+ARGS="${ARGS} ${SERVERS}"
+
+case "${1}" in
+       start)
+               boot_mesg "Starting DHCP Relay..."
+               loadproc /usr/sbin/dhcrelay ${ARGS}
+               ;;
+
+       stop)
+               boot_mesg "Stopping DHCP Relay..."
+               killproc -p /var/run/dhcrelay.pid /usr/sbin/dhcrelay
+               ;;
+
+       restart)
+               ${0} stop
+               sleep 1
+               ${0} start
+               ;;
+
+       status)
+               statusproc /usr/sbin/dhcrelay
+               ;;
+
+       *)
+               echo "Usage: ${0} {start|stop|restart|status}"
+               exit 1
+               ;;
+esac
+
+# End $rc_base/init.d/dhcrelay
index 34eee0c26e8fbb2aa2bab5fe9b098c03d66ba8bd..48b9d19d02627f9d8c829f958a5febfc5ebe5c28 100644 (file)
@@ -20,7 +20,20 @@ if [ -e "/etc/sysconfig/dnsmasq" ]; then
        . /etc/sysconfig/dnsmasq
 fi
 
+CACHE_SIZE=2500
+ENABLE_DNSSEC=1
 SHOW_SRV=1
+TRUST_ANCHOR=".,19036,8,2,49AAC11D7B6F6446702E54A1607371607A1A41855200FD2CE1CDDE32F24E8FB5"
+
+function dnssec_args() {
+       local cmdline="--dnssec"
+
+       if [ -n "${TRUST_ANCHOR}" ]; then
+               cmdline="${cmdline} --trust-anchor=${TRUST_ANCHOR}"
+       fi
+
+       echo "${cmdline}"
+}
 
 function dns_forward_args() {
        local file="${1}"
@@ -41,7 +54,6 @@ function dns_forward_args() {
        echo "${cmdline}"
 }
 
-
 case "${1}" in
        start)
                # kill already running copy of dnsmasq...
@@ -73,6 +85,15 @@ case "${1}" in
                # Add custom forward dns zones.
                ARGS="${ARGS} $(dns_forward_args /var/ipfire/dnsforward/config)"
 
+               # Enabled DNSSEC validation
+               if [ "${ENABLE_DNSSEC}" -eq 1 ]; then
+                       ARGS="${ARGS} $(dnssec_args)"
+               fi
+
+               if [ -n "${CACHE_SIZE}" ]; then
+                       ARGS="${ARGS} --cache-size=${CACHE_SIZE}"
+               fi
+
                loadproc /usr/sbin/dnsmasq -l /var/state/dhcp/dhcpd.leases $ARGS
                
                if [ "${SHOW_SRV}" -eq 1 ] && [ "${DNS1}" != "" -o "${DNS2}" != "" ]; then
index 83717811010da5f1f89c16aa8b7b6ed020ee1b89..c7f8b679d617b875a49f724f304b7dbe30336360 100644 (file)
@@ -64,16 +64,20 @@ iptables_init() {
        iptables -A BADTCP -i lo -j RETURN
 
        # Disallow packets frequently used by port-scanners
-       # nmap xmas
-       iptables -A BADTCP -p tcp --tcp-flags ALL FIN,URG,PSH  -j PSCAN
-       # Null
-       iptables -A BADTCP -p tcp --tcp-flags ALL NONE -j PSCAN
-       # FIN
+       # NMAP FIN/URG/PSH (XMAS scan)
+       iptables -A BADTCP -p tcp --tcp-flags ALL FIN,URG,PSH -j PSCAN
+       # SYN/RST/ACK/FIN/URG
+       iptables -A BADTCP -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j PSCAN
+       # ALL/ALL
+       iptables -A BADTCP -p tcp --tcp-flags ALL ALL -j PSCAN
+       # FIN Stealth
        iptables -A BADTCP -p tcp --tcp-flags ALL FIN -j PSCAN
        # SYN/RST (also catches xmas variants that set SYN+RST+...)
        iptables -A BADTCP -p tcp --tcp-flags SYN,RST SYN,RST -j PSCAN
        # SYN/FIN (QueSO or nmap OS probe)
        iptables -A BADTCP -p tcp --tcp-flags SYN,FIN SYN,FIN -j PSCAN
+       # Null
+       iptables -A BADTCP -p tcp --tcp-flags ALL NONE -j PSCAN
        # NEW TCP without SYN
        iptables -A BADTCP -p tcp ! --syn -m conntrack --ctstate NEW -j NEWNOTSYN
 
@@ -83,6 +87,7 @@ iptables_init() {
        # Connection tracking chain
        iptables -N CONNTRACK
        iptables -A CONNTRACK -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
+       iptables -A CONNTRACK -m conntrack --ctstate INVALID -j DROP
 
        # Fix for braindead ISP's
        iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
@@ -120,10 +125,10 @@ iptables_init() {
        iptables -N IPTVFORWARD
        iptables -A FORWARD -j IPTVFORWARD
 
-       # filtering from GUI
-       iptables -N GUIINPUT
-       iptables -A INPUT -j GUIINPUT
-       iptables -A GUIINPUT -p icmp --icmp-type 8 -j ACCEPT
+       # Allow to ping the firewall.
+       iptables -N ICMPINPUT
+       iptables -A INPUT -j ICMPINPUT
+       iptables -A ICMPINPUT -p icmp --icmp-type 8 -j ACCEPT
 
        # Accept everything on loopback
        iptables -N LOOPBACK
@@ -179,7 +184,10 @@ iptables_init() {
        iptables -t nat -A POSTROUTING -j IPSECNAT
 
        # localhost and ethernet.
-       iptables -A INPUT   -i $GREEN_DEV  -m conntrack --ctstate NEW -j ACCEPT ! -p icmp
+       # Always allow accessing the web GUI from GREEN.
+       iptables -N GUIINPUT
+       iptables -A INPUT -j GUIINPUT
+       iptables -A GUIINPUT -i "${GREEN_DEV}" -p tcp --dport 444 -j ACCEPT
 
        # WIRELESS chains
        iptables -N WIRELESSINPUT
@@ -251,20 +259,6 @@ iptables_init() {
        iptables -t nat -N REDNAT
        iptables -t nat -A POSTROUTING -j REDNAT
 
-       # Filter logging of incoming broadcasts.
-       iptables -N BROADCAST_FILTER
-       iptables -A INPUT -j BROADCAST_FILTER
-
-       iptables -A BROADCAST_FILTER -i "${GREEN_DEV}" -d "${GREEN_BROADCAST}" -j DROP
-
-       if [ -n "${BLUE_DEV}" -a -n "${BLUE_BROADCAST}" ]; then
-               iptables -A BROADCAST_FILTER -i "${BLUE_DEV}" -d "${BLUE_BROADCAST}" -j DROP
-       fi
-
-       if [ -n "${ORANGE_DEV}" -a -n "${ORANGE_BROADCAST}" ]; then
-               iptables -A BROADCAST_FILTER -i "${ORANGE_DEV}" -d "${ORANGE_BROADCAST}" -j DROP
-       fi
-
        # Apply OpenVPN firewall rules
        /usr/local/bin/openvpnctrl --firewall-rules
 
@@ -283,10 +277,16 @@ iptables_init() {
        /usr/sbin/firewall-policy
 
        # Install firewall rules for the red interface.
-       iptables_red
+       iptables_red_up
+
+       # If red has not been brought up yet, we will
+       # add the blocking rules for MASQUERADE
+       if [ ! -e "/var/ipfire/red/active" ]; then
+               iptables_red_down
+       fi
 }
 
-iptables_red() {
+iptables_red_up() {
        iptables -F REDINPUT
        iptables -F REDFORWARD
        iptables -t nat -F REDNAT
@@ -333,10 +333,45 @@ iptables_red() {
                # Outgoing masquerading (don't masqerade IPSEC (mark 50))
                iptables -t nat -A REDNAT -m mark --mark 50 -o $IFACE -j RETURN
 
-               if [ "$IFACE" != "$GREEN_DEV" ]; then
-                       iptables -t nat -A REDNAT -o $IFACE -j MASQUERADE
+               if [ "$IFACE" = "$GREEN_DEV" ]; then
+                       MASQUERADE_GREEN="off"
                fi
 
+               local NO_MASQ_NETWORKS
+
+               if [ "${MASQUERADE_GREEN}" = "off" ]; then
+                       NO_MASQ_NETWORKS="${NO_MASQ_NETWORKS} ${GREEN_NETADDRESS}/${GREEN_NETMASK}"
+               fi
+
+               if [ "${MASQUERADE_BLUE}" = "off" ]; then
+                       NO_MASQ_NETWORKS="${NO_MASQ_NETWORKS} ${BLUE_NETADDRESS}/${BLUE_NETMASK}"
+               fi
+
+               if [ "${MASQUERADE_ORANGE}" = "off" ]; then
+                       NO_MASQ_NETWORKS="${NO_MASQ_NETWORKS} ${ORANGE_NETADDRESS}/${ORANGE_NETMASK}"
+               fi
+
+               local network
+               for network in ${NO_MASQ_NETWORKS}; do
+                       iptables -t nat -A REDNAT -s "${network}" -o "${IFACE}" -j RETURN
+               done
+
+               # Masquerade everything else
+               iptables -t nat -A REDNAT -o $IFACE -j MASQUERADE
+       fi
+
+       # Reload all rules.
+       /usr/local/bin/firewallctrl
+}
+
+iptables_red_down() {
+       # Prohibit packets to reach the masquerading rule
+       # while the wan interface is down - this is required to
+       # circumvent udp related NAT issues
+       # http://forum.ipfire.org/index.php?topic=11127.0
+       if [ -n "${IFACE}" ]; then
+               iptables -F REDFORWARD
+               iptables -A REDFORWARD -o "${IFACE}" -j DROP
        fi
 
        # Reload all rules.
@@ -373,9 +408,9 @@ case "$1" in
                /etc/sysconfig/firewall.local start
        fi
        ;;
-  reload)
+  reload|up)
        boot_mesg "Reloading firewall"
-       iptables_red
+       iptables_red_up
        evaluate_retval
 
        # run local firewall configuration, if present
@@ -383,6 +418,11 @@ case "$1" in
                /etc/sysconfig/firewall.local reload
        fi
        ;;
+  down)
+       boot_mesg "Disabling firewall access to RED"
+       iptables_red_down
+       evaluate_retval
+       ;;
   restart)
        # run local firewall configuration, if present
        if [ -x /etc/sysconfig/firewall.local ]; then
diff --git a/src/initscripts/init.d/icecream b/src/initscripts/init.d/icecream
deleted file mode 100644 (file)
index f8fa4e3..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-#!/bin/sh
-########################################################################
-# Begin $rc_base/init.d/icecream
-#
-# Description : This is a script that starts the icecream daemon.
-#
-# Authors     : Michael Tremer (mitch@ipfire.org)
-#
-# Version     : 01.00
-#
-# Notes       :
-#
-########################################################################
-
-. /etc/sysconfig/rc
-. ${rc_functions}
-
-#SCHEDULER=minerva.ipfire.org
-ENABLE_SCHEDULER=on
-JOBS=8
-
-case "${1}" in
-       start)
-               boot_mesg "Starting Icecream Daemon..."
-               ARGS="-d -m ${JOBS}"
-               if [ -n "${SCHEDULER}" ]; then
-                       ARGS="${ARGS} -s ${SCHEDULER}"
-               fi
-               /opt/icecream/sbin/iceccd ${ARGS}
-               evaluate_retval
-
-               if [ "${ENABLE_SCHEDULER}" = "on" ]; then
-                       /opt/icecream/sbin/icecc-scheduler -d
-               fi
-               ;;
-               
-       stop)
-               boot_mesg "Stopping Icecream Daemon..."
-               killproc /opt/icecream/sbin/iceccd
-
-               if [ "${ENABLE_SCHEDULER}" = "on" ]; then
-                       killproc /opt/icecream/sbin/icecc-scheduler
-               fi
-               ;;
-
-       restart)
-               ${0} stop
-               sleep 1
-               ${0} start
-               ;;
-
-       status)
-               statusproc /opt/icecream/sbin/iceccd
-               ;;
-
-       *)
-               echo "Usage: ${0} {start|stop|reload|restart|status}"
-               exit 1
-               ;;
-esac
-
-# End $rc_base/init.d/icecream
index d75a2e96c674a5849be6f6d657d11f838e980477..faa765055e95c21a8b5a81e0a4164e96f24a2c8f 100644 (file)
@@ -17,9 +17,11 @@ fi
 # Load ethernet settings
 eval $(/usr/local/bin/readhash /var/ipfire/ethernet/settings)
 
-if [ "${RED_DEV}" == "" ]; then
-       RED_DEV=ppp0
-fi
+case "${RED_TYPE}" in
+       PPPOE)
+               RED_DEV="ppp0"
+               ;;
+esac
 
 # setup_netdev_trigger LED DEVICE MODE
 setup_netdev_trigger ()
diff --git a/src/initscripts/init.d/networking/red.down/20-firewall b/src/initscripts/init.d/networking/red.down/20-firewall
new file mode 100644 (file)
index 0000000..d21c97c
--- /dev/null
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+exec /etc/rc.d/init.d/firewall down
diff --git a/src/initscripts/init.d/networking/red.up/20-firewall b/src/initscripts/init.d/networking/red.up/20-firewall
new file mode 100644 (file)
index 0000000..ca52b4b
--- /dev/null
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+exec /etc/rc.d/init.d/firewall up
index 66d6fdb60a3d959ea2a46ce682f0181cfbd76344..591dd0f2031fff4b6f57382c91b19dc09c3d5288 100644 (file)
@@ -1,5 +1,3 @@
 #!/bin/bash
 
-/usr/local/bin/setddns.pl -f
-
-exit 0
+exec /usr/bin/ddns update-all
index 22437fdc4e5c2b4a9603d18a3f4d1fb521496c2a..df4aa7da2f26d3b5b922ba6590867ceaf28ef82f 100644 (file)
@@ -28,12 +28,18 @@ case "${1}" in
                fi
 
                boot_mesg "Starting Random Number Generator Daemon..."
-               loadproc /usr/sbin/rngd --no-tpm=1
+
+               if pidofproc /usr/sbin/rngd &>/dev/null; then
+                       # Is already running.
+                       echo_ok
+               else
+                       loadproc /usr/sbin/rngd --no-tpm=1
+               fi
                ;;
 
        stop)
                boot_mesg "Stopping Random Number Generator Daemon..."
-               killproc /usr/sbin/rngd
+               killproc -p /var/run/rngd.pid /usr/sbin/rngd
                ;;
 
        restart)
index d6bdb262af92e7bab7e42cd7a9108635d0a2e81c..614c9b8343059c572dc38bd0536816eff6c55b1d 100644 (file)
@@ -4,19 +4,28 @@
 # Based on sysklogd script from LFS-3.1 and earlier.
 # Rewritten by Gerard Beekmans  - gerard@linuxfromscratch.org
 
-#$LastChangedBy: bdubbs $
-#$Date: 2005-08-01 14:29:19 -0500 (Mon, 01 Aug 2005) $
-
 . /etc/sysconfig/rc
 . $rc_functions
 
+function fix_permissions() {
+       local lockdir="/var/lib/samba/winbindd_privileged"
+
+       chmod 750 "${lockdir}"
+       chgrp wbpriv "${lockdir}"
+}
+
 case "$1" in
        start)
+               fix_permissions
+
                boot_mesg "Starting nmbd..."
                loadproc /usr/sbin/nmbd -D
 
                boot_mesg "Starting smbd..."
                loadproc /usr/sbin/smbd -D
+
+               boot_mesg "Starting winbind..."
+               loadproc /usr/sbin/winbindd
                ;;
 
        stop)
@@ -25,6 +34,9 @@ case "$1" in
 
                boot_mesg "Stopping nmbd..."
                killproc -p /var/run/nmbd.pid /usr/sbin/nmbd
+
+               boot_mesg "Stopping winbind..."
+               killproc -p /var/run/winbindd.pid /usr/sbin/winbindd
                 ;;
 
        reload)
@@ -33,6 +45,9 @@ case "$1" in
 
                boot_mesg "Reloading nmbd..."
                reloadproc /usr/sbin/nmbd
+
+               boot_mesg "Reloading winbind..."
+               reloadproc /usr/sbin/winbindd
                ;;
 
        restart)
@@ -44,6 +59,7 @@ case "$1" in
        status)
                statusproc /usr/sbin/nmbd
                statusproc /usr/sbin/smbd
+               statusproc /usr/sbin/winbindd
                ;;
 
        *)
index 1d61a63990a492cfe3fcff112cc78d538b20a980..0ed86616534c23d4bffcf1bae1e4c3b9b7986533 100644 (file)
@@ -43,10 +43,7 @@ case "$1" in
        (
                sleep 3
                pid=$(cat /var/run/sshd.pid 2>/dev/null)
-               [ -n "${pid}" ] && [ -e "/proc/${pid}/oom_score_adj" ] && \
-                                       echo "-16" > "/proc/${pid}/oom_score_adj" || \
-                               [ -e "/proc/${pid}/oom_adj" ] && \
-                                       echo "-16" > "/proc/${pid}/oom_adj"
+               [ -n "${pid}" ] && echo "-16" > "/proc/${pid}/oom_score_adj"
        ) &
         ;;
 
index b6d01009a8e5234795bf7b3abaf955bf5f88d4ed..6cf8771eaf745d132700feb999c4122ac9d3d7a3 100644 (file)
@@ -64,7 +64,7 @@ case "${1}" in
 
                # Now traverse /sys in order to "coldplug" devices that have
                # already been discovered
-               /bin/udevadm trigger
+               /bin/udevadm trigger --action=add
 
                # Now wait for udevd to process the uevents we triggered
                /bin/udevadm settle
diff --git a/src/initscripts/init.d/winbind b/src/initscripts/init.d/winbind
deleted file mode 100644 (file)
index 590fddf..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/bin/bash
-# Begin $rc_base/init.d/winbind
-
-# Based on sysklogd script from LFS-3.1 and earlier.
-# Rewritten by Gerard Beekmans  - gerard@linuxfromscratch.org
-
-#$LastChangedBy: bdubbs $
-#$Date: 2005-08-01 14:29:19 -0500 (Mon, 01 Aug 2005) $
-
-. /etc/sysconfig/rc
-. $rc_functions
-
-PIDFILE="/var/run/winbindd.pid"
-KILLDELAY="10"
-
-case "$1" in
-
-        start)
-                boot_mesg "Starting winbind..."
-                loadproc /usr/sbin/winbindd
-                ;;
-
-        stop)
-                boot_mesg "Stopping winbind..."
-               killproc -p ${PIDFILE} /usr/sbin/winbind
-               ;;
-
-       reload)
-               boot_mesg "Reloading winbind..."
-               reloadproc /usr/sbin/winbindd
-               ;;
-
-        restart)
-                $0 stop
-                sleep 1
-                $0 start
-                ;;
-
-        status)
-                statusproc /usr/sbin/winbindd
-                ;;
-
-        *)
-                echo "Usage: $0 {start|stop|reload|restart|status}"
-                exit 1
-                ;;
-
-esac
-
-# End $rc_base/init.d/winbind
index e61f94dab54c59f0622ef09d144f25d6c8999562..309e006c9d3927fd6ed0792ade6e911ae841159e 100644 (file)
@@ -321,10 +321,10 @@ int main(int argc, char *argv[])
                swap_file = memory / 4;
        
   /* Calculating Root-Size dependend of Max Disk Space */
-  if ( disk < 756 )
-               root_partition = 200;
-       else if ( disk >= 756 && disk <= 3072 )
-               root_partition = 512;
+  if ( disk < 2048 )
+               root_partition = 1024;
+       else if ( disk >= 2048 && disk <= 3072 )
+               root_partition = 1536;
        else 
                root_partition = 2048;
                
@@ -542,7 +542,7 @@ int main(int argc, char *argv[])
                replace("/harddisk/boot/grub/grub.conf", "splashimage", "#splashimage");
                replace("/harddisk/boot/grub/grub.conf", "#serial", "serial");
                replace("/harddisk/boot/grub/grub.conf", "#terminal", "terminal");
-               replace("/harddisk/boot/grub/grub.conf", " panic=10 ", " console=ttyS0,38400n8 panic=10 ");
+               replace("/harddisk/boot/grub/grub.conf", " panic=10 ", " console=ttyS0,115200n8 panic=10 ");
 
                /*inittab*/
                replace("/harddisk/etc/inittab", "1:2345:respawn:", "#1:2345:respawn:");
index ae4f7800f4b8f58a46b98eae49cd6245e84ce067..58e9bb275d0e8838dc9a5918ad085eb84eb3d50f 100644 (file)
@@ -27,7 +27,7 @@ int writehostsfiles(void)
        FILE *file, *hosts;
        struct keyvalue *kv;
        char hostname[STRING_SIZE];
-       char domainname[STRING_SIZE] = "";
+       char domainname[STRING_SIZE] = "localdomain";
        char commandstring[STRING_SIZE];
        char buffer[STRING_SIZE];
        
index f81b295cc27553d7f249a7b5c54b6a252cd42345..45c166d4616a9e1757bec887ab30e14507b622fc 100644 (file)
 
 char command[BUFFER_SIZE]; 
 
-int main(int argc, char *argv[])
-{
+int main(int argc, char *argv[]) {
+       if (!(initsetuid()))
+               exit(1);
 
-if (!(initsetuid()))
-exit(1);
+       // Check what command is asked
+       if (argc == 1) {
+               fprintf (stderr, "Missing smbctrl command!\n");
+               return 1;
 
-// Check what command is asked
-if (argc==1)
-{
-fprintf (stderr, "Missing smbctrl command!\n");
-return 1;
-}
-else if (strcmp(argv[1], "smbuserdisable")==0)
-{
-snprintf(command, BUFFER_SIZE-1, "/usr/bin/smbpasswd -d %s >/dev/null", argv[2]);
-safe_system(command);
-return 0;
-}
-else if (strcmp(argv[1], "smbuserenable")==0)
-{
-snprintf(command, BUFFER_SIZE-1, "/usr/bin/smbpasswd -e %s >/dev/null", argv[2]);
-safe_system(command);
-return 0;
-}
-else if (strcmp(argv[1], "smbuserdelete")==0)
-{
-snprintf(command, BUFFER_SIZE-1, "/usr/bin/smbpasswd -x %s >/dev/null", argv[2]);
-safe_system(command);
-snprintf(command, BUFFER_SIZE-1, "/usr/sbin/userdel %s >/dev/null", argv[2]);
-safe_system(command);
-return 0;
-}
-else if (strcmp(argv[1], "smbsafeconf")==0)
-{
-safe_system("/bin/cat /var/ipfire/samba/global /var/ipfire/samba/shares > /var/ipfire/samba/smb.conf");
-return 0;
-}
-else if (strcmp(argv[1], "smbsafeconfcups")==0)
-{
-safe_system("/bin/cat /var/ipfire/samba/global /var/ipfire/samba/shares /var/ipfire/samba/printer > /var/ipfire/samba/smb.conf");
-return 0;
-}
-else if (strcmp(argv[1], "smbsafeconfpdc")==0)
-{
-safe_system("/bin/cat /var/ipfire/samba/global /var/ipfire/samba/pdc /var/ipfire/samba/shares > /var/ipfire/samba/smb.conf");
-return 0;
-}
-else if (strcmp(argv[1], "smbsafeconfpdccups")==0)
-{
-safe_system("/bin/cat /var/ipfire/samba/global /var/ipfire/samba/pdc /var/ipfire/samba/shares /var/ipfire/samba/printer > /var/ipfire/samba/smb.conf");
-return 0;
-}
-else if (strcmp(argv[1], "smbglobalreset")==0)
-{
-safe_system("/bin/cat /var/ipfire/samba/default.global /var/ipfire/samba/shares > /var/ipfire/samba/smb.conf");
-safe_system("/bin/cat /var/ipfire/samba/default.settings > /var/ipfire/samba/settings");
-safe_system("/bin/cat /var/ipfire/samba/default.global > /var/ipfire/samba/global");
-safe_system("/bin/cat /var/ipfire/samba/default.pdc > /var/ipfire/samba/pdc");
-return 0;
-}
-else if (strcmp(argv[1], "smbsharesreset")==0)
-{
-safe_system("/bin/cat /var/ipfire/samba/global /var/ipfire/samba/default.shares > /var/ipfire/samba/smb.conf");
-safe_system("/bin/cat /var/ipfire/samba/default.shares > /var/ipfire/samba/shares");
-return 0;
-}
-else if (strcmp(argv[1], "smbprinterreset")==0)
-{
-safe_system("/bin/cat /var/ipfire/samba/global /var/ipfire/samba/shares /var/default.printer > /var/ipfire/samba/smb.conf");
-safe_system("/bin/cat /var/ipfire/samba/default.printer > /var/ipfire/samba/printer");
-return 0;
-}
-else if (strcmp(argv[1], "smbstop")==0)
-{
-safe_system("/etc/rc.d/init.d/samba stop >/dev/null");
-safe_system("/usr/local/bin/sambactrl disable");
-return 0;
-}
-else if (strcmp(argv[1], "smbstart")==0)
-{
-safe_system("/etc/rc.d/init.d/samba start >/dev/null");
-safe_system("/usr/local/bin/sambactrl enable");
-return 0;
-}
-else if (strcmp(argv[1], "smbrestart")==0)
-{
-safe_system("/etc/rc.d/init.d/samba restart >/dev/null");
-return 0;
-}
-else if (strcmp(argv[1], "smbreload")==0)
-{
-safe_system("/etc/rc.d/init.d/samba reload >/dev/null");
-return 0;
-}
-else if (strcmp(argv[1], "smbstatus")==0)
-{
-snprintf(command, BUFFER_SIZE-1, "/usr/bin/smbstatus 2>/dev/null");
-safe_system(command);
-return 0;
-}
-else if (strcmp(argv[1], "smbuseradd")==0)
-{
-snprintf(command, BUFFER_SIZE-1, "/usr/sbin/groupadd sambauser >/dev/null");
-safe_system(command);
-snprintf(command, BUFFER_SIZE-1, "/usr/sbin/useradd -c 'Samba User' -m -g %s -s %s %s >/dev/null", argv[4], argv[5], argv[2]);
-safe_system(command);
-snprintf(command, BUFFER_SIZE-1, "echo %s:%s | chpasswd", argv[2], argv[3]);
-safe_system(command);
-snprintf(command, BUFFER_SIZE-1, "/usr/bin/printf '%s\n%s\n' | /usr/bin/smbpasswd -as %s >/dev/null", argv[3], argv[3], argv[2]);
-safe_system(command);
-return 0;
-}
-else if (strcmp(argv[1], "smbpcadd")==0)
-{
-snprintf(command, BUFFER_SIZE-1, "/usr/sbin/groupadd sambawks >/dev/null");
-safe_system(command);
-snprintf(command, BUFFER_SIZE-1, "/usr/sbin/useradd -c 'Samba Workstation' -g %s -s %s %s >/dev/null", argv[3], argv[4], argv[2]);
-safe_system(command);
-snprintf(command, BUFFER_SIZE-1, "/usr/bin/smbpasswd -a -m %s >/dev/null", argv[2]);
-safe_system(command);
-return 0;
-}
-else if (strcmp(argv[1], "smbchangepw")==0)
-{
-snprintf(command, BUFFER_SIZE-1, "echo %s:%s | chpasswd", argv[2], argv[3]);
-safe_system(command);
-snprintf(command, BUFFER_SIZE-1, "/usr/bin/printf '%s\n%s\n' | /usr/bin/smbpasswd -as %s >/dev/null", argv[3], argv[3], argv[2]);
-safe_system(command);
-return 0;
-}
-else if (strcmp(argv[1], "readsmbpasswd")==0)
-{
-safe_system("/bin/chown root:nobody /var/ipfire/samba/private >/dev/null");
-safe_system("/bin/chown root:nobody /var/ipfire/samba/private/smbpasswd >/dev/null");
-safe_system("/bin/chmod 640 /var/ipfire/samba/private/smbpasswd >/dev/null");
-safe_system("/bin/chmod 650 /var/ipfire/samba/private >/dev/null");
-return 0;
-}
-else if (strcmp(argv[1], "locksmbpasswd")==0)
-{
-safe_system("/bin/chown root:root /var/ipfire/samba/private >/dev/null");
-safe_system("/bin/chown root:root /var/ipfire/samba/private/smbpasswd >/dev/null");
-safe_system("/bin/chmod 600 /var/ipfire/samba/private/smbpasswd >/dev/null");
-safe_system("/bin/chmod 600 /var/ipfire/samba/private >/dev/null");
-return 0;
-}
-else if (strcmp(argv[1], "enable")==0)
-{
-safe_system("touch /var/ipfire/samba/enable");
-safe_system("ln -snf /etc/rc.d/init.d/samba /etc/rc.d/rc3.d/S45samba");
-safe_system("ln -snf /etc/rc.d/init.d/samba /etc/rc.d/rc0.d/K48samba");
-safe_system("ln -snf /etc/rc.d/init.d/samba /etc/rc.d/rc6.d/K48samba");
-return 0;
-}
-else if (strcmp(argv[1], "disable")==0)
-{
-safe_system("unlink /var/ipfire/samba/enable");
-safe_system("rm -rf /etc/rc.d/rc*.d/*samba");
-return 0;
-}
-return 0;
+       } else if (strcmp(argv[1], "smbuserdisable") == 0) {
+               snprintf(command, BUFFER_SIZE-1, "/usr/bin/smbpasswd -d %s >/dev/null", argv[2]);
+               safe_system(command);
+
+       } else if (strcmp(argv[1], "smbuserenable") == 0) {
+               snprintf(command, BUFFER_SIZE-1, "/usr/bin/smbpasswd -e %s >/dev/null", argv[2]);
+               safe_system(command);
+
+       } else if (strcmp(argv[1], "smbuserdelete") == 0) {
+               snprintf(command, BUFFER_SIZE-1, "/usr/bin/smbpasswd -x %s >/dev/null", argv[2]);
+               safe_system(command);
+
+               snprintf(command, BUFFER_SIZE-1, "/usr/sbin/userdel %s >/dev/null", argv[2]);
+               safe_system(command);
+
+       } else if (strcmp(argv[1], "smbsafeconf") == 0) {
+               safe_system("/bin/cat /var/ipfire/samba/global /var/ipfire/samba/shares > /var/ipfire/samba/smb.conf");
+
+       } else if (strcmp(argv[1], "smbsafeconfcups") == 0) {
+               safe_system("/bin/cat /var/ipfire/samba/global /var/ipfire/samba/shares /var/ipfire/samba/printer > /var/ipfire/samba/smb.conf");
+
+       } else if (strcmp(argv[1], "smbsafeconfpdc") == 0) {
+               safe_system("/bin/cat /var/ipfire/samba/global /var/ipfire/samba/pdc /var/ipfire/samba/shares > /var/ipfire/samba/smb.conf");
+
+       } else if (strcmp(argv[1], "smbsafeconfpdccups") == 0) {
+               safe_system("/bin/cat /var/ipfire/samba/global /var/ipfire/samba/pdc /var/ipfire/samba/shares /var/ipfire/samba/printer > /var/ipfire/samba/smb.conf");
+
+       } else if (strcmp(argv[1], "smbglobalreset") == 0) {
+               safe_system("/bin/cat /var/ipfire/samba/default.global /var/ipfire/samba/shares > /var/ipfire/samba/smb.conf");
+               safe_system("/bin/cat /var/ipfire/samba/default.settings > /var/ipfire/samba/settings");
+               safe_system("/bin/cat /var/ipfire/samba/default.global > /var/ipfire/samba/global");
+               safe_system("/bin/cat /var/ipfire/samba/default.pdc > /var/ipfire/samba/pdc");
+
+       } else if (strcmp(argv[1], "smbsharesreset") == 0) {
+               safe_system("/bin/cat /var/ipfire/samba/global /var/ipfire/samba/default.shares > /var/ipfire/samba/smb.conf");
+               safe_system("/bin/cat /var/ipfire/samba/default.shares > /var/ipfire/samba/shares");
+
+       } else if (strcmp(argv[1], "smbprinterreset") == 0) {
+               safe_system("/bin/cat /var/ipfire/samba/global /var/ipfire/samba/shares /var/default.printer > /var/ipfire/samba/smb.conf");
+               safe_system("/bin/cat /var/ipfire/samba/default.printer > /var/ipfire/samba/printer");
+
+       } else if (strcmp(argv[1], "smbstop") == 0) {
+               safe_system("/etc/rc.d/init.d/samba stop >/dev/null");
+               safe_system("/usr/local/bin/sambactrl disable");
+
+       } else if (strcmp(argv[1], "smbstart") == 0) {
+               safe_system("/etc/rc.d/init.d/samba start >/dev/null");
+               safe_system("/usr/local/bin/sambactrl enable");
+
+       } else if (strcmp(argv[1], "smbrestart") == 0) {
+               safe_system("/etc/rc.d/init.d/samba restart >/dev/null");
+
+       } else if (strcmp(argv[1], "smbreload") == 0) {
+               safe_system("/etc/rc.d/init.d/samba reload >/dev/null");
+
+       } else if (strcmp(argv[1], "smbstatus") == 0) {
+               snprintf(command, BUFFER_SIZE-1, "/usr/bin/smbstatus 2>/dev/null");
+               safe_system(command);
+
+       } else if (strcmp(argv[1], "smbuseradd") == 0) {
+               snprintf(command, BUFFER_SIZE-1, "/usr/sbin/groupadd sambauser >/dev/null");
+               safe_system(command);
+
+               snprintf(command, BUFFER_SIZE-1, "/usr/sbin/useradd -c 'Samba User' -m -g %s -s %s %s >/dev/null", argv[4], argv[5], argv[2]);
+               safe_system(command);
+
+               snprintf(command, BUFFER_SIZE-1, "echo %s:%s | chpasswd", argv[2], argv[3]);
+               safe_system(command);
+
+               snprintf(command, BUFFER_SIZE-1, "/usr/bin/printf '%s\n%s\n' | /usr/bin/smbpasswd -as %s >/dev/null", argv[3], argv[3], argv[2]);
+               safe_system(command);
+
+       } else if (strcmp(argv[1], "smbpcadd") == 0) {
+               snprintf(command, BUFFER_SIZE-1, "/usr/sbin/groupadd sambawks >/dev/null");
+               safe_system(command);
+
+               snprintf(command, BUFFER_SIZE-1, "/usr/sbin/useradd -c 'Samba Workstation' -g %s -s %s %s >/dev/null", argv[3], argv[4], argv[2]);
+               safe_system(command);
+
+               snprintf(command, BUFFER_SIZE-1, "/usr/bin/smbpasswd -a -m %s >/dev/null", argv[2]);
+               safe_system(command);
+
+       } else if (strcmp(argv[1], "smbchangepw") == 0) {
+               snprintf(command, BUFFER_SIZE-1, "echo %s:%s | chpasswd", argv[2], argv[3]);
+               safe_system(command);
+
+               snprintf(command, BUFFER_SIZE-1, "/usr/bin/printf '%s\n%s\n' | /usr/bin/smbpasswd -as %s >/dev/null", argv[3], argv[3], argv[2]);
+               safe_system(command);
+
+       } else if (strcmp(argv[1], "readsmbpasswd") == 0) {
+               safe_system("/bin/chown root:nobody /var/ipfire/samba/private >/dev/null");
+               safe_system("/bin/chown root:nobody /var/ipfire/samba/private/smbpasswd >/dev/null");
+               safe_system("/bin/chmod 640 /var/ipfire/samba/private/smbpasswd >/dev/null");
+               safe_system("/bin/chmod 650 /var/ipfire/samba/private >/dev/null");
+
+       } else if (strcmp(argv[1], "locksmbpasswd") == 0) {
+               safe_system("/bin/chown root:root /var/ipfire/samba/private >/dev/null");
+               safe_system("/bin/chown root:root /var/ipfire/samba/private/smbpasswd >/dev/null");
+               safe_system("/bin/chmod 600 /var/ipfire/samba/private/smbpasswd >/dev/null");
+               safe_system("/bin/chmod 600 /var/ipfire/samba/private >/dev/null");
+
+       } else if (strcmp(argv[1], "enable") == 0) {
+               safe_system("touch /var/ipfire/samba/enable");
+               safe_system("ln -snf /etc/rc.d/init.d/samba /etc/rc.d/rc3.d/S45samba");
+               safe_system("ln -snf /etc/rc.d/init.d/samba /etc/rc.d/rc0.d/K48samba");
+               safe_system("ln -snf /etc/rc.d/init.d/samba /etc/rc.d/rc6.d/K48samba");
+
+       } else if (strcmp(argv[1], "disable") == 0) {
+               safe_system("unlink /var/ipfire/samba/enable");
+               safe_system("rm -rf /etc/rc.d/rc*.d/*samba");
+
+       } else if (strcmp(argv[1], "join") == 0) {
+               if (argc == 4) {
+                       snprintf(command, BUFFER_SIZE - 1, "/usr/bin/net join -U \"%s%%%s\"",
+                               argv[2], argv[3]);
+                       return safe_system(command);
+               } else {
+                       fprintf(stderr, "Wrong number of arguments. Need username and password.\n");
+                       return 1;
+               }
+       }
+
+       return 0;
 }
index c6b354c864175bc2955212addfb795d4c45331cd..8268992b9b51cedc6035f67127cb85910bcddb7d 100644 (file)
@@ -23,7 +23,4 @@
 #
 . /opt/pakfire/lib/functions.sh
 extract_files
-mysqladmin --user=root -pmysqlfire create cacti
-mysql --user=root -pmysqlfire cacti < /usr/share/cacti/cacti.sql
-mysql --user=root -pmysqlfire -e "GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactiuser';" mysql
 /etc/init.d/apache restart
index 3a0860afeb82b8725380cc6fb5a67f98b9e3481b..51449f55b79732002b55dc1596c61d9940e6ec0d 100644 (file)
@@ -22,6 +22,7 @@
 ############################################################################
 #
 . /opt/pakfire/lib/functions.sh
+extract_backup_includes
 make_backup ${NAME}
 remove_files
 
diff --git a/src/paks/owncloud/install.sh b/src/paks/owncloud/install.sh
new file mode 100644 (file)
index 0000000..e2ad07d
--- /dev/null
@@ -0,0 +1,44 @@
+#!/bin/bash
+############################################################################
+#                                                                          #
+# This file is part of the IPFire Firewall.                                #
+#                                                                          #
+# IPFire is free software; you can redistribute it and/or modify           #
+# it under the terms of the GNU General Public License as published by     #
+# the Free Software Foundation; either version 2 of the License, or        #
+# (at your option) any later version.                                      #
+#                                                                          #
+# IPFire is distributed in the hope that it will be useful,                #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of           #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            #
+# GNU General Public License for more details.                             #
+#                                                                          #
+# You should have received a copy of the GNU General Public License        #
+# along with IPFire; if not, write to the Free Software                    #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
+#                                                                          #
+# Copyright (C) 2007 IPFire-Team <info@ipfire.org>.                        #
+#                                                                          #
+############################################################################
+#
+. /opt/pakfire/lib/functions.sh
+extract_files
+restore_backup ${NAME}
+
+# Fix permissions.
+chmod 777 /srv/web/owncloud/apps
+chmod 777 /srv/web/owncloud/config
+
+# Create data directory.
+mkdir -p /var/owncloud/data
+chown -R nobody:nobody /var/owncloud
+
+# Import web interface certificates if none exist.
+if [ ! -e "/etc/httpd/owncloud.crt" ] && [ ! -e "/etc/httpd/owncloud.key" ]; then
+       cat /etc/httpd/server.crt > /etc/httpd/owncloud.crt
+       cat /etc/httpd/server.key > /etc/httpd/owncloud.key
+fi
+
+/etc/init.d/apache reload
+
+exit 0
diff --git a/src/paks/owncloud/uninstall.sh b/src/paks/owncloud/uninstall.sh
new file mode 100644 (file)
index 0000000..9e2578f
--- /dev/null
@@ -0,0 +1,30 @@
+#!/bin/bash
+############################################################################
+#                                                                          #
+# This file is part of the IPFire Firewall.                                #
+#                                                                          #
+# IPFire is free software; you can redistribute it and/or modify           #
+# it under the terms of the GNU General Public License as published by     #
+# the Free Software Foundation; either version 2 of the License, or        #
+# (at your option) any later version.                                      #
+#                                                                          #
+# IPFire is distributed in the hope that it will be useful,                #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of           #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            #
+# GNU General Public License for more details.                             #
+#                                                                          #
+# You should have received a copy of the GNU General Public License        #
+# along with IPFire; if not, write to the Free Software                    #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
+#                                                                          #
+# Copyright (C) 2007 IPFire-Team <info@ipfire.org>.                        #
+#                                                                          #
+############################################################################
+#
+. /opt/pakfire/lib/functions.sh
+make_backup ${NAME}
+remove_files
+
+/etc/init.d/apache reload
+
+exit 0
similarity index 98%
rename from src/paks/icecc/update.sh
rename to src/paks/owncloud/update.sh
index 88f1f3a78a64ee3448963e2e84df1c4eb5a5f0dd..89c40d0d7c5d3dd57b5944f3af4977d5f8d76760 100644 (file)
@@ -22,5 +22,5 @@
 ############################################################################
 #
 . /opt/pakfire/lib/functions.sh
-/etc/init.d/icecream stop
+./uninstall.sh
 ./install.sh
index 9c4f7f47873150a286b93c8ed6e5fc2143975ec8..b7a2fc1cc8f6df80b7cd5e1b4d3d50e8cf7c74c6 100644 (file)
 ############################################################################
 #
 . /opt/pakfire/lib/functions.sh
+
+# If the wbpriv group does not exist yet, then create it and put squid
+# into it.
+if ! getent group wbpriv >/dev/null; then
+       groupadd -g 88 wbpriv
+       usermod -a -G wbpriv squid
+fi
+
 extract_files
 restore_backup ${NAME}
 /usr/local/bin/sambactrl smbstart
index 6f4cb60645ddabdbf7d97bc8489aada5b79c7f96..648b025b7edd701cb69e253f2be18a2e22e572c3 100644 (file)
 #
 . /opt/pakfire/lib/functions.sh
 ./uninstall.sh
+
+# If the wbpriv group does not exist yet, then create it and put squid
+# into it.
+if ! getent group wbpriv >/dev/null; then
+       groupadd -g 88 wbpriv
+       usermod -a -G wbpriv squid
+fi
+
 extract_files
 restore_backup ${NAME}
 echo "passdb backend = smbpasswd" >> /var/ipfire/samba/smb.conf
diff --git a/src/paks/squid-accounting/install.sh b/src/paks/squid-accounting/install.sh
new file mode 100644 (file)
index 0000000..f20b85f
--- /dev/null
@@ -0,0 +1,35 @@
+#!/bin/bash
+############################################################################
+#                                                                          #
+# This file is part of the IPFire Firewall.                                #
+#                                                                          #
+# IPFire is free software; you can redistribute it and/or modify           #
+# it under the terms of the GNU General Public License as published by     #
+# the Free Software Foundation; either version 2 of the License, or        #
+# (at your option) any later version.                                      #
+#                                                                          #
+# IPFire is distributed in the hope that it will be useful,                #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of           #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            #
+# GNU General Public License for more details.                             #
+#                                                                          #
+# You should have received a copy of the GNU General Public License        #
+# along with IPFire; if not, write to the Free Software                    #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
+#                                                                          #
+# Copyright (C) 2009 IPFire-Team <info@ipfire.org>.                        #
+#                                                                          #
+############################################################################
+#
+. /opt/pakfire/lib/functions.sh
+extract_files
+restore_backup ${NAME}
+
+#Generate SQLite DB if it does not exist
+if [ ! -f /var/ipfire/accounting/acct.db ]; then
+       perl /var/ipfire/accounting/dbinstall.pl
+       chmod 644 /var/ipfire/accounting/acct.db
+       chown nobody.nobody /var/ipfire/accounting/acct.db
+fi
+rm -f /var/ipfire/accounting/dbinstall.pl
+/usr/local/bin/update-lang-cache
diff --git a/src/paks/squid-accounting/uninstall.sh b/src/paks/squid-accounting/uninstall.sh
new file mode 100644 (file)
index 0000000..841124b
--- /dev/null
@@ -0,0 +1,27 @@
+#!/bin/bash
+############################################################################
+#                                                                          #
+# This file is part of the IPFire Firewall.                                #
+#                                                                          #
+# IPFire is free software; you can redistribute it and/or modify           #
+# it under the terms of the GNU General Public License as published by     #
+# the Free Software Foundation; either version 2 of the License, or        #
+# (at your option) any later version.                                      #
+#                                                                          #
+# IPFire is distributed in the hope that it will be useful,                #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of           #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            #
+# GNU General Public License for more details.                             #
+#                                                                          #
+# You should have received a copy of the GNU General Public License        #
+# along with IPFire; if not, write to the Free Software                    #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
+#                                                                          #
+# Copyright (C) 2014 IPFire-Team <alexander.marx@ipfire.org>               #
+#                                                                          #
+############################################################################
+
+. /opt/pakfire/lib/functions.sh
+make_backup ${NAME}
+remove_files
+/usr/local/bin/update-lang-cache
similarity index 97%
rename from src/paks/icecc/uninstall.sh
rename to src/paks/squid-accounting/update.sh
index 36331ef866af49bc2e954b1cb0b5c78c2170c1b4..89c40d0d7c5d3dd57b5944f3af4977d5f8d76760 100644 (file)
@@ -22,5 +22,5 @@
 ############################################################################
 #
 . /opt/pakfire/lib/functions.sh
-stop_service icecream
-remove_files
+./uninstall.sh
+./install.sh
similarity index 97%
rename from src/paks/icecc/install.sh
rename to src/paks/vdr_vnsiserver5/install.sh
index fa9a22dd80999caef1613c2db824ea7edb623a4f..3bb613eab1d5938a39c4c91bdbda716f0c1684af 100644 (file)
@@ -22,5 +22,6 @@
 ############################################################################
 #
 . /opt/pakfire/lib/functions.sh
+stop_service vdr
 extract_files
-start_service --delay 90 --background icecream
+start_service --background vdr
diff --git a/src/paks/vdr_vnsiserver5/uninstall.sh b/src/paks/vdr_vnsiserver5/uninstall.sh
new file mode 100644 (file)
index 0000000..cb55446
--- /dev/null
@@ -0,0 +1,27 @@
+#!/bin/bash
+############################################################################
+#                                                                          #
+# This file is part of the IPFire Firewall.                                #
+#                                                                          #
+# IPFire is free software; you can redistribute it and/or modify           #
+# it under the terms of the GNU General Public License as published by     #
+# the Free Software Foundation; either version 2 of the License, or        #
+# (at your option) any later version.                                      #
+#                                                                          #
+# IPFire is distributed in the hope that it will be useful,                #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of           #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            #
+# GNU General Public License for more details.                             #
+#                                                                          #
+# You should have received a copy of the GNU General Public License        #
+# along with IPFire; if not, write to the Free Software                    #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
+#                                                                          #
+# Copyright (C) 2007 IPFire-Team <info@ipfire.org>.                        #
+#                                                                          #
+############################################################################
+#
+. /opt/pakfire/lib/functions.sh
+stop_service vdr
+remove_files
+start_service vdr --background
diff --git a/src/paks/vdr_vnsiserver5/update.sh b/src/paks/vdr_vnsiserver5/update.sh
new file mode 100644 (file)
index 0000000..89c40d0
--- /dev/null
@@ -0,0 +1,26 @@
+#!/bin/bash
+############################################################################
+#                                                                          #
+# This file is part of the IPFire Firewall.                                #
+#                                                                          #
+# IPFire is free software; you can redistribute it and/or modify           #
+# it under the terms of the GNU General Public License as published by     #
+# the Free Software Foundation; either version 2 of the License, or        #
+# (at your option) any later version.                                      #
+#                                                                          #
+# IPFire is distributed in the hope that it will be useful,                #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of           #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            #
+# GNU General Public License for more details.                             #
+#                                                                          #
+# You should have received a copy of the GNU General Public License        #
+# along with IPFire; if not, write to the Free Software                    #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
+#                                                                          #
+# Copyright (C) 2007 IPFire-Team <info@ipfire.org>.                        #
+#                                                                          #
+############################################################################
+#
+. /opt/pakfire/lib/functions.sh
+./uninstall.sh
+./install.sh
diff --git a/src/patches/cacti/cacti-0.8.8a-legal.patch b/src/patches/cacti/cacti-0.8.8a-legal.patch
new file mode 100644 (file)
index 0000000..af09209
--- /dev/null
@@ -0,0 +1,8166 @@
+diff -up cacti-0.8.8a/include/js/jquery/colorpicker.js.legal cacti-0.8.8a/include/js/jquery/colorpicker.js
+--- cacti-0.8.8a/include/js/jquery/colorpicker.js.legal        2013-01-04 15:44:38.025416061 -0500
++++ cacti-0.8.8a/include/js/jquery/colorpicker.js      2013-01-04 15:43:12.644377988 -0500
+@@ -0,0 +1,484 @@
++/**
++ *
++ * Color picker
++ * Author: Stefan Petre www.eyecon.ro
++ * 
++ * Dual licensed under the MIT and GPL licenses
++ * 
++ */
++(function ($) {
++      var ColorPicker = function () {
++              var
++                      ids = {},
++                      inAction,
++                      charMin = 65,
++                      visible,
++                      tpl = '<div class="colorpicker"><div class="colorpicker_color"><div><div></div></div></div><div class="colorpicker_hue"><div></div></div><div class="colorpicker_new_color"></div><div class="colorpicker_current_color"></div><div class="colorpicker_hex"><input type="text" maxlength="6" size="6" /></div><div class="colorpicker_rgb_r colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_rgb_g colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_rgb_b colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_h colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_s colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_b colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_submit"></div></div>',
++                      defaults = {
++                              eventName: 'click',
++                              onShow: function () {},
++                              onBeforeShow: function(){},
++                              onHide: function () {},
++                              onChange: function () {},
++                              onSubmit: function () {},
++                              color: 'ff0000',
++                              livePreview: true,
++                              flat: false
++                      },
++                      fillRGBFields = function  (hsb, cal) {
++                              var rgb = HSBToRGB(hsb);
++                              $(cal).data('colorpicker').fields
++                                      .eq(1).val(rgb.r).end()
++                                      .eq(2).val(rgb.g).end()
++                                      .eq(3).val(rgb.b).end();
++                      },
++                      fillHSBFields = function  (hsb, cal) {
++                              $(cal).data('colorpicker').fields
++                                      .eq(4).val(hsb.h).end()
++                                      .eq(5).val(hsb.s).end()
++                                      .eq(6).val(hsb.b).end();
++                      },
++                      fillHexFields = function (hsb, cal) {
++                              $(cal).data('colorpicker').fields
++                                      .eq(0).val(HSBToHex(hsb)).end();
++                      },
++                      setSelector = function (hsb, cal) {
++                              $(cal).data('colorpicker').selector.css('backgroundColor', '#' + HSBToHex({h: hsb.h, s: 100, b: 100}));
++                              $(cal).data('colorpicker').selectorIndic.css({
++                                      left: parseInt(150 * hsb.s/100, 10),
++                                      top: parseInt(150 * (100-hsb.b)/100, 10)
++                              });
++                      },
++                      setHue = function (hsb, cal) {
++                              $(cal).data('colorpicker').hue.css('top', parseInt(150 - 150 * hsb.h/360, 10));
++                      },
++                      setCurrentColor = function (hsb, cal) {
++                              $(cal).data('colorpicker').currentColor.css('backgroundColor', '#' + HSBToHex(hsb));
++                      },
++                      setNewColor = function (hsb, cal) {
++                              $(cal).data('colorpicker').newColor.css('backgroundColor', '#' + HSBToHex(hsb));
++                      },
++                      keyDown = function (ev) {
++                              var pressedKey = ev.charCode || ev.keyCode || -1;
++                              if ((pressedKey > charMin && pressedKey <= 90) || pressedKey == 32) {
++                                      return false;
++                              }
++                              var cal = $(this).parent().parent();
++                              if (cal.data('colorpicker').livePreview === true) {
++                                      change.apply(this);
++                              }
++                      },
++                      change = function (ev) {
++                              var cal = $(this).parent().parent(), col;
++                              if (this.parentNode.className.indexOf('_hex') > 0) {
++                                      cal.data('colorpicker').color = col = HexToHSB(fixHex(this.value));
++                              } else if (this.parentNode.className.indexOf('_hsb') > 0) {
++                                      cal.data('colorpicker').color = col = fixHSB({
++                                              h: parseInt(cal.data('colorpicker').fields.eq(4).val(), 10),
++                                              s: parseInt(cal.data('colorpicker').fields.eq(5).val(), 10),
++                                              b: parseInt(cal.data('colorpicker').fields.eq(6).val(), 10)
++                                      });
++                              } else {
++                                      cal.data('colorpicker').color = col = RGBToHSB(fixRGB({
++                                              r: parseInt(cal.data('colorpicker').fields.eq(1).val(), 10),
++                                              g: parseInt(cal.data('colorpicker').fields.eq(2).val(), 10),
++                                              b: parseInt(cal.data('colorpicker').fields.eq(3).val(), 10)
++                                      }));
++                              }
++                              if (ev) {
++                                      fillRGBFields(col, cal.get(0));
++                                      fillHexFields(col, cal.get(0));
++                                      fillHSBFields(col, cal.get(0));
++                              }
++                              setSelector(col, cal.get(0));
++                              setHue(col, cal.get(0));
++                              setNewColor(col, cal.get(0));
++                              cal.data('colorpicker').onChange.apply(cal, [col, HSBToHex(col), HSBToRGB(col)]);
++                      },
++                      blur = function (ev) {
++                              var cal = $(this).parent().parent();
++                              cal.data('colorpicker').fields.parent().removeClass('colorpicker_focus');
++                      },
++                      focus = function () {
++                              charMin = this.parentNode.className.indexOf('_hex') > 0 ? 70 : 65;
++                              $(this).parent().parent().data('colorpicker').fields.parent().removeClass('colorpicker_focus');
++                              $(this).parent().addClass('colorpicker_focus');
++                      },
++                      downIncrement = function (ev) {
++                              var field = $(this).parent().find('input').focus();
++                              var current = {
++                                      el: $(this).parent().addClass('colorpicker_slider'),
++                                      max: this.parentNode.className.indexOf('_hsb_h') > 0 ? 360 : (this.parentNode.className.indexOf('_hsb') > 0 ? 100 : 255),
++                                      y: ev.pageY,
++                                      field: field,
++                                      val: parseInt(field.val(), 10),
++                                      preview: $(this).parent().parent().data('colorpicker').livePreview                                      
++                              };
++                              $(document).bind('mouseup', current, upIncrement);
++                              $(document).bind('mousemove', current, moveIncrement);
++                      },
++                      moveIncrement = function (ev) {
++                              ev.data.field.val(Math.max(0, Math.min(ev.data.max, parseInt(ev.data.val + ev.pageY - ev.data.y, 10))));
++                              if (ev.data.preview) {
++                                      change.apply(ev.data.field.get(0), [true]);
++                              }
++                              return false;
++                      },
++                      upIncrement = function (ev) {
++                              change.apply(ev.data.field.get(0), [true]);
++                              ev.data.el.removeClass('colorpicker_slider').find('input').focus();
++                              $(document).unbind('mouseup', upIncrement);
++                              $(document).unbind('mousemove', moveIncrement);
++                              return false;
++                      },
++                      downHue = function (ev) {
++                              var current = {
++                                      cal: $(this).parent(),
++                                      y: $(this).offset().top
++                              };
++                              current.preview = current.cal.data('colorpicker').livePreview;
++                              $(document).bind('mouseup', current, upHue);
++                              $(document).bind('mousemove', current, moveHue);
++                      },
++                      moveHue = function (ev) {
++                              change.apply(
++                                      ev.data.cal.data('colorpicker')
++                                              .fields
++                                              .eq(4)
++                                              .val(parseInt(360*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.y))))/150, 10))
++                                              .get(0),
++                                      [ev.data.preview]
++                              );
++                              return false;
++                      },
++                      upHue = function (ev) {
++                              fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
++                              fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
++                              $(document).unbind('mouseup', upHue);
++                              $(document).unbind('mousemove', moveHue);
++                              return false;
++                      },
++                      downSelector = function (ev) {
++                              var current = {
++                                      cal: $(this).parent(),
++                                      pos: $(this).offset()
++                              };
++                              current.preview = current.cal.data('colorpicker').livePreview;
++                              $(document).bind('mouseup', current, upSelector);
++                              $(document).bind('mousemove', current, moveSelector);
++                      },
++                      moveSelector = function (ev) {
++                              change.apply(
++                                      ev.data.cal.data('colorpicker')
++                                              .fields
++                                              .eq(6)
++                                              .val(parseInt(100*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.pos.top))))/150, 10))
++                                              .end()
++                                              .eq(5)
++                                              .val(parseInt(100*(Math.max(0,Math.min(150,(ev.pageX - ev.data.pos.left))))/150, 10))
++                                              .get(0),
++                                      [ev.data.preview]
++                              );
++                              return false;
++                      },
++                      upSelector = function (ev) {
++                              fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
++                              fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
++                              $(document).unbind('mouseup', upSelector);
++                              $(document).unbind('mousemove', moveSelector);
++                              return false;
++                      },
++                      enterSubmit = function (ev) {
++                              $(this).addClass('colorpicker_focus');
++                      },
++                      leaveSubmit = function (ev) {
++                              $(this).removeClass('colorpicker_focus');
++                      },
++                      clickSubmit = function (ev) {
++                              var cal = $(this).parent();
++                              var col = cal.data('colorpicker').color;
++                              cal.data('colorpicker').origColor = col;
++                              setCurrentColor(col, cal.get(0));
++                              cal.data('colorpicker').onSubmit(col, HSBToHex(col), HSBToRGB(col), cal.data('colorpicker').el);
++                      },
++                      show = function (ev) {
++                              var cal = $('#' + $(this).data('colorpickerId'));
++                              cal.data('colorpicker').onBeforeShow.apply(this, [cal.get(0)]);
++                              var pos = $(this).offset();
++                              var viewPort = getViewport();
++                              var top = pos.top + this.offsetHeight;
++                              var left = pos.left;
++                              if (top + 176 > viewPort.t + viewPort.h) {
++                                      top -= this.offsetHeight + 176;
++                              }
++                              if (left + 356 > viewPort.l + viewPort.w) {
++                                      left -= 356;
++                              }
++                              cal.css({left: left + 'px', top: top + 'px'});
++                              if (cal.data('colorpicker').onShow.apply(this, [cal.get(0)]) != false) {
++                                      cal.show();
++                              }
++                              $(document).bind('mousedown', {cal: cal}, hide);
++                              return false;
++                      },
++                      hide = function (ev) {
++                              if (!isChildOf(ev.data.cal.get(0), ev.target, ev.data.cal.get(0))) {
++                                      if (ev.data.cal.data('colorpicker').onHide.apply(this, [ev.data.cal.get(0)]) != false) {
++                                              ev.data.cal.hide();
++                                      }
++                                      $(document).unbind('mousedown', hide);
++                              }
++                      },
++                      isChildOf = function(parentEl, el, container) {
++                              if (parentEl == el) {
++                                      return true;
++                              }
++                              if (parentEl.contains) {
++                                      return parentEl.contains(el);
++                              }
++                              if ( parentEl.compareDocumentPosition ) {
++                                      return !!(parentEl.compareDocumentPosition(el) & 16);
++                              }
++                              var prEl = el.parentNode;
++                              while(prEl && prEl != container) {
++                                      if (prEl == parentEl)
++                                              return true;
++                                      prEl = prEl.parentNode;
++                              }
++                              return false;
++                      },
++                      getViewport = function () {
++                              var m = document.compatMode == 'CSS1Compat';
++                              return {
++                                      l : window.pageXOffset || (m ? document.documentElement.scrollLeft : document.body.scrollLeft),
++                                      t : window.pageYOffset || (m ? document.documentElement.scrollTop : document.body.scrollTop),
++                                      w : window.innerWidth || (m ? document.documentElement.clientWidth : document.body.clientWidth),
++                                      h : window.innerHeight || (m ? document.documentElement.clientHeight : document.body.clientHeight)
++                              };
++                      },
++                      fixHSB = function (hsb) {
++                              return {
++                                      h: Math.min(360, Math.max(0, hsb.h)),
++                                      s: Math.min(100, Math.max(0, hsb.s)),
++                                      b: Math.min(100, Math.max(0, hsb.b))
++                              };
++                      }, 
++                      fixRGB = function (rgb) {
++                              return {
++                                      r: Math.min(255, Math.max(0, rgb.r)),
++                                      g: Math.min(255, Math.max(0, rgb.g)),
++                                      b: Math.min(255, Math.max(0, rgb.b))
++                              };
++                      },
++                      fixHex = function (hex) {
++                              var len = 6 - hex.length;
++                              if (len > 0) {
++                                      var o = [];
++                                      for (var i=0; i<len; i++) {
++                                              o.push('0');
++                                      }
++                                      o.push(hex);
++                                      hex = o.join('');
++                              }
++                              return hex;
++                      }, 
++                      HexToRGB = function (hex) {
++                              var hex = parseInt(((hex.indexOf('#') > -1) ? hex.substring(1) : hex), 16);
++                              return {r: hex >> 16, g: (hex & 0x00FF00) >> 8, b: (hex & 0x0000FF)};
++                      },
++                      HexToHSB = function (hex) {
++                              return RGBToHSB(HexToRGB(hex));
++                      },
++                      RGBToHSB = function (rgb) {
++                              var hsb = {
++                                      h: 0,
++                                      s: 0,
++                                      b: 0
++                              };
++                              var min = Math.min(rgb.r, rgb.g, rgb.b);
++                              var max = Math.max(rgb.r, rgb.g, rgb.b);
++                              var delta = max - min;
++                              hsb.b = max;
++                              if (max != 0) {
++                                      
++                              }
++                              hsb.s = max != 0 ? 255 * delta / max : 0;
++                              if (hsb.s != 0) {
++                                      if (rgb.r == max) {
++                                              hsb.h = (rgb.g - rgb.b) / delta;
++                                      } else if (rgb.g == max) {
++                                              hsb.h = 2 + (rgb.b - rgb.r) / delta;
++                                      } else {
++                                              hsb.h = 4 + (rgb.r - rgb.g) / delta;
++                                      }
++                              } else {
++                                      hsb.h = -1;
++                              }
++                              hsb.h *= 60;
++                              if (hsb.h < 0) {
++                                      hsb.h += 360;
++                              }
++                              hsb.s *= 100/255;
++                              hsb.b *= 100/255;
++                              return hsb;
++                      },
++                      HSBToRGB = function (hsb) {
++                              var rgb = {};
++                              var h = Math.round(hsb.h);
++                              var s = Math.round(hsb.s*255/100);
++                              var v = Math.round(hsb.b*255/100);
++                              if(s == 0) {
++                                      rgb.r = rgb.g = rgb.b = v;
++                              } else {
++                                      var t1 = v;
++                                      var t2 = (255-s)*v/255;
++                                      var t3 = (t1-t2)*(h%60)/60;
++                                      if(h==360) h = 0;
++                                      if(h<60) {rgb.r=t1;     rgb.b=t2; rgb.g=t2+t3}
++                                      else if(h<120) {rgb.g=t1; rgb.b=t2;     rgb.r=t1-t3}
++                                      else if(h<180) {rgb.g=t1; rgb.r=t2;     rgb.b=t2+t3}
++                                      else if(h<240) {rgb.b=t1; rgb.r=t2;     rgb.g=t1-t3}
++                                      else if(h<300) {rgb.b=t1; rgb.g=t2;     rgb.r=t2+t3}
++                                      else if(h<360) {rgb.r=t1; rgb.g=t2;     rgb.b=t1-t3}
++                                      else {rgb.r=0; rgb.g=0; rgb.b=0}
++                              }
++                              return {r:Math.round(rgb.r), g:Math.round(rgb.g), b:Math.round(rgb.b)};
++                      },
++                      RGBToHex = function (rgb) {
++                              var hex = [
++                                      rgb.r.toString(16),
++                                      rgb.g.toString(16),
++                                      rgb.b.toString(16)
++                              ];
++                              $.each(hex, function (nr, val) {
++                                      if (val.length == 1) {
++                                              hex[nr] = '0' + val;
++                                      }
++                              });
++                              return hex.join('');
++                      },
++                      HSBToHex = function (hsb) {
++                              return RGBToHex(HSBToRGB(hsb));
++                      },
++                      restoreOriginal = function () {
++                              var cal = $(this).parent();
++                              var col = cal.data('colorpicker').origColor;
++                              cal.data('colorpicker').color = col;
++                              fillRGBFields(col, cal.get(0));
++                              fillHexFields(col, cal.get(0));
++                              fillHSBFields(col, cal.get(0));
++                              setSelector(col, cal.get(0));
++                              setHue(col, cal.get(0));
++                              setNewColor(col, cal.get(0));
++                      };
++              return {
++                      init: function (opt) {
++                              opt = $.extend({}, defaults, opt||{});
++                              if (typeof opt.color == 'string') {
++                                      opt.color = HexToHSB(opt.color);
++                              } else if (opt.color.r != undefined && opt.color.g != undefined && opt.color.b != undefined) {
++                                      opt.color = RGBToHSB(opt.color);
++                              } else if (opt.color.h != undefined && opt.color.s != undefined && opt.color.b != undefined) {
++                                      opt.color = fixHSB(opt.color);
++                              } else {
++                                      return this;
++                              }
++                              return this.each(function () {
++                                      if (!$(this).data('colorpickerId')) {
++                                              var options = $.extend({}, opt);
++                                              options.origColor = opt.color;
++                                              var id = 'collorpicker_' + parseInt(Math.random() * 1000);
++                                              $(this).data('colorpickerId', id);
++                                              var cal = $(tpl).attr('id', id);
++                                              if (options.flat) {
++                                                      cal.appendTo(this).show();
++                                              } else {
++                                                      cal.appendTo(document.body);
++                                              }
++                                              options.fields = cal
++                                                                                      .find('input')
++                                                                                              .bind('keyup', keyDown)
++                                                                                              .bind('change', change)
++                                                                                              .bind('blur', blur)
++                                                                                              .bind('focus', focus);
++                                              cal
++                                                      .find('span').bind('mousedown', downIncrement).end()
++                                                      .find('>div.colorpicker_current_color').bind('click', restoreOriginal);
++                                              options.selector = cal.find('div.colorpicker_color').bind('mousedown', downSelector);
++                                              options.selectorIndic = options.selector.find('div div');
++                                              options.el = this;
++                                              options.hue = cal.find('div.colorpicker_hue div');
++                                              cal.find('div.colorpicker_hue').bind('mousedown', downHue);
++                                              options.newColor = cal.find('div.colorpicker_new_color');
++                                              options.currentColor = cal.find('div.colorpicker_current_color');
++                                              cal.data('colorpicker', options);
++                                              cal.find('div.colorpicker_submit')
++                                                      .bind('mouseenter', enterSubmit)
++                                                      .bind('mouseleave', leaveSubmit)
++                                                      .bind('click', clickSubmit);
++                                              fillRGBFields(options.color, cal.get(0));
++                                              fillHSBFields(options.color, cal.get(0));
++                                              fillHexFields(options.color, cal.get(0));
++                                              setHue(options.color, cal.get(0));
++                                              setSelector(options.color, cal.get(0));
++                                              setCurrentColor(options.color, cal.get(0));
++                                              setNewColor(options.color, cal.get(0));
++                                              if (options.flat) {
++                                                      cal.css({
++                                                              position: 'relative',
++                                                              display: 'block'
++                                                      });
++                                              } else {
++                                                      $(this).bind(options.eventName, show);
++                                              }
++                                      }
++                              });
++                      },
++                      showPicker: function() {
++                              return this.each( function () {
++                                      if ($(this).data('colorpickerId')) {
++                                              show.apply(this);
++                                      }
++                              });
++                      },
++                      hidePicker: function() {
++                              return this.each( function () {
++                                      if ($(this).data('colorpickerId')) {
++                                              $('#' + $(this).data('colorpickerId')).hide();
++                                      }
++                              });
++                      },
++                      setColor: function(col) {
++                              if (typeof col == 'string') {
++                                      col = HexToHSB(col);
++                              } else if (col.r != undefined && col.g != undefined && col.b != undefined) {
++                                      col = RGBToHSB(col);
++                              } else if (col.h != undefined && col.s != undefined && col.b != undefined) {
++                                      col = fixHSB(col);
++                              } else {
++                                      return this;
++                              }
++                              return this.each(function(){
++                                      if ($(this).data('colorpickerId')) {
++                                              var cal = $('#' + $(this).data('colorpickerId'));
++                                              cal.data('colorpicker').color = col;
++                                              cal.data('colorpicker').origColor = col;
++                                              fillRGBFields(col, cal.get(0));
++                                              fillHSBFields(col, cal.get(0));
++                                              fillHexFields(col, cal.get(0));
++                                              setHue(col, cal.get(0));
++                                              setSelector(col, cal.get(0));
++                                              setCurrentColor(col, cal.get(0));
++                                              setNewColor(col, cal.get(0));
++                                      }
++                              });
++                      }
++              };
++      }();
++      $.fn.extend({
++              ColorPicker: ColorPicker.init,
++              ColorPickerHide: ColorPicker.hidePicker,
++              ColorPickerShow: ColorPicker.showPicker,
++              ColorPickerSetColor: ColorPicker.setColor
++      });
++})(jQuery)
+\ No newline at end of file
+diff -up cacti-0.8.8a/include/js/jquery/jquery.cookie.js.legal cacti-0.8.8a/include/js/jquery/jquery.cookie.js
+--- cacti-0.8.8a/include/js/jquery/jquery.cookie.js.legal      2013-01-04 15:44:38.027416060 -0500
++++ cacti-0.8.8a/include/js/jquery/jquery.cookie.js    2013-01-04 15:43:12.644377988 -0500
+@@ -0,0 +1,91 @@
++/*jslint browser: true */ /*global jQuery: true */
++
++/**
++ * jQuery Cookie plugin
++ *
++ * Copyright (c) 2010 Klaus Hartl (stilbuero.de)
++ * Dual licensed under the MIT and GPL licenses:
++ * http://www.opensource.org/licenses/mit-license.php
++ * http://www.gnu.org/licenses/gpl.html
++ *
++ */
++
++// TODO JsDoc
++
++/**
++ * Create a cookie with the given key and value and other optional parameters.
++ *
++ * @example $.cookie('the_cookie', 'the_value');
++ * @desc Set the value of a cookie.
++ * @example $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true });
++ * @desc Create a cookie with all available options.
++ * @example $.cookie('the_cookie', 'the_value');
++ * @desc Create a session cookie.
++ * @example $.cookie('the_cookie', null);
++ * @desc Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain
++ *       used when the cookie was set.
++ *
++ * @param String key The key of the cookie.
++ * @param String value The value of the cookie.
++ * @param Object options An object literal containing key/value pairs to provide optional cookie attributes.
++ * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object.
++ *                             If a negative value is specified (e.g. a date in the past), the cookie will be deleted.
++ *                             If set to null or omitted, the cookie will be a session cookie and will not be retained
++ *                             when the the browser exits.
++ * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie).
++ * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie).
++ * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will
++ *                        require a secure protocol (like HTTPS).
++ * @type undefined
++ *
++ * @name $.cookie
++ * @cat Plugins/Cookie
++ * @author Klaus Hartl/klaus.hartl@stilbuero.de
++ */
++
++/**
++ * Get the value of a cookie with the given key.
++ *
++ * @example $.cookie('the_cookie');
++ * @desc Get the value of a cookie.
++ *
++ * @param String key The key of the cookie.
++ * @return The value of the cookie.
++ * @type String
++ *
++ * @name $.cookie
++ * @cat Plugins/Cookie
++ * @author Klaus Hartl/klaus.hartl@stilbuero.de
++ */
++jQuery.cookie = function (key, value, options) {
++
++    // key and at least value given, set cookie...
++    if (arguments.length > 1 && String(value) !== "[object Object]") {
++        options = jQuery.extend({}, options);
++
++        if (value === null || value === undefined) {
++            options.expires = -1;
++        }
++
++        if (typeof options.expires === 'number') {
++            var days = options.expires, t = options.expires = new Date();
++            t.setDate(t.getDate() + days);
++        }
++
++        value = String(value);
++
++        return (document.cookie = [
++            encodeURIComponent(key), '=',
++            options.raw ? value : encodeURIComponent(value),
++            options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
++            options.path ? '; path=' + options.path : '',
++            options.domain ? '; domain=' + options.domain : '',
++            options.secure ? '; secure' : ''
++        ].join(''));
++    }
++
++    // key and possibly options given, get cookie...
++    options = value || {};
++    var result, decode = options.raw ? function (s) { return s; } : decodeURIComponent;
++    return (result = new RegExp('(?:^|; )' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? decode(result[1]) : null;
++};
+diff -up cacti-0.8.8a/include/js/jquery/jquery.dd.js.legal cacti-0.8.8a/include/js/jquery/jquery.dd.js
+--- cacti-0.8.8a/include/js/jquery/jquery.dd.js.legal  2013-01-04 15:44:38.030416069 -0500
++++ cacti-0.8.8a/include/js/jquery/jquery.dd.js        2013-01-04 15:43:12.644377988 -0500
+@@ -0,0 +1,11 @@
++// MSDropDown - jquery.dd.js
++// author: Marghoob Suleman - Search me on google
++// Date: 12th Aug, 2009, {18 Dec, 2010 (2.36)}
++// Version: 2.37.5 {date: 17 June, 2011}
++// Revision: 34
++// web: www.giftlelo.com | www.marghoobsuleman.com
++/*
++// msDropDown is free jQuery Plugin: you can redistribute it and/or modify
++// it under the terms of the either the MIT License or the Gnu General Public License (GPL) Version 2
++*/
++;eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}(';(5($){3 1L="";3 3m=5(p,q){3 r=p;3 s=1a;3 q=$.3n({1d:4c,2q:7,3o:23,1U:6,1M:4d,3p:\'28\',1N:15,3q:\'4e\',2I:\'\',1j:\'\'},q);1a.1V=2r 3r();3 u="";3 v={};v.2J=6;v.2s=15;v.2t=1o;3 x=15;3 y={2K:\'4f\',1O:\'4g\',1H:\'4h\',29:\'4i\',1h:\'4j\',2L:\'4k\',2M:\'4l\',4m:\'4n\',2u:\'4o\',3s:\'4p\'};3 z={28:q.3p,2N:\'2N\',2O:\'2O\',2P:\'2P\',1t:\'1t\',1k:.30,2a:\'2a\',2v:\'2v\',2w:\'2w\',11:\'11\'};3 A={3t:"2x,2Q,2R,1P,2y,2z,1u,1B,2A,1Q,4q,1W,2S",18:"1C,1v,1k,4r"};1a.1R=2r 3r();3 B=$(r).18("1b");4(1w(B)=="14"||B.1c<=0){B="4s"+$.1S.3u++;$(r).2B("1b",B)};3 C=$(r).18("1j");q.1j+=(C==14)?"":C;3 D=$(r).3v();x=($(r).18("1C")>1||$(r).18("1v")==6)?6:15;4(x){q.2q=$(r).18("1C")};3 E={};3 F=0;3 G=15;3 H;3 I={};3 J=5(a){4(1w(I[a])=="14"){I[a]=1p.4t(a)}12 I[a]};3 K=5(a){12 B+y[a]};3 L=5(a){3 b=a;3 c=$(b).18("1j");12 c};3 M=5(a){3 b=$("#"+B+" 2T:11");4(b.1c>1){1D(3 i=0;i<b.1c;i++){4(a==b[i].1i){12 6}}}19 4(b.1c==1){4(b[0].1i==a){12 6}};12 15};3 N=5(a,b,c,d){3 e="";3 f=(d=="2U")?K("2M"):K("2L");3 g=(d=="2U")?f+"2V"+(b)+"2V"+(c):f+"2V"+(b);3 h="";3 i="";4(q.1N!=15){i=\' \'+q.1N+\' \'+a.3w}19{h=$(a).18("1X");h=(h.1c==0)?"":\'<3x 3y="\'+h+\'" 3z="3A" /> \'};3 j=$(a).1q();3 k=$(a).4u();3 l=($(a).18("1k")==6)?"1k":"2W";E[g]={1I:h+j,2b:k,1q:j,1i:a.1i,1b:g};3 m=L(a);4(M(a.1i)==6){e+=\'<a 3B="3C:3D(0);" 1r="\'+z.11+\' \'+l+i+\'"\'}19{e+=\'<a  3B="3C:3D(0);" 1r="\'+l+i+\'"\'};4(m!==15&&m!==14){e+=" 1j=\'"+m+"\'"};e+=\' 1b="\'+g+\'">\';e+=h+\'<1x 1r="\'+z.1t+\'">\'+j+\'</1x></a>\';12 e};3 O=5(t){3 b=t.3E();4(b.1c==0)12-1;3 a="";1D(3 i 2c E){3 c=E[i].1q.3E();4(c.3F(0,b.1c)==b){a+="#"+E[i].1b+", "}};12(a=="")?-1:a};3 P=5(){3 f=D;4(f.1c==0)12"";3 g="";3 h=K("2L");3 i=K("2M");f.2X(5(c){3 d=f[c];4(d.4v=="4w"){g+="<1y 1r=\'4x\'>";g+="<1x 1j=\'3G-4y:4z;3G-1j:4A; 4B:4C;\'>"+$(d).18("4D")+"</1x>";3 e=$(d).3v();e.2X(5(a){3 b=e[a];g+=N(b,c,a,"2U")});g+="</1y>"}19{g+=N(d,c,"","")}});12 g};3 Q=5(){3 a=K("1O");3 b=K("1h");3 c=q.1j;1Y="";1Y+=\'<1y 1b="\'+b+\'" 1r="\'+z.2P+\'"\';4(!x){1Y+=(c!="")?\' 1j="\'+c+\'"\':\'\'}19{1Y+=(c!="")?\' 1j="2C-1m:4E 4F #4G;1s:2d;1n:2Y;\'+c+\'"\':\'\'};1Y+=\'>\';12 1Y};3 R=5(){3 a=K("1H");3 b=K("2u");3 c=K("29");3 d=K("3s");3 e="";3 f="";4(J(B).1E.1c>0){e=$("#"+B+" 2T:11").1q();f=$("#"+B+" 2T:11").18("1X")};f=(f.1c==0||f==14||q.1U==15||q.1N!=15)?"":\'<3x 3y="\'+f+\'" 3z="3A" /> \';3 g=\'<1y 1b="\'+a+\'" 1r="\'+z.2N+\'"\';g+=\'>\';g+=\'<1x 1b="\'+b+\'" 1r="\'+z.2O+\'"></1x><1x 1r="\'+z.1t+\'" 1b="\'+c+\'">\'+f+\'<1x 1r="\'+z.1t+\'">\'+e+\'</1x></1x></1y>\';12 g};3 S=5(){3 c=K("1h");$("#"+c+" a.2W").1J("1P");$("#"+c+" a.2W").1e("1P",5(a){a.1Z();V(1a);21();4(!x){$("#"+c).1J("1B");X(15);3 b=(q.1U==15)?$(1a).1q():$(1a).1I();1T(b);s.2e()}})};3 T=5(){3 d=15;3 e=K("1O");3 f=K("1H");3 g=K("29");3 h=K("1h");3 i=K("2u");3 j=$("#"+B).2Z();j=j+2;3 k=q.1j;4($("#"+e).1c>0){$("#"+e).2D();d=6};3 l=\'<1y 1b="\'+e+\'" 1r="\'+z.28+\'"\';l+=(k!="")?\' 1j="\'+k+\'"\':\'\';l+=\'>\';l+=R();l+=Q();l+=P();l+="</1y>";l+="</1y>";4(d==6){3 m=K("2K");$("#"+m).31(l)}19{$("#"+B).31(l)};4(x){3 f=K("1H");$("#"+f).2f()};$("#"+e).9("2Z",j+"1z");$("#"+h).9("2Z",(j-2)+"1z");4(D.1c>q.2q){3 n=2g($("#"+h+" a:3H").9("2h-3I"))+2g($("#"+h+" a:3H").9("2h-1m"));3 o=((q.3o)*q.2q)-n;$("#"+h).9("1d",o+"1z")}19 4(x){3 o=$("#"+B).1d();$("#"+h).9("1d",o+"1z")};4(d==15){3J();W(B)};4($("#"+B).18("1k")==6){$("#"+e).9("2E",z.1k)};Z();$("#"+f).1e("1B",5(a){32(1)});$("#"+f).1e("1Q",5(a){32(0)});S();$("#"+h+" a.1k").9("2E",z.1k);4(x){$("#"+h).1e("1B",5(c){4(!v.2s){v.2s=6;$(1p).1e("1W",5(a){3 b=a.3K;v.2t=b;4(b==39||b==40){a.1Z();a.2i();33();21()};4(b==37||b==38){a.1Z();a.2i();34();21()}})}})};$("#"+h).1e("1Q",5(a){X(15);$(1p).1J("1W");v.2s=15;v.2t=1o});$("#"+f).1e("1P",5(b){X(15);4($("#"+h+":2j").1c==1){$("#"+h).1J("1B")}19{$("#"+h).1e("1B",5(a){X(6)});s.3L()}});$("#"+f).1e("1Q",5(a){X(15)});4(q.1U&&q.1N!=15){2k()}};3 U=5(a){1D(3 i 2c E){4(E[i].1i==a){12 E[i]}};12-1};3 V=5(a){3 b=K("1h");4($("#"+b+" a."+z.11).1c==1){u=$("#"+b+" a."+z.11).1q()};4(!x){$("#"+b+" a."+z.11).1K(z.11)};3 c=$("#"+b+" a."+z.11).18("1b");4(c!=14){3 d=(v.22==14||v.22==1o)?E[c].1i:v.22};4(a&&!x){$(a).1F(z.11)};4(x){3 e=v.2t;4($("#"+B).18("1v")==6){4(e==17){v.22=E[$(a).18("1b")].1i;$(a).4H(z.11)}19 4(e==16){$("#"+b+" a."+z.11).1K(z.11);$(a).1F(z.11);3 f=$(a).18("1b");3 g=E[f].1i;1D(3 i=35.4I(d,g);i<=35.4J(d,g);i++){$("#"+U(i).1b).1F(z.11)}}19{$("#"+b+" a."+z.11).1K(z.11);$(a).1F(z.11);v.22=E[$(a).18("1b")].1i}}19{$("#"+b+" a."+z.11).1K(z.11);$(a).1F(z.11);v.22=E[$(a).18("1b")].1i}}};3 W=5(a){3 b=a;J(b).4K=5(e){$("#"+b).1S(q)}};3 X=5(a){v.2J=a};3 Y=5(){12 v.2J};3 Z=5(){3 b=K("1O");3 c=A.3t.4L(",");1D(3 d=0;d<c.1c;d++){3 e=c[d];3 f=24(e);4(f==6){2F(e){1f"2x":$("#"+b).1e("4M",5(a){J(B).2x()});1g;1f"1P":$("#"+b).1e("1P",5(a){$("#"+B).1G("1P")});1g;1f"2y":$("#"+b).1e("2y",5(a){$("#"+B).1G("2y")});1g;1f"2z":$("#"+b).1e("2z",5(a){$("#"+B).1G("2z")});1g;1f"1u":$("#"+b).1e("1u",5(a){$("#"+B).1G("1u")});1g;1f"1B":$("#"+b).1e("1B",5(a){$("#"+B).1G("1B")});1g;1f"2A":$("#"+b).1e("2A",5(a){$("#"+B).1G("2A")});1g;1f"1Q":$("#"+b).1e("1Q",5(a){$("#"+B).1G("1Q")});1g}}}};3 3J=5(){3 a=K("2K");$("#"+B).31("<1y 1r=\'"+z.2a+"\' 1j=\'1d:3M;3N:3O;1n:36;\' 1b=\'"+a+"\'></1y>");$("#"+B).4N($("#"+a))};3 1T=5(a){3 b=K("29");$("#"+b).1I(a)};3 3a=5(w){3 a=w;3 b=K("1h");3 c=$("#"+b+" a:2j");3 d=c.1c;3 e=$("#"+b+" a:2j").1i($("#"+b+" a.11:2j"));3 f;2F(a){1f"3b":4(e<d-1){e++;f=c[e]};1g;1f"3P":4(e<d&&e>0){e--;f=c[e]};1g};4(1w(f)=="14"){12 15};$("#"+b+" a."+z.11).1K(z.11);$(f).1F(z.11);3 g=f.1b;4(!x){3 h=(q.1U==15)?E[g].1q:$("#"+g).1I();1T(h);2k(E[g].1i)};4(a=="3b"){4(2g(($("#"+g).1n().1m+$("#"+g).1d()))>=2g($("#"+b).1d())){$("#"+b).2l(($("#"+b).2l())+$("#"+g).1d()+$("#"+g).1d())}}19{4(2g(($("#"+g).1n().1m+$("#"+g).1d()))<=0){$("#"+b).2l(($("#"+b).2l()-$("#"+b).1d())-$("#"+g).1d())}}};3 33=5(){3a("3b")};3 34=5(){3a("3P")};3 2k=5(i){4(q.1N!=15){3 a=K("29");3 b=(1w(i)=="14")?J(B).1l:i;3 c=J(B).1E[b].3w;4(c.1c>0){3 d=K("1h");3 e=$("#"+d+" a."+c).18("1b");3 f=$("#"+e).9("2m-4O");3 g=$("#"+e).9("2m-1n");3 h=$("#"+e).9("2h-3Q");4(f!=14){$("#"+a).2n("."+z.1t).2B(\'1j\',"2m:"+f)};4(g!=14){$("#"+a).2n("."+z.1t).9(\'2m-1n\',g)};4(h!=14){$("#"+a).2n("."+z.1t).9(\'2h-3Q\',h)};$("#"+a).2n("."+z.1t).9(\'2m-3R\',\'4P-3R\');$("#"+a).2n("."+z.1t).9(\'2h-3I\',\'4Q\')}}};3 21=5(){3 a=K("1h");3 b=$("#"+a+" a."+z.11);4(b.1c==1){3 c=$("#"+a+" a."+z.11).1q();3 d=$("#"+a+" a."+z.11).18("1b");4(d!=14){3 e=E[d].2b;J(B).1l=E[d].1i};4(q.1U&&q.1N!=15)2k()}19 4(b.1c>1){1D(3 i=0;i<b.1c;i++){3 d=$(b[i]).18("1b");3 f=E[d].1i;J(B).1E[f].11="11"}};3 g=J(B).1l;s.1V["1l"]=g};3 24=5(a){4($("#"+B).18("4R"+a)!=14){12 6};3 b=$("#"+B).3c("4S");4(b&&b[a]){12 6};12 15};3 3S=5(){3 b=K("1h");4(24(\'2R\')==6){3 c=E[$("#"+b+" a.11").18("1b")].1q;4($.3T(u)!==$.3T(c)&&u!==""){$("#"+B).1G("2R")}};4(24(\'1u\')==6){$("#"+B).1G("1u")};4(24(\'2Q\')==6){$(1p).1e("1u",5(a){$("#"+B).2x();$("#"+B)[0].2Q();21();$(1p).1J("1u")})}};3 32=5(a){3 b=K("2u");4(a==1)$("#"+b).9({3U:\'0 4T%\'});19 $("#"+b).9({3U:\'0 0\'})};3 3V=5(){1D(3 i 2c J(B)){4(1w(J(B)[i])!=\'5\'&&J(B)[i]!==14&&J(B)[i]!==1o){s.1A(i,J(B)[i],6)}}};3 3W=5(a,b){4(U(b)!=-1){J(B)[a]=b;3 c=K("1h");$("#"+c+" a."+z.11).1K(z.11);$("#"+U(b).1b).1F(z.11);3 d=U(J(B).1l).1I;1T(d)}};3 3X=5(i,a){4(a==\'d\'){1D(3 b 2c E){4(E[b].1i==i){4U E[b];1g}}};3 c=0;1D(3 b 2c E){E[b].1i=c;c++}};3 2G=5(){3 a=K("1h");3 b=K("1O");3 c=$("#"+b).1n();3 d=$("#"+b).1d();3 e=$(3Y).1d();3 f=$(3Y).2l();3 g=$("#"+a).1d();3 h={1M:q.1M,1m:(c.1m+d)+"1z",1s:"2o"};3 i=q.3q;3 j=15;3 k=z.2w;$("#"+a).1K(z.2w);$("#"+a).1K(z.2v);4((e+f)<35.4V(g+d+c.1m)){3 l=c.1m-g;4((c.1m-g)<0){l=10};h={1M:q.1M,1m:l+"1z",1s:"2o"};i="25";j=6;k=z.2v};12{3d:j,3Z:i,9:h,2C:k}};3 3e=5(){4(s.1R["41"]!=1o){2H(s.1R["41"])(s)}};3 3f=5(){3S();4(s.1R["42"]!=1o){2H(s.1R["42"])(s)}};1a.3L=5(){4((s.26("1k",6)==6)||(s.26("1E",6).1c==0))12;3 e=K("1h");4(1L!=""&&e!=1L){$("#"+1L).43("3g");$("#"+1L).9({1M:\'0\'})};4($("#"+e).9("1s")=="2o"){u=E[$("#"+e+" a.11").18("1b")].1q;3 f="";H=$("#"+e).1d();$("#"+e+" a").25();$(1p).1e("1W",5(a){3 b=a.3K;4(b==8){a.1Z();a.2i();f=(f.1c==0)?"":f.3F(0,f.1c-1)};2F(b){1f 39:1f 40:a.1Z();a.2i();33();1g;1f 37:1f 38:a.1Z();a.2i();34();1g;1f 27:1f 13:s.2e();21();1g;44:4(b>46){f+=4W.4X(b)};3 c=O(f);4(c!=-1){$("#"+e).9({1d:\'4Y\'});$("#"+e+" a").2f();$(c).25();3 d=2G();$("#"+e).9(d.9);$("#"+e).9({1s:\'2d\'})}19{$("#"+e+" a").25();$("#"+e).9({1d:H+\'1z\'})};1g};4(24("1W")==6){J(B).4Z()}});$(1p).1e("2S",5(a){4($("#"+B).18("45")!=14){J(B).45()}});$(1p).1e("1u",5(a){4(Y()==15){s.2e()}});3 g=2G();$("#"+e).9(g.9);4(g.3d==6){$("#"+e).9({1s:\'2d\'});$("#"+e).1F(g.2C);3e()}19{$("#"+e)[g.3Z]("3g",5(){$("#"+e).1F(g.2C);3e()})};4(e!=1L){1L=e}}};1a.2e=5(){3 b=K("1h");3 c=$("#"+K("1H")).1n().1m;3 d=2G();G=15;4(d.3d==6){$("#"+b).50({1d:0,1m:c},5(){$("#"+b).9({1d:H+\'1z\',1s:\'2o\'});3f()})}19{$("#"+b).43("3g",5(a){3f();$("#"+b).9({1M:\'0\'});$("#"+b).9({1d:H+\'1z\'})})};2k();$(1p).1J("1W");$(1p).1J("2S");$(1p).1J("1u")};1a.1l=5(i){4(1w(i)=="14"){12 s.26("1l")}19{s.1A("1l",i)}};1a.51=5(a){4(1w(a)=="14"||a==6){$("."+z.2a).52("1j")}19{$("."+z.2a).2B("1j","1d:3M;3N:3O;1n:36")}};1a.1A=5(a,b,c){4(a==14||b==14)47{48:"1A 53 54?"};s.1V[a]=b;4(c!=6){2F(a){1f"1l":3W(a,b);1g;1f"1k":s.1k(b,6);1g;1f"1v":J(B)[a]=b;x=($(r).18("1C")>0||$(r).18("1v")==6)?6:15;4(x){3 d=$("#"+B).1d();3 f=K("1h");$("#"+f).9("1d",d+"1z");3 g=K("1H");$("#"+g).2f();3 f=K("1h");$("#"+f).9({1s:\'2d\',1n:\'2Y\'});S()};1g;1f"1C":J(B)[a]=b;4(b==0){J(B).1v=15};x=($(r).18("1C")>0||$(r).18("1v")==6)?6:15;4(b==0){3 g=K("1H");$("#"+g).25();3 f=K("1h");$("#"+f).9({1s:\'2o\',1n:\'36\'});3 h="";4(J(B).1l>=0){3 i=U(J(B).1l);h=i.1I;V($("#"+i.1b))};1T(h)}19{3 g=K("1H");$("#"+g).2f();3 f=K("1h");$("#"+f).9({1s:\'2d\',1n:\'2Y\'})};1g;44:55{J(B)[a]=b}56(e){};1g}}};1a.26=5(a,b){4(a==14&&b==14){12 s.1V};4(a!=14&&b==14){12(s.1V[a]!=14)?s.1V[a]:1o};4(a!=14&&b!=14){12 J(B)[a]}};1a.2j=5(a){3 b=K("1O");4(a==6){$("#"+b).25()}19 4(a==15){$("#"+b).2f()}19{12 $("#"+b).9("1s")}};1a.57=5(a,b){3 c=a;3 d=c.1q;3 e=(c.2b==14||c.2b==1o)?d:c.2b;3 f=(c["1X"]==14||c["1X"]==1o)?\'\':c["1X"];3 i=(b==14||b==1o)?J(B).1E.1c:b;J(B).1E[i]=2r 58(d,e);4(f!=\'\')J(B).1E[i]["1X"]=f;3 g=U(i);4(g!=-1){3 h=N(J(B).1E[i],i,"","");$("#"+g.1b).1I(h)}19{3 h=N(J(B).1E[i],i,"","");3 j=K("1h");$("#"+j).59(h);S()}};1a.2D=5(i){J(B).2D(i);4((U(i))!=-1){$("#"+U(i).1b).2D();3X(i,\'d\')};4(J(B).1c==0){1T("")}19{3 a=U(J(B).1l).1I;1T(a)};s.1A("1l",J(B).1l)};1a.1k=5(a,b){J(B).1k=a;3 c=K("1O");4(a==6){$("#"+c).9("2E",z.1k);s.2e()}19 4(a==15){$("#"+c).9("2E",1)};4(b!=6){s.1A("1k",a)}};1a.3h=5(){12(J(B).3h==14)?1o:J(B).3h};1a.3i=5(){4(2p.1c==1){12 J(B).3i(2p[0])}19 4(2p.1c==2){12 J(B).3i(2p[0],2p[1])}19{47{48:"5a 1i 5b 5c!"}}};1a.49=5(a){12 J(B).49(a)};1a.1v=5(a){4(1w(a)=="14"){12 s.26("1v")}19{s.1A("1v",a)}};1a.1C=5(a){4(1w(a)=="14"){12 s.26("1C")}19{s.1A("1C",a)}};1a.5d=5(a,b){s.1R[a]=b};1a.5e=5(a){2H(s.1R[a])(s)};3 4a=5(){s.1A("3j",$.1S.3j);s.1A("3k",$.1S.3k)};3 4b=5(){T();3V();4a();4(q.2I!=\'\'){2H(q.2I)(s)}};4b()};$.1S={3j:2.37,3k:"5f 5g",3u:20,5h:5(a,b){12 $(a).1S(b).3c("28")}};$.3l.3n({1S:5(b){12 1a.2X(5(){3 a=2r 3m(1a,b);$(1a).3c(\'28\',a)})}});4(1w($.3l.18)==\'14\'){$.3l.18=5(w){12 $(1a).2B(w)}}})(5i);',62,329,'|||var|if|function|true|||css||||||||||||||||||||||||||||||||||||||||||||||||||||||selected|return||undefined|false|||prop|else|this|id|length|height|bind|case|break|postChildID|index|style|disabled|selectedIndex|top|position|null|document|text|class|display|ddTitleText|mouseup|multiple|typeof|span|div|px|set|mouseover|size|for|options|addClass|trigger|postTitleID|html|unbind|removeClass|bs|zIndex|useSprite|postID|click|mouseout|onActions|msDropDown|bv|showIcon|ddProp|keydown|title|sDiv|preventDefault||bA|oldIndex||bB|show|get||dd|postTitleTextID|ddOutOfVision|value|in|block|close|hide|parseInt|padding|stopPropagation|visible|bz|scrollTop|background|find|none|arguments|visibleRows|new|keyboardAction|currentKey|postArrowID|borderTop|noBorderTop|focus|dblclick|mousedown|mousemove|attr|border|remove|opacity|switch|bH|eval|onInit|insideWindow|postElementHolder|postAID|postOPTAID|ddTitle|arrow|ddChild|blur|change|keyup|option|opt|_|enabled|each|relative|width||after|bD|bx|by|Math|absolute||||bw|next|data|opp|bI|bJ|fast|form|item|version|author|fn|bt|extend|rowHeight|mainCSS|animStyle|Object|postInputhidden|actions|counter|children|className|img|src|align|absmiddle|href|javascript|void|toLowerCase|substr|font|first|bottom|bu|keyCode|open|0px|overflow|hidden|previous|left|repeat|bC|trim|backgroundPosition|bE|bF|bG|window|ani||onOpen|onClose|slideUp|default|onkeyup||throw|message|namedItem|bK|bL|120|9999|slideDown|_msddHolder|_msdd|_title|_titletext|_child|_msa|_msopta|postInputID|_msinput|_arrow|_inp|keypress|tabindex|msdrpdd|getElementById|val|nodeName|OPTGROUP|opta|weight|bold|italic|clear|both|label|1px|solid|c3c3c3|toggleClass|min|max|refresh|split|mouseenter|appendTo|image|no|2px|on|events|100|delete|floor|String|fromCharCode|auto|onkeydown|animate|debug|removeAttr|to|what|try|catch|add|Option|append|An|is|required|addMyEvent|fireEvent|Marghoob|Suleman|create|jQuery'.split('|'),0,{}))
+\ No newline at end of file
+diff -up cacti-0.8.8a/include/js/jquery/jquery.dropdown.js.legal cacti-0.8.8a/include/js/jquery/jquery.dropdown.js
+--- cacti-0.8.8a/include/js/jquery/jquery.dropdown.js.legal    2013-01-04 15:44:38.032416068 -0500
++++ cacti-0.8.8a/include/js/jquery/jquery.dropdown.js  2013-01-04 15:43:12.644377988 -0500
+@@ -0,0 +1,227 @@
++/*
++ +-------------------------------------------------------------------------+
++ | Copyright (C) 2004-2013 The Cacti Group                                 |
++ |                                                                         |
++ | This program is free software; you can redistribute it and/or           |
++ | modify it under the terms of the GNU General Public License             |
++ | as published by the Free Software Foundation; either version 2          |
++ | of the License, or (at your option) any later version.                  |
++ |                                                                         |
++ | This program is distributed in the hope that it will be useful,         |
++ | but WITHOUT ANY WARRANTY; without even the implied warranty of          |
++ | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the           |
++ | GNU General Public License for more details.                            |
++ +-------------------------------------------------------------------------+
++ | Cacti: The Complete RRDTool-based Graphing Solution                     |
++ +-------------------------------------------------------------------------+
++ | This code is designed, written, and maintained by the Cacti Group. See  |
++ | about.php and/or the AUTHORS file for specific developer information.   |
++ +-------------------------------------------------------------------------+
++ | http://www.cacti.net/                                                   |
++ +-------------------------------------------------------------------------+
++*/
++
++(function($){
++ $.fn.DropDownMenu = function(options) {
++
++      var defaults = {
++              title:                  false,
++              subtitle:               false,
++              name:                   'myName',
++              maxHeight:              300,
++              width:                  'auto',
++              timeout:                500,
++              auto_close:     10000,
++              html:                   '<h6>empty</h6>',
++              offsetX:                0,
++              offsetY:                0,
++              simultaneous:   false,
++              textAlign:              'left'
++      };
++
++      var timerref            = null;
++      var menu                        = null;
++      var menuHeight          = 0;
++      var options             = $.extend(defaults, options);
++      var contentHeight       = 0;
++
++      /* do nothing if requested menu is still loaded */
++      if($('#' + options.name).is(":visible")) { return; }
++
++      /* remove all open menus from DOM if they should not stay in front at the same time */
++      var oldMenus = $(".cacti_dd_menu");
++      if(options.simultaneous == false) {
++              oldMenus.css({'overflow-y':'hidden'}).slideUp('200');
++              oldMenus.queue(function () {
++                      oldMenus.remove();
++                      oldMenus.dequeue();
++              });
++      }
++
++      return this.each(function() {
++              obj = $(this);
++              newMenu = _init_menu(obj);
++              _open_menu(newMenu);
++      });
++
++      function _init_menu(initiator){
++              /* create the main menu structure */
++              $("<div id='" + options.name + "' style='display: none;' class='cacti_dd_menu ui-widget ui-corner-all'>"
++                      + "<div id='" + options.name + "_title' class='title ui-state-default ui-corner-top'><h6>" + options.title + "</h6></div>"
++                      + "<div id='" + options.name + "_back' class='back ui-state-active'></div>"
++                      + "<div id='" + options.name + "_content' class='content ui-widget-content ui-state-highlight " + ((options.subtitle !== false) ? "" : "ui-corner-bottom" ) + "'></div>"
++                      + "<div id='" + options.name + "_subtitle' class='subtitle ui-state-default ui-corner-bottom'><h6>" + options.subtitle + "</h6></div>"
++                      + "<div id='" + options.name + "_html' class='html'></div>"
++              + "</div>").appendTo("body");
++
++              /* define references to the menu and its different sections */
++              menu                    = $('#' + options.name);
++              menu_head               = $('#' + options.name + '_title');
++              menu_content    = $('#' + options.name + '_content');
++              menu_back               = $('#' + options.name + '_back');
++              menu_subhead    = $('#' + options.name + '_subtitle');
++              menu_html               = $('#' + options.name + '_html');
++
++              /* while div container "myName_html" holds the raw data ... */
++              menu_html.append(options.html);
++              i=1;
++              menu_html.find("h6:has(div)").each(function() {
++                      var subMenu = $(this);
++                      var subMenuClass = options.name + '_' + i;
++                      var subMenuTitle = subMenu.find('a:first').html();
++                      subMenu.addClass(subMenuClass);
++                      $('.'+subMenuClass).die().live("click", function(){ _switch_layer( subMenuClass); } );
++                      subMenu.children("div").hide();
++                      subMenu.find('a:first').html('<span style="float:left; min-width:80%;">' + subMenuTitle + '</span><span class="ui-icon ui-icon-triangle-1-e" style="float:right;"></span>');
++                      i++;
++              });
++
++              /* ... "myName_content" will have the visible menu data */
++              menu_content.append(menu_html.html());
++
++              /* if necessary show title, subtitle ... */
++              if(options.title        !== false) { menu_head.show(); }
++              if(options.subtitle !== false) { menu_subhead.show(); }
++
++              /* make content visible */
++              menu_content.show();
++
++              /* reduce height to a minimum for best fit */
++              menuHeight = (menu.outerHeight() > options.maxHeight) ? options.maxHeight : menu.outerHeight();
++
++              /* set the width to a fixed value */
++              if(!isNaN(parseInt(options.width))) {
++                      menu.css({
++                              'min-width' : options.width + 'px',
++                              'max-width' : options.width + 'px'
++                      });
++                      menu.width(options.width);
++              }else {
++                      // use real width plus 15 percent
++                      var width = menu.outerWidth(true)*1.15;
++                      menu.css({
++                              'min-width' : width + 'px',
++                              'max-width' : width + 'px'
++                      });
++                      menu.width(width);
++              }
++
++              /* default position of the menu container */
++              menu.css({
++                      // x-position in relation to the initiator
++                      'left'  : initiator.offset().left + options.offsetX + 'px',
++                      // y-position in relation to the initiator
++                      'top'   : initiator.offset().top + initiator.height() + options.offsetY + 'px'
++              });
++
++              /* change the orientation from right to left if width exceeds the windows size */
++              if((initiator.offset().left + initiator.width() + options.offsetX + menu.outerWidth(true)) > $(window).width()) {
++                      menu.css({'left' : (initiator.offset().left + initiator.width() - menu.outerWidth(true)) + 'px'});
++              }
++
++              menu.css({'height':0, 'text-align':options.textAlign});
++              menu.bind('mouseover', _cancel_timer);
++              menu.bind('mouseout', _set_timer);
++              return menu;
++      }
++
++
++      function _switch_layer(subMenuClass){
++              if(subMenuClass == null) {
++                      var content = menu_html;
++                      menu_back.empty().hide();
++                      menu_content.height(contentHeight);
++              }else {
++                      var content = menu_html.find('.' + subMenuClass + ' div:first');
++                      menu_back.show();
++              }
++
++              parentClass = menu_html.find('.' + subMenuClass).parents('h6').attr('class');
++
++              menu_back.empty().append( menu_html.find('.' + subMenuClass + ' a:first').html() );
++              menu_back.find('span:last').removeClass('ui-icon-triangle-1-e').addClass('ui-icon-triangle-1-s');
++              menu_back.unbind('click').click( function() { _switch_layer( parentClass); });
++
++              menu_content.empty().append(content.html());
++
++              /* re-calculate content height */
++              if(subMenuClass != null) {
++                              menu_head_height        = menu_head.is(":visible")              ? menu_head.outerHeight()               : 0;
++                              menu_back_height        = menu_back.is(":visible")              ? menu_back.outerHeight()               : 0;
++                              menu_subhead_height     = menu_subhead.is(":visible")   ? menu_subhead.outerHeight()    : 0;
++
++                              menu_content.height(menuHeight - menu_head_height - menu_back_height - menu_subhead_height);
++              }
++
++              /* return false to suppress unwanted click events*/
++              return false;
++      }
++
++      function _set_timer(timer){
++                      timer = ( typeof(timer) != 'number' ) ? options.timeout : timer;
++                      timerref = window.setTimeout( _close_menu, timer);
++      }
++
++      function _cancel_timer() {
++              if(timerref) {
++                      window.clearTimeout(timerref);
++                      timerref = null;
++              }
++      }
++
++      function _close_menu(){
++              menu = $('#' + options.name);
++              menu.slideUp(menuHeight*3);
++              menu.queue(function () {
++                      menu.remove();
++                      menu.dequeue();
++              });
++      }
++
++      function _open_menu(obj){
++              //wait until oldMenu is completey closed before opening a new one
++              var wait = setInterval(function() {
++                      if( !oldMenus.is(":animated") ) {
++                              clearInterval(wait);
++                              obj.show().animate({height: menuHeight}, menuHeight*3);
++
++                              //setup contentHeight;
++                              menu_head_height        = menu_head.is(":visible")              ? menu_head.outerHeight()               : 0;
++                              menu_back_height        = menu_back.is(":visible")              ? menu_back.outerHeight()               : 0;
++                              menu_subhead_height     = menu_subhead.is(":visible")   ? menu_subhead.outerHeight()    : 0;
++
++                              menu_content.height(menuHeight - menu_head_height - menu_back_height - menu_subhead_height);
++
++                              contentHeight = $('#' + options.name + '_content').height();
++                              $('#' + options.name + '_content').css({'overflow-y':'auto'});
++
++                              obj.find('h6').eq(0).focus();
++                              if(options.auto_close !== false) {
++                                      _set_timer(options.auto_close);
++                              }
++                      }
++              }, 200);
++      }
++
++ };
++})(jQuery);
+\ No newline at end of file
+diff -up cacti-0.8.8a/include/js/jquery/jquery.js.legal cacti-0.8.8a/include/js/jquery/jquery.js
+--- cacti-0.8.8a/include/js/jquery/jquery.js.legal     2013-01-04 15:44:38.035416071 -0500
++++ cacti-0.8.8a/include/js/jquery/jquery.js   2013-01-04 15:43:12.644377988 -0500
+@@ -0,0 +1,4 @@
++/*! jQuery v1.7.1 jquery.com | jquery.org/license */
++(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!ck[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>"),cm.close();d=cm.createElement(a),cm.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cl)}ck[a]=e}return ck[a]}function cu(a,b){var c={};f.each(cq.concat.apply([],cq.slice(0,b)),function(){c[this]=a});return c}function ct(){cr=b}function cs(){setTimeout(ct,0);return cr=f.now()}function cj(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ci(){try{return new a.XMLHttpRequest}catch(b){}}function cc(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function cb(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function ca(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bE.test(a)?d(a,e):ca(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e in b)ca(a+"["+e+"]",b[e],c,d);else d(a,b)}function b_(a,c){var d,e,g=f.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((g[d]?a:e||(e={}))[d]=c[d]);e&&f.extend(!0,a,e)}function b$(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bT,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=b$(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=b$(a,c,d,e,"*",g));return l}function bZ(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bP),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bC(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?bx:by,g=0,h=e.length;if(d>0){if(c!=="border")for(;g<h;g++)c||(d-=parseFloat(f.css(a,"padding"+e[g]))||0),c==="margin"?d+=parseFloat(f.css(a,c+e[g]))||0:d-=parseFloat(f.css(a,"border"+e[g]+"Width"))||0;return d+"px"}d=bz(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0;if(c)for(;g<h;g++)d+=parseFloat(f.css(a,"padding"+e[g]))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+e[g]+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+e[g]))||0);return d+"px"}function bp(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bf,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bo(a){var b=c.createElement("div");bh.appendChild(b),b.innerHTML=a.outerHTML;return b.firstChild}function bn(a){var b=(a.nodeName||"").toLowerCase();b==="input"?bm(a):b!=="script"&&typeof a.getElementsByTagName!="undefined"&&f.grep(a.getElementsByTagName("input"),bm)}function bm(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bl(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bk(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bj(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c,d,e,g=f._data(a),h=f._data(b,g),i=g.events;if(i){delete h.handle,h.events={};for(c in i)for(d=0,e=i[c].length;d<e;d++)f.event.add(b,c+(i[c][d].namespace?".":"")+i[c][d].namespace,i[c][d],i[c][d].data)}h.data&&(h.data=f.extend({},h.data))}}function bi(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function U(a){var b=V.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function T(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(O.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?parseFloat(d):j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c<d;c++)b[a[c]]=!0;return b}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:G?function(a){return a==null?"":G.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?E.call(c,a):e.merge(c,a)}return c},inArray:function(a,b,c){var d;if(b){if(H)return H.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=F.call(arguments,2),g=function(){return a.apply(c,f.concat(F.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){var i=a.length;if(typeof c=="object"){for(var j in c)e.access(a,j,c[j],f,g,d);return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;k<i;k++)g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){I["[object "+b+"]"]=b.toLowerCase()}),z=e.uaMatch(y),z.browser&&(e.browser[z.browser]=!0,e.browser.version=z.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?B=function(){c.removeEventListener("DOMContentLoaded",B,!1),e.ready()}:c.attachEvent&&(B=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",B),e.ready())});return e}(),g={};f.Callbacks=function(a){a=a?g[a]||h(a):{};var c=[],d=[],e,i,j,k,l,m=function(b){var d,e,g,h,i;for(d=0,e=b.length;d<e;d++)g=b[d],h=f.type(g),h==="array"?m(g):h==="function"&&(!a.unique||!o.has(g))&&c.push(g)},n=function(b,f){f=f||[],e=!a.memory||[b,f],i=!0,l=j||0,j=0,k=c.length;for(;c&&l<k;l++)if(c[l].apply(b,f)===!1&&a.stopOnFalse){e=!0;break}i=!1,c&&(a.once?e===!0?o.disable():c=[]:d&&d.length&&(e=d.shift(),o.fireWith(e[0],e[1])))},o={add:function(){if(c){var a=c.length;m(arguments),i?k=c.length:e&&e!==!0&&(j=a,n(e[0],e[1]))}return this},remove:function(){if(c){var b=arguments,d=0,e=b.length;for(;d<e;d++)for(var f=0;f<c.length;f++)if(b[d]===c[f]){i&&f<=k&&(k--,f<=l&&l--),c.splice(f--,1);if(a.unique)break}}return this},has:function(a){if(c){var b=0,d=c.length;for(;b<d;b++)if(a===c[b])return!0}return!1},empty:function(){c=[];return this},disable:function(){c=d=e=b;return this},disabled:function(){return!c},lock:function(){d=b,(!e||e===!0)&&o.disable();return this},locked:function(){return!d},fireWith:function(b,c){d&&(i?a.once||d.push([b,c]):(!a.once||!e)&&n(b,c));return this},fire:function(){o.fireWith(this,arguments);return this},fired:function(){return!!e}};return o};var i=[].slice;f.extend({Deferred:function(a){var b=f.Callbacks("once memory"),c=f.Callbacks("once memory"),d=f.Callbacks("memory"),e="pending",g={resolve:b,reject:c,notify:d},h={done:b.add,fail:c.add,progress:d.add,state:function(){return e},isResolved:b.fired,isRejected:c.fired,then:function(a,b,c){i.done(a).fail(b).progress(c);return this},always:function(){i.done.apply(i,arguments).fail.apply(i,arguments);return this},pipe:function(a,b,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[b,"reject"],progress:[c,"notify"]},function(a,b){var c=b[0],e=b[1],g;f.isFunction(c)?i[a](function(){g=c.apply(this,arguments),g&&f.isFunction(g.promise)?g.promise().then(d.resolve,d.reject,d.notify):d[e+"With"](this===i?d:this,[g])}):i[a](d[e])})}).promise()},promise:function(a){if(a==null)a=h;else for(var b in h)a[b]=h[b];return a}},i=h.promise({}),j;for(j in g)i[j]=g[j].fire,i[j+"With"]=g[j].fireWith;i.done(function(){e="resolved"},c.disable,d.lock).fail(function(){e="rejected"},b.disable,d.lock),a&&a.call(i,i);return i},when:function(a){function m(a){return function(b){e[a]=arguments.length>1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c<d;c++)b[c]&&b[c].promise&&f.isFunction(b[c].promise)?b[c].promise().then(l(c),j.reject,m(c)):--g;g||j.resolveWith(j,b)}else j!==a&&j.resolveWith(j,d?[a]:[]);return k}}),f.support=function(){var b,d,e,g,h,i,j,k,l,m,n,o,p,q=c.createElement("div"),r=c.documentElement;q.setAttribute("className","t"),q.innerHTML="   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:q.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];!r||(j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o="<div "+n+"><div></div></div>"+"<table "+n+" cellpadding='0' cellspacing='0'>"+"<tr><td></td></tr></table>",a=c.createElement("div"),a.style.cssText=m+"width:0;height:0;position:static;top:0;margin-top:"+j+"px",r.insertBefore(a,r.firstChild),q=c.createElement("div"),a.appendChild(q),q.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",l=q.getElementsByTagName("td"),p=l[0].offsetHeight===0,l[0].style.display="",l[1].style.display="none",b.reliableHiddenOffsets=p&&l[0].offsetHeight===0,q.innerHTML="",q.style.width=q.style.paddingLeft="1px",f.boxModel=b.boxModel=q.offsetWidth===2,typeof q.style.zoom!="undefined"&&(q.style.display="inline",q.style.zoom=1,b.inlineBlockNeedsLayout=q.offsetWidth===2,q.style.display="",q.innerHTML="<div style='width:4px;'></div>",b.shrinkWrapBlocks=q.offsetWidth!==2),q.style.cssText=k+m,q.innerHTML=o,d=q.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,i={doesNotAddBorder:e.offsetTop!==5,doesAddBorderForTableAndCells:h.offsetTop===5},e.style.position="fixed",e.style.top="20px",i.fixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",i.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,i.doesNotIncludeMarginInBodyOffset=r.offsetTop!==j,r.removeChild(a),q=a=null,f.extend(b,i))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e<g;e++)delete d[b[e]];if(!(c?m:f.isEmptyObject)(d))return}}if(!c){delete j[k].data;if(!m(j[k]))return}f.support.deleteExpando||!j.setInterval?delete j[k]:j[k]=null,i&&(f.support.deleteExpando?delete a[h]:a.removeAttribute?a.removeAttribute(h):a[h]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d,e,g,h=null;if(typeof a=="undefined"){if(this.length){h=f.data(this[0]);if(this[0].nodeType===1&&!f._data(this[0],"parsedAttrs")){e=this[0].attributes;for(var i=0,j=e.length;i<j;i++)g=e[i].name,g.indexOf("data-")===0&&(g=f.camelCase(g.substring(5)),l(this[0],g,h[g]));f._data(this[0],"parsedAttrs",!0)}}return h}if(typeof a=="object")return this.each(function(){f.data(this,a)});d=a.split("."),d[1]=d[1]?"."+d[1]:"";if(c===b){h=this.triggerHandler("getData"+d[1]+"!",[d[0]]),h===b&&this.length&&(h=f.data(this[0],a),h=l(this[0],a,h));return h===b&&d[1]?this.data(d[0]):h}return this.each(function(){var b=f(this),e=[d[0],c];b.triggerHandler("setData"+d[1]+"!",e),f.data(this,a,c),b.triggerHandler("changeData"+d[1]+"!",e)})},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",f._data(a,b,(f._data(a,b)||0)+1))},_unmark:function(a,b,c){a!==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=c+"mark",e=a?0:(f._data(b,d)||1)-1;e?f._data(b,d,e):(f.removeData(b,d,!0),n(b,c,"mark"))}},queue:function(a,b,c){var d;if(a){b=(b||"fx")+"queue",d=f._data(a,b),c&&(!d||f.isArray(c)?d=f._data(a,b,f.makeArray(c)):d.push(c));return d||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e={};d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),f._data(a,b+".run",e),d.call(a,function(){f.dequeue(a,b)},e)),c.length||(f.removeData(a,b+"queue "+b+".run",!0),n(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){typeof a!="string"&&(c=a,a="fx");if(c===b)return f.queue(this[0],a);return this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f.Callbacks("once memory"),!0))h++,l.add(m);m();return d.promise()}});var o=/[\n\t\r]/g,p=/\s+/,q=/\r/g,r=/^(?:button|input)$/i,s=/^(?:button|input|object|select|textarea)$/i,t=/^a(?:rea)?$/i,u=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,v=f.support.getSetAttribute,w,x,y;f.fn.extend({attr:function(a,b){return f.access(this,a,b,!0,f.attr)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,a,b,!0,f.prop)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(p);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++)~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ");e.className=f.trim(g)}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a))return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(p);for(d=0,e=this.length;d<e;d++){g=this[d];if(g.nodeType===1&&g.className)if(a){h=(" "+g.className+" ").replace(o," ");for(i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){f(this).toggleClass(a.call(this,c,this.className,b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(p);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c<d;c++)if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(o," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c<d;c++){e=i[c];if(e.selected&&(f.support.optDisabled?!e.disabled:e.getAttribute("disabled")===null)&&(!e.parentNode.disabled||!f.nodeName(e.parentNode,"optgroup"))){b=f(e).val();if(j)return b;h.push(b)}}if(j&&!h.length&&i.length)return f(i[g]).val();return h},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;h<g;h++)e=d[h],e&&(c=f.propFix[e]||e,f.attr(a,e,""),a.removeAttribute(v?e:c),u.test(e)&&c in a&&(a[c]=!1))}},attrHooks:{type:{set:function(a,b){if(r.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},value:{get:function(a,b){if(w&&f.nodeName(a,"button"))return w.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(w&&f.nodeName(a,"button"))return w.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e,g,h,i=a.nodeType;if(!!a&&i!==3&&i!==8&&i!==2){h=i!==1||!f.isXMLDoc(a),h&&(c=f.propFix[c]||c,g=f.propHooks[c]);return d!==b?g&&"set"in g&&(e=g.set(a,d,c))!==b?e:a[c]=d:g&&"get"in g&&(e=g.get(a,c))!==null?e:a[c]}},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):s.test(a.nodeName)||t.test(a.nodeName)&&a.href?0:b}}}}),f.attrHooks.tabindex=f.propHooks.tabIndex,x={get:function(a,c){var d,e=f.prop(a,c);return e===!0||typeof e!="boolean"&&(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},v||(y={name:!0,id:!0},w=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&(y[c]?d.nodeValue!=="":d.specified)?d.nodeValue:b},set:function(a,b,d){var e=a.getAttributeNode(d);e||(e=c.createAttribute(d),a.setAttributeNode(e));return e.nodeValue=b+""}},f.attrHooks.tabindex.set=w.set,f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})}),f.attrHooks.contenteditable={get:w.get,set:function(a,b,c){b===""&&(b="false"),w.set(a,b,c)}}),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex);return null}})),f.support.enctype||(f.propFix.enctype="encoding"),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/\bhover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};
++f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k<c.length;k++){l=A.exec(c[k])||[],m=l[1],n=(l[2]||"").split(".").sort(),s=f.event.special[m]||{},m=(g?s.delegateType:s.bindType)||m,s=f.event.special[m]||{},o=f.extend({type:m,origType:l[1],data:e,handler:d,guid:d.guid,selector:g,quick:G(g),namespace:n.join(".")},p),r=j[m];if(!r){r=j[m]=[],r.delegateCount=0;if(!s.setup||s.setup.call(a,e,n,i)===!1)a.addEventListener?a.addEventListener(m,i,!1):a.attachEvent&&a.attachEvent("on"+m,i)}s.add&&(s.add.call(a,o),o.handler.guid||(o.handler.guid=d.guid)),g?r.splice(r.delegateCount++,0,o):r.push(o),f.event.global[m]=!0}a=null}},global:{},remove:function(a,b,c,d,e){var g=f.hasData(a)&&f._data(a),h,i,j,k,l,m,n,o,p,q,r,s;if(!!g&&!!(o=g.events)){b=f.trim(I(b||"")).split(" ");for(h=0;h<b.length;h++){i=A.exec(b[h])||[],j=k=i[1],l=i[2];if(!j){for(j in o)f.event.remove(a,j+b[h],c,d,!0);continue}p=f.event.special[j]||{},j=(d?p.delegateType:p.bindType)||j,r=o[j]||[],m=r.length,l=l?new RegExp("(^|\\.)"+l.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(n=0;n<r.length;n++)s=r[n],(e||k===s.origType)&&(!c||c.guid===s.guid)&&(!l||l.test(s.namespace))&&(!d||d===s.selector||d==="**"&&s.selector)&&(r.splice(n--,1),s.selector&&r.delegateCount--,p.remove&&p.remove.call(a,s));r.length===0&&m!==r.length&&((!p.teardown||p.teardown.call(a,l)===!1)&&f.removeEvent(a,j,g.handle),delete o[j])}f.isEmptyObject(o)&&(q=g.handle,q&&(q.elem=null),f.removeData(a,["events","handle"],!0))}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){if(!e||e.nodeType!==3&&e.nodeType!==8){var h=c.type||c,i=[],j,k,l,m,n,o,p,q,r,s;if(E.test(h+f.event.triggered))return;h.indexOf("!")>=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;l<r.length&&!c.isPropagationStopped();l++)m=r[l][0],c.type=r[l][1],q=(f._data(m,"events")||{})[c.type]&&f._data(m,"handle"),q&&q.apply(m,d),q=o&&m[o],q&&f.acceptData(m)&&q.apply(m,d)===!1&&c.preventDefault();c.type=h,!g&&!c.isDefaultPrevented()&&(!p._default||p._default.apply(e.ownerDocument,d)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)&&o&&e[h]&&(h!=="focus"&&h!=="blur"||c.target.offsetWidth!==0)&&!f.isWindow(e)&&(n=e[o],n&&(e[o]=null),f.event.triggered=h,e[h](),f.event.triggered=b,n&&(e[o]=n));return c.result}},dispatch:function(c){c=f.event.fix(c||a.event);var d=(f._data(this,"events")||{})[c.type]||[],e=d.delegateCount,g=[].slice.call(arguments,0),h=!c.exclusive&&!c.namespace,i=[],j,k,l,m,n,o,p,q,r,s,t;g[0]=c,c.delegateTarget=this;if(e&&!c.target.disabled&&(!c.button||c.type!=="click")){m=f(this),m.context=this.ownerDocument||this;for(l=c.target;l!=this;l=l.parentNode||this){o={},q=[],m[0]=l;for(j=0;j<e;j++)r=d[j],s=r.selector,o[s]===b&&(o[s]=r.quick?H(l,r.quick):m.is(s)),o[s]&&q.push(r);q.length&&i.push({elem:l,matches:q})}}d.length>e&&i.push({elem:this,matches:d.slice(e)});for(j=0;j<i.length&&!c.isPropagationStopped();j++){p=i[j],c.currentTarget=p.elem;for(k=0;k<p.matches.length&&!c.isImmediatePropagationStopped();k++){r=p.matches[k];if(h||!c.namespace&&!r.namespace||c.namespace_re&&c.namespace_re.test(r.namespace))c.data=r.data,c.handleObj=r,n=((f.event.special[r.origType]||{}).handle||r.handler).apply(p.elem,g),n!==b&&(c.result=n,n===!1&&(c.preventDefault(),c.stopPropagation()))}}return c.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){a.which==null&&(a.which=b.charCode!=null?b.charCode:b.keyCode);return a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,d){var e,f,g,h=d.button,i=d.fromElement;a.pageX==null&&d.clientX!=null&&(e=a.target.ownerDocument||c,f=e.documentElement,g=e.body,a.pageX=d.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=d.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?d.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0);return a}},fix:function(a){if(a[f.expando])return a;var d,e,g=a,h=f.event.fixHooks[a.type]||{},i=h.props?this.props.concat(h.props):this.props;a=f.Event(g);for(d=i.length;d;)e=i[--d],a[e]=g[e];a.target||(a.target=g.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey===b&&(a.metaKey=a.ctrlKey);return h.filter?h.filter(a,g):a},special:{ready:{setup:f.bindReady},load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var e=f.extend(new f.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?f.event.trigger(e,null,b):f.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},f.event.handle=f.event.dispatch,f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!(this instanceof f.Event))return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?K:J):this.type=a,b&&f.extend(this,b),this.timeStamp=a&&a.timeStamp||f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=K;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=K;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=K,this.stopPropagation()},isDefaultPrevented:J,isPropagationStopped:J,isImmediatePropagationStopped:J},f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c=this,d=a.relatedTarget,e=a.handleObj,g=e.selector,h;if(!d||d!==c&&!f.contains(c,d))a.type=e.origType,h=e.handler.apply(this,arguments),a.type=b;return h}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(){if(f.nodeName(this,"form"))return!1;f.event.add(this,"click._submit keypress._submit",function(a){var c=a.target,d=f.nodeName(c,"input")||f.nodeName(c,"button")?c.form:b;d&&!d._submit_attached&&(f.event.add(d,"submit._submit",function(a){this.parentNode&&!a.isTrigger&&f.event.simulate("submit",this.parentNode,a,!0)}),d._submit_attached=!0)})},teardown:function(){if(f.nodeName(this,"form"))return!1;f.event.remove(this,"._submit")}}),f.support.changeBubbles||(f.event.special.change={setup:function(){if(z.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")f.event.add(this,"propertychange._change",function(a){a.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),f.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1,f.event.simulate("change",this,a,!0))});return!1}f.event.add(this,"beforeactivate._change",function(a){var b=a.target;z.test(b.nodeName)&&!b._change_attached&&(f.event.add(b,"change._change",function(a){this.parentNode&&!a.isSimulated&&!a.isTrigger&&f.event.simulate("change",this.parentNode,a,!0)}),b._change_attached=!0)})},handle:function(a){var b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!=="radio"&&b.type!=="checkbox")return a.handleObj.handler.apply(this,arguments)},teardown:function(){f.event.remove(this,"._change");return z.test(this.nodeName)}}),f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){var d=0,e=function(a){f.event.simulate(b,a.target,f.event.fix(a),!0)};f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.fn.extend({on:function(a,c,d,e,g){var h,i;if(typeof a=="object"){typeof c!="string"&&(d=c,c=b);for(i in a)this.on(i,c,d,a[i],g);return this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof c=="string"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1)e=J;else if(!e)return this;g===1&&(h=e,e=function(a){f().off(a);return h.apply(this,arguments)},e.guid=h.guid||(h.guid=f.guid++));return this.each(function(){f.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on.call(this,a,b,c,d,1)},off:function(a,c,d){if(a&&a.preventDefault&&a.handleObj){var e=a.handleObj;f(a.delegateTarget).off(e.namespace?e.type+"."+e.namespace:e.type,e.selector,e.handler);return this}if(typeof a=="object"){for(var g in a)this.off(g,c,a[g]);return this}if(c===!1||typeof c=="function")d=c,c=b;d===!1&&(d=J);return this.each(function(){f.event.remove(this,a,d,c)})},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},live:function(a,b,c){f(this.context).on(a,this.selector,b,c);return this},die:function(a,b){f(this.context).off(a,this.selector||"**",b);return this},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return arguments.length==1?this.off(a,"**"):this.off(b,a,c)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f._data(this,"lastToggle"+a.guid)||0)%d;f._data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}if(j.nodeType===1){g||(j[d]=c,j.sizset=h);if(typeof b!="string"){if(j===b){k=!0;break}}else if(m.filter(b,[j]).length>0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}j.nodeType===1&&!g&&(j[d]=c,j.sizset=h);if(j.nodeName.toLowerCase()===b){k=j;break}j=j[a]}e[h]=k}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},m.matches=function(a,b){return m(a,null,null,b)},m.matchesSelector=function(a,b){return m(b,null,null,[a]).length>0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e<f;e++){h=o.order[e];if(g=o.leftMatch[h].exec(a)){i=g[1],g.splice(1,1);if(i.substr(i.length-1)!=="\\"){g[1]=(g[1]||"").replace(j,""),d=o.find[h](g,b,c);if(d!=null){a=a.replace(o.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},m.filter=function(a,c,d,e){var f,g,h,i,j,k,l,n,p,q=a,r=[],s=c,t=c&&c[0]&&m.isXML(c[0]);while(a&&c.length){for(h in o.filter)if((f=o.leftMatch[h].exec(a))!=null&&f[2]){k=o.filter[h],l=f[1],g=!1,f.splice(1,1);if(l.substr(l.length-1)==="\\")continue;s===r&&(r=[]);if(o.preFilter[h]){f=o.preFilter[h](f,s,d,r,e,t);if(!f)g=i=!0;else if(f===!0)continue}if(f)for(n=0;(j=s[n])!=null;n++)j&&(i=k(j,f,n,s),p=e^i,d&&i!=null?p?g=!0:s[n]=!1:p&&(r.push(j),g=!0));if(i!==b){d||(s=r),a=a.replace(o.match[h],"");if(!g)return[];break}}if(a===q)if(g==null)m.error(a);else break;q=a}return s},m.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)};var n=m.getText=function(a){var b,c,d=a.nodeType,e="";if(d){if(d===1||d===9){if(typeof a.textContent=="string")return a.textContent;if(typeof a.innerText=="string")return a.innerText.replace(k,"");for(a=a.firstChild;a;a=a.nextSibling)e+=n(a)}else if(d===3||d===4)return a.nodeValue}else for(b=0;c=a[b];b++)c.nodeType!==8&&(e+=n(c));return e},o=m.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!l.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&m.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&m.filter(b,a,!0)}},"":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("parentNode",b,f,a,d,c)},"~":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("previousSibling",b,f,a,d,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(j,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}m.error(e)},CHILD:function(a,b){var c,e,f,g,h,i,j,k=b[1],l=a;switch(k){case"only":case"first":while(l=l.previousSibling)if(l.nodeType===1)return!1;if(k==="first")return!0;l=a;case"last":while(l=l.nextSibling)if(l.nodeType===1)return!1;return!0;case"nth":c=b[2],e=b[3];if(c===1&&e===0)return!0;f=b[0],g=a.parentNode;if(g&&(g[d]!==f||!a.nodeIndex)){i=0;for(l=g.firstChild;l;l=l.nextSibling)l.nodeType===1&&(l.nodeIndex=++i);g[d]=f}j=a.nodeIndex-e;return c===0?j===0:j%c===0&&j/c>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c<e;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var u,v;c.documentElement.compareDocumentPosition?u=function(a,b){if(a===b){h=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(u=function(a,b){if(a===b){h=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],g=a.parentNode,i=b.parentNode,j=g;if(g===i)return v(a,b);if(!g)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return v(e[k],f[k]);return k===c?v(a,f[k],-1):v(e[k],b,1)},v=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h<i;h++)m(a,g[h],e,c);return m.filter(f,e)};m.attr=f.attr,m.selectors.attrMap={},f.find=m,f.expr=m.selectors,f.expr[":"]=f.expr.filters,f.unique=m.uniqueSort,f.text=m.getText,f.isXMLDoc=m.isXML,f.contains=m.contains}();var L=/Until$/,M=/^(?:parents|prevUntil|prevAll)/,N=/,/,O=/^.[^:#\[\.,]*$/,P=Array.prototype.slice,Q=f.expr.match.POS,R={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(T(this,a,!1),"not",a)},filter:function(a){return this.pushStack(T(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?Q.test(a)?f(a,this.context).index(this[0])>=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d<a.length;d++)f(g).is(a[d])&&c.push({selector:a[d],elem:g,level:h});g=g.parentNode,h++}return c}var i=Q.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(i?i.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/<tbody/i,_=/<|&#?\w+;/,ba=/<(?:script|style)/i,bb=/<(?:script|object|embed|option|style)/i,bc=new RegExp("<(?:"+V+")","i"),bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*<!(?:\[CDATA\[|\-\-)/,bg={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function()
++{for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1></$2>");try{for(var c=0,d=this.length;c<d;c++)this[c].nodeType===1&&(f.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(e){this.empty().append(a)}}else f.isFunction(a)?this.each(function(b){var c=f(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bd.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bi(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,bp)}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i,j=a[0];b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof j=="string"&&j.length<512&&i===c&&j.charAt(0)==="<"&&!bb.test(j)&&(f.support.checkClone||!bd.test(j))&&(f.support.html5Clone||!bc.test(j))&&(g=!0,h=f.fragments[j],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[j]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||!bc.test("<"+a.nodeName)?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1></$2>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");b===c?bh.appendChild(o):U(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]==="<table>"&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i<r;i++)bn(k[i]);else bn(k);k.nodeType?h.push(k):h=f.merge(h,k)}if(d){g=function(a){return!a.type||be.test(a.type)};for(j=0;h[j];j++)if(e&&f.nodeName(h[j],"script")&&(!h[j].type||h[j].type.toLowerCase()==="text/javascript"))e.push(h[j].parentNode?h[j].parentNode.removeChild(h[j]):h[j]);else{if(h[j].nodeType===1){var s=f.grep(h[j].getElementsByTagName("script"),g);h.splice.apply(h,[j+1,0].concat(s))}d.appendChild(h[j])}}return h},cleanData:function(a){var b,c,d=f.cache,e=f.event.special,g=f.support.deleteExpando;for(var h=0,i;(i=a[h])!=null;h++){if(i.nodeName&&f.noData[i.nodeName.toLowerCase()])continue;c=i[f.expando];if(c){b=d[c];if(b&&b.events){for(var j in b.events)e[j]?f.event.remove(i,j):f.removeEvent(i,j,b.handle);b.handle&&(b.handle.elem=null)}g?delete i[f.expando]:i.removeAttribute&&i.removeAttribute(f.expando),delete d[c]}}}});var bq=/alpha\([^)]*\)/i,br=/opacity=([^)]*)/,bs=/([A-Z]|^ms)/g,bt=/^-?\d+(?:px)?$/i,bu=/^-?\d/,bv=/^([\-+])=([\-+.\de]+)/,bw={position:"absolute",visibility:"hidden",display:"block"},bx=["Left","Right"],by=["Top","Bottom"],bz,bA,bB;f.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return f.access(this,a,c,!0,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)})},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bz(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d,h==="string"&&(g=bv.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d))return;h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(bz)return bz(a,c)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]}}),f.curCSS=f.css,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){var e;if(c){if(a.offsetWidth!==0)return bC(a,b,d);f.swap(a,bw,function(){e=bC(a,b,d)});return e}},set:function(a,b){if(!bt.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return br.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bq,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bq.test(g)?g.replace(bq,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,b){var c,d,e;b=b.replace(bs,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b)));return c}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f===null&&g&&(e=g[b])&&(f=e),!bt.test(f)&&bu.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bD=/%20/g,bE=/\[\]$/,bF=/\r?\n/g,bG=/#.*$/,bH=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bI=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bJ=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bK=/^(?:GET|HEAD)$/,bL=/^\/\//,bM=/\?/,bN=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bO=/^(?:select|textarea)/i,bP=/\s+/,bQ=/([?&])_=[^&]*/,bR=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bS=f.fn.load,bT={},bU={},bV,bW,bX=["*/"]+["*"];try{bV=e.href}catch(bY){bV=c.createElement("a"),bV.href="",bV=bV.href}bW=bR.exec(bV.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bS)return bS.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>").append(c.replace(bN,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bO.test(this.nodeName)||bI.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bF,"\r\n")}}):{name:b.name,value:c.replace(bF,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b_(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b_(a,b);return a},ajaxSettings:{url:bV,isLocal:bJ.test(bW[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bX},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bZ(bT),ajaxTransport:bZ(bU),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?cb(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cc(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bH.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bG,"").replace(bL,bW[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bP),d.crossDomain==null&&(r=bR.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bW[1]&&r[2]==bW[2]&&(r[3]||(r[1]==="http:"?80:443))==(bW[3]||(bW[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bT,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bK.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bM.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bQ,"$1_="+x);d.url=y+(y===d.url?(bM.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bX+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=b$(bU,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)ca(g,a[g],c,e);return d.join("&").replace(bD,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cd=f.now(),ce=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cd++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ce.test(b.url)||e&&ce.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ce,l),b.url===j&&(e&&(k=k.replace(ce,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cf=a.ActiveXObject?function(){for(var a in ch)ch[a](0,1)}:!1,cg=0,ch;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ci()||cj()}:ci,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cf&&delete ch[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cg,cf&&(ch||(ch={},f(a).unload(cf)),ch[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var ck={},cl,cm,cn=/^(?:toggle|show|hide)$/,co=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cp,cq=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cr;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),e===""&&f.css(d,"display")==="none"&&f._data(d,"olddisplay",cv(d.nodeName)));for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none")d.style.display=f._data(d,"olddisplay")||""}}return this},hide:function(a,b,c){if(a||a===0)return this.animate(cu("hide",3),a,b,c);var d,e,g=0,h=this.length;for(;g<h;g++)d=this[g],d.style&&(e=f.css(d,"display"),e!=="none"&&!f._data(d,"olddisplay")&&f._data(d,"olddisplay",e));for(g=0;g<h;g++)this[g].style&&(this[g].style.display="none");return this},_toggle:f.fn.toggle,toggle:function(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(cu("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){function g(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]),h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||"swing";if(h==="hide"&&d||h==="show"&&!d)return b.complete.call(this);c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(!f.support.inlineBlockNeedsLayout||cv(this.nodeName)==="inline"?this.style.display="inline-block":this.style.zoom=1))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)j=new f.fx(this,b,i),h=a[i],cn.test(h)?(o=f._data(this,"toggle"+i)||(h==="toggle"?d?"show":"hide":0),o?(f._data(this,"toggle"+i,o==="show"?"hide":"show"),j[o]()):j[h]()):(k=co.exec(h),l=j.cur(),k?(m=parseFloat(k[2]),n=k[3]||(f.cssNumber[i]?"":"px"),n!=="px"&&(f.style(this,i,(m||1)+n),l=(m||1)/j.cur()*l,f.style(this,i,l+n)),k[1]&&(m=(k[1]==="-="?-1:1)*m+l),j.custom(l,m,n)):j.custom(l,h,""));return!0}var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return e.queue===!1?this.each(g):this.queue(e.queue,g)},stop:function(a,c,d){typeof a!="string"&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||"fx",[]);return this.each(function(){function h(a,b,c){var e=b[c];f.removeData(a,c,!0),e.stop(d)}var b,c=!1,e=f.timers,g=f._data(this);d||f._unmark(!0,this);if(a==null)for(b in g)g[b]&&g[b].stop&&b.indexOf(".run")===b.length-4&&h(this,g,b);else g[b=a+".run"]&&g[b].stop&&h(this,g,b);for(b=e.length;b--;)e[b].elem===this&&(a==null||e[b].queue===a)&&(d?e[b](!0):e[b].saveState(),c=!0,e.splice(b,1));(!d||!c)&&f.dequeue(this,a)})}}),f.each({slideDown:cu("show",1),slideUp:cu("hide",1),slideToggle:cu("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default;if(d.queue==null||d.queue===!0)d.queue="fx";d.old=d.complete,d.complete=function(a){f.isFunction(d.old)&&d.old.call(this),d.queue?f.dequeue(this,d.queue):a!==!1&&f._unmark(this)};return d},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,c,d){function h(a){return e.step(a)}var e=this,g=f.fx;this.startTime=cr||cs(),this.end=c,this.now=this.start=a,this.pos=this.state=0,this.unit=d||this.unit||(f.cssNumber[this.prop]?"":"px"),h.queue=this.options.queue,h.elem=this.elem,h.saveState=function(){e.options.hide&&f._data(e.elem,"fxshow"+e.prop)===b&&f._data(e.elem,"fxshow"+e.prop,e.start)},h()&&f.timers.push(h)&&!cp&&(cp=setInterval(g.tick,g.interval))},show:function(){var a=f._data(this.elem,"fxshow"+this.prop);this.options.orig[this.prop]=a||f.style(this.elem,this.prop),this.options.show=!0,a!==b?this.custom(this.cur(),a):this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f._data(this.elem,"fxshow"+this.prop)||f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b,c,d,e=cr||cs(),g=!0,h=this.elem,i=this.options;if(a||e>=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c<b.length;c++)a=b[c],!a()&&b[c]===a&&b.splice(c--,1);b.length||f.fx.stop()},interval:13,stop:function(){clearInterval(cp),cp=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=a.now+a.unit:a.elem[a.prop]=a.now}}}),f.each(["width","height"],function(a,b){f.fx.step[b]=function(a){f.style(a.elem,b,Math.max(0,a.now)+a.unit)}}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var cw=/^t(?:able|d|h)$/i,cx=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?f.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(d){}var e=b.ownerDocument,g=e.documentElement;if(!c||!f.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=e.body,i=cy(e),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||f.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||f.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:f.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);var c,d=b.offsetParent,e=b,g=b.ownerDocument,h=g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(f.support.fixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===d&&(l+=b.offsetTop,m+=b.offsetLeft,f.support.doesNotAddBorder&&(!f.support.doesAddBorderForTableAndCells||!cw.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),e=d,d=b.offsetParent),f.support.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;f.support.fixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},f.offset={bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.support.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cy(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,d,"padding")):this[d]():null},f.fn["outer"+c]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,d,a?"margin":"border")):this[d]():null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNumeric(j)?j:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window);
+\ No newline at end of file
+diff -up cacti-0.8.8a/include/js/jquery/jquery.jstree.js.legal cacti-0.8.8a/include/js/jquery/jquery.jstree.js
+--- cacti-0.8.8a/include/js/jquery/jquery.jstree.js.legal      2013-01-04 15:44:38.036416073 -0500
++++ cacti-0.8.8a/include/js/jquery/jquery.jstree.js    2013-01-04 15:43:12.645377988 -0500
+@@ -0,0 +1,4551 @@
++/*\r
++ * jsTree 1.0-rc3\r
++ * http://jstree.com/\r
++ *\r
++ * Copyright (c) 2010 Ivan Bozhanov (vakata.com)\r
++ *\r
++ * Licensed same as jquery - under the terms of either the MIT License or the GPL Version 2 License\r
++ *   http://www.opensource.org/licenses/mit-license.php\r
++ *   http://www.gnu.org/licenses/gpl.html\r
++ *\r
++ * $Date: 2011-02-09 01:17:14 +0200 (ср, 09 февр 2011) $\r
++ * $Revision: 236 $\r
++ */\r
++\r
++/*jslint browser: true, onevar: true, undef: true, bitwise: true, strict: true */\r
++/*global window : false, clearInterval: false, clearTimeout: false, document: false, setInterval: false, setTimeout: false, jQuery: false, navigator: false, XSLTProcessor: false, DOMParser: false, XMLSerializer: false*/\r
++\r
++"use strict";\r
++\r
++// top wrapper to prevent multiple inclusion (is this OK?)\r
++(function () { if(jQuery && jQuery.jstree) { return; }\r
++      var is_ie6 = false, is_ie7 = false, is_ff2 = false;\r
++\r
++/* \r
++ * jsTree core\r
++ */\r
++(function ($) {\r
++      // Common functions not related to jsTree \r
++      // decided to move them to a `vakata` "namespace"\r
++      $.vakata = {};\r
++      // CSS related functions\r
++      $.vakata.css = {\r
++              get_css : function(rule_name, delete_flag, sheet) {\r
++                      rule_name = rule_name.toLowerCase();\r
++                      var css_rules = sheet.cssRules || sheet.rules,\r
++                              j = 0;\r
++                      do {\r
++                              if(css_rules.length && j > css_rules.length + 5) { return false; }\r
++                              if(css_rules[j].selectorText && css_rules[j].selectorText.toLowerCase() == rule_name) {\r
++                                      if(delete_flag === true) {\r
++                                              if(sheet.removeRule) { sheet.removeRule(j); }\r
++                                              if(sheet.deleteRule) { sheet.deleteRule(j); }\r
++                                              return true;\r
++                                      }\r
++                                      else { return css_rules[j]; }\r
++                              }\r
++                      }\r
++                      while (css_rules[++j]);\r
++                      return false;\r
++              },\r
++              add_css : function(rule_name, sheet) {\r
++                      if($.jstree.css.get_css(rule_name, false, sheet)) { return false; }\r
++                      if(sheet.insertRule) { sheet.insertRule(rule_name + ' { }', 0); } else { sheet.addRule(rule_name, null, 0); }\r
++                      return $.vakata.css.get_css(rule_name);\r
++              },\r
++              remove_css : function(rule_name, sheet) { \r
++                      return $.vakata.css.get_css(rule_name, true, sheet); \r
++              },\r
++              add_sheet : function(opts) {\r
++                      var tmp = false, is_new = true;\r
++                      if(opts.str) {\r
++                              if(opts.title) { tmp = $("style[id='" + opts.title + "-stylesheet']")[0]; }\r
++                              if(tmp) { is_new = false; }\r
++                              else {\r
++                                      tmp = document.createElement("style");\r
++                                      tmp.setAttribute('type',"text/css");\r
++                                      if(opts.title) { tmp.setAttribute("id", opts.title + "-stylesheet"); }\r
++                              }\r
++                              if(tmp.styleSheet) {\r
++                                      if(is_new) { \r
++                                              document.getElementsByTagName("head")[0].appendChild(tmp); \r
++                                              tmp.styleSheet.cssText = opts.str; \r
++                                      }\r
++                                      else {\r
++                                              tmp.styleSheet.cssText = tmp.styleSheet.cssText + " " + opts.str; \r
++                                      }\r
++                              }\r
++                              else {\r
++                                      tmp.appendChild(document.createTextNode(opts.str));\r
++                                      document.getElementsByTagName("head")[0].appendChild(tmp);\r
++                              }\r
++                              return tmp.sheet || tmp.styleSheet;\r
++                      }\r
++                      if(opts.url) {\r
++                              if(document.createStyleSheet) {\r
++                                      try { tmp = document.createStyleSheet(opts.url); } catch (e) { }\r
++                              }\r
++                              else {\r
++                                      tmp                     = document.createElement('link');\r
++                                      tmp.rel         = 'stylesheet';\r
++                                      tmp.type        = 'text/css';\r
++                                      tmp.media       = "all";\r
++                                      tmp.href        = opts.url;\r
++                                      document.getElementsByTagName("head")[0].appendChild(tmp);\r
++                                      return tmp.styleSheet;\r
++                              }\r
++                      }\r
++              }\r
++      };\r
++\r
++      // private variables \r
++      var instances = [],                     // instance array (used by $.jstree.reference/create/focused)\r
++              focused_instance = -1,  // the index in the instance array of the currently focused instance\r
++              plugins = {},                   // list of included plugins\r
++              prepared_move = {};             // for the move_node function\r
++\r
++      // jQuery plugin wrapper (thanks to jquery UI widget function)\r
++      $.fn.jstree = function (settings) {\r
++              var isMethodCall = (typeof settings == 'string'), // is this a method call like $().jstree("open_node")\r
++                      args = Array.prototype.slice.call(arguments, 1), \r
++                      returnValue = this;\r
++\r
++              // if a method call execute the method on all selected instances\r
++              if(isMethodCall) {\r
++                      if(settings.substring(0, 1) == '_') { return returnValue; }\r
++                      this.each(function() {\r
++                              var instance = instances[$.data(this, "jstree_instance_id")],\r
++                                      methodValue = (instance && $.isFunction(instance[settings])) ? instance[settings].apply(instance, args) : instance;\r
++                                      if(typeof methodValue !== "undefined" && (settings.indexOf("is_") === 0 || (methodValue !== true && methodValue !== false))) { returnValue = methodValue; return false; }\r
++                      });\r
++              }\r
++              else {\r
++                      this.each(function() {\r
++                              // extend settings and allow for multiple hashes and $.data\r
++                              var instance_id = $.data(this, "jstree_instance_id"),\r
++                                      a = [],\r
++                                      b = settings ? $.extend({}, true, settings) : {},\r
++                                      c = $(this), \r
++                                      s = false, \r
++                                      t = [];\r
++                              a = a.concat(args);\r
++                              if(c.data("jstree")) { a.push(c.data("jstree")); }\r
++                              b = a.length ? $.extend.apply(null, [true, b].concat(a)) : b;\r
++\r
++                              // if an instance already exists, destroy it first\r
++                              if(typeof instance_id !== "undefined" && instances[instance_id]) { instances[instance_id].destroy(); }\r
++                              // push a new empty object to the instances array\r
++                              instance_id = parseInt(instances.push({}),10) - 1;\r
++                              // store the jstree instance id to the container element\r
++                              $.data(this, "jstree_instance_id", instance_id);\r
++                              // clean up all plugins\r
++                              b.plugins = $.isArray(b.plugins) ? b.plugins : $.jstree.defaults.plugins.slice();\r
++                              b.plugins.unshift("core");\r
++                              // only unique plugins\r
++                              b.plugins = b.plugins.sort().join(",,").replace(/(,|^)([^,]+)(,,\2)+(,|$)/g,"$1$2$4").replace(/,,+/g,",").replace(/,$/,"").split(",");\r
++\r
++                              // extend defaults with passed data\r
++                              s = $.extend(true, {}, $.jstree.defaults, b);\r
++                              s.plugins = b.plugins;\r
++                              $.each(plugins, function (i, val) { \r
++                                      if($.inArray(i, s.plugins) === -1) { s[i] = null; delete s[i]; } \r
++                                      else { t.push(i); }\r
++                              });\r
++                              s.plugins = t;\r
++\r
++                              // push the new object to the instances array (at the same time set the default classes to the container) and init\r
++                              instances[instance_id] = new $.jstree._instance(instance_id, $(this).addClass("jstree jstree-" + instance_id), s); \r
++                              // init all activated plugins for this instance\r
++                              $.each(instances[instance_id]._get_settings().plugins, function (i, val) { instances[instance_id].data[val] = {}; });\r
++                              $.each(instances[instance_id]._get_settings().plugins, function (i, val) { if(plugins[val]) { plugins[val].__init.apply(instances[instance_id]); } });\r
++                              // initialize the instance\r
++                              setTimeout(function() { if(instances[instance_id]) { instances[instance_id].init(); } }, 0);\r
++                      });\r
++              }\r
++              // return the jquery selection (or if it was a method call that returned a value - the returned value)\r
++              return returnValue;\r
++      };\r
++      // object to store exposed functions and objects\r
++      $.jstree = {\r
++              defaults : {\r
++                      plugins : []\r
++              },\r
++              _focused : function () { return instances[focused_instance] || null; },\r
++              _reference : function (needle) { \r
++                      // get by instance id\r
++                      if(instances[needle]) { return instances[needle]; }\r
++                      // get by DOM (if still no luck - return null\r
++                      var o = $(needle); \r
++                      if(!o.length && typeof needle === "string") { o = $("#" + needle); }\r
++                      if(!o.length) { return null; }\r
++                      return instances[o.closest(".jstree").data("jstree_instance_id")] || null; \r
++              },\r
++              _instance : function (index, container, settings) { \r
++                      // for plugins to store data in\r
++                      this.data = { core : {} };\r
++                      this.get_settings       = function () { return $.extend(true, {}, settings); };\r
++                      this._get_settings      = function () { return settings; };\r
++                      this.get_index          = function () { return index; };\r
++                      this.get_container      = function () { return container; };\r
++                      this.get_container_ul = function () { return container.children("ul:eq(0)"); };\r
++                      this._set_settings      = function (s) { \r
++                              settings = $.extend(true, {}, settings, s);\r
++                      };\r
++              },\r
++              _fn : { },\r
++              plugin : function (pname, pdata) {\r
++                      pdata = $.extend({}, {\r
++                              __init          : $.noop, \r
++                              __destroy       : $.noop,\r
++                              _fn                     : {},\r
++                              defaults        : false\r
++                      }, pdata);\r
++                      plugins[pname] = pdata;\r
++\r
++                      $.jstree.defaults[pname] = pdata.defaults;\r
++                      $.each(pdata._fn, function (i, val) {\r
++                              val.plugin              = pname;\r
++                              val.old                 = $.jstree._fn[i];\r
++                              $.jstree._fn[i] = function () {\r
++                                      var rslt,\r
++                                              func = val,\r
++                                              args = Array.prototype.slice.call(arguments),\r
++                                              evnt = new $.Event("before.jstree"),\r
++                                              rlbk = false;\r
++\r
++                                      if(this.data.core.locked === true && i !== "unlock" && i !== "is_locked") { return; }\r
++\r
++                                      // Check if function belongs to the included plugins of this instance\r
++                                      do {\r
++                                              if(func && func.plugin && $.inArray(func.plugin, this._get_settings().plugins) !== -1) { break; }\r
++                                              func = func.old;\r
++                                      } while(func);\r
++                                      if(!func) { return; }\r
++\r
++                                      // context and function to trigger events, then finally call the function\r
++                                      if(i.indexOf("_") === 0) {\r
++                                              rslt = func.apply(this, args);\r
++                                      }\r
++                                      else {\r
++                                              rslt = this.get_container().triggerHandler(evnt, { "func" : i, "inst" : this, "args" : args, "plugin" : func.plugin });\r
++                                              if(rslt === false) { return; }\r
++                                              if(typeof rslt !== "undefined") { args = rslt; }\r
++\r
++                                              rslt = func.apply(\r
++                                                      $.extend({}, this, { \r
++                                                              __callback : function (data) { \r
++                                                                      this.get_container().triggerHandler( i + '.jstree', { "inst" : this, "args" : args, "rslt" : data, "rlbk" : rlbk });\r
++                                                              },\r
++                                                              __rollback : function () { \r
++                                                                      rlbk = this.get_rollback();\r
++                                                                      return rlbk;\r
++                                                              },\r
++                                                              __call_old : function (replace_arguments) {\r
++                                                                      return func.old.apply(this, (replace_arguments ? Array.prototype.slice.call(arguments, 1) : args ) );\r
++                                                              }\r
++                                                      }), args);\r
++                                      }\r
++\r
++                                      // return the result\r
++                                      return rslt;\r
++                              };\r
++                              $.jstree._fn[i].old = val.old;\r
++                              $.jstree._fn[i].plugin = pname;\r
++                      });\r
++              },\r
++              rollback : function (rb) {\r
++                      if(rb) {\r
++                              if(!$.isArray(rb)) { rb = [ rb ]; }\r
++                              $.each(rb, function (i, val) {\r
++                                      instances[val.i].set_rollback(val.h, val.d);\r
++                              });\r
++                      }\r
++              }\r
++      };\r
++      // set the prototype for all instances\r
++      $.jstree._fn = $.jstree._instance.prototype = {};\r
++\r
++      // load the css when DOM is ready\r
++      $(function() {\r
++              // code is copied from jQuery ($.browser is deprecated + there is a bug in IE)\r
++              var u = navigator.userAgent.toLowerCase(),\r
++                      v = (u.match( /.+?(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [0,'0'])[1],\r
++                      css_string = '' + \r
++                              '.jstree ul, .jstree li { display:block; margin:0 0 0 0; padding:0 0 0 0; list-style-type:none; } ' + \r
++                              '.jstree li { display:block; min-height:18px; line-height:18px; white-space:nowrap; margin-left:18px; min-width:18px; } ' + \r
++                              '.jstree-rtl li { margin-left:0; margin-right:18px; } ' + \r
++                              '.jstree > ul > li { margin-left:0px; } ' + \r
++                              '.jstree-rtl > ul > li { margin-right:0px; } ' + \r
++                              '.jstree ins { display:inline-block; text-decoration:none; width:18px; height:18px; margin:0 0 0 0; padding:0; } ' + \r
++                              '.jstree a { display:inline-block; line-height:16px; height:16px; color:black; white-space:nowrap; text-decoration:none; padding:1px 2px; margin:0; } ' + \r
++                              '.jstree a:focus { outline: none; } ' + \r
++                              '.jstree a > ins { height:16px; width:16px; } ' + \r
++                              '.jstree a > .jstree-icon { margin-right:3px; } ' + \r
++                              '.jstree-rtl a > .jstree-icon { margin-left:3px; margin-right:0; } ' + \r
++                              'li.jstree-open > ul { display:block; } ' + \r
++                              'li.jstree-closed > ul { display:none; } ';\r
++              // Correct IE 6 (does not support the > CSS selector)\r
++              if(/msie/.test(u) && parseInt(v, 10) == 6) { \r
++                      is_ie6 = true;\r
++\r
++                      // fix image flicker and lack of caching\r
++                      try {\r
++                              document.execCommand("BackgroundImageCache", false, true);\r
++                      } catch (err) { }\r
++\r
++                      css_string += '' + \r
++                              '.jstree li { height:18px; margin-left:0; margin-right:0; } ' + \r
++                              '.jstree li li { margin-left:18px; } ' + \r
++                              '.jstree-rtl li li { margin-left:0px; margin-right:18px; } ' + \r
++                              'li.jstree-open ul { display:block; } ' + \r
++                              'li.jstree-closed ul { display:none !important; } ' + \r
++                              '.jstree li a { display:inline; border-width:0 !important; padding:0px 2px !important; } ' + \r
++                              '.jstree li a ins { height:16px; width:16px; margin-right:3px; } ' + \r
++                              '.jstree-rtl li a ins { margin-right:0px; margin-left:3px; } ';\r
++              }\r
++              // Correct IE 7 (shifts anchor nodes onhover)\r
++              if(/msie/.test(u) && parseInt(v, 10) == 7) { \r
++                      is_ie7 = true;\r
++                      css_string += '.jstree li a { border-width:0 !important; padding:0px 2px !important; } ';\r
++              }\r
++              // correct ff2 lack of display:inline-block\r
++              if(!/compatible/.test(u) && /mozilla/.test(u) && parseFloat(v, 10) < 1.9) {\r
++                      is_ff2 = true;\r
++                      css_string += '' + \r
++                              '.jstree ins { display:-moz-inline-box; } ' + \r
++                              '.jstree li { line-height:12px; } ' + // WHY??\r
++                              '.jstree a { display:-moz-inline-box; } ' + \r
++                              '.jstree .jstree-no-icons .jstree-checkbox { display:-moz-inline-stack !important; } ';\r
++                              /* this shouldn't be here as it is theme specific */\r
++              }\r
++              // the default stylesheet\r
++              $.vakata.css.add_sheet({ str : css_string, title : "jstree" });\r
++      });\r
++\r
++      // core functions (open, close, create, update, delete)\r
++      $.jstree.plugin("core", {\r
++              __init : function () {\r
++                      this.data.core.locked = false;\r
++                      this.data.core.to_open = this.get_settings().core.initially_open;\r
++                      this.data.core.to_load = this.get_settings().core.initially_load;\r
++              },\r
++              defaults : { \r
++                      html_titles     : false,\r
++                      animation       : 500,\r
++                      initially_open : [],\r
++                      initially_load : [],\r
++                      open_parents : true,\r
++                      notify_plugins : true,\r
++                      rtl                     : false,\r
++                      load_open       : false,\r
++                      strings         : {\r
++                              loading         : "Loading ...",\r
++                              new_node        : "New node",\r
++                              multiple_selection : "Multiple selection"\r
++                      }\r
++              },\r
++              _fn : { \r
++                      init    : function () { \r
++                              this.set_focus(); \r
++                              if(this._get_settings().core.rtl) {\r
++                                      this.get_container().addClass("jstree-rtl").css("direction", "rtl");\r
++                              }\r
++                              this.get_container().html("<ul><li class='jstree-last jstree-leaf'><ins>&#160;</ins><a class='jstree-loading' href='#'><ins class='jstree-icon'>&#160;</ins>" + this._get_string("loading") + "</a></li></ul>");\r
++                              this.data.core.li_height = this.get_container_ul().find("li.jstree-closed, li.jstree-leaf").eq(0).height() || 18;\r
++\r
++                              this.get_container()\r
++                                      .delegate("li > ins", "click.jstree", $.proxy(function (event) {\r
++                                                      var trgt = $(event.target);\r
++                                                      // if(trgt.is("ins") && event.pageY - trgt.offset().top < this.data.core.li_height) { this.toggle_node(trgt); }\r
++                                                      this.toggle_node(trgt);\r
++                                              }, this))\r
++                                      .bind("mousedown.jstree", $.proxy(function () { \r
++                                                      this.set_focus(); // This used to be setTimeout(set_focus,0) - why?\r
++                                              }, this))\r
++                                      .bind("dblclick.jstree", function (event) { \r
++                                              var sel;\r
++                                              if(document.selection && document.selection.empty) { document.selection.empty(); }\r
++                                              else {\r
++                                                      if(window.getSelection) {\r
++                                                              sel = window.getSelection();\r
++                                                              try { \r
++                                                                      sel.removeAllRanges();\r
++                                                                      sel.collapse();\r
++                                                              } catch (err) { }\r
++                                                      }\r
++                                              }\r
++                                      });\r
++                              if(this._get_settings().core.notify_plugins) {\r
++                                      this.get_container()\r
++                                              .bind("load_node.jstree", $.proxy(function (e, data) { \r
++                                                              var o = this._get_node(data.rslt.obj),\r
++                                                                      t = this;\r
++                                                              if(o === -1) { o = this.get_container_ul(); }\r
++                                                              if(!o.length) { return; }\r
++                                                              o.find("li").each(function () {\r
++                                                                      var th = $(this);\r
++                                                                      if(th.data("jstree")) {\r
++                                                                              $.each(th.data("jstree"), function (plugin, values) {\r
++                                                                                      if(t.data[plugin] && $.isFunction(t["_" + plugin + "_notify"])) {\r
++                                                                                              t["_" + plugin + "_notify"].call(t, th, values);\r
++                                                                                      }\r
++                                                                              });\r
++                                                                      }\r
++                                                              });\r
++                                                      }, this));\r
++                              }\r
++                              if(this._get_settings().core.load_open) {\r
++                                      this.get_container()\r
++                                              .bind("load_node.jstree", $.proxy(function (e, data) { \r
++                                                              var o = this._get_node(data.rslt.obj),\r
++                                                                      t = this;\r
++                                                              if(o === -1) { o = this.get_container_ul(); }\r
++                                                              if(!o.length) { return; }\r
++                                                              o.find("li.jstree-open:not(:has(ul))").each(function () {\r
++                                                                      t.load_node(this, $.noop, $.noop);\r
++                                                              });\r
++                                                      }, this));\r
++                              }\r
++                              this.__callback();\r
++                              this.load_node(-1, function () { this.loaded(); this.reload_nodes(); });\r
++                      },\r
++                      destroy : function () { \r
++                              var i,\r
++                                      n = this.get_index(),\r
++                                      s = this._get_settings(),\r
++                                      _this = this;\r
++\r
++                              $.each(s.plugins, function (i, val) {\r
++                                      try { plugins[val].__destroy.apply(_this); } catch(err) { }\r
++                              });\r
++                              this.__callback();\r
++                              // set focus to another instance if this one is focused\r
++                              if(this.is_focused()) { \r
++                                      for(i in instances) { \r
++                                              if(instances.hasOwnProperty(i) && i != n) { \r
++                                                      instances[i].set_focus(); \r
++                                                      break; \r
++                                              } \r
++                                      }\r
++                              }\r
++                              // if no other instance found\r
++                              if(n === focused_instance) { focused_instance = -1; }\r
++                              // remove all traces of jstree in the DOM (only the ones set using jstree*) and cleans all events\r
++                              this.get_container()\r
++                                      .unbind(".jstree")\r
++                                      .undelegate(".jstree")\r
++                                      .removeData("jstree_instance_id")\r
++                                      .find("[class^='jstree']")\r
++                                              .andSelf()\r
++                                              .attr("class", function () { return this.className.replace(/jstree[^ ]*|$/ig,''); });\r
++                              $(document)\r
++                                      .unbind(".jstree-" + n)\r
++                                      .undelegate(".jstree-" + n);\r
++                              // remove the actual data\r
++                              instances[n] = null;\r
++                              delete instances[n];\r
++                      },\r
++\r
++                      _core_notify : function (n, data) {\r
++                              if(data.opened) {\r
++                                      this.open_node(n, false, true);\r
++                              }\r
++                      },\r
++\r
++                      lock : function () {\r
++                              this.data.core.locked = true;\r
++                              this.get_container().children("ul").addClass("jstree-locked").css("opacity","0.7");\r
++                              this.__callback({});\r
++                      },\r
++                      unlock : function () {\r
++                              this.data.core.locked = false;\r
++                              this.get_container().children("ul").removeClass("jstree-locked").css("opacity","1");\r
++                              this.__callback({});\r
++                      },\r
++                      is_locked : function () { return this.data.core.locked; },\r
++                      save_opened : function () {\r
++                              var _this = this;\r
++                              this.data.core.to_open = [];\r
++                              this.get_container_ul().find("li.jstree-open").each(function () { \r
++                                      if(this.id) { _this.data.core.to_open.push("#" + this.id.toString().replace(/^#/,"").replace(/\\\//g,"/").replace(/\//g,"\\\/").replace(/\\\./g,".").replace(/\./g,"\\.").replace(/\:/g,"\\:")); }\r
++                              });\r
++                              this.__callback(_this.data.core.to_open);\r
++                      },\r
++                      save_loaded : function () { },\r
++                      reload_nodes : function (is_callback) {\r
++                              var _this = this,\r
++                                      done = true,\r
++                                      current = [],\r
++                                      remaining = [];\r
++                              if(!is_callback) { \r
++                                      this.data.core.reopen = false; \r
++                                      this.data.core.refreshing = true; \r
++                                      this.data.core.to_open = $.map($.makeArray(this.data.core.to_open), function (n) { return "#" + n.toString().replace(/^#/,"").replace(/\\\//g,"/").replace(/\//g,"\\\/").replace(/\\\./g,".").replace(/\./g,"\\.").replace(/\:/g,"\\:"); });\r
++                                      this.data.core.to_load = $.map($.makeArray(this.data.core.to_load), function (n) { return "#" + n.toString().replace(/^#/,"").replace(/\\\//g,"/").replace(/\//g,"\\\/").replace(/\\\./g,".").replace(/\./g,"\\.").replace(/\:/g,"\\:"); });\r
++                                      if(this.data.core.to_open.length) {\r
++                                              this.data.core.to_load = this.data.core.to_load.concat(this.data.core.to_open);\r
++                                      }\r
++                              }\r
++                              if(this.data.core.to_load.length) {\r
++                                      $.each(this.data.core.to_load, function (i, val) {\r
++                                              if(val == "#") { return true; }\r
++                                              if($(val).length) { current.push(val); }\r
++                                              else { remaining.push(val); }\r
++                                      });\r
++                                      if(current.length) {\r
++                                              this.data.core.to_load = remaining;\r
++                                              $.each(current, function (i, val) { \r
++                                                      if(!_this._is_loaded(val)) {\r
++                                                              _this.load_node(val, function () { _this.reload_nodes(true); }, function () { _this.reload_nodes(true); });\r
++                                                              done = false;\r
++                                                      }\r
++                                              });\r
++                                      }\r
++                              }\r
++                              if(this.data.core.to_open.length) {\r
++                                      $.each(this.data.core.to_open, function (i, val) {\r
++                                              _this.open_node(val, false, true); \r
++                                      });\r
++                              }\r
++                              if(done) { \r
++                                      // TODO: find a more elegant approach to syncronizing returning requests\r
++                                      if(this.data.core.reopen) { clearTimeout(this.data.core.reopen); }\r
++                                      this.data.core.reopen = setTimeout(function () { _this.__callback({}, _this); }, 50);\r
++                                      this.data.core.refreshing = false;\r
++                                      this.reopen();\r
++                              }\r
++                      },\r
++                      reopen : function () {\r
++                              var _this = this;\r
++                              if(this.data.core.to_open.length) {\r
++                                      $.each(this.data.core.to_open, function (i, val) {\r
++                                              _this.open_node(val, false, true); \r
++                                      });\r
++                              }\r
++                              this.__callback({});\r
++                      },\r
++                      refresh : function (obj) {\r
++                              var _this = this;\r
++                              this.save_opened();\r
++                              if(!obj) { obj = -1; }\r
++                              obj = this._get_node(obj);\r
++                              if(!obj) { obj = -1; }\r
++                              if(obj !== -1) { obj.children("UL").remove(); }\r
++                              else { this.get_container_ul().empty(); }\r
++                              this.load_node(obj, function () { _this.__callback({ "obj" : obj}); _this.reload_nodes(); });\r
++                      },\r
++                      // Dummy function to fire after the first load (so that there is a jstree.loaded event)\r
++                      loaded  : function () { \r
++                              this.__callback(); \r
++                      },\r
++                      // deal with focus\r
++                      set_focus       : function () { \r
++                              if(this.is_focused()) { return; }\r
++                              var f = $.jstree._focused();\r
++                              if(f) { f.unset_focus(); }\r
++\r
++                              this.get_container().addClass("jstree-focused"); \r
++                              focused_instance = this.get_index(); \r
++                              this.__callback();\r
++                      },\r
++                      is_focused      : function () { \r
++                              return focused_instance == this.get_index(); \r
++                      },\r
++                      unset_focus     : function () {\r
++                              if(this.is_focused()) {\r
++                                      this.get_container().removeClass("jstree-focused"); \r
++                                      focused_instance = -1; \r
++                              }\r
++                              this.__callback();\r
++                      },\r
++\r
++                      // traverse\r
++                      _get_node               : function (obj) { \r
++                              var $obj = $(obj, this.get_container()); \r
++                              if($obj.is(".jstree") || obj == -1) { return -1; } \r
++                              $obj = $obj.closest("li", this.get_container()); \r
++                              return $obj.length ? $obj : false; \r
++                      },\r
++                      _get_next               : function (obj, strict) {\r
++                              obj = this._get_node(obj);\r
++                              if(obj === -1) { return this.get_container().find("> ul > li:first-child"); }\r
++                              if(!obj.length) { return false; }\r
++                              if(strict) { return (obj.nextAll("li").size() > 0) ? obj.nextAll("li:eq(0)") : false; }\r
++\r
++                              if(obj.hasClass("jstree-open")) { return obj.find("li:eq(0)"); }\r
++                              else if(obj.nextAll("li").size() > 0) { return obj.nextAll("li:eq(0)"); }\r
++                              else { return obj.parentsUntil(".jstree","li").next("li").eq(0); }\r
++                      },\r
++                      _get_prev               : function (obj, strict) {\r
++                              obj = this._get_node(obj);\r
++                              if(obj === -1) { return this.get_container().find("> ul > li:last-child"); }\r
++                              if(!obj.length) { return false; }\r
++                              if(strict) { return (obj.prevAll("li").length > 0) ? obj.prevAll("li:eq(0)") : false; }\r
++\r
++                              if(obj.prev("li").length) {\r
++                                      obj = obj.prev("li").eq(0);\r
++                                      while(obj.hasClass("jstree-open")) { obj = obj.children("ul:eq(0)").children("li:last"); }\r
++                                      return obj;\r
++                              }\r
++                              else { var o = obj.parentsUntil(".jstree","li:eq(0)"); return o.length ? o : false; }\r
++                      },\r
++                      _get_parent             : function (obj) {\r
++                              obj = this._get_node(obj);\r
++                              if(obj == -1 || !obj.length) { return false; }\r
++                              var o = obj.parentsUntil(".jstree", "li:eq(0)");\r
++                              return o.length ? o : -1;\r
++                      },\r
++                      _get_children   : function (obj) {\r
++                              obj = this._get_node(obj);\r
++                              if(obj === -1) { return this.get_container().children("ul:eq(0)").children("li"); }\r
++                              if(!obj.length) { return false; }\r
++                              return obj.children("ul:eq(0)").children("li");\r
++                      },\r
++                      get_path                : function (obj, id_mode) {\r
++                              var p = [],\r
++                                      _this = this;\r
++                              obj = this._get_node(obj);\r
++                              if(obj === -1 || !obj || !obj.length) { return false; }\r
++                              obj.parentsUntil(".jstree", "li").each(function () {\r
++                                      p.push( id_mode ? this.id : _this.get_text(this) );\r
++                              });\r
++                              p.reverse();\r
++                              p.push( id_mode ? obj.attr("id") : this.get_text(obj) );\r
++                              return p;\r
++                      },\r
++\r
++                      // string functions\r
++                      _get_string : function (key) {\r
++                              return this._get_settings().core.strings[key] || key;\r
++                      },\r
++\r
++                      is_open         : function (obj) { obj = this._get_node(obj); return obj && obj !== -1 && obj.hasClass("jstree-open"); },\r
++                      is_closed       : function (obj) { obj = this._get_node(obj); return obj && obj !== -1 && obj.hasClass("jstree-closed"); },\r
++                      is_leaf         : function (obj) { obj = this._get_node(obj); return obj && obj !== -1 && obj.hasClass("jstree-leaf"); },\r
++                      correct_state   : function (obj) {\r
++                              obj = this._get_node(obj);\r
++                              if(!obj || obj === -1) { return false; }\r
++                              obj.removeClass("jstree-closed jstree-open").addClass("jstree-leaf").children("ul").remove();\r
++                              this.__callback({ "obj" : obj });\r
++                      },\r
++                      // open/close\r
++                      open_node       : function (obj, callback, skip_animation) {\r
++                              obj = this._get_node(obj);\r
++                              if(!obj.length) { return false; }\r
++                              if(!obj.hasClass("jstree-closed")) { if(callback) { callback.call(); } return false; }\r
++                              var s = skip_animation || is_ie6 ? 0 : this._get_settings().core.animation,\r
++                                      t = this;\r
++                              if(!this._is_loaded(obj)) {\r
++                                      obj.children("a").addClass("jstree-loading");\r
++                                      this.load_node(obj, function () { t.open_node(obj, callback, skip_animation); }, callback);\r
++                              }\r
++                              else {\r
++                                      if(this._get_settings().core.open_parents) {\r
++                                              obj.parentsUntil(".jstree",".jstree-closed").each(function () {\r
++                                                      t.open_node(this, false, true);\r
++                                              });\r
++                                      }\r
++                                      if(s) { obj.children("ul").css("display","none"); }\r
++                                      obj.removeClass("jstree-closed").addClass("jstree-open").children("a").removeClass("jstree-loading");\r
++                                      if(s) { obj.children("ul").stop(true, true).slideDown(s, function () { this.style.display = ""; t.after_open(obj); }); }\r
++                                      else { t.after_open(obj); }\r
++                                      this.__callback({ "obj" : obj });\r
++                                      if(callback) { callback.call(); }\r
++                              }\r
++                      },\r
++                      after_open      : function (obj) { this.__callback({ "obj" : obj }); },\r
++                      close_node      : function (obj, skip_animation) {\r
++                              obj = this._get_node(obj);\r
++                              var s = skip_animation || is_ie6 ? 0 : this._get_settings().core.animation,\r
++                                      t = this;\r
++                              if(!obj.length || !obj.hasClass("jstree-open")) { return false; }\r
++                              if(s) { obj.children("ul").attr("style","display:block !important"); }\r
++                              obj.removeClass("jstree-open").addClass("jstree-closed");\r
++                              if(s) { obj.children("ul").stop(true, true).slideUp(s, function () { this.style.display = ""; t.after_close(obj); }); }\r
++                              else { t.after_close(obj); }\r
++                              this.__callback({ "obj" : obj });\r
++                      },\r
++                      after_close     : function (obj) { this.__callback({ "obj" : obj }); },\r
++                      toggle_node     : function (obj) {\r
++                              obj = this._get_node(obj);\r
++                              if(obj.hasClass("jstree-closed")) { return this.open_node(obj); }\r
++                              if(obj.hasClass("jstree-open")) { return this.close_node(obj); }\r
++                      },\r
++                      open_all        : function (obj, do_animation, original_obj) {\r
++                              obj = obj ? this._get_node(obj) : -1;\r
++                              if(!obj || obj === -1) { obj = this.get_container_ul(); }\r
++                              if(original_obj) { \r
++                                      obj = obj.find("li.jstree-closed");\r
++                              }\r
++                              else {\r
++                                      original_obj = obj;\r
++                                      if(obj.is(".jstree-closed")) { obj = obj.find("li.jstree-closed").andSelf(); }\r
++                                      else { obj = obj.find("li.jstree-closed"); }\r
++                              }\r
++                              var _this = this;\r
++                              obj.each(function () { \r
++                                      var __this = this; \r
++                                      if(!_this._is_loaded(this)) { _this.open_node(this, function() { _this.open_all(__this, do_animation, original_obj); }, !do_animation); }\r
++                                      else { _this.open_node(this, false, !do_animation); }\r
++                              });\r
++                              // so that callback is fired AFTER all nodes are open\r
++                              if(original_obj.find('li.jstree-closed').length === 0) { this.__callback({ "obj" : original_obj }); }\r
++                      },\r
++                      close_all       : function (obj, do_animation) {\r
++                              var _this = this;\r
++                              obj = obj ? this._get_node(obj) : this.get_container();\r
++                              if(!obj || obj === -1) { obj = this.get_container_ul(); }\r
++                              obj.find("li.jstree-open").andSelf().each(function () { _this.close_node(this, !do_animation); });\r
++                              this.__callback({ "obj" : obj });\r
++                      },\r
++                      clean_node      : function (obj) {\r
++                              obj = obj && obj != -1 ? $(obj) : this.get_container_ul();\r
++                              obj = obj.is("li") ? obj.find("li").andSelf() : obj.find("li");\r
++                              obj.removeClass("jstree-last")\r
++                                      .filter("li:last-child").addClass("jstree-last").end()\r
++                                      .filter(":has(li)")\r
++                                              .not(".jstree-open").removeClass("jstree-leaf").addClass("jstree-closed");\r
++                              obj.not(".jstree-open, .jstree-closed").addClass("jstree-leaf").children("ul").remove();\r
++                              this.__callback({ "obj" : obj });\r
++                      },\r
++                      // rollback\r
++                      get_rollback : function () { \r
++                              this.__callback();\r
++                              return { i : this.get_index(), h : this.get_container().children("ul").clone(true), d : this.data }; \r
++                      },\r
++                      set_rollback : function (html, data) {\r
++                              this.get_container().empty().append(html);\r
++                              this.data = data;\r
++                              this.__callback();\r
++                      },\r
++                      // Dummy functions to be overwritten by any datastore plugin included\r
++                      load_node       : function (obj, s_call, e_call) { this.__callback({ "obj" : obj }); },\r
++                      _is_loaded      : function (obj) { return true; },\r
++\r
++                      // Basic operations: create\r
++                      create_node     : function (obj, position, js, callback, is_loaded) {\r
++                              obj = this._get_node(obj);\r
++                              position = typeof position === "undefined" ? "last" : position;\r
++                              var d = $("<li />"),\r
++                                      s = this._get_settings().core,\r
++                                      tmp;\r
++\r
++                              if(obj !== -1 && !obj.length) { return false; }\r
++                              if(!is_loaded && !this._is_loaded(obj)) { this.load_node(obj, function () { this.create_node(obj, position, js, callback, true); }); return false; }\r
++\r
++                              this.__rollback();\r
++\r
++                              if(typeof js === "string") { js = { "data" : js }; }\r
++                              if(!js) { js = {}; }\r
++                              if(js.attr) { d.attr(js.attr); }\r
++                              if(js.metadata) { d.data(js.metadata); }\r
++                              if(js.state) { d.addClass("jstree-" + js.state); }\r
++                              if(!js.data) { js.data = this._get_string("new_node"); }\r
++                              if(!$.isArray(js.data)) { tmp = js.data; js.data = []; js.data.push(tmp); }\r
++                              $.each(js.data, function (i, m) {\r
++                                      tmp = $("<a />");\r
++                                      if($.isFunction(m)) { m = m.call(this, js); }\r
++                                      if(typeof m == "string") { tmp.attr('href','#')[ s.html_titles ? "html" : "text" ](m); }\r
++                                      else {\r
++                                              if(!m.attr) { m.attr = {}; }\r
++                                              if(!m.attr.href) { m.attr.href = '#'; }\r
++                                              tmp.attr(m.attr)[ s.html_titles ? "html" : "text" ](m.title);\r
++                                              if(m.language) { tmp.addClass(m.language); }\r
++                                      }\r
++                                      tmp.prepend("<ins class='jstree-icon'>&#160;</ins>");\r
++                                      if(!m.icon && js.icon) { m.icon = js.icon; }\r
++                                      if(m.icon) { \r
++                                              if(m.icon.indexOf("/") === -1) { tmp.children("ins").addClass(m.icon); }\r
++                                              else { tmp.children("ins").css("background","url('" + m.icon + "') center center no-repeat"); }\r
++                                      }\r
++                                      d.append(tmp);\r
++                              });\r
++                              d.prepend("<ins class='jstree-icon'>&#160;</ins>");\r
++                              if(obj === -1) {\r
++                                      obj = this.get_container();\r
++                                      if(position === "before") { position = "first"; }\r
++                                      if(position === "after") { position = "last"; }\r
++                              }\r
++                              switch(position) {\r
++                                      case "before": obj.before(d); tmp = this._get_parent(obj); break;\r
++                                      case "after" : obj.after(d);  tmp = this._get_parent(obj); break;\r
++                                      case "inside":\r
++                                      case "first" :\r
++                                              if(!obj.children("ul").length) { obj.append("<ul />"); }\r
++                                              obj.children("ul").prepend(d);\r
++                                              tmp = obj;\r
++                                              break;\r
++                                      case "last":\r
++                                              if(!obj.children("ul").length) { obj.append("<ul />"); }\r
++                                              obj.children("ul").append(d);\r
++                                              tmp = obj;\r
++                                              break;\r
++                                      default:\r
++                                              if(!obj.children("ul").length) { obj.append("<ul />"); }\r
++                                              if(!position) { position = 0; }\r
++                                              tmp = obj.children("ul").children("li").eq(position);\r
++                                              if(tmp.length) { tmp.before(d); }\r
++                                              else { obj.children("ul").append(d); }\r
++                                              tmp = obj;\r
++                                              break;\r
++                              }\r
++                              if(tmp === -1 || tmp.get(0) === this.get_container().get(0)) { tmp = -1; }\r
++                              this.clean_node(tmp);\r
++                              this.__callback({ "obj" : d, "parent" : tmp });\r
++                              if(callback) { callback.call(this, d); }\r
++                              return d;\r
++                      },\r
++                      // Basic operations: rename (deal with text)\r
++                      get_text        : function (obj) {\r
++                              obj = this._get_node(obj);\r
++                              if(!obj.length) { return false; }\r
++                              var s = this._get_settings().core.html_titles;\r
++                              obj = obj.children("a:eq(0)");\r
++                              if(s) {\r
++                                      obj = obj.clone();\r
++                                      obj.children("INS").remove();\r
++                                      return obj.html();\r
++                              }\r
++                              else {\r
++                                      obj = obj.contents().filter(function() { return this.nodeType == 3; })[0];\r
++                                      return obj.nodeValue;\r
++                              }\r
++                      },\r
++                      set_text        : function (obj, val) {\r
++                              obj = this._get_node(obj);\r
++                              if(!obj.length) { return false; }\r
++                              obj = obj.children("a:eq(0)");\r
++                              if(this._get_settings().core.html_titles) {\r
++                                      var tmp = obj.children("INS").clone();\r
++                                      obj.html(val).prepend(tmp);\r
++                                      this.__callback({ "obj" : obj, "name" : val });\r
++                                      return true;\r
++                              }\r
++                              else {\r
++                                      obj = obj.contents().filter(function() { return this.nodeType == 3; })[0];\r
++                                      this.__callback({ "obj" : obj, "name" : val });\r
++                                      return (obj.nodeValue = val);\r
++                              }\r
++                      },\r
++                      rename_node : function (obj, val) {\r
++                              obj = this._get_node(obj);\r
++                              this.__rollback();\r
++                              if(obj && obj.length && this.set_text.apply(this, Array.prototype.slice.call(arguments))) { this.__callback({ "obj" : obj, "name" : val }); }\r
++                      },\r
++                      // Basic operations: deleting nodes\r
++                      delete_node : function (obj) {\r
++                              obj = this._get_node(obj);\r
++                              if(!obj.length) { return false; }\r
++                              this.__rollback();\r
++                              var p = this._get_parent(obj), prev = $([]), t = this;\r
++                              obj.each(function () {\r
++                                      prev = prev.add(t._get_prev(this));\r
++                              });\r
++                              obj = obj.detach();\r
++                              if(p !== -1 && p.find("> ul > li").length === 0) {\r
++                                      p.removeClass("jstree-open jstree-closed").addClass("jstree-leaf");\r
++                              }\r
++                              this.clean_node(p);\r
++                              this.__callback({ "obj" : obj, "prev" : prev, "parent" : p });\r
++                              return obj;\r
++                      },\r
++                      prepare_move : function (o, r, pos, cb, is_cb) {\r
++                              var p = {};\r
++\r
++                              p.ot = $.jstree._reference(o) || this;\r
++                              p.o = p.ot._get_node(o);\r
++                              p.r = r === - 1 ? -1 : this._get_node(r);\r
++                              p.p = (typeof pos === "undefined" || pos === false) ? "last" : pos; // TODO: move to a setting\r
++                              if(!is_cb && prepared_move.o && prepared_move.o[0] === p.o[0] && prepared_move.r[0] === p.r[0] && prepared_move.p === p.p) {\r
++                                      this.__callback(prepared_move);\r
++                                      if(cb) { cb.call(this, prepared_move); }\r
++                                      return;\r
++                              }\r
++                              p.ot = $.jstree._reference(p.o) || this;\r
++                              p.rt = $.jstree._reference(p.r) || this; // r === -1 ? p.ot : $.jstree._reference(p.r) || this\r
++                              if(p.r === -1 || !p.r) {\r
++                                      p.cr = -1;\r
++                                      switch(p.p) {\r
++                                              case "first":\r
++                                              case "before":\r
++                                              case "inside":\r
++                                                      p.cp = 0; \r
++                                                      break;\r
++                                              case "after":\r
++                                              case "last":\r
++                                                      p.cp = p.rt.get_container().find(" > ul > li").length; \r
++                                                      break;\r
++                                              default:\r
++                                                      p.cp = p.p;\r
++                                                      break;\r
++                                      }\r
++                              }\r
++                              else {\r
++                                      if(!/^(before|after)$/.test(p.p) && !this._is_loaded(p.r)) {\r
++                                              return this.load_node(p.r, function () { this.prepare_move(o, r, pos, cb, true); });\r
++                                      }\r
++                                      switch(p.p) {\r
++                                              case "before":\r
++                                                      p.cp = p.r.index();\r
++                                                      p.cr = p.rt._get_parent(p.r);\r
++                                                      break;\r
++                                              case "after":\r
++                                                      p.cp = p.r.index() + 1;\r
++                                                      p.cr = p.rt._get_parent(p.r);\r
++                                                      break;\r
++                                              case "inside":\r
++                                              case "first":\r
++                                                      p.cp = 0;\r
++                                                      p.cr = p.r;\r
++                                                      break;\r
++                                              case "last":\r
++                                                      p.cp = p.r.find(" > ul > li").length; \r
++                                                      p.cr = p.r;\r
++                                                      break;\r
++                                              default: \r
++                                                      p.cp = p.p;\r
++                                                      p.cr = p.r;\r
++                                                      break;\r
++                                      }\r
++                              }\r
++                              p.np = p.cr == -1 ? p.rt.get_container() : p.cr;\r
++                              p.op = p.ot._get_parent(p.o);\r
++                              p.cop = p.o.index();\r
++                              if(p.op === -1) { p.op = p.ot ? p.ot.get_container() : this.get_container(); }\r
++                              if(!/^(before|after)$/.test(p.p) && p.op && p.np && p.op[0] === p.np[0] && p.o.index() < p.cp) { p.cp++; }\r
++                              //if(p.p === "before" && p.op && p.np && p.op[0] === p.np[0] && p.o.index() < p.cp) { p.cp--; }\r
++                              p.or = p.np.find(" > ul > li:nth-child(" + (p.cp + 1) + ")");\r
++                              prepared_move = p;\r
++                              this.__callback(prepared_move);\r
++                              if(cb) { cb.call(this, prepared_move); }\r
++                      },\r
++                      check_move : function () {\r
++                              var obj = prepared_move, ret = true, r = obj.r === -1 ? this.get_container() : obj.r;\r
++                              if(!obj || !obj.o || obj.or[0] === obj.o[0]) { return false; }\r
++                              if(obj.op && obj.np && obj.op[0] === obj.np[0] && obj.cp - 1 === obj.o.index()) { return false; }\r
++                              obj.o.each(function () { \r
++                                      if(r.parentsUntil(".jstree", "li").andSelf().index(this) !== -1) { ret = false; return false; }\r
++                              });\r
++                              return ret;\r
++                      },\r
++                      move_node : function (obj, ref, position, is_copy, is_prepared, skip_check) {\r
++                              if(!is_prepared) { \r
++                                      return this.prepare_move(obj, ref, position, function (p) {\r
++                                              this.move_node(p, false, false, is_copy, true, skip_check);\r
++                                      });\r
++                              }\r
++                              if(is_copy) { \r
++                                      prepared_move.cy = true;\r
++                              }\r
++                              if(!skip_check && !this.check_move()) { return false; }\r
++\r
++                              this.__rollback();\r
++                              var o = false;\r
++                              if(is_copy) {\r
++                                      o = obj.o.clone(true);\r
++                                      o.find("*[id]").andSelf().each(function () {\r
++                                              if(this.id) { this.id = "copy_" + this.id; }\r
++                                      });\r
++                              }\r
++                              else { o = obj.o; }\r
++\r
++                              if(obj.or.length) { obj.or.before(o); }\r
++                              else { \r
++                                      if(!obj.np.children("ul").length) { $("<ul />").appendTo(obj.np); }\r
++                                      obj.np.children("ul:eq(0)").append(o); \r
++                              }\r
++\r
++                              try { \r
++                                      obj.ot.clean_node(obj.op);\r
++                                      obj.rt.clean_node(obj.np);\r
++                                      if(!obj.op.find("> ul > li").length) {\r
++                                              obj.op.removeClass("jstree-open jstree-closed").addClass("jstree-leaf").children("ul").remove();\r
++                                      }\r
++                              } catch (e) { }\r
++\r
++                              if(is_copy) { \r
++                                      prepared_move.cy = true;\r
++                                      prepared_move.oc = o; \r
++                              }\r
++                              this.__callback(prepared_move);\r
++                              return prepared_move;\r
++                      },\r
++                      _get_move : function () { return prepared_move; }\r
++              }\r
++      });\r
++})(jQuery);\r
++//*/\r
++\r
++/* \r
++ * jsTree ui plugin\r
++ * This plugins handles selecting/deselecting/hovering/dehovering nodes\r
++ */\r
++(function ($) {\r
++      var scrollbar_width, e1, e2;\r
++      $(function() {\r
++              if (/msie/.test(navigator.userAgent.toLowerCase())) {\r
++                      e1 = $('<textarea cols="10" rows="2"></textarea>').css({ position: 'absolute', top: -1000, left: 0 }).appendTo('body');\r
++                      e2 = $('<textarea cols="10" rows="2" style="overflow: hidden;"></textarea>').css({ position: 'absolute', top: -1000, left: 0 }).appendTo('body');\r
++                      scrollbar_width = e1.width() - e2.width();\r
++                      e1.add(e2).remove();\r
++              } \r
++              else {\r
++                      e1 = $('<div />').css({ width: 100, height: 100, overflow: 'auto', position: 'absolute', top: -1000, left: 0 })\r
++                                      .prependTo('body').append('<div />').find('div').css({ width: '100%', height: 200 });\r
++                      scrollbar_width = 100 - e1.width();\r
++                      e1.parent().remove();\r
++              }\r
++      });\r
++      $.jstree.plugin("ui", {\r
++              __init : function () { \r
++                      this.data.ui.selected = $(); \r
++                      this.data.ui.last_selected = false; \r
++                      this.data.ui.hovered = null;\r
++                      this.data.ui.to_select = this.get_settings().ui.initially_select;\r
++\r
++                      this.get_container()\r
++                              .delegate("a", "click.jstree", $.proxy(function (event) {\r
++                                              event.preventDefault();\r
++                                              event.currentTarget.blur();\r
++                                              if(!$(event.currentTarget).hasClass("jstree-loading")) {\r
++                                                      this.select_node(event.currentTarget, true, event);\r
++                                              }\r
++                                      }, this))\r
++                              .delegate("a", "mouseenter.jstree", $.proxy(function (event) {\r
++                                              if(!$(event.currentTarget).hasClass("jstree-loading")) {\r
++                                                      this.hover_node(event.target);\r
++                                              }\r
++                                      }, this))\r
++                              .delegate("a", "mouseleave.jstree", $.proxy(function (event) {\r
++                                              if(!$(event.currentTarget).hasClass("jstree-loading")) {\r
++                                                      this.dehover_node(event.target);\r
++                                              }\r
++                                      }, this))\r
++                              .bind("reopen.jstree", $.proxy(function () { \r
++                                              this.reselect();\r
++                                      }, this))\r
++                              .bind("get_rollback.jstree", $.proxy(function () { \r
++                                              this.dehover_node();\r
++                                              this.save_selected();\r
++                                      }, this))\r
++                              .bind("set_rollback.jstree", $.proxy(function () { \r
++                                              this.reselect();\r
++                                      }, this))\r
++                              .bind("close_node.jstree", $.proxy(function (event, data) { \r
++                                              var s = this._get_settings().ui,\r
++                                                      obj = this._get_node(data.rslt.obj),\r
++                                                      clk = (obj && obj.length) ? obj.children("ul").find("a.jstree-clicked") : $(),\r
++                                                      _this = this;\r
++                                              if(s.selected_parent_close === false || !clk.length) { return; }\r
++                                              clk.each(function () { \r
++                                                      _this.deselect_node(this);\r
++                                                      if(s.selected_parent_close === "select_parent") { _this.select_node(obj); }\r
++                                              });\r
++                                      }, this))\r
++                              .bind("delete_node.jstree", $.proxy(function (event, data) { \r
++                                              var s = this._get_settings().ui.select_prev_on_delete,\r
++                                                      obj = this._get_node(data.rslt.obj),\r
++                                                      clk = (obj && obj.length) ? obj.find("a.jstree-clicked") : [],\r
++                                                      _this = this;\r
++                                              clk.each(function () { _this.deselect_node(this); });\r
++                                              if(s && clk.length) { \r
++                                                      data.rslt.prev.each(function () { \r
++                                                              if(this.parentNode) { _this.select_node(this); return false; /* if return false is removed all prev nodes will be selected */}\r
++                                                      });\r
++                                              }\r
++                                      }, this))\r
++                              .bind("move_node.jstree", $.proxy(function (event, data) { \r
++                                              if(data.rslt.cy) { \r
++                                                      data.rslt.oc.find("a.jstree-clicked").removeClass("jstree-clicked");\r
++                                              }\r
++                                      }, this));\r
++              },\r
++              defaults : {\r
++                      select_limit : -1, // 0, 1, 2 ... or -1 for unlimited\r
++                      select_multiple_modifier : "ctrl", // on, or ctrl, shift, alt\r
++                      select_range_modifier : "shift",\r
++                      selected_parent_close : "select_parent", // false, "deselect", "select_parent"\r
++                      selected_parent_open : true,\r
++                      select_prev_on_delete : true,\r
++                      disable_selecting_children : false,\r
++                      initially_select : []\r
++              },\r
++              _fn : { \r
++                      _get_node : function (obj, allow_multiple) {\r
++                              if(typeof obj === "undefined" || obj === null) { return allow_multiple ? this.data.ui.selected : this.data.ui.last_selected; }\r
++                              var $obj = $(obj, this.get_container()); \r
++                              if($obj.is(".jstree") || obj == -1) { return -1; } \r
++                              $obj = $obj.closest("li", this.get_container()); \r
++                              return $obj.length ? $obj : false; \r
++                      },\r
++                      _ui_notify : function (n, data) {\r
++                              if(data.selected) {\r
++                                      this.select_node(n, false);\r
++                              }\r
++                      },\r
++                      save_selected : function () {\r
++                              var _this = this;\r
++                              this.data.ui.to_select = [];\r
++                              this.data.ui.selected.each(function () { if(this.id) { _this.data.ui.to_select.push("#" + this.id.toString().replace(/^#/,"").replace(/\\\//g,"/").replace(/\//g,"\\\/").replace(/\\\./g,".").replace(/\./g,"\\.").replace(/\:/g,"\\:")); } });\r
++                              this.__callback(this.data.ui.to_select);\r
++                      },\r
++                      reselect : function () {\r
++                              var _this = this,\r
++                                      s = this.data.ui.to_select;\r
++                              s = $.map($.makeArray(s), function (n) { return "#" + n.toString().replace(/^#/,"").replace(/\\\//g,"/").replace(/\//g,"\\\/").replace(/\\\./g,".").replace(/\./g,"\\.").replace(/\:/g,"\\:"); });\r
++                              // this.deselect_all(); WHY deselect, breaks plugin state notifier?\r
++                              $.each(s, function (i, val) { if(val && val !== "#") { _this.select_node(val); } });\r
++                              this.data.ui.selected = this.data.ui.selected.filter(function () { return this.parentNode; });\r
++                              this.__callback();\r
++                      },\r
++                      refresh : function (obj) {\r
++                              this.save_selected();\r
++                              return this.__call_old();\r
++                      },\r
++                      hover_node : function (obj) {\r
++                              obj = this._get_node(obj);\r
++                              if(!obj.length) { return false; }\r
++                              //if(this.data.ui.hovered && obj.get(0) === this.data.ui.hovered.get(0)) { return; }\r
++                              if(!obj.hasClass("jstree-hovered")) { this.dehover_node(); }\r
++                              this.data.ui.hovered = obj.children("a").addClass("jstree-hovered").parent();\r
++                              this._fix_scroll(obj);\r
++                              this.__callback({ "obj" : obj });\r
++                      },\r
++                      dehover_node : function () {\r
++                              var obj = this.data.ui.hovered, p;\r
++                              if(!obj || !obj.length) { return false; }\r
++                              p = obj.children("a").removeClass("jstree-hovered").parent();\r
++                              if(this.data.ui.hovered[0] === p[0]) { this.data.ui.hovered = null; }\r
++                              this.__callback({ "obj" : obj });\r
++                      },\r
++                      select_node : function (obj, check, e) {\r
++                              obj = this._get_node(obj);\r
++                              if(obj == -1 || !obj || !obj.length) { return false; }\r
++                              var s = this._get_settings().ui,\r
++                                      is_multiple = (s.select_multiple_modifier == "on" || (s.select_multiple_modifier !== false && e && e[s.select_multiple_modifier + "Key"])),\r
++                                      is_range = (s.select_range_modifier !== false && e && e[s.select_range_modifier + "Key"] && this.data.ui.last_selected && this.data.ui.last_selected[0] !== obj[0] && this.data.ui.last_selected.parent()[0] === obj.parent()[0]),\r
++                                      is_selected = this.is_selected(obj),\r
++                                      proceed = true,\r
++                                      t = this;\r
++                              if(check) {\r
++                                      if(s.disable_selecting_children && is_multiple && \r
++                                              (\r
++                                                      (obj.parentsUntil(".jstree","li").children("a.jstree-clicked").length) ||\r
++                                                      (obj.children("ul").find("a.jstree-clicked:eq(0)").length)\r
++                                              )\r
++                                      ) {\r
++                                              return false;\r
++                                      }\r
++                                      proceed = false;\r
++                                      switch(!0) {\r
++                                              case (is_range):\r
++                                                      this.data.ui.last_selected.addClass("jstree-last-selected");\r
++                                                      obj = obj[ obj.index() < this.data.ui.last_selected.index() ? "nextUntil" : "prevUntil" ](".jstree-last-selected").andSelf();\r
++                                                      if(s.select_limit == -1 || obj.length < s.select_limit) {\r
++                                                              this.data.ui.last_selected.removeClass("jstree-last-selected");\r
++                                                              this.data.ui.selected.each(function () {\r
++                                                                      if(this !== t.data.ui.last_selected[0]) { t.deselect_node(this); }\r
++                                                              });\r
++                                                              is_selected = false;\r
++                                                              proceed = true;\r
++                                                      }\r
++                                                      else {\r
++                                                              proceed = false;\r
++                                                      }\r
++                                                      break;\r
++                                              case (is_selected && !is_multiple): \r
++                                                      this.deselect_all();\r
++                                                      is_selected = false;\r
++                                                      proceed = true;\r
++                                                      break;\r
++                                              case (!is_selected && !is_multiple): \r
++                                                      if(s.select_limit == -1 || s.select_limit > 0) {\r
++                                                              this.deselect_all();\r
++                                                              proceed = true;\r
++                                                      }\r
++                                                      break;\r
++                                              case (is_selected && is_multiple): \r
++                                                      this.deselect_node(obj);\r
++                                                      break;\r
++                                              case (!is_selected && is_multiple): \r
++                                                      if(s.select_limit == -1 || this.data.ui.selected.length + 1 <= s.select_limit) { \r
++                                                              proceed = true;\r
++                                                      }\r
++                                                      break;\r
++                                      }\r
++                              }\r
++                              if(proceed && !is_selected) {\r
++                                      if(!is_range) { this.data.ui.last_selected = obj; }\r
++                                      obj.children("a").addClass("jstree-clicked");\r
++                                      if(s.selected_parent_open) {\r
++                                              obj.parents(".jstree-closed").each(function () { t.open_node(this, false, true); });\r
++                                      }\r
++                                      this.data.ui.selected = this.data.ui.selected.add(obj);\r
++                                      this._fix_scroll(obj.eq(0));\r
++                                      this.__callback({ "obj" : obj, "e" : e });\r
++                              }\r
++                      },\r
++                      _fix_scroll : function (obj) {\r
++                              var c = this.get_container()[0], t;\r
++                              if(c.scrollHeight > c.offsetHeight) {\r
++                                      obj = this._get_node(obj);\r
++                                      if(!obj || obj === -1 || !obj.length || !obj.is(":visible")) { return; }\r
++                                      t = obj.offset().top - this.get_container().offset().top;\r
++                                      if(t < 0) { \r
++                                              c.scrollTop = c.scrollTop + t - 1; \r
++                                      }\r
++                                      if(t + this.data.core.li_height + (c.scrollWidth > c.offsetWidth ? scrollbar_width : 0) > c.offsetHeight) { \r
++                                              c.scrollTop = c.scrollTop + (t - c.offsetHeight + this.data.core.li_height + 1 + (c.scrollWidth > c.offsetWidth ? scrollbar_width : 0)); \r
++                                      }\r
++                              }\r
++                      },\r
++                      deselect_node : function (obj) {\r
++                              obj = this._get_node(obj);\r
++                              if(!obj.length) { return false; }\r
++                              if(this.is_selected(obj)) {\r
++                                      obj.children("a").removeClass("jstree-clicked");\r
++                                      this.data.ui.selected = this.data.ui.selected.not(obj);\r
++                                      if(this.data.ui.last_selected.get(0) === obj.get(0)) { this.data.ui.last_selected = this.data.ui.selected.eq(0); }\r
++                                      this.__callback({ "obj" : obj });\r
++                              }\r
++                      },\r
++                      toggle_select : function (obj) {\r
++                              obj = this._get_node(obj);\r
++                              if(!obj.length) { return false; }\r
++                              if(this.is_selected(obj)) { this.deselect_node(obj); }\r
++                              else { this.select_node(obj); }\r
++                      },\r
++                      is_selected : function (obj) { return this.data.ui.selected.index(this._get_node(obj)) >= 0; },\r
++                      get_selected : function (context) { \r
++                              return context ? $(context).find("a.jstree-clicked").parent() : this.data.ui.selected; \r
++                      },\r
++                      deselect_all : function (context) {\r
++                              var ret = context ? $(context).find("a.jstree-clicked").parent() : this.get_container().find("a.jstree-clicked").parent();\r
++                              ret.children("a.jstree-clicked").removeClass("jstree-clicked");\r
++                              this.data.ui.selected = $([]);\r
++                              this.data.ui.last_selected = false;\r
++                              this.__callback({ "obj" : ret });\r
++                      }\r
++              }\r
++      });\r
++      // include the selection plugin by default\r
++      $.jstree.defaults.plugins.push("ui");\r
++})(jQuery);\r
++//*/\r
++\r
++/* \r
++ * jsTree CRRM plugin\r
++ * Handles creating/renaming/removing/moving nodes by user interaction.\r
++ */\r
++(function ($) {\r
++      $.jstree.plugin("crrm", { \r
++              __init : function () {\r
++                      this.get_container()\r
++                              .bind("move_node.jstree", $.proxy(function (e, data) {\r
++                                      if(this._get_settings().crrm.move.open_onmove) {\r
++                                              var t = this;\r
++                                              data.rslt.np.parentsUntil(".jstree").andSelf().filter(".jstree-closed").each(function () {\r
++                                                      t.open_node(this, false, true);\r
++                                              });\r
++                                      }\r
++                              }, this));\r
++              },\r
++              defaults : {\r
++                      input_width_limit : 200,\r
++                      move : {\r
++                              always_copy                     : false, // false, true or "multitree"\r
++                              open_onmove                     : true,\r
++                              default_position        : "last",\r
++                              check_move                      : function (m) { return true; }\r
++                      }\r
++              },\r
++              _fn : {\r
++                      _show_input : function (obj, callback) {\r
++                              obj = this._get_node(obj);\r
++                              var rtl = this._get_settings().core.rtl,\r
++                                      w = this._get_settings().crrm.input_width_limit,\r
++                                      w1 = obj.children("ins").width(),\r
++                                      w2 = obj.find("> a:visible > ins").width() * obj.find("> a:visible > ins").length,\r
++                                      t = this.get_text(obj),\r
++                                      h1 = $("<div />", { css : { "position" : "absolute", "top" : "-200px", "left" : (rtl ? "0px" : "-1000px"), "visibility" : "hidden" } }).appendTo("body"),\r
++                                      h2 = obj.css("position","relative").append(\r
++                                      $("<input />", { \r
++                                              "value" : t,\r
++                                              "class" : "jstree-rename-input",\r
++                                              // "size" : t.length,\r
++                                              "css" : {\r
++                                                      "padding" : "0",\r
++                                                      "border" : "1px solid silver",\r
++                                                      "position" : "absolute",\r
++                                                      "left"  : (rtl ? "auto" : (w1 + w2 + 4) + "px"),\r
++                                                      "right" : (rtl ? (w1 + w2 + 4) + "px" : "auto"),\r
++                                                      "top" : "0px",\r
++                                                      "height" : (this.data.core.li_height - 2) + "px",\r
++                                                      "lineHeight" : (this.data.core.li_height - 2) + "px",\r
++                                                      "width" : "150px" // will be set a bit further down\r
++                                              },\r
++                                              "blur" : $.proxy(function () {\r
++                                                      var i = obj.children(".jstree-rename-input"),\r
++                                                              v = i.val();\r
++                                                      if(v === "") { v = t; }\r
++                                                      h1.remove();\r
++                                                      i.remove(); // rollback purposes\r
++                                                      this.set_text(obj,t); // rollback purposes\r
++                                                      this.rename_node(obj, v);\r
++                                                      callback.call(this, obj, v, t);\r
++                                                      obj.css("position","");\r
++                                              }, this),\r
++                                              "keyup" : function (event) {\r
++                                                      var key = event.keyCode || event.which;\r
++                                                      if(key == 27) { this.value = t; this.blur(); return; }\r
++                                                      else if(key == 13) { this.blur(); return; }\r
++                                                      else {\r
++                                                              h2.width(Math.min(h1.text("pW" + this.value).width(),w));\r
++                                                      }\r
++                                              },\r
++                                              "keypress" : function(event) {\r
++                                                      var key = event.keyCode || event.which;\r
++                                                      if(key == 13) { return false; }\r
++                                              }\r
++                                      })\r
++                              ).children(".jstree-rename-input"); \r
++                              this.set_text(obj, "");\r
++                              h1.css({\r
++                                              fontFamily              : h2.css('fontFamily')          || '',\r
++                                              fontSize                : h2.css('fontSize')            || '',\r
++                                              fontWeight              : h2.css('fontWeight')          || '',\r
++                                              fontStyle               : h2.css('fontStyle')           || '',\r
++                                              fontStretch             : h2.css('fontStretch')         || '',\r
++                                              fontVariant             : h2.css('fontVariant')         || '',\r
++                                              letterSpacing   : h2.css('letterSpacing')       || '',\r
++                                              wordSpacing             : h2.css('wordSpacing')         || ''\r
++                              });\r
++                              h2.width(Math.min(h1.text("pW" + h2[0].value).width(),w))[0].select();\r
++                      },\r
++                      rename : function (obj) {\r
++                              obj = this._get_node(obj);\r
++                              this.__rollback();\r
++                              var f = this.__callback;\r
++                              this._show_input(obj, function (obj, new_name, old_name) { \r
++                                      f.call(this, { "obj" : obj, "new_name" : new_name, "old_name" : old_name });\r
++                              });\r
++                      },\r
++                      create : function (obj, position, js, callback, skip_rename) {\r
++                              var t, _this = this;\r
++                              obj = this._get_node(obj);\r
++                              if(!obj) { obj = -1; }\r
++                              this.__rollback();\r
++                              t = this.create_node(obj, position, js, function (t) {\r
++                                      var p = this._get_parent(t),\r
++                                              pos = $(t).index();\r
++                                      if(callback) { callback.call(this, t); }\r
++                                      if(p.length && p.hasClass("jstree-closed")) { this.open_node(p, false, true); }\r
++                                      if(!skip_rename) { \r
++                                              this._show_input(t, function (obj, new_name, old_name) { \r
++                                                      _this.__callback({ "obj" : obj, "name" : new_name, "parent" : p, "position" : pos });\r
++                                              });\r
++                                      }\r
++                                      else { _this.__callback({ "obj" : t, "name" : this.get_text(t), "parent" : p, "position" : pos }); }\r
++                              });\r
++                              return t;\r
++                      },\r
++                      remove : function (obj) {\r
++                              obj = this._get_node(obj, true);\r
++                              var p = this._get_parent(obj), prev = this._get_prev(obj);\r
++                              this.__rollback();\r
++                              obj = this.delete_node(obj);\r
++                              if(obj !== false) { this.__callback({ "obj" : obj, "prev" : prev, "parent" : p }); }\r
++                      },\r
++                      check_move : function () {\r
++                              if(!this.__call_old()) { return false; }\r
++                              var s = this._get_settings().crrm.move;\r
++                              if(!s.check_move.call(this, this._get_move())) { return false; }\r
++                              return true;\r
++                      },\r
++                      move_node : function (obj, ref, position, is_copy, is_prepared, skip_check) {\r
++                              var s = this._get_settings().crrm.move;\r
++                              if(!is_prepared) { \r
++                                      if(typeof position === "undefined") { position = s.default_position; }\r
++                                      if(position === "inside" && !s.default_position.match(/^(before|after)$/)) { position = s.default_position; }\r
++                                      return this.__call_old(true, obj, ref, position, is_copy, false, skip_check);\r
++                              }\r
++                              // if the move is already prepared\r
++                              if(s.always_copy === true || (s.always_copy === "multitree" && obj.rt.get_index() !== obj.ot.get_index() )) {\r
++                                      is_copy = true;\r
++                              }\r
++                              this.__call_old(true, obj, ref, position, is_copy, true, skip_check);\r
++                      },\r
++\r
++                      cut : function (obj) {\r
++                              obj = this._get_node(obj, true);\r
++                              if(!obj || !obj.length) { return false; }\r
++                              this.data.crrm.cp_nodes = false;\r
++                              this.data.crrm.ct_nodes = obj;\r
++                              this.__callback({ "obj" : obj });\r
++                      },\r
++                      copy : function (obj) {\r
++                              obj = this._get_node(obj, true);\r
++                              if(!obj || !obj.length) { return false; }\r
++                              this.data.crrm.ct_nodes = false;\r
++                              this.data.crrm.cp_nodes = obj;\r
++                              this.__callback({ "obj" : obj });\r
++                      },\r
++                      paste : function (obj) { \r
++                              obj = this._get_node(obj);\r
++                              if(!obj || !obj.length) { return false; }\r
++                              var nodes = this.data.crrm.ct_nodes ? this.data.crrm.ct_nodes : this.data.crrm.cp_nodes;\r
++                              if(!this.data.crrm.ct_nodes && !this.data.crrm.cp_nodes) { return false; }\r
++                              if(this.data.crrm.ct_nodes) { this.move_node(this.data.crrm.ct_nodes, obj); this.data.crrm.ct_nodes = false; }\r
++                              if(this.data.crrm.cp_nodes) { this.move_node(this.data.crrm.cp_nodes, obj, false, true); }\r
++                              this.__callback({ "obj" : obj, "nodes" : nodes });\r
++                      }\r
++              }\r
++      });\r
++      // include the crr plugin by default\r
++      // $.jstree.defaults.plugins.push("crrm");\r
++})(jQuery);\r
++//*/\r
++\r
++/* \r
++ * jsTree themes plugin\r
++ * Handles loading and setting themes, as well as detecting path to themes, etc.\r
++ */\r
++(function ($) {\r
++      var themes_loaded = [];\r
++      // this variable stores the path to the themes folder - if left as false - it will be autodetected\r
++      $.jstree._themes = false;\r
++      $.jstree.plugin("themes", {\r
++              __init : function () { \r
++                      this.get_container()\r
++                              .bind("init.jstree", $.proxy(function () {\r
++                                              var s = this._get_settings().themes;\r
++                                              this.data.themes.dots = s.dots; \r
++                                              this.data.themes.icons = s.icons; \r
++                                              this.set_theme(s.theme, s.url);\r
++                                      }, this))\r
++                              .bind("loaded.jstree", $.proxy(function () {\r
++                                              // bound here too, as simple HTML tree's won't honor dots & icons otherwise\r
++                                              if(!this.data.themes.dots) { this.hide_dots(); }\r
++                                              else { this.show_dots(); }\r
++                                              if(!this.data.themes.icons) { this.hide_icons(); }\r
++                                              else { this.show_icons(); }\r
++                                      }, this));\r
++              },\r
++              defaults : { \r
++                      theme : "default", \r
++                      url : false,\r
++                      dots : true,\r
++                      icons : true\r
++              },\r
++              _fn : {\r
++                      set_theme : function (theme_name, theme_url) {\r
++                              if(!theme_name) { return false; }\r
++                              if(!theme_url) { theme_url = $.jstree._themes + theme_name + '/style.css'; }\r
++                              if($.inArray(theme_url, themes_loaded) == -1) {\r
++                                      $.vakata.css.add_sheet({ "url" : theme_url });\r
++                                      themes_loaded.push(theme_url);\r
++                              }\r
++                              if(this.data.themes.theme != theme_name) {\r
++                                      this.get_container().removeClass('jstree-' + this.data.themes.theme);\r
++                                      this.data.themes.theme = theme_name;\r
++                              }\r
++                              this.get_container().addClass('jstree-' + theme_name);\r
++                              if(!this.data.themes.dots) { this.hide_dots(); }\r
++                              else { this.show_dots(); }\r
++                              if(!this.data.themes.icons) { this.hide_icons(); }\r
++                              else { this.show_icons(); }\r
++                              this.__callback();\r
++                      },\r
++                      get_theme       : function () { return this.data.themes.theme; },\r
++\r
++                      show_dots       : function () { this.data.themes.dots = true; this.get_container().children("ul").removeClass("jstree-no-dots"); },\r
++                      hide_dots       : function () { this.data.themes.dots = false; this.get_container().children("ul").addClass("jstree-no-dots"); },\r
++                      toggle_dots     : function () { if(this.data.themes.dots) { this.hide_dots(); } else { this.show_dots(); } },\r
++\r
++                      show_icons      : function () { this.data.themes.icons = true; this.get_container().children("ul").removeClass("jstree-no-icons"); },\r
++                      hide_icons      : function () { this.data.themes.icons = false; this.get_container().children("ul").addClass("jstree-no-icons"); },\r
++                      toggle_icons: function () { if(this.data.themes.icons) { this.hide_icons(); } else { this.show_icons(); } }\r
++              }\r
++      });\r
++      // autodetect themes path\r
++      $(function () {\r
++              if($.jstree._themes === false) {\r
++                      $("script").each(function () { \r
++                              if(this.src.toString().match(/jquery\.jstree[^\/]*?\.js(\?.*)?$/)) { \r
++                                      $.jstree._themes = this.src.toString().replace(/jquery\.jstree[^\/]*?\.js(\?.*)?$/, "") + 'themes/'; \r
++                                      return false; \r
++                              }\r
++                      });\r
++              }\r
++              if($.jstree._themes === false) { $.jstree._themes = "themes/"; }\r
++      });\r
++      // include the themes plugin by default\r
++      $.jstree.defaults.plugins.push("themes");\r
++})(jQuery);\r
++//*/\r
++\r
++/*\r
++ * jsTree hotkeys plugin\r
++ * Enables keyboard navigation for all tree instances\r
++ * Depends on the jstree ui & jquery hotkeys plugins\r
++ */\r
++(function ($) {\r
++      var bound = [];\r
++      function exec(i, event) {\r
++              var f = $.jstree._focused(), tmp;\r
++              if(f && f.data && f.data.hotkeys && f.data.hotkeys.enabled) { \r
++                      tmp = f._get_settings().hotkeys[i];\r
++                      if(tmp) { return tmp.call(f, event); }\r
++              }\r
++      }\r
++      $.jstree.plugin("hotkeys", {\r
++              __init : function () {\r
++                      if(typeof $.hotkeys === "undefined") { throw "jsTree hotkeys: jQuery hotkeys plugin not included."; }\r
++                      if(!this.data.ui) { throw "jsTree hotkeys: jsTree UI plugin not included."; }\r
++                      $.each(this._get_settings().hotkeys, function (i, v) {\r
++                              if(v !== false && $.inArray(i, bound) == -1) {\r
++                                      $(document).bind("keydown", i, function (event) { return exec(i, event); });\r
++                                      bound.push(i);\r
++                              }\r
++                      });\r
++                      this.get_container()\r
++                              .bind("lock.jstree", $.proxy(function () {\r
++                                              if(this.data.hotkeys.enabled) { this.data.hotkeys.enabled = false; this.data.hotkeys.revert = true; }\r
++                                      }, this))\r
++                              .bind("unlock.jstree", $.proxy(function () {\r
++                                              if(this.data.hotkeys.revert) { this.data.hotkeys.enabled = true; }\r
++                                      }, this));\r
++                      this.enable_hotkeys();\r
++              },\r
++              defaults : {\r
++                      "up" : function () { \r
++                              var o = this.data.ui.hovered || this.data.ui.last_selected || -1;\r
++                              this.hover_node(this._get_prev(o));\r
++                              return false; \r
++                      },\r
++                      "ctrl+up" : function () { \r
++                              var o = this.data.ui.hovered || this.data.ui.last_selected || -1;\r
++                              this.hover_node(this._get_prev(o));\r
++                              return false; \r
++                      },\r
++                      "shift+up" : function () { \r
++                              var o = this.data.ui.hovered || this.data.ui.last_selected || -1;\r
++                              this.hover_node(this._get_prev(o));\r
++                              return false; \r
++                      },\r
++                      "down" : function () { \r
++                              var o = this.data.ui.hovered || this.data.ui.last_selected || -1;\r
++                              this.hover_node(this._get_next(o));\r
++                              return false;\r
++                      },\r
++                      "ctrl+down" : function () { \r
++                              var o = this.data.ui.hovered || this.data.ui.last_selected || -1;\r
++                              this.hover_node(this._get_next(o));\r
++                              return false;\r
++                      },\r
++                      "shift+down" : function () { \r
++                              var o = this.data.ui.hovered || this.data.ui.last_selected || -1;\r
++                              this.hover_node(this._get_next(o));\r
++                              return false;\r
++                      },\r
++                      "left" : function () { \r
++                              var o = this.data.ui.hovered || this.data.ui.last_selected;\r
++                              if(o) {\r
++                                      if(o.hasClass("jstree-open")) { this.close_node(o); }\r
++                                      else { this.hover_node(this._get_prev(o)); }\r
++                              }\r
++                              return false;\r
++                      },\r
++                      "ctrl+left" : function () { \r
++                              var o = this.data.ui.hovered || this.data.ui.last_selected;\r
++                              if(o) {\r
++                                      if(o.hasClass("jstree-open")) { this.close_node(o); }\r
++                                      else { this.hover_node(this._get_prev(o)); }\r
++                              }\r
++                              return false;\r
++                      },\r
++                      "shift+left" : function () { \r
++                              var o = this.data.ui.hovered || this.data.ui.last_selected;\r
++                              if(o) {\r
++                                      if(o.hasClass("jstree-open")) { this.close_node(o); }\r
++                                      else { this.hover_node(this._get_prev(o)); }\r
++                              }\r
++                              return false;\r
++                      },\r
++                      "right" : function () { \r
++                              var o = this.data.ui.hovered || this.data.ui.last_selected;\r
++                              if(o && o.length) {\r
++                                      if(o.hasClass("jstree-closed")) { this.open_node(o); }\r
++                                      else { this.hover_node(this._get_next(o)); }\r
++                              }\r
++                              return false;\r
++                      },\r
++                      "ctrl+right" : function () { \r
++                              var o = this.data.ui.hovered || this.data.ui.last_selected;\r
++                              if(o && o.length) {\r
++                                      if(o.hasClass("jstree-closed")) { this.open_node(o); }\r
++                                      else { this.hover_node(this._get_next(o)); }\r
++                              }\r
++                              return false;\r
++                      },\r
++                      "shift+right" : function () { \r
++                              var o = this.data.ui.hovered || this.data.ui.last_selected;\r
++                              if(o && o.length) {\r
++                                      if(o.hasClass("jstree-closed")) { this.open_node(o); }\r
++                                      else { this.hover_node(this._get_next(o)); }\r
++                              }\r
++                              return false;\r
++                      },\r
++                      "space" : function () { \r
++                              if(this.data.ui.hovered) { this.data.ui.hovered.children("a:eq(0)").click(); } \r
++                              return false; \r
++                      },\r
++                      "ctrl+space" : function (event) { \r
++                              event.type = "click";\r
++                              if(this.data.ui.hovered) { this.data.ui.hovered.children("a:eq(0)").trigger(event); } \r
++                              return false; \r
++                      },\r
++                      "shift+space" : function (event) { \r
++                              event.type = "click";\r
++                              if(this.data.ui.hovered) { this.data.ui.hovered.children("a:eq(0)").trigger(event); } \r
++                              return false; \r
++                      },\r
++                      "f2" : function () { this.rename(this.data.ui.hovered || this.data.ui.last_selected); },\r
++                      "del" : function () { this.remove(this.data.ui.hovered || this._get_node(null)); }\r
++              },\r
++              _fn : {\r
++                      enable_hotkeys : function () {\r
++                              this.data.hotkeys.enabled = true;\r
++                      },\r
++                      disable_hotkeys : function () {\r
++                              this.data.hotkeys.enabled = false;\r
++                      }\r
++              }\r
++      });\r
++})(jQuery);\r
++//*/\r
++\r
++/* \r
++ * jsTree JSON plugin\r
++ * The JSON data store. Datastores are build by overriding the `load_node` and `_is_loaded` functions.\r
++ */\r
++(function ($) {\r
++      $.jstree.plugin("json_data", {\r
++              __init : function() {\r
++                      var s = this._get_settings().json_data;\r
++                      if(s.progressive_unload) {\r
++                              this.get_container().bind("after_close.jstree", function (e, data) {\r
++                                      data.rslt.obj.children("ul").remove();\r
++                              });\r
++                      }\r
++              },\r
++              defaults : { \r
++                      // `data` can be a function:\r
++                      //  * accepts two arguments - node being loaded and a callback to pass the result to\r
++                      //  * will be executed in the current tree's scope & ajax won't be supported\r
++                      data : false, \r
++                      ajax : false,\r
++                      correct_state : true,\r
++                      progressive_render : false,\r
++                      progressive_unload : false\r
++              },\r
++              _fn : {\r
++                      load_node : function (obj, s_call, e_call) { var _this = this; this.load_node_json(obj, function () { _this.__callback({ "obj" : _this._get_node(obj) }); s_call.call(this); }, e_call); },\r
++                      _is_loaded : function (obj) { \r
++                              var s = this._get_settings().json_data;\r
++                              obj = this._get_node(obj); \r
++                              return obj == -1 || !obj || (!s.ajax && !s.progressive_render && !$.isFunction(s.data)) || obj.is(".jstree-open, .jstree-leaf") || obj.children("ul").children("li").length > 0;\r
++                      },\r
++                      refresh : function (obj) {\r
++                              obj = this._get_node(obj);\r
++                              var s = this._get_settings().json_data;\r
++                              if(obj && obj !== -1 && s.progressive_unload && ($.isFunction(s.data) || !!s.ajax)) {\r
++                                      obj.removeData("jstree_children");\r
++                              }\r
++                              return this.__call_old();\r
++                      },\r
++                      load_node_json : function (obj, s_call, e_call) {\r
++                              var s = this.get_settings().json_data, d,\r
++                                      error_func = function () {},\r
++                                      success_func = function () {};\r
++                              obj = this._get_node(obj);\r
++\r
++                              if(obj && obj !== -1 && (s.progressive_render || s.progressive_unload) && !obj.is(".jstree-open, .jstree-leaf") && obj.children("ul").children("li").length === 0 && obj.data("jstree_children")) {\r
++                                      d = this._parse_json(obj.data("jstree_children"), obj);\r
++                                      if(d) {\r
++                                              obj.append(d);\r
++                                              if(!s.progressive_unload) { obj.removeData("jstree_children"); }\r
++                                      }\r
++                                      this.clean_node(obj);\r
++                                      if(s_call) { s_call.call(this); }\r
++                                      return;\r
++                              }\r
++\r
++                              if(obj && obj !== -1) {\r
++                                      if(obj.data("jstree_is_loading")) { return; }\r
++                                      else { obj.data("jstree_is_loading",true); }\r
++                              }\r
++                              switch(!0) {\r
++                                      case (!s.data && !s.ajax): throw "Neither data nor ajax settings supplied.";\r
++                                      // function option added here for easier model integration (also supporting async - see callback)\r
++                                      case ($.isFunction(s.data)):\r
++                                              s.data.call(this, obj, $.proxy(function (d) {\r
++                                                      d = this._parse_json(d, obj);\r
++                                                      if(!d) { \r
++                                                              if(obj === -1 || !obj) {\r
++                                                                      if(s.correct_state) { this.get_container().children("ul").empty(); }\r
++                                                              }\r
++                                                              else {\r
++                                                                      obj.children("a.jstree-loading").removeClass("jstree-loading");\r
++                                                                      obj.removeData("jstree_is_loading");\r
++                                                                      if(s.correct_state) { this.correct_state(obj); }\r
++                                                              }\r
++                                                              if(e_call) { e_call.call(this); }\r
++                                                      }\r
++                                                      else {\r
++                                                              if(obj === -1 || !obj) { this.get_container().children("ul").empty().append(d.children()); }\r
++                                                              else { obj.append(d).children("a.jstree-loading").removeClass("jstree-loading"); obj.removeData("jstree_is_loading"); }\r
++                                                              this.clean_node(obj);\r
++                                                              if(s_call) { s_call.call(this); }\r
++                                                      }\r
++                                              }, this));\r
++                                              break;\r
++                                      case (!!s.data && !s.ajax) || (!!s.data && !!s.ajax && (!obj || obj === -1)):\r
++                                              if(!obj || obj == -1) {\r
++                                                      d = this._parse_json(s.data, obj);\r
++                                                      if(d) {\r
++                                                              this.get_container().children("ul").empty().append(d.children());\r
++                                                              this.clean_node();\r
++                                                      }\r
++                                                      else { \r
++                                                              if(s.correct_state) { this.get_container().children("ul").empty(); }\r
++                                                      }\r
++                                              }\r
++                                              if(s_call) { s_call.call(this); }\r
++                                              break;\r
++                                      case (!s.data && !!s.ajax) || (!!s.data && !!s.ajax && obj && obj !== -1):\r
++                                              error_func = function (x, t, e) {\r
++                                                      var ef = this.get_settings().json_data.ajax.error; \r
++                                                      if(ef) { ef.call(this, x, t, e); }\r
++                                                      if(obj != -1 && obj.length) {\r
++                                                              obj.children("a.jstree-loading").removeClass("jstree-loading");\r
++                                                              obj.removeData("jstree_is_loading");\r
++                                                              if(t === "success" && s.correct_state) { this.correct_state(obj); }\r
++                                                      }\r
++                                                      else {\r
++                                                              if(t === "success" && s.correct_state) { this.get_container().children("ul").empty(); }\r
++                                                      }\r
++                                                      if(e_call) { e_call.call(this); }\r
++                                              };\r
++                                              success_func = function (d, t, x) {\r
++                                                      var sf = this.get_settings().json_data.ajax.success; \r
++                                                      if(sf) { d = sf.call(this,d,t,x) || d; }\r
++                                                      if(d === "" || (d && d.toString && d.toString().replace(/^[\s\n]+$/,"") === "") || (!$.isArray(d) && !$.isPlainObject(d))) {\r
++                                                              return error_func.call(this, x, t, "");\r
++                                                      }\r
++                                                      d = this._parse_json(d, obj);\r
++                                                      if(d) {\r
++                                                              if(obj === -1 || !obj) { this.get_container().children("ul").empty().append(d.children()); }\r
++                                                              else { obj.append(d).children("a.jstree-loading").removeClass("jstree-loading"); obj.removeData("jstree_is_loading"); }\r
++                                                              this.clean_node(obj);\r
++                                                              if(s_call) { s_call.call(this); }\r
++                                                      }\r
++                                                      else {\r
++                                                              if(obj === -1 || !obj) {\r
++                                                                      if(s.correct_state) { \r
++                                                                              this.get_container().children("ul").empty(); \r
++                                                                              if(s_call) { s_call.call(this); }\r
++                                                                      }\r
++                                                              }\r
++                                                              else {\r
++                                                                      obj.children("a.jstree-loading").removeClass("jstree-loading");\r
++                                                                      obj.removeData("jstree_is_loading");\r
++                                                                      if(s.correct_state) { \r
++                                                                              this.correct_state(obj);\r
++                                                                              if(s_call) { s_call.call(this); } \r
++                                                                      }\r
++                                                              }\r
++                                                      }\r
++                                              };\r
++                                              s.ajax.context = this;\r
++                                              s.ajax.error = error_func;\r
++                                              s.ajax.success = success_func;\r
++                                              if(!s.ajax.dataType) { s.ajax.dataType = "json"; }\r
++                                              if($.isFunction(s.ajax.url)) { s.ajax.url = s.ajax.url.call(this, obj); }\r
++                                              if($.isFunction(s.ajax.data)) { s.ajax.data = s.ajax.data.call(this, obj); }\r
++                                              $.ajax(s.ajax);\r
++                                              break;\r
++                              }\r
++                      },\r
++                      _parse_json : function (js, obj, is_callback) {\r
++                              var d = false, \r
++                                      p = this._get_settings(),\r
++                                      s = p.json_data,\r
++                                      t = p.core.html_titles,\r
++                                      tmp, i, j, ul1, ul2;\r
++\r
++                              if(!js) { return d; }\r
++                              if(s.progressive_unload && obj && obj !== -1) { \r
++                                      obj.data("jstree_children", d);\r
++                              }\r
++                              if($.isArray(js)) {\r
++                                      d = $();\r
++                                      if(!js.length) { return false; }\r
++                                      for(i = 0, j = js.length; i < j; i++) {\r
++                                              tmp = this._parse_json(js[i], obj, true);\r
++                                              if(tmp.length) { d = d.add(tmp); }\r
++                                      }\r
++                              }\r
++                              else {\r
++                                      if(typeof js == "string") { js = { data : js }; }\r
++                                      if(!js.data && js.data !== "") { return d; }\r
++                                      d = $("<li />");\r
++                                      if(js.attr) { d.attr(js.attr); }\r
++                                      if(js.metadata) { d.data(js.metadata); }\r
++                                      if(js.state) { d.addClass("jstree-" + js.state); }\r
++                                      if(!$.isArray(js.data)) { tmp = js.data; js.data = []; js.data.push(tmp); }\r
++                                      $.each(js.data, function (i, m) {\r
++                                              tmp = $("<a />");\r
++                                              if($.isFunction(m)) { m = m.call(this, js); }\r
++                                              if(typeof m == "string") { tmp.attr('href','#')[ t ? "html" : "text" ](m); }\r
++                                              else {\r
++                                                      if(!m.attr) { m.attr = {}; }\r
++                                                      if(!m.attr.href) { m.attr.href = '#'; }\r
++                                                      tmp.attr(m.attr)[ t ? "html" : "text" ](m.title);\r
++                                                      if(m.language) { tmp.addClass(m.language); }\r
++                                              }\r
++                                              tmp.prepend("<ins class='jstree-icon'>&#160;</ins>");\r
++                                              if(!m.icon && js.icon) { m.icon = js.icon; }\r
++                                              if(m.icon) { \r
++                                                      if(m.icon.indexOf("/") === -1) { tmp.children("ins").addClass(m.icon); }\r
++                                                      else { tmp.children("ins").css("background","url('" + m.icon + "') center center no-repeat"); }\r
++                                              }\r
++                                              d.append(tmp);\r
++                                      });\r
++                                      d.prepend("<ins class='jstree-icon'>&#160;</ins>");\r
++                                      if(js.children) { \r
++                                              if(s.progressive_render && js.state !== "open") {\r
++                                                      d.addClass("jstree-closed").data("jstree_children", js.children);\r
++                                              }\r
++                                              else {\r
++                                                      if(s.progressive_unload) { d.data("jstree_children", js.children); }\r
++                                                      if($.isArray(js.children) && js.children.length) {\r
++                                                              tmp = this._parse_json(js.children, obj, true);\r
++                                                              if(tmp.length) {\r
++                                                                      ul2 = $("<ul />");\r
++                                                                      ul2.append(tmp);\r
++                                                                      d.append(ul2);\r
++                                                              }\r
++                                                      }\r
++                                              }\r
++                                      }\r
++                              }\r
++                              if(!is_callback) {\r
++                                      ul1 = $("<ul />");\r
++                                      ul1.append(d);\r
++                                      d = ul1;\r
++                              }\r
++                              return d;\r
++                      },\r
++                      get_json : function (obj, li_attr, a_attr, is_callback) {\r
++                              var result = [], \r
++                                      s = this._get_settings(), \r
++                                      _this = this,\r
++                                      tmp1, tmp2, li, a, t, lang;\r
++                              obj = this._get_node(obj);\r
++                              if(!obj || obj === -1) { obj = this.get_container().find("> ul > li"); }\r
++                              li_attr = $.isArray(li_attr) ? li_attr : [ "id", "class" ];\r
++                              if(!is_callback && this.data.types) { li_attr.push(s.types.type_attr); }\r
++                              a_attr = $.isArray(a_attr) ? a_attr : [ ];\r
++\r
++                              obj.each(function () {\r
++                                      li = $(this);\r
++                                      tmp1 = { data : [] };\r
++                                      if(li_attr.length) { tmp1.attr = { }; }\r
++                                      $.each(li_attr, function (i, v) { \r
++                                              tmp2 = li.attr(v); \r
++                                              if(tmp2 && tmp2.length && tmp2.replace(/jstree[^ ]*/ig,'').length) {\r
++                                                      tmp1.attr[v] = (" " + tmp2).replace(/ jstree[^ ]*/ig,'').replace(/\s+$/ig," ").replace(/^ /,"").replace(/ $/,""); \r
++                                              }\r
++                                      });\r
++                                      if(li.hasClass("jstree-open")) { tmp1.state = "open"; }\r
++                                      if(li.hasClass("jstree-closed")) { tmp1.state = "closed"; }\r
++                                      if(li.data()) { tmp1.metadata = li.data(); }\r
++                                      a = li.children("a");\r
++                                      a.each(function () {\r
++                                              t = $(this);\r
++                                              if(\r
++                                                      a_attr.length || \r
++                                                      $.inArray("languages", s.plugins) !== -1 || \r
++                                                      t.children("ins").get(0).style.backgroundImage.length || \r
++                                                      (t.children("ins").get(0).className && t.children("ins").get(0).className.replace(/jstree[^ ]*|$/ig,'').length)\r
++                                              ) { \r
++                                                      lang = false;\r
++                                                      if($.inArray("languages", s.plugins) !== -1 && $.isArray(s.languages) && s.languages.length) {\r
++                                                              $.each(s.languages, function (l, lv) {\r
++                                                                      if(t.hasClass(lv)) {\r
++                                                                              lang = lv;\r
++                                                                              return false;\r
++                                                                      }\r
++                                                              });\r
++                                                      }\r
++                                                      tmp2 = { attr : { }, title : _this.get_text(t, lang) }; \r
++                                                      $.each(a_attr, function (k, z) {\r
++                                                              tmp2.attr[z] = (" " + (t.attr(z) || "")).replace(/ jstree[^ ]*/ig,'').replace(/\s+$/ig," ").replace(/^ /,"").replace(/ $/,"");\r
++                                                      });\r
++                                                      if($.inArray("languages", s.plugins) !== -1 && $.isArray(s.languages) && s.languages.length) {\r
++                                                              $.each(s.languages, function (k, z) {\r
++                                                                      if(t.hasClass(z)) { tmp2.language = z; return true; }\r
++                                                              });\r
++                                                      }\r
++                                                      if(t.children("ins").get(0).className.replace(/jstree[^ ]*|$/ig,'').replace(/^\s+$/ig,"").length) {\r
++                                                              tmp2.icon = t.children("ins").get(0).className.replace(/jstree[^ ]*|$/ig,'').replace(/\s+$/ig," ").replace(/^ /,"").replace(/ $/,"");\r
++                                                      }\r
++                                                      if(t.children("ins").get(0).style.backgroundImage.length) {\r
++                                                              tmp2.icon = t.children("ins").get(0).style.backgroundImage.replace("url(","").replace(")","");\r
++                                                      }\r
++                                              }\r
++                                              else {\r
++                                                      tmp2 = _this.get_text(t);\r
++                                              }\r
++                                              if(a.length > 1) { tmp1.data.push(tmp2); }\r
++                                              else { tmp1.data = tmp2; }\r
++                                      });\r
++                                      li = li.find("> ul > li");\r
++                                      if(li.length) { tmp1.children = _this.get_json(li, li_attr, a_attr, true); }\r
++                                      result.push(tmp1);\r
++                              });\r
++                              return result;\r
++                      }\r
++              }\r
++      });\r
++})(jQuery);\r
++//*/\r
++\r
++/* \r
++ * jsTree languages plugin\r
++ * Adds support for multiple language versions in one tree\r
++ * This basically allows for many titles coexisting in one node, but only one of them being visible at any given time\r
++ * This is useful for maintaining the same structure in many languages (hence the name of the plugin)\r
++ */\r
++(function ($) {\r
++      $.jstree.plugin("languages", {\r
++              __init : function () { this._load_css();  },\r
++              defaults : [],\r
++              _fn : {\r
++                      set_lang : function (i) { \r
++                              var langs = this._get_settings().languages,\r
++                                      st = false,\r
++                                      selector = ".jstree-" + this.get_index() + ' a';\r
++                              if(!$.isArray(langs) || langs.length === 0) { return false; }\r
++                              if($.inArray(i,langs) == -1) {\r
++                                      if(!!langs[i]) { i = langs[i]; }\r
++                                      else { return false; }\r
++                              }\r
++                              if(i == this.data.languages.current_language) { return true; }\r
++                              st = $.vakata.css.get_css(selector + "." + this.data.languages.current_language, false, this.data.languages.language_css);\r
++                              if(st !== false) { st.style.display = "none"; }\r
++                              st = $.vakata.css.get_css(selector + "." + i, false, this.data.languages.language_css);\r
++                              if(st !== false) { st.style.display = ""; }\r
++                              this.data.languages.current_language = i;\r
++                              this.__callback(i);\r
++                              return true;\r
++                      },\r
++                      get_lang : function () {\r
++                              return this.data.languages.current_language;\r
++                      },\r
++                      _get_string : function (key, lang) {\r
++                              var langs = this._get_settings().languages,\r
++                                      s = this._get_settings().core.strings;\r
++                              if($.isArray(langs) && langs.length) {\r
++                                      lang = (lang && $.inArray(lang,langs) != -1) ? lang : this.data.languages.current_language;\r
++                              }\r
++                              if(s[lang] && s[lang][key]) { return s[lang][key]; }\r
++                              if(s[key]) { return s[key]; }\r
++                              return key;\r
++                      },\r
++                      get_text : function (obj, lang) {\r
++                              obj = this._get_node(obj) || this.data.ui.last_selected;\r
++                              if(!obj.size()) { return false; }\r
++                              var langs = this._get_settings().languages,\r
++                                      s = this._get_settings().core.html_titles;\r
++                              if($.isArray(langs) && langs.length) {\r
++                                      lang = (lang && $.inArray(lang,langs) != -1) ? lang : this.data.languages.current_language;\r
++                                      obj = obj.children("a." + lang);\r
++                              }\r
++                              else { obj = obj.children("a:eq(0)"); }\r
++                              if(s) {\r
++                                      obj = obj.clone();\r
++                                      obj.children("INS").remove();\r
++                                      return obj.html();\r
++                              }\r
++                              else {\r
++                                      obj = obj.contents().filter(function() { return this.nodeType == 3; })[0];\r
++                                      return obj.nodeValue;\r
++                              }\r
++                      },\r
++                      set_text : function (obj, val, lang) {\r
++                              obj = this._get_node(obj) || this.data.ui.last_selected;\r
++                              if(!obj.size()) { return false; }\r
++                              var langs = this._get_settings().languages,\r
++                                      s = this._get_settings().core.html_titles,\r
++                                      tmp;\r
++                              if($.isArray(langs) && langs.length) {\r
++                                      lang = (lang && $.inArray(lang,langs) != -1) ? lang : this.data.languages.current_language;\r
++                                      obj = obj.children("a." + lang);\r
++                              }\r
++                              else { obj = obj.children("a:eq(0)"); }\r
++                              if(s) {\r
++                                      tmp = obj.children("INS").clone();\r
++                                      obj.html(val).prepend(tmp);\r
++                                      this.__callback({ "obj" : obj, "name" : val, "lang" : lang });\r
++                                      return true;\r
++                              }\r
++                              else {\r
++                                      obj = obj.contents().filter(function() { return this.nodeType == 3; })[0];\r
++                                      this.__callback({ "obj" : obj, "name" : val, "lang" : lang });\r
++                                      return (obj.nodeValue = val);\r
++                              }\r
++                      },\r
++                      _load_css : function () {\r
++                              var langs = this._get_settings().languages,\r
++                                      str = "/* languages css */",\r
++                                      selector = ".jstree-" + this.get_index() + ' a',\r
++                                      ln;\r
++                              if($.isArray(langs) && langs.length) {\r
++                                      this.data.languages.current_language = langs[0];\r
++                                      for(ln = 0; ln < langs.length; ln++) {\r
++                                              str += selector + "." + langs[ln] + " {";\r
++                                              if(langs[ln] != this.data.languages.current_language) { str += " display:none; "; }\r
++                                              str += " } ";\r
++                                      }\r
++                                      this.data.languages.language_css = $.vakata.css.add_sheet({ 'str' : str, 'title' : "jstree-languages" });\r
++                              }\r
++                      },\r
++                      create_node : function (obj, position, js, callback) {\r
++                              var t = this.__call_old(true, obj, position, js, function (t) {\r
++                                      var langs = this._get_settings().languages,\r
++                                              a = t.children("a"),\r
++                                              ln;\r
++                                      if($.isArray(langs) && langs.length) {\r
++                                              for(ln = 0; ln < langs.length; ln++) {\r
++                                                      if(!a.is("." + langs[ln])) {\r
++                                                              t.append(a.eq(0).clone().removeClass(langs.join(" ")).addClass(langs[ln]));\r
++                                                      }\r
++                                              }\r
++                                              a.not("." + langs.join(", .")).remove();\r
++                                      }\r
++                                      if(callback) { callback.call(this, t); }\r
++                              });\r
++                              return t;\r
++                      }\r
++              }\r
++      });\r
++})(jQuery);\r
++//*/\r
++\r
++/*\r
++ * jsTree cookies plugin\r
++ * Stores the currently opened/selected nodes in a cookie and then restores them\r
++ * Depends on the jquery.cookie plugin\r
++ */\r
++(function ($) {\r
++      $.jstree.plugin("cookies", {\r
++              __init : function () {\r
++                      if(typeof $.cookie === "undefined") { throw "jsTree cookie: jQuery cookie plugin not included."; }\r
++\r
++                      var s = this._get_settings().cookies,\r
++                              tmp;\r
++                      if(!!s.save_loaded) {\r
++                              tmp = $.cookie(s.save_loaded);\r
++                              if(tmp && tmp.length) { this.data.core.to_load = tmp.split(","); }\r
++                      }\r
++                      if(!!s.save_opened) {\r
++                              tmp = $.cookie(s.save_opened);\r
++                              if(tmp && tmp.length) { this.data.core.to_open = tmp.split(","); }\r
++                      }\r
++                      if(!!s.save_selected) {\r
++                              tmp = $.cookie(s.save_selected);\r
++                              if(tmp && tmp.length && this.data.ui) { this.data.ui.to_select = tmp.split(","); }\r
++                      }\r
++                      this.get_container()\r
++                              .one( ( this.data.ui ? "reselect" : "reopen" ) + ".jstree", $.proxy(function () {\r
++                                      this.get_container()\r
++                                              .bind("open_node.jstree close_node.jstree select_node.jstree deselect_node.jstree", $.proxy(function (e) { \r
++                                                              if(this._get_settings().cookies.auto_save) { this.save_cookie((e.handleObj.namespace + e.handleObj.type).replace("jstree","")); }\r
++                                                      }, this));\r
++                              }, this));\r
++              },\r
++              defaults : {\r
++                      save_loaded             : "jstree_load",\r
++                      save_opened             : "jstree_open",\r
++                      save_selected   : "jstree_select",\r
++                      auto_save               : true,\r
++                      cookie_options  : {}\r
++              },\r
++              _fn : {\r
++                      save_cookie : function (c) {\r
++                              if(this.data.core.refreshing) { return; }\r
++                              var s = this._get_settings().cookies;\r
++                              if(!c) { // if called manually and not by event\r
++                                      if(s.save_loaded) {\r
++                                              this.save_loaded();\r
++                                              $.cookie(s.save_loaded, this.data.core.to_load.join(","), s.cookie_options);\r
++                                      }\r
++                                      if(s.save_opened) {\r
++                                              this.save_opened();\r
++                                              $.cookie(s.save_opened, this.data.core.to_open.join(","), s.cookie_options);\r
++                                      }\r
++                                      if(s.save_selected && this.data.ui) {\r
++                                              this.save_selected();\r
++                                              $.cookie(s.save_selected, this.data.ui.to_select.join(","), s.cookie_options);\r
++                                      }\r
++                                      return;\r
++                              }\r
++                              switch(c) {\r
++                                      case "open_node":\r
++                                      case "close_node":\r
++                                              if(!!s.save_opened) { \r
++                                                      this.save_opened(); \r
++                                                      $.cookie(s.save_opened, this.data.core.to_open.join(","), s.cookie_options); \r
++                                              }\r
++                                              if(!!s.save_loaded) { \r
++                                                      this.save_loaded(); \r
++                                                      $.cookie(s.save_loaded, this.data.core.to_load.join(","), s.cookie_options); \r
++                                              }\r
++                                              break;\r
++                                      case "select_node":\r
++                                      case "deselect_node":\r
++                                              if(!!s.save_selected && this.data.ui) { \r
++                                                      this.save_selected(); \r
++                                                      $.cookie(s.save_selected, this.data.ui.to_select.join(","), s.cookie_options); \r
++                                              }\r
++                                              break;\r
++                              }\r
++                      }\r
++              }\r
++      });\r
++      // include cookies by default\r
++      // $.jstree.defaults.plugins.push("cookies");\r
++})(jQuery);\r
++//*/\r
++\r
++/*\r
++ * jsTree sort plugin\r
++ * Sorts items alphabetically (or using any other function)\r
++ */\r
++(function ($) {\r
++      $.jstree.plugin("sort", {\r
++              __init : function () {\r
++                      this.get_container()\r
++                              .bind("load_node.jstree", $.proxy(function (e, data) {\r
++                                              var obj = this._get_node(data.rslt.obj);\r
++                                              obj = obj === -1 ? this.get_container().children("ul") : obj.children("ul");\r
++                                              this.sort(obj);\r
++                                      }, this))\r
++                              .bind("rename_node.jstree create_node.jstree create.jstree", $.proxy(function (e, data) {\r
++                                              this.sort(data.rslt.obj.parent());\r
++                                      }, this))\r
++                              .bind("move_node.jstree", $.proxy(function (e, data) {\r
++                                              var m = data.rslt.np == -1 ? this.get_container() : data.rslt.np;\r
++                                              this.sort(m.children("ul"));\r
++                                      }, this));\r
++              },\r
++              defaults : function (a, b) { return this.get_text(a) > this.get_text(b) ? 1 : -1; },\r
++              _fn : {\r
++                      sort : function (obj) {\r
++                              var s = this._get_settings().sort,\r
++                                      t = this;\r
++                              obj.append($.makeArray(obj.children("li")).sort($.proxy(s, t)));\r
++                              obj.find("> li > ul").each(function() { t.sort($(this)); });\r
++                              this.clean_node(obj);\r
++                      }\r
++              }\r
++      });\r
++})(jQuery);\r
++//*/\r
++\r
++/*\r
++ * jsTree DND plugin\r
++ * Drag and drop plugin for moving/copying nodes\r
++ */\r
++(function ($) {\r
++      var o = false,\r
++              r = false,\r
++              m = false,\r
++              ml = false,\r
++              sli = false,\r
++              sti = false,\r
++              dir1 = false,\r
++              dir2 = false,\r
++              last_pos = false;\r
++      $.vakata.dnd = {\r
++              is_down : false,\r
++              is_drag : false,\r
++              helper : false,\r
++              scroll_spd : 10,\r
++              init_x : 0,\r
++              init_y : 0,\r
++              threshold : 5,\r
++              helper_left : 5,\r
++              helper_top : 10,\r
++              user_data : {},\r
++\r
++              drag_start : function (e, data, html) { \r
++                      if($.vakata.dnd.is_drag) { $.vakata.drag_stop({}); }\r
++                      try {\r
++                              e.currentTarget.unselectable = "on";\r
++                              e.currentTarget.onselectstart = function() { return false; };\r
++                              if(e.currentTarget.style) { e.currentTarget.style.MozUserSelect = "none"; }\r
++                      } catch(err) { }\r
++                      $.vakata.dnd.init_x = e.pageX;\r
++                      $.vakata.dnd.init_y = e.pageY;\r
++                      $.vakata.dnd.user_data = data;\r
++                      $.vakata.dnd.is_down = true;\r
++                      $.vakata.dnd.helper = $("<div id='vakata-dragged' />").html(html); //.fadeTo(10,0.25);\r
++                      $(document).bind("mousemove", $.vakata.dnd.drag);\r
++                      $(document).bind("mouseup", $.vakata.dnd.drag_stop);\r
++                      return false;\r
++              },\r
++              drag : function (e) { \r
++                      if(!$.vakata.dnd.is_down) { return; }\r
++                      if(!$.vakata.dnd.is_drag) {\r
++                              if(Math.abs(e.pageX - $.vakata.dnd.init_x) > 5 || Math.abs(e.pageY - $.vakata.dnd.init_y) > 5) { \r
++                                      $.vakata.dnd.helper.appendTo("body");\r
++                                      $.vakata.dnd.is_drag = true;\r
++                                      $(document).triggerHandler("drag_start.vakata", { "event" : e, "data" : $.vakata.dnd.user_data });\r
++                              }\r
++                              else { return; }\r
++                      }\r
++\r
++                      // maybe use a scrolling parent element instead of document?\r
++                      if(e.type === "mousemove") { // thought of adding scroll in order to move the helper, but mouse poisition is n/a\r
++                              var d = $(document), t = d.scrollTop(), l = d.scrollLeft();\r
++                              if(e.pageY - t < 20) { \r
++                                      if(sti && dir1 === "down") { clearInterval(sti); sti = false; }\r
++                                      if(!sti) { dir1 = "up"; sti = setInterval(function () { $(document).scrollTop($(document).scrollTop() - $.vakata.dnd.scroll_spd); }, 150); }\r
++                              }\r
++                              else { \r
++                                      if(sti && dir1 === "up") { clearInterval(sti); sti = false; }\r
++                              }\r
++                              if($(window).height() - (e.pageY - t) < 20) {\r
++                                      if(sti && dir1 === "up") { clearInterval(sti); sti = false; }\r
++                                      if(!sti) { dir1 = "down"; sti = setInterval(function () { $(document).scrollTop($(document).scrollTop() + $.vakata.dnd.scroll_spd); }, 150); }\r
++                              }\r
++                              else { \r
++                                      if(sti && dir1 === "down") { clearInterval(sti); sti = false; }\r
++                              }\r
++\r
++                              if(e.pageX - l < 20) {\r
++                                      if(sli && dir2 === "right") { clearInterval(sli); sli = false; }\r
++                                      if(!sli) { dir2 = "left"; sli = setInterval(function () { $(document).scrollLeft($(document).scrollLeft() - $.vakata.dnd.scroll_spd); }, 150); }\r
++                              }\r
++                              else { \r
++                                      if(sli && dir2 === "left") { clearInterval(sli); sli = false; }\r
++                              }\r
++                              if($(window).width() - (e.pageX - l) < 20) {\r
++                                      if(sli && dir2 === "left") { clearInterval(sli); sli = false; }\r
++                                      if(!sli) { dir2 = "right"; sli = setInterval(function () { $(document).scrollLeft($(document).scrollLeft() + $.vakata.dnd.scroll_spd); }, 150); }\r
++                              }\r
++                              else { \r
++                                      if(sli && dir2 === "right") { clearInterval(sli); sli = false; }\r
++                              }\r
++                      }\r
++\r
++                      $.vakata.dnd.helper.css({ left : (e.pageX + $.vakata.dnd.helper_left) + "px", top : (e.pageY + $.vakata.dnd.helper_top) + "px" });\r
++                      $(document).triggerHandler("drag.vakata", { "event" : e, "data" : $.vakata.dnd.user_data });\r
++              },\r
++              drag_stop : function (e) {\r
++                      if(sli) { clearInterval(sli); }\r
++                      if(sti) { clearInterval(sti); }\r
++                      $(document).unbind("mousemove", $.vakata.dnd.drag);\r
++                      $(document).unbind("mouseup", $.vakata.dnd.drag_stop);\r
++                      $(document).triggerHandler("drag_stop.vakata", { "event" : e, "data" : $.vakata.dnd.user_data });\r
++                      $.vakata.dnd.helper.remove();\r
++                      $.vakata.dnd.init_x = 0;\r
++                      $.vakata.dnd.init_y = 0;\r
++                      $.vakata.dnd.user_data = {};\r
++                      $.vakata.dnd.is_down = false;\r
++                      $.vakata.dnd.is_drag = false;\r
++              }\r
++      };\r
++      $(function() {\r
++              var css_string = '#vakata-dragged { display:block; margin:0 0 0 0; padding:4px 4px 4px 24px; position:absolute; top:-2000px; line-height:16px; z-index:10000; } ';\r
++              $.vakata.css.add_sheet({ str : css_string, title : "vakata" });\r
++      });\r
++\r
++      $.jstree.plugin("dnd", {\r
++              __init : function () {\r
++                      this.data.dnd = {\r
++                              active : false,\r
++                              after : false,\r
++                              inside : false,\r
++                              before : false,\r
++                              off : false,\r
++                              prepared : false,\r
++                              w : 0,\r
++                              to1 : false,\r
++                              to2 : false,\r
++                              cof : false,\r
++                              cw : false,\r
++                              ch : false,\r
++                              i1 : false,\r
++                              i2 : false,\r
++                              mto : false\r
++                      };\r
++                      this.get_container()\r
++                              .bind("mouseenter.jstree", $.proxy(function (e) {\r
++                                              if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) {\r
++                                                      if(this.data.themes) {\r
++                                                              m.attr("class", "jstree-" + this.data.themes.theme); \r
++                                                              if(ml) { ml.attr("class", "jstree-" + this.data.themes.theme); }\r
++                                                              $.vakata.dnd.helper.attr("class", "jstree-dnd-helper jstree-" + this.data.themes.theme);\r
++                                                      }\r
++                                                      //if($(e.currentTarget).find("> ul > li").length === 0) {\r
++                                                      if(e.currentTarget === e.target && $.vakata.dnd.user_data.obj && $($.vakata.dnd.user_data.obj).length && $($.vakata.dnd.user_data.obj).parents(".jstree:eq(0)")[0] !== e.target) { // node should not be from the same tree\r
++                                                              var tr = $.jstree._reference(e.target), dc;\r
++                                                              if(tr.data.dnd.foreign) {\r
++                                                                      dc = tr._get_settings().dnd.drag_check.call(this, { "o" : o, "r" : tr.get_container(), is_root : true });\r
++                                                                      if(dc === true || dc.inside === true || dc.before === true || dc.after === true) {\r
++                                                                              $.vakata.dnd.helper.children("ins").attr("class","jstree-ok");\r
++                                                                      }\r
++                                                              }\r
++                                                              else {\r
++                                                                      tr.prepare_move(o, tr.get_container(), "last");\r
++                                                                      if(tr.check_move()) {\r
++                                                                              $.vakata.dnd.helper.children("ins").attr("class","jstree-ok");\r
++                                                                      }\r
++                                                              }\r
++                                                      }\r
++                                              }\r
++                                      }, this))\r
++                              .bind("mouseup.jstree", $.proxy(function (e) {\r
++                                              //if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree && $(e.currentTarget).find("> ul > li").length === 0) {\r
++                                              if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree && e.currentTarget === e.target && $.vakata.dnd.user_data.obj && $($.vakata.dnd.user_data.obj).length && $($.vakata.dnd.user_data.obj).parents(".jstree:eq(0)")[0] !== e.target) { // node should not be from the same tree\r
++                                                      var tr = $.jstree._reference(e.currentTarget), dc;\r
++                                                      if(tr.data.dnd.foreign) {\r
++                                                              dc = tr._get_settings().dnd.drag_check.call(this, { "o" : o, "r" : tr.get_container(), is_root : true });\r
++                                                              if(dc === true || dc.inside === true || dc.before === true || dc.after === true) {\r
++                                                                      tr._get_settings().dnd.drag_finish.call(this, { "o" : o, "r" : tr.get_container(), is_root : true });\r
++                                                              }\r
++                                                      }\r
++                                                      else {\r
++                                                              tr.move_node(o, tr.get_container(), "last", e[tr._get_settings().dnd.copy_modifier + "Key"]);\r
++                                                      }\r
++                                              }\r
++                                      }, this))\r
++                              .bind("mouseleave.jstree", $.proxy(function (e) {\r
++                                              if(e.relatedTarget && e.relatedTarget.id && e.relatedTarget.id === "jstree-marker-line") {\r
++                                                      return false; \r
++                                              }\r
++                                              if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) {\r
++                                                      if(this.data.dnd.i1) { clearInterval(this.data.dnd.i1); }\r
++                                                      if(this.data.dnd.i2) { clearInterval(this.data.dnd.i2); }\r
++                                                      if(this.data.dnd.to1) { clearTimeout(this.data.dnd.to1); }\r
++                                                      if(this.data.dnd.to2) { clearTimeout(this.data.dnd.to2); }\r
++                                                      if($.vakata.dnd.helper.children("ins").hasClass("jstree-ok")) {\r
++                                                              $.vakata.dnd.helper.children("ins").attr("class","jstree-invalid");\r
++                                                      }\r
++                                              }\r
++                                      }, this))\r
++                              .bind("mousemove.jstree", $.proxy(function (e) {\r
++                                              if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) {\r
++                                                      var cnt = this.get_container()[0];\r
++\r
++                                                      // Horizontal scroll\r
++                                                      if(e.pageX + 24 > this.data.dnd.cof.left + this.data.dnd.cw) {\r
++                                                              if(this.data.dnd.i1) { clearInterval(this.data.dnd.i1); }\r
++                                                              this.data.dnd.i1 = setInterval($.proxy(function () { this.scrollLeft += $.vakata.dnd.scroll_spd; }, cnt), 100);\r
++                                                      }\r
++                                                      else if(e.pageX - 24 < this.data.dnd.cof.left) {\r
++                                                              if(this.data.dnd.i1) { clearInterval(this.data.dnd.i1); }\r
++                                                              this.data.dnd.i1 = setInterval($.proxy(function () { this.scrollLeft -= $.vakata.dnd.scroll_spd; }, cnt), 100);\r
++                                                      }\r
++                                                      else {\r
++                                                              if(this.data.dnd.i1) { clearInterval(this.data.dnd.i1); }\r
++                                                      }\r
++\r
++                                                      // Vertical scroll\r
++                                                      if(e.pageY + 24 > this.data.dnd.cof.top + this.data.dnd.ch) {\r
++                                                              if(this.data.dnd.i2) { clearInterval(this.data.dnd.i2); }\r
++                                                              this.data.dnd.i2 = setInterval($.proxy(function () { this.scrollTop += $.vakata.dnd.scroll_spd; }, cnt), 100);\r
++                                                      }\r
++                                                      else if(e.pageY - 24 < this.data.dnd.cof.top) {\r
++                                                              if(this.data.dnd.i2) { clearInterval(this.data.dnd.i2); }\r
++                                                              this.data.dnd.i2 = setInterval($.proxy(function () { this.scrollTop -= $.vakata.dnd.scroll_spd; }, cnt), 100);\r
++                                                      }\r
++                                                      else {\r
++                                                              if(this.data.dnd.i2) { clearInterval(this.data.dnd.i2); }\r
++                                                      }\r
++\r
++                                              }\r
++                                      }, this))\r
++                              .bind("scroll.jstree", $.proxy(function (e) { \r
++                                              if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree && m && ml) {\r
++                                                      m.hide();\r
++                                                      ml.hide();\r
++                                              }\r
++                                      }, this))\r
++                              .delegate("a", "mousedown.jstree", $.proxy(function (e) { \r
++                                              if(e.which === 1) {\r
++                                                      this.start_drag(e.currentTarget, e);\r
++                                                      return false;\r
++                                              }\r
++                                      }, this))\r
++                              .delegate("a", "mouseenter.jstree", $.proxy(function (e) { \r
++                                              if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) {\r
++                                                      this.dnd_enter(e.currentTarget);\r
++                                              }\r
++                                      }, this))\r
++                              .delegate("a", "mousemove.jstree", $.proxy(function (e) { \r
++                                              if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) {\r
++                                                      if(!r || !r.length || r.children("a")[0] !== e.currentTarget) {\r
++                                                              this.dnd_enter(e.currentTarget);\r
++                                                      }\r
++                                                      if(typeof this.data.dnd.off.top === "undefined") { this.data.dnd.off = $(e.target).offset(); }\r
++                                                      this.data.dnd.w = (e.pageY - (this.data.dnd.off.top || 0)) % this.data.core.li_height;\r
++                                                      if(this.data.dnd.w < 0) { this.data.dnd.w += this.data.core.li_height; }\r
++                                                      this.dnd_show();\r
++                                              }\r
++                                      }, this))\r
++                              .delegate("a", "mouseleave.jstree", $.proxy(function (e) { \r
++                                              if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) {\r
++                                                      if(e.relatedTarget && e.relatedTarget.id && e.relatedTarget.id === "jstree-marker-line") {\r
++                                                              return false; \r
++                                                      }\r
++                                                              if(m) { m.hide(); }\r
++                                                              if(ml) { ml.hide(); }\r
++                                                      /*\r
++                                                      var ec = $(e.currentTarget).closest("li"), \r
++                                                              er = $(e.relatedTarget).closest("li");\r
++                                                      if(er[0] !== ec.prev()[0] && er[0] !== ec.next()[0]) {\r
++                                                              if(m) { m.hide(); }\r
++                                                              if(ml) { ml.hide(); }\r
++                                                      }\r
++                                                      */\r
++                                                      this.data.dnd.mto = setTimeout( \r
++                                                              (function (t) { return function () { t.dnd_leave(e); }; })(this),\r
++                                                      0);\r
++                                              }\r
++                                      }, this))\r
++                              .delegate("a", "mouseup.jstree", $.proxy(function (e) { \r
++                                              if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) {\r
++                                                      this.dnd_finish(e);\r
++                                              }\r
++                                      }, this));\r
++\r
++                      $(document)\r
++                              .bind("drag_stop.vakata", $.proxy(function () {\r
++                                              if(this.data.dnd.to1) { clearTimeout(this.data.dnd.to1); }\r
++                                              if(this.data.dnd.to2) { clearTimeout(this.data.dnd.to2); }\r
++                                              if(this.data.dnd.i1) { clearInterval(this.data.dnd.i1); }\r
++                                              if(this.data.dnd.i2) { clearInterval(this.data.dnd.i2); }\r
++                                              this.data.dnd.after             = false;\r
++                                              this.data.dnd.before    = false;\r
++                                              this.data.dnd.inside    = false;\r
++                                              this.data.dnd.off               = false;\r
++                                              this.data.dnd.prepared  = false;\r
++                                              this.data.dnd.w                 = false;\r
++                                              this.data.dnd.to1               = false;\r
++                                              this.data.dnd.to2               = false;\r
++                                              this.data.dnd.i1                = false;\r
++                                              this.data.dnd.i2                = false;\r
++                                              this.data.dnd.active    = false;\r
++                                              this.data.dnd.foreign   = false;\r
++                                              if(m) { m.css({ "top" : "-2000px" }); }\r
++                                              if(ml) { ml.css({ "top" : "-2000px" }); }\r
++                                      }, this))\r
++                              .bind("drag_start.vakata", $.proxy(function (e, data) {\r
++                                              if(data.data.jstree) { \r
++                                                      var et = $(data.event.target);\r
++                                                      if(et.closest(".jstree").hasClass("jstree-" + this.get_index())) {\r
++                                                              this.dnd_enter(et);\r
++                                                      }\r
++                                              }\r
++                                      }, this));\r
++                              /*\r
++                              .bind("keydown.jstree-" + this.get_index() + " keyup.jstree-" + this.get_index(), $.proxy(function(e) {\r
++                                              if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree && !this.data.dnd.foreign) {\r
++                                                      var h = $.vakata.dnd.helper.children("ins");\r
++                                                      if(e[this._get_settings().dnd.copy_modifier + "Key"] && h.hasClass("jstree-ok")) {\r
++                                                              h.parent().html(h.parent().html().replace(/ \(Copy\)$/, "") + " (Copy)");\r
++                                                      } \r
++                                                      else {\r
++                                                              h.parent().html(h.parent().html().replace(/ \(Copy\)$/, ""));\r
++                                                      }\r
++                                              }\r
++                                      }, this)); */\r
++\r
++\r
++\r
++                      var s = this._get_settings().dnd;\r
++                      if(s.drag_target) {\r
++                              $(document)\r
++                                      .delegate(s.drag_target, "mousedown.jstree-" + this.get_index(), $.proxy(function (e) {\r
++                                              o = e.target;\r
++                                              $.vakata.dnd.drag_start(e, { jstree : true, obj : e.target }, "<ins class='jstree-icon'></ins>" + $(e.target).text() );\r
++                                              if(this.data.themes) { \r
++                                                      if(m) { m.attr("class", "jstree-" + this.data.themes.theme); }\r
++                                                      if(ml) { ml.attr("class", "jstree-" + this.data.themes.theme); }\r
++                                                      $.vakata.dnd.helper.attr("class", "jstree-dnd-helper jstree-" + this.data.themes.theme); \r
++                                              }\r
++                                              $.vakata.dnd.helper.children("ins").attr("class","jstree-invalid");\r
++                                              var cnt = this.get_container();\r
++                                              this.data.dnd.cof = cnt.offset();\r
++                                              this.data.dnd.cw = parseInt(cnt.width(),10);\r
++                                              this.data.dnd.ch = parseInt(cnt.height(),10);\r
++                                              this.data.dnd.foreign = true;\r
++                                              e.preventDefault();\r
++                                      }, this));\r
++                      }\r
++                      if(s.drop_target) {\r
++                              $(document)\r
++                                      .delegate(s.drop_target, "mouseenter.jstree-" + this.get_index(), $.proxy(function (e) {\r
++                                                      if(this.data.dnd.active && this._get_settings().dnd.drop_check.call(this, { "o" : o, "r" : $(e.target), "e" : e })) {\r
++                                                              $.vakata.dnd.helper.children("ins").attr("class","jstree-ok");\r
++                                                      }\r
++                                              }, this))\r
++                                      .delegate(s.drop_target, "mouseleave.jstree-" + this.get_index(), $.proxy(function (e) {\r
++                                                      if(this.data.dnd.active) {\r
++                                                              $.vakata.dnd.helper.children("ins").attr("class","jstree-invalid");\r
++                                                      }\r
++                                              }, this))\r
++                                      .delegate(s.drop_target, "mouseup.jstree-" + this.get_index(), $.proxy(function (e) {\r
++                                                      if(this.data.dnd.active && $.vakata.dnd.helper.children("ins").hasClass("jstree-ok")) {\r
++                                                              this._get_settings().dnd.drop_finish.call(this, { "o" : o, "r" : $(e.target), "e" : e });\r
++                                                      }\r
++                                              }, this));\r
++                      }\r
++              },\r
++              defaults : {\r
++                      copy_modifier   : "ctrl",\r
++                      check_timeout   : 100,\r
++                      open_timeout    : 500,\r
++                      drop_target             : ".jstree-drop",\r
++                      drop_check              : function (data) { return true; },\r
++                      drop_finish             : $.noop,\r
++                      drag_target             : ".jstree-draggable",\r
++                      drag_finish             : $.noop,\r
++                      drag_check              : function (data) { return { after : false, before : false, inside : true }; }\r
++              },\r
++              _fn : {\r
++                      dnd_prepare : function () {\r
++                              if(!r || !r.length) { return; }\r
++                              this.data.dnd.off = r.offset();\r
++                              if(this._get_settings().core.rtl) {\r
++                                      this.data.dnd.off.right = this.data.dnd.off.left + r.width();\r
++                              }\r
++                              if(this.data.dnd.foreign) {\r
++                                      var a = this._get_settings().dnd.drag_check.call(this, { "o" : o, "r" : r });\r
++                                      this.data.dnd.after = a.after;\r
++                                      this.data.dnd.before = a.before;\r
++                                      this.data.dnd.inside = a.inside;\r
++                                      this.data.dnd.prepared = true;\r
++                                      return this.dnd_show();\r
++                              }\r
++                              this.prepare_move(o, r, "before");\r
++                              this.data.dnd.before = this.check_move();\r
++                              this.prepare_move(o, r, "after");\r
++                              this.data.dnd.after = this.check_move();\r
++                              if(this._is_loaded(r)) {\r
++                                      this.prepare_move(o, r, "inside");\r
++                                      this.data.dnd.inside = this.check_move();\r
++                              }\r
++                              else {\r
++                                      this.data.dnd.inside = false;\r
++                              }\r
++                              this.data.dnd.prepared = true;\r
++                              return this.dnd_show();\r
++                      },\r
++                      dnd_show : function () {\r
++                              if(!this.data.dnd.prepared) { return; }\r
++                              var o = ["before","inside","after"],\r
++                                      r = false,\r
++                                      rtl = this._get_settings().core.rtl,\r
++                                      pos;\r
++                              if(this.data.dnd.w < this.data.core.li_height/3) { o = ["before","inside","after"]; }\r
++                              else if(this.data.dnd.w <= this.data.core.li_height*2/3) {\r
++                                      o = this.data.dnd.w < this.data.core.li_height/2 ? ["inside","before","after"] : ["inside","after","before"];\r
++                              }\r
++                              else { o = ["after","inside","before"]; }\r
++                              $.each(o, $.proxy(function (i, val) { \r
++                                      if(this.data.dnd[val]) {\r
++                                              $.vakata.dnd.helper.children("ins").attr("class","jstree-ok");\r
++                                              r = val;\r
++                                              return false;\r
++                                      }\r
++                              }, this));\r
++                              if(r === false) { $.vakata.dnd.helper.children("ins").attr("class","jstree-invalid"); }\r
++                              \r
++                              pos = rtl ? (this.data.dnd.off.right - 18) : (this.data.dnd.off.left + 10);\r
++                              switch(r) {\r
++                                      case "before":\r
++                                              m.css({ "left" : pos + "px", "top" : (this.data.dnd.off.top - 6) + "px" }).show();\r
++                                              if(ml) { ml.css({ "left" : (pos + 8) + "px", "top" : (this.data.dnd.off.top - 1) + "px" }).show(); }\r
++                                              break;\r
++                                      case "after":\r
++                                              m.css({ "left" : pos + "px", "top" : (this.data.dnd.off.top + this.data.core.li_height - 6) + "px" }).show();\r
++                                              if(ml) { ml.css({ "left" : (pos + 8) + "px", "top" : (this.data.dnd.off.top + this.data.core.li_height - 1) + "px" }).show(); }\r
++                                              break;\r
++                                      case "inside":\r
++                                              m.css({ "left" : pos + ( rtl ? -4 : 4) + "px", "top" : (this.data.dnd.off.top + this.data.core.li_height/2 - 5) + "px" }).show();\r
++                                              if(ml) { ml.hide(); }\r
++                                              break;\r
++                                      default:\r
++                                              m.hide();\r
++                                              if(ml) { ml.hide(); }\r
++                                              break;\r
++                              }\r
++                              last_pos = r;\r
++                              return r;\r
++                      },\r
++                      dnd_open : function () {\r
++                              this.data.dnd.to2 = false;\r
++                              this.open_node(r, $.proxy(this.dnd_prepare,this), true);\r
++                      },\r
++                      dnd_finish : function (e) {\r
++                              if(this.data.dnd.foreign) {\r
++                                      if(this.data.dnd.after || this.data.dnd.before || this.data.dnd.inside) {\r
++                                              this._get_settings().dnd.drag_finish.call(this, { "o" : o, "r" : r, "p" : last_pos });\r
++                                      }\r
++                              }\r
++                              else {\r
++                                      this.dnd_prepare();\r
++                                      this.move_node(o, r, last_pos, e[this._get_settings().dnd.copy_modifier + "Key"]);\r
++                              }\r
++                              o = false;\r
++                              r = false;\r
++                              m.hide();\r
++                              if(ml) { ml.hide(); }\r
++                      },\r
++                      dnd_enter : function (obj) {\r
++                              if(this.data.dnd.mto) { \r
++                                      clearTimeout(this.data.dnd.mto);\r
++                                      this.data.dnd.mto = false;\r
++                              }\r
++                              var s = this._get_settings().dnd;\r
++                              this.data.dnd.prepared = false;\r
++                              r = this._get_node(obj);\r
++                              if(s.check_timeout) { \r
++                                      // do the calculations after a minimal timeout (users tend to drag quickly to the desired location)\r
++                                      if(this.data.dnd.to1) { clearTimeout(this.data.dnd.to1); }\r
++                                      this.data.dnd.to1 = setTimeout($.proxy(this.dnd_prepare, this), s.check_timeout); \r
++                              }\r
++                              else { \r
++                                      this.dnd_prepare(); \r
++                              }\r
++                              if(s.open_timeout) { \r
++                                      if(this.data.dnd.to2) { clearTimeout(this.data.dnd.to2); }\r
++                                      if(r && r.length && r.hasClass("jstree-closed")) { \r
++                                              // if the node is closed - open it, then recalculate\r
++                                              this.data.dnd.to2 = setTimeout($.proxy(this.dnd_open, this), s.open_timeout);\r
++                                      }\r
++                              }\r
++                              else {\r
++                                      if(r && r.length && r.hasClass("jstree-closed")) { \r
++                                              this.dnd_open();\r
++                                      }\r
++                              }\r
++                      },\r
++                      dnd_leave : function (e) {\r
++                              this.data.dnd.after             = false;\r
++                              this.data.dnd.before    = false;\r
++                              this.data.dnd.inside    = false;\r
++                              $.vakata.dnd.helper.children("ins").attr("class","jstree-invalid");\r
++                              m.hide();\r
++                              if(ml) { ml.hide(); }\r
++                              if(r && r[0] === e.target.parentNode) {\r
++                                      if(this.data.dnd.to1) {\r
++                                              clearTimeout(this.data.dnd.to1);\r
++                                              this.data.dnd.to1 = false;\r
++                                      }\r
++                                      if(this.data.dnd.to2) {\r
++                                              clearTimeout(this.data.dnd.to2);\r
++                                              this.data.dnd.to2 = false;\r
++                                      }\r
++                              }\r
++                      },\r
++                      start_drag : function (obj, e) {\r
++                              o = this._get_node(obj);\r
++                              if(this.data.ui && this.is_selected(o)) { o = this._get_node(null, true); }\r
++                              var dt = o.length > 1 ? this._get_string("multiple_selection") : this.get_text(o),\r
++                                      cnt = this.get_container();\r
++                              if(!this._get_settings().core.html_titles) { dt = dt.replace(/</ig,"&lt;").replace(/>/ig,"&gt;"); }\r
++                              $.vakata.dnd.drag_start(e, { jstree : true, obj : o }, "<ins class='jstree-icon'></ins>" + dt );\r
++                              if(this.data.themes) { \r
++                                      if(m) { m.attr("class", "jstree-" + this.data.themes.theme); }\r
++                                      if(ml) { ml.attr("class", "jstree-" + this.data.themes.theme); }\r
++                                      $.vakata.dnd.helper.attr("class", "jstree-dnd-helper jstree-" + this.data.themes.theme); \r
++                              }\r
++                              this.data.dnd.cof = cnt.offset();\r
++                              this.data.dnd.cw = parseInt(cnt.width(),10);\r
++                              this.data.dnd.ch = parseInt(cnt.height(),10);\r
++                              this.data.dnd.active = true;\r
++                      }\r
++              }\r
++      });\r
++      $(function() {\r
++              var css_string = '' + \r
++                      '#vakata-dragged ins { display:block; text-decoration:none; width:16px; height:16px; margin:0 0 0 0; padding:0; position:absolute; top:4px; left:4px; ' + \r
++                      ' -moz-border-radius:4px; border-radius:4px; -webkit-border-radius:4px; ' +\r
++                      '} ' + \r
++                      '#vakata-dragged .jstree-ok { background:green; } ' + \r
++                      '#vakata-dragged .jstree-invalid { background:red; } ' + \r
++                      '#jstree-marker { padding:0; margin:0; font-size:12px; overflow:hidden; height:12px; width:8px; position:absolute; top:-30px; z-index:10001; background-repeat:no-repeat; display:none; background-color:transparent; text-shadow:1px 1px 1px white; color:black; line-height:10px; } ' + \r
++                      '#jstree-marker-line { padding:0; margin:0; line-height:0%; font-size:1px; overflow:hidden; height:1px; width:100px; position:absolute; top:-30px; z-index:10000; background-repeat:no-repeat; display:none; background-color:#456c43; ' + \r
++                      ' cursor:pointer; border:1px solid #eeeeee; border-left:0; -moz-box-shadow: 0px 0px 2px #666; -webkit-box-shadow: 0px 0px 2px #666; box-shadow: 0px 0px 2px #666; ' + \r
++                      ' -moz-border-radius:1px; border-radius:1px; -webkit-border-radius:1px; ' +\r
++                      '}' + \r
++                      '';\r
++              $.vakata.css.add_sheet({ str : css_string, title : "jstree" });\r
++              m = $("<div />").attr({ id : "jstree-marker" }).hide().html("&raquo;")\r
++                      .bind("mouseleave mouseenter", function (e) { \r
++                              m.hide();\r
++                              ml.hide();\r
++                              e.preventDefault(); \r
++                              e.stopImmediatePropagation(); \r
++                              return false; \r
++                      })\r
++                      .appendTo("body");\r
++              ml = $("<div />").attr({ id : "jstree-marker-line" }).hide()\r
++                      .bind("mouseup", function (e) { \r
++                              if(r && r.length) { \r
++                                      r.children("a").trigger(e); \r
++                                      e.preventDefault(); \r
++                                      e.stopImmediatePropagation(); \r
++                                      return false; \r
++                              } \r
++                      })\r
++                      .bind("mouseleave", function (e) { \r
++                              var rt = $(e.relatedTarget);\r
++                              if(rt.is(".jstree") || rt.closest(".jstree").length === 0) {\r
++                                      if(r && r.length) { \r
++                                              r.children("a").trigger(e); \r
++                                              m.hide();\r
++                                              ml.hide();\r
++                                              e.preventDefault(); \r
++                                              e.stopImmediatePropagation(); \r
++                                              return false; \r
++                                      }\r
++                              }\r
++                      })\r
++                      .appendTo("body");\r
++              $(document).bind("drag_start.vakata", function (e, data) {\r
++                      if(data.data.jstree) { m.show(); if(ml) { ml.show(); } }\r
++              });\r
++              $(document).bind("drag_stop.vakata", function (e, data) {\r
++                      if(data.data.jstree) { m.hide(); if(ml) { ml.hide(); } }\r
++              });\r
++      });\r
++})(jQuery);\r
++//*/\r
++\r
++/*\r
++ * jsTree checkbox plugin\r
++ * Inserts checkboxes in front of every node\r
++ * Depends on the ui plugin\r
++ * DOES NOT WORK NICELY WITH MULTITREE DRAG'N'DROP\r
++ */\r
++(function ($) {\r
++      $.jstree.plugin("checkbox", {\r
++              __init : function () {\r
++                      this.data.checkbox.noui = this._get_settings().checkbox.override_ui;\r
++                      if(this.data.ui && this.data.checkbox.noui) {\r
++                              this.select_node = this.deselect_node = this.deselect_all = $.noop;\r
++                              this.get_selected = this.get_checked;\r
++                      }\r
++\r
++                      this.get_container()\r
++                              .bind("open_node.jstree create_node.jstree clean_node.jstree refresh.jstree", $.proxy(function (e, data) { \r
++                                              this._prepare_checkboxes(data.rslt.obj);\r
++                                      }, this))\r
++                              .bind("loaded.jstree", $.proxy(function (e) {\r
++                                              this._prepare_checkboxes();\r
++                                      }, this))\r
++                              .delegate( (this.data.ui && this.data.checkbox.noui ? "a" : "ins.jstree-checkbox") , "click.jstree", $.proxy(function (e) {\r
++                                              e.preventDefault();\r
++                                              if(this._get_node(e.target).hasClass("jstree-checked")) { this.uncheck_node(e.target); }\r
++                                              else { this.check_node(e.target); }\r
++                                              if(this.data.ui && this.data.checkbox.noui) {\r
++                                                      this.save_selected();\r
++                                                      if(this.data.cookies) { this.save_cookie("select_node"); }\r
++                                              }\r
++                                              else {\r
++                                                      e.stopImmediatePropagation();\r
++                                                      return false;\r
++                                              }\r
++                                      }, this));\r
++              },\r
++              defaults : {\r
++                      override_ui : false,\r
++                      two_state : false,\r
++                      real_checkboxes : false,\r
++                      checked_parent_open : true,\r
++                      real_checkboxes_names : function (n) { return [ ("check_" + (n[0].id || Math.ceil(Math.random() * 10000))) , 1]; }\r
++              },\r
++              __destroy : function () {\r
++                      this.get_container()\r
++                              .find("input.jstree-real-checkbox").removeClass("jstree-real-checkbox").end()\r
++                              .find("ins.jstree-checkbox").remove();\r
++              },\r
++              _fn : {\r
++                      _checkbox_notify : function (n, data) {\r
++                              if(data.checked) {\r
++                                      this.check_node(n, false);\r
++                              }\r
++                      },\r
++                      _prepare_checkboxes : function (obj) {\r
++                              obj = !obj || obj == -1 ? this.get_container().find("> ul > li") : this._get_node(obj);\r
++                              if(obj === false) { return; } // added for removing root nodes\r
++                              var c, _this = this, t, ts = this._get_settings().checkbox.two_state, rc = this._get_settings().checkbox.real_checkboxes, rcn = this._get_settings().checkbox.real_checkboxes_names;\r
++                              obj.each(function () {\r
++                                      t = $(this);\r
++                                      c = t.is("li") && (t.hasClass("jstree-checked") || (rc && t.children(":checked").length)) ? "jstree-checked" : "jstree-unchecked";\r
++                                      t.find("li").andSelf().each(function () {\r
++                                              var $t = $(this), nm;\r
++                                              $t.children("a" + (_this.data.languages ? "" : ":eq(0)") ).not(":has(.jstree-checkbox)").prepend("<ins class='jstree-checkbox'>&#160;</ins>").parent().not(".jstree-checked, .jstree-unchecked").addClass( ts ? "jstree-unchecked" : c );\r
++                                              if(rc) {\r
++                                                      if(!$t.children(":checkbox").length) {\r
++                                                              nm = rcn.call(_this, $t);\r
++                                                              $t.prepend("<input type='checkbox' class='jstree-real-checkbox' id='" + nm[0] + "' name='" + nm[0] + "' value='" + nm[1] + "' />");\r
++                                                      }\r
++                                                      else {\r
++                                                              $t.children(":checkbox").addClass("jstree-real-checkbox");\r
++                                                      }\r
++                                              }\r
++                                              if(!ts) {\r
++                                                      if(c === "jstree-checked" || $t.hasClass("jstree-checked") || $t.children(':checked').length) {\r
++                                                              $t.find("li").andSelf().addClass("jstree-checked").children(":checkbox").prop("checked", true);\r
++                                                      }\r
++                                              }\r
++                                              else {\r
++                                                      if($t.hasClass("jstree-checked") || $t.children(':checked').length) {\r
++                                                              $t.addClass("jstree-checked").children(":checkbox").prop("checked", true);\r
++                                                      }\r
++                                              }\r
++                                      });\r
++                              });\r
++                              if(!ts) {\r
++                                      obj.find(".jstree-checked").parent().parent().each(function () { _this._repair_state(this); }); \r
++                              }\r
++                      },\r
++                      change_state : function (obj, state) {\r
++                              obj = this._get_node(obj);\r
++                              var coll = false, rc = this._get_settings().checkbox.real_checkboxes;\r
++                              if(!obj || obj === -1) { return false; }\r
++                              state = (state === false || state === true) ? state : obj.hasClass("jstree-checked");\r
++                              if(this._get_settings().checkbox.two_state) {\r
++                                      if(state) { \r
++                                              obj.removeClass("jstree-checked").addClass("jstree-unchecked"); \r
++                                              if(rc) { obj.children(":checkbox").prop("checked", false); }\r
++                                      }\r
++                                      else { \r
++                                              obj.removeClass("jstree-unchecked").addClass("jstree-checked"); \r
++                                              if(rc) { obj.children(":checkbox").prop("checked", true); }\r
++                                      }\r
++                              }\r
++                              else {\r
++                                      if(state) { \r
++                                              coll = obj.find("li").andSelf();\r
++                                              if(!coll.filter(".jstree-checked, .jstree-undetermined").length) { return false; }\r
++                                              coll.removeClass("jstree-checked jstree-undetermined").addClass("jstree-unchecked"); \r
++                                              if(rc) { coll.children(":checkbox").prop("checked", false); }\r
++                                      }\r
++                                      else { \r
++                                              coll = obj.find("li").andSelf();\r
++                                              if(!coll.filter(".jstree-unchecked, .jstree-undetermined").length) { return false; }\r
++                                              coll.removeClass("jstree-unchecked jstree-undetermined").addClass("jstree-checked"); \r
++                                              if(rc) { coll.children(":checkbox").prop("checked", true); }\r
++                                              if(this.data.ui) { this.data.ui.last_selected = obj; }\r
++                                              this.data.checkbox.last_selected = obj;\r
++                                      }\r
++                                      obj.parentsUntil(".jstree", "li").each(function () {\r
++                                              var $this = $(this);\r
++                                              if(state) {\r
++                                                      if($this.children("ul").children("li.jstree-checked, li.jstree-undetermined").length) {\r
++                                                              $this.parentsUntil(".jstree", "li").andSelf().removeClass("jstree-checked jstree-unchecked").addClass("jstree-undetermined");\r
++                                                              if(rc) { $this.parentsUntil(".jstree", "li").andSelf().children(":checkbox").prop("checked", false); }\r
++                                                              return false;\r
++                                                      }\r
++                                                      else {\r
++                                                              $this.removeClass("jstree-checked jstree-undetermined").addClass("jstree-unchecked");\r
++                                                              if(rc) { $this.children(":checkbox").prop("checked", false); }\r
++                                                      }\r
++                                              }\r
++                                              else {\r
++                                                      if($this.children("ul").children("li.jstree-unchecked, li.jstree-undetermined").length) {\r
++                                                              $this.parentsUntil(".jstree", "li").andSelf().removeClass("jstree-checked jstree-unchecked").addClass("jstree-undetermined");\r
++                                                              if(rc) { $this.parentsUntil(".jstree", "li").andSelf().children(":checkbox").prop("checked", false); }\r
++                                                              return false;\r
++                                                      }\r
++                                                      else {\r
++                                                              $this.removeClass("jstree-unchecked jstree-undetermined").addClass("jstree-checked");\r
++                                                              if(rc) { $this.children(":checkbox").prop("checked", true); }\r
++                                                      }\r
++                                              }\r
++                                      });\r
++                              }\r
++                              if(this.data.ui && this.data.checkbox.noui) { this.data.ui.selected = this.get_checked(); }\r
++                              this.__callback(obj);\r
++                              return true;\r
++                      },\r
++                      check_node : function (obj) {\r
++                              if(this.change_state(obj, false)) { \r
++                                      obj = this._get_node(obj);\r
++                                      if(this._get_settings().checkbox.checked_parent_open) {\r
++                                              var t = this;\r
++                                              obj.parents(".jstree-closed").each(function () { t.open_node(this, false, true); });\r
++                                      }\r
++                                      this.__callback({ "obj" : obj }); \r
++                              }\r
++                      },\r
++                      uncheck_node : function (obj) {\r
++                              if(this.change_state(obj, true)) { this.__callback({ "obj" : this._get_node(obj) }); }\r
++                      },\r
++                      check_all : function () {\r
++                              var _this = this, \r
++                                      coll = this._get_settings().checkbox.two_state ? this.get_container_ul().find("li") : this.get_container_ul().children("li");\r
++                              coll.each(function () {\r
++                                      _this.change_state(this, false);\r
++                              });\r
++                              this.__callback();\r
++                      },\r
++                      uncheck_all : function () {\r
++                              var _this = this,\r
++                                      coll = this._get_settings().checkbox.two_state ? this.get_container_ul().find("li") : this.get_container_ul().children("li");\r
++                              coll.each(function () {\r
++                                      _this.change_state(this, true);\r
++                              });\r
++                              this.__callback();\r
++                      },\r
++\r
++                      is_checked : function(obj) {\r
++                              obj = this._get_node(obj);\r
++                              return obj.length ? obj.is(".jstree-checked") : false;\r
++                      },\r
++                      get_checked : function (obj, get_all) {\r
++                              obj = !obj || obj === -1 ? this.get_container() : this._get_node(obj);\r
++                              return get_all || this._get_settings().checkbox.two_state ? obj.find(".jstree-checked") : obj.find("> ul > .jstree-checked, .jstree-undetermined > ul > .jstree-checked");\r
++                      },\r
++                      get_unchecked : function (obj, get_all) { \r
++                              obj = !obj || obj === -1 ? this.get_container() : this._get_node(obj);\r
++                              return get_all || this._get_settings().checkbox.two_state ? obj.find(".jstree-unchecked") : obj.find("> ul > .jstree-unchecked, .jstree-undetermined > ul > .jstree-unchecked");\r
++                      },\r
++\r
++                      show_checkboxes : function () { this.get_container().children("ul").removeClass("jstree-no-checkboxes"); },\r
++                      hide_checkboxes : function () { this.get_container().children("ul").addClass("jstree-no-checkboxes"); },\r
++\r
++                      _repair_state : function (obj) {\r
++                              obj = this._get_node(obj);\r
++                              if(!obj.length) { return; }\r
++                              if(this._get_settings().checkbox.two_state) {\r
++                                      obj.find('li').andSelf().not('.jstree-checked').removeClass('jstree-undetermined').addClass('jstree-unchecked').children(':checkbox').prop('checked', true);\r
++                                      return;\r
++                              }\r
++                              var rc = this._get_settings().checkbox.real_checkboxes,\r
++                                      a = obj.find("> ul > .jstree-checked").length,\r
++                                      b = obj.find("> ul > .jstree-undetermined").length,\r
++                                      c = obj.find("> ul > li").length;\r
++                              if(c === 0) { if(obj.hasClass("jstree-undetermined")) { this.change_state(obj, false); } }\r
++                              else if(a === 0 && b === 0) { this.change_state(obj, true); }\r
++                              else if(a === c) { this.change_state(obj, false); }\r
++                              else { \r
++                                      obj.parentsUntil(".jstree","li").andSelf().removeClass("jstree-checked jstree-unchecked").addClass("jstree-undetermined");\r
++                                      if(rc) { obj.parentsUntil(".jstree", "li").andSelf().children(":checkbox").prop("checked", false); }\r
++                              }\r
++                      },\r
++                      reselect : function () {\r
++                              if(this.data.ui && this.data.checkbox.noui) { \r
++                                      var _this = this,\r
++                                              s = this.data.ui.to_select;\r
++                                      s = $.map($.makeArray(s), function (n) { return "#" + n.toString().replace(/^#/,"").replace(/\\\//g,"/").replace(/\//g,"\\\/").replace(/\\\./g,".").replace(/\./g,"\\.").replace(/\:/g,"\\:"); });\r
++                                      this.deselect_all();\r
++                                      $.each(s, function (i, val) { _this.check_node(val); });\r
++                                      this.__callback();\r
++                              }\r
++                              else { \r
++                                      this.__call_old(); \r
++                              }\r
++                      },\r
++                      save_loaded : function () {\r
++                              var _this = this;\r
++                              this.data.core.to_load = [];\r
++                              this.get_container_ul().find("li.jstree-closed.jstree-undetermined").each(function () {\r
++                                      if(this.id) { _this.data.core.to_load.push("#" + this.id); }\r
++                              });\r
++                      }\r
++              }\r
++      });\r
++      $(function() {\r
++              var css_string = '.jstree .jstree-real-checkbox { display:none; } ';\r
++              $.vakata.css.add_sheet({ str : css_string, title : "jstree" });\r
++      });\r
++})(jQuery);\r
++//*/\r
++\r
++/* \r
++ * jsTree XML plugin\r
++ * The XML data store. Datastores are build by overriding the `load_node` and `_is_loaded` functions.\r
++ */\r
++(function ($) {\r
++      $.vakata.xslt = function (xml, xsl, callback) {\r
++              var rs = "", xm, xs, processor, support;\r
++              // TODO: IE9 no XSLTProcessor, no document.recalc\r
++              if(document.recalc) {\r
++                      xm = document.createElement('xml');\r
++                      xs = document.createElement('xml');\r
++                      xm.innerHTML = xml;\r
++                      xs.innerHTML = xsl;\r
++                      $("body").append(xm).append(xs);\r
++                      setTimeout( (function (xm, xs, callback) {\r
++                              return function () {\r
++                                      callback.call(null, xm.transformNode(xs.XMLDocument));\r
++                                      setTimeout( (function (xm, xs) { return function () { $(xm).remove(); $(xs).remove(); }; })(xm, xs), 200);\r
++                              };\r
++                      })(xm, xs, callback), 100);\r
++                      return true;\r
++              }\r
++              if(typeof window.DOMParser !== "undefined" && typeof window.XMLHttpRequest !== "undefined" && typeof window.XSLTProcessor === "undefined") {\r
++                      xml = new DOMParser().parseFromString(xml, "text/xml");\r
++                      xsl = new DOMParser().parseFromString(xsl, "text/xml");\r
++                      // alert(xml.transformNode());\r
++                      // callback.call(null, new XMLSerializer().serializeToString(rs));\r
++                      \r
++              }\r
++              if(typeof window.DOMParser !== "undefined" && typeof window.XMLHttpRequest !== "undefined" && typeof window.XSLTProcessor !== "undefined") {\r
++                      processor = new XSLTProcessor();\r
++                      support = $.isFunction(processor.transformDocument) ? (typeof window.XMLSerializer !== "undefined") : true;\r
++                      if(!support) { return false; }\r
++                      xml = new DOMParser().parseFromString(xml, "text/xml");\r
++                      xsl = new DOMParser().parseFromString(xsl, "text/xml");\r
++                      if($.isFunction(processor.transformDocument)) {\r
++                              rs = document.implementation.createDocument("", "", null);\r
++                              processor.transformDocument(xml, xsl, rs, null);\r
++                              callback.call(null, new XMLSerializer().serializeToString(rs));\r
++                              return true;\r
++                      }\r
++                      else {\r
++                              processor.importStylesheet(xsl);\r
++                              rs = processor.transformToFragment(xml, document);\r
++                              callback.call(null, $("<div />").append(rs).html());\r
++                              return true;\r
++                      }\r
++              }\r
++              return false;\r
++      };\r
++      var xsl = {\r
++              'nest' : '<' + '?xml version="1.0" encoding="utf-8" ?>' + \r
++                      '<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >' + \r
++                      '<xsl:output method="html" encoding="utf-8" omit-xml-declaration="yes" standalone="no" indent="no" media-type="text/html" />' + \r
++                      '<xsl:template match="/">' + \r
++                      '       <xsl:call-template name="nodes">' + \r
++                      '               <xsl:with-param name="node" select="/root" />' + \r
++                      '       </xsl:call-template>' + \r
++                      '</xsl:template>' + \r
++                      '<xsl:template name="nodes">' + \r
++                      '       <xsl:param name="node" />' + \r
++                      '       <ul>' + \r
++                      '       <xsl:for-each select="$node/item">' + \r
++                      '               <xsl:variable name="children" select="count(./item) &gt; 0" />' + \r
++                      '               <li>' + \r
++                      '                       <xsl:attribute name="class">' + \r
++                      '                               <xsl:if test="position() = last()">jstree-last </xsl:if>' + \r
++                      '                               <xsl:choose>' + \r
++                      '                                       <xsl:when test="@state = \'open\'">jstree-open </xsl:when>' + \r
++                      '                                       <xsl:when test="$children or @hasChildren or @state = \'closed\'">jstree-closed </xsl:when>' + \r
++                      '                                       <xsl:otherwise>jstree-leaf </xsl:otherwise>' + \r
++                      '                               </xsl:choose>' + \r
++                      '                               <xsl:value-of select="@class" />' + \r
++                      '                       </xsl:attribute>' + \r
++                      '                       <xsl:for-each select="@*">' + \r
++                      '                               <xsl:if test="name() != \'class\' and name() != \'state\' and name() != \'hasChildren\'">' + \r
++                      '                                       <xsl:attribute name="{name()}"><xsl:value-of select="." /></xsl:attribute>' + \r
++                      '                               </xsl:if>' + \r
++                      '                       </xsl:for-each>' + \r
++                      '       <ins class="jstree-icon"><xsl:text>&#xa0;</xsl:text></ins>' + \r
++                      '                       <xsl:for-each select="content/name">' + \r
++                      '                               <a>' + \r
++                      '                               <xsl:attribute name="href">' + \r
++                      '                                       <xsl:choose>' + \r
++                      '                                       <xsl:when test="@href"><xsl:value-of select="@href" /></xsl:when>' + \r
++                      '                                       <xsl:otherwise>#</xsl:otherwise>' + \r
++                      '                                       </xsl:choose>' + \r
++                      '                               </xsl:attribute>' + \r
++                      '                               <xsl:attribute name="class"><xsl:value-of select="@lang" /> <xsl:value-of select="@class" /></xsl:attribute>' + \r
++                      '                               <xsl:attribute name="style"><xsl:value-of select="@style" /></xsl:attribute>' + \r
++                      '                               <xsl:for-each select="@*">' + \r
++                      '                                       <xsl:if test="name() != \'style\' and name() != \'class\' and name() != \'href\'">' + \r
++                      '                                               <xsl:attribute name="{name()}"><xsl:value-of select="." /></xsl:attribute>' + \r
++                      '                                       </xsl:if>' + \r
++                      '                               </xsl:for-each>' + \r
++                      '                                       <ins>' + \r
++                      '                                               <xsl:attribute name="class">jstree-icon ' + \r
++                      '                                                       <xsl:if test="string-length(attribute::icon) > 0 and not(contains(@icon,\'/\'))"><xsl:value-of select="@icon" /></xsl:if>' + \r
++                      '                                               </xsl:attribute>' + \r
++                      '                                               <xsl:if test="string-length(attribute::icon) > 0 and contains(@icon,\'/\')"><xsl:attribute name="style">background:url(<xsl:value-of select="@icon" />) center center no-repeat;</xsl:attribute></xsl:if>' + \r
++                      '                                               <xsl:text>&#xa0;</xsl:text>' + \r
++                      '                                       </ins>' + \r
++                      '                                       <xsl:copy-of select="./child::node()" />' + \r
++                      '                               </a>' + \r
++                      '                       </xsl:for-each>' + \r
++                      '                       <xsl:if test="$children or @hasChildren"><xsl:call-template name="nodes"><xsl:with-param name="node" select="current()" /></xsl:call-template></xsl:if>' + \r
++                      '               </li>' + \r
++                      '       </xsl:for-each>' + \r
++                      '       </ul>' + \r
++                      '</xsl:template>' + \r
++                      '</xsl:stylesheet>',\r
++\r
++              'flat' : '<' + '?xml version="1.0" encoding="utf-8" ?>' + \r
++                      '<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >' + \r
++                      '<xsl:output method="html" encoding="utf-8" omit-xml-declaration="yes" standalone="no" indent="no" media-type="text/xml" />' + \r
++                      '<xsl:template match="/">' + \r
++                      '       <ul>' + \r
++                      '       <xsl:for-each select="//item[not(@parent_id) or @parent_id=0 or not(@parent_id = //item/@id)]">' + /* the last `or` may be removed */\r
++                      '               <xsl:call-template name="nodes">' + \r
++                      '                       <xsl:with-param name="node" select="." />' + \r
++                      '                       <xsl:with-param name="is_last" select="number(position() = last())" />' + \r
++                      '               </xsl:call-template>' + \r
++                      '       </xsl:for-each>' + \r
++                      '       </ul>' + \r
++                      '</xsl:template>' + \r
++                      '<xsl:template name="nodes">' + \r
++                      '       <xsl:param name="node" />' + \r
++                      '       <xsl:param name="is_last" />' + \r
++                      '       <xsl:variable name="children" select="count(//item[@parent_id=$node/attribute::id]) &gt; 0" />' + \r
++                      '       <li>' + \r
++                      '       <xsl:attribute name="class">' + \r
++                      '               <xsl:if test="$is_last = true()">jstree-last </xsl:if>' + \r
++                      '               <xsl:choose>' + \r
++                      '                       <xsl:when test="@state = \'open\'">jstree-open </xsl:when>' + \r
++                      '                       <xsl:when test="$children or @hasChildren or @state = \'closed\'">jstree-closed </xsl:when>' + \r
++                      '                       <xsl:otherwise>jstree-leaf </xsl:otherwise>' + \r
++                      '               </xsl:choose>' + \r
++                      '               <xsl:value-of select="@class" />' + \r
++                      '       </xsl:attribute>' + \r
++                      '       <xsl:for-each select="@*">' + \r
++                      '               <xsl:if test="name() != \'parent_id\' and name() != \'hasChildren\' and name() != \'class\' and name() != \'state\'">' + \r
++                      '               <xsl:attribute name="{name()}"><xsl:value-of select="." /></xsl:attribute>' + \r
++                      '               </xsl:if>' + \r
++                      '       </xsl:for-each>' + \r
++                      '       <ins class="jstree-icon"><xsl:text>&#xa0;</xsl:text></ins>' + \r
++                      '       <xsl:for-each select="content/name">' + \r
++                      '               <a>' + \r
++                      '               <xsl:attribute name="href">' + \r
++                      '                       <xsl:choose>' + \r
++                      '                       <xsl:when test="@href"><xsl:value-of select="@href" /></xsl:when>' + \r
++                      '                       <xsl:otherwise>#</xsl:otherwise>' + \r
++                      '                       </xsl:choose>' + \r
++                      '               </xsl:attribute>' + \r
++                      '               <xsl:attribute name="class"><xsl:value-of select="@lang" /> <xsl:value-of select="@class" /></xsl:attribute>' + \r
++                      '               <xsl:attribute name="style"><xsl:value-of select="@style" /></xsl:attribute>' + \r
++                      '               <xsl:for-each select="@*">' + \r
++                      '                       <xsl:if test="name() != \'style\' and name() != \'class\' and name() != \'href\'">' + \r
++                      '                               <xsl:attribute name="{name()}"><xsl:value-of select="." /></xsl:attribute>' + \r
++                      '                       </xsl:if>' + \r
++                      '               </xsl:for-each>' + \r
++                      '                       <ins>' + \r
++                      '                               <xsl:attribute name="class">jstree-icon ' + \r
++                      '                                       <xsl:if test="string-length(attribute::icon) > 0 and not(contains(@icon,\'/\'))"><xsl:value-of select="@icon" /></xsl:if>' + \r
++                      '                               </xsl:attribute>' + \r
++                      '                               <xsl:if test="string-length(attribute::icon) > 0 and contains(@icon,\'/\')"><xsl:attribute name="style">background:url(<xsl:value-of select="@icon" />) center center no-repeat;</xsl:attribute></xsl:if>' + \r
++                      '                               <xsl:text>&#xa0;</xsl:text>' + \r
++                      '                       </ins>' + \r
++                      '                       <xsl:copy-of select="./child::node()" />' + \r
++                      '               </a>' + \r
++                      '       </xsl:for-each>' + \r
++                      '       <xsl:if test="$children">' + \r
++                      '               <ul>' + \r
++                      '               <xsl:for-each select="//item[@parent_id=$node/attribute::id]">' + \r
++                      '                       <xsl:call-template name="nodes">' + \r
++                      '                               <xsl:with-param name="node" select="." />' + \r
++                      '                               <xsl:with-param name="is_last" select="number(position() = last())" />' + \r
++                      '                       </xsl:call-template>' + \r
++                      '               </xsl:for-each>' + \r
++                      '               </ul>' + \r
++                      '       </xsl:if>' + \r
++                      '       </li>' + \r
++                      '</xsl:template>' + \r
++                      '</xsl:stylesheet>'\r
++      },\r
++      escape_xml = function(string) {\r
++              return string\r
++                      .toString()\r
++                      .replace(/&/g, '&amp;')\r
++                      .replace(/</g, '&lt;')\r
++                      .replace(/>/g, '&gt;')\r
++                      .replace(/"/g, '&quot;')\r
++                      .replace(/'/g, '&apos;');\r
++      };\r
++      $.jstree.plugin("xml_data", {\r
++              defaults : { \r
++                      data : false,\r
++                      ajax : false,\r
++                      xsl : "flat",\r
++                      clean_node : false,\r
++                      correct_state : true,\r
++                      get_skip_empty : false,\r
++                      get_include_preamble : true\r
++              },\r
++              _fn : {\r
++                      load_node : function (obj, s_call, e_call) { var _this = this; this.load_node_xml(obj, function () { _this.__callback({ "obj" : _this._get_node(obj) }); s_call.call(this); }, e_call); },\r
++                      _is_loaded : function (obj) { \r
++                              var s = this._get_settings().xml_data;\r
++                              obj = this._get_node(obj);\r
++                              return obj == -1 || !obj || (!s.ajax && !$.isFunction(s.data)) || obj.is(".jstree-open, .jstree-leaf") || obj.children("ul").children("li").size() > 0;\r
++                      },\r
++                      load_node_xml : function (obj, s_call, e_call) {\r
++                              var s = this.get_settings().xml_data,\r
++                                      error_func = function () {},\r
++                                      success_func = function () {};\r
++\r
++                              obj = this._get_node(obj);\r
++                              if(obj && obj !== -1) {\r
++                                      if(obj.data("jstree_is_loading")) { return; }\r
++                                      else { obj.data("jstree_is_loading",true); }\r
++                              }\r
++                              switch(!0) {\r
++                                      case (!s.data && !s.ajax): throw "Neither data nor ajax settings supplied.";\r
++                                      case ($.isFunction(s.data)):\r
++                                              s.data.call(this, obj, $.proxy(function (d) {\r
++                                                      this.parse_xml(d, $.proxy(function (d) {\r
++                                                              if(d) {\r
++                                                                      d = d.replace(/ ?xmlns="[^"]*"/ig, "");\r
++                                                                      if(d.length > 10) {\r
++                                                                              d = $(d);\r
++                                                                              if(obj === -1 || !obj) { this.get_container().children("ul").empty().append(d.children()); }\r
++                                                                              else { obj.children("a.jstree-loading").removeClass("jstree-loading"); obj.append(d); obj.removeData("jstree_is_loading"); }\r
++                                                                              if(s.clean_node) { this.clean_node(obj); }\r
++                                                                              if(s_call) { s_call.call(this); }\r
++                                                                      }\r
++                                                                      else {\r
++                                                                              if(obj && obj !== -1) { \r
++                                                                                      obj.children("a.jstree-loading").removeClass("jstree-loading");\r
++                                                                                      obj.removeData("jstree_is_loading");\r
++                                                                                      if(s.correct_state) { \r
++                                                                                              this.correct_state(obj);\r
++                                                                                              if(s_call) { s_call.call(this); } \r
++                                                                                      }\r
++                                                                              }\r
++                                                                              else {\r
++                                                                                      if(s.correct_state) { \r
++                                                                                              this.get_container().children("ul").empty();\r
++                                                                                              if(s_call) { s_call.call(this); } \r
++                                                                                      }\r
++                                                                              }\r
++                                                                      }\r
++                                                              }\r
++                                                      }, this));\r
++                                              }, this));\r
++                                              break;\r
++                                      case (!!s.data && !s.ajax) || (!!s.data && !!s.ajax && (!obj || obj === -1)):\r
++                                              if(!obj || obj == -1) {\r
++                                                      this.parse_xml(s.data, $.proxy(function (d) {\r
++                                                              if(d) {\r
++                                                                      d = d.replace(/ ?xmlns="[^"]*"/ig, "");\r
++                                                                      if(d.length > 10) {\r
++                                                                              d = $(d);\r
++                                                                              this.get_container().children("ul").empty().append(d.children());\r
++                                                                              if(s.clean_node) { this.clean_node(obj); }\r
++                                                                              if(s_call) { s_call.call(this); }\r
++                                                                      }\r
++                                                              }\r
++                                                              else { \r
++                                                                      if(s.correct_state) { \r
++                                                                              this.get_container().children("ul").empty(); \r
++                                                                              if(s_call) { s_call.call(this); }\r
++                                                                      }\r
++                                                              }\r
++                                                      }, this));\r
++                                              }\r
++                                              break;\r
++                                      case (!s.data && !!s.ajax) || (!!s.data && !!s.ajax && obj && obj !== -1):\r
++                                              error_func = function (x, t, e) {\r
++                                                      var ef = this.get_settings().xml_data.ajax.error; \r
++                                                      if(ef) { ef.call(this, x, t, e); }\r
++                                                      if(obj !== -1 && obj.length) {\r
++                                                              obj.children("a.jstree-loading").removeClass("jstree-loading");\r
++                                                              obj.removeData("jstree_is_loading");\r
++                                                              if(t === "success" && s.correct_state) { this.correct_state(obj); }\r
++                                                      }\r
++                                                      else {\r
++                                                              if(t === "success" && s.correct_state) { this.get_container().children("ul").empty(); }\r
++                                                      }\r
++                                                      if(e_call) { e_call.call(this); }\r
++                                              };\r
++                                              success_func = function (d, t, x) {\r
++                                                      d = x.responseText;\r
++                                                      var sf = this.get_settings().xml_data.ajax.success; \r
++                                                      if(sf) { d = sf.call(this,d,t,x) || d; }\r
++                                                      if(d === "" || (d && d.toString && d.toString().replace(/^[\s\n]+$/,"") === "")) {\r
++                                                              return error_func.call(this, x, t, "");\r
++                                                      }\r
++                                                      this.parse_xml(d, $.proxy(function (d) {\r
++                                                              if(d) {\r
++                                                                      d = d.replace(/ ?xmlns="[^"]*"/ig, "");\r
++                                                                      if(d.length > 10) {\r
++                                                                              d = $(d);\r
++                                                                              if(obj === -1 || !obj) { this.get_container().children("ul").empty().append(d.children()); }\r
++                                                                              else { obj.children("a.jstree-loading").removeClass("jstree-loading"); obj.append(d); obj.removeData("jstree_is_loading"); }\r
++                                                                              if(s.clean_node) { this.clean_node(obj); }\r
++                                                                              if(s_call) { s_call.call(this); }\r
++                                                                      }\r
++                                                                      else {\r
++                                                                              if(obj && obj !== -1) { \r
++                                                                                      obj.children("a.jstree-loading").removeClass("jstree-loading");\r
++                                                                                      obj.removeData("jstree_is_loading");\r
++                                                                                      if(s.correct_state) { \r
++                                                                                              this.correct_state(obj);\r
++                                                                                              if(s_call) { s_call.call(this); } \r
++                                                                                      }\r
++                                                                              }\r
++                                                                              else {\r
++                                                                                      if(s.correct_state) { \r
++                                                                                              this.get_container().children("ul").empty();\r
++                                                                                              if(s_call) { s_call.call(this); } \r
++                                                                                      }\r
++                                                                              }\r
++                                                                      }\r
++                                                              }\r
++                                                      }, this));\r
++                                              };\r
++                                              s.ajax.context = this;\r
++                                              s.ajax.error = error_func;\r
++                                              s.ajax.success = success_func;\r
++                                              if(!s.ajax.dataType) { s.ajax.dataType = "xml"; }\r
++                                              if($.isFunction(s.ajax.url)) { s.ajax.url = s.ajax.url.call(this, obj); }\r
++                                              if($.isFunction(s.ajax.data)) { s.ajax.data = s.ajax.data.call(this, obj); }\r
++                                              $.ajax(s.ajax);\r
++                                              break;\r
++                              }\r
++                      },\r
++                      parse_xml : function (xml, callback) {\r
++                              var s = this._get_settings().xml_data;\r
++                              $.vakata.xslt(xml, xsl[s.xsl], callback);\r
++                      },\r
++                      get_xml : function (tp, obj, li_attr, a_attr, is_callback) {\r
++                              var result = "", \r
++                                      s = this._get_settings(), \r
++                                      _this = this,\r
++                                      tmp1, tmp2, li, a, lang;\r
++                              if(!tp) { tp = "flat"; }\r
++                              if(!is_callback) { is_callback = 0; }\r
++                              obj = this._get_node(obj);\r
++                              if(!obj || obj === -1) { obj = this.get_container().find("> ul > li"); }\r
++                              li_attr = $.isArray(li_attr) ? li_attr : [ "id", "class" ];\r
++                              if(!is_callback && this.data.types && $.inArray(s.types.type_attr, li_attr) === -1) { li_attr.push(s.types.type_attr); }\r
++\r
++                              a_attr = $.isArray(a_attr) ? a_attr : [ ];\r
++\r
++                              if(!is_callback) { \r
++                                      if(s.xml_data.get_include_preamble) { \r
++                                              result += '<' + '?xml version="1.0" encoding="UTF-8"?' + '>'; \r
++                                      }\r
++                                      result += "<root>"; \r
++                              }\r
++                              obj.each(function () {\r
++                                      result += "<item";\r
++                                      li = $(this);\r
++                                      $.each(li_attr, function (i, v) { \r
++                                              var t = li.attr(v);\r
++                                              if(!s.xml_data.get_skip_empty || typeof t !== "undefined") {\r
++                                                      result += " " + v + "=\"" + escape_xml((" " + (t || "")).replace(/ jstree[^ ]*/ig,'').replace(/\s+$/ig," ").replace(/^ /,"").replace(/ $/,"")) + "\""; \r
++                                              }\r
++                                      });\r
++                                      if(li.hasClass("jstree-open")) { result += " state=\"open\""; }\r
++                                      if(li.hasClass("jstree-closed")) { result += " state=\"closed\""; }\r
++                                      if(tp === "flat") { result += " parent_id=\"" + escape_xml(is_callback) + "\""; }\r
++                                      result += ">";\r
++                                      result += "<content>";\r
++                                      a = li.children("a");\r
++                                      a.each(function () {\r
++                                              tmp1 = $(this);\r
++                                              lang = false;\r
++                                              result += "<name";\r
++                                              if($.inArray("languages", s.plugins) !== -1) {\r
++                                                      $.each(s.languages, function (k, z) {\r
++                                                              if(tmp1.hasClass(z)) { result += " lang=\"" + escape_xml(z) + "\""; lang = z; return false; }\r
++                                                      });\r
++                                              }\r
++                                              if(a_attr.length) { \r
++                                                      $.each(a_attr, function (k, z) {\r
++                                                              var t = tmp1.attr(z);\r
++                                                              if(!s.xml_data.get_skip_empty || typeof t !== "undefined") {\r
++                                                                      result += " " + z + "=\"" + escape_xml((" " + t || "").replace(/ jstree[^ ]*/ig,'').replace(/\s+$/ig," ").replace(/^ /,"").replace(/ $/,"")) + "\"";\r
++                                                              }\r
++                                                      });\r
++                                              }\r
++                                              if(tmp1.children("ins").get(0).className.replace(/jstree[^ ]*|$/ig,'').replace(/^\s+$/ig,"").length) {\r
++                                                      result += ' icon="' + escape_xml(tmp1.children("ins").get(0).className.replace(/jstree[^ ]*|$/ig,'').replace(/\s+$/ig," ").replace(/^ /,"").replace(/ $/,"")) + '"';\r
++                                              }\r
++                                              if(tmp1.children("ins").get(0).style.backgroundImage.length) {\r
++                                                      result += ' icon="' + escape_xml(tmp1.children("ins").get(0).style.backgroundImage.replace("url(","").replace(")","").replace(/'/ig,"").replace(/"/ig,"")) + '"';\r
++                                              }\r
++                                              result += ">";\r
++                                              result += "<![CDATA[" + _this.get_text(tmp1, lang) + "]]>";\r
++                                              result += "</name>";\r
++                                      });\r
++                                      result += "</content>";\r
++                                      tmp2 = li[0].id || true;\r
++                                      li = li.find("> ul > li");\r
++                                      if(li.length) { tmp2 = _this.get_xml(tp, li, li_attr, a_attr, tmp2); }\r
++                                      else { tmp2 = ""; }\r
++                                      if(tp == "nest") { result += tmp2; }\r
++                                      result += "</item>";\r
++                                      if(tp == "flat") { result += tmp2; }\r
++                              });\r
++                              if(!is_callback) { result += "</root>"; }\r
++                              return result;\r
++                      }\r
++              }\r
++      });\r
++})(jQuery);\r
++//*/\r
++\r
++/*\r
++ * jsTree search plugin\r
++ * Enables both sync and async search on the tree\r
++ * DOES NOT WORK WITH JSON PROGRESSIVE RENDER\r
++ */\r
++(function ($) {\r
++      $.expr[':'].jstree_contains = function(a,i,m){\r
++              return (a.textContent || a.innerText || "").toLowerCase().indexOf(m[3].toLowerCase())>=0;\r
++      };\r
++      $.expr[':'].jstree_title_contains = function(a,i,m) {\r
++              return (a.getAttribute("title") || "").toLowerCase().indexOf(m[3].toLowerCase())>=0;\r
++      };\r
++      $.jstree.plugin("search", {\r
++              __init : function () {\r
++                      this.data.search.str = "";\r
++                      this.data.search.result = $();\r
++                      if(this._get_settings().search.show_only_matches) {\r
++                              this.get_container()\r
++                                      .bind("search.jstree", function (e, data) {\r
++                                              $(this).children("ul").find("li").hide().removeClass("jstree-last");\r
++                                              data.rslt.nodes.parentsUntil(".jstree").andSelf().show()\r
++                                                      .filter("ul").each(function () { $(this).children("li:visible").eq(-1).addClass("jstree-last"); });\r
++                                      })\r
++                                      .bind("clear_search.jstree", function () {\r
++                                              $(this).children("ul").find("li").css("display","").end().end().jstree("clean_node", -1);\r
++                                      });\r
++                      }\r
++              },\r
++              defaults : {\r
++                      ajax : false,\r
++                      search_method : "jstree_contains", // for case insensitive - jstree_contains\r
++                      show_only_matches : false\r
++              },\r
++              _fn : {\r
++                      search : function (str, skip_async) {\r
++                              if($.trim(str) === "") { this.clear_search(); return; }\r
++                              var s = this.get_settings().search, \r
++                                      t = this,\r
++                                      error_func = function () { },\r
++                                      success_func = function () { };\r
++                              this.data.search.str = str;\r
++\r
++                              if(!skip_async && s.ajax !== false && this.get_container_ul().find("li.jstree-closed:not(:has(ul)):eq(0)").length > 0) {\r
++                                      this.search.supress_callback = true;\r
++                                      error_func = function () { };\r
++                                      success_func = function (d, t, x) {\r
++                                              var sf = this.get_settings().search.ajax.success; \r
++                                              if(sf) { d = sf.call(this,d,t,x) || d; }\r
++                                              this.data.search.to_open = d;\r
++                                              this._search_open();\r
++                                      };\r
++                                      s.ajax.context = this;\r
++                                      s.ajax.error = error_func;\r
++                                      s.ajax.success = success_func;\r
++                                      if($.isFunction(s.ajax.url)) { s.ajax.url = s.ajax.url.call(this, str); }\r
++                                      if($.isFunction(s.ajax.data)) { s.ajax.data = s.ajax.data.call(this, str); }\r
++                                      if(!s.ajax.data) { s.ajax.data = { "search_string" : str }; }\r
++                                      if(!s.ajax.dataType || /^json/.exec(s.ajax.dataType)) { s.ajax.dataType = "json"; }\r
++                                      $.ajax(s.ajax);\r
++                                      return;\r
++                              }\r
++                              if(this.data.search.result.length) { this.clear_search(); }\r
++                              this.data.search.result = this.get_container().find("a" + (this.data.languages ? "." + this.get_lang() : "" ) + ":" + (s.search_method) + "(" + this.data.search.str + ")");\r
++                              this.data.search.result.addClass("jstree-search").parent().parents(".jstree-closed").each(function () {\r
++                                      t.open_node(this, false, true);\r
++                              });\r
++                              this.__callback({ nodes : this.data.search.result, str : str });\r
++                      },\r
++                      clear_search : function (str) {\r
++                              this.data.search.result.removeClass("jstree-search");\r
++                              this.__callback(this.data.search.result);\r
++                              this.data.search.result = $();\r
++                      },\r
++                      _search_open : function (is_callback) {\r
++                              var _this = this,\r
++                                      done = true,\r
++                                      current = [],\r
++                                      remaining = [];\r
++                              if(this.data.search.to_open.length) {\r
++                                      $.each(this.data.search.to_open, function (i, val) {\r
++                                              if(val == "#") { return true; }\r
++                                              if($(val).length && $(val).is(".jstree-closed")) { current.push(val); }\r
++                                              else { remaining.push(val); }\r
++                                      });\r
++                                      if(current.length) {\r
++                                              this.data.search.to_open = remaining;\r
++                                              $.each(current, function (i, val) { \r
++                                                      _this.open_node(val, function () { _this._search_open(true); }); \r
++                                              });\r
++                                              done = false;\r
++                                      }\r
++                              }\r
++                              if(done) { this.search(this.data.search.str, true); }\r
++                      }\r
++              }\r
++      });\r
++})(jQuery);\r
++//*/\r
++\r
++/* \r
++ * jsTree contextmenu plugin\r
++ */\r
++(function ($) {\r
++      $.vakata.context = {\r
++              hide_on_mouseleave : false,\r
++\r
++              cnt             : $("<div id='vakata-contextmenu' />"),\r
++              vis             : false,\r
++              tgt             : false,\r
++              par             : false,\r
++              func    : false,\r
++              data    : false,\r
++              rtl             : false,\r
++              show    : function (s, t, x, y, d, p, rtl) {\r
++                      $.vakata.context.rtl = !!rtl;\r
++                      var html = $.vakata.context.parse(s), h, w;\r
++                      if(!html) { return; }\r
++                      $.vakata.context.vis = true;\r
++                      $.vakata.context.tgt = t;\r
++                      $.vakata.context.par = p || t || null;\r
++                      $.vakata.context.data = d || null;\r
++                      $.vakata.context.cnt\r
++                              .html(html)\r
++                              .css({ "visibility" : "hidden", "display" : "block", "left" : 0, "top" : 0 });\r
++\r
++                      if($.vakata.context.hide_on_mouseleave) {\r
++                              $.vakata.context.cnt\r
++                                      .one("mouseleave", function(e) { $.vakata.context.hide(); });\r
++                      }\r
++\r
++                      h = $.vakata.context.cnt.height();\r
++                      w = $.vakata.context.cnt.width();\r
++                      if(x + w > $(document).width()) { \r
++                              x = $(document).width() - (w + 5); \r
++                              $.vakata.context.cnt.find("li > ul").addClass("right"); \r
++                      }\r
++                      if(y + h > $(document).height()) { \r
++                              y = y - (h + t[0].offsetHeight); \r
++                              $.vakata.context.cnt.find("li > ul").addClass("bottom"); \r
++                      }\r
++\r
++                      $.vakata.context.cnt\r
++                              .css({ "left" : x, "top" : y })\r
++                              .find("li:has(ul)")\r
++                                      .bind("mouseenter", function (e) { \r
++                                              var w = $(document).width(),\r
++                                                      h = $(document).height(),\r
++                                                      ul = $(this).children("ul").show(); \r
++                                              if(w !== $(document).width()) { ul.toggleClass("right"); }\r
++                                              if(h !== $(document).height()) { ul.toggleClass("bottom"); }\r
++                                      })\r
++                                      .bind("mouseleave", function (e) { \r
++                                              $(this).children("ul").hide(); \r
++                                      })\r
++                                      .end()\r
++                              .css({ "visibility" : "visible" })\r
++                              .show();\r
++                      $(document).triggerHandler("context_show.vakata");\r
++              },\r
++              hide    : function () {\r
++                      $.vakata.context.vis = false;\r
++                      $.vakata.context.cnt.attr("class","").css({ "visibility" : "hidden" });\r
++                      $(document).triggerHandler("context_hide.vakata");\r
++              },\r
++              parse   : function (s, is_callback) {\r
++                      if(!s) { return false; }\r
++                      var str = "",\r
++                              tmp = false,\r
++                              was_sep = true;\r
++                      if(!is_callback) { $.vakata.context.func = {}; }\r
++                      str += "<ul>";\r
++                      $.each(s, function (i, val) {\r
++                              if(!val) { return true; }\r
++                              $.vakata.context.func[i] = val.action;\r
++                              if(!was_sep && val.separator_before) {\r
++                                      str += "<li class='vakata-separator vakata-separator-before'></li>";\r
++                              }\r
++                              was_sep = false;\r
++                              str += "<li class='" + (val._class || "") + (val._disabled ? " jstree-contextmenu-disabled " : "") + "'><ins ";\r
++                              if(val.icon && val.icon.indexOf("/") === -1) { str += " class='" + val.icon + "' "; }\r
++                              if(val.icon && val.icon.indexOf("/") !== -1) { str += " style='background:url(" + val.icon + ") center center no-repeat;' "; }\r
++                              str += ">&#160;</ins><a href='#' rel='" + i + "'>";\r
++                              if(val.submenu) {\r
++                                      str += "<span style='float:" + ($.vakata.context.rtl ? "left" : "right") + ";'>&raquo;</span>";\r
++                              }\r
++                              str += val.label + "</a>";\r
++                              if(val.submenu) {\r
++                                      tmp = $.vakata.context.parse(val.submenu, true);\r
++                                      if(tmp) { str += tmp; }\r
++                              }\r
++                              str += "</li>";\r
++                              if(val.separator_after) {\r
++                                      str += "<li class='vakata-separator vakata-separator-after'></li>";\r
++                                      was_sep = true;\r
++                              }\r
++                      });\r
++                      str = str.replace(/<li class\='vakata-separator vakata-separator-after'\><\/li\>$/,"");\r
++                      str += "</ul>";\r
++                      $(document).triggerHandler("context_parse.vakata");\r
++                      return str.length > 10 ? str : false;\r
++              },\r
++              exec    : function (i) {\r
++                      if($.isFunction($.vakata.context.func[i])) {\r
++                              // if is string - eval and call it!\r
++                              $.vakata.context.func[i].call($.vakata.context.data, $.vakata.context.par);\r
++                              return true;\r
++                      }\r
++                      else { return false; }\r
++              }\r
++      };\r
++      $(function () {\r
++              var css_string = '' + \r
++                      '#vakata-contextmenu { display:block; visibility:hidden; left:0; top:-200px; position:absolute; margin:0; padding:0; min-width:180px; background:#ebebeb; border:1px solid silver; z-index:10000; *width:180px; } ' + \r
++                      '#vakata-contextmenu ul { min-width:180px; *width:180px; } ' + \r
++                      '#vakata-contextmenu ul, #vakata-contextmenu li { margin:0; padding:0; list-style-type:none; display:block; } ' + \r
++                      '#vakata-contextmenu li { line-height:20px; min-height:20px; position:relative; padding:0px; } ' + \r
++                      '#vakata-contextmenu li a { padding:1px 6px; line-height:17px; display:block; text-decoration:none; margin:1px 1px 0 1px; } ' + \r
++                      '#vakata-contextmenu li ins { float:left; width:16px; height:16px; text-decoration:none; margin-right:2px; } ' + \r
++                      '#vakata-contextmenu li a:hover, #vakata-contextmenu li.vakata-hover > a { background:gray; color:white; } ' + \r
++                      '#vakata-contextmenu li ul { display:none; position:absolute; top:-2px; left:100%; background:#ebebeb; border:1px solid gray; } ' + \r
++                      '#vakata-contextmenu .right { right:100%; left:auto; } ' + \r
++                      '#vakata-contextmenu .bottom { bottom:-1px; top:auto; } ' + \r
++                      '#vakata-contextmenu li.vakata-separator { min-height:0; height:1px; line-height:1px; font-size:1px; overflow:hidden; margin:0 2px; background:silver; /* border-top:1px solid #fefefe; */ padding:0; } ';\r
++              $.vakata.css.add_sheet({ str : css_string, title : "vakata" });\r
++              $.vakata.context.cnt\r
++                      .delegate("a","click", function (e) { e.preventDefault(); })\r
++                      .delegate("a","mouseup", function (e) {\r
++                              if(!$(this).parent().hasClass("jstree-contextmenu-disabled") && $.vakata.context.exec($(this).attr("rel"))) {\r
++                                      $.vakata.context.hide();\r
++                              }\r
++                              else { $(this).blur(); }\r
++                      })\r
++                      .delegate("a","mouseover", function () {\r
++                              $.vakata.context.cnt.find(".vakata-hover").removeClass("vakata-hover");\r
++                      })\r
++                      .appendTo("body");\r
++              $(document).bind("mousedown", function (e) { if($.vakata.context.vis && !$.contains($.vakata.context.cnt[0], e.target)) { $.vakata.context.hide(); } });\r
++              if(typeof $.hotkeys !== "undefined") {\r
++                      $(document)\r
++                              .bind("keydown", "up", function (e) { \r
++                                      if($.vakata.context.vis) { \r
++                                              var o = $.vakata.context.cnt.find("ul:visible").last().children(".vakata-hover").removeClass("vakata-hover").prevAll("li:not(.vakata-separator)").first();\r
++                                              if(!o.length) { o = $.vakata.context.cnt.find("ul:visible").last().children("li:not(.vakata-separator)").last(); }\r
++                                              o.addClass("vakata-hover");\r
++                                              e.stopImmediatePropagation(); \r
++                                              e.preventDefault();\r
++                                      } \r
++                              })\r
++                              .bind("keydown", "down", function (e) { \r
++                                      if($.vakata.context.vis) { \r
++                                              var o = $.vakata.context.cnt.find("ul:visible").last().children(".vakata-hover").removeClass("vakata-hover").nextAll("li:not(.vakata-separator)").first();\r
++                                              if(!o.length) { o = $.vakata.context.cnt.find("ul:visible").last().children("li:not(.vakata-separator)").first(); }\r
++                                              o.addClass("vakata-hover");\r
++                                              e.stopImmediatePropagation(); \r
++                                              e.preventDefault();\r
++                                      } \r
++                              })\r
++                              .bind("keydown", "right", function (e) { \r
++                                      if($.vakata.context.vis) { \r
++                                              $.vakata.context.cnt.find(".vakata-hover").children("ul").show().children("li:not(.vakata-separator)").removeClass("vakata-hover").first().addClass("vakata-hover");\r
++                                              e.stopImmediatePropagation(); \r
++                                              e.preventDefault();\r
++                                      } \r
++                              })\r
++                              .bind("keydown", "left", function (e) { \r
++                                      if($.vakata.context.vis) { \r
++                                              $.vakata.context.cnt.find(".vakata-hover").children("ul").hide().children(".vakata-separator").removeClass("vakata-hover");\r
++                                              e.stopImmediatePropagation(); \r
++                                              e.preventDefault();\r
++                                      } \r
++                              })\r
++                              .bind("keydown", "esc", function (e) { \r
++                                      $.vakata.context.hide(); \r
++                                      e.preventDefault();\r
++                              })\r
++                              .bind("keydown", "space", function (e) { \r
++                                      $.vakata.context.cnt.find(".vakata-hover").last().children("a").click();\r
++                                      e.preventDefault();\r
++                              });\r
++              }\r
++      });\r
++\r
++      $.jstree.plugin("contextmenu", {\r
++              __init : function () {\r
++                      this.get_container()\r
++                              .delegate("a", "contextmenu.jstree", $.proxy(function (e) {\r
++                                              e.preventDefault();\r
++                                              if(!$(e.currentTarget).hasClass("jstree-loading")) {\r
++                                                      this.show_contextmenu(e.currentTarget, e.pageX, e.pageY);\r
++                                              }\r
++                                      }, this))\r
++                              .delegate("a", "click.jstree", $.proxy(function (e) {\r
++                                              if(this.data.contextmenu) {\r
++                                                      $.vakata.context.hide();\r
++                                              }\r
++                                      }, this))\r
++                              .bind("destroy.jstree", $.proxy(function () {\r
++                                              // TODO: move this to descruct method\r
++                                              if(this.data.contextmenu) {\r
++                                                      $.vakata.context.hide();\r
++                                              }\r
++                                      }, this));\r
++                      $(document).bind("context_hide.vakata", $.proxy(function () { this.data.contextmenu = false; }, this));\r
++              },\r
++              defaults : { \r
++                      select_node : false, // requires UI plugin\r
++                      show_at_node : true,\r
++                      items : { // Could be a function that should return an object like this one\r
++                              "create" : {\r
++                                      "separator_before"      : false,\r
++                                      "separator_after"       : true,\r
++                                      "label"                         : "Create",\r
++                                      "action"                        : function (obj) { this.create(obj); }\r
++                              },\r
++                              "rename" : {\r
++                                      "separator_before"      : false,\r
++                                      "separator_after"       : false,\r
++                                      "label"                         : "Rename",\r
++                                      "action"                        : function (obj) { this.rename(obj); }\r
++                              },\r
++                              "remove" : {\r
++                                      "separator_before"      : false,\r
++                                      "icon"                          : false,\r
++                                      "separator_after"       : false,\r
++                                      "label"                         : "Delete",\r
++                                      "action"                        : function (obj) { if(this.is_selected(obj)) { this.remove(); } else { this.remove(obj); } }\r
++                              },\r
++                              "ccp" : {\r
++                                      "separator_before"      : true,\r
++                                      "icon"                          : false,\r
++                                      "separator_after"       : false,\r
++                                      "label"                         : "Edit",\r
++                                      "action"                        : false,\r
++                                      "submenu" : { \r
++                                              "cut" : {\r
++                                                      "separator_before"      : false,\r
++                                                      "separator_after"       : false,\r
++                                                      "label"                         : "Cut",\r
++                                                      "action"                        : function (obj) { this.cut(obj); }\r
++                                              },\r
++                                              "copy" : {\r
++                                                      "separator_before"      : false,\r
++                                                      "icon"                          : false,\r
++                                                      "separator_after"       : false,\r
++                                                      "label"                         : "Copy",\r
++                                                      "action"                        : function (obj) { this.copy(obj); }\r
++                                              },\r
++                                              "paste" : {\r
++                                                      "separator_before"      : false,\r
++                                                      "icon"                          : false,\r
++                                                      "separator_after"       : false,\r
++                                                      "label"                         : "Paste",\r
++                                                      "action"                        : function (obj) { this.paste(obj); }\r
++                                              }\r
++                                      }\r
++                              }\r
++                      }\r
++              },\r
++              _fn : {\r
++                      show_contextmenu : function (obj, x, y) {\r
++                              obj = this._get_node(obj);\r
++                              var s = this.get_settings().contextmenu,\r
++                                      a = obj.children("a:visible:eq(0)"),\r
++                                      o = false,\r
++                                      i = false;\r
++                              if(s.select_node && this.data.ui && !this.is_selected(obj)) {\r
++                                      this.deselect_all();\r
++                                      this.select_node(obj, true);\r
++                              }\r
++                              if(s.show_at_node || typeof x === "undefined" || typeof y === "undefined") {\r
++                                      o = a.offset();\r
++                                      x = o.left;\r
++                                      y = o.top + this.data.core.li_height;\r
++                              }\r
++                              i = obj.data("jstree") && obj.data("jstree").contextmenu ? obj.data("jstree").contextmenu : s.items;\r
++                              if($.isFunction(i)) { i = i.call(this, obj); }\r
++                              this.data.contextmenu = true;\r
++                              $.vakata.context.show(i, a, x, y, this, obj, this._get_settings().core.rtl);\r
++                              if(this.data.themes) { $.vakata.context.cnt.attr("class", "jstree-" + this.data.themes.theme + "-context"); }\r
++                      }\r
++              }\r
++      });\r
++})(jQuery);\r
++//*/\r
++\r
++/* \r
++ * jsTree types plugin\r
++ * Adds support types of nodes\r
++ * You can set an attribute on each li node, that represents its type.\r
++ * According to the type setting the node may get custom icon/validation rules\r
++ */\r
++(function ($) {\r
++      $.jstree.plugin("types", {\r
++              __init : function () {\r
++                      var s = this._get_settings().types;\r
++                      this.data.types.attach_to = [];\r
++                      this.get_container()\r
++                              .bind("init.jstree", $.proxy(function () { \r
++                                              var types = s.types, \r
++                                                      attr  = s.type_attr, \r
++                                                      icons_css = "", \r
++                                                      _this = this;\r
++\r
++                                              $.each(types, function (i, tp) {\r
++                                                      $.each(tp, function (k, v) { \r
++                                                              if(!/^(max_depth|max_children|icon|valid_children)$/.test(k)) { _this.data.types.attach_to.push(k); }\r
++                                                      });\r
++                                                      if(!tp.icon) { return true; }\r
++                                                      if( tp.icon.image || tp.icon.position) {\r
++                                                              if(i == "default")      { icons_css += '.jstree-' + _this.get_index() + ' a > .jstree-icon { '; }\r
++                                                              else                            { icons_css += '.jstree-' + _this.get_index() + ' li[' + attr + '="' + i + '"] > a > .jstree-icon { '; }\r
++                                                              if(tp.icon.image)       { icons_css += ' background-image:url(' + tp.icon.image + '); '; }\r
++                                                              if(tp.icon.position){ icons_css += ' background-position:' + tp.icon.position + '; '; }\r
++                                                              else                            { icons_css += ' background-position:0 0; '; }\r
++                                                              icons_css += '} ';\r
++                                                      }\r
++                                              });\r
++                                              if(icons_css !== "") { $.vakata.css.add_sheet({ 'str' : icons_css, title : "jstree-types" }); }\r
++                                      }, this))\r
++                              .bind("before.jstree", $.proxy(function (e, data) { \r
++                                              var s, t, \r
++                                                      o = this._get_settings().types.use_data ? this._get_node(data.args[0]) : false, \r
++                                                      d = o && o !== -1 && o.length ? o.data("jstree") : false;\r
++                                              if(d && d.types && d.types[data.func] === false) { e.stopImmediatePropagation(); return false; }\r
++                                              if($.inArray(data.func, this.data.types.attach_to) !== -1) {\r
++                                                      if(!data.args[0] || (!data.args[0].tagName && !data.args[0].jquery)) { return; }\r
++                                                      s = this._get_settings().types.types;\r
++                                                      t = this._get_type(data.args[0]);\r
++                                                      if(\r
++                                                              ( \r
++                                                                      (s[t] && typeof s[t][data.func] !== "undefined") || \r
++                                                                      (s["default"] && typeof s["default"][data.func] !== "undefined") \r
++                                                              ) && this._check(data.func, data.args[0]) === false\r
++                                                      ) {\r
++                                                              e.stopImmediatePropagation();\r
++                                                              return false;\r
++                                                      }\r
++                                              }\r
++                                      }, this));\r
++                      if(is_ie6) {\r
++                              this.get_container()\r
++                                      .bind("load_node.jstree set_type.jstree", $.proxy(function (e, data) {\r
++                                                      var r = data && data.rslt && data.rslt.obj && data.rslt.obj !== -1 ? this._get_node(data.rslt.obj).parent() : this.get_container_ul(),\r
++                                                              c = false,\r
++                                                              s = this._get_settings().types;\r
++                                                      $.each(s.types, function (i, tp) {\r
++                                                              if(tp.icon && (tp.icon.image || tp.icon.position)) {\r
++                                                                      c = i === "default" ? r.find("li > a > .jstree-icon") : r.find("li[" + s.type_attr + "='" + i + "'] > a > .jstree-icon");\r
++                                                                      if(tp.icon.image) { c.css("backgroundImage","url(" + tp.icon.image + ")"); }\r
++                                                                      c.css("backgroundPosition", tp.icon.position || "0 0");\r
++                                                              }\r
++                                                      });\r
++                                              }, this));\r
++                      }\r
++              },\r
++              defaults : {\r
++                      // defines maximum number of root nodes (-1 means unlimited, -2 means disable max_children checking)\r
++                      max_children            : -1,\r
++                      // defines the maximum depth of the tree (-1 means unlimited, -2 means disable max_depth checking)\r
++                      max_depth                       : -1,\r
++                      // defines valid node types for the root nodes\r
++                      valid_children          : "all",\r
++\r
++                      // whether to use $.data\r
++                      use_data : false, \r
++                      // where is the type stores (the rel attribute of the LI element)\r
++                      type_attr : "rel",\r
++                      // a list of types\r
++                      types : {\r
++                              // the default type\r
++                              "default" : {\r
++                                      "max_children"  : -1,\r
++                                      "max_depth"             : -1,\r
++                                      "valid_children": "all"\r
++\r
++                                      // Bound functions - you can bind any other function here (using boolean or function)\r
++                                      //"select_node" : true\r
++                              }\r
++                      }\r
++              },\r
++              _fn : {\r
++                      _types_notify : function (n, data) {\r
++                              if(data.type && this._get_settings().types.use_data) {\r
++                                      this.set_type(data.type, n);\r
++                              }\r
++                      },\r
++                      _get_type : function (obj) {\r
++                              obj = this._get_node(obj);\r
++                              return (!obj || !obj.length) ? false : obj.attr(this._get_settings().types.type_attr) || "default";\r
++                      },\r
++                      set_type : function (str, obj) {\r
++                              obj = this._get_node(obj);\r
++                              var ret = (!obj.length || !str) ? false : obj.attr(this._get_settings().types.type_attr, str);\r
++                              if(ret) { this.__callback({ obj : obj, type : str}); }\r
++                              return ret;\r
++                      },\r
++                      _check : function (rule, obj, opts) {\r
++                              obj = this._get_node(obj);\r
++                              var v = false, t = this._get_type(obj), d = 0, _this = this, s = this._get_settings().types, data = false;\r
++                              if(obj === -1) { \r
++                                      if(!!s[rule]) { v = s[rule]; }\r
++                                      else { return; }\r
++                              }\r
++                              else {\r
++                                      if(t === false) { return; }\r
++                                      data = s.use_data ? obj.data("jstree") : false;\r
++                                      if(data && data.types && typeof data.types[rule] !== "undefined") { v = data.types[rule]; }\r
++                                      else if(!!s.types[t] && typeof s.types[t][rule] !== "undefined") { v = s.types[t][rule]; }\r
++                                      else if(!!s.types["default"] && typeof s.types["default"][rule] !== "undefined") { v = s.types["default"][rule]; }\r
++                              }\r
++                              if($.isFunction(v)) { v = v.call(this, obj); }\r
++                              if(rule === "max_depth" && obj !== -1 && opts !== false && s.max_depth !== -2 && v !== 0) {\r
++                                      // also include the node itself - otherwise if root node it is not checked\r
++                                      obj.children("a:eq(0)").parentsUntil(".jstree","li").each(function (i) {\r
++                                              // check if current depth already exceeds global tree depth\r
++                                              if(s.max_depth !== -1 && s.max_depth - (i + 1) <= 0) { v = 0; return false; }\r
++                                              d = (i === 0) ? v : _this._check(rule, this, false);\r
++                                              // check if current node max depth is already matched or exceeded\r
++                                              if(d !== -1 && d - (i + 1) <= 0) { v = 0; return false; }\r
++                                              // otherwise - set the max depth to the current value minus current depth\r
++                                              if(d >= 0 && (d - (i + 1) < v || v < 0) ) { v = d - (i + 1); }\r
++                                              // if the global tree depth exists and it minus the nodes calculated so far is less than `v` or `v` is unlimited\r
++                                              if(s.max_depth >= 0 && (s.max_depth - (i + 1) < v || v < 0) ) { v = s.max_depth - (i + 1); }\r
++                                      });\r
++                              }\r
++                              return v;\r
++                      },\r
++                      check_move : function () {\r
++                              if(!this.__call_old()) { return false; }\r
++                              var m  = this._get_move(),\r
++                                      s  = m.rt._get_settings().types,\r
++                                      mc = m.rt._check("max_children", m.cr),\r
++                                      md = m.rt._check("max_depth", m.cr),\r
++                                      vc = m.rt._check("valid_children", m.cr),\r
++                                      ch = 0, d = 1, t;\r
++\r
++                              if(vc === "none") { return false; } \r
++                              if($.isArray(vc) && m.ot && m.ot._get_type) {\r
++                                      m.o.each(function () {\r
++                                              if($.inArray(m.ot._get_type(this), vc) === -1) { d = false; return false; }\r
++                                      });\r
++                                      if(d === false) { return false; }\r
++                              }\r
++                              if(s.max_children !== -2 && mc !== -1) {\r
++                                      ch = m.cr === -1 ? this.get_container().find("> ul > li").not(m.o).length : m.cr.find("> ul > li").not(m.o).length;\r
++                                      if(ch + m.o.length > mc) { return false; }\r
++                              }\r
++                              if(s.max_depth !== -2 && md !== -1) {\r
++                                      d = 0;\r
++                                      if(md === 0) { return false; }\r
++                                      if(typeof m.o.d === "undefined") {\r
++                                              // TODO: deal with progressive rendering and async when checking max_depth (how to know the depth of the moved node)\r
++                                              t = m.o;\r
++                                              while(t.length > 0) {\r
++                                                      t = t.find("> ul > li");\r
++                                                      d ++;\r
++                                              }\r
++                                              m.o.d = d;\r
++                                      }\r
++                                      if(md - m.o.d < 0) { return false; }\r
++                              }\r
++                              return true;\r
++                      },\r
++                      create_node : function (obj, position, js, callback, is_loaded, skip_check) {\r
++                              if(!skip_check && (is_loaded || this._is_loaded(obj))) {\r
++                                      var p  = (typeof position == "string" && position.match(/^before|after$/i) && obj !== -1) ? this._get_parent(obj) : this._get_node(obj),\r
++                                              s  = this._get_settings().types,\r
++                                              mc = this._check("max_children", p),\r
++                                              md = this._check("max_depth", p),\r
++                                              vc = this._check("valid_children", p),\r
++                                              ch;\r
++                                      if(typeof js === "string") { js = { data : js }; }\r
++                                      if(!js) { js = {}; }\r
++                                      if(vc === "none") { return false; } \r
++                                      if($.isArray(vc)) {\r
++                                              if(!js.attr || !js.attr[s.type_attr]) { \r
++                                                      if(!js.attr) { js.attr = {}; }\r
++                                                      js.attr[s.type_attr] = vc[0]; \r
++                                              }\r
++                                              else {\r
++                                                      if($.inArray(js.attr[s.type_attr], vc) === -1) { return false; }\r
++                                              }\r
++                                      }\r
++                                      if(s.max_children !== -2 && mc !== -1) {\r
++                                              ch = p === -1 ? this.get_container().find("> ul > li").length : p.find("> ul > li").length;\r
++                                              if(ch + 1 > mc) { return false; }\r
++                                      }\r
++                                      if(s.max_depth !== -2 && md !== -1 && (md - 1) < 0) { return false; }\r
++                              }\r
++                              return this.__call_old(true, obj, position, js, callback, is_loaded, skip_check);\r
++                      }\r
++              }\r
++      });\r
++})(jQuery);\r
++//*/\r
++\r
++/* \r
++ * jsTree HTML plugin\r
++ * The HTML data store. Datastores are build by replacing the `load_node` and `_is_loaded` functions.\r
++ */\r
++(function ($) {\r
++      $.jstree.plugin("html_data", {\r
++              __init : function () { \r
++                      // this used to use html() and clean the whitespace, but this way any attached data was lost\r
++                      this.data.html_data.original_container_html = this.get_container().find(" > ul > li").clone(true);\r
++                      // remove white space from LI node - otherwise nodes appear a bit to the right\r
++                      this.data.html_data.original_container_html.find("li").andSelf().contents().filter(function() { return this.nodeType == 3; }).remove();\r
++              },\r
++              defaults : { \r
++                      data : false,\r
++                      ajax : false,\r
++                      correct_state : true\r
++              },\r
++              _fn : {\r
++                      load_node : function (obj, s_call, e_call) { var _this = this; this.load_node_html(obj, function () { _this.__callback({ "obj" : _this._get_node(obj) }); s_call.call(this); }, e_call); },\r
++                      _is_loaded : function (obj) { \r
++                              obj = this._get_node(obj); \r
++                              return obj == -1 || !obj || (!this._get_settings().html_data.ajax && !$.isFunction(this._get_settings().html_data.data)) || obj.is(".jstree-open, .jstree-leaf") || obj.children("ul").children("li").size() > 0;\r
++                      },\r
++                      load_node_html : function (obj, s_call, e_call) {\r
++                              var d,\r
++                                      s = this.get_settings().html_data,\r
++                                      error_func = function () {},\r
++                                      success_func = function () {};\r
++                              obj = this._get_node(obj);\r
++                              if(obj && obj !== -1) {\r
++                                      if(obj.data("jstree_is_loading")) { return; }\r
++                                      else { obj.data("jstree_is_loading",true); }\r
++                              }\r
++                              switch(!0) {\r
++                                      case ($.isFunction(s.data)):\r
++                                              s.data.call(this, obj, $.proxy(function (d) {\r
++                                                      if(d && d !== "" && d.toString && d.toString().replace(/^[\s\n]+$/,"") !== "") {\r
++                                                              d = $(d);\r
++                                                              if(!d.is("ul")) { d = $("<ul />").append(d); }\r
++                                                              if(obj == -1 || !obj) { this.get_container().children("ul").empty().append(d.children()).find("li, a").filter(function () { return !this.firstChild || !this.firstChild.tagName || this.firstChild.tagName !== "INS"; }).prepend("<ins class='jstree-icon'>&#160;</ins>").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"); }\r
++                                                              else { obj.children("a.jstree-loading").removeClass("jstree-loading"); obj.append(d).children("ul").find("li, a").filter(function () { return !this.firstChild || !this.firstChild.tagName || this.firstChild.tagName !== "INS"; }).prepend("<ins class='jstree-icon'>&#160;</ins>").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"); obj.removeData("jstree_is_loading"); }\r
++                                                              this.clean_node(obj);\r
++                                                              if(s_call) { s_call.call(this); }\r
++                                                      }\r
++                                                      else {\r
++                                                              if(obj && obj !== -1) {\r
++                                                                      obj.children("a.jstree-loading").removeClass("jstree-loading");\r
++                                                                      obj.removeData("jstree_is_loading");\r
++                                                                      if(s.correct_state) { \r
++                                                                              this.correct_state(obj);\r
++                                                                              if(s_call) { s_call.call(this); } \r
++                                                                      }\r
++                                                              }\r
++                                                              else {\r
++                                                                      if(s.correct_state) { \r
++                                                                              this.get_container().children("ul").empty();\r
++                                                                              if(s_call) { s_call.call(this); } \r
++                                                                      }\r
++                                                              }\r
++                                                      }\r
++                                              }, this));\r
++                                              break;\r
++                                      case (!s.data && !s.ajax):\r
++                                              if(!obj || obj == -1) {\r
++                                                      this.get_container()\r
++                                                              .children("ul").empty()\r
++                                                              .append(this.data.html_data.original_container_html)\r
++                                                              .find("li, a").filter(function () { return !this.firstChild || !this.firstChild.tagName || this.firstChild.tagName !== "INS"; }).prepend("<ins class='jstree-icon'>&#160;</ins>").end()\r
++                                                              .filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon");\r
++                                                      this.clean_node();\r
++                                              }\r
++                                              if(s_call) { s_call.call(this); }\r
++                                              break;\r
++                                      case (!!s.data && !s.ajax) || (!!s.data && !!s.ajax && (!obj || obj === -1)):\r
++                                              if(!obj || obj == -1) {\r
++                                                      d = $(s.data);\r
++                                                      if(!d.is("ul")) { d = $("<ul />").append(d); }\r
++                                                      this.get_container()\r
++                                                              .children("ul").empty().append(d.children())\r
++                                                              .find("li, a").filter(function () { return !this.firstChild || !this.firstChild.tagName || this.firstChild.tagName !== "INS"; }).prepend("<ins class='jstree-icon'>&#160;</ins>").end()\r
++                                                              .filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon");\r
++                                                      this.clean_node();\r
++                                              }\r
++                                              if(s_call) { s_call.call(this); }\r
++                                              break;\r
++                                      case (!s.data && !!s.ajax) || (!!s.data && !!s.ajax && obj && obj !== -1):\r
++                                              obj = this._get_node(obj);\r
++                                              error_func = function (x, t, e) {\r
++                                                      var ef = this.get_settings().html_data.ajax.error; \r
++                                                      if(ef) { ef.call(this, x, t, e); }\r
++                                                      if(obj != -1 && obj.length) {\r
++                                                              obj.children("a.jstree-loading").removeClass("jstree-loading");\r
++                                                              obj.removeData("jstree_is_loading");\r
++                                                              if(t === "success" && s.correct_state) { this.correct_state(obj); }\r
++                                                      }\r
++                                                      else {\r
++                                                              if(t === "success" && s.correct_state) { this.get_container().children("ul").empty(); }\r
++                                                      }\r
++                                                      if(e_call) { e_call.call(this); }\r
++                                              };\r
++                                              success_func = function (d, t, x) {\r
++                                                      var sf = this.get_settings().html_data.ajax.success; \r
++                                                      if(sf) { d = sf.call(this,d,t,x) || d; }\r
++                                                      if(d === "" || (d && d.toString && d.toString().replace(/^[\s\n]+$/,"") === "")) {\r
++                                                              return error_func.call(this, x, t, "");\r
++                                                      }\r
++                                                      if(d) {\r
++                                                              d = $(d);\r
++                                                              if(!d.is("ul")) { d = $("<ul />").append(d); }\r
++                                                              if(obj == -1 || !obj) { this.get_container().children("ul").empty().append(d.children()).find("li, a").filter(function () { return !this.firstChild || !this.firstChild.tagName || this.firstChild.tagName !== "INS"; }).prepend("<ins class='jstree-icon'>&#160;</ins>").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"); }\r
++                                                              else { obj.children("a.jstree-loading").removeClass("jstree-loading"); obj.append(d).children("ul").find("li, a").filter(function () { return !this.firstChild || !this.firstChild.tagName || this.firstChild.tagName !== "INS"; }).prepend("<ins class='jstree-icon'>&#160;</ins>").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"); obj.removeData("jstree_is_loading"); }\r
++                                                              this.clean_node(obj);\r
++                                                              if(s_call) { s_call.call(this); }\r
++                                                      }\r
++                                                      else {\r
++                                                              if(obj && obj !== -1) {\r
++                                                                      obj.children("a.jstree-loading").removeClass("jstree-loading");\r
++                                                                      obj.removeData("jstree_is_loading");\r
++                                                                      if(s.correct_state) { \r
++                                                                              this.correct_state(obj);\r
++                                                                              if(s_call) { s_call.call(this); } \r
++                                                                      }\r
++                                                              }\r
++                                                              else {\r
++                                                                      if(s.correct_state) { \r
++                                                                              this.get_container().children("ul").empty();\r
++                                                                              if(s_call) { s_call.call(this); } \r
++                                                                      }\r
++                                                              }\r
++                                                      }\r
++                                              };\r
++                                              s.ajax.context = this;\r
++                                              s.ajax.error = error_func;\r
++                                              s.ajax.success = success_func;\r
++                                              if(!s.ajax.dataType) { s.ajax.dataType = "html"; }\r
++                                              if($.isFunction(s.ajax.url)) { s.ajax.url = s.ajax.url.call(this, obj); }\r
++                                              if($.isFunction(s.ajax.data)) { s.ajax.data = s.ajax.data.call(this, obj); }\r
++                                              $.ajax(s.ajax);\r
++                                              break;\r
++                              }\r
++                      }\r
++              }\r
++      });\r
++      // include the HTML data plugin by default\r
++      $.jstree.defaults.plugins.push("html_data");\r
++})(jQuery);\r
++//*/\r
++\r
++/* \r
++ * jsTree themeroller plugin\r
++ * Adds support for jQuery UI themes. Include this at the end of your plugins list, also make sure "themes" is not included.\r
++ */\r
++(function ($) {\r
++      $.jstree.plugin("themeroller", {\r
++              __init : function () {\r
++                      var s = this._get_settings().themeroller;\r
++                      this.get_container()\r
++                              .addClass("ui-widget-content")\r
++                              .addClass("jstree-themeroller")\r
++                              .delegate("a","mouseenter.jstree", function (e) {\r
++                                      if(!$(e.currentTarget).hasClass("jstree-loading")) {\r
++                                              $(this).addClass(s.item_h);\r
++                                      }\r
++                              })\r
++                              .delegate("a","mouseleave.jstree", function () {\r
++                                      $(this).removeClass(s.item_h);\r
++                              })\r
++                              .bind("init.jstree", $.proxy(function (e, data) { \r
++                                              data.inst.get_container().find("> ul > li > .jstree-loading > ins").addClass("ui-icon-refresh");\r
++                                              this._themeroller(data.inst.get_container().find("> ul > li"));\r
++                                      }, this))\r
++                              .bind("open_node.jstree create_node.jstree", $.proxy(function (e, data) { \r
++                                              this._themeroller(data.rslt.obj);\r
++                                      }, this))\r
++                              .bind("loaded.jstree refresh.jstree", $.proxy(function (e) {\r
++                                              this._themeroller();\r
++                                      }, this))\r
++                              .bind("close_node.jstree", $.proxy(function (e, data) {\r
++                                              this._themeroller(data.rslt.obj);\r
++                                      }, this))\r
++                              .bind("delete_node.jstree", $.proxy(function (e, data) {\r
++                                              this._themeroller(data.rslt.parent);\r
++                                      }, this))\r
++                              .bind("correct_state.jstree", $.proxy(function (e, data) {\r
++                                              data.rslt.obj\r
++                                                      .children("ins.jstree-icon").removeClass(s.opened + " " + s.closed + " ui-icon").end()\r
++                                                      .find("> a > ins.ui-icon")\r
++                                                              .filter(function() { \r
++                                                                      return this.className.toString()\r
++                                                                              .replace(s.item_clsd,"").replace(s.item_open,"").replace(s.item_leaf,"")\r
++                                                                              .indexOf("ui-icon-") === -1; \r
++                                                              }).removeClass(s.item_open + " " + s.item_clsd).addClass(s.item_leaf || "jstree-no-icon");\r
++                                      }, this))\r
++                              .bind("select_node.jstree", $.proxy(function (e, data) {\r
++                                              data.rslt.obj.children("a").addClass(s.item_a);\r
++                                      }, this))\r
++                              .bind("deselect_node.jstree deselect_all.jstree", $.proxy(function (e, data) {\r
++                                              this.get_container()\r
++                                                      .find("a." + s.item_a).removeClass(s.item_a).end()\r
++                                                      .find("a.jstree-clicked").addClass(s.item_a);\r
++                                      }, this))\r
++                              .bind("dehover_node.jstree", $.proxy(function (e, data) {\r
++                                              data.rslt.obj.children("a").removeClass(s.item_h);\r
++                                      }, this))\r
++                              .bind("hover_node.jstree", $.proxy(function (e, data) {\r
++                                              this.get_container()\r
++                                                      .find("a." + s.item_h).not(data.rslt.obj).removeClass(s.item_h);\r
++                                              data.rslt.obj.children("a").addClass(s.item_h);\r
++                                      }, this))\r
++                              .bind("move_node.jstree", $.proxy(function (e, data) {\r
++                                              this._themeroller(data.rslt.o);\r
++                                              this._themeroller(data.rslt.op);\r
++                                      }, this));\r
++              },\r
++              __destroy : function () {\r
++                      var s = this._get_settings().themeroller,\r
++                              c = [ "ui-icon" ];\r
++                      $.each(s, function (i, v) {\r
++                              v = v.split(" ");\r
++                              if(v.length) { c = c.concat(v); }\r
++                      });\r
++                      this.get_container()\r
++                              .removeClass("ui-widget-content")\r
++                              .find("." + c.join(", .")).removeClass(c.join(" "));\r
++              },\r
++              _fn : {\r
++                      _themeroller : function (obj) {\r
++                              var s = this._get_settings().themeroller;\r
++                              obj = !obj || obj == -1 ? this.get_container_ul() : this._get_node(obj).parent();\r
++                              obj\r
++                                      .find("li.jstree-closed")\r
++                                              .children("ins.jstree-icon").removeClass(s.opened).addClass("ui-icon " + s.closed).end()\r
++                                              .children("a").addClass(s.item)\r
++                                                      .children("ins.jstree-icon").addClass("ui-icon")\r
++                                                              .filter(function() { \r
++                                                                      return this.className.toString()\r
++                                                                              .replace(s.item_clsd,"").replace(s.item_open,"").replace(s.item_leaf,"")\r
++                                                                              .indexOf("ui-icon-") === -1; \r
++                                                              }).removeClass(s.item_leaf + " " + s.item_open).addClass(s.item_clsd || "jstree-no-icon")\r
++                                                              .end()\r
++                                                      .end()\r
++                                              .end()\r
++                                      .end()\r
++                                      .find("li.jstree-open")\r
++                                              .children("ins.jstree-icon").removeClass(s.closed).addClass("ui-icon " + s.opened).end()\r
++                                              .children("a").addClass(s.item)\r
++                                                      .children("ins.jstree-icon").addClass("ui-icon")\r
++                                                              .filter(function() { \r
++                                                                      return this.className.toString()\r
++                                                                              .replace(s.item_clsd,"").replace(s.item_open,"").replace(s.item_leaf,"")\r
++                                                                              .indexOf("ui-icon-") === -1; \r
++                                                              }).removeClass(s.item_leaf + " " + s.item_clsd).addClass(s.item_open || "jstree-no-icon")\r
++                                                              .end()\r
++                                                      .end()\r
++                                              .end()\r
++                                      .end()\r
++                                      .find("li.jstree-leaf")\r
++                                              .children("ins.jstree-icon").removeClass(s.closed + " ui-icon " + s.opened).end()\r
++                                              .children("a").addClass(s.item)\r
++                                                      .children("ins.jstree-icon").addClass("ui-icon")\r
++                                                              .filter(function() { \r
++                                                                      return this.className.toString()\r
++                                                                              .replace(s.item_clsd,"").replace(s.item_open,"").replace(s.item_leaf,"")\r
++                                                                              .indexOf("ui-icon-") === -1; \r
++                                                              }).removeClass(s.item_clsd + " " + s.item_open).addClass(s.item_leaf || "jstree-no-icon");\r
++                      }\r
++              },\r
++              defaults : {\r
++                      "opened"        : "ui-icon-triangle-1-se",\r
++                      "closed"        : "ui-icon-triangle-1-e",\r
++                      "item"          : "ui-state-default",\r
++                      "item_h"        : "ui-state-hover",\r
++                      "item_a"        : "ui-state-active",\r
++                      "item_open"     : "ui-icon-folder-open",\r
++                      "item_clsd"     : "ui-icon-folder-collapsed",\r
++                      "item_leaf"     : "ui-icon-document"\r
++              }\r
++      });\r
++      $(function() {\r
++              var css_string = '' + \r
++                      '.jstree-themeroller .ui-icon { overflow:visible; } ' + \r
++                      '.jstree-themeroller a { padding:0 2px; } ' + \r
++                      '.jstree-themeroller .jstree-no-icon { display:none; }';\r
++              $.vakata.css.add_sheet({ str : css_string, title : "jstree" });\r
++      });\r
++})(jQuery);\r
++//*/\r
++\r
++/* \r
++ * jsTree unique plugin\r
++ * Forces different names amongst siblings (still a bit experimental)\r
++ * NOTE: does not check language versions (it will not be possible to have nodes with the same title, even in different languages)\r
++ */\r
++(function ($) {\r
++      $.jstree.plugin("unique", {\r
++              __init : function () {\r
++                      this.get_container()\r
++                              .bind("before.jstree", $.proxy(function (e, data) { \r
++                                              var nms = [], res = true, p, t;\r
++                                              if(data.func == "move_node") {\r
++                                                      // obj, ref, position, is_copy, is_prepared, skip_check\r
++                                                      if(data.args[4] === true) {\r
++                                                              if(data.args[0].o && data.args[0].o.length) {\r
++                                                                      data.args[0].o.children("a").each(function () { nms.push($(this).text().replace(/^\s+/g,"")); });\r
++                                                                      res = this._check_unique(nms, data.args[0].np.find("> ul > li").not(data.args[0].o), "move_node");\r
++                                                              }\r
++                                                      }\r
++                                              }\r
++                                              if(data.func == "create_node") {\r
++                                                      // obj, position, js, callback, is_loaded\r
++                                                      if(data.args[4] || this._is_loaded(data.args[0])) {\r
++                                                              p = this._get_node(data.args[0]);\r
++                                                              if(data.args[1] && (data.args[1] === "before" || data.args[1] === "after")) {\r
++                                                                      p = this._get_parent(data.args[0]);\r
++                                                                      if(!p || p === -1) { p = this.get_container(); }\r
++                                                              }\r
++                                                              if(typeof data.args[2] === "string") { nms.push(data.args[2]); }\r
++                                                              else if(!data.args[2] || !data.args[2].data) { nms.push(this._get_string("new_node")); }\r
++                                                              else { nms.push(data.args[2].data); }\r
++                                                              res = this._check_unique(nms, p.find("> ul > li"), "create_node");\r
++                                                      }\r
++                                              }\r
++                                              if(data.func == "rename_node") {\r
++                                                      // obj, val\r
++                                                      nms.push(data.args[1]);\r
++                                                      t = this._get_node(data.args[0]);\r
++                                                      p = this._get_parent(t);\r
++                                                      if(!p || p === -1) { p = this.get_container(); }\r
++                                                      res = this._check_unique(nms, p.find("> ul > li").not(t), "rename_node");\r
++                                              }\r
++                                              if(!res) {\r
++                                                      e.stopPropagation();\r
++                                                      return false;\r
++                                              }\r
++                                      }, this));\r
++              },\r
++              defaults : { \r
++                      error_callback : $.noop\r
++              },\r
++              _fn : { \r
++                      _check_unique : function (nms, p, func) {\r
++                              var cnms = [];\r
++                              p.children("a").each(function () { cnms.push($(this).text().replace(/^\s+/g,"")); });\r
++                              if(!cnms.length || !nms.length) { return true; }\r
++                              cnms = cnms.sort().join(",,").replace(/(,|^)([^,]+)(,,\2)+(,|$)/g,"$1$2$4").replace(/,,+/g,",").replace(/,$/,"").split(",");\r
++                              if((cnms.length + nms.length) != cnms.concat(nms).sort().join(",,").replace(/(,|^)([^,]+)(,,\2)+(,|$)/g,"$1$2$4").replace(/,,+/g,",").replace(/,$/,"").split(",").length) {\r
++                                      this._get_settings().unique.error_callback.call(null, nms, p, func);\r
++                                      return false;\r
++                              }\r
++                              return true;\r
++                      },\r
++                      check_move : function () {\r
++                              if(!this.__call_old()) { return false; }\r
++                              var p = this._get_move(), nms = [];\r
++                              if(p.o && p.o.length) {\r
++                                      p.o.children("a").each(function () { nms.push($(this).text().replace(/^\s+/g,"")); });\r
++                                      return this._check_unique(nms, p.np.find("> ul > li").not(p.o), "check_move");\r
++                              }\r
++                              return true;\r
++                      }\r
++              }\r
++      });\r
++})(jQuery);\r
++//*/\r
++\r
++/*\r
++ * jsTree wholerow plugin\r
++ * Makes select and hover work on the entire width of the node\r
++ * MAY BE HEAVY IN LARGE DOM\r
++ */\r
++(function ($) {\r
++      $.jstree.plugin("wholerow", {\r
++              __init : function () {\r
++                      if(!this.data.ui) { throw "jsTree wholerow: jsTree UI plugin not included."; }\r
++                      this.data.wholerow.html = false;\r
++                      this.data.wholerow.to = false;\r
++                      this.get_container()\r
++                              .bind("init.jstree", $.proxy(function (e, data) { \r
++                                              this._get_settings().core.animation = 0;\r
++                                      }, this))\r
++                              .bind("open_node.jstree create_node.jstree clean_node.jstree loaded.jstree", $.proxy(function (e, data) { \r
++                                              this._prepare_wholerow_span( data && data.rslt && data.rslt.obj ? data.rslt.obj : -1 );\r
++                                      }, this))\r
++                              .bind("search.jstree clear_search.jstree reopen.jstree after_open.jstree after_close.jstree create_node.jstree delete_node.jstree clean_node.jstree", $.proxy(function (e, data) { \r
++                                              if(this.data.to) { clearTimeout(this.data.to); }\r
++                                              this.data.to = setTimeout( (function (t, o) { return function() { t._prepare_wholerow_ul(o); }; })(this,  data && data.rslt && data.rslt.obj ? data.rslt.obj : -1), 0);\r
++                                      }, this))\r
++                              .bind("deselect_all.jstree", $.proxy(function (e, data) { \r
++                                              this.get_container().find(" > .jstree-wholerow .jstree-clicked").removeClass("jstree-clicked " + (this.data.themeroller ? this._get_settings().themeroller.item_a : "" ));\r
++                                      }, this))\r
++                              .bind("select_node.jstree deselect_node.jstree ", $.proxy(function (e, data) { \r
++                                              data.rslt.obj.each(function () { \r
++                                                      var ref = data.inst.get_container().find(" > .jstree-wholerow li:visible:eq(" + ( parseInt((($(this).offset().top - data.inst.get_container().offset().top + data.inst.get_container()[0].scrollTop) / data.inst.data.core.li_height),10)) + ")");\r
++                                                      // ref.children("a")[e.type === "select_node" ? "addClass" : "removeClass"]("jstree-clicked");\r
++                                                      ref.children("a").attr("class",data.rslt.obj.children("a").attr("class"));\r
++                                              });\r
++                                      }, this))\r
++                              .bind("hover_node.jstree dehover_node.jstree", $.proxy(function (e, data) { \r
++                                              this.get_container().find(" > .jstree-wholerow .jstree-hovered").removeClass("jstree-hovered " + (this.data.themeroller ? this._get_settings().themeroller.item_h : "" ));\r
++                                              if(e.type === "hover_node") {\r
++                                                      var ref = this.get_container().find(" > .jstree-wholerow li:visible:eq(" + ( parseInt(((data.rslt.obj.offset().top - this.get_container().offset().top + this.get_container()[0].scrollTop) / this.data.core.li_height),10)) + ")");\r
++                                                      // ref.children("a").addClass("jstree-hovered");\r
++                                                      ref.children("a").attr("class",data.rslt.obj.children(".jstree-hovered").attr("class"));\r
++                                              }\r
++                                      }, this))\r
++                              .delegate(".jstree-wholerow-span, ins.jstree-icon, li", "click.jstree", function (e) {\r
++                                              var n = $(e.currentTarget);\r
++                                              if(e.target.tagName === "A" || (e.target.tagName === "INS" && n.closest("li").is(".jstree-open, .jstree-closed"))) { return; }\r
++                                              n.closest("li").children("a:visible:eq(0)").click();\r
++                                              e.stopImmediatePropagation();\r
++                                      })\r
++                              .delegate("li", "mouseover.jstree", $.proxy(function (e) {\r
++                                              e.stopImmediatePropagation();\r
++                                              if($(e.currentTarget).children(".jstree-hovered, .jstree-clicked").length) { return false; }\r
++                                              this.hover_node(e.currentTarget);\r
++                                              return false;\r
++                                      }, this))\r
++                              .delegate("li", "mouseleave.jstree", $.proxy(function (e) {\r
++                                              if($(e.currentTarget).children("a").hasClass("jstree-hovered").length) { return; }\r
++                                              this.dehover_node(e.currentTarget);\r
++                                      }, this));\r
++                      if(is_ie7 || is_ie6) {\r
++                              $.vakata.css.add_sheet({ str : ".jstree-" + this.get_index() + " { position:relative; } ", title : "jstree" });\r
++                      }\r
++              },\r
++              defaults : {\r
++              },\r
++              __destroy : function () {\r
++                      this.get_container().children(".jstree-wholerow").remove();\r
++                      this.get_container().find(".jstree-wholerow-span").remove();\r
++              },\r
++              _fn : {\r
++                      _prepare_wholerow_span : function (obj) {\r
++                              obj = !obj || obj == -1 ? this.get_container().find("> ul > li") : this._get_node(obj);\r
++                              if(obj === false) { return; } // added for removing root nodes\r
++                              obj.each(function () {\r
++                                      $(this).find("li").andSelf().each(function () {\r
++                                              var $t = $(this);\r
++                                              if($t.children(".jstree-wholerow-span").length) { return true; }\r
++                                              $t.prepend("<span class='jstree-wholerow-span' style='width:" + ($t.parentsUntil(".jstree","li").length * 18) + "px;'>&#160;</span>");\r
++                                      });\r
++                              });\r
++                      },\r
++                      _prepare_wholerow_ul : function () {\r
++                              var o = this.get_container().children("ul").eq(0), h = o.html();\r
++                              o.addClass("jstree-wholerow-real");\r
++                              if(this.data.wholerow.last_html !== h) {\r
++                                      this.data.wholerow.last_html = h;\r
++                                      this.get_container().children(".jstree-wholerow").remove();\r
++                                      this.get_container().append(\r
++                                              o.clone().removeClass("jstree-wholerow-real")\r
++                                                      .wrapAll("<div class='jstree-wholerow' />").parent()\r
++                                                      .width(o.parent()[0].scrollWidth)\r
++                                                      .css("top", (o.height() + ( is_ie7 ? 5 : 0)) * -1 )\r
++                                                      .find("li[id]").each(function () { this.removeAttribute("id"); }).end()\r
++                                      );\r
++                              }\r
++                      }\r
++              }\r
++      });\r
++      $(function() {\r
++              var css_string = '' + \r
++                      '.jstree .jstree-wholerow-real { position:relative; z-index:1; } ' + \r
++                      '.jstree .jstree-wholerow-real li { cursor:pointer; } ' + \r
++                      '.jstree .jstree-wholerow-real a { border-left-color:transparent !important; border-right-color:transparent !important; } ' + \r
++                      '.jstree .jstree-wholerow { position:relative; z-index:0; height:0; } ' + \r
++                      '.jstree .jstree-wholerow ul, .jstree .jstree-wholerow li { width:100%; } ' + \r
++                      '.jstree .jstree-wholerow, .jstree .jstree-wholerow ul, .jstree .jstree-wholerow li, .jstree .jstree-wholerow a { margin:0 !important; padding:0 !important; } ' + \r
++                      '.jstree .jstree-wholerow, .jstree .jstree-wholerow ul, .jstree .jstree-wholerow li { background:transparent !important; }' + \r
++                      '.jstree .jstree-wholerow ins, .jstree .jstree-wholerow span, .jstree .jstree-wholerow input { display:none !important; }' + \r
++                      '.jstree .jstree-wholerow a, .jstree .jstree-wholerow a:hover { text-indent:-9999px; !important; width:100%; padding:0 !important; border-right-width:0px !important; border-left-width:0px !important; } ' + \r
++                      '.jstree .jstree-wholerow-span { position:absolute; left:0; margin:0px; padding:0; height:18px; border-width:0; padding:0; z-index:0; }';\r
++              if(is_ff2) {\r
++                      css_string += '' + \r
++                              '.jstree .jstree-wholerow a { display:block; height:18px; margin:0; padding:0; border:0; } ' + \r
++                              '.jstree .jstree-wholerow-real a { border-color:transparent !important; } ';\r
++              }\r
++              if(is_ie7 || is_ie6) {\r
++                      css_string += '' + \r
++                              '.jstree .jstree-wholerow, .jstree .jstree-wholerow li, .jstree .jstree-wholerow ul, .jstree .jstree-wholerow a { margin:0; padding:0; line-height:18px; } ' + \r
++                              '.jstree .jstree-wholerow a { display:block; height:18px; line-height:18px; overflow:hidden; } ';\r
++              }\r
++              $.vakata.css.add_sheet({ str : css_string, title : "jstree" });\r
++      });\r
++})(jQuery);\r
++//*/\r
++\r
++/*\r
++* jsTree model plugin\r
++* This plugin gets jstree to use a class model to retrieve data, creating great dynamism\r
++*/\r
++(function ($) {\r
++      var nodeInterface = ["getChildren","getChildrenCount","getAttr","getName","getProps"],\r
++              validateInterface = function(obj, inter) {\r
++                      var valid = true;\r
++                      obj = obj || {};\r
++                      inter = [].concat(inter);\r
++                      $.each(inter, function (i, v) {\r
++                              if(!$.isFunction(obj[v])) { valid = false; return false; }\r
++                      });\r
++                      return valid;\r
++              };\r
++      $.jstree.plugin("model", {\r
++              __init : function () {\r
++                      if(!this.data.json_data) { throw "jsTree model: jsTree json_data plugin not included."; }\r
++                      this._get_settings().json_data.data = function (n, b) {\r
++                              var obj = (n == -1) ? this._get_settings().model.object : n.data("jstree_model");\r
++                              if(!validateInterface(obj, nodeInterface)) { return b.call(null, false); }\r
++                              if(this._get_settings().model.async) {\r
++                                      obj.getChildren($.proxy(function (data) {\r
++                                              this.model_done(data, b);\r
++                                      }, this));\r
++                              }\r
++                              else {\r
++                                      this.model_done(obj.getChildren(), b);\r
++                              }\r
++                      };\r
++              },\r
++              defaults : {\r
++                      object : false,\r
++                      id_prefix : false,\r
++                      async : false\r
++              },\r
++              _fn : {\r
++                      model_done : function (data, callback) {\r
++                              var ret = [], \r
++                                      s = this._get_settings(),\r
++                                      _this = this;\r
++\r
++                              if(!$.isArray(data)) { data = [data]; }\r
++                              $.each(data, function (i, nd) {\r
++                                      var r = nd.getProps() || {};\r
++                                      r.attr = nd.getAttr() || {};\r
++                                      if(nd.getChildrenCount()) { r.state = "closed"; }\r
++                                      r.data = nd.getName();\r
++                                      if(!$.isArray(r.data)) { r.data = [r.data]; }\r
++                                      if(_this.data.types && $.isFunction(nd.getType)) {\r
++                                              r.attr[s.types.type_attr] = nd.getType();\r
++                                      }\r
++                                      if(r.attr.id && s.model.id_prefix) { r.attr.id = s.model.id_prefix + r.attr.id; }\r
++                                      if(!r.metadata) { r.metadata = { }; }\r
++                                      r.metadata.jstree_model = nd;\r
++                                      ret.push(r);\r
++                              });\r
++                              callback.call(null, ret);\r
++                      }\r
++              }\r
++      });\r
++})(jQuery);\r
++//*/\r
++\r
++})();
+\ No newline at end of file
+diff -up cacti-0.8.8a/include/js/jquery/jquery.tablednd.js.legal cacti-0.8.8a/include/js/jquery/jquery.tablednd.js
+--- cacti-0.8.8a/include/js/jquery/jquery.tablednd.js.legal    2013-01-04 15:44:38.038416075 -0500
++++ cacti-0.8.8a/include/js/jquery/jquery.tablednd.js  2013-01-04 15:43:12.645377988 -0500
+@@ -0,0 +1,382 @@
++/**
++ * TableDnD plug-in for JQuery, allows you to drag and drop table rows
++ * You can set up various options to control how the system will work
++ * Copyright (c) Denis Howlett <denish@isocra.com>
++ * Licensed like jQuery, see http://docs.jquery.com/License.
++ *
++ * Configuration options:
++ *
++ * onDragStyle
++ *     This is the style that is assigned to the row during drag. There are limitations to the styles that can be
++ *     associated with a row (such as you can't assign a border--well you can, but it won't be
++ *     displayed). (So instead consider using onDragClass.) The CSS style to apply is specified as
++ *     a map (as used in the jQuery css(...) function).
++ * onDropStyle
++ *     This is the style that is assigned to the row when it is dropped. As for onDragStyle, there are limitations
++ *     to what you can do. Also this replaces the original style, so again consider using onDragClass which
++ *     is simply added and then removed on drop.
++ * onDragClass
++ *     This class is added for the duration of the drag and then removed when the row is dropped. It is more
++ *     flexible than using onDragStyle since it can be inherited by the row cells and other content. The default
++ *     is class is tDnD_whileDrag. So to use the default, simply customise this CSS class in your
++ *     stylesheet.
++ * onDrop
++ *     Pass a function that will be called when the row is dropped. The function takes 2 parameters: the table
++ *     and the row that was dropped. You can work out the new order of the rows by using
++ *     table.rows.
++ * onDragStart
++ *     Pass a function that will be called when the user starts dragging. The function takes 2 parameters: the
++ *     table and the row which the user has started to drag.
++ * onAllowDrop
++ *     Pass a function that will be called as a row is over another row. If the function returns true, allow
++ *     dropping on that row, otherwise not. The function takes 2 parameters: the dragged row and the row under
++ *     the cursor. It returns a boolean: true allows the drop, false doesn't allow it.
++ * scrollAmount
++ *     This is the number of pixels to scroll if the user moves the mouse cursor to the top or bottom of the
++ *     window. The page should automatically scroll up or down as appropriate (tested in IE6, IE7, Safari, FF2,
++ *     FF3 beta
++ * dragHandle
++ *     This is the name of a class that you assign to one or more cells in each row that is draggable. If you
++ *     specify this class, then you are responsible for setting cursor: move in the CSS and only these cells
++ *     will have the drag behaviour. If you do not specify a dragHandle, then you get the old behaviour where
++ *     the whole row is draggable.
++ *
++ * Other ways to control behaviour:
++ *
++ * Add class="nodrop" to any rows for which you don't want to allow dropping, and class="nodrag" to any rows
++ * that you don't want to be draggable.
++ *
++ * Inside the onDrop method you can also call $.tableDnD.serialize() this returns a string of the form
++ * <tableID>[]=<rowID1>&<tableID>[]=<rowID2> so that you can send this back to the server. The table must have
++ * an ID as must all the rows.
++ *
++ * Other methods:
++ *
++ * $("...").tableDnDUpdate()
++ * Will update all the matching tables, that is it will reapply the mousedown method to the rows (or handle cells).
++ * This is useful if you have updated the table rows using Ajax and you want to make the table draggable again.
++ * The table maintains the original configuration (so you don't have to specify it again).
++ *
++ * $("...").tableDnDSerialize()
++ * Will serialize and return the serialized string as above, but for each of the matching tables--so it can be
++ * called from anywhere and isn't dependent on the currentTable being set up correctly before calling
++ *
++ * Known problems:
++ * - Auto-scoll has some problems with IE7  (it scrolls even when it shouldn't), work-around: set scrollAmount to 0
++ *
++ * Version 0.2: 2008-02-20 First public version
++ * Version 0.3: 2008-02-07 Added onDragStart option
++ *                         Made the scroll amount configurable (default is 5 as before)
++ * Version 0.4: 2008-03-15 Changed the noDrag/noDrop attributes to nodrag/nodrop classes
++ *                         Added onAllowDrop to control dropping
++ *                         Fixed a bug which meant that you couldn't set the scroll amount in both directions
++ *                         Added serialize method
++ * Version 0.5: 2008-05-16 Changed so that if you specify a dragHandle class it doesn't make the whole row
++ *                         draggable
++ *                         Improved the serialize method to use a default (and settable) regular expression.
++ *                         Added tableDnDupate() and tableDnDSerialize() to be called when you are outside the table
++ */
++jQuery.tableDnD = {
++    /** Keep hold of the current table being dragged */
++    currentTable : null,
++    /** Keep hold of the current drag object if any */
++    dragObject: null,
++    /** The current mouse offset */
++    mouseOffset: null,
++    /** Remember the old value of Y so that we don't do too much processing */
++    oldY: 0,
++
++    /** Actually build the structure */
++    build: function(options) {
++        // Set up the defaults if any
++
++        this.each(function() {
++            // This is bound to each matching table, set up the defaults and override with user options
++            this.tableDnDConfig = jQuery.extend({
++                onDragStyle: null,
++                onDropStyle: null,
++                              // Add in the default class for whileDragging
++                              onDragClass: "tDnD_whileDrag",
++                onDrop: null,
++                onDragStart: null,
++                scrollAmount: 5,
++                              serializeRegexp: /[^\_]*$/, // The regular expression to use to trim row IDs
++                              serializeParamName: null, // If you want to specify another parameter name instead of the table ID
++                dragHandle: null // If you give the name of a class here, then only Cells with this class will be draggable
++            }, options || {});
++            // Now make the rows draggable
++            jQuery.tableDnD.makeDraggable(this);
++        });
++
++        // Now we need to capture the mouse up and mouse move event
++        // We can use bind so that we don't interfere with other event handlers
++        jQuery(document)
++            .bind('mousemove', jQuery.tableDnD.mousemove)
++            .bind('mouseup', jQuery.tableDnD.mouseup);
++
++        // Don't break the chain
++        return this;
++    },
++
++    /** This function makes all the rows on the table draggable apart from those marked as "NoDrag" */
++    makeDraggable: function(table) {
++        var config = table.tableDnDConfig;
++              if (table.tableDnDConfig.dragHandle) {
++                      // We only need to add the event to the specified cells
++                      var cells = jQuery("td."+table.tableDnDConfig.dragHandle, table);
++                      cells.each(function() {
++                              // The cell is bound to "this"
++                jQuery(this).mousedown(function(ev) {
++                    jQuery.tableDnD.dragObject = this.parentNode;
++                    jQuery.tableDnD.currentTable = table;
++                    jQuery.tableDnD.mouseOffset = jQuery.tableDnD.getMouseOffset(this, ev);
++                    if (config.onDragStart) {
++                        // Call the onDrop method if there is one
++                        config.onDragStart(table, this);
++                    }
++                    return false;
++                });
++                      })
++              } else {
++                      // For backwards compatibility, we add the event to the whole row
++              var rows = jQuery("tr", table); // get all the rows as a wrapped set
++              rows.each(function() {
++                              // Iterate through each row, the row is bound to "this"
++                              var row = jQuery(this);
++                              if (! row.hasClass("nodrag")) {
++                      row.mousedown(function(ev) {
++                          if (ev.target.tagName == "TD") {
++                              jQuery.tableDnD.dragObject = this;
++                              jQuery.tableDnD.currentTable = table;
++                              jQuery.tableDnD.mouseOffset = jQuery.tableDnD.getMouseOffset(this, ev);
++                              if (config.onDragStart) {
++                                  // Call the onDrop method if there is one
++                                  config.onDragStart(table, this);
++                              }
++                              return false;
++                          }
++                      }).css("cursor", "move"); // Store the tableDnD object
++                              }
++                      });
++              }
++      },
++
++      updateTables: function() {
++              this.each(function() {
++                      // this is now bound to each matching table
++                      if (this.tableDnDConfig) {
++                              jQuery.tableDnD.makeDraggable(this);
++                      }
++              })
++      },
++
++    /** Get the mouse coordinates from the event (allowing for browser differences) */
++    mouseCoords: function(ev){
++        if(ev.pageX || ev.pageY){
++            return {x:ev.pageX, y:ev.pageY};
++        }
++        return {
++            x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
++            y:ev.clientY + document.body.scrollTop  - document.body.clientTop
++        };
++    },
++
++    /** Given a target element and a mouse event, get the mouse offset from that element.
++        To do this we need the element's position and the mouse position */
++    getMouseOffset: function(target, ev) {
++        ev = ev || window.event;
++
++        var docPos    = this.getPosition(target);
++        var mousePos  = this.mouseCoords(ev);
++        return {x:mousePos.x - docPos.x, y:mousePos.y - docPos.y};
++    },
++
++    /** Get the position of an element by going up the DOM tree and adding up all the offsets */
++    getPosition: function(e){
++        var left = 0;
++        var top  = 0;
++        /** Safari fix -- thanks to Luis Chato for this! */
++        if (e.offsetHeight == 0) {
++            /** Safari 2 doesn't correctly grab the offsetTop of a table row
++            this is detailed here:
++            http://jacob.peargrove.com/blog/2006/technical/table-row-offsettop-bug-in-safari/
++            the solution is likewise noted there, grab the offset of a table cell in the row - the firstChild.
++            note that firefox will return a text node as a first child, so designing a more thorough
++            solution may need to take that into account, for now this seems to work in firefox, safari, ie */
++            e = e.firstChild; // a table cell
++        }
++
++        while (e.offsetParent){
++            left += e.offsetLeft;
++            top  += e.offsetTop;
++            e     = e.offsetParent;
++        }
++
++        left += e.offsetLeft;
++        top  += e.offsetTop;
++
++        return {x:left, y:top};
++    },
++
++    mousemove: function(ev) {
++        if (jQuery.tableDnD.dragObject == null) {
++            return;
++        }
++
++        var dragObj = jQuery(jQuery.tableDnD.dragObject);
++        var config = jQuery.tableDnD.currentTable.tableDnDConfig;
++        var mousePos = jQuery.tableDnD.mouseCoords(ev);
++        var y = mousePos.y - jQuery.tableDnD.mouseOffset.y;
++        //auto scroll the window
++          var yOffset = window.pageYOffset;
++              if (document.all) {
++              // Windows version
++              //yOffset=document.body.scrollTop;
++              if (typeof document.compatMode != 'undefined' &&
++                   document.compatMode != 'BackCompat') {
++                 yOffset = document.documentElement.scrollTop;
++              }
++              else if (typeof document.body != 'undefined') {
++                 yOffset=document.body.scrollTop;
++              }
++
++          }
++
++              if (mousePos.y-yOffset < config.scrollAmount) {
++              window.scrollBy(0, -config.scrollAmount);
++          } else {
++            var windowHeight = window.innerHeight ? window.innerHeight
++                    : document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight;
++            if (windowHeight-(mousePos.y-yOffset) < config.scrollAmount) {
++                window.scrollBy(0, config.scrollAmount);
++            }
++        }
++
++
++        if (y != jQuery.tableDnD.oldY) {
++            // work out if we're going up or down...
++            var movingDown = y > jQuery.tableDnD.oldY;
++            // update the old value
++            jQuery.tableDnD.oldY = y;
++            // update the style to show we're dragging
++                      if (config.onDragClass) {
++                              dragObj.addClass(config.onDragClass);
++                      } else {
++                  dragObj.css(config.onDragStyle);
++                      }
++            // If we're over a row then move the dragged row to there so that the user sees the
++            // effect dynamically
++            var currentRow = jQuery.tableDnD.findDropTargetRow(dragObj, y);
++            if (currentRow) {
++                // TODO worry about what happens when there are multiple TBODIES
++                if (movingDown && jQuery.tableDnD.dragObject != currentRow) {
++                    jQuery.tableDnD.dragObject.parentNode.insertBefore(jQuery.tableDnD.dragObject, currentRow.nextSibling);
++                } else if (! movingDown && jQuery.tableDnD.dragObject != currentRow) {
++                    jQuery.tableDnD.dragObject.parentNode.insertBefore(jQuery.tableDnD.dragObject, currentRow);
++                }
++            }
++        }
++
++        return false;
++    },
++
++    /** We're only worried about the y position really, because we can only move rows up and down */
++    findDropTargetRow: function(draggedRow, y) {
++        var rows = jQuery.tableDnD.currentTable.rows;
++        for (var i=0; i<rows.length; i++) {
++            var row = rows[i];
++            var rowY    = this.getPosition(row).y;
++            var rowHeight = parseInt(row.offsetHeight)/2;
++            if (row.offsetHeight == 0) {
++                rowY = this.getPosition(row.firstChild).y;
++                rowHeight = parseInt(row.firstChild.offsetHeight)/2;
++            }
++            // Because we always have to insert before, we need to offset the height a bit
++            if ((y > rowY - rowHeight) && (y < (rowY + rowHeight))) {
++                // that's the row we're over
++                              // If it's the same as the current row, ignore it
++                              if (row == draggedRow) {return null;}
++                var config = jQuery.tableDnD.currentTable.tableDnDConfig;
++                if (config.onAllowDrop) {
++                    if (config.onAllowDrop(draggedRow, row)) {
++                        return row;
++                    } else {
++                        return null;
++                    }
++                } else {
++                                      // If a row has nodrop class, then don't allow dropping (inspired by John Tarr and Famic)
++                    var nodrop = jQuery(row).hasClass("nodrop");
++                    if (! nodrop) {
++                        return row;
++                    } else {
++                        return null;
++                    }
++                }
++                return row;
++            }
++        }
++        return null;
++    },
++
++    mouseup: function(e) {
++        if (jQuery.tableDnD.currentTable && jQuery.tableDnD.dragObject) {
++            var droppedRow = jQuery.tableDnD.dragObject;
++            var config = jQuery.tableDnD.currentTable.tableDnDConfig;
++            // If we have a dragObject, then we need to release it,
++            // The row will already have been moved to the right place so we just reset stuff
++                      if (config.onDragClass) {
++                  jQuery(droppedRow).removeClass(config.onDragClass);
++                      } else {
++                  jQuery(droppedRow).css(config.onDropStyle);
++                      }
++            jQuery.tableDnD.dragObject   = null;
++            if (config.onDrop) {
++                // Call the onDrop method if there is one
++                config.onDrop(jQuery.tableDnD.currentTable, droppedRow);
++            }
++            jQuery.tableDnD.currentTable = null; // let go of the table too
++        }
++    },
++
++    serialize: function() {
++        if (jQuery.tableDnD.currentTable) {
++            return jQuery.tableDnD.serializeTable(jQuery.tableDnD.currentTable);
++        } else {
++            return "Error: No Table id set, you need to set an id on your table and every row";
++        }
++    },
++
++      serializeTable: function(table) {
++        var result = "";
++        var tableId = table.id;
++        var rows = table.rows;
++        for (var i=0; i<rows.length; i++) {
++            if (result.length > 0) result += "&";
++            var rowId = rows[i].id;
++            if (rowId && rowId && table.tableDnDConfig && table.tableDnDConfig.serializeRegexp) {
++                rowId = rowId.match(table.tableDnDConfig.serializeRegexp)[0];
++            }
++
++            result += tableId + '[]=' + rowId;
++        }
++        return result;
++      },
++
++      serializeTables: function() {
++        var result = "";
++        this.each(function() {
++                      // this is now bound to each matching table
++                      result += jQuery.tableDnD.serializeTable(this);
++              });
++        return result;
++    }
++
++}
++
++jQuery.fn.extend(
++      {
++              tableDnD : jQuery.tableDnD.build,
++              tableDnDUpdate : jQuery.tableDnD.updateTables,
++              tableDnDSerialize: jQuery.tableDnD.serializeTables
++      }
++);
+\ No newline at end of file
+diff -up cacti-0.8.8a/include/js/jquery/jquery.timepicker.js.legal cacti-0.8.8a/include/js/jquery/jquery.timepicker.js
+--- cacti-0.8.8a/include/js/jquery/jquery.timepicker.js.legal  2013-01-04 15:44:38.041416077 -0500
++++ cacti-0.8.8a/include/js/jquery/jquery.timepicker.js        2013-01-04 15:43:12.645377988 -0500
+@@ -0,0 +1,1060 @@
++/*
++* jQuery timepicker addon
++* By: Trent Richardson [http://trentrichardson.com]
++* Version 0.9.6
++* Last Modified: 07/20/2011
++*
++* Copyright 2011 Trent Richardson
++* Dual licensed under the MIT and GPL licenses.
++* http://trentrichardson.com/Impromptu/GPL-LICENSE.txt
++* http://trentrichardson.com/Impromptu/MIT-LICENSE.txt
++*
++* HERES THE CSS:
++* .ui-timepicker-div .ui-widget-header{ margin-bottom: 8px; }
++* .ui-timepicker-div dl{ text-align: left; }
++* .ui-timepicker-div dl dt{ height: 25px; }
++* .ui-timepicker-div dl dd{ margin: -25px 10px 10px 65px; }
++* .ui-timepicker-div td { font-size: 90%; }
++*/
++
++(function($) {
++
++$.extend($.ui, { timepicker: { version: "0.9.6" } });
++
++/* Time picker manager.
++   Use the singleton instance of this class, $.timepicker, to interact with the time picker.
++   Settings for (groups of) time pickers are maintained in an instance object,
++   allowing multiple different settings on the same page. */
++
++function Timepicker() {
++      this.regional = []; // Available regional settings, indexed by language code
++      this.regional[''] = { // Default regional settings
++              currentText: 'Now',
++              closeText: 'Done',
++              ampm: false,
++              timeFormat: 'hh:mm tt',
++              timeSuffix: '',
++              timeOnlyTitle: 'Choose Time',
++              timeText: 'Time',
++              hourText: 'Hour',
++              minuteText: 'Minute',
++              secondText: 'Second',
++              timezoneText: 'Time Zone'
++      };
++      this._defaults = { // Global defaults for all the datetime picker instances
++              showButtonPanel: true,
++              timeOnly: false,
++              showHour: true,
++              showMinute: true,
++              showSecond: false,
++              showTimezone: false,
++              showTime: true,
++              stepHour: 0.05,
++              stepMinute: 0.05,
++              stepSecond: 0.05,
++              hour: 0,
++              minute: 0,
++              second: 0,
++              timezone: '+0000',
++              hourMin: 0,
++              minuteMin: 0,
++              secondMin: 0,
++              hourMax: 23,
++              minuteMax: 59,
++              secondMax: 59,
++              minDateTime: null,
++              maxDateTime: null,
++              hourGrid: 0,
++              minuteGrid: 0,
++              secondGrid: 0,
++              alwaysSetTime: true,
++              separator: ' ',
++              altFieldTimeOnly: true,
++              showTimepicker: true,
++              timezoneList: ["-1100", "-1000", "-0900", "-0800", "-0700", "-0600",
++                             "-0500", "-0400", "-0300", "-0200", "-0100", "+0000",
++                             "+0100", "+0200", "+0300", "+0400", "+0500", "+0600",
++                             "+0700", "+0800", "+0900", "+1000", "+1100", "+1200"]
++      };
++      $.extend(this._defaults, this.regional['']);
++}
++
++$.extend(Timepicker.prototype, {
++      $input: null,
++      $altInput: null,
++      $timeObj: null,
++      inst: null,
++      hour_slider: null,
++      minute_slider: null,
++      second_slider: null,
++      timezone_select: null,
++      hour: 0,
++      minute: 0,
++      second: 0,
++      timezone: '+0000',
++      hourMinOriginal: null,
++      minuteMinOriginal: null,
++      secondMinOriginal: null,
++      hourMaxOriginal: null,
++      minuteMaxOriginal: null,
++      secondMaxOriginal: null,
++      ampm: '',
++      formattedDate: '',
++      formattedTime: '',
++      formattedDateTime: '',
++      timezoneList: ["-1100", "-1000", "-0900", "-0800", "-0700", "-0600",
++                      "-0500", "-0400", "-0300", "-0200", "-0100", "+0000",
++                      "+0100", "+0200", "+0300", "+0400", "+0500", "+0600",
++                      "+0700", "+0800", "+0900", "+1000", "+1100", "+1200"],
++
++      /* Override the default settings for all instances of the time picker.
++         @param  settings  object - the new settings to use as defaults (anonymous object)
++         @return the manager object */
++      setDefaults: function(settings) {
++              extendRemove(this._defaults, settings || {});
++              return this;
++      },
++
++      //########################################################################
++      // Create a new Timepicker instance
++      //########################################################################
++      _newInst: function($input, o) {
++              var tp_inst = new Timepicker(),
++                      inlineSettings = {};
++
++              for (var attrName in this._defaults) {
++                      var attrValue = $input.attr('time:' + attrName);
++                      if (attrValue) {
++                              try {
++                                      inlineSettings[attrName] = eval(attrValue);
++                              } catch (err) {
++                                      inlineSettings[attrName] = attrValue;
++                              }
++                      }
++              }
++              tp_inst._defaults = $.extend({}, this._defaults, inlineSettings, o, {
++                      beforeShow: function(input, dp_inst) {
++                              if ($.isFunction(o.beforeShow))
++                                      o.beforeShow(input, dp_inst, tp_inst);
++                      },
++                      onChangeMonthYear: function(year, month, dp_inst) {
++                              // Update the time as well : this prevents the time from disappearing from the $input field.
++                              tp_inst._updateDateTime(dp_inst);
++                              if ($.isFunction(o.onChangeMonthYear))
++                                      o.onChangeMonthYear.call($input[0], year, month, dp_inst, tp_inst);
++                      },
++                      onClose: function(dateText, dp_inst) {
++                              if (tp_inst.timeDefined === true && $input.val() != '')
++                                      tp_inst._updateDateTime(dp_inst);
++                              if ($.isFunction(o.onClose))
++                                      o.onClose.call($input[0], dateText, dp_inst, tp_inst);
++                      },
++                      timepicker: tp_inst // add timepicker as a property of datepicker: $.datepicker._get(dp_inst, 'timepicker');
++              });
++
++              tp_inst.hour = tp_inst._defaults.hour;
++              tp_inst.minute = tp_inst._defaults.minute;
++              tp_inst.second = tp_inst._defaults.second;
++              tp_inst.ampm = '';
++              tp_inst.$input = $input;
++
++              if (o.altField)
++                      tp_inst.$altInput = $(o.altField)
++                              .css({ cursor: 'pointer' })
++                              .focus(function(){ $input.trigger("focus"); });
++
++              // datepicker needs minDate/maxDate, timepicker needs minDateTime/maxDateTime..
++              if(tp_inst._defaults.minDate !== undefined && tp_inst._defaults.minDate instanceof Date)
++                      tp_inst._defaults.minDateTime = new Date(tp_inst._defaults.minDate.getTime());
++              if(tp_inst._defaults.minDateTime !== undefined && tp_inst._defaults.minDateTime instanceof Date)
++                      tp_inst._defaults.minDate = new Date(tp_inst._defaults.minDateTime.getTime());
++              if(tp_inst._defaults.maxDate !== undefined && tp_inst._defaults.maxDate instanceof Date)
++                      tp_inst._defaults.maxDateTime = new Date(tp_inst._defaults.maxDate.getTime());
++              if(tp_inst._defaults.maxDateTime !== undefined && tp_inst._defaults.maxDateTime instanceof Date)
++                      tp_inst._defaults.maxDate = new Date(tp_inst._defaults.maxDateTime.getTime());
++
++              return tp_inst;
++      },
++
++      //########################################################################
++      // add our sliders to the calendar
++      //########################################################################
++      _addTimePicker: function(dp_inst) {
++              var currDT = (this.$altInput && this._defaults.altFieldTimeOnly) ?
++                              this.$input.val() + ' ' + this.$altInput.val() :
++                              this.$input.val();
++
++              this.timeDefined = this._parseTime(currDT);
++              this._limitMinMaxDateTime(dp_inst, false);
++              this._injectTimePicker();
++      },
++
++      //########################################################################
++      // parse the time string from input value or _setTime
++      //########################################################################
++      _parseTime: function(timeString, withDate) {
++              var regstr = this._defaults.timeFormat.toString()
++                              .replace(/h{1,2}/ig, '(\\d?\\d)')
++                              .replace(/m{1,2}/ig, '(\\d?\\d)')
++                              .replace(/s{1,2}/ig, '(\\d?\\d)')
++                              .replace(/t{1,2}/ig, '(am|pm|a|p)?')
++                              .replace(/z{1}/ig, '((\\+|-)\\d\\d\\d\\d)?')
++                              .replace(/\s/g, '\\s?') + this._defaults.timeSuffix + '$',
++                      order = this._getFormatPositions(),
++                      treg;
++
++              if (!this.inst) this.inst = $.datepicker._getInst(this.$input[0]);
++
++              if (withDate || !this._defaults.timeOnly) {
++                      // the time should come after x number of characters and a space.
++                      // x = at least the length of text specified by the date format
++                      var dp_dateFormat = $.datepicker._get(this.inst, 'dateFormat');
++                      // escape special regex characters in the seperator
++                      var specials = new RegExp("[.*+?|()\\[\\]{}\\\\]", "g");
++                      regstr = '.{' + dp_dateFormat.length + ',}' + this._defaults.separator.replace(specials, "\\$&") + regstr;
++              }
++
++              treg = timeString.match(new RegExp(regstr, 'i'));
++
++              if (treg) {
++                      if (order.t !== -1)
++                              this.ampm = ((treg[order.t] === undefined || treg[order.t].length === 0) ?
++                                      '' :
++                                      (treg[order.t].charAt(0).toUpperCase() == 'A') ? 'AM' : 'PM').toUpperCase();
++
++                      if (order.h !== -1) {
++                              if (this.ampm == 'AM' && treg[order.h] == '12')
++                                      this.hour = 0; // 12am = 0 hour
++                              else if (this.ampm == 'PM' && treg[order.h] != '12')
++                                      this.hour = (parseFloat(treg[order.h]) + 12).toFixed(0); // 12pm = 12 hour, any other pm = hour + 12
++                              else this.hour = Number(treg[order.h]);
++                      }
++
++                      if (order.m !== -1) this.minute = Number(treg[order.m]);
++                      if (order.s !== -1) this.second = Number(treg[order.s]);
++                      if (order.z !== -1) this.timezone = treg[order.z];
++
++                      return true;
++
++              }
++              return false;
++      },
++
++      //########################################################################
++      // figure out position of time elements.. cause js cant do named captures
++      //########################################################################
++      _getFormatPositions: function() {
++              var finds = this._defaults.timeFormat.toLowerCase().match(/(h{1,2}|m{1,2}|s{1,2}|t{1,2}|z)/g),
++                      orders = { h: -1, m: -1, s: -1, t: -1, z: -1 };
++
++              if (finds)
++                      for (var i = 0; i < finds.length; i++)
++                              if (orders[finds[i].toString().charAt(0)] == -1)
++                                      orders[finds[i].toString().charAt(0)] = i + 1;
++
++              return orders;
++      },
++
++      //########################################################################
++      // generate and inject html for timepicker into ui datepicker
++      //########################################################################
++      _injectTimePicker: function() {
++              var $dp = this.inst.dpDiv,
++                      o = this._defaults,
++                      tp_inst = this,
++                      // Added by Peter Medeiros:
++                      // - Figure out what the hour/minute/second max should be based on the step values.
++                      // - Example: if stepMinute is 15, then minMax is 45.
++                      hourMax = (o.hourMax - (o.hourMax % o.stepHour)).toFixed(0),
++                      minMax  = (o.minuteMax - (o.minuteMax % o.stepMinute)).toFixed(0),
++                      secMax  = (o.secondMax - (o.secondMax % o.stepSecond)).toFixed(0),
++                      dp_id = this.inst.id.toString().replace(/([^A-Za-z0-9_])/g, '');
++
++              // Prevent displaying twice
++              //if ($dp.find("div#ui-timepicker-div-"+ dp_id).length === 0) {
++              if ($dp.find("div#ui-timepicker-div-"+ dp_id).length === 0 && o.showTimepicker) {
++                      var noDisplay = ' style="display:none;"',
++                              html =  '<div class="ui-timepicker-div" id="ui-timepicker-div-' + dp_id + '"><dl>' +
++                                              '<dt class="ui_tpicker_time_label" id="ui_tpicker_time_label_' + dp_id + '"' +
++                                              ((o.showTime) ? '' : noDisplay) + '>' + o.timeText + '</dt>' +
++                                              '<dd class="ui_tpicker_time" id="ui_tpicker_time_' + dp_id + '"' +
++                                              ((o.showTime) ? '' : noDisplay) + '></dd>' +
++                                              '<dt class="ui_tpicker_hour_label" id="ui_tpicker_hour_label_' + dp_id + '"' +
++                                              ((o.showHour) ? '' : noDisplay) + '>' + o.hourText + '</dt>',
++                              hourGridSize = 0,
++                              minuteGridSize = 0,
++                              secondGridSize = 0,
++                              size;
++
++                      if (o.showHour && o.hourGrid > 0) {
++                              html += '<dd class="ui_tpicker_hour">' +
++                                              '<div id="ui_tpicker_hour_' + dp_id + '"' + ((o.showHour)   ? '' : noDisplay) + '></div>' +
++                                              '<div style="padding-left: 1px"><table class="ui-tpicker-grid-label"><tr>';
++
++                              for (var h = o.hourMin; h <= hourMax; h += o.hourGrid) {
++                                      hourGridSize++;
++                                      var tmph = (o.ampm && h > 12) ? h-12 : h;
++                                      if (tmph < 10) tmph = '0' + tmph;
++                                      if (o.ampm) {
++                                              if (h == 0) tmph = 12 +'a';
++                                              else if (h < 12) tmph += 'a';
++                                              else tmph += 'p';
++                                      }
++                                      html += '<td>' + tmph + '</td>';
++                              }
++
++                              html += '</tr></table></div>' +
++                                              '</dd>';
++                      } else html += '<dd class="ui_tpicker_hour" id="ui_tpicker_hour_' + dp_id + '"' +
++                                                      ((o.showHour) ? '' : noDisplay) + '></dd>';
++
++                      html += '<dt class="ui_tpicker_minute_label" id="ui_tpicker_minute_label_' + dp_id + '"' +
++                                      ((o.showMinute) ? '' : noDisplay) + '>' + o.minuteText + '</dt>';
++
++                      if (o.showMinute && o.minuteGrid > 0) {
++                              html += '<dd class="ui_tpicker_minute ui_tpicker_minute_' + o.minuteGrid + '">' +
++                                              '<div id="ui_tpicker_minute_' + dp_id + '"' +
++                                              ((o.showMinute) ? '' : noDisplay) + '></div>' +
++                                              '<div style="padding-left: 1px"><table class="ui-tpicker-grid-label"><tr>';
++
++                              for (var m = o.minuteMin; m <= minMax; m += o.minuteGrid) {
++                                      minuteGridSize++;
++                                      html += '<td>' + ((m < 10) ? '0' : '') + m + '</td>';
++                              }
++
++                              html += '</tr></table></div>' +
++                                              '</dd>';
++                      } else html += '<dd class="ui_tpicker_minute" id="ui_tpicker_minute_' + dp_id + '"' +
++                                                      ((o.showMinute) ? '' : noDisplay) + '></dd>';
++
++                      html += '<dt class="ui_tpicker_second_label" id="ui_tpicker_second_label_' + dp_id + '"' +
++                                      ((o.showSecond) ? '' : noDisplay) + '>' + o.secondText + '</dt>';
++
++                      if (o.showSecond && o.secondGrid > 0) {
++                              html += '<dd class="ui_tpicker_second ui_tpicker_second_' + o.secondGrid + '">' +
++                                              '<div id="ui_tpicker_second_' + dp_id + '"' +
++                                              ((o.showSecond) ? '' : noDisplay) + '></div>' +
++                                              '<div style="padding-left: 1px"><table><tr>';
++
++                              for (var s = o.secondMin; s <= secMax; s += o.secondGrid) {
++                                      secondGridSize++;
++                                      html += '<td>' + ((s < 10) ? '0' : '') + s + '</td>';
++                              }
++
++                              html += '</tr></table></div>' +
++                                              '</dd>';
++                      } else html += '<dd class="ui_tpicker_second" id="ui_tpicker_second_' + dp_id + '"'     +
++                                                      ((o.showSecond) ? '' : noDisplay) + '></dd>';
++
++                      html += '<dt class="ui_tpicker_timezone_label" id="ui_tpicker_timezone_label_' + dp_id + '"' +
++                                      ((o.showTimezone) ? '' : noDisplay) + '>' + o.timezoneText + '</dt>';
++                      html += '<dd class="ui_tpicker_timezone" id="ui_tpicker_timezone_' + dp_id + '"'        +
++                                                      ((o.showTimezone) ? '' : noDisplay) + '></dd>';
++
++                      html += '</dl></div>';
++                      $tp = $(html);
++
++                              // if we only want time picker...
++                      if (o.timeOnly === true) {
++                              $tp.prepend(
++                                      '<div class="ui-widget-header ui-helper-clearfix ui-corner-all">' +
++                                              '<div class="ui-datepicker-title">' + o.timeOnlyTitle + '</div>' +
++                                      '</div>');
++                              $dp.find('.ui-datepicker-header, .ui-datepicker-calendar').hide();
++                      }
++
++                      this.hour_slider = $tp.find('#ui_tpicker_hour_'+ dp_id).slider({
++                              orientation: "horizontal",
++                              value: this.hour,
++                              min: o.hourMin,
++                              max: hourMax,
++                              step: o.stepHour,
++                              slide: function(event, ui) {
++                                      tp_inst.hour_slider.slider( "option", "value", ui.value);
++                                      tp_inst._onTimeChange();
++                              }
++                      });
++
++                      // Updated by Peter Medeiros:
++                      // - Pass in Event and UI instance into slide function
++                      this.minute_slider = $tp.find('#ui_tpicker_minute_'+ dp_id).slider({
++                              orientation: "horizontal",
++                              value: this.minute,
++                              min: o.minuteMin,
++                              max: minMax,
++                              step: o.stepMinute,
++                              slide: function(event, ui) {
++                                      // update the global minute slider instance value with the current slider value
++                                      tp_inst.minute_slider.slider( "option", "value", ui.value);
++                                      tp_inst._onTimeChange();
++                              }
++                      });
++
++                      this.second_slider = $tp.find('#ui_tpicker_second_'+ dp_id).slider({
++                              orientation: "horizontal",
++                              value: this.second,
++                              min: o.secondMin,
++                              max: secMax,
++                              step: o.stepSecond,
++                              slide: function(event, ui) {
++                                      tp_inst.second_slider.slider( "option", "value", ui.value);
++                                      tp_inst._onTimeChange();
++                              }
++                      });
++
++
++                      this.timezone_select = $tp.find('#ui_tpicker_timezone_'+ dp_id).append('<select></select>').find("select");
++                      $.fn.append.apply(this.timezone_select,
++                              $.map(o.timezoneList, function(val, idx) {
++                                      return $("<option />")
++                                              .val(typeof val == "object" ? val.value : val)
++                                              .text(typeof val == "object" ? val.label : val);
++                              })
++                      );
++                      this.timezone_select.val((typeof this.timezone != "undefined" && this.timezone != null && this.timezone != "") ? this.timezone : o.timezone);
++                      this.timezone_select.change(function() {
++                              tp_inst._onTimeChange();
++                      });
++
++                      // Add grid functionality
++                      if (o.showHour && o.hourGrid > 0) {
++                              size = 100 * hourGridSize * o.hourGrid / (hourMax - o.hourMin);
++
++                              $tp.find(".ui_tpicker_hour table").css({
++                                      width: size + "%",
++                                      marginLeft: (size / (-2 * hourGridSize)) + "%",
++                                      borderCollapse: 'collapse'
++                              }).find("td").each( function(index) {
++                                      $(this).click(function() {
++                                              var h = $(this).html();
++                                              if(o.ampm)      {
++                                                      var ap = h.substring(2).toLowerCase(),
++                                                              aph = parseInt(h.substring(0,2), 10);
++                                                      if (ap == 'a') {
++                                                              if (aph == 12) h = 0;
++                                                              else h = aph;
++                                                      } else if (aph == 12) h = 12;
++                                                      else h = aph + 12;
++                                              }
++                                              tp_inst.hour_slider.slider("option", "value", h);
++                                              tp_inst._onTimeChange();
++                                              tp_inst._onSelectHandler();
++                                      }).css({
++                                              cursor: 'pointer',
++                                              width: (100 / hourGridSize) + '%',
++                                              textAlign: 'center',
++                                              overflow: 'hidden'
++                                      });
++                              });
++                      }
++
++                      if (o.showMinute && o.minuteGrid > 0) {
++                              size = 100 * minuteGridSize * o.minuteGrid / (minMax - o.minuteMin);
++                              $tp.find(".ui_tpicker_minute table").css({
++                                      width: size + "%",
++                                      marginLeft: (size / (-2 * minuteGridSize)) + "%",
++                                      borderCollapse: 'collapse'
++                              }).find("td").each(function(index) {
++                                      $(this).click(function() {
++                                              tp_inst.minute_slider.slider("option", "value", $(this).html());
++                                              tp_inst._onTimeChange();
++                                              tp_inst._onSelectHandler();
++                                      }).css({
++                                              cursor: 'pointer',
++                                              width: (100 / minuteGridSize) + '%',
++                                              textAlign: 'center',
++                                              overflow: 'hidden'
++                                      });
++                              });
++                      }
++
++                      if (o.showSecond && o.secondGrid > 0) {
++                              $tp.find(".ui_tpicker_second table").css({
++                                      width: size + "%",
++                                      marginLeft: (size / (-2 * secondGridSize)) + "%",
++                                      borderCollapse: 'collapse'
++                              }).find("td").each(function(index) {
++                                      $(this).click(function() {
++                                              tp_inst.second_slider.slider("option", "value", $(this).html());
++                                              tp_inst._onTimeChange();
++                                              tp_inst._onSelectHandler();
++                                      }).css({
++                                              cursor: 'pointer',
++                                              width: (100 / secondGridSize) + '%',
++                                              textAlign: 'center',
++                                              overflow: 'hidden'
++                                      });
++                              });
++                      }
++
++                      var $buttonPanel = $dp.find('.ui-datepicker-buttonpane');
++                      if ($buttonPanel.length) $buttonPanel.before($tp);
++                      else $dp.append($tp);
++
++                      this.$timeObj = $tp.find('#ui_tpicker_time_'+ dp_id);
++
++                      if (this.inst !== null) {
++                              var timeDefined = this.timeDefined;
++                              this._onTimeChange();
++                              this.timeDefined = timeDefined;
++                      }
++
++                      //Emulate datepicker onSelect behavior. Call on slidestop.
++                      var onSelectDelegate = function() {
++                              tp_inst._onSelectHandler();
++                      };
++                      this.hour_slider.bind('slidestop',onSelectDelegate);
++                      this.minute_slider.bind('slidestop',onSelectDelegate);
++                      this.second_slider.bind('slidestop',onSelectDelegate);
++              }
++      },
++
++      //########################################################################
++      // This function tries to limit the ability to go outside the
++      // min/max date range
++      //########################################################################
++      _limitMinMaxDateTime: function(dp_inst, adjustSliders){
++              var o = this._defaults,
++                      dp_date = new Date(dp_inst.selectedYear, dp_inst.selectedMonth, dp_inst.selectedDay);
++
++              if(!this._defaults.showTimepicker) return; // No time so nothing to check here
++
++              if($.datepicker._get(dp_inst, 'minDateTime') !== null && dp_date){
++                      var minDateTime = $.datepicker._get(dp_inst, 'minDateTime'),
++                              minDateTimeDate = new Date(minDateTime.getFullYear(), minDateTime.getMonth(), minDateTime.getDate(), 0, 0, 0, 0);
++
++                      if(this.hourMinOriginal === null || this.minuteMinOriginal === null || this.secondMinOriginal === null){
++                              this.hourMinOriginal = o.hourMin;
++                              this.minuteMinOriginal = o.minuteMin;
++                              this.secondMinOriginal = o.secondMin;
++                      }
++
++                      if(dp_inst.settings.timeOnly || minDateTimeDate.getTime() == dp_date.getTime()) {
++                              this._defaults.hourMin = minDateTime.getHours();
++                              if (this.hour <= this._defaults.hourMin) {
++                                      this.hour = this._defaults.hourMin;
++                                      this._defaults.minuteMin = minDateTime.getMinutes();
++                                      if (this.minute <= this._defaults.minuteMin) {
++                                              this.minute = this._defaults.minuteMin;
++                                              this._defaults.secondMin = minDateTime.getSeconds();
++                                      } else {
++                                              if(this.second < this._defaults.secondMin) this.second = this._defaults.secondMin;
++                                              this._defaults.secondMin = this.secondMinOriginal;
++                                      }
++                              } else {
++                                      this._defaults.minuteMin = this.minuteMinOriginal;
++                                      this._defaults.secondMin = this.secondMinOriginal;
++                              }
++                      }else{
++                              this._defaults.hourMin = this.hourMinOriginal;
++                              this._defaults.minuteMin = this.minuteMinOriginal;
++                              this._defaults.secondMin = this.secondMinOriginal;
++                      }
++              }
++
++              if($.datepicker._get(dp_inst, 'maxDateTime') !== null && dp_date){
++                      var maxDateTime = $.datepicker._get(dp_inst, 'maxDateTime'),
++                              maxDateTimeDate = new Date(maxDateTime.getFullYear(), maxDateTime.getMonth(), maxDateTime.getDate(), 0, 0, 0, 0);
++
++                      if(this.hourMaxOriginal === null || this.minuteMaxOriginal === null || this.secondMaxOriginal === null){
++                              this.hourMaxOriginal = o.hourMax;
++                              this.minuteMaxOriginal = o.minuteMax;
++                              this.secondMaxOriginal = o.secondMax;
++                      }
++
++                      if(dp_inst.settings.timeOnly || maxDateTimeDate.getTime() == dp_date.getTime()){
++                              this._defaults.hourMax = maxDateTime.getHours();
++                              if (this.hour >= this._defaults.hourMax) {
++                                      this.hour = this._defaults.hourMax;
++                                      this._defaults.minuteMax = maxDateTime.getMinutes();
++                                      if (this.minute >= this._defaults.minuteMax) {
++                                              this.minute = this._defaults.minuteMax;
++                                              this._defaults.secondMax = maxDateTime.getSeconds();
++                                      } else {
++                                              if(this.second > this._defaults.secondMax) this.second = this._defaults.secondMax;
++                                              this._defaults.secondMax = this.secondMaxOriginal;
++                                      }
++                              } else {
++                                      this._defaults.minuteMax = this.minuteMaxOriginal;
++                                      this._defaults.secondMax = this.secondMaxOriginal;
++                              }
++                      }else{
++                              this._defaults.hourMax = this.hourMaxOriginal;
++                              this._defaults.minuteMax = this.minuteMaxOriginal;
++                              this._defaults.secondMax = this.secondMaxOriginal;
++                      }
++              }
++
++              if(adjustSliders !== undefined && adjustSliders === true){
++                      var hourMax = (this._defaults.hourMax - (this._defaults.hourMax % this._defaults.stepHour)).toFixed(0),
++                              minMax  = (this._defaults.minuteMax - (this._defaults.minuteMax % this._defaults.stepMinute)).toFixed(0),
++                              secMax  = (this._defaults.secondMax - (this._defaults.secondMax % this._defaults.stepSecond)).toFixed(0);
++
++                      if(this.hour_slider)
++                              this.hour_slider.slider("option", { min: this._defaults.hourMin, max: hourMax }).slider('value', this.hour);
++                      if(this.minute_slider)
++                              this.minute_slider.slider("option", { min: this._defaults.minuteMin, max: minMax }).slider('value', this.minute);
++                      if(this.second_slider)
++                              this.second_slider.slider("option", { min: this._defaults.secondMin, max: secMax }).slider('value', this.second);
++              }
++
++      },
++
++
++      //########################################################################
++      // when a slider moves, set the internal time...
++      // on time change is also called when the time is updated in the text field
++      //########################################################################
++      _onTimeChange: function() {
++              var hour   = (this.hour_slider) ? this.hour_slider.slider('value') : false,
++                      minute = (this.minute_slider) ? this.minute_slider.slider('value') : false,
++                      second = (this.second_slider) ? this.second_slider.slider('value') : false,
++                      timezone = (this.timezone_select) ? this.timezone_select.val() : false;
++
++              if (typeof(hour) == 'object') hour = false;
++              if (typeof(minute) == 'object') minute = false;
++              if (typeof(second) == 'object') second = false;
++              if (typeof(timezone) == 'object') timezone = false;
++
++              if (hour !== false) hour = parseInt(hour,10);
++              if (minute !== false) minute = parseInt(minute,10);
++              if (second !== false) second = parseInt(second,10);
++
++              var ampm = (hour < 12) ? 'AM' : 'PM';
++
++              // If the update was done in the input field, the input field should not be updated.
++              // If the update was done using the sliders, update the input field.
++              var hasChanged = (hour != this.hour || minute != this.minute || second != this.second || (this.ampm.length > 0 && this.ampm != ampm) || timezone != this.timezone);
++
++              if (hasChanged) {
++
++                      if (hour !== false)this.hour = hour;
++                      if (minute !== false) this.minute = minute;
++                      if (second !== false) this.second = second;
++                      if (timezone !== false) this.timezone = timezone;
++
++                      if (!this.inst) this.inst = $.datepicker._getInst(this.$input[0]);
++
++                      this._limitMinMaxDateTime(this.inst, true);
++              }
++              if (this._defaults.ampm) this.ampm = ampm;
++
++              this._formatTime();
++              if (this.$timeObj) this.$timeObj.text(this.formattedTime + this._defaults.timeSuffix);
++              this.timeDefined = true;
++              if (hasChanged) this._updateDateTime();
++      },
++
++      //########################################################################
++      // call custom onSelect.
++      // bind to sliders slidestop, and grid click.
++      //########################################################################
++      _onSelectHandler: function() {
++              var onSelect = this._defaults['onSelect'];
++              var inputEl = this.$input ? this.$input[0] : null;
++              if (onSelect && inputEl) {
++                      onSelect.apply(inputEl, [this.formattedDateTime, this]);
++              }
++      },
++
++      //########################################################################
++      // format the time all pretty...
++      //########################################################################
++      _formatTime: function(time, format, ampm) {
++              if (ampm == undefined) ampm = this._defaults.ampm;
++              time = time || { hour: this.hour, minute: this.minute, second: this.second, ampm: this.ampm, timezone: this.timezone };
++              var tmptime = format || this._defaults.timeFormat.toString();
++
++              if (ampm) {
++                      var hour12 = ((time.ampm == 'AM') ? (time.hour) : (time.hour % 12));
++                      hour12 = (Number(hour12) === 0) ? 12 : hour12;
++                      tmptime = tmptime.toString()
++                              .replace(/hh/g, ((hour12 < 10) ? '0' : '') + hour12)
++                              .replace(/h/g, hour12)
++                              .replace(/mm/g, ((time.minute < 10) ? '0' : '') + time.minute)
++                              .replace(/m/g, time.minute)
++                              .replace(/ss/g, ((time.second < 10) ? '0' : '') + time.second)
++                              .replace(/s/g, time.second)
++                              .replace(/TT/g, time.ampm.toUpperCase())
++                              .replace(/Tt/g, time.ampm.toUpperCase())
++                              .replace(/tT/g, time.ampm.toLowerCase())
++                              .replace(/tt/g, time.ampm.toLowerCase())
++                              .replace(/T/g, time.ampm.charAt(0).toUpperCase())
++                              .replace(/t/g, time.ampm.charAt(0).toLowerCase())
++                              .replace(/z/g, time.timezone);
++              } else {
++                      tmptime = tmptime.toString()
++                              .replace(/hh/g, ((time.hour < 10) ? '0' : '') + time.hour)
++                              .replace(/h/g, time.hour)
++                              .replace(/mm/g, ((time.minute < 10) ? '0' : '') + time.minute)
++                              .replace(/m/g, time.minute)
++                              .replace(/ss/g, ((time.second < 10) ? '0' : '') + time.second)
++                              .replace(/s/g, time.second)
++                              .replace(/z/g, time.timezone);
++                      tmptime = $.trim(tmptime.replace(/t/gi, ''));
++              }
++
++              if (arguments.length) return tmptime;
++              else this.formattedTime = tmptime;
++      },
++
++      //########################################################################
++      // update our input with the new date time..
++      //########################################################################
++      _updateDateTime: function(dp_inst) {
++              dp_inst = this.inst || dp_inst,
++                      dt = new Date(dp_inst.selectedYear, dp_inst.selectedMonth, dp_inst.selectedDay),
++                      dateFmt = $.datepicker._get(dp_inst, 'dateFormat'),
++                      formatCfg = $.datepicker._getFormatConfig(dp_inst),
++                      timeAvailable = dt !== null && this.timeDefined;
++              this.formattedDate = $.datepicker.formatDate(dateFmt, (dt === null ? new Date() : dt), formatCfg);
++              var formattedDateTime = this.formattedDate;
++              if (dp_inst.lastVal !== undefined && (dp_inst.lastVal.length > 0 && this.$input.val().length === 0))
++                      return;
++
++              if (this._defaults.timeOnly === true) {
++                      formattedDateTime = this.formattedTime;
++              } else if (this._defaults.timeOnly !== true && (this._defaults.alwaysSetTime || timeAvailable)) {
++                      formattedDateTime += this._defaults.separator + this.formattedTime + this._defaults.timeSuffix;
++              }
++
++              this.formattedDateTime = formattedDateTime;
++
++              if(!this._defaults.showTimepicker) {
++                      this.$input.val(this.formattedDate);
++              } else if (this.$altInput && this._defaults.altFieldTimeOnly === true) {
++                      this.$altInput.val(this.formattedTime);
++                      this.$input.val(this.formattedDate);
++              } else if(this.$altInput) {
++                      this.$altInput.val(formattedDateTime);
++                      this.$input.val(formattedDateTime);
++              } else {
++                      this.$input.val(formattedDateTime);
++              }
++
++              this.$input.trigger("change");
++      }
++
++});
++
++$.fn.extend({
++      //########################################################################
++      // shorthand just to use timepicker..
++      //########################################################################
++      timepicker: function(o) {
++              o = o || {};
++              var tmp_args = arguments;
++
++              if (typeof o == 'object') tmp_args[0] = $.extend(o, { timeOnly: true });
++
++              return $(this).each(function() {
++                      $.fn.datetimepicker.apply($(this), tmp_args);
++              });
++      },
++
++      //########################################################################
++      // extend timepicker to datepicker
++      //########################################################################
++      datetimepicker: function(o) {
++              o = o || {};
++              var $input = this,
++              tmp_args = arguments;
++
++              if (typeof(o) == 'string'){
++                      if(o == 'getDate')
++                              return $.fn.datepicker.apply($(this[0]), tmp_args);
++                      else
++                              return this.each(function() {
++                                      var $t = $(this);
++                                      $t.datepicker.apply($t, tmp_args);
++                              });
++              }
++              else
++                      return this.each(function() {
++                              var $t = $(this);
++                              $t.datepicker($.timepicker._newInst($t, o)._defaults);
++                      });
++      }
++});
++
++//########################################################################
++// the bad hack :/ override datepicker so it doesnt close on select
++// inspired: http://stackoverflow.com/questions/1252512/jquery-datepicker-prevent-closing-picker-when-clicking-a-date/1762378#1762378
++//########################################################################
++$.datepicker._base_selectDate = $.datepicker._selectDate;
++$.datepicker._selectDate = function (id, dateStr) {
++      var inst = this._getInst($(id)[0]),
++              tp_inst = this._get(inst, 'timepicker');
++
++      if (tp_inst) {
++              tp_inst._limitMinMaxDateTime(inst, true);
++              inst.inline = inst.stay_open = true;
++              //This way the onSelect handler called from calendarpicker get the full dateTime
++              this._base_selectDate(id, dateStr + tp_inst._defaults.separator + tp_inst.formattedTime + tp_inst._defaults.timeSuffix);
++              inst.inline = inst.stay_open = false;
++              this._notifyChange(inst);
++              this._updateDatepicker(inst);
++      }
++      else this._base_selectDate(id, dateStr);
++};
++
++//#############################################################################################
++// second bad hack :/ override datepicker so it triggers an event when changing the input field
++// and does not redraw the datepicker on every selectDate event
++//#############################################################################################
++$.datepicker._base_updateDatepicker = $.datepicker._updateDatepicker;
++$.datepicker._updateDatepicker = function(inst) {
++
++      // don't popup the datepicker if there is another instance already opened
++      var input = inst.input[0];
++      if($.datepicker._curInst &&
++         $.datepicker._curInst != inst &&
++         $.datepicker._datepickerShowing &&
++         $.datepicker._lastInput != input) {
++              return;
++      }
++
++      if (typeof(inst.stay_open) !== 'boolean' || inst.stay_open === false) {
++
++              this._base_updateDatepicker(inst);
++
++              // Reload the time control when changing something in the input text field.
++              var tp_inst = this._get(inst, 'timepicker');
++              if(tp_inst) tp_inst._addTimePicker(inst);
++      }
++};
++
++//#######################################################################################
++// third bad hack :/ override datepicker so it allows spaces and colon in the input field
++//#######################################################################################
++$.datepicker._base_doKeyPress = $.datepicker._doKeyPress;
++$.datepicker._doKeyPress = function(event) {
++      var inst = $.datepicker._getInst(event.target),
++              tp_inst = $.datepicker._get(inst, 'timepicker');
++
++      if (tp_inst) {
++              if ($.datepicker._get(inst, 'constrainInput')) {
++                      var ampm = tp_inst._defaults.ampm,
++                              dateChars = $.datepicker._possibleChars($.datepicker._get(inst, 'dateFormat')),
++                              datetimeChars = tp_inst._defaults.timeFormat.toString()
++                                                              .replace(/[hms]/g, '')
++                                                              .replace(/TT/g, ampm ? 'APM' : '')
++                                                              .replace(/Tt/g, ampm ? 'AaPpMm' : '')
++                                                              .replace(/tT/g, ampm ? 'AaPpMm' : '')
++                                                              .replace(/T/g, ampm ? 'AP' : '')
++                                                              .replace(/tt/g, ampm ? 'apm' : '')
++                                                              .replace(/t/g, ampm ? 'ap' : '') +
++                                                              " " +
++                                                              tp_inst._defaults.separator +
++                                                              tp_inst._defaults.timeSuffix +
++                                                              (tp_inst._defaults.showTimezone ? tp_inst._defaults.timezoneList.join('') : '') +
++                                                              dateChars,
++                              chr = String.fromCharCode(event.charCode === undefined ? event.keyCode : event.charCode);
++                      return event.ctrlKey || (chr < ' ' || !dateChars || datetimeChars.indexOf(chr) > -1);
++              }
++      }
++
++      return $.datepicker._base_doKeyPress(event);
++};
++
++//#######################################################################################
++// Override key up event to sync manual input changes.
++//#######################################################################################
++$.datepicker._base_doKeyUp = $.datepicker._doKeyUp;
++$.datepicker._doKeyUp = function (event) {
++      var inst = $.datepicker._getInst(event.target),
++              tp_inst = $.datepicker._get(inst, 'timepicker');
++
++      if (tp_inst) {
++              if (tp_inst._defaults.timeOnly && (inst.input.val() != inst.lastVal)) {
++                      try {
++                              $.datepicker._updateDatepicker(inst);
++                      }
++                      catch (err) {
++                              $.datepicker.log(err);
++                      }
++              }
++      }
++
++      return $.datepicker._base_doKeyUp(event);
++};
++
++//#######################################################################################
++// override "Today" button to also grab the time.
++//#######################################################################################
++$.datepicker._base_gotoToday = $.datepicker._gotoToday;
++$.datepicker._gotoToday = function(id) {
++      this._base_gotoToday(id);
++      this._setTime(this._getInst($(id)[0]), new Date());
++};
++
++//#######################################################################################
++// Disable & enable the Time in the datetimepicker
++//#######################################################################################
++$.datepicker._disableTimepickerDatepicker = function(target, date, withDate) {
++      var inst = this._getInst(target),
++      tp_inst = this._get(inst, 'timepicker');
++      $(target).datepicker('getDate'); // Init selected[Year|Month|Day]
++      if (tp_inst) {
++              tp_inst._defaults.showTimepicker = false;
++              tp_inst._updateDateTime(inst);
++      }
++};
++
++$.datepicker._enableTimepickerDatepicker = function(target, date, withDate) {
++      var inst = this._getInst(target),
++      tp_inst = this._get(inst, 'timepicker');
++      $(target).datepicker('getDate'); // Init selected[Year|Month|Day]
++      if (tp_inst) {
++              tp_inst._defaults.showTimepicker = true;
++              tp_inst._addTimePicker(inst); // Could be disabled on page load
++              tp_inst._updateDateTime(inst);
++      }
++};
++
++//#######################################################################################
++// Create our own set time function
++//#######################################################################################
++$.datepicker._setTime = function(inst, date) {
++      var tp_inst = this._get(inst, 'timepicker');
++      if (tp_inst) {
++              var defaults = tp_inst._defaults,
++                      // calling _setTime with no date sets time to defaults
++                      hour = date ? date.getHours() : defaults.hour,
++                      minute = date ? date.getMinutes() : defaults.minute,
++                      second = date ? date.getSeconds() : defaults.second;
++
++              //check if within min/max times..
++              if ((hour < defaults.hourMin || hour > defaults.hourMax) || (minute < defaults.minuteMin || minute > defaults.minuteMax) || (second < defaults.secondMin || second > defaults.secondMax)) {
++                      hour = defaults.hourMin;
++                      minute = defaults.minuteMin;
++                      second = defaults.secondMin;
++              }
++
++              tp_inst.hour = hour;
++              tp_inst.minute = minute;
++              tp_inst.second = second;
++
++              if (tp_inst.hour_slider) tp_inst.hour_slider.slider('value', hour);
++              if (tp_inst.minute_slider) tp_inst.minute_slider.slider('value', minute);
++              if (tp_inst.second_slider) tp_inst.second_slider.slider('value', second);
++
++              tp_inst._onTimeChange();
++              tp_inst._updateDateTime(inst);
++      }
++};
++
++//#######################################################################################
++// Create new public method to set only time, callable as $().datepicker('setTime', date)
++//#######################################################################################
++$.datepicker._setTimeDatepicker = function(target, date, withDate) {
++      var inst = this._getInst(target),
++              tp_inst = this._get(inst, 'timepicker');
++
++      if (tp_inst) {
++              this._setDateFromField(inst);
++              var tp_date;
++              if (date) {
++                      if (typeof date == "string") {
++                              tp_inst._parseTime(date, withDate);
++                              tp_date = new Date();
++                              tp_date.setHours(tp_inst.hour, tp_inst.minute, tp_inst.second);
++                      }
++                      else tp_date = new Date(date.getTime());
++                      if (tp_date.toString() == 'Invalid Date') tp_date = undefined;
++                      this._setTime(inst, tp_date);
++              }
++      }
++
++};
++
++//#######################################################################################
++// override setDate() to allow setting time too within Date object
++//#######################################################################################
++$.datepicker._base_setDateDatepicker = $.datepicker._setDateDatepicker;
++$.datepicker._setDateDatepicker = function(target, date) {
++      var inst = this._getInst(target),
++      tp_date = (date instanceof Date) ? new Date(date.getTime()) : date;
++
++      this._updateDatepicker(inst);
++      this._base_setDateDatepicker.apply(this, arguments);
++      this._setTimeDatepicker(target, tp_date, true);
++};
++
++//#######################################################################################
++// override getDate() to allow getting time too within Date object
++//#######################################################################################
++$.datepicker._base_getDateDatepicker = $.datepicker._getDateDatepicker;
++$.datepicker._getDateDatepicker = function(target, noDefault) {
++      var inst = this._getInst(target),
++              tp_inst = this._get(inst, 'timepicker');
++
++      if (tp_inst) {
++              this._setDateFromField(inst, noDefault);
++              var date = this._getDate(inst);
++              if (date && tp_inst._parseTime($(target).val(), tp_inst.timeOnly)) date.setHours(tp_inst.hour, tp_inst.minute, tp_inst.second);
++              return date;
++      }
++      return this._base_getDateDatepicker(target, noDefault);
++};
++
++//#######################################################################################
++// override parseDate() because UI 1.8.14 throws an error about "Extra characters"
++// An option in datapicker to ignore extra format characters would be nicer.
++//#######################################################################################
++$.datepicker._base_parseDate = $.datepicker.parseDate;
++$.datepicker.parseDate = function(format, value, settings) {
++      var date;
++      try {
++              date = this._base_parseDate(format, value, settings);
++      } catch (err) {
++              // Hack!  The error message ends with a colon, a space, and
++              // the "extra" characters.  We rely on that instead of
++              // attempting to perfectly reproduce the parsing algorithm.
++              date = this._base_parseDate(format, value.substring(0,value.length-(err.length-err.indexOf(':')-2)), settings);
++      }
++      return date;
++};
++
++//#######################################################################################
++// override options setter to add time to maxDate(Time) and minDate(Time)
++//#######################################################################################
++$.datepicker._base_optionDatepicker = $.datepicker._optionDatepicker;
++$.datepicker._optionDatepicker = function(target, name, value) {
++      this._base_optionDatepicker(target, name, value);
++      var inst = this._getInst(target),
++              tp_inst = this._get(inst, 'timepicker');
++      if (tp_inst) {
++              //Set minimum and maximum date values if we have timepicker
++              if(name==='minDate') {
++              if(tp_inst._defaults.minDate !== undefined && tp_inst._defaults.minDate instanceof Date)
++                              tp_inst._defaults.minDateTime = new Date(value);
++                      if(tp_inst._defaults.minDateTime !== undefined && tp_inst._defaults.minDateTime instanceof Date)
++                              tp_inst._defaults.minDate = new Date(tp_inst._defaults.minDateTime.getTime());
++                      tp_inst._limitMinMaxDateTime(inst,true);
++              }
++              if(name==='maxDate') {
++                      if(tp_inst._defaults.maxDate !== undefined && tp_inst._defaults.maxDate instanceof Date)
++                              tp_inst._defaults.maxDateTime = new Date(value);
++                      if(tp_inst._defaults.maxDateTime !== undefined && tp_inst._defaults.maxDateTime instanceof Date)
++                              tp_inst._defaults.maxDate = new Date(tp_inst._defaults.maxDateTime.getTime());
++                      tp_inst._limitMinMaxDateTime(inst,true);
++              }
++      }
++};
++
++//#######################################################################################
++// jQuery extend now ignores nulls!
++//#######################################################################################
++function extendRemove(target, props) {
++      $.extend(target, props);
++      for (var name in props)
++              if (props[name] === null || props[name] === undefined)
++                      target[name] = props[name];
++      return target;
++}
++
++$.timepicker = new Timepicker(); // singleton instance
++$.timepicker.version = "0.9.6";
++
++})(jQuery);
+\ No newline at end of file
+diff -up cacti-0.8.8a/include/js/jquery/jquery-ui.js.legal cacti-0.8.8a/include/js/jquery/jquery-ui.js
+--- cacti-0.8.8a/include/js/jquery/jquery-ui.js.legal  2013-01-04 15:44:38.043416079 -0500
++++ cacti-0.8.8a/include/js/jquery/jquery-ui.js        2013-01-04 15:43:12.646377987 -0500
+@@ -0,0 +1,356 @@
++/*!
++ * jQuery UI 1.8.18
++ *
++ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
++ * Dual licensed under the MIT or GPL Version 2 licenses.
++ * http://jquery.org/license
++ *
++ * http://docs.jquery.com/UI
++ */(function(a,b){function d(b){return!a(b).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}function c(b,c){var e=b.nodeName.toLowerCase();if("area"===e){var f=b.parentNode,g=f.name,h;if(!b.href||!g||f.nodeName.toLowerCase()!=="map")return!1;h=a("img[usemap=#"+g+"]")[0];return!!h&&d(h)}return(/input|select|textarea|button|object/.test(e)?!b.disabled:"a"==e?b.href||c:c)&&d(b)}a.ui=a.ui||{};a.ui.version||(a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}}),a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(b,c){return typeof b=="number"?this.each(function(){var d=this;setTimeout(function(){a(d).focus(),c&&c.call(d)},b)}):this._focus.apply(this,arguments)},scrollParent:function(){var b;a.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?b=this.parents().filter(function(){return/(relative|absolute|fixed)/.test(a.curCSS(this,"position",1))&&/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0):b=this.parents().filter(function(){return/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!b.length?a(document):b},zIndex:function(c){if(c!==b)return this.css("zIndex",c);if(this.length){var d=a(this[0]),e,f;while(d.length&&d[0]!==document){e=d.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){f=parseInt(d.css("zIndex"),10);if(!isNaN(f)&&f!==0)return f}d=d.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),a.each(["Width","Height"],function(c,d){function h(b,c,d,f){a.each(e,function(){c-=parseFloat(a.curCSS(b,"padding"+this,!0))||0,d&&(c-=parseFloat(a.curCSS(b,"border"+this+"Width",!0))||0),f&&(c-=parseFloat(a.curCSS(b,"margin"+this,!0))||0)});return c}var e=d==="Width"?["Left","Right"]:["Top","Bottom"],f=d.toLowerCase(),g={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};a.fn["inner"+d]=function(c){if(c===b)return g["inner"+d].call(this);return this.each(function(){a(this).css(f,h(this,c)+"px")})},a.fn["outer"+d]=function(b,c){if(typeof b!="number")return g["outer"+d].call(this,b);return this.each(function(){a(this).css(f,h(this,b,!0,c)+"px")})}}),a.extend(a.expr[":"],{data:function(b,c,d){return!!a.data(b,d[3])},focusable:function(b){return c(b,!isNaN(a.attr(b,"tabindex")))},tabbable:function(b){var d=a.attr(b,"tabindex"),e=isNaN(d);return(e||d>=0)&&c(b,!e)}}),a(function(){var b=document.body,c=b.appendChild(c=document.createElement("div"));c.offsetHeight,a.extend(c.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0}),a.support.minHeight=c.offsetHeight===100,a.support.selectstart="onselectstart"in c,b.removeChild(c).style.display="none"}),a.extend(a.ui,{plugin:{add:function(b,c,d){var e=a.ui[b].prototype;for(var f in d)e.plugins[f]=e.plugins[f]||[],e.plugins[f].push([c,d[f]])},call:function(a,b,c){var d=a.plugins[b];if(!!d&&!!a.element[0].parentNode)for(var e=0;e<d.length;e++)a.options[d[e][0]]&&d[e][1].apply(a.element,c)}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(b,c){if(a(b).css("overflow")==="hidden")return!1;var d=c&&c==="left"?"scrollLeft":"scrollTop",e=!1;if(b[d]>0)return!0;b[d]=1,e=b[d]>0,b[d]=0;return e},isOverAxis:function(a,b,c){return a>b&&a<b+c},isOver:function(b,c,d,e,f,g){return a.ui.isOverAxis(b,d,f)&&a.ui.isOverAxis(c,e,g)}}))})(jQuery);/*!
++ * jQuery UI Widget 1.8.18
++ *
++ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
++ * Dual licensed under the MIT or GPL Version 2 licenses.
++ * http://jquery.org/license
++ *
++ * http://docs.jquery.com/UI/Widget
++ */(function(a,b){if(a.cleanData){var c=a.cleanData;a.cleanData=function(b){for(var d=0,e;(e=b[d])!=null;d++)try{a(e).triggerHandler("remove")}catch(f){}c(b)}}else{var d=a.fn.remove;a.fn.remove=function(b,c){return this.each(function(){c||(!b||a.filter(b,[this]).length)&&a("*",this).add([this]).each(function(){try{a(this).triggerHandler("remove")}catch(b){}});return d.call(a(this),b,c)})}}a.widget=function(b,c,d){var e=b.split(".")[0],f;b=b.split(".")[1],f=e+"-"+b,d||(d=c,c=a.Widget),a.expr[":"][f]=function(c){return!!a.data(c,b)},a[e]=a[e]||{},a[e][b]=function(a,b){arguments.length&&this._createWidget(a,b)};var g=new c;g.options=a.extend(!0,{},g.options),a[e][b].prototype=a.extend(!0,g,{namespace:e,widgetName:b,widgetEventPrefix:a[e][b].prototype.widgetEventPrefix||b,widgetBaseClass:f},d),a.widget.bridge(b,a[e][b])},a.widget.bridge=function(c,d){a.fn[c]=function(e){var f=typeof e=="string",g=Array.prototype.slice.call(arguments,1),h=this;e=!f&&g.length?a.extend.apply(null,[!0,e].concat(g)):e;if(f&&e.charAt(0)==="_")return h;f?this.each(function(){var d=a.data(this,c),f=d&&a.isFunction(d[e])?d[e].apply(d,g):d;if(f!==d&&f!==b){h=f;return!1}}):this.each(function(){var b=a.data(this,c);b?b.option(e||{})._init():a.data(this,c,new d(e,this))});return h}},a.Widget=function(a,b){arguments.length&&this._createWidget(a,b)},a.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:!1},_createWidget:function(b,c){a.data(c,this.widgetName,this),this.element=a(c),this.options=a.extend(!0,{},this.options,this._getCreateOptions(),b);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()}),this._create(),this._trigger("create"),this._init()},_getCreateOptions:function(){return a.metadata&&a.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName),this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled "+"ui-state-disabled")},widget:function(){return this.element},option:function(c,d){var e=c;if(arguments.length===0)return a.extend({},this.options);if(typeof c=="string"){if(d===b)return this.options[c];e={},e[c]=d}this._setOptions(e);return this},_setOptions:function(b){var c=this;a.each(b,function(a,b){c._setOption(a,b)});return this},_setOption:function(a,b){this.options[a]=b,a==="disabled"&&this.widget()[b?"addClass":"removeClass"](this.widgetBaseClass+"-disabled"+" "+"ui-state-disabled").attr("aria-disabled",b);return this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_trigger:function(b,c,d){var e,f,g=this.options[b];d=d||{},c=a.Event(c),c.type=(b===this.widgetEventPrefix?b:this.widgetEventPrefix+b).toLowerCase(),c.target=this.element[0],f=c.originalEvent;if(f)for(e in f)e in c||(c[e]=f[e]);this.element.trigger(c,d);return!(a.isFunction(g)&&g.call(this.element[0],c,d)===!1||c.isDefaultPrevented())}}})(jQuery);/*!
++ * jQuery UI Mouse 1.8.18
++ *
++ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
++ * Dual licensed under the MIT or GPL Version 2 licenses.
++ * http://jquery.org/license
++ *
++ * http://docs.jquery.com/UI/Mouse
++ *
++ * Depends:
++ *    jquery.ui.widget.js
++ */(function(a,b){var c=!1;a(document).mouseup(function(a){c=!1}),a.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var b=this;this.element.bind("mousedown."+this.widgetName,function(a){return b._mouseDown(a)}).bind("click."+this.widgetName,function(c){if(!0===a.data(c.target,b.widgetName+".preventClickEvent")){a.removeData(c.target,b.widgetName+".preventClickEvent"),c.stopImmediatePropagation();return!1}}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(b){if(!c){this._mouseStarted&&this._mouseUp(b),this._mouseDownEvent=b;var d=this,e=b.which==1,f=typeof this.options.cancel=="string"&&b.target.nodeName?a(b.target).closest(this.options.cancel).length:!1;if(!e||f||!this._mouseCapture(b))return!0;this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){d.mouseDelayMet=!0},this.options.delay));if(this._mouseDistanceMet(b)&&this._mouseDelayMet(b)){this._mouseStarted=this._mouseStart(b)!==!1;if(!this._mouseStarted){b.preventDefault();return!0}}!0===a.data(b.target,this.widgetName+".preventClickEvent")&&a.removeData(b.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(a){return d._mouseMove(a)},this._mouseUpDelegate=function(a){return d._mouseUp(a)},a(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),b.preventDefault(),c=!0;return!0}},_mouseMove:function(b){if(a.browser.msie&&!(document.documentMode>=9)&&!b.button)return this._mouseUp(b);if(this._mouseStarted){this._mouseDrag(b);return b.preventDefault()}this._mouseDistanceMet(b)&&this._mouseDelayMet(b)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,b)!==!1,this._mouseStarted?this._mouseDrag(b):this._mouseUp(b));return!this._mouseStarted},_mouseUp:function(b){a(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,b.target==this._mouseDownEvent.target&&a.data(b.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(b));return!1},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(a){return this.mouseDelayMet},_mouseStart:function(a){},_mouseDrag:function(a){},_mouseStop:function(a){},_mouseCapture:function(a){return!0}})})(jQuery);/*
++ * jQuery UI Position 1.8.18
++ *
++ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
++ * Dual licensed under the MIT or GPL Version 2 licenses.
++ * http://jquery.org/license
++ *
++ * http://docs.jquery.com/UI/Position
++ */(function(a,b){a.ui=a.ui||{};var c=/left|center|right/,d=/top|center|bottom/,e="center",f={},g=a.fn.position,h=a.fn.offset;a.fn.position=function(b){if(!b||!b.of)return g.apply(this,arguments);b=a.extend({},b);var h=a(b.of),i=h[0],j=(b.collision||"flip").split(" "),k=b.offset?b.offset.split(" "):[0,0],l,m,n;i.nodeType===9?(l=h.width(),m=h.height(),n={top:0,left:0}):i.setTimeout?(l=h.width(),m=h.height(),n={top:h.scrollTop(),left:h.scrollLeft()}):i.preventDefault?(b.at="left top",l=m=0,n={top:b.of.pageY,left:b.of.pageX}):(l=h.outerWidth(),m=h.outerHeight(),n=h.offset()),a.each(["my","at"],function(){var a=(b[this]||"").split(" ");a.length===1&&(a=c.test(a[0])?a.concat([e]):d.test(a[0])?[e].concat(a):[e,e]),a[0]=c.test(a[0])?a[0]:e,a[1]=d.test(a[1])?a[1]:e,b[this]=a}),j.length===1&&(j[1]=j[0]),k[0]=parseInt(k[0],10)||0,k.length===1&&(k[1]=k[0]),k[1]=parseInt(k[1],10)||0,b.at[0]==="right"?n.left+=l:b.at[0]===e&&(n.left+=l/2),b.at[1]==="bottom"?n.top+=m:b.at[1]===e&&(n.top+=m/2),n.left+=k[0],n.top+=k[1];return this.each(function(){var c=a(this),d=c.outerWidth(),g=c.outerHeight(),h=parseInt(a.curCSS(this,"marginLeft",!0))||0,i=parseInt(a.curCSS(this,"marginTop",!0))||0,o=d+h+(parseInt(a.curCSS(this,"marginRight",!0))||0),p=g+i+(parseInt(a.curCSS(this,"marginBottom",!0))||0),q=a.extend({},n),r;b.my[0]==="right"?q.left-=d:b.my[0]===e&&(q.left-=d/2),b.my[1]==="bottom"?q.top-=g:b.my[1]===e&&(q.top-=g/2),f.fractions||(q.left=Math.round(q.left),q.top=Math.round(q.top)),r={left:q.left-h,top:q.top-i},a.each(["left","top"],function(c,e){a.ui.position[j[c]]&&a.ui.position[j[c]][e](q,{targetWidth:l,targetHeight:m,elemWidth:d,elemHeight:g,collisionPosition:r,collisionWidth:o,collisionHeight:p,offset:k,my:b.my,at:b.at})}),a.fn.bgiframe&&c.bgiframe(),c.offset(a.extend(q,{using:b.using}))})},a.ui.position={fit:{left:function(b,c){var d=a(window),e=c.collisionPosition.left+c.collisionWidth-d.width()-d.scrollLeft();b.left=e>0?b.left-e:Math.max(b.left-c.collisionPosition.left,b.left)},top:function(b,c){var d=a(window),e=c.collisionPosition.top+c.collisionHeight-d.height()-d.scrollTop();b.top=e>0?b.top-e:Math.max(b.top-c.collisionPosition.top,b.top)}},flip:{left:function(b,c){if(c.at[0]!==e){var d=a(window),f=c.collisionPosition.left+c.collisionWidth-d.width()-d.scrollLeft(),g=c.my[0]==="left"?-c.elemWidth:c.my[0]==="right"?c.elemWidth:0,h=c.at[0]==="left"?c.targetWidth:-c.targetWidth,i=-2*c.offset[0];b.left+=c.collisionPosition.left<0?g+h+i:f>0?g+h+i:0}},top:function(b,c){if(c.at[1]!==e){var d=a(window),f=c.collisionPosition.top+c.collisionHeight-d.height()-d.scrollTop(),g=c.my[1]==="top"?-c.elemHeight:c.my[1]==="bottom"?c.elemHeight:0,h=c.at[1]==="top"?c.targetHeight:-c.targetHeight,i=-2*c.offset[1];b.top+=c.collisionPosition.top<0?g+h+i:f>0?g+h+i:0}}}},a.offset.setOffset||(a.offset.setOffset=function(b,c){/static/.test(a.curCSS(b,"position"))&&(b.style.position="relative");var d=a(b),e=d.offset(),f=parseInt(a.curCSS(b,"top",!0),10)||0,g=parseInt(a.curCSS(b,"left",!0),10)||0,h={top:c.top-e.top+f,left:c.left-e.left+g};"using"in c?c.using.call(b,h):d.css(h)},a.fn.offset=function(b){var c=this[0];if(!c||!c.ownerDocument)return null;if(b)return this.each(function(){a.offset.setOffset(this,b)});return h.call(this)}),function(){var b=document.getElementsByTagName("body")[0],c=document.createElement("div"),d,e,g,h,i;d=document.createElement(b?"div":"body"),g={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},b&&a.extend(g,{position:"absolute",left:"-1000px",top:"-1000px"});for(var j in g)d.style[j]=g[j];d.appendChild(c),e=b||document.documentElement,e.insertBefore(d,e.firstChild),c.style.cssText="position: absolute; left: 10.7432222px; top: 10.432325px; height: 30px; width: 201px;",h=a(c).offset(function(a,b){return b}).offset(),d.innerHTML="",e.removeChild(d),i=h.top+h.left+(b?2e3:0),f.fractions=i>21&&i<22}()})(jQuery);/*
++ * jQuery UI Draggable 1.8.18
++ *
++ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
++ * Dual licensed under the MIT or GPL Version 2 licenses.
++ * http://jquery.org/license
++ *
++ * http://docs.jquery.com/UI/Draggables
++ *
++ * Depends:
++ *    jquery.ui.core.js
++ *    jquery.ui.mouse.js
++ *    jquery.ui.widget.js
++ */(function(a,b){a.widget("ui.draggable",a.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1},_create:function(){this.options.helper=="original"&&!/^(?:r|a|f)/.test(this.element.css("position"))&&(this.element[0].style.position="relative"),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._mouseInit()},destroy:function(){if(!!this.element.data("draggable")){this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._mouseDestroy();return this}},_mouseCapture:function(b){var c=this.options;if(this.helper||c.disabled||a(b.target).is(".ui-resizable-handle"))return!1;this.handle=this._getHandle(b);if(!this.handle)return!1;c.iframeFix&&a(c.iframeFix===!0?"iframe":c.iframeFix).each(function(){a('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1e3}).css(a(this).offset()).appendTo("body")});return!0},_mouseStart:function(b){var c=this.options;this.helper=this._createHelper(b),this._cacheHelperProportions(),a.ui.ddmanager&&(a.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(),this.offset=this.positionAbs=this.element.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this.position=this._generatePosition(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,c.cursorAt&&this._adjustOffsetFromHelper(c.cursorAt),c.containment&&this._setContainment();if(this._trigger("start",b)===!1){this._clear();return!1}this._cacheHelperProportions(),a.ui.ddmanager&&!c.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this.helper.addClass("ui-draggable-dragging"),this._mouseDrag(b,!0),a.ui.ddmanager&&a.ui.ddmanager.dragStart(this,b);return!0},_mouseDrag:function(b,c){this.position=this._generatePosition(b),this.positionAbs=this._convertPositionTo("absolute");if(!c){var d=this._uiHash();if(this._trigger("drag",b,d)===!1){this._mouseUp({});return!1}this.position=d.position}if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";a.ui.ddmanager&&a.ui.ddmanager.drag(this,b);return!1},_mouseStop:function(b){var c=!1;a.ui.ddmanager&&!this.options.dropBehaviour&&(c=a.ui.ddmanager.drop(this,b)),this.dropped&&(c=this.dropped,this.dropped=!1);if((!this.element[0]||!this.element[0].parentNode)&&this.options.helper=="original")return!1;if(this.options.revert=="invalid"&&!c||this.options.revert=="valid"&&c||this.options.revert===!0||a.isFunction(this.options.revert)&&this.options.revert.call(this.element,c)){var d=this;a(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){d._trigger("stop",b)!==!1&&d._clear()})}else this._trigger("stop",b)!==!1&&this._clear();return!1},_mouseUp:function(b){this.options.iframeFix===!0&&a("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)}),a.ui.ddmanager&&a.ui.ddmanager.dragStop(this,b);return a.ui.mouse.prototype._mouseUp.call(this,b)},cancel:function(){this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear();return this},_getHandle:function(b){var c=!this.options.handle||!a(this.options.handle,this.element).length?!0:!1;a(this.options.handle,this.element).find("*").andSelf().each(function(){this==b.target&&(c=!0)});return c},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper)?a(c.helper.apply(this.element[0],[b])):c.helper=="clone"?this.element.clone().removeAttr("id"):this.element;d.parents("body").length||d.appendTo(c.appendTo=="parent"?this.element[0].parentNode:c.appendTo),d[0]!=this.element[0]&&!/(fixed|absolute)/.test(d.css("position"))&&d.css("position","absolute");return d},_adjustOffsetFromHelper:function(b){typeof b=="string"&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop());if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)b={top:0,left:0};return{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.element.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var b=this.options;b.containment=="parent"&&(b.containment=this.helper[0].parentNode);if(b.containment=="document"||b.containment=="window")this.containment=[b.containment=="document"?0:a(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,b.containment=="document"?0:a(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,(b.containment=="document"?0:a(window).scrollLeft())+a(b.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(b.containment=="document"?0:a(window).scrollTop())+(a(b.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(b.containment)&&b.containment.constructor!=Array){var c=a(b.containment),d=c[0];if(!d)return;var e=c.offset(),f=a(d).css("overflow")!="hidden";this.containment=[(parseInt(a(d).css("borderLeftWidth"),10)||0)+(parseInt(a(d).css("paddingLeft"),10)||0),(parseInt(a(d).css("borderTopWidth"),10)||0)+(parseInt(a(d).css("paddingTop"),10)||0),(f?Math.max(d.scrollWidth,d.offsetWidth):d.offsetWidth)-(parseInt(a(d).css("borderLeftWidth"),10)||0)-(parseInt(a(d).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(f?Math.max(d.scrollHeight,d.offsetHeight):d.offsetHeight)-(parseInt(a(d).css("borderTopWidth"),10)||0)-(parseInt(a(d).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relative_container=c}else b.containment.constructor==Array&&(this.containment=b.containment)},_convertPositionTo:function(b,c){c||(c=this.position);var d=b=="absolute"?1:-1,e=this.options,f=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=/(html|body)/i.test(f[0].tagName);return{top:c.top+this.offset.relative.top*d+this.offset.parent.top*d-(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():g?0:f.scrollTop())*d),left:c.left+this.offset.relative.left*d+this.offset.parent.left*d-(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:f.scrollLeft())*d)}},_generatePosition:function(b){var c=this.options,d=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(d[0].tagName),f=b.pageX,g=b.pageY;if(this.originalPosition){var h;if(this.containment){if(this.relative_container){var i=this.relative_container.offset();h=[this.containment[0]+i.left,this.containment[1]+i.top,this.containment[2]+i.left,this.containment[3]+i.top]}else h=this.containment;b.pageX-this.offset.click.left<h[0]&&(f=h[0]+this.offset.click.left),b.pageY-this.offset.click.top<h[1]&&(g=h[1]+this.offset.click.top),b.pageX-this.offset.click.left>h[2]&&(f=h[2]+this.offset.click.left),b.pageY-this.offset.click.top>h[3]&&(g=h[3]+this.offset.click.top)}if(c.grid){var j=c.grid[1]?this.originalPageY+Math.round((g-this.originalPageY)/c.grid[1])*c.grid[1]:this.originalPageY;g=h?j-this.offset.click.top<h[1]||j-this.offset.click.top>h[3]?j-this.offset.click.top<h[1]?j+c.grid[1]:j-c.grid[1]:j:j;var k=c.grid[0]?this.originalPageX+Math.round((f-this.originalPageX)/c.grid[0])*c.grid[0]:this.originalPageX;f=h?k-this.offset.click.left<h[0]||k-this.offset.click.left>h[2]?k-this.offset.click.left<h[0]?k+c.grid[0]:k-c.grid[0]:k:k}}return{top:g-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:d.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:d.scrollLeft())}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]!=this.element[0]&&!this.cancelHelperRemoval&&this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1},_trigger:function(b,c,d){d=d||this._uiHash(),a.ui.plugin.call(this,b,[c,d]),b=="drag"&&(this.positionAbs=this._convertPositionTo("absolute"));return a.Widget.prototype._trigger.call(this,b,c,d)},plugins:{},_uiHash:function(a){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),a.extend(a.ui.draggable,{version:"1.8.18"}),a.ui.plugin.add("draggable","connectToSortable",{start:function(b,c){var d=a(this).data("draggable"),e=d.options,f=a.extend({},c,{item:d.element});d.sortables=[],a(e.connectToSortable).each(function(){var c=a.data(this,"sortable");c&&!c.options.disabled&&(d.sortables.push({instance:c,shouldRevert:c.options.revert}),c.refreshPositions(),c._trigger("activate",b,f))})},stop:function(b,c){var d=a(this).data("draggable"),e=a.extend({},c,{item:d.element});a.each(d.sortables,function(){this.instance.isOver?(this.instance.isOver=0,d.cancelHelperRemoval=!0,this.instance.cancelHelperRemoval=!1,this.shouldRevert&&(this.instance.options.revert=!0),this.instance._mouseStop(b),this.instance.options.helper=this.instance.options._helper,d.options.helper=="original"&&this.instance.currentItem.css({top:"auto",left:"auto"})):(this.instance.cancelHelperRemoval=!1,this.instance._trigger("deactivate",b,e))})},drag:function(b,c){var d=a(this).data("draggable"),e=this,f=function(b){var c=this.offset.click.top,d=this.offset.click.left,e=this.positionAbs.top,f=this.positionAbs.left,g=b.height,h=b.width,i=b.top,j=b.left;return a.ui.isOver(e+c,f+d,i,j,g,h)};a.each(d.sortables,function(f){this.instance.positionAbs=d.positionAbs,this.instance.helperProportions=d.helperProportions,this.instance.offset.click=d.offset.click,this.instance._intersectsWith(this.instance.containerCache)?(this.instance.isOver||(this.instance.isOver=1,this.instance.currentItem=a(e).clone().removeAttr("id").appendTo(this.instance.element).data("sortable-item",!0),this.instance.options._helper=this.instance.options.helper,this.instance.options.helper=function(){return c.helper[0]},b.target=this.instance.currentItem[0],this.instance._mouseCapture(b,!0),this.instance._mouseStart(b,!0,!0),this.instance.offset.click.top=d.offset.click.top,this.instance.offset.click.left=d.offset.click.left,this.instance.offset.parent.left-=d.offset.parent.left-this.instance.offset.parent.left,this.instance.offset.parent.top-=d.offset.parent.top-this.instance.offset.parent.top,d._trigger("toSortable",b),d.dropped=this.instance.element,d.currentItem=d.element,this.instance.fromOutside=d),this.instance.currentItem&&this.instance._mouseDrag(b)):this.instance.isOver&&(this.instance.isOver=0,this.instance.cancelHelperRemoval=!0,this.instance.options.revert=!1,this.instance._trigger("out",b,this.instance._uiHash(this.instance)),this.instance._mouseStop(b,!0),this.instance.options.helper=this.instance.options._helper,this.instance.currentItem.remove(),this.instance.placeholder&&this.instance.placeholder.remove(),d._trigger("fromSortable",b),d.dropped=!1)})}}),a.ui.plugin.add("draggable","cursor",{start:function(b,c){var d=a("body"),e=a(this).data("draggable").options;d.css("cursor")&&(e._cursor=d.css("cursor")),d.css("cursor",e.cursor)},stop:function(b,c){var d=a(this).data("draggable").options;d._cursor&&a("body").css("cursor",d._cursor)}}),a.ui.plugin.add("draggable","opacity",{start:function(b,c){var d=a(c.helper),e=a(this).data("draggable").options;d.css("opacity")&&(e._opacity=d.css("opacity")),d.css("opacity",e.opacity)},stop:function(b,c){var d=a(this).data("draggable").options;d._opacity&&a(c.helper).css("opacity",d._opacity)}}),a.ui.plugin.add("draggable","scroll",{start:function(b,c){var d=a(this).data("draggable");d.scrollParent[0]!=document&&d.scrollParent[0].tagName!="HTML"&&(d.overflowOffset=d.scrollParent.offset())},drag:function(b,c){var d=a(this).data("draggable"),e=d.options,f=!1;if(d.scrollParent[0]!=document&&d.scrollParent[0].tagName!="HTML"){if(!e.axis||e.axis!="x")d.overflowOffset.top+d.scrollParent[0].offsetHeight-b.pageY<e.scrollSensitivity?d.scrollParent[0].scrollTop=f=d.scrollParent[0].scrollTop+e.scrollSpeed:b.pageY-d.overflowOffset.top<e.scrollSensitivity&&(d.scrollParent[0].scrollTop=f=d.scrollParent[0].scrollTop-e.scrollSpeed);if(!e.axis||e.axis!="y")d.overflowOffset.left+d.scrollParent[0].offsetWidth-b.pageX<e.scrollSensitivity?d.scrollParent[0].scrollLeft=f=d.scrollParent[0].scrollLeft+e.scrollSpeed:b.pageX-d.overflowOffset.left<e.scrollSensitivity&&(d.scrollParent[0].scrollLeft=f=d.scrollParent[0].scrollLeft-e.scrollSpeed)}else{if(!e.axis||e.axis!="x")b.pageY-a(document).scrollTop()<e.scrollSensitivity?f=a(document).scrollTop(a(document).scrollTop()-e.scrollSpeed):a(window).height()-(b.pageY-a(document).scrollTop())<e.scrollSensitivity&&(f=a(document).scrollTop(a(document).scrollTop()+e.scrollSpeed));if(!e.axis||e.axis!="y")b.pageX-a(document).scrollLeft()<e.scrollSensitivity?f=a(document).scrollLeft(a(document).scrollLeft()-e.scrollSpeed):a(window).width()-(b.pageX-a(document).scrollLeft())<e.scrollSensitivity&&(f=a(document).scrollLeft(a(document).scrollLeft()+e.scrollSpeed))}f!==!1&&a.ui.ddmanager&&!e.dropBehaviour&&a.ui.ddmanager.prepareOffsets(d,b)}}),a.ui.plugin.add("draggable","snap",{start:function(b,c){var d=a(this).data("draggable"),e=d.options;d.snapElements=[],a(e.snap.constructor!=String?e.snap.items||":data(draggable)":e.snap).each(function(){var b=a(this),c=b.offset();this!=d.element[0]&&d.snapElements.push({item:this,width:b.outerWidth(),height:b.outerHeight(),top:c.top,left:c.left})})},drag:function(b,c){var d=a(this).data("draggable"),e=d.options,f=e.snapTolerance,g=c.offset.left,h=g+d.helperProportions.width,i=c.offset.top,j=i+d.helperProportions.height;for(var k=d.snapElements.length-1;k>=0;k--){var l=d.snapElements[k].left,m=l+d.snapElements[k].width,n=d.snapElements[k].top,o=n+d.snapElements[k].height;if(!(l-f<g&&g<m+f&&n-f<i&&i<o+f||l-f<g&&g<m+f&&n-f<j&&j<o+f||l-f<h&&h<m+f&&n-f<i&&i<o+f||l-f<h&&h<m+f&&n-f<j&&j<o+f)){d.snapElements[k].snapping&&d.options.snap.release&&d.options.snap.release.call(d.element,b,a.extend(d._uiHash(),{snapItem:d.snapElements[k].item})),d.snapElements[k].snapping=!1;continue}if(e.snapMode!="inner"){var p=Math.abs(n-j)<=f,q=Math.abs(o-i)<=f,r=Math.abs(l-h)<=f,s=Math.abs(m-g)<=f;p&&(c.position.top=d._convertPositionTo("relative",{top:n-d.helperProportions.height,left:0}).top-d.margins.top),q&&(c.position.top=d._convertPositionTo("relative",{top:o,left:0}).top-d.margins.top),r&&(c.position.left=d._convertPositionTo("relative",{top:0,left:l-d.helperProportions.width}).left-d.margins.left),s&&(c.position.left=d._convertPositionTo("relative",{top:0,left:m}).left-d.margins.left)}var t=p||q||r||s;if(e.snapMode!="outer"){var p=Math.abs(n-i)<=f,q=Math.abs(o-j)<=f,r=Math.abs(l-g)<=f,s=Math.abs(m-h)<=f;p&&(c.position.top=d._convertPositionTo("relative",{top:n,left:0}).top-d.margins.top),q&&(c.position.top=d._convertPositionTo("relative",{top:o-d.helperProportions.height,left:0}).top-d.margins.top),r&&(c.position.left=d._convertPositionTo("relative",{top:0,left:l}).left-d.margins.left),s&&(c.position.left=d._convertPositionTo("relative",{top:0,left:m-d.helperProportions.width}).left-d.margins.left)}!d.snapElements[k].snapping&&(p||q||r||s||t)&&d.options.snap.snap&&d.options.snap.snap.call(d.element,b,a.extend(d._uiHash(),{snapItem:d.snapElements[k].item})),d.snapElements[k].snapping=p||q||r||s||t}}}),a.ui.plugin.add("draggable","stack",{start:function(b,c){var d=a(this).data("draggable").options,e=a.makeArray(a(d.stack)).sort(function(b,c){return(parseInt(a(b).css("zIndex"),10)||0)-(parseInt(a(c).css("zIndex"),10)||0)});if(!!e.length){var f=parseInt(e[0].style.zIndex)||0;a(e).each(function(a){this.style.zIndex=f+a}),this[0].style.zIndex=f+e.length}}}),a.ui.plugin.add("draggable","zIndex",{start:function(b,c){var d=a(c.helper),e=a(this).data("draggable").options;d.css("zIndex")&&(e._zIndex=d.css("zIndex")),d.css("zIndex",e.zIndex)},stop:function(b,c){var d=a(this).data("draggable").options;d._zIndex&&a(c.helper).css("zIndex",d._zIndex)}})})(jQuery);/*
++ * jQuery UI Droppable 1.8.18
++ *
++ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
++ * Dual licensed under the MIT or GPL Version 2 licenses.
++ * http://jquery.org/license
++ *
++ * http://docs.jquery.com/UI/Droppables
++ *
++ * Depends:
++ *    jquery.ui.core.js
++ *    jquery.ui.widget.js
++ *    jquery.ui.mouse.js
++ *    jquery.ui.draggable.js
++ */(function(a,b){a.widget("ui.droppable",{widgetEventPrefix:"drop",options:{accept:"*",activeClass:!1,addClasses:!0,greedy:!1,hoverClass:!1,scope:"default",tolerance:"intersect"},_create:function(){var b=this.options,c=b.accept;this.isover=0,this.isout=1,this.accept=a.isFunction(c)?c:function(a){return a.is(c)},this.proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight},a.ui.ddmanager.droppables[b.scope]=a.ui.ddmanager.droppables[b.scope]||[],a.ui.ddmanager.droppables[b.scope].push(this),b.addClasses&&this.element.addClass("ui-droppable")},destroy:function(){var b=a.ui.ddmanager.droppables[this.options.scope];for(var c=0;c<b.length;c++)b[c]==this&&b.splice(c,1);this.element.removeClass("ui-droppable ui-droppable-disabled").removeData("droppable").unbind(".droppable");return this},_setOption:function(b,c){b=="accept"&&(this.accept=a.isFunction(c)?c:function(a){return a.is(c)}),a.Widget.prototype._setOption.apply(this,arguments)},_activate:function(b){var c=a.ui.ddmanager.current;this.options.activeClass&&this.element.addClass(this.options.activeClass),c&&this._trigger("activate",b,this.ui(c))},_deactivate:function(b){var c=a.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass),c&&this._trigger("deactivate",b,this.ui(c))},_over:function(b){var c=a.ui.ddmanager.current;!!c&&(c.currentItem||c.element)[0]!=this.element[0]&&this.accept.call(this.element[0],c.currentItem||c.element)&&(this.options.hoverClass&&this.element.addClass(this.options.hoverClass),this._trigger("over",b,this.ui(c)))},_out:function(b){var c=a.ui.ddmanager.current;!!c&&(c.currentItem||c.element)[0]!=this.element[0]&&this.accept.call(this.element[0],c.currentItem||c.element)&&(this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("out",b,this.ui(c)))},_drop:function(b,c){var d=c||a.ui.ddmanager.current;if(!d||(d.currentItem||d.element)[0]==this.element[0])return!1;var e=!1;this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function(){var b=a.data(this,"droppable");if(b.options.greedy&&!b.options.disabled&&b.options.scope==d.options.scope&&b.accept.call(b.element[0],d.currentItem||d.element)&&a.ui.intersect(d,a.extend(b,{offset:b.element.offset()}),b.options.tolerance)){e=!0;return!1}});if(e)return!1;if(this.accept.call(this.element[0],d.currentItem||d.element)){this.options.activeClass&&this.element.removeClass(this.options.activeClass),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("drop",b,this.ui(d));return this.element}return!1},ui:function(a){return{draggable:a.currentItem||a.element,helper:a.helper,position:a.position,offset:a.positionAbs}}}),a.extend(a.ui.droppable,{version:"1.8.18"}),a.ui.intersect=function(b,c,d){if(!c.offset)return!1;var e=(b.positionAbs||b.position.absolute).left,f=e+b.helperProportions.width,g=(b.positionAbs||b.position.absolute).top,h=g+b.helperProportions.height,i=c.offset.left,j=i+c.proportions.width,k=c.offset.top,l=k+c.proportions.height;switch(d){case"fit":return i<=e&&f<=j&&k<=g&&h<=l;case"intersect":return i<e+b.helperProportions.width/2&&f-b.helperProportions.width/2<j&&k<g+b.helperProportions.height/2&&h-b.helperProportions.height/2<l;case"pointer":var m=(b.positionAbs||b.position.absolute).left+(b.clickOffset||b.offset.click).left,n=(b.positionAbs||b.position.absolute).top+(b.clickOffset||b.offset.click).top,o=a.ui.isOver(n,m,k,i,c.proportions.height,c.proportions.width);return o;case"touch":return(g>=k&&g<=l||h>=k&&h<=l||g<k&&h>l)&&(e>=i&&e<=j||f>=i&&f<=j||e<i&&f>j);default:return!1}},a.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(b,c){var d=a.ui.ddmanager.droppables[b.options.scope]||[],e=c?c.type:null,f=(b.currentItem||b.element).find(":data(droppable)").andSelf();droppablesLoop:for(var g=0;g<d.length;g++){if(d[g].options.disabled||b&&!d[g].accept.call(d[g].element[0],b.currentItem||b.element))continue;for(var h=0;h<f.length;h++)if(f[h]==d[g].element[0]){d[g].proportions.height=0;continue droppablesLoop}d[g].visible=d[g].element.css("display")!="none";if(!d[g].visible)continue;e=="mousedown"&&d[g]._activate.call(d[g],c),d[g].offset=d[g].element.offset(),d[g].proportions={width:d[g].element[0].offsetWidth,height:d[g].element[0].offsetHeight}}},drop:function(b,c){var d=!1;a.each(a.ui.ddmanager.droppables[b.options.scope]||[],function(){!this.options||(!this.options.disabled&&this.visible&&a.ui.intersect(b,this,this.options.tolerance)&&(d=this._drop.call(this,c)||d),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],b.currentItem||b.element)&&(this.isout=1,this.isover=0,this._deactivate.call(this,c)))});return d},dragStart:function(b,c){b.element.parents(":not(body,html)").bind("scroll.droppable",function(){b.options.refreshPositions||a.ui.ddmanager.prepareOffsets(b,c)})},drag:function(b,c){b.options.refreshPositions&&a.ui.ddmanager.prepareOffsets(b,c),a.each(a.ui.ddmanager.droppables[b.options.scope]||[],function(){if(!(this.options.disabled||this.greedyChild||!this.visible)){var d=a.ui.intersect(b,this,this.options.tolerance),e=!d&&this.isover==1?"isout":d&&this.isover==0?"isover":null;if(!e)return;var f;if(this.options.greedy){var g=this.element.parents(":data(droppable):eq(0)");g.length&&(f=a.data(g[0],"droppable"),f.greedyChild=e=="isover"?1:0)}f&&e=="isover"&&(f.isover=0,f.isout=1,f._out.call(f,c)),this[e]=1,this[e=="isout"?"isover":"isout"]=0,this[e=="isover"?"_over":"_out"].call(this,c),f&&e=="isout"&&(f.isout=0,f.isover=1,f._over.call(f,c))}})},dragStop:function(b,c){b.element.parents(":not(body,html)").unbind("scroll.droppable"),b.options.refreshPositions||a.ui.ddmanager.prepareOffsets(b,c)}}})(jQuery);/*
++ * jQuery UI Resizable 1.8.18
++ *
++ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
++ * Dual licensed under the MIT or GPL Version 2 licenses.
++ * http://jquery.org/license
++ *
++ * http://docs.jquery.com/UI/Resizables
++ *
++ * Depends:
++ *    jquery.ui.core.js
++ *    jquery.ui.mouse.js
++ *    jquery.ui.widget.js
++ */(function(a,b){a.widget("ui.resizable",a.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1e3},_create:function(){var b=this,c=this.options;this.element.addClass("ui-resizable"),a.extend(this,{_aspectRatio:!!c.aspectRatio,aspectRatio:c.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:c.helper||c.ghost||c.animate?c.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)&&(this.element.wrap(a('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("resizable",this.element.data("resizable")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=c.handles||(a(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se");if(this.handles.constructor==String){this.handles=="all"&&(this.handles="n,e,s,w,se,sw,ne,nw");var d=this.handles.split(",");this.handles={};for(var e=0;e<d.length;e++){var f=a.trim(d[e]),g="ui-resizable-"+f,h=a('<div class="ui-resizable-handle '+g+'"></div>');/sw|se|ne|nw/.test(f)&&h.css({zIndex:++c.zIndex}),"se"==f&&h.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[f]=".ui-resizable-"+f,this.element.append(h)}}this._renderAxis=function(b){b=b||this.element;for(var c in this.handles){this.handles[c].constructor==String&&(this.handles[c]=a(this.handles[c],this.element).show());if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var d=a(this.handles[c],this.element),e=0;e=/sw|ne|nw|se|n|s/.test(c)?d.outerHeight():d.outerWidth();var f=["padding",/ne|nw|n/.test(c)?"Top":/se|sw|s/.test(c)?"Bottom":/^e$/.test(c)?"Right":"Left"].join("");b.css(f,e),this._proportionallyResize()}if(!a(this.handles[c]).length)continue}},this._renderAxis(this.element),this._handles=a(".ui-resizable-handle",this.element).disableSelection(),this._handles.mouseover(function(){if(!b.resizing){if(this.className)var a=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=a&&a[1]?a[1]:"se"}}),c.autoHide&&(this._handles.hide(),a(this.element).addClass("ui-resizable-autohide").hover(function(){c.disabled||(a(this).removeClass("ui-resizable-autohide"),b._handles.show())},function(){c.disabled||b.resizing||(a(this).addClass("ui-resizable-autohide"),b._handles.hide())})),this._mouseInit()},destroy:function(){this._mouseDestroy();var b=function(b){a(b).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){b(this.element);var c=this.element;c.after(this.originalElement.css({position:c.css("position"),width:c.outerWidth(),height:c.outerHeight(),top:c.css("top"),left:c.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle),b(this.originalElement);return this},_mouseCapture:function(b){var c=!1;for(var d in this.handles)a(this.handles[d])[0]==b.target&&(c=!0);return!this.options.disabled&&c},_mouseStart:function(b){var d=this.options,e=this.element.position(),f=this.element;this.resizing=!0,this.documentScroll={top:a(document).scrollTop(),left:a(document).scrollLeft()},(f.is(".ui-draggable")||/absolute/.test(f.css("position")))&&f.css({position:"absolute",top:e.top,left:e.left}),this._renderProxy();var g=c(this.helper.css("left")),h=c(this.helper.css("top"));d.containment&&(g+=a(d.containment).scrollLeft()||0,h+=a(d.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:g,top:h},this.size=this._helper?{width:f.outerWidth(),height:f.outerHeight()}:{width:f.width(),height:f.height()},this.originalSize=this._helper?{width:f.outerWidth(),height:f.outerHeight()}:{width:f.width(),height:f.height()},this.originalPosition={left:g,top:h},this.sizeDiff={width:f.outerWidth()-f.width(),height:f.outerHeight()-f.height()},this.originalMousePosition={left:b.pageX,top:b.pageY},this.aspectRatio=typeof d.aspectRatio=="number"?d.aspectRatio:this.originalSize.width/this.originalSize.height||1;var i=a(".ui-resizable-"+this.axis).css("cursor");a("body").css("cursor",i=="auto"?this.axis+"-resize":i),f.addClass("ui-resizable-resizing"),this._propagate("start",b);return!0},_mouseDrag:function(b){var c=this.helper,d=this.options,e={},f=this,g=this.originalMousePosition,h=this.axis,i=b.pageX-g.left||0,j=b.pageY-g.top||0,k=this._change[h];if(!k)return!1;var l=k.apply(this,[b,i,j]),m=a.browser.msie&&a.browser.version<7,n=this.sizeDiff;this._updateVirtualBoundaries(b.shiftKey);if(this._aspectRatio||b.shiftKey)l=this._updateRatio(l,b);l=this._respectSize(l,b),this._propagate("resize",b),c.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"}),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),this._updateCache(l),this._trigger("resize",b,this.ui());return!1},_mouseStop:function(b){this.resizing=!1;var c=this.options,d=this;if(this._helper){var e=this._proportionallyResizeElements,f=e.length&&/textarea/i.test(e[0].nodeName),g=f&&a.ui.hasScroll(e[0],"left")?0:d.sizeDiff.height,h=f?0:d.sizeDiff.width,i={width:d.helper.width()-h,height:d.helper.height()-g},j=parseInt(d.element.css("left"),10)+(d.position.left-d.originalPosition.left)||null,k=parseInt(d.element.css("top"),10)+(d.position.top-d.originalPosition.top)||null;c.animate||this.element.css(a.extend(i,{top:k,left:j})),d.helper.height(d.size.height),d.helper.width(d.size.width),this._helper&&!c.animate&&this._proportionallyResize()}a("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",b),this._helper&&this.helper.remove();return!1},_updateVirtualBoundaries:function(a){var b=this.options,c,e,f,g,h;h={minWidth:d(b.minWidth)?b.minWidth:0,maxWidth:d(b.maxWidth)?b.maxWidth:Infinity,minHeight:d(b.minHeight)?b.minHeight:0,maxHeight:d(b.maxHeight)?b.maxHeight:Infinity};if(this._aspectRatio||a)c=h.minHeight*this.aspectRatio,f=h.minWidth/this.aspectRatio,e=h.maxHeight*this.aspectRatio,g=h.maxWidth/this.aspectRatio,c>h.minWidth&&(h.minWidth=c),f>h.minHeight&&(h.minHeight=f),e<h.maxWidth&&(h.maxWidth=e),g<h.maxHeight&&(h.maxHeight=g);this._vBoundaries=h},_updateCache:function(a){var b=this.options;this.offset=this.helper.offset(),d(a.left)&&(this.position.left=a.left),d(a.top)&&(this.position.top=a.top),d(a.height)&&(this.size.height=a.height),d(a.width)&&(this.size.width=a.width)},_updateRatio:function(a,b){var c=this.options,e=this.position,f=this.size,g=this.axis;d(a.height)?a.width=a.height*this.aspectRatio:d(a.width)&&(a.height=a.width/this.aspectRatio),g=="sw"&&(a.left=e.left+(f.width-a.width),a.top=null),g=="nw"&&(a.top=e.top+(f.height-a.height),a.left=e.left+(f.width-a.width));return a},_respectSize:function(a,b){var c=this.helper,e=this._vBoundaries,f=this._aspectRatio||b.shiftKey,g=this.axis,h=d(a.width)&&e.maxWidth&&e.maxWidth<a.width,i=d(a.height)&&e.maxHeight&&e.maxHeight<a.height,j=d(a.width)&&e.minWidth&&e.minWidth>a.width,k=d(a.height)&&e.minHeight&&e.minHeight>a.height;j&&(a.width=e.minWidth),k&&(a.height=e.minHeight),h&&(a.width=e.maxWidth),i&&(a.height=e.maxHeight);var l=this.originalPosition.left+this.originalSize.width,m=this.position.top+this.size.height,n=/sw|nw|w/.test(g),o=/nw|ne|n/.test(g);j&&n&&(a.left=l-e.minWidth),h&&n&&(a.left=l-e.maxWidth),k&&o&&(a.top=m-e.minHeight),i&&o&&(a.top=m-e.maxHeight);var p=!a.width&&!a.height;p&&!a.left&&a.top?a.top=null:p&&!a.top&&a.left&&(a.left=null);return a},_proportionallyResize:function(){var b=this.options;if(!!this._proportionallyResizeElements.length){var c=this.helper||this.element;for(var d=0;d<this._proportionallyResizeElements.length;d++){var e=this._proportionallyResizeElements[d];if(!this.borderDif){var f=[e.css("borderTopWidth"),e.css("borderRightWidth"),e.css("borderBottomWidth"),e.css("borderLeftWidth")],g=[e.css("paddingTop"),e.css("paddingRight"),e.css("paddingBottom"),e.css("paddingLeft")];this.borderDif=a.map(f,function(a,b){var c=parseInt(a,10)||0,d=parseInt(g[b],10)||0;return c+d})}if(a.browser.msie&&(!!a(c).is(":hidden")||!!a(c).parents(":hidden").length))continue;e.css({height:c.height()-this.borderDif[0]-this.borderDif[2]||0,width:c.width()-this.borderDif[1]-this.borderDif[3]||0})}}},_renderProxy:function(){var b=this.element,c=this.options;this.elementOffset=b.offset();if(this._helper){this.helper=this.helper||a('<div style="overflow:hidden;"></div>');var d=a.browser.msie&&a.browser.version<7,e=d?1:0,f=d?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+f,height:this.element.outerHeight()+f,position:"absolute",left:this.elementOffset.left-e+"px",top:this.elementOffset.top-e+"px",zIndex:++c.zIndex}),this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(a,b,c){return{width:this.originalSize.width+b}},w:function(a,b,c){var d=this.options,e=this.originalSize,f=this.originalPosition;return{left:f.left+b,width:e.width-b}},n:function(a,b,c){var d=this.options,e=this.originalSize,f=this.originalPosition;return{top:f.top+c,height:e.height-c}},s:function(a,b,c){return{height:this.originalSize.height+c}},se:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},sw:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,c,d]))},ne:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},nw:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,c,d]))}},_propagate:function(b,c){a.ui.plugin.call(this,b,[c,this.ui()]),b!="resize"&&this._trigger(b,c,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),a.extend(a.ui.resizable,{version:"1.8.18"}),a.ui.plugin.add("resizable","alsoResize",{start:function(b,c){var d=a(this).data("resizable"),e=d.options,f=function(b){a(b).each(function(){var b=a(this);b.data("resizable-alsoresize",{width:parseInt(b.width(),10),height:parseInt(b.height(),10),left:parseInt(b.css("left"),10),top:parseInt(b.css("top"),10)})})};typeof e.alsoResize=="object"&&!e.alsoResize.parentNode?e.alsoResize.length?(e.alsoResize=e.alsoResize[0],f(e.alsoResize)):a.each(e.alsoResize,function(a){f(a)}):f(e.alsoResize)},resize:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.originalSize,g=d.originalPosition,h={height:d.size.height-f.height||0,width:d.size.width-f.width||0,top:d.position.top-g.top||0,left:d.position.left-g.left||0},i=function(b,d){a(b).each(function(){var b=a(this),e=a(this).data("resizable-alsoresize"),f={},g=d&&d.length?d:b.parents(c.originalElement[0]).length?["width","height"]:["width","height","top","left"];a.each(g,function(a,b){var c=(e[b]||0)+(h[b]||0);c&&c>=0&&(f[b]=c||null)}),b.css(f)})};typeof e.alsoResize=="object"&&!e.alsoResize.nodeType?a.each(e.alsoResize,function(a,b){i(a,b)}):i(e.alsoResize)},stop:function(b,c){a(this).removeData("resizable-alsoresize")}}),a.ui.plugin.add("resizable","animate",{stop:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d._proportionallyResizeElements,g=f.length&&/textarea/i.test(f[0].nodeName),h=g&&a.ui.hasScroll(f[0],"left")?0:d.sizeDiff.height,i=g?0:d.sizeDiff.width,j={width:d.size.width-i,height:d.size.height-h},k=parseInt(d.element.css("left"),10)+(d.position.left-d.originalPosition.left)||null,l=parseInt(d.element.css("top"),10)+(d.position.top-d.originalPosition.top)||null;d.element.animate(a.extend(j,l&&k?{top:l,left:k}:{}),{duration:e.animateDuration,easing:e.animateEasing,step:function(){var c={width:parseInt(d.element.css("width"),10),height:parseInt(d.element.css("height"),10),top:parseInt(d.element.css("top"),10),left:parseInt(d.element.css("left"),10)};f&&f.length&&a(f[0]).css({width:c.width,height:c.height}),d._updateCache(c),d._propagate("resize",b)}})}}),a.ui.plugin.add("resizable","containment",{start:function(b,d){var e=a(this).data("resizable"),f=e.options,g=e.element,h=f.containment,i=h instanceof a?h.get(0):/parent/.test(h)?g.parent().get(0):h;if(!!i){e.containerElement=a(i);if(/document/.test(h)||h==document)e.containerOffset={left:0,top:0},e.containerPosition={left:0,top:0},e.parentData={element:a(document),left:0,top:0,width:a(document).width(),height:a(document).height()||document.body.parentNode.scrollHeight};else{var j=a(i),k=[];a(["Top","Right","Left","Bottom"]).each(function(a,b){k[a]=c(j.css("padding"+b))}),e.containerOffset=j.offset(),e.containerPosition=j.position(),e.containerSize={height:j.innerHeight()-k[3],width:j.innerWidth()-k[1]};var l=e.containerOffset,m=e.containerSize.height,n=e.containerSize.width,o=a.ui.hasScroll(i,"left")?i.scrollWidth:n,p=a.ui.hasScroll(i)?i.scrollHeight:m;e.parentData={element:i,left:l.left,top:l.top,width:o,height:p}}}},resize:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.containerSize,g=d.containerOffset,h=d.size,i=d.position,j=d._aspectRatio||b.shiftKey,k={top:0,left:0},l=d.containerElement;l[0]!=document&&/static/.test(l.css("position"))&&(k=g),i.left<(d._helper?g.left:0)&&(d.size.width=d.size.width+(d._helper?d.position.left-g.left:d.position.left-k.left),j&&(d.size.height=d.size.width/e.aspectRatio),d.position.left=e.helper?g.left:0),i.top<(d._helper?g.top:0)&&(d.size.height=d.size.height+(d._helper?d.position.top-g.top:d.position.top),j&&(d.size.width=d.size.height*e.aspectRatio),d.position.top=d._helper?g.top:0),d.offset.left=d.parentData.left+d.position.left,d.offset.top=d.parentData.top+d.position.top;var m=Math.abs((d._helper?d.offset.left-k.left:d.offset.left-k.left)+d.sizeDiff.width),n=Math.abs((d._helper?d.offset.top-k.top:d.offset.top-g.top)+d.sizeDiff.height),o=d.containerElement.get(0)==d.element.parent().get(0),p=/relative|absolute/.test(d.containerElement.css("position"));o&&p&&(m-=d.parentData.left),m+d.size.width>=d.parentData.width&&(d.size.width=d.parentData.width-m,j&&(d.size.height=d.size.width/d.aspectRatio)),n+d.size.height>=d.parentData.height&&(d.size.height=d.parentData.height-n,j&&(d.size.width=d.size.height*d.aspectRatio))},stop:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.position,g=d.containerOffset,h=d.containerPosition,i=d.containerElement,j=a(d.helper),k=j.offset(),l=j.outerWidth()-d.sizeDiff.width,m=j.outerHeight()-d.sizeDiff.height;d._helper&&!e.animate&&/relative/.test(i.css("position"))&&a(this).css({left:k.left-h.left-g.left,width:l,height:m}),d._helper&&!e.animate&&/static/.test(i.css("position"))&&a(this).css({left:k.left-h.left-g.left,width:l,height:m})}}),a.ui.plugin.add("resizable","ghost",{start:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.size;d.ghost=d.originalElement.clone(),d.ghost.css({opacity:.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof e.ghost=="string"?e.ghost:""),d.ghost.appendTo(d.helper)},resize:function(b,c){var d=a(this).data("resizable"),e=d.options;d.ghost&&d.ghost.css({position:"relative",height:d.size.height,width:d.size.width})},stop:function(b,c){var d=a(this).data("resizable"),e=d.options;d.ghost&&d.helper&&d.helper.get(0).removeChild(d.ghost.get(0))}}),a.ui.plugin.add("resizable","grid",{resize:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.size,g=d.originalSize,h=d.originalPosition,i=d.axis,j=e._aspectRatio||b.shiftKey;e.grid=typeof e.grid=="number"?[e.grid,e.grid]:e.grid;var k=Math.round((f.width-g.width)/(e.grid[0]||1))*(e.grid[0]||1),l=Math.round((f.height-g.height)/(e.grid[1]||1))*(e.grid[1]||1);/^(se|s|e)$/.test(i)?(d.size.width=g.width+k,d.size.height=g.height+l):/^(ne)$/.test(i)?(d.size.width=g.width+k,d.size.height=g.height+l,d.position.top=h.top-l):/^(sw)$/.test(i)?(d.size.width=g.width+k,d.size.height=g.height+l,d.position.left=h.left-k):(d.size.width=g.width+k,d.size.height=g.height+l,d.position.top=h.top-l,d.position.left=h.left-k)}});var c=function(a){return parseInt(a,10)||0},d=function(a){return!isNaN(parseInt(a,10))}})(jQuery);/*
++ * jQuery UI Selectable 1.8.18
++ *
++ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
++ * Dual licensed under the MIT or GPL Version 2 licenses.
++ * http://jquery.org/license
++ *
++ * http://docs.jquery.com/UI/Selectables
++ *
++ * Depends:
++ *    jquery.ui.core.js
++ *    jquery.ui.mouse.js
++ *    jquery.ui.widget.js
++ */(function(a,b){a.widget("ui.selectable",a.ui.mouse,{options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch"},_create:function(){var b=this;this.element.addClass("ui-selectable"),this.dragged=!1;var c;this.refresh=function(){c=a(b.options.filter,b.element[0]),c.addClass("ui-selectee"),c.each(function(){var b=a(this),c=b.offset();a.data(this,"selectable-item",{element:this,$element:b,left:c.left,top:c.top,right:c.left+b.outerWidth(),bottom:c.top+b.outerHeight(),startselected:!1,selected:b.hasClass("ui-selected"),selecting:b.hasClass("ui-selecting"),unselecting:b.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=c.addClass("ui-selectee"),this._mouseInit(),this.helper=a("<div class='ui-selectable-helper'></div>")},destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable"),this._mouseDestroy();return this},_mouseStart:function(b){var c=this;this.opos=[b.pageX,b.pageY];if(!this.options.disabled){var d=this.options;this.selectees=a(d.filter,this.element[0]),this._trigger("start",b),a(d.appendTo).append(this.helper),this.helper.css({left:b.clientX,top:b.clientY,width:0,height:0}),d.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var d=a.data(this,"selectable-item");d.startselected=!0,!b.metaKey&&!b.ctrlKey&&(d.$element.removeClass("ui-selected"),d.selected=!1,d.$element.addClass("ui-unselecting"),d.unselecting=!0,c._trigger("unselecting",b,{unselecting:d.element}))}),a(b.target).parents().andSelf().each(function(){var d=a.data(this,"selectable-item");if(d){var e=!b.metaKey&&!b.ctrlKey||!d.$element.hasClass("ui-selected");d.$element.removeClass(e?"ui-unselecting":"ui-selected").addClass(e?"ui-selecting":"ui-unselecting"),d.unselecting=!e,d.selecting=e,d.selected=e,e?c._trigger("selecting",b,{selecting:d.element}):c._trigger("unselecting",b,{unselecting:d.element});return!1}})}},_mouseDrag:function(b){var c=this;this.dragged=!0;if(!this.options.disabled){var d=this.options,e=this.opos[0],f=this.opos[1],g=b.pageX,h=b.pageY;if(e>g){var i=g;g=e,e=i}if(f>h){var i=h;h=f,f=i}this.helper.css({left:e,top:f,width:g-e,height:h-f}),this.selectees.each(function(){var i=a.data(this,"selectable-item");if(!!i&&i.element!=c.element[0]){var j=!1;d.tolerance=="touch"?j=!(i.left>g||i.right<e||i.top>h||i.bottom<f):d.tolerance=="fit"&&(j=i.left>e&&i.right<g&&i.top>f&&i.bottom<h),j?(i.selected&&(i.$element.removeClass("ui-selected"),i.selected=!1),i.unselecting&&(i.$element.removeClass("ui-unselecting"),i.unselecting=!1),i.selecting||(i.$element.addClass("ui-selecting"),i.selecting=!0,c._trigger("selecting",b,{selecting:i.element}))):(i.selecting&&((b.metaKey||b.ctrlKey)&&i.startselected?(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.$element.addClass("ui-selected"),i.selected=!0):(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.startselected&&(i.$element.addClass("ui-unselecting"),i.unselecting=!0),c._trigger("unselecting",b,{unselecting:i.element}))),i.selected&&!b.metaKey&&!b.ctrlKey&&!i.startselected&&(i.$element.removeClass("ui-selected"),i.selected=!1,i.$element.addClass("ui-unselecting"),i.unselecting=!0,c._trigger("unselecting",b,{unselecting:i.element})))}});return!1}},_mouseStop:function(b){var c=this;this.dragged=!1;var d=this.options;a(".ui-unselecting",this.element[0]).each(function(){var d=a.data(this,"selectable-item");d.$element.removeClass("ui-unselecting"),d.unselecting=!1,d.startselected=!1,c._trigger("unselected",b,{unselected:d.element})}),a(".ui-selecting",this.element[0]).each(function(){var d=a.data(this,"selectable-item");d.$element.removeClass("ui-selecting").addClass("ui-selected"),d.selecting=!1,d.selected=!0,d.startselected=!0,c._trigger("selected",b,{selected:d.element})}),this._trigger("stop",b),this.helper.remove();return!1}}),a.extend(a.ui.selectable,{version:"1.8.18"})})(jQuery);/*
++ * jQuery UI Sortable 1.8.18
++ *
++ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
++ * Dual licensed under the MIT or GPL Version 2 licenses.
++ * http://jquery.org/license
++ *
++ * http://docs.jquery.com/UI/Sortables
++ *
++ * Depends:
++ *    jquery.ui.core.js
++ *    jquery.ui.mouse.js
++ *    jquery.ui.widget.js
++ */(function(a,b){a.widget("ui.sortable",a.ui.mouse,{widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3},_create:function(){var a=this.options;this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.floating=this.items.length?a.axis==="x"||/left|right/.test(this.items[0].item.css("float"))||/inline|table-cell/.test(this.items[0].item.css("display")):!1,this.offset=this.element.offset(),this._mouseInit(),this.ready=!0},destroy:function(){a.Widget.prototype.destroy.call(this),this.element.removeClass("ui-sortable ui-sortable-disabled"),this._mouseDestroy();for(var b=this.items.length-1;b>=0;b--)this.items[b].item.removeData(this.widgetName+"-item");return this},_setOption:function(b,c){b==="disabled"?(this.options[b]=c,this.widget()[c?"addClass":"removeClass"]("ui-sortable-disabled")):a.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(b,c){var d=this;if(this.reverting)return!1;if(this.options.disabled||this.options.type=="static")return!1;this._refreshItems(b);var e=null,f=this,g=a(b.target).parents().each(function(){if(a.data(this,d.widgetName+"-item")==f){e=a(this);return!1}});a.data(b.target,d.widgetName+"-item")==f&&(e=a(b.target));if(!e)return!1;if(this.options.handle&&!c){var h=!1;a(this.options.handle,e).find("*").andSelf().each(function(){this==b.target&&(h=!0)});if(!h)return!1}this.currentItem=e,this._removeCurrentsFromItems();return!0},_mouseStart:function(b,c,d){var e=this.options,f=this;this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(b),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this._generatePosition(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,e.cursorAt&&this._adjustOffsetFromHelper(e.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!=this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),e.containment&&this._setContainment(),e.cursor&&(a("body").css("cursor")&&(this._storedCursor=a("body").css("cursor")),a("body").css("cursor",e.cursor)),e.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",e.opacity)),e.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",e.zIndex)),this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",b,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions();if(!d)for(var g=this.containers.length-1;g>=0;g--)this.containers[g]._trigger("activate",b,f._uiHash(this));a.ui.ddmanager&&(a.ui.ddmanager.current=this),a.ui.ddmanager&&!e.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(b);return!0},_mouseDrag:function(b){this.position=this._generatePosition(b),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs);if(this.options.scroll){var c=this.options,d=!1;this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-b.pageY<c.scrollSensitivity?this.scrollParent[0].scrollTop=d=this.scrollParent[0].scrollTop+c.scrollSpeed:b.pageY-this.overflowOffset.top<c.scrollSensitivity&&(this.scrollParent[0].scrollTop=d=this.scrollParent[0].scrollTop-c.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-b.pageX<c.scrollSensitivity?this.scrollParent[0].scrollLeft=d=this.scrollParent[0].scrollLeft+c.scrollSpeed:b.pageX-this.overflowOffset.left<c.scrollSensitivity&&(this.scrollParent[0].scrollLeft=d=this.scrollParent[0].scrollLeft-c.scrollSpeed)):(b.pageY-a(document).scrollTop()<c.scrollSensitivity?d=a(document).scrollTop(a(document).scrollTop()-c.scrollSpeed):a(window).height()-(b.pageY-a(document).scrollTop())<c.scrollSensitivity&&(d=a(document).scrollTop(a(document).scrollTop()+c.scrollSpeed)),b.pageX-a(document).scrollLeft()<c.scrollSensitivity?d=a(document).scrollLeft(a(document).scrollLeft()-c.scrollSpeed):a(window).width()-(b.pageX-a(document).scrollLeft())<c.scrollSensitivity&&(d=a(document).scrollLeft(a(document).scrollLeft()+c.scrollSpeed))),d!==!1&&a.ui.ddmanager&&!c.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b)}this.positionAbs=this._convertPositionTo("absolute");if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";for(var e=this.items.length-1;e>=0;e--){var f=this.items[e],g=f.item[0],h=this._intersectsWithPointer(f);if(!h)continue;if(g!=this.currentItem[0]&&this.placeholder[h==1?"next":"prev"]()[0]!=g&&!a.ui.contains(this.placeholder[0],g)&&(this.options.type=="semi-dynamic"?!a.ui.contains(this.element[0],g):!0)){this.direction=h==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(f))this._rearrange(b,f);else break;this._trigger("change",b,this._uiHash());break}}this._contactContainers(b),a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),this._trigger("sort",b,this._uiHash()),this.lastPositionAbs=this.positionAbs;return!1},_mouseStop:function(b,c){if(!!b){a.ui.ddmanager&&!this.options.dropBehaviour&&a.ui.ddmanager.drop(this,b);if(this.options.revert){var d=this,e=d.placeholder.offset();d.reverting=!0,a(this.helper).animate({left:e.left-this.offset.parent.left-d.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:e.top-this.offset.parent.top-d.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){d._clear(b)})}else this._clear(b,c);return!1}},cancel:function(){var b=this;if(this.dragging){this._mouseUp({target:null}),this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("deactivate",null,b._uiHash(this)),this.containers[c].containerCache.over&&(this.containers[c]._trigger("out",null,b._uiHash(this)),this.containers[c].containerCache.over=0)}this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),a.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?a(this.domPosition.prev).after(this.currentItem):a(this.domPosition.parent).prepend(this.currentItem));return this},serialize:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];b=b||{},a(c).each(function(){var c=(a(b.item||this).attr(b.attribute||"id")||"").match(b.expression||/(.+)[-=_](.+)/);c&&d.push((b.key||c[1]+"[]")+"="+(b.key&&b.expression?c[1]:c[2]))}),!d.length&&b.key&&d.push(b.key+"=");return d.join("&")},toArray:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];b=b||{},c.each(function(){d.push(a(b.item||this).attr(b.attribute||"id")||"")});return d},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,d=this.positionAbs.top,e=d+this.helperProportions.height,f=a.left,g=f+a.width,h=a.top,i=h+a.height,j=this.offset.click.top,k=this.offset.click.left,l=d+j>h&&d+j<i&&b+k>f&&b+k<g;return this.options.tolerance=="pointer"||this.options.forcePointerForContainers||this.options.tolerance!="pointer"&&this.helperProportions[this.floating?"width":"height"]>a[this.floating?"width":"height"]?l:f<b+this.helperProportions.width/2&&c-this.helperProportions.width/2<g&&h<d+this.helperProportions.height/2&&e-this.helperProportions.height/2<i},_intersectsWithPointer:function(b){var c=a.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,b.top,b.height),d=a.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,b.left,b.width),e=c&&d,f=this._getDragVerticalDirection(),g=this._getDragHorizontalDirection();if(!e)return!1;return this.floating?g&&g=="right"||f=="down"?2:1:f&&(f=="down"?2:1)},_intersectsWithSides:function(b){var c=a.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,b.top+b.height/2,b.height),d=a.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,b.left+b.width/2,b.width),e=this._getDragVerticalDirection(),f=this._getDragHorizontalDirection();return this.floating&&f?f=="right"&&d||f=="left"&&!d:e&&(e=="down"&&c||e=="up"&&!c)},_getDragVerticalDirection:function(){var a=this.positionAbs.top-this.lastPositionAbs.top;return a!=0&&(a>0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return a!=0&&(a>0?"right":"left")},refresh:function(a){this._refreshItems(a),this.refreshPositions();return this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(b){var c=this,d=[],e=[],f=this._connectWith();if(f&&b)for(var g=f.length-1;g>=0;g--){var h=a(f[g]);for(var i=h.length-1;i>=0;i--){var j=a.data(h[i],this.widgetName);j&&j!=this&&!j.options.disabled&&e.push([a.isFunction(j.options.items)?j.options.items.call(j.element):a(j.options.items,j.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),j])}}e.push([a.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):a(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]);for(var g=e.length-1;g>=0;g--)e[g][0].each(function(){d.push(this)});return a(d)},_removeCurrentsFromItems:function(){var a=this.currentItem.find(":data("+this.widgetName+"-item)");for(var b=0;b<this.items.length;b++)for(var c=0;c<a.length;c++)a[c]==this.items[b].item[0]&&this.items.splice(b,1)},_refreshItems:function(b){this.items=[],this.containers=[this];var c=this.items,d=this,e=[[a.isFunction(this.options.items)?this.options.items.call(this.element[0],b,{item:this.currentItem}):a(this.options.items,this.element),this]],f=this._connectWith();if(f&&this.ready)for(var g=f.length-1;g>=0;g--){var h=a(f[g]);for(var i=h.length-1;i>=0;i--){var j=a.data(h[i],this.widgetName);j&&j!=this&&!j.options.disabled&&(e.push([a.isFunction(j.options.items)?j.options.items.call(j.element[0],b,{item:this.currentItem}):a(j.options.items,j.element),j]),this.containers.push(j))}}for(var g=e.length-1;g>=0;g--){var k=e[g][1],l=e[g][0];for(var i=0,m=l.length;i<m;i++){var n=a(l[i]);n.data(this.widgetName+"-item",k),c.push({item:n,instance:k,width:0,height:0,left:0,top:0})}}},refreshPositions:function(b){this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());for(var c=this.items.length-1;c>=0;c--){var d=this.items[c];if(d.instance!=this.currentContainer&&this.currentContainer&&d.item[0]!=this.currentItem[0])continue;var e=this.options.toleranceElement?a(this.options.toleranceElement,d.item):d.item;b||(d.width=e.outerWidth(),d.height=e.outerHeight());var f=e.offset();d.left=f.left,d.top=f.top}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(var c=this.containers.length-1;c>=0;c--){var f=this.containers[c].element.offset();this.containers[c].containerCache.left=f.left,this.containers[c].containerCache.top=f.top,this.containers[c].containerCache.width=this.containers[c].element.outerWidth(),this.containers[c].containerCache.height=this.containers[c].element.outerHeight()}return this},_createPlaceholder:function(b){var c=b||this,d=c.options;if(!d.placeholder||d.placeholder.constructor==String){var e=d.placeholder;d.placeholder={element:function(){var b=a(document.createElement(c.currentItem[0].nodeName)).addClass(e||c.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];e||(b.style.visibility="hidden");return b},update:function(a,b){if(!e||!!d.forcePlaceholderSize)b.height()||b.height(c.currentItem.innerHeight()-parseInt(c.currentItem.css("paddingTop")||0,10)-parseInt(c.currentItem.css("paddingBottom")||0,10)),b.width()||b.width(c.currentItem.innerWidth()-parseInt(c.currentItem.css("paddingLeft")||0,10)-parseInt(c.currentItem.css("paddingRight")||0,10))}}}c.placeholder=a(d.placeholder.element.call(c.element,c.currentItem)),c.currentItem.after(c.placeholder),d.placeholder.update(c,c.placeholder)},_contactContainers:function(b){var c=null,d=null;for(var e=this.containers.length-1;e>=0;e--){if(a.ui.contains(this.currentItem[0],this.containers[e].element[0]))continue;if(this._intersectsWith(this.containers[e].containerCache)){if(c&&a.ui.contains(this.containers[e].element[0],c.element[0]))continue;c=this.containers[e],d=e}else this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",b,this._uiHash(this)),this.containers[e].containerCache.over=0)}if(!!c)if(this.containers.length===1)this.containers[d]._trigger("over",b,this._uiHash(this)),this.containers[d].containerCache.over=1;else if(this.currentContainer!=this.containers[d]){var f=1e4,g=null,h=this.positionAbs[this.containers[d].floating?"left":"top"];for(var i=this.items.length-1;i>=0;i--){if(!a.ui.contains(this.containers[d].element[0],this.items[i].item[0]))continue;var j=this.items[i][this.containers[d].floating?"left":"top"];Math.abs(j-h)<f&&(f=Math.abs(j-h),g=this.items[i])}if(!g&&!this.options.dropOnEmpty)return;this.currentContainer=this.containers[d],g?this._rearrange(b,g,null,!0):this._rearrange(b,null,this.containers[d].element,!0),this._trigger("change",b,this._uiHash()),this.containers[d]._trigger("change",b,this._uiHash(this)),this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[d]._trigger("over",b,this._uiHash(this)),this.containers[d].containerCache.over=1}},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper)?a(c.helper.apply(this.element[0],[b,this.currentItem])):c.helper=="clone"?this.currentItem.clone():this.currentItem;d.parents("body").length||a(c.appendTo!="parent"?c.appendTo:this.currentItem[0].parentNode)[0].appendChild(d[0]),d[0]==this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(d[0].style.width==""||c.forceHelperSize)&&d.width(this.currentItem.width()),(d[0].style.height==""||c.forceHelperSize)&&d.height(this.currentItem.height());return d},_adjustOffsetFromHelper:function(b){typeof b=="string"&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop());if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)b={top:0,left:0};return{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.currentItem.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var b=this.options;b.containment=="parent"&&(b.containment=this.helper[0].parentNode);if(b.containment=="document"||b.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,a(b.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a(b.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(b.containment)){var c=a(b.containment)[0],d=a(b.containment).offset(),e=a(c).css("overflow")!="hidden";this.containment=[d.left+(parseInt(a(c).css("borderLeftWidth"),10)||0)+(parseInt(a(c).css("paddingLeft"),10)||0)-this.margins.left,d.top+(parseInt(a(c).css("borderTopWidth"),10)||0)+(parseInt(a(c).css("paddingTop"),10)||0)-this.margins.top,d.left+(e?Math.max(c.scrollWidth,c.offsetWidth):c.offsetWidth)-(parseInt(a(c).css("borderLeftWidth"),10)||0)-(parseInt(a(c).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,d.top+(e?Math.max(c.scrollHeight,c.offsetHeight):c.offsetHeight)-(parseInt(a(c).css("borderTopWidth"),10)||0)-(parseInt(a(c).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}},_convertPositionTo:function(b,c){c||(c=this.position);var d=b=="absolute"?1:-1,e=this.options,f=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=/(html|body)/i.test(f[0].tagName);return{top:c.top+this.offset.relative.top*d+this.offset.parent.top*d-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():g?0:f.scrollTop())*d),left:c.left+this.offset.relative.left*d+this.offset.parent.left*d-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:f.scrollLeft())*d)}},_generatePosition:function(b){var c=this.options,d=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(d[0].tagName);this.cssPosition=="relative"&&(this.scrollParent[0]==document||this.scrollParent[0]==this.offsetParent[0])&&(this.offset.relative=this._getRelativeOffset());var f=b.pageX,g=b.pageY;if(this.originalPosition){this.containment&&(b.pageX-this.offset.click.left<this.containment[0]&&(f=this.containment[0]+this.offset.click.left),b.pageY-this.offset.click.top<this.containment[1]&&(g=this.containment[1]+this.offset.click.top),b.pageX-this.offset.click.left>this.containment[2]&&(f=this.containment[2]+this.offset.click.left),b.pageY-this.offset.click.top>this.containment[3]&&(g=this.containment[3]+this.offset.click.top));if(c.grid){var h=this.originalPageY+Math.round((g-this.originalPageY)/c.grid[1])*c.grid[1];g=this.containment?h-this.offset.click.top<this.containment[1]||h-this.offset.click.top>this.containment[3]?h-this.offset.click.top<this.containment[1]?h+c.grid[1]:h-c.grid[1]:h:h;var i=this.originalPageX+Math.round((f-this.originalPageX)/c.grid[0])*c.grid[0];f=this.containment?i-this.offset.click.left<this.containment[0]||i-this.offset.click.left>this.containment[2]?i-this.offset.click.left<this.containment[0]?i+c.grid[0]:i-c.grid[0]:i:i}}return{top:g-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(a.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:d.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(a.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:d.scrollLeft())}},_rearrange:function(a,b,c,d){c?c[0].appendChild(this.placeholder[0]):b.item[0].parentNode.insertBefore(this.placeholder[0],this.direction=="down"?b.item[0]:b.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var e=this,f=this.counter;window.setTimeout(function(){f==e.counter&&e.refreshPositions(!d)},0)},_clear:function(b,c){this.reverting=!1;var d=[],e=this;!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null;if(this.helper[0]==this.currentItem[0]){for(var f in this._storedCSS)if(this._storedCSS[f]=="auto"||this._storedCSS[f]=="static")this._storedCSS[f]="";this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();this.fromOutside&&!c&&d.push(function(a){this._trigger("receive",a,this._uiHash(this.fromOutside))}),(this.fromOutside||this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!=this.currentItem.parent()[0])&&!c&&d.push(function(a){this._trigger("update",a,this._uiHash())});if(!a.ui.contains(this.element[0],this.currentItem[0])){c||d.push(function(a){this._trigger("remove",a,this._uiHash())});for(var f=this.containers.length-1;f>=0;f--)a.ui.contains(this.containers[f].element[0],this.currentItem[0])&&!c&&(d.push(function(a){return function(b){a._trigger("receive",b,this._uiHash(this))}}.call(this,this.containers[f])),d.push(function(a){return function(b){a._trigger("update",b,this._uiHash(this))}}.call(this,this.containers[f])))}for(var f=this.containers.length-1;f>=0;f--)c||d.push(function(a){return function(b){a._trigger("deactivate",b,this._uiHash(this))}}.call(this,this.containers[f])),this.containers[f].containerCache.over&&(d.push(function(a){return function(b){a._trigger("out",b,this._uiHash(this))}}.call(this,this.containers[f])),this.containers[f].containerCache.over=0);this._storedCursor&&a("body").css("cursor",this._storedCursor),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex),this.dragging=!1;if(this.cancelHelperRemoval){if(!c){this._trigger("beforeStop",b,this._uiHash());for(var f=0;f<d.length;f++)d[f].call(this,b);this._trigger("stop",b,this._uiHash())}return!1}c||this._trigger("beforeStop",b,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.helper[0]!=this.currentItem[0]&&this.helper.remove(),this.helper=null;if(!c){for(var f=0;f<d.length;f++)d[f].call(this,b);this._trigger("stop",b,this._uiHash())}this.fromOutside=!1;return!0},_trigger:function(){a.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(b){var c=b||this;return{helper:c.helper,placeholder:c.placeholder||a([]),position:c.position,originalPosition:c.originalPosition,offset:c.positionAbs,item:c.currentItem,sender:b?b.element:null}}}),a.extend(a.ui.sortable,{version:"1.8.18"})})(jQuery);/*
++ * jQuery UI Accordion 1.8.18
++ *
++ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
++ * Dual licensed under the MIT or GPL Version 2 licenses.
++ * http://jquery.org/license
++ *
++ * http://docs.jquery.com/UI/Accordion
++ *
++ * Depends:
++ *    jquery.ui.core.js
++ *    jquery.ui.widget.js
++ */(function(a,b){a.widget("ui.accordion",{options:{active:0,animated:"slide",autoHeight:!0,clearStyle:!1,collapsible:!1,event:"click",fillSpace:!1,header:"> li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon-triangle-1-s"},navigation:!1,navigationFilter:function(){return this.href.toLowerCase()===location.href.toLowerCase()}},_create:function(){var b=this,c=b.options;b.running=0,b.element.addClass("ui-accordion ui-widget ui-helper-reset").children("li").addClass("ui-accordion-li-fix"),b.headers=b.element.find(c.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){c.disabled||a(this).addClass("ui-state-hover")}).bind("mouseleave.accordion",function(){c.disabled||a(this).removeClass("ui-state-hover")}).bind("focus.accordion",function(){c.disabled||a(this).addClass("ui-state-focus")}).bind("blur.accordion",function(){c.disabled||a(this).removeClass("ui-state-focus")}),b.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom");if(c.navigation){var d=b.element.find("a").filter(c.navigationFilter).eq(0);if(d.length){var e=d.closest(".ui-accordion-header");e.length?b.active=e:b.active=d.closest(".ui-accordion-content").prev()}}b.active=b._findActive(b.active||c.active).addClass("ui-state-default ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top"),b.active.next().addClass("ui-accordion-content-active"),b._createIcons(),b.resize(),b.element.attr("role","tablist"),b.headers.attr("role","tab").bind("keydown.accordion",function(a){return b._keydown(a)}).next().attr("role","tabpanel"),b.headers.not(b.active||"").attr({"aria-expanded":"false","aria-selected":"false",tabIndex:-1}).next().hide(),b.active.length?b.active.attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}):b.headers.eq(0).attr("tabIndex",0),a.browser.safari||b.headers.find("a").attr("tabIndex",-1),c.event&&b.headers.bind(c.event.split(" ").join(".accordion ")+".accordion",function(a){b._clickHandler.call(b,a,this),a.preventDefault()})},_createIcons:function(){var b=this.options;b.icons&&(a("<span></span>").addClass("ui-icon "+b.icons.header).prependTo(this.headers),this.active.children(".ui-icon").toggleClass(b.icons.header).toggleClass(b.icons.headerSelected),this.element.addClass("ui-accordion-icons"))},_destroyIcons:function(){this.headers.children(".ui-icon").remove(),this.element.removeClass("ui-accordion-icons")},destroy:function(){var b=this.options;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-accordion-disabled ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("tabIndex"),this.headers.find("a").removeAttr("tabIndex"),this._destroyIcons();var c=this.headers.next().css("display","").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-accordion-disabled ui-state-disabled");(b.autoHeight||b.fillHeight)&&c.css("height","");return a.Widget.prototype.destroy.call(this)},_setOption:function(b,c){a.Widget.prototype._setOption.apply(this,arguments),b=="active"&&this.activate(c),b=="icons"&&(this._destroyIcons(),c&&this._createIcons()),b=="disabled"&&this.headers.add(this.headers.next())[c?"addClass":"removeClass"]("ui-accordion-disabled ui-state-disabled")},_keydown:function(b){if(!(this.options.disabled||b.altKey||b.ctrlKey)){var c=a.ui.keyCode,d=this.headers.length,e=this.headers.index(b.target),f=!1;switch(b.keyCode){case c.RIGHT:case c.DOWN:f=this.headers[(e+1)%d];break;case c.LEFT:case c.UP:f=this.headers[(e-1+d)%d];break;case c.SPACE:case c.ENTER:this._clickHandler({target:b.target},b.target),b.preventDefault()}if(f){a(b.target).attr("tabIndex",-1),a(f).attr("tabIndex",0),f.focus();return!1}return!0}},resize:function(){var b=this.options,c;if(b.fillSpace){if(a.browser.msie){var d=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}c=this.element.parent().height(),a.browser.msie&&this.element.parent().css("overflow",d),this.headers.each(function(){c-=a(this).outerHeight(!0)}),this.headers.next().each(function(){a(this).height(Math.max(0,c-a(this).innerHeight()+a(this).height()))}).css("overflow","auto")}else b.autoHeight&&(c=0,this.headers.next().each(function(){c=Math.max(c,a(this).height("").height())}).height(c));return this},activate:function(a){this.options.active=a;var b=this._findActive(a)[0];this._clickHandler({target:b},b);return this},_findActive:function(b){return b?typeof b=="number"?this.headers.filter(":eq("+b+")"):this.headers.not(this.headers.not(b)):b===!1?a([]):this.headers.filter(":eq(0)")},_clickHandler:function(b,c){var d=this.options;if(!d.disabled){if(!b.target){if(!d.collapsible)return;this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header),this.active.next().addClass("ui-accordion-content-active");var e=this.active.next(),f={options:d,newHeader:a([]),oldHeader:d.active,newContent:a([]),oldContent:e},g=this.active=a([]);this._toggle(g,e,f);return}var h=a(b.currentTarget||c),i=h[0]===this.active[0];d.active=d.collapsible&&i?!1:this.headers.index(h);if(this.running||!d.collapsible&&i)return;var j=this.active,g=h.next(),e=this.active.next(),f={options:d,newHeader:i&&d.collapsible?a([]):h,oldHeader:this.active,newContent:i&&d.collapsible?a([]):g,oldContent:e},k=this.headers.index(this.active[0])>this.headers.index(h[0]);this.active=i?a([]):h,this._toggle(g,e,f,i,k),j.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header),i||(h.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").children(".ui-icon").removeClass(d.icons.header).addClass(d.icons.headerSelected),h.next().addClass("ui-accordion-content-active"));return}},_toggle:function(b,c,d,e,f){var g=this,h=g.options;g.toShow=b,g.toHide=c,g.data=d;var i=function(){if(!!g)return g._completed.apply(g,arguments)};g._trigger("changestart",null,g.data),g.running=c.size()===0?b.size():c.size();if(h.animated){var j={};h.collapsible&&e?j={toShow:a([]),toHide:c,complete:i,down:f,autoHeight:h.autoHeight||h.fillSpace}:j={toShow:b,toHide:c,complete:i,down:f,autoHeight:h.autoHeight||h.fillSpace},h.proxied||(h.proxied=h.animated),h.proxiedDuration||(h.proxiedDuration=h.duration),h.animated=a.isFunction(h.proxied)?h.proxied(j):h.proxied,h.duration=a.isFunction(h.proxiedDuration)?h.proxiedDuration(j):h.proxiedDuration;var k=a.ui.accordion.animations,l=h.duration,m=h.animated;m&&!k[m]&&!a.easing[m]&&(m="slide"),k[m]||(k[m]=function(a){this.slide(a,{easing:m,duration:l||700})}),k[m](j)}else h.collapsible&&e?b.toggle():(c.hide(),b.show()),i(!0);c.prev().attr({"aria-expanded":"false","aria-selected":"false",tabIndex:-1}).blur(),b.prev().attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}).focus()},_completed:function(a){this.running=a?0:--this.running;this.running||(this.options.clearStyle&&this.toShow.add(this.toHide).css({height:"",overflow:""}),this.toHide.removeClass("ui-accordion-content-active"),this.toHide.length&&(this.toHide.parent()[0].className=this.toHide.parent()[0].className),this._trigger("change",null,this.data))}}),a.extend(a.ui.accordion,{version:"1.8.18",animations:{slide:function(b,c){b=a.extend({easing:"swing",duration:300},b,c);if(!b.toHide.size())b.toShow.animate({height:"show",paddingTop:"show",paddingBottom:"show"},b);else{if(!b.toShow.size()){b.toHide.animate({height:"hide",paddingTop:"hide",paddingBottom:"hide"},b);return}var d=b.toShow.css("overflow"),e=0,f={},g={},h=["height","paddingTop","paddingBottom"],i,j=b.toShow;i=j[0].style.width,j.width(j.parent().width()-parseFloat(j.css("paddingLeft"))-parseFloat(j.css("paddingRight"))-(parseFloat(j.css("borderLeftWidth"))||0)-(parseFloat(j.css("borderRightWidth"))||0)),a.each(h,function(c,d){g[d]="hide";var e=(""+a.css(b.toShow[0],d)).match(/^([\d+-.]+)(.*)$/);f[d]={value:e[1],unit:e[2]||"px"}}),b.toShow.css({height:0,overflow:"hidden"}).show(),b.toHide.filter(":hidden").each(b.complete).end().filter(":visible").animate(g,{step:function(a,c){c.prop=="height"&&(e=c.end-c.start===0?0:(c.now-c.start)/(c.end-c.start)),b.toShow[0].style[c.prop]=e*f[c.prop].value+f[c.prop].unit},duration:b.duration,easing:b.easing,complete:function(){b.autoHeight||b.toShow.css("height",""),b.toShow.css({width:i,overflow:d}),b.complete()}})}},bounceslide:function(a){this.slide(a,{easing:a.down?"easeOutBounce":"swing",duration:a.down?1e3:200})}}})})(jQuery);/*
++ * jQuery UI Autocomplete 1.8.18
++ *
++ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
++ * Dual licensed under the MIT or GPL Version 2 licenses.
++ * http://jquery.org/license
++ *
++ * http://docs.jquery.com/UI/Autocomplete
++ *
++ * Depends:
++ *    jquery.ui.core.js
++ *    jquery.ui.widget.js
++ *    jquery.ui.position.js
++ */(function(a,b){var c=0;a.widget("ui.autocomplete",{options:{appendTo:"body",autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null},pending:0,_create:function(){var b=this,c=this.element[0].ownerDocument,d;this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(c){if(!b.options.disabled&&!b.element.propAttr("readOnly")){d=!1;var e=a.ui.keyCode;switch(c.keyCode){case e.PAGE_UP:b._move("previousPage",c);break;case e.PAGE_DOWN:b._move("nextPage",c);break;case e.UP:b._move("previous",c),c.preventDefault();break;case e.DOWN:b._move("next",c),c.preventDefault();break;case e.ENTER:case e.NUMPAD_ENTER:b.menu.active&&(d=!0,c.preventDefault());case e.TAB:if(!b.menu.active)return;b.menu.select(c);break;case e.ESCAPE:b.element.val(b.term),b.close(c);break;default:clearTimeout(b.searching),b.searching=setTimeout(function(){b.term!=b.element.val()&&(b.selectedItem=null,b.search(null,c))},b.options.delay)}}}).bind("keypress.autocomplete",function(a){d&&(d=!1,a.preventDefault())}).bind("focus.autocomplete",function(){b.options.disabled||(b.selectedItem=null,b.previous=b.element.val())}).bind("blur.autocomplete",function(a){b.options.disabled||(clearTimeout(b.searching),b.closing=setTimeout(function(){b.close(a),b._change(a)},150))}),this._initSource(),this.response=function(){return b._response.apply(b,arguments)},this.menu=a("<ul></ul>").addClass("ui-autocomplete").appendTo(a(this.options.appendTo||"body",c)[0]).mousedown(function(c){var d=b.menu.element[0];a(c.target).closest(".ui-menu-item").length||setTimeout(function(){a(document).one("mousedown",function(c){c.target!==b.element[0]&&c.target!==d&&!a.ui.contains(d,c.target)&&b.close()})},1),setTimeout(function(){clearTimeout(b.closing)},13)}).menu({focus:function(a,c){var d=c.item.data("item.autocomplete");!1!==b._trigger("focus",a,{item:d})&&/^key/.test(a.originalEvent.type)&&b.element.val(d.value)},selected:function(a,d){var e=d.item.data("item.autocomplete"),f=b.previous;b.element[0]!==c.activeElement&&(b.element.focus(),b.previous=f,setTimeout(function(){b.previous=f,b.selectedItem=e},1)),!1!==b._trigger("select",a,{item:e})&&b.element.val(e.value),b.term=b.element.val(),b.close(a),b.selectedItem=e},blur:function(a,c){b.menu.element.is(":visible")&&b.element.val()!==b.term&&b.element.val(b.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu"),a.fn.bgiframe&&this.menu.element.bgiframe(),b.beforeunloadHandler=function(){b.element.removeAttr("autocomplete")},a(window).bind("beforeunload",b.beforeunloadHandler)},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup"),this.menu.element.remove(),a(window).unbind("beforeunload",this.beforeunloadHandler),a.Widget.prototype.destroy.call(this)},_setOption:function(b,c){a.Widget.prototype._setOption.apply(this,arguments),b==="source"&&this._initSource(),b==="appendTo"&&this.menu.element.appendTo(a(c||"body",this.element[0].ownerDocument)[0]),b==="disabled"&&c&&this.xhr&&this.xhr.abort()},_initSource:function(){var b=this,d,e;a.isArray(this.options.source)?(d=this.options.source,this.source=function(b,c){c(a.ui.autocomplete.filter(d,b.term))}):typeof this.options.source=="string"?(e=this.options.source,this.source=function(d,f){b.xhr&&b.xhr.abort(),b.xhr=a.ajax({url:e,data:d,dataType:"json",context:{autocompleteRequest:++c},success:function(a,b){this.autocompleteRequest===c&&f(a)},error:function(){this.autocompleteRequest===c&&f([])}})}):this.source=this.options.source},search:function(a,b){a=a!=null?a:this.element.val(),this.term=this.element.val();if(a.length<this.options.minLength)return this.close(b);clearTimeout(this.closing);if(this._trigger("search",b)!==!1)return this._search(a)},_search:function(a){this.pending++,this.element.addClass("ui-autocomplete-loading"),this.source({term:a},this.response)},_response:function(a){!this.options.disabled&&a&&a.length?(a=this._normalize(a),this._suggest(a),this._trigger("open")):this.close(),this.pending--,this.pending||this.element.removeClass("ui-autocomplete-loading")},close:function(a){clearTimeout(this.closing),this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.deactivate(),this._trigger("close",a))},_change:function(a){this.previous!==this.element.val()&&this._trigger("change",a,{item:this.selectedItem})},_normalize:function(b){if(b.length&&b[0].label&&b[0].value)return b;return a.map(b,function(b){if(typeof b=="string")return{label:b,value:b};return a.extend({label:b.label||b.value,value:b.value||b.label},b)})},_suggest:function(b){var c=this.menu.element.empty().zIndex(this.element.zIndex()+1);this._renderMenu(c,b),this.menu.deactivate(),this.menu.refresh(),c.show(),this._resizeMenu(),c.position(a.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next(new a.Event("mouseover"))},_resizeMenu:function(){var a=this.menu.element;a.outerWidth(Math.max(a.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(b,c){var d=this;a.each(c,function(a,c){d._renderItem(b,c)})},_renderItem:function(b,c){return a("<li></li>").data("item.autocomplete",c).append(a("<a></a>").text(c.label)).appendTo(b)},_move:function(a,b){if(!this.menu.element.is(":visible"))this.search(null,b);else{if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term),this.menu.deactivate();return}this.menu[a](b)}},widget:function(){return this.menu.element}}),a.extend(a.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},filter:function(b,c){var d=new RegExp(a.ui.autocomplete.escapeRegex(c),"i");return a.grep(b,function(a){return d.test(a.label||a.value||a)})}})})(jQuery),function(a){a.widget("ui.menu",{_create:function(){var b=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(c){!a(c.target).closest(".ui-menu-item a").length||(c.preventDefault(),b.select(c))}),this.refresh()},refresh:function(){var b=this,c=this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem");c.children("a").addClass("ui-corner-all").attr("tabindex",-1).mouseenter(function(c){b.activate(c,a(this).parent())}).mouseleave(function(){b.deactivate()})},activate:function(a,b){this.deactivate();if(this.hasScroll()){var c=b.offset().top-this.element.offset().top,d=this.element.scrollTop(),e=this.element.height();c<0?this.element.scrollTop(d+c):c>=e&&this.element.scrollTop(d+c-e+b.height())}this.active=b.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end(),this._trigger("focus",a,{item:b})},deactivate:function(){!this.active||(this.active.children("a").removeClass("ui-state-hover").removeAttr("id"),this._trigger("blur"),this.active=null)},next:function(a){this.move("next",".ui-menu-item:first",a)},previous:function(a){this.move("prev",".ui-menu-item:last",a)},first:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},last:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},move:function(a,b,c){if(!this.active)this.activate(c,this.element.children(b));else{var d=this.active[a+"All"](".ui-menu-item").eq(0);d.length?this.activate(c,d):this.activate(c,this.element.children(b))}},nextPage:function(b){if(this.hasScroll()){if(!this.active||this.last()){this.activate(b,this.element.children(".ui-menu-item:first"));return}var c=this.active.offset().top,d=this.element.height(),e=this.element.children(".ui-menu-item").filter(function(){var b=a(this).offset().top-c-d+a(this).height();return b<10&&b>-10});e.length||(e=this.element.children(".ui-menu-item:last")),this.activate(b,e)}else this.activate(b,this.element.children(".ui-menu-item").filter(!this.active||this.last()?":first":":last"))},previousPage:function(b){if(this.hasScroll()){if(!this.active||this.first()){this.activate(b,this.element.children(".ui-menu-item:last"));return}var c=this.active.offset().top,d=this.element.height();result=this.element.children(".ui-menu-item").filter(function(){var b=a(this).offset().top-c+d-a(this).height();return b<10&&b>-10}),result.length||(result=this.element.children(".ui-menu-item:first")),this.activate(b,result)}else this.activate(b,this.element.children(".ui-menu-item").filter(!this.active||this.first()?":last":":first"))},hasScroll:function(){return this.element.height()<this.element[a.fn.prop?"prop":"attr"]("scrollHeight")},select:function(a){this._trigger("selected",a,{item:this.active})}})}(jQuery);/*
++ * jQuery UI Button 1.8.18
++ *
++ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
++ * Dual licensed under the MIT or GPL Version 2 licenses.
++ * http://jquery.org/license
++ *
++ * http://docs.jquery.com/UI/Button
++ *
++ * Depends:
++ *    jquery.ui.core.js
++ *    jquery.ui.widget.js
++ */(function(a,b){var c,d,e,f,g="ui-button ui-widget ui-state-default ui-corner-all",h="ui-state-hover ui-state-active ",i="ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",j=function(){var b=a(this).find(":ui-button");setTimeout(function(){b.button("refresh")},1)},k=function(b){var c=b.name,d=b.form,e=a([]);c&&(d?e=a(d).find("[name='"+c+"']"):e=a("[name='"+c+"']",b.ownerDocument).filter(function(){return!this.form}));return e};a.widget("ui.button",{options:{disabled:null,text:!0,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset.button").bind("reset.button",j),typeof this.options.disabled!="boolean"?this.options.disabled=!!this.element.propAttr("disabled"):this.element.propAttr("disabled",this.options.disabled),this._determineButtonType(),this.hasTitle=!!this.buttonElement.attr("title");var b=this,h=this.options,i=this.type==="checkbox"||this.type==="radio",l="ui-state-hover"+(i?"":" ui-state-active"),m="ui-state-focus";h.label===null&&(h.label=this.buttonElement.html()),this.buttonElement.addClass(g).attr("role","button").bind("mouseenter.button",function(){h.disabled||(a(this).addClass("ui-state-hover"),this===c&&a(this).addClass("ui-state-active"))}).bind("mouseleave.button",function(){h.disabled||a(this).removeClass(l)}).bind("click.button",function(a){h.disabled&&(a.preventDefault(),a.stopImmediatePropagation())}),this.element.bind("focus.button",function(){b.buttonElement.addClass(m)}).bind("blur.button",function(){b.buttonElement.removeClass(m)}),i&&(this.element.bind("change.button",function(){f||b.refresh()}),this.buttonElement.bind("mousedown.button",function(a){h.disabled||(f=!1,d=a.pageX,e=a.pageY)}).bind("mouseup.button",function(a){!h.disabled&&(d!==a.pageX||e!==a.pageY)&&(f=!0)})),this.type==="checkbox"?this.buttonElement.bind("click.button",function(){if(h.disabled||f)return!1;a(this).toggleClass("ui-state-active"),b.buttonElement.attr("aria-pressed",b.element[0].checked)}):this.type==="radio"?this.buttonElement.bind("click.button",function(){if(h.disabled||f)return!1;a(this).addClass("ui-state-active"),b.buttonElement.attr("aria-pressed","true");var c=b.element[0];k(c).not(c).map(function(){return a(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed","false")}):(this.buttonElement.bind("mousedown.button",function(){if(h.disabled)return!1;a(this).addClass("ui-state-active"),c=this,a(document).one("mouseup",function(){c=null})}).bind("mouseup.button",function(){if(h.disabled)return!1;a(this).removeClass("ui-state-active")}).bind("keydown.button",function(b){if(h.disabled)return!1;(b.keyCode==a.ui.keyCode.SPACE||b.keyCode==a.ui.keyCode.ENTER)&&a(this).addClass("ui-state-active")}).bind("keyup.button",function(){a(this).removeClass("ui-state-active")}),this.buttonElement.is("a")&&this.buttonElement.keyup(function(b){b.keyCode===a.ui.keyCode.SPACE&&a(this).click()})),this._setOption("disabled",h.disabled),this._resetButton()},_determineButtonType:function(){this.element.is(":checkbox")?this.type="checkbox":this.element.is(":radio")?this.type="radio":this.element.is("input")?this.type="input":this.type="button";if(this.type==="checkbox"||this.type==="radio"){var a=this.element.parents().filter(":last"),b="label[for='"+this.element.attr("id")+"']";this.buttonElement=a.find(b),this.buttonElement.length||(a=a.length?a.siblings():this.element.siblings(),this.buttonElement=a.filter(b),this.buttonElement.length||(this.buttonElement=a.find(b))),this.element.addClass("ui-helper-hidden-accessible");var c=this.element.is(":checked");c&&this.buttonElement.addClass("ui-state-active"),this.buttonElement.attr("aria-pressed",c)}else this.buttonElement=this.element},widget:function(){return this.buttonElement},destroy:function(){this.element.removeClass("ui-helper-hidden-accessible"),this.buttonElement.removeClass(g+" "+h+" "+i).removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html()),this.hasTitle||this.buttonElement.removeAttr("title"),a.Widget.prototype.destroy.call(this)},_setOption:function(b,c){a.Widget.prototype._setOption.apply(this,arguments);b==="disabled"?c?this.element.propAttr("disabled",!0):this.element.propAttr("disabled",!1):this._resetButton()},refresh:function(){var b=this.element.is(":disabled");b!==this.options.disabled&&this._setOption("disabled",b),this.type==="radio"?k(this.element[0]).each(function(){a(this).is(":checked")?a(this).button("widget").addClass("ui-state-active").attr("aria-pressed","true"):a(this).button("widget").removeClass("ui-state-active").attr("aria-pressed","false")}):this.type==="checkbox"&&(this.element.is(":checked")?this.buttonElement.addClass("ui-state-active").attr("aria-pressed","true"):this.buttonElement.removeClass("ui-state-active").attr("aria-pressed","false"))},_resetButton:function(){if(this.type==="input")this.options.label&&this.element.val(this.options.label);else{var b=this.buttonElement.removeClass(i),c=a("<span></span>",this.element[0].ownerDocument).addClass("ui-button-text").html(this.options.label).appendTo(b.empty()).text(),d=this.options.icons,e=d.primary&&d.secondary,f=[];d.primary||d.secondary?(this.options.text&&f.push("ui-button-text-icon"+(e?"s":d.primary?"-primary":"-secondary")),d.primary&&b.prepend("<span class='ui-button-icon-primary ui-icon "+d.primary+"'></span>"),d.secondary&&b.append("<span class='ui-button-icon-secondary ui-icon "+d.secondary+"'></span>"),this.options.text||(f.push(e?"ui-button-icons-only":"ui-button-icon-only"),this.hasTitle||b.attr("title",c))):f.push("ui-button-text-only"),b.addClass(f.join(" "))}}}),a.widget("ui.buttonset",{options:{items:":button, :submit, :reset, :checkbox, :radio, a, :data(button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(b,c){b==="disabled"&&this.buttons.button("option",b,c),a.Widget.prototype._setOption.apply(this,arguments)},refresh:function(){var b=this.element.css("direction")==="rtl";this.buttons=this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(b?"ui-corner-right":"ui-corner-left").end().filter(":last").addClass(b?"ui-corner-left":"ui-corner-right").end().end()},destroy:function(){this.element.removeClass("ui-buttonset"),this.buttons.map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy"),a.Widget.prototype.destroy.call(this)}})})(jQuery);/*
++ * jQuery UI Dialog 1.8.18
++ *
++ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
++ * Dual licensed under the MIT or GPL Version 2 licenses.
++ * http://jquery.org/license
++ *
++ * http://docs.jquery.com/UI/Dialog
++ *
++ * Depends:
++ *    jquery.ui.core.js
++ *    jquery.ui.widget.js
++ *  jquery.ui.button.js
++ *    jquery.ui.draggable.js
++ *    jquery.ui.mouse.js
++ *    jquery.ui.position.js
++ *    jquery.ui.resizable.js
++ */(function(a,b){var c="ui-dialog ui-widget ui-widget-content ui-corner-all ",d={buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},e={maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},f=a.attrFn||{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0,click:!0};a.widget("ui.dialog",{options:{autoOpen:!0,buttons:{},closeOnEscape:!0,closeText:"close",dialogClass:"",draggable:!0,hide:null,height:"auto",maxHeight:!1,maxWidth:!1,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",collision:"fit",using:function(b){var c=a(this).css(b).offset().top;c<0&&a(this).css("top",b.top-c)}},resizable:!0,show:null,stack:!0,title:"",width:300,zIndex:1e3},_create:function(){this.originalTitle=this.element.attr("title"),typeof this.originalTitle!="string"&&(this.originalTitle=""),this.options.title=this.options.title||this.originalTitle;var b=this,d=b.options,e=d.title||"&#160;",f=a.ui.dialog.getTitleId(b.element),g=(b.uiDialog=a("<div></div>")).appendTo(document.body).hide().addClass(c+d.dialogClass).css({zIndex:d.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(c){d.closeOnEscape&&!c.isDefaultPrevented()&&c.keyCode&&c.keyCode===a.ui.keyCode.ESCAPE&&(b.close(c),c.preventDefault())}).attr({role:"dialog","aria-labelledby":f}).mousedown(function(a){b.moveToTop(!1,a)}),h=b.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g),i=(b.uiDialogTitlebar=a("<div></div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g),j=a('<a href="#"></a>').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){j.addClass("ui-state-hover")},function(){j.removeClass("ui-state-hover")}).focus(function(){j.addClass("ui-state-focus")}).blur(function(){j.removeClass("ui-state-focus")}).click(function(a){b.close(a);return!1}).appendTo(i),k=(b.uiDialogTitlebarCloseText=a("<span></span>")).addClass("ui-icon ui-icon-closethick").text(d.closeText).appendTo(j),l=a("<span></span>").addClass("ui-dialog-title").attr("id",f).html(e).prependTo(i);a.isFunction(d.beforeclose)&&!a.isFunction(d.beforeClose)&&(d.beforeClose=d.beforeclose),i.find("*").add(i).disableSelection(),d.draggable&&a.fn.draggable&&b._makeDraggable(),d.resizable&&a.fn.resizable&&b._makeResizable(),b._createButtons(d.buttons),b._isOpen=!1,a.fn.bgiframe&&g.bgiframe()},_init:function(){this.options.autoOpen&&this.open()},destroy:function(){var a=this;a.overlay&&a.overlay.destroy(),a.uiDialog.hide(),a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body"),a.uiDialog.remove(),a.originalTitle&&a.element.attr("title",a.originalTitle);return a},widget:function(){return this.uiDialog},close:function(b){var c=this,d,e;if(!1!==c._trigger("beforeClose",b)){c.overlay&&c.overlay.destroy(),c.uiDialog.unbind("keypress.ui-dialog"),c._isOpen=!1,c.options.hide?c.uiDialog.hide(c.options.hide,function(){c._trigger("close",b)}):(c.uiDialog.hide(),c._trigger("close",b)),a.ui.dialog.overlay.resize(),c.options.modal&&(d=0,a(".ui-dialog").each(function(){this!==c.uiDialog[0]&&(e=a(this).css("z-index"),isNaN(e)||(d=Math.max(d,e)))}),a.ui.dialog.maxZ=d);return c}},isOpen:function(){return this._isOpen},moveToTop:function(b,c){var d=this,e=d.options,f;if(e.modal&&!b||!e.stack&&!e.modal)return d._trigger("focus",c);e.zIndex>a.ui.dialog.maxZ&&(a.ui.dialog.maxZ=e.zIndex),d.overlay&&(a.ui.dialog.maxZ+=1,d.overlay.$el.css("z-index",a.ui.dialog.overlay.maxZ=a.ui.dialog.maxZ)),f={scrollTop:d.element.scrollTop(),scrollLeft:d.element.scrollLeft()},a.ui.dialog.maxZ+=1,d.uiDialog.css("z-index",a.ui.dialog.maxZ),d.element.attr(f),d._trigger("focus",c);return d},open:function(){if(!this._isOpen){var b=this,c=b.options,d=b.uiDialog;b.overlay=c.modal?new a.ui.dialog.overlay(b):null,b._size(),b._position(c.position),d.show(c.show),b.moveToTop(!0),c.modal&&d.bind("keydown.ui-dialog",function(b){if(b.keyCode===a.ui.keyCode.TAB){var c=a(":tabbable",this),d=c.filter(":first"),e=c.filter(":last");if(b.target===e[0]&&!b.shiftKey){d.focus(1);return!1}if(b.target===d[0]&&b.shiftKey){e.focus(1);return!1}}}),a(b.element.find(":tabbable").get().concat(d.find(".ui-dialog-buttonpane :tabbable").get().concat(d.get()))).eq(0).focus(),b._isOpen=!0,b._trigger("open");return b}},_createButtons:function(b){var c=this,d=!1,e=a("<div></div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),g=a("<div></div>").addClass("ui-dialog-buttonset").appendTo(e);c.uiDialog.find(".ui-dialog-buttonpane").remove(),typeof b=="object"&&b!==null&&a.each(b,function(){return!(d=!0)}),d&&(a.each(b,function(b,d){d=a.isFunction(d)?{click:d,text:b}:d;var e=a('<button type="button"></button>').click(function(){d.click.apply(c.element[0],arguments)}).appendTo(g);a.each(d,function(a,b){a!=="click"&&(a in f?e[a](b):e.attr(a,b))}),a.fn.button&&e.button()}),e.appendTo(c.uiDialog))},_makeDraggable:function(){function f(a){return{position:a.position,offset:a.offset}}var b=this,c=b.options,d=a(document),e;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(d,g){e=c.height==="auto"?"auto":a(this).height(),a(this).height(a(this).height()).addClass("ui-dialog-dragging"),b._trigger("dragStart",d,f(g))},drag:function(a,c){b._trigger("drag",a,f(c))},stop:function(g,h){c.position=[h.position.left-d.scrollLeft(),h.position.top-d.scrollTop()],a(this).removeClass("ui-dialog-dragging").height(e),b._trigger("dragStop",g,f(h)),a.ui.dialog.overlay.resize()}})},_makeResizable:function(c){function h(a){return{originalPosition:a.originalPosition,originalSize:a.originalSize,position:a.position,size:a.size}}c=c===b?this.options.resizable:c;var d=this,e=d.options,f=d.uiDialog.css("position"),g=typeof c=="string"?c:"n,e,s,w,se,sw,ne,nw";d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:e.maxWidth,maxHeight:e.maxHeight,minWidth:e.minWidth,minHeight:d._minHeight(),handles:g,start:function(b,c){a(this).addClass("ui-dialog-resizing"),d._trigger("resizeStart",b,h(c))},resize:function(a,b){d._trigger("resize",a,h(b))},stop:function(b,c){a(this).removeClass("ui-dialog-resizing"),e.height=a(this).height(),e.width=a(this).width(),d._trigger("resizeStop",b,h(c)),a.ui.dialog.overlay.resize()}}).css("position",f).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var a=this.options;return a.height==="auto"?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(b){var c=[],d=[0,0],e;if(b){if(typeof b=="string"||typeof b=="object"&&"0"in b)c=b.split?b.split(" "):[b[0],b[1]],c.length===1&&(c[1]=c[0]),a.each(["left","top"],function(a,b){+c[a]===c[a]&&(d[a]=c[a],c[a]=b)}),b={my:c.join(" "),at:c.join(" "),offset:d.join(" ")};b=a.extend({},a.ui.dialog.prototype.options.position,b)}else b=a.ui.dialog.prototype.options.position;e=this.uiDialog.is(":visible"),e||this.uiDialog.show(),this.uiDialog.css({top:0,left:0}).position(a.extend({of:window},b)),e||this.uiDialog.hide()},_setOptions:function(b){var c=this,f={},g=!1;a.each(b,function(a,b){c._setOption(a,b),a in d&&(g=!0),a in e&&(f[a]=b)}),g&&this._size(),this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option",f)},_setOption:function(b,d){var e=this,f=e.uiDialog;switch(b){case"beforeclose":b="beforeClose";break;case"buttons":e._createButtons(d);break;case"closeText":e.uiDialogTitlebarCloseText.text(""+d);break;case"dialogClass":f.removeClass(e.options.dialogClass).addClass(c+d);break;case"disabled":d?f.addClass("ui-dialog-disabled"):f.removeClass("ui-dialog-disabled");break;case"draggable":var g=f.is(":data(draggable)");g&&!d&&f.draggable("destroy"),!g&&d&&e._makeDraggable();break;case"position":e._position(d);break;case"resizable":var h=f.is(":data(resizable)");h&&!d&&f.resizable("destroy"),h&&typeof d=="string"&&f.resizable("option","handles",d),!h&&d!==!1&&e._makeResizable(d);break;case"title":a(".ui-dialog-title",e.uiDialogTitlebar).html(""+(d||"&#160;"))}a.Widget.prototype._setOption.apply(e,arguments)},_size:function(){var b=this.options,c,d,e=this.uiDialog.is(":visible");this.element.show().css({width:"auto",minHeight:0,height:0}),b.minWidth>b.width&&(b.width=b.minWidth),c=this.uiDialog.css({height:"auto",width:b.width}).height(),d=Math.max(0,b.minHeight-c);if(b.height==="auto")if(a.support.minHeight)this.element.css({minHeight:d,height:"auto"});else{this.uiDialog.show();var f=this.element.css("height","auto").height();e||this.uiDialog.hide(),this.element.height(Math.max(f,d))}else this.element.height(Math.max(b.height-c,0));this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())}}),a.extend(a.ui.dialog,{version:"1.8.18",uuid:0,maxZ:0,getTitleId:function(a){var b=a.attr("id");b||(this.uuid+=1,b=this.uuid);return"ui-dialog-title-"+b},overlay:function(b){this.$el=a.ui.dialog.overlay.create(b)}}),a.extend(a.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:a.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "),create:function(b){this.instances.length===0&&(setTimeout(function(){a.ui.dialog.overlay.instances.length&&a(document).bind(a.ui.dialog.overlay.events,function(b){if(a(b.target).zIndex()<a.ui.dialog.overlay.maxZ)return!1})},1),a(document).bind("keydown.dialog-overlay",function(c){b.options.closeOnEscape&&!c.isDefaultPrevented()&&c.keyCode&&c.keyCode===a.ui.keyCode.ESCAPE&&(b.close(c),c.preventDefault())}),a(window).bind("resize.dialog-overlay",a.ui.dialog.overlay.resize));var c=(this.oldInstances.pop()||a("<div></div>").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(),height:this.height()});a.fn.bgiframe&&c.bgiframe(),this.instances.push(c);return c},destroy:function(b){var c=a.inArray(b,this.instances);c!=-1&&this.oldInstances.push(this.instances.splice(c,1)[0]),this.instances.length===0&&a([document,window]).unbind(".dialog-overlay"),b.remove();var d=0;a.each(this.instances,function(){d=Math.max(d,this.css("z-index"))}),this.maxZ=d},height:function(){var b,c;if(a.browser.msie&&a.browser.version<7){b=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),c=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);return b<c?a(window).height()+"px":b+"px"}return a(document).height()+"px"},width:function(){var b,c;if(a.browser.msie){b=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth),c=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth);return b<c?a(window).width()+"px":b+"px"}return a(document).width()+"px"},resize:function(){var b=a([]);a.each(a.ui.dialog.overlay.instances,function(){b=b.add(this)}),b.css({width:0,height:0}).css({width:a.ui.dialog.overlay.width(),height:a.ui.dialog.overlay.height()})}}),a.extend(a.ui.dialog.overlay.prototype,{destroy:function(){a.ui.dialog.overlay.destroy(this.$el)}})})(jQuery);/*
++ * jQuery UI Slider 1.8.18
++ *
++ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
++ * Dual licensed under the MIT or GPL Version 2 licenses.
++ * http://jquery.org/license
++ *
++ * http://docs.jquery.com/UI/Slider
++ *
++ * Depends:
++ *    jquery.ui.core.js
++ *    jquery.ui.mouse.js
++ *    jquery.ui.widget.js
++ */(function(a,b){var c=5;a.widget("ui.slider",a.ui.mouse,{widgetEventPrefix:"slide",options:{animate:!1,distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null},_create:function(){var b=this,d=this.options,e=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),f="<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>",g=d.values&&d.values.length||1,h=[];this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget"+" ui-widget-content"+" ui-corner-all"+(d.disabled?" ui-slider-disabled ui-disabled":"")),this.range=a([]),d.range&&(d.range===!0&&(d.values||(d.values=[this._valueMin(),this._valueMin()]),d.values.length&&d.values.length!==2&&(d.values=[d.values[0],d.values[0]])),this.range=a("<div></div>").appendTo(this.element).addClass("ui-slider-range ui-widget-header"+(d.range==="min"||d.range==="max"?" ui-slider-range-"+d.range:"")));for(var i=e.length;i<g;i+=1)h.push(f);this.handles=e.add(a(h.join("")).appendTo(b.element)),this.handle=this.handles.eq(0),this.handles.add(this.range).filter("a").click(function(a){a.preventDefault()}).hover(function(){d.disabled||a(this).addClass("ui-state-hover")},function(){a(this).removeClass("ui-state-hover")}).focus(function(){d.disabled?a(this).blur():(a(".ui-slider .ui-state-focus").removeClass("ui-state-focus"),a(this).addClass("ui-state-focus"))}).blur(function(){a(this).removeClass("ui-state-focus")}),this.handles.each(function(b){a(this).data("index.ui-slider-handle",b)}),this.handles.keydown(function(d){var e=a(this).data("index.ui-slider-handle"),f,g,h,i;if(!b.options.disabled){switch(d.keyCode){case a.ui.keyCode.HOME:case a.ui.keyCode.END:case a.ui.keyCode.PAGE_UP:case a.ui.keyCode.PAGE_DOWN:case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:d.preventDefault();if(!b._keySliding){b._keySliding=!0,a(this).addClass("ui-state-active"),f=b._start(d,e);if(f===!1)return}}i=b.options.step,b.options.values&&b.options.values.length?g=h=b.values(e):g=h=b.value();switch(d.keyCode){case a.ui.keyCode.HOME:h=b._valueMin();break;case a.ui.keyCode.END:h=b._valueMax();break;case a.ui.keyCode.PAGE_UP:h=b._trimAlignValue(g+(b._valueMax()-b._valueMin())/c);break;case a.ui.keyCode.PAGE_DOWN:h=b._trimAlignValue(g-(b._valueMax()-b._valueMin())/c);break;case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:if(g===b._valueMax())return;h=b._trimAlignValue(g+i);break;case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:if(g===b._valueMin())return;h=b._trimAlignValue(g-i)}b._slide(d,e,h)}}).keyup(function(c){var d=a(this).data("index.ui-slider-handle");b._keySliding&&(b._keySliding=!1,b._stop(c,d),b._change(c,d),a(this).removeClass("ui-state-active"))}),this._refreshValue(),this._animateOff=!1},destroy:function(){this.handles.remove(),this.range.remove(),this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider"),this._mouseDestroy();return this},_mouseCapture:function(b){var c=this.options,d,e,f,g,h,i,j,k,l;if(c.disabled)return!1;this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),d={x:b.pageX,y:b.pageY},e=this._normValueFromMouse(d),f=this._valueMax()-this._valueMin()+1,h=this,this.handles.each(function(b){var c=Math.abs(e-h.values(b));f>c&&(f=c,g=a(this),i=b)}),c.range===!0&&this.values(1)===c.min&&(i+=1,g=a(this.handles[i])),j=this._start(b,i);if(j===!1)return!1;this._mouseSliding=!0,h._handleIndex=i,g.addClass("ui-state-active").focus(),k=g.offset(),l=!a(b.target).parents().andSelf().is(".ui-slider-handle"),this._clickOffset=l?{left:0,top:0}:{left:b.pageX-k.left-g.width()/2,top:b.pageY-k.top-g.height()/2-(parseInt(g.css("borderTopWidth"),10)||0)-(parseInt(g.css("borderBottomWidth"),10)||0)+(parseInt(g.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(b,i,e),this._animateOff=!0;return!0},_mouseStart:function(a){return!0},_mouseDrag:function(a){var b={x:a.pageX,y:a.pageY},c=this._normValueFromMouse(b);this._slide(a,this._handleIndex,c);return!1},_mouseStop:function(a){this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(a,this._handleIndex),this._change(a,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1;return!1},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(a){var b,c,d,e,f;this.orientation==="horizontal"?(b=this.elementSize.width,c=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(b=this.elementSize.height,c=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),d=c/b,d>1&&(d=1),d<0&&(d=0),this.orientation==="vertical"&&(d=1-d),e=this._valueMax()-this._valueMin(),f=this._valueMin()+d*e;return this._trimAlignValue(f)},_start:function(a,b){var c={handle:this.handles[b],value:this.value()};this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values());return this._trigger("start",a,c)},_slide:function(a,b,c){var d,e,f;this.options.values&&this.options.values.length?(d=this.values(b?0:1),this.options.values.length===2&&this.options.range===!0&&(b===0&&c>d||b===1&&c<d)&&(c=d),c!==this.values(b)&&(e=this.values(),e[b]=c,f=this._trigger("slide",a,{handle:this.handles[b],value:c,values:e}),d=this.values(b?0:1),f!==!1&&this.values(b,c,!0))):c!==this.value()&&(f=this._trigger("slide",a,{handle:this.handles[b],value:c}),f!==!1&&this.value(c))},_stop:function(a,b){var c={handle:this.handles[b],value:this.value()};this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._trigger("stop",a,c)},_change:function(a,b){if(!this._keySliding&&!this._mouseSliding){var c={handle:this.handles[b],value:this.value()};this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._trigger("change",a,c)}},value:function(a){if(arguments.length)this.options.value=this._trimAlignValue(a),this._refreshValue(),this._change(null,0);else return this._value()},values:function(b,c){var d,e,f;if(arguments.length>1)this.options.values[b]=this._trimAlignValue(c),this._refreshValue(),this._change(null,b);else{if(!arguments.length)return this._values();if(!a.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(b):this.value();d=this.options.values,e=arguments[0];for(f=0;f<d.length;f+=1)d[f]=this._trimAlignValue(e[f]),this._change(null,f);this._refreshValue()}},_setOption:function(b,c){var d,e=0;a.isArray(this.options.values)&&(e=this.options.values.length),a.Widget.prototype._setOption.apply(this,arguments);switch(b){case"disabled":c?(this.handles.filter(".ui-state-focus").blur(),this.handles.removeClass("ui-state-hover"),this.handles.propAttr("disabled",!0),this.element.addClass("ui-disabled")):(this.handles.propAttr("disabled",!1),this.element.removeClass("ui-disabled"));break;case"orientation":this._detectOrientation(),this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation),this._refreshValue();break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":this._animateOff=!0,this._refreshValue();for(d=0;d<e;d+=1)this._change(null,d);this._animateOff=!1}},_value:function(){var a=this.options.value;a=this._trimAlignValue(a);return a},_values:function(a){var b,c,d;if(arguments.length){b=this.options.values[a],b=this._trimAlignValue(b);return b}c=this.options.values.slice();for(d=0;d<c.length;d+=1)c[d]=this._trimAlignValue(c[d]);return c},_trimAlignValue:function(a){if(a<=this._valueMin())return this._valueMin();if(a>=this._valueMax())return this._valueMax();var b=this.options.step>0?this.options.step:1,c=(a-this._valueMin())%b,d=a-c;Math.abs(c)*2>=b&&(d+=c>0?b:-b);return parseFloat(d.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var b=this.options.range,c=this.options,d=this,e=this._animateOff?!1:c.animate,f,g={},h,i,j,k;this.options.values&&this.options.values.length?this.handles.each(function(b,i){f=(d.values(b)-d._valueMin())/(d._valueMax()-d._valueMin())*100,g[d.orientation==="horizontal"?"left":"bottom"]=f+"%",a(this).stop(1,1)[e?"animate":"css"](g,c.animate),d.options.range===!0&&(d.orientation==="horizontal"?(b===0&&d.range.stop(1,1)[e?"animate":"css"]({left:f+"%"},c.animate),b===1&&d.range[e?"animate":"css"]({width:f-h+"%"},{queue:!1,duration:c.animate})):(b===0&&d.range.stop(1,1)[e?"animate":"css"]({bottom:f+"%"},c.animate),b===1&&d.range[e?"animate":"css"]({height:f-h+"%"},{queue:!1,duration:c.animate}))),h=f}):(i=this.value(),j=this._valueMin(),k=this._valueMax(),f=k!==j?(i-j)/(k-j)*100:0,g[d.orientation==="horizontal"?"left":"bottom"]=f+"%",this.handle.stop(1,1)[e?"animate":"css"](g,c.animate),b==="min"&&this.orientation==="horizontal"&&this.range.stop(1,1)[e?"animate":"css"]({width:f+"%"},c.animate),b==="max"&&this.orientation==="horizontal"&&this.range[e?"animate":"css"]({width:100-f+"%"},{queue:!1,duration:c.animate}),b==="min"&&this.orientation==="vertical"&&this.range.stop(1,1)[e?"animate":"css"]({height:f+"%"},c.animate),b==="max"&&this.orientation==="vertical"&&this.range[e?"animate":"css"]({height:100-f+"%"},{queue:!1,duration:c.animate}))}}),a.extend(a.ui.slider,{version:"1.8.18"})})(jQuery);/*
++ * jQuery UI Tabs 1.8.18
++ *
++ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
++ * Dual licensed under the MIT or GPL Version 2 licenses.
++ * http://jquery.org/license
++ *
++ * http://docs.jquery.com/UI/Tabs
++ *
++ * Depends:
++ *    jquery.ui.core.js
++ *    jquery.ui.widget.js
++ */(function(a,b){function f(){return++d}function e(){return++c}var c=0,d=0;a.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:!1,cookie:null,collapsible:!1,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"<div></div>",remove:null,select:null,show:null,spinner:"<em>Loading&#8230;</em>",tabTemplate:"<li><a href='#{href}'><span>#{label}</span></a></li>"},_create:function(){this._tabify(!0)},_setOption:function(a,b){if(a=="selected"){if(this.options.collapsible&&b==this.options.selected)return;this.select(b)}else this.options[a]=b,this._tabify()},_tabId:function(a){return a.title&&a.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF-]/g,"")||this.options.idPrefix+e()},_sanitizeSelector:function(a){return a.replace(/:/g,"\\:")},_cookie:function(){var b=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+f());return a.cookie.apply(null,[b].concat(a.makeArray(arguments)))},_ui:function(a,b){return{tab:a,panel:b,index:this.anchors.index(a)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var b=a(this);b.html(b.data("label.tabs")).removeData("label.tabs")})},_tabify:function(c){function m(b,c){b.css("display",""),!a.support.opacity&&c.opacity&&b[0].style.removeAttribute("filter")}var d=this,e=this.options,f=/^#.+/;this.list=this.element.find("ol,ul").eq(0),this.lis=a(" > li:has(a[href])",this.list),this.anchors=this.lis.map(function(){return a("a",this)[0]}),this.panels=a([]),this.anchors.each(function(b,c){var g=a(c).attr("href"),h=g.split("#")[0],i;h&&(h===location.toString().split("#")[0]||(i=a("base")[0])&&h===i.href)&&(g=c.hash,c.href=g);if(f.test(g))d.panels=d.panels.add(d.element.find(d._sanitizeSelector(g)));else if(g&&g!=="#"){a.data(c,"href.tabs",g),a.data(c,"load.tabs",g.replace(/#.*$/,""));var j=d._tabId(c);c.href="#"+j;var k=d.element.find("#"+j);k.length||(k=a(e.panelTemplate).attr("id",j).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(d.panels[b-1]||d.list),k.data("destroy.tabs",!0)),d.panels=d.panels.add(k)}else e.disabled.push(b)}),c?(this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all"),this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"),this.lis.addClass("ui-state-default ui-corner-top"),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom"),e.selected===b?(location.hash&&this.anchors.each(function(a,b){if(b.hash==location.hash){e.selected=a;return!1}}),typeof e.selected!="number"&&e.cookie&&(e.selected=parseInt(d._cookie(),10)),typeof e.selected!="number"&&this.lis.filter(".ui-tabs-selected").length&&(e.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"))),e.selected=e.selected||(this.lis.length?0:-1)):e.selected===null&&(e.selected=-1),e.selected=e.selected>=0&&this.anchors[e.selected]||e.selected<0?e.selected:0,e.disabled=a.unique(e.disabled.concat(a.map(this.lis.filter(".ui-state-disabled"),function(a,b){return d.lis.index(a)}))).sort(),a.inArray(e.selected,e.disabled)!=-1&&e.disabled.splice(a.inArray(e.selected,e.disabled),1),this.panels.addClass("ui-tabs-hide"),this.lis.removeClass("ui-tabs-selected ui-state-active"),e.selected>=0&&this.anchors.length&&(d.element.find(d._sanitizeSelector(d.anchors[e.selected].hash)).removeClass("ui-tabs-hide"),this.lis.eq(e.selected).addClass("ui-tabs-selected ui-state-active"),d.element.queue("tabs",function(){d._trigger("show",null,d._ui(d.anchors[e.selected],d.element.find(d._sanitizeSelector(d.anchors[e.selected].hash))[0]))}),this.load(e.selected)),a(window).bind("unload",function(){d.lis.add(d.anchors).unbind(".tabs"),d.lis=d.anchors=d.panels=null})):e.selected=this.lis.index(this.lis.filter(".ui-tabs-selected")),this.element[e.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible"),e.cookie&&this._cookie(e.selected,e.cookie);for(var g=0,h;h=this.lis[g];g++)a(h)[a.inArray(g,e.disabled)!=-1&&!a(h).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");e.cache===!1&&this.anchors.removeData("cache.tabs"),this.lis.add(this.anchors).unbind(".tabs");if(e.event!=="mouseover"){var i=function(a,b){b.is(":not(.ui-state-disabled)")&&b.addClass("ui-state-"+a)},j=function(a,b){b.removeClass("ui-state-"+a)};this.lis.bind("mouseover.tabs",function(){i("hover",a(this))}),this.lis.bind("mouseout.tabs",function(){j("hover",a(this))}),this.anchors.bind("focus.tabs",function(){i("focus",a(this).closest("li"))}),this.anchors.bind("blur.tabs",function(){j("focus",a(this).closest("li"))})}var k,l;e.fx&&(a.isArray(e.fx)?(k=e.fx[0],l=e.fx[1]):k=l=e.fx);var n=l?function(b,c){a(b).closest("li").addClass("ui-tabs-selected ui-state-active"),c.hide().removeClass("ui-tabs-hide").animate(l,l.duration||"normal",function(){m(c,l),d._trigger("show",null,d._ui(b,c[0]))})}:function(b,c){a(b).closest("li").addClass("ui-tabs-selected ui-state-active"),c.removeClass("ui-tabs-hide"),d._trigger("show",null,d._ui(b,c[0]))},o=k?function(a,b){b.animate(k,k.duration||"normal",function(){d.lis.removeClass("ui-tabs-selected ui-state-active"),b.addClass("ui-tabs-hide"),m(b,k),d.element.dequeue("tabs")})}:function(a,b,c){d.lis.removeClass("ui-tabs-selected ui-state-active"),b.addClass("ui-tabs-hide"),d.element.dequeue("tabs")};this.anchors.bind(e.event+".tabs",function(){var b=this,c=a(b).closest("li"),f=d.panels.filter(":not(.ui-tabs-hide)"),g=d.element.find(d._sanitizeSelector(b.hash));if(c.hasClass("ui-tabs-selected")&&!e.collapsible||c.hasClass("ui-state-disabled")||c.hasClass("ui-state-processing")||d.panels.filter(":animated").length||d._trigger("select",null,d._ui(this,g[0]))===!1){this.blur();return!1}e.selected=d.anchors.index(this),d.abort();if(e.collapsible){if(c.hasClass("ui-tabs-selected")){e.selected=-1,e.cookie&&d._cookie(e.selected,e.cookie),d.element.queue("tabs",function(){o(b,f)}).dequeue("tabs"),this.blur();return!1}if(!f.length){e.cookie&&d._cookie(e.selected,e.cookie),d.element.queue("tabs",function(){n(b,g)}),d.load(d.anchors.index(this)),this.blur();return!1}}e.cookie&&d._cookie(e.selected,e.cookie);if(g.length)f.length&&d.element.queue("tabs",function(){o(b,f)}),d.element.queue("tabs",function(){n(b,g)}),d.load(d.anchors.index(this));else throw"jQuery UI Tabs: Mismatching fragment identifier.";a.browser.msie&&this.blur()}),this.anchors.bind("click.tabs",function(){return!1})},_getIndex:function(a){typeof a=="string"&&(a=this.anchors.index(this.anchors.filter("[href$="+a+"]")));return a},destroy:function(){var b=this.options;this.abort(),this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs"),this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"),this.anchors.each(function(){var b=a.data(this,"href.tabs");b&&(this.href=b);var c=a(this).unbind(".tabs");a.each(["href","load","cache"],function(a,b){c.removeData(b+".tabs")})}),this.lis.unbind(".tabs").add(this.panels).each(function(){a.data(this,"destroy.tabs")?a(this).remove():a(this).removeClass(["ui-state-default","ui-corner-top","ui-tabs-selected","ui-state-active","ui-state-hover","ui-state-focus","ui-state-disabled","ui-tabs-panel","ui-widget-content","ui-corner-bottom","ui-tabs-hide"].join(" "))}),b.cookie&&this._cookie(null,b.cookie);return this},add:function(c,d,e){e===b&&(e=this.anchors.length);var f=this,g=this.options,h=a(g.tabTemplate.replace(/#\{href\}/g,c).replace(/#\{label\}/g,d)),i=c.indexOf("#")?this._tabId(a("a",h)[0]):c.replace("#","");h.addClass("ui-state-default ui-corner-top").data("destroy.tabs",!0);var j=f.element.find("#"+i);j.length||(j=a(g.panelTemplate).attr("id",i).data("destroy.tabs",!0)),j.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide"),e>=this.lis.length?(h.appendTo(this.list),j.appendTo(this.list[0].parentNode)):(h.insertBefore(this.lis[e]),j.insertBefore(this.panels[e])),g.disabled=a.map(g.disabled,function(a,b){return a>=e?++a:a}),this._tabify(),this.anchors.length==1&&(g.selected=0,h.addClass("ui-tabs-selected ui-state-active"),j.removeClass("ui-tabs-hide"),this.element.queue("tabs",function(){f._trigger("show",null,f._ui(f.anchors[0],f.panels[0]))}),this.load(0)),this._trigger("add",null,this._ui(this.anchors[e],this.panels[e]));return this},remove:function(b){b=this._getIndex(b);var c=this.options,d=this.lis.eq(b).remove(),e=this.panels.eq(b).remove();d.hasClass("ui-tabs-selected")&&this.anchors.length>1&&this.select(b+(b+1<this.anchors.length?1:-1)),c.disabled=a.map(a.grep(c.disabled,function(a,c){return a!=b}),function(a,c){return a>=b?--a:a}),this._tabify(),this._trigger("remove",null,this._ui(d.find("a")[0],e[0]));return this},enable:function(b){b=this._getIndex(b);var c=this.options;if(a.inArray(b,c.disabled)!=-1){this.lis.eq(b).removeClass("ui-state-disabled"),c.disabled=a.grep(c.disabled,function(a,c){return a!=b}),this._trigger("enable",null,this._ui(this.anchors[b],this.panels[b]));return this}},disable:function(a){a=this._getIndex(a);var b=this,c=this.options;a!=c.selected&&(this.lis.eq(a).addClass("ui-state-disabled"),c.disabled.push(a),c.disabled.sort(),this._trigger("disable",null,this._ui(this.anchors[a],this.panels[a])));return this},select:function(a){a=this._getIndex(a);if(a==-1)if(this.options.collapsible&&this.options.selected!=-1)a=this.options.selected;else return this;this.anchors.eq(a).trigger(this.options.event+".tabs");return this},load:function(b){b=this._getIndex(b);var c=this,d=this.options,e=this.anchors.eq(b)[0],f=a.data(e,"load.tabs");this.abort();if(!f||this.element.queue("tabs").length!==0&&a.data(e,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(b).addClass("ui-state-processing");if(d.spinner){var g=a("span",e);g.data("label.tabs",g.html()).html(d.spinner)}this.xhr=a.ajax(a.extend({},d.ajaxOptions,{url:f,success:function(f,g){c.element.find(c._sanitizeSelector(e.hash)).html(f),c._cleanup(),d.cache&&a.data(e,"cache.tabs",!0),c._trigger("load",null,c._ui(c.anchors[b],c.panels[b]));try{d.ajaxOptions.success(f,g)}catch(h){}},error:function(a,f,g){c._cleanup(),c._trigger("load",null,c._ui(c.anchors[b],c.panels[b]));try{d.ajaxOptions.error(a,f,b,e)}catch(g){}}})),c.element.dequeue("tabs");return this}},abort:function(){this.element.queue([]),this.panels.stop(!1,!0),this.element.queue("tabs",this.element.queue("tabs").splice(-2,2)),this.xhr&&(this.xhr.abort(),delete this.xhr),this._cleanup();return this},url:function(a,b){this.anchors.eq(a).removeData("cache.tabs").data("load.tabs",b);return this},length:function(){return this.anchors.length}}),a.extend(a.ui.tabs,{version:"1.8.18"}),a.extend(a.ui.tabs.prototype,{rotation:null,rotate:function(a,b){var c=this,d=this.options,e=c._rotate||(c._rotate=function(b){clearTimeout(c.rotation),c.rotation=setTimeout(function(){var a=d.selected;c.select(++a<c.anchors.length?a:0)},a),b&&b.stopPropagation()}),f=c._unrotate||(c._unrotate=b?function(a){t=d.selected,e()}:function(a){a.clientX&&c.rotate(null)});a?(this.element.bind("tabsshow",e),this.anchors.bind(d.event+".tabs",f),e()):(clearTimeout(c.rotation),this.element.unbind("tabsshow",e),this.anchors.unbind(d.event+".tabs",f),delete this._rotate,delete this._unrotate);return this}})})(jQuery);/*
++ * jQuery UI Datepicker 1.8.18
++ *
++ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
++ * Dual licensed under the MIT or GPL Version 2 licenses.
++ * http://jquery.org/license
++ *
++ * http://docs.jquery.com/UI/Datepicker
++ *
++ * Depends:
++ *    jquery.ui.core.js
++ */(function($,undefined){function isArray(a){return a&&($.browser.safari&&typeof a=="object"&&a.length||a.constructor&&a.constructor.toString().match(/\Array\(\)/))}function extendRemove(a,b){$.extend(a,b);for(var c in b)if(b[c]==null||b[c]==undefined)a[c]=b[c];return a}function bindHover(a){var b="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return a.bind("mouseout",function(a){var c=$(a.target).closest(b);!c.length||c.removeClass("ui-state-hover ui-datepicker-prev-hover ui-datepicker-next-hover")}).bind("mouseover",function(c){var d=$(c.target).closest(b);!$.datepicker._isDisabledDatepicker(instActive.inline?a.parent()[0]:instActive.input[0])&&!!d.length&&(d.parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),d.addClass("ui-state-hover"),d.hasClass("ui-datepicker-prev")&&d.addClass("ui-datepicker-prev-hover"),d.hasClass("ui-datepicker-next")&&d.addClass("ui-datepicker-next-hover"))})}function Datepicker(){this.debug=!1,this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},$.extend(this._defaults,this.regional[""]),this.dpDiv=bindHover($('<div id="'+this._mainDivId+'" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))}$.extend($.ui,{datepicker:{version:"1.8.18"}});var PROP_NAME="datepicker",dpuuid=(new Date).getTime(),instActive;$.extend(Datepicker.prototype,{markerClassName:"hasDatepicker",maxRows:4,log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(a){extendRemove(this._defaults,a||{});return this},_attachDatepicker:function(target,settings){var inlineSettings=null;for(var attrName in this._defaults){var attrValue=target.getAttribute("date:"+attrName);if(attrValue){inlineSettings=inlineSettings||{};try{inlineSettings[attrName]=eval(attrValue)}catch(err){inlineSettings[attrName]=attrValue}}}var nodeName=target.nodeName.toLowerCase(),inline=nodeName=="div"||nodeName=="span";target.id||(this.uuid+=1,target.id="dp"+this.uuid);var inst=this._newInst($(target),inline);inst.settings=$.extend({},settings||{},inlineSettings||{}),nodeName=="input"?this._connectDatepicker(target,inst):inline&&this._inlineDatepicker(target,inst)},_newInst:function(a,b){var c=a[0].id.replace(/([^A-Za-z0-9_-])/g,"\\\\$1");return{id:c,input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:b?bindHover($('<div class="'+this._inlineClass+' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>')):this.dpDiv}},_connectDatepicker:function(a,b){var c=$(a);b.append=$([]),b.trigger=$([]);c.hasClass(this.markerClassName)||(this._attachments(c,b),c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",function(a,c,d){b.settings[c]=d}).bind("getData.datepicker",function(a,c){return this._get(b,c)}),this._autoSize(b),$.data(a,PROP_NAME,b),b.settings.disabled&&this._disableDatepicker(a))},_attachments:function(a,b){var c=this._get(b,"appendText"),d=this._get(b,"isRTL");b.append&&b.append.remove(),c&&(b.append=$('<span class="'+this._appendClass+'">'+c+"</span>"),a[d?"before":"after"](b.append)),a.unbind("focus",this._showDatepicker),b.trigger&&b.trigger.remove();var e=this._get(b,"showOn");(e=="focus"||e=="both")&&a.focus(this._showDatepicker);if(e=="button"||e=="both"){var f=this._get(b,"buttonText"),g=this._get(b,"buttonImage");b.trigger=$(this._get(b,"buttonImageOnly")?$("<img/>").addClass(this._triggerClass).attr({src:g,alt:f,title:f}):$('<button type="button"></button>').addClass(this._triggerClass).html(g==""?f:$("<img/>").attr({src:g,alt:f,title:f}))),a[d?"before":"after"](b.trigger),b.trigger.click(function(){$.datepicker._datepickerShowing&&$.datepicker._lastInput==a[0]?$.datepicker._hideDatepicker():$.datepicker._datepickerShowing&&$.datepicker._lastInput!=a[0]?($.datepicker._hideDatepicker(),$.datepicker._showDatepicker(a[0])):$.datepicker._showDatepicker(a[0]);return!1})}},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b=new Date(2009,11,20),c=this._get(a,"dateFormat");if(c.match(/[DM]/)){var d=function(a){var b=0,c=0;for(var d=0;d<a.length;d++)a[d].length>b&&(b=a[d].length,c=d);return c};b.setMonth(d(this._get(a,c.match(/MM/)?"monthNames":"monthNamesShort"))),b.setDate(d(this._get(a,c.match(/DD/)?"dayNames":"dayNamesShort"))+20-b.getDay())}a.input.attr("size",this._formatDate(a,b).length)}},_inlineDatepicker:function(a,b){var c=$(a);c.hasClass(this.markerClassName)||(c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(a,c,d){b.settings[c]=d}).bind("getData.datepicker",function(a,c){return this._get(b,c)}),$.data(a,PROP_NAME,b),this._setDate(b,this._getDefaultDate(b),!0),this._updateDatepicker(b),this._updateAlternate(b),b.settings.disabled&&this._disableDatepicker(a),b.dpDiv.css("display","block"))},_dialogDatepicker:function(a,b,c,d,e){var f=this._dialogInst;if(!f){this.uuid+=1;var g="dp"+this.uuid;this._dialogInput=$('<input type="text" id="'+g+'" style="position: absolute; top: -100px; width: 0px; z-index: -10;"/>'),this._dialogInput.keydown(this._doKeyDown),$("body").append(this._dialogInput),f=this._dialogInst=this._newInst(this._dialogInput,!1),f.settings={},$.data(this._dialogInput[0],PROP_NAME,f)}extendRemove(f.settings,d||{}),b=b&&b.constructor==Date?this._formatDate(f,b):b,this._dialogInput.val(b),this._pos=e?e.length?e:[e.pageX,e.pageY]:null;if(!this._pos){var h=document.documentElement.clientWidth,i=document.documentElement.clientHeight,j=document.documentElement.scrollLeft||document.body.scrollLeft,k=document.documentElement.scrollTop||document.body.scrollTop;this._pos=[h/2-100+j,i/2-150+k]}this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),f.settings.onSelect=c,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),$.blockUI&&$.blockUI(this.dpDiv),$.data(this._dialogInput[0],PROP_NAME,f);return this},_destroyDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!!b.hasClass(this.markerClassName)){var d=a.nodeName.toLowerCase();$.removeData(a,PROP_NAME),d=="input"?(c.append.remove(),c.trigger.remove(),b.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):(d=="div"||d=="span")&&b.removeClass(this.markerClassName).empty()}},_enableDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!!b.hasClass(this.markerClassName)){var d=a.nodeName.toLowerCase();if(d=="input")a.disabled=!1,c.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""});else if(d=="div"||d=="span"){var e=b.children("."+this._inlineClass);e.children().removeClass("ui-state-disabled"),e.find("select.ui-datepicker-month, select.ui-datepicker-year").removeAttr("disabled")}this._disabledInputs=$.map(this._disabledInputs,function(b){return b==a?null:b})}},_disableDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!!b.hasClass(this.markerClassName)){var d=a.nodeName.toLowerCase();if(d=="input")a.disabled=!0,c.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"});else if(d=="div"||d=="span"){var e=b.children("."+this._inlineClass);e.children().addClass("ui-state-disabled"),e.find("select.ui-datepicker-month, select.ui-datepicker-year").attr("disabled","disabled")}this._disabledInputs=$.map(this._disabledInputs,function(b){return b==a?null:b}),this._disabledInputs[this._disabledInputs.length]=a}},_isDisabledDatepicker:function(a){if(!a)return!1;for(var b=0;b<this._disabledInputs.length;b++)if(this._disabledInputs[b]==a)return!0;return!1},_getInst:function(a){try{return $.data(a,PROP_NAME)}catch(b){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(a,b,c){var d=this._getInst(a);if(arguments.length==2&&typeof b=="string")return b=="defaults"?$.extend({},$.datepicker._defaults):d?b=="all"?$.extend({},d.settings):this._get(d,b):null;var e=b||{};typeof b=="string"&&(e={},e[b]=c);if(d){this._curInst==d&&this._hideDatepicker();var f=this._getDateDatepicker(a,!0),g=this._getMinMaxDate(d,"min"),h=this._getMinMaxDate(d,"max");extendRemove(d.settings,e),g!==null&&e.dateFormat!==undefined&&e.minDate===undefined&&(d.settings.minDate=this._formatDate(d,g)),h!==null&&e.dateFormat!==undefined&&e.maxDate===undefined&&(d.settings.maxDate=this._formatDate(d,h)),this._attachments($(a),d),this._autoSize(d),this._setDate(d,f),this._updateAlternate(d),this._updateDatepicker(d)}},_changeDatepicker:function(a,b,c){this._optionDatepicker(a,b,c)},_refreshDatepicker:function(a){var b=this._getInst(a);b&&this._updateDatepicker(b)},_setDateDatepicker:function(a,b){var c=this._getInst(a);c&&(this._setDate(c,b),this._updateDatepicker(c),this._updateAlternate(c))},_getDateDatepicker:function(a,b){var c=this._getInst(a);c&&!c.inline&&this._setDateFromField(c,b);return c?this._getDate(c):null},_doKeyDown:function(a){var b=$.datepicker._getInst(a.target),c=!0,d=b.dpDiv.is(".ui-datepicker-rtl");b._keyEvent=!0;if($.datepicker._datepickerShowing)switch(a.keyCode){case 9:$.datepicker._hideDatepicker(),c=!1;break;case 13:var e=$("td."+$.datepicker._dayOverClass+":not(."+$.datepicker._currentClass+")",b.dpDiv);e[0]&&$.datepicker._selectDay(a.target,b.selectedMonth,b.selectedYear,e[0]);var f=$.datepicker._get(b,"onSelect");if(f){var g=$.datepicker._formatDate(b);f.apply(b.input?b.input[0]:null,[g,b])}else $.datepicker._hideDatepicker();return!1;case 27:$.datepicker._hideDatepicker();break;case 33:$.datepicker._adjustDate(a.target,a.ctrlKey?-$.datepicker._get(b,"stepBigMonths"):-$.datepicker._get(b,"stepMonths"),"M");break;case 34:$.datepicker._adjustDate(a.target,a.ctrlKey?+$.datepicker._get(b,"stepBigMonths"):+$.datepicker._get(b,"stepMonths"),"M");break;case 35:(a.ctrlKey||a.metaKey)&&$.datepicker._clearDate(a.target),c=a.ctrlKey||a.metaKey;break;case 36:(a.ctrlKey||a.metaKey)&&$.datepicker._gotoToday(a.target),c=a.ctrlKey||a.metaKey;break;case 37:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,d?1:-1,"D"),c=a.ctrlKey||a.metaKey,a.originalEvent.altKey&&$.datepicker._adjustDate(a.target,a.ctrlKey?-$.datepicker._get(b,"stepBigMonths"):-$.datepicker._get(b,"stepMonths"),"M");break;case 38:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,-7,"D"),c=a.ctrlKey||a.metaKey;break;case 39:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,d?-1:1,"D"),c=a.ctrlKey||a.metaKey,a.originalEvent.altKey&&$.datepicker._adjustDate(a.target,a.ctrlKey?+$.datepicker._get(b,"stepBigMonths"):+$.datepicker._get(b,"stepMonths"),"M");break;case 40:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,7,"D"),c=a.ctrlKey||a.metaKey;break;default:c=!1}else a.keyCode==36&&a.ctrlKey?$.datepicker._showDatepicker(this):c=!1;c&&(a.preventDefault(),a.stopPropagation())},_doKeyPress:function(a){var b=$.datepicker._getInst(a.target);if($.datepicker._get(b,"constrainInput")){var c=$.datepicker._possibleChars($.datepicker._get(b,"dateFormat")),d=String.fromCharCode(a.charCode==undefined?a.keyCode:a.charCode);return a.ctrlKey||a.metaKey||d<" "||!c||c.indexOf(d)>-1}},_doKeyUp:function(a){var b=$.datepicker._getInst(a.target);if(b.input.val()!=b.lastVal)try{var c=$.datepicker.parseDate($.datepicker._get(b,"dateFormat"),b.input?b.input.val():null,$.datepicker._getFormatConfig(b));c&&($.datepicker._setDateFromField(b),$.datepicker._updateAlternate(b),$.datepicker._updateDatepicker(b))}catch(a){$.datepicker.log(a)}return!0},_showDatepicker:function(a){a=a.target||a,a.nodeName.toLowerCase()!="input"&&(a=$("input",a.parentNode)[0]);if(!$.datepicker._isDisabledDatepicker(a)&&$.datepicker._lastInput!=a){var b=$.datepicker._getInst(a);$.datepicker._curInst&&$.datepicker._curInst!=b&&($.datepicker._curInst.dpDiv.stop(!0,!0),b&&$.datepicker._datepickerShowing&&$.datepicker._hideDatepicker($.datepicker._curInst.input[0]));var c=$.datepicker._get(b,"beforeShow"),d=c?c.apply(a,[a,b]):{};if(d===!1)return;extendRemove(b.settings,d),b.lastVal=null,$.datepicker._lastInput=a,$.datepicker._setDateFromField(b),$.datepicker._inDialog&&(a.value=""),$.datepicker._pos||($.datepicker._pos=$.datepicker._findPos(a),$.datepicker._pos[1]+=a.offsetHeight);var e=!1;$(a).parents().each(function(){e|=$(this).css("position")=="fixed";return!e}),e&&$.browser.opera&&($.datepicker._pos[0]-=document.documentElement.scrollLeft,$.datepicker._pos[1]-=document.documentElement.scrollTop);var f={left:$.datepicker._pos[0],top:$.datepicker._pos[1]};$.datepicker._pos=null,b.dpDiv.empty(),b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),$.datepicker._updateDatepicker(b),f=$.datepicker._checkOffset(b,f,e),b.dpDiv.css({position:$.datepicker._inDialog&&$.blockUI?"static":e?"fixed":"absolute",display:"none",left:f.left+"px",top:f.top+"px"});if(!b.inline){var g=$.datepicker._get(b,"showAnim"),h=$.datepicker._get(b,"duration"),i=function(){var a=b.dpDiv.find("iframe.ui-datepicker-cover");if(!!a.length){var c=$.datepicker._getBorders(b.dpDiv);a.css({left:-c[0],top:-c[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})}};b.dpDiv.zIndex($(a).zIndex()+1),$.datepicker._datepickerShowing=!0,$.effects&&$.effects[g]?b.dpDiv.show(g,$.datepicker._get(b,"showOptions"),h,i):b.dpDiv[g||"show"](g?h:null,i),(!g||!h)&&i(),b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus(),$.datepicker._curInst=b}}},_updateDatepicker:function(a){var b=this;b.maxRows=4;var c=$.datepicker._getBorders(a.dpDiv);instActive=a,a.dpDiv.empty().append(this._generateHTML(a));var d=a.dpDiv.find("iframe.ui-datepicker-cover");!d.length||d.css({left:-c[0],top:-c[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()}),a.dpDiv.find("."+this._dayOverClass+" a").mouseover();var e=this._getNumberOfMonths(a),f=e[1],g=17;a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),f>1&&a.dpDiv.addClass("ui-datepicker-multi-"+f).css("width",g*f+"em"),a.dpDiv[(e[0]!=1||e[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi"),a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),a==$.datepicker._curInst&&$.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&&a.input[0]!=document.activeElement&&a.input.focus();if(a.yearshtml){var h=a.yearshtml;setTimeout(function(){h===a.yearshtml&&a.yearshtml&&a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml),h=a.yearshtml=null},0)}},_getBorders:function(a){var b=function(a){return{thin:1,medium:2,thick:3}[a]||a};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var d=a.dpDiv.outerWidth(),e=a.dpDiv.outerHeight(),f=a.input?a.input.outerWidth():0,g=a.input?a.input.outerHeight():0,h=document.documentElement.clientWidth+$(document).scrollLeft(),i=document.documentElement.clientHeight+$(document).scrollTop();b.left-=this._get(a,"isRTL")?d-f:0,b.left-=c&&b.left==a.input.offset().left?$(document).scrollLeft():0,b.top-=c&&b.top==a.input.offset().top+g?$(document).scrollTop():0,b.left-=Math.min(b.left,b.left+d>h&&h>d?Math.abs(b.left+d-h):0),b.top-=Math.min(b.top,b.top+e>i&&i>e?Math.abs(e+g):0);return b},_findPos:function(a){var b=this._getInst(a),c=this._get(b,"isRTL");while(a&&(a.type=="hidden"||a.nodeType!=1||$.expr.filters.hidden(a)))a=a[c?"previousSibling":"nextSibling"];var d=$(a).offset();return[d.left,d.top]},_hideDatepicker:function(a){var b=this._curInst;if(!(!b||a&&b!=$.data(a,PROP_NAME))&&this._datepickerShowing){var c=this._get(b,"showAnim"),d=this._get(b,"duration"),e=this,f=function(){$.datepicker._tidyDialog(b),e._curInst=null};$.effects&&$.effects[c]?b.dpDiv.hide(c,$.datepicker._get(b,"showOptions"),d,f):b.dpDiv[c=="slideDown"?"slideUp":c=="fadeIn"?"fadeOut":"hide"](c?d:null,f),c||f(),this._datepickerShowing=!1;var g=this._get(b,"onClose");g&&g.apply(b.input?b.input[0]:null,[b.input?b.input.val():"",b]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),$.blockUI&&($.unblockUI(),$("body").append(this.dpDiv))),this._inDialog=!1}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(a){if(!!$.datepicker._curInst){var b=$(a.target),c=$.datepicker._getInst(b[0]);(b[0].id!=$.datepicker._mainDivId&&b.parents("#"+$.datepicker._mainDivId).length==0&&!b.hasClass($.datepicker.markerClassName)&&!b.closest("."+$.datepicker._triggerClass).length&&$.datepicker._datepickerShowing&&(!$.datepicker._inDialog||!$.blockUI)||b.hasClass($.datepicker.markerClassName)&&$.datepicker._curInst!=c)&&$.datepicker._hideDatepicker()}},_adjustDate:function(a,b,c){var d=$(a),e=this._getInst(d[0]);this._isDisabledDatepicker(d[0])||(this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"):0),c),this._updateDatepicker(e))},_gotoToday:function(a){var b=$(a),c=this._getInst(b[0]);if(this._get(c,"gotoCurrent")&&c.currentDay)c.selectedDay=c.currentDay,c.drawMonth=c.selectedMonth=c.currentMonth,c.drawYear=c.selectedYear=c.currentYear;else{var d=new Date;c.selectedDay=d.getDate(),c.drawMonth=c.selectedMonth=d.getMonth(),c.drawYear=c.selectedYear=d.getFullYear()}this._notifyChange(c),this._adjustDate(b)},_selectMonthYear:function(a,b,c){var d=$(a),e=this._getInst(d[0]);e["selected"+(c=="M"?"Month":"Year")]=e["draw"+(c=="M"?"Month":"Year")]=parseInt(b.options[b.selectedIndex].value,10),this._notifyChange(e),this._adjustDate(d)},_selectDay:function(a,b,c,d){var e=$(a);if(!$(d).hasClass(this._unselectableClass)&&!this._isDisabledDatepicker(e[0])){var f=this._getInst(e[0]);f.selectedDay=f.currentDay=$("a",d).html(),f.selectedMonth=f.currentMonth=b,f.selectedYear=f.currentYear=c,this._selectDate(a,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear))}},_clearDate:function(a){var b=$(a),c=this._getInst(b[0]);this._selectDate(b,"")},_selectDate:function(a,b){var c=$(a),d=this._getInst(c[0]);b=b!=null?b:this._formatDate(d),d.input&&d.input.val(b),this._updateAlternate(d);var e=this._get(d,"onSelect");e?e.apply(d.input?d.input[0]:null,[b,d]):d.input&&d.input.trigger("change"),d.inline?this._updateDatepicker(d):(this._hideDatepicker(),this._lastInput=d.input[0],typeof d.input[0]!="object"&&d.input.focus(),this._lastInput=null)},_updateAlternate:function(a){var b=this._get(a,"altField");if(b){var c=this._get(a,"altFormat")||this._get(a,"dateFormat"),d=this._getDate(a),e=this.formatDate(c,d,this._getFormatConfig(a));$(b).each(function(){$(this).val(e)})}},noWeekends:function(a){var b=a.getDay();return[b>0&&b<6,""]},iso8601Week:function(a){var b=new Date(a.getTime());b.setDate(b.getDate()+4-(b.getDay()||7));var c=b.getTime();b.setMonth(0),b.setDate(1);return Math.floor(Math.round((c-b)/864e5)/7)+1},parseDate:function(a,b,c){if(a==null||b==null)throw"Invalid arguments";b=typeof b=="object"?b.toString():b+"";if(b=="")return null;var d=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff;d=typeof d!="string"?d:(new Date).getFullYear()%100+parseInt(d,10);var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,g=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,h=(c?c.monthNames:null)||this._defaults.monthNames,i=-1,j=-1,k=-1,l=-1,m=!1,n=function(b){var c=s+1<a.length&&a.charAt(s+1)==b;c&&s++;return c},o=function(a){var c=n(a),d=a=="@"?14:a=="!"?20:a=="y"&&c?4:a=="o"?3:2,e=new RegExp("^\\d{1,"+d+"}"),f=b.substring(r).match(e);if(!f)throw"Missing number at position "+r;r+=f[0].length;return parseInt(f[0],10)},p=function(a,c,d){var e=$.map(n(a)?d:c,function(a,b){return[[b,a]]}).sort(function(a,b){return-(a[1].length-b[1].length)}),f=-1;$.each(e,function(a,c){var d=c[1];if(b.substr(r,d.length).toLowerCase()==d.toLowerCase()){f=c[0],r+=d.length;return!1}});if(f!=-1)return f+1;throw"Unknown name at position "+r},q=function(){if(b.charAt(r)!=a.charAt(s))throw"Unexpected literal at position "+r;r++},r=0;for(var s=0;s<a.length;s++)if(m)a.charAt(s)=="'"&&!n("'")?m=!1:q();else switch(a.charAt(s)){case"d":k=o("d");break;case"D":p("D",e,f);break;case"o":l=o("o");break;case"m":j=o("m");break;case"M":j=p("M",g,h);break;case"y":i=o("y");break;case"@":var t=new Date(o("@"));i=t.getFullYear(),j=t.getMonth()+1,k=t.getDate();break;case"!":var t=new Date((o("!")-this._ticksTo1970)/1e4);i=t.getFullYear(),j=t.getMonth()+1,k=t.getDate();break;case"'":n("'")?q():m=!0;break;default:q()}if(r<b.length)throw"Extra/unparsed characters found in date: "+b.substring(r);i==-1?i=(new Date).getFullYear():i<100&&(i+=(new Date).getFullYear()-(new Date).getFullYear()%100+(i<=d?0:-100));if(l>-1){j=1,k=l;for(;;){var u=this._getDaysInMonth(i,j-1);if(k<=u)break;j++,k-=u}}var t=this._daylightSavingAdjust(new Date(i,j-1,k));if(t.getFullYear()!=i||t.getMonth()+1!=j||t.getDate()!=k)throw"Invalid date";return t},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24*60*60*1e7,formatDate:function(a,b,c){if(!b)return"";var d=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,e=(c?c.dayNames:null)||this._defaults.dayNames,f=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c?c.monthNames:null)||this._defaults.monthNames,h=function(b){var c=m+1<a.length&&a.charAt(m+1)==b;c&&m++;return c},i=function(a,b,c){var d=""+b;if(h(a))while(d.length<c)d="0"+d;return d},j=function(a,b,c,d){return h(a)?d[b]:c[b]},k="",l=!1;if(b)for(var m=0;m<a.length;m++)if(l)a.charAt(m)=="'"&&!h("'")?l=!1:k+=a.charAt(m);else switch(a.charAt(m)){case"d":k+=i("d",b.getDate(),2);break;case"D":k+=j("D",b.getDay(),d,e);break;case"o":k+=i("o",Math.round(((new Date(b.getFullYear(),b.getMonth(),b.getDate())).getTime()-(new Date(b.getFullYear(),0,0)).getTime())/864e5),3);break;case"m":k+=i("m",b.getMonth()+1,2);break;case"M":k+=j("M",b.getMonth(),f,g);break;case"y":k+=h("y")?b.getFullYear():(b.getYear()%100<10?"0":"")+b.getYear()%100;break;case"@":k+=b.getTime();break;case"!":k+=b.getTime()*1e4+this._ticksTo1970;break;case"'":h("'")?k+="'":l=!0;break;default:k+=a.charAt(m)}return k},_possibleChars:function(a){var b="",c=!1,d=function(b){var c=e+1<a.length&&a.charAt(e+1)==b;c&&e++;return c};for(var e=0;e<a.length;e++)if(c)a.charAt(e)=="'"&&!d("'")?c=!1:b+=a.charAt(e);else switch(a.charAt(e)){case"d":case"m":case"y":case"@":b+="0123456789";break;case"D":case"M":return null;case"'":d("'")?b+="'":c=!0;break;default:b+=a.charAt(e)}return b},_get:function(a,b){return a.settings[b]!==undefined?a.settings[b]:this._defaults[b]},_setDateFromField:function(a,b){if(a.input.val()!=a.lastVal){var c=this._get(a,"dateFormat"),d=a.lastVal=a.input?a.input.val():null,e,f;e=f=this._getDefaultDate(a);var g=this._getFormatConfig(a);try{e=this.parseDate(c,d,g)||f}catch(h){this.log(h),d=b?"":d}a.selectedDay=e.getDate(),a.drawMonth=a.selectedMonth=e.getMonth(),a.drawYear=a.selectedYear=e.getFullYear(),a.currentDay=d?e.getDate():0,a.currentMonth=d?e.getMonth():0,a.currentYear=d?e.getFullYear():0,this._adjustInstDate(a)}},_getDefaultDate:function(a){return this._restrictMinMax(a,this._determineDate(a,this._get(a,"defaultDate"),new Date))},_determineDate:function(a,b,c){var d=function(a){var b=new Date;b.setDate(b.getDate()+a);return b},e=function(b){try{return $.datepicker.parseDate($.datepicker._get(a,"dateFormat"),b,$.datepicker._getFormatConfig(a))}catch(c){}var d=(b.toLowerCase().match(/^c/)?$.datepicker._getDate(a):null)||new Date,e=d.getFullYear(),f=d.getMonth(),g=d.getDate(),h=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,i=h.exec(b);while(i){switch(i[2]||"d"){case"d":case"D":g+=parseInt(i[1],10);break;case"w":case"W":g+=parseInt(i[1],10)*7;break;case"m":case"M":f+=parseInt(i[1],10),g=Math.min(g,$.datepicker._getDaysInMonth(e,f));break;case"y":case"Y":e+=parseInt(i[1],10),g=Math.min(g,$.datepicker._getDaysInMonth(e,f))}i=h.exec(b)}return new Date(e,f,g)},f=b==null||b===""?c:typeof b=="string"?e(b):typeof b=="number"?isNaN(b)?c:d(b):new Date(b.getTime());f=f&&f.toString()=="Invalid Date"?c:f,f&&(f.setHours(0),f.setMinutes(0),f.setSeconds(0),f.setMilliseconds(0));return this._daylightSavingAdjust(f)},_daylightSavingAdjust:function(a){if(!a)return null;a.setHours(a.getHours()>12?a.getHours()+2:0);return a},_setDate:function(a,b,c){var d=!b,e=a.selectedMonth,f=a.selectedYear,g=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=g.getDate(),a.drawMonth=a.selectedMonth=a.currentMonth=g.getMonth(),a.drawYear=a.selectedYear=a.currentYear=g.getFullYear(),(e!=a.selectedMonth||f!=a.selectedYear)&&!c&&this._notifyChange(a),this._adjustInstDate(a),a.input&&a.input.val(d?"":this._formatDate(a))},_getDate:function(a){var b=!a.currentYear||a.input&&a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return b},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(),b.getMonth(),b.getDate()));var c=this._get(a,"isRTL"),d=this._get(a,"showButtonPanel"),e=this._get(a,"hideIfNoPrevNext"),f=this._get(a,"navigationAsDateFormat"),g=this._getNumberOfMonths(a),h=this._get(a,"showCurrentAtPos"),i=this._get(a,"stepMonths"),j=g[0]!=1||g[1]!=1,k=this._daylightSavingAdjust(a.currentDay?new Date(a.currentYear,a.currentMonth,a.currentDay):new Date(9999,9,9)),l=this._getMinMaxDate(a,"min"),m=this._getMinMaxDate(a,"max"),n=a.drawMonth-h,o=a.drawYear;n<0&&(n+=12,o--);if(m){var p=this._daylightSavingAdjust(new Date(m.getFullYear(),m.getMonth()-g[0]*g[1]+1,m.getDate()));p=l&&p<l?l:p;while(this._daylightSavingAdjust(new Date(o,n,1))>p)n--,n<0&&(n=11,o--)}a.drawMonth=n,a.drawYear=o;var q=this._get(a,"prevText");q=f?this.formatDate(q,this._daylightSavingAdjust(new Date(o,n-i,1)),this._getFormatConfig(a)):q;var r=this._canAdjustMonth(a,-1,o,n)?'<a class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery_'+dpuuid+".datepicker._adjustDate('#"+a.id+"', -"+i+", 'M');\""+' title="'+q+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+q+"</span></a>":e?"":'<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="'+q+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+q+"</span></a>",s=this._get(a,"nextText");s=f?this.formatDate(s,this._daylightSavingAdjust(new Date(o,n+i,1)),this._getFormatConfig(a)):s;var t=this._canAdjustMonth(a,1,o,n)?'<a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery_'+dpuuid+".datepicker._adjustDate('#"+a.id+"', +"+i+", 'M');\""+' title="'+s+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"w":"e")+'">'+s+"</span></a>":e?"":'<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="'+s+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"w":"e")+'">'+s+"</span></a>",u=this._get(a,"currentText"),v=this._get(a,"gotoCurrent")&&a.currentDay?k:b;u=f?this.formatDate(u,v,this._getFormatConfig(a)):u;var w=a.inline?"":'<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" onclick="DP_jQuery_'+dpuuid+'.datepicker._hideDatepicker();">'+this._get(a,"closeText")+"</button>",x=d?'<div class="ui-datepicker-buttonpane ui-widget-content">'+(c?w:"")+(this._isInRange(a,v)?'<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" onclick="DP_jQuery_'+dpuuid+".datepicker._gotoToday('#"+a.id+"');\""+">"+u+"</button>":"")+(c?"":w)+"</div>":"",y=parseInt(this._get(a,"firstDay"),10);y=isNaN(y)?0:y;var z=this._get(a,"showWeek"),A=this._get(a,"dayNames"),B=this._get(a,"dayNamesShort"),C=this._get(a,"dayNamesMin"),D=this._get(a,"monthNames"),E=this._get(a,"monthNamesShort"),F=this._get(a,"beforeShowDay"),G=this._get(a,"showOtherMonths"),H=this._get(a,"selectOtherMonths"),I=this._get(a,"calculateWeek")||this.iso8601Week,J=this._getDefaultDate(a),K="";for(var L=0;L<g[0];L++){var M="";this.maxRows=4;for(var N=0;N<g[1];N++){var O=this._daylightSavingAdjust(new Date(o,n,a.selectedDay)),P=" ui-corner-all",Q="";if(j){Q+='<div class="ui-datepicker-group';if(g[1]>1)switch(N){case 0:Q+=" ui-datepicker-group-first",P=" ui-corner-"+(c?"right":"left");break;case g[1]-1:Q+=" ui-datepicker-group-last",P=" ui-corner-"+(c?"left":"right");break;default:Q+=" ui-datepicker-group-middle",P=""}Q+='">'}Q+='<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix'+P+'">'+(/all|left/.test(P)&&L==0?c?t:r:"")+(/all|right/.test(P)&&L==0?c?r:t:"")+this._generateMonthYearHeader(a,n,o,l,m,L>0||N>0,D,E)+'</div><table class="ui-datepicker-calendar"><thead>'+"<tr>";var R=z?'<th class="ui-datepicker-week-col">'+this._get(a,"weekHeader")+"</th>":"";for(var S=0;S<7;S++){var T=(S+y)%7;R+="<th"+((S+y+6)%7>=5?' class="ui-datepicker-week-end"':"")+">"+'<span title="'+A[T]+'">'+C[T]+"</span></th>"}Q+=R+"</tr></thead><tbody>";var U=this._getDaysInMonth(o,n);o==a.selectedYear&&n==a.selectedMonth&&(a.selectedDay=Math.min(a.selectedDay,U));var V=(this._getFirstDayOfMonth(o,n)-y+7)%7,W=Math.ceil((V+U)/7),X=j?this.maxRows>W?this.maxRows:W:W;this.maxRows=X;var Y=this._daylightSavingAdjust(new Date(o,n,1-V));for(var Z=0;Z<X;Z++){Q+="<tr>";var _=z?'<td class="ui-datepicker-week-col">'+this._get(a,"calculateWeek")(Y)+"</td>":"";for(var S=0;S<7;S++){var ba=F?F.apply(a.input?a.input[0]:null,[Y]):[!0,""],bb=Y.getMonth()!=n,bc=bb&&!H||!ba[0]||l&&Y<l||m&&Y>m;_+='<td class="'+((S+y+6)%7>=5?" ui-datepicker-week-end":"")+(bb?" ui-datepicker-other-month":"")+(Y.getTime()==O.getTime()&&n==a.selectedMonth&&a._keyEvent||J.getTime()==Y.getTime()&&J.getTime()==O.getTime()?" "+this._dayOverClass:"")+(bc?" "+this._unselectableClass+" ui-state-disabled":"")+(bb&&!G?"":" "+ba[1]+(Y.getTime()==k.getTime()?" "+this._currentClass:"")+(Y.getTime()==b.getTime()?" ui-datepicker-today":""))+'"'+((!bb||G)&&ba[2]?' title="'+ba[2]+'"':"")+(bc?"":' onclick="DP_jQuery_'+dpuuid+".datepicker._selectDay('#"+a.id+"',"+Y.getMonth()+","+Y.getFullYear()+', this);return false;"')+">"+(bb&&!G?"&#xa0;":bc?'<span class="ui-state-default">'+Y.getDate()+"</span>":'<a class="ui-state-default'+(Y.getTime()==b.getTime()?" ui-state-highlight":"")+(Y.getTime()==k.getTime()?" ui-state-active":"")+(bb?" ui-priority-secondary":"")+'" href="#">'+Y.getDate()+"</a>")+"</td>",Y.setDate(Y.getDate()+1),Y=this._daylightSavingAdjust(Y)}Q+=_+"</tr>"}n++,n>11&&(n=0,o++),Q+="</tbody></table>"+(j?"</div>"+(g[0]>0&&N==g[1]-1?'<div class="ui-datepicker-row-break"></div>':""):""),M+=Q}K+=M}K+=x+($.browser.msie&&parseInt($.browser.version,10)<7&&!a.inline?'<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>':""),
++a._keyEvent=!1;return K},_generateMonthYearHeader:function(a,b,c,d,e,f,g,h){var i=this._get(a,"changeMonth"),j=this._get(a,"changeYear"),k=this._get(a,"showMonthAfterYear"),l='<div class="ui-datepicker-title">',m="";if(f||!i)m+='<span class="ui-datepicker-month">'+g[b]+"</span>";else{var n=d&&d.getFullYear()==c,o=e&&e.getFullYear()==c;m+='<select class="ui-datepicker-month" onchange="DP_jQuery_'+dpuuid+".datepicker._selectMonthYear('#"+a.id+"', this, 'M');\" "+">";for(var p=0;p<12;p++)(!n||p>=d.getMonth())&&(!o||p<=e.getMonth())&&(m+='<option value="'+p+'"'+(p==b?' selected="selected"':"")+">"+h[p]+"</option>");m+="</select>"}k||(l+=m+(f||!i||!j?"&#xa0;":""));if(!a.yearshtml){a.yearshtml="";if(f||!j)l+='<span class="ui-datepicker-year">'+c+"</span>";else{var q=this._get(a,"yearRange").split(":"),r=(new Date).getFullYear(),s=function(a){var b=a.match(/c[+-].*/)?c+parseInt(a.substring(1),10):a.match(/[+-].*/)?r+parseInt(a,10):parseInt(a,10);return isNaN(b)?r:b},t=s(q[0]),u=Math.max(t,s(q[1]||""));t=d?Math.max(t,d.getFullYear()):t,u=e?Math.min(u,e.getFullYear()):u,a.yearshtml+='<select class="ui-datepicker-year" onchange="DP_jQuery_'+dpuuid+".datepicker._selectMonthYear('#"+a.id+"', this, 'Y');\" "+">";for(;t<=u;t++)a.yearshtml+='<option value="'+t+'"'+(t==c?' selected="selected"':"")+">"+t+"</option>";a.yearshtml+="</select>",l+=a.yearshtml,a.yearshtml=null}}l+=this._get(a,"yearSuffix"),k&&(l+=(f||!i||!j?"&#xa0;":"")+m),l+="</div>";return l},_adjustInstDate:function(a,b,c){var d=a.drawYear+(c=="Y"?b:0),e=a.drawMonth+(c=="M"?b:0),f=Math.min(a.selectedDay,this._getDaysInMonth(d,e))+(c=="D"?b:0),g=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(d,e,f)));a.selectedDay=g.getDate(),a.drawMonth=a.selectedMonth=g.getMonth(),a.drawYear=a.selectedYear=g.getFullYear(),(c=="M"||c=="Y")&&this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max"),e=c&&b<c?c:b;e=d&&e>d?d:e;return e},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");b&&b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){var b=this._get(a,"numberOfMonths");return b==null?[1,1]:typeof b=="number"?[1,b]:b},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,d){var e=this._getNumberOfMonths(a),f=this._daylightSavingAdjust(new Date(c,d+(b<0?b:e[0]*e[1]),1));b<0&&f.setDate(this._getDaysInMonth(f.getFullYear(),f.getMonth()));return this._isInRange(a,f)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!d||b.getTime()<=d.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10);return{shortYearCutoff:b,dayNamesShort:this._get(a,"dayNamesShort"),dayNames:this._get(a,"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,d){b||(a.currentDay=a.selectedDay,a.currentMonth=a.selectedMonth,a.currentYear=a.selectedYear);var e=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(d,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),e,this._getFormatConfig(a))}}),$.fn.datepicker=function(a){if(!this.length)return this;$.datepicker.initialized||($(document).mousedown($.datepicker._checkExternalClick).find("body").append($.datepicker.dpDiv),$.datepicker.initialized=!0);var b=Array.prototype.slice.call(arguments,1);if(typeof a=="string"&&(a=="isDisabled"||a=="getDate"||a=="widget"))return $.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this[0]].concat(b));if(a=="option"&&arguments.length==2&&typeof arguments[1]=="string")return $.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this[0]].concat(b));return this.each(function(){typeof a=="string"?$.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this].concat(b)):$.datepicker._attachDatepicker(this,a)})},$.datepicker=new Datepicker,$.datepicker.initialized=!1,$.datepicker.uuid=(new Date).getTime(),$.datepicker.version="1.8.18",window["DP_jQuery_"+dpuuid]=$})(jQuery);/*
++ * jQuery UI Progressbar 1.8.18
++ *
++ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
++ * Dual licensed under the MIT or GPL Version 2 licenses.
++ * http://jquery.org/license
++ *
++ * http://docs.jquery.com/UI/Progressbar
++ *
++ * Depends:
++ *   jquery.ui.core.js
++ *   jquery.ui.widget.js
++ */(function(a,b){a.widget("ui.progressbar",{options:{value:0,max:100},min:0,_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min,"aria-valuemax":this.options.max,"aria-valuenow":this._value()}),this.valueDiv=a("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element),this.oldValue=this._value(),this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.valueDiv.remove(),a.Widget.prototype.destroy.apply(this,arguments)},value:function(a){if(a===b)return this._value();this._setOption("value",a);return this},_setOption:function(b,c){b==="value"&&(this.options.value=c,this._refreshValue(),this._value()===this.options.max&&this._trigger("complete")),a.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;typeof a!="number"&&(a=0);return Math.min(this.options.max,Math.max(this.min,a))},_percentage:function(){return 100*this._value()/this.options.max},_refreshValue:function(){var a=this.value(),b=this._percentage();this.oldValue!==a&&(this.oldValue=a,this._trigger("change")),this.valueDiv.toggle(a>this.min).toggleClass("ui-corner-right",a===this.options.max).width(b.toFixed(0)+"%"),this.element.attr("aria-valuenow",a)}}),a.extend(a.ui.progressbar,{version:"1.8.18"})})(jQuery);/*
++ * jQuery UI Effects 1.8.18
++ *
++ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
++ * Dual licensed under the MIT or GPL Version 2 licenses.
++ * http://jquery.org/license
++ *
++ * http://docs.jquery.com/UI/Effects/
++ */jQuery.effects||function(a,b){function l(b){if(!b||typeof b=="number"||a.fx.speeds[b])return!0;if(typeof b=="string"&&!a.effects[b])return!0;return!1}function k(b,c,d,e){typeof b=="object"&&(e=c,d=null,c=b,b=c.effect),a.isFunction(c)&&(e=c,d=null,c={});if(typeof c=="number"||a.fx.speeds[c])e=d,d=c,c={};a.isFunction(d)&&(e=d,d=null),c=c||{},d=d||c.duration,d=a.fx.off?0:typeof d=="number"?d:d in a.fx.speeds?a.fx.speeds[d]:a.fx.speeds._default,e=e||c.complete;return[b,c,d,e]}function j(a,b){var c={_:0},d;for(d in b)a[d]!=b[d]&&(c[d]=b[d]);return c}function i(b){var c,d;for(c in b)d=b[c],(d==null||a.isFunction(d)||c in g||/scrollbar/.test(c)||!/color/i.test(c)&&isNaN(parseFloat(d)))&&delete b[c];return b}function h(){var a=document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle,b={},c,d;if(a&&a.length&&a[0]&&a[a[0]]){var e=a.length;while(e--)c=a[e],typeof a[c]=="string"&&(d=c.replace(/\-(\w)/g,function(a,b){return b.toUpperCase()}),b[d]=a[c])}else for(c in a)typeof a[c]=="string"&&(b[c]=a[c]);return b}function d(b,d){var e;do{e=a.curCSS(b,d);if(e!=""&&e!="transparent"||a.nodeName(b,"body"))break;d="backgroundColor"}while(b=b.parentNode);return c(e)}function c(b){var c;if(b&&b.constructor==Array&&b.length==3)return b;if(c=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(b))return[parseInt(c[1],10),parseInt(c[2],10),parseInt(c[3],10)];if(c=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(b))return[parseFloat(c[1])*2.55,parseFloat(c[2])*2.55,parseFloat(c[3])*2.55];if(c=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(b))return[parseInt(c[1],16),parseInt(c[2],16),parseInt(c[3],16)];if(c=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(b))return[parseInt(c[1]+c[1],16),parseInt(c[2]+c[2],16),parseInt(c[3]+c[3],16)];if(c=/rgba\(0, 0, 0, 0\)/.exec(b))return e.transparent;return e[a.trim(b).toLowerCase()]}a.effects={},a.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor","borderTopColor","borderColor","color","outlineColor"],function(b,e){a.fx.step[e]=function(a){a.colorInit||(a.start=d(a.elem,e),a.end=c(a.end),a.colorInit=!0),a.elem.style[e]="rgb("+Math.max(Math.min(parseInt(a.pos*(a.end[0]-a.start[0])+a.start[0],10),255),0)+","+Math.max(Math.min(parseInt(a.pos*(a.end[1]-a.start[1])+a.start[1],10),255),0)+","+Math.max(Math.min(parseInt(a.pos*(a.end[2]-a.start[2])+a.start[2],10),255),0)+")"}});var e={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]},f=["add","remove","toggle"],g={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};a.effects.animateClass=function(b,c,d,e){a.isFunction(d)&&(e=d,d=null);return this.queue(function(){var g=a(this),k=g.attr("style")||" ",l=i(h.call(this)),m,n=g.attr("class");a.each(f,function(a,c){b[c]&&g[c+"Class"](b[c])}),m=i(h.call(this)),g.attr("class",n),g.animate(j(l,m),{queue:!1,duration:c,easing:d,complete:function(){a.each(f,function(a,c){b[c]&&g[c+"Class"](b[c])}),typeof g.attr("style")=="object"?(g.attr("style").cssText="",g.attr("style").cssText=k):g.attr("style",k),e&&e.apply(this,arguments),a.dequeue(this)}})})},a.fn.extend({_addClass:a.fn.addClass,addClass:function(b,c,d,e){return c?a.effects.animateClass.apply(this,[{add:b},c,d,e]):this._addClass(b)},_removeClass:a.fn.removeClass,removeClass:function(b,c,d,e){return c?a.effects.animateClass.apply(this,[{remove:b},c,d,e]):this._removeClass(b)},_toggleClass:a.fn.toggleClass,toggleClass:function(c,d,e,f,g){return typeof d=="boolean"||d===b?e?a.effects.animateClass.apply(this,[d?{add:c}:{remove:c},e,f,g]):this._toggleClass(c,d):a.effects.animateClass.apply(this,[{toggle:c},d,e,f])},switchClass:function(b,c,d,e,f){return a.effects.animateClass.apply(this,[{add:c,remove:b},d,e,f])}}),a.extend(a.effects,{version:"1.8.18",save:function(a,b){for(var c=0;c<b.length;c++)b[c]!==null&&a.data("ec.storage."+b[c],a[0].style[b[c]])},restore:function(a,b){for(var c=0;c<b.length;c++)b[c]!==null&&a.css(b[c],a.data("ec.storage."+b[c]))},setMode:function(a,b){b=="toggle"&&(b=a.is(":hidden")?"show":"hide");return b},getBaseline:function(a,b){var c,d;switch(a[0]){case"top":c=0;break;case"middle":c=.5;break;case"bottom":c=1;break;default:c=a[0]/b.height}switch(a[1]){case"left":d=0;break;case"center":d=.5;break;case"right":d=1;break;default:d=a[1]/b.width}return{x:d,y:c}},createWrapper:function(b){if(b.parent().is(".ui-effects-wrapper"))return b.parent();var c={width:b.outerWidth(!0),height:b.outerHeight(!0),"float":b.css("float")},d=a("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),e=document.activeElement;b.wrap(d),(b[0]===e||a.contains(b[0],e))&&a(e).focus(),d=b.parent(),b.css("position")=="static"?(d.css({position:"relative"}),b.css({position:"relative"})):(a.extend(c,{position:b.css("position"),zIndex:b.css("z-index")}),a.each(["top","left","bottom","right"],function(a,d){c[d]=b.css(d),isNaN(parseInt(c[d],10))&&(c[d]="auto")}),b.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"}));return d.css(c).show()},removeWrapper:function(b){var c,d=document.activeElement;if(b.parent().is(".ui-effects-wrapper")){c=b.parent().replaceWith(b),(b[0]===d||a.contains(b[0],d))&&a(d).focus();return c}return b},setTransition:function(b,c,d,e){e=e||{},a.each(c,function(a,c){unit=b.cssUnit(c),unit[0]>0&&(e[c]=unit[0]*d+unit[1])});return e}}),a.fn.extend({effect:function(b,c,d,e){var f=k.apply(this,arguments),g={options:f[1],duration:f[2],callback:f[3]},h=g.options.mode,i=a.effects[b];if(a.fx.off||!i)return h?this[h](g.duration,g.callback):this.each(function(){g.callback&&g.callback.call(this)});return i.call(this,g)},_show:a.fn.show,show:function(a){if(l(a))return this._show.apply(this,arguments);var b=k.apply(this,arguments);b[1].mode="show";return this.effect.apply(this,b)},_hide:a.fn.hide,hide:function(a){if(l(a))return this._hide.apply(this,arguments);var b=k.apply(this,arguments);b[1].mode="hide";return this.effect.apply(this,b)},__toggle:a.fn.toggle,toggle:function(b){if(l(b)||typeof b=="boolean"||a.isFunction(b))return this.__toggle.apply(this,arguments);var c=k.apply(this,arguments);c[1].mode="toggle";return this.effect.apply(this,c)},cssUnit:function(b){var c=this.css(b),d=[];a.each(["em","px","%","pt"],function(a,b){c.indexOf(b)>0&&(d=[parseFloat(c),b])});return d}}),a.easing.jswing=a.easing.swing,a.extend(a.easing,{def:"easeOutQuad",swing:function(b,c,d,e,f){return a.easing[a.easing.def](b,c,d,e,f)},easeInQuad:function(a,b,c,d,e){return d*(b/=e)*b+c},easeOutQuad:function(a,b,c,d,e){return-d*(b/=e)*(b-2)+c},easeInOutQuad:function(a,b,c,d,e){if((b/=e/2)<1)return d/2*b*b+c;return-d/2*(--b*(b-2)-1)+c},easeInCubic:function(a,b,c,d,e){return d*(b/=e)*b*b+c},easeOutCubic:function(a,b,c,d,e){return d*((b=b/e-1)*b*b+1)+c},easeInOutCubic:function(a,b,c,d,e){if((b/=e/2)<1)return d/2*b*b*b+c;return d/2*((b-=2)*b*b+2)+c},easeInQuart:function(a,b,c,d,e){return d*(b/=e)*b*b*b+c},easeOutQuart:function(a,b,c,d,e){return-d*((b=b/e-1)*b*b*b-1)+c},easeInOutQuart:function(a,b,c,d,e){if((b/=e/2)<1)return d/2*b*b*b*b+c;return-d/2*((b-=2)*b*b*b-2)+c},easeInQuint:function(a,b,c,d,e){return d*(b/=e)*b*b*b*b+c},easeOutQuint:function(a,b,c,d,e){return d*((b=b/e-1)*b*b*b*b+1)+c},easeInOutQuint:function(a,b,c,d,e){if((b/=e/2)<1)return d/2*b*b*b*b*b+c;return d/2*((b-=2)*b*b*b*b+2)+c},easeInSine:function(a,b,c,d,e){return-d*Math.cos(b/e*(Math.PI/2))+d+c},easeOutSine:function(a,b,c,d,e){return d*Math.sin(b/e*(Math.PI/2))+c},easeInOutSine:function(a,b,c,d,e){return-d/2*(Math.cos(Math.PI*b/e)-1)+c},easeInExpo:function(a,b,c,d,e){return b==0?c:d*Math.pow(2,10*(b/e-1))+c},easeOutExpo:function(a,b,c,d,e){return b==e?c+d:d*(-Math.pow(2,-10*b/e)+1)+c},easeInOutExpo:function(a,b,c,d,e){if(b==0)return c;if(b==e)return c+d;if((b/=e/2)<1)return d/2*Math.pow(2,10*(b-1))+c;return d/2*(-Math.pow(2,-10*--b)+2)+c},easeInCirc:function(a,b,c,d,e){return-d*(Math.sqrt(1-(b/=e)*b)-1)+c},easeOutCirc:function(a,b,c,d,e){return d*Math.sqrt(1-(b=b/e-1)*b)+c},easeInOutCirc:function(a,b,c,d,e){if((b/=e/2)<1)return-d/2*(Math.sqrt(1-b*b)-1)+c;return d/2*(Math.sqrt(1-(b-=2)*b)+1)+c},easeInElastic:function(a,b,c,d,e){var f=1.70158,g=0,h=d;if(b==0)return c;if((b/=e)==1)return c+d;g||(g=e*.3);if(h<Math.abs(d)){h=d;var f=g/4}else var f=g/(2*Math.PI)*Math.asin(d/h);return-(h*Math.pow(2,10*(b-=1))*Math.sin((b*e-f)*2*Math.PI/g))+c},easeOutElastic:function(a,b,c,d,e){var f=1.70158,g=0,h=d;if(b==0)return c;if((b/=e)==1)return c+d;g||(g=e*.3);if(h<Math.abs(d)){h=d;var f=g/4}else var f=g/(2*Math.PI)*Math.asin(d/h);return h*Math.pow(2,-10*b)*Math.sin((b*e-f)*2*Math.PI/g)+d+c},easeInOutElastic:function(a,b,c,d,e){var f=1.70158,g=0,h=d;if(b==0)return c;if((b/=e/2)==2)return c+d;g||(g=e*.3*1.5);if(h<Math.abs(d)){h=d;var f=g/4}else var f=g/(2*Math.PI)*Math.asin(d/h);if(b<1)return-0.5*h*Math.pow(2,10*(b-=1))*Math.sin((b*e-f)*2*Math.PI/g)+c;return h*Math.pow(2,-10*(b-=1))*Math.sin((b*e-f)*2*Math.PI/g)*.5+d+c},easeInBack:function(a,c,d,e,f,g){g==b&&(g=1.70158);return e*(c/=f)*c*((g+1)*c-g)+d},easeOutBack:function(a,c,d,e,f,g){g==b&&(g=1.70158);return e*((c=c/f-1)*c*((g+1)*c+g)+1)+d},easeInOutBack:function(a,c,d,e,f,g){g==b&&(g=1.70158);if((c/=f/2)<1)return e/2*c*c*(((g*=1.525)+1)*c-g)+d;return e/2*((c-=2)*c*(((g*=1.525)+1)*c+g)+2)+d},easeInBounce:function(b,c,d,e,f){return e-a.easing.easeOutBounce(b,f-c,0,e,f)+d},easeOutBounce:function(a,b,c,d,e){return(b/=e)<1/2.75?d*7.5625*b*b+c:b<2/2.75?d*(7.5625*(b-=1.5/2.75)*b+.75)+c:b<2.5/2.75?d*(7.5625*(b-=2.25/2.75)*b+.9375)+c:d*(7.5625*(b-=2.625/2.75)*b+.984375)+c},easeInOutBounce:function(b,c,d,e,f){if(c<f/2)return a.easing.easeInBounce(b,c*2,0,e,f)*.5+d;return a.easing.easeOutBounce(b,c*2-f,0,e,f)*.5+e*.5+d}})}(jQuery);/*
++ * jQuery UI Effects Blind 1.8.18
++ *
++ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
++ * Dual licensed under the MIT or GPL Version 2 licenses.
++ * http://jquery.org/license
++ *
++ * http://docs.jquery.com/UI/Effects/Blind
++ *
++ * Depends:
++ *    jquery.effects.core.js
++ */(function(a,b){a.effects.blind=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right"],e=a.effects.setMode(c,b.options.mode||"hide"),f=b.options.direction||"vertical";a.effects.save(c,d),c.show();var g=a.effects.createWrapper(c).css({overflow:"hidden"}),h=f=="vertical"?"height":"width",i=f=="vertical"?g.height():g.width();e=="show"&&g.css(h,0);var j={};j[h]=e=="show"?i:0,g.animate(j,b.duration,b.options.easing,function(){e=="hide"&&c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(c[0],arguments),c.dequeue()})})}})(jQuery);/*
++ * jQuery UI Effects Bounce 1.8.18
++ *
++ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
++ * Dual licensed under the MIT or GPL Version 2 licenses.
++ * http://jquery.org/license
++ *
++ * http://docs.jquery.com/UI/Effects/Bounce
++ *
++ * Depends:
++ *    jquery.effects.core.js
++ */(function(a,b){a.effects.bounce=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right"],e=a.effects.setMode(c,b.options.mode||"effect"),f=b.options.direction||"up",g=b.options.distance||20,h=b.options.times||5,i=b.duration||250;/show|hide/.test(e)&&d.push("opacity"),a.effects.save(c,d),c.show(),a.effects.createWrapper(c);var j=f=="up"||f=="down"?"top":"left",k=f=="up"||f=="left"?"pos":"neg",g=b.options.distance||(j=="top"?c.outerHeight({margin:!0})/3:c.outerWidth({margin:!0})/3);e=="show"&&c.css("opacity",0).css(j,k=="pos"?-g:g),e=="hide"&&(g=g/(h*2)),e!="hide"&&h--;if(e=="show"){var l={opacity:1};l[j]=(k=="pos"?"+=":"-=")+g,c.animate(l,i/2,b.options.easing),g=g/2,h--}for(var m=0;m<h;m++){var n={},p={};n[j]=(k=="pos"?"-=":"+=")+g,p[j]=(k=="pos"?"+=":"-=")+g,c.animate(n,i/2,b.options.easing).animate(p,i/2,b.options.easing),g=e=="hide"?g*2:g/2}if(e=="hide"){var l={opacity:0};l[j]=(k=="pos"?"-=":"+=")+g,c.animate(l,i/2,b.options.easing,function(){c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(this,arguments)})}else{var n={},p={};n[j]=(k=="pos"?"-=":"+=")+g,p[j]=(k=="pos"?"+=":"-=")+g,c.animate(n,i/2,b.options.easing).animate(p,i/2,b.options.easing,function(){a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(this,arguments)})}c.queue("fx",function(){c.dequeue()}),c.dequeue()})}})(jQuery);/*
++ * jQuery UI Effects Clip 1.8.18
++ *
++ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
++ * Dual licensed under the MIT or GPL Version 2 licenses.
++ * http://jquery.org/license
++ *
++ * http://docs.jquery.com/UI/Effects/Clip
++ *
++ * Depends:
++ *    jquery.effects.core.js
++ */(function(a,b){a.effects.clip=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right","height","width"],e=a.effects.setMode(c,b.options.mode||"hide"),f=b.options.direction||"vertical";a.effects.save(c,d),c.show();var g=a.effects.createWrapper(c).css({overflow:"hidden"}),h=c[0].tagName=="IMG"?g:c,i={size:f=="vertical"?"height":"width",position:f=="vertical"?"top":"left"},j=f=="vertical"?h.height():h.width();e=="show"&&(h.css(i.size,0),h.css(i.position,j/2));var k={};k[i.size]=e=="show"?j:0,k[i.position]=e=="show"?0:j/2,h.animate(k,{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){e=="hide"&&c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(c[0],arguments),c.dequeue()}})})}})(jQuery);/*
++ * jQuery UI Effects Drop 1.8.18
++ *
++ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
++ * Dual licensed under the MIT or GPL Version 2 licenses.
++ * http://jquery.org/license
++ *
++ * http://docs.jquery.com/UI/Effects/Drop
++ *
++ * Depends:
++ *    jquery.effects.core.js
++ */(function(a,b){a.effects.drop=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right","opacity"],e=a.effects.setMode(c,b.options.mode||"hide"),f=b.options.direction||"left";a.effects.save(c,d),c.show(),a.effects.createWrapper(c);var g=f=="up"||f=="down"?"top":"left",h=f=="up"||f=="left"?"pos":"neg",i=b.options.distance||(g=="top"?c.outerHeight({margin:!0})/2:c.outerWidth({margin:!0})/2);e=="show"&&c.css("opacity",0).css(g,h=="pos"?-i:i);var j={opacity:e=="show"?1:0};j[g]=(e=="show"?h=="pos"?"+=":"-=":h=="pos"?"-=":"+=")+i,c.animate(j,{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){e=="hide"&&c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(this,arguments),c.dequeue()}})})}})(jQuery);/*
++ * jQuery UI Effects Explode 1.8.18
++ *
++ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
++ * Dual licensed under the MIT or GPL Version 2 licenses.
++ * http://jquery.org/license
++ *
++ * http://docs.jquery.com/UI/Effects/Explode
++ *
++ * Depends:
++ *    jquery.effects.core.js
++ */(function(a,b){a.effects.explode=function(b){return this.queue(function(){var c=b.options.pieces?Math.round(Math.sqrt(b.options.pieces)):3,d=b.options.pieces?Math.round(Math.sqrt(b.options.pieces)):3;b.options.mode=b.options.mode=="toggle"?a(this).is(":visible")?"hide":"show":b.options.mode;var e=a(this).show().css("visibility","hidden"),f=e.offset();f.top-=parseInt(e.css("marginTop"),10)||0,f.left-=parseInt(e.css("marginLeft"),10)||0;var g=e.outerWidth(!0),h=e.outerHeight(!0);for(var i=0;i<c;i++)for(var j=0;j<d;j++)e.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-j*(g/d),top:-i*(h/c)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:g/d,height:h/c,left:f.left+j*(g/d)+(b.options.mode=="show"?(j-Math.floor(d/2))*(g/d):0),top:f.top+i*(h/c)+(b.options.mode=="show"?(i-Math.floor(c/2))*(h/c):0),opacity:b.options.mode=="show"?0:1}).animate({left:f.left+j*(g/d)+(b.options.mode=="show"?0:(j-Math.floor(d/2))*(g/d)),top:f.top+i*(h/c)+(b.options.mode=="show"?0:(i-Math.floor(c/2))*(h/c)),opacity:b.options.mode=="show"?1:0},b.duration||500);setTimeout(function(){b.options.mode=="show"?e.css({visibility:"visible"}):e.css({visibility:"visible"}).hide(),b.callback&&b.callback.apply(e[0]),e.dequeue(),a("div.ui-effects-explode").remove()},b.duration||500)})}})(jQuery);/*
++ * jQuery UI Effects Fade 1.8.18
++ *
++ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
++ * Dual licensed under the MIT or GPL Version 2 licenses.
++ * http://jquery.org/license
++ *
++ * http://docs.jquery.com/UI/Effects/Fade
++ *
++ * Depends:
++ *    jquery.effects.core.js
++ */(function(a,b){a.effects.fade=function(b){return this.queue(function(){var c=a(this),d=a.effects.setMode(c,b.options.mode||"hide");c.animate({opacity:d},{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){b.callback&&b.callback.apply(this,arguments),c.dequeue()}})})}})(jQuery);/*
++ * jQuery UI Effects Fold 1.8.18
++ *
++ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
++ * Dual licensed under the MIT or GPL Version 2 licenses.
++ * http://jquery.org/license
++ *
++ * http://docs.jquery.com/UI/Effects/Fold
++ *
++ * Depends:
++ *    jquery.effects.core.js
++ */(function(a,b){a.effects.fold=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right"],e=a.effects.setMode(c,b.options.mode||"hide"),f=b.options.size||15,g=!!b.options.horizFirst,h=b.duration?b.duration/2:a.fx.speeds._default/2;a.effects.save(c,d),c.show();var i=a.effects.createWrapper(c).css({overflow:"hidden"}),j=e=="show"!=g,k=j?["width","height"]:["height","width"],l=j?[i.width(),i.height()]:[i.height(),i.width()],m=/([0-9]+)%/.exec(f);m&&(f=parseInt(m[1],10)/100*l[e=="hide"?0:1]),e=="show"&&i.css(g?{height:0,width:f}:{height:f,width:0});var n={},p={};n[k[0]]=e=="show"?l[0]:f,p[k[1]]=e=="show"?l[1]:0,i.animate(n,h,b.options.easing).animate(p,h,b.options.easing,function(){e=="hide"&&c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(c[0],arguments),c.dequeue()})})}})(jQuery);/*
++ * jQuery UI Effects Highlight 1.8.18
++ *
++ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
++ * Dual licensed under the MIT or GPL Version 2 licenses.
++ * http://jquery.org/license
++ *
++ * http://docs.jquery.com/UI/Effects/Highlight
++ *
++ * Depends:
++ *    jquery.effects.core.js
++ */(function(a,b){a.effects.highlight=function(b){return this.queue(function(){var c=a(this),d=["backgroundImage","backgroundColor","opacity"],e=a.effects.setMode(c,b.options.mode||"show"),f={backgroundColor:c.css("backgroundColor")};e=="hide"&&(f.opacity=0),a.effects.save(c,d),c.show().css({backgroundImage:"none",backgroundColor:b.options.color||"#ffff99"}).animate(f,{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){e=="hide"&&c.hide(),a.effects.restore(c,d),e=="show"&&!a.support.opacity&&this.style.removeAttribute("filter"),b.callback&&b.callback.apply(this,arguments),c.dequeue()}})})}})(jQuery);/*
++ * jQuery UI Effects Pulsate 1.8.18
++ *
++ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
++ * Dual licensed under the MIT or GPL Version 2 licenses.
++ * http://jquery.org/license
++ *
++ * http://docs.jquery.com/UI/Effects/Pulsate
++ *
++ * Depends:
++ *    jquery.effects.core.js
++ */(function(a,b){a.effects.pulsate=function(b){return this.queue(function(){var c=a(this),d=a.effects.setMode(c,b.options.mode||"show");times=(b.options.times||5)*2-1,duration=b.duration?b.duration/2:a.fx.speeds._default/2,isVisible=c.is(":visible"),animateTo=0,isVisible||(c.css("opacity",0).show(),animateTo=1),(d=="hide"&&isVisible||d=="show"&&!isVisible)&&times--;for(var e=0;e<times;e++)c.animate({opacity:animateTo},duration,b.options.easing),animateTo=(animateTo+1)%2;c.animate({opacity:animateTo},duration,b.options.easing,function(){animateTo==0&&c.hide(),b.callback&&b.callback.apply(this,arguments)}),c.queue("fx",function(){c.dequeue()}).dequeue()})}})(jQuery);/*
++ * jQuery UI Effects Scale 1.8.18
++ *
++ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
++ * Dual licensed under the MIT or GPL Version 2 licenses.
++ * http://jquery.org/license
++ *
++ * http://docs.jquery.com/UI/Effects/Scale
++ *
++ * Depends:
++ *    jquery.effects.core.js
++ */(function(a,b){a.effects.puff=function(b){return this.queue(function(){var c=a(this),d=a.effects.setMode(c,b.options.mode||"hide"),e=parseInt(b.options.percent,10)||150,f=e/100,g={height:c.height(),width:c.width()};a.extend(b.options,{fade:!0,mode:d,percent:d=="hide"?e:100,from:d=="hide"?g:{height:g.height*f,width:g.width*f}}),c.effect("scale",b.options,b.duration,b.callback),c.dequeue()})},a.effects.scale=function(b){return this.queue(function(){var c=a(this),d=a.extend(!0,{},b.options),e=a.effects.setMode(c,b.options.mode||"effect"),f=parseInt(b.options.percent,10)||(parseInt(b.options.percent,10)==0?0:e=="hide"?0:100),g=b.options.direction||"both",h=b.options.origin;e!="effect"&&(d.origin=h||["middle","center"],d.restore=!0);var i={height:c.height(),width:c.width()};c.from=b.options.from||(e=="show"?{height:0,width:0}:i);var j={y:g!="horizontal"?f/100:1,x:g!="vertical"?f/100:1};c.to={height:i.height*j.y,width:i.width*j.x},b.options.fade&&(e=="show"&&(c.from.opacity=0,c.to.opacity=1),e=="hide"&&(c.from.opacity=1,c.to.opacity=0)),d.from=c.from,d.to=c.to,d.mode=e,c.effect("size",d,b.duration,b.callback),c.dequeue()})},a.effects.size=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right","width","height","overflow","opacity"],e=["position","top","bottom","left","right","overflow","opacity"],f=["width","height","overflow"],g=["fontSize"],h=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],i=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],j=a.effects.setMode(c,b.options.mode||"effect"),k=b.options.restore||!1,l=b.options.scale||"both",m=b.options.origin,n={height:c.height(),width:c.width()};c.from=b.options.from||n,c.to=b.options.to||n;if(m){var p=a.effects.getBaseline(m,n);c.from.top=(n.height-c.from.height)*p.y,c.from.left=(n.width-c.from.width)*p.x,c.to.top=(n.height-c.to.height)*p.y,c.to.left=(n.width-c.to.width)*p.x}var q={from:{y:c.from.height/n.height,x:c.from.width/n.width},to:{y:c.to.height/n.height,x:c.to.width/n.width}};if(l=="box"||l=="both")q.from.y!=q.to.y&&(d=d.concat(h),c.from=a.effects.setTransition(c,h,q.from.y,c.from),c.to=a.effects.setTransition(c,h,q.to.y,c.to)),q.from.x!=q.to.x&&(d=d.concat(i),c.from=a.effects.setTransition(c,i,q.from.x,c.from),c.to=a.effects.setTransition(c,i,q.to.x,c.to));(l=="content"||l=="both")&&q.from.y!=q.to.y&&(d=d.concat(g),c.from=a.effects.setTransition(c,g,q.from.y,c.from),c.to=a.effects.setTransition(c,g,q.to.y,c.to)),a.effects.save(c,k?d:e),c.show(),a.effects.createWrapper(c),c.css("overflow","hidden").css(c.from);if(l=="content"||l=="both")h=h.concat(["marginTop","marginBottom"]).concat(g),i=i.concat(["marginLeft","marginRight"]),f=d.concat(h).concat(i),c.find("*[width]").each(function(){child=a(this),k&&a.effects.save(child,f);var c={height:child.height(),width:child.width()};child.from={height:c.height*q.from.y,width:c.width*q.from.x},child.to={height:c.height*q.to.y,width:c.width*q.to.x},q.from.y!=q.to.y&&(child.from=a.effects.setTransition(child,h,q.from.y,child.from),child.to=a.effects.setTransition(child,h,q.to.y,child.to)),q.from.x!=q.to.x&&(child.from=a.effects.setTransition(child,i,q.from.x,child.from),child.to=a.effects.setTransition(child,i,q.to.x,child.to)),child.css(child.from),child.animate(child.to,b.duration,b.options.easing,function(){k&&a.effects.restore(child,f)})});c.animate(c.to,{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){c.to.opacity===0&&c.css("opacity",c.from.opacity),j=="hide"&&c.hide(),a.effects.restore(c,k?d:e),a.effects.removeWrapper(c),b.callback&&b.callback.apply(this,arguments),c.dequeue()}})})}})(jQuery);/*
++ * jQuery UI Effects Shake 1.8.18
++ *
++ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
++ * Dual licensed under the MIT or GPL Version 2 licenses.
++ * http://jquery.org/license
++ *
++ * http://docs.jquery.com/UI/Effects/Shake
++ *
++ * Depends:
++ *    jquery.effects.core.js
++ */(function(a,b){a.effects.shake=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right"],e=a.effects.setMode(c,b.options.mode||"effect"),f=b.options.direction||"left",g=b.options.distance||20,h=b.options.times||3,i=b.duration||b.options.duration||140;a.effects.save(c,d),c.show(),a.effects.createWrapper(c);var j=f=="up"||f=="down"?"top":"left",k=f=="up"||f=="left"?"pos":"neg",l={},m={},n={};l[j]=(k=="pos"?"-=":"+=")+g,m[j]=(k=="pos"?"+=":"-=")+g*2,n[j]=(k=="pos"?"-=":"+=")+g*2,c.animate(l,i,b.options.easing);for(var p=1;p<h;p++)c.animate(m,i,b.options.easing).animate(n,i,b.options.easing);c.animate(m,i,b.options.easing).animate(l,i/2,b.options.easing,function(){a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(this,arguments)}),c.queue("fx",function(){c.dequeue()}),c.dequeue()})}})(jQuery);/*
++ * jQuery UI Effects Slide 1.8.18
++ *
++ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
++ * Dual licensed under the MIT or GPL Version 2 licenses.
++ * http://jquery.org/license
++ *
++ * http://docs.jquery.com/UI/Effects/Slide
++ *
++ * Depends:
++ *    jquery.effects.core.js
++ */(function(a,b){a.effects.slide=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right"],e=a.effects.setMode(c,b.options.mode||"show"),f=b.options.direction||"left";a.effects.save(c,d),c.show(),a.effects.createWrapper(c).css({overflow:"hidden"});var g=f=="up"||f=="down"?"top":"left",h=f=="up"||f=="left"?"pos":"neg",i=b.options.distance||(g=="top"?c.outerHeight({margin:!0}):c.outerWidth({margin:!0}));e=="show"&&c.css(g,h=="pos"?isNaN(i)?"-"+i:-i:i);var j={};j[g]=(e=="show"?h=="pos"?"+=":"-=":h=="pos"?"-=":"+=")+i,c.animate(j,{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){e=="hide"&&c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(this,arguments),c.dequeue()}})})}})(jQuery);/*
++ * jQuery UI Effects Transfer 1.8.18
++ *
++ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
++ * Dual licensed under the MIT or GPL Version 2 licenses.
++ * http://jquery.org/license
++ *
++ * http://docs.jquery.com/UI/Effects/Transfer
++ *
++ * Depends:
++ *    jquery.effects.core.js
++ */(function(a,b){a.effects.transfer=function(b){return this.queue(function(){var c=a(this),d=a(b.options.to),e=d.offset(),f={top:e.top,left:e.left,height:d.innerHeight(),width:d.innerWidth()},g=c.offset(),h=a('<div class="ui-effects-transfer"></div>').appendTo(document.body).addClass(b.options.className).css({top:g.top,left:g.left,height:c.innerHeight(),width:c.innerWidth(),position:"absolute"}).animate(f,b.duration,b.options.easing,function(){h.remove(),b.callback&&b.callback.apply(c[0],arguments),c.dequeue()})})}})(jQuery);
+\ No newline at end of file
+diff -up cacti-0.8.8a/include/js/jquery/jquery.zoom.js.legal cacti-0.8.8a/include/js/jquery/jquery.zoom.js
+--- cacti-0.8.8a/include/js/jquery/jquery.zoom.js.legal        2013-01-04 15:44:38.045416081 -0500
++++ cacti-0.8.8a/include/js/jquery/jquery.zoom.js      2013-01-04 15:43:12.646377987 -0500
+@@ -0,0 +1,866 @@
++/*
++ +-------------------------------------------------------------------------+
++ | Copyright (C) 2004-2013 The Cacti Group                                 |
++ |                                                                         |
++ | This program is free software; you can redistribute it and/or           |
++ | modify it under the terms of the GNU General Public License             |
++ | as published by the Free Software Foundation; either version 2          |
++ | of the License, or (at your option) any later version.                  |
++ |                                                                         |
++ | This program is distributed in the hope that it will be useful,         |
++ | but WITHOUT ANY WARRANTY; without even the implied warranty of          |
++ | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the           |
++ | GNU General Public License for more details.                            |
++ +-------------------------------------------------------------------------+
++ | Cacti: The Complete RRDTool-based Graphing Solution                     |
++ +-------------------------------------------------------------------------+
++ | This code is designed, written, and maintained by the Cacti Group. See  |
++ | about.php and/or the AUTHORS file for specific developer information.   |
++ +-------------------------------------------------------------------------+
++ | http://www.cacti.net/                                                   |
++ +-------------------------------------------------------------------------+
++*/
++
++/* requirements:
++      jQuery 1.7.x or above
++      jQuery UI 1.8.x or above
++      jQuery cookie plugin
++*/
++
++(function($){
++      $.fn.zoom = function(options) {
++
++              /* +++++++++++++++++++++++ Global Variables +++++++++++++++++++++++++ */
++
++              // default values of the different options being offered
++              var defaults = {
++                      inputfieldStartTime     : '',                                           // ID of the input field that contains the start date
++                      inputfieldEndTime       : '',                                           // ID of the input field that contains the end date
++                      submitButton            : 'button_refresh_x',                           // ID of the submit button
++                      cookieName                      : 'cacti_zoom'                                  // default name required for session cookie
++              };
++
++              // define global variables / objects here
++              var zoom = {
++                      // "initiator" is the element that initiates Zoom
++                      initiator: $(this),
++                      // "image" means the image tag and its properties
++                      image: { top:0, left:0, width:0, height:0 },
++                      // "graph" stands for the rrdgraph itself excluding legend, graph title etc.
++                      graph: { timespan:0, secondsPerPixel:0 },
++                      // "box" describes the area in front of the graph whithin jQueryZoom will allow interaction
++                      box: { top:0, left:0, right:0, width:0, height:0 },
++                      // "markers" are selectors useable within the advanced mode
++                      marker: { 1 : { placed:false }, 2 : { placed:false} },
++                      // "custom" holds the local configuration done by the user
++                      custom: {},
++                      // "options" contains the start input parameters
++                      options: $.extend(defaults, options),
++                      // "attributes" holds all values that will describe the selected area
++                      attr: { activeElement:'', start:'none', end:'none', action:'left2right', location: window.location.href.split("?") }
++              };
++
++
++              /* ++++++++++++++++++++++++ Initialization ++++++++++++++++++++++++++ */
++
++              // use a cookie to support local settings
++              zoom.custom =  $.cookie(zoom.options.cookieName) ? unserialize( $.cookie(zoom.options.cookieName) ) : {};
++              if(zoom.custom.zoomMode == undefined) zoom.custom.zoomMode = 'quick';
++              if(zoom.custom.zoomOutPositioning == undefined) zoom.custom.zoomOutPositioning = 'center';
++              if(zoom.custom.zoomOutFactor == undefined) zoom.custom.zoomOutFactor = '2';
++              if(zoom.custom.zoomMarkers == undefined) zoom.custom.zoomMarkers = true;
++              if(zoom.custom.zoomTimestamps == undefined) zoom.custom.zoomTimestamps = 'auto';
++              if(zoom.custom.zoom3rdMouseButton == undefined) zoom.custom.zoom3rdMouseButton = false;
++
++              // create or update a session cookie
++              $.cookie( zoom.options.cookieName, serialize(zoom.custom), {expires: null} );
++
++              // support jQuery's concatination
++              return this.each(function() { zoom_init( $(this) ); });
++
++
++              /* ++++++++++++++++++++ Universal Functions +++++++++++++++++++++++++ */
++
++              /**
++               * checks if an image has been already loaded or if the link is broken
++               **/
++              function isReady(image){
++                      if(typeof image[0].naturalWidth !== undefined && image[0].naturalWidth == 0) {
++                              return false;
++                      }
++                      // support older versions of IE(6-8)
++                      if(!image[0].complete) {
++                              return false;
++                      }
++                      return true;
++              }
++
++              /**
++               * splits off the parameters of a given url
++               **/
++              function getUrlVars(url) {
++                      var parameters = [], name, value;
++
++                      urlBaseAndParameters = url.split("?");
++                      urlBase = urlBaseAndParameters[0];
++                      urlParameters = urlBaseAndParameters[1].split("&");
++                      parameters["urlBase"] = urlBase;
++
++                      for(var i=0; i<urlParameters.length; i++) {
++                              parameter = urlParameters[i].split("=");
++                              parameters[parameter[0].replace(/^graph_/, "")] = $.isNumeric(parameter[1]) ? +parameter[1] : parameter[1];
++                      }
++                      return parameters;
++              }
++
++              /**
++               * transforms an object into a comma separated string of key-value pairs
++               **/
++              function serialize(object){
++                      var str = "";
++                      for(var key in object) { str += (key + '=' + object[key] + ','); }
++                      return str.slice(0, -1);
++              }
++
++              /**
++               * transforms a comma separated string of key-values pairs into an object
++               * including a change of the value type from string to boolean or numeric if reasonable.
++               **/
++              function unserialize(string){
++                      var obj = new Array();
++                      pairs = string.split(',');
++                      for(var i=0; i<pairs.length; i++) {
++                              pair = pairs[i].split("=");
++                              if(pair[1] == "true") {
++                                      pair[1] = true;
++                              }else if(pair[1] == "false") {
++                                      pair[1] = false;
++                              }else if($.isNumeric(pair[1])) {
++                                      pair[1] = +pair[1];
++                              }
++                              obj[pair[0]] = pair[1];
++                      }
++                      return obj;
++              }
++
++              /**
++               * converts a Unix time stamp to a formatted date string
++               **/
++              function unixTime2Date(unixTime){
++                      var date        = new Date(unixTime*1000);
++                      var year        = date.getFullYear();
++                      var month       = ((date.getMonth()+1) < 9 ) ? '0' + (date.getMonth()+1) : date.getMonth()+1;
++                      var day         = (date.getDate() > 9) ? date.getDate() : '0' + date.getDate();
++                      var hours       = (date.getHours() > 9) ? date.getHours() : '0' + date.getHours();
++                      var minutes     = (date.getMinutes() > 9) ? date.getMinutes() : '0' + date.getMinutes();
++                      var seconds     = (date.getSeconds() > 9) ? date.getSeconds() : '0' + date.getSeconds();
++
++                      var formattedTime = year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds;
++                      return formattedTime;
++              }
++
++
++              /* +++++++++++++++++++++++ Core Functions +++++++++++++++++++++++++++ */
++
++              /* init zoom */
++              function zoom_init(image) {
++                      var $this = image;
++                      $this.mouseenter(
++                              function(){
++                                      if(zoom.attr.activeElement == '') {
++                                              zoom.attr.activeElement = $(this).attr('id');
++                                              zoomFunction_init($this);
++                                      // focusing another image will trigger a reset of Zoom
++                                      }else if(zoom.attr.activeElement != $(this).attr('id')) {
++                                              zoom.attr.activeElement = $(this).attr('id');
++                                              zoomFunction_init($this);
++                                      }
++                              }
++                      );
++              }
++
++              function zoomFunction_init(image) {
++                      var $this = image;
++                      // exit if image has not been already loaded or if image is not available
++                      if(isReady($this)) {
++                              // update zoom.image object with the attributes of this image
++                              zoom.image.width        = parseInt($this.width());
++                              zoom.image.height       = parseInt($this.height());
++                              zoom.image.top          = parseInt($this.offset().top);
++                              zoom.image.left         = parseInt($this.offset().left);
++                      }else {
++                              return;
++                      }
++
++                      // get all graph parameters and merge results with zoom.graph object
++                      $.extend(zoom.graph, getUrlVars( $this.attr("src") ));
++                      zoom.graph.timespan                     = zoom.graph.end - zoom.graph.start;
++                      zoom.graph.secondsPerPixel      = zoom.graph.timespan/zoom.graph.width;
++
++                      if((zoom.graph.title_font_size <= 0) || (zoom.graph.title_font_size == "")) {
++                              zoom.graph.title_font_size = 10;
++                      }
++
++                      if(zoom.graph.nolegend != undefined) {
++                              zoom.graph.title_font_size      *= .70;
++                      }
++
++                      // update all zoom box attributes. Unfortunately we have to use that best fit way
++                      // to support RRDtool 1.2 and below. With RRDtool 1.3 or higher there would be a
++                      // much more elegant solution available. (see RRDdtool graph option "graphv")
++                      zoom.box.width          = zoom.graph.width;
++                      zoom.box.height         = zoom.graph.height;
++
++                      if(zoom.graph.title_font_size == null) {
++                              zoom.box.top = 32 - 1;
++                      }else {
++                              //default multiplier
++                              var multiplier = 2.4;
++                              // array of "best fit" multipliers
++                              multipliers = new Array("-5", "-2", "0", "1.7", "1.6", "1.7", "1.8", "1.9", "2", "2", "2.1", "2.1", "2.2", "2.2", "2.3", "2.3", "2.3", "2.3", "2.3");
++                              if(multipliers[Math.round(zoom.graph.title_font_size)] != null) {
++                                      multiplier = multipliers[Math.round(zoom.graph.title_font_size)];
++                              }
++                              zoom.box.top = zoom.image.top + parseInt(Math.abs(zoom.graph.title_font_size) * multiplier) + 15;
++                      }
++
++                      zoom.box.bottom = zoom.box.top + zoom.box.height;
++                      zoom.box.right  = zoom.image.left + zoom.image.width - 30;
++                      zoom.box.left   = zoom.box.right - zoom.graph.width;
++
++                      // add all additional HTML elements to the DOM if necessary and register
++                      // the individual events needed. Once added we will only reset
++                      // and reposition these elements.
++
++                      // add the "zoomBox"
++                      if($("#zoom-box").length == 0) {
++                              // Please note: IE does not fire hover or click behaviors on completely transparent elements.
++                              // Use a background color and set opacity to 1% as a workaround.(see CSS file)
++                              $("<div id='zoom-box'></div>").appendTo("body");
++                      }
++
++                      // add the "zoomSelectedArea"
++                      if($("#zoom-area").length == 0) {
++                              $("<div id='zoom-area'></div>").appendTo("body");
++                      }
++
++                      // add two markers for the advanced mode
++                      if($("#zoom-marker-1").length == 0) {
++                              $('<div id="zoom-excluded-area-1" class="zoom-area-excluded"></div>').appendTo("body");
++                              $('<div class="zoom-marker" id="zoom-marker-1"><div class="zoom-marker-arrow-down"></div><div class="zoom-marker-arrow-up"></div></div>').appendTo("body");
++                              $('<div id="zoom-marker-tooltip-1" class="zoom-marker-tooltip"><div id="zoom-marker-tooltip-1-arrow-left" class="zoom-marker-tooltip-arrow-left"><div id="zoom-marker-tooltip-1-arrow-left-inner" class="zoom-marker-tooltip-arrow-left-inner"></div></div><span id="zoom-marker-tooltip-value-1" class="zoom-marker-tooltip-value">-</span><div id="zoom-marker-tooltip-1-arrow-right" class="zoom-marker-tooltip-arrow-right"><div id="zoom-marker-tooltip-1-arrow-right-inner" class="zoom-marker-tooltip-arrow-right-inner"></div></div></div>').appendTo('body');
++                      }
++                      if($("#zoom-marker-2").length == 0) {
++                              $('<div id="zoom-excluded-area-2" class="zoom-area-excluded"></div>').appendTo("body");
++                              $('<div class="zoom-marker" id="zoom-marker-2"><div class="zoom-marker-arrow-down"></div><div class="zoom-marker-arrow-up"></div></div>').appendTo("body");
++                              $('<div id="zoom-marker-tooltip-2" class="zoom-marker-tooltip"><div id="zoom-marker-tooltip-2-arrow-left" class="zoom-marker-tooltip-arrow-left"><div id="zoom-marker-tooltip-1-arrow-left-inner" class="zoom-marker-tooltip-arrow-left-inner"></div></div><span id="zoom-marker-tooltip-value-2" class="zoom-marker-tooltip-value">-</span><div id="zoom-marker-tooltip-2-arrow-right" class="zoom-marker-tooltip-arrow-right"><div id="zoom-marker-tooltip-2-arrow-right-inner" class="zoom-marker-tooltip-arrow-right-inner"></div></div></div>').appendTo('body');
++                      }
++                      zoom.marker[1].placed = false;
++                      zoom.marker[2].placed = false;
++
++                      // add the context (right click) menu
++                      if($("#zoom-menu").length == 0) {
++                              $('<div id="zoom-menu" class="zoom-menu">'
++                                      + '<div class="first_li">'
++                                      +               '<div class="ui-icon ui-icon-zoomin"></div>'
++                                      +       '<span class="zoomContextMenuAction__zoom_in">Zoom In</span>'
++                                      + '</div>'
++                                      + '<div class="first_li">'
++                                      +               '<div class="ui-icon ui-icon-zoomout"></div>'
++                                      +               '<span class="zoomContextMenuAction__zoom_out">Zoom Out (2x)</span>'
++                                      +               '<div class="inner_li advanced_mode">'
++                                      +                       '<span class="zoomContextMenuAction__zoom_out__2">2x</span>'
++                                      +                       '<span class="zoomContextMenuAction__zoom_out__4">4x</span>'
++                                      +                       '<span class="zoomContextMenuAction__zoom_out__8">8x</span>'
++                                      +                       '<span class="zoomContextMenuAction__zoom_out__16">16x</span>'
++                                      +                       '<span class="zoomContextMenuAction__zoom_out__32">32x</span>'
++                                      +               '</div>'
++                                      + '</div>'
++                                      + '<div class="sep_li"></div>'
++                                      + '<div class="first_li">'
++                                      +               '<div class="ui-icon ui-icon-empty"></div><span>Zoom Mode</span>'
++                                      +               '<div class="inner_li">'
++                                      +                       '<span class="zoomContextMenuAction__set_zoomMode__quick">Quick</span>'
++                                      +                       '<span class="zoomContextMenuAction__set_zoomMode__advanced">Advanced</span>'
++                                      +               '</div>'
++                                      + '</div>'
++                                      + '<div class="first_li advanced_mode">'
++                                      +               '<div class="ui-icon ui-icon-wrench"></div><span>Settings</span>'
++                                      +                       '<div class="inner_li">'
++                                      +                               '<div class="sec_li"><span>Markers</span>'
++                                      +                                       '<div class="inner_li advanced_mode">'
++                                      +                                               '<span class="zoomContextMenuAction__set_zoomMarkers__on">Enabled</span>'
++                                      +                                               '<span class="zoomContextMenuAction__set_zoomMarkers__off">Disabled</span>'
++                                      +                                       '</div>'
++                                      +                               '</div>'
++                                      +                               '<div class="sec_li"><span>Timestamps</span></span>'
++                                      +                                       '<div class="inner_li advanced_mode">'
++                                      +                                               '<span class="zoomContextMenuAction__set_zoomTimestamps__on">Always On</span>'
++                                      +                                               '<span class="zoomContextMenuAction__set_zoomTimestamps__auto">Auto</span>'
++                                      +                                               '<span class="zoomContextMenuAction__set_zoomTimestamps__off">Always Off</span>'
++                                      +                                       '</div>'
++                                      +                               '</div>'
++                                      +                               '<div class="sep_li"></div>'
++                                      +                               '<div class="sec_li"><span>Zoom Out Factor</span>'
++                                      +                                       '<div class="inner_li advanced_mode">'
++                                      +                                               '<span class="zoomContextMenuAction__set_zoomOutFactor__2">2x</span>'
++                                      +                                               '<span class="zoomContextMenuAction__set_zoomOutFactor__4">4x</span>'
++                                      +                                               '<span class="zoomContextMenuAction__set_zoomOutFactor__8">8x</span>'
++                                      +                                               '<span class="zoomContextMenuAction__set_zoomOutFactor__16">16x</span>'
++                                      +                                               '<span class="zoomContextMenuAction__set_zoomOutFactor__32">32x</span>'
++                                      +                                       '</div>'
++                                      +                               '</div>'
++                                      +                               '<div class="sec_li"><span>Zoom Out Positioning</span>'
++                                      +                                       '<div class="inner_li advanced_mode">'
++                                      +                                               '<span class="zoomContextMenuAction__set_zoomOutPositioning__begin">Begin with</span>'
++                                      +                                               '<span class="zoomContextMenuAction__set_zoomOutPositioning__center">Center</span>'
++                                      +                                               '<span class="zoomContextMenuAction__set_zoomOutPositioning__end">End with</span>'
++                                      +                                       '</div>'
++                                      +                               '</div>'
++                                      +                               '<div class="sec_li"><span>3rd Mouse Button</span>'
++                                      +                                       '<div class="inner_li advanced_mode">'
++                                      +                                               '<span class="zoomContextMenuAction__set_zoom3rdMouseButton__zoom_in">Zoom in</span>'
++                                      +                                               '<span class="zoomContextMenuAction__set_zoom3rdMouseButton__zoom_out">Zoom out</span>'
++                                      +                                               '<span class="zoomContextMenuAction__set_zoom3rdMouseButton__off">Disabled</span>'
++                                      +                                       '</div>'
++                                      +                               '</div>'
++                                      +                       '</div>'
++                                      +               '</div>'
++                                      + '<div class="sep_li"></div>'
++                                      + '<div class="first_li">'
++                                      +               '<div class="ui-icon ui-icon-close"></div><span class="zoomContextMenuAction__close">Close</span>'
++                                      + '</div>').appendTo('body');
++                      }
++                      zoomElemtents_reset()
++                      zoomContextMenu_init();
++                      zoomAction_init(image);
++              }
++
++              /**
++               * resets all elements of Zoom
++               **/
++              function zoomElemtents_reset() {
++                      zoom.marker = { 1 : { placed:false }, 2 : { placed:false} };
++                      $('div[id^="zoom-"]').not('#zoom-menu').each( function () {
++                              $(this).removeAttr('style');
++                      });
++                      $("#zoom-box").off();
++                      $("#zoom-box").css({ cursor:'crosshair', width:zoom.box.width + 'px', height:zoom.box.height + 'px', top:zoom.box.top+'px', left:zoom.box.left+'px' });
++                      $("#zoom-box").bind('contextmenu', function(e) { zoomContextMenu_show(e); return false;} );
++                      $("#zoom-area").off().css({ top:zoom.box.top+'px', height:zoom.box.height+'px' });
++                      $(".zoom-area-excluded").off();
++                      $(".zoom-area-excluded").bind('contextmenu', function(e) { zoomContextMenu_show(e); return false;} );
++                      $(".zoom-area-excluded").bind('click', function(e) { zoomContextMenu_hide(); return false;} );
++                      $(".zoom-marker-arrow-up").css({ top:(zoom.box.height-6) + 'px' });
++                      $(".zoom-marker-tooltip-value").disableSelection();
++              }
++
++              /*
++              * registers all the different mouse click event handler
++              */
++              function zoomAction_init(image) {
++
++                      if(zoom.custom.zoomMode == 'quick') {
++                              $("#zoom-box").off("mousedown").on("mousedown", function(e) {
++                                      switch(e.which) {
++                                              /* clicking the left mouse button will initiates a zoom-in */
++                                              case 1:
++                                                      zoomContextMenu_hide();
++                                                      // reset the zoom area
++                                                      zoom.attr.start = e.pageX;
++                                                      if(zoom.custom.zoomMode != 'quick') {
++                                                              $("#zoom-marker-1").css({ height:zoom.box.height+'px', top:zoom.box.top+'px', left:zoom.attr.start+'px', display:'block' });
++                                                              $("#zoom-marker-tooltip-1").css({ top:zoom.box.top+'px', left:zoom.attr.start+'px'});
++                                                      }
++                                                      $("#zoom-box").css({ cursor:'e-resize' });
++                                                      $("#zoom-area").css({ width:'0px', left:zoom.attr.start+'px' });
++                                              break;
++                                      }
++                              });
++
++                              /* register the mouse up event */
++                              $("#zoom-area").off("mouseup").on("mouseup", function(e) {
++                                      switch(e.which) {
++                                              /* leaving the left mouse button will execute a zoom in */
++                                              case 1:
++                                                      if(zoom.custom.zoomMode == 'quick' && zoom.attr.start != 'none') {
++                                                              zoomAction_zoom_in();
++                                                      }
++                                              break;
++                                      }
++                              });
++
++                              /* stretch the zoom area in that direction the user moved the mouse pointer */
++                              $("#zoom-box").mousemove( function(e) { zoomAction_draw(e) } );
++
++                              /* stretch the zoom area in that direction the user moved the mouse pointer.
++                                 That is required to get it working faultlessly with Opera, IE and Chrome     */
++                              $("#zoom-area").mousemove( function(e) { zoomAction_draw(e); } );
++
++                              /* moving the mouse pointer quickly will avoid that the mousemove event has enough time to actualize the zoom area */
++                              $("#zoom-box").mouseout( function(e) { zoomAction_draw(e) } );
++
++                      }else{
++                              /* welcome to the advanced mode ;) */
++                              $("#zoom-box").off("mousedown").on("mousedown", function(e) {
++                                      switch(e.which) {
++                                              case 1:
++                                                      /* hide context menu if open */
++                                                      zoomContextMenu_hide();
++
++                                                      /* find out which marker has to be added */
++                                                      if(zoom.marker[1].placed && zoom.marker[2].placed) {
++                                                              zoomAction_zoom_in();
++                                                              return;
++                                                      }else {
++                                                              var marker = zoom.marker[1].placed ? 2 : 1;
++                                                              var secondmarker = (marker == 1) ? 2 : 1;
++                                                      }
++
++                                                      /* select marker */
++                                                      var $this = $("#zoom-marker-" + marker);
++
++                                                      /* place the marker and make it visible */
++                                                      $this.css({ height:zoom.box.height+'px', top:zoom.box.top+'px', left:e.pageX+'px', display:'block' });
++                                                      zoom.marker[marker].placed = true;
++                                                      zoom.marker[marker].left = e.pageX;
++
++                                                      /* place the marker's tooltip, update its value and make it visible if necessary (Setting: "Always On") */
++                                                      zoom.marker[marker].unixtime = parseInt(parseInt(zoom.graph.start) + (e.pageX + 1 - zoom.box.left)*zoom.graph.secondsPerPixel);
++                                                      $("#zoom-marker-tooltip-value-" + marker).html(
++                                                              unixTime2Date(zoom.marker[marker].unixtime).replace(" ", "<br>")
++                                                      );
++                                                      zoom.marker[marker].width = $("#zoom-marker-tooltip-" + marker).width();
++
++                                                      $("#zoom-marker-tooltip-" + marker).css({
++                                                              top: ( (marker == 1) ? zoom.box.top+3 : zoom.box.bottom-30 )+'px',
++                                                              left:( (marker == 1) ? e.pageX - zoom.marker[marker].width : e.pageX )+'px'}
++                                                      );
++
++                                                      if(zoom.custom.zoomTimestamps === true) {
++                                                              $("#zoom-marker-tooltip-" + marker).fadeIn(500);
++                                                      }
++
++                                                      if(e.pageX == $("#zoom-marker-tooltip-" + marker).position().left) {
++                                                              $("#zoom-marker-tooltip-" + marker + "-arrow-right").css({ visibility:'hidden'});
++                                                      }else {
++                                                              $("#zoom-marker-tooltip-" + marker + "-arrow-left").css({ visibility:'hidden'});
++                                                      }
++
++                                                      /* make the excluded areas visible directly in that moment both markers are set */
++                                                      if(zoom.marker[1].placed && zoom.marker[2].placed) {
++                                                              zoom.marker.distance    = zoom.marker[1].left - zoom.marker[2].left;
++
++                                                              $("#zoom-excluded-area-1").css({
++                                                                      height:zoom.box.height+'px',
++                                                                      top:zoom.box.top+'px',
++                                                                      left: (zoom.marker.distance > 0) ? zoom.marker[1].left : zoom.box.left,
++                                                                      width: (zoom.marker.distance > 0) ? zoom.box.right - zoom.marker[1].left : zoom.marker[1].left - zoom.box.left,
++                                                                      display:'block'
++                                                              });
++
++                                                              $("#zoom-excluded-area-2").css({
++                                                                      height:zoom.box.height+'px',
++                                                                      top:zoom.box.top+'px',
++                                                                      left: (zoom.marker.distance < 0) ? zoom.marker[2].left : zoom.box.left,
++                                                                      width: (zoom.marker.distance < 0) ? zoom.box.right - zoom.marker[2].left : zoom.marker[2].left - zoom.box.left,
++                                                                      display:'block'
++                                                              });
++
++                                                              /* reposition both tooltips */
++                                                              $("#zoom-marker-tooltip-1").css({ left: $("#zoom-marker-1").position().left - ( (zoom.marker.distance > 0) ? 0 : $("#zoom-marker-tooltip-1").width() ) + 'px' });
++                                                              $("#zoom-marker-tooltip-1-arrow-left").css({ visibility: (($("#zoom-marker-tooltip-1").position().left < $("#zoom-marker-1").position().left ) ? 'hidden' : 'visible') });
++                                                              $("#zoom-marker-tooltip-1-arrow-right").css({ visibility: (($("#zoom-marker-tooltip-1").position().left < $("#zoom-marker-1").position().left ) ? 'visible' : 'hidden') });
++
++                                                              $("#zoom-marker-tooltip-2").css({ left: $("#zoom-marker-2").position().left - ( (zoom.marker.distance < 0) ? 0 : $("#zoom-marker-tooltip-2").width() ) + 'px' });
++                                                              $("#zoom-marker-tooltip-2-arrow-left").css({ visibility: (($("#zoom-marker-tooltip-2").position().left < $("#zoom-marker-2").position().left ) ? 'hidden' : 'visible') });
++                                                              $("#zoom-marker-tooltip-2-arrow-right").css({ visibility: (($("#zoom-marker-tooltip-2").position().left < $("#zoom-marker-2").position().left ) ? 'visible' : 'hidden') });
++                                                      }
++
++                                                      /* make the marker draggable */
++                                                      $this.draggable({
++                                                              containment:[ zoom.box.left-1, 0 , zoom.box.left+parseInt(zoom.box.width), 0 ],
++                                                              axis: "x",
++                                                              start:
++                                                                      function(event, ui) {
++                                                                              if(zoom.custom.zoomTimestamps == "auto") {
++                                                                                      $(".zoom-marker-tooltip").fadeIn(500);
++                                                                              }
++                                                                      },
++                                                              drag:
++                                                                      function(event, ui) {
++
++                                                                              zoom.marker[marker].left = ui.position["left"];
++
++                                                                              /* update the timestamp shown in tooltip */
++                                                                              zoom.marker[marker].unixtime = parseInt(parseInt(zoom.graph.start) + (zoom.marker[marker].left + 1 - zoom.box.left)*zoom.graph.secondsPerPixel);
++                                                                              $("#zoom-marker-tooltip-value-" + marker).html(
++                                                                                      unixTime2Date(zoom.marker[marker].unixtime).replace(" ", "<br>")
++                                                                              );
++
++                                                                              zoom.marker[marker].width = $("#zoom-marker-tooltip-" + marker).width();
++
++                                                                              /* update the execludedArea if both markers have been placed */
++                                                                              if(zoom.marker[1].placed && zoom.marker[2].placed) {
++                                                                                      zoom.marker.distance = zoom.marker[marker].left - zoom.marker[secondmarker].left;
++
++                                                                                      if( zoom.marker.distance > 0 ) {
++                                                                                              zoom.marker[marker].excludeArea = 'right';
++                                                                                              zoom.marker[secondmarker].excludeArea = 'left';
++                                                                                      }else {
++                                                                                              zoom.marker[marker].excludeArea = 'left';
++                                                                                              zoom.marker[secondmarker].excludeArea = 'right';
++                                                                                      }
++
++                                                                                      /* in that case we have to update the tooltip of both marker */
++                                                                                      $("#zoom-excluded-area-" + marker).css({ left: (zoom.marker.distance > 0) ? zoom.marker[marker].left : zoom.box.left, width: (zoom.marker.distance > 0) ? zoom.box.right - zoom.marker[marker].left : zoom.marker[marker].left - zoom.box.left});
++                                                                                      $("#zoom-marker-tooltip-" + marker).css({ left: zoom.marker[marker].left + ( (zoom.marker[marker].excludeArea == 'right') ? (0) : (-zoom.marker[marker].width) ) });
++                                                                                      $("#zoom-marker-tooltip-" + marker + "-arrow-left").css({ visibility: ( zoom.marker[marker].excludeArea == 'left' ? 'hidden' : 'visible') });
++                                                                                      $("#zoom-marker-tooltip-" + marker + "-arrow-right").css({ visibility: ( zoom.marker[marker].excludeArea == 'left' ? 'visible' : 'hidden') });
++
++                                                                                      $("#zoom-excluded-area-" + secondmarker).css({ left: (zoom.marker.distance > 0) ? zoom.box.left : zoom.marker[secondmarker].left, width: (zoom.marker.distance > 0) ? zoom.marker[secondmarker].left - zoom.box.left : zoom.box.right - zoom.marker[secondmarker].left});
++                                                                                      $("#zoom-marker-tooltip-" + secondmarker ).css({ left: zoom.marker[secondmarker].left + ( (zoom.marker[secondmarker].excludeArea == 'right') ? (0) : (-zoom.marker[secondmarker].width) ) });
++                                                                                      $("#zoom-marker-tooltip-" + secondmarker + "-arrow-left").css({ visibility: ( zoom.marker[secondmarker].excludeArea == 'left' ? 'hidden' : 'visible') });
++                                                                                      $("#zoom-marker-tooltip-" + secondmarker + "-arrow-right").css({ visibility: ( zoom.marker[secondmarker].excludeArea == 'left' ? 'visible' : 'hidden') });
++
++                                                                              }else {
++                                                                                      /* let the tooltip follow its marker */
++                                                                                      $("#zoom-marker-tooltip-" + marker).css({ left: zoom.marker[marker].left -zoom.marker[marker].width });
++                                                                              }
++
++                                                                      },
++                                                              stop:
++                                                                      function(event,ui) {
++                                                                              /* hide all tooltip if we are in auto mode */
++                                                                              if(zoom.custom.zoomTimestamps == "auto") {
++                                                                                      $(".zoom-marker-tooltip").fadeOut(1000);
++                                                                              }
++                                                                      }
++
++                                                      });
++
++                                                      break;
++                                              case 2:
++                                                      if(zoom.custom.zoom3rdMouseButton != false) {
++                                                              /* hide context menu if open */
++                                                              zoomContextMenu_hide();
++                                                              if(zoom.custom.zoom3rdMouseButton == "zoom_in") {
++                                                                      zoomAction_zoom_in();
++                                                              }else {
++                                                                      zoomAction_zoom_out( zoom.custom.zoomOutFactor );
++                                                              }
++                                                      }
++                                                      break;
++                                      }
++                                      return false;
++
++                              });
++
++                      }
++              }
++
++
++              /*
++              * executes a dynamic zoom in
++              */
++              function zoomAction_zoom_in(){
++
++                      /* hide context menu if open */
++                      zoomContextMenu_hide();
++
++                      if(zoom.custom.zoomMode == 'quick') {
++
++                              var newGraphStartTime   = (zoom.attr.action == 'left2right')    ? parseInt(parseInt(zoom.graph.start) + (zoom.attr.start - zoom.box.left)*zoom.graph.secondsPerPixel)
++                                                                                                                                                              : parseInt(parseInt(zoom.graph.start) + (zoom.attr.end - zoom.box.left)*zoom.graph.secondsPerPixel);
++                              var newGraphEndTime     = (zoom.attr.action == 'left2right')    ? parseInt(newGraphStartTime + (zoom.attr.end-zoom.attr.start)*zoom.graph.secondsPerPixel)
++                                                                                                                                                              : parseInt(newGraphStartTime + (zoom.attr.start-zoom.attr.end)*zoom.graph.secondsPerPixel);
++
++                              /* If the user only clicked on a graph then equal end and start date to ensure that we do not propergate NaNs */
++                              if(isNaN(newGraphStartTime) & isNaN(newGraphEndTime)) {
++                                      return;
++                              }else if(isNaN(newGraphStartTime) & !isNaN(newGraphEndTime)) {
++                                      newGraphStartTime = newGraphEndTime;
++                              }else if(!isNaN(newGraphStartTime) & isNaN(newGraphEndTime)){
++                                      newGraphEndTime = newGraphStartTime;
++                              }
++                      }else {
++                              /* advanced mode has other requirements */
++                              /* first of, do nothing if not both marker have been positioned */
++                              if(!zoom.marker[1].placed | !zoom.marker[2].placed) {
++                                      alert("NOTE: In advanced mode both markers have to be positioned first to define the period of time you want to zoom in.");
++                                      return;
++                              }else {
++                                      var newGraphStartTime = zoom.marker[((zoom.marker[1].unixtime > zoom.marker[2].unixtime)? 2 : 1 )].unixtime;
++                                      var newGraphEndTime = zoom.marker[((zoom.marker[1].unixtime > zoom.marker[2].unixtime)? 1 : 2 )].unixtime;
++                              }
++                      }
++
++                      if(zoom.options.inputfieldStartTime != '' & zoom.options.inputfieldEndTime != ''){
++                              /* execute zoom within "tree view" or the "preview view" */
++                              $('#' + zoom.options.inputfieldStartTime).val(unixTime2Date(newGraphStartTime));
++                              $('#' + zoom.options.inputfieldEndTime).val(unixTime2Date(newGraphEndTime));
++
++                              $("input[name='" + zoom.options.submitButton + "']").trigger('click');
++                              return false;
++                      }else {
++                              /* graph view is alread in zoom status */
++                              open(zoom.attr.location[0] + "?action=" + zoom.graph.action + "&local_graph_id=" + zoom.graph.local_graph_id + "&rra_id=" + zoom.graph.rra_id + "&view_type=" + zoom.graph.view_type + "&graph_start=" + newGraphStartTime + "&graph_end=" + newGraphEndTime + "&graph_height=" + zoom.graph.height + "&graph_width=" + zoom.graph.width + "&title_font_size=" + zoom.graph.title_font_size, "_self");
++                      }
++
++              }
++
++
++
++
++              /*
++              * executes a static zoom out (as right click event)
++              */
++              function zoomAction_zoom_out(multiplier){
++
++                      multiplier--;
++                      /* avoid that we can not zoom out anymore if start and end date will be equal */
++                      if(zoom.graph.timespan == 0) {
++                              zoom.graph.timespan = 1;
++                      }
++
++                      if(zoom.custom.zoomMode == 'quick' || !zoom.marker[1].placed || !zoom.marker[2].placed ) {
++                              if(zoom.custom.zoomOutPositioning == 'begin') {
++                                      var newGraphStartTime = parseInt(zoom.graph.start);
++                                      var newGraphEndTime = parseInt(parseInt(zoom.graph.end) + (multiplier * zoom.graph.timespan));
++                              }else if(zoom.custom.zoomOutPositioning == 'end') {
++                                      var newGraphStartTime = parseInt(parseInt(zoom.graph.start) - (multiplier * zoom.graph.timespan));
++                                      var newGraphEndTime = parseInt(zoom.graph.end);
++                              }else {
++                                      // define the new start and end time, so that the selected area will be centered per default
++                                      var newGraphStartTime = parseInt(parseInt(zoom.graph.start) - (0.5 * multiplier * zoom.graph.timespan));
++                                      var newGraphEndTime = parseInt(parseInt(zoom.graph.end) + (0.5 * multiplier * zoom.graph.timespan));
++                              }
++                      }else {
++                              var newGraphStartTime = zoom.marker[((zoom.marker[1].unixtime > zoom.marker[2].unixtime)? 2 : 1 )].unixtime;
++                              var newGraphEndTime = zoom.marker[((zoom.marker[1].unixtime > zoom.marker[2].unixtime)? 1 : 2 )].unixtime;
++                              var selectedTimeSpan = newGraphEndTime - newGraphStartTime;
++
++                              if(zoom.custom.zoomOutPositioning == 'begin') {
++                                      newGraphEndTime = newGraphEndTime + multiplier * selectedTimeSpan;
++                              }else if(zoom.custom.zoomOutPositioning == 'end') {
++                                      newGraphStartTime = newGraphStartTime - multiplier * selectedTimeSpan;
++                              }else {
++                                      newGraphStartTime = newGraphStartTime - 0.5 * multiplier * selectedTimeSpan;
++                                      newGraphEndTime = newGraphEndTime + 0.5 * multiplier * selectedTimeSpan;
++                              }
++                      }
++
++                      if(zoom.options.inputfieldStartTime != '' & zoom.options.inputfieldEndTime != ''){
++                              $('#' + zoom.options.inputfieldStartTime).val(unixTime2Date(newGraphStartTime));
++                              $('#' + zoom.options.inputfieldEndTime).val(unixTime2Date(newGraphEndTime));
++                              $('#' + zoom.options.inputfieldStartTime).closest("form").submit();
++                      }else {
++                              open(zoom.attr.location[0] + "?action=" + zoom.graph.action + "&local_graph_id=" + zoom.graph.local_graph_id + "&rra_id=" + zoom.graph.rra_id + "&view_type=" + zoom.graph.view_type + "&graph_start=" + newGraphStartTime + "&graph_end=" + newGraphEndTime + "&graph_height=" + zoom.graph.height + "&graph_width=" + zoom.graph.width + "&title_font_size=" + zoom.graph.title_font_size, "_self");
++                      }
++              }
++
++
++              /*
++              * updates the css parameters of the zoom area to reflect user's interaction
++              */
++              function zoomAction_draw(event) {
++
++                      if(zoom.attr.start == 'none') { return; }
++
++                      /* mouse has been moved from right to left */
++                      if((event.pageX-zoom.attr.start)<0) {
++                              zoom.attr.action = 'right2left';
++                              zoom.attr.end = (event.pageX < zoom.box.left) ? zoom.box.left : event.pageX;
++                              $("#zoom-area").css({ background:'red', left:(zoom.attr.end+1)+'px', width:Math.abs(zoom.attr.start-zoom.attr.end-1)+'px' });
++                      /* mouse has been moved from left to right*/
++                      }else {
++                              zoom.attr.action = 'left2right';
++                              zoom.attr.end = (event.pageX > zoom.box.right) ? zoom.box.right : event.pageX;
++                              $("#zoom-area").css({ background:'red', left:zoom.attr.start+'px', width:Math.abs(zoom.attr.end-zoom.attr.start-1)+'px' });
++                      }
++                      /* move second marker if necessary */
++                      if(zoom.custom.zoomMode != 'quick') {
++                              $("#zoom-marker-2").css({ left:(zoom.attr.end+1)+'px' });
++                              $("#zoom-marker-tooltip-2").css({ top:zoom.box.top+'px', left:(zoom.attr.end-5)+'px' });
++                      }
++              }
++
++              /**
++               *
++               * @access public
++               * @return void
++               **/
++              function zoomContextMenu_init(){
++
++                      /* sync menu with cookie parameters */
++                      $(".zoomContextMenuAction__set_zoomMode__" + zoom.custom.zoomMode).addClass("ui-state-highlight");
++                      $(".zoomContextMenuAction__set_zoomMarkers__" + ((zoom.custom.zoomMarkers === true) ? "on" : "off") ).addClass("ui-state-highlight");
++                      $(".zoomContextMenuAction__set_zoomTimestamps__" + ((zoom.custom.zoomTimestamps == 'auto') ? "auto" : ((zoom.custom.zoomTimestamps) ? "on" : "off" ))).addClass("ui-state-highlight");
++                      $(".zoomContextMenuAction__set_zoomOutFactor__" + zoom.custom.zoomOutFactor).addClass("ui-state-highlight");
++                      $(".zoomContextMenuAction__set_zoomOutPositioning__" + zoom.custom.zoomOutPositioning).addClass("ui-state-highlight");
++                      $(".zoomContextMenuAction__set_zoom3rdMouseButton__" + ((zoom.custom.zoom3rdMouseButton === false) ? "off" : zoom.custom.zoom3rdMouseButton) ).addClass("ui-state-highlight");
++
++                      if(zoom.custom.zoomMode == "quick") {
++                              $("#zoom-menu > .advanced_mode").hide();
++                      }else {
++                              $(".zoomContextMenuAction__zoom_out").text("Zoom Out (" + zoom.custom.zoomOutFactor + "x)");
++                      }
++
++                      /* init click on events */
++                      $('[class*=zoomContextMenuAction__]').off().on('click', function() {
++                              var zoomContextMenuAction = false;
++                              var zoomContextMenuActionValue = false;
++                              var classList = $(this).attr('class').trim().split(/\s+/);
++
++                              $.each( classList, function(index, item){
++                                      if( item.search("zoomContextMenuAction__") != -1) {
++                                              zoomContextMenuActionList = item.replace("zoomContextMenuAction__", "").split("__");
++                                              zoomContextMenuAction = zoomContextMenuActionList[0];
++                                              if(zoomContextMenuActionList[1] == 'undefined' || zoomContextMenuActionList[1] == 'off') {
++                                                      zoomContextMenuActionValue = false;
++                                              }else if(zoomContextMenuActionList[1] == 'on') {
++                                                      zoomContextMenuActionValue = true;
++                                              }else {
++                                                      zoomContextMenuActionValue = zoomContextMenuActionList[1];
++                                              }
++                                              return( false );
++                                      }
++                              });
++
++                              if( zoomContextMenuAction ) {
++                                      if( zoomContextMenuAction.substring(0,8) == "set_zoom") {
++                                              zoomContextMenuAction_set( zoomContextMenuAction.replace("set_zoom", "").toLowerCase(), zoomContextMenuActionValue);
++                                      }else {
++                                              zoomContextMenuAction_do( zoomContextMenuAction, zoomContextMenuActionValue);
++                                      }
++                              }
++                      });
++
++                      /* init hover events */
++                      $(".first_li , .sec_li, .inner_li span").hover(
++                              function () {
++                                      $(this).css({backgroundColor : '#E0EDFE' , cursor : 'pointer'});
++                                      if ( $(this).children().size() >0 )
++                                              if(zoom.custom.zoomMode == "quick") {
++                                                      $(this).children('.inner_li:not(.advanced_mode)').show();
++                                              }else {
++                                                      $(this).children('.inner_li').show();
++                                              }
++                                      },
++                              function () {
++                                      $(this).css('background-color' , '#fff' );
++                                      $(this).children('.inner_li').hide();
++                              }
++                      );
++              };
++
++              /**
++               *
++               * @access public
++               * @return void
++               **/
++              function zoomContextMenuAction_set(object, value){
++                      switch(object) {
++                              case "mode":
++                                      if( zoom.custom.zoomMode != value) {
++                                              zoom.custom.zoomMode = value;
++                                              $('[class*=zoomContextMenuAction__set_zoomMode__]').toggleClass("ui-state-highlight");
++
++                                              if(value == "quick") {
++                                                      // reset menu
++                                                      $("#zoom-menu > .advanced_mode").hide();
++                                                      $(".zoomContextMenuAction__zoom_out").text("Zoom Out (2x)");
++
++                                                      zoom.custom.zoomMode                    = 'quick';
++                                                      $.cookie( zoom.options.cookieName, serialize(zoom.custom));
++                                              }else {
++                                                      // switch to advanced mode
++                                                      $("#zoom-menu > .advanced_mode").show();
++                                                      $(".zoomContextMenuAction__zoom_out").text("Zoom Out (" +  + zoom.custom.zoomOutFactor + "x)");
++
++                                                      zoom.custom.zoomMode                    = 'advanced';
++                                                      $.cookie( zoom.options.cookieName, serialize(zoom.custom));
++                                              }
++                                              zoomElemtents_reset();
++                                              zoomAction_init(zoom.initiator);
++
++                                      }
++                                      break;
++                              case "markers":
++                                      if( zoom.custom.zoomMarkers != value) {
++                                              zoom.custom.zoomMarkers = value;
++                                              $.cookie( zoom.options.cookieName, serialize(zoom.custom));
++                                              $('[class*=zoomContextMenuAction__set_zoomMarkers__]').toggleClass('ui-state-highlight');
++                                      }
++                                      break;
++                              case "timestamps":
++                                      if( zoom.custom.zoomTimestamps != value) {
++                                              zoom.custom.zoomTimestamps = value;
++                                              $.cookie( zoom.options.cookieName, serialize(zoom.custom));
++                                              $('[class*=zoomContextMenuAction__set_zoomTimestamps__]').removeClass('ui-state-highlight');
++                                              $('.zoomContextMenuAction__set_zoomTimestamps__' + ((zoom.custom.zoomTimestamps == 'auto') ? "auto" : ((zoom.custom.zoomTimestamps) ? "on" : "off" ))).addClass('ui-state-highlight');
++
++                                              /* make them visible only for mode "Always On" */
++                                              if(zoom.custom.zoomTimestamps === true) {
++                                                      $('.zoom-marker-tooltip').fadeIn(500);
++                                              }else {
++                                                      $('.zoom-marker-tooltip').fadeOut(500);
++                                              }
++                                      }
++                                      break;
++                              case "outfactor":
++                                      if( zoom.custom.zoomOutFactor != value) {
++                                              zoom.custom.zoomOutFactor = value;
++                                              $.cookie( zoom.options.cookieName, serialize(zoom.custom));
++                                              $('[class*=zoomContextMenuAction__set_zoomOutFactor__]').removeClass('ui-state-highlight');
++                                              $('.zoomContextMenuAction__set_zoomOutFactor__' + value).addClass('ui-state-highlight');
++                                              $('.zoomContextMenuAction__zoom_out').text('Zoom Out (' + value + 'x)');
++                                      }
++                                      break;
++                              case "outpositioning":
++                                      if( zoom.custom.zoomOutPositioning != value) {
++                                              zoom.custom.zoomOutPositioning = value;
++                                              $.cookie( zoom.options.cookieName, serialize(zoom.custom));
++                                              $('[class*=zoomContextMenuAction__set_zoomOutPositioning__]').removeClass('ui-state-highlight');
++                                              $('.zoomContextMenuAction__set_zoomOutPositioning__' + value).addClass('ui-state-highlight');
++                                      }
++                                      break;
++                              case "3rdmousebutton":
++                                      if( zoom.custom.zoom3rdMouseButton != value) {
++                                              zoom.custom.zoom3rdMouseButton = value;
++                                              $.cookie( zoom.options.cookieName, serialize(zoom.custom));
++                                              $('[class*=zoomContextMenuAction__set_zoom3rdMouseButton__]').removeClass('ui-state-highlight');
++                                              $('.zoomContextMenuAction__set_zoom3rdMouseButton__' + ((value === false) ? "off" : value)).addClass('ui-state-highlight');
++                                      }
++                                      break;
++                      }
++              }
++
++              function zoomContextMenuAction_do(action, value){
++                      switch(action) {
++                              case "close":
++                                      zoomContextMenu_hide();
++                                      break;
++                              case "zoom_out":
++                                      if(value == undefined) {
++                                              value = (zoom.custom.zoomMode != "quick") ? zoom.custom.zoomOutFactor : 2;
++                                      }
++                                      zoomAction_zoom_out(value);
++                                      break;
++                              case "zoom_in":
++                                      zoomAction_zoom_in();
++                                      break;
++                      }
++              }
++
++              function zoomContextMenu_show(e){
++                      $("#zoom-menu").css({ left: e.pageX, top: e.pageY, zIndex: '101' }).show();
++              };
++
++              function zoomContextMenu_hide(){
++                      $('#zoom-menu').hide();
++              }
++
++      };
++
++})(jQuery);
+\ No newline at end of file
+diff -up cacti-0.8.8a/include/js/jquery/themes/default/d.gif.legal cacti-0.8.8a/include/js/jquery/themes/default/d.gif
+Binary files cacti-0.8.8a/include/js/jquery/themes/default/d.gif.legal and cacti-0.8.8a/include/js/jquery/themes/default/d.gif differ
+diff -up cacti-0.8.8a/include/js/jquery/themes/default/d.png.legal cacti-0.8.8a/include/js/jquery/themes/default/d.png
+Binary files cacti-0.8.8a/include/js/jquery/themes/default/d.png.legal and cacti-0.8.8a/include/js/jquery/themes/default/d.png differ
+diff -up cacti-0.8.8a/include/js/jquery/themes/default/style.css.legal cacti-0.8.8a/include/js/jquery/themes/default/style.css
+--- cacti-0.8.8a/include/js/jquery/themes/default/style.css.legal      2013-01-04 15:44:49.350420872 -0500
++++ cacti-0.8.8a/include/js/jquery/themes/default/style.css    2013-01-04 15:44:08.391403304 -0500
+@@ -0,0 +1,74 @@
++/*
++ * jsTree default theme 1.0
++ * Supported features: dots/no-dots, icons/no-icons, focused, loading
++ * Supported plugins: ui (hovered, clicked), checkbox, contextmenu, search
++ */
++
++.jstree-default li, 
++.jstree-default ins { background-image:url("d.png"); background-repeat:no-repeat; background-color:transparent; }
++.jstree-default li { background-position:-90px 0; background-repeat:repeat-y; }
++.jstree-default li.jstree-last { background:transparent; }
++.jstree-default .jstree-open > ins { background-position:-72px 0; }
++.jstree-default .jstree-closed > ins { background-position:-54px 0; }
++.jstree-default .jstree-leaf > ins { background-position:-36px 0; }
++
++.jstree-default .jstree-hovered { background:#e7f4f9; border:1px solid #d8f0fa; padding:0 2px 0 1px; }
++.jstree-default .jstree-clicked { background:#beebff; border:1px solid #99defd; padding:0 2px 0 1px; }
++.jstree-default a .jstree-icon { background-position:-56px -19px; }
++.jstree-default a.jstree-loading .jstree-icon { background:url("throbber.gif") center center no-repeat !important; }
++
++.jstree-default.jstree-focused { background:#ffffee; }
++
++.jstree-default .jstree-no-dots li, 
++.jstree-default .jstree-no-dots .jstree-leaf > ins { background:transparent; }
++.jstree-default .jstree-no-dots .jstree-open > ins { background-position:-18px 0; }
++.jstree-default .jstree-no-dots .jstree-closed > ins { background-position:0 0; }
++
++.jstree-default .jstree-no-icons a .jstree-icon { display:none; }
++
++.jstree-default .jstree-search { font-style:italic; }
++
++.jstree-default .jstree-no-icons .jstree-checkbox { display:inline-block; }
++.jstree-default .jstree-no-checkboxes .jstree-checkbox { display:none !important; }
++.jstree-default .jstree-checked > a > .jstree-checkbox { background-position:-38px -19px; }
++.jstree-default .jstree-unchecked > a > .jstree-checkbox { background-position:-2px -19px; }
++.jstree-default .jstree-undetermined > a > .jstree-checkbox { background-position:-20px -19px; }
++.jstree-default .jstree-checked > a > .jstree-checkbox:hover { background-position:-38px -37px; }
++.jstree-default .jstree-unchecked > a > .jstree-checkbox:hover { background-position:-2px -37px; }
++.jstree-default .jstree-undetermined > a > .jstree-checkbox:hover { background-position:-20px -37px; }
++
++#vakata-dragged.jstree-default ins { background:transparent !important; }
++#vakata-dragged.jstree-default .jstree-ok { background:url("d.png") -2px -53px no-repeat !important; }
++#vakata-dragged.jstree-default .jstree-invalid { background:url("d.png") -18px -53px no-repeat !important; }
++#jstree-marker.jstree-default { background:url("d.png") -41px -57px no-repeat !important; text-indent:-100px; }
++
++.jstree-default a.jstree-search { color:aqua; }
++.jstree-default .jstree-locked a { color:silver; cursor:default; }
++
++#vakata-contextmenu.jstree-default-context, 
++#vakata-contextmenu.jstree-default-context li ul { background:#f0f0f0; border:1px solid #979797; -moz-box-shadow: 1px 1px 2px #999; -webkit-box-shadow: 1px 1px 2px #999; box-shadow: 1px 1px 2px #999; }
++#vakata-contextmenu.jstree-default-context li { }
++#vakata-contextmenu.jstree-default-context a { color:black; }
++#vakata-contextmenu.jstree-default-context a:hover, 
++#vakata-contextmenu.jstree-default-context .vakata-hover > a { padding:0 5px; background:#e8eff7; border:1px solid #aecff7; color:black; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; }
++#vakata-contextmenu.jstree-default-context li.jstree-contextmenu-disabled a, 
++#vakata-contextmenu.jstree-default-context li.jstree-contextmenu-disabled a:hover { color:silver; background:transparent; border:0; padding:1px 4px; }
++#vakata-contextmenu.jstree-default-context li.vakata-separator { background:white; border-top:1px solid #e0e0e0; margin:0; }
++#vakata-contextmenu.jstree-default-context li ul { margin-left:-4px; }
++
++/* IE6 BEGIN */
++.jstree-default li, 
++.jstree-default ins,
++#vakata-dragged.jstree-default .jstree-invalid, 
++#vakata-dragged.jstree-default .jstree-ok, 
++#jstree-marker.jstree-default { _background-image:url("d.gif"); }
++.jstree-default .jstree-open ins { _background-position:-72px 0; }
++.jstree-default .jstree-closed ins { _background-position:-54px 0; }
++.jstree-default .jstree-leaf ins { _background-position:-36px 0; }
++.jstree-default a ins.jstree-icon { _background-position:-56px -19px; }
++#vakata-contextmenu.jstree-default-context ins { _display:none; }
++#vakata-contextmenu.jstree-default-context li { _zoom:1; }
++.jstree-default .jstree-undetermined a .jstree-checkbox { _background-position:-20px -19px; }
++.jstree-default .jstree-checked a .jstree-checkbox { _background-position:-38px -19px; }
++.jstree-default .jstree-unchecked a .jstree-checkbox { _background-position:-2px -19px; }
++/* IE6 END */
+\ No newline at end of file
+diff -up cacti-0.8.8a/include/js/jquery/themes/default/throbber.gif.legal cacti-0.8.8a/include/js/jquery/themes/default/throbber.gif
+Binary files cacti-0.8.8a/include/js/jquery/themes/default/throbber.gif.legal and cacti-0.8.8a/include/js/jquery/themes/default/throbber.gif differ
diff --git a/src/patches/cacti/cacti-0.8.8a-replace_treeview_by_jquery.jstree.patch b/src/patches/cacti/cacti-0.8.8a-replace_treeview_by_jquery.jstree.patch
new file mode 100644 (file)
index 0000000..b0b54fe
--- /dev/null
@@ -0,0 +1,607 @@
+Description: treeview has a license issue, cacti upstream is going to replace it
+ with functionality from jquery.jstree.
+ .
+ This patch implements the changes needed for an upstream layout where the
+ necessary code is in cacti/include/js/jquery/ but the code in that path is
+ not included in this patch.
+ .
+ The necessary jquery scripts and theme info can come from cacti upstream and from
+ debian packages (libjs-jquery and libjs-jquery-cookie) The version used when
+ creating this patch can be found here:
+ http://svn.cacti.net/viewvc/cacti/branches/0.8.9/include/js/jquery/jquery.js?pathrev=7324
+ http://svn.cacti.net/viewvc/cacti/branches/0.8.9/include/js/jquery/jquery.jstree.js?pathrev=7324
+ http://svn.cacti.net/viewvc/cacti/branches/main/include/js/jquery/themes/default/?pathrev=7324
+ http://anonscm.debian.org/gitweb/?p=pkg-javascript/jquery-goodies.git;a=blob;f=cookie/jquery.cookie.js;hb=c50e1a2d599cb48893e8d77470e71e83e44dfdb5
+ .
+ This patch does NOT implement the changes needed for the Debian package of
+ cacti.
+ .
+ This patch was updated with the patch from Jan Zalesak <zalesak@jaw.cz> in
+ http://bugs.debian.org/702690 which was further improved to also cover
+ lib/graph_export.php and to keep tag alignment consistent. 
+Bug: http://bugs.cacti.net/view.php?id=2228
+Bug-Debian: http://bugs.debian.org/679980
+Author: Paul Gevers <elbrus@debian.org>
+Date: Sun, 31 Mar 2013 11:59:05 +0200
+
+--- a/include/top_graph_header.php
++++ b/include/top_graph_header.php
+@@ -84,8 +84,9 @@
+       <link href="<?php echo $config['url_path']; ?>include/main.css" type="text/css" rel="stylesheet">
+       <link href="<?php echo $config['url_path']; ?>images/favicon.ico" rel="shortcut icon"/>
+       <script type="text/javascript" src="<?php echo $config['url_path']; ?>include/layout.js"></script>
+-      <script type="text/javascript" src="<?php echo $config['url_path']; ?>include/treeview/ua.js"></script>
+-      <script type="text/javascript" src="<?php echo $config['url_path']; ?>include/treeview/ftiens4.js"></script>
++      <script type="text/javascript" src="<?php echo $config['url_path']; ?>include/js/jquery/jquery.js" language="javascript"></script>
++      <script type="text/javascript" src="<?php echo $config['url_path']; ?>include/js/jquery/jquery.cookie.js" language="javascript"></script>
++      <script type="text/javascript" src="<?php echo $config['url_path']; ?>include/js/jquery/jquery.jstree.js"></script>
+       <script type="text/javascript" src="<?php echo $config['url_path']; ?>include/jscalendar/calendar.js"></script>
+       <script type="text/javascript" src="<?php echo $config['url_path']; ?>include/jscalendar/lang/calendar-en.js"></script>
+       <script type="text/javascript" src="<?php echo $config['url_path']; ?>include/jscalendar/calendar-setup.js"></script>
+@@ -178,7 +179,6 @@
+               <td valign="top" style="padding: 5px; border-right: #aaaaaa 1px solid;background-repeat:repeat-y;background-color:#efefef;" bgcolor='#efefef' width='<?php print htmlspecialchars(read_graph_config_option("default_dual_pane_width"));?>' class='noprint'>
+                       <table border=0 cellpadding=0 cellspacing=0><tr><td><a style="font-size:7pt;text-decoration:none;color:silver" href="http://www.treemenu.net/" target=_blank></a></td></tr></table>
+                       <?php grow_dhtml_trees(); ?>
+-                      <script type="text/javascript">initializeDocument();</script>
+                       <?php if (isset($_GET["select_first"])) { ?>
+                       <script type="text/javascript">
+--- a/lib/graph_export.php
++++ b/lib/graph_export.php
+@@ -1365,15 +1365,6 @@
+       /* create the treeview representation for the html data */
+       grow_dhtml_trees_export($fp,$tree_id);
+-      fwrite($fp,"<script type='text/javascript'>initializeDocument();</script>\n");
+-      fwrite($fp,"<script type='text/javascript'>\n");
+-      fwrite($fp,"var obj;\n");
+-      fwrite($fp,"obj = findObj(1);\n");
+-      fwrite($fp,"if (!obj.isOpen) {\n");
+-      fwrite($fp,"clickOnNode(1);\n");
+-      fwrite($fp,"}\n");
+-      fwrite($fp,"clickOnLink(2,'','main');\n");
+-      fwrite($fp,"</script>\n");
+       fwrite($fp,"</td>\n");
+       fwrite($fp,"<td valign='top'>\n");
+ }
+@@ -1383,16 +1374,7 @@
+       include_once($config["library_path"] . "/tree.php");
+       include_once($config["library_path"] . "/data_query.php");
+-      fwrite($fp, "<script type='text/javascript'>\n");
+-      fwrite($fp, "<!--
+-                      USETEXTLINKS = 1
+-                      STARTALLOPEN = 0
+-                      USEFRAMES = 0
+-                      USEICONS = 0
+-                      WRAPTEXT = 1
+-                      ICONPATH = 'treeview/'
+-                      PERSERVESTATE = 1
+-                      HIGHLIGHT = 1\n");
++      fwrite($fp, "<div id=\"jtree\">\n");
+       if (read_config_option("export_tree_isolation") == "off") {
+               $dhtml_tree_base = 0;
+@@ -1413,9 +1395,34 @@
+               }
+       }
+-      fwrite($fp,"foldersTree.treeID = \"t2\"
+-                      //-->\n
+-                      </script>\n");
++      fwrite($fp, "</div>\n");
++      fwrite($fp, "<script type=\"text/javascript\">\n");
++      fwrite($fp, "$(function () {
++      $(\"#jtree\")
++              .jstree({
++                        \"plugins\" : [\"ui\",\"themes\",\"html_data\",\"cookies\"],
++                      \"themes\" : {\"icons\" : false,
++                              \"url\" : \"./js/style.css\"},
++                      \"cookies\" : {
++                              \"save_opened\" : \"Cacti_jstree_open\",
++                              \"save_selected\" : \"Cacti_jstree_select\"
++                              }
++
++                })
++
++                // Make sure that the nodes are actually used as links
++                // We need reselect to prevent endless loops
++                // https://groups.google.com/d/topic/jstree/j6XNq9hQdeA/discussion
++                .bind(\"reselect.jstree\", function (e, data) {
++                      data.inst.get_container().bind(\"select_node.jstree\", function (e, data) {
++                           // data.rstl.obj is the object that was selected.
++                           document.location.href = data.rslt.obj.children(\"a\").attr(\"href\");
++                       });
++                });
++
++});\n");
++      fwrite($fp, "</script>\n");
++
+ }
+ /* get_graph_tree_array_export - returns a list of graph trees taking permissions into account if
+@@ -1478,8 +1485,7 @@
+       $dhtml_tree = array();
+       $dhtml_tree[0] = $start;
+       $dhtml_tree[1] = read_graph_config_option("expand_hosts");
+-      $dhtml_tree[2] = "foldersTree = gFld(\"\", \"\")\n";
+-      $i = 2;
++      $i = 1;
+       $tree_list = get_graph_tree_array_export();
+@@ -1499,7 +1505,6 @@
+               if (((read_config_option("export_tree_isolation") == "on") && ($tree_id == $tree["id"])) ||
+                       (read_config_option("export_tree_isolation") == "off")) {
+-                      $i++;
+                       $hier_sql = "SELECT DISTINCT
+                                       graph_tree_items.id,
+@@ -1522,19 +1527,53 @@
+                       $dhtml_tree_id = 0;
+                       if (sizeof($hierarchy) > 0) {
++                              $last_tier = 1;
++                              $openli = false;
++                              $lasthost = false;
++                              $opentree = false;
+                               foreach ($hierarchy as $leaf) {
+                                       if ($dhtml_tree_id <> $tree["id"]) {
+-                                              $dhtml_tree[$i] = "ou0 = insFld(foldersTree, gFld(\"" . get_tree_name($tree["id"]) . "\", \"" . clean_up_export_name(get_tree_name($tree["id"])) . "_leaf.html\"))\n";
++                                              if ($opentree) {
++                                                      $i++;
++                                                      $dhtml_tree[$i] = "\t\t\t</ul>\n\t\t</li>\n\t</ul>\n";
++                                              }
++                                              $i++;
++                                              $clean_id = clean_up_export_name(get_tree_name($tree["id"]));
++                                              $dhtml_tree[$i] = "\t<ul>\n\t\t<li id=\"" . $clean_id . "\"><a href=\"" . $clean_id . "_leaf.html\">" . get_tree_name($tree["id"]) . "</a>\n\t\t\t<ul>\n";
++                                              $opentree = true;
+                                       }
+                                       $dhtml_tree_id = $tree["id"];
+-                                      $i++;
+                                       $tier = tree_tier($leaf["order_key"]);
+                                       if ($leaf["host_id"] > 0) {  //It's a host
+-                                              $dhtml_tree[$i] = "ou" . ($tier) . " = insFld(ou" . ($tier-1) . ", gFld(\"Host: " . $leaf["hostname"] . "\", \"" . clean_up_export_name($leaf["hostname"] . "_" . $leaf["id"]) . ".html\"))\n";
++                                              if ($tier > $last_tier) {
++                                                      $i++;
++                                                      $dhtml_tree[$i] = "\t\t\t<ul>\n";
++                                              } elseif ($tier < $last_tier) {
++                                                      if (!$lasthost) {
++                                                              $i++;
++                                                              $dhtml_tree[$i] = "\t\t\t\t</li>\n";
++                                                      }
++                                                      for ($x = $tier; $x < $last_tier; $x++) {
++                                                              $i++;
++                                                              $dhtml_tree[$i] = "\t\t\t</ul>\n\t\t\t\t</li>\n";
++                                                              $openli = false;
++                                                      }
++                                              } elseif ($openli && !$lasthost) {
++                                                      $i++;
++                                                      $dhtml_tree[$i] = "\t\t\t\t</li>\n";
++                                                      $openli = false;
++                                              }
++                                              $last_tier = $tier;
++                                              $lasthost = true;
++                                              $i++;
++                                              $clean_id = clean_up_export_name($leaf["hostname"] . "_" . $leaf["id"]);
++                                              $dhtml_tree[$i] = "\t\t\t\t<li id=\"" . $clean_id . "\"><a href=\"" . $clean_id . ".html\">Host: " . htmlspecialchars($leaf["hostname"]) . "</a>\n";
+                                               if (read_config_option("export_tree_expand_hosts") == "on") {
++                                                      $i++;
++                                                      $dhtml_tree[$i] = "\t\t\t\t\t<ul>\n";
+                                                       if ($leaf["host_grouping_type"] == HOST_GROUPING_GRAPH_TEMPLATE) {
+                                                               $graph_templates = db_fetch_assoc("SELECT
+                                                                       graph_templates.id,
+@@ -1552,7 +1591,8 @@
+                                                               if (sizeof($graph_templates) > 0) {
+                                                                       foreach ($graph_templates as $graph_template) {
+                                                                               $i++;
+-                                                                              $dhtml_tree[$i] = "ou" . ($tier+1) . " = insFld(ou" . ($tier) . ", gFld(\" " . $graph_template["name"] . "\", \"" . clean_up_export_name($leaf["hostname"] . "_gt_" . $leaf["id"]) . "_" . $graph_template["id"] . ".html\"))\n";
++                                                                              $clean_id = clean_up_export_name($leaf["hostname"] . "_gt_" . $leaf["id"] . "_" . $graph_template["id"]);
++                                                                              $dhtml_tree[$i] = "\t\t\t\t\t\t<li id=\"" . $clean_id . "\"><a href=\"" . $clean_id . ".html\">" . htmlspecialchars($graph_template["name"]) . "</a></li>\n";
+                                                                       }
+                                                               }
+                                                       }else if ($leaf["host_grouping_type"] == HOST_GROUPING_DATA_QUERY_INDEX) {
+@@ -1567,36 +1607,77 @@
+                                                               array_push($data_queries, array(
+                                                                       "id" => "0",
+-                                                                      "name" => "Graph Template Based"
++                                                                      "name" => "Non Query Based"
+                                                                       ));
+                                                               if (sizeof($data_queries) > 0) {
+-                                                              foreach ($data_queries as $data_query) {
+-                                                                      $i++;
+-
+-                                                                      $dhtml_tree[$i] = "ou" . ($tier+1) . " = insFld(ou" . ($tier) . ", gFld(\" " . $data_query["name"] . "\", \"" . clean_up_export_name($leaf["hostname"] . "_dq_" . $leaf["title"] . "_" . $leaf["id"]) . "_" . $data_query["id"] . ".html\"))\n";
++                                                                      foreach ($data_queries as $data_query) {
++                                                                              $i++;
++                                                                              $clean_id = clean_up_export_name($leaf["hostname"] . "_dq_" . $leaf["title"] . "_" . $leaf["id"] . "_" . $data_query["id"]);
++                                                                              $dhtml_tree[$i] = "\t\t\t\t\t\t<li id=\"" . $clean_id . "\"><a href=\"" . $clean_id . ".html\">" . htmlspecialchars($data_query["name"]) . "</a>\n";
+-                                                                      /* fetch a list of field names that are sorted by the preferred sort field */
+-                                                                      $sort_field_data = get_formatted_data_query_indexes($leaf["host_id"], $data_query["id"]);
++                                                                              /* fetch a list of field names that are sorted by the preferred sort field */
++                                                                              $sort_field_data = get_formatted_data_query_indexes($leaf["host_id"], $data_query["id"]);
+-                                                                      if ($data_query["id"] > 0) {
+-                                                                              while (list($snmp_index, $sort_field_value) = each($sort_field_data)) {
++                                                                              if ($data_query["id"] > 0) {
++                                                                                      $i++;
++                                                                                      $dhtml_tree[$i] = "\t\t\t\t\t\t\t<ul>\n";
++                                                                                      while (list($snmp_index, $sort_field_value) = each($sort_field_data)) {
++                                                                                              $i++;
++                                                                                              $clean_id = clean_up_export_name($leaf["hostname"] . "_dqi_" . $leaf["id"] . "_" . $data_query["id"] . "_" . $snmp_index);
++                                                                                              $dhtml_tree[$i] = "\t\t\t\t\t\t\t\t<li id=\"" . $clean_id . "\"><a href=\"" . $clean_id . ".html\">" . htmlspecialchars($sort_field_value) . "</a></li>\n";
++                                                                                      }
+                                                                                       $i++;
+-                                                                                      $dhtml_tree[$i] = "ou" . ($tier+2) . " = insFld(ou" . ($tier+1) . ", gFld(\" " . $sort_field_value . "\", \"" . clean_up_export_name($leaf["hostname"] . "_dqi_" . $leaf["title"] . "_" . $leaf["id"]) . "_" . $data_query["id"] . "_" . $snmp_index . ".html\"))\n";
++                                                                                      $dhtml_tree[$i] = "\t\t\t\t\t\t\t</ul>\n";
+                                                                               }
++                                                                              $i++;
++                                                                              $dhtml_tree[$i] = "\t\t\t\t\t\t</li>\n";
+                                                                       }
+                                                               }
+-                                                              }
+                                                       }
++                                                      $i++;
++                                                      $dhtml_tree[$i] = "\t\t\t\t\t</ul>\n";
+                                               }
+-                                      }else {
+-                                              $dhtml_tree[$i] = "ou" . ($tier) . " = insFld(ou" . ($tier-1) . ", gFld(\"" . $leaf["title"] . "\", \"" . clean_up_export_name(get_tree_name($tree["id"]) . "_" . $leaf["title"] . "_" . $leaf["id"]) . "_leaf.html\"))\n";
++                                              $i++;
++                                              $dhtml_tree[$i] = "\t\t\t\t</li>\n";
++                                      }else { //It's not a host
++                                              if ($tier > $last_tier) {
++                                                      $i++;
++                                                      $dhtml_tree[$i] = "\t\t\t<ul>\n";
++                                              } elseif ($tier < $last_tier) {
++                                                      if (!$lasthost) {
++                                                              $i++;
++                                                              $dhtml_tree[$i] = "</li>\n";
++                                                      }
++                                                      for ($x = $tier; $x < $last_tier; $x++) {
++                                                              $i++;
++                                                              $dhtml_tree[$i] = "\t\t\t\t</ul>\n\t\t\t\t</li>\n";
++                                                              $openli = false;
++                                                      }
++                                              } elseif ($openli && !$lasthost) {
++                                                      $i++;
++                                                      $dhtml_tree[$i] = "</li>\n";
++                                                      $openli = false;
++                                              }
++                                              $last_tier = $tier;
++                                              $i++;
++                                              $clean_id = clean_up_export_name(get_tree_name($tree["id"]) . "_" . $leaf["title"] . "_" . $leaf["id"]);
++                                              $dhtml_tree[$i] = "\t\t\t\t<li id=\"" . $clean_id . "\"><a href=\"" . $clean_id . "_leaf.html\">" . htmlspecialchars($leaf["title"]) . "</a>\n";
++                                              $openli = true;
++                                              $lasthost = false;
+                                       }
+                               }
++                              for ($x = $last_tier; $x > 1; $x--) {
++                                      $i++;
++                                      $dhtml_tree[$i] = "\t\t\t\t\t</ul>\n\t\t\t\t</li>\n";
++                              }
++                              $i++;
++                              $dhtml_tree[$i] = "\t\t\t</ul>\n\t\t</li>\n\t</ul>\n";
+                       }else{
+                               if ($dhtml_tree_id <> $tree["id"]) {
+-                                      $dhtml_tree[$i] = "ou0 = insFld(foldersTree, gFld(\"" . get_tree_name($tree["id"]) . "\", \"" . clean_up_export_name(get_tree_name($tree["id"])) . "_leaf.html\"))\n";
+                                       $i++;
++                                      $clean_id = clean_up_export_name(get_tree_name($tree["id"]));
++                                      $dhtml_tree[$i] = "\t<ul>\n\t\t<li id=\"" . $clean_id . "_leaf\"><a href=\"" . $clean_id . "_leaf.html\">" . get_tree_name($tree["id"]) . "</a></li>\n\t</ul>";
+                               }
+                       }
+               }
+@@ -1612,10 +1693,10 @@
+         $dir - the export directory where graphs will either be staged or located.
+ */
+ function create_export_directory_structure($cacti_root_path, $dir) {
+-      /* create the treeview sub-directory */
+-      if (!is_dir("$dir/treeview")) {
+-              if (!mkdir("$dir/treeview", 0755)) {
+-                      export_fatal("Create directory '" . $dir . "/treeview' failed.  Can not continue");
++      /* create the jquery sub-directory */
++      if (!is_dir("$dir/js")) {
++              if (!mkdir("$dir/js", 0755)) {
++                      export_fatal("Create directory '" . $dir . "/js' failed.  Can not continue");
+               }
+       }
+@@ -1626,8 +1707,6 @@
+               }
+       }
+-      $treeview_dir = $dir . "/treeview";
+-
+       /* css */
+       copy("$cacti_root_path/include/main.css", "$dir/main.css");
+@@ -1639,18 +1718,15 @@
+       copy("$cacti_root_path/images/shadow_gray.gif", "$dir/shadow_gray.gif");
+       /* java scripts for the tree */
+-      copy("$cacti_root_path/include/treeview/ftiens4_export.js", "$treeview_dir/ftiens4.js");
+-      copy("$cacti_root_path/include/treeview/ua.js", "$treeview_dir/ua.js");
+-
+-      /* images for the tree */
+-      copy("$cacti_root_path/include/treeview/ftv2blank.gif", "$treeview_dir/ftv2blank.gif");
+-      copy("$cacti_root_path/include/treeview/ftv2lastnode.gif", "$treeview_dir/ftv2lastnode.gif");
+-      copy("$cacti_root_path/include/treeview/ftv2mlastnode.gif", "$treeview_dir/ftv2mlastnode.gif");
+-      copy("$cacti_root_path/include/treeview/ftv2mnode.gif", "$treeview_dir/ftv2mnode.gif");
+-      copy("$cacti_root_path/include/treeview/ftv2node.gif", "$treeview_dir/ftv2node.gif");
+-      copy("$cacti_root_path/include/treeview/ftv2plastnode.gif", "$treeview_dir/ftv2plastnode.gif");
+-      copy("$cacti_root_path/include/treeview/ftv2pnode.gif", "$treeview_dir/ftv2pnode.gif");
+-      copy("$cacti_root_path/include/treeview/ftv2vertline.gif", "$treeview_dir/ftv2vertline.gif");
++      copy("$cacti_root_path/include/js/jquery/jquery.js", "$dir/js/jquery.js");
++      copy("$cacti_root_path/include/js/jquery/jquery.jstree.js", "$dir/js/jquery.jstree.js");
++      copy("$cacti_root_path/include/js/jquery/jquery.cookie.js", "$dir/js/jquery.cookie.js");
++
++      /* theme info for java scripts */
++      copy("$cacti_root_path/include/js/jquery/themes/default/style.css", "$dir/js/style.css");
++      copy("$cacti_root_path/include/js/jquery/themes/default/d.png", "$dir/js/d.png");
++      copy("$cacti_root_path/include/js/jquery/themes/default/d.gif", "$dir/js/d.gif");
++      copy("$cacti_root_path/include/js/jquery/themes/default/throbber.gif", "$dir/js/throbber.gif");
+ }
+ function get_host_description($host_id) {
+@@ -1738,8 +1814,9 @@
+       <meta http-equiv=refresh content='300'; url='index.html'>
+       <meta http-equiv=Pragma content=no-cache>
+       <meta http-equiv=cache-control content=no-cache>
+-      <script type=\"text/javascript\" src=\"./treeview/ua.js\"></script>
+-      <script type=\"text/javascript\" src=\"./treeview/ftiens4.js\"></script>
++      <script type=\"text/javascript\" src=\"./js/jquery.js\" language=\"javascript\"></script>
++      <script type=\"text/javascript\" src=\"./js/jquery.cookie.js\" language=\"javascript\"></script>
++      <script type=\"text/javascript\" src=\"./js/jquery.jstree.js\" language=\"javascript\"></script>
+ </head>
+ <body>
+ <table style='width:100%;height:100%;' cellspacing='0' cellpadding='0'>
+--- a/lib/html_tree.php
++++ b/lib/html_tree.php
+@@ -495,17 +495,9 @@
+       include_once($config["library_path"] . "/data_query.php");
+       ?>
+-      <script type="text/javascript">
+-      <!--
+-      USETEXTLINKS = 1
+-      STARTALLOPEN = 0
+-      USEFRAMES = 0
+-      USEICONS = 0
+-      WRAPTEXT = 1
+-      PERSERVESTATE = 1
+-      HIGHLIGHT = 1
+       <?php
+       /* get current time */
++/* Probably not needed anymore as jstree uses jquery.cookies
+       list($micro,$seconds) = explode(" ", microtime());
+       $current_time = $seconds + $micro;
+       $expand_hosts = read_graph_config_option("expand_hosts");
+@@ -522,6 +514,8 @@
+                       $dhtml_tree = $_SESSION['dhtml_tree'];
+               }
+       }
++*/
++      $dhtml_tree = create_dhtml_tree();
+       $total_tree_items = sizeof($dhtml_tree) - 1;
+@@ -529,8 +523,31 @@
+               print $dhtml_tree[$i];
+       }
+       ?>
+-      //-->
+-      </script>
++<script type="text/javascript">
++$(function () {
++      $("#jtree")
++              .jstree({
++                      "plugins" : ["ui","themes","html_data","cookies"],
++                      "themes" : {"icons" : false,
++                              "url" : "<?php echo  $config['url_path']; ?>include/js/jquery/themes/default/style.css"},
++                      "cookies" : {
++                              "save_opened" : "Cacti_jstree_open",
++                              "save_selected" : "Cacti_jstree_select"
++                              }
++                      })
++
++              // Make sure that the nodes are actually used as links
++              // We need reselect to prevent endless loops
++              // https://groups.google.com/d/topic/jstree/j6XNq9hQdeA/discussion
++              .bind("reselect.jstree", function (e, data) {
++                      data.inst.get_container().bind("select_node.jstree", function (e, data) {
++                              // data.rstl.obj is the object that was selected.
++                              document.location.href = data.rslt.obj.children("a").attr("href");
++                      });
++              });
++
++});
++</script>
+       <?php
+ }
+@@ -543,9 +560,8 @@
+       $dhtml_tree[0] = $start;
+       $dhtml_tree[1] = read_graph_config_option("expand_hosts");
+-      $dhtml_tree[2] = "foldersTree = gFld(\"\", \"\")\n";
+-      $dhtml_tree[3] = "foldersTree.xID = \"root\"\n";
+-      $i = 3;
++      $dhtml_tree[2] = "\n<div id=\"jtree\">\n";
++      $i = 2;
+       $tree_list = get_graph_tree_array();
+@@ -567,7 +583,6 @@
+       if (sizeof($tree_list) > 0) {
+               foreach ($tree_list as $tree) {
+-                      $i++;
+                       $hierarchy = db_fetch_assoc("select
+                               graph_tree_items.id,
+                               graph_tree_items.title,
+@@ -583,21 +598,45 @@
+                               and graph_tree_items.local_graph_id = 0
+                               order by graph_tree_items.order_key");
+-                      $dhtml_tree[$i] = "ou0 = insFld(foldersTree, gFld(\"" . htmlspecialchars($tree["name"]) . "\", \"" . htmlspecialchars("graph_view.php?action=tree&tree_id=" . $tree["id"]) . "\"))\n";
+                       $i++;
+-                      $dhtml_tree[$i] = "ou0.xID = \"tree_" . $tree["id"] . "\"\n";
++                      $dhtml_tree[$i] = "\t<ul>\n\t\t<li id=\"" . htmlspecialchars("tree_" . $tree["id"]) . "\"><a href=\"" . htmlspecialchars("graph_view.php?action=tree&tree_id=" . $tree["id"]) . "\">" . htmlspecialchars($tree["name"]) . "</a>\n";
+                       if (sizeof($hierarchy) > 0) {
++                              $i++;
++                              $dhtml_tree[$i] = "\t\t\t<ul>\n";
++                              $last_tier = 1;
++                              $openli = false;
++                              $lasthost = false;
+                               foreach ($hierarchy as $leaf) {
+-                                      $i++;
+                                       $tier = tree_tier($leaf["order_key"]);
+-                                      if ($leaf["host_id"] > 0) {
+-                                              $dhtml_tree[$i] = "ou" . ($tier) . " = insFld(ou" . abs(($tier-1)) . ", gFld(\"" . "Host: " . htmlspecialchars($leaf["hostname"]) . "\", \"" . htmlspecialchars("graph_view.php?action=tree&tree_id=" . $tree["id"] . "&leaf_id=" . $leaf["id"]) . "\"))\n";
++                                      if ($leaf["host_id"] > 0) {  //It's a host
++                                              if ($tier > $last_tier) {
++                                                      $i++;
++                                                      $dhtml_tree[$i] = "\t\t\t<ul>\n";
++                                              } elseif ($tier < $last_tier) {
++                                                      if (!$lasthost) {
++                                                              $i++;
++                                                              $dhtml_tree[$i] = "\t\t\t\t</li>\n";
++                                                      }
++                                                      for ($x = $tier; $x < $last_tier; $x++) {
++                                                              $i++;
++                                                              $dhtml_tree[$i] = "\t\t\t</ul>\n\t\t\t\t</li>\n";
++                                                              $openli = false;
++                                                      }
++                                              } elseif ($openli && !$lasthost) {
++                                                      $i++;
++                                                      $dhtml_tree[$i] = "\t\t\t\t</li>\n";
++                                                      $openli = false;
++                                              }
++                                              $last_tier = $tier;
++                                              $lasthost = true;
+                                               $i++;
+-                                              $dhtml_tree[$i] = "ou" . ($tier) . ".xID = \"tree_" . $tree["id"] . "_leaf_" . $leaf["id"] . "\"\n";
++                                              $dhtml_tree[$i] = "\t\t\t\t<li id=\"" . htmlspecialchars("tree_" . $tree["id"] . "_leaf_" . $leaf["id"]) . "\"><a href=\"" . htmlspecialchars("graph_view.php?action=tree&tree_id=" . $tree["id"] . "&leaf_id=" . $leaf["id"]) . "\">Host: " . htmlspecialchars($leaf["hostname"]) . "</a>\n";
+                                               if (read_graph_config_option("expand_hosts") == "on") {
++                                                      $i++;
++                                                      $dhtml_tree[$i] = "\t\t\t\t\t<ul>\n";
+                                                       if ($leaf["host_grouping_type"] == HOST_GROUPING_GRAPH_TEMPLATE) {
+                                                               $graph_templates = db_fetch_assoc("select
+                                                                       graph_templates.id,
+@@ -612,9 +651,7 @@
+                                                               if (sizeof($graph_templates) > 0) {
+                                                                       foreach ($graph_templates as $graph_template) {
+                                                                               $i++;
+-                                                                              $dhtml_tree[$i] = "ou" . ($tier+1) . " = insFld(ou" . ($tier) . ", gFld(\" " . htmlspecialchars($graph_template["name"]) . "\", \"graph_view.php?action=tree&tree_id=" . $tree["id"] . "&leaf_id=" . $leaf["id"] . "&host_group_data=graph_template:" . $graph_template["id"] . "\"))\n";
+-                                                                              $i++;
+-                                                                              $dhtml_tree[$i] = "ou" . ($tier+1) . ".xID = \"tree_" . $tree["id"] . "_leaf_" . $leaf["id"] . "_hgd_gt_" . $graph_template["id"] . "\"\n";
++                                                                              $dhtml_tree[$i] = "\t\t\t\t\t\t<li id=\"" . htmlspecialchars("tree_" . $tree["id"] . "_leaf_" . $leaf["id"] . "_hgd_gt_" . $graph_template["id"]) . "\"><a href=\"" . htmlspecialchars("graph_view.php?action=tree&tree_id=" . $tree["id"] . "&leaf_id=" . $leaf["id"] . "&host_group_data=graph_template:" . $graph_template["id"]) . "\">" . htmlspecialchars($graph_template["name"]) . "</a></li>\n";
+                                                                       }
+                                                               }
+                                                       }else if ($leaf["host_grouping_type"] == HOST_GROUPING_DATA_QUERY_INDEX) {
+@@ -645,33 +682,71 @@
+                                                                               if ((($data_query["id"] == 0) && ($non_template_graphs > 0)) ||
+                                                                                       (($data_query["id"] > 0) && (sizeof($sort_field_data) > 0))) {
+                                                                                       $i++;
+-                                                                                      $dhtml_tree[$i] = "ou" . ($tier+1) . " = insFld(ou" . ($tier) . ", gFld(\" " . htmlspecialchars($data_query["name"]) . "\", \"" . htmlspecialchars("graph_view.php?action=tree&tree_id=" . $tree["id"] . "&leaf_id=" . $leaf["id"] . "&host_group_data=data_query:" . $data_query["id"]) . "\"))\n";
+-                                                                                      $i++;
+-                                                                                      $dhtml_tree[$i] = "ou" . ($tier+1) . ".xID = \"tree_" . $tree["id"] . "_leaf_" . $leaf["id"] . "_hgd_dq_" . $data_query["id"] . "\"\n";
+-
++                                                                                      $dhtml_tree[$i] = "\t\t\t\t\t\t<li id=\"" . htmlspecialchars("tree_" . $tree["id"] . "_leaf_" . $leaf["id"] . "_hgd_dq_" . $data_query["id"]) . "\"><a href=\"" . htmlspecialchars("graph_view.php?action=tree&tree_id=" . $tree["id"] . "&leaf_id=" . $leaf["id"] . "&host_group_data=data_query:" . $data_query["id"]) . "\">" . htmlspecialchars($data_query["name"]) . "</a>\n";
+                                                                                       if ($data_query["id"] > 0) {
++                                                                                              $i++;
++                                                                                              $dhtml_tree[$i] = "\t\t\t\t\t\t\t<ul>\n";
+                                                                                               while (list($snmp_index, $sort_field_value) = each($sort_field_data)) {
+                                                                                                       $i++;
+-                                                                                                      $dhtml_tree[$i] = "ou" . ($tier+2) . " = insFld(ou" . ($tier+1) . ", gFld(\" " . htmlspecialchars($sort_field_value) . "\", \"" . htmlspecialchars("graph_view.php?action=tree&tree_id=" . $tree["id"] . "&leaf_id=" . $leaf["id"] . "&host_group_data=data_query_index:" . $data_query["id"] . ":" . urlencode($snmp_index)) . "\"))\n";
+-                                                                                                      $i++;
+-                                                                                                      $dhtml_tree[$i] = "ou" . ($tier+2) . ".xID = \"tree_" . $tree["id"] . "_leaf_" . $leaf["id"] . "_hgd_dqi" . $data_query["id"] . "_" . urlencode($snmp_index) . "\"\n";
++                                                                                                      $dhtml_tree[$i] = "\t\t\t\t\t\t\t\t<li id=\"" . htmlspecialchars("tree_" . $tree["id"] . "_leaf_" . $leaf["id"] . "_hgd_dqi" . $data_query["id"]) . "_" . urlencode($snmp_index) . "\"><a href=\"" . htmlspecialchars("graph_view.php?action=tree&tree_id=" . $tree["id"] . "&leaf_id=" . $leaf["id"] . "&host_group_data=data_query_index:" . $data_query["id"] . ":" . urlencode($snmp_index)) . "\">" . htmlspecialchars($sort_field_value) . "</a></li>\n";
+                                                                                               }
++                                                                                      $i++;
++                                                                                      $dhtml_tree[$i] = "\t\t\t\t\t\t\t</ul>\n";
++                                                                                      $i++;
++                                                                                      $dhtml_tree[$i] = "\t\t\t\t\t\t</li>\n";
+                                                                                       }
+                                                                               }
+                                                                       }
+                                                               }
++                                                      $i++;
++                                                      $dhtml_tree[$i] = "\t\t\t\t\t\t</li>\n";
++                                                      }
++                                              $i++;
++                                              $dhtml_tree[$i] = "\t\t\t\t\t</ul>\n";
++                                              }
++                                      $i++;
++                                      $dhtml_tree[$i] = "\t\t\t\t</li>\n";
++                                      }else{ //It's not a host
++                                              if ($tier > $last_tier) {
++                                                      $i++;
++                                                      $dhtml_tree[$i] = "\t\t\t<ul>\n";
++                                              } elseif ($tier < $last_tier) {
++                                                      if (!$lasthost) {
++                                                              $i++;
++                                                              $dhtml_tree[$i] = "</li>\n";
+                                                       }
++                                                      for ($x = $tier; $x < $last_tier; $x++) {
++                                                              $i++;
++                                                              $dhtml_tree[$i] = "\t\t\t\t</ul>\n\t\t\t\t</li>\n";
++                                                              $openli = false;
++                                                      }
++                                              } elseif ($openli && !$lasthost) {
++                                                      $i++;
++                                                      $dhtml_tree[$i] = "</li>\n";
++                                                      $openli = false;
+                                               }
+-                                      }else{
+-                                              $dhtml_tree[$i] = "ou" . ($tier) . " = insFld(ou" . abs(($tier-1)) . ", gFld(\"" . htmlspecialchars($leaf["title"]) . "\", \"" . htmlspecialchars("graph_view.php?action=tree&tree_id=" . $tree["id"] . "&leaf_id=" . $leaf["id"]) . "\"))\n";
++                                              $last_tier = $tier;
+                                               $i++;
+-                                              $dhtml_tree[$i] = "ou" . ($tier) . ".xID = \"tree_" . $tree["id"] . "_leaf_" . $leaf["id"] . "\"\n";
++                                              $dhtml_tree[$i] = "\t\t\t\t<li id=\"" . htmlspecialchars("tree_" . $tree["id"] . "_leaf_" . $leaf["id"]) . "\"><a href=\"" . htmlspecialchars("graph_view.php?action=tree&tree_id=" . $tree["id"] . "&leaf_id=" . $leaf["id"]) . "\">" . htmlspecialchars($leaf["title"]) . "</a>\n";
++                                              $openli = true;
++                                              $lasthost = false;
+                                       }
+                               }
++                              for ($x = $last_tier; $x > 1; $x--) {
++                                      $i++;
++                                      $dhtml_tree[$i] = "\t\t\t\t\t</ul>\n\t\t\t\t</li>\n";
++                              }
++                              $i++;
++                              $dhtml_tree[$i] = "\t\t\t</ul>\n";
+                       }
++                      $i++;
++                      $dhtml_tree[$i] = "\t\t</li>\n\t</ul>\n";
+               }
+       }
++      $i++;
++      $dhtml_tree[$i] = "</div>\n";
++
+       return $dhtml_tree;
+ }
+@@ -758,14 +833,6 @@
+               }
+       }
+-      print "<script type=\"text/javascript\">\n";
+-      print "<!--\n";
+-      print "myNode = findObj(\"$nodeid\")\n";
+-      print "myNode.forceOpeningOfAncestorFolders();\n";
+-      print "highlightObjLink(myNode)\n";
+-      print "//-->\n";
+-      print "</script>";
+-
+       /* ================= input validation ================= */
+       input_validate_input_number(get_request_var_post("graphs"));
+       input_validate_input_number(get_request_var_post("page"));
diff --git a/src/patches/cacti/cacti-0.8.8b-html-injection.patch b/src/patches/cacti/cacti-0.8.8b-html-injection.patch
new file mode 100644 (file)
index 0000000..1326dff
--- /dev/null
@@ -0,0 +1,19 @@
+------------------------------------------------------------------------
+r7443 | rony | 2014-03-30 18:43:28 -0500 (Sun, 30 Mar 2014) | 2 lines
+
+bug#0002431: CVE-2014-2326 Unspecified HTML Injection Vulnerability 
+
+------------------------------------------------------------------------
+Index: branches/0.8.8/cdef.php
+===================================================================
+--- branches/0.8.8/cdef.php    (revision 7442)
++++ branches/0.8.8/cdef.php    (revision 7443)
+@@ -431,7 +431,7 @@
+                                               <a class="linkEditMain" href="<?php print htmlspecialchars("cdef.php?action=item_edit&id=" . $cdef_item["id"] . "&cdef_id=" . $cdef["id"]);?>">Item #<?php print htmlspecialchars($i);?></a>
+                                       </td>
+                                       <td>
+-                                              <em><?php $cdef_item_type = $cdef_item["type"]; print $cdef_item_types[$cdef_item_type];?></em>: <strong><?php print get_cdef_item_name($cdef_item["id"]);?></strong>
++                                              <em><?php $cdef_item_type = $cdef_item["type"]; print $cdef_item_types[$cdef_item_type];?></em>: <strong><?php print htmlspecialchars(get_cdef_item_name($cdef_item["id"]));?></strong>
+                                       </td>
+                                       <td>
+                                               <a href="<?php print htmlspecialchars("cdef.php?action=item_movedown&id=" . $cdef_item["id"] . "&cdef_id=" . $cdef["id"]);?>"><img src="images/move_down.gif" border="0" alt="Move Down"></a>
diff --git a/src/patches/cacti/cacti-0.8.8b-remote-command-execution.patch b/src/patches/cacti/cacti-0.8.8b-remote-command-execution.patch
new file mode 100644 (file)
index 0000000..c357a06
--- /dev/null
@@ -0,0 +1,28 @@
+------------------------------------------------------------------------
+r7442 | rony | 2014-03-30 18:41:56 -0500 (Sun, 30 Mar 2014) | 2 lines
+
+bug#0002433: CVE-2014-2328 Unspecified Remote Command Execution Vulnerability
+
+------------------------------------------------------------------------
+Index: branches/0.8.8/lib/graph_export.php
+===================================================================
+--- branches/0.8.8/lib/graph_export.php        (revision 7441)
++++ branches/0.8.8/lib/graph_export.php        (revision 7442)
+@@ -339,7 +339,7 @@
+       chdir($stExportDir);
+       /* set the initial command structure */
+-      $stExecute = 'ncftpput -R -V -r 1 -u '.$aFtpExport['username'].' -p '.$aFtpExport['password'];
++      $stExecute = 'ncftpput -R -V -r 1 -u ' . cacti_escapeshellarg($aFtpExport['username']) . ' -p ' . cacti_escapeshellarg($aFtpExport['password']);
+       /* if the user requested passive mode, use it */
+       if ($aFtpExport['passive']) {
+@@ -347,7 +347,7 @@
+       }
+       /* setup the port, server, remote directory and all files */
+-      $stExecute .= ' -P ' . $aFtpExport['port'] . ' ' . $aFtpExport['server'] . ' ' . $aFtpExport['remotedir'] . ".";
++      $stExecute .= ' -P ' . cacti_escapeshellarg($aFtpExport['port']) . ' ' . cacti_escapeshellarg($aFtpExport['server']) . ' ' . cacti_escapeshellarg($aFtpExport['remotedir']) . ".";
+       /* run the command */
+       $iExecuteReturns = 0;
diff --git a/src/patches/cacti/cacti-0.8.8b-rra-comments.patch b/src/patches/cacti/cacti-0.8.8b-rra-comments.patch
new file mode 100644 (file)
index 0000000..c5becfe
--- /dev/null
@@ -0,0 +1,42 @@
+------------------------------------------------------------------------
+r7418 | gandalf | 2013-08-13 13:32:49 -0600 (Tue, 13 Aug 2013) | 1 line
+
+fix COMMENT handling, even in case COMMENT is empty, with or without HR and with variable substitution
+------------------------------------------------------------------------
+Index: branches/0.8.8/lib/rrd.php
+===================================================================
+--- branches/0.8.8/lib/rrd.php (revision 7417)
++++ branches/0.8.8/lib/rrd.php (revision 7418)
+@@ -1343,20 +1343,20 @@
+               $need_rrd_nl = TRUE;
+               if ($graph_item_types{$graph_item["graph_type_id"]} == "COMMENT") {
++                      # perform variable substitution first (in case this will yield an empty results or brings command injection problems)
++                      $comment_arg = rrd_substitute_host_query_data($graph_variables["text_format"][$graph_item_id], $graph, $graph_item);
++                      # next, compute the argument of the COMMENT statement and perform injection counter measures
++                      if (trim($comment_arg) == '') { # an empty COMMENT must be treated with care
++                              $comment_arg = cacti_escapeshellarg(' ' . $hardreturn[$graph_item_id]);
++                      } else {
++                              $comment_arg = cacti_escapeshellarg($comment_arg . $hardreturn[$graph_item_id]);
++                      }
++
++                      # create rrdtool specific command line
+                       if (read_config_option("rrdtool_version") != "rrd-1.0.x") {
+-                              $comment_string = $graph_item_types{$graph_item["graph_type_id"]} . ":" . str_replace(":", "\:", cacti_escapeshellarg($graph_variables["text_format"][$graph_item_id] . $hardreturn[$graph_item_id])) . " ";
+-                              if (trim($comment_string) == 'COMMENT:"\n"') {
+-                                      $txt_graph_items .= 'COMMENT:" \n"'; # rrdtool will skip a COMMENT that holds a NL only; so add a blank to make NL work
+-                              } else if (trim($comment_string) != "COMMENT:\"\"") {
+-                                      $txt_graph_items .= rrd_substitute_host_query_data($comment_string, $graph, $graph_item);
+-                              }
++                              $txt_graph_items .= $graph_item_types{$graph_item["graph_type_id"]} . ":" . str_replace(":", "\:", $comment_arg) . " ";
+                       }else {
+-                              $comment_string = $graph_item_types{$graph_item["graph_type_id"]} . ":" . cacti_escapeshellarg($graph_variables["text_format"][$graph_item_id] . $hardreturn[$graph_item_id]) . " ";
+-                              if (trim($comment_string) == 'COMMENT:"\n"') {
+-                                      $txt_graph_items .= 'COMMENT:" \n"'; # rrdtool will skip a COMMENT that holds a NL only; so add a blank to make NL work
+-                              } else if (trim($comment_string) != "COMMENT:\"\"") {
+-                                      $txt_graph_items .= rrd_substitute_host_query_data($comment_string, $graph, $graph_item);
+-                              }
++                              $txt_graph_items .= $graph_item_types{$graph_item["graph_type_id"]} . ":" . $comment_arg . " ";
+                       }
+               }elseif (($graph_item_types{$graph_item["graph_type_id"]} == "GPRINT") && (!isset($graph_data_array["graph_nolegend"]))) {
+                       $graph_variables["text_format"][$graph_item_id] = str_replace(":", "\:", $graph_variables["text_format"][$graph_item_id]); /* escape colons */
diff --git a/src/patches/cacti/cacti-0.8.8b-sanitize-variables.patch b/src/patches/cacti/cacti-0.8.8b-sanitize-variables.patch
new file mode 100644 (file)
index 0000000..37ded2e
--- /dev/null
@@ -0,0 +1,155 @@
+------------------------------------------------------------------------
+r7420 | cigamit | 2013-08-17 21:41:24 -0600 (Sat, 17 Aug 2013) | 1 line
+
+Bug #0002383 : Sanitize the step and id variables
+------------------------------------------------------------------------
+Index: branches/0.8.8/host.php
+===================================================================
+--- branches/0.8.8/host.php    (revision 7419)
++++ branches/0.8.8/host.php    (revision 7420)
+@@ -149,6 +149,9 @@
+               if ($_POST["snmp_version"] == 3 && ($_POST["snmp_password"] != $_POST["snmp_password_confirm"])) {
+                       raise_message(4);
+               }else{
++                      input_validate_input_number(get_request_var_post("id"));
++                      input_validate_input_number(get_request_var_post("host_template_id"));
++
+                       $host_id = api_device_save($_POST["id"], $_POST["host_template_id"], $_POST["description"],
+                               trim($_POST["hostname"]), $_POST["snmp_community"], $_POST["snmp_version"],
+                               $_POST["snmp_username"], $_POST["snmp_password"],
+Index: branches/0.8.8/lib/api_device.php
+===================================================================
+--- branches/0.8.8/lib/api_device.php  (revision 7419)
++++ branches/0.8.8/lib/api_device.php  (revision 7420)
+@@ -107,7 +107,7 @@
+               $_host_template_id = db_fetch_cell("select host_template_id from host where id=$id");
+       }
+-      $save["id"] = $id;
++      $save["id"]                   = form_input_validate($id, "id", "^[0-9]+$", false, 3);
+       $save["host_template_id"]     = form_input_validate($host_template_id, "host_template_id", "^[0-9]+$", false, 3);
+       $save["description"]          = form_input_validate($description, "description", "", false, 3);
+       $save["hostname"]             = form_input_validate(trim($hostname), "hostname", "", false, 3);
+Index: branches/0.8.8/install/index.php
+===================================================================
+--- branches/0.8.8/install/index.php   (revision 7419)
++++ branches/0.8.8/install/index.php   (revision 7420)
+@@ -310,27 +310,28 @@
+ }
+ /* pre-processing that needs to be done for each step */
+-if (empty($_REQUEST["step"])) {
+-      $_REQUEST["step"] = 1;
+-}else{
+-      if ($_REQUEST["step"] == "1") {
+-              $_REQUEST["step"] = "2";
+-      }elseif (($_REQUEST["step"] == "2") && ($_REQUEST["install_type"] == "1")) {
+-              $_REQUEST["step"] = "3";
+-      }elseif (($_REQUEST["step"] == "2") && ($_REQUEST["install_type"] == "3")) {
+-              $_REQUEST["step"] = "8";
+-      }elseif (($_REQUEST["step"] == "8") && ($old_version_index <= array_search("0.8.5a", $cacti_versions))) {
+-              $_REQUEST["step"] = "9";
+-      }elseif ($_REQUEST["step"] == "8") {
+-              $_REQUEST["step"] = "3";
+-      }elseif ($_REQUEST["step"] == "9") {
+-              $_REQUEST["step"] = "3";
+-      }elseif ($_REQUEST["step"] == "3") {
+-              $_REQUEST["step"] = "4";
++if (isset($_REQUEST["step"]) && $_REQUEST["step"] > 0) {
++      $step = intval($_REQUEST["step"]);
++      if ($step == "1") {
++              $step = "2";
++      } elseif (($step == "2") && ($_REQUEST["install_type"] == "1")) {
++              $step = "3";
++      } elseif (($step == "2") && ($_REQUEST["install_type"] == "3")) {
++              $step = "8";
++      } elseif (($step == "8") && ($old_version_index <= array_search("0.8.5a", $cacti_versions))) {
++              $step = "9";
++      } elseif ($step == "8") {
++              $step = "3";
++      } elseif ($step == "9") {
++              $step = "3";
++      } elseif ($step == "3") {
++              $step = "4";
+       }
++} else {
++      $step = 1;
+ }
+-if ($_REQUEST["step"] == "4") {
++if ($step == "4") {
+       include_once("../lib/data_query.php");
+       include_once("../lib/utility.php");
+@@ -366,7 +367,7 @@
+       header ("Location: ../index.php");
+       exit;
+-}elseif (($_REQUEST["step"] == "8") && ($_REQUEST["install_type"] == "3")) {
++}elseif (($step == "8") && ($_REQUEST["install_type"] == "3")) {
+       /* if the version is not found, die */
+       if (!is_int($old_version_index)) {
+               print " <p style='font-family: Verdana, Arial; font-size: 16px; font-weight: bold; color: red;'>Error</p>
+@@ -505,7 +506,7 @@
+                               </tr>
+                               <tr>
+                                       <td width="100%" style="font-size: 12px;">
+-                                              <?php if ($_REQUEST["step"] == "1") { ?>
++                                              <?php if ($step == "1") { ?>
+                                               <p>Thanks for taking the time to download and install cacti, the complete graphing
+                                               solution for your network. Before you can start making cool graphs, there are a few
+@@ -530,7 +531,7 @@
+                                               MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+                                               GNU General Public License for more details.</p>
+-                                              <?php }elseif ($_REQUEST["step"] == "2") { ?>
++                                              <?php }elseif ($step == "2") { ?>
+                                               <p>Please select the type of installation</p>
+@@ -551,7 +552,7 @@
+                                                       print "Server Operating System Type: " . $config["cacti_server_os"] . "<br>"; ?>
+                                               </p>
+-                                              <?php }elseif ($_REQUEST["step"] == "3") { ?>
++                                              <?php }elseif ($step == "3") { ?>
+                                               <p>Make sure all of these values are correct before continuing.</p>
+                                               <?php
+@@ -609,7 +610,7 @@
+                                               is an upgrade. You can change any of the settings on this screen at a later
+                                               time by going to "Cacti Settings" from within Cacti.</p>
+-                                              <?php }elseif ($_REQUEST["step"] == "8") { ?>
++                                              <?php }elseif ($step == "8") { ?>
+                                               <p>Upgrade results:</p>
+@@ -659,7 +660,7 @@
+                                               print $upgrade_results;
+                                               ?>
+-                                              <?php }elseif ($_REQUEST["step"] == "9") { ?>
++                                              <?php }elseif ($step == "9") { ?>
+                                               <p style='font-size: 16px; font-weight: bold; color: red;'>Important Upgrade Notice</p>
+@@ -673,7 +674,7 @@
+                                               <?php }?>
+-                                              <p align="right"><input type="image" src="install_<?php if ($_REQUEST["step"] == "3") {?>finish<?php }else{?>next<?php }?>.gif" alt="<?php if ($_REQUEST["step"] == "3"){?>Finish<?php }else{?>Next<?php }?>"></p>
++                                              <p align="right"><input type="image" src="install_<?php if ($step == "3") {?>finish<?php }else{?>next<?php }?>.gif" alt="<?php if ($step == "3"){?>Finish<?php }else{?>Next<?php }?>"></p>
+                                       </td>
+                               </tr>
+                       </table>
+@@ -681,7 +682,7 @@
+       </tr>
+ </table>
+-<input type="hidden" name="step" value="<?php print $_REQUEST["step"];?>">
++<input type="hidden" name="step" value="<?php print $step;?>">
+ </form>
diff --git a/src/patches/cacti/cacti-0.8.8b-sql-injection-shell-escaping.patch b/src/patches/cacti/cacti-0.8.8b-sql-injection-shell-escaping.patch
new file mode 100644 (file)
index 0000000..cb72d79
--- /dev/null
@@ -0,0 +1,117 @@
+------------------------------------------------------------------------
+r7439 | rony | 2014-03-30 17:52:10 -0500 (Sun, 30 Mar 2014) | 5 lines
+
+bug#0002405: SQL injection in graph_xport.php
+
+ - Fixed form input validation problems
+ - Fixed rrd export and graph shell escape issues
+
+------------------------------------------------------------------------
+Index: branches/0.8.8/graph_xport.php
+===================================================================
+--- branches/0.8.8/graph_xport.php     (revision 7438)
++++ branches/0.8.8/graph_xport.php     (revision 7439)
+@@ -47,43 +47,48 @@
+ $graph_data_array = array();
++/* ================= input validation ================= */
++input_validate_input_number(get_request_var("local_graph_id"));
++input_validate_input_number(get_request_var("rra_id"));
++/* ==================================================== */
++
+ /* override: graph start time (unix time) */
+-if (!empty($_GET["graph_start"]) && $_GET["graph_start"] < 1600000000) {
+-      $graph_data_array["graph_start"] = $_GET["graph_start"];
++if (!empty($_GET["graph_start"]) && is_numeric($_GET["graph_start"] && $_GET["graph_start"] < 1600000000)) {
++      $graph_data_array["graph_start"] = get_request_var("graph_start");
+ }
+ /* override: graph end time (unix time) */
+-if (!empty($_GET["graph_end"]) && $_GET["graph_end"] < 1600000000) {
+-      $graph_data_array["graph_end"] = $_GET["graph_end"];
++if (!empty($_GET["graph_end"]) && is_numeric($_GET["graph_end"]) && $_GET["graph_end"] < 1600000000) {
++      $graph_data_array["graph_end"] = get_request_var("graph_end");
+ }
+ /* override: graph height (in pixels) */
+-if (!empty($_GET["graph_height"]) && $_GET["graph_height"] < 3000) {
+-      $graph_data_array["graph_height"] = $_GET["graph_height"];
++if (!empty($_GET["graph_height"]) && is_numeric($_GET["graph_height"]) && $_GET["graph_height"] < 3000) {
++      $graph_data_array["graph_height"] = get_request_var("graph_height");
+ }
+ /* override: graph width (in pixels) */
+-if (!empty($_GET["graph_width"]) && $_GET["graph_width"] < 3000) {
+-      $graph_data_array["graph_width"] = $_GET["graph_width"];
++if (!empty($_GET["graph_width"]) && is_numeric($_GET["graph_width"]) && $_GET["graph_width"] < 3000) {
++      $graph_data_array["graph_width"] = get_request_var("graph_width");
+ }
+ /* override: skip drawing the legend? */
+ if (!empty($_GET["graph_nolegend"])) {
+-      $graph_data_array["graph_nolegend"] = $_GET["graph_nolegend"];
++      $graph_data_array["graph_nolegend"] = get_request_var("graph_nolegend");
+ }
+ /* print RRDTool graph source? */
+ if (!empty($_GET["show_source"])) {
+-      $graph_data_array["print_source"] = $_GET["show_source"];
++      $graph_data_array["print_source"] = get_request_var("show_source");
+ }
+-$graph_info = db_fetch_row("SELECT * FROM graph_templates_graph WHERE local_graph_id='" . $_REQUEST["local_graph_id"] . "'");
++$graph_info = db_fetch_row("SELECT * FROM graph_templates_graph WHERE local_graph_id='" . get_request_var("local_graph_id") . "'");
+ /* for bandwidth, NThPercentile */
+ $xport_meta = array();
+ /* Get graph export */
+-$xport_array = @rrdtool_function_xport($_GET["local_graph_id"], $_GET["rra_id"], $graph_data_array, $xport_meta);
++$xport_array = @rrdtool_function_xport($_GET["local_graph_id"], get_request_var("rra_id"), $graph_data_array, $xport_meta);
+ /* Make graph title the suggested file name */
+ if (is_array($xport_array["meta"])) {
+Index: branches/0.8.8/lib/rrd.php
+===================================================================
+--- branches/0.8.8/lib/rrd.php (revision 7438)
++++ branches/0.8.8/lib/rrd.php (revision 7439)
+@@ -865,13 +865,13 @@
+       /* basic graph options */
+       $graph_opts .=
+               "--imgformat=" . $image_types{$graph["image_format_id"]} . RRD_NL .
+-              "--start=$graph_start" . RRD_NL .
+-              "--end=$graph_end" . RRD_NL .
++              "--start=" . cacti_escapeshellarg($graph_start) . RRD_NL .
++              "--end=" . cacti_escapeshellarg($graph_end) . RRD_NL .
+               "--title=" . cacti_escapeshellarg($graph["title_cache"]) . RRD_NL .
+               "$rigid" .
+-              "--base=" . $graph["base_value"] . RRD_NL .
+-              "--height=$graph_height" . RRD_NL .
+-              "--width=$graph_width" . RRD_NL .
++              "--base=" . cacti_escapeshellarg($graph["base_value"]) . RRD_NL .
++              "--height=" . cacti_escapeshellarg($graph_height) . RRD_NL .
++              "--width=" . cacti_escapeshellarg($graph_width) . RRD_NL .
+               "$scale" .
+               "$unit_value" .
+               "$unit_exponent_value" .
+@@ -1606,8 +1606,8 @@
+       /* basic export options */
+       $xport_opts =
+-              "--start=$xport_start" . RRD_NL .
+-              "--end=$xport_end" . RRD_NL .
++              "--start=" . cacti_escapeshellarg($xport_start) . RRD_NL .
++              "--end=" . cacti_escapeshellarg($xport_end) . RRD_NL .
+               "--maxrows=10000" . RRD_NL;
+       $xport_defs = "";
+@@ -1997,7 +1997,7 @@
+                       $stacked_columns["col" . $j] = ($graph_item_types{$xport_item["graph_type_id"]} == "STACK") ? 1 : 0;
+                       $j++;
+-                      $txt_xport_items .= "XPORT:" . $data_source_name . ":" . str_replace(":", "", cacti_escapeshellarg($legend_name)) ;
++                      $txt_xport_items .= "XPORT:" . cacti_escapeshellarg($data_source_name) . ":" . str_replace(":", "", cacti_escapeshellarg($legend_name)) ;
+               }else{
+                       $need_rrd_nl = FALSE;
+               }
diff --git a/src/patches/dnsmasq-2.70-Add-support-to-read-ISC-DHCP-lease-file.patch b/src/patches/dnsmasq-2.70-Add-support-to-read-ISC-DHCP-lease-file.patch
new file mode 100644 (file)
index 0000000..3194e1f
--- /dev/null
@@ -0,0 +1,365 @@
+diff --git a/Makefile b/Makefile
+index 292c8bd..5e0cdbe 100644
+--- a/Makefile
++++ b/Makefile
+@@ -69,7 +69,7 @@ objs = cache.o rfc1035.o util.o option.o forward.o network.o \
+        dnsmasq.o dhcp.o lease.o rfc2131.o netlink.o dbus.o bpf.o \
+        helper.o tftp.o log.o conntrack.o dhcp6.o rfc3315.o \
+        dhcp-common.o outpacket.o radv.o slaac.o auth.o ipset.o \
+-       domain.o dnssec.o blockdata.o
++       domain.o dnssec.o blockdata.o isc.o
+ hdrs = dnsmasq.h config.h dhcp-protocol.h dhcp6-protocol.h \
+        dns-protocol.h radv-protocol.h ip6addr.h
+diff --git a/src/cache.c b/src/cache.c
+index 5cec918..1f5657f 100644
+--- a/src/cache.c
++++ b/src/cache.c
+@@ -17,7 +17,7 @@
+ #include "dnsmasq.h"
+ static struct crec *cache_head = NULL, *cache_tail = NULL, **hash_table = NULL;
+-#ifdef HAVE_DHCP
++#if (defined HAVE_DHCP) || (defined HAVE_ISC_READER)
+ static struct crec *dhcp_spare = NULL;
+ #endif
+ static struct crec *new_chain = NULL;
+@@ -222,6 +222,9 @@ static void cache_free(struct crec *crecp)
+       crecp->flags &= ~F_BIGNAME;
+     }
++  if (crecp->flags & F_DHCP)
++    free(crecp->name.namep);
++
+ #ifdef HAVE_DNSSEC
+   cache_blockdata_free(crecp);
+ #endif
+@@ -1110,7 +1113,7 @@ void cache_reload(void)
+       total_size = read_hostsfile(ah->fname, ah->index, total_size, (struct crec **)daemon->packet, revhashsz);
+ } 
+-#ifdef HAVE_DHCP
++#if (defined HAVE_DHCP) || (defined HAVE_ISC_READER)
+ struct in_addr a_record_from_hosts(char *name, time_t now)
+ {
+   struct crec *crecp = NULL;
+@@ -1188,7 +1191,7 @@ void cache_add_dhcp_entry(char *host_name, int prot,
+       addrlen = sizeof(struct in6_addr);
+     }
+ #endif
+-  
++
+   inet_ntop(prot, host_address, daemon->addrbuff, ADDRSTRLEN);
+   
+   while ((crec = cache_find_by_name(crec, host_name, 0, flags | F_CNAME)))
+@@ -1253,7 +1256,11 @@ void cache_add_dhcp_entry(char *host_name, int prot,
+       else
+       crec->ttd = ttd;
+       crec->addr.addr = *host_address;
++#ifdef HAVE_ISC_READER
++      crec->name.namep = strdup(host_name);
++#else
+       crec->name.namep = host_name;
++#endif
+       crec->uid = next_uid();
+       cache_hash(crec);
+diff --git a/src/dnsmasq.c b/src/dnsmasq.c
+index 1c96a0e..156ac9a 100644
+--- a/src/dnsmasq.c
++++ b/src/dnsmasq.c
+@@ -934,6 +934,11 @@ int main (int argc, char **argv)
+         poll_resolv(0, daemon->last_resolv != 0, now);          
+         daemon->last_resolv = now;
++
++#ifdef HAVE_ISC_READER
++        if (daemon->lease_file && !daemon->dhcp)
++          load_dhcp(now);
++#endif
+       }
+       
+       if (FD_ISSET(piperead, &rset))
+diff --git a/src/dnsmasq.h b/src/dnsmasq.h
+index 3032546..a40b2a9 100644
+--- a/src/dnsmasq.h
++++ b/src/dnsmasq.h
+@@ -1447,3 +1447,8 @@ void slaac_add_addrs(struct dhcp_lease *lease, time_t now, int force);
+ time_t periodic_slaac(time_t now, struct dhcp_lease *leases);
+ void slaac_ping_reply(struct in6_addr *sender, unsigned char *packet, char *interface, struct dhcp_lease *leases);
+ #endif
++
++/* isc.c */
++#ifdef HAVE_ISC_READER
++void load_dhcp(time_t now);
++#endif
+diff --git a/src/isc.c b/src/isc.c
+new file mode 100644
+index 0000000..5106442
+--- /dev/null
++++ b/src/isc.c
+@@ -0,0 +1,251 @@
++/* dnsmasq is Copyright (c) 2014 John Volpe, Simon Kelley and
++     Michael Tremer
++
++  This program is free software; you can redistribute it and/or modify
++  it under the terms of the GNU General Public License as published by
++  the Free Software Foundation; version 2 dated June, 1991, or
++  (at your option) version 3 dated 29 June, 2007.
++
++  This program is distributed in the hope that it will be useful,
++  but WITHOUT ANY WARRANTY; without even the implied warranty of
++  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++  GNU General Public License for more details.
++  
++  You should have received a copy of the GNU General Public License
++  along with this program.  If not, see <http://www.gnu.org/licenses/>.
++
++  Code in this file is based on contributions by John Volpe and
++  Simon Kelley. Updated for recent versions of dnsmasq by
++  Michael Tremer.
++*/
++
++#include "dnsmasq.h"
++
++#ifdef HAVE_ISC_READER
++#define MAXTOK 50
++
++struct isc_dhcp_lease {
++      char* name;
++      char* fqdn;
++      time_t expires;
++      struct in_addr addr;
++      struct isc_dhcp_lease* next;
++};
++
++static struct isc_dhcp_lease* dhcp_lease_new(const char* hostname) {
++      struct isc_dhcp_lease* lease = whine_malloc(sizeof(*lease));
++
++      lease->name = strdup(hostname);
++      if (daemon->domain_suffix) {
++              asprintf(&lease->fqdn, "%s.%s", hostname, daemon->domain_suffix);
++      }
++      lease->expires = 0;
++      lease->next = NULL;
++
++      return lease;
++}
++
++static void dhcp_lease_free(struct isc_dhcp_lease* lease) {
++      if (!lease)
++              return;
++
++      if (lease->name)
++              free(lease->name);
++      if (lease->fqdn)
++              free(lease->fqdn);
++      free(lease);
++}
++
++static int next_token(char* token, int buffsize, FILE* fp) {
++      int c, count = 0;
++      char* cp = token;
++
++      while ((c = getc(fp)) != EOF) {
++              if (c == '#') {
++                      do {
++                              c = getc(fp);
++                      } while (c != '\n' && c != EOF);
++              }
++
++              if (c == ' ' || c == '\t' || c == '\n' || c == ';') {
++                      if (count)
++                              break;
++              } else if ((c != '"') && (count < buffsize - 1)) {
++                      *cp++ = c;
++                      count++;
++              }
++      }
++
++      *cp = 0;
++      return count ? 1 : 0;
++}
++
++static long get_utc_offset() {
++      time_t t = time(NULL);
++      struct tm* time_struct = localtime(&t);
++
++      return time_struct->tm_gmtoff;
++}
++
++static time_t parse_lease_time(const char* token_date, const char* token_time) {
++      time_t time = (time_t)(-1);
++      struct tm lease_time;
++
++      if (sscanf(token_date, "%d/%d/%d", &lease_time.tm_year, &lease_time.tm_mon, &lease_time.tm_mday) == 3) {
++              lease_time.tm_year -= 1900;
++              lease_time.tm_mon -= 1;
++
++              if (sscanf(token_time, "%d:%d:%d", &lease_time.tm_hour, &lease_time.tm_min, &lease_time.tm_sec) == 3) {
++                      time = mktime(&lease_time) + get_utc_offset();
++              }
++      }
++
++      return time;
++}
++
++static struct isc_dhcp_lease* find_lease(const char* hostname, struct isc_dhcp_lease* leases) {
++      struct isc_dhcp_lease* lease = leases;
++
++      while (lease) {
++              if (strcmp(hostname, lease->name) == 0) {
++                      return lease;
++              }
++              lease = lease->next;
++      }
++
++      return NULL;
++}
++
++static off_t lease_file_size = (off_t)0;
++static ino_t lease_file_inode = (ino_t)0;
++
++void load_dhcp(time_t now) {
++      struct isc_dhcp_lease* leases = NULL;
++
++      struct stat statbuf;
++      if (stat(daemon->lease_file, &statbuf) == -1) {
++              return;
++      }
++
++      /* Do nothing if the lease file has not changed. */
++      if ((statbuf.st_size <= lease_file_size) && (statbuf.st_ino == lease_file_inode))
++              return;
++
++      lease_file_size = statbuf.st_size;
++      lease_file_inode = statbuf.st_ino;
++
++      FILE* fp = fopen(daemon->lease_file, "r");
++      if (!fp) {
++              my_syslog(LOG_ERR, _("failed to load %s:%s"), daemon->lease_file, strerror(errno));
++              return;
++      }
++
++      my_syslog(LOG_INFO, _("reading %s"), daemon->lease_file);
++
++      char* hostname = daemon->namebuff;
++      struct in_addr host_address;
++      time_t time_starts = -1;
++      time_t time_ends = -1;
++      int nomem;
++
++      char token[MAXTOK];
++      while ((next_token(token, MAXTOK, fp))) {
++              if (strcmp(token, "lease") == 0) {
++                      hostname[0] = '\0';
++
++                      if (next_token(token, MAXTOK, fp) && ((host_address.s_addr = inet_addr(token)) != (in_addr_t)-1)) {
++                              if (next_token(token, MAXTOK, fp) && *token == '{') {
++                                      while (next_token(token, MAXTOK, fp) && *token != '}') {
++                                              if ((strcmp(token, "client-hostname") == 0) || (strcmp(token, "hostname") == 0)) {
++                                                      if (next_token(hostname, MAXDNAME, fp)) {
++                                                              if (!canonicalise(hostname, &nomem)) {
++                                                                      *hostname = 0;
++                                                                      my_syslog(LOG_ERR, _("bad name in %s"), daemon->lease_file);
++                                                              }
++                                                      }
++                                              } else if ((strcmp(token, "starts") == 0) || (strcmp(token, "ends") == 0)) {
++                                                      char token_date[MAXTOK];
++                                                      char token_time[MAXTOK];
++
++                                                      int is_starts = strcmp(token, "starts") == 0;
++
++                                                      // Throw away the weekday and parse the date.
++                                                      if (next_token(token, MAXTOK, fp) && next_token(token_date, MAXTOK, fp) && next_token(token_time, MAXTOK, fp)) {
++                                                              time_t time = parse_lease_time(token_date, token_time);
++
++                                                              if (is_starts)
++                                                                      time_starts = time;
++                                                              else
++                                                                      time_ends = time;
++                                                      }
++                                              }
++                                      }
++
++                                      if (!*hostname)
++                                              continue;
++
++                                      if ((time_starts == -1) || (time_ends == -1))
++                                              continue;
++
++                                      if (difftime(now, time_ends) > 0)
++                                              continue;
++
++                                      char* dot = strchr(hostname, '.');
++                                      if (dot) {
++                                              if (!daemon->domain_suffix || hostname_isequal(dot + 1, daemon->domain_suffix)) {
++                                                      my_syslog(LOG_WARNING,
++                                                              _("Ignoring DHCP lease for %s because it has an illegal domain part"),
++                                                              hostname);
++                                                      continue;
++                                              }
++                                              *dot = 0;
++                                      }
++
++                                      // Search for an existing lease in the list
++                                      // with the given host name and update the data
++                                      // if needed.
++                                      struct isc_dhcp_lease* lease = find_lease(hostname, leases);
++
++                                      // If no lease already exists, we create a new one
++                                      // and append it to the list.
++                                      if (!lease) {
++                                              lease = dhcp_lease_new(hostname);
++
++                                              lease->next = leases;
++                                              leases = lease;
++                                      }
++
++                                      // Only update more recent leases.
++                                      if (lease->expires > time_ends)
++                                              continue;
++
++                                      lease->addr = host_address;
++                                      lease->expires = time_ends;
++                              }
++                      }
++              }
++      }
++
++      fclose(fp);
++
++      // Drop all entries.
++      cache_unhash_dhcp();
++
++      while (leases) {
++              struct isc_dhcp_lease *lease = leases;
++              leases = lease->next;
++
++              if (lease->fqdn) {
++                      cache_add_dhcp_entry(lease->fqdn, AF_INET, (struct all_addr*)&lease->addr.s_addr, lease->expires);
++              }
++
++              if (lease->name) {
++                      cache_add_dhcp_entry(lease->name, AF_INET, (struct all_addr*)&lease->addr.s_addr, lease->expires);
++              }
++
++              // Cleanup
++              dhcp_lease_free(lease);
++      }
++}
++
++#endif
+diff --git a/src/option.c b/src/option.c
+index daa728f..d16c982 100644
+--- a/src/option.c
++++ b/src/option.c
+@@ -1642,7 +1642,7 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma
+       ret_err(_("bad MX target"));
+       break;
+-#ifdef HAVE_DHCP      
++#if (defined HAVE_DHCP) || (defined HAVE_ISC_READER)
+     case 'l':  /* --dhcp-leasefile */
+       daemon->lease_file = opt_string_alloc(arg);
+       break;
diff --git a/src/patches/dnsmasq-2.71-support-nettle-3.0.patch b/src/patches/dnsmasq-2.71-support-nettle-3.0.patch
new file mode 100644 (file)
index 0000000..593a7cd
--- /dev/null
@@ -0,0 +1,65 @@
+From cdb755c5f16a6768c3e8b1f345fe15fc9244228d Mon Sep 17 00:00:00 2001
+From: Simon Kelley <simon@thekelleys.org.uk>
+Date: Wed, 18 Jun 2014 20:52:53 +0100
+Subject: [PATCH] Fix FTBFS with Nettle-3.0.
+
+---
+ CHANGELOG    |    3 +++
+ src/dnssec.c |   18 ++++++++++++------
+ 2 files changed, 15 insertions(+), 6 deletions(-)
+
+diff --git a/src/dnssec.c b/src/dnssec.c
+index 2ffb75d..69bfc29 100644
+--- a/src/dnssec.c
++++ b/src/dnssec.c
+@@ -28,6 +28,12 @@
+ #include <nettle/nettle-meta.h>
+ #include <nettle/bignum.h>
++/* Nettle-3.0 moved to a new API for DSA. We use a name that's defined in the new API
++   to detect Nettle-3, and invoke the backwards compatibility mode. */
++#ifdef dsa_params_init
++#include <nettle/dsa-compat.h>
++#endif
++
+ #define SERIAL_UNDEF  -100
+ #define SERIAL_EQ        0
+@@ -121,8 +127,8 @@ static int hash_init(const struct nettle_hash *hash, void **ctxp, unsigned char
+   return 1;
+ }
+   
+-static int rsa_verify(struct blockdata *key_data, unsigned int key_len, unsigned char *sig, size_t sig_len,
+-                    unsigned char *digest, int algo)
++static int dnsmasq_rsa_verify(struct blockdata *key_data, unsigned int key_len, unsigned char *sig, size_t sig_len,
++                            unsigned char *digest, int algo)
+ {
+   unsigned char *p;
+   size_t exp_len;
+@@ -173,8 +179,8 @@ static int rsa_verify(struct blockdata *key_data, unsigned int key_len, unsigned
+   return 0;
+ }  
+-static int dsa_verify(struct blockdata *key_data, unsigned int key_len, unsigned char *sig, size_t sig_len,
+-                    unsigned char *digest, int algo)
++static int dnsmasq_dsa_verify(struct blockdata *key_data, unsigned int key_len, unsigned char *sig, size_t sig_len,
++                            unsigned char *digest, int algo)
+ {
+   unsigned char *p;
+   unsigned int t;
+@@ -293,10 +299,10 @@ static int verify(struct blockdata *key_data, unsigned int key_len, unsigned cha
+   switch (algo)
+     {
+     case 1: case 5: case 7: case 8: case 10:
+-      return rsa_verify(key_data, key_len, sig, sig_len, digest, algo);
++      return dnsmasq_rsa_verify(key_data, key_len, sig, sig_len, digest, algo);
+       
+     case 3: case 6: 
+-      return dsa_verify(key_data, key_len, sig, sig_len, digest, algo);
++      return dnsmasq_dsa_verify(key_data, key_len, sig, sig_len, digest, algo);
+  
+ #ifndef NO_NETTLE_ECC   
+     case 13: case 14:
+-- 
+1.7.10.4
+
diff --git a/src/patches/dnsmasq-2.71-use-nettle-with-minigmp.patch b/src/patches/dnsmasq-2.71-use-nettle-with-minigmp.patch
new file mode 100644 (file)
index 0000000..374c9ec
--- /dev/null
@@ -0,0 +1,88 @@
+From 063efb330a3f341c2548e2cf1f67f83e49cd6395 Mon Sep 17 00:00:00 2001
+From: Simon Kelley <simon@thekelleys.org.uk>
+Date: Tue, 17 Jun 2014 19:49:31 +0100
+Subject: [PATCH] Build config: add -DNO_GMP for use with nettle/mini-gmp
+
+---
+ Makefile        |    2 +-
+ bld/pkg-wrapper |    9 +++++++--
+ src/config.h    |    7 +++++++
+ src/dnssec.c    |    3 ++-
+ 4 files changed, 17 insertions(+), 4 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index c58b50b..17eeb27 100644
+--- a/Makefile
++++ b/Makefile
+@@ -61,7 +61,7 @@ lua_cflags =    `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_LUASCRIPT $(PKG_CON
+ lua_libs =      `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_LUASCRIPT $(PKG_CONFIG) --libs lua5.1` 
+ nettle_cflags = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_DNSSEC $(PKG_CONFIG) --cflags nettle hogweed`
+ nettle_libs =   `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_DNSSEC $(PKG_CONFIG) --libs nettle hogweed`
+-gmp_libs =      `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_DNSSEC $(PKG_CONFIG) --copy -lgmp`
++gmp_libs =      `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_DNSSEC NO_GMP --copy -lgmp`
+ sunos_libs =    `if uname | grep SunOS >/dev/null 2>&1; then echo -lsocket -lnsl -lposix4; fi`
+ version =     -DVERSION='\"`$(top)/bld/get-version $(top)`\"'
+diff --git a/bld/pkg-wrapper b/bld/pkg-wrapper
+index 9f9332d..0ddb678 100755
+--- a/bld/pkg-wrapper
++++ b/bld/pkg-wrapper
+@@ -11,9 +11,14 @@ in=`cat`
+ if grep "^\#[[:space:]]*define[[:space:]]*$search" config.h >/dev/null 2>&1 || \
+     echo $in | grep $search >/dev/null 2>&1; then
+-
++# Nasty, nasty, in --copy, arg 2 is another config to search for, use with NO_GMP
+     if [ $op = "--copy" ]; then
+-      pkg="$*"
++      if grep "^\#[[:space:]]*define[[:space:]]*$pkg" config.h >/dev/null 2>&1 || \
++            echo $in | grep $pkg >/dev/null 2>&1; then
++          pkg=""
++      else 
++          pkg="$*"
++      fi
+     elif grep "^\#[[:space:]]*define[[:space:]]*${search}_STATIC" config.h >/dev/null 2>&1 || \
+             echo $in | grep ${search}_STATIC >/dev/null 2>&1; then
+       pkg=`$pkg  --static $op $*`
+diff --git a/src/config.h b/src/config.h
+index 2155544..ee6d218 100644
+--- a/src/config.h
++++ b/src/config.h
+@@ -105,6 +105,8 @@ HAVE_AUTH
+    define this to include the facility to act as an authoritative DNS
+    server for one or more zones.
++HAVE_DNSSEC
++   include DNSSEC validator.
+ NO_IPV6
+ NO_TFTP
+@@ -118,6 +120,11 @@ NO_AUTH
+    which are enabled  by default in the distributed source tree. Building dnsmasq
+    with something like "make COPTS=-DNO_SCRIPT" will do the trick.
++NO_NETTLE_ECC
++   Don't include the ECDSA cypher in DNSSEC validation. Needed for older Nettle versions.
++NO_GMP
++   Don't use and link against libgmp, Useful if nettle is built with --enable-mini-gmp.
++
+ LEASEFILE
+ CONFFILE
+ RESOLVFILE
+diff --git a/src/dnssec.c b/src/dnssec.c
+index 44d626b..2ffb75d 100644
+--- a/src/dnssec.c
++++ b/src/dnssec.c
+@@ -26,7 +26,8 @@
+ #  include <nettle/ecc-curve.h>
+ #endif
+ #include <nettle/nettle-meta.h>
+-#include <gmp.h>
++#include <nettle/bignum.h>
++
+ #define SERIAL_UNDEF  -100
+ #define SERIAL_EQ        0
+-- 
+1.7.10.4
+
diff --git a/src/patches/hostname-rh.patch b/src/patches/hostname-rh.patch
new file mode 100644 (file)
index 0000000..d56ae59
--- /dev/null
@@ -0,0 +1,69 @@
+diff -up hostname/Makefile.rh hostname/Makefile
+--- hostname/Makefile.rh       2013-11-04 10:12:59.670379153 +0100
++++ hostname/Makefile  2013-11-04 10:15:04.957314495 +0100
+@@ -10,21 +10,17 @@ OBJS=hostname.o
+ hostname: $(OBJS)
+       $(CC) $(CFLAGS) -o $@ $(OBJS) $(LDFLAGS) -lnsl
+-      ln -fs hostname dnsdomainname
+-      ln -fs hostname domainname
+-      ln -fs hostname ypdomainname
+-      ln -fs hostname nisdomainname
+ install: hostname
+       install -d ${BASEDIR}$(MANDIR)/man1
+-      install -o root -g root -m 0644 hostname.1 ${BASEDIR}$(MANDIR)/man1
++      install -m 0644 hostname.1 ${BASEDIR}$(MANDIR)/man1
+       ln -fs hostname.1 ${BASEDIR}$(MANDIR)/man1/dnsdomainname.1
+       ln -fs hostname.1 ${BASEDIR}$(MANDIR)/man1/domainname.1
+       ln -fs hostname.1 ${BASEDIR}$(MANDIR)/man1/ypdomainname.1
+       ln -fs hostname.1 ${BASEDIR}$(MANDIR)/man1/nisdomainname.1
+       install -d ${BASEDIR}$(BINDIR)
+-      install -o root -g root -m 0755 hostname ${BASEDIR}$(BINDIR)
++      install -m 0755 hostname ${BASEDIR}$(BINDIR)
+       ln -fs hostname ${BASEDIR}$(BINDIR)/dnsdomainname
+       ln -fs hostname ${BASEDIR}$(BINDIR)/domainname
+       ln -fs hostname ${BASEDIR}$(BINDIR)/nisdomainname
+diff -up hostname/hostname.1.rh hostname/hostname.1
+--- hostname/hostname.1.rh     2013-11-03 15:24:23.000000000 +0100
++++ hostname/hostname.1        2013-11-04 10:12:59.670379153 +0100
+@@ -80,6 +80,28 @@ complete FQDN of the system is returned
+ .B "THE FQDN"
+ below).
++.LP
++The function 
++.BR gethostname(2)
++is used to get the hostname.  When the 
++.BR "hostname \-a, \-d, \-f or \-i" 
++is called will 
++.BR gethostbyname(3)
++be called.  The difference in 
++.BR gethostname(2)
++and
++.BR gethostbyname(3)
++is that
++.BR gethostbyname(3)
++is network aware, so it consults 
++.IR /etc/nsswitch.conf
++and
++.IR /etc/host.conf
++to decide whether to read information in
++.IR /etc/hostname
++or
++.IR /etc/hosts
++
+ .SS "SET NAME"
+ When called with one argument or with the
+ .B \-\-file
+@@ -105,8 +127,7 @@ command (see
+ .B "THE FQDN"
+ below).
+ .LP
+-The host name is usually set once at system startup in
+-.I /etc/init.d/hostname.sh
++The host name is usually set once at system startup
+ (normally by reading the contents of a file which contains
+ the host name, e.g.
+ .IR /etc/hostname ).
diff --git a/src/patches/icecream-0.9.7-platform-arm.patch b/src/patches/icecream-0.9.7-platform-arm.patch
deleted file mode 100644 (file)
index 53402f0..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-Index: services/scheduler.cpp
-===================================================================
---- services/scheduler.cpp     (revision 1310078)
-+++ services/scheduler.cpp     (working copy)
-@@ -52,7 +52,7 @@
- #include "config.h"
- #include "bench.h"
--#define DEBUG_SCHEDULER 0
-+#define DEBUG_SCHEDULER 1
- /* TODO:
-    * leak check
-@@ -613,6 +613,8 @@
-       platform_map.insert( make_pair( string( "ppc" ), string( "ppc64" ) ) );
-       platform_map.insert( make_pair( string( "s390" ), string( "s390x" ) ) );
-+
-+      platform_map.insert( make_pair( string( "armv5tel"), string( "armv7l" ) ) );
-     }
-   multimap<string, string>::const_iterator end = platform_map.upper_bound( target );
diff --git a/src/patches/icecream-rename-scheduler.patch b/src/patches/icecream-rename-scheduler.patch
deleted file mode 100644 (file)
index 5de7738..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-Index: icecc-0.9.6/doc/man-scheduler.1.docbook
-===================================================================
---- icecc-0.9.6.orig/doc/man-scheduler.1.docbook
-+++ icecc-0.9.6/doc/man-scheduler.1.docbook
-@@ -23,13 +23,13 @@
- </refmeta>
- <refnamediv>
--      <refname>scheduler</refname>
-+      <refname>icecc-scheduler</refname>
-       <refpurpose>Icecream scheduler</refpurpose>
- </refnamediv>
- <refsynopsisdiv>
- <cmdsynopsis>
--<command>scheduler</command>
-+<command>icecc-scheduler</command>
- <group>
-   <arg choice="opt">
-     <option>-n</option>
-@@ -151,7 +151,7 @@ need to run the scheduler with root righ
- <refsect1>
- <title>See Also</title>
--<para>icecream, scheduler, iceccd, icemon</para>
-+<para>icecream, icecc-scheduler, iceccd, icemon</para>
- </refsect1>
- <refsect1>
-Index: icecc-0.9.6/services/Makefile.am
-===================================================================
---- icecc-0.9.6.orig/services/Makefile.am
-+++ icecc-0.9.6/services/Makefile.am
-@@ -11,9 +11,9 @@ ice_HEADERS = job.h comm.h
- noinst_HEADERS = bench.h exitcode.h getifaddrs.h logging.h tempfile.h platform.h
- icedir = $(includedir)/icecc
--sbin_PROGRAMS = scheduler
--scheduler_SOURCES = scheduler.cpp
--scheduler_LDADD = libicecc.la
-+sbin_PROGRAMS = icecc-scheduler
-+icecc_scheduler_SOURCES = scheduler.cpp
-+icecc_scheduler_LDADD = libicecc.la
- pkgconfigdir = $(libdir)/pkgconfig
- pkgconfig_DATA = icecc.pc
-Index: icecc-0.9.6/services/Makefile.in
-===================================================================
---- icecc-0.9.6.orig/services/Makefile.in
-+++ icecc-0.9.6/services/Makefile.in
-@@ -37,7 +37,7 @@ PRE_UNINSTALL = :
- POST_UNINSTALL = :
- build_triplet = @build@
- host_triplet = @host@
--sbin_PROGRAMS = scheduler$(EXEEXT)
-+sbin_PROGRAMS = icecc-scheduler$(EXEEXT)
- subdir = services
- DIST_COMMON = $(ice_HEADERS) $(noinst_HEADERS) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in $(srcdir)/icecc.pc.in
-@@ -82,9 +82,9 @@ libicecc_la_LINK = $(LIBTOOL) --tag=CXX 
-       $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(libicecc_la_CXXFLAGS) \
-       $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
- PROGRAMS = $(sbin_PROGRAMS)
--am_scheduler_OBJECTS = scheduler.$(OBJEXT)
--scheduler_OBJECTS = $(am_scheduler_OBJECTS)
--scheduler_DEPENDENCIES = libicecc.la
-+am_icecc_scheduler_OBJECTS = scheduler.$(OBJEXT)
-+icecc_scheduler_OBJECTS = $(am_icecc_scheduler_OBJECTS)
-+icecc_scheduler_DEPENDENCIES = libicecc.la
- DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
- depcomp = $(SHELL) $(top_srcdir)/depcomp
- am__depfiles_maybe = depfiles
-@@ -107,8 +107,8 @@ CXXLD = $(CXX)
- CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-       --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-       $(LDFLAGS) -o $@
--SOURCES = $(libicecc_la_SOURCES) $(scheduler_SOURCES)
--DIST_SOURCES = $(libicecc_la_SOURCES) $(scheduler_SOURCES)
-+SOURCES = $(libicecc_la_SOURCES) $(icecc_scheduler_SOURCES)
-+DIST_SOURCES = $(libicecc_la_SOURCES) $(icecc_scheduler_SOURCES)
- DATA = $(pkgconfig_DATA)
- HEADERS = $(ice_HEADERS) $(noinst_HEADERS)
- ETAGS = etags
-@@ -242,8 +242,8 @@ libicecc_la_CXXFLAGS = -fPIC -DPIC
- ice_HEADERS = job.h comm.h
- noinst_HEADERS = bench.h exitcode.h getifaddrs.h logging.h tempfile.h platform.h
- icedir = $(includedir)/icecc
--scheduler_SOURCES = scheduler.cpp
--scheduler_LDADD = libicecc.la
-+icecc_scheduler_SOURCES = scheduler.cpp
-+icecc_scheduler_LDADD = libicecc.la
- pkgconfigdir = $(libdir)/pkgconfig
- pkgconfig_DATA = icecc.pc
- all: all-am
-@@ -358,9 +358,9 @@ clean-sbinPROGRAMS:
-       list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
-       echo " rm -f" $$list; \
-       rm -f $$list
--scheduler$(EXEEXT): $(scheduler_OBJECTS) $(scheduler_DEPENDENCIES) 
--      @rm -f scheduler$(EXEEXT)
--      $(CXXLINK) $(scheduler_OBJECTS) $(scheduler_LDADD) $(LIBS)
-+icecc-scheduler$(EXEEXT): $(icecc_scheduler_OBJECTS) $(icecc_scheduler_DEPENDENCIES) 
-+      @rm -f icecc-scheduler$(EXEEXT)
-+      $(CXXLINK) $(icecc_scheduler_OBJECTS) $(icecc_scheduler_LDADD) $(LIBS)
- mostlyclean-compile:
-       -rm -f *.$(OBJEXT)
diff --git a/src/patches/inetutils-1.4.2-daemon_fixes-1.patch b/src/patches/inetutils-1.4.2-daemon_fixes-1.patch
deleted file mode 100644 (file)
index c57f9ae..0000000
+++ /dev/null
@@ -1,166 +0,0 @@
-Submitted By:            Randy McMurchy <randy_at_linuxfromscratch_dot_org>
-Date:                    2005-03-23
-Initial Package Version: 1.4.2
-Upstream Status:         Not sure
-Origin:                  Internet (URL's are now lost)
-Description:             Fix the rexecd daemon so that it understands shadow
-                         passwords. Fix the rshd daemon so that it properly
-                         resolves hostnames.
-
-diff -Naur inetutils-1.4.2-orig/rexecd/rexecd.c inetutils-1.4.2/rexecd/rexecd.c
---- inetutils-1.4.2-orig/rexecd/rexecd.c       2002-12-11 12:38:00.000000000 +0000
-+++ inetutils-1.4.2/rexecd/rexecd.c    2005-02-22 19:53:44.146962264 +0000
-@@ -79,6 +79,10 @@
- #include <varargs.h>
- #endif
-+#ifdef HAVE_SHADOW_H
-+#include <shadow.h>
-+#endif
-+
- void error __P ((const char *fmt, ...));
- /*
-  * remote execute server:
-@@ -127,6 +131,10 @@
-       char *cmdbuf, *cp, *namep;
-       char *user, *pass;
-       struct passwd *pwd;
-+#ifdef HAVE_SHADOW_H
-+      struct spwd *spwd;
-+      char *pw_field;
-+#endif
-       int s;
-       u_short port;
-       int pv[2], pid, cc;
-@@ -186,6 +194,24 @@
-               exit(1);
-       }
-       endpwent();
-+
-+#ifdef HAVE_SHADOW_H
-+      // Get encrypted password from /etc/shadow if possible,
-+      // else from /etc/passwd.
-+      spwd = getspnam(user);
-+      if (spwd) {
-+              pw_field = spwd->sp_pwdp;
-+      } else {
-+              pw_field = pwd->pw_passwd;
-+      }
-+      if (*pw_field != '\0') {
-+              namep = CRYPT (pass, pw_field);
-+              if (strcmp(namep, pw_field)) {
-+                      error("Password incorrect.\n");
-+                      exit(1);
-+              }
-+      }
-+#else
-       if (*pwd->pw_passwd != '\0') {
-               namep = CRYPT (pass, pwd->pw_passwd);
-               if (strcmp(namep, pwd->pw_passwd)) {
-@@ -193,6 +219,7 @@
-                       exit(1);
-               }
-       }
-+#endif
-       write(STDERR_FILENO, "\0", 1);
-       if (port) {
-               pipe(pv);
-diff -Naur inetutils-1.4.2-orig/rshd/rshd.c inetutils-1.4.2/rshd/rshd.c
---- inetutils-1.4.2-orig/rshd/rshd.c   2002-12-11 12:38:00.000000000 +0000
-+++ inetutils-1.4.2/rshd/rshd.c        2005-02-22 19:54:33.162510768 +0000
-@@ -443,7 +443,7 @@
-       dup2 (sockfd, STDERR_FILENO);
-     }
--  /* Get the "name" of the clent form its Internet address.
-+  /* Get the "name" of the client form its Internet address.
-    * This is used for the autentication below
-    */
-   errorstr = NULL;
-@@ -457,52 +457,49 @@
-        * in a remote net; look up the name and check that this
-        * address corresponds to the name.
-        */
--      hostname = strdup (hp->h_name);
-+      const char *remotehost = strdup(hp->h_name);
- #ifdef        KERBEROS
-       if (!use_kerberos)
- #endif
--      if (check_all || local_domain (hp->h_name))
-+       if (! remotehost)
-+           errorstr = "Out of memory\n";
-+       else if (check_all || local_domain (remotehost))
-         {
--          char *remotehost = (char *) alloca (strlen (hp->h_name) + 1);
--          if (! remotehost)
--            errorstr = "Out of memory\n";
--          else
-+           errorhost = remotehost;
-+           hp = gethostbyname (remotehost);
-+           if (hp == NULL)
-             {
--              strcpy (remotehost, hp->h_name);
--              errorhost = remotehost;
--              hp = gethostbyname (remotehost);
--              if (hp == NULL)
-+               syslog (LOG_INFO,
-+                       "Couldn't look up address for %s", remotehost);
-+                       errorstr = "Couldn't look up address for your host (%s)\n";
-+                       hostname = strdup(inet_ntoa(fromp->sin_addr));
-+             }
-+           else
-+              {
-+               for (; ; hp->h_addr_list++)
-                 {
--                  syslog (LOG_INFO,
--                          "Couldn't look up address for %s", remotehost);
--                  errorstr = "Couldn't look up address for your host (%s)\n";
--                  hostname = inet_ntoa (fromp->sin_addr);
-+                   if (hp->h_addr_list[0] == NULL)
-+                     {
-+                       syslog (LOG_NOTICE,
-+                               "Host addr %s not listed for host %s",
-+                               inet_ntoa (fromp->sin_addr), hp->h_name);
-+                       errorstr = "Host address mismatch for %s\n";
-+                       hostname = strdup(inet_ntoa(fromp->sin_addr));
-+                       break;
-+                     }
-+                   if (!memcmp (hp->h_addr_list[0],
-+                               (caddr_t)&fromp->sin_addr,
-+                               sizeof fromp->sin_addr))
-+                     {
-+                       hostname = strdup(hp->h_name);
-+                       break; /* equal, OK */
-+                     }
-                 }
--              else
--                for (; ; hp->h_addr_list++)
--                  {
--                    if (hp->h_addr_list[0] == NULL)
--                      {
--                        syslog (LOG_NOTICE,
--                                "Host addr %s not listed for host %s",
--                                inet_ntoa (fromp->sin_addr), hp->h_name);
--                        errorstr = "Host address mismatch for %s\n";
--                        hostname = inet_ntoa (fromp->sin_addr);
--                        break;
--                      }
--                    if (!memcmp (hp->h_addr_list[0],
--                                 (caddr_t)&fromp->sin_addr,
--                                 sizeof fromp->sin_addr))
--                      {
--                        hostname = hp->h_name;
--                        break; /* equal, OK */
--                      }
--                  }
--            }
-+              }
-         }
-     }
-   else
--    errorhost = hostname = inet_ntoa (fromp->sin_addr);
-+    errorhost = hostname = strdup(inet_ntoa(fromp->sin_addr));
- #ifdef        KERBEROS
-   if (use_kerberos)
-
diff --git a/src/patches/inetutils-1.4.2-gcc4_fixes-3.patch b/src/patches/inetutils-1.4.2-gcc4_fixes-3.patch
deleted file mode 100644 (file)
index fd7d847..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-Submitted By: Matthew Burgess <matthew@linuxfromscratch.org>
-Date: 2005-08-30
-Initial Package Version: 1.4.2
-Upstream Status: From upstream
-Origin: Greg Schafer <gschafer@zip.com.au> (http://www.diy-linux.org/downloads/patches/GCC4/inetutils-1.4.2-gcc4-fixes-1.patch)
-Description: Fix compilation issues with gcc4
-
-diff -Naur inetutils-1.4.2.orig/ftp/ftp_var.h inetutils-1.4.2/ftp/ftp_var.h
---- inetutils-1.4.2.orig/ftp/ftp_var.h 2000-07-08 01:00:53.000000000 +0000
-+++ inetutils-1.4.2/ftp/ftp_var.h      2005-08-30 20:25:27.205932304 +0000
-@@ -36,8 +36,6 @@
- #include <sys/param.h>
- #include <setjmp.h>
--#include "extern.h"
--
- #ifndef FTP_EXTERN
- #define FTP_EXTERN extern
- #endif
-@@ -129,3 +127,5 @@
- FTP_EXTERN int macnum;                        /* number of defined macros */
- FTP_EXTERN struct macel macros[16];
- FTP_EXTERN char macbuf[4096];
-+
-+#include "extern.h"
-diff -Naur inetutils-1.4.2.orig/libinetutils/ttymsg.c inetutils-1.4.2/libinetutils/ttymsg.c
---- inetutils-1.4.2.orig/libinetutils/ttymsg.c 2001-11-01 15:52:19.000000000 +0000
-+++ inetutils-1.4.2/libinetutils/ttymsg.c      2005-08-30 20:24:27.168059448 +0000
-@@ -132,7 +132,7 @@
-           }
-         if (wret)
-           {
--            (char *)iov->iov_base += wret;
-+            iov->iov_base = (char *)iov->iov_base + wret;
-             iov->iov_len -= wret;
-           }
-         continue;
diff --git a/src/patches/linux-3.10.39-pie_packet_sch.patch b/src/patches/linux-3.10.39-pie_packet_sch.patch
new file mode 100644 (file)
index 0000000..6bec374
--- /dev/null
@@ -0,0 +1,674 @@
+From d4b36210c2e6ecef0ce52fb6c18c51144f5c2d88 Mon Sep 17 00:00:00 2001
+From: Vijay Subramanian <vijaynsu@cisco.com>
+Date: Sat, 4 Jan 2014 17:33:55 -0800
+Subject: net: pkt_sched: PIE AQM scheme
+
+Proportional Integral controller Enhanced (PIE) is a scheduler to address the
+bufferbloat problem.
+
+>From the IETF draft below:
+" Bufferbloat is a phenomenon where excess buffers in the network cause high
+latency and jitter. As more and more interactive applications (e.g. voice over
+IP, real time video streaming and financial transactions) run in the Internet,
+high latency and jitter degrade application performance. There is a pressing
+need to design intelligent queue management schemes that can control latency and
+jitter; and hence provide desirable quality of service to users.
+
+We present here a lightweight design, PIE(Proportional Integral controller
+Enhanced) that can effectively control the average queueing latency to a target
+value. Simulation results, theoretical analysis and Linux testbed results have
+shown that PIE can ensure low latency and achieve high link utilization under
+various congestion situations. The design does not require per-packet
+timestamp, so it incurs very small overhead and is simple enough to implement
+in both hardware and software.  "
+
+Many thanks to Dave Taht for extensive feedback, reviews, testing and
+suggestions. Thanks also to Stephen Hemminger and Eric Dumazet for reviews and
+suggestions.  Naeem Khademi and Dave Taht independently contributed to ECN
+support.
+
+For more information, please see technical paper about PIE in the IEEE
+Conference on High Performance Switching and Routing 2013. A copy of the paper
+can be found at ftp://ftpeng.cisco.com/pie/.
+
+Please also refer to the IETF draft submission at
+http://tools.ietf.org/html/draft-pan-tsvwg-pie-00
+
+All relevant code, documents and test scripts and results can be found at
+ftp://ftpeng.cisco.com/pie/.
+
+For problems with the iproute2/tc or Linux kernel code, please contact Vijay
+Subramanian (vijaynsu@cisco.com or subramanian.vijay@gmail.com) Mythili Prabhu
+(mysuryan@cisco.com)
+
+Signed-off-by: Vijay Subramanian <subramanian.vijay@gmail.com>
+Signed-off-by: Mythili Prabhu <mysuryan@cisco.com>
+CC: Dave Taht <dave.taht@bufferbloat.net>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+
+diff -Naur linux-3.10.39.org/include/uapi/linux/pkt_sched.h linux-3.10.39/include/uapi/linux/pkt_sched.h
+--- linux-3.10.39.org/include/uapi/linux/pkt_sched.h   2014-05-06 16:56:24.000000000 +0200
++++ linux-3.10.39/include/uapi/linux/pkt_sched.h       2014-05-15 10:33:08.296828477 +0200
+@@ -744,4 +744,29 @@
+       };
+ };
++/* PIE */
++enum {
++      TCA_PIE_UNSPEC,
++      TCA_PIE_TARGET,
++      TCA_PIE_LIMIT,
++      TCA_PIE_TUPDATE,
++      TCA_PIE_ALPHA,
++      TCA_PIE_BETA,
++      TCA_PIE_ECN,
++      TCA_PIE_BYTEMODE,
++      __TCA_PIE_MAX
++};
++#define TCA_PIE_MAX   (__TCA_PIE_MAX - 1)
++
++struct tc_pie_xstats {
++      __u32 prob;             /* current probability */
++      __u32 delay;            /* current delay in ms */
++      __u32 avg_dq_rate;      /* current average dq_rate in bits/pie_time */
++      __u32 packets_in;       /* total number of packets enqueued */
++      __u32 dropped;          /* packets dropped due to pie_action */
++      __u32 overlimit;        /* dropped due to lack of space in queue */
++      __u32 maxq;             /* maximum queue size */
++      __u32 ecn_mark;         /* packets marked with ecn*/
++};
++
+ #endif
+diff -Naur linux-3.10.39.org/net/sched/Kconfig linux-3.10.39/net/sched/Kconfig
+--- linux-3.10.39.org/net/sched/Kconfig        2014-05-06 16:56:24.000000000 +0200
++++ linux-3.10.39/net/sched/Kconfig    2014-05-15 09:30:29.866632326 +0200
+@@ -272,6 +272,19 @@
+         If unsure, say N.
++config NET_SCH_PIE
++      tristate "Proportional Integral controller Enhanced (PIE) scheduler"
++      help
++        Say Y here if you want to use the Proportional Integral controller
++        Enhanced scheduler packet scheduling algorithm.
++        For more information, please see
++        http://tools.ietf.org/html/draft-pan-tsvwg-pie-00
++
++        To compile this driver as a module, choose M here: the module
++        will be called sch_pie.
++
++        If unsure, say N.
++
+ config NET_SCH_INGRESS
+       tristate "Ingress Qdisc"
+       depends on NET_CLS_ACT
+diff -Naur linux-3.10.39.org/net/sched/Makefile linux-3.10.39/net/sched/Makefile
+--- linux-3.10.39.org/net/sched/Makefile       2014-05-06 16:56:24.000000000 +0200
++++ linux-3.10.39/net/sched/Makefile   2014-05-15 10:34:55.533502406 +0200
+@@ -39,6 +39,7 @@
+ obj-$(CONFIG_NET_SCH_QFQ)     += sch_qfq.o
+ obj-$(CONFIG_NET_SCH_CODEL)   += sch_codel.o
+ obj-$(CONFIG_NET_SCH_FQ_CODEL)        += sch_fq_codel.o
++obj-$(CONFIG_NET_SCH_PIE)     += sch_pie.o
+ obj-$(CONFIG_NET_CLS_U32)     += cls_u32.o
+ obj-$(CONFIG_NET_CLS_ROUTE4)  += cls_route.o
+diff -Naur linux-3.10.39.org/net/sched/sch_pie.c linux-3.10.39/net/sched/sch_pie.c
+--- linux-3.10.39.org/net/sched/sch_pie.c      1970-01-01 01:00:00.000000000 +0100
++++ linux-3.10.39/net/sched/sch_pie.c  2014-05-15 09:30:29.869966724 +0200
+@@ -0,0 +1,555 @@
++/* Copyright (C) 2013 Cisco Systems, Inc, 2013.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License
++ * as published by the Free Software Foundation; either version 2
++ * of the License.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU General Public License for more details.
++ *
++ * Author: Vijay Subramanian <vijaynsu@cisco.com>
++ * Author: Mythili Prabhu <mysuryan@cisco.com>
++ *
++ * ECN support is added by Naeem Khademi <naeemk@ifi.uio.no>
++ * University of Oslo, Norway.
++ */
++
++#include <linux/module.h>
++#include <linux/slab.h>
++#include <linux/types.h>
++#include <linux/kernel.h>
++#include <linux/errno.h>
++#include <linux/skbuff.h>
++#include <net/pkt_sched.h>
++#include <net/inet_ecn.h>
++
++#define QUEUE_THRESHOLD 10000
++#define DQCOUNT_INVALID -1
++#define MAX_PROB  0xffffffff
++#define PIE_SCALE 8
++
++/* parameters used */
++struct pie_params {
++      psched_time_t target;   /* user specified target delay in pschedtime */
++      u32 tupdate;            /* timer frequency (in jiffies) */
++      u32 limit;              /* number of packets that can be enqueued */
++      u32 alpha;              /* alpha and beta are between -4 and 4 */
++      u32 beta;               /* and are used for shift relative to 1 */
++      bool ecn;               /* true if ecn is enabled */
++      bool bytemode;          /* to scale drop early prob based on pkt size */
++};
++
++/* variables used */
++struct pie_vars {
++      u32 prob;               /* probability but scaled by u32 limit. */
++      psched_time_t burst_time;
++      psched_time_t qdelay;
++      psched_time_t qdelay_old;
++      u64 dq_count;           /* measured in bytes */
++      psched_time_t dq_tstamp;        /* drain rate */
++      u32 avg_dq_rate;        /* bytes per pschedtime tick,scaled */
++      u32 qlen_old;           /* in bytes */
++};
++
++/* statistics gathering */
++struct pie_stats {
++      u32 packets_in;         /* total number of packets enqueued */
++      u32 dropped;            /* packets dropped due to pie_action */
++      u32 overlimit;          /* dropped due to lack of space in queue */
++      u32 maxq;               /* maximum queue size */
++      u32 ecn_mark;           /* packets marked with ECN */
++};
++
++/* private data for the Qdisc */
++struct pie_sched_data {
++      struct pie_params params;
++      struct pie_vars vars;
++      struct pie_stats stats;
++      struct timer_list adapt_timer;
++};
++
++static void pie_params_init(struct pie_params *params)
++{
++      params->alpha = 2;
++      params->beta = 20;
++      params->tupdate = usecs_to_jiffies(30 * USEC_PER_MSEC); /* 30 ms */
++      params->limit = 1000;   /* default of 1000 packets */
++      params->target = PSCHED_NS2TICKS(20 * NSEC_PER_MSEC);   /* 20 ms */
++      params->ecn = false;
++      params->bytemode = false;
++}
++
++static void pie_vars_init(struct pie_vars *vars)
++{
++      vars->dq_count = DQCOUNT_INVALID;
++      vars->avg_dq_rate = 0;
++      /* default of 100 ms in pschedtime */
++      vars->burst_time = PSCHED_NS2TICKS(100 * NSEC_PER_MSEC);
++}
++
++static bool drop_early(struct Qdisc *sch, u32 packet_size)
++{
++      struct pie_sched_data *q = qdisc_priv(sch);
++      u32 rnd;
++      u32 local_prob = q->vars.prob;
++      u32 mtu = psched_mtu(qdisc_dev(sch));
++
++      /* If there is still burst allowance left skip random early drop */
++      if (q->vars.burst_time > 0)
++              return false;
++
++      /* If current delay is less than half of target, and
++       * if drop prob is low already, disable early_drop
++       */
++      if ((q->vars.qdelay < q->params.target / 2)
++          && (q->vars.prob < MAX_PROB / 5))
++              return false;
++
++      /* If we have fewer than 2 mtu-sized packets, disable drop_early,
++       * similar to min_th in RED
++       */
++      if (sch->qstats.backlog < 2 * mtu)
++              return false;
++
++      /* If bytemode is turned on, use packet size to compute new
++       * probablity. Smaller packets will have lower drop prob in this case
++       */
++      if (q->params.bytemode && packet_size <= mtu)
++              local_prob = (local_prob / mtu) * packet_size;
++      else
++              local_prob = q->vars.prob;
++
++      rnd = net_random();
++      if (rnd < local_prob)
++              return true;
++
++      return false;
++}
++
++static int pie_qdisc_enqueue(struct sk_buff *skb, struct Qdisc *sch)
++{
++      struct pie_sched_data *q = qdisc_priv(sch);
++      bool enqueue = false;
++
++      if (unlikely(qdisc_qlen(sch) >= sch->limit)) {
++              q->stats.overlimit++;
++              goto out;
++      }
++
++      if (!drop_early(sch, skb->len)) {
++              enqueue = true;
++      } else if (q->params.ecn && (q->vars.prob <= MAX_PROB / 10) &&
++                 INET_ECN_set_ce(skb)) {
++              /* If packet is ecn capable, mark it if drop probability
++               * is lower than 10%, else drop it.
++               */
++              q->stats.ecn_mark++;
++              enqueue = true;
++      }
++
++      /* we can enqueue the packet */
++      if (enqueue) {
++              q->stats.packets_in++;
++              if (qdisc_qlen(sch) > q->stats.maxq)
++                      q->stats.maxq = qdisc_qlen(sch);
++
++              return qdisc_enqueue_tail(skb, sch);
++      }
++
++out:
++      q->stats.dropped++;
++      return qdisc_drop(skb, sch);
++}
++
++static const struct nla_policy pie_policy[TCA_PIE_MAX + 1] = {
++      [TCA_PIE_TARGET] = {.type = NLA_U32},
++      [TCA_PIE_LIMIT] = {.type = NLA_U32},
++      [TCA_PIE_TUPDATE] = {.type = NLA_U32},
++      [TCA_PIE_ALPHA] = {.type = NLA_U32},
++      [TCA_PIE_BETA] = {.type = NLA_U32},
++      [TCA_PIE_ECN] = {.type = NLA_U32},
++      [TCA_PIE_BYTEMODE] = {.type = NLA_U32},
++};
++
++static int pie_change(struct Qdisc *sch, struct nlattr *opt)
++{
++      struct pie_sched_data *q = qdisc_priv(sch);
++      struct nlattr *tb[TCA_PIE_MAX + 1];
++      unsigned int qlen;
++      int err;
++
++      if (!opt)
++              return -EINVAL;
++
++      err = nla_parse_nested(tb, TCA_PIE_MAX, opt, pie_policy);
++      if (err < 0)
++              return err;
++
++      sch_tree_lock(sch);
++
++      /* convert from microseconds to pschedtime */
++      if (tb[TCA_PIE_TARGET]) {
++              /* target is in us */
++              u32 target = nla_get_u32(tb[TCA_PIE_TARGET]);
++
++              /* convert to pschedtime */
++              q->params.target = PSCHED_NS2TICKS((u64)target * NSEC_PER_USEC);
++      }
++
++      /* tupdate is in jiffies */
++      if (tb[TCA_PIE_TUPDATE])
++              q->params.tupdate = usecs_to_jiffies(nla_get_u32(tb[TCA_PIE_TUPDATE]));
++
++      if (tb[TCA_PIE_LIMIT]) {
++              u32 limit = nla_get_u32(tb[TCA_PIE_LIMIT]);
++
++              q->params.limit = limit;
++              sch->limit = limit;
++      }
++
++      if (tb[TCA_PIE_ALPHA])
++              q->params.alpha = nla_get_u32(tb[TCA_PIE_ALPHA]);
++
++      if (tb[TCA_PIE_BETA])
++              q->params.beta = nla_get_u32(tb[TCA_PIE_BETA]);
++
++      if (tb[TCA_PIE_ECN])
++              q->params.ecn = nla_get_u32(tb[TCA_PIE_ECN]);
++
++      if (tb[TCA_PIE_BYTEMODE])
++              q->params.bytemode = nla_get_u32(tb[TCA_PIE_BYTEMODE]);
++
++      /* Drop excess packets if new limit is lower */
++      qlen = sch->q.qlen;
++      while (sch->q.qlen > sch->limit) {
++              struct sk_buff *skb = __skb_dequeue(&sch->q);
++
++              sch->qstats.backlog -= qdisc_pkt_len(skb);
++              qdisc_drop(skb, sch);
++      }
++      qdisc_tree_decrease_qlen(sch, qlen - sch->q.qlen);
++
++      sch_tree_unlock(sch);
++      return 0;
++}
++
++static void pie_process_dequeue(struct Qdisc *sch, struct sk_buff *skb)
++{
++
++      struct pie_sched_data *q = qdisc_priv(sch);
++      int qlen = sch->qstats.backlog; /* current queue size in bytes */
++
++      /* If current queue is about 10 packets or more and dq_count is unset
++       * we have enough packets to calculate the drain rate. Save
++       * current time as dq_tstamp and start measurement cycle.
++       */
++      if (qlen >= QUEUE_THRESHOLD && q->vars.dq_count == DQCOUNT_INVALID) {
++              q->vars.dq_tstamp = psched_get_time();
++              q->vars.dq_count = 0;
++      }
++
++      /* Calculate the average drain rate from this value.  If queue length
++       * has receded to a small value viz., <= QUEUE_THRESHOLD bytes,reset
++       * the dq_count to -1 as we don't have enough packets to calculate the
++       * drain rate anymore The following if block is entered only when we
++       * have a substantial queue built up (QUEUE_THRESHOLD bytes or more)
++       * and we calculate the drain rate for the threshold here.  dq_count is
++       * in bytes, time difference in psched_time, hence rate is in
++       * bytes/psched_time.
++       */
++      if (q->vars.dq_count != DQCOUNT_INVALID) {
++              q->vars.dq_count += skb->len;
++
++              if (q->vars.dq_count >= QUEUE_THRESHOLD) {
++                      psched_time_t now = psched_get_time();
++                      u32 dtime = now - q->vars.dq_tstamp;
++                      u32 count = q->vars.dq_count << PIE_SCALE;
++
++                      if (dtime == 0)
++                              return;
++
++                      count = count / dtime;
++
++                      if (q->vars.avg_dq_rate == 0)
++                              q->vars.avg_dq_rate = count;
++                      else
++                              q->vars.avg_dq_rate =
++                                  (q->vars.avg_dq_rate -
++                                   (q->vars.avg_dq_rate >> 3)) + (count >> 3);
++
++                      /* If the queue has receded below the threshold, we hold
++                       * on to the last drain rate calculated, else we reset
++                       * dq_count to 0 to re-enter the if block when the next
++                       * packet is dequeued
++                       */
++                      if (qlen < QUEUE_THRESHOLD)
++                              q->vars.dq_count = DQCOUNT_INVALID;
++                      else {
++                              q->vars.dq_count = 0;
++                              q->vars.dq_tstamp = psched_get_time();
++                      }
++
++                      if (q->vars.burst_time > 0) {
++                              if (q->vars.burst_time > dtime)
++                                      q->vars.burst_time -= dtime;
++                              else
++                                      q->vars.burst_time = 0;
++                      }
++              }
++      }
++}
++
++static void calculate_probability(struct Qdisc *sch)
++{
++      struct pie_sched_data *q = qdisc_priv(sch);
++      u32 qlen = sch->qstats.backlog; /* queue size in bytes */
++      psched_time_t qdelay = 0;       /* in pschedtime */
++      psched_time_t qdelay_old = q->vars.qdelay;      /* in pschedtime */
++      s32 delta = 0;          /* determines the change in probability */
++      u32 oldprob;
++      u32 alpha, beta;
++      bool update_prob = true;
++
++      q->vars.qdelay_old = q->vars.qdelay;
++
++      if (q->vars.avg_dq_rate > 0)
++              qdelay = (qlen << PIE_SCALE) / q->vars.avg_dq_rate;
++      else
++              qdelay = 0;
++
++      /* If qdelay is zero and qlen is not, it means qlen is very small, less
++       * than dequeue_rate, so we do not update probabilty in this round
++       */
++      if (qdelay == 0 && qlen != 0)
++              update_prob = false;
++
++      /* Add ranges for alpha and beta, more aggressive for high dropping
++       * mode and gentle steps for light dropping mode
++       * In light dropping mode, take gentle steps; in medium dropping mode,
++       * take medium steps; in high dropping mode, take big steps.
++       */
++      if (q->vars.prob < MAX_PROB / 100) {
++              alpha =
++                  (q->params.alpha * (MAX_PROB / PSCHED_TICKS_PER_SEC)) >> 7;
++              beta =
++                  (q->params.beta * (MAX_PROB / PSCHED_TICKS_PER_SEC)) >> 7;
++      } else if (q->vars.prob < MAX_PROB / 10) {
++              alpha =
++                  (q->params.alpha * (MAX_PROB / PSCHED_TICKS_PER_SEC)) >> 5;
++              beta =
++                  (q->params.beta * (MAX_PROB / PSCHED_TICKS_PER_SEC)) >> 5;
++      } else {
++              alpha =
++                  (q->params.alpha * (MAX_PROB / PSCHED_TICKS_PER_SEC)) >> 4;
++              beta =
++                  (q->params.beta * (MAX_PROB / PSCHED_TICKS_PER_SEC)) >> 4;
++      }
++
++      /* alpha and beta should be between 0 and 32, in multiples of 1/16 */
++      delta += alpha * ((qdelay - q->params.target));
++      delta += beta * ((qdelay - qdelay_old));
++
++      oldprob = q->vars.prob;
++
++      /* to ensure we increase probability in steps of no more than 2% */
++      if (delta > (s32) (MAX_PROB / (100 / 2)) &&
++          q->vars.prob >= MAX_PROB / 10)
++              delta = (MAX_PROB / 100) * 2;
++
++      /* Non-linear drop:
++       * Tune drop probability to increase quickly for high delays(>= 250ms)
++       * 250ms is derived through experiments and provides error protection
++       */
++
++      if (qdelay > (PSCHED_NS2TICKS(250 * NSEC_PER_MSEC)))
++              delta += MAX_PROB / (100 / 2);
++
++      q->vars.prob += delta;
++
++      if (delta > 0) {
++              /* prevent overflow */
++              if (q->vars.prob < oldprob) {
++                      q->vars.prob = MAX_PROB;
++                      /* Prevent normalization error. If probability is at
++                       * maximum value already, we normalize it here, and
++                       * skip the check to do a non-linear drop in the next
++                       * section.
++                       */
++                      update_prob = false;
++              }
++      } else {
++              /* prevent underflow */
++              if (q->vars.prob > oldprob)
++                      q->vars.prob = 0;
++      }
++
++      /* Non-linear drop in probability: Reduce drop probability quickly if
++       * delay is 0 for 2 consecutive Tupdate periods.
++       */
++
++      if ((qdelay == 0) && (qdelay_old == 0) && update_prob)
++              q->vars.prob = (q->vars.prob * 98) / 100;
++
++      q->vars.qdelay = qdelay;
++      q->vars.qlen_old = qlen;
++
++      /* We restart the measurement cycle if the following conditions are met
++       * 1. If the delay has been low for 2 consecutive Tupdate periods
++       * 2. Calculated drop probability is zero
++       * 3. We have atleast one estimate for the avg_dq_rate ie.,
++       *    is a non-zero value
++       */
++      if ((q->vars.qdelay < q->params.target / 2) &&
++          (q->vars.qdelay_old < q->params.target / 2) &&
++          (q->vars.prob == 0) &&
++          (q->vars.avg_dq_rate > 0))
++              pie_vars_init(&q->vars);
++}
++
++static void pie_timer(unsigned long arg)
++{
++      struct Qdisc *sch = (struct Qdisc *)arg;
++      struct pie_sched_data *q = qdisc_priv(sch);
++      spinlock_t *root_lock = qdisc_lock(qdisc_root_sleeping(sch));
++
++      spin_lock(root_lock);
++      calculate_probability(sch);
++
++      /* reset the timer to fire after 'tupdate'. tupdate is in jiffies. */
++      if (q->params.tupdate)
++              mod_timer(&q->adapt_timer, jiffies + q->params.tupdate);
++      spin_unlock(root_lock);
++
++}
++
++static int pie_init(struct Qdisc *sch, struct nlattr *opt)
++{
++      struct pie_sched_data *q = qdisc_priv(sch);
++
++      pie_params_init(&q->params);
++      pie_vars_init(&q->vars);
++      sch->limit = q->params.limit;
++
++      setup_timer(&q->adapt_timer, pie_timer, (unsigned long)sch);
++      mod_timer(&q->adapt_timer, jiffies + HZ / 2);
++
++      if (opt) {
++              int err = pie_change(sch, opt);
++
++              if (err)
++                      return err;
++      }
++
++      return 0;
++}
++
++static int pie_dump(struct Qdisc *sch, struct sk_buff *skb)
++{
++      struct pie_sched_data *q = qdisc_priv(sch);
++      struct nlattr *opts;
++
++      opts = nla_nest_start(skb, TCA_OPTIONS);
++      if (opts == NULL)
++              goto nla_put_failure;
++
++      /* convert target from pschedtime to us */
++      if (nla_put_u32(skb, TCA_PIE_TARGET,
++                      ((u32) PSCHED_TICKS2NS(q->params.target)) /
++                      NSEC_PER_USEC) ||
++          nla_put_u32(skb, TCA_PIE_LIMIT, sch->limit) ||
++          nla_put_u32(skb, TCA_PIE_TUPDATE, jiffies_to_usecs(q->params.tupdate)) ||
++          nla_put_u32(skb, TCA_PIE_ALPHA, q->params.alpha) ||
++          nla_put_u32(skb, TCA_PIE_BETA, q->params.beta) ||
++          nla_put_u32(skb, TCA_PIE_ECN, q->params.ecn) ||
++          nla_put_u32(skb, TCA_PIE_BYTEMODE, q->params.bytemode))
++              goto nla_put_failure;
++
++      return nla_nest_end(skb, opts);
++
++nla_put_failure:
++      nla_nest_cancel(skb, opts);
++      return -1;
++
++}
++
++static int pie_dump_stats(struct Qdisc *sch, struct gnet_dump *d)
++{
++      struct pie_sched_data *q = qdisc_priv(sch);
++      struct tc_pie_xstats st = {
++              .prob           = q->vars.prob,
++              .delay          = ((u32) PSCHED_TICKS2NS(q->vars.qdelay)) /
++                                 NSEC_PER_USEC,
++              /* unscale and return dq_rate in bytes per sec */
++              .avg_dq_rate    = q->vars.avg_dq_rate *
++                                (PSCHED_TICKS_PER_SEC) >> PIE_SCALE,
++              .packets_in     = q->stats.packets_in,
++              .overlimit      = q->stats.overlimit,
++              .maxq           = q->stats.maxq,
++              .dropped        = q->stats.dropped,
++              .ecn_mark       = q->stats.ecn_mark,
++      };
++
++      return gnet_stats_copy_app(d, &st, sizeof(st));
++}
++
++static struct sk_buff *pie_qdisc_dequeue(struct Qdisc *sch)
++{
++      struct sk_buff *skb;
++      skb = __qdisc_dequeue_head(sch, &sch->q);
++
++      if (!skb)
++              return NULL;
++
++      pie_process_dequeue(sch, skb);
++      return skb;
++}
++
++static void pie_reset(struct Qdisc *sch)
++{
++      struct pie_sched_data *q = qdisc_priv(sch);
++      qdisc_reset_queue(sch);
++      pie_vars_init(&q->vars);
++}
++
++static void pie_destroy(struct Qdisc *sch)
++{
++      struct pie_sched_data *q = qdisc_priv(sch);
++      q->params.tupdate = 0;
++      del_timer_sync(&q->adapt_timer);
++}
++
++static struct Qdisc_ops pie_qdisc_ops __read_mostly = {
++      .id = "pie",
++      .priv_size      = sizeof(struct pie_sched_data),
++      .enqueue        = pie_qdisc_enqueue,
++      .dequeue        = pie_qdisc_dequeue,
++      .peek           = qdisc_peek_dequeued,
++      .init           = pie_init,
++      .destroy        = pie_destroy,
++      .reset          = pie_reset,
++      .change         = pie_change,
++      .dump           = pie_dump,
++      .dump_stats     = pie_dump_stats,
++      .owner          = THIS_MODULE,
++};
++
++static int __init pie_module_init(void)
++{
++      return register_qdisc(&pie_qdisc_ops);
++}
++
++static void __exit pie_module_exit(void)
++{
++      unregister_qdisc(&pie_qdisc_ops);
++}
++
++module_init(pie_module_init);
++module_exit(pie_module_exit);
++
++MODULE_DESCRIPTION("Proportional Integral controller Enhanced (PIE) scheduler");
++MODULE_AUTHOR("Vijay Subramanian");
++MODULE_AUTHOR("Mythili Prabhu");
++MODULE_LICENSE("GPL");
diff --git a/src/patches/linux-3.10.y-usbnet_mcs7830_rework_link_detect.patch b/src/patches/linux-3.10.y-usbnet_mcs7830_rework_link_detect.patch
new file mode 100644 (file)
index 0000000..2114ae8
--- /dev/null
@@ -0,0 +1,71 @@
+From 4e9792dc8ab29175295c79c35f9f6fbd2d453b35 Mon Sep 17 00:00:00 2001
+From: Octavian Purdila <octavian.purdila@intel.com>
+Date: Mon, 23 Dec 2013 19:06:31 +0200
+Subject: [PATCH] usbnet: mcs7830: rework link state detection
+
+Even with the quirks in commit dabdaf0c (mcs7830: Fix link state
+detection) there are still spurious link-down events for some chips
+where the false link-down events count go over a few hundreds.
+
+This patch takes a more conservative approach and only looks at
+link-down events where the link-down state is not combined with other
+states (e.g. half/full speed, pending frames in SRAM or TX status
+information valid). In all other cases we assume the link is up.
+
+Tested on MCS7830CV-DA (USB ID 9710:7830).
+
+Cc: Ondrej Zary <linux@rainbow-software.org>
+Cc: Michael Leun <lkml20120218@newton.leun.net>
+Cc: Ming Lei <ming.lei@canonical.com>
+Signed-off-by: Octavian Purdila <octavian.purdila@intel.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+ drivers/net/usb/mcs7830.c | 19 ++++---------------
+ 1 file changed, 4 insertions(+), 15 deletions(-)
+
+diff --git a/drivers/net/usb/mcs7830.c b/drivers/net/usb/mcs7830.c
+index 9237c45..8dd48b5 100644
+--- a/drivers/net/usb/mcs7830.c
++++ b/drivers/net/usb/mcs7830.c
+@@ -117,7 +117,6 @@ enum {
+ struct mcs7830_data {
+       u8 multi_filter[8];
+       u8 config;
+-      u8 link_counter;
+ };
+ static const char driver_name[] = "MOSCHIP usb-ethernet driver";
+@@ -562,26 +561,16 @@ static void mcs7830_status(struct usbnet *dev, struct urb *urb)
+ {
+       u8 *buf = urb->transfer_buffer;
+       bool link, link_changed;
+-      struct mcs7830_data *data = mcs7830_get_data(dev);
+       if (urb->actual_length < 16)
+               return;
+-      link = !(buf[1] & 0x20);
++      link = !(buf[1] == 0x20);
+       link_changed = netif_carrier_ok(dev->net) != link;
+       if (link_changed) {
+-              data->link_counter++;
+-              /*
+-                 track link state 20 times to guard against erroneous
+-                 link state changes reported sometimes by the chip
+-               */
+-              if (data->link_counter > 20) {
+-                      data->link_counter = 0;
+-                      usbnet_link_change(dev, link, 0);
+-                      netdev_dbg(dev->net, "Link Status is: %d\n", link);
+-              }
+-      } else
+-              data->link_counter = 0;
++              usbnet_link_change(dev, link, 0);
++              netdev_dbg(dev->net, "Link Status is: %d\n", link);
++      }
+ }
+ static const struct driver_info moschip_info = {
+-- 
+2.0.0
+
diff --git a/src/patches/lzo-2.06-CVE-2014-4607.patch b/src/patches/lzo-2.06-CVE-2014-4607.patch
new file mode 100755 (executable)
index 0000000..d22c406
--- /dev/null
@@ -0,0 +1,245 @@
+diff --git a/minilzo/minilzo.c b/minilzo/minilzo.c
+index 34ce0f0..ecfdf66 100644
+--- a/minilzo/minilzo.c
++++ b/minilzo/minilzo.c
+@@ -3547,6 +3547,8 @@ DO_COMPRESS      ( const lzo_bytep in , lzo_uint  in_len,
+ #undef TEST_LBO
+ #undef NEED_IP
+ #undef NEED_OP
++#undef TEST_IV
++#undef TEST_OV
+ #undef HAVE_TEST_IP
+ #undef HAVE_TEST_OP
+ #undef HAVE_NEED_IP
+@@ -3561,6 +3563,7 @@ DO_COMPRESS      ( const lzo_bytep in , lzo_uint  in_len,
+ #  if (LZO_TEST_OVERRUN_INPUT >= 2)
+ #    define NEED_IP(x) \
+             if ((lzo_uint)(ip_end - ip) < (lzo_uint)(x))  goto input_overrun
++#    define TEST_IV(x)          if ((x) > (lzo_uint)0 - (511)) goto input_overrun
+ #  endif
+ #endif
+@@ -3572,6 +3575,7 @@ DO_COMPRESS      ( const lzo_bytep in , lzo_uint  in_len,
+ #    undef TEST_OP
+ #    define NEED_OP(x) \
+             if ((lzo_uint)(op_end - op) < (lzo_uint)(x))  goto output_overrun
++#    define TEST_OV(x)          if ((x) > (lzo_uint)0 - (511)) goto output_overrun
+ #  endif
+ #endif
+@@ -3602,11 +3606,13 @@ DO_COMPRESS      ( const lzo_bytep in , lzo_uint  in_len,
+ #  define HAVE_NEED_IP 1
+ #else
+ #  define NEED_IP(x)            ((void) 0)
++#  define TEST_IV(x)            ((void) 0)
+ #endif
+ #if defined(NEED_OP)
+ #  define HAVE_NEED_OP 1
+ #else
+ #  define NEED_OP(x)            ((void) 0)
++#  define TEST_OV(x)            ((void) 0)
+ #endif
+ #if defined(HAVE_TEST_IP) || defined(HAVE_NEED_IP)
+@@ -3687,6 +3693,7 @@ DO_DECOMPRESS  ( const lzo_bytep in , lzo_uint  in_len,
+             {
+                 t += 255;
+                 ip++;
++                TEST_IV(t);
+                 NEED_IP(1);
+             }
+             t += 15 + *ip++;
+@@ -3835,6 +3842,7 @@ match:
+                     {
+                         t += 255;
+                         ip++;
++                        TEST_OV(t);
+                         NEED_IP(1);
+                     }
+                     t += 31 + *ip++;
+@@ -3879,6 +3887,7 @@ match:
+                     {
+                         t += 255;
+                         ip++;
++                        TEST_OV(t);
+                         NEED_IP(1);
+                     }
+                     t += 7 + *ip++;
+@@ -4073,6 +4082,8 @@ lookbehind_overrun:
+ #undef TEST_LBO
+ #undef NEED_IP
+ #undef NEED_OP
++#undef TEST_IV
++#undef TEST_OV
+ #undef HAVE_TEST_IP
+ #undef HAVE_TEST_OP
+ #undef HAVE_NEED_IP
+@@ -4087,6 +4098,7 @@ lookbehind_overrun:
+ #  if (LZO_TEST_OVERRUN_INPUT >= 2)
+ #    define NEED_IP(x) \
+             if ((lzo_uint)(ip_end - ip) < (lzo_uint)(x))  goto input_overrun
++#    define TEST_IV(x)          if ((x) > (lzo_uint)0 - (511)) goto input_overrun
+ #  endif
+ #endif
+@@ -4098,6 +4110,7 @@ lookbehind_overrun:
+ #    undef TEST_OP
+ #    define NEED_OP(x) \
+             if ((lzo_uint)(op_end - op) < (lzo_uint)(x))  goto output_overrun
++#    define TEST_OV(x)          if ((x) > (lzo_uint)0 - (511)) goto output_overrun
+ #  endif
+ #endif
+@@ -4128,11 +4141,13 @@ lookbehind_overrun:
+ #  define HAVE_NEED_IP 1
+ #else
+ #  define NEED_IP(x)            ((void) 0)
++#  define TEST_IV(x)            ((void) 0)
+ #endif
+ #if defined(NEED_OP)
+ #  define HAVE_NEED_OP 1
+ #else
+ #  define NEED_OP(x)            ((void) 0)
++#  define TEST_OV(x)            ((void) 0)
+ #endif
+ #if defined(HAVE_TEST_IP) || defined(HAVE_NEED_IP)
+@@ -4213,6 +4228,7 @@ DO_DECOMPRESS  ( const lzo_bytep in , lzo_uint  in_len,
+             {
+                 t += 255;
+                 ip++;
++                TEST_IV(t);
+                 NEED_IP(1);
+             }
+             t += 15 + *ip++;
+@@ -4361,6 +4377,7 @@ match:
+                     {
+                         t += 255;
+                         ip++;
++                        TEST_OV(t);
+                         NEED_IP(1);
+                     }
+                     t += 31 + *ip++;
+@@ -4405,6 +4422,7 @@ match:
+                     {
+                         t += 255;
+                         ip++;
++                        TEST_OV(t);
+                         NEED_IP(1);
+                     }
+                     t += 7 + *ip++;
+diff --git a/src/lzo1_d.ch b/src/lzo1_d.ch
+index 40a5bfd..c442d9c 100644
+--- a/src/lzo1_d.ch
++++ b/src/lzo1_d.ch
+@@ -76,6 +76,8 @@
+ #undef TEST_LBO
+ #undef NEED_IP
+ #undef NEED_OP
++#undef TEST_IV
++#undef TEST_OV
+ #undef HAVE_TEST_IP
+ #undef HAVE_TEST_OP
+ #undef HAVE_NEED_IP
+@@ -91,6 +93,7 @@
+ #  if (LZO_TEST_OVERRUN_INPUT >= 2)
+ #    define NEED_IP(x) \
+             if ((lzo_uint)(ip_end - ip) < (lzo_uint)(x))  goto input_overrun
++#    define TEST_IV(x)          if ((x) > (lzo_uint)0 - (511)) goto input_overrun
+ #  endif
+ #endif
+@@ -102,6 +105,7 @@
+ #    undef TEST_OP              /* don't need both of the tests here */
+ #    define NEED_OP(x) \
+             if ((lzo_uint)(op_end - op) < (lzo_uint)(x))  goto output_overrun
++#    define TEST_OV(x)          if ((x) > (lzo_uint)0 - (511)) goto output_overrun
+ #  endif
+ #endif
+@@ -135,11 +139,13 @@
+ #  define HAVE_NEED_IP 1
+ #else
+ #  define NEED_IP(x)            ((void) 0)
++#  define TEST_IV(x)            ((void) 0)
+ #endif
+ #if defined(NEED_OP)
+ #  define HAVE_NEED_OP 1
+ #else
+ #  define NEED_OP(x)            ((void) 0)
++#  define TEST_OV(x)            ((void) 0)
+ #endif
+diff --git a/src/lzo1b_d.ch b/src/lzo1b_d.ch
+index fe5f361..36b4b6b 100644
+--- a/src/lzo1b_d.ch
++++ b/src/lzo1b_d.ch
+@@ -187,6 +187,7 @@ match:
+                 {
+                     t += 255;
+                     ip++;
++                    TEST_OV(t);
+                     NEED_IP(1);
+                 }
+                 t += (M4_MIN_LEN - M3_MIN_LEN) + *ip++;
+diff --git a/src/lzo1f_d.ch b/src/lzo1f_d.ch
+index 9e942f5..0c2199e 100644
+--- a/src/lzo1f_d.ch
++++ b/src/lzo1f_d.ch
+@@ -84,6 +84,7 @@ DO_DECOMPRESS  ( const lzo_bytep in , lzo_uint  in_len,
+             {
+                 t += 255;
+                 ip++;
++                TEST_IV(t);
+                 NEED_IP(1);
+             }
+             t += 31 + *ip++;
+@@ -138,6 +139,7 @@ match:
+                         {
+                             t += 255;
+                             ip++;
++                            TEST_OV(t);
+                             NEED_IP(1);
+                         }
+                         t += 31 + *ip++;
+diff --git a/src/lzo1x_d.ch b/src/lzo1x_d.ch
+index 49cf326..c804cc7 100644
+--- a/src/lzo1x_d.ch
++++ b/src/lzo1x_d.ch
+@@ -120,6 +120,7 @@ DO_DECOMPRESS  ( const lzo_bytep in , lzo_uint  in_len,
+             {
+                 t += 255;
+                 ip++;
++                TEST_IV(t);
+                 NEED_IP(1);
+             }
+             t += 15 + *ip++;
+@@ -273,6 +274,7 @@ match:
+                     {
+                         t += 255;
+                         ip++;
++                        TEST_OV(t);
+                         NEED_IP(1);
+                     }
+                     t += 31 + *ip++;
+@@ -317,6 +319,7 @@ match:
+                     {
+                         t += 255;
+                         ip++;
++                        TEST_OV(t);
+                         NEED_IP(1);
+                     }
+                     t += 7 + *ip++;
+diff --git a/src/lzo2a_d.ch b/src/lzo2a_d.ch
+index 48e51ca..954f07e 100644
+--- a/src/lzo2a_d.ch
++++ b/src/lzo2a_d.ch
+@@ -131,6 +131,7 @@ DO_DECOMPRESS    ( const lzo_bytep in , lzo_uint  in_len,
+             {
+                 t += 255;
+                 ip++;
++                TEST_OV(t);
+                 NEED_IP(1);
+             }
+             t += *ip++;
diff --git a/src/patches/mitkrb-1.12.1-db2_fix-1.patch b/src/patches/mitkrb-1.12.1-db2_fix-1.patch
new file mode 100644 (file)
index 0000000..f27304c
--- /dev/null
@@ -0,0 +1,175 @@
+Submitted By:            Pierre Labastie <pierre dot labastie at eamil dot fr>
+Date:                    2014-03-04
+Initial Package Version: 1.12.1
+Upstream Status:         In upstream GIT
+Origin:                  Upstream
+Description:             Fixes http://krbdev.mit.edu/rt/Ticket/Display.html?id=7860
+
+--- a/src/plugins/kdb/db2/libdb2/mpool/mpool.c
++++ b/src/plugins/kdb/db2/libdb2/mpool/mpool.c
+@@ -81,9 +81,9 @@ mpool_open(key, fd, pagesize, maxcache)
+       /* Allocate and initialize the MPOOL cookie. */
+       if ((mp = (MPOOL *)calloc(1, sizeof(MPOOL))) == NULL)
+               return (NULL);
+-      CIRCLEQ_INIT(&mp->lqh);
++      TAILQ_INIT(&mp->lqh);
+       for (entry = 0; entry < HASHSIZE; ++entry)
+-              CIRCLEQ_INIT(&mp->hqh[entry]);
++              TAILQ_INIT(&mp->hqh[entry]);
+       mp->maxcache = maxcache;
+       mp->npages = sb.st_size / pagesize;
+       mp->pagesize = pagesize;
+@@ -143,8 +143,8 @@ mpool_new(mp, pgnoaddr, flags)
+       bp->flags = MPOOL_PINNED | MPOOL_INUSE;
+       head = &mp->hqh[HASHKEY(bp->pgno)];
+-      CIRCLEQ_INSERT_HEAD(head, bp, hq);
+-      CIRCLEQ_INSERT_TAIL(&mp->lqh, bp, q);
++      TAILQ_INSERT_HEAD(head, bp, hq);
++      TAILQ_INSERT_TAIL(&mp->lqh, bp, q);
+       return (bp->page);
+ }
+@@ -168,8 +168,8 @@ mpool_delete(mp, page)
+       /* Remove from the hash and lru queues. */
+       head = &mp->hqh[HASHKEY(bp->pgno)];
+-      CIRCLEQ_REMOVE(head, bp, hq);
+-      CIRCLEQ_REMOVE(&mp->lqh, bp, q);
++      TAILQ_REMOVE(head, bp, hq);
++      TAILQ_REMOVE(&mp->lqh, bp, q);
+       free(bp);
+       return (RET_SUCCESS);
+@@ -208,10 +208,10 @@ mpool_get(mp, pgno, flags)
+                * of the lru chain.
+                */
+               head = &mp->hqh[HASHKEY(bp->pgno)];
+-              CIRCLEQ_REMOVE(head, bp, hq);
+-              CIRCLEQ_INSERT_HEAD(head, bp, hq);
+-              CIRCLEQ_REMOVE(&mp->lqh, bp, q);
+-              CIRCLEQ_INSERT_TAIL(&mp->lqh, bp, q);
++              TAILQ_REMOVE(head, bp, hq);
++              TAILQ_INSERT_HEAD(head, bp, hq);
++              TAILQ_REMOVE(&mp->lqh, bp, q);
++              TAILQ_INSERT_TAIL(&mp->lqh, bp, q);
+               /* Return a pinned page. */
+               bp->flags |= MPOOL_PINNED;
+@@ -261,8 +261,8 @@ mpool_get(mp, pgno, flags)
+        * of the lru chain.
+        */
+       head = &mp->hqh[HASHKEY(bp->pgno)];
+-      CIRCLEQ_INSERT_HEAD(head, bp, hq);
+-      CIRCLEQ_INSERT_TAIL(&mp->lqh, bp, q);
++      TAILQ_INSERT_HEAD(head, bp, hq);
++      TAILQ_INSERT_TAIL(&mp->lqh, bp, q);
+       /* Run through the user's filter. */
+       if (mp->pgin != NULL)
+@@ -311,8 +311,8 @@ mpool_close(mp)
+       BKT *bp;
+       /* Free up any space allocated to the lru pages. */
+-      while ((bp = mp->lqh.cqh_first) != (void *)&mp->lqh) {
+-              CIRCLEQ_REMOVE(&mp->lqh, mp->lqh.cqh_first, q);
++      while ((bp = mp->lqh.tqh_first) != NULL) {
++              TAILQ_REMOVE(&mp->lqh, mp->lqh.tqh_first, q);
+               free(bp);
+       }
+@@ -332,8 +332,7 @@ mpool_sync(mp)
+       BKT *bp;
+       /* Walk the lru chain, flushing any dirty pages to disk. */
+-      for (bp = mp->lqh.cqh_first;
+-          bp != (void *)&mp->lqh; bp = bp->q.cqe_next)
++      for (bp = mp->lqh.tqh_first; bp != NULL; bp = bp->q.tqe_next)
+               if (bp->flags & MPOOL_DIRTY &&
+                   mpool_write(mp, bp) == RET_ERROR)
+                       return (RET_ERROR);
+@@ -363,8 +362,7 @@ mpool_bkt(mp)
+        * off any lists.  If we don't find anything we grow the cache anyway.
+        * The cache never shrinks.
+        */
+-      for (bp = mp->lqh.cqh_first;
+-          bp != (void *)&mp->lqh; bp = bp->q.cqe_next)
++      for (bp = mp->lqh.tqh_first; bp != NULL; bp = bp->q.tqe_next)
+               if (!(bp->flags & MPOOL_PINNED)) {
+                       /* Flush if dirty. */
+                       if (bp->flags & MPOOL_DIRTY &&
+@@ -375,8 +373,8 @@ mpool_bkt(mp)
+ #endif
+                       /* Remove from the hash and lru queues. */
+                       head = &mp->hqh[HASHKEY(bp->pgno)];
+-                      CIRCLEQ_REMOVE(head, bp, hq);
+-                      CIRCLEQ_REMOVE(&mp->lqh, bp, q);
++                      TAILQ_REMOVE(head, bp, hq);
++                      TAILQ_REMOVE(&mp->lqh, bp, q);
+ #if defined(DEBUG) && !defined(DEBUG_IDX0SPLIT)
+                       { void *spage;
+                               spage = bp->page;
+@@ -450,7 +448,7 @@ mpool_look(mp, pgno)
+       BKT *bp;
+       head = &mp->hqh[HASHKEY(pgno)];
+-      for (bp = head->cqh_first; bp != (void *)head; bp = bp->hq.cqe_next)
++      for (bp = head->tqh_first; bp != NULL; bp = bp->hq.tqe_next)
+               if ((bp->pgno == pgno) && (bp->flags & MPOOL_INUSE)) {
+ #ifdef STATISTICS
+                       ++mp->cachehit;
+@@ -494,8 +492,7 @@ mpool_stat(mp)
+       sep = "";
+       cnt = 0;
+-      for (bp = mp->lqh.cqh_first;
+-          bp != (void *)&mp->lqh; bp = bp->q.cqe_next) {
++      for (bp = mp->lqh.tqh_first; bp != NULL; bp = bp->q.tqe_next) {
+               (void)fprintf(stderr, "%s%d", sep, bp->pgno);
+               if (bp->flags & MPOOL_DIRTY)
+                       (void)fprintf(stderr, "d");
+
+--- a/src/plugins/kdb/db2/libdb2/mpool/mpool.h
++++ b/src/plugins/kdb/db2/libdb2/mpool/mpool.h
+@@ -47,8 +47,8 @@
+ /* The BKT structures are the elements of the queues. */
+ typedef struct _bkt {
+-      CIRCLEQ_ENTRY(_bkt) hq;         /* hash queue */
+-      CIRCLEQ_ENTRY(_bkt) q;          /* lru queue */
++      TAILQ_ENTRY(_bkt) hq;           /* hash queue */
++      TAILQ_ENTRY(_bkt) q;            /* lru queue */
+       void    *page;                  /* page */
+       db_pgno_t   pgno;                       /* page number */
+@@ -59,9 +59,9 @@ typedef struct _bkt {
+ } BKT;
+ typedef struct MPOOL {
+-      CIRCLEQ_HEAD(_lqh, _bkt) lqh;   /* lru queue head */
++      TAILQ_HEAD(_lqh, _bkt) lqh;     /* lru queue head */
+                                       /* hash queue array */
+-      CIRCLEQ_HEAD(_hqh, _bkt) hqh[HASHSIZE];
++      TAILQ_HEAD(_hqh, _bkt) hqh[HASHSIZE];
+       db_pgno_t       curcache;               /* current number of cached pages */
+       db_pgno_t       maxcache;               /* max number of cached pages */
+       db_pgno_t       npages;                 /* number of pages in the file */
+
+--- a/src/plugins/kdb/db2/libdb2/test/run.test
++++ b/src/plugins/kdb/db2/libdb2/test/run.test
+@@ -71,10 +71,11 @@ main()
+ }
+ getnwords() {
+-      # Delete blank lines because the db code appears not to
+-      # like empty keys.  On Debian Linux, $DICT appears to contain
+-      # some non-ASCII characters, and "rev" chokes on them.
+-      sed -e '/^$/d' < $DICT | cat -v | sed -e ${1}q
++      # Delete blank lines because the db code appears not to like
++      # empty keys.  Omit lines with non-alphanumeric characters to
++      # avoid shell metacharacters and non-ASCII characters which
++      # could cause 'rev' to choke.
++      LC_ALL=C sed -e '/^$/d' -e '/[^A-Za-z]/d' < $DICT | sed -e ${1}q
+ }
+ # Take the first hundred entries in the dictionary, and make them
diff --git a/src/patches/net-tools-1.60-no-hostname.patch b/src/patches/net-tools-1.60-no-hostname.patch
new file mode 100644 (file)
index 0000000..e2e34a1
--- /dev/null
@@ -0,0 +1,52 @@
+--- a/Makefile.bak     2014-06-03 19:01:39.758845492 +0000
++++ b/Makefile 2014-06-03 19:02:34.119171419 +0000
+@@ -76,7 +76,7 @@
+ NET_LIB_PATH = lib
+ NET_LIB_NAME = net-tools
+-PROGS := ifconfig hostname arp netstat route rarp slattach plipconfig nameif
++PROGS := ifconfig arp netstat route rarp slattach plipconfig nameif
+ -include config.make
+ ifeq ($(HAVE_IP_TOOLS),1)
+@@ -190,9 +190,6 @@
+ nameif:       nameif.o
+               $(CC) $(LDFLAGS) -o nameif nameif.o 
+-hostname:     hostname.o
+-              $(CC) $(LDFLAGS) -o hostname hostname.o $(DNLIB)
+-
+ route:                $(NET_LIB) route.o
+               $(CC) $(LDFLAGS) -o route route.o $(NLIB) $(RESLIB)
+@@ -224,7 +221,6 @@
+       install -m 0755 -d ${BASEDIR}/sbin
+       install -m 0755 -d ${BASEDIR}/bin
+       install -m 0755 arp        ${BASEDIR}/sbin
+-      install -m 0755 hostname   ${BASEDIR}/bin
+       install -m 0755 ifconfig   ${BASEDIR}/sbin
+       install -m 0755 nameif     ${BASEDIR}/sbin
+       install -m 0755 netstat    ${BASEDIR}/bin
+@@ -239,21 +235,11 @@
+ ifeq ($(HAVE_MII),1)
+       install -m 0755 mii-tool   $(BASEDIR)/sbin
+ endif
+-      ln -fs hostname $(BASEDIR)/bin/dnsdomainname
+-      ln -fs hostname $(BASEDIR)/bin/ypdomainname
+-      ln -fs hostname $(BASEDIR)/bin/nisdomainname
+-      ln -fs hostname $(BASEDIR)/bin/domainname
+-ifeq ($(HAVE_AFDECnet),1)
+-      ln -fs hostname $(BASEDIR)/bin/nodename
+-endif
+ savebin:
+       @for i in ${BASEDIR}/sbin/arp ${BASEDIR}/sbin/ifconfig \
+                  ${BASEDIR}/bin/netstat \
+-               ${BASEDIR}/sbin/rarp ${BASEDIR}/sbin/route \
+-               ${BASEDIR}/bin/hostname ${BASEDIR}/bin/ypdomainname \
+-                 ${BASEDIR}/bin/dnsdomainname ${BASEDIR}/bin/nisdomainname \
+-               ${BASEDIR}/bin/domainname ; do \
++               ${BASEDIR}/sbin/rarp ${BASEDIR}/sbin/route; do \
+                [ -f $$i ] && cp -f $$i $$i.old ; done ; echo Saved.
+ installdata:
diff --git a/src/patches/ppp/0003-build-sys-utilize-compiler-flags-handed-to-us-by-rpm.patch b/src/patches/ppp/0003-build-sys-utilize-compiler-flags-handed-to-us-by-rpm.patch
new file mode 100644 (file)
index 0000000..4a43d44
--- /dev/null
@@ -0,0 +1,121 @@
+From d729b06f0ac7a5ebd3648ef60bef0499b59bf82d Mon Sep 17 00:00:00 2001
+From: Michal Sekletar <msekleta@redhat.com>
+Date: Fri, 4 Apr 2014 11:29:39 +0200
+Subject: [PATCH 03/25] build-sys: utilize compiler flags handed to us by
+ rpmbuild
+
+---
+ chat/Makefile.linux                  | 2 +-
+ pppd/Makefile.linux                  | 3 +--
+ pppd/plugins/Makefile.linux          | 2 +-
+ pppd/plugins/pppoatm/Makefile.linux  | 2 +-
+ pppd/plugins/radius/Makefile.linux   | 2 +-
+ pppd/plugins/rp-pppoe/Makefile.linux | 2 +-
+ pppdump/Makefile.linux               | 2 +-
+ pppstats/Makefile.linux              | 2 +-
+ 8 files changed, 8 insertions(+), 9 deletions(-)
+
+diff --git a/chat/Makefile.linux b/chat/Makefile.linux
+index 1065ac5..848cd8d 100644
+--- a/chat/Makefile.linux
++++ b/chat/Makefile.linux
+@@ -10,7 +10,7 @@ CDEF3=       -UNO_SLEEP                      # Use the usleep function
+ CDEF4=        -DFNDELAY=O_NDELAY              # Old name value
+ CDEFS=        $(CDEF1) $(CDEF2) $(CDEF3) $(CDEF4)
+-COPTS=        -O2 -g -pipe
++COPTS=        $(RPM_OPT_FLAGS)
+ CFLAGS=       $(COPTS) $(CDEFS)
+ INSTALL= install
+diff --git a/pppd/Makefile.linux b/pppd/Makefile.linux
+index 5a44d30..63872eb 100644
+--- a/pppd/Makefile.linux
++++ b/pppd/Makefile.linux
+@@ -32,8 +32,7 @@ endif
+ CC = gcc
+ #
+-COPTS = -O2 -pipe -Wall -g
+-LIBS =
++COPTS = -Wall $(RPM_OPT_FLAGS)
+ # Uncomment the next 2 lines to include support for Microsoft's
+ # MS-CHAP authentication protocol.  Also, edit plugins/radius/Makefile.linux.
+diff --git a/pppd/plugins/Makefile.linux b/pppd/plugins/Makefile.linux
+index 0a7ec7b..e09a369 100644
+--- a/pppd/plugins/Makefile.linux
++++ b/pppd/plugins/Makefile.linux
+@@ -1,5 +1,5 @@
+ #CC   = gcc
+-COPTS = -O2 -g
++COPTS = $(RPM_OPT_FLAGS)
+ CFLAGS        = $(COPTS) -I.. -I../../include -fPIC
+ LDFLAGS       = -shared
+ INSTALL       = install
+diff --git a/pppd/plugins/pppoatm/Makefile.linux b/pppd/plugins/pppoatm/Makefile.linux
+index 20f62e6..5a81447 100644
+--- a/pppd/plugins/pppoatm/Makefile.linux
++++ b/pppd/plugins/pppoatm/Makefile.linux
+@@ -1,5 +1,5 @@
+ #CC   = gcc
+-COPTS = -O2 -g
++COPTS = $(RPM_OPT_FLAGS)
+ CFLAGS        = $(COPTS) -I../.. -I../../../include -fPIC
+ LDFLAGS       = -shared
+ INSTALL       = install
+diff --git a/pppd/plugins/radius/Makefile.linux b/pppd/plugins/radius/Makefile.linux
+index 24ed3e5..45b3b8d 100644
+--- a/pppd/plugins/radius/Makefile.linux
++++ b/pppd/plugins/radius/Makefile.linux
+@@ -12,7 +12,7 @@ VERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../../patchlevel.h)
+ INSTALL       = install
+ PLUGIN=radius.so radattr.so radrealms.so
+-CFLAGS=-I. -I../.. -I../../../include -O2 -fPIC -DRC_LOG_FACILITY=LOG_DAEMON
++CFLAGS=-I. -I../.. -I../../../include $(RPM_OPT_FLAGS) -DRC_LOG_FACILITY=LOG_DAEMON
+ # Uncomment the next line to include support for Microsoft's
+ # MS-CHAP authentication protocol.
+diff --git a/pppd/plugins/rp-pppoe/Makefile.linux b/pppd/plugins/rp-pppoe/Makefile.linux
+index 5d7a271..352991a 100644
+--- a/pppd/plugins/rp-pppoe/Makefile.linux
++++ b/pppd/plugins/rp-pppoe/Makefile.linux
+@@ -25,7 +25,7 @@ INSTALL      = install
+ # Version is set ONLY IN THE MAKEFILE!  Don't delete this!
+ RP_VERSION=3.8p
+-COPTS=-O2 -g
++COPTS=$(RPM_OPT_FLAGS)
+ CFLAGS=$(COPTS) -I../../../include '-DRP_VERSION="$(RP_VERSION)"'
+ all: rp-pppoe.so pppoe-discovery
+diff --git a/pppdump/Makefile.linux b/pppdump/Makefile.linux
+index ac028f6..d0a5032 100644
+--- a/pppdump/Makefile.linux
++++ b/pppdump/Makefile.linux
+@@ -2,7 +2,7 @@ DESTDIR = $(INSTROOT)@DESTDIR@
+ BINDIR = $(DESTDIR)/sbin
+ MANDIR = $(DESTDIR)/share/man/man8
+-CFLAGS= -O -I../include/net
++CFLAGS= $(RPM_OPT_FLAGS) -I../include/net
+ OBJS = pppdump.o bsd-comp.o deflate.o zlib.o
+ INSTALL= install
+diff --git a/pppstats/Makefile.linux b/pppstats/Makefile.linux
+index cca6f0f..42aba73 100644
+--- a/pppstats/Makefile.linux
++++ b/pppstats/Makefile.linux
+@@ -10,7 +10,7 @@ PPPSTATSRCS = pppstats.c
+ PPPSTATOBJS = pppstats.o
+ #CC = gcc
+-COPTS = -O
++COPTS = $(RPM_OPT_FLAGS)
+ COMPILE_FLAGS = -I../include
+ LIBS =
+-- 
+1.8.3.1
+
diff --git a/src/patches/ppp/0012-pppd-we-don-t-want-to-accidentally-leak-fds.patch b/src/patches/ppp/0012-pppd-we-don-t-want-to-accidentally-leak-fds.patch
new file mode 100644 (file)
index 0000000..90bb2d1
--- /dev/null
@@ -0,0 +1,143 @@
+From 82cd789df0f022eb6f3d28646e7a61d1d0715805 Mon Sep 17 00:00:00 2001
+From: Michal Sekletar <msekleta@redhat.com>
+Date: Mon, 7 Apr 2014 12:23:36 +0200
+Subject: [PATCH 12/25] pppd: we don't want to accidentally leak fds
+
+---
+ pppd/auth.c      | 20 ++++++++++----------
+ pppd/options.c   |  2 +-
+ pppd/sys-linux.c |  4 ++--
+ 3 files changed, 13 insertions(+), 13 deletions(-)
+
+diff --git a/pppd/auth.c b/pppd/auth.c
+index 4271af6..9e957fa 100644
+--- a/pppd/auth.c
++++ b/pppd/auth.c
+@@ -428,7 +428,7 @@ setupapfile(argv)
+       option_error("unable to reset uid before opening %s: %m", fname);
+       return 0;
+     }
+-    ufile = fopen(fname, "r");
++    ufile = fopen(fname, "re");
+     if (seteuid(euid) == -1)
+       fatal("unable to regain privileges: %m");
+     if (ufile == NULL) {
+@@ -1413,7 +1413,7 @@ check_passwd(unit, auser, userlen, apasswd, passwdlen, msg)
+     filename = _PATH_UPAPFILE;
+     addrs = opts = NULL;
+     ret = UPAP_AUTHNAK;
+-    f = fopen(filename, "r");
++    f = fopen(filename, "re");
+     if (f == NULL) {
+       error("Can't open PAP password file %s: %m", filename);
+@@ -1512,7 +1512,7 @@ null_login(unit)
+     if (ret <= 0) {
+       filename = _PATH_UPAPFILE;
+       addrs = NULL;
+-      f = fopen(filename, "r");
++      f = fopen(filename, "re");
+       if (f == NULL)
+           return 0;
+       check_access(f, filename);
+@@ -1559,7 +1559,7 @@ get_pap_passwd(passwd)
+     }
+     filename = _PATH_UPAPFILE;
+-    f = fopen(filename, "r");
++    f = fopen(filename, "re");
+     if (f == NULL)
+       return 0;
+     check_access(f, filename);
+@@ -1597,7 +1597,7 @@ have_pap_secret(lacks_ipp)
+     }
+     filename = _PATH_UPAPFILE;
+-    f = fopen(filename, "r");
++    f = fopen(filename, "re");
+     if (f == NULL)
+       return 0;
+@@ -1642,7 +1642,7 @@ have_chap_secret(client, server, need_ip, lacks_ipp)
+     }
+     filename = _PATH_CHAPFILE;
+-    f = fopen(filename, "r");
++    f = fopen(filename, "re");
+     if (f == NULL)
+       return 0;
+@@ -1684,7 +1684,7 @@ have_srp_secret(client, server, need_ip, lacks_ipp)
+     struct wordlist *addrs;
+     filename = _PATH_SRPFILE;
+-    f = fopen(filename, "r");
++    f = fopen(filename, "re");
+     if (f == NULL)
+       return 0;
+@@ -1740,7 +1740,7 @@ get_secret(unit, client, server, secret, secret_len, am_server)
+       addrs = NULL;
+       secbuf[0] = 0;
+-      f = fopen(filename, "r");
++      f = fopen(filename, "re");
+       if (f == NULL) {
+           error("Can't open chap secret file %s: %m", filename);
+           return 0;
+@@ -1797,7 +1797,7 @@ get_srp_secret(unit, client, server, secret, am_server)
+       filename = _PATH_SRPFILE;
+       addrs = NULL;
+-      fp = fopen(filename, "r");
++      fp = fopen(filename, "re");
+       if (fp == NULL) {
+           error("Can't open srp secret file %s: %m", filename);
+           return 0;
+@@ -2203,7 +2203,7 @@ scan_authfile(f, client, server, secret, addrs, opts, filename, flags)
+            */
+           if (word[0] == '@' && word[1] == '/') {
+               strlcpy(atfile, word+1, sizeof(atfile));
+-              if ((sf = fopen(atfile, "r")) == NULL) {
++              if ((sf = fopen(atfile, "re")) == NULL) {
+                   warn("can't open indirect secret file %s", atfile);
+                   continue;
+               }
+diff --git a/pppd/options.c b/pppd/options.c
+index 45fa742..1d754ae 100644
+--- a/pppd/options.c
++++ b/pppd/options.c
+@@ -427,7 +427,7 @@ options_from_file(filename, must_exist, check_prot, priv)
+       option_error("unable to drop privileges to open %s: %m", filename);
+       return 0;
+     }
+-    f = fopen(filename, "r");
++    f = fopen(filename, "re");
+     err = errno;
+     if (check_prot && seteuid(euid) == -1)
+       fatal("unable to regain privileges");
+diff --git a/pppd/sys-linux.c b/pppd/sys-linux.c
+index 72a7727..8a12fa0 100644
+--- a/pppd/sys-linux.c
++++ b/pppd/sys-linux.c
+@@ -1412,7 +1412,7 @@ static char *path_to_procfs(const char *tail)
+       /* Default the mount location of /proc */
+       strlcpy (proc_path, "/proc", sizeof(proc_path));
+       proc_path_len = 5;
+-      fp = fopen(MOUNTED, "r");
++      fp = fopen(MOUNTED, "re");
+       if (fp != NULL) {
+           while ((mntent = getmntent(fp)) != NULL) {
+               if (strcmp(mntent->mnt_type, MNTTYPE_IGNORE) == 0)
+@@ -1472,7 +1472,7 @@ static int open_route_table (void)
+     close_route_table();
+     path = path_to_procfs("/net/route");
+-    route_fd = fopen (path, "r");
++    route_fd = fopen (path, "re");
+     if (route_fd == NULL) {
+       error("can't open routing table %s: %m", path);
+       return 0;
+-- 
+1.8.3.1
+
diff --git a/src/patches/ppp/0013-everywhere-O_CLOEXEC-harder.patch b/src/patches/ppp/0013-everywhere-O_CLOEXEC-harder.patch
new file mode 100644 (file)
index 0000000..e3608a0
--- /dev/null
@@ -0,0 +1,241 @@
+From 302c1b736cb656c7885a0cba270fd953a672d8a8 Mon Sep 17 00:00:00 2001
+From: Michal Sekletar <msekleta@redhat.com>
+Date: Mon, 7 Apr 2014 13:56:34 +0200
+Subject: [PATCH 13/25] everywhere: O_CLOEXEC harder
+
+---
+ pppd/eap.c       |  2 +-
+ pppd/main.c      |  4 ++--
+ pppd/options.c   |  4 ++--
+ pppd/sys-linux.c | 22 +++++++++++-----------
+ pppd/tdb.c       |  4 ++--
+ pppd/tty.c       |  4 ++--
+ pppd/utils.c     |  6 +++---
+ 7 files changed, 23 insertions(+), 23 deletions(-)
+
+diff --git a/pppd/eap.c b/pppd/eap.c
+index 6ea6c1f..faced53 100644
+--- a/pppd/eap.c
++++ b/pppd/eap.c
+@@ -1226,7 +1226,7 @@ mode_t modebits;
+       if ((path = name_of_pn_file()) == NULL)
+               return (-1);
+-      fd = open(path, modebits, S_IRUSR | S_IWUSR);
++      fd = open(path, modebits, S_IRUSR | S_IWUSR | O_CLOEXEC);
+       err = errno;
+       free(path);
+       errno = err;
+diff --git a/pppd/main.c b/pppd/main.c
+index 6d50d1b..4880377 100644
+--- a/pppd/main.c
++++ b/pppd/main.c
+@@ -420,7 +420,7 @@ main(argc, argv)
+       die(0);
+     /* Make sure fds 0, 1, 2 are open to somewhere. */
+-    fd_devnull = open(_PATH_DEVNULL, O_RDWR);
++    fd_devnull = open(_PATH_DEVNULL, O_RDWR | O_CLOEXEC);
+     if (fd_devnull < 0)
+       fatal("Couldn't open %s: %m", _PATH_DEVNULL);
+     while (fd_devnull <= 2) {
+@@ -1679,7 +1679,7 @@ device_script(program, in, out, dont_wait)
+     if (log_to_fd >= 0)
+       errfd = log_to_fd;
+     else
+-      errfd = open(_PATH_CONNERRS, O_WRONLY | O_APPEND | O_CREAT, 0600);
++      errfd = open(_PATH_CONNERRS, O_WRONLY | O_APPEND | O_CREAT | O_CLOEXEC, 0600);
+     ++conn_running;
+     pid = safe_fork(in, out, errfd);
+diff --git a/pppd/options.c b/pppd/options.c
+index 1d754ae..8e62635 100644
+--- a/pppd/options.c
++++ b/pppd/options.c
+@@ -1544,9 +1544,9 @@ setlogfile(argv)
+       option_error("unable to drop permissions to open %s: %m", *argv);
+       return 0;
+     }
+-    fd = open(*argv, O_WRONLY | O_APPEND | O_CREAT | O_EXCL, 0644);
++    fd = open(*argv, O_WRONLY | O_APPEND | O_CREAT | O_EXCL | O_CLOEXEC, 0644);
+     if (fd < 0 && errno == EEXIST)
+-      fd = open(*argv, O_WRONLY | O_APPEND);
++      fd = open(*argv, O_WRONLY | O_APPEND | O_CLOEXEC);
+     err = errno;
+     if (!privileged_option && seteuid(euid) == -1)
+       fatal("unable to regain privileges: %m");
+diff --git a/pppd/sys-linux.c b/pppd/sys-linux.c
+index 8a12fa0..00a2cf5 100644
+--- a/pppd/sys-linux.c
++++ b/pppd/sys-linux.c
+@@ -459,7 +459,7 @@ int generic_establish_ppp (int fd)
+           goto err;
+       }
+       dbglog("using channel %d", chindex);
+-      fd = open("/dev/ppp", O_RDWR);
++      fd = open("/dev/ppp", O_RDWR | O_CLOEXEC);
+       if (fd < 0) {
+           error("Couldn't reopen /dev/ppp: %m");
+           goto err;
+@@ -619,7 +619,7 @@ static int make_ppp_unit()
+               dbglog("in make_ppp_unit, already had /dev/ppp open?");
+               close(ppp_dev_fd);
+       }
+-      ppp_dev_fd = open("/dev/ppp", O_RDWR);
++      ppp_dev_fd = open("/dev/ppp", O_RDWR | O_CLOEXEC);
+       if (ppp_dev_fd < 0)
+               fatal("Couldn't open /dev/ppp: %m");
+       flags = fcntl(ppp_dev_fd, F_GETFL);
+@@ -693,7 +693,7 @@ int bundle_attach(int ifnum)
+       if (!new_style_driver)
+               return -1;
+-      master_fd = open("/dev/ppp", O_RDWR);
++      master_fd = open("/dev/ppp", O_RDWR | O_CLOEXEC);
+       if (master_fd < 0)
+               fatal("Couldn't open /dev/ppp: %m");
+       if (ioctl(master_fd, PPPIOCATTACH, &ifnum) < 0) {
+@@ -1715,7 +1715,7 @@ int sifproxyarp (int unit, u_int32_t his_adr)
+       if (tune_kernel) {
+           forw_path = path_to_procfs("/sys/net/ipv4/ip_forward");
+           if (forw_path != 0) {
+-              int fd = open(forw_path, O_WRONLY);
++              int fd = open(forw_path, O_WRONLY | O_CLOEXEC);
+               if (fd >= 0) {
+                   if (write(fd, "1", 1) != 1)
+                       error("Couldn't enable IP forwarding: %m");
+@@ -2030,7 +2030,7 @@ int ppp_available(void)
+     sscanf(utsname.release, "%d.%d.%d", &osmaj, &osmin, &ospatch);
+     kernel_version = KVERSION(osmaj, osmin, ospatch);
+-    fd = open("/dev/ppp", O_RDWR);
++    fd = open("/dev/ppp", O_RDWR | O_CLOEXEC);
+     if (fd >= 0) {
+       new_style_driver = 1;
+@@ -2208,7 +2208,7 @@ void logwtmp (const char *line, const char *name, const char *host)
+ #if __GLIBC__ >= 2
+     updwtmp(_PATH_WTMP, &ut);
+ #else
+-    wtmp = open(_PATH_WTMP, O_APPEND|O_WRONLY);
++    wtmp = open(_PATH_WTMP, O_APPEND|O_WRONLY|O_CLOEXEC);
+     if (wtmp >= 0) {
+       flock(wtmp, LOCK_EX);
+@@ -2394,7 +2394,7 @@ int sifaddr (int unit, u_int32_t our_adr, u_int32_t his_adr,
+       int fd;
+       path = path_to_procfs("/sys/net/ipv4/ip_dynaddr");
+-      if (path != 0 && (fd = open(path, O_WRONLY)) >= 0) {
++      if (path != 0 && (fd = open(path, O_WRONLY | O_CLOEXEC)) >= 0) {
+           if (write(fd, "1", 1) != 1)
+               error("Couldn't enable dynamic IP addressing: %m");
+           close(fd);
+@@ -2570,7 +2570,7 @@ get_pty(master_fdp, slave_fdp, slave_name, uid)
+     /*
+      * Try the unix98 way first.
+      */
+-    mfd = open("/dev/ptmx", O_RDWR);
++    mfd = open("/dev/ptmx", O_RDWR | O_CLOEXEC);
+     if (mfd >= 0) {
+       int ptn;
+       if (ioctl(mfd, TIOCGPTN, &ptn) >= 0) {
+@@ -2581,7 +2581,7 @@ get_pty(master_fdp, slave_fdp, slave_name, uid)
+           if (ioctl(mfd, TIOCSPTLCK, &ptn) < 0)
+               warn("Couldn't unlock pty slave %s: %m", pty_name);
+ #endif
+-          if ((sfd = open(pty_name, O_RDWR | O_NOCTTY)) < 0)
++          if ((sfd = open(pty_name, O_RDWR | O_NOCTTY | O_CLOEXEC)) < 0)
+               warn("Couldn't open pty slave %s: %m", pty_name);
+       }
+     }
+@@ -2592,10 +2592,10 @@ get_pty(master_fdp, slave_fdp, slave_name, uid)
+       for (i = 0; i < 64; ++i) {
+           slprintf(pty_name, sizeof(pty_name), "/dev/pty%c%x",
+                    'p' + i / 16, i % 16);
+-          mfd = open(pty_name, O_RDWR, 0);
++          mfd = open(pty_name, O_RDWR | O_CLOEXEC, 0);
+           if (mfd >= 0) {
+               pty_name[5] = 't';
+-              sfd = open(pty_name, O_RDWR | O_NOCTTY, 0);
++              sfd = open(pty_name, O_RDWR | O_NOCTTY | O_CLOEXEC, 0);
+               if (sfd >= 0) {
+                   fchown(sfd, uid, -1);
+                   fchmod(sfd, S_IRUSR | S_IWUSR);
+diff --git a/pppd/tdb.c b/pppd/tdb.c
+index bdc5828..c7ab71c 100644
+--- a/pppd/tdb.c
++++ b/pppd/tdb.c
+@@ -1724,7 +1724,7 @@ TDB_CONTEXT *tdb_open_ex(const char *name, int hash_size, int tdb_flags,
+               goto internal;
+       }
+-      if ((tdb->fd = open(name, open_flags, mode)) == -1) {
++      if ((tdb->fd = open(name, open_flags | O_CLOEXEC, mode)) == -1) {
+               TDB_LOG((tdb, 5, "tdb_open_ex: could not open file %s: %s\n",
+                        name, strerror(errno)));
+               goto fail;      /* errno set by open(2) */
+@@ -1967,7 +1967,7 @@ int tdb_reopen(TDB_CONTEXT *tdb)
+       }
+       if (close(tdb->fd) != 0)
+               TDB_LOG((tdb, 0, "tdb_reopen: WARNING closing tdb->fd failed!\n"));
+-      tdb->fd = open(tdb->name, tdb->open_flags & ~(O_CREAT|O_TRUNC), 0);
++      tdb->fd = open(tdb->name, (tdb->open_flags & ~(O_CREAT|O_TRUNC)) | O_CLOEXEC, 0);
+       if (tdb->fd == -1) {
+               TDB_LOG((tdb, 0, "tdb_reopen: open failed (%s)\n", strerror(errno)));
+               goto fail;
+diff --git a/pppd/tty.c b/pppd/tty.c
+index d571b11..bc96695 100644
+--- a/pppd/tty.c
++++ b/pppd/tty.c
+@@ -569,7 +569,7 @@ int connect_tty()
+                               status = EXIT_OPEN_FAILED;
+                               goto errret;
+                       }
+-                      real_ttyfd = open(devnam, O_NONBLOCK | O_RDWR, 0);
++                      real_ttyfd = open(devnam, O_NONBLOCK | O_RDWR | O_CLOEXEC, 0);
+                       err = errno;
+                       if (prio < OPRIO_ROOT && seteuid(0) == -1)
+                               fatal("Unable to regain privileges");
+@@ -723,7 +723,7 @@ int connect_tty()
+       if (connector == NULL && modem && devnam[0] != 0) {
+               int i;
+               for (;;) {
+-                      if ((i = open(devnam, O_RDWR)) >= 0)
++                      if ((i = open(devnam, O_RDWR | O_CLOEXEC)) >= 0)
+                               break;
+                       if (errno != EINTR) {
+                               error("Failed to reopen %s: %m", devnam);
+diff --git a/pppd/utils.c b/pppd/utils.c
+index 29bf970..6051b9a 100644
+--- a/pppd/utils.c
++++ b/pppd/utils.c
+@@ -918,14 +918,14 @@ lock(dev)
+     slprintf(lock_file, sizeof(lock_file), "%s/LCK..%s", LOCK_DIR, dev);
+ #endif
+-    while ((fd = open(lock_file, O_EXCL | O_CREAT | O_RDWR, 0644)) < 0) {
++    while ((fd = open(lock_file, O_EXCL | O_CREAT | O_RDWR | O_CLOEXEC, 0644)) < 0) {
+       if (errno != EEXIST) {
+           error("Can't create lock file %s: %m", lock_file);
+           break;
+       }
+       /* Read the lock file to find out who has the device locked. */
+-      fd = open(lock_file, O_RDONLY, 0);
++      fd = open(lock_file, O_RDONLY | O_CLOEXEC, 0);
+       if (fd < 0) {
+           if (errno == ENOENT) /* This is just a timing problem. */
+               continue;
+@@ -1004,7 +1004,7 @@ relock(pid)
+     if (lock_file[0] == 0)
+       return -1;
+-    fd = open(lock_file, O_WRONLY, 0);
++    fd = open(lock_file, O_WRONLY | O_CLOEXEC, 0);
+     if (fd < 0) {
+       error("Couldn't reopen lock file %s: %m", lock_file);
+       lock_file[0] = 0;
+-- 
+1.8.3.1
+
diff --git a/src/patches/ppp/0014-everywhere-use-SOCK_CLOEXEC-when-creating-socket.patch b/src/patches/ppp/0014-everywhere-use-SOCK_CLOEXEC-when-creating-socket.patch
new file mode 100644 (file)
index 0000000..3475f09
--- /dev/null
@@ -0,0 +1,174 @@
+From 2a97ab28ee00586e5f06b3ef3a0e43ea0c7c6499 Mon Sep 17 00:00:00 2001
+From: Michal Sekletar <msekleta@redhat.com>
+Date: Mon, 7 Apr 2014 14:21:41 +0200
+Subject: [PATCH 14/25] everywhere: use SOCK_CLOEXEC when creating socket
+
+---
+ pppd/plugins/pppoatm/pppoatm.c          |  2 +-
+ pppd/plugins/pppol2tp/openl2tp.c        |  2 +-
+ pppd/plugins/pppol2tp/pppol2tp.c        |  2 +-
+ pppd/plugins/rp-pppoe/if.c              |  2 +-
+ pppd/plugins/rp-pppoe/plugin.c          |  6 +++---
+ pppd/plugins/rp-pppoe/pppoe-discovery.c |  2 +-
+ pppd/sys-linux.c                        | 10 +++++-----
+ pppd/tty.c                              |  2 +-
+ 8 files changed, 14 insertions(+), 14 deletions(-)
+
+diff --git a/pppd/plugins/pppoatm/pppoatm.c b/pppd/plugins/pppoatm/pppoatm.c
+index d693350..c31bb34 100644
+--- a/pppd/plugins/pppoatm/pppoatm.c
++++ b/pppd/plugins/pppoatm/pppoatm.c
+@@ -135,7 +135,7 @@ static int connect_pppoatm(void)
+       if (!device_got_set)
+               no_device_given_pppoatm();
+-      fd = socket(AF_ATMPVC, SOCK_DGRAM, 0);
++      fd = socket(AF_ATMPVC, SOCK_DGRAM | SOCK_CLOEXEC, 0);
+       if (fd < 0)
+               fatal("failed to create socket: %m");
+       memset(&qos, 0, sizeof qos);
+diff --git a/pppd/plugins/pppol2tp/openl2tp.c b/pppd/plugins/pppol2tp/openl2tp.c
+index 9643b96..1099575 100644
+--- a/pppd/plugins/pppol2tp/openl2tp.c
++++ b/pppd/plugins/pppol2tp/openl2tp.c
+@@ -83,7 +83,7 @@ static int openl2tp_client_create(void)
+       int result;
+       if (openl2tp_fd < 0) {
+-              openl2tp_fd = socket(PF_UNIX, SOCK_DGRAM, 0);
++              openl2tp_fd = socket(PF_UNIX, SOCK_DGRAM | SOCK_CLOEXEC, 0);
+               if (openl2tp_fd < 0) {
+                       error("openl2tp connection create: %m");
+                       return -ENOTCONN;
+diff --git a/pppd/plugins/pppol2tp/pppol2tp.c b/pppd/plugins/pppol2tp/pppol2tp.c
+index a7e3400..e64a778 100644
+--- a/pppd/plugins/pppol2tp/pppol2tp.c
++++ b/pppd/plugins/pppol2tp/pppol2tp.c
+@@ -208,7 +208,7 @@ static void send_config_pppol2tp(int mtu,
+               struct ifreq ifr;
+               int fd;
+-              fd = socket(AF_INET, SOCK_DGRAM, 0);
++              fd = socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0);
+               if (fd >= 0) {
+                       memset (&ifr, '\0', sizeof (ifr));
+                       strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
+diff --git a/pppd/plugins/rp-pppoe/if.c b/pppd/plugins/rp-pppoe/if.c
+index 91e9a57..72aba41 100644
+--- a/pppd/plugins/rp-pppoe/if.c
++++ b/pppd/plugins/rp-pppoe/if.c
+@@ -116,7 +116,7 @@ openInterface(char const *ifname, UINT16_t type, unsigned char *hwaddr)
+     stype = SOCK_PACKET;
+ #endif
+-    if ((fd = socket(domain, stype, htons(type))) < 0) {
++    if ((fd = socket(domain, stype | SOCK_CLOEXEC, htons(type))) < 0) {
+       /* Give a more helpful message for the common error case */
+       if (errno == EPERM) {
+           fatal("Cannot create raw socket -- pppoe must be run as root.");
+diff --git a/pppd/plugins/rp-pppoe/plugin.c b/pppd/plugins/rp-pppoe/plugin.c
+index a8c2bb4..24bdf8f 100644
+--- a/pppd/plugins/rp-pppoe/plugin.c
++++ b/pppd/plugins/rp-pppoe/plugin.c
+@@ -137,7 +137,7 @@ PPPOEConnectDevice(void)
+     /* server equipment).                                                  */
+     /* Opening this socket just before waitForPADS in the discovery()      */
+     /* function would be more appropriate, but it would mess-up the code   */
+-    conn->sessionSocket = socket(AF_PPPOX, SOCK_STREAM, PX_PROTO_OE);
++    conn->sessionSocket = socket(AF_PPPOX, SOCK_STREAM | SOCK_CLOEXEC, PX_PROTO_OE);
+     if (conn->sessionSocket < 0) {
+       error("Failed to create PPPoE socket: %m");
+       return -1;
+@@ -148,7 +148,7 @@ PPPOEConnectDevice(void)
+     lcp_wantoptions[0].mru = conn->mru;
+     /* Update maximum MRU */
+-    s = socket(AF_INET, SOCK_DGRAM, 0);
++    s = socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0);
+     if (s < 0) {
+       error("Can't get MTU for %s: %m", conn->ifName);
+       goto errout;
+@@ -320,7 +320,7 @@ PPPoEDevnameHook(char *cmd, char **argv, int doit)
+     }
+     /* Open a socket */
+-    if ((fd = socket(PF_PACKET, SOCK_RAW, 0)) < 0) {
++    if ((fd = socket(PF_PACKET, SOCK_RAW | SOCK_CLOEXEC, 0)) < 0) {
+       r = 0;
+     }
+diff --git a/pppd/plugins/rp-pppoe/pppoe-discovery.c b/pppd/plugins/rp-pppoe/pppoe-discovery.c
+index 3d3bf4e..c0d927d 100644
+--- a/pppd/plugins/rp-pppoe/pppoe-discovery.c
++++ b/pppd/plugins/rp-pppoe/pppoe-discovery.c
+@@ -121,7 +121,7 @@ openInterface(char const *ifname, UINT16_t type, unsigned char *hwaddr)
+     stype = SOCK_PACKET;
+ #endif
+-    if ((fd = socket(domain, stype, htons(type))) < 0) {
++    if ((fd = socket(domain, stype | SOCK_CLOEXEC, htons(type))) < 0) {
+       /* Give a more helpful message for the common error case */
+       if (errno == EPERM) {
+           rp_fatal("Cannot create raw socket -- pppoe must be run as root.");
+diff --git a/pppd/sys-linux.c b/pppd/sys-linux.c
+index 00a2cf5..0690019 100644
+--- a/pppd/sys-linux.c
++++ b/pppd/sys-linux.c
+@@ -308,12 +308,12 @@ static int modify_flags(int fd, int clear_bits, int set_bits)
+ void sys_init(void)
+ {
+     /* Get an internet socket for doing socket ioctls. */
+-    sock_fd = socket(AF_INET, SOCK_DGRAM, 0);
++    sock_fd = socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0);
+     if (sock_fd < 0)
+       fatal("Couldn't create IP socket: %m(%d)", errno);
+ #ifdef INET6
+-    sock6_fd = socket(AF_INET6, SOCK_DGRAM, 0);
++    sock6_fd = socket(AF_INET6, SOCK_DGRAM | SOCK_CLOEXEC, 0);
+     if (sock6_fd < 0)
+       sock6_fd = -errno;      /* save errno for later */
+ #endif
+@@ -1857,7 +1857,7 @@ get_if_hwaddr(u_char *addr, char *name)
+       struct ifreq ifreq;
+       int ret, sock_fd;
+-      sock_fd = socket(AF_INET, SOCK_DGRAM, 0);
++      sock_fd = socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0);
+       if (sock_fd < 0)
+               return 0;
+       memset(&ifreq.ifr_hwaddr, 0, sizeof(struct sockaddr));
+@@ -2067,7 +2067,7 @@ int ppp_available(void)
+ /*
+  * Open a socket for doing the ioctl operations.
+  */
+-    s = socket(AF_INET, SOCK_DGRAM, 0);
++    s = socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0);
+     if (s < 0)
+       return 0;
+@@ -2860,7 +2860,7 @@ ether_to_eui64(eui64_t *p_eui64)
+     int skfd;
+     const unsigned char *ptr;
+-    skfd = socket(PF_INET6, SOCK_DGRAM, 0);
++    skfd = socket(PF_INET6, SOCK_DGRAM | SOCK_CLOEXEC, 0);
+     if(skfd == -1)
+     {
+         warn("could not open IPv6 socket");
+diff --git a/pppd/tty.c b/pppd/tty.c
+index bc96695..8e76a5d 100644
+--- a/pppd/tty.c
++++ b/pppd/tty.c
+@@ -896,7 +896,7 @@ open_socket(dest)
+     *sep = ':';
+     /* get a socket and connect it to the other end */
+-    sock = socket(PF_INET, SOCK_STREAM, 0);
++    sock = socket(PF_INET, SOCK_STREAM | SOCK_CLOEXEC, 0);
+     if (sock < 0) {
+       error("Can't create socket: %m");
+       return -1;
+-- 
+1.8.3.1
+
diff --git a/src/patches/ppp/ppp-2.4.6-increase-max-padi-attempts.patch b/src/patches/ppp/ppp-2.4.6-increase-max-padi-attempts.patch
new file mode 100644 (file)
index 0000000..5127c1f
--- /dev/null
@@ -0,0 +1,13 @@
+diff --git a/pppd/plugins/rp-pppoe/pppoe.h b/pppd/plugins/rp-pppoe/pppoe.h
+index 9ab2eee..86762bd 100644
+--- a/pppd/plugins/rp-pppoe/pppoe.h
++++ b/pppd/plugins/rp-pppoe/pppoe.h
+@@ -148,7 +148,7 @@ extern UINT16_t Eth_PPPOE_Session;
+ #define STATE_TERMINATED    4
+ /* How many PADI/PADS attempts? */
+-#define MAX_PADI_ATTEMPTS 3
++#define MAX_PADI_ATTEMPTS 4
+ /* Initial timeout for PADO/PADS */
+ #define PADI_TIMEOUT 5
diff --git a/src/patches/squidclamav-5.11-squid-helper-protocol.patch b/src/patches/squidclamav-5.11-squid-helper-protocol.patch
new file mode 100644 (file)
index 0000000..e64bcaf
--- /dev/null
@@ -0,0 +1,185 @@
+diff -Naur squidclamav-5.11.org/src/squidclamav.c squidclamav-5.11/src/squidclamav.c
+--- squidclamav-5.11.org/src/squidclamav.c     2012-10-29 09:46:06.000000000 +0100
++++ squidclamav-5.11/src/squidclamav.c 2014-06-03 12:26:36.215696508 +0200
+@@ -483,7 +483,7 @@
+          aren't appropriate, then just echo back the line from stdin */
+       if (buff_status == 1) {
+         logit(log_file, "DEBUG Invalid input buffer, aborting: %s\n", sbuff);
+-        puts("");
++        puts("BH message=\"Invalid input buffer\"");
+         fflush(stdout);
+         continue;
+       }
+@@ -496,7 +496,7 @@
+           logit(log_file, "DEBUG No squidguard and no antivir check (TRUSTUSER match) for user: %s\n", in_buff.ident);
+         if (statit == 1)
+               timeit(g_start, "Total");
+-        puts("");
++        puts("ERR message=\"TRUSTUSER match\"");
+         fflush(stdout);
+         continue;
+       }
+@@ -508,7 +508,7 @@
+           logit(log_file, "DEBUG No squidguard and no antivir check (TRUSTCLIENT match) for address: %s/%s\n",in_buff.ipaddress, in_buff.fqdn);
+         if (statit == 1)
+               timeit(g_start, "Total");
+-        puts("");
++        puts("ERR message=\"TRUSTCLIENT match\"");
+         fflush(stdout);
+         continue;
+       }
+@@ -520,7 +520,7 @@
+           logit(log_file, "DEBUG No squidguard and no antivir check (WHITELIST match) for url: %s\n", in_buff.url);
+           if (statit == 1)
+               timeit(g_start, "Total");
+-        puts("");
++        puts("ERR message=\"WHITLIST match\"");
+         fflush(stdout);
+         continue;
+       }
+@@ -536,7 +536,7 @@
+         if ((sockd = dconnect ()) < 0)
+           {
+             logit(log_file, "ERROR Can't connect to Clamd daemon, fallback to Squid.\n");
+-            puts("");
++            puts("BH message=\"Cannot connect to clamd\"");
+             fflush(stdout);
+             continue;
+           }
+@@ -546,7 +546,7 @@
+         if (write (sockd, "zINSTREAM", 10) <= 0)
+           {
+             logit(log_file, "ERROR Can't write to Clamd socket.\n");
+-            puts("");
++            puts("BG message=\"Cannot write to clamd socket\"");
+             fflush(stdout);
+             continue;
+           }
+@@ -614,8 +614,7 @@
+                                          logit(log_file, "Squid Cache purged of url %s.\n", in_buff.url);
+                                       }
+                                 }
+-                                fprintf (stdout, "%s %s %s %s\n", urlredir,
+-                                     in_buff.src_address, in_buff.ident, in_buff.method);
++                                fprintf (stdout, "OK rewrite-url=\"%s\"\n", urlredir);
+                                 fflush(stdout);
+                                 xfree(urlredir);
+                                 if (debug != 0)
+@@ -675,7 +674,7 @@
+          continue operation (so that Squid still works!),
+          we simply echo stdin to stdout - i.e. "bridge mode" :-) */
+        if (bridge_mode == 1) {
+-        puts("");
++        puts("ERR message=\"brigde mode\"");
+         fflush(stdout);
+         continue;
+        }
+@@ -685,7 +684,7 @@
+       if (buff_status == -1) {
+         if (debug > 2)
+            logit(log_file, "DEBUG method is not GET skipping virus scan.\n");
+-        puts("");
++        puts("ERR message=\"method is not GET skipping virus scan\"");
+         fflush(stdout);
+         continue;
+       }
+@@ -699,7 +698,7 @@
+               timeit(g_start, "Total");
+         /* no replacement for the URL was found */
+-        puts("");
++        puts("ERR message=\"ABORT match\"");
+         fflush(stdout);
+         continue;
+@@ -750,7 +749,7 @@
+                  logit(log_file, "DEBUG HIT Cache found, trust cache enabled, skipping...\n");
+             if (statit == 1)
+               timeit(g_start, "Total");
+-            puts("");
++            puts("ERR message=\"cache hit found\"");
+             fflush(stdout);
+             continue;
+         }
+@@ -762,7 +761,7 @@
+                     logit(log_file, "ERROR No content length from url %s\n", in_buff.url);
+                     if (statit == 1)
+                               timeit(g_start, "Total");
+-                    puts("");
++                    puts("ERR message=\"no content length from URL\"");
+                     fflush(stdout);
+                     continue;
+         }
+@@ -775,7 +774,7 @@
+                     logit(log_file, "DEBUG No antivir check (Content length is upper than maxsize): %'.2f > %'.2f\n", usize, maxsize);
+            if (statit == 1)
+               timeit(g_start, "Total");
+-           puts("");
++           puts("ERR message=\"content length is upper than maxsize\"");
+            fflush(stdout);
+            continue;
+         }
+@@ -787,7 +786,7 @@
+                      in_buff.url);
+                 if (statit == 1)
+                       timeit(g_start, "Total");
+-                puts("");
++                puts("ERR message=\"no content type from URL\"");
+                 fflush(stdout);
+                 continue;
+         }
+@@ -799,7 +798,7 @@
+                   logit(log_file, "DEBUG No antivir check (ABORTCONTENT match) for content-type: %s\n", content_type);
+               if (statit == 1)
+                       timeit(g_start, "Total");
+-              puts("");
++              puts("ERR message=\"ABORTCONTENT match\"");
+               fflush(stdout);
+               continue;
+          }
+@@ -814,7 +813,7 @@
+         if ((sockd = dconnect ()) < 0)
+           {
+             logit(log_file, "ERROR Can't connect to Clamd daemon, fallback to Squid.\n");
+-            puts("");
++            puts("BH message=\"cannot connect clamd daemon\"");
+             fflush(stdout);
+             continue;
+           }
+@@ -824,7 +823,7 @@
+         if (write (sockd, "zINSTREAM", 10) <= 0)
+           {
+             logit(log_file, "ERROR Can't write to Clamd socket.\n");
+-            puts("");
++            puts("BH message=\"cannot write to clamd socket\"");
+             fflush(stdout);
+             continue;
+           }
+@@ -844,7 +843,7 @@
+             close (sockd);
+             if (debug > 1)
+                logit(log_file, "DEBUG Connection to clamd closed.\n");
+-            puts("");
++            puts("ERR message=\"connection to clamd closed\"");
+             fflush(stdout);
+             if (statit == 1)
+                timeit(g_start, "Total");
+@@ -892,8 +891,7 @@
+                                  logit(log_file, "Squid Cache purged of url %s.\n", in_buff.url);
+                               }
+                         }
+-                        fprintf (stdout, "%s %s %s %s\n", urlredir,
+-                             in_buff.src_address, in_buff.ident, in_buff.method);
++                        fprintf (stdout, "OK rewrite-url=\"%s\"\n", urlredir);
+                         fflush(stdout);
+                         xfree(urlredir);
+                         if (debug != 0)
+@@ -911,7 +909,7 @@
+         if (virusfound == 0) {
+             if (debug != 0)
+               logit(log_file, "DEBUG No virus detected.\n");
+-            puts("");
++            puts("ERR message=\"no virus detected\"");
+             fflush(stdout);
+         }
+       }
diff --git a/src/patches/squidguard-1.4-squid-helper-protocol.patch b/src/patches/squidguard-1.4-squid-helper-protocol.patch
new file mode 100644 (file)
index 0000000..9806946
--- /dev/null
@@ -0,0 +1,75 @@
+http://bugs.squid-cache.org/show_bug.cgi?id=3978
+
+--- squidGuard-1.4.orig/src/main.c     2013-12-11 17:42:15.000000000 +1300
++++ squidGuard-1.4.orig/src/main.c     2013-12-11 19:04:09.000000000 +1300
+@@ -175,7 +175,7 @@ 
+       sgReloadConfig();
+       }
+       if(failsafe_mode) {
+-      puts("");
++      puts("ERR message=\"squidGuard failsafe mode\"");
+       fflush(stdout);
+       if(sig_hup){
+           sgReloadConfig();
+@@ -184,7 +184,7 @@ 
+       }
+       if(parseLine(buf,&squidInfo) != 1){
+       sgLogError("Error parsing squid line: %s",buf);
+-      puts("");
++      puts("BH message=\"squidGuard error parsing squid line\"");
+       }
+         else {
+       src = Source;
+@@ -196,14 +196,14 @@ 
+         acl = sgAclCheckSource(src);
+         if((redirect = sgAclAccess(src,acl,&squidInfo)) == NULL){
+           if(src == NULL || src->cont_search == 0){
+-            puts(""); 
++            puts("ERR");
+             break;
+           } else
+             if(src->next != NULL){
+               src = src->next;
+               continue;
+             } else {
+-              puts("");
++              puts("ERR");
+               break;
+             }
+         } else {
+@@ -215,9 +215,10 @@ 
+             squidInfo.ident[0] = '-';
+             squidInfo.ident[1] = '\0';
+           }
+-          fprintf(stdout,"%s %s/%s %s %s\n",redirect,squidInfo.src,
+-                  squidInfo.srcDomain,squidInfo.ident,
+-                  squidInfo.method);
++          if (isdigit(redirect[0]) && isdigit(redirect[1]) && isdigit(redirect[2]) && redirect[3]==':') {
++            fprintf(stdout,"OK status=%c%c%c url=\"%s\"\n", redirect[0], redirect[1], redirect[2], &redirect[4]);
++          } else
++            fprintf(stdout,"OK rewrite-url=\"%s\"\n",redirect);
+             /* sgLogError("%s %s/%s %s %s\n",redirect,squidInfo.src,squidInfo.srcDomain,squidInfo.ident,squidInfo.method);  */
+           break;
+         }
+--- squidGuard-1.4.orig/src/sgDiv.c    2013-12-11 17:42:15.000000000 +1300
++++ squidGuard-1.4.orig/src/sgDiv.c    2013-12-11 18:58:33.000000000 +1300
+@@ -771,7 +771,7 @@ 
+   }
+   sgLogError("Going into emergency mode");
+   while(fgets(buf, MAX_BUF, stdin) != NULL){
+-    puts("");
++    puts("ERR");
+     fflush(stdout);
+   }
+   sgLogError("ending emergency mode, stdin empty");
+--- squidGuard-1.4.orig/src/sgDiv.c.in 2013-12-11 17:42:15.000000000 +1300
++++ squidGuard-1.4.orig/src/sgDiv.c.in 2013-12-11 18:58:40.000000000 +1300
+@@ -782,7 +782,7 @@ 
+   }
+   sgLogError("Going into emergency mode");
+   while(fgets(buf, MAX_BUF, stdin) != NULL){
+-    puts("");
++    puts("ERR");
+     fflush(stdout);
+   }
+   sgLogError("ending emergency mode, stdin empty");
diff --git a/src/scripts/setddns.pl b/src/scripts/setddns.pl
deleted file mode 100644 (file)
index f97e750..0000000
+++ /dev/null
@@ -1,761 +0,0 @@
-#!/usr/bin/perl
-#
-# SmoothWall CGIs
-#
-# This code is distributed under the terms of the GPL
-#
-# (c) The SmoothWall Team
-#
-# $Id: setddns.pl,v 1.4.2.32 2006/02/07 01:29:47 franck78 Exp $
-#
-
-#close(STDIN);
-#close(STDOUT);
-#close(STDERR);
-
-use strict;
-use IO::Socket;
-use Net::SSLeay;
-
-require '/var/ipfire/general-functions.pl';
-
-#Prototypes functions
-sub encode_base64 ($;$);
-
-my %settings;
-my $filename = "${General::swroot}/ddns/config";
-my $cachefile = "${General::swroot}/ddns/ipcache";
-my $ipcache = 0;
-my @current = ();
-
-if (open(FILE, "$filename")) {
-    @current = <FILE>;
-    close(FILE);
-    unless(@current) { 
-       exit 0; 
-    }
-} else {
-    &General::log('Dynamic DNS failure : unable to open config file.');
-    exit 0;
-}
-
-&General::readhash("${General::swroot}/ddns/settings", \%settings);
-
-# ignore monthly update if not in minimize update mode
-exit 0 if (($settings{'MINIMIZEUPDATES'} ne 'on') && ($ARGV[1] eq '-m'));
-
-my $ip = &General::GetDyndnsRedIP();
-
-if ($ip eq "unavailable") {
-       &General::log("Dynamic DNS error: RED/Public IP is unavailable");
-       exit(0);
-}
-
-&General::log("Dynamic DNS public router IP is: $ip");
-
-if ($ARGV[0] eq '-f') {
-       unlink ($cachefile);    # next regular calls will try again if this force update fails.
-} else {
-       open(IPCACHE, "$cachefile");
-       $ipcache = <IPCACHE>;
-       close(IPCACHE);
-       chomp $ipcache;
-}
-
-if ($ip ne $ipcache) {
-       my $id = 0;
-       my $success = 0;
-       my $line;
-       my $lines = @current;
-
-       foreach $line (@current) {
-               $id++;
-               chomp($line);
-               my @temp = split(/\,/,$line);
-               unless ($temp[7] ne "on") {
-                       $settings{'SERVICE'} = $temp[0];
-                       $settings{'HOSTNAME'} = $temp[1];
-                       $settings{'DOMAIN'} = $temp[2];
-                       $settings{'PROXY'} = $temp[3];
-                       $settings{'WILDCARDS'} = $temp[4];
-                       $settings{'LOGIN'} = $temp[5];
-                       $settings{'PASSWORD'} = $temp[6];
-                       $settings{'ENABLED'} = $temp[7];
-
-                       #Some connection are very stable (more than 40 days). Finally force
-                       #one update / month to avoid account lost
-                       #cron call once/week with -f & once/month with -f -m options
-                       #minimize update ?
-                       if ( ($settings{'MINIMIZEUPDATES'} eq 'on') && ($ARGV[1] ne '-m') ) {
-                           if (General::DyndnsServiceSync($ip, $settings{'HOSTNAME'},$settings{'DOMAIN'})) {
-                               &General::log ("Dynamic DNS ip-update for $settings{'HOSTNAME'}.$settings{'DOMAIN'} is uptodate [$ip]");
-                               $success++;
-                               next;           # do not update, go to test next service
-                           }
-                       }
-                       if ($settings{'SERVICE'} ne "dns.lightningwirelabs.com") {
-                               my @service = split(/\./, "$settings{'SERVICE'}");
-                               $settings{'SERVICE'} = "$service[0]";
-                       }
-                       if ($settings{'SERVICE'} eq 'no-ip') {
-                               open(F, ">${General::swroot}/ddns/noipsettings");
-                               flock F, 2;
-                               print F "PROXY=" . ($settings{'PROXY'} eq 'on' ? "Y\n" : "N\n");
-                               print F "PASSWORD=$settings{'PASSWORD'}\n";
-                               print F "NAT=N\n";
-                               print F "LOGIN=$settings{'LOGIN'}\n";
-                               print F "INTERVAL=1\n";
-                               if ($settings{'HOSTNAME'} !~ s/$General::noipprefix//) {
-                                   print F "HOSTNAME=$settings{'HOSTNAME'}\n";
-                                   print F "GROUP=\n";
-                               } else {
-                                   print F "HOSTNAME=\n";
-                                   print F "GROUP=$settings{'HOSTNAME'}\n";
-                               }
-                               print F "DOMAIN=$settings{'DOMAIN'}\n";
-                               print F "DEVICE=\n";
-                               print F "DAEMON=N\n";
-                               close(F);
-
-                               my @ddnscommand = ('/usr/bin/noip','-c',"${General::swroot}/ddns/noipsettings",'-i',"$ip");
-
-                               my $result = system(@ddnscommand);
-                               if ( $result != 0) { 
-                                       &General::log("Dynamic DNS ip-update for $settings{'HOSTNAME'}.$settings{'DOMAIN'} : failure");
-                               } else {
-                                       &General::log("Dynamic DNS ip-update for $settings{'HOSTNAME'}.$settings{'DOMAIN'} : success");
-                                       $success++;
-                               }
-                       }
-
-                       elsif ($settings{'SERVICE'} eq 'all-inkl') {
-                           my %proxysettings;
-                           &General::readhash("${General::swroot}/proxy/settings", \%proxysettings);
-                           if ($_=$proxysettings{'UPSTREAM_PROXY'}) {
-                               my ($peer, $peerport) = (/^(?:[a-zA-Z ]+\:\/\/)?(?:[A-Za-z0-9\_\.\-]*?(?:\:[A-Za-z0-9\_\.\-]*?)?\@)?([a-zA-Z0-9\.\_\-]*?)(?:\:([0-9]{1,5}))?(?:\/.*?)?$/);
-                               Net::SSLeay::set_proxy($peer,$peerport,$proxysettings{'UPSTREAM_USER'},$proxysettings{'UPSTREAM_PASSWORD'} );
-                           }
-
-                           my ($out, $response) = Net::SSLeay::get_https("dyndns.kasserver.com", 443, "/", Net::SSLeay::make_headers(
-                                       'User-Agent' => 'IPFire', 'Authorization' => 'Basic ' . encode_base64("$settings{'LOGIN'}:$settings{'PASSWORD'}")
-                           ));
-
-                           # Valid response are 'ok'   'nochange'
-                           if ($response =~ m%HTTP/1\.. 200 OK%) {
-                               &General::log("Dynamic DNS ip-update for $settings{'HOSTNAME'}.$settings{'DOMAIN'} : success");
-                               $success++;
-                           } else {
-                               &General::log("Dynamic DNS ip-update for $settings{'HOSTNAME'}.$settings{'DOMAIN'} : failure (could not connect to server, check your credentials)");
-                           }
-                       }
-
-                       elsif ($settings{'SERVICE'} eq 'cjb') {
-                           # use proxy ?
-                           my %proxysettings;
-                           &General::readhash("${General::swroot}/proxy/settings", \%proxysettings);
-                           if ($_=$proxysettings{'UPSTREAM_PROXY'}) {
-                               my ($peer, $peerport) = (/^(?:[a-zA-Z ]+\:\/\/)?(?:[A-Za-z0-9\_\.\-]*?(?:\:[A-Za-z0-9\_\.\-]*?)?\@)?([a-zA-Z0-9\.\_\-]*?)(?:\:([0-9]{1,5}))?(?:\/.*?)?$/);
-                               Net::SSLeay::set_proxy($peer,$peerport,$proxysettings{'UPSTREAM_USER'},$proxysettings{'UPSTREAM_PASSWORD'} );
-                           }
-
-                           my ($out, $response) = Net::SSLeay::get_http(  'www.cjb.net',
-                                                                           80,
-                                                                           "/cgi-bin/dynip.cgi?username=$settings{'LOGIN'}&password=$settings{'PASSWORD'}&ip=$ip",
-                                                                           Net::SSLeay::make_headers('User-Agent' => 'IPFire' )
-                                                                        );
-
-                           if ($response =~ m%HTTP/1\.. 200 OK%) {
-                               if ( $out !~ m/has been updated to point to/ ) {
-                                   &General::log("Dynamic DNS ip-update for cjb.net ($settings{'LOGIN'}) : failure (bad password or login)");
-                               } else {
-                                   &General::log("Dynamic DNS ip-update for cjb.net ($settings{'LOGIN'}) : success");
-                                   $success++;
-                               }
-                           } else {
-                               &General::log("Dynamic DNS ip-update for cjb.net ($settings{'LOGIN'}) : failure (could not connect to server)");
-                           }
-                       }
-                       elsif ($settings{'SERVICE'} eq 'selfhost') {
-                           # use proxy ?
-                           my %proxysettings;
-                           &General::readhash("${General::swroot}/proxy/settings", \%proxysettings);
-                           if ($_=$proxysettings{'UPSTREAM_PROXY'}) {
-                               my ($peer, $peerport) = (/^(?:[a-zA-Z ]+\:\/\/)?(?:[A-Za-z0-9\_\.\-]*?(?:\:[A-Za-z0-9\_\.\-]*?)?\@)?([a-zA-Z0-9\.\_\-]*?)(?:\:([0-9]{1,5}))?(?:\/.*?)?$/);
-                               Net::SSLeay::set_proxy($peer,$peerport,$proxysettings{'UPSTREAM_USER'},$proxysettings{'UPSTREAM_PASSWORD'} );
-                           }
-
-                           my ($out, $response) = Net::SSLeay::get_https(  'carol.selfhost.de',
-                                                                           443,
-                                                                           "/update?username=$settings{'LOGIN'}&password=$settings{'PASSWORD'}&textmodi=1",
-                                                                           Net::SSLeay::make_headers('User-Agent' => 'IPFire' )
-                                                                        );
-
-                           if ($response =~ m%HTTP/1\.. 200 OK%) {
-                               if ( $out !~ m/status=(200|204)/ ) {
-                                   $out =~ s/\n/ /g;
-                                   &General::log("Dynamic DNS ip-update for $settings{'HOSTNAME'}.$settings{'DOMAIN'} : failure ($out)");
-                               } else {
-                                   &General::log("Dynamic DNS ip-update for $settings{'HOSTNAME'}.$settings{'DOMAIN'} : success");
-                                   $success++;
-                               }
-                           } else {
-                               &General::log("Dynamic DNS ip-update for $settings{'HOSTNAME'}.$settings{'DOMAIN'} : failure (could not connect to server)");
-                           }
-                       }
-                       elsif ($settings{'SERVICE'} eq 'dnspark') {
-                           # use proxy ?
-                           my %proxysettings;
-                           &General::readhash("${General::swroot}/proxy/settings", \%proxysettings);
-                           if ($_=$proxysettings{'UPSTREAM_PROXY'}) {
-                               my ($peer, $peerport) = (/^(?:[a-zA-Z ]+\:\/\/)?(?:[A-Za-z0-9\_\.\-]*?(?:\:[A-Za-z0-9\_\.\-]*?)?\@)?([a-zA-Z0-9\.\_\-]*?)(?:\:([0-9]{1,5}))?(?:\/.*?)?$/);
-                               Net::SSLeay::set_proxy($peer,$peerport,$proxysettings{'UPSTREAM_USER'},$proxysettings{'UPSTREAM_PASSWORD'} );
-                           }
-
-                           if ($settings{'HOSTNAME'} eq '') {
-                               $settings{'HOSTDOMAIN'} = $settings{'DOMAIN'};
-                           } else {
-                               $settings{'HOSTDOMAIN'} = "$settings{'HOSTNAME'}.$settings{'DOMAIN'}";
-                           }
-
-                           my ($out, $response) = Net::SSLeay::get_https(  "www.dnspark.net",
-                                                                           443,
-                                                                           "/api/dynamic/update.php?hostname=$settings{'HOSTDOMAIN'}&ip=$ip",
-                                                                           Net::SSLeay::make_headers('User-Agent' => 'IPFire',
-                                                                                                     'Authorization' => 'Basic ' . encode_base64("$settings{'LOGIN'}:$settings{'PASSWORD'}")
-                                                                            )
-                                                                        );
-                           # Valid response are 'ok'   'nochange'
-                           if ($response =~ m%HTTP/1\.. 200 OK%) {
-                               if ( $out !~ m/^(ok|nochange)/ ) {
-                                   $out =~ s/\n/ /g;
-                                   &General::log("Dynamic DNS ip-update for $settings{'HOSTDOMAIN'} : failure ($out)");
-                               } else {
-                                   &General::log("Dynamic DNS ip-update for $settings{'HOSTDOMAIN'} : success");
-                                   $success++;
-                               }
-                           } else {
-                               &General::log("Dynamic DNS ip-update for $settings{'HOSTDOMAIN'} : failure (could not connect to server, check your credentials)");
-                           }
-                       }
-                       elsif ($settings{'SERVICE'} eq 'dns.lightningwirelabs.com') {
-                           # use proxy ?
-                           my %proxysettings;
-                           &General::readhash("${General::swroot}/proxy/settings", \%proxysettings);
-                           if ($_=$proxysettings{'UPSTREAM_PROXY'}) {
-                               my ($peer, $peerport) = (/^(?:[a-zA-Z ]+\:\/\/)?(?:[A-Za-z0-9\_\.\-]*?(?:\:[A-Za-z0-9\_\.\-]*?)?\@)?([a-zA-Z0-9\.\_\-]*?)(?:\:([0-9]{1,5}))?(?:\/.*?)?$/);
-                               Net::SSLeay::set_proxy($peer,$peerport,$proxysettings{'UPSTREAM_USER'},$proxysettings{'UPSTREAM_PASSWORD'} );
-                           }
-
-                           if ($settings{'HOSTNAME'} eq '') {
-                               $settings{'HOSTDOMAIN'} = $settings{'DOMAIN'};
-                           } else {
-                               $settings{'HOSTDOMAIN'} = "$settings{'HOSTNAME'}.$settings{'DOMAIN'}";
-                           }
-
-                           my $authstring;
-                           if ($settings{'LOGIN'} eq "token") {
-                               $authstring = "token=$settings{'PASSWORD'}";
-                           } else {
-                               $authstring = "username=$settings{'LOGIN'}&password=$settings{'PASSWORD'}";
-                           }
-
-                           my $user_agent = &General::MakeUserAgent();
-                           my ($out, $response) = Net::SSLeay::get_https("dns.lightningwirelabs.com", 443,
-                               "/update?hostname=$settings{'HOSTDOMAIN'}&address4=$ip&$authstring",
-                               Net::SSLeay::make_headers('User-Agent' => $user_agent)
-                           );
-
-                           # Valid response are 'ok'   'nochange'
-                           if ($response =~ m%HTTP/1\.. 200 OK%) {
-                               &General::log("Dynamic DNS ip-update for $settings{'HOSTDOMAIN'} : success");
-                               $success++;
-                           } else {
-                               &General::log("Dynamic DNS ip-update for $settings{'HOSTDOMAIN'} : failure (could not connect to server, check your credentials)");
-                           }
-                       }
-                       elsif ($settings{'SERVICE'} eq 'enom') {
-                           # use proxy ?
-                           my %proxysettings;
-                           &General::readhash("${General::swroot}/proxy/settings", \%proxysettings);
-                           if ($_=$proxysettings{'UPSTREAM_PROXY'}) {
-                               my ($peer, $peerport) = (/^(?:[a-zA-Z ]+\:\/\/)?(?:[A-Za-z0-9\_\.\-]*?(?:\:[A-Za-z0-9\_\.\-]*?)?\@)?([a-zA-Z0-9\.\_\-]*?)(?:\:([0-9]{1,5}))?(?:\/.*?)?$/);
-                               Net::SSLeay::set_proxy($peer,$peerport,$proxysettings{'UPSTREAM_USER'},$proxysettings{'UPSTREAM_PASSWORD'} );
-                           }
-                           if ($settings{'HOSTNAME'} eq '') {
-                               $settings{'HOSTDOMAIN'} = $settings{'DOMAIN'};
-                           } else {
-                               $settings{'HOSTDOMAIN'} = "$settings{'HOSTNAME'}.$settings{'DOMAIN'}";
-                           }
-
-                           my ($out, $response) = Net::SSLeay::get_http(  'dynamic.name-services.com',
-                                                                           80,
-                                                                           "/interface.asp?Command=SetDNSHost&Zone=$settings{'DOMAIN'}&DomainPassword=$settings{'PASSWORD'}&Address=$ip",
-                                                                           Net::SSLeay::make_headers('User-Agent' => 'IPFire' )
-                                                                        );
-
-                           if ($response =~ m%HTTP/1\.. 200 OK%) {
-                               #Valid responses from update => ErrCount=0
-                               if ( $out !~ m/ErrCount=0/ ) {
-                                    $out =~ s/(\n|\x0D)/ /g;
-                                   $out =~ /Err1=([\w ]+)  /;
-                                   &General::log("Dynamic DNS ip-update for $settings{'HOSTNAME'}.$settings{'DOMAIN'} : failure ($1)");
-                               } else {
-                                   &General::log("Dynamic DNS ip-update for $settings{'HOSTNAME'}.$settings{'DOMAIN'} : success");
-                                   $success++;
-                               }
-                           } else {
-                               &General::log("Dynamic DNS ip-update for $settings{'HOSTNAME'}.$settings{'DOMAIN'} : failure (could not connect to server)");
-                           }
-                       }
-                       elsif ($settings{'SERVICE'} eq 'nsupdate') {
-                               # Fetch UI configurable values and assemble the host name.
-
-                               my $hostName="$settings{'DOMAIN'}";
-                               if ($settings{'HOSTNAME'} ne "") {
-                                       $hostName="$settings{'HOSTNAME'}.$hostName";
-                               }
-                               my $keyName=$settings{'LOGIN'};
-                               my $keySecret=$settings{'PASSWORD'};
-
-                               # Use a relatively long TTL value to reduce load on DNS.
-                               # Some public Dynamic DNS servers use values around 4 hours,
-                               # some use values as low as 60 seconds.
-                               # XXX Maybe we could fetch the master value from the server
-                               # (not the timed-down version supplied by DNS cache)
-
-                               my $timeToLive="3600";
-
-                               # Internal setting that can be used to override the DNS server
-                               # where the update is applied. It can be of use when testing
-                               # against a private DNS server.
-                               my $masterServer="";
-
-                               # Prepare the nsupdate command script to remove and re-add the
-                               # updated A record for the domain.
-
-                               my $cmdFile="/tmp/nsupdate-$hostName-commands";
-                               my $logFile="/tmp/nsupdate-$hostName-result";
-                               open(TF, ">$cmdFile");
-                               if ($masterServer ne "") {
-                                       print TF "server $masterServer\n";
-                               }
-                               if ($keyName ne "" && $keySecret ne "") {
-                                       print TF "key $keyName $keySecret\n";
-                               }
-                               print TF "update delete $hostName A\n";
-                               print TF "update add $hostName $timeToLive A $ip\n";
-                               print TF "send\n";
-                               close(TF);
-
-                               # Run nsupdate with -v to use TCP instead of UDP because we're
-                               # issuing multiple cmds and potentially long keys, and -d to
-                               # get diagnostic result output.
-
-                               my $result = system("/usr/bin/nsupdate -v -d $cmdFile 2>$logFile");
-                               if ($result != 0) {
-                                       &General::log("Dynamic DNS ip-update for $hostName : failure");
-                                       open(NSLOG, "$logFile");
-                                       my @nsLog = <NSLOG>;
-                                       close(NSLOG);
-                                       my $logLine;
-                                       foreach $logLine (@nsLog) {
-                                               chomp($logLine);
-                                               if ($logLine ne "") {
-                                                       &General::log("... $logLine");
-                                               }
-                                       }
-                               } else {
-                                       &General::log("Dynamic DNS ip-update for $hostName : success");
-                                       $success++;
-                               }
-                               unlink $cmdFile, $logFile;
-                       }
-                       elsif ($settings{'SERVICE'} eq 'freedns') {
-                           # use proxy ?
-                           my %proxysettings;
-                           &General::readhash("${General::swroot}/proxy/settings", \%proxysettings);
-                           if ($_=$proxysettings{'UPSTREAM_PROXY'}) {
-                               my ($peer, $peerport) = (/^(?:[a-zA-Z ]+\:\/\/)?(?:[A-Za-z0-9\_\.\-]*?(?:\:[A-Za-z0-9\_\.\-]*?)?\@)?([a-zA-Z0-9\.\_\-]*?)(?:\:([0-9]{1,5}))?(?:\/.*?)?$/);
-                               Net::SSLeay::set_proxy($peer,$peerport,$proxysettings{'UPSTREAM_USER'},$proxysettings{'UPSTREAM_PASSWORD'} );
-                           }
-
-                           my ($out, $response) = Net::SSLeay::get_https(  'freedns.afraid.org',
-                                                                           443,
-                                                                           "/dynamic/update.php?$settings{'LOGIN'}",
-                                                                           Net::SSLeay::make_headers('User-Agent' => 'IPFire' )
-                                                                        );
-                           #Valid responses from service are:
-                            #Updated n host(s) <domain>
-                            #ERROR: <ip> has not changed.
-                           if ($response =~ m%HTTP/1\.. 200 OK%) {
-                               #Valid responses from update => ErrCount=0
-                               if ( $out !~ m/(^Updated|Address .* has not changed)/ig ) {
-                                   &General::log("Dynamic DNS ip-update for $settings{'HOSTNAME'}.$settings{'DOMAIN'} : failure ($out)");
-                               } else {
-                                   &General::log("Dynamic DNS ip-update for $settings{'HOSTNAME'}.$settings{'DOMAIN'} : success");
-                                   $success++;
-                               }
-                           } else {
-                               &General::log("Dynamic DNS ip-update for $settings{'HOSTNAME'}.$settings{'DOMAIN'} : failure (could not connect to server)");
-                           }
-                       }
-                       elsif ($settings{'SERVICE'} eq 'strato') {
-                               # use proxy ?
-                               my %proxysettings;
-                               &General::readhash("${General::swroot}/proxy/settings", \%proxysettings);
-                               if ($_=$proxysettings{'UPSTREAM_PROXY'}) {
-                                       my ($peer, $peerport) = (/^(?:[a-zA-Z ]+\:\/\/)?(?:[A-Za-z0-9\_\.\-]*?(?:\:[A-Za-z0-9\_\.\-]*?)?\@)?([a-zA-Z0-9\.\_\-]*?)(?:\:([0-9]{1,5}))?(?:\/.*?)?$/);
-                                       Net::SSLeay::set_proxy($peer,$peerport,$proxysettings{'UPSTREAM_USER'},$proxysettings{'UPSTREAM_PASSWORD'} );
-                               }
-
-                               if ($settings{'HOSTNAME'} eq '') {
-                                       $settings{'HOSTDOMAIN'} = $settings{'DOMAIN'};
-                               } else {
-                                       $settings{'HOSTDOMAIN'} = "$settings{'HOSTNAME'}.$settings{'DOMAIN'}";
-                               }
-
-                               my ($out, $response) = Net::SSLeay::get_https(  'dyndns.strato.com',
-                                                                           443,
-                                                                           "/nic/update?hostname=$settings{'HOSTDOMAIN'}&myip=$ip",
-                                                                           Net::SSLeay::make_headers('User-Agent' => 'IPFire',
-                                                                            'Authorization' => 'Basic ' . encode_base64("$settings{'LOGIN'}:$settings{'PASSWORD'}") )
-                                                                        );
-
-                               if ($response =~ m%HTTP/1\.. 200 OK%) {
-                                       #Valid responses from update => ErrCount=0
-                                       if ( $out =~ m/good |nochg /ig) {
-                                               &General::log("Dynamic DNS ip-update for $settings{'HOSTNAME'}.$settings{'DOMAIN'} : success");
-                                               $success++;
-                                       } else {
-                                               &General::log("Dynamic DNS ip-update for $settings{'HOSTNAME'}.$settings{'DOMAIN'} : failure1 ($out)");
-                                               $success++;
-                                       }
-                               } elsif ( $out =~ m/<title>(.*)<\/title>/ig ) {
-                                       &General::log("Dynamic DNS ip-update for $settings{'HOSTNAME'}.$settings{'DOMAIN'} : failure2 ($1)");
-                               } else {
-                                       &General::log("Dynamic DNS ip-update for $settings{'HOSTNAME'}.$settings{'DOMAIN'} : failure3 ($response)");
-                               }
-                       }
-                       elsif ($settings{'SERVICE'} eq 'regfish') {
-                           # use proxy ?
-                           my %proxysettings;
-                           &General::readhash("${General::swroot}/proxy/settings", \%proxysettings);
-                           if ($_=$proxysettings{'UPSTREAM_PROXY'}) {
-                               my ($peer, $peerport) = (/^(?:[a-zA-Z ]+\:\/\/)?(?:[A-Za-z0-9\_\.\-]*?(?:\:[A-Za-z0-9\_\.\-]*?)?\@)?([a-zA-Z0-9\.\_\-]*?)(?:\:([0-9]{1,5}))?(?:\/.*?)?$/);
-                               Net::SSLeay::set_proxy($peer,$peerport,$proxysettings{'UPSTREAM_USER'},$proxysettings{'UPSTREAM_PASSWORD'} );
-                           }
-                                       my ($out, $response) = Net::SSLeay::get_https(  'dyndns.regfish.de',
-                                                                               443,
-                                                                               "/?fqdn=$settings{'DOMAIN'}&ipv4=$ip&forcehost=1&authtype=secure&token=$settings{'LOGIN'}",
-                                                                               Net::SSLeay::make_headers('User-Agent' => 'Ipfire' )
-                                                                               );
-                           #Valid responses from service are:
-                           #success|100|update succeeded!
-                           #success|101|no update needed at this time..
-                           if ($response =~ m%HTTP/1\.. 200 OK%) {
-                               if ( $out !~ m/(success\|(100|101)\|)/ig ) {
-                                   &General::log("Dynamic DNS ip-update for $settings{'DOMAIN'} : failure ($out)");
-                               } else {
-                                   &General::log("Dynamic DNS ip-update for $settings{'DOMAIN'} : success");
-                                   $success++;
-                               }
-                           } else {
-                               &General::log("Dynamic DNS ip-update for $settings{'DOMAIN'} : failure (could not connect to server)");
-                           }
-                       }
-                       elsif ($settings{'SERVICE'} eq 'ovh') {
-                               my %proxysettings;
-                               &General::readhash("${General::swroot}/proxy/settings", \%proxysettings);
-
-                               my $peer = 'www.ovh.com';
-                               my $peerport = 80;
-
-                               if ($_=$proxysettings{'UPSTREAM_PROXY'}) {
-                                       ($peer, $peerport) = (/^(?:[a-zA-Z ]+\:\/\/)?(?:[A-Za-z0-9\_\.\-]*?(?:\:[A-Za-z0-9\_\.\-]*?)?\@)?([a-zA-Z0-9\.\_\-]*?)(?:\:([0-9]{1,5}))?(?:\/.*?)?$/);
-                               }
-
-                               my $sock;
-                               unless($sock = new IO::Socket::INET (PeerAddr => $peer, PeerPort => $peerport, Proto => 'tcp', Timeout => 5)) {
-                                       &General::log("Dynamic DNS failure : could not connect to $peer:$peerport: $@");
-                                       next;
-                               }
-
-                               if ($settings{'HOSTNAME'} eq '') {
-                                       $settings{'HOSTDOMAIN'} = $settings{'DOMAIN'};
-                               } else {
-                                       $settings{'HOSTDOMAIN'} = "$settings{'HOSTNAME'}.$settings{'DOMAIN'}";
-                               }
-
-                               my ($GET_CMD, $code64);
-                               $GET_CMD  = "GET http://www.ovh.com/nic/update?system=dyndns&hostname=$settings{'HOSTDOMAIN'}&myip=$ip HTTP/1.1\r\n";
-                               $GET_CMD .= "Host: www.ovh.com\r\n";
-                               chomp($code64 = encode_base64("$settings{'LOGIN'}:$settings{'PASSWORD'}"));
-                               $GET_CMD .= "Authorization: Basic $code64\r\n";
-                               $GET_CMD .= "User-Agent: ipfire\r\n";
-                              #$GET_CMD .= "Content-Type: application/x-www-form-urlencoded\r\n";
-                               $GET_CMD .= "\r\n";
-                               print $sock "$GET_CMD";
-                                                                                                                                                                                                                               
-                               my $out = '';
-                               while(<$sock>) {
-                                       $out .= $_;
-                               }
-                               close($sock);
-
-                                #HTTP response => error (in  Title tag) else text response
-                               #Valid responses from service:good,nochg  (ez-ipupdate like)
-                               #Should use ez-ipdate but "system=dyndns" is not present
-                               if ( $out =~ m/<Title>(.*)<\/Title>/ig ) {
-                                       &General::log("Dynamic DNS ovh.com : failure ($1)");
-                               }
-                               elsif ($out !~ m/good |nochg /ig) {
-                                       $out =~ s/.+?\015?\012\015?\012//s;    # header HTTP
-                                       my @out = split("\r", $out);
-                                       &General::log("Dynamic DNS ip-update for $settings{'DOMAIN'} : failure ($out[1])");
-                               } else {
-                                       &General::log("Dynamic DNS ip-update for $settings{'DOMAIN'} : success");
-                                       $success++;
-                               }
-                       }
-                       elsif ($settings{'SERVICE'} eq 'dtdns') {
-                           # use proxy ?
-                           my %proxysettings;
-                           &General::readhash("${General::swroot}/proxy/settings", \%proxysettings);
-                           if ($_=$proxysettings{'UPSTREAM_PROXY'}) {
-                               my ($peer, $peerport) = (/^(?:[a-zA-Z ]+\:\/\/)?(?:[A-Za-z0-9\_\.\-]*?(?:\:[A-Za-z0-9\_\.\-]*?)?\@)?([a-zA-Z0-9\.\_\-]*?)(?:\:([0-9]{1,5}))?(?:\/.*?)?$/);
-                               Net::SSLeay::set_proxy($peer,$peerport,$proxysettings{'UPSTREAM_USER'},$proxysettings{'UPSTREAM_PASSWORD'} );
-                           }
-
-                           if ($settings{'HOSTNAME'} eq '') {
-                               $settings{'HOSTDOMAIN'} = $settings{'DOMAIN'};
-                           } else {
-                               $settings{'HOSTDOMAIN'} = "$settings{'HOSTNAME'}.$settings{'DOMAIN'}";
-                           }
-
-                           my ($out, $response) = Net::SSLeay::get_http(  'www.dtdns.com',
-                                                                           80,
-                                                                           "/api/autodns.cfm?id=$settings{'HOSTDOMAIN'}&pw=$settings{'PASSWORD'}",
-                                                                           Net::SSLeay::make_headers('User-Agent' => 'IPFire' )
-                                                                        );
-                           #Valid responses from service are:
-                           #   now points to
-                           #
-                           if ($response =~ m%HTTP/1\.. 200 OK%) {
-                               if ( $out !~ m/Host .* now points to/ig ) {
-                                   &General::log("Dynamic DNS ip-update for $settings{'HOSTDOMAIN'} : failure ($out)");
-                               } else {
-                                   &General::log("Dynamic DNS ip-update for $settings{'HOSTDOMAIN'} : success");
-                                   $success++;
-                               }
-                           } else {
-                               &General::log("Dynamic DNS ip-update for $settings{'HOSTDOMAIN'} : failure (could not connect to server)");
-                           }
-                       }
-                       #namecheap test
-                       elsif ($settings{'SERVICE'} eq 'namecheap') {
-                               # use proxy ?
-                               my %proxysettings;
-                               &General::readhash("${General::swroot}/proxy/settings", \%proxysettings);
-                               if ($_=$proxysettings{'UPSTREAM_PROXY'}) {
-                                       my ($peer, $peerport) = (/^(?:[a-zA-Z ]+\:\/\/)?(?:[A-Za-z0-9\_\.\-]*?(?:\:[A-Za-z0-9\_\.\-]*?)?\@)?([a-zA-Z0-9\.\_\-]*?)(?:\:([0-9]{1,5}))?(?:\/.*?)?$/);
-                                       Net::SSLeay::set_proxy($peer,$peerport,$proxysettings{'UPSTREAM_USER'},$proxysettings{'UPSTREAM_PASSWORD'} );
-                               }
-
-                               my ($out, $response) = Net::SSLeay::get_https(  'dynamicdns.park-your-domain.com',
-                                                               443,
-                                                               "/update?host=$settings{'HOSTNAME'}&domain=$settings{'DOMAIN'}&password=$settings{'PASSWORD'}&ip=$ip",
-                                                               Net::SSLeay::make_headers('User-Agent' => 'IPFire' )
-                                                               );
-                                       #Valid responses from service are:
-                                       # wait confirmation!!
-                                       if ($response =~ m%HTTP/1\.. 200 OK%) {
-                                               if ( $out !~ m/<ErrCount>0<\/ErrCount>/ ) {
-                                                       $out =~ m/<Err1>(.*)<\/Err1>/;
-                                                       &General::log("Dynamic DNS ip-update for $settings{'HOSTNAME'}.$settings{'DOMAIN'} : failure ($1)");
-                                               } else {
-                                                       &General::log("Dynamic DNS ip-update for $settings{'HOSTNAME'}.$settings{'DOMAIN'} : success");
-                                                       $success++;
-                                               }
-                                       } else {
-                                               &General::log("Dynamic DNS ip-update for $settings{'HOSTNAME'}.$settings{'DOMAIN'} : failure (could not connect to server)");
-                               }
-                       }
-                       #end namecheap test
-                       elsif ($settings{'SERVICE'} eq 'dynu') {
-                           # use proxy ?
-                           my %proxysettings;
-                           &General::readhash("${General::swroot}/proxy/settings", \%proxysettings);
-                           if ($_=$proxysettings{'UPSTREAM_PROXY'}) {
-                               my ($peer, $peerport) = (/^(?:[a-zA-Z ]+\:\/\/)?(?:[A-Za-z0-9\_\.\-]*?(?:\:[A-Za-z0-9\_\.\-]*?)?\@)?([a-zA-Z0-9\.\_\-]*?)(?:\:([0-9]{1,5}))?(?:\/.*?)?$/);
-                               Net::SSLeay::set_proxy($peer,$peerport,$proxysettings{'UPSTREAM_USER'},$proxysettings{'UPSTREAM_PASSWORD'} );
-                           }
-
-                           if ($settings{'HOSTNAME'} eq '') {
-                               $settings{'HOSTDOMAIN'} = $settings{'DOMAIN'};
-                           } else {
-                               $settings{'HOSTDOMAIN'} = "$settings{'HOSTNAME'}.$settings{'DOMAIN'}";
-                           }
-
-                           my ($out, $response) = Net::SSLeay::get_http(  'dynserv.ca',
-                                                                           80,
-                                                                           "/dyn/dynengine.cgi?func=set&name=$settings{'LOGIN'}&pass=$settings{'PASSWORD'}&ip=$ip&domain=$settings{'DOMAIN'}",
-                                                                           Net::SSLeay::make_headers('User-Agent' => 'IPFire' )
-                                                                        );
-                           #Valid responses from service are:
-                           # 02 == Domain already exists, refreshing data for ... => xxx.xxx.xxx.xxx
-                           #
-                           if ($response =~ m%HTTP/1\.. 200 OK%) {
-                               if ( $out !~ m/Domain already exists, refreshing data for/ig ) {
-                                   &General::log("Dynamic DNS ip-update for $settings{'HOSTDOMAIN'} : failure ($out)");
-                               } else {
-                                   &General::log("Dynamic DNS ip-update for $settings{'HOSTDOMAIN'} : success");
-                                   $success++;
-                               }
-                           } else {
-                               &General::log("Dynamic DNS ip-update for $settings{'HOSTDOMAIN'} : failure (could not connect to server)");
-                           }
-                       }
-                       elsif ($settings{'SERVICE'} eq 'udmedia.de') {
-                           # use proxy ?
-                           my %proxysettings;
-                           &General::readhash("${General::swroot}/proxy/settings", \%proxysettings);
-                           if ($_=$proxysettings{'UPSTREAM_PROXY'}) {
-                               my ($peer, $peerport) = (/^(?:[a-zA-Z ]+\:\/\/)?(?:[A-Za-z0-9\_\.\-]*?(?:\:[A-Za-z0-9\_\.\-]*?)?\@)?([a-zA-Z0-9\.\_\-]*?)(?:\:([0-9]{1,5}))?(?:\/.*?)?$/);
-                               Net::SSLeay::set_proxy($peer,$peerport,$proxysettings{'UPSTREAM_USER'},$proxysettings{'UPSTREAM_PASSWORD'} );
-                           }
-
-                           if ($settings{'HOSTNAME'} eq '') {
-                               $settings{'HOSTDOMAIN'} = $settings{'DOMAIN'};
-                           } else {
-                               $settings{'HOSTDOMAIN'} = "$settings{'HOSTNAME'}.$settings{'DOMAIN'}";
-                           }
-
-                           my ($out, $response) = Net::SSLeay::get_https( 'www.udmedia.de',
-                                                                           443,
-                                                                           "/nic/update?myip=$ip&username=$settings{'HOSTDOMAIN'}&password=$settings{'PASSWORD'}",
-                                                                           Net::SSLeay::make_headers('User-Agent' => 'IPFire',
-                                                                                                     'Authorization' => 'Basic ' . encode_base64("$settings{'LOGIN'}:$settings{'PASSWORD'}")) );
-
-                           # Valid response are 'ok'   'nochange'
-                           if ($response =~ m%HTTP/1\.. 200 OK%) {
-                               if ( $out !~ m/^(ok|nochg)/ ) {
-                                   $out =~ s/\n/ /g;
-                                   &General::log("Dynamic DNS ip-update for $settings{'HOSTDOMAIN'} : failure ($out)");
-                               } else {
-                                   &General::log("Dynamic DNS ip-update for $settings{'HOSTDOMAIN'} : success");
-                                   $success++;
-                               }
-                           } else {
-                               &General::log("Dynamic DNS ip-update for $settings{'HOSTDOMAIN'} : failure (could not connect to server, check your credentials---$out-$response--)");
-                           }
-                       }
-                       else {
-                               if ($settings{'WILDCARDS'} eq 'on') {
-                                   $settings{'WILDCARDS'} = '-w';
-                               } else {
-                                   $settings{'WILDCARDS'} = '';
-                               }
-
-                               if (($settings{'SERVICE'} eq 'dyndns-custom' ||
-                                   $settings{'SERVICE'} eq 'easydns' ||  
-                                   $settings{'SERVICE'} eq 'zoneedit') && $settings{'HOSTNAME'} eq '') {
-                                   $settings{'HOSTDOMAIN'} = $settings{'DOMAIN'};
-                               } else {
-                                   $settings{'HOSTDOMAIN'} = "$settings{'HOSTNAME'}.$settings{'DOMAIN'}";
-                               }
-
-                               my @ddnscommand = ('/usr/bin/ez-ipupdate', '-a', "$ip", '-S', "$settings{'SERVICE'}", '-u', "$settings{'LOGIN'}:$settings{'PASSWORD'}", '-h', "$settings{'HOSTDOMAIN'}", "$settings{'WILDCARDS'}", '-q');
-
-                               my $result = system(@ddnscommand);
-                               if ( $result != 0) { 
-                                       &General::log("Dynamic DNS ip-update for $settings{'HOSTDOMAIN'}: failure");
-                               } else {
-                                       &General::log("Dynamic DNS ip-update for $settings{'HOSTDOMAIN'}: success");
-                                       $success++;
-                               }
-                       }
-               } else {
-                       # If a line is disabled, then we should discount it
-                       $lines--;
-               }
-       }
-
-       if ($lines == $success) {
-               open(IPCACHE, ">$cachefile");
-               flock IPCACHE, 2;
-               print IPCACHE $ip;
-               close(IPCACHE);
-               exit 1;
-       }
-       
-}
-exit 0;
-
-# Extracted from Base64.pm
-sub encode_base64 ($;$) {
-    my $res = "";
-    my $eol = $_[1];
-    $eol = "\n" unless defined $eol;
-    pos($_[0]) = 0;                          # ensure start at the beginning
-    while ($_[0] =~ /(.{1,45})/gs) {
-        $res .= substr(pack('u', $1), 1);
-        chop($res);
-    }
-    $res =~ tr|` -_|AA-Za-z0-9+/|;               # `# help emacs
-    # fix padding at the end
-    my $padding = (3 - length($_[0]) % 3) % 3;
-    $res =~ s/.{$padding}$/'=' x $padding/e if $padding;
-    # break encoded string into lines of no more than 76 characters each
-    if (length $eol) {
-        $res =~ s/(.{1,76})/$1$eol/g;
-    }
-    $res;
-}
-
-
-
-__END__
-old code for selfhost.de
-
-                               my %proxysettings;
-                               &General::readhash("${General::swroot}/proxy/settings", \%proxysettings);
-
-                               my $peer = 'carol.selfhost.de';
-                               my $peerport = 80;
-
-                               if ($_=$proxysettings{'UPSTREAM_PROXY'}) {
-                                   ($peer, $peerport) = (/^(?:[a-zA-Z ]+\:\/\/)?(?:[A-Za-z0-9\_\.\-]*?(?:\:[A-Za-z0-9\_\.\-]*?)?\@)?([a-zA-Z0-9\.\_\-]*?)(?:\:([0-9]{1,5}))?(?:\/.*?)?$/);
-                               }
-
-                               my $sock;
-                               unless($sock = new IO::Socket::INET (PeerAddr => $peer, PeerPort => $peerport, Proto => 'tcp', Timeout => 5)) {
-                                   die "Could not connect to $peer:$peerport: $@";
-                                   return 1;
-                               }
-
-                               my $GET_CMD;
-                               $GET_CMD  = "GET https://carol.selfhost.de/update?username=$settings{'LOGIN'}&password=$settings{'PASSWORD'}&myip=$ip&textmodi=1 HTTP/1.1\r\n";
-                               $GET_CMD .= "Host: carol.selfhost.de\r\n";
-                               $GET_CMD .= "User-Agent: ipfire\r\n";
-                               $GET_CMD .= "Connection: close\r\n\r\n";
-                               print $sock "$GET_CMD";
-
-                               my $out = '';
-                               while(<$sock>) {
-                                       $out .= $_;
-                               }
-                               close($sock);
-
-                               if ( $out !~ m/status=(200|204)/ ) {
-                                       #cleanup http response...
-                                       $out =~ s/.+?\015?\012\015?\012//s;    # header HTTP
-                                       my @out = split("\r", $out);
-                                       &General::log("Dynamic DNS ip-update for $settings{'HOSTNAME'}.$settings{'DOMAIN'} : failure ($out[1])");
-                               } else {
-                                       &General::log("Dynamic DNS ip-update for $settings{'HOSTNAME'}.$settings{'DOMAIN'} : success");
-                                       $success++;
-                               }
-
-
-                       
diff --git a/src/squid-accounting/EX-squid-accounting.menu b/src/squid-accounting/EX-squid-accounting.menu
new file mode 100755 (executable)
index 0000000..8779398
--- /dev/null
@@ -0,0 +1,5 @@
+    $sublogs->{'32.proxy'} = {'caption' => $Lang::tr{'acct menu'},
+                               'uri' => '/cgi-bin/accounting.cgi',
+                               'title' => $Lang::tr{'acct menu'},
+                               'enabled' => 1,
+                               };
diff --git a/src/squid-accounting/accounting.cgi b/src/squid-accounting/accounting.cgi
new file mode 100755 (executable)
index 0000000..eabb0c2
--- /dev/null
@@ -0,0 +1,2194 @@
+#!/usr/bin/perl
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2014  IPFire Team  <alexander.marx@ipfire.org>                #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+
+use Time::Local;
+use File::Find;
+use File::Path;
+use GD::Graph::area;
+use GD::Graph::bars;
+use LWP::UserAgent;
+use POSIX;
+use locale;
+
+# enable only the following on debugging purpose
+#use warnings;
+#use CGI::Carp 'fatalsToBrowser';
+
+require '/var/ipfire/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+require "${General::swroot}/accounting/acct-lib.pl";
+
+unless (-e "${General::swroot}/accounting/settings.conf")      { system("touch ${General::swroot}/accounting/settings.conf"); }
+
+my $settingsfile="${General::swroot}/accounting/settings.conf";
+my $proxyenabled="${General::swroot}/proxy/enable";
+my $logopath="/srv/web/ipfire/html/accounting/logo";
+my %settings=();
+my %mainsettings;
+my %color;
+my %cgiparams=();
+my ($sec,$min,$hour,$mday,$mon,$year,$wday,$ydat,$isdst)=localtime();
+my $dbh;
+my %checked=();
+my $errormessage='';
+my @ips;
+my $count=0;
+my $col;
+my $proxlog=$Lang::tr{'stopped'};
+my $proxsrv=$Lang::tr{'stopped'};
+
+&Header::getcgihash(\%cgiparams);
+&General::readhash("${General::swroot}/main/settings", \%mainsettings);
+&General::readhash("/srv/web/ipfire/html/themes/".$mainsettings{'THEME'}."/include/colors.txt", \%color);
+&General::readhash("$settingsfile", \%settings) if(-f $settingsfile);
+
+#Find out which lang is set (used later to set decimal separator correctly)
+my $uplang=uc($mainsettings{'LANGUAGE'});
+setlocale LC_NUMERIC,"$mainsettings{'LANGUAGE'}_$uplang";
+
+if ($cgiparams{'BILLVIEW'} eq "show"){
+       my $file=$cgiparams{'file'};
+       my $name=$cgiparams{'name'};
+       open(DLFILE, "<$file") or die "Unable to open $file: $!";
+       my @fileholder = <DLFILE>;
+       print "Content-Type:application/pdf\n";
+       my @fileinfo = stat("$file");
+       print "Content-Length:$fileinfo[7]\n";
+       print "Content-Disposition:attachment;filename='$name';\n\n";
+       print @fileholder;
+       exit (0);
+}
+if ($cgiparams{'BILLACTION'} eq "open_preview"){ 
+       #Generate preview Bill
+       my $rggrp=$cgiparams{'txt_billgroup'};
+       my $address_cust = &ACCT::getTaAddress($rggrp,'CUST');
+       my $address_host = &ACCT::getTaAddress($rggrp,'HOST');
+       my $billpos             = &ACCT::getextrabillpos($rggrp);
+       my $mwst=$settings{'MWST'};
+       my $cur = $settings{'CURRENCY'};
+       my @now = localtime(time);
+       $now[5] = $now[5] + 1900;
+       my $actmonth = $now[4]+1;
+       my $actyear  = $now[5];
+       my ($from,$till)=&ACCT::getmonth($actmonth,$actyear);
+       my @billar = &ACCT::GetTaValues($from,$till,$rggrp);
+       my $tempfile=&ACCT::pdf2(\@billar,$actmonth,$actyear,$mwst,$address_cust,$address_host,$billpos,$rggrp,$cur,"on");
+       #Show PDF preview
+       open(DLFILE, "<$tempfile") or die "Unable to open tmp.pdf: $!";
+       my @fileholder = <DLFILE>;
+       print "Content-Type:application/pdf\n";
+       my @fileinfo = stat($tempfile);
+       print "Content-Length:$fileinfo[7]\n";
+       print "Content-Disposition:attachment;filename='tmp.pdf';\n\n";
+       print @fileholder;
+       unlink ($tempfile);
+       exit (0);
+}
+
+&Header::showhttpheaders();
+
+if ($cgiparams{'ACTION'} eq "$Lang::tr{'acct config'}"){ #ConfigButton from Menu
+       &configsite;
+}
+if ($cgiparams{'ACTION'} eq "$Lang::tr{'acct addresses'}"){ #AddressmgmntButton from Menu
+       &addressmgmnt;
+}
+if ($cgiparams{'ACTION'} eq "$Lang::tr{'acct billgroup'}"){ #BillgroupButton from Menu
+       &billgroupsite;
+}
+if ($cgiparams{'ACTION'} eq "$Lang::tr{'acct maintenance'}"){ #MaintenanceButton from Menu
+       &expertsite;
+}
+if ($cgiparams{'ACTION'} eq "$Lang::tr{'save'}"){ #SaveButton on configsite
+       my @val=split('\r\n',$cgiparams{'txt_skipurls'});
+       my $skipurls;
+       foreach my $line (@val){
+               $skipurls.="|".$line;
+       }
+       $skipurls=$skipurls."|";
+       $skipurls=~ s/\|\|/\|/g;
+       my @txt=split('\r\n',$cgiparams{'txt_mailtxt'});
+       my $mailtxt;
+       foreach my $txt (@txt){
+               $mailtxt.="|".$txt;
+       }
+       #Check fields
+       if ($cgiparams{'USEMAIL'} eq 'on'){
+               $errormessage=&checkmailsettings;
+       }elsif($cgiparams{'USEMAIL'} ne 'on'){
+               $cgiparams{'txt_mailserver'}='';
+               $cgiparams{'txt_mailport'}='';
+               $cgiparams{'txt_mailuser'}='';
+               $cgiparams{'txt_mailpass'}='';
+               $cgiparams{'mail_tls'}='';
+               $cgiparams{'txt_mailsender'}='';
+               $cgiparams{'txt_mailsubject'}='';
+               $mailtxt='';
+       }
+       if(!$errormessage){
+               open (TXT, ">$settingsfile") or die("Die Datei konnte nicht geöffnet werden: $!\n");
+               close TXT;
+               $settings{'LOG'}                = $cgiparams{'logging'};
+               $settings{'EXPERT'}             = $cgiparams{'expert'};
+               $settings{'MULTIUSER'}  = $cgiparams{'multiuser'};
+               $settings{'MWST'}               = $cgiparams{'txt_mwst'};
+               $settings{'CURRENCY'}   = $cgiparams{'txt_currency'};
+               $settings{'SKIPURLS'}   = $skipurls;
+               $settings{'USEMAIL'}    = $cgiparams{'USEMAIL'};
+               $settings{'MAILSRV'}    = $cgiparams{'txt_mailserver'};
+               $settings{'MAILPORT'}   = $cgiparams{'txt_mailport'};
+               $settings{'MAILUSER'}   = $cgiparams{'txt_mailuser'};
+               $settings{'MAILPASS'}   = $cgiparams{'txt_mailpass'};
+               $settings{'TLS'}                = $cgiparams{'mail_tls'};
+               $settings{'MAILSENDER'} = $cgiparams{'txt_mailsender'};
+               $settings{'MAILSUB'}    = $cgiparams{'txt_mailsubject'};
+               $settings{'MAILTXT'}    = $mailtxt;
+               &General::writehash("$settingsfile", \%settings);
+       }else{
+               $cgiparams{'update'}='on';
+               &configsite;
+       }
+}
+if ($cgiparams{'ACTION'} eq "$Lang::tr{'acct view'}"){ #If special month and year is given on mainsite
+       &mainsite($cgiparams{'month'},$cgiparams{'year'});
+       exit 0;
+}
+if ($cgiparams{'ACTION'} eq "$Lang::tr{'acct commit'}"){ #Maintenance function 
+       &ACCT::logger($settings{'LOG'},"Clear DB (all data) committed).\n");
+       &ACCT::cleardbtraf;
+       &expertsite;
+}
+if ($cgiparams{'ACTION2'} eq "$Lang::tr{'acct commit'}"){ #Maintenance function 
+       &ACCT::logger($settings{'LOG'},"Clear DB (only traffic data) committed).\n");
+       &ACCT::cleardb;
+       &expertsite;
+}
+if ($cgiparams{'ACTION1'} eq "$Lang::tr{'acct commit'}"){ #Maintenance Function
+       #Get Timestamp
+       my ($a,$b)=&ACCT::getmonth($cgiparams{'expmonth'},$cgiparams{'expyear'});
+       &ACCT::delbefore(($a-1));
+       &expertsite;
+}
+if ($cgiparams{'ACTION'} eq "viewgraph"){ #Graph icon on hosttable (viewhosttable)
+       &graphsite($cgiparams{'month'},$cgiparams{'year'},$cgiparams{'host'});
+}
+if ($cgiparams{'ACTION1'} eq "$Lang::tr{'save'}"){ #SaveButton when adding Address
+       $errormessage=&checkaddress;
+       
+       if ($errormessage){
+               &addressmgmnt($errormessage);
+       }else{
+               &ACCT::writeaddr(
+                                       $cgiparams{'txt_company'},
+                                       $cgiparams{'rdo_companytype'},
+                                       $cgiparams{'txt_name1'},
+                                       $cgiparams{'txt_str'},
+                                       $cgiparams{'txt_str_nr'},
+                                       $cgiparams{'txt_plz'},
+                                       $cgiparams{'txt_city'},
+                                       $cgiparams{'txt_bank'},
+                                       $cgiparams{'txt_iban'},
+                                       $cgiparams{'txt_bic'},
+                                       $cgiparams{'txt_blz'},
+                                       $cgiparams{'txt_kto'},
+                                       $cgiparams{'txt_email'},
+                                       $cgiparams{'txt_inet'},
+                                       $cgiparams{'txt_hrb'},
+                                       $cgiparams{'txt_ustid'},
+                                       $cgiparams{'txt_tel'},
+                                       $cgiparams{'txt_fax'},
+                                       );
+               &ACCT::logger($settings{'LOG'},"Created new address $cgiparams{'txt_company'} as $cgiparams{'rdo_companytype'}.\n");
+               %cgiparams=();
+       }
+       &addressmgmnt;
+}
+if ($cgiparams{'ACTION'} eq "edit_addr"){ #Pencil icon in Address overwiev on Addressmgmnt site
+       $cgiparams{'update'} = 'on';
+       $cgiparams{'oldcompname'}=$cgiparams{'txt_company'};
+       &addressmgmnt;
+}
+if ($cgiparams{'ACTION'} eq "$Lang::tr{'update'}"){ #UpdateButton when editing Address
+       $cgiparams{'update'} = 'on';
+       $errormessage=&checkaddress;
+       if ($errormessage){
+               &addressmgmnt($errormessage);
+       }else{
+               &ACCT::updateaddr(
+                                       $cgiparams{'rdo_companytype'},
+                                       $cgiparams{'txt_company'},
+                                       $cgiparams{'txt_name1'},
+                                       $cgiparams{'txt_str'},
+                                       $cgiparams{'txt_str_nr'},
+                                       $cgiparams{'txt_plz'},
+                                       $cgiparams{'txt_city'},
+                                       $cgiparams{'txt_bank'},
+                                       $cgiparams{'txt_iban'},
+                                       $cgiparams{'txt_bic'},
+                                       $cgiparams{'txt_blz'},
+                                       $cgiparams{'txt_kto'},
+                                       $cgiparams{'txt_email'},
+                                       $cgiparams{'txt_inet'},
+                                       $cgiparams{'txt_hrb'},
+                                       $cgiparams{'txt_ustid'},
+                                       $cgiparams{'txt_tel'},
+                                       $cgiparams{'txt_fax'},
+                                       $cgiparams{'oldcompname'}
+                                       );
+               my $res=&ACCT::getbillgroups;
+               foreach my $line (@$res){
+                       my($name,$host,$cust)=@$line;
+                       if($host eq $cgiparams{'oldcompname'}){
+                               &ACCT::updatebillgrouphost($cgiparams{'oldcompname'},$cgiparams{'txt_company'});
+                       }elsif ($cust eq $cgiparams{'oldcompname'}){
+                               &ACCT::updatebillgroupcust($cgiparams{'oldcompname'},$cgiparams{'txt_company'});
+                       }
+               }
+               
+               &ACCT::logger($settings{'LOG'},"Edited address $cgiparams{'oldcompname'}.\n");
+               %cgiparams=();
+       }
+       &addressmgmnt;
+}
+if ($cgiparams{'ACTION'} eq "del_addr"){ #Trash icon in Address overview on Addressmgmnt site
+       my $res=&ACCT::checkbillgrp;
+       foreach my $line (@$res){
+               my ($grp,$host,$cust) = @$line;
+               if ($cgiparams{'txt_company'} eq $host){
+                       $errormessage="$Lang::tr{'acct err hostdel'} $grp";
+               }
+               if ($cgiparams{'txt_company'} eq $cust){
+                       $errormessage="$Lang::tr{'acct err custdel'} $grp";
+               }
+       }
+       if (! $errormessage){
+               &ACCT::deladdr($cgiparams{'txt_company'});
+               &ACCT::logger($settings{'LOG'},"Deleted address $cgiparams{'txt_company'}.\n");
+       }
+       $cgiparams{'txt_company'}='';
+       &addressmgmnt;
+}
+if ($cgiparams{'BILLACTION'} eq "$Lang::tr{'save'}"){ #SaveButton when adding BillingGroups
+       #check if a group with the same name already exists in DB
+       my $res=&ACCT::getbillgroups;
+       foreach my $row (@$res) {
+               my ($group)=@$row;
+               if ($group eq $cgiparams{'txt_billgroup'}){
+                       $errormessage.=$Lang::tr{'acct billgroupexists'};
+               }
+       }
+       #Check if a selected user is in another group already
+       if ($settings{'MULTIUSER'} ne 'on'){
+               #split hosts into array
+               my @user=split(/\|/,$cgiparams{'sel_hosts'});
+               my $res=&ACCT::checkusergrp;
+               foreach my $val (@$res){
+                       my ($grp,$usr)=@$val;
+                       foreach my $wanted (@user){
+                               if($usr eq $wanted){
+                                       $errormessage.="$usr $Lang::tr{'acct usermulti'} $grp<br>";
+                               }
+                       }
+               }
+       }
+       #validate namefield
+       if(!&validtextfield($cgiparams{'txt_billgroup'})){
+               $errormessage.="$Lang::tr{'acct invalid'} $Lang::tr{'name'}<br>";
+       }
+       #FIXME: Validate CENT amount (num with .)
+       #if used colon, replace with .
+       $cgiparams{'txt_cent'} =~ tr/,/./;
+       if(!&validnumfield($cgiparams{'txt_cent'})){
+               $errormessage.="$Lang::tr{'acct invalid'} $Lang::tr{'acct cent'}<br>";
+       }
+       #fill array
+       my @ips=split (/\|/,$cgiparams{'sel_hosts'});
+
+       #Check if we use extra bill positions
+       if($cgiparams{'txt_amount'} || $cgiparams{'txt_name'}|| $cgiparams{'txt_price'}){
+               if (!$cgiparams{'txt_amount'} || !$cgiparams{'txt_name'} || !$cgiparams{'txt_price'}){
+                       $errormessage.="$Lang::tr{'acct invalid billpos'}<br>";
+               }
+               #check all fields
+               if (!$errormessage){
+                       if(! &validnumfield($cgiparams{'txt_amount'})){
+                               $errormessage.="$Lang::tr{'acct invalid'} $Lang::tr{'acct amount'}<br>";
+                       }elsif(! &validtextfield($cgiparams{'txt_name'})){
+                               $errormessage.="$Lang::tr{'acct invalid'} $Lang::tr{'acct name'}<br>";
+                       }elsif(! &validnumfield($cgiparams{'txt_price'})){
+                               $errormessage.="$Lang::tr{'acct invalid'} $Lang::tr{'acct price pp'}<br>";
+                       }
+               }
+       }
+
+       if ($errormessage){
+               &billgroupsite($errormessage);
+       }else{
+               #check if we use extra positions
+               if ($cgiparams{'txt_amount'}){
+                       &ACCT::savebillpos(
+                                               $cgiparams{'txt_posbillgroup'},
+                                               $cgiparams{'txt_amount'},
+                                               $cgiparams{'txt_name'},
+                                               $cgiparams{'txt_price'});
+                       &ACCT::logger($settings{'LOG'},"Saved new fixed billposition $cgiparams{'txt_name'} into billgroup $cgiparams{'txt_posbillgroup'} .\n");
+               }
+               
+               #save new group
+               &ACCT::savebillgroup(
+                                       $cgiparams{'txt_billgroup'},
+                                       $cgiparams{'txt_billtext1'},
+                                       $cgiparams{'dd_host'},
+                                       $cgiparams{'dd_cust'},
+                                       $cgiparams{'txt_cent'},
+                                       \@ips);
+               &ACCT::logger($settings{'LOG'},"Saved new billgroup $cgiparams{'txt_billgroup'}.\n");
+               %cgiparams=();
+       }
+       &billgroupsite;
+}
+if ($cgiparams{'BILLACTION'} eq "$Lang::tr{'update'}"){ #UpdateButton when editing BillingGroups
+
+
+       my $filename=$cgiparams{'uploaded_file'};
+       if($filename){
+               #First check if logo dir exists
+               if (! -d "$logopath/$cgiparams{'logo_grp'}"){
+                       mkpath("$logopath/$cgiparams{'logo_grp'}",0,01777);
+               }
+               #Save File
+               my ($filehandle) = CGI::upload('uploaded_file');
+               open (UPLOADFILE, ">$logopath/$cgiparams{'logo_grp'}/logo.png");
+               binmode $filehandle;
+               while ( <$filehandle> ) {
+                       print UPLOADFILE;
+               }
+               close (UPLOADFILE);
+
+               #Check dimensions of uploaded file
+               open (PNG , "<$logopath/$cgiparams{'logo_grp'}/logo.png") ;
+               local $/;
+               my $PNG1=<PNG> ;
+               close(PNG) ;
+               my ($width,$height)=&ACCT::pngsize($PNG1) ;
+
+               if (! &validnumfield($width)){
+                       $errormessage.="$Lang::tr{'acct invalid png'}<br>";
+                       unlink("$logopath/$cgiparams{'logo_grp'}/logo.png");
+               }elsif($width > 400 || $height > 150){
+                       $errormessage.="$Lang::tr{'acct invalid pngsize'} width: $width   height: $height<br>";
+                       unlink("$logopath/$cgiparams{'logo_grp'}/logo.png");
+               }
+
+       }
+       #Check if a group with the same name already exists in DB
+       my $res=&ACCT::getbillgroups;
+       foreach my $row (@$res) {
+               my ($group)=@$row;
+               if (($group eq $cgiparams{'txt_billgroup'}) && ($cgiparams{'oldname'} ne $cgiparams{'txt_billgroup'})){
+                       $errormessage.=$Lang::tr{'acct billgroupexists'};
+               }
+       }
+       #Check if a selected user is in another group already
+       if ($settings{'MULTIUSER'} ne 'on'){
+               #split hosts into array
+               my @user=split(/\|/,$cgiparams{'sel_hosts'});
+               my $res=&ACCT::checkusergrp;
+               foreach my $val (@$res){
+                       my ($grp,$usr)=@$val;
+                       foreach my $wanted (@user){
+                               if($usr eq $wanted && $grp ne $cgiparams{'txt_billgroup'}){
+                                       $errormessage.="$usr $Lang::tr{'acct usermulti'} $grp<br>";
+                               }
+                       }
+               }
+       }
+       #Validate namefield
+       if(!&validtextfield($cgiparams{'txt_billgroup'})){
+               $errormessage.="$Lang::tr{'acct invalid'} $Lang::tr{'name'}";
+       }
+       #Validate CENT amount (num with .)
+       #if used colon, replace with .
+       $cgiparams{'txt_cent'} =~ tr/,/./;
+       if(!&validnumfield($cgiparams{'txt_cent'})){
+               $errormessage.="$Lang::tr{'acct invalid'} $Lang::tr{'acct cent'}<br>";
+       }
+
+       #Fill array
+       my @ips=split ( /\|/,$cgiparams{'sel_hosts'});
+
+       #Check if we use extra bill positions
+       if($cgiparams{'txt_amount'} || $cgiparams{'txt_name'}|| $cgiparams{'txt_price'}){
+               if (!$cgiparams{'txt_amount'} || !$cgiparams{'txt_name'} || !$cgiparams{'txt_price'}){
+                       $errormessage.="$Lang::tr{'acct invalid billpos'}<br>";
+               }
+               #Check all fields
+               if (!$errormessage){
+                       if(! &validnumfield($cgiparams{'txt_amount'})){
+                               $errormessage.="$Lang::tr{'acct invalid'} $Lang::tr{'acct amount'}<br>";
+                       }elsif(! &validtextfield($cgiparams{'txt_name'})){
+                               $errormessage.="$Lang::tr{'acct invalid'} $Lang::tr{'acct name'}<br>";
+                       }elsif(! &validnumfield($cgiparams{'txt_price'})){
+                               $errormessage.="$Lang::tr{'acct invalid'} $Lang::tr{'acct price pp'}<br>";
+                       }
+               }
+       }
+       #Check if we added some CC mail recipients
+       if($cgiparams{'txt_ccmail'}){
+               $cgiparams{'txt_ccmail'}=~ s/ //g;
+               #Split line into single addresses and check each one
+               my @ccaddr = split(",",$cgiparams{'txt_ccmail'});
+               foreach my $cc (@ccaddr){
+                       if (! &General::validemail($cc)){
+                               $errormessage.="$Lang::tr{'acct invalid'} $Lang::tr{'acct ccmail'} $cc<br>";
+                       }
+               }
+       }
+       if ($errormessage){
+               $cgiparams{'update'} = 'on';
+               &billgroupsite();
+       }else{
+               #update fixedbillpositions if defined
+               if ($cgiparams{'oldname'} ne $cgiparams{'txt_billgroup'}){
+                       &ACCT::updatebillpos($cgiparams{'oldname'},$cgiparams{'txt_billgroup'});
+               }
+               #Check if we use extra positions
+               if ($cgiparams{'txt_amount'}){
+                       &ACCT::savebillpos(
+                                               $cgiparams{'txt_billgroup'},
+                                               $cgiparams{'txt_amount'},
+                                               $cgiparams{'txt_name'},
+                                               $cgiparams{'txt_price'});
+               }
+               #Check if we have NEW cc Mails
+               if($cgiparams{'txt_ccmail'} ne $cgiparams{'oldccmail'}){
+                       &ACCT::updateccaddr($cgiparams{'txt_ccmail'},$cgiparams{'dd_cust'});
+               }
+               &ACCT::deletebillgroup($cgiparams{'oldname'}); 
+               &ACCT::savebillgroup(
+                                       $cgiparams{'txt_billgroup'},
+                                       $cgiparams{'txt_billtext1'},
+                                       $cgiparams{'dd_host'},
+                                       $cgiparams{'dd_cust'},
+                                       $cgiparams{'txt_cent'},
+                                       \@ips);
+               %cgiparams=();
+       }
+       &billgroupsite;
+}
+if ($cgiparams{'BILLACTION'} eq "edit_billgroup"){ #Pencil icon in Billgroup table
+       $cgiparams{'update'} = 'on';
+       &billgroupsite;
+}
+if ($cgiparams{'BILLACTION'} eq "delete_billgroup"){ #Trash icon in Billgroup table
+       &deletefiles($cgiparams{'txt_billgroup'});
+       &ACCT::delbillpos($cgiparams{'txt_billgroup'});
+       &ACCT::deletebillgroup($cgiparams{'txt_billgroup'});
+       &ACCT::logger($settings{'LOG'},"Deleted billgroup $cgiparams{'txt_billgroup'}.\n");
+       &billgroupsite;
+}
+if ($cgiparams{'BILLACTION'} eq "open_billgroup"){ #Folder icon on billgrouptable (viewtablebillgroup)
+       &billoverview($cgiparams{'txt_billgroup'});
+}
+if ($cgiparams{'BILLPOS'} eq "delpos"){ #Trash icon in Billpos table
+       $cgiparams{'update'} = 'on';
+       &ACCT::delbillpos_single($cgiparams{'txt_billpos'},$cgiparams{'txt_billgroup'});
+       &ACCT::logger($settings{'LOG'},"Deleted fixed billposition  $cgiparams{'txt_billpos'} from billgroup $cgiparams{'txt_billgroup'}.\n");
+       &billgroupsite;
+}
+if ($cgiparams{'BILLPOS'} eq "$Lang::tr{'save'}"){ #Savebutton in Billpos table
+       $cgiparams{'update'}='on';
+       #Check if we use extra bill positions
+       if($cgiparams{'txt_amount'} || $cgiparams{'txt_name'}|| $cgiparams{'txt_price'}){
+               if (!$cgiparams{'txt_amount'} || !$cgiparams{'txt_name'} || !$cgiparams{'txt_price'}){
+                       $errormessage.="$Lang::tr{'acct invalid billpos'}<br>";
+               }
+               #check all fields
+               if (!$errormessage){
+                       #if used colon, replace with .
+                       $cgiparams{'txt_price'} =~ tr/,/./;
+                       if(! &validnumfield($cgiparams{'txt_amount'})){
+                               $errormessage.="$Lang::tr{'acct invalid'} $Lang::tr{'acct amount'}<br>";
+                       }elsif(! &validtextfield($cgiparams{'txt_name'})){
+                               $errormessage.="$Lang::tr{'acct invalid'} $Lang::tr{'acct name'}<br>";
+                       }elsif(! &validnumfield($cgiparams{'txt_price'})){
+                               $errormessage.="$Lang::tr{'acct invalid'} $Lang::tr{'acct price pp'}<br>";
+                       }
+               }
+       }
+       if ($errormessage){
+               &billgroupsite($errormessage);
+       }else{
+               #check if we use extra positions
+               if ($cgiparams{'txt_amount'}){
+                       &ACCT::savebillpos(
+                                               $cgiparams{'txt_billgroup'},
+                                               $cgiparams{'txt_amount'},
+                                               $cgiparams{'txt_name'},
+                                               $cgiparams{'txt_price'});
+               }
+               &ACCT::logger($settings{'LOG'},"Added fixed billposition  $cgiparams{'txt_amount'} $cgiparams{'txt_name'} with price $cgiparams{'txt_price'} to billgroup $cgiparams{'txt_billgroup'}.\n");
+       }
+       %cgiparams=();
+       &billgroupsite;
+}
+
+
+#Check if we already have settings
+if ( -z $settingsfile){
+       &configsite;
+}else{
+       &mainsite(($mon+1),($year+1900));
+       exit 0;
+}
+
+sub configsite{
+       my $proxymessage='';
+       my $blockactivation='';
+       #If update set fieldvalues new
+       if($cgiparams{'update'} eq 'on'){
+               $settings{'USEMAIL'} = 'on';
+               $settings{'MAILSRV'} = $cgiparams{'txt_mailserver'};
+               $settings{'MAILPORT'} = $cgiparams{'txt_mailport'};
+               $settings{'MAILUSER'} = $cgiparams{'txt_mailuser'};
+               $settings{'MAILPASS'} = $cgiparams{'txt_mailpass'};
+               $settings{'MAILSUB'} = $cgiparams{'txt_mailsubject'};
+               $settings{'MAILTXT'} = $cgiparams{'txt_mailtxt'};
+       }
+       #find preselections
+       $checked{'expert'}{$settings{'EXPERT'}}                                 = 'CHECKED';
+       $checked{'logging'}{$settings{'LOG'}}                                   = 'CHECKED';
+       $checked{'multiuser'}{$settings{'MULTIUSER'}}                   = 'CHECKED';
+       $checked{'usemail'}{$settings{'USEMAIL'}}                               = 'CHECKED';
+       $checked{'mail_tls'}{$settings{'TLS'}}                                  = 'CHECKED';
+       
+       #Open site
+       &Header::openpage($Lang::tr{'acct settings'}, 1, '');
+       &Header::openbigbox('100%', 'center');
+       &error;
+       &Header::openbox('100%', 'left', $Lang::tr{'acct config'});
+       
+       #### JAVA SCRIPT ####
+       print<<END;
+<script>
+       \$(document).ready(function() {
+               // Show/Hide elements when NAT checkbox is checked.
+               if (\$("#MAIL").attr("checked")) {
+                       
+               } else {
+                       \$(".MAILSRV").hide();
+               }
+
+               // Show NAT area when "use nat" checkbox is clicked
+               \$("#MAIL").change(function() {
+                       \$(".MAILSRV").toggle();
+                       
+               });
+       });
+</script>
+END
+#######################        
+       $settings{'SKIPURLS'} =~ tr/|/\r\n/;
+       $settings{'MAILTXT'} =~ tr/|/\r\n/;
+       my $col="style='background-color:$color{'color22'}'";
+       print<<END;
+       <form method='post' action='$ENV{'SCRIPT_NAME'}'>
+       <table style='width:100%'>
+       <tr>
+               <th colspan='3'></th>
+       </tr>
+       <tr>
+               <td style='width:24em'>$Lang::tr{'acct logging'}</td>
+               <td><input type='checkbox' name='logging' $checked{'logging'}{'on'}></td>
+               <td></td>
+       </tr>
+       <tr>
+               <td>$Lang::tr{'acct expert'}</td>
+               <td><input type='checkbox' name='expert' $checked{'expert'}{'on'}></td>
+               <td></td>
+       </tr>
+       <tr>
+               <td>$Lang::tr{'acct multiuser'}</td>
+               <td><input type='checkbox' name='multiuser' $checked{'multiuser'}{'on'}></td>
+               <td></td>
+       <tr>
+       <tr>
+               <td>$Lang::tr{'acct mwst'}</td>
+               <td><input type='text' name='txt_mwst' value='$settings{'MWST'}' style='width:22em;'></td>
+               <td></td>
+       <tr>
+               <td>$Lang::tr{'acct currency'}</td>
+               <td><input type='text' name='txt_currency' value='$settings{'CURRENCY'}' style='width:22em;'></td>
+               <td></td>
+       
+       <tr>
+               <td valign='top'>$Lang::tr{'acct skipurl'}</td>
+               <td style='padding-left:0.2em;'><textarea name="txt_skipurls" cols="20" rows="6" style='width:22em;'>$settings{'SKIPURLS'}</textarea></td>
+               <td></td>
+       </tr>
+       <tr>
+               <td>$Lang::tr{'acct usemail'}</td>
+               <td><label><input type='checkbox' name='USEMAIL' id='MAIL' $checked{'usemail'}{'on'}></label></td>
+               <td></td>
+       </tr>
+       </table><br>
+
+       <div class="MAILSRV">
+               <table style='width:100%;'>
+               <tr>
+                       <td style='width:24em'>$Lang::tr{'acct mailaddr'}</td>
+                       <td><input type='text' name='txt_mailserver' value='$settings{'MAILSRV'}' style='width:22em;'></td>
+               </tr>
+               <tr>
+                       <td>$Lang::tr{'acct mailport'}</td>
+                       <td><input type='text' name='txt_mailport' value='$settings{'MAILPORT'}' size='3'></td>
+               </tr>
+               <tr>
+                       <td>$Lang::tr{'acct mailuser'}<img src='/blob.gif' alt='*' /></td>
+                       <td><input type='text' name='txt_mailuser' value='$settings{'MAILUSER'}' style='width:22em;'></td>
+               </tr>
+               <tr>
+                       <td>$Lang::tr{'acct mailpass'}<img src='/blob.gif' alt='*' /></td>
+                       <td><input type='password' name='txt_mailpass' value='$settings{'MAILPASS'}' style='width:22em;' ></td>
+               </tr>
+               <tr>
+                       <td>$Lang::tr{'acct tls'}</td>
+                       <td><input type='checkbox' name='mail_tls' $checked{'mail_tls'}{'on'}></td>
+               </tr>
+               <tr>
+                       <td>$Lang::tr{'acct mailsender'}</td>
+                       <td><input type='text' name='txt_mailsender' value='$settings{'MAILSENDER'}' style='width:22em;'></td>
+               </tr>
+               <tr>
+                       <td colspan='2'>&nbsp;</td>
+               </tr>
+               <tr>
+                       <td>$Lang::tr{'acct subject'}</td>
+                       <td><input type='text' name='txt_mailsubject' value='$settings{'MAILSUB'}' style='width:22em;'></td>
+               </tr>
+               <tr>
+               <td valign='top' >$Lang::tr{'acct mailtxt'}</td>
+               <td style='padding-left:0.2em;'><textarea name="txt_mailtxt" cols="34" rows="6" style='width: 22em;'>$settings{'MAILTXT'}</textarea></td>
+               
+               </table>
+       </div>
+
+
+       <table style='width:100%;'>
+       <tr>
+               <td colspan='3' display:inline align='right'><input type='submit' name='ACTION' value='$Lang::tr{'save'}'></td>
+       </tr>
+       </table>
+       <br>
+       </form>
+END
+&Header::closebox();
+#BackButton
+       print<<END;
+       <form method='post' action='$ENV{'SCRIPT_NAME'}'>
+       <table style='width:100%;'>
+       <tr>
+               <td></td>
+               <td align='right'><input type='submit' name='ACTION' value='$Lang::tr{'back'}'></td>
+       </tr>
+       </table>
+       </form>
+END
+       &Header::closebigbox();
+       &Header::closepage();
+       exit 0;
+}
+
+sub deletefiles{
+       my $grp=shift;
+       rmtree ("$logopath/$grp");
+       rmtree ("${General::swroot}/accounting/bill/$grp");
+}
+
+sub mainsite{
+       my $mon=$_[0];
+       my $year=$_[1];
+       if ($_[0]){$mon=$_[0];}
+       &Header::openpage($Lang::tr{'acct title'}, 1, '');
+       &Header::openbigbox('100%', 'center');
+       &checkproxy;
+       &statusbox;
+       &menu;
+       &viewtablehosts(($mon),$year);
+       &Header::closebigbox();
+       &Header::closepage();
+}
+
+sub expertsite{
+       &Header::openpage($Lang::tr{'acct maintenance'}, 1, '');
+       &Header::openbigbox('100%', 'center');
+
+       #Get size of Databasefile
+       my $sizedb= -s "/var/ipfire/accounting/acct.db";
+       $sizedb = sprintf"%.2f", $sizedb/(1024*1024);
+       #Get size of Directory, where all bills are stored
+       my $sizerrd = 0;
+       find(sub { $sizerrd += -s if -f $_ }, "${General::swroot}/accounting/bill");
+       $sizerrd = sprintf"%.2f", $sizerrd/(1024*1024);
+
+       &ACCT::connectdb;
+       #Get latest and earliest entry of DB
+       my  ($min,$max) = &ACCT::getminmax;
+       $min=&getdate($min);
+       $max=&getdate($max);
+       #Print status table
+       &Header::openbox('100%', 'left', $Lang::tr{'acct status'});
+       print<<END;
+       <table style='width:100%;' cellspacong='0' class='tbl'>
+       <tr>
+               <th align='left' width='30%'>$Lang::tr{'name'}</th>
+               <th align='left'>$Lang::tr{'acct value'}</th>
+       </tr>
+       <tr>
+               <td>$Lang::tr{'acct dbsize'}</td>
+               <td>$sizedb MB</td>
+       </tr>
+       <tr>
+               <td>$Lang::tr{'acct rrdsize'}</td>
+               <td>$sizerrd MB</td>
+       </tr>
+       <tr>
+               <td>$Lang::tr{'acct oldestdb'}</td>
+               <td>$min</td>
+       </tr>
+       <tr>
+               <td>$Lang::tr{'acct latestdb'}</td>
+               <td>$max</td>
+       </tr>
+       </table>
+       <br>
+END
+       &Header::closebox();
+       #print Database maintenance table
+       &Header::openbox('100%', 'left', $Lang::tr{'acct dbmaintenance'});
+       print<<END;
+       <br>
+       <form method='post' action='$ENV{'SCRIPT_NAME'}'>
+       <table style='width:100%;' cellspacing='0' class='tbl'>
+       <tr>
+               <th>$Lang::tr{'acct task'}</th>
+               <th>$Lang::tr{'acct parameter'}</th>
+               <th>$Lang::tr{'acct action'}</th>
+       </tr>
+       <tr>
+               <td>$Lang::tr{'acct emptydb'}</td>
+               <td></td>
+               <td><input type='submit' name='ACTION2' value='$Lang::tr{'acct commit'}' style='width:10em'></td>
+       </tr>
+       <tr>
+               <td>$Lang::tr{'acct emptydbtraf'}</td>
+               <td></td>
+               <td><input type='submit' name='ACTION' value='$Lang::tr{'acct commit'}' style='width:10em'></td>
+       </tr>
+       <tr>
+               <td>$Lang::tr{'acct delbefore'} (ACCT,ACCT_HIST)</td>
+               <td><select name='expmonth'>
+END
+       for(my $i=1;$i<13;$i++){
+               print"<option>$i</option>";
+       }
+       print"</select><select name='expyear'>";
+       for(my $i=2014;$i<=($year+1900);$i++){
+               print"<option>$i</option>";
+       }
+       print<<END;
+               </select></td>
+               <td><input type='submit' name='ACTION1' value='$Lang::tr{'acct commit'}' style='width:10em'></td>
+       </tr>
+       </table>
+       </form>
+END
+       &Header::closebox();
+#BackButton
+       print<<END;
+       <form method='post' action='$ENV{'SCRIPT_NAME'}'>
+       <table style='width:100%;'>
+       <tr>
+               <td></td>
+               <td align='right'><input type='submit' name='ACTION' value='$Lang::tr{'back'}'></td>
+       </tr>
+       </table>
+       </form>
+END
+
+
+       &Header::closebigbox();
+       &Header::closepage();
+       &ACCT::closedb;
+       exit 0;
+}
+
+sub getdate{
+       #GET  : Timestamp in seconds since 1.1.1970
+       #GIVES: Date in Format dd.mm.yyyy HH:MM:SS 
+       my $val = $_[0];
+       my $y=sprintf("%02d",(localtime($val))[5]-100);
+       my $Y=sprintf("%04d",(localtime($val))[5]+1900);
+       my $m=sprintf("%02d",(localtime($val))[4]+1);
+       my $d=sprintf("%02d",(localtime($val))[3]);
+       my $H=sprintf("%02d",(localtime($val))[2]);
+       my $M=sprintf("%02d",(localtime($val))[1]);
+       my $S=sprintf("%02d",(localtime($val))[0]);
+       
+       return "$d.$m.$Y $H:$M:$S";
+}
+
+sub menu{
+       &Header::openbox('100%', 'left', $Lang::tr{'menu'});
+       print<<END;
+       <form method='post' action='$ENV{'SCRIPT_NAME'}'>
+       <table style='width: 100%;'>
+       <tr>
+               <td style='display:inline;'>
+                       <input type='submit' name='ACTION' value='$Lang::tr{'acct config'}'>
+                       <input type='submit' name='ACTION' value='$Lang::tr{'acct addresses'}'>
+                       <input type='submit' name='ACTION' value='$Lang::tr{'acct billgroup'}'>
+END
+       if ($settings{'EXPERT'} eq 'on'){
+               print "<input type='submit' name='ACTION' value='$Lang::tr{'acct maintenance'}'>";
+       }
+       print<<END;
+               </td>
+       </tr>
+       </table>
+       </form>
+END
+       &Header::closebox();
+}
+
+sub graphsite{
+       my $grmon=$_[0];
+       my $gryear=$_[1];
+       my $grhost=$_[2];
+
+       &Header::openpage("$Lang::tr{'acct host detail'} $grhost", 1, '');
+       &Header::openbigbox('100%', 'center');
+       &Header::openbox('100%', 'left', );
+
+       &generatemonthgraph($grmon,$gryear,$grhost);
+
+       &Header::closebox();
+       &Header::closebigbox();
+       &Header::closepage();
+       exit 0;
+}
+
+sub generatemonthgraph{
+       my $grmon=$_[0];
+       my $gryear=$_[1];
+       my $grhost=$_[2];
+       my ($from,$till) = &ACCT::getmonth($grmon,$gryear);
+       my @values=();
+       my $sth;
+       my $cnt=0;
+       #If we want to show Data from within last 2 months, get DATA from ACCT
+       if ( ! $grmon < ($mon+1) && $gryear == ($year+1900)){
+               $sth=&ACCT::getmonthgraphdata("ACCT",$from,$till,$grhost);
+       }else{
+               #If we want to show data from a date older than last two months, use ACCT_HIST
+               $sth=&ACCT::getmonthgraphdata("ACCT_HIST",$from,$till,$grhost);
+       }
+       foreach( @$sth ) {
+               $cnt++;
+               foreach my $i (0..$#$_) {
+                               push (@{$values[$i]},($_->[$i]));
+               }
+       }
+
+       for my $graph (GD::Graph::area->new(600,200))
+       {
+               my $name = $cgiparams{'host'};
+               $graph->set(
+                       bgclr => 'white',
+                       fgclr => 'black',
+                       boxclr => '#eeeeee',
+                       accentclr => 'dblue',
+                       valuesclr => '#ffff77',
+                       labelclr => 'black',
+                       axislabelcl =>'black',
+                       legendclr =>'black',
+                       valuesclr =>'black',
+                       textclr =>'black',
+                       dclrs => [qw(lgreen lred)],
+                       x_label => $Lang::tr{'date'},
+                       y_label => $Lang::tr{'acct mb'},
+                       title => $name,
+                       y_long_ticks => 1,
+                       #x_label_skip => 3, #skip every 3 x-axis title 
+                       x_label_position => 0,
+                       transparent => 0,
+               );
+
+               $graph->set_legend("$Lang::tr{'acct traffic'}");
+               $graph->set(x_labels_vertical => 1, values_vertical => 1);
+               my $gd=$graph->plot(\@values);
+               open(IMG, '>/srv/web/ipfire/html/accounting/tmpgraph.png') or die $!;
+               binmode IMG;
+               print IMG $gd->png;
+       }
+       #Show Box with monthly graph for this host
+       &Header::openbox('100%', 'left', $Lang::tr{'acct traffic monthly'});
+       print "<center><img src='/accounting/tmpgraph.png' alt='$grhost'></center>";
+       print "<b>$cgiparams{'traffic'}</b>";
+       &Header::closebox();
+       print<<END;
+       <table style='width:100%;'>
+               <tr>
+                       <form method='post' action='$ENV{'SCRIPT_NAME'}'>
+                       <td align='right'><input type='submit' name='ACTION' value='$Lang::tr{'back'}'></td>
+                       </form>
+               </tr>
+       </table>
+END
+}
+
+sub generatehourgraph{
+       my $grmon=$_[0];
+       my $gryear=$_[1];
+       my $grhost=$_[2];
+       my ($from,$till) = &ACCT::getmonth($grmon,$gryear);
+       my @values=();
+       my $sth;
+       my $cnt=0;
+       #If we want to show Data from within last 2 months, get DATA from ACCT
+       if ( ! $grmon < ($mon+1) && $gryear == ($year+1900)){
+               $sth=&ACCT::getgraphdata("ACCT",$from,$till,$grhost);
+       }else{
+               #If we want to show data from a date older than last two months, use ACCT_HIST
+               $sth=&ACCT::getgraphdata("ACCT_HIST",$from,$till,$grhost);
+       }
+       foreach( @$sth ) {
+               $cnt++;
+               foreach my $i (0..$#$_) {
+                       #print "$_->[$i] "
+                       if ($i == 1){
+                               push (@{$values[$i]},($_->[$i]/1024/1024));
+                       }else{
+                               push (@{$values[$i]},$_->[$i]);
+                       }
+               }
+       }
+
+       print"<br><br><br>";
+       
+       for my $graph (GD::Graph::area->new(600,200))
+       {
+               my $name = $cgiparams{'host'};
+               print STDERR "Processing $name mit sosse\n";
+       
+               $graph->set(
+                                               x_label => 'X Label',
+                                               y_label => 'Y label',
+                                               title => 'An Area Graph',
+                                               #y_max_value => 40,
+                                               #y_tick_number => 8,
+                                               #y_label_skip => 2,
+                                               #accent_treshold => 41,
+                                               transparent => 0,
+               );
+       
+               $graph->set_legend( 'one', 'two' );
+               my $gd=$graph->plot(\@values);
+               open(IMG, '>/srv/web/ipfire/html/test/file.png') or die $!;
+               binmode IMG;
+               print IMG $gd->png;
+       } 
+       sleep 1;
+       print "<img src='/test/file.png' alt='Tanzmaus'>";
+}
+
+sub statusbox{
+       my $bgcolor1='';
+       my $bgcolor2='';
+       my $message;
+       if ($proxsrv eq $Lang::tr{'stopped'}){
+               $bgcolor1="bgcolor='${Header::colourred}' align='center'";
+               $message="<br>$Lang::tr{'acct proxy_enable'}";
+       }else{
+               $bgcolor1="bgcolor='${Header::colourgreen}' align='center'";
+       }
+       if ($proxlog eq $Lang::tr{'stopped'}){
+               $bgcolor2="bgcolor='${Header::colourred}' align='center'";
+               $message=$message."<br>$Lang::tr{'acct proxylog_enable'}";
+       }else{
+               $bgcolor2="bgcolor='${Header::colourgreen}' align='center'";
+       }
+       &Header::openbox('100%', 'left', );
+       print<<EOF;
+       <center><table width='50%' class='tbl'>
+       <tr>
+               <th>$Lang::tr{'service'}</th>
+               <th>$Lang::tr{'status'}</th>
+       </tr>
+       <tr>
+               <td bgcolor='$color{'color22'}'>$Lang::tr{'proxy'}</td>
+               <td $bgcolor1><font color='white'>$proxsrv</td>
+       <tr>
+       <tr>
+               <td bgcolor='$color{'color20'}'>$Lang::tr{'logging'}</td>
+               <td $bgcolor2><font color='white'>$proxlog</td>
+       </tr>
+EOF
+       if ($message){
+               print"<tr><td colspan='2'><font color='red'>$message<br>$Lang::tr{'acct nodata'}</td></tr>";
+       }
+       print"</table>";
+       &Header::closebox();
+}
+
+sub calcbytes{
+       #GET:   Value (bytes)
+       #GIVES: Value (in MB,GB,TB) With Type ("MB","GB","TB")
+       my $val=$_[0];
+       my $type;
+       if (($val/1024) < 1024){
+               #Calc KB
+               $val=sprintf "%.2f",$val/1024;
+               $type=$Lang::tr{'acct kb'};
+       }elsif (($val/(1024*1024)) < 1024){ 
+               #Calc MB
+               $val=sprintf "%.2f",$val/(1024*1024);
+               $type=$Lang::tr{'acct mb'};
+       }elsif(($val/(1024*1024*1024)) < 1024){
+               #Calc GB 
+               $val=sprintf "%.2f",$val/(1024*1024*1024);
+               $type=$Lang::tr{'acct gb'};
+       }elsif(($val/(1024*1024*1024*1024)) < 1024){
+               #Calc TB
+               $val=sprintf "%.2f",$val/(1024*1024*1024*1024);
+               $type=$Lang::tr{'acct tb'};
+       }
+       return ($val,$type);
+}
+
+sub addressmgmnt{
+       #This function shows the site "address management"
+       &Header::openpage("$Lang::tr{'acct addresses'}", 1, '');
+       &Header::openbigbox('100%', 'center');
+       &error;
+       my $col1;
+       my $host=0;
+       my $cust=0;
+       #Get all Addresses from DB
+       my $res = &ACCT::getaddresses;
+
+&Header::openbox('100%', 'left',$Lang::tr{'acct edit_addr'} );
+
+#When no address preselected, set COMPANYTYPE to "CUST"
+if ($cgiparams{'rdo_companytype'} eq ''){
+       $cgiparams{'rdo_companytype'} = 'CUST';
+}
+$checked{'rdo_companytype'}{$cgiparams{'rdo_companytype'}}                             = 'CHECKED';
+
+#NEW AddressBox
+print<<END;
+       <form method='post' action='$ENV{'SCRIPT_NAME'}'>
+               <table style=width:100%;'>
+                       <tr>
+                               <td style='width:8em;'></td>
+                               <td></td>
+                               <td colspan='2'><font size="1">$Lang::tr{'acct hint_hoster'}:</font></td>
+                       </tr>
+                       <tr>
+                               <td>$Lang::tr{'acct companytype'}</td>
+                               <td>
+                                       <input type='radio' name='rdo_companytype' value='CUST' $checked{'rdo_companytype'}{'CUST'}>$Lang::tr{'acct customer'} &nbsp;
+                                       <input type='radio' name='rdo_companytype' value='HOST' $checked{'rdo_companytype'}{'HOST'}>$Lang::tr{'acct hoster'}</td>
+                               <td style='width:8em;'>$Lang::tr{'acct bank'}</td>
+                               <td>
+                                       <input type='text' name='txt_bank' value='$cgiparams{'txt_bank'}' style='width:25em;'></td>
+                       </tr>
+                       <tr>
+                               <td>$Lang::tr{'acct company'}</td>
+                               <td>
+                                       <input type='text' name='txt_company' value='$cgiparams{'txt_company'}' style='width:25em;'></td>
+                               <td>$Lang::tr{'acct iban'}<img src='/blob.gif' alt='*' /></td>
+                               <td>
+                                       <input type='text' name='txt_iban' value='$cgiparams{'txt_iban'}' style='width:25em;'></td>
+                       </tr>
+                       <tr>
+                               <td>$Lang::tr{'acct name1'}<img src='/blob.gif' alt='*' /></td>
+                               <td>
+                                       <input type='text' name='txt_name1' value='$cgiparams{'txt_name1'}' style='width:25em;'></td>
+                               <td>$Lang::tr{'acct bic'}<img src='/blob.gif' alt='*' /></td>
+                               <td>
+                                       <input type='text' name='txt_bic' maxlength='8' value='$cgiparams{'txt_bic'}' style='width:25em;'></td>
+                       </tr>
+                       <tr>
+                               <td>$Lang::tr{'acct str'}</td>
+                               <td align='left'>
+                                       <input type='text' name='txt_str' value='$cgiparams{'txt_str'}' style='width:25em;'></td>
+                               <td>$Lang::tr{'acct blz'}</td>
+                               <td>
+                                       <input type='text' name='txt_blz' maxlength='8' value='$cgiparams{'txt_blz'}' style='width:25em;'></td>
+                       </tr>
+                       <tr>
+                               <td>$Lang::tr{'acct str_nr'}</td>
+                               <td><input type='text' name='txt_str_nr' value='$cgiparams{'txt_str_nr'}' style='width:25em;'></td>
+                               <td>$Lang::tr{'acct kto'}</td>
+                               <td>
+                                       <input type='text' name='txt_kto' value='$cgiparams{'txt_kto'}' style='width:25em;'></td>
+                       </tr>
+
+                       
+                       <tr>
+                               <td>$Lang::tr{'acct plz'}</td>
+                               <td>
+                                       <input type='text' name='txt_plz' value='$cgiparams{'txt_plz'}' style='width:25em;'></td>
+                               <td>$Lang::tr{'acct email'}</td>
+                               <td><input type='text' name='txt_email' value='$cgiparams{'txt_email'}' style='width:25em;'></td>
+                       </tr>
+                       <tr>
+                               <td>$Lang::tr{'acct city'}</td>
+                               <td><input type='text' name='txt_city' value='$cgiparams{'txt_city'}' style='width:25em;'></td>
+                               <td>$Lang::tr{'acct inet'}<img src='/blob.gif' alt='*' /></td>
+                               <td>
+                                       <input type='text' name='txt_inet' value='$cgiparams{'txt_inet'}' style='width:25em;'></td>
+                       </tr>
+                       <tr>
+                               <td></td>
+                               <td></td>
+                               <td>$Lang::tr{'acct hrb'}<img src='/blob.gif' alt='*' /></td>
+                               <td>
+                                       <input type='text' name='txt_hrb' value='$cgiparams{'txt_hrb'}' style='width:25em;'></td>
+                       </tr>
+                       <tr>
+                               <td></td>
+                               <td></td>
+                               <td>$Lang::tr{'acct ustid'}</td>
+                               <td><input type='text' name='txt_ustid' value='$cgiparams{'txt_ustid'}' style='width:25em;'></td>
+                       </tr>
+                       <tr>
+                               <td></td>
+                               <td></td>
+                               <td>$Lang::tr{'acct tel'}<img src='/blob.gif' alt='*' /></td>
+                               <td>
+                                       <input type='text' name='txt_tel' value='$cgiparams{'txt_tel'}' style='width:25em;'></td>
+                       </tr>
+                       <tr>
+                               <td></td>
+                               <td></td>
+                               <td>$Lang::tr{'acct fax'}<img src='/blob.gif' alt='*' /></td>
+                               <td>
+                                       <input type='text' name='txt_fax' value='$cgiparams{'txt_fax'}' style='width:25em;'></td>
+                       </tr>
+                       <tr>
+                               <td colspan='6'><img src='/blob.gif' alt='*' /><font size="1">$Lang::tr{'acct optional'}</font></td>
+                       </tr>
+                       <tr>
+END
+       if($cgiparams{'update'} eq 'on'){
+               print"<input type='hidden' name='oldcompname' value='$cgiparams{'oldcompname'}'>";
+               print "<td colspan='6' align='right' display:inline><input type='submit' name='ACTION' value='$Lang::tr{'update'}'></td>";
+       }else{
+               print "<td colspan='6' align='right' display:inline><input type='submit' name='ACTION1' value='$Lang::tr{'save'}'></td>";
+       }
+       print"</tr></table></form>";
+&Header::closebox();
+#Upper BackButton
+print<<END;
+       <form method='post' action='$ENV{'SCRIPT_NAME'}'>
+       <table style='width:100%;'>
+               <tr>
+                       <td align='right'><input type='submit' name='ACTION' value='$Lang::tr{'back'}'></td>
+               </tr>
+       </table>
+       </form>
+END
+#Check if we need to show HOSTBOX and/or CUSTBOX
+foreach my $row (@$res) {
+       my ($gr,$comp,$type,$name1,$str,$nr,$plz,$city,$bank,$iban,$bic,$blz,$kto,$email,$inet,$hrb,$ustid,$tel,$fax) = @$row;
+       if ($type eq 'HOST'){
+               $host=1;
+       }
+       if ($type eq 'CUST'){
+               $cust=1;
+       }
+}
+#Show HOSTER Addresses if any
+       if ($host){
+               $count=0;
+               #EXISTING HOST BOX
+               &Header::openbox('100%', 'left',$Lang::tr{'acct exst_host_addr'} );
+               my $float;
+               print "<table style='width:100%'>";
+               foreach my $row (@$res) {
+                       #SET colors for tablerows
+                       $col="style='background-color:$color{'color22'}'";
+                       $col1="style='background-color:#e2d8d8'";
+                       my ($gr,$comp,$type,$name1,$str,$nr,$plz,$city,$bank,$iban,$bic,$blz,$kto,$email,$inet,$hrb,$ustid,$tel,$fax) = @$row;
+                       if ($cgiparams{'oldcompname'} eq $comp){
+                               $col="style='background-color:yellow'";
+                               $col1="style='background-color:yellow'";
+                       }
+                       if ($type eq 'HOST'){
+                               $count++;
+                               if($count % 2){
+                                       print"<tr><td width='50%' valign='top' align='center'>";
+                               }else{
+                                       print"</td><td width='50%' valign='top' align='center'>";
+                               }
+                               print<<END;
+                               <table style='width:90%;' cellspacing='0' class='tbl'>
+                               <tr>
+                                       <th align='left' width='50%'>$Lang::tr{'acct company'}</th>
+                                       <th align='left' width='10%' >$Lang::tr{'acct bank'}</th>
+                                       <th width='38%' ></th>
+                                       <th align='right' width='1%' style="PADDING: 0px">
+                                       <form method='post' action='$ENV{'SCRIPT_NAME'}'>
+                                       <input type='image' src='/images/edit.gif' alt=$Lang::tr{'acct edit'} title='$Lang::tr{'acct edit'}' />
+                                       <input type='hidden' name='ACTION' value='edit_addr'>
+                                       <input type='hidden' name='rdo_companytype' value='$type'>
+                                       <input type='hidden' name='txt_company' value='$comp'>
+                                       <input type='hidden' name='txt_name1' value='$name1'>
+                                       <input type='hidden' name='txt_str' value='$str'>
+                                       <input type='hidden' name='txt_str_nr' value='$nr'>
+                                       <input type='hidden' name='txt_plz' value='$plz'>
+                                       <input type='hidden' name='txt_city' value='$city'>
+                                       <input type='hidden' name='txt_bank' value='$bank'>
+                                       <input type='hidden' name='txt_iban' value='$iban'>
+                                       <input type='hidden' name='txt_bic' value='$bic'>
+                                       <input type='hidden' name='txt_blz' value='$blz'>
+                                       <input type='hidden' name='txt_kto' value='$kto'>
+                                       <input type='hidden' name='txt_email' value='$email'>
+                                       <input type='hidden' name='txt_inet' value='$inet'>
+                                       <input type='hidden' name='txt_hrb' value='$hrb'>
+                                       <input type='hidden' name='txt_ustid' value='$ustid'>
+                                       <input type='hidden' name='txt_tel' value='$tel'>
+                                       <input type='hidden' name='txt_fax' value='$fax'>
+                                       </form></th>
+                                       <th width='1%' style="PADDING: 0px">
+                                       <form method='post' action='$ENV{'SCRIPT_NAME'}'>
+                                       <input type='image' src='/images/delete.gif' alt=$Lang::tr{'acct deladr'} title=$Lang::tr{'acct deladr'} />
+                                       <input type='hidden' name='txt_company' value='$comp'>
+                                       <input type='hidden' name='ACTION' value='del_addr'>
+                                       </form>
+                                       </th>
+                               </tr>
+                               <tr>
+                                       <td $col><b>$comp</b></td>
+                                       <td $col1></td>
+                                       <td colspan='3' $col1></td>
+                               </tr>
+                               <tr>
+                                       <td $col>$name1</td>
+                                       <td $col1 width='35%'>$Lang::tr{'acct bank'}</td>
+                                       <td colspan='3' $col1>$bank</td>
+                               </tr>
+                               <tr>
+                                       <td $col></td>
+                                       <td $col1>$Lang::tr{'acct iban'}</td>
+                                       <td colspan='3' $col1>$iban</td>
+                               </tr>
+                               <tr>
+                                       <td $col>$str $nr</td>
+                                       <td $col1>$Lang::tr{'acct bic'}</td>
+                                       <td colspan='3' $col1>$bic</td>
+                               </tr>
+                               <tr>
+                                       <td $col>$plz $city</td>
+                                       <td $col1>$Lang::tr{'acct blz'}</td>
+                                       <td colspan='3' $col1>$blz</td>
+                               </tr>
+                               <tr>
+                                       <td $col></td>
+                                       <td $col1>$Lang::tr{'acct kto'}</td>
+                                       <td colspan='3' $col1>$kto</td>
+                               </tr>
+                               </table>
+                               <br>
+                       </td>
+END
+                               if (! $count % 2){
+                                       print"</tr>";
+                               }
+                       }
+               }
+               if ( ($count % 2)){
+                       print"<td width='50%' valign='top' align='center'></td></tr>";
+               }
+               print "</table>";
+               &Header::closebox();
+       }else{
+               &Header::openbox('100%', 'left',$Lang::tr{'acct exst_host_addr'} );
+               print $Lang::tr{'acct host empty'};
+               &Header::closebox();
+       }
+#Show CUSTOMER Addresses if any
+       if($cust){
+               $count=0;
+               #EXISTING CUSTOMER BOX
+               &Header::openbox('100%', 'left',$Lang::tr{'acct exst_cust_addr'} );
+               print "<table style='width:100%;'><tr>";
+               foreach my $row (@$res) {
+                       #SET colors for tablerows
+                       $col="style='background-color:$color{'color22'}'";
+                       my ($gr,$comp,$type,$name1,$str,$nr,$plz,$city,$bank,$iban,$bic,$blz,$kto,$email,$inet,$hrb,$ustid,$tel,$fax) = @$row;
+                       if ($cgiparams{'oldcompname'} eq $comp){
+                               $col="style='background-color:yellow'";
+                       }
+                       if ($type eq 'CUST'){
+                               $count++;
+                               print"<td width='15%' valign='top' align='center'>";
+                               
+                               print<<END;
+                               <table style='width:90%;' cellspacing='0' class='tbl'>
+                               <tr>
+                                       <th align='left'>
+                                               $Lang::tr{'acct company'}
+                                       </th>
+                                       <th width='1%' style="PADDING: 0px">
+                                               <form method='post' action='$ENV{'SCRIPT_NAME'}'>
+                                               <input type='image' src='/images/edit.gif' alt='$Lang::tr{'acct edit'}' title='$Lang::tr{'acct edit'}' />
+                                               <input type='hidden' name='ACTION' value='edit_addr'>
+                                               <input type='hidden' name='rdo_companytype' value='$type'>
+                                               <input type='hidden' name='txt_company' value='$comp'>
+                                               <input type='hidden' name='txt_name1' value='$name1'>
+                                               <input type='hidden' name='txt_str' value='$str'>
+                                               <input type='hidden' name='txt_str_nr' value='$nr'>
+                                               <input type='hidden' name='txt_plz' value='$plz'>
+                                               <input type='hidden' name='txt_city' value='$city'>
+                                               <input type='hidden' name='txt_bank' value='$bank'>
+                                               <input type='hidden' name='txt_iban' value='$iban'>
+                                               <input type='hidden' name='txt_bic' value='$bic'>
+                                               <input type='hidden' name='txt_blz' value='$blz'>
+                                               <input type='hidden' name='txt_kto' value='$kto'>
+                                               <input type='hidden' name='txt_email' value='$email'>
+                                               <input type='hidden' name='txt_inet' value='$inet'>
+                                               <input type='hidden' name='txt_hrb' value='$hrb'>
+                                               <input type='hidden' name='txt_ustid' value='$ustid'>
+                                               <input type='hidden' name='txt_tel' value='$tel'>
+                                               <input type='hidden' name='txt_fax' value='$fax'>
+                                               </form>
+                                       </th>
+                                       <th width='1%' style="padding: 0px">
+                                               <form method='post' action='$ENV{'SCRIPT_NAME'}'>
+                                               <input type='image' src='/images/delete.gif' alt=$Lang::tr{'acct deladr'} title=$Lang::tr{'acct deladr'} />
+                                               <input type='hidden' name='ACTION' value='del_addr' />
+                                               <input type='hidden' name='txt_company' value='$comp' />
+                                               </form>
+                                       </th>
+                               </tr>
+                               <tr>
+                                       <td colspan='3' $col><b>$comp</b></td>
+                               </tr>
+                               <tr>
+                                       <td colspan='3' $col>$name1</td>
+                               </tr>
+                               <tr>
+                                       <td colspan='3' $col>$str $nr</td>
+                               </tr>
+                               <tr>
+                                       <td colspan='3' $col>$plz $city</td>
+                               </tr>
+                               </table><br>
+                               </td>
+       
+END
+                               if(! ($count % 3)) {
+                                       print"</tr><tr>";
+                               }
+                       }
+                       
+               }
+               if ($count %2){
+                       print"<td width='15%' valign='top' align='center'></td></tr>";
+               }
+               print"</table>";
+               &Header::closebox();
+       }else{
+               &Header::openbox('100%', 'left',$Lang::tr{'acct exst_cust_addr'} );
+               print $Lang::tr{'acct cust empty'};
+               &Header::closebox();
+       }
+       &Header::closebigbox();
+       &Header::closepage();
+       exit 0;
+}
+
+sub checkfield{
+       my $field=$_[0];
+       my $fieldvalue=$_[1];
+       my $errormessage=$_[2];
+       
+       if (!&validtextfield($fieldvalue)){
+               if(!$fieldvalue){
+                       $errormessage.="$Lang::tr{'acct empty field'} $field<br>";
+               }else{
+                       $errormessage.="$Lang::tr{'acct invalid'} $field<br>";
+               }
+       }
+       return $errormessage;
+}
+
+sub checkaddress{
+       #Check if an address with the same name alread exists
+       if ($cgiparams{'update'} ne 'on'){
+               my $res=&ACCT::getaddresses;
+               foreach my $row (@$res) {
+                       my ($anz,$name)=@$row;
+                       if ($name eq $cgiparams{'txt_company'}){
+                               $errormessage.=$Lang::tr{'acct companyexists'};
+                       }
+               }
+       }
+       #Check Companyfield
+       $errormessage=&checkfield($Lang::tr{'acct company'},$cgiparams{'txt_company'},$errormessage);
+
+       #Check Name1
+       if($cgiparams{'txt_name1'}){
+               $errormessage=&checkfield($Lang::tr{'acct name1'},$cgiparams{'txt_name1'},$errormessage);
+       }
+
+       #Check Name2
+       if($cgiparams{'txt_name2'}){
+               $errormessage=&checkfield($Lang::tr{'acct name2'},$cgiparams{'txt_name2'},$errormessage);
+       }
+
+       #Check STREET
+       $errormessage=&checkfield($Lang::tr{'acct str'},$cgiparams{'txt_str'},$errormessage);
+
+       #Check STREET-NR
+       if (! $cgiparams{'txt_str_nr'}){
+               $errormessage.="$Lang::tr{'acct empty field'} $Lang::tr{'acct str_nr'}<br>";
+       }else{
+               if(! &validalphanumfield($cgiparams{'txt_str_nr'})){
+                       $errormessage.="$Lang::tr{'acct invalid'} $Lang::tr{'acct str_nr'}<br>";
+               }
+       }
+
+       #Check POSTAL-CODE
+       if (! $cgiparams{'txt_plz'}){
+               $errormessage.="$Lang::tr{'acct empty field'} $Lang::tr{'acct plz'}<br>";
+       }else{
+               if(! &validnumfield($cgiparams{'txt_plz'})){
+                       $errormessage.="$Lang::tr{'acct invalid'} $Lang::tr{'acct plz'}<br>";
+               }
+       }
+
+       #Check CITY
+       $errormessage=&checkfield($Lang::tr{'acct city'},$cgiparams{'txt_city'},$errormessage);
+
+       #Check E-MAIL
+       if(! $cgiparams{'txt_email'}){
+               $errormessage.="$Lang::tr{'acct empty field'} $Lang::tr{'acct email'}<br>";
+       }else{
+               if (! &General::validemail($cgiparams{'txt_email'})){
+                       $errormessage.="<br>$Lang::tr{'acct invalid'} $Lang::tr{'acct email'}";
+               }
+       }
+
+       #Check all fields required for companytype "HOST"
+       if ($cgiparams{'rdo_companytype'} eq 'HOST'){
+               #Check BANK
+               $errormessage=&checkfield($Lang::tr{'acct bank'},$cgiparams{'txt_bank'},$errormessage);
+               
+               #Check IBAN - optional
+               if($cgiparams{'txt_iban'}){
+                       if(!&validalphanumfield($cgiparams{'txt_iban'})){
+                               $errormessage.="$Lang::tr{'acct invalid'} $Lang::tr{'acct iban'}<br>";
+                       }
+               }
+               if($cgiparams{'txt_bic'}){
+                       if(!&validalphanumfield($cgiparams{'txt_bic'})){
+                               $errormessage.="$Lang::tr{'acct invalid'} $Lang::tr{'acct bic'}<br>";
+                       }
+               }
+               if(($cgiparams{'txt_iban'} && $cgiparams{'txt_blz'})||(!$cgiparams{'txt_iban'} && $cgiparams{'txt_blz'})){
+                       #Check BLZ
+                       if(! &validnumfield($cgiparams{'txt_blz'})){
+                               $errormessage.="$Lang::tr{'acct invalid'} $Lang::tr{'acct blz'}<br>";
+                       }
+                       #Check BANKACCOUNT
+                       if($cgiparams{'txt_kto'}){
+                               if(! &validnumfield($cgiparams{'txt_kto'})){
+                                       $errormessage.="$Lang::tr{'acct invalid'} $Lang::tr{'acct kto'}<br>";
+                               }
+                       }elsif(!$cgiparams{'txt_kto'}){
+                               $errormessage.="$Lang::tr{'acct empty field'} $Lang::tr{'acct kto'}<br>";
+                       }
+               }elsif(!$cgiparams{'txt_iban'} && !$cgiparams{'txt_blz'}){
+                       $errormessage.="$Lang::tr{'acct empty field'} $Lang::tr{'acct blz'}<br>";
+                       #Check BANKACCOUNT
+                       if($cgiparams{'txt_kto'}){
+                               if(! &validnumfield($cgiparams{'txt_kto'})){
+                                       $errormessage.="$Lang::tr{'acct invalid'} $Lang::tr{'acct kto'}<br>";
+                               }
+                       }elsif(!$cgiparams{'txt_kto'}){
+                               $errormessage.="$Lang::tr{'acct empty field'} $Lang::tr{'acct kto'}<br>";
+                       }
+               }
+
+               #Check Internet
+               if($cgiparams{'txt_inet'}){
+                       if ($cgiparams{'txt_inet'} =~ m/([a-z]+:\/\/)??([a-z0-9\-]+\.){1}(([a-z0-9\-]+\.){0,})([a-z0-9\-]+){1}/o) {
+                                       $cgiparams{'txt_inet'}=$2.$3.$5;
+                               } else {
+                                       $errormessage.="$Lang::tr{'acct invalid'} $Lang::tr{'acct inet'}<br>";
+                               }
+               }
+               #Check Hrb
+               if($cgiparams{'txt_hrb'}){
+                       $errormessage=&checkfield($Lang::tr{'acct hrb'},$cgiparams{'txt_hrb'},$errormessage);
+               }
+               
+       }
+
+       #Check Phone
+       if($cgiparams{'txt_tel'}){
+                       if (!&validphonefield($cgiparams{'txt_tel'})){
+                               $errormessage.="$Lang::tr{'acct invalid'} $Lang::tr{'acct tel'}<br>";
+                       }
+       }
+
+       return $errormessage;
+}
+
+sub checkproxy{
+       if(-f "${General::swroot}/proxy/enable"){
+               $proxsrv=$Lang::tr{'running'};
+       }else{
+               $proxsrv=$Lang::tr{'stopped'};
+       }
+       my $srce = "${General::swroot}/proxy/squid.conf";
+       my $string1 = 'access\.log';
+       open(FH, $srce);
+       while(my $line = <FH>) {
+               if($line =~ m/$string1/) {
+                       $proxlog=$Lang::tr{'running'};
+               }
+       }
+       close FH;
+       return;
+}
+
+sub validtextfield{
+       #GET: Input from a Textfield
+       #GIVES: True if valid, false if not valid
+       my $remark = $_[0];
+
+       # Each part should be at least two characters in length
+       # but no more than 63 characters
+       if (length ($remark) < 1 || length ($remark) > 255) {
+               return 0;}
+       # Only valid characters are a-z, A-Z, 0-9 and -
+       if ($remark !~ /^[a-zäöüA-ZÖÄÜ0-9-.:;\&\|\ß_()\/\s]*$/) {
+               return 0;}
+       # First character can only be a letter or a digit
+       if (substr ($remark, 0, 1) !~ /^[a-zäöüA-ZÖÄÜ0-9(]*$/) {
+               return 0;}
+       # Last character can only be a letter or a digit
+       if (substr ($remark, -1, 1) !~ /^[a-zöäüA-ZÖÄÜ0-9.:;_)]*$/) {
+               return 0;}
+       return 1;
+}
+
+sub validnumfield{
+       #GET: Input from a numeric field
+       #GIVES: True if valid, false if not valid
+       my $num = $_[0];
+
+       # Each part should be at least two characters in length
+       # but no more than 63 characters
+       if (length ($num) < 1 || length ($num) > 255) {
+               return 0;}
+       # Only valid characters are a-z, A-Z, 0-9 and -
+       if ($num !~ /^[0-9.]*$/) {
+               return 0;}
+       # First character can only be a letter or a digit
+       if (substr ($num, 0, 1) !~ /^[0-9]*$/) {
+               return 0;}
+       # Last character can only be a letter or a digit
+       if (substr ($num, -1, 1) !~ /^[0-9]*$/) {
+               return 0;}
+       return 1;
+}
+
+sub validphonefield{
+       #GET: Input from a numeric field
+       #GIVES: True if valid, false if not valid
+       my $num = $_[0];
+
+       # Each part should be at least two characters in length
+       # but no more than 63 characters
+       if (length ($num) < 1 || length ($num) > 255) {
+               return 0;}
+       # Only valid characters are a-z, A-Z, 0-9 and -
+       if ($num !~ /^[0-9-()\+ ]*$/) {
+               return 0;}
+       # First character can only be a letter or a digit
+       if (substr ($num, 0, 1) !~ /^[0-9(\+]*$/) {
+               return 0;}
+       # Last character can only be a digit
+       if (substr ($num, -1, 1) !~ /^[0-9]*$/) {
+               return 0;}
+       return 1;
+}
+
+sub validalphanumfield{
+       #GET: Input from a numeric field
+       #GIVES: True if valid, false if not valid
+       my $remark = $_[0];
+
+       # Each part should be at least two characters in length
+       # but no more than 63 characters
+       if (length ($remark) < 1 || length ($remark) > 255) {
+               return 0;}
+       # Only valid characters are a-z, A-Z, 0-9 and -
+       if ($remark !~ /^[0-9a-zA-Z]*$/) {
+               return 0;}
+       # First character can only be a letter or a digit
+       if (substr ($remark, 0, 1) !~ /^[0-9A-Za-z]*$/) {
+               return 0;}
+       # Last character can only be a letter or a digit
+       if (substr ($remark, -1, 1) !~ /^[0-9a-zA-Z]*$/) {
+               return 0;}
+       return 1;
+}
+
+sub error{
+       if ($errormessage) {
+               &Header::openbox('100%', 'left', $Lang::tr{'error messages'});
+               print "<class name='base'>$errormessage\n";
+               print "&nbsp;</class>\n";
+               &Header::closebox();
+       }
+}
+
+sub billgroupsite{
+       &Header::openpage("$Lang::tr{'acct billgroup'}", 1, '');
+       &Header::openbigbox('100%', 'center');
+       &error;
+       my $host;
+       my $cust;
+       my @oldhosts;
+       my $grp;
+       my $mailrcpt;
+       my $ccmailrcpt;
+       #Get addresses from DB
+       my $res = &ACCT::getaddresses;
+       #Check if we need to show NEW-BillGROUP-BOX or Hint
+       foreach my $row (@$res) {
+               my ($gr,$comp,$type,$name1,$str,$nr,$plz,$city,$bank,$iban,$bic,$blz,$kto,$email,$inet,$hrb,$ust,$tel,$fax,$ccmail) = @$row;
+               $grp=$gr;
+               $mailrcpt=$email;
+               $ccmailrcpt=$ccmail;
+               if ($type eq 'HOST'){
+                       $host=1;
+               }
+               if ($type eq 'CUST'){
+                       $cust=1;
+               }
+       }
+if ($host && $cust){
+       #Fill CCMAIL
+       if (!$cgiparams{'txt_ccmail'}){
+               $cgiparams{'txt_ccmail'}=$ccmailrcpt;
+       }
+       &Header::openbox('100%', 'left',"$Lang::tr{'acct edit_addr'}" );
+       print<<END;
+       <form method='post' action='$ENV{'SCRIPT_NAME'}' ENCTYPE='multipart/form-data'>
+               <table style='width:100%;'>
+                       <tr>
+                               <td style='width: 22em;'>$Lang::tr{'name'}</td>
+                               <td><input type='text' name='txt_billgroup' value='$cgiparams{'txt_billgroup'}' style='width: 24em;'></td>
+                       </tr>
+                       <tr>
+                               <td><br></td>
+                       </tr>
+                       <tr>
+                               <td valign='top'>$Lang::tr{'acct billtext1'}<img src='/blob.gif' alt='*' /></td>
+                               <td><textarea name='txt_billtext1' cols='40' rows='5'  style='width: 24em;' maxlength='300'>$cgiparams{'txt_billtext1'}</textarea></td>
+                       </tr>
+                       <tr><td><br></td></tr>
+END
+       #Print Dropdown Menu for HOSTER and CUSTOMER
+       print "<tr><td>$Lang::tr{'acct hoster'}</td><td><select name='dd_host' style='width: 24.3em;'>";
+       foreach my $row (@$res) {
+               my ($gr,$comp,$type) = @$row;
+               if ($type eq 'HOST'){
+                       if($cgiparams{'dd_host'} eq $comp){
+                               print"<option selected>$comp</option>";
+                       }else{
+                               print"<option>$comp</option>";
+                       }
+               }
+       }
+       print "</select></td></tr><tr><td><br></td></tr>";
+       print "<tr><td>$Lang::tr{'acct customer'}</td><td><select name='dd_cust' style='width: 24.3em;'>";
+       foreach my $row (@$res) {
+               my ($gr,$comp,$type) = @$row;
+               if ($type eq 'CUST'){
+                       if($cgiparams{'dd_cust'} eq $comp){
+                               print"<option selected>$comp</option>";
+                       }else{
+                               print"<option>$comp</option>";
+                       }
+               }
+       }
+       print "</select></td></tr>";
+       print "<tr><td><br></td></tr>";
+       #Print multiselectbox for hosts/users which should be part of this group
+       my $hosts=&ACCT::gethosts;
+       print"<tr><td valign='top'>$Lang::tr{'acct members'}</td><td><select name='sel_hosts' multiple size='8' style='width: 24em;' >";
+       #If update, split $cgiparams{'sel_hosts'} and preselect values from selectbox
+       if($cgiparams{'update'} eq 'on'){
+               $cgiparams{'oldname'}=$cgiparams{'txt_billgroup'};
+               @oldhosts=split(/\|/,$cgiparams{'sel_hosts'});
+       }
+       foreach my $row (@$hosts) {
+               my ($val)=@$row;
+               my $sel=0;
+               foreach my $old (@oldhosts){
+                       if ($old eq $val){
+                               $sel=1;
+                       }
+               }
+               if ($sel){
+                       print"<option selected>$val</option>";
+               }else{
+                       print"<option>$val</option>";
+               }
+       }
+       print"</select></td></tr>";
+       print "<tr><td><br></td></tr>";
+       #set right decimal seperator for cent value
+       setlocale(LC_NUMERIC,"$mainsettings{'LANGUAGE'}_$uplang");
+       my $val=sprintf"%.3f",$cgiparams{'txt_cent'};
+       print"<tr><td>$Lang::tr{'acct cent'}</td><td><input type='text' name='txt_cent' value='$val' size='3'>$settings{'CURRENCY'} </td></tr>";
+       #Optional note
+       print"<tr><td colspan='2' align='left'><img src='/blob.gif' alt='*' /><font size='1'>$Lang::tr{'acct optional'}</font></td></tr>";
+       print"<tr><td colspan='2' align='right'><br><br>";
+       print"</td></tr></table>";
+
+       #LOGO Upload if update eq 'on'
+       if ($cgiparams{'update'} eq 'on'){
+               print<<END;
+               <table style='width:100%;'>
+               <tr>
+                       <td style='width: 22em;'>$Lang::tr{'acct logo upload'}</td>
+                       <td><INPUT TYPE="file" NAME="uploaded_file" SIZE=30 MAXLENGTH=80></td>
+                       <input type='hidden' name='logo_grp' value='$cgiparams{'txt_billgroup'}' />
+               </tr>
+               <tr>
+                       <td><br>$Lang::tr{'acct logo'}</td>
+END
+               #Show Logo in webinterface with 1/2 size if set
+               if (-f "$logopath/$cgiparams{'txt_billgroup'}/logo.png"){
+                       print"<td><img src='/accounting/logo/$cgiparams{'txt_billgroup'}/logo.png' alt='$logopath/$cgiparams{'txt_billgroup'}/logo.png' width='25%' height='25%' /></td></tr>";
+               }else{
+                       print"<td><br>$Lang::tr{'no'}</td></tr>";
+               }
+               #Show optional CC Mailadresses
+               print<<END;
+               <tr>
+                       <td><br>$Lang::tr{'acct mailrcpt'}</td>
+                       <td><br>$mailrcpt</td>
+               </tr>
+               <tr>
+                       <td><br>$Lang::tr{'acct ccmail'}</td>
+                       <td><br><input type='text' name='txt_ccmail' value='$cgiparams{'txt_ccmail'}' style='width: 24.3em;'></td>
+               </tr>
+               
+               
+               
+END
+               print"</table>";
+       }
+       print"<table style='width:100%;'><tr><td align='right'>";
+       #Print SAVE or EDIT Button
+       if($cgiparams{'update'} eq 'on'){
+               print "<input type='submit' name='BILLACTION' value='$Lang::tr{'update'}'>";
+               print "<input type='hidden' name='oldname' value='$cgiparams{'oldname'}'>";
+               print "<input type='hidden' name='oldccmail' value='$ccmailrcpt'>";
+       }else{
+               print "<input type='submit' name='BILLACTION' value='$Lang::tr{'save'}'>";
+       }
+       print"</td></tr></table><br></form><br>";
+       &Header::closebox();
+#BackButton
+       print<<END;
+       <form method='post' action='$ENV{'SCRIPT_NAME'}'>
+       <table style='width:100%;'>
+               <tr>
+                       <td align='right'>
+                               <input type='submit' name='ACTION' value='$Lang::tr{'back'}'>
+                       </td>
+               </tr>
+       </table>
+       </form>
+END
+       #Show Box for fixed positions if update
+       if ($cgiparams{'update'} eq 'on'){
+               &viewtablebillpos($cgiparams{'txt_billgroup'});
+       }
+       if($grp >0){
+               &viewtablebillgroups;
+       }
+
+}else{
+       &Header::openbox('100%', 'left',"$Lang::tr{'hint'}" );
+       print "$Lang::tr{'acct hint billgrp'}";
+       &Header::closebox();
+       #BackButton
+print<<END;
+       <table style='width:100%;'>
+               <tr>
+                       <form method='post' action='$ENV{'SCRIPT_NAME'}'>
+                       <td align='right'><input type='submit' name='ACTION' value='$Lang::tr{'back'}'></td>
+                       </form>
+               </tr>
+       </table>
+END
+}
+       &Header::closebigbox();
+       &Header::closepage();
+       exit 0;
+}
+
+sub viewtablebillgroups{
+       $count=0;
+       &Header::openbox('100%', 'left',"$Lang::tr{'acct billgroup'}" );
+       #Get DATA from table BILLINGGRP
+       my $res = &ACCT::getbillgroups;
+
+       #Print table billinggroup
+       print<<END;
+               <table style='width:100%;' cellspacing='0' class='tbl'>
+               <tr>
+                       <th align='left'>$Lang::tr{'name'}</th>
+                       <th align='left'>$Lang::tr{'acct hoster'}</th>
+                       <th align='left'>$Lang::tr{'acct customer'}</th>
+                       <th align='left'>$Lang::tr{'acct members'}</th>
+                       <th align='left' colspan='5'></th>
+               </tr>
+END
+       foreach my $line (@$res){
+               $count++;
+               if($count % 2){
+                       $col="style='background-color:$color{'color22'}'";
+               }else{
+                       $col="style='background-color:$color{'color20'}'";
+               }
+               my ($name,$host,$cust,$txt,$amount,$cent) = @$line;
+               print<<END;
+               <tr>
+                       <td $col>$name</td>
+                       <td $col>$host</td>
+                       <td $col>$cust</td>
+                       <td $col>$amount</td>
+                       <td width='1%'  $col>
+END
+                       my $members=&ACCT::listhosts($name);
+                       my @mem=split(/\|/,$members);
+                       my $msg;
+                       foreach my $m (@mem){
+                               $msg.=$m."\n";
+                       }
+               print"<img src='/images/computer.png' alt=$Lang::tr{'acct members'} title='".$msg."' /></td>";
+               print<<END;
+               
+               <td width='1%' $col>
+                       <form method='post' action='$ENV{'SCRIPT_NAME'}'>
+                       <input type='image' src='/images/edit.gif' alt='$Lang::tr{'edit'}' title='$Lang::tr{'edit'}' />
+                       <input type='hidden' name='BILLACTION' value='edit_billgroup'>
+                       <input type='hidden' name='txt_billgroup' value='$name'>
+                       <input type='hidden' name='txt_billtext1' value='$txt'>
+                       <input type='hidden' name='dd_host' value='$host'>
+                       <input type='hidden' name='dd_cust' value='$cust'>
+                       <input type='hidden' name='sel_hosts' value='$members'>
+                       <input type='hidden' name='txt_cent' value='$cent'>
+                       </form>
+               </td>
+               
+               <td width='1%' $col>
+                       <form method='post' action='$ENV{'SCRIPT_NAME'}'>
+                       <input type='image' src='/images/folder-open.png' alt='$Lang::tr{'edit'}' title='$Lang::tr{'acct billarchive'}' />
+                       <input type='hidden' name='BILLACTION' value='open_billgroup'>
+                       <input type='hidden' name='txt_billgroup' value='$name'>
+                       </form>
+               </td>
+               
+               <td width='1%' $col>
+                       <form method='post' action='$ENV{'SCRIPT_NAME'}'>
+                       <input type='image' src='/images/document-new.png' alt='$Lang::tr{'acct preview'}' title='$Lang::tr{'acct preview'}' />
+                       <input type='hidden' name='BILLACTION' value='open_preview'>
+                       <input type='hidden' name='txt_billgroup' value='$name'>
+                       </form>
+               </td>
+               <td width='1%' $col>
+                       <form method='post' action='$ENV{'SCRIPT_NAME'}'>
+                       <input type='image' src='/images/delete.gif' alt=$Lang::tr{'delete'} title="$Lang::tr{'delete'}" />
+                       <input type='hidden' name='BILLACTION' value='delete_billgroup'>
+                       <input type='hidden' name='txt_billgroup' value='$name'>
+                       </form>
+               </td>
+               </tr>
+END
+       }
+       print "</table>";
+       &ACCT::closedb;
+       &Header::closebox();
+}
+
+sub viewtablehosts{
+       $dbh=&ACCT::connectdb;
+       &Header::openbox('100%', 'left', $Lang::tr{'acct hosts'});
+       my $mon=$_[0];
+       my $year=$_[1];
+       my ($from,$till)=&ACCT::getmonth($mon,$year);
+       $count=0;
+       #Menu to display another month
+       print<<END;
+       <form method='post' action='$ENV{'SCRIPT_NAME'}'>
+       <table style='width:100%;'>
+       <tr>
+               <td style='width:5%; text-align:center;'>$Lang::tr{'acct month'}</td>
+               <td style='width:10%; text-align: center;'>$Lang::tr{'acct year'}</td>
+               <td></td>
+       </tr>
+       <tr>
+               <td><select name='month'>
+END
+       for (my $i=1;$i<13;$i++){
+               if(($_[0]) eq $i){
+                       print"<option selected>$i</option>";
+               }else{
+                       print"<option>$i</option>";
+               }
+       }
+       print<<END;
+               </select></td>
+               <td style='text-align: center;'><select name='year'>
+END
+       for (my $j=2014;$j<=($year);$j++){
+               if(($_[1]) eq $j){
+                       print"<option selected>$j</option>";
+               }else{
+                       print"<option>$j</option>";
+               }
+       }
+       print<<END;
+               </select></td>
+               <td><input type='submit' name='ACTION' value='$Lang::tr{'acct view'}'></td>
+       </tr>
+       </table></form>
+       <br>
+END
+       #View table with all hosts
+       print<<END;
+       <table style='width:100%;' class='tbl'>
+       <tr>
+               <th>$Lang::tr{'name'}</th>
+               <th>$Lang::tr{'acct traffic'}</th>
+               <th>$Lang::tr{'from'}</th>
+               <th>$Lang::tr{'to'}</th>
+               <th></th>
+       </tr>
+END
+       my $res = $dbh->selectall_arrayref("SELECT SUM(BYTES),min(TIME_RUN),max(TIME_RUN),NAME from ACCT where TIME_RUN between ".$from." and ".$till." group by NAME;");
+       my $sumbytes;
+       my $type;
+       my $lineval;
+       if (@$res){
+               foreach my $row (@$res) {
+                       $count++;
+                       $lineval='';
+                       $type='';
+                       if($count % 2){
+                               $col="background-color:$color{'color22'};";
+                       }else{
+                               $col="background-color:$color{'color20'};";
+                       }
+                       my ($bytes, $mintime, $maxtime, $name) = @$row;
+                       $sumbytes +=$bytes;
+                       ($lineval,$type) = &calcbytes($bytes);
+                       #Print Line
+                       print"<tr><td style='$col'>$name</td><td style='$col text-align: right;'>$lineval $type</td><td style='$col text-align: center;'>".&getdate($mintime)."</td><td style='$col text-align: center;'>".&getdate($maxtime)."</td>";
+                       print<<END;
+                               <td style='$col'>
+                                       <form method='post' action='$ENV{'SCRIPT_NAME'}'>
+                                       <input type='image' src='/images/utilities-system-monitor.png' alt="$Lang::tr{'status'}" title="$Lang::tr{'status'}" />
+                                       <input type='hidden' name='ACTION' value='viewgraph'>
+                                       <input type='hidden' name='host' value='$name'>
+                                       <input type='hidden' name='month' value='$mon'>
+                                       <input type='hidden' name='year' value='$year'>
+                                       <input type='hidden' name='traffic' value="$Lang::tr{'acct sum'} $Lang::tr{'acct traffic'} $lineval $type">
+                                       </form>
+                                       
+                               </td>
+                       </tr>
+END
+               }
+       }else{
+       print "<tr><td colspan='5'><center>$Lang::tr{'acct no data'}</td></tr>";
+       }
+       print "</table>";
+       &Header::closebox();
+       &ACCT::closedb;
+}
+
+sub viewtablebillpos{
+       my $grp=$_[0];
+       #BOX for extra billpositions
+       &Header::openbox('100%', 'left',"$Lang::tr{'acct fix billpos'} $grp" );
+       #Table for optional billpositions
+       print<<END;
+       <center><table style='width:65%' cellspacing='0' class='tbl' border='0'>
+       <tr>
+               <th align='left'>$Lang::tr{'acct amount'}</th>
+               <th align='left' style='padding-left:1.2em'>$Lang::tr{'acct name'}</th>
+               <th align='left'>$Lang::tr{'acct price pp'}</th>
+               <th></th>
+       </tr>
+END
+       #Fill Table for extra billpositions if any
+       if ($cgiparams{'update'} eq 'on'){
+               my $res = &ACCT::getextrabillpos($cgiparams{'txt_billgroup'});
+               $count=0;
+               foreach my $line (@$res){
+                       $count++;
+                       if($count % 2){
+                               $col="style='background-color:$color{'color22'}'";
+                       }else{
+                               $col="style='background-color:$color{'color20'}'";
+                       }
+                       my ($grp,$amnt,$pos,$price) = @$line;
+                       setlocale(LC_NUMERIC,"$mainsettings{'LANGUAGE'}_$uplang");
+                       my $locale_price=sprintf"%.2f",$price;
+                       print "<tr><form method='post' action='$ENV{'SCRIPT_NAME'}'><td $col style='padding-right:1.2em' align='right'>$amnt</td><td $col style='padding-left:1.2em'>$pos</td><td $col style='padding-right:1.2em' align='right'>$locale_price $settings{'CURRENCY'}</td>";
+                       print "<td $col><input type='image' src='/images/delete.gif' alt=$Lang::tr{'delete'} title=$Lang::tr{'delete'} >";
+                       print "<input type='hidden' name='BILLPOS' value='delpos'>";
+                       print "<input type='hidden' name='txt_billgroup' value='$grp'>";
+                       print "<input type='hidden' name='txt_billpos' value='$pos'></form></tr>";
+               }
+       }
+       print<<END;
+               <tr>
+                       
+                       <td ><form method='post' action='$ENV{'SCRIPT_NAME'}'><input type='text' name='txt_amount' value='$cgiparams{'txt_amount'}' size='3'></td>
+                       <td><input type='text' name='txt_name' value='$cgiparams{'txt_name'}' size='40'></td>
+                       <td ><input type='text' name='txt_price' value='$cgiparams{'txt_price'}' size='6'></td>
+                       <td></td>
+               </tr>
+               </table><br>
+               <table style='width:100%'>
+               <tr>
+                       <td align='right'><input type='submit' name='BILLPOS' value='$Lang::tr{'save'}'></td>
+                       <input type='hidden' name='txt_billgroup' value='$grp'>
+                       </form>
+               </tr>
+               </table></form>
+END
+
+       &Header::closebox();
+}
+
+sub billoverview{
+       my $grp=shift;
+       my $col;
+       my $count=0;
+       #Open site
+       &Header::openpage($Lang::tr{'acct billoverview'}, 1, '');
+       &Header::openbigbox('100%', 'center');
+       &Header::openbox('100%', 'left', $grp);
+       my $res=&ACCT::getbills($grp);
+
+       if (@$res > 0){
+               print<<END;
+               <table style='width:100%' cellspacing='0' class='tbl' border='0'>
+               <tr>
+                       <th>$Lang::tr{'acct nr'}</th>
+                       <th>$Lang::tr{'acct path'}</th>
+                       <th>$Lang::tr{'name'}</th>
+                       <th>$Lang::tr{'acct generated'}</th>
+                       <th></th>
+               </tr>
+       
+END
+               foreach my $row (@$res){
+                       $count++;
+                       if($count % 2){
+                               $col="style='background-color:$color{'color22'}'";
+                       }else{
+                               $col="style='background-color:$color{'color20'}'";
+                       }
+                       my ($no,$path,$name,$date,$dbgrp) = @$row;
+                       
+                       print "<tr><td $col>$no</td><td $col>$path</td><td $col>$name</td><td $col>$date</td><td $col>";
+                       print "<form method='post' action='$ENV{'SCRIPT_NAME'}'><input type='image' src='/images/updbooster/updxl-src-adobe.gif' alt='$Lang::tr{'edit'}' title='$Lang::tr{'edit'}' />";
+                       print "<input type='hidden' name='BILLVIEW' value='show'>";
+                       my $file="$path/$name";
+                       print "<input type='hidden' name='file' value='$file'>";
+                       print "<input type='hidden' name='name' value='$name'>";
+                       print"</form></td></tr>";
+               }
+               print "</table><br>";
+       }else{
+               print "<center>$Lang::tr{'acct no data'}";
+       }
+       &Header::closebox();
+
+       #BackButton
+print<<END;
+       <table style='width:100%'>
+               <tr>
+                       <form method='post' action='$ENV{'SCRIPT_NAME'}'>
+                       <td align='right'><input type='submit' name='ACTION' value='$Lang::tr{'back'}'></td>
+                       </form>
+               </tr>
+       </table>
+END
+       &Header::closebigbox();
+       &Header::closepage();
+       exit 0;
+}
+
+sub checkmailsettings{
+       #Check if mailserver is an ip address or a domain
+       if ($cgiparams{'txt_mailserver'} =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/){
+               if (! &General::validip($cgiparams{'txt_mailserver'})){
+                       $errormessage.="$Lang::tr{'acct invalid mailip'} $cgiparams{'txt_mailserver'}<br>";
+               }
+       }elsif(! &General::validfqdn($cgiparams{'txt_mailserver'})){
+                       $errormessage.="$Lang::tr{'acct invalid mailfqdn'} $cgiparams{'txt_mailserver'}<br>";
+       }
+       #Check valid mailserverport
+       if($cgiparams{'txt_mailport'} < 1 || $cgiparams{'txt_mailport'} > 65535){
+               $errormessage.="$Lang::tr{'acct invalid mailport'} $cgiparams{'txt_mailport'}<br>";
+       }
+       #Check valid sender
+       if(! $cgiparams{'txt_mailsender'}){
+               $errormessage.="$Lang::tr{'acct empty field'} $Lang::tr{'acct mailsender'}<br>";
+       }else{
+               if (! &General::validemail($cgiparams{'txt_mailsender'})){
+                       $errormessage.="<br>$Lang::tr{'acct invalid'} $Lang::tr{'acct mailsender'}<br>";
+               }
+       }
+       return $errormessage;
+}
diff --git a/src/squid-accounting/acct-lib.pl b/src/squid-accounting/acct-lib.pl
new file mode 100644 (file)
index 0000000..f0081b7
--- /dev/null
@@ -0,0 +1,923 @@
+#!/usr/bin/perl
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2014  IPFire Team  <alexander.marx@ipfire.org>                #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+package ACCT;
+
+use DBI;
+use POSIX;
+use Time::Local;
+use PDF::API2;
+use utf8;
+use Encode;
+use File::Copy;
+use File::Temp qw/ tempfile tempdir /;
+
+###############################################################################
+my $dbh;
+my $dsn="dbi:SQLite:dbname=/var/ipfire/accounting/acct.db";
+my ($sec,$min,$hour,$mday,$mon,$year,$wday,$ydat,$isdst)=localtime();
+my %mainsettings;
+###############################################################################
+
+&General::readhash("/var/ipfire/main/settings", \%mainsettings);
+my $uplang=uc($mainsettings{'LANGUAGE'});
+
+#############
+# Functions #
+#############
+
+sub connectdb {
+       $dbh = DBI->connect($dsn, "", "",{RaiseError => 1, AutoCommit => 1})or die "ERROR $!";
+       return $dbh;
+}
+
+sub closedb {
+       $dbh->disconnect();
+       return $dbh;
+}
+
+sub getminmax {
+       my $min;
+       my $max;
+       $dbh=&connectdb;
+       my $sth = $dbh->prepare('Select min(TIME_RUN),max(TIME_RUN) from ACCT;');
+       $sth->execute;
+       while ( my @row = $sth->fetchrow_array ) {
+               $min=$row[0];
+               $max=$row[1];
+       }
+       $dbh->disconnect();
+       return ($min,$max);
+}
+
+sub cleardbtraf {
+       &connectdb;
+       $dbh->do("DELETE FROM ACCT;");
+       $dbh->do("DELETE FROM ACCT_HIST;");
+       &closedb;
+}
+
+sub cleardb {
+       &connectdb;
+       $dbh->do("DELETE FROM ACCT;");
+       $dbh->do("DELETE FROM ACCT_HIST;");
+       $dbh->do("DELETE FROM ACCT_ADDR ");
+       $dbh->do("DELETE FROM BILLINGGRP");
+       $dbh->do("DELETE FROM BILLINGHOST");
+       &closedb;
+}
+
+sub delbefore {
+       my $till=$_[0];
+       &connectdb;
+       $dbh->do("DELETE FROM ACCT WHERE TIME_RUN < ".$till.";");
+       $dbh->do("DELETE FROM ACCT_HIST WHERE TIME_RUN < date('".$till."','unixepoch');");
+       &closedb;
+}
+
+sub movedbdata {
+       $dbh->do("insert into ACCT_HIST select datetime(TIME_RUN,'unixepoch'),NAME,SUM(BYTES) from ACCT where  date(TIME_RUN,'unixepoch') < date('now','-2 months') group by NAME,date(TIME_RUN,'unixepoch');");
+       $dbh->do("DELETE FROM ACCT WHERE datetime(TIME_RUN,'unixepoch') < date('now','-2 months');");
+}
+
+sub gethourgraphdata {
+       my $table=$_[0];
+       my $from=$_[1];
+       my $till=$_[2];
+       my $name=$_[3];
+       my $res;
+       $dbh=connectdb;
+       if ($table eq 'ACCT'){
+               $res = $dbh->selectall_arrayref( "SELECT TIME_RUN,BYTES FROM ACCT WHERE TIME_RUN BETWEEN ".$from." AND ".$till." AND NAME = '".$name."';");
+       }else{
+               $res = $dbh->selectall_arrayref( "SELECT TIME_RUN,BYTES FROM ACCT_HIST WHERE TIME_RUN BETWEEN date(".$from.",'unixepoch') AND date(".$till.",'unixepoch') AND NAME = '".$name."';");
+       }
+       return $res;
+}
+
+sub getmonthgraphdata {
+       my $table=$_[0];
+       my $from=$_[1];
+       my $till=$_[2];
+       my $name=$_[3];
+       my $res;
+       $dbh=connectdb;
+       if ($table eq 'ACCT'){
+               $res = $dbh->selectall_arrayref( "SELECT  strftime('%d.%m.%Y',xx.tag),(SELECT SUM(BYTES)/1024/1024 FROM ACCT WHERE date(TIME_RUN,'unixepoch') <= xx.tag and NAME = '".$name."') kum_bytes FROM (SELECT date(TIME_RUN,'unixepoch') tag,SUM(BYTES)/1024/1024 sbytes FROM ACCT WHERE NAME='".$name."' and TIME_RUN between ".$from." and ".$till." GROUP by date(TIME_RUN,'unixepoch')) xx;");
+       }else{
+               $res = $dbh->selectall_arrayref( "SELECT TIME_RUN, (SELECT SUM(BYTES)/1024/1024 FROM ACCT_HIST WHERE TIME_RUN <= ah.TIME_RUN and NAME = '".$name."') kum_bytes FROM ACCT_HIST ah WHERE TIME_RUN BETWEEN date(".$from.",'unixepoch') AND date(".$till.",'unixepoch') AND NAME = '".$name."' group by TIME_RUN;");
+       }
+       $dbh=closedb;
+       return $res;
+}
+
+sub writeaddr {
+       my $comp  = $_[0];
+       my $type  = $_[1];
+       my $name1 = $_[2];
+       my $str   = $_[3];
+       my $nr    = $_[4];
+       my $post  = $_[5];
+       my $city  = $_[6];
+       my $bank  = $_[7];
+       my $iban  = $_[8];
+       my $bic   = $_[9];
+       my $blz   = $_[10];
+       my $kto   = $_[11];
+       my $mail  = $_[12];
+       my $inet  = $_[13];
+       my $hrb   = $_[14];
+       my $ustid = $_[15];
+       my $tel   = $_[16];
+       my $fax   = $_[17];
+       $dbh=&connectdb;
+       #COMPANY,TYPE,NAME1,STR,NR,POSTCODE,CITY,BANK,IBAN,BLZ,ACCOUNT,EMAIL,INTERNET,HRB,USTID,TEL,FAX
+       my $sql = "INSERT INTO ACCT_ADDR (COMPANY,TYPE,NAME1,STR,NR,POSTCODE,CITY,BANK,IBAN,BIC,BLZ,ACCOUNT,EMAIL,INTERNET,HRB,USTID,TEL,FAX) VALUES ( ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
+       my $sth = $dbh->prepare( $sql );
+       $sth->execute( $comp,$type,$name1,$str,$nr,$post,$city,$bank,$iban,$bic,$blz,$kto,$mail,$inet,$hrb,$ustid,$tel,$fax );
+       $dbh=&closedb;
+}
+
+sub updateaddr {
+       my $type  = $_[0];
+       my $comp  = $_[1];
+       my $name1 = $_[2];
+       my $str   = $_[3];
+       my $nr    = $_[4];
+       my $post  = $_[5];
+       my $city  = $_[6];
+       my $bank  = $_[7];
+       my $iban  = $_[8];
+       my $bic   = $_[9];
+       my $blz   = $_[10];
+       my $kto   = $_[11];
+       my $mail  = $_[12];
+       my $inet  = $_[13];
+       my $hrb   = $_[14];
+       my $ustid = $_[15];
+       my $tel   = $_[16];
+       my $fax   = $_[17];
+       my $oldname = $_[18];
+       $dbh=&connectdb;
+       $dbh->do("UPDATE ACCT_ADDR SET COMPANY=?,TYPE=?,NAME1=?,STR=?,NR=?,POSTCODE=?,CITY=?,BANK=?,IBAN=?,BIC=?,BLZ=?,ACCOUNT=?,EMAIL=?,INTERNET=?,HRB=?,USTID=?,TEL=?,FAX=? WHERE COMPANY=?", undef,$comp,$type,$name1,$str,$nr,$post,$city,$bank,$iban,$bic,$blz,$kto,$mail,$inet,$hrb,$ustid,$tel,$fax,$oldname)or die "Could not UPDATE Address.";
+       $dbh=&closedb;
+}
+
+sub deladdr {
+       my $comp    = $_[0];
+       $dbh=&connectdb;
+       $dbh->do("DELETE FROM ACCT_ADDR WHERE COMPANY=?", undef,$comp )or die "Could not delete address $comp!";
+       $dbh=&closedb;
+}
+
+sub getaddresses {
+       $dbh=&connectdb;
+       my $res=$dbh->selectall_arrayref("SELECT (SELECT COUNT(NAME) FROM BILLINGGRP GROUP BY NAME),* FROM ACCT_ADDR ORDER BY COMPANY;");
+       $dbh=&closedb;
+       return $res;
+}
+
+sub gethosts{
+       $dbh=&connectdb;
+       my $res =$dbh->selectall_arrayref("SELECT NAME from ACCT GROUP BY NAME ORDER BY NAME;");
+       $dbh=&closedb;
+       return $res;
+}
+
+sub getbillgroups {
+       $dbh=connectdb;
+       my $res=$dbh->selectall_arrayref("SELECT NAME,HOST,CUST,BILLTEXT,(SELECT COUNT(HOST) FROM BILLINGHOST WHERE BILLINGGRP.NAME=BILLINGHOST.GRP),CENT FROM BILLINGGRP ORDER BY NAME;");
+       return $res;
+       $dbh->disconnect();
+}
+
+sub getextrabillpos {
+       my $grp=$_[0];
+       $dbh=&connectdb;
+       my $res=$dbh->selectall_arrayref("SELECT * from BILLPOS WHERE GRP =?", undef,$grp);
+       $dbh=&closedb;
+       return $res;
+}
+
+sub savebillgroup {
+       my $grp=$_[0];
+       my $txt=$_[1];
+       my $host=$_[2];
+       my $cust=$_[3];
+       my $ust=$_[4];
+       my @ips=@{$_[5]};
+       $dbh=&connectdb;
+       my $sql = "INSERT INTO BILLINGGRP (NAME,BILLTEXT,HOST,CUST,CENT) VALUES (?,?,?,?,?)";
+       my $sth = $dbh->prepare( $sql );
+       $sth->execute( $grp,$txt,$host,$cust,$ust );
+       foreach my $ip (@ips){
+               my $sql = "INSERT INTO BILLINGHOST (GRP,HOST) VALUES (?,?)";
+               my $sth = $dbh->prepare( $sql ) or die "Could not prepare insert into BILLINGHOST $!";
+               $sth->execute( $grp,$ip ) or die "Could not execute INSERT into BILLINGHOST $!";
+       }
+       $dbh=&closedb;
+}
+
+sub updatebillgrouphost {
+       my $oldgrp=$_[0];
+       my $newgrp=$_[1];
+       $dbh=&connectdb;
+       my $sql = "UPDATE BILLINGGRP SET HOST=? WHERE HOST=?;";
+       my $sth = $dbh->prepare( $sql );
+       $sth->execute( $newgrp,$oldgrp );
+       $dbh=&closedb;
+}
+
+sub updatebillgroupcust {
+       my $oldgrp=$_[0];
+       my $newgrp=$_[1];
+       $dbh=&connectdb;
+       my $sql = "UPDATE BILLINGGRP SET CUST=? WHERE CUST=?;";
+       my $sth = $dbh->prepare( $sql );
+       $sth->execute( $newgrp,$oldgrp );
+       $dbh=&closedb;
+}
+
+sub deletebillgroup {
+       my $name=shift;
+       $dbh=connectdb;
+       $dbh->do("DELETE FROM BILLINGGRP WHERE NAME=?;", undef,$name);
+       $dbh->do("DELETE FROM BILLINGHOST WHERE GRP=?;", undef,$name);
+       &closedb;
+}
+
+sub savebillpos {
+       my $grp=$_[0];
+       my $amnt=$_[1];
+       my $pos=$_[2];
+       my $price=$_[3];
+       $dbh=&connectdb;
+       my $sql = "INSERT INTO BILLPOS (GRP,AMOUNT,POS,PRICE) VALUES (?,?,?,?)";
+       my $sth = $dbh->prepare( $sql )or die "Could not prepare insert into BILLINGPOS $!";
+       $sth->execute( $grp,$amnt,$pos,$price ) or die "Could not execute INSERT into BILLINGHOST $!";
+       $dbh->disconnect();
+}
+
+sub updatebillpos {
+       my $oldgrp=shift;
+       my $newgrp=shift;
+       $dbh=&connectdb;
+       my $sql = "UPDATE BILLPOS SET GRP=? WHERE GRP=?;";
+       my $sth = $dbh->prepare( $sql );
+       $sth->execute( $newgrp,$oldgrp );
+       my $sql1 = "UPDATE BILLS SET GRP=? WHERE GRP=?;";
+       my $sth1 = $dbh->prepare( $sql1 );
+       $sth1->execute( $newgrp,$oldgrp );
+       $dbh=&closedb;
+       #Now rename directories
+       rename ("/srv/web/ipfire/html/accounting/logo/$oldgrp","/srv/web/ipfire/html/accounting/logo/$newgrp");
+       rename ("/var/ipfire/accounting/bill/$oldgrp","/var/ipfire/accounting/bill/$newgrp")
+       
+}
+
+sub delbillpos_single {
+       my $pos=$_[0];
+       my $grp=$_[1];
+       my $sql = "DELETE FROM BILLPOS WHERE GRP=? AND POS=?;";
+       $dbh=&connectdb;
+       my $sth = $dbh->prepare( $sql )or die "Could not prepare DELETE POS from BILLINGPOS $!";
+       $sth->execute( $grp,$pos ) or die "Could not execute DELETE from BILLINGHOST $!";
+       $dbh=&closedb;
+}
+
+sub delbillpos {
+       my $grp=$_[0];
+       my $sql = "DELETE FROM BILLPOS WHERE GRP=?;";
+       $dbh=&connectdb;
+       my $sth = $dbh->prepare( $sql )or die "Could not prepare DELETE POS from BILLINGPOS $!";
+       $sth->execute( $grp ) or die "Could not execute DELETE from BILLINGHOST $!";
+       $dbh=&closedb;
+}
+
+sub listhosts{
+       my $name=$_[0];
+       my $a;
+       my $res=$dbh->selectall_arrayref("SELECT * FROM BILLINGHOST WHERE GRP='".$name."';");
+       foreach my $gzu (@$res){
+               my ($x,$y)=@$gzu;
+               $a.= "|$y";
+       }
+       return $a;
+}
+
+sub checkusergrp {
+       $dbh=connectdb;
+       my $res=$dbh->selectall_arrayref("SELECT * FROM BILLINGHOST;");
+       $dbh->disconnect();
+       return $res;
+}
+
+sub getmonth{
+       #GET  : 1. month   2. year
+       #GIVES: 1.day of given month AND last day of given month in seconds since 1.1.1970
+       ($sec,$min,$hour,$mday,$mon,$year,$wday,$ydat,$isdst)=localtime();
+               my $jahr=$_[1];
+               my $monat=$_[0]-1 if($_[0]);
+               my $tag=1;
+               my $time1=timelocal(0,0,0,$tag,$monat,$jahr);
+               my $time2=timelocal(0,0,0,$tag,($monat+1),$jahr);
+               --$time2;
+               return ($time1,$time2);
+}
+
+sub GetTaValues {
+       $dbh=&connectdb;
+       my $from = $_[0]; #unixtimestamp
+       my $till = $_[1]; #unixtimestamp
+       my $grp  = $_[2]; #Billgroupname
+       my $all = $dbh->selectall_arrayref("SELECT bh.HOST,SUM(ac.BYTES) sbytes,bh.GRP FROM ACCT ac ,BILLINGHOST bh WHERE ac.NAME=bh.HOST AND bh.GRP=? AND ac.TIME_RUN between ? AND ? GROUP BY bh.GRP,bh.HOST;", undef, $grp, $from, $till) or die "Could not fetch Groupdata $!"; 
+       my $nri1 = @$all;
+       my @return;
+       my $cnt=0;
+       if ($nri1 eq "0"){
+               $return[$cnt]="999";
+       }
+       else
+       {
+               foreach my $row (@$all){
+                       my ($bytes,$billgrp,$host) = @$row;
+                       $return[$cnt]="$bytes,$billgrp,$host";
+                       $cnt++;
+               }
+       }
+       &closedb;
+       return @return;
+}
+
+sub getTaAddress {
+       my $grp=$_[0];
+       my $type=$_[1];
+       $dbh=&connectdb;
+       my $res = $dbh->selectall_arrayref("select * from ACCT_ADDR,BILLINGGRP where (BILLINGGRP.HOST=ACCT_ADDR.COMPANY AND BILLINGGRP.NAME=? AND ACCT_ADDR.TYPE=?) or (BILLINGGRP.CUST=ACCT_ADDR.COMPANY and BILLINGGRP.NAME=? AND ACCT_ADDR.TYPE=?);", undef, $grp,$type,$grp,$type);
+       &closedb;
+       return $res;
+}
+
+sub checkbillgrp {
+       my $comp=$_[0];
+       $dbh=&connectdb;
+       my $res=$dbh->selectall_arrayref("SELECT NAME,HOST,CUST FROM BILLINGGRP;");
+       &closedb;
+       return $res;
+}
+
+sub pdf2 {
+       my @billar              = @{$_[0]}; #DATA from sendbill (just host/values)
+       my $month               = $_[1];
+       $month                  = '0'.$month if $month < 10;
+       my $year                = $_[2];
+       my $mwst                = $_[3];
+       my @address_cust= @{$_[4]}; #Array which contains customer and hoster adresses and some additional info from billgroup
+       my @address_host= @{$_[5]};
+       my @billpos             = @{$_[6]};
+       my $grp                 = $_[7];
+       my $cur                 = $_[8]; #(Eur,USD,...)
+       my $preview             = $_[9];
+       my $no                  = &getBillNr;
+       my $name                = $month."-".$year."-".$no.".pdf";
+       my $path                ="/var/ipfire/accounting/bill/";
+       my $filename    = "$path/$grp/$name";
+       my @summen; #Used for counting the sums
+       my $x                   = 500;
+       my $y                   = 1;
+       my $zwsum;
+       my $pages               = 0;
+       my $anzbillpos  = @billpos;
+       my $anz                 = (@billar+$anzbillpos)/18; #Total pages
+       $anz = ceil($anz); #round the $anz value
+       my $aktpage=1;
+       my $sum=0;
+       my $sum1=0;
+       my $lines;
+       my $title;
+       my $txt;
+       my $txt1;
+       my $txt2;
+       my $txt3;
+       my $txt4;
+       my $txt5;
+       my $fnt;
+       my $fnt1;
+       my $fulldate    = strftime('%d.%m.%Y',localtime(time()));
+       my($company_host,$type_host,$name1_host,$str_host,$str_nr_host,$plz_host,$city_host,$bank,$iban,$bic,$blz,$kto,$email,$internet,$hrb,$stnr,$tel_host,$fax_host,$ccmail,$billgrp,$text,$host,$cust,$cent);
+       my($company_cust,$type_cust,$name1_cust,$str_cust,$str_nr_cust,$plz_cust,$city_cust);
+
+       #First of all check if directory exists, else create it
+       if(! -d "$path/$grp" && $preview ne 'on'){
+               mkdir("$path/$grp",0777);
+       }
+
+       #Check if we are creating a preview or a real bill
+       if($preview eq 'on'){
+               $filename="$path/".tempfile( SUFFIX => ".pdf", );
+       }
+       ####################################################################
+       #Prepare DATA from arrays
+       ####################################################################
+       #Get HOSTER for this grp
+       foreach my $addrline (@address_host){
+               ($company_host,$type_host,$name1_host,$str_host,$str_nr_host,$plz_host,$city_host,$bank,$iban,$bic,$blz,$kto,$email,$internet,$hrb,$stnr,$tel_host,$fax_host,$ccmail,$billgrp,$text,$host,$cust,$cent)=@$addrline;
+       }
+       #Get CUST for this grp
+       foreach my $addrline_cust (@address_cust){
+               ($company_cust,$type_cust,$name1_cust,$str_cust,$str_nr_cust,$plz_cust,$city_cust)=@$addrline_cust;
+       }
+
+
+       #Generate PDF File
+       my $pdf  = PDF::API2->new(-file => $filename);
+       $pdf->mediabox('A4');
+       my $page = $pdf->page;
+       $fnt = $pdf->corefont('Helvetica');
+       $fnt1 = $pdf->corefont('HelveticaBold');
+
+       #Set lines
+       $lines = $page->gfx;
+       $title = $page->gfx;
+       $lines->strokecolor('grey');
+       $lines->linewidth('0.5');
+
+       #Fill BILL DATA into PDF
+       setlocale(LC_ALL, "$mainsettings{'LANGUAGE'}_$uplang");
+       foreach (@billar) {
+               my ($a1,$a2) = split( /\,/, $_ );
+               $a2=sprintf"%.2f",($a2/1024/1024);
+               my $sum=(($a2)*$cent);
+               $sum = sprintf"%.2f",($sum);
+               # Seitenwechsel ermitteln
+               if ($y % 18 == 0) {
+                       $txt1->translate(390, 120);
+                       $txt1->text($Lang::tr{'acct pdf zwsum'}); #Pos
+                       $zwsum=sprintf("%.2f",($zwsum));
+                       $txt1->translate(540, 120);
+                       $txt1->text_right("$zwsum".decode('utf8',$cur)); #Pos
+                       $zwsum=0;
+                       $pages++;
+                       $aktpage++;
+                       $x=500;
+                       $page=$pdf->page;
+                       #draw lines
+                       $lines = $page->gfx;
+                       $title = $page->gfx;
+                       $lines->strokecolor('grey');
+                       $lines->linewidth('0.5');
+               }
+
+               #TITLES
+               $title->linewidth(14);
+               $title->move(385, 168);
+               $title->line(545, 168); #Title of SUMBOX
+               $title->move(60, 523);
+               $title->line(545, 523);#Bottom horiz. line of Title
+
+               # Generate Tables
+               $lines->move(59, 745);
+               $lines->line(545, 745);
+               $lines->move(59, 563);
+               $lines->line(545, 563);
+
+               # Addressbox
+               $lines->move(61, 710);
+               $lines->line(61, 715, 66, 715); #TL
+               $lines->move(61, 610);
+               $lines->line(61, 605, 66, 605); #BL
+               $lines->move(285, 715);
+               $lines->line(290, 715, 290, 710); #TR
+               $lines->move(290, 610);
+               $lines->line(290, 605, 285, 605); #BR
+
+               # Table for positions
+               $lines->move(60, 530);
+               $lines->line(60, 200); #First vert. line POS
+               $lines->move(90, 523);
+               $lines->line(90, 200); #Second vert. line
+               $lines->move(280, 523);
+               $lines->line(280, 200); #third vert. line
+               $lines->move(385, 523);
+               $lines->line(385, 200); #third vert. line
+               $lines->move(430, 523);
+               $lines->line(430, 200); #fourth vert. line
+               $lines->move(545, 530);
+               $lines->line(545, 200); #fifth vert. line
+               $lines->move(60, 200);
+               $lines->line(545, 200); #Bottom horizontal line
+
+               #SUM BOX
+               $lines->move(385, 175);
+               $lines->line(385, 115); #Left vert. line of SUMBOX
+               $lines->move(545, 175);
+               $lines->line(545, 115); #Right vert. line of SUMBOX
+               $lines->move(385, 115);
+               $lines->line(545, 115); #Bottom horiz. line of SUMBOX
+
+               #Lines on right side after sender and after "bank"
+               $lines->move(420, 723);
+               $lines->line(545, 723);# Line "Sender"
+               $lines->move(420, 648);
+               $lines->line(545, 648);# Line "Bank"
+               $lines->move(420, 600);
+               $lines->line(545, 600);# Line HRB/USTID
+
+               #Make lines Visible
+               $lines->stroke;
+               $title->stroke;
+               if (-f "/srv/web/ipfire/html/accounting/logo/$grp/logo.png"){
+               #Image LOGO
+                       my $gfx = $page->gfx;
+                       my $image = $pdf->image_png("/srv/web/ipfire/html/accounting/logo/$grp/logo.png");
+                       my $width= $image->width;
+                       my $height= $image->height;
+                       $gfx->image($image, (545+($width/2))-$width, 750,0.5);
+               }
+
+               #Set Fonts
+               $txt = $page->text;
+               $txt1 = $page->text;
+               $txt2 = $page->text;
+               $txt3 = $page->text;
+               $txt4 = $page->text;
+               $txt5 = $page->text;
+               $txt->textstart;                #Begin Text
+               $txt->font($fnt, 10);   #Set fontsize for font1
+               $txt1->font($fnt, 8);   #Set fontsize for font2
+               $txt2->font($fnt1, 10); #Set fontsize for font3
+               $txt3->font($fnt1, 16); #Set fontsize for font4
+               $txt4->font($fnt, 6);   #Set fontsize for font5
+               $txt5->font($fnt1, 6);  #Set fontsize for font6
+
+               #if $cent not set, set it to 0.5
+               if(!$cent){$cent='0.005';}
+
+               #if MWst not set, set it to 19%
+               if(!$mwst){$mwst='19';}
+
+               # Titles
+               $txt1->translate(65,520);
+               $txt1->text($Lang::tr{'acct pos'}); #Pos
+               $txt1->translate(95, 520);
+               $txt1->text($Lang::tr{'acct name'}); #Host/Name
+               $txt1->translate(285, 520);
+               $txt1->text($Lang::tr{'acct amount'}); #Traffic
+               $txt1->translate(390, 520);
+               $txt1->text($Lang::tr{'acct cent1'}); #Price /MB
+               $txt1->translate(435, 520);
+               $txt1->text($Lang::tr{'acct pdf price'}); #Sum
+
+       ####################################################################
+               #Fill Recipient address
+               my $rec_name= "$company_cust";
+               my $rec_name1="$name1_cust";
+               my $rec_str = "$str_cust $str_nr_cust";
+               my $rec_city = "$plz_cust $city_cust";
+               #INSERT RECIPIENT
+               my $o=675;
+               $txt2->translate(78, 685);
+               $txt2->text(decode('utf8',$rec_name));
+               if($rec_name1){
+                       $txt1->translate(78, $o);
+                       $txt1->text(decode('utf8',$rec_name1));
+                       $o=$o-15;
+               }else{
+                       $o=$o-15;
+               }
+               $txt1->translate(78, $o);
+               $txt1->text(decode('utf8',$rec_str));
+               $o=$o-10;
+               $txt1->translate(78, $o);
+               $txt1->text(decode('utf8',$rec_city));
+
+               # INSERT SENDER
+               my $send_name= "$company_host";
+               my $send_str = "$str_host $str_nr_host";
+               my $send_city = "$plz_host $city_host";
+               my $send_bank ="$bank";
+
+               $txt5->translate(420, 725);
+               $txt5->text(decode('utf8',$Lang::tr{'acct pdf prov'}));
+               $txt5->translate(420, 715);
+               $txt5->text(decode('utf8',$send_name));
+               my $j=705;
+               if($name1_host){
+                       $txt4->translate(420, $j);
+                       $txt4->text(decode('utf8',$name1_host));
+                       $j=$j-8;
+               }
+               $txt4->translate(420, $j);
+               $txt4->text(decode('utf8',$send_str)); #STR
+               $j=$j-8;
+               $txt4->translate(420, $j);
+               $txt4->text(decode('utf8',$send_city)); #PLZ.City
+               #Print optional Values tel,fax
+               my $i=680;
+               if($tel_host){
+                       $txt4->translate(420, $i);
+                       $txt4->text($Lang::tr{'acct tel'}); #Tel
+                       $txt4->translate(480, $i);
+                       $txt4->text($tel_host); #Telnr
+                       $i=$i-8;
+               }
+               if($fax_host){
+                       $txt4->translate(420, $i);
+                       $txt4->text($Lang::tr{'acct fax'}); #Fax
+                       $txt4->translate(480, $i);
+                       $txt4->text($fax_host); #Faxnr
+                       $i=$i-8;
+               }
+               if($internet){
+                       $txt4->translate(420, $i);
+                       $txt4->text($Lang::tr{'acct inet'}); #Internet
+                       $txt4->translate(480, $i);
+                       $txt4->text($internet); #www-address
+                       $i=$i-8;
+               }
+               $txt5->translate(420, 650);
+               $txt5->text(decode('utf8',$Lang::tr{'acct bank'})); #"BANK"
+               $txt4->lead(7); 
+               $txt4->translate(420, 640);
+               $txt4->paragraph(decode('utf8',$bank), 130, 20, -align => "justify"); #Bankname
+               if($iban){
+                       $txt4->translate(420, 625);
+                       $txt4->text($Lang::tr{'acct iban'}); #iban
+                       $txt4->translate(480, 625);
+                       $txt4->text(decode('utf8',$iban)); #iban
+                       $txt4->translate(420, 619);
+                       $txt4->text($Lang::tr{'acct bic'}); #bic
+                       $txt4->translate(480, 619);
+                       $txt4->text(decode('utf8',$bic)); #bic
+               }
+               if($blz){
+                       $txt4->translate(420, 613);
+                       $txt4->text($Lang::tr{'acct blz'}); #blz
+                       $txt4->translate(420, 607);
+                       $txt4->text($Lang::tr{'acct kto'}); #kto
+                       $txt4->translate(480, 613);
+                       $txt4->text(decode('utf8',$blz)); #blz
+                       $txt4->translate(480, 607);
+                       $txt4->text(decode('utf8',$kto)); #kto
+               }
+
+               #Print USTID and optional HRB
+               $txt4->translate(420, 590);
+               $txt4->text($Lang::tr{'acct ustid'}); #USTID
+               $txt4->translate(480, 590);
+               $txt4->text($stnr); #ustid
+               if($hrb){
+                       $txt4->translate(420, 580);
+                       $txt4->text($Lang::tr{'acct hrb'}); #USTID
+                       $txt4->translate(480, 580);
+                       $txt4->text($hrb); #ustid
+               }
+               ################################################################
+
+               #Print Date, Pages ....
+               $txt3->translate(59, 545);
+               $txt3->text($Lang::tr{'acct pdf billtxt'});
+               $txt1->translate(160, 545);
+               $txt1->text("$no $Lang::tr{'acct billnr'}");
+               $txt1->translate(60, 532);
+               $txt1->text("$Lang::tr{'acct pdf time'} $month/$year");
+               $txt1->translate(545, 550);
+               $txt1->text_right("$Lang::tr{'acct pdf date'} $fulldate");
+               $txt1->translate(545, 532);
+               $txt1->text_right("$Lang::tr{'acct pdf page'} $aktpage / $anz");
+
+               if ($a1 eq '999'){last;}
+               #Print DATA from array to Position table
+               $txt1->translate(80, $x);
+               $txt1->text_right($y);
+               $txt1->translate(95, $x);
+               $txt1->text($a1);
+               $txt1->translate(380, $x);
+               $txt1->text_right("$a2 MB");
+               $txt1->translate(425, $x);
+               $txt1->text_right("$cent ".decode('utf8',$cur));
+               $txt1->translate(540, $x);
+               $txt1->text_right("$sum ".decode('utf8',$cur));
+
+               #Build SUMMARY
+               $summen[$y-1]="$y,$a2,$sum";
+               $zwsum=$zwsum+$sum;
+               $x=$x-15;
+               $y++;
+       }
+       #Print extra billpositions
+       foreach my $line (@billpos){
+               my ($grp,$amount,$art,$price)=@$line;
+               #Print DATA from array to Position table
+               $txt1->translate(80, $x);
+               $txt1->text_right($y);
+               $txt1->translate(95, $x);
+               $txt1->text(decode('utf8',$art));
+               $txt1->translate(380, $x);
+               $txt1->text_right($amount." pcs");
+               $txt1->translate(540, $x);
+               $txt1->text_right("$price ".decode('utf8',$cur));
+               #Build SUMMARY
+               my $zu=$amount * $price;
+               $summen[$y-1]="$y,'0',$zu";
+               $zwsum=$zwsum+$zu;
+               $x=$x-15;
+               $y++;
+       }
+       foreach (@summen){
+               my ($a1,$a2,$a3) = split( /\,/, $_ );
+               $sum=$sum+$a2;
+               $sum1=$sum1+$a3;
+       }
+
+       # Last Line in positiontable prints the sum of all traffic (therefor txt2 which is BOLD)
+       $txt2->translate(95, 205);
+       $txt2->text($Lang::tr{'acct pdf sum1'});        #SUM
+       $txt2->translate(427, 205);
+       $txt2->text_right($cent);                                       #cent
+       $txt2->translate(380, 205);
+       $txt2->text_right("$sum MB");                           #MB
+       $sum1=sprintf("%.2f",($sum1));
+       $txt2->translate(540, 205);
+       $txt2->text_right("$sum1 ".decode('utf8',$cur));                                #SUM Eur
+       $txt->translate(390, 150);
+       $txt->text($Lang::tr{'acct pdf sum1'});
+       $txt->translate(540, 150);
+       $txt->text_right("$sum1 ".decode('utf8',$cur));
+       $txt->translate(390, 135);
+       my $endsum=$sum1;
+       $txt->text("$Lang::tr{'acct mwst_name'} $mwst%");
+       my $sum1=sprintf("%.2f",($sum1/100*$mwst));
+       $txt->translate(540, 135);
+       $txt->text_right("$sum1 ".decode('utf8',$cur));
+       $txt2->translate(390, 120);
+       $txt2->text($Lang::tr{'acct sum total'});
+       my $endsum=sprintf("%.2f",($sum1+$endsum));
+       $txt2->translate(540, 120);
+       $txt2->text_right("$endsum ".decode('utf8',$cur));
+
+       #Print the optional Billtext if any
+       $txt4->translate(60, 170);
+       $txt4->paragraph(decode('utf8',$text), 300, 40, -align => "justify"); #Bankname
+
+       #Watermark if preview
+       if ($preview eq 'on'){
+               my $eg_trans = $pdf->egstate();
+               $eg_trans->transparency(0.9);
+               $txt5->egstate($eg_trans);
+               $txt5->textlabel(80, 400, $fnt, 60, "PDF preview", -rotate => 40);
+               $txt5->textlabel(150, 330, $fnt, 60, "IPFire accounting", -rotate => 40);
+       }
+
+       $txt->textend;                  #END Text
+       $pdf->save;                             #Save pdf
+       $pdf->end( );                   #END
+       if ($preview ne 'on'){
+               &fillBill($path.$grp,$name,$no,$grp);
+       }
+       if($preview eq 'on'){
+               return $filename;
+       }
+       return '0';
+}
+
+sub getBillNr {
+       $dbh=&connectdb;
+       my $year1=$year+1900;
+       my $no1;
+       my $res=$dbh->selectall_arrayref("SELECT MAX(NO) FROM BILLS;");
+       foreach my $row (@$res){
+               ($no1) = @$row;
+       }
+       if(!$no1){$no1=$year1."1000";}
+       $no1++;
+       return $no1;
+}
+
+sub fillBill {
+       my $path=$_[0];
+       my $name=$_[1];
+       my $no=$_[2];
+       my $grp=$_[3];
+       my $sth = $dbh->prepare("INSERT INTO BILLS (NO,GRP,PATH,NAME,DATE) VALUES (?,?,?,?,?);");
+       my $year1=$year+1900;
+       ++$mon;
+       $sth->execute($no,$grp,$path,$name,"$mday.$mon.$year1");
+       $sth->finish();
+       $dbh->disconnect();
+}
+
+sub getbills {
+       my $grp=shift;
+       $dbh=&connectdb;
+       my $res=$dbh->selectall_arrayref("SELECT * FROM BILLS WHERE GRP=?;",undef, $grp);
+       $dbh->disconnect();
+       return $res;
+}
+
+sub pngsize {
+       my $Buffer = shift;
+       my ($width,$height) = ( undef, undef );
+
+       if ($Buffer =~ /IHDR(.{8})/) {
+               my $PNG = $1;
+               ($width,$height) = unpack( "NN", $PNG );
+       } else { 
+               $width=$Lang::tr{'acct invalid png'};
+       };
+       return ($width,$height);
+}
+
+sub gifsize {
+       my ($GIF)=@_;
+       my ($type,$a,$b,$c,$d,$s,$width,$height) ;
+       $type=substr($GIF,0,6);
+       if(!($type =~ m/GIF8[7,9]a/) || (length($s=substr($GIF, 6, 4))!=4) ){
+               return;
+       }
+       ($a,$b,$c,$d)=unpack("C"x4,$s);
+
+       $width= $b<<8|$a;
+       $height= $d<<8|$c;
+       return ($width,$height);
+}
+
+sub jpegsize {
+       my ($JPEG)=@ _ ;
+       my ($count)=2 ;
+       my ($length)=length($JPEG) ;
+       my ($ch)="" ;
+       my ($c1,$c2,$a,$b,$c,$d,$width,$height) ;
+
+       while (($ch ne "\xda") && ($count<$length)) {
+               while (($ch ne "\xff") && ($count < $length)) {
+                       $ch=substr($JPEG,$count,1); 
+                       $count++;
+               }
+
+               while (($ch eq "\xff") && ($count<$length)) {
+                       $ch=substr($JPEG,$count,1); 
+                       $count++;
+               }
+
+               if ((ord($ch) >= 0xC0) && (ord($ch) <= 0xC3)) {
+                       $count+=3;
+                       ($a,$b,$c,$d)=unpack("C"x4,substr($JPEG,$count,4));
+                       $width=$c<<8|$d;
+                       $height=$a<<8|$b;
+                       return($width,$height);
+               }else {
+                       ($c1,$c2)= unpack("C"x2,substr($JPEG,$count,2));
+                       $count += $c1<<8|$c2;
+               }
+       }
+}
+
+sub time{
+       ($sec,$min,$hour,$mday,$mon,$year,$wday,$ydat,$isdst)=localtime();
+       $hour=sprintf("%02d",$hour);
+       $min=sprintf("%02d",$min);
+       $sec=sprintf("%02d",$sec);
+       $year +=1900;
+       $mday=sprintf("%02d",$mday);
+       $mon=sprintf("%02d",$mon+1);
+       my $res="$mday.$mon.$year $hour:$min:$sec - ";
+       return $res;
+}
+
+sub logger{
+       my $settings=shift;
+       my $msg=shift;
+       #open LOGFILE
+       if ($settings eq 'on'){
+               open ACCTLOG,">>/var/log/accounting.log" || print "could not open /var/log/accounting.log ";
+               print ACCTLOG &time."$msg";
+               close (ACCTLOG);
+       }
+}
+
+sub updateccaddr {
+       my $addr=shift;
+       my $cust=shift;
+       $dbh=&connectdb;
+       $dbh->do("UPDATE ACCT_ADDR SET CCMAIL=? WHERE COMPANY=? ;",undef, $addr, $cust);
+       $dbh->disconnect();
+}
+return 1;
diff --git a/src/squid-accounting/acct.de.pl b/src/squid-accounting/acct.de.pl
new file mode 100644 (file)
index 0000000..2110cf7
--- /dev/null
@@ -0,0 +1,134 @@
+# Added for Squid accounting
+%tr = (
+%tr,
+'acct action' => 'Aktion',
+'acct activate' => 'Aktivieren',
+'acct addresses' => 'Adressverwaltung',
+'acct bank' => 'Bank',
+'acct bic' => 'BIC',
+'acct billarchive' => 'Rechnungsarchiv',
+'acct billgroup' => 'Rechnungsgruppen',
+'acct billgroupexists' => 'Eine Abrechnungsgruppe mit diesem Namen existiert bereits',
+'acct billtext1' => 'Rechnungstext',
+'acct billnr' => '(Rechnungsnummer immer angeben)',
+'acct billoverview' => 'Rechnungsübersicht',
+'acct blz' => 'BLZ',
+'acct ccmail' => 'E-Mail Kopie an',
+'acct currency' => 'Währung (EUR,USD)',
+'acct traffic' => 'Traffic',
+'acct amount' => 'Anzahl',
+'acct cent' => 'Preis je MB (z.B 0.003)',
+'acct cent1' => 'Preis MB',
+'acct city' => 'Ort',
+'acct config' => 'Konfiguration',
+'acct commit' => 'Ausführen',
+'acct company' => 'Firma',
+'acct companyexists' => 'Eine Firma mit diesem Namen existiert bereits',
+'acct companytype' => 'Typ',
+'acct customer' => 'Kunde',
+'acct cust empty' => 'Noch keine Kunden-Adressen angelegt',
+'acct dbsize' => 'Datenbankgröße',
+'acct dbmaintenance' => 'Datenbank-Wartung',
+'acct delbefore' => 'Alle Einträge löschen vor',
+'acct deladr' => 'Löschen',
+'acct edit' => 'Bearbeiten',
+'acct edit_addr' => 'Anlegen/Bearbeiten',
+'acct email' => 'E-Mail',
+'acct emptydb' => 'Datenbank leeren (alles)',
+'acct emptydbtraf' => 'Datenbank leeren (nur Trafficdaten)',
+'acct empty field' => 'Feld darf nicht leer sein: ',
+'acct entries' => 'Einträge',
+'acct err custdel' => 'Die Adresse kann nicht gelöscht werden, weil sie als Kunde in einer Rechnungsgruppe verwendet wird - Rechnungsgruppe',
+'acct err hostdel' => 'Die Adresse kann nicht gelöscht werden, weil sie als Hoster in einer Rechnungsgruppe verwendet wird - Rechnungsgruppe',
+'acct exst_cust_addr' => 'Kunden-Adressen',
+'acct exst_host_addr' => 'Hoster-Adressen',
+'acct expert' => 'Wartungsbereich aktivieren',
+'acct expdelbefore' => 'Löschen',
+'acct fax' => 'Fax',
+'acct fix billpos' => 'Feste Rechnungspositionen der Rechnungsgruppe',
+'acct gb' => 'GB',
+'acct generated' => 'Erzeugt',
+'acct hint billgrp' => 'Bitte zuerst mindestens eine Hoster-Adresse und eine Kunden-Adresse anlegen',
+'acct hint_hoster' => 'Muss nur ausgefüllt werden, wenn Typ "Hoster"',
+'acct hrb' => 'HRB-Nr',
+'acct hoster' => 'Hoster',
+'acct hosts' => 'Hostübersicht',
+'acct host empty' => 'Noch keine Hoster-Adressen angelegt',
+'acct host detail' => 'Host-Details',
+'acct iban' => 'IBAN',
+'acct inet' => 'Internet',
+'acct interval' => 'Checkintervall',
+'acct invalid' => 'Ungültiger Wert für',
+'acct invalid billpos' => 'Es müssen alle Felder für Extra-Rechnungspositionen ausgefüllt sein',
+'acct invalid mailip' => 'Ungültige IP-Adresse für Mailserver',
+'acct invalid mailfqdn' => 'Ungültiger FQDN für Mailserver',
+'acct invalid mailport' => 'Ungültiger Port für Mailserver',
+'acct invalid png' => 'Ungültige PNG Datei',
+'acct invalid pngsize' => 'Ungültige PNG Größe',
+'acct kb' => 'KB',
+'acct kto' => 'KTO',
+'acct latestdb' => 'Letzter DB-Eintrag',
+'acct logging' => 'Logging (/var/log/accounting.log) aktivieren',
+'acct logo' => 'Aktuelles Logo',
+'acct logo upload' => 'Logo Hochladen (PNG, max. 400x150)',
+'acct maintenance' => 'Wartung',
+'acct mailaddr' => 'Mailserver-Adresse',
+'acct mailport' => 'Mailserver-Port',
+'acct mailuser' => 'Benutzername',
+'acct mailpass' => 'Passwort',
+'acct mailrcpt' => 'E-Mail-Empfänger',
+'acct mailsender' => 'E-Mail Absender',
+'acct mailtxt' => 'Text der Rechnungsmails',
+'acct mb' => 'MB',
+'acct members' => 'Mitglieder',
+'acct menu' => 'Proxy-Abrechnung',
+'acct month' => 'Monat',
+'acct multiuser' => 'User dürfen in mehreren Gruppen sein',
+'acct mwst_name' => 'USt.',
+'acct mwst' => 'Mehrwertsteuer in %',
+'acct name1' => 'Name 1',
+'acct name2' => 'Name 2',
+'acct nr' => 'RG-Nr.',
+'acct oldestdb' => 'Erster DB-Eintrag',
+'acct optional' => 'Diese Felder sind optional',
+'acct parameter' => 'Parameter',
+'acct path' => 'Pfad',
+'acct pdf billtxt' => 'Rechnung',
+'acct pdf date' => 'Datum',
+'acct pdf zwsum' => 'Zwischensumme',
+'acct pdf page' => 'Seite',
+'acct pdf prov' => 'Absender',
+'acct pdf sum1' => 'Summe',
+'acct pdf price' => 'Preis',
+'acct pdf time' => 'Abrechnung',
+'acct plz' => 'PLZ',
+'acct preview' => 'Rechnungsvorschau',
+'acct price pp' => 'Einzelpreis',
+'acct proxy_enable' => 'Bitte zuerst Proxy aktivieren',
+'acct pos' => 'Pos.',
+'acct sum total' => 'Gesamtsumme',
+'acct name' => 'Bezeichnung',
+'acct no data' => 'Keine Daten vorhanden',
+'acct rrdsize' => 'Größe des Rechnungs-Verzeichnisses',
+'acct settings' => 'Accounting-Einstellungen',
+'acct skipurl' => 'Diese URLs nicht bewerten',
+'acct status' => 'Status',
+'acct str' => 'Straße',
+'acct str_nr' => 'Nr.',
+'acct subject' => 'Betreff der Rechnungsmails',
+'acct sum' => 'Summe',
+'acct task' => 'Aufgabe',
+'acct tb' => 'TB',
+'acct tel' => 'Telefon',
+'acct tls' => 'Benutze TLS',
+'acct traffic monthly' => 'Monatliches Datenvolumen',
+'acct title' => 'Webproxy-Abrechnung',
+'acct usemail' => 'Mailversand aktivieren',
+'acct usermulti' => 'befindet sich bereits in Gruppe',
+'acct ustid' => 'USt-ID',
+'acct edit settings' => 'Einstellungen bearbeiten',
+'acct value' => 'Wert',
+'acct view' => 'Anzeigen',
+'acct year' => 'Jahr'
+);
+# End Squid accounting
diff --git a/src/squid-accounting/acct.en.pl b/src/squid-accounting/acct.en.pl
new file mode 100644 (file)
index 0000000..bdbf5b2
--- /dev/null
@@ -0,0 +1,134 @@
+# Added for Squid accounting
+%tr = (
+%tr,
+'acct action' => 'Action',
+'acct activate' => 'Activate',
+'acct addresses' => 'Address Management',
+'acct bank' => 'Bank',
+'acct bic' => 'BIC',
+'acct billarchive' => 'Bill Archive',
+'acct billgroup' => 'Billing Groups',
+'acct billgroupexists' => 'A billing group with this name already exists',
+'acct billtext1' => 'Bill text',
+'acct billnr' => '(always state bill number)',
+'acct billoverview' => 'Bill overview',
+'acct blz' => 'Bank code',
+'acct ccmail' => 'E-Mail CC-Addresses',
+'acct currency' => 'Currency (EUR,USD)',
+'acct traffic' => 'Traffic',
+'acct amount' => 'Amount',
+'acct cent' => 'Price/MB (e.g. 0.003)',
+'acct cent1' => 'Price MB',
+'acct city' => 'City',
+'acct config' => 'Configuration',
+'acct commit' => 'Execute',
+'acct company' => 'Company',
+'acct companyexists' => 'A Company with this name already exists',
+'acct companytype' => 'Type',
+'acct customer' => 'Customer',
+'acct cust empty' => 'No Customer addresses defined',
+'acct dbsize' => 'Database size',
+'acct dbmaintenance' => 'Database maintenance',
+'acct delbefore' => 'Delete all entries before',
+'acct deladr' => 'Delete',
+'acct edit' => 'Edit',
+'acct edit_addr' => 'Add / Edit',
+'acct email' => 'E-Mail',
+'acct emptydb' => 'Erase Database (all data)',
+'acct emptydbtraf' => 'Erase Database (only traffic data)',
+'acct empty field' => 'Field must not be empty: ',
+'acct entries' => 'Entries',
+'acct err custdel' => 'Address can not be deleted. It is defined as customer in a Bill group - Bill group',
+'acct err hostdel' => 'Address can not be deleted. It is defined as provider in a Bill group - Bill group',
+'acct exst_cust_addr' => 'Customer addresses',
+'acct exst_host_addr' => 'Provider addresses',
+'acct expert' => 'Activate maintenance area',
+'acct expdelbefore' => 'Delete',
+'acct fax' => 'Faximile',
+'acct fix billpos' => 'Fixed bill positions of bill group',
+'acct gb' => 'GB',
+'acct generated' => 'Generated',
+'acct hint billgrp' => 'You have to define a provider and a customer address first',
+'acct hint_hoster' => 'Has only to be filled when type "provider"',
+'acct hrb' => 'HRB-No',
+'acct hoster' => 'Provider',
+'acct hosts' => 'Host Overview',
+'acct host empty' => 'No provider addresses defined',
+'acct host detail' => 'Host Details',
+'acct iban' => 'IBAN',
+'acct inet' => 'Internet',
+'acct interval' => 'Checkintervall',
+'acct invalid' => 'Invalid value for',
+'acct invalid billpos' => 'You have to fill in all fields for fixed bill positions',
+'acct invalid mailip' => 'Invalid IP address for mailserver',
+'acct invalid mailfqdn' => 'Invalid FQDN for mailserver',
+'acct invalid mailport' => 'Invalid port for mailserver',
+'acct invalid png' => 'Invalid PNG file',
+'acct invalid pngsize' => 'Invalid PNG size',
+'acct kb' => 'KB',
+'acct kto' => 'Account Number',
+'acct latestdb' => 'Last DB entry',
+'acct logging' => 'Activate Logging (/var/log/accounting.log)',
+'acct logo' => 'Actual Logo',
+'acct logo upload' => 'Upload Logo (PNG, max. 400x150)',
+'acct maintenance' => 'Maintenance',
+'acct mailaddr' => 'Mailserver address',
+'acct mailport' => 'Mailserver port',
+'acct mailuser' => 'Username',
+'acct mailpass' => 'Password',
+'acct mailrcpt' => 'E-Mail Recipient',
+'acct mailsender' => 'E-Mail Sender',
+'acct mailtxt' => 'Text for bill mail',
+'acct mb' => 'MB',
+'acct members' => 'Members',
+'acct menu' => 'Proxy Accounting',
+'acct month' => 'Month',
+'acct multiuser' => 'User can be in multiple groups',
+'acct mwst_name' => 'VAT',
+'acct mwst' => 'Tax rate',
+'acct name1' => 'Name 1',
+'acct name2' => 'Name 2',
+'acct nr' => 'RG-No.',
+'acct oldestdb' => 'Fist DB Entry',
+'acct optional' => 'These fields are optional',
+'acct parameter' => 'Parameter',
+'acct path' => 'Path',
+'acct pdf billtxt' => 'Bill',
+'acct pdf date' => 'Date',
+'acct pdf zwsum' => 'subtotal',
+'acct pdf page' => 'Page',
+'acct pdf prov' => 'Sender',
+'acct pdf sum1' => 'Sum',
+'acct pdf price' => 'Price',
+'acct pdf time' => 'Accounting',
+'acct plz' => 'Postcode',
+'acct preview' => 'Bill preview',
+'acct price pp' => 'Unit price',
+'acct proxy_enable' => 'Please actiavte proxy first',
+'acct pos' => 'Pos.',
+'acct sum total' => 'Total',
+'acct name' => 'Description',
+'acct no data' => 'No Data available',
+'acct rrdsize' => 'Size of Bill directory',
+'acct settings' => 'Accounting settings',
+'acct skipurl' => 'Skip these URLs (Intranet)',
+'acct status' => 'Status',
+'acct str' => 'Steet',
+'acct str_nr' => 'No.',
+'acct subject' => 'Subject',
+'acct sum' => 'Sum',
+'acct task' => 'Task',
+'acct tb' => 'TB',
+'acct tel' => 'Telephone',
+'acct tls' => 'Use TLS',
+'acct traffic monthly' => 'Monthly data volume',
+'acct title' => 'Webproxy Accounting',
+'acct usemail' => 'Send bills via Mail',
+'acct usermulti' => 'is already in group',
+'acct ustid' => 'USt-ID',
+'acct edit settings' => 'Edit settings',
+'acct value' => 'Value',
+'acct view' => 'Show',
+'acct year' => 'Year'
+);
+# End Squid accounting
diff --git a/src/squid-accounting/acct.pl b/src/squid-accounting/acct.pl
new file mode 100755 (executable)
index 0000000..d535901
--- /dev/null
@@ -0,0 +1,265 @@
+#!/usr/bin/perl
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2014  IPFire Team  <alexander.marx@ipfire.org>                #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+
+###########
+# Modules #
+###########
+
+use Time::Local;
+use File::ReadBackwards;
+use strict;
+#use warnings;
+
+require '/var/ipfire/general-functions.pl';
+require "${General::swroot}/accounting/acct-lib.pl";
+require "${General::swroot}/lang.pl";
+
+#############
+# Variables #
+#############
+
+my $count = 0;
+my $dbh;
+my $logfile = "/var/log/squid/access.log";
+my $line = '';
+my $checktime = 3600;  #1 hour = 3600 sec
+my $starttime = time;
+my ($time,$elapsed,$ip,$state,$bytes,$method,$url,$user,$peerstate,$type); #split logfileline into variables
+my $name;
+my $name1;
+my $settingsfile = "${General::swroot}/accounting/settings.conf";
+my $proxyenabled = "${General::swroot}/proxy/enable";
+my %counter = ();
+my %counterip = ();
+my %settings = ();
+my %toplist = ();
+my ($sec,$min,$hour,$mday,$mon,$year,$wday,$ydat,$isdst)=localtime();
+my $skipurlcount=0;
+my $skipurlsum=0;
+&General::readhash("$settingsfile", \%settings);
+my $skipurl=$settings{'SKIPURLS'};
+$skipurl="'".$skipurl."'";
+my ($mini,$max)=&ACCT::getminmax;
+my $now = localtime;
+my $proxylog;
+my $proxysrv;
+
+########
+# Main #
+########
+
+&checkproxy;
+
+#If we have a disabled file and the proxy is off, we don't need to check anything, exit!
+if((! -f $proxyenabled || $proxylog eq $Lang::tr{'stopped'}) && -f "${General::swroot}/accounting/disabled"){
+       &ACCT::logger($settings{'LOG'}," Proxy or proxylogging disabled - exiting with no data collection\n");
+       exit 0;
+}
+#If proxy was turned off within last hour, we need to check missing minutes and write a disabled file
+if ((! -f $proxyenabled || $proxylog eq $Lang::tr{'stopped'}) && ! -f "${General::swroot}/accounting/disabled"){
+       $checktime = (time-$max);
+       open (FH,">${General::swroot}/accounting/disabled");
+       close (FH);
+       &ACCT::logger($settings{'LOG'}," Proxy or proxylogging was disabled during last hour - just checking meantime and disabling data collection\n");
+}
+
+#If proxy is on, we are doing a normal run. maybe we had a disabled file, so delete it here
+if (-f $proxyenabled && $proxylog eq $Lang::tr{'running'}){
+       #check if we are running again after the was shutdown and reenabled
+       if (-f "${General::swroot}/accounting/disabled"){
+               unlink("${General::swroot}/accounting/disabled");
+       }
+       #Find out if the month changed
+       $dbh=&ACCT::connectdb;
+       my $m=sprintf("%d",(localtime((time-3600)))[4]+1);
+       &ACCT::logger($settings{'LOG'},"month before one hour $m, now is ".($mon+1)."\n");
+       if ($m < ($mon+1) || $m == '12' && ($mon+1) == '1'){
+               #Logrotate
+               my $year1=$year+1900;
+               system ("tar", "cfz", "/var/log/accounting-$m-$year1.tar.gz", "/var/log/accounting.log");
+               unlink ("/var/log/accounting.log");
+               open (FH,">/var/log/accounting.log");
+               close (FH);
+               chmod 0755, "/var/log/accounting.log";
+               #move all db entries older than 2 months to second table and cumulate them hourly
+               &ACCT::movedbdata;
+               &ACCT::logger($settings{'LOG'},"New Month. Old trafficvalues moved to ACCT_HIST Table\n");
+               if ($settings{'USEMAIL'} eq 'on'){
+                       &ACCT::logger($settings{'LOG'},"Mailserver is activated - Now sending bills via mail...\n");
+                       my $res=&ACCT::getbillgroups;
+                       foreach my $line (@$res){
+                               my ($grp) = @$line;
+                               &sendbill($grp,$settings{'MWST'},$settings{'CURRENCY'});
+                       }
+               }else{
+                       &ACCT::logger($settings{'LOG'},"Mailserver is deactivated - We are NOT sending bills via mail...\n");
+               }
+       }
+
+       &ACCT::logger($settings{'LOG'},"Start reading last hour of access.log\n");
+       &readlog;
+       &fill_db;
+       &ACCT::closedb;
+       $skipurlsum=sprintf("%.2f",$skipurlsum/(1024*1024));
+       &ACCT::logger($settings{'LOG'},"skipped: $skipurlcount Adressen\n");
+       &ACCT::logger($settings{'LOG'},"skipped: $skipurlsum MB\n") if ($skipurl);
+}
+#############
+# functions #
+#############
+
+sub checkproxy{
+       if(-f "${General::swroot}/proxy/enable"){
+               $proxysrv=$Lang::tr{'running'};
+       }else{
+               $proxysrv=$Lang::tr{'stopped'};
+       }
+       my $srce = "${General::swroot}/proxy/squid.conf";
+       my $string1 = 'access\.log';
+       open(FH, $srce);
+       while(my $line = <FH>) {
+               if($line =~ m/$string1/) {
+                       $proxylog=$Lang::tr{'running'};
+               }
+       }
+       close FH;
+       return;
+}
+
+sub readlog{
+       my $url1;
+       my $user1;
+       $count = 0;
+       my $urlcnt=0;
+       &ACCT::logger($settings{'LOG'},"Start: $now. Reading data back till: ".localtime(($starttime-$checktime)).".\n");
+       #Open Logfile and begin to read the file backwards
+       my $bw = File::ReadBackwards->new( $logfile ) or die "can't read $logfile $!" ;
+       while( defined( $line = $bw->readline ) ) {
+               undef $url1;
+               chomp $line;
+               #Divide $line into single variables to get timestamp and check if we are within hte desired timerange
+               ($time,$elapsed,$ip,$state,$bytes,$method,$url,$user,$peerstate,$type)=split(m/\s+/, $line);
+               $count += $bytes;
+               $time = substr($time, 0, -4);
+               if (($time > ($starttime-$checktime))){
+                       #Skip DENIED stated lines (can be reactivated later)
+                       next if ($state =~ m/DENIED/);
+
+                       #extract site name
+                       if ($url =~ m/([a-z]+:\/\/)??([a-z0-9\-]+\.){1}(([a-z0-9\-]+\.){0,})([a-z0-9\-]+){1}(:[0-9]+)?\/(.*)/o) {
+                          $url=$2.$3.$5;
+                       } else {
+                          my ($a,$b)=split(":",$url);
+                          $url=$a;
+                       }
+
+                       #Skip special URLs like intranet and webservers from local network
+                       if ($url =~ m/$skipurl/o) {
+                         $skipurlcount++;
+                         $skipurlsum+=$bytes;
+                         next;
+                       };
+
+                       #Increase urlcounter
+                       $urlcnt++;
+
+                       #Get Data for accounting
+                       $counter{$user}{'bytes'} += $bytes if ($user ne '-');
+                       $counter{$ip}{'bytes'} += $bytes;
+               }else{
+                       #If we are out of timewindow, break
+                       last;
+               }
+       }
+       $count=sprintf("%.2f",$count/(1024*1024));
+       &ACCT::logger($settings{'LOG'},"got $count MB from $urlcnt URLs this run.\n");
+       $bw->close;
+}
+sub fill_db{
+       my $tim=time();
+       #Fill ACCT table with accounting information
+       foreach my $name (sort keys %counter){
+               foreach my $bytes (keys %{ $counter{$name} }) {
+                       $dbh->do("insert into ACCT (TIME_RUN,NAME,BYTES) values ('$tim','$name','$counter{$name}{$bytes}');");
+               }
+       }
+}
+sub sendbill {
+       my $rggrp=$_[0];
+       my $mwst=$_[1];
+       my $cur = $_[2];
+       my @now = localtime(time);
+       $now[5] = $now[5] + 1900;
+       my $actmonth = $now[4];
+       my $month                       = '0'.$actmonth if $actmonth < 10;
+       my $actyear  = $now[5];
+       my ($from,$till)=&ACCT::getmonth($actmonth,$actyear);                                   #FIXME month and year as variables!
+       my @billar = &ACCT::GetTaValues($from,$till,$rggrp);
+       my $address_cust = &ACCT::getTaAddress($rggrp,'CUST');
+       my $address_host = &ACCT::getTaAddress($rggrp,'HOST');
+       my $billpos             = &ACCT::getextrabillpos($rggrp);
+       my $no                  = &ACCT::getBillNr;
+       my $back = &ACCT::pdf2(\@billar,$actmonth,$actyear,$mwst,$address_cust,$address_host,$billpos,$rggrp,$cur);
+       my ($company_cust,$type_cust,$name1_cust,$str_cust,$str_nr_cust,$plz_cust,$city_cust,$bank,$iban,$bic,$blz,$kto,$email,$internet,$hrb,$stnr,$tel_host,$fax_host,$ccmail,$billgrp,$text,$host,$cust,$cent);
+
+       foreach my $addrline_cust (@$address_cust){
+               ($company_cust,$type_cust,$name1_cust,$str_cust,$str_nr_cust,$plz_cust,$city_cust,$bank,$iban,$bic,$blz,$kto,$email,$internet,$hrb,$stnr,$tel_host,$fax_host,$ccmail,$billgrp,$text,$host,$cust,$cent)=@$addrline_cust;
+       }
+
+       if ($back eq '0'){
+               &ACCT::logger($settings{'LOG'},"Bill for $company_cust successfully created.\n");
+               my $file="'/var/ipfire/accounting/bill/$rggrp/$month-$actyear-$no.pdf'";
+               $settings{'MAILTXT'} =~ tr/\|/\r\n/ ;
+               my $cmd = "/usr/local/bin/sendEmail ";
+               $cmd .= " -f $settings{'MAILSENDER'}";                                                  #Sender
+               $cmd .= " -t $email";                                                                                   #Recipient
+               if ($ccmail){
+                       $cmd .= " -cc $ccmail";
+               }
+               #Send Mail via TLS?
+               if ($settings{'TLS'} eq 'on'){
+                       $cmd .= " -o tls=yes";                                                                          #TLS
+               }
+               $cmd .= " -u '$settings{'MAILSUB'}'";                                                   #Subject
+               $cmd .= " -m '$settings{'MAILTXT'}'";                                                   #Mailtext
+               $cmd .= " -s $settings{'MAILSRV'}:$settings{'MAILPORT'}";               #Mailserver:port
+               $cmd .= " -a $file";
+               my $res=system ($cmd);
+               if ($res == 0){
+                       &ACCT::logger($settings{'LOG'},"Bill for $company_cust successfully sent.\n");
+               }elsif ($res > 0){
+                       &ACCT::logger($settings{'LOG'},"ERROR: Bill for $company_cust NOT sent.\n");
+               }
+               return 0;
+               
+       }else{
+               &ACCT::logger($settings{'LOG'},"ERROR Bill for $company_cust could not be created.\n");
+               my $cmd = "/usr/local/bin/sendEmail ";
+               $cmd .= " -f $settings{'MAILSENDER'}";
+               $cmd .= " -t $settings{'MAILSENDER'}";
+               $cmd .= " -u Fehler Squid Accounting";
+               $cmd .= " -m 'Die Rechnung konnte nicht erzeugt und per Mail versendet werden' $company_cust";
+               $cmd .= " -s $settings{'MAILSRV'}:$settings{'MAILPORT'}";
+               my $res=system ($cmd);
+               return 0;
+       }
+}
diff --git a/src/squid-accounting/config/backup/includes/squid-accounting b/src/squid-accounting/config/backup/includes/squid-accounting
new file mode 100644 (file)
index 0000000..53116a5
--- /dev/null
@@ -0,0 +1,5 @@
+/var/ipfire/accounting/settings.conf
+/var/ipfire/accounting/bill
+/srv/web/ipfire/html/accounting
+/var/ipfire/accounting/acct.db
+/var/log/accounting.log
diff --git a/src/squid-accounting/dbinstall.pl b/src/squid-accounting/dbinstall.pl
new file mode 100755 (executable)
index 0000000..0443732
--- /dev/null
@@ -0,0 +1,49 @@
+#!/usr/bin/perl
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2014  IPFire Team  <alexander.marx@ipfire.org>                #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+
+use DBI;
+
+###############################################################################
+my $dbh;
+my $dsn="dbi:SQLite:dbname=/var/ipfire/accounting/acct.db";
+###############################################################################
+
+
+$dbh = DBI->connect($dsn, "", "",{RaiseError => 1, AutoCommit => 1})or die "ERROR $!";
+
+$dbh->do('CREATE TABLE ACCT        (TIME_RUN "NUM",NAME "TXT",BYTES "NUM");');
+
+$dbh->do('CREATE TABLE ACCT_HIST   (TIME_RUN "NUM",NAME "TXT",BYTES "NUM");');
+
+$dbh->do('CREATE TABLE ACCT_ADDR   (COMPANY "TXT",TYPE "TXT",NAME1 "TXT", STR "TXT", NR "TXT", POSTCODE "NUM", CITY "TXT",BANK "TXT",IBAN "TXT",BIC "TXT",BLZ "NUM",ACCOUNT "NUM", EMAIL "TXT",INTERNET "TXT", HRB "TXT", USTID "TXT", TEL "TXT", FAX "TXT", CCMAIL "TXT");');
+
+$dbh->do('CREATE TABLE BILLINGGRP  (NAME "TXT",BILLTEXT "TXT",HOST "TXT",CUST "TXT",CENT "NUM");');
+
+$dbh->do('CREATE TABLE BILLINGHOST (GRP "TXT",HOST "TXT");');
+
+$dbh->do('CREATE TABLE BILLPOS     (GRP "TXT",AMOUNT "INT", POS "TXT", PRICE "NUM");');
+
+$dbh->do('CREATE TABLE BILLS       (NO "NUM", PATH "TXT", NAME "TXT", DATE "NUM", GRP "TXT");');
+
+$dbh->disconnect();
+
+exit 0;
index 6f001c0fe4e2b517e8e33ab02ffe7694fe5c7bf9..65fc946b68e7b8c83e52d9be3309fdc4ca7821d0 100755 (executable)
@@ -25,3 +25,10 @@ if [ "${?}" == "0" ]; then
        grep -r "^etc/init.d//*" ./config/rootfiles/
        echo "Change this to 'etc/rc.d/init.d/...' !"
 fi
+
+grep -r "^var/run//*" ./config/rootfiles/ >/dev/null 2>&1
+if [ "${?}" == "0" ]; then
+       echo "Error! 'var/run/...' in rootfiles files found!"
+       grep -r "^var/run//*" ./config/rootfiles/
+       echo "Comment this and create it at initskript if needed !"
+fi
index 48fc6d434dd5ef0e7c5535800f73df6d383edb8a..5a557a67b7c6f5f69afe3a988e89b93124865869 100644 (file)
@@ -60,6 +60,67 @@ WARN="\\033[1;35m"
 FAIL="\\033[1;31m"
 NORMAL="\\033[0;39m"
 
+configure_target() {
+       local target_arch="${1}"
+
+       if [ "${target_arch}" = "default" ]; then
+               target_arch="$(configure_target_guess)"
+       fi
+
+       case "${target_arch}" in
+               i586)
+                       BUILDTARGET="${target_arch}-pc-linux-gnu"
+                       CROSSTARGET="${BUILD_ARCH}-cross-linux-gnu"
+                       CFLAGS_ARCH="-march=i586 -mtune=generic -fomit-frame-pointer"
+                       ;;
+
+               armv5tel)
+                       BUILDTARGET="${target_arch}-unknown-linux-gnueabi"
+                       CROSSTARGET="${BUILD_ARCH}-cross-linux-gnueabi"
+                       CFLAGS_ARCH="-march=armv5te -mfloat-abi=soft -fomit-frame-pointer"
+                       MACHINE_TYPE="arm"
+                       ;;
+
+               *)
+                       exiterror "Cannot build for architure ${target_arch}"
+                       ;;
+       esac
+
+       # Check if the QEMU helper is available if needed.
+       if qemu_is_required "${target_arch}"; then
+               local qemu_target_helper="$(qemu_find_target_helper_name "${target_arch}")"
+
+               if [ -n "${qemu_target_helper}" ]; then
+                       QEMU_TARGET_HELPER="${qemu_target_helper}"
+               else
+                       exiterror "Could not find a binfmt_misc helper entry for ${target_arch}"
+               fi
+       fi
+
+       TARGET_ARCH="${target_arch}"
+
+       # Old variable names
+       MACHINE="${TARGET_ARCH}"
+
+       CFLAGS="-O2 -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fPIC"
+       CFLAGS="${CFLAGS} -fstack-protector-all --param=ssp-buffer-size=4 ${CFLAGS_ARCH}"
+       CXXFLAGS="${CFLAGS}"
+}
+
+configure_target_guess() {
+       case "${BUILD_ARCH}" in
+               x86_64|i686|i586)
+                       echo "i586"
+                       ;;
+               armv7*|armv6*|armv5*)
+                       echo "armv5tel"
+                       ;;
+               *)
+                       exiterror "Cannot guess target architecture"
+                       ;;
+       esac
+}
+
 evaluate() {
        if [ "$?" -eq "0" ]; then
                beautify message DONE
@@ -217,30 +278,6 @@ get_pkg_ver()
        echo "$PKG_VER"
 } # End of get_pkg_ver()
 
-if [ 'x86_64' = $MACHINE -o 'i686' = $MACHINE -o 'i586' = $MACHINE ]; then
-       echo "`date -u '+%b %e %T'`: Machine is iX86 (or equivalent)" >> $LOGFILE
-       MACHINE=i586
-       CROSSTARGET=${MACHINE}-cross-linux-gnu
-       BUILDTARGET=i586-pc-linux-gnu
-       CFLAGS_ARCH="${GLOBAL_CFLAGS} -march=i586 -fomit-frame-pointer"
-elif [ 'armv5tejl' = $MACHINE -o 'armv5tel' = $MACHINE -o 'armv6l' = $MACHINE -o 'armv7l' = $MACHINE ]; then
-       echo "`date -u '+%b %e %T'`: Machine is ARM (or equivalent)" >> $LOGFILE
-       MACHINE=armv5tel
-       MACHINE_TYPE=arm
-       CROSSTARGET=${MACHINE}-cross-linux-gnueabi
-       BUILDTARGET=${MACHINE}-unknown-linux-gnueabi
-       CFLAGS_ARCH="-march=armv5te -mfloat-abi=soft -fomit-frame-pointer"
-else
-       echo "`date -u '+%b %e %T'`: Can't determine your architecture - $MACHINE"
-       exit 1
-fi
-
-CFLAGS="-O2 -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fPIC"
-CFLAGS="${CFLAGS} -fstack-protector-all --param=ssp-buffer-size=4 ${CFLAGS_ARCH}"
-CXXFLAGS="${CFLAGS}"
-C2FLAGS="${CFLAGS}"
-CXX2FLAGS="${CXXFLAGS}"
-
 # Define immediately
 stdumount() {
        umount $BASEDIR/build/sys                       2>/dev/null;
@@ -282,22 +319,136 @@ fake_environ() {
        env="${env} UTS_RELEASE=${KVER}"
 
        # Fake machine version.
-       env="${env} UTS_MACHINE=${MACHINE}"
+       env="${env} UTS_MACHINE=${TARGET_ARCH}"
+
+       echo "${env}"
+}
+
+qemu_environ() {
+       local env
+
+       # Don't add anything if qemu is not used.
+       if ! qemu_is_required; then
+               return
+       fi
+
+       # Set default qemu options
+       case "${TARGET_ARCH}" in
+               arm*)
+                       QEMU_CPU="${QEMU_CPU:-cortex-a9}"
+
+                       env="${env} QEMU_CPU=${QEMU_CPU}"
+                       ;;
+       esac
+
+       # Enable QEMU strace
+       #env="${env} QEMU_STRACE=1"
 
        echo "${env}"
 }
 
+qemu_is_required() {
+       local target_arch="${1}"
+
+       if [ -z "${target_arch}" ]; then
+               target_arch="${TARGET_ARCH}"
+       fi
+
+       case "${BUILD_ARCH},${target_arch}" in
+               x86_64,arm*|i?86,arm*)
+                       return 0
+                       ;;
+               *)
+                       return 1
+                       ;;
+       esac
+}
+
+qemu_install_helper() {
+       # Do nothing, if qemu is not required
+       if ! qemu_is_required; then
+               return 0
+       fi
+
+       if [ -z "${QEMU_TARGET_HELPER}" ]; then
+               exiterror "QEMU_TARGET_HELPER not set"
+       fi
+
+       # Check if the helper is already installed.
+       if [ -x "${LFS}${QEMU_TARGET_HELPER}" ]; then
+               return 0
+       fi
+
+       # Try to find a suitable binary that we can install
+       # to the build environment.
+       local file
+       for file in "${QEMU_TARGET_HELPER}" "${QEMU_TARGET_HELPER}-static"; do
+               # file must exist and be executable.
+               [ -x "${file}" ] || continue
+
+               # Must be static.
+               file_is_static "${file}" || continue
+
+               local dirname="${LFS}$(dirname "${file}")"
+               mkdir -p "${dirname}"
+
+               install -m 755 "${file}" "${LFS}${QEMU_TARGET_HELPER}"
+               return 0
+       done
+
+       exiterror "Could not find a statically-linked QEMU emulator: ${QEMU_TARGET_HELPER}"
+}
+
+qemu_find_target_helper_name() {
+       local target_arch="${1}"
+
+       local magic
+       case "${target_arch}" in
+               arm*)
+                       magic="7f454c4601010100000000000000000002002800"
+                       ;;
+       esac
+
+       [ -z "${magic}" ] && return 1
+
+       local file
+       for file in /proc/sys/fs/binfmt_misc/*; do
+               # Search for the file with the correct magic value.
+               grep -qE "^magic ${magic}$" "${file}" || continue
+
+               local interpreter="$(grep "^interpreter" "${file}" | awk '{ print $2 }')"
+
+               [ -n "${interpreter}" ] || continue
+               [ "${interpreter:0:1}" = "/" ] || continue
+               [ -x "${interpreter}" ] || continue
+
+               echo "${interpreter}"
+               return 0
+       done
+
+       return 1
+}
+
+file_is_static() {
+       local file="${1}"
+
+       file ${file} 2>/dev/null | grep -q "statically linked"
+}
+
 entershell() {
        if [ ! -e $BASEDIR/build/usr/src/lfs/ ]; then
                exiterror "No such file or directory: $BASEDIR/build/usr/src/lfs/"
        fi
 
+       # Install QEMU helper, if needed
+       qemu_install_helper
+
        echo "Entering to a shell inside LFS chroot, go out with exit"
-       chroot $LFS /tools/bin/env -i HOME=/root TERM=$TERM PS1='\u:\w\$ ' \
+       chroot $LFS /tools/bin/env -i HOME=/root TERM=$TERM PS1='ipfire build chroot ($(uname -m)) \u:\w\$ ' \
                PATH=/tools/ccache/bin:/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \
                VERSION=$VERSION CONFIG_ROOT=$CONFIG_ROOT \
                NAME="$NAME" SNAME="$SNAME" SLOGAN="$SLOGAN" \
-               CFLAGS="$CF2LAGS" CXXFLAGS="$CXX2FLAGS" \
+               CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \
                CCACHE_DIR=/usr/src/ccache \
                CCACHE_COMPRESS=1 \
                CCACHE_COMPILERCHECK="none" \
@@ -306,9 +457,9 @@ entershell() {
                CROSSTARGET="${CROSSTARGET}" \
                MACHINE="$MACHINE" \
                MACHINE_TYPE="$MACHINE_TYPE" \
-               KGCC="ccache /usr/bin/gcc" \
                $(fake_environ) \
-               /tools/bin/bash
+               $(qemu_environ) \
+               /tools/bin/bash -i
        if [ $? -ne 0 ]; then
                        beautify message FAIL
                        exiterror "chroot error"
@@ -410,6 +561,9 @@ lfsmake2() {
        lfsmakecommoncheck $*
        [ $? == 1 ] && return 0
 
+       # Install QEMU helper, if needed
+       qemu_install_helper
+
        local PKG_TIME_START=`date +%s`
        chroot $LFS /tools/bin/env -i   HOME=/root \
                                                TERM=$TERM PS1='\u:\w\$ ' \
@@ -418,7 +572,7 @@ lfsmake2() {
                                                SYSTEM_RELEASE="${SYSTEM_RELEASE}" \
                                                CONFIG_ROOT=$CONFIG_ROOT \
                                                NAME="$NAME" SNAME="$SNAME" SLOGAN="$SLOGAN" \
-                                               CFLAGS="$C2FLAGS" CXXFLAGS="$CXX2FLAGS" \
+                                               CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \
                                                CCACHE_DIR=/usr/src/ccache CCACHE_COMPRESS=1 \
                                                CCACHE_COMPILERCHECK="none" \
                                                KVER=$KVER MAKETUNING=$MAKETUNING \
@@ -426,6 +580,7 @@ lfsmake2() {
                                                CROSSTARGET="${CROSSTARGET}" \
                                                MACHINE="$MACHINE" \
                                                MACHINE_TYPE="$MACHINE_TYPE" \
+                                               $(qemu_environ) \
                                                $(fake_environ) \
                                                /tools/bin/bash -x -c "cd /usr/src/lfs && \
                                                make -f $* LFS_BASEDIR=/usr/src install" >>$LOGFILE 2>&1
@@ -446,6 +601,9 @@ ipfiremake() {
        lfsmakecommoncheck $*
        [ $? == 1 ] && return 0
 
+       # Install QEMU helper, if needed
+       qemu_install_helper
+
        local PKG_TIME_START=`date +%s`
        chroot $LFS /tools/bin/env -i   HOME=/root \
                                                TERM=$TERM PS1='\u:\w\$ ' \
@@ -455,7 +613,7 @@ ipfiremake() {
                                                CONFIG_ROOT=$CONFIG_ROOT \
                                                NAME="$NAME" SNAME="$SNAME" SLOGAN="$SLOGAN" \
                                                SYSTEM_RELEASE="$SYSTEM_RELEASE" \
-                                               CFLAGS="$C2FLAGS" CXXFLAGS="$CXX2FLAGS" \
+                                               CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \
                                                CCACHE_DIR=/usr/src/ccache CCACHE_COMPRESS=1 \
                                                CCACHE_COMPILERCHECK="none" \
                                                KVER=$KVER MAKETUNING=$MAKETUNING \
@@ -463,6 +621,7 @@ ipfiremake() {
                                                CROSSTARGET="${CROSSTARGET}" \
                                                MACHINE="$MACHINE" \
                                                MACHINE_TYPE="$MACHINE_TYPE" \
+                                               $(qemu_environ) \
                                                $(fake_environ) \
                                                /bin/bash -x -c "cd /usr/src/lfs && \
                                                make -f $* LFS_BASEDIR=/usr/src install" >>$LOGFILE 2>&1
@@ -483,6 +642,9 @@ ipfiredist() {
        lfsmakecommoncheck $*
        [ $? == 1 ] && return 0
        
+       # Install QEMU helper, if needed
+       qemu_install_helper
+
        local PKG_TIME_START=`date +%s`
        chroot $LFS /tools/bin/env -i   HOME=/root \
                                        TERM=$TERM PS1='\u:\w\$ ' \
@@ -490,7 +652,7 @@ ipfiredist() {
                                        VERSION=$VERSION \
                                        CONFIG_ROOT=$CONFIG_ROOT \
                                        NAME="$NAME" SNAME="$SNAME" SLOGAN="$SLOGAN" \
-                                       CFLAGS="$C2FLAGS" CXXFLAGS="$CXX2FLAGS" \
+                                       CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \
                                        CCACHE_DIR=/usr/src/ccache CCACHE_COMPRESS=1 \
                                        CCACHE_COMPILERCHECK="none" \
                                        KVER=$KVER \
@@ -498,6 +660,7 @@ ipfiredist() {
                                        CROSSTARGET="${CROSSTARGET}" \
                                        MACHINE="$MACHINE" \
                                        MACHINE_TYPE="$MACHINE_TYPE" \
+                                       $(qemu_environ) \
                                        $(fake_environ) \
                                        /bin/bash -x -c "cd /usr/src/lfs && \
                                        make -f $1 LFS_BASEDIR=/usr/src dist" >>$LOGFILE 2>&1
@@ -518,6 +681,9 @@ installmake() {
        lfsmakecommoncheck $*
        [ $? == 1 ] && return 0
 
+       # Install QEMU helper, if needed
+       qemu_install_helper
+
        local PKG_TIME_START=`date +%s`
        chroot $LFS /tools/bin/env -i   HOME=/root \
                                                TERM=$TERM PS1='\u:\w\$ ' \
@@ -526,7 +692,7 @@ installmake() {
                                                SYSTEM_RELEASE="${SYSTEM_RELEASE}" \
                                                CONFIG_ROOT=$CONFIG_ROOT \
                                                NAME="$NAME" SNAME="$SNAME" SLOGAN="$SLOGAN" \
-                                               CFLAGS="-Os" CXXFLAGS="-Os" \
+                                               CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \
                                                CCACHE_DIR=/usr/src/ccache CCACHE_COMPRESS=1 CCACHE_HASHDIR=1 \
                                                KVER=$KVER \
                                                BUILDTARGET="$BUILDTARGET" \