Как создать кьюар-код

📲 Система контроля граждан в Китае

QR-code (quick response code) в дословном переводе означает «код для быстрого ответа». Это двухмерный код, состоящий из чередования закрашенных элементов и пустот. Каждый элемент, включая белую рамку, содержит зашифрованную информацию. Ближайший родственник QR-code – штрихкод.

Технологию QR-кодирования первоначально внедрили японцы 25 лет назад. Именно в азиатских странах она приобрела наибольшую популярность: QR-коды нашли применение в медицине, на производстве, в маркетинге.

В Китае QR-коды стали ключевым способом совершения онлайн-платежей после роста популярности приложения WeChat. С помощью приложения китайцы сегодня покупают билеты в кино, оплачивают проезд, арендуют велосипеды или покупают овощи на рынке.

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

Как вы думаете, поможет ли QR-код для идентификации снизить распространение коронавирусной инфекции?

ПоможетНе поможетСложно сказать

Как это работает в борьбе с коронавирусом

Китайцы решили использовать популярные у населения QR-коды и для борьбы с распространением коронавирусной инфекции. Этот массовый эксперимент стартовал 2 марта 2020 года.

Суть программы состоит в следующем: каждому гражданину присваивается свой код определенного цвета. Цвет кода позволяет узнать, должен ли конкретный гражданин находиться на карантине, можно ли пускать его на работу, в метро, торговые центры и общественные места.

Граждане Китая получают коды через популярные приложения Ant Financial для кошельков Alipay или через WeChat. После прохождения регистрации и анкетирования с вопросами о состоянии здоровья и о последних поездках лицо получает QR-код – желтый, красный или зеленый:

  1. Зеленый указывает на то, что предъявитель кода здоров и может свободно перемещаться по стране.
  2. Желтый – имел контакт с зараженным (должен соблюдать карантин на 7 дней).
  3. Красный – болеет коронавирусом или имеет высокий риск течения заболевания в бессимптомной форме и опасен для окружающих (обязан придерживаться двухнедельного карантина).

Коды обновляются ежедневно в полночь.

Для недопущения злоупотреблениями пользователи должны пройти систему распознавания лиц.

В Alipay подчеркнули, что используют большие объемы данных для получения сведений о наличии рисков заражения и правительственные сведения. Но о том, как именно работает система идентификации, не уточняется.

Несмотря на то что Китаю удалось преодолеть риск распространения коронавирусной инфекции еще в середине марта, коды по-прежнему управляют передвижениями китайцев. Первоначально «коды здоровья» охватили три провинции с высоким уровнем заболеваемости – Чжэцзян, Сычуань и Хайнань, но сегодня действуют практически по всей стране, включая крупные города – Пекин, Шанхай, Гуанчжоу.

Аналогичные решения по контролю за заболевшими внедрены в Южной Корее и Японии.

Помогает ли система решить проблемы

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

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

Среди минусов программы по распознаванию статуса здоровья человека через код можно выделить:

  1. Возможные сбои в базе данных. Многие люди не понимали, почему им следует изолировать себя: получение желтого или красного кодов в отдельных случаях было крайне неожиданным.
  2. Проблемы с безопасностью кода. Заметить подмену кода невооруженным глазом сложно. В Китае до 25% всех вирусов и троянов попадает в смартфон именно через коды, а также распространены кражи с банковских карт через код.
  3. Возможность установления тотального контроля за перемещениями граждан со стороны государства.

Добавление служебной информации

После определения версии кода и кодировки необходимо определиться с уровнем коррекции ошибок. В таблице представлены максимальные значения уровней коррекции для различных версий QR-кода. Для исправления ошибок применяется код Рида-Соломона с 8-битным кодовым словом.

Таблица. Максимальное количество информации.Строка — уровень коррекции, столбец — номер версии.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
L 152 272 440 640 864 1088 1248 1552 1856 2192 2592 2960 3424 3688 4184 4712 5176 5768 6360 6888
M 128 224 352 512 688 864 992 1232 1456 1728 2032 2320 2672 2920 3320 3624 4056 4504 5016 5352
Q 104 176 272 384 496 608 704 880 1056 1232 1440 1648 1952 2088 2360 2600 2936 3176 3560 3880
H 72 128 208 288 368 480 528 688 800 976 1120 1264 1440 1576 1784 2024 2264 2504 2728 3080
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
L 7456 8048 8752 9392 10208 10960 11744 12248 13048 13880 14744 15640 16568 17528 18448 19472 20528 21616 22496 23648
M 5712 6256 6880 7312 8000 8496 9024 9544 10136 10984 11640 12328 13048 13800 14496 15312 15936 16816 17728 18672
Q 4096 4544 4912 5312 5744 6032 6464 6968 7288 7880 8264 8920 9368 9848 10288 10832 11408 12016 12656 13328
H 3248 3536 3712 4112 4304 4768 5024 5288 5608 5960 6344 6760 7208 7688 7888 8432 8768 9136 9776 10208

После определения уровня коррекции ошибок необходимо добавить служебные поля, они записываются перед последовательностью бит, полученной после этапа кодирования. В них указывается способ кодирования и количество данных. Значение поля способа кодирования состоит из 4 бит, оно не изменяется, а служит знаком, который показывает, какой способ кодирования используется. Оно имеет следующие значения:

  • 0001 для цифрового кодирования,
  • 0010 для буквенно-цифрового и
  • 0100 для побайтового

Пример:

Ранее в примере байтового кодирования кодировалось слово «Мир», при этом получилась следующая последовательность двоичного кода:

11010000 10011100 11010000 10111000 11010001 10000000, содержащая 48 бит информации.

Пусть необходим уровень коррекции ошибок Н, позволяющий восстанавливать 30 % утраченной информации. По таблице максимальное количество информации выбирается наиболее оптимальная версия QR-кода (в данном случае 1 версия, которая позволяет закодировать 72 символа полезной информации при уровне коррекции ошибок Н).

Информация о способе кодирования: побайтовому кодированию соответствует поле 0100.

Указание количества данных (для цифрового и буквенно-цифрового кодирования — количество символов, для побайтового — количество байт): данная последовательность содержит 6 байт данных (в двоичной системе счисления: 110).

По таблице определяется необходимая длина двоичного числа — 8 бит. Дописываются недостающие нули: 00000110.

Версия 1-9 Версия 10-26 Версия 27-40
Цифровое 10 бит 12 бит 14 бит
Буквенно-цифровое 9 бит 11 бит 13 бит
Побайтовое 8 бит 16 бит 16 бит

Вся информация записывается в порядке <способ кодирования> <количество данных> <данные>, получается последовательность бит:

0100 00000110 11010000 10011100 11010000 10111000 11010001 10000000.

Генераторы штрих кода – онлайн сервисы

QR Hacker

Для создания штрихкода с помощью QR Hacker необходимо определиться с типом кодируемой информации (текст, ссылка, пароль от сети Wi-Fi, номер телефона или визитная карточка).

Выбрать нужный тип, в поле ниже внести информацию, затем нажать “Generate”. Внешний вид результата может быть изменен справа в поле “Customize”. Для сохранения нажать “SAVE”.

QR Coder.ru

Для работы в QR Coder.ru так же нужно выбрать тип исходных данных, размер штрихкода и нажать на кнопку “Создать”.

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

Qrmania.ru

На сайте Qrmania.ru  штрих код создается динамически, в процессе изменения информации не нужно никуда нажимать, ничего отправлять, просто следует определиться с типом баркода (визитка, номер телефона и т.д).

После заполнения всех полей в правой части сайта отобразится штрихкод.

При создании есть возможность:

  • изменить цвет;
  • скруглить углы;
  • скорректировать ошибки;
  • сохранить файл в форматах PNG (с указанием размера в пикселях) и в формате SVG.

Как придумали?

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

Cоздателя первого штрихового кода Нормана Вудланда вдохновила азбука Морзе: он объяснял, что просто расширил точки и тире, превратив их в широкие и узкие штрихи. Для их считывания предполагалось использовать технологию оптической звукозаписи. Из-за технических трудностей реализация замысла заняла двадцать лет: первый товар со штрихкодом (пачка жевательной резинки Wrigley) был продан в 1974.

Штрихкоды быстро нашли применение в промышленности: ими удобно было маркировать детали и комплектующие. Но не для всех компаний этого было достаточно. В японской Denso Wave, производящей запчасти для автомобилей, работники просили руководство разработать более эффективную систему, и в 1994 она появилась — в виде матричного (двумерного) кода. Его назвали Quick Response Code — код быстрого реагирования или QR-код.

Преимущества QR-кода:

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

Хотя компания Denso зарегистрировала термин «QR-код» как товарный знак, исходный код самой системы открыт, а за использование кодов не нужно платить лицензионные отчисления. Все это позволило QR-кодам захватить мир.

Этап размещения информации на поле кода

На QR-коде есть обязательные поля, они не несут закодированной информации, а содержат информацию для декодирования. Это:

  • Поисковые узоры
  • Выравнивающие узоры
  • Полосы синхронизации
  • Код маски и уровня коррекции
  • Код версии (с 7-й версии)

а также обязательный отступ вокруг кода. Отступ — это рамка из белых модулей, её ширина — 4 модуля.
Поисковые узоры — это 3 квадрата по углам кроме правого нижнего. Используются для определения расположения кода. Они состоят из квадрата 3х3 из чёрных модулей, вокруг рамка из белых модулей шириной 1, потом ещё одна рамка из чёрных модулей, так же шириной 1, и ограждение от остальной части кода — половина рамки из белых модулей шириной 1. Итого эти объекты имеют размер 8х8 модулей.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
18 22 26 30 34 6, 22, 38 6, 24, 42 6, 26, 46 6, 28, 50 6, 30, 54 6, 32, 58 6, 34, 62 6, 26, 46, 66 6, 26, 48, 70 6, 26, 50, 74 6, 30, 54, 78 6, 30, 56, 82 6, 30, 58, 86 6, 34, 62, 90
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
6, 28, 50, 72, 94 6, 26, 50, 74, 98 6, 30, 54, 78, 102 6, 28, 54, 80, 106 6, 32, 58, 84, 110 6, 30, 58, 86, 114 6, 34, 62, 90, 118 6, 26, 50, 74, 98, 122 6, 30, 54, 78, 102, 126 6, 26, 52, 78, 104, 130 6, 30, 56, 82, 108, 134 6, 34, 60, 86, 112, 138 6, 30, 58, 86, 114, 142 6, 34, 62, 90, 118, 146 6, 30, 54, 78, 102, 126, 150 6, 24, 50, 76, 102, 128, 154 6, 28, 54, 80, 106, 132, 158 6, 32, 58, 84, 110, 136, 162 6, 26, 54, 82, 110, 138, 166 6, 30, 58, 86, 114, 142, 170

Полосы синхронизации — используются для определения размера модулей. Располагаются они уголком, начинается одна от левого нижнего поискового узора (от края чёрной рамки, но переступив через белую), идёт до левого верхнего, а оттуда начинается вторая, по тому же правилу, заканчивается она у правого верхнего. При наслоении на выравнивающий модуль он должен остаться без изменений. Выглядят полосы синхронизации как линии чередующихся между собой чёрных и белых модулей.

Код маски и уровня коррекции — расположен рядом с поисковыми узорами: под правым верхним (8 модулей) и справа от левого нижнего (7 модулей), и дублируются по бокам левого верхнего, с пробелом на 7 ячейке — там, где проходят полосы синхронизации, причём горизонтальный код в вертикальную часть, а вертикальный — в горизонтальную.

Версия 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Код версии 000010 011110 100110 010001 011100 111000 110111 011000 000100 101001 111110 000000 001111 111010 111100 001101 100100 011010 101011 100000 100110 110101 000110 100010 010011 000010 011110 011100 010001 011100 111010 010101 100000 100100 110011 100100 000010 110111 011000 000000 101001 111110 100110 101101 000010 111000 001011 000110 011110 001111 111010
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
001101 001101 100100 101011 001001 011000 110101 101111 011100 010011 101011 100000 010001 110101 000110 110111 110001 111010 101001 010111 111110 001111 010011 000010 101000 011000 101101 001110 011100 010001 010000 111010 010101 110110 111110 101001 110100 100000 001111 010010 100100 110011 001100 000010 110111 101010 000110 001011 111001 000100 010101

Занесение данных

Оставшееся свободным место делят на столбики шириной в 2 модуля и заносят туда информацию, причём делают это «змейкой». Сначала в правый нижний квадратик заносят первый бит информации, потом в его левого соседа, потом в тот, который был над первым и так далее. Заполнение столбцов ведётся снизу вверх, а потом сверху вниз и т. д., причём по краям заполнение битов ведётся от крайнего бита одного столбца до крайнего бита соседнего столбца, что задаёт «змейку» на столбцы с направлением вниз.
Если информации окажется недостаточно, то поля просто оставляют пустыми (белые модули). При этом на каждый модуль накладывается маска.

Сейф 5

Что такое QR код и для чего используется?

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

Куэр код может быть создан с использованием разных элементов:

  • цифр;
  • букв и цифр;
  • китайских иероглифов, использующихся в современном японском письменном языке (Катакана).

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

Примечание. Как расшифровать аббревиатуру QR код? На английском языке она звучит как quick response. В переводе на русский это словосочетание означает «быстрый отклик/ответ».

Но не всем известно, для чего нужен QR код. Такой тип шифрования обычно используется:

  1. Для предоставления полной и необходимой информации. Это очень удобно, поскольку каждый желающий, имеющий специальное приложение на смартфоне. С его помощью можно быстро получить интересующую вас информацию о том или ином продукте или изделии. Это не только удобно, но и быстро, поскольку отпадает необходимость в использовании поисковых систем для прочтения нужных данных.
  2. В маркетинге. Использование кью ар шифрования очень выгодно многим компаниям. В таком случае необходимость в размещении большого объема информации на упаковках с продукцией отпадает. Все, что нужно сделать покупателю, – это включить приложение-сканер и распознать QR код с его помощью. В считанные секунды на экране девайса (телефона или планшета) появится подробное описание товара. Помимо этого, производители с помощью этого шифрования могут кодировать полезную информацию о скидках, акциях, викторинах и т. д.
  3. В сфере платежей. Это касается совершения финансовых операций онлайн. Рассмотрим пример сканирования QR кода в системе Вебмани. Предположим, вам нужно перевести средства на карту или мобильный счет. Делаете вы это через компьютер. Для этого в специальном окошке нужно ввести код, который отправляется автоматически и приходит на ваш Webmoney ID (WMID). Чтобы получить его, вы должны войти в приложение. Бывает так, что СМС с кодом не приходит, в таком случае откройте Webmoney Keeper или другую версию программы и нажмите на значок кью ар кода. Перед вам откроется что-то вроде камеры, которую нужно навести на окошко в компьютере, имеющее такой же вид. Операция выполнена, и ваша транзакция будет осуществлена.

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

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

Рестораны, кафе, бары постепенно начинают использовать куар шифрование в меню. Таким образом, клиент, считав такой кож через приложение или телефонную камеру, сможет узнать, из чего состоит то или иное блюдо, и сколько оно стоит.

Плюсы использования QR-кодов

Существенным плюсом QR-кодов считается их вместимость. В него можно зашифровать не только короткую фразу, но и целый текст. Стандартный QR-код содержит в себе около 4 000 символов. Если речь идет об изображениях, то их размер не должен превышать 4 КБ.

Это не так много, поэтому зачастую в штрих-код зашифровывают ссылку на площадку с нужной информацией. QR-код может использоваться для отправки сообщений. В нем можно уместить до 7 089 цифр, 1 817 иероглифов и 2 953 байтов.

Еще одно преимущество заключается в интенсивном внедрении QR-кодов в повседневную жизнь. Они стали встречаться почти на каждом шагу, что значительно упрощает привычные дела.

Нередко таблички со штрих-кодами располагаются на популярных достопримечательностях и памятных местах. В зашифрованном символе может содержаться история создания объекта.

Внедрение QR-кодов в производство позволило снизить стоимость некоторых товаров. Производители стали экономить на бумаге для изготовления инструкций.

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

В Китае с помощью популярного приложения WeChat QR-кода используют для оплаты товаров. Удивительно, но с их помощью даже дают милостыню. В России новейшую разработку давно внедрили в процесс оплаты ЖКХ. На сегодняшний день любую квитанцию можно оплатить через телефон, не выходя из дома.

Сегодня использование системы матричных кодов считается новейшим способом взаимодействия производителя с потребителем.

Раньше надписи этикеток имели ограниченное пространство. Производителю приходилось уменьшать шрифт или сокращать информацию о продукте. С появлением QR-кодов эта проблема полностью исчезла.

Сфера применения QR-кодов

Преимущества

Социальные сети

Удобство и скорость общения, экономия времени

Бизнес

Эффективная реклама, экономия на бумаге

Заработок в сети

Пассивный и быстрый заработок на собственных покупках

Торговля

Автоматизация процесса приобретения товаров

Как отсканировать QR-код

Кодировать информацию замечательная идея. Но, все-таки, как отсканировать QR-код? Сделать это довольно легко при помощи специальной программы на телефоне. Нужно будет просто сфотографировать его.

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

Отсканировать его можно с помощью приложения «Камера» на мобильном устройстве. Чтобы её привести в действие потребуется лишь:

  • Включить камеру на мобильном или другом устройстве;
  • Удерживать устройство так, чтобы QR-код появился в видоискателе. После того как код будет распознан появится соответствующее уведомление;
  • Нажать на уведомление, чтобы открыть ссылку с QR-кодом.

Проблемы с вредоносными кодами

Вместе с активно разворачивающимся маркетингом с использованием Q-кодировки идут в ногу хакеры, использующие это новшество на свое усмотрение.

Очень часто создатели баркодов просто не заботятся о безопасности. Как результат он может привести пользователя не просто на площадку, напичканную рекламой, но и закачать на смартфон вредоносную программу. А там уже сценарий классический.

Как вариант, эта программа будет рассылать сообщения без участия пользователя. А может и воровать деньги со счета. Проблема становится серьёзной, требующей от создателей и владельцев QR-кодов пристального внимания за содержимым своих графических ссылок.

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

Проблема решаема как минимум двумя способами:

Первый это обязательная антивирусная защита (особенно на андроид-устройствах).

Второе решение это выбор программы для считывания, в которой имеется встроенный клиент безопасности.

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

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

Где используется?

Для использования QR-кода не нужно ничего, кроме смартфона с камерой и приложения (оно обычно установлено по умолчанию), поэтому черно-белые квадратики заметно облегчают жизнь там, где нужно перевести действие из офлайна в онлайн: например, быстро привести человека, увидевшего интересную вещь в реальном магазине, на сайт. Или дать ссылку на скачивание подробной инструкции прямо на коробке с товаром. А может, показать свой интернет-проект человеку, в руках у которого оказалась ваша визитка. А еще QR-коды позволяют подтвердить оригинальность электронных билетов, право на скидку или кэшбек в магазине. Музеи шифруют в QR-коды информацию, организаторы викторин и квестов прячут в них подсказки. Всё чаще QR-коды используются для онлайн-оплаты — но пока это не совсем привычно для большинства покупателей.

Сейчас о QR-кодах знают даже те, кто никогда активно не использовал онлайн-сервисы: весной в Москве они нужны были для того, чтобы выйти из дома и не заработать штраф, а сейчас, согласно указу мэра Москвы, —  ночных клубов. Каждый должен отсканировать такой код (или отправить смс, но это дольше и не так удобно), оставив таким образом свой номер телефона. Если выяснится, что кто-то из посетителей являлся носителем коронавируса, все остальные посетители постфактум получат предупреждение о возможном контакте.

Объединение информационных блоков

На данном этапе имеется два готовых блока: исходных данных и блоков коррекции (из прошлого шага), их необходимо объединить в один поток байт. По очереди необходимо брать один байт информации из каждого блока данных, начиная от первого и заканчивая последним. Когда же очередь доходит до последнего блока, из него берётся байт и очередь переходит к первому блоку. Так продолжается до тех пор, пока в каждом блоке не закончатся байты. Есть исключения, когда текущий блок пропускается, если в нём нет байт (ситуация, когда обычные блоки уже пусты, а в дополненных ещё есть по одному байту). Так же поступается и с блоками байтов коррекции. Они берутся в том же порядке, что и соответствующие блоки данных.

В итоге получается следующая последовательность данных: <1-й байт 1-го блока данных><1-й байт 2-го блока данных>…<1-й байт n-го блока данных><2-й байт 1-го блока данных>…<(m — 1)-й байт 1-го блока данных>…<(m — 1)-й байт n-го блока данных><m-й байт k-го блока данных>…<m-й байт n-го блока данных><1-й байт 1-го блока байтов коррекции><1-й байт 2-го блока байтов коррекции>…<1-й байт n-го блока байтов коррекции><2-й байт 1-го блока байтов коррекции>…<l-й байт 1-го блока байтов коррекции>…<l-й байт n-го блока байтов коррекции>.

Здесь n — количество блоков данных, m — количество байтов на блок данных у обычных блоков, l — количество байтов коррекции, k — количество блоков данных минус количество дополненных блоков данных (тех, у которых на 1 байт больше).

Apple Footer


Apple

  1. Support
  2. Communities
Оцените статью
Рейтинг автора
5
Материал подготовил
Андрей Измаилов
Наш эксперт
Написано статей
116
Добавить комментарий