2020-04-03 21:44:01 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-01-22 16:36:12 +08:00
|
|
|
|
2020-04-03 21:44:01 +02:00
|
|
|
|
2021-01-22 16:36:12 +08:00
|
|
|
|
2020-04-03 21:44:01 +02:00
|
|
|
|
|
|
|
|
|
2021-01-22 16:36:12 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-04-03 21:44:01 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-08-31 08:25:42 -05:00
|
|
|
|
2020-04-03 21:44:01 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-08-31 08:25:42 -05:00
|
|
|
|
2020-04-03 21:44:01 +02:00
|
|
|
|
|
|
|
|
|
2021-01-22 16:36:12 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-04-10 10:19:35 +08:00
|
|
|
|
2021-01-22 16:36:12 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-04-10 10:19:35 +08:00
|
|
|
|
2021-01-22 16:36:12 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-04-10 10:19:35 +08:00
|
|
|
|
2021-01-22 16:36:12 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-01-22 16:36:13 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-01-22 16:36:15 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-01-11 08:14:25 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-01-22 16:36:12 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-06-21 18:00:31 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-01-22 16:36:12 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-04-03 21:44:01 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-01-22 16:36:12 +08:00
|
|
|
|
2023-06-21 18:00:31 +08:00
|
|
|
|
2021-10-27 16:59:00 -07:00
|
|
|
|
2021-09-21 14:47:10 -07:00
|
|
|
|
2021-01-22 16:36:15 +08:00
|
|
|
|
2023-06-21 18:00:31 +08:00
|
|
|
|
|
|
|
|
|
2020-04-03 21:44:01 +02:00
|
|
|
|
|
|
|
|
|
2021-01-22 16:36:12 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-04-03 21:44:01 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-10-05 14:19:23 +03:00
|
|
|
|
2020-04-03 21:44:01 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Bluetooth: MSFT: validate evt_prefix_len against the response length
read_supported_features() only checks that the response covers the fixed
part of struct msft_rp_read_supported_features, which is 11 bytes:
if (skb->len < sizeof(*rp)) {
bt_dev_err(hdev, "MSFT supported features length mismatch");
goto failed;
}
evt_prefix[] is a flexible array member and rp->evt_prefix_len is an
unvalidated u8 taken straight out of that response, so
msft->evt_prefix = kmemdup(rp->evt_prefix, rp->evt_prefix_len,
GFP_KERNEL);
copies up to 255 bytes from a reply that may have carried none of them.
What is copied is data the controller never sent, and it is then used to
match incoming vendor events in msft_vendor_evt().
This is not an out-of-bounds access. An skb data allocation always has
at least SKB_DATA_ALIGN(sizeof(struct skb_shared_info)) bytes past the
payload, which is more than the 255 byte maximum, so the read stays
inside the allocation and KASAN does not report it. It is still a read
of bytes the host was never given, with the length fully controlled by
the controller.
Reject a response that is too short for the prefix it declares.
Verified with an emulated controller over /dev/vhci on a KASAN kernel,
with vhci made to advertise an MSFT opcode the way btintel, btqca, btmtk
and btrtl do unconditionally. A reply of exactly 11 bytes declaring
evt_prefix_len = 255 reaches kmemdup and copies 255 bytes
("skb->len=11 evt_prefix_len=255", with the copied buffer dumped); since
the reply ends at the fixed part, all 255 come from past the end of the
response. No KASAN report is produced, as expected from the allocation
slack described above. With this patch the response is rejected with
"MSFT event prefix length mismatch" and msft->evt_prefix is left unset.
Fixes: 145373cb1b1f ("Bluetooth: Add framework for Microsoft vendor extension")
Signed-off-by: Ali Ahmet Memis <ali@iusegentoo.com>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2026-08-07 01:25:54 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-04-03 21:44:01 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-04-06 21:55:56 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-04-03 21:44:01 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-10-27 16:59:00 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-09-21 14:47:10 -07:00
|
|
|
|
2021-10-27 16:59:00 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-06-21 18:00:31 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-01-11 08:14:25 -08:00
|
|
|
|
|
|
|
|
|
2022-01-11 08:14:26 -08:00
|
|
|
|
|
|
|
|
|
2022-01-11 08:14:25 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-01-11 08:14:26 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-01-11 08:14:25 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-07-20 16:21:13 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-10-27 16:59:00 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-07-20 16:21:13 -07:00
|
|
|
|
2021-10-27 16:59:00 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-07-20 16:21:13 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-02-21 16:37:42 -08:00
|
|
|
|
2021-10-27 16:59:00 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-06-21 18:00:31 +08:00
|
|
|
|
2021-10-27 16:59:00 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-06-24 00:13:28 +08:00
|
|
|
|
2021-10-27 16:59:00 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-07-20 16:21:13 -07:00
|
|
|
|
2021-10-27 16:59:00 -07:00
|
|
|
|
|
|
|
|
|
2023-06-21 18:00:31 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-10-05 14:19:23 +03:00
|
|
|
|
2023-06-21 18:00:31 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-07-20 16:21:14 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-10-27 16:59:00 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-09-21 14:47:10 -07:00
|
|
|
|
2022-07-20 16:21:14 -07:00
|
|
|
|
2023-06-21 18:00:31 +08:00
|
|
|
|
2021-10-27 16:59:00 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-07-20 16:21:14 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-10-27 16:59:00 -07:00
|
|
|
|
|
|
|
|
|
2022-07-20 16:21:14 -07:00
|
|
|
|
2021-10-27 16:59:00 -07:00
|
|
|
|
|
|
|
|
|
2022-07-20 16:21:14 -07:00
|
|
|
|
2021-10-27 16:59:00 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-07-20 16:21:14 -07:00
|
|
|
|
2021-10-27 16:59:00 -07:00
|
|
|
|
|
|
|
|
|
2022-03-12 02:08:58 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-01-11 08:14:25 -08:00
|
|
|
|
2023-06-21 18:00:31 +08:00
|
|
|
|
|
|
|
|
|
2021-10-27 16:59:00 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-06-21 18:00:31 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-10-27 16:59:00 -07:00
|
|
|
|
|
|
|
|
|
2022-07-20 16:21:14 -07:00
|
|
|
|
2021-10-27 16:59:00 -07:00
|
|
|
|
|
|
|
|
|
2022-07-20 16:21:14 -07:00
|
|
|
|
2021-10-27 16:59:00 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-10-05 14:19:23 +03:00
|
|
|
|
2021-10-27 16:59:00 -07:00
|
|
|
|
|
|
|
|
|
2022-07-20 16:21:14 -07:00
|
|
|
|
|
|
|
|
|
2021-10-27 16:59:00 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-09-21 14:47:10 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-10-27 16:59:00 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-09-21 14:47:10 -07:00
|
|
|
|
|
|
|
|
|
2021-10-27 16:59:00 -07:00
|
|
|
|
2021-09-21 14:47:10 -07:00
|
|
|
|
2021-10-27 16:59:00 -07:00
|
|
|
|
2021-09-21 14:47:10 -07:00
|
|
|
|
2021-10-27 16:59:00 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-09-21 14:47:10 -07:00
|
|
|
|
2021-10-27 16:59:00 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-09-21 14:47:10 -07:00
|
|
|
|
|
|
|
|
|
2021-10-27 16:59:00 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-06-21 18:00:31 +08:00
|
|
|
|
2021-10-27 16:59:00 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-06-21 18:00:31 +08:00
|
|
|
|
2021-10-27 16:59:00 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-10-05 14:19:23 +03:00
|
|
|
|
2023-06-21 18:00:31 +08:00
|
|
|
|
|
|
|
|
|
2022-07-22 13:53:07 +02:00
|
|
|
|
2021-10-27 16:59:00 -07:00
|
|
|
|
2023-06-21 18:00:31 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-07-20 16:21:13 -07:00
|
|
|
|
2021-10-27 16:59:00 -07:00
|
|
|
|
2022-07-20 16:21:13 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-10-27 16:59:00 -07:00
|
|
|
|
2022-07-20 16:21:13 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-10-27 16:59:00 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-09-21 14:47:10 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-10-27 16:59:00 -07:00
|
|
|
|
|
|
|
|
|
2021-09-21 14:47:10 -07:00
|
|
|
|
2022-03-12 02:08:58 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-07-20 16:21:13 -07:00
|
|
|
|
2021-10-27 16:59:00 -07:00
|
|
|
|
|
|
|
|
|
2021-09-21 14:47:10 -07:00
|
|
|
|
|
|
|
|
|
2022-07-20 16:21:13 -07:00
|
|
|
|
2020-04-03 21:44:01 +02:00
|
|
|
|
|
|
|
|
|
2021-09-09 14:10:23 -07:00
|
|
|
|
2020-04-03 21:44:01 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-09-09 14:10:23 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-04-03 21:44:01 +02:00
|
|
|
|
|
|
|
|
|
2021-09-09 14:10:23 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-04-03 21:44:01 +02:00
|
|
|
|
|
|
|
|
|
2021-09-09 14:10:23 -07:00
|
|
|
|
2020-04-03 21:44:01 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-01-22 16:36:14 +08:00
|
|
|
|
2021-10-27 16:59:00 -07:00
|
|
|
|
2021-01-22 16:36:15 +08:00
|
|
|
|
2021-09-09 14:10:23 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-07-20 16:21:13 -07:00
|
|
|
|
2021-01-22 16:36:14 +08:00
|
|
|
|
2020-04-03 21:44:01 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-01-22 16:36:12 +08:00
|
|
|
|
2023-06-21 18:00:31 +08:00
|
|
|
|
2021-01-22 16:36:14 +08:00
|
|
|
|
2020-04-03 21:44:01 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-09-09 14:10:23 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-01-22 16:36:12 +08:00
|
|
|
|
2021-01-22 16:36:14 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-01-22 16:36:12 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-01-11 08:14:25 -08:00
|
|
|
|
2023-06-21 18:00:31 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-01-11 08:14:25 -08:00
|
|
|
|
|
|
|
|
|
2022-01-11 08:14:26 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-01-11 08:14:25 -08:00
|
|
|
|
|
|
|
|
|
2021-09-09 14:10:23 -07:00
|
|
|
|
|
|
|
|
|
2023-06-21 18:00:31 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-10-05 14:19:23 +03:00
|
|
|
|
2023-06-21 18:00:31 +08:00
|
|
|
|
|
|
|
|
|
2023-10-05 14:19:23 +03:00
|
|
|
|
2023-06-21 18:00:31 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-09-09 14:10:23 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-02-21 16:37:42 -08:00
|
|
|
|
2021-09-09 14:10:23 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-06-21 18:00:31 +08:00
|
|
|
|
|
|
|
|
|
2026-08-28 08:55:09 +00:00
|
|
|
|
2021-09-09 14:10:23 -07:00
|
|
|
|
|
|
|
|
|
2024-04-30 12:20:51 -04:00
|
|
|
|
2021-09-09 14:10:23 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-01-22 16:36:12 +08:00
|
|
|
|
2020-04-03 21:44:01 +02:00
|
|
|
|
2023-06-21 18:00:31 +08:00
|
|
|
|
2020-04-03 21:44:01 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-01-11 08:14:25 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-02-21 16:37:42 -08:00
|
|
|
|
2022-01-11 08:14:25 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-01-11 08:14:26 -08:00
|
|
|
|
2022-01-11 08:14:25 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-01-11 08:14:26 -08:00
|
|
|
|
|
|
|
|
|
2022-01-11 08:14:25 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-06-21 18:00:31 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-02-28 10:56:49 -05:00
|
|
|
|
2023-06-21 18:00:31 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-02-28 10:56:49 -05:00
|
|
|
|
|
|
|
|
|
2023-10-05 14:19:23 +03:00
|
|
|
|
2023-06-21 18:00:31 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-02-21 16:37:42 -08:00
|
|
|
|
2023-06-21 18:00:31 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-01-11 08:14:25 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-06-21 18:00:31 +08:00
|
|
|
|
2022-01-11 08:14:25 -08:00
|
|
|
|
|
|
|
|
|
2023-06-21 18:00:31 +08:00
|
|
|
|
|
|
|
|
|
2022-01-11 08:14:25 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-07-14 22:27:45 +02:00
|
|
|
|
2023-06-21 18:00:31 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-01-11 08:14:25 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-06-21 18:00:31 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-01-11 08:14:25 -08:00
|
|
|
|
|
|
|
|
|
2021-12-01 10:55:03 -08:00
|
|
|
|
2020-04-03 21:44:01 +02:00
|
|
|
|
|
|
|
|
|
2022-01-11 08:14:25 -08:00
|
|
|
|
|
|
|
|
|
2020-04-03 21:44:01 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-01-11 08:14:25 -08:00
|
|
|
|
|
|
|
|
|
2020-04-03 21:44:01 +02:00
|
|
|
|
|
|
|
|
|
2022-01-11 08:14:25 -08:00
|
|
|
|
2020-04-03 21:44:01 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-01-11 08:14:25 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-04-03 21:44:01 +02:00
|
|
|
|
2022-01-11 08:14:25 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-06-21 18:00:31 +08:00
|
|
|
|
2022-01-11 08:14:25 -08:00
|
|
|
|
2023-06-21 18:00:31 +08:00
|
|
|
|
2022-01-11 08:14:25 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-04-03 21:44:01 +02:00
|
|
|
|
2020-06-17 16:39:13 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-01-22 16:36:12 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-01-22 16:36:15 +08:00
|
|
|
|
2023-02-24 09:56:32 -08:00
|
|
|
|
|
|
|
|
|
2021-01-22 16:36:15 +08:00
|
|
|
|
2023-02-24 09:56:32 -08:00
|
|
|
|
2021-01-22 16:36:15 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-07-20 16:21:13 -07:00
|
|
|
|
2021-01-22 16:36:14 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-10-27 16:59:00 -07:00
|
|
|
|
2021-01-22 16:36:14 +08:00
|
|
|
|
|
|
|
|
|
2022-07-20 16:21:13 -07:00
|
|
|
|
2021-01-22 16:36:14 +08:00
|
|
|
|
|
|
|
|
|
2022-07-20 16:21:14 -07:00
|
|
|
|
|
|
|
|
|
2021-09-21 14:47:10 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-10-27 16:59:00 -07:00
|
|
|
|
2021-09-21 14:47:10 -07:00
|
|
|
|
|
|
|
|
|
2022-07-20 16:21:14 -07:00
|
|
|
|
2021-09-21 14:47:10 -07:00
|
|
|
|
|
|
|
|
|
2021-01-22 16:36:15 +08:00
|
|
|
|
|
|
|
|
|
2023-02-24 09:56:32 -08:00
|
|
|
|
2021-01-22 16:36:15 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-02-24 09:56:32 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-01-22 16:36:15 +08:00
|
|
|
|
2023-02-24 09:56:32 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-01-22 16:36:15 +08:00
|
|
|
|
2021-04-06 21:55:56 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|