LINUX.ORG.RU

Избранные сообщения LongLiveUbuntu

gtk2 сам себя не форкнет

Форум — Development

Что ж, этот день настал. Будем делать gtk 2.26.

Минимальный план работ такой:

  • Обеспечить масштабирование заданных в настройках тулкита размеров иконок в соответствии с DPI.
  • Обеспечить масштабирование заданных темой пиксельных размеров в соответствии с DPI.
  • Предоставить для приложения API для масштабирования размеров из условных пикселей (под 96 DPI) в реальные в соответствии с DPI.
  • Исправить мелкие косяки в теме Redmond, которые остались с тех пор, как отрисовка темы была переведена на cairo.
  • Дополнить дефолтный пакет тем стилями для gtk3, максимально приближенно имитирующими классические темы.
  • Бэкпортировать из gtk3 некоторые улучшения в диалогах открытия/сохранения файлов.

Приглашаются все желающие. Пишите ваши соображения.

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

P.S. @hobbit, верни тэг gtk2 в БД сайта!!!

 , , ,

wandrien
()

Как с помощью yt-dlp скачивать музыку с Youtube music сразу с метаданными о названии трека, альбома, имени исполнителя?

Форум — General

Можно ли это как-то сделать? можно ли как-то сделать чтобы обложка автоматически в внутри mp3 была?

 

vetyna
()

Фикс yt-dlp dzen.ru который сломался 2024-04-10

Форум — Multimedia

В инете ничего по этому поводу не нашёл, сделал фикс сам.

Сам патч https://firk.cantconnect.ru/yt-dlp/yt-dlp-fix-dzen.patch

Пропатченая версия последнего (2024.04.09) yt-dlp если кому лень: https://firk.cantconnect.ru/yt-dlp/yt-dlp-2024.04.09.patched

Как патчить вручную:

Кладём yt-dlp в текущую директорию

7z x yt-dlp # unzip ругается на шебанг, поэтому 7z
patch -p0 < yt-dlp-fix-dzen.patch
zip -r yt-dlp.patched.zip __main__.py yt_dlp
echo '#!/usr/bin/env python3' > yt-dlp.patched
cat yt-dlp.patched.zip >> yt-dlp.patched 
chmod +x yt-dlp.patched

Отправить им патч не могу - они всё принимают только через гитхаб а я там региться не собираюсь. А так может кому пригодится.

 dzen-ru, ,

firkax
()

ZFS дома на один диск для share/media

Форум — Linux-hardware

zfs на несколько физических дисков в связке или на один надежный HDD (скажем, WD-Red-Pro) + UDIMM-ECC (+M/B +CPU с поддержкой ECC) вполне самодостаточно должно быть для сохранности файлов?

Идея такая: GPT -> 1LUKS_раздел -> 1Блок_zfs

И пользуясь случаем, нет ли у кого-нибудь руководства, лога, gist, примера настройки zfs+ecc на одном устройстве?

 , , , ,

NK
()

Ревью кода или психология мидла

Форум — Development

Всем привет!

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

И любит он делать херовый код (плохой нейминг, непонятные и ненужные абстракции, каша в логике). Если пнуть, то обычно исправляет. Но я уже заманался его пинать, одни и те же ошибки в каждом МР. Уволить?! Как говорит начальство — не можем, бюджет не позволяет платить больше кому-то, а найти нового человека сейчас очень сложно.

Стараюсь дать ему возможность подумать и самому сделать так, чтобы было красиво, но получается все равно какая-то каша которую по 3-4 часа ревьювишь и пишешь куски кода для того чтобы он порефакторил правильно.

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

Что обычно делают в таких ситуациях? Писать что все фигня, давай по новой и закрывать мерж? Или есть какие-то техники? Подскажите или тыкните что почитать?

 ,

AntonyRF
()

Вышел Godot Engine 4.2

Новости — Open Source
Группа Open Source

Вышел Godot Engine 4.2 с AMD FSR 2.2 и множеством новых функций.

Godot Engine (читается «Годо», от фр. Godot) – игровой движок с открытым исходным кодом.

( читать дальше... )

Видео с иллюстрацией возможностей движка

>>> Источник

 , ,

Kapusha
()

Зря некоторые думали, будто Китай застрял на 90нм в полностью отечественном техпроцессе. Обещают 28нм.

Форум — Talks

Сабж

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

Строго говоря, откровения некоторых источников о способности китайской компании SMIC выпускать чипы, по своим свойствам мало уступающим 7-нм продукции TSMC, уже подготовили отрасль к новым прорывам в этой сфере, но публикации в китайских СМИ на этой неделе всё равно взбудоражили фондовый рынок слухами о готовности одного из китайских поставщиков оборудования начать отгрузку машин для выпуска 28-нм чипов до конца текущего года.

Как сообщает опирающийся на вторичные источники информации Bloomberg, в понедельник китайский ресурс Security Daily сообщил о готовности местной компании Shanghai Micro Electronics Equipment Group до конца года поставить клиентам первую систему для производства 28-нм продукции без использования зарубежных технологий и компонентов. При этом не уточнялось, насколько массовыми будут эти поставки и как скоро такое оборудование начнут повсеместно использовать китайские производители чипов.

В любом случае, акции китайских производителей оптики Mloptic, Kinsgsemi и Castech выросли в цене на 5–15 %, как сообщает Bloomberg. Инвесторы поверили в появление у китайской полупроводниковой отрасли новых перспектив по обеспечению собственного технологического суверенитета. Конечно, по мировым меркам 28-нм техпроцесс нельзя назвать передовым, но даже в структуре услуг тайваньской TSMC он занимает 11 % выручки, а на китайском рынке пользуется гораздо более высоким спросом. Как правило, санкции США и их внешнеполитических союзников пока не распространяются на поставки в Китай оборудования, предназначенного для выпуска именно 28-нм чипов, но нельзя исключать, что дальнейшая эскалация противостояния сделает импортозамещение актуальным и в этой сфере.

 , , ,

tiinn
()

Продам AMD Ryzen 7 2700

Форум — Talks

https://www.avito.ru/moskva/tovary_dlya_kompyutera/protsessor_amd_ryzen_7_270...

Если с лора, могу немного скинуть.

 ,

K50
()

Что происходит в тестах на разных CPU?

Форум — Linux-hardware

Наткнулся на статью про сравнение языков: https://habr.com/ru/articles/532432/ Там на разных языках проверка числа на простое.

Получаю какие-то странные результаты (моя локальная машина и два разных VPS)

testAMD Ryzen 5 PRO 4650G (bogomips 7389.19)AMD EPYC 7763 (bogomips 4890.81)Intel Xeon CPU E5-2650 v2 (bogomips 5187.65)
go run test32.go4.154385519s1.823679616s3.120310686s
go run test64.go4.148815286s2.0692464s9.031017128s
node test.js4.1382.0365.387
./test-cpp4.16982 sec2.19747 sec3.18896 sec
  1. Почему рабочая машина так здорово проигрывает явно более слабым ЦПУ на VPS’ках? Энергосбережение? Не успевает разогнаться в MHz?

  2. Почему на процессорах AMD почти не играет роли int32/int64 в Go, а на Intel заметно играет?

 ,

Toxo2
()

Вопрос к разработчикам python

Форум — Development

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

вот для примера 3 ПО

OpenSnitch (most active)
Fireprompt (empty website, binary .deb package only)
Douane (seems to be dead)

ни одну не смог запустить на ubuntu1~22.04, причина в основном что старые пакеты им надо.

 

Regacar
()

Неудачный пример локализации CDE на OpenBSD

Галерея — Скриншоты

Здравствуйте, уважаемые разработчики.
Символы кириллицы отображаются, пусть и пока вместе с японским. Символы деванагари пока - нет, как я ни пыталась их впихнуть.
Ну и только что собранный Xephem 3.7.7. Пусть и не ясно пока, зачем он мне нужен. :)

Да, и спасибо большое тем, кто давал советы.

Операционная система - OpenBSD 7.3. Среда рабочего стола: CDE.

>>> Просмотр (1600x900, 527 Kb)

 , , xephem, ,

aza_turajeva
()

Добавление поддержки кириллицы (русификация) в CDE в OpenBSD

Форум — Desktop

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

Я сумела собрать и запустить CDE (Common Deskton Environment) на OpenBSD 7.3, следуя Вашим инструкциям. Я хотела бы уточнить, как провести поддержку символов деванагари(хинди) и кириллицы, и возможно ли это вообще.

И не подскажите каким образом можно вообще русифицировать или непализировать консоль (/dev/ttyC0..ttyC6), т.е. включить поддержку символов Unicode. А то на другом окружении рабочего стола (i3) у меня есть поддержка хотя бы кириллицы, а в CDE - только японского (собирала именно версию под японский в надежде разобраться, где лежит поддержка), а в терминале - только английского. Символы кириллицы отображаются в двух последних случаях некорректно. А что делать с символами деванагари я вообще не могу елка.

Насколько я поняла, необходима именно поддержка шрифтов в CDE, и, похоже, их можно вязть от xenodm (?), вот только где их прописать и взять?

До того следовала инструкциям с сайта [opennet.ru](http://www.opennet.ru/base/rus/cyr_openbsd.txt.html) Но нигде нет инструкции для текущей версии OpenBSD.

Команда wsfontload выдает wsfontload: WSDISPLAYIO_LDFONT: Invalid argument. Я почитала форумы и попробовала отключить inteldrm, но тогда не добилась не то, что наличия кириллицы, вообще резко упало разрешение экрана и не запустился ни xenodm, ни dtlogin.

.profile file:{

# $OpenBSD: dot.profile,v 1.8 2022/08/10 07:40:37 tb Exp $
#
# sh/ksh initialization

PATH=$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin
export PATH HOME TERM

export LANG=ru_RU.UTF-8
export LC_ALL=ru_RU.UTF-8
export LC_MESSAGES=ru_RU.UTF-8

set -o vim

}

rc.conf.local{

pkg_scripts=
localhost$ cat /etc/rc.conf.local
#pkg_scripts=dtlogin cmsd
ftpd_flags=
inetd_flags=
pkg_scripts=cmsd
portmap_flags=
sndiod_flags=-s default -m play,mon -s mon

xenodm_flags=YES     ##NO for dtlogin; now I started xenodm, so.
#pkg_scripts=dtlogin ##for dtlogin
[/cut]

}

Характеристики моего компьютера и системы.
{
model:"HP Compaq 100eu",
cpuspeed:1666,
cpu: "Intel(R) Atom(TM) CPU D410 @ 1.66GHz",
ram_capacity:2048 /*Mb*/,
ram_type:"DDR2",

}

Вывод df -h{

Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/sd1a      986M   130M    806M    14%    /
/dev/sd1k     87.5G   51.9G   31.3G    63%    /home
/dev/sd1d      3.9G    6.6M    3.7G     1%    /tmp
/dev/sd1f     14.8G    1.4G   12.7G    11%    /usr
/dev/sd1g      986M    324M    613M    35%    /usr/X11R6
/dev/sd1h     19.4G    6.5G   11.9G    36%    /usr/local
/dev/sd1j      5.8G    2.0K    5.5G     1%    /usr/obj
/dev/sd1i      2.9G    339M    2.4G    13%    /usr/src
/dev/sd1e      6.6G   85.3M    6.2G     2%    /var

}

 , , , ,

aza_turajeva
()

std::string length возвращает 16777215

Форум — Development

)) как такое может быть??? с чего вдруг пустая строка может возвращать такую длину

уже все проверил, вроде ничего память не переписывает

 

wolverin
()

Rust был отфоркан

Форум — Development

Привет, ЛОР!

Язык Rust был подвергнут обфоркиванию, продукт этого действа называется CrabLang. Наблюдать можно здесь: https://crablang.org/

Cargo был также переименован в Crabgo. В остальном, крабовая тематика сохраняется.

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

 ,

hateyoufeel
()

The Register: сравнение потребления ресурсов различных DE под Ubuntu

Новости — Ubuntu Linux
Группа Ubuntu Linux

Издание The Register произвело сравнение потребление сред рабочего стола в 2022 году на примере дистрибутива Ubuntu 22.04. В забеге участвовали:

( читать дальше... )

>>> Подробности на сайте The Register

 , , ,

anonymous
()

Gentoo. Игнорируются LLVM_TARGETS

Форум — General

Время обновлять LLVM, LLVM сам себя не обновит!

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

LLVM_TARGETS="(AArch64) (AMDGPU) (ARM) (AVR) (BPF) (Hexagon) (Lanai) (MSP430) (Mips) (NVPTX) (PowerPC) (RISCV) (Sparc) (SystemZ) (VE*) (WebAssembly) (X86) (XCore) (-ARC) (-CSKY) (-M68k)

Рядовому пользователю из этого многообразия чаще всего нужны llvm_targets_X86 и llvm_targets_AMDGPU либо llvm_targets_NVPTX. А остальное никак не используется, но неплохо так увеличивает время сборки.

Флаги прописаны в package.use, и не трогались уже очень давно. Задаём вручную, непосредственно как префикс для emerge — ноль реакции.

Ага! Если оно так себя ведёт — идём грепать профили (/usr/portage/profiles) на предмет наличия llvm_targets в use.force либо в package.use.force. Где и находим следующее непотребство:

/usr/portage/profiles/base/package.use.force

# Michał Górny <mgorny@gentoo.org> (2021-11-04)
# Enable all LLVM targets unconditionally.  Unfortunately, disabling
# targets tend to break reverse dependencies (e.g. Rust) and we are yet
# to find a clean way of resolving that.  Compared to the damage
# potential, the increase of build time is a minor problem.  Users who
# really insist of building a smaller system can un-force the flags
# at their own responsibility.
>=sys-devel/clang-13.0.1_rc llvm_targets_AArch64 llvm_targets_AMDGPU
>=sys-devel/clang-13.0.1_rc llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF
>=sys-devel/clang-13.0.1_rc llvm_targets_Hexagon llvm_targets_Lanai
>=sys-devel/clang-13.0.1_rc llvm_targets_MSP430 llvm_targets_Mips
>=sys-devel/clang-13.0.1_rc llvm_targets_NVPTX llvm_targets_PowerPC
>=sys-devel/clang-13.0.1_rc llvm_targets_RISCV llvm_targets_Sparc
>=sys-devel/clang-13.0.1_rc llvm_targets_SystemZ llvm_targets_WebAssembly
>=sys-devel/clang-13.0.1_rc llvm_targets_X86 llvm_targets_XCore
>=sys-devel/clang-14 llvm_targets_VE
>=sys-devel/llvm-13.0.1_rc llvm_targets_AArch64 llvm_targets_AMDGPU
>=sys-devel/llvm-13.0.1_rc llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF
>=sys-devel/llvm-13.0.1_rc llvm_targets_Hexagon llvm_targets_Lanai
>=sys-devel/llvm-13.0.1_rc llvm_targets_MSP430 llvm_targets_Mips
>=sys-devel/llvm-13.0.1_rc llvm_targets_NVPTX llvm_targets_PowerPC
>=sys-devel/llvm-13.0.1_rc llvm_targets_RISCV llvm_targets_Sparc
>=sys-devel/llvm-13.0.1_rc llvm_targets_SystemZ llvm_targets_WebAssembly
>=sys-devel/llvm-13.0.1_rc llvm_targets_X86 llvm_targets_XCore
>=sys-devel/llvm-14 llvm_targets_VE

Очень странное решение, честно говоря, учитывая что Rust по умолчанию тянет свою собственную LLVM. Первый раз, за всё время общения с Gentoo, приходится вообще трогать package.use.force.

Отключается просто: (НА СВОЙ СТРАХ И РИСК!) прописываем в /etc/portage/profile/package.use.force всё вышеупомянутое, но флаги предваряем знаком «минус».

Наслаждаемся ощущением отстреленной ноги, несобирающегося Rust (не проверял) и сократившимся временем сборки LLVM и Clang.

 , , , ,

Quote
()

Драйвер Paragon Software на плаву: сопровождение NTFS3 возобновлено

Новости — Linux General
Группа Linux General

Константин Комаров, основатель и руководитель компании Paragon Software, предложил для включения в ядро Linux 5.19 первое корректирующее обновление драйвера ntfs3. С момента включения ntfs3 в состав ядра 5.15 в октябре прошлого года драйвер не обновлялся, а с разработчиками была потеряна связь, что привело к обсуждению необходимости перевода кода NTFS3 в категорию осиротевших («orphaned») с последующим удалением драйвера из состава ядра.

Теперь разработчики возобновили публикацию изменений и сгруппировали накопившийся набор исправлений. Предварительно патчи были добавлены и протестированы в ветке linux-next. В предложенных патчах устранены ошибки, приводящие к утечкам памяти и аварийным завершениям, решены проблемы с выполнением xfstests, проведена чистка неиспользуемого кода и исправлены опечатки. Всего предложено 11 исправлений.

>>> Подробности

 , ,

ipkirill21x
()

Курс лекций по языку Scala (видео)

Форум — Development

Минутка само-рекламы. В этом году я опять веду курс про программированию на языке Scala. Курс уже идет и на него попасть нельзя, но видео с лекций доступны всем желающим. В этот раз курс проходит онлайн, по этому звук и картинка получше чем это было на прошлых итерациях. По плану новые материалы будут выкладываться до конца мая 2022.

Посмотреть можно тут: https://www.youtube.com/playlist?list=PLr3MOSSJVvAFnT_qUrcFr1EpZqjEBKiUl

 ,

maxcom
()

Как обезопасить свой компьютер от вредоносного кода из сторонних библиотек/модулей?

Форум — Security

Привет всем!

В связи с вот этой новостью Специальный вредоносный код в npm-пакете для России и Белоруссии собственно и возник вопрос. Там я уже его задавал, но решил вынести в отдельную тему, т.к. у меня проект несколько другой, да и не node это вообще.

Проект на тему ML, в нём используется:
* Python
* PyCharm
* Docker
* OpenCV
* TF Keras
Плюс куча пакетов Python'а на все случаи жизни, которым нет числа. Точнее, там много разных requirements.txt для разных частей (отдельно для training, отдельно для inference, отдельно для утилит), там есть пересечения в используемых пакетах. Сколько уникальных пока точно не посмотрел. Ну, допустим, штук 150. Никто ведь не помешает в pypi.org положить такую же каку со следующей версией библиотеки, как по ссылке выше, ведь так?

Да, логично зафиксировать версии, ничего просто так не обновлять, а если обновлять, то очень внимательно следить, что изменилось. Но тут легко что-то пропустить. Кроме того, в начале этого месяца уже были обновления (да, надо будет вникнуть, что там).

Локально я ничего не обучаю, однако не всё так просто... Обучение происходит на Азуре следующим образом: у меня запускается Docker контейнер, в нём код для работы с Азурой плюс сам код, который там будет выполняться и обучать модель, плюс все вспомогательные файлы. Всё это запаковывается, отправляется на Азуру, а там становится средой выполнения. Контейнер настроен так, что у него есть доступ наружу, в директорию с проектом. Это так by design, было до меня и просто так переделать это невозможно. Кроме собственно обучения я иногда просто тестирую код каких-то утилит локально, т.к. это многократно быстрее, чем запуск на Азуре ради того, чтобы понять, что оно падает или преобразует входные данные не так, как планировалось. Проекту нужно иметь доступ к камере, а мне нужно в реальном времени и с минимальной задержкой видеть окна с обработанными кадрами.

Всё осложняется тем, что весь проект очень большой 62,4 GiB, 1 772 813 files, 102 363 sub-folders. И это не считая того самого контейнера. Там ещё гигов 15. Да, естественно, не всё это гоняется на Азуру при каждом запуске, только разница (упрощённо говоря).

Как всё это огородить от основной системы и от бекапов (лежат на отдельном винте, делаются каждый вечер самой системой, где запускается рабочая среда)?

Мыслей у меня две:
* Виртуалка, в ней лёгкая система
* Контейнер LXC

В обоих случаях хорошо бы «прокидывать» (X11 сетевая прозрачность, настало твоё время!) окна графических приложений наружу, чтобы не запускать целый DE внутри. Надо чтобы это работало быстро, т.к. видео. И надо какую-то панель изнутри, чтобы запускать программы внутри изолированной среды.

Если LXC:
+ Благодаря единому ядру потребление памяти будет ниже, будет более гибким
+ Аналогично для места на накопителе, т.к. не надо будет выделять какой-то файл образа
+ Работа с файлами будет быстрее, т.к. не будет конструкции «файловая система в файле на файловой системе». Это важно, т.к. много мелких.
+ Проще «прокинуть» web-камеру. Т.е. для этого и делать ничего не надо.
+ Просто организовать прямой доступ к GPU
- Ниже безопасность, т.к. можно эксплуатировать уязвимости ядра
? Как из LXC будет запускаться Docker? Пробовал кто? механизмы у него и у LXC ведь один и те же.

Если виртуалка, я думаю надо что-то максимально лёгкое, вроде QEMU+KVM, с минимальной системой внутри. В этом случае:
+ Выше безопасность, т.к. ядро отдельное
- Больше места занимает
- Управление занимаемым местом не такое гибкое. Да, про динамический образ я в курсе.
- Ниже производительность при работе с файлами, особенно с мелкими
- Надо прокидывать устройства, что тоже снизит производительность
- Ниже производительность из-за эмуляции железа
- Проблемы с быстрым выводом графики
- Потребление памяти не гибкое. Можно использовать ballooning, но не знаю, насколько эффективно оно работает. Да и при старте виртуалка будет потреблять всё равно весь объём.
? Пробовал ли кто прокидывать внутрь виртуалок файловую систему c помощью Virtiofs или чего-то подобного? Смысл в том, чтобы файлы проекта остались доступными и снаружи, так их проще бекапить и не будет накладных расходов на две файловые системы.

Я пока склоняюсь к первому вариантус LXC. Я не думаю, что с пакетами может придти уж очень серьёзная малварь, которая будет эксплуатировать дырки в ядре. Вопрос в основном только в Docker'е, как он будет запускаться.

Какие у кого мысли? Да, я тут не рассматриваю безопасность самой host системы, так то ведь может и с обновлениями ОС что-то попасть, кака какая-то.

P.S.: i7-4770 (да, старичок, но сейчас чего купишь?), 32 GiB, Ubuntu 21.10

 , , , ,

ls-h
()

GNOME Commander 1.14

Новости — GNOME
Группа GNOME

GNOME Commander – двухпанельный файловый менеджер для среды GNOME. В этой версии:

  • Выполнен переход с GnomeVFS на GIO. GnomeVFS – набор функций, реализующих абстрактный слой для работы с файловыми системами. Считается устаревшим с версии Gnome 2.22.
  • Добавлена возможность выбора действия по умолчанию, которое будет выполняться при перетаскивании файлов мышью.
  • Реализована возможность удаления файлов в корзину.
  • Удалён диалог поиска файлов, вместо него предлагается использовать внешние утилиты.
  • В индикаторе пути к текущему каталогу добавлено название сервера.
  • Добавлен пункт меню для выбора всех файлов, без выбора директорий.
  • Исправлены различные ошибки.

>>> Подробности

 ,

Original
()