10 рдорд╣рд┐рдиреНрдпрд╛рдВрдирдВрддрд░
рдореБрдЦреНрдп
- API рдордзреНрдпреЗ
рдЬреАрдПрд╕рдХреЗ (GTK Scene Kit), рдЬреЗ OpenGL рдЖрдгрд┐ Vulkan рджреНрд╡рд╛рд░реЗ рдЧреНрд░рд╛рдлрд┐рдХ рджреГрд╢реНрдпрд╛рдВрдЪреЗ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдкреНрд░рджрд╛рди рдХрд░рддреЗ, рддреНрд░реБрдЯреАрдВрд╡рд░ рдХрд╛рдо рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ, рдЬреЗ рдирд╡реАрди рдбреАрдмрдЧрд┐рдВрдЧ рдЯреВрд▓ gtk4-node-editor рдореБрд│реЗ рдУрд│рдЦрдгреЗ рд╕реЛрдкреЗ рдЭрд╛рд▓реЗ рдЖрд╣реЗ, рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рд▓реЛрдб рдЖрдгрд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ. рд░реЗрдВрдбрд░реАрдВрдЧ рдиреЛрдб рд╕реАрд░рд┐рдЕрд▓рд╛рдЗрдЬреНрдб рдлреЙрд░рдореЕрдЯрдордзреНрдпреЗ (рдЗрдиреНрд╕реНрдкреЗрдХреНрд╢рди рдореЛрдб GTK рдЗрдиреНрд╕реНрдкреЗрдХреНрдЯрд░рдордзреНрдпреЗ рд╕реЗрд╡реНрд╣ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ), рдЖрдгрд┐ рднрд┐рдиреНрди рдмреЕрдХрдПрдВрдб рд╡рд╛рдкрд░рддрд╛рдирд╛ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдкрд░рд┐рдгрд╛рдорд╛рдВрдЪреА рддреБрд▓рдирд╛ рджреЗрдЦреАрд▓ рдХрд░рд╛; - 3D рдкрд░рд┐рд╡рд░реНрддрди рдХреНрд╖рдорддрд╛ рдЕрд╢рд╛ рд╕реНрддрд░рд╛рд╡рд░ рдЖрдгрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ рдЬреА рддреБрдореНрд╣рд╛рд▓рд╛ рдШреБрдордгрд╛рд░рд╛ рдХреНрдпреВрдмрд╕рд╛рд░рдЦреЗ рдЕреЕрдирд┐рдореЗрд╢рди рдкреНрд░рднрд╛рд╡ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ;
- рдкреВрд░реНрдгрдкрдгреЗ
рдкреБрдиреНрд╣рд╛ рд▓рд┐рд╣рд┐рд▓реЗ рдмреНрд░реЙрдбрд╡реЗ GDK рдмреЕрдХрдПрдВрдб рд╡реЗрдм рдмреНрд░рд╛рдЙрдЭрд░ рд╡рд┐рдВрдбреЛрдордзреНрдпреЗ GTK рд▓рд╛рдпрдмреНрд░рд░реА рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗрд▓реЗ. рдЬреБрдиреА рдмреНрд░реЙрдбрд╡реЗ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА GTK 4 рдордзреНрдпреЗ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд░реЗрдВрдбрд░рд┐рдВрдЧ рдкрджреНрдзрддреАрдВрдордзреНрдпреЗ рдмрд╕рдд рдирд╛рд╣реА (рдмрдлрд░рдордзреНрдпреЗ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдгреНрдпрд╛рдРрд╡рдЬреА, рддреЗ рдЖрддрд╛ рд░реЗрдВрдбрд░ рдиреЛрдбреНрд╕рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдореЙрдбреЗрд▓ рд╡рд╛рдкрд░рддреЗ, рдЬреЗрдереЗ рдЖрдЙрдЯрдкреБрдЯ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдСрдкрд░реЗрд╢рдиреНрд╕рдЪреНрдпрд╛ рдЭрд╛рдбрд╛рдЪреНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдд рдмрдирд╡рд▓реЗ рдЬрд╛рддреЗ, OpenGL рдЖрдгрд┐ Vulkan рд╡рд╛рдкрд░реВрди GPU рджреНрд╡рд╛рд░реЗ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдиреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗрд▓реА рдЬрд╛рддреЗ).
рдирд╡реАрди рдмреНрд░реЙрдбрд╡реЗ рдкрд░реНрдпрд╛рдп рдмреНрд░рд╛рдЙрдЭрд░рдордзреНрдпреЗ рдЗрдВрдЯрд░рдлреЗрд╕ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА CSS рд╢реИрд▓реАрд╕рд╣ рд░реЗрдВрдбрд░ рдиреЛрдбреНрд╕рдЪреЗ DOM рдиреЛрдбреНрд╕рдордзреНрдпреЗ рд░реВрдкрд╛рдВрддрд░ рдХрд░рддреЛ. рдкреНрд░рддреНрдпреЗрдХ рдирд╡реАрди рд╕реНрдХреНрд░реАрди рд╕реНрдерд┐рддреАрд╡рд░ рдорд╛рдЧреАрд▓ рд╕реНрдерд┐рддреАрд╢реА рд╕рдВрдмрдВрдзрд┐рдд DOM рдЯреНрд░реАрдордзреНрдпреЗ рдмрджрд▓ рдореНрд╣рдгреВрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗрд▓реА рдЬрд╛рддреЗ, рдЬреНрдпрд╛рдореБрд│реЗ рд░рд┐рдореЛрдЯ рдХреНрд▓рд╛рдпрдВрдЯрд▓рд╛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдбреЗрдЯрд╛рдЪрд╛ рдЖрдХрд╛рд░ рдХрдореА рд╣реЛрддреЛ. 3D рдЯреНрд░рд╛рдиреНрд╕рдлреЙрд░реНрдореЗрд╢рдиреНрд╕ рдЖрдгрд┐ рдЧреНрд░рд╛рдлрд┐рдХ рдЗрдлреЗрдХреНрдЯреНрд╕ CSS рдЯреНрд░рд╛рдиреНрд╕рдлреЙрд░реНрдо рдкреНрд░реЙрдкрд░реНрдЯреАрджреНрд╡рд╛рд░реЗ рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд; - GDK рдиреЗ Wayland рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд▓рдХреНрд╖рд╛рдд рдШреЗрдКрди рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗрд▓реЗ APIs рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдгреЗ рд╕реБрд░реВ рдареЗрд╡рд▓реЗ рдЖрд╣реЗ, рдЖрдгрд┐ X11-рдЖрдзрд╛рд░рд┐рдд APIs рд╕рд╛рдл рдХрд░рд╛ рдХрд┐рдВрд╡рд╛ рддреНрдпрд╛рдВрдирд╛ рд╡реЗрдЧрд│реНрдпрд╛ X11 рдмреЕрдХрдПрдВрдбрд╡рд░ рд╣рд▓рд╡рд╛. рдЪрд╛рдЗрд▓реНрдб рдкреГрд╖реНрдарднрд╛рдЧ рдЖрдгрд┐ рдЬрд╛рдЧрддрд┐рдХ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╡рд╛рдкрд░рдгреНрдпрд╛рдкрд╛рд╕реВрди рджреВрд░ рдЬрд╛рдгреНрдпрд╛рдЪреНрдпрд╛ рдХрд╛рдорд╛рдд рдкреНрд░рдЧрддреА рдЖрд╣реЗ. GDK рд╡рд░реВрди GDK_SURFACE_SUBSURFACE рд╕рд╛рдареА рд╕рдорд░реНрдерди рдХрд╛рдвреВрди рдЯрд╛рдХрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ;
- рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕реНрд╡рддрдВрддреНрд░ GdkDrag рдЖрдгрд┐ GdkDrop рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕рд╕рд╣ рдбреНрд░реЕрдЧ-рдЕрдБрдб-рдбреНрд░реЙрдк рдСрдкрд░реЗрд╢рдиреНрд╕рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдХреЛрдбрдЪреЗ рд░рд┐рдлреЕрдХреНрдЯрд░рд┐рдВрдЧ рдЪрд╛рд▓реВ рд░рд╛рд╣рд┐рд▓реЗ;
- рдЗрд╡реНрд╣реЗрдВрдЯ рд╣рд╛рддрд╛рд│рдгреА рд╕реБрд▓рдн рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ рдЖрдгрд┐ рдЖрддрд╛ рдлрдХреНрдд рдЗрдирдкреБрдЯрд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реА рдЬрд╛рддреЗ. рдЙрд░реНрд╡рд░рд┐рдд рдЗрд╡реНрд╣реЗрдВрдЯ рд╡реЗрдЧрд│реНрдпрд╛ рд╕рд┐рдЧреНрдирд▓рдиреЗ рдмрджрд▓рд▓реЗ рдЖрд╣реЗрдд, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЖрдЙрдЯрдкреБрдЯ рдЗрд╡реНрд╣реЗрдВрдЯреНрд╕рдРрд╡рдЬреА, рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдЗрд╡реНрд╣реЗрдВрдЯ рдРрд╡рдЬреА "GdkSurface::render" рд╕рд┐рдЧреНрдирд▓ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЖрд╣реЗ - "GdkSurface::size-changed", рдореЕрдкрд┐рдВрдЧ рдЗрд╡реНрд╣реЗрдВрдЯреНрд╕рдРрд╡рдЬреА - "GdkSurface: :mapped", gdk_event_handler_set() рдРрд╡рдЬреА - "GdkSurface::event";
- Wayland рд╕рд╛рдареА GDK рдмреЕрдХрдПрдВрдбрдиреЗ GtkSettings рд╕реЗрдЯрд┐рдВрдЧреНрдЬрдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреЛрд░реНрдЯрд▓ рдЗрдВрдЯрд░рдлреЗрд╕рд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ рдЖрд╣реЗ. рдЗрдирдкреБрдЯ рдкрджреНрдзрддреАрдВрд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдордЬрдХреВрд░-рдЗрдирдкреБрдЯ-рдЕрд╕реНрдерд┐рд░-v3 рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╡рд┐рд╕реНрддрд╛рд░рд╛рд╕рд╛рдареА рд╕рдорд░реНрдерди рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ;
- рд╡рд┐рдЬреЗрдЯреНрд╕рдЪреНрдпрд╛ рд╡рд┐рдХрд╛рд╕рд╛рд╕рд╛рдареА, рджреГрд╢реНрдпрдорд╛рди рдХреНрд╖реЗрддреНрд░рд╛рдЪреНрдпрд╛ рд▓реЗрдЖрдЙрдЯрд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдШрдЯрдХрд╛рдВрдЪреЗ рд▓реЗрдЖрдЙрдЯ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреНрд░рдгрд╛рд▓реАрдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╕рд╣ рдирд╡реАрди GtkLayoutManager рдСрдмреНрдЬреЗрдХреНрдЯ рд╕рд╛рджрд░ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ. GtkLayoutManager GTK рдХрдВрдЯреЗрдирд░ рдЬрд╕реЗ рдХреА GtkBox рдЖрдгрд┐ GtkGrid рдордзреАрд▓ рдЪрд╛рдЗрд▓реНрдб рдЧреБрдгрдзрд░реНрдо рдмрджрд▓рддреЛ. рдЕрдиреЗрдХ рддрдпрд╛рд░ рд▓реЗрдЖрдЙрдЯ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЖрд╣реЗрдд: рдПрдХ рдореВрд▓ рдШрдЯрдХ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рд╛рдзреНрдпрд╛ рдХрдВрдЯреЗрдирд░рд╕рд╛рдареА GtkBinLayout, рд░реЗрдЦреАрдп рд╕рдВрд░реЗрдЦрд┐рдд рдмрд╛рд▓ рдШрдЯрдХрд╛рдВрд╕рд╛рдареА GtkBoxLayout, рдЧреНрд░рд┐рдбрдордзреНрдпреЗ рдмрд╛рд▓ рдШрдЯрдХ рд╕рдВрд░реЗрдЦрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА GtkGridLayout, рдмрд╛рд▓ рдШрдЯрдХрд╛рдВрдЪреНрдпрд╛ рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рд╕реНрдерд┐рддреАрд╕рд╛рдареА GtkFixedLayout, рдкрд╛рд░рдВрдкрд╛рд░рд┐рдХ рдШрдЯрдХрд╛рдВрд╡рд░ рдЖрдзрд╛рд░рд┐рдд GtkBinLayout, LAY_Layout. рд╣рд╛рддрд╛рд│рдгрд╛рд░реЗ;
- GtkAssistant, GtkStack рдЖрдгрд┐ GtkNotebook рд╡рд┐рдЬреЗрдЯреНрд╕рдордзреНрдпреЗ рдЪрд╛рдЗрд▓реНрдб рдПрд▓рд┐рдореЗрдВрдЯреНрд╕рдЪреНрдпрд╛ рдкреЗрдЬ рдбрд┐рд╕реНрдкреНрд▓реЗрд╕рд╛рдареА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХрд░рд┐рддреНрдпрд╛ рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреНрдпрд╛рдпреЛрдЧреНрдп рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдЬреЛрдбрд▓реНрдпрд╛ рдЧреЗрд▓реНрдпрд╛ рдЖрд╣реЗрдд, рдЬреНрдпрд╛рдордзреНрдпреЗ рдпрд╛ рд╡рд┐рдЬреЗрдЯреНрд╕рдЪреЗ рд▓реЗрдЖрдЙрдЯ-рд╕рдВрдмрдВрдзрд┐рдд рдирд╕рд▓реЗрд▓реЗ рдЪрд╛рдЗрд▓реНрдб рдЧреБрдгрдзрд░реНрдо рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд. рд╕рд░реНрд╡ рд╡рд┐рджреНрдпрдорд╛рди рдЪрд╛рдЗрд▓реНрдб рдкреНрд░реЙрдкрд░реНрдЯреАрдЬ рд░реЗрдЧреНрдпреБрд▓рд░ рдкреНрд░реЙрдкрд░реНрдЯреАрдЬ, рд▓реЗрдЖрдЙрдЯ рдкреНрд░реЙрдкрд░реНрдЯреАрдЬ рдХрд┐рдВрд╡рд╛ рдкреЗрдЬ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕рдордзреНрдпреЗ рдмрджрд▓рдгреНрдпрд╛рдд рдЖрд▓реНрдпрд╛рдиреЗ, GtkContainer рдордзреВрди рдЪрд╛рдЗрд▓реНрдб рдкреНрд░реЙрдкрд░реНрдЯреАрд╕рдЪрд╛ рд╕рдкреЛрд░реНрдЯ рдкреВрд░реНрдгрдкрдгреЗ рдХрд╛рдвреВрди рдЯрд╛рдХрдгреНрдпрд╛рдд рдЖрд▓рд╛ рдЖрд╣реЗ;
- рдХреЛрд░ GtkEntry рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдирд╡реАрди GtkText рд╡рд┐рдЬреЗрдЯрдордзреНрдпреЗ рд╣рд▓рд╡рд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ, рдЬреНрдпрд╛рдордзреНрдпреЗ рд╕реБрдзрд╛рд░рд┐рдд GtkEditable рд╕рдВрдкрд╛рджрди рдЗрдВрдЯрд░рдлреЗрд╕ рджреЗрдЦреАрд▓ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ. рд╕рд░реНрд╡ рд╡рд┐рджреНрдпрдорд╛рди рдбреЗрдЯрд╛ рдЗрдирдкреБрдЯ рдЙрдкрд╡рд░реНрдЧ рдирд╡реАрди GtkText рд╡рд┐рдЬреЗрдЯрд╡рд░ рдЖрдзрд╛рд░рд┐рдд GtkEditable рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдореНрд╣рдгреВрди рдкреБрдирд░реНрдирд┐рд░реНрдорд┐рдд рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗрдд;
- рдкрд╛рд╕рд╡рд░реНрдб рдПрдВрдЯреНрд░реА рдлреЙрд░реНрдорд╕рд╛рдареА рдирд╡реАрди GtkPasswordEntry рд╡рд┐рдЬреЗрдЯ рдЬреЛрдбрд▓реЗ;
- GtkWidgets рдиреЗ CSS рдХрд┐рдВрд╡рд╛ gtk_widget_allocate рд╡рд┐рддрд░реНрдХ GskTransform рджреНрд╡рд╛рд░реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд░реЗрдЦреАрдп рдкрд░рд┐рд╡рд░реНрддрди рдкрджреНрдзрддреА рд╡рд╛рдкрд░реВрди рдореВрд▓ рдШрдЯрдХрд╛рдВрдЪреЗ рд░реВрдкрд╛рдВрддрд░ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд▓реА рдЖрд╣реЗ. GtkFixed рд╡рд┐рдЬреЗрдЯрдордзреНрдпреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рдЖрдзреАрдЪ рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЖрд╣реЗ;
- рдирд╡реАрди рд╕реВрдЪреА рдЬрдирд░реЗрд╢рди рдореЙрдбреЗрд▓ рдЬреЛрдбрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗрдд: GtkMapListModel, GtkSliceListModel, GtkSortListModel, GtkSelectionModel рдЖрдгрд┐ GtkSingleSelection. рднрд╡рд┐рд╖реНрдпрд╛рдд рдЖрдореНрд╣реА GtkListView рдордзреНрдпреЗ рд╕реВрдЪреА рдореЙрдбреЗрд▓рд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрдгреНрдпрд╛рдЪреА рдпреЛрдЬрдирд╛ рдЖрдЦрдд рдЖрд╣реЛрдд;
- GtkBuilder рдиреЗ рдЖрдпрдбреЗрдВрдЯрд┐рдлрд╛рдпрд░рджреНрд╡рд╛рд░реЗ рд▓рд┐рдВрдХреНрд╕ рд╡рд╛рдкрд░рдгреНрдпрд╛рдРрд╡рдЬреА рдСрдмреНрдЬреЗрдХреНрдЯ рдЧреБрдгрдзрд░реНрдо рд╕реНрдерд╛рдирд┐рдХ (рдЗрдирд▓рд╛рдЗрди) рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд▓реА рдЖрд╣реЗ;
- UI рдлрд╛рдЗрд▓реНрд╕ GTK 4 рдордзреВрди GTK 3 рдордзреНрдпреЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА gtk4-builder-tool рдордзреНрдпреЗ рдХрдорд╛рдВрдб рдЬреЛрдбрд▓реА;
- рдореБрдЦреНрдп рдереАрдо, рд╕рд╛рд░рдгреА рдореЗрдиреВ рдЖрдгрд┐ рдХреЙрдореНрдмреЛ рдмреЙрдХреНрд╕рд╕рд╛рдареА рд╕рдорд░реНрдерди рдмрдВрдж рдХреЗрд▓реЗ рдЖрд╣реЗ. GtkInvisible рд╡рд┐рдЬреЗрдЯ рдХрд╛рдвреВрди рдЯрд╛рдХрд▓реЗ рдЖрд╣реЗ.
рд╕реНрддреНрд░реЛрдд: opennet.ru