2008-01-11 09:57:09 -05:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2008-01-11 09:57:09 -05:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2008-01-11 09:57:09 -05:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-01-11 09:57:09 -05:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-12-06 06:28:48 -08:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-07-23 14:51:47 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-07-15 11:47:34 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2008-02-09 23:23:44 -08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2010-01-22 10:17:26 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-08-22 00:15:33 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-08-23 10:12:04 -07:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-09-30 11:29:01 +08:00
|
|
|
|
2012-08-06 08:45:15 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2016-09-30 11:29:01 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-09-30 11:29:04 +08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2016-09-30 11:29:01 +08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-08-06 08:45:15 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2007-02-12 00:55:36 -08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-11-15 03:49:05 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-08-06 08:45:15 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-08-06 08:45:15 +00:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-08-06 08:45:15 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2012-08-06 08:45:15 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-06-13 15:11:57 -07:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2005-06-13 15:11:57 -07:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2005-06-13 15:11:57 -07:00
|
|
|
|
2013-06-14 18:24:04 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-06-25 18:17:28 +02:00
|
|
|
|
2013-06-14 18:24:04 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-06-13 15:11:57 -07:00
|
|
|
|
|
|
|
|
|
2012-12-06 09:25:04 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-11-20 17:05:23 -08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2005-06-13 15:11:57 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-11-20 17:05:23 -08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2012-12-06 09:25:04 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-06-13 15:11:57 -07:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2006-11-20 17:06:04 -08:00
|
|
|
|
2012-12-06 09:25:05 +00:00
|
|
|
|
2008-04-12 18:54:24 -07:00
|
|
|
|
2006-11-20 17:05:23 -08:00
|
|
|
|
2012-12-06 09:25:05 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2006-11-20 17:06:04 -08:00
|
|
|
|
2005-06-13 15:11:57 -07:00
|
|
|
|
|
|
|
|
|
2006-11-20 17:05:23 -08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-12-23 12:16:51 +08:00
|
|
|
|
2005-06-13 15:11:57 -07:00
|
|
|
|
2006-01-17 11:53:06 -08:00
|
|
|
|
2005-06-13 15:11:57 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-12-23 12:16:51 +08:00
|
|
|
|
2005-06-13 15:11:57 -07:00
|
|
|
|
2006-01-17 11:53:06 -08:00
|
|
|
|
2005-06-13 15:11:57 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-01-17 11:54:06 -08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2006-01-17 11:53:06 -08:00
|
|
|
|
2005-06-13 15:11:57 -07:00
|
|
|
|
|
|
|
|
|
2006-01-17 11:53:06 -08:00
|
|
|
|
2017-06-10 15:13:32 +08:00
|
|
|
|
hlist: drop the node parameter from iterators
I'm not sure why, but the hlist for each entry iterators were conceived
list_for_each_entry(pos, head, member)
The hlist ones were greedy and wanted an extra parameter:
hlist_for_each_entry(tpos, pos, head, member)
Why did they need an extra pos parameter? I'm not quite sure. Not only
they don't really need it, it also prevents the iterator from looking
exactly like the list iterator, which is unfortunate.
Besides the semantic patch, there was some manual work required:
- Fix up the actual hlist iterators in linux/list.h
- Fix up the declaration of other iterators based on the hlist ones.
- A very small amount of places were using the 'node' parameter, this
was modified to use 'obj->member' instead.
- Coccinelle didn't handle the hlist_for_each_entry_safe iterator
properly, so those had to be fixed up manually.
The semantic patch which is mostly the work of Peter Senna Tschudin is here:
@@
iterator name hlist_for_each_entry, hlist_for_each_entry_continue, hlist_for_each_entry_from, hlist_for_each_entry_rcu, hlist_for_each_entry_rcu_bh, hlist_for_each_entry_continue_rcu_bh, for_each_busy_worker, ax25_uid_for_each, ax25_for_each, inet_bind_bucket_for_each, sctp_for_each_hentry, sk_for_each, sk_for_each_rcu, sk_for_each_from, sk_for_each_safe, sk_for_each_bound, hlist_for_each_entry_safe, hlist_for_each_entry_continue_rcu, nr_neigh_for_each, nr_neigh_for_each_safe, nr_node_for_each, nr_node_for_each_safe, for_each_gfn_indirect_valid_sp, for_each_gfn_sp, for_each_host;
type T;
expression a,c,d,e;
identifier b;
statement S;
@@
-T b;
<+... when != b
(
hlist_for_each_entry(a,
- b,
c, d) S
|
hlist_for_each_entry_continue(a,
- b,
c) S
|
hlist_for_each_entry_from(a,
- b,
c) S
|
hlist_for_each_entry_rcu(a,
- b,
c, d) S
|
hlist_for_each_entry_rcu_bh(a,
- b,
c, d) S
|
hlist_for_each_entry_continue_rcu_bh(a,
- b,
c) S
|
for_each_busy_worker(a, c,
- b,
d) S
|
ax25_uid_for_each(a,
- b,
c) S
|
ax25_for_each(a,
- b,
c) S
|
inet_bind_bucket_for_each(a,
- b,
c) S
|
sctp_for_each_hentry(a,
- b,
c) S
|
sk_for_each(a,
- b,
c) S
|
sk_for_each_rcu(a,
- b,
c) S
|
sk_for_each_from
-(a, b)
+(a)
S
+ sk_for_each_from(a) S
|
sk_for_each_safe(a,
- b,
c, d) S
|
sk_for_each_bound(a,
- b,
c) S
|
hlist_for_each_entry_safe(a,
- b,
c, d, e) S
|
hlist_for_each_entry_continue_rcu(a,
- b,
c) S
|
nr_neigh_for_each(a,
- b,
c) S
|
nr_neigh_for_each_safe(a,
- b,
c, d) S
|
nr_node_for_each(a,
- b,
c) S
|
nr_node_for_each_safe(a,
- b,
c, d) S
|
- for_each_gfn_sp(a, c, d, b) S
+ for_each_gfn_sp(a, c, d) S
|
- for_each_gfn_indirect_valid_sp(a, c, d, b) S
+ for_each_gfn_indirect_valid_sp(a, c, d) S
|
for_each_host(a,
- b,
c) S
|
for_each_host_safe(a,
- b,
c, d) S
|
for_each_mesh_entry(a,
- b,
c, d) S
)
...+>
[akpm@linux-foundation.org: drop bogus change from net/ipv4/raw.c]
[akpm@linux-foundation.org: drop bogus hunk from net/ipv6/raw.c]
[akpm@linux-foundation.org: checkpatch fixes]
[akpm@linux-foundation.org: fix warnings]
[akpm@linux-foudnation.org: redo intrusive kvm changes]
Tested-by: Peter Senna Tschudin <peter.senna@gmail.com>
Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
Cc: Wu Fengguang <fengguang.wu@intel.com>
Cc: Marcelo Tosatti <mtosatti@redhat.com>
Cc: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2013-02-27 17:06:00 -08:00
|
|
|
|
2005-06-13 15:11:57 -07:00
|
|
|
|
|
|
|
|
|
2012-08-16 01:24:49 +00:00
|
|
|
|
2012-08-06 08:45:15 +00:00
|
|
|
|
2013-08-15 13:42:14 +02:00
|
|
|
|
2006-01-17 11:53:06 -08:00
|
|
|
|
2005-06-13 15:11:57 -07:00
|
|
|
|
2012-05-24 01:10:10 -06:00
|
|
|
|
|
|
|
|
|
2005-06-13 15:11:57 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2017-06-10 15:13:32 +08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-07-10 23:07:31 -07:00
|
|
|
|
2005-06-13 15:11:57 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-08-06 08:45:15 +00:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2007-02-12 00:55:36 -08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-11-15 03:49:05 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-08-06 08:45:15 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-08-06 08:45:15 +00:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-08-06 08:45:15 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2012-08-06 08:45:15 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2015-12-30 23:50:48 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-04-14 15:35:35 +08:00
|
|
|
|
2015-12-30 23:50:48 +08:00
|
|
|
|
|
|
|
|
|
2016-04-14 15:35:34 +08:00
|
|
|
|
2005-06-13 15:11:57 -07:00
|
|
|
|
2016-04-14 15:35:31 +08:00
|
|
|
|
|
|
|
|
|
2005-06-13 15:11:57 -07:00
|
|
|
|
2016-04-14 15:35:35 +08:00
|
|
|
|
|
|
|
|
|
2015-12-30 23:50:48 +08:00
|
|
|
|
2016-04-14 15:35:35 +08:00
|
|
|
|
2005-06-13 15:11:57 -07:00
|
|
|
|
2016-08-12 09:50:51 +02:00
|
|
|
|
2016-04-14 15:35:31 +08:00
|
|
|
|
2005-06-13 15:11:57 -07:00
|
|
|
|
|
|
|
|
|
2016-04-14 15:35:34 +08:00
|
|
|
|
2005-06-13 15:11:57 -07:00
|
|
|
|
2016-04-14 15:35:31 +08:00
|
|
|
|
|
|
|
|
|
2016-04-14 15:35:35 +08:00
|
|
|
|
|
|
|
|
|
2016-04-14 15:35:31 +08:00
|
|
|
|
2005-06-13 15:11:57 -07:00
|
|
|
|
|
|
|
|
|
2016-04-14 15:35:34 +08:00
|
|
|
|
2005-06-13 15:11:57 -07:00
|
|
|
|
2016-04-14 15:35:31 +08:00
|
|
|
|
|
|
|
|
|
2015-12-30 23:50:48 +08:00
|
|
|
|
2005-06-13 15:11:57 -07:00
|
|
|
|
2016-04-14 15:35:31 +08:00
|
|
|
|
2005-06-13 15:11:57 -07:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-12-30 23:50:48 +08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2015-12-30 23:50:48 +08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2015-12-30 23:50:48 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2015-12-30 23:50:48 +08:00
|
|
|
|
|
|
|
|
|
2016-01-22 01:49:08 +08:00
|
|
|
|
|
|
|
|
|
2015-12-30 23:50:48 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-05-31 16:36:31 +08:00
|
|
|
|
|
|
|
|
|
2015-12-30 23:50:48 +08:00
|
|
|
|
|
|
|
|
|
2017-06-30 13:08:00 +03:00
|
|
|
|
2015-12-30 23:50:48 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2016-01-22 01:49:08 +08:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-07-10 23:07:31 -07:00
|
|
|
|
2016-04-14 15:35:34 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-06-13 15:11:57 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-08-06 08:45:15 +00:00
|
|
|
|
2015-12-30 23:50:48 +08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2007-02-12 00:55:36 -08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-11-15 03:49:05 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-08-06 08:45:15 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-08-06 08:45:15 +00:00
|
|
|
|
2008-02-29 11:24:45 -08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-08-06 08:45:15 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2012-08-06 08:45:15 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2008-05-09 15:14:50 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-02-28 10:33:11 +08:00
|
|
|
|
2008-05-09 15:14:50 -07:00
|
|
|
|
2015-12-30 23:50:48 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-09 15:14:50 -07:00
|
|
|
|
|
|
|
|
|
2016-02-28 10:33:11 +08:00
|
|
|
|
|
|
|
|
|
2016-01-22 01:49:08 +08:00
|
|
|
|
2016-02-28 10:33:11 +08:00
|
|
|
|
2015-12-30 23:50:48 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-09 15:14:50 -07:00
|
|
|
|
2016-02-28 10:33:11 +08:00
|
|
|
|
2016-01-22 01:49:08 +08:00
|
|
|
|
2008-05-09 15:14:50 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-04-14 15:35:34 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-09 15:14:50 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-08-06 08:45:15 +00:00
|
|
|
|
2008-05-09 15:14:50 -07:00
|
|
|
|
2012-08-06 08:45:15 +00:00
|
|
|
|
2008-05-09 15:14:50 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-08-06 08:45:15 +00:00
|
|
|
|
2015-12-30 23:50:48 +08:00
|
|
|
|
2008-05-09 15:14:50 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-11-15 03:49:05 +00:00
|
|
|
|
2008-05-09 15:14:50 -07:00
|
|
|
|
|
|
|
|
|
2012-08-06 08:45:15 +00:00
|
|
|
|
2008-05-09 15:14:50 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-08-06 08:45:15 +00:00
|
|
|
|
|
|
|
|
|
2008-05-09 15:14:50 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|