2006-08-21 21:08:13 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-09-21 11:39:29 +10:00
|
|
|
|
2006-08-21 21:08:13 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-08-06 21:16:34 +10:00
|
|
|
|
2006-08-21 21:08:13 +10:00
|
|
|
|
2006-08-06 23:10:45 +10:00
|
|
|
|
2006-08-21 21:08:13 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-08-03 21:15:23 +08:00
|
|
|
|
|
|
|
|
|
2006-08-06 21:16:34 +10:00
|
|
|
|
|
|
|
|
|
2006-09-21 11:35:17 +10:00
|
|
|
|
2006-08-06 21:23:26 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-08-04 11:44:59 +08:00
|
|
|
|
2006-08-06 21:23:26 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-05-19 17:51:40 +10:00
|
|
|
|
2006-08-06 21:23:26 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-08-21 21:08:13 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-08-06 21:16:34 +10:00
|
|
|
|
2006-08-21 21:08:13 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-08-06 21:16:34 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-09-21 11:39:29 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-04-08 21:31:36 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-09-21 11:39:29 +10:00
|
|
|
|
2007-04-08 21:31:36 +10:00
|
|
|
|
|
|
|
|
|
2006-09-21 11:39:29 +10:00
|
|
|
|
2007-04-08 21:31:36 +10:00
|
|
|
|
|
|
|
|
|
2006-09-21 11:39:29 +10:00
|
|
|
|
2007-04-08 21:31:36 +10:00
|
|
|
|
|
|
|
|
|
2006-09-21 11:39:29 +10:00
|
|
|
|
2007-04-08 21:31:36 +10:00
|
|
|
|
2007-11-17 22:09:38 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-04-08 21:31:36 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-09-21 11:39:29 +10:00
|
|
|
|
2007-04-08 21:31:36 +10:00
|
|
|
|
|
|
|
|
|
2006-09-21 11:39:29 +10:00
|
|
|
|
|
|
|
|
|
2007-04-08 21:31:36 +10:00
|
|
|
|
|
|
|
|
|
2006-09-21 11:39:29 +10:00
|
|
|
|
2007-04-08 21:31:36 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-09-21 11:39:29 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-08-03 21:15:23 +08:00
|
|
|
|
2006-08-06 21:16:34 +10:00
|
|
|
|
|
|
|
|
|
2008-08-03 21:15:23 +08:00
|
|
|
|
2006-09-21 11:39:29 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-08-03 21:15:23 +08:00
|
|
|
|
2006-09-21 11:39:29 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-08-03 21:15:23 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-09-21 11:39:29 +10:00
|
|
|
|
2006-08-06 21:16:34 +10:00
|
|
|
|
2006-08-06 21:23:26 +10:00
|
|
|
|
2006-08-21 21:08:13 +10:00
|
|
|
|
2006-08-06 21:16:34 +10:00
|
|
|
|
2008-08-03 21:15:23 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-09-21 11:39:29 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-08-06 21:23:26 +10:00
|
|
|
|
|
|
|
|
|
2007-10-02 22:27:29 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-09-21 11:39:29 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-09-21 11:35:17 +10:00
|
|
|
|
|
|
|
|
|
2006-08-06 21:23:26 +10:00
|
|
|
|
|
|
|
|
|
2006-09-21 11:39:29 +10:00
|
|
|
|
2006-08-06 21:23:26 +10:00
|
|
|
|
2007-05-19 17:51:40 +10:00
|
|
|
|
2006-09-21 11:39:29 +10:00
|
|
|
|
2006-08-06 21:23:26 +10:00
|
|
|
|
2006-09-21 11:39:29 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-08-03 21:15:23 +08:00
|
|
|
|
2006-08-21 21:08:13 +10:00
|
|
|
|
2006-08-06 21:23:26 +10:00
|
|
|
|
2008-08-03 21:15:23 +08:00
|
|
|
|
|
|
|
|
|
2006-08-06 21:23:26 +10:00
|
|
|
|
2008-08-03 21:15:23 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-08-21 21:08:13 +10:00
|
|
|
|
2008-08-03 21:15:23 +08:00
|
|
|
|
2006-08-06 21:16:34 +10:00
|
|
|
|
2006-09-21 11:39:29 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-08-03 21:15:23 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-08-06 21:16:34 +10:00
|
|
|
|
|
|
|
|
|
2008-08-03 21:15:23 +08:00
|
|
|
|
2006-08-06 21:16:34 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-08-03 21:15:23 +08:00
|
|
|
|
2006-08-06 21:16:34 +10:00
|
|
|
|
|
|
|
|
|
2008-08-03 21:15:23 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-08-06 21:16:34 +10:00
|
|
|
|
2006-08-21 21:08:13 +10:00
|
|
|
|
|
|
|
|
|
2006-09-21 11:39:29 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-04-08 21:31:36 +10:00
|
|
|
|
2006-09-21 11:39:29 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-08-21 21:08:13 +10:00
|
|
|
|
|
|
|
|
|
2006-09-21 11:39:29 +10:00
|
|
|
|
|
|
|
|
|
2006-08-21 21:08:13 +10:00
|
|
|
|
|
|
|
|
|
2006-09-21 11:39:29 +10:00
|
|
|
|
2006-08-21 21:08:13 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-09-21 11:39:29 +10:00
|
|
|
|
2006-08-21 21:08:13 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-08-06 21:16:34 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-08-06 21:23:26 +10:00
|
|
|
|
2006-08-06 21:16:34 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-09-21 11:39:29 +10:00
|
|
|
|
2006-08-06 21:16:34 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-09-21 11:39:29 +10:00
|
|
|
|
|
|
|
|
|
2006-08-06 21:16:34 +10:00
|
|
|
|
|
|
|
|
|
2006-08-06 21:23:26 +10:00
|
|
|
|
|
|
|
|
|
2006-08-06 21:16:34 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-09-21 11:39:29 +10:00
|
|
|
|
2006-08-06 21:16:34 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-08-03 21:15:23 +08:00
|
|
|
|
|
|
|
|
|
2006-08-06 21:16:34 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-08-03 21:15:23 +08:00
|
|
|
|
|
|
|
|
|
2006-08-06 21:16:34 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-08-03 21:15:23 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-09-21 11:39:29 +10:00
|
|
|
|
2006-08-06 21:16:34 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-09-21 11:39:29 +10:00
|
|
|
|
2007-04-08 21:31:36 +10:00
|
|
|
|
2006-09-21 11:39:29 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-04-08 21:31:36 +10:00
|
|
|
|
2006-09-21 11:39:29 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-12-17 10:05:58 +11:00
|
|
|
|
|
|
|
|
|
2006-09-21 11:39:29 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-12-17 10:05:58 +11:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-01-24 20:50:26 +11:00
|
|
|
|
2006-09-21 11:39:29 +10:00
|
|
|
|
2006-12-17 10:05:58 +11:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-09-21 11:39:29 +10:00
|
|
|
|
2006-12-17 10:05:58 +11:00
|
|
|
|
|
|
|
|
|
2006-09-21 11:39:29 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-08-06 21:23:26 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-01-01 18:37:02 +11:00
|
|
|
|
2006-08-06 23:10:45 +10:00
|
|
|
|
2007-08-29 19:27:26 +08:00
|
|
|
|
2007-01-01 18:37:02 +11:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-08-29 19:27:26 +08:00
|
|
|
|
|
|
|
|
|
2007-01-01 18:37:02 +11:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-07 20:18:17 +08:00
|
|
|
|
2007-01-01 18:37:02 +11:00
|
|
|
|
2006-08-06 23:10:45 +10:00
|
|
|
|
|
|
|
|
|
2007-01-01 18:37:02 +11:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-08-06 23:10:45 +10:00
|
|
|
|
2007-08-29 19:27:26 +08:00
|
|
|
|
|
|
|
|
|
2006-08-06 23:10:45 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-07 20:18:17 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-08-06 23:10:45 +10:00
|
|
|
|
[CRYPTO] aead: Add authenc
This patch adds the authenc algorithm which constructs an AEAD algorithm
from an asynchronous block cipher and a hash. The construction is done
by concatenating the encrypted result from the cipher with the output
from the hash, as is used by the IPsec ESP protocol.
The authenc algorithm exists as a template with four parameters:
authenc(auth, authsize, enc, enckeylen).
The authentication algorithm, the authentication size (i.e., truncating
the output of the authentication algorithm), the encryption algorithm,
and the encryption key length. Both the size field and the key length
field are in bytes. For example, AES-128 with SHA1-HMAC would be
represented by
authenc(hmac(sha1), 12, cbc(aes), 16)
The key for the authenc algorithm is the concatenation of the keys for
the authentication algorithm with the encryption algorithm. For the
above example, if a key of length 36 bytes is given, then hmac(sha1)
would receive the first 20 bytes while the last 16 would be given to
cbc(aes).
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2007-08-30 16:24:15 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-08-06 23:10:45 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-04-08 21:31:36 +10:00
|
|
|
|
|
|
|
|
|
2006-08-06 23:10:45 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-04-16 20:48:54 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-11-20 17:26:06 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-08-21 21:08:13 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|