- https://github.com/kignatovich/tms-dp - все для создания среды для разработки: ci\cd, мониторинг и тд;
- https://github.com/kignatovich/tms-dp-bot - телеграмм бот и терраформ;
- https://github.com/kignatovich/myproject-dp - приложение.
Используемые технологии/программы/утилиты/яп:
- Docker (Docker-compose)
- Jenkins(IAC)
- SonarQube
- Python (bot)
- Groovy (pipeline) готов тестовый пайплайн, нужно переделать в "боевой".
- Bash
- Nginx + SSL (certbot)
- Prometheus
- Loki
- Grafana
- caDvisor
- Ansible
- Pylint (можно заменить на flake8)
- Apache Benchmark (нагрузочное тестирвоание)
- Telegram (notification). Alertmanager - алерты готовы, остались в пайплайне jenkins.
- Checkov - сканирование файлов на наличие ошибок в конфигурации(terraform, Dockerfile и т.д.)
- trivy - сканирование образов docker
- gpg (скрипт)
ВАЖНО: на данный момент все разворачивается автоматическ при использовании только одной команды. Единственное исключение - webhook. Его в jenkins нужно включать в пайплайнах вручную.
Ссылка на приложение, который будет учавствовать в сборке.
При запуске команды в боте телеграм (/deploy), выполняется комнада terraform apply. В это время автоматически разворачиваются sqnarqube, jenkins и сопутсвующие сервисы/скрипты. Вывод команды terraform apply.
![image](https://private-user-images.githubusercontent.com/110161538/267268545-833b45df-1917-4619-98b5-f7ea8429ed4c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxMTU5NzAsIm5iZiI6MTcyMjExNTY3MCwicGF0aCI6Ii8xMTAxNjE1MzgvMjY3MjY4NTQ1LTgzM2I0NWRmLTE5MTctNDYxOS05OGI1LWY3ZWE4NDI5ZWQ0Yy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyN1QyMTI3NTBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1iYTI3NzVjNGU1MzhiMDFmMGU4YWNhZGE4MmNlZTQxYjYyZDFlNWVmMTFkYTQwYTY5M2I5OWI5Y2UwMzRkOWNlJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.ZHa5S8i47UvRB3xcqKoX09PYn4QjMTIrUSURKR0NZr0)
Один из важных скриптов которые отрабатывают в самом началае секции remote-exec - prepare.sh находящийся в шифрованом архиве keyp.zip, который добавляет возможность "читать ВМ" приватные репозитории gitlab.
#!/bin/bash
mv ./id_rsa ./.ssh/
ssh-keyscan github.com >> /home/ubuntu/.ssh/known_hosts
После добавления закрытого ключа, remote-exec "стирает" его следы.
После успешного разворачивания инфраструктуры - будет создана главная страница проекта, доступная по адресу https://tms-dp1.devsecops.by.
- Дженкинс - https://jenkins1.devsecops.by (логин admin пароль из файла конфига terraform по умолчанию 123456789)
- Сонаркьюб - https://sonarqube1.devsecops.by (логин admin пароль из файла конфига terraform по умолчанию 123456789)
- Графана - https://grafana1.devsecops.by логин admin пароль из файла конфига terraform по умолчанию 123456789)
- Prometheus - https://prom1.devsecops.by (basic auth admin:password)
- Cadvisor - https://cad1.devsecops.by (basic auth admin:password)
- Prod - https://prod1.devsecops.by
- DEV - https://dev1.devsecops.by
После деплоя инфраструктуры в дженкинсе появляются два пайплайна: один для ветки main, второй для ветки dev.
- Clone repository - клонируем код из репозитория(main или dev)
- Checkov scaner - проверка правильности написания Dockerfile (может сканировать yaml, tf и т.д.)
- Code style используется pylint
- Sonar-scanner - сканирование с помощью sonarqube (каждый запуск отдельяная запись)
- Deploy project - деплой c помощью ansible на другой сервер(клонирование репозитория, билд проекта, проверка сканером уязвимости билда проекта, запуск проекта)
- code 200 & page search - тест ответа сервера 200 и поиск по главной странице определнного текста
- Apache benchmark test - нагрузочный тест main или dev среды
- Declarative: Post Actions уведомления, реализованы через телеграмм скрипт.
https://tms-dp1.devsecops.by/report/
![Снимок экрана 2023-08-21 в 17 23 33](https://private-user-images.githubusercontent.com/110161538/267264467-f48c1917-0555-4694-bfb9-d731a9c77290.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxMTU5NzAsIm5iZiI6MTcyMjExNTY3MCwicGF0aCI6Ii8xMTAxNjE1MzgvMjY3MjY0NDY3LWY0OGMxOTE3LTA1NTUtNDY5NC1iZmI5LWQ3MzFhOWM3NzI5MC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyN1QyMTI3NTBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xMDZjZjI0NTkyMzk1NmE4NzdlZTk3YzUyM2Y4NjY5NzczZDQ4ZWYyMTkwMWMzOGZkZGVjNmUyZDgzNWY0ZjhkJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.R5o7sMyaDDX_aDE7goh7Y-GTBMcGkL03_hL0LMnpHFw)
![Снимок экрана 2023-08-21 в 17 24 15](https://private-user-images.githubusercontent.com/110161538/267264552-b1125230-15c8-4b9d-85ad-3d01a012ef93.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxMTU5NzAsIm5iZiI6MTcyMjExNTY3MCwicGF0aCI6Ii8xMTAxNjE1MzgvMjY3MjY0NTUyLWIxMTI1MjMwLTE1YzgtNGI5ZC04NWFkLTNkMDFhMDEyZWY5My5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyN1QyMTI3NTBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1hNWU3ZmVhNzA0ZmUyYzZhNzk3NzgzYWM5ZmNkYjZjYjgzNzJiNzlkNGUyNzdkYjgyM2RkOWVkODA3MWI1NWYwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.f6AgFtGmKGSrF14yCxuqMtljefzyMFGLdQWorXt6cJk)
Добавлены дашборды (автоматически разворачиваются):
- docker host (мониторинг хоста на котором установлен docker)
- docker containers (мониторинг докер контейнеров)
- monitoring services (мониторинг мониторинга)
- logs (кастомный вывод логов и алертов)
![Снимок экрана 2023-08-21 в 17 26 14](https://private-user-images.githubusercontent.com/110161538/267264945-2e3efc5b-542a-46dd-9428-8e782d65f8ee.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxMTU5NzAsIm5iZiI6MTcyMjExNTY3MCwicGF0aCI6Ii8xMTAxNjE1MzgvMjY3MjY0OTQ1LTJlM2VmYzViLTU0MmEtNDZkZC05NDI4LThlNzgyZDY1ZjhlZS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyN1QyMTI3NTBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xYWY5Y2UzMjdlMzYzOTNjNThmNjRiZDIwYTc1ZTkwMWUxYzM4MzU2MDhhZGJkNzM2YzczOTI3YmIzOGZkODYyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.OB3crVWfm-P9ywNLDJewJwDQwYFdrb_TFm6EX4Ka5d4)
![Снимок экрана 2023-08-21 в 17 26 37](https://private-user-images.githubusercontent.com/110161538/267265036-77bda930-379b-4088-a212-8e1338b203e1.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxMTU5NzAsIm5iZiI6MTcyMjExNTY3MCwicGF0aCI6Ii8xMTAxNjE1MzgvMjY3MjY1MDM2LTc3YmRhOTMwLTM3OWItNDA4OC1hMjEyLThlMTMzOGIyMDNlMS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyN1QyMTI3NTBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0yOThmOTk4ZjdkMjlkMjdiNzIxZWQ0ZmYxN2VlMjEyYWNjYmVlMDgxODAzYzg3Mzc5MzJkZWY0Mzg2MTQ5MjVmJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.sqJzU_MXZThBe9XqfayJkFJhv5SNIRLKsxFbJTwR6Uc)
![Снимок экрана 2023-08-21 в 17 27 04](https://private-user-images.githubusercontent.com/110161538/267265158-376b8153-309e-4a10-8af6-2fc253e21ad3.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxMTU5NzAsIm5iZiI6MTcyMjExNTY3MCwicGF0aCI6Ii8xMTAxNjE1MzgvMjY3MjY1MTU4LTM3NmI4MTUzLTMwOWUtNGExMC04YWY2LTJmYzI1M2UyMWFkMy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyN1QyMTI3NTBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT05NWE3OGM3MmZmYThiMTYwODQ5MzI1ZGU2ZDYyOWIxMDU5MWI4ZWI5NDE2Y2VhZWVhNWRjMTY1YmRlZTJlODUwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.Gkbk9jH-X-AdGRgGx1gmQ355vgWKiTUYMilGkwxtZSE)
![Снимок экрана 2023-08-21 в 17 28 43](https://private-user-images.githubusercontent.com/110161538/267265288-42a2201b-eb31-403f-904f-7d4522b4639b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxMTU5NzAsIm5iZiI6MTcyMjExNTY3MCwicGF0aCI6Ii8xMTAxNjE1MzgvMjY3MjY1Mjg4LTQyYTIyMDFiLWViMzEtNDAzZi05MDRmLTdkNDUyMmI0NjM5Yi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyN1QyMTI3NTBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1mYWRhZDEwZmZhYWFhMTg4NTk4ZDhhOTdmOTUzNGMxMjJiOTc3NmFkOTg1M2Y4YzVkNGNlNmNjY2M0ZDgxOGUwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.i1jQSBiXosIMeYqc-HNKC3S1viFjYLtJEVaNAatzAgM)
![Снимок экрана 2023-08-21 в 17 29 21](https://private-user-images.githubusercontent.com/110161538/267265409-0c76dbf1-9e72-4899-b03a-cff41a304659.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxMTU5NzAsIm5iZiI6MTcyMjExNTY3MCwicGF0aCI6Ii8xMTAxNjE1MzgvMjY3MjY1NDA5LTBjNzZkYmYxLTllNzItNDg5OS1iMDNhLWNmZjQxYTMwNDY1OS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyN1QyMTI3NTBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1hNzU3YjY0NmI0ODBmNTM5ZmUzZmU1NmZjMjUyZDUxMzFhNWNjYmQzYjQwOTY1MjJmYWNjNDVjZTEyNDg1YmRmJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.GuHcB60P2A-zoPIRssHOmNRxU3wBIWjjVTAfew8jl2I)
![Снимок экрана 2023-08-21 в 17 30 29](https://private-user-images.githubusercontent.com/110161538/267265525-21dd927b-b7ec-411b-9b33-37ac60ab8089.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxMTU5NzAsIm5iZiI6MTcyMjExNTY3MCwicGF0aCI6Ii8xMTAxNjE1MzgvMjY3MjY1NTI1LTIxZGQ5MjdiLWI3ZWMtNDExYi05YjMzLTM3YWM2MGFiODA4OS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyN1QyMTI3NTBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1lNGNkZTY5ZDM0NGQ5NjBlMzc2NzRmNTRhNDRjNmM2NGI2ZjhmYTBlOWEwODI4MGUyNDU4Nzc4MzhhYzA5NzdmJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.1eQ1NfIxggNiD5MeOKezezvoFm7YNmTE8f0eu58y6JM)
![image](https://private-user-images.githubusercontent.com/110161538/267265899-b7562f8c-2159-44bf-b019-e65c3694a775.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxMTU5NzAsIm5iZiI6MTcyMjExNTY3MCwicGF0aCI6Ii8xMTAxNjE1MzgvMjY3MjY1ODk5LWI3NTYyZjhjLTIxNTktNDRiZi1iMDE5LWU2NWMzNjk0YTc3NS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyN1QyMTI3NTBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1lZmMzOTM5ZjZiZmFmMmQwZDhiZmY2MzdlNGRiOThmNzFiZTE3MDM1NjcxNGRkODExMWE2MjhhZmY3ZGI5YWU4JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.ae46LvSJkfjy2FPo_SUUiiY7Hlh1GeBr9gehh94fC58)
![image](https://private-user-images.githubusercontent.com/110161538/267266051-0c209461-c994-4ac0-9e33-a94931274a79.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxMTU5NzAsIm5iZiI6MTcyMjExNTY3MCwicGF0aCI6Ii8xMTAxNjE1MzgvMjY3MjY2MDUxLTBjMjA5NDYxLWM5OTQtNGFjMC05ZTMzLWE5NDkzMTI3NGE3OS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyN1QyMTI3NTBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00YWQzMzVkMmFmYWI1YjU0OWExOWEwZWEwZDYxMDcwNDRjZTVjNWJhNWJlNDQzNzYwZTQ0ZTU1N2I1YjhkMjk2JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.FaulubUDrrCOCr6XE1SwgPAuUF1MW7tafWm8KtQjuWk)
![image](https://private-user-images.githubusercontent.com/110161538/267266155-03d11824-82e9-464d-8d68-fe042f4abf75.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxMTU5NzAsIm5iZiI6MTcyMjExNTY3MCwicGF0aCI6Ii8xMTAxNjE1MzgvMjY3MjY2MTU1LTAzZDExODI0LTgyZTktNDY0ZC04ZDY4LWZlMDQyZjRhYmY3NS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyN1QyMTI3NTBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT05Y2RmNjliNGU0NDQyZWVmZGE2MDRiNmQyZWFjYTM5YTRjMmEyYTJkMjU1MTlhZWM3MGJlZWU4YjI2Y2NmYzRkJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.LpOS-bJj-J_FCugVNC10n1zLvQOf7hmNOeWY4HpdpwY)