ΠΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½ΠΎ Π΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΎΡΠ²ΠΎΡΠ΅Π½Π°ΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° webOS Open Source Edition 2.20, ΠΊΠΎΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠ΅Π½ΠΎΡΠΈΠΌΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΡΠ°Π±Π»Π° ΠΈ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎ-ΡΠ°Π·Π²Π»Π΅ΠΊΠ°ΡΠ΅Π»Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ. ΠΠ° ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠ½Π° Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΡΠ΅ ΡΡΠΈΡΠ°Ρ ΠΏΠ»Π°ΡΠΊΠΈΡΠ΅ Raspberry Pi 4. ΠΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½Π° Π² ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·Π° Apache 2.0 ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° ΡΠ΅ ΠΊΡΡΠΈΡΠ° ΠΎΡ ΠΎΠ±ΡΠ½ΠΎΡΡΡΠ°, ΠΏΡΠΈΠ΄ΡΡΠΆΠ°ΠΉΠΊΠΈ ΡΠ΅ ΠΊΡΠΌ ΠΌΠΎΠ΄Π΅Π» Π·Π° ΡΡΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ°.
ΠΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° webOS ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½Π° ΠΎΡ Palm ΠΏΡΠ΅Π· 2008 Π³. ΠΈ Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π² ΡΠΌΠ°ΡΡΡΠΎΠ½ΠΈΡΠ΅ Palm Pre ΠΈ Pixie. ΠΡΠ΅Π· 2010 Π³., ΡΠ»Π΅Π΄ ΠΏΡΠΈΠ΄ΠΎΠ±ΠΈΠ²Π°Π½Π΅ΡΠΎ Π½Π° Palm, ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° ΠΏΡΠ΅ΠΌΠΈΠ½Π° Π² ΡΡΡΠ΅ΡΠ΅ Π½Π° Hewlett-Packard, ΡΠ»Π΅Π΄ ΠΊΠΎΠ΅ΡΠΎ HP ΡΠ΅ ΠΎΠΏΠΈΡΠ° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ°Π·ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π² ΡΠ²ΠΎΠΈΡΠ΅ ΠΏΡΠΈΠ½ΡΠ΅ΡΠΈ, ΡΠ°Π±Π»Π΅ΡΠΈ, Π»Π°ΠΏΡΠΎΠΏΠΈ ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠΈ. ΠΡΠ΅Π· 2012 Π³. HP ΠΎΠ±ΡΠ²ΠΈ ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΠ½Π΅ΡΠΎ Π½Π° webOS ΠΊΡΠΌ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌ ΠΏΡΠΎΠ΅ΠΊΡ Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄ ΠΈ ΠΏΡΠ΅Π· 2013 Π³. Π·Π°ΠΏΠΎΡΠ½Π° ΠΎΡΠ²Π°ΡΡΠ½Π΅ΡΠΎ Π½Π° ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄ Π½Π° Π½Π΅Π³ΠΎΠ²ΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ. ΠΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Π±Π΅ΡΠ΅ ΠΏΡΠΈΠ΄ΠΎΠ±ΠΈΡΠ° ΠΎΡ Hewlett-Packard ΠΎΡ LG ΠΏΡΠ΅Π· 2013 Π³. ΠΈ ΡΠ΅Π³Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π½Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 70 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΡΠ΅Π»Π΅Π²ΠΈΠ·ΠΎΡΠ° ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π½Π° LG. ΠΡΠ΅Π· 2018 Π³. Π±Π΅ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π½ ΠΏΡΠΎΠ΅ΠΊΡΡΡ webOS Open Source Edition, ΡΡΠ΅Π· ΠΊΠΎΠΉΡΠΎ LG ΡΠ΅ ΠΎΠΏΠΈΡΠ° Π΄Π° ΡΠ΅ Π²ΡΡΠ½Π΅ ΠΊΡΠΌ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π» Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, Π΄Π° ΠΏΡΠΈΠ²Π»Π΅ΡΠ΅ Π΄ΡΡΠ³ΠΈ ΡΡΠ°ΡΡΠ½ΠΈΡΠΈ ΠΈ Π΄Π° ΡΠ°Π·ΡΠΈΡΠΈ Π³Π°ΠΌΠ°ΡΠ° ΠΎΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈ Π² webOS.
Π‘ΠΈΡΡΠ΅ΠΌΠ½Π°ΡΠ° ΡΡΠ΅Π΄Π° Π½Π° webOS ΡΠ΅ ΡΠΎΡΠΌΠΈΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΠ° OpenEmbedded ΠΈ Π±Π°Π·ΠΎΠ²ΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ ΠΈ Π½Π°Π±ΠΎΡΠ° ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Yocto. ΠΠ»ΡΡΠΎΠ²ΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π° webOS ΡΠ° ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡΡΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° (SAM, System and Application Manager), ΠΊΠΎΠΉΡΠΎ ΠΎΡΠ³ΠΎΠ²Π°ΡΡ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΡΠ»ΡΠ³ΠΈ, ΠΈ Luna Surface Manager (LSM), ΠΊΠΎΠΉΡΠΎ ΡΠΎΡΠΌΠΈΡΠ° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ ΡΠ° Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Qt framework ΠΈ Π±ΡΠ°ΡΠ·ΡΡ Chromium.
Π Π΅Π½Π΄ΠΈΡΠ°Π½Π΅ΡΠΎ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΡΡΠ΅Π· ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ΅Π½ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Wayland. ΠΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠ΅Π± ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ (CSS, HTML5 ΠΈ JavaScript) ΠΈ ΡΠ°ΠΌΠΊΠ°ΡΠ° Enact, Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° React, Π½ΠΎ ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ Π² C ΠΈ C ++ Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° Qt. ΠΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΈ Π²Π³ΡΠ°Π΄Π΅Π½ΠΈΡΠ΅ Π³ΡΠ°ΡΠΈΡΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΏΡΠ΅Π΄ΠΈΠΌΠ½ΠΎ ΠΊΠ°ΡΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ, Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° QML ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ. ΠΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° Home Launcher, ΠΊΠΎΠΉΡΠΎ Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ Π·Π° ΡΠ°Π±ΠΎΡΠ° ΡΡΡ ΡΠ΅Π½Π·ΠΎΡΠ΅Π½ Π΅ΠΊΡΠ°Π½ ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΡΠ° Π·Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΈ ΠΊΠ°ΡΡΠΈ (Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΠΎΠ·ΠΎΡΡΠΈ).
ΠΠ° ΡΡΡ ΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π² ΡΡΡΡΠΊΡΡΡΠΈΡΠ°Π½Π° ΡΠΎΡΠΌΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° JSON ΡΠΎΡΠΌΠ°Ρ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° DB8 ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ LevelDB ΠΊΠ°ΡΠΎ Π±Π΅ΠΊΠ΅Π½Π΄. ΠΠ° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° bootd, Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° systemd. ΠΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΌΡΠ»ΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠΈ uMediaServer ΠΈ Media Display Controller (MDC), ΠΊΠ°ΡΠΎ Π·Π²ΡΠΊΠΎΠ² ΡΡΡΠ²ΡΡ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° PulseAudio. ΠΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΡΠΌΡΠ΅ΡΠ° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ OSTree ΠΈ Π°ΡΠΎΠΌΠ½Π° ΠΏΠΎΠ΄ΠΌΡΠ½Π° Π½Π° Π΄ΡΠ»ΠΎΠ²Π΅ (ΡΡΠ·Π΄Π°Π²Π°Ρ ΡΠ΅ Π΄Π²Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ Π΄ΡΠ»Π°, Π΅Π΄ΠΈΠ½ΠΈΡΡ ΠΎΡ ΠΊΠΎΠΈΡΠΎ Π΅ Π°ΠΊΡΠΈΠ²Π΅Π½, Π° Π²ΡΠΎΡΠΈΡΡ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΊΠΎΠΏΠΈΡΠ°Π½Π΅ Π½Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ°).
ΠΡΠ½ΠΎΠ²Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ:
- ΠΠ°ΠΏΠΎΡΠ½Π°Ρ ΠΌΠ΅ Π΄Π° Π΄ΠΎΡΡΠ°Π²ΡΠΌΠ΅ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π° webOS Π·Π° ΠΏΠ»Π°ΡΠΊΠ°ΡΠ° ΠΈ Π΅ΠΌΡΠ»Π°ΡΠΎΡΠ° Raspberry Pi 4. ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΡΠ° ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ΠΈ Π² GitHub Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π΄Π½ΠΈ ΡΠ»Π΅Π΄ ΠΏΡΡΠΊΠ°Π½Π΅ΡΠΎ ΠΈΠΌ.
- ΠΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π΅ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ΅Π½ ΠΎΡ ΡΠ°ΠΌΠΊΠ°ΡΠ° Moonstone ΠΊΡΠΌ Sandstone.
- ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΡΠ΅Π³Π»Π΅Π΄ Π½Π° ΡΠΏΠΈΡΡΠΊ Ρ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈ Wi-Fi ΡΠΎΡΠΊΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏ, ΠΊΡΠΌ ΠΊΠΎΠΈΡΠΎ Π½ΡΠΊΠΎΠ³Π° Π΅ ΠΈΠΌΠ°Π»ΠΎ Π²ΡΡΠ·ΠΊΠΈ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΊΠ»Π°Π²ΠΈΡΠ½Π° ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ (Ctrl + Alt + F9) Π·Π° ΠΏΡΠ°Π²Π΅Π½Π΅ Π½Π° Π΅ΠΊΡΠ°Π½Π½Π° ΡΠ½ΠΈΠΌΠΊΠ° (Π·Π°ΠΏΠΈΡΠ°Π½Π° Π² /tmp/screenshots), ΠΊΠ°ΠΊΡΠΎ ΠΈ Ctrl + Alt + F10 Π·Π° ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ Π΅ΠΊΡΠ°Π½Π½ΠΈ ΡΠ½ΠΈΠΌΠΊΠΈ.
- ΠΠΊΠΎΠ½ΠΈΡΠ΅ Π² Π»Π΅Π½ΡΠ°ΡΠ° Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ ΡΠ° ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½ΠΈ. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Ρ Wi-Fi ΠΎΡ Π»Π΅Π½ΡΠ°ΡΠ° Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ.
- ΠΡΠ°ΡΠ·ΡΡΡΡ WebEX Π΄ΠΎΠ±Π°Π²ΠΈ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ Π·Π° Π²ΡΠ·ΠΏΡΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π²ΠΈΠ΄Π΅ΠΎ ΠΈΠ»ΠΈ Π°ΡΠ΄ΠΈΠΎ ΠΊΡΠΌ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅.
- Clang ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° webruntime ΠΈ WAM Π² Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»Ρ Π½Π° Blink.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru