Кнопка для создания и работы с SFX архивами (на базе 7z архивов) в Total Commander (далее TC).


 

ВАЖНО!

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

 

Возможности кнопки


С помощью кнопки можно:

Использование кнопки


ВАЖНО!

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


Чтобы упаковать нужные файл(ы) и/или папку(и) в 7z архив, надо выделить всё подлежащее упаковке, или просто поместить курсор на файл/папку, если упаковать нужно только один объект. Затем нажать на кнопку , удерживая клавишу [Shift] или клавиши [Shift]+[Ctrl]. При сжатии может использоваться метод LZMA или LZMA2. Основной метод (любой из двух) прописывается в ini файле и используется при удерживании клавиши [Shift], а альтернативный - при удерживании клавиш [Shift]+[Ctrl].

В появившемся окне можно выбрать способ сжатия:

  1. Solid (непрерывный) архив дает максимальное сжатие. Пользователь видит процесс сжатия.
  2. Non-solid архив полезен, если Вы в дальнейшем собираетесь обновлять его или созданный на его основе SFX архив.
  3. Упаковка без сжатия полезна, если ваши объекты уже сильно сжаты, а надо выложить или переслать их одним файлом. В этом случае размер архива полученный без сжатия часто меньше, чем размер со сжатием.
  4. Solid (непрерывный) архив дает максимальное сжатие. Архивирование производится консольным архиватором, что некоторых случаях, при больших размерах словаря, позволяет системе использовать бОльшую часть не фрагментированной памяти. Пользователь видит процесс сжатия в консольном окне.

По умолчанию активной кнопкой в этом окне становиться кнопка "1 вариант", но если будет выбран максимальный размер словаря 128 Мб, то активной кнопкой становиться кнопка "4 вариант".

Создание 7z архива

 

Выбор параметров для сжатия производится автоматически исходя из возможности максимального использования ОЗУ компьютера. Размер выделенных папок/файлов и максимальный размер словаря Вы можете видеть в первом окне. Если последний Вас не устраивает, можете закрыть все неиспользуемые программы, и перезапустить сжатие. Утилита попытается освободить память от "мусора" и увеличить размер словаря.

После выбора и нажатия необходимого варианта (1, 2, 3) Вы увидите стандартное окно хода упаковки архиватора 7-Zip. Все кнопки управления процессом упаковки в этом окне доступны и работают как в стандартным режиме 7-Zip.

Окно процесса упаковки 7-Zip

В случае выбора варианта 4 сжатия консольным архиватором Вы увидите стандартное окно консольного архиватора. Вы можете отменить создание архива нажатием [Ctrl]+[C] на клавиатуре или закрытием консольного окна.

Окно консоли процесса упаковки

Чтобы создать SFX архива без замены иконки, надо выделить 2 файла:

  • 7z-архив (.7z)
  • файл конфигурации (расширение любое)

Чтобы создать SFX архив с заменой иконки, надо выделить 3 файла:

  • 7z-архив (.7z)
  • файл конфигурации (.txt)
  • файл иконки (.ico, .exe, .dll, и т.д.)

Чтобы создать SFX архив с заменой "копирайтов", надо выделить 3 файла:

  • 7z-архив (.7z)
  • файл конфигурации (.txt)
  • файл ресурсов (.res)

Чтобы создать SFX архив с заменой иконки и "копирайтов", надо выделить 4 файла:

  • 7z-архив (.7z)
  • файл конфигурации (.txt)
  • файл иконки (.ico, .exe, .dll, и т.д.)
  • файл ресурсов (.res)
Сообщение об окончании создания SFX архива

При создании SFX архива: после выделения файлов, на одной из панелей TC (панель должна быть активной), и нажатия кнопки , SFX архив будет создан в том же каталоге (открытом в этой панели TC) с именем, полученным из имени 7-z архива заменой расширения с .7z на .exe.
Если SFX архив с таким именем уже существует, он будет перезаписан.

До создания SFX архива кнопка "на лету" производит определение методов сжатия, использованных в конкретном 7z архиве. По результатам этой проверки она автоматически выбирает один из пяти имеющихся модифицированных модулей, который и использует при создании SFX архива.

После успешного создания SFX архива появиться окно с информацией о размерах: созданного архива, ресурсов, использованного модуля.


Чтобы просмотреть ВСЕ диалоговые окна будущего архива (не создавая его) без замены иконки, надо выделить 1 файл или просто поместить курсор на:

  • файл конфигурации (расширение любое)

Чтобы просмотреть ВСЕ диалоговые окна будущего архива (не создавая его) с заменой иконки, надо выделить 2 файла:

  • файл конфигурации (.txt)
  • файл иконки (.ico, .exe, .dll, и т.д.)

При просмотре диалоговых окон будущего SFX архива: после выделения файлов (или просто помещении курсора на нужный файл конфигурации) на одной из панелей TC, и нажатия кнопки будут выведены ВСЕ диалоговые окна будущего SFX архива СРАЗУ в том виде, в каком они прописаны в файле конфигурации.

Сам SFX архив при этом создан, а тем более запущен, НЕ будет!

Просмотр диалогов будущего SFX архива.

Чтобы просмотреть файл конфигурации созданного SFX архива, или извлечь и сохранить составные части SFX архива, надо выделить 1 файл или просто поместить курсор на:

  • файл SFX архива (.exe)

Если хотите извлечь и просмотреть файл конфигурации, то необходимо поместить курсор на файл 7z SFX архива и нажать кнопку .

В появившемся окне можно выбрать вариант извлечения компонентов:

  1. Извлечет и сохранит от трех до пяти компонентов присутствующих в 7z SFX архиве (7z архив, файл конфигурации, иконку, файл ресурсов и SFX модуль). Число извлекаемых компонентов определяется в файле Settings.ini (отображается в скобках).
  2. Извлечет, не сохраняя, файл конфигурации и откроет его в установленном по умолчанию текстовом редакторе.
  3. Покажет версию используемого в SFX архиве модифицированного модуля, версию исходников архиватора, на базе которых создан модуль и поддерживаемых модулем методах и фильтрах сжатия.
    ВАЖНО! Не пытайтесь просмотреть версию, если не уверены, что в SFX архиве используется модифицированный модуль (версия 1.1 beta сборка 301 и выше), т.к., в этом случае SFX архив будет запущен.
Извлечение компонентов 7z архива
Версия модифицированного модуля

Если файл не будет распознан как 7z SFX архив, Вы будете предупреждены об этом.

Извлечение компонентов невозможно

ВАЖНО! Не пытайтесь извлечь компоненты из SFX архивов другого типа (RAR, ZIP и т.д.) или из файлов, которые вообще не являются SFX архивами. Возможно, Вам что-то и удастся извлечь, но что это будет неизвестно.

Частичное извлечение компонентов

Чтобы извлечь и сохранить иконку из любого файла .exe, .dll, ico и т.д., надо выделить 1 файл или просто поместить курсор на:

  • файл иконки (.ico, .exe, .dll, и т.д.)

Затем нажать на кнопку , удерживая клавишу [Ctrl].

В появившемся окне можно выбрать вариант извлечения иконки(ок):

  1. Иконка со всеми форматами может вам потребоваться, для редактирования и выбора необходимых форматов.
  2. Иконка с форматами 16х16 и 32х32 (и 48х48) обычно достаточная для целей создания SFX архива. Хотя и она может содержать несколько вариантов этих форматов с разной глубиной цвета. Можете отредактировать и удалить ненужные вам варианты.
  3. Сразу несколько иконок. Каждая из них будет содержать два или три формата по размеру (16х16 и 32х32 и 48х48 пикселя) и один формат по глубине цвета (1, 4, 8, 16, 24, 32 бита), если таковые имеются в исходном файле. Если ваш SFX архив предназначен для установки приложения на Т-13/Т-12 этапе установки Windows, то вряд ли Вам нужны иконки с 16, 24, 32 битами цвета. Можно выбрать менее "увесистые" иконки.
Извлечение иконки из произвольного файла

Чтобы распаковать архив в папку с именем архива (будет создана) надо выделить 1 файл или просто поместить курсор на:

  • файл архива (.7z, .zip, .rar, .cab, .chm, .iso, .arj, .tar, .bz2)

Папка с именем архива будет создана в директории, в которой расположен файл архива. Если папка с таким именем уже существует, то вновь созданная папка будет иметь в имени штамп дата/время (при условии что штамп дата/время разрешен в ini файле). В противном случае извлекаемые файлы перезапишут одноименные файлы в папке приемнике без предупреждения.


Если Вы ошиблись и выделили неподходящие по задаче (создание/просмотр диалоговых окон SFX архива) файлы - будет выведено сообщение с предположительными причинами ошибки.

Здесь же Вы можете нажать кнопку "Справка" и прочитать про кнопку подробнее.

Окно ошибки со справкой

Чтобы вызвать файл настроек кнопки (Settings.ini) для редактирования, нужно нажать на кнопку , удерживая клавишу [Alt]. После окончания редактирования его нужно сохранить.

 

Чтобы посмотреть версию модуля, используемого в кнопке, нужно нажать на кнопку , удерживая клавиши [Shift]+[Alt]. При этом появится окно аналогичное показанному здесь, но содержащее информацию о версии используемого в кнопке модифицированного модуля (по умолчанию), версию исходников архиватора на базе которых создан модуль и поддерживаемых модулем методах и фильтрах сжатия.

В кнопке используется 6 модифицированных модулей, которые выбираются автоматически при создании SFX архива в зависимости от метода сжатия использованного в самом 7z архиве, но информация показывается для того модуля, который прописан в файле настроек кнопки (Settings.ini).

 

Ссылка для загрузки и содержимое архива


Последняя версия 0.15.0.1163 от 23.02.2010

 

Все необходимое для создания этой кнопки находиться в архиве.

Кнопка с инсталлятором (508 кб).

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

Если при его установке у Вас возникли проблемы, то:

  1. Внимательно прочтите эту справку. Если проблемы не исчезли...
  2. Напишите письмо автору: gora

В архиве находится файл setup_button.exe, который является 7z SFX архивом. После установки, в указанном Вами месте (лучше оставить путь предложенный инсталлятором), будет создана папка SFX Tool в которой появятся:

 

Установка кнопки и подготовка к работе


Для установки требуется запустить TC и из него запустить инсталлятор (файл setup_button.exe, находящийся в скаченном архиве). При этом сам файл, может располагаться где угодно.

При работе инсталлятора, в папке установки TC (у меня это D:\totalcmd), будет создана (если ее нет) папка Utilites и в ней будет размещена папка SFX Tool со всеми необходимыми файлами. Должно получиться, что-то вроде D:\totalcmd\Utilites\SFX Tool. Если Вы размещаете утилиты в другой папке в TC или вообще в другом месте, то при установке можете указать свою папку. Все необходимые изменения путей в файле настроек и в кнопке будут сделаны автоматически. Файл Default.bar так же будет изменен (на всякий случай оригинальный файл будет сохранен под именем Default.bar.bak).

На панели TC появиться новая кнопка . О возможных проблемах при установке см. ниже.

 

В работе этой кнопки используются:

Все перечисленные утилиты (кроме архиватора 7-Zip) скачивать НЕ требуется (они уже имеются в архиве) и перечислены здесь как знак моей благодарности их создателям и на случай если кому-то захочется познакомиться с ними поближе или обновить их.

Архиватор 7-Zip должен быть у каждого, кто захочет скачивать и использовать кнопку.

 

Описание файла настроек (Settings.ini)


Некоторые параметры можно/нужно изменить на свои в файле Settings.ini. Сами названия параметров изменять нельзя! Можно изменять только их значения. Пропишите в них (в значениях) нужные Вам пути и параметры после знака равенства (=).

ВАЖНО! Даже если пути содержат пробелы, то заключать их в кавычки НЕ надо!

Если Вы устанавливали кнопку с помощью инсталлятора (не важно меняли или не меняли путь по умолчанию), то править пути не надо! Все должно работать. Исключением из этого может быть путь к архиватору 7-Zip, и только если он установлен в "нестандартном" месте.

Пути могут быть абсолютными или относительными (как показано в описании ниже). Переменные в относительных путях должны быть заключены в знаки процента (%) или восклицательные знаки (!).

 

Файл настроек (Settings.ini)

Параметр=значение параметра

Описание параметра и допустимых значений

modecomp=LZMA

Определяет основной (по умолчанию) метод сжатия архива.

При сжатии может использоваться метод LZMA или LZMA2. Основной метод используется при удерживании клавиши [Shift], а альтернативный - при удерживании клавиш [Shift]+[Ctrl].

Допустимые значения: LZMA и LZMA2.

pattern=MC,DT,TM

Штамп имени выходных файлов создаваемых кнопкой: filename_MC_DT_TM (filename - постоянная часть)

  1. MC - ModeCompression (_s;_ns;_nc). При использовании метода LZMA2 в префикс добавляется цифра 2 (_s2;_ns2).
  2. DT - DaTa (_yyMMdd)
  3. TM - TiMe (_hh-mm)

Компоненты в параметре разделяются запятыми. Любой из трех компонентов штампа или все сразу могут отсутствовать. Последовательность компонентов в имени выходного файла ПОСТОЯННАЯ, и не может быть изменена перемещением компонентов в штампе.

nameModule=7ZSD_LZMA.sfx

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

path7Zip=%ProgramFiles%\7-Zip\

Путь к папке архиватора 7-Zip. Имя исполняемого файла не указывается.

ВНИМАНИЕ!

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

useRAM=100

"Процент" использования памяти при выборе размера словаря для сжатия в 7z архив:

  • 1...100 - из расчета физической памяти
  • -1...-100 (со знаком минус) - из расчета свободной памяти

maxicon=48

Определяет максимальный размер иконки, с которыми будут производиться операции. Допустимые значения: 32 (32х32) и 48 (48х48).

compnts=4

Число извлекаемых из SFX архива компонентов (3...5) при нажатии "Да" в окне "Извлечение компонентов SFX архива". Список компонентов, которые могут быть извлечены:

  1. 7z архив
  2. Файл конфигурации
  3. Иконка
  4. Файл ресурсов
  5. SFX модуль

Число 3 означает, что будут извлечены только первые 3 компонента по списку, а число 4 означает, что будут извлечены только первые 4 компонента по списку.

maxlen=9000

Максимальная длина файла конфигурации в байтах.

Если длина файла будет больше, то он не будет "признан" файлом конфигурации. Можете изменить, если ваши файлы конфигурации больше .

waitmov=70

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

Время в миллисекундах.

timer=10

Таймер на автоматическое закрытие окна сообщения об успешном создании SFX архива.

Время в секундах.

extractwait=300

Выдержка для имитации процесса распаковки архива в диалоговом окне 'ExtractTitle' SFX архива.

Время в секундах.

finishwait=30

Выдержка для имитации работы таймера в диалоговом окне 'FinishMessage' SFX архива.

Допустимый диапазон 1...999, при 1 - окно будет отображаться постоянно, без таймера. Значение 0 НЕ используйте т.к. это запретит вывод окна даже при его наличии.

Время в секундах.

delrem=1

Удаление комментариев из файла конфигурации:

  • 1 - удалять комментарии
  • 0 - не удалять комментарии

beeper=1

Воспроизводить звуковой сигнал при запуске кнопки. Начало сигнала означает запуск кнопки и завершение опроса клавиш [Shift], [Ctrl], [Alt]:

  • 1 - воспроизводить звук
  • 0 - не воспроизводить звук

fstbildat=17.12.2006

Дата выхода первой сборки программы в формате dd.MM.yyyy

Опускать незначащие нули в дате и месяце, а также столетия в годе или изменять разделитель не допускается! Например, 8 марта 2001 года нельзя записывать так: 8.03.2001, или 8.3.2001, или 08.03.01. Она должна записываться только так: 08.03.2001 (десять символов).

Если параметр 'fstbildat' определен в файле Settings.ini и/или в файле ресурсов Вы можете использовать переменную %autobuild% которая будет равна числу дней прошедших с выпуска первой сборки до текущего дня. Эта переменная может использоваться в секции "копирайтов" файла Settings.ini и/или в файле ресурсов.

Переменная %autobuild% может быть полезна, если Вы не хотите каждый раз вручную править номер сборки в "копирайтах".

Секция "копирайтов"

Префикс "значение параметра" (для '-pv' и '-fv')
Префикс "параметр=значение параметра" (для '-vs')

Описание параметра и допустимых значений

-pv "0.6.1.%autobuild%"
-fv "0.6.1.%autobuild%"
-vs "ProductVersion=Версия продукта 6.1"
-vs "FileVersion=Версия файла 6.1 сборка %autobuild%"
-vs "Comments=Кнопка для работы с 7z SXF архивами"
-vs "CompanyName=Компания 'gora-sah'"
-vs "FileDescription=7z SFX archive tool"
-vs "InternalName=Button for TC"
-vs "LegalCopyright=Ни каких прав нет (пока?)"
-vs "LegalTrademarks=Еще нет"
-vs "OriginalFilename=Button.exe"
-vs "PrivateBuild=%date%"
-vs "ProductName=Button TC #6"
-vs "SpecialBuild=Только для пользователей TC ;)"

Вся строка "значение параметра" (для '-pv' и '-fv') или "параметр=значение параметра" (для '-vs'), за исключением префикса ('-pv', '-fv', '-vs'), должна быть заключена в кавычки. Их наличие обязательно!

Здесь можете указать Ваши данные. Можно использовать кириллицу, но будьте осторожны со спец. символами. Кавычки, восклицательный знак (возможно и некоторые другие) - не обрабатываются!

Любой из этих параметров может отсутствовать или быть закомментирован (символ ';' в начале строки). При этом, в созданном Вами SFX архиве, останется информация наследуемая из модифицированного модуля, соответствующая отсутствующему параметру. Исключением из этого правила являются параметры '-vs ProductVersion' и '-vs FileVersion' см. ниже.

Значения в параметрах '-pv' и '-fv' отсутствовать НЕ могут и должны быть представлены в следующем формате. Значение должно состоять из четырех чисел разделенных точками. Каждое число может быть в диапазоне 0...65535. Данный формат изменять НЕЛЬЗЯ.

Во всех остальных параметрах (префикс '-vs') может быть произвольный текст, или значения могут отсутствовать (после знак равно '=' ничего нет). В последнем случае, в созданном Вами SFX архиве, информация, соответствующая параметру, будет пустой (будут стерты значения, наследуемые из модифицированного модуля).

  • '-pv' версия продукта (числовой формат).
  • '-fv' версия файла (числовой формат).
  • '-vs ProductVersion' версия продукта (текстовой формат). Если строка отсутствует или закомментирована, то в ресурсы SFX архива будет подставлена информация из '-pv', только в текстовом формате. Например, так -vs "ProductVersion=0, 6, 1, 170"
  • '-vs FileVersion' версия файла (текстовой формат). Если строка отсутствует или закомментирована, то в ресурсы SFX архива будет подставлена информация из '-fv', только в текстовом формате. Например, так -vs "FileVersion=0, 6, 1, 170"
  • '-vs Comments' комментарии.
  • '-vs CompanyName' название компании.
  • '-vs FileDescription' описание файла.
  • '-vs InternalName' внутреннее имя.
  • '-vs LegalCopyright' авторское право.
  • '-vs LegalTrademarks' товарные знаки.
  • '-vs OriginalFilename' исходное имя файла.
  • '-vs PrivateBuild' частная сборка.
  • '-vs ProductName' название продукта.
  • '-vs SpecialBuild' специальная сборка.

 

Работа над кнопкой не закончена. Некоторые возможности кнопки проходят тестировании. Постарайтесь не трогать/не изменять не анонсированные параметры, назначение которых Вам не ясно!

 

Описание файла ресурсов (.res) и его использования


;@Resources@ANSI-1251@
-pv "0.6.1.170"
-fv "0.6.1.170"
-vs "ProductVersion=Версия продукта 6.1"
-vs "FileVersion=Версия файла 6.1 сборка 170"
-vs "Comments=Кнопка для работы с 7z SXF архивами"
-vs "CompanyName=Компания 'gora-sah'"
-vs "FileDescription=7z SFX archive tool"
-vs "InternalName=Button for TC"
-vs "LegalCopyright=Ни каких прав нет (пока?)"
-vs "LegalTrademarks=Еще нет"
-vs "OriginalFilename=Button.exe"
-vs "PrivateBuild=31.05.2007"
-vs "ProductName=Button TC #6"
-vs "SpecialBuild=Только для пользователей TC ;)"

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

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

Файл ресурсов, применяемый в кнопке, - простой текстовый файл, сохраненный в кодировке ANSI-1251 (кодировка по умолчанию в которой сохраняет "Блокнот"), но имеет расширение .res.

Первая строка (;@Resources@ANSI-1251@) является сигнатурой, изменять ее написание или переносить в другое место нельзя. Все остальные параметры могут быть закомментированы Вами или удалены. Все что написано про секцию "копирайтов" в файле Settings.ini относиться и к файлу ресурсов. Сходство их Вы уже, наверное, заметили.

В файле допускаются комментарии, которые должны предваряться символом (;).

Допускается использование параметра 'fstbildat' в виде закомментированной строки (лучше второй строкой), например: ;fstbildat=17.12.2006. При этом, заключать в кавычки ничего не надо. Работает этот параметр так же, как одноименный параметр в файле Settings.ini, но имеет перед ним приоритет.
Использование переменной %autobuild% допускается.

Возможно одновременное использование секции "копирайтов" и файла ресурсов. При этом одноименные параметры в файле ресурсов будут иметь приоритет. Это можно использовать следующим образом.

Вы можете оставить в файле Settings.ini параметры, имеющие постоянное значение, например, '-vs CompanyName', '-vs LegalCopyright', '-vs LegalTrademarks' и т.д., а в файле ресурсов опустить эти параметры и оставить только те, которые непосредственно касаются создаваемого Вами SFX архива.
Это позволит Вам не корректировать файл Settings.ini каждый раз, а иметь для каждого проекта свой файл ресурсов меньшего размера.

 

Удаление кнопки


Для удаления кнопки и всех файлов, установленных при работе инсталлятора, достаточно удалить папку SFX Tool и кнопку с панели TC (щёлкните правой кнопкой мыши по кнопке и выберите пункт "Удалить").

Ни каких дополнительных файлов и записей в реестре ни инсталлятор, ни кнопка во время работы не делают!

 

Возможные проблемы


1. Могут возникнуть проблемы с установкой кнопки, если Вы используете не оригинальный TC, а одну из многочисленных сборок. Авторы сборок зачастую позволяют себе удалять или переименовывать фалы оригинального TC и предугадать все их "фантазии" в инсталляторе не возможно. В любом случае, папка кнопки (папка SFX Tool со всеми необходимыми файлами) будет установлена в указанное (инсталлятором или Вами) место, а вот кнопку на панели TC, возможно, придется сделать вручную.

Код кнопки

TOTALCMD#BAR#DATA
Button.exe
%L
%commander_path%\Utilites\SFX Tool\Button.exe
7z SFX archive tool #15.0
%commander_path%\Utilites\SFX Tool\

-1

Чтобы создать кнопку, скопируете ее код в буфер обмена, затем щёлкните правой кнопкой по пустому месту на панели инструментов TC, и выберите пункт "Вставить" (этот пункт появится только в том случае, если в буфере обмена у вас правильный код кнопки).

Ручная установка кнопки

На панели появится новая кнопка . В некоторых случаях у кнопки может не появиться иконка - тогда попробуйте выбрать пункт "Изменить..." на этой кнопке, но не применяйте никаких изменений (это заставит TC обновить иконки на панели).

Если Вы установили кнопку не в папку, предложенную инсталлятором, а в свою, то нужно будет поправить пути в строках 4 и 6 кода кнопки.

 

2. В именах файлов, обрабатываемых кнопкой, и папок/путей (в которых расположены эти файлы) не используйте специальные символы (!,%,&,<,>,^ и т.п.) т.к. кнопка их может не обработать или обработать неправильно!

 


 

Все, можете пользоваться!

Всем желаю успехов.

© gora, 23.02.2010

Рейтинг@Mail.ru