ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎΡΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° Rust Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ° Π³ΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΈ ΠΏΡΠ΅Π΄ΠΏΠ°Π·Π²Π° ΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΏΡΠΎΠΈΠ·ΡΠΈΡΠ°ΡΠΈ ΠΎΡ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° Π½ΠΈΡΠΊΠΎ Π½ΠΈΠ²ΠΎ, ΠΊΠ°ΡΠΎ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΠ΅Π³ΠΈΠΎΠ½ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ Π΅ Π±ΠΈΠ» ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄Π΅Π½, Π΄Π΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ Π½Π° Π½ΡΠ»Π΅Π² ΡΠΊΠ°Π·Π°ΡΠ΅Π», ΠΏΡΠ΅ΠΏΡΠ»Π²Π°Π½Π΅ Π½Π° Π±ΡΡΠ΅Ρ ΠΈ Ρ.Π½. Π Π°Π·ΡΠ°Π±ΠΎΡΠ²Π° ΡΠ΅ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ Π·Π° ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ³Π»ΠΎΠ±ΡΠ²Π°Π½Π΅ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΡΠ½ΠΎΠ²Π½Π°ΡΠ°
- ΠΠ»ΠΈΠΌΠΈΠ½ΠΈΡΠ°Π½ Π΄ΡΠ»Π³ΠΎΠ³ΠΎΠ΄ΠΈΡΠ΅Π½
Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΠΊ ΠΊΠΎΠ³Π°ΡΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅Π»ΠΈ ΡΠΈΡΠ»Π° ΠΈ ΡΠΈΡΠ»Π° Ρ ΠΏΠ»Π°Π²Π°ΡΠ° Π·Π°ΠΏΠ΅ΡΠ°Ρ. Π’ΡΠΉ ΠΊΠ°ΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΡΡ Rust ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° LLVM ΠΊΠ°ΡΠΎ Π±Π΅ΠΊΠ΅Π½Π΄, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ Π·Π° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅ Π½Π° ΡΠΈΠΏ Π±ΡΡ Π° ΠΈΠ·Π²ΡΡΡΠ΅Π½ΠΈ ΡΡΠ΅Π· ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½ΠΈ ΠΊΠΎΠ΄ΠΎΠ²ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π½Π° LLVM, ΠΊΠ°ΡΠΎ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρfptoui , ΠΊΠΎΠΈΡΠΎ ΠΈΠΌΠ°Ρ Π΅Π΄Π½Π° Π²Π°ΠΆΠ½Π° Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ° - Π½Π΅Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, Π°ΠΊΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½Π°ΡΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡ Π½Π΅ ΡΠ΅ Π²ΠΏΠΈΡΠ²Π° Π² ΡΠ΅Π»Π΅Π²ΠΈΡ ΡΠΈΠΏ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠ»Π°Π²Π°ΡΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡ 300 Ρ ΡΠΈΠΏ f32 Π² ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½ ΡΠΈΠΏ u8, ΡΠ΅Π·ΡΠ»ΡΠ°ΡΡΡ Π΅ Π½Π΅ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ΠΈΠΌ ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π²Π°ΡΠΈΡΠ° Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ. ΠΡΠΎΠ±Π»Π΅ΠΌΡΡ Π΅, ΡΠ΅ ΡΠ°Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ΅ ΠΏΠΎΡΠ²ΡΠ²Π° Π² ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡΠΎ Π½Π΅ Π΅ ΠΌΠ°ΡΠΊΠΈΡΠ°Π½ ΠΊΠ°ΡΠΎ βΠΎΠΏΠ°ΡΠ΅Π½β.ΠΡ Rust 1.45 ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠ΅ΠΏΡΠ»Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΡΠΈΠΏΠ° Π΅ ΡΡΡΠΎΠ³ΠΎ ΡΠ΅Π³ΡΠ»ΠΈΡΠ°Π½ΠΎ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° Π·Π° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅ "as" ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π° Π·Π° ΠΏΡΠ΅ΠΏΡΠ»Π²Π°Π½Π΅ ΠΈ ΠΏΡΠΈΠ½ΡΠΆΠ΄Π°Π²Π° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° ΠΊΡΠΌ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π°ΡΠ° ΠΈΠ»ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½Π°ΡΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡ Π½Π° ΡΠ΅Π»Π΅Π²ΠΈΡ ΡΠΈΠΏ (Π·Π° ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΏΠΎ-Π³ΠΎΡΠ΅, ΡΡΠΎΠΉΠ½ΠΎΡΡ ΠΎΡ 300 ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½ΠΈ Π² 255). ΠΠ° Π΄Π° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ ΡΠ°ΠΊΠΈΠ²Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ, ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡ Π½Π° API β{f64, f32}::to_int_uncheckedβ, ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ Π² Π½Π΅Π±Π΅Π·ΠΎΠΏΠ°ΡΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ.
fn cast(x: f32) -> u8 {
x ΠΊΠ°ΡΠΎ u8
}fn main() {
Π½Π΅ΠΊΠ° ΡΠ²ΡΡΠ΄Π΅_Π³ΠΎΠ»ΡΠΌ = 300.0;
Π½Π΅ΠΊΠ° ΡΠ²ΡΡΠ΄Π΅_ΠΌΠ°Π»ΡΠΊ = -100.0;
Π½Π΅ΠΊΠ° nan = f32::NAN;Π½Π΅ΠΊΠ° x: f32 = 1.0;
Π½Π΅ΠΊΠ° y: u8 = unsafe { x.to_int_unchecked() };println!("too_big_casted = {}", cast(too_big)); // ΠΈΠ·Ρ ΠΎΠ΄ 255
println!("too_small_casted = {}", cast(too_small)); // ΠΈΠ·Ρ ΠΎΠ΄ 0
println!("not_a_number_casted = {}", cast(nan)); // ΠΈΠ·Ρ ΠΎΠ΄ 0
} - ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠ°Π½
ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΠΈ ΠΌΠ°ΠΊΡΠΎΡΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ·ΡΠ°Π·ΠΈ, ΡΠ°Π±Π»ΠΎΠ½ΠΈ ΠΈ ΠΈΠ·ΡΠ°Π·ΠΈ. ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΡΠ°ΠΊΠΈΠ²Π° ΠΌΠ°ΠΊΡΠΎΡΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π° Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Ρ Π½Π°Π²ΡΡΠΊΡΠ΄Π΅, Π° ΡΠ°ΠΌΠΎ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠ°ΡΡΠΈ Π½Π° ΠΊΠΎΠ΄Π° (ΠΊΠ°ΡΠΎ ΠΎΡΠ΄Π΅Π»Π½ΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅, ΠΊΠΎΠ΅ΡΠΎ Π½Π΅ Π΅ ΠΏΡΠ΅ΠΏΠ»Π΅ΡΠ΅Π½ΠΎ Ρ Π΄ΡΡΠ³ ΠΊΠΎΠ΄). Π Π°Π·ΡΠΈΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π½Π°ΡΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΠΉΡΠΎ ΠΌΠ°ΠΊΡΠΎΡΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅, Π±Π΅ΡΠ΅ Π΅Π΄Π½ΠΎ ΠΎΡ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡΡΠ°, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ ΡΠ΅Π± ΡΠ°ΠΌΠΊΠ°ΡΠ° Π΄Π° ΡΠ°Π±ΠΎΡΠΈΠ Π°ΠΊΠ΅ΡΠ° Π² ΡΡΠ°Π±ΠΈΠ»Π½ΠΈ Π²Π΅ΡΡΠΈΠΈ Π½Π° Rust. ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΠΏΠΎΡΡΠΈΠ³Π°Π½Π΅ΡΠΎ Π½Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° Π³ΡΠ²ΠΊΠ°Π²ΠΎΡΡ ΠΏΡΠΈ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΠΈ Π² Rocket ΠΈΠ·ΠΈΡΠΊΠ²Π°ΡΠ΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½Π° ΡΡΠ½ΠΊΡΠΈΡ, Π½Π°ΡΠ΅ΡΠ΅Π½Π° βproc_macro_hygieneβ, ΠΊΠΎΡΡΠΎ Π½Π΅ Π΅ Π½Π°Π»ΠΈΡΠ½Π° Π² ΡΡΠ°Π±ΠΈΠ»Π½ΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π½Π° Rust. Π’Π°Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ Π²Π΅ΡΠ΅ Π΅ Π²Π³ΡΠ°Π΄Π΅Π½Π° Π² ΡΡΠ°Π±ΠΈΠ»Π½ΠΈ Π²Π΅ΡΡΠΈΠΈ Π½Π° Π΅Π·ΠΈΠΊΠ°. - Π Π°Π·ΡΠ΅ΡΠ΅Π½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΈ Ρ ΡΠΈΠΏ βcharβ Π·Π° ΠΈΡΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π½Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ (ops::{Range, RangeFrom, RangeFull, RangeInclusive, RangeTo}):
Π·Π° ch Π² 'a'..='z' {
ΠΏΠ΅ΡΠ°Ρ!("{}", ch);
}
println!(); // Π©Π΅ ΠΎΡΠΏΠ΅ΡΠ°ΡΠ° "abcdefghijklmnopqrstuvwxyz" - ΠΠΎΠ²Π° ΡΠ°ΡΡ ΠΎΡ API Π΅ ΠΏΡΠ΅Ρ
Π²ΡΡΠ»Π΅Π½Π° Π² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΡΠ° ΡΡΠ°Π±ΠΈΠ»Π½ΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ
Arc::as_ptr,
BTreeMap::remove_entry,
Rc::as_ptr,
rc :: Π‘Π»Π°Π± :: as_ptr,
rc::Weak::from_raw,
rc::Weak::into_raw,
str::strip_prefix,
str::strip_suffix,
sync::Weak::as_ptr,
sync::Weak::from_raw,
sync::Weak::into_raw,
char::UNICODE_VERSION,
Span::resolved_at,
Span::located_at,
Span::mixed_site,
unix::process::CommandExt::arg0. - ΠΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΡΡ rustc Π΄ΠΎΠ±Π°Π²ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π·Π°ΠΌΡΠ½Π° Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΅Π»Π΅Π²ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠ»Π°Π³Π° "target-feature", Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ "-C target-feature=+avx2,+fma". ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° ΠΈ Π½ΠΎΠ²ΠΈ ΡΠ»Π°Π³ΠΎΠ²Π΅:
"force-unwind-tables" Π·Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°Π±Π»ΠΈΡΠΈ Π·Π° ΠΎΡΠ²ΠΈΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡΡΠ°, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡΡΠ° Π·Π° ΡΠΏΡΠ°Π²ΡΠ½Π΅ Ρ ΡΡΠΈΠ²Π°; "embed-bitcode", Π·Π° Π΄Π° ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ° Π΄Π°Π»ΠΈ Π±ΠΈΡΠΊΠΎΠ΄ΡΡ Π½Π° LLVM Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½ Π² Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈΡΠ΅ rlibs. Π€Π»Π°Π³ΡΡ "embed-bitcode" Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π² Cargo, Π·Π° Π΄Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ ΠΈ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ. - ΠΡΠΈΠ³ΡΡΠ΅Π½ΠΎ Π΅ ΡΡΠ΅ΡΠΎ Π½ΠΈΠ²ΠΎ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈΡΠ΅ mipsel-sony-psp ΠΈ thumbv7a-uwp-windows-msvc. Π’ΡΠ΅ΡΠΎΡΠΎ Π½ΠΈΠ²ΠΎ Π²ΠΊΠ»ΡΡΠ²Π° Π±Π°Π·ΠΎΠ²Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°, Π½ΠΎ Π±Π΅Π· Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°Π½ΠΎ ΡΠ΅ΡΡΠ²Π°Π½Π΅ ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π΅ Π½Π° ΠΎΡΠΈΡΠΈΠ°Π»Π½ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΠΈ.
ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈ
Π‘ΡΠ°ΡΠΈΡΡΠ° Π΅ ΠΏΡΡΠ²Π°ΡΠ° ΠΎΡ ΠΏΠΎΡΠ΅Π΄ΠΈΡΠ°, ΠΏΠΎΡΠ²Π΅ΡΠ΅Π½Π° Π½Π° Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅Ρ
Π½ΠΈΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΡΡΡΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π½ΠΈΡΠΊΠΎ Π½ΠΈΠ²ΠΎ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΠΠ‘.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru