Ссылка: http://pastebin.com/dG1L2Kz7