|
f5b3247a
|
2023-06-08T03:40:32
|
|
further mouse relative motion fix for os/2 (thanks Andrey Vasilkin)
|
|
aa536217
|
2023-06-07T15:42:22
|
|
x11: check if window size/position has changed during SDL_ShowWindow.
Fixes #4216.
(cherry picked from commit 49b5cfa6c5cb9bb8cecce508e12fa7f8e0cc302f)
|
|
14f4fd3f
|
2023-06-07T20:35:15
|
|
git commit -m "cmake: set maximum policy to 3.5
This fixes the following warning when configuring with CMake 3.27+:
```
CMake Deprecation Warning at CMakeLists.txt:3190 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
```
|
|
b1324fbc
|
2023-06-05T11:50:50
|
|
fixed os/2 mouse relative motion not working (thanks Andrey Vasilkin,)
for issue reported at https://github.com/bitwiseworks/SDL2-os2/issues/5
|
|
4700fbcb
|
2023-06-04T05:37:06
|
|
Don't bother re-encoding Latin1 characters in the ASCII range
(cherry picked from commit 6150b5b3cbde0e592c4ffe822f66aa5f9c90c3d9)
|
|
2660da6f
|
2023-02-28T17:50:26
|
|
Always allocate zt in output of SDL_iconv_string()
Before this, the function could not be used on buffers,
as it would not account for the zero-termination unless
it was included in the input.
(cherry picked from commit 5f5abb680523e1adedd3fca2a8e252db01fc1c52)
|
|
7c86d96e
|
2023-06-04T01:01:06
|
|
Fixed SDL_iconv_string() truncation when handling SDL_ICONV_E2BIG
(cherry picked from commit c369b900199f905c51edb372bd7780f67a544a8c)
|
|
a1dea11d
|
2023-06-04T14:29:10
|
|
fix MSVC build error.
|
|
bfef7c30
|
2023-06-04T02:06:52
|
|
Only convert the result of XLookupString() if it's not already UTF-8
Fixes https://github.com/libsdl-org/SDL/issues/7766
(cherry picked from commit 491ae20d963cff397b5980b31d142d576e74becb)
|
|
b9d1c483
|
2023-06-03T23:55:56
|
|
Fixed building with the 16.1.4479499 Android toolchain
|
|
dc94cca8
|
2023-06-03T11:57:08
|
|
Fixed typo in cherry-pick (thanks @HadesD!)
|
|
97fe777a
|
2023-06-03T11:39:03
|
|
Steam uses a different VID/PID for the Steam Virtual Gamepad on Windows
(cherry picked from commit 6815e75cafee8e7caaacf1f428b6539c8bbc7f7d)
|
|
f1bad83a
|
2023-06-03T11:36:38
|
|
Revert "Fixed detection of the Steam Virtual Gamepad on macOS"
This reverts commit 7aa28ce279045884653c8153a5cee99f4622af10.
Steam has been updated to send a version of 1 to avoid conflicts with controllers that report a version of 0.
|
|
7aa28ce2
|
2023-06-02T18:37:45
|
|
Fixed detection of the Steam Virtual Gamepad on macOS
(cherry picked from commit 5fcd70578bdde3eaaa51aa4ab6c24ed08bd49db3)
|
|
c89a4606
|
2023-06-02T11:20:31
|
|
Fixed build if SDL_JOYSTICK_RAWINPUT_MATCHING isn't enabled
(cherry picked from commit 7c55845c804e2272df8bc111dea5d3e9d11670a0)
|
|
e3bfacde
|
2023-06-02T11:16:07
|
|
Don't use raw input while Remote Desktop is active
Raw input will not send game controller events while Remote Desktop is active, so dynamically switch between XInput and raw input when Remote Desktop state changes.
Fixes https://github.com/libsdl-org/SDL/issues/7759
(cherry picked from commit 767507fcf6f4607edb413acb53a6c029863701ed)
|
|
9c05098e
|
2023-06-02T09:38:18
|
|
Fixed WGI immediately being correlated with raw input devices with no input
The at rest match state is 0x0000008800000000, not 0
(cherry picked from commit e8b5b4881c8eb31bb7de5adef3479305a73fb0bf)
|
|
c3952404
|
2023-06-02T05:59:06
|
|
hints: clarify support for comma-separated values for QtWayland orientation that's available since 2.0.22
Signed-off-by: Alibek Omarov <a1ba.omarov@gmail.com>
|
|
68e3e990
|
2023-06-02T05:55:42
|
|
wayland: reset orientation bitmask before reading values from hint on QtWayland
Signed-off-by: Alibek Omarov <a1ba.omarov@gmail.com>
|
|
7f7ea909
|
2023-05-31T04:50:02
|
|
testautomation_guid.c: fix integer warning in 32 bit builds.
|
|
379a6f4d
|
2023-05-30T17:04:31
|
|
x11: Attempt to wait for SDL_MaximizeWindow to complete before returning.
Fixes #7070.
|
|
d275851d
|
2023-05-29T14:46:58
|
|
windows: Don't allow non-resizable windows to be maximized.
Fixes #6346.
|
|
a9ded76d
|
2023-05-19T01:35:08
|
|
VisualC: turn on multi-processor compilation.
This makes SDL2 build in 12 seconds, instead of 50, on my Windows
workstation, with Visual Studio.
|
|
5007b963
|
2023-05-28T19:23:56
|
|
Fixed build warning
|
|
b2e88ecf
|
2023-05-28T18:41:21
|
|
Disable SDL_JOYSTICK_RAWINPUT_XINPUT
Apparently when using the Xbox One Wireless Adapter, using XInput at the same time as raw input will cause the controller to turn off immediately after connecting. This appears to be a bug in the Windows 11 driver stack, but since WGI provides all the extended functionality we need, this can be turned off for now.
Fixes https://github.com/libsdl-org/SDL/issues/3468
|
|
d6cd4506
|
2023-05-27T02:34:41
|
|
windows: SDL_Delay expects a 32-bit integer
|
|
e8757759
|
2023-05-27T02:10:18
|
|
windows: SDL_immdevice needs SDL_timer.h include
|
|
72606d97
|
2023-05-25T15:56:35
|
|
cmake: allow #include "SDL2/SDL.h.h" when using SDL2 as subproject
|
|
48e71ae8
|
2023-05-26T19:08:24
|
|
wasapi: Deal with HDMI or DisplayPort-based audio devices.
They can vanish for UP TO EIGHT SECONDS...!
This is for devices that connect to HDMI/DisplayPort/etc, where it
presumably has to wait for a display to get up and running before it
can play audio through it, so one can see the audio device fail when
changing display modes, or the system returning from sleep. Since this
can be triggered by a game changing video resolutions at startup (either
before or after opening the audio device!), it's important to deal with.
In normal conditions, it shouldn't take this long to open or recover an
audio device, but this is better than unexpectedly losing the device
in this situation.
Fixes #7044.
Fixes #5571.
|
|
73083255
|
2023-05-26T13:57:49
|
|
Added support for printing wide strings using "%ls" syntax
(cherry picked from commit 128ca7016018178c0c3231db7db2005dbf234068)
|
|
9dea06f5
|
2023-05-26T23:55:04
|
|
fix mingw build failures in CI with clang-tidy.
(cherry-picked from commit a8a72de6fbcf9afe8a6e8760f31a79a0ed6fed1a)
|
|
c6897636
|
2023-02-18T04:48:24
|
|
Fix -Wunused-function warning when configuring with -DSDL_X11_XINPUT2=OFF
|
|
a535cc62
|
2023-05-25T10:04:44
|
|
video: Only specify some GL context attributes if not the explicit default.
Just in case it upsets some OpenGL drivers unnecessarily.
Fixes #7730.
(cherry picked from commit d4bc393efebdd45a95430397df106b69b1c26df3)
|
|
63b8af35
|
2023-05-23T17:23:30
|
|
Disable unused local typedefs warning
This triggers on gcc 4.8.4 for compile time asserts inside of functions
Fixes https://github.com/libsdl-org/SDL/issues/7732
Co-authored-by: Ozkan Sezer <sezeroz@gmail.com>
|
|
3f1fd5ab
|
2023-05-23T10:59:03
|
|
Updated source to match SDL function prototype style
|
|
92f72682
|
2023-05-23T08:44:49
|
|
Document the Android SDK versions checked in Java code
(cherry picked from commit b48b1ce50042168c5b9b310fa495cb355903c241)
|
|
891c89ee
|
2023-05-23T11:15:48
|
|
Fix unused variable warnings
|
|
e2b8d965
|
2023-05-23T10:25:36
|
|
wayland: Validate surfaces and window data before sending touch events
Ensure that incoming touch events originate from valid surfaces owned by SDL and have proper window data before forwarding them to the touch subsystem, or the window focus pointer that is sent with the event may not be a pointer to an SDL window.
|
|
78a92b4f
|
2023-05-22T13:54:15
|
|
Fixed duplicate Joy-Con controllers on macOS
If both Apple and HIDAPI drivers see the controller, HIDAPI will be preferred.
Fixes https://github.com/libsdl-org/SDL/issues/7479
(cherry picked from commit 61ef4efdfae7e384b0d24b1b171a9ee6203a3f0d)
|
|
7b2b99a9
|
2023-05-22T12:41:03
|
|
Fixed handling the Saitek P3600, which doesn't use the Xbox 360 controller protocol
(cherry picked from commit cf0abf99118f1ea5ba423ce62950e5840db2c649)
|
|
b6d051e2
|
2023-05-22T11:54:46
|
|
Fixed reporting backspace key if there is no text in the edit buffer (thanks @312937!)
This workaround isn't necessary at API 30 and above.
Fixes https://github.com/libsdl-org/SDL/issues/7039
(cherry picked from commit c971795954bc85086cd20cfc71b45a311b7ba0d1)
|
|
0ad0347a
|
2023-05-22T11:51:09
|
|
Use numeric codes for Android versions, to avoid SDK dependencies
(cherry picked from commit 3f6b2d1a61d0c0dcd6af7cc951c1d8c267ed1526)
|
|
a2f4783e
|
2023-05-22T11:30:42
|
|
Don't map the top keyboard row to numbers when using the one-handed DVORAK layouts (thanks @tormol!)
Fixes https://github.com/libsdl-org/SDL/pull/5127
|
|
2001a891
|
2023-05-20T13:09:46
|
|
Fix Xbox link error from IsRectEmpty
(cherry picked from commit 376a3cd100a3d59e887496c75a1ac49ab4a2d8ec)
|
|
1ee9a437
|
2022-12-31T20:45:35
|
|
Stop beep when running iOS apps on ARM-based Macs
(cherry picked from commit bbf38bbbc334bc0ee90d3eec228a968d8fc1689e)
|
|
69644346
|
2023-05-20T11:09:36
|
|
Added the hint SDL_HINT_ENABLE_SCREEN_KEYBOARD to control whether the on-screen keyboard should be shown when text input is active
Fixes https://github.com/libsdl-org/SDL/issues/7160
|
|
00b87f1d
|
2023-05-20T10:27:48
|
|
Make sure the sentinel is at the end of the current event pump cycle
If we're waiting, it's possible to not get any events, then add the sentinel, then pump again and then add another sentinel. We want to make sure we only have one sentinel and that it's at the end of the currently pumped events.
Testing:
* Verified test case in https://github.com/libsdl-org/SDL/issues/6539
* Verified test case in https://github.com/libsdl-org/SDL/issues/5350
Fixes https://github.com/libsdl-org/SDL/issues/6539
|
|
beca4148
|
2023-05-19T14:26:37
|
|
Undo name change for the controller list
(cherry picked from commit f60622c5103e37f221aa8252acfa9073cfbafbc7)
|
|
43b12fd9
|
2023-05-19T14:22:35
|
|
Moved the controller list out so it can be included elsewhere
(cherry picked from commit 24007b00b2a5e9d09d953db79a24dd51b78e598b)
|
|
e8ec8ba1
|
2023-04-27T17:10:44
|
|
Added support for the Astro C40 in Xbox 360 mode
(cherry picked from commit a4b4dff4a2998699757f12d29fdd4c632db884fe)
|
|
feeec908
|
2023-05-19T17:00:24
|
|
test/testgles2_sdf.c: type fixes from commit e26e893daf, style clean-up.
|
|
d361acdd
|
2023-05-19T15:24:52
|
|
testgles2_sdf: build with CMake + fix build errors/warnings
|
|
92a487f2
|
2023-05-19T14:10:02
|
|
style fixes for SDL_PROC macros.
|
|
df9d0fb3
|
2023-05-18T13:26:55
|
|
power: On Linux, compare status strings as case-insensitive.
In case something reports "Device" when we expected "device", etc.
Reference Issue #6835.
|
|
4a0b9522
|
2023-05-17T20:06:58
|
|
audio: Load .WAV files with format->blockalign==0.
In theory this is illegal, but legit wavefiles in the field do it, and
it's easy to bump it to 1 for general purposes.
Formats with more specific alignment requirements already check for them
separately.
Fixes #7714.
(cherry picked from commit 2e646c7141b3009628abda2a964ba5f9d1702e1a)
|
|
32999798
|
2023-05-17T19:53:36
|
|
dynapi: Accept a comma-separated list of libraries to attempt to load.
First one to load and have the necessary symbol is the one we accept,
if any. Once we accept one, we won't try loading others.
Fixes #7613.
|
|
424bc4bc
|
2023-05-17T20:07:22
|
|
SDL emscripten port: preventDefault should not be called on mousedown. Otherwise mouseup will not be fired outside iframe in Chrome-based browsers
|
|
0eea92c8
|
2023-05-16T14:38:44
|
|
blit: Add a case for 8-bit blits that sdl12-compat exposed.
sdl12-compat can get into a state where a color-keyed surface is
marked for blending, but wants to blend with full alpha (which
is the same as _not_ blending), so rather than fail to find a
blitter in that case, it just selects the colorkey blitter.
Reference https://github.com/libsdl-org/sdl12-compat/issues/233
|
|
d42c303b
|
2023-05-15T21:43:16
|
|
Check to make sure the Windows joystick device has buttons and axes
This fixes incorrectly detecting the ROG CHAKRAM X mouse as a game controller on Windows 10
(cherry picked from commit 642504bc5993a6acd4d9c1d4c1314c6b1cf6e4e1)
|
|
237348c7
|
2023-05-10T06:29:35
|
|
Changed all variadic macros into fixed (thanks @Wohlstand!)
|
|
86786ed5
|
2023-05-08T14:25:01
|
|
coreaudio: Flush/stop the AudioQueue before disposing of it.
Otherwise, a CoreAudio thread lingers forever, and coreaudiod eats CPU
until the SDL process terminates.
Fixes #7689.
|
|
de937286
|
2023-05-06T08:44:19
|
|
Removed redundant __powerpc__ check
(cherry picked from commit b6df25c33497388f16a4ed2af896ef14277c8865)
|
|
5e74365e
|
2023-05-06T03:24:02
|
|
SDL_blit_N.c: Move ppc64le swizzle outside of loop
An in-place swizzle mutation was erroneously inside of a loop, which
caused each consecutive 4-pixel vector to alternate between correct and
incorrect endianness.
The bug was introduced in 715e070d299fc547cce8c52915b75e6316af6bff.
Thanks to RobbieAB for reporting the bug.
Fixes https://github.com/libsdl-org/SDL/issues/3428
(cherry picked from commit 9142292f4ad6d9bc8a2bc7c874e2fde54befeb9b)
|
|
3e64fec9
|
2023-05-04T19:26:50
|
|
Fix bug memory acess
Bitmap is not initialized before use, that cause segmentation fault on function use it. Fix by allocate memory before use.
|
|
707e9397
|
2023-04-30T21:38:29
|
|
Removed memset_pattern4() from SDL headers
This requires including string.h, which isn't always done, so this commit simplifies dependencies on macOS
Fixes https://github.com/libsdl-org/SDL/issues/3657
|
|
f72213c4
|
2023-04-29T17:09:17
|
|
By default, OpenBSD uses Linux controller mappings
Fixes https://github.com/libsdl-org/SDL/issues/7609
(cherry picked from commit 255c3b7c82968def667da860cbda01f267b4edf1)
|
|
132b8874
|
2023-04-27T13:06:00
|
|
wayland: Destroy proxy wrappers and callbacks before event queues
Destroy any proxy wrappers and callbacks before the associated event queues to silence libwayland warnings about destroying the queues while proxies are still attached.
|
|
8b39eb9b
|
2023-04-24T20:48:42
|
|
wayland: Fixes a memory leak wheere primary selection isn't freed
(cherry picked from commit 43f65a6ef08a502485c6107b255a9b22c890acd5)
|
|
0f2322ac
|
2023-04-24T18:55:14
|
|
hidapi/mac: replace sprintf uses with snprintf.
Reference issues:
- https://github.com/libusb/hidapi/pull/509
- https://github.com/libusb/hidapi/pull/511
(cherry picked from commit ae9119c36bdcf2214d83c6d35c436d22b5fd03cb)
|
|
5f344c17
|
2023-04-24T18:47:04
|
|
hidapi/mac: import mainstream commit c1b9d2ad
https://github.com/libusb/hidapi/commit/c1b9d2ad985c826f7916aa793d4728885a43a0f4
Properly handle the close of run loop on macOS
(https://github.com/libusb/hidapi/pull/522)
- as per documentation `kCFRunLoopRunStopped` should be handled once the runloop is closed via `CFRunLoopStop`;
- if it is not handled - a race condition/crash may happen on the latest macOS when a device gets disconnected while being open;
(cherry picked from commit 62d1a2c836c6176a6c76d54229eafa7d011bb9fb)
|
|
a688ecd6
|
2023-04-23T00:26:03
|
|
Check return value of SDL_malloc()
(cherry picked from commit a4604cb0d616db97921a2674a63b45f3fdfb81bc)
|
|
120bc77e
|
2023-04-19T13:10:39
|
|
Report PS3 accelerometer values in m/s2 instead of Gs
(cherry picked from commit 0467301baf57389d96fafbe169fb07f4c10169bc)
|
|
535ec1a9
|
2023-04-18T18:46:35
|
|
cmake: allow users of sdl2-config.cmake to not add -mwindows to the link options
|
|
7ec9a438
|
2023-04-06T11:33:27
|
|
More defensive coding against dangling device pointers
(cherry picked from commit acadb6f873acaa0de094ad10a88f877d540ce0ec)
|
|
6d726981
|
2023-04-06T09:54:39
|
|
Clarified the expected sensor value when a game controller is at rest
(cherry picked from commit 1a20ccb2897fc9b12ad5242f9128cb6bb60368b1)
|
|
cb0cf141
|
2023-04-06T09:54:04
|
|
The latest Armor-X Pro firmware update fixes the sign on the Z axis of the sensors
(cherry picked from commit 558bbbb07ae0afa0108c1560915351cfa13442b7)
|
|
7914234b
|
2023-04-05T01:21:41
|
|
Fix key code names for ISO keyboard layouts
(cherry picked from commit 60dcaff7eb25a01c9c87a5fed335b29a5625b95b)
|
|
51dcc3bb
|
2023-04-05T11:37:27
|
|
The macOS minimum deployment target is now 10.11
Xcode 14.3 does not allow targeting 10.9, the minimum recommended version is 10.13 and the minimum possible version is 10.11.
(cherry picked from commit 73b2faea4e39aa27b4142f9d4d39f5807a3b3688)
|
|
f6363fde
|
2023-04-05T11:23:28
|
|
Fixed crash if joystick->hwdata != NULL && device->driver == NULL
This should never happen, but we're seeing it in the wild, so make sure that we can never call into a NULL device driver.
(cherry picked from commit e13b74ccf0b20a20bd4baf1617bdc4f84c13feb7)
|
|
f6339154
|
2023-04-05T02:10:56
|
|
fix build after commit 22685556e5d9fc2e2a7023075e51b69fe770e64a.
|
|
57043825
|
2023-04-04T12:33:41
|
|
Fixed crash if dbus can't be initialized
(cherry picked from commit cf2c6fa58dea02edb870cff7090fd69f3dfbd081)
|
|
22685556
|
2023-03-30T07:36:40
|
|
Don't probe for PlayStation controllers when we already know the controller type
Fixes https://github.com/libsdl-org/SDL/issues/7556
(cherry picked from commit 655a07bdd88d6bd19fe97c3abd39a2e2eef252ec)
|
|
f444eac5
|
2023-03-30T07:25:49
|
|
Fixed analog triggers on the DualSense controller
(cherry picked from commit a67d41050164e447048fa55179cc31b23be9d9b7)
|
|
eb0d214c
|
2023-03-29T21:28:21
|
|
Haiku: use a BLooper for events.
only create a BApplication when it doesn't already exist.
|
|
55f74c32
|
2023-03-29T15:16:59
|
|
x11: Don't allow the changing of certain scancodes
The X11 driver uses scancodes derived from keysyms to map the scancodes for extended keys to the physical keyboard, however, this can be incorrect when using certain XKB options (e.g. caps:swapescape), which changes the keysyms emitted by certain keys, but does not imply that their scancodes or positions should be altered. Mark selected scancodes as being non-remappable so that their scancodes aren't changed by toggling XKB mapping options.
|
|
2aeac8de
|
2023-03-30T00:40:46
|
|
include: Fixed a C++-style single line comment.
https://github.com/libsdl-org/SDL/commit/78725dc0cd8502a91d2565af44ff9e6e65f0f30d
|
|
6d01ffcd
|
2023-03-19T13:45:36
|
|
Split up CFLAGS construction so it can be overridden
CFLAGS currently takes care of two aspects of the build: optimisation
and debug symbols on one hand, the include path on the other. The
former should be overridable by users, the latter shouldn't.
This patch moves the include path flag to CPPFLAGS, which is
appropriate for pre-processor directives. This leaves CFLAGS with only
overridable flags.
Based on a patch by Roflcopter4:
https://github.com/joncampbell123/dosbox-x/pull/3850
Signed-off-by: Stephen Kitt <steve@sk2.org>
|
|
c2ee45f5
|
2023-03-28T15:14:00
|
|
The Xinmotek Controller is used in multiple products with different mappings
The mapping included here is for the Ultimate Atari Fight Stick
(cherry picked from commit f1099f8e70a1284c2ee3031f2ea0cfc84f22110c)
|
|
0bf63175
|
2023-03-28T14:44:28
|
|
Fixed gyro values for the Armor-X Pro controller
(cherry picked from commit 8df7b4d8539338121b1e34e29f331b28f1f4ff05)
|
|
d043c853
|
2023-03-28T12:28:15
|
|
Fixed the accelerometer and gyro axes for the Armor-X Pro controller
(cherry picked from commit 37517557ae076cd94acd9ca3b739e1f32c150a43)
|
|
d2a27877
|
2023-03-28T19:24:33
|
|
Fix remaining -Wimplicit-fallthrough warnings
|
|
85fecbb1
|
2023-03-18T20:47:24
|
|
video: fix warnings about unused variables when building without duff's loop
(cherry picked from commit 0c3777d5661dd0bf60ba3db634f79c2121371092)
|
|
ec3e333f
|
2023-03-18T20:34:56
|
|
testautomation_audio: fix -Wimplicit-fallthrough warning
(cherry picked from commit 11c70406c322b5686f35349acc9659c4d8d5a8f7)
|
|
1402d135
|
2023-03-18T20:34:38
|
|
video/blit: fix -Wimplicit-fallthrough warnings
(cherry picked from commit f7961b7c9ad598b031cd033f19e93c6d882e8e41)
|
|
03c239de
|
2023-03-18T20:32:14
|
|
testsurround: fix channel names
Used table in include/SDL3/SDL_audio.h as reference.
(cherry picked from commit e1b8a032391f4b24453d5bcbe725a35b3894ea5d)
|
|
16c9bad7
|
2023-03-28T09:49:45
|
|
Safety fix: clear "_this->wakeup_window" when destroying the window
(cherry picked from commit c838ccf0e3a330ebbcf433698b8f5370c6fa80d6)
|
|
6574e5eb
|
2023-03-28T09:48:58
|
|
Safety fix: clear "_this->current_glwin" when destroying the window
(cherry picked from commit 0c048d98af449f1bc540e256c90eb792f1effff4)
|
|
4fa21ee5
|
2023-03-28T09:28:17
|
|
Fixed bug #7515 - Window still grabbed after destroying
|
|
8bfbda1e
|
2023-03-27T14:27:22
|
|
Fixed the accelerometer sensitivity for the Armor-X Pro controller
(cherry picked from commit 8029a767eef4147c07cde965bd5a2d2e11e237ee)
|
|
93c289b4
|
2023-03-27T14:21:05
|
|
Increased precision for PS4 sensor data conversion
(cherry picked from commit 3340864786314d77e04a0dd2bf1ebffbc43bfc31)
|