Тема: сервис по шифрованию. Предоставляет возможность шифровать текст шифром виженера в выбранном алфавите, а так же взламывать шифр при помощи выбранной модели. При запуске клиента можно указать адрес сервера: --host и --port. После программа переходит в режим командной строки. Доступные команды: info {alphabet\model} - запрашивает ID объекта, а после предоставляет информацию о нем (строку, добавленную при его создании). Информация о модели так же содержит ID используемого алфавита. add alphabet - запрашивает описание алфавита, а также перечисление (без повторений) всех его символов (есть возможность загрузить файлом) Возвращается ID, по которому был добавлен алфавит. add model - запрашивает описание модели, ID используемого алфавита и текст (можно загрузить файл). По тексту создается модель (символы не из алфавита игнорируются). Возвращается ID, по которому добавлена модель. encode/decode/hack - запрашивает ID алфавита, ключ (кроме hack), и текст (можно загрузить файл). Возвращает (можно вернуть файлом) зашифрованный/дешифрованный/взломанный текст. exit - завершить программу (можно также через Ctrl+C) help - получить список доступных команд.