2019-05-27 08:55:01 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-05-05 16:16:16 -07:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2021-03-14 11:11:32 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-06-28 15:58:50 -07:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2020-05-04 19:27:00 +02:00
|
|
|
|
2024-10-01 15:35:57 -04:00
|
|
|
|
2013-12-05 14:54:38 -08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2015-11-05 11:34:57 -05:00
|
|
|
|
2021-10-06 18:06:57 -07:00
|
|
|
|
|
|
|
|
|
2015-11-05 11:34:57 -05:00
|
|
|
|
2021-10-07 11:18:46 -07:00
|
|
|
|
2018-02-07 20:35:00 +01:00
|
|
|
|
2018-11-30 09:20:57 +01:00
|
|
|
|
2021-10-06 18:06:59 -07:00
|
|
|
|
2021-10-06 18:07:00 -07:00
|
|
|
|
2021-10-06 18:06:59 -07:00
|
|
|
|
2021-10-06 18:06:57 -07:00
|
|
|
|
2021-03-14 11:11:41 +00:00
|
|
|
|
2013-09-26 14:48:15 -07:00
|
|
|
|
2007-10-09 01:40:57 -07:00
|
|
|
|
|
|
|
|
|
2013-09-26 14:48:15 -07:00
|
|
|
|
|
|
|
|
|
2026-03-15 10:41:52 +00:00
|
|
|
|
|
|
|
|
|
2013-09-26 14:48:15 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-02-21 12:39:59 +00:00
|
|
|
|
2013-09-26 14:48:15 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-11-19 22:42:31 -08:00
|
|
|
|
2013-09-26 14:48:15 -07:00
|
|
|
|
2011-01-09 19:36:31 +00:00
|
|
|
|
2007-07-06 13:36:20 -07:00
|
|
|
|
2011-01-09 19:36:31 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2017-01-28 15:15:42 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-06-24 14:13:49 +09:00
|
|
|
|
2014-12-30 19:10:15 -08:00
|
|
|
|
|
|
|
|
|
2012-09-18 00:01:12 +00:00
|
|
|
|
2012-11-01 09:12:02 +00:00
|
|
|
|
|
|
|
|
|
2017-11-02 10:36:48 +01:00
|
|
|
|
2012-09-18 00:01:12 +00:00
|
|
|
|
2024-04-03 11:48:12 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-09-18 00:01:12 +00:00
|
|
|
|
2012-11-01 09:11:11 +00:00
|
|
|
|
2012-09-18 00:01:12 +00:00
|
|
|
|
|
|
|
|
|
2024-12-05 08:59:14 -08:00
|
|
|
|
2012-09-18 00:01:12 +00:00
|
|
|
|
2013-12-06 15:44:21 -08:00
|
|
|
|
|
|
|
|
|
2012-09-18 00:01:12 +00:00
|
|
|
|
2012-11-01 09:11:11 +00:00
|
|
|
|
2012-09-18 00:01:12 +00:00
|
|
|
|
2012-11-01 09:11:11 +00:00
|
|
|
|
2012-11-01 09:12:02 +00:00
|
|
|
|
2012-09-18 00:01:12 +00:00
|
|
|
|
|
|
|
|
|
2013-12-06 15:44:21 -08:00
|
|
|
|
|
|
|
|
|
2015-08-13 18:34:03 -07:00
|
|
|
|
2013-12-06 15:44:21 -08:00
|
|
|
|
2012-09-18 00:01:12 +00:00
|
|
|
|
2013-12-06 15:44:21 -08:00
|
|
|
|
2012-09-18 00:01:12 +00:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2005-11-01 17:05:09 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-12-05 08:59:14 -08:00
|
|
|
|
2013-12-06 15:44:21 -08:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2012-05-08 06:44:40 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2013-12-06 15:44:21 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2005-05-29 20:24:30 -07:00
|
|
|
|
2005-11-01 17:05:09 -08:00
|
|
|
|
2005-05-29 20:24:30 -07:00
|
|
|
|
|
|
|
|
|
2024-12-05 08:59:14 -08:00
|
|
|
|
2006-01-03 15:25:45 -08:00
|
|
|
|
2005-05-29 20:24:30 -07:00
|
|
|
|
2012-05-08 06:44:40 +00:00
|
|
|
|
2005-05-29 20:24:30 -07:00
|
|
|
|
2015-04-30 14:53:54 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-02-12 09:14:49 -08:00
|
|
|
|
2015-04-30 14:53:54 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-05-29 20:24:30 -07:00
|
|
|
|
|
|
|
|
|
2007-05-06 14:51:13 -07:00
|
|
|
|
2008-02-13 15:03:25 -08:00
|
|
|
|
2007-05-06 14:51:13 -07:00
|
|
|
|
|
|
|
|
|
2024-12-05 08:59:14 -08:00
|
|
|
|
2007-05-06 14:51:13 -07:00
|
|
|
|
2012-05-08 06:44:40 +00:00
|
|
|
|
2007-05-06 14:51:13 -07:00
|
|
|
|
2010-09-22 20:43:57 +00:00
|
|
|
|
2007-05-06 14:51:13 -07:00
|
|
|
|
|
|
|
|
|
2005-11-01 17:05:09 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-12-05 08:59:14 -08:00
|
|
|
|
2013-12-06 15:44:21 -08:00
|
|
|
|
|
|
|
|
|
2005-11-01 17:05:09 -08:00
|
|
|
|
2012-05-08 06:44:40 +00:00
|
|
|
|
2005-06-28 01:46:35 -04:00
|
|
|
|
2013-12-06 15:44:21 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-06-28 01:46:35 -04:00
|
|
|
|
|
|
|
|
|
2011-01-12 22:14:56 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-12-05 08:59:14 -08:00
|
|
|
|
2011-01-12 22:14:56 +00:00
|
|
|
|
2012-05-08 06:44:40 +00:00
|
|
|
|
2011-01-12 22:14:56 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-05-29 20:24:30 -07:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2024-12-05 08:59:14 -08:00
|
|
|
|
2013-12-06 15:44:21 -08:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2012-05-08 06:44:40 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2005-05-29 20:24:30 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2015-05-04 14:33:48 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-12-05 08:59:14 -08:00
|
|
|
|
2015-05-04 14:33:48 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2012-07-12 19:33:05 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-12 19:33:05 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2012-07-12 19:33:05 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2005-10-25 15:03:41 -07:00
|
|
|
|
2012-07-10 06:18:44 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-09-08 16:32:28 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-07-22 02:50:21 +00:00
|
|
|
|
2012-02-09 09:48:54 +00:00
|
|
|
|
|
|
|
|
|
2010-07-22 02:50:21 +00:00
|
|
|
|
|
|
|
|
|
2012-02-09 09:48:54 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-07-22 02:50:21 +00:00
|
|
|
|
2012-02-09 09:48:54 +00:00
|
|
|
|
2010-07-22 02:50:21 +00:00
|
|
|
|
2021-10-13 13:44:30 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-01-01 03:30:15 +00:00
|
|
|
|
2010-07-22 02:50:21 +00:00
|
|
|
|
|
|
|
|
|
2020-05-04 19:27:00 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-01-14 15:18:47 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-09-02 11:10:37 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-10-04 16:01:40 -07:00
|
|
|
|
2021-09-02 11:10:37 -07:00
|
|
|
|
|
|
|
|
|
2013-08-30 18:08:44 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-10-01 14:32:23 -07:00
|
|
|
|
2013-08-30 18:08:44 +02:00
|
|
|
|
|
|
|
|
|
2012-05-08 18:56:45 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-05-17 05:17:28 +00:00
|
|
|
|
2013-12-05 14:54:38 -08:00
|
|
|
|
|
|
|
|
|
2012-05-08 18:56:45 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-12-05 14:54:38 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-05-08 18:56:45 +00:00
|
|
|
|
2013-12-05 14:54:38 -08:00
|
|
|
|
eth: Declare an optimized compare_ether_addr_64bits() function
Linus mentioned we could try to perform long word operations, even
on potentially unaligned addresses, on x86 at least. David mentioned
the HAVE_EFFICIENT_UNALIGNED_ACCESS test to handle this on all
arches that have efficient unailgned accesses.
I tried this idea and got nice assembly on 32 bits:
158: 33 82 38 01 00 00 xor 0x138(%edx),%eax
15e: 33 8a 34 01 00 00 xor 0x134(%edx),%ecx
164: c1 e0 10 shl $0x10,%eax
167: 09 c1 or %eax,%ecx
169: 74 0b je 176 <eth_type_trans+0x87>
And very nice assembly on 64 bits of course (one xor, one shl)
Nice oprofile improvement in eth_type_trans(), 0.17 % instead of 0.41 %,
expected since we remove 8 instructions on a fast path.
This patch implements a compare_ether_addr_64bits() function, that
uses the CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS ifdef to efficiently
perform the 6 bytes comparison on all capable arches.
Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-11-23 23:24:32 -08:00
|
|
|
|
2013-12-05 14:54:38 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
eth: Declare an optimized compare_ether_addr_64bits() function
Linus mentioned we could try to perform long word operations, even
on potentially unaligned addresses, on x86 at least. David mentioned
the HAVE_EFFICIENT_UNALIGNED_ACCESS test to handle this on all
arches that have efficient unailgned accesses.
I tried this idea and got nice assembly on 32 bits:
158: 33 82 38 01 00 00 xor 0x138(%edx),%eax
15e: 33 8a 34 01 00 00 xor 0x134(%edx),%ecx
164: c1 e0 10 shl $0x10,%eax
167: 09 c1 or %eax,%ecx
169: 74 0b je 176 <eth_type_trans+0x87>
And very nice assembly on 64 bits of course (one xor, one shl)
Nice oprofile improvement in eth_type_trans(), 0.17 % instead of 0.41 %,
expected since we remove 8 instructions on a fast path.
This patch implements a compare_ether_addr_64bits() function, that
uses the CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS ifdef to efficiently
perform the 6 bytes comparison on all capable arches.
Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-11-23 23:24:32 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-05-09 17:04:03 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-05-17 05:17:28 +00:00
|
|
|
|
2012-05-09 17:04:03 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-05-17 05:17:28 +00:00
|
|
|
|
2012-05-09 17:04:03 +00:00
|
|
|
|
2012-05-17 05:17:28 +00:00
|
|
|
|
2012-05-09 17:04:03 +00:00
|
|
|
|
|
|
|
|
|
2022-02-12 09:14:49 -08:00
|
|
|
|
2012-05-09 17:04:03 +00:00
|
|
|
|
2013-12-05 14:54:38 -08:00
|
|
|
|
|
|
|
|
|
2012-05-11 12:21:06 +00:00
|
|
|
|
2013-12-05 14:54:38 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-05-11 12:21:06 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-05-09 17:04:03 +00:00
|
|
|
|
|
|
|
|
|
2013-12-06 14:21:01 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-06-24 11:32:26 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-08-25 11:28:35 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-04-03 11:48:12 +01:00
|
|
|
|
2022-08-25 11:28:35 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-04-03 11:48:12 +01:00
|
|
|
|
2022-08-25 11:28:35 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-01-04 19:56:24 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-12-05 08:59:14 -08:00
|
|
|
|
2017-01-04 19:56:24 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-04-24 01:43:32 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-02-06 13:43:42 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-04-24 01:43:32 +00:00
|
|
|
|
|
|
|
|
|
2009-05-05 02:48:28 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-05-11 12:21:06 +00:00
|
|
|
|
2009-05-05 02:48:28 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-05-11 12:21:06 +00:00
|
|
|
|
2009-05-05 02:48:28 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-05-11 12:21:06 +00:00
|
|
|
|
|
|
|
|
|
2009-05-05 02:48:28 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-05-11 12:21:06 +00:00
|
|
|
|
2009-05-05 02:48:28 +00:00
|
|
|
|
2005-05-29 20:24:30 -07:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2009-02-08 18:00:37 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-05-17 05:17:28 +00:00
|
|
|
|
2009-02-08 18:00:37 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-08-26 22:03:08 -07:00
|
|
|
|
2009-02-08 18:00:37 +00:00
|
|
|
|
2010-08-26 22:03:08 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-02-08 18:00:37 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-08-26 22:03:08 -07:00
|
|
|
|
2009-02-08 18:00:37 +00:00
|
|
|
|
|
|
|
|
|
2021-10-18 14:10:02 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-04-23 11:13:03 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-05-24 18:36:17 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-12-03 08:17:33 -08:00
|
|
|
|
2024-08-22 13:57:33 +01:00
|
|
|
|
2014-12-03 08:17:33 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|