ΠΠΎΡΠ»Π΅ ΡΠ΅ΡΡΡΡΡ Π»Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ ΠΏΠ΅ΡΠ²ΡΠΉ Π²ΡΠΏΡΡΠΊ ΠΏΡΠΎΠ΅ΠΊΡΠ° libcamera (0.0.1), ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΡΡΠ΅ΠΊ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΠΌΠ΅ΡΠ°ΠΌΠΈ, ΡΠΎΡΠΎΠΊΠ°ΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΈ TV-ΡΡΠ½Π΅ΡΠ°ΠΌΠΈ Π² Linux, Android ΠΈ ChromeOS, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ API V4L2 ΠΈ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ Π·Π°ΠΌΠ΅Π½ΠΈΡ Π΅Π³ΠΎ. Π’Π°ΠΊ ΠΊΠ°ΠΊ API Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΅ΡΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ ΠΌΠ΅Π½ΡΡΡΡΡ ΠΈ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½, Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ ΡΠ°Π·Π²ΠΈΠ²Π°Π»ΡΡ Π±Π΅Π· ΠΎΡΠ²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π²ΡΠΏΡΡΠΊΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. Π ΠΎΡΠ²Π΅Ρ Π½Π° ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ² Π² ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ API, Π²Π»ΠΈΡΡΡΠΈΡ Π½Π° ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ, ΠΈ Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π² ΠΏΠ°ΠΊΠ΅ΡΠ°Ρ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠΈΠ½ΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π»ΠΈΠ·Ρ, ΠΎΡΡΠ°ΠΆΠ°ΡΡΠΈΠ΅ ΡΡΠ΅ΠΏΠ΅Π½Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ABI ΠΈ API. ΠΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° C++ ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ LGPLv2.1.
ΠΡΠΎΠ΅ΠΊΡ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΡΡ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌ ΡΠ΄ΡΠ° Linux ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΌΠΈ ΠΊΠ°ΠΌΠ΅Ρ Ρ ΡΠ΅Π»ΡΡ Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΈΡΡΠ°ΡΠΈΠΈ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ Π² Linux ΠΊΠ°ΠΌΠ΅Ρ Π΄Π»Ρ ΡΠΌΠ°ΡΡΡΠΎΠ½ΠΎΠ² ΠΈ Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ ΡΡΡΡΠΎΠΉΡΡΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠ²ΡΠ·Π°Π½Ρ ΠΊ ΠΏΡΠΎΠΏΡΠΈΠ΅ΡΠ°ΡΠ½ΡΠΌ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°ΠΌ. Π£ΠΆΠ΅ ΠΈΠΌΠ΅ΡΡΠΈΠΉΡΡ Π² ΡΠ΄ΡΠ΅ Linux API V4L2 Π² ΡΠ²ΠΎΡ Π²ΡΠ΅ΠΌΡ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ Π² ΡΠ°ΡΡΡΡΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΡ Ρ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠΌΠΈ ΠΎΠ±ΠΎΡΠΎΠ±Π»Π΅Π½Π½ΡΠΌΠΈ web-ΠΊΠ°ΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΈ ΠΏΠ»ΠΎΡ ΠΎ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°Π½ Π΄Π»Ρ ΠΏΠΎΡΠ²ΠΈΠ²ΡΠ΅ΠΉΡΡ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΠ΅Π½Π΄Π΅Π½ΡΠΈΠΈ Π²ΡΠ½ΠΎΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ MCU Π½Π° ΠΏΠ»Π΅ΡΠΈ CPU.
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΡ ΠΊΠ°ΠΌΠ΅Ρ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΡΡ Π½Π° Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΌ Π² ΠΊΠ°ΠΌΠ΅ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ΅ (MCU), Π²ΠΎ Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ Π΄Π»Ρ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΈΠΌΠΎΡΡΠΈ ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΠ½ΠΎΡΡΡΡΡ Π½Π° ΠΏΠ»Π΅ΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ CPU ΠΈ ΡΡΠ΅Π±ΡΡΡ ΡΡΠ»ΠΎΠΆΠ½ΡΠ½Π½ΠΎΠ³ΠΎ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°, Π²ΠΊΠ»ΡΡΠ°ΡΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°ΡΠΈΠ΅ ΠΎΡΠΊΡΡΡΠΈΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ. Π ΡΠ°ΠΌΠΊΠ°Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° libcamera ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΊΠΈ Π‘ΠΠ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΈ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠΏΡΡΠ°Π»ΠΈΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡΠ΅Π΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΠ, Π° Ρ Π΄ΡΡΠ³ΠΎΠΉ — ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π΅ Π·Π°ΡΠΈΡΠΈΡΡ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ ΠΊΠ°ΠΌΠ΅Ρ.
ΠΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΡΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ libcamera ΡΡΠ΅ΠΊ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠ»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌΠΈ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ ΠΏΡΠΎΡΠ»ΠΎΠΉΠΊΠΈ Π΄Π»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ API V4L, Gstreamer ΠΈ Android Camera HAL. Π‘ΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠ΅ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ°ΠΌΠ΅ΡΡ ΠΏΡΠΎΠΏΡΠΈΠ΅ΡΠ°ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΡΠΎΡΠΌΠ»ΡΡΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠ°Ρ ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΡ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ ΡΠ΅ΡΠ΅Π· IPC. ΠΠΎΠ΄ΡΠ»ΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΠΏΡΡΠΌΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΡΡΡΠΎΠΉΡΡΠ²Ρ ΠΈ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΉ API, Π·Π°ΠΏΡΠΎΡΡ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΠ²Π΅ΡΡΡΡΡΡ, ΡΠΈΠ»ΡΡΡΡΡΡΡΡ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠΉ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ°ΠΌΠ΅ΡΠΎΠΉ.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°ΠΌ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ (ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²ΠΊΠ° Π±Π°Π»Π°Π½ΡΠ° Π±Π΅Π»ΠΎΠ³ΠΎ, ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΡΠΌΠ°, ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·Π°ΡΠΈΡ Π²ΠΈΠ΄Π΅ΠΎ, Π°Π²ΡΠΎΡΠΎΠΊΡΡ, Π²ΡΠ±ΠΎΡ ΡΠΊΡΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΠΈ Ρ.ΠΏ.), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΎΡΠΊΡΡΡΡΡ
Π²Π½Π΅ΡΠ½ΠΈΡ
Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈΠ»ΠΈ ΠΏΡΠΎΠΏΡΠΈΠ΅ΡΠ°ΡΠ½ΡΡ
ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ. API ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ°ΠΊΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡΠΌ, ΠΊΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ΠΈΠΌΠ΅ΡΡΠΈΡ
ΡΡ Π²Π½Π΅ΡΠ½ΠΈΡ
ΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ
ΠΊΠ°ΠΌΠ΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠΈΠ»Π΅ΠΉ ΡΡΡΡΠΎΠΉΡΡΠ², ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΎΠ±ΡΡΠΈΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΌΠ΅Ρ, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π°Ρ
Π²Π°ΡΠΎΠΌ Π΄Π°Π½Π½ΡΡ
Ρ ΠΊΠ°ΠΌΠ΅Ρ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΠΊΠ°Π΄ΡΠΎΠ² ΠΈ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΡΠ½ΠΈΠΌΠΊΠΎΠ² Ρ ΡΠ°Π±ΠΎΡΠΎΠΉ Π²ΡΠΏΡΡΠΊΠΈ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ° Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΌΠ΅ΡΠ°ΠΌΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ Π·Π°Ρ
Π²Π°ΡΠ° ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
Π²ΠΈΠ΄Π΅ΠΎΠΏΠΎΡΠΎΠΊΠΎΠ² Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ°ΠΌΠ΅ΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ΄ΠΈΠ½ Ρ Π½ΠΈΠ·ΠΊΠΈΠΌ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ Π²ΠΈΠ΄Π΅ΠΎΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ, Π° Π΄ΡΡΠ³ΠΎΠΉ Ρ Π²ΡΡΠΎΠΊΠΈΠΌ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ Π°ΡΡ
ΠΈΠ²Π½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π½Π° Π΄ΠΈΡΠΊ).
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru