рд╣рдм рдкрд░ рдпрд╣рд╛рдВ рд╕рд╣рд┐рдд рд▓реЗрдЦ рдЯреЗрдореНрдкрд▓реЗрдЯ рдЗрдВрдЬрди рдХреЗ рд╡рд┐рд╖рдп рдкрд░ рдмрд╣реБрдд рдХреБрдЫ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ
рдкрд╣рд▓реЗ, рдпрд╣ рдореБрдЭреЗ рд▓рдЧ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдХреБрдЫ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП - "рдШреБрдЯрдиреЗ рдкрд░" - рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛ред
рд▓реЗрдХрд┐рди, рдРрд╕рд╛ рд╣реБрдЖ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рдореБрдЭреЗ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдХрд╛рд░реНрдп рднреЗрдЬрд╛ред
рд▓рд┐рдЦреЗрдВ, рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯреЗрдореНрдкрд▓реЗрдЯ рдЗрдВрдЬрди, рдЗрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ рдпрд╣рд╛рдВ, рдлрд┐рд░ рдЖрдк рдПрдХ рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдЖрдПрдВрдЧреЗред
рдЖрд╡рд╢реНрдпрдХрддрд╛, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЕрддреНрдпрдзрд┐рдХ рдереА, рдФрд░ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рдЙрдкреЗрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред
рд▓реЗрдХрд┐рди рдЦреЗрд▓ рдХреЗ рд╣рд┐рдд рдореЗрдВ рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд╕рдм рдХреБрдЫ рдЗрддрдирд╛ рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИред
рджрд░рдЕрд╕рд▓, рдЕрдЧрд░ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ, рддреЛ рдХрдЯреМрддреА рдХреЗ рддрд╣рдд рдХреБрдЫ рдиреЛрдЯ рдФрд░ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд░ред
рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдиреНрд╣реЗрдВ рдХреЗрд╡рд▓ рджреЗрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
рдкрд░рд┐рдгрд╛рдо ,
рдмрд┐рд▓реНрд▓реА ред
рджрд┐рдП рдЧрдП:
рд╕реНрд░реЛрдд рдЯреЗрдореНрдкрд▓реЗрдЯ JS рд╕реНрдЯреНрд░рд┐рдВрдЧ () рд╣реИ, рдФрд░
рдбреЗрдЯрд╛ JS рдСрдмреНрдЬреЗрдХреНрдЯ () рд╣реИред
рдлреЙрд░реНрдо рдХреЗ
рдмреНрд▓реЙрдХ {% рдирд╛рдо%} рдмреЙрдбреА {% /%} , рдЕрд╕реАрдорд┐рдд
рдиреЗрд╕реНрдЯрд┐рдВрдЧ рд╕рдВрднрд╡ рд╣реИ ред
рдпрджрд┐ рдирд╛рдо рдорд╛рди рдПрдХ
рд╕реВрдЪреА рд╣реИ , рддреЛ рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ,
рдЕрдиреНрдпрдерд╛ рдпрджрд┐ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рд╣реИ, рддреЛ
рдПрдХ рддрддреНрд╡ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рджреЗрдЦреЗрдВ:
{{рдирд╛рдо}} ред
рдмреНрд▓реЙрдХ рдФрд░ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдореЗрдВ, рдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ
рдмрд┐рдВрджреБрдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ
рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ , рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП
{{ред}} рдпрд╛
{%ред%} , рдЬрд╣рд╛рдВ рдмрд┐рдВрджреБ
рд╢реАрд░реНрд╖- рд╕реНрддрд░ рдХреА рд╡рд╕реНрддреБ рдХрд╛
рд╡рд░реНрддрдорд╛рди рддрддреНрд╡ рд╣реЛрдЧрд╛ред
рдЕрднреА рднреА рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рд╣реИрдВ - рдпрд╣
{# рдХрд┐рд╕реА рднреА рдЯрд┐рдкреНрдкрдгреА w \ wo рдорд▓реНрдЯреАрд▓рд╛рдЗрди #} рд╣реИ ред
рдлрд╝рд┐рд▓реНрдЯрд░ рд╕реНрд╡рдпрдВ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рд╣реИрдВ; рд╡реЗ рдПрдХ рдмреГрд╣рджрд╛рдиреНрддреНрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ:
{{ред: рдЯреНрд░рд┐рдо: рдХреИрдкрд┐рдЯрд▓рд╛рдЗрдЬрд╝ ...}} ред
рдпрд╣ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:
var str = render (tpl, obj);
рд╕рд╛рдмрд┐рдд:
рдЖрддреНрдо-рд╕рдореНрдорд╛рди рдХреЗ рд▓рд┐рдП +1 ред
UPD 2 : рдореИрдВ рдЕрднреА рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ "рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП" рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдХреНрдпреЛрдВ, рдЖрдкрдХреЛ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЕрдзрд┐рдорд╛рдирддрдГ рдбрд┐рдмрдЧрд░ рдХреЗ рд╕рд╛рдеред
UPD 3 : рдпрд╣ "рдЙрдВрдЧрд▓рд┐рдпреЛрдВ рдкрд░" рд╣реИред рдЕрднреА рднреА "рдЕрдиреБрдХреВрд▓рди" рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛рдБ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рдХрдо рд╕реНрдкрд╖реНрдЯ рд╣реЛрдЧрд╛ред
рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред
рдХреНрдпреЛрдВрдХрд┐ рдЪреВрдВрдХрд┐ рд╕реНрд░реЛрдд рдЯреЗрдореНрдкрд▓реЗрдЯ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИ, рдЖрдк рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рд▓рд╛рдн рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред
рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП, рдЖрдк рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╡реЗ рдЪрдордХ рди рджреЗрдВ:
рд╕рдВрдХреЗрдд:
[^] рдХрд┐рд╕реА рднреА рдЪрд░рд┐рддреНрд░ рдХрд╛ рдорддрд▓рдм рд╣реИ,
* - рдЬрд┐рддрдиреА рдмрд╛рд░ рдЖрд╡рд╢реНрдпрдХ рд╣реЛред
рдЕрдм рдЖрдк рд╕реЛрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо "рд╕реНрд╡рдЪреНрдЫ" рдкрд░рд┐рдгрд╛рдо рдХреЛ рдХреИрд╕реЗ рдкрд╛рд░реНрд╕ рдХрд░реЗрдВрдЧреЗред
рдЪреВрдВрдХрд┐ рдмреНрд▓реЙрдХ рд╕рдВрднрд╡ рд╣реИ рдиреЗрд╕реНрдЯреЗрдб рд╣реИрдВ, рдореИрдВ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рд╕рдм рдХреБрдЫ рдПрдХ рдкреЗрдбрд╝ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдПред
рдкреЗрдбрд╝ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрддрд░ рдкрд░ рдЬреЗрдПрд╕ рдЕрд░реНрд░реЗ () рд╣реЛрдВрдЧреЗ, рдЬрд┐рдирдХреЗ рддрддреНрд╡реЛрдВ рдореЗрдВ рдПрдХ рд╕рдорд╛рди рд╕рдВрд░рдЪрдирд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред
рдЗрд╕ рд╕рд░рдгреА рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдордХреНрдЦрд┐рдпреЛрдВ рдХреЛ рдХрдЯрд▓реЗрдЯ рд╕реЗ рдЕрд▓рдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдЗрд╕рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ
String.split () рдФрд░
String.match () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ ред
рд╣рдореЗрдВ
obj рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЕрдВрджрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ
рд╡реИрд▓ рдирд╛рдо
рдкрд░ рдПрдХ рдЧрд╣рд░реА
рдЦреЛрдЬ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд▓рд╛рдЧреВ getObjDeep рд╡рд┐рдХрд▓реНрдк: var deeps = function (obj, val) { var hs = val.split('.'); var len = hs.length; var deep; var num = 0; for (var i = 0; i < len; i++) { var el = hs[i]; if (deep) { if (deep[el]) { deep = deep[el]; num++; } } else { if (obj[el]) { deep = obj[el]; num++; } } } if (num == len) { return deep; } else { return undefined; } };
рдФрд░ рддреБрд░рдВрдд рдореИрдВ THANKS,
рд╕рдмреНрдЬрд╝реА рдХреЛ
рд▓рд╛рд▓рдЪреА рдорд╛рддреНрд░рд╛рддреНрдордХ рдирд┐рд░реНрдзрд╛рд░рдг рдХреЗ рд▓рд┐рдП
рдХрд╣реВрдВрдЧрд╛ ред
UPD 1 :
рдЕрдВрдХ # 2 рдХреЗ рд▓рд┐рдП
lynx1983 рдХрд╛ рдзрдиреНрдпрд╡рд╛рджред
рдЗрд╕рд▓рд┐рдП, рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реЗрдВ рдФрд░ рддрддреНрд╡реЛрдВ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ:
рдЙрдбрд╝рд╛рдиреЛрдВ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рджреЛ рд╕рд░рдгрд┐рдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдПрдХ рдореЗрдВ, рд╣рдо рдмреНрд▓реЙрдХреЛрдВ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░реЗрдВрдЧреЗ, рджреВрд╕рд░реЗ рдореЗрдВ рдорд╛рдЪрд┐рд╕ рдЪрдХреНрд░ рд╕реЗ рд╡рд░реНрддрдорд╛рди рддрддреНрд╡ рд╣реЛрдЧрд╛ред
рдпрд╣рд╛рдВ рдмреНрд▓реЙрдХ рдЪрдпрдирд┐рдд рдмреНрд▓реЙрдХреЛрдВ рдХреЗ рд╕рд╛рде рдкрд░рд┐рдгрд╛рдореА рд╕рд░рдгреА рд╣реИ, рдФрд░ рд╡рд░реНрддрдорд╛рди рдШреЛрдВрд╕рд▓реЗ рдХреЗ рд╢рд┐рдХрд╛рд░ рдХреЗ рд╕рд╛рде рд╕рд░рдгреА рд╣реИред
рд▓реВрдк рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдореЗрдВ, рд╣рдо рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЕрдм рдХреНрдпрд╛ рд╣реИ, рдмреНрд▓реЙрдХ рдпрд╛ рдЕрдВрдд рдХреА рд╢реБрд░реБрдЖрддред
рдпрджрд┐ рдмреНрд▓реЙрдХ рдХреА рд╢реБрд░реБрдЖрдд, рдЕрд░реНрдерд╛рддреНред
str! == '/' , рдлрд┐рд░ рдПрдХ рдирдпрд╛ рддрддреНрд╡ рдмрдирд╛рдПрдВ рдФрд░ рдЗрд╕реЗ рдПрдХ рдРрд░реЗ рдореЗрдВ рдкреБрд╢ рдХрд░реЗрдВред
рдФрд░ рд╕рд╛рде рд╣реА рдЗрд╕реЗ рдХрд▓рд╢ рдореЗрдВ рдзрдХреЗрд▓ рджреЗрдВред рд╣рдореЗрдВ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рд╣рдо рдХрд┐рд╕ рд╕реНрддрд░ рдкрд░ рд╣реИрдВред
рд░рд╛рд╕реНрддреЗ рдХреЗ рд╕рд╛рде, рд╣рдо рдмреНрд▓реЙрдХ рдореЗрдВ рдЦреБрдж рдХреЛ рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддреЗ рд╣реИрдВред
рддрджрдиреБрд╕рд╛рд░, рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдЦрд╛рд▓реА рдкреЗрдЯреА рд╣реИ, рддреЛ рд╣рдо рдкреЗрдбрд╝ рдХреЗ рд╢реВрдиреНрдп рд╕реНрддрд░ рдкрд░ рд╣реИрдВред
рдпрджрд┐ curnt рдЦрд╛рд▓реА рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЕрдВрддрд┐рдо curnt рдХреЗ рдиреЗрд╕реНрдЯреЗрдб рддрддреНрд╡ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рддрджрдиреБрд╕рд╛рд░, рд╕рд░рдгреА рдХрд╛ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдиреНрдпреВрдирддрдо рд╣реИ:
var struct = {
рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬрд╣рд╛рдВ рдмреНрд▓реЙрдХ рдХреЗ рдмрд╛рдж рдХреБрдЫ рдФрд░ рд╣реЛ, рддреЛ
af3e.str {рдмреНрд▓реЙрдХ /%} рд╡рд░реНрддрдорд╛рди рдмреНрд▓реЙрдХ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдХреА рд░реЗрдЦрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рд╣рдо рдмреНрд▓реЙрдХ рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рд╕рдордп рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рд▓рд┐рдВрдХ рдиреАрдЪреЗ рд░рдЦ рджреЗрдВрдЧреЗ, рдФрд░ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗред
рдЙрд╕реА рд╕рдордп, рд╣рдо рдХрд░реНрдЯ рддрддреНрд╡ рдХреЗ рдЕрдВрддрд┐рдо рддрддреНрд╡ рдХреЛ рд╣рдЯрд╛ рджреЗрддреЗ рд╣реИрдВред
if (str === '/') {
рдЕрдм рд╣рдо рдПрдХ рдЖрдпрд╛рдореА рдЖрдпрд╛рдо рдПрдХрддреНрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдЙрдирдХреА рд╡рд░реНрддрдорд╛рди рдУрдмрдЬ рдХреЗ рд╕рд╛рде рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдкрджрд╛рд░реНрде рд╣реЛрдВрдЧреЗред
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрд░рд┐рдгрд╛рдореА рдмреНрд▓реЙрдХреЛрдВ рдХреЛ "рдкрд╛рд░реНрд╕" рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рд╕реВрдЪреА рд╣реЛ рд╕рдХрддреА рд╣реИред
рдпрд╣ рдереЛрдбрд╝рд╛ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд▓реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ рдпрд╣ рдЕрдм рдЗрддрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
рдкрд╛рд░реНрд╕реЗрдмреНрд▓реЙрдХ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреГрд╢реНрдп () var parseBlocks = function ( blocks, stars ) { var len = blocks.length; for (var i = 0; i < len; i++) { var block = blocks [i];
рдЕрдЧрд▓рд╛, рд╣рдо рдкрд░рд┐рдгрд╛рдореА рд╕рд┐рддрд╛рд░реЛрдВ рдХреЛ рдПрдХ-рдПрдХ рдХрд░рдХреЗ рдкрд╛рд░реНрд╕ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдЗрдХрдЯреНрдард╛ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдЕрдВрддрд┐рдо рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ:
var pstr = []; var len = stars.length; for ( var i = 0; i < len; i++ ) { pstr.push( parseStar ( stars[i][0], stars[i][1] ) ); }
ParseStar рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреГрд╢реНрдп () var parseStar = function ( part, current ) { var str = '';
рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рдХреЛрдб рдЕрдВрддрд┐рдо рдкрд░рд┐рдгрд╛рдо рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЫреЛрдЯрд╛ рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдпрд╣ рдирд╣реАрдВ рджрд┐рдЦрд╛рдпрд╛ рдХрд┐ рд╡рд░реНрддрдорд╛рди рддрддреНрд╡ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ рдЕрдЧрд░ рдЗрд╕реЗ рдПрдХ рдмрд┐рдВрджреБ рджрд┐рдпрд╛ рдЬрд╛рдПред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВрдиреЗ рдлрд╝рд┐рд▓реНрдЯрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдВрддрд┐рдо рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рдореИрдВрдиреЗ "рдЕрдкрдиреЗ рджрдо рдкрд░" рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрдм "рд╡рд░реНрддрдорд╛рди рддрддреНрд╡" рдпрд╛ "рдореВрд▓реНрдп" рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рд▓рдХреНрд╖реНрдп рдЦреБрдж рдЕрд╡рдзрд╛рд░рдгрд╛ рджрд┐рдЦрд╛рдирд╛ рдерд╛ ...
рдФрд░ рдкрд░рд┐рдгрд╛рдо, рдЬреИрд╕рд╛ рдХрд┐ рд▓реЗрдЦ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ,
рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛
рд╣реИ ред
рдЕрдВрддрд┐рдо рдЙрджрд╛рд╣рд░рдг
рдпрд╣рд╛рдБ рд╣реИ ред
рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХреЛрдИ рдХрд╛рдо рдЖрдПрдЧрд╛ред
рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!
:)