Tag volume Youtube что это

В конце января Симо Ахава выложил в своём блоге обзор на возможности применения Custom HTML тегов в Google Tag Manager. Пользовательские HTML теги дают широкие возможности для изменения контента на сайте, но нужно соблюдать повышенную осторожность — особенности тегов и их обработки несут большие риски. Аналитик MediaGuru Тимур Леденёв перевел для вас этот п олезный обзор .

Довольно долго (с конца 2012 года) одной из наиболее значимых опций GTM был Custom HTML тег. Этот волшебный инструмент позволяет GTM добавлять элемент HTML на страницу сайта. С 2012 года Google Tag Manager превратился из изолированной среды с пользовательскими шаблонами тегов в неограниченное ничем решение по управлению контентом на стороне клиента.

В статье мы рассмотрим принципы работы Custom HTML тег и возможности его применения.

Наполнение Custom HTML тега

Как видно из названия, Custom HTML тег позволяет размещать элементы HTML на странице сайта. Давайте его создадим:

How to Add Tags to Your YouTube Videos in 2023!


console.log(‘Hello!’); Hello!

Этот тег добавляет на страницу три элемента:

  • , который компилируется и исполняется на JavaScript;
  • блок div ;
  • , включённый в

Когда вы публикуете контейнер и смотрите на минимизированный источник контейнера JavaScript, это выглядит так:

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

Флажки enableIframeMode и enableEditJsMacroBehavior — э то прежние фичи, которые теперь не видно в UI. Можете сделать их видимыми в интерфейсе Custom HTML тега, если знаете как. Но это ни на что не повлияет.

Итак, вы создали Custom HTML тег и увидели, как он добавляется в контейнер. Но что затем происходит на странице, и где конкретно?

Инъекция

Когда Custom HTML тег срабатывает в Google Tag Manager, запускается следующий механизм:

  1. Создается фиктивный , к которому при помощи атрибута .innerHTML добавляется закодированная строка, представляющая ваш Custom HTML тег.
  2. Это заставляет браузер обработать закодированную строку как HTML, благодаря чему теги, добавленные в Custom HTML, превращаются в элементы HTML.
  3. Один за другим эти элементы удаляются из и переходят к инъекции.
  4. Затем каждый элемент добавляется как last child элемент document.body.

В этом процессе есть некоторые нюансы:

  • как Google Tag Manager взаимодействует с onHtmlSuccess и onHtmlFailure в очереди;
  • как элементы очищаются от всех пользовательских атрибутов перед инъекцией.

Что это значит? Все, что вы вписываете в Custom HTML тег, добавляется в конец , каким бы он ни был в момент инъекции. Обычно здесь имеют в виду футер страницы, но это не обязательно, учитывая современные макеты страниц.

What is Tag Volume In Vidiq ? #vidiq #tagvolume Tag Count

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

Это не так просто. Каждый элемент, который вы добавляете, усугубляет проблему. А в одностраничных приложениях, которые могут не сбрасывать DOM между переходами, можно наблюдать сотни таких элементов на одной странице, каждый из которых всё больше ухудшает производительность. Мы вернёмся к этому в заключении, но перед выводом скажу:

Избегайте использования Custom HTML тегов без явной необходимости.

Признаю, такой дисклеймер для статьи не лишен иронии.

Сценарии Custom HTML тегов

Для чего использовать эти теги и применять решение по управлению тегами для инъекции элемента? Отличный вопрос, на который у меня нет быстрого и окончательного ответа.

Могу сказать, что большое количество Custom HTML в контейнере может говорить об одной из следующих ситуаций:

  1. Вы столкнулись со слишком сложным кейсом, для которого не подходят стандартные GTM теги или пользовательские шаблоны.
  2. Вы мало знакомы с GTM (или JavaScript) и не понимаете, что какие-то из ваших пользовательских HTML тегов можно заменить на стандартные теги или пользовательские шаблоны.
  3. У вас не такая гибкая компания, чтобы привлекать веб-разработчиков, способных напрямую добавить в шаблоны страниц ваши правки.
  4. Вы нашли в сети классную вещь и хотите быстро проверить гипотезу перед тем, как передать эту фичу веб-разработчикам для полноценной имплементации.
  5. Вы опьянены возможностями, которые предоставляет Google Tag Manager, и никакой лысый мужик из Финляндии не сможет остановить вас от лишних шагов.

Это ваш контейнер, и вы, конечно, вправе использовать его так, как сочтете нужным. Но если появляются сценарии 2 и 3, я настоятельно рекомендую вам внести изменения в статус кво. Игнорирование сложности GTM и JavaScript может помешать положительным эффектам, которые открывают эти технологии. Работа вразрез с установленными в вашей компании ограничениями в долгосрочной перспективе тоже вызовет разногласия и приведёт к разрушенной коммуникации, ужасному сайту и ненадежному хранению информации.

Давайте рассмотрим некоторые сценарии, при которых вы, вероятно, захотите попробовать Custom HTML теги.

Добавление элемента в конкретное место на странице

Недостаток Custom HTML тега в том, что он внедряет элемент в конец . Зачем? Если элемент является визуальным компонентом (т.е. он должен выводиться на экран), то наиболее вероятно, что конец – не то место, где бы вы хотели его видеть. Чтобы обойти это, вам нужно использовать JavaScript и его методы манипуляции DOM.

Еще по теме:  Как в ГТА Сан андреас Ютуб

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

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

Теперь, если создать Custom HTML таким образом: It’s really cool — I promise! , элемент добавится в конец и будет выглядеть не очень хорошо.

Поэтому вместо этого мне нужно создать новый элемент с помощью JavaScript , а затем расположить его относительно заголовка страницы.

(function() < // Создание нового элемента var h3 = document.createElement(‘h3’); // Добавление текста h3.innerText = «It’s really cool — I promise!»; // Получение ссылки на заголовок var title = document.querySelector(‘h1’); // Инъекция нового элемента сразу после if (title) < title.parentElement.insertBefore(h3, title.nextSibling); >>)();

Конечный результат вы видите на скриншоте выше.

В этом и заключается тонкая ирония – вы используете Custom HTML, чтобы создать элемент ( ), который создаст другой элемент ( ). Да, было бы здорово, если бы вы могли в Custom HTML определять место, где разместится элемент. На самом деле было бы ещё круче, если бы существовал пользовательский шаблон, позволяющий создать элемент с возможностью выбора места для элемента. Таким образом, вам вообще не понадобится инъекция скрипта в конец кода! Но мы отвлеклись.

Размещение скрипта в как можно выше

Отчасти это связано с предыдущим сценарием, однако заслуживает отдельного внимания в зависимости от того, как часто возникает подобная ситуация. Иногда вас просят: «Разместите cкрипт КАК МОЖНО ВЫШЕ в ».

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

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

Почему? Когда вы создали Custom HTML, он формирует элемент и внедряет его в . Браузеру же вначале нужно добавить Custom HTML (performance hit), затем создать новый элемент (еще один performance hit) и, наконец, добавить новый элемент в (performance hit).

Вместо этого вам нужно напрямую добавить в Custom HTML. При таком способе он добавится в конец , а браузер выполнит его как можно быстрее.

Загрузка JavaScript кода сторонних разработчиков

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

В таком случае вам вообще не нужно использовать Custom HTML.

Напротив, сделайте пользовательский шаблон, который использует injectScript API для загрузки библиотеки.

Пользовательские шаблоны оптимизированы для инъекции и загрузки JavaScript, и они предлагают модель разрешений и политик для безопасной (более безопасной) инъекции.

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

Изменение UX

Одна из вещей, которую вы захотите сделать при помощи Custom HTML, – изменение UX (пользовательского опыта). Для этого вы можете использовать что-то типа cookie banner, возможно смену стилей на странице или добавление , который подгружает какой-то удобный виджет для вашего ecommerce сайта.

Я бы хотел предупредить вас о рисках, связанных с выполнением всего этого при помощи Google Tag Manager.

  1. Некоторые браузеры (например, Brave) или блокировщики рекламы/контента могут мешать GTM. Это набирающий популярность тренд (вместе с защитой отслеживания в браузерах, исключающих необходимость в отдельном блокировщике рекламы).
  2. Вы разделяете функциональность и/или опыт, предлагаемый сайтом. Скорее всего, вы полагаетесь на позиционирование и выбор определенных HTML элементов для привязки вашего пользовательского кода. Но Google Tag Manager не связан конструктивно с сайтом, и предполагать, что разработчики не внесут изменения на сайт, крайне опасно. Поэтому даже если хоть один селектор в вашем querySelector() на сайте изменится, пользовательский код может перестать работать или хуже – поломает что-то на сайте.
  3. Ко всему этому добавляются причины, связанные с производительностью, о которых я упоминал выше. Добавление каждого динамического элемента по возрастающей будет ухудшать производительность страницы, что приведет к раздражающим вещам: ваши пользовательские элементы начнут появляться и пропадать; качество данных будет ухудшаться (когда у iframe, который вы динамически меняете, есть время перед внесением изменений) вплоть до лагов и «зависания» страницы, особенно на одностраничных сайтах.

Поэтому, пожалуйста, не рассматривайте использование Google Tag Manager в качестве системы управления контентом.

Выводы

Это был краткий обзор возможностей Custom HTML тегов.

Если бы я смог поговорить с собой в 2012 году, то посоветовал бы себе рассматривать недостатки Custom HTML тегов как можно раньше и перестать строить иллюзии относительно бесконечных возможностей Google Tag Manager для добавления скриптов. А скорее, думать комплексно – об организации, о сайте в целом и о контексте окружения, в котором работает GTM, – перед тем как принимать рискованные решения.

Однако для Custom HTML сегодня есть сферы применения. Создание прослушивателя кликов с помощью Custom HTML тега (document.addEventListener()) может оказаться более выигрышным, чем запуск какого-то пользовательского кода с помощью триггеров GTM.

Это происходит потому, что триггер клика будет раз за разом запускать тег (снова и снова проводя его инъекцию) каждый раз, когда он будет срабатывать. Если вы создадите свой прослушиватель кликов в Custom HTML теге и обработаете им повторяющуюся задачу, то избежите беспорядка при внедрении.

Еще по теме:  Как создать кулинарный блог на Ютубе

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

Тем не менее я надеюсь, что однажды пользовательские шаблоны заменят Custom HTML теги.

В качестве напутствия для использующих Custom HTML теги, особенно для тех, кто хочет добавлять код, найденный в сети, пригодится знаменитая русская пословица:

Доверяй, но проверяй.

Если вы не знаете, что конкретно делает код, проконсультируйтесь со знакомым веб-разработчиком.

Материал подготовлен специально для Хабр

Источник: www.mediaguru.ru

Метаинформация (теги) в звуковых и видеофайлах

ID3 — формат контейнера, позволяющий хранить в файлах формата MP3 (MPEG-1 Layer III) дополнительную информацию, такую как имя артиста, название композиции, название альбома, номер дорожки и др. Версия ID3v1 была разработана в 1996 (Eric Kemp). Метка располагается в конце файла, занимает 128 байт и начинается со строки «TAG». Поля: title (30 байт), artist (30 байт), album (30 байт), year (4 байта), comment (30 байт), genre (1 байт, список жанров предопределён). Кодировка — ISO-8859-1/ISO-Latin 1 (в России обычно используется cp1251), символ-заполнитель — 0x0.

Версия ID3v1.1 была разработана в 1997 (Michael Mutschler): в последнем байте поля comment записывается номер дорожки. Версия ID3v2.2 была разработана в 1998 (M. Nilsson). Не имеет ничего общего с ID3v1. Теги располагаются в начале файла.

Каждый тег занимает отдельный кадр (frame) размером до 16МБ.

Для «безнаказанной» вставки незвуковых данных в MP3 файл используется тот факт, что любой MP3 декодер начинает декодирование после получения сигнала синхронизации (0b11111111 111xxxxx), так что достаточно поместить тег до первого такого сигнала и не допускать его случайного появления внутри тега (0b11111111 111xxxxx заменяется на 0b11111111 00000000 111xxxxx, а 0xff00 на 0xff0000). Порядок бит — MSB, порядок байт — big endian, символ-заполнитель — 0x0.

В начале тега идёт заголовок (10 байт): «ID3», подверсия ID3v2 (0x0200), флаги (1 байт: использование алгоритма десинхронизации, использование сжатия, остальное — резерв), длина тега без заголовка (4 байта, в каждом байте используются только младшие 7 бит), за которым идёт последовательность кадров. Каждый кадр имеет заголовок: 3-х символьное имя, 3-байтная длина кадра без заголовка.

Имена, начинающиеся с ‘X’, ‘Y’ или ‘Z’, считаются экспериментальными (читай: можно придумывать свои кадры). По умолчанию, используется кодировка ISO-8859-1 (терминатор строки — 0x00). Некоторые (не все, а только имена которых начинаются с ‘T’?) типы кадров могут использовать UCS-2 (Unicode), терминатор строки — 0x0000, про необходимые для определения порядка байт символы BOM разработчики забыли, такие кадры имеют однобайтовый флаг в начале кадра (0 — ISO-8859-1, 1 — UCS-2). Текстовые кадры могут иметь 3-х символьное поле, описывающее язык (ISO-639-2). Используемые в кадрах URL могут быть относительными.

Основные кадры (всего их более 80, в скобках даны имена для ID3v2.3 и ID3v2.4):

  • TT1 (TIT1) — Content group description
  • TT2 (TIT2) — название произведения
  • TT3 (TIT3) — уточнение названия
  • TP1 (TPE1) — основной исполнитель (можно указать несколько, разделяя их символом ‘/’)
  • TP2 (TPE2) — уточнение исполнителя (название группы и т.д.)
  • TP3 (TPE3) — дирижёр
  • TP4 (TPE4) — обработчик, модификатор
  • TCM (TCOM) — композитор (можно указать несколько, разделяя их символом ‘/’)
  • TXT (TEXT) — автор текст произведения (можно указать несколько, разделяя их символом ‘/’)
  • TLA (TLAN) — язык (языки)
  • TCO (TCON) — жанр (ссылки на жанры из списка ID3v1 в виде ‘(номер)’ или свой текст)
  • TAL (TALB) — название альбома. фильма, шоу и т.д.
  • TPA (TPOS) — номер части альбома (если используется несколько носителей) или «номер/из»
  • TRK (TRCK) — номер произведения в альбоме или «номер/из»
  • TRC (TSRC) — номер ISRC (International Standard Recording Code)
  • TYE (TYER) — год (4 символа)
  • TDA (TDAT) — дата записи в формате ‘DDMM’
  • TIM (TIME) — время записи в формате ‘HHMM’
  • TMT (TMED) — тип носителя, произвольный текст или код в скобках:
  • DIG[/A] (прочие цифровые источники [аналоговая передача])
  • ANA (прочие аналоговые источники)
  • CD[/A|/DD|/AD/AA]
  • LD[/A]
  • TT[/33|/45|/78] (грампластинка)
  • MD
  • DAT
  • DVD
  • TV/SECAM
  • VID/PAL/SVHS
  • RAD/FM
  • TEL (телефон)
  • MC (кассетный магнитофон)
  • REE (катушечный магнитофон)
  • TFT (TFLT) — тип аудиокодека: MPG/1, MPG/2, MPG/3, MPG/2.5, MPG/AAC, PCM, VQF, MIME
  • TBM (TBPM) — BPM (beats per minute)
  • TCR (TCOP) — запись об авторском праве («1999 Иванов»)
  • TPB (TPUB) — издатель
  • TEN (TENC) — кодировщик файла
  • TSS (TSSE) — название программы или оборудования, используемой при кодировании, и параметры
  • TOF (TOFN) — оригинальное имя файла
  • TLE (TLEN) — длина произведения в милисекундах
  • TDY (TDLY) — пауза между произведениями в милисекундах
  • TKE (TKEY) — тональность произведения
  • TXX (TXXX) — строка пользователя
  • IPL (IPLS) — прочие участники
  • MCI (MCDI) — содержимое CD-ROM TOC для поиска в cddb и т.п.
  • ETC (ETCO) — таблица событий и их времена для синхронизации со слайд-шоу и т.п.
  • MLL (MLLT) — индекс для быстрого позиционирования в файле
  • ULT (USLT) — текст песни (содержит поля кодировки, языка и типа текста; разрешаются переводы строк, может быть только один текст для каждого языка и типа)
  • SLT (SYLT) — синхронизированный текст песни (для караоке)
  • COM (COMM) — комментарий (содержит поля кодировки и языка)
  • RVA (RVAD) — позволяет задать желаемое изменение громкости левого и правого канала, а также имеющиеся в файле пиковые значения
  • EQU (EQUA) — кривая эквалайзера
  • REV (RVRB) — задание уровня эха и прочие спецэффекты (интересно, существует ли хоть один проигрыватель, учитывающий этот кадр?)
  • PIC (APIC) — встроенная картинка (задаётся кодировка текста, описание картинки, тип картинки (иконка, передняя обложка, задняя обложка и т.д.), формат картинки (‘PNG’, ‘JPG’, ‘—>’ для указания URL отдельного файла), последовательность байт)
  • GEO (GEOB) — произвольный встроенный объект (задаётся кодировка текста, описание, MIME-тип, имя файла, последовательность байт)
  • CNT (PCNT) — сколько раз игрался этот файл
  • POP (POPM) — рейтинг популярности (содержит email, рейтинг и счётчик)
Еще по теме:  Ютуб как прокачать тормоза

Добавлены кадры:

  • USER — определяет права на использование файла
  • OWNE — определяет продавца, цену и дату покупки
  • PRIV — для частного использования
  • «экспериментальный» тег XRVA (relative volume adjustment, в dB) добавляется утилитой normalize

Версия ID3v2.4 была разработана в 2000 (M. Nilsson). Подверсия ID3v2 изменилась на 0x0400.

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

Наконец, разобрались с кодировками, теперь строки могут быть в кодировках: ISO-8859-1, UTF-16 с BOM, UTF-16BE без BOM и UTF-8. Код языка — 3 символа в соответствии с ISO-639-2 строчными буквами, неизвестный язык — XXX. В заголовок кадра добавлены флаги десинхронизации и Data Length Indicator. Текстовые кадры могут содержать несколько значений, разделяемых терминатором строки (0x0 для ISO-8859-1, 0x0000 для UTF-16, 0x00 для UTF-8) вместо ‘/’ в версии ID3v2.3. Вместо кода в скобках (TCON, TMED) теперь необходимо использовать строки, разделённые терминаторами.

Добавлены кадры (удалены TYER, TDAT, TIME, IPLS, RVAD, EQUA):

  • TSST — подзаголовок набора записей
  • TMCL — таблица соответствия между названиями инструментов (нечётные поля) и именами музыкантов (чётные поля через запятую)
  • TIPL — таблица соответствия между функциями (нечётные поля) и именами исполнителей (чётные поля через запятую), заменяет кадр IPLS
  • TMOD — настроение (Romantic и т.д.)
  • TPRO — аналогично TCOP, но для отметки изготовителя (P)
  • TOWN — имя покупателя лицензии
  • TDEN — отметка времени кодирования (ГГГГ-ММ-ДДTЧЧ:ММ:СС или сокращённое)
  • TDOR — отметка времени изготовления оригинала
  • TDRC — отметка времени записи (заменяет TYER, TDAT и TIME)
  • TDRL — отметка времени выпуска записи
  • TDTG — отметка времени записи тега
  • TSOA — строка, используемая для сортировки по альбомам вместо TALB
  • TSOP — строка, используемая для сортировки по исполнителям вместо TPE2
  • TSOT — строка, используемая для сортировки по названиям вместо TIT2
  • RVA2 — позволяет задать желаемое изменение громкости для каждого канала (формат изменился совершенно по сравнению с RVAD)
  • EQU2 — кривая эквалайзера (формат изменился совершенно по сравнению с EQUA)
  • ASPI — ещё один индекс для позиционирования внутри файла

Наличие множества мелких, но неприятных и бессмысленных несоответсвий между версиями, совершенно дикий формат и непонимание автором стандарта понятий Unicode привело к тому, что во многих программах до сих пор нет поддержки ID3v2.4, выпущенной в 2000 году, а вместо этого разработчики запихивают UTF-8 в ID3v2.3 и даже в ID3v1. В сочетании с коллекциями с тегами ID3v1 в cp1251 (и даже тегами ID3v2.3 в cp1251 и указанием языка «eng»!) и новыми приложениями, в которых преднамеренно выключена обработка неверных кодировок, вызывает ужасное раздражение. Для редактирования тегов можно использовать специальные приложения или такие аудиопроигрыватели.

Источник: zenway.ru

Расширение VidIQ and Vision for YouTube для Chrome

Всем привет! Рад, что посетили dvpress.ru. Сегодня я Вам расскажу о замечательном расширении VidIQ Vision for YouTube для браузера Chrome. Оно будет полезным для тех, у кого есть свои
каналы на Youtube, для видеоблоггеров, да и вообще для всех, кто в интернете не только для развлечения. Также читайте и смотрите видео, как с помощью этого плагина оптимизировать и раскручивать видео на YouTube

Главные особенности расширения «VidIQ Vision for YouTube»

  1. Показывает полную статистику ко всем видео
  2. Массовое добавление, или удаление аннотаций и подсказок
  3. Быстрое редактирование видео
  4. Быстрая настройка плеера для своего сайта без вмешательства в код

Ко всем видеороликам на Youtube выдается подробная статистика, что дает возможность отслеживать своих конкурентов, и продвигать видео в ТОП. Вот как это выглядит:

Особенности расширения «VidIQ Vision for YouTube»

  • Вероятность попадания ролика в похожие видео
  • Сколько ролик просматривает людей за один час
  • Количество просмотров
  • Подписчики
  • Лайки, дизлайки
  • Расчетный доход
  • К какой медиа сети подключен канал и др.

Также видны и все теги. Нажав на значок скрепки, все теги будут скопированы в буфер обмена.

Массовое добавление аннотаций и подсказок в видео на Youtube

Для добавления аннотаций во все видео, нужно скопировать одно, или несколько аннотаций в одном видео, а затем вставить их в другие.

Перейдите в «Менеджер видео». Вы увидите, что у каждого ролика, правее от кнопки «Изменить», появился дополнительный значок.

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

  1. Feature this video – функция видео
  2. Copy annotations – копирование аннотаций
  3. Copy cards – копирование подсказок
  4. Advanced embed – расширенные настройки кода
  5. Archive and syndicate – эта функция не работает на бесплатном аккаунте

Нас интересует второй пункт и третий, а четвертый мы рассмотрим в конце статьи. Кликаем по значку, а потом выбираем «Copy annotations». Теперь выбираем аннотации, которые хотим скопировать для дальнейшего добавления их в другие видео.

Массовое добавление аннотаций и подсказок в видео на Youtube

Рейтинг
( Пока оценок нет )
Загрузка ...