Привет! — Делюсь опытом, пишу на Python и других языках — Создаю ботов и сайты — Парсинг, машинное обучение, big data, щупаю pentesting YouTube: https://www.youtube.com/c/pythontoday Чат: @python2day_chat Сотрудничество: @web_runner
🔥 Firebase Studio: бесплатно создавайте AI-приложения прямо в браузере!
Google анонсировал облачную платформу для быстрой разработки и развертывания полноценных AI-приложений без необходимости установки дополнительного ПО.
Теперь можно:
💬 Публиковать приложения в один клик: развертывайте проекты с помощью Firebase App Hosting, Cloud Run или других решений.
💬 Использовать всех популярных языков и фреймворков: включая Python, Go, Java, .NET, Node.js, Next.js, React, Angular, Vue.js, Android и Flutter.
💬 Прототипировать приложения с помощью естественного языка и изображений: опишите идею, добавьте изображения или эскизы, и Firebase Studio сгенерирует рабочий прототип.
💬 Интегрировать с Firebase и Google Cloud: легко подключайте такие сервисы, как Firebase Authentication, Cloud Firestore и Vertex AI.
💬 Работать совместно в реальном времени: делитесь проектами и настраивайте рабочие пространства для командной работы.
💬 БЕСПЛАТНО!
👨💻 Firebase Studio упрощает процесс разработки AI-приложений, делая его доступным как для новичков, так и для опытных разработчиков.
Сохраняем и пробуем ТУТ 👍
#nn #soft
Как создать свой чат-бот и начать зарабатывать уже сегодня?
На cайте университета Зерокодер открыли запись на бесплатный онлайн-практикум, где разберут, как создавать востребованные чат-боты — от простых до тех, за которые готовы платить от ₽100 000 за проект!
– Не нужен опыт в IT или программировании – всё с нуля!
– Расскажем, как выйти на стабильный доход уже через пару месяцев.
– Доступ к проверенным вакансиям для разработчиков чат-ботов.
Что узнаете на эфире:
– Перспективы рынка чат-ботов на 2025 год.
– Какие проекты стоят ₽100.000 и как их найти.
– Как применять нейросети, чтобы упростить работу.
Хотите освоить трендовую IT-профессию и начать зарабатывать от 100K за проект?
Нажмите сюда и забронируйте место на эфир.
erid: 2W5zFGezF2x
ООО Зерокодер, ИНН 9715401631
👨💻 Автоматизируем отправку писем с вложениями на Python — профессионально и с логами!
Как автоматизировать процесс рассылки писем по электронной почте. Будет полезно абсолютно каждому, кто когда-либо сталкивался с необходимостью отправлять информацию или рекламные сообщения большому количеству получателей.
📩 Готовый скрипт, который:
✔️ Создаёт письмо с HTML-телом и вложением.
✔️ Отправляет его через SMTP.
✔️ Сохраняет в папку "Отправленные".
✔️ Показывает логи в консоли и сохраняет их в файл.
✔️ Оборачивает всё в функции с обработкой ошибок.
Код:
import os
import time
import imaplib
import smtplib
import logging
from typing import Optional
from email.mime.text import MIMEText
from email.header import Header
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email import encoders
from email.utils import formatdate
# Логгирование
logging.basicConfig(
level=logging.INFO,
format="%(asctime)s — %(levelname)s — %(message)s",
handlers=[
logging.FileHandler("email_sender.log"),
logging.StreamHandler()
]
)
def create_email(
from_addr: str,
to_addr: str,
subject: str,
body: str,
attachment_path: Optional[str] = None
) -> MIMEMultipart:
logging.info("Создание письма...")
msg = MIMEMultipart()
msg["From"] = from_addr
msg["To"] = to_addr
msg["Subject"] = Header(subject, 'utf-8')
msg["Date"] = formatdate(localtime=True)
msg.attach(MIMEText(body, 'html', 'utf-8'))
if attachment_path and os.path.exists(attachment_path):
try:
part = MIMEBase('application', "octet-stream")
with open(attachment_path, "rb") as file:
part.set_payload(file.read())
encoders.encode_base64(part)
part.add_header(
'Content-Disposition',
f'attachment; filename="{os.path.basename(attachment_path)}"'
)
msg.attach(part)
logging.info(f"Файл прикреплен: {attachment_path}")
except Exception as e:
logging.error(f"Ошибка при прикреплении файла: {e}")
else:
logging.warning("Файл не найден или не указан — письмо будет без вложения.")
return msg
def send_email(
smtp_server: str,
smtp_port: int,
from_addr: str,
from_pass: str,
to_addr: str,
message: MIMEMultipart
) -> None:
try:
with smtplib.SMTP(smtp_server, smtp_port) as smtp:
smtp.starttls()
smtp.login(from_addr, from_pass)
smtp.sendmail(from_addr, to_addr, message.as_string())
logging.info(f"Письмо отправлено на {to_addr}")
except Exception as e:
logging.error(f"Ошибка отправки письма: {e}")
def save_to_sent(
imap_server: str,
imap_port: int,
from_addr: str,
from_pass: str,
message: MIMEMultipart
) -> None:
try:
with imaplib.IMAP4(imap_server, imap_port) as imap:
imap.login(from_addr, from_pass)
imap.select('Sent')
imap.append('Sent', None, imaplib.Time2Internaldate(time.time()), message.as_bytes())
logging.info("Письмо сохранено в 'Sent'")
except Exception as e:
logging.error(f"Ошибка сохранения письма: {e}")
if __name__ == "__main__":
FROM_EMAIL = "corp-mail@mail.ru"
FROM_PASSWORD = "*"
SMTP_SERVER = "*.mail.ru"
SMTP_PORT = 25
IMAP_PORT = 143
TO_EMAIL = "students-mail@mail.ru"
SUBJECT = "Тема сообщения"
BODY = "Текст сообщения"
ATTACHMENT_PATH = "сертификат.pdf"
try:
email_msg = create_email(FROM_EMAIL, TO_EMAIL, SUBJECT, BODY, ATTACHMENT_PATH)
send_email(SMTP_SERVER, SMTP_PORT, FROM_EMAIL, FROM_PASSWORD, TO_EMAIL, email_msg)
save_to_sent(SMTP_SERVER, IMAP_PORT, FROM_EMAIL, FROM_PASSWORD, email_msg)
except Exception as e:
logging.critical(f"Критическая ошибка: {e}")
🚀 Ловите мощнейшую подборку по нейросетям и языковым моделям!
Всё, что нужно для старта и прокачки в LLM:
📄 Актуальные курсы и туториалы.
🛠 Инструменты и фреймворки для работы.
🤝 Активное сообщество и свежие рессы.
📂 Подходит и новичкам, и профи — сохраняем и пробуем ТУТ
#nn #soft
🔫 Геймеры думают быстрее? Учёные подтверждают!
Новое исследование показало: мозг любителей экшен-игр работает заметно быстрее, чем у тех, кто в игры почти не играет. Участники должны были определить направление движения точек на экране — и геймеры не только справлялись быстрее, но и показывали повышенную активность в зоне мозга, отвечающей за реакцию и пространственное восприятие.
Активнее всего работала дорсальная зрительная система — именно она помогает быстро принимать решения и ориентироваться в пространстве.
🫶 Отправляем маме и продолжаем катку — это тренировка мозга, а не просто игрушки! 😎
🔥 Полезные библиотеки Python
Newspaper4k — мощная библиотека на Python для парсинга и анализа новостных статей. Это обновленный форк популярной Newspaper3k, дополненный новыми функциями и поддержкой более 40 языков.
Ключевые возможности:
➡️ Извлечение контента: получайте заголовки, авторов, даты публикации и основной текст статьи без лишнего "мусора".
➡️ NLP-инструменты: автоматически определяйте ключевые слова и создавайте краткие аннотации к статьям.
➡️ Массовый парсинг: используйте многопоточность для одновременной обработки множества статей, что значительно ускоряет процесс.
➡️ Интеграция с Google News: ищите и анализируйте новости по ключевым словам, темам и регионам.
Установка:
pip install newspaper4k
import newspaper
# Создаем объект статьи
article = newspaper.article('https://example.com/news/article')
# Выводим информацию о статье
print(article.authors)
print(article.publish_date)
print(article.text)
print(article.top_image)
# Выполняем NLP-анализ
article.nlp()
print(article.keywords)
print(article.summary)
«Устроиться в Яндекс невозможно» — слышали такое от друзей или знакомых? Этот и другие мифы ходят среди разработчиков — команда срезов в Поиске рассказывает, как всё устроено на самом деле.
❌ Миф 1. Отбор сложнее, чем в космонавты
✅ Говорят, что создать свой Поиск — это true rocket science. Но отбор к нам в команду не космически сложный. Есть 2–4 этапа, и к каждому из них мы помогаем подготовиться. А результаты успешных секций актуальны два года, так что при новых собеседованиях их просто зачтут.
❌ Миф 2. Продуктовая разработка без челленджей
✅ В Поиске с Нейро мы решаем прикладные задачи. Интерес и сложность в том, чтобы создавать продукты, которые отвечают на запросы миллионов пользователей. Наши решения мы интегрируем в инфраструктуру, которая обрабатывает петабайты информации в день и применяет последние достижения ML.
❌ Миф 3. Слишком много легаси-кода
✅ В Яндексе адекватно относятся к техдолгу и инфраструктуре. Команды постоянно развивают технологии, потому что растёт продуктовый заказ и есть требования к надёжности сервисов.
❌ Миф 4. Бесконечные переработки и дежурства
✅ В Поиске принято, что за надёжность продукта отвечает команда разработки. Дежурства есть, но они редкие — в среднем одна неделя раз в три месяца.
Если случится инцидент, есть понятный набор инструкций, а на случай непредвиденных обстоятельств — поддержка коллег, готовых подстраховать.
❌ Миф 5. Гигантский энтерпрайз
✅ В Поиске не принято вмешиваться в организацию и подходы работы отдельной команды. Выбор архитектуры, как и выбор технологического стека, остаётся за командой разработки. Скорее есть высокоуровневые ограничения и рекомендации.
Кандидат получает поддержку рекрутера и нанимающего менеджера на всех этапах найма, а после офера коллеги помогают с новыми задачами. Кстати, в бизнес-группе Поиска и Рекламных технологий несколько сервисов, один из них — Поиск с Нейро. Ребята создают системы для обработки и генерации данных и сейчас ищут себе бэкенд-разработчиков.
Если давно думали попробовать себя в Яндексе, сейчас самое время. По ссылке — пожелания к кандидатам и детали этапов отбора.
🔥 Полезные библиотеки Python
💻 Blackbird — мощный инструмент OSINT для поиска аккаунтов по всему интернету.
Ищете эффективный способ обнаружить учетные записи пользователя по нику или email?
Blackbird — продвинутый инструмент для OSINT-исследований, позволяющий быстро находить профили на более чем 600 платформах.
🔍 Среди них:
➡️ YouTube
➡️ Instagram
➡️ Twitter
➡️ Facebook
➡️ GitHub
➡️ Steam
➡️ Telegram и многие другие.
Ключевые возможности:
🟢Широкий охват:проверяет наличие аккаунтов на сотнях сайтов и социальных сетей.
🟢Интеграция с WhatsMyName:повышает точность поиска.
🟢Экспорт результатов:сохраняйте отчеты в форматах PDF, CSV или HTTP.
🟢AI-анализ:использует модели NER для извлечения метаданных и ускорения анализа.
🗳 Установка:
1.Клонируйте репозиторий
git clone https://github.com/p1ngul1n0/blackbird
cd blackbir
pip install -r requirements.txt
python blackbird.py --username ваш_ник
python blackbird.py --email ваш_email@example.com
python blackbird.py --email ваш_email@example.com --pdf
👺 Arc2Face — бесплатная нейросеть, которая превращает одно фото человека в десятки реалистичных вариаций. Позволяет генерировать стили, возраст, а также другие эмоции за пару кликов.
⚡️ Работает шустро;
💻 Можно скачать и юзать локально;
🧠 Основана на ArcFace + StyleGAN = 🔥
📂 Сохраняем и пробуем ТУТ
#nn #soft
📍 Получаем данные о стране с помощью Python — быстро, просто и в стиле Data Science.
Хочешь узнать площадь, столицу или список регионов любой страны прямо из кода? Библиотека countryinfo
делает это за пару строчек!
📦 Установка:
pip install countryinfo
from countryinfo import CountryInfo
from typing import List, Union
def get_country_info(country_name: str) -> None:
country = CountryInfo(country_name)
area: Union[int, None] = country.area()
population: Union[int, None] = country.population()
provinces: Union[List[str], None] = country.provinces()
capital: Union[str, None] = country.capital()
print(f"📍 Страна: {country_name}")
print(f"📐 Площадь: {area:,} км²")
print(f"👥 Население: {population:,} человек")
print(f"🏙 Столица: {capital}")
print(f"📌 Регионы: {', '.join(provinces[:5])} ... (и другие)")
if __name__ == "__main__":
get_country_info("Russia")
🔥 aiograpi — асинхронная Python-библиотека для работы с приватным API Instagram. Идеальный инструмент для автоматизации и анализа без лишней возни.
Умеет:
✅ Получать данные профилей, подписчиков, постов и сторис.
✅ Доставать email и телефоны из бизнес-аккаунтов.
✅ Скачивать и загружать фото, видео, Reels и IGTV.
✅ Автоматизировать лайки, комментарии, подписки.
✅ Работать с хэштегами и геолокацией.
✅ Получать инсайты и метрики.
✅ Читать и писать сообщения в Direct.
Подходит для скрейпинга, аналитики и ботов 👍
📂 Сохраняем
⚡️Какой основной инструмент работы у аналитика?
Pandas - инструмент, который делает жизнь аналитика проще и приятней, а работу - эффективней.
Научиться работать с Pandas на реальных задачах бизнеса можно на бесплатном курсе от Simulative.
За неделю обучения вы:
🟠Освоите Pandas с нуля до продвинутых функций: сложная агрегация, оконные функции и т.д.
🟠Научитесь решать реальные аналитические задачи: проводить многомерный ABC-анализ, XYZ-анализ, рассчитывать динамику продаж.
🟠Сделаете собственный проект, который сможете добавить в портфолио: реальный кейс автоматизации обработки финансовой отчетности от крупной региональной аптечной сети
🕗 Обучение проходит на платформе школы
😶Начать учиться Pandas
🙃 По родному как-то, душевно...
С добрым утром, хороших выходных! 🫶
😱 BLIP_CAM: — компьютерное зрение выходит на новый уровень!
Python скрипт, который использует мощь модели BLIP для создания описаний в реальном времени с вашего веб-камеры. Теперь ваш компьютер не просто видит, но и понимает, что перед ним.
📝Ключевые возможности:
💬 Моментальные описания: Получайте текстовые описания происходящего перед камерой без задержек.
💬 Аппаратное ускорение: Поддержка CUDA обеспечивает быструю и плавную работу на GPU.
💬 Мониторинг производительности: Отслеживайте FPS, использование памяти GPU и задержки прямо в процессе работы.
⚙️ Установка:
1. Клонируйте репозиторий:
git clone https://github.com/zawawiAI/BLIP_CAM.git
pip install -r requirements.txt
python BLIP_CAM.py
👨💻 Резюме в сайт — за пару кликов!
Годный, бесплатный open-source конструктор, который превращает ваше резюме или LinkedIn-профиль в стильный персональный лендинг за пару кликов.
Никакого вёрстки, шаблонов и танцев с HTML — просто скормите ссылку, и ИИ всё сделает сам.
⚔️ Особенно актуально для разработчиков, дизайнеров и фрилансеров — такой мини-сайт покажет вас с лучшей стороны.
🔗 Используем онлайн ТУТ
5️⃣ GitHub
#soft #github
😎 Дропнули 4й сезон. Почти 4 года прошло, пздц, недавно вспоминал про него, думал в прошлом году смотрел...
Кто не смотрел — рекомендую. Хорошего просмотра ✌️
✍️ Шпаргалка по Pandas с примерами кода. От индексации до обработки дат и данных временных рядов — это руководство поможет вам перейти от начального к среднему уровню с практическими примерами.
🔍 Индексаторы (Loc и iLoc): узнайте, как использовать loc и iloc для нарезки данных.
🎯 Фильтрация/маскировка: узнайте, как фильтровать данные в зависимости от условий.
🔧 Обновление значений столбцов и строк: узнайте, как изменять данные в определенных столбцах или строках.
👨💼 Обновление строк с помощью (.apply, .map, .applymap и .replace): узнайте, как применять функции к строкам или столбцам и как использовать замену для обновления значений.
🔍 IF, Elseif (Элиф), Else в Pandas: узнайте, как использовать условные операторы в Pandas для управления данными.
📈 Сортировка в Pandas: узнайте, как сортировать данные на основе одного или нескольких столбцов и как использовать nlargest и nsmalest для получения наибольшего или наименьшего значения.
👥 Группировка и агрегирование в Pandas: узнайте, как группировать данные по одному или нескольким столбцам и агрегировать данные с помощью различных функций.
📊 Обработка нулевых значений: узнайте, как идентифицировать нулевые значения, удалять нулевые значения и заменять нулевые значения определенным значением.
📅 Работа с датами и данными временных рядов: узнайте, как преобразовывать столбцы в дату и время, выполнять основные операции, фильтровать по датам и удалять временные метки.
📂 Сохраняем, пригодится! 👍
#doc #pandas #python #cheatsheet
Изучаете Python и уже чувствуете себя уверенно? Хотите проверить навыки и знания? Тогда приглашаем на бесплатный мини-курс «Python для всех»!
Переходите в Telegram-бот, регистрируйтесь в пару кликов, выбирайте удобное время — и получите чек-листы с полезными материалами: https://epic.st/smi8X?erid=2VtzqvTiZAR
Курс состоит из практики чуть менее чем полностью. За 4 дня вы создадите 4 проекта:
1️⃣ Бота для Telegram, который умеет переводить голос в текст
2️⃣ Бота для Telegram, который обрабатывает фотографии
3️⃣ Парсер, который извлекает данные с сайтов
4️⃣ Веб-сайт (с помощью фреймворка Flask)
В общем, прокачаете навыки и наверняка узнаете что-то новое.
🎁 А ещё подарки: персональная карьерная консультация, скидка 10 000 рублей на любой курс Skillbox и подборка полезных материалов.
Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880
🧠 Какие выводы после сбоя в дата-центре Яндекса 30 марта
Если вы в продакшене, то вероятность, что вы заметили сбой 30 марта, довольно высока. Один из дата-центров Яндекс Облака лёг почти полностью: отключились сервисы, виртуалки, хранилища. Причина — авария на внешней подстанции, которая зацепила сразу оба ввода питания, дальше пошла цепочка отказов уже внутри ДЦ.
На Хабре вышел подробный разбор инцидента от команды Яндекса — как устроено питание в дата-центрах и что происходит, когда отказывают сразу несколько уровней резервирования.
С точки зрения разработчика, особенно если вы деплоите своё на облаке, история даёт несколько хороших поводов задуматься:
➡️ Скорость и прозрачность реакции важнее самой причины — да, случилось ЧП, но мне лично интересно, как быстро подняли инфраструктуру, какие были приоритеты, как принимали решения о включении/не включении сервисов. Я бы хотел, чтобы такие пост-мортемы стали нормой у всех крупных провайдеров.
Кто-то пострадал не потому, что упал сам Яндекс, а потому что всё было собрано в одной зоне. Если у вас всё живёт в одном регионе — ну это риск, и сбой вроде этого просто его реализует. Да, разносить инфраструктуру по зонам/регионам это лишняя работа, иногда сложнее деплоить, иногда дороже. Но когда гаснет свет это единственное, что может реально спасти.
⌨️ Newspaper4k — Идеальный инструмент для разработчиков, исследователей и аналитиков, которым необходимо эффективно собирать и обрабатывать новостной контент.
Читать полностью…💀 Комары, всё! Киберпанк на страже твоего покоя.
Израильский стартап дропнул гаджет, который сканирует комнату, выискивает комаров 🦟 и подсвечивает их ЛАЗЕРОМ.
🔫 В арсенале:
— ИК-датчики;
— Камера;
— ИИ, который отличает комара от пылинки;
— И, конечно, электрошокер-мухобойка, чтобы завершить миссию без кровавых стен.
А главное — пуш на смартфон, когда вражина обнаружена😆 Это уже не борьба с насекомыми, а мини-шутер в твоей спальне.
⚔️ «Звездные войны», только против комаров.
Это нам надо 👍
💻 Blackbird — продвинутый инструмент для OSINT-исследований, позволяющий быстро находить профили на более чем 600 платформах.
🔍 Среди них:
➡️ YouTube
➡️ Instagram
➡️ Twitter
➡️ Facebook
➡️ GitHub
➡️ Steam
➡️ Telegram и многие другие
😎 Когда тебе немного за 30, и на хобби остаётся один час в день *в неделю
С добрым утром! Хорошей недели сталкеры 🚘
Мои коллеги из Яндекса создали сильнейшие IT каналы 🔥
Наше кредо — программирование не сложно, просто никто не объяснял нормально.
😎 Идея для стартапа
Стать миллиардером очень просто, нужно просто... снять гараж.
Аренда такой локации стоит от 5-10к в час, затраты на строительство отбиваются буквально за несколько дней. 🤑
С добрым утром! 😎
🔥 aiograpi: Асинхронная библиотека для работы с приватным API Instagram на Python.
aiograpi — мощная асинхронная библиотека на Python, предназначенная для взаимодействия с приватным API Instagram. Предоставляет широкий спектр возможностей для автоматизации и интеграции с Instagram
Ключевые возможности:
➡️ Получение публичных данных: Информация о пользователях, постах, историях, подписчиках и подписках.
➡️ Доступ к контактным данным: Извлечение публичных email и номеров телефонов из бизнес-профилей.
➡️ Работа с контентом: Загрузка и скачивание фотографий, видео, IGTV, Reels, альбомов и историй.
➡️ Управление взаимодействиями: Лайки, комментарии, подписки и отписки.
➡️ Работа с хэштегами и геолокацией: Получение данных по хэштегам и местоположениям.
➡️ Инсайты и аналитика: Доступ к метрикам аккаунта, постов и историй.
➡️ Управление сообщениями:Отправка и получение сообщений в Direct, включая вложения.
⚙️Установка:
pip install aiograpi
from aiograpi import Client
async def main():
cl = Client()
await cl.login(username='your_username', password='your_password')
user_id = await cl.user_id_from_username('target_username')
medias = await cl.user_medias(user_id, 20)
for media in medias:
print(media.caption)
# Запуск асинхронной функции
import asyncio
asyncio.run(main())
🔊 Прокачай любое аудио — даже если на фоне перфоратор и кот на баяне.
Auphonic — бесплатная нейросеть, которая буквально спасает испорченные записи. Пара кликов — и даже диктофон с лекции превращается в студийную дорожку.
💥 Что умеет:
— Поддерживает любые аудио и видео форматы;
— Убирает фоновый гул, тишину, «э-э-э» и прочий мусор;
— Спокойно вытягивает плохой звук с Zoom, диктофона или камеры;
— Делит трек на вокал и музыку, как профи;
— Даёт 2 часа обработки БЕСПЛАТНО каждый месяц. 🎁
🎙 Хоть подкаст пиши, хоть видос озвучивай — всё делается в пару кликов.
🔗 Сохраняем и тестим ТУТ
#nn #soft
😱 BLIP_CAM: — компьютерное зрение выходит на новый уровень!
Python скрипт, который использует мощь модели BLIP для создания описаний в реальном времени с вашего веб-камеры. Теперь ваш компьютер не просто видит, но и понимает, что перед ним.
Техносвоп, мастерская, доклады и много железа — в Москве пройдет Repair Cafe
Яндекс — компания, которую создали люди с инженерным мышлением. Когда-то команда выпускала только софт, а сейчас в компании полный in-house цикл производства железа: от роботов-доставщиков до умных устройств и многого другого. Для тех, кто разделяет этот подход, Яндекс проводит Repair Cafe.
Сердце ивента — мастерская, где есть все необходимые инструменты. Там можно починить ноутбук, разобрать Станцию или заниматься ардуино в свое удовольствие.
Еще в программе: доклады, воркшопы, техносвоп и выставка с роботами, лидарами, серверами и игровыми приставками. Бонус для любителей ретро: починка культового ПК «Ленинград», который выпускался еще в конце 80-х годов.
Кстати, если вы уже создали необычный гаджет — например, совместили умную колонку с радио или починили раритетный компьютер, сможете выиграть уникальную кастомную Станцию Миди. Присылайте свои работы в комментарии к посту и ждите результатов 9 апреля.
Программа подробнее и регистрация — тут.
🤓 И это всего за пару лет развития нейросетей, а что нас ждет через 5 лет?
С добрым утром, пятница! ☕️