From 981745fd1f5a5c6942764c3b66f1e6c697167f9c Mon Sep 17 00:00:00 2001 From: vvssttkk Date: Tue, 17 Oct 2023 00:31:32 +0000 Subject: [PATCH] deploy: e05e188dbdf2dab768c3581364e5f279d0be0957 --- 404.html | 2 +- authors/index.html | 2 +- base/conditional_comparison/index.html | 2 +- base/dictionary/index.html | 2 +- base/final/index.html | 2 +- base/functions/index.html | 2 +- base/index.html | 2 +- base/jupyter/index.html | 2 +- base/list_loop/index.html | 2 +- base/object_class_method/index.html | 2 +- base/syntactic_sugar/index.html | 2 +- base/tools_install/index.html | 2 +- base/variable_types_output/index.html | 2 +- community/index.html | 2 +- index.html | 2 +- sitemap.xml | 28 ++++++++++++------------- sitemap.xml.gz | Bin 354 -> 354 bytes 17 files changed, 29 insertions(+), 29 deletions(-) diff --git a/404.html b/404.html index 5b3f701f..207f5fd3 100644 --- a/404.html +++ b/404.html @@ -1 +1 @@ - python от ods.ai

404 - Not found

\ No newline at end of file + python от ods.ai

404 - Not found

\ No newline at end of file diff --git a/authors/index.html b/authors/index.html index 6cf470a3..f0f803b3 100644 --- a/authors/index.html +++ b/authors/index.html @@ -9,4 +9,4 @@ body[data-md-color-scheme="slate"] .gdesc-inner { background: var(--md-default-bg-color);} body[data-md-color-scheme="slate"] .gslide-title { color: var(--md-default-fg-color);} body[data-md-color-scheme="slate"] .gslide-desc { color: var(--md-default-fg-color);} -
Перейти к содержанию
\ No newline at end of file +
Перейти к содержанию
\ No newline at end of file diff --git a/base/conditional_comparison/index.html b/base/conditional_comparison/index.html index 063bc2fe..7bcd4b42 100644 --- a/base/conditional_comparison/index.html +++ b/base/conditional_comparison/index.html @@ -365,4 +365,4 @@ 2
x = ("0.0.0.0", "8000", "ftp")
 print(host, port, mode)
 
0.0.0.0 8000 ftp
-

Как можно видеть, здесь явно проверяется тип входного значения с помощью функции isinstance() и структура с помощью функции len().

Что узнали из лекции

\ No newline at end of file +

Как можно видеть, здесь явно проверяется тип входного значения с помощью функции isinstance() и структура с помощью функции len().

Что узнали из лекции

\ No newline at end of file diff --git a/base/dictionary/index.html b/base/dictionary/index.html index 1e64e96f..4bc1b7e9 100644 --- a/base/dictionary/index.html +++ b/base/dictionary/index.html @@ -374,4 +374,4 @@ print(f"Ключи: {keys}\nЗначения: {values}")
Ключи: dict_keys([0, 1, 2, 3, 4])
 Значения: dict_values(['Пн', 'Вт', 'Ср', 'Чт', 'Пт'])
-

  • требование к ключу: возможность хеширования, свойство ключа внутри словаря: уникальность;

  • разобрали, что есть изменяемые (dict, set, list) и неизменяемые (int, float, bool, tuple, str) стандартные типы данных.
  • \ No newline at end of file +

  • требование к ключу: возможность хеширования, свойство ключа внутри словаря: уникальность;

  • разобрали, что есть изменяемые (dict, set, list) и неизменяемые (int, float, bool, tuple, str) стандартные типы данных.
  • \ No newline at end of file diff --git a/base/final/index.html b/base/final/index.html index 8222322f..efce98fa 100644 --- a/base/final/index.html +++ b/base/final/index.html @@ -71,4 +71,4 @@ ...........................,,,,,,,,:::;+*?%SS%SSSS%%%%?*++;;:::,,,,........ ................................,,,,,,,,,,:::;;;;;:::,,,,,,,,,,,........... ........................................................................... -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/base/functions/index.html b/base/functions/index.html index d2ac06b3..9511b896 100644 --- a/base/functions/index.html +++ b/base/functions/index.html @@ -640,4 +640,4 @@

    Главное преимущество генераторов в том, что не тратятся вычислительные ресурсы на хранение ни промежуточного ни итогового результата. По этой причине генераторы удобно использовать при обработке больших последовательностей данных.

    Что узнали из лекции

    \ No newline at end of file +
  • отличия позиционных параметров от именованных:

  • синтаксис со звездочками для получения заранее неизвестного числа позиционных (*some_list) и именованных (**some_dict) аргументов
  • что может возвращать функция при помощи return
  • чистые функции детерминированы и лишены побочных эффектов
  • чистые функции проще понять и отлаживать, поэтому они предпочтительнее
  • замыкания и каррирование позволяют создавать функции динамически, для каррирования можно использовать partial
  • что такое декораторы и как они работают, щепотку синтаксического сахара с @
  • что такое генераторы и как они работают с использованием оператора yield
  • \ No newline at end of file diff --git a/base/index.html b/base/index.html index b41c4796..e5bd5509 100644 --- a/base/index.html +++ b/base/index.html @@ -9,4 +9,4 @@ body[data-md-color-scheme="slate"] .gdesc-inner { background: var(--md-default-bg-color);} body[data-md-color-scheme="slate"] .gslide-title { color: var(--md-default-fg-color);} body[data-md-color-scheme="slate"] .gslide-desc { color: var(--md-default-fg-color);} -
    Перейти к содержанию

    введение

    этот раздел затрагивает базовые вещи о python 3.10+ как таковом

    • описание процесса установки среды разработки
    • описание синтаксиса языка программирования Python
    • разбор типовых синтаксических конструкций при программировании на Python
    • примеры анализа возникающих ошибок, помогающие в дальнейшем прохождении курса
    \ No newline at end of file +
    Перейти к содержанию

    введение

    этот раздел затрагивает базовые вещи о python 3.10+ как таковом

    • описание процесса установки среды разработки
    • описание синтаксиса языка программирования Python
    • разбор типовых синтаксических конструкций при программировании на Python
    • примеры анализа возникающих ошибок, помогающие в дальнейшем прохождении курса
    \ No newline at end of file diff --git a/base/jupyter/index.html b/base/jupyter/index.html index 112d64b7..18a8991c 100644 --- a/base/jupyter/index.html +++ b/base/jupyter/index.html @@ -51,4 +51,4 @@ 5 # Fixing random state for reproducibility ModuleNotFoundError: No module named 'mat' -

    Ошибка. По сообщению видно (стрелочка в левой части указывает на проблемное место), что во второй строчке используется слово mat, при этом Python жалуется на отсутствие такого модуля. Всё дело в том, что в коде выше производится попытка рисования графика и для этого используется библиотека matplotlib. Но в одной из строк написано только mat. Это не дело, давайте исправлять. Однако всех библиотек не запомнишь – и это не нужно. Попробуйте поставить курсор после буквы t (и перед точкой) и нажать Tab; должны увидеть список подсказок и из него выбрать нужный вариант. Этот список не только сокращает время написания кода (за счет автоматического дополнения), но и позволяет избежать ошибок в написании. Обязательно пользуйтесь этим инструментом.

    Если все сделали правильно, воспользовавшись подсказкой, то после очередного запуска (Run) кода появится рисунок.

    Другой пример удачного использования: есть несколько переменных со сложным, но очень похожим названием. Не стоит их перепечатывать – достаточно нажать ++tab++

    Что ж, большое количество новой информации позади, давайте подведем итоги!

    Что узнали из лекции

    Бонус-материал

    \ No newline at end of file +

    Ошибка. По сообщению видно (стрелочка в левой части указывает на проблемное место), что во второй строчке используется слово mat, при этом Python жалуется на отсутствие такого модуля. Всё дело в том, что в коде выше производится попытка рисования графика и для этого используется библиотека matplotlib. Но в одной из строк написано только mat. Это не дело, давайте исправлять. Однако всех библиотек не запомнишь – и это не нужно. Попробуйте поставить курсор после буквы t (и перед точкой) и нажать Tab; должны увидеть список подсказок и из него выбрать нужный вариант. Этот список не только сокращает время написания кода (за счет автоматического дополнения), но и позволяет избежать ошибок в написании. Обязательно пользуйтесь этим инструментом.

    Если все сделали правильно, воспользовавшись подсказкой, то после очередного запуска (Run) кода появится рисунок.

    Другой пример удачного использования: есть несколько переменных со сложным, но очень похожим названием. Не стоит их перепечатывать – достаточно нажать ++tab++

    Что ж, большое количество новой информации позади, давайте подведем итоги!

    Что узнали из лекции

    Бонус-материал

    \ No newline at end of file diff --git a/base/list_loop/index.html b/base/list_loop/index.html index 1a5ed58d..7acf523c 100644 --- a/base/list_loop/index.html +++ b/base/list_loop/index.html @@ -306,4 +306,4 @@ out_list = [str(item) for item in inp_list] print(out_list)
    ['1', '4', '6', '8']
    -

    Две части кода идентичны за вычетом того, что нижняя – с непонятной конструкцией в скобках – короче. Python позволяет в рамках одной строки произвести какие-либо простые преобразования (помним, что str() – это вызов функции!). Фактически самый частый пример использования – это паттерн «применение функции к каждому объекту списка».

    Что узнали из лекции

    \ No newline at end of file +

    Две части кода идентичны за вычетом того, что нижняя – с непонятной конструкцией в скобках – короче. Python позволяет в рамках одной строки произвести какие-либо простые преобразования (помним, что str() – это вызов функции!). Фактически самый частый пример использования – это паттерн «применение функции к каждому объекту списка».

    Что узнали из лекции

    \ No newline at end of file diff --git a/base/object_class_method/index.html b/base/object_class_method/index.html index 9c6d1c84..502e84e2 100644 --- a/base/object_class_method/index.html +++ b/base/object_class_method/index.html @@ -255,4 +255,4 @@
    Состояние системы на итерации 1: [9.64, 28.92, 40.00600000000001, 0.0]. Всего объектов: 5   Суммарная энергия объектов: 10
     Состояние системы на итерации 2: [-340.36, -321.08, -309.994, -350.0].  Всего объектов: 4   Суммарная энергия объектов: -72.56
     Состояние системы на итерации 3: [-340.36, -321.08, -309.994, -350.0].  Всего объектов: 3   Суммарная энергия объектов: -114.84
    -

    Обратите внимание на то, что функция one_system_cycle не возвращает system - ведь прямо во время итераций меняем ее состояние, и в последующие моменты времени эти изменения сохраняются, то есть состояние остается. Таким образом, эту систему (среду) - а именно объект, экземпляр класса System - как параметр можно передавать в десятки функций, и каждая из них будет видеть актуальное состояние.

    Что узнали из лекции

    Это далеко не все, что можно написать по теме классов и объектов, однако это тот необходимый минимум, что потребуется для ознакомления. Больше примеров и деталей можно найти, например, по ссылкам:

    \ No newline at end of file +

    Обратите внимание на то, что функция one_system_cycle не возвращает system - ведь прямо во время итераций меняем ее состояние, и в последующие моменты времени эти изменения сохраняются, то есть состояние остается. Таким образом, эту систему (среду) - а именно объект, экземпляр класса System - как параметр можно передавать в десятки функций, и каждая из них будет видеть актуальное состояние.

    Что узнали из лекции

    Это далеко не все, что можно написать по теме классов и объектов, однако это тот необходимый минимум, что потребуется для ознакомления. Больше примеров и деталей можно найти, например, по ссылкам:

    \ No newline at end of file diff --git a/base/syntactic_sugar/index.html b/base/syntactic_sugar/index.html index 12fbba9c..61ae1a01 100644 --- a/base/syntactic_sugar/index.html +++ b/base/syntactic_sugar/index.html @@ -341,4 +341,4 @@ print(f"{n:08}")
    00000321
    -

    Заключение

    Как видно, синтаксический сахар облегчает жизнь программистам, и часто они даже не замечают или даже не знают, что используем его, но в любом случае всегда полезно знать, как он работает в деталях, потому что рано или поздно придётся глубже понять как работает та или иная вещь, чтобы успешно решать сложные задачи.

    \ No newline at end of file +

    Заключение

    Как видно, синтаксический сахар облегчает жизнь программистам, и часто они даже не замечают или даже не знают, что используем его, но в любом случае всегда полезно знать, как он работает в деталях, потому что рано или поздно придётся глубже понять как работает та или иная вещь, чтобы успешно решать сложные задачи.

    \ No newline at end of file diff --git a/base/tools_install/index.html b/base/tools_install/index.html index fa40aa7a..fc8f883f 100644 --- a/base/tools_install/index.html +++ b/base/tools_install/index.html @@ -66,4 +66,4 @@

    Инструкция для Windows

    Официальная сборка

    Официальная сборка доступна на сайте git – отдельный проект, называемый git для Windows. Для дополнительной информации перейдите на gitforwindows.org

    chocolatey

    Для автоматической установки можете использовать пакет git chocolatey (учтите, он поддерживается сообществом).

    Проверка установки

    Выполните

    git --version
     

    К примеру, если получите что-то вида git version 2.36.2 -- всё прошло успешно.

    Копирование репозитория курса

    Для примера, дабы скопировать репозиторий этой книги, нужно зайти на его страницу в GitHub (имеются и другие подобные системы) курса.

    Перейти в репозиторий курса

    Затем найдите кнопку с текстом < > Code и кликните по ней. В открывшемся окне убедитесь, что выбрана вкладка HTTPS, а не SSH или GitHub CLI. Скопируйте предложенную ссылку (это такое же, если скопировать ссылку вкладки браузера). После зайдите в терминал в нужную директорию и выполните

    git clone https://github.com/open-data-science/pycourse.git
     

    После чего появится директория pycourse/. Это можно увидеть через команду ls (только для Linux и macOS).

    Для того, чтобы зайти в директорию, потребуется выполнить команду (change directory, сменить директорию)

    cd pycourse/
    -

    1. «Виртуальные окружения. Подробная инструкция на Python.», серия «Python.Уроки» от UPROGER. https://uproger.com/virtualnye-okruzheniya-podrobnaya-instrukcziya-na-python/ 

    \ No newline at end of file +

    1. «Виртуальные окружения. Подробная инструкция на Python.», серия «Python.Уроки» от UPROGER. https://uproger.com/virtualnye-okruzheniya-podrobnaya-instrukcziya-na-python/ 

    \ No newline at end of file diff --git a/base/variable_types_output/index.html b/base/variable_types_output/index.html index e9dacbcd..f8a2a0c1 100644 --- a/base/variable_types_output/index.html +++ b/base/variable_types_output/index.html @@ -253,4 +253,4 @@ print(out_string)
    В точке с координатами X=12.1, Y=0, Z=13 значение функции равно 0.0. Состояние системы указано на момент времени t=30.113412
    -

    Что узнали из лекции

    \ No newline at end of file +

    Что узнали из лекции

    \ No newline at end of file diff --git a/community/index.html b/community/index.html index 1c111ce0..a1fa539b 100644 --- a/community/index.html +++ b/community/index.html @@ -9,4 +9,4 @@ body[data-md-color-scheme="slate"] .gdesc-inner { background: var(--md-default-bg-color);} body[data-md-color-scheme="slate"] .gslide-title { color: var(--md-default-fg-color);} body[data-md-color-scheme="slate"] .gslide-desc { color: var(--md-default-fg-color);} -
    Перейти к содержанию

    сообщество

    \ No newline at end of file +
    Перейти к содержанию

    сообщество

    \ No newline at end of file diff --git a/index.html b/index.html index 8ffd2271..62daf44a 100644 --- a/index.html +++ b/index.html @@ -43,4 +43,4 @@ return 1 if (n==1 or n==0) else n * factorial(n - 1) print(factorial(5)) -

    Как Python используется в Data Science и машинном обучении?

    Когда дело доходит до выбора языка программирования в Data Science, он всегда определяется типом проекта, над которым была проделана работа.

    В настоящее время Python чаще всего используется в индустрии при разработке, тестировании и реализации проектов и процессов автоматизированного машинного обучения.

    Исследователь данных или инженер по машинному обучению будет использовать Python при выполнении проектов искусственного интеллекта и машинного обучения, включающих анализ настроений, обработку естественного языка или предиктивную аналитику, чтобы получать информацию о полезных тенденциях и закономерностях из структурированных и неструктурированных наборов данных.

    Это стало возможным благодаря развивающимся и бесплатным для всех пакетам библиотек Python, предназначенным для упрощения разработки, тестирования и выполнения проектов машинного обучения для специалистов по данным.

    Конкретные примеры ниже иллюстрируют, как некоторые из этих библиотек Python используются в индустрии для ключевых задач в операциях, связанных с Data Science, для каждого бизнеса, включая обработку данных, анализ, манипулирование, автоматизацию и машинное обучение:

    Применение Python в ведущих компаниях, ориентированных на данные, и будущее Python в Data Science

    Индустрия данных стала доверять Python как многоцелевому языку программирования.

    Уверенность и рост среди пользователей Python развивались по мере того, как Python доказывал свою способность адаптироваться к ежедневным требованиям компаний к данным, ориентированных на пользователей. Python позволил этим компаниям быстро и эффективно выполнять необходимые задачи по анализу данных, визуализации, автоматизации и машинному обучению.

    Python используют практически все крупные компании, о которых слышим каждый день: Сбер, Авито, Лента, VK, МТС, МегаФон, Miro, Лаборатория Касперского, ЦФТ, ВТБ.. список можно продолжать почти что бесконечно.

    Вот лишь некоторые из способов, которыми ведущие компании планеты, работающие с данными, используют Python:

    Личное мнение

    Ожидается, что в будущем Python и Data Science сохранят прочное партнерство благодаря приверженности Python разработке и регулярному выпуску обновлений, отвечающих требованиям индустрии данных и новых технологий. Если среда программирования Python продолжит расширять свои возможности и универсальность, она по-прежнему будет предпочтительным языком для компаний, проектов и специалистов по работе с данными.

    Изучите Python, чтобы подготовиться к успешной карьере в Data Science!

    Если есть заинтересованность в карьере связанной с индустрией данных, можно подготовиться к успеху, пройдя этот настоящий курс о языке программирования Python.

    Изучение использования Python для Data Science даст конкурентное преимущество при поиске первой работы или при смене карьеры связанной с индустрией данных.

    Совет

    Рекомендуется в процессе изучения заглядывать в официальную документацию и в частности The Python Tutorial.

    Интересные факты про Python

    \ No newline at end of file +

    Как Python используется в Data Science и машинном обучении?

    Когда дело доходит до выбора языка программирования в Data Science, он всегда определяется типом проекта, над которым была проделана работа.

    В настоящее время Python чаще всего используется в индустрии при разработке, тестировании и реализации проектов и процессов автоматизированного машинного обучения.

    Исследователь данных или инженер по машинному обучению будет использовать Python при выполнении проектов искусственного интеллекта и машинного обучения, включающих анализ настроений, обработку естественного языка или предиктивную аналитику, чтобы получать информацию о полезных тенденциях и закономерностях из структурированных и неструктурированных наборов данных.

    Это стало возможным благодаря развивающимся и бесплатным для всех пакетам библиотек Python, предназначенным для упрощения разработки, тестирования и выполнения проектов машинного обучения для специалистов по данным.

    Конкретные примеры ниже иллюстрируют, как некоторые из этих библиотек Python используются в индустрии для ключевых задач в операциях, связанных с Data Science, для каждого бизнеса, включая обработку данных, анализ, манипулирование, автоматизацию и машинное обучение:

    Применение Python в ведущих компаниях, ориентированных на данные, и будущее Python в Data Science

    Индустрия данных стала доверять Python как многоцелевому языку программирования.

    Уверенность и рост среди пользователей Python развивались по мере того, как Python доказывал свою способность адаптироваться к ежедневным требованиям компаний к данным, ориентированных на пользователей. Python позволил этим компаниям быстро и эффективно выполнять необходимые задачи по анализу данных, визуализации, автоматизации и машинному обучению.

    Python используют практически все крупные компании, о которых слышим каждый день: Сбер, Авито, Лента, VK, МТС, МегаФон, Miro, Лаборатория Касперского, ЦФТ, ВТБ.. список можно продолжать почти что бесконечно.

    Вот лишь некоторые из способов, которыми ведущие компании планеты, работающие с данными, используют Python:

    Личное мнение

    Ожидается, что в будущем Python и Data Science сохранят прочное партнерство благодаря приверженности Python разработке и регулярному выпуску обновлений, отвечающих требованиям индустрии данных и новых технологий. Если среда программирования Python продолжит расширять свои возможности и универсальность, она по-прежнему будет предпочтительным языком для компаний, проектов и специалистов по работе с данными.

    Изучите Python, чтобы подготовиться к успешной карьере в Data Science!

    Если есть заинтересованность в карьере связанной с индустрией данных, можно подготовиться к успеху, пройдя этот настоящий курс о языке программирования Python.

    Изучение использования Python для Data Science даст конкурентное преимущество при поиске первой работы или при смене карьеры связанной с индустрией данных.

    Совет

    Рекомендуется в процессе изучения заглядывать в официальную документацию и в частности The Python Tutorial.

    Интересные факты про Python

    \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index 0a050c84..debe9da2 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -2,72 +2,72 @@ https://open-data-science.github.io/pycourse/ - 2023-10-16 + 2023-10-17 daily https://open-data-science.github.io/pycourse/authors/ - 2023-10-16 + 2023-10-17 daily https://open-data-science.github.io/pycourse/community/ - 2023-10-16 + 2023-10-17 daily https://open-data-science.github.io/pycourse/base/ - 2023-10-16 + 2023-10-17 daily https://open-data-science.github.io/pycourse/base/conditional_comparison/ - 2023-10-16 + 2023-10-17 daily https://open-data-science.github.io/pycourse/base/dictionary/ - 2023-10-16 + 2023-10-17 daily https://open-data-science.github.io/pycourse/base/final/ - 2023-10-16 + 2023-10-17 daily https://open-data-science.github.io/pycourse/base/functions/ - 2023-10-16 + 2023-10-17 daily https://open-data-science.github.io/pycourse/base/jupyter/ - 2023-10-16 + 2023-10-17 daily https://open-data-science.github.io/pycourse/base/list_loop/ - 2023-10-16 + 2023-10-17 daily https://open-data-science.github.io/pycourse/base/object_class_method/ - 2023-10-16 + 2023-10-17 daily https://open-data-science.github.io/pycourse/base/syntactic_sugar/ - 2023-10-16 + 2023-10-17 daily https://open-data-science.github.io/pycourse/base/tools_install/ - 2023-10-16 + 2023-10-17 daily https://open-data-science.github.io/pycourse/base/variable_types_output/ - 2023-10-16 + 2023-10-17 daily \ No newline at end of file diff --git a/sitemap.xml.gz b/sitemap.xml.gz index 40f77ad3da99246c95536c39cc39c8e9db5ad56c..14ec6af458a6011d8cf5a3f7069628e0ae98d2fb 100644 GIT binary patch literal 354 zcmV-o0iFIIiwFqe)h%TL|8r?{Wo=<_E_iKh0M(YwZo?o9fbV^ZDEEZ4JM2ekdfO9h zXG921s0e1*w9DJiO{=N*X$O1(EMq=f2GbtCXIGp}L<@djZtJEjjMp$&Kkm!VkN4`O zJan5jMTdq8HuktLC!+8s#N~3S(UO@}z#8HxP*1!-aaW3_el5FA!E$wQo2}A1(B0Jw zvKt7-SA!x|p|*UusYgpw>T3%kEE-ZoBU*9Y^5{V!%`kMkX7^NWn`-;aCU@O~nVys% z%`uvpD9(M2_j}ft6`p#x3px!+pBB}VMW#82TOdhl#`t6prS?a zIYls7z4FJbO5|uc<5>YGzvdZpf+-X$rjHD$Pl#nPS`u_mdfxn5}4-IN~+g1ty09UT4 A6#xJL literal 354 zcmV-o0iFIIiwFouB`swF|8r?{Wo=<_E_iKh0M(YkZo?o9K=1vEDEEZ4lcsG-)7!pa zJ0n79LPapcrd|GiZdy&fPdnfXU>Wml8BBZlo?US^5iR(AxviVBFkZu8{kShbKi;dC z^3ZMC6df8W*x2K~oQT4k5SPoPMoVT^0c(h(Kt1sS#a$_y`nBvf1>h1&ArrXDR#sjn@FuxLmTjcCPn%cBQ{G{eyCn%z^iZK~}vo7{B|W_nV7 zG{@1RW03j!6=ubwI)J%hNHr!x_obYk+ zq`11Z#5Ag`%7p+NO6!r7%j!KjbEi?gGm@5IP(q@R=>G#)2mU5@Kdtf)^i~Q00O853 A!T