{"id":303756,"date":"2020-05-17T21:00:21","date_gmt":"2020-05-17T21:00:21","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=303756"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=303756","title":{"rendered":"\u0413\u0438\u043b\u044c\u043e\u0448\u0438 \u0434\u0440\u0443\u0433\u0438\u043c \u043c\u0430\u043d\u0435\u0440\u043e\u043c"},"content":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/post\/502412\/\">\u0413\u0438\u043b\u044c\u043e\u0448\u0438 \u2014 \u044d\u0442\u043e \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u043d\u044b\u0435 \u0443\u0437\u043e\u0440\u044b \u043d\u0430 \u0431\u0443\u043c\u0430\u0436\u043d\u044b\u0445 \u0434\u0435\u043d\u044c\u0433\u0430\u0445 \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u0446\u0435\u043d\u043d\u044b\u0445 \u0431\u0443\u043c\u0430\u0433\u0430\u0445. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u044b\u0439 \u0440\u0430\u0441\u0441\u043a\u0430\u0437 \u043e \u043d\u0438\u0445 \u0441 \u043e\u0442\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435\u043c \u0432 \u0438\u0441\u0442\u043e\u0440\u0438\u044e \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/305354\/\">\u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435<\/a>. \u0422\u0430\u043c \u0436\u0435 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u043b\u0441\u044f \u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f, \u0441\u0442\u0440\u043e\u044f\u0449\u0438\u0439 \u0433\u0438\u043b\u044c\u043e\u0448\u0438 \u043f\u043e \u0442\u043e\u0447\u043a\u0430\u043c.<\/p>\n<p>  \u0414\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0431\u0435\u0441\u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0439, \u043d\u0430\u0434\u043e \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c, \u0435\u0441\u043b\u0438 \u043c\u044b \u0440\u0438\u0441\u0443\u0435\u043c \u0438\u0445 \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u043b\u044f \u0440\u0430\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u044f, \u0430 \u0432 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0446\u0435\u043b\u044f\u0445 \u2014 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0447\u0442\u043e\u0431\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u0434\u0438\u0437\u0430\u0439\u043d \u0442\u0435\u0445 \u0441\u0430\u043c\u044b\u0445 \u0446\u0435\u043d\u043d\u044b\u0445 \u0431\u0443\u043c\u0430\u0433. \u0422\u044b\u0441\u044f\u0447\u0438 \u0442\u043e\u0447\u0435\u043a \u0431\u0443\u0434\u0443\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u043e\u0440\u043c\u043e\u0437\u0438\u0442\u044c \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440, \u0430 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u2014 \u0432\u043c\u0435\u0441\u0442\u043e \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0445 \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u044b\u0445 \u043b\u0438\u043d\u0438\u0439 \u0442\u0430\u043c \u0431\u0443\u0434\u0435\u0442 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0443\u0441\u0440\u0435\u0434\u043d\u0435\u043d\u0438\u044f \u0442\u043e\u0447\u0435\u043a, \u0441\u0434\u0435\u043b\u0430\u043d\u043d\u044b\u0439 \u043a\u0430\u043a \u0431\u043e\u0433 \u043d\u0430 \u0434\u0443\u0448\u0443 \u043f\u043e\u043b\u043e\u0436\u0438\u0442.<\/p>\n<p>  \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438\u0448\u043b\u043e \u0432\u0440\u0435\u043c\u044f \u043f\u043e\u0434\u0443\u043c\u0430\u0442\u044c \u043e \u0434\u0440\u0443\u0433\u043e\u043c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0435 \u2014 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0434\u0430\u0432\u0430\u043b \u0431\u044b \u0441\u0440\u0430\u0437\u0443 \u0432\u0435\u043a\u0442\u043e\u0440\u0430. \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0432 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0445 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0430\u0445 \u0434\u043b\u044f \u043a\u0440\u0438\u0432\u044b\u0445 \u043b\u0438\u043d\u0438\u0439 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u043d\u0442\u0435\u0440\u043f\u043e\u043b\u044f\u0446\u0438\u044f \u043a\u0440\u0438\u0432\u044b\u043c\u0438 \u0411\u0435\u0437\u044c\u0435, \u043d\u0430 \u043d\u0438\u0445 \u0438 \u0431\u0443\u0434\u0435\u043c \u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f.<\/p>\n<p>  <a name=\"habracut\"><\/a><\/p>\n<p>  \u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c, \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043d\u0435\u0441\u043b\u043e\u0436\u0435\u043d \u2014 \u0438 \u043a\u0443\u0434\u0430 \u043f\u0440\u043e\u0449\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u0432 \u043f\u0435\u0440\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438. \u0411\u0435\u0440\u0435\u043c \u0434\u0432\u0435 \u043e\u0433\u0438\u0431\u0430\u044e\u0449\u0438\u0435 \u043a\u0440\u0438\u0432\u044b\u0435, \u0437\u0430\u0434\u0430\u0435\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u043e\u043b\u043d, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u0443\u043b\u043e\u0436\u0438\u0442\u044c\u0441\u044f \u0432 360 \u0433\u0440\u0430\u0434\u0443\u0441\u043e\u0432, \u043f\u0440\u0438\u043a\u0438\u0434\u044b\u0432\u0430\u0435\u043c, \u043f\u043e\u0434 \u043a\u0430\u043a\u0438\u043c \u0443\u0433\u043b\u043e\u043c \u0438 \u0441 \u043a\u0430\u043a\u043e\u0439 \u043a\u0440\u0438\u0432\u0438\u0437\u043d\u043e\u0439 \u0434\u043e\u043b\u0436\u0435\u043d \u0438\u0434\u0442\u0438 \u043e\u0442 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0442\u043e\u0447\u043a\u0438 \u0434\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0439 \u0433\u0438\u043b\u044c\u043e\u0448, \u0438 \u0438\u043d\u0442\u0435\u0440\u043f\u043e\u043b\u0438\u0440\u0443\u0435\u043c \u0435\u0433\u043e \u0447\u0435\u0442\u044b\u0440\u044c\u043c\u044f \u043a\u0440\u0438\u0432\u044b\u043c\u0438 \u0411\u0435\u0437\u044c\u0435.<\/p>\n<p>  \u0412\u043e\u0442 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Asymptote, \u043a\u0440\u0430\u0439\u043d\u0435 \u0443\u0434\u043e\u0431\u043d\u043e\u043c \u0434\u043b\u044f \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u0432\u0435\u0449\u0435\u0439.<\/p>\n<pre><code class=\"cpp\">import graph;  size(1000,1000); xaxis(ticks=Ticks); yaxis(ticks=Ticks);  defaultpen(2);  var zero = (0,0);  \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/  \/\/ \u043d\u0430\u0442\u044f\u0436\u0435\u043d\u0438\u0435 \u043a\u0440\u0438\u0432\u043e\u0439 \u0431\u0435\u0437\u044c\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0443\u0433\u043b\u0430 \u0432 \u044d\u0442\u043e\u0439 \u0442\u043e\u0447\u043a\u0435 \/\/ 0..180 -&gt; 0..1 real tens(bool at_top, real angle) {   return angle\/180; }  guide wave(path top, path bottom, int parts, real offset) {   guide w;   real step = 1\/parts;   real half = step\/2;    pair[] top_pt;   pair[] bot_pt;    pair[] top_dir;   pair[] bot_dir;    \/\/ \u0423\u0433\u043b\u044b \u0432 \u0442\u043e\u0447\u043a\u0430\u0445   real[] top_angle;   real[] bot_angle;    for(int i: sequence(0,parts-1))   {     real rel = i*step + step*offset;      real top_time = reltime(top, rel);     real bot_time = reltime(bottom, rel+half);      \/\/ \u0442\u043e\u0447\u043a\u0438 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u043a\u0440\u0438\u0432\u044b\u043c\u0438     top_pt[i] = point(top, top_time);     bot_pt[i] = point(bottom, bot_time);      \/\/ \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u043e\u0439 \u0432 \u0442\u043e\u0447\u043a\u0435 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0434\u043b\u0438\u043d\u044b rel     top_dir[i] = dir(top, top_time);     bot_dir[i] = dir(bottom, bot_time);   }    for(int i: sequence(0,parts-1))   {     int prev = i == 0 ? parts-1 : i-1;     int next = i == parts-1 ? 0 : i+1;      \/\/ t: t[i]--b[i] \/\\ t[i]--b[prev]      var v1 = bot_pt[i] - top_pt[i];     var v2 = bot_pt[prev] - top_pt[i];     var a = degrees(v2) - degrees(v1);      top_angle[i] = a&lt;0 ? 360+a : a;      \/\/ b: b[i]--t[i] \/\\ b[i]--t[next]     v1 = top_pt[i] - bot_pt[i];     v2 = top_pt[next] - bot_pt[i];     a = degrees(v2) - degrees(v1);      bot_angle[i] = a&lt;0 ? 360+a : a;   }    for(int i: sequence(0,parts-1))   {     int next = i == parts-1 ? 0 : i+1;      var l1 = length(top_pt[i]--bot_pt[i]);     pair ctl1 = top_pt[i] + top_dir[i] * tens(true, top_angle[i]) * l1;     pair ctl2 = bot_pt[i] - bot_dir[i] * tens(false, bot_angle[i]) * l1;      w = w .. top_pt[i] .. controls ctl1 and ctl2 .. bot_pt[i];      var l2 = length(bot_pt[i]--top_pt[next]);     ctl1 = bot_pt[i] + bot_dir[i] * tens(false, bot_angle[i]) * l2;     ctl2 = top_pt[next] - top_dir[next] * tens(true, top_angle[next]) * l2;      w = w .. bot_pt[i] .. controls ctl1 and ctl2 .. top_pt[next];   }    return w; }  \/\/ \u0420\u0438\u0441\u0443\u0435\u043c \u043c\u043d\u043e\u0433\u043e \u043a\u0440\u0438\u0432\u044b\u0445, \u0441\u0434\u0432\u0438\u0433\u0430\u044f \u043a\u0430\u0436\u0434\u0443\u044e void repeat(int count, path top, path bottom, int parts) {   real step = 1\/count;   for(int i: sequence(0, count-1))   {     draw(wave(top, bottom, parts, step*i));   } }  \/\/ \u041f\u0435\u0440\u0435\u043c\u0435\u0449\u0430\u0435\u043c \u043e\u0433\u0438\u0431\u0430\u044e\u0449\u0438\u0435 \u0432 \u0446\u0435\u043d\u0442\u0440 \u044d\u043a\u0440\u0430\u043d\u0430 \u0438 \u043f\u043e\u0434\u0433\u043e\u043d\u044f\u0435\u043c \u0438\u0445 \u043f\u043e\u0434 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 \/\/ \u042d\u0442\u043e \u0447\u0442\u043e\u0431\u044b \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u0440\u0430\u0442\u044c \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u043a\u0440\u0438\u0432\u044b\u0435 \u0438\u0437 \u0434\u0440\u0443\u0433\u0438\u0445 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432 \u0438 \u0441\u0438\u043b\u044c\u043d\u043e \u0441 \u043d\u0438\u043c\u0438 \u043d\u0435 \u0432\u043e\u0437\u0438\u0442\u044c\u0441\u044f path normalize(path p) {   var min = min(p);   var max = max(p);   var top_center = min + ((max.x-min.x)\/2, (max.y-min.y)\/2);   return scale(20*1\/(max-min).x)*shift(zero - top_center)*p; }  \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/  \/\/ \u0422\u0435\u0441\u0442 3 - \u043d\u0435\u043a\u0430\u044f \u043a\u0440\u0430\u0441\u0438\u0432\u0430\u044f \u043a\u0440\u0438\u0432\u0430\u044f, \u0432\u0437\u044f\u0442\u0430\u044f \u043f\u0440\u044f\u043c\u043e \u0438\u0437 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0430 path top = (338.499521684,-159.274266483)      ..controls (327.252951684,-158.148796483) and (323.448961684,-145.618286483) .. (318.743661684,-137.260595483)      ..controls (309.897671684,-123.808725483) and (292.025851684,-123.657732483) .. (278.251471684,-118.807470483)      ..controls (272.669581684,-117.510629483) and (268.731931684,-109.221757483) .. (274.571781684,-105.645360483)      ..controls (281.545351684,-101.031122483) and (290.488261684,-97.7906864833) .. (293.317871684,-89.0437964838)      ..controls (296.611021684,-81.8498064838) and (293.894071684,-73.5853264838) .. (295.556161684,-66.3445764838)      ..controls (299.563831684,-59.7686064838) and (308.181311684,-64.5344964838) .. (312.903811684,-67.4344264838)      ..controls (325.368171684,-74.9872364838) and (341.157891684,-80.6126364838) .. (355.257331684,-73.9383264838)      ..controls (363.506651684,-70.9246164838) and (370.115991684,-63.9703964838) .. (378.731941684,-62.0926264838)      ..controls (384.688491684,-61.4010364838) and (389.980631684,-67.6129964838) .. (387.306161684,-73.3211464838)      ..controls (385.256921684,-82.8346964838) and (388.441441684,-93.9447564833) .. (397.757331684,-98.3016064833)      ..controls (403.144721684,-101.085582483) and (412.671611684,-104.606352483) .. (410.331551684,-112.414892483)      ..controls (406.654931684,-119.718595483) and (396.921641684,-119.937732483) .. (390.144051684,-122.524267483)       ..controls (378.065751684,-125.483516483) and (364.313841684,-130.717262483) .. (359.884541684,-143.562216483)      ..controls (356.731021684,-151.157386483) and (350.818391684,-160.192046483) .. (341.435061684,-159.293796483)      ..controls (340.456461684,-159.306096483) and (339.478031684,-159.281196483) .. (338.499521684,-159.274296483)     --cycle;  top = normalize(top); bottom = scale(0.5)*top;  \/\/ \u0422\u0435\u0441\u0442 2 - \u043e\u0431\u044b\u0447\u043d\u044b\u0435 \u044d\u043b\u043b\u0438\u043f\u0441\u044b top = ellipse(zero, 4, 6); bottom = ellipse(zero, 2, 3);  \/\/  \u0422\u0435\u0441\u0442 1, \u0441\u0430\u043c\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439, \u0441\u0438\u043d\u0443\u0441\u044b \u043f\u043e \u043a\u0440\u0443\u0433\u0443  top = circle(zero, 5); bottom = circle(zero, 3);  \/\/ 12 \u043a\u0440\u0438\u0432\u044b\u0445, \u043a\u0430\u0436\u0434\u0430\u044f \u0441\u043e\u043f\u0440\u0438\u043a\u0430\u0441\u0430\u0435\u0442\u0441\u044f \u0441 \u043e\u0433\u0438\u0431\u0430\u044e\u0449\u0435\u0439 \u0432 8 \u0442\u043e\u0447\u043a\u0430\u0445 \/\/ top - \u0432\u043d\u0435\u0448\u043d\u044f\u044f \u043e\u0433\u0438\u0431\u0430\u044e\u0449\u0430\u044f, bottom - \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u044f\u044f repeat(12, top, bottom, 8);  \/\/ \u041e\u0433\u0438\u0431\u0430\u044e\u0449\u0438\u0435 \u0434\u043b\u044f \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u043e\u0441\u0442\u0438 \/\/draw(top, red); \/\/draw(bottom, red); <\/code><\/pre>\n<p>  \u0421\u0430\u043c\u044b\u0439 \u043f\u043e\u043d\u044f\u0442\u043d\u044b\u0439 \u0441\u043b\u0443\u0447\u0430\u0439 \u2014 \u043a\u043e\u0433\u0434\u0430 \u0441\u0438\u043d\u0443\u0441\u043e\u0438\u0434\u044b \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u044e\u0442\u0441\u044f \u043c\u0435\u0436\u0434\u0443 \u0434\u0432\u0443\u0445 \u043a\u0440\u0443\u0433\u043e\u0432.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/rm\/45\/ne\/rm45nelhvohk6fcptlog6fsyw0i.jpeg\" alt=\"image\"><\/p>\n<p>  \u0421\u043b\u0443\u0447\u0430\u0439 \u043f\u043e\u0445\u0438\u0442\u0440\u0435\u0435 \u2014 \u044d\u043b\u043b\u0438\u043f\u0441\u044b \u0432\u043c\u0435\u0441\u0442\u043e \u043a\u0440\u0443\u0433\u043e\u0432.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/tl\/j2\/yx\/tlj2yx_tsuokc88eqbf9yokptuo.jpeg\" alt=\"image\"><\/p>\n<p>  \u0418 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430, \u043f\u0440\u0438\u0431\u043b\u0438\u0436\u0435\u043d\u043d\u0430\u044f \u043a \u043f\u0440\u043e\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u043e\u043c\u0443 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044e: \u0433\u0438\u043b\u044c\u043e\u0448\u0438, \u043e\u0431\u0440\u0430\u0437\u0443\u044e\u0449\u0438\u0435 \u043d\u0435\u043a\u0443\u044e \u0445\u0443\u0434\u043e\u0436\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u0443\u044e \u0440\u043e\u0437\u0435\u0442\u043a\u0443.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/em\/9m\/57\/em9m57fxuedpxgdyblokhmycoxu.jpeg\" alt=\"image\"><\/p>\n<p>  \u0422\u0443\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442, \u043f\u0440\u0430\u0432\u0434\u0430, \u043d\u0435 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u044b\u0439. \u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043f\u043e\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e tens, \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u0430 \u0432\u0441\u0435\u0433\u0434\u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u043b\u0430 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u043d\u043e\u0435 \u00ab\u043d\u0430\u0442\u044f\u0436\u0435\u043d\u0438\u0435\u00bb 0.5. \u0410 \u0432\u043e-\u0432\u0442\u043e\u0440\u044b\u0445, \u043a\u0440\u0438\u0432\u044b\u0435 \u043b\u0435\u0436\u0430\u0442 \u043d\u0435 \u0441\u0438\u043b\u044c\u043d\u043e \u0441\u0438\u043c\u043c\u0435\u0442\u0440\u0438\u0447\u043d\u043e, \u0430 \u0432 \u043b\u0435\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0432\u043e\u0437\u043b\u0435 \u043e\u0441\u0438 X \u0438 \u0432\u043e\u0432\u0441\u0435 \u043a\u0430\u043a-\u0442\u043e \u043d\u0435\u0445\u043e\u0440\u043e\u0448\u043e \u043f\u0443\u0442\u0430\u044e\u0442\u0441\u044f. \u041a\u043e\u043d\u0435\u0447\u043d\u043e, \u044d\u0442\u043e \u0432\u0441\u0451 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0440\u0443\u043a\u0430\u043c\u0438, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0435\u0441\u043b\u0438 \u0432\u044b \u0434\u0435\u043b\u0430\u0435\u0442\u0435 \u0431\u0430\u043d\u043a\u043d\u043e\u0442\u044b \u0434\u043b\u044f \u0433\u043e\u0441\u0443\u0434\u0430\u0440\u0441\u0442\u0432\u0430 \u0438 \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442\u0435 \u043e\u0447\u0435\u043d\u044c \u043a\u0432\u0430\u043b\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u0438 \u0445\u0443\u0434\u043e\u0436\u043d\u0438\u043a\u0430\u043c\u0438, \u043d\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0438 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0441\u0447\u0435\u0442\u043e\u0432, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043e\u043d\u0438 \u044f\u0432\u043d\u043e \u0441\u0431\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0432 \u043a\u0430\u043a\u0438\u0445-\u0442\u043e \u0442\u043e\u0447\u043a\u0430\u0445, \u0433\u0434\u0435 \u0443 \u043e\u0433\u0438\u0431\u0430\u044e\u0449\u0438\u0445 \u0440\u0435\u0437\u043a\u043e \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043a\u0440\u0438\u0432\u0438\u0437\u043d\u0430.<\/p>\n<p>  \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0433\u0438\u043b\u044c\u043e\u0448\u0438 \u0438\u043d\u0442\u0435\u0440\u043f\u043e\u043b\u0438\u0440\u0443\u044e\u0442\u0441\u044f, \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0432\u043e\u043f\u0440\u043e\u0441: \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442 \u043b\u0438 \u043e\u043d\u0438 \u0441, \u0442\u0430\u043a \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u00ab\u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u043c\u0438\u00bb, \u0442\u043e \u0435\u0441\u0442\u044c \u043d\u0430\u0440\u0438\u0441\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u0438 \u043f\u043e \u0442\u043e\u0447\u043a\u0430\u043c. \u0411\u0443\u0434\u0443\u0447\u0438 \u043f\u043b\u043e\u0445\u043e \u0437\u043d\u0430\u043a\u043e\u043c \u0441 \u0434\u0438\u0444\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u0433\u0435\u043e\u043c\u0435\u0442\u0440\u0438\u0435\u0439, \u0437\u0430\u0442\u0440\u0443\u0434\u043d\u044f\u044e\u0441\u044c \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u043d\u043e \u0441\u043a\u043e\u0440\u0435\u0435 \u00ab\u043d\u0435\u0442\u00bb, \u0447\u0435\u043c \u00ab\u0434\u0430\u00bb.<\/p>\n<p>  \u041d\u043e \u043a\u0442\u043e \u0440\u0435\u0430\u043b\u044c\u043d\u043e \u0437\u0430\u043c\u0435\u0442\u0438\u0442 \u0440\u0430\u0437\u043d\u0438\u0446\u0443?<\/p>\n<p>  \u0410 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043f\u043e\u043b\u044c\u0437\u0430 \u043d\u0435\u0441\u043e\u043c\u043d\u0435\u043d\u043d\u0430 \u2014 \u0441 \u043f\u0430\u0440\u043e\u0439 \u0434\u0435\u0441\u044f\u0442\u043a\u043e\u0432 \u043a\u0440\u0438\u0432\u044b\u0445 \u0411\u0435\u0437\u044c\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043a\u0443\u0434\u0430 \u043f\u0440\u043e\u0449\u0435, \u0447\u0435\u043c \u0441 \u0442\u044b\u0441\u044f\u0447\u0435\u0439 \u0442\u043e\u0447\u0435\u043a, \u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u0434\u043b\u044f \u0434\u0438\u0437\u0430\u0439\u043d\u0430 \u043e\u043d\u0438 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u044e\u0442 \u043a\u0443\u0434\u0430 \u0431\u043e\u043b\u044c\u0448\u0435.<\/p>\n<p>  \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u044d\u0442\u043e\u0442 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u043c\u043e\u0436\u043d\u043e \u0435\u0449\u0435 \u0438 \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c. \u0421\u0440\u0430\u0437\u0443 \u043d\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0434\u0432\u0430 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430:<\/p>\n<p>  \u0430) \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0442\u043e\u0447\u0435\u043a \u043d\u0430 \u0432\u043d\u0435\u0448\u043d\u0435\u0439 \u0438 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 \u043a\u0440\u0438\u0432\u043e\u0439, \u0442\u043e\u0433\u0434\u0430 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u044d\u0444\u0444\u0435\u043a\u0442\u0430 \u0438\u0437\u043c\u0435\u043b\u044c\u0447\u0435\u043d\u0438\u044f \u0443\u0437\u043e\u0440\u0430 \u0431\u043b\u0438\u0436\u0435 \u043a \u0446\u0435\u043d\u0442\u0440\u0443 \u043a\u0430\u043a \u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445 \u0441 \u043a\u0440\u0443\u0433\u043e\u043c \u0438 \u044d\u043b\u043b\u0438\u043f\u0441\u043e\u043c.<\/p>\n<p>  \u0431) \u0440\u0430\u0437\u043c\u0435\u0449\u0430\u0442\u044c \u0442\u043e\u0447\u043a\u0438 \u043d\u0430 \u043e\u0433\u0438\u0431\u0430\u044e\u0449\u0438\u0445 \u043d\u0435 \u0440\u0430\u0432\u043d\u043e\u043c\u0435\u0440\u043d\u043e, \u0430, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u0435\u043b\u0430\u044f \u0438\u0445 \u0442\u043e \u0447\u0430\u0449\u0435, \u0442\u043e \u0440\u0435\u0436\u0435, \u0447\u0442\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442 \u0432 \u0443\u0437\u043e\u0440 \u043d\u043e\u0432\u043e\u0435 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u0435.<\/p><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/502412\/\"> https:\/\/habr.com\/ru\/post\/502412\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/post\/502412\/\">\u0413\u0438\u043b\u044c\u043e\u0448\u0438 \u2014 \u044d\u0442\u043e \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u043d\u044b\u0435 \u0443\u0437\u043e\u0440\u044b \u043d\u0430 \u0431\u0443\u043c\u0430\u0436\u043d\u044b\u0445 \u0434\u0435\u043d\u044c\u0433\u0430\u0445 \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u0446\u0435\u043d\u043d\u044b\u0445 \u0431\u0443\u043c\u0430\u0433\u0430\u0445. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u044b\u0439 \u0440\u0430\u0441\u0441\u043a\u0430\u0437 \u043e \u043d\u0438\u0445 \u0441 \u043e\u0442\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435\u043c \u0432 \u0438\u0441\u0442\u043e\u0440\u0438\u044e \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/305354\/\">\u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435<\/a>. \u0422\u0430\u043c \u0436\u0435 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u043b\u0441\u044f \u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f, \u0441\u0442\u0440\u043e\u044f\u0449\u0438\u0439 \u0433\u0438\u043b\u044c\u043e\u0448\u0438 \u043f\u043e \u0442\u043e\u0447\u043a\u0430\u043c.<\/p>\n<p>  \u0414\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0431\u0435\u0441\u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0439, \u043d\u0430\u0434\u043e \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c, \u0435\u0441\u043b\u0438 \u043c\u044b \u0440\u0438\u0441\u0443\u0435\u043c \u0438\u0445 \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u043b\u044f \u0440\u0430\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u044f, \u0430 \u0432 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0446\u0435\u043b\u044f\u0445 \u2014 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0447\u0442\u043e\u0431\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u0434\u0438\u0437\u0430\u0439\u043d \u0442\u0435\u0445 \u0441\u0430\u043c\u044b\u0445 \u0446\u0435\u043d\u043d\u044b\u0445 \u0431\u0443\u043c\u0430\u0433. \u0422\u044b\u0441\u044f\u0447\u0438 \u0442\u043e\u0447\u0435\u043a \u0431\u0443\u0434\u0443\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u043e\u0440\u043c\u043e\u0437\u0438\u0442\u044c \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440, \u0430 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u2014 \u0432\u043c\u0435\u0441\u0442\u043e \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0445 \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u044b\u0445 \u043b\u0438\u043d\u0438\u0439 \u0442\u0430\u043c \u0431\u0443\u0434\u0435\u0442 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0443\u0441\u0440\u0435\u0434\u043d\u0435\u043d\u0438\u044f \u0442\u043e\u0447\u0435\u043a, \u0441\u0434\u0435\u043b\u0430\u043d\u043d\u044b\u0439 \u043a\u0430\u043a \u0431\u043e\u0433 \u043d\u0430 \u0434\u0443\u0448\u0443 \u043f\u043e\u043b\u043e\u0436\u0438\u0442.<\/p>\n<p>  \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438\u0448\u043b\u043e \u0432\u0440\u0435\u043c\u044f \u043f\u043e\u0434\u0443\u043c\u0430\u0442\u044c \u043e \u0434\u0440\u0443\u0433\u043e\u043c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0435 \u2014 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0434\u0430\u0432\u0430\u043b \u0431\u044b \u0441\u0440\u0430\u0437\u0443 \u0432\u0435\u043a\u0442\u043e\u0440\u0430. \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0432 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0445 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0430\u0445 \u0434\u043b\u044f \u043a\u0440\u0438\u0432\u044b\u0445 \u043b\u0438\u043d\u0438\u0439 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u043d\u0442\u0435\u0440\u043f\u043e\u043b\u044f\u0446\u0438\u044f \u043a\u0440\u0438\u0432\u044b\u043c\u0438 \u0411\u0435\u0437\u044c\u0435, \u043d\u0430 \u043d\u0438\u0445 \u0438 \u0431\u0443\u0434\u0435\u043c \u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-303756","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/303756","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=303756"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/303756\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=303756"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=303756"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=303756"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}