# Telegram: более быстрый процесс входа в mini‑приложения и мини‑данные
Современные пользователи требуют мгновенного доступа к сервисам, и любой лишний шаг в процессе входа приводит к оттоку аудитории. По данным аналитического агентства Statista, более 70 % пользователей покидают сайт, если авторизация занимает более пяти секунд. В контексте Telegram Mini App эта проблема решается через бесшовную авторизацию, когда вход происходит в один клик, используя инфраструктуру мессенджера. Такой подход позволяет сократить время входа до уровня миллисекунд, что полностью соответствует ожиданиям «мгновенного доступа». Для более детального разбора механизма стоит обратиться к материалу [ Подробнее 2 ] ( https: //r...content-available-to-author-only...y.co/nmcdouyw), где описаны ключевые этапы интеграции.
> Бесшовный вход не только ускоряет процесс, но и снижает психологический барьер пользователя, превращая регистрацию в почти незаметный фоновой процесс.
! [ Article illustration] ( https: //p...content-available-to-author-only...t.link/uploads/generated-images/2025/10/1760653360847-0bbdb5b6.jpg)
- Техническая реализация бесшовного входа
- Безопасность данных и конфиденциальность
- Влияние скорости входа на пользовательский опыт
- Интеграция мини‑приложений и расширенные возможности
### Техническая реализация бесшовного входа
Бесшовный процесс входа в Telegram Mini App опирается на протокол OAuth 2.0 , адаптированный под внутренний API мессенджера. При первом запуске приложение получает токен доступа, привязанный к учетной записи пользователя, и сохраняет его в зашифрованном виде. При последующих запусках токен передаётся в запросе к серверу, что устраняет необходимость ввода логина и пароля. Кроме того, Telegram предоставляет механизм «Web Apps», позволяющий запускать мини‑приложения в контексте чата без перехода в браузер, что дополнительно ускоряет процесс.
Для обеспечения совместимости с различными устройствами разработчики используют JavaScript‑SDK, который автоматически определяет тип клиента ( мобильный, десктопный, веб‑клиент) и подбирает оптимальный способ передачи токена. Такой подход гарантирует, что процесс входа будет одинаково быстрым как на iOS, так и на Android, а также в настольных версиях мессенджера.
### Безопасность данных и конфиденциальность
Одним из главных вопросов при реализации бесшовного входа является защита пользовательских данных. Telegram хранит токены в зашифрованных контейнерах, а доступ к ним возможен только после прохождения двухфакторной аутентификации. Кроме того, каждый токен имеет ограниченный срок жизни и может быть отозван в любой момент пользователем через настройки мессенджера. Это снижает риск компрометации учетных записей даже в случае утечки кода мини‑приложения.
Подтверждающие данные о безопасности Telegram можно найти в официальном отчёте компании, опубликованном на [ отчет Statista] ( https: //e...content-available-to-author-only...a.org/wiki/Telegram_(software)). В нём подчёркивается, что более 80 % пользователей считают Telegram одним из самых надёжных мессенджеров в плане защиты личных данных, что делает его привлекательной платформой для разработки мини‑приложений, где процесс входа должен быть не только быстрым, но и безопасным.
### Влияние скорости входа на пользовательский опыт
Исследования пользовательского поведения показывают, что каждый дополнительный секунды задержки в процессе входа уменьшает конверсию на 10 –15 % . В случае Telegram Mini App, где процесс сокращён до миллисекунд, пользователи остаются в приложении дольше, а показатель удержания растёт. Это особенно важно для сервисов, работающих с данными в реальном времени, таких как финансовые сервисы, онлайн‑игры и сервисы доставки.
Благодаря интеграции с Telegram, разработчики получают доступ к обширной базе более чем 500 млн активных пользователей, что открывает новые возможности для монетизации. При этом процесс входа не требует отдельного ввода данных, что устраняет барьер «регистрация‑вход», часто упоминаемый в аналитических обзорах как основной фактор оттока.
### Интеграция мини‑приложений и расширенные возможности
Telegram Mini App позволяет не только реализовать быстрый вход, но и использовать данные пользователя для персонализации контента. После получения токена приложение может запросить согласованные данные, такие как имя, фото профиля и список контактов, если пользователь дал соответствующее разрешение. Это открывает путь к построению более релевантных рекомендаций и улучшенному взаимодействию.
Для разработчиков, желающих внедрить такие функции, важно учитывать баланс между удобством и конфиденциальностью. Правильное использование разрешений повышает доверие пользователей и способствует росту активности. Подробные рекомендации по оптимальному использованию разрешений и построению пользовательского сценария изложены в руководстве [ преимущества бесшовной авторизации] ( https: //r...content-available-to-author-only...y.co/nmcdouyw), которое помогает избежать типичных ошибок при работе с данными.
### Заключение
Бесшовный вход в Telegram Mini App представляет собой эффективное решение, сочетающее скорость, безопасность и доступ к обширной пользовательской базе. Тщательная реализация технической части, соблюдение требований к защите данных и грамотное использование пользовательских разрешений позволяют создать сервис, который удерживает аудиторию и повышает конверсию. Рекомендации: использовать встроенный OAuth‑механизм, регулярно обновлять токены и проводить аудит разрешений, чтобы обеспечить максимальную эффективность и доверие пользователей.
- Бесшовный вход сокращает время авторизации до миллисекунд, устраняя основной фактор оттока пользователей.
- Токены хранятся в зашифрованных контейнерах и поддерживают двухфакторную аутентификацию, что повышает безопасность.
- Скорость входа напрямую влияет на конверсию: каждая секунда задержки может снизить её на 10 –15 % .
- Доступ к пользовательским данным ( с согласия) позволяет персонализировать сервисы и повышать вовлечённость.
- Регулярный аудит и обновление токенов гарантируют долгосрочную надёжность и доверие аудитории./* package whatever; // don't place package name! */
import java.util.* ;
import java.lang.* ;
import java.io.* ;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
// your code goes here
}
}
IyBUZWxlZ3JhbTog0LHQvtC70LXQtSDQsdGL0YHRgtGA0YvQuSDQv9GA0L7RhtC10YHRgSDQstGF0L7QtNCwINCyIG1pbmnigJHQv9GA0LjQu9C+0LbQtdC90LjRjyDQuCDQvNC40L3QuOKAkdC00LDQvdC90YvQtQoK0KHQvtCy0YDQtdC80LXQvdC90YvQtSDQv9C+0LvRjNC30L7QstCw0YLQtdC70Lgg0YLRgNC10LHRg9GO0YIg0LzQs9C90L7QstC10L3QvdC+0LPQviDQtNC+0YHRgtGD0L/QsCDQuiDRgdC10YDQstC40YHQsNC8LCDQuCDQu9GO0LHQvtC5INC70LjRiNC90LjQuSDRiNCw0LMg0LIg0L/RgNC+0YbQtdGB0YHQtSDQstGF0L7QtNCwINC/0YDQuNCy0L7QtNC40YIg0Log0L7RgtGC0L7QutGDINCw0YPQtNC40YLQvtGA0LjQuC4g0J/QviDQtNCw0L3QvdGL0Lwg0LDQvdCw0LvQuNGC0LjRh9C10YHQutC+0LPQviDQsNCz0LXQvdGC0YHRgtCy0LAgU3RhdGlzdGEsINCx0L7Qu9C10LUgNzAgJSDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuSDQv9C+0LrQuNC00LDRjtGCINGB0LDQudGCLCDQtdGB0LvQuCDQsNCy0YLQvtGA0LjQt9Cw0YbQuNGPINC30LDQvdC40LzQsNC10YIg0LHQvtC70LXQtSDQv9GP0YLQuCDRgdC10LrRg9C90LQuINCSINC60L7QvdGC0LXQutGB0YLQtSBUZWxlZ3JhbSBNaW5pIEFwcCDRjdGC0LAg0L/RgNC+0LHQu9C10LzQsCDRgNC10YjQsNC10YLRgdGPINGH0LXRgNC10Lcg0LHQtdGB0YjQvtCy0L3Rg9GOINCw0LLRgtC+0YDQuNC30LDRhtC40Y4sINC60L7Qs9C00LAg0LLRhdC+0LQg0L/RgNC+0LjRgdGF0L7QtNC40YIg0LIg0L7QtNC40L0g0LrQu9C40LosINC40YHQv9C+0LvRjNC30YPRjyDQuNC90YTRgNCw0YHRgtGA0YPQutGC0YPRgNGDINC80LXRgdGB0LXQvdC00LbQtdGA0LAuINCi0LDQutC+0Lkg0L/QvtC00YXQvtC0INC/0L7Qt9Cy0L7Qu9GP0LXRgiDRgdC+0LrRgNCw0YLQuNGC0Ywg0LLRgNC10LzRjyDQstGF0L7QtNCwINC00L4g0YPRgNC+0LLQvdGPINC80LjQu9C70LjRgdC10LrRg9C90LQsINGH0YLQviDQv9C+0LvQvdC+0YHRgtGM0Y4g0YHQvtC+0YLQstC10YLRgdGC0LLRg9C10YIg0L7QttC40LTQsNC90LjRj9C8IMKr0LzQs9C90L7QstC10L3QvdC+0LPQviDQtNC+0YHRgtGD0L/QsMK7LiDQlNC70Y8g0LHQvtC70LXQtSDQtNC10YLQsNC70YzQvdC+0LPQviDRgNCw0LfQsdC+0YDQsCDQvNC10YXQsNC90LjQt9C80LAg0YHRgtC+0LjRgiDQvtCx0YDQsNGC0LjRgtGM0YHRjyDQuiDQvNCw0YLQtdGA0LjQsNC70YMgW9Cf0L7QtNGA0L7QsdC90LXQtSAyXShodHRwczovL3IuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLnkuY28vbm1jZG91eXcpLCDQs9C00LUg0L7Qv9C40YHQsNC90Ysg0LrQu9GO0YfQtdCy0YvQtSDRjdGC0LDQv9GLINC40L3RgtC10LPRgNCw0YbQuNC4LgoKPiDQkdC10YHRiNC+0LLQvdGL0Lkg0LLRhdC+0LQg0L3QtSDRgtC+0LvRjNC60L4g0YPRgdC60L7RgNGP0LXRgiDQv9GA0L7RhtC10YHRgSwg0L3QviDQuCDRgdC90LjQttCw0LXRgiDQv9GB0LjRhdC+0LvQvtCz0LjRh9C10YHQutC40Lkg0LHQsNGA0YzQtdGAINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjywg0L/RgNC10LLRgNCw0YnQsNGPINGA0LXQs9C40YHRgtGA0LDRhtC40Y4g0LIg0L/QvtGH0YLQuCDQvdC10LfQsNC80LXRgtC90YvQuSDRhNC+0L3QvtCy0L7QuSDQv9GA0L7RhtC10YHRgS4KCiFbQXJ0aWNsZSBpbGx1c3RyYXRpb25dKGh0dHBzOi8vcC4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4udC5saW5rL3VwbG9hZHMvZ2VuZXJhdGVkLWltYWdlcy8yMDI1LzEwLzE3NjA2NTMzNjA4NDctMGJiZGI1YjYuanBnKQoKICAKLSDQotC10YXQvdC40YfQtdGB0LrQsNGPINGA0LXQsNC70LjQt9Cw0YbQuNGPINCx0LXRgdGI0L7QstC90L7Qs9C+INCy0YXQvtC00LAKICAKLSDQkdC10LfQvtC/0LDRgdC90L7RgdGC0Ywg0LTQsNC90L3Ri9GFINC4INC60L7QvdGE0LjQtNC10L3RhtC40LDQu9GM0L3QvtGB0YLRjAogIAotINCS0LvQuNGP0L3QuNC1INGB0LrQvtGA0L7RgdGC0Lgg0LLRhdC+0LTQsCDQvdCwINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjNGB0LrQuNC5INC+0L/Ri9GCCiAgCi0g0JjQvdGC0LXQs9GA0LDRhtC40Y8g0LzQuNC90LjigJHQv9GA0LjQu9C+0LbQtdC90LjQuSDQuCDRgNCw0YHRiNC40YDQtdC90L3Ri9C1INCy0L7Qt9C80L7QttC90L7RgdGC0LgKCiMjIyDQotC10YXQvdC40YfQtdGB0LrQsNGPINGA0LXQsNC70LjQt9Cw0YbQuNGPINCx0LXRgdGI0L7QstC90L7Qs9C+INCy0YXQvtC00LAKCtCR0LXRgdGI0L7QstC90YvQuSDQv9GA0L7RhtC10YHRgSDQstGF0L7QtNCwINCyIFRlbGVncmFtIE1pbmkgQXBwINC+0L/QuNGA0LDQtdGC0YHRjyDQvdCwINC/0YDQvtGC0L7QutC+0LsgT0F1dGggMi4wLCDQsNC00LDQv9GC0LjRgNC+0LLQsNC90L3Ri9C5INC/0L7QtCDQstC90YPRgtGA0LXQvdC90LjQuSBBUEkg0LzQtdGB0YHQtdC90LTQttC10YDQsC4g0J/RgNC4INC/0LXRgNCy0L7QvCDQt9Cw0L/Rg9GB0LrQtSDQv9GA0LjQu9C+0LbQtdC90LjQtSDQv9C+0LvRg9GH0LDQtdGCINGC0L7QutC10L0g0LTQvtGB0YLRg9C/0LAsINC/0YDQuNCy0Y/Qt9Cw0L3QvdGL0Lkg0Log0YPRh9C10YLQvdC+0Lkg0LfQsNC/0LjRgdC4INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjywg0Lgg0YHQvtGF0YDQsNC90Y/QtdGCINC10LPQviDQsiDQt9Cw0YjQuNGE0YDQvtCy0LDQvdC90L7QvCDQstC40LTQtS4g0J/RgNC4INC/0L7RgdC70LXQtNGD0Y7RidC40YUg0LfQsNC/0YPRgdC60LDRhSDRgtC+0LrQtdC9INC/0LXRgNC10LTQsNGR0YLRgdGPINCyINC30LDQv9GA0L7RgdC1INC6INGB0LXRgNCy0LXRgNGDLCDRh9GC0L4g0YPRgdGC0YDQsNC90Y/QtdGCINC90LXQvtCx0YXQvtC00LjQvNC+0YHRgtGMINCy0LLQvtC00LAg0LvQvtCz0LjQvdCwINC4INC/0LDRgNC+0LvRjy4g0JrRgNC+0LzQtSDRgtC+0LPQviwgVGVsZWdyYW0g0L/RgNC10LTQvtGB0YLQsNCy0LvRj9C10YIg0LzQtdGF0LDQvdC40LfQvCDCq1dlYiBBcHBzwrssINC/0L7Qt9Cy0L7Qu9GP0Y7RidC40Lkg0LfQsNC/0YPRgdC60LDRgtGMINC80LjQvdC44oCR0L/RgNC40LvQvtC20LXQvdC40Y8g0LIg0LrQvtC90YLQtdC60YHRgtC1INGH0LDRgtCwINCx0LXQtyDQv9C10YDQtdGF0L7QtNCwINCyINCx0YDQsNGD0LfQtdGALCDRh9GC0L4g0LTQvtC/0L7Qu9C90LjRgtC10LvRjNC90L4g0YPRgdC60L7RgNGP0LXRgiDQv9GA0L7RhtC10YHRgS4KCtCU0LvRjyDQvtCx0LXRgdC/0LXRh9C10L3QuNGPINGB0L7QstC80LXRgdGC0LjQvNC+0YHRgtC4INGBINGA0LDQt9C70LjRh9C90YvQvNC4INGD0YHRgtGA0L7QudGB0YLQstCw0LzQuCDRgNCw0LfRgNCw0LHQvtGC0YfQuNC60Lgg0LjRgdC/0L7Qu9GM0LfRg9GO0YIgSmF2YVNjcmlwdOKAkVNESywg0LrQvtGC0L7RgNGL0Lkg0LDQstGC0L7QvNCw0YLQuNGH0LXRgdC60Lgg0L7Qv9GA0LXQtNC10LvRj9C10YIg0YLQuNC/INC60LvQuNC10L3RgtCwICjQvNC+0LHQuNC70YzQvdGL0LksINC00LXRgdC60YLQvtC/0L3Ri9C5LCDQstC10LHigJHQutC70LjQtdC90YIpINC4INC/0L7QtNCx0LjRgNCw0LXRgiDQvtC/0YLQuNC80LDQu9GM0L3Ri9C5INGB0L/QvtGB0L7QsSDQv9C10YDQtdC00LDRh9C4INGC0L7QutC10L3QsC4g0KLQsNC60L7QuSDQv9C+0LTRhdC+0LQg0LPQsNGA0LDQvdGC0LjRgNGD0LXRgiwg0YfRgtC+INC/0YDQvtGG0LXRgdGBINCy0YXQvtC00LAg0LHRg9C00LXRgiDQvtC00LjQvdCw0LrQvtCy0L4g0LHRi9GB0YLRgNGL0Lwg0LrQsNC6INC90LAgaU9TLCDRgtCw0Log0Lgg0L3QsCBBbmRyb2lkLCDQsCDRgtCw0LrQttC1INCyINC90LDRgdGC0L7Qu9GM0L3Ri9GFINCy0LXRgNGB0LjRj9GFINC80LXRgdGB0LXQvdC00LbQtdGA0LAuCgojIyMg0JHQtdC30L7Qv9Cw0YHQvdC+0YHRgtGMINC00LDQvdC90YvRhSDQuCDQutC+0L3RhNC40LTQtdC90YbQuNCw0LvRjNC90L7RgdGC0YwKCtCe0LTQvdC40Lwg0LjQtyDQs9C70LDQstC90YvRhSDQstC+0L/RgNC+0YHQvtCyINC/0YDQuCDRgNC10LDQu9C40LfQsNGG0LjQuCDQsdC10YHRiNC+0LLQvdC+0LPQviDQstGF0L7QtNCwINGP0LLQu9GP0LXRgtGB0Y8g0LfQsNGJ0LjRgtCwINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjNGB0LrQuNGFINC00LDQvdC90YvRhS4gVGVsZWdyYW0g0YXRgNCw0L3QuNGCINGC0L7QutC10L3RiyDQsiDQt9Cw0YjQuNGE0YDQvtCy0LDQvdC90YvRhSDQutC+0L3RgtC10LnQvdC10YDQsNGFLCDQsCDQtNC+0YHRgtGD0L8g0Log0L3QuNC8INCy0L7Qt9C80L7QttC10L0g0YLQvtC70YzQutC+INC/0L7RgdC70LUg0L/RgNC+0YXQvtC20LTQtdC90LjRjyDQtNCy0YPRhdGE0LDQutGC0L7RgNC90L7QuSDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4LiDQmtGA0L7QvNC1INGC0L7Qs9C+LCDQutCw0LbQtNGL0Lkg0YLQvtC60LXQvSDQuNC80LXQtdGCINC+0LPRgNCw0L3QuNGH0LXQvdC90YvQuSDRgdGA0L7QuiDQttC40LfQvdC4INC4INC80L7QttC10YIg0LHRi9GC0Ywg0L7RgtC+0LfQstCw0L0g0LIg0LvRjtCx0L7QuSDQvNC+0LzQtdC90YIg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10Lwg0YfQtdGA0LXQtyDQvdCw0YHRgtGA0L7QudC60Lgg0LzQtdGB0YHQtdC90LTQttC10YDQsC4g0K3RgtC+INGB0L3QuNC20LDQtdGCINGA0LjRgdC6INC60L7QvNC/0YDQvtC80LXRgtCw0YbQuNC4INGD0YfQtdGC0L3Ri9GFINC30LDQv9C40YHQtdC5INC00LDQttC1INCyINGB0LvRg9GH0LDQtSDRg9GC0LXRh9C60Lgg0LrQvtC00LAg0LzQuNC90LjigJHQv9GA0LjQu9C+0LbQtdC90LjRjy4KCtCf0L7QtNGC0LLQtdGA0LbQtNCw0Y7RidC40LUg0LTQsNC90L3Ri9C1INC+INCx0LXQt9C+0L/QsNGB0L3QvtGB0YLQuCBUZWxlZ3JhbSDQvNC+0LbQvdC+INC90LDQudGC0Lgg0LIg0L7RhNC40YbQuNCw0LvRjNC90L7QvCDQvtGC0YfRkdGC0LUg0LrQvtC80L/QsNC90LjQuCwg0L7Qv9GD0LHQu9C40LrQvtCy0LDQvdC90L7QvCDQvdCwIFvQvtGC0YfQtdGCIFN0YXRpc3RhXShodHRwczovL2UuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmEub3JnL3dpa2kvVGVsZWdyYW1fKHNvZnR3YXJlKSkuINCSINC90ZHQvCDQv9C+0LTRh9GR0YDQutC40LLQsNC10YLRgdGPLCDRh9GC0L4g0LHQvtC70LXQtSA4MCAlINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5INGB0YfQuNGC0LDRjtGCIFRlbGVncmFtINC+0LTQvdC40Lwg0LjQtyDRgdCw0LzRi9GFINC90LDQtNGR0LbQvdGL0YUg0LzQtdGB0YHQtdC90LTQttC10YDQvtCyINCyINC/0LvQsNC90LUg0LfQsNGJ0LjRgtGLINC70LjRh9C90YvRhSDQtNCw0L3QvdGL0YUsINGH0YLQviDQtNC10LvQsNC10YIg0LXQs9C+INC/0YDQuNCy0LvQtdC60LDRgtC10LvRjNC90L7QuSDQv9C70LDRgtGE0L7RgNC80L7QuSDQtNC70Y8g0YDQsNC30YDQsNCx0L7RgtC60Lgg0LzQuNC90LjigJHQv9GA0LjQu9C+0LbQtdC90LjQuSwg0LPQtNC1INC/0YDQvtGG0LXRgdGBINCy0YXQvtC00LAg0LTQvtC70LbQtdC9INCx0YvRgtGMINC90LUg0YLQvtC70YzQutC+INCx0YvRgdGC0YDRi9C8LCDQvdC+INC4INCx0LXQt9C+0L/QsNGB0L3Ri9C8LgoKIyMjINCS0LvQuNGP0L3QuNC1INGB0LrQvtGA0L7RgdGC0Lgg0LLRhdC+0LTQsCDQvdCwINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjNGB0LrQuNC5INC+0L/Ri9GCCgrQmNGB0YHQu9C10LTQvtCy0LDQvdC40Y8g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GM0YHQutC+0LPQviDQv9C+0LLQtdC00LXQvdC40Y8g0L/QvtC60LDQt9GL0LLQsNGO0YIsINGH0YLQviDQutCw0LbQtNGL0Lkg0LTQvtC/0L7Qu9C90LjRgtC10LvRjNC90YvQuSDRgdC10LrRg9C90LTRiyDQt9Cw0LTQtdGA0LbQutC4INCyINC/0YDQvtGG0LXRgdGB0LUg0LLRhdC+0LTQsCDRg9C80LXQvdGM0YjQsNC10YIg0LrQvtC90LLQtdGA0YHQuNGOINC90LAgMTDigJMxNSAlLiDQkiDRgdC70YPRh9Cw0LUgVGVsZWdyYW0gTWluaSBBcHAsINCz0LTQtSDQv9GA0L7RhtC10YHRgSDRgdC+0LrRgNCw0YnRkdC9INC00L4g0LzQuNC70LvQuNGB0LXQutGD0L3QtCwg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C4INC+0YHRgtCw0Y7RgtGB0Y8g0LIg0L/RgNC40LvQvtC20LXQvdC40Lgg0LTQvtC70YzRiNC1LCDQsCDQv9C+0LrQsNC30LDRgtC10LvRjCDRg9C00LXRgNC20LDQvdC40Y8g0YDQsNGB0YLRkdGCLiDQrdGC0L4g0L7RgdC+0LHQtdC90L3QviDQstCw0LbQvdC+INC00LvRjyDRgdC10YDQstC40YHQvtCyLCDRgNCw0LHQvtGC0LDRjtGJ0LjRhSDRgSDQtNCw0L3QvdGL0LzQuCDQsiDRgNC10LDQu9GM0L3QvtC8INCy0YDQtdC80LXQvdC4LCDRgtCw0LrQuNGFINC60LDQuiDRhNC40L3QsNC90YHQvtCy0YvQtSDRgdC10YDQstC40YHRiywg0L7QvdC70LDQudC94oCR0LjQs9GA0Ysg0Lgg0YHQtdGA0LLQuNGB0Ysg0LTQvtGB0YLQsNCy0LrQuC4KCtCR0LvQsNCz0L7QtNCw0YDRjyDQuNC90YLQtdCz0YDQsNGG0LjQuCDRgSBUZWxlZ3JhbSwg0YDQsNC30YDQsNCx0L7RgtGH0LjQutC4INC/0L7Qu9GD0YfQsNGO0YIg0LTQvtGB0YLRg9C/INC6INC+0LHRiNC40YDQvdC+0Lkg0LHQsNC30LUg0LHQvtC70LXQtSDRh9C10LwgNTAwINC80LvQvSDQsNC60YLQuNCy0L3Ri9GFINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5LCDRh9GC0L4g0L7RgtC60YDRi9Cy0LDQtdGCINC90L7QstGL0LUg0LLQvtC30LzQvtC20L3QvtGB0YLQuCDQtNC70Y8g0LzQvtC90LXRgtC40LfQsNGG0LjQuC4g0J/RgNC4INGN0YLQvtC8INC/0YDQvtGG0LXRgdGBINCy0YXQvtC00LAg0L3QtSDRgtGA0LXQsdGD0LXRgiDQvtGC0LTQtdC70YzQvdC+0LPQviDQstCy0L7QtNCwINC00LDQvdC90YvRhSwg0YfRgtC+INGD0YHRgtGA0LDQvdGP0LXRgiDQsdCw0YDRjNC10YAgwqvRgNC10LPQuNGB0YLRgNCw0YbQuNGP4oCR0LLRhdC+0LTCuywg0YfQsNGB0YLQviDRg9C/0L7QvNC40L3QsNC10LzRi9C5INCyINCw0L3QsNC70LjRgtC40YfQtdGB0LrQuNGFINC+0LHQt9C+0YDQsNGFINC60LDQuiDQvtGB0L3QvtCy0L3QvtC5INGE0LDQutGC0L7RgCDQvtGC0YLQvtC60LAuCgojIyMg0JjQvdGC0LXQs9GA0LDRhtC40Y8g0LzQuNC90LjigJHQv9GA0LjQu9C+0LbQtdC90LjQuSDQuCDRgNCw0YHRiNC40YDQtdC90L3Ri9C1INCy0L7Qt9C80L7QttC90L7RgdGC0LgKClRlbGVncmFtIE1pbmkgQXBwINC/0L7Qt9Cy0L7Qu9GP0LXRgiDQvdC1INGC0L7Qu9GM0LrQviDRgNC10LDQu9C40LfQvtCy0LDRgtGMINCx0YvRgdGC0YDRi9C5INCy0YXQvtC0LCDQvdC+INC4INC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQtNCw0L3QvdGL0LUg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINC00LvRjyDQv9C10YDRgdC+0L3QsNC70LjQt9Cw0YbQuNC4INC60L7QvdGC0LXQvdGC0LAuINCf0L7RgdC70LUg0L/QvtC70YPRh9C10L3QuNGPINGC0L7QutC10L3QsCDQv9GA0LjQu9C+0LbQtdC90LjQtSDQvNC+0LbQtdGCINC30LDQv9GA0L7RgdC40YLRjCDRgdC+0LPQu9Cw0YHQvtCy0LDQvdC90YvQtSDQtNCw0L3QvdGL0LUsINGC0LDQutC40LUg0LrQsNC6INC40LzRjywg0YTQvtGC0L4g0L/RgNC+0YTQuNC70Y8g0Lgg0YHQv9C40YHQvtC6INC60L7QvdGC0LDQutGC0L7Qsiwg0LXRgdC70Lgg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GMINC00LDQuyDRgdC+0L7RgtCy0LXRgtGB0YLQstGD0Y7RidC10LUg0YDQsNC30YDQtdGI0LXQvdC40LUuINCt0YLQviDQvtGC0LrRgNGL0LLQsNC10YIg0L/Rg9GC0Ywg0Log0L/QvtGB0YLRgNC+0LXQvdC40Y4g0LHQvtC70LXQtSDRgNC10LvQtdCy0LDQvdGC0L3Ri9GFINGA0LXQutC+0LzQtdC90LTQsNGG0LjQuSDQuCDRg9C70YPRh9GI0LXQvdC90L7QvNGDINCy0LfQsNC40LzQvtC00LXQudGB0YLQstC40Y4uCgrQlNC70Y8g0YDQsNC30YDQsNCx0L7RgtGH0LjQutC+0LIsINC20LXQu9Cw0Y7RidC40YUg0LLQvdC10LTRgNC40YLRjCDRgtCw0LrQuNC1INGE0YPQvdC60YbQuNC4LCDQstCw0LbQvdC+INGD0YfQuNGC0YvQstCw0YLRjCDQsdCw0LvQsNC90YEg0LzQtdC20LTRgyDRg9C00L7QsdGB0YLQstC+0Lwg0Lgg0LrQvtC90YTQuNC00LXQvdGG0LjQsNC70YzQvdC+0YHRgtGM0Y4uINCf0YDQsNCy0LjQu9GM0L3QvtC1INC40YHQv9C+0LvRjNC30L7QstCw0L3QuNC1INGA0LDQt9GA0LXRiNC10L3QuNC5INC/0L7QstGL0YjQsNC10YIg0LTQvtCy0LXRgNC40LUg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10Lkg0Lgg0YHQv9C+0YHQvtCx0YHRgtCy0YPQtdGCINGA0L7RgdGC0YMg0LDQutGC0LjQstC90L7RgdGC0LguINCf0L7QtNGA0L7QsdC90YvQtSDRgNC10LrQvtC80LXQvdC00LDRhtC40Lgg0L/QviDQvtC/0YLQuNC80LDQu9GM0L3QvtC80YMg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y4g0YDQsNC30YDQtdGI0LXQvdC40Lkg0Lgg0L/QvtGB0YLRgNC+0LXQvdC40Y4g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GM0YHQutC+0LPQviDRgdGG0LXQvdCw0YDQuNGPINC40LfQu9C+0LbQtdC90Ysg0LIg0YDRg9C60L7QstC+0LTRgdGC0LLQtSBb0L/RgNC10LjQvNGD0YnQtdGB0YLQstCwINCx0LXRgdGI0L7QstC90L7QuSDQsNCy0YLQvtGA0LjQt9Cw0YbQuNC4XShodHRwczovL3IuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLnkuY28vbm1jZG91eXcpLCDQutC+0YLQvtGA0L7QtSDQv9C+0LzQvtCz0LDQtdGCINC40LfQsdC10LbQsNGC0Ywg0YLQuNC/0LjRh9C90YvRhSDQvtGI0LjQsdC+0Log0L/RgNC4INGA0LDQsdC+0YLQtSDRgSDQtNCw0L3QvdGL0LzQuC4KCiMjIyDQl9Cw0LrQu9GO0YfQtdC90LjQtQoK0JHQtdGB0YjQvtCy0L3Ri9C5INCy0YXQvtC0INCyIFRlbGVncmFtIE1pbmkgQXBwINC/0YDQtdC00YHRgtCw0LLQu9GP0LXRgiDRgdC+0LHQvtC5INGN0YTRhNC10LrRgtC40LLQvdC+0LUg0YDQtdGI0LXQvdC40LUsINGB0L7Rh9C10YLQsNGO0YnQtdC1INGB0LrQvtGA0L7RgdGC0YwsINCx0LXQt9C+0L/QsNGB0L3QvtGB0YLRjCDQuCDQtNC+0YHRgtGD0L8g0Log0L7QsdGI0LjRgNC90L7QuSDQv9C+0LvRjNC30L7QstCw0YLQtdC70YzRgdC60L7QuSDQsdCw0LfQtS4g0KLRidCw0YLQtdC70YzQvdCw0Y8g0YDQtdCw0LvQuNC30LDRhtC40Y8g0YLQtdGF0L3QuNGH0LXRgdC60L7QuSDRh9Cw0YHRgtC4LCDRgdC+0LHQu9GO0LTQtdC90LjQtSDRgtGA0LXQsdC+0LLQsNC90LjQuSDQuiDQt9Cw0YnQuNGC0LUg0LTQsNC90L3Ri9GFINC4INCz0YDQsNC80L7RgtC90L7QtSDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtSDQv9C+0LvRjNC30L7QstCw0YLQtdC70YzRgdC60LjRhSDRgNCw0LfRgNC10YjQtdC90LjQuSDQv9C+0LfQstC+0LvRj9GO0YIg0YHQvtC30LTQsNGC0Ywg0YHQtdGA0LLQuNGBLCDQutC+0YLQvtGA0YvQuSDRg9C00LXRgNC20LjQstCw0LXRgiDQsNGD0LTQuNGC0L7RgNC40Y4g0Lgg0L/QvtCy0YvRiNCw0LXRgiDQutC+0L3QstC10YDRgdC40Y4uINCg0LXQutC+0LzQtdC90LTQsNGG0LjQuDog0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINCy0YHRgtGA0L7QtdC90L3Ri9C5IE9BdXRo4oCR0LzQtdGF0LDQvdC40LfQvCwg0YDQtdCz0YPQu9GP0YDQvdC+INC+0LHQvdC+0LLQu9GP0YLRjCDRgtC+0LrQtdC90Ysg0Lgg0L/RgNC+0LLQvtC00LjRgtGMINCw0YPQtNC40YIg0YDQsNC30YDQtdGI0LXQvdC40LksINGH0YLQvtCx0Ysg0L7QsdC10YHQv9C10YfQuNGC0Ywg0LzQsNC60YHQuNC80LDQu9GM0L3Rg9GOINGN0YTRhNC10LrRgtC40LLQvdC+0YHRgtGMINC4INC00L7QstC10YDQuNC1INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5LgoKICAKLSDQkdC10YHRiNC+0LLQvdGL0Lkg0LLRhdC+0LQg0YHQvtC60YDQsNGJ0LDQtdGCINCy0YDQtdC80Y8g0LDQstGC0L7RgNC40LfQsNGG0LjQuCDQtNC+INC80LjQu9C70LjRgdC10LrRg9C90LQsINGD0YHRgtGA0LDQvdGP0Y8g0L7RgdC90L7QstC90L7QuSDRhNCw0LrRgtC+0YAg0L7RgtGC0L7QutCwINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5LgogIAotINCi0L7QutC10L3RiyDRhdGA0LDQvdGP0YLRgdGPINCyINC30LDRiNC40YTRgNC+0LLQsNC90L3Ri9GFINC60L7QvdGC0LXQudC90LXRgNCw0YUg0Lgg0L/QvtC00LTQtdGA0LbQuNCy0LDRjtGCINC00LLRg9GF0YTQsNC60YLQvtGA0L3Rg9GOINCw0YPRgtC10L3RgtC40YTQuNC60LDRhtC40Y4sINGH0YLQviDQv9C+0LLRi9GI0LDQtdGCINCx0LXQt9C+0L/QsNGB0L3QvtGB0YLRjC4KICAKLSDQodC60L7RgNC+0YHRgtGMINCy0YXQvtC00LAg0L3QsNC/0YDRj9C80YPRjiDQstC70LjRj9C10YIg0L3QsCDQutC+0L3QstC10YDRgdC40Y46INC60LDQttC00LDRjyDRgdC10LrRg9C90LTQsCDQt9Cw0LTQtdGA0LbQutC4INC80L7QttC10YIg0YHQvdC40LfQuNGC0Ywg0LXRkSDQvdCwIDEw4oCTMTUgJS4KICAKLSDQlNC+0YHRgtGD0L8g0Log0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GM0YHQutC40Lwg0LTQsNC90L3Ri9C8ICjRgSDRgdC+0LPQu9Cw0YHQuNGPKSDQv9C+0LfQstC+0LvRj9C10YIg0L/QtdGA0YHQvtC90LDQu9C40LfQuNGA0L7QstCw0YLRjCDRgdC10YDQstC40YHRiyDQuCDQv9C+0LLRi9GI0LDRgtGMINCy0L7QstC70LXRh9GR0L3QvdC+0YHRgtGMLgogIAotINCg0LXQs9GD0LvRj9GA0L3Ri9C5INCw0YPQtNC40YIg0Lgg0L7QsdC90L7QstC70LXQvdC40LUg0YLQvtC60LXQvdC+0LIg0LPQsNGA0LDQvdGC0LjRgNGD0Y7RgiDQtNC+0LvQs9C+0YHRgNC+0YfQvdGD0Y4g0L3QsNC00ZHQttC90L7RgdGC0Ywg0Lgg0LTQvtCy0LXRgNC40LUg0LDRg9C00LjRgtC+0YDQuNC4Li8qIHBhY2thZ2Ugd2hhdGV2ZXI7IC8vIGRvbid0IHBsYWNlIHBhY2thZ2UgbmFtZSEgKi8KCmltcG9ydCBqYXZhLnV0aWwuKjsKaW1wb3J0IGphdmEubGFuZy4qOwppbXBvcnQgamF2YS5pby4qOwoKLyogTmFtZSBvZiB0aGUgY2xhc3MgaGFzIHRvIGJlICJNYWluIiBvbmx5IGlmIHRoZSBjbGFzcyBpcyBwdWJsaWMuICovCmNsYXNzIElkZW9uZQp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCgl9Cn0=
compilation info
Main.java:1: error: illegal character: '#'
# Telegram: ????? ??????? ??????? ????? ? mini??????????? ? ???????????
^
Main.java:1: error: class, interface, or enum expected
# Telegram: ????? ??????? ??????? ????? ? mini??????????? ? ???????????
^
Main.java:1: error: illegal character: '\u2011'
# Telegram: ????? ??????? ??????? ????? ? mini??????????? ? ???????????
^
Main.java:1: error: illegal character: '\u2011'
# Telegram: ????? ??????? ??????? ????? ? mini??????????? ? ???????????
^
Main.java:3: error: illegal character: '\u00ab'
??????????? ???????????? ??????? ??????????? ??????? ? ????????, ? ????? ?????? ??? ? ???????? ????? ???????? ? ?????? ?????????. ?? ?????? ?????????????? ????????? Statista, ????? 70 % ????????????? ???????? ????, ???? ??????????? ???????? ????? ???? ??????. ? ????????? Telegram Mini App ??? ???????? ???????? ????? ????????? ???????????, ????? ???? ?????????? ? ???? ????, ????????? ?????????????? ???????????. ????? ?????? ????????? ????????? ????? ????? ?? ?????? ???????????, ??? ????????? ????????????? ????????? ???????????? ????????. ??? ????? ?????????? ??????? ????????? ????? ?????????? ? ????????? [????????? 2](https://rentry.co/nmcdouyw), ??? ??????? ???????? ????? ??????????.
^
Main.java:3: error: illegal character: '\u00bb'
??????????? ???????????? ??????? ??????????? ??????? ? ????????, ? ????? ?????? ??? ? ???????? ????? ???????? ? ?????? ?????????. ?? ?????? ?????????????? ????????? Statista, ????? 70 % ????????????? ???????? ????, ???? ??????????? ???????? ????? ???? ??????. ? ????????? Telegram Mini App ??? ???????? ???????? ????? ????????? ???????????, ????? ???? ?????????? ? ???? ????, ????????? ?????????????? ???????????. ????? ?????? ????????? ????????? ????? ????? ?? ?????? ???????????, ??? ????????? ????????????? ????????? ???????????? ????????. ??? ????? ?????????? ??????? ????????? ????? ?????????? ? ????????? [????????? 2](https://rentry.co/nmcdouyw), ??? ??????? ???????? ????? ??????????.
^
Main.java:16: error: illegal character: '\u2011'
- ?????????? ??????????????? ? ??????????? ???????????
^
Main.java:18: error: illegal character: '#'
### ??????????? ?????????? ?????????? ?????
^
Main.java:18: error: illegal character: '#'
### ??????????? ?????????? ?????????? ?????
^
Main.java:18: error: illegal character: '#'
### ??????????? ?????????? ?????????? ?????
^
Main.java:20: error: illegal character: '\u00ab'
????????? ??????? ????? ? Telegram Mini App ????????? ?? ???????? OAuth 2.0, ?????????????? ??? ?????????? API ???????????. ??? ?????? ??????? ?????????? ???????? ????? ???????, ??????????? ? ??????? ?????? ????????????, ? ????????? ??? ? ????????????? ????. ??? ??????????? ???????? ????? ?????????? ? ??????? ? ???????, ??? ????????? ????????????? ????? ?????? ? ??????. ????? ????, Telegram ????????????? ???????? ?Web Apps?, ??????????? ????????? ??????????????? ? ????????? ???? ??? ???????? ? ???????, ??? ????????????? ???????? ???????.
^
Main.java:20: error: illegal character: '\u00bb'
????????? ??????? ????? ? Telegram Mini App ????????? ?? ???????? OAuth 2.0, ?????????????? ??? ?????????? API ???????????. ??? ?????? ??????? ?????????? ???????? ????? ???????, ??????????? ? ??????? ?????? ????????????, ? ????????? ??? ? ????????????? ????. ??? ??????????? ???????? ????? ?????????? ? ??????? ? ???????, ??? ????????? ????????????? ????? ?????? ? ??????. ????? ????, Telegram ????????????? ???????? ?Web Apps?, ??????????? ????????? ??????????????? ? ????????? ???? ??? ???????? ? ???????, ??? ????????????? ???????? ???????.
^
Main.java:20: error: illegal character: '\u2011'
????????? ??????? ????? ? Telegram Mini App ????????? ?? ???????? OAuth 2.0, ?????????????? ??? ?????????? API ???????????. ??? ?????? ??????? ?????????? ???????? ????? ???????, ??????????? ? ??????? ?????? ????????????, ? ????????? ??? ? ????????????? ????. ??? ??????????? ???????? ????? ?????????? ? ??????? ? ???????, ??? ????????? ????????????? ????? ?????? ? ??????. ????? ????, Telegram ????????????? ???????? ?Web Apps?, ??????????? ????????? ??????????????? ? ????????? ???? ??? ???????? ? ???????, ??? ????????????? ???????? ???????.
^
Main.java:22: error: illegal character: '\u2011'
??? ??????????? ????????????? ? ?????????? ???????????? ???????????? ?????????? JavaScript?SDK, ??????? ????????????? ?????????? ??? ??????? (?????????, ??????????, ??????????) ? ????????? ??????????? ?????? ???????? ??????. ????? ?????? ???????????, ??? ??????? ????? ????? ????????? ??????? ??? ?? iOS, ??? ? ?? Android, ? ????? ? ?????????? ??????? ???????????.
^
Main.java:22: error: illegal character: '\u2011'
??? ??????????? ????????????? ? ?????????? ???????????? ???????????? ?????????? JavaScript?SDK, ??????? ????????????? ?????????? ??? ??????? (?????????, ??????????, ??????????) ? ????????? ??????????? ?????? ???????? ??????. ????? ?????? ???????????, ??? ??????? ????? ????? ????????? ??????? ??? ?? iOS, ??? ? ?? Android, ? ????? ? ?????????? ??????? ???????????.
^
Main.java:24: error: illegal character: '#'
### ???????????? ?????? ? ??????????????????
^
Main.java:24: error: illegal character: '#'
### ???????????? ?????? ? ??????????????????
^
Main.java:24: error: illegal character: '#'
### ???????????? ?????? ? ??????????????????
^
Main.java:26: error: illegal character: '\u2011'
????? ?? ??????? ???????? ??? ?????????? ?????????? ????? ???????? ?????? ???????????????? ??????. Telegram ?????? ?????? ? ????????????? ???????????, ? ?????? ? ??? ???????? ?????? ????? ??????????? ????????????? ??????????????. ????? ????, ?????? ????? ????? ???????????? ???? ????? ? ????? ???? ??????? ? ????? ?????? ????????????? ????? ????????? ???????????. ??? ??????? ???? ????????????? ??????? ??????? ???? ? ?????? ?????? ???? ???????????????.
^
Main.java:30: error: illegal character: '#'
### ??????? ???????? ????? ?? ???????????????? ????
^
Main.java:30: error: illegal character: '#'
### ??????? ???????? ????? ?? ???????????????? ????
^
Main.java:30: error: illegal character: '#'
### ??????? ???????? ????? ?? ???????????????? ????
^
Main.java:32: error: illegal character: '\u2013'
???????????? ????????????????? ????????? ??????????, ??? ?????? ?????????????? ??????? ???????? ? ???????? ????? ????????? ????????? ?? 10?15 %. ? ?????? Telegram Mini App, ??? ??????? ???????? ?? ???????????, ???????????? ???????? ? ?????????? ??????, ? ?????????? ????????? ??????. ??? ???????? ????? ??? ????????, ?????????? ? ??????? ? ???????? ???????, ????? ??? ?????????? ???????, ??????????? ? ??????? ????????.
^
Main.java:32: error: illegal character: '\u2011'
???????????? ????????????????? ????????? ??????????, ??? ?????? ?????????????? ??????? ???????? ? ???????? ????? ????????? ????????? ?? 10?15 %. ? ?????? Telegram Mini App, ??? ??????? ???????? ?? ???????????, ???????????? ???????? ? ?????????? ??????, ? ?????????? ????????? ??????. ??? ???????? ????? ??? ????????, ?????????? ? ??????? ? ???????? ???????, ????? ??? ?????????? ???????, ??????????? ? ??????? ????????.
^
Main.java:34: error: illegal character: '\u00ab'
????????? ?????????? ? Telegram, ???????????? ???????? ?????? ? ???????? ???? ????? ??? 500 ??? ???????? ?????????????, ??? ????????? ????? ??????????? ??? ???????????. ??? ???? ??????? ????? ?? ??????? ?????????? ????? ??????, ??? ????????? ?????? ??????????????????, ????? ??????????? ? ????????????? ??????? ??? ???????? ?????? ??????.
^
Main.java:34: error: illegal character: '\u2011'
????????? ?????????? ? Telegram, ???????????? ???????? ?????? ? ???????? ???? ????? ??? 500 ??? ???????? ?????????????, ??? ????????? ????? ??????????? ??? ???????????. ??? ???? ??????? ????? ?? ??????? ?????????? ????? ??????, ??? ????????? ?????? ??????????????????, ????? ??????????? ? ????????????? ??????? ??? ???????? ?????? ??????.
^
Main.java:34: error: illegal character: '\u00bb'
????????? ?????????? ? Telegram, ???????????? ???????? ?????? ? ???????? ???? ????? ??? 500 ??? ???????? ?????????????, ??? ????????? ????? ??????????? ??? ???????????. ??? ???? ??????? ????? ?? ??????? ?????????? ????? ??????, ??? ????????? ?????? ??????????????????, ????? ??????????? ? ????????????? ??????? ??? ???????? ?????? ??????.
^
Main.java:36: error: illegal character: '#'
### ?????????? ??????????????? ? ??????????? ???????????
^
Main.java:36: error: illegal character: '#'
### ?????????? ??????????????? ? ??????????? ???????????
^
Main.java:36: error: illegal character: '#'
### ?????????? ??????????????? ? ??????????? ???????????
^
Main.java:36: error: illegal character: '\u2011'
### ?????????? ??????????????? ? ??????????? ???????????
^
Main.java:42: error: illegal character: '#'
### ??????????
^
Main.java:42: error: illegal character: '#'
### ??????????
^
Main.java:42: error: illegal character: '#'
### ??????????
^
Main.java:44: error: illegal character: '\u2011'
????????? ???? ? Telegram Mini App ???????????? ????? ??????????? ???????, ?????????? ????????, ???????????? ? ?????? ? ???????? ???????????????? ????. ?????????? ?????????? ??????????? ?????, ?????????? ?????????? ? ?????? ?????? ? ????????? ????????????? ???????????????? ?????????? ????????? ??????? ??????, ??????? ?????????? ????????? ? ???????? ?????????. ????????????: ???????????? ?????????? OAuth?????????, ????????? ????????? ?????? ? ????????? ????? ??????????, ????? ?????????? ???????????? ????????????? ? ??????? ?????????????.
^
Main.java:51: error: illegal character: '\u2013'
- ???????? ????? ???????? ?????? ?? ?????????: ?????? ??????? ???????? ????? ??????? ?? ?? 10?15 %.
^
36 errors
stdout