Pagkatapos ng isang taon ng pag-unlad at 29 pang-eksperimentong bersyon, ipinakita ang isang matatag na paglabas ng bukas na pagpapatupad ng Win32 API - Wine 10.0, na nagsama ng higit sa 6000 pagbabago. Kasama sa mga pangunahing tagumpay sa bagong bersyon ang buong suporta para sa arkitektura ng ARM64EC, pag-scale sa mga screen na may mataas na pixel density, pagsasama ng Wayland driver bilang default, pagpapatupad ng mga panel para sa pag-customize ng screen at joystick, isang alternatibong multimedia backend batay sa FFmpeg, Bluetooth driver, suporta ng Vulkan 1.4, kakayahan sa pagtulad sa paglipat ng mga mode ng video.
Nakumpirmang gumagana nang maayos ang 5372 na programa sa Wine Windows (5336 isang taon na ang nakalipas, 5266 dalawang taon na ang nakalipas, 5156 tatlong taon na ang nakalipas), isa pang 4435 na programa (4397 isang taon na ang nakalipas, 4370 dalawang taon na ang nakalipas, 4312 tatlong taon na ang nakalipas) ay gumagana nang maayos gamit ang mga karagdagang setting at mga panlabas na DLL. Ang mga programang 4020 (3943 isang taon na ang nakalipas, 3888 dalawang taon na ang nakalipas, 3813 tatlong taon na ang nakalipas) ay may mga maliliit na isyu na hindi nakakasagabal sa paggamit ng pangunahing functionality ng application.
Mga pangunahing inobasyon sa Wine 10.0:
- ARM64
- Ang buong suporta ay ibinibigay para sa ARM64EC (ARM64 Emulation Compatible) na arkitektura, ang antas ng suporta sa Wine kung saan umabot na sa pare-pareho ang ARM64 na arkitektura. Ang arkitektura ng ARM64EC ay idinisenyo upang pasimplehin ang pag-port ng mga application na orihinal na isinulat para sa mga x64_86 system sa mga ARM64 system, at pinapayagan ang mga indibidwal na x64_86 code module na tumakbo sa ARM64 environment gamit ang isang emulator.
- Ang buong suporta ay ipinatupad para sa ARM64X PE file format, na nagbibigay-daan sa iyong pagsamahin ang code para sa ARM64EC at ARM64 na mga arkitektura sa isang executable na file. Upang bumuo ng Wine sa format na ARM64X, kailangan mong i-install ang LLVM mula sa Git (isasama ang kinakailangang functionality sa release ng LLVM 20) at kapag pinapatakbo ang script na "configure", tukuyin ang opsyon na "-enable-archs=arm64ec,aarch64". .
- Ang isang interface para sa pagtulad sa 64-bit x86 system ay ipinatupad. Kapag gumagamit ng ARM64EC, ang Wine mismo ay tumatakbo nang ganoon, at ang emulation ay inilalapat lamang sa x86-64 application code. Ang library na may emulator ay hindi pa kasama sa pangunahing pakete ng Wine, ngunit upang patakbuhin ang x86-64 code sa ARM64 na kapaligiran, maaari mong gamitin ang panlabas na FEX emulator na binuo na may suporta sa ARM64EC.
- ΠΠ»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ARM64 Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΡΡΠ°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 4ΠΠ, ΠΊΠ°ΠΊ ΡΠΎΠ³ΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ ABI Windows (Π·Π°ΠΏΡΡΠΊ Π² ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡΡ Ρ ΡΠ΄ΡΠ°ΠΌΠΈ Linux, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΌΠΈ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΠ°ΠΌΡΡΠΈ 16K ΠΈΠ»ΠΈ 64K ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ).
- Subsystem ng graphics
- Nagpatupad ng mas tumpak na pag-scale sa mga screen na may mataas na pixel density (High-DPI). Ang suporta para sa DPI Awareness mode ay ibinigay upang ayusin ang pagpapakita ng mga application sa mga screen na may mataas na pixel density, isinasaalang-alang kung sinusuportahan ng application ang pagbagay sa mga pagbabago sa DPI o hindi (ang mga application na hindi isinasaalang-alang ang DPI ay awtomatikong nai-scale). Nagdagdag ng mga opsyon para i-override ang High-DPI na suporta para sa mga indibidwal na application o Wine prefix.
- Ang suporta para sa pagtutukoy ng Vulkan 1.4 ay naidagdag sa driver para sa Vulkan graphics API (Vulkan 9.0 ay suportado sa Wine 1.3.272). Nagdagdag ng suporta para sa mga extension ng Vulkan para sa pag-encode at pag-decode ng video.
- Kapag ginagamit ang X11 backend, ang kakayahang mag-render ng Vulkan child window para sa mga application na gumagamit ng naturang mga window upang magpakita ng 3D na nilalaman ay ipinatupad (noon, ang naturang feature ay available lang para sa OpenGL).
- Ang suporta para sa mekanismo ng pag-link ng font ay idinagdag sa library ng GdiPlus, na nagbibigay-daan sa iyong gumamit ng ilang mga font kapag nagpapakita ng teksto kung walang mga font na hiwalay na sumasaklaw sa lahat ng mga character na makikita sa teksto.
- Wayland
- Π ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°Π½ Π΄ΡΠ°ΠΉΠ²Π΅Ρ winewayland.drv, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Wine Π² ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡΡ Π½Π° Π±Π°Π·Π΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Wayland Π±Π΅Π· ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ XWayland ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² X11. Wine Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½Π° Wayland Π½Π°ΠΏΡΡΠΌΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ XWayland Π½Π΅Π΄ΠΎΡΡΡΠΏΠ΅Π½, Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π·Π°ΠΏΡΡΠΊ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ XWayland ΠΎΡΡΠ°ΡΡΡΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ½ΡΠΌ. ΠΠ»Ρ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Wayland ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ DISPLAY, Π»ΠΈΠ±ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠ»ΡΡ Π² ΡΠ΅Π΅ΡΡΡ, ΡΠΎΠ·Π΄Π°Π² ΡΠ°ΠΉΠ» file.reg: Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Wine\Drivers] Β«GraphicsΒ»=Β»waylandΒ» ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ² Π΅Π³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ: $ WINEPREFIX=/ΠΏΡΡΡ/Π΄ΠΎ/ΠΏΡΠ΅ΡΠΈΠΊΡΠ° wine regedit /ΠΏΡΡΡ/Π΄ΠΎ/file.reg
- Nagdagdag ng suporta para sa OpenGL at mga pixel buffer (pBuffer) sa driver ng winewayland.drv.
- Nalutas ang mga isyu sa popup window positioning sa Wayland-based na kapaligiran.
- Kapag gumagamit ng Wayland, suporta para sa auto-repeat kapag ipinatupad ang pagpindot sa mga key.
- Pagsasama ng desktop
- Nagdagdag ng pang-eksperimentong "modeset" na mekanismo ng emulation na nagbibigay-daan sa iyong tularan ang paglipat ng mga video mode nang hindi aktwal na binabago ang mga setting ng screen. Ang visibility ng pagbabago ng resolution ng screen nang hindi lumilipat ng video mode ay nilikha sa pamamagitan ng pagpapalawak at pag-scale ng mga window.
- Ang isang bagong Desktop Control Panel applet (desk.cpl) ay naidagdag sa pagpapatupad ng isang interface para sa pamamahala ng mga setting ng display (halimbawa, maaari mong baguhin ang virtual na resolution ng desktop o i-configure ang mga emulated na parameter ng display).
- Idinagdag ang kakayahang i-reset ang mga setting ng screen sa mga default na halaga kung imposibleng ibalik ang estado pagkatapos ng pag-crash ng proseso.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠΊΠ°Π·Π° ΠΏΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌ Π»ΠΎΡΠΊΠ΅ (Π² Β«HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\ExplorerΒ» ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΡ Β«NoTrayItemsDisplay=1Β»).
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠ΅ΠΊ (Shell launcher) Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Π΄Π΅ΡΠΊΡΠΎΠΏΠ° (Π² Β«HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\ExplorerΒ» ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΡ Β«NoDesktop=1Β»).
- Direct3D
- Ang pag-render gamit ang OpenGL ay nangangailangan na ngayon ng suporta para sa GLSL 1.20, pati na rin ang EXT_framebuffer_object at ARB_texture_non_power_of_two extension. Ang suporta para sa lumang ARB shader backend at OffscreenRenderingMode na setting ay hindi na ipinagpatuloy.
- Para sa Direct3D 9 at mas luma, may naidagdag na fixed function graphics pipeline (ang mas lumang Direct3D ay nagbigay lamang ng mga paunang natukoy na graphics operations na hindi mababago), ipinatupad gamit ang HLSL shader language at pinapayagan ang fixed function emulation kapag nagre-render sa pamamagitan ng Vulkan o OpenGL API.
- Gumagamit ang pag-render gamit ang Vulkan ng mga extension ng Vulkan upang dynamic na baguhin ang estado ng pipeline ng graphics, na binabawasan ang pagkautal sa mga laro.
- Nagdagdag ng alternatibong glsl-vkd3d backend para sa mga GLSL shader, gamit ang vkd3d-shader.
- Nagbigay ng paunang suporta para sa pag-compile ng mga Direct3D effect gamit ang vkd3d-shader.
- Ang D3DX9 library ay nagpapatupad ng kakayahang bumuo ng mga MIP texture (MipMap) kapag naglo-load ng mga volumetric na texture. Nagdagdag ng suporta para sa mga format ng representasyon ng kulay na 64bpp RGBA at 48bpp RGB sa mga PNG na larawan, pati na rin sa mga format na X8L8V8U8, A2W10V10U10, A8P8, V16U16 at Q16W16V16U16.
- Tunog at video
- Bilang alternatibo sa GStreamer-based backend, isang bagong multimedia backend ang ipinatupad, batay sa paggamit ng FFmpeg at angkop para sa pagpapatakbo ng Media Foundation framework. Upang paganahin ang isang alternatibong backend, dapat mong tukuyin ang "DisableGstByteStreamHandler=1" sa seksyon ng registry na "HKCU\Software\Wine\MediaFoundation".
- Ang pagpapatupad ng Media Foundation API ay pinahusay upang mas mahusay na mapaunlakan ang mga application na nakadepende sa mga bahagi ng demultiplexing at decoding.
- Ang DirectMusic API ay nagdagdag ng suporta para sa paglo-load ng mga MIDI file.
- Mga aparatong input
- Nagdagdag ng paunang bersyon ng Bluetooth driver.
- Nagdagdag ng Joystick Control Panel applet (joy.cpl) na may pagpapatupad ng mga setting para sa joystick.
- ΠΠ½Π΅ΡΠ΅Π½Ρ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΌ (ΡΠ°ΡΠΏΠ°Π΄Ρ, ΠΌΡΡΠΈ), ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΌΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» HID (Human Interface Device). ΠΠΎΠ±Π°Π²Π»Π΅Π½ Π΄ΡΠ°ΠΉΠ²Π΅Ρ mouhid.sys Π΄Π»Ρ HID-ΡΡΡΡΠΎΠΉΡΡΠ². Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΉ ΡΠ°Π·Π±ΠΎΡ ΡΠΎΡΡΠ°Π²Π½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² Π²Π²ΠΎΠ΄Π° ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ Π½ΠΈΡ Π² Windows-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠ°ΠΊ ΠΎ ΡΠ°Π·Π΄Π΅Π»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ .
- Para sa backend ng X11, idinagdag ang suporta para sa mga touch screen at ipinatupad ang kakayahang gumamit ng multi-touch mode sa pamamagitan ng pagproseso ng mga mensaheng WM_POINTER* (WM_POINTERENTER, WM_POINTERLEAVE, atbp.).
- Ipinatupad ang paglalagay ng ilang panloob na istruktura ng user32 library sa shared memory, na nagpapataas ng performance at nagpababa ng load sa Wine Server.
- Nagdagdag ang Winex11 ng suporta para sa pagproseso ng mga kaganapan sa XInput2 na may kaugnayan sa mga indibidwal na bintana.
- Ipinatupad ang tamang suporta para sa mga keyboard na may layout ng Dvorak.
- Kernel (mga interface ng kernel) Windows)
- Idinagdag ang suporta para sa pagdami ng pribilehiyo ng proseso (isang proseso na unang tumatakbo bilang karaniwang user ay maaaring bigyan ng mga pribilehiyo ng administrator). Kapag lumilikha ng mga proseso ng server (msi action server), pati na rin ang mga prosesong tumatawag sa mga function ng RtlCreateUserProcess() at CreateProcessInternal(), isang limitadong token ng administrator ang pinapagana bilang default.
- Kapag kumukuha ng impormasyon tungkol sa mga label ng disk, hangga't maaari, ang pag-access sa mga serbisyo ng system sa pamamagitan ng DBus ay ginagamit na ngayon, sa halip na subukang direktang i-access ang device.
- ΠΠ΄Π½ΠΎΠ½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΌΠ΅ΠΆΠΏΡΠΎΡΠ΅ΡΡΠ½ΠΎΠ³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ (IPC) Mailslots ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² Wine server, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ Π΄ΠΎΠ±ΠΈΡΡΡΡ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠΈ Windows.
- Ipinatupad ang paghihintay para sa mga serial port na kaganapan sa asynchronous mode.
- Nagdagdag ng buong suporta para sa mga extension ng processor ng XSTATE sa mga konteksto ng thread, na nagpapahintulot sa paggamit ng mga bagong extension ng vector gaya ng AVX-512.
- Mga Naka-embed na Application
- Ang input data processing engine na ginamit sa cmd.exe command interpreter ay muling isinulat. Nagdagdag ng suporta para sa "||" na operasyon sa cmd.exe At "&&".
- Ang findstr utility ay nagdagdag ng suporta para sa mga regular na expression at case-insensitive na mga paghahanap.
- Ang kakayahang magrehistro ng ARM32EC modules ay naidagdag sa regsvr32 at rundll64 utilities.
- Mga idinagdag na utility: pag-uri-uriin para sa pag-uuri ng data ng input, fc para sa paghahambing ng mga file at kung saan para sa paghahanap ng mga file.
- Ang wmic application ay nagpapatupad ng interactive na mode ng operasyon.
- Nagdagdag ang Explorer ng opsyonal na suporta para sa start menu at toolbar. Pinagana ang paglunsad ng explorer.exe na may pinababang mga karapatan sa pag-access.
- Mga Tool sa Pag-unlad
- Idinagdag ang opsyong "-marm64x" sa winebuild upang makabuo ng mga hybrid na aklatan ng ARM64X.
- Idinagdag ang "-marm64x" na opsyon sa winegcc upang payagan ang pagbuo para sa ARM64X.
- Ang mga file na nabuo gamit ang Interface Definition Language (IDL) ay gumagamit ng mga bahagi na ganap na sumusuporta sa pagpapatupad sa interpreted mode.
- Ang suporta para sa pagbuo ng mga uri ng library (TypeLib) sa lumang format (SLTG) ay idinagdag sa IDL (Interface Definition Language) compiler.
- Ang utility ng winedump ay nagdagdag ng suporta para sa pag-save ng mga dump ng mga talahanayan ng minidump, impormasyon sa pagbubukod ng C++, at mga mapagkukunan ng typelib.
- Miscellanea
- Pinahusay na suporta para sa Diffie-Hellman (DH) key exchange protocol. Idinagdag ang kakayahang i-configure at tumanggap ng mga parameter ng DH. Ipinatupad na mga tagapangasiwa para sa paglikha ng mga pares ng pampubliko at pribadong mga susi.
- Ang paggamit ng incremental padding OAEP (Optimal Asymmetric Encryption Padding) kasama ang RSA algorithm ay ibinigay.
- Sinusuportahan ng DirectPlay API ang mga session ng network.
- Pinahusay na paghawak ng mga asynchronous input/output states kapag nagtatrabaho sa WoW64 (64-bit) mode Windows-sa-Windows), na nagbibigay-daan sa iyong magpatakbo ng 32-bit Windows-mga aplikasyon sa 64-bit na mga sistemang Unix.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π·Π°Π³ΡΡΠ·ΠΊΠΈ ODBC-Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² ΠΊ Π‘Π£ΠΠ, ΡΠΎΠ±ΡΠ°Π½Π½ΡΡ Π΄Π»Ρ Windows.
- Para sa platform ng ARM, ipinapatupad ang buong suporta para sa RPC/COM, C++ RTTI (Run-Time Type Information) at C++ exception.
- Sa C runtime, ang mga function ng ANSI ay nagpapatupad ng suporta para sa pag-encode ng UTF-8.
- Ang mga kakayahan ng MSHTML engine ay pinalawak. Nagdagdag ng suporta para sa mga prototype at object constructor. Ang isang bagong object na nagbubuklod na interface para sa MSHTML ay naidagdag sa JavaScript engine. Ang mga built-in na function ng MSHTML ay na-convert sa mga wastong JavaScript object. Pinahusay na koleksyon ng basura ng JavaScript upang masakop ang lahat ng konteksto ng pagpapatupad ng script sa isang thread. Nagdagdag ng suporta para sa ArrayBuffer at DataView JavaScript objects.
- Ang suporta para sa static na pagsusuri gamit ang Clang at JUnit test reports ay naidagdag sa Gitlab-based na tuluy-tuloy na integration system.
- Ang Capstone 5.0.3 library ay binuo sa package, kung saan ang disassembly ay ipinatupad sa WineDb debugger.
- Na-update ang mga bahagi sa mga bagong bersyon: Vkd3d 1.14, Faudio 24.10, FluidSynth 2.4.0, LDAP 2.5.18, LCMS2 2.16, LibJpeg 9f, LibMPG123 1.32.9, LibPng 1.6.44, LibTiff 4.7.0ml. 2, LibXslt 2.12.8 at Zlib 1.1.42.
Pinagmulan: opennet.ru
