{"id":278762,"date":"2016-04-21T13:45:08","date_gmt":"2016-04-21T09:45:08","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=278762"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=278762","title":{"rendered":"\u042d\u043c\u043e\u0434\u0437\u0438?! \u041d\u0435\u0442, \u043d\u0435 \u0441\u043b\u044b\u0448\u0430\u043b"},"content":{"rendered":"<p>       <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/941\/ab3\/f10\/941ab3f1053b43e19f5c7fd04af5b51a.png\" alt=\"image\" align=\"right\"\/> \u0412 \u043d\u0430\u0448\u0443 \u0436\u0438\u0437\u043d\u044c \u0443\u0436\u0435 \u0434\u0430\u0432\u043d\u043e \u0432\u043e\u0448\u043b\u0438 \u044d\u043c\u043e\u0434\u0437\u0438. \u0418 \u0432 \u0441\u043e\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0435\u0442\u044f\u0445, \u0438 \u0432\u043e \u0432\u0441\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u043c\u0435\u0441\u0441\u0435\u043d\u0434\u0436\u0435\u0440\u0430\u0445 \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0438\u0445 \u043d\u0435 \u0437\u0430\u0434\u0443\u043c\u044b\u0432\u0430\u044f\u0441\u044c, \u0432\u044b\u0440\u0430\u0436\u0430\u044f \u0441\u0432\u043e\u0438 \u044d\u043c\u043e\u0446\u0438\u0438 \u0432\u0441\u0435\u0433\u043e \u043e\u0434\u043d\u0438\u043c \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u043c. \u041d\u043e \u0434\u043b\u044f \u043a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u044d\u043c\u043e\u0434\u0437\u0438 \u2014 \u043d\u0435\u043f\u0440\u043e\u0441\u0442\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u044d\u043c\u043e\u0434\u0437\u0438 \u0441 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u044e\u0442\u0441\u044f \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u043d\u0430 \u0432\u0435\u0431-\u0441\u0430\u0439\u0442\u0430\u0445. <\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 iOS \u0438 Android \u0438\u043c\u0435\u044e\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u0431\u043e\u043b\u0435\u0435 1200 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u044d\u043c\u043e\u0434\u0437\u0438, \u043d\u043e \u00ab\u0434\u0435\u0441\u043a\u0442\u043e\u043f\u043d\u044b\u0439\u00bb \u0440\u044b\u043d\u043e\u043a \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0445\u0432\u0430\u0441\u0442\u0430\u0442\u044c\u0441\u044f \u0442\u0430\u043a\u0438\u043c\u0438 \u0443\u0441\u043f\u0435\u0445\u0430\u043c\u0438. \u041c\u044b \u0436\u0435 \u0432 Badoo \u0445\u043e\u0442\u0438\u043c \u0438 \u0434\u0435\u043b\u0430\u0435\u043c \u0432\u0441\u0435, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c \u0431\u044b\u043b\u043e \u043a\u043e\u043c\u0444\u043e\u0440\u0442\u043d\u043e \u043e\u0431\u0449\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u0432\u0441\u0435\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430\u0445, \u043d\u0435 \u0438\u043c\u0435\u044f \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439 \u0432 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u043a\u0435.<br \/>  \u0414\u0430\u043b\u0435\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u043a\u0430\u043a\u0438\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c \u043c\u044b \u0434\u043e\u0431\u0438\u043b\u0438\u0441\u044c 100% \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u044d\u043c\u043e\u0434\u0437\u0438 \u0434\u043b\u044f \u0432\u0435\u0431\u0430.<br \/>  <a name=\"habracut\"><\/a><\/p>\n<p>  \u0412\u043e\u0442 \u0442\u0430\u043a \u0431\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c Windows \u0443\u0432\u0438\u0434\u0435\u043b \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u0431\u0435\u0437 \u044d\u043c\u043e\u0434\u0437\u0438:  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/b71\/2ee\/b1e\/b712eeb1e72a42bfadc0eab8c47f871e.png\" alt=\"image\" \/><\/div>\n<p>  \u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0438\u0434\u0435\u044f \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043c\u044b \u0431\u0435\u0440\u0435\u043c \u043b\u044e\u0431\u043e\u0439 \u0441\u0438\u043c\u0432\u043e\u043b \u044d\u043c\u043e\u0434\u0437\u0438, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u0435\u0433\u043e \u042e\u043d\u0438\u043a\u043e\u0434-\u043a\u043e\u0434 \u0438 \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u043c \u043d\u0430 html-\u044d\u043b\u0435\u043c\u0435\u043d\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c\u0441\u044f \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435. <\/p>\n<h4>\u0422\u0435\u043e\u0440\u0438\u044f<\/h4>\n<p>  \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/d17\/13a\/861\/d1713a8612f34d3a9c98d0c2c2eb4d93.png\" alt=\"image\"\/>(\u0443\u043b\u044b\u0431\u0430\u044e\u0449\u0435\u0435\u0441\u044f \u043b\u0438\u0446\u043e). \u041e\u043d \u0438\u043c\u0435\u0435\u0442 \u043a\u043e\u0434 <b>U+1F600<\/b>. \u041a\u0430\u043a \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0435\u0433\u043e \u043a\u043e\u0434 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e JavaScript:<\/p>\n<p>  &#8216;<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/d17\/13a\/861\/d1713a8612f34d3a9c98d0c2c2eb4d93.png\" alt=\"image\"\/>&#8216;.length \/\/2<br \/>  &#8216;<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/d17\/13a\/861\/d1713a8612f34d3a9c98d0c2c2eb4d93.png\" alt=\"image\"\/>&#8216;.charCodeAt(0).toString(16) \/\/ D83D<br \/>  &#8216;<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/d17\/13a\/861\/d1713a8612f34d3a9c98d0c2c2eb4d93.png\" alt=\"image\"\/>&#8216;.charCodeAt(1).toString(16) \/\/ DE00<\/p>\n<p>  \u0412 \u0438\u0442\u043e\u0433\u0435 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0441\u0443\u0440\u0440\u043e\u0433\u0430\u0442\u043d\u0443\u044e \u043f\u0430\u0440\u0443: <b>U+D83D<\/b> <b>U+DE00<\/b>. <\/p>\n<p>  UTF-16 \u043a\u043e\u0434\u0438\u0440\u0443\u0435\u0442 \u0441\u0438\u043c\u0432\u043e\u043b\u044b \u0432 \u0432\u0438\u0434\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 16-\u0431\u0438\u0442\u043d\u044b\u0445 \u0441\u043b\u043e\u0432, \u044d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0441\u0438\u043c\u0432\u043e\u043b\u044b \u042e\u043d\u0438\u043a\u043e\u0434\u0430 \u0432 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430\u0445 \u043e\u0442 U+0000 \u0434\u043e U+D7FF \u0438 \u043e\u0442 U+E000 \u0434\u043e U+10FFFF (\u043e\u0431\u0449\u0438\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c 1 112 064). \u0415\u0441\u043b\u0438 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432 UTF-16 \u0441\u0438\u043c\u0432\u043e\u043b \u0441 \u043a\u043e\u0434\u043e\u043c \u0431\u043e\u043b\u044c\u0448\u0435 U+FFFF, \u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0434\u0432\u0430 \u0441\u043b\u043e\u0432\u0430: \u043f\u0435\u0440\u0432\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0441\u0443\u0440\u0440\u043e\u0433\u0430\u0442\u043d\u043e\u0439 \u043f\u0430\u0440\u044b (\u0432 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 \u043e\u0442 0xD800 \u0434\u043e 0xDBFF) \u0438 \u0432\u0442\u043e\u0440\u0430\u044f (\u043e\u0442 0xDC00 \u0434\u043e 0xDFFF).<\/p>\n<p>  \u0427\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043a\u043e\u0434 \u044d\u043c\u043e\u0434\u0437\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 U+FFFF, \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u0444\u043e\u0440\u043c\u0443\u043b\u043e\u0439:<\/p>\n<pre><code class=\"javascript\">(0xD83D - 0xD800) * 0x400 + 0xDE00 - 0xDC00 + 0x10000 = 1f600 <\/code><\/pre>\n<p>  \u0410 \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043c \u043e\u0431\u0440\u0430\u0442\u043d\u043e:<\/p>\n<pre><code class=\"javascript\">D83D = ((0x1f600 - 0x10000) &gt;&gt; 10) + 0xD800; DE00 = ((0x1f600 - 0x10000) % 0x400) + 0xDC00; <\/code><\/pre>\n<p>  \u042d\u0442\u043e \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0441\u043b\u043e\u0436\u043d\u043e \u0438 \u043d\u0435\u0443\u0434\u043e\u0431\u043d\u043e, \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u0447\u0442\u043e \u043d\u0430\u043c \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u0442\u044c <b>ES 2015<\/b>.<\/p>\n<p>  \u0421 \u043d\u043e\u0432\u044b\u043c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043e\u043c JavaScript \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0431\u044b\u0442\u044c \u043f\u0440\u043e \u0441\u0443\u0440\u0440\u043e\u0433\u0430\u0442\u043d\u044b\u0435 \u043f\u0430\u0440\u044b \u0438 \u043e\u0431\u043b\u0435\u0433\u0447\u0438\u0442\u044c \u0441\u0435\u0431\u0435 \u0436\u0438\u0437\u043d\u044c:<\/p>\n<pre><code class=\"javascript\">String.prototype.codePointAt \/\/ \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043a\u043e\u0434 \u0438\u0437 \u0441\u0438\u043c\u0432\u043e\u043b\u0430, String.fromCodePoint \/\/ \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u0438\u043c\u0432\u043e\u043b \u0438\u0437 \u043a\u043e\u0434\u0430. <\/code><\/pre>\n<p>  \u041e\u0431\u0430 \u043c\u0435\u0442\u043e\u0434\u0430 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0441 \u0441\u0443\u0440\u0440\u043e\u0433\u0430\u0442\u043d\u044b\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0438.<\/p>\n<p>  \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0432\u0441\u0442\u0430\u0432\u043a\u0438 \u0432\u043e\u0441\u044c\u043c\u0438\u0437\u043d\u0430\u0447\u043d\u044b\u0445 \u043a\u043e\u0434\u043e\u0432 \u0432 \u0441\u0442\u0440\u043e\u043a\u0443:<br \/>  <b>\\u{1F466}<\/b> \u0432\u043c\u0435\u0441\u0442\u043e <b>\\uD83D\\uDC66<\/b><\/p>\n<p>  <b>RegExp.prototype.unicode<\/b>: \u0444\u043b\u0430\u0433 <b>u<\/b> \u0432 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u0445 \u0434\u0430\u0435\u0442 \u043b\u0443\u0447\u0448\u0443\u044e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u042e\u043d\u0438\u043a\u043e\u0434\u043e\u043c:<\/p>\n<pre><code class=\"javascript\">\/\\u{1F466}\/u <\/code><\/pre>\n<p>  \u041d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442 \u042e\u043d\u0438\u043a\u043e\u0434 8.0 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 1281 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u044d\u043c\u043e\u0434\u0437\u0438, \u0438 \u044d\u0442\u043e \u043d\u0435 \u0441\u0447\u0438\u0442\u0430\u044f \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u0432 \u0446\u0432\u0435\u0442\u0430 \u043a\u043e\u0436\u0438 \u0438 \u0433\u0440\u0443\u043f\u043f (\u044d\u043c\u043e\u0434\u0437\u0438 \u0441\u0435\u043c\u044c\u0438). \u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043e\u0442 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0439:  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/d0e\/000\/8d4\/d0e0008d435a47c3b32d74a1c6caf2d8.png\" alt=\"image\" \/><\/div>\n<p>  \u042d\u043c\u043e\u0434\u0437\u0438 \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0433\u0440\u0443\u043f\u043f:<\/p>\n<ul>\n<li>\u043f\u0440\u043e\u0441\u0442\u044b\u0435: \u0432 \u0434\u0438\u0430\u043f\u043e\u0437\u043e\u043d\u0435 \u0434\u043e 0xD7FF \u2014 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/81b\/627\/6c1\/81b6276c16ce4f5a9ee133465cc6fc33.png\" alt=\"image\"\/>; <\/li>\n<li>\u0441\u0443\u0440\u0440\u043e\u0433\u0430\u0442\u043d\u044b\u0435 \u043f\u0430\u0440\u044b: \u043e\u0442 0xD800 \u0434\u043e 0xDFFF \u2014 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/d17\/13a\/861\/d1713a8612f34d3a9c98d0c2c2eb4d93.png\" alt=\"image\"\/>; <\/li>\n<li>\u0447\u0438\u0441\u043b\u0430: \u043e\u0442 0x0023 \u0434\u043e 0x0039 + 0x20E3 \u2014 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/e4b\/1b9\/568\/e4b1b95685054743867981093b514f6e.png\" alt=\"image\"\/>; <\/li>\n<li>\u0433\u043e\u0441\u0443\u0434\u0430\u0440\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0444\u043b\u0430\u0433\u0438: 2 \u0441\u0438\u043c\u0432\u043e\u043b\u0430 \u043e\u0442 0xDDE6 \u0434\u043e 0xDDFF, \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u2014 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/5fd\/cbf\/4b2\/5fdcbf4b2bb948ea9cd2e04196c16d1e.png\" alt=\"image\"\/>; <\/li>\n<li>\u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u044b \u0446\u0432\u0435\u0442\u0430 \u043a\u043e\u0436\u0438: <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/bed\/a39\/348\/beda3934839144a99d8e8a4eb7f9ef26.png\" alt=\"image\"\/> + \u043e\u0442 0xDFFB \u0434\u043e 0xDFFF \u2014 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/bcf\/1b9\/afc\/bcf1b9afc13c4dfabdac4217054a43af.png\" alt=\"image\"\/>; <\/li>\n<li>\u0441\u0435\u043c\u044c\u044f: \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0438\u0437 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/bed\/a39\/348\/beda3934839144a99d8e8a4eb7f9ef26.png\" alt=\"image\"\/> <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/bed\/a39\/348\/beda3934839144a99d8e8a4eb7f9ef26.png\" alt=\"image\"\/> <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/700\/0c7\/959\/7000c7959f9d4d1ebf259cdc8435e57c.png\" alt=\"image\"\/> \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u043d\u044b\u0445 0x200D \u0438\u043b\u0438 0x200C \u2014 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/cd4\/913\/6b1\/cd49136b1db04727b90d0f577380a952.png\" alt=\"image\"\/> <\/li>\n<\/ul>\n<h4>\u0420\u0435\u0448\u0435\u043d\u0438\u0435:<\/h4>\n<p>  <\/p>\n<ul>\n<li>\u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u0441 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u043c, \u0438\u0449\u0435\u043c \u0432 \u043d\u0435\u043c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e\u0433\u043e \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0432\u0441\u0435 \u043d\u0430\u0431\u043e\u0440\u044b \u044d\u043c\u043e\u0434\u0437\u0438; <\/li>\n<li>\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u043a\u043e\u0434 \u0441\u0438\u043c\u0432\u043e\u043b\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 codePointAt; <\/li>\n<li>\u0441\u043e\u0437\u0434\u0430\u0435\u043c \u044d\u043b\u0435\u043c\u0435\u043d\u0442 img (\u0432\u0430\u0436\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u044d\u0442\u043e \u0431\u044b\u043b \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u0435\u0433 img) \u0441 url, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u043a\u043e\u0434\u0430 \u044d\u0442\u043e\u0433\u043e \u0441\u0438\u043c\u0432\u043e\u043b\u0430; <\/li>\n<li>\u0437\u0430\u043c\u0435\u043d\u044f\u0435\u043c \u0441\u0438\u043c\u0432\u043e\u043b \u043d\u0430 img \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u043c \u0442\u0435\u043a\u0441\u0442\u0435. <\/li>\n<\/ul>\n<p>  <\/p>\n<pre><code class=\"javascript\">function emojiToHtml(str) { \treturn str.replace(emojiRegex, buildImgFromEmoji); }  var tpl = '&lt;img class=&quot;emoji emoji--{code} js-smile-insert&quot; src=&quot;{src}&quot; srcset=&quot;{src} 1x, {src_x2} 2x&quot; unselectable=&quot;on&quot;&gt;'; var url = 'https:\/\/badoocdn.com\/big\/chat\/emoji\/{code}.png'; var url2 = 'https:\/\/badoocdn.com\/big\/chat\/emoji@x2\/{code}.png'; function buildImgFromEmoji(emoji) { \tvar codePoint = extractEmojiToCodePoint(emoji); \treturn $tpl(tpl, { \t\tcode: codePoint, \t\tsrc: $tpl(url, { \t\t\tcode: codePoint \t\t}), \t\tsrc_x2: $tpl(url2, { \t\t\tcode: codePoint \t\t}) \t}); }  function extractEmojiToCodePoint(emoji) { \treturn emoji \t\t.split('') \t\t.map(function (symbol, index) { \t\t\treturn emoji.codePointAt(index).toString(16); \t\t}) \t\t.filter(function (codePoint) { \t\t\treturn !isSurrogatePair(codePoint); \t\t}, this) \t\t.join('-'); }  function isSurrogatePair(codePoint) { \tcodePoint = parseInt(codePoint, 16); \treturn codePoint &gt;= 0xD800 && codePoint &lt;= 0xDFFF; } <\/code><\/pre>\n<p>  \u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0438\u0434\u0435\u044f \u0432 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e\u043c \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043d\u0430\u0445\u043e\u0434\u0438\u0442 \u0441\u0438\u043c\u0432\u043e\u043b\u044b \u044d\u043c\u043e\u0434\u0437\u0438: <\/p>\n<pre><code class=\"javascript\">var emojiRanges = [ \t'(?:\\uD83C[\\uDDE6-\\uDDFF]){2}', \/\/ \u0444\u043b\u0430\u0433\u0438 \t'[\\u0023-\\u0039]\\uFE0F?\\u20E3', \/\/ \u0447\u0438\u0441\u043b\u0430 \t'(?:[\\uD83D\\uD83C\\uD83E][\\uDC00-\\uDFFF]|[\\u270A-\\u270D\\u261D\\u26F9])\\uD83C[\\uDFFB-\\uDFFF]', \/\/ \u0446\u0432\u0435\u0442 \u043a\u043e\u0436\u0438 \t'\\uD83D[\\uDC68\\uDC69][\\u200D\\u200C].+?\\uD83D[\\uDC66-\\uDC69](?![\\u200D\\u200C])', \/\/ \u0441\u0435\u043c\u044c\u044f \t'[\\uD83D\\uD83C\\uD83E][\\uDC00-\\uDFFF]', \/\/ \u0441\u0443\u0440\u0440\u043e\u0433\u0430\u0442\u043d\u0430\u044f \u043f\u0430\u0440\u0430 \t'[\\u3297\\u3299\\u303D\\u2B50\\u2B55\\u2B1B\\u27BF\\u27A1\\u24C2\\u25B6\\u25C0\\u2600\\u2705\\u21AA\\u21A9]', \/\/ \u043e\u0431\u044b\u0447\u043d\u044b\u0435 \t'[\\u203C\\u2049\\u2122\\u2328\\u2601\\u260E\\u261d\\u2620\\u2626\\u262A\\u2638\\u2639\\u263a\\u267B\\u267F\\u2702\\u2708]', \t'[\\u2194-\\u2199]', \t'[\\u2B05-\\u2B07]', \t'[\\u2934-\\u2935]', \t'[\\u2795-\\u2797]', \t'[\\u2709-\\u2764]', \t'[\\u2622-\\u2623]', \t'[\\u262E-\\u262F]', \t'[\\u231A-\\u231B]', \t'[\\u23E9-\\u23EF]', \t'[\\u23F0-\\u23F4]', \t'[\\u23F8-\\u23FA]', \t'[\\u25AA-\\u25AB]', \t'[\\u25FB-\\u25FE]', \t'[\\u2602-\\u2618]', \t'[\\u2648-\\u2653]', \t'[\\u2660-\\u2668]', \t'[\\u26A0-\\u26FA]', \t'[\\u2692-\\u269C]' ]; var emojiRegex = new RegExp(emojiRanges.join('|'), 'g'); <\/code><\/pre>\n<h4>\u0427\u0430\u0442<\/h4>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f \u0447\u0430\u0442\u0430 \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u044d\u043c\u043e\u0434\u0437\u0438.<\/p>\n<p>  \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u043e\u043b\u044f \u0434\u043b\u044f \u0432\u0432\u043e\u0434\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f div:<\/p>\n<pre><code class=\"html\">&lt;div id=&quot;t&quot; contenteditable=&quot;true&quot; data-placeholder=&quot;\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435&quot;&gt;&lt;\/div&gt; <\/code><\/pre>\n<p>  \u041f\u0440\u0438 \u0432\u0432\u043e\u0434\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0438\u043b\u0438 \u0432\u0441\u0442\u0430\u0432\u043a\u0438 \u0438\u0437 \u0431\u0443\u0444\u0435\u0440\u0430 \u043e\u0431\u043c\u0435\u043d\u0430 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0447\u0438\u0441\u0442\u0438\u0442\u044c \u0435\u0433\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u043e\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 html-\u0442\u0435\u0433\u043e\u0432:<\/p>\n<pre><code class=\"javascript\">var tagRegex = \/&lt;[^&gt;]+&gt;\/gim; var styleTagRegex = \/&lt;style\\b[^&gt;]*&gt;([\\s\\S]*?)&lt;\\\/style&gt;\/gim; var validTagsRegex = \/&lt;br[\\s\/]*&gt;|&lt;img\\s+class=&quot;emoji\\semoji[-\\w\\s]+&quot;\\s+((src|srcset|unselectable)=&quot;[^&quot;]*&quot;\\s*)+&gt;\/i;  function cleanUp(text) { \treturn text \t\t.replace(styleTagRegex, '') \t\t.replace(tagRegex, function (tag) { \t\t\treturn tag.match(validTagsRegex) ? tag : ''; \t\t}) \t\t.replace(\/\\n\/g, ''); } <\/code><\/pre>\n<p>  \u0414\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u0442\u0440\u043e\u043a\u0438, \u0432\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u0438\u0437 \u0431\u0443\u0444\u0435\u0440\u0430 \u043e\u0431\u043c\u0435\u043d\u0430, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0441\u043e\u0431\u044b\u0442\u0438\u0435 paste:<\/p>\n<pre><code class=\"javascript\">function onPaste(e) { \te.preventDefault(); \tvar clp = e.clipboardData;  \tif (clp !== undefined || window.clipboardData !== undefined) { \t\tvar text;  \t\tif (clp !== undefined) { \t\t\ttext = clp.getData('text\/html') || clp.getData('text\/plain') || ''; \t\t} else { \t\t\ttext = window.clipboardData.getData('text') || ''; \t\t}  \t\tif (text) { \t\t\ttext = cleanUp(text); \t\t\ttext = emojiToHtml(text); \t\t\tvar el = document.createElement('span'); \t\t\tel.innerHTML = text; \t\t\tel.innerHTML = el.innerHTML.replace(\/\\n\/g, ''); \t\t\tt.appendChild(el); \t\t\trestore(); \t\t} \t} } <\/code><\/pre>\n<p>  \u0417\u0430\u0442\u0435\u043c \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u043c \u0432\u0441\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u044b\u0435 \u044d\u043c\u043e\u0434\u0437\u0438 \u043d\u0430 html-\u0442\u0435\u0433 img, \u043a\u0430\u043a \u0431\u044b\u043b\u043e \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u0432\u044b\u0448\u0435. \u0418\u043c\u0435\u043d\u043d\u043e \u043d\u0430 img, \u0442\u0430\u043a \u043a\u0430\u043a contenteditable \u043b\u0443\u0447\u0448\u0435 \u0432\u0441\u0435\u0433\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 \u043d\u0438\u043c. \u0421 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u043c\u0438 \u043c\u043e\u0433\u0443\u0442 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0442\u044c \u0431\u0430\u0433\u0438 \u043f\u0440\u0438 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438.<\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0432\u0441\u0442\u0430\u0432\u043a\u0438 img \u0432 \u043f\u043e\u043b\u0435 \u0434\u043b\u044f \u0432\u0432\u043e\u0434\u0430 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u043e\u0437\u0438\u0446\u0438\u044e \u043a\u0430\u0440\u0435\u0442\u043a\u0438, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043c\u043e\u0433 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u043d\u0430\u0431\u043e\u0440 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c JavaScript \u043e\u0431\u044a\u0435\u043a\u0442\u044b <b>Selection<\/b> \u0438 <b>Range<\/b>:<\/p>\n<pre><code class=\"javascript\">function restore() { \tvar range = document.createRange(); \trange.selectNodeContents(t); \trange.collapse(false); \tvar sel = window.getSelection(); \tsel.removeAllRanges(); \tsel.addRange(range); } <\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e \u043a\u0430\u043a \u043d\u0430\u0431\u043e\u0440 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d, \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0434\u0435\u043b\u0430\u0442\u044c \u043e\u0431\u0440\u0430\u0442\u043d\u0443\u044e \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0443. \u0410 \u0438\u043c\u0435\u043d\u043d\u043e \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u0442\u044c img \u0432 \u0441\u0438\u043c\u0432\u043e\u043b \u0434\u043b\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 <b>fromCodePoint<\/b>:<\/p>\n<pre><code class=\"javascript\">var htmlToEmojiRegex = \/&lt;img.*?class=&quot;emoji\\semoji--(.+?)\\sjs-smile-insert&quot;.*?&gt;\/gi; function htmlToEmoji(html) { \treturn html.replace(htmlToEmojiRegex, function (imgTag, codesStr) { \t\tvar codesInt = codesStr.split('-').map(function (codePoint) { \t\t\treturn parseInt(codePoint, 16); \t\t});  \t\tvar emoji = String.fromCodePoint.apply(null, codesInt);  \t\treturn emoji.match(emojiRegex) ? emoji : ''; \t}); } <\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440 \u0447\u0430\u0442\u0430 \u043c\u043e\u0436\u043d\u043e \u0442\u0443\u0442: <a href=\"https:\/\/jsfiddle.net\/q9484hcc\/\">https:\/\/jsfiddle.net\/q9484hcc\/<\/a><\/p>\n<p>  \u0422\u0430\u043a \u043c\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u044d\u043c\u043e\u0434\u0437\u0438, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0448\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u043b\u0438 \u0432\u044b\u0440\u0430\u0436\u0430\u0442\u044c \u044d\u043c\u043e\u0446\u0438\u0438 \u0432 \u043f\u043e\u043b\u043d\u043e\u0439 \u043c\u0435\u0440\u0435 \u0438 \u043e\u0431\u0449\u0430\u0442\u044c\u0441\u044f \u0434\u0440\u0443\u0433 \u0441 \u0434\u0440\u0443\u0433\u043e\u043c \u0431\u0435\u0437 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439. \u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u0438\u0434\u0435\u0438 \u043f\u043e \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044e \u043d\u0430\u0448\u0438\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0438\u043b\u0438 \u0438\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044e \u2015 \u043f\u0438\u0448\u0438\u0442\u0435 \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445, \u0441 \u0443\u0434\u043e\u0432\u043e\u043b\u044c\u0441\u0442\u0432\u0438\u0435\u043c \u0438\u0445 \u043e\u0431\u0441\u0443\u0434\u0438\u043c!<\/p>\n<p>  \u041f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0441\u0441\u044b\u043b\u043a\u0438:<br \/>  <a href=\"http:\/\/emojipedia.org\/\">http:\/\/emojipedia.org\/<\/a><br \/>  <a href=\"http:\/\/getemoji.com\/\">http:\/\/getemoji.com\/<\/a><br \/>  <a href=\"https:\/\/github.com\/mathiasbynens\/String.fromCodePoint\">\u041f\u043e\u043b\u0438\u0444\u0438\u043b String.fromCodePoint<\/a><br \/>  <a href=\"https:\/\/github.com\/mathiasbynens\/String.prototype.codePointAt\">\u041f\u043e\u043b\u0438\u0444\u0438\u043b String.prototype.codePointAt<\/a><\/p>\n<p>  \u0410\u0440\u0442\u0435\u043c \u041a\u0443\u043d\u0435\u0446<br \/>  Frontend-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a Badoo               <\/p>\n<div class=\"clear\"><\/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:\/\/habrahabr.ru\/post\/282113\/\"> https:\/\/habrahabr.ru\/post\/282113\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>       <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/941\/ab3\/f10\/941ab3f1053b43e19f5c7fd04af5b51a.png\" alt=\"image\" align=\"right\"\/> \u0412 \u043d\u0430\u0448\u0443 \u0436\u0438\u0437\u043d\u044c \u0443\u0436\u0435 \u0434\u0430\u0432\u043d\u043e \u0432\u043e\u0448\u043b\u0438 \u044d\u043c\u043e\u0434\u0437\u0438. \u0418 \u0432 \u0441\u043e\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0435\u0442\u044f\u0445, \u0438 \u0432\u043e \u0432\u0441\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u043c\u0435\u0441\u0441\u0435\u043d\u0434\u0436\u0435\u0440\u0430\u0445 \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0438\u0445 \u043d\u0435 \u0437\u0430\u0434\u0443\u043c\u044b\u0432\u0430\u044f\u0441\u044c, \u0432\u044b\u0440\u0430\u0436\u0430\u044f \u0441\u0432\u043e\u0438 \u044d\u043c\u043e\u0446\u0438\u0438 \u0432\u0441\u0435\u0433\u043e \u043e\u0434\u043d\u0438\u043c \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u043c. \u041d\u043e \u0434\u043b\u044f \u043a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u044d\u043c\u043e\u0434\u0437\u0438 \u2014 \u043d\u0435\u043f\u0440\u043e\u0441\u0442\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u044d\u043c\u043e\u0434\u0437\u0438 \u0441 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u044e\u0442\u0441\u044f \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u043d\u0430 \u0432\u0435\u0431-\u0441\u0430\u0439\u0442\u0430\u0445. <\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 iOS \u0438 Android \u0438\u043c\u0435\u044e\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u0431\u043e\u043b\u0435\u0435 1200 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u044d\u043c\u043e\u0434\u0437\u0438, \u043d\u043e \u00ab\u0434\u0435\u0441\u043a\u0442\u043e\u043f\u043d\u044b\u0439\u00bb \u0440\u044b\u043d\u043e\u043a \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0445\u0432\u0430\u0441\u0442\u0430\u0442\u044c\u0441\u044f \u0442\u0430\u043a\u0438\u043c\u0438 \u0443\u0441\u043f\u0435\u0445\u0430\u043c\u0438. \u041c\u044b \u0436\u0435 \u0432 Badoo \u0445\u043e\u0442\u0438\u043c \u0438 \u0434\u0435\u043b\u0430\u0435\u043c \u0432\u0441\u0435, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c \u0431\u044b\u043b\u043e \u043a\u043e\u043c\u0444\u043e\u0440\u0442\u043d\u043e \u043e\u0431\u0449\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u0432\u0441\u0435\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430\u0445, \u043d\u0435 \u0438\u043c\u0435\u044f \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439 \u0432 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u043a\u0435.<br \/>  \u0414\u0430\u043b\u0435\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u043a\u0430\u043a\u0438\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c \u043c\u044b \u0434\u043e\u0431\u0438\u043b\u0438\u0441\u044c 100% \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u044d\u043c\u043e\u0434\u0437\u0438 \u0434\u043b\u044f \u0432\u0435\u0431\u0430.  <\/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-278762","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/278762","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=278762"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/278762\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=278762"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=278762"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=278762"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}