рдореЛрдмрд╛рдЗрд▓ рд╡реЗрдм рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ: рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдФрд░ рдЯрд┐рдкреНрд╕

рдПрдХ рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп, рдореБрдЭреЗ рдХреБрдЫ рдЪреАрдЬреЗрдВ рдорд┐рд▓реАрдВ рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореБрдЭреЗ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрдм рд╢реБрд░реВ рдХрд┐рдпрд╛ рдерд╛ред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЫреЛрдЯреЗ рд╕реБрдЭрд╛рд╡реЛрдВ рдХреЗ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдПрдХ рд▓реЗрдЦ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдпреЗ рд╕реБрдЭрд╛рд╡ рдлреЛрдирдЧреИрдк, рд╡рд┐рдВрдбреЛрдЬ 8 рдФрд░ рдлрд╛рдпрд░рдлреЙрдХреНрд╕ рдУрдПрд╕ рдХреЗ рд▓рд┐рдП рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдкрд░ рдЕрдзрд┐рдХ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИрдВред рд▓реЗрдХрд┐рди рдореЛрдмрд╛рдЗрд▓ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХрд╛рдо рднреА рдЖ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рдореИрдВ рд▓рд┐рдВрдХ рджреВрдВрдЧрд╛ рдХрд┐ рдЖрдЦрд┐рд░рдХрд╛рд░ рдХреНрдпрд╛ рд╣реБрдЖ

рдореАрдбрд┐рдпрд╛ рдХреЗ рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдкрд░ рднрд░реЛрд╕рд╛ рди рдХрд░реЗрдВред

рдЦрд╛рд╕рдХрд░ Android рдкрд░ред рдХреАрдмреЛрд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдореАрдбрд┐рдпрд╛ рдЪрдпрдирдХрд░реНрддрд╛ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЖрдкрдХреЛ рдЗрд╕реЗ рднреА рд╕рдВрднрд╛рд▓рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдирд░рдХ рдмрдирдирд╛ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдЕрдЧрд░ рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдореЗрдВ рдкреЛрд░реНрдЯреНрд░реЗрдЯ рдФрд░ рд▓реИрдВрдбрд╕реНрдХреЗрдк рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдирдЬрд╝рд░ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдпрд╣ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ:

рдпрджрд┐ рд╣рдо 800px рдпрд╛ рдЙрд╕рд╕реЗ рдЕрдзрд┐рдХ рдХреА рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдКрдВрдЪрд╛рдИ рд╡рд╛рд▓реЗ рдлреЛрди рдкрд░ рдЕрдкрдирд╛ рдЙрджрд╛рд╣рд░рдг рдЦреЛрд▓рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рд░рдВрдЧ рдмреНрд▓реЙрдХ рдирд╣реАрдВ рджреЗрдЦреЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдореАрдбрд┐рдпрд╛ рдЪрдпрдирдХрд░реНрддрд╛ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рд╣рдо рдбреЗрдЯрд╛ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдирдкреБрдЯ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреАрдмреЛрд░реНрдб рдЦреБрд▓рддрд╛ рд╣реИ рдФрд░ рдмреНрд▓реЙрдХ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ (рдЦрд┐рдбрд╝рдХреА рдХреА рдКрдВрдЪрд╛рдИ рдмрджрд▓ рдЬрд╛рддреА рд╣реИ), рдЬреЛ рдХрд┐ рдЪреАрдЬреЛрдВ рдХрд╛ рдПрдХ рддрд╛рд░реНрдХрд┐рдХ рдкрд╛рдареНрдпрдХреНрд░рдо рд╣реИред рд╕рдорд╛рдзрд╛рди: рд╕реНрдХреНрд░реАрди рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдЕрднрд┐рд╡рд┐рдиреНрдпрд╛рд╕ рдФрд░ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ редavailWidth рдФрд░ screen.availHeight рдЧреБрдгред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпреЗ рдЧреБрдг рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдУрд░рд┐рдПрдВрдЯреЗрдХрдЪреЗрдВрдЬ рдЗрд╡реЗрдВрдЯ рдХрд░рддрд╛ рд╣реИред рдЗрд╕реА рддрд░рд╣ рдХрд╛ рдХреЛрдб рд╣рдореЗрдВ рдХреБрдЫ рд╕рдордп рдФрд░ рдкреНрд░рдпрд╛рд╕ рдмрдЪрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред
var displayModeLandscape = false; var width = 0; var height = 0; var setPortrait = function() { $('html').addClass('portrait').removeClass('landscape'); displayModeLandscape = false; }; var setLandscape = function() { $('html').addClass('landscape').removeClass('portrait'); displayModeLandscape = true; }; var currentOrientation = function() { width = screen.availWidth || $(window).width(); height = screen.availHeight || $(window).height(); if(height > width) { setPortrait(); } else { setLandscape(); } }; $(window).on('orientationchange', currentOrientation); currentOrientation(); 


Reset.css рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реЗрдВ

рдорд╛рдирдХ reset.css рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рд╢реИрд▓реА рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ рдЬреЛ рддрдкрд╕ рдореЗрдВ рддрддреНрд╡реЛрдВ рдХреЗ рдЪрдпрди рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕реБрдВрджрд░ рдпрд╛ рддрдЯрд╕реНрде рдирд╣реАрдВ рд▓рдЧреЗрдЧрд╛
 *:not(html) { -webkit-user-select: none; -moz-user-select: none; user-select: none; -webkit-tap-highlight-color: rgba(255, 255, 255, 0); } 


рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рддреНрд╡рд░рдг рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВред

рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдореЗрдВ рдПрдирд┐рдореЗрд╢рди рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЧреНрд░рд╛рдлрд┐рдХ рддреНрд╡рд░рдг рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЧреБрдг рдЖрдкрдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИрдВред рдЗрдирдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ: рдкрд░рд┐рд╡рд░реНрддрди, рдЕрдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ред рд╕реАрдПрд╕рдПрд╕ рдЯреНрд░рд╛рдВрд╕рдлрд╝реЙрд░реНрдо рдкреНрд░реЙрдкрд░реНрдЯреА рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ рдФрд░ рдЗрд╕реЗ рдЗрди рдЧреБрдгреЛрдВ рдХреЗ рд╕рдВрдХреНрд░рдордг рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд▓реЗрдлреНрдЯ, рдЯреЙрдк, рд░рд╛рдЗрдЯ рдХреЗ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдо рдмрд╣реБрдд рддреЗрдЬ рд╣реИред



рдЯреЗрдкреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдХреНрд▓рд┐рдХреЛрдВ рдХрд╛ рдирд╣реАрдВред

рдЬрдм рдореИрдВрдиреЗ рдореЛрдмрд╛рдЗрд▓ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдХреНрд▓рд┐рдХ рдХреА рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреА, рддреЛ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА 300ms рдХреА рджреЗрд░реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрд╛ рдерд╛ред рдЗрд╕рд▓рд┐рдП, рддрддреНрд╡реЛрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреИрдХ рдФрд░ рдЯреИрдк рдИрд╡реЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рд╕рдВрдмрдВрдзрд┐рдд рд▓реЗрдЦ рдореЗрдВ рдЗрд╢рд╛рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ ред

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЙрджрд╛рд╣рд░рдг рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдбреЗрд╕реНрдХрдЯреЙрдк рдкрд░ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдЯрдЪ рдЗрд╡реЗрдВрдЯ рдФрд░ рдХреНрд▓рд┐рдХ рдЗрд╡реЗрдВрдЯ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ ~ 100 рдПрдордПрд╕ рдФрд░ ~ 400 рдореЛрдмрд╛рдЗрд▓ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдкрд░ рд╣реИ

рд▓реЛрдХрд▓рд╕реНрдЯреЛрд░реЗрдЬ рдФрд░ рдХреИрд╢рд┐рдВрдЧ

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдХреИрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд╛рде рд╣реА рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЛрдХрд▓рд╕реНрдЯреЛрд░реЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред LocalStorage рдПрдХ рдирд┐рд░рдВрддрд░ рднрдВрдбрд╛рд░ рд╣реИ рдФрд░ рдЬрдм рдЖрд╡реЗрджрди рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рд╡рд╣ рдмрдирд╛ рд░рд╣рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдордд рднреВрд▓рдирд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, iOs рдкрд░ рдЕрдзрд┐рдХрддрдо рдЖрдХрд╛рд░ 5 рдПрдордмреА рд╣реИ рдпрд╛ рдХрд┐ рдПрдВрдбреНрд░реЙрдЗрдб <3.2 рдкрд░ рд╡реЗрдмрдХрд┐рдЯ рд╕рдВрд╕реНрдХрд░рдг рдПрдХ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХрддрд╛ рд╣реИ рдЬрдм JSON.parse (рдирд▓), рдЕрдиреНрдп рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╢реВрдиреНрдп рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред

рдЙрдкрдпреБрдХреНрдд рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреБрдХреНрдд рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдпрджрд┐ рдЖрдк Android рдпрд╛ iOS рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдХреНрд░реЛрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдУрдПрд╕ рдХреЗ рддрд╣рдд - рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕, рд╡рд┐рдВрдбреЛрдЬ 8 - IE10 рдХреЗ рддрд╣рддред рдмрд╣реБрдд рд╕рд╛рд░реЗ рдПрдиреАрдореЗрд╢рди рдХреЗ рд╕рд╛рде рдЧреЗрдо рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд▓рд╛рдЗрдмреНрд░реЗрд░реА https://github.com/mrdoob/stats.js/ рднреА рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧреАред рдпрд╛ рдЖрдк рдмрд┐рд▓реНрдЯ-рдЗрди рдХреНрд░реЛрдо рдПрдлрдкреАрдПрд╕ рдХрд╛рдЙрдВрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рдмрд╕ рдХреНрд░реЛрдо: // рдЭрдВрдбреЗ / рдФрд░ рдЗрд╕реЗ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреНрд░реЛрдо рдореЗрдВ рдЯреЗрдк рдХрд╛ рдЕрдиреБрдХрд░рдг рд╣реИ - рдпрд╣ рдЬреЗрд╕реНрдЪрд░ рдбрд┐рдмрдЧрд┐рдВрдЧ рдореЗрдВ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдкреНрд░реЛрд╣рд┐рдмрд┐рдЯ рд╕реНрдХреЗрд▓рд┐рдВрдЧ

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЯреИрдЧ рдХреЛ рд╣реЗрдб рдЯреИрдЧ рдореЗрдВ рдбрд╛рд▓рдХрд░, рдЖрдк рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдкрд░ рд░реЛрдХ рд▓рдЧрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╢рд╛рд░реЛрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред
 <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"> 


рдЗрд╢рд╛рд░реЗ рдХрд╛ рдЕрдиреБрдХреВрд▓рдиред

рдЬрдм рдЖрдк рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЗрд╕реНрдЪрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ stopDefault () рдФрд░ stopPropagination () рдЪрд▓рд╛рдПрдБред

рдЕрдкрдирд╛ рдХреЛрдб рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝ рдХрд░реЗрдВред

рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдХрд╛ рдпрд╣ рдорддрд▓рдм рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдХрд┐ рдЖрдкрдХрд╛ рдХреЛрдб рдкрд╛рдЧрд▓рдкрди рд╕реЗ рд▓рдВрдмрд╛ рдЪрд▓рддрд╛ рд╣реИред рдкрддрд▓реЗ рдзрдмреНрдмреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП Profiler рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЬрд┐рддрдирд╛ рд╣реЛ рд╕рдХреЗ DOM рдХреЛ рдХрдо рд╕реЗ рдХрдо рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ, рдФрд░ рд╣рдореЗрд╢рд╛ рдбрд┐рд▓реАрдЯ (рдЫреБрдкрд╛рдиреЗ рд╡рд╛рд▓рд╛) (рдбрд┐рд╕реНрдкреНрд▓реЗ: рдХреЛрдИ рдирд╣реАрдВ) рдиреЛрдбреНрд╕ рдЬреЛ рдЖрдк рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЖрдкрдХреЗ рдкрд╛рд╕ рдЬрд┐рддрдирд╛ рдЕрдзрд┐рдХ рдбреЛрдо рд╣реЛрдЧрд╛, рдЙрд╕рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд▓рди рдзреАрдорд╛ рд╣реЛрдЧрд╛ред

рдПрдХ рдЖрдлреНрдЯрд░рд╡рд░реНрдб рдХреЗ рдмрдЬрд╛рдп

рдареАрдХ рд╣реИ, рдЕрдВрдд рдореЗрдВ, рдЖрдк Google Play рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд▓рд╛рдЗрд╡ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ

Source: https://habr.com/ru/post/In186020/


All Articles