Shortlinks by Pretty Links – Best WordPress Link Tracking Plugin - Version 1.4.33

Version Description

  • Added more support options for all users
  • Updated install
  • Added exclude tweet badge/comments & social media buttons for specific pages & posts to the page/post edit screen for pro users
Download this release

Release Info

Developer supercleanse
Plugin Icon 128x128 Shortlinks by Pretty Links – Best WordPress Link Tracking Plugin
Version 1.4.33
Comparing to
See all releases

Version 1.4.33

Files changed (107) hide show
  1. classes/models/PrliClick.php +279 -0
  2. classes/models/PrliGroup.php +124 -0
  3. classes/models/PrliLink.php +325 -0
  4. classes/models/PrliLinkMeta.php +59 -0
  5. classes/models/PrliOptions.php +266 -0
  6. classes/models/PrliUrlUtils.php +128 -0
  7. classes/models/PrliUtils.php +1124 -0
  8. classes/models/models.inc.php +43 -0
  9. classes/views/prli-clicks/csv.php +24 -0
  10. classes/views/prli-clicks/head.php +105 -0
  11. classes/views/prli-clicks/list.php +151 -0
  12. classes/views/prli-dashboard-widget/widget.php +23 -0
  13. classes/views/prli-groups/edit.php +58 -0
  14. classes/views/prli-groups/head.php +35 -0
  15. classes/views/prli-groups/list.php +85 -0
  16. classes/views/prli-groups/new.php +59 -0
  17. classes/views/prli-links/bar.php +12 -0
  18. classes/views/prli-links/edit.php +22 -0
  19. classes/views/prli-links/form.php +94 -0
  20. classes/views/prli-links/head.php +91 -0
  21. classes/views/prli-links/list.php +184 -0
  22. classes/views/prli-links/new.php +22 -0
  23. classes/views/prli-links/ultra-cloak.php +11 -0
  24. classes/views/prli-options/form.php +176 -0
  25. classes/views/prli-options/head.php +54 -0
  26. classes/views/prli-options/pro-settings.php +44 -0
  27. classes/views/prli-tools/form.php +20 -0
  28. classes/views/shared/errors.php +19 -0
  29. classes/views/shared/link-table-nav.php +102 -0
  30. classes/views/shared/nav.php +18 -0
  31. classes/views/shared/table-nav.php +93 -0
  32. images/arrow_down.png +0 -0
  33. images/arrow_up.png +0 -0
  34. images/bar_background.png +0 -0
  35. images/bar_map.png +0 -0
  36. images/bookmark.png +0 -0
  37. images/co.mments.gif +0 -0
  38. images/delicious_32.png +0 -0
  39. images/digg_32.png +0 -0
  40. images/email_32.png +0 -0
  41. images/facebook.png +0 -0
  42. images/facebook_32.png +0 -0
  43. images/forward_params.png +0 -0
  44. images/hyves_32.png +0 -0
  45. images/linkedin_32.png +0 -0
  46. images/mixx_32.png +0 -0
  47. images/newsvine_32.png +0 -0
  48. images/nofollow.png +0 -0
  49. images/not_tracking.png +0 -0
  50. images/pixel_track.png +0 -0
  51. images/pretty-link-48x48.png +0 -0
  52. images/pretty-link-add.png +0 -0
  53. images/pretty-link-med.png +0 -0
  54. images/pretty-link-small.png +0 -0
  55. images/prettylink_logo.jpg +0 -0
  56. images/prettylink_logo_med.jpg +0 -0
  57. images/prettylink_logo_small.jpg +0 -0
  58. images/reddit_32.png +0 -0
  59. images/sphinn_32.png +0 -0
  60. images/stumbleupon_32.png +0 -0
  61. images/technorati_32.png +0 -0
  62. images/tracking.png +0 -0
  63. images/twitter.png +0 -0
  64. images/twitter_32.png +0 -0
  65. images/ultra-cloak.png +0 -0
  66. images/url_icon.gif +0 -0
  67. images/whatever.txt +13 -0
  68. images/yahoobuzz_32.png +0 -0
  69. includes/jquery/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
  70. includes/jquery/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
  71. includes/jquery/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png +0 -0
  72. includes/jquery/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
  73. includes/jquery/css/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
  74. includes/jquery/css/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  75. includes/jquery/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
  76. includes/jquery/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
  77. includes/jquery/css/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
  78. includes/jquery/css/ui-lightness/images/ui-icons_222222_256x240.png +0 -0
  79. includes/jquery/css/ui-lightness/images/ui-icons_228ef1_256x240.png +0 -0
  80. includes/jquery/css/ui-lightness/images/ui-icons_ef8c08_256x240.png +0 -0
  81. includes/jquery/css/ui-lightness/images/ui-icons_ffd27a_256x240.png +0 -0
  82. includes/jquery/css/ui-lightness/images/ui-icons_ffffff_256x240.png +0 -0
  83. includes/jquery/css/ui-lightness/jquery-ui-1.7.1.custom.css +404 -0
  84. includes/jquery/js/jquery-1.3.2.min.js +19 -0
  85. includes/jquery/js/jquery-ui-1.7.1.custom.min.js +273 -0
  86. includes/php/php_browsecap.ini +16939 -0
  87. includes/version-2-kvasir/README.txt +8 -0
  88. includes/version-2-kvasir/js/README.txt +12 -0
  89. includes/version-2-kvasir/js/json/json2.js +461 -0
  90. includes/version-2-kvasir/js/swfobject.js +5 -0
  91. includes/version-2-kvasir/open-flash-chart.swf +0 -0
  92. pretty-bar.php +242 -0
  93. pretty-link.php +357 -0
  94. prli-add-link.php +9 -0
  95. prli-api.php +233 -0
  96. prli-bookmarklet.php +94 -0
  97. prli-clicks.php +237 -0
  98. prli-config.php +131 -0
  99. prli-dashboard-widget.php +13 -0
  100. prli-groups.php +175 -0
  101. prli-image-lookups.php +136 -0
  102. prli-links.php +233 -0
  103. prli-options.php +138 -0
  104. prli-pro-settings.php +77 -0
  105. prli-tools.php +3 -0
  106. prli-xmlrpc.php +333 -0
  107. readme.txt +216 -0
classes/models/PrliClick.php ADDED
@@ -0,0 +1,279 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class PrliClick
3
+ {
4
+ var $table_name;
5
+
6
+ function PrliClick()
7
+ {
8
+ global $wpdb;
9
+ $this->table_name = "{$wpdb->prefix}prli_clicks";
10
+ }
11
+
12
+ function get_exclude_where_clause( $where = '', $abbr = 'cl')
13
+ {
14
+ global $prli_options;
15
+ $exclude_list = trim($prli_options->prli_exclude_ips);
16
+ $filter_bots = (int)$prli_options->filter_robots;
17
+ $return_stmt = '';
18
+
19
+ if(empty($exclude_list) and $filter_bots == 0)
20
+ return $return_stmt;
21
+
22
+ $return_stmt .= (empty($where)?'':' AND');
23
+
24
+ if(!empty($exclude_list))
25
+ {
26
+ $exclude_ips = explode(',',$exclude_list);
27
+ for($i = 0; $i < count($exclude_ips); $i++)
28
+ {
29
+ $exclude_ip = trim(preg_replace('#\*#','%',$exclude_ips[$i]));
30
+
31
+ if($i > 0)
32
+ $return_stmt .= ' AND';
33
+
34
+ $return_stmt .= " {$abbr}.ip NOT LIKE '{$exclude_ip}'";
35
+ }
36
+ }
37
+
38
+ if($filter_bots != 0)
39
+ {
40
+ $return_stmt .= (empty($exclude_list)?' (':' AND (');
41
+ $whitelist = trim($prli_options->whitelist_ips);
42
+
43
+ if(!empty($whitelist))
44
+ {
45
+ $whitelist_ips = explode(',',$whitelist);
46
+ for($i = 0; $i <= count($whitelist_ips); $i++)
47
+ {
48
+ if($i == count($whitelist_ips))
49
+ {
50
+ $return_stmt .= ' OR';
51
+ break;
52
+ }
53
+
54
+ $whitelist_ip = trim(preg_replace('#\*#','%',$whitelist_ips[$i]));
55
+
56
+ if($i > 0)
57
+ $return_stmt .= ' OR';
58
+
59
+ $return_stmt .= " {$abbr}.ip LIKE '{$whitelist_ip}'";
60
+ }
61
+
62
+ }
63
+
64
+ $return_stmt .= " {$abbr}.robot=0 )";
65
+ }
66
+
67
+ return $return_stmt;
68
+ }
69
+
70
+ function getOne( $id )
71
+ {
72
+ global $wpdb, $prli_link, $prli_utils;
73
+ $click_table = $wpdb->prefix . "prli_clicks";
74
+ $query = 'SELECT cl.*, (SELECT count(*) FROM '. $this->table_name .' cl2 WHERE cl2.ip = cl.ip) as ip_count, (SELECT count(*) FROM '. $this->table_name .' cl3 WHERE cl3.vuid = cl.vuid) as vuid_count, li.name as link_name FROM ' . $this->table_name . ' cl, ' . $prli_link->table_name . ' li WHERE li.id = cl.link_id AND id=' . $id . $prli_utils->prepend_and_or_where(' AND',$this->get_exclude_where_clause());
75
+
76
+ return $wpdb->get_row($query);
77
+ }
78
+
79
+ // SELECT cl.*,li.name as link_name FROM wp_prli_clicks cl, wp_prli_links li WHERE li.id = cl.link_id ORDER BY created_at DESC
80
+ function getAll($where = '', $order = '', $include_stats = false)
81
+ {
82
+ global $wpdb, $prli_link, $prli_utils;
83
+ $click_table = $wpdb->prefix . "prli_clicks";
84
+ $where .= $this->get_exclude_where_clause( $where );
85
+ $where = $prli_utils->prepend_and_or_where(' AND', $where);
86
+ if($include_stats)
87
+ $query = 'SELECT cl.*, (SELECT count(*) FROM '. $this->table_name .' cl2 WHERE cl2.ip = cl.ip) as ip_count, (SELECT count(*) FROM '. $this->table_name .' cl3 WHERE cl3.vuid = cl.vuid) as vuid_count, li.name as link_name FROM ' . $this->table_name . ' cl, ' . $prli_link->table_name . ' li WHERE li.id = cl.link_id' . $where . $order;
88
+ else
89
+ $query = 'SELECT cl.*, li.name as link_name FROM ' . $this->table_name . ' cl, ' . $prli_link->table_name . ' li WHERE li.id = cl.link_id' . $where . $order;
90
+ return $wpdb->get_results($query);
91
+ }
92
+
93
+ // Delete all of the clicks from the database.
94
+ function clearAllClicks()
95
+ {
96
+ global $wpdb;
97
+ $query = "TRUNCATE TABLE " . $this->table_name;
98
+ return $wpdb->query($query);
99
+ }
100
+
101
+ // Pagination Methods
102
+ function getRecordCount($where='')
103
+ {
104
+ global $wpdb, $prli_link, $prli_utils;
105
+ $where .= $this->get_exclude_where_clause( $where );
106
+ $where = $prli_utils->prepend_and_or_where(' WHERE', $where);
107
+ $query = 'SELECT COUNT(*) FROM ' . $this->table_name . ' cl'. $where;
108
+ return $wpdb->get_var($query);
109
+ }
110
+
111
+ function getPageCount($p_size, $where='')
112
+ {
113
+ return ceil((int)$this->getRecordCount($where) / (int)$p_size);
114
+ }
115
+
116
+ function getPage($current_p,$p_size, $where = '', $order = '',$include_stats=false)
117
+ {
118
+ global $wpdb, $prli_link, $prli_utils;
119
+ $click_table = $wpdb->prefix . "prli_clicks";
120
+ $end_index = $current_p * $p_size;
121
+ $start_index = $end_index - $p_size;
122
+ $where .= $this->get_exclude_where_clause( $where );
123
+ $where = $prli_utils->prepend_and_or_where(' AND', $where);
124
+ if($include_stats)
125
+ $query = 'SELECT cl.*, (SELECT count(*) FROM '. $this->table_name .' cl2 WHERE cl2.ip = cl.ip) as ip_count, (SELECT count(*) FROM '. $this->table_name .' cl3 WHERE cl3.vuid = cl.vuid) as vuid_count, li.name as link_name FROM ' . $this->table_name . ' cl, ' . $prli_link->table_name . ' li WHERE li.id = cl.link_id' . $where . $order . ' LIMIT ' . $start_index . ',' . $p_size . ';';
126
+ else
127
+ $query = 'SELECT cl.*, li.name as link_name FROM ' . $this->table_name . ' cl, ' . $prli_link->table_name . ' li WHERE li.id = cl.link_id' . $where . $order . ' LIMIT ' . $start_index . ',' . $p_size . ';';
128
+ $results = $wpdb->get_results($query);
129
+ return $results;
130
+ }
131
+
132
+ function generateUniqueVisitorId($num_chars = 6)
133
+ {
134
+ global $wpdb, $prli_utils;
135
+
136
+ // We're doing a base 36 hash which is why we're always doing everything by 36
137
+ $max_vuid_value = pow(36,$num_chars);
138
+ $min_vuid_value = 37;
139
+ $vuid = base_convert( mt_rand($min_vuid_value,$max_vuid_value), 10, 36 );
140
+
141
+ $query = "SELECT DISTINCT vuid FROM ".$this->table_name;
142
+ $vuids = $wpdb->get_col($query,0);
143
+
144
+ // It is highly unlikely that we'll ever see 2 identical random vuids
145
+ // but just in case, here's some code to prevent collisions
146
+ while( in_array($vuid,$vuids) )
147
+ $vuid = base_convert( mt_rand($min_vuid_value,$max_vuid_value), 10, 36 );
148
+
149
+ return $vuid;
150
+ }
151
+
152
+ function get_counts_by_days($start_timestamp, $end_timestamp, $link_id = "all", $type = "all", $group = '')
153
+ {
154
+ global $wpdb, $prli_link;
155
+
156
+ $query = "SELECT DATE(cl.created_at) as cldate,COUNT(*) as clcount FROM ".$this->table_name." cl WHERE cl.created_at BETWEEN '".date("Y-n-j",$start_timestamp)." 00:00:00' AND '".date("Y-n-j",$end_timestamp)." 23:59:59'".$search_where.$this->get_exclude_where_clause( ' AND' );
157
+
158
+ if($link_id != "all")
159
+ $query .= " AND link_id=$link_id";
160
+
161
+ if(!empty($group))
162
+ $query .= " AND link_id IN (SELECT id FROM " . $prli_link->table_name . " WHERE group_id=$group)";
163
+
164
+ if($type == "unique")
165
+ $query .= " AND first_click=1";
166
+
167
+ $query .= ' GROUP BY DATE(cl.created_at)';
168
+
169
+ $clicks_array = $wpdb->get_results($query);
170
+
171
+ $temp_array = array();
172
+ $counts_array = array();
173
+ $dates_array = array();
174
+
175
+ // Refactor Array for use later on
176
+ foreach($clicks_array as $c)
177
+ $temp_array[$c->cldate] = $c->clcount;
178
+
179
+ // Get the dates array
180
+ for($c = $start_timestamp; $c <= $end_timestamp; $c += 60*60*24)
181
+ $dates_array[] = date("Y-m-d",$c);
182
+
183
+ // Make sure counts array is in order and includes zero click days
184
+ foreach($dates_array as $date_str)
185
+ {
186
+ if(isset($temp_array[$date_str]))
187
+ $counts_array[$date_str] = $temp_array[$date_str];
188
+ else
189
+ $counts_array[$date_str] = 0;
190
+ }
191
+
192
+ return $counts_array;
193
+ }
194
+
195
+
196
+ function setupClickLineGraph($start_timestamp,$end_timestamp, $link_id = "all", $type = "all", $group = '')
197
+ {
198
+ global $wpdb, $prli_utils, $prli_link, $prli_group;
199
+
200
+ $dates_array = $this->get_counts_by_days($start_timestamp,$end_timestamp,$link_id,$type,$group);
201
+
202
+ $top_click_count = $prli_utils->getTopValue(array_values($dates_array));
203
+
204
+ if(!empty($group))
205
+ $link_slug = "group: '" . $wpdb->get_var("SELECT name FROM ".$prli_group->table_name." WHERE id=$group") . "'";
206
+ else if($link_id == "all")
207
+ $link_slug = "all links";
208
+ else
209
+ $link_slug = "'/".$wpdb->get_var("SELECT slug FROM ".$prli_link->table_name." WHERE id=$link_id") . "'";
210
+
211
+ if($type == "all")
212
+ $type_string = "All hits";
213
+ else
214
+ $type_string = "Unique hits";
215
+
216
+ $json_array = array(
217
+ "elements" => array( array(
218
+ "type" => "line",
219
+ "values" => array_values($dates_array),
220
+ "dot-style" => array(
221
+ "type" => "dot",
222
+ "dot-size" => 4,
223
+ "colour" => "#ffc94e",
224
+ "halo-size" => 1,
225
+ "tip" => "#val# Hits<br>#x_label#"
226
+ ),
227
+ "width" => 2
228
+ ) ),
229
+ "title" => array(
230
+ "text" => 'Pretty Link: '.$type_string.' on '.$link_slug. ' between ' . date("Y-n-j",$start_timestamp) . ' and ' . date("Y-n-j",$end_timestamp),
231
+ "style" => "font-size: 16px; font-weight: bold; color: #3030d0; text-align: center; padding-bottom: 5px;"
232
+ ),
233
+ "bg_colour" => "-1",
234
+ "y_axis" => array(
235
+ "min" => 0,
236
+ "max" => $top_click_count,
237
+ "steps" => (int)(($top_click_count>=10)?$top_click_count/10:1),
238
+ "colour" => "#A2ACBA"
239
+ ),
240
+ "x_axis" => array(
241
+ "colour" => "#A2ACBA",
242
+ "grid-colour" => "#ffefa7",
243
+ "offset" => false,
244
+ "steps" => 4,
245
+ "labels" => array(
246
+ "steps" => 2,
247
+ "rotate" => 25,
248
+ "colour" => "#000000",
249
+ "labels" => array_keys($dates_array)
250
+ )
251
+ )
252
+ );
253
+
254
+ return $prli_utils->prli_json_encode($json_array);
255
+ }
256
+
257
+
258
+ // Set defaults and grab get or post of each possible param
259
+ function get_params_array()
260
+ {
261
+ $values = array(
262
+ 'paged' => (isset($_GET['paged'])?$_GET['paged']:(isset($_POST['paged'])?$_POST['paged']:1)),
263
+ 'l' => (isset($_GET['l'])?$_GET['l']:(isset($_POST['l'])?$_POST['l']:'all')),
264
+ 'group' => (isset($_GET['group'])?$_GET['group']:(isset($_POST['group'])?$_POST['group']:'')),
265
+ 'ip' => (isset($_GET['ip'])?$_GET['ip']:(isset($_POST['ip'])?$_POST['ip']:'')),
266
+ 'vuid' => (isset($_GET['vuid'])?$_GET['vuid']:(isset($_POST['vuid'])?$_POST['vuid']:'')),
267
+ 'sdate' => (isset($_GET['sdate'])?$_GET['sdate']:(isset($_POST['sdate'])?$_POST['sdate']:'')),
268
+ 'edate' => (isset($_GET['edate'])?$_GET['edate']:(isset($_POST['edate'])?$_POST['edate']:'')),
269
+ 'type' => (isset($_GET['type'])?$_GET['type']:(isset($_POST['type'])?$_POST['type']:'all')),
270
+ 'search' => (isset($_GET['search'])?$_GET['search']:(isset($_POST['search'])?$_POST['search']:'')),
271
+ 'sort' => (isset($_GET['sort'])?$_GET['sort']:(isset($_POST['sort'])?$_POST['sort']:'')),
272
+ 'sdir' => (isset($_GET['sdir'])?$_GET['sdir']:(isset($_POST['sdir'])?$_POST['sdir']:''))
273
+ );
274
+
275
+ return $values;
276
+ }
277
+
278
+ }
279
+ ?>
classes/models/PrliGroup.php ADDED
@@ -0,0 +1,124 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class PrliGroup
3
+ {
4
+ var $table_name;
5
+
6
+ function PrliGroup()
7
+ {
8
+ global $wpdb;
9
+ $this->table_name = "{$wpdb->prefix}prli_groups";
10
+ }
11
+
12
+ function create( $values )
13
+ {
14
+ global $wpdb, $wp_rewrite;
15
+
16
+ $query = 'INSERT INTO ' . $this->table_name .
17
+ ' (name,description,created_at) VALUES (\'' .
18
+ $values['name'] . '\',\'' .
19
+ $values['description'] . '\',' .
20
+ 'NOW())';
21
+ $query_results = $wpdb->query($query);
22
+ return $wpdb->insert_id;
23
+ }
24
+
25
+ function update( $id, $values )
26
+ {
27
+ global $wpdb, $wp_rewrite;
28
+
29
+ $query = 'UPDATE ' . $this->table_name .
30
+ ' SET name=\'' . $values['name'] . '\', ' .
31
+ ' description=\'' . $values['description'] . '\' ' .
32
+ ' WHERE id='.$id;
33
+ $query_results = $wpdb->query($query);
34
+ return $query_results;
35
+ }
36
+
37
+ function destroy( $id )
38
+ {
39
+ require_once(PRLI_MODELS_PATH.'/models.inc.php');
40
+ global $wpdb, $prli_link, $wp_rewrite;
41
+
42
+ // Disconnect the links from this group
43
+ $query = 'UPDATE ' . $prli_link->table_name .
44
+ ' SET group_id = NULL ' .
45
+ ' WHERE group_id='.$id;
46
+ $query_results = $wpdb->query($query);
47
+
48
+ $destroy = 'DELETE FROM ' . $this->table_name . ' WHERE id=' . $id;
49
+ return $wpdb->query($destroy);
50
+ }
51
+
52
+ function getOne( $id, $include_stats = false )
53
+ {
54
+ global $wpdb, $prli_link, $prli_click;
55
+
56
+ if($include_stats)
57
+ $query = 'SELECT gr.*, (SELECT COUNT(*) FROM ' . $prli_link->table_name . ' li WHERE li.group_id = gr.id) as link_count FROM ' . $this->table_name . ' gr WHERE id=' . $id;
58
+ else
59
+ $query = 'SELECT gr.* FROM ' . $this->table_name . ' gr WHERE id=' . $id;
60
+ return $wpdb->get_row($query);
61
+ }
62
+
63
+ function getAll( $where = '', $order_by = '', $return_type = OBJECT, $include_stats = false )
64
+ {
65
+ global $wpdb, $prli_utils, $prli_link, $prli_click;
66
+
67
+ if($include_stats)
68
+ $query = 'SELECT gr.*, (SELECT COUNT(*) FROM ' . $prli_link->table_name . ' li WHERE li.group_id = gr.id) as link_count FROM ' . $this->table_name . ' gr' . $prli_utils->prepend_and_or_where(' WHERE', $where) . $order_by;
69
+ else
70
+ $query = 'SELECT gr.* FROM ' . $this->table_name . " gr" . $prli_utils->prepend_and_or_where(' WHERE', $where) . $order_by;
71
+ return $wpdb->get_results($query, $return_type);
72
+ }
73
+
74
+ // Pagination Methods
75
+ function getRecordCount($where="")
76
+ {
77
+ global $wpdb, $prli_utils;
78
+ $query = 'SELECT COUNT(*) FROM ' . $this->table_name . $prli_utils->prepend_and_or_where(' WHERE', $where);
79
+ return $wpdb->get_var($query);
80
+ }
81
+
82
+ function getPageCount($p_size, $where="")
83
+ {
84
+ return ceil((int)$this->getRecordCount($where) / (int)$p_size);
85
+ }
86
+
87
+ function getPage($current_p,$p_size, $where = "", $order_by = '')
88
+ {
89
+ global $wpdb, $prli_link, $prli_utils, $prli_click;
90
+ $end_index = $current_p * $p_size;
91
+ $start_index = $end_index - $p_size;
92
+ $query = 'SELECT gr.*, (SELECT COUNT(*) FROM ' . $prli_link->table_name . ' li WHERE li.group_id = gr.id) as link_count FROM ' . $this->table_name . ' gr' . $prli_utils->prepend_and_or_where(' WHERE', $where) . $order_by .' LIMIT ' . $start_index . ',' . $p_size;
93
+ $results = $wpdb->get_results($query);
94
+ return $results;
95
+ }
96
+
97
+ // Set defaults and grab get or post of each possible param
98
+ function get_params_array()
99
+ {
100
+ $values = array(
101
+ 'action' => (isset($_GET['action'])?$_GET['action']:(isset($_POST['action'])?$_POST['action']:'list')),
102
+ 'id' => (isset($_GET['id'])?$_GET['id']:(isset($_POST['id'])?$_POST['id']:'')),
103
+ 'paged' => (isset($_GET['paged'])?$_GET['paged']:(isset($_POST['paged'])?$_POST['paged']:1)),
104
+ 'group' => (isset($_GET['group'])?$_GET['group']:(isset($_POST['group'])?$_POST['group']:'')),
105
+ 'search' => (isset($_GET['search'])?$_GET['search']:(isset($_POST['search'])?$_POST['search']:'')),
106
+ 'sort' => (isset($_GET['sort'])?$_GET['sort']:(isset($_POST['sort'])?$_POST['sort']:'')),
107
+ 'sdir' => (isset($_GET['sdir'])?$_GET['sdir']:(isset($_POST['sdir'])?$_POST['sdir']:''))
108
+ );
109
+
110
+ return $values;
111
+ }
112
+
113
+ function validate( $values )
114
+ {
115
+ global $wpdb, $prli_utils;
116
+
117
+ $errors = array();
118
+ if( empty($values['name']) )
119
+ $errors[] = "Group must have a name.";
120
+
121
+ return $errors;
122
+ }
123
+ }
124
+ ?>
classes/models/PrliLink.php ADDED
@@ -0,0 +1,325 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class PrliLink
3
+ {
4
+ var $table_name;
5
+
6
+ function PrliLink()
7
+ {
8
+ global $wpdb;
9
+ $this->table_name = "{$wpdb->prefix}prli_links";
10
+ }
11
+
12
+ function create( $values )
13
+ {
14
+ global $wpdb, $prli_url_utils;
15
+
16
+ $values['name'] = (!empty($values['name'])?$values['name']:$prli_url_utils->get_title($values['url'],$values['slug']));
17
+ $query_str = "INSERT INTO {$this->table_name} " .
18
+ '(url,'.
19
+ 'slug,'.
20
+ 'name,'.
21
+ 'param_forwarding,'.
22
+ 'param_struct,'.
23
+ 'redirect_type,'.
24
+ 'description,'.
25
+ 'track_me,'.
26
+ 'nofollow,'.
27
+ 'group_id,'.
28
+ 'created_at) ' .
29
+ 'VALUES (%s,%s,%s,%s,%s,%s,%s,%d,%d,%d,NOW())';
30
+
31
+ $query = $wpdb->prepare( $query_str,
32
+ $values['url'],
33
+ $values['slug'],
34
+ $values['name'],
35
+ $values['param_forwarding'],
36
+ $values['param_struct'],
37
+ $values['redirect_type'],
38
+ $values['description'],
39
+ (int)isset($values['track_me']),
40
+ (int)isset($values['nofollow']),
41
+ (isset($values['group_id'])?(int)$values['group_id']:'NULL') );
42
+ $query_results = $wpdb->query($query);
43
+
44
+ if($query_results)
45
+ return $wpdb->insert_id;
46
+ else
47
+ return false;
48
+ }
49
+
50
+ function update( $id, $values )
51
+ {
52
+ global $wpdb, $prli_url_utils;
53
+
54
+ $values['name'] = (!empty($values['name'])?$values['name']:$prli_url_utils->get_title($values['url'],$values['slug']));
55
+ $query_str = "UPDATE {$this->table_name} " .
56
+ 'SET url=%s, ' .
57
+ 'slug=%s, ' .
58
+ 'name=%s, ' .
59
+ 'param_forwarding=%s, ' .
60
+ 'param_struct=%s, ' .
61
+ 'redirect_type=%s, ' .
62
+ 'description=%s, ' .
63
+ 'track_me=%d, ' .
64
+ 'nofollow=%d, ' .
65
+ 'group_id=%d ' .
66
+ ' WHERE id=%d';
67
+
68
+ $query = $wpdb->prepare( $query_str,
69
+ $values['url'],
70
+ $values['slug'],
71
+ $values['name'],
72
+ $values['param_forwarding'],
73
+ $values['param_struct'],
74
+ $values['redirect_type'],
75
+ $values['description'],
76
+ (int)isset($values['track_me']),
77
+ (int)isset($values['nofollow']),
78
+ (isset($values['group_id'])?(int)$values['group_id']:'NULL'),
79
+ $id );
80
+
81
+ $query_results = $wpdb->query($query);
82
+ return $query_results;
83
+ }
84
+
85
+ function update_group( $id, $value, $group_id )
86
+ {
87
+ global $wpdb;
88
+ $query = 'UPDATE ' . $this->table_name .
89
+ ' SET group_id=' . (isset($value)?$group_id:'NULL') .
90
+ ' WHERE id='.$id;
91
+ $query_results = $wpdb->query($query);
92
+ return $query_results;
93
+ }
94
+
95
+ function destroy( $id )
96
+ {
97
+ require_once(PRLI_MODELS_PATH.'/models.inc.php');
98
+ global $wpdb, $prli_click;
99
+
100
+ $reset = 'DELETE FROM ' . $prli_click->table_name . ' WHERE link_id=' . $id;
101
+ $destroy = 'DELETE FROM ' . $this->table_name . ' WHERE id=' . $id;
102
+
103
+ $wpdb->query($reset);
104
+ return $wpdb->query($destroy);
105
+ }
106
+
107
+ function reset( $id )
108
+ {
109
+ require_once(PRLI_MODELS_PATH.'/models.inc.php');
110
+ global $wpdb, $prli_click;
111
+
112
+ $reset = 'DELETE FROM ' . $prli_click->table_name . ' WHERE link_id=' . $id;
113
+ return $wpdb->query($reset);
114
+ }
115
+
116
+ function getOneFromSlug( $slug, $return_type = OBJECT, $include_stats = false )
117
+ {
118
+ global $wpdb, $prli_click;
119
+ if($include_stats)
120
+ $query = 'SELECT li.*, ' .
121
+ '(SELECT COUNT(*) FROM ' . $prli_click->table_name . ' cl ' .
122
+ 'WHERE cl.link_id = li.id' . $prli_click->get_exclude_where_clause( ' AND' ) . ') as clicks, ' .
123
+ '(SELECT COUNT(*) FROM ' . $prli_click->table_name . ' cl ' .
124
+ 'WHERE cl.link_id = li.id ' .
125
+ 'AND cl.first_click <> 0' . $prli_click->get_exclude_where_clause( ' AND' ) . ') as uniques ' .
126
+ "FROM {$this->table_name} li " .
127
+ 'WHERE slug=%s';
128
+ else
129
+ $query = "SELECT * FROM {$this->table_name} WHERE slug=%s";
130
+
131
+ $query = $wpdb->prepare($query, $slug);
132
+ return $wpdb->get_row($query, $return_type);
133
+ }
134
+
135
+ function getOne( $id, $return_type = OBJECT, $include_stats = false )
136
+ {
137
+ global $wpdb, $prli_click;
138
+ if( !isset($id) or empty($id) )
139
+ return false;
140
+
141
+ if($include_stats)
142
+ $query = 'SELECT li.*, ' .
143
+ '(SELECT COUNT(*) FROM ' . $prli_click->table_name . ' cl ' .
144
+ 'WHERE cl.link_id = li.id' . $prli_click->get_exclude_where_clause( ' AND' ) . ') as clicks, ' .
145
+ '(SELECT COUNT(*) FROM ' . $prli_click->table_name . ' cl ' .
146
+ 'WHERE cl.link_id = li.id ' .
147
+ 'AND cl.first_click <> 0' . $prli_click->get_exclude_where_clause( ' AND' ) . ') as uniques ' .
148
+ 'FROM ' . $this->table_name . ' li ' .
149
+ 'WHERE id=%d';
150
+ else
151
+ $query = "SELECT * FROM {$this->table_name} WHERE id=%d";
152
+
153
+ $query = $wpdb->prepare($query, $id);
154
+ return $wpdb->get_row($query, $return_type);
155
+ }
156
+
157
+ function find_first_target_url($target_url)
158
+ {
159
+ global $wpdb;
160
+ $query_str = "SELECT id FROM {$this->table_name} WHERE url=%s LIMIT 1";
161
+ $query = $wpdb->prepare($query_str,$target_url);
162
+ return $wpdb->get_var($query);
163
+ }
164
+
165
+ function get_link_min( $id, $return_type = OBJECT )
166
+ {
167
+ global $wpdb;
168
+ $query_str = "SELECT * FROM {$this->table_name} WHERE id=%d";
169
+ $query = $wpdb->prepare($query_str, $id);
170
+ return $wpdb->get_row($query, $return_type);
171
+ }
172
+
173
+ function getAll($where = '', $order_by = '', $return_type = OBJECT, $include_stats = false)
174
+ {
175
+ global $wpdb, $prli_click, $prli_group, $prli_utils;
176
+
177
+ if($include_stats)
178
+ $query = 'SELECT li.*, ' .
179
+ '(SELECT COUNT(*) FROM ' . $prli_click->table_name . ' cl ' .
180
+ 'WHERE cl.link_id = li.id' . $prli_click->get_exclude_where_clause( ' AND' ) . ') as clicks, ' .
181
+ '(SELECT COUNT(*) FROM ' . $prli_click->table_name . ' cl ' .
182
+ 'WHERE cl.link_id = li.id ' .
183
+ 'AND cl.first_click <> 0' . $prli_click->get_exclude_where_clause( ' AND' ) . ') as uniques, ' .
184
+ 'gr.name as group_name ' .
185
+ 'FROM '. $this->table_name . ' li ' .
186
+ 'LEFT OUTER JOIN ' . $prli_group->table_name . ' gr ON li.group_id=gr.id' .
187
+ $prli_utils->prepend_and_or_where(' WHERE', $where) . $order_by;
188
+ else
189
+ $query = "SELECT li.*, gr.name as group_name FROM {$this->table_name} li " .
190
+ 'LEFT OUTER JOIN ' . $prli_group->table_name . ' gr ON li.group_id=gr.id' .
191
+ $prli_utils->prepend_and_or_where(' WHERE', $where) . $order_by;
192
+
193
+
194
+ return $wpdb->get_results($query, $return_type);
195
+ }
196
+
197
+ // Pagination Methods
198
+ function getRecordCount($where="")
199
+ {
200
+ global $wpdb, $prli_utils;
201
+ $query = 'SELECT COUNT(*) FROM ' . $this->table_name . ' li' . $prli_utils->prepend_and_or_where(' WHERE', $where);
202
+ return $wpdb->get_var($query);
203
+ }
204
+
205
+ function getPageCount($p_size, $where="")
206
+ {
207
+ return ceil((int)$this->getRecordCount($where) / (int)$p_size);
208
+ }
209
+
210
+ function getPage($current_p,$p_size, $where = "", $order_by = '', $return_type = OBJECT)
211
+ {
212
+ global $wpdb, $prli_click, $prli_utils, $prli_group;
213
+ $end_index = $current_p * $p_size;
214
+ $start_index = $end_index - $p_size;
215
+ $query = 'SELECT li.*, ' .
216
+ '(SELECT COUNT(*) FROM ' . $prli_click->table_name . ' cl ' .
217
+ 'WHERE cl.link_id = li.id' . $prli_click->get_exclude_where_clause( ' AND' ) . ') as clicks, ' .
218
+ '(SELECT COUNT(*) FROM ' . $prli_click->table_name . ' cl ' .
219
+ 'WHERE cl.link_id = li.id ' .
220
+ 'AND cl.first_click <> 0' . $prli_click->get_exclude_where_clause( ' AND' ) . ') as uniques, ' .
221
+ 'gr.name as group_name ' .
222
+ 'FROM ' . $this->table_name . ' li ' .
223
+ 'LEFT OUTER JOIN ' . $prli_group->table_name . ' gr ON li.group_id=gr.id' .
224
+ $prli_utils->prepend_and_or_where(' WHERE', $where) . $order_by . ' ' .
225
+ 'LIMIT ' . $start_index . ',' . $p_size . ';';
226
+ $results = $wpdb->get_results($query, $return_type);
227
+ return $results;
228
+ }
229
+
230
+ /** I'm generating a slug that is by default 2-3 characters long.
231
+ * This gives us a possibility of 36^3 - 37 = 46,619 possible
232
+ * random slugs. That should be *more* than enough slugs for
233
+ * any website -- if I get any feedback that we need more then
234
+ * I can always make a config option to raise the # of chars.
235
+ */
236
+ function generateValidSlug($num_chars = 3)
237
+ {
238
+ global $wpdb, $prli_utils;
239
+
240
+ // We're doing a base 36 hash which is why we're always doing everything by 36
241
+ $max_slug_value = pow(36,$num_chars);
242
+ $min_slug_value = 37; // we want to have at least 2 characters in the slug
243
+ $slug = base_convert( rand($min_slug_value,$max_slug_value), 10, 36 );
244
+
245
+ $query = "SELECT slug FROM " . $this->table_name; // . " WHERE slug='" . $slug . "'";
246
+ $slugs = $wpdb->get_col($query,0);
247
+
248
+ // It is highly unlikely that we'll ever see 2 identical random slugs
249
+ // but just in case, here's some code to prevent collisions
250
+ while( in_array($slug,$slugs) or !$prli_utils->slugIsAvailable($slug) )
251
+ $slug = base_convert( rand($min_slug_value,$max_slug_value), 10, 36 );
252
+
253
+ return $slug;
254
+ }
255
+
256
+ function get_pretty_link_url($slug)
257
+ {
258
+ global $prli_blogurl;
259
+
260
+ $link = $this->getOneFromSlug($slug);
261
+
262
+ if((isset($link->param_forwarding) and $link->param_forwarding == 'custom') and
263
+ (isset($link->redirect_type) and $link->redirect_type == 'pixel'))
264
+ return "&lt;img src=\"".$prli_blogurl . '/' . $link->slug . $link->param_struct . "\" width=\"1\" height=\"1\" style=\"display: none\" /&gt;";
265
+ else if((!isset($link->param_forwarding) or $link->param_forwarding != 'custom') and
266
+ (isset($link->redirect_type) and $link->redirect_type == 'pixel'))
267
+ return "&lt;img src=\"".$prli_blogurl . '/' . $link->slug . "\" width=\"1\" height=\"1\" style=\"display: none\" /&gt;";
268
+ else if((isset($link->param_forwarding) and $link->param_forwarding == 'custom') and
269
+ (!isset($link->redirect_type) or $link->redirect_type != 'pixel'))
270
+ return $prli_blogurl . '/' . $link->slug . $link->param_struct;
271
+ else
272
+ return $prli_blogurl . '/' . $link->slug;
273
+ }
274
+
275
+ // Set defaults and grab get or post of each possible param
276
+ function get_params_array()
277
+ {
278
+ $values = array(
279
+ 'action' => (isset($_GET['action'])?$_GET['action']:(isset($_POST['action'])?$_POST['action']:'list')),
280
+ 'regenerate' => (isset($_GET['regenerate'])?$_GET['regenerate']:(isset($_POST['regenerate'])?$_POST['regenerate']:'false')),
281
+ 'id' => (isset($_GET['id'])?$_GET['id']:(isset($_POST['id'])?$_POST['id']:'')),
282
+ 'group_name' => (isset($_GET['group_name'])?$_GET['group_name']:(isset($_POST['group_name'])?$_POST['group_name']:'')),
283
+ 'paged' => (isset($_GET['paged'])?$_GET['paged']:(isset($_POST['paged'])?$_POST['paged']:1)),
284
+ 'group' => (isset($_GET['group'])?$_GET['group']:(isset($_POST['group'])?$_POST['group']:'')),
285
+ 'search' => (isset($_GET['search'])?$_GET['search']:(isset($_POST['search'])?$_POST['search']:'')),
286
+ 'sort' => (isset($_GET['sort'])?$_GET['sort']:(isset($_POST['sort'])?$_POST['sort']:'')),
287
+ 'sdir' => (isset($_GET['sdir'])?$_GET['sdir']:(isset($_POST['sdir'])?$_POST['sdir']:''))
288
+ );
289
+
290
+ return $values;
291
+ }
292
+
293
+ function validate( $values )
294
+ {
295
+ global $wpdb, $prli_utils, $prli_blogurl;
296
+
297
+ $errors = array();
298
+ if( ( $values['url'] == null or $values['url'] == '') and $values['redirect_type'] != 'pixel' )
299
+ $errors[] = "Target URL can't be blank";
300
+
301
+ if( $values['slug'] == null or $values['slug'] == '' )
302
+ $errors[] = "Pretty Link can't be blank";
303
+
304
+ if( $values['url'] == "$prli_blogurl/".$values['slug'] )
305
+ $errors[] = "Target URL must be different than the Pretty Link";
306
+
307
+ if( !empty($values['url']) and !preg_match('/^http.?:\/\/.*\..*$/', $values['url'] ) )
308
+ $errors[] = "Link URL must be a correctly formatted url";
309
+
310
+ if( preg_match('/^[\?\&\#]+$/', $values['slug'] ) )
311
+ $errors[] = "Pretty Link must not contain question marks, ampersands or number signs.";
312
+
313
+ if( !$prli_utils->slugIsAvailable($values['slug'],$values['id']) )
314
+ $errors[] = "This pretty link slug is already taken, please choose a different one";
315
+
316
+ if( isset($values['param_forwarding']) and $values['param_forwarding'] == 'custom' and empty($values['param_struct']) )
317
+ $errors[] = "If Custom Parameter Forwarding has been selected then you must specify a forwarding format.";
318
+
319
+ if( isset($values['param_forwarding']) and $values['param_forwarding'] == 'custom' and !preg_match('#%.*?%#', $values['param_struct']) )
320
+ $errors[] = "Your parameter forwarding must have at least one parameter specified in the format ex: <code>/%var1%/%var_two%/%varname3% ...</code>";
321
+
322
+ return $errors;
323
+ }
324
+ }
325
+ ?>
classes/models/PrliLinkMeta.php ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class PrliLinkMeta
3
+ {
4
+ var $table_name;
5
+
6
+ function PrliLinkMeta()
7
+ {
8
+ global $wpdb;
9
+ $this->table_name = "{$wpdb->prefix}prli_link_metas";
10
+ }
11
+
12
+ function get_link_meta($link_id,$meta_key,$return_var=false)
13
+ {
14
+ global $wpdb;
15
+ $query_str = "SELECT meta_value FROM {$this->table_name} WHERE meta_key=%s and link_id=%d";
16
+ $query = $wpdb->prepare($query_str,$meta_key,$link_id);
17
+
18
+ if($return_var)
19
+ return $wpdb->get_var("{$query} LIMIT 1");
20
+ else
21
+ return $wpdb->get_col($query, 0);
22
+ }
23
+
24
+ function add_link_meta($link_id, $meta_key, $meta_value)
25
+ {
26
+ global $wpdb;
27
+
28
+ $query_str = "INSERT INTO {$this->table_name} " .
29
+ '(meta_key,meta_value,link_id,created_at) VALUES (%s,%s,%d,NOW())';
30
+ $query = $wpdb->prepare($query_str, $meta_key, $meta_value, $link_id);
31
+ return $wpdb->query($query);
32
+ }
33
+
34
+ function update_link_meta($link_id, $meta_key, $meta_values)
35
+ {
36
+ global $wpdb;
37
+ $this->delete_link_meta($link_id, $meta_key);
38
+
39
+ if(!is_array($meta_values))
40
+ $meta_values = array($meta_values);
41
+
42
+ $status = false;
43
+ foreach($meta_values as $meta_value)
44
+ $status = $this->add_link_meta($link_id, $meta_key, $meta_value);
45
+
46
+ return $status;
47
+ }
48
+
49
+ function delete_link_meta($link_id, $meta_key)
50
+ {
51
+ global $wpdb;
52
+
53
+ $query_str = "DELETE FROM {$this->table_name} " .
54
+ "WHERE meta_key=%s AND link_id=%d";
55
+ $query = $wpdb->prepare($query_str, $meta_key, $link_id);
56
+ return $wpdb->query($query);
57
+ }
58
+ }
59
+ ?>
classes/models/PrliOptions.php ADDED
@@ -0,0 +1,266 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class PrliOptions
3
+ {
4
+ var $prli_exclude_ips;
5
+ var $whitelist_ips;
6
+ var $filter_robots;
7
+ var $prettybar_image_url;
8
+ var $prettybar_background_image_url;
9
+ var $prettybar_color;
10
+ var $prettybar_text_color;
11
+ var $prettybar_link_color;
12
+ var $prettybar_hover_color;
13
+ var $prettybar_visited_color;
14
+ var $prettybar_show_title;
15
+ var $prettybar_show_description;
16
+ var $prettybar_show_share_links;
17
+ var $prettybar_show_target_url_link;
18
+ var $prettybar_title_limit;
19
+ var $prettybar_desc_limit;
20
+ var $prettybar_link_limit;
21
+
22
+ var $link_redirect_type;
23
+ var $link_track_me;
24
+ var $link_nofollow;
25
+
26
+ var $bookmarklet_auth;
27
+
28
+ function PrliOptions()
29
+ {
30
+ $this->set_default_options();
31
+ }
32
+
33
+ function set_default_options()
34
+ {
35
+ // Must account for the Legacy Options
36
+ $prli_exclude_ips = 'prli_exclude_ips';
37
+ $prettybar_image_url = 'prli_prettybar_image_url';
38
+ $prettybar_background_image_url = 'prli_prettybar_background_image_url';
39
+ $prettybar_color = 'prli_prettybar_color';
40
+ $prettybar_text_color = 'prli_prettybar_text_color';
41
+ $prettybar_link_color = 'prli_prettybar_link_color';
42
+ $prettybar_hover_color = 'prli_prettybar_hover_color';
43
+ $prettybar_visited_color = 'prli_prettybar_visited_color';
44
+ $prettybar_show_title = 'prli_prettybar_show_title';
45
+ $prettybar_show_description = 'prli_prettybar_show_description';
46
+ $prettybar_show_share_links = 'prli_prettybar_show_share_links';
47
+ $prettybar_show_target_url_link = 'prli_prettybar_show_target_url_link';
48
+ $prettybar_title_limit = 'prli_prettybar_title_limit';
49
+ $prettybar_desc_limit = 'prli_prettybar_desc_limit';
50
+ $prettybar_link_limit = 'prli_prettybar_link_limit';
51
+ $link_show_prettybar = 'prli_link_show_prettybar';
52
+ $link_ultra_cloak = 'prli_link_ultra_cloak';
53
+ $link_track_me = 'prli_link_track_me';
54
+ $link_track_as_pixel = 'prli_link_track_as_pixel';
55
+ $link_nofollow = 'prli_link_nofollow';
56
+ $link_redirect_type = 'prli_link_redirect_type';
57
+
58
+
59
+ if(!isset($this->prettybar_show_title)) {
60
+ if($var = get_option( $prettybar_show_title )) {
61
+ $this->prettybar_show_title = $var;
62
+ delete_option( $prettybar_show_title );
63
+ }
64
+ else
65
+ $this->prettybar_show_title = '1';
66
+ }
67
+
68
+ if(!isset($this->prettybar_show_description)) {
69
+ if($var = get_option( $prettybar_show_description )) {
70
+ $this->prettybar_show_description = $var;
71
+ delete_option( $prettybar_show_description );
72
+ }
73
+ else
74
+ $this->prettybar_show_description = '1';
75
+ }
76
+
77
+ if(!isset($this->prettybar_show_share_links)) {
78
+ if($var = get_option( $prettybar_show_share_links )) {
79
+ $this->prettybar_show_share_links = $var;
80
+ delete_option( $prettybar_show_share_links );
81
+ }
82
+ else
83
+ $this->prettybar_show_share_links = '1';
84
+ }
85
+
86
+ if(!isset($this->prettybar_show_target_url_link)) {
87
+ if($var = get_option( $prettybar_show_target_url_link )) {
88
+ $this->prettybar_show_target_url_link = $var;
89
+ delete_option( $prettybar_show_target_url_link );
90
+ }
91
+ else
92
+ $this->prettybar_show_target_url_link = '1';
93
+ }
94
+
95
+ if(!isset($this->link_track_me)) {
96
+ if($var = get_option( $link_track_me )) {
97
+ $this->link_track_me = $var;
98
+ delete_option( $link_track_me );
99
+ }
100
+ else
101
+ $this->link_track_me = '1';
102
+ }
103
+
104
+ if(!isset($this->link_nofollow)) {
105
+ if($var = get_option( $link_nofollow )) {
106
+ $this->link_nofollow = $var;
107
+ delete_option( $link_nofollow );
108
+ }
109
+ else
110
+ $this->link_nofollow = '0';
111
+ }
112
+
113
+ if(!isset($this->link_redirect_type)) {
114
+ if($var = get_option( $link_track_as_pixel )) {
115
+ $this->link_redirect_type = 'pixel';
116
+ delete_option( $link_show_prettybar );
117
+ delete_option( $link_ultra_cloak );
118
+ delete_option( $link_track_as_pixel );
119
+ delete_option( $link_redirect_type );
120
+ }
121
+ if($var = get_option( $link_show_prettybar )) {
122
+ $this->link_redirect_type = 'prettybar';
123
+ delete_option( $link_show_prettybar );
124
+ delete_option( $link_ultra_cloak );
125
+ delete_option( $link_track_as_pixel );
126
+ delete_option( $link_redirect_type );
127
+ }
128
+ if($var = get_option( $link_ultra_cloak )) {
129
+ $this->link_redirect_type = 'cloak';
130
+ delete_option( $link_show_prettybar );
131
+ delete_option( $link_ultra_cloak );
132
+ delete_option( $link_track_as_pixel );
133
+ delete_option( $link_redirect_type );
134
+ }
135
+ if($var = get_option( $link_redirect_type )) {
136
+ $this->link_redirect_type = $var;
137
+ delete_option( $link_show_prettybar );
138
+ delete_option( $link_ultra_cloak );
139
+ delete_option( $link_track_as_pixel );
140
+ delete_option( $link_redirect_type );
141
+ }
142
+ else
143
+ $this->link_redirect_type = '307';
144
+ }
145
+
146
+ if(!isset($this->prli_exclude_ips))
147
+ {
148
+ if($var = get_option( $prli_exclude_ips )) {
149
+ $this->prli_exclude_ips = $var;
150
+ delete_option( $prli_exclude_ips );
151
+ }
152
+ else
153
+ $this->prli_exclude_ips = '';
154
+ }
155
+
156
+ if(!isset($this->prettybar_image_url))
157
+ {
158
+ if($var = get_option( $prettybar_image_url )) {
159
+ $this->prettybar_image_url = $var;
160
+ delete_option( $prettybar_image_url );
161
+ }
162
+ else
163
+ $this->prettybar_image_url = PRLI_URL . '/images/pretty-link-48x48.png';
164
+ }
165
+
166
+ if(!isset($this->prettybar_background_image_url))
167
+ {
168
+ if($var = get_option( $prettybar_background_image_url )) {
169
+ $this->prettybar_background_image_url = $var;
170
+ delete_option( $prettybar_background_image_url );
171
+ }
172
+ else
173
+ $this->prettybar_background_image_url = PRLI_URL . '/images/bar_background.png';
174
+ }
175
+
176
+ if(!isset($this->prettybar_color))
177
+ {
178
+ if($var = get_option( $prettybar_color )) {
179
+ $this->prettybar_color = $var;
180
+ delete_option( $prettybar_color );
181
+ }
182
+ else
183
+ $this->prettybar_color = '';
184
+ }
185
+
186
+ if(!isset($this->prettybar_text_color))
187
+ {
188
+ if($var = get_option( $prettybar_text_color )) {
189
+ $this->prettybar_text_color = $var;
190
+ delete_option( $prettybar_text_color );
191
+ }
192
+ else
193
+ $this->prettybar_text_color = '000000';
194
+ }
195
+
196
+ if(!isset($this->prettybar_link_color))
197
+ {
198
+ if($var = get_option( $prettybar_link_color )) {
199
+ $this->prettybar_link_color = $var;
200
+ delete_option( $prettybar_link_color );
201
+ }
202
+ else
203
+ $this->prettybar_link_color = '0000ee';
204
+ }
205
+
206
+ if(!isset($this->prettybar_hover_color))
207
+ {
208
+ if($var = get_option( $prettybar_hover_color )) {
209
+ $this->prettybar_hover_color = $var;
210
+ delete_option( $prettybar_hover_color );
211
+ }
212
+ else
213
+ $this->prettybar_hover_color = 'ababab';
214
+ }
215
+
216
+ if(!isset($this->prettybar_visited_color))
217
+ {
218
+ if($var = get_option( $prettybar_visited_color )) {
219
+ $this->prettybar_visited_color = $var;
220
+ delete_option( $prettybar_visited_color );
221
+ }
222
+ else
223
+ $this->prettybar_visited_color = '551a8b';
224
+ }
225
+
226
+ if(!isset($this->prettybar_title_limit))
227
+ {
228
+ if($var = get_option( $prettybar_title_limit )) {
229
+ $this->prettybar_title_limit = $var;
230
+ delete_option( $prettybar_title_limit );
231
+ }
232
+ else
233
+ $this->prettybar_title_limit = '25';
234
+ }
235
+
236
+ if(!isset($this->prettybar_desc_limit))
237
+ {
238
+ if($var = get_option( $prettybar_desc_limit )) {
239
+ $this->prettybar_desc_limit = $var;
240
+ delete_option( $prettybar_desc_limit );
241
+ }
242
+ else
243
+ $this->prettybar_desc_limit = '30';
244
+ }
245
+
246
+ if(!isset($this->prettybar_link_limit))
247
+ {
248
+ if($var = get_option( $prettybar_link_limit )) {
249
+ $this->prettybar_link_limit = $var;
250
+ delete_option( $prettybar_link_limit );
251
+ }
252
+ else
253
+ $this->prettybar_link_limit = '30';
254
+ }
255
+
256
+ if(!isset($this->bookmarklet_auth))
257
+ $this->bookmarklet_auth = md5(get_option('auth_salt') . time());
258
+
259
+ if(!isset($this->whitelist_ips))
260
+ $this->whitelist_ips = '';
261
+
262
+ if(!isset($this->filter_robots))
263
+ $this->filter_robots = 0;
264
+ }
265
+ }
266
+ ?>
classes/models/PrliUrlUtils.php ADDED
@@ -0,0 +1,128 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class PrliUrlUtils {
3
+
4
+ function get_title($url, $slug='')
5
+ {
6
+ // Grab the title tag
7
+ $title = $this->url_grab_title($url);
8
+
9
+ if(!$title)
10
+ return $slug;
11
+
12
+ return $title;
13
+ }
14
+
15
+ /*
16
+ Go out to the web and see if the url resolves
17
+ */
18
+ function valid_url($url)
19
+ {
20
+ $valid = false;
21
+
22
+ $remote_page = $this->read_remote_file($url,1);
23
+ if($remote_page and !empty($remote_page))
24
+ $valid = true;
25
+
26
+ return $valid;
27
+ }
28
+
29
+ function url_grab_title($url)
30
+ {
31
+ $title = false;
32
+
33
+ $remote_page = $this->read_remote_file($url,10);
34
+
35
+ // Look for <title>(.*?)</title> in the text
36
+ if($remote_page and preg_match('#<title>[\s\n\r]*?(.*?)[\s\n\r]*?</title>#im', $remote_page, $matches))
37
+ $title = trim($matches[1]);
38
+
39
+ return $title;
40
+ }
41
+
42
+ /**
43
+ * Sends http request ensuring the request will fail before $timeout seconds
44
+ * gotta use a socket connection because some hosting setups don't allow fopen.
45
+ * Supports SSL sites as well as 301, 302 & 307 redirects
46
+ * Returns the response content (no header, trimmed)
47
+ * @param string $url
48
+ * @param string $num_chunks Set to 0 if you want to read the full file
49
+ * @param string $chunk_size In bytes
50
+ * @param int $timeout
51
+ * @return string|false false if request failed
52
+ */
53
+ function read_remote_file($url, $num_chunks=0, $headers='', $params='', $chunk_size=1024, $timeout=30 )
54
+ {
55
+ $purl = @parse_url($url);
56
+
57
+ $sock_host = $purl['host'];
58
+ $sock_port = 80;
59
+ $sock_scheme = $purl['scheme'];
60
+
61
+ $req_host = $purl['host'];
62
+ $req_path = $purl['path'];
63
+
64
+ if(empty($req_path))
65
+ $req_path = "/";
66
+
67
+ if($sock_scheme == 'https')
68
+ {
69
+ $sock_port = 443;
70
+ $sock_host = "ssl://{$sock_host}";
71
+ }
72
+
73
+ $fp = fsockopen($sock_host, $sock_port, $errno, $errstr, $timeout);
74
+ $contents = '';
75
+ $header = '';
76
+
77
+ if (!$fp)
78
+ return false;
79
+ else
80
+ {
81
+ // Send get request
82
+ $request = "GET {$req_path}{$params} HTTP/1.1\r\n";
83
+ $request .= "Host: {$req_host}\r\n";
84
+ $request .= $headers;
85
+ $request .= "Connection: Close\r\n\r\n";
86
+ fwrite($fp, $request);
87
+
88
+ // Read response
89
+ $head_end_found = false;
90
+ $buffer = '';
91
+ for($i = 0; !feof($fp); $i++)
92
+ {
93
+ if($num_chunks > 0 and $i >= $num_chunks)
94
+ break;
95
+
96
+ $out = fread($fp,$chunk_size);
97
+ if($head_end_found)
98
+ $contents .= $out;
99
+ else
100
+ {
101
+ $buffer .= $out;
102
+ $head_end = strpos($buffer, "\r\n\r\n");
103
+ if($head_end !== false)
104
+ {
105
+ $head_end_found = true;
106
+ $contents .= substr($buffer, ($head_end + 4));
107
+ $header .= substr($buffer, 0, $head_end);
108
+ // Follow HTTP redirects
109
+ if(preg_match("#http/1\.1 301#i",$header) or
110
+ preg_match("#http/1\.1 302#i",$header) or
111
+ preg_match("#http/1\.1 307#i",$header))
112
+ {
113
+ preg_match("#^Location:(.*?)$#im",$header,$matches);
114
+ return $this->read_remote_file(trim($matches[1]));
115
+ }
116
+ }
117
+ }
118
+ }
119
+ fclose($fp);
120
+ }
121
+
122
+ if(empty($contents))
123
+ return false;
124
+ else
125
+ return trim($contents);
126
+ }
127
+ }
128
+ ?>
classes/models/PrliUtils.php ADDED
@@ -0,0 +1,1124 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ require_once('models.inc.php');
3
+
4
+ class PrliUtils
5
+ {
6
+ /** Okay I realize that Percentagize isn't really a word but
7
+ * this is so that the values we have will work with google
8
+ * charts.
9
+ */
10
+ function percentagizeArray($data,$max_value)
11
+ {
12
+ $new_data = array();
13
+ foreach($data as $point)
14
+ {
15
+ if( $max_value > 0 )
16
+ {
17
+ $new_data[] = $point / $max_value * 100;
18
+ }
19
+ else
20
+ {
21
+ $new_data[] = 0;
22
+ }
23
+ }
24
+ return $new_data;
25
+ }
26
+
27
+ function getTopValue($values_array)
28
+ {
29
+ rsort($values_array);
30
+ return $values_array[0];
31
+ }
32
+
33
+ function getFirstClickDate()
34
+ {
35
+ global $wpdb;
36
+
37
+ $clicks_table = $wpdb->prefix . "prli_clicks";
38
+ $query = "SELECT created_at FROM $clicks_table ORDER BY created_at LIMIT 1";
39
+ $first_click = $wpdb->get_var($query);
40
+
41
+ if(isset($first_click))
42
+ {
43
+ return strtotime($first_click);
44
+ }
45
+ else
46
+ return null;
47
+ }
48
+
49
+ function getMonthsArray()
50
+ {
51
+ global $wpdb;
52
+ global $prli_click;
53
+
54
+ $months = array();
55
+ $year = date("Y");
56
+ $month = date("m");
57
+ $current_timestamp = time();
58
+ $current_month_timestamp = mktime(0, 0, 0, date("m", $current_timestamp), 1, date("Y", $current_timestamp));
59
+
60
+ $clicks_table = $prli_click->tableName();
61
+ $first_click = $wpdb->get_var("SELECT created_at FROM $clicks_table ORDER BY created_at LIMIT 1;");
62
+ $first_timestamp = ((empty($first_click))?$current_timestamp:strtotime($first_click));
63
+ $first_date = mktime(0, 0, 0, date("m", $first_timestamp), 1, date("Y", $first_timestamp));
64
+
65
+ while($current_month_timestamp >= $first_date)
66
+ {
67
+ $months[] = $current_month_timestamp;
68
+ if(date("m") == 1)
69
+ $current_month_timestamp = mktime(0, 0, 0, 12, 1, date("Y", $current_month_timestamp)-1);
70
+ else
71
+ $current_month_timestamp = mktime(0, 0, 0, date("m", $current_month_timestamp)-1, 1, date("Y", $current_month_timestamp));
72
+ }
73
+ return $months;
74
+ }
75
+
76
+ // For Pagination
77
+ function getLastRecordNum($r_count,$current_p,$p_size)
78
+ {
79
+ return (($r_count < ($current_p * $p_size))?$r_count:($current_p * $p_size));
80
+ }
81
+
82
+ // For Pagination
83
+ function getFirstRecordNum($r_count,$current_p,$p_size)
84
+ {
85
+ if($current_p == 1)
86
+ return 1;
87
+ else
88
+ return ($this->getLastRecordNum($r_count,($current_p - 1),$p_size) + 1);
89
+ }
90
+
91
+ function slugIsAvailable( $full_slug, $id = '' )
92
+ {
93
+ global $wpdb, $prli_blogurl, $prli_link;
94
+
95
+ // We don't care about anything after the slash for now because we don't want
96
+ // to have to worry about comparing against every imaginable combination in WordPress
97
+ $slug_components = explode('/',$full_slug);
98
+ $slug = $slug_components[0];
99
+
100
+ // Check slug uniqueness against posts, pages and categories
101
+ $posts_table = $wpdb->prefix . "posts";
102
+ $terms_table = $wpdb->prefix . "terms";
103
+
104
+ $post_slug = $wpdb->get_var("SELECT post_name FROM $posts_table WHERE post_name='$slug'");
105
+ $term_slug = $wpdb->get_col("SELECT slug FROM $terms_table WHERE slug='$slug'");
106
+
107
+ if( $post_slug == $slug or $term_slug == $slug )
108
+ return false;
109
+
110
+ // Check slug against files on the root wordpress install
111
+ $root_dir = opendir(ABSPATH);
112
+
113
+ while (($file = readdir($root_dir)) !== false) {
114
+ $haystack = strtolower($file);
115
+ if($haystack == $slug)
116
+ return false;
117
+ }
118
+
119
+ // Check slug against other slugs in the prli links database.
120
+ // We'll use the full_slug here because its easier to guarantee uniqueness.
121
+ if($id != null and $id != '')
122
+ $query = "SELECT slug FROM " . $prli_link->table_name . " WHERE slug='" . $full_slug . "' AND id <> " . $id;
123
+ else
124
+ $query = "SELECT slug FROM " . $prli_link->table_name . " WHERE slug='" . $full_slug . "'";
125
+
126
+ $link_slug = $wpdb->get_var($query);
127
+
128
+ if( $link_slug == $full_slug )
129
+ return false;
130
+
131
+ // TODO: Check permalink structure to avoid the ability of creating a year or something as a slug
132
+
133
+ return true;
134
+ }
135
+
136
+ function php_get_browsercap_ini()
137
+ {
138
+ return parse_ini_file(PRLI_PATH."/includes/php/php_browsecap.ini",true);
139
+ }
140
+
141
+ /* Needed because we don't know if the target uesr will have a browsercap file installed
142
+ on their server ... particularly in a shared hosting environment this is difficult
143
+ */
144
+ function php_get_browser($agent = NULL, $brows = NULL)
145
+ {
146
+ $agent=$agent?$agent:$_SERVER['HTTP_USER_AGENT'];
147
+ $yu=array();
148
+ $q_s=array("#\.#","#\*#","#\?#");
149
+ $q_r=array("\.",".*",".?");
150
+ if($brows==NULL)
151
+ $brows = $this->php_get_browsercap_ini();
152
+
153
+ foreach($brows as $k=>$t)
154
+ {
155
+ if(fnmatch($k,$agent))
156
+ {
157
+ $yu['browser_name_pattern']=$k;
158
+ $pat=preg_replace($q_s,$q_r,$k);
159
+ $yu['browser_name_regex']=strtolower("^$pat$");
160
+ foreach($brows as $g=>$r)
161
+ {
162
+ if($t['Parent']==$g)
163
+ {
164
+ foreach($brows as $a=>$b)
165
+ {
166
+ if($r['Parent']==$a)
167
+ {
168
+ $yu=array_merge($yu,$b,$r,$t);
169
+ foreach($yu as $d=>$z)
170
+ {
171
+ $l=strtolower($d);
172
+ $hu[$l]=$z;
173
+ }
174
+ }
175
+ }
176
+ }
177
+ }
178
+
179
+ break;
180
+ }
181
+ }
182
+
183
+ return $hu;
184
+ }
185
+
186
+ // This is where the magic happens!
187
+ function track_link($slug,$values)
188
+ {
189
+ global $wpdb, $prli_click, $prli_link;
190
+
191
+ $query = "SELECT * FROM ".$prli_link->table_name." WHERE slug='$slug' LIMIT 1";
192
+ $pretty_link = $wpdb->get_row($query);
193
+ $pretty_link_target = apply_filters('prli_target_url',array('url' => $pretty_link->url, 'link_id' => $pretty_link->id));
194
+ $pretty_link_url = $pretty_link_target['url'];
195
+
196
+ if(isset($pretty_link->track_me) and $pretty_link->track_me)
197
+ {
198
+ $first_click = 0;
199
+
200
+ $click_ip = $_SERVER['REMOTE_ADDR'];
201
+ $click_referer = $_SERVER['HTTP_REFERER'];
202
+ $click_host = gethostbyaddr($click_ip);
203
+
204
+ $click_uri = $_SERVER['REQUEST_URI'];
205
+ $click_user_agent = $_SERVER['HTTP_USER_AGENT'];
206
+ $click_browser = $this->php_get_browser();
207
+
208
+ //Set Cookie if it doesn't exist
209
+ $cookie_name = 'prli_click_' . $pretty_link->id;
210
+ //Used for unique click tracking
211
+ $cookie_expire_time = time()+60*60*24*30; // Expire in 30 days
212
+
213
+ $visitor_cookie = 'prli_visitor';
214
+ //Used for visitor activity
215
+ $visitor_cookie_expire_time = time()+60*60*24*365; // Expire in 1 year
216
+
217
+
218
+ if($_COOKIE[$cookie_name] == null)
219
+ {
220
+ setcookie($cookie_name,$slug,$cookie_expire_time,'/');
221
+ $first_click = 1;
222
+ }
223
+
224
+ // Retrieve / Generate visitor id
225
+ if($_COOKIE[$visitor_cookie] == null)
226
+ {
227
+ $visitor_uid = $prli_click->generateUniqueVisitorId();
228
+ setcookie($visitor_cookie,$visitor_uid,$visitor_cookie_expire_time,'/');
229
+ }
230
+ else
231
+ $visitor_uid = $_COOKIE[$visitor_cookie];
232
+
233
+ //Record Click in DB
234
+ $insert_str = "INSERT INTO {$prli_click->table_name} (link_id,vuid,ip,browser,btype,bversion,os,referer,uri,host,first_click,robot,created_at) VALUES (%d,%s,%s,%s,%s,%s,%s,%s,%s,%s,%d,%d,NOW())";
235
+ $insert = $wpdb->prepare($insert_str, $pretty_link->id,
236
+ $visitor_uid,
237
+ $click_ip,
238
+ $click_user_agent,
239
+ $click_browser['browser'],
240
+ $click_browser['version'],
241
+ $click_browser['platform'],
242
+ $click_referer,
243
+ $click_uri,
244
+ $click_host,
245
+ $first_click,
246
+ $this->this_is_a_robot($click_user_agent,$click_browser['browser']));
247
+
248
+ $results = $wpdb->query( $insert );
249
+
250
+ do_action('prli_record_click',array('link_id' => $pretty_link->id, 'click_id' => $wpdb->insert_id, 'url' => $pretty_link_url));
251
+ }
252
+
253
+ // Reformat Parameters
254
+ $param_string = '';
255
+
256
+ if(isset($pretty_link->param_forwarding) and ($pretty_link->param_forwarding == 'custom' OR $pretty_link->param_forwarding == 'on') and isset($values) and count($values) >= 1)
257
+ {
258
+ $first_param = true;
259
+ foreach($values as $key => $value)
260
+ {
261
+ if($first_param)
262
+ {
263
+ $param_string = (preg_match("#\?#", $pretty_link_url)?"&":"?");
264
+ $first_param = false;
265
+ }
266
+ else
267
+ $param_string .= "&";
268
+
269
+ $param_string .= "$key=$value";
270
+ }
271
+ }
272
+
273
+ if(isset($pretty_link->nofollow) and $pretty_link->nofollow)
274
+ header("X-Robots-Tag: noindex, nofollow", true);
275
+
276
+ switch($pretty_link->redirect_type)
277
+ {
278
+ case 'pixel':
279
+ header("HTTP/1.1 200 OK");
280
+ break;
281
+ case 'prettybar':
282
+ global $prli_blogurl;
283
+ header("HTTP/1.1 200 OK");
284
+ require_once PRLI_VIEWS_PATH . '/prli-links/bar.php';
285
+ break;
286
+ case 'cloak':
287
+ header("HTTP/1.1 200 OK");
288
+ require_once PRLI_VIEWS_PATH . '/prli-links/ultra-cloak.php';
289
+ break;
290
+ case '301':
291
+ header("HTTP/1.1 301 Moved Permanently");
292
+ header('Location: '.$pretty_link_url.$param_string);
293
+ break;
294
+ default:
295
+ if($_SERVER['SERVER_PROTOCOL'] == 'HTTP/1.0')
296
+ header("HTTP/1.1 302 Found");
297
+ else
298
+ header("HTTP/1.1 307 Temporary Redirect");
299
+ header('Location: '.$pretty_link_url.$param_string);
300
+ }
301
+ }
302
+
303
+ function get_custom_forwarding_rule($param_struct)
304
+ {
305
+ $param_struct = preg_replace('#%.*?%#','(.*?)',$param_struct);
306
+ return preg_replace('#\(\.\*\?\)$#','(.*)',$param_struct); // replace the last one with a greedy operator
307
+ }
308
+
309
+ function get_custom_forwarding_params($param_struct, $start_index = 1)
310
+ {
311
+ preg_match_all('#%(.*?)%#', $param_struct, $matches);
312
+
313
+ $param_string = '';
314
+ $match_index = $start_index;
315
+ for($i = 0; $i < count($matches[1]); $i++)
316
+ {
317
+ if($i == 0 and $start_index == 1)
318
+ $param_string .= "?";
319
+ else
320
+ $param_string .= "&";
321
+
322
+ $param_string .= $matches[1][$i] . "=$$match_index";
323
+ $match_index++;
324
+ }
325
+
326
+ return $param_string;
327
+ }
328
+
329
+ function decode_custom_param_str($param_struct, $uri_string)
330
+ {
331
+ // Get the structure matches (param names)
332
+ preg_match_all('#%(.*?)%#', $param_struct, $struct_matches);
333
+
334
+ // Get the uri matches (param values)
335
+ $match_str = '#'.$this->get_custom_forwarding_rule($param_struct).'#';
336
+ preg_match($match_str, $uri_string, $uri_matches);
337
+
338
+ $param_array = array();
339
+ for($i = 0; $i < count($struct_matches[1]); $i++)
340
+ $param_array[$struct_matches[1][$i]] = $uri_matches[$i+1];
341
+
342
+ return $param_array;
343
+ }
344
+
345
+ // Detects whether an array is a true numerical array or an
346
+ // associative array (or hash).
347
+ function prli_array_type($item)
348
+ {
349
+ $array_type = 'unknown';
350
+
351
+ if(is_array($item))
352
+ {
353
+ $array_type = 'array';
354
+
355
+ foreach($item as $key => $value)
356
+ {
357
+ if(!is_numeric($key))
358
+ {
359
+ $array_type = 'hash';
360
+ break;
361
+ }
362
+ }
363
+ }
364
+
365
+ return $array_type;
366
+ }
367
+
368
+ // This eliminates the need to use php's built in json_encoder
369
+ // which only works with PHP 5.2 and above.
370
+ function prli_json_encode($json_array)
371
+ {
372
+ $json_str = '';
373
+
374
+ if(is_array($json_array))
375
+ {
376
+ if($this->prli_array_type($json_array) == 'array')
377
+ {
378
+ $first = true;
379
+ $json_str .= "[";
380
+ foreach($json_array as $item)
381
+ {
382
+ if(!$first)
383
+ $json_str .= ",";
384
+
385
+ if(is_numeric($item))
386
+ $json_str .= (($item < 0)?"\"$item\"":$item);
387
+ else if(is_array($item))
388
+ $json_str .= $this->prli_json_encode($item);
389
+ else if(is_string($item))
390
+ $json_str .= '"'.$item.'"';
391
+ else if(is_bool($item))
392
+ $json_str .= (($item)?"true":"false");
393
+
394
+ $first = false;
395
+ }
396
+ $json_str .= "]";
397
+ }
398
+ else if($this->prli_array_type($json_array) == 'hash')
399
+ {
400
+ $first = true;
401
+ $json_str .= "{";
402
+ foreach($json_array as $key => $item)
403
+ {
404
+ if(!$first)
405
+ $json_str .= ",";
406
+
407
+ $json_str .= "\"$key\":";
408
+
409
+ if(is_numeric($item))
410
+ $json_str .= (($item < 0)?"\"$item\"":$item);
411
+ else if(is_array($item))
412
+ $json_str .= $this->prli_json_encode($item);
413
+ else if(is_string($item))
414
+ $json_str .= "\"$item\"";
415
+ else if(is_bool($item))
416
+ $json_str .= (($item)?"true":"false");
417
+
418
+ $first = false;
419
+ }
420
+ $json_str .= "}";
421
+ }
422
+ }
423
+
424
+ return $json_str;
425
+ }
426
+
427
+ // This eliminates the need to use php's built in json_encoder
428
+ // which only works with PHP 5.2 and above.
429
+ function prli_json_decode(&$json_str,$type='array',$index = 0)
430
+ {
431
+ $json_array = array();
432
+ $index_str = '';
433
+ $value_str = '';
434
+ $in_string = false;
435
+ $in_index = ($type=='hash'); //first char in hash is an index
436
+ $in_value = ($type=='array'); //first char in array is a value
437
+
438
+ $json_special_chars_array = array('{','[','}',']','"',',',':');
439
+
440
+ // On the first pass we need to do some special stuff
441
+ if($index == 0)
442
+ {
443
+ if($json_str[$index] == '{')
444
+ {
445
+ $type = 'hash';
446
+ $in_index = true;
447
+ $in_value = false;
448
+ }
449
+ else if($json_str[$index]=='[')
450
+ {
451
+ $type = 'array';
452
+ $in_index = false;
453
+ $in_value = true;
454
+ }
455
+ else
456
+ return false; // not valid json
457
+
458
+ // skip to next index
459
+ $index++;
460
+ }
461
+
462
+ for($i = $index; $i < strlen($json_str); $i++)
463
+ {
464
+ if($in_string and in_array($json_str[$i],$json_special_chars_array))
465
+ {
466
+ if($json_str[$i] == '"')
467
+ $in_string = false;
468
+ else
469
+ {
470
+ if($in_value)
471
+ $value_str .= $json_str[$i];
472
+ else if($in_index)
473
+ $index_str .= $json_str[$i];
474
+ }
475
+ }
476
+ else
477
+ {
478
+ switch($json_str[$i])
479
+ {
480
+ case '{':
481
+ $array_vals = $this->prli_json_decode($json_str,'hash',$i + 1);
482
+
483
+ if($type=='hash')
484
+ $json_array[$index_str] = $array_vals[1]; // We'll never get an array as an index
485
+ else if($type=='array')
486
+ $json_array[] = $array_vals[1];
487
+
488
+ $i = $array_vals[0]; // Skip ahead to the new index
489
+ break;
490
+
491
+ case '[':
492
+ $array_vals = $this->prli_json_decode($json_str,'array',$i + 1);
493
+
494
+ if($type=='hash')
495
+ $json_array[$index_str] = $array_vals[1];
496
+ else if($type=='array')
497
+ $json_array[] = $array_vals[1];
498
+
499
+ $i = $array_vals[0]; // Skip ahead to the new index
500
+ break;
501
+
502
+ case '}':
503
+ if(!empty($index_str) and !empty($value_str))
504
+ {
505
+ $json_array[$index_str] = $this->prli_decode_json_unicode($value_str);
506
+ $index_str = '';
507
+ $value_str = '';
508
+ }
509
+ return array($i,$json_array);
510
+
511
+ case ']':
512
+ if(!empty($value_str))
513
+ {
514
+ $json_array[] = $this->prli_decode_json_unicode($value_str);
515
+ $value_str = '';
516
+ }
517
+ return array($i,$json_array);
518
+
519
+ // skip the null character
520
+ case '\0':
521
+ break;
522
+
523
+ // Handle Escapes
524
+ case '\\':
525
+ if($in_string)
526
+ {
527
+ if(in_array($json_str[$i + 1],$json_special_chars_array))
528
+ {
529
+ if($in_value)
530
+ $value_str .= '\\'.$json_str[$i + 1];
531
+ else if($in_index)
532
+ $index_str .= '\\'.$json_str[$i + 1];
533
+
534
+ $i++; // skip the escaped char now that its been recorded
535
+ }
536
+ else
537
+ {
538
+ if($in_value)
539
+ $value_str .= $json_str[$i];
540
+ else if($in_index)
541
+ $index_str .= $json_str[$i];
542
+ }
543
+ }
544
+ break;
545
+
546
+ case '"':
547
+ $in_string = !$in_string; // just tells us if we're in a string
548
+ break;
549
+
550
+ case ':':
551
+ if($type == 'hash')
552
+ {
553
+ $in_value = true;
554
+ $in_index = false;
555
+ }
556
+ break;
557
+
558
+ case ',':
559
+ if($type == 'hash')
560
+ {
561
+ if(!empty($index_str) and !empty($value_str))
562
+ {
563
+ $json_array[$index_str] = $this->prli_decode_json_unicode($value_str);
564
+ $index_str = '';
565
+ $value_str = '';
566
+ }
567
+
568
+ $in_index = true;
569
+ $in_value = false;
570
+ }
571
+ else if($type == 'array')
572
+ {
573
+ if(!empty($value_str))
574
+ {
575
+ $json_array[] = $this->prli_decode_json_unicode($value_str);
576
+ $value_str = '';
577
+ }
578
+
579
+ $in_value = true;
580
+ $in_index = false; // always false in an array
581
+ }
582
+ break;
583
+
584
+ // record index and value
585
+ default:
586
+ if($in_value)
587
+ $value_str .= $json_str[$i];
588
+ else if($in_index)
589
+ $index_str .= $json_str[$i];
590
+ }
591
+ }
592
+ }
593
+
594
+ return array(-1,$json_array);
595
+ }
596
+
597
+ function prli_decode_json_unicode($val)
598
+ {
599
+ $val = preg_replace_callback("/\\\u([0-9a-fA-F]{4})/",
600
+ create_function(
601
+ '$matches',
602
+ 'return html_entity_decode("&#".hexdec($matches[1]).";",ENT_COMPAT,"UTF-8");'
603
+ ),
604
+ $val);
605
+ return $val;
606
+ }
607
+
608
+ // Get the timestamp of the start date
609
+ function get_start_date($values,$min_date = '')
610
+ {
611
+ // set default to 30 days ago
612
+ if(empty($min_date))
613
+ $min_date = 30;
614
+
615
+ if(!empty($values['sdate']))
616
+ {
617
+ $sdate = explode("-",$values['sdate']);
618
+ $start_timestamp = mktime(0,0,0,$sdate[1],$sdate[2],$sdate[0]);
619
+ }
620
+ else
621
+ $start_timestamp = time()-60*60*24*(int)$min_date;
622
+
623
+ return $start_timestamp;
624
+ }
625
+
626
+ // Get the timestamp of the end date
627
+ function get_end_date($values)
628
+ {
629
+ if(!empty($values['edate']))
630
+ {
631
+ $edate = explode("-",$values['edate']);
632
+ $end_timestamp = mktime(0,0,0,$edate[1],$edate[2],$edate[0]);
633
+ }
634
+ else
635
+ $end_timestamp = time();
636
+
637
+ return $end_timestamp;
638
+ }
639
+
640
+ function prepend_and_or_where( $starts_with = ' WHERE', $where = '' )
641
+ {
642
+ return (( $where == '' )?'':$starts_with . $where);
643
+ }
644
+
645
+ // Determines whether or not Pretty Link Pro is installed and activated
646
+ function pro_is_installed()
647
+ {
648
+ $activated = get_option('prlipro_activated');
649
+
650
+ if(!$activated)
651
+ {
652
+ $username = get_option( 'prlipro_username' );
653
+ $password = get_option( 'prlipro_password' );
654
+
655
+ if($username and $password)
656
+ {
657
+ $user_type = $this->get_pro_user_type($username, $password);
658
+
659
+ if(!empty($user_type))
660
+ {
661
+ // Tells us that Pro has been activated
662
+ delete_option('prlipro_activated');
663
+ add_option('prlipro_activated',1);
664
+
665
+ $activated = true;
666
+ }
667
+ }
668
+ }
669
+
670
+
671
+ return ( $activated and $this->pro_files_installed() );
672
+ }
673
+
674
+ function pro_files_installed()
675
+ {
676
+ return file_exists(PRLI_PATH . "/pro/pretty-link-pro.php");
677
+ }
678
+
679
+ function get_pro_version()
680
+ {
681
+ if($this->pro_is_installed())
682
+ {
683
+ require_once(PRLI_PATH . "/pro/prlipro-config.php");
684
+ global $prlipro_version;
685
+
686
+ return $prlipro_version;
687
+ }
688
+ else
689
+ return 0;
690
+ }
691
+
692
+ function get_pro_user_type($username, $password)
693
+ {
694
+ include_once(ABSPATH."wp-includes/class-IXR.php");
695
+
696
+ $client = new IXR_Client('http://prettylinkpro.com/xmlrpc.php');
697
+
698
+ if (!$client->query('prlipro.get_user_type',$username,$password))
699
+ return false;
700
+
701
+ $type = $client->getResponse();
702
+
703
+ return $type;
704
+ }
705
+
706
+ function download_and_install_pro($username, $password, $force = false)
707
+ {
708
+ global $prli_version, $wpdb;
709
+
710
+ include_once(ABSPATH."wp-includes/class-IXR.php");
711
+
712
+ $client = new IXR_Client('http://prettylinkpro.com/xmlrpc.php');
713
+ $user_type = $this->get_pro_user_type($username, $password);
714
+
715
+ if(!empty($user_type))
716
+ {
717
+ if($force or !$this->pro_files_installed())
718
+ {
719
+ // Test to make sure this sheesh is writeable
720
+ $handle = fopen(PRLI_PATH . '/098j1248iomv.txt', 'w');
721
+ if(!$handle)
722
+ {
723
+ return "Your account was validated but " . PRLI_PATH . " is not writeable<br/>Talk to your webhost about increasing your write permissions or install using the <a href=\"http://prettylinkpro.com/user-manual/pretty-link-pro-manual-installation/\">Manual Install</a> Process";
724
+ }
725
+ else
726
+ {
727
+ fclose($handle);
728
+ unlink(PRLI_PATH . '/098j1248iomv.txt');
729
+ }
730
+
731
+ // Get the file
732
+ if (!$client->query('prlipro.download_upgrade_file',$username,$password,$prli_version))
733
+ return $client->getErrorCode() . ": " . $client->getErrorMessage();
734
+
735
+ $zipfile_str = $client->getResponse();
736
+
737
+ $zipfilename = PRLI_PATH . "/pretty-link-pro-{$prli_version}.zip";
738
+
739
+ // Write the transferred string out as a file
740
+ $fh = fopen($zipfilename, 'w');
741
+ fwrite($fh, $zipfile_str);
742
+ fclose($fh);
743
+
744
+ // Unzip the file
745
+ include_once(ABSPATH.'wp-admin/includes/class-pclzip.php');
746
+ $prlipro_path = PRLI_PATH . '/pro';
747
+
748
+ // unlink pro directory if force is set to true
749
+ if($force)
750
+ $this->delete_dir($prlipro_path);
751
+
752
+ $archive = new PclZip($zipfilename);
753
+ if( !($archive_files = $archive->extract( PCLZIP_OPT_PATH, PRLI_PATH ) ) )
754
+ return("Unzip Error : ".$archive->errorInfo(true));
755
+
756
+ // Unlink the zip file
757
+ unlink($zipfilename);
758
+ }
759
+
760
+ $this->install_pro_db();
761
+
762
+ // Delete all Pro Keyword Caches if they exist
763
+ $postmeta_table = "{$wpdb->prefix}postmeta";
764
+ $query = $wpdb->prepare("DELETE FROM {$postmeta_table} WHERE meta_key=%s", 'prli-keyword-cached-content');
765
+ $wpdb->query($query);
766
+
767
+ // Tells us that Pro has been activated
768
+ delete_option('prlipro_activated');
769
+ add_option('prlipro_activated',1);
770
+ }
771
+ else
772
+ return("Your Username and/or Password are not valid");
773
+
774
+ return 'SUCCESS';
775
+ }
776
+
777
+ function uninstall_pro()
778
+ {
779
+ $prlipro_path = PRLI_PATH . '/pro';
780
+
781
+ // unlink pro directory
782
+ $this->delete_dir($prlipro_path);
783
+
784
+ delete_option( 'prlipro_activated' );
785
+ delete_option( 'prlipro_username' );
786
+ delete_option( 'prlipro_password' );
787
+
788
+ // Yah- I just leave the pro database tables & data hanging
789
+ // around in case you want to re-install it at some point
790
+ }
791
+
792
+ function install_pro_db()
793
+ {
794
+ global $wpdb;
795
+
796
+ $pro_db_version = 1; // this is the version of the database we're moving to
797
+ $old_pro_db_version = get_option('prlipro_db_version');
798
+
799
+ if($pro_db_version != $old_pro_db_version)
800
+ {
801
+ $upgrade_path = ABSPATH . 'wp-admin/includes/upgrade.php';
802
+ require_once($upgrade_path);
803
+
804
+ // Pretty Link Pro Tables
805
+ $tweets_table = "{$wpdb->prefix}prli_tweets";
806
+ $keywords_table = "{$wpdb->prefix}prli_keywords";
807
+ $reports_table = "{$wpdb->prefix}prli_reports";
808
+ $report_links_table = "{$wpdb->prefix}prli_report_links";
809
+ $link_rotations_table = "{$wpdb->prefix}prli_link_rotations";
810
+ $clicks_rotations_table = "{$wpdb->prefix}prli_clicks_rotations";
811
+
812
+ $charset_collate = '';
813
+ if( $wpdb->has_cap( 'collation' ) )
814
+ {
815
+ if( !empty($wpdb->charset) )
816
+ $charset_collate = "DEFAULT CHARACTER SET $wpdb->charset";
817
+ if( !empty($wpdb->collate) )
818
+ $charset_collate .= " COLLATE $wpdb->collate";
819
+ }
820
+
821
+ /* Create/Upgrade Tweets Table */
822
+ $sql = "CREATE TABLE {$tweets_table} (
823
+ id int(11) NOT NULL auto_increment,
824
+ twid varchar(255) NOT NULL,
825
+ tw_text varchar(255) default NULL,
826
+ tw_to_user_id varchar(255) default NULL,
827
+ tw_from_user varchar(255) default NULL,
828
+ tw_from_user_id varchar(255) NOT NULL,
829
+ tw_iso_language_code varchar(255) default NULL,
830
+ tw_source varchar(255) default NULL,
831
+ tw_profile_image_url varchar(255) default NULL,
832
+ tw_created_at varchar(255) NOT NULL,
833
+ created_at datetime NOT NULL,
834
+ link_id int(11) default NULL,
835
+ PRIMARY KEY (id),
836
+ KEY link_id (link_id),
837
+ KEY twid (twid)
838
+ ) {$charset_collate};";
839
+
840
+ dbDelta($sql);
841
+
842
+ /* Create/Upgrade Keywords Table */
843
+ $sql = "CREATE TABLE {$keywords_table} (
844
+ id int(11) NOT NULL auto_increment,
845
+ text varchar(255) NOT NULL,
846
+ link_id int(11) NOT NULL,
847
+ created_at datetime NOT NULL,
848
+ PRIMARY KEY (id),
849
+ KEY link_id (link_id)
850
+ ) {$charset_collate};";
851
+
852
+ dbDelta($sql);
853
+
854
+ /* Create/Upgrade Reports Table */
855
+ $sql = "CREATE TABLE {$reports_table} (
856
+ id int(11) NOT NULL auto_increment,
857
+ name varchar(255) NOT NULL,
858
+ goal_link_id int(11) default NULL,
859
+ created_at datetime NOT NULL,
860
+ PRIMARY KEY (id),
861
+ KEY goal_link_id (goal_link_id)
862
+ ) {$charset_collate};";
863
+
864
+ dbDelta($sql);
865
+
866
+ /* Create/Upgrade Reports Table */
867
+ $sql = "CREATE TABLE {$report_links_table} (
868
+ id int(11) NOT NULL auto_increment,
869
+ report_id int(11) NOT NULL,
870
+ link_id int(11) NOT NULL,
871
+ created_at datetime NOT NULL,
872
+ PRIMARY KEY (id),
873
+ KEY report_id (report_id),
874
+ KEY link_id (link_id)
875
+ ) {$charset_collate};";
876
+
877
+ dbDelta($sql);
878
+
879
+ /* Create/Upgrade Link Rotations Table */
880
+ $sql = "CREATE TABLE {$link_rotations_table} (
881
+ id int(11) NOT NULL auto_increment,
882
+ url varchar(255) default NULL,
883
+ weight int(11) default 0,
884
+ r_index int(11) default 0,
885
+ link_id int(11) NOT NULL,
886
+ created_at datetime NOT NULL,
887
+ PRIMARY KEY (id),
888
+ KEY link_id (link_id)
889
+ ) {$charset_collate};";
890
+
891
+ dbDelta($sql);
892
+
893
+ /* Create/Upgrade Clicks / Rotations Table */
894
+ $sql = "CREATE TABLE {$clicks_rotations_table} (
895
+ id int(11) NOT NULL auto_increment,
896
+ click_id int(11) NOT NULL,
897
+ link_id int(11) NOT NULL,
898
+ url text NOT NULL,
899
+ PRIMARY KEY (id),
900
+ KEY click_id (click_id),
901
+ KEY link_id (link_id)
902
+ ) {$charset_collate};";
903
+
904
+ dbDelta($sql);
905
+ }
906
+
907
+ /***** SAVE DB VERSION *****/
908
+ delete_option('prlipro_db_version');
909
+ add_option('prlipro_db_version',$pro_db_version);
910
+ }
911
+
912
+ // be careful with this one -- I use it to forceably reinstall pretty link pro
913
+ function delete_dir($dir)
914
+ {
915
+ if (!file_exists($dir))
916
+ return true;
917
+
918
+ if (!is_dir($dir))
919
+ return unlink($dir);
920
+
921
+ foreach (scandir($dir) as $item)
922
+ {
923
+ if ($item == '.' || $item == '..')
924
+ continue;
925
+
926
+ if (!$this->delete_dir($dir.DIRECTORY_SEPARATOR.$item))
927
+ return false;
928
+ }
929
+
930
+ return rmdir($dir);
931
+ }
932
+
933
+ // Used in the install procedure to migrate database columns
934
+ function migrate_before_db_upgrade()
935
+ {
936
+ global $prli_options, $prli_link, $prli_click, $wpdb;
937
+ $db_version = (int)get_option('prli_db_version');
938
+
939
+ // Migration for version 1 of the database
940
+ if(!$db_version or $db_version < 1)
941
+ {
942
+ $query = "SELECT * from {$prli_link->table_name}";
943
+ $links = $wpdb->get_results($query);
944
+ $query_str = "UPDATE {$prli_link->table_name} SET redirect_type=%s WHERE id=%d";
945
+
946
+ foreach($links as $link)
947
+ {
948
+ if(isset($link->track_as_img) and $link->track_as_img)
949
+ {
950
+ $query = $wpdb->prepare($query_str, 'pixel', $link->id);
951
+ $wpdb->query($query);
952
+ }
953
+ else if(isset($link->use_prettybar) and $link->use_prettybar)
954
+ {
955
+ $query = $wpdb->prepare($query_str, 'prettybar', $link->id);
956
+ $wpdb->query($query);
957
+ }
958
+ else if(isset($link->use_ultra_cloak) and $link->use_ultra_cloak)
959
+ {
960
+ $query = $wpdb->prepare($query_str, 'cloak', $link->id);
961
+ $wpdb->query($query);
962
+ }
963
+ }
964
+
965
+ $query = "ALTER TABLE {$prli_link->table_name} DROP COLUMN track_as_img, DROP COLUMN use_prettybar, DROP COLUMN use_ultra_cloak, DROP COLUMN gorder";
966
+ $wpdb->query($query);
967
+ }
968
+
969
+ if($db_version < 2)
970
+ {
971
+ unset($prli_options->prli_exclude_ips);
972
+ unset($prli_options->prettybar_image_url);
973
+ unset($prli_options->prettybar_background_image_url);
974
+ unset($prli_options->prettybar_color);
975
+ unset($prli_options->prettybar_text_color);
976
+ unset($prli_options->prettybar_link_color);
977
+ unset($prli_options->prettybar_hover_color);
978
+ unset($prli_options->prettybar_visited_color);
979
+ unset($prli_options->prettybar_title_limit);
980
+ unset($prli_options->prettybar_desc_limit);
981
+ unset($prli_options->prettybar_link_limit);
982
+
983
+ // Save the posted value in the database
984
+ $prli_options_str = serialize($prli_options);
985
+
986
+ // Save the posted value in the database
987
+ delete_option( 'prli_options' );
988
+ add_option( 'prli_options', $prli_options_str );
989
+ }
990
+
991
+ // Modify the tables so they're UTF-8
992
+ if($db_version < 3)
993
+ {
994
+ $charset_collate = '';
995
+ if( $wpdb->has_cap( 'collation' ) )
996
+ {
997
+ if( !empty($wpdb->charset) )
998
+ $charset_collate = "CONVERT TO CHARACTER SET $wpdb->charset";
999
+ if( !empty($wpdb->collate) )
1000
+ $charset_collate .= " COLLATE $wpdb->collate";
1001
+ }
1002
+
1003
+ if(!empty($charset_collate))
1004
+ {
1005
+ $prli_table_names = array( "{$wpdb->prefix}prli_groups",
1006
+ "{$wpdb->prefix}prli_clicks",
1007
+ "{$wpdb->prefix}prli_links",
1008
+ "{$wpdb->prefix}prli_link_metas",
1009
+ "{$wpdb->prefix}prli_tweets",
1010
+ "{$wpdb->prefix}prli_keywords",
1011
+ "{$wpdb->prefix}prli_reports",
1012
+ "{$wpdb->prefix}prli_report_links",
1013
+ "{$wpdb->prefix}prli_link_rotations",
1014
+ "{$wpdb->prefix}prli_clicks_rotations" );
1015
+
1016
+ foreach($prli_table_names as $prli_table_name)
1017
+ {
1018
+ $query = "ALTER TABLE {$prli_table_name} {$charset_collate}";
1019
+ $wpdb->query($query);
1020
+ }
1021
+ }
1022
+ }
1023
+
1024
+ // Upgrade the twitter hide badges on pages / posts for pro users
1025
+ if($db_version < 7)
1026
+ {
1027
+ if($this->pro_is_installed())
1028
+ {
1029
+ global $prlipro_options;
1030
+
1031
+ if(trim($prlipro_options->twitter_badge_hidden) != '')
1032
+ {
1033
+ $hidden_post_ids = explode(',',trim($prlipro_options->twitter_badge_hidden));
1034
+ foreach($hidden_post_ids as $post_id)
1035
+ {
1036
+ $prlipro_post_options = PrliProPostOptions::get_stored_object($post_id);
1037
+ $prlipro_post_options->hide_twitter_button = 1;
1038
+ $prlipro_post_options->store($post_id);
1039
+ }
1040
+ }
1041
+ }
1042
+ }
1043
+ }
1044
+
1045
+ function migrate_after_db_upgrade()
1046
+ {
1047
+ global $prli_options, $prli_link, $prli_link_meta, $prli_click, $wpdb;
1048
+ $db_version = (int)get_option('prli_db_version');
1049
+
1050
+ if($db_version < 5)
1051
+ {
1052
+ // Migrate pretty-link-posted-to-twitter
1053
+ $query = "SELECT * FROM {$wpdb->prefix}postmeta WHERE meta_key=%s";
1054
+ $query = $wpdb->prepare($query,'pretty-link-posted-to-twitter');
1055
+ $posts_posted = $wpdb->get_results($query);
1056
+
1057
+ foreach($posts_posted as $postmeta)
1058
+ {
1059
+ if($postmeta->meta_value == '1')
1060
+ {
1061
+ $link_id = get_post_meta($postmeta->post_id,'pretty-link',true);
1062
+ $prli_link_meta->update_link_meta($link_id,'pretty-link-posted-to-twitter','1');
1063
+ }
1064
+ }
1065
+
1066
+ // Cleanup
1067
+ $query = "DELETE FROM {$wpdb->prefix}postmeta WHERE meta_key=%s OR meta_key=%s OR meta_key=%s OR meta_key=%s";
1068
+ $query = $wpdb->prepare($query,'pretty-link-posted-to-twitter','pretty-link-tweet-count','pretty-link-tweet-last-update','prli-keyword-replacement-count');
1069
+ $results = $wpdb->query($query);
1070
+
1071
+ $query = "DELETE FROM {$prli_link_meta->table_name} WHERE meta_key=%s";
1072
+ $query = $wpdb->prepare($query,'prli-url-aliases');
1073
+ $results = $wpdb->query($query);
1074
+ }
1075
+ }
1076
+
1077
+ function this_is_a_robot($browser_ua,$btype,$header='')
1078
+ {
1079
+ $click = new PrliClick();
1080
+ $click->browser = $browser_ua;
1081
+ $click->btype = $btype;
1082
+ return $this->is_robot($click, $header);
1083
+ }
1084
+
1085
+ function is_robot($click,$header='',$browsercap_ini=NULL)
1086
+ {
1087
+ global $prli_utils, $prli_click;
1088
+ $ua_string = trim(urldecode($click->browser));
1089
+ $btype = trim($click->btype);
1090
+
1091
+ // Yah, if the whole user agent string is missing -- wtf?
1092
+ if(empty($ua_string))
1093
+ return 1;
1094
+
1095
+ // If the Browser type was unidentifiable then it's most likely a bot
1096
+ if(empty($btype))
1097
+ return 1;
1098
+
1099
+ // Some bots actually say they're bots right up front let's get rid of them asap
1100
+ if(preg_match("#(bot|Bot|spider|Spider|crawl|Crawl)#",$ua_string))
1101
+ return 1;
1102
+
1103
+ $browsecap = $prli_utils->php_get_browser($ua_string,$browsercap_ini);
1104
+ $crawler = $browsecap['crawler'];
1105
+
1106
+ // If php_browsecap tells us its a bot, let's believe him
1107
+ if($crawler == 1)
1108
+ return 1;
1109
+
1110
+ return 0;
1111
+ }
1112
+
1113
+ function check_api_for_bot_status($ip,$ua)
1114
+ {
1115
+ global $prli_url_utils;
1116
+ $api_key = 'cMQeOJvNRAOPRPexkjSEUqM';
1117
+ $ua = urlencode(urldecode($ua));
1118
+ $header = "Content-Type: application/x-www-form-urlencoded\r\n";
1119
+ $params = "?key=$api_key&ip={$ip}";//&ua={$ua}";
1120
+
1121
+ return $prli_url_utils->read_remote_file("http://api.atlbl.com/wc",0,$header,$params);
1122
+ }
1123
+ }
1124
+ ?>
classes/models/models.inc.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ require_once(PRLI_MODELS_PATH.'/PrliLink.php');
3
+ require_once(PRLI_MODELS_PATH.'/PrliClick.php');
4
+ require_once(PRLI_MODELS_PATH.'/PrliGroup.php');
5
+ require_once(PRLI_MODELS_PATH.'/PrliUtils.php');
6
+ require_once(PRLI_MODELS_PATH.'/PrliUrlUtils.php');
7
+ require_once(PRLI_MODELS_PATH.'/PrliLinkMeta.php');
8
+
9
+ global $prli_link;
10
+ global $prli_link_meta;
11
+ global $prli_click;
12
+ global $prli_group;
13
+ global $prli_utils;
14
+ global $prli_url_utils;
15
+
16
+ $prli_link = new PrliLink();
17
+ $prli_link_meta = new PrliLinkMeta();
18
+ $prli_click = new PrliClick();
19
+ $prli_group = new PrliGroup();
20
+ $prli_utils = new PrliUtils();
21
+ $prli_url_utils = new PrliUrlUtils();
22
+
23
+ function prli_get_main_message( $message = "Get started by <a href=\"?page=pretty-link/prli-links.php&action=new\">adding a URL</a> that you want to turn into a pretty link.<br/>Come back to see how many times it was clicked.")
24
+ {
25
+ global $prli_utils;
26
+ include_once(ABSPATH."/wp-includes/class-IXR.php");
27
+
28
+ if($prli_utils->pro_is_installed())
29
+ {
30
+ $client = new IXR_Client('http://prettylinkpro.com/xmlrpc.php');
31
+ if ($client->query('prlipro.get_main_message'))
32
+ $message = $client->getResponse();
33
+ }
34
+ else
35
+ {
36
+ $client = new IXR_Client('http://blairwilliams.com/xmlrpc.php');
37
+ if ($client->query('prli.get_main_message'))
38
+ $message = $client->getResponse();
39
+ }
40
+ return $message;
41
+ }
42
+
43
+ ?>
classes/views/prli-clicks/csv.php ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ require_once('prli-config.php');
3
+
4
+ if(is_user_logged_in() and $current_user->user_level >= 8)
5
+ {
6
+ $filename = date("ymdHis",time()) . '_' . $link_name . '_pretty_link_clicks.csv';
7
+ header("Content-Type: text/x-csv");
8
+ header("Content-Disposition: attachment; filename=\"$filename\"");
9
+ header("Expires: ".gmdate("D, d M Y H:i:s", mktime(date("H")+2, date("i"), date("s"), date("m"), date("d"), date("Y")))." GMT");
10
+ header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
11
+ header("Cache-Control: no-cache, must-revalidate");
12
+ header("Pragma: no-cache");
13
+
14
+ echo '"Browser","Browser Version","Platform","IP","Visitor ID","Timestamp","Host","URI","Referrer","Link"' . "\n";
15
+ foreach($clicks as $click)
16
+ {
17
+ $link = $prli_link->getOne($click->link_id);
18
+
19
+ echo "\"$click->btype\",\"$click->bversion\",\"$click->os\",\"$click->ip\",\"$click->vuid\",\"$click->created_at\",\"$click->host\",\"$click->uri\",\"$click->referer\",\"" . ((empty($link->name))?$link->slug:$link->name) . "\"\n";
20
+ }
21
+ }
22
+ else
23
+ header("Location: " . $prli_blogurl);
24
+ ?>
classes/views/prli-clicks/head.php ADDED
@@ -0,0 +1,105 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!-- JQuery UI Includes -->
2
+ <link type="text/css" href="<?php echo PRLI_URL; ?>/includes/jquery/css/ui-lightness/jquery-ui-1.7.1.custom.css" rel="stylesheet" />
3
+ <script type="text/javascript" src="<?php echo PRLI_URL; ?>/includes/jquery/js/jquery-1.3.2.min.js"></script>
4
+ <script type="text/javascript" src="<?php echo PRLI_URL; ?>/includes/jquery/js/jquery-ui-1.7.1.custom.min.js"></script>
5
+
6
+ <script type="text/javascript">
7
+ $(document).ready(function(){
8
+ $("#sdate").datepicker({ dateFormat: 'yy-mm-dd', defaultDate: -30, minDate: -<?php echo $min_date; ?>, maxDate: 0 });
9
+ $("#edate").datepicker({ dateFormat: 'yy-mm-dd', minDate: -<?php echo $min_date; ?>, maxDate: 0 });
10
+ });
11
+ </script>
12
+
13
+ <script type="text/javascript">
14
+ $(document).ready(function(){
15
+ $(".filter_pane").hide();
16
+ $(".filter_toggle").click( function () {
17
+ $(".filter_pane").slideToggle("slow");
18
+ });
19
+ });
20
+ </script>
21
+
22
+ <style type="text/css">
23
+ .filter_toggle {
24
+ line-height: 34px;
25
+ font-size: 14px;
26
+ font-weight: bold;
27
+ padding-bottom: 10px;
28
+ }
29
+
30
+ .filter_pane {
31
+ background-color: white;
32
+ border: 2px solid #777777;
33
+ height: 275px;
34
+ width: 600px;
35
+ padding-left: 20px;
36
+ padding-top: 10px;
37
+ }
38
+
39
+ </style>
40
+
41
+ <!-- Open Flash Chart Includes -->
42
+ <script type="text/javascript" src="<?php echo PRLI_URL; ?>/includes/version-2-kvasir/js/json/json2.js"></script>
43
+ <script type="text/javascript" src="<?php echo PRLI_URL; ?>/includes/version-2-kvasir/js/swfobject.js"></script>
44
+ <script type="text/javascript">
45
+ swfobject.embedSWF("<?php echo PRLI_URL; ?>/includes/version-2-kvasir/open-flash-chart.swf", "my_chart", "100%", "250", "9.0.0");
46
+ </script>
47
+
48
+ <script type="text/javascript">
49
+
50
+ function ofc_ready()
51
+ {
52
+ //alert('ofc_ready');
53
+ }
54
+
55
+ function open_flash_chart_data()
56
+ {
57
+ //alert( 'reading data' );
58
+ return JSON.stringify(data);
59
+ }
60
+
61
+ function findSWF(movieName) {
62
+ if (navigator.appName.indexOf("Microsoft")!= -1) {
63
+ return window[movieName];
64
+ } else {
65
+ return document[movieName];
66
+ }
67
+ }
68
+
69
+ OFC = {};
70
+
71
+ OFC.jquery = {
72
+ name: "jQuery",
73
+ version: function(src) { return $('#'+ src)[0].get_version() },
74
+ rasterize: function (src, dst) { $('#'+ dst).replaceWith(OFC.jquery.image(src)) },
75
+ image: function(src) { return "<img src='data:image/png;base64," + $('#'+src)[0].get_img_binary() + "' />"},
76
+ popup: function(src) {
77
+ var img_win = window.open('', 'Charts: Export as Image')
78
+ with(img_win.document) {
79
+ write('<html><head><title>Charts: Export as Image<\/title><\/head><body>' + OFC.jquery.image(src) + '<div>Right-Click on the above Image to Save<\/div><\/body><\/html>') }
80
+ // stop the 'loading...' message
81
+ img_win.document.close();
82
+ }
83
+ }
84
+
85
+ // Using an object as namespaces is JS Best Practice. I like the Control.XXX style.
86
+ //if (!Control) {var Control = {}}
87
+ //if (typeof(Control == "undefined")) {var Control = {}}
88
+ if (typeof(Control == "undefined")) {var Control = {OFC: OFC.jquery}}
89
+
90
+
91
+ // By default, right-clicking on OFC and choosing "save image locally" calls this function.
92
+ // You are free to change the code in OFC and call my wrapper (Control.OFC.your_favorite_save_method)
93
+ // function save_image() { alert(1); Control.OFC.popup('my_chart') }
94
+ function save_image() {
95
+ //alert(1);
96
+ OFC.jquery.popup('my_chart')
97
+ }
98
+
99
+ function moo() {
100
+ //alert(99);
101
+ };
102
+
103
+ var data = <?php echo $prli_click->setupClickLineGraph($start_timestamp,$end_timestamp,$link_id,$type,$group); ?>;
104
+
105
+ </script>
classes/views/prli-clicks/list.php ADDED
@@ -0,0 +1,151 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="wrap">
2
+ <?php
3
+ require(PRLI_VIEWS_PATH.'/shared/nav.php');
4
+ ?>
5
+ <h2><img src="<?php echo PRLI_URL.'/images/pretty-link-med.png'; ?>"/>&nbsp;Pretty Link: Hits</h2>
6
+ <span style="font-size: 14px; font-weight: bold;">For <?php echo stripslashes($link_name); ?>: </span>
7
+ <?php
8
+ // Don't show this sheesh if we're displaying the vuid or ip grouping
9
+ if(empty($params['ip']) and empty($params['vuid']))
10
+ {
11
+ ?>
12
+ <a href="#" style="display:inline;" class="filter_toggle">Customize Report</a>
13
+ <?php
14
+ }
15
+ ?>
16
+ <?php
17
+ if(!empty($params['l']) and $params['l'] != 'all')
18
+ echo '<br/><a href="?page='. PRLI_PLUGIN_NAME .'/prli-links.php">&laquo Back to Links</a>';
19
+ else if(!empty($params['ip']) or !empty($params['vuid']))
20
+ echo '<br/><a href="?page='. PRLI_PLUGIN_NAME .'/prli-clicks.php">&laquo Back to Hits</a>';
21
+
22
+ if(empty($params['ip']) and empty($params['vuid']))
23
+ {
24
+ ?>
25
+
26
+
27
+ <div class="filter_pane">
28
+ <form class="form-fields" name="form2" method="post" action="<?php echo str_replace( '%7E', '~', $_SERVER['REQUEST_URI']); ?>">
29
+ <?php wp_nonce_field('prli-reports'); ?>
30
+ <span>Type:</span>&nbsp;
31
+ <select id="type" name="type" style="display: inline;">
32
+ <option value="all"<?php print ((empty($params['type']) or $params['type'] == "all")?" selected=\"true\"":""); ?>>All Hits&nbsp;</option>
33
+ <option value="unique"<?php print (($params['type'] == "unique")?" selected=\"true\"":""); ?>>Unique Hits&nbsp;</option>
34
+ </select>
35
+ <br/>
36
+ <br/>
37
+ <span>Date Range:</span>
38
+ <div id="dateselectors" style="display: inline;">
39
+ <input type="text" name="sdate" id="sdate" value="<?php echo $params['sdate']; ?>" style="display:inline;"/>&nbsp;to&nbsp;<input type="text" name="edate" id="edate" value="<?php echo $params['edate']; ?>" style="display:inline;"/>
40
+ </div>
41
+ <br/>
42
+ <br/>
43
+ <div class="submit" style="display: inline;"><input type="submit" name="Submit" value="Customize"/> or <a href="#" class="filter_toggle">Cancel</a></div>
44
+ </form>
45
+ </div>
46
+
47
+ <div id="my_chart"></div>
48
+
49
+ <?php
50
+ }
51
+ $navstyle = "float: right;";
52
+ require(PRLI_VIEWS_PATH.'/shared/table-nav.php');
53
+ ?>
54
+
55
+ <div id="search_pane" style="padding-top: 5px;">
56
+ <form class="form-fields" name="click_form" method="post" action="<?php echo str_replace( '%7E', '~', $_SERVER['REQUEST_URI']); ?>">
57
+ <?php wp_nonce_field('prli-clicks'); ?>
58
+
59
+ <input type="hidden" name="sort" id="sort" value="<?php echo $sort_str; ?>" />
60
+ <input type="hidden" name="sdir" id="sort" value="<?php echo $sdir_str; ?>" />
61
+ <input type="text" name="search" id="search" value="<?php echo $search_str; ?>" style="display:inline;"/>
62
+ <div class="submit" style="display: inline;"><input type="submit" name="Submit" value="Search Hits"/>
63
+ <?php
64
+ if(!empty($search_str))
65
+ {
66
+ ?>
67
+ or <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php<?php echo (!empty($params['l'])?'&l='.$params['l']:''); ?>">Reset</a>
68
+ <?php
69
+ }
70
+ ?>
71
+ </div>
72
+ </form>
73
+ </div>
74
+ <table class="widefat post fixed" cellspacing="0">
75
+ <thead>
76
+ <tr>
77
+ <th class="manage-column" width="5%"><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php<?php echo $sort_params; ?>&sort=btype<?php echo (($sort_str == 'btype' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Browser<?php echo (($sort_str == 'btype')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_URL.'/images/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a>
78
+ </th>
79
+ <th class="manage-column" width="12%">
80
+ <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php<?php echo $sort_params; ?>&sort=ip<?php echo (($sort_str == 'ip' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">IP<?php echo (($sort_str == 'ip')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_URL.'/images/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a>
81
+ </th>
82
+ <th class="manage-column" width="12%">
83
+ <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php<?php echo $sort_params; ?>&sort=vuid<?php echo (($sort_str == 'vuid' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Visitor<?php echo (($sort_str == 'vuid')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_URL.'/images/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a>
84
+ </th>
85
+ <th class="manage-column" width="13%">
86
+ <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php<?php echo $sort_params; ?>&sort=created_at<?php echo (($sort_str == 'created_at' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Timestamp<?php echo ((empty($sort_str) or $sort_str == 'created_at')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_URL.'/images/'.((empty($sort_str) or $sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a>
87
+ </th>
88
+ <th class="manage-column" width="16%">
89
+ <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php<?php echo $sort_params; ?>&sort=host<?php echo (($sort_str == 'host' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Host<?php echo (($sort_str == 'host')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_URL.'/images/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a>
90
+ </th>
91
+ <th class="manage-column" width="16%">
92
+ <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php<?php echo $sort_params; ?>&sort=uri<?php echo (($sort_str == 'uri' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">URI<?php echo (($sort_str == 'uri')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_URL.'/images/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a>
93
+ </th>
94
+ <th class="manage-column" width="16%">
95
+ <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php<?php echo $sort_params; ?>&sort=referer<?php echo (($sort_str == 'referer' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Referrer<?php echo (($sort_str == 'referer')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_URL.'/images/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a>
96
+ </th>
97
+ <th class="manage-column" width="13%">
98
+ <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php<?php echo $sort_params; ?>&sort=link<?php echo (($sort_str == 'link' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Link<?php echo (($sort_str == 'link')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_URL.'/images/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a>
99
+ </th>
100
+ </tr>
101
+ </thead>
102
+ <?php
103
+
104
+ if(count($clicks) <= 0)
105
+ {
106
+ ?>
107
+ <tr>
108
+ <td colspan="7">No Hits have been recorded yet</td>
109
+ </tr>
110
+ <?php
111
+ }
112
+ else
113
+ {
114
+ foreach($clicks as $click)
115
+ {
116
+ ?>
117
+ <tr>
118
+ <td><img src="http://d14715w921jdje.cloudfront.net/browser/<?php echo prli_browser_image($click->btype); ?>" alt="<?php echo $click->btype . " v" . $click->bversion; ?>" title="<?php echo $click->btype . " v" . $click->bversion; ?>"/>&nbsp;<img src="http://d14715w921jdje.cloudfront.net/os/<?php echo prli_os_image($click->os); ?>" alt="<?php echo $click->os; ?>" title="<?php echo $click->os; ?>"/></td>
119
+ <td><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php&ip=<?php echo $click->ip; ?>" title="View All Activity for IP Address: <?php echo $click->ip; ?>"><?php echo $click->ip; ?> (<?php echo $click->ip_count; ?>)</a></td>
120
+ <td><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php&vuid=<?php echo $click->vuid; ?>" title="View All Activity for Visitor: <?php echo $click->vuid; ?>"><?php echo $click->vuid; ?><?php echo (($click->vuid != null)?" ($click->vuid_count)":''); ?></a></td>
121
+ <td><?php echo $click->created_at; ?></td>
122
+ <td><?php echo $click->host; ?></td>
123
+ <td><?php echo $click->uri; ?></td>
124
+ <td><?php echo $click->referer; ?></td>
125
+ <td><a href="?page=<?php print PRLI_PLUGIN_NAME; ?>/prli-clicks.php&l=<?php echo $click->link_id; ?>" title="View clicks for <?php echo stripslashes($click->link_name); ?>"><?php echo stripslashes($click->link_name); ?></a></td>
126
+ </tr>
127
+ <?php
128
+ }
129
+ }
130
+ ?>
131
+ <tfoot>
132
+ <tr>
133
+ <th class="manage-column">Browser</th>
134
+ <th class="manage-column">IP</th>
135
+ <th class="manage-column">Visitor</th>
136
+ <th class="manage-column">Timestamp</th>
137
+ <th class="manage-column">Host</th>
138
+ <th class="manage-column">URI</th>
139
+ <th class="manage-column">Referrer</th>
140
+ <th class="manage-column">Link</th>
141
+ </tr>
142
+ </tfoot>
143
+ </table>
144
+
145
+ <a href="<?php echo PRLI_URL; ?>/prli-clicks.php?action=csv<?php echo $page_params; ?>">Download CSV (<?php echo stripslashes($link_name); ?>)</a>
146
+
147
+ <?php
148
+ require(PRLI_VIEWS_PATH.'/shared/table-nav.php');
149
+ ?>
150
+
151
+ </div>
classes/views/prli-dashboard-widget/widget.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="wrap">
2
+ <a href="http://blairwilliams.com/pretty-link"><img style="float: left; border: 0px;" src="<?php echo PRLI_URL.'/images/prettylink_logo_small.jpg'; ?>"/></a><div style="min-height: 48px;"><div style="min-height: 18px; margin-left: 137px; margin-top: 0px; padding-top: 0px; border: 1px solid #e5e597; background-color: #ffffa0; display: block;"><p style="font-size: 11px; margin:0px; padding: 0px; padding-left: 10px;"><?php echo $message; ?></p></div></div>
3
+
4
+ <form name="form1" method="post" action="?page=<?php echo PRLI_PLUGIN_NAME ?>/prli-links.php">
5
+ <input type="hidden" name="action" value="quick-create">
6
+ <?php wp_nonce_field('update-options'); ?>
7
+
8
+ <table class="form-table">
9
+ <tr class="form-field">
10
+ <td valign="top">Target URL</td>
11
+ <td><input type="text" name="url" value="" size="75">
12
+ </tr>
13
+ <tr>
14
+ <td valign="top">Pretty Link</td>
15
+ <td><strong><?php echo $prli_blogurl; ?></strong>/<input type="text" name="slug" value="<?php echo $prli_link->generateValidSlug(); ?>">
16
+ </tr>
17
+ </table>
18
+
19
+ <p class="submit">
20
+ <input type="submit" name="Submit" value="Create" />
21
+ </p>
22
+ </form>
23
+ </div>
classes/views/prli-groups/edit.php ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="wrap">
2
+ <h2><img src="<?php echo PRLI_URL.'/images/pretty-link-med.png'; ?>"/>&nbsp;Pretty Link: Edit Group</h2>
3
+
4
+ <?php
5
+ require(PRLI_VIEWS_PATH.'/shared/errors.php');
6
+ ?>
7
+
8
+ <form name="form1" method="post" action="?page=<?php echo PRLI_PLUGIN_NAME ?>/prli-groups.php">
9
+ <input type="hidden" name="action" value="update">
10
+ <input type="hidden" name="id" value="<?php echo $id; ?>">
11
+ <?php wp_nonce_field('update-options'); ?>
12
+
13
+ <table class="form-table">
14
+ <tr class="form-field">
15
+ <td width="75px" valign="top">Name: </td>
16
+ <td><input type="text" name="name" value="<?php echo htmlspecialchars(stripslashes((($_POST['name'] != null and $record == null)?$_POST['name']:$record->name))); ?>" size="75">
17
+ <br/><span class="setting-description">This is how you'll identify your Group.</span></td>
18
+ </tr>
19
+ <tr class="form-field">
20
+ <td valign="top">Description: </td>
21
+ <td><textarea style="height: 100px;" name="description"><?php echo (($_POST['description'] != null and $record == null)?$_POST['description']:$record->description); ?></textarea>
22
+ <br/><span class="setting-description">A Description of this group.</span></td>
23
+ </tr>
24
+ <tr class="form-field" valign="top">
25
+ <td valign="top">Links: </td>
26
+ <td valign="top">
27
+ <div style="height: 150px; width: 95%; border: 1px solid #8cbdd5; overflow: auto;">
28
+ <table width="100%" cellspacing="0">
29
+ <thead style="background-color: #dedede; padding: 0px; margin: 0px; line-height: 8px; font-size: 14px;">
30
+ <th style="padding-left: 5px; margin: 0px; width: 50%; min-width: 50%;"><strong>Name</strong></th>
31
+ <th style="padding-left: 5px; margin: 0px; width: 50%; min-width: 50%;"><strong>Current Group</strong></th>
32
+ </thead>
33
+ <?php
34
+ for($i = 0; $i < count($links); $i++)
35
+ {
36
+ $link = $links[$i];
37
+ ?>
38
+ <tr style="line-height: 15px; font-size: 12px;<?php echo (($i%2)?' background-color: #efefef;':''); ?>">
39
+ <td style="min-width: 50%; width: 50%"><input type="checkbox" style="display:inline;width: 15px; padding: 0; margin: 0; float: left; text-align: left;" name="link[<?php echo $link->id; ?>]" <?php echo (((isset($_POST['link'][$link->id]) and $_POST['link'][$link->id] == 'on') or (empty($_POST) and $link->group_id == $record->id))?'checked="true"':''); ?>/><span>&nbsp;<?php echo htmlspecialchars(stripslashes($link->name)) . " <strong>(" . $link->slug . ")</strong>"; ?></span></td>
40
+ <td style="min-width: 50%; width: 50%"><?php echo htmlspecialchars(stripslashes($link->group_name)); ?></td>
41
+ </tr>
42
+ <?php
43
+
44
+ }
45
+ ?>
46
+ </table>
47
+ </div>
48
+ <span class="setting-description">Select some links for this group. <strong>Note: each link can only be in one group at a time.</strong></span></td>
49
+ </td>
50
+ </tr>
51
+ </table>
52
+
53
+ <p class="submit">
54
+ <input type="submit" name="Submit" value="Update" />&nbsp;or&nbsp;<a href="?page=<?php echo PRLI_PLUGIN_NAME ?>/prli-groups.php">Cancel</a>
55
+ </p>
56
+
57
+ </form>
58
+ </div>
classes/views/prli-groups/head.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script type="text/javascript" src="<?php echo PRLI_URL; ?>/includes/jquery/js/jquery-1.3.2.min.js"></script>
2
+ <script type="text/javascript">
3
+ jQuery(document).ready(function() {
4
+ jQuery('.group_actions').hide();
5
+ jQuery('.edit_group').hover(
6
+ function() {
7
+ jQuery(this).children(".group_actions").show();
8
+ },
9
+ function() {
10
+ jQuery(this).children(".group_actions").hide();
11
+ }
12
+ );
13
+ });
14
+ </script>
15
+
16
+ <style type="text/css">
17
+
18
+ .advanced_toggle {
19
+ line-height: 34px;
20
+ font-size: 12px;
21
+ font-weight: bold;
22
+ padding-bottom: 10px;
23
+ }
24
+
25
+ .edit_group {
26
+ height: 50px;
27
+ }
28
+ .group_name {
29
+ font-size: 12px;
30
+ font-weight: bold;
31
+ }
32
+ .group_actions {
33
+ padding-top: 5px;
34
+ }
35
+ </style>
classes/views/prli-groups/list.php ADDED
@@ -0,0 +1,85 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="wrap">
2
+ <?php
3
+ require(PRLI_VIEWS_PATH.'/shared/nav.php');
4
+ ?>
5
+ <h2><img src="<?php echo PRLI_URL.'/images/pretty-link-med.png'; ?>"/>&nbsp;Pretty Link: Groups</h2>
6
+ <div id="message" class="updated fade" style="padding:5px;"><?php echo $prli_message; ?></div>
7
+ <div id="search_pane" style="float: right;">
8
+ <form class="form-fields" name="group_form" method="post" action="<?php echo str_replace( '%7E', '~', $_SERVER['REQUEST_URI']); ?>">
9
+ <?php wp_nonce_field('prli-groups'); ?>
10
+ <input type="hidden" name="sort" id="sort" value="<?php echo $sort_str; ?>" />
11
+ <input type="hidden" name="sdir" id="sort" value="<?php echo $sdir_str; ?>" />
12
+ <input type="text" name="search" id="search" value="<?php echo $search_str; ?>" style="display:inline;"/>
13
+ <div class="submit" style="display: inline;"><input type="submit" name="Submit" value="Search"/>
14
+ <?php
15
+ if(!empty($search_str))
16
+ {
17
+ ?>
18
+ or <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-groups.php">Reset</a>
19
+ <?php
20
+ }
21
+ ?>
22
+ </div>
23
+ </form>
24
+ </div>
25
+ <div id="button_bar">
26
+ <p><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-groups.php&action=new">Add a Pretty Link Group</a></p>
27
+ </div>
28
+
29
+ <?php
30
+ require(PRLI_VIEWS_PATH.'/shared/table-nav.php');
31
+ ?>
32
+ <table class="widefat post fixed" cellspacing="0">
33
+ <thead>
34
+ <tr>
35
+ <th class="manage-column" width="50%"><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-groups.php&sort=name<?php echo (($sort_str == 'name' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Name<?php echo (($sort_str == 'name')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_URL.'/images/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a></th>
36
+ <th class="manage-column" width="20%"><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-groups.php&sort=link_count<?php echo (($sort_str == 'link_count' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Links<?php echo (($sort_str == 'link_count')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_URL.'/images/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a></th>
37
+ <th class="manage-column" width="30%"><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-groups.php&sort=created_at<?php echo (($sort_str == 'created_at' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Created<?php echo ((empty($sort_str) or $sort_str == 'created_at')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_URL.'/images/'.((empty($sort_str) or $sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a></th>
38
+ </tr>
39
+ </thead>
40
+ <?php
41
+
42
+ if($record_count <= 0)
43
+ {
44
+ ?>
45
+ <tr>
46
+ <td colspan="5">No Pretty Link Groups were found</td>
47
+ </tr>
48
+ <?php
49
+ }
50
+ else
51
+ {
52
+ foreach($groups as $group)
53
+ {
54
+ ?>
55
+ <tr>
56
+ <td class="edit_group">
57
+ <a class="group_name" href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-groups.php&action=edit&id=<?php echo $group->id; ?>" title="Edit <?php echo htmlspecialchars(stripslashes($group->name)); ?>"><?php echo htmlspecialchars(stripslashes($group->name)); ?></a>
58
+ <br/>
59
+ <div class="group_actions">
60
+ <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-groups.php&action=edit&id=<?php echo $group->id; ?>" title="Edit <?php echo htmlspecialchars(stripslashes($group->name)); ?>">Edit</a>&nbsp;|
61
+ <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-groups.php&action=destroy&id=<?php echo $group->id; ?>" onclick="return confirm('Are you sure you want to delete your <?php echo htmlspecialchars(stripslashes($group->name)); ?> Pretty Link Group?');" title="Delete <?php echo htmlspecialchars(stripslashes($group->name)); ?>">Delete</a>&nbsp;|
62
+ <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&group=<?php echo $group->id; ?>" title="View links in <?php echo htmlspecialchars(stripslashes($group->name)); ?>">Links</a>&nbsp;|
63
+ <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php&group=<?php echo $group->id; ?>" title="View hits in <?php echo htmlspecialchars(stripslashes($group->name)); ?>">Hits</a>
64
+ </div>
65
+ </td>
66
+ <td><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&group=<?php echo $group->id; ?>" title="View links in <?php echo htmlspecialchars(stripslashes($group->name)); ?>"><?php echo $group->link_count; ?></a></td>
67
+ <td><?php echo $group->created_at; ?></td>
68
+ </tr>
69
+ <?php
70
+ }
71
+ }
72
+ ?>
73
+ <tfoot>
74
+ <tr>
75
+ <th class="manage-column">Name</th>
76
+ <th class="manage-column">Links</th>
77
+ <th class="manage-column">Created</th>
78
+ </tr>
79
+ </tfoot>
80
+ </table>
81
+ <?php
82
+ require(PRLI_VIEWS_PATH.'/shared/table-nav.php');
83
+ ?>
84
+
85
+ </div>
classes/views/prli-groups/new.php ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="wrap">
2
+ <h2><img src="<?php echo PRLI_URL.'/images/pretty-link-med.png'; ?>"/>&nbsp;Pretty Link: Add Group</h2>
3
+
4
+ <?php
5
+ require(PRLI_VIEWS_PATH.'/shared/errors.php');
6
+ ?>
7
+
8
+ <form name="form1" method="post" action="?page=<?php echo PRLI_PLUGIN_NAME ?>/prli-groups.php">
9
+ <input type="hidden" name="action" value="create">
10
+ <?php wp_nonce_field('update-options'); ?>
11
+ <input type="hidden" name="id" value="<?php echo $id; ?>">
12
+
13
+ <table class="form-table">
14
+ <tr class="form-field">
15
+ <td width="75px" valign="top">Name*: </td>
16
+ <td><input type="text" name="name" value="<?php echo (($_POST['name'] != null)?$_POST['name']:''); ?>" size="75">
17
+ <br/><span class="setting-description">This is how you'll identify your Group.</span></td>
18
+ </tr>
19
+ <tr class="form-field">
20
+ <td valign="top">Description: </td>
21
+ <td><textarea style="height: 100px;" name="description"><?php echo (($_POST['description'] != null)?$_POST['description']:''); ?></textarea>
22
+ <br/><span class="setting-description">A Description of this group.</span></td>
23
+ </tr>
24
+ <tr class="form-field" valign="top">
25
+ <td valign="top">Links: </td>
26
+ <td valign="top">
27
+ <div style="height: 150px; width: 95%; border: 1px solid #8cbdd5; overflow: auto;">
28
+ <table width="100%" cellspacing="0">
29
+ <thead style="background-color: #dedede; padding: 0px; margin: 0px; line-height: 8px; font-size: 14px;">
30
+ <th width="50%" style="padding-left: 5px; margin: 0px;"><strong>Name</strong></th>
31
+ <th width="50%" style="padding-left: 5px; margin: 0px;"><strong>Current Group</strong></th>
32
+ </thead>
33
+ <?php
34
+ for($i = 0; $i < count($links); $i++)
35
+ {
36
+ $link = $links[$i];
37
+ ?>
38
+ <tr style="line-height: 15px; font-size: 12px;<?php echo (($i%2)?' background-color: #efefef;':''); ?>">
39
+ <td style="min-width: 50%; width: 50%;"><input type="checkbox" style="width: 15px;" name="link[<?php echo $link->id; ?>]" <?php echo ((isset($_POST['link'][$link->id]) and $_POST['link'][$link->id] == 'on')?'checked="true"':''); ?>/>&nbsp;<?php echo htmlspecialchars(stripslashes($link->name)) . " <strong>(" . $link->slug . ")</strong>"; ?></td>
40
+ <td style="min-width: 50%; width: 50%;"><?php echo htmlspecialchars(stripslashes($link->group_name)); ?></td>
41
+ </tr>
42
+ <?php
43
+
44
+ }
45
+ ?>
46
+ </table>
47
+ </div>
48
+ <span class="setting-description">Select some links for this group. <strong>Note: each link can only be in one group at a time.</strong></span></td>
49
+ </td>
50
+ </tr>
51
+ </table>
52
+ </div>
53
+
54
+ <p class="submit">
55
+ <input type="submit" name="Submit" value="Create" />&nbsp;or&nbsp;<a href="?page=<?php echo PRLI_PLUGIN_NAME ?>/prli-groups.php">Cancel</a>
56
+ </p>
57
+
58
+ </form>
59
+ </div>
classes/views/prli-links/bar.php ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="content-type" content="text/html; charset=UTF-8">
5
+ <title><?php echo htmlspecialchars(stripslashes($pretty_link->name)); ?></title>
6
+ </head>
7
+ <frameset rows="66,*" framespacing=0 frameborder=0>
8
+ <frame src="<?php echo PRLI_URL . "/pretty-bar.php?slug=".$pretty_link->slug . "&url=".urlencode($pretty_link_url.$param_string); ?>" noresize frameborder=0 scrolling=no marginwidth=0 marginheight=0 style="">
9
+ <frame src="<?php echo $pretty_link_url.$param_string; ?>" frameborder=0 marginwidth=0 marginheight=0>
10
+ <noframes>Your browser does not support frames. Click <a href="<?php echo $pretty_link_url.$param_string; ?>">here</a> to view the page.</noframes>
11
+ </frameset>
12
+ </html>
classes/views/prli-links/edit.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="wrap">
2
+ <h2><img src="<?php echo PRLI_URL.'/images/pretty-link-med.png'; ?>"/>&nbsp;Pretty Link: Edit Link</h2>
3
+
4
+ <?php
5
+ require(PRLI_VIEWS_PATH.'/shared/errors.php');
6
+ ?>
7
+
8
+ <form name="form1" method="post" action="?page=<?php echo PRLI_PLUGIN_NAME ?>/prli-links.php">
9
+ <input type="hidden" name="action" value="update">
10
+ <input type="hidden" name="id" value="<?php echo $id; ?>">
11
+ <?php wp_nonce_field('update-options'); ?>
12
+
13
+ <?php
14
+ require(PRLI_VIEWS_PATH.'/prli-links/form.php');
15
+ ?>
16
+
17
+ <p class="submit">
18
+ <input type="submit" name="Submit" value="Update" />&nbsp;or&nbsp;<a href="?page=<?php echo PRLI_PLUGIN_NAME ?>/prli-links.php">Cancel</a>
19
+ </p>
20
+
21
+ </form>
22
+ </div>
classes/views/prli-links/form.php ADDED
@@ -0,0 +1,94 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <table class="form-table">
2
+ <tr class="form-field">
3
+ <td width="75px" valign="top">Target URL*: </td>
4
+ <td><textarea style="height: 50px;" name="url"><?php echo htmlentities($values['url'],ENT_COMPAT,'UTF-8'); ?></textarea>
5
+ <a class="toggle">&nbsp;[?]</a>
6
+ <span class="description toggle_pane"><br/>Enter the URL you want to mask and track. Don't forget to start your url with <code>http://</code> or <code>https://</code>. Example: <code>http://www.yoururl.com</code></span></td>
7
+ </tr>
8
+ <tr>
9
+ <td valign="top">Pretty Link*: </td>
10
+ <td><strong><?php echo $prli_blogurl; ?></strong>/<input type="text" name="slug" value="<?php echo $values['slug']; ?>" size="50"/>
11
+ <a class="toggle">&nbsp;[?]</a>
12
+ <span class="toggle_pane description"><br/>Enter the slug (word trailing your main URL) that will form your pretty link and redirect to the URL above.</span></td>
13
+ </tr>
14
+ <tr class="form-field">
15
+ <td width="75px" valign="top">Title: </td>
16
+ <td><input type="text" name="name" value="<?php echo $values['name']; ?>" />
17
+ <a class="toggle">&nbsp;[?]</a>
18
+ <span class="description toggle_pane"><br/>This will act as the title of your Pretty Link. If a name is not entered here then the slug name will be used.</span></td>
19
+ </tr>
20
+ <tr class="form-field">
21
+ <td valign="top">Description: </td>
22
+ <td><textarea style="height: 50px;" name="description"><?php echo $values['description']; ?></textarea>
23
+ </select><a class="toggle">&nbsp;[?]</a>
24
+ <span class="toggle_pane description"><br/>A Description of this link.</span></td>
25
+ </tr>
26
+ </table>
27
+ <h3><a class="options-table-toggle">Link Options <span class="expand-options" style="display: none;">[+]</span><span class="collapse-options">[-]</span></a> <span class="expand-collapse" style="display: none"><a class="expand-all" title="Show all option instructions.">&nbsp;[?]</a><a class="collapse-all" title="Hide all option instructions." style="display: none;">&nbsp;[?]</a></span></h3>
28
+ <table class="options-table">
29
+ <tr>
30
+ <td valign="top" width="50%">
31
+ <h3>Group&nbsp;</h3>
32
+ <div class="pane">
33
+ <select name="group_id" style="padding: 0px; margin: 0px;">
34
+ <option>None</option>
35
+ <?php
36
+ foreach($values['groups'] as $group)
37
+ {
38
+ ?>
39
+ <option value="<?php echo $group['id']; ?>"<?php echo $group['value']; ?>><?php echo $group['name']; ?>&nbsp;</option>
40
+ <?php
41
+ }
42
+ ?>
43
+ </select><a class="toggle">&nbsp;[?]</a>
44
+ <div class="toggle_pane description">Select a group for this link.</div>
45
+ </div>
46
+ <br/>
47
+ <h3>Redirection Type&nbsp;</h3>
48
+ <div class="pane">
49
+ <select id="redirect_type" name="redirect_type" style="padding: 0px; margin: 0px;">
50
+ <option value="307"<?php echo $values['redirect_type']['307']; ?>>307 (Temporary)&nbsp;</option>
51
+ <option value="301"<?php echo $values['redirect_type']['301']; ?>>301 (Permanent)&nbsp;</option>
52
+ <option value="prettybar"<?php echo $values['redirect_type']['prettybar']; ?>>Pretty Bar&nbsp;</option>
53
+ <option value="cloak"<?php echo $values['redirect_type']['cloak']; ?>>Cloaked&nbsp;</option>
54
+ <option value="pixel"<?php echo $values['redirect_type']['pixel']; ?>>Pixel&nbsp;</option>
55
+ </select><a class="toggle">&nbsp;[?]</a>
56
+ <div class="toggle_pane description"><strong>307 Redirection</strong> is the best option if your Target URL could possibly change or need accurate reporting for this link.<br/><br/><strong>301 Redirection</strong> is the best option if you're <strong>NOT</strong> planning on changing your Target URL. Traditionally this option is considered to be the best approach to use for your SEO/SEM efforts but since Pretty Link uses your domain name either way this notion isn't necessarily true for Pretty Links. Also, this option may not give you accurate reporting since proxy and caching servers may go directly to your Target URL once it's cached.<br/><br/><strong>Pretty Bar Redirection</strong> is the best option if you want to show the Pretty Bar at the top of the page when redirecting to the Target URL.<br/><br/><strong>Cloak Redirection</strong> is the best option if you don't want your Target URL to be visible even after the redirection. This way, if a Target URL doesn't redirect to a URL you want to show then this will mask it.<br/><br/><strong>Pixel Redirection</strong> is the option you should select if you want this link to behave like a tracking pixel instead of as a link. This option is useful if you want to track the number of times a page or email is opened. If you place your Pretty Link inside an img tag on the page (Example: <code>&lt;img src="<?php echo $prli_blogurl . "/yourslug"; ?>" /&gt;</code>) then the page load will be tracked as a click and then displayed. Note: If this option is selected your Target URL will simply be ignored if there's a value in it.</div>
57
+ </div>
58
+ <br/>
59
+ <h3>SEO Options</h3>
60
+ <div class="pane">
61
+ <input type="checkbox" name="nofollow" <?php echo $values['nofollow']; ?>/>&nbsp; 'Nofollow' this Link <a class="toggle">&nbsp;[?]</a>
62
+ <div class="toggle_pane description">Select this if you want to add a nofollow code to this link. A nofollow will prevent reputable spiders and robots from following or indexing this link.</div>
63
+ </div>
64
+ </td>
65
+ <td valign="top" width="50%">
66
+ <h3>Tracking Options</h3>
67
+ <div class="pane">
68
+ <input type="checkbox" name="track_me" <?php echo $values['track_me']; ?>/>&nbsp; Track this Link <a class="toggle">&nbsp;[?]</a>
69
+ <div class="toggle_pane description">De-select this option if you don't want this link tracked. If de-selected, this link will still redirect to the target URL but hits on it won't be recorded in the database.</div>
70
+ </div>
71
+ <br/>
72
+ <a name="param_forwarding_pos" height="0"></a>
73
+ <h3>Parameter Forwarding</h3>
74
+ <ul style="list-style-type: none" class="pane">
75
+ <li>
76
+ <input type="radio" name="param_forwarding" value="off" <?php echo $values['param_forwarding']['off']; ?>/>&nbsp;Forward Parameters Off <a class="toggle">&nbsp;[?]</a>
77
+ <div class="toggle_pane description">You may want to leave this option off if you don't need to forward any parameters on to your Target URL.</div>
78
+ </li>
79
+ <li>
80
+ <input type="radio" name="param_forwarding" value="on" <?php echo $values['param_forwarding']['on']; ?> />&nbsp;Standard Parameter Forwarding <a class="toggle">&nbsp;[?]</a>
81
+ <div class="toggle_pane description">Select this option if you want to forward parameters through your pretty link to your Target URL. This will allow you to pass parameters in the standard syntax for example the pretty link <code>http://yoururl.com/coollink?product_id=4&sku=5441</code> will forward to the target URL and append the same parameters like so: <code>http://anotherurl.com?product_id=4&sku=5441</code>.</div>
82
+ </li>
83
+ <li>
84
+ <input type="radio" name="param_forwarding" value="custom" <?php echo $values['param_forwarding']['custom']; ?> />&nbsp;Custom Parameter Forwarding&nbsp;&nbsp;<input type="text" name="param_struct" value="<?php echo $values['param_struct'] ?>" size="25"/> <a class="toggle">&nbsp;[?]</a>
85
+ <div class="toggle_pane description">Select this option if you want to forward parameters through your Pretty Link to your Target URL and write the parameters in a custom format. For example, say I wanted to to have my links look like this: <code>http://yourdomain.com/products/14/4</code> and I wanted this to forward to <code>http://anotherurl.com?product_id=14&dock=4</code> you'd just select this option and enter the following string into the text field <code>/products/%product_id%/%dock%</code>. This will tell Pretty Link where each variable will be located in the URL and what each variable name is.</div>
86
+ </li>
87
+ </ul>
88
+ </td>
89
+ </tr>
90
+ </table>
91
+ <?php
92
+ // Add stuff to the form here
93
+ do_action('prli_link_fields',$id);
94
+ ?>
classes/views/prli-links/head.php ADDED
@@ -0,0 +1,91 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script type="text/javascript">
2
+ jQuery(document).ready(function() {
3
+ jQuery('.link_actions').hide();
4
+ jQuery('.edit_link').hover(
5
+ function() {
6
+ jQuery(this).children(".link_actions").show();
7
+ },
8
+ function() {
9
+ jQuery(this).children(".link_actions").hide();
10
+ }
11
+ );
12
+
13
+ jQuery(".options-table").hide();
14
+ jQuery(".options-table-toggle > .expand-options").show();
15
+ jQuery(".options-table-toggle > .collapse-options").hide();
16
+ jQuery(".options-table-toggle").click( function () {
17
+ jQuery(this).children(".expand-options").toggle();
18
+ jQuery(this).children(".collapse-options").toggle();
19
+ jQuery(".expand-collapse").toggle();
20
+ jQuery(".options-table").toggle();
21
+ });
22
+
23
+ jQuery(".toggle_pane").hide();
24
+ jQuery(".toggle").click( function () {
25
+ jQuery(this).next(".toggle_pane").toggle();
26
+ });
27
+ jQuery(".expand-all").click( function () {
28
+ jQuery(".toggle_pane").show();
29
+ jQuery(".expand-all").hide();
30
+ jQuery(".collapse-all").show();
31
+ });
32
+ jQuery(".collapse-all").click( function () {
33
+ jQuery(".toggle_pane").hide();
34
+ jQuery(".expand-all").show();
35
+ jQuery(".collapse-all").hide();
36
+ });
37
+ });
38
+ </script>
39
+
40
+ <style type="text/css">
41
+
42
+ .options-table {
43
+ width: 80%;
44
+ margin-top: 10px;
45
+ }
46
+
47
+ .options-table td {
48
+ padding: 10px;
49
+ background-color: #f4f0db;
50
+ }
51
+
52
+ .options-table h3 {
53
+ padding: 0px;
54
+ margin: 0px;
55
+ padding-left: 10px;
56
+ }
57
+
58
+ .expand-all, .collapse-all, .options-table-toggle {
59
+ cursor: pointer;
60
+ }
61
+
62
+ .toggle {
63
+ line-height: 34px;
64
+ font-size: 12px;
65
+ font-weight: bold;
66
+ padding-bottom: 10px;
67
+ cursor: pointer;
68
+ }
69
+
70
+ .pane {
71
+ background-color: #f4f0db;
72
+ padding-left: 10px;
73
+ }
74
+
75
+ ul.pane li {
76
+ padding: 0px;
77
+ margin: 0px;
78
+ }
79
+
80
+ .edit_link {
81
+ height: 50px;
82
+ }
83
+
84
+ .slug_name {
85
+ font-size: 12px;
86
+ font-weight: bold;
87
+ }
88
+ .link_actions {
89
+ padding-top: 5px;
90
+ }
91
+ </style>
classes/views/prli-links/list.php ADDED
@@ -0,0 +1,184 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="wrap">
2
+ <?php
3
+ require(PRLI_VIEWS_PATH.'/shared/nav.php');
4
+ ?>
5
+ <h2><img src="<?php echo PRLI_URL.'/images/pretty-link-med.png'; ?>"/>&nbsp;Pretty Link: Links</h2>
6
+ <?php
7
+ if(empty($params['group']))
8
+ {
9
+ $permalink_structure = get_option('permalink_structure');
10
+ if(!$permalink_structure or empty($permalink_structure))
11
+ {
12
+ ?>
13
+ <div class="error" style="padding-top: 5px; padding-bottom: 5px;"><strong>WordPress Must be Configured:</strong> Pretty Link won't work until you select a Permalink Structure other than "Default" ... <a href="<?php echo $prli_siteurl; ?>/wp-admin/options-permalink.php">Permalink Settings</a></div>
14
+ <?php
15
+ }
16
+ ?>
17
+ <div id="message" class="updated fade" style="padding:5px;"><?php echo $prli_message; ?></div>
18
+ <?php do_action('prli-link-message'); ?>
19
+ <div id="search_pane" style="float: right;">
20
+ <form class="form-fields" name="link_form" method="post" action="<?php echo str_replace( '%7E', '~', $_SERVER['REQUEST_URI']); ?>">
21
+ <?php wp_nonce_field('prli-links'); ?>
22
+ <input type="hidden" name="sort" id="sort" value="<?php echo $sort_str; ?>" />
23
+ <input type="hidden" name="sdir" id="sort" value="<?php echo $sdir_str; ?>" />
24
+ <input type="text" name="search" id="search" value="<?php echo $search_str; ?>" style="display:inline;"/>
25
+ <div class="submit" style="display: inline;"><input type="submit" name="Submit" value="Search"/>
26
+ <?php
27
+ if(!empty($search_str))
28
+ {
29
+ ?>
30
+ or <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php">Reset</a>
31
+ <?php
32
+ }
33
+ ?>
34
+ </div>
35
+ </form>
36
+ </div>
37
+ <div id="button_bar">
38
+ <p><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-add-link.php"><img src="<?php echo PRLI_URL.'/images/pretty-link-add.png'; ?>"/> Add a Pretty Link</a>
39
+ &nbsp;|&nbsp;<a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-options.php">Options</a>
40
+ &nbsp;|&nbsp;<a href="http://blairwilliams.com/plintro">Watch Pretty Link Intro Video</a>
41
+ <?php do_action('prli-link-nav'); ?>
42
+ </p>
43
+ </div>
44
+ <?php
45
+ }
46
+ else
47
+ {
48
+ ?>
49
+ <h3><?php echo $prli_message; ?></h3>
50
+ <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-groups.php">&laquo Back to Groups</a>
51
+ <br/><br/>
52
+ <?php
53
+ }
54
+ ?>
55
+ <form class="form-fields link-list-form" name="link_list_form" method="post" action="<?php echo str_replace( '%7E', '~', $_SERVER['REQUEST_URI']); ?>">
56
+ <input type="hidden" name="action" value="list-form"/>
57
+ <?php $footer = false; require(PRLI_VIEWS_PATH.'/shared/link-table-nav.php'); ?>
58
+ <table class="widefat post fixed" cellspacing="0">
59
+ <thead>
60
+ <tr>
61
+ <th class="manage-column" width="30%"><?php do_action('prli-list-header-icon'); ?><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&sort=name<?php echo (($sort_str == 'name' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Name<?php echo (($sort_str == 'name')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_URL.'/images/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a></th>
62
+ <?php do_action('prli_link_column_header'); ?>
63
+ <th class="manage-column" width="10%"><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&sort=clicks<?php echo (($sort_str == 'clicks' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Hits / Uniq<?php echo (($sort_str == 'clicks')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_URL.'/images/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a></th>
64
+ <th class="manage-column" width="5%"><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&sort=group_name<?php echo (($sort_str == 'group_name' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Group<?php echo (($sort_str == 'group_name')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_URL.'/images/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a></th>
65
+ <th class="manage-column" width="12%"><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&sort=created_at<?php echo (($sort_str == 'created_at' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Created<?php echo ((empty($sort_str) or $sort_str == 'created_at')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_URL.'/images/'.((empty($sort_str) or $sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a></th>
66
+ <th class="manage-column" width="20%"><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&sort=slug<?php echo (($sort_str == 'slug' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Links<?php echo (($sort_str == 'slug')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_URL.'/images/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a></th>
67
+ </tr>
68
+ </thead>
69
+ <?php
70
+
71
+ if($record_count <= 0)
72
+ {
73
+ ?>
74
+ <tr>
75
+ <td colspan="5">Watch this video to see how to get started! -- <a href="http://blairwilliams.com/xba"><strong>Get More Video Tutorials like this one...</strong></a><br/><object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/i6C2Bljby3k&hl=en&fs=1&rel=0&color1=0x3a3a3a&color2=0x999999"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/i6C2Bljby3k&hl=en&fs=1&rel=0&color1=0x3a3a3a&color2=0x999999" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed></object></td>
76
+ </tr>
77
+ <?php
78
+ }
79
+ else
80
+ {
81
+ global $prli_blogurl;
82
+ foreach($links as $link)
83
+ {
84
+ $pretty_link_url = "{$prli_blogurl}/{$link->slug}";
85
+ ?>
86
+ <tr style="min-height: 75px; height: 75px;">
87
+ <td class="edit_link">
88
+
89
+ <?php do_action('prli_list_icon',$link->id); ?>
90
+ <?php if( $link->redirect_type == 'prettybar' ) { ?>
91
+ <img src="<?php echo PRLI_URL.'/images/pretty-link-small.png'; ?>" title="Using PrettyBar" width="13px" height="13px" />
92
+ <?php }
93
+ else if( $link->redirect_type == 'cloak' ) { ?>
94
+ <img src="<?php echo PRLI_URL.'/images/ultra-cloak.png'; ?>" title="Using Ultra Cloak" width="13px" height="13px" />
95
+ <?php }
96
+ else if( $link->redirect_type == 'pixel' ) { ?>
97
+ <img src="<?php echo PRLI_URL.'/images/pixel_track.png'; ?>" width="13px" height="13px" name="Pixel Tracking Enabled" alt="Pixel Tracking Enabled" title="Pixel Tracking Enabled"/>&nbsp;
98
+ <?php }
99
+ else if( $link->redirect_type == '307' ) { ?>
100
+ <span title="Temporary Redirection (307)" style="font-size: 14px; line-height: 14px; padding: 0px; margin: 0px; color: green;"><strong>T</strong></span>&nbsp;
101
+ <?php }
102
+ else if( $link->redirect_type == '301' ) { ?>
103
+ <span title="Permanent Redirection (301)" style="font-size: 14px; line-height: 14px; padding: 0px; margin: 0px; color: green;"><strong>P</strong></span>&nbsp;
104
+ <?php } ?>
105
+
106
+ <?php if( $link->nofollow ) { ?>
107
+ <img src="<?php echo PRLI_URL.'/images/nofollow.png'; ?>" title="nofollow" width="13px" height="13px" />
108
+ <?php }
109
+
110
+ if($link->param_forwarding == 'on')
111
+ {
112
+ ?>
113
+ <img src="<?php echo PRLI_URL.'/images/forward_params.png'; ?>" width="13px" height="13px" name="Standard Parameter Forwarding Enabled" alt="Standard Parameter Forwarding Enabled" title="Standard Parameter Forwarding Enabled"/>&nbsp;
114
+ <?php
115
+ }
116
+ else if($link->param_forwarding == 'custom')
117
+ {
118
+ ?>
119
+ <img src="<?php echo PRLI_URL.'/images/forward_params.png'; ?>" width="13px" height="13px" name="Custom Parameter Forwarding Enabled" alt="Custom Parameter Forwarding Enabled" title="Custom Parameter Forwarding Enabled"/>&nbsp;
120
+ <?php
121
+ }
122
+ ?>
123
+
124
+ <?php if( $link->redirect_type != 'pixel' )
125
+ {
126
+ ?>
127
+ <a href="<?php echo $link->url; ?>" target="_blank" title="Visit Target URL: <?php echo $link->url; ?> in a New Window"><img src="<?php echo PRLI_URL.'/images/url_icon.gif'; ?>" width="13px" height="13px" name="Visit" alt="Visit"/></a>&nbsp;
128
+ <a href="<?php echo $pretty_link_url; ?>" target="_blank" title="Visit Pretty Link: <?php echo $pretty_link_url; ?> in a New Window"><img src="<?php echo PRLI_URL.'/images/url_icon.gif'; ?>" width="13px" height="13px" name="Visit" alt="Visit"/></a>&nbsp;
129
+ <?php
130
+ }
131
+ ?>
132
+ <a class="slug_name" href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&action=edit&id=<?php echo $link->id; ?>" title="Edit <?php echo stripslashes($link->name); ?>"><?php echo stripslashes($link->name); ?></a>
133
+ <br/>
134
+ <div class="link_actions">
135
+ <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&action=edit&id=<?php echo $link->id; ?>" title="Edit <?php echo $link->slug; ?>">Edit</a>&nbsp;|
136
+ <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&action=destroy&id=<?php echo $link->id; ?>" onclick="return confirm('Are you sure you want to delete your <?php echo $link->name; ?> Pretty Link? This will delete the Pretty Link and all of the statistical data about it in your database.');" title="Delete <?php echo $link->slug; ?>">Delete</a>
137
+ <?php if( $link->track_me ) { ?>
138
+ |&nbsp;<a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&action=reset&id=<?php echo $link->id; ?>" onclick="return confirm('Are you sure you want to reset your <?php echo $link->name; ?> Pretty Link? This will delete all of the statistical data about this Pretty Link in your database.');" title="Reset <?php echo $link->name; ?>">Reset</a>&nbsp;|
139
+ <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php&l=<?php echo $link->id; ?>" title="View clicks for <?php echo $link->slug; ?>">Hits</a>
140
+ <?php do_action('prli-link-action',$link->id); ?>
141
+ <?php } ?>
142
+ <?php if( $link->redirect_type != 'pixel' )
143
+ {
144
+ ?>
145
+ |&nbsp;<a href="http://twitter.com/home?status=<?php echo $pretty_link_url; ?>" target="_blank" title="Post <?php echo $pretty_link_url; ?> to Twitter">Tweet</a>&nbsp;|
146
+ <a href="mailto:?subject=Pretty Link&body=<?php echo $pretty_link_url; ?>" target="_blank" title="Send <?php echo $pretty_link_url; ?> in an Email">Email</a>
147
+ <?php
148
+ }
149
+ ?>
150
+ </div>
151
+ </td>
152
+ <?php do_action('prli_link_column_row',$link->id); ?>
153
+ <td><?php echo (($link->track_me)?"<a href=\"?page=".PRLI_PLUGIN_NAME."/prli-clicks.php&l=$link->id\" title=\"View clicks for $link->slug\">$link->clicks/$link->uniques</a>":"<img src=\"".PRLI_URL."/images/not_tracking.png\" title=\"This link isn't being tracked\"/>"); ?></td>
154
+ <td><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&group=<?php echo $link->group_id; ?>"><?php echo $link->group_name; ?></a></td>
155
+ <td><?php echo $link->created_at; ?></td>
156
+ </td>
157
+ <td><input type='text' style="font-size: 10px; width: 100%;" readonly="true" onclick='this.select();' onfocus='this.select();' value='<?php echo $pretty_link_url; ?>' /><br/>
158
+ <?php if( $link->redirect_type != 'pixel' )
159
+ {
160
+ ?>
161
+ <span style="font-size: 8px;" title="<?php echo $link->url; ?>"><strong>Target URL:</strong> <?php echo htmlentities((substr($link->url,0,47) . ((strlen($link->url) >= 47)?'...':'')),ENT_COMPAT,'UTF-8'); ?></span></td>
162
+ <?php
163
+ }
164
+ ?>
165
+ </tr>
166
+ <?php
167
+ }
168
+ }
169
+ ?>
170
+ <tfoot>
171
+ <tr>
172
+ <th class="manage-column"><?php do_action('prli-list-header-icon'); ?>Name</th>
173
+ <?php do_action('prli_link_column_footer'); ?>
174
+ <th class="manage-column">Hits / Uniq</th>
175
+ <th class="manage-column">Group</th>
176
+ <th class="manage-column">Created</th>
177
+ <th class="manage-column">Links</th>
178
+ </tr>
179
+ </tfoot>
180
+ </table>
181
+ <?php $footer = true; require(PRLI_VIEWS_PATH.'/shared/link-table-nav.php'); ?>
182
+ </form>
183
+
184
+ </div>
classes/views/prli-links/new.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="wrap">
2
+ <h2><img src="<?php echo PRLI_URL.'/images/pretty-link-med.png'; ?>"/>&nbsp;Pretty Link: Add Link</h2>
3
+
4
+ <?php
5
+ require(PRLI_VIEWS_PATH.'/shared/errors.php');
6
+ ?>
7
+
8
+ <form name="form1" method="post" action="?page=<?php echo PRLI_PLUGIN_NAME ?>/prli-links.php">
9
+ <input type="hidden" name="action" value="create">
10
+ <?php wp_nonce_field('update-options'); ?>
11
+ <input type="hidden" name="id" value="<?php echo $id; ?>">
12
+
13
+ <?php
14
+ require(PRLI_VIEWS_PATH.'/prli-links/form.php');
15
+ ?>
16
+
17
+ <p class="submit">
18
+ <input type="submit" name="Submit" value="Create" />&nbsp;or&nbsp;<a href="?page=<?php echo PRLI_PLUGIN_NAME ?>/prli-links.php">Cancel</a>
19
+ </p>
20
+
21
+ </form>
22
+ </div>
classes/views/prli-links/ultra-cloak.php ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="content-type" content="text/html; charset=UTF-8">
5
+ <title><?php echo htmlspecialchars(stripslashes($pretty_link->name)); ?></title>
6
+ </head>
7
+ <frameset rows="*" framespacing=0 frameborder=0>
8
+ <frame src="<?php echo $pretty_link_url.$param_string; ?>" frameborder=0 marginwidth=0 marginheight=0>
9
+ <noframes>Your browser does not support frames. Click <a href="<?php echo $pretty_link_url.$param_string; ?>">here</a> to view the page.</noframes>
10
+ </frameset>
11
+ </html>
classes/views/prli-options/form.php ADDED
@@ -0,0 +1,176 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="wrap">
2
+ <div id="icon-options-general" class="icon32"><br /></div>
3
+ <h2 id="prli_title">Pretty Link: Options</h2>
4
+ <br/>
5
+ <?php
6
+ $permalink_structure = get_option('permalink_structure');
7
+ if(!$permalink_structure or empty($permalink_structure))
8
+ {
9
+ ?>
10
+ <div class="error" style="padding-top: 5px; padding-bottom: 5px;"><strong>WordPress Must be Configured:</strong> Pretty Link won't work until you select a Permalink Structure other than "Default" ... <a href="<?php echo $prli_siteurl; ?>/wp-admin/options-permalink.php">Permalink Settings</a></div>
11
+ <?php
12
+ }
13
+ ?>
14
+ <?php do_action('prli-options-message'); ?>
15
+ <a href="admin.php?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php">&laquo Pretty Link Admin</a>
16
+
17
+ <form name="form1" method="post" action="<?php echo str_replace( '%7E', '~', $_SERVER['REQUEST_URI']); ?>">
18
+ <input type="hidden" name="<?php echo $hidden_field_name; ?>" value="Y">
19
+ <?php wp_nonce_field('update-options'); ?>
20
+
21
+ <h3><a class="toggle link-toggle-button">Link Option Defaults <span class="link-expand" style="display: none;">[+]</span><span class="link-collapse">[-]</span></a></h3>
22
+ <ul class="link-toggle-pane" style="list-style-type: none;">
23
+ <input type="checkbox" name="<?php echo $link_track_me; ?>" <?php echo (($prli_options->link_track_me != 0)?'checked="true"':''); ?>/>&nbsp; Track Link
24
+ <br/><span class="description">Default all new links to be tracked.</span>
25
+ </li>
26
+ <li>
27
+ <input type="checkbox" name="<?php echo $link_nofollow; ?>" <?php echo (($prli_options->link_nofollow != 0)?'checked="true"':''); ?>/>&nbsp; Add <code>nofollow</code> to Link
28
+ <br/><span class="description">Add the <code>nofollow</code> attribute by default to new links.</span>
29
+ </li>
30
+ <li>
31
+ <h4>Default Link Redirection Type:</h4>
32
+ <select name="<?php echo $link_redirect_type; ?>">
33
+ <option value="307" <?php echo (($prli_options->link_redirect_type == '307')?' selected="selected"':''); ?>/>Temporary (307)</option>
34
+ <option value="301" <?php echo (($prli_options->link_redirect_type == '301')?' selected="selected"':''); ?>/>Permanent (301)</option>
35
+ <option value="prettybar" <?php echo (($prli_options->link_redirect_type == 'prettybar')?' selected="selected"':''); ?>/>Pretty Bar</option>
36
+ <option value="cloak" <?php echo (($prli_options->link_redirect_type == 'cloak')?' selected="selected"':''); ?>/>Cloak</option>
37
+ <option value="pixel" <?php echo (($prli_options->link_redirect_type == 'pixel')?' selected="selected"':''); ?>/>Pixel</option>
38
+ </select>
39
+ <br/><span class="description">Select the type of redirection you want your newly created links to have.</span>
40
+ </li>
41
+ </ul>
42
+ <h3><a class="toggle prettybar-toggle-button">PrettyBar Options <span class="prettybar-expand" style="display: none;">[+]</span><span class="prettybar-collapse">[-]</span></a></h3>
43
+ <table class="prettybar-toggle-pane form-table">
44
+ <tr class="form-field">
45
+ <td valign="top" width="15%"><?php _e("Image URL:", $prettybar_image_url ); ?> </td>
46
+ <td width="85%">
47
+ <input type="text" name="<?php echo $prettybar_image_url; ?>" value="<?php echo $prli_options->prettybar_image_url; ?>"/>
48
+ <br/><span class="description">If set, this will replace the logo image on the PrettyBar. The image that this URL references should be 48x48 Pixels to fit.</span>
49
+ </td>
50
+ </tr>
51
+ <tr class="form-field">
52
+ <td valign="top" width="15%"><?php _e("Background Image URL:", $prettybar_background_image_url ); ?> </td>
53
+ <td width="85%">
54
+ <input type="text" name="<?php echo $prettybar_background_image_url; ?>" value="<?php echo $prli_options->prettybar_background_image_url; ?>"/>
55
+ <br/><span class="description">If set, this will replace the background image on PrettyBar. The image that this URL references should be 65px tall -- this image will be repeated horizontally across the bar.</span>
56
+ </td>
57
+ </tr>
58
+ <tr>
59
+ <td valign="top" width="15%"><?php _e("Background Color:", $prettybar_color ); ?> </td>
60
+ <td width="85%">
61
+ #<input type="text" name="<?php echo $prettybar_color; ?>" value="<?php echo $prli_options->prettybar_color; ?>" size="6"/>
62
+ <br/><span class="description">This will alter the background color of the PrettyBar if you haven't specified a PrettyBar background image.</span>
63
+ </td>
64
+ </tr>
65
+ <tr>
66
+ <td valign="top" width="15%"><?php _e("Text Color:", $prettybar_text_color ); ?> </td>
67
+ <td width="85%">
68
+ #<input type="text" name="<?php echo $prettybar_text_color; ?>" value="<?php echo $prli_options->prettybar_text_color; ?>" size="6"/>
69
+ <br/><span class="description">If not set, this defaults to black (RGB value <code>#000000</code>) but you can change it to whatever color you like.</span>
70
+ </td>
71
+ </tr>
72
+ <tr>
73
+ <td valign="top" width="15%"><?php _e("Link Color:", $prettybar_link_color ); ?> </td>
74
+ <td width="85%">
75
+ #<input type="text" name="<?php echo $prettybar_link_color; ?>" value="<?php echo $prli_options->prettybar_link_color; ?>" size="6"/>
76
+ <br/><span class="description">If not set, this defaults to blue (RGB value <code>#0000ee</code>) but you can change it to whatever color you like.</span>
77
+ </td>
78
+ </tr>
79
+ <tr>
80
+ <td valign="top" width="15%"><?php _e("Link Hover Color:", $prettybar_hover_color ); ?> </td>
81
+ <td width="85%">
82
+ #<input type="text" name="<?php echo $prettybar_hover_color; ?>" value="<?php echo $prli_options->prettybar_hover_color; ?>" size="6"/>
83
+ <br/><span class="description">If not set, this defaults to RGB value <code>#ababab</code> but you can change it to whatever color you like.</span>
84
+ </td>
85
+ </tr>
86
+ <tr>
87
+ <td valign="top" width="15%"><?php _e("Visited Link Color:", $prettybar_visited_color ); ?> </td>
88
+ <td width="85%">
89
+ #<input type="text" name="<?php echo $prettybar_visited_color; ?>" value="<?php echo $prli_options->prettybar_visited_color; ?>" size="6"/>
90
+ <br/><span class="description">If not set, this defaults to RGB value <code>#551a8b</code> but you can change it to whatever color you like.</span>
91
+ </td>
92
+ </tr>
93
+ <tr>
94
+ <td valign="top" width="15%"><?php _e("Title Char Limit*:", $prettybar_title_limit ); ?> </td>
95
+ <td width="85%">
96
+ <input type="text" name="<?php echo $prettybar_title_limit; ?>" value="<?php echo $prli_options->prettybar_title_limit; ?>" size="4"/>
97
+ <br/><span class="description">If your Website has a long title then you may need to adjust this value so that it will all fit on the PrettyBar. It is recommended that you keep this value to <code>30</code> characters or less so the PrettyBar's format looks good across different browsers and screen resolutions.</span>
98
+ </td>
99
+ </tr>
100
+ <tr>
101
+ <td valign="top" width="15%"><?php _e("Description Char Limit*:", $prettybar_desc_limit ); ?> </td>
102
+ <td width="85%">
103
+ <input type="text" name="<?php echo $prettybar_desc_limit; ?>" value="<?php echo $prli_options->prettybar_desc_limit; ?>" size="4"/>
104
+ <br/><span class="description">If your Website has a long Description (tagline) then you may need to adjust this value so that it will all fit on the PrettyBar. It is recommended that you keep this value to <code>40</code> characters or less so the PrettyBar's format looks good across different browsers and screen resolutions.</span>
105
+ </td>
106
+ </tr>
107
+ <tr>
108
+ <td valign="top" width="15%"><?php _e("Target URL Char Limit*:", $prettybar_link_limit ); ?> </td>
109
+ <td width="85%">
110
+ <input type="text" name="<?php echo $prettybar_link_limit; ?>" value="<?php echo $prli_options->prettybar_link_limit; ?>" size="4"/>
111
+ <br/><span class="description">If you link to a lot of large Target URLs you may want to adjust this value. It is recommended that you keep this value to <code>40</code> or below so the PrettyBar's format looks good across different browsers and URL sizes</span>
112
+ </td>
113
+ </tr>
114
+ <tr>
115
+ <td colspan="2">
116
+ <input type="checkbox" name="<?php echo $prettybar_show_title; ?>" <?php echo (($prli_options->prettybar_show_title != 0)?'checked="true"':''); ?>/>&nbsp; Show Pretty Bar Title
117
+ <br/><span class="description">Make sure this is checked if you want the title of your blog (and link) to show up on the PrettyBar.</span>
118
+ </td>
119
+ </tr>
120
+ <tr>
121
+ <td colspan="2">
122
+ <input type="checkbox" name="<?php echo $prettybar_show_description; ?>" <?php echo (($prli_options->prettybar_show_description != 0)?'checked="true"':''); ?>/>&nbsp; Show Pretty Bar Description
123
+ <br/><span class="description">Make sure this is checked if you want your site description to show up on the PrettyBar.</span>
124
+ </td>
125
+ </tr>
126
+ <tr>
127
+ <td colspan="2">
128
+ <input type="checkbox" name="<?php echo $prettybar_show_share_links; ?>" <?php echo (($prli_options->prettybar_show_share_links != 0)?'checked="true"':''); ?>/>&nbsp; Show Pretty Bar Share Links
129
+ <br/><span class="description">Make sure this is checked if you want "share links" to show up on the PrettyBar.</span>
130
+ </td>
131
+ </tr>
132
+ <tr>
133
+ <td colspan="2">
134
+ <input type="checkbox" name="<?php echo $prettybar_show_target_url_link; ?>" <?php echo (($prli_options->prettybar_show_target_url_link != 0)?'checked="true"':''); ?>/>&nbsp; Show Pretty Bar Target URL
135
+ <br/><span class="description">Make sure this is checked if you want a link displaying the Target URL to show up on the PrettyBar.</span>
136
+ </td>
137
+ </tr>
138
+
139
+ <?php do_action('prli-prettybar-options'); ?>
140
+ </table>
141
+ <h3><a class="toggle reporting-toggle-button">Reporting Options <span class="reporting-expand" style="display: none;">[+]</span><span class="reporting-collapse">[-]</span></a></h3>
142
+ <table class="reporting-toggle-pane form-table">
143
+ <tr class="form-field">
144
+ <td valign="top">Excluded IP Addresses: </td>
145
+ <td>
146
+ <input type="text" name="<?php echo $prli_exclude_ips; ?>" value="<?php echo $prli_options->prli_exclude_ips; ?>">
147
+ <br/><span class="description">Enter IP Addresses or IP Ranges you want to exclude from your Hit data and Stats. Each IP Address should be separated by commas. Example: <code>192.168.0.1, 192.168.2.1, 192.168.3.4 or 192.168.*.*</code></span>
148
+ <br/><span class="description" style="color: red;">Your Current IP Address is <?php echo $_SERVER['REMOTE_ADDR']; ?></span>
149
+ </td>
150
+ </tr>
151
+ <tr>
152
+ <td colspan="2">
153
+ <input type="checkbox" class="filter-robots-checkbox" name="<?php echo $filter_robots; ?>" <?php echo (($prli_options->filter_robots != 0)?'checked="true"':''); ?>/>&nbsp; Filter Robots
154
+ <br/><span class="description">Filter known Robots and unidentifiable browser clients from your hit data, stats and reports. <code>IMPORTANT: Any robot hits recorded with any version of Pretty Link before 1.4.22 won't be filtered by this setting.</code></span>
155
+ <table class="option-pane whitelist-ips">
156
+ <tr class="form-field">
157
+ <td valign="top">Whitelist IP Addresses: </td>
158
+ <td>
159
+ <input type="text" name="<?php echo $whitelist_ips; ?>" value="<?php echo $prli_options->whitelist_ips; ?>">
160
+ <br/><span class="description">Enter IP Addresses or IP Ranges you want to always include in your Hit data and Stats even if they are flagged as robots. Each IP Address should be separated by commas. Example: <code>192.168.0.1, 192.168.2.1, 192.168.3.4 or 192.168.*.*</code></span>
161
+ </td>
162
+ </tr>
163
+ </table>
164
+ </td>
165
+ </tr>
166
+ </table>
167
+
168
+ <p class="submit">
169
+ <input type="submit" name="Submit" value="<?php _e('Update Options', $prli_domain ) ?>" />
170
+ </p>
171
+
172
+ <p><a href="<?php echo str_replace( '%7E', '~', $_SERVER['REQUEST_URI'] ); ?>&action=clear_all_clicks4134" onclick="return confirm('***WARNING*** If you click OK you will delete ALL of the Hit data in your Database. Your data will be gone forever -- no way to retreive it. Do not click OK unless you are absolutely sure you want to delete all your data because there is no going back!');">Delete All Hits</a>
173
+ <br/><span class="description">Seriously, only click this link if you want to delete all the Hit data in your database.</span></p>
174
+
175
+ </form>
176
+ </div>
classes/views/prli-options/head.php ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script type="text/javascript">
2
+ jQuery(document).ready(function() {
3
+ jQuery('.prettybar-expand').show();
4
+ jQuery('.prettybar-collapse').hide();
5
+ jQuery('.prettybar-toggle-pane').hide();
6
+ jQuery('.prettybar-toggle-button').click(function() {
7
+ jQuery('.prettybar-toggle-pane').toggle();
8
+ jQuery('.prettybar-expand').toggle();
9
+ jQuery('.prettybar-collapse').toggle();
10
+ });
11
+
12
+ jQuery('.reporting-expand').show();
13
+ jQuery('.reporting-collapse').hide();
14
+ jQuery('.reporting-toggle-pane').hide();
15
+ jQuery('.reporting-toggle-button').click(function() {
16
+ jQuery('.reporting-toggle-pane').toggle();
17
+ jQuery('.reporting-expand').toggle();
18
+ jQuery('.reporting-collapse').toggle();
19
+ });
20
+
21
+ jQuery('.link-expand').show();
22
+ jQuery('.link-collapse').hide();
23
+ jQuery('.link-toggle-pane').hide();
24
+ jQuery('.link-toggle-button').click(function() {
25
+ jQuery('.link-toggle-pane').toggle();
26
+ jQuery('.link-expand').toggle();
27
+ jQuery('.link-collapse').toggle();
28
+ });
29
+
30
+ if (jQuery('.filter-robots-checkbox').is(':checked')) {
31
+ jQuery('.whitelist-ips').show();
32
+ }
33
+ else {
34
+ jQuery('.whitelist-ips').hide();
35
+ }
36
+
37
+ jQuery('.filter-robots-checkbox').change(function() {
38
+ if (jQuery('.filter-robots-checkbox').is(':checked')) {
39
+ jQuery('.whitelist-ips').show();
40
+ }
41
+ else {
42
+ jQuery('.whitelist-ips').hide();
43
+ }
44
+ });
45
+ });
46
+ </script>
47
+
48
+ <style type="text/css">
49
+ .toggle {
50
+ cursor: pointer;
51
+ }
52
+ </style>
53
+
54
+ <?php do_action('prli-options-head'); ?>
classes/views/prli-options/pro-settings.php ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="wrap">
2
+ <div id="icon-options-general" class="icon32"><br /></div>
3
+ <h2 id="prli_title">Pretty Link: Pro Account Information</h2>
4
+ <?php $this_uri = preg_replace('#&.*?$#', '', str_replace( '%7E', '~', $_SERVER['REQUEST_URI'])); ?>
5
+ <form name="proaccount_form" method="post" action="<?php echo $this_uri; ?>">
6
+ <input type="hidden" name="<?php echo $hidden_field_name; ?>" value="Y">
7
+ <input type="hidden" name="action" value="pro-settings">
8
+ <?php wp_nonce_field('update-options'); ?>
9
+
10
+ <h3>Pretty Link Pro Account Information</h3>
11
+ <?php if($prli_utils->pro_is_installed()) { ?>
12
+ <p><a href="http://prettylinkpro.com/user-manual">User Manual</a></p>
13
+ <?php } ?>
14
+ <table class="form-table">
15
+ <tr class="form-field">
16
+ <td valign="top" width="15%"><?php _e("Pretty Link Pro Username*:", $prlipro_username ); ?> </td>
17
+ <td width="85%">
18
+ <input type="text" name="<?php echo $prlipro_username; ?>" value="<?php echo $prlipro_username_val; ?>"/>
19
+ <br/><span class="description">Your Pretty Link Pro Username.</span>
20
+ </td>
21
+ </tr>
22
+ <tr class="form-field">
23
+ <td valign="top" width="15%"><?php _e("Pretty Link Pro Password:", $prlipro_password ); ?> </td>
24
+ <td width="85%">
25
+ <input type="password" name="<?php echo $prlipro_password; ?>" value="<?php echo $prlipro_password_val; ?>"/>
26
+ <br/><span class="description">Your Pretty Link Pro Password.</span>
27
+ </td>
28
+ </tr>
29
+ </table>
30
+
31
+ <p class="submit">
32
+ <input type="submit" name="Submit" value="<?php _e('Save', $prli_domain ) ?>" />
33
+ </p>
34
+
35
+ <?php if($prli_utils->pro_is_installed()) { ?>
36
+ <div><p><strong>The <?php echo $prli_utils->get_pro_version(); ?> Version of Pretty LInk Pro is Installed</strong></p><p><a href="<?php echo $this_uri; ?>&action=force-pro-reinstall" title="Re-Install">Re-Install</a>&nbsp;|&nbsp;<a href="<?php echo $this_uri; ?>&action=pro-uninstall" onclick="return confirm('Are you sure you want to Un-Install Pretty Link Pro? This will delete your pro username & password from your local database, remove all the pro software but will leave all your data intact incase you want to reinstall sometime :) ...');" title="Un-Install" >Un-Install</a></p><br/><p><strong>Edit/Update Your Profile:</strong><br/><span class="description">Use your account username and password to log in to your Account and Affiliate Control Panel</span></p><p><a href="http://prettylinkpro.com/amember/member.php">Account</a>&nbsp;|&nbsp;<a href="http://prettylinkpro.com/amember/aff_member.php">Affiliate Control Panel</a></div>
37
+
38
+ <?php } else { ?>
39
+ <p><strong>Ready to take your marketing efforts to the next level?</strong><br/>
40
+ <a href="http://prettylinkpro.com">Pretty Link Pro</a> will help you automate, share, test and get more clicks &amp; conversions from your Pretty Links!<br/><br/><a href="http://prettylinkpro.com">Learn More &raquo;</a></p>
41
+ <?php } ?>
42
+
43
+ </form>
44
+ </div>
classes/views/prli-tools/form.php ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="wrap">
2
+ <?php
3
+ require(PRLI_VIEWS_PATH.'/shared/nav.php');
4
+ ?>
5
+ <h2><img src="<?php echo PRLI_URL.'/images/pretty-link-med.png'; ?>"/>&nbsp;Pretty Link: Tools</h2>
6
+ <h3>Bookmarklet: </h3>
7
+ <p><strong><a href="javascript:location.href='<?php echo PRLI_URL; ?>/prli-bookmarklet.php?k=<?php echo $prli_options->bookmarklet_auth; ?>&target_url='+escape(location.href);">Get PrettyLink</a></strong><br/>
8
+ <span class="description">Just drag this "Get PrettyLink" link to your toolbar to install the bookmarklet. As you browse the web, you can just click this bookmarklet to create a pretty link from the current url you're looking at.&nbsp;&nbsp;<a href="http://blairwilliams.com/pretty-link-bookmarklet/">(more help)</a></span>
9
+ <p><strong>Note:</strong> iPhone users can install this bookmarklet in their Safari to create Pretty Links with the following steps:<br/>
10
+ <ol>
11
+ <li>Copy this text:<br/><code>javascript:location.href='<?php echo PRLI_URL; ?>/prli-bookmarklet.php?k=<?php echo $prli_options->bookmarklet_auth; ?>&target_url='+escape(location.href);</code></li>
12
+ <li>Tap the + button at the bottom of the screen</li>
13
+ <li>Choose "Add Bookmark", rename your bookmark to "Get PrettyLink" (or whatever you want) and then "Save"</li>
14
+ <li>Navigate through your Bookmarks folders until you find the new bookmark and click "Edit"</li>
15
+ <li>Delete all the text from the address</li>
16
+ <li>Paste the text you copied in Step 1 into the address field</li>
17
+ <li>To save the changes hit "Bookmarks" and <strong>you're done!</strong> Now when you find a page you want to save off as a Pretty Link, just click the "Bookmarks" icon at the bottom of the screen and select your link.</li>
18
+ </ol>
19
+ <?php do_action('prli-add-tools'); ?>
20
+ </div>
classes/views/shared/errors.php ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if( $errors != null and count($errors) > 0 )
3
+ {
4
+ ?>
5
+ <div class="error">
6
+ <ul>
7
+ <?php
8
+ foreach( $errors as $error )
9
+ {
10
+ ?>
11
+ <li><strong>ERROR</strong>: <?php print $error; ?></li>
12
+ <?php
13
+ }
14
+ ?>
15
+ </ul>
16
+ </div>
17
+ <?php
18
+ }
19
+ ?>
classes/views/shared/link-table-nav.php ADDED
@@ -0,0 +1,102 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ // Only show the pager bar if there is more than 1 page
3
+ if($page_count > 1)
4
+ {
5
+ ?>
6
+ <div class="tablenav"<?php echo (isset($navstyle)?" style=\"$navstyle\"":''); ?>>
7
+ <?php do_action('prli-link-list-actions', $footer); ?>
8
+ <div class='tablenav-pages'><span class="displaying-num">Displaying <?php print "$page_first_record&#8211;$page_last_record of $record_count"; ?></span>
9
+
10
+ <?php
11
+ // Only show the prev page button if the current page is not the first page
12
+ if($current_page > 1)
13
+ {
14
+ ?>
15
+ <a class='prev page-numbers' href='?page=<?php print PRLI_PLUGIN_NAME; ?>/<?php print $controller_file . $page_params; ?>&paged=<?php print($current_page-1); ?>'>&laquo;</a>
16
+ <?php
17
+ }
18
+
19
+ // First page is always displayed
20
+ if($current_page==1)
21
+ {
22
+ ?>
23
+ <span class='page-numbers current'>1</span>
24
+ <?php
25
+ }
26
+ else
27
+ {
28
+ ?>
29
+ <a class='page-numbers' href='?page=<?php print PRLI_PLUGIN_NAME; ?>/<?php print $controller_file . $page_params; ?>&paged=1'>1</a>
30
+ <?php
31
+ }
32
+
33
+ // If the current page is more than 2 spaces away from the first page then we put some dots in here
34
+ if($current_page >= 5)
35
+ {
36
+ ?>
37
+ <span class='page-numbers dots'>...</span>
38
+ <?php
39
+ }
40
+
41
+ // display the current page icon and the 2 pages beneath and above it
42
+ $low_page = (($current_page >= 5)?($current_page-2):2);
43
+ $high_page = ((($current_page + 2) < ($page_count-1))?($current_page+2):($page_count-1));
44
+ for($i = $low_page; $i <= $high_page; $i++)
45
+ {
46
+ if($current_page==$i)
47
+ {
48
+ ?>
49
+ <span class='page-numbers current'><?php print $i; ?></span>
50
+ <?php
51
+ }
52
+ else
53
+ {
54
+ ?>
55
+ <a class='page-numbers' href='?page=<?php print PRLI_PLUGIN_NAME; ?>/<?php print $controller_file . $page_params; ?>&paged=<?php print $i; ?>'><?php print $i; ?></a>
56
+ <?php
57
+ }
58
+ }
59
+
60
+ // If the current page is more than 2 away from the last page then show ellipsis
61
+ if($current_page < ($page_count - 3))
62
+ {
63
+ ?>
64
+ <span class='page-numbers dots'>...</span>
65
+ <?php
66
+ }
67
+
68
+ // Display the last page icon
69
+ if($current_page == $page_count)
70
+ {
71
+ ?>
72
+ <span class='page-numbers current'><?php print $page_count; ?></span>
73
+ <?php
74
+ }
75
+ else
76
+ {
77
+ ?>
78
+ <a class='page-numbers' href='?page=<?php print PRLI_PLUGIN_NAME; ?>/<?php print $controller_file . $page_params; ?>&paged=<?php print $page_count; ?>'><?php print $page_count; ?></a>
79
+ <?php
80
+ }
81
+
82
+ // Display the next page icon if there is a next page
83
+ if($current_page < $page_count)
84
+ {
85
+ ?>
86
+ <a class='next page-numbers' href='?page=<?php print PRLI_PLUGIN_NAME; ?>/<?php print $controller_file . $page_params; ?>&paged=<?php print($current_page + 1); ?>'>&raquo;</a>
87
+ <?php
88
+ }
89
+ ?>
90
+ </div>
91
+ </div>
92
+ <?php
93
+ }
94
+ else
95
+ {
96
+ ?>
97
+ <div class="tablenav"<?php echo (isset($navstyle)?" style=\"$navstyle\"":''); ?>>
98
+ <?php do_action('prli-link-list-actions', $footer); ?>
99
+ </div>
100
+ <?php
101
+ }
102
+ ?>
classes/views/shared/nav.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ global $prli_utils;
3
+
4
+ if($prli_utils->pro_is_installed())
5
+ {
6
+ $support_link =<<<SUPPORT_LINK
7
+ &nbsp;|&nbsp;<a href="http://prettylinkpro.com/user-manual">Pro Manual</a>&nbsp;|&nbsp;<a href="http://prettylinkpro.com/forum">Pro Forums</a>
8
+ SUPPORT_LINK;
9
+ }
10
+ else
11
+ {
12
+ $support_link =<<<SUPPORT_LINK
13
+ &nbsp;|&nbsp;<a href="http://prettylinkpro.com">Premium Support</a>
14
+ SUPPORT_LINK;
15
+ }
16
+
17
+ ?>
18
+ <p style="font-size: 14px; font-weight: bold; float: right; text-align: right; padding-top: 0px; padding-right: 10px;">Connect with Pretty Link:&nbsp;&nbsp;<a href="http://twitter.com/blairwilli"><img src="<?php echo PRLI_URL; ?>/images/twitter_32.png" style="width: 24px; height: 24px;" /></a>&nbsp;<a href="http://www.facebook.com/pages/Pretty-Link/283252860401"><img src="<?php echo PRLI_URL; ?>/images/facebook_32.png" style="width: 24px; height: 24px;" /></a><br/>Get Help:&nbsp;&nbsp;<a href="http://blairwilliams.com/xba" target="_blank">Tutorials (UPDATED!)</a><?php echo $support_link; ?>&nbsp;|&nbsp;<a href="http://blairwilliams.com/work">One on One</a></p>
classes/views/shared/table-nav.php ADDED
@@ -0,0 +1,93 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ // Only show the pager bar if there is more than 1 page
3
+ if($page_count > 1)
4
+ {
5
+ ?>
6
+ <div class="tablenav"<?php echo (isset($navstyle)?" style=\"$navstyle\"":''); ?>>
7
+ <div class='tablenav-pages'><span class="displaying-num">Displaying <?php print "$page_first_record&#8211;$page_last_record of $record_count"; ?></span>
8
+
9
+ <?php
10
+ // Only show the prev page button if the current page is not the first page
11
+ if($current_page > 1)
12
+ {
13
+ ?>
14
+ <a class='prev page-numbers' href='?page=<?php print PRLI_PLUGIN_NAME; ?>/<?php print $controller_file . $page_params; ?>&paged=<?php print($current_page-1); ?>'>&laquo;</a>
15
+ <?php
16
+ }
17
+
18
+ // First page is always displayed
19
+ if($current_page==1)
20
+ {
21
+ ?>
22
+ <span class='page-numbers current'>1</span>
23
+ <?php
24
+ }
25
+ else
26
+ {
27
+ ?>
28
+ <a class='page-numbers' href='?page=<?php print PRLI_PLUGIN_NAME; ?>/<?php print $controller_file . $page_params; ?>&paged=1'>1</a>
29
+ <?php
30
+ }
31
+
32
+ // If the current page is more than 2 spaces away from the first page then we put some dots in here
33
+ if($current_page >= 5)
34
+ {
35
+ ?>
36
+ <span class='page-numbers dots'>...</span>
37
+ <?php
38
+ }
39
+
40
+ // display the current page icon and the 2 pages beneath and above it
41
+ $low_page = (($current_page >= 5)?($current_page-2):2);
42
+ $high_page = ((($current_page + 2) < ($page_count-1))?($current_page+2):($page_count-1));
43
+ for($i = $low_page; $i <= $high_page; $i++)
44
+ {
45
+ if($current_page==$i)
46
+ {
47
+ ?>
48
+ <span class='page-numbers current'><?php print $i; ?></span>
49
+ <?php
50
+ }
51
+ else
52
+ {
53
+ ?>
54
+ <a class='page-numbers' href='?page=<?php print PRLI_PLUGIN_NAME; ?>/<?php print $controller_file . $page_params; ?>&paged=<?php print $i; ?>'><?php print $i; ?></a>
55
+ <?php
56
+ }
57
+ }
58
+
59
+ // If the current page is more than 2 away from the last page then show ellipsis
60
+ if($current_page < ($page_count - 3))
61
+ {
62
+ ?>
63
+ <span class='page-numbers dots'>...</span>
64
+ <?php
65
+ }
66
+
67
+ // Display the last page icon
68
+ if($current_page == $page_count)
69
+ {
70
+ ?>
71
+ <span class='page-numbers current'><?php print $page_count; ?></span>
72
+ <?php
73
+ }
74
+ else
75
+ {
76
+ ?>
77
+ <a class='page-numbers' href='?page=<?php print PRLI_PLUGIN_NAME; ?>/<?php print $controller_file . $page_params; ?>&paged=<?php print $page_count; ?>'><?php print $page_count; ?></a>
78
+ <?php
79
+ }
80
+
81
+ // Display the next page icon if there is a next page
82
+ if($current_page < $page_count)
83
+ {
84
+ ?>
85
+ <a class='next page-numbers' href='?page=<?php print PRLI_PLUGIN_NAME; ?>/<?php print $controller_file . $page_params; ?>&paged=<?php print($current_page + 1); ?>'>&raquo;</a>
86
+ <?php
87
+ }
88
+ ?>
89
+ </div>
90
+ </div>
91
+ <?php
92
+ }
93
+ ?>
images/arrow_down.png ADDED
Binary file
images/arrow_up.png ADDED
Binary file
images/bar_background.png ADDED
Binary file
images/bar_map.png ADDED
Binary file
images/bookmark.png ADDED
Binary file
images/co.mments.gif ADDED
Binary file
images/delicious_32.png ADDED
Binary file
images/digg_32.png ADDED
Binary file
images/email_32.png ADDED
Binary file
images/facebook.png ADDED
Binary file
images/facebook_32.png ADDED
Binary file
images/forward_params.png ADDED
Binary file
images/hyves_32.png ADDED
Binary file
images/linkedin_32.png ADDED
Binary file
images/mixx_32.png ADDED
Binary file
images/newsvine_32.png ADDED
Binary file
images/nofollow.png ADDED
Binary file
images/not_tracking.png ADDED
Binary file
images/pixel_track.png ADDED
Binary file
images/pretty-link-48x48.png ADDED
Binary file
images/pretty-link-add.png ADDED
Binary file
images/pretty-link-med.png ADDED
Binary file
images/pretty-link-small.png ADDED
Binary file
images/prettylink_logo.jpg ADDED
Binary file
images/prettylink_logo_med.jpg ADDED
Binary file
images/prettylink_logo_small.jpg ADDED
Binary file
images/reddit_32.png ADDED
Binary file
images/sphinn_32.png ADDED
Binary file
images/stumbleupon_32.png ADDED
Binary file
images/technorati_32.png ADDED
Binary file
images/tracking.png ADDED
Binary file
images/twitter.png ADDED
Binary file
images/twitter_32.png ADDED
Binary file
images/ultra-cloak.png ADDED
Binary file
images/url_icon.gif ADDED
Binary file
images/whatever.txt ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ wget http://speckyboy.com/wp-content/plugins/sociable/images/delicious_32.png
2
+ wget http://speckyboy.com/wp-content/plugins/sociable/images/stumbleupon_32.png
3
+ wget http://speckyboy.com/wp-content/plugins/sociable/images/digg_32.png
4
+ wget http://speckyboy.com/wp-content/plugins/sociable/images/twitter_32.png
5
+ wget http://speckyboy.com/wp-content/plugins/sociable/images/mixx_32.png
6
+ wget http://speckyboy.com/wp-content/plugins/sociable/images/technorati_32.png
7
+ wget http://speckyboy.com/wp-content/plugins/sociable/images/facebook_32.png
8
+ wget http://speckyboy.com/wp-content/plugins/sociable/images/newsvine_32.png
9
+ wget http://speckyboy.com/wp-content/plugins/sociable/images/reddit_32.png
10
+ wget http://speckyboy.com/wp-content/plugins/sociable/images/linkedin_32.png
11
+ wget http://speckyboy.com/wp-content/plugins/sociable/images/co.mments.gif
12
+ wget http://speckyboy.com/wp-content/plugins/sociable/images/yahoobuzz_32.png
13
+ wget http://speckyboy.com/wp-content/plugins/sociable/images/email_32.png
images/yahoobuzz_32.png ADDED
Binary file
includes/jquery/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png ADDED
Binary file
includes/jquery/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png ADDED
Binary file
includes/jquery/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png ADDED
Binary file
includes/jquery/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png ADDED
Binary file
includes/jquery/css/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png ADDED
Binary file
includes/jquery/css/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png ADDED
Binary file
includes/jquery/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png ADDED
Binary file
includes/jquery/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png ADDED
Binary file
includes/jquery/css/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png ADDED
Binary file
includes/jquery/css/ui-lightness/images/ui-icons_222222_256x240.png ADDED
Binary file
includes/jquery/css/ui-lightness/images/ui-icons_228ef1_256x240.png ADDED
Binary file
includes/jquery/css/ui-lightness/images/ui-icons_ef8c08_256x240.png ADDED
Binary file
includes/jquery/css/ui-lightness/images/ui-icons_ffd27a_256x240.png ADDED
Binary file
includes/jquery/css/ui-lightness/images/ui-icons_ffffff_256x240.png ADDED
Binary file
includes/jquery/css/ui-lightness/jquery-ui-1.7.1.custom.css ADDED
@@ -0,0 +1,404 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * jQuery UI CSS Framework
3
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
4
+ * Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
5
+ */
6
+
7
+ /* Layout helpers
8
+ ----------------------------------*/
9
+ .ui-helper-hidden { display: none; }
10
+ .ui-helper-hidden-accessible { position: absolute; left: -99999999px; }
11
+ .ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
12
+ .ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
13
+ .ui-helper-clearfix { display: inline-block; }
14
+ /* required comment for clearfix to work in Opera \*/
15
+ * html .ui-helper-clearfix { height:1%; }
16
+ .ui-helper-clearfix { display:block; }
17
+ /* end clearfix */
18
+ .ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
19
+
20
+
21
+ /* Interaction Cues
22
+ ----------------------------------*/
23
+ .ui-state-disabled { cursor: default !important; }
24
+
25
+
26
+ /* Icons
27
+ ----------------------------------*/
28
+
29
+ /* states and images */
30
+ .ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
31
+
32
+
33
+ /* Misc visuals
34
+ ----------------------------------*/
35
+
36
+ /* Overlays */
37
+ .ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
38
+
39
+ /*
40
+ * jQuery UI CSS Framework
41
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
42
+ * Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
43
+ * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS,%20Tahoma,%20Verdana,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=03_highlight_soft.png&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=02_glass.png&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=03_highlight_soft.png&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=08_diagonals_thick.png&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=08_diagonals_thick.png&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=01_flat.png&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px
44
+ */
45
+
46
+
47
+ /* Component containers
48
+ ----------------------------------*/
49
+ .ui-widget { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1.1em; }
50
+ .ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1em; }
51
+ .ui-widget-content { border: 1px solid #dddddd; background: #eeeeee url(images/ui-bg_highlight-soft_100_eeeeee_1x100.png) 50% top repeat-x; color: #333333; }
52
+ .ui-widget-content a { color: #333333; }
53
+ .ui-widget-header { border: 1px solid #e78f08; background: #f6a828 url(images/ui-bg_gloss-wave_35_f6a828_500x100.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; }
54
+ .ui-widget-header a { color: #ffffff; }
55
+
56
+ /* Interaction states
57
+ ----------------------------------*/
58
+ .ui-state-default, .ui-widget-content .ui-state-default { border: 1px solid #cccccc; background: #f6f6f6 url(images/ui-bg_glass_100_f6f6f6_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #1c94c4; outline: none; }
59
+ .ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #1c94c4; text-decoration: none; outline: none; }
60
+ .ui-state-hover, .ui-widget-content .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus { border: 1px solid #fbcb09; background: #fdf5ce url(images/ui-bg_glass_100_fdf5ce_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #c77405; outline: none; }
61
+ .ui-state-hover a, .ui-state-hover a:hover { color: #c77405; text-decoration: none; outline: none; }
62
+ .ui-state-active, .ui-widget-content .ui-state-active { border: 1px solid #fbd850; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #eb8f00; outline: none; }
63
+ .ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #eb8f00; outline: none; text-decoration: none; }
64
+
65
+ /* Interaction Cues
66
+ ----------------------------------*/
67
+ .ui-state-highlight, .ui-widget-content .ui-state-highlight {border: 1px solid #fed22f; background: #ffe45c url(images/ui-bg_highlight-soft_75_ffe45c_1x100.png) 50% top repeat-x; color: #363636; }
68
+ .ui-state-highlight a, .ui-widget-content .ui-state-highlight a { color: #363636; }
69
+ .ui-state-error, .ui-widget-content .ui-state-error {border: 1px solid #cd0a0a; background: #b81900 url(images/ui-bg_diagonals-thick_18_b81900_40x40.png) 50% 50% repeat; color: #ffffff; }
70
+ .ui-state-error a, .ui-widget-content .ui-state-error a { color: #ffffff; }
71
+ .ui-state-error-text, .ui-widget-content .ui-state-error-text { color: #ffffff; }
72
+ .ui-state-disabled, .ui-widget-content .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
73
+ .ui-priority-primary, .ui-widget-content .ui-priority-primary { font-weight: bold; }
74
+ .ui-priority-secondary, .ui-widget-content .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
75
+
76
+ /* Icons
77
+ ----------------------------------*/
78
+
79
+ /* states and images */
80
+ .ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }
81
+ .ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
82
+ .ui-widget-header .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); }
83
+ .ui-state-default .ui-icon { background-image: url(images/ui-icons_ef8c08_256x240.png); }
84
+ .ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); }
85
+ .ui-state-active .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); }
86
+ .ui-state-highlight .ui-icon {background-image: url(images/ui-icons_228ef1_256x240.png); }
87
+ .ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_ffd27a_256x240.png); }
88
+
89
+ /* positioning */
90
+ .ui-icon-carat-1-n { background-position: 0 0; }
91
+ .ui-icon-carat-1-ne { background-position: -16px 0; }
92
+ .ui-icon-carat-1-e { background-position: -32px 0; }
93
+ .ui-icon-carat-1-se { background-position: -48px 0; }
94
+ .ui-icon-carat-1-s { background-position: -64px 0; }
95
+ .ui-icon-carat-1-sw { background-position: -80px 0; }
96
+ .ui-icon-carat-1-w { background-position: -96px 0; }
97
+ .ui-icon-carat-1-nw { background-position: -112px 0; }
98
+ .ui-icon-carat-2-n-s { background-position: -128px 0; }
99
+ .ui-icon-carat-2-e-w { background-position: -144px 0; }
100
+ .ui-icon-triangle-1-n { background-position: 0 -16px; }
101
+ .ui-icon-triangle-1-ne { background-position: -16px -16px; }
102
+ .ui-icon-triangle-1-e { background-position: -32px -16px; }
103
+ .ui-icon-triangle-1-se { background-position: -48px -16px; }
104
+ .ui-icon-triangle-1-s { background-position: -64px -16px; }
105
+ .ui-icon-triangle-1-sw { background-position: -80px -16px; }
106
+ .ui-icon-triangle-1-w { background-position: -96px -16px; }
107
+ .ui-icon-triangle-1-nw { background-position: -112px -16px; }
108
+ .ui-icon-triangle-2-n-s { background-position: -128px -16px; }
109
+ .ui-icon-triangle-2-e-w { background-position: -144px -16px; }
110
+ .ui-icon-arrow-1-n { background-position: 0 -32px; }
111
+ .ui-icon-arrow-1-ne { background-position: -16px -32px; }
112
+ .ui-icon-arrow-1-e { background-position: -32px -32px; }
113
+ .ui-icon-arrow-1-se { background-position: -48px -32px; }
114
+ .ui-icon-arrow-1-s { background-position: -64px -32px; }
115
+ .ui-icon-arrow-1-sw { background-position: -80px -32px; }
116
+ .ui-icon-arrow-1-w { background-position: -96px -32px; }
117
+ .ui-icon-arrow-1-nw { background-position: -112px -32px; }
118
+ .ui-icon-arrow-2-n-s { background-position: -128px -32px; }
119
+ .ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
120
+ .ui-icon-arrow-2-e-w { background-position: -160px -32px; }
121
+ .ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
122
+ .ui-icon-arrowstop-1-n { background-position: -192px -32px; }
123
+ .ui-icon-arrowstop-1-e { background-position: -208px -32px; }
124
+ .ui-icon-arrowstop-1-s { background-position: -224px -32px; }
125
+ .ui-icon-arrowstop-1-w { background-position: -240px -32px; }
126
+ .ui-icon-arrowthick-1-n { background-position: 0 -48px; }
127
+ .ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
128
+ .ui-icon-arrowthick-1-e { background-position: -32px -48px; }
129
+ .ui-icon-arrowthick-1-se { background-position: -48px -48px; }
130
+ .ui-icon-arrowthick-1-s { background-position: -64px -48px; }
131
+ .ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
132
+ .ui-icon-arrowthick-1-w { background-position: -96px -48px; }
133
+ .ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
134
+ .ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
135
+ .ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
136
+ .ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
137
+ .ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
138
+ .ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
139
+ .ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
140
+ .ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
141
+ .ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
142
+ .ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
143
+ .ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
144
+ .ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
145
+ .ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
146
+ .ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
147
+ .ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
148
+ .ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
149
+ .ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
150
+ .ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
151
+ .ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
152
+ .ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
153
+ .ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
154
+ .ui-icon-arrow-4 { background-position: 0 -80px; }
155
+ .ui-icon-arrow-4-diag { background-position: -16px -80px; }
156
+ .ui-icon-extlink { background-position: -32px -80px; }
157
+ .ui-icon-newwin { background-position: -48px -80px; }
158
+ .ui-icon-refresh { background-position: -64px -80px; }
159
+ .ui-icon-shuffle { background-position: -80px -80px; }
160
+ .ui-icon-transfer-e-w { background-position: -96px -80px; }
161
+ .ui-icon-transferthick-e-w { background-position: -112px -80px; }
162
+ .ui-icon-folder-collapsed { background-position: 0 -96px; }
163
+ .ui-icon-folder-open { background-position: -16px -96px; }
164
+ .ui-icon-document { background-position: -32px -96px; }
165
+ .ui-icon-document-b { background-position: -48px -96px; }
166
+ .ui-icon-note { background-position: -64px -96px; }
167
+ .ui-icon-mail-closed { background-position: -80px -96px; }
168
+ .ui-icon-mail-open { background-position: -96px -96px; }
169
+ .ui-icon-suitcase { background-position: -112px -96px; }
170
+ .ui-icon-comment { background-position: -128px -96px; }
171
+ .ui-icon-person { background-position: -144px -96px; }
172
+ .ui-icon-print { background-position: -160px -96px; }
173
+ .ui-icon-trash { background-position: -176px -96px; }
174
+ .ui-icon-locked { background-position: -192px -96px; }
175
+ .ui-icon-unlocked { background-position: -208px -96px; }
176
+ .ui-icon-bookmark { background-position: -224px -96px; }
177
+ .ui-icon-tag { background-position: -240px -96px; }
178
+ .ui-icon-home { background-position: 0 -112px; }
179
+ .ui-icon-flag { background-position: -16px -112px; }
180
+ .ui-icon-calendar { background-position: -32px -112px; }
181
+ .ui-icon-cart { background-position: -48px -112px; }
182
+ .ui-icon-pencil { background-position: -64px -112px; }
183
+ .ui-icon-clock { background-position: -80px -112px; }
184
+ .ui-icon-disk { background-position: -96px -112px; }
185
+ .ui-icon-calculator { background-position: -112px -112px; }
186
+ .ui-icon-zoomin { background-position: -128px -112px; }
187
+ .ui-icon-zoomout { background-position: -144px -112px; }
188
+ .ui-icon-search { background-position: -160px -112px; }
189
+ .ui-icon-wrench { background-position: -176px -112px; }
190
+ .ui-icon-gear { background-position: -192px -112px; }
191
+ .ui-icon-heart { background-position: -208px -112px; }
192
+ .ui-icon-star { background-position: -224px -112px; }
193
+ .ui-icon-link { background-position: -240px -112px; }
194
+ .ui-icon-cancel { background-position: 0 -128px; }
195
+ .ui-icon-plus { background-position: -16px -128px; }
196
+ .ui-icon-plusthick { background-position: -32px -128px; }
197
+ .ui-icon-minus { background-position: -48px -128px; }
198
+ .ui-icon-minusthick { background-position: -64px -128px; }
199
+ .ui-icon-close { background-position: -80px -128px; }
200
+ .ui-icon-closethick { background-position: -96px -128px; }
201
+ .ui-icon-key { background-position: -112px -128px; }
202
+ .ui-icon-lightbulb { background-position: -128px -128px; }
203
+ .ui-icon-scissors { background-position: -144px -128px; }
204
+ .ui-icon-clipboard { background-position: -160px -128px; }
205
+ .ui-icon-copy { background-position: -176px -128px; }
206
+ .ui-icon-contact { background-position: -192px -128px; }
207
+ .ui-icon-image { background-position: -208px -128px; }
208
+ .ui-icon-video { background-position: -224px -128px; }
209
+ .ui-icon-script { background-position: -240px -128px; }
210
+ .ui-icon-alert { background-position: 0 -144px; }
211
+ .ui-icon-info { background-position: -16px -144px; }
212
+ .ui-icon-notice { background-position: -32px -144px; }
213
+ .ui-icon-help { background-position: -48px -144px; }
214
+ .ui-icon-check { background-position: -64px -144px; }
215
+ .ui-icon-bullet { background-position: -80px -144px; }
216
+ .ui-icon-radio-off { background-position: -96px -144px; }
217
+ .ui-icon-radio-on { background-position: -112px -144px; }
218
+ .ui-icon-pin-w { background-position: -128px -144px; }
219
+ .ui-icon-pin-s { background-position: -144px -144px; }
220
+ .ui-icon-play { background-position: 0 -160px; }
221
+ .ui-icon-pause { background-position: -16px -160px; }
222
+ .ui-icon-seek-next { background-position: -32px -160px; }
223
+ .ui-icon-seek-prev { background-position: -48px -160px; }
224
+ .ui-icon-seek-end { background-position: -64px -160px; }
225
+ .ui-icon-seek-first { background-position: -80px -160px; }
226
+ .ui-icon-stop { background-position: -96px -160px; }
227
+ .ui-icon-eject { background-position: -112px -160px; }
228
+ .ui-icon-volume-off { background-position: -128px -160px; }
229
+ .ui-icon-volume-on { background-position: -144px -160px; }
230
+ .ui-icon-power { background-position: 0 -176px; }
231
+ .ui-icon-signal-diag { background-position: -16px -176px; }
232
+ .ui-icon-signal { background-position: -32px -176px; }
233
+ .ui-icon-battery-0 { background-position: -48px -176px; }
234
+ .ui-icon-battery-1 { background-position: -64px -176px; }
235
+ .ui-icon-battery-2 { background-position: -80px -176px; }
236
+ .ui-icon-battery-3 { background-position: -96px -176px; }
237
+ .ui-icon-circle-plus { background-position: 0 -192px; }
238
+ .ui-icon-circle-minus { background-position: -16px -192px; }
239
+ .ui-icon-circle-close { background-position: -32px -192px; }
240
+ .ui-icon-circle-triangle-e { background-position: -48px -192px; }
241
+ .ui-icon-circle-triangle-s { background-position: -64px -192px; }
242
+ .ui-icon-circle-triangle-w { background-position: -80px -192px; }
243
+ .ui-icon-circle-triangle-n { background-position: -96px -192px; }
244
+ .ui-icon-circle-arrow-e { background-position: -112px -192px; }
245
+ .ui-icon-circle-arrow-s { background-position: -128px -192px; }
246
+ .ui-icon-circle-arrow-w { background-position: -144px -192px; }
247
+ .ui-icon-circle-arrow-n { background-position: -160px -192px; }
248
+ .ui-icon-circle-zoomin { background-position: -176px -192px; }
249
+ .ui-icon-circle-zoomout { background-position: -192px -192px; }
250
+ .ui-icon-circle-check { background-position: -208px -192px; }
251
+ .ui-icon-circlesmall-plus { background-position: 0 -208px; }
252
+ .ui-icon-circlesmall-minus { background-position: -16px -208px; }
253
+ .ui-icon-circlesmall-close { background-position: -32px -208px; }
254
+ .ui-icon-squaresmall-plus { background-position: -48px -208px; }
255
+ .ui-icon-squaresmall-minus { background-position: -64px -208px; }
256
+ .ui-icon-squaresmall-close { background-position: -80px -208px; }
257
+ .ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
258
+ .ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
259
+ .ui-icon-grip-solid-vertical { background-position: -32px -224px; }
260
+ .ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
261
+ .ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
262
+ .ui-icon-grip-diagonal-se { background-position: -80px -224px; }
263
+
264
+
265
+ /* Misc visuals
266
+ ----------------------------------*/
267
+
268
+ /* Corner radius */
269
+ .ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; }
270
+ .ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; }
271
+ .ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; }
272
+ .ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; }
273
+ .ui-corner-top { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; }
274
+ .ui-corner-bottom { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; }
275
+ .ui-corner-right { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; }
276
+ .ui-corner-left { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; }
277
+ .ui-corner-all { -moz-border-radius: 4px; -webkit-border-radius: 4px; }
278
+
279
+ /* Overlays */
280
+ .ui-widget-overlay { background: #666666 url(images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat; opacity: .50;filter:Alpha(Opacity=50); }
281
+ .ui-widget-shadow { margin: -5px 0 0 -5px; padding: 5px; background: #000000 url(images/ui-bg_flat_10_000000_40x100.png) 50% 50% repeat-x; opacity: .20;filter:Alpha(Opacity=20); -moz-border-radius: 5px; -webkit-border-radius: 5px; }/* Accordion
282
+ ----------------------------------*/
283
+ .ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
284
+ .ui-accordion .ui-accordion-li-fix { display: inline; }
285
+ .ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
286
+ .ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em 2.2em; }
287
+ .ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
288
+ .ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; }
289
+ .ui-accordion .ui-accordion-content-active { display: block; }/* Datepicker
290
+ ----------------------------------*/
291
+ .ui-datepicker { width: 17em; padding: .2em .2em 0; }
292
+ .ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
293
+ .ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
294
+ .ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
295
+ .ui-datepicker .ui-datepicker-prev { left:2px; }
296
+ .ui-datepicker .ui-datepicker-next { right:2px; }
297
+ .ui-datepicker .ui-datepicker-prev-hover { left:1px; }
298
+ .ui-datepicker .ui-datepicker-next-hover { right:1px; }
299
+ .ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; }
300
+ .ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
301
+ .ui-datepicker .ui-datepicker-title select { float:left; font-size:1em; margin:1px 0; }
302
+ .ui-datepicker select.ui-datepicker-month-year {width: 100%;}
303
+ .ui-datepicker select.ui-datepicker-month,
304
+ .ui-datepicker select.ui-datepicker-year { width: 49%;}
305
+ .ui-datepicker .ui-datepicker-title select.ui-datepicker-year { float: right; }
306
+ .ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
307
+ .ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
308
+ .ui-datepicker td { border: 0; padding: 1px; }
309
+ .ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
310
+ .ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
311
+ .ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
312
+ .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
313
+
314
+ /* with multiple calendars */
315
+ .ui-datepicker.ui-datepicker-multi { width:auto; }
316
+ .ui-datepicker-multi .ui-datepicker-group { float:left; }
317
+ .ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
318
+ .ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
319
+ .ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
320
+ .ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
321
+ .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
322
+ .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
323
+ .ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
324
+ .ui-datepicker-row-break { clear:both; width:100%; }
325
+
326
+ /* RTL support */
327
+ .ui-datepicker-rtl { direction: rtl; }
328
+ .ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
329
+ .ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
330
+ .ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
331
+ .ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
332
+ .ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
333
+ .ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
334
+ .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
335
+ .ui-datepicker-rtl .ui-datepicker-group { float:right; }
336
+ .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
337
+ .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
338
+
339
+ /* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
340
+ .ui-datepicker-cover {
341
+ display: none; /*sorry for IE5*/
342
+ display/**/: block; /*sorry for IE5*/
343
+ position: absolute; /*must have*/
344
+ z-index: -1; /*must have*/
345
+ filter: mask(); /*must have*/
346
+ top: -4px; /*must have*/
347
+ left: -4px; /*must have*/
348
+ width: 200px; /*must have*/
349
+ height: 200px; /*must have*/
350
+ }/* Dialog
351
+ ----------------------------------*/
352
+ .ui-dialog { position: relative; padding: .2em; width: 300px; }
353
+ .ui-dialog .ui-dialog-titlebar { padding: .5em .3em .3em 1em; position: relative; }
354
+ .ui-dialog .ui-dialog-title { float: left; margin: .1em 0 .2em; }
355
+ .ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
356
+ .ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
357
+ .ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
358
+ .ui-dialog .ui-dialog-content { border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
359
+ .ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
360
+ .ui-dialog .ui-dialog-buttonpane button { float: right; margin: .5em .4em .5em 0; cursor: pointer; padding: .2em .6em .3em .6em; line-height: 1.4em; width:auto; overflow:visible; }
361
+ .ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
362
+ .ui-draggable .ui-dialog-titlebar { cursor: move; }
363
+ /* Progressbar
364
+ ----------------------------------*/
365
+ .ui-progressbar { height:2em; text-align: left; }
366
+ .ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }/* Resizable
367
+ ----------------------------------*/
368
+ .ui-resizable { position: relative;}
369
+ .ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;}
370
+ .ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
371
+ .ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0px; }
372
+ .ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0px; }
373
+ .ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0px; height: 100%; }
374
+ .ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0px; height: 100%; }
375
+ .ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
376
+ .ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
377
+ .ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
378
+ .ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/* Slider
379
+ ----------------------------------*/
380
+ .ui-slider { position: relative; text-align: left; }
381
+ .ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
382
+ .ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; }
383
+
384
+ .ui-slider-horizontal { height: .8em; }
385
+ .ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
386
+ .ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
387
+ .ui-slider-horizontal .ui-slider-range-min { left: 0; }
388
+ .ui-slider-horizontal .ui-slider-range-max { right: 0; }
389
+
390
+ .ui-slider-vertical { width: .8em; height: 100px; }
391
+ .ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
392
+ .ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
393
+ .ui-slider-vertical .ui-slider-range-min { bottom: 0; }
394
+ .ui-slider-vertical .ui-slider-range-max { top: 0; }/* Tabs
395
+ ----------------------------------*/
396
+ .ui-tabs { padding: .2em; zoom: 1; }
397
+ .ui-tabs .ui-tabs-nav { list-style: none; position: relative; padding: .2em .2em 0; }
398
+ .ui-tabs .ui-tabs-nav li { position: relative; float: left; border-bottom-width: 0 !important; margin: 0 .2em -1px 0; padding: 0; }
399
+ .ui-tabs .ui-tabs-nav li a { float: left; text-decoration: none; padding: .5em 1em; }
400
+ .ui-tabs .ui-tabs-nav li.ui-tabs-selected { padding-bottom: 1px; border-bottom-width: 0; }
401
+ .ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
402
+ .ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
403
+ .ui-tabs .ui-tabs-panel { padding: 1em 1.4em; display: block; border-width: 0; background: none; }
404
+ .ui-tabs .ui-tabs-hide { display: none !important; }
includes/jquery/js/jquery-1.3.2.min.js ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * jQuery JavaScript Library v1.3.2
3
+ * http://jquery.com/
4
+ *
5
+ * Copyright (c) 2009 John Resig
6
+ * Dual licensed under the MIT and GPL licenses.
7
+ * http://docs.jquery.com/License
8
+ *
9
+ * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
10
+ * Revision: 6246
11
+ */
12
+ (function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F<J;F++){var G=M[F];if(G.selected){K=o(G).val();if(H){return K}L.push(K)}}return L}return(E.value||"").replace(/\r/g,"")}return g}if(typeof K==="number"){K+=""}return this.each(function(){if(this.nodeType!=1){return}if(o.isArray(K)&&/radio|checkbox/.test(this.type)){this.checked=(o.inArray(this.value,K)>=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G<E;G++){L.call(K(this[G],H),this.length>1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H<I;H++){if((G=arguments[H])!=null){for(var F in G){var K=J[F],L=G[F];if(J===L){continue}if(E&&L&&typeof L==="object"&&!L.nodeType){J[F]=o.extend(E,K||(L.length!=null?[]:{}),L)}else{if(L!==g){J[F]=L}}}}}return J};var b=/z-?index|font-?weight|opacity|zoom|line-?height/i,q=document.defaultView||{},s=Object.prototype.toString;o.extend({noConflict:function(E){l.$=p;if(E){l.jQuery=y}return o},isFunction:function(E){return s.call(E)==="[object Function]"},isArray:function(E){return s.call(E)==="[object Array]"},isXMLDoc:function(E){return E.nodeType===9&&E.documentElement.nodeName!=="HTML"||!!E.ownerDocument&&o.isXMLDoc(E.ownerDocument)},globalEval:function(G){if(G&&/\S/.test(G)){var F=document.getElementsByTagName("head")[0]||document.documentElement,E=document.createElement("script");E.type="text/javascript";if(o.support.scriptEval){E.appendChild(document.createTextNode(G))}else{E.text=G}F.insertBefore(E,F.firstChild);F.removeChild(E)}},nodeName:function(F,E){return F.nodeName&&F.nodeName.toUpperCase()==E.toUpperCase()},each:function(G,K,F){var E,H=0,I=G.length;if(F){if(I===g){for(E in G){if(K.apply(G[E],F)===false){break}}}else{for(;H<I;){if(K.apply(G[H++],F)===false){break}}}}else{if(I===g){for(E in G){if(K.call(G[E],E,G[E])===false){break}}}else{for(var J=G[0];H<I&&K.call(J,H,J)!==false;J=G[++H]){}}}return G},prop:function(H,I,G,F,E){if(o.isFunction(I)){I=I.call(H,F)}return typeof I==="number"&&G=="curCSS"&&!b.test(E)?I+"px":I},className:{add:function(E,F){o.each((F||"").split(/\s+/),function(G,H){if(E.nodeType==1&&!o.className.has(E.className,H)){E.className+=(E.className?" ":"")+H}})},remove:function(E,F){if(E.nodeType==1){E.className=F!==g?o.grep(E.className.split(/\s+/),function(G){return !o.className.has(F,G)}).join(" "):""}},has:function(F,E){return F&&o.inArray(E,(F.className||F).toString().split(/\s+/))>-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+"></"+T+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!O.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!O.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!O.indexOf("<td")||!O.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!O.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!o.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/<tbody/i.test(S),N=!O.indexOf("<table")&&!R?L.firstChild&&L.firstChild.childNodes:Q[1]=="<table>"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E<F;E++){if(H[E]===G){return E}}return -1},merge:function(H,E){var F=0,G,I=H.length;if(!o.support.getAll){while((G=E[F++])!=null){if(G.nodeType!=8){H[I++]=G}}}else{while((G=E[F++])!=null){H[I++]=G}}return H},unique:function(K){var F=[],E={};try{for(var G=0,H=K.length;G<H;G++){var J=o.data(K[G]);if(!E[J]){E[J]=true;F.push(K[G])}}}catch(I){F=K}return F},grep:function(F,J,E){var G=[];for(var H=0,I=F.length;H<I;H++){if(!E!=!J(F[H],H)){G.push(F[H])}}return G},map:function(E,J){var F=[];for(var G=0,H=E.length;G<H;G++){var I=J(E[G],G);if(I!=null){F[F.length]=I}}return F.concat.apply([],F)}});var C=navigator.userAgent.toLowerCase();o.browser={version:(C.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],safari:/webkit/.test(C),opera:/opera/.test(C),msie:/msie/.test(C)&&!/opera/.test(C),mozilla:/mozilla/.test(C)&&!/(compatible|webkit)/.test(C)};o.each({parent:function(E){return E.parentNode},parents:function(E){return o.dir(E,"parentNode")},next:function(E){return o.nth(E,2,"nextSibling")},prev:function(E){return o.nth(E,2,"previousSibling")},nextAll:function(E){return o.dir(E,"nextSibling")},prevAll:function(E){return o.dir(E,"previousSibling")},siblings:function(E){return o.sibling(E.parentNode.firstChild,E)},children:function(E){return o.sibling(E.firstChild)},contents:function(E){return o.nodeName(E,"iframe")?E.contentDocument||E.contentWindow.document:o.makeArray(E.childNodes)}},function(E,F){o.fn[E]=function(G){var H=o.map(this,F);if(G&&typeof G=="string"){H=o.multiFilter(G,H)}return this.pushStack(o.unique(H),E,G)}});o.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(E,F){o.fn[E]=function(G){var J=[],L=o(G);for(var K=0,H=L.length;K<H;K++){var I=(K>0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}});
13
+ /*
14
+ * Sizzle CSS Selector Engine - v0.9.3
15
+ * Copyright 2009, The Dojo Foundation
16
+ * Released under the MIT, BSD, and GPL Licenses.
17
+ * More information: http://sizzlejs.com/
18
+ */
19
+ (function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa<ab.length;aa++){if(ab[aa]===ab[aa-1]){ab.splice(aa--,1)}}}}}return ab};F.matches=function(T,U){return F(T,null,null,U)};F.find=function(aa,T,ab){var Z,X;if(!aa){return[]}for(var W=0,V=I.order.length;W<V;W++){var Y=I.order[W],X;if((X=I.match[Y].exec(aa))){var U=RegExp.leftContext;if(U.substr(U.length-1)!=="\\"){X[1]=(X[1]||"").replace(/\\/g,"");Z=I.find[Y](X,T,ab);if(Z!=null){aa=aa.replace(I.match[Y],"");break}}}}if(!Z){Z=T.getElementsByTagName("*")}return{set:Z,expr:aa}};F.filter=function(ad,ac,ag,W){var V=ad,ai=[],aa=ac,Y,T,Z=ac&&ac[0]&&Q(ac[0]);while(ad&&ac.length){for(var ab in I.filter){if((Y=I.match[ab].exec(ad))!=null){var U=I.filter[ab],ah,af;T=false;if(aa==ai){ai=[]}if(I.preFilter[ab]){Y=I.preFilter[ab](Y,aa,ag,ai,W,Z);if(!Y){T=ah=true}else{if(Y===true){continue}}}if(Y){for(var X=0;(af=aa[X])!=null;X++){if(af){ah=U(af,Y,X,aa);var ae=W^!!ah;if(ag&&ah!=null){if(ae){T=true}else{aa[X]=false}}else{if(ae){ai.push(af);T=true}}}}}if(ah!==g){if(!ag){aa=ai}ad=ad.replace(I.match[ab],"");if(!T){return[]}break}}}if(ad==V){if(T==null){throw"Syntax error, unrecognized expression: "+ad}else{break}}V=ad}return aa};var I=F.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(T){return T.getAttribute("href")}},relative:{"+":function(aa,T,Z){var X=typeof T==="string",ab=X&&!/\W/.test(T),Y=X&&!ab;if(ab&&!Z){T=T.toUpperCase()}for(var W=0,V=aa.length,U;W<V;W++){if((U=aa[W])){while((U=U.previousSibling)&&U.nodeType!==1){}aa[W]=Y||U&&U.nodeName===T?U||false:U===T}}if(Y){F.filter(T,aa,true)}},">":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){var W=Y.parentNode;Z[V]=W.nodeName===U?W:false}}}else{for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){Z[V]=X?Y.parentNode:Y.parentNode===U}}if(X){F.filter(U,Z,true)}}},"":function(W,U,Y){var V=L++,T=S;if(!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("parentNode",U,V,W,X,Y)},"~":function(W,U,Y){var V=L++,T=S;if(typeof U==="string"&&!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("previousSibling",U,V,W,X,Y)}},find:{ID:function(U,V,W){if(typeof V.getElementById!=="undefined"&&!W){var T=V.getElementById(U[1]);return T?[T]:[]}},NAME:function(V,Y,Z){if(typeof Y.getElementsByName!=="undefined"){var U=[],X=Y.getElementsByName(V[1]);for(var W=0,T=X.length;W<T;W++){if(X[W].getAttribute("name")===V[1]){U.push(X[W])}}return U.length===0?null:U}},TAG:function(T,U){return U.getElementsByTagName(T[1])}},preFilter:{CLASS:function(W,U,V,T,Z,aa){W=" "+W[1].replace(/\\/g,"")+" ";if(aa){return W}for(var X=0,Y;(Y=U[X])!=null;X++){if(Y){if(Z^(Y.className&&(" "+Y.className+" ").indexOf(W)>=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return U<T[3]-0},gt:function(V,U,T){return U>T[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W<T;W++){if(Y[W]===Z){return false}}return true}}}},CHILD:function(T,W){var Z=W[1],U=T;switch(Z){case"only":case"first":while(U=U.previousSibling){if(U.nodeType===1){return false}}if(Z=="first"){return true}U=T;case"last":while(U=U.nextSibling){if(U.nodeType===1){return false}}return true;case"nth":var V=W[2],ac=W[3];if(V==1&&ac==0){return true}var Y=W[0],ab=T.parentNode;if(ab&&(ab.sizcache!==Y||!T.nodeIndex)){var X=0;for(U=ab.firstChild;U;U=U.nextSibling){if(U.nodeType===1){U.nodeIndex=++X}}ab.sizcache=Y}var aa=T.nodeIndex-ac;if(V==0){return aa==0}else{return(aa%V==0&&aa/V>=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V<T;V++){U.push(X[V])}}else{for(var V=0;X[V];V++){U.push(X[V])}}}return U}}var G;if(document.documentElement.compareDocumentPosition){G=function(U,T){var V=U.compareDocumentPosition(T)&4?-1:U===T?0:1;if(V===0){hasDuplicate=true}return V}}else{if("sourceIndex" in document.documentElement){G=function(U,T){var V=U.sourceIndex-T.sourceIndex;if(V===0){hasDuplicate=true}return V}}else{if(document.createRange){G=function(W,U){var V=W.ownerDocument.createRange(),T=U.ownerDocument.createRange();V.selectNode(W);V.collapse(true);T.selectNode(U);T.collapse(true);var X=V.compareBoundaryPoints(Range.START_TO_END,T);if(X===0){hasDuplicate=true}return X}}}}(function(){var U=document.createElement("form"),V="script"+(new Date).getTime();U.innerHTML="<input name='"+V+"'/>";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="<a href='#'></a>";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="<p class='TEST'></p>";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="<div class='test e'></div><div class='test'></div>";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1&&!ac){T.sizcache=Y;T.sizset=W}if(T.nodeName===Z){X=T;break}T=T[U]}ad[W]=X}}}function S(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1){if(!ac){T.sizcache=Y;T.sizset=W}if(typeof Z!=="string"){if(T===Z){X=true;break}}else{if(F.filter(Z,[T]).length>0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z<U;Z++){F(T,V[Z],W)}return F.filter(X,W)};o.find=F;o.filter=F.filter;o.expr=F.selectors;o.expr[":"]=o.expr.filters;F.selectors.filters.hidden=function(T){return T.offsetWidth===0||T.offsetHeight===0};F.selectors.filters.visible=function(T){return T.offsetWidth>0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F<E.length){o.event.proxy(G,E[F++])}return this.click(o.event.proxy(G,function(H){this.lastToggle=(this.lastToggle||0)%F;H.preventDefault();return E[this.lastToggle++].apply(this,arguments)||false}))},hover:function(E,F){return this.mouseenter(E).mouseleave(F)},ready:function(E){B();if(o.isReady){E.call(document,o)}else{o.readyList.push(E)}return this},live:function(G,F){var E=o.event.proxy(F);E.guid+=this.selector+G;o(document).bind(i(G,this.selector),this.selector,E);return this},die:function(F,E){o(document).unbind(i(F,this.selector),E?{guid:E.guid+this.selector+F}:null);return this}});function c(H){var E=RegExp("(^|\\.)"+H.type+"(\\.|$)"),G=true,F=[];o.each(o.data(this,"events").live||[],function(I,J){if(E.test(J.type)){var K=o(H.target).closest(J.data)[0];if(K){F.push({elem:K,fn:J})}}});F.sort(function(J,I){return o.data(J.elem,"closest")-o.data(I.elem,"closest")});o.each(F,function(){if(this.fn.call(this.elem,H,this.fn.data)===false){return(G=false)}});return G}function i(F,E){return["live",F,E.replace(/\./g,"`").replace(/ /g,"|")].join(".")}o.extend({isReady:false,readyList:[],ready:function(){if(!o.isReady){o.isReady=true;if(o.readyList){o.each(o.readyList,function(){this.call(document,o)});o.readyList=null}o(document).triggerHandler("ready")}}});var x=false;function B(){if(x){return}x=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);o.ready()},false)}else{if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);o.ready()}});if(document.documentElement.doScroll&&l==l.top){(function(){if(o.isReady){return}try{document.documentElement.doScroll("left")}catch(E){setTimeout(arguments.callee,0);return}o.ready()})()}}}o.event.add(l,"load",o.ready)}o.each(("blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error").split(","),function(F,E){o.fn[E]=function(G){return G?this.bind(E,G):this.trigger(E)}});o(l).bind("unload",function(){for(var E in o.cache){if(E!=1&&o.cache[E].handle){o.event.remove(o.cache[E].handle.elem)}}});(function(){o.support={};var F=document.documentElement,G=document.createElement("script"),K=document.createElement("div"),J="script"+(new Date).getTime();K.style.display="none";K.innerHTML=' <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var H=K.getElementsByTagName("*"),E=K.getElementsByTagName("a")[0];if(!H||!H.length||!E){return}o.support={leadingWhitespace:K.firstChild.nodeType==3,tbody:!K.getElementsByTagName("tbody").length,objectAll:!!K.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!K.getElementsByTagName("link").length,style:/red/.test(E.getAttribute("style")),hrefNormalized:E.getAttribute("href")==="/a",opacity:E.style.opacity==="0.5",cssFloat:!!E.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};G.type="text/javascript";try{G.appendChild(document.createTextNode("window."+J+"=1;"))}catch(I){}F.insertBefore(G,F.firstChild);if(l[J]){o.support.scriptEval=true;delete l[J]}F.removeChild(G);if(K.attachEvent&&K.fireEvent){K.attachEvent("onclick",function(){o.support.noCloneEvent=false;K.detachEvent("onclick",arguments.callee)});K.cloneNode(true).fireEvent("onclick")}o(function(){var L=document.createElement("div");L.style.width=L.style.paddingLeft="1px";document.body.appendChild(L);o.boxModel=o.support.boxModel=L.offsetWidth===2;document.body.removeChild(L).style.display="none"})})();var w=o.support.cssFloat?"cssFloat":"styleFloat";o.props={"for":"htmlFor","class":"className","float":w,cssFloat:w,styleFloat:w,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};o.fn.extend({_load:o.fn.load,load:function(G,J,K){if(typeof G!=="string"){return this._load(G)}var I=G.indexOf(" ");if(I>=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("<div/>").append(M.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H<F;H++){var E=o.data(this[H],"olddisplay");this[H].style.display=E||"";if(o.css(this[H],"display")==="none"){var G=this[H].tagName,K;if(m[G]){K=m[G]}else{var I=o("<"+G+" />").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H<F;H++){this[H].style.display=o.data(this[H],"olddisplay")||""}return this}},hide:function(H,I){if(H){return this.animate(t("hide",3),H,I)}else{for(var G=0,F=this.length;G<F;G++){var E=o.data(this[G],"olddisplay");if(!E&&E!=="none"){o.data(this[G],"olddisplay",o.css(this[G],"display"))}}for(var G=0,F=this.length;G<F;G++){this[G].style.display="none"}return this}},_toggle:o.fn.toggle,toggle:function(G,F){var E=typeof G==="boolean";return o.isFunction(G)&&o.isFunction(F)?this._toggle.apply(this,arguments):G==null||E?this.each(function(){var H=E?G:o(this).is(":hidden");o(this)[H?"show":"hide"]()}):this.animate(t("toggle",3),G,F)},fadeTo:function(E,G,F){return this.animate({opacity:G},E,F)},animate:function(I,F,H,G){var E=o.speed(F,H,G);return this[E.queue===false?"each":"queue"](function(){var K=o.extend({},E),M,L=this.nodeType==1&&o(this).is(":hidden"),J=this;for(M in I){if(I[M]=="hide"&&L||I[M]=="show"&&!L){return K.complete.call(this)}if((M=="height"||M=="width")&&this.style){K.display=o.css(this,"display");K.overflow=this.style.overflow}}if(K.overflow!=null){this.style.overflow="hidden"}K.curAnim=o.extend({},I);o.each(I,function(O,S){var R=new o.fx(J,K,O);if(/toggle|show|hide/.test(S)){R[S=="toggle"?L?"show":"hide":S](I)}else{var Q=S.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),T=R.cur(true)||0;if(Q){var N=parseFloat(Q[2]),P=Q[3]||"px";if(P!="px"){J.style[O]=(N||1)+P;T=((N||1)/R.cur(true))*T;J.style[O]=T+P}if(Q[1]){N=((Q[1]=="-="?-1:1)*N)+T}R.custom(T,N,P)}else{R.custom(T,S,"")}}});return true})},stop:function(F,E){var G=o.timers;if(F){this.queue([])}this.each(function(){for(var H=G.length-1;H>=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J<K.length;J++){if(!K[J]()){K.splice(J--,1)}}if(!K.length){clearInterval(n);n=g}},13)}},show:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());o(this.elem).show()},hide:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(H){var G=e();if(H||G>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})();
includes/jquery/js/jquery-ui-1.7.1.custom.min.js ADDED
@@ -0,0 +1,273 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * jQuery UI 1.7.1
3
+ *
4
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
5
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
6
+ * and GPL (GPL-LICENSE.txt) licenses.
7
+ *
8
+ * http://docs.jquery.com/UI
9
+ */
10
+ * jQuery UI Draggable 1.7.1
11
+ *
12
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
13
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
14
+ * and GPL (GPL-LICENSE.txt) licenses.
15
+ *
16
+ * http://docs.jquery.com/UI/Draggables
17
+ *
18
+ * Depends:
19
+ * ui.core.js
20
+ */
21
+ * jQuery UI Droppable 1.7.1
22
+ *
23
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
24
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
25
+ * and GPL (GPL-LICENSE.txt) licenses.
26
+ *
27
+ * http://docs.jquery.com/UI/Droppables
28
+ *
29
+ * Depends:
30
+ * ui.core.js
31
+ * ui.draggable.js
32
+ */
33
+ * jQuery UI Resizable 1.7.1
34
+ *
35
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
36
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
37
+ * and GPL (GPL-LICENSE.txt) licenses.
38
+ *
39
+ * http://docs.jquery.com/UI/Resizables
40
+ *
41
+ * Depends:
42
+ * ui.core.js
43
+ */
44
+ * jQuery UI Selectable 1.7.1
45
+ *
46
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
47
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
48
+ * and GPL (GPL-LICENSE.txt) licenses.
49
+ *
50
+ * http://docs.jquery.com/UI/Selectables
51
+ *
52
+ * Depends:
53
+ * ui.core.js
54
+ */
55
+ * jQuery UI Sortable 1.7.1
56
+ *
57
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
58
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
59
+ * and GPL (GPL-LICENSE.txt) licenses.
60
+ *
61
+ * http://docs.jquery.com/UI/Sortables
62
+ *
63
+ * Depends:
64
+ * ui.core.js
65
+ */
66
+ * jQuery UI Accordion 1.7.1
67
+ *
68
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
69
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
70
+ * and GPL (GPL-LICENSE.txt) licenses.
71
+ *
72
+ * http://docs.jquery.com/UI/Accordion
73
+ *
74
+ * Depends:
75
+ * ui.core.js
76
+ */
77
+ * jQuery UI Dialog 1.7.1
78
+ *
79
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
80
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
81
+ * and GPL (GPL-LICENSE.txt) licenses.
82
+ *
83
+ * http://docs.jquery.com/UI/Dialog
84
+ *
85
+ * Depends:
86
+ * ui.core.js
87
+ * ui.draggable.js
88
+ * ui.resizable.js
89
+ */
90
+ * jQuery UI Slider 1.7.1
91
+ *
92
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
93
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
94
+ * and GPL (GPL-LICENSE.txt) licenses.
95
+ *
96
+ * http://docs.jquery.com/UI/Slider
97
+ *
98
+ * Depends:
99
+ * ui.core.js
100
+ */
101
+ * jQuery UI Tabs 1.7.1
102
+ *
103
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
104
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
105
+ * and GPL (GPL-LICENSE.txt) licenses.
106
+ *
107
+ * http://docs.jquery.com/UI/Tabs
108
+ *
109
+ * Depends:
110
+ * ui.core.js
111
+ */
112
+ * jQuery UI Datepicker 1.7.1
113
+ *
114
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
115
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
116
+ * and GPL (GPL-LICENSE.txt) licenses.
117
+ *
118
+ * http://docs.jquery.com/UI/Datepicker
119
+ *
120
+ * Depends:
121
+ * ui.core.js
122
+ */
123
+ * jQuery UI Progressbar 1.7.1
124
+ *
125
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
126
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
127
+ * and GPL (GPL-LICENSE.txt) licenses.
128
+ *
129
+ * http://docs.jquery.com/UI/Progressbar
130
+ *
131
+ * Depends:
132
+ * ui.core.js
133
+ */
134
+ * jQuery UI Effects 1.7.1
135
+ *
136
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
137
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
138
+ * and GPL (GPL-LICENSE.txt) licenses.
139
+ *
140
+ * http://docs.jquery.com/UI/Effects/
141
+ */
142
+ * jQuery UI Effects Blind 1.7.1
143
+ *
144
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
145
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
146
+ * and GPL (GPL-LICENSE.txt) licenses.
147
+ *
148
+ * http://docs.jquery.com/UI/Effects/Blind
149
+ *
150
+ * Depends:
151
+ * effects.core.js
152
+ */
153
+ * jQuery UI Effects Bounce 1.7.1
154
+ *
155
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
156
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
157
+ * and GPL (GPL-LICENSE.txt) licenses.
158
+ *
159
+ * http://docs.jquery.com/UI/Effects/Bounce
160
+ *
161
+ * Depends:
162
+ * effects.core.js
163
+ */
164
+ * jQuery UI Effects Clip 1.7.1
165
+ *
166
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
167
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
168
+ * and GPL (GPL-LICENSE.txt) licenses.
169
+ *
170
+ * http://docs.jquery.com/UI/Effects/Clip
171
+ *
172
+ * Depends:
173
+ * effects.core.js
174
+ */
175
+ * jQuery UI Effects Drop 1.7.1
176
+ *
177
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
178
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
179
+ * and GPL (GPL-LICENSE.txt) licenses.
180
+ *
181
+ * http://docs.jquery.com/UI/Effects/Drop
182
+ *
183
+ * Depends:
184
+ * effects.core.js
185
+ */
186
+ * jQuery UI Effects Explode 1.7.1
187
+ *
188
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
189
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
190
+ * and GPL (GPL-LICENSE.txt) licenses.
191
+ *
192
+ * http://docs.jquery.com/UI/Effects/Explode
193
+ *
194
+ * Depends:
195
+ * effects.core.js
196
+ */
197
+ * jQuery UI Effects Fold 1.7.1
198
+ *
199
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
200
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
201
+ * and GPL (GPL-LICENSE.txt) licenses.
202
+ *
203
+ * http://docs.jquery.com/UI/Effects/Fold
204
+ *
205
+ * Depends:
206
+ * effects.core.js
207
+ */
208
+ * jQuery UI Effects Highlight 1.7.1
209
+ *
210
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
211
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
212
+ * and GPL (GPL-LICENSE.txt) licenses.
213
+ *
214
+ * http://docs.jquery.com/UI/Effects/Highlight
215
+ *
216
+ * Depends:
217
+ * effects.core.js
218
+ */
219
+ * jQuery UI Effects Pulsate 1.7.1
220
+ *
221
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
222
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
223
+ * and GPL (GPL-LICENSE.txt) licenses.
224
+ *
225
+ * http://docs.jquery.com/UI/Effects/Pulsate
226
+ *
227
+ * Depends:
228
+ * effects.core.js
229
+ */
230
+ * jQuery UI Effects Scale 1.7.1
231
+ *
232
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
233
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
234
+ * and GPL (GPL-LICENSE.txt) licenses.
235
+ *
236
+ * http://docs.jquery.com/UI/Effects/Scale
237
+ *
238
+ * Depends:
239
+ * effects.core.js
240
+ */
241
+ * jQuery UI Effects Shake 1.7.1
242
+ *
243
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
244
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
245
+ * and GPL (GPL-LICENSE.txt) licenses.
246
+ *
247
+ * http://docs.jquery.com/UI/Effects/Shake
248
+ *
249
+ * Depends:
250
+ * effects.core.js
251
+ */
252
+ * jQuery UI Effects Slide 1.7.1
253
+ *
254
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
255
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
256
+ * and GPL (GPL-LICENSE.txt) licenses.
257
+ *
258
+ * http://docs.jquery.com/UI/Effects/Slide
259
+ *
260
+ * Depends:
261
+ * effects.core.js
262
+ */
263
+ * jQuery UI Effects Transfer 1.7.1
264
+ *
265
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
266
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
267
+ * and GPL (GPL-LICENSE.txt) licenses.
268
+ *
269
+ * http://docs.jquery.com/UI/Effects/Transfer
270
+ *
271
+ * Depends:
272
+ * effects.core.js
273
+ */
includes/php/php_browsecap.ini ADDED
@@ -0,0 +1,16939 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ;;; Provided courtesy of http://browsers.garykeith.com
2
+ ;;; Created on Friday, July 31, 2009 at 9:56 PM GMT
3
+
4
+ [GJK_Browscap_Version]
5
+ Version=4484
6
+ Released=Fri, 31 Jul 2009 21:56:31 -0000
7
+
8
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DefaultProperties
9
+
10
+ [DefaultProperties]
11
+ Browser="DefaultProperties"
12
+ Version=0
13
+ MajorVer=0
14
+ MinorVer=0
15
+ Platform=unknown
16
+ Alpha=false
17
+ Beta=false
18
+ Win16=false
19
+ Win32=false
20
+ Win64=false
21
+ Frames=false
22
+ IFrames=false
23
+ Tables=false
24
+ Cookies=false
25
+ BackgroundSounds=false
26
+ CDF=false
27
+ VBScript=false
28
+ JavaApplets=false
29
+ JavaScript=false
30
+ ActiveXControls=false
31
+ isBanned=false
32
+ isMobileDevice=false
33
+ isSyndicationReader=false
34
+ Crawler=false
35
+ CssVersion=0
36
+ supportsCSS=false
37
+ AOL=false
38
+ aolVersion=0
39
+
40
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Ask
41
+
42
+ [Ask]
43
+ Parent=DefaultProperties
44
+ Browser="Ask"
45
+ Frames=true
46
+ Tables=true
47
+ Crawler=true
48
+
49
+ [Mozilla/?.0 (compatible; Ask Jeeves/Teoma*)]
50
+ Parent=Ask
51
+ Browser="Teoma"
52
+
53
+ [Mozilla/2.0 (compatible; Ask Jeeves)]
54
+ Parent=Ask
55
+ Browser="AskJeeves"
56
+
57
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Baidu
58
+
59
+ [Baidu]
60
+ Parent=DefaultProperties
61
+ Browser="Baidu"
62
+ Frames=true
63
+ Tables=true
64
+ Crawler=true
65
+
66
+ [BaiduImageSpider*]
67
+ Parent=Baidu
68
+ Browser="BaiduImageSpider"
69
+
70
+ [Baiduspider*]
71
+ Parent=Baidu
72
+ Browser="BaiDu"
73
+
74
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Google
75
+
76
+ [Google]
77
+ Parent=DefaultProperties
78
+ Browser="Google"
79
+ Frames=true
80
+ IFrames=true
81
+ Tables=true
82
+ JavaScript=true
83
+ Crawler=true
84
+
85
+ [* (compatible; Googlebot-Mobile/2.1; *http://www.google.com/bot.html)]
86
+ Parent=Google
87
+ Browser="Googlebot-Mobile"
88
+ Frames=false
89
+ IFrames=false
90
+ Tables=false
91
+
92
+ [*Google Wireless Transcoder*]
93
+ Parent=Google
94
+ Browser="Google Wireless Transcoder"
95
+
96
+ [AdsBot-Google (?http://www.google.com/adsbot.html)]
97
+ Parent=Google
98
+ Browser="AdsBot-Google"
99
+
100
+ [Feedfetcher-Google-iGoogleGadgets;*]
101
+ Parent=Google
102
+ Browser="iGoogleGadgets"
103
+ isBanned=true
104
+ isSyndicationReader=true
105
+
106
+ [Feedfetcher-Google;*]
107
+ Parent=Google
108
+ Browser="Feedfetcher-Google"
109
+ isBanned=true
110
+ isSyndicationReader=true
111
+
112
+ [Google OpenSocial agent (http://www.google.com/feedfetcher.html)]
113
+ Parent=Google
114
+ Browser="Google OpenSocial"
115
+
116
+ [Google-Site-Verification/1.0]
117
+ Parent=Google
118
+ Browser="Google-Site-Verification"
119
+
120
+ [Google-Sitemaps/*]
121
+ Parent=Google
122
+ Browser="Google-Sitemaps"
123
+
124
+ [Googlebot-Image/*]
125
+ Parent=Google
126
+ Browser="Googlebot-Image"
127
+ CDF=true
128
+
129
+ [googlebot-urlconsole]
130
+ Parent=Google
131
+ Browser="googlebot-urlconsole"
132
+
133
+ [Googlebot-Video/1.0]
134
+ Parent=Google
135
+ Browser="Google-Video"
136
+
137
+ [Googlebot/2.1 (?http://www.google.com/bot.html)]
138
+ Parent=Google
139
+ Browser="Googlebot"
140
+
141
+ [Googlebot/2.1 (?http://www.googlebot.com/bot.html)]
142
+ Parent=Google
143
+ Browser="Googlebot"
144
+
145
+ [Googlebot/Test*]
146
+ Parent=Google
147
+ Browser="Googlebot/Test"
148
+
149
+ [gsa-crawler*]
150
+ Parent=Google
151
+ Browser="Google Search Appliance"
152
+ isBanned=true
153
+
154
+ [Mediapartners-Google*]
155
+ Parent=Google
156
+ Browser="Mediapartners-Google"
157
+
158
+ [Mozilla/4.0 (compatible; Google Desktop)]
159
+ Parent=Google
160
+ Browser="Google Desktop"
161
+
162
+ [Mozilla/4.0 (compatible; GoogleToolbar*)]
163
+ Parent=Google
164
+ Browser="Google Toolbar"
165
+ isBanned=true
166
+
167
+ [Mozilla/5.0 (compatible; Google Keyword Tool;*)]
168
+ Parent=Google
169
+ Browser="Google Keyword Tool"
170
+
171
+ [Mozilla/5.0 (compatible; Googlebot/2.1; ?http://www.google.com/bot.html)]
172
+ Parent=Google
173
+ Browser="Google Webmaster Tools"
174
+
175
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Inktomi
176
+
177
+ [Inktomi]
178
+ Parent=DefaultProperties
179
+ Browser="Inktomi"
180
+ Frames=true
181
+ Tables=true
182
+ Crawler=true
183
+
184
+ [* (compatible;YahooSeeker/M1A1-R2D2; *)]
185
+ Parent=Inktomi
186
+ Browser="YahooSeeker-Mobile"
187
+ Frames=false
188
+ Tables=false
189
+
190
+ [Mozilla/4.0]
191
+ Parent=Inktomi
192
+
193
+ [Mozilla/4.0 (compatible; MSIE 5.0; Windows NT)]
194
+ Parent=Inktomi
195
+ Win32=true
196
+
197
+ [Mozilla/4.0 (compatible; Yahoo Japan; for robot study; kasugiya)]
198
+ Parent=Inktomi
199
+ Browser="Yahoo! RobotStudy"
200
+ isBanned=true
201
+
202
+ [Mozilla/5.0 (compatible; BMC/1.0 (Y!J-AGENT))]
203
+ Parent=Inktomi
204
+ Browser="Y!J-AGENT/BMC"
205
+
206
+ [Mozilla/5.0 (compatible; BMF/1.0 (Y!J-AGENT))]
207
+ Parent=Inktomi
208
+ Browser="Y!J-AGENT/BMF"
209
+
210
+ [Mozilla/5.0 (compatible; BMI/1.0 (Y!J-AGENT; 1.0))]
211
+ Parent=Inktomi
212
+ Browser="Y!J-AGENT/BMI"
213
+
214
+ [Mozilla/5.0 (compatible; Yahoo! DE Slurp; http://help.yahoo.com/help/us/ysearch/slurp)]
215
+ Parent=Inktomi
216
+ Browser="Yahoo! Directory Engine"
217
+
218
+ [Mozilla/5.0 (compatible; Yahoo! Slurp China; http://misc.yahoo.com.cn/help.html)]
219
+ Parent=Inktomi
220
+ Browser="Yahoo! Slurp China"
221
+
222
+ [Mozilla/5.0 (compatible; Yahoo! Slurp/3.0; http://help.yahoo.com/help/us/ysearch/slurp)]
223
+ Parent=Inktomi
224
+ Browser="Yahoo! Slurp"
225
+ Version=3.0
226
+ MajorVer=3
227
+ MinorVer=0
228
+
229
+ [Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)]
230
+ Parent=Inktomi
231
+ Browser="Yahoo! Slurp"
232
+
233
+ [Mozilla/5.0 (compatible; Yahoo! Verifier/1.1)]
234
+ Parent=Inktomi
235
+ Browser="Yahoo! Verifier"
236
+ Version=1.1
237
+ MajorVer=1
238
+ MinorVer=1
239
+
240
+ [Mozilla/5.0 (Slurp/cat; slurp@inktomi.com; http://www.inktomi.com/slurp.html)]
241
+ Parent=Inktomi
242
+ Browser="Slurp/cat"
243
+
244
+ [Mozilla/5.0 (Slurp/si; slurp@inktomi.com; http://www.inktomi.com/slurp.html)]
245
+ Parent=Inktomi
246
+
247
+ [Mozilla/5.0 (Yahoo-MMCrawler/4.0; mailto:vertical-crawl-support@yahoo-inc.com)]
248
+ Parent=Inktomi
249
+ Browser="Yahoo-MMCrawler"
250
+ Version=4.0
251
+ MajorVer=4
252
+ MinorVer=0
253
+
254
+ [Scooter/*]
255
+ Parent=Inktomi
256
+ Browser="Scooter"
257
+
258
+ [Scooter/3.3Y!CrawlX]
259
+ Parent=Inktomi
260
+ Browser="Scooter/3.3Y!CrawlX"
261
+ Version=3.3
262
+ MajorVer=3
263
+ MinorVer=3
264
+
265
+ [slurp]
266
+ Parent=Inktomi
267
+ Browser="slurp"
268
+
269
+ [Y!J-BSC/1.0*]
270
+ Parent=Inktomi
271
+ Browser="Y!J-BSC"
272
+ Version=1.0
273
+ MajorVer=1
274
+ MinorVer=0
275
+ isBanned=true
276
+
277
+ [Y!J-SRD/1.0]
278
+ Parent=Inktomi
279
+ Browser="Y!J-SRD"
280
+ Version=1.0
281
+ MajorVer=1
282
+ MinorVer=0
283
+
284
+ [Yahoo Mindset]
285
+ Parent=Inktomi
286
+ Browser="Yahoo Mindset"
287
+
288
+ [Yahoo Pipes*]
289
+ Parent=Inktomi
290
+ Browser="Yahoo Pipes"
291
+
292
+ [Yahoo! Mindset]
293
+ Parent=Inktomi
294
+ Browser="Yahoo! Mindset"
295
+
296
+ [Yahoo! Slurp/Site Explorer]
297
+ Parent=Inktomi
298
+ Browser="Yahoo! Site Explorer"
299
+
300
+ [Yahoo-Blogs/*]
301
+ Parent=Inktomi
302
+ Browser="Yahoo-Blogs"
303
+
304
+ [Yahoo-MMAudVid*]
305
+ Parent=Inktomi
306
+ Browser="Yahoo-MMAudVid"
307
+
308
+ [Yahoo-MMCrawler*]
309
+ Parent=Inktomi
310
+ Browser="Yahoo-MMCrawler"
311
+ isBanned=true
312
+
313
+ [YahooFeedSeeker*]
314
+ Parent=Inktomi
315
+ Browser="YahooFeedSeeker"
316
+ isSyndicationReader=true
317
+ Crawler=false
318
+
319
+ [YahooSeeker/*]
320
+ Parent=Inktomi
321
+ Browser="YahooSeeker"
322
+ isMobileDevice=true
323
+
324
+ [YahooSeeker/CafeKelsa (compatible; Konqueror/3.2; FreeBSD*) (KHTML, like Gecko)]
325
+ Parent=Inktomi
326
+ Browser="YahooSeeker/CafeKelsa"
327
+
328
+ [YahooSeeker/CafeKelsa-dev (compatible; Konqueror/3.2; FreeBSD*) (KHTML, like Gecko)]
329
+ Parent=Inktomi
330
+
331
+ [YahooVideoSearch*]
332
+ Parent=Inktomi
333
+ Browser="YahooVideoSearch"
334
+
335
+ [YahooYSMcm*]
336
+ Parent=Inktomi
337
+ Browser="YahooYSMcm"
338
+
339
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; MSN
340
+
341
+ [MSN]
342
+ Parent=DefaultProperties
343
+ Browser="MSN"
344
+ Frames=true
345
+ Tables=true
346
+ Crawler=true
347
+
348
+ [adidxbot/1.1 (?http://search.msn.com/msnbot.htm)]
349
+ Parent=MSN
350
+ Browser="adidxbot"
351
+
352
+ [librabot/1.0 (*)]
353
+ Parent=MSN
354
+ Browser="librabot"
355
+
356
+ [llssbot/1.0]
357
+ Parent=MSN
358
+ Browser="llssbot"
359
+ Version=1.0
360
+ MajorVer=1
361
+ MinorVer=0
362
+
363
+ [Mozilla/5.0 (Danger hiptop 3.*; U; rv:1.7.*) Gecko/*]
364
+ Parent=MSN
365
+ Browser="Danger"
366
+
367
+ [MSMOBOT/1.1*]
368
+ Parent=MSN
369
+ Browser="msnbot-mobile"
370
+ Version=1.1
371
+ MajorVer=1
372
+ MinorVer=1
373
+
374
+ [MSNBot-Academic/1.0*]
375
+ Parent=MSN
376
+ Browser="MSNBot-Academic"
377
+ Version=1.0
378
+ MajorVer=1
379
+ MinorVer=0
380
+
381
+ [msnbot-media/1.0*]
382
+ Parent=MSN
383
+ Browser="msnbot-media"
384
+ Version=1.0
385
+ MajorVer=1
386
+ MinorVer=0
387
+
388
+ [msnbot-media/1.1*]
389
+ Parent=MSN
390
+ Browser="msnbot-media"
391
+ Version=1.1
392
+ MajorVer=1
393
+ MinorVer=1
394
+
395
+ [MSNBot-News/1.0*]
396
+ Parent=MSN
397
+ Browser="MSNBot-News"
398
+ Version=1.0
399
+ MajorVer=1
400
+ MinorVer=0
401
+
402
+ [MSNBot-NewsBlogs/1.0*]
403
+ Parent=MSN
404
+ Browser="MSNBot-NewsBlogs"
405
+ Version=1
406
+ MajorVer=1
407
+ MinorVer=0
408
+
409
+ [msnbot-products]
410
+ Parent=MSN
411
+ Browser="msnbot-products"
412
+
413
+ [msnbot-webmaster/1.0 (*http://search.msn.com/msnbot.htm)]
414
+ Parent=MSN
415
+ Browser="msnbot-webmaster tools"
416
+
417
+ [msnbot/1.0*]
418
+ Parent=MSN
419
+ Browser="msnbot"
420
+ Version=1.0
421
+ MajorVer=1
422
+ MinorVer=0
423
+
424
+ [msnbot/1.1*]
425
+ Parent=MSN
426
+ Browser="msnbot"
427
+ Version=1.1
428
+ MajorVer=1
429
+ MinorVer=1
430
+
431
+ [msnbot/2.0b*]
432
+ Parent=MSN
433
+ Version=2.0
434
+ MajorVer=2
435
+ MinorVer=0
436
+ Beta=true
437
+
438
+ [MSR-ISRCCrawler]
439
+ Parent=MSN
440
+ Browser="MSR-ISRCCrawler"
441
+
442
+ [MSRBOT*]
443
+ Parent=MSN
444
+ Browser="MSRBOT"
445
+
446
+ [renlifangbot/1.0 (?http://search.msn.com/msnbot.htm)]
447
+ Parent=MSN
448
+ Browser="renlifangbot"
449
+
450
+ [T-Mobile Dash Mozilla/4.0 (*) MSNBOT-MOBILE/1.1 (*)]
451
+ Parent=MSN
452
+ Browser="msnbot-mobile"
453
+
454
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Yahoo
455
+
456
+ [Yahoo]
457
+ Parent=DefaultProperties
458
+ Browser="Yahoo"
459
+ Frames=true
460
+ Tables=true
461
+ Crawler=true
462
+
463
+ [Mozilla/4.0 (compatible; Y!J; for robot study*)]
464
+ Parent=Yahoo
465
+ Browser="Y!J"
466
+
467
+ [Mozilla/5.0 (Yahoo-Test/4.0*)]
468
+ Parent=Yahoo
469
+ Browser="Yahoo-Test"
470
+ Version=4.0
471
+ MajorVer=4
472
+ MinorVer=0
473
+
474
+ [mp3Spider cn-search-devel at yahoo-inc dot com]
475
+ Parent=Yahoo
476
+ Browser="Yahoo! Media"
477
+ isBanned=true
478
+
479
+ [My Browser]
480
+ Parent=Yahoo
481
+ Browser="Yahoo! My Browser"
482
+
483
+ [Y!OASIS/*]
484
+ Parent=Yahoo
485
+ Browser="Y!OASIS"
486
+ isBanned=true
487
+
488
+ [YahooYSMcm/2.0.0]
489
+ Parent=Yahoo
490
+ Browser="YahooYSMcm"
491
+ Version=2.0
492
+ MajorVer=2
493
+ MinorVer=0
494
+ isBanned=true
495
+
496
+ [YRL_ODP_CRAWLER]
497
+ Parent=Yahoo
498
+ Browser="YRL_ODP_CRAWLER"
499
+ isBanned=true
500
+
501
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Yandex
502
+
503
+ [Yandex]
504
+ Parent=DefaultProperties
505
+ Browser="Yandex"
506
+ Frames=true
507
+ IFrames=true
508
+ Tables=true
509
+ Cookies=true
510
+ Crawler=true
511
+
512
+ [Mozilla/4.0 (compatible; MSIE 5.0; YANDEX)]
513
+ Parent=Yandex
514
+
515
+ [Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.9) Gecko VisualParser/3.0]
516
+ Parent=Yandex
517
+ Browser="VisualParser"
518
+ isBanned=true
519
+
520
+ [YaDirectBot/*]
521
+ Parent=Yandex
522
+ Browser="YaDirectBot"
523
+
524
+ [Yandex/*]
525
+ Parent=Yandex
526
+
527
+ [YandexBlog/*]
528
+ Parent=Yandex
529
+ Browser="YandexBlog"
530
+ isSyndicationReader=true
531
+
532
+ [YandexSomething/*]
533
+ Parent=Yandex
534
+ Browser="YandexSomething"
535
+ isSyndicationReader=true
536
+
537
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Best of the Web
538
+
539
+ [Best of the Web]
540
+ Parent=DefaultProperties
541
+ Browser="Best of the Web"
542
+ Frames=true
543
+ Tables=true
544
+
545
+ [Mozilla/4.0 (compatible; BOTW Feed Grabber; *http://botw.org)]
546
+ Parent=Best of the Web
547
+ Browser="BOTW Feed Grabber"
548
+ isSyndicationReader=true
549
+ Crawler=false
550
+
551
+ [Mozilla/4.0 (compatible; BOTW Spider; *http://botw.org)]
552
+ Parent=Best of the Web
553
+ Browser="BOTW Spider"
554
+ isBanned=true
555
+
556
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Boitho
557
+
558
+ [Boitho]
559
+ Parent=DefaultProperties
560
+ Browser="Boitho"
561
+ Frames=true
562
+ Tables=true
563
+ Crawler=true
564
+
565
+ [boitho.com-dc/*]
566
+ Parent=Boitho
567
+ Browser="boitho.com-dc"
568
+
569
+ [boitho.com-robot/*]
570
+ Parent=Boitho
571
+ Browser="boitho.com-robot"
572
+
573
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Convera
574
+
575
+ [Convera]
576
+ Parent=DefaultProperties
577
+ Browser="Convera"
578
+ Frames=true
579
+ Tables=true
580
+ Crawler=true
581
+
582
+ [ConveraCrawler/*]
583
+ Parent=Convera
584
+ Browser="ConveraCrawler"
585
+
586
+ [ConveraMultiMediaCrawler/0.1*]
587
+ Parent=Convera
588
+ Browser="ConveraMultiMediaCrawler"
589
+ Version=0.1
590
+ MajorVer=0
591
+ MinorVer=1
592
+
593
+ [CrawlConvera*]
594
+ Parent=Convera
595
+ Browser="CrawlConvera"
596
+
597
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DotBot
598
+
599
+ [DotBot]
600
+ Parent=DefaultProperties
601
+ Browser="DotBot"
602
+ Frames=true
603
+ Tables=true
604
+ isBanned=true
605
+ Crawler=true
606
+
607
+ [DotBot/* (http://www.dotnetdotcom.org/*)]
608
+ Parent=DotBot
609
+
610
+ [Mozilla/5.0 (compatible; DotBot/*; http://www.dotnetdotcom.org/*)]
611
+ Parent=DotBot
612
+
613
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Entireweb
614
+
615
+ [Entireweb]
616
+ Parent=DefaultProperties
617
+ Browser="Entireweb"
618
+ Frames=true
619
+ IFrames=true
620
+ Tables=true
621
+ isBanned=true
622
+ Crawler=true
623
+
624
+ [Mozilla/4.0 (compatible; SpeedySpider; www.entireweb.com)]
625
+ Parent=Entireweb
626
+
627
+ [Speedy Spider (*Beta/*)]
628
+ Parent=Entireweb
629
+
630
+ [Speedy?Spider?(http://www.entireweb.com*)]
631
+ Parent=Entireweb
632
+
633
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Envolk
634
+
635
+ [Envolk]
636
+ Parent=DefaultProperties
637
+ Browser="Envolk"
638
+ Frames=true
639
+ IFrames=true
640
+ Tables=true
641
+ isBanned=true
642
+ Crawler=true
643
+
644
+ [envolk/* (?http://www.envolk.com/envolk*)]
645
+ Parent=Envolk
646
+
647
+ [envolk?ITS?spider/* (?http://www.envolk.com/envolk*)]
648
+ Parent=Envolk
649
+
650
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Exalead
651
+
652
+ [Exalead]
653
+ Parent=DefaultProperties
654
+ Browser="Exalead"
655
+ Frames=true
656
+ Tables=true
657
+ isBanned=true
658
+ Crawler=true
659
+
660
+ [Exabot-Images/1.0]
661
+ Parent=Exalead
662
+ Browser="Exabot-Images"
663
+ Version=1.0
664
+ MajorVer=1
665
+ MinorVer=0
666
+
667
+ [Exabot-Test/*]
668
+ Parent=Exalead
669
+ Browser="Exabot-Test"
670
+
671
+ [Exabot/2.0]
672
+ Parent=Exalead
673
+ Browser="Exabot"
674
+
675
+ [Exabot/3.0]
676
+ Parent=Exalead
677
+ Browser="Exabot"
678
+ Version=3.0
679
+ MajorVer=3
680
+ MinorVer=0
681
+ Platform=Liberate
682
+
683
+ [Exalead NG/*]
684
+ Parent=Exalead
685
+ Browser="Exalead NG"
686
+ isBanned=true
687
+
688
+ [Mozilla/5.0 (compatible; Exabot-Images/3.0;*)]
689
+ Parent=Exalead
690
+ Browser="Exabot-Images"
691
+
692
+ [Mozilla/5.0 (compatible; Exabot/3.0 (BiggerBetter/tests);*)]
693
+ Parent=Exalead
694
+ Browser="Exabot/BiggerBetter/tests"
695
+
696
+ [Mozilla/5.0 (compatible; Exabot/3.0;*)]
697
+ Parent=Exalead
698
+ Browser="Exabot"
699
+ isBanned=false
700
+
701
+ [Mozilla/5.0 (compatible; NGBot/*)]
702
+ Parent=Exalead
703
+
704
+ [ng/*]
705
+ Parent=Exalead
706
+ Browser="Exalead Previewer"
707
+ Version=1.0
708
+ MajorVer=1
709
+ MinorVer=0
710
+ isBanned=true
711
+
712
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Fast/AllTheWeb
713
+
714
+ [Fast/AllTheWeb]
715
+ Parent=DefaultProperties
716
+ Browser="Fast/AllTheWeb"
717
+ Alpha=true
718
+ Beta=true
719
+ Win16=true
720
+ Win32=true
721
+ Win64=true
722
+ Frames=true
723
+ IFrames=true
724
+ Tables=true
725
+ Cookies=true
726
+ BackgroundSounds=true
727
+ CDF=true
728
+ VBScript=true
729
+ JavaApplets=true
730
+ JavaScript=true
731
+ ActiveXControls=true
732
+ isBanned=true
733
+ isMobileDevice=true
734
+ isSyndicationReader=true
735
+ Crawler=true
736
+
737
+ [*FAST Enterprise Crawler*]
738
+ Parent=Fast/AllTheWeb
739
+ Browser="FAST Enterprise Crawler"
740
+
741
+ [FAST Data Search Document Retriever/4.0*]
742
+ Parent=Fast/AllTheWeb
743
+ Browser="FAST Data Search Document Retriever"
744
+
745
+ [FAST MetaWeb Crawler (helpdesk at fastsearch dot com)]
746
+ Parent=Fast/AllTheWeb
747
+ Browser="FAST MetaWeb Crawler"
748
+
749
+ [Fast PartnerSite Crawler*]
750
+ Parent=Fast/AllTheWeb
751
+ Browser="FAST PartnerSite"
752
+
753
+ [FAST-WebCrawler/*]
754
+ Parent=Fast/AllTheWeb
755
+ Browser="FAST-WebCrawler"
756
+
757
+ [FAST-WebCrawler/*/FirstPage*]
758
+ Parent=Fast/AllTheWeb
759
+ Browser="FAST-WebCrawler/FirstPage"
760
+
761
+ [FAST-WebCrawler/*/Fresh*]
762
+ Parent=Fast/AllTheWeb
763
+ Browser="FAST-WebCrawler/Fresh"
764
+
765
+ [FAST-WebCrawler/*/PartnerSite*]
766
+ Parent=Fast/AllTheWeb
767
+ Browser="FAST PartnerSite"
768
+
769
+ [FAST-WebCrawler/*?Multimedia*]
770
+ Parent=Fast/AllTheWeb
771
+ Browser="FAST-WebCrawler/Multimedia"
772
+
773
+ [FastSearch Web Crawler for*]
774
+ Parent=Fast/AllTheWeb
775
+ Browser="FastSearch Web Crawler"
776
+
777
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Gigabot
778
+
779
+ [Gigabot]
780
+ Parent=DefaultProperties
781
+ Browser="Gigabot"
782
+ Frames=true
783
+ IFrames=true
784
+ Tables=true
785
+ Crawler=true
786
+
787
+ [Gigabot*]
788
+ Parent=Gigabot
789
+
790
+ [GigabotSiteSearch/*]
791
+ Parent=Gigabot
792
+ Browser="GigabotSiteSearch"
793
+
794
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Ilse
795
+
796
+ [Ilse]
797
+ Parent=DefaultProperties
798
+ Browser="Ilse"
799
+ Frames=true
800
+ Tables=true
801
+ Crawler=true
802
+
803
+ [IlseBot/*]
804
+ Parent=Ilse
805
+
806
+ [INGRID/?.0*]
807
+ Parent=Ilse
808
+ Browser="Ilse"
809
+
810
+ [Mozilla/3.0 (INGRID/*]
811
+ Parent=Ilse
812
+ Browser="Ilse"
813
+
814
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; iVia Project
815
+
816
+ [iVia Project]
817
+ Parent=DefaultProperties
818
+ Browser="iVia Project"
819
+ Frames=true
820
+ IFrames=true
821
+ Tables=true
822
+ Crawler=true
823
+
824
+ [DataFountains/DMOZ Downloader*]
825
+ Parent=iVia Project
826
+ Browser="DataFountains/DMOZ Downloader"
827
+ isBanned=true
828
+
829
+ [DataFountains/DMOZ Feature Vector Corpus Creator*]
830
+ Parent=iVia Project
831
+ Browser="DataFountains/DMOZ Feature Vector Corpus"
832
+
833
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Jayde Online
834
+
835
+ [Jayde Online]
836
+ Parent=DefaultProperties
837
+ Browser="Jayde Online"
838
+ Frames=true
839
+ Tables=true
840
+ Crawler=true
841
+
842
+ [ExactSeek Crawler/*]
843
+ Parent=Jayde Online
844
+ Browser="ExactSeek Crawler"
845
+
846
+ [exactseek-pagereaper-* (crawler@exactseek.com)]
847
+ Parent=Jayde Online
848
+ Browser="exactseek-pagereaper"
849
+ isBanned=true
850
+
851
+ [exactseek.com]
852
+ Parent=Jayde Online
853
+ Browser="exactseek.com"
854
+
855
+ [Jayde Crawler*]
856
+ Parent=Jayde Online
857
+ Browser="Jayde Crawler"
858
+
859
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Lycos
860
+
861
+ [Lycos]
862
+ Parent=DefaultProperties
863
+ Browser="Lycos"
864
+ Frames=true
865
+ Tables=true
866
+ Crawler=true
867
+
868
+ [Lycos*]
869
+ Parent=Lycos
870
+ Browser="Lycos"
871
+
872
+ [Lycos-Proxy]
873
+ Parent=Lycos
874
+ Browser="Lycos-Proxy"
875
+
876
+ [Lycos-Spider_(modspider)]
877
+ Parent=Lycos
878
+ Browser="Lycos-Spider_(modspider)"
879
+
880
+ [Lycos-Spider_(T-Rex)]
881
+ Parent=Lycos
882
+ Browser="Lycos-Spider_(T-Rex)"
883
+
884
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Naver
885
+
886
+ [Naver]
887
+ Parent=DefaultProperties
888
+ Browser="Naver"
889
+ isBanned=true
890
+ Crawler=true
891
+
892
+ [Cowbot-* (NHN Corp*naver.com)]
893
+ Parent=Naver
894
+ Browser="Naver Cowbot"
895
+
896
+ [Mozilla/4.0 (compatible; NaverBot/*; *)]
897
+ Parent=Naver
898
+
899
+ [Mozilla/4.0 (compatible; NaverBot/*; nhnbot@naver.com)]
900
+ Parent=Naver
901
+ Browser="Naver NaverBot"
902
+
903
+ [NaverBot-* (NHN Corp*naver.com)]
904
+ Parent=Naver
905
+ Browser="Naver NHN Corp"
906
+
907
+ [Yeti/*]
908
+ Parent=Naver
909
+ Browser="Yeti"
910
+
911
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Snap
912
+
913
+ [Snap]
914
+ Parent=DefaultProperties
915
+ Browser="Snap"
916
+ isBanned=true
917
+ Crawler=true
918
+
919
+ [Mozilla/5.0 (SnapPreviewBot) Gecko/* Firefox/*]
920
+ Parent=Snap
921
+
922
+ [Snapbot/*]
923
+ Parent=Snap
924
+
925
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Sogou
926
+
927
+ [Sogou]
928
+ Parent=DefaultProperties
929
+ Browser="Sogou"
930
+ Frames=true
931
+ Tables=true
932
+ isBanned=true
933
+ Crawler=true
934
+
935
+ [shaboyi spider]
936
+ Parent=Sogou
937
+ Browser="Sogou/Shaboyi Spider"
938
+
939
+ [Sogou develop spider/*]
940
+ Parent=Sogou
941
+ Browser="Sogou Develop Spider"
942
+
943
+ [Sogou head spider*]
944
+ Parent=Sogou
945
+ Browser="Sogou/HEAD Spider"
946
+
947
+ [sogou js robot(*)]
948
+ Parent=Sogou
949
+
950
+ [Sogou Orion spider/*]
951
+ Parent=Sogou
952
+ Browser="Sogou Orion spider"
953
+
954
+ [Sogou Pic Agent]
955
+ Parent=Sogou
956
+ Browser="Sogou/Image Crawler"
957
+
958
+ [Sogou Pic Spider]
959
+ Parent=Sogou
960
+ Browser="Sogou Pic Spider"
961
+
962
+ [Sogou Push Spider/*]
963
+ Parent=Sogou
964
+ Browser="Sogou Push Spider"
965
+
966
+ [sogou spider]
967
+ Parent=Sogou
968
+ Browser="Sogou/Spider"
969
+
970
+ [sogou web spider*]
971
+ Parent=Sogou
972
+ Browser="sogou web spider"
973
+
974
+ [Sogou-Test-Spider/*]
975
+ Parent=Sogou
976
+ Browser="Sogou-Test-Spider"
977
+
978
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; YodaoBot
979
+
980
+ [YodaoBot]
981
+ Parent=DefaultProperties
982
+ Browser="YodaoBot"
983
+ Frames=true
984
+ IFrames=true
985
+ Tables=true
986
+ isBanned=true
987
+ Crawler=true
988
+
989
+ [Mozilla/5.0 (compatible; YodaoBot/1.*)]
990
+ Parent=YodaoBot
991
+
992
+ [Mozilla/5.0 (compatible;YodaoBot-Image/1.*)]
993
+ Parent=YodaoBot
994
+ Browser="YodaoBot-Image"
995
+
996
+ [WAP_Browser/5.0 (compatible; YodaoBot/1.*)]
997
+ Parent=YodaoBot
998
+
999
+ [YodaoBot/1.* (*)]
1000
+ Parent=YodaoBot
1001
+
1002
+ [Best Whois (http://www.bestwhois.net/)]
1003
+ Parent=DNS Tools
1004
+ Browser="Best Whois"
1005
+
1006
+ [DNSGroup/*]
1007
+ Parent=DNS Tools
1008
+ Browser="DNS Group Crawler"
1009
+
1010
+ [NG-Search/*]
1011
+ Parent=Exalead
1012
+ Browser="NG-SearchBot"
1013
+
1014
+ [TouchStone]
1015
+ Parent=Feeds Syndicators
1016
+ Browser="TouchStone"
1017
+ isSyndicationReader=true
1018
+
1019
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; General Crawlers
1020
+
1021
+ [General Crawlers]
1022
+ Parent=DefaultProperties
1023
+ Browser="General Crawlers"
1024
+ Crawler=true
1025
+
1026
+ [A .NET Web Crawler]
1027
+ Parent=General Crawlers
1028
+ isBanned=true
1029
+
1030
+ [BabalooSpider/1.*]
1031
+ Parent=General Crawlers
1032
+ Browser="BabalooSpider"
1033
+
1034
+ [BilgiBot/*]
1035
+ Parent=General Crawlers
1036
+ Browser="BilgiBot"
1037
+ isBanned=true
1038
+
1039
+ [bot/* (bot; *bot@bot.bot)]
1040
+ Parent=General Crawlers
1041
+ Browser="bot"
1042
+ isBanned=true
1043
+
1044
+ [CyberPatrol*]
1045
+ Parent=General Crawlers
1046
+ Browser="CyberPatrol"
1047
+ isBanned=true
1048
+
1049
+ [Cynthia 1.0]
1050
+ Parent=General Crawlers
1051
+ Browser="Cynthia"
1052
+ Version=1.0
1053
+ MajorVer=1
1054
+ MinorVer=0
1055
+
1056
+ [ddetailsbot (http://www.displaydetails.com)]
1057
+ Parent=General Crawlers
1058
+ Browser="ddetailsbot"
1059
+
1060
+ [DomainCrawler/1.0 (info@domaincrawler.com; http://www.domaincrawler.com/domains/view/*)]
1061
+ Parent=General Crawlers
1062
+ Browser="DomainCrawler"
1063
+
1064
+ [DomainsBotBot/1.*]
1065
+ Parent=General Crawlers
1066
+ Browser="DomainsBotBot"
1067
+ isBanned=true
1068
+
1069
+ [DomainsDB.net MetaCrawler*]
1070
+ Parent=General Crawlers
1071
+ Browser="DomainsDB"
1072
+
1073
+ [Drupal (*)]
1074
+ Parent=General Crawlers
1075
+ Browser="Drupal"
1076
+
1077
+ [Dumbot (version *)*]
1078
+ Parent=General Crawlers
1079
+ Browser="Dumbfind"
1080
+
1081
+ [EuripBot/*]
1082
+ Parent=General Crawlers
1083
+ Browser="Europe Internet Portal"
1084
+
1085
+ [eventax/*]
1086
+ Parent=General Crawlers
1087
+ Browser="eventax"
1088
+
1089
+ [FANGCrawl/*]
1090
+ Parent=General Crawlers
1091
+ Browser="Safe-t.net Web Filtering Service"
1092
+ isBanned=true
1093
+
1094
+ [favorstarbot/*]
1095
+ Parent=General Crawlers
1096
+ Browser="favorstarbot"
1097
+ isBanned=true
1098
+
1099
+ [FollowSite.com (*)]
1100
+ Parent=General Crawlers
1101
+ Browser="FollowSite"
1102
+ isBanned=true
1103
+
1104
+ [Gaisbot*]
1105
+ Parent=General Crawlers
1106
+ Browser="Gaisbot"
1107
+
1108
+ [Healthbot/Health_and_Longevity_Project_(HealthHaven.com) ]
1109
+ Parent=General Crawlers
1110
+ Browser="Healthbot"
1111
+ isBanned=true
1112
+
1113
+ [hitcrawler_0.*]
1114
+ Parent=General Crawlers
1115
+ Browser="hitcrawler"
1116
+ isBanned=true
1117
+
1118
+ [htdig/*]
1119
+ Parent=General Crawlers
1120
+ Browser="ht://Dig"
1121
+
1122
+ [http://hilfe.acont.de/bot.html ACONTBOT]
1123
+ Parent=General Crawlers
1124
+ Browser="ACONTBOT"
1125
+ isBanned=true
1126
+
1127
+ [JetBrains*]
1128
+ Parent=General Crawlers
1129
+ Browser="Omea Pro"
1130
+
1131
+ [KakleBot - www.kakle.com/0.1]
1132
+ Parent=General Crawlers
1133
+ Browser="KakleBot"
1134
+
1135
+ [KBeeBot/0.*]
1136
+ Parent=General Crawlers
1137
+ Browser="KBeeBot"
1138
+ isBanned=true
1139
+
1140
+ [Keyword Density/*]
1141
+ Parent=General Crawlers
1142
+ Browser="Keyword Density"
1143
+
1144
+ [LetsCrawl.com/1.0*]
1145
+ Parent=General Crawlers
1146
+ Browser="LetsCrawl.com"
1147
+ isBanned=true
1148
+
1149
+ [Lincoln State Web Browser]
1150
+ Parent=General Crawlers
1151
+ Browser="Lincoln State Web Browser"
1152
+ isBanned=true
1153
+
1154
+ [Links4US-Crawler,*]
1155
+ Parent=General Crawlers
1156
+ Browser="Links4US-Crawler"
1157
+ isBanned=true
1158
+
1159
+ [Lorkyll *.* -- lorkyll@444.net]
1160
+ Parent=General Crawlers
1161
+ Browser="Lorkyll"
1162
+ isBanned=true
1163
+
1164
+ [Lsearch/sondeur]
1165
+ Parent=General Crawlers
1166
+ Browser="Lsearch/sondeur"
1167
+ isBanned=true
1168
+
1169
+ [LucidMedia ClickSense/4.?]
1170
+ Parent=General Crawlers
1171
+ Browser="LucidMedia-ClickSense"
1172
+ isBanned=true
1173
+
1174
+ [Mahalobot/1.0 (?http://www.mahalo.com/)]
1175
+ Parent=General Crawlers
1176
+ Browser="Mahalobot"
1177
+
1178
+ [MapoftheInternet.com?(?http://MapoftheInternet.com)]
1179
+ Parent=General Crawlers
1180
+ Browser="MapoftheInternet"
1181
+ isBanned=true
1182
+
1183
+ [Marvin v0.3]
1184
+ Parent=General Crawlers
1185
+ Browser="MedHunt"
1186
+ Version=0.3
1187
+ MajorVer=0
1188
+ MinorVer=3
1189
+
1190
+ [masidani_bot_v0.6*]
1191
+ Parent=General Crawlers
1192
+ Browser="masidani_bot"
1193
+
1194
+ [Metaspinner/0.01 (Metaspinner; http://www.meta-spinner.de/; support@meta-spinner.de/)]
1195
+ Parent=General Crawlers
1196
+ Browser="Metaspinner/0.01"
1197
+ Version=0.01
1198
+ MajorVer=0
1199
+ MinorVer=01
1200
+
1201
+ [metatagsdir/*]
1202
+ Parent=General Crawlers
1203
+ Browser="metatagsdir"
1204
+ isBanned=true
1205
+
1206
+ [Microsoft Windows Network Diagnostics]
1207
+ Parent=General Crawlers
1208
+ Browser="Microsoft Windows Network Diagnostics"
1209
+ isBanned=true
1210
+
1211
+ [Miva (AlgoFeedback@miva.com)]
1212
+ Parent=General Crawlers
1213
+ Browser="Miva"
1214
+
1215
+ [moget/*]
1216
+ Parent=General Crawlers
1217
+ Browser="Goo"
1218
+
1219
+ [Mozdex/0.7.2*]
1220
+ Parent=General Crawlers
1221
+ Browser="Mozdex"
1222
+
1223
+ [Mozilla Compatible (MS IE 3.01 WinNT)]
1224
+ Parent=General Crawlers
1225
+ isBanned=true
1226
+
1227
+ [Mozilla/* (compatible; WebCapture*)]
1228
+ Parent=General Crawlers
1229
+ Browser="WebCapture"
1230
+
1231
+ [Mozilla/4.0 (compatible; DepSpid/*)]
1232
+ Parent=General Crawlers
1233
+ Browser="DepSpid"
1234
+
1235
+ [Mozilla/4.0 (compatible; MSIE 4.01; Vonna.com b o t)]
1236
+ Parent=General Crawlers
1237
+ Browser="Vonna.com"
1238
+ isBanned=true
1239
+
1240
+ [Mozilla/4.0 (compatible; MSIE 4.01; Windows95)]
1241
+ Parent=General Crawlers
1242
+ Win32=true
1243
+
1244
+ [Mozilla/4.0 (compatible; MSIE 4.5; Windows 98; )]
1245
+ Parent=General Crawlers
1246
+ Win32=true
1247
+
1248
+ [Mozilla/4.0 (compatible; MyFamilyBot/*)]
1249
+ Parent=General Crawlers
1250
+ Browser="MyFamilyBot"
1251
+
1252
+ [Mozilla/4.0 (compatible; N-Stealth)]
1253
+ Parent=General Crawlers
1254
+ Browser="N-Stealth"
1255
+
1256
+ [Mozilla/4.0 (compatible; Scumbot/*; Linux/*)]
1257
+ Parent=General Crawlers
1258
+ isBanned=true
1259
+
1260
+ [Mozilla/4.0 (compatible; Spider; Linux)]
1261
+ Parent=General Crawlers
1262
+ isBanned=true
1263
+
1264
+ [Mozilla/4.0 (compatible; Win32)]
1265
+ Parent=General Crawlers
1266
+ Browser="Unknown Crawler"
1267
+ isBanned=true
1268
+
1269
+ [Mozilla/4.1]
1270
+ Parent=General Crawlers
1271
+ isBanned=true
1272
+
1273
+ [Mozilla/4.5]
1274
+ Parent=General Crawlers
1275
+ isBanned=true
1276
+
1277
+ [Mozilla/5.0 (*http://gnomit.com/) Gecko/* Gnomit/1.0]
1278
+ Parent=General Crawlers
1279
+ Browser="Gnomit"
1280
+ isBanned=true
1281
+
1282
+ [Mozilla/5.0 (compatible; *; http://www.80legs.com/spider.html;) Gecko/*]
1283
+ Parent=General Crawlers
1284
+ Browser="80Legs"
1285
+
1286
+ [Mozilla/5.0 (compatible; AboutUsBot/*)]
1287
+ Parent=General Crawlers
1288
+ Browser="AboutUsBot"
1289
+ isBanned=true
1290
+
1291
+ [Mozilla/5.0 (compatible; BuzzRankingBot/*)]
1292
+ Parent=General Crawlers
1293
+ Browser="BuzzRankingBot"
1294
+ isBanned=true
1295
+
1296
+ [Mozilla/5.0 (compatible; Diffbot/0.1; http://www.diffbot.com)]
1297
+ Parent=General Crawlers
1298
+ Browser="Diffbot"
1299
+
1300
+ [Mozilla/5.0 (compatible; FirstSearchBot/1.0; *)]
1301
+ Parent=General Crawlers
1302
+ Browser="FirstSearchBot"
1303
+
1304
+ [mozilla/5.0 (compatible; genevabot http://www.healthdash.com)]
1305
+ Parent=General Crawlers
1306
+ Browser="Healthdash"
1307
+
1308
+ [Mozilla/5.0 (compatible; JadynAveBot; *http://www.jadynave.com/robot*]
1309
+ Parent=General Crawlers
1310
+ Browser="JadynAveBot"
1311
+ isBanned=true
1312
+
1313
+ [Mozilla/5.0 (compatible; Kyluka crawl; http://www.kyluka.com/crawl.html; crawl@kyluka.com)]
1314
+ Parent=General Crawlers
1315
+ Browser="Kyluka"
1316
+
1317
+ [Mozilla/5.0 (compatible; MJ12bot/v1.2.*; http://www.majestic12.co.uk/bot.php*)]
1318
+ Parent=General Crawlers
1319
+ Browser="MJ12bot"
1320
+ Version=1.2
1321
+ MajorVer=1
1322
+ MinorVer=2
1323
+ isBanned=true
1324
+
1325
+ [Mozilla/5.0 (compatible; MSIE 7.0 ?http://www.europarchive.org)]
1326
+ Parent=General Crawlers
1327
+ Browser="Europe Web Archive"
1328
+
1329
+ [Mozilla/5.0 (compatible; Seznam screenshot-generator 2.0;*)]
1330
+ Parent=General Crawlers
1331
+ Browser="Seznam screenshot-generator"
1332
+ isBanned=true
1333
+
1334
+ [Mozilla/5.0 (compatible; Twingly Recon; http://www.twingly.com/)]
1335
+ Parent=General Crawlers
1336
+ Browser="Twingly Recon"
1337
+
1338
+ [Mozilla/5.0 (compatible; unwrapbot/2.*; http://www.unwrap.jp*)]
1339
+ Parent=General Crawlers
1340
+ Browser="UnWrap"
1341
+
1342
+ [Mozilla/5.0 (compatible; Vermut*)]
1343
+ Parent=General Crawlers
1344
+ Browser="Vermut"
1345
+
1346
+ [Mozilla/5.0 (compatible; Webbot/*)]
1347
+ Parent=General Crawlers
1348
+ Browser="Webbot.ru"
1349
+ isBanned=true
1350
+
1351
+ [n4p_bot*]
1352
+ Parent=General Crawlers
1353
+ Browser="n4p_bot"
1354
+
1355
+ [nabot*]
1356
+ Parent=General Crawlers
1357
+ Browser="Nabot"
1358
+
1359
+ [NetCarta_WebMapper/*]
1360
+ Parent=General Crawlers
1361
+ Browser="NetCarta_WebMapper"
1362
+ isBanned=true
1363
+
1364
+ [NetID.com Bot*]
1365
+ Parent=General Crawlers
1366
+ Browser="NetID.com Bot"
1367
+ isBanned=true
1368
+
1369
+ [neTVision AG andreas.heidoetting@thomson-webcast.net]
1370
+ Parent=General Crawlers
1371
+ Browser="neTVision"
1372
+
1373
+ [NextopiaBOT*]
1374
+ Parent=General Crawlers
1375
+ Browser="NextopiaBOT"
1376
+
1377
+ [nicebot]
1378
+ Parent=General Crawlers
1379
+ Browser="nicebot"
1380
+ isBanned=true
1381
+
1382
+ [niXXieBot?Foster*]
1383
+ Parent=General Crawlers
1384
+ Browser="niXXiebot-Foster"
1385
+
1386
+ [Nozilla/P.N (Just for IDS woring)]
1387
+ Parent=General Crawlers
1388
+ Browser="Nozilla/P.N"
1389
+ isBanned=true
1390
+
1391
+ [Nudelsalat/*]
1392
+ Parent=General Crawlers
1393
+ Browser="Nudelsalat"
1394
+ isBanned=true
1395
+
1396
+ [NV32ts]
1397
+ Parent=General Crawlers
1398
+ Browser="NV32ts"
1399
+ isBanned=true
1400
+
1401
+ [Ocelli/*]
1402
+ Parent=General Crawlers
1403
+ Browser="Ocelli"
1404
+
1405
+ [OpenTaggerBot (http://www.opentagger.com/opentaggerbot.htm)]
1406
+ Parent=General Crawlers
1407
+ Browser="OpenTaggerBot"
1408
+
1409
+ [Oracle Enterprise Search]
1410
+ Parent=General Crawlers
1411
+ Browser="Oracle Enterprise Search"
1412
+ isBanned=true
1413
+
1414
+ [Oracle Ultra Search]
1415
+ Parent=General Crawlers
1416
+ Browser="Oracle Ultra Search"
1417
+
1418
+ [Pajaczek/*]
1419
+ Parent=General Crawlers
1420
+ Browser="Pajaczek"
1421
+ isBanned=true
1422
+
1423
+ [panscient.com]
1424
+ Parent=General Crawlers
1425
+ Browser="panscient.com"
1426
+ isBanned=true
1427
+
1428
+ [Patwebbot (http://www.herz-power.de/technik.html)]
1429
+ Parent=General Crawlers
1430
+ Browser="Patwebbot"
1431
+
1432
+ [PDFBot (crawler@pdfind.com)]
1433
+ Parent=General Crawlers
1434
+ Browser="PDFBot"
1435
+
1436
+ [Pete-Spider/1.*]
1437
+ Parent=General Crawlers
1438
+ Browser="Pete-Spider"
1439
+ isBanned=true
1440
+
1441
+ [PhpDig/*]
1442
+ Parent=General Crawlers
1443
+ Browser="PhpDig"
1444
+
1445
+ [PlantyNet_WebRobot*]
1446
+ Parent=General Crawlers
1447
+ Browser="PlantyNet"
1448
+ isBanned=true
1449
+
1450
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; PluckIt
1451
+
1452
+ [PluckItCrawler/1.0 (*)]
1453
+ Parent=General Crawlers
1454
+ isMobileDevice=true
1455
+
1456
+ [PMAFind]
1457
+ Parent=General Crawlers
1458
+ Browser="PMAFind"
1459
+ isBanned=true
1460
+
1461
+ [Poodle_predictor_1.0]
1462
+ Parent=General Crawlers
1463
+ Browser="Poodle Predictor"
1464
+
1465
+ [QuickFinder Crawler]
1466
+ Parent=General Crawlers
1467
+ Browser="QuickFinder"
1468
+ isBanned=true
1469
+
1470
+ [Radiation Retriever*]
1471
+ Parent=General Crawlers
1472
+ Browser="Radiation Retriever"
1473
+ isBanned=true
1474
+
1475
+ [RedCarpet/*]
1476
+ Parent=General Crawlers
1477
+ Browser="RedCarpet"
1478
+ isBanned=true
1479
+
1480
+ [RixBot (http://babelserver.org/rix)]
1481
+ Parent=General Crawlers
1482
+ Browser="RixBot"
1483
+
1484
+ [Rome Client (http://tinyurl.com/64t5n) Ver: 0.*]
1485
+ Parent=General Crawlers
1486
+ Browser="TinyURL"
1487
+
1488
+ [SBIder/*]
1489
+ Parent=General Crawlers
1490
+ Browser="SiteSell"
1491
+
1492
+ [ScollSpider/2.*]
1493
+ Parent=General Crawlers
1494
+ Browser="ScollSpider"
1495
+ isBanned=true
1496
+
1497
+ [Search Fst]
1498
+ Parent=General Crawlers
1499
+ Browser="Search Fst"
1500
+
1501
+ [searchbot admin@google.com]
1502
+ Parent=General Crawlers
1503
+ Browser="searchbot"
1504
+ isBanned=true
1505
+
1506
+ [Seeker.lookseek.com]
1507
+ Parent=General Crawlers
1508
+ Browser="LookSeek"
1509
+ isBanned=true
1510
+
1511
+ [semanticdiscovery/*]
1512
+ Parent=General Crawlers
1513
+ Browser="Semantic Discovery"
1514
+
1515
+ [SeznamBot/*]
1516
+ Parent=General Crawlers
1517
+ Browser="SeznamBot"
1518
+ isBanned=true
1519
+
1520
+ [Shelob (shelob@gmx.net)]
1521
+ Parent=General Crawlers
1522
+ Browser="Shelob"
1523
+ isBanned=true
1524
+
1525
+ [shelob v1.*]
1526
+ Parent=General Crawlers
1527
+ Browser="shelob"
1528
+ isBanned=true
1529
+
1530
+ [ShopWiki/1.0*]
1531
+ Parent=General Crawlers
1532
+ Browser="ShopWiki"
1533
+ Version=1.0
1534
+ MajorVer=1
1535
+ MinorVer=0
1536
+
1537
+ [ShowXML/1.0 libwww/5.4.0]
1538
+ Parent=General Crawlers
1539
+ Browser="ShowXML"
1540
+ isBanned=true
1541
+
1542
+ [sitecheck.internetseer.com*]
1543
+ Parent=General Crawlers
1544
+ Browser="Internetseer"
1545
+
1546
+ [SMBot/*]
1547
+ Parent=General Crawlers
1548
+ Browser="SMBot"
1549
+
1550
+ [sohu*]
1551
+ Parent=General Crawlers
1552
+ Browser="sohu-search"
1553
+ isBanned=true
1554
+
1555
+ [SpankBot*]
1556
+ Parent=General Crawlers
1557
+ Browser="SpankBot"
1558
+ isBanned=true
1559
+
1560
+ [spider (tspyyp@tom.com)]
1561
+ Parent=General Crawlers
1562
+ Browser="spider (tspyyp@tom.com)"
1563
+ isBanned=true
1564
+
1565
+ [Sunrise/0.*]
1566
+ Parent=General Crawlers
1567
+ Browser="Sunrise"
1568
+ isBanned=true
1569
+
1570
+ [Superpages URL Verification Engine]
1571
+ Parent=General Crawlers
1572
+ Browser="Superpages"
1573
+
1574
+ [Surf Knight]
1575
+ Parent=General Crawlers
1576
+ Browser="Surf Knight"
1577
+ isBanned=true
1578
+
1579
+ [SurveyBot/*]
1580
+ Parent=General Crawlers
1581
+ Browser="SurveyBot"
1582
+ isBanned=true
1583
+
1584
+ [SynapticSearch/AI Crawler 1.?]
1585
+ Parent=General Crawlers
1586
+ Browser="SynapticSearch"
1587
+ isBanned=true
1588
+
1589
+ [SyncMgr]
1590
+ Parent=General Crawlers
1591
+ Browser="SyncMgr"
1592
+
1593
+ [Tagyu Agent/1.0]
1594
+ Parent=General Crawlers
1595
+ Browser="Tagyu"
1596
+
1597
+ [Talkro Web-Shot/*]
1598
+ Parent=General Crawlers
1599
+ Browser="Talkro Web-Shot"
1600
+ isBanned=true
1601
+
1602
+ [Tecomi Bot (http://www.tecomi.com/bot.htm)]
1603
+ Parent=General Crawlers
1604
+ Browser="Tecomi"
1605
+
1606
+ [TheInformant*]
1607
+ Parent=General Crawlers
1608
+ Browser="TheInformant"
1609
+ isBanned=true
1610
+
1611
+ [Toata dragostea*]
1612
+ Parent=General Crawlers
1613
+ Browser="Toata dragostea"
1614
+ isBanned=true
1615
+
1616
+ [Tutorial Crawler*]
1617
+ Parent=General Crawlers
1618
+ isBanned=true
1619
+
1620
+ [UbiCrawler/*]
1621
+ Parent=General Crawlers
1622
+ Browser="UbiCrawler"
1623
+
1624
+ [UCmore]
1625
+ Parent=General Crawlers
1626
+ Browser="UCmore"
1627
+
1628
+ [User*Agent:*]
1629
+ Parent=General Crawlers
1630
+ isBanned=true
1631
+
1632
+ [USER_AGENT]
1633
+ Parent=General Crawlers
1634
+ Browser="USER_AGENT"
1635
+ isBanned=true
1636
+
1637
+ [VadixBot]
1638
+ Parent=General Crawlers
1639
+ Browser="VadixBot"
1640
+
1641
+ [VengaBot/*]
1642
+ Parent=General Crawlers
1643
+ Browser="VengaBot"
1644
+ isBanned=true
1645
+
1646
+ [Visicom Toolbar]
1647
+ Parent=General Crawlers
1648
+ Browser="Visicom Toolbar"
1649
+
1650
+ [W3C-WebCon/*]
1651
+ Parent=General Crawlers
1652
+ Browser="W3C-WebCon"
1653
+
1654
+ [Webclipping.com]
1655
+ Parent=General Crawlers
1656
+ Browser="Webclipping.com"
1657
+ isBanned=true
1658
+
1659
+ [webcollage/*]
1660
+ Parent=General Crawlers
1661
+ Browser="WebCollage"
1662
+ isBanned=true
1663
+
1664
+ [WebCrawler_1.*]
1665
+ Parent=General Crawlers
1666
+ Browser="WebCrawler"
1667
+
1668
+ [WebFilter Robot*]
1669
+ Parent=General Crawlers
1670
+ Browser="WebFilter Robot"
1671
+
1672
+ [WeBoX/*]
1673
+ Parent=General Crawlers
1674
+ Browser="WeBoX"
1675
+
1676
+ [WebTrends/*]
1677
+ Parent=General Crawlers
1678
+ Browser="WebTrends"
1679
+
1680
+ [West Wind Internet Protocols*]
1681
+ Parent=General Crawlers
1682
+ Browser="Versatel"
1683
+ isBanned=true
1684
+
1685
+ [WhizBang]
1686
+ Parent=General Crawlers
1687
+ Browser="WhizBang"
1688
+
1689
+ [Willow Internet Crawler by Twotrees V*]
1690
+ Parent=General Crawlers
1691
+ Browser="Willow Internet Crawler"
1692
+
1693
+ [WIRE/* (Linux; i686; Bot,Robot,Spider,Crawler)]
1694
+ Parent=General Crawlers
1695
+ Browser="WIRE"
1696
+ isBanned=true
1697
+
1698
+ [www.fi crawler, contact crawler@www.fi]
1699
+ Parent=General Crawlers
1700
+ Browser="www.fi crawler"
1701
+
1702
+ [Xerka WebBot v1.*]
1703
+ Parent=General Crawlers
1704
+ Browser="Xerka"
1705
+ isBanned=true
1706
+
1707
+ [XML Sitemaps Generator*]
1708
+ Parent=General Crawlers
1709
+ Browser="XML Sitemaps Generator"
1710
+
1711
+ [XSpider*]
1712
+ Parent=General Crawlers
1713
+ Browser="XSpider"
1714
+ isBanned=true
1715
+
1716
+ [YooW!/* (?http://www.yoow.eu)]
1717
+ Parent=General Crawlers
1718
+ Browser="YooW!"
1719
+ isBanned=true
1720
+
1721
+ [HiddenMarket-*]
1722
+ Parent=General RSS
1723
+ Browser="HiddenMarket"
1724
+ isBanned=true
1725
+
1726
+ [FOTOCHECKER]
1727
+ Parent=Image Crawlers
1728
+ Browser="FOTOCHECKER"
1729
+ isBanned=true
1730
+
1731
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Search Engines
1732
+
1733
+ [Search Engines]
1734
+ Parent=DefaultProperties
1735
+ Browser="Search Engines"
1736
+ Crawler=true
1737
+
1738
+ [*FDSE robot*]
1739
+ Parent=Search Engines
1740
+ Browser="FDSE Robot"
1741
+
1742
+ [*Fluffy the spider*]
1743
+ Parent=Search Engines
1744
+ Browser="SearchHippo"
1745
+
1746
+ [Abacho*]
1747
+ Parent=Search Engines
1748
+ Browser="Abacho"
1749
+
1750
+ [ah-ha.com crawler (crawler@ah-ha.com)]
1751
+ Parent=Search Engines
1752
+ Browser="Ah-Ha"
1753
+
1754
+ [AIBOT/*]
1755
+ Parent=Search Engines
1756
+ Browser="21Seek.Com"
1757
+
1758
+ [ALeadSoftbot/*]
1759
+ Parent=Search Engines
1760
+ Browser="ALeadSoftbot"
1761
+
1762
+ [Amfibibot/*]
1763
+ Parent=Search Engines
1764
+ Browser="Amfibi"
1765
+
1766
+ [AnswerBus (http://www.answerbus.com/)]
1767
+ Parent=Search Engines
1768
+
1769
+ [antibot-V*]
1770
+ Parent=Search Engines
1771
+ Browser="antibot"
1772
+
1773
+ [appie*(www.walhello.com)]
1774
+ Parent=Search Engines
1775
+ Browser="Walhello"
1776
+
1777
+ [ASPSeek/*]
1778
+ Parent=Search Engines
1779
+ Browser="ASPSeek"
1780
+
1781
+ [BigCliqueBOT/*]
1782
+ Parent=Search Engines
1783
+ Browser="BigClique.com/BigClic.com"
1784
+
1785
+ [Blaiz-Bee/*]
1786
+ Parent=Search Engines
1787
+ Browser="RawGrunt"
1788
+
1789
+ [btbot/*]
1790
+ Parent=Search Engines
1791
+ Browser="Bit Torrent Search Engine"
1792
+
1793
+ [Busiversebot/v1.0 (http://www.busiverse.com/bot.php)]
1794
+ Parent=Search Engines
1795
+ Browser="Busiversebot"
1796
+ isBanned=true
1797
+
1798
+ [CatchBot/*; http://www.catchbot.com]
1799
+ Parent=Search Engines
1800
+ Browser="CatchBot"
1801
+ Version=1.0
1802
+ MajorVer=1
1803
+ MinorVer=0
1804
+
1805
+ [CipinetBot (http://www.cipinet.com/bot.html)]
1806
+ Parent=Search Engines
1807
+ Browser="CipinetBot"
1808
+
1809
+ [Cogentbot/1.?*]
1810
+ Parent=Search Engines
1811
+ Browser="Cogentbot"
1812
+
1813
+ [compatible; Mozilla 4.0; MSIE 5.5; (SqwidgeBot v1.01 - http://www.sqwidge.com/bot/)]
1814
+ Parent=Search Engines
1815
+ Browser="SqwidgeBot"
1816
+
1817
+ [cosmos*]
1818
+ Parent=Search Engines
1819
+ Browser="Xyleme"
1820
+
1821
+ [Deepindex]
1822
+ Parent=Search Engines
1823
+ Browser="Deepindex"
1824
+
1825
+ [DiamondBot]
1826
+ Parent=Search Engines
1827
+ Browser="DiamondBot"
1828
+
1829
+ [Dumbot*]
1830
+ Parent=Search Engines
1831
+ Browser="Dumbot"
1832
+ Version=0.2
1833
+ MajorVer=0
1834
+ MinorVer=2
1835
+ Beta=true
1836
+
1837
+ [Eule?Robot*]
1838
+ Parent=Search Engines
1839
+ Browser="Eule-Robot"
1840
+
1841
+ [Faxobot/*]
1842
+ Parent=Search Engines
1843
+ Browser="Faxo"
1844
+
1845
+ [Filangy/*]
1846
+ Parent=Search Engines
1847
+ Browser="Filangy"
1848
+
1849
+ [flatlandbot/*]
1850
+ Parent=Search Engines
1851
+ Browser="Flatland"
1852
+
1853
+ [Fooky.com/ScorpionBot/ScoutOut;*]
1854
+ Parent=Search Engines
1855
+ Browser="ScorpionBot"
1856
+ isBanned=true
1857
+
1858
+ [FyberSpider*]
1859
+ Parent=Search Engines
1860
+ Browser="FyberSpider"
1861
+ isBanned=true
1862
+
1863
+ [Gaisbot/*]
1864
+ Parent=Search Engines
1865
+ Browser="Gaisbot"
1866
+
1867
+ [gazz/*(gazz@nttr.co.jp)]
1868
+ Parent=Search Engines
1869
+ Browser="gazz"
1870
+
1871
+ [geniebot*]
1872
+ Parent=Search Engines
1873
+ Browser="GenieKnows"
1874
+
1875
+ [GOFORITBOT (?http://www.goforit.com/about/?)]
1876
+ Parent=Search Engines
1877
+ Browser="GoForIt"
1878
+
1879
+ [GoGuidesBot/*]
1880
+ Parent=Search Engines
1881
+ Browser="GoGuidesBot"
1882
+
1883
+ [GroschoBot/*]
1884
+ Parent=Search Engines
1885
+ Browser="GroschoBot"
1886
+
1887
+ [GurujiBot/1.*]
1888
+ Parent=Search Engines
1889
+ Browser="GurujiBot"
1890
+ isBanned=true
1891
+
1892
+ [HenryTheMiragoRobot*]
1893
+ Parent=Search Engines
1894
+ Browser="Mirago"
1895
+
1896
+ [HolmesBot (http://holmes.ge)]
1897
+ Parent=Search Engines
1898
+ Browser="HolmesBot"
1899
+
1900
+ [Hotzonu/*]
1901
+ Parent=Search Engines
1902
+ Browser="Hotzonu"
1903
+
1904
+ [HyperEstraier/*]
1905
+ Parent=Search Engines
1906
+ Browser="HyperEstraier"
1907
+ isBanned=true
1908
+
1909
+ [i1searchbot/*]
1910
+ Parent=Search Engines
1911
+ Browser="i1searchbot"
1912
+
1913
+ [IIITBOT/1.*]
1914
+ Parent=Search Engines
1915
+ Browser="Indian Language Web Search Engine"
1916
+
1917
+ [Iltrovatore-?etaccio/*]
1918
+ Parent=Search Engines
1919
+ Browser="Iltrovatore-Setaccio"
1920
+
1921
+ [InfociousBot (?http://corp.infocious.com/tech_crawler.php)]
1922
+ Parent=Search Engines
1923
+ Browser="InfociousBot"
1924
+ isBanned=true
1925
+
1926
+ [Infoseek SideWinder/*]
1927
+ Parent=Search Engines
1928
+ Browser="Infoseek"
1929
+
1930
+ [iSEEKbot/*]
1931
+ Parent=Search Engines
1932
+ Browser="iSEEKbot"
1933
+
1934
+ [Knight/0.? (Zook Knight; http://knight.zook.in/; knight@zook.in)]
1935
+ Parent=Search Engines
1936
+ Browser="Knight"
1937
+
1938
+ [Kolinka Forum Search (www.kolinka.com)]
1939
+ Parent=Search Engines
1940
+ Browser="Kolinka Forum Search"
1941
+ isBanned=true
1942
+
1943
+ [KRetrieve/]
1944
+ Parent=Search Engines
1945
+ Browser="KRetrieve"
1946
+ isBanned=true
1947
+
1948
+ [LapozzBot/*]
1949
+ Parent=Search Engines
1950
+ Browser="LapozzBot"
1951
+
1952
+ [Linknzbot*]
1953
+ Parent=Search Engines
1954
+ Browser="Linknzbot"
1955
+
1956
+ [LocalcomBot/*]
1957
+ Parent=Search Engines
1958
+ Browser="LocalcomBot"
1959
+
1960
+ [Mail.Ru/1.0]
1961
+ Parent=Search Engines
1962
+ Browser="Mail.Ru"
1963
+
1964
+ [MaSagool/*]
1965
+ Parent=Search Engines
1966
+ Browser="Sagoo"
1967
+ Version=1.0
1968
+ MajorVer=1
1969
+ MinorVer=0
1970
+
1971
+ [miniRank/*]
1972
+ Parent=Search Engines
1973
+ Browser="miniRank"
1974
+
1975
+ [Mnogosearch*]
1976
+ Parent=Search Engines
1977
+ Browser="Mnogosearch"
1978
+
1979
+ [Mozilla/0.9* no dos :) (Linux)]
1980
+ Parent=Search Engines
1981
+ Browser="goliat"
1982
+ isBanned=true
1983
+
1984
+ [Mozilla/4.0 (compatible; Arachmo)]
1985
+ Parent=Search Engines
1986
+ Browser="Arachmo"
1987
+
1988
+ [Mozilla/4.0 (compatible; http://search.thunderstone.com/texis/websearch/about.html)]
1989
+ Parent=Search Engines
1990
+ Browser="ThunderStone"
1991
+ isBanned=true
1992
+
1993
+ [Mozilla/4.0 (compatible; MSIE *; Windows NT; Girafabot; girafabot at girafa dot com; http://www.girafa.com)]
1994
+ Parent=Search Engines
1995
+ Browser="Girafabot"
1996
+ Win32=true
1997
+
1998
+ [Mozilla/4.0 (compatible; Vagabondo/*; webcrawler at wise-guys dot nl; *)]
1999
+ Parent=Search Engines
2000
+ Browser="Vagabondo"
2001
+
2002
+ [Mozilla/4.0(?compatible; MSIE 6.0; Qihoo *)]
2003
+ Parent=Search Engines
2004
+ Browser="Qihoo"
2005
+
2006
+ [Mozilla/4.7 (compatible; WhizBang; http://www.whizbang.com/crawler)]
2007
+ Parent=Search Engines
2008
+ Browser="Inxight Software"
2009
+
2010
+ [Mozilla/5.0 (*) VoilaBot*]
2011
+ Parent=Search Engines
2012
+ Browser="VoilaBot"
2013
+ isBanned=true
2014
+
2015
+ [Mozilla/5.0 (compatible; ActiveTouristBot*; http://www.activetourist.com)]
2016
+ Parent=Search Engines
2017
+ Browser="ActiveTouristBot"
2018
+
2019
+ [Mozilla/5.0 (compatible; Butterfly/1.0; *)*]
2020
+ Parent=Search Engines
2021
+ Browser="Butterfly"
2022
+
2023
+ [Mozilla/5.0 (compatible; Charlotte/*; *)]
2024
+ Parent=Search Engines
2025
+ Browser="Charlotte"
2026
+ Beta=true
2027
+ isBanned=true
2028
+
2029
+ [Mozilla/5.0 (compatible; CXL-FatAssANT*)]
2030
+ Parent=Search Engines
2031
+ Browser="FatAssANT"
2032
+
2033
+ [Mozilla/5.0 (compatible; DBLBot/1.0; ?http://www.dontbuylists.com/)]
2034
+ Parent=Search Engines
2035
+ Browser="DBLBot"
2036
+ Version=1.0
2037
+ MajorVer=1
2038
+ MinorVer=0
2039
+
2040
+ [Mozilla/5.0 (compatible; EARTHCOM.info/*)]
2041
+ Parent=Search Engines
2042
+ Browser="EARTHCOM"
2043
+
2044
+ [Mozilla/5.0 (compatible; Lipperhey Spider; http://www.lipperhey.com/)]
2045
+ Parent=Search Engines
2046
+ Browser="Lipperhey Spider"
2047
+
2048
+ [Mozilla/5.0 (compatible; MojeekBot/*; http://www.mojeek.com/bot.html)]
2049
+ Parent=Search Engines
2050
+ Browser="MojeekBot"
2051
+
2052
+ [Mozilla/5.0 (compatible; NLCrawler/*]
2053
+ Parent=Search Engines
2054
+ Browser="Northern Light Web Search"
2055
+
2056
+ [Mozilla/5.0 (compatible; OsO;*]
2057
+ Parent=Search Engines
2058
+ Browser="Octopodus"
2059
+ isBanned=true
2060
+
2061
+ [Mozilla/5.0 (compatible; Pogodak.*)]
2062
+ Parent=Search Engines
2063
+ Browser="Pogodak"
2064
+
2065
+ [Mozilla/5.0 (compatible; Quantcastbot/1.*)]
2066
+ Parent=Search Engines
2067
+ Browser="Quantcastbot"
2068
+
2069
+ [Mozilla/5.0 (compatible; ScoutJet; *http://www.scoutjet.com/)]
2070
+ Parent=Search Engines
2071
+ Browser="ScoutJet"
2072
+
2073
+ [Mozilla/5.0 (compatible; Scrubby/*; http://www.scrubtheweb.com/abs/meta-check.html)]
2074
+ Parent=Search Engines
2075
+ Browser="Scrubby"
2076
+ isBanned=true
2077
+
2078
+ [Mozilla/5.0 (compatible; YoudaoBot/1.*; http://www.youdao.com/help/webmaster/spider/*)]
2079
+ Parent=Search Engines
2080
+ Browser="YoudaoBot"
2081
+ Version=1.0
2082
+ MajorVer=1
2083
+ MinorVer=0
2084
+
2085
+ [Mozilla/5.0 (Twiceler*)]
2086
+ Parent=Search Engines
2087
+ Browser="Twiceler"
2088
+ isBanned=true
2089
+
2090
+ [Mozilla/5.0 CostaCider Search*]
2091
+ Parent=Search Engines
2092
+ Browser="CostaCider Search"
2093
+
2094
+ [Mozilla/5.0 GurujiBot/1.0 (*)]
2095
+ Parent=Search Engines
2096
+ Browser="GurujiBot"
2097
+
2098
+ [NavissoBot]
2099
+ Parent=Search Engines
2100
+ Browser="NavissoBot"
2101
+
2102
+ [NextGenSearchBot*(for information visit *)]
2103
+ Parent=Search Engines
2104
+ Browser="ZoomInfo"
2105
+ isBanned=true
2106
+
2107
+ [Norbert the Spider(Burf.com)]
2108
+ Parent=Search Engines
2109
+ Browser="Norbert the Spider"
2110
+
2111
+ [NuSearch Spider*]
2112
+ Parent=Search Engines
2113
+ Browser="nuSearch"
2114
+
2115
+ [ObjectsSearch/*]
2116
+ Parent=Search Engines
2117
+ Browser="ObjectsSearch"
2118
+
2119
+ [OpenISearch/1.*]
2120
+ Parent=Search Engines
2121
+ Browser="OpenISearch (Amazon)"
2122
+
2123
+ [Pagebull http://www.pagebull.com/]
2124
+ Parent=Search Engines
2125
+ Browser="Pagebull"
2126
+
2127
+ [PEERbot*]
2128
+ Parent=Search Engines
2129
+ Browser="PEERbot"
2130
+
2131
+ [Pompos/*]
2132
+ Parent=Search Engines
2133
+ Browser="Pompos"
2134
+
2135
+ [Popdexter/*]
2136
+ Parent=Search Engines
2137
+ Browser="Popdex"
2138
+
2139
+ [Qweery*]
2140
+ Parent=Search Engines
2141
+ Browser="QweeryBot"
2142
+
2143
+ [RedCell/* (*)]
2144
+ Parent=Search Engines
2145
+ Browser="RedCell"
2146
+
2147
+ [SaladSpoon/ShopSalad 1.* (Search Engine crawler for ShopSalad.com; *; crawler@shopsalad.com)]
2148
+ Parent=Search Engines
2149
+ Browser="ShopSalad"
2150
+
2151
+ [Scrubby/*]
2152
+ Parent=Search Engines
2153
+ Browser="Scrub The Web"
2154
+
2155
+ [Search-10/*]
2156
+ Parent=Search Engines
2157
+ Browser="Search-10"
2158
+
2159
+ [search.ch*]
2160
+ Parent=Search Engines
2161
+ Browser="Swiss Search Engine"
2162
+
2163
+ [Searchmee! Spider*]
2164
+ Parent=Search Engines
2165
+ Browser="Searchmee!"
2166
+
2167
+ [Seekbot/*]
2168
+ Parent=Search Engines
2169
+ Browser="Seekbot"
2170
+
2171
+ [SiteSpider (http://www.SiteSpider.com/)]
2172
+ Parent=Search Engines
2173
+ Browser="SiteSpider"
2174
+
2175
+ [Spinne/*]
2176
+ Parent=Search Engines
2177
+ Browser="Spinne"
2178
+
2179
+ [sproose/*]
2180
+ Parent=Search Engines
2181
+ Browser="Sproose"
2182
+
2183
+ [Sqeobot/0.*]
2184
+ Parent=Search Engines
2185
+ Browser="Branzel"
2186
+ isBanned=true
2187
+
2188
+ [SquigglebotBot/*]
2189
+ Parent=Search Engines
2190
+ Browser="SquigglebotBot"
2191
+ isBanned=true
2192
+
2193
+ [StackRambler/*]
2194
+ Parent=Search Engines
2195
+ Browser="StackRambler"
2196
+
2197
+ [SygolBot*]
2198
+ Parent=Search Engines
2199
+ Browser="SygolBot"
2200
+
2201
+ [SynoBot]
2202
+ Parent=Search Engines
2203
+ Browser="SynoBot"
2204
+
2205
+ [Szukacz/*]
2206
+ Parent=Search Engines
2207
+ Browser="Szukacz"
2208
+
2209
+ [Tarantula/*]
2210
+ Parent=Search Engines
2211
+ Browser="Tarantula"
2212
+ isBanned=true
2213
+
2214
+ [TerrawizBot/*]
2215
+ Parent=Search Engines
2216
+ Browser="TerrawizBot"
2217
+ isBanned=true
2218
+
2219
+ [Tkensaku/*]
2220
+ Parent=Search Engines
2221
+ Browser="Tkensaku"
2222
+
2223
+ [TMCrawler]
2224
+ Parent=Search Engines
2225
+ Browser="TMCrawler"
2226
+ isBanned=true
2227
+
2228
+ [Twingly Recon]
2229
+ Parent=Search Engines
2230
+ Browser="Twingly Recon"
2231
+ isBanned=true
2232
+
2233
+ [updated/*]
2234
+ Parent=Search Engines
2235
+ Browser="Updated!"
2236
+
2237
+ [URL Spider Pro/*]
2238
+ Parent=Search Engines
2239
+ Browser="URL Spider Pro"
2240
+
2241
+ [URL Spider SQL*]
2242
+ Parent=Search Engines
2243
+ Browser="Innerprise Enterprise Search"
2244
+
2245
+ [VMBot/*]
2246
+ Parent=Search Engines
2247
+ Browser="VMBot"
2248
+
2249
+ [voyager/2.0 (http://www.kosmix.com/html/crawler.html)]
2250
+ Parent=Search Engines
2251
+ Browser="Voyager"
2252
+
2253
+ [wadaino.jp-crawler*]
2254
+ Parent=Search Engines
2255
+ Browser="wadaino.jp"
2256
+ isBanned=true
2257
+
2258
+ [WebAlta Crawler/*]
2259
+ Parent=Search Engines
2260
+ Browser="WebAlta Crawler"
2261
+ isBanned=true
2262
+
2263
+ [WebCorp/*]
2264
+ Parent=Search Engines
2265
+ Browser="WebCorp"
2266
+ isBanned=true
2267
+
2268
+ [webcrawl.net]
2269
+ Parent=Search Engines
2270
+ Browser="webcrawl.net"
2271
+
2272
+ [WISEbot/*]
2273
+ Parent=Search Engines
2274
+ Browser="WISEbot"
2275
+ isBanned=true
2276
+
2277
+ [Wotbox/*]
2278
+ Parent=Search Engines
2279
+ Browser="Wotbox"
2280
+
2281
+ [www.zatka.com]
2282
+ Parent=Search Engines
2283
+ Browser="Zatka"
2284
+
2285
+ [WWWeasel Robot v*]
2286
+ Parent=Search Engines
2287
+ Browser="World Wide Weasel"
2288
+
2289
+ [YadowsCrawler*]
2290
+ Parent=Search Engines
2291
+ Browser="YadowsCrawler"
2292
+
2293
+ [YodaoBot/*]
2294
+ Parent=Search Engines
2295
+ Browser="YodaoBot"
2296
+ isBanned=true
2297
+
2298
+ [ZeBot_www.ze.bz*]
2299
+ Parent=Search Engines
2300
+ Browser="ZE.bz"
2301
+
2302
+ [zibber-v*]
2303
+ Parent=Search Engines
2304
+ Browser="Zibb"
2305
+
2306
+ [ZipppBot/*]
2307
+ Parent=Search Engines
2308
+ Browser="ZipppBot"
2309
+
2310
+ [ATA-Translation-Service]
2311
+ Parent=Translators
2312
+ Browser="ATA-Translation-Service"
2313
+
2314
+ [GJK_Browser_Check]
2315
+ Parent=Version Checkers
2316
+ Browser="GJK_Browser_Check"
2317
+
2318
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Hatena
2319
+
2320
+ [Hatena]
2321
+ Parent=DefaultProperties
2322
+ Browser="Hatena"
2323
+ isBanned=true
2324
+ Crawler=true
2325
+
2326
+ [Feed::Find/*]
2327
+ Parent=Hatena
2328
+ Browser="Feed Find"
2329
+ isSyndicationReader=true
2330
+
2331
+ [Hatena Antenna/*]
2332
+ Parent=Hatena
2333
+ Browser="Hatena Antenna"
2334
+
2335
+ [Hatena Bookmark/*]
2336
+ Parent=Hatena
2337
+ Browser="Hatena Bookmark"
2338
+
2339
+ [Hatena RSS/*]
2340
+ Parent=Hatena
2341
+ Browser="Hatena RSS"
2342
+ isSyndicationReader=true
2343
+
2344
+ [Hatena::Crawler/*]
2345
+ Parent=Hatena
2346
+ Browser="Hatena Crawler"
2347
+
2348
+ [HatenaScreenshot*]
2349
+ Parent=Hatena
2350
+ Browser="HatenaScreenshot"
2351
+
2352
+ [URI::Fetch/*]
2353
+ Parent=Hatena
2354
+ Browser="URI::Fetch"
2355
+
2356
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Internet Archive
2357
+
2358
+ [Internet Archive]
2359
+ Parent=DefaultProperties
2360
+ Browser="Internet Archive"
2361
+ Frames=true
2362
+ IFrames=true
2363
+ Tables=true
2364
+ isBanned=true
2365
+ Crawler=true
2366
+
2367
+ [*heritrix*]
2368
+ Parent=Internet Archive
2369
+ Browser="Heritrix"
2370
+ isBanned=true
2371
+
2372
+ [ia_archiver*]
2373
+ Parent=Internet Archive
2374
+ Browser="Internet Archive"
2375
+
2376
+ [InternetArchive/*]
2377
+ Parent=Internet Archive
2378
+ Browser="InternetArchive"
2379
+
2380
+ [Mozilla/5.0 (compatible; archive.org_bot/1.*)]
2381
+ Parent=Internet Archive
2382
+
2383
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Nutch
2384
+
2385
+ [Nutch]
2386
+ Parent=DefaultProperties
2387
+ Browser="Nutch"
2388
+ isBanned=true
2389
+ Crawler=true
2390
+
2391
+ [*Nutch*]
2392
+ Parent=Nutch
2393
+ isBanned=true
2394
+
2395
+ [CazoodleBot/*]
2396
+ Parent=Nutch
2397
+ Browser="CazoodleBot"
2398
+
2399
+ [LOOQ/0.1*]
2400
+ Parent=Nutch
2401
+ Browser="LOOQ"
2402
+
2403
+ [Nutch/0.? (OpenX Spider)]
2404
+ Parent=Nutch
2405
+
2406
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Webaroo
2407
+
2408
+ [Webaroo]
2409
+ Parent=DefaultProperties
2410
+ Browser="Webaroo"
2411
+
2412
+ [Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Webaroo/*)]
2413
+ Parent=Webaroo
2414
+ Browser="Webaroo"
2415
+
2416
+ [Mozilla/5.0 (Windows; U; Windows *; *; rv:*) Gecko/* Firefox/* webaroo/*]
2417
+ Parent=Webaroo
2418
+ Browser="Webaroo"
2419
+
2420
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Word Press
2421
+
2422
+ [Word Press]
2423
+ Parent=DefaultProperties
2424
+ Browser="Word Press"
2425
+ Alpha=true
2426
+ Beta=true
2427
+ Win16=true
2428
+ Win32=true
2429
+ Win64=true
2430
+ Frames=true
2431
+ IFrames=true
2432
+ Tables=true
2433
+ Cookies=true
2434
+ BackgroundSounds=true
2435
+ CDF=true
2436
+ VBScript=true
2437
+ JavaApplets=true
2438
+ JavaScript=true
2439
+ ActiveXControls=true
2440
+ isBanned=true
2441
+ isMobileDevice=true
2442
+ isSyndicationReader=true
2443
+ Crawler=true
2444
+
2445
+ [WordPress-B-/2.*]
2446
+ Parent=Word Press
2447
+ Browser="WordPress-B"
2448
+
2449
+ [WordPress-Do-P-/2.*]
2450
+ Parent=Word Press
2451
+ Browser="WordPress-Do-P"
2452
+
2453
+ [BlueCoat ProxySG]
2454
+ Parent=Blue Coat Systems
2455
+ Browser="BlueCoat ProxySG"
2456
+
2457
+ [CerberianDrtrs/*]
2458
+ Parent=Blue Coat Systems
2459
+ Browser="Cerberian"
2460
+
2461
+ [Inne: Mozilla/4.0 (compatible; Cerberian Drtrs*)]
2462
+ Parent=Blue Coat Systems
2463
+ Browser="Cerberian"
2464
+
2465
+ [Mozilla/4.0 (compatible; Cerberian Drtrs*)]
2466
+ Parent=Blue Coat Systems
2467
+ Browser="Cerberian"
2468
+
2469
+ [Mozilla/4.0 (compatible; MSIE 6.0; Bluecoat DRTR)]
2470
+ Parent=Blue Coat Systems
2471
+ Browser="Bluecoat"
2472
+
2473
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Copyright/Plagiarism
2474
+
2475
+ [Copyright/Plagiarism]
2476
+ Parent=DefaultProperties
2477
+ Browser="Copyright/Plagiarism"
2478
+ isBanned=true
2479
+ Crawler=true
2480
+
2481
+ [BDFetch]
2482
+ Parent=Copyright/Plagiarism
2483
+ Browser="BDFetch"
2484
+
2485
+ [copyright sheriff (*)]
2486
+ Parent=Copyright/Plagiarism
2487
+ Browser="copyright sheriff"
2488
+
2489
+ [CopyRightCheck*]
2490
+ Parent=Copyright/Plagiarism
2491
+ Browser="CopyRightCheck"
2492
+
2493
+ [FairAd Client*]
2494
+ Parent=Copyright/Plagiarism
2495
+ Browser="FairAd Client"
2496
+
2497
+ [iCopyright Conductor*]
2498
+ Parent=Copyright/Plagiarism
2499
+ Browser="iCopyright Conductor"
2500
+
2501
+ [IPiumBot laurion(dot)com]
2502
+ Parent=Copyright/Plagiarism
2503
+ Browser="IPiumBot"
2504
+
2505
+ [IWAgent/*]
2506
+ Parent=Copyright/Plagiarism
2507
+ Browser="Brand Protect"
2508
+
2509
+ [Mozilla/5.0 (compatible; DKIMRepBot/*)]
2510
+ Parent=Copyright/Plagiarism
2511
+ Browser="DKIMRepBot"
2512
+
2513
+ [oBot]
2514
+ Parent=Copyright/Plagiarism
2515
+ Browser="oBot"
2516
+
2517
+ [SlySearch/*]
2518
+ Parent=Copyright/Plagiarism
2519
+ Browser="SlySearch"
2520
+
2521
+ [TurnitinBot/*]
2522
+ Parent=Copyright/Plagiarism
2523
+ Browser="TurnitinBot"
2524
+
2525
+ [TutorGigBot/*]
2526
+ Parent=Copyright/Plagiarism
2527
+ Browser="TutorGig"
2528
+
2529
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DNS Tools
2530
+
2531
+ [DNS Tools]
2532
+ Parent=DefaultProperties
2533
+ Browser="DNS Tools"
2534
+ Crawler=true
2535
+
2536
+ [Domain Dossier utility*]
2537
+ Parent=DNS Tools
2538
+ Browser="Domain Dossier"
2539
+
2540
+ [Mozilla/5.0 (compatible; DNS-Digger/*)]
2541
+ Parent=DNS Tools
2542
+ Browser="DNS-Digger"
2543
+
2544
+ [OpenDNS Domain Crawler noc@opendns.com]
2545
+ Parent=DNS Tools
2546
+ Browser="OpenDNS Domain Crawler"
2547
+
2548
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Download Managers
2549
+
2550
+ [Download Managers]
2551
+ Parent=DefaultProperties
2552
+ Browser="Download Managers"
2553
+ Frames=true
2554
+ IFrames=true
2555
+ Tables=true
2556
+ isBanned=true
2557
+ Crawler=true
2558
+
2559
+ [A1 Website Download/1.* (*) miggibot]
2560
+ Parent=Download Managers
2561
+ Browser="A1 Website Download"
2562
+
2563
+ [AndroidDownloadManager]
2564
+ Parent=Download Managers
2565
+ Browser="Android Download Manager"
2566
+
2567
+ [AutoMate5]
2568
+ Parent=Download Managers
2569
+ Browser="AutoMate5"
2570
+
2571
+ [Beamer*]
2572
+ Parent=Download Managers
2573
+ Browser="Beamer"
2574
+
2575
+ [BitBeamer/*]
2576
+ Parent=Download Managers
2577
+ Browser="BitBeamer"
2578
+
2579
+ [BitTorrent/*]
2580
+ Parent=Download Managers
2581
+ Browser="BitTorrent"
2582
+
2583
+ [DA *]
2584
+ Parent=Download Managers
2585
+ Browser="Download Accelerator"
2586
+
2587
+ [Download Demon*]
2588
+ Parent=Download Managers
2589
+ Browser="Download Demon"
2590
+
2591
+ [Download Express*]
2592
+ Parent=Download Managers
2593
+ Browser="Download Express"
2594
+
2595
+ [Download Master*]
2596
+ Parent=Download Managers
2597
+ Browser="Download Master"
2598
+
2599
+ [Download Ninja*]
2600
+ Parent=Download Managers
2601
+ Browser="Download Ninja"
2602
+
2603
+ [Download Wonder*]
2604
+ Parent=Download Managers
2605
+ Browser="Download Wonder"
2606
+
2607
+ [DownloadSession*]
2608
+ Parent=Download Managers
2609
+ Browser="DownloadSession"
2610
+
2611
+ [EasyDL/*]
2612
+ Parent=Download Managers
2613
+ Browser="EasyDL"
2614
+
2615
+ [FDM 1.x]
2616
+ Parent=Download Managers
2617
+ Browser="Free Download Manager"
2618
+
2619
+ [FlashGet]
2620
+ Parent=Download Managers
2621
+ Browser="FlashGet"
2622
+
2623
+ [FreshDownload/*]
2624
+ Parent=Download Managers
2625
+ Browser="FreshDownload"
2626
+
2627
+ [GetRight/*]
2628
+ Parent=Download Managers
2629
+ Browser="GetRight"
2630
+
2631
+ [GetRightPro/*]
2632
+ Parent=Download Managers
2633
+ Browser="GetRightPro"
2634
+
2635
+ [GetSmart/*]
2636
+ Parent=Download Managers
2637
+ Browser="GetSmart"
2638
+
2639
+ [Go!Zilla*]
2640
+ Parent=Download Managers
2641
+ Browser="GoZilla"
2642
+
2643
+ [Gozilla/*]
2644
+ Parent=Download Managers
2645
+ Browser="Gozilla"
2646
+
2647
+ [Internet Ninja*]
2648
+ Parent=Download Managers
2649
+ Browser="Internet Ninja"
2650
+
2651
+ [Kontiki Client*]
2652
+ Parent=Download Managers
2653
+ Browser="Kontiki Client"
2654
+
2655
+ [lftp/3.2.1]
2656
+ Parent=Download Managers
2657
+ Browser="lftp"
2658
+
2659
+ [LightningDownload/*]
2660
+ Parent=Download Managers
2661
+ Browser="LightningDownload"
2662
+
2663
+ [LMQueueBot/*]
2664
+ Parent=Download Managers
2665
+ Browser="LMQueueBot"
2666
+
2667
+ [MetaProducts Download Express/*]
2668
+ Parent=Download Managers
2669
+ Browser="Download Express"
2670
+
2671
+ [Mozilla/4.0 (compatible; Getleft*)]
2672
+ Parent=Download Managers
2673
+ Browser="Getleft"
2674
+
2675
+ [Myzilla]
2676
+ Parent=Download Managers
2677
+ Browser="Myzilla"
2678
+
2679
+ [Net Vampire/*]
2680
+ Parent=Download Managers
2681
+ Browser="Net Vampire"
2682
+
2683
+ [Net_Vampire*]
2684
+ Parent=Download Managers
2685
+ Browser="Net_Vampire"
2686
+
2687
+ [NetAnts*]
2688
+ Parent=Download Managers
2689
+ Browser="NetAnts"
2690
+
2691
+ [NetPumper*]
2692
+ Parent=Download Managers
2693
+ Browser="NetPumper"
2694
+
2695
+ [NetSucker*]
2696
+ Parent=Download Managers
2697
+ Browser="NetSucker"
2698
+
2699
+ [NetZip Downloader*]
2700
+ Parent=Download Managers
2701
+ Browser="NetZip Downloader"
2702
+
2703
+ [NexTools WebAgent*]
2704
+ Parent=Download Managers
2705
+ Browser="NexTools WebAgent"
2706
+
2707
+ [Offline Downloader*]
2708
+ Parent=Download Managers
2709
+ Browser="Offline Downloader"
2710
+
2711
+ [P3P Client]
2712
+ Parent=Download Managers
2713
+ Browser="P3P Client"
2714
+
2715
+ [PageDown*]
2716
+ Parent=Download Managers
2717
+ Browser="PageDown"
2718
+
2719
+ [PicaLoader*]
2720
+ Parent=Download Managers
2721
+ Browser="PicaLoader"
2722
+
2723
+ [Prozilla*]
2724
+ Parent=Download Managers
2725
+ Browser="Prozilla"
2726
+
2727
+ [RealDownload/*]
2728
+ Parent=Download Managers
2729
+ Browser="RealDownload"
2730
+
2731
+ [sEasyDL/*]
2732
+ Parent=Download Managers
2733
+ Browser="EasyDL"
2734
+
2735
+ [shareaza*]
2736
+ Parent=Download Managers
2737
+ Browser="shareaza"
2738
+
2739
+ [SmartDownload/*]
2740
+ Parent=Download Managers
2741
+ Browser="SmartDownload"
2742
+
2743
+ [SpeedDownload/*]
2744
+ Parent=Download Managers
2745
+ Browser="Speed Download"
2746
+
2747
+ [Star*Downloader/*]
2748
+ Parent=Download Managers
2749
+ Browser="StarDownloader"
2750
+
2751
+ [STEROID Download]
2752
+ Parent=Download Managers
2753
+ Browser="STEROID Download"
2754
+
2755
+ [SuperBot/*]
2756
+ Parent=Download Managers
2757
+ Browser="SuperBot"
2758
+
2759
+ [Vegas95/*]
2760
+ Parent=Download Managers
2761
+ Browser="Vegas95"
2762
+
2763
+ [WebZIP*]
2764
+ Parent=Download Managers
2765
+ Browser="WebZIP"
2766
+
2767
+ [Wget*]
2768
+ Parent=Download Managers
2769
+ Browser="Wget"
2770
+
2771
+ [WinTools]
2772
+ Parent=Download Managers
2773
+ Browser="WinTools"
2774
+
2775
+ [Xaldon WebSpider*]
2776
+ Parent=Download Managers
2777
+ Browser="Xaldon WebSpider"
2778
+
2779
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; E-Mail Harvesters
2780
+
2781
+ [E-Mail Harvesters]
2782
+ Parent=DefaultProperties
2783
+ Browser="E-Mail Harvesters"
2784
+ Frames=true
2785
+ IFrames=true
2786
+ Tables=true
2787
+ isBanned=true
2788
+ Crawler=true
2789
+
2790
+ [*E-Mail Address Extractor*]
2791
+ Parent=E-Mail Harvesters
2792
+ Browser="E-Mail Address Extractor"
2793
+
2794
+ [*Larbin*]
2795
+ Parent=E-Mail Harvesters
2796
+ Browser="Larbin"
2797
+
2798
+ [*www4mail/*]
2799
+ Parent=E-Mail Harvesters
2800
+ Browser="www4mail"
2801
+
2802
+ [8484 Boston Project*]
2803
+ Parent=E-Mail Harvesters
2804
+ Browser="8484 Boston Project"
2805
+
2806
+ [CherryPicker*/*]
2807
+ Parent=E-Mail Harvesters
2808
+ Browser="CherryPickerElite"
2809
+
2810
+ [Chilkat/*]
2811
+ Parent=E-Mail Harvesters
2812
+ Browser="Chilkat"
2813
+
2814
+ [ContactBot/*]
2815
+ Parent=E-Mail Harvesters
2816
+ Browser="ContactBot"
2817
+
2818
+ [eCatch*]
2819
+ Parent=E-Mail Harvesters
2820
+ Browser="eCatch"
2821
+
2822
+ [EmailCollector*]
2823
+ Parent=E-Mail Harvesters
2824
+ Browser="E-Mail Collector"
2825
+
2826
+ [EMAILsearcher]
2827
+ Parent=E-Mail Harvesters
2828
+ Browser="EMAILsearcher"
2829
+
2830
+ [EmailSiphon*]
2831
+ Parent=E-Mail Harvesters
2832
+ Browser="E-Mail Siphon"
2833
+
2834
+ [EmailWolf*]
2835
+ Parent=E-Mail Harvesters
2836
+ Browser="EMailWolf"
2837
+
2838
+ [Epsilon SoftWorks' MailMunky]
2839
+ Parent=E-Mail Harvesters
2840
+ Browser="MailMunky"
2841
+
2842
+ [ExtractorPro*]
2843
+ Parent=E-Mail Harvesters
2844
+ Browser="ExtractorPro"
2845
+
2846
+ [Franklin Locator*]
2847
+ Parent=E-Mail Harvesters
2848
+ Browser="Franklin Locator"
2849
+
2850
+ [Missigua Locator*]
2851
+ Parent=E-Mail Harvesters
2852
+ Browser="Missigua Locator"
2853
+
2854
+ [Mozilla/4.0 (compatible; Advanced Email Extractor*)]
2855
+ Parent=E-Mail Harvesters
2856
+ Browser="Advanced Email Extractor"
2857
+
2858
+ [Netprospector*]
2859
+ Parent=E-Mail Harvesters
2860
+ Browser="Netprospector"
2861
+
2862
+ [ProWebWalker*]
2863
+ Parent=E-Mail Harvesters
2864
+ Browser="ProWebWalker"
2865
+
2866
+ [sna-0.0.*]
2867
+ Parent=E-Mail Harvesters
2868
+ Browser="Mike Elliott's E-Mail Harvester"
2869
+
2870
+ [WebEnhancer*]
2871
+ Parent=E-Mail Harvesters
2872
+ Browser="WebEnhancer"
2873
+
2874
+ [WebMiner*]
2875
+ Parent=E-Mail Harvesters
2876
+ Browser="WebMiner"
2877
+
2878
+ [ZIBB Crawler (email address / WWW address)]
2879
+ Parent=E-Mail Harvesters
2880
+ Browser="ZIBB Crawler"
2881
+
2882
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Feeds Blogs
2883
+
2884
+ [Feeds Blogs]
2885
+ Parent=DefaultProperties
2886
+ Browser="Feeds Blogs"
2887
+ isSyndicationReader=true
2888
+ Crawler=true
2889
+
2890
+ [Bloglines Title Fetch/*]
2891
+ Parent=Feeds Blogs
2892
+ Browser="Bloglines Title Fetch"
2893
+
2894
+ [Bloglines/* (http://www.bloglines.com*)]
2895
+ Parent=Feeds Blogs
2896
+ Browser="BlogLines Web"
2897
+
2898
+ [BlogPulseLive (support@blogpulse.com)]
2899
+ Parent=Feeds Blogs
2900
+ Browser="BlogPulseLive"
2901
+
2902
+ [blogsearchbot-pumpkin-2]
2903
+ Parent=Feeds Blogs
2904
+ Browser="blogsearchbot-pumpkin"
2905
+ isSyndicationReader=false
2906
+
2907
+ [Irish Blogs Aggregator/*1.0*]
2908
+ Parent=Feeds Blogs
2909
+ Browser="Irish Blogs Aggregator"
2910
+ Version=1.0
2911
+ MajorVer=1
2912
+ MinorVer=0
2913
+
2914
+ [kinjabot (http://www.kinja.com; *)]
2915
+ Parent=Feeds Blogs
2916
+ Browser="kinjabot"
2917
+
2918
+ [Net::Trackback/*]
2919
+ Parent=Feeds Blogs
2920
+ Browser="Net::Trackback"
2921
+
2922
+ [Reblog*]
2923
+ Parent=Feeds Blogs
2924
+ Browser="Reblog"
2925
+
2926
+ [WordPress/*]
2927
+ Parent=Feeds Blogs
2928
+ Browser="WordPress"
2929
+
2930
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Feeds Syndicators
2931
+
2932
+ [Feeds Syndicators]
2933
+ Parent=DefaultProperties
2934
+ Browser="Feeds Syndicators"
2935
+ isSyndicationReader=true
2936
+
2937
+ [*LinkLint*]
2938
+ Parent=Feeds Syndicators
2939
+ Browser="LinkLint"
2940
+
2941
+ [*NetNewsWire/*]
2942
+ Parent=Feeds Syndicators
2943
+
2944
+ [*NetVisualize*]
2945
+ Parent=Feeds Syndicators
2946
+ Browser="NetVisualize"
2947
+
2948
+ [AideRSS 2.* (postrank.com)]
2949
+ Parent=Feeds Syndicators
2950
+ Browser="AideRSS"
2951
+
2952
+ [AideRSS/2.0 (aiderss.com)]
2953
+ Parent=Feeds Syndicators
2954
+ Browser="AideRSS"
2955
+ isBanned=true
2956
+
2957
+ [Akregator/*]
2958
+ Parent=Feeds Syndicators
2959
+ Browser="Akregator"
2960
+
2961
+ [AppleSyndication/*]
2962
+ Parent=Feeds Syndicators
2963
+ Browser="Safari RSS"
2964
+ Platform=MacOSX
2965
+
2966
+ [Cocoal.icio.us/* (*)*]
2967
+ Parent=Feeds Syndicators
2968
+ Browser="Cocoal.icio.us"
2969
+ isBanned=true
2970
+
2971
+ [Feed43 Proxy/* (*)]
2972
+ Parent=Feeds Syndicators
2973
+ Browser="Feed For Free"
2974
+
2975
+ [FeedBurner/*]
2976
+ Parent=Feeds Syndicators
2977
+ Browser="FeedBurner"
2978
+
2979
+ [FeedDemon/* (*)]
2980
+ Parent=Feeds Syndicators
2981
+ Browser="FeedDemon"
2982
+ Platform=Win32
2983
+
2984
+ [FeedDigest/* (*)]
2985
+ Parent=Feeds Syndicators
2986
+ Browser="FeedDigest"
2987
+
2988
+ [FeedGhost/1.*]
2989
+ Parent=Feeds Syndicators
2990
+ Browser="FeedGhost"
2991
+ Version=1.0
2992
+ MajorVer=1
2993
+ MinorVer=0
2994
+
2995
+ [FeedOnFeeds/0.1.* ( http://minutillo.com/steve/feedonfeeds/)]
2996
+ Parent=Feeds Syndicators
2997
+ Browser="FeedOnFeeds"
2998
+ Version=0.1
2999
+ MajorVer=0
3000
+ MinorVer=1
3001
+
3002
+ [Feedreader * (Powered by Newsbrain)]
3003
+ Parent=Feeds Syndicators
3004
+ Browser="Newsbrain"
3005
+
3006
+ [Feedshow/* (*)]
3007
+ Parent=Feeds Syndicators
3008
+ Browser="Feedshow"
3009
+
3010
+ [Feedster Crawler/?.0; Feedster, Inc.]
3011
+ Parent=Feeds Syndicators
3012
+ Browser="Feedster"
3013
+
3014
+ [GreatNews/1.0]
3015
+ Parent=Feeds Syndicators
3016
+ Browser="GreatNews"
3017
+ Version=1.0
3018
+ MajorVer=1
3019
+ MinorVer=0
3020
+
3021
+ [Gregarius/*]
3022
+ Parent=Feeds Syndicators
3023
+ Browser="Gregarius"
3024
+
3025
+ [intraVnews/*]
3026
+ Parent=Feeds Syndicators
3027
+ Browser="intraVnews"
3028
+
3029
+ [JetBrains Omea Reader*]
3030
+ Parent=Feeds Syndicators
3031
+ Browser="Omea Reader"
3032
+ isBanned=true
3033
+
3034
+ [Liferea/1.5* (Linux; *; http://liferea.sf.net/)]
3035
+ Parent=Feeds Syndicators
3036
+ Browser="Liferea"
3037
+ isBanned=true
3038
+
3039
+ [livedoor FeedFetcher/0.0* (http://reader.livedoor.com/;*)]
3040
+ Parent=Feeds Syndicators
3041
+ Browser="FeedFetcher"
3042
+ Version=0.0
3043
+ MajorVer=0
3044
+ MinorVer=0
3045
+
3046
+ [MagpieRSS/* (*)]
3047
+ Parent=Feeds Syndicators
3048
+ Browser="MagpieRSS"
3049
+
3050
+ [Mobitype * (compatible; Mozilla/*; MSIE *.*; Windows *)]
3051
+ Parent=Feeds Syndicators
3052
+ Browser="Mobitype"
3053
+ Platform=Win32
3054
+
3055
+ [Mozilla/5.0 (*; Rojo *; http://www.rojo.com/corporate/help/agg; *)*]
3056
+ Parent=Feeds Syndicators
3057
+ Browser="Rojo"
3058
+
3059
+ [Mozilla/5.0 (*aggregator:TailRank; http://tailrank.com/robot)*]
3060
+ Parent=Feeds Syndicators
3061
+ Browser="TailRank"
3062
+
3063
+ [Mozilla/5.0 (compatible; MSIE 6.0; Podtech Network; crawler_admin@podtech.net)]
3064
+ Parent=Feeds Syndicators
3065
+ Browser="Podtech Network"
3066
+
3067
+ [Mozilla/5.0 (compatible; Newz Crawler *; http://www.newzcrawler.com/?)]
3068
+ Parent=Feeds Syndicators
3069
+ Browser="Newz Crawler"
3070
+
3071
+ [Mozilla/5.0 (compatible; RSSMicro.com RSS/Atom Feed Robot)]
3072
+ Parent=Feeds Syndicators
3073
+ Browser="RSSMicro"
3074
+
3075
+ [Mozilla/5.0 (compatible;*newstin.com;*)]
3076
+ Parent=Feeds Syndicators
3077
+ Browser="NewsTin"
3078
+
3079
+ [Mozilla/5.0 (RSS Reader Panel)]
3080
+ Parent=Feeds Syndicators
3081
+ Browser="RSS Reader Panel"
3082
+
3083
+ [Mozilla/5.0 (X11; U; Linux*; *; rv:1.*; aggregator:FeedParser; *) Gecko/*]
3084
+ Parent=Feeds Syndicators
3085
+ Browser="FeedParser"
3086
+
3087
+ [Mozilla/5.0 (X11; U; Linux*; *; rv:1.*; aggregator:NewsMonster; *) Gecko/*]
3088
+ Parent=Feeds Syndicators
3089
+ Browser="NewsMonster"
3090
+
3091
+ [Mozilla/5.0 (X11; U; Linux*; *; rv:1.*; aggregator:Rojo; *) Gecko/*]
3092
+ Parent=Feeds Syndicators
3093
+ Browser="Rojo"
3094
+
3095
+ [Netvibes (*)]
3096
+ Parent=Feeds Syndicators
3097
+ Browser="Netvibes"
3098
+
3099
+ [NewsAlloy/* (*)]
3100
+ Parent=Feeds Syndicators
3101
+ Browser="NewsAlloy"
3102
+
3103
+ [Omnipelagos*]
3104
+ Parent=Feeds Syndicators
3105
+ Browser="Omnipelagos"
3106
+
3107
+ [Particls]
3108
+ Parent=Feeds Syndicators
3109
+ Browser="Particls"
3110
+
3111
+ [Protopage/* (*)]
3112
+ Parent=Feeds Syndicators
3113
+ Browser="Protopage"
3114
+
3115
+ [PubSub-RSS-Reader/* (*)]
3116
+ Parent=Feeds Syndicators
3117
+ Browser="PubSub-RSS-Reader"
3118
+
3119
+ [RSS Menu/*]
3120
+ Parent=Feeds Syndicators
3121
+ Browser="RSS Menu"
3122
+
3123
+ [RssBandit/*]
3124
+ Parent=Feeds Syndicators
3125
+ Browser="RssBandit"
3126
+
3127
+ [RssBar/1.2*]
3128
+ Parent=Feeds Syndicators
3129
+ Browser="RssBar"
3130
+ Version=1.2
3131
+ MajorVer=1
3132
+ MinorVer=2
3133
+
3134
+ [SharpReader/*]
3135
+ Parent=Feeds Syndicators
3136
+ Browser="SharpReader"
3137
+
3138
+ [SimplePie/*]
3139
+ Parent=Feeds Syndicators
3140
+ Browser="SimplePie"
3141
+
3142
+ [Strategic Board Bot (?http://www.strategicboard.com)]
3143
+ Parent=Feeds Syndicators
3144
+ Browser="Strategic Board Bot"
3145
+ isBanned=true
3146
+
3147
+ [TargetYourNews.com bot]
3148
+ Parent=Feeds Syndicators
3149
+ Browser="TargetYourNews"
3150
+
3151
+ [Technoratibot/*]
3152
+ Parent=Feeds Syndicators
3153
+ Browser="Technoratibot"
3154
+
3155
+ [Tumblr/* RSS syndication ( http://www.tumblr.com/) (support@tumblr.com)]
3156
+ Parent=Feeds Syndicators
3157
+ Browser="Tumblr RSS syndication"
3158
+
3159
+ [Windows-RSS-Platform/1.0*]
3160
+ Parent=Feeds Syndicators
3161
+ Browser="Windows-RSS-Platform"
3162
+ Version=1.0
3163
+ MajorVer=1
3164
+ MinorVer=0
3165
+ Win32=true
3166
+
3167
+ [Wizz RSS News Reader]
3168
+ Parent=Feeds Syndicators
3169
+ Browser="Wizz"
3170
+
3171
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; General RSS
3172
+
3173
+ [General RSS]
3174
+ Parent=DefaultProperties
3175
+ Browser="General RSS"
3176
+ isSyndicationReader=true
3177
+
3178
+ [AideRSS/1.0 (aiderss.com); * subscribers]
3179
+ Parent=General RSS
3180
+ Browser="AideRSS"
3181
+ Version=1.0
3182
+ MajorVer=1
3183
+ MinorVer=0
3184
+
3185
+ [CC Metadata Scaper http://wiki.creativecommons.org/Metadata_Scraper]
3186
+ Parent=General RSS
3187
+ Browser="CC Metadata Scaper"
3188
+
3189
+ [Mozilla/5.0 (compatible) GM RSS Panel]
3190
+ Parent=General RSS
3191
+ Browser="RSS Panel"
3192
+
3193
+ [Mozilla/5.0 http://www.inclue.com; graeme@inclue.com]
3194
+ Parent=General RSS
3195
+ Browser="Inclue"
3196
+
3197
+ [Runnk online rss reader : http://www.runnk.com/ : RSS favorites : RSS ranking : RSS aggregator*]
3198
+ Parent=General RSS
3199
+ Browser="Ruunk"
3200
+
3201
+ [Windows-RSS-Platform/2.0 (MSIE 8.0; Windows NT 6.0)]
3202
+ Parent=General RSS
3203
+ Browser="Windows-RSS-Platform"
3204
+ Platform=WinVista
3205
+
3206
+ [Mozilla/5.0 (X11; ?; Linux; *) AppleWebKit/* (KHTML, like Gecko, Safari/*) Arora/0.4]
3207
+ Parent=Google Code
3208
+ Browser="Arora"
3209
+ Version=0.4
3210
+ MajorVer=0
3211
+ MinorVer=4
3212
+ Platform=Linux
3213
+ CssVersion=2
3214
+ supportsCSS=true
3215
+
3216
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Validation Checkers
3217
+
3218
+ [HTML Validators]
3219
+ Parent=DefaultProperties
3220
+ Browser="HTML Validators"
3221
+ Frames=true
3222
+ IFrames=true
3223
+ Tables=true
3224
+ Crawler=true
3225
+
3226
+ [(HTML Validator http://www.searchengineworld.com/validator/)]
3227
+ Parent=HTML Validators
3228
+ Browser="Search Engine World HTML Validator"
3229
+
3230
+ [FeedValidator/1.3]
3231
+ Parent=HTML Validators
3232
+ Browser="FeedValidator"
3233
+ Version=1.3
3234
+ MajorVer=1
3235
+ MinorVer=3
3236
+
3237
+ [Jigsaw/* W3C_CSS_Validator_JFouffa/*]
3238
+ Parent=HTML Validators
3239
+ Browser="Jigsaw CSS Validator"
3240
+
3241
+ [Search Engine World Robots.txt Validator*]
3242
+ Parent=HTML Validators
3243
+ Browser="Search Engine World Robots.txt Validator"
3244
+
3245
+ [W3C_Validator/*]
3246
+ Parent=HTML Validators
3247
+ Browser="W3C Validator"
3248
+
3249
+ [W3CLineMode/*]
3250
+ Parent=HTML Validators
3251
+ Browser="W3C Line Mode"
3252
+
3253
+ [Weblide/2.? beta*]
3254
+ Parent=HTML Validators
3255
+ Browser="Weblide"
3256
+ Version=2.0
3257
+ MajorVer=2
3258
+ MinorVer=0
3259
+ Beta=true
3260
+
3261
+ [WebmasterWorld StickyMail Server Header Checker*]
3262
+ Parent=HTML Validators
3263
+ Browser="WebmasterWorld Server Header Checker"
3264
+
3265
+ [WWWC/*]
3266
+ Parent=HTML Validators
3267
+
3268
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Image Crawlers
3269
+
3270
+ [Image Crawlers]
3271
+ Parent=DefaultProperties
3272
+ Browser="Image Crawlers"
3273
+ Frames=true
3274
+ IFrames=true
3275
+ Tables=true
3276
+ isBanned=true
3277
+ Crawler=true
3278
+
3279
+ [*CFNetwork*]
3280
+ Parent=Image Crawlers
3281
+ Browser="CFNetwork"
3282
+
3283
+ [*PhotoStickies/*]
3284
+ Parent=Image Crawlers
3285
+ Browser="PhotoStickies"
3286
+
3287
+ [Camcrawler*]
3288
+ Parent=Image Crawlers
3289
+ Browser="Camcrawler"
3290
+
3291
+ [CydralSpider/*]
3292
+ Parent=Image Crawlers
3293
+ Browser="Cydral Web Image Search"
3294
+ isBanned=true
3295
+
3296
+ [Der gro\xdfe BilderSauger*]
3297
+ Parent=Image Crawlers
3298
+ Browser="Gallery Grabber"
3299
+
3300
+ [Extreme Picture Finder]
3301
+ Parent=Image Crawlers
3302
+ Browser="Extreme Picture Finder"
3303
+
3304
+ [FLATARTS_FAVICO]
3305
+ Parent=Image Crawlers
3306
+ Browser="FlatArts Favorites Icon Tool"
3307
+
3308
+ [HTML2JPG Blackbox, http://www.html2jpg.com]
3309
+ Parent=Image Crawlers
3310
+ Browser="HTML2JPG"
3311
+
3312
+ [IconSurf/2.*]
3313
+ Parent=Image Crawlers
3314
+ Browser="IconSurf"
3315
+
3316
+ [kalooga/KaloogaBot*]
3317
+ Parent=Image Crawlers
3318
+ Browser="KaloogaBot"
3319
+
3320
+ [Mister PIX*]
3321
+ Parent=Image Crawlers
3322
+ Browser="Mister PIX"
3323
+
3324
+ [Mozilla/5.0 (Macintosh; U; *Mac OS X; *) AppleWebKit/* (*) Pandora/2.*]
3325
+ Parent=Image Crawlers
3326
+ Browser="Pandora"
3327
+
3328
+ [naoFavicon4IE*]
3329
+ Parent=Image Crawlers
3330
+ Browser="naoFavicon4IE"
3331
+
3332
+ [pixfinder/*]
3333
+ Parent=Image Crawlers
3334
+ Browser="pixfinder"
3335
+
3336
+ [rssImagesBot/0.1 (*http://herbert.groot.jebbink.nl/?app=rssImages)]
3337
+ Parent=Image Crawlers
3338
+ Browser="rssImagesBot"
3339
+
3340
+ [Web Image Collector*]
3341
+ Parent=Image Crawlers
3342
+ Browser="Web Image Collector"
3343
+
3344
+ [WebImages * (?http://herbert.groot.jebbink.nl/?app=WebImages?)]
3345
+ Parent=Image Crawlers
3346
+ Browser="WebImages"
3347
+
3348
+ [WebPix*]
3349
+ Parent=Image Crawlers
3350
+ Browser="Custo"
3351
+
3352
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Link Checkers
3353
+
3354
+ [Link Checkers]
3355
+ Parent=DefaultProperties
3356
+ Browser="Link Checkers"
3357
+ Frames=true
3358
+ IFrames=true
3359
+ Tables=true
3360
+ Crawler=true
3361
+
3362
+ [!Susie (http://www.sync2it.com/susie)]
3363
+ Parent=Link Checkers
3364
+ Browser="!Susie"
3365
+
3366
+ [*AgentName/*]
3367
+ Parent=Link Checkers
3368
+ Browser="AgentName"
3369
+
3370
+ [*Linkman*]
3371
+ Parent=Link Checkers
3372
+ Browser="Linkman"
3373
+
3374
+ [*LinksManager.com*]
3375
+ Parent=Link Checkers
3376
+ Browser="LinksManager"
3377
+
3378
+ [*Powermarks/*]
3379
+ Parent=Link Checkers
3380
+ Browser="Powermarks"
3381
+
3382
+ [*W3C-checklink/*]
3383
+ Parent=Link Checkers
3384
+ Browser="W3C Link Checker"
3385
+
3386
+ [*Web Link Validator*]
3387
+ Parent=Link Checkers
3388
+ Browser="Web Link Validator"
3389
+
3390
+ [*Zeus*]
3391
+ Parent=Link Checkers
3392
+ Browser="Zeus"
3393
+ isBanned=true
3394
+
3395
+ [ActiveBookmark *]
3396
+ Parent=Link Checkers
3397
+ Browser="ActiveBookmark"
3398
+
3399
+ [Bookdog/*]
3400
+ Parent=Link Checkers
3401
+ Browser="Bookdog"
3402
+
3403
+ [Bookmark Buddy*]
3404
+ Parent=Link Checkers
3405
+ Browser="Bookmark Buddy"
3406
+
3407
+ [Bookmark Renewal Check Agent*]
3408
+ Parent=Link Checkers
3409
+ Browser="Bookmark Renewal Check Agent"
3410
+
3411
+ [Bookmark search tool*]
3412
+ Parent=Link Checkers
3413
+ Browser="Bookmark search tool"
3414
+
3415
+ [Bookmark-Manager]
3416
+ Parent=Link Checkers
3417
+ Browser="Bookmark-Manager"
3418
+
3419
+ [Checkbot*]
3420
+ Parent=Link Checkers
3421
+ Browser="Checkbot"
3422
+
3423
+ [CheckLinks/*]
3424
+ Parent=Link Checkers
3425
+ Browser="CheckLinks"
3426
+
3427
+ [CyberSpyder Link Test/*]
3428
+ Parent=Link Checkers
3429
+ Browser="CyberSpyder Link Test"
3430
+
3431
+ [DLC/*]
3432
+ Parent=Link Checkers
3433
+ Browser="DLC"
3434
+
3435
+ [DocWeb Link Crawler (http://doc.php.net)]
3436
+ Parent=Link Checkers
3437
+ Browser="DocWeb Link Crawler"
3438
+
3439
+ [FavOrg]
3440
+ Parent=Link Checkers
3441
+ Browser="FavOrg"
3442
+
3443
+ [Favorites Sweeper v.3.*]
3444
+ Parent=Link Checkers
3445
+ Browser="Favorites Sweeper"
3446
+
3447
+ [FindLinks/*]
3448
+ Parent=Link Checkers
3449
+ Browser="FindLinks"
3450
+
3451
+ [Funnel Web Profiler*]
3452
+ Parent=Link Checkers
3453
+ Browser="Funnel Web Profiler"
3454
+
3455
+ [Html Link Validator (www.lithopssoft.com)]
3456
+ Parent=Link Checkers
3457
+ Browser="HTML Link Validator"
3458
+
3459
+ [IECheck]
3460
+ Parent=Link Checkers
3461
+ Browser="IECheck"
3462
+
3463
+ [JCheckLinks/*]
3464
+ Parent=Link Checkers
3465
+ Browser="JCheckLinks"
3466
+
3467
+ [JRTwine Software Check Favorites Utility]
3468
+ Parent=Link Checkers
3469
+ Browser="JRTwine"
3470
+
3471
+ [Link Valet Online*]
3472
+ Parent=Link Checkers
3473
+ Browser="Link Valet"
3474
+ isBanned=true
3475
+
3476
+ [LinkAlarm/*]
3477
+ Parent=Link Checkers
3478
+ Browser="LinkAlarm"
3479
+
3480
+ [Linkbot*]
3481
+ Parent=Link Checkers
3482
+ Browser="Linkbot"
3483
+
3484
+ [LinkChecker/*]
3485
+ Parent=Link Checkers
3486
+ Browser="LinkChecker"
3487
+
3488
+ [LinkextractorPro*]
3489
+ Parent=Link Checkers
3490
+ Browser="LinkextractorPro"
3491
+ isBanned=true
3492
+
3493
+ [LinkLint-checkonly/*]
3494
+ Parent=Link Checkers
3495
+ Browser="LinkLint"
3496
+
3497
+ [LinkScan/*]
3498
+ Parent=Link Checkers
3499
+ Browser="LinkScan"
3500
+
3501
+ [LinkSweeper/*]
3502
+ Parent=Link Checkers
3503
+ Browser="LinkSweeper"
3504
+
3505
+ [LinkWalker*]
3506
+ Parent=Link Checkers
3507
+ Browser="LinkWalker"
3508
+
3509
+ [MetaGer-LinkChecker]
3510
+ Parent=Link Checkers
3511
+ Browser="MetaGer-LinkChecker"
3512
+
3513
+ [Mozilla/* (compatible; linktiger/*; *http://www.linktiger.com*)]
3514
+ Parent=Link Checkers
3515
+ Browser="LinkTiger"
3516
+ isBanned=true
3517
+
3518
+ [Mozilla/4.0 (Compatible); URLBase*]
3519
+ Parent=Link Checkers
3520
+ Browser="URLBase"
3521
+
3522
+ [Mozilla/4.0 (compatible; Link Utility; http://net-promoter.com)]
3523
+ Parent=Link Checkers
3524
+ Browser="NetPromoter Link Utility"
3525
+
3526
+ [Mozilla/4.0 (compatible; MSIE 6.0; Windows 98) Web Link Validator*]
3527
+ Parent=Link Checkers
3528
+ Browser="Web Link Validator"
3529
+ Win32=true
3530
+
3531
+ [Mozilla/4.0 (compatible; MSIE 7.0; Win32) Link Commander 3.0]
3532
+ Parent=Link Checkers
3533
+ Browser="Link Commander"
3534
+ Version=3.0
3535
+ MajorVer=3
3536
+ MinorVer=0
3537
+ Platform=Win32
3538
+
3539
+ [Mozilla/4.0 (compatible; smartBot/1.*; checking links; *)]
3540
+ Parent=Link Checkers
3541
+ Browser="smartBot"
3542
+
3543
+ [Mozilla/4.0 (compatible; SuperCleaner*;*)]
3544
+ Parent=Link Checkers
3545
+ Browser="SuperCleaner"
3546
+
3547
+ [Mozilla/5.0 gURLChecker/*]
3548
+ Parent=Link Checkers
3549
+ Browser="gURLChecker"
3550
+ isBanned=true
3551
+
3552
+ [Newsgroupreporter LinkCheck]
3553
+ Parent=Link Checkers
3554
+ Browser="Newsgroupreporter LinkCheck"
3555
+
3556
+ [onCHECK Linkchecker von www.scientec.de fuer www.onsinn.de]
3557
+ Parent=Link Checkers
3558
+ Browser="onCHECK Linkchecker"
3559
+
3560
+ [online link validator (http://www.dead-links.com/)]
3561
+ Parent=Link Checkers
3562
+ Browser="Dead-Links.com"
3563
+ isBanned=true
3564
+
3565
+ [REL Link Checker*]
3566
+ Parent=Link Checkers
3567
+ Browser="REL Link Checker"
3568
+
3569
+ [RLinkCheker*]
3570
+ Parent=Link Checkers
3571
+ Browser="RLinkCheker"
3572
+
3573
+ [Robozilla/*]
3574
+ Parent=Link Checkers
3575
+ Browser="Robozilla"
3576
+
3577
+ [RPT-HTTPClient/*]
3578
+ Parent=Link Checkers
3579
+ Browser="RPT-HTTPClient"
3580
+ isBanned=true
3581
+
3582
+ [SafariBookmarkChecker*(?http://www.coriolis.ch/)]
3583
+ Parent=Link Checkers
3584
+ Browser="SafariBookmarkChecker"
3585
+ Platform=MacOSX
3586
+ CssVersion=2
3587
+ supportsCSS=true
3588
+
3589
+ [Simpy/* (Simpy; http://www.simpy.com/?ref=bot; feedback at simpy dot com)]
3590
+ Parent=Link Checkers
3591
+ Browser="Simpy"
3592
+
3593
+ [SiteBar/*]
3594
+ Parent=Link Checkers
3595
+ Browser="SiteBar"
3596
+
3597
+ [Susie (http://www.sync2it.com/bms/susie.php]
3598
+ Parent=Link Checkers
3599
+ Browser="Susie"
3600
+
3601
+ [URLBase/6.*]
3602
+ Parent=Link Checkers
3603
+
3604
+ [VSE/*]
3605
+ Parent=Link Checkers
3606
+ Browser="VSE Link Tester"
3607
+
3608
+ [WebTrends Link Analyzer]
3609
+ Parent=Link Checkers
3610
+ Browser="WebTrends Link Analyzer"
3611
+
3612
+ [WorQmada/*]
3613
+ Parent=Link Checkers
3614
+ Browser="WorQmada"
3615
+
3616
+ [Xenu* Link Sleuth*]
3617
+ Parent=Link Checkers
3618
+ Browser="Xenu's Link Sleuth"
3619
+ isBanned=true
3620
+
3621
+ [Z-Add Link Checker*]
3622
+ Parent=Link Checkers
3623
+ Browser="Z-Add Link Checker"
3624
+
3625
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Microsoft
3626
+
3627
+ [Microsoft]
3628
+ Parent=DefaultProperties
3629
+ Browser="Microsoft"
3630
+ isBanned=true
3631
+
3632
+ [Live (http://www.live.com/)]
3633
+ Parent=Microsoft
3634
+ Browser="Microsoft Live"
3635
+ isBanned=false
3636
+ isSyndicationReader=true
3637
+
3638
+ [MFC Foundation Class Library*]
3639
+ Parent=Microsoft
3640
+ Browser="MFC Foundation Class Library"
3641
+
3642
+ [MFHttpScan]
3643
+ Parent=Microsoft
3644
+ Browser="MFHttpScan"
3645
+
3646
+ [Microsoft BITS/*]
3647
+ Parent=Microsoft
3648
+ Browser="BITS"
3649
+
3650
+ [Microsoft Data Access Internet Publishing Provider Cache Manager]
3651
+ Parent=Microsoft
3652
+ Browser="MS IPP"
3653
+
3654
+ [Microsoft Data Access Internet Publishing Provider DAV*]
3655
+ Parent=Microsoft
3656
+ Browser="MS IPP DAV"
3657
+
3658
+ [Microsoft Data Access Internet Publishing Provider Protocol Discovery]
3659
+ Parent=Microsoft
3660
+ Browser="MS IPPPD"
3661
+
3662
+ [Microsoft Internet Explorer]
3663
+ Parent=Microsoft
3664
+ Browser="Fake IE"
3665
+
3666
+ [Microsoft Office Existence Discovery]
3667
+ Parent=Microsoft
3668
+ Browser="Microsoft Office Existence Discovery"
3669
+
3670
+ [Microsoft Office Protocol Discovery]
3671
+ Parent=Microsoft
3672
+ Browser="MS OPD"
3673
+
3674
+ [Microsoft Office/* (*Picture Manager*)]
3675
+ Parent=Microsoft
3676
+ Browser="Microsoft Office Picture Manager"
3677
+
3678
+ [Microsoft URL Control*]
3679
+ Parent=Microsoft
3680
+ Browser="Microsoft URL Control"
3681
+
3682
+ [Microsoft Visio MSIE]
3683
+ Parent=Microsoft
3684
+ Browser="Microsoft Visio"
3685
+
3686
+ [Microsoft-WebDAV-MiniRedir/*]
3687
+ Parent=Microsoft
3688
+ Browser="Microsoft-WebDAV"
3689
+
3690
+ [Mozilla/5.0 (Macintosh; Intel Mac OS X) Excel/12.*]
3691
+ Parent=Microsoft
3692
+ Browser="Microsoft Excel"
3693
+ Version=12.0
3694
+ MajorVer=12
3695
+ MinorVer=0
3696
+ Platform=MacOSX
3697
+
3698
+ [MSN Feed Manager]
3699
+ Parent=Microsoft
3700
+ Browser="MSN Feed Manager"
3701
+ isBanned=false
3702
+ isSyndicationReader=true
3703
+
3704
+ [MSProxy/*]
3705
+ Parent=Microsoft
3706
+ Browser="MS Proxy"
3707
+
3708
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Miscellaneous Browsers
3709
+
3710
+ [Miscellaneous Browsers]
3711
+ Parent=DefaultProperties
3712
+ Browser="Miscellaneous Browsers"
3713
+ Frames=true
3714
+ Tables=true
3715
+ Cookies=true
3716
+
3717
+ [*Amiga*]
3718
+ Parent=Miscellaneous Browsers
3719
+ Browser="Amiga"
3720
+ Platform=Amiga
3721
+
3722
+ [*avantbrowser*]
3723
+ Parent=Miscellaneous Browsers
3724
+ Browser="Avant Browser"
3725
+
3726
+ [12345]
3727
+ Parent=Miscellaneous Browsers
3728
+ Browser="12345"
3729
+ isBanned=true
3730
+
3731
+ [Ace Explorer]
3732
+ Parent=Miscellaneous Browsers
3733
+ Browser="Ace Explorer"
3734
+
3735
+ [Enigma Browser*]
3736
+ Parent=Miscellaneous Browsers
3737
+ Browser="Enigma Browser"
3738
+
3739
+ [EVE-minibrowser/*]
3740
+ Parent=Miscellaneous Browsers
3741
+ Browser="EVE-minibrowser"
3742
+ IFrames=false
3743
+ Tables=false
3744
+ BackgroundSounds=false
3745
+ VBScript=false
3746
+ JavaApplets=false
3747
+ JavaScript=false
3748
+ ActiveXControls=false
3749
+ isBanned=false
3750
+ Crawler=false
3751
+
3752
+ [Godzilla/* (Basic*; *; Commodore C=64; *; rv:1.*)*]
3753
+ Parent=Miscellaneous Browsers
3754
+ Browser="Godzilla"
3755
+
3756
+ [GreenBrowser]
3757
+ Parent=Miscellaneous Browsers
3758
+ Browser="GreenBrowser"
3759
+ Frames=true
3760
+ IFrames=true
3761
+ Tables=true
3762
+ Cookies=true
3763
+ BackgroundSounds=true
3764
+ VBScript=true
3765
+ JavaApplets=true
3766
+ JavaScript=true
3767
+ ActiveXControls=true
3768
+ CssVersion=2
3769
+ supportsCSS=true
3770
+
3771
+ [Kopiczek/* (WyderOS*; *)]
3772
+ Parent=Miscellaneous Browsers
3773
+ Browser="Kopiczek"
3774
+ Platform=WyderOS
3775
+ IFrames=true
3776
+ JavaApplets=true
3777
+ JavaScript=true
3778
+ CssVersion=2
3779
+ supportsCSS=true
3780
+
3781
+ [Mozilla/* (*) - BrowseX (*)]
3782
+ Parent=Miscellaneous Browsers
3783
+ Browser="BrowseX"
3784
+
3785
+ [Mozilla/* (Win32;*Escape?*; ?)]
3786
+ Parent=Miscellaneous Browsers
3787
+ Browser="Escape"
3788
+ Platform=Win32
3789
+
3790
+ [Mozilla/4.0 (compatible; ibisBrowser)]
3791
+ Parent=Miscellaneous Browsers
3792
+ Browser="ibisBrowser"
3793
+
3794
+ [Mozilla/5.0 (Macintosh; ?; PPC Mac OS X;*) AppleWebKit/* (*) HistoryHound/*]
3795
+ Parent=Miscellaneous Browsers
3796
+ Browser="HistoryHound"
3797
+
3798
+ [NetRecorder*]
3799
+ Parent=Miscellaneous Browsers
3800
+ Browser="NetRecorder"
3801
+
3802
+ [NetSurf*]
3803
+ Parent=Miscellaneous Browsers
3804
+ Browser="NetSurf"
3805
+
3806
+ [ogeb browser , Version 1.1.0]
3807
+ Parent=Miscellaneous Browsers
3808
+ Browser="ogeb browser"
3809
+ Version=1.1
3810
+ MajorVer=1
3811
+ MinorVer=1
3812
+
3813
+ [SCEJ PSP BROWSER 0102pspNavigator]
3814
+ Parent=Miscellaneous Browsers
3815
+ Browser="Wipeout Pure"
3816
+
3817
+ [SlimBrowser]
3818
+ Parent=Miscellaneous Browsers
3819
+ Browser="SlimBrowser"
3820
+
3821
+ [WWW_Browser/*]
3822
+ Parent=Miscellaneous Browsers
3823
+ Browser="WWW Browser"
3824
+ Version=1.69
3825
+ MajorVer=1
3826
+ MinorVer=69
3827
+ Platform=Win16
3828
+ CssVersion=3
3829
+ supportsCSS=true
3830
+
3831
+ [*Netcraft Webserver Survey*]
3832
+ Parent=Netcraft
3833
+ Browser="Netcraft Webserver Survey"
3834
+ isBanned=true
3835
+
3836
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Offline Browsers
3837
+
3838
+ [Offline Browsers]
3839
+ Parent=DefaultProperties
3840
+ Browser="Offline Browsers"
3841
+ Frames=true
3842
+ Tables=true
3843
+ Cookies=true
3844
+ isBanned=true
3845
+ Crawler=true
3846
+
3847
+ [*Check&Get*]
3848
+ Parent=Offline Browsers
3849
+ Browser="Check&Get"
3850
+
3851
+ [*HTTrack*]
3852
+ Parent=Offline Browsers
3853
+ Browser="HTTrack"
3854
+
3855
+ [*MSIECrawler*]
3856
+ Parent=Offline Browsers
3857
+ Browser="IE Offline Browser"
3858
+
3859
+ [*TweakMASTER*]
3860
+ Parent=Offline Browsers
3861
+ Browser="TweakMASTER"
3862
+
3863
+ [BackStreet Browser *]
3864
+ Parent=Offline Browsers
3865
+ Browser="BackStreet Browser"
3866
+
3867
+ [Go-Ahead-Got-It*]
3868
+ Parent=Offline Browsers
3869
+ Browser="Go Ahead Got-It"
3870
+
3871
+ [iGetter/*]
3872
+ Parent=Offline Browsers
3873
+ Browser="iGetter"
3874
+
3875
+ [Teleport*]
3876
+ Parent=Offline Browsers
3877
+ Browser="Teleport"
3878
+
3879
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Online Scanners
3880
+
3881
+ [Online Scanners]
3882
+ Parent=DefaultProperties
3883
+ Browser="Online Scanners"
3884
+ isBanned=true
3885
+
3886
+ [JoeDog/* (X11; I; Siege *)]
3887
+ Parent=Online Scanners
3888
+ Browser="JoeDog"
3889
+ isBanned=false
3890
+
3891
+ [Morfeus Fucking Scanner]
3892
+ Parent=Online Scanners
3893
+ Browser="Morfeus Fucking Scanner"
3894
+
3895
+ [Mozilla/4.0 (compatible; Trend Micro tmdr 1.*]
3896
+ Parent=Online Scanners
3897
+ Browser="Trend Micro"
3898
+
3899
+ [Titanium 2005 (4.02.01)]
3900
+ Parent=Online Scanners
3901
+ Browser="Panda Antivirus Titanium"
3902
+
3903
+ [virus_detector*]
3904
+ Parent=Online Scanners
3905
+ Browser="Secure Computing Corporation"
3906
+
3907
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Proxy Servers
3908
+
3909
+ [Proxy Servers]
3910
+ Parent=DefaultProperties
3911
+ Browser="Proxy Servers"
3912
+ isBanned=true
3913
+
3914
+ [*squid*]
3915
+ Parent=Proxy Servers
3916
+ Browser="Squid"
3917
+
3918
+ [Anonymisiert*]
3919
+ Parent=Proxy Servers
3920
+ Browser="Anonymizied"
3921
+
3922
+ [Anonymizer/*]
3923
+ Parent=Proxy Servers
3924
+ Browser="Anonymizer"
3925
+
3926
+ [Anonymizied*]
3927
+ Parent=Proxy Servers
3928
+ Browser="Anonymizied"
3929
+
3930
+ [Anonymous*]
3931
+ Parent=Proxy Servers
3932
+ Browser="Anonymous"
3933
+
3934
+ [Anonymous/*]
3935
+ Parent=Proxy Servers
3936
+ Browser="Anonymous"
3937
+
3938
+ [CE-Preload]
3939
+ Parent=Proxy Servers
3940
+ Browser="CE-Preload"
3941
+
3942
+ [http://Anonymouse.org/*]
3943
+ Parent=Proxy Servers
3944
+ Browser="Anonymouse"
3945
+
3946
+ [IE/6.01 (CP/M; 8-bit*)]
3947
+ Parent=Proxy Servers
3948
+ Browser="Squid"
3949
+
3950
+ [Mozilla/* (TuringOS; Turing Machine; 0.0)]
3951
+ Parent=Proxy Servers
3952
+ Browser="Anonymizer"
3953
+
3954
+ [Mozilla/4.0 (compatible; MSIE ?.0; SaferSurf*)]
3955
+ Parent=Proxy Servers
3956
+ Browser="SaferSurf"
3957
+
3958
+ [Mozilla/5.0 (compatible; del.icio.us-thumbnails/*; *) KHTML/* (like Gecko)]
3959
+ Parent=Proxy Servers
3960
+ Browser="Yahoo!"
3961
+ isBanned=true
3962
+ Crawler=true
3963
+
3964
+ [Nutscrape]
3965
+ Parent=Proxy Servers
3966
+ Browser="Squid"
3967
+
3968
+ [Nutscrape/* (CP/M; 8-bit*)]
3969
+ Parent=Proxy Servers
3970
+ Browser="Squid"
3971
+
3972
+ [Privoxy/*]
3973
+ Parent=Proxy Servers
3974
+ Browser="Privoxy"
3975
+
3976
+ [ProxyTester*]
3977
+ Parent=Proxy Servers
3978
+ Browser="ProxyTester"
3979
+ isBanned=true
3980
+ Crawler=true
3981
+
3982
+ [SilentSurf*]
3983
+ Parent=Proxy Servers
3984
+ Browser="SilentSurf"
3985
+
3986
+ [SmallProxy*]
3987
+ Parent=Proxy Servers
3988
+ Browser="SmallProxy"
3989
+
3990
+ [Space*Bison/*]
3991
+ Parent=Proxy Servers
3992
+ Browser="Proxomitron"
3993
+
3994
+ [Sqworm/*]
3995
+ Parent=Proxy Servers
3996
+ Browser="Websense"
3997
+
3998
+ [SurfControl]
3999
+ Parent=Proxy Servers
4000
+ Browser="SurfControl"
4001
+
4002
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Research Projects
4003
+
4004
+ [Research Projects]
4005
+ Parent=DefaultProperties
4006
+ Browser="Research Projects"
4007
+ isBanned=true
4008
+ Crawler=true
4009
+
4010
+ [*research*]
4011
+ Parent=Research Projects
4012
+
4013
+ [AcadiaUniversityWebCensusClient]
4014
+ Parent=Research Projects
4015
+ Browser="AcadiaUniversityWebCensusClient"
4016
+
4017
+ [Amico Alpha * (*) Gecko/* AmicoAlpha/*]
4018
+ Parent=Research Projects
4019
+ Browser="Amico Alpha"
4020
+
4021
+ [annotate_google; http://ponderer.org/*]
4022
+ Parent=Research Projects
4023
+ Browser="Annotate Google"
4024
+
4025
+ [CMS crawler (?http://buytaert.net/crawler/)]
4026
+ Parent=Research Projects
4027
+
4028
+ [e-SocietyRobot(http://www.yama.info.waseda.ac.jp/~yamana/es/)]
4029
+ Parent=Research Projects
4030
+ Browser="e-SocietyRobot"
4031
+
4032
+ [Forschungsportal/*]
4033
+ Parent=Research Projects
4034
+ Browser="Forschungsportal"
4035
+
4036
+ [Gulper Web *]
4037
+ Parent=Research Projects
4038
+ Browser="Gulper Web Bot"
4039
+
4040
+ [HooWWWer/*]
4041
+ Parent=Research Projects
4042
+ Browser="HooWWWer"
4043
+
4044
+ [http://buytaert.net/crawler]
4045
+ Parent=Research Projects
4046
+
4047
+ [inetbot/* (?http://www.inetbot.com/bot.html)]
4048
+ Parent=Research Projects
4049
+ Browser="inetbot"
4050
+
4051
+ [IRLbot/*]
4052
+ Parent=Research Projects
4053
+ Browser="IRLbot"
4054
+
4055
+ [JUST-CRAWLER(*)]
4056
+ Parent=Research Projects
4057
+ Browser="JUST-CRAWLER"
4058
+
4059
+ [Lachesis]
4060
+ Parent=Research Projects
4061
+ Browser="Lachesis"
4062
+
4063
+ [Mozilla/5.0 (compatible; nextthing.org/*)]
4064
+ Parent=Research Projects
4065
+ Browser="nextthing.org"
4066
+ Version=1.0
4067
+ MajorVer=1
4068
+ MinorVer=0
4069
+
4070
+ [Mozilla/5.0 (compatible; Theophrastus/*)]
4071
+ Parent=Research Projects
4072
+ Browser="Theophrastus"
4073
+
4074
+ [Mozilla/5.0 (compatible; Webscan v0.*; http://otc.dyndns.org/webscan/)]
4075
+ Parent=Research Projects
4076
+ Browser="Webscan"
4077
+
4078
+ [MQbot*]
4079
+ Parent=Research Projects
4080
+ Browser="MQbot"
4081
+
4082
+ [OutfoxBot/*]
4083
+ Parent=Research Projects
4084
+ Browser="OutfoxBot"
4085
+
4086
+ [polybot?*]
4087
+ Parent=Research Projects
4088
+ Browser="Polybot"
4089
+
4090
+ [Shim?Crawler*]
4091
+ Parent=Research Projects
4092
+ Browser="Shim Crawler"
4093
+
4094
+ [Steeler/*]
4095
+ Parent=Research Projects
4096
+ Browser="Steeler"
4097
+
4098
+ [Taiga web spider]
4099
+ Parent=Research Projects
4100
+ Browser="Taiga"
4101
+
4102
+ [Theme Spider*]
4103
+ Parent=Research Projects
4104
+ Browser="Theme Spider"
4105
+
4106
+ [UofTDB_experiment* (leehyun@cs.toronto.edu)]
4107
+ Parent=Research Projects
4108
+ Browser="UofTDB Experiment"
4109
+
4110
+ [USyd-NLP-Spider*]
4111
+ Parent=Research Projects
4112
+ Browser="USyd-NLP-Spider"
4113
+
4114
+ [woriobot*]
4115
+ Parent=Research Projects
4116
+ Browser="woriobot"
4117
+
4118
+ [wwwster/* (Beta, mailto:gue@cis.uni-muenchen.de)]
4119
+ Parent=Research Projects
4120
+ Browser="wwwster"
4121
+ Beta=true
4122
+
4123
+ [Zao-Crawler]
4124
+ Parent=Research Projects
4125
+ Browser="Zao-Crawler"
4126
+
4127
+ [Zao/*]
4128
+ Parent=Research Projects
4129
+ Browser="Zao"
4130
+
4131
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Rippers
4132
+
4133
+ [Rippers]
4134
+ Parent=DefaultProperties
4135
+ Browser="Rippers"
4136
+ Frames=true
4137
+ IFrames=true
4138
+ Tables=true
4139
+ isBanned=true
4140
+ Crawler=true
4141
+
4142
+ [*grub*]
4143
+ Parent=Rippers
4144
+ Browser="grub"
4145
+
4146
+ [*ickHTTP*]
4147
+ Parent=Rippers
4148
+ Browser="IP*Works"
4149
+
4150
+ [*java*]
4151
+ Parent=Rippers
4152
+
4153
+ [*libwww-perl*]
4154
+ Parent=Rippers
4155
+ Browser="libwww-perl"
4156
+
4157
+ [*WebGrabber*]
4158
+ Parent=Rippers
4159
+
4160
+ [*WinHttpRequest*]
4161
+ Parent=Rippers
4162
+ Browser="WinHttp"
4163
+
4164
+ [3D-FTP/*]
4165
+ Parent=Rippers
4166
+ Browser="3D-FTP"
4167
+
4168
+ [3wGet/*]
4169
+ Parent=Rippers
4170
+ Browser="3wGet"
4171
+
4172
+ [ActiveRefresh*]
4173
+ Parent=Rippers
4174
+ Browser="ActiveRefresh"
4175
+
4176
+ [Artera (Version *)]
4177
+ Parent=Rippers
4178
+ Browser="Artera"
4179
+
4180
+ [AutoHotkey]
4181
+ Parent=Rippers
4182
+ Browser="AutoHotkey"
4183
+
4184
+ [b2w/*]
4185
+ Parent=Rippers
4186
+ Browser="b2w"
4187
+
4188
+ [BasicHTTP/*]
4189
+ Parent=Rippers
4190
+ Browser="BasicHTTP"
4191
+
4192
+ [BlockNote.Net]
4193
+ Parent=Rippers
4194
+ Browser="BlockNote.Net"
4195
+
4196
+ [CAST]
4197
+ Parent=Rippers
4198
+ Browser="CAST"
4199
+
4200
+ [CFNetwork/*]
4201
+ Parent=Rippers
4202
+ Browser="CFNetwork"
4203
+
4204
+ [CFSCHEDULE*]
4205
+ Parent=Rippers
4206
+ Browser="ColdFusion Task Scheduler"
4207
+
4208
+ [CobWeb/*]
4209
+ Parent=Rippers
4210
+ Browser="CobWeb"
4211
+
4212
+ [ColdFusion*]
4213
+ Parent=Rippers
4214
+ Browser="ColdFusion"
4215
+
4216
+ [Crawl_Application]
4217
+ Parent=Rippers
4218
+ Browser="Crawl_Application"
4219
+
4220
+ [CTerm/*]
4221
+ Parent=Rippers
4222
+ Browser="CTerm"
4223
+
4224
+ [curl*]
4225
+ Parent=Rippers
4226
+ Browser="cURL"
4227
+
4228
+ [Custo*]
4229
+ Parent=Rippers
4230
+ Browser="Custo"
4231
+
4232
+ [DataCha0s/*]
4233
+ Parent=Rippers
4234
+ Browser="DataCha0s"
4235
+
4236
+ [DeepIndexer*]
4237
+ Parent=Rippers
4238
+ Browser="DeepIndexer"
4239
+
4240
+ [DISCo Pump *]
4241
+ Parent=Rippers
4242
+ Browser="DISCo Pump"
4243
+
4244
+ [eStyleSearch * (compatible; MSIE 6.0; Windows NT 5.0)]
4245
+ Parent=Rippers
4246
+ Browser="eStyleSearch"
4247
+ Win32=true
4248
+
4249
+ [ezic.com http agent *]
4250
+ Parent=Rippers
4251
+ Browser="Ezic.com"
4252
+
4253
+ [fetch libfetch/*]
4254
+ Parent=Rippers
4255
+
4256
+ [FGet*]
4257
+ Parent=Rippers
4258
+ Browser="FGet"
4259
+
4260
+ [Flaming AttackBot*]
4261
+ Parent=Rippers
4262
+ Browser="Flaming AttackBot"
4263
+
4264
+ [Foobot*]
4265
+ Parent=Rippers
4266
+ Browser="Foobot"
4267
+
4268
+ [GameSpyHTTP/*]
4269
+ Parent=Rippers
4270
+ Browser="GameSpyHTTP"
4271
+
4272
+ [gnome-vfs/*]
4273
+ Parent=Rippers
4274
+ Browser="gnome-vfs"
4275
+
4276
+ [Harvest/*]
4277
+ Parent=Rippers
4278
+ Browser="Harvest"
4279
+
4280
+ [hcat/*]
4281
+ Parent=Rippers
4282
+ Browser="hcat"
4283
+
4284
+ [HLoader]
4285
+ Parent=Rippers
4286
+ Browser="HLoader"
4287
+
4288
+ [Holmes/*]
4289
+ Parent=Rippers
4290
+ Browser="Holmes"
4291
+
4292
+ [HTMLParser/*]
4293
+ Parent=Rippers
4294
+ Browser="HTMLParser"
4295
+
4296
+ [http generic]
4297
+ Parent=Rippers
4298
+ Browser="http generic"
4299
+
4300
+ [httpclient*]
4301
+ Parent=Rippers
4302
+
4303
+ [httperf/*]
4304
+ Parent=Rippers
4305
+ Browser="httperf"
4306
+
4307
+ [HTTPFetch/*]
4308
+ Parent=Rippers
4309
+ Browser="HTTPFetch"
4310
+
4311
+ [HTTPGrab]
4312
+ Parent=Rippers
4313
+ Browser="HTTPGrab"
4314
+
4315
+ [HttpSession]
4316
+ Parent=Rippers
4317
+ Browser="HttpSession"
4318
+
4319
+ [httpunit/*]
4320
+ Parent=Rippers
4321
+ Browser="HttpUnit"
4322
+
4323
+ [ICE_GetFile]
4324
+ Parent=Rippers
4325
+ Browser="ICE_GetFile"
4326
+
4327
+ [iexplore.exe]
4328
+ Parent=Rippers
4329
+
4330
+ [Inet - Eureka App]
4331
+ Parent=Rippers
4332
+ Browser="Inet - Eureka App"
4333
+
4334
+ [INetURL/*]
4335
+ Parent=Rippers
4336
+ Browser="INetURL"
4337
+
4338
+ [InetURL:/*]
4339
+ Parent=Rippers
4340
+ Browser="InetURL"
4341
+
4342
+ [Internet Exploiter/*]
4343
+ Parent=Rippers
4344
+
4345
+ [Internet Explore *]
4346
+ Parent=Rippers
4347
+ Browser="Fake IE"
4348
+
4349
+ [Internet Explorer *]
4350
+ Parent=Rippers
4351
+ Browser="Fake IE"
4352
+
4353
+ [IP*Works!*/*]
4354
+ Parent=Rippers
4355
+ Browser="IP*Works!"
4356
+
4357
+ [IrssiUrlLog/*]
4358
+ Parent=Rippers
4359
+ Browser="IrssiUrlLog"
4360
+
4361
+ [JPluck/*]
4362
+ Parent=Rippers
4363
+ Browser="JPluck"
4364
+
4365
+ [Kapere (http://www.kapere.com)]
4366
+ Parent=Rippers
4367
+ Browser="Kapere"
4368
+
4369
+ [LeechFTP]
4370
+ Parent=Rippers
4371
+ Browser="LeechFTP"
4372
+
4373
+ [LeechGet*]
4374
+ Parent=Rippers
4375
+ Browser="LeechGet"
4376
+
4377
+ [libcurl-agent/*]
4378
+ Parent=Rippers
4379
+ Browser="libcurl"
4380
+
4381
+ [libWeb/clsHTTP*]
4382
+ Parent=Rippers
4383
+ Browser="libWeb/clsHTTP"
4384
+
4385
+ [lwp*]
4386
+ Parent=Rippers
4387
+
4388
+ [MFC_Tear_Sample]
4389
+ Parent=Rippers
4390
+ Browser="MFC_Tear_Sample"
4391
+
4392
+ [Moozilla]
4393
+ Parent=Rippers
4394
+ Browser="Moozilla"
4395
+
4396
+ [MovableType/*]
4397
+ Parent=Rippers
4398
+ Browser="MovableType Web Log"
4399
+
4400
+ [Mozilla/2.0 (compatible; NEWT ActiveX; Win32)]
4401
+ Parent=Rippers
4402
+ Browser="NEWT ActiveX"
4403
+ Platform=Win32
4404
+
4405
+ [Mozilla/3.0 (compatible)]
4406
+ Parent=Rippers
4407
+
4408
+ [Mozilla/3.0 (compatible; Indy Library)]
4409
+ Parent=Rippers
4410
+ Cookies=true
4411
+
4412
+ [Mozilla/3.01 (compatible;)]
4413
+ Parent=Rippers
4414
+
4415
+ [Mozilla/4.0 (compatible; BorderManager*)]
4416
+ Parent=Rippers
4417
+ Browser="Novell BorderManager"
4418
+
4419
+ [Mozilla/4.0 (compatible;)]
4420
+ Parent=Rippers
4421
+
4422
+ [Mozilla/5.0 (compatible; IPCheck Server Monitor*)]
4423
+ Parent=Rippers
4424
+ Browser="IPCheck Server Monitor"
4425
+
4426
+ [OCN-SOC/*]
4427
+ Parent=Rippers
4428
+ Browser="OCN-SOC"
4429
+
4430
+ [Offline Explorer*]
4431
+ Parent=Rippers
4432
+ Browser="Offline Explorer"
4433
+
4434
+ [Open Web Analytics Bot*]
4435
+ Parent=Rippers
4436
+ Browser="Open Web Analytics Bot"
4437
+
4438
+ [OSSProxy*]
4439
+ Parent=Rippers
4440
+ Browser="OSSProxy"
4441
+
4442
+ [Pageload*]
4443
+ Parent=Rippers
4444
+ Browser="PageLoad"
4445
+
4446
+ [PageNest/*]
4447
+ Parent=Rippers
4448
+ Browser="PageNest"
4449
+
4450
+ [pavuk/*]
4451
+ Parent=Rippers
4452
+ Browser="Pavuk"
4453
+
4454
+ [PEAR HTTP_Request*]
4455
+ Parent=Rippers
4456
+ Browser="PEAR-PHP"
4457
+
4458
+ [PHP*]
4459
+ Parent=Rippers
4460
+ Browser="PHP"
4461
+
4462
+ [PigBlock (Windows NT 5.1; U)*]
4463
+ Parent=Rippers
4464
+ Browser="PigBlock"
4465
+ Win32=true
4466
+
4467
+ [Pockey*]
4468
+ Parent=Rippers
4469
+ Browser="Pockey-GetHTML"
4470
+
4471
+ [POE-Component-Client-HTTP/*]
4472
+ Parent=Rippers
4473
+ Browser="POE-Component-Client-HTTP"
4474
+
4475
+ [PycURL/*]
4476
+ Parent=Rippers
4477
+ Browser="PycURL"
4478
+
4479
+ [Python*]
4480
+ Parent=Rippers
4481
+ Browser="Python"
4482
+
4483
+ [RepoMonkey*]
4484
+ Parent=Rippers
4485
+ Browser="RepoMonkey"
4486
+
4487
+ [SBL-BOT*]
4488
+ Parent=Rippers
4489
+ Browser="BlackWidow"
4490
+
4491
+ [ScoutAbout*]
4492
+ Parent=Rippers
4493
+ Browser="ScoutAbout"
4494
+
4495
+ [sherlock/*]
4496
+ Parent=Rippers
4497
+ Browser="Sherlock"
4498
+
4499
+ [SiteParser/*]
4500
+ Parent=Rippers
4501
+ Browser="SiteParser"
4502
+
4503
+ [SiteSnagger*]
4504
+ Parent=Rippers
4505
+ Browser="SiteSnagger"
4506
+
4507
+ [SiteSucker/*]
4508
+ Parent=Rippers
4509
+ Browser="SiteSucker"
4510
+
4511
+ [SiteWinder*]
4512
+ Parent=Rippers
4513
+ Browser="SiteWinder"
4514
+
4515
+ [Snoopy*]
4516
+ Parent=Rippers
4517
+ Browser="Snoopy"
4518
+
4519
+ [SOFTWING_TEAR_AGENT*]
4520
+ Parent=Rippers
4521
+ Browser="AspTear"
4522
+
4523
+ [SuperHTTP/*]
4524
+ Parent=Rippers
4525
+ Browser="SuperHTTP"
4526
+
4527
+ [Tcl http client package*]
4528
+ Parent=Rippers
4529
+ Browser="Tcl http client package"
4530
+
4531
+ [Twisted PageGetter]
4532
+ Parent=Rippers
4533
+ Browser="Twisted PageGetter"
4534
+
4535
+ [URL2File/*]
4536
+ Parent=Rippers
4537
+ Browser="URL2File"
4538
+
4539
+ [UtilMind HTTPGet]
4540
+ Parent=Rippers
4541
+ Browser="UtilMind HTTPGet"
4542
+
4543
+ [VCI WebViewer*]
4544
+ Parent=Rippers
4545
+ Browser="VCI WebViewer"
4546
+
4547
+ [W3CRobot/*]
4548
+ Parent=Rippers
4549
+ Browser="W3CRobot"
4550
+
4551
+ [Web Downloader*]
4552
+ Parent=Rippers
4553
+ Browser="Web Downloader"
4554
+
4555
+ [Web Downloader/*]
4556
+ Parent=Rippers
4557
+ Browser="Web Downloader"
4558
+
4559
+ [Web Magnet*]
4560
+ Parent=Rippers
4561
+ Browser="Web Magnet"
4562
+
4563
+ [WebAuto/*]
4564
+ Parent=Rippers
4565
+
4566
+ [webbandit/*]
4567
+ Parent=Rippers
4568
+ Browser="webbandit"
4569
+
4570
+ [WebCopier*]
4571
+ Parent=Rippers
4572
+ Browser="WebCopier"
4573
+
4574
+ [WebDownloader*]
4575
+ Parent=Rippers
4576
+ Browser="WebDownloader"
4577
+
4578
+ [WebFetch]
4579
+ Parent=Rippers
4580
+ Browser="WebFetch"
4581
+
4582
+ [webfetch/*]
4583
+ Parent=Rippers
4584
+ Browser="WebFetch"
4585
+
4586
+ [WebGatherer*]
4587
+ Parent=Rippers
4588
+ Browser="WebGatherer"
4589
+
4590
+ [WebGet]
4591
+ Parent=Rippers
4592
+ Browser="WebGet"
4593
+
4594
+ [WebReaper*]
4595
+ Parent=Rippers
4596
+ Browser="WebReaper"
4597
+
4598
+ [WebRipper]
4599
+ Parent=Rippers
4600
+ Browser="WebRipper"
4601
+
4602
+ [WebSauger*]
4603
+ Parent=Rippers
4604
+ Browser="WebSauger"
4605
+
4606
+ [Website Downloader*]
4607
+ Parent=Rippers
4608
+ Browser="Website Downloader"
4609
+
4610
+ [Website eXtractor*]
4611
+ Parent=Rippers
4612
+ Browser="Website eXtractor"
4613
+
4614
+ [Website Quester]
4615
+ Parent=Rippers
4616
+ Browser="Website Quester"
4617
+
4618
+ [WebsiteExtractor*]
4619
+ Parent=Rippers
4620
+ Browser="Website eXtractor"
4621
+
4622
+ [WebSnatcher*]
4623
+ Parent=Rippers
4624
+ Browser="WebSnatcher"
4625
+
4626
+ [Webster Pro*]
4627
+ Parent=Rippers
4628
+ Browser="Webster Pro"
4629
+
4630
+ [WebStripper*]
4631
+ Parent=Rippers
4632
+ Browser="WebStripper"
4633
+
4634
+ [WebWhacker*]
4635
+ Parent=Rippers
4636
+ Browser="WebWhacker"
4637
+
4638
+ [WinHttp*]
4639
+ Parent=Rippers
4640
+
4641
+ [WinScripter iNet Tools]
4642
+ Parent=Rippers
4643
+ Browser="WinScripter iNet Tools"
4644
+
4645
+ [WWW-Mechanize/*]
4646
+ Parent=Rippers
4647
+ Browser="WWW-Mechanize"
4648
+
4649
+ [Zend_Http_Client]
4650
+ Parent=Rippers
4651
+ Browser="Zend_Http_Client"
4652
+
4653
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Site Monitors
4654
+
4655
+ [Site Monitors]
4656
+ Parent=DefaultProperties
4657
+ Browser="Site Monitors"
4658
+ Cookies=true
4659
+ isBanned=true
4660
+ Crawler=true
4661
+
4662
+ [*EasyRider*]
4663
+ Parent=Site Monitors
4664
+ Browser="EasyRider"
4665
+
4666
+ [*maxamine.com--robot*]
4667
+ Parent=Site Monitors
4668
+ Browser="maxamine.com--robot"
4669
+ isBanned=true
4670
+
4671
+ [*WebMon ?.*]
4672
+ Parent=Site Monitors
4673
+ Browser="WebMon"
4674
+
4675
+ [Kenjin Spider*]
4676
+ Parent=Site Monitors
4677
+ Browser="Kenjin Spider"
4678
+
4679
+ [Kevin http://*]
4680
+ Parent=Site Monitors
4681
+ Browser="Kevin"
4682
+ isBanned=true
4683
+
4684
+ [Mozilla/4.0 (compatible; ChangeDetection/*]
4685
+ Parent=Site Monitors
4686
+ Browser="ChangeDetection"
4687
+
4688
+ [Myst Monitor Service v*]
4689
+ Parent=Site Monitors
4690
+ Browser="Myst Monitor Service"
4691
+
4692
+ [Net Probe]
4693
+ Parent=Site Monitors
4694
+ Browser="Net Probe"
4695
+
4696
+ [NetMechanic*]
4697
+ Parent=Site Monitors
4698
+ Browser="NetMechanic"
4699
+
4700
+ [NetReality*]
4701
+ Parent=Site Monitors
4702
+ Browser="NetReality"
4703
+
4704
+ [Pingdom GIGRIB*]
4705
+ Parent=Site Monitors
4706
+ Browser="Pingdom"
4707
+
4708
+ [Site Valet Online*]
4709
+ Parent=Site Monitors
4710
+ Browser="Site Valet"
4711
+ isBanned=true
4712
+
4713
+ [SITECHECKER]
4714
+ Parent=Site Monitors
4715
+ Browser="SITECHECKER"
4716
+
4717
+ [sitemonitor@dnsvr.com/*]
4718
+ Parent=Site Monitors
4719
+ Browser="ZoneEdit Failover Monitor"
4720
+ isBanned=false
4721
+
4722
+ [UpTime Checker*]
4723
+ Parent=Site Monitors
4724
+ Browser="UpTime Checker"
4725
+
4726
+ [URL Control*]
4727
+ Parent=Site Monitors
4728
+ Browser="URL Control"
4729
+
4730
+ [URL_Access/*]
4731
+ Parent=Site Monitors
4732
+
4733
+ [URLCHECK]
4734
+ Parent=Site Monitors
4735
+ Browser="URLCHECK"
4736
+
4737
+ [URLy Warning*]
4738
+ Parent=Site Monitors
4739
+ Browser="URLy Warning"
4740
+
4741
+ [Webcheck *]
4742
+ Parent=Site Monitors
4743
+ Browser="Webcheck"
4744
+ Version=1.0
4745
+ MajorVer=1
4746
+ MinorVer=0
4747
+
4748
+ [WebPatrol/*]
4749
+ Parent=Site Monitors
4750
+ Browser="WebPatrol"
4751
+
4752
+ [websitepulse checker/*]
4753
+ Parent=Site Monitors
4754
+ Browser="websitepulse checker"
4755
+
4756
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Social Bookmarkers
4757
+
4758
+ [Social Bookmarkers]
4759
+ Parent=DefaultProperties
4760
+ Browser="Social Bookmarkers"
4761
+ Frames=true
4762
+ Tables=true
4763
+ Cookies=true
4764
+ JavaScript=true
4765
+
4766
+ [BookmarkBase(2/;http://bookmarkbase.com)]
4767
+ Parent=Social Bookmarkers
4768
+ Browser="BookmarkBase"
4769
+
4770
+ [Cocoal.icio.us/1.0 (v43) (Mac OS X; http://www.scifihifi.com/cocoalicious)]
4771
+ Parent=Social Bookmarkers
4772
+ Browser="Cocoalicious"
4773
+
4774
+ [Mozilla/5.0 (compatible; FriendFeedBot/0.*; Http://friendfeed.com/about/bot)]
4775
+ Parent=Social Bookmarkers
4776
+ Browser="FriendFeedBot"
4777
+
4778
+ [Twitturly*]
4779
+ Parent=Social Bookmarkers
4780
+ Browser="Twitturly"
4781
+
4782
+ [WinkBot/*]
4783
+ Parent=Social Bookmarkers
4784
+ Browser="WinkBot"
4785
+
4786
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Translators
4787
+
4788
+ [Translators]
4789
+ Parent=DefaultProperties
4790
+ Browser="Translators"
4791
+ Frames=true
4792
+ Tables=true
4793
+ Cookies=true
4794
+
4795
+ [Seram Server]
4796
+ Parent=Translators
4797
+ Browser="Seram Server"
4798
+
4799
+ [TeragramWebcrawler/*]
4800
+ Parent=Translators
4801
+ Browser="TeragramWebcrawler"
4802
+ Version=1.0
4803
+ MajorVer=1
4804
+ MinorVer=0
4805
+
4806
+ [WebIndexer/* (Web Indexer; *)]
4807
+ Parent=Translators
4808
+ Browser="WorldLingo"
4809
+
4810
+ [WebTrans]
4811
+ Parent=Translators
4812
+ Browser="WebTrans"
4813
+
4814
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Version Checkers
4815
+
4816
+ [Version Checkers]
4817
+ Parent=DefaultProperties
4818
+ Browser="Version Checkers"
4819
+ Crawler=true
4820
+
4821
+ [Automated Browscap.ini Updater. To report issues contact us at http://www.skycomp.ca]
4822
+ Parent=Version Checkers
4823
+ Browser="Automated Browscap.ini Updater"
4824
+
4825
+ [BMC Link Validator (http://www.briansmodelcars.com/links/)]
4826
+ Parent=Version Checkers
4827
+ Browser="BMC Link Validator"
4828
+ MajorVer=1
4829
+ MinorVer=0
4830
+ Platform=Win2000
4831
+
4832
+ [Browscap updater]
4833
+ Parent=Version Checkers
4834
+ Browser="Browscap updater"
4835
+
4836
+ [BrowscapUpdater1.0]
4837
+ Parent=Version Checkers
4838
+
4839
+ [Browser Capabilities Project (http://browsers.garykeith.com; http://browsers.garykeith.com/sitemail/contact-me.asp)]
4840
+ Parent=Version Checkers
4841
+ Browser="Gary Keith's Version Checker"
4842
+
4843
+ [Browser Capabilities Project AutoDownloader; created by Tom Kelleher Consulting, Inc. (tkelleher.com); used with special permission from Gary Joel Keith; uses Microsoft's WinHTTP component]
4844
+ Parent=Version Checkers
4845
+ Browser="TKC AutoDownloader"
4846
+
4847
+ [browsers.garykeith.com browscap.ini bot BETA]
4848
+ Parent=Version Checkers
4849
+
4850
+ [Code Sample Web Client]
4851
+ Parent=Version Checkers
4852
+ Browser="Code Sample Web Client"
4853
+
4854
+ [Desktop Sidebar*]
4855
+ Parent=Version Checkers
4856
+ Browser="Desktop Sidebar"
4857
+ isBanned=true
4858
+
4859
+ [Mono Browser Capabilities Updater*]
4860
+ Parent=Version Checkers
4861
+ Browser="Mono Browser Capabilities Updater"
4862
+ isBanned=true
4863
+
4864
+ [Rewmi/*]
4865
+ Parent=Version Checkers
4866
+ isBanned=true
4867
+
4868
+ [Subtext Version 1.9* - http://subtextproject.com/ (Microsoft Windows NT 5.2.*)]
4869
+ Parent=Version Checkers
4870
+ Browser="Subtext"
4871
+
4872
+ [TherapeuticResearch]
4873
+ Parent=Version Checkers
4874
+ Browser="TherapeuticResearch"
4875
+
4876
+ [UpdateBrowscap*]
4877
+ Parent=Version Checkers
4878
+ Browser="UpdateBrowscap"
4879
+
4880
+ [www.garykeith.com browscap.ini bot*]
4881
+ Parent=Version Checkers
4882
+ Browser="clarkson.edu "
4883
+
4884
+ [www.substancia.com AutoHTTPAgent (ver *)]
4885
+ Parent=Version Checkers
4886
+ Browser="Subst�ncia"
4887
+
4888
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Become
4889
+
4890
+ [Become]
4891
+ Parent=DefaultProperties
4892
+ Browser="Become"
4893
+ Frames=true
4894
+ Tables=true
4895
+ isSyndicationReader=true
4896
+ Crawler=true
4897
+
4898
+ [*BecomeBot/*]
4899
+ Parent=Become
4900
+ Browser="BecomeBot"
4901
+
4902
+ [*BecomeBot@exava.com*]
4903
+ Parent=Become
4904
+ Browser="BecomeBot"
4905
+
4906
+ [*Exabot@exava.com*]
4907
+ Parent=Become
4908
+ Browser="Exabot"
4909
+
4910
+ [MonkeyCrawl/*]
4911
+ Parent=Become
4912
+ Browser="MonkeyCrawl"
4913
+
4914
+ [Mozilla/5.0 (compatible; BecomeJPBot/2.3; *)]
4915
+ Parent=Become
4916
+ Browser="BecomeJPBot"
4917
+
4918
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Blue Coat Systems
4919
+
4920
+ [Blue Coat Systems]
4921
+ Parent=DefaultProperties
4922
+ Browser="Blue Coat Systems"
4923
+ isBanned=true
4924
+ Crawler=true
4925
+
4926
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Browscap Abusers
4927
+
4928
+ [Browscap Abusers]
4929
+ Parent=DefaultProperties
4930
+ Browser="Browscap Abusers"
4931
+ isBanned=true
4932
+
4933
+ [Apple-PubSub/*]
4934
+ Parent=Browscap Abusers
4935
+ Browser="Apple-PubSub"
4936
+
4937
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; FeedHub
4938
+
4939
+ [FeedHub]
4940
+ Parent=DefaultProperties
4941
+ Browser="FeedHub"
4942
+ isSyndicationReader=true
4943
+
4944
+ [FeedHub FeedDiscovery/1.0 (http://www.feedhub.com)]
4945
+ Parent=FeedHub
4946
+ Browser="FeedHub FeedDiscovery"
4947
+ Version=1.0
4948
+ MajorVer=1
4949
+ MinorVer=0
4950
+
4951
+ [FeedHub FeedFetcher/1.0 (http://www.feedhub.com)]
4952
+ Parent=FeedHub
4953
+ Browser="FeedHub FeedFetcher"
4954
+ Version=1.0
4955
+ MajorVer=1
4956
+ MinorVer=0
4957
+
4958
+ [FeedHub MetaDataFetcher/1.0 (http://www.feedhub.com)]
4959
+ Parent=FeedHub
4960
+ Browser="FeedHub MetaDataFetcher"
4961
+ Version=1.0
4962
+ MajorVer=1
4963
+ MinorVer=0
4964
+
4965
+ [Internet Content Rating Association]
4966
+ Parent=DefaultProperties
4967
+ Browser=""
4968
+ Frames=true
4969
+ IFrames=true
4970
+ Tables=true
4971
+ Cookies=true
4972
+ Crawler=true
4973
+
4974
+ [ICRA_label_generator/1.?]
4975
+ Parent=Internet Content Rating Association
4976
+ Browser="ICRA_label_generator"
4977
+
4978
+ [ICRA_Semantic_spider/0.?]
4979
+ Parent=Internet Content Rating Association
4980
+ Browser="ICRA_Semantic_spider"
4981
+
4982
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; NameProtect
4983
+
4984
+ [NameProtect]
4985
+ Parent=DefaultProperties
4986
+ Browser="NameProtect"
4987
+ isBanned=true
4988
+ Crawler=true
4989
+
4990
+ [abot/*]
4991
+ Parent=NameProtect
4992
+ Browser="NameProtect"
4993
+
4994
+ [NP/*]
4995
+ Parent=NameProtect
4996
+ Browser="NameProtect"
4997
+
4998
+ [NPBot*]
4999
+ Parent=NameProtect
5000
+ Browser="NameProtect"
5001
+
5002
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Netcraft
5003
+
5004
+ [Netcraft]
5005
+ Parent=DefaultProperties
5006
+ Browser="Netcraft"
5007
+ isBanned=true
5008
+ Crawler=true
5009
+
5010
+ [*Netcraft Web Server Survey*]
5011
+ Parent=Netcraft
5012
+ Browser="Netcraft Webserver Survey"
5013
+ isBanned=true
5014
+
5015
+ [Mozilla/5.0 (compatible; NetcraftSurveyAgent/1.0; info@netcraft.com)]
5016
+ Parent=Netcraft
5017
+ Browser="NetcraftSurveyAgent"
5018
+
5019
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; NewsGator
5020
+
5021
+ [NewsGator]
5022
+ Parent=DefaultProperties
5023
+ Browser="NewsGator"
5024
+ isSyndicationReader=true
5025
+
5026
+ [MarsEdit*]
5027
+ Parent=NewsGator
5028
+ Browser="MarsEdit"
5029
+
5030
+ [NetNewsWire*/*]
5031
+ Parent=NewsGator
5032
+ Browser="NetNewsWire"
5033
+ Platform=MacOSX
5034
+
5035
+ [NewsFire/*]
5036
+ Parent=NewsGator
5037
+ Browser="NewsFire"
5038
+
5039
+ [NewsGator FetchLinks extension/*]
5040
+ Parent=NewsGator
5041
+ Browser="NewsGator FetchLinks"
5042
+
5043
+ [NewsGator/*]
5044
+ Parent=NewsGator
5045
+ Browser="NewsGator"
5046
+ isBanned=true
5047
+
5048
+ [NewsGatorOnline/*]
5049
+ Parent=NewsGator
5050
+ Browser="NewsGatorOnline"
5051
+
5052
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chrome 0.2
5053
+
5054
+ [Chrome 0.2]
5055
+ Parent=DefaultProperties
5056
+ Browser="Chrome"
5057
+ Version=0.2
5058
+ MinorVer=2
5059
+ Beta=true
5060
+ Win32=true
5061
+ Frames=true
5062
+ IFrames=true
5063
+ Tables=true
5064
+ Cookies=true
5065
+ JavaApplets=true
5066
+ JavaScript=true
5067
+ CssVersion=3
5068
+ supportsCSS=true
5069
+
5070
+ [Mozilla/5.0 (Windows; U; Windows NT 5.1; *) AppleWebKit/* (KHTML, like Gecko) Chrome/0.2.* Safari/*]
5071
+ Parent=Chrome 0.2
5072
+ Platform=WinXP
5073
+
5074
+ [Mozilla/5.0 (Windows; U; Windows NT 5.2; *) AppleWebKit/* (KHTML, like Gecko) Chrome/0.2.* Safari/*]
5075
+ Parent=Chrome 0.2
5076
+ Platform=Win2003
5077
+
5078
+ [Mozilla/5.0 (Windows; U; Windows NT 6.0; *) AppleWebKit/* (KHTML, like Gecko) Chrome/0.2.* Safari/*]
5079
+ Parent=Chrome 0.2
5080
+ Platform=WinVista
5081
+
5082
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chrome 0.3
5083
+
5084
+ [Chrome 0.3]
5085
+ Parent=DefaultProperties
5086
+ Browser="Chrome"
5087
+ Version=0.3
5088
+ MinorVer=3
5089
+ Beta=true
5090
+ Win32=true
5091
+ Frames=true
5092
+ IFrames=true
5093
+ Tables=true
5094
+ Cookies=true
5095
+ JavaApplets=true
5096
+ JavaScript=true
5097
+ CssVersion=3
5098
+ supportsCSS=true
5099
+
5100
+ [Mozilla/5.0 (Windows; U; Windows NT 5.1; *) AppleWebKit/* (KHTML, like Gecko) Chrome/0.3.* Safari/*]
5101
+ Parent=Chrome 0.3
5102
+ Platform=WinXP
5103
+
5104
+ [Mozilla/5.0 (Windows; U; Windows NT 5.2; *) AppleWebKit/* (KHTML, like Gecko) Chrome/0.3.* Safari/*]
5105
+ Parent=Chrome 0.3
5106
+ Platform=Win2003
5107
+
5108
+ [Mozilla/5.0 (Windows; U; Windows NT 6.0; *) AppleWebKit/* (KHTML, like Gecko) Chrome/0.3.* Safari/*]
5109
+ Parent=Chrome 0.3
5110
+ Platform=WinVista
5111
+
5112
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chrome 0.4
5113
+
5114
+ [Chrome 0.4]
5115
+ Parent=DefaultProperties
5116
+ Browser="Chrome"
5117
+ Version=0.4
5118
+ MinorVer=4
5119
+ Win32=true
5120
+ Frames=true
5121
+ IFrames=true
5122
+ Tables=true
5123
+ Cookies=true
5124
+ JavaApplets=true
5125
+ JavaScript=true
5126
+ CssVersion=3
5127
+ supportsCSS=true
5128
+
5129
+ [Mozilla/5.0 (Windows; U; Windows NT 5.1; *) AppleWebKit/* (KHTML, like Gecko) Chrome/0.4.* Safari/*]
5130
+ Parent=Chrome 0.4
5131
+ Platform=WinXP
5132
+
5133
+ [Mozilla/5.0 (Windows; U; Windows NT 5.2; *) AppleWebKit/* (KHTML, like Gecko) Chrome/0.4.* Safari/*]
5134
+ Parent=Chrome 0.4
5135
+ Platform=Win2003
5136
+
5137
+ [Mozilla/5.0 (Windows; U; Windows NT 6.0; *) AppleWebKit/* (KHTML, like Gecko) Chrome/0.4.* Safari/*]
5138
+ Parent=Chrome 0.4
5139
+ Platform=WinVista
5140
+
5141
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chrome 0.5
5142
+
5143
+ [Chrome 0.5]
5144
+ Parent=DefaultProperties
5145
+ Browser="Chrome"
5146
+ Version=0.5
5147
+ MinorVer=5
5148
+ Beta=true
5149
+ Win32=true
5150
+ Frames=true
5151
+ IFrames=true
5152
+ Tables=true
5153
+ Cookies=true
5154
+ JavaApplets=true
5155
+ JavaScript=true
5156
+ CssVersion=3
5157
+ supportsCSS=true
5158
+
5159
+ [Mozilla/5.0 (Windows; U; Windows NT 5.1; *) AppleWebKit/* (KHTML, like Gecko) Chrome/0.5.* Safari/*]
5160
+ Parent=Chrome 0.5
5161
+ Platform=WinXP
5162
+
5163
+ [Mozilla/5.0 (Windows; U; Windows NT 5.2; *) AppleWebKit/* (KHTML, like Gecko) Chrome/0.5.* Safari/*]
5164
+ Parent=Chrome 0.5
5165
+ Platform=Win2003
5166
+
5167
+ [Mozilla/5.0 (Windows; U; Windows NT 6.0; *) AppleWebKit/* (KHTML, like Gecko) Chrome/0.5.* Safari/*]
5168
+ Parent=Chrome 0.5
5169
+ Platform=WinVista
5170
+
5171
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chrome 1.0
5172
+
5173
+ [Chrome 1.0]
5174
+ Parent=DefaultProperties
5175
+ Browser="Chrome"
5176
+ Version=1.0
5177
+ MajorVer=1
5178
+ Win32=true
5179
+ Frames=true
5180
+ IFrames=true
5181
+ Tables=true
5182
+ Cookies=true
5183
+ JavaApplets=true
5184
+ JavaScript=true
5185
+ CssVersion=3
5186
+ supportsCSS=true
5187
+
5188
+ [Mozilla/5.0 (Windows; U; Windows NT 5.1; *) AppleWebKit/* (KHTML, like Gecko) Chrome/1.0.* Safari/*]
5189
+ Parent=Chrome 1.0
5190
+ Platform=WinXP
5191
+
5192
+ [Mozilla/5.0 (Windows; U; Windows NT 5.2; *) AppleWebKit/* (KHTML, like Gecko) Chrome/1.0.* Safari/*]
5193
+ Parent=Chrome 1.0
5194
+ Platform=Win2003
5195
+
5196
+ [Mozilla/5.0 (Windows; U; Windows NT 6.0; *) AppleWebKit/* (KHTML, like Gecko) Chrome/1.0.* Safari/*]
5197
+ Parent=Chrome 1.0
5198
+ Platform=WinVista
5199
+
5200
+ [Mozilla/5.0 (Windows; U; Windows NT 6.1; *) AppleWebKit/* (KHTML, like Gecko) Chrome/1.0.* Safari/*]
5201
+ Parent=Chrome 1.0
5202
+ Platform=Win7
5203
+
5204
+ [Mozilla/5.0 (Windows; U; Windows NT 7.0; *) AppleWebKit/* (KHTML, like Gecko) Chrome/1.0.* Safari/*]
5205
+ Parent=Chrome 1.0
5206
+ Platform=Win7
5207
+
5208
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chrome 2.0
5209
+
5210
+ [Chrome 2.0]
5211
+ Parent=DefaultProperties
5212
+ Browser="Chrome"
5213
+ Version=2.0
5214
+ MajorVer=2
5215
+ Win32=true
5216
+ Frames=true
5217
+ IFrames=true
5218
+ Tables=true
5219
+ Cookies=true
5220
+ JavaApplets=true
5221
+ JavaScript=true
5222
+ CssVersion=3
5223
+ supportsCSS=true
5224
+
5225
+ [Mozilla/5.0 (Windows; U; Windows NT 5.1; *) AppleWebKit/* (KHTML, like Gecko) Chrome/2.0.* Safari/*]
5226
+ Parent=Chrome 2.0
5227
+ Platform=WinXP
5228
+
5229
+ [Mozilla/5.0 (Windows; U; Windows NT 5.2; *) AppleWebKit/* (KHTML, like Gecko) Chrome/2.0.* Safari/*]
5230
+ Parent=Chrome 2.0
5231
+ Platform=Win2003
5232
+
5233
+ [Mozilla/5.0 (Windows; U; Windows NT 6.0; *) AppleWebKit/* (KHTML, like Gecko) Chrome/2.0.* Safari/*]
5234
+ Parent=Chrome 2.0
5235
+ Platform=WinVista
5236
+
5237
+ [Mozilla/5.0 (Windows; U; Windows NT 6.1; *) AppleWebKit/* (KHTML, like Gecko) Chrome/2.0.* Safari/*]
5238
+ Parent=Chrome 2.0
5239
+ Platform=Win7
5240
+
5241
+ [Mozilla/5.0 (Windows; U; Windows NT 7.0; *) AppleWebKit/* (KHTML, like Gecko) Chrome/2.0.* Safari/*]
5242
+ Parent=Chrome 2.0
5243
+ Platform=Win7
5244
+
5245
+ [Mozilla/5.0 (X11; U; Linux i686; *) AppleWebKit/* (KHTML, like Gecko) Chrome/3.0.* Safari/*]
5246
+ Parent=Chrome 2.0
5247
+ Platform=Linux
5248
+
5249
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chrome 3.0
5250
+
5251
+ [Chrome 3.0]
5252
+ Parent=DefaultProperties
5253
+ Browser="Chrome"
5254
+ Version=3.0
5255
+ MajorVer=3
5256
+ Win32=true
5257
+ Frames=true
5258
+ IFrames=true
5259
+ Tables=true
5260
+ Cookies=true
5261
+ JavaApplets=true
5262
+ JavaScript=true
5263
+ CssVersion=3
5264
+ supportsCSS=true
5265
+
5266
+ [Mozilla/5.0 (Windows; U; Windows NT 5.1; *) AppleWebKit/* (KHTML, like Gecko) Chrome/3.0.* Safari/*]
5267
+ Parent=Chrome 3.0
5268
+ Platform=WinXP
5269
+
5270
+ [Mozilla/5.0 (Windows; U; Windows NT 5.2; *) AppleWebKit/* (KHTML, like Gecko) Chrome/3.0.* Safari/*]
5271
+ Parent=Chrome 3.0
5272
+ Platform=Win2003
5273
+
5274
+ [Mozilla/5.0 (Windows; U; Windows NT 6.0; *) AppleWebKit/* (KHTML, like Gecko) Chrome/3.0.* Safari/*]
5275
+ Parent=Chrome 3.0
5276
+ Platform=WinVista
5277
+
5278
+ [Mozilla/5.0 (Windows; U; Windows NT 6.1; *) AppleWebKit/* (KHTML, like Gecko) Chrome/3.0.* Safari/*]
5279
+ Parent=Chrome 3.0
5280
+ Platform=Win7
5281
+
5282
+ [Mozilla/5.0 (Windows; U; Windows NT 7.0; *) AppleWebKit/* (KHTML, like Gecko) Chrome/3.0.* Safari/*]
5283
+ Parent=Chrome 3.0
5284
+ Platform=Win7
5285
+
5286
+ [Mozilla/5.0 (X11; U; Linux i686; *) AppleWebKit/* (KHTML, like Gecko) Chrome/3.0.* Safari/*]
5287
+ Parent=Chrome 3.0
5288
+ Platform=Linux
5289
+
5290
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Google Code
5291
+
5292
+ [Google Code]
5293
+ Parent=DefaultProperties
5294
+ Browser="Google Code"
5295
+ Tables=true
5296
+ Cookies=true
5297
+ JavaApplets=true
5298
+
5299
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Iron 0.2
5300
+
5301
+ [Iron 0.2]
5302
+ Parent=DefaultProperties
5303
+ Browser="Iron"
5304
+ Version=0.2
5305
+ MinorVer=2
5306
+ Win32=true
5307
+ Frames=true
5308
+ IFrames=true
5309
+ Tables=true
5310
+ Cookies=true
5311
+ JavaApplets=true
5312
+ JavaScript=true
5313
+ CssVersion=3
5314
+ supportsCSS=true
5315
+
5316
+ [Mozilla/5.0 (Windows; U; Windows NT 5.1; *) AppleWebKit/* (KHTML, like Gecko) Iron/0.2.* Safari/*]
5317
+ Parent=Iron 0.2
5318
+ Platform=WinXP
5319
+
5320
+ [Mozilla/5.0 (Windows; U; Windows NT 5.2; *) AppleWebKit/* (KHTML, like Gecko) Iron/0.2.* Safari/*]
5321
+ Parent=Iron 0.2
5322
+ Platform=Win2003
5323
+
5324
+ [Mozilla/5.0 (Windows; U; Windows NT 6.0; *) AppleWebKit/* (KHTML, like Gecko) Iron/0.2.* Safari/*]
5325
+ Parent=Iron 0.2
5326
+ Platform=WinVista
5327
+
5328
+ [Mozilla/5.0 (Windows; U; Windows NT 6.1; *) AppleWebKit/* (KHTML, like Gecko) Iron/0.2.* Safari/*]
5329
+ Parent=Iron 0.2
5330
+ Platform=Win7
5331
+
5332
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Iron 0.3
5333
+
5334
+ [Iron 0.3]
5335
+ Parent=DefaultProperties
5336
+ Browser="Iron"
5337
+ Version=0.3
5338
+ MinorVer=3
5339
+ Win32=true
5340
+ Frames=true
5341
+ IFrames=true
5342
+ Tables=true
5343
+ Cookies=true
5344
+ JavaApplets=true
5345
+ JavaScript=true
5346
+ CssVersion=3
5347
+ supportsCSS=true
5348
+
5349
+ [Mozilla/5.0 (Windows; U; Windows NT 5.1; *) AppleWebKit/* (KHTML, like Gecko) Iron/0.3.* Safari/*]
5350
+ Parent=Iron 0.3
5351
+ Platform=WinXP
5352
+
5353
+ [Mozilla/5.0 (Windows; U; Windows NT 5.2; *) AppleWebKit/* (KHTML, like Gecko) Iron/0.3.* Safari/*]
5354
+ Parent=Iron 0.3
5355
+ Platform=Win2003
5356
+
5357
+ [Mozilla/5.0 (Windows; U; Windows NT 6.0; *) AppleWebKit/* (KHTML, like Gecko) Iron/0.3.* Safari/*]
5358
+ Parent=Iron 0.3
5359
+ Platform=WinVista
5360
+
5361
+ [Mozilla/5.0 (Windows; U; Windows NT 6.1; *) AppleWebKit/* (KHTML, like Gecko) Iron/0.3.* Safari/*]
5362
+ Parent=Iron 0.3
5363
+ Platform=Win7
5364
+
5365
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Iron 0.4
5366
+
5367
+ [Iron 0.4]
5368
+ Parent=DefaultProperties
5369
+ Browser="Iron"
5370
+ Version=0.4
5371
+ MinorVer=4
5372
+ Win32=true
5373
+ Frames=true
5374
+ IFrames=true
5375
+ Tables=true
5376
+ Cookies=true
5377
+ JavaApplets=true
5378
+ JavaScript=true
5379
+ CssVersion=3
5380
+ supportsCSS=true
5381
+
5382
+ [Mozilla/5.0 (Windows; U; Windows NT 5.1; *) AppleWebKit/* (KHTML, like Gecko) Iron/0.4.* Safari/*]
5383
+ Parent=Iron 0.4
5384
+ Platform=WinXP
5385
+
5386
+ [Mozilla/5.0 (Windows; U; Windows NT 5.2; *) AppleWebKit/* (KHTML, like Gecko) Iron/0.4.* Safari/*]
5387
+ Parent=Iron 0.4
5388
+ Platform=Win2003
5389
+
5390
+ [Mozilla/5.0 (Windows; U; Windows NT 6.0; *) AppleWebKit/* (KHTML, like Gecko) Iron/0.4.* Safari/*]
5391
+ Parent=Iron 0.4
5392
+ Platform=WinVista
5393
+
5394
+ [Mozilla/5.0 (Windows; U; Windows NT 6.1; *) AppleWebKit/* (KHTML, like Gecko) Iron/0.4.* Safari/*]
5395
+ Parent=Iron 0.4
5396
+ Platform=Win7
5397
+
5398
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Iron 1.0
5399
+
5400
+ [Iron 1.0]
5401
+ Parent=DefaultProperties
5402
+ Browser="Iron"
5403
+ Version=1.0
5404
+ MajorVer=1
5405
+ Win32=true
5406
+ Frames=true
5407
+ IFrames=true
5408
+ Tables=true
5409
+ Cookies=true
5410
+ JavaApplets=true
5411
+ JavaScript=true
5412
+ CssVersion=3
5413
+ supportsCSS=true
5414
+
5415
+ [Mozilla/5.0 (Windows; U; Windows NT 5.1; *) AppleWebKit/* (KHTML, like Gecko) Iron/1.0.* Safari/*]
5416
+ Parent=Iron 1.0
5417
+ Platform=WinXP
5418
+
5419
+ [Mozilla/5.0 (Windows; U; Windows NT 5.2; *) AppleWebKit/* (KHTML, like Gecko) Iron/1.0.* Safari/*]
5420
+ Parent=Iron 1.0
5421
+ Platform=Win2003
5422
+
5423
+ [Mozilla/5.0 (Windows; U; Windows NT 6.0; *) AppleWebKit/* (KHTML, like Gecko) Iron/1.0.* Safari/*]
5424
+ Parent=Iron 1.0
5425
+ Platform=WinVista
5426
+
5427
+ [Mozilla/5.0 (Windows; U; Windows NT 6.1; *) AppleWebKit/* (KHTML, like Gecko) Iron/1.0.* Safari/*]
5428
+ Parent=Iron 1.0
5429
+ Platform=Win7
5430
+
5431
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Iron 2.0
5432
+
5433
+ [Iron 2.0]
5434
+ Parent=DefaultProperties
5435
+ Browser="Iron"
5436
+ Version=2.0
5437
+ MajorVer=2
5438
+ Win32=true
5439
+ Frames=true
5440
+ IFrames=true
5441
+ Tables=true
5442
+ Cookies=true
5443
+ JavaApplets=true
5444
+ JavaScript=true
5445
+ CssVersion=3
5446
+ supportsCSS=true
5447
+
5448
+ [Mozilla/5.0 (Windows; U; Windows NT 5.1; *) AppleWebKit/* (KHTML, like Gecko) Iron/2.0.* Safari/*]
5449
+ Parent=Iron 2.0
5450
+ Platform=WinXP
5451
+
5452
+ [Mozilla/5.0 (Windows; U; Windows NT 5.2; *) AppleWebKit/* (KHTML, like Gecko) Iron/2.0.* Safari/*]
5453
+ Parent=Iron 2.0
5454
+ Platform=Win2003
5455
+
5456
+ [Mozilla/5.0 (Windows; U; Windows NT 6.0; *) AppleWebKit/* (KHTML, like Gecko) Iron/2.0.* Safari/*]
5457
+ Parent=Iron 2.0
5458
+ Platform=WinVista
5459
+
5460
+ [Mozilla/5.0 (Windows; U; Windows NT 6.1; *) AppleWebKit/* (KHTML, like Gecko) Iron/2.0.* Safari/*]
5461
+ Parent=Iron 2.0
5462
+ Platform=Win7
5463
+
5464
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; iPod
5465
+
5466
+ [iPod]
5467
+ Parent=DefaultProperties
5468
+ Browser="iPod"
5469
+ Platform=iPhone OSX
5470
+ isMobileDevice=true
5471
+
5472
+ [Mozilla/5.0 (iPod; U; *Mac OS X; *) AppleWebKit/* (*) Version/3.0 Mobile/* Safari/*]
5473
+ Parent=iPod
5474
+ Version=3.0
5475
+ MajorVer=3
5476
+ MinorVer=0
5477
+ Platform=MacOSX
5478
+
5479
+ [Mozilla/5.0 (iPod; U; CPU iPhone OS 2_2 like Mac OS X; en-us) AppleWebKit/* (KHTML, like Gecko) Mobile/*]
5480
+ Parent=iPod
5481
+
5482
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; iTunes
5483
+
5484
+ [iTunes]
5485
+ Parent=DefaultProperties
5486
+ Browser="iTunes"
5487
+ Platform=iPhone OSX
5488
+
5489
+ [iTunes/* (Windows; ?)]
5490
+ Parent=iTunes
5491
+ Browser="iTunes"
5492
+ Platform=Win32
5493
+ Win32=true
5494
+
5495
+ [MOT-* iTunes/* MIB/* Profile/MIDP-* Configuration/CLDC-* UP.Link/*]
5496
+ Parent=iTunes
5497
+
5498
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Media Players
5499
+
5500
+ [Media Players]
5501
+ Parent=DefaultProperties
5502
+ Browser="Media Players"
5503
+ Cookies=true
5504
+
5505
+ [Microsoft NetShow(TM) Player with RealVideo(R)]
5506
+ Parent=Media Players
5507
+ Browser="Microsoft NetShow"
5508
+
5509
+ [Mozilla/5.0 (Macintosh; U; PPC Mac OS X; *) AppleWebKit/* RealPlayer]
5510
+ Parent=Media Players
5511
+ Browser="RealPlayer"
5512
+ Platform=MacOSX
5513
+
5514
+ [MPlayer 0.9*]
5515
+ Parent=Media Players
5516
+ Browser="MPlayer"
5517
+ Version=0.9
5518
+ MajorVer=0
5519
+ MinorVer=9
5520
+
5521
+ [MPlayer 1.*]
5522
+ Parent=Media Players
5523
+ Browser="MPlayer"
5524
+ Version=1.0
5525
+ MajorVer=1
5526
+ MinorVer=0
5527
+
5528
+ [MPlayer HEAD CVS]
5529
+ Parent=Media Players
5530
+ Browser="MPlayer"
5531
+
5532
+ [RealPlayer*]
5533
+ Parent=Media Players
5534
+ Browser="RealPlayer"
5535
+
5536
+ [RMA/*]
5537
+ Parent=Media Players
5538
+ Browser="RMA"
5539
+
5540
+ [VLC media player*]
5541
+ Parent=Media Players
5542
+ Browser="VLC"
5543
+
5544
+ [vobsub]
5545
+ Parent=Media Players
5546
+ Browser="vobsub"
5547
+ isBanned=true
5548
+
5549
+ [WinampMPEG/*]
5550
+ Parent=Media Players
5551
+ Browser="WinAmp"
5552
+
5553
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Nintendo
5554
+
5555
+ [Nintendo Wii]
5556
+ Parent=DefaultProperties
5557
+ Browser=""
5558
+ isMobileDevice=true
5559
+
5560
+ [Opera/* (Nintendo DSi; Opera/*; *; *)]
5561
+ Parent=Nintendo Wii
5562
+ Browser="DSi"
5563
+
5564
+ [Opera/* (Nintendo Wii; U; *)]
5565
+ Parent=Nintendo Wii
5566
+ Browser="Wii"
5567
+
5568
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Windows Media Player
5569
+
5570
+ [Windows Media Player]
5571
+ Parent=DefaultProperties
5572
+ Browser="Windows Media Player"
5573
+ Cookies=true
5574
+
5575
+ [NSPlayer/10.*]
5576
+ Parent=Windows Media Player
5577
+ Version=10.0
5578
+ MajorVer=10
5579
+ MinorVer=0
5580
+
5581
+ [NSPlayer/11.*]
5582
+ Parent=Windows Media Player
5583
+ Browser="Windows Media Player"
5584
+ Version=11.0
5585
+ MajorVer=11
5586
+ MinorVer=0
5587
+
5588
+ [NSPlayer/4.*]
5589
+ Parent=Windows Media Player
5590
+ Browser="Windows Media Player"
5591
+ Version=4.0
5592
+ MajorVer=4
5593
+ MinorVer=0
5594
+
5595
+ [NSPlayer/7.*]
5596
+ Parent=Windows Media Player
5597
+ Browser="Windows Media Player"
5598
+ Version=7.0
5599
+ MajorVer=7
5600
+ MinorVer=0
5601
+
5602
+ [NSPlayer/8.*]
5603
+ Parent=Windows Media Player
5604
+ Browser="Windows Media Player"
5605
+ Version=8.0
5606
+ MajorVer=8
5607
+ MinorVer=0
5608
+
5609
+ [NSPlayer/9.*]
5610
+ Parent=Windows Media Player
5611
+ Browser="Windows Media Player"
5612
+ Version=9.0
5613
+ MajorVer=9
5614
+ MinorVer=0
5615
+
5616
+ [Windows-Media-Player/10.*]
5617
+ Parent=Windows Media Player
5618
+ Browser="Windows-Media-Player"
5619
+ Version=10.0
5620
+ MajorVer=10
5621
+ MinorVer=0
5622
+ Win32=true
5623
+
5624
+ [Windows-Media-Player/11.*]
5625
+ Parent=Windows Media Player
5626
+ Version=11.0
5627
+ MajorVer=11
5628
+ MinorVer=0
5629
+ Win32=true
5630
+
5631
+ [Windows-Media-Player/7.*]
5632
+ Parent=Windows Media Player
5633
+ Browser="Windows Media Player"
5634
+ Version=7.0
5635
+ MajorVer=7
5636
+ MinorVer=0
5637
+ Win32=true
5638
+
5639
+ [Windows-Media-Player/8.*]
5640
+ Parent=Windows Media Player
5641
+ Browser="Windows Media Player"
5642
+ Version=8.0
5643
+ MajorVer=8
5644
+ MinorVer=0
5645
+ Win32=true
5646
+
5647
+ [Windows-Media-Player/9.*]
5648
+ Parent=Windows Media Player
5649
+ Version=9.0
5650
+ MajorVer=9
5651
+ MinorVer=0
5652
+ Win32=true
5653
+
5654
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Zune
5655
+
5656
+ [Zune]
5657
+ Parent=DefaultProperties
5658
+ Browser="Zune"
5659
+ Cookies=true
5660
+
5661
+ [Mozilla/4.0 (compatible; MSIE ?.0; *Zune 2.0*)*]
5662
+ Parent=Zune
5663
+ Version=2.0
5664
+ MajorVer=2
5665
+ MinorVer=0
5666
+
5667
+ [Mozilla/4.0 (compatible; MSIE ?.0; *Zune 2.5*)*]
5668
+ Parent=Zune
5669
+ Version=2.5
5670
+ MajorVer=2
5671
+ MinorVer=5
5672
+
5673
+ [Mozilla/4.0 (compatible; MSIE ?.0; *Zune 3.0*)*]
5674
+ Parent=Zune
5675
+ Version=3.0
5676
+ MajorVer=3
5677
+ MinorVer=0
5678
+
5679
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; QuickTime 7.0
5680
+
5681
+ [QuickTime 7.0]
5682
+ Parent=DefaultProperties
5683
+ Browser="QuickTime"
5684
+ Version=7.0
5685
+ MajorVer=7
5686
+ Cookies=true
5687
+
5688
+ [QuickTime (qtver=7.0*;cpu=PPC;os=Mac 10.*)]
5689
+ Parent=QuickTime 7.0
5690
+ Platform=MacOSX
5691
+
5692
+ [QuickTime (qtver=7.0*;cpu=PPC;os=Mac 9.*)]
5693
+ Parent=QuickTime 7.0
5694
+ Platform=MacPPC
5695
+
5696
+ [QuickTime (qtver=7.0*;os=Windows 95*)]
5697
+ Parent=QuickTime 7.0
5698
+ Platform=Win95
5699
+ Win32=true
5700
+
5701
+ [QuickTime (qtver=7.0*;os=Windows 98*)]
5702
+ Parent=QuickTime 7.0
5703
+ Platform=Win98
5704
+ Win32=true
5705
+
5706
+ [QuickTime (qtver=7.0*;os=Windows Me*)]
5707
+ Parent=QuickTime 7.0
5708
+ Platform=WinME
5709
+ Win32=true
5710
+
5711
+ [QuickTime (qtver=7.0*;os=Windows NT 4.0*)]
5712
+ Parent=QuickTime 7.0
5713
+ Platform=WinNT
5714
+ Win32=true
5715
+
5716
+ [QuickTime (qtver=7.0*;os=Windows NT 5.0*)]
5717
+ Parent=QuickTime 7.0
5718
+ Platform=Win2000
5719
+ Win32=true
5720
+
5721
+ [QuickTime (qtver=7.0*;os=Windows NT 5.1*)]
5722
+ Parent=QuickTime 7.0
5723
+ Platform=WinXP
5724
+ Win32=true
5725
+
5726
+ [QuickTime (qtver=7.0*;os=Windows NT 5.2*)]
5727
+ Parent=QuickTime 7.0
5728
+ Platform=Win2003
5729
+ Win32=true
5730
+
5731
+ [QuickTime/7.0.* (qtver=7.0.*;*;os=Mac 10.*)*]
5732
+ Parent=QuickTime 7.0
5733
+ Platform=MacOSX
5734
+
5735
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; QuickTime 7.1
5736
+
5737
+ [QuickTime 7.1]
5738
+ Parent=DefaultProperties
5739
+ Browser="QuickTime"
5740
+ Version=7.1
5741
+ MajorVer=7
5742
+ MinorVer=1
5743
+ Cookies=true
5744
+
5745
+ [QuickTime (qtver=7.1*;cpu=PPC;os=Mac 10.*)]
5746
+ Parent=QuickTime 7.1
5747
+ Platform=MacOSX
5748
+
5749
+ [QuickTime (qtver=7.1*;cpu=PPC;os=Mac 9.*)]
5750
+ Parent=QuickTime 7.1
5751
+ Platform=MacPPC
5752
+
5753
+ [QuickTime (qtver=7.1*;os=Windows 98*)]
5754
+ Parent=QuickTime 7.1
5755
+ Platform=Win98
5756
+ Win32=true
5757
+
5758
+ [QuickTime (qtver=7.1*;os=Windows NT 4.0*)]
5759
+ Parent=QuickTime 7.1
5760
+ Platform=WinNT
5761
+ Win32=true
5762
+
5763
+ [QuickTime (qtver=7.1*;os=Windows NT 5.0*)]
5764
+ Parent=QuickTime 7.1
5765
+ Platform=Win2000
5766
+ Win32=true
5767
+
5768
+ [QuickTime (qtver=7.1*;os=Windows NT 5.1*)]
5769
+ Parent=QuickTime 7.1
5770
+ Platform=WinXP
5771
+ Win32=true
5772
+
5773
+ [QuickTime (qtver=7.1*;os=Windows NT 5.2*)]
5774
+ Parent=QuickTime 7.1
5775
+ Platform=Win2003
5776
+ Win32=true
5777
+
5778
+ [QuickTime/7.1.* (qtver=7.1.*;*;os=Mac 10.*)*]
5779
+ Parent=QuickTime 7.1
5780
+ Platform=MacOSX
5781
+
5782
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; QuickTime 7.2
5783
+
5784
+ [QuickTime 7.2]
5785
+ Parent=DefaultProperties
5786
+ Browser="QuickTime"
5787
+ Version=7.2
5788
+ MajorVer=7
5789
+ MinorVer=2
5790
+ Platform=MacOSX
5791
+ Cookies=true
5792
+
5793
+ [QuickTime (qtver=7.2*;cpu=PPC;os=Mac 10.*)]
5794
+ Parent=QuickTime 7.2
5795
+ Platform=MacOSX
5796
+
5797
+ [QuickTime (qtver=7.2*;cpu=PPC;os=Mac 9.*)]
5798
+ Parent=QuickTime 7.2
5799
+ Platform=MacPPC
5800
+
5801
+ [QuickTime (qtver=7.2*;os=Windows 98*)]
5802
+ Parent=QuickTime 7.2
5803
+ Platform=Win98
5804
+ Win32=true
5805
+
5806
+ [QuickTime (qtver=7.2*;os=Windows NT 4.0*)]
5807
+ Parent=QuickTime 7.2
5808
+ Platform=WinNT
5809
+ Win32=true
5810
+
5811
+ [QuickTime (qtver=7.2*;os=Windows NT 5.0*)]
5812
+ Parent=QuickTime 7.2
5813
+ Platform=Win2000
5814
+ Win32=true
5815
+
5816
+ [QuickTime (qtver=7.2*;os=Windows NT 5.1*)]
5817
+ Parent=QuickTime 7.2
5818
+ Platform=WinXP
5819
+ Win32=true
5820
+
5821
+ [QuickTime (qtver=7.2*;os=Windows NT 5.2*)]
5822
+ Parent=QuickTime 7.2
5823
+ Platform=Win2003
5824
+ Win32=true
5825
+
5826
+ [QuickTime/7.2.* (qtver=7.2.*;*;os=Mac 10.*)*]
5827
+ Parent=QuickTime 7.2
5828
+ Platform=MacOSX
5829
+
5830
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; QuickTime 7.3
5831
+
5832
+ [QuickTime 7.3]
5833
+ Parent=DefaultProperties
5834
+ Browser="QuickTime"
5835
+ Version=7.3
5836
+ MajorVer=7
5837
+ MinorVer=3
5838
+ Platform=MacOSX
5839
+ Cookies=true
5840
+
5841
+ [QuickTime (qtver=7.3*;cpu=PPC;os=Mac 10.*)]
5842
+ Parent=QuickTime 7.3
5843
+ Platform=MacOSX
5844
+
5845
+ [QuickTime (qtver=7.3*;cpu=PPC;os=Mac 9.*)]
5846
+ Parent=QuickTime 7.3
5847
+ Platform=MacPPC
5848
+
5849
+ [QuickTime (qtver=7.3*;os=Windows 98*)]
5850
+ Parent=QuickTime 7.3
5851
+ Platform=Win98
5852
+ Win32=true
5853
+
5854
+ [QuickTime (qtver=7.3*;os=Windows NT 4.0*)]
5855
+ Parent=QuickTime 7.3
5856
+ Platform=WinNT
5857
+ Win32=true
5858
+
5859
+ [QuickTime (qtver=7.3*;os=Windows NT 5.0*)]
5860
+ Parent=QuickTime 7.3
5861
+ Platform=Win2000
5862
+ Win32=true
5863
+
5864
+ [QuickTime (qtver=7.3*;os=Windows NT 5.1*)]
5865
+ Parent=QuickTime 7.3
5866
+ Platform=WinXP
5867
+ Win32=true
5868
+
5869
+ [QuickTime (qtver=7.3*;os=Windows NT 5.2*)]
5870
+ Parent=QuickTime 7.3
5871
+ Platform=Win2003
5872
+ Win32=true
5873
+
5874
+ [QuickTime/7.3.* (qtver=7.3.*;*;os=Mac 10.*)*]
5875
+ Parent=QuickTime 7.3
5876
+ Platform=MacOSX
5877
+
5878
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; QuickTime 7.4
5879
+
5880
+ [QuickTime 7.4]
5881
+ Parent=DefaultProperties
5882
+ Browser="QuickTime"
5883
+ Version=7.4
5884
+ MajorVer=7
5885
+ MinorVer=4
5886
+ Platform=MacOSX
5887
+ Cookies=true
5888
+
5889
+ [QuickTime (qtver=7.4*;cpu=PPC;os=Mac 10.*)]
5890
+ Parent=QuickTime 7.4
5891
+ Platform=MacOSX
5892
+
5893
+ [QuickTime (qtver=7.4*;cpu=PPC;os=Mac 9.*)]
5894
+ Parent=QuickTime 7.4
5895
+ Platform=MacPPC
5896
+
5897
+ [QuickTime (qtver=7.4*;os=Windows 98*)]
5898
+ Parent=QuickTime 7.4
5899
+ Platform=Win98
5900
+ Win32=true
5901
+
5902
+ [QuickTime (qtver=7.4*;os=Windows NT 4.0*)]
5903
+ Parent=QuickTime 7.4
5904
+ Platform=WinNT
5905
+ Win32=true
5906
+
5907
+ [QuickTime (qtver=7.4*;os=Windows NT 5.0*)]
5908
+ Parent=QuickTime 7.4
5909
+ Platform=Win2000
5910
+ Win32=true
5911
+
5912
+ [QuickTime (qtver=7.4*;os=Windows NT 5.1*)]
5913
+ Parent=QuickTime 7.4
5914
+ Platform=WinXP
5915
+ Win32=true
5916
+
5917
+ [QuickTime (qtver=7.4*;os=Windows NT 5.2*)]
5918
+ Parent=QuickTime 7.4
5919
+ Platform=Win2003
5920
+ Win32=true
5921
+
5922
+ [QuickTime/7.4.* (qtver=7.4.*;*;os=Mac 10.*)*]
5923
+ Parent=QuickTime 7.4
5924
+ Platform=MacOSX
5925
+
5926
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Google Android
5927
+
5928
+ [Android]
5929
+ Parent=DefaultProperties
5930
+ Browser="Android"
5931
+ Platform=Android
5932
+ Frames=true
5933
+ Tables=true
5934
+ Cookies=true
5935
+ JavaScript=true
5936
+ isMobileDevice=true
5937
+
5938
+ [Mozilla/5.0 (Linux; U; Android *; *) AppleWebKit/* (KHTML, like Gecko) Safari/*]
5939
+ Parent=Android
5940
+ Browser="Android"
5941
+ isMobileDevice=true
5942
+
5943
+ [Mozilla/5.0 (Linux; U; Android *; *) AppleWebKit/* (KHTML, like Gecko) Version/3.0.* Mobile Safari/*]
5944
+ Parent=Android
5945
+ Browser="Android"
5946
+ Version=3.0
5947
+ MajorVer=3
5948
+ MinorVer=0
5949
+ isMobileDevice=true
5950
+
5951
+ [Mozilla/5.0 (Linux; U; Android *; *) AppleWebKit/* (KHTML, like Gecko) Version/3.1.* Mobile Safari/*]
5952
+ Parent=Android
5953
+ Version=3.0
5954
+ MajorVer=3
5955
+ MinorVer=0
5956
+
5957
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; BlackBerry
5958
+
5959
+ [BlackBerry]
5960
+ Parent=DefaultProperties
5961
+ Browser="BlackBerry"
5962
+ Frames=true
5963
+ Tables=true
5964
+ Cookies=true
5965
+ JavaScript=true
5966
+ isMobileDevice=true
5967
+
5968
+ [*BlackBerry*]
5969
+ Parent=BlackBerry
5970
+
5971
+ [*BlackBerrySimulator/*]
5972
+ Parent=BlackBerry
5973
+
5974
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Handspring Blazer
5975
+
5976
+ [Blazer]
5977
+ Parent=DefaultProperties
5978
+ Browser="Handspring Blazer"
5979
+ Platform=Palm
5980
+ Frames=true
5981
+ Tables=true
5982
+ Cookies=true
5983
+ isMobileDevice=true
5984
+
5985
+ [Mozilla/4.0 (compatible; MSIE 6.0; Windows 95; PalmSource; Blazer 3.0) 16;160x160]
5986
+ Parent=Blazer
5987
+ Version=3.0
5988
+ MajorVer=3
5989
+ MinorVer=0
5990
+
5991
+ [Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; PalmSource/*; Blazer/4.0) 16;320x448]
5992
+ Parent=Blazer
5993
+ Version=4.0
5994
+ MajorVer=4
5995
+ MinorVer=0
5996
+
5997
+ [Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; PalmSource/*; Blazer/4.1) 16;320x320]
5998
+ Parent=Blazer
5999
+ Version=4.1
6000
+ MajorVer=4
6001
+ MinorVer=1
6002
+
6003
+ [Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; PalmSource/*; Blazer/4.2) 16;320x320]
6004
+ Parent=Blazer
6005
+ Version=4.2
6006
+ MajorVer=4
6007
+ MinorVer=2
6008
+
6009
+ [Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; PalmSource/*; Blazer/4.4) 16;320x320]
6010
+ Parent=Blazer
6011
+ Version=4.4
6012
+ MajorVer=4
6013
+ MinorVer=4
6014
+
6015
+ [Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; PalmSource/*; Blazer/4.5) 16;320x320]
6016
+ Parent=Blazer
6017
+ Version=4.5
6018
+ MajorVer=4
6019
+ MinorVer=5
6020
+
6021
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DoCoMo
6022
+
6023
+ [DoCoMo]
6024
+ Parent=DefaultProperties
6025
+ Browser="DoCoMo"
6026
+ Frames=true
6027
+ Tables=true
6028
+ Cookies=true
6029
+ JavaScript=true
6030
+ isMobileDevice=true
6031
+
6032
+ [DoCoMo/1.0*]
6033
+ Parent=DoCoMo
6034
+ Version=1.0
6035
+ MajorVer=1
6036
+ MinorVer=0
6037
+ Platform=WAP
6038
+
6039
+ [DoCoMo/2.0*]
6040
+ Parent=DoCoMo
6041
+ Version=2.0
6042
+ MajorVer=2
6043
+ MinorVer=0
6044
+ Platform=WAP
6045
+
6046
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; IEMobile
6047
+
6048
+ [IEMobile]
6049
+ Parent=DefaultProperties
6050
+ Browser="IEMobile"
6051
+ Platform=WinCE
6052
+ Win32=true
6053
+ Frames=true
6054
+ IFrames=true
6055
+ Tables=true
6056
+ Cookies=true
6057
+ VBScript=true
6058
+ JavaScript=true
6059
+ ActiveXControls=true
6060
+ isMobileDevice=true
6061
+ CssVersion=2
6062
+ supportsCSS=true
6063
+
6064
+ [Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 6.*)*]
6065
+ Parent=IEMobile
6066
+ Version=6.0
6067
+ MajorVer=6
6068
+ MinorVer=0
6069
+
6070
+ [Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.*)*]
6071
+ Parent=IEMobile
6072
+ Version=7.0
6073
+ MajorVer=7
6074
+ MinorVer=0
6075
+
6076
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; iPhone
6077
+
6078
+ [iPhone]
6079
+ Parent=DefaultProperties
6080
+ Browser="iPhone"
6081
+ Platform=iPhone OSX
6082
+ Frames=true
6083
+ IFrames=true
6084
+ Tables=true
6085
+ Cookies=true
6086
+ BackgroundSounds=true
6087
+ JavaApplets=true
6088
+ JavaScript=true
6089
+ isMobileDevice=true
6090
+ CssVersion=3
6091
+ supportsCSS=true
6092
+
6093
+ [Mozilla/4.0 (iPhone; *)]
6094
+ Parent=iPhone
6095
+
6096
+ [Mozilla/4.0 (iPhone; U; CPU like Mac OS X; *)]
6097
+ Parent=iPhone
6098
+
6099
+ [Mozilla/5.0 (iPhone Simulator; U; CPU iPhone OS 2_* like Mac OS X; *) AppleWebKit/* (KHTML, like Gecko) Version/3.1* Mobile/* Safari/*]
6100
+ Parent=iPhone
6101
+ Browser="iPhone Simulator"
6102
+ Version=3.1
6103
+ MajorVer=3
6104
+ MinorVer=1
6105
+
6106
+ [Mozilla/5.0 (iPhone Simulator; U; CPU iPhone OS 2_0_1 like Mac OS X; *) AppleWebKit/* (KHTML, like Gecko) Version/3.1* Mobile/* Safari/*]
6107
+ Parent=iPhone
6108
+ Browser="iPhone Simulator"
6109
+ Version=3.1
6110
+ MajorVer=3
6111
+ MinorVer=1
6112
+
6113
+ [Mozilla/5.0 (iPhone Simulator; U; CPU iPhone OS 2_1 like Mac OS X; *) AppleWebKit/* (KHTML, like Gecko) Version/3.1* Mobile/* Safari/*]
6114
+ Parent=iPhone
6115
+ Browser="iPhone Simulator"
6116
+ Version=3.1
6117
+ MajorVer=3
6118
+ MinorVer=1
6119
+
6120
+ [Mozilla/5.0 (iPhone)]
6121
+ Parent=iPhone
6122
+
6123
+ [Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_* like Mac OS X; *) AppleWebKit/* (KHTML, like Gecko)]
6124
+ Parent=iPhone
6125
+ Version=3.1
6126
+ MajorVer=3
6127
+ MinorVer=1
6128
+
6129
+ [Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_* like Mac OS X; *) AppleWebKit/* (KHTML, like Gecko) Version/3.1* Mobile/* Safari/*]
6130
+ Parent=iPhone
6131
+ Version=3.1
6132
+ MajorVer=3
6133
+ MinorVer=1
6134
+
6135
+ [Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_0* like Mac OS X; *) AppleWebKit/* (KHTML, like Gecko) Version/3.1* Mobile/* Safari/*]
6136
+ Parent=iPhone
6137
+ Version=3.1
6138
+ MajorVer=3
6139
+ MinorVer=1
6140
+
6141
+ [Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_0_2 like Mac OS X; *) AppleWebKit/* (KHTML, like Gecko)]
6142
+ Parent=iPhone
6143
+
6144
+ [Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_1 like Mac OS X; *)*]
6145
+ Parent=iPhone
6146
+
6147
+ [Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_2_1 like Mac OS X; *)]
6148
+ Parent=iPhone
6149
+
6150
+ [Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0* like Mac OS X; *) AppleWebKit/* (KHTML, like Gecko) Version/4.0 Mobile/* Safari/*]
6151
+ Parent=iPhone
6152
+ Version=3.0
6153
+ MajorVer=3
6154
+ MinorVer=0
6155
+
6156
+ [Mozilla/5.0 (iPhone; U; CPU like Mac OS X; *) AppleWebKit/* (KHTML, like Gecko) Version/3.0 Mobile/* Safari/*]
6157
+ Parent=iPhone
6158
+ Version=3.0
6159
+ MajorVer=3
6160
+ MinorVer=0
6161
+
6162
+ [Mozilla/5.0 (iPod; U; *Mac OS X; *) AppleWebKit/* (*) Version/* Mobile/*]
6163
+ Parent=iPhone
6164
+ Browser="iPod Touch"
6165
+
6166
+ [Mozilla/5.0 (iPod; U; CPU iPhone OS 2_2* like Mac OS X; *)*]
6167
+ Parent=iPhone
6168
+ Browser="iPod Touch"
6169
+ Version=2.2
6170
+ MajorVer=2
6171
+ MinorVer=2
6172
+
6173
+ [Mozilla/5.0 (iPod; U; CPU iPhone OS 3_0* like Mac OS X; *) AppleWebKit/* (KHTML, like Gecko)]
6174
+ Parent=iPhone
6175
+ Browser="iPod Touch"
6176
+
6177
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; KDDI
6178
+
6179
+ [KDDI]
6180
+ Parent=DefaultProperties
6181
+ Browser="KDDI"
6182
+ Frames=true
6183
+ Tables=true
6184
+ Cookies=true
6185
+ BackgroundSounds=true
6186
+ VBScript=true
6187
+ JavaScript=true
6188
+ ActiveXControls=true
6189
+ isMobileDevice=true
6190
+ CssVersion=1
6191
+ supportsCSS=true
6192
+
6193
+ [KDDI-* UP.Browser/* (GUI) MMP/*]
6194
+ Parent=KDDI
6195
+
6196
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Miscellaneous Mobile
6197
+
6198
+ [Miscellaneous Mobile]
6199
+ Parent=DefaultProperties
6200
+ Browser=""
6201
+ IFrames=true
6202
+ Tables=true
6203
+ Cookies=true
6204
+ JavaScript=true
6205
+ isMobileDevice=true
6206
+ CssVersion=2
6207
+ supportsCSS=true
6208
+
6209
+ [Mozilla/5.0 (X11; *; CentOS; *) AppleWebKit/* (KHTML, like Gecko) Bolt/0.* Version/3.0 Safari/*]
6210
+ Parent=Miscellaneous Mobile
6211
+ Browser="Bolt"
6212
+
6213
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Motorola Internet Browser
6214
+
6215
+ [Motorola Internet Browser]
6216
+ Parent=DefaultProperties
6217
+ Browser="Motorola Internet Browser"
6218
+ Frames=true
6219
+ Tables=true
6220
+ Cookies=true
6221
+ isMobileDevice=true
6222
+
6223
+ [MOT-*/*]
6224
+ Parent=Motorola Internet Browser
6225
+
6226
+ [MOT-1*/* UP.Browser/*]
6227
+ Parent=Motorola Internet Browser
6228
+
6229
+ [MOT-8700_/* UP.Browser/*]
6230
+ Parent=Motorola Internet Browser
6231
+
6232
+ [MOT-A-0A/* UP.Browser/*]
6233
+ Parent=Motorola Internet Browser
6234
+
6235
+ [MOT-A-2B/* UP.Browser/*]
6236
+ Parent=Motorola Internet Browser
6237
+
6238
+ [MOT-A-88/* UP.Browser/*]
6239
+ Parent=Motorola Internet Browser
6240
+
6241
+ [MOT-C???/* MIB/*]
6242
+ Parent=Motorola Internet Browser
6243
+
6244
+ [MOT-GATW_/* UP.Browser/*]
6245
+ Parent=Motorola Internet Browser
6246
+
6247
+ [MOT-L6/* MIB/*]
6248
+ Parent=Motorola Internet Browser
6249
+
6250
+ [MOT-L7/* MIB/*]
6251
+ Parent=Motorola Internet Browser
6252
+
6253
+ [MOT-M*/* UP.Browser/*]
6254
+ Parent=Motorola Internet Browser
6255
+
6256
+ [MOT-MP*/* Mozilla/* (compatible; MSIE *; Windows CE; *)]
6257
+ Parent=Motorola Internet Browser
6258
+ Win32=true
6259
+
6260
+ [MOT-MP*/* Mozilla/4.0 (compatible; MSIE *; Windows CE; *)]
6261
+ Parent=Motorola Internet Browser
6262
+ Win32=true
6263
+
6264
+ [MOT-SAP4_/* UP.Browser/*]
6265
+ Parent=Motorola Internet Browser
6266
+
6267
+ [MOT-T*/*]
6268
+ Parent=Motorola Internet Browser
6269
+
6270
+ [MOT-T7*/* MIB/*]
6271
+ Parent=Motorola Internet Browser
6272
+
6273
+ [MOT-T721*]
6274
+ Parent=Motorola Internet Browser
6275
+
6276
+ [MOT-TA02/* MIB/*]
6277
+ Parent=Motorola Internet Browser
6278
+
6279
+ [MOT-V*/*]
6280
+ Parent=Motorola Internet Browser
6281
+
6282
+ [MOT-V*/* MIB/*]
6283
+ Parent=Motorola Internet Browser
6284
+
6285
+ [MOT-V*/* UP.Browser/*]
6286
+ Parent=Motorola Internet Browser
6287
+
6288
+ [MOT-V3/* MIB/*]
6289
+ Parent=Motorola Internet Browser
6290
+
6291
+ [MOT-V4*/* MIB/*]
6292
+ Parent=Motorola Internet Browser
6293
+
6294
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; MSN Mobile Proxy
6295
+
6296
+ [MSN Mobile Proxy]
6297
+ Parent=DefaultProperties
6298
+ Browser="MSN Mobile Proxy"
6299
+ Win32=true
6300
+ Frames=true
6301
+ Tables=true
6302
+ Cookies=true
6303
+ JavaScript=true
6304
+ ActiveXControls=true
6305
+ isMobileDevice=true
6306
+
6307
+ [Mozilla/* (compatible; MSIE *; Windows*; MSN Mobile Proxy)]
6308
+ Parent=MSN Mobile Proxy
6309
+
6310
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; NetFront
6311
+
6312
+ [NetFront]
6313
+ Parent=DefaultProperties
6314
+ Browser="NetFront"
6315
+ Frames=true
6316
+ Tables=true
6317
+ Cookies=true
6318
+ JavaScript=true
6319
+ isMobileDevice=true
6320
+
6321
+ [*NetFront/*]
6322
+ Parent=NetFront
6323
+
6324
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Nokia
6325
+
6326
+ [Nokia]
6327
+ Parent=DefaultProperties
6328
+ Browser="Nokia"
6329
+ Tables=true
6330
+ Cookies=true
6331
+ isMobileDevice=true
6332
+
6333
+ [*Nokia*/*]
6334
+ Parent=Nokia
6335
+
6336
+ [Mozilla/* (SymbianOS/*; ?; *) AppleWebKit/* (KHTML, like Gecko) Safari/*]
6337
+ Parent=Nokia
6338
+ Platform=SymbianOS
6339
+
6340
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Openwave Mobile Browser
6341
+
6342
+ [Openwave Mobile Browser]
6343
+ Parent=DefaultProperties
6344
+ Browser="Openwave Mobile Browser"
6345
+ Alpha=true
6346
+ Win32=true
6347
+ Win64=true
6348
+ Frames=true
6349
+ Tables=true
6350
+ Cookies=true
6351
+ isMobileDevice=true
6352
+
6353
+ [*UP.Browser/*]
6354
+ Parent=Openwave Mobile Browser
6355
+
6356
+ [*UP.Link/*]
6357
+ Parent=Openwave Mobile Browser
6358
+
6359
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera Mini
6360
+
6361
+ [Opera Mini]
6362
+ Parent=DefaultProperties
6363
+ Browser="Opera Mini"
6364
+ Frames=true
6365
+ IFrames=true
6366
+ Tables=true
6367
+ Cookies=true
6368
+ JavaScript=true
6369
+ isMobileDevice=true
6370
+
6371
+ [Opera/* (J2ME/MIDP; Opera Mini/1.0*)*]
6372
+ Parent=Opera Mini
6373
+ Version=1.0
6374
+ MajorVer=1
6375
+ MinorVer=0
6376
+
6377
+ [Opera/* (J2ME/MIDP; Opera Mini/1.1*)*]
6378
+ Parent=Opera Mini
6379
+ Version=1.1
6380
+ MajorVer=1
6381
+ MinorVer=1
6382
+
6383
+ [Opera/* (J2ME/MIDP; Opera Mini/1.2*)*]
6384
+ Parent=Opera Mini
6385
+ Version=1.2
6386
+ MajorVer=1
6387
+ MinorVer=2
6388
+
6389
+ [Opera/* (J2ME/MIDP; Opera Mini/2.0*)*]
6390
+ Parent=Opera Mini
6391
+ Version=2.0
6392
+ MajorVer=2
6393
+ MinorVer=0
6394
+
6395
+ [Opera/* (J2ME/MIDP; Opera Mini/3.0*)*]
6396
+ Parent=Opera Mini
6397
+ Version=3.0
6398
+ MajorVer=3
6399
+ MinorVer=0
6400
+
6401
+ [Opera/* (J2ME/MIDP; Opera Mini/3.1*)*]
6402
+ Parent=Opera Mini
6403
+ Version=3.1
6404
+ MajorVer=3
6405
+ MinorVer=1
6406
+
6407
+ [Opera/* (J2ME/MIDP; Opera Mini/4.0*)*]
6408
+ Parent=Opera Mini
6409
+ Version=4.0
6410
+ MajorVer=4
6411
+ MinorVer=0
6412
+
6413
+ [Opera/* (J2ME/MIDP; Opera Mini/4.1*)*]
6414
+ Parent=Opera Mini
6415
+ Version=4.1
6416
+ MajorVer=4
6417
+ MinorVer=1
6418
+
6419
+ [Opera/* (J2ME/MIDP; Opera Mini/4.2*)*]
6420
+ Parent=Opera Mini
6421
+ Version=4.2
6422
+ MajorVer=4
6423
+ MinorVer=2
6424
+
6425
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera Mobile
6426
+
6427
+ [Opera Mobile]
6428
+ Parent=DefaultProperties
6429
+ Browser="Opera Mobi"
6430
+ Frames=true
6431
+ Tables=true
6432
+ Cookies=true
6433
+ isMobileDevice=true
6434
+
6435
+ [Opera/9.5 (Microsoft Windows; PPC; *Opera Mobile/*)]
6436
+ Parent=Opera Mobile
6437
+ Version=9.5
6438
+ MajorVer=9
6439
+ MinorVer=5
6440
+
6441
+ [Opera/9.5 (Microsoft Windows; PPC; Opera Mobi/*)]
6442
+ Parent=Opera Mobile
6443
+ Version=9.5
6444
+ MajorVer=9
6445
+ MinorVer=5
6446
+
6447
+ [Opera/9.51 Beta (Microsoft Windows; PPC; Opera Mobi/*)*]
6448
+ Parent=Opera Mobile
6449
+ Version=9.51
6450
+ MajorVer=9
6451
+ MinorVer=51
6452
+ Beta=true
6453
+
6454
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Palm
6455
+
6456
+ [Palm]
6457
+ Parent=DefaultProperties
6458
+ Browser=""
6459
+ Platform=webOS
6460
+ Win32=true
6461
+ Frames=true
6462
+ Tables=true
6463
+ Cookies=true
6464
+ JavaScript=true
6465
+ ActiveXControls=true
6466
+ isMobileDevice=true
6467
+
6468
+ [Mozilla/5.0 (webOS/1.0; U; *) AppleWebKit/525.* (KHTML, like Gecko) Version/1.0 Safari/525.* Pre/1.0]
6469
+ Parent=Palm
6470
+ Browser="Palm Pre"
6471
+ Version=1.0
6472
+ MajorVer=1
6473
+ MinorVer=0
6474
+ CssVersion=2
6475
+ supportsCSS=true
6476
+
6477
+ [Mozilla/5.0 (webOS/1.1; U; *) AppleWebKit/525.* (KHTML, like Gecko) Version/1.0 Safari/525.* Pre/1.0]
6478
+ Parent=Palm
6479
+ Browser="Palm Pre"
6480
+ Version=1.1
6481
+ MajorVer=1
6482
+ MinorVer=1
6483
+ CssVersion=2
6484
+ supportsCSS=true
6485
+
6486
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Playstation
6487
+
6488
+ [Playstation]
6489
+ Parent=DefaultProperties
6490
+ Browser="Playstation"
6491
+ Platform=WAP
6492
+ Frames=true
6493
+ Tables=true
6494
+ Cookies=true
6495
+ isMobileDevice=true
6496
+
6497
+ [Mozilla/* (PLAYSTATION *; *)]
6498
+ Parent=Playstation
6499
+ Browser="PlayStation 3"
6500
+ Frames=false
6501
+
6502
+ [Mozilla/* (PSP (PlayStation Portable); *)]
6503
+ Parent=Playstation
6504
+
6505
+ [Sony PS2 (Linux)]
6506
+ Parent=Playstation
6507
+ Browser="Sony PS2"
6508
+ Platform=Linux
6509
+
6510
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Pocket PC
6511
+
6512
+ [Pocket PC]
6513
+ Parent=DefaultProperties
6514
+ Browser="Pocket PC"
6515
+ Platform=WinCE
6516
+ Win32=true
6517
+ Frames=true
6518
+ Tables=true
6519
+ Cookies=true
6520
+ JavaScript=true
6521
+ ActiveXControls=true
6522
+ isMobileDevice=true
6523
+ CssVersion=1
6524
+ supportsCSS=true
6525
+
6526
+ [*(compatible; MSIE *.*; Windows CE; PPC; *)]
6527
+ Parent=Pocket PC
6528
+
6529
+ [HTC-*/* Mozilla/* (compatible; MSIE *.*; Windows CE*)*]
6530
+ Parent=Pocket PC
6531
+ Win32=true
6532
+
6533
+ [Mozilla/* (compatible; MSPIE *.*; *Windows CE*)*]
6534
+ Parent=Pocket PC
6535
+ Win32=true
6536
+
6537
+ [T-Mobile* Mozilla/* (compatible; MSIE *.*; Windows CE; *)]
6538
+ Parent=Pocket PC
6539
+
6540
+ [Vodafone* Mozilla/* (compatible; MSIE *.*; Windows CE; *)*]
6541
+ Parent=Pocket PC
6542
+
6543
+ [Windows CE (Pocket PC) - Version *.*]
6544
+ Parent=Pocket PC
6545
+ Win32=true
6546
+
6547
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SEMC Browser
6548
+
6549
+ [SEMC Browser]
6550
+ Parent=DefaultProperties
6551
+ Browser="SEMC Browser"
6552
+ Platform=JAVA
6553
+ Tables=true
6554
+ isMobileDevice=true
6555
+ CssVersion=1
6556
+ supportsCSS=true
6557
+
6558
+ [*SEMC-Browser/*]
6559
+ Parent=SEMC Browser
6560
+
6561
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SonyEricsson
6562
+
6563
+ [SonyEricsson]
6564
+ Parent=DefaultProperties
6565
+ Browser="SonyEricsson"
6566
+ Frames=true
6567
+ Tables=true
6568
+ Cookies=true
6569
+ JavaScript=true
6570
+ isMobileDevice=true
6571
+ CssVersion=1
6572
+ supportsCSS=true
6573
+
6574
+ [*Ericsson*]
6575
+ Parent=SonyEricsson
6576
+
6577
+ [*SonyEricsson*]
6578
+ Parent=SonyEricsson
6579
+
6580
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Netbox
6581
+
6582
+ [Netbox]
6583
+ Parent=DefaultProperties
6584
+ Browser="Netbox"
6585
+ Frames=true
6586
+ Tables=true
6587
+ Cookies=true
6588
+ JavaScript=true
6589
+ CssVersion=1
6590
+ supportsCSS=true
6591
+
6592
+ [Mozilla/3.01 (compatible; Netbox/*; Linux*)]
6593
+ Parent=Netbox
6594
+ Browser="Netbox"
6595
+ Platform=Linux
6596
+
6597
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; PowerTV
6598
+
6599
+ [PowerTV]
6600
+ Parent=DefaultProperties
6601
+ Browser="PowerTV"
6602
+ Platform=PowerTV
6603
+ Frames=true
6604
+ Tables=true
6605
+ Cookies=true
6606
+ JavaScript=true
6607
+
6608
+ [Mozilla/4.0 PowerTV/1.5 (Compatible; Spyglass DM 3.2.1, EXPLORER)]
6609
+ Parent=PowerTV
6610
+ Version=1.5
6611
+ MajorVer=1
6612
+ MinorVer=5
6613
+
6614
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; WebTV/MSNTV
6615
+
6616
+ [WebTV]
6617
+ Parent=DefaultProperties
6618
+ Browser="WebTV/MSNTV"
6619
+ Platform=WebTV
6620
+ Frames=true
6621
+ Tables=true
6622
+ Cookies=true
6623
+ JavaScript=true
6624
+
6625
+ [Mozilla/3.0 WebTV/1.*(compatible; MSIE 2.0)]
6626
+ Parent=WebTV
6627
+ Version=1.0
6628
+ MajorVer=1
6629
+ MinorVer=0
6630
+
6631
+ [Mozilla/4.0 WebTV/2.0*(compatible; MSIE 3.0)]
6632
+ Parent=WebTV
6633
+ Version=2.0
6634
+ MajorVer=2
6635
+ MinorVer=0
6636
+
6637
+ [Mozilla/4.0 WebTV/2.1*(compatible; MSIE 3.0)]
6638
+ Parent=WebTV
6639
+ Version=2.1
6640
+ MajorVer=2
6641
+ MinorVer=1
6642
+
6643
+ [Mozilla/4.0 WebTV/2.2*(compatible; MSIE 3.0)]
6644
+ Parent=WebTV
6645
+ Version=2.2
6646
+ MajorVer=2
6647
+ MinorVer=2
6648
+
6649
+ [Mozilla/4.0 WebTV/2.3*(compatible; MSIE 3.0)]
6650
+ Parent=WebTV
6651
+ Version=2.3
6652
+ MajorVer=2
6653
+ MinorVer=3
6654
+
6655
+ [Mozilla/4.0 WebTV/2.4*(compatible; MSIE 3.0)]
6656
+ Parent=WebTV
6657
+ Version=2.4
6658
+ MajorVer=2
6659
+ MinorVer=4
6660
+
6661
+ [Mozilla/4.0 WebTV/2.5*(compatible; MSIE 4.0)]
6662
+ Parent=WebTV
6663
+ Version=2.5
6664
+ MajorVer=2
6665
+ MinorVer=5
6666
+ CssVersion=1
6667
+ supportsCSS=true
6668
+
6669
+ [Mozilla/4.0 WebTV/2.6*(compatible; MSIE 4.0)]
6670
+ Parent=WebTV
6671
+ Version=2.6
6672
+ MajorVer=2
6673
+ MinorVer=6
6674
+ CssVersion=1
6675
+ supportsCSS=true
6676
+
6677
+ [Mozilla/4.0 WebTV/2.7*(compatible; MSIE 4.0)]
6678
+ Parent=WebTV
6679
+ Version=2.7
6680
+ MajorVer=2
6681
+ MinorVer=7
6682
+ CssVersion=1
6683
+ supportsCSS=true
6684
+
6685
+ [Mozilla/4.0 WebTV/2.8*(compatible; MSIE 4.0)]
6686
+ Parent=WebTV
6687
+ Version=2.8
6688
+ MajorVer=2
6689
+ MinorVer=8
6690
+ JavaApplets=true
6691
+ CssVersion=1
6692
+ supportsCSS=true
6693
+
6694
+ [Mozilla/4.0 WebTV/2.9*(compatible; MSIE 4.0)]
6695
+ Parent=WebTV
6696
+ Version=2.9
6697
+ MajorVer=2
6698
+ MinorVer=9
6699
+ JavaApplets=true
6700
+ CssVersion=1
6701
+ supportsCSS=true
6702
+
6703
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Amaya
6704
+
6705
+ [Amaya]
6706
+ Parent=DefaultProperties
6707
+ Browser="Amaya"
6708
+ Tables=true
6709
+ Cookies=true
6710
+
6711
+ [amaya/7.*]
6712
+ Parent=Amaya
6713
+ Version=7.0
6714
+ MajorVer=7
6715
+ MinorVer=0
6716
+
6717
+ [amaya/8.0*]
6718
+ Parent=Amaya
6719
+ Version=8.0
6720
+ MajorVer=8
6721
+ MinorVer=0
6722
+ CssVersion=2
6723
+ supportsCSS=true
6724
+
6725
+ [amaya/8.1*]
6726
+ Parent=Amaya
6727
+ Version=8.1
6728
+ MajorVer=8
6729
+ MinorVer=1
6730
+ CssVersion=2
6731
+ supportsCSS=true
6732
+
6733
+ [amaya/8.2*]
6734
+ Parent=Amaya
6735
+ Version=8.2
6736
+ MajorVer=8
6737
+ MinorVer=2
6738
+ CssVersion=2
6739
+ supportsCSS=true
6740
+
6741
+ [amaya/8.3*]
6742
+ Parent=Amaya
6743
+ Version=8.3
6744
+ MajorVer=8
6745
+ MinorVer=3
6746
+ CssVersion=2
6747
+ supportsCSS=true
6748
+
6749
+ [amaya/8.4*]
6750
+ Parent=Amaya
6751
+ Version=8.4
6752
+ MajorVer=8
6753
+ MinorVer=4
6754
+ CssVersion=2
6755
+ supportsCSS=true
6756
+
6757
+ [amaya/8.5*]
6758
+ Parent=Amaya
6759
+ Version=8.5
6760
+ MajorVer=8
6761
+ MinorVer=5
6762
+ CssVersion=2
6763
+ supportsCSS=true
6764
+
6765
+ [amaya/8.6*]
6766
+ Parent=Amaya
6767
+ Version=8.6
6768
+ MajorVer=8
6769
+ MinorVer=6
6770
+ CssVersion=2
6771
+ supportsCSS=true
6772
+
6773
+ [amaya/8.7*]
6774
+ Parent=Amaya
6775
+ Version=8.7
6776
+ MajorVer=8
6777
+ MinorVer=7
6778
+ CssVersion=2
6779
+ supportsCSS=true
6780
+
6781
+ [amaya/8.8*]
6782
+ Parent=Amaya
6783
+ Version=8.8
6784
+ MajorVer=8
6785
+ MinorVer=8
6786
+ CssVersion=2
6787
+ supportsCSS=true
6788
+
6789
+ [amaya/8.9*]
6790
+ Parent=Amaya
6791
+ Version=8.9
6792
+ MajorVer=8
6793
+ MinorVer=9
6794
+ CssVersion=2
6795
+ supportsCSS=true
6796
+
6797
+ [amaya/9.0*]
6798
+ Parent=Amaya
6799
+ Version=9.0
6800
+ MajorVer=8
6801
+ MinorVer=0
6802
+ CssVersion=2
6803
+ supportsCSS=true
6804
+
6805
+ [amaya/9.1*]
6806
+ Parent=Amaya
6807
+ Version=9.1
6808
+ MajorVer=9
6809
+ MinorVer=1
6810
+ CssVersion=2
6811
+ supportsCSS=true
6812
+
6813
+ [amaya/9.2*]
6814
+ Parent=Amaya
6815
+ Version=9.2
6816
+ MajorVer=9
6817
+ MinorVer=2
6818
+ CssVersion=2
6819
+ supportsCSS=true
6820
+
6821
+ [amaya/9.3*]
6822
+ Parent=Amaya
6823
+ Version=9.3
6824
+ MajorVer=9
6825
+ MinorVer=3
6826
+
6827
+ [amaya/9.4*]
6828
+ Parent=Amaya
6829
+ Version=9.4
6830
+ MajorVer=9
6831
+ MinorVer=4
6832
+
6833
+ [amaya/9.5*]
6834
+ Parent=Amaya
6835
+ Version=9.5
6836
+ MajorVer=9
6837
+ MinorVer=5
6838
+
6839
+ [Emacs-w3m/*]
6840
+ Parent=Emacs/W3
6841
+
6842
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Links
6843
+
6844
+ [Links]
6845
+ Parent=DefaultProperties
6846
+ Browser="Links"
6847
+ Frames=true
6848
+ Tables=true
6849
+
6850
+ [Links (0.9*; CYGWIN_NT-5.1*)]
6851
+ Parent=Links
6852
+ Browser="Links"
6853
+ Version=0.9
6854
+ MajorVer=0
6855
+ MinorVer=9
6856
+ Platform=WinXP
6857
+
6858
+ [Links (0.9*; Darwin*)]
6859
+ Parent=Links
6860
+ Version=0.9
6861
+ MajorVer=0
6862
+ MinorVer=9
6863
+ Platform=MacPPC
6864
+
6865
+ [Links (0.9*; FreeBSD*)]
6866
+ Parent=Links
6867
+ Browser="Links"
6868
+ Version=0.9
6869
+ MajorVer=0
6870
+ MinorVer=9
6871
+ Platform=FreeBSD
6872
+
6873
+ [Links (0.9*; Linux*)]
6874
+ Parent=Links
6875
+ Browser="Links"
6876
+ Version=0.9
6877
+ MajorVer=0
6878
+ MinorVer=9
6879
+ Platform=Linux
6880
+
6881
+ [Links (0.9*; OS/2*)]
6882
+ Parent=Links
6883
+ Browser="Links"
6884
+ Version=0.9
6885
+ MajorVer=0
6886
+ MinorVer=9
6887
+ Platform=OS/2
6888
+
6889
+ [Links (0.9*; Unix*)]
6890
+ Parent=Links
6891
+ Browser="Links"
6892
+ Version=0.9
6893
+ MajorVer=0
6894
+ MinorVer=9
6895
+ Platform=Unix
6896
+
6897
+ [Links (0.9*; Win32*)]
6898
+ Parent=Links
6899
+ Browser="Links"
6900
+ Version=0.9
6901
+ MajorVer=0
6902
+ MinorVer=9
6903
+ Platform=Win32
6904
+ Win32=true
6905
+
6906
+ [Links (1.0*; CYGWIN_NT-5.1*)]
6907
+ Parent=Links
6908
+ Browser="Links"
6909
+ Version=1.0
6910
+ MajorVer=1
6911
+ MinorVer=0
6912
+ Platform=WinXP
6913
+
6914
+ [Links (1.0*; FreeBSD*)]
6915
+ Parent=Links
6916
+ Browser="Links"
6917
+ Version=1.0
6918
+ MajorVer=1
6919
+ MinorVer=0
6920
+ Platform=FreeBSD
6921
+
6922
+ [Links (1.0*; Linux*)]
6923
+ Parent=Links
6924
+ Browser="Links"
6925
+ Version=1.0
6926
+ MajorVer=1
6927
+ MinorVer=0
6928
+ Platform=Linux
6929
+
6930
+ [Links (1.0*; OS/2*)]
6931
+ Parent=Links
6932
+ Browser="Links"
6933
+ Version=1.0
6934
+ MajorVer=1
6935
+ MinorVer=0
6936
+ Platform=OS/2
6937
+
6938
+ [Links (1.0*; Unix*)]
6939
+ Parent=Links
6940
+ Browser="Links"
6941
+ Version=1.0
6942
+ MajorVer=1
6943
+ MinorVer=0
6944
+ Platform=Unix
6945
+
6946
+ [Links (1.0*; Win32*)]
6947
+ Parent=Links
6948
+ Browser="Links"
6949
+ Version=1.0
6950
+ MajorVer=1
6951
+ MinorVer=0
6952
+ Platform=Win32
6953
+ Win32=true
6954
+
6955
+ [Links (2.0*; Linux*)]
6956
+ Parent=Links
6957
+ Browser="Links"
6958
+ Version=2.0
6959
+ MajorVer=2
6960
+ MinorVer=0
6961
+ Platform=Linux
6962
+
6963
+ [Links (2.1*; FreeBSD*)]
6964
+ Parent=Links
6965
+ Browser="Links"
6966
+ Version=2.1
6967
+ MajorVer=2
6968
+ MinorVer=1
6969
+ Platform=FreeBSD
6970
+
6971
+ [Links (2.1*; Linux *)]
6972
+ Parent=Links
6973
+ Browser="Links"
6974
+ Version=2.1
6975
+ MajorVer=2
6976
+ MinorVer=1
6977
+ Platform=Linux
6978
+
6979
+ [Links (2.1*; OpenBSD*)]
6980
+ Parent=Links
6981
+ Browser="Links"
6982
+ Version=2.1
6983
+ MajorVer=2
6984
+ MinorVer=1
6985
+ Platform=OpenBSD
6986
+
6987
+ [Links (2.2*; FreeBSD*)]
6988
+ Parent=Links
6989
+ Version=2.2
6990
+ MajorVer=2
6991
+ MinorVer=2
6992
+ Platform=FreeBSD
6993
+
6994
+ [Links (2.2*; Linux *)]
6995
+ Parent=Links
6996
+ Version=2.2
6997
+ MajorVer=2
6998
+ MinorVer=2
6999
+ Platform=Linux
7000
+
7001
+ [Links (2.2*; OpenBSD*)]
7002
+ Parent=Links
7003
+ Version=2.2
7004
+ MajorVer=2
7005
+ MinorVer=2
7006
+ Platform=OpenBSD
7007
+
7008
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Lynx
7009
+
7010
+ [Lynx]
7011
+ Parent=DefaultProperties
7012
+ Browser="Lynx"
7013
+ Frames=true
7014
+ Tables=true
7015
+
7016
+ [Lynx *]
7017
+ Parent=Lynx
7018
+ Browser="Lynx"
7019
+
7020
+ [Lynx/2.3*]
7021
+ Parent=Lynx
7022
+ Browser="Lynx"
7023
+ Version=2.3
7024
+ MajorVer=2
7025
+ MinorVer=3
7026
+
7027
+ [Lynx/2.4*]
7028
+ Parent=Lynx
7029
+ Browser="Lynx"
7030
+ Version=2.4
7031
+ MajorVer=2
7032
+ MinorVer=4
7033
+
7034
+ [Lynx/2.5*]
7035
+ Parent=Lynx
7036
+ Browser="Lynx"
7037
+ Version=2.5
7038
+ MajorVer=2
7039
+ MinorVer=5
7040
+
7041
+ [Lynx/2.6*]
7042
+ Parent=Lynx
7043
+ Browser="Lynx"
7044
+ Version=2.6
7045
+ MajorVer=2
7046
+ MinorVer=6
7047
+
7048
+ [Lynx/2.7*]
7049
+ Parent=Lynx
7050
+ Browser="Lynx"
7051
+ Version=2.7
7052
+ MajorVer=2
7053
+ MinorVer=7
7054
+
7055
+ [Lynx/2.8*]
7056
+ Parent=Lynx
7057
+ Browser="Lynx"
7058
+ Version=2.8
7059
+ MajorVer=2
7060
+ MinorVer=8
7061
+
7062
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; NCSA Mosaic
7063
+
7064
+ [Mosaic]
7065
+ Parent=DefaultProperties
7066
+ Browser="Mosaic"
7067
+
7068
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; w3m
7069
+
7070
+ [w3m]
7071
+ Parent=DefaultProperties
7072
+ Browser="w3m"
7073
+ Frames=true
7074
+ Tables=true
7075
+
7076
+ [w3m/0.1*]
7077
+ Parent=w3m
7078
+ Browser="w3m"
7079
+ Version=0.1
7080
+ MajorVer=0
7081
+ MinorVer=1
7082
+
7083
+ [w3m/0.2*]
7084
+ Parent=w3m
7085
+ Browser="w3m"
7086
+ Version=0.2
7087
+ MajorVer=0
7088
+ MinorVer=2
7089
+
7090
+ [w3m/0.3*]
7091
+ Parent=w3m
7092
+ Browser="w3m"
7093
+ Version=0.3
7094
+ MajorVer=0
7095
+ MinorVer=3
7096
+
7097
+ [w3m/0.4*]
7098
+ Parent=w3m
7099
+ Browser="w3m"
7100
+ Version=0.4
7101
+ MajorVer=0
7102
+ MinorVer=4
7103
+ Cookies=true
7104
+
7105
+ [w3m/0.5*]
7106
+ Parent=w3m
7107
+ Browser="w3m"
7108
+ Version=0.5
7109
+ MajorVer=0
7110
+ MinorVer=5
7111
+ Cookies=true
7112
+
7113
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ELinks 0.10
7114
+
7115
+ [ELinks 0.10]
7116
+ Parent=DefaultProperties
7117
+ Browser="ELinks"
7118
+ Version=0.10
7119
+ MinorVer=10
7120
+ Frames=true
7121
+ Tables=true
7122
+
7123
+ [ELinks (0.10*; *AIX*)]
7124
+ Parent=ELinks 0.10
7125
+ Platform=AIX
7126
+
7127
+ [ELinks (0.10*; *BeOS*)]
7128
+ Parent=ELinks 0.10
7129
+ Platform=BeOS
7130
+
7131
+ [ELinks (0.10*; *CygWin*)]
7132
+ Parent=ELinks 0.10
7133
+ Platform=CygWin
7134
+
7135
+ [ELinks (0.10*; *Darwin*)]
7136
+ Parent=ELinks 0.10
7137
+ Platform=Darwin
7138
+
7139
+ [ELinks (0.10*; *Digital Unix*)]
7140
+ Parent=ELinks 0.10
7141
+ Platform=Digital Unix
7142
+
7143
+ [ELinks (0.10*; *FreeBSD*)]
7144
+ Parent=ELinks 0.10
7145
+ Platform=FreeBSD
7146
+
7147
+ [ELinks (0.10*; *HPUX*)]
7148
+ Parent=ELinks 0.10
7149
+ Platform=HP-UX
7150
+
7151
+ [ELinks (0.10*; *IRIX*)]
7152
+ Parent=ELinks 0.10
7153
+ Platform=IRIX
7154
+
7155
+ [ELinks (0.10*; *Linux*)]
7156
+ Parent=ELinks 0.10
7157
+ Platform=Linux
7158
+
7159
+ [ELinks (0.10*; *NetBSD*)]
7160
+ Parent=ELinks 0.10
7161
+ Platform=NetBSD
7162
+
7163
+ [ELinks (0.10*; *OpenBSD*)]
7164
+ Parent=ELinks 0.10
7165
+ Platform=OpenBSD
7166
+
7167
+ [ELinks (0.10*; *OS/2*)]
7168
+ Parent=ELinks 0.10
7169
+ Platform=OS/2
7170
+
7171
+ [ELinks (0.10*; *RISC*)]
7172
+ Parent=ELinks 0.10
7173
+ Platform=RISC OS
7174
+
7175
+ [ELinks (0.10*; *Solaris*)]
7176
+ Parent=ELinks 0.10
7177
+ Platform=Solaris
7178
+
7179
+ [ELinks (0.10*; *Unix*)]
7180
+ Parent=ELinks 0.10
7181
+ Platform=Unix
7182
+
7183
+ [ELinks/0.10* (*AIX*)]
7184
+ Parent=ELinks 0.10
7185
+ Platform=AIX
7186
+
7187
+ [ELinks/0.10* (*BeOS*)]
7188
+ Parent=ELinks 0.10
7189
+ Platform=BeOS
7190
+
7191
+ [ELinks/0.10* (*CygWin*)]
7192
+ Parent=ELinks 0.10
7193
+ Platform=CygWin
7194
+
7195
+ [ELinks/0.10* (*Darwin*)]
7196
+ Parent=ELinks 0.10
7197
+ Platform=Darwin
7198
+
7199
+ [ELinks/0.10* (*Digital Unix*)]
7200
+ Parent=ELinks 0.10
7201
+ Platform=Digital Unix
7202
+
7203
+ [ELinks/0.10* (*FreeBSD*)]
7204
+ Parent=ELinks 0.10
7205
+ Platform=FreeBSD
7206
+
7207
+ [ELinks/0.10* (*HPUX*)]
7208
+ Parent=ELinks 0.10
7209
+ Platform=HP-UX
7210
+
7211
+ [ELinks/0.10* (*IRIX*)]
7212
+ Parent=ELinks 0.10
7213
+ Platform=IRIX
7214
+
7215
+ [ELinks/0.10* (*Linux*)]
7216
+ Parent=ELinks 0.10
7217
+ Platform=Linux
7218
+
7219
+ [ELinks/0.10* (*NetBSD*)]
7220
+ Parent=ELinks 0.10
7221
+ Platform=NetBSD
7222
+
7223
+ [ELinks/0.10* (*OpenBSD*)]
7224
+ Parent=ELinks 0.10
7225
+ Platform=OpenBSD
7226
+
7227
+ [ELinks/0.10* (*OS/2*)]
7228
+ Parent=ELinks 0.10
7229
+ Platform=OS/2
7230
+
7231
+ [ELinks/0.10* (*RISC*)]
7232
+ Parent=ELinks 0.10
7233
+ Platform=RISC OS
7234
+
7235
+ [ELinks/0.10* (*Solaris*)]
7236
+ Parent=ELinks 0.10
7237
+ Platform=Solaris
7238
+
7239
+ [ELinks/0.10* (*Unix*)]
7240
+ Parent=ELinks 0.10
7241
+ Platform=Unix
7242
+
7243
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ELinks 0.11
7244
+
7245
+ [ELinks 0.11]
7246
+ Parent=DefaultProperties
7247
+ Browser="ELinks"
7248
+ Version=0.11
7249
+ MinorVer=11
7250
+ Frames=true
7251
+ Tables=true
7252
+
7253
+ [ELinks (0.11*; *AIX*)]
7254
+ Parent=ELinks 0.11
7255
+ Platform=AIX
7256
+
7257
+ [ELinks (0.11*; *BeOS*)]
7258
+ Parent=ELinks 0.11
7259
+ Platform=BeOS
7260
+
7261
+ [ELinks (0.11*; *CygWin*)]
7262
+ Parent=ELinks 0.11
7263
+ Platform=CygWin
7264
+
7265
+ [ELinks (0.11*; *Darwin*)]
7266
+ Parent=ELinks 0.11
7267
+ Platform=Darwin
7268
+
7269
+ [ELinks (0.11*; *Digital Unix*)]
7270
+ Parent=ELinks 0.11
7271
+ Platform=Digital Unix
7272
+
7273
+ [ELinks (0.11*; *FreeBSD*)]
7274
+ Parent=ELinks 0.11
7275
+ Platform=FreeBSD
7276
+
7277
+ [ELinks (0.11*; *HPUX*)]
7278
+ Parent=ELinks 0.11
7279
+ Platform=HP-UX
7280
+
7281
+ [ELinks (0.11*; *IRIX*)]
7282
+ Parent=ELinks 0.11
7283
+ Platform=IRIX
7284
+
7285
+ [ELinks (0.11*; *Linux*)]
7286
+ Parent=ELinks 0.11
7287
+ Platform=Linux
7288
+
7289
+ [ELinks (0.11*; *NetBSD*)]
7290
+ Parent=ELinks 0.11
7291
+ Platform=NetBSD
7292
+
7293
+ [ELinks (0.11*; *OpenBSD*)]
7294
+ Parent=ELinks 0.11
7295
+ Platform=OpenBSD
7296
+
7297
+ [ELinks (0.11*; *OS/2*)]
7298
+ Parent=ELinks 0.11
7299
+ Platform=OS/2
7300
+
7301
+ [ELinks (0.11*; *RISC*)]
7302
+ Parent=ELinks 0.11
7303
+ Platform=RISC OS
7304
+
7305
+ [ELinks (0.11*; *Solaris*)]
7306
+ Parent=ELinks 0.11
7307
+ Platform=Solaris
7308
+
7309
+ [ELinks (0.11*; *Unix*)]
7310
+ Parent=ELinks 0.11
7311
+ Platform=Unix
7312
+
7313
+ [ELinks/0.11* (*AIX*)]
7314
+ Parent=ELinks 0.11
7315
+ Platform=AIX
7316
+
7317
+ [ELinks/0.11* (*BeOS*)]
7318
+ Parent=ELinks 0.11
7319
+ Platform=BeOS
7320
+
7321
+ [ELinks/0.11* (*CygWin*)]
7322
+ Parent=ELinks 0.11
7323
+ Platform=CygWin
7324
+
7325
+ [ELinks/0.11* (*Darwin*)]
7326
+ Parent=ELinks 0.11
7327
+ Platform=Darwin
7328
+
7329
+ [ELinks/0.11* (*Digital Unix*)]
7330
+ Parent=ELinks 0.11
7331
+ Platform=Digital Unix
7332
+
7333
+ [ELinks/0.11* (*FreeBSD*)]
7334
+ Parent=ELinks 0.11
7335
+ Platform=FreeBSD
7336
+
7337
+ [ELinks/0.11* (*HPUX*)]
7338
+ Parent=ELinks 0.11
7339
+ Platform=HP-UX
7340
+
7341
+ [ELinks/0.11* (*IRIX*)]
7342
+ Parent=ELinks 0.11
7343
+ Platform=IRIX
7344
+
7345
+ [ELinks/0.11* (*Linux*)]
7346
+ Parent=ELinks 0.11
7347
+ Platform=Linux
7348
+
7349
+ [ELinks/0.11* (*NetBSD*)]
7350
+ Parent=ELinks 0.11
7351
+ Platform=NetBSD
7352
+
7353
+ [ELinks/0.11* (*OpenBSD*)]
7354
+ Parent=ELinks 0.11
7355
+ Platform=OpenBSD
7356
+
7357
+ [ELinks/0.11* (*OS/2*)]
7358
+ Parent=ELinks 0.11
7359
+ Platform=OS/2
7360
+
7361
+ [ELinks/0.11* (*RISC*)]
7362
+ Parent=ELinks 0.11
7363
+ Platform=RISC OS
7364
+
7365
+ [ELinks/0.11* (*Solaris*)]
7366
+ Parent=ELinks 0.11
7367
+ Platform=Solaris
7368
+
7369
+ [ELinks/0.11* (*Unix*)]
7370
+ Parent=ELinks 0.11
7371
+ Platform=Unix
7372
+
7373
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ELinks 0.12
7374
+
7375
+ [ELinks 0.12]
7376
+ Parent=DefaultProperties
7377
+ Browser="ELinks"
7378
+ Version=0.12
7379
+ MinorVer=12
7380
+ Frames=true
7381
+ Tables=true
7382
+
7383
+ [ELinks (0.12*; *AIX*)]
7384
+ Parent=ELinks 0.12
7385
+ Platform=AIX
7386
+
7387
+ [ELinks (0.12*; *BeOS*)]
7388
+ Parent=ELinks 0.12
7389
+ Platform=BeOS
7390
+
7391
+ [ELinks (0.12*; *CygWin*)]
7392
+ Parent=ELinks 0.12
7393
+ Platform=CygWin
7394
+
7395
+ [ELinks (0.12*; *Darwin*)]
7396
+ Parent=ELinks 0.12
7397
+ Platform=Darwin
7398
+
7399
+ [ELinks (0.12*; *Digital Unix*)]
7400
+ Parent=ELinks 0.12
7401
+ Platform=Digital Unix
7402
+
7403
+ [ELinks (0.12*; *FreeBSD*)]
7404
+ Parent=ELinks 0.12
7405
+ Platform=FreeBSD
7406
+
7407
+ [ELinks (0.12*; *HPUX*)]
7408
+ Parent=ELinks 0.12
7409
+ Platform=HP-UX
7410
+
7411
+ [ELinks (0.12*; *IRIX*)]
7412
+ Parent=ELinks 0.12
7413
+ Platform=IRIX
7414
+
7415
+ [ELinks (0.12*; *Linux*)]
7416
+ Parent=ELinks 0.12
7417
+ Platform=Linux
7418
+
7419
+ [ELinks (0.12*; *NetBSD*)]
7420
+ Parent=ELinks 0.12
7421
+ Platform=NetBSD
7422
+
7423
+ [ELinks (0.12*; *OpenBSD*)]
7424
+ Parent=ELinks 0.12
7425
+ Platform=OpenBSD
7426
+
7427
+ [ELinks (0.12*; *OS/2*)]
7428
+ Parent=ELinks 0.12
7429
+ Platform=OS/2
7430
+
7431
+ [ELinks (0.12*; *RISC*)]
7432
+ Parent=ELinks 0.12
7433
+ Platform=RISC OS
7434
+
7435
+ [ELinks (0.12*; *Solaris*)]
7436
+ Parent=ELinks 0.12
7437
+ Platform=Solaris
7438
+
7439
+ [ELinks (0.12*; *Unix*)]
7440
+ Parent=ELinks 0.12
7441
+ Platform=Unix
7442
+
7443
+ [ELinks/0.12* (*AIX*)]
7444
+ Parent=ELinks 0.12
7445
+ Platform=AIX
7446
+
7447
+ [ELinks/0.12* (*BeOS*)]
7448
+ Parent=ELinks 0.12
7449
+ Platform=BeOS
7450
+
7451
+ [ELinks/0.12* (*CygWin*)]
7452
+ Parent=ELinks 0.12
7453
+ Platform=CygWin
7454
+
7455
+ [ELinks/0.12* (*Darwin*)]
7456
+ Parent=ELinks 0.12
7457
+ Platform=Darwin
7458
+
7459
+ [ELinks/0.12* (*Digital Unix*)]
7460
+ Parent=ELinks 0.12
7461
+ Platform=Digital Unix
7462
+
7463
+ [ELinks/0.12* (*FreeBSD*)]
7464
+ Parent=ELinks 0.12
7465
+ Platform=FreeBSD
7466
+
7467
+ [ELinks/0.12* (*HPUX*)]
7468
+ Parent=ELinks 0.12
7469
+ Platform=HP-UX
7470
+
7471
+ [ELinks/0.12* (*IRIX*)]
7472
+ Parent=ELinks 0.12
7473
+ Platform=IRIX
7474
+
7475
+ [ELinks/0.12* (*Linux*)]
7476
+ Parent=ELinks 0.12
7477
+ Platform=Linux
7478
+
7479
+ [ELinks/0.12* (*NetBSD*)]
7480
+ Parent=ELinks 0.12
7481
+ Platform=NetBSD
7482
+
7483
+ [ELinks/0.12* (*OpenBSD*)]
7484
+ Parent=ELinks 0.12
7485
+ Platform=OpenBSD
7486
+
7487
+ [ELinks/0.12* (*OS/2*)]
7488
+ Parent=ELinks 0.12
7489
+ Platform=OS/2
7490
+
7491
+ [ELinks/0.12* (*RISC*)]
7492
+ Parent=ELinks 0.12
7493
+ Platform=RISC OS
7494
+
7495
+ [ELinks/0.12* (*Solaris*)]
7496
+ Parent=ELinks 0.12
7497
+ Platform=Solaris
7498
+
7499
+ [ELinks/0.12* (*Unix*)]
7500
+ Parent=ELinks 0.12
7501
+ Platform=Unix
7502
+
7503
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ELinks 0.9
7504
+
7505
+ [ELinks 0.9]
7506
+ Parent=DefaultProperties
7507
+ Browser="ELinks"
7508
+ Version=0.9
7509
+ MinorVer=9
7510
+ Frames=true
7511
+ Tables=true
7512
+
7513
+ [ELinks (0.9*; *AIX*)]
7514
+ Parent=ELinks 0.9
7515
+ Platform=AIX
7516
+
7517
+ [ELinks (0.9*; *BeOS*)]
7518
+ Parent=ELinks 0.9
7519
+ Platform=BeOS
7520
+
7521
+ [ELinks (0.9*; *CygWin*)]
7522
+ Parent=ELinks 0.9
7523
+ Platform=CygWin
7524
+
7525
+ [ELinks (0.9*; *Darwin*)]
7526
+ Parent=ELinks 0.9
7527
+ Platform=Darwin
7528
+
7529
+ [ELinks (0.9*; *Digital Unix*)]
7530
+ Parent=ELinks 0.9
7531
+ Platform=Digital Unix
7532
+
7533
+ [ELinks (0.9*; *FreeBSD*)]
7534
+ Parent=ELinks 0.9
7535
+ Platform=FreeBSD
7536
+
7537
+ [ELinks (0.9*; *HPUX*)]
7538
+ Parent=ELinks 0.9
7539
+ Platform=HP-UX
7540
+
7541
+ [ELinks (0.9*; *IRIX*)]
7542
+ Parent=ELinks 0.9
7543
+ Platform=IRIX
7544
+
7545
+ [ELinks (0.9*; *Linux*)]
7546
+ Parent=ELinks 0.9
7547
+ Platform=Linux
7548
+
7549
+ [ELinks (0.9*; *NetBSD*)]
7550
+ Parent=ELinks 0.9
7551
+ Platform=NetBSD
7552
+
7553
+ [ELinks (0.9*; *OpenBSD*)]
7554
+ Parent=ELinks 0.9
7555
+ Platform=OpenBSD
7556
+
7557
+ [ELinks (0.9*; *OS/2*)]
7558
+ Parent=ELinks 0.9
7559
+ Platform=OS/2
7560
+
7561
+ [ELinks (0.9*; *RISC*)]
7562
+ Parent=ELinks 0.9
7563
+ Platform=RISC OS
7564
+
7565
+ [ELinks (0.9*; *Solaris*)]
7566
+ Parent=ELinks 0.9
7567
+ Platform=Solaris
7568
+
7569
+ [ELinks (0.9*; *Unix*)]
7570
+ Parent=ELinks 0.9
7571
+ Platform=Unix
7572
+
7573
+ [ELinks/0.9* (*AIX*)]
7574
+ Parent=ELinks 0.9
7575
+ Platform=AIX
7576
+
7577
+ [ELinks/0.9* (*BeOS*)]
7578
+ Parent=ELinks 0.9
7579
+ Platform=BeOS
7580
+
7581
+ [ELinks/0.9* (*CygWin*)]
7582
+ Parent=ELinks 0.9
7583
+ Platform=CygWin
7584
+
7585
+ [ELinks/0.9* (*Darwin*)]
7586
+ Parent=ELinks 0.9
7587
+ Platform=Darwin
7588
+
7589
+ [ELinks/0.9* (*Digital Unix*)]
7590
+ Parent=ELinks 0.9
7591
+ Platform=Digital Unix
7592
+
7593
+ [ELinks/0.9* (*FreeBSD*)]
7594
+ Parent=ELinks 0.9
7595
+ Platform=FreeBSD
7596
+
7597
+ [ELinks/0.9* (*HPUX*)]
7598
+ Parent=ELinks 0.9
7599
+ Platform=HP-UX
7600
+
7601
+ [ELinks/0.9* (*IRIX*)]
7602
+ Parent=ELinks 0.9
7603
+ Platform=IRIX
7604
+
7605
+ [ELinks/0.9* (*Linux*)]
7606
+ Parent=ELinks 0.9
7607
+ Platform=Linux
7608
+
7609
+ [ELinks/0.9* (*NetBSD*)]
7610
+ Parent=ELinks 0.9
7611
+ Platform=NetBSD
7612
+
7613
+ [ELinks/0.9* (*OpenBSD*)]
7614
+ Parent=ELinks 0.9
7615
+ Platform=OpenBSD
7616
+
7617
+ [ELinks/0.9* (*OS/2*)]
7618
+ Parent=ELinks 0.9
7619
+ Platform=OS/2
7620
+
7621
+ [ELinks/0.9* (*RISC*)]
7622
+ Parent=ELinks 0.9
7623
+ Platform=RISC OS
7624
+
7625
+ [ELinks/0.9* (*Solaris*)]
7626
+ Parent=ELinks 0.9
7627
+ Platform=Solaris
7628
+
7629
+ [ELinks/0.9* (*Unix*)]
7630
+ Parent=ELinks 0.9
7631
+ Platform=Unix
7632
+
7633
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; AppleWebKit
7634
+
7635
+ [AppleWebKit]
7636
+ Parent=DefaultProperties
7637
+ Browser="AppleWebKit"
7638
+ Frames=true
7639
+ IFrames=true
7640
+ Tables=true
7641
+ Cookies=true
7642
+ BackgroundSounds=true
7643
+ JavaApplets=true
7644
+ JavaScript=true
7645
+ CssVersion=2
7646
+ supportsCSS=true
7647
+
7648
+ [Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (KHTML, like Gecko)]
7649
+ Parent=AppleWebKit
7650
+
7651
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Camino
7652
+
7653
+ [Camino]
7654
+ Parent=DefaultProperties
7655
+ Browser="Camino"
7656
+ Platform=MacOSX
7657
+ Frames=true
7658
+ IFrames=true
7659
+ Tables=true
7660
+ Cookies=true
7661
+ JavaApplets=true
7662
+ JavaScript=true
7663
+ CssVersion=2
7664
+ supportsCSS=true
7665
+
7666
+ [Mozilla/5.0 (Macintosh; *Mac OS X*) Gecko/* Camino/0.7*]
7667
+ Parent=Camino
7668
+ Version=0.7
7669
+ MajorVer=0
7670
+ MinorVer=7
7671
+ Beta=true
7672
+
7673
+ [Mozilla/5.0 (Macintosh; *Mac OS X*) Gecko/* Camino/0.8*]
7674
+ Parent=Camino
7675
+ Version=0.8
7676
+ MajorVer=0
7677
+ MinorVer=8
7678
+ Beta=true
7679
+
7680
+ [Mozilla/5.0 (Macintosh; *Mac OS X*) Gecko/* Camino/0.9*]
7681
+ Parent=Camino
7682
+ Version=0.9
7683
+ MajorVer=0
7684
+ MinorVer=9
7685
+ Beta=true
7686
+
7687
+ [Mozilla/5.0 (Macintosh; *Mac OS X*) Gecko/* Camino/1.0*]
7688
+ Parent=Camino
7689
+ Version=1.0
7690
+ MajorVer=1
7691
+ MinorVer=0
7692
+
7693
+ [Mozilla/5.0 (Macintosh; *Mac OS X*) Gecko/* Camino/1.2*]
7694
+ Parent=Camino
7695
+ Version=1.2
7696
+ MajorVer=1
7697
+ MinorVer=2
7698
+
7699
+ [Mozilla/5.0 (Macintosh; *Mac OS X*) Gecko/* Camino/1.3*]
7700
+ Parent=Camino
7701
+ Version=1.3
7702
+ MajorVer=1
7703
+ MinorVer=3
7704
+ Platform=MacOSX
7705
+
7706
+ [Mozilla/5.0 (Macintosh; *Mac OS X*) Gecko/* Camino/1.4*]
7707
+ Parent=Camino
7708
+ Version=1.4
7709
+ MajorVer=1
7710
+ MinorVer=4
7711
+ Platform=MacOSX
7712
+
7713
+ [Mozilla/5.0 (Macintosh; *Mac OS X*) Gecko/* Camino/1.5*]
7714
+ Parent=Camino
7715
+ Version=1.5
7716
+ MajorVer=1
7717
+ MinorVer=5
7718
+ Platform=MacOSX
7719
+
7720
+ [Mozilla/5.0 (Macintosh; *Mac OS X*) Gecko/* Camino/1.6*]
7721
+ Parent=Camino
7722
+ Version=1.6
7723
+ MajorVer=1
7724
+ MinorVer=6
7725
+ Platform=MacOSX
7726
+
7727
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chimera
7728
+
7729
+ [Chimera]
7730
+ Parent=DefaultProperties
7731
+ Browser="Chimera"
7732
+ Frames=true
7733
+ IFrames=true
7734
+ Tables=true
7735
+ Cookies=true
7736
+ JavaApplets=true
7737
+ JavaScript=true
7738
+
7739
+ [Mozilla/5.0 (Macintosh; U; *Mac OS X*; *; rv:1.*) Gecko/* Chimera/*]
7740
+ Parent=Chimera
7741
+ Platform=MacOSX
7742
+
7743
+ [Mozilla/5.0 Gecko/* Chimera/*]
7744
+ Parent=Chimera
7745
+
7746
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Dillo
7747
+
7748
+ [Dillo]
7749
+ Parent=DefaultProperties
7750
+ Browser="Dillo"
7751
+ Platform=Linux
7752
+ Frames=true
7753
+ IFrames=true
7754
+ Tables=true
7755
+ Cookies=true
7756
+ CssVersion=2
7757
+ supportsCSS=true
7758
+
7759
+ [Dillo/0.6*]
7760
+ Parent=Dillo
7761
+ Version=0.6
7762
+ MajorVer=0
7763
+ MinorVer=6
7764
+
7765
+ [Dillo/0.7*]
7766
+ Parent=Dillo
7767
+ Version=0.7
7768
+ MajorVer=0
7769
+ MinorVer=7
7770
+
7771
+ [Dillo/0.8*]
7772
+ Parent=Dillo
7773
+ Version=0.8
7774
+ MajorVer=0
7775
+ MinorVer=8
7776
+
7777
+ [Dillo/2.0]
7778
+ Parent=Dillo
7779
+ Version=2.0
7780
+ MajorVer=2
7781
+ MinorVer=0
7782
+
7783
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Emacs/W3
7784
+
7785
+ [Emacs/W3]
7786
+ Parent=DefaultProperties
7787
+ Browser="Emacs/W3"
7788
+ Frames=true
7789
+ Tables=true
7790
+ Cookies=true
7791
+
7792
+ [Emacs/W3/2.* (Unix*]
7793
+ Parent=Emacs/W3
7794
+ Version=2.0
7795
+ MajorVer=2
7796
+ MinorVer=0
7797
+ Platform=Unix
7798
+
7799
+ [Emacs/W3/2.* (X11*]
7800
+ Parent=Emacs/W3
7801
+ Version=2.0
7802
+ MajorVer=2
7803
+ MinorVer=0
7804
+ Platform=Linux
7805
+
7806
+ [Emacs/W3/3.* (Unix*]
7807
+ Parent=Emacs/W3
7808
+ Version=3.0
7809
+ MajorVer=3
7810
+ MinorVer=0
7811
+ Platform=Unix
7812
+
7813
+ [Emacs/W3/3.* (X11*]
7814
+ Parent=Emacs/W3
7815
+ Version=3.0
7816
+ MajorVer=3
7817
+ MinorVer=0
7818
+ Platform=Linux
7819
+
7820
+ [Emacs/W3/4.* (Unix*]
7821
+ Parent=Emacs/W3
7822
+ Version=4.0
7823
+ MajorVer=4
7824
+ MinorVer=0
7825
+ Platform=Unix
7826
+
7827
+ [Emacs/W3/4.* (X11*]
7828
+ Parent=Emacs/W3
7829
+ Version=4.0
7830
+ MajorVer=4
7831
+ MinorVer=0
7832
+ Platform=Linux
7833
+
7834
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; fantomas
7835
+
7836
+ [fantomas]
7837
+ Parent=DefaultProperties
7838
+ Browser="fantomas"
7839
+ Frames=true
7840
+ IFrames=true
7841
+ Tables=true
7842
+ Cookies=true
7843
+ JavaScript=true
7844
+
7845
+ [Mozilla/4.0 (cloakBrowser)]
7846
+ Parent=fantomas
7847
+ Browser="fantomas cloakBrowser"
7848
+
7849
+ [Mozilla/4.0 (fantomas shadowMaker Browser)]
7850
+ Parent=fantomas
7851
+ Browser="fantomas shadowMaker Browser"
7852
+
7853
+ [Mozilla/4.0 (fantomBrowser)]
7854
+ Parent=fantomas
7855
+ Browser="fantomas fantomBrowser"
7856
+
7857
+ [Mozilla/4.0 (fantomCrew Browser)]
7858
+ Parent=fantomas
7859
+ Browser="fantomas fantomCrew Browser"
7860
+
7861
+ [Mozilla/4.0 (stealthBrowser)]
7862
+ Parent=fantomas
7863
+ Browser="fantomas stealthBrowser"
7864
+
7865
+ [multiBlocker browser*]
7866
+ Parent=fantomas
7867
+ Browser="fantomas multiBlocker browser"
7868
+
7869
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; FrontPage
7870
+
7871
+ [FrontPage]
7872
+ Parent=DefaultProperties
7873
+ Browser="FrontPage"
7874
+ Frames=true
7875
+ IFrames=true
7876
+ Tables=true
7877
+ Cookies=true
7878
+ JavaScript=true
7879
+
7880
+ [Mozilla/?* (compatible; MS FrontPage*)]
7881
+ Parent=FrontPage
7882
+
7883
+ [MSFrontPage/*]
7884
+ Parent=FrontPage
7885
+
7886
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Galeon
7887
+
7888
+ [Galeon]
7889
+ Parent=DefaultProperties
7890
+ Browser="Galeon"
7891
+ Platform=Linux
7892
+ Frames=true
7893
+ IFrames=true
7894
+ Tables=true
7895
+ Cookies=true
7896
+ JavaApplets=true
7897
+ JavaScript=true
7898
+ CssVersion=2
7899
+ supportsCSS=true
7900
+
7901
+ [Mozilla/5.0 (X11; U; Linux*) Gecko/* Galeon/1.*]
7902
+ Parent=Galeon
7903
+ Version=1.0
7904
+ MajorVer=1
7905
+ MinorVer=0
7906
+
7907
+ [Mozilla/5.0 (X11; U; Linux*) Gecko/* Galeon/2.*]
7908
+ Parent=Galeon
7909
+ Version=2.0
7910
+ MajorVer=2
7911
+ MinorVer=0
7912
+
7913
+ [Mozilla/5.0 Galeon/1.* (X11; Linux*)*]
7914
+ Parent=Galeon
7915
+ Version=1.0
7916
+ MajorVer=1
7917
+ MinorVer=0
7918
+
7919
+ [Mozilla/5.0 Galeon/2.* (X11; Linux*)*]
7920
+ Parent=Galeon
7921
+ Version=2.0
7922
+ MajorVer=2
7923
+ MinorVer=0
7924
+
7925
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; HP Secure Web Browser
7926
+
7927
+ [HP Secure Web Browser]
7928
+ Parent=DefaultProperties
7929
+ Browser="HP Secure Web Browser"
7930
+ Platform=OpenVMS
7931
+ Frames=true
7932
+ IFrames=true
7933
+ Tables=true
7934
+ Cookies=true
7935
+ JavaApplets=true
7936
+ JavaScript=true
7937
+ CssVersion=2
7938
+ supportsCSS=true
7939
+
7940
+ [Mozilla/5.0 (X11; U; OpenVMS*; *; rv:1.0*) Gecko/*]
7941
+ Parent=HP Secure Web Browser
7942
+ Version=1.0
7943
+ MajorVer=1
7944
+ MinorVer=0
7945
+
7946
+ [Mozilla/5.0 (X11; U; OpenVMS*; *; rv:1.1*) Gecko/*]
7947
+ Parent=HP Secure Web Browser
7948
+ Version=1.1
7949
+ MajorVer=1
7950
+ MinorVer=1
7951
+
7952
+ [Mozilla/5.0 (X11; U; OpenVMS*; *; rv:1.2*) Gecko/*]
7953
+ Parent=HP Secure Web Browser
7954
+ Version=1.2
7955
+ MajorVer=1
7956
+ MinorVer=2
7957
+
7958
+ [Mozilla/5.0 (X11; U; OpenVMS*; *; rv:1.3*) Gecko/*]
7959
+ Parent=HP Secure Web Browser
7960
+ Version=1.3
7961
+ MajorVer=1
7962
+ MinorVer=3
7963
+
7964
+ [Mozilla/5.0 (X11; U; OpenVMS*; *; rv:1.4*) Gecko/*]
7965
+ Parent=HP Secure Web Browser
7966
+ Version=1.4
7967
+ MajorVer=1
7968
+ MinorVer=4
7969
+
7970
+ [Mozilla/5.0 (X11; U; OpenVMS*; *; rv:1.5*) Gecko/*]
7971
+ Parent=HP Secure Web Browser
7972
+ Version=1.5
7973
+ MajorVer=1
7974
+ MinorVer=5
7975
+
7976
+ [Mozilla/5.0 (X11; U; OpenVMS*; *; rv:1.6*) Gecko/*]
7977
+ Parent=HP Secure Web Browser
7978
+ Version=1.6
7979
+ MajorVer=1
7980
+ MinorVer=6
7981
+
7982
+ [Mozilla/5.0 (X11; U; OpenVMS*; *; rv:1.7*) Gecko/*]
7983
+ Parent=HP Secure Web Browser
7984
+ Version=1.7
7985
+ MajorVer=1
7986
+ MinorVer=7
7987
+
7988
+ [Mozilla/5.0 (X11; U; OpenVMS*; *; rv:1.8*) Gecko/*]
7989
+ Parent=HP Secure Web Browser
7990
+ Version=1.8
7991
+ MajorVer=1
7992
+ MinorVer=8
7993
+
7994
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; IBrowse
7995
+
7996
+ [IBrowse]
7997
+ Parent=DefaultProperties
7998
+ Browser="IBrowse"
7999
+ Platform=Amiga
8000
+ Frames=true
8001
+ Tables=true
8002
+ Cookies=true
8003
+ JavaScript=true
8004
+
8005
+ [Arexx (compatible; MSIE 6.0; AmigaOS5.0) IBrowse 4.0]
8006
+ Parent=IBrowse
8007
+ Version=4.0
8008
+ MajorVer=4
8009
+ MinorVer=0
8010
+
8011
+ [IBrowse/1.22 (AmigaOS *)]
8012
+ Parent=IBrowse
8013
+ Version=1.22
8014
+ MajorVer=1
8015
+ MinorVer=22
8016
+
8017
+ [IBrowse/2.1 (AmigaOS *)]
8018
+ Parent=IBrowse
8019
+ Version=2.1
8020
+ MajorVer=2
8021
+ MinorVer=1
8022
+
8023
+ [IBrowse/2.2 (AmigaOS *)]
8024
+ Parent=IBrowse
8025
+ Version=2.2
8026
+ MajorVer=2
8027
+ MinorVer=2
8028
+
8029
+ [IBrowse/2.3 (AmigaOS *)]
8030
+ Parent=IBrowse
8031
+ Version=2.2
8032
+ MajorVer=2
8033
+ MinorVer=3
8034
+
8035
+ [Mozilla/* (Win98; I) IBrowse/2.1 (AmigaOS 3.1)]
8036
+ Parent=IBrowse
8037
+ Version=2.1
8038
+ MajorVer=2
8039
+ MinorVer=1
8040
+
8041
+ [Mozilla/* (Win98; I) IBrowse/2.2 (AmigaOS 3.1)]
8042
+ Parent=IBrowse
8043
+ Version=2.2
8044
+ MajorVer=2
8045
+ MinorVer=2
8046
+
8047
+ [Mozilla/* (Win98; I) IBrowse/2.3 (AmigaOS 3.1)]
8048
+ Parent=IBrowse
8049
+ Version=2.3
8050
+ MajorVer=2
8051
+ MinorVer=3
8052
+
8053
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; iCab
8054
+
8055
+ [iCab]
8056
+ Parent=DefaultProperties
8057
+ Browser="iCab"
8058
+ Frames=true
8059
+ Tables=true
8060
+ Cookies=true
8061
+ JavaScript=true
8062
+ CssVersion=1
8063
+ supportsCSS=true
8064
+
8065
+ [iCab/2.7* (Macintosh; ?; 68K*)]
8066
+ Parent=iCab
8067
+ Version=2.7
8068
+ MajorVer=2
8069
+ MinorVer=7
8070
+ Platform=Mac68K
8071
+
8072
+ [iCab/2.7* (Macintosh; ?; PPC*)]
8073
+ Parent=iCab
8074
+ Version=2.7
8075
+ MajorVer=2
8076
+ MinorVer=7
8077
+ Platform=MacPPC
8078
+
8079
+ [iCab/2.8* (Macintosh; ?; *Mac OS X*)]
8080
+ Parent=iCab
8081
+ Version=2.8
8082
+ MajorVer=2
8083
+ MinorVer=8
8084
+ Platform=MacOSX
8085
+
8086
+ [iCab/2.8* (Macintosh; ?; 68K*)]
8087
+ Parent=iCab
8088
+ Version=2.8
8089
+ MajorVer=2
8090
+ MinorVer=8
8091
+ Platform=Mac68K
8092
+
8093
+ [iCab/2.8* (Macintosh; ?; PPC)]
8094
+ Parent=iCab
8095
+ Version=2.8
8096
+ MajorVer=2
8097
+ MinorVer=8
8098
+ Platform=MacPPC
8099
+
8100
+ [iCab/2.9* (Macintosh; ?; *Mac OS X*)]
8101
+ Parent=iCab
8102
+ Version=2.9
8103
+ MajorVer=2
8104
+ MinorVer=9
8105
+ Platform=MacOSX
8106
+
8107
+ [iCab/2.9* (Macintosh; ?; 68K*)]
8108
+ Parent=iCab
8109
+ Version=2.9
8110
+ MajorVer=2
8111
+ MinorVer=9
8112
+ Platform=Mac68K
8113
+
8114
+ [iCab/2.9* (Macintosh; ?; PPC*)]
8115
+ Parent=iCab
8116
+ Version=2.9
8117
+ MajorVer=2
8118
+ MinorVer=9
8119
+ Platform=MacPPC
8120
+
8121
+ [iCab/3.0* (Macintosh; ?; *Mac OS X*)]
8122
+ Parent=iCab
8123
+ Version=3.0
8124
+ MajorVer=3
8125
+ MinorVer=0
8126
+ Platform=MacOSX
8127
+ CssVersion=2
8128
+ supportsCSS=true
8129
+
8130
+ [iCab/3.0* (Macintosh; ?; PPC*)]
8131
+ Parent=iCab
8132
+ Version=3.0
8133
+ MajorVer=3
8134
+ MinorVer=0
8135
+ Platform=MacPPC
8136
+ CssVersion=2
8137
+ supportsCSS=true
8138
+
8139
+ [iCab/4.0 (Macintosh; U; *Mac OS X)]
8140
+ Parent=iCab
8141
+ Version=4.0
8142
+ MajorVer=4
8143
+ MinorVer=0
8144
+ Platform=MacOSX
8145
+
8146
+ [Mozilla/* (compatible; iCab 3.0*; Macintosh; *Mac OS X*)]
8147
+ Parent=iCab
8148
+ Version=3.0
8149
+ MajorVer=3
8150
+ MinorVer=0
8151
+ Platform=MacOSX
8152
+ CssVersion=2
8153
+ supportsCSS=true
8154
+
8155
+ [Mozilla/* (compatible; iCab 3.0*; Macintosh; ?; PPC*)]
8156
+ Parent=iCab
8157
+ Version=3.0
8158
+ MajorVer=3
8159
+ MinorVer=0
8160
+ Platform=MacPPC
8161
+ CssVersion=2
8162
+ supportsCSS=true
8163
+
8164
+ [Mozilla/4.5 (compatible; iCab 2.7*; Macintosh; ?; 68K*)]
8165
+ Parent=iCab
8166
+ Version=2.7
8167
+ MajorVer=2
8168
+ MinorVer=7
8169
+ Platform=Mac68K
8170
+
8171
+ [Mozilla/4.5 (compatible; iCab 2.7*; Macintosh; ?; PPC*)]
8172
+ Parent=iCab
8173
+ Version=2.7
8174
+ MajorVer=2
8175
+ MinorVer=7
8176
+ Platform=MacPPC
8177
+
8178
+ [Mozilla/4.5 (compatible; iCab 2.8*; Macintosh; ?; *Mac OS X*)]
8179
+ Parent=iCab
8180
+ Version=2.8
8181
+ MajorVer=2
8182
+ MinorVer=8
8183
+ Platform=MacOSX
8184
+
8185
+ [Mozilla/4.5 (compatible; iCab 2.8*; Macintosh; ?; PPC*)]
8186
+ Parent=iCab
8187
+ Version=2.8
8188
+ MajorVer=2
8189
+ MinorVer=8
8190
+ Platform=MacPPC
8191
+
8192
+ [Mozilla/4.5 (compatible; iCab 2.9*; Macintosh; *Mac OS X*)]
8193
+ Parent=iCab
8194
+ Version=2.9
8195
+ MajorVer=2
8196
+ MinorVer=9
8197
+ Platform=MacOSX
8198
+
8199
+ [Mozilla/4.5 (compatible; iCab 2.9*; Macintosh; ?; PPC*)]
8200
+ Parent=iCab
8201
+ Version=2.9
8202
+ MajorVer=2
8203
+ MinorVer=9
8204
+ Platform=MacPPC
8205
+
8206
+ [Mozilla/4.5 (compatible; iCab 4.2*; Macintosh; *Mac OS X*)]
8207
+ Parent=iCab
8208
+ Version=4.2
8209
+ MajorVer=4
8210
+ MinorVer=2
8211
+ Platform=MacOSX
8212
+
8213
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; iSiloX
8214
+
8215
+ [iSiloX]
8216
+ Parent=DefaultProperties
8217
+ Browser="iSiloX"
8218
+ Frames=true
8219
+ IFrames=true
8220
+ Tables=true
8221
+ Cookies=true
8222
+ JavaScript=true
8223
+ Crawler=true
8224
+ CssVersion=2
8225
+ supportsCSS=true
8226
+
8227
+ [iSiloX/4.0* MacOS]
8228
+ Parent=iSiloX
8229
+ Version=4.0
8230
+ MajorVer=4
8231
+ MinorVer=0
8232
+ Platform=MacPPC
8233
+
8234
+ [iSiloX/4.0* Windows/32]
8235
+ Parent=iSiloX
8236
+ Version=4.0
8237
+ MajorVer=4
8238
+ MinorVer=0
8239
+ Platform=Win32
8240
+ Win32=true
8241
+
8242
+ [iSiloX/4.1* MacOS]
8243
+ Parent=iSiloX
8244
+ Version=4.1
8245
+ MajorVer=4
8246
+ MinorVer=1
8247
+ Platform=MacPPC
8248
+
8249
+ [iSiloX/4.1* Windows/32]
8250
+ Parent=iSiloX
8251
+ Version=4.1
8252
+ MajorVer=4
8253
+ MinorVer=1
8254
+ Platform=Win32
8255
+ Win32=true
8256
+
8257
+ [iSiloX/4.2* MacOS]
8258
+ Parent=iSiloX
8259
+ Version=4.2
8260
+ MajorVer=4
8261
+ MinorVer=2
8262
+ Platform=MacPPC
8263
+
8264
+ [iSiloX/4.2* Windows/32]
8265
+ Parent=iSiloX
8266
+ Version=4.2
8267
+ MajorVer=4
8268
+ MinorVer=2
8269
+ Platform=Win32
8270
+ Win32=true
8271
+
8272
+ [iSiloX/4.3* MacOS]
8273
+ Parent=iSiloX
8274
+ Version=4.3
8275
+ MajorVer=4
8276
+ MinorVer=4
8277
+ Platform=MacOSX
8278
+
8279
+ [iSiloX/4.3* Windows/32]
8280
+ Parent=iSiloX
8281
+ Version=4.3
8282
+ MajorVer=4
8283
+ MinorVer=3
8284
+ Platform=Win32
8285
+ Win32=true
8286
+
8287
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Lycoris Desktop/LX
8288
+
8289
+ [Lycoris Desktop/LX]
8290
+ Parent=DefaultProperties
8291
+ Browser="Lycoris Desktop/LX"
8292
+ Frames=true
8293
+ IFrames=true
8294
+ Tables=true
8295
+ Cookies=true
8296
+ JavaApplets=true
8297
+ JavaScript=true
8298
+ Crawler=true
8299
+
8300
+ [Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.*: Desktop/LX Amethyst) Gecko/*]
8301
+ Parent=Lycoris Desktop/LX
8302
+ Version=1.1
8303
+ MajorVer=1
8304
+ MinorVer=1
8305
+ Platform=Linux
8306
+
8307
+ [Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.*; Desktop/LX Amethyst) Gecko/*]
8308
+ Parent=Lycoris Desktop/LX
8309
+ Version=1.0
8310
+ MajorVer=1
8311
+ MinorVer=0
8312
+ Platform=Linux
8313
+
8314
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Mosaic
8315
+
8316
+ [Mosaic]
8317
+ Parent=DefaultProperties
8318
+ Browser="Mosaic"
8319
+ Frames=true
8320
+ IFrames=true
8321
+ Tables=true
8322
+ Cookies=true
8323
+ JavaApplets=true
8324
+ JavaScript=true
8325
+
8326
+ [Mozilla/4.0 (VMS_Mosaic)]
8327
+ Parent=Mosaic
8328
+ Platform=OpenVMS
8329
+
8330
+ [VMS_Mosaic/3.7*]
8331
+ Parent=Mosaic
8332
+ Version=3.7
8333
+ MajorVer=3
8334
+ MinorVer=7
8335
+ Platform=OpenVMS
8336
+
8337
+ [VMS_Mosaic/3.8*]
8338
+ Parent=Mosaic
8339
+ Version=3.8
8340
+ MajorVer=3
8341
+ MinorVer=8
8342
+ Platform=OpenVMS
8343
+
8344
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; NetPositive
8345
+
8346
+ [NetPositive]
8347
+ Parent=DefaultProperties
8348
+ Browser="NetPositive"
8349
+ Platform=BeOS
8350
+ Frames=true
8351
+ IFrames=true
8352
+ Tables=true
8353
+ Cookies=true
8354
+ JavaApplets=true
8355
+ JavaScript=true
8356
+
8357
+ [*NetPositive/2.2*]
8358
+ Parent=NetPositive
8359
+ Version=2.2
8360
+ MajorVer=2
8361
+ MinorVer=2
8362
+
8363
+ [*NetPositive/2.2*BeOS*]
8364
+ Parent=NetPositive
8365
+ Version=2.2
8366
+ MajorVer=2
8367
+ MinorVer=2
8368
+
8369
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; OmniWeb
8370
+
8371
+ [OmniWeb]
8372
+ Parent=DefaultProperties
8373
+ Browser="OmniWeb"
8374
+ Platform=MacOSX
8375
+ Frames=true
8376
+ Tables=true
8377
+ Cookies=true
8378
+ JavaApplets=true
8379
+ JavaScript=true
8380
+ isMobileDevice=true
8381
+ CssVersion=2
8382
+ supportsCSS=true
8383
+
8384
+ [Mozilla/* (Macintosh; ?; *Mac OS X; *) AppleWebKit/* (*) OmniWeb/v4*]
8385
+ Parent=OmniWeb
8386
+ Version=4.5
8387
+ MajorVer=4
8388
+ MinorVer=5
8389
+ Platform=MacOSX
8390
+
8391
+ [Mozilla/* (Macintosh; ?; *Mac OS X; *) AppleWebKit/* (*) OmniWeb/v5*]
8392
+ Parent=OmniWeb
8393
+ Version=5.
8394
+ MajorVer=5
8395
+ MinorVer=0
8396
+ Platform=MacOSX
8397
+
8398
+ [Mozilla/* (Macintosh; ?; *Mac OS X; *) AppleWebKit/* (*) OmniWeb/v6*]
8399
+ Parent=OmniWeb
8400
+ Version=6.0
8401
+ MajorVer=6
8402
+ MinorVer=0
8403
+ Platform=MacOSX
8404
+
8405
+ [Mozilla/* (Macintosh; ?; PPC) OmniWeb/4*]
8406
+ Parent=OmniWeb
8407
+ Version=4.0
8408
+ MajorVer=4
8409
+ MinorVer=0
8410
+ Platform=MacPPC
8411
+
8412
+ [Mozilla/* (Macintosh; ?; PPC) OmniWeb/5*]
8413
+ Parent=OmniWeb
8414
+ Version=5.0
8415
+ MajorVer=5
8416
+ MinorVer=0
8417
+ Platform=MacOSX
8418
+
8419
+ [Mozilla/* (Macintosh; ?; PPC) OmniWeb/6*]
8420
+ Parent=OmniWeb
8421
+ Version=6.0
8422
+ MajorVer=6
8423
+ MinorVer=0
8424
+ Platform=MacPPC
8425
+
8426
+ [Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US) AppleWebKit/125.4 (KHTML, like Gecko, Safari) OmniWeb/v563.34]
8427
+ Parent=OmniWeb
8428
+ Version=5.1
8429
+ MajorVer=5
8430
+ MinorVer=1
8431
+
8432
+ [Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US) AppleWebKit/125.4 (KHTML, like Gecko, Safari) OmniWeb/v563.34]
8433
+ Parent=OmniWeb
8434
+ Version=5.1
8435
+ MajorVer=5
8436
+ MinorVer=1
8437
+
8438
+ [Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US) AppleWebKit/420+ (KHTML, like Gecko, Safari/420) OmniWeb/v607]
8439
+ Parent=OmniWeb
8440
+ Version=5.5
8441
+ MajorVer=5
8442
+ MinorVer=5
8443
+
8444
+ [Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US) AppleWebKit/420+ (KHTML, like Gecko, Safari/420) OmniWeb/v607]
8445
+ Parent=OmniWeb
8446
+ Version=5.5
8447
+ MajorVer=5
8448
+ MinorVer=5
8449
+
8450
+ [Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US) AppleWebKit/522+ (KHTML, like Gecko, Safari/522) OmniWeb/v613]
8451
+ Parent=OmniWeb
8452
+ Version=5.6
8453
+ MajorVer=5
8454
+ MinorVer=6
8455
+
8456
+ [Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US) AppleWebKit/522+ (KHTML, like Gecko, Safari/522) OmniWeb/v613]
8457
+ Parent=OmniWeb
8458
+ Version=5.6
8459
+ MajorVer=5
8460
+ MinorVer=6
8461
+
8462
+ [Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US) AppleWebKit/85 (KHTML, like Gecko) OmniWeb/v496]
8463
+ Parent=OmniWeb
8464
+ Version=4.5
8465
+ MajorVer=4
8466
+ MinorVer=5
8467
+
8468
+ [Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US) AppleWebKit/85 (KHTML, like Gecko) OmniWeb/v558.36 ]
8469
+ Parent=OmniWeb
8470
+ Version=5.0
8471
+ MajorVer=5
8472
+ MinorVer=0
8473
+
8474
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Shiira
8475
+
8476
+ [Shiira]
8477
+ Parent=DefaultProperties
8478
+ Browser="Shiira"
8479
+ Platform=MacOSX
8480
+ Frames=true
8481
+ IFrames=true
8482
+ Tables=true
8483
+ Cookies=true
8484
+ BackgroundSounds=true
8485
+ JavaApplets=true
8486
+ JavaScript=true
8487
+ CssVersion=2
8488
+ supportsCSS=true
8489
+
8490
+ [Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Shiira/0.9*]
8491
+ Parent=Shiira
8492
+ Version=0.9
8493
+ MajorVer=0
8494
+ MinorVer=9
8495
+
8496
+ [Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Shiira/1.0*]
8497
+ Parent=Shiira
8498
+ Version=1.0
8499
+ MajorVer=1
8500
+ MinorVer=0
8501
+
8502
+ [Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Shiira/1.1*]
8503
+ Parent=Shiira
8504
+ Version=1.1
8505
+ MajorVer=1
8506
+ MinorVer=1
8507
+
8508
+ [Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Shiira/1.2*]
8509
+ Parent=Shiira
8510
+ Version=1.2
8511
+ MajorVer=1
8512
+ MinorVer=2
8513
+
8514
+ [Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Shiira/2.1*]
8515
+ Parent=Shiira
8516
+ Version=2.1
8517
+ MajorVer=2
8518
+ MinorVer=1
8519
+
8520
+ [Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Shiira/2.2*]
8521
+ Parent=Shiira
8522
+ Version=2.2
8523
+ MajorVer=2
8524
+ MinorVer=2
8525
+
8526
+ [Windows Maker]
8527
+ Parent=DefaultProperties
8528
+ Browser="WMaker"
8529
+ Platform=Linux
8530
+ Frames=true
8531
+ IFrames=true
8532
+ Tables=true
8533
+ Cookies=true
8534
+ VBScript=true
8535
+ JavaApplets=true
8536
+ JavaScript=true
8537
+ CssVersion=2
8538
+ supportsCSS=true
8539
+
8540
+ [WMaker*]
8541
+ Parent=Windows Maker
8542
+
8543
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; K-Meleon 1.0
8544
+
8545
+ [K-Meleon 1.0]
8546
+ Parent=DefaultProperties
8547
+ Browser="K-Meleon"
8548
+ Version=1.0
8549
+ MajorVer=1
8550
+ Win32=true
8551
+ Frames=true
8552
+ IFrames=true
8553
+ Tables=true
8554
+ Cookies=true
8555
+ JavaApplets=true
8556
+ JavaScript=true
8557
+ CssVersion=2
8558
+ supportsCSS=true
8559
+
8560
+ [Mozilla/5.0 (Windows; *; Win95; *; rv:1.*) Gecko/* K-Meleon/1.0*]
8561
+ Parent=K-Meleon 1.0
8562
+ Version=1.0
8563
+ MajorVer=1
8564
+ MinorVer=0
8565
+ Platform=Win95
8566
+ Win32=true
8567
+
8568
+ [Mozilla/5.0 (Windows; *; Win98; *; rv:1.*) Gecko/* K-Meleon/1.0*]
8569
+ Parent=K-Meleon 1.0
8570
+ Version=1.0
8571
+ MajorVer=1
8572
+ MinorVer=0
8573
+ Platform=Win98
8574
+ Win32=true
8575
+
8576
+ [Mozilla/5.0 (Windows; *; Windows NT 5.0; *; rv:1.*) Gecko/* K-Meleon?1.0*]
8577
+ Parent=K-Meleon 1.0
8578
+ Version=1.0
8579
+ MajorVer=1
8580
+ MinorVer=0
8581
+ Platform=Win2000
8582
+ Win32=true
8583
+
8584
+ [Mozilla/5.0 (Windows; *; Windows NT 5.1; *; rv:1.*) Gecko/* K-Meleon/1.0*]
8585
+ Parent=K-Meleon 1.0
8586
+ Version=1.0
8587
+ MajorVer=1
8588
+ MinorVer=0
8589
+ Platform=WinXP
8590
+ Win32=true
8591
+
8592
+ [Mozilla/5.0 (Windows; *; Windows NT 5.2; *; rv:1.*) Gecko/* K-Meleon/1.0*]
8593
+ Parent=K-Meleon 1.0
8594
+ Version=1.0
8595
+ MajorVer=1
8596
+ MinorVer=0
8597
+ Platform=Win2003
8598
+ Win32=true
8599
+
8600
+ [Mozilla/5.0 (Windows; *; WinNT4.0; *; rv:1.*) Gecko/* K-Meleon/1.0*]
8601
+ Parent=K-Meleon 1.0
8602
+ Version=1.0
8603
+ MajorVer=1
8604
+ MinorVer=0
8605
+ Platform=WinNT
8606
+ Win32=true
8607
+
8608
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; K-Meleon 1.1
8609
+
8610
+ [K-Meleon 1.1]
8611
+ Parent=DefaultProperties
8612
+ Browser="K-Meleon"
8613
+ Version=1.1
8614
+ MajorVer=1
8615
+ MinorVer=1
8616
+ Win32=true
8617
+ Frames=true
8618
+ IFrames=true
8619
+ Tables=true
8620
+ Cookies=true
8621
+ JavaApplets=true
8622
+ JavaScript=true
8623
+ CssVersion=2
8624
+ supportsCSS=true
8625
+
8626
+ [Mozilla/5.0 (Windows; *; Win95; *; rv:1.*) Gecko/* K-Meleon/1.1*]
8627
+ Parent=K-Meleon 1.1
8628
+ Version=1.0
8629
+ MajorVer=1
8630
+ MinorVer=0
8631
+ Platform=Win95
8632
+ Win32=true
8633
+
8634
+ [Mozilla/5.0 (Windows; *; Win98; *; rv:1.*) Gecko/* K-Meleon/1.1*]
8635
+ Parent=K-Meleon 1.1
8636
+ Version=1.0
8637
+ MajorVer=1
8638
+ MinorVer=0
8639
+ Platform=Win98
8640
+ Win32=true
8641
+
8642
+ [Mozilla/5.0 (Windows; *; Windows NT 5.0; *; rv:1.*) Gecko/* K-Meleon?1.1*]
8643
+ Parent=K-Meleon 1.1
8644
+ Version=1.0
8645
+ MajorVer=1
8646
+ MinorVer=0
8647
+ Platform=Win2000
8648
+ Win32=true
8649
+
8650
+ [Mozilla/5.0 (Windows; *; Windows NT 5.1; *; rv:1.*) Gecko/* K-Meleon/1.1*]
8651
+ Parent=K-Meleon 1.1
8652
+ Version=1.0
8653
+ MajorVer=1
8654
+ MinorVer=0
8655
+ Platform=WinXP
8656
+ Win32=true
8657
+
8658
+ [Mozilla/5.0 (Windows; *; Windows NT 5.2; *; rv:1.*) Gecko/* K-Meleon/1.1*]
8659
+ Parent=K-Meleon 1.1
8660
+ Version=1.0
8661
+ MajorVer=1
8662
+ MinorVer=0
8663
+ Platform=Win2003
8664
+ Win32=true
8665
+
8666
+ [Mozilla/5.0 (Windows; *; WinNT4.0; *; rv:1.*) Gecko/* K-Meleon/1.1*]
8667
+ Parent=K-Meleon 1.1
8668
+ Version=1.0
8669
+ MajorVer=1
8670
+ MinorVer=0
8671
+ Platform=WinNT
8672
+ Win32=true
8673
+
8674
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; K-Meleon 1.5
8675
+
8676
+ [K-Meleon 1.5]
8677
+ Parent=DefaultProperties
8678
+ Browser="K-Meleon"
8679
+ Version=1.5
8680
+ MajorVer=1
8681
+ MinorVer=5
8682
+ Win32=true
8683
+ Frames=true
8684
+ IFrames=true
8685
+ Tables=true
8686
+ Cookies=true
8687
+ JavaApplets=true
8688
+ JavaScript=true
8689
+ CssVersion=2
8690
+ supportsCSS=true
8691
+
8692
+ [Mozilla/5.0 (Windows; *; Win95; *; rv:1.*) Gecko/* K-Meleon/1.5*]
8693
+ Parent=K-Meleon 1.5
8694
+ Version=1.0
8695
+ MajorVer=1
8696
+ MinorVer=0
8697
+ Platform=Win95
8698
+ Win32=true
8699
+
8700
+ [Mozilla/5.0 (Windows; *; Win98; *; rv:1.*) Gecko/* K-Meleon/1.5*]
8701
+ Parent=K-Meleon 1.5
8702
+ Version=1.0
8703
+ MajorVer=1
8704
+ MinorVer=0
8705
+ Platform=Win98
8706
+ Win32=true
8707
+
8708
+ [Mozilla/5.0 (Windows; *; Windows NT 5.0; *; rv:1.*) Gecko/* K-Meleon?1.5*]
8709
+ Parent=K-Meleon 1.5
8710
+ Version=1.0
8711
+ MajorVer=1
8712
+ MinorVer=0
8713
+ Platform=Win2000
8714
+ Win32=true
8715
+
8716
+ [Mozilla/5.0 (Windows; *; Windows NT 5.1; *; rv:1.*) Gecko/* K-Meleon/1.5*]
8717
+ Parent=K-Meleon 1.5
8718
+ Version=1.0
8719
+ MajorVer=1
8720
+ MinorVer=0
8721
+ Platform=WinXP
8722
+ Win32=true
8723
+
8724
+ [Mozilla/5.0 (Windows; *; Windows NT 5.2; *; rv:1.*) Gecko/* K-Meleon/1.5*]
8725
+ Parent=K-Meleon 1.5
8726
+ Version=1.0
8727
+ MajorVer=1
8728
+ MinorVer=0
8729
+ Platform=Win2003
8730
+ Win32=true
8731
+
8732
+ [Mozilla/5.0 (Windows; *; Windows NT 6.0; *; rv:1.*) Gecko/* K-Meleon/1.5*]
8733
+ Parent=K-Meleon 1.5
8734
+ Platform=WinVista
8735
+
8736
+ [Mozilla/5.0 (Windows; *; Windows NT 6.1; *; rv:1.*) Gecko/* K-Meleon/1.5*]
8737
+ Parent=K-Meleon 1.5
8738
+ Platform=Win7
8739
+
8740
+ [Mozilla/5.0 (Windows; *; WinNT4.0; *; rv:1.*) Gecko/* K-Meleon/1.5*]
8741
+ Parent=K-Meleon 1.5
8742
+ Version=1.0
8743
+ MajorVer=1
8744
+ MinorVer=0
8745
+ Platform=WinNT
8746
+ Win32=true
8747
+
8748
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Konqueror 3.0
8749
+
8750
+ [Konqueror 3.0]
8751
+ Parent=DefaultProperties
8752
+ Browser="Konqueror"
8753
+ Platform=Linux
8754
+ Frames=true
8755
+ IFrames=true
8756
+ Tables=true
8757
+ Cookies=true
8758
+ JavaScript=true
8759
+ CssVersion=2
8760
+ supportsCSS=true
8761
+
8762
+ [*Konqueror/3.0*]
8763
+ Parent=Konqueror 3.0
8764
+ Version=3.0
8765
+ MajorVer=3
8766
+ MinorVer=0
8767
+ IFrames=false
8768
+
8769
+ [*Konqueror/3.0*FreeBSD*]
8770
+ Parent=Konqueror 3.0
8771
+ Version=3.0
8772
+ MajorVer=3
8773
+ MinorVer=0
8774
+ Platform=FreeBSD
8775
+ IFrames=false
8776
+
8777
+ [*Konqueror/3.0*Linux*]
8778
+ Parent=Konqueror 3.0
8779
+ Version=3.0
8780
+ MajorVer=3
8781
+ MinorVer=0
8782
+ Platform=Linux
8783
+ IFrames=false
8784
+
8785
+ [*Konqueror/3.1*]
8786
+ Parent=Konqueror 3.0
8787
+ Version=3.1
8788
+ MajorVer=3
8789
+ MinorVer=1
8790
+
8791
+ [*Konqueror/3.1*FreeBSD*]
8792
+ Parent=Konqueror 3.0
8793
+ Version=3.1
8794
+ MajorVer=3
8795
+ MinorVer=1
8796
+ Platform=FreeBSD
8797
+
8798
+ [*Konqueror/3.1*Linux*]
8799
+ Parent=Konqueror 3.0
8800
+ Version=3.1
8801
+ MajorVer=3
8802
+ MinorVer=1
8803
+
8804
+ [*Konqueror/3.2*]
8805
+ Parent=Konqueror 3.0
8806
+ Version=3.2
8807
+ MajorVer=3
8808
+ MinorVer=2
8809
+
8810
+ [*Konqueror/3.2*FreeBSD*]
8811
+ Parent=Konqueror 3.0
8812
+ Version=3.2
8813
+ MajorVer=3
8814
+ MinorVer=2
8815
+ Platform=FreeBSD
8816
+
8817
+ [*Konqueror/3.2*Linux*]
8818
+ Parent=Konqueror 3.0
8819
+ Version=3.2
8820
+ MajorVer=3
8821
+ MinorVer=2
8822
+ Platform=Linux
8823
+
8824
+ [*Konqueror/3.3*]
8825
+ Parent=Konqueror 3.0
8826
+ Version=3.3
8827
+ MajorVer=3
8828
+ MinorVer=3
8829
+
8830
+ [*Konqueror/3.3*FreeBSD*]
8831
+ Parent=Konqueror 3.0
8832
+ Version=3.3
8833
+ MajorVer=3
8834
+ MinorVer=3
8835
+ Platform=FreeBSD
8836
+
8837
+ [*Konqueror/3.3*Linux*]
8838
+ Parent=Konqueror 3.0
8839
+ Version=3.3
8840
+ MajorVer=3
8841
+ MinorVer=3
8842
+ Platform=Linux
8843
+
8844
+ [*Konqueror/3.3*OpenBSD*]
8845
+ Parent=Konqueror 3.0
8846
+ Version=3.3
8847
+ MajorVer=3
8848
+ MinorVer=3
8849
+ Platform=OpenBSD
8850
+
8851
+ [*Konqueror/3.4*]
8852
+ Parent=Konqueror 3.0
8853
+ Version=3.4
8854
+ MajorVer=3
8855
+ MinorVer=4
8856
+
8857
+ [*Konqueror/3.4*FreeBSD*]
8858
+ Parent=Konqueror 3.0
8859
+ Version=3.4
8860
+ MajorVer=3
8861
+ MinorVer=4
8862
+ Platform=FreeBSD
8863
+
8864
+ [*Konqueror/3.4*Linux*]
8865
+ Parent=Konqueror 3.0
8866
+ Version=3.4
8867
+ MajorVer=3
8868
+ MinorVer=4
8869
+ Platform=Linux
8870
+
8871
+ [*Konqueror/3.4*OpenBSD*]
8872
+ Parent=Konqueror 3.0
8873
+ Version=3.4
8874
+ MajorVer=3
8875
+ MinorVer=4
8876
+ Platform=OpenBSD
8877
+
8878
+ [*Konqueror/3.5*]
8879
+ Parent=Konqueror 3.0
8880
+ Version=3.5
8881
+ MajorVer=3
8882
+ MinorVer=5
8883
+
8884
+ [*Konqueror/3.5*FreeBSD*]
8885
+ Parent=Konqueror 3.0
8886
+ Version=3.5
8887
+ MajorVer=3
8888
+ MinorVer=5
8889
+ Platform=FreeBSD
8890
+
8891
+ [*Konqueror/3.5*Linux*]
8892
+ Parent=Konqueror 3.0
8893
+ Version=3.5
8894
+ MajorVer=3
8895
+ MinorVer=5
8896
+ Platform=Linux
8897
+
8898
+ [*Konqueror/3.5*OpenBSD*]
8899
+ Parent=Konqueror 3.0
8900
+ Version=3.5
8901
+ MajorVer=3
8902
+ MinorVer=5
8903
+ Platform=OpenBSD
8904
+
8905
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Konqueror 4.0
8906
+
8907
+ [Konqueror 4.0]
8908
+ Parent=DefaultProperties
8909
+ Browser="Konqueror"
8910
+ Version=4.0
8911
+ MajorVer=4
8912
+ Frames=true
8913
+ IFrames=true
8914
+ Tables=true
8915
+ Cookies=true
8916
+ JavaScript=true
8917
+ CssVersion=2
8918
+ supportsCSS=true
8919
+
8920
+ [Mozilla/5.0 (compatible; Konqueror/4.0*; Debian) KHTML/4.* (like Gecko)]
8921
+ Parent=Konqueror 4.0
8922
+ Platform=Debian
8923
+
8924
+ [Mozilla/5.0 (compatible; Konqueror/4.0.*; *Linux) KHTML/4.* (like Gecko)]
8925
+ Parent=Konqueror 4.0
8926
+ Platform=Linux
8927
+
8928
+ [Mozilla/5.0 (compatible; Konqueror/4.0.*; FreeBSD) KHTML/4.* (like Gecko)]
8929
+ Parent=Konqueror 4.0
8930
+ Platform=FreeBSD
8931
+
8932
+ [Mozilla/5.0 (compatible; Konqueror/4.0.*; NetBSD) KHTML/4.* (like Gecko)]
8933
+ Parent=Konqueror 4.0
8934
+ Platform=NetBSD
8935
+
8936
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Konqueror 4.1
8937
+
8938
+ [Konqueror 4.1]
8939
+ Parent=DefaultProperties
8940
+ Browser="Konqueror"
8941
+ Version=4.1
8942
+ MajorVer=4
8943
+ MinorVer=1
8944
+ Frames=true
8945
+ IFrames=true
8946
+ Tables=true
8947
+ Cookies=true
8948
+ JavaScript=true
8949
+ CssVersion=2
8950
+ supportsCSS=true
8951
+
8952
+ [Mozilla/5.0 (compatible; Konqueror/4.1*; *Linux*) KHTML/4.* (like Gecko)*]
8953
+ Parent=Konqueror 4.1
8954
+ Platform=Linux
8955
+
8956
+ [Mozilla/5.0 (compatible; Konqueror/4.1*; Debian) KHTML/4.* (like Gecko)*]
8957
+ Parent=Konqueror 4.1
8958
+ Platform=Debian
8959
+
8960
+ [Mozilla/5.0 (compatible; Konqueror/4.1*; FreeBSD) KHTML/4.* (like Gecko)*]
8961
+ Parent=Konqueror 4.1
8962
+ Platform=FreeBSD
8963
+
8964
+ [Mozilla/5.0 (compatible; Konqueror/4.1*; NetBSD) KHTML/4.* (like Gecko)*]
8965
+ Parent=Konqueror 4.1
8966
+ Platform=NetBSD
8967
+
8968
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Konqueror 4.2
8969
+
8970
+ [Konqueror 4.2]
8971
+ Parent=DefaultProperties
8972
+ Browser="Konqueror"
8973
+ Version=4.2
8974
+ MajorVer=4
8975
+ MinorVer=2
8976
+ Frames=true
8977
+ IFrames=true
8978
+ Tables=true
8979
+ Cookies=true
8980
+ JavaScript=true
8981
+ CssVersion=2
8982
+ supportsCSS=true
8983
+
8984
+ [Mozilla/5.0 (compatible; Konqueror/4.2*; *Linux*) KHTML/4.* (like Gecko)*]
8985
+ Parent=Konqueror 4.2
8986
+ Platform=Linux
8987
+
8988
+ [Mozilla/5.0 (compatible; Konqueror/4.2*; Debian) KHTML/4.* (like Gecko)*]
8989
+ Parent=Konqueror 4.2
8990
+ Platform=Debian
8991
+
8992
+ [Mozilla/5.0 (compatible; Konqueror/4.2*; FreeBSD) KHTML/4.* (like Gecko)*]
8993
+ Parent=Konqueror 4.2
8994
+ Platform=FreeBSD
8995
+
8996
+ [Mozilla/5.0 (compatible; Konqueror/4.2*; NetBSD) KHTML/4.* (like Gecko)*]
8997
+ Parent=Konqueror 4.2
8998
+ Platform=NetBSD
8999
+
9000
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Safari
9001
+
9002
+ [Safari]
9003
+ Parent=DefaultProperties
9004
+ Browser="Safari"
9005
+ Platform=MacOSX
9006
+ Frames=true
9007
+ IFrames=true
9008
+ Tables=true
9009
+ Cookies=true
9010
+ BackgroundSounds=true
9011
+ JavaApplets=true
9012
+ JavaScript=true
9013
+ CssVersion=2
9014
+ supportsCSS=true
9015
+
9016
+ [Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Safari/100*]
9017
+ Parent=Safari
9018
+ Version=1.1
9019
+ MajorVer=1
9020
+ MinorVer=1
9021
+
9022
+ [Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Safari/125*]
9023
+ Parent=Safari
9024
+ Version=1.2
9025
+ MajorVer=1
9026
+ MinorVer=2
9027
+
9028
+ [Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Safari/312*]
9029
+ Parent=Safari
9030
+ Version=1.3
9031
+ MajorVer=1
9032
+ MinorVer=3
9033
+
9034
+ [Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Safari/412*]
9035
+ Parent=Safari
9036
+ Version=2.0
9037
+ MajorVer=2
9038
+ MinorVer=0
9039
+
9040
+ [Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Safari/416*]
9041
+ Parent=Safari
9042
+ Version=2.0
9043
+ MajorVer=2
9044
+ MinorVer=0
9045
+
9046
+ [Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Safari/417*]
9047
+ Parent=Safari
9048
+ Version=2.0
9049
+ MajorVer=2
9050
+ MinorVer=0
9051
+
9052
+ [Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Safari/418*]
9053
+ Parent=Safari
9054
+ Version=2.0
9055
+ MajorVer=2
9056
+ MinorVer=0
9057
+
9058
+ [Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Safari/419*]
9059
+ Parent=Safari
9060
+ Version=2.0
9061
+ MajorVer=2
9062
+ MinorVer=0
9063
+
9064
+ [Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Safari/52*]
9065
+ Parent=Safari
9066
+ Beta=true
9067
+
9068
+ [Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Safari/85*]
9069
+ Parent=Safari
9070
+ Version=1.0
9071
+ MajorVer=1
9072
+ MinorVer=0
9073
+
9074
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Safari 3.0
9075
+
9076
+ [Safari 3.0]
9077
+ Parent=DefaultProperties
9078
+ Browser="Safari"
9079
+ Version=3.0
9080
+ MajorVer=3
9081
+ Platform=MacOSX
9082
+ Frames=true
9083
+ IFrames=true
9084
+ Tables=true
9085
+ Cookies=true
9086
+ BackgroundSounds=true
9087
+ JavaApplets=true
9088
+ JavaScript=true
9089
+ CssVersion=2
9090
+ supportsCSS=true
9091
+
9092
+ [Mozilla/5.0 (Macintosh; ?; *Mac OS X*) AppleWebKit/* (*) Version/3.0* Safari/*]
9093
+ Parent=Safari 3.0
9094
+ Platform=MacOSX
9095
+
9096
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.1; *) AppleWebKit/* (*) Version/3.0* Safari/*]
9097
+ Parent=Safari 3.0
9098
+ Platform=WinXP
9099
+
9100
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.2; *) AppleWebKit/* (*) Version/3.0* Safari/*]
9101
+ Parent=Safari 3.0
9102
+ Platform=Win2003
9103
+
9104
+ [Mozilla/5.0 (Windows; ?; Windows NT 6.0; *) AppleWebKit/* (*) Version/3.0* Safari/*]
9105
+ Parent=Safari 3.0
9106
+ Platform=WinVista
9107
+
9108
+ [Mozilla/5.0 (Windows; ?; Windows NT 6.1; *) AppleWebKit/* (*) Version/3.0* Safari/*]
9109
+ Parent=Safari 3.0
9110
+ Platform=Win7
9111
+
9112
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Safari 3.1
9113
+
9114
+ [Safari 3.1]
9115
+ Parent=DefaultProperties
9116
+ Browser="Safari"
9117
+ Version=3.1
9118
+ MajorVer=3
9119
+ MinorVer=1
9120
+ Platform=MacOSX
9121
+ Frames=true
9122
+ IFrames=true
9123
+ Tables=true
9124
+ Cookies=true
9125
+ BackgroundSounds=true
9126
+ JavaApplets=true
9127
+ JavaScript=true
9128
+ CssVersion=2
9129
+ supportsCSS=true
9130
+
9131
+ [Mozilla/5.0 (Macintosh; ?; *Mac OS X*) AppleWebKit/* (*) Version/3.1* Safari/*]
9132
+ Parent=Safari 3.1
9133
+ Platform=MacOSX
9134
+
9135
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.1; *) AppleWebKit/* (*) Version/3.1* Safari/*]
9136
+ Parent=Safari 3.1
9137
+ Platform=WinXP
9138
+
9139
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.2; *) AppleWebKit/* (*) Version/3.1* Safari/*]
9140
+ Parent=Safari 3.1
9141
+ Platform=Win2003
9142
+
9143
+ [Mozilla/5.0 (Windows; ?; Windows NT 6.0; *) AppleWebKit/* (*) Version/3.1* Safari/*]
9144
+ Parent=Safari 3.1
9145
+ Platform=WinVista
9146
+
9147
+ [Mozilla/5.0 (Windows; ?; Windows NT 6.1; *) AppleWebKit/* (*) Version/3.1* Safari/*]
9148
+ Parent=Safari 3.1
9149
+ Platform=Win7
9150
+
9151
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Safari 3.2
9152
+
9153
+ [Safari 3.2]
9154
+ Parent=DefaultProperties
9155
+ Browser="Safari"
9156
+ Version=3.2
9157
+ MajorVer=3
9158
+ MinorVer=2
9159
+ Frames=true
9160
+ IFrames=true
9161
+ Tables=true
9162
+ Cookies=true
9163
+ BackgroundSounds=true
9164
+ JavaApplets=true
9165
+ JavaScript=true
9166
+ CssVersion=3
9167
+ supportsCSS=true
9168
+
9169
+ [Mozilla/5.0 (Macintosh; ?; *Mac OS X*) AppleWebKit/* (*) Version/3.2* Safari/*]
9170
+ Parent=Safari 3.2
9171
+ Platform=MacOSX
9172
+
9173
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.1; *) AppleWebKit/* (*) Version/3.2* Safari/*]
9174
+ Parent=Safari 3.2
9175
+ Platform=WinXP
9176
+
9177
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.2; *) AppleWebKit/* (*) Version/3.2* Safari/*]
9178
+ Parent=Safari 3.2
9179
+ Platform=Win2003
9180
+
9181
+ [Mozilla/5.0 (Windows; ?; Windows NT 6.0; *) AppleWebKit/* (*) Version/3.2* Safari/*]
9182
+ Parent=Safari 3.2
9183
+ Platform=WinVista
9184
+
9185
+ [Mozilla/5.0 (Windows; ?; Windows NT 6.1; *) AppleWebKit/* (*) Version/3.2* Safari/*]
9186
+ Parent=Safari 3.2
9187
+ Platform=Win7
9188
+
9189
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Safari 4.0
9190
+
9191
+ [Safari 4.0]
9192
+ Parent=DefaultProperties
9193
+ Browser="Safari"
9194
+ Version=4.0
9195
+ MajorVer=4
9196
+ Beta=true
9197
+ Frames=true
9198
+ IFrames=true
9199
+ Tables=true
9200
+ Cookies=true
9201
+ BackgroundSounds=true
9202
+ JavaApplets=true
9203
+ JavaScript=true
9204
+ CssVersion=3
9205
+ supportsCSS=true
9206
+
9207
+ [Mozilla/5.0 (Macintosh; ?; *Mac OS X*; *) AppleWebKit/* (KHTML, like Gecko) Version/4.0* Safari/*]
9208
+ Parent=Safari 4.0
9209
+ Platform=MacOSX
9210
+
9211
+ [Mozilla/5.0 (Macintosh; U; *Mac OS X*; *) AppleWebKit/* (KHTML, like Gecko) Version/4 Public Beta Safari/*]
9212
+ Parent=Safari 4.0
9213
+
9214
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.1; *) AppleWebKit/* (*) Version/4 Public Beta Safari/*]
9215
+ Parent=Safari 4.0
9216
+ Platform=WinXP
9217
+
9218
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.1; *) AppleWebKit/* (*) Version/4.0* Safari/*]
9219
+ Parent=Safari 4.0
9220
+ Platform=WinXP
9221
+
9222
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.2; *) AppleWebKit/* (*) Version/4 Public Beta Safari/*]
9223
+ Parent=Safari 4.0
9224
+ Platform=Win2003
9225
+
9226
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.2; *) AppleWebKit/* (*) Version/4.0* Safari/*]
9227
+ Parent=Safari 4.0
9228
+ Platform=Win2003
9229
+
9230
+ [Mozilla/5.0 (Windows; ?; Windows NT 6.0; *) AppleWebKit/* (*) Version/4 Public Beta Safari/*]
9231
+ Parent=Safari 4.0
9232
+ Platform=WinVista
9233
+
9234
+ [Mozilla/5.0 (Windows; ?; Windows NT 6.0; *) AppleWebKit/* (*) Version/4.0* Safari/*]
9235
+ Parent=Safari 4.0
9236
+ Platform=WinVista
9237
+
9238
+ [Mozilla/5.0 (Windows; ?; Windows NT 6.1; *) AppleWebKit/* (*) Version/4 Public Beta Safari/*]
9239
+ Parent=Safari 4.0
9240
+ Platform=Win7
9241
+
9242
+ [Mozilla/5.0 (Windows; ?; Windows NT 6.1; *) AppleWebKit/* (*) Version/4.0* Safari/*]
9243
+ Parent=Safari 4.0
9244
+ Platform=Win7
9245
+
9246
+ [Mozilla/5.0 (Windows; ?; Windows NT 7.0; *) AppleWebKit/* (*) Version/4 Public Beta Safari/*]
9247
+ Parent=Safari 4.0
9248
+ Platform=Win7
9249
+
9250
+ [Mozilla/5.0 (Windows; ?; Windows NT 7.0; *) AppleWebKit/* (*) Version/4.0* Safari/*]
9251
+ Parent=Safari 4.0
9252
+ Platform=Win7
9253
+
9254
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 10.0
9255
+
9256
+ [Opera 10.0]
9257
+ Parent=DefaultProperties
9258
+ Browser="Opera"
9259
+ Version=10.0
9260
+ MajorVer=10
9261
+ Beta=true
9262
+ Frames=true
9263
+ IFrames=true
9264
+ Tables=true
9265
+ Cookies=true
9266
+ BackgroundSounds=true
9267
+ JavaApplets=true
9268
+ JavaScript=true
9269
+ CssVersion=3
9270
+ supportsCSS=true
9271
+
9272
+ [Mozilla/4.0 (compatible; MSIE ?.0; Windows NT 5.0; *) Opera 10.00]
9273
+ Parent=Opera 10.0
9274
+ Platform=Win2000
9275
+
9276
+ [Mozilla/4.0 (compatible; MSIE ?.0; Windows NT 5.1; *) Opera 10.00]
9277
+ Parent=Opera 10.0
9278
+ Platform=WinXP
9279
+
9280
+ [Mozilla/4.0 (compatible; MSIE ?.0; Windows NT 5.2; *) Opera 10.00]
9281
+ Parent=Opera 10.0
9282
+ Platform=Win2003
9283
+
9284
+ [Mozilla/4.0 (compatible; MSIE ?.0; Windows NT 6.0; *) Opera 10.00]
9285
+ Parent=Opera 10.0
9286
+ Platform=WinVista
9287
+
9288
+ [Mozilla/4.0 (compatible; MSIE ?.0; Windows NT 6.1; *) Opera 10.00]
9289
+ Parent=Opera 10.0
9290
+ Platform=Win7
9291
+
9292
+ [Mozilla/4.0 (compatible; MSIE ?.0; X11; FreeBSD*) Opera 10.00]
9293
+ Parent=Opera 10.0
9294
+ Platform=FreeBSD
9295
+
9296
+ [Mozilla/4.0 (compatible; MSIE ?.0; X11; Linux*; *) Opera 10.00]
9297
+ Parent=Opera 10.0
9298
+ Platform=Linux
9299
+
9300
+ [Mozilla/4.0 (compatible; MSIE ?.0; X11; SunOS*) Opera 10.00]
9301
+ Parent=Opera 10.0
9302
+ Platform=SunOS
9303
+
9304
+ [Opera/10.00 (Macintosh; *Mac OS X; U; *) Presto/2.2.*]
9305
+ Parent=Opera 10.0
9306
+ Platform=MacOSX
9307
+
9308
+ [Opera/10.00 (Windows NT 5.0; U; *) Presto/2.2.*]
9309
+ Parent=Opera 10.0
9310
+ Platform=Win2000
9311
+
9312
+ [Opera/10.00 (Windows NT 5.1; U; *) Presto/2.2.*]
9313
+ Parent=Opera 10.0
9314
+ Platform=WinXP
9315
+
9316
+ [Opera/10.00 (Windows NT 5.2; U; *) Presto/2.2.*]
9317
+ Parent=Opera 10.0
9318
+ Platform=Win2003
9319
+
9320
+ [Opera/10.00 (Windows NT 6.0; U; *) Presto/2.2.*]
9321
+ Parent=Opera 10.0
9322
+ Platform=WinVista
9323
+
9324
+ [Opera/10.00 (Windows NT 6.1; U; *) Presto/2.2.*]
9325
+ Parent=Opera 10.0
9326
+ Platform=Win7
9327
+
9328
+ [Opera/10.00 (X11; FreeBSD; U; *) Presto/2.2.*]
9329
+ Parent=Opera 10.0
9330
+ Platform=FreeBSD
9331
+
9332
+ [Opera/10.00 (X11; Linux*; U; *) Presto/2.2.*]
9333
+ Parent=Opera 10.0
9334
+ Platform=Linux
9335
+
9336
+ [Opera/10.00 (X11; SunOS; U; *) Presto/2.2.*]
9337
+ Parent=Opera 10.0
9338
+ Platform=SunOS
9339
+
9340
+ [Opera/9.80 (Macintosh; *Mac OS X; U; *) Presto/2.2.* Version/10.00]
9341
+ Parent=Opera 10.0
9342
+ Platform=MacOSX
9343
+
9344
+ [Opera/9.80 (Windows NT 5.0; U; *) Presto/2.2.* Version/10.00]
9345
+ Parent=Opera 10.0
9346
+ Platform=Win2000
9347
+
9348
+ [Opera/9.80 (Windows NT 5.1; U; *) Presto/2.2.* Version/10.00]
9349
+ Parent=Opera 10.0
9350
+ Platform=WinXP
9351
+
9352
+ [Opera/9.80 (Windows NT 5.2; U; *) Presto/2.2.* Version/10.00]
9353
+ Parent=Opera 10.0
9354
+ Platform=Win2003
9355
+
9356
+ [Opera/9.80 (Windows NT 6.0; U; *) Presto/2.2.* Version/10.00]
9357
+ Parent=Opera 10.0
9358
+ Platform=WinVista
9359
+
9360
+ [Opera/9.80 (Windows NT 6.1; U; *) Presto/2.2.* Version/10.00]
9361
+ Parent=Opera 10.0
9362
+ Platform=Win7
9363
+
9364
+ [Opera/9.80 (X11; FreeBSD; U; *) Presto/2.2.* Version/10.00]
9365
+ Parent=Opera 10.0
9366
+ Platform=FreeBSD
9367
+
9368
+ [Opera/9.80 (X11; Linux i686; U; *) Presto/2.2.* Version/10.00]
9369
+ Parent=Opera 10.0
9370
+ Platform=Linux
9371
+
9372
+ [Opera/9.80 (X11; SunOS; U; *) Presto/2.2.* Version/10.00]
9373
+ Parent=Opera 10.0
9374
+ Platform=SunOS
9375
+
9376
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 7.0
9377
+
9378
+ [Opera 7.0]
9379
+ Parent=DefaultProperties
9380
+ Browser="Opera"
9381
+ Version=7.0
9382
+ MajorVer=7
9383
+ Frames=true
9384
+ IFrames=true
9385
+ Tables=true
9386
+ Cookies=true
9387
+ BackgroundSounds=true
9388
+ JavaApplets=true
9389
+ JavaScript=true
9390
+ CssVersion=2
9391
+ supportsCSS=true
9392
+
9393
+ [Mozilla/3.0 (Windows 2000; ?) Opera 7.0*]
9394
+ Parent=Opera 7.0
9395
+ Platform=Win2000
9396
+ Win32=true
9397
+
9398
+ [Mozilla/3.0 (Windows 95; ?) Opera 7.0*]
9399
+ Parent=Opera 7.0
9400
+ Platform=Win95
9401
+ Win32=true
9402
+
9403
+ [Mozilla/3.0 (Windows 98; ?) Opera 7.0*]
9404
+ Parent=Opera 7.0
9405
+ Platform=Win98
9406
+ Win32=true
9407
+
9408
+ [Mozilla/3.0 (Windows ME; ?) Opera 7.0*]
9409
+ Parent=Opera 7.0
9410
+ Platform=WinME
9411
+ Win32=true
9412
+
9413
+ [Mozilla/3.0 (Windows NT 4.0; ?) Opera 7.0*]
9414
+ Parent=Opera 7.0
9415
+ Platform=WinNT
9416
+ Win32=true
9417
+
9418
+ [Mozilla/3.0 (Windows XP; ?) Opera 7.0*]
9419
+ Parent=Opera 7.0
9420
+ Platform=WinXP
9421
+ Win32=true
9422
+
9423
+ [Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows 2000) Opera 7.0*]
9424
+ Parent=Opera 7.0
9425
+ Platform=Win2000
9426
+ Win32=true
9427
+
9428
+ [Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows 95) Opera 7.0*]
9429
+ Parent=Opera 7.0
9430
+ Platform=Win95
9431
+ Win32=true
9432
+
9433
+ [Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows 98) Opera 7.0*]
9434
+ Parent=Opera 7.0
9435
+ Platform=Win98
9436
+ Win32=true
9437
+
9438
+ [Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows ME) Opera 7.0*]
9439
+ Parent=Opera 7.0
9440
+ Platform=WinME
9441
+ Win32=true
9442
+
9443
+ [Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows NT 4.0) Opera 7.0*]
9444
+ Parent=Opera 7.0
9445
+ Platform=WinNT
9446
+ Win32=true
9447
+
9448
+ [Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows NT 5.0) Opera 7.0*]
9449
+ Parent=Opera 7.0
9450
+ Platform=Win2000
9451
+ Win32=true
9452
+
9453
+ [Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows NT 5.1) Opera 7.0*]
9454
+ Parent=Opera 7.0
9455
+ Platform=WinXP
9456
+ Win32=true
9457
+
9458
+ [Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows XP) Opera 7.0*]
9459
+ Parent=Opera 7.0
9460
+ Platform=WinXP
9461
+ Win32=true
9462
+
9463
+ [Mozilla/4.78 (Windows 2000; ?) Opera 7.0*]
9464
+ Parent=Opera 7.0
9465
+ Platform=Win2000
9466
+ Win32=true
9467
+
9468
+ [Mozilla/4.78 (Windows 95; ?) Opera 7.0*]
9469
+ Parent=Opera 7.0
9470
+ Platform=Win95
9471
+ Win32=true
9472
+
9473
+ [Mozilla/4.78 (Windows 98; ?) Opera 7.0*]
9474
+ Parent=Opera 7.0
9475
+ Platform=Win98
9476
+ Win32=true
9477
+
9478
+ [Mozilla/4.78 (Windows ME; ?) Opera 7.0*]
9479
+ Parent=Opera 7.0
9480
+ Platform=WinME
9481
+ Win32=true
9482
+
9483
+ [Mozilla/4.78 (Windows NT 4.0; ?) Opera 7.0*]
9484
+ Parent=Opera 7.0
9485
+ Platform=WinNT
9486
+ Win32=true
9487
+
9488
+ [Mozilla/4.78 (Windows NT 5.1; ?) Opera 7.0*]
9489
+ Parent=Opera 7.0
9490
+ Platform=WinXP
9491
+ Win32=true
9492
+
9493
+ [Mozilla/4.78 (Windows Windows NT 5.0; ?) Opera 7.0*]
9494
+ Parent=Opera 7.0
9495
+ Platform=Win2000
9496
+ Win32=true
9497
+
9498
+ [Mozilla/4.78 (Windows XP; ?) Opera 7.0*]
9499
+ Parent=Opera 7.0
9500
+ Platform=WinXP
9501
+ Win32=true
9502
+
9503
+ [Mozilla/5.0 (Windows 2000; ?) Opera 7.0*]
9504
+ Parent=Opera 7.0
9505
+ Platform=Win2000
9506
+ Win32=true
9507
+
9508
+ [Mozilla/5.0 (Windows 95; ?) Opera 7.0*]
9509
+ Parent=Opera 7.0
9510
+ Platform=Win95
9511
+ Win32=true
9512
+
9513
+ [Mozilla/5.0 (Windows 98; ?) Opera 7.0*]
9514
+ Parent=Opera 7.0
9515
+ Platform=Win98
9516
+ Win32=true
9517
+
9518
+ [Mozilla/5.0 (Windows ME; ?) Opera 7.0*]
9519
+ Parent=Opera 7.0
9520
+ Platform=WinME
9521
+ Win32=true
9522
+
9523
+ [Mozilla/5.0 (Windows NT 4.0; ?) Opera 7.0*]
9524
+ Parent=Opera 7.0
9525
+ Platform=WinNT
9526
+ Win32=true
9527
+
9528
+ [Mozilla/5.0 (Windows NT 5.1; ?) Opera 7.0*]
9529
+ Parent=Opera 7.0
9530
+ Platform=WinXP
9531
+ Win32=true
9532
+
9533
+ [Mozilla/5.0 (Windows XP; ?) Opera 7.0*]
9534
+ Parent=Opera 7.0
9535
+ Platform=WinXP
9536
+ Win32=true
9537
+
9538
+ [Opera/7.0* (Windows 2000; ?)*]
9539
+ Parent=Opera 7.0
9540
+ Platform=Win2000
9541
+ Win32=true
9542
+
9543
+ [Opera/7.0* (Windows 95; ?)*]
9544
+ Parent=Opera 7.0
9545
+ Platform=Win95
9546
+ Win32=true
9547
+
9548
+ [Opera/7.0* (Windows 98; ?)*]
9549
+ Parent=Opera 7.0
9550
+ Platform=Win98
9551
+ Win32=true
9552
+
9553
+ [Opera/7.0* (Windows ME; ?)*]
9554
+ Parent=Opera 7.0
9555
+ Platform=WinME
9556
+ Win32=true
9557
+
9558
+ [Opera/7.0* (Windows NT 4.0; ?)*]
9559
+ Parent=Opera 7.0
9560
+ Platform=WinNT
9561
+ Win32=true
9562
+
9563
+ [Opera/7.0* (Windows NT 5.0; ?)*]
9564
+ Parent=Opera 7.0
9565
+ Platform=Win2000
9566
+ Win32=true
9567
+
9568
+ [Opera/7.0* (Windows NT 5.1; ?)*]
9569
+ Parent=Opera 7.0
9570
+ Platform=WinXP
9571
+ Win32=true
9572
+
9573
+ [Opera/7.0* (Windows XP; ?)*]
9574
+ Parent=Opera 7.0
9575
+ Platform=WinXP
9576
+ Win32=true
9577
+
9578
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 7.1
9579
+
9580
+ [Opera 7.1]
9581
+ Parent=DefaultProperties
9582
+ Browser="Opera"
9583
+ Version=7.1
9584
+ MajorVer=7
9585
+ MinorVer=1
9586
+ Frames=true
9587
+ IFrames=true
9588
+ Tables=true
9589
+ Cookies=true
9590
+ BackgroundSounds=true
9591
+ JavaApplets=true
9592
+ JavaScript=true
9593
+ CssVersion=2
9594
+ supportsCSS=true
9595
+
9596
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows 2000) Opera 7.1*]
9597
+ Parent=Opera 7.1
9598
+ Platform=Win2000
9599
+ Win32=true
9600
+
9601
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows 95) Opera 7.1*]
9602
+ Parent=Opera 7.1
9603
+ Platform=Win95
9604
+ Win32=true
9605
+
9606
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows 98) Opera 7.1*]
9607
+ Parent=Opera 7.1
9608
+ Platform=Win98
9609
+ Win32=true
9610
+
9611
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows ME) Opera 7.1*]
9612
+ Parent=Opera 7.1
9613
+ Platform=WinME
9614
+ Win32=true
9615
+
9616
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 4.0) Opera 7.1*]
9617
+ Parent=Opera 7.1
9618
+ Platform=WinNT
9619
+ Win32=true
9620
+
9621
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.0) Opera 7.1*]
9622
+ Parent=Opera 7.1
9623
+ Platform=Win2000
9624
+ Win32=true
9625
+
9626
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.1) Opera 7.1*]
9627
+ Parent=Opera 7.1
9628
+ Platform=WinXP
9629
+ Win32=true
9630
+
9631
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows XP) Opera 7.1*]
9632
+ Parent=Opera 7.1
9633
+ Platform=WinXP
9634
+ Win32=true
9635
+
9636
+ [Mozilla/?.* (Windows 2000; ?) Opera 7.1*]
9637
+ Parent=Opera 7.1
9638
+ Platform=Win2000
9639
+ Win32=true
9640
+
9641
+ [Mozilla/?.* (Windows 95; ?) Opera 7.1*]
9642
+ Parent=Opera 7.1
9643
+ Platform=Win95
9644
+ Win32=true
9645
+
9646
+ [Mozilla/?.* (Windows 98; ?) Opera 7.1*]
9647
+ Parent=Opera 7.1
9648
+ Platform=Win98
9649
+ Win32=true
9650
+
9651
+ [Mozilla/?.* (Windows ME; ?) Opera 7.1*]
9652
+ Parent=Opera 7.1
9653
+ Platform=WinME
9654
+ Win32=true
9655
+
9656
+ [Mozilla/?.* (Windows NT 4.0; U) Opera 7.1*]
9657
+ Parent=Opera 7.1
9658
+ Platform=WinNT
9659
+ Win32=true
9660
+
9661
+ [Mozilla/?.* (Windows NT 5.0; U) Opera 7.1*]
9662
+ Parent=Opera 7.1
9663
+ Platform=Win2000
9664
+ Win32=true
9665
+
9666
+ [Mozilla/?.* (Windows NT 5.1; ?) Opera 7.1*]
9667
+ Parent=Opera 7.1
9668
+ Platform=WinXP
9669
+ Win32=true
9670
+
9671
+ [Opera/7.1* (Linux*; ?)*]
9672
+ Parent=Opera 7.1
9673
+ Platform=Linux
9674
+
9675
+ [Opera/7.1* (Windows 95; ?)*]
9676
+ Parent=Opera 7.1
9677
+ Platform=Win95
9678
+ Win32=true
9679
+
9680
+ [Opera/7.1* (Windows 98; ?)*]
9681
+ Parent=Opera 7.1
9682
+ Platform=Win98
9683
+ Win32=true
9684
+
9685
+ [Opera/7.1* (Windows ME; ?)*]
9686
+ Parent=Opera 7.1
9687
+ Platform=WinME
9688
+ Win32=true
9689
+
9690
+ [Opera/7.1* (Windows NT 4.0; ?)*]
9691
+ Parent=Opera 7.1
9692
+ Platform=WinNT
9693
+ Win32=true
9694
+
9695
+ [Opera/7.1* (Windows NT 5.0; ?)*]
9696
+ Parent=Opera 7.1
9697
+ Platform=Win2000
9698
+ Win32=true
9699
+
9700
+ [Opera/7.1* (Windows NT 5.1; ?)*]
9701
+ Parent=Opera 7.1
9702
+ Platform=WinXP
9703
+ Win32=true
9704
+
9705
+ [Opera/7.1* (Windows XP; ?)*]
9706
+ Parent=Opera 7.1
9707
+ Platform=WinXP
9708
+ Win32=true
9709
+
9710
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 7.2
9711
+
9712
+ [Opera 7.2]
9713
+ Parent=DefaultProperties
9714
+ Browser="Opera"
9715
+ Version=7.2
9716
+ MajorVer=7
9717
+ MinorVer=2
9718
+ Frames=true
9719
+ IFrames=true
9720
+ Tables=true
9721
+ Cookies=true
9722
+ BackgroundSounds=true
9723
+ JavaApplets=true
9724
+ JavaScript=true
9725
+ CssVersion=2
9726
+ supportsCSS=true
9727
+
9728
+ [Mozilla/?.* (compatible; MSIE ?.*; Linux*) Opera 7.2*]
9729
+ Parent=Opera 7.2
9730
+ Platform=Linux
9731
+
9732
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows 2000) Opera 7.2*]
9733
+ Parent=Opera 7.2
9734
+ Platform=Win2000
9735
+ Win32=true
9736
+
9737
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows 95) Opera 7.2*]
9738
+ Parent=Opera 7.2
9739
+ Platform=Win95
9740
+ Win32=true
9741
+
9742
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows 98) Opera 7.2*]
9743
+ Parent=Opera 7.2
9744
+ Platform=Win98
9745
+ Win32=true
9746
+
9747
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows ME) Opera 7.2*]
9748
+ Parent=Opera 7.2
9749
+ Platform=WinME
9750
+ Win32=true
9751
+
9752
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 4.0) Opera 7.2*]
9753
+ Parent=Opera 7.2
9754
+ Platform=WinNT
9755
+ Win32=true
9756
+
9757
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.0) Opera 7.2*]
9758
+ Parent=Opera 7.2
9759
+ Platform=Win2000
9760
+ Win32=true
9761
+
9762
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.1) Opera 7.2*]
9763
+ Parent=Opera 7.2
9764
+ Platform=WinXP
9765
+ Win32=true
9766
+
9767
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.2) Opera 7.2*]
9768
+ Parent=Opera 7.2
9769
+ Platform=Win2003
9770
+ Win32=true
9771
+
9772
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows XP) Opera 7.2*]
9773
+ Parent=Opera 7.2
9774
+ Platform=WinXP
9775
+ Win32=true
9776
+
9777
+ [Mozilla/?.* (Windows 2000; ?) Opera 7.2*]
9778
+ Parent=Opera 7.2
9779
+ Platform=Win2000
9780
+ Win32=true
9781
+
9782
+ [Mozilla/?.* (Windows 95; ?) Opera 7.2*]
9783
+ Parent=Opera 7.2
9784
+ Platform=Win95
9785
+ Win32=true
9786
+
9787
+ [Mozilla/?.* (Windows 98; ?) Opera 7.2*]
9788
+ Parent=Opera 7.2
9789
+ Platform=Win98
9790
+ Win32=true
9791
+
9792
+ [Mozilla/?.* (Windows ME; ?) Opera 7.2*]
9793
+ Parent=Opera 7.2
9794
+ Platform=WinME
9795
+ Win32=true
9796
+
9797
+ [Mozilla/?.* (Windows NT 4.0; U) Opera 7.2*]
9798
+ Parent=Opera 7.2
9799
+ Platform=WinNT
9800
+ Win32=true
9801
+
9802
+ [Mozilla/?.* (Windows NT 5.0; U) Opera 7.2*]
9803
+ Parent=Opera 7.2
9804
+ Platform=Win2000
9805
+ Win32=true
9806
+
9807
+ [Mozilla/?.* (Windows NT 5.1; ?) Opera 7.2*]
9808
+ Parent=Opera 7.2
9809
+ Platform=WinXP
9810
+ Win32=true
9811
+
9812
+ [Mozilla/?.* (Windows NT 5.2; ?) Opera 7.2*]
9813
+ Parent=Opera 7.2
9814
+ Platform=Win2003
9815
+ Win32=true
9816
+
9817
+ [Opera/7.2* (Linux*; ?)*]
9818
+ Parent=Opera 7.2
9819
+ Platform=Linux
9820
+
9821
+ [Opera/7.2* (Windows 95; ?)*]
9822
+ Parent=Opera 7.2
9823
+ Platform=Win95
9824
+ Win32=true
9825
+
9826
+ [Opera/7.2* (Windows 98; ?)*]
9827
+ Parent=Opera 7.2
9828
+ Platform=Win98
9829
+ Win32=true
9830
+
9831
+ [Opera/7.2* (Windows ME; ?)*]
9832
+ Parent=Opera 7.2
9833
+ Platform=WinME
9834
+ Win32=true
9835
+
9836
+ [Opera/7.2* (Windows NT 4.0; ?)*]
9837
+ Parent=Opera 7.2
9838
+ Platform=WinNT
9839
+ Win32=true
9840
+
9841
+ [Opera/7.2* (Windows NT 5.0; ?)*]
9842
+ Parent=Opera 7.2
9843
+ Platform=Win2000
9844
+ Win32=true
9845
+
9846
+ [Opera/7.2* (Windows NT 5.1; ?)*]
9847
+ Parent=Opera 7.2
9848
+ Platform=WinXP
9849
+ Win32=true
9850
+
9851
+ [Opera/7.2* (Windows NT 5.2; ?)*]
9852
+ Parent=Opera 7.2
9853
+ Platform=Win2003
9854
+ Win32=true
9855
+
9856
+ [Opera/7.2* (Windows XP; ?)*]
9857
+ Parent=Opera 7.2
9858
+ Platform=WinXP
9859
+ Win32=true
9860
+
9861
+ [Opera/7.2* (X11; FreeBSD*; ?)*]
9862
+ Parent=Opera 7.2
9863
+ Platform=FreeBSD
9864
+
9865
+ [Opera/7.2* (X11; Linux*; ?)*]
9866
+ Parent=Opera 7.2
9867
+ Platform=Linux
9868
+
9869
+ [Opera/7.2* (X11; SunOS*)*]
9870
+ Parent=Opera 7.2
9871
+ Platform=SunOS
9872
+
9873
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 7.5
9874
+
9875
+ [Opera 7.5]
9876
+ Parent=DefaultProperties
9877
+ Browser="Opera"
9878
+ Version=7.5
9879
+ MajorVer=7
9880
+ MinorVer=5
9881
+ Frames=true
9882
+ IFrames=true
9883
+ Tables=true
9884
+ Cookies=true
9885
+ BackgroundSounds=true
9886
+ JavaApplets=true
9887
+ JavaScript=true
9888
+ CssVersion=2
9889
+ supportsCSS=true
9890
+
9891
+ [Mozilla/?.* (compatible; MSIE ?.*; Linux*) Opera 7.5*]
9892
+ Parent=Opera 7.5
9893
+ Platform=Linux
9894
+
9895
+ [Mozilla/?.* (compatible; MSIE ?.*; Mac_PowerPC) Opera 7.5*]
9896
+ Parent=Opera 7.5
9897
+ Platform=MacPPC
9898
+
9899
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows 2000) Opera 7.5*]
9900
+ Parent=Opera 7.5
9901
+ Platform=Win2000
9902
+ Win32=true
9903
+
9904
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows 95) Opera 7.5*]
9905
+ Parent=Opera 7.5
9906
+ Platform=Win95
9907
+ Win32=true
9908
+
9909
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows 98) Opera 7.5*]
9910
+ Parent=Opera 7.5
9911
+ Platform=Win98
9912
+ Win32=true
9913
+
9914
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows ME) Opera 7.5*]
9915
+ Parent=Opera 7.5
9916
+ Platform=WinME
9917
+ Win32=true
9918
+
9919
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 4.0) Opera 7.5*]
9920
+ Parent=Opera 7.5
9921
+ Platform=WinNT
9922
+ Win32=true
9923
+
9924
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.0) Opera 7.5*]
9925
+ Parent=Opera 7.5
9926
+ Platform=Win2000
9927
+ Win32=true
9928
+
9929
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.1) Opera 7.5*]
9930
+ Parent=Opera 7.5
9931
+ Platform=WinXP
9932
+ Win32=true
9933
+
9934
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.2) Opera 7.5*]
9935
+ Parent=Opera 7.5
9936
+ Platform=Win2003
9937
+ Win32=true
9938
+
9939
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows XP) Opera 7.5*]
9940
+ Parent=Opera 7.5
9941
+ Platform=WinXP
9942
+ Win32=true
9943
+
9944
+ [Mozilla/?.* (compatible; MSIE ?.*; X11; Linux*) Opera 7.5*]
9945
+ Parent=Opera 7.5
9946
+ Platform=Linux
9947
+
9948
+ [Mozilla/?.* (Macintosh; *Mac OS X; ?) Opera 7.5*]
9949
+ Parent=Opera 7.5
9950
+ Platform=MacOSX
9951
+
9952
+ [Mozilla/?.* (Windows 2000; ?) Opera 7.5*]
9953
+ Parent=Opera 7.5
9954
+ Platform=Win2000
9955
+ Win32=true
9956
+
9957
+ [Mozilla/?.* (Windows 95; ?) Opera 7.5*]
9958
+ Parent=Opera 7.5
9959
+ Platform=Win95
9960
+ Win32=true
9961
+
9962
+ [Mozilla/?.* (Windows 98; ?) Opera 7.5*]
9963
+ Parent=Opera 7.5
9964
+ Platform=Win98
9965
+ Win32=true
9966
+
9967
+ [Mozilla/?.* (Windows ME; ?) Opera 7.5*]
9968
+ Parent=Opera 7.5
9969
+ Platform=WinME
9970
+ Win32=true
9971
+
9972
+ [Mozilla/?.* (Windows NT 4.0; U) Opera 7.5*]
9973
+ Parent=Opera 7.5
9974
+ Platform=WinNT
9975
+ Win32=true
9976
+
9977
+ [Mozilla/?.* (Windows NT 5.0; U) Opera 7.5*]
9978
+ Parent=Opera 7.5
9979
+ Platform=Win2000
9980
+ Win32=true
9981
+
9982
+ [Mozilla/?.* (Windows NT 5.1; ?) Opera 7.5*]
9983
+ Parent=Opera 7.5
9984
+ Platform=WinXP
9985
+ Win32=true
9986
+
9987
+ [Mozilla/?.* (Windows NT 5.2; ?) Opera 7.5*]
9988
+ Parent=Opera 7.5
9989
+ Platform=Win2003
9990
+ Win32=true
9991
+
9992
+ [Mozilla/?.* (X11; Linux*; ?) Opera 7.5*]
9993
+ Parent=Opera 7.5
9994
+ Platform=Linux
9995
+
9996
+ [Opera/7.5* (Linux*; ?)*]
9997
+ Parent=Opera 7.5
9998
+ Platform=Linux
9999
+
10000
+ [Opera/7.5* (Macintosh; *Mac OS X; ?)*]
10001
+ Parent=Opera 7.5
10002
+ Platform=MacOSX
10003
+
10004
+ [Opera/7.5* (Windows 95; ?)*]
10005
+ Parent=Opera 7.5
10006
+ Platform=Win95
10007
+ Win32=true
10008
+
10009
+ [Opera/7.5* (Windows 98; ?)*]
10010
+ Parent=Opera 7.5
10011
+ Platform=Win98
10012
+ Win32=true
10013
+
10014
+ [Opera/7.5* (Windows ME; ?)*]
10015
+ Parent=Opera 7.5
10016
+ Platform=WinME
10017
+ Win32=true
10018
+
10019
+ [Opera/7.5* (Windows NT 4.0; ?)*]
10020
+ Parent=Opera 7.5
10021
+ Platform=WinNT
10022
+ Win32=true
10023
+
10024
+ [Opera/7.5* (Windows NT 5.0; ?)*]
10025
+ Parent=Opera 7.5
10026
+ Platform=Win2000
10027
+ Win32=true
10028
+
10029
+ [Opera/7.5* (Windows NT 5.1; ?)*]
10030
+ Parent=Opera 7.5
10031
+ Platform=WinXP
10032
+ Win32=true
10033
+
10034
+ [Opera/7.5* (Windows NT 5.2; ?)*]
10035
+ Parent=Opera 7.5
10036
+ Platform=Win2003
10037
+ Win32=true
10038
+
10039
+ [Opera/7.5* (Windows XP; ?)*]
10040
+ Parent=Opera 7.5
10041
+ Platform=WinXP
10042
+ Win32=true
10043
+
10044
+ [Opera/7.5* (X11; FreeBSD*; ?)*]
10045
+ Parent=Opera 7.5
10046
+ Platform=FreeBSD
10047
+
10048
+ [Opera/7.5* (X11; Linux*; ?)*]
10049
+ Parent=Opera 7.5
10050
+ Platform=Linux
10051
+
10052
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 7.6
10053
+
10054
+ [Opera 7.6]
10055
+ Parent=DefaultProperties
10056
+ Browser="Opera"
10057
+ Version=7.6
10058
+ MajorVer=7
10059
+ MinorVer=6
10060
+ Frames=true
10061
+ IFrames=true
10062
+ Tables=true
10063
+ Cookies=true
10064
+ BackgroundSounds=true
10065
+ JavaApplets=true
10066
+ JavaScript=true
10067
+ CssVersion=2
10068
+ supportsCSS=true
10069
+
10070
+ [Mozilla/?.* (compatible; MSIE ?.*; Linux*) Opera 7.6*]
10071
+ Parent=Opera 7.6
10072
+ Platform=Linux
10073
+
10074
+ [Mozilla/?.* (compatible; MSIE ?.*; Mac_PowerPC) Opera 7.6*]
10075
+ Parent=Opera 7.6
10076
+ Platform=MacPPC
10077
+
10078
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows 2000) Opera 7.6*]
10079
+ Parent=Opera 7.6
10080
+ Platform=Win2000
10081
+ Win32=true
10082
+
10083
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows 95) Opera 7.6*]
10084
+ Parent=Opera 7.6
10085
+ Platform=Win95
10086
+ Win32=true
10087
+
10088
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows 98) Opera 7.6*]
10089
+ Parent=Opera 7.6
10090
+ Platform=Win98
10091
+ Win32=true
10092
+
10093
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows ME) Opera 7.6*]
10094
+ Parent=Opera 7.6
10095
+ Platform=WinME
10096
+ Win32=true
10097
+
10098
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 4.0) Opera 7.6*]
10099
+ Parent=Opera 7.6
10100
+ Platform=WinNT
10101
+ Win32=true
10102
+
10103
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.0) Opera 7.6*]
10104
+ Parent=Opera 7.6
10105
+ Platform=Win2000
10106
+ Win32=true
10107
+
10108
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.1) Opera 7.6*]
10109
+ Parent=Opera 7.6
10110
+ Platform=WinXP
10111
+ Win32=true
10112
+
10113
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.2) Opera 7.6*]
10114
+ Parent=Opera 7.6
10115
+ Platform=Win2003
10116
+ Win32=true
10117
+
10118
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows XP) Opera 7.6*]
10119
+ Parent=Opera 7.6
10120
+ Platform=WinXP
10121
+ Win32=true
10122
+
10123
+ [Mozilla/?.* (compatible; MSIE ?.*; X11; Linux*) Opera 7.6*]
10124
+ Parent=Opera 7.6
10125
+ Platform=Linux
10126
+
10127
+ [Mozilla/?.* (Macintosh; *Mac OS X; ?) Opera 7.6*]
10128
+ Parent=Opera 7.6
10129
+ Platform=MacOSX
10130
+
10131
+ [Mozilla/?.* (Windows 2000; ?) Opera 7.6*]
10132
+ Parent=Opera 7.6
10133
+ Platform=Win2000
10134
+ Win32=true
10135
+
10136
+ [Mozilla/?.* (Windows 95; ?) Opera 7.6*]
10137
+ Parent=Opera 7.6
10138
+ Platform=Win95
10139
+ Win32=true
10140
+
10141
+ [Mozilla/?.* (Windows 98; ?) Opera 7.6*]
10142
+ Parent=Opera 7.6
10143
+ Platform=Win98
10144
+ Win32=true
10145
+
10146
+ [Mozilla/?.* (Windows ME; ?) Opera 7.6*]
10147
+ Parent=Opera 7.6
10148
+ Platform=WinME
10149
+ Win32=true
10150
+
10151
+ [Mozilla/?.* (Windows NT 4.0; U) Opera 7.6*]
10152
+ Parent=Opera 7.6
10153
+ Platform=WinNT
10154
+ Win32=true
10155
+
10156
+ [Mozilla/?.* (Windows NT 5.0; U) Opera 7.6*]
10157
+ Parent=Opera 7.6
10158
+ Platform=Win2000
10159
+ Win32=true
10160
+
10161
+ [Mozilla/?.* (Windows NT 5.1; ?) Opera 7.6*]
10162
+ Parent=Opera 7.6
10163
+ Platform=WinXP
10164
+ Win32=true
10165
+
10166
+ [Mozilla/?.* (Windows NT 5.2; ?) Opera 7.6*]
10167
+ Parent=Opera 7.6
10168
+ Platform=Win2003
10169
+ Win32=true
10170
+
10171
+ [Mozilla/?.* (X11; Linux*; ?) Opera 7.6*]
10172
+ Parent=Opera 7.6
10173
+ Platform=Linux
10174
+
10175
+ [Opera/7.6* (Linux*)*]
10176
+ Parent=Opera 7.6
10177
+ Platform=Linux
10178
+
10179
+ [Opera/7.6* (Macintosh; *Mac OS X; ?)*]
10180
+ Parent=Opera 7.6
10181
+ Platform=MacOSX
10182
+
10183
+ [Opera/7.6* (Windows 95*)*]
10184
+ Parent=Opera 7.6
10185
+ Platform=Win95
10186
+ Win32=true
10187
+
10188
+ [Opera/7.6* (Windows 98*)*]
10189
+ Parent=Opera 7.6
10190
+ Platform=Win98
10191
+ Win32=true
10192
+
10193
+ [Opera/7.6* (Windows ME*)*]
10194
+ Parent=Opera 7.6
10195
+ Platform=WinME
10196
+ Win32=true
10197
+
10198
+ [Opera/7.6* (Windows NT 4.0*)*]
10199
+ Parent=Opera 7.6
10200
+ Platform=WinNT
10201
+ Win32=true
10202
+
10203
+ [Opera/7.6* (Windows NT 5.0*)*]
10204
+ Parent=Opera 7.6
10205
+ Platform=Win2000
10206
+ Win32=true
10207
+
10208
+ [Opera/7.6* (Windows NT 5.1*)*]
10209
+ Parent=Opera 7.6
10210
+ Platform=WinXP
10211
+ Win32=true
10212
+
10213
+ [Opera/7.6* (Windows NT 5.2*)*]
10214
+ Parent=Opera 7.6
10215
+ Platform=Win2003
10216
+ Win32=true
10217
+
10218
+ [Opera/7.6* (Windows XP*)*]
10219
+ Parent=Opera 7.6
10220
+ Platform=WinXP
10221
+ Win32=true
10222
+
10223
+ [Opera/7.6* (X11; FreeBSD*)*]
10224
+ Parent=Opera 7.6
10225
+ Platform=FreeBSD
10226
+
10227
+ [Opera/7.6* (X11; Linux*)*]
10228
+ Parent=Opera 7.6
10229
+ Platform=Linux
10230
+
10231
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 8.0
10232
+
10233
+ [Opera 8.0]
10234
+ Parent=DefaultProperties
10235
+ Browser="Opera"
10236
+ Version=8.0
10237
+ MajorVer=8
10238
+ Frames=true
10239
+ IFrames=true
10240
+ Tables=true
10241
+ Cookies=true
10242
+ BackgroundSounds=true
10243
+ JavaApplets=true
10244
+ JavaScript=true
10245
+ CssVersion=2
10246
+ supportsCSS=true
10247
+
10248
+ [Mozilla/?.* (compatible; MSIE ?.*; Linux*) Opera 8.0*]
10249
+ Parent=Opera 8.0
10250
+ Platform=Linux
10251
+
10252
+ [Mozilla/?.* (compatible; MSIE ?.*; Mac_PowerPC Mac OS X; *) Opera 8.0*]
10253
+ Parent=Opera 8.0
10254
+ Platform=MacOSX
10255
+
10256
+ [Mozilla/?.* (compatible; MSIE ?.*; Mac_PowerPC) Opera 8.0*]
10257
+ Parent=Opera 8.0
10258
+ Platform=MacPPC
10259
+
10260
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows 2000*) Opera 8.0*]
10261
+ Parent=Opera 8.0
10262
+ Platform=Win2000
10263
+ Win32=true
10264
+
10265
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows 95*) Opera 8.0*]
10266
+ Parent=Opera 8.0
10267
+ Platform=Win95
10268
+ Win32=true
10269
+
10270
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows 98*) Opera 8.0*]
10271
+ Parent=Opera 8.0
10272
+ Platform=Win98
10273
+ Win32=true
10274
+
10275
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows CE) Opera 8.0*]
10276
+ Parent=Opera 8.0
10277
+ Platform=WinCE
10278
+ Win32=true
10279
+
10280
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows ME*) Opera 8.0*]
10281
+ Parent=Opera 8.0
10282
+ Platform=WinME
10283
+ Win32=true
10284
+
10285
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 4.0*) Opera 8.0*]
10286
+ Parent=Opera 8.0
10287
+ Platform=WinNT
10288
+ Win32=true
10289
+
10290
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.0*) Opera 8.0*]
10291
+ Parent=Opera 8.0
10292
+ Platform=Win2000
10293
+ Win32=true
10294
+
10295
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.1*) Opera 8.0*]
10296
+ Parent=Opera 8.0
10297
+ Platform=WinXP
10298
+ Win32=true
10299
+
10300
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.2*) Opera 8.0*]
10301
+ Parent=Opera 8.0
10302
+ Platform=Win2003
10303
+ Win32=true
10304
+
10305
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows XP*) Opera 8.0*]
10306
+ Parent=Opera 8.0
10307
+ Platform=WinXP
10308
+ Win32=true
10309
+
10310
+ [Mozilla/?.* (compatible; MSIE ?.*; X11; FreeBSD*) Opera 8.0*]
10311
+ Parent=Opera 8.0
10312
+ Platform=FreeBSD
10313
+
10314
+ [Mozilla/?.* (compatible; MSIE ?.*; X11; Linux*) Opera 8.0*]
10315
+ Parent=Opera 8.0
10316
+ Platform=Linux
10317
+
10318
+ [Mozilla/?.* (Macintosh; *Mac OS X; ?) Opera 8.0*]
10319
+ Parent=Opera 8.0
10320
+ Platform=MacOSX
10321
+
10322
+ [Mozilla/?.* (Windows 2000; *) Opera 8.0*]
10323
+ Parent=Opera 8.0
10324
+ Platform=Win2000
10325
+ Win32=true
10326
+
10327
+ [Mozilla/?.* (Windows 95; *) Opera 8.0*]
10328
+ Parent=Opera 8.0
10329
+ Platform=Win95
10330
+ Win32=true
10331
+
10332
+ [Mozilla/?.* (Windows 98; *) Opera 8.0*]
10333
+ Parent=Opera 8.0
10334
+ Platform=Win98
10335
+ Win32=true
10336
+
10337
+ [Mozilla/?.* (Windows ME; *) Opera 8.0*]
10338
+ Parent=Opera 8.0
10339
+ Platform=WinME
10340
+ Win32=true
10341
+
10342
+ [Mozilla/?.* (Windows NT 4.0; *) Opera 8.0*]
10343
+ Parent=Opera 8.0
10344
+ Platform=WinNT
10345
+ Win32=true
10346
+
10347
+ [Mozilla/?.* (Windows NT 5.0; *) Opera 8.0*]
10348
+ Parent=Opera 8.0
10349
+ Platform=Win2000
10350
+ Win32=true
10351
+
10352
+ [Mozilla/?.* (Windows NT 5.1; *) Opera 8.0*]
10353
+ Parent=Opera 8.0
10354
+ Platform=WinXP
10355
+ Win32=true
10356
+
10357
+ [Mozilla/?.* (Windows NT 5.2; *) Opera 8.0*]
10358
+ Parent=Opera 8.0
10359
+ Platform=Win2003
10360
+ Win32=true
10361
+
10362
+ [Mozilla/?.* (X11; Linux*; *) Opera 8.0*]
10363
+ Parent=Opera 8.0
10364
+ Platform=Linux
10365
+
10366
+ [Opera/8.0* (Linux*)*]
10367
+ Parent=Opera 8.0
10368
+ Platform=Linux
10369
+
10370
+ [Opera/8.0* (Macintosh; *Mac OS X; *)*]
10371
+ Parent=Opera 8.0
10372
+ Platform=MacOSX
10373
+
10374
+ [Opera/8.0* (Windows 95*)*]
10375
+ Parent=Opera 8.0
10376
+ Platform=Win95
10377
+ Win32=true
10378
+
10379
+ [Opera/8.0* (Windows 98*)*]
10380
+ Parent=Opera 8.0
10381
+ Platform=Win98
10382
+ Win32=true
10383
+
10384
+ [Opera/8.0* (Windows CE*)*]
10385
+ Parent=Opera 8.0
10386
+ Platform=WinCE
10387
+ Win32=true
10388
+
10389
+ [Opera/8.0* (Windows ME*)*]
10390
+ Parent=Opera 8.0
10391
+ Platform=WinME
10392
+ Win32=true
10393
+
10394
+ [Opera/8.0* (Windows NT 4.0*)*]
10395
+ Parent=Opera 8.0
10396
+ Platform=WinNT
10397
+ Win32=true
10398
+
10399
+ [Opera/8.0* (Windows NT 5.0*)*]
10400
+ Parent=Opera 8.0
10401
+ Platform=Win2000
10402
+ Win32=true
10403
+
10404
+ [Opera/8.0* (Windows NT 5.1*)*]
10405
+ Parent=Opera 8.0
10406
+ Platform=WinXP
10407
+ Win32=true
10408
+
10409
+ [Opera/8.0* (Windows NT 5.2*)*]
10410
+ Parent=Opera 8.0
10411
+ Platform=Win2003
10412
+ Win32=true
10413
+
10414
+ [Opera/8.0* (Windows XP*)*]
10415
+ Parent=Opera 8.0
10416
+ Platform=WinXP
10417
+ Win32=true
10418
+
10419
+ [Opera/8.0* (X11; FreeBSD*)*]
10420
+ Parent=Opera 8.0
10421
+ Platform=FreeBSD
10422
+
10423
+ [Opera/8.0* (X11; Linux*)*]
10424
+ Parent=Opera 8.0
10425
+ Platform=Linux
10426
+
10427
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 8.1
10428
+
10429
+ [Opera 8.1]
10430
+ Parent=DefaultProperties
10431
+ Browser="Opera"
10432
+ Version=8.1
10433
+ MajorVer=8
10434
+ MinorVer=1
10435
+ Frames=true
10436
+ IFrames=true
10437
+ Tables=true
10438
+ Cookies=true
10439
+ BackgroundSounds=true
10440
+ JavaApplets=true
10441
+ JavaScript=true
10442
+ CssVersion=2
10443
+ supportsCSS=true
10444
+
10445
+ [Mozilla/?.* (compatible; MSIE ?.*; Linux*) Opera 8.1*]
10446
+ Parent=Opera 8.1
10447
+ Platform=Linux
10448
+
10449
+ [Mozilla/?.* (compatible; MSIE ?.*; Mac_PowerPC) Opera 8.1*]
10450
+ Parent=Opera 8.1
10451
+ Platform=MacPPC
10452
+
10453
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows 2000*) Opera 8.1*]
10454
+ Parent=Opera 8.1
10455
+ Platform=Win2000
10456
+ Win32=true
10457
+
10458
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows 95*) Opera 8.1*]
10459
+ Parent=Opera 8.1
10460
+ Platform=Win95
10461
+ Win32=true
10462
+
10463
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows 98*) Opera 8.1*]
10464
+ Parent=Opera 8.1
10465
+ Platform=Win98
10466
+ Win32=true
10467
+
10468
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows CE) Opera 8.1*]
10469
+ Parent=Opera 8.1
10470
+ Platform=WinCE
10471
+ Win32=true
10472
+
10473
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows ME*) Opera 8.1*]
10474
+ Parent=Opera 8.1
10475
+ Platform=WinME
10476
+ Win32=true
10477
+
10478
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 4.0*) Opera 8.1*]
10479
+ Parent=Opera 8.1
10480
+ Platform=WinNT
10481
+ Win32=true
10482
+
10483
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.0*) Opera 8.1*]
10484
+ Parent=Opera 8.1
10485
+ Platform=Win2000
10486
+ Win32=true
10487
+
10488
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.1*) Opera 8.1*]
10489
+ Parent=Opera 8.1
10490
+ Platform=WinXP
10491
+ Win32=true
10492
+
10493
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.2*) Opera 8.1*]
10494
+ Parent=Opera 8.1
10495
+ Platform=Win2003
10496
+ Win32=true
10497
+
10498
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows XP*) Opera 8.1*]
10499
+ Parent=Opera 8.1
10500
+ Platform=WinXP
10501
+ Win32=true
10502
+
10503
+ [Mozilla/?.* (compatible; MSIE ?.*; X11; FreeBSD*) Opera 8.1*]
10504
+ Parent=Opera 8.1
10505
+ Platform=FreeBSD
10506
+
10507
+ [Mozilla/?.* (compatible; MSIE ?.*; X11; Linux*) Opera 8.1*]
10508
+ Parent=Opera 8.1
10509
+ Platform=Linux
10510
+
10511
+ [Mozilla/?.* (Macintosh; *Mac OS X; ?) Opera 8.1*]
10512
+ Parent=Opera 8.1
10513
+ Platform=MacOSX
10514
+
10515
+ [Mozilla/?.* (Windows 2000; *) Opera 8.1*]
10516
+ Parent=Opera 8.1
10517
+ Platform=Win2000
10518
+ Win32=true
10519
+
10520
+ [Mozilla/?.* (Windows 95; *) Opera 8.1*]
10521
+ Parent=Opera 8.1
10522
+ Platform=Win95
10523
+ Win32=true
10524
+
10525
+ [Mozilla/?.* (Windows 98; *) Opera 8.1*]
10526
+ Parent=Opera 8.1
10527
+ Platform=Win98
10528
+ Win32=true
10529
+
10530
+ [Mozilla/?.* (Windows ME; *) Opera 8.1*]
10531
+ Parent=Opera 8.1
10532
+ Platform=WinME
10533
+ Win32=true
10534
+
10535
+ [Mozilla/?.* (Windows NT 4.0; *) Opera 8.1*]
10536
+ Parent=Opera 8.1
10537
+ Platform=WinNT
10538
+ Win32=true
10539
+
10540
+ [Mozilla/?.* (Windows NT 5.0; *) Opera 8.1*]
10541
+ Parent=Opera 8.1
10542
+ Platform=Win2000
10543
+ Win32=true
10544
+
10545
+ [Mozilla/?.* (Windows NT 5.1; *) Opera 8.1*]
10546
+ Parent=Opera 8.1
10547
+ Platform=WinXP
10548
+ Win32=true
10549
+
10550
+ [Mozilla/?.* (Windows NT 5.2; *) Opera 8.1*]
10551
+ Parent=Opera 8.1
10552
+ Platform=Win2003
10553
+ Win32=true
10554
+
10555
+ [Mozilla/?.* (X11; Linux*; *) Opera 8.1*]
10556
+ Parent=Opera 8.1
10557
+ Platform=Linux
10558
+
10559
+ [Opera/8.1* (Linux*)*]
10560
+ Parent=Opera 8.1
10561
+ Platform=Linux
10562
+
10563
+ [Opera/8.1* (Macintosh; *Mac OS X; *)*]
10564
+ Parent=Opera 8.1
10565
+ Platform=MacOSX
10566
+
10567
+ [Opera/8.1* (Windows 95*)*]
10568
+ Parent=Opera 8.1
10569
+ Platform=Win95
10570
+ Win32=true
10571
+
10572
+ [Opera/8.1* (Windows 98*)*]
10573
+ Parent=Opera 8.1
10574
+ Platform=Win98
10575
+ Win32=true
10576
+
10577
+ [Opera/8.1* (Windows CE*)*]
10578
+ Parent=Opera 8.1
10579
+ Platform=WinCE
10580
+ Win32=true
10581
+
10582
+ [Opera/8.1* (Windows ME*)*]
10583
+ Parent=Opera 8.1
10584
+ Platform=WinME
10585
+ Win32=true
10586
+
10587
+ [Opera/8.1* (Windows NT 4.0*)*]
10588
+ Parent=Opera 8.1
10589
+ Platform=WinNT
10590
+ Win32=true
10591
+
10592
+ [Opera/8.1* (Windows NT 5.0*)*]
10593
+ Parent=Opera 8.1
10594
+ Platform=Win2000
10595
+ Win32=true
10596
+
10597
+ [Opera/8.1* (Windows NT 5.1*)*]
10598
+ Parent=Opera 8.1
10599
+ Platform=WinXP
10600
+ Win32=true
10601
+
10602
+ [Opera/8.1* (Windows NT 5.2*)*]
10603
+ Parent=Opera 8.1
10604
+ Platform=Win2003
10605
+ Win32=true
10606
+
10607
+ [Opera/8.1* (Windows XP*)*]
10608
+ Parent=Opera 8.1
10609
+ Platform=WinXP
10610
+ Win32=true
10611
+
10612
+ [Opera/8.1* (X11; FreeBSD*)*]
10613
+ Parent=Opera 8.1
10614
+ Platform=FreeBSD
10615
+
10616
+ [Opera/8.1* (X11; Linux*)*]
10617
+ Parent=Opera 8.1
10618
+ Platform=Linux
10619
+
10620
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 8.5
10621
+
10622
+ [Opera 8.5]
10623
+ Parent=DefaultProperties
10624
+ Browser="Opera"
10625
+ Version=8.5
10626
+ MajorVer=8
10627
+ MinorVer=5
10628
+ Frames=true
10629
+ IFrames=true
10630
+ Tables=true
10631
+ Cookies=true
10632
+ BackgroundSounds=true
10633
+ JavaApplets=true
10634
+ JavaScript=true
10635
+ CssVersion=2
10636
+ supportsCSS=true
10637
+
10638
+ [Mozilla/?.* (compatible; MSIE ?.*; Linux*) Opera 8.5*]
10639
+ Parent=Opera 8.5
10640
+ Platform=Linux
10641
+
10642
+ [Mozilla/?.* (compatible; MSIE ?.*; Mac_PowerPC Mac OS X;*) Opera 8.5*]
10643
+ Parent=Opera 8.5
10644
+ Platform=MacOSX
10645
+
10646
+ [Mozilla/?.* (compatible; MSIE ?.*; Mac_PowerPC) Opera 8.5*]
10647
+ Parent=Opera 8.5
10648
+ Platform=MacPPC
10649
+
10650
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows 2000*) Opera 8.5*]
10651
+ Parent=Opera 8.5
10652
+ Platform=Win2000
10653
+ Win32=true
10654
+
10655
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows 95*) Opera 8.5*]
10656
+ Parent=Opera 8.5
10657
+ Platform=Win95
10658
+ Win32=true
10659
+
10660
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows 98*) Opera 8.5*]
10661
+ Parent=Opera 8.5
10662
+ Platform=Win98
10663
+ Win32=true
10664
+
10665
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows CE) Opera 8.5*]
10666
+ Parent=Opera 8.5
10667
+ Platform=WinCE
10668
+ Win32=true
10669
+
10670
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows ME*) Opera 8.5*]
10671
+ Parent=Opera 8.5
10672
+ Platform=WinME
10673
+ Win32=true
10674
+
10675
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 4.0*) Opera 8.5*]
10676
+ Parent=Opera 8.5
10677
+ Platform=WinNT
10678
+ Win32=true
10679
+
10680
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.0*) Opera 8.5*]
10681
+ Parent=Opera 8.5
10682
+ Platform=Win2000
10683
+ Win32=true
10684
+
10685
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.1*) Opera 8.5*]
10686
+ Parent=Opera 8.5
10687
+ Platform=WinXP
10688
+ Win32=true
10689
+
10690
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.2*) Opera 8.5*]
10691
+ Parent=Opera 8.5
10692
+ Platform=Win2003
10693
+ Win32=true
10694
+
10695
+ [Mozilla/?.* (compatible; MSIE ?.*; Windows XP*) Opera 8.5*]
10696
+ Parent=Opera 8.5
10697
+ Platform=WinXP
10698
+ Win32=true
10699
+
10700
+ [Mozilla/?.* (compatible; MSIE ?.*; X11; FreeBSD*) Opera 8.5*]
10701
+ Parent=Opera 8.5
10702
+ Platform=FreeBSD
10703
+
10704
+ [Mozilla/?.* (compatible; MSIE ?.*; X11; Linux*) Opera 8.5*]
10705
+ Parent=Opera 8.5
10706
+ Platform=Linux
10707
+
10708
+ [Mozilla/?.* (Macintosh; *Mac OS X; ?) Opera 8.5*]
10709
+ Parent=Opera 8.5
10710
+ Platform=MacOSX
10711
+
10712
+ [Mozilla/?.* (Macintosh; PPC Mac OS X;*) Opera 8.5*]
10713
+ Parent=Opera 8.5
10714
+ Platform=MacOSX
10715
+
10716
+ [Mozilla/?.* (Windows 2000; *) Opera 8.5*]
10717
+ Parent=Opera 8.5
10718
+ Platform=Win2000
10719
+ Win32=true
10720
+
10721
+ [Mozilla/?.* (Windows 95; *) Opera 8.5*]
10722
+ Parent=Opera 8.5
10723
+ Platform=Win95
10724
+ Win32=true
10725
+
10726
+ [Mozilla/?.* (Windows 98; *) Opera 8.5*]
10727
+ Parent=Opera 8.5
10728
+ Platform=Win98
10729
+ Win32=true
10730
+
10731
+ [Mozilla/?.* (Windows ME; *) Opera 8.5*]
10732
+ Parent=Opera 8.5
10733
+ Platform=WinME
10734
+ Win32=true
10735
+
10736
+ [Mozilla/?.* (Windows NT 4.0; *) Opera 8.5*]
10737
+ Parent=Opera 8.5
10738
+ Platform=WinNT
10739
+ Win32=true
10740
+
10741
+ [Mozilla/?.* (Windows NT 5.0; *) Opera 8.5*]
10742
+ Parent=Opera 8.5
10743
+ Platform=Win2000
10744
+ Win32=true
10745
+
10746
+ [Mozilla/?.* (Windows NT 5.1; *) Opera 8.5*]
10747
+ Parent=Opera 8.5
10748
+ Platform=WinXP
10749
+ Win32=true
10750
+
10751
+ [Mozilla/?.* (Windows NT 5.2; *) Opera 8.5*]
10752
+ Parent=Opera 8.5
10753
+ Platform=Win2003
10754
+ Win32=true
10755
+
10756
+ [Mozilla/?.* (X11; Linux*; *) Opera 8.5*]
10757
+ Parent=Opera 8.5
10758
+ Platform=Linux
10759
+
10760
+ [Opera/8.5* (Linux*)*]
10761
+ Parent=Opera 8.5
10762
+ Platform=Linux
10763
+
10764
+ [Opera/8.5* (Macintosh; *Mac OS X; *)*]
10765
+ Parent=Opera 8.5
10766
+ Platform=MacOSX
10767
+
10768
+ [Opera/8.5* (Windows 95*)*]
10769
+ Parent=Opera 8.5
10770
+ Platform=Win95
10771
+ Win32=true
10772
+
10773
+ [Opera/8.5* (Windows 98*)*]
10774
+ Parent=Opera 8.5
10775
+ Platform=Win98
10776
+ Win32=true
10777
+
10778
+ [Opera/8.5* (Windows CE*)*]
10779
+ Parent=Opera 8.5
10780
+ Platform=WinCE
10781
+ Win32=true
10782
+
10783
+ [Opera/8.5* (Windows ME*)*]
10784
+ Parent=Opera 8.5
10785
+ Platform=WinME
10786
+ Win32=true
10787
+
10788
+ [Opera/8.5* (Windows NT 4.0*)*]
10789
+ Parent=Opera 8.5
10790
+ Platform=WinNT
10791
+ Win32=true
10792
+
10793
+ [Opera/8.5* (Windows NT 5.0*)*]
10794
+ Parent=Opera 8.5
10795
+ Platform=Win2000
10796
+ Win32=true
10797
+
10798
+ [Opera/8.5* (Windows NT 5.1*)*]
10799
+ Parent=Opera 8.5
10800
+ Platform=WinXP
10801
+ Win32=true
10802
+
10803
+ [Opera/8.5* (Windows NT 5.2*)*]
10804
+ Parent=Opera 8.5
10805
+ Platform=Win2003
10806
+ Win32=true
10807
+
10808
+ [Opera/8.5* (Windows XP*)*]
10809
+ Parent=Opera 8.5
10810
+ Platform=WinXP
10811
+ Win32=true
10812
+
10813
+ [Opera/8.5* (X11; FreeBSD*)*]
10814
+ Parent=Opera 8.5
10815
+ Platform=FreeBSD
10816
+
10817
+ [Opera/8.5* (X11; Linux*)*]
10818
+ Parent=Opera 8.5
10819
+ Platform=Linux
10820
+
10821
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 9.0
10822
+
10823
+ [Opera 9.0]
10824
+ Parent=DefaultProperties
10825
+ Browser="Opera"
10826
+ Version=9.0
10827
+ MajorVer=9
10828
+ Frames=true
10829
+ IFrames=true
10830
+ Tables=true
10831
+ Cookies=true
10832
+ BackgroundSounds=true
10833
+ JavaApplets=true
10834
+ JavaScript=true
10835
+ CssVersion=2
10836
+ supportsCSS=true
10837
+
10838
+ [Mozilla/* (compatible; MSIE*; Linux*) Opera 9.0*]
10839
+ Parent=Opera 9.0
10840
+ Platform=Linux
10841
+
10842
+ [Mozilla/* (compatible; MSIE*; Mac_PowerPC Mac OS X;*) Opera 9.0*]
10843
+ Parent=Opera 9.0
10844
+ Platform=MacOSX
10845
+
10846
+ [Mozilla/* (compatible; MSIE*; Mac_PowerPC) Opera 9.0*]
10847
+ Parent=Opera 9.0
10848
+ Platform=MacPPC
10849
+
10850
+ [Mozilla/* (compatible; MSIE*; Windows 2000*) Opera 9.0*]
10851
+ Parent=Opera 9.0
10852
+ Platform=Win2000
10853
+ Win32=true
10854
+
10855
+ [Mozilla/* (compatible; MSIE*; Windows 95*) Opera 9.0*]
10856
+ Parent=Opera 9.0
10857
+ Platform=Win95
10858
+ Win32=true
10859
+
10860
+ [Mozilla/* (compatible; MSIE*; Windows 98*) Opera 9.0*]
10861
+ Parent=Opera 9.0
10862
+ Platform=Win98
10863
+ Win32=true
10864
+
10865
+ [Mozilla/* (compatible; MSIE*; Windows CE*) Opera 9.0*]
10866
+ Parent=Opera 9.0
10867
+ Platform=WinCE
10868
+ Win32=true
10869
+
10870
+ [Mozilla/* (compatible; MSIE*; Windows ME*) Opera 9.0*]
10871
+ Parent=Opera 9.0
10872
+ Platform=WinME
10873
+ Win32=true
10874
+
10875
+ [Mozilla/* (compatible; MSIE*; Windows NT 4.0*) Opera 9.0*]
10876
+ Parent=Opera 9.0
10877
+ Platform=WinNT
10878
+ Win32=true
10879
+
10880
+ [Mozilla/* (compatible; MSIE*; Windows NT 5.0*) Opera 9.0*]
10881
+ Parent=Opera 9.0
10882
+ Platform=Win2000
10883
+ Win32=true
10884
+
10885
+ [Mozilla/* (compatible; MSIE*; Windows NT 5.1*) Opera 9.0*]
10886
+ Parent=Opera 9.0
10887
+ Platform=WinXP
10888
+ Win32=true
10889
+
10890
+ [Mozilla/* (compatible; MSIE*; Windows NT 5.2*) Opera 9.0*]
10891
+ Parent=Opera 9.0
10892
+ Platform=Win2003
10893
+ Win32=true
10894
+
10895
+ [Mozilla/* (compatible; MSIE*; Windows NT 6.0*) Opera 9.0*]
10896
+ Parent=Opera 9.0
10897
+ Platform=WinVista
10898
+ Win32=true
10899
+
10900
+ [Mozilla/* (compatible; MSIE*; Windows XP*) Opera 9.0*]
10901
+ Parent=Opera 9.0
10902
+ Platform=WinXP
10903
+ Win32=true
10904
+
10905
+ [Mozilla/* (compatible; MSIE*; X11; FreeBSD*) Opera 9.0*]
10906
+ Parent=Opera 9.0
10907
+ Platform=FreeBSD
10908
+
10909
+ [Mozilla/* (compatible; MSIE*; X11; Linux*) Opera 9.0*]
10910
+ Parent=Opera 9.0
10911
+ Platform=Linux
10912
+
10913
+ [Mozilla/* (compatible; MSIE*; X11; SunOS*) Opera 9.0*]
10914
+ Parent=Opera 9.0
10915
+ Platform=SunOS
10916
+
10917
+ [Mozilla/* (Macintosh; *Mac OS X; ?) Opera 9.0*]
10918
+ Parent=Opera 9.0
10919
+ Platform=MacOSX
10920
+
10921
+ [Mozilla/* (Windows 2000;*) Opera 9.0*]
10922
+ Parent=Opera 9.0
10923
+ Platform=Win2000
10924
+ Win32=true
10925
+
10926
+ [Mozilla/* (Windows 95;*) Opera 9.0*]
10927
+ Parent=Opera 9.0
10928
+ Platform=Win95
10929
+ Win32=true
10930
+
10931
+ [Mozilla/* (Windows 98;*) Opera 9.0*]
10932
+ Parent=Opera 9.0
10933
+ Platform=Win98
10934
+ Win32=true
10935
+
10936
+ [Mozilla/* (Windows ME;*) Opera 9.0*]
10937
+ Parent=Opera 9.0
10938
+ Platform=WinME
10939
+ Win32=true
10940
+
10941
+ [Mozilla/* (Windows NT 4.0;*) Opera 9.0*]
10942
+ Parent=Opera 9.0
10943
+ Platform=WinNT
10944
+ Win32=true
10945
+
10946
+ [Mozilla/* (Windows NT 5.0;*) Opera 9.0*]
10947
+ Parent=Opera 9.0
10948
+ Platform=Win2000
10949
+ Win32=true
10950
+
10951
+ [Mozilla/* (Windows NT 5.1;*) Opera 9.0*]
10952
+ Parent=Opera 9.0
10953
+ Platform=WinXP
10954
+ Win32=true
10955
+
10956
+ [Mozilla/* (Windows NT 5.2;*) Opera 9.0*]
10957
+ Parent=Opera 9.0
10958
+ Platform=Win2003
10959
+ Win32=true
10960
+
10961
+ [Mozilla/* (X11; Linux*) Opera 9.0*]
10962
+ Parent=Opera 9.0
10963
+ Platform=Linux
10964
+
10965
+ [Opera/9.0* (Linux*)*]
10966
+ Parent=Opera 9.0
10967
+ Platform=Linux
10968
+
10969
+ [Opera/9.0* (Macintosh; *Mac OS X;*)*]
10970
+ Parent=Opera 9.0
10971
+ Platform=MacOSX
10972
+
10973
+ [Opera/9.0* (Windows 95*)*]
10974
+ Parent=Opera 9.0
10975
+ Platform=Win95
10976
+ Win32=true
10977
+
10978
+ [Opera/9.0* (Windows 98*)*]
10979
+ Parent=Opera 9.0
10980
+ Platform=Win98
10981
+ Win32=true
10982
+
10983
+ [Opera/9.0* (Windows CE*)*]
10984
+ Parent=Opera 9.0
10985
+ Platform=WinCE
10986
+ Win32=true
10987
+
10988
+ [Opera/9.0* (Windows ME*)*]
10989
+ Parent=Opera 9.0
10990
+ Platform=WinME
10991
+ Win32=true
10992
+
10993
+ [Opera/9.0* (Windows NT 4.0*)*]
10994
+ Parent=Opera 9.0
10995
+ Platform=WinNT
10996
+ Win32=true
10997
+
10998
+ [Opera/9.0* (Windows NT 5.0*)*]
10999
+ Parent=Opera 9.0
11000
+ Platform=Win2000
11001
+ Win32=true
11002
+
11003
+ [Opera/9.0* (Windows NT 5.1*)*]
11004
+ Parent=Opera 9.0
11005
+ Platform=WinXP
11006
+ Win32=true
11007
+
11008
+ [Opera/9.0* (Windows NT 5.2*)*]
11009
+ Parent=Opera 9.0
11010
+ Platform=Win2003
11011
+ Win32=true
11012
+
11013
+ [Opera/9.0* (Windows NT 6.0*)*]
11014
+ Parent=Opera 9.0
11015
+ Platform=WinVista
11016
+ Win32=true
11017
+
11018
+ [Opera/9.0* (Windows XP*)*]
11019
+ Parent=Opera 9.0
11020
+ Platform=WinXP
11021
+ Win32=true
11022
+
11023
+ [Opera/9.0* (X11; FreeBSD*)*]
11024
+ Parent=Opera 9.0
11025
+ Platform=FreeBSD
11026
+
11027
+ [Opera/9.0* (X11; Linux*)*]
11028
+ Parent=Opera 9.0
11029
+ Platform=Linux
11030
+
11031
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 9.1
11032
+
11033
+ [Opera 9.1]
11034
+ Parent=DefaultProperties
11035
+ Browser="Opera"
11036
+ Version=9.1
11037
+ MajorVer=9
11038
+ MinorVer=1
11039
+ Frames=true
11040
+ IFrames=true
11041
+ Tables=true
11042
+ Cookies=true
11043
+ BackgroundSounds=true
11044
+ JavaApplets=true
11045
+ JavaScript=true
11046
+ CssVersion=2
11047
+ supportsCSS=true
11048
+
11049
+ [Mozilla/* (compatible; MSIE*; Linux*) Opera 9.1*]
11050
+ Parent=Opera 9.1
11051
+ Platform=Linux
11052
+
11053
+ [Mozilla/* (compatible; MSIE*; Mac_PowerPC Mac OS X;*) Opera 9.1*]
11054
+ Parent=Opera 9.1
11055
+ Platform=MacOSX
11056
+
11057
+ [Mozilla/* (compatible; MSIE*; Mac_PowerPC;*) Opera 9.1*]
11058
+ Parent=Opera 9.1
11059
+ Platform=MacPPC
11060
+
11061
+ [Mozilla/* (compatible; MSIE*; Windows 2000*) Opera 9.1*]
11062
+ Parent=Opera 9.1
11063
+ Platform=Win2000
11064
+ Win32=true
11065
+
11066
+ [Mozilla/* (compatible; MSIE*; Windows 95*) Opera 9.1*]
11067
+ Parent=Opera 9.1
11068
+ Platform=Win95
11069
+ Win32=true
11070
+
11071
+ [Mozilla/* (compatible; MSIE*; Windows 98*) Opera 9.1*]
11072
+ Parent=Opera 9.1
11073
+ Platform=Win98
11074
+ Win32=true
11075
+
11076
+ [Mozilla/* (compatible; MSIE*; Windows CE*) Opera 9.1*]
11077
+ Parent=Opera 9.1
11078
+ Platform=WinCE
11079
+ Win32=true
11080
+
11081
+ [Mozilla/* (compatible; MSIE*; Windows ME*) Opera 9.1*]
11082
+ Parent=Opera 9.1
11083
+ Platform=WinME
11084
+ Win32=true
11085
+
11086
+ [Mozilla/* (compatible; MSIE*; Windows NT 4.0*) Opera 9.1*]
11087
+ Parent=Opera 9.1
11088
+ Platform=WinNT
11089
+ Win32=true
11090
+
11091
+ [Mozilla/* (compatible; MSIE*; Windows NT 5.0*) Opera 9.1*]
11092
+ Parent=Opera 9.1
11093
+ Platform=Win2000
11094
+ Win32=true
11095
+
11096
+ [Mozilla/* (compatible; MSIE*; Windows NT 5.1*) Opera 9.1*]
11097
+ Parent=Opera 9.1
11098
+ Platform=WinXP
11099
+ Win32=true
11100
+
11101
+ [Mozilla/* (compatible; MSIE*; Windows NT 5.2*) Opera 9.1*]
11102
+ Parent=Opera 9.1
11103
+ Platform=Win2003
11104
+ Win32=true
11105
+
11106
+ [Mozilla/* (compatible; MSIE*; Windows NT 6.0*) Opera 9.1*]
11107
+ Parent=Opera 9.1
11108
+ Platform=WinVista
11109
+ Win32=true
11110
+
11111
+ [Mozilla/* (compatible; MSIE*; Windows XP*) Opera 9.1*]
11112
+ Parent=Opera 9.1
11113
+ Platform=WinXP
11114
+ Win32=true
11115
+
11116
+ [Mozilla/* (compatible; MSIE*; X11; FreeBSD*) Opera 9.1*]
11117
+ Parent=Opera 9.1
11118
+ Platform=FreeBSD
11119
+
11120
+ [Mozilla/* (compatible; MSIE*; X11; Linux*) Opera 9.1*]
11121
+ Parent=Opera 9.1
11122
+ Platform=Linux
11123
+
11124
+ [Mozilla/* (compatible; MSIE*; X11; SunOS*) Opera 9.1*]
11125
+ Parent=Opera 9.1
11126
+ Platform=SunOS
11127
+
11128
+ [Mozilla/* (Macintosh; *Mac OS X; ?) Opera 9.1*]
11129
+ Parent=Opera 9.1
11130
+ Platform=MacOSX
11131
+
11132
+ [Mozilla/* (Windows 2000;*) Opera 9.1*]
11133
+ Parent=Opera 9.1
11134
+ Platform=Win2000
11135
+ Win32=true
11136
+
11137
+ [Mozilla/* (Windows 95;*) Opera 9.1*]
11138
+ Parent=Opera 9.1
11139
+ Platform=Win95
11140
+ Win32=true
11141
+
11142
+ [Mozilla/* (Windows 98;*) Opera 9.1*]
11143
+ Parent=Opera 9.1
11144
+ Platform=Win98
11145
+ Win32=true
11146
+
11147
+ [Mozilla/* (Windows ME;*) Opera 9.1*]
11148
+ Parent=Opera 9.1
11149
+ Platform=WinME
11150
+ Win32=true
11151
+
11152
+ [Mozilla/* (Windows NT 4.0;*) Opera 9.1*]
11153
+ Parent=Opera 9.1
11154
+ Platform=WinNT
11155
+ Win32=true
11156
+
11157
+ [Mozilla/* (Windows NT 5.0;*) Opera 9.1*]
11158
+ Parent=Opera 9.1
11159
+ Platform=Win2000
11160
+ Win32=true
11161
+
11162
+ [Mozilla/* (Windows NT 5.1;*) Opera 9.1*]
11163
+ Parent=Opera 9.1
11164
+ Platform=WinXP
11165
+ Win32=true
11166
+
11167
+ [Mozilla/* (Windows NT 5.2;*) Opera 9.1*]
11168
+ Parent=Opera 9.1
11169
+ Platform=Win2003
11170
+ Win32=true
11171
+
11172
+ [Mozilla/* (X11; Linux*) Opera 9.1*]
11173
+ Parent=Opera 9.1
11174
+ Platform=Linux
11175
+
11176
+ [Opera/9.1* (Linux*)*]
11177
+ Parent=Opera 9.1
11178
+ Platform=Linux
11179
+
11180
+ [Opera/9.1* (Macintosh; *Mac OS X;*)*]
11181
+ Parent=Opera 9.1
11182
+ Platform=MacOSX
11183
+
11184
+ [Opera/9.1* (Windows 95*)*]
11185
+ Parent=Opera 9.1
11186
+ Platform=Win95
11187
+ Win32=true
11188
+
11189
+ [Opera/9.1* (Windows 98*)*]
11190
+ Parent=Opera 9.1
11191
+ Platform=Win98
11192
+ Win32=true
11193
+
11194
+ [Opera/9.1* (Windows CE*)*]
11195
+ Parent=Opera 9.1
11196
+ Platform=WinCE
11197
+ Win32=true
11198
+
11199
+ [Opera/9.1* (Windows ME*)*]
11200
+ Parent=Opera 9.1
11201
+ Platform=WinME
11202
+ Win32=true
11203
+
11204
+ [Opera/9.1* (Windows NT 4.0*)*]
11205
+ Parent=Opera 9.1
11206
+ Platform=WinNT
11207
+ Win32=true
11208
+
11209
+ [Opera/9.1* (Windows NT 5.0*)*]
11210
+ Parent=Opera 9.1
11211
+ Platform=Win2000
11212
+ Win32=true
11213
+
11214
+ [Opera/9.1* (Windows NT 5.1*)*]
11215
+ Parent=Opera 9.1
11216
+ Platform=WinXP
11217
+ Win32=true
11218
+
11219
+ [Opera/9.1* (Windows NT 5.2*)*]
11220
+ Parent=Opera 9.1
11221
+ Platform=Win2003
11222
+ Win32=true
11223
+
11224
+ [Opera/9.1* (Windows NT 6.0*)*]
11225
+ Parent=Opera 9.1
11226
+ Platform=WinVista
11227
+ Win32=true
11228
+
11229
+ [Opera/9.1* (Windows XP*)*]
11230
+ Parent=Opera 9.1
11231
+ Platform=WinXP
11232
+ Win32=true
11233
+
11234
+ [Opera/9.1* (X11; FreeBSD*)*]
11235
+ Parent=Opera 9.1
11236
+ Platform=FreeBSD
11237
+
11238
+ [Opera/9.1* (X11; Linux*)*]
11239
+ Parent=Opera 9.1
11240
+ Platform=Linux
11241
+
11242
+ [Opera/9.1* (X11; SunOS*)*]
11243
+ Parent=Opera 9.1
11244
+ Platform=SunOS
11245
+
11246
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 9.2
11247
+
11248
+ [Opera 9.2]
11249
+ Parent=DefaultProperties
11250
+ Browser="Opera"
11251
+ Version=9.2
11252
+ MajorVer=9
11253
+ MinorVer=2
11254
+ Frames=true
11255
+ IFrames=true
11256
+ Tables=true
11257
+ Cookies=true
11258
+ BackgroundSounds=true
11259
+ JavaApplets=true
11260
+ JavaScript=true
11261
+ CssVersion=2
11262
+ supportsCSS=true
11263
+
11264
+ [Mozilla/* (compatible; MSIE*; Linux*) Opera 9.2*]
11265
+ Parent=Opera 9.2
11266
+ Platform=Linux
11267
+
11268
+ [Mozilla/* (compatible; MSIE*; Mac_PowerPC Mac OS X;*) Opera 9.2*]
11269
+ Parent=Opera 9.2
11270
+ Platform=MacOSX
11271
+
11272
+ [Mozilla/* (compatible; MSIE*; Mac_PowerPC) Opera 9.2*]
11273
+ Parent=Opera 9.2
11274
+ Platform=MacPPC
11275
+
11276
+ [Mozilla/* (compatible; MSIE*; Windows 2000*) Opera 9.2*]
11277
+ Parent=Opera 9.2
11278
+ Platform=Win2000
11279
+ Win32=true
11280
+
11281
+ [Mozilla/* (compatible; MSIE*; Windows 95*) Opera 9.2*]
11282
+ Parent=Opera 9.2
11283
+ Platform=Win95
11284
+ Win32=true
11285
+
11286
+ [Mozilla/* (compatible; MSIE*; Windows 98*) Opera 9.2*]
11287
+ Parent=Opera 9.2
11288
+ Platform=Win98
11289
+ Win32=true
11290
+
11291
+ [Mozilla/* (compatible; MSIE*; Windows CE*) Opera 9.2*]
11292
+ Parent=Opera 9.2
11293
+ Platform=WinCE
11294
+ Win32=true
11295
+
11296
+ [Mozilla/* (compatible; MSIE*; Windows ME*) Opera 9.2*]
11297
+ Parent=Opera 9.2
11298
+ Platform=WinME
11299
+ Win32=true
11300
+
11301
+ [Mozilla/* (compatible; MSIE*; Windows NT 4.0*) Opera 9.2*]
11302
+ Parent=Opera 9.2
11303
+ Platform=WinNT
11304
+ Win32=true
11305
+
11306
+ [Mozilla/* (compatible; MSIE*; Windows NT 5.0*) Opera 9.2*]
11307
+ Parent=Opera 9.2
11308
+ Platform=Win2000
11309
+ Win32=true
11310
+
11311
+ [Mozilla/* (compatible; MSIE*; Windows NT 5.1*) Opera 9.2*]
11312
+ Parent=Opera 9.2
11313
+ Platform=WinXP
11314
+ Win32=true
11315
+
11316
+ [Mozilla/* (compatible; MSIE*; Windows NT 5.2*) Opera 9.2*]
11317
+ Parent=Opera 9.2
11318
+ Platform=Win2003
11319
+ Win32=true
11320
+
11321
+ [Mozilla/* (compatible; MSIE*; Windows NT 6.0*) Opera 9.2*]
11322
+ Parent=Opera 9.2
11323
+ Platform=WinVista
11324
+ Win32=true
11325
+
11326
+ [Mozilla/* (compatible; MSIE*; Windows NT 6.1*) Opera 9.2*]
11327
+ Parent=Opera 9.2
11328
+ Platform=Win7
11329
+
11330
+ [Mozilla/* (compatible; MSIE*; Windows XP*) Opera 9.2*]
11331
+ Parent=Opera 9.2
11332
+ Platform=WinXP
11333
+ Win32=true
11334
+
11335
+ [Mozilla/* (compatible; MSIE*; X11; FreeBSD*) Opera 9.2*]
11336
+ Parent=Opera 9.2
11337
+ Platform=FreeBSD
11338
+
11339
+ [Mozilla/* (compatible; MSIE*; X11; Linux*) Opera 9.2*]
11340
+ Parent=Opera 9.2
11341
+ Platform=Linux
11342
+
11343
+ [Mozilla/* (compatible; MSIE*; X11; SunOS*) Opera 9.2*]
11344
+ Parent=Opera 9.2
11345
+ Platform=SunOS
11346
+
11347
+ [Mozilla/* (Macintosh; *Mac OS X; ?) Opera 9.2*]
11348
+ Parent=Opera 9.2
11349
+ Platform=MacOSX
11350
+
11351
+ [Mozilla/* (Windows 2000;*) Opera 9.2*]
11352
+ Parent=Opera 9.2
11353
+ Platform=Win2000
11354
+ Win32=true
11355
+
11356
+ [Mozilla/* (Windows 95;*) Opera 9.2*]
11357
+ Parent=Opera 9.2
11358
+ Platform=Win95
11359
+ Win32=true
11360
+
11361
+ [Mozilla/* (Windows 98;*) Opera 9.2*]
11362
+ Parent=Opera 9.2
11363
+ Platform=Win98
11364
+ Win32=true
11365
+
11366
+ [Mozilla/* (Windows ME;*) Opera 9.2*]
11367
+ Parent=Opera 9.2
11368
+ Platform=WinME
11369
+ Win32=true
11370
+
11371
+ [Mozilla/* (Windows NT 4.0;*) Opera 9.2*]
11372
+ Parent=Opera 9.2
11373
+ Platform=WinNT
11374
+ Win32=true
11375
+
11376
+ [Mozilla/* (Windows NT 5.0;*) Opera 9.2*]
11377
+ Parent=Opera 9.2
11378
+ Platform=Win2000
11379
+ Win32=true
11380
+
11381
+ [Mozilla/* (Windows NT 5.1;*) Opera 9.2*]
11382
+ Parent=Opera 9.2
11383
+ Platform=WinXP
11384
+ Win32=true
11385
+
11386
+ [Mozilla/* (Windows NT 5.2;*) Opera 9.2*]
11387
+ Parent=Opera 9.2
11388
+ Platform=Win2003
11389
+ Win32=true
11390
+
11391
+ [Mozilla/* (Windows NT 6.0;*) Opera 9.2*]
11392
+ Parent=Opera 9.2
11393
+ Platform=WinVista
11394
+
11395
+ [Mozilla/* (Windows NT 6.1;*) Opera 9.2*]
11396
+ Parent=Opera 9.2
11397
+ Platform=Win7
11398
+
11399
+ [Mozilla/* (X11; Linux*) Opera 9.2*]
11400
+ Parent=Opera 9.2
11401
+ Platform=Linux
11402
+
11403
+ [Opera/9.2* (Linux*)*]
11404
+ Parent=Opera 9.2
11405
+ Platform=Linux
11406
+
11407
+ [Opera/9.2* (Macintosh; *Mac OS X;*)*]
11408
+ Parent=Opera 9.2
11409
+ Platform=MacOSX
11410
+
11411
+ [Opera/9.2* (Windows 95*)*]
11412
+ Parent=Opera 9.2
11413
+ Platform=Win95
11414
+ Win32=true
11415
+
11416
+ [Opera/9.2* (Windows 98*)*]
11417
+ Parent=Opera 9.2
11418
+ Platform=Win98
11419
+ Win32=true
11420
+
11421
+ [Opera/9.2* (Windows CE*)*]
11422
+ Parent=Opera 9.2
11423
+ Platform=WinCE
11424
+ Win32=true
11425
+
11426
+ [Opera/9.2* (Windows ME*)*]
11427
+ Parent=Opera 9.2
11428
+ Platform=WinME
11429
+ Win32=true
11430
+
11431
+ [Opera/9.2* (Windows NT 4.0*)*]
11432
+ Parent=Opera 9.2
11433
+ Platform=WinNT
11434
+ Win32=true
11435
+
11436
+ [Opera/9.2* (Windows NT 5.0*)*]
11437
+ Parent=Opera 9.2
11438
+ Platform=Win2000
11439
+ Win32=true
11440
+
11441
+ [Opera/9.2* (Windows NT 5.1*)*]
11442
+ Parent=Opera 9.2
11443
+ Platform=WinXP
11444
+ Win32=true
11445
+
11446
+ [Opera/9.2* (Windows NT 5.2*)*]
11447
+ Parent=Opera 9.2
11448
+ Platform=Win2003
11449
+ Win32=true
11450
+
11451
+ [Opera/9.2* (Windows NT 6.0*)*]
11452
+ Parent=Opera 9.2
11453
+ Platform=WinVista
11454
+ Win32=true
11455
+
11456
+ [Opera/9.2* (Windows NT 6.1*)*]
11457
+ Parent=Opera 9.2
11458
+ Platform=Win7
11459
+
11460
+ [Opera/9.2* (Windows XP*)*]
11461
+ Parent=Opera 9.2
11462
+ Platform=WinXP
11463
+ Win32=true
11464
+
11465
+ [Opera/9.2* (X11; FreeBSD*)*]
11466
+ Parent=Opera 9.2
11467
+ Platform=FreeBSD
11468
+
11469
+ [Opera/9.2* (X11; Linux*)*]
11470
+ Parent=Opera 9.2
11471
+ Platform=Linux
11472
+
11473
+ [Opera/9.2* (X11; SunOS*)*]
11474
+ Parent=Opera 9.2
11475
+ Platform=SunOS
11476
+
11477
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 9.3
11478
+
11479
+ [Opera 9.3]
11480
+ Parent=DefaultProperties
11481
+ Browser="Opera"
11482
+ Version=9.3
11483
+ MajorVer=9
11484
+ MinorVer=3
11485
+ Frames=true
11486
+ IFrames=true
11487
+ Tables=true
11488
+ Cookies=true
11489
+ BackgroundSounds=true
11490
+ JavaApplets=true
11491
+ JavaScript=true
11492
+ CssVersion=2
11493
+ supportsCSS=true
11494
+
11495
+ [Mozilla/* (compatible; MSIE*; Linux*) Opera 9.3*]
11496
+ Parent=Opera 9.3
11497
+ Platform=Linux
11498
+
11499
+ [Mozilla/* (compatible; MSIE*; Mac_PowerPC Mac OS X;*) Opera 9.3*]
11500
+ Parent=Opera 9.3
11501
+ Platform=MacOSX
11502
+
11503
+ [Mozilla/* (compatible; MSIE*; Mac_PowerPC) Opera 9.3*]
11504
+ Parent=Opera 9.3
11505
+ Platform=MacPPC
11506
+
11507
+ [Mozilla/* (compatible; MSIE*; Windows 2000*) Opera 9.3*]
11508
+ Parent=Opera 9.3
11509
+ Platform=Win2000
11510
+ Win32=true
11511
+
11512
+ [Mozilla/* (compatible; MSIE*; Windows 95*) Opera 9.3*]
11513
+ Parent=Opera 9.3
11514
+ Platform=Win95
11515
+ Win32=true
11516
+
11517
+ [Mozilla/* (compatible; MSIE*; Windows 98*) Opera 9.3*]
11518
+ Parent=Opera 9.3
11519
+ Platform=Win98
11520
+ Win32=true
11521
+
11522
+ [Mozilla/* (compatible; MSIE*; Windows CE*) Opera 9.3*]
11523
+ Parent=Opera 9.3
11524
+ Platform=WinCE
11525
+ Win32=true
11526
+
11527
+ [Mozilla/* (compatible; MSIE*; Windows ME*) Opera 9.3*]
11528
+ Parent=Opera 9.3
11529
+ Platform=WinME
11530
+ Win32=true
11531
+
11532
+ [Mozilla/* (compatible; MSIE*; Windows NT 4.0*) Opera 9.3*]
11533
+ Parent=Opera 9.3
11534
+ Platform=WinNT
11535
+ Win32=true
11536
+
11537
+ [Mozilla/* (compatible; MSIE*; Windows NT 5.0*) Opera 9.3*]
11538
+ Parent=Opera 9.3
11539
+ Platform=Win2000
11540
+ Win32=true
11541
+
11542
+ [Mozilla/* (compatible; MSIE*; Windows NT 5.1*) Opera 9.3*]
11543
+ Parent=Opera 9.3
11544
+ Platform=WinXP
11545
+ Win32=true
11546
+
11547
+ [Mozilla/* (compatible; MSIE*; Windows NT 5.2*) Opera 9.3*]
11548
+ Parent=Opera 9.3
11549
+ Platform=Win2003
11550
+ Win32=true
11551
+
11552
+ [Mozilla/* (compatible; MSIE*; Windows NT 6.0*) Opera 9.3*]
11553
+ Parent=Opera 9.3
11554
+ Platform=WinVista
11555
+ Win32=true
11556
+
11557
+ [Mozilla/* (compatible; MSIE*; Windows NT 6.1*) Opera 9.3*]
11558
+ Parent=Opera 9.3
11559
+ Platform=Win7
11560
+
11561
+ [Mozilla/* (compatible; MSIE*; Windows XP*) Opera 9.3*]
11562
+ Parent=Opera 9.3
11563
+ Platform=WinXP
11564
+ Win32=true
11565
+
11566
+ [Mozilla/* (compatible; MSIE*; X11; FreeBSD*) Opera 9.3*]
11567
+ Parent=Opera 9.3
11568
+ Platform=FreeBSD
11569
+
11570
+ [Mozilla/* (compatible; MSIE*; X11; Linux*) Opera 9.3*]
11571
+ Parent=Opera 9.3
11572
+ Platform=Linux
11573
+
11574
+ [Mozilla/* (compatible; MSIE*; X11; SunOS*) Opera 9.3*]
11575
+ Parent=Opera 9.3
11576
+ Platform=SunOS
11577
+
11578
+ [Mozilla/* (Macintosh; *Mac OS X; ?) Opera 9.3*]
11579
+ Parent=Opera 9.3
11580
+ Platform=MacOSX
11581
+
11582
+ [Mozilla/* (Windows 2000;*) Opera 9.3*]
11583
+ Parent=Opera 9.3
11584
+ Platform=Win2000
11585
+ Win32=true
11586
+
11587
+ [Mozilla/* (Windows 95;*) Opera 9.3*]
11588
+ Parent=Opera 9.3
11589
+ Platform=Win95
11590
+ Win32=true
11591
+
11592
+ [Mozilla/* (Windows 98;*) Opera 9.3*]
11593
+ Parent=Opera 9.3
11594
+ Platform=Win98
11595
+ Win32=true
11596
+
11597
+ [Mozilla/* (Windows ME;*) Opera 9.3*]
11598
+ Parent=Opera 9.3
11599
+ Platform=WinME
11600
+ Win32=true
11601
+
11602
+ [Mozilla/* (Windows NT 4.0;*) Opera 9.3*]
11603
+ Parent=Opera 9.3
11604
+ Platform=WinNT
11605
+ Win32=true
11606
+
11607
+ [Mozilla/* (Windows NT 5.0;*) Opera 9.3*]
11608
+ Parent=Opera 9.3
11609
+ Platform=Win2000
11610
+ Win32=true
11611
+
11612
+ [Mozilla/* (Windows NT 5.1;*) Opera 9.3*]
11613
+ Parent=Opera 9.3
11614
+ Platform=WinXP
11615
+ Win32=true
11616
+
11617
+ [Mozilla/* (Windows NT 5.2;*) Opera 9.3*]
11618
+ Parent=Opera 9.3
11619
+ Platform=Win2003
11620
+ Win32=true
11621
+
11622
+ [Mozilla/* (Windows NT 6.0;*) Opera 9.3*]
11623
+ Parent=Opera 9.3
11624
+ Platform=WinVista
11625
+
11626
+ [Mozilla/* (Windows NT 6.1;*) Opera 9.3*]
11627
+ Parent=Opera 9.3
11628
+ Platform=Win7
11629
+
11630
+ [Mozilla/* (X11; Linux*) Opera 9.3*]
11631
+ Parent=Opera 9.3
11632
+ Platform=Linux
11633
+
11634
+ [Opera/9.3* (Linux*)*]
11635
+ Parent=Opera 9.3
11636
+ Platform=Linux
11637
+
11638
+ [Opera/9.3* (Macintosh; *Mac OS X;*)*]
11639
+ Parent=Opera 9.3
11640
+ Platform=MacOSX
11641
+
11642
+ [Opera/9.3* (Windows 95*)*]
11643
+ Parent=Opera 9.3
11644
+ Platform=Win95
11645
+ Win32=true
11646
+
11647
+ [Opera/9.3* (Windows 98*)*]
11648
+ Parent=Opera 9.3
11649
+ Platform=Win98
11650
+ Win32=true
11651
+
11652
+ [Opera/9.3* (Windows CE*)*]
11653
+ Parent=Opera 9.3
11654
+ Platform=WinCE
11655
+ Win32=true
11656
+
11657
+ [Opera/9.3* (Windows ME*)*]
11658
+ Parent=Opera 9.3
11659
+ Platform=WinME
11660
+ Win32=true
11661
+
11662
+ [Opera/9.3* (Windows NT 4.0*)*]
11663
+ Parent=Opera 9.3
11664
+ Platform=WinNT
11665
+ Win32=true
11666
+
11667
+ [Opera/9.3* (Windows NT 5.0*)*]
11668
+ Parent=Opera 9.3
11669
+ Platform=Win2000
11670
+ Win32=true
11671
+
11672
+ [Opera/9.3* (Windows NT 5.1*)*]
11673
+ Parent=Opera 9.3
11674
+ Platform=WinXP
11675
+ Win32=true
11676
+
11677
+ [Opera/9.3* (Windows NT 5.2*)*]
11678
+ Parent=Opera 9.3
11679
+ Platform=Win2003
11680
+ Win32=true
11681
+
11682
+ [Opera/9.3* (Windows NT 6.0*)*]
11683
+ Parent=Opera 9.3
11684
+ Platform=WinVista
11685
+ Win32=true
11686
+
11687
+ [Opera/9.3* (Windows NT 6.1*)*]
11688
+ Parent=Opera 9.3
11689
+ Platform=Win7
11690
+
11691
+ [Opera/9.3* (Windows XP*)*]
11692
+ Parent=Opera 9.3
11693
+ Platform=WinXP
11694
+ Win32=true
11695
+
11696
+ [Opera/9.3* (X11; FreeBSD*)*]
11697
+ Parent=Opera 9.3
11698
+ Platform=FreeBSD
11699
+
11700
+ [Opera/9.3* (X11; Linux*)*]
11701
+ Parent=Opera 9.3
11702
+ Platform=Linux
11703
+
11704
+ [Opera/9.3* (X11; SunOS*)*]
11705
+ Parent=Opera 9.3
11706
+ Platform=SunOS
11707
+
11708
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 9.4
11709
+
11710
+ [Opera 9.4]
11711
+ Parent=DefaultProperties
11712
+ Browser="Opera"
11713
+ Version=9.4
11714
+ MajorVer=9
11715
+ MinorVer=4
11716
+ Frames=true
11717
+ IFrames=true
11718
+ Tables=true
11719
+ Cookies=true
11720
+ BackgroundSounds=true
11721
+ JavaApplets=true
11722
+ JavaScript=true
11723
+ CssVersion=2
11724
+ supportsCSS=true
11725
+
11726
+ [Mozilla/* (compatible; MSIE*; Linux*) Opera 9.4*]
11727
+ Parent=Opera 9.4
11728
+ Platform=Linux
11729
+
11730
+ [Mozilla/* (compatible; MSIE*; Mac_PowerPC Mac OS X;*) Opera 9.4*]
11731
+ Parent=Opera 9.4
11732
+ Platform=MacOSX
11733
+
11734
+ [Mozilla/* (compatible; MSIE*; Mac_PowerPC) Opera 9.4*]
11735
+ Parent=Opera 9.4
11736
+ Platform=MacPPC
11737
+
11738
+ [Mozilla/* (compatible; MSIE*; Windows 2000*) Opera 9.4*]
11739
+ Parent=Opera 9.4
11740
+ Platform=Win2000
11741
+ Win32=true
11742
+
11743
+ [Mozilla/* (compatible; MSIE*; Windows 95*) Opera 9.4*]
11744
+ Parent=Opera 9.4
11745
+ Platform=Win95
11746
+ Win32=true
11747
+
11748
+ [Mozilla/* (compatible; MSIE*; Windows 98*) Opera 9.4*]
11749
+ Parent=Opera 9.4
11750
+ Platform=Win98
11751
+ Win32=true
11752
+
11753
+ [Mozilla/* (compatible; MSIE*; Windows CE*) Opera 9.4*]
11754
+ Parent=Opera 9.4
11755
+ Platform=WinCE
11756
+ Win32=true
11757
+
11758
+ [Mozilla/* (compatible; MSIE*; Windows ME*) Opera 9.4*]
11759
+ Parent=Opera 9.4
11760
+ Platform=WinME
11761
+ Win32=true
11762
+
11763
+ [Mozilla/* (compatible; MSIE*; Windows NT 4.0*) Opera 9.4*]
11764
+ Parent=Opera 9.4
11765
+ Platform=WinNT
11766
+ Win32=true
11767
+
11768
+ [Mozilla/* (compatible; MSIE*; Windows NT 5.0*) Opera 9.4*]
11769
+ Parent=Opera 9.4
11770
+ Platform=Win2000
11771
+ Win32=true
11772
+
11773
+ [Mozilla/* (compatible; MSIE*; Windows NT 5.1*) Opera 9.4*]
11774
+ Parent=Opera 9.4
11775
+ Platform=WinXP
11776
+ Win32=true
11777
+
11778
+ [Mozilla/* (compatible; MSIE*; Windows NT 5.2*) Opera 9.4*]
11779
+ Parent=Opera 9.4
11780
+ Platform=Win2003
11781
+ Win32=true
11782
+
11783
+ [Mozilla/* (compatible; MSIE*; Windows NT 6.0*) Opera 9.4*]
11784
+ Parent=Opera 9.4
11785
+ Platform=WinVista
11786
+ Win32=true
11787
+
11788
+ [Mozilla/* (compatible; MSIE*; Windows NT 6.1*) Opera 9.4*]
11789
+ Parent=Opera 9.4
11790
+ Platform=Win7
11791
+
11792
+ [Mozilla/* (compatible; MSIE*; Windows XP*) Opera 9.4*]
11793
+ Parent=Opera 9.4
11794
+ Platform=WinXP
11795
+ Win32=true
11796
+
11797
+ [Mozilla/* (compatible; MSIE*; X11; FreeBSD*) Opera 9.4*]
11798
+ Parent=Opera 9.4
11799
+ Platform=FreeBSD
11800
+
11801
+ [Mozilla/* (compatible; MSIE*; X11; Linux*) Opera 9.4*]
11802
+ Parent=Opera 9.4
11803
+ Platform=Linux
11804
+
11805
+ [Mozilla/* (compatible; MSIE*; X11; SunOS*) Opera 9.4*]
11806
+ Parent=Opera 9.4
11807
+ Platform=SunOS
11808
+
11809
+ [Mozilla/* (Macintosh; *Mac OS X; ?) Opera 9.4*]
11810
+ Parent=Opera 9.4
11811
+ Platform=MacOSX
11812
+
11813
+ [Mozilla/* (Windows 2000;*) Opera 9.4*]
11814
+ Parent=Opera 9.4
11815
+ Platform=Win2000
11816
+ Win32=true
11817
+
11818
+ [Mozilla/* (Windows 95;*) Opera 9.4*]
11819
+ Parent=Opera 9.4
11820
+ Platform=Win95
11821
+ Win32=true
11822
+
11823
+ [Mozilla/* (Windows 98;*) Opera 9.4*]
11824
+ Parent=Opera 9.4
11825
+ Platform=Win98
11826
+ Win32=true
11827
+
11828
+ [Mozilla/* (Windows ME;*) Opera 9.4*]
11829
+ Parent=Opera 9.4
11830
+ Platform=WinME
11831
+ Win32=true
11832
+
11833
+ [Mozilla/* (Windows NT 4.0;*) Opera 9.4*]
11834
+ Parent=Opera 9.4
11835
+ Platform=WinNT
11836
+ Win32=true
11837
+
11838
+ [Mozilla/* (Windows NT 5.0;*) Opera 9.4*]
11839
+ Parent=Opera 9.4
11840
+ Platform=Win2000
11841
+ Win32=true
11842
+
11843
+ [Mozilla/* (Windows NT 5.1;*) Opera 9.4*]
11844
+ Parent=Opera 9.4
11845
+ Platform=WinXP
11846
+ Win32=true
11847
+
11848
+ [Mozilla/* (Windows NT 5.2;*) Opera 9.4*]
11849
+ Parent=Opera 9.4
11850
+ Platform=Win2003
11851
+ Win32=true
11852
+
11853
+ [Mozilla/* (Windows NT 6.0;*) Opera 9.4*]
11854
+ Parent=Opera 9.4
11855
+ Platform=WinVista
11856
+
11857
+ [Mozilla/* (Windows NT 6.1;*) Opera 9.4*]
11858
+ Parent=Opera 9.4
11859
+ Platform=Win7
11860
+
11861
+ [Mozilla/* (X11; Linux*) Opera 9.4*]
11862
+ Parent=Opera 9.4
11863
+ Platform=Linux
11864
+
11865
+ [Opera/9.4* (Linux*)*]
11866
+ Parent=Opera 9.4
11867
+ Platform=Linux
11868
+
11869
+ [Opera/9.4* (Macintosh; *Mac OS X;*)*]
11870
+ Parent=Opera 9.4
11871
+ Platform=MacOSX
11872
+
11873
+ [Opera/9.4* (Windows 95*)*]
11874
+ Parent=Opera 9.4
11875
+ Platform=Win95
11876
+ Win32=true
11877
+
11878
+ [Opera/9.4* (Windows 98*)*]
11879
+ Parent=Opera 9.4
11880
+ Platform=Win98
11881
+ Win32=true
11882
+
11883
+ [Opera/9.4* (Windows CE*)*]
11884
+ Parent=Opera 9.4
11885
+ Platform=WinCE
11886
+ Win32=true
11887
+
11888
+ [Opera/9.4* (Windows ME*)*]
11889
+ Parent=Opera 9.4
11890
+ Platform=WinME
11891
+ Win32=true
11892
+
11893
+ [Opera/9.4* (Windows NT 4.0*)*]
11894
+ Parent=Opera 9.4
11895
+ Platform=WinNT
11896
+ Win32=true
11897
+
11898
+ [Opera/9.4* (Windows NT 5.0*)*]
11899
+ Parent=Opera 9.4
11900
+ Platform=Win2000
11901
+ Win32=true
11902
+
11903
+ [Opera/9.4* (Windows NT 5.1*)*]
11904
+ Parent=Opera 9.4
11905
+ Platform=WinXP
11906
+ Win32=true
11907
+
11908
+ [Opera/9.4* (Windows NT 5.2*)*]
11909
+ Parent=Opera 9.4
11910
+ Platform=Win2003
11911
+ Win32=true
11912
+
11913
+ [Opera/9.4* (Windows NT 6.0*)*]
11914
+ Parent=Opera 9.4
11915
+ Platform=WinVista
11916
+ Win32=true
11917
+
11918
+ [Opera/9.4* (Windows NT 6.1*)*]
11919
+ Parent=Opera 9.4
11920
+ Platform=Win7
11921
+
11922
+ [Opera/9.4* (Windows XP*)*]
11923
+ Parent=Opera 9.4
11924
+ Platform=WinXP
11925
+ Win32=true
11926
+
11927
+ [Opera/9.4* (X11; FreeBSD*)*]
11928
+ Parent=Opera 9.4
11929
+ Platform=FreeBSD
11930
+
11931
+ [Opera/9.4* (X11; Linux*)*]
11932
+ Parent=Opera 9.4
11933
+ Platform=Linux
11934
+
11935
+ [Opera/9.4* (X11; SunOS*)*]
11936
+ Parent=Opera 9.4
11937
+ Platform=SunOS
11938
+
11939
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 9.5
11940
+
11941
+ [Opera 9.5]
11942
+ Parent=DefaultProperties
11943
+ Browser="Opera"
11944
+ Version=9.5
11945
+ MajorVer=9
11946
+ MinorVer=5
11947
+ Frames=true
11948
+ IFrames=true
11949
+ Tables=true
11950
+ Cookies=true
11951
+ BackgroundSounds=true
11952
+ JavaApplets=true
11953
+ JavaScript=true
11954
+ CssVersion=2
11955
+ supportsCSS=true
11956
+
11957
+ [Mozilla/* (compatible; MSIE*; Linux*) Opera 9.5*]
11958
+ Parent=Opera 9.5
11959
+ Platform=Linux
11960
+
11961
+ [Mozilla/* (compatible; MSIE*; Mac_PowerPC Mac OS X;*) Opera 9.5*]
11962
+ Parent=Opera 9.5
11963
+ Platform=MacOSX
11964
+
11965
+ [Mozilla/* (compatible; MSIE*; Mac_PowerPC) Opera 9.5*]
11966
+ Parent=Opera 9.5
11967
+ Platform=MacPPC
11968
+
11969
+ [Mozilla/* (compatible; MSIE*; Windows 2000*) Opera 9.5*]
11970
+ Parent=Opera 9.5
11971
+ Platform=Win2000
11972
+ Win32=true
11973
+
11974
+ [Mozilla/* (compatible; MSIE*; Windows 95*) Opera 9.5*]
11975
+ Parent=Opera 9.5
11976
+ Platform=Win95
11977
+ Win32=true
11978
+
11979
+ [Mozilla/* (compatible; MSIE*; Windows 98*) Opera 9.5*]
11980
+ Parent=Opera 9.5
11981
+ Platform=Win98
11982
+ Win32=true
11983
+
11984
+ [Mozilla/* (compatible; MSIE*; Windows CE*) Opera 9.5*]
11985
+ Parent=Opera 9.5
11986
+ Platform=WinCE
11987
+ Win32=true
11988
+
11989
+ [Mozilla/* (compatible; MSIE*; Windows ME*) Opera 9.5*]
11990
+ Parent=Opera 9.5
11991
+ Platform=WinME
11992
+ Win32=true
11993
+
11994
+ [Mozilla/* (compatible; MSIE*; Windows NT 4.0*) Opera 9.5*]
11995
+ Parent=Opera 9.5
11996
+ Platform=WinNT
11997
+ Win32=true
11998
+
11999
+ [Mozilla/* (compatible; MSIE*; Windows NT 5.0*) Opera 9.5*]
12000
+ Parent=Opera 9.5
12001
+ Platform=Win2000
12002
+ Win32=true
12003
+
12004
+ [Mozilla/* (compatible; MSIE*; Windows NT 5.1*) Opera 9.5*]
12005
+ Parent=Opera 9.5
12006
+ Platform=WinXP
12007
+ Win32=true
12008
+
12009
+ [Mozilla/* (compatible; MSIE*; Windows NT 5.2*) Opera 9.5*]
12010
+ Parent=Opera 9.5
12011
+ Platform=Win2003
12012
+ Win32=true
12013
+
12014
+ [Mozilla/* (compatible; MSIE*; Windows NT 6.0*) Opera 9.5*]
12015
+ Parent=Opera 9.5
12016
+ Platform=WinVista
12017
+ Win32=true
12018
+
12019
+ [Mozilla/* (compatible; MSIE*; Windows NT 6.1*) Opera 9.5*]
12020
+ Parent=Opera 9.5
12021
+ Platform=Win7
12022
+
12023
+ [Mozilla/* (compatible; MSIE*; Windows XP*) Opera 9.5*]
12024
+ Parent=Opera 9.5
12025
+ Platform=WinXP
12026
+ Win32=true
12027
+
12028
+ [Mozilla/* (compatible; MSIE*; X11; FreeBSD*) Opera 9.5*]
12029
+ Parent=Opera 9.5
12030
+ Platform=FreeBSD
12031
+
12032
+ [Mozilla/* (compatible; MSIE*; X11; Linux*) Opera 9.5*]
12033
+ Parent=Opera 9.5
12034
+ Platform=Linux
12035
+
12036
+ [Mozilla/* (compatible; MSIE*; X11; SunOS*) Opera 9.5*]
12037
+ Parent=Opera 9.5
12038
+ Platform=SunOS
12039
+
12040
+ [Mozilla/* (Macintosh; *Mac OS X; ?) Opera 9.5*]
12041
+ Parent=Opera 9.5
12042
+ Platform=MacOSX
12043
+
12044
+ [Mozilla/* (Windows 2000;*) Opera 9.5*]
12045
+ Parent=Opera 9.5
12046
+ Platform=Win2000
12047
+ Win32=true
12048
+
12049
+ [Mozilla/* (Windows 95;*) Opera 9.5*]
12050
+ Parent=Opera 9.5
12051
+ Platform=Win95
12052
+ Win32=true
12053
+
12054
+ [Mozilla/* (Windows 98;*) Opera 9.5*]
12055
+ Parent=Opera 9.5
12056
+ Platform=Win98
12057
+ Win32=true
12058
+
12059
+ [Mozilla/* (Windows ME;*) Opera 9.5*]
12060
+ Parent=Opera 9.5
12061
+ Platform=WinME
12062
+ Win32=true
12063
+
12064
+ [Mozilla/* (Windows NT 4.0;*) Opera 9.5*]
12065
+ Parent=Opera 9.5
12066
+ Platform=WinNT
12067
+ Win32=true
12068
+
12069
+ [Mozilla/* (Windows NT 5.0;*) Opera 9.5*]
12070
+ Parent=Opera 9.5
12071
+ Platform=Win2000
12072
+ Win32=true
12073
+
12074
+ [Mozilla/* (Windows NT 5.1;*) Opera 9.5*]
12075
+ Parent=Opera 9.5
12076
+ Platform=WinXP
12077
+ Win32=true
12078
+
12079
+ [Mozilla/* (Windows NT 5.2;*) Opera 9.5*]
12080
+ Parent=Opera 9.5
12081
+ Platform=Win2003
12082
+ Win32=true
12083
+
12084
+ [Mozilla/* (Windows NT 6.0;*) Opera 9.5*]
12085
+ Parent=Opera 9.5
12086
+ Platform=WinVista
12087
+
12088
+ [Mozilla/* (Windows NT 6.1;*) Opera 9.5*]
12089
+ Parent=Opera 9.5
12090
+ Platform=Win7
12091
+
12092
+ [Mozilla/* (X11; Linux*) Opera 9.5*]
12093
+ Parent=Opera 9.5
12094
+ Platform=Linux
12095
+
12096
+ [Opera/9.5* (Linux*)*]
12097
+ Parent=Opera 9.5
12098
+ Platform=Linux
12099
+
12100
+ [Opera/9.5* (Macintosh; *Mac OS X;*)*]
12101
+ Parent=Opera 9.5
12102
+ Platform=MacOSX
12103
+
12104
+ [Opera/9.5* (Windows 95*)*]
12105
+ Parent=Opera 9.5
12106
+ Platform=Win95
12107
+ Win32=true
12108
+
12109
+ [Opera/9.5* (Windows 98*)*]
12110
+ Parent=Opera 9.5
12111
+ Platform=Win98
12112
+ Win32=true
12113
+
12114
+ [Opera/9.5* (Windows CE*)*]
12115
+ Parent=Opera 9.5
12116
+ Platform=WinCE
12117
+ Win32=true
12118
+
12119
+ [Opera/9.5* (Windows ME*)*]
12120
+ Parent=Opera 9.5
12121
+ Platform=WinME
12122
+ Win32=true
12123
+
12124
+ [Opera/9.5* (Windows NT 4.0*)*]
12125
+ Parent=Opera 9.5
12126
+ Platform=WinNT
12127
+ Win32=true
12128
+
12129
+ [Opera/9.5* (Windows NT 5.0*)*]
12130
+ Parent=Opera 9.5
12131
+ Platform=Win2000
12132
+ Win32=true
12133
+
12134
+ [Opera/9.5* (Windows NT 5.1*)*]
12135
+ Parent=Opera 9.5
12136
+ Platform=WinXP
12137
+ Win32=true
12138
+
12139
+ [Opera/9.5* (Windows NT 5.2*)*]
12140
+ Parent=Opera 9.5
12141
+ Platform=Win2003
12142
+ Win32=true
12143
+
12144
+ [Opera/9.5* (Windows NT 6.0*)*]
12145
+ Parent=Opera 9.5
12146
+ Platform=WinVista
12147
+ Win32=true
12148
+
12149
+ [Opera/9.5* (Windows NT 6.1*)*]
12150
+ Parent=Opera 9.5
12151
+ Platform=Win7
12152
+
12153
+ [Opera/9.5* (Windows XP*)*]
12154
+ Parent=Opera 9.5
12155
+ Platform=WinXP
12156
+ Win32=true
12157
+
12158
+ [Opera/9.5* (X11; FreeBSD*)*]
12159
+ Parent=Opera 9.5
12160
+ Platform=FreeBSD
12161
+
12162
+ [Opera/9.5* (X11; Linux*)*]
12163
+ Parent=Opera 9.5
12164
+ Platform=Linux
12165
+
12166
+ [Opera/9.5* (X11; SunOS*)*]
12167
+ Parent=Opera 9.5
12168
+ Platform=SunOS
12169
+
12170
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 9.6
12171
+
12172
+ [Opera 9.6]
12173
+ Parent=DefaultProperties
12174
+ Browser="Opera"
12175
+ Version=9.6
12176
+ MajorVer=9
12177
+ MinorVer=6
12178
+ Frames=true
12179
+ IFrames=true
12180
+ Tables=true
12181
+ Cookies=true
12182
+ BackgroundSounds=true
12183
+ JavaApplets=true
12184
+ JavaScript=true
12185
+ CssVersion=2
12186
+ supportsCSS=true
12187
+
12188
+ [Mozilla/* (compatible; MSIE*; Linux*) Opera 9.6*]
12189
+ Parent=Opera 9.6
12190
+ Platform=Linux
12191
+
12192
+ [Mozilla/* (compatible; MSIE*; Mac_PowerPC Mac OS X;*) Opera 9.6*]
12193
+ Parent=Opera 9.6
12194
+ Platform=MacOSX
12195
+
12196
+ [Mozilla/* (compatible; MSIE*; Mac_PowerPC) Opera 9.6*]
12197
+ Parent=Opera 9.6
12198
+ Platform=MacPPC
12199
+
12200
+ [Mozilla/* (compatible; MSIE*; Windows 2000*) Opera 9.6*]
12201
+ Parent=Opera 9.6
12202
+ Platform=Win2000
12203
+ Win32=true
12204
+
12205
+ [Mozilla/* (compatible; MSIE*; Windows 95*) Opera 9.6*]
12206
+ Parent=Opera 9.6
12207
+ Platform=Win95
12208
+ Win32=true
12209
+
12210
+ [Mozilla/* (compatible; MSIE*; Windows 98*) Opera 9.6*]
12211
+ Parent=Opera 9.6
12212
+ Platform=Win98
12213
+ Win32=true
12214
+
12215
+ [Mozilla/* (compatible; MSIE*; Windows CE*) Opera 9.6*]
12216
+ Parent=Opera 9.6
12217
+ Platform=WinCE
12218
+ Win32=true
12219
+
12220
+ [Mozilla/* (compatible; MSIE*; Windows ME*) Opera 9.6*]
12221
+ Parent=Opera 9.6
12222
+ Platform=WinME
12223
+ Win32=true
12224
+
12225
+ [Mozilla/* (compatible; MSIE*; Windows NT 4.0*) Opera 9.6*]
12226
+ Parent=Opera 9.6
12227
+ Platform=WinNT
12228
+ Win32=true
12229
+
12230
+ [Mozilla/* (compatible; MSIE*; Windows NT 5.0*) Opera 9.6*]
12231
+ Parent=Opera 9.6
12232
+ Platform=Win2000
12233
+ Win32=true
12234
+
12235
+ [Mozilla/* (compatible; MSIE*; Windows NT 5.1*) Opera 9.6*]
12236
+ Parent=Opera 9.6
12237
+ Platform=WinXP
12238
+ Win32=true
12239
+
12240
+ [Mozilla/* (compatible; MSIE*; Windows NT 5.2*) Opera 9.6*]
12241
+ Parent=Opera 9.6
12242
+ Platform=Win2003
12243
+ Win32=true
12244
+
12245
+ [Mozilla/* (compatible; MSIE*; Windows NT 6.0*) Opera 9.6*]
12246
+ Parent=Opera 9.6
12247
+ Platform=WinVista
12248
+ Win32=true
12249
+
12250
+ [Mozilla/* (compatible; MSIE*; Windows NT 6.1*) Opera 9.6*]
12251
+ Parent=Opera 9.6
12252
+ Platform=Win7
12253
+
12254
+ [Mozilla/* (compatible; MSIE*; Windows XP*) Opera 9.6*]
12255
+ Parent=Opera 9.6
12256
+ Platform=WinXP
12257
+ Win32=true
12258
+
12259
+ [Mozilla/* (compatible; MSIE*; X11; FreeBSD*) Opera 9.6*]
12260
+ Parent=Opera 9.6
12261
+ Platform=FreeBSD
12262
+
12263
+ [Mozilla/* (compatible; MSIE*; X11; Linux*) Opera 9.6*]
12264
+ Parent=Opera 9.6
12265
+ Platform=Linux
12266
+
12267
+ [Mozilla/* (compatible; MSIE*; X11; SunOS*) Opera 9.6*]
12268
+ Parent=Opera 9.6
12269
+ Platform=SunOS
12270
+
12271
+ [Mozilla/* (Macintosh; *Mac OS X; ?) Opera 9.6*]
12272
+ Parent=Opera 9.6
12273
+ Platform=MacOSX
12274
+
12275
+ [Mozilla/* (Windows 2000;*) Opera 9.6*]
12276
+ Parent=Opera 9.6
12277
+ Platform=Win2000
12278
+ Win32=true
12279
+
12280
+ [Mozilla/* (Windows 95;*) Opera 9.6*]
12281
+ Parent=Opera 9.6
12282
+ Platform=Win95
12283
+ Win32=true
12284
+
12285
+ [Mozilla/* (Windows 98;*) Opera 9.6*]
12286
+ Parent=Opera 9.6
12287
+ Platform=Win98
12288
+ Win32=true
12289
+
12290
+ [Mozilla/* (Windows ME;*) Opera 9.6*]
12291
+ Parent=Opera 9.6
12292
+ Platform=WinME
12293
+ Win32=true
12294
+
12295
+ [Mozilla/* (Windows NT 4.0;*) Opera 9.6*]
12296
+ Parent=Opera 9.6
12297
+ Platform=WinNT
12298
+ Win32=true
12299
+
12300
+ [Mozilla/* (Windows NT 5.0;*) Opera 9.6*]
12301
+ Parent=Opera 9.6
12302
+ Platform=Win2000
12303
+ Win32=true
12304
+
12305
+ [Mozilla/* (Windows NT 5.1;*) Opera 9.6*]
12306
+ Parent=Opera 9.6
12307
+ Platform=WinXP
12308
+ Win32=true
12309
+
12310
+ [Mozilla/* (Windows NT 5.2;*) Opera 9.6*]
12311
+ Parent=Opera 9.6
12312
+ Platform=Win2003
12313
+ Win32=true
12314
+
12315
+ [Mozilla/* (Windows NT 6.0;*) Opera 9.6*]
12316
+ Parent=Opera 9.6
12317
+ Platform=WinVista
12318
+
12319
+ [Mozilla/* (Windows NT 6.1;*) Opera 9.6*]
12320
+ Parent=Opera 9.6
12321
+ Platform=Win7
12322
+
12323
+ [Mozilla/* (X11; Linux*) Opera 9.6*]
12324
+ Parent=Opera 9.6
12325
+ Platform=Linux
12326
+
12327
+ [Opera/9.6* (Linux*)*]
12328
+ Parent=Opera 9.6
12329
+ Platform=Linux
12330
+
12331
+ [Opera/9.6* (Macintosh; *Mac OS X;*)*]
12332
+ Parent=Opera 9.6
12333
+ Platform=MacOSX
12334
+
12335
+ [Opera/9.6* (Windows 95*)*]
12336
+ Parent=Opera 9.6
12337
+ Platform=Win95
12338
+ Win32=true
12339
+
12340
+ [Opera/9.6* (Windows 98*)*]
12341
+ Parent=Opera 9.6
12342
+ Platform=Win98
12343
+ Win32=true
12344
+
12345
+ [Opera/9.6* (Windows CE*)*]
12346
+ Parent=Opera 9.6
12347
+ Platform=WinCE
12348
+ Win32=true
12349
+
12350
+ [Opera/9.6* (Windows ME*)*]
12351
+ Parent=Opera 9.6
12352
+ Platform=WinME
12353
+ Win32=true
12354
+
12355
+ [Opera/9.6* (Windows NT 4.0*)*]
12356
+ Parent=Opera 9.6
12357
+ Platform=WinNT
12358
+ Win32=true
12359
+
12360
+ [Opera/9.6* (Windows NT 5.0*)*]
12361
+ Parent=Opera 9.6
12362
+ Platform=Win2000
12363
+ Win32=true
12364
+
12365
+ [Opera/9.6* (Windows NT 5.1*)*]
12366
+ Parent=Opera 9.6
12367
+ Platform=WinXP
12368
+ Win32=true
12369
+
12370
+ [Opera/9.6* (Windows NT 5.2*)*]
12371
+ Parent=Opera 9.6
12372
+ Platform=Win2003
12373
+ Win32=true
12374
+
12375
+ [Opera/9.6* (Windows NT 6.0*)*]
12376
+ Parent=Opera 9.6
12377
+ Platform=WinVista
12378
+ Win32=true
12379
+
12380
+ [Opera/9.6* (Windows NT 6.1*)*]
12381
+ Parent=Opera 9.6
12382
+ Platform=Win7
12383
+
12384
+ [Opera/9.6* (Windows XP*)*]
12385
+ Parent=Opera 9.6
12386
+ Platform=WinXP
12387
+ Win32=true
12388
+
12389
+ [Opera/9.6* (X11; FreeBSD*)*]
12390
+ Parent=Opera 9.6
12391
+ Platform=FreeBSD
12392
+
12393
+ [Opera/9.6* (X11; Linux*)*]
12394
+ Parent=Opera 9.6
12395
+ Platform=Linux
12396
+
12397
+ [Opera/9.6* (X11; SunOS*)*]
12398
+ Parent=Opera 9.6
12399
+ Platform=SunOS
12400
+
12401
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Netscape 4.0
12402
+
12403
+ [Netscape 4.0]
12404
+ Parent=DefaultProperties
12405
+ Browser="Netscape"
12406
+ Version=4.0
12407
+ MajorVer=4
12408
+ Frames=true
12409
+ Tables=true
12410
+ Cookies=true
12411
+ JavaApplets=true
12412
+ JavaScript=true
12413
+ CssVersion=1
12414
+ supportsCSS=true
12415
+
12416
+ [Mozilla/4.0*(Macintosh*]
12417
+ Parent=Netscape 4.0
12418
+ Version=4.03
12419
+ MinorVer=03
12420
+ Platform=MacPPC
12421
+
12422
+ [Mozilla/4.0*(Win95;*]
12423
+ Parent=Netscape 4.0
12424
+ Platform=Win95
12425
+
12426
+ [Mozilla/4.0*(Win98;*]
12427
+ Parent=Netscape 4.0
12428
+ Version=4.03
12429
+ MinorVer=03
12430
+ Platform=Win98
12431
+
12432
+ [Mozilla/4.0*(WinNT*]
12433
+ Parent=Netscape 4.0
12434
+ Version=4.03
12435
+ MinorVer=03
12436
+ Platform=WinNT
12437
+
12438
+ [Mozilla/4.0*(X11;*)]
12439
+ Parent=Netscape 4.0
12440
+ Platform=Linux
12441
+
12442
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Netscape 4.5
12443
+
12444
+ [Netscape 4.5]
12445
+ Parent=DefaultProperties
12446
+ Browser="Netscape"
12447
+ Version=4.5
12448
+ MajorVer=4
12449
+ MinorVer=5
12450
+ Frames=true
12451
+ Tables=true
12452
+ Cookies=true
12453
+ JavaApplets=true
12454
+ JavaScript=true
12455
+ CssVersion=1
12456
+ supportsCSS=true
12457
+
12458
+ [Mozilla/4.5*(Macintosh; ?; PPC)]
12459
+ Parent=Netscape 4.5
12460
+ Platform=MacPPC
12461
+
12462
+ [Mozilla/4.5*(Win2000; ?)]
12463
+ Parent=Netscape 4.5
12464
+ Platform=Win2000
12465
+
12466
+ [Mozilla/4.5*(Win95; ?)]
12467
+ Parent=Netscape 4.5
12468
+ Platform=Win95
12469
+
12470
+ [Mozilla/4.5*(Win98; ?)]
12471
+ Parent=Netscape 4.5
12472
+ Platform=Win98
12473
+
12474
+ [Mozilla/4.5*(WinME; ?)]
12475
+ Parent=Netscape 4.5
12476
+ Platform=WinME
12477
+
12478
+ [Mozilla/4.5*(WinNT; ?)]
12479
+ Parent=Netscape 4.5
12480
+ Platform=WinNT
12481
+
12482
+ [Mozilla/4.5*(WinXP; ?)]
12483
+ Parent=Netscape 4.5
12484
+ Platform=WinXP
12485
+
12486
+ [Mozilla/4.5*(X11*)]
12487
+ Parent=Netscape 4.5
12488
+ Platform=Linux
12489
+
12490
+ [Mozilla/4.51*(Macintosh; ?; PPC)]
12491
+ Parent=Netscape 4.5
12492
+ Version=4.51
12493
+ MinorVer=51
12494
+
12495
+ [Mozilla/4.51*(Win2000; ?)]
12496
+ Parent=Netscape 4.5
12497
+ Version=4.51
12498
+ MinorVer=51
12499
+ Platform=Win2000
12500
+
12501
+ [Mozilla/4.51*(Win95; ?)]
12502
+ Parent=Netscape 4.5
12503
+ Version=4.51
12504
+ MinorVer=51
12505
+ Platform=Win95
12506
+
12507
+ [Mozilla/4.51*(Win98; ?)]
12508
+ Parent=Netscape 4.5
12509
+ Version=4.51
12510
+ MinorVer=51
12511
+ Platform=Win98
12512
+
12513
+ [Mozilla/4.51*(WinME; ?)]
12514
+ Parent=Netscape 4.5
12515
+ Version=4.51
12516
+ MinorVer=51
12517
+ Platform=WinME
12518
+
12519
+ [Mozilla/4.51*(WinNT; ?)]
12520
+ Parent=Netscape 4.5
12521
+ Version=4.51
12522
+ MinorVer=51
12523
+ Platform=WinNT
12524
+
12525
+ [Mozilla/4.51*(WinXP; ?)]
12526
+ Parent=Netscape 4.5
12527
+ Version=4.51
12528
+ MinorVer=51
12529
+ Platform=WinXP
12530
+
12531
+ [Mozilla/4.51*(X11*)]
12532
+ Parent=Netscape 4.5
12533
+ Version=4.51
12534
+ MinorVer=51
12535
+ Platform=Linux
12536
+
12537
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Netscape 4.6
12538
+
12539
+ [Netscape 4.6]
12540
+ Parent=DefaultProperties
12541
+ Browser="Netscape"
12542
+ Version=4.6
12543
+ MajorVer=4
12544
+ MinorVer=6
12545
+ Frames=true
12546
+ Tables=true
12547
+ Cookies=true
12548
+ JavaApplets=true
12549
+ JavaScript=true
12550
+ CssVersion=1
12551
+ supportsCSS=true
12552
+
12553
+ [Mozilla/4.6 * (OS/2; ?)]
12554
+ Parent=Netscape 4.6
12555
+ Platform=OS/2
12556
+
12557
+ [Mozilla/4.6*(Macintosh; ?; PPC)]
12558
+ Parent=Netscape 4.6
12559
+ Platform=MacPPC
12560
+
12561
+ [Mozilla/4.6*(Win95; ?)]
12562
+ Parent=Netscape 4.6
12563
+ Platform=Win95
12564
+
12565
+ [Mozilla/4.6*(Win98; ?)]
12566
+ Parent=Netscape 4.6
12567
+ Platform=Win98
12568
+
12569
+ [Mozilla/4.6*(WinNT; ?)]
12570
+ Parent=Netscape 4.6
12571
+ Platform=WinNT
12572
+
12573
+ [Mozilla/4.61*(Macintosh; ?; PPC)]
12574
+ Parent=Netscape 4.6
12575
+ Version=4.61
12576
+ MajorVer=4
12577
+ MinorVer=61
12578
+ Platform=MacPPC
12579
+
12580
+ [Mozilla/4.61*(OS/2; ?)]
12581
+ Parent=Netscape 4.6
12582
+ Version=4.61
12583
+ MajorVer=4
12584
+ MinorVer=61
12585
+ Platform=OS/2
12586
+
12587
+ [Mozilla/4.61*(Win95; ?)]
12588
+ Parent=Netscape 4.6
12589
+ Version=4.61
12590
+ MajorVer=4
12591
+ MinorVer=61
12592
+ Platform=Win95
12593
+
12594
+ [Mozilla/4.61*(Win98; ?)]
12595
+ Parent=Netscape 4.6
12596
+ Version=4.61
12597
+ Platform=Win98
12598
+
12599
+ [Mozilla/4.61*(WinNT; ?)]
12600
+ Parent=Netscape 4.6
12601
+ Version=4.61
12602
+ MajorVer=4
12603
+ MinorVer=61
12604
+ Platform=WinNT
12605
+
12606
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Netscape 4.7
12607
+
12608
+ [Netscape 4.7]
12609
+ Parent=DefaultProperties
12610
+ Browser="Netscape"
12611
+ Version=4.7
12612
+ MajorVer=4
12613
+ MinorVer=7
12614
+ Frames=true
12615
+ Tables=true
12616
+ Cookies=true
12617
+ JavaApplets=true
12618
+ JavaScript=true
12619
+ CssVersion=1
12620
+ supportsCSS=true
12621
+
12622
+ [Mozilla/4.7 * (Win2000; ?)]
12623
+ Parent=Netscape 4.7
12624
+ Platform=Win2000
12625
+
12626
+ [Mozilla/4.7*(Macintosh; ?; PPC)*]
12627
+ Parent=Netscape 4.7
12628
+ MinorVer=7
12629
+ Platform=MacPPC
12630
+
12631
+ [Mozilla/4.7*(Win95; ?)*]
12632
+ Parent=Netscape 4.7
12633
+ MinorVer=7
12634
+ Platform=Win95
12635
+
12636
+ [Mozilla/4.7*(Win98; ?)*]
12637
+ Parent=Netscape 4.7
12638
+ MinorVer=7
12639
+ Platform=Win98
12640
+
12641
+ [Mozilla/4.7*(Windows NT 4.0; ?)*]
12642
+ Parent=Netscape 4.7
12643
+ MinorVer=7
12644
+ Platform=WinNT
12645
+ Win32=true
12646
+
12647
+ [Mozilla/4.7*(Windows NT 5.0; ?)*]
12648
+ Parent=Netscape 4.7
12649
+ MinorVer=7
12650
+ Platform=Win2000
12651
+ Win32=true
12652
+
12653
+ [Mozilla/4.7*(Windows NT 5.1; ?)*]
12654
+ Parent=Netscape 4.7
12655
+ MinorVer=7
12656
+ Platform=WinXP
12657
+ Win32=true
12658
+
12659
+ [Mozilla/4.7*(WinNT; ?)*]
12660
+ Parent=Netscape 4.7
12661
+ Platform=WinNT
12662
+
12663
+ [Mozilla/4.7*(X11*)*]
12664
+ Parent=Netscape 4.7
12665
+ Platform=Linux
12666
+
12667
+ [Mozilla/4.7*(X11; ?; SunOS*)*]
12668
+ Parent=Netscape 4.7
12669
+ Platform=SunOS
12670
+
12671
+ [Mozilla/4.71*(Macintosh; ?; PPC)*]
12672
+ Parent=Netscape 4.7
12673
+ Version=4.71
12674
+ MinorVer=71
12675
+ Platform=MacPPC
12676
+
12677
+ [Mozilla/4.71*(Win95; ?)*]
12678
+ Parent=Netscape 4.7
12679
+ Version=4.71
12680
+ MinorVer=71
12681
+ Platform=Win95
12682
+
12683
+ [Mozilla/4.71*(Win98; ?)*]
12684
+ Parent=Netscape 4.7
12685
+ Version=4.71
12686
+ MinorVer=71
12687
+ Platform=Win98
12688
+
12689
+ [Mozilla/4.71*(Windows NT 4.0; ?)*]
12690
+ Parent=Netscape 4.7
12691
+ Version=4.71
12692
+ MinorVer=71
12693
+ Platform=WinNT
12694
+ Win32=true
12695
+
12696
+ [Mozilla/4.71*(Windows NT 5.0; ?)*]
12697
+ Parent=Netscape 4.7
12698
+ Version=4.71
12699
+ MinorVer=71
12700
+ Platform=Win2000
12701
+ Win32=true
12702
+
12703
+ [Mozilla/4.71*(Windows NT 5.1; ?)*]
12704
+ Parent=Netscape 4.7
12705
+ Version=4.71
12706
+ MinorVer=71
12707
+ Platform=WinXP
12708
+ Win32=true
12709
+
12710
+ [Mozilla/4.71*(WinNT; ?)*]
12711
+ Parent=Netscape 4.7
12712
+ Version=4.71
12713
+ MinorVer=71
12714
+ Platform=WinNT
12715
+
12716
+ [Mozilla/4.71*(X11*)*]
12717
+ Parent=Netscape 4.7
12718
+ Version=4.71
12719
+ MinorVer=71
12720
+ Platform=Linux
12721
+
12722
+ [Mozilla/4.71*(X11; ?; SunOS*)*]
12723
+ Parent=Netscape 4.7
12724
+ Version=4.71
12725
+ MinorVer=71
12726
+ Platform=SunOS
12727
+
12728
+ [Mozilla/4.72*(Macintosh; ?; PPC)*]
12729
+ Parent=Netscape 4.7
12730
+ MinorVer=72
12731
+ Platform=MacPPC
12732
+
12733
+ [Mozilla/4.72*(Win95; ?)*]
12734
+ Parent=Netscape 4.7
12735
+ MinorVer=72
12736
+ Platform=Win95
12737
+
12738
+ [Mozilla/4.72*(Win98; ?)*]
12739
+ Parent=Netscape 4.7
12740
+ MinorVer=72
12741
+ Platform=Win98
12742
+
12743
+ [Mozilla/4.72*(Windows NT 4.0; ?)*]
12744
+ Parent=Netscape 4.7
12745
+ MinorVer=72
12746
+ Platform=WinNT
12747
+ Win32=true
12748
+
12749
+ [Mozilla/4.72*(Windows NT 5.0; ?)*]
12750
+ Parent=Netscape 4.7
12751
+ MinorVer=72
12752
+ Platform=Win2000
12753
+ Win32=true
12754
+
12755
+ [Mozilla/4.72*(Windows NT 5.1; ?)*]
12756
+ Parent=Netscape 4.7
12757
+ MinorVer=72
12758
+ Platform=WinXP
12759
+ Win32=true
12760
+
12761
+ [Mozilla/4.72*(WinNT; ?)*]
12762
+ Parent=Netscape 4.7
12763
+ MinorVer=72
12764
+ Platform=WinNT
12765
+
12766
+ [Mozilla/4.72*(X11*)*]
12767
+ Parent=Netscape 4.7
12768
+ MinorVer=72
12769
+ Platform=Linux
12770
+
12771
+ [Mozilla/4.72*(X11; ?; SunOS*)*]
12772
+ Parent=Netscape 4.7
12773
+ MinorVer=72
12774
+ Platform=SunOS
12775
+
12776
+ [Mozilla/4.73*(Macintosh; ?; PPC)*]
12777
+ Parent=Netscape 4.7
12778
+ MinorVer=73
12779
+ Platform=MacPPC
12780
+
12781
+ [Mozilla/4.73*(Win95; ?)*]
12782
+ Parent=Netscape 4.7
12783
+ MinorVer=73
12784
+ Platform=Win95
12785
+
12786
+ [Mozilla/4.73*(Win98; ?)*]
12787
+ Parent=Netscape 4.7
12788
+ MinorVer=73
12789
+ Platform=Win98
12790
+
12791
+ [Mozilla/4.73*(Windows NT 4.0; ?)*]
12792
+ Parent=Netscape 4.7
12793
+ MinorVer=73
12794
+ Platform=WinNT
12795
+ Win32=true
12796
+
12797
+ [Mozilla/4.73*(Windows NT 5.0; ?)*]
12798
+ Parent=Netscape 4.7
12799
+ MinorVer=73
12800
+ Platform=Win2000
12801
+ Win32=true
12802
+
12803
+ [Mozilla/4.73*(Windows NT 5.1; ?)*]
12804
+ Parent=Netscape 4.7
12805
+ MinorVer=73
12806
+ Platform=WinXP
12807
+ Win32=true
12808
+
12809
+ [Mozilla/4.73*(WinNT; ?)*]
12810
+ Parent=Netscape 4.7
12811
+ MinorVer=73
12812
+ Platform=WinNT
12813
+
12814
+ [Mozilla/4.73*(X11*)*]
12815
+ Parent=Netscape 4.7
12816
+ MinorVer=73
12817
+ Platform=Linux
12818
+
12819
+ [Mozilla/4.73*(X11; ?; SunOS*)*]
12820
+ Parent=Netscape 4.7
12821
+ MinorVer=73
12822
+ Platform=SunOS
12823
+
12824
+ [Mozilla/4.74*(Macintosh; ?; PPC)*]
12825
+ Parent=Netscape 4.7
12826
+ MinorVer=74
12827
+ Platform=MacPPC
12828
+
12829
+ [Mozilla/4.74*(Win95; ?)*]
12830
+ Parent=Netscape 4.7
12831
+ MinorVer=74
12832
+ Platform=Win95
12833
+
12834
+ [Mozilla/4.74*(Win98; ?)*]
12835
+ Parent=Netscape 4.7
12836
+ MinorVer=74
12837
+ Platform=Win98
12838
+
12839
+ [Mozilla/4.74*(Windows NT 4.0; ?)*]
12840
+ Parent=Netscape 4.7
12841
+ MinorVer=74
12842
+ Platform=WinNT
12843
+ Win32=true
12844
+
12845
+ [Mozilla/4.74*(Windows NT 5.0; ?)*]
12846
+ Parent=Netscape 4.7
12847
+ MinorVer=74
12848
+ Platform=Win2000
12849
+ Win32=true
12850
+
12851
+ [Mozilla/4.74*(Windows NT 5.1; ?)*]
12852
+ Parent=Netscape 4.7
12853
+ MinorVer=74
12854
+ Platform=WinXP
12855
+ Win32=true
12856
+
12857
+ [Mozilla/4.74*(WinNT; ?)*]
12858
+ Parent=Netscape 4.7
12859
+ MinorVer=74
12860
+ Platform=WinNT
12861
+
12862
+ [Mozilla/4.74*(X11*)*]
12863
+ Parent=Netscape 4.7
12864
+ MinorVer=74
12865
+ Platform=Linux
12866
+
12867
+ [Mozilla/4.74*(X11; ?; SunOS*)*]
12868
+ Parent=Netscape 4.7
12869
+ MinorVer=74
12870
+ Platform=SunOS
12871
+
12872
+ [Mozilla/4.75*(Macintosh; ?; PPC)*]
12873
+ Parent=Netscape 4.7
12874
+ MinorVer=75
12875
+ Platform=MacPPC
12876
+
12877
+ [Mozilla/4.75*(Win95; ?)*]
12878
+ Parent=Netscape 4.7
12879
+ MinorVer=75
12880
+ Platform=Win95
12881
+
12882
+ [Mozilla/4.75*(Win98; ?)*]
12883
+ Parent=Netscape 4.7
12884
+ MinorVer=75
12885
+ Platform=Win98
12886
+
12887
+ [Mozilla/4.75*(Windows NT 4.0; ?)*]
12888
+ Parent=Netscape 4.7
12889
+ MinorVer=75
12890
+ Platform=WinNT
12891
+ Win32=true
12892
+
12893
+ [Mozilla/4.75*(Windows NT 5.0; ?)*]
12894
+ Parent=Netscape 4.7
12895
+ MinorVer=75
12896
+ Platform=Win2000
12897
+ Win32=true
12898
+
12899
+ [Mozilla/4.75*(Windows NT 5.1; ?)*]
12900
+ Parent=Netscape 4.7
12901
+ MinorVer=75
12902
+ Platform=WinXP
12903
+ Win32=true
12904
+
12905
+ [Mozilla/4.75*(WinNT; ?)*]
12906
+ Parent=Netscape 4.7
12907
+ MinorVer=75
12908
+ Platform=WinNT
12909
+
12910
+ [Mozilla/4.75*(X11*)*]
12911
+ Parent=Netscape 4.7
12912
+ MinorVer=75
12913
+ Platform=Linux
12914
+
12915
+ [Mozilla/4.75*(X11; ?; SunOS*)*]
12916
+ Parent=Netscape 4.7
12917
+ MinorVer=75
12918
+ Platform=SunOS
12919
+
12920
+ [Mozilla/4.76*(Macintosh; ?; PPC)*]
12921
+ Parent=Netscape 4.7
12922
+ MinorVer=76
12923
+ Platform=MacPPC
12924
+
12925
+ [Mozilla/4.76*(Win95; ?)*]
12926
+ Parent=Netscape 4.7
12927
+ MinorVer=76
12928
+ Platform=Win95
12929
+
12930
+ [Mozilla/4.76*(Win98; ?)*]
12931
+ Parent=Netscape 4.7
12932
+ MinorVer=76
12933
+ Platform=Win98
12934
+
12935
+ [Mozilla/4.76*(Windows NT 4.0; ?)*]
12936
+ Parent=Netscape 4.7
12937
+ MinorVer=76
12938
+ Platform=WinNT
12939
+ Win32=true
12940
+
12941
+ [Mozilla/4.76*(Windows NT 5.0; ?)*]
12942
+ Parent=Netscape 4.7
12943
+ MinorVer=76
12944
+ Platform=Win2000
12945
+ Win32=true
12946
+
12947
+ [Mozilla/4.76*(Windows NT 5.1; ?)*]
12948
+ Parent=Netscape 4.7
12949
+ MinorVer=76
12950
+ Platform=WinXP
12951
+ Win32=true
12952
+
12953
+ [Mozilla/4.76*(WinNT; ?)*]
12954
+ Parent=Netscape 4.7
12955
+ MinorVer=76
12956
+ Platform=WinNT
12957
+
12958
+ [Mozilla/4.76*(X11*)*]
12959
+ Parent=Netscape 4.7
12960
+ MinorVer=76
12961
+ Platform=Linux
12962
+
12963
+ [Mozilla/4.76*(X11; ?; SunOS*)*]
12964
+ Parent=Netscape 4.7
12965
+ MinorVer=76
12966
+ Platform=SunOS
12967
+
12968
+ [Mozilla/4.77*(Macintosh; ?; PPC)*]
12969
+ Parent=Netscape 4.7
12970
+ MinorVer=77
12971
+ Platform=MacPPC
12972
+
12973
+ [Mozilla/4.77*(Win95; ?)*]
12974
+ Parent=Netscape 4.7
12975
+ MinorVer=77
12976
+ Platform=Win95
12977
+
12978
+ [Mozilla/4.77*(Win98; ?)*]
12979
+ Parent=Netscape 4.7
12980
+ MinorVer=77
12981
+ Platform=Win98
12982
+
12983
+ [Mozilla/4.77*(Windows NT 4.0; ?)*]
12984
+ Parent=Netscape 4.7
12985
+ MinorVer=77
12986
+ Platform=WinNT
12987
+ Win32=true
12988
+
12989
+ [Mozilla/4.77*(Windows NT 5.0; ?)*]
12990
+ Parent=Netscape 4.7
12991
+ MinorVer=77
12992
+ Platform=Win2000
12993
+ Win32=true
12994
+
12995
+ [Mozilla/4.77*(Windows NT 5.1; ?)*]
12996
+ Parent=Netscape 4.7
12997
+ MinorVer=77
12998
+ Platform=WinXP
12999
+ Win32=true
13000
+
13001
+ [Mozilla/4.77*(WinNT; ?)*]
13002
+ Parent=Netscape 4.7
13003
+ MinorVer=77
13004
+ Platform=WinNT
13005
+
13006
+ [Mozilla/4.77*(X11*)*]
13007
+ Parent=Netscape 4.7
13008
+ MinorVer=77
13009
+ Platform=Linux
13010
+
13011
+ [Mozilla/4.77*(X11; ?; SunOS*)*]
13012
+ Parent=Netscape 4.7
13013
+ MinorVer=77
13014
+ Platform=SunOS
13015
+
13016
+ [Mozilla/4.78*(Macintosh; ?; PPC)*]
13017
+ Parent=Netscape 4.7
13018
+ MinorVer=78
13019
+ Platform=MacPPC
13020
+
13021
+ [Mozilla/4.78*(Win95; ?)*]
13022
+ Parent=Netscape 4.7
13023
+ MinorVer=78
13024
+ Platform=Win95
13025
+
13026
+ [Mozilla/4.78*(Win98; ?)*]
13027
+ Parent=Netscape 4.7
13028
+ MinorVer=78
13029
+ Platform=Win98
13030
+
13031
+ [Mozilla/4.78*(Windows NT 4.0; ?)*]
13032
+ Parent=Netscape 4.7
13033
+ MinorVer=78
13034
+ Platform=WinNT
13035
+ Win32=true
13036
+
13037
+ [Mozilla/4.78*(Windows NT 5.0; ?)*]
13038
+ Parent=Netscape 4.7
13039
+ MinorVer=78
13040
+ Platform=Win2000
13041
+ Win32=true
13042
+
13043
+ [Mozilla/4.78*(Windows NT 5.1; ?)*]
13044
+ Parent=Netscape 4.7
13045
+ MinorVer=78
13046
+ Platform=WinXP
13047
+ Win32=true
13048
+
13049
+ [Mozilla/4.78*(WinNT; ?)*]
13050
+ Parent=Netscape 4.7
13051
+ MinorVer=78
13052
+ Platform=WinNT
13053
+
13054
+ [Mozilla/4.78*(X11*)*]
13055
+ Parent=Netscape 4.7
13056
+ MinorVer=78
13057
+ Platform=Linux
13058
+
13059
+ [Mozilla/4.78*(X11; ?; SunOS*)*]
13060
+ Parent=Netscape 4.7
13061
+ MinorVer=78
13062
+ Platform=SunOS
13063
+
13064
+ [Mozilla/4.79*(Macintosh; ?; PPC)*]
13065
+ Parent=Netscape 4.7
13066
+ Version=4.79
13067
+ MinorVer=79
13068
+ Platform=MacPPC
13069
+
13070
+ [Mozilla/4.79*(Win95; ?)*]
13071
+ Parent=Netscape 4.7
13072
+ Version=4.79
13073
+ MinorVer=79
13074
+ Platform=Win95
13075
+
13076
+ [Mozilla/4.79*(Win98; ?)*]
13077
+ Parent=Netscape 4.7
13078
+ Version=4.79
13079
+ MinorVer=79
13080
+ Platform=Win98
13081
+
13082
+ [Mozilla/4.79*(Windows NT 4.0; ?)*]
13083
+ Parent=Netscape 4.7
13084
+ Version=4.79
13085
+ MinorVer=79
13086
+ Platform=WinNT
13087
+ Win32=true
13088
+
13089
+ [Mozilla/4.79*(Windows NT 5.0; ?)*]
13090
+ Parent=Netscape 4.7
13091
+ Version=4.79
13092
+ MinorVer=79
13093
+ Platform=Win2000
13094
+ Win32=true
13095
+
13096
+ [Mozilla/4.79*(Windows NT 5.1; ?)*]
13097
+ Parent=Netscape 4.7
13098
+ Version=4.79
13099
+ MinorVer=79
13100
+ Platform=WinXP
13101
+ Win32=true
13102
+
13103
+ [Mozilla/4.79*(WinNT; ?)*]
13104
+ Parent=Netscape 4.7
13105
+ Version=4.79
13106
+ MinorVer=79
13107
+ Platform=WinNT
13108
+
13109
+ [Mozilla/4.79*(X11*)*]
13110
+ Parent=Netscape 4.7
13111
+ Version=4.79
13112
+ MinorVer=79
13113
+ Platform=Linux
13114
+
13115
+ [Mozilla/4.79*(X11; ?; SunOS*)*]
13116
+ Parent=Netscape 4.7
13117
+ Version=4.79
13118
+ MinorVer=79
13119
+ Platform=SunOS
13120
+
13121
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Netscape 4.8
13122
+
13123
+ [Netscape 4.8]
13124
+ Parent=DefaultProperties
13125
+ Browser="Netscape"
13126
+ Version=4.8
13127
+ MajorVer=4
13128
+ MinorVer=8
13129
+ Frames=true
13130
+ Tables=true
13131
+ Cookies=true
13132
+ JavaApplets=true
13133
+ JavaScript=true
13134
+ CssVersion=1
13135
+ supportsCSS=true
13136
+
13137
+ [Mozilla/4.8*(Macintosh; ?; MacPPC)*]
13138
+ Parent=Netscape 4.8
13139
+ Platform=MacPPC
13140
+
13141
+ [Mozilla/4.8*(Macintosh; ?; PPC Mac OS X*]
13142
+ Parent=Netscape 4.8
13143
+ Platform=MacOSX
13144
+
13145
+ [Mozilla/4.8*(Macintosh; ?; PPC)*]
13146
+ Parent=Netscape 4.8
13147
+ Platform=MacPPC
13148
+
13149
+ [Mozilla/4.8*(Win95; *)*]
13150
+ Parent=Netscape 4.8
13151
+
13152
+ [Mozilla/4.8*(Win98; *)*]
13153
+ Parent=Netscape 4.8
13154
+ Platform=Win98
13155
+
13156
+ [Mozilla/4.8*(Windows NT 4.0; *)*]
13157
+ Parent=Netscape 4.8
13158
+ Platform=WinNT
13159
+ Win32=true
13160
+
13161
+ [Mozilla/4.8*(Windows NT 5.0; *)*]
13162
+ Parent=Netscape 4.8
13163
+ Platform=Win2000
13164
+ Win32=true
13165
+
13166
+ [Mozilla/4.8*(Windows NT 5.1; *)*]
13167
+ Parent=Netscape 4.8
13168
+ Platform=WinXP
13169
+ Win32=true
13170
+
13171
+ [Mozilla/4.8*(WinNT; *)*]
13172
+ Parent=Netscape 4.8
13173
+ Platform=WinNT
13174
+
13175
+ [Mozilla/4.8*(X11; *)*]
13176
+ Parent=Netscape 4.8
13177
+ Platform=Linux
13178
+
13179
+ [Mozilla/4.8*(X11; *SunOS*)*]
13180
+ Parent=Netscape 4.8
13181
+ Platform=SunOS
13182
+
13183
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Netscape 6.0
13184
+
13185
+ [Netscape 6.0]
13186
+ Parent=DefaultProperties
13187
+ Browser="Netscape"
13188
+ Version=6.0
13189
+ MajorVer=6
13190
+ Frames=true
13191
+ IFrames=true
13192
+ Tables=true
13193
+ Cookies=true
13194
+ JavaApplets=true
13195
+ JavaScript=true
13196
+ CssVersion=2
13197
+ supportsCSS=true
13198
+
13199
+ [Mozilla/5.0 (Macintosh; ?; PPC;*) Gecko/* Netscape6/6.0*]
13200
+ Parent=Netscape 6.0
13201
+ Platform=MacPPC
13202
+
13203
+ [Mozilla/5.0 (Windows; ?; Win95;*) Gecko/* Netscape6/6.0*]
13204
+ Parent=Netscape 6.0
13205
+ Platform=Win95
13206
+ Win32=true
13207
+
13208
+ [Mozilla/5.0 (Windows; ?; Win98; *) Gecko/* Netscape6/6.0*]
13209
+ Parent=Netscape 6.0
13210
+ Platform=Win98
13211
+ Win32=true
13212
+
13213
+ [Mozilla/5.0 (Windows; ?; Win9x 4.90; *) Gecko/* Netscape6/6.0*]
13214
+ Parent=Netscape 6.0
13215
+ Platform=WinME
13216
+ Win32=true
13217
+
13218
+ [Mozilla/5.0 (Windows; ?; Windows NT 4.0; *) Gecko/* Netscape6/6.0*]
13219
+ Parent=Netscape 6.0
13220
+ Platform=WinNT
13221
+ Win32=true
13222
+
13223
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.0; *) Gecko/* Netscape6/6.0*]
13224
+ Parent=Netscape 6.0
13225
+ Platform=Win2000
13226
+ Win32=true
13227
+
13228
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.1; *) Gecko/* Netscape6/6.0*]
13229
+ Parent=Netscape 6.0
13230
+ Platform=WinXP
13231
+ Win32=true
13232
+
13233
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.2; *) Gecko/* Netscape6/6.0*]
13234
+ Parent=Netscape 6.0
13235
+ Platform=WinXP
13236
+
13237
+ [Mozilla/5.0 (Windows; ?; Windows NT 6.0; *) Gecko/* Netscape6/6.0*]
13238
+ Parent=Netscape 6.0
13239
+ Platform=WinVista
13240
+
13241
+ [Mozilla/5.0 (Windows; ?; Windows NT 6.1; *) Gecko/* Netscape6/6.0*]
13242
+ Parent=Netscape 6.0
13243
+ Platform=Win7
13244
+
13245
+ [Mozilla/5.0 (Windows; ?; WinNT4.0; *) Gecko/* Netscape6/6.0*]
13246
+ Parent=Netscape 6.0
13247
+ Platform=WinNT
13248
+ Win32=true
13249
+
13250
+ [Mozilla/5.0 (Windows; ?; WinNT5.0; *) Gecko/* Netscape6/6.0*]
13251
+ Parent=Netscape 6.0
13252
+ Platform=Win2000
13253
+ Win32=true
13254
+
13255
+ [Mozilla/5.0 (Windows; ?; WinNT5.1; *) Gecko/* Netscape6/6.0*]
13256
+ Parent=Netscape 6.0
13257
+ Platform=WinXP
13258
+ Win32=true
13259
+
13260
+ [Mozilla/5.0 (Windows; ?; WinNT5.2; *) Gecko/* Netscape6/6.0*]
13261
+ Parent=Netscape 6.0
13262
+ Platform=WinXP
13263
+
13264
+ [Mozilla/5.0 (Windows; ?; WinNT6.0; *) Gecko/* Netscape6/6.0*]
13265
+ Parent=Netscape 6.0
13266
+ Platform=WinVista
13267
+
13268
+ [Mozilla/5.0 (Windows; ?; WinNT6.1; *) Gecko/* Netscape6/6.0*]
13269
+ Parent=Netscape 6.0
13270
+ Platform=Win7
13271
+
13272
+ [Mozilla/5.0 (X11; ?; *) Gecko/* Netscape6/6.0*]
13273
+ Parent=Netscape 6.0
13274
+ Platform=Linux
13275
+
13276
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Netscape 6.1
13277
+
13278
+ [Netscape 6.1]
13279
+ Parent=DefaultProperties
13280
+ Browser="Netscape"
13281
+ Version=6.1
13282
+ MajorVer=6
13283
+ MinorVer=1
13284
+ Frames=true
13285
+ IFrames=true
13286
+ Tables=true
13287
+ Cookies=true
13288
+ JavaApplets=true
13289
+ JavaScript=true
13290
+ CssVersion=2
13291
+ supportsCSS=true
13292
+
13293
+ [Mozilla/5.0 (Macintosh; ?; PPC;*) Gecko/* Netscape6/6.1*]
13294
+ Parent=Netscape 6.1
13295
+ Platform=MacPPC
13296
+
13297
+ [Mozilla/5.0 (Windows; ?; Win95;*) Gecko/* Netscape6/6.1*]
13298
+ Parent=Netscape 6.1
13299
+ Platform=Win95
13300
+ Win32=true
13301
+
13302
+ [Mozilla/5.0 (Windows; ?; Win98; *) Gecko/* Netscape6/6.1*]
13303
+ Parent=Netscape 6.1
13304
+ Platform=Win98
13305
+ Win32=true
13306
+
13307
+ [Mozilla/5.0 (Windows; ?; Win9x 4.90; *) Gecko/* Netscape6/6.1*]
13308
+ Parent=Netscape 6.1
13309
+ Platform=WinME
13310
+ Win32=true
13311
+
13312
+ [Mozilla/5.0 (Windows; ?; Windows NT 4.0; *) Gecko/* Netscape6/6.1*]
13313
+ Parent=Netscape 6.1
13314
+ Platform=WinNT
13315
+ Win32=true
13316
+
13317
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.0; *) Gecko/* Netscape6/6.1*]
13318
+ Parent=Netscape 6.1
13319
+ Platform=Win2000
13320
+ Win32=true
13321
+
13322
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.1; *) Gecko/* Netscape6/6.1*]
13323
+ Parent=Netscape 6.1
13324
+ Platform=WinXP
13325
+ Win32=true
13326
+
13327
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.2; *) Gecko/* Netscape6/6.1*]
13328
+ Parent=Netscape 6.1
13329
+ Platform=WinXP
13330
+
13331
+ [Mozilla/5.0 (Windows; ?; Windows NT 6.0; *) Gecko/* Netscape6/6.1*]
13332
+ Parent=Netscape 6.1
13333
+ Platform=WinVista
13334
+
13335
+ [Mozilla/5.0 (Windows; ?; Windows NT 6.1; *) Gecko/* Netscape6/6.1*]
13336
+ Parent=Netscape 6.1
13337
+ Platform=Win7
13338
+
13339
+ [Mozilla/5.0 (Windows; ?; WinNT4.0; *) Gecko/* Netscape6/6.1*]
13340
+ Parent=Netscape 6.1
13341
+ Platform=WinNT
13342
+ Win32=true
13343
+
13344
+ [Mozilla/5.0 (Windows; ?; WinNT5.0; *) Gecko/* Netscape6/6.1*]
13345
+ Parent=Netscape 6.1
13346
+ Platform=Win2000
13347
+ Win32=true
13348
+
13349
+ [Mozilla/5.0 (Windows; ?; WinNT5.1; *) Gecko/* Netscape6/6.1*]
13350
+ Parent=Netscape 6.1
13351
+ Platform=WinXP
13352
+ Win32=true
13353
+
13354
+ [Mozilla/5.0 (Windows; ?; WinNT5.2; *) Gecko/* Netscape6/6.1*]
13355
+ Parent=Netscape 6.1
13356
+ Platform=WinXP
13357
+
13358
+ [Mozilla/5.0 (Windows; ?; WinNT6.0; *) Gecko/* Netscape6/6.1*]
13359
+ Parent=Netscape 6.1
13360
+ Platform=WinVista
13361
+
13362
+ [Mozilla/5.0 (Windows; ?; WinNT6.1; *) Gecko/* Netscape6/6.1*]
13363
+ Parent=Netscape 6.1
13364
+ Platform=Win7
13365
+
13366
+ [Mozilla/5.0 (X11; ?; *) Gecko/* Netscape6/6.1*]
13367
+ Parent=Netscape 6.1
13368
+ Platform=Linux
13369
+
13370
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Netscape 6.2
13371
+
13372
+ [Netscape 6.2]
13373
+ Parent=DefaultProperties
13374
+ Browser="Netscape"
13375
+ Version=6.2
13376
+ MajorVer=6
13377
+ MinorVer=2
13378
+ Frames=true
13379
+ IFrames=true
13380
+ Tables=true
13381
+ Cookies=true
13382
+ JavaApplets=true
13383
+ JavaScript=true
13384
+ CssVersion=2
13385
+ supportsCSS=true
13386
+
13387
+ [Mozilla/5.0 (Macintosh; ?; PPC Mac OS X*) Gecko/* Netscape6/6.2*]
13388
+ Parent=Netscape 6.2
13389
+ Platform=MacOSX
13390
+
13391
+ [Mozilla/5.0 (Macintosh; ?; PPC;*) Gecko/* Netscape6/6.2*]
13392
+ Parent=Netscape 6.2
13393
+ Platform=MacPPC
13394
+
13395
+ [Mozilla/5.0 (Windows; ?; Win 9x 4.90; *) Gecko/* Netscape6/6.2*]
13396
+ Parent=Netscape 6.2
13397
+ Win32=true
13398
+
13399
+ [Mozilla/5.0 (Windows; ?; Win95;*) Gecko/* Netscape6/6.2*]
13400
+ Parent=Netscape 6.2
13401
+ Platform=Win95
13402
+ Win32=true
13403
+
13404
+ [Mozilla/5.0 (Windows; ?; Win98; *) Gecko/* Netscape6/6.2*]
13405
+ Parent=Netscape 6.2
13406
+ Platform=Win98
13407
+ Win32=true
13408
+
13409
+ [Mozilla/5.0 (Windows; ?; Win9x 4.90; *) Gecko/* Netscape6/6.2*]
13410
+ Parent=Netscape 6.2
13411
+ Platform=WinME
13412
+ Win32=true
13413
+
13414
+ [Mozilla/5.0 (Windows; ?; Windows NT 4.0; *) Gecko/* Netscape6/6.2*]
13415
+ Parent=Netscape 6.2
13416
+ Platform=WinNT
13417
+ Win32=true
13418
+
13419
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.0; *) Gecko/* Netscape6/6.2*]
13420
+ Parent=Netscape 6.2
13421
+ Platform=Win2000
13422
+ Win32=true
13423
+
13424
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.1; *) Gecko/* Netscape6/6.2*]
13425
+ Parent=Netscape 6.2
13426
+ Platform=WinXP
13427
+ Win32=true
13428
+
13429
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.2; *) Gecko/* Netscape6/6.2*]
13430
+ Parent=Netscape 6.2
13431
+ Platform=Win2003
13432
+ Win32=true
13433
+
13434
+ [Mozilla/5.0 (Windows; ?; Windows NT 6.0; *) Gecko/* Netscape6/6.2*]
13435
+ Parent=Netscape 6.2
13436
+ Platform=WinVista
13437
+
13438
+ [Mozilla/5.0 (Windows; ?; Windows NT 6.1; *) Gecko/* Netscape6/6.2*]
13439
+ Parent=Netscape 6.2
13440
+ Platform=Win7
13441
+
13442
+ [Mozilla/5.0 (Windows; ?; WinNT4.0; *) Gecko/* Netscape6/6.2*]
13443
+ Parent=Netscape 6.2
13444
+ Platform=WinNT
13445
+ Win32=true
13446
+
13447
+ [Mozilla/5.0 (Windows; ?; WinNT5.0; *) Gecko/* Netscape6/6.2*]
13448
+ Parent=Netscape 6.2
13449
+ Platform=Win2000
13450
+ Win32=true
13451
+
13452
+ [Mozilla/5.0 (Windows; ?; WinNT5.1; *) Gecko/* Netscape6/6.2*]
13453
+ Parent=Netscape 6.2
13454
+ Platform=WinXP
13455
+ Win32=true
13456
+
13457
+ [Mozilla/5.0 (Windows; ?; WinNT5.2; *) Gecko/* Netscape6/6.2*]
13458
+ Parent=Netscape 6.2
13459
+ Platform=Win2003
13460
+ Win32=true
13461
+
13462
+ [Mozilla/5.0 (Windows; ?; WinNT6.0; *) Gecko/* Netscape6/6.2*]
13463
+ Parent=Netscape 6.2
13464
+ Platform=WinVista
13465
+
13466
+ [Mozilla/5.0 (Windows; ?; WinNT6.1; *) Gecko/* Netscape6/6.2*]
13467
+ Parent=Netscape 6.2
13468
+ Platform=Win7
13469
+
13470
+ [Mozilla/5.0 (X11; ?; *) Gecko/* Netscape6/6.2*]
13471
+ Parent=Netscape 6.2
13472
+ Platform=Linux
13473
+
13474
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Netscape 7.0
13475
+
13476
+ [Netscape 7.0]
13477
+ Parent=DefaultProperties
13478
+ Browser="Netscape"
13479
+ Version=7.0
13480
+ MajorVer=7
13481
+ Frames=true
13482
+ IFrames=true
13483
+ Tables=true
13484
+ Cookies=true
13485
+ JavaApplets=true
13486
+ JavaScript=true
13487
+ CssVersion=2
13488
+ supportsCSS=true
13489
+
13490
+ [Mozilla/5.0 (Macintosh; ?; PPC Mac OS X;*) Gecko/* Netscape*/7.0*]
13491
+ Parent=Netscape 7.0
13492
+ Platform=MacOSX
13493
+
13494
+ [Mozilla/5.0 (Macintosh; ?; PPC;*) Gecko/* Netscape*/7.0*]
13495
+ Parent=Netscape 7.0
13496
+ Platform=MacPPC
13497
+
13498
+ [Mozilla/5.0 (Windows; ?; Win*9x 4.90; *) Gecko/* Netscape*/7.0*]
13499
+ Parent=Netscape 7.0
13500
+ Platform=WinME
13501
+ Win32=true
13502
+
13503
+ [Mozilla/5.0 (Windows; ?; Win95;*) Gecko/* Netscape*/7.0*]
13504
+ Parent=Netscape 7.0
13505
+ Platform=Win95
13506
+ Win32=true
13507
+
13508
+ [Mozilla/5.0 (Windows; ?; Win98; *) Gecko/* Netscape*/7.0*]
13509
+ Parent=Netscape 7.0
13510
+ Platform=Win98
13511
+ Win32=true
13512
+
13513
+ [Mozilla/5.0 (Windows; ?; Windows NT 4.0; *) Gecko/* Netscape*/7.0*]
13514
+ Parent=Netscape 7.0
13515
+ Platform=WinNT
13516
+ Win32=true
13517
+
13518
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.0; *) Gecko/* Netscape*/7.0*]
13519
+ Parent=Netscape 7.0
13520
+ Platform=Win2000
13521
+ Win32=true
13522
+
13523
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.1; *) Gecko/* Netscape*/7.0*]
13524
+ Parent=Netscape 7.0
13525
+ Platform=WinXP
13526
+ Win32=true
13527
+
13528
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.2; *) Gecko/* Netscape*/7.0*]
13529
+ Parent=Netscape 7.0
13530
+ Platform=Win2003
13531
+ Win32=true
13532
+
13533
+ [Mozilla/5.0 (Windows; ?; Windows NT 6.0; *) Gecko/* Netscape*/7.0*]
13534
+ Parent=Netscape 7.0
13535
+ Platform=WinVista
13536
+
13537
+ [Mozilla/5.0 (Windows; ?; Windows NT 6.1; *) Gecko/* Netscape*/7.0*]
13538
+ Parent=Netscape 7.0
13539
+ Platform=Win7
13540
+
13541
+ [Mozilla/5.0 (Windows; ?; WinNT4.0; *) Gecko/* Netscape*/7.0*]
13542
+ Parent=Netscape 7.0
13543
+ Platform=WinNT
13544
+ Win32=true
13545
+
13546
+ [Mozilla/5.0 (Windows; ?; WinNT5.0; *) Gecko/* Netscape*/7.0*]
13547
+ Parent=Netscape 7.0
13548
+ Platform=Win2000
13549
+ Win32=true
13550
+
13551
+ [Mozilla/5.0 (Windows; ?; WinNT5.1; *) Gecko/* Netscape*/7.0*]
13552
+ Parent=Netscape 7.0
13553
+ Platform=WinXP
13554
+ Win32=true
13555
+
13556
+ [Mozilla/5.0 (Windows; ?; WinNT5.2; *) Gecko/* Netscape*/7.0*]
13557
+ Parent=Netscape 7.0
13558
+ Platform=Win2003
13559
+ Win32=true
13560
+
13561
+ [Mozilla/5.0 (Windows; ?; WinNT6.0; *) Gecko/* Netscape*/7.0*]
13562
+ Parent=Netscape 7.0
13563
+ Platform=WinVista
13564
+
13565
+ [Mozilla/5.0 (Windows; ?; WinNT6.1; *) Gecko/* Netscape*/7.0*]
13566
+ Parent=Netscape 7.0
13567
+ Platform=Win7
13568
+
13569
+ [Mozilla/5.0 (X11; ?; *) Gecko/* Netscape*/7.0*]
13570
+ Parent=Netscape 7.0
13571
+ Platform=Linux
13572
+
13573
+ [Mozilla/5.0 (X11; ?; SunOS*) Gecko/* Netscape*/7.0*]
13574
+ Parent=Netscape 7.0
13575
+ Platform=SunOS
13576
+
13577
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Netscape 7.1
13578
+
13579
+ [Netscape 7.1]
13580
+ Parent=DefaultProperties
13581
+ Browser="Netscape"
13582
+ Version=7.1
13583
+ MajorVer=7
13584
+ MinorVer=1
13585
+ Frames=true
13586
+ IFrames=true
13587
+ Tables=true
13588
+ Cookies=true
13589
+ JavaApplets=true
13590
+ JavaScript=true
13591
+ CssVersion=2
13592
+ supportsCSS=true
13593
+
13594
+ [Mozilla/5.0 (Macintosh; ?; PPC Mac OS X Mach-O; *; rv:*) Gecko/* Netscape*/7.1]
13595
+ Parent=Netscape 7.1
13596
+ Platform=MacOSX
13597
+
13598
+ [Mozilla/5.0 (Macintosh; ?; PPC Mac OS X;*) Gecko/* Netscape*/7.1*]
13599
+ Parent=Netscape 7.1
13600
+ Platform=MacOSX
13601
+
13602
+ [Mozilla/5.0 (Macintosh; ?; PPC;*) Gecko/* Netscape*/7.1*]
13603
+ Parent=Netscape 7.1
13604
+ Platform=MacPPC
13605
+
13606
+ [Mozilla/5.0 (Windows; ?; Win 9x 4.90; *) Gecko/* Netscape*/7.1*]
13607
+ Parent=Netscape 7.1
13608
+ Platform=WinME
13609
+ Win32=true
13610
+
13611
+ [Mozilla/5.0 (Windows; ?; Win95;*) Gecko/* Netscape*/7.1*]
13612
+ Parent=Netscape 7.1
13613
+ Platform=Win95
13614
+ Win32=true
13615
+
13616
+ [Mozilla/5.0 (Windows; ?; Win98; *) Gecko/* Netscape*/7.1*]
13617
+ Parent=Netscape 7.1
13618
+ Platform=Win98
13619
+ Win32=true
13620
+
13621
+ [Mozilla/5.0 (Windows; ?; Win9x 4.90; *) Gecko/* Netscape*/7.1*]
13622
+ Parent=Netscape 7.1
13623
+ Platform=WinME
13624
+ Win32=true
13625
+
13626
+ [Mozilla/5.0 (Windows; ?; Windows NT 4.0; *) Gecko/* Netscape*/7.1*]
13627
+ Parent=Netscape 7.1
13628
+ Platform=WinNT
13629
+ Win32=true
13630
+
13631
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.0; *) Gecko/* Netscape*/7.1*]
13632
+ Parent=Netscape 7.1
13633
+ Platform=Win2000
13634
+ Win32=true
13635
+
13636
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.1; *) Gecko/* Netscape*/7.1*]
13637
+ Parent=Netscape 7.1
13638
+ Platform=WinXP
13639
+ Win32=true
13640
+
13641
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.2; *) Gecko/* Netscape*/7.1*]
13642
+ Parent=Netscape 7.1
13643
+ Platform=Win2003
13644
+ Win32=true
13645
+
13646
+ [Mozilla/5.0 (Windows; ?; Windows NT 6.0; *) Gecko/* Netscape*/7.1*]
13647
+ Parent=Netscape 7.1
13648
+ Platform=WinVista
13649
+
13650
+ [Mozilla/5.0 (Windows; ?; Windows NT 6.1; *) Gecko/* Netscape*/7.1*]
13651
+ Parent=Netscape 7.1
13652
+ Platform=Win7
13653
+
13654
+ [Mozilla/5.0 (Windows; ?; WinNT4.0; *) Gecko/* Netscape*/7.1*]
13655
+ Parent=Netscape 7.1
13656
+ Platform=WinNT
13657
+ Win32=true
13658
+
13659
+ [Mozilla/5.0 (Windows; ?; WinNT5.0; *) Gecko/* Netscape*/7.1*]
13660
+ Parent=Netscape 7.1
13661
+ Platform=Win2000
13662
+ Win32=true
13663
+
13664
+ [Mozilla/5.0 (Windows; ?; WinNT5.1; *) Gecko/* Netscape*/7.1*]
13665
+ Parent=Netscape 7.1
13666
+ Platform=WinXP
13667
+ Win32=true
13668
+
13669
+ [Mozilla/5.0 (Windows; ?; WinNT5.2; *) Gecko/* Netscape*/7.1*]
13670
+ Parent=Netscape 7.1
13671
+ Platform=Win2003
13672
+ Win32=true
13673
+
13674
+ [Mozilla/5.0 (Windows; ?; WinNT6.0; *) Gecko/* Netscape*/7.1*]
13675
+ Parent=Netscape 7.1
13676
+ Platform=WinVista
13677
+
13678
+ [Mozilla/5.0 (Windows; ?; WinNT6.1; *) Gecko/* Netscape*/7.1*]
13679
+ Parent=Netscape 7.1
13680
+ Platform=Win7
13681
+
13682
+ [Mozilla/5.0 (X11; ?; *) Gecko/* Netscape*/7.1*]
13683
+ Parent=Netscape 7.1
13684
+ Platform=Linux
13685
+
13686
+ [Mozilla/5.0 (X11; ?; SunOS*) Gecko/* Netscape*/7.1*]
13687
+ Parent=Netscape 7.1
13688
+ Platform=SunOS
13689
+
13690
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Netscape 7.2
13691
+
13692
+ [Netscape 7.2]
13693
+ Parent=DefaultProperties
13694
+ Browser="Netscape"
13695
+ Version=7.2
13696
+ MajorVer=7
13697
+ MinorVer=2
13698
+ Frames=true
13699
+ IFrames=true
13700
+ Tables=true
13701
+ Cookies=true
13702
+ JavaApplets=true
13703
+ JavaScript=true
13704
+ CssVersion=2
13705
+ supportsCSS=true
13706
+
13707
+ [Mozilla/5.0 (Macintosh; ?; PPC Mac OS X Mach-O; *; rv:*) Gecko/* Netscape*/7.2*]
13708
+ Parent=Netscape 7.2
13709
+ Platform=MacOSX
13710
+
13711
+ [Mozilla/5.0 (Macintosh; ?; PPC Mac OS X;*) Gecko/* Netscape*/7.2*]
13712
+ Parent=Netscape 7.2
13713
+ Platform=MacOSX
13714
+
13715
+ [Mozilla/5.0 (Macintosh; ?; PPC;*) Gecko/* Netscape*/7.2*]
13716
+ Parent=Netscape 7.2
13717
+ Platform=MacPPC
13718
+
13719
+ [Mozilla/5.0 (Windows; ?; Win 9x 4.90; *) Gecko/* Netscape*/7.2*]
13720
+ Parent=Netscape 7.2
13721
+ Platform=WinME
13722
+ Win32=true
13723
+
13724
+ [Mozilla/5.0 (Windows; ?; Win95;*) Gecko/* Netscape*/7.2*]
13725
+ Parent=Netscape 7.2
13726
+ Platform=Win95
13727
+ Win32=true
13728
+
13729
+ [Mozilla/5.0 (Windows; ?; Win98; *) Gecko/* Netscape*/7.2*]
13730
+ Parent=Netscape 7.2
13731
+ Platform=Win98
13732
+ Win32=true
13733
+
13734
+ [Mozilla/5.0 (Windows; ?; Win9x 4.90; *) Gecko/* Netscape*/7.2*]
13735
+ Parent=Netscape 7.2
13736
+ Platform=WinME
13737
+ Win32=true
13738
+
13739
+ [Mozilla/5.0 (Windows; ?; Windows NT 4.0; *) Gecko/* Netscape*/7.2*]
13740
+ Parent=Netscape 7.2
13741
+ Platform=WinNT
13742
+ Win32=true
13743
+
13744
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.0; *) Gecko/* Netscape*/7.2*]
13745
+ Parent=Netscape 7.2
13746
+ Platform=Win2000
13747
+ Win32=true
13748
+
13749
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.1; *) Gecko/* Netscape*/7.2*]
13750
+ Parent=Netscape 7.2
13751
+ Platform=WinXP
13752
+ Win32=true
13753
+
13754
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.2; *) Gecko/* Netscape*/7.2*]
13755
+ Parent=Netscape 7.2
13756
+ Platform=Win2003
13757
+ Win32=true
13758
+
13759
+ [Mozilla/5.0 (Windows; ?; Windows NT 6.0; *) Gecko/* Netscape*/7.2*]
13760
+ Parent=Netscape 7.2
13761
+ Platform=WinVista
13762
+
13763
+ [Mozilla/5.0 (Windows; ?; Windows NT 6.1; *) Gecko/* Netscape*/7.2*]
13764
+ Parent=Netscape 7.2
13765
+ Platform=Win7
13766
+
13767
+ [Mozilla/5.0 (Windows; ?; WinNT4.0; *) Gecko/* Netscape*/7.2*]
13768
+ Parent=Netscape 7.2
13769
+ Platform=WinNT
13770
+ Win32=true
13771
+
13772
+ [Mozilla/5.0 (Windows; ?; WinNT5.0; *) Gecko/* Netscape*/7.2*]
13773
+ Parent=Netscape 7.2
13774
+ Platform=Win2000
13775
+ Win32=true
13776
+
13777
+ [Mozilla/5.0 (Windows; ?; WinNT5.1; *) Gecko/* Netscape*/7.2*]
13778
+ Parent=Netscape 7.2
13779
+ Platform=WinXP
13780
+ Win32=true
13781
+
13782
+ [Mozilla/5.0 (Windows; ?; WinNT5.2; *) Gecko/* Netscape*/7.2*]
13783
+ Parent=Netscape 7.2
13784
+ Platform=Win2003
13785
+ Win32=true
13786
+
13787
+ [Mozilla/5.0 (Windows; ?; WinNT6.0; *) Gecko/* Netscape*/7.2*]
13788
+ Parent=Netscape 7.2
13789
+ Platform=WinVista
13790
+
13791
+ [Mozilla/5.0 (Windows; ?; WinNT6.1; *) Gecko/* Netscape*/7.2*]
13792
+ Parent=Netscape 7.2
13793
+ Platform=Win7
13794
+
13795
+ [Mozilla/5.0 (X11; ?; *) Gecko/* Netscape*/7.2*]
13796
+ Parent=Netscape 7.2
13797
+ Platform=Linux
13798
+
13799
+ [Mozilla/5.0 (X11; ?; SunOS*) Gecko/* Netscape*/7.2*]
13800
+ Parent=Netscape 7.2
13801
+ Platform=SunOS
13802
+
13803
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Netscape 8.0
13804
+
13805
+ [Netscape 8.0]
13806
+ Parent=DefaultProperties
13807
+ Browser="Netscape"
13808
+ Version=8.0
13809
+ MajorVer=8
13810
+ Frames=true
13811
+ IFrames=true
13812
+ Tables=true
13813
+ Cookies=true
13814
+ JavaApplets=true
13815
+ JavaScript=true
13816
+ CssVersion=2
13817
+ supportsCSS=true
13818
+
13819
+ [Mozilla/5.0 (Macintosh; ?; PPC Mac OS X Mach-O; *; rv:*) Gecko/* Netscape*/8.0*]
13820
+ Parent=Netscape 8.0
13821
+ Platform=MacOSX
13822
+
13823
+ [Mozilla/5.0 (Macintosh; ?; PPC Mac OS X;*) Gecko/* Netscape*/8.0*]
13824
+ Parent=Netscape 8.0
13825
+ Platform=MacOSX
13826
+
13827
+ [Mozilla/5.0 (Macintosh; ?; PPC;*) Gecko/* Netscape*/8.0*]
13828
+ Parent=Netscape 8.0
13829
+ Platform=MacPPC
13830
+
13831
+ [Mozilla/5.0 (Windows; ?; Win 9x 4.90; *) Gecko/* Netscape*/8.0*]
13832
+ Parent=Netscape 8.0
13833
+ Platform=WinME
13834
+ Win32=true
13835
+
13836
+ [Mozilla/5.0 (Windows; ?; Win95;*) Gecko/* Netscape*/8.0*]
13837
+ Parent=Netscape 8.0
13838
+ Platform=Win95
13839
+ Win32=true
13840
+
13841
+ [Mozilla/5.0 (Windows; ?; Win98; *) Gecko/* Netscape*/8.0*]
13842
+ Parent=Netscape 8.0
13843
+ Platform=Win98
13844
+ Win32=true
13845
+
13846
+ [Mozilla/5.0 (Windows; ?; Win9x 4.90; *) Gecko/* Netscape*/8.0*]
13847
+ Parent=Netscape 8.0
13848
+ Platform=WinME
13849
+ Win32=true
13850
+
13851
+ [Mozilla/5.0 (Windows; ?; Windows NT 4.0; *) Gecko/* Netscape*/8.0*]
13852
+ Parent=Netscape 8.0
13853
+ Platform=WinNT
13854
+ Win32=true
13855
+
13856
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.0; *) Gecko/* Netscape*/8.0*]
13857
+ Parent=Netscape 8.0
13858
+ Platform=Win2000
13859
+ Win32=true
13860
+
13861
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.1; *) Gecko/* Netscape*/8.0*]
13862
+ Parent=Netscape 8.0
13863
+ Platform=WinXP
13864
+ Win32=true
13865
+
13866
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.2; *) Gecko/* Netscape*/8.0*]
13867
+ Parent=Netscape 8.0
13868
+ Platform=Win2003
13869
+ Win32=true
13870
+
13871
+ [Mozilla/5.0 (Windows; ?; Windows NT 6.0; *) Gecko/* Netscape*/8.0*]
13872
+ Parent=Netscape 8.0
13873
+ Platform=WinVista
13874
+
13875
+ [Mozilla/5.0 (Windows; ?; Windows NT 6.1; *) Gecko/* Netscape*/8.0*]
13876
+ Parent=Netscape 8.0
13877
+ Platform=Win7
13878
+
13879
+ [Mozilla/5.0 (Windows; ?; WinNT4.0; *) Gecko/* Netscape*/8.0*]
13880
+ Parent=Netscape 8.0
13881
+ Platform=WinNT
13882
+ Win32=true
13883
+
13884
+ [Mozilla/5.0 (Windows; ?; WinNT5.0; *) Gecko/* Netscape*/8.0*]
13885
+ Parent=Netscape 8.0
13886
+ Platform=Win2000
13887
+ Win32=true
13888
+
13889
+ [Mozilla/5.0 (Windows; ?; WinNT5.1; *) Gecko/* Netscape*/8.0*]
13890
+ Parent=Netscape 8.0
13891
+ Platform=WinXP
13892
+ Win32=true
13893
+
13894
+ [Mozilla/5.0 (Windows; ?; WinNT5.2; *) Gecko/* Netscape*/8.0*]
13895
+ Parent=Netscape 8.0
13896
+ Platform=Win2003
13897
+ Win32=true
13898
+
13899
+ [Mozilla/5.0 (Windows; ?; WinNT6.0; *) Gecko/* Netscape*/8.0*]
13900
+ Parent=Netscape 8.0
13901
+ Platform=WinVista
13902
+
13903
+ [Mozilla/5.0 (Windows; ?; WinNT6.1; *) Gecko/* Netscape*/8.0*]
13904
+ Parent=Netscape 8.0
13905
+ Platform=Win7
13906
+
13907
+ [Mozilla/5.0 (X11; ?; *) Gecko/* Netscape*/8.0*]
13908
+ Parent=Netscape 8.0
13909
+ Platform=Linux
13910
+
13911
+ [Mozilla/5.0 (X11; ?; SunOS*) Gecko/* Netscape*/8.0*]
13912
+ Parent=Netscape 8.0
13913
+ Platform=SunOS
13914
+
13915
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Netscape 8.1
13916
+
13917
+ [Netscape 8.1]
13918
+ Parent=DefaultProperties
13919
+ Browser="Netscape"
13920
+ Version=8.1
13921
+ MajorVer=8
13922
+ MinorVer=1
13923
+ Frames=true
13924
+ IFrames=true
13925
+ Tables=true
13926
+ Cookies=true
13927
+ JavaApplets=true
13928
+ JavaScript=true
13929
+ CssVersion=2
13930
+ supportsCSS=true
13931
+
13932
+ [Mozilla/5.0 (Macintosh; ?; *Mac OS X*) Gecko/* Netscape*/8.1*]
13933
+ Parent=Netscape 8.1
13934
+ Platform=MacOSX
13935
+
13936
+ [Mozilla/5.0 (Macintosh; ?; PPC;*) Gecko/* Netscape*/8.1*]
13937
+ Parent=Netscape 8.1
13938
+ Platform=MacPPC
13939
+
13940
+ [Mozilla/5.0 (Windows; ?; Win 9x 4.90; *) Gecko/* Netscape*/8.1*]
13941
+ Parent=Netscape 8.1
13942
+ Platform=WinME
13943
+ Win32=true
13944
+
13945
+ [Mozilla/5.0 (Windows; ?; Win95;*) Gecko/* Netscape*/8.1*]
13946
+ Parent=Netscape 8.1
13947
+ Platform=Win95
13948
+ Win32=true
13949
+
13950
+ [Mozilla/5.0 (Windows; ?; Win98; *) Gecko/* Netscape*/8.1*]
13951
+ Parent=Netscape 8.1
13952
+ Platform=Win98
13953
+ Win32=true
13954
+
13955
+ [Mozilla/5.0 (Windows; ?; Win9x 4.90; *) Gecko/* Netscape*/8.1*]
13956
+ Parent=Netscape 8.1
13957
+ Platform=WinME
13958
+ Win32=true
13959
+
13960
+ [Mozilla/5.0 (Windows; ?; Windows NT 4.0; *) Gecko/* Netscape*/8.1*]
13961
+ Parent=Netscape 8.1
13962
+ Platform=WinNT
13963
+ Win32=true
13964
+
13965
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.0; *) Gecko/* Netscape*/8.1*]
13966
+ Parent=Netscape 8.1
13967
+ Platform=Win2000
13968
+ Win32=true
13969
+
13970
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.1; *) Gecko/* Netscape*/8.1*]
13971
+ Parent=Netscape 8.1
13972
+ Platform=WinXP
13973
+ Win32=true
13974
+
13975
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.2; *) Gecko/* Netscape*/8.1*]
13976
+ Parent=Netscape 8.1
13977
+ Platform=Win2003
13978
+ Win32=true
13979
+
13980
+ [Mozilla/5.0 (Windows; ?; Windows NT 6.0; *) Gecko/* Netscape*/8.1*]
13981
+ Parent=Netscape 8.1
13982
+ Platform=WinVista
13983
+ Win32=true
13984
+
13985
+ [Mozilla/5.0 (Windows; ?; Windows NT 6.1; *) Gecko/* Netscape*/8.1*]
13986
+ Parent=Netscape 8.1
13987
+ Platform=Win7
13988
+
13989
+ [Mozilla/5.0 (Windows; ?; WinNT4.0; *) Gecko/* Netscape*/8.1*]
13990
+ Parent=Netscape 8.1
13991
+ Platform=WinNT
13992
+ Win32=true
13993
+
13994
+ [Mozilla/5.0 (Windows; ?; WinNT5.0; *) Gecko/* Netscape*/8.1*]
13995
+ Parent=Netscape 8.1
13996
+ Platform=Win2000
13997
+ Win32=true
13998
+
13999
+ [Mozilla/5.0 (Windows; ?; WinNT5.1; *) Gecko/* Netscape*/8.1*]
14000
+ Parent=Netscape 8.1
14001
+ Platform=WinXP
14002
+ Win32=true
14003
+
14004
+ [Mozilla/5.0 (Windows; ?; WinNT5.2; *) Gecko/* Netscape*/8.1*]
14005
+ Parent=Netscape 8.1
14006
+ Platform=Win2003
14007
+ Win32=true
14008
+
14009
+ [Mozilla/5.0 (Windows; ?; WinNT6.0; *) Gecko/* Netscape*/8.1*]
14010
+ Parent=Netscape 8.1
14011
+ Platform=WinVista
14012
+ Win32=true
14013
+
14014
+ [Mozilla/5.0 (Windows; ?; WinNT6.1; *) Gecko/* Netscape*/8.1*]
14015
+ Parent=Netscape 8.1
14016
+ Platform=Win7
14017
+
14018
+ [Mozilla/5.0 (X11; ?; *) Gecko/* Netscape*/8.1*]
14019
+ Parent=Netscape 8.1
14020
+ Platform=Linux
14021
+
14022
+ [Mozilla/5.0 (X11; ?; SunOS*) Gecko/* Netscape*/8.1*]
14023
+ Parent=Netscape 8.1
14024
+ Platform=SunOS
14025
+
14026
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SeaMonkey 1.0
14027
+
14028
+ [SeaMonkey 1.0]
14029
+ Parent=DefaultProperties
14030
+ Browser="SeaMonkey"
14031
+ Version=1.0
14032
+ MajorVer=1
14033
+ Frames=true
14034
+ IFrames=true
14035
+ Tables=true
14036
+ Cookies=true
14037
+ BackgroundSounds=true
14038
+ JavaApplets=true
14039
+ JavaScript=true
14040
+ CssVersion=2
14041
+ supportsCSS=true
14042
+
14043
+ [Mozilla/5.0 (Macintosh; ?; *Mac OS X*; *; rv:1.8*) Gecko/* SeaMonkey/1.0*]
14044
+ Parent=SeaMonkey 1.0
14045
+ Platform=MacOSX
14046
+
14047
+ [Mozilla/5.0 (Windows; ?; Win 9x 4.90; *; rv:1.8*) Gecko/* SeaMonkey/1.0*]
14048
+ Parent=SeaMonkey 1.0
14049
+ Platform=WinME
14050
+
14051
+ [Mozilla/5.0 (Windows; ?; Win98; *; rv:1.8*) Gecko/* SeaMonkey/1.0*]
14052
+ Parent=SeaMonkey 1.0
14053
+ Platform=Win98
14054
+
14055
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.0; *; rv:1.8*) Gecko/* SeaMonkey/1.0*]
14056
+ Parent=SeaMonkey 1.0
14057
+ Platform=Win2000
14058
+
14059
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.1; *; rv:1.8*) Gecko/* SeaMonkey/1.0*]
14060
+ Parent=SeaMonkey 1.0
14061
+ Platform=WinXP
14062
+
14063
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.2; *; rv:1.8*) Gecko/* SeaMonkey/1.0*]
14064
+ Parent=SeaMonkey 1.0
14065
+ Platform=Win2003
14066
+
14067
+ [Mozilla/5.0 (Windows; ?; Windows NT 6.0; *; rv:1.8*) Gecko/* SeaMonkey/1.0*]
14068
+ Parent=SeaMonkey 1.0
14069
+ Platform=WinVista
14070
+
14071
+ [Mozilla/5.0 (Windows; ?; Windows NT 6.1; *; rv:1.8*) Gecko/* SeaMonkey/1.0*]
14072
+ Parent=SeaMonkey 1.0
14073
+ Platform=Win7
14074
+
14075
+ [Mozilla/5.0 (X11; ?; FreeBSD*; *; rv:1.8*) Gecko/* SeaMonkey/1.0*]
14076
+ Parent=SeaMonkey 1.0
14077
+ Platform=FreeBSD
14078
+
14079
+ [Mozilla/5.0 (X11; ?; Linux*; *; rv:1.8*) Gecko/20060221 SeaMonkey/1.0*]
14080
+ Parent=SeaMonkey 1.0
14081
+ Platform=Linux
14082
+
14083
+ [Mozilla/5.0 (X11; ?; SunOS*; *; rv:1.8*) Gecko/* SeaMonkey/1.0*]
14084
+ Parent=SeaMonkey 1.0
14085
+ Platform=SunOS
14086
+
14087
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SeaMonkey 1.1
14088
+
14089
+ [SeaMonkey 1.1]
14090
+ Parent=DefaultProperties
14091
+ Browser="SeaMonkey"
14092
+ Version=1.1
14093
+ MajorVer=1
14094
+ MinorVer=1
14095
+ Frames=true
14096
+ IFrames=true
14097
+ Tables=true
14098
+ Cookies=true
14099
+ BackgroundSounds=true
14100
+ JavaApplets=true
14101
+ JavaScript=true
14102
+ CssVersion=2
14103
+ supportsCSS=true
14104
+
14105
+ [Mozilla/5.0 (Macintosh; ?; *Mac OS X*; *; rv:1.8*) Gecko/* SeaMonkey/1.1*]
14106
+ Parent=SeaMonkey 1.1
14107
+ Platform=MacOSX
14108
+
14109
+ [Mozilla/5.0 (Windows; ?; Win 9x 4.90; *; rv:1.8*) Gecko/* SeaMonkey/1.1*]
14110
+ Parent=SeaMonkey 1.1
14111
+ Platform=WinME
14112
+
14113
+ [Mozilla/5.0 (Windows; ?; Win98; *; rv:1.8*) Gecko/* SeaMonkey/1.1*]
14114
+ Parent=SeaMonkey 1.1
14115
+ Platform=Win98
14116
+
14117
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.0; *; rv:1.8*) Gecko/* SeaMonkey/1.1*]
14118
+ Parent=SeaMonkey 1.1
14119
+ Platform=Win2000
14120
+
14121
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.1; *; rv:1.8*) Gecko/* SeaMonkey/1.1*]
14122
+ Parent=SeaMonkey 1.1
14123
+ Platform=WinXP
14124
+
14125
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.2; *; rv:1.8*) Gecko/* SeaMonkey/1.1*]
14126
+ Parent=SeaMonkey 1.1
14127
+ Platform=Win2003
14128
+
14129
+ [Mozilla/5.0 (Windows; ?; Windows NT 6.0; *; rv:1.8*) Gecko/* SeaMonkey/1.1*]
14130
+ Parent=SeaMonkey 1.1
14131
+ Platform=WinVista
14132
+
14133
+ [Mozilla/5.0 (Windows; ?; Windows NT 6.1; *; rv:1.8*) Gecko/* SeaMonkey/1.1*]
14134
+ Parent=SeaMonkey 1.1
14135
+ Platform=Win7
14136
+
14137
+ [Mozilla/5.0 (X11; ?; FreeBSD*; *; rv:1.8*) Gecko/* SeaMonkey/1.1*]
14138
+ Parent=SeaMonkey 1.1
14139
+ Platform=FreeBSD
14140
+
14141
+ [Mozilla/5.0 (X11; ?; Linux*; *; rv:1.8*) Gecko/20060221 SeaMonkey/1.1*]
14142
+ Parent=SeaMonkey 1.1
14143
+ Platform=Linux
14144
+
14145
+ [Mozilla/5.0 (X11; ?; SunOS*; *; rv:1.8*) Gecko/* SeaMonkey/1.1*]
14146
+ Parent=SeaMonkey 1.1
14147
+ Platform=SunOS
14148
+
14149
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SeaMonkey 2.0
14150
+
14151
+ [SeaMonkey 2.0]
14152
+ Parent=DefaultProperties
14153
+ Browser="SeaMonkey"
14154
+ Version=2.0
14155
+ MajorVer=2
14156
+ Alpha=true
14157
+ Frames=true
14158
+ IFrames=true
14159
+ Tables=true
14160
+ Cookies=true
14161
+ BackgroundSounds=true
14162
+ JavaApplets=true
14163
+ JavaScript=true
14164
+ CssVersion=2
14165
+ supportsCSS=true
14166
+
14167
+ [Mozilla/5.0 (Macintosh; ?; *Mac OS X*; *; rv:1.9*) Gecko/* SeaMonkey/2.0*]
14168
+ Parent=SeaMonkey 2.0
14169
+ Platform=MacOSX
14170
+
14171
+ [Mozilla/5.0 (Windows; ?; Win 9x 4.90; *; rv:1.9*) Gecko/* SeaMonkey/2.0*]
14172
+ Parent=SeaMonkey 2.0
14173
+ Platform=WinME
14174
+
14175
+ [Mozilla/5.0 (Windows; ?; Win98; *; rv:1.9*) Gecko/* SeaMonkey/2.0*]
14176
+ Parent=SeaMonkey 2.0
14177
+ Platform=Win98
14178
+
14179
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.0; *; rv:1.9*) Gecko/* SeaMonkey/2.0*]
14180
+ Parent=SeaMonkey 2.0
14181
+ Platform=Win2000
14182
+
14183
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.1; *; rv:1.9*) Gecko/* SeaMonkey/2.0*]
14184
+ Parent=SeaMonkey 2.0
14185
+ Platform=WinXP
14186
+
14187
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.2; *; rv:1.9*) Gecko/* SeaMonkey/2.0*]
14188
+ Parent=SeaMonkey 2.0
14189
+ Platform=Win2003
14190
+
14191
+ [Mozilla/5.0 (Windows; ?; Windows NT 6.0; *; rv:1.9*) Gecko/* SeaMonkey/2.0*]
14192
+ Parent=SeaMonkey 2.0
14193
+ Platform=WinVista
14194
+
14195
+ [Mozilla/5.0 (Windows; ?; Windows NT 6.1; *; rv:1.9*) Gecko/* SeaMonkey/2.0*]
14196
+ Parent=SeaMonkey 2.0
14197
+ Platform=Win7
14198
+
14199
+ [Mozilla/5.0 (X11; ?; FreeBSD*; *; rv:1.9*) Gecko/* SeaMonkey/2.0*]
14200
+ Parent=SeaMonkey 2.0
14201
+ Platform=FreeBSD
14202
+
14203
+ [Mozilla/5.0 (X11; ?; Linux*; *; rv:1.9*) Gecko/20060221 SeaMonkey/2.0*]
14204
+ Parent=SeaMonkey 2.0
14205
+ Platform=Linux
14206
+
14207
+ [Mozilla/5.0 (X11; ?; SunOS*; *; rv:1.9*) Gecko/* SeaMonkey/2.0*]
14208
+ Parent=SeaMonkey 2.0
14209
+ Platform=SunOS
14210
+
14211
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Flock 1.0
14212
+
14213
+ [Flock 1.0]
14214
+ Parent=DefaultProperties
14215
+ Browser="Flock"
14216
+ Version=1.0
14217
+ MajorVer=1
14218
+ Frames=true
14219
+ IFrames=true
14220
+ Tables=true
14221
+ Cookies=true
14222
+ JavaApplets=true
14223
+ JavaScript=true
14224
+ CssVersion=2
14225
+ supportsCSS=true
14226
+
14227
+ [Mozilla/5.0 (Macintosh; U; *Mac OS X*; *; rv:1.*) Gecko/* Firefox/2.* Flock/1.*]
14228
+ Parent=Flock 1.0
14229
+ Platform=MacOSX
14230
+
14231
+ [Mozilla/5.0 (Windows; U; Win 9x 4.90; *; rv:1.*) Gecko/* Firefox/2.* Flock/1.*]
14232
+ Parent=Flock 1.0
14233
+ Platform=WinME
14234
+
14235
+ [Mozilla/5.0 (Windows; U; Windows NT 5.0*; *; rv:1.*) Gecko/* Firefox/2.* Flock/1.*]
14236
+ Parent=Flock 1.0
14237
+ Platform=Win2000
14238
+
14239
+ [Mozilla/5.0 (Windows; U; Windows NT 5.1*; *; rv:1.*) Gecko/* Firefox/2.* Flock/1.*]
14240
+ Parent=Flock 1.0
14241
+ Platform=WinXP
14242
+
14243
+ [Mozilla/5.0 (Windows; U; Windows NT 5.2*; *; rv:1.*) Gecko/* Firefox/2.* Flock/1.*]
14244
+ Parent=Flock 1.0
14245
+ Platform=Win2003
14246
+
14247
+ [Mozilla/5.0 (Windows; U; Windows NT 6.0*; *; rv:1.*) Gecko/* Firefox/2.* Flock/1.*]
14248
+ Parent=Flock 1.0
14249
+ Platform=WinVista
14250
+
14251
+ [Mozilla/5.0 (Windows; U; Windows NT 6.1*; *; rv:1.*) Gecko/* Firefox/2.* Flock/1.*]
14252
+ Parent=Flock 1.0
14253
+ Platform=Win7
14254
+
14255
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Flock 2.0
14256
+
14257
+ [Flock 2.0]
14258
+ Parent=DefaultProperties
14259
+ Browser="Flock"
14260
+ Version=2.0
14261
+ MajorVer=2
14262
+ Frames=true
14263
+ IFrames=true
14264
+ Tables=true
14265
+ Cookies=true
14266
+ JavaApplets=true
14267
+ JavaScript=true
14268
+ CssVersion=2
14269
+ supportsCSS=true
14270
+
14271
+ [Mozilla/5.0 (Macintosh; U; *Mac OS X*; *; rv:1.*) Gecko/* Firefox/3.* Flock/2.*]
14272
+ Parent=Flock 2.0
14273
+ Platform=MacOSX
14274
+
14275
+ [Mozilla/5.0 (Windows; U; Win 9x 4.90; *; rv:1.*) Gecko/* Firefox/3.* Flock/2.*]
14276
+ Parent=Flock 2.0
14277
+ Platform=WinME
14278
+
14279
+ [Mozilla/5.0 (Windows; U; Windows NT 5.0*; *; rv:1.*) Gecko/* Firefox/3.* Flock/2.*]
14280
+ Parent=Flock 2.0
14281
+ Platform=Win2000
14282
+
14283
+ [Mozilla/5.0 (Windows; U; Windows NT 5.1*; *; rv:1.*) Gecko/* Firefox/3.* Flock/2.*]
14284
+ Parent=Flock 2.0
14285
+ Platform=WinXP
14286
+
14287
+ [Mozilla/5.0 (Windows; U; Windows NT 5.2*; *; rv:1.*) Gecko/* Firefox/3.* Flock/2.*]
14288
+ Parent=Flock 2.0
14289
+ Platform=Win2003
14290
+
14291
+ [Mozilla/5.0 (Windows; U; Windows NT 6.0*; *; rv:1.*) Gecko/* Firefox/3.* Flock/2.*]
14292
+ Parent=Flock 2.0
14293
+ Platform=WinVista
14294
+
14295
+ [Mozilla/5.0 (Windows; U; Windows NT 6.1*; *; rv:1.*) Gecko/* Firefox/3.* Flock/2.*]
14296
+ Parent=Flock 2.0
14297
+ Platform=Win7
14298
+
14299
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Sleipnir 2.0
14300
+
14301
+ [Sleipnir]
14302
+ Parent=DefaultProperties
14303
+ Browser="Sleipnir"
14304
+ Version=2.0
14305
+ MajorVer=2
14306
+ Frames=true
14307
+ IFrames=true
14308
+ Tables=true
14309
+ Cookies=true
14310
+ JavaApplets=true
14311
+ JavaScript=true
14312
+ CssVersion=2
14313
+ supportsCSS=true
14314
+
14315
+ [Mozilla/4.0 (compatible; MSIE ?.0; Windows NT 5.0*) Sleipnir/2.*]
14316
+ Parent=Sleipnir
14317
+ Platform=Win2000
14318
+
14319
+ [Mozilla/4.0 (compatible; MSIE ?.0; Windows NT 5.1*) Sleipnir/2.*]
14320
+ Parent=Sleipnir
14321
+ Platform=WinXP
14322
+
14323
+ [Mozilla/4.0 (compatible; MSIE ?.0; Windows NT 5.2*) Sleipnir/2.*]
14324
+ Parent=Sleipnir
14325
+ Platform=Win2003
14326
+
14327
+ [Mozilla/4.0 (compatible; MSIE ?.0; Windows NT 6.0*) Sleipnir/2.*]
14328
+ Parent=Sleipnir
14329
+ Platform=WinVista
14330
+
14331
+ [Mozilla/4.0 (compatible; MSIE ?.0; Windows NT 6.1*) Sleipnir/2.*]
14332
+ Parent=Sleipnir
14333
+ Platform=Win7
14334
+
14335
+ [Sleipnir*]
14336
+ Parent=Sleipnir
14337
+
14338
+ [Sleipnir/2.*]
14339
+ Parent=Sleipnir
14340
+
14341
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Fennec 1.0
14342
+
14343
+ [Fennec 1.0]
14344
+ Parent=DefaultProperties
14345
+ Browser="Firefox Mobile"
14346
+ Version=1.0
14347
+ MajorVer=1
14348
+ Alpha=true
14349
+ Frames=true
14350
+ IFrames=true
14351
+ Tables=true
14352
+ Cookies=true
14353
+ JavaApplets=true
14354
+ JavaScript=true
14355
+ CssVersion=3
14356
+ supportsCSS=true
14357
+
14358
+ [Mozilla/5.0 (Windows; U; Windows NT 5.1; *; rv:1.9*) Gecko/* Fennec/1.0*]
14359
+ Parent=Fennec 1.0
14360
+ Platform=WinXP
14361
+
14362
+ [Mozilla/5.0 (Windows; U; Windows NT 6.0; *; rv:1.9*) Gecko/* Fennec/1.0*]
14363
+ Parent=Fennec 1.0
14364
+ Platform=WinVista
14365
+
14366
+ [Mozilla/5.0 (Windows; U; Windows NT 6.1; *; rv:1.9*) Gecko/* Fennec/1.0*]
14367
+ Parent=Fennec 1.0
14368
+ Platform=Win7
14369
+
14370
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Firefox 1.0
14371
+
14372
+ [Firefox 1.0]
14373
+ Parent=DefaultProperties
14374
+ Browser="Firefox"
14375
+ Version=1.0
14376
+ MajorVer=1
14377
+ Frames=true
14378
+ IFrames=true
14379
+ Tables=true
14380
+ Cookies=true
14381
+ JavaApplets=true
14382
+ JavaScript=true
14383
+ CssVersion=2
14384
+ supportsCSS=true
14385
+
14386
+ [Mozilla/5.0 (Linux; *; PPC*; *; rv:1.*) Gecko/* Firefox/1.0*]
14387
+ Parent=Firefox 1.0
14388
+ Platform=MacPPC
14389
+
14390
+ [Mozilla/5.0 (Macintosh; *; *Mac OS X*; *; rv:1.*) Gecko/* Firefox/1.0*]
14391
+ Parent=Firefox 1.0
14392
+ Platform=MacOSX
14393
+
14394
+ [Mozilla/5.0 (OS/2; *; Warp*; *; rv:1.*) Gecko/* Firefox/1.0*]
14395
+ Parent=Firefox 1.0
14396
+ Platform=OS/2
14397
+
14398
+ [Mozilla/5.0 (Windows; *; Win 9x 4.90*; *; rv:1.*) Gecko/* Firefox/1.0*]
14399
+ Parent=Firefox 1.0
14400
+ Platform=WinME
14401
+ Win32=true
14402
+
14403
+ [Mozilla/5.0 (Windows; *; Win95; *; rv:1.*) Gecko/* Firefox/1.0*]
14404
+ Parent=Firefox 1.0
14405
+ Platform=Win95
14406
+ Win32=true
14407
+
14408
+ [Mozilla/5.0 (Windows; *; Win98; *; rv:1.*) Gecko/* Firefox/1.0*]
14409
+ Parent=Firefox 1.0
14410
+ Platform=Win98
14411
+ Win32=true
14412
+
14413
+ [Mozilla/5.0 (Windows; *; Windows NT 5.0; *; rv:1.*) Gecko/* Firefox/1.0*]
14414
+ Parent=Firefox 1.0
14415
+ Platform=Win2000
14416
+ Win32=true
14417
+
14418
+ [Mozilla/5.0 (Windows; *; Windows NT 5.1; *; rv:1.*) Gecko/* Firefox/1.0*]
14419
+ Parent=Firefox 1.0
14420
+ Platform=WinXP
14421
+ Win32=true
14422
+
14423
+ [Mozilla/5.0 (Windows; *; Windows NT 5.1; rv:1.*) Gecko/* Firefox/1.0*]
14424
+ Parent=Firefox 1.0
14425
+ Platform=WinXP
14426
+ Win32=true
14427
+
14428
+ [Mozilla/5.0 (Windows; *; Windows NT 5.2; *; rv:1.*) Gecko/* Firefox/1.0*]
14429
+ Parent=Firefox 1.0
14430
+ Platform=Win2003
14431
+ Win32=true
14432
+
14433
+ [Mozilla/5.0 (Windows; *; Windows NT 6.0*; *; rv:1.*) Gecko/* Firefox/1.0*]
14434
+ Parent=Firefox 1.0
14435
+ Platform=WinVista
14436
+ Win32=true
14437
+
14438
+ [Mozilla/5.0 (Windows; *; WinNT4.0; *; rv:1.*) Gecko/* Firefox/1.0*]
14439
+ Parent=Firefox 1.0
14440
+ Platform=WinNT
14441
+ Win32=true
14442
+
14443
+ [Mozilla/5.0 (X11; *; *Linux*; *; rv:1.*) Gecko/* Firefox/1.0*]
14444
+ Parent=Firefox 1.0
14445
+ Platform=Linux
14446
+
14447
+ [Mozilla/5.0 (X11; *; *Linux*; rv:1.*) Gecko/* Firefox/1.0*]
14448
+ Parent=Firefox 1.0
14449
+ Platform=Linux
14450
+
14451
+ [Mozilla/5.0 (X11; *; DragonFly*; *; rv:1.*) Gecko/* Firefox/1.0*]
14452
+ Parent=Firefox 1.0
14453
+
14454
+ [Mozilla/5.0 (X11; *; FreeBSD*; *; rv:1.*) Gecko/* Firefox/1.0*]
14455
+ Parent=Firefox 1.0
14456
+ Platform=FreeBSD
14457
+
14458
+ [Mozilla/5.0 (X11; *; HP-UX*; *; rv:1.*) Gecko/* Firefox/1.0*]
14459
+ Parent=Firefox 1.0
14460
+ Platform=HP-UX
14461
+
14462
+ [Mozilla/5.0 (X11; *; IRIX64*; *; rv:1.*) Gecko/* Firefox/1.0*]
14463
+ Parent=Firefox 1.0
14464
+ Platform=IRIX64
14465
+
14466
+ [Mozilla/5.0 (X11; *; OpenBSD*; *; rv:1.*) Gecko/* Firefox/1.0*]
14467
+ Parent=Firefox 1.0
14468
+ Platform=OpenBSD
14469
+
14470
+ [Mozilla/5.0 (X11; *; SunOS*; *; rv:1.*) Gecko/* Firefox/1.0*]
14471
+ Parent=Firefox 1.0
14472
+ Platform=SunOS
14473
+
14474
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Firefox 1.4
14475
+
14476
+ [Firefox 1.4]
14477
+ Parent=DefaultProperties
14478
+ Browser="Firefox"
14479
+ Version=1.4
14480
+ MajorVer=1
14481
+ MinorVer=4
14482
+ Frames=true
14483
+ IFrames=true
14484
+ Tables=true
14485
+ Cookies=true
14486
+ JavaApplets=true
14487
+ JavaScript=true
14488
+ CssVersion=2
14489
+ supportsCSS=true
14490
+
14491
+ [Mozilla/5.0 (Linux; *; PPC*; *; rv:1.*) Gecko/* Firefox/1.4*]
14492
+ Parent=Firefox 1.4
14493
+ Platform=Linux
14494
+
14495
+ [Mozilla/5.0 (Macintosh; *; *Mac OS X*; *; rv:1.*) Gecko/* Firefox/1.4*]
14496
+ Parent=Firefox 1.4
14497
+ Platform=MacOSX
14498
+
14499
+ [Mozilla/5.0 (OS/2; *; Warp*; *; rv:1.*) Gecko/* Firefox/1.4*]
14500
+ Parent=Firefox 1.4
14501
+ Platform=OS/2
14502
+
14503
+ [Mozilla/5.0 (Windows; *; Win 9x 4.90; *; rv:1.*) Gecko/* Firefox/1.4*]
14504
+ Parent=Firefox 1.4
14505
+ Platform=WinME
14506
+ Win32=true
14507
+
14508
+ [Mozilla/5.0 (Windows; *; Win95*; *; rv:1.*) Gecko/* Firefox/1.4*]
14509
+ Parent=Firefox 1.4
14510
+ Platform=Win95
14511
+ Win32=true
14512
+
14513
+ [Mozilla/5.0 (Windows; *; Win98; *; rv:1.*) Gecko/* Firefox/1.4*]
14514
+ Parent=Firefox 1.4
14515
+ Platform=Win98
14516
+ Win32=true
14517
+
14518
+ [Mozilla/5.0 (Windows; *; Windows NT 5.0; *; rv:1.*) Gecko/* Firefox/1.4*]
14519
+ Parent=Firefox 1.4
14520
+ Platform=Win2000
14521
+ Win32=true
14522
+
14523
+ [Mozilla/5.0 (Windows; *; Windows NT 5.1; *; rv:1.*) Gecko/* Firefox/1.4*]
14524
+ Parent=Firefox 1.4
14525
+ Platform=WinXP
14526
+ Win32=true
14527
+
14528
+ [Mozilla/5.0 (Windows; *; Windows NT 5.2; *; rv:1.*) Gecko/* Firefox/1.4*]
14529
+ Parent=Firefox 1.4
14530
+ Platform=Win2003
14531
+ Win32=true
14532
+
14533
+ [Mozilla/5.0 (Windows; *; Windows NT 6.0; *; rv:1.*) Gecko/* Firefox/1.4*]
14534
+ Parent=Firefox 1.4
14535
+ Platform=WinVista
14536
+ Win32=true
14537
+
14538
+ [Mozilla/5.0 (Windows; *; WinNT4.0; *; rv:1.*) Gecko/* Firefox/1.4*]
14539
+ Parent=Firefox 1.4
14540
+ Platform=WinNT
14541
+ Win32=true
14542
+
14543
+ [Mozilla/5.0 (X11; *; *Linux*; *; rv:1.*) Gecko/* Firefox/1.4*]
14544
+ Parent=Firefox 1.4
14545
+ Platform=Linux
14546
+
14547
+ [Mozilla/5.0 (X11; *; FreeBSD*; *; rv:1.*) Gecko/* Firefox/1.4*]
14548
+ Parent=Firefox 1.4
14549
+ Platform=FreeBSD
14550
+
14551
+ [Mozilla/5.0 (X11; *; HP-UX*; *; rv:1.*) Gecko/* Firefox/1.4*]
14552
+ Parent=Firefox 1.4
14553
+ Platform=HP-UX
14554
+
14555
+ [Mozilla/5.0 (X11; *; IRIX64*; *; rv:1.*) Gecko/* Firefox/1.4*]
14556
+ Parent=Firefox 1.4
14557
+ Platform=IRIX64
14558
+
14559
+ [Mozilla/5.0 (X11; *; OpenBSD*; *; rv:1.*) Gecko/* Firefox/1.4*]
14560
+ Parent=Firefox 1.4
14561
+ Platform=OpenBSD
14562
+
14563
+ [Mozilla/5.0 (X11; *; SunOS*; *; rv:1.*) Gecko/* Firefox/1.4*]
14564
+ Parent=Firefox 1.4
14565
+ Platform=SunOS
14566
+
14567
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Firefox 1.5
14568
+
14569
+ [Firefox 1.5]
14570
+ Parent=DefaultProperties
14571
+ Browser="Firefox"
14572
+ Version=1.5
14573
+ MajorVer=1
14574
+ MinorVer=5
14575
+ Frames=true
14576
+ IFrames=true
14577
+ Tables=true
14578
+ Cookies=true
14579
+ JavaApplets=true
14580
+ JavaScript=true
14581
+ CssVersion=2
14582
+ supportsCSS=true
14583
+
14584
+ [Mozilla/5.0 (Linux; *; PPC*; *; rv:1.*) Gecko/* Firefox/1.5*]
14585
+ Parent=Firefox 1.5
14586
+ Platform=Linux
14587
+
14588
+ [Mozilla/5.0 (Macintosh; *; *Mac OS X*; *; rv:1.*) Gecko/* Firefox/1.5*]
14589
+ Parent=Firefox 1.5
14590
+ Platform=MacOSX
14591
+
14592
+ [Mozilla/5.0 (OS/2; *; Warp*; *; rv:1.*) Gecko/* Firefox/1.5*]
14593
+ Parent=Firefox 1.5
14594
+ Platform=OS/2
14595
+
14596
+ [Mozilla/5.0 (rv:1.*) Gecko/* Firefox/1.5*]
14597
+ Parent=Firefox 1.5
14598
+
14599
+ [Mozilla/5.0 (Windows; *; Win 9x 4.90; *; rv:1.*) Gecko/* Firefox/1.5*]
14600
+ Parent=Firefox 1.5
14601
+ Platform=WinME
14602
+ Win32=true
14603
+
14604
+ [Mozilla/5.0 (Windows; *; Win95; *; rv:1.*) Gecko/* Firefox/1.5*]
14605
+ Parent=Firefox 1.5
14606
+ Platform=Win95
14607
+ Win32=true
14608
+
14609
+ [Mozilla/5.0 (Windows; *; Win98; *; rv:1.*) Gecko/* Firefox/1.5*]
14610
+ Parent=Firefox 1.5
14611
+ Platform=Win98
14612
+ Win32=true
14613
+
14614
+ [Mozilla/5.0 (Windows; *; Windows NT 5.0; *; rv:1.*) Gecko/* Firefox/1.5*]
14615
+ Parent=Firefox 1.5
14616
+ Platform=Win2000
14617
+ Win32=true
14618
+
14619
+ [Mozilla/5.0 (Windows; *; Windows NT 5.1; *; rv:1.*) Gecko/* Firefox/1.5*]
14620
+ Parent=Firefox 1.5
14621
+ Platform=WinXP
14622
+ Win32=true
14623
+
14624
+ [Mozilla/5.0 (Windows; *; Windows NT 5.2 x64; *; rv:1.*) Gecko/* Firefox/1.5*]
14625
+ Parent=Firefox 1.5
14626
+ Platform=WinXP
14627
+ Win32=true
14628
+
14629
+ [Mozilla/5.0 (Windows; *; Windows NT 5.2; *; rv:1.*) Gecko/* Firefox/1.5*]
14630
+ Parent=Firefox 1.5
14631
+ Platform=Win2003
14632
+ Win32=true
14633
+
14634
+ [Mozilla/5.0 (Windows; *; Windows NT 6.0; *; rv:1.*) Gecko/* Firefox/1.5*]
14635
+ Parent=Firefox 1.5
14636
+ Platform=WinVista
14637
+ Win32=true
14638
+
14639
+ [Mozilla/5.0 (Windows; *; WinNT4.0; *; rv:1.*) Gecko/* Firefox/1.5*]
14640
+ Parent=Firefox 1.5
14641
+ Platform=WinNT
14642
+ Win32=true
14643
+
14644
+ [Mozilla/5.0 (X11; *; *Linux*; *; rv:1.*) Gecko/* Firefox/1.5*]
14645
+ Parent=Firefox 1.5
14646
+ Platform=Linux
14647
+
14648
+ [Mozilla/5.0 (X11; *; FreeBSD*; *; rv:1.*) Gecko/* Firefox/1.5*]
14649
+ Parent=Firefox 1.5
14650
+ Platform=FreeBSD
14651
+
14652
+ [Mozilla/5.0 (X11; *; HP-UX*; *; rv:1.*) Gecko/* Firefox/1.5*]
14653
+ Parent=Firefox 1.5
14654
+ Platform=HP-UX
14655
+
14656
+ [Mozilla/5.0 (X11; *; IRIX64*; *; rv:1.*) Gecko/* Firefox/1.5*]
14657
+ Parent=Firefox 1.5
14658
+ Platform=IRIX64
14659
+
14660
+ [Mozilla/5.0 (X11; *; OpenBSD*; *; rv:1.*) Gecko/* Firefox/1.5*]
14661
+ Parent=Firefox 1.5
14662
+ Platform=OpenBSD
14663
+
14664
+ [Mozilla/5.0 (X11; *; SunOS*; *; rv:1.*) Gecko/* Firefox/1.5*]
14665
+ Parent=Firefox 1.5
14666
+ Platform=SunOS
14667
+
14668
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Firefox 2.0
14669
+
14670
+ [Firefox 2.0]
14671
+ Parent=DefaultProperties
14672
+ Browser="Firefox"
14673
+ Version=2.0
14674
+ MajorVer=2
14675
+ Frames=true
14676
+ IFrames=true
14677
+ Tables=true
14678
+ Cookies=true
14679
+ JavaApplets=true
14680
+ JavaScript=true
14681
+ CssVersion=2
14682
+ supportsCSS=true
14683
+
14684
+ [Mozilla/5.0 (Linux; *; PPC*; *; rv:1.8*) Gecko/* Firefox/2.0*]
14685
+ Parent=Firefox 2.0
14686
+ Platform=Linux
14687
+
14688
+ [Mozilla/5.0 (Macintosh; *; *Mac OS X*; *; rv:1.8*) Gecko/* Firefox/2.0*]
14689
+ Parent=Firefox 2.0
14690
+ Platform=MacOSX
14691
+
14692
+ [Mozilla/5.0 (OS/2; *; Warp*; *; rv:1.8*) Gecko/* Firefox/2.0*]
14693
+ Parent=Firefox 2.0
14694
+ Platform=OS/2
14695
+
14696
+ [Mozilla/5.0 (Windows; *; Win 9x 4.90; *; rv:1.8*) Gecko/* Firefox/2.0*]
14697
+ Parent=Firefox 2.0
14698
+ Platform=WinME
14699
+ Win32=true
14700
+
14701
+ [Mozilla/5.0 (Windows; *; Win95; *; rv:1.8*) Gecko/* Firefox/2.0*]
14702
+ Parent=Firefox 2.0
14703
+ Platform=Win95
14704
+ Win32=true
14705
+
14706
+ [Mozilla/5.0 (Windows; *; Win98; *; rv:1.8*) Gecko/* Firefox/2.0*]
14707
+ Parent=Firefox 2.0
14708
+ Platform=Win98
14709
+ Win32=true
14710
+
14711
+ [Mozilla/5.0 (Windows; *; Windows NT 5.0; *; rv:1.*) Gecko/* Firefox/2.0*]
14712
+ Parent=Firefox 2.0
14713
+ Platform=Win2000
14714
+ Win32=true
14715
+
14716
+ [Mozilla/5.0 (Windows; *; Windows NT 5.1; *; rv:1.8*) Gecko/* Firefox/2.0*]
14717
+ Parent=Firefox 2.0
14718
+ Platform=WinXP
14719
+ Win32=true
14720
+
14721
+ [Mozilla/5.0 (Windows; *; Windows NT 5.2; *; rv:1.8*) Gecko/* Firefox/2.0*]
14722
+ Parent=Firefox 2.0
14723
+ Platform=Win2003
14724
+ Win32=true
14725
+
14726
+ [Mozilla/5.0 (Windows; *; Windows NT 6.0; *; rv:1.8*) Gecko/* Firefox/2.0*]
14727
+ Parent=Firefox 2.0
14728
+ Platform=WinVista
14729
+ Win32=true
14730
+
14731
+ [Mozilla/5.0 (Windows; *; Windows NT 6.1; *; rv:1.8*) Gecko/* Firefox/2.0*]
14732
+ Parent=Firefox 2.0
14733
+ Platform=Win7
14734
+
14735
+ [Mozilla/5.0 (Windows; *; WinNT4.0; *; rv:1.8*) Gecko/* Firefox/2.0*]
14736
+ Parent=Firefox 2.0
14737
+ Platform=WinNT
14738
+ Win32=true
14739
+
14740
+ [Mozilla/5.0 (X11; *; *Linux*; *; rv:1.8*) Gecko/* Firefox/2.0*]
14741
+ Parent=Firefox 2.0
14742
+ Platform=Linux
14743
+
14744
+ [Mozilla/5.0 (X11; *; FreeBSD*; *; rv:1.8*) Gecko/* Firefox/2.0*]
14745
+ Parent=Firefox 2.0
14746
+ Platform=FreeBSD
14747
+
14748
+ [Mozilla/5.0 (X11; *; HP-UX*; *; rv:1.8*) Gecko/* Firefox/2.0*]
14749
+ Parent=Firefox 2.0
14750
+ Platform=HP-UX
14751
+
14752
+ [Mozilla/5.0 (X11; *; IRIX64*; *; rv:1.8*) Gecko/* Firefox/2.0*]
14753
+ Parent=Firefox 2.0
14754
+ Platform=IRIX64
14755
+
14756
+ [Mozilla/5.0 (X11; *; OpenBSD*; *; rv:1.8*) Gecko/* Firefox/2.0*]
14757
+ Parent=Firefox 2.0
14758
+ Platform=OpenBSD
14759
+
14760
+ [Mozilla/5.0 (X11; *; SunOS*; *; rv:1.8*) Gecko/* Firefox/2.0*]
14761
+ Parent=Firefox 2.0
14762
+ Platform=SunOS
14763
+
14764
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Firefox 3.0
14765
+
14766
+ [Firefox 3.0]
14767
+ Parent=DefaultProperties
14768
+ Browser="Firefox"
14769
+ Version=3.0
14770
+ MajorVer=3
14771
+ Frames=true
14772
+ IFrames=true
14773
+ Tables=true
14774
+ Cookies=true
14775
+ JavaApplets=true
14776
+ JavaScript=true
14777
+ CssVersion=3
14778
+ supportsCSS=true
14779
+
14780
+ [Mozilla/5.0 (Macintosh; *; *Mac OS X*; *; rv:1.9*) Gecko/* Firefox/3.0*]
14781
+ Parent=Firefox 3.0
14782
+ Platform=MacOSX
14783
+
14784
+ [Mozilla/5.0 (Windows; *; Windows NT 5.0; *; rv:1.*) Gecko/* Firefox/3.0*]
14785
+ Parent=Firefox 3.0
14786
+ Platform=Win2000
14787
+
14788
+ [Mozilla/5.0 (Windows; *; Windows NT 5.1; *; rv:1.9*) Gecko/* Firefox/3.0*]
14789
+ Parent=Firefox 3.0
14790
+ Platform=WinXP
14791
+ Win32=true
14792
+
14793
+ [Mozilla/5.0 (Windows; *; Windows NT 5.2; *; rv:1.9*) Gecko/* Firefox/3.0*]
14794
+ Parent=Firefox 3.0
14795
+ Platform=Win2003
14796
+ Win32=true
14797
+
14798
+ [Mozilla/5.0 (Windows; *; Windows NT 6.0; *; rv:1.9*) Gecko/* Firefox/3.0*]
14799
+ Parent=Firefox 3.0
14800
+ Platform=WinVista
14801
+ Win32=true
14802
+
14803
+ [Mozilla/5.0 (Windows; *; Windows NT 6.1; *; rv:1.*) Gecko/* Firefox/3.0*]
14804
+ Parent=Firefox 3.0
14805
+ Platform=Win7
14806
+
14807
+ [Mozilla/5.0 (Windows; *; WinNT4.0; *; rv:1.9*) Gecko/* Firefox/3.0*]
14808
+ Parent=Firefox 3.0
14809
+ Platform=WinNT
14810
+ Win32=true
14811
+
14812
+ [Mozilla/5.0 (Windows; U; Windows NT 5.1 x64; *; rv:1.9*) Gecko/* Firefox/3.0*]
14813
+ Parent=Firefox 3.0
14814
+ Platform=WinXP
14815
+ Win32=false
14816
+ Win64=true
14817
+
14818
+ [Mozilla/5.0 (Windows; U; Windows NT 5.2 x64; *; rv:1.9*) Gecko/* Firefox/3.0*]
14819
+ Parent=Firefox 3.0
14820
+ Platform=Win2003
14821
+ Win32=false
14822
+ Win64=true
14823
+
14824
+ [Mozilla/5.0 (Windows; U; Windows NT 6.0 x64; *; rv:1.9*) Gecko/* Firefox/3.0*]
14825
+ Parent=Firefox 3.0
14826
+ Platform=WinVista
14827
+
14828
+ [Mozilla/5.0 (Windows; U; Windows NT 6.1 x64; *; rv:1.9*) Gecko/* Firefox/3.0*]
14829
+ Parent=Firefox 3.0
14830
+ Platform=Win7
14831
+
14832
+ [Mozilla/5.0 (X11; *; *Linux*; *; rv:1.9*) Gecko/* Firefox/3.0*]
14833
+ Parent=Firefox 3.0
14834
+ Platform=Linux
14835
+
14836
+ [Mozilla/5.0 (X11; *; FreeBSD*; *; rv:1.9*) Gecko/* Firefox/3.0*]
14837
+ Parent=Firefox 3.0
14838
+ Platform=FreeBSD
14839
+
14840
+ [Mozilla/5.0 (X11; *; HP-UX*; *; rv:1.9*) Gecko/* Firefox/3.0*]
14841
+ Parent=Firefox 3.0
14842
+ Platform=HP-UX
14843
+
14844
+ [Mozilla/5.0 (X11; *; IRIX64*; *; rv:1.9*) Gecko/* Firefox/3.0*]
14845
+ Parent=Firefox 3.0
14846
+ Platform=IRIX64
14847
+
14848
+ [Mozilla/5.0 (X11; *; OpenBSD*; *; rv:1.9*) Gecko/* Firefox/3.0*]
14849
+ Parent=Firefox 3.0
14850
+ Platform=OpenBSD
14851
+
14852
+ [Mozilla/5.0 (X11; *; SunOS*; *; rv:1.9*) Gecko/* Firefox/3.0*]
14853
+ Parent=Firefox 3.0
14854
+ Platform=SunOS
14855
+
14856
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Firefox 3.1
14857
+
14858
+ [Firefox 3.1]
14859
+ Parent=DefaultProperties
14860
+ Browser="Firefox"
14861
+ Version=3.1
14862
+ MajorVer=3
14863
+ MinorVer=1
14864
+ Beta=true
14865
+ Frames=true
14866
+ IFrames=true
14867
+ Tables=true
14868
+ Cookies=true
14869
+ JavaApplets=true
14870
+ JavaScript=true
14871
+ CssVersion=3
14872
+ supportsCSS=true
14873
+
14874
+ [Mozilla/5.0 (Macintosh; *; *Mac OS X*; *; rv:1.9*) Gecko/* Firefox/3.1*]
14875
+ Parent=Firefox 3.1
14876
+ Platform=MacOSX
14877
+
14878
+ [Mozilla/5.0 (Windows; *; Windows NT 5.0; *; rv:1.9*) Gecko/* Firefox/3.1*]
14879
+ Parent=Firefox 3.1
14880
+ Platform=Win2000
14881
+
14882
+ [Mozilla/5.0 (Windows; *; Windows NT 5.1; *; rv:1.9*) Gecko/* Firefox/3.1*]
14883
+ Parent=Firefox 3.1
14884
+ Platform=WinXP
14885
+ Win32=true
14886
+
14887
+ [Mozilla/5.0 (Windows; *; Windows NT 5.2; *; rv:1.9*) Gecko/* Firefox/3.1*]
14888
+ Parent=Firefox 3.1
14889
+ Platform=Win2003
14890
+ Win32=true
14891
+
14892
+ [Mozilla/5.0 (Windows; *; Windows NT 6.0; *; rv:1.9*) Gecko/* Firefox/3.1*]
14893
+ Parent=Firefox 3.1
14894
+ Platform=WinVista
14895
+ Win32=true
14896
+
14897
+ [Mozilla/5.0 (Windows; *; Windows NT 6.1; *; rv:1.9*) Gecko/* Firefox/3.1*]
14898
+ Parent=Firefox 3.1
14899
+ Platform=Win7
14900
+
14901
+ [Mozilla/5.0 (Windows; *; WinNT4.0; *; rv:1.9*) Gecko/* Firefox/3.1*]
14902
+ Parent=Firefox 3.1
14903
+ Platform=WinNT
14904
+ Win32=true
14905
+
14906
+ [Mozilla/5.0 (Windows; U; Windows NT 5.1 x64; *; rv:1.9*) Gecko/* Firefox/3.1*]
14907
+ Parent=Firefox 3.1
14908
+ Platform=WinXP
14909
+ Win32=false
14910
+ Win64=true
14911
+
14912
+ [Mozilla/5.0 (Windows; U; Windows NT 5.2 x64; *; rv:1.9*) Gecko/* Firefox/3.1*]
14913
+ Parent=Firefox 3.1
14914
+ Platform=Win2003
14915
+ Win32=false
14916
+ Win64=true
14917
+
14918
+ [Mozilla/5.0 (Windows; U; Windows NT 6.0 x64; *; rv:1.9*) Gecko/* Firefox/3.1*]
14919
+ Parent=Firefox 3.1
14920
+ Platform=WinVista
14921
+
14922
+ [Mozilla/5.0 (Windows; U; Windows NT 6.1 x64; *; rv:1.9*) Gecko/* Firefox/3.1*]
14923
+ Parent=Firefox 3.1
14924
+ Platform=Win7
14925
+
14926
+ [Mozilla/5.0 (X11; *; *Linux*; *; rv:1.9*) Gecko/* Firefox/3.1*]
14927
+ Parent=Firefox 3.1
14928
+ Platform=Linux
14929
+
14930
+ [Mozilla/5.0 (X11; *; FreeBSD*; *; rv:1.9*) Gecko/* Firefox/3.1*]
14931
+ Parent=Firefox 3.1
14932
+ Platform=FreeBSD
14933
+
14934
+ [Mozilla/5.0 (X11; *; HP-UX*; *; rv:1.9*) Gecko/* Firefox/3.1*]
14935
+ Parent=Firefox 3.1
14936
+ Platform=HP-UX
14937
+
14938
+ [Mozilla/5.0 (X11; *; IRIX64*; *; rv:1.9*) Gecko/* Firefox/3.1*]
14939
+ Parent=Firefox 3.1
14940
+ Platform=IRIX64
14941
+
14942
+ [Mozilla/5.0 (X11; *; OpenBSD*; *; rv:1.9*) Gecko/* Firefox/3.1*]
14943
+ Parent=Firefox 3.1
14944
+ Platform=OpenBSD
14945
+
14946
+ [Mozilla/5.0 (X11; *; SunOS*; *; rv:1.9*) Gecko/* Firefox/3.1*]
14947
+ Parent=Firefox 3.1
14948
+ Platform=SunOS
14949
+
14950
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Firefox 3.5
14951
+
14952
+ [Firefox 3.5]
14953
+ Parent=DefaultProperties
14954
+ Browser="Firefox"
14955
+ Version=3.5
14956
+ MajorVer=3
14957
+ MinorVer=5
14958
+ Frames=true
14959
+ IFrames=true
14960
+ Tables=true
14961
+ Cookies=true
14962
+ JavaApplets=true
14963
+ JavaScript=true
14964
+ CssVersion=3
14965
+ supportsCSS=true
14966
+
14967
+ [Mozilla/5.0 (Macintosh; *; *Mac OS X*; *; rv:1.9.*) Gecko/* Firefox/3.5*]
14968
+ Parent=Firefox 3.5
14969
+ Platform=MacOSX
14970
+
14971
+ [Mozilla/5.0 (Windows; *; Windows NT 5.0; *; rv:1.9.*) Gecko/* Firefox/3.5*]
14972
+ Parent=Firefox 3.5
14973
+ Platform=Win2000
14974
+
14975
+ [Mozilla/5.0 (Windows; *; Windows NT 5.1; *; rv:1.9.*) Gecko/* Firefox/3.5*]
14976
+ Parent=Firefox 3.5
14977
+ Platform=WinXP
14978
+ Win32=true
14979
+
14980
+ [Mozilla/5.0 (Windows; *; Windows NT 5.2; *; rv:1.9.*) Gecko/* Firefox/3.5*]
14981
+ Parent=Firefox 3.5
14982
+ Platform=Win2003
14983
+ Win32=true
14984
+
14985
+ [Mozilla/5.0 (Windows; *; Windows NT 6.0; *; rv:1.9.*) Gecko/* Firefox/3.5*]
14986
+ Parent=Firefox 3.5
14987
+ Platform=WinVista
14988
+ Win32=true
14989
+
14990
+ [Mozilla/5.0 (Windows; *; Windows NT 6.1; *; rv:1.9.*) Gecko/* Firefox/3.5*]
14991
+ Parent=Firefox 3.5
14992
+ Platform=Win7
14993
+
14994
+ [Mozilla/5.0 (Windows; *; WinNT4.0; *; rv:1.9.*) Gecko/* Firefox/3.5*]
14995
+ Parent=Firefox 3.5
14996
+ Platform=WinNT
14997
+ Win32=true
14998
+
14999
+ [Mozilla/5.0 (Windows; U; Windows NT 5.1 x64; *; rv:1.9.*) Gecko/* Firefox/3.5*]
15000
+ Parent=Firefox 3.5
15001
+ Platform=WinXP
15002
+ Win32=false
15003
+ Win64=true
15004
+
15005
+ [Mozilla/5.0 (Windows; U; Windows NT 5.2 x64; *; rv:1.9.*) Gecko/* Firefox/3.5*]
15006
+ Parent=Firefox 3.5
15007
+ Platform=Win2003
15008
+ Win32=false
15009
+ Win64=true
15010
+
15011
+ [Mozilla/5.0 (Windows; U; Windows NT 6.0 x64; *; rv:1.9.*) Gecko/* Firefox/3.5*]
15012
+ Parent=Firefox 3.5
15013
+ Platform=WinVista
15014
+
15015
+ [Mozilla/5.0 (Windows; U; Windows NT 6.1 x64; *; rv:1.9.*) Gecko/* Firefox/3.5*]
15016
+ Parent=Firefox 3.5
15017
+ Platform=Win7
15018
+
15019
+ [Mozilla/5.0 (X11; *; *Linux*; *; rv:1.9.*) Gecko/* Firefox/3.5*]
15020
+ Parent=Firefox 3.5
15021
+ Platform=Linux
15022
+
15023
+ [Mozilla/5.0 (X11; *; FreeBSD*; *; rv:1.9.*) Gecko/* Firefox/3.5*]
15024
+ Parent=Firefox 3.5
15025
+ Platform=FreeBSD
15026
+
15027
+ [Mozilla/5.0 (X11; *; HP-UX*; *; rv:1.9.*) Gecko/* Firefox/3.5*]
15028
+ Parent=Firefox 3.5
15029
+ Platform=HP-UX
15030
+
15031
+ [Mozilla/5.0 (X11; *; IRIX64*; *; rv:1.9.*) Gecko/* Firefox/3.5*]
15032
+ Parent=Firefox 3.5
15033
+ Platform=IRIX64
15034
+
15035
+ [Mozilla/5.0 (X11; *; OpenBSD*; *; rv:1.9.*) Gecko/* Firefox/3.5*]
15036
+ Parent=Firefox 3.5
15037
+ Platform=OpenBSD
15038
+
15039
+ [Mozilla/5.0 (X11; *; SunOS*; *; rv:1.9.*) Gecko/* Firefox/3.5*]
15040
+ Parent=Firefox 3.5
15041
+ Platform=SunOS
15042
+
15043
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Firefox 3.6
15044
+
15045
+ [Firefox 3.6]
15046
+ Parent=DefaultProperties
15047
+ Browser="Firefox 3.6"
15048
+ Version=3.6
15049
+ MajorVer=3
15050
+ MinorVer=6
15051
+ Alpha=true
15052
+ Frames=true
15053
+ IFrames=true
15054
+ Tables=true
15055
+ Cookies=true
15056
+ JavaApplets=true
15057
+ JavaScript=true
15058
+ CssVersion=3
15059
+ supportsCSS=true
15060
+
15061
+ [Mozilla/5.0 (Macintosh; *; *Mac OS X*; *; rv:1.9.*) Gecko/* Minefield/3.6*]
15062
+ Parent=Firefox 3.6
15063
+ Platform=MacOSX
15064
+
15065
+ [Mozilla/5.0 (Windows; *; Windows NT 5.0; *; rv:1.9.*) Gecko/* Minefield/3.6*]
15066
+ Parent=Firefox 3.6
15067
+ Platform=Win2000
15068
+
15069
+ [Mozilla/5.0 (Windows; *; Windows NT 5.1; *; rv:1.9.*) Gecko/* Minefield/3.6*]
15070
+ Parent=Firefox 3.6
15071
+ Platform=WinXP
15072
+ Win32=true
15073
+
15074
+ [Mozilla/5.0 (Windows; *; Windows NT 5.2; *; rv:1.9.*) Gecko/* Minefield/3.6*]
15075
+ Parent=Firefox 3.6
15076
+ Platform=Win2003
15077
+ Win32=true
15078
+
15079
+ [Mozilla/5.0 (Windows; *; Windows NT 6.0; *; rv:1.9.*) Gecko/* Minefield/3.6*]
15080
+ Parent=Firefox 3.6
15081
+ Platform=WinVista
15082
+ Win32=true
15083
+
15084
+ [Mozilla/5.0 (Windows; *; Windows NT 6.1; *; rv:1.9.*) Gecko/* Minefield/3.6*]
15085
+ Parent=Firefox 3.6
15086
+ Platform=Win7
15087
+
15088
+ [Mozilla/5.0 (Windows; *; WinNT4.0; *; rv:1.9.*) Gecko/* Minefield/3.6*]
15089
+ Parent=Firefox 3.6
15090
+ Platform=WinNT
15091
+ Win32=true
15092
+
15093
+ [Mozilla/5.0 (Windows; U; Windows NT 5.1 x64; *; rv:1.9.*) Gecko/* Minefield/3.6*]
15094
+ Parent=Firefox 3.6
15095
+ Platform=WinXP
15096
+ Win32=false
15097
+ Win64=true
15098
+
15099
+ [Mozilla/5.0 (Windows; U; Windows NT 5.2 x64; *; rv:1.9.*) Gecko/* Minefield/3.6*]
15100
+ Parent=Firefox 3.6
15101
+ Platform=Win2003
15102
+ Win32=false
15103
+ Win64=true
15104
+
15105
+ [Mozilla/5.0 (Windows; U; Windows NT 6.0 x64; *; rv:1.9.*) Gecko/* Minefield/3.6*]
15106
+ Parent=Firefox 3.6
15107
+ Platform=WinVista
15108
+
15109
+ [Mozilla/5.0 (Windows; U; Windows NT 6.1 x64; *; rv:1.9.*) Gecko/* Minefield/3.6*]
15110
+ Parent=Firefox 3.6
15111
+ Platform=Win7
15112
+
15113
+ [Mozilla/5.0 (X11; *; *Linux*; *; rv:1.9.*) Gecko/* Minefield/3.6*]
15114
+ Parent=Firefox 3.6
15115
+ Platform=Linux
15116
+
15117
+ [Mozilla/5.0 (X11; *; FreeBSD*; *; rv:1.9.*) Gecko/* Minefield/3.6*]
15118
+ Parent=Firefox 3.6
15119
+ Platform=FreeBSD
15120
+
15121
+ [Mozilla/5.0 (X11; *; HP-UX*; *; rv:1.9.*) Gecko/* Minefield/3.6*]
15122
+ Parent=Firefox 3.6
15123
+ Platform=HP-UX
15124
+
15125
+ [Mozilla/5.0 (X11; *; IRIX64*; *; rv:1.9.*) Gecko/* Minefield/3.6*]
15126
+ Parent=Firefox 3.6
15127
+ Platform=IRIX64
15128
+
15129
+ [Mozilla/5.0 (X11; *; OpenBSD*; *; rv:1.9.*) Gecko/* Minefield/3.6*]
15130
+ Parent=Firefox 3.6
15131
+ Platform=OpenBSD
15132
+
15133
+ [Mozilla/5.0 (X11; *; SunOS*; *; rv:1.9.*) Gecko/* Minefield/3.6*]
15134
+ Parent=Firefox 3.6
15135
+ Platform=SunOS
15136
+
15137
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Thunderbird 1.0
15138
+
15139
+ [Thunderbird 1.0]
15140
+ Parent=DefaultProperties
15141
+ Browser="Thunderbird"
15142
+ Version=1.0
15143
+ MajorVer=1
15144
+ Frames=true
15145
+ IFrames=true
15146
+ Tables=true
15147
+ Cookies=true
15148
+ JavaApplets=true
15149
+ JavaScript=true
15150
+
15151
+ [Mozilla/5.0 (Macintosh; *Mac OS X; U; *; rv:1.9.*) Gecko/* Thunderbird/1.*]
15152
+ Parent=Thunderbird 1.0
15153
+ Platform=MacOSX
15154
+
15155
+ [Mozilla/5.0 (Windows; U; Windows NT 5.0; *; rv:1.9.*) Gecko/* Thunderbird/1.*]
15156
+ Parent=Thunderbird 1.0
15157
+ Platform=Win2000
15158
+
15159
+ [Mozilla/5.0 (Windows; U; Windows NT 5.1; *; rv:1.9.*) Gecko/* Thunderbird/1.*]
15160
+ Parent=Thunderbird 1.0
15161
+ Platform=WinXP
15162
+
15163
+ [Mozilla/5.0 (Windows; U; Windows NT 5.2; *; rv:1.9.*) Gecko/* Thunderbird/1.*]
15164
+ Parent=Thunderbird 1.0
15165
+ Platform=Win2003
15166
+
15167
+ [Mozilla/5.0 (Windows; U; Windows NT 6.0; *; rv:1.9.*) Gecko/* Thunderbird/1.*]
15168
+ Parent=Thunderbird 1.0
15169
+ Platform=WinVista
15170
+
15171
+ [Mozilla/5.0 (Windows; U; Windows NT 6.1; *; rv:1.9.*) Gecko/* Thunderbird/1.*]
15172
+ Parent=Thunderbird 1.0
15173
+ Platform=Win7
15174
+
15175
+ [Mozilla/5.0 (X11; U; Linux i686; *; rv:1.9.*) Gecko/* Thunderbird/1.*]
15176
+ Parent=Thunderbird 1.0
15177
+ Platform=Linux
15178
+
15179
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Thunderbird 2.0
15180
+
15181
+ [Thunderbird 2.0]
15182
+ Parent=DefaultProperties
15183
+ Browser="Thunderbird"
15184
+ Version=2.0
15185
+ MajorVer=2
15186
+ Frames=true
15187
+ IFrames=true
15188
+ Tables=true
15189
+ Cookies=true
15190
+ JavaApplets=true
15191
+ JavaScript=true
15192
+
15193
+ [Mozilla/5.0 (Macintosh; *Mac OS X; U; *; rv:1.9.*) Gecko/* Thunderbird/2.*]
15194
+ Parent=Thunderbird 2.0
15195
+ Platform=MacOSX
15196
+
15197
+ [Mozilla/5.0 (Windows; U; Windows NT 5.0; *; rv:1.9.*) Gecko/* Thunderbird/2.*]
15198
+ Parent=Thunderbird 2.0
15199
+ Platform=Win2000
15200
+
15201
+ [Mozilla/5.0 (Windows; U; Windows NT 5.1; *; rv:1.9.*) Gecko/* Thunderbird/2.*]
15202
+ Parent=Thunderbird 2.0
15203
+ Platform=WinXP
15204
+
15205
+ [Mozilla/5.0 (Windows; U; Windows NT 5.2; *; rv:1.9.*) Gecko/* Thunderbird/2.*]
15206
+ Parent=Thunderbird 2.0
15207
+ Platform=Win2003
15208
+
15209
+ [Mozilla/5.0 (Windows; U; Windows NT 6.0; *; rv:1.9.*) Gecko/* Thunderbird/2.*]
15210
+ Parent=Thunderbird 2.0
15211
+ Platform=WinVista
15212
+
15213
+ [Mozilla/5.0 (Windows; U; Windows NT 6.1; *; rv:1.9.*) Gecko/* Thunderbird/2.*]
15214
+ Parent=Thunderbird 2.0
15215
+ Platform=Win7
15216
+
15217
+ [Mozilla/5.0 (X11; U; Linux i686; *; rv:1.9.*) Gecko/* Thunderbird/2.*]
15218
+ Parent=Thunderbird 2.0
15219
+ Platform=Linux
15220
+
15221
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Thunderbird 3.0
15222
+
15223
+ [Thunderbird 3.0]
15224
+ Parent=DefaultProperties
15225
+ Browser="Thunderbird"
15226
+ Version=3.0
15227
+ MajorVer=3
15228
+ Frames=true
15229
+ IFrames=true
15230
+ Tables=true
15231
+ Cookies=true
15232
+ JavaApplets=true
15233
+ JavaScript=true
15234
+
15235
+ [Mozilla/5.0 (Macintosh; *Mac OS X; U; *; rv:1.9.*) Gecko/* Thunderbird/3.*]
15236
+ Parent=Thunderbird 3.0
15237
+ Platform=MacOSX
15238
+
15239
+ [Mozilla/5.0 (Windows; U; Windows NT 5.0; *; rv:1.9.*) Gecko/* Thunderbird/3.*]
15240
+ Parent=Thunderbird 3.0
15241
+ Platform=Win2000
15242
+
15243
+ [Mozilla/5.0 (Windows; U; Windows NT 5.1; *; rv:1.9.*) Gecko/* Thunderbird/3.*]
15244
+ Parent=Thunderbird 3.0
15245
+ Platform=WinXP
15246
+
15247
+ [Mozilla/5.0 (Windows; U; Windows NT 5.2; *; rv:1.9.*) Gecko/* Thunderbird/3.*]
15248
+ Parent=Thunderbird 3.0
15249
+ Platform=Win2003
15250
+
15251
+ [Mozilla/5.0 (Windows; U; Windows NT 6.0; *; rv:1.9.*) Gecko/* Thunderbird/3.*]
15252
+ Parent=Thunderbird 3.0
15253
+ Platform=WinVista
15254
+
15255
+ [Mozilla/5.0 (Windows; U; Windows NT 6.1; *; rv:1.9.*) Gecko/* Thunderbird/3.*]
15256
+ Parent=Thunderbird 3.0
15257
+ Platform=Win7
15258
+
15259
+ [Mozilla/5.0 (X11; U; Linux i686; *; rv:1.9.*) Gecko/* Thunderbird/3.*]
15260
+ Parent=Thunderbird 3.0
15261
+ Platform=Linux
15262
+
15263
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Iceweasel
15264
+
15265
+ [Iceweasel]
15266
+ Parent=DefaultProperties
15267
+ Browser="Iceweasel"
15268
+ Platform=Linux
15269
+ Beta=true
15270
+ Frames=true
15271
+ IFrames=true
15272
+ Tables=true
15273
+ Cookies=true
15274
+ JavaApplets=true
15275
+ JavaScript=true
15276
+ CssVersion=2
15277
+ supportsCSS=true
15278
+
15279
+ [Mozilla/5.0 (X11; U; Linux*; *; rv:1.8*) Gecko/* Iceweasel/2.0* (Debian-*)]
15280
+ Parent=Iceweasel
15281
+ Version=2.0
15282
+ MajorVer=2
15283
+ MinorVer=0
15284
+
15285
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Mozilla 1.0
15286
+
15287
+ [Mozilla 1.0]
15288
+ Parent=DefaultProperties
15289
+ Browser="Mozilla"
15290
+ Version=1.0
15291
+ MajorVer=1
15292
+ Beta=true
15293
+ Frames=true
15294
+ IFrames=true
15295
+ Tables=true
15296
+ Cookies=true
15297
+ JavaApplets=true
15298
+ JavaScript=true
15299
+ CssVersion=2
15300
+ supportsCSS=true
15301
+
15302
+ [Mozilla/5.0 (*rv:1.0.*) Gecko/*]
15303
+ Parent=Mozilla 1.0
15304
+
15305
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Mozilla 1.1
15306
+
15307
+ [Mozilla 1.1]
15308
+ Parent=DefaultProperties
15309
+ Browser="Mozilla"
15310
+ Version=1.1
15311
+ MajorVer=1
15312
+ MinorVer=1
15313
+ Beta=true
15314
+ Frames=true
15315
+ IFrames=true
15316
+ Tables=true
15317
+ Cookies=true
15318
+ JavaApplets=true
15319
+ JavaScript=true
15320
+ CssVersion=2
15321
+ supportsCSS=true
15322
+
15323
+ [Mozilla/5.0 (*rv:1.1.*) Gecko/*]
15324
+ Parent=Mozilla 1.1
15325
+
15326
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Mozilla 1.2
15327
+
15328
+ [Mozilla 1.2]
15329
+ Parent=DefaultProperties
15330
+ Browser="Mozilla"
15331
+ Version=1.2
15332
+ MajorVer=1
15333
+ MinorVer=2
15334
+ Beta=true
15335
+ Frames=true
15336
+ IFrames=true
15337
+ Tables=true
15338
+ Cookies=true
15339
+ JavaApplets=true
15340
+ JavaScript=true
15341
+ CssVersion=2
15342
+ supportsCSS=true
15343
+
15344
+ [Mozilla/5.0 (*rv:1.2.*) Gecko/*]
15345
+ Parent=Mozilla 1.2
15346
+
15347
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Mozilla 1.3
15348
+
15349
+ [Mozilla 1.3]
15350
+ Parent=DefaultProperties
15351
+ Browser="Mozilla"
15352
+ Version=1.3
15353
+ MajorVer=1
15354
+ MinorVer=3
15355
+ Beta=true
15356
+ Frames=true
15357
+ IFrames=true
15358
+ Tables=true
15359
+ Cookies=true
15360
+ JavaApplets=true
15361
+ JavaScript=true
15362
+ CssVersion=2
15363
+ supportsCSS=true
15364
+
15365
+ [Mozilla/5.0 (*rv:1.3.*) Gecko/*]
15366
+ Parent=Mozilla 1.3
15367
+
15368
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Mozilla 1.4
15369
+
15370
+ [Mozilla 1.4]
15371
+ Parent=DefaultProperties
15372
+ Browser="Mozilla"
15373
+ Version=1.4
15374
+ MajorVer=1
15375
+ MinorVer=4
15376
+ Beta=true
15377
+ Frames=true
15378
+ IFrames=true
15379
+ Tables=true
15380
+ Cookies=true
15381
+ JavaApplets=true
15382
+ JavaScript=true
15383
+ CssVersion=2
15384
+ supportsCSS=true
15385
+
15386
+ [Mozilla/5.0 (*rv:1.4*) Gecko/*]
15387
+ Parent=Mozilla 1.4
15388
+
15389
+ [Mozilla/5.0 (Macintosh; ?; *Mac OS X*; *rv:1.4*) Gecko/*]
15390
+ Parent=Mozilla 1.4
15391
+ Platform=MacOSX
15392
+
15393
+ [Mozilla/5.0 (Windows; ?; Win 9x 4.90; *rv:1.4*) Gecko/*]
15394
+ Parent=Mozilla 1.4
15395
+ Platform=WinME
15396
+ Win32=true
15397
+
15398
+ [Mozilla/5.0 (Windows; ?; Win3.1; *rv:1.4*) Gecko/*]
15399
+ Parent=Mozilla 1.4
15400
+ Platform=Win31
15401
+ Win32=true
15402
+
15403
+ [Mozilla/5.0 (Windows; ?; Win3.11; *rv:1.4*) Gecko/*]
15404
+ Parent=Mozilla 1.4
15405
+ Platform=Win31
15406
+ Win16=true
15407
+ Win32=true
15408
+
15409
+ [Mozilla/5.0 (Windows; ?; Win95; *rv:1.4*) Gecko/*]
15410
+ Parent=Mozilla 1.4
15411
+ Platform=Win95
15412
+ Win32=true
15413
+
15414
+ [Mozilla/5.0 (Windows; ?; Win98; *rv:1.4*) Gecko/*]
15415
+ Parent=Mozilla 1.4
15416
+ Platform=Win98
15417
+ Win32=true
15418
+
15419
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.0; *rv:1.4*) Gecko/*]
15420
+ Parent=Mozilla 1.4
15421
+ Platform=Win2000
15422
+ Win32=true
15423
+
15424
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:1.4*) Gecko/*]
15425
+ Parent=Mozilla 1.4
15426
+ Platform=WinXP
15427
+ Win32=true
15428
+
15429
+ [Mozilla/5.0 (Windows; ?; WinNT4.0; *rv:1.4*) Gecko/*]
15430
+ Parent=Mozilla 1.4
15431
+ Platform=WinNT
15432
+ Win32=true
15433
+
15434
+ [Mozilla/5.0 (X11; *FreeBSD*; *rv:1.4*) Gecko/*]
15435
+ Parent=Mozilla 1.4
15436
+ Platform=FreeBSD
15437
+
15438
+ [Mozilla/5.0 (X11; *Linux*; *rv:1.4*) Gecko/*]
15439
+ Parent=Mozilla 1.4
15440
+ Platform=Linux
15441
+
15442
+ [Mozilla/5.0 (X11; *OpenBSD*; *rv:1.4*) Gecko/*]
15443
+ Parent=Mozilla 1.4
15444
+ Platform=OpenBSD
15445
+
15446
+ [Mozilla/5.0 (X11; *SunOS*; *rv:1.4*) Gecko/*]
15447
+ Parent=Mozilla 1.4
15448
+ Platform=SunOS
15449
+
15450
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Mozilla 1.5
15451
+
15452
+ [Mozilla 1.5]
15453
+ Parent=DefaultProperties
15454
+ Browser="Mozilla"
15455
+ Version=1.5
15456
+ MajorVer=1
15457
+ MinorVer=5
15458
+ Beta=true
15459
+ Frames=true
15460
+ IFrames=true
15461
+ Tables=true
15462
+ Cookies=true
15463
+ JavaApplets=true
15464
+ JavaScript=true
15465
+ CssVersion=2
15466
+ supportsCSS=true
15467
+
15468
+ [Mozilla/5.0 (*rv:1.5*) Gecko/*]
15469
+ Parent=Mozilla 1.5
15470
+
15471
+ [Mozilla/5.0 (Macintosh; ?; *Mac OS X*; *rv:1.5*) Gecko/*]
15472
+ Parent=Mozilla 1.5
15473
+ Platform=MacOSX
15474
+
15475
+ [Mozilla/5.0 (Windows; ?; Win 9x 4.90; *rv:1.5*) Gecko/*]
15476
+ Parent=Mozilla 1.5
15477
+ Platform=WinME
15478
+ Win32=true
15479
+
15480
+ [Mozilla/5.0 (Windows; ?; Win3.1; *rv:1.5*) Gecko/*]
15481
+ Parent=Mozilla 1.5
15482
+ Platform=Win31
15483
+ Win32=true
15484
+
15485
+ [Mozilla/5.0 (Windows; ?; Win3.11; *rv:1.5*) Gecko/*]
15486
+ Parent=Mozilla 1.5
15487
+ Platform=Win31
15488
+ Win16=true
15489
+ Win32=true
15490
+
15491
+ [Mozilla/5.0 (Windows; ?; Win95; *rv:1.5*) Gecko/*]
15492
+ Parent=Mozilla 1.5
15493
+ Platform=Win95
15494
+ Win32=true
15495
+
15496
+ [Mozilla/5.0 (Windows; ?; Win98; *rv:1.5*) Gecko/*]
15497
+ Parent=Mozilla 1.5
15498
+ Platform=Win98
15499
+ Win32=true
15500
+
15501
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.0; *rv:1.5*) Gecko/*]
15502
+ Parent=Mozilla 1.5
15503
+ Platform=Win2000
15504
+ Win32=true
15505
+
15506
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:1.5*) Gecko/*]
15507
+ Parent=Mozilla 1.5
15508
+ Platform=WinXP
15509
+ Win32=true
15510
+
15511
+ [Mozilla/5.0 (Windows; ?; WinNT4.0; *rv:1.5*) Gecko/*]
15512
+ Parent=Mozilla 1.5
15513
+ Platform=WinNT
15514
+ Win32=true
15515
+
15516
+ [Mozilla/5.0 (X11; *FreeBSD*; *rv:1.5*) Gecko/*]
15517
+ Parent=Mozilla 1.5
15518
+ Platform=FreeBSD
15519
+
15520
+ [Mozilla/5.0 (X11; *Linux*; *rv:1.5*) Gecko/*]
15521
+ Parent=Mozilla 1.5
15522
+ Platform=Linux
15523
+
15524
+ [Mozilla/5.0 (X11; *OpenBSD*; *rv:1.5*) Gecko/*]
15525
+ Parent=Mozilla 1.5
15526
+ Platform=OpenBSD
15527
+
15528
+ [Mozilla/5.0 (X11; *SunOS*; *rv:1.5*) Gecko/*]
15529
+ Parent=Mozilla 1.5
15530
+ Platform=SunOS
15531
+
15532
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Mozilla 1.6
15533
+
15534
+ [Mozilla 1.6]
15535
+ Parent=DefaultProperties
15536
+ Browser="Mozilla"
15537
+ Version=1.6
15538
+ MajorVer=1
15539
+ MinorVer=6
15540
+ Beta=true
15541
+ Frames=true
15542
+ IFrames=true
15543
+ Tables=true
15544
+ Cookies=true
15545
+ JavaApplets=true
15546
+ JavaScript=true
15547
+ CssVersion=2
15548
+ supportsCSS=true
15549
+
15550
+ [Mozilla/5.0 (*rv:1.6*) Gecko/*]
15551
+ Parent=Mozilla 1.6
15552
+
15553
+ [Mozilla/5.0 (Macintosh; ?; *Mac OS X*; *rv:1.6*) Gecko/*]
15554
+ Parent=Mozilla 1.6
15555
+ Platform=MacOSX
15556
+
15557
+ [Mozilla/5.0 (Windows; ?; Win 9x 4.90; *rv:1.6*) Gecko/*]
15558
+ Parent=Mozilla 1.6
15559
+ Platform=WinME
15560
+ Win32=true
15561
+
15562
+ [Mozilla/5.0 (Windows; ?; Win3.1; *rv:1.6*) Gecko/*]
15563
+ Parent=Mozilla 1.6
15564
+ Platform=Win31
15565
+ Win32=true
15566
+
15567
+ [Mozilla/5.0 (Windows; ?; Win3.11; *rv:1.6*) Gecko/*]
15568
+ Parent=Mozilla 1.6
15569
+ Platform=Win31
15570
+ Win16=true
15571
+ Win32=true
15572
+
15573
+ [Mozilla/5.0 (Windows; ?; Win95; *rv:1.6*) Gecko/*]
15574
+ Parent=Mozilla 1.6
15575
+ Platform=Win95
15576
+ Win32=true
15577
+
15578
+ [Mozilla/5.0 (Windows; ?; Win98; *rv:1.6*) Gecko/*]
15579
+ Parent=Mozilla 1.6
15580
+ Platform=Win98
15581
+ Win32=true
15582
+
15583
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.0; *rv:1.6*) Gecko/*]
15584
+ Parent=Mozilla 1.6
15585
+ Platform=Win2000
15586
+ Win32=true
15587
+
15588
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:1.6*) Gecko/*]
15589
+ Parent=Mozilla 1.6
15590
+ Platform=WinXP
15591
+ Win32=true
15592
+
15593
+ [Mozilla/5.0 (Windows; ?; WinNT4.0; *rv:1.6*) Gecko/*]
15594
+ Parent=Mozilla 1.6
15595
+ Platform=WinNT
15596
+ Win32=true
15597
+
15598
+ [Mozilla/5.0 (X11; *FreeBSD*; *rv:1.6*) Gecko/*]
15599
+ Parent=Mozilla 1.6
15600
+ Platform=FreeBSD
15601
+
15602
+ [Mozilla/5.0 (X11; *Linux*; *rv:1.6*) Gecko/*]
15603
+ Parent=Mozilla 1.6
15604
+ Platform=Linux
15605
+
15606
+ [Mozilla/5.0 (X11; *OpenBSD*; *rv:1.6*) Gecko/*]
15607
+ Parent=Mozilla 1.6
15608
+ Platform=OpenBSD
15609
+
15610
+ [Mozilla/5.0 (X11; *SunOS*; *rv:1.6*) Gecko/*]
15611
+ Parent=Mozilla 1.6
15612
+ Platform=SunOS
15613
+
15614
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Mozilla 1.7
15615
+
15616
+ [Mozilla 1.7]
15617
+ Parent=DefaultProperties
15618
+ Browser="Mozilla"
15619
+ Version=1.7
15620
+ MajorVer=1
15621
+ MinorVer=7
15622
+ Beta=true
15623
+ Frames=true
15624
+ IFrames=true
15625
+ Tables=true
15626
+ Cookies=true
15627
+ JavaApplets=true
15628
+ JavaScript=true
15629
+ CssVersion=2
15630
+ supportsCSS=true
15631
+
15632
+ [Mozilla/5.0 (*rv:1.7*) Gecko/*]
15633
+ Parent=Mozilla 1.7
15634
+
15635
+ [Mozilla/5.0 (Macintosh; ?; *Mac OS X*; *rv:1.7*) Gecko/*]
15636
+ Parent=Mozilla 1.7
15637
+ Platform=MacOSX
15638
+
15639
+ [Mozilla/5.0 (Windows; ?; Win 9x 4.90; *rv:1.7*) Gecko/*]
15640
+ Parent=Mozilla 1.7
15641
+ Platform=WinME
15642
+ Win32=true
15643
+
15644
+ [Mozilla/5.0 (Windows; ?; Win3.1; *rv:1.7*) Gecko/*]
15645
+ Parent=Mozilla 1.7
15646
+ Platform=Win31
15647
+ Win32=true
15648
+
15649
+ [Mozilla/5.0 (Windows; ?; Win3.11; *rv:1.7*) Gecko/*]
15650
+ Parent=Mozilla 1.7
15651
+ Platform=Win31
15652
+ Win16=true
15653
+ Win32=true
15654
+
15655
+ [Mozilla/5.0 (Windows; ?; Win95; *rv:1.7*) Gecko/*]
15656
+ Parent=Mozilla 1.7
15657
+ Platform=Win95
15658
+ Win32=true
15659
+
15660
+ [Mozilla/5.0 (Windows; ?; Win98; *rv:1.7*) Gecko/*]
15661
+ Parent=Mozilla 1.7
15662
+ Platform=Win98
15663
+ Win32=true
15664
+
15665
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.0; *rv:1.7*) Gecko/*]
15666
+ Parent=Mozilla 1.7
15667
+ Platform=Win2000
15668
+ Win32=true
15669
+
15670
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:1.7*) Gecko/*]
15671
+ Parent=Mozilla 1.7
15672
+ Platform=WinXP
15673
+ Win32=true
15674
+
15675
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.2; *rv:1.7*) Gecko/*]
15676
+ Parent=Mozilla 1.7
15677
+ Platform=Win2003
15678
+ Win32=true
15679
+
15680
+ [Mozilla/5.0 (Windows; ?; WinNT4.0; *rv:1.7*) Gecko/*]
15681
+ Parent=Mozilla 1.7
15682
+ Platform=WinNT
15683
+ Win32=true
15684
+
15685
+ [Mozilla/5.0 (X11; *FreeBSD*; *rv:1.7*) Gecko/*]
15686
+ Parent=Mozilla 1.7
15687
+ Platform=FreeBSD
15688
+
15689
+ [Mozilla/5.0 (X11; *Linux*; *rv:1.7*) Gecko/*]
15690
+ Parent=Mozilla 1.7
15691
+ Platform=Linux
15692
+
15693
+ [Mozilla/5.0 (X11; *OpenBSD*; *rv:1.7*) Gecko/*]
15694
+ Parent=Mozilla 1.7
15695
+ Platform=OpenBSD
15696
+
15697
+ [Mozilla/5.0 (X11; *SunOS*; *rv:1.7*) Gecko/*]
15698
+ Parent=Mozilla 1.7
15699
+ Platform=SunOS
15700
+
15701
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Mozilla 1.8
15702
+
15703
+ [Mozilla 1.8]
15704
+ Parent=DefaultProperties
15705
+ Browser="Mozilla"
15706
+ Version=1.8
15707
+ MajorVer=1
15708
+ MinorVer=8
15709
+ Frames=true
15710
+ IFrames=true
15711
+ Tables=true
15712
+ Cookies=true
15713
+ JavaApplets=true
15714
+ JavaScript=true
15715
+ CssVersion=2
15716
+ supportsCSS=true
15717
+
15718
+ [Mozilla/5.0 (*rv:1.8*) Gecko/*]
15719
+ Parent=Mozilla 1.8
15720
+
15721
+ [Mozilla/5.0 (Macintosh; ?; *Mac OS X*; *rv:1.8*) Gecko/*]
15722
+ Parent=Mozilla 1.8
15723
+ Platform=MacOSX
15724
+
15725
+ [Mozilla/5.0 (Windows; ?; Win 9x 4.90; *rv:1.8*) Gecko/*]
15726
+ Parent=Mozilla 1.8
15727
+ Platform=WinME
15728
+ Win32=true
15729
+
15730
+ [Mozilla/5.0 (Windows; ?; Win3.1; *rv:1.8*) Gecko/*]
15731
+ Parent=Mozilla 1.8
15732
+ Win32=true
15733
+
15734
+ [Mozilla/5.0 (Windows; ?; Win3.11; *rv:1.8*) Gecko/*]
15735
+ Parent=Mozilla 1.8
15736
+ Platform=Win31
15737
+ Win16=true
15738
+ Win32=true
15739
+
15740
+ [Mozilla/5.0 (Windows; ?; Win95; *rv:1.8*) Gecko/*]
15741
+ Parent=Mozilla 1.8
15742
+ Platform=Win95
15743
+ Win32=true
15744
+
15745
+ [Mozilla/5.0 (Windows; ?; Win98; *rv:1.8*) Gecko/*]
15746
+ Parent=Mozilla 1.8
15747
+ Platform=Win98
15748
+ Win32=true
15749
+
15750
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.0; *rv:1.8*) Gecko/*]
15751
+ Parent=Mozilla 1.8
15752
+ Platform=Win2000
15753
+ Win32=true
15754
+
15755
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:1.8*) Gecko/*]
15756
+ Parent=Mozilla 1.8
15757
+ Platform=WinXP
15758
+ Win32=true
15759
+
15760
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.2; *rv:1.8*) Gecko/*]
15761
+ Parent=Mozilla 1.8
15762
+ Platform=Win2003
15763
+ Win32=true
15764
+
15765
+ [Mozilla/5.0 (Windows; ?; WinNT4.0; *rv:1.8*) Gecko/*]
15766
+ Parent=Mozilla 1.8
15767
+ Platform=WinNT
15768
+ Win32=true
15769
+
15770
+ [Mozilla/5.0 (X11; *FreeBSD*; *rv:1.8*) Gecko/*]
15771
+ Parent=Mozilla 1.8
15772
+ Platform=FreeBSD
15773
+
15774
+ [Mozilla/5.0 (X11; *Linux*; *rv:1.8*) Gecko/*]
15775
+ Parent=Mozilla 1.8
15776
+ Platform=Linux
15777
+
15778
+ [Mozilla/5.0 (X11; *OpenBSD*; *rv:1.8*) Gecko/*]
15779
+ Parent=Mozilla 1.8
15780
+ Platform=OpenBSD
15781
+
15782
+ [Mozilla/5.0 (X11; *SunOS*; *rv:1.8*) Gecko/*]
15783
+ Parent=Mozilla 1.8
15784
+ Platform=SunOS
15785
+
15786
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Mozilla 1.9
15787
+
15788
+ [Mozilla 1.9]
15789
+ Parent=DefaultProperties
15790
+ Browser="Mozilla"
15791
+ Version=1.9
15792
+ MajorVer=1
15793
+ MinorVer=9
15794
+ Alpha=true
15795
+ Frames=true
15796
+ IFrames=true
15797
+ Tables=true
15798
+ Cookies=true
15799
+ JavaApplets=true
15800
+ JavaScript=true
15801
+ CssVersion=2
15802
+ supportsCSS=true
15803
+
15804
+ [Mozilla/5.0 (*rv:1.9*) Gecko/*]
15805
+ Parent=Mozilla 1.9
15806
+
15807
+ [Mozilla/5.0 (Macintosh; ?; *Mac OS X*; *rv:1.9*) Gecko/*]
15808
+ Parent=Mozilla 1.9
15809
+ Platform=MacOSX
15810
+
15811
+ [Mozilla/5.0 (Windows; ?; Win 9x 4.90; *rv:1.9*) Gecko/*]
15812
+ Parent=Mozilla 1.9
15813
+ Platform=WinME
15814
+ Win32=true
15815
+
15816
+ [Mozilla/5.0 (Windows; ?; Win3.1; *rv:1.9*) Gecko/*]
15817
+ Parent=Mozilla 1.9
15818
+ Win32=true
15819
+
15820
+ [Mozilla/5.0 (Windows; ?; Win3.11; *rv:1.9*) Gecko/*]
15821
+ Parent=Mozilla 1.9
15822
+ Platform=Win31
15823
+ Win16=true
15824
+ Win32=true
15825
+
15826
+ [Mozilla/5.0 (Windows; ?; Win95; *rv:1.9*) Gecko/*]
15827
+ Parent=Mozilla 1.9
15828
+ Platform=Win95
15829
+ Win32=true
15830
+
15831
+ [Mozilla/5.0 (Windows; ?; Win98; *rv:1.9*) Gecko/*]
15832
+ Parent=Mozilla 1.9
15833
+ Platform=Win98
15834
+ Win32=true
15835
+
15836
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.0; *rv:1.9*) Gecko/*]
15837
+ Parent=Mozilla 1.9
15838
+ Platform=Win2000
15839
+ Win32=true
15840
+
15841
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:1.9*) Gecko/*]
15842
+ Parent=Mozilla 1.9
15843
+ Platform=WinXP
15844
+ Win32=true
15845
+
15846
+ [Mozilla/5.0 (Windows; ?; Windows NT 5.2; *rv:1.9*) Gecko/*]
15847
+ Parent=Mozilla 1.9
15848
+ Platform=Win2003
15849
+ Win32=true
15850
+
15851
+ [Mozilla/5.0 (Windows; ?; WinNT4.0; *rv:1.9*) Gecko/*]
15852
+ Parent=Mozilla 1.9
15853
+ Platform=WinNT
15854
+ Win32=true
15855
+
15856
+ [Mozilla/5.0 (X11; *FreeBSD*; *rv:1.9*) Gecko/*]
15857
+ Parent=Mozilla 1.9
15858
+ Platform=FreeBSD
15859
+
15860
+ [Mozilla/5.0 (X11; *Linux*; *rv:1.9*) Gecko/*]
15861
+ Parent=Mozilla 1.9
15862
+ Platform=Linux
15863
+
15864
+ [Mozilla/5.0 (X11; *OpenBSD*; *rv:1.9*) Gecko/*]
15865
+ Parent=Mozilla 1.9
15866
+ Platform=OpenBSD
15867
+
15868
+ [Mozilla/5.0 (X11; *SunOS*; *rv:1.9*) Gecko/*]
15869
+ Parent=Mozilla 1.9
15870
+ Platform=SunOS
15871
+
15872
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; IE Mac
15873
+
15874
+ [IE Mac]
15875
+ Parent=DefaultProperties
15876
+ Browser="IE"
15877
+ Platform=MacPPC
15878
+ Frames=true
15879
+ IFrames=true
15880
+ Tables=true
15881
+ Cookies=true
15882
+ BackgroundSounds=true
15883
+ CDF=true
15884
+ JavaApplets=true
15885
+ JavaScript=true
15886
+ CssVersion=1
15887
+ supportsCSS=true
15888
+
15889
+ [Mozilla/?.? (compatible; MSIE 4.0*; *Mac_PowerPC*]
15890
+ Parent=IE Mac
15891
+ Version=4.0
15892
+ MajorVer=4
15893
+ MinorVer=0
15894
+
15895
+ [Mozilla/?.? (compatible; MSIE 4.5*; *Mac_PowerPC*]
15896
+ Parent=IE Mac
15897
+ Version=4.5
15898
+ MajorVer=4
15899
+ MinorVer=5
15900
+
15901
+ [Mozilla/?.? (compatible; MSIE 5.0*; *Mac_PowerPC*]
15902
+ Parent=IE Mac
15903
+ Version=5.0
15904
+ MajorVer=5
15905
+ MinorVer=0
15906
+
15907
+ [Mozilla/?.? (compatible; MSIE 5.1*; *Mac_PowerPC*]
15908
+ Parent=IE Mac
15909
+ Version=5.1
15910
+ MajorVer=5
15911
+ MinorVer=1
15912
+
15913
+ [Mozilla/?.? (compatible; MSIE 5.2*; *Mac_PowerPC*]
15914
+ Parent=IE Mac
15915
+ Version=5.2
15916
+ MajorVer=5
15917
+ MinorVer=2
15918
+
15919
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; AOL 9.0/IE 5.5
15920
+
15921
+ [AOL 9.0/IE 5.5]
15922
+ Parent=DefaultProperties
15923
+ Browser="AOL"
15924
+ Version=5.5
15925
+ MajorVer=5
15926
+ MinorVer=5
15927
+ Win32=true
15928
+ Frames=true
15929
+ IFrames=true
15930
+ Tables=true
15931
+ Cookies=true
15932
+ BackgroundSounds=true
15933
+ CDF=true
15934
+ VBScript=true
15935
+ JavaApplets=true
15936
+ JavaScript=true
15937
+ ActiveXControls=true
15938
+ CssVersion=2
15939
+ supportsCSS=true
15940
+ AOL=true
15941
+ aolVersion=9.0
15942
+
15943
+ [Mozilla/?.* (?compatible; *MSIE 5.5; *AOL 9.0*)*]
15944
+ Parent=AOL 9.0/IE 5.5
15945
+
15946
+ [Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Win 9x 4.90*)*]
15947
+ Parent=AOL 9.0/IE 5.5
15948
+ Platform=WinME
15949
+
15950
+ [Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows 95*)*]
15951
+ Parent=AOL 9.0/IE 5.5
15952
+ Platform=Win95
15953
+
15954
+ [Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows 98*)*]
15955
+ Parent=AOL 9.0/IE 5.5
15956
+ Platform=Win98
15957
+
15958
+ [Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows 98*.NET CLR 1*)*]
15959
+ Parent=AOL 9.0/IE 5.5
15960
+
15961
+ [Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows 98*.NET CLR 1*.NET CLR 2*)*]
15962
+ Parent=AOL 9.0/IE 5.5
15963
+
15964
+ [Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows 98*.NET CLR 2*)*]
15965
+ Parent=AOL 9.0/IE 5.5
15966
+ CssVersion=2
15967
+ supportsCSS=true
15968
+
15969
+ [Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows 98*.NET CLR 2*.NET CLR 1*)*]
15970
+ Parent=AOL 9.0/IE 5.5
15971
+
15972
+ [Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows 98; Win 9x 4.90*)*]
15973
+ Parent=AOL 9.0/IE 5.5
15974
+ Platform=WinME
15975
+
15976
+ [Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows 98; Win 9x 4.90*.NET CLR 1*)*]
15977
+ Parent=AOL 9.0/IE 5.5
15978
+ Platform=WinME
15979
+
15980
+ [Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows 98; Win 9x 4.90*.NET CLR 1*.NET CLR 2*)*]
15981
+ Parent=AOL 9.0/IE 5.5
15982
+ Platform=WinME
15983
+
15984
+ [Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows 98; Win 9x 4.90*.NET CLR 2*)*]
15985
+ Parent=AOL 9.0/IE 5.5
15986
+ Platform=WinME
15987
+
15988
+ [Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows 98; Win 9x 4.90*.NET CLR 2*.NET CLR 1*)*]
15989
+ Parent=AOL 9.0/IE 5.5
15990
+ Platform=WinME
15991
+
15992
+ [Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 4.0*)*]
15993
+ Parent=AOL 9.0/IE 5.5
15994
+ Platform=WinNT
15995
+
15996
+ [Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 5.0*)*]
15997
+ Parent=AOL 9.0/IE 5.5
15998
+ Platform=Win2000
15999
+
16000
+ [Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 5.0*.NET CLR 1*)*]
16001
+ Parent=AOL 9.0/IE 5.5
16002
+ Platform=Win2000
16003
+
16004
+ [Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 5.0*.NET CLR 1*.NET CLR 2*)*]
16005
+ Parent=AOL 9.0/IE 5.5
16006
+ Platform=Win2000
16007
+
16008
+ [Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 5.0*.NET CLR 2*)*]
16009
+ Parent=AOL 9.0/IE 5.5
16010
+ Platform=Win2000
16011
+
16012
+ [Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 5.0*.NET CLR 2*.NET CLR 1*)*]
16013
+ Parent=AOL 9.0/IE 5.5
16014
+ Platform=Win2000
16015
+
16016
+ [Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 5.01*)*]
16017
+ Parent=AOL 9.0/IE 5.5
16018
+ Platform=Win2000
16019
+
16020
+ [Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 5.01*.NET CLR 1*)*]
16021
+ Parent=AOL 9.0/IE 5.5
16022
+ Platform=Win2000
16023
+
16024
+ [Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 5.01*.NET CLR 1*.NET CLR 2*)*]
16025
+ Parent=AOL 9.0/IE 5.5
16026
+ Platform=Win2000
16027
+
16028
+ [Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 5.01*.NET CLR 2*)*]
16029
+ Parent=AOL 9.0/IE 5.5
16030
+ Platform=Win2000
16031
+
16032
+ [Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 5.01*.NET CLR 2*.NET CLR 1*)*]
16033
+ Parent=AOL 9.0/IE 5.5
16034
+ Platform=Win2000
16035
+
16036
+ [Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 5.1*)*]
16037
+ Parent=AOL 9.0/IE 5.5
16038
+ Platform=WinXP
16039
+
16040
+ [Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 5.1*.NET CLR 1*)*]
16041
+ Parent=AOL 9.0/IE 5.5
16042
+ Platform=WinXP
16043
+
16044
+ [Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 5.1*.NET CLR 1*.NET CLR 2*)*]
16045
+ Parent=AOL 9.0/IE 5.5
16046
+ Platform=WinXP
16047
+
16048
+ [Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 5.1*.NET CLR 2*)*]
16049
+ Parent=AOL 9.0/IE 5.5
16050
+ Platform=WinXP
16051
+
16052
+ [Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 5.1*.NET CLR 2*.NET CLR 1*)*]
16053
+ Parent=AOL 9.0/IE 5.5
16054
+ Platform=WinXP
16055
+
16056
+ [Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 5.2*)*]
16057
+ Parent=AOL 9.0/IE 5.5
16058
+ Platform=Win2003
16059
+
16060
+ [Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 5.2*.NET CLR 1*)*]
16061
+ Parent=AOL 9.0/IE 5.5
16062
+ Platform=Win2003
16063
+
16064
+ [Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 5.2*.NET CLR 1*.NET CLR 2*)*]
16065
+ Parent=AOL 9.0/IE 5.5
16066
+ Platform=Win2003
16067
+
16068
+ [Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 5.2*.NET CLR 2*)*]
16069
+ Parent=AOL 9.0/IE 5.5
16070
+ Platform=Win2003
16071
+
16072
+ [Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 5.2*.NET CLR 2*.NET CLR 1*)*]
16073
+ Parent=AOL 9.0/IE 5.5
16074
+ Platform=Win2003
16075
+
16076
+ [Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 6.0*)*]
16077
+ Parent=AOL 9.0/IE 5.5
16078
+ Platform=WinVista
16079
+
16080
+ [Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 6.0*.NET CLR 1*)*]
16081
+ Parent=AOL 9.0/IE 5.5
16082
+ Platform=WinVista
16083
+
16084
+ [Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 6.0*.NET CLR 1*.NET CLR 2*)*]
16085
+ Parent=AOL 9.0/IE 5.5
16086
+ Platform=WinVista
16087
+
16088
+ [Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 6.0*.NET CLR 2*)*]
16089
+ Parent=AOL 9.0/IE 5.5
16090
+ Platform=WinVista
16091
+
16092
+ [Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 6.0*.NET CLR 2*.NET CLR 1*)*]
16093
+ Parent=AOL 9.0/IE 5.5
16094
+ Platform=WinVista
16095
+
16096
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; AOL 9.0/IE 6.0
16097
+
16098
+ [AOL 9.0/IE 6.0]
16099
+ Parent=DefaultProperties
16100
+ Browser="AOL"
16101
+ Version=6.0
16102
+ MajorVer=6
16103
+ Win32=true
16104
+ Frames=true
16105
+ IFrames=true
16106
+ Tables=true
16107
+ Cookies=true
16108
+ BackgroundSounds=true
16109
+ CDF=true
16110
+ VBScript=true
16111
+ JavaApplets=true
16112
+ JavaScript=true
16113
+ ActiveXControls=true
16114
+ CssVersion=2
16115
+ supportsCSS=true
16116
+ AOL=true
16117
+ aolVersion=9.0
16118
+
16119
+ [Mozilla/?.* (?compatible; *MSIE 6.0; *AOL 9.0*)*]
16120
+ Parent=AOL 9.0/IE 6.0
16121
+
16122
+ [Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Win 9x 4.90*)*]
16123
+ Parent=AOL 9.0/IE 6.0
16124
+ Platform=WinME
16125
+
16126
+ [Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows 95*)*]
16127
+ Parent=AOL 9.0/IE 6.0
16128
+ Platform=Win95
16129
+
16130
+ [Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows 98*)*]
16131
+ Parent=AOL 9.0/IE 6.0
16132
+ Platform=Win98
16133
+
16134
+ [Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows 98*.NET CLR 1*)*]
16135
+ Parent=AOL 9.0/IE 6.0
16136
+
16137
+ [Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows 98*.NET CLR 1*.NET CLR 2*)*]
16138
+ Parent=AOL 9.0/IE 6.0
16139
+
16140
+ [Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows 98*.NET CLR 2*)*]
16141
+ Parent=AOL 9.0/IE 6.0
16142
+ CssVersion=2
16143
+ supportsCSS=true
16144
+
16145
+ [Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows 98*.NET CLR 2*.NET CLR 1*)*]
16146
+ Parent=AOL 9.0/IE 6.0
16147
+
16148
+ [Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows 98; Win 9x 4.90*)*]
16149
+ Parent=AOL 9.0/IE 6.0
16150
+ Platform=WinME
16151
+
16152
+ [Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows 98; Win 9x 4.90*.NET CLR 1*)*]
16153
+ Parent=AOL 9.0/IE 6.0
16154
+ Platform=WinME
16155
+
16156
+ [Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows 98; Win 9x 4.90*.NET CLR 1*.NET CLR 2*)*]
16157
+ Parent=AOL 9.0/IE 6.0
16158
+ Platform=WinME
16159
+
16160
+ [Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows 98; Win 9x 4.90*.NET CLR 2*)*]
16161
+ Parent=AOL 9.0/IE 6.0
16162
+ Platform=WinME
16163
+
16164
+ [Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows 98; Win 9x 4.90*.NET CLR 2*.NET CLR 1*)*]
16165
+ Parent=AOL 9.0/IE 6.0
16166
+ Platform=WinME
16167
+
16168
+ [Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 4.0*)*]
16169
+ Parent=AOL 9.0/IE 6.0
16170
+ Platform=WinNT
16171
+
16172
+ [Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 5.0*)*]
16173
+ Parent=AOL 9.0/IE 6.0
16174
+ Platform=Win2000
16175
+
16176
+ [Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 5.0*.NET CLR 1*)*]
16177
+ Parent=AOL 9.0/IE 6.0
16178
+ Platform=Win2000
16179
+
16180
+ [Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 5.0*.NET CLR 1*.NET CLR 2*)*]
16181
+ Parent=AOL 9.0/IE 6.0
16182
+ Platform=Win2000
16183
+
16184
+ [Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 5.0*.NET CLR 2*)*]
16185
+ Parent=AOL 9.0/IE 6.0
16186
+ Platform=Win2000
16187
+
16188
+ [Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 5.0*.NET CLR 2*.NET CLR 1*)*]
16189
+ Parent=AOL 9.0/IE 6.0
16190
+ Platform=Win2000
16191
+
16192
+ [Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 5.01*)*]
16193
+ Parent=AOL 9.0/IE 6.0
16194
+ Platform=Win2000
16195
+
16196
+ [Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 5.01*.NET CLR 1*)*]
16197
+ Parent=AOL 9.0/IE 6.0
16198
+ Platform=Win2000
16199
+
16200
+ [Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 5.01*.NET CLR 1*.NET CLR 2*)*]
16201
+ Parent=AOL 9.0/IE 6.0
16202
+ Platform=Win2000
16203
+
16204
+ [Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 5.01*.NET CLR 2*)*]
16205
+ Parent=AOL 9.0/IE 6.0
16206
+ Platform=Win2000
16207
+
16208
+ [Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 5.01*.NET CLR 2*.NET CLR 1*)*]
16209
+ Parent=AOL 9.0/IE 6.0
16210
+ Platform=Win2000
16211
+
16212
+ [Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 5.1*)*]
16213
+ Parent=AOL 9.0/IE 6.0
16214
+ Platform=WinXP
16215
+
16216
+ [Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 5.1*.NET CLR 1*)*]
16217
+ Parent=AOL 9.0/IE 6.0
16218
+ Platform=WinXP
16219
+
16220
+ [Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 5.1*.NET CLR 1*.NET CLR 2*)*]
16221
+ Parent=AOL 9.0/IE 6.0
16222
+ Platform=WinXP
16223
+
16224
+ [Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 5.1*.NET CLR 2*)*]
16225
+ Parent=AOL 9.0/IE 6.0
16226
+ Platform=WinXP
16227
+
16228
+ [Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 5.1*.NET CLR 2*.NET CLR 1*)*]
16229
+ Parent=AOL 9.0/IE 6.0
16230
+ Platform=WinXP
16231
+
16232
+ [Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 5.2*)*]
16233
+ Parent=AOL 9.0/IE 6.0
16234
+ Platform=Win2003
16235
+
16236
+ [Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 5.2*.NET CLR 1*)*]
16237
+ Parent=AOL 9.0/IE 6.0
16238
+ Platform=Win2003
16239
+
16240
+ [Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 5.2*.NET CLR 1*.NET CLR 2*)*]
16241
+ Parent=AOL 9.0/IE 6.0
16242
+ Platform=Win2003
16243
+
16244
+ [Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 5.2*.NET CLR 2*)*]
16245
+ Parent=AOL 9.0/IE 6.0
16246
+ Platform=Win2003
16247
+
16248
+ [Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 5.2*.NET CLR 2*.NET CLR 1*)*]
16249
+ Parent=AOL 9.0/IE 6.0
16250
+ Platform=Win2003
16251
+
16252
+ [Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 6.0*)*]
16253
+ Parent=AOL 9.0/IE 6.0
16254
+ Platform=WinVista
16255
+
16256
+ [Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 6.0*.NET CLR 1*)*]
16257
+ Parent=AOL 9.0/IE 6.0
16258
+ Platform=WinVista
16259
+
16260
+ [Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 6.0*.NET CLR 1*.NET CLR 2*)*]
16261
+ Parent=AOL 9.0/IE 6.0
16262
+ Platform=WinVista
16263
+
16264
+ [Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 6.0*.NET CLR 2*)*]
16265
+ Parent=AOL 9.0/IE 6.0
16266
+ Platform=WinVista
16267
+
16268
+ [Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 6.0*.NET CLR 2*.NET CLR 1*)*]
16269
+ Parent=AOL 9.0/IE 6.0
16270
+ Platform=WinVista
16271
+
16272
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; AOL 9.0/IE 7.0
16273
+
16274
+ [AOL 9.0/IE 7.0]
16275
+ Parent=DefaultProperties
16276
+ Browser="AOL"
16277
+ Version=7.0
16278
+ MajorVer=7
16279
+ Win32=true
16280
+ Frames=true
16281
+ IFrames=true
16282
+ Tables=true
16283
+ Cookies=true
16284
+ BackgroundSounds=true
16285
+ CDF=true
16286
+ VBScript=true
16287
+ JavaApplets=true
16288
+ JavaScript=true
16289
+ ActiveXControls=true
16290
+ CssVersion=2
16291
+ supportsCSS=true
16292
+ AOL=true
16293
+ aolVersion=9.0
16294
+
16295
+ [Mozilla/?.* (?compatible; *MSIE 7.0; *AOL 9.0*)*]
16296
+ Parent=AOL 9.0/IE 7.0
16297
+
16298
+ [Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Win 9x 4.90*)*]
16299
+ Parent=AOL 9.0/IE 7.0
16300
+ Platform=WinME
16301
+
16302
+ [Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows 95*)*]
16303
+ Parent=AOL 9.0/IE 7.0
16304
+ Platform=Win95
16305
+
16306
+ [Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows 98*)*]
16307
+ Parent=AOL 9.0/IE 7.0
16308
+ Platform=Win98
16309
+
16310
+ [Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows 98*.NET CLR 1*)*]
16311
+ Parent=AOL 9.0/IE 7.0
16312
+
16313
+ [Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows 98*.NET CLR 1*.NET CLR 2*)*]
16314
+ Parent=AOL 9.0/IE 7.0
16315
+
16316
+ [Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows 98*.NET CLR 2*)*]
16317
+ Parent=AOL 9.0/IE 7.0
16318
+ CssVersion=2
16319
+ supportsCSS=true
16320
+
16321
+ [Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows 98*.NET CLR 2*.NET CLR 1*)*]
16322
+ Parent=AOL 9.0/IE 7.0
16323
+
16324
+ [Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows 98; Win 9x 4.90*)*]
16325
+ Parent=AOL 9.0/IE 7.0
16326
+ Platform=WinME
16327
+
16328
+ [Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows 98; Win 9x 4.90*.NET CLR 1*)*]
16329
+ Parent=AOL 9.0/IE 7.0
16330
+ Platform=WinME
16331
+
16332
+ [Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows 98; Win 9x 4.90*.NET CLR 1*.NET CLR 2*)*]
16333
+ Parent=AOL 9.0/IE 7.0
16334
+ Platform=WinME
16335
+
16336
+ [Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows 98; Win 9x 4.90*.NET CLR 2*)*]
16337
+ Parent=AOL 9.0/IE 7.0
16338
+ Platform=WinME
16339
+
16340
+ [Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows 98; Win 9x 4.90*.NET CLR 2*.NET CLR 1*)*]
16341
+ Parent=AOL 9.0/IE 7.0
16342
+ Platform=WinME
16343
+
16344
+ [Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 4.0*)*]
16345
+ Parent=AOL 9.0/IE 7.0
16346
+ Platform=WinNT
16347
+
16348
+ [Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 5.0*)*]
16349
+ Parent=AOL 9.0/IE 7.0
16350
+ Platform=Win2000
16351
+
16352
+ [Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 5.0*.NET CLR 1*)*]
16353
+ Parent=AOL 9.0/IE 7.0
16354
+ Platform=Win2000
16355
+
16356
+ [Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 5.0*.NET CLR 1*.NET CLR 2*)*]
16357
+ Parent=AOL 9.0/IE 7.0
16358
+ Platform=Win2000
16359
+
16360
+ [Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 5.0*.NET CLR 2*)*]
16361
+ Parent=AOL 9.0/IE 7.0
16362
+ Platform=Win2000
16363
+
16364
+ [Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 5.0*.NET CLR 2*.NET CLR 1*)*]
16365
+ Parent=AOL 9.0/IE 7.0
16366
+ Platform=Win2000
16367
+
16368
+ [Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 5.01*)*]
16369
+ Parent=AOL 9.0/IE 7.0
16370
+ Platform=Win2000
16371
+
16372
+ [Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 5.01*.NET CLR 1*)*]
16373
+ Parent=AOL 9.0/IE 7.0
16374
+ Platform=Win2000
16375
+
16376
+ [Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 5.01*.NET CLR 1*.NET CLR 2*)*]
16377
+ Parent=AOL 9.0/IE 7.0
16378
+ Platform=Win2000
16379
+
16380
+ [Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 5.01*.NET CLR 2*)*]
16381
+ Parent=AOL 9.0/IE 7.0
16382
+ Platform=Win2000
16383
+
16384
+ [Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 5.01*.NET CLR 2*.NET CLR 1*)*]
16385
+ Parent=AOL 9.0/IE 7.0
16386
+ Platform=Win2000
16387
+
16388
+ [Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 5.1*)*]
16389
+ Parent=AOL 9.0/IE 7.0
16390
+ Platform=WinXP
16391
+
16392
+ [Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 5.1*.NET CLR 1*)*]
16393
+ Parent=AOL 9.0/IE 7.0
16394
+ Platform=WinXP
16395
+
16396
+ [Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 5.1*.NET CLR 1*.NET CLR 2*)*]
16397
+ Parent=AOL 9.0/IE 7.0
16398
+ Platform=WinXP
16399
+
16400
+ [Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 5.1*.NET CLR 2*)*]
16401
+ Parent=AOL 9.0/IE 7.0
16402
+ Platform=WinXP
16403
+
16404
+ [Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 5.1*.NET CLR 2*.NET CLR 1*)*]
16405
+ Parent=AOL 9.0/IE 7.0
16406
+ Platform=WinXP
16407
+
16408
+ [Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 5.2*)*]
16409
+ Parent=AOL 9.0/IE 7.0
16410
+ Platform=Win2003
16411
+
16412
+ [Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 5.2*.NET CLR 1*)*]
16413
+ Parent=AOL 9.0/IE 7.0
16414
+ Platform=Win2003
16415
+
16416
+ [Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 5.2*.NET CLR 1*.NET CLR 2*)*]
16417
+ Parent=AOL 9.0/IE 7.0
16418
+ Platform=Win2003
16419
+
16420
+ [Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 5.2*.NET CLR 2*)*]
16421
+ Parent=AOL 9.0/IE 7.0
16422
+ Platform=Win2003
16423
+
16424
+ [Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 5.2*.NET CLR 2*.NET CLR 1*)*]
16425
+ Parent=AOL 9.0/IE 7.0
16426
+ Platform=Win2003
16427
+
16428
+ [Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 6.0*)*]
16429
+ Parent=AOL 9.0/IE 7.0
16430
+ Platform=WinVista
16431
+
16432
+ [Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 6.0*.NET CLR 1*)*]
16433
+ Parent=AOL 9.0/IE 7.0
16434
+ Platform=WinVista
16435
+
16436
+ [Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 6.0*.NET CLR 1*.NET CLR 2*)*]
16437
+ Parent=AOL 9.0/IE 7.0
16438
+ Platform=WinVista
16439
+
16440
+ [Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 6.0*.NET CLR 2*)*]
16441
+ Parent=AOL 9.0/IE 7.0
16442
+ Platform=WinVista
16443
+
16444
+ [Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 6.0*.NET CLR 2*.NET CLR 1*)*]
16445
+ Parent=AOL 9.0/IE 7.0
16446
+ Platform=WinVista
16447
+
16448
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Avant Browser
16449
+
16450
+ [Avant Browser]
16451
+ Parent=DefaultProperties
16452
+ Browser="Avant Browser"
16453
+ Frames=true
16454
+ IFrames=true
16455
+ Tables=true
16456
+ Cookies=true
16457
+ BackgroundSounds=true
16458
+ CDF=true
16459
+ VBScript=true
16460
+ JavaApplets=true
16461
+ JavaScript=true
16462
+ ActiveXControls=true
16463
+ CssVersion=2
16464
+ supportsCSS=true
16465
+
16466
+ [Advanced Browser (http://www.avantbrowser.com)]
16467
+ Parent=Avant Browser
16468
+
16469
+ [Avant Browser*]
16470
+ Parent=Avant Browser
16471
+
16472
+ [Avant Browser/*]
16473
+ Parent=Avant Browser
16474
+
16475
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; IE 4.01
16476
+
16477
+ [IE 4.01]
16478
+ Parent=DefaultProperties
16479
+ Browser="IE"
16480
+ Version=4.01
16481
+ MajorVer=4
16482
+ MinorVer=01
16483
+ Win32=true
16484
+ Frames=true
16485
+ IFrames=true
16486
+ Tables=true
16487
+ Cookies=true
16488
+ BackgroundSounds=true
16489
+ CDF=true
16490
+ VBScript=true
16491
+ JavaApplets=true
16492
+ JavaScript=true
16493
+ ActiveXControls=true
16494
+ CssVersion=2
16495
+ supportsCSS=true
16496
+
16497
+ [Mozilla/?.* (?compatible; *MSIE 4.01*)*]
16498
+ Parent=IE 4.01
16499
+
16500
+ [Mozilla/4.0 (compatible; MSIE 4.01; *Windows 95*)*]
16501
+ Parent=IE 4.01
16502
+ Platform=Win95
16503
+
16504
+ [Mozilla/4.0 (compatible; MSIE 4.01; *Windows 98*)*]
16505
+ Parent=IE 4.01
16506
+ Platform=Win98
16507
+
16508
+ [Mozilla/4.0 (compatible; MSIE 4.01; *Windows 98; Win 9x 4.90;*)*]
16509
+ Parent=IE 4.01
16510
+ Platform=WinME
16511
+
16512
+ [Mozilla/4.0 (compatible; MSIE 4.01; *Windows NT 4.0*)*]
16513
+ Parent=IE 4.01
16514
+ Platform=WinNT
16515
+
16516
+ [Mozilla/4.0 (compatible; MSIE 4.01; *Windows NT 5.0*)*]
16517
+ Parent=IE 4.01
16518
+ Platform=Win2000
16519
+
16520
+ [Mozilla/4.0 (compatible; MSIE 4.01; *Windows NT 5.01*)*]
16521
+ Parent=IE 4.01
16522
+ Platform=Win2000
16523
+
16524
+ [Mozilla/4.0 (compatible; MSIE 4.01; Windows NT)]
16525
+ Parent=IE 4.01
16526
+ Platform=WinNT
16527
+
16528
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; IE 5.0
16529
+
16530
+ [IE 5.0]
16531
+ Parent=DefaultProperties
16532
+ Browser="IE"
16533
+ Version=5.0
16534
+ MajorVer=5
16535
+ Win32=true
16536
+ Frames=true
16537
+ IFrames=true
16538
+ Tables=true
16539
+ Cookies=true
16540
+ BackgroundSounds=true
16541
+ CDF=true
16542
+ VBScript=true
16543
+ JavaApplets=true
16544
+ JavaScript=true
16545
+ ActiveXControls=true
16546
+ CssVersion=2
16547
+ supportsCSS=true
16548
+
16549
+ [Mozilla/?.* (?compatible; *MSIE 5.0*)*]
16550
+ Parent=IE 5.0
16551
+
16552
+ [Mozilla/4.0 (compatible; MSIE 5.0; *Windows 95*)*]
16553
+ Parent=IE 5.0
16554
+ Platform=Win95
16555
+
16556
+ [Mozilla/4.0 (compatible; MSIE 5.0; *Windows 98*)*]
16557
+ Parent=IE 5.0
16558
+ Platform=Win98
16559
+
16560
+ [Mozilla/4.0 (compatible; MSIE 5.0; *Windows 98; Win 9x 4.90;*)*]
16561
+ Parent=IE 5.0
16562
+ Platform=WinME
16563
+
16564
+ [Mozilla/4.0 (compatible; MSIE 5.0; *Windows NT 4.0*)*]
16565
+ Parent=IE 5.0
16566
+ Platform=WinNT
16567
+
16568
+ [Mozilla/4.0 (compatible; MSIE 5.0; *Windows NT 5.0*)*]
16569
+ Parent=IE 5.0
16570
+ Platform=Win2000
16571
+
16572
+ [Mozilla/4.0 (compatible; MSIE 5.0; *Windows NT 5.01*)*]
16573
+ Parent=IE 5.0
16574
+ Platform=Win2000
16575
+
16576
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; IE 5.01
16577
+
16578
+ [IE 5.01]
16579
+ Parent=DefaultProperties
16580
+ Browser="IE"
16581
+ Version=5.01
16582
+ MajorVer=5
16583
+ MinorVer=01
16584
+ Win32=true
16585
+ Frames=true
16586
+ IFrames=true
16587
+ Tables=true
16588
+ Cookies=true
16589
+ BackgroundSounds=true
16590
+ CDF=true
16591
+ VBScript=true
16592
+ JavaApplets=true
16593
+ JavaScript=true
16594
+ ActiveXControls=true
16595
+ CssVersion=2
16596
+ supportsCSS=true
16597
+
16598
+ [Mozilla/?.* (?compatible; *MSIE 5.01*)*]
16599
+ Parent=IE 5.01
16600
+
16601
+ [Mozilla/4.0 (compatible; MSIE 5.01; *Windows 95*)*]
16602
+ Parent=IE 5.01
16603
+ Platform=Win95
16604
+
16605
+ [Mozilla/4.0 (compatible; MSIE 5.01; *Windows 98*)*]
16606
+ Parent=IE 5.01
16607
+ Platform=Win98
16608
+
16609
+ [Mozilla/4.0 (compatible; MSIE 5.01; *Windows 98; Win 9x 4.90;*)*]
16610
+ Parent=IE 5.01
16611
+ Platform=WinME
16612
+
16613
+ [Mozilla/4.0 (compatible; MSIE 5.01; *Windows NT 4.0*)*]
16614
+ Parent=IE 5.01
16615
+ Platform=WinNT
16616
+
16617
+ [Mozilla/4.0 (compatible; MSIE 5.01; *Windows NT 5.0*)*]
16618
+ Parent=IE 5.01
16619
+ Platform=Win2000
16620
+
16621
+ [Mozilla/4.0 (compatible; MSIE 5.01; *Windows NT 5.01*)*]
16622
+ Parent=IE 5.01
16623
+ Platform=Win2000
16624
+
16625
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; IE 5.5
16626
+
16627
+ [IE 5.5]
16628
+ Parent=DefaultProperties
16629
+ Browser="IE"
16630
+ Version=5.5
16631
+ MajorVer=5
16632
+ MinorVer=5
16633
+ Win32=true
16634
+ Frames=true
16635
+ IFrames=true
16636
+ Tables=true
16637
+ Cookies=true
16638
+ BackgroundSounds=true
16639
+ CDF=true
16640
+ VBScript=true
16641
+ JavaApplets=true
16642
+ JavaScript=true
16643
+ ActiveXControls=true
16644
+ CssVersion=2
16645
+ supportsCSS=true
16646
+
16647
+ [Mozilla/?.* (?compatible; *MSIE 5.5*)*]
16648
+ Parent=IE 5.5
16649
+
16650
+ [Mozilla/4.0 (compatible; MSIE 5.5; *Windows 95*)*]
16651
+ Parent=IE 5.5
16652
+ Platform=Win95
16653
+
16654
+ [Mozilla/4.0 (compatible; MSIE 5.5; *Windows 98*)*]
16655
+ Parent=IE 5.5
16656
+ Platform=Win98
16657
+
16658
+ [Mozilla/4.0 (compatible; MSIE 5.5; *Windows 98; Win 9x 4.90*)*]
16659
+ Parent=IE 5.5
16660
+ Platform=WinME
16661
+
16662
+ [Mozilla/4.0 (compatible; MSIE 5.5; *Windows NT 4.0*)*]
16663
+ Parent=IE 5.5
16664
+ Platform=WinNT
16665
+
16666
+ [Mozilla/4.0 (compatible; MSIE 5.5; *Windows NT 5.0*)*]
16667
+ Parent=IE 5.5
16668
+ Platform=Win2000
16669
+
16670
+ [Mozilla/4.0 (compatible; MSIE 5.5; *Windows NT 5.01*)*]
16671
+ Parent=IE 5.5
16672
+ Platform=Win2000
16673
+
16674
+ [Mozilla/4.0 (compatible; MSIE 5.5; *Windows NT 5.1*)*]
16675
+ Parent=IE 5.5
16676
+ Platform=WinXP
16677
+
16678
+ [Mozilla/4.0 (compatible; MSIE 5.5; *Windows NT 5.2*)*]
16679
+ Parent=IE 5.5
16680
+ Platform=Win2003
16681
+
16682
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; IE 6.0
16683
+
16684
+ [IE 6.0]
16685
+ Parent=DefaultProperties
16686
+ Browser="IE"
16687
+ Version=6.0
16688
+ MajorVer=6
16689
+ Win32=true
16690
+ Frames=true
16691
+ IFrames=true
16692
+ Tables=true
16693
+ Cookies=true
16694
+ BackgroundSounds=true
16695
+ CDF=true
16696
+ VBScript=true
16697
+ JavaApplets=true
16698
+ JavaScript=true
16699
+ ActiveXControls=true
16700
+ CssVersion=2
16701
+ supportsCSS=true
16702
+
16703
+ [Mozilla/?.* (?compatible; *MSIE 6.0*)*]
16704
+ Parent=IE 6.0
16705
+
16706
+ [Mozilla/4.0 (compatible; MSIE 6.0; *Windows 95*)*]
16707
+ Parent=IE 6.0
16708
+ Platform=Win95
16709
+
16710
+ [Mozilla/4.0 (compatible; MSIE 6.0; *Windows 98*)*]
16711
+ Parent=IE 6.0
16712
+ Platform=Win98
16713
+
16714
+ [Mozilla/4.0 (compatible; MSIE 6.0; *Windows 98; Win 9x 4.90*)*]
16715
+ Parent=IE 6.0
16716
+ Platform=WinME
16717
+
16718
+ [Mozilla/4.0 (compatible; MSIE 6.0; *Windows NT 4.0*)*]
16719
+ Parent=IE 6.0
16720
+ Platform=WinNT
16721
+
16722
+ [Mozilla/4.0 (compatible; MSIE 6.0; *Windows NT 5.0*)*]
16723
+ Parent=IE 6.0
16724
+ Platform=Win2000
16725
+
16726
+ [Mozilla/4.0 (compatible; MSIE 6.0; *Windows NT 5.01*)*]
16727
+ Parent=IE 6.0
16728
+ Platform=Win2000
16729
+
16730
+ [Mozilla/4.0 (compatible; MSIE 6.0; *Windows NT 5.1*)*]
16731
+ Parent=IE 6.0
16732
+ Platform=WinXP
16733
+
16734
+ [Mozilla/4.0 (compatible; MSIE 6.0; *Windows NT 5.2*)*]
16735
+ Parent=IE 6.0
16736
+ Platform=Win2003
16737
+
16738
+ [Mozilla/4.0 (compatible; MSIE 6.0; *Windows NT 5.2;*Win64;*)*]
16739
+ Parent=IE 6.0
16740
+ Platform=WinXP
16741
+ Win32=false
16742
+ Win64=true
16743
+
16744
+ [Mozilla/4.0 (compatible; MSIE 6.0; *Windows NT 5.2;*WOW64;*)*]
16745
+ Parent=IE 6.0
16746
+ Platform=WinXP
16747
+
16748
+ [Mozilla/4.0 (compatible; MSIE 6.0; *Windows NT 6.0*)*]
16749
+ Parent=IE 6.0
16750
+ Platform=WinVista
16751
+
16752
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; IE 7.0
16753
+
16754
+ [IE 7.0]
16755
+ Parent=DefaultProperties
16756
+ Browser="IE"
16757
+ Version=7.0
16758
+ MajorVer=7
16759
+ Win32=true
16760
+ Frames=true
16761
+ IFrames=true
16762
+ Tables=true
16763
+ Cookies=true
16764
+ BackgroundSounds=true
16765
+ CDF=true
16766
+ VBScript=true
16767
+ JavaApplets=true
16768
+ JavaScript=true
16769
+ ActiveXControls=true
16770
+ CssVersion=2
16771
+ supportsCSS=true
16772
+
16773
+ [Mozilla/?.* (?compatible; *MSIE 7.0*)*]
16774
+ Parent=IE 7.0
16775
+
16776
+ [Mozilla/4.0 (compatible; MSIE 7.0; *Windows 98*)*]
16777
+ Parent=IE 7.0
16778
+ Platform=Win98
16779
+
16780
+ [Mozilla/4.0 (compatible; MSIE 7.0; *Windows 98; Win 9x 4.90;*)*]
16781
+ Parent=IE 7.0
16782
+ Platform=WinME
16783
+
16784
+ [Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 4.0*)*]
16785
+ Parent=IE 7.0
16786
+ Platform=WinNT
16787
+
16788
+ [Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 5.0*)*]
16789
+ Parent=IE 7.0
16790
+ Platform=Win2000
16791
+
16792
+ [Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 5.01*)*]
16793
+ Parent=IE 7.0
16794
+ Platform=Win2000
16795
+
16796
+ [Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 5.1*)*]
16797
+ Parent=IE 7.0
16798
+ Platform=WinXP
16799
+
16800
+ [Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 5.2*)*]
16801
+ Parent=IE 7.0
16802
+ Platform=Win2003
16803
+
16804
+ [Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 5.2;*Win64;*)*]
16805
+ Parent=IE 7.0
16806
+ Platform=WinXP
16807
+ Win32=false
16808
+ Win64=true
16809
+
16810
+ [Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 5.2;*WOW64;*)*]
16811
+ Parent=IE 7.0
16812
+ Platform=WinXP
16813
+
16814
+ [Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 6.0*)*]
16815
+ Parent=IE 7.0
16816
+ Platform=WinVista
16817
+
16818
+ [Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 6.1*)*]
16819
+ Parent=IE 7.0
16820
+ Platform=Win7
16821
+
16822
+ [Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/4.0; *)*]
16823
+ Parent=IE 7.0
16824
+ Platform=Win7
16825
+
16826
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; IE 8.0
16827
+
16828
+ [IE 8.0]
16829
+ Parent=DefaultProperties
16830
+ Browser="IE"
16831
+ Version=8.0
16832
+ MajorVer=8
16833
+ Win32=true
16834
+ Frames=true
16835
+ IFrames=true
16836
+ Tables=true
16837
+ Cookies=true
16838
+ BackgroundSounds=true
16839
+ CDF=true
16840
+ VBScript=true
16841
+ JavaApplets=true
16842
+ JavaScript=true
16843
+ ActiveXControls=true
16844
+ CssVersion=3
16845
+ supportsCSS=true
16846
+
16847
+ [Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Trident/4.0*)*]
16848
+ Parent=IE 8.0
16849
+ Platform=WinVista
16850
+
16851
+ [Mozilla/4.0 (compatible; MSIE 8.0; Win32*)*]
16852
+ Parent=IE 8.0
16853
+ Platform=Win32
16854
+
16855
+ [Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.0*)*]
16856
+ Parent=IE 8.0
16857
+ Platform=Win2000
16858
+
16859
+ [Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1*)*]
16860
+ Parent=IE 8.0
16861
+ Platform=WinXP
16862
+
16863
+ [Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2*)*]
16864
+ Parent=IE 8.0
16865
+ Platform=Win2003
16866
+
16867
+ [Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0*)*]
16868
+ Parent=IE 8.0
16869
+ Platform=WinVista
16870
+
16871
+ [Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0*)*]
16872
+ Parent=IE 8.0
16873
+ Platform=WinVista
16874
+
16875
+ [Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Win64; x64; Trident/4.0*)*]
16876
+ Parent=IE 8.0
16877
+ Platform=WinVista
16878
+ Win32=false
16879
+ Win64=true
16880
+
16881
+ [Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; WOW64; Trident/4.0*)*]
16882
+ Parent=IE 8.0
16883
+ Platform=WinVista
16884
+ Win64=false
16885
+
16886
+ [Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1*)*]
16887
+ Parent=IE 8.0
16888
+ Platform=Win7
16889
+
16890
+ [Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0*)*]
16891
+ Parent=IE 8.0
16892
+ Platform=Win7
16893
+
16894
+ [Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Win64; x64; Trident/4.0*)*]
16895
+ Parent=IE 8.0
16896
+ Platform=Win7
16897
+ Win32=false
16898
+ Win64=true
16899
+
16900
+ [Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0*)*]
16901
+ Parent=IE 8.0
16902
+ Platform=Win7
16903
+ Win64=false
16904
+
16905
+ [Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 7.0; Trident/4.0*)*]
16906
+ Parent=IE 8.0
16907
+ Platform=Win7
16908
+
16909
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Default Browser
16910
+
16911
+ [*]
16912
+ Browser="Default Browser"
16913
+ Version=0
16914
+ MajorVer=0
16915
+ MinorVer=0
16916
+ Platform=unknown
16917
+ Alpha=false
16918
+ Beta=false
16919
+ Win16=false
16920
+ Win32=false
16921
+ Win64=false
16922
+ Frames=true
16923
+ IFrames=false
16924
+ Tables=true
16925
+ Cookies=false
16926
+ BackgroundSounds=false
16927
+ CDF=false
16928
+ VBScript=false
16929
+ JavaApplets=false
16930
+ JavaScript=false
16931
+ ActiveXControls=false
16932
+ isBanned=false
16933
+ isMobileDevice=false
16934
+ isSyndicationReader=false
16935
+ Crawler=false
16936
+ CssVersion=0
16937
+ supportsCSS=false
16938
+ AOL=false
16939
+ aolVersion=0
includes/version-2-kvasir/README.txt ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ Hello.
2
+
3
+ This is the Open Flash Chart source code.
4
+
5
+ Take a look around :-)
6
+
7
+ The test data is in the 'data-files' directory.
8
+
includes/version-2-kvasir/js/README.txt ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ***************
2
+ ** JS Folder **
3
+ ***************
4
+
5
+ Here are some Javascript libraries used on the code or samples.
6
+
7
+ - swfobject.js
8
+
9
+ SWFObject v1.5: Flash Player detection and embed - http://blog.deconcept.com/swfobject/
10
+ *
11
+ * SWFObject is (c) 2007 Geoff Stearns and is released under the MIT License:
12
+ * http://www.opensource.org/licenses/mit-license.php
includes/version-2-kvasir/js/json/json2.js ADDED
@@ -0,0 +1,461 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ http://www.JSON.org/json2.js
3
+ 2008-03-24
4
+
5
+ Public Domain.
6
+
7
+ NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.
8
+
9
+ See http://www.JSON.org/js.html
10
+
11
+ This file creates a global JSON object containing three methods: stringify,
12
+ parse, and quote.
13
+
14
+
15
+ JSON.stringify(value, replacer, space)
16
+ value any JavaScript value, usually an object or array.
17
+
18
+ replacer an optional parameter that determines how object
19
+ values are stringified for objects without a toJSON
20
+ method. It can be a function or an array.
21
+
22
+ space an optional parameter that specifies the indentation
23
+ of nested structures. If it is omitted, the text will
24
+ be packed without extra whitespace. If it is a number,
25
+ it will specify the number of spaces to indent at each
26
+ level. If it is a string (such as '\t'), it contains the
27
+ characters used to indent at each level.
28
+
29
+ This method produces a JSON text from a JavaScript value.
30
+
31
+ When an object value is found, if the object contains a toJSON
32
+ method, its toJSON method will be called and the result will be
33
+ stringified. A toJSON method does not serialize: it returns the
34
+ value represented by the name/value pair that should be serialized,
35
+ or undefined if nothing should be serialized. The toJSON method will
36
+ be passed the key associated with the value, and this will be bound
37
+ to the object holding the key.
38
+
39
+ This is the toJSON method added to Dates:
40
+
41
+ function toJSON(key) {
42
+ return this.getUTCFullYear() + '-' +
43
+ f(this.getUTCMonth() + 1) + '-' +
44
+ f(this.getUTCDate()) + 'T' +
45
+ f(this.getUTCHours()) + ':' +
46
+ f(this.getUTCMinutes()) + ':' +
47
+ f(this.getUTCSeconds()) + 'Z';
48
+ }
49
+
50
+ You can provide an optional replacer method. It will be passed the
51
+ key and value of each member, with this bound to the containing
52
+ object. The value that is returned from your method will be
53
+ serialized. If your method returns undefined, then the member will
54
+ be excluded from the serialization.
55
+
56
+ If no replacer parameter is provided, then a default replacer
57
+ will be used:
58
+
59
+ function replacer(key, value) {
60
+ return Object.hasOwnProperty.call(this, key) ?
61
+ value : undefined;
62
+ }
63
+
64
+ The default replacer is passed the key and value for each item in
65
+ the structure. It excludes inherited members.
66
+
67
+ If the replacer parameter is an array, then it will be used to
68
+ select the members to be serialized. It filters the results such
69
+ that only members with keys listed in the replacer array are
70
+ stringified.
71
+
72
+ Values that do not have JSON representaions, such as undefined or
73
+ functions, will not be serialized. Such values in objects will be
74
+ dropped; in arrays they will be replaced with null. You can use
75
+ a replacer function to replace those with JSON values.
76
+ JSON.stringify(undefined) returns undefined.
77
+
78
+ The optional space parameter produces a stringification of the value
79
+ that is filled with line breaks and indentation to make it easier to
80
+ read.
81
+
82
+ If the space parameter is a non-empty string, then that string will
83
+ be used for indentation. If the space parameter is a number, then
84
+ then indentation will be that many spaces.
85
+
86
+ Example:
87
+
88
+ text = JSON.stringify(['e', {pluribus: 'unum'}]);
89
+ // text is '["e",{"pluribus":"unum"}]'
90
+
91
+
92
+ text = JSON.stringify(['e', {pluribus: 'unum'}], null, '\t');
93
+ // text is '[\n\t"e",\n\t{\n\t\t"pluribus": "unum"\n\t}\n]'
94
+
95
+
96
+ JSON.parse(text, reviver)
97
+ This method parses a JSON text to produce an object or array.
98
+ It can throw a SyntaxError exception.
99
+
100
+ The optional reviver parameter is a function that can filter and
101
+ transform the results. It receives each of the keys and values,
102
+ and its return value is used instead of the original value.
103
+ If it returns what it received, then the structure is not modified.
104
+ If it returns undefined then the member is deleted.
105
+
106
+ Example:
107
+
108
+ // Parse the text. Values that look like ISO date strings will
109
+ // be converted to Date objects.
110
+
111
+ myData = JSON.parse(text, function (key, value) {
112
+ var a;
113
+ if (typeof value === 'string') {
114
+ a =
115
+ /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/.exec(value);
116
+ if (a) {
117
+ return new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4],
118
+ +a[5], +a[6]));
119
+ }
120
+ }
121
+ return value;
122
+ });
123
+
124
+
125
+ JSON.quote(text)
126
+ This method wraps a string in quotes, escaping some characters
127
+ as needed.
128
+
129
+
130
+ This is a reference implementation. You are free to copy, modify, or
131
+ redistribute.
132
+
133
+ USE YOUR OWN COPY. IT IS EXTREMELY UNWISE TO LOAD THIRD PARTY
134
+ CODE INTO YOUR PAGES.
135
+ */
136
+
137
+ /*jslint regexp: true, forin: true, evil: true */
138
+
139
+ /*global JSON */
140
+
141
+ /*members "", "\b", "\t", "\n", "\f", "\r", "\"", JSON, "\\", apply,
142
+ call, charCodeAt, floor, getUTCDate, getUTCFullYear, getUTCHours,
143
+ getUTCMinutes, getUTCMonth, getUTCSeconds, hasOwnProperty, join, length,
144
+ parse, propertyIsEnumerable, prototype, push, quote, replace, stringify,
145
+ test, toJSON, toString
146
+ */
147
+
148
+ if (!this.JSON) {
149
+
150
+ // Create a JSON object only if one does not already exist. We create the
151
+ // object in a closure to avoid global variables.
152
+
153
+ JSON = function () {
154
+
155
+ function f(n) { // Format integers to have at least two digits.
156
+ return n < 10 ? '0' + n : n;
157
+ }
158
+
159
+ Date.prototype.toJSON = function () {
160
+
161
+ // Eventually, this method will be based on the date.toISOString method.
162
+
163
+ return this.getUTCFullYear() + '-' +
164
+ f(this.getUTCMonth() + 1) + '-' +
165
+ f(this.getUTCDate()) + 'T' +
166
+ f(this.getUTCHours()) + ':' +
167
+ f(this.getUTCMinutes()) + ':' +
168
+ f(this.getUTCSeconds()) + 'Z';
169
+ };
170
+
171
+
172
+ var escapeable = /["\\\x00-\x1f\x7f-\x9f]/g,
173
+ gap,
174
+ indent,
175
+ meta = { // table of character substitutions
176
+ '\b': '\\b',
177
+ '\t': '\\t',
178
+ '\n': '\\n',
179
+ '\f': '\\f',
180
+ '\r': '\\r',
181
+ '"' : '\\"',
182
+ '\\': '\\\\'
183
+ },
184
+ rep;
185
+
186
+
187
+ function quote(string) {
188
+
189
+ // If the string contains no control characters, no quote characters, and no
190
+ // backslash characters, then we can safely slap some quotes around it.
191
+ // Otherwise we must also replace the offending characters with safe escape
192
+ // sequences.
193
+
194
+ return escapeable.test(string) ?
195
+ '"' + string.replace(escapeable, function (a) {
196
+ var c = meta[a];
197
+ if (typeof c === 'string') {
198
+ return c;
199
+ }
200
+ c = a.charCodeAt();
201
+ return '\\u00' + Math.floor(c / 16).toString(16) +
202
+ (c % 16).toString(16);
203
+ }) + '"' :
204
+ '"' + string + '"';
205
+ }
206
+
207
+
208
+ function str(key, holder) {
209
+
210
+ // Produce a string from holder[key].
211
+
212
+ var i, // The loop counter.
213
+ k, // The member key.
214
+ v, // The member value.
215
+ length,
216
+ mind = gap,
217
+ partial,
218
+ value = holder[key];
219
+
220
+ // If the value has a toJSON method, call it to obtain a replacement value.
221
+
222
+ if (value && typeof value === 'object' &&
223
+ typeof value.toJSON === 'function') {
224
+ value = value.toJSON(key);
225
+ }
226
+
227
+ // If we were called with a replacer function, then call the replacer to
228
+ // obtain a replacement value.
229
+
230
+ if (typeof rep === 'function') {
231
+ value = rep.call(holder, key, value);
232
+ }
233
+
234
+ // What happens next depends on the value's type.
235
+
236
+ switch (typeof value) {
237
+ case 'string':
238
+ return quote(value);
239
+
240
+ case 'number':
241
+
242
+ // JSON numbers must be finite. Encode non-finite numbers as null.
243
+
244
+ return isFinite(value) ? String(value) : 'null';
245
+
246
+ case 'boolean':
247
+ case 'null':
248
+
249
+ // If the value is a boolean or null, convert it to a string. Note:
250
+ // typeof null does not produce 'null'. The case is included here in
251
+ // the remote chance that this gets fixed someday.
252
+
253
+ return String(value);
254
+
255
+ // If the type is 'object', we might be dealing with an object or an array or
256
+ // null.
257
+
258
+ case 'object':
259
+
260
+ // Due to a specification blunder in ECMAScript, typeof null is 'object',
261
+ // so watch out for that case.
262
+
263
+ if (!value) {
264
+ return 'null';
265
+ }
266
+
267
+ // Make an array to hold the partial results of stringifying this object value.
268
+
269
+ gap += indent;
270
+ partial = [];
271
+
272
+ // If the object has a dontEnum length property, we'll treat it as an array.
273
+
274
+ if (typeof value.length === 'number' &&
275
+ !(value.propertyIsEnumerable('length'))) {
276
+
277
+ // The object is an array. Stringify every element. Use null as a placeholder
278
+ // for non-JSON values.
279
+
280
+ length = value.length;
281
+ for (i = 0; i < length; i += 1) {
282
+ partial[i] = str(i, value) || 'null';
283
+ }
284
+
285
+ // Join all of the elements together, separated with commas, and wrap them in
286
+ // brackets.
287
+
288
+ v = partial.length === 0 ? '[]' :
289
+ gap ? '[\n' + gap + partial.join(',\n' + gap) +
290
+ '\n' + mind + ']' :
291
+ '[' + partial.join(',') + ']';
292
+ gap = mind;
293
+ return v;
294
+ }
295
+
296
+ // If the replacer is an array, use it to select the members to be stringified.
297
+
298
+ if (typeof rep === 'object') {
299
+ length = rep.length;
300
+ for (i = 0; i < length; i += 1) {
301
+ k = rep[i];
302
+ if (typeof k === 'string') {
303
+ v = str(k, value, rep);
304
+ if (v) {
305
+ partial.push(quote(k) + (gap ? ': ' : ':') + v);
306
+ }
307
+ }
308
+ }
309
+ } else {
310
+
311
+ // Otherwise, iterate through all of the keys in the object.
312
+
313
+ for (k in value) {
314
+ v = str(k, value, rep);
315
+ if (v) {
316
+ partial.push(quote(k) + (gap ? ': ' : ':') + v);
317
+ }
318
+ }
319
+ }
320
+
321
+ // Join all of the member texts together, separated with commas,
322
+ // and wrap them in braces.
323
+
324
+ v = partial.length === 0 ? '{}' :
325
+ gap ? '{\n' + gap + partial.join(',\n' + gap) +
326
+ '\n' + mind + '}' :
327
+ '{' + partial.join(',') + '}';
328
+ gap = mind;
329
+ return v;
330
+ }
331
+ }
332
+
333
+
334
+ // Return the JSON object containing the stringify, parse, and quote methods.
335
+
336
+ return {
337
+ stringify: function (value, replacer, space) {
338
+
339
+ // The stringify method takes a value and an optional replacer, and an optional
340
+ // space parameter, and returns a JSON text. The replacer can be a function
341
+ // that can replace values, or an array of strings that will select the keys.
342
+ // A default replacer method can be provided. Use of the space parameter can
343
+ // produce text that is more easily readable.
344
+
345
+ var i;
346
+ gap = '';
347
+ indent = '';
348
+ if (space) {
349
+
350
+ // If the space parameter is a number, make an indent string containing that
351
+ // many spaces.
352
+
353
+ if (typeof space === 'number') {
354
+ for (i = 0; i < space; i += 1) {
355
+ indent += ' ';
356
+ }
357
+
358
+ // If the space parameter is a string, it will be used as the indent string.
359
+
360
+ } else if (typeof space === 'string') {
361
+ indent = space;
362
+ }
363
+ }
364
+
365
+ // If there is no replacer parameter, use the default replacer.
366
+
367
+ if (!replacer) {
368
+ rep = function (key, value) {
369
+ if (!Object.hasOwnProperty.call(this, key)) {
370
+ return undefined;
371
+ }
372
+ return value;
373
+ };
374
+
375
+ // The replacer can be a function or an array. Otherwise, throw an error.
376
+
377
+ } else if (typeof replacer === 'function' ||
378
+ (typeof replacer === 'object' &&
379
+ typeof replacer.length === 'number')) {
380
+ rep = replacer;
381
+ } else {
382
+ throw new Error('JSON.stringify');
383
+ }
384
+
385
+ // Make a fake root object containing our value under the key of ''.
386
+ // Return the result of stringifying the value.
387
+
388
+ return str('', {'': value});
389
+ },
390
+
391
+
392
+ parse: function (text, reviver) {
393
+
394
+ // The parse method takes a text and an optional reviver function, and returns
395
+ // a JavaScript value if the text is a valid JSON text.
396
+
397
+ var j;
398
+
399
+ function walk(holder, key) {
400
+
401
+ // The walk method is used to recursively walk the resulting structure so
402
+ // that modifications can be made.
403
+
404
+ var k, v, value = holder[key];
405
+ if (value && typeof value === 'object') {
406
+ for (k in value) {
407
+ if (Object.hasOwnProperty.call(value, k)) {
408
+ v = walk(value, k);
409
+ if (v !== undefined) {
410
+ value[k] = v;
411
+ } else {
412
+ delete value[k];
413
+ }
414
+ }
415
+ }
416
+ }
417
+ return reviver.call(holder, key, value);
418
+ }
419
+
420
+
421
+ // Parsing happens in three stages. In the first stage, we run the text against
422
+ // regular expressions that look for non-JSON patterns. We are especially
423
+ // concerned with '()' and 'new' because they can cause invocation, and '='
424
+ // because it can cause mutation. But just to be safe, we want to reject all
425
+ // unexpected forms.
426
+
427
+ // We split the first stage into 4 regexp operations in order to work around
428
+ // crippling inefficiencies in IE's and Safari's regexp engines. First we
429
+ // replace all backslash pairs with '@' (a non-JSON character). Second, we
430
+ // replace all simple value tokens with ']' characters. Third, we delete all
431
+ // open brackets that follow a colon or comma or that begin the text. Finally,
432
+ // we look to see that the remaining characters are only whitespace or ']' or
433
+ // ',' or ':' or '{' or '}'. If that is so, then the text is safe for eval.
434
+
435
+ if (/^[\],:{}\s]*$/.test(text.replace(/\\["\\\/bfnrtu]/g, '@').
436
+ replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']').
437
+ replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) {
438
+
439
+ // In the second stage we use the eval function to compile the text into a
440
+ // JavaScript structure. The '{' operator is subject to a syntactic ambiguity
441
+ // in JavaScript: it can begin a block or an object literal. We wrap the text
442
+ // in parens to eliminate the ambiguity.
443
+
444
+ j = eval('(' + text + ')');
445
+
446
+ // In the optional third stage, we recursively walk the new structure, passing
447
+ // each name/value pair to a reviver function for possible transformation.
448
+
449
+ return typeof reviver === 'function' ?
450
+ walk({'': j}, '') : j;
451
+ }
452
+
453
+ // If the text is not JSON parseable, then a SyntaxError is thrown.
454
+
455
+ throw new SyntaxError('JSON.parse');
456
+ },
457
+
458
+ quote: quote
459
+ };
460
+ }();
461
+ }
includes/version-2-kvasir/js/swfobject.js ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ /* SWFObject v2.1 <http://code.google.com/p/swfobject/>
2
+ Copyright (c) 2007-2008 Geoff Stearns, Michael Williams, and Bobby van der Sluis
3
+ This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
4
+ */
5
+ var swfobject=function(){var b="undefined",Q="object",n="Shockwave Flash",p="ShockwaveFlash.ShockwaveFlash",P="application/x-shockwave-flash",m="SWFObjectExprInst",j=window,K=document,T=navigator,o=[],N=[],i=[],d=[],J,Z=null,M=null,l=null,e=false,A=false;var h=function(){var v=typeof K.getElementById!=b&&typeof K.getElementsByTagName!=b&&typeof K.createElement!=b,AC=[0,0,0],x=null;if(typeof T.plugins!=b&&typeof T.plugins[n]==Q){x=T.plugins[n].description;if(x&&!(typeof T.mimeTypes!=b&&T.mimeTypes[P]&&!T.mimeTypes[P].enabledPlugin)){x=x.replace(/^.*\s+(\S+\s+\S+$)/,"$1");AC[0]=parseInt(x.replace(/^(.*)\..*$/,"$1"),10);AC[1]=parseInt(x.replace(/^.*\.(.*)\s.*$/,"$1"),10);AC[2]=/r/.test(x)?parseInt(x.replace(/^.*r(.*)$/,"$1"),10):0}}else{if(typeof j.ActiveXObject!=b){var y=null,AB=false;try{y=new ActiveXObject(p+".7")}catch(t){try{y=new ActiveXObject(p+".6");AC=[6,0,21];y.AllowScriptAccess="always"}catch(t){if(AC[0]==6){AB=true}}if(!AB){try{y=new ActiveXObject(p)}catch(t){}}}if(!AB&&y){try{x=y.GetVariable("$version");if(x){x=x.split(" ")[1].split(",");AC=[parseInt(x[0],10),parseInt(x[1],10),parseInt(x[2],10)]}}catch(t){}}}}var AD=T.userAgent.toLowerCase(),r=T.platform.toLowerCase(),AA=/webkit/.test(AD)?parseFloat(AD.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,q=false,z=r?/win/.test(r):/win/.test(AD),w=r?/mac/.test(r):/mac/.test(AD);/*@cc_on q=true;@if(@_win32)z=true;@elif(@_mac)w=true;@end@*/return{w3cdom:v,pv:AC,webkit:AA,ie:q,win:z,mac:w}}();var L=function(){if(!h.w3cdom){return }f(H);if(h.ie&&h.win){try{K.write("<script id=__ie_ondomload defer=true src=//:><\/script>");J=C("__ie_ondomload");if(J){I(J,"onreadystatechange",S)}}catch(q){}}if(h.webkit&&typeof K.readyState!=b){Z=setInterval(function(){if(/loaded|complete/.test(K.readyState)){E()}},10)}if(typeof K.addEventListener!=b){K.addEventListener("DOMContentLoaded",E,null)}R(E)}();function S(){if(J.readyState=="complete"){J.parentNode.removeChild(J);E()}}function E(){if(e){return }if(h.ie&&h.win){var v=a("span");try{var u=K.getElementsByTagName("body")[0].appendChild(v);u.parentNode.removeChild(u)}catch(w){return }}e=true;if(Z){clearInterval(Z);Z=null}var q=o.length;for(var r=0;r<q;r++){o[r]()}}function f(q){if(e){q()}else{o[o.length]=q}}function R(r){if(typeof j.addEventListener!=b){j.addEventListener("load",r,false)}else{if(typeof K.addEventListener!=b){K.addEventListener("load",r,false)}else{if(typeof j.attachEvent!=b){I(j,"onload",r)}else{if(typeof j.onload=="function"){var q=j.onload;j.onload=function(){q();r()}}else{j.onload=r}}}}}function H(){var t=N.length;for(var q=0;q<t;q++){var u=N[q].id;if(h.pv[0]>0){var r=C(u);if(r){N[q].width=r.getAttribute("width")?r.getAttribute("width"):"0";N[q].height=r.getAttribute("height")?r.getAttribute("height"):"0";if(c(N[q].swfVersion)){if(h.webkit&&h.webkit<312){Y(r)}W(u,true)}else{if(N[q].expressInstall&&!A&&c("6.0.65")&&(h.win||h.mac)){k(N[q])}else{O(r)}}}}else{W(u,true)}}}function Y(t){var q=t.getElementsByTagName(Q)[0];if(q){var w=a("embed"),y=q.attributes;if(y){var v=y.length;for(var u=0;u<v;u++){if(y[u].nodeName=="DATA"){w.setAttribute("src",y[u].nodeValue)}else{w.setAttribute(y[u].nodeName,y[u].nodeValue)}}}var x=q.childNodes;if(x){var z=x.length;for(var r=0;r<z;r++){if(x[r].nodeType==1&&x[r].nodeName=="PARAM"){w.setAttribute(x[r].getAttribute("name"),x[r].getAttribute("value"))}}}t.parentNode.replaceChild(w,t)}}function k(w){A=true;var u=C(w.id);if(u){if(w.altContentId){var y=C(w.altContentId);if(y){M=y;l=w.altContentId}}else{M=G(u)}if(!(/%$/.test(w.width))&&parseInt(w.width,10)<310){w.width="310"}if(!(/%$/.test(w.height))&&parseInt(w.height,10)<137){w.height="137"}K.title=K.title.slice(0,47)+" - Flash Player Installation";var z=h.ie&&h.win?"ActiveX":"PlugIn",q=K.title,r="MMredirectURL="+j.location+"&MMplayerType="+z+"&MMdoctitle="+q,x=w.id;if(h.ie&&h.win&&u.readyState!=4){var t=a("div");x+="SWFObjectNew";t.setAttribute("id",x);u.parentNode.insertBefore(t,u);u.style.display="none";var v=function(){u.parentNode.removeChild(u)};I(j,"onload",v)}U({data:w.expressInstall,id:m,width:w.width,height:w.height},{flashvars:r},x)}}function O(t){if(h.ie&&h.win&&t.readyState!=4){var r=a("div");t.parentNode.insertBefore(r,t);r.parentNode.replaceChild(G(t),r);t.style.display="none";var q=function(){t.parentNode.removeChild(t)};I(j,"onload",q)}else{t.parentNode.replaceChild(G(t),t)}}function G(v){var u=a("div");if(h.win&&h.ie){u.innerHTML=v.innerHTML}else{var r=v.getElementsByTagName(Q)[0];if(r){var w=r.childNodes;if(w){var q=w.length;for(var t=0;t<q;t++){if(!(w[t].nodeType==1&&w[t].nodeName=="PARAM")&&!(w[t].nodeType==8)){u.appendChild(w[t].cloneNode(true))}}}}}return u}function U(AG,AE,t){var q,v=C(t);if(v){if(typeof AG.id==b){AG.id=t}if(h.ie&&h.win){var AF="";for(var AB in AG){if(AG[AB]!=Object.prototype[AB]){if(AB.toLowerCase()=="data"){AE.movie=AG[AB]}else{if(AB.toLowerCase()=="styleclass"){AF+=' class="'+AG[AB]+'"'}else{if(AB.toLowerCase()!="classid"){AF+=" "+AB+'="'+AG[AB]+'"'}}}}}var AD="";for(var AA in AE){if(AE[AA]!=Object.prototype[AA]){AD+='<param name="'+AA+'" value="'+AE[AA]+'" />'}}v.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+AF+">"+AD+"</object>";i[i.length]=AG.id;q=C(AG.id)}else{if(h.webkit&&h.webkit<312){var AC=a("embed");AC.setAttribute("type",P);for(var z in AG){if(AG[z]!=Object.prototype[z]){if(z.toLowerCase()=="data"){AC.setAttribute("src",AG[z])}else{if(z.toLowerCase()=="styleclass"){AC.setAttribute("class",AG[z])}else{if(z.toLowerCase()!="classid"){AC.setAttribute(z,AG[z])}}}}}for(var y in AE){if(AE[y]!=Object.prototype[y]){if(y.toLowerCase()!="movie"){AC.setAttribute(y,AE[y])}}}v.parentNode.replaceChild(AC,v);q=AC}else{var u=a(Q);u.setAttribute("type",P);for(var x in AG){if(AG[x]!=Object.prototype[x]){if(x.toLowerCase()=="styleclass"){u.setAttribute("class",AG[x])}else{if(x.toLowerCase()!="classid"){u.setAttribute(x,AG[x])}}}}for(var w in AE){if(AE[w]!=Object.prototype[w]&&w.toLowerCase()!="movie"){F(u,w,AE[w])}}v.parentNode.replaceChild(u,v);q=u}}}return q}function F(t,q,r){var u=a("param");u.setAttribute("name",q);u.setAttribute("value",r);t.appendChild(u)}function X(r){var q=C(r);if(q&&(q.nodeName=="OBJECT"||q.nodeName=="EMBED")){if(h.ie&&h.win){if(q.readyState==4){B(r)}else{j.attachEvent("onload",function(){B(r)})}}else{q.parentNode.removeChild(q)}}}function B(t){var r=C(t);if(r){for(var q in r){if(typeof r[q]=="function"){r[q]=null}}r.parentNode.removeChild(r)}}function C(t){var q=null;try{q=K.getElementById(t)}catch(r){}return q}function a(q){return K.createElement(q)}function I(t,q,r){t.attachEvent(q,r);d[d.length]=[t,q,r]}function c(t){var r=h.pv,q=t.split(".");q[0]=parseInt(q[0],10);q[1]=parseInt(q[1],10)||0;q[2]=parseInt(q[2],10)||0;return(r[0]>q[0]||(r[0]==q[0]&&r[1]>q[1])||(r[0]==q[0]&&r[1]==q[1]&&r[2]>=q[2]))?true:false}function V(v,r){if(h.ie&&h.mac){return }var u=K.getElementsByTagName("head")[0],t=a("style");t.setAttribute("type","text/css");t.setAttribute("media","screen");if(!(h.ie&&h.win)&&typeof K.createTextNode!=b){t.appendChild(K.createTextNode(v+" {"+r+"}"))}u.appendChild(t);if(h.ie&&h.win&&typeof K.styleSheets!=b&&K.styleSheets.length>0){var q=K.styleSheets[K.styleSheets.length-1];if(typeof q.addRule==Q){q.addRule(v,r)}}}function W(t,q){var r=q?"visible":"hidden";if(e&&C(t)){C(t).style.visibility=r}else{V("#"+t,"visibility:"+r)}}function g(s){var r=/[\\\"<>\.;]/;var q=r.exec(s)!=null;return q?encodeURIComponent(s):s}var D=function(){if(h.ie&&h.win){window.attachEvent("onunload",function(){var w=d.length;for(var v=0;v<w;v++){d[v][0].detachEvent(d[v][1],d[v][2])}var t=i.length;for(var u=0;u<t;u++){X(i[u])}for(var r in h){h[r]=null}h=null;for(var q in swfobject){swfobject[q]=null}swfobject=null})}}();return{registerObject:function(u,q,t){if(!h.w3cdom||!u||!q){return }var r={};r.id=u;r.swfVersion=q;r.expressInstall=t?t:false;N[N.length]=r;W(u,false)},getObjectById:function(v){var q=null;if(h.w3cdom){var t=C(v);if(t){var u=t.getElementsByTagName(Q)[0];if(!u||(u&&typeof t.SetVariable!=b)){q=t}else{if(typeof u.SetVariable!=b){q=u}}}}return q},embedSWF:function(x,AE,AB,AD,q,w,r,z,AC){if(!h.w3cdom||!x||!AE||!AB||!AD||!q){return }AB+="";AD+="";if(c(q)){W(AE,false);var AA={};if(AC&&typeof AC===Q){for(var v in AC){if(AC[v]!=Object.prototype[v]){AA[v]=AC[v]}}}AA.data=x;AA.width=AB;AA.height=AD;var y={};if(z&&typeof z===Q){for(var u in z){if(z[u]!=Object.prototype[u]){y[u]=z[u]}}}if(r&&typeof r===Q){for(var t in r){if(r[t]!=Object.prototype[t]){if(typeof y.flashvars!=b){y.flashvars+="&"+t+"="+r[t]}else{y.flashvars=t+"="+r[t]}}}}f(function(){U(AA,y,AE);if(AA.id==AE){W(AE,true)}})}else{if(w&&!A&&c("6.0.65")&&(h.win||h.mac)){A=true;W(AE,false);f(function(){var AF={};AF.id=AF.altContentId=AE;AF.width=AB;AF.height=AD;AF.expressInstall=w;k(AF)})}}},getFlashPlayerVersion:function(){return{major:h.pv[0],minor:h.pv[1],release:h.pv[2]}},hasFlashPlayerVersion:c,createSWF:function(t,r,q){if(h.w3cdom){return U(t,r,q)}else{return undefined}},removeSWF:function(q){if(h.w3cdom){X(q)}},createCSS:function(r,q){if(h.w3cdom){V(r,q)}},addDomLoadEvent:f,addLoadEvent:R,getQueryParamValue:function(v){var u=K.location.search||K.location.hash;if(v==null){return g(u)}if(u){var t=u.substring(1).split("&");for(var r=0;r<t.length;r++){if(t[r].substring(0,t[r].indexOf("="))==v){return g(t[r].substring((t[r].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(A&&M){var q=C(m);if(q){q.parentNode.replaceChild(M,q);if(l){W(l,true);if(h.ie&&h.win){M.style.display="block"}}M=null;l=null;A=false}}}}}();
includes/version-2-kvasir/open-flash-chart.swf ADDED
Binary file
pretty-bar.php ADDED
@@ -0,0 +1,242 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $root = dirname(dirname(dirname(dirname(__FILE__))));
3
+ if (file_exists($root.'/wp-load.php'))
4
+ require_once($root.'/wp-load.php');
5
+ else
6
+ require_once($root.'/wp-config.php');
7
+
8
+ require_once('prli-config.php');
9
+ require_once(PRLI_MODELS_PATH . '/models.inc.php');
10
+
11
+ $link = $prli_link->getOneFromSlug($_GET['slug']);
12
+ $bar_image = $prli_options->prettybar_image_url;
13
+ $bar_background_image = $prli_options->prettybar_background_image_url;
14
+ $bar_color = $prli_options->prettybar_color;
15
+ $bar_text_color = $prli_options->prettybar_text_color;
16
+ $bar_link_color = $prli_options->prettybar_link_color;
17
+ $bar_visited_color = $prli_options->prettybar_visited_color;
18
+ $bar_hover_color = $prli_options->prettybar_hover_color;
19
+ $bar_show_title = $prli_options->prettybar_show_title;
20
+ $bar_show_description = $prli_options->prettybar_show_description;
21
+ $bar_show_share_links = $prli_options->prettybar_show_share_links;
22
+ $bar_show_target_url_link = $prli_options->prettybar_show_target_url_link;
23
+ $bar_title_limit = (int)$prli_options->prettybar_title_limit;
24
+ $bar_desc_limit = (int)$prli_options->prettybar_desc_limit;
25
+ $bar_link_limit = (int)$prli_options->prettybar_link_limit;
26
+
27
+ $target_url = $_GET['url'];
28
+
29
+ $shortened_title = stripslashes(substr($prli_blogname,0,$bar_title_limit));
30
+ $shortened_desc = stripslashes(substr($prli_blogdescription,0,$bar_desc_limit));
31
+ $shortened_link = stripslashes(substr($target_url,0,$bar_link_limit));
32
+
33
+ if(strlen($prli_blogname) > $bar_title_limit)
34
+ $shortened_title .= "...";
35
+
36
+ if(strlen($prli_blogdescription) > $bar_desc_limit)
37
+ $shortened_desc .= "...";
38
+
39
+ if(strlen($target_url) > $bar_link_limit)
40
+ $shortened_link .= "...";
41
+
42
+ ?>
43
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
44
+ "http://www.w3.org/TR/html4/loose.dtd">
45
+ <html>
46
+ <head>
47
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
48
+ <title><?php echo stripslashes($link->name); ?></title>
49
+ <style type="text/css">
50
+ html, body {
51
+ margin: 0px;
52
+ padding: 0px;
53
+ <?php
54
+ if(!empty($bar_background_image) and $bar_background_image)
55
+ {
56
+ ?>
57
+ background-image: url(<?php echo $bar_background_image; ?>);
58
+ background-repeat: repeat-x;
59
+ <?php
60
+ }
61
+ else
62
+ {
63
+ ?>
64
+ background-color: #<?php echo $bar_color; ?>;
65
+ <?php
66
+ }
67
+ ?>
68
+ color: #<?php echo $bar_text_color; ?>;
69
+ }
70
+
71
+ #prettybar {
72
+ position: fixed;
73
+ top: 0;
74
+ padding: 0px;
75
+ margin: 0px;
76
+ width: 100%;
77
+ height: 65px;
78
+ border-bottom: 2px solid black;
79
+ }
80
+
81
+ .baritems {
82
+ margin-top: 0px;
83
+ padding: 0px;
84
+ }
85
+
86
+ .blog-title {
87
+ padding-top: 5px;
88
+ margin: 0px;
89
+ width: 200px;
90
+ }
91
+
92
+ h1,h2,h3,h4,p {
93
+ font-family: Arial;
94
+ padding: 0px;
95
+ margin: 0px;
96
+ }
97
+
98
+ a {
99
+ color: #<?php echo $bar_link_color; ?>;
100
+ text-decoration: none;
101
+ }
102
+
103
+ a:visited {
104
+ color: #<?php echo $bar_visited_color; ?>;
105
+ }
106
+
107
+ a:hover {
108
+ color: #<?php echo $bar_hover_color; ?>;
109
+ }
110
+
111
+ .map {
112
+ background-image: url(./images/bar_map.png);
113
+ background-repeat: no-repeat;
114
+ }
115
+
116
+ .closebutton {
117
+ background-position: -200px 0;
118
+ height: 20px;
119
+ width: 20px;
120
+ overflow: hidden;
121
+ /*text-indent: -999em;*/
122
+ cursor: pointer;
123
+ text-align: right;
124
+ float: right;
125
+ }
126
+
127
+ .pb-cell {
128
+ white-space: nowrap;
129
+ overflow: hidden;
130
+ }
131
+
132
+ .right_container {
133
+ float: right;
134
+ margin-top: 8px;
135
+ margin-right: 8px;
136
+ text-align: right;
137
+ }
138
+
139
+ .closebutton:hover {
140
+ background-position: -200px -30px;
141
+ }
142
+
143
+ .closebutton:active {
144
+ background-position: -200px -60px;
145
+ }
146
+
147
+ ul.baritems li {
148
+ display: inline;
149
+ /*float: left;*/
150
+ /*padding-left: 15px;*/
151
+ }
152
+
153
+ .retweet {
154
+ padding-top: 5px;
155
+ padding-left: 15px;
156
+ line-height: 26px;
157
+ width: 200px;
158
+ }
159
+
160
+ .blog-image {
161
+ padding-top: 7px;
162
+ padding-left: 5px;
163
+ padding-right: 5px;
164
+ width: 50px;
165
+ }
166
+
167
+ .small-text {
168
+ font-size: 10px;
169
+ }
170
+
171
+ .powered-by {
172
+ padding-top: 15px;
173
+ text-align: right;
174
+ }
175
+
176
+ /*
177
+ td {
178
+ border: 1px solid black;
179
+ }
180
+ */
181
+ </style>
182
+ </head>
183
+ <body>
184
+ <div id="prettybar">
185
+ <table width="100%" height="65px">
186
+ <tr>
187
+ <td class="blog-image" valign="top">
188
+ <div class="pb-cell">
189
+ <a href="<?php echo $prli_blogurl; ?>" target="_top"><img src="<?php echo $bar_image; ?>" width="48px" height="48px" border="0"/></a></div>
190
+ </td>
191
+ <td class="blog-title" valign="top">
192
+ <div class="pb-cell">
193
+ <h2>
194
+ <?php if( $bar_show_title ) { ?>
195
+ <a href="<?php echo $prli_blogurl; ?>" title="<?php echo $shortened_title; ?>" target="_top"><?php echo $shortened_title; ?></a>
196
+ <?php } else echo "&nbsp;"; ?>
197
+ </h2>
198
+ <?php if( $bar_show_description ) { ?>
199
+ <p title="<?php echo $prli_blogdescription; ?>"><?php echo $shortened_desc; ?></p>
200
+ <?php } else echo "&nbsp;"; ?>
201
+ </div>
202
+ </td>
203
+ <td class="retweet" valign="top">
204
+ <div class="pb-cell">
205
+ <h4>
206
+ <?php if( $bar_show_target_url_link ) { ?>
207
+ <a href="<?php echo $target_url; ?>" title="You're viewing: <?php echo $target_url; ?>" target="_top">Viewing: <?php echo $shortened_link; ?></a>
208
+ <?php } else echo "&nbsp;"; ?>
209
+ </h4>
210
+ <h4>
211
+ <?php if( $bar_show_share_links ) { ?>
212
+ <a href="http://twitter.com/home?status=<?php echo $prli_blogurl . "/" . $_GET['slug']; ?>" target="_top">Share on Twitter</a>
213
+ <?php } else echo "&nbsp;"; ?>
214
+ </h4>
215
+ </div>
216
+ </td>
217
+ <td valign="top">
218
+ <div class="pb-cell right_container">
219
+ <table width="100%" cellpadding="0" cellspacing="0" style="padding: 0px; margin: 0px;">
220
+ <tr>
221
+ <td>
222
+ <p class="map closebutton"><a href="<?php echo $target_url; ?>" target="_top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a></p>
223
+ </td>
224
+ <tr>
225
+ <td>
226
+ <?php
227
+ $link_html =<<<LINKHTML
228
+ <p class="powered-by small-text">Powered by <a href="http://blairwilliams.com/pl" target="_top"><img src="images/pretty-link-small.png" width="12px" height="12px" border="0"/> Pretty Link</a></p>
229
+ LINKHTML;
230
+ echo apply_filters('prli-display-attrib-link',$link_html);
231
+ ?>
232
+ </td>
233
+ </tr>
234
+ </table>
235
+ </div>
236
+ </td>
237
+ </tr>
238
+ </table>
239
+ </div>
240
+ </div>
241
+ </body>
242
+ </html>
pretty-link.php ADDED
@@ -0,0 +1,357 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ Plugin Name: Pretty Link
4
+ Plugin URI: http://blairwilliams.com/pretty-link
5
+ Description: Shrink, track and share any URL on the Internet from your WordPress website!
6
+ Version: 1.4.33
7
+ Author: Blair Williams
8
+ Author URI: http://blairwilliams.com
9
+ Copyright: 2009, Caseproof, LLC
10
+
11
+ GNU General Public License, Free Software Foundation <http://creativecommons.org/licenses/GPL/2.0/>
12
+ This program is free software; you can redistribute it and/or modify
13
+ it under the terms of the GNU General Public License as published by
14
+ the Free Software Foundation; either version 2 of the License, or
15
+ (at your option) any later version.
16
+
17
+ This program is distributed in the hope that it will be useful,
18
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
19
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20
+ GNU General Public License for more details.
21
+
22
+ You should have received a copy of the GNU General Public License
23
+ along with this program; if not, write to the Free Software
24
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
25
+ */
26
+
27
+ require_once('prli-config.php');
28
+ require_once(PRLI_MODELS_PATH . '/models.inc.php');
29
+ require_once('prli-api.php'); // load api methods
30
+ require_once('prli-xmlrpc.php'); // load xml-rpc api methods
31
+
32
+ $prli_inc_utils = new PrliUtils();
33
+
34
+ add_action('admin_menu', 'prli_menu');
35
+
36
+ // Provide Back End Hooks to the Pro version of Pretty Link
37
+ if($prli_inc_utils->pro_is_installed())
38
+ require_once(PRLI_PATH.'/pro/pretty-link-pro.php');
39
+
40
+ function prli_menu()
41
+ {
42
+ add_menu_page('Pretty Link', 'Pretty Link', 8, PRLI_PATH.'/prli-links.php','',PRLI_URL.'/images/pretty-link-small.png');
43
+ add_submenu_page(PRLI_PATH.'/prli-links.php', 'Pretty Link | Add New Link', 'Add New Link', 8, PRLI_PATH.'/prli-add-link.php');
44
+ add_submenu_page(PRLI_PATH.'/prli-links.php', 'Pretty Link | Groups', 'Groups', 8, PRLI_PATH.'/prli-groups.php');
45
+ add_submenu_page(PRLI_PATH.'/prli-links.php', 'Pretty Link | Hits', 'Hits', 8, PRLI_PATH.'/prli-clicks.php');
46
+ add_submenu_page(PRLI_PATH.'/prli-links.php', 'Pretty Link | Tools', 'Tools', 8, PRLI_PATH.'/prli-tools.php');
47
+ add_submenu_page(PRLI_PATH.'/prli-links.php', 'Pretty Link | Options', 'Options', 8, PRLI_PATH.'/prli-options.php');
48
+ add_submenu_page(PRLI_PATH.'/prli-links.php', 'Pretty Link | Pretty Link Pro', 'Pretty Link Pro', 8, PRLI_PATH.'/prli-pro-settings.php');
49
+
50
+ add_action('admin_head-pretty-link/prli-clicks.php', 'prli_reports_admin_header');
51
+ add_action('admin_head-pretty-link/prli-links.php', 'prli_links_admin_header');
52
+ add_action('admin_head-pretty-link/prli-add-link.php', 'prli_links_admin_header');
53
+ add_action('admin_head-pretty-link/prli-groups.php', 'prli_groups_admin_header');
54
+ add_action('admin_head-pretty-link/prli-options.php', 'prli_options_admin_header');
55
+ }
56
+
57
+ /* Add header to prli-options page */
58
+ function prli_options_admin_header()
59
+ {
60
+ require_once 'classes/views/prli-options/head.php';
61
+ }
62
+
63
+ /* Add header to prli-clicks page */
64
+ function prli_reports_admin_header()
65
+ {
66
+ // Don't show this sheesh if we're displaying the vuid or ip grouping
67
+ if(!isset($_GET['ip']) and !isset($_GET['vuid']))
68
+ {
69
+ global $prli_siteurl, $prli_click, $prli_utils;
70
+
71
+ $params = $prli_click->get_params_array();
72
+ $first_click = $prli_utils->getFirstClickDate();
73
+
74
+ // Adjust for the first click
75
+ if(isset($first_click))
76
+ {
77
+ $min_date = (int)((time()-$first_click)/60/60/24);
78
+
79
+ if($min_date < 30)
80
+ $start_timestamp = $prli_utils->get_start_date($params,$min_date);
81
+ else
82
+ $start_timestamp = $prli_utils->get_start_date($params,30);
83
+
84
+ $end_timestamp = $prli_utils->get_end_date($params);
85
+ }
86
+ else
87
+ {
88
+ $min_date = 0;
89
+ $start_timestamp = time();
90
+ $end_timestamp = time();
91
+ }
92
+
93
+ $link_id = $params['l'];
94
+ $type = $params['type'];
95
+ $group = $params['group'];
96
+
97
+ require_once 'classes/views/prli-clicks/head.php';
98
+ }
99
+ }
100
+
101
+ /* Add header to the prli-links page */
102
+ function prli_links_admin_header()
103
+ {
104
+ global $prli_siteurl;
105
+ require_once 'classes/views/prli-links/head.php';
106
+ }
107
+
108
+ /* Add header to the prli-links page */
109
+ function prli_groups_admin_header()
110
+ {
111
+ global $prli_siteurl;
112
+ require_once 'classes/views/prli-groups/head.php';
113
+ }
114
+
115
+ /********* ADD REDIRECTS FOR STANDARD MODE ***********/
116
+ function prli_redirect()
117
+ {
118
+ // we're now catching the 404 error before the template_redirect
119
+ // instead of checking for pretty link redirect on each page load
120
+ if(is_404())
121
+ {
122
+ global $prli_blogurl, $wpdb, $prli_link;
123
+
124
+ // Resolve WP installs in sub-directories
125
+ preg_match('#^http://.*?(/.*)$#', $prli_blogurl, $subdir);
126
+
127
+ $match_str = '#^'.$subdir[1].'/(.*?)([\?/].*?)?$#';
128
+
129
+ if(preg_match($match_str, $_SERVER['REQUEST_URI'], $match_val))
130
+ {
131
+ // match short slugs (most common)
132
+ prli_link_redirect_from_slug($match_val[1],$match_val[2]);
133
+
134
+ // Match nested slugs (pretty link sub-directory nesting)
135
+ $possible_links = $wpdb->get_col("SELECT slug FROM " . $prli_link->table_name . " WHERE slug like '".$match_val[1]."/%'",0);
136
+ foreach($possible_links as $possible_link)
137
+ {
138
+ // Try to match the full link against the URI
139
+ if( preg_match('#^'.$subdir[1].'/('.$possible_link.')([\?/].*?)?$#', $_SERVER['REQUEST_URI'], $match_val) )
140
+ prli_link_redirect_from_slug($possible_link,$match_val[2]);
141
+ }
142
+ }
143
+ }
144
+ }
145
+
146
+ // For use with the prli_redirect function
147
+ function prli_link_redirect_from_slug($slug,$param_str)
148
+ {
149
+ global $prli_link, $prli_utils;
150
+
151
+ $link = $prli_link->getOneFromSlug(urldecode($slug));
152
+
153
+ if(isset($link->slug) and !empty($link->slug))
154
+ {
155
+ $custom_get = $_GET;
156
+
157
+ if(isset($link->param_forwarding) and $link->param_forwarding == 'custom')
158
+ $custom_get = $prli_utils->decode_custom_param_str($link->param_struct, $param_str);
159
+
160
+ $prli_utils->track_link($link->slug,$custom_get);
161
+ exit;
162
+ }
163
+ }
164
+
165
+ //add_action('init', 'prli_redirect'); //Redirect
166
+ add_action('template_redirect', 'prli_redirect',0); //Redirect
167
+
168
+ /********* DASHBOARD WIDGET ***********/
169
+ function prli_dashboard_widget_function() {
170
+ require_once 'prli-dashboard-widget.php';
171
+ }
172
+
173
+ // Create the function use in the action hook
174
+ function prli_add_dashboard_widgets() {
175
+ global $current_user;
176
+ get_currentuserinfo();
177
+ if($current_user->user_level >= 8)
178
+ {
179
+ wp_add_dashboard_widget('prli_dashboard_widget', 'Pretty Link Quick Add', 'prli_dashboard_widget_function');
180
+
181
+ // Globalize the metaboxes array, this holds all the widgets for wp-admin
182
+ global $wp_meta_boxes;
183
+
184
+ // Get the regular dashboard widgets array
185
+ $normal_dashboard = $wp_meta_boxes['dashboard']['normal']['core'];
186
+
187
+ // Backup and delete our new dashbaord widget from the end of the array
188
+ $prli_widget_backup = array('prli_dashboard_widget' => $normal_dashboard['prli_dashboard_widget']);
189
+ unset($normal_dashboard['prli_dashboard_widget']);
190
+
191
+ // Merge the two arrays together so our widget is at the beginning
192
+ $i = 0;
193
+ foreach($normal_dashboard as $key => $value)
194
+ {
195
+ if($i == 1 or (count($normal_dashboard) <= 1 and $i == count($normal_dashboard) - 1))
196
+ $sorted_dashboard['prli_dashboard_widget'] = $prli_widget_backup['prli_dashboard_widget'];
197
+
198
+ $sorted_dashboard[$key] = $normal_dashboard[$key];
199
+ $i++;
200
+ }
201
+
202
+ // Save the sorted array back into the original metaboxes
203
+ $wp_meta_boxes['dashboard']['normal']['core'] = $sorted_dashboard;
204
+ }
205
+ }
206
+
207
+ // Hook into the 'wp_dashboard_setup' action to register our other functions
208
+ add_action('wp_dashboard_setup', 'prli_add_dashboard_widgets' );
209
+
210
+ /********* EXPORT PRETTY LINK API VIA XML-RPC ***********/
211
+ function prli_export_api($api_methods)
212
+ {
213
+ $api_methods['prli.create_pretty_link'] = 'prli_xmlrpc_create_pretty_link';
214
+ $api_methods['prli.get_all_groups'] = 'prli_xmlrpc_get_all_groups';
215
+ $api_methods['prli.get_all_links'] = 'prli_xmlrpc_get_all_links';
216
+ $api_methods['prli.get_link'] = 'prli_xmlrpc_get_link';
217
+ $api_methods['prli.get_link_from_slug'] = 'prli_xmlrpc_get_link_from_slug';
218
+ $api_methods['prli.get_pretty_link_url'] = 'prli_xmlrpc_get_pretty_link_url';
219
+ $api_methods['prli.api_version'] = 'prli_xmlrpc_api_version';
220
+
221
+ return $api_methods;
222
+ }
223
+
224
+ add_filter('xmlrpc_methods', 'prli_export_api');
225
+
226
+ /********* INSTALL PLUGIN ***********/
227
+ function prli_install()
228
+ {
229
+ global $wpdb, $prli_utils;
230
+ $db_version = 7; // this is the version of the database we're moving to
231
+ $old_db_version = get_option('prli_db_version');
232
+
233
+ $groups_table = $wpdb->prefix . "prli_groups";
234
+ $clicks_table = $wpdb->prefix . "prli_clicks";
235
+ $pretty_links_table = $wpdb->prefix . "prli_links";
236
+ $link_metas_table = $wpdb->prefix . "prli_link_metas";
237
+
238
+ $charset_collate = '';
239
+ if( $wpdb->has_cap( 'collation' ) )
240
+ {
241
+ if( !empty($wpdb->charset) )
242
+ $charset_collate = "DEFAULT CHARACTER SET $wpdb->charset";
243
+ if( !empty($wpdb->collate) )
244
+ $charset_collate .= " COLLATE $wpdb->collate";
245
+ }
246
+
247
+ if($db_version != $old_db_version)
248
+ {
249
+ $prli_utils->migrate_before_db_upgrade();
250
+
251
+ require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
252
+
253
+ /* Create/Upgrade Clicks (Hits) Table */
254
+ $sql = "CREATE TABLE " . $clicks_table . " (
255
+ id int(11) NOT NULL auto_increment,
256
+ ip varchar(255) default NULL,
257
+ browser varchar(255) default NULL,
258
+ btype varchar(255) default NULL,
259
+ bversion varchar(255) default NULL,
260
+ os varchar(255) default NULL,
261
+ referer varchar(255) default NULL,
262
+ host varchar(255) default NULL,
263
+ uri varchar(255) default NULL,
264
+ robot tinyint default 0,
265
+ first_click tinyint default 0,
266
+ created_at datetime NOT NULL,
267
+ link_id int(11) default NULL,
268
+ vuid varchar(25) default NULL,
269
+ PRIMARY KEY (id),
270
+ KEY link_id (link_id),
271
+ KEY vuid (vuid)".
272
+ // We won't worry about this constraint for now.
273
+ //CONSTRAINT ".$clicks_table."_ibfk_1 FOREIGN KEY (link_id) REFERENCES $pretty_links_table (id)
274
+ ") {$charset_collate};";
275
+
276
+ dbDelta($sql);
277
+
278
+ /* Create/Upgrade Pretty Links Table */
279
+ $sql = "CREATE TABLE " . $pretty_links_table . " (
280
+ id int(11) NOT NULL auto_increment,
281
+ name varchar(255) default NULL,
282
+ description text default NULL,
283
+ url text default NULL,
284
+ slug varchar(255) default NULL,
285
+ nofollow tinyint(1) default 0,
286
+ track_me tinyint(1) default 1,
287
+ param_forwarding varchar(255) default NULL,
288
+ param_struct varchar(255) default NULL,
289
+ redirect_type varchar(255) default '307',
290
+ created_at datetime NOT NULL,
291
+ group_id int(11) default NULL,
292
+ PRIMARY KEY (id),
293
+ KEY group_id (group_id),
294
+ KEY slug (slug)
295
+ ) {$charset_collate};";
296
+
297
+ dbDelta($sql);
298
+
299
+ /* Create/Upgrade Groups Table */
300
+ $sql = "CREATE TABLE " . $groups_table . " (
301
+ id int(11) NOT NULL auto_increment,
302
+ name varchar(255) default NULL,
303
+ description text default NULL,
304
+ cmon_g varchar(255) default NULL,
305
+ created_at datetime NOT NULL,
306
+ PRIMARY KEY (id)
307
+ ) {$charset_collate};";
308
+
309
+ dbDelta($sql);
310
+
311
+ /* Create/Upgrade Groups Table */
312
+ $sql = "CREATE TABLE {$link_metas_table} (
313
+ id int(11) NOT NULL auto_increment,
314
+ meta_key varchar(255) default NULL,
315
+ meta_value longtext default NULL,
316
+ link_id int(11) NOT NULL,
317
+ created_at datetime NOT NULL,
318
+ PRIMARY KEY (id),
319
+ KEY link_id (link_id)
320
+ ) {$charset_collate};";
321
+
322
+ dbDelta($sql);
323
+
324
+ $prli_utils->migrate_after_db_upgrade();
325
+ }
326
+
327
+ // Install / Upgrade Pretty Link Pro
328
+ $prlipro_username = get_option( 'prlipro_username' );
329
+ $prlipro_password = get_option( 'prlipro_password' );
330
+
331
+ if( !empty($prlipro_username) and !empty($prlipro_password) and
332
+ $prli_utils->get_pro_user_type($prlipro_username,$prlipro_password) != false )
333
+ $prlipro_response = $prli_utils->download_and_install_pro( $prlipro_username, $prlipro_password );
334
+
335
+ /***** SAVE OPTIONS *****/
336
+ $prli_options_str = get_option('prli_options');
337
+ $prli_options = unserialize($prli_options_str);
338
+
339
+ // If unserializing didn't work
340
+ if(!$prli_options)
341
+ $prli_options = new PrliOptions();
342
+ else
343
+ $prli_options->set_default_options(); // Sets defaults for unset options
344
+
345
+ $prli_options_str = serialize($prli_options);
346
+ delete_option('prli_options');
347
+ add_option('prli_options',$prli_options_str);
348
+
349
+ /***** SAVE DB VERSION *****/
350
+ delete_option('prli_db_version');
351
+ add_option('prli_db_version',$db_version);
352
+ }
353
+
354
+ // Ensure this gets called on first install
355
+ register_activation_hook(__FILE__,'prli_install');
356
+
357
+ ?>
prli-add-link.php ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ require_once 'prli-config.php';
3
+ require_once(PRLI_MODELS_PATH . '/models.inc.php');
4
+
5
+ $groups = $prli_group->getAll('',' ORDER BY name');
6
+ $values = setup_new_vars($groups);
7
+
8
+ require_once 'classes/views/prli-links/new.php';
9
+ ?>
prli-api.php ADDED
@@ -0,0 +1,233 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Pretty Link WordPress Plugin API
4
+ */
5
+
6
+ /**
7
+ * Returns the API Version as a string.
8
+ */
9
+ function prli_api_version()
10
+ {
11
+ return '1.3';
12
+ }
13
+
14
+ /**
15
+ * Create a Pretty Link for a long, ugly URL.
16
+ *
17
+ * @param string $target_url Required, it is the value of the Target URL you
18
+ * want the Pretty Link to redirect to
19
+ *
20
+ * @param string $slug Optional, slug for the Pretty Link (string that comes
21
+ * after the Pretty Link's slash) if this value isn't set
22
+ * then a random slug will be automatically generated.
23
+ *
24
+ * @param string $name Optional, name for the Pretty Link. If this value isn't
25
+ * set then the name will be the slug.
26
+ *
27
+ * @param string $description Optional, description for the Pretty Link.
28
+ *
29
+ * @param integer $group_id Optional, the group that this link will be placed in.
30
+ * If this value isn't set then the link will not be
31
+ * placed in a group.
32
+ *
33
+ * @param boolean $link_track_me Optional, If true the link will be tracked,
34
+ * if not set the default value (from the pretty
35
+ * link option page) will be used
36
+ *
37
+ * @param boolean $link_nofollow Optional, If true the nofollow attribute will
38
+ * be set for the link, if not set the default
39
+ * value (from the pretty link option page) will
40
+ * be used
41
+ *
42
+ * @param string $link_redirect_type Optional, valid values include '307', '301',
43
+ * 'prettybar', 'cloak' or 'pixel'
44
+ * if not set the default value (from the pretty
45
+ * link option page) will be used
46
+ *
47
+ * @return boolean / string The Full Pretty Link if Successful and false for Failure.
48
+ * This function will also set a global variable named
49
+ * $prli_pretty_slug which gives the slug of the link
50
+ * created if the link is successfully created -- it will
51
+ * set a variable named $prli_error_messages if the link
52
+ * was not successfully created.
53
+ */
54
+ function prli_create_pretty_link( $target_url,
55
+ $slug = '',
56
+ $name = '',
57
+ $description = '',
58
+ $group_id = 0,
59
+ $track_me = '',
60
+ $nofollow = '',
61
+ $redirect_type = '',
62
+ $param_forwarding = '',
63
+ $param_struct = '' )
64
+ {
65
+ global $wpdb, $prli_link, $prli_blogurl;
66
+ global $prli_error_messages, $prli_pretty_link, $prli_pretty_slug, $prli_options;
67
+
68
+ $prli_error_messages = array();
69
+
70
+ $values = array();
71
+ $values['url'] = $target_url;
72
+ $values['slug'] = (($slug == '')?$prli_link->generateValidSlug():$slug);
73
+ $values['name'] = $name;
74
+ $values['description'] = $description;
75
+ $values['group_id'] = $group_id;
76
+ $values['redirect_type'] = (($redirect_type == '')?$prli_options->link_redirect_type:$redirect_type);
77
+ $values['nofollow'] = (($nofollow == '')?$prli_options->link_nofollow:$nofollow);
78
+ $values['track_me'] = (($track_me == '')?$prli_options->link_track_me:$track_me);
79
+ $values['param_forwarding'] = (($param_forwarding == '')?'off':$param_forwarding);
80
+ $values['param_struct'] = $param_struct;
81
+
82
+ // make array look like $_POST
83
+ if(empty($values['nofollow']) or !$values['nofollow'])
84
+ unset($values['nofollow']);
85
+ if(empty($values['track_me']) or !$values['track_me'])
86
+ unset($values['track_me']);
87
+
88
+ $prli_error_messages = $prli_link->validate( $values );
89
+
90
+ if( count($prli_error_messages) == 0 )
91
+ {
92
+ if( $id = $prli_link->create( $values ) )
93
+ return $id;
94
+ else
95
+ {
96
+ $prli_error_messages[] = "An error prevented your Pretty Link from being created";
97
+ return false;
98
+ }
99
+ }
100
+ else
101
+ return false;
102
+ }
103
+
104
+ function prli_update_pretty_link( $id,
105
+ $target_url = '',
106
+ $slug = '',
107
+ $name = -1,
108
+ $description = -1,
109
+ $group_id = '',
110
+ $track_me = '',
111
+ $nofollow = '',
112
+ $redirect_type = '',
113
+ $param_forwarding = '',
114
+ $param_struct = -1 )
115
+ {
116
+ global $wpdb, $prli_link, $prli_blogurl;
117
+ global $prli_error_messages, $prli_pretty_link, $prli_pretty_slug;
118
+
119
+ if(empty($id))
120
+ {
121
+ $prli_error_messages[] = "Pretty Link ID must be set for successful update.";
122
+ return false;
123
+ }
124
+
125
+ $record = $prli_link->getOne($id);
126
+
127
+ $prli_error_messages = array();
128
+
129
+ $values = array();
130
+ $values['id'] = $id;
131
+ $values['url'] = (($target_url == '')?$record->url:$target_url);
132
+ $values['slug'] = (($slug == '')?$record->slug:$slug);
133
+ $values['name'] = (($name == -1)?$record->name:$name);
134
+ $values['description'] = (($description == -1)?$record->description:$description);
135
+ $values['group_id'] = (($group_id == '')?$record->group_id:$group_id);
136
+ $values['redirect_type'] = (($redirect_type == '')?$record->redirect_type:$redirect_type);
137
+ $values['nofollow'] = (($nofollow == '')?$record->nofollow:$nofollow);
138
+ $values['track_me'] = (($track_me == '')?(int)$record->track_me:$track_me);
139
+ $values['param_forwarding'] = (($param_forwarding == '')?$record->param_forwarding:$param_forwarding);
140
+ $values['param_struct'] = (($param_struct == -1)?$record->param_struct:$param_struct);
141
+
142
+ // make array look like $_POST
143
+ if(empty($values['nofollow']) or !$values['nofollow'])
144
+ unset($values['nofollow']);
145
+ if(empty($values['track_me']) or !$values['track_me'])
146
+ unset($values['track_me']);
147
+
148
+ $prli_error_messages = $prli_link->validate( $values );
149
+
150
+ if( count($prli_error_messages) == 0 )
151
+ {
152
+ if( $prli_link->update( $id, $values ) )
153
+ return true;
154
+ else
155
+ {
156
+ $prli_error_messages[] = "An error prevented your Pretty Link from being created";
157
+ return false;
158
+ }
159
+ }
160
+ else
161
+ return false;
162
+ }
163
+
164
+ /**
165
+ * Get all the pretty link groups in an array suitable for creating a select box.
166
+ *
167
+ * @return bool (false if failure) | array A numerical array of associative arrays
168
+ * containing all the data about the pretty
169
+ * link groups.
170
+ */
171
+ function prli_get_all_groups()
172
+ {
173
+ global $prli_group;
174
+ $groups = $prli_group->getAll('',' ORDER BY gr.name', ARRAY_A);
175
+ return $groups;
176
+ }
177
+
178
+ /**
179
+ * Get all the pretty links in an array suitable for creating a select box.
180
+ *
181
+ * @return bool (false if failure) | array A numerical array of associative arrays
182
+ * containing all the data about the pretty
183
+ * links.
184
+ */
185
+ function prli_get_all_links()
186
+ {
187
+ global $prli_link;
188
+ $links = $prli_link->getAll('',' ORDER BY li.name', ARRAY_A);
189
+ return $links;
190
+ }
191
+
192
+ /**
193
+ * Gets a specific link from a slug and returns info about it in an array
194
+ *
195
+ * @return bool (false if failure) | array An associative array with all the
196
+ * data about the given pretty link.
197
+ */
198
+ function prli_get_link_from_slug($slug, $return_type = OBJECT, $include_stats = false)
199
+ {
200
+ global $prli_link;
201
+ $link = $prli_link->getOneFromSlug($slug, $return_type, $include_stats);
202
+ return $link;
203
+ }
204
+
205
+ /**
206
+ * Gets a specific link from id and returns info about it in an array
207
+ *
208
+ * @return bool (false if failure) | array An associative array with all the
209
+ * data about the given pretty link.
210
+ */
211
+ function prli_get_link($id, $return_type = OBJECT, $include_stats = false)
212
+ {
213
+ global $prli_link;
214
+ $link = $prli_link->getOne($id, $return_type, $include_stats);
215
+ return $link;
216
+ }
217
+
218
+ /**
219
+ * Gets the full pretty link url from an id
220
+ *
221
+ * @return bool (false if failure) | string the pretty link url
222
+ */
223
+ function prli_get_pretty_link_url($id)
224
+ {
225
+ global $prli_link,$prli_blogurl;
226
+
227
+ if($pretty_link = $prli_link->getOne($id))
228
+ return "{$prli_blogurl}/{$pretty_link->slug}";
229
+
230
+ return false;
231
+ }
232
+
233
+ ?>
prli-bookmarklet.php ADDED
@@ -0,0 +1,94 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $root = dirname(dirname(dirname(dirname(__FILE__))));
3
+ if (file_exists($root.'/wp-load.php'))
4
+ require_once($root.'/wp-load.php');
5
+ else
6
+ require_once($root.'/wp-config.php');
7
+
8
+ require_once('prli-config.php');
9
+ require_once(PRLI_MODELS_PATH . '/models.inc.php');
10
+
11
+ if(isset($_GET['k']))
12
+ {
13
+ if($_GET['k'] == $prli_options->bookmarklet_auth)
14
+ {
15
+ $redirect_type = ((isset($_GET['rt']) and $_GET['rt'] != '-1')?$_GET['rt']:'');
16
+ $track = ((isset($_GET['trk']) and $_GET['trk'] != '-1')?$_GET['trk']:'');
17
+ $group = ((isset($_GET['grp']) and $_GET['grp'] != '-1')?$_GET['grp']:'');
18
+
19
+ $result = prli_create_pretty_link( $_GET['target_url'], '', '', '', $group, $track, '', $redirect_type );
20
+
21
+ $plink = $prli_link->getOne($result);
22
+ $target_url = $plink->url;
23
+ $target_url_title = $plink->name;
24
+ $pretty_link = "{$prli_blogurl}/{$plink->slug}";
25
+
26
+ $twitter_status = substr($target_url_title,0,(114 - strlen($pretty_link))) . ((strlen($target_url_title) > 114)?"...":'') . " | $pretty_link";
27
+ ?>
28
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
29
+ "http://www.w3.org/TR/html4/loose.dtd">
30
+ <html>
31
+ <head>
32
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
33
+ <title>Here's your Pretty Link</title>
34
+ <style type="text/css">
35
+ body {
36
+ font-family: Arial;
37
+ text-align: center;
38
+ margin-top: 25px;
39
+ }
40
+
41
+ h4 {
42
+ font-size: 18px;
43
+ color: #aaaaaa;
44
+ }
45
+
46
+ h2 {
47
+ font-size: 24px;
48
+ font-weight: bold;
49
+ }
50
+
51
+ h2 a {
52
+ text-decoration: none;
53
+ color: #1f487e;
54
+ }
55
+
56
+ h2 a:hover {
57
+ text-decoration: none;
58
+ color: blue;
59
+ }
60
+ </style>
61
+ </head>
62
+ <body>
63
+ <p><img src="<?php echo PRLI_URL; ?>/images/prettylink_logo.jpg" /></p>
64
+ <h4><em>here's your pretty link for:</em><br/><?php echo $target_url_title; ?><br/>(<span title="<?php echo $target_url; ?>"><?php echo substr($target_url,0,50) . ((strlen($target_url)>50)?"...":''); ?></span>)</h4>
65
+ <h2><a href="<?php echo $pretty_link; ?>"><?php echo $pretty_link; ?></a></h2>
66
+ <p>send this link to:<br/>
67
+ <a href="http://del.icio.us/post?url=<?php echo urlencode($pretty_link) ?>&title=<?php echo urlencode($target_url_title); ?>" target="_blank"><img src="<?php echo PRLI_URL; ?>/images/delicious_32.png" title="delicious" width="32px" height="32px" border="0" /></a>&nbsp;&nbsp;
68
+ <a href="http://www.stumbleupon.com/submit?url=<?php echo urlencode($pretty_link) ?>&title=<?php echo urlencode($target_url_title); ?>" target="_blank"><img src="<?php echo PRLI_URL; ?>/images/stumbleupon_32.png" title="stumbleupon" width="32px" height="32px" border="0" /></a>&nbsp;&nbsp;
69
+ <a href="http://digg.com/submit?phase=2&url=<?php echo urlencode($pretty_link) ?>&title=<?php echo urlencode($target_url_title); ?>" target="_blank"><img src="<?php echo PRLI_URL; ?>/images/digg_32.png" title="digg" width="32px" height="32px" border="0" /></a>&nbsp;&nbsp;
70
+ <a href="http://twitter.com/home?status=<?php echo urlencode($twitter_status); ?>" target="_blank"><img src="<?php echo PRLI_URL; ?>/images/twitter_32.png" title="twitter" width="32px" height="32px" border="0" /></a>&nbsp;&nbsp;
71
+ <a href="http://www.mixx.com/submit?page_url=<?php echo urlencode($pretty_link) ?>&title=<?php echo urlencode($target_url_title); ?>" target="_blank"><img src="<?php echo PRLI_URL; ?>/images/mixx_32.png" title="mixx" width="32px" height="32px" border="0" /></a>&nbsp;&nbsp;
72
+ <a href="http://technorati.com/faves?add=<?php echo urlencode($pretty_link) ?>" target="_blank"><img src="<?php echo PRLI_URL; ?>/images/technorati_32.png" title="technorati" width="32px" height="32px" border="0" /></a>&nbsp;&nbsp;
73
+ <a href="http://www.facebook.com/sharer.php?u=<?php echo urlencode($pretty_link) ?>&t=<?php echo urlencode($target_url_title); ?>" target="_blank"><img src="<?php echo PRLI_URL; ?>/images/facebook_32.png" title="facebook" width="32px" height="32px" border="0" /></a>&nbsp;&nbsp;
74
+ <a href="http://www.newsvine.com/_tools/seed&save?u=<?php echo urlencode($pretty_link) ?>&h=<?php echo urlencode($target_url_title); ?>" target="_blank"><img src="<?php echo PRLI_URL; ?>/images/newsvine_32.png" title="news vine" width="32px" height="32px" border="0" /></a>&nbsp;&nbsp;
75
+ <a href="http://reddit.com/submit?url=<?php echo urlencode($pretty_link) ?>&title=<?php echo urlencode($target_url_title); ?>" target="_blank"><img src="<?php echo PRLI_URL; ?>/images/reddit_32.png" title="reddit" width="32px" height="32px" border="0" /></a>&nbsp;&nbsp;
76
+ <a href="http://www.linkedin.com/sharearticle?mini=true&url=<?php echo urlencode($pretty_link) ?>&title=<?php echo urlencode($target_url_title); ?>" target="_blank"><img src="<?php echo PRLI_URL; ?>/images/linkedin_32.png" title="linkedin" width="32px" height="32px" border="0" /></a>&nbsp;&nbsp;
77
+ <a href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=<?php echo urlencode($pretty_link) ?>&=<?php echo urlencode($target_url_title); ?>" target="_blank"><img src="<?php echo PRLI_URL; ?>/images/yahoobuzz_32.png" title="yahoo! bookmarks" width="32px" height="32px" border="0" /></a>&nbsp;&nbsp;
78
+ <p><a href="<?php echo $_GET['target_url']; ?>">&laquo; back</a></p>
79
+ </body>
80
+ </html>
81
+ <?php
82
+ }
83
+ else
84
+ {
85
+ wp_redirect($prli_blogurl);
86
+ exit;
87
+ }
88
+ }
89
+ else
90
+ {
91
+ wp_redirect($prli_blogurl);
92
+ exit;
93
+ }
94
+ ?>
prli-clicks.php ADDED
@@ -0,0 +1,237 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if(isset($_GET['action']) and $_GET['action'] == 'csv')
4
+ {
5
+ $root = dirname(dirname(dirname(dirname(__FILE__))));
6
+ if (file_exists($root.'/wp-load.php'))
7
+ require_once($root.'/wp-load.php');
8
+ else
9
+ require_once($root.'/wp-config.php');
10
+ }
11
+
12
+ require_once 'prli-config.php';
13
+ require_once(PRLI_MODELS_PATH . '/models.inc.php');
14
+ require_once(PRLI_PATH . '/prli-image-lookups.php');
15
+
16
+ $controller_file = basename(__FILE__);
17
+
18
+ if($_GET['action'] == null and $_POST['action'] == null)
19
+ {
20
+ $page_params = '';
21
+
22
+ $params = $prli_click->get_params_array();
23
+
24
+ $current_page = $params['paged'];
25
+
26
+ $start_timestamp = $prli_utils->get_start_date($params);
27
+ $end_timestamp = $prli_utils->get_end_date($params);
28
+
29
+ $start_timestamp = mktime(0, 0, 0, date('n', $start_timestamp), date('j', $start_timestamp), date('Y', $start_timestamp));
30
+ $end_timestamp = mktime(0, 0, 0, date('n', $end_timestamp), date('j', $end_timestamp), date('Y', $end_timestamp) );
31
+
32
+ $sdyear = date('Y',$start_timestamp);
33
+ $sdmon = date('n',$start_timestamp);
34
+ $sddom = date('j',$start_timestamp);
35
+
36
+ $edyear = date('Y',$end_timestamp);
37
+ $edmon = date('n',$end_timestamp);
38
+ $eddom = date('j',$end_timestamp);
39
+
40
+ $where_clause = " cl.created_at BETWEEN '$sdyear-$sdmon-$sddom 00:00:00' AND '$edyear-$edmon-$eddom 23:59:59'";
41
+
42
+ if(!empty($params['sdate']))
43
+ $page_params .= "&sdate=".$params['sdate'];
44
+
45
+ if(!empty($params['edate']))
46
+ $page_params .= "&edate=".$params['edate'];
47
+
48
+ if(!empty($params['l']) and $params['l'] != 'all')
49
+ {
50
+ $where_clause .= (($params['l'] != 'all')?" AND cl.link_id=".$params['l']:'');
51
+ $link_name = $wpdb->get_var("SELECT name FROM ".$wpdb->prefix."prli_links WHERE id=".$params['l']);
52
+ $link_slug = $wpdb->get_var("SELECT slug FROM ".$wpdb->prefix."prli_links WHERE id=".$params['l']);
53
+
54
+ $page_params .= "&l=".$params['l'];
55
+ }
56
+ else if(!empty($params['ip']))
57
+ {
58
+ $link_name = "IP Address: " . $params['ip'];
59
+ $where_clause .= " AND cl.ip='".$params['ip']."'";
60
+ $page_params .= "&ip=".$params['ip'];
61
+ }
62
+ else if(!empty($params['vuid']))
63
+ {
64
+ $link_name = "Visitor: " . $params['vuid'];
65
+ $where_clause .= " AND cl.vuid='".$params['vuid']."'";
66
+ $page_params .= "&vuid=".$params['vuid'];
67
+ }
68
+ else if(!empty($params['group']))
69
+ {
70
+ $group = $prli_group->getOne($params['group']);
71
+ $link_name = "Group: " . $group->name;
72
+ $where_clause .= " AND cl.link_id IN (SELECT id FROM " . $prli_link->table_name . " WHERE group_id=".$params['group'].")";
73
+ $page_params .= "&group=".$params['group'];
74
+ }
75
+ else
76
+ {
77
+ $link_name = "All Links";
78
+ $where_clause .= "";
79
+ $page_params .= "";
80
+ }
81
+
82
+ if($params['type'] == "unique")
83
+ {
84
+ $where_clause .= " AND first_click=1";
85
+ $page_params .= "&type=unique";
86
+ }
87
+
88
+ $click_vars = prli_get_click_sort_vars($params,$where_clause);
89
+ $sort_params = $page_params . $click_vars['sort_params'];
90
+ $page_params .= $click_vars['page_params'];
91
+ $sort_str = $click_vars['sort_str'];
92
+ $sdir_str = $click_vars['sdir_str'];
93
+ $search_str = $click_vars['search_str'];
94
+
95
+ $where_clause = $click_vars['where_clause'];
96
+ $order_by = $click_vars['order_by'];
97
+ $count_where_clause = $click_vars['count_where_clause'];
98
+
99
+ $record_count = $prli_click->getRecordCount($count_where_clause);
100
+ $page_count = $prli_click->getPageCount($page_size,$count_where_clause);
101
+ $clicks = $prli_click->getPage($current_page,$page_size,$where_clause,$order_by,true);
102
+ $page_last_record = $prli_utils->getLastRecordNum($record_count,$current_page,$page_size);
103
+ $page_first_record = $prli_utils->getFirstRecordNum($record_count,$current_page,$page_size);
104
+
105
+ require_once 'classes/views/prli-clicks/list.php';
106
+ }
107
+ else if($_GET['action'] == 'csv' or $_POST['action'] == 'csv')
108
+ {
109
+ if(isset($_GET['l']))
110
+ {
111
+ $where_clause = " link_id=".$_GET['l'];
112
+ $link_name = $wpdb->get_var("SELECT name FROM ".$wpdb->prefix."prli_links WHERE id=".$_GET['l']);
113
+ $link_slug = $wpdb->get_var("SELECT slug FROM ".$wpdb->prefix."prli_links WHERE id=".$_GET['l']);
114
+ }
115
+ else if(isset($_GET['ip']))
116
+ {
117
+ $link_name = "ip_addr_" . $_GET['ip'];
118
+ $where_clause = " cl.ip='".$_GET['ip']."'";
119
+ }
120
+ else if(isset($_GET['vuid']))
121
+ {
122
+ $link_name = "visitor_" . $_GET['vuid'];
123
+ $where_clause = " cl.vuid='".$_GET['vuid']."'";
124
+ }
125
+ else if(isset($_GET['group']))
126
+ {
127
+ $group = $prli_group->getOne($_GET['group']);
128
+ $link_name = "group_" . $group->name;
129
+ $where_clause .= " cl.link_id IN (SELECT id FROM " . $prli_link->table_name . " WHERE group_id=".$_GET['group'].")";
130
+ }
131
+ else
132
+ {
133
+ $link_name = "all_links";
134
+ $where_clause = "";
135
+ }
136
+
137
+ $clicks = $prli_click->getAll($where_clause);
138
+ require_once 'classes/views/prli-clicks/csv.php';
139
+ }
140
+
141
+ // Helpers
142
+ function prli_get_click_sort_vars($params,$where_clause = '')
143
+ {
144
+ $count_where_clause = '';
145
+ $page_params = '';
146
+
147
+ // These will have to work with both get and post
148
+ $sort_str = $params['sort'];
149
+ $sdir_str = $params['sdir'];
150
+ $search_str = $params['search'];
151
+
152
+ // Insert search string
153
+ if(!empty($search_str))
154
+ {
155
+ $search_params = explode(" ", $search_str);
156
+
157
+ $first_pass = true;
158
+ foreach($search_params as $search_param)
159
+ {
160
+ if($first_pass)
161
+ {
162
+ if($where_clause != '')
163
+ $where_clause .= ' AND';
164
+
165
+ $first_pass = false;
166
+ }
167
+ else
168
+ $where_clause .= ' AND';
169
+
170
+ $where_clause .= " (cl.ip LIKE '%$search_param%' OR ".
171
+ "cl.vuid LIKE '%$search_param%' OR ".
172
+ "cl.btype LIKE '%$search_param%' OR ".
173
+ "cl.bversion LIKE '%$search_param%' OR ".
174
+ "cl.host LIKE '%$search_param%' OR ".
175
+ "cl.referer LIKE '%$search_param%' OR ".
176
+ "cl.uri LIKE '%$search_param%' OR ".
177
+ "cl.created_at LIKE '%$search_param%'";
178
+ $count_where_clause = $where_clause . ")";
179
+ $where_clause .= " OR li.name LIKE '%$search_param%')";
180
+ }
181
+
182
+ $page_params .="&search=$search_str";
183
+ }
184
+
185
+ // Have to create a separate var so sorting doesn't get screwed up
186
+ $sort_params = $page_params;
187
+
188
+ // make sure page params stay correct
189
+ if(!empty($sort_str))
190
+ $page_params .="&sort=$sort_str";
191
+
192
+ if(!empty($sdir_str))
193
+ $page_params .= "&sdir=$sdir_str";
194
+
195
+ if(empty($count_where_clause))
196
+ $count_where_clause = $where_clause;
197
+
198
+ // Add order by clause
199
+ switch($sort_str)
200
+ {
201
+ case "ip":
202
+ case "vuid":
203
+ case "btype":
204
+ case "bversion":
205
+ case "host":
206
+ case "referer":
207
+ case "uri":
208
+ $order_by .= " ORDER BY cl.$sort_str";
209
+ break;
210
+ case "link":
211
+ $order_by .= " ORDER BY li.name";
212
+ break;
213
+ default:
214
+ $order_by .= " ORDER BY cl.created_at";
215
+ }
216
+
217
+ // Toggle ascending / descending
218
+ if((empty($sort_str) and empty($sdir_str)) or $sdir_str == 'desc')
219
+ {
220
+ $order_by .= ' DESC';
221
+ $sdir_str = 'desc';
222
+ }
223
+ else
224
+ $sdir_str = 'asc';
225
+
226
+ return array('count_where_clause' => $count_where_clause,
227
+ 'sort_str' => $sort_str,
228
+ 'sdir_str' => $sdir_str,
229
+ 'search_str' => $search_str,
230
+ 'where_clause' => $where_clause,
231
+ 'order_by' => $order_by,
232
+ 'sort_params' => $sort_params,
233
+ 'page_params' => $page_params);
234
+ }
235
+
236
+
237
+ ?>
prli-config.php ADDED
@@ -0,0 +1,131 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ define(PRLI_PLUGIN_NAME,"pretty-link");
3
+ define(PRLI_PATH,WP_PLUGIN_DIR.'/'.PRLI_PLUGIN_NAME);
4
+ define(PRLI_MODELS_PATH,PRLI_PATH.'/classes/models');
5
+ define(PRLI_VIEWS_PATH,PRLI_PATH.'/classes/views');
6
+ //define(PRLI_URL,WP_PLUGIN_URL.'/'.PRLI_PLUGIN_NAME);
7
+ define(PRLI_URL,plugins_url($path = '/'.PRLI_PLUGIN_NAME));
8
+
9
+ require_once(PRLI_MODELS_PATH.'/PrliOptions.php');
10
+
11
+ global $prli_version;
12
+ $prli_version = '1.4.33';
13
+
14
+ // For IIS compatibility
15
+ if (!function_exists('fnmatch'))
16
+ {
17
+ function fnmatch($pattern, $string)
18
+ {
19
+ return preg_match("#^".strtr(preg_quote($pattern, '#'), array('\*' => '.*', '\?' => '.'))."$#i", $string);
20
+ }
21
+ }
22
+
23
+ // The number of items per page on a table
24
+ global $page_size;
25
+ $page_size = 10;
26
+
27
+ global $prli_blogurl;
28
+ global $prli_siteurl;
29
+ global $prli_blogname;
30
+ global $prli_blogdescription;
31
+
32
+ $prli_blogurl = ((get_option('home'))?get_option('home'):get_option('siteurl'));
33
+ $prli_siteurl = get_option('siteurl');
34
+ $prli_blogname = get_option('blogname');
35
+ $prli_blogdescription = get_option('blogdescription');
36
+
37
+ /***** SETUP OPTIONS OBJECT *****/
38
+ global $prli_options;
39
+
40
+ $prli_options_str = get_option('prli_options');
41
+ $prli_options = unserialize($prli_options_str);
42
+
43
+ // If unserializing didn't work
44
+ if(!$prli_options)
45
+ {
46
+ $prli_options = new PrliOptions();
47
+
48
+ $prli_options_str = serialize($prli_options);
49
+ delete_option('prli_options');
50
+ add_option('prli_options',$prli_options_str);
51
+ }
52
+ else
53
+ $prli_options->set_default_options(); // Sets defaults for unset options
54
+
55
+ /***** TODO: Uh... these functions should find a better home somewhere *****/
56
+ function setup_new_vars($groups)
57
+ {
58
+ global $prli_link, $prli_options;
59
+
60
+ $values = array();
61
+ $values['url'] = (($_POST['url'] != null)?$_POST['url']:'');
62
+ $values['slug'] = (($_POST['slug'] != null)?$_POST['slug']:$prli_link->generateValidSlug());
63
+ $values['name'] = htmlspecialchars((($_POST['name'] != null)?stripslashes($_POST['name']):''));
64
+ $values['description'] = htmlspecialchars((($_POST['description'] != null)?stripslashes($_POST['description']):''));
65
+
66
+ $values['track_me'] = (((isset($_POST['track_me']) and $_POST['track_me'] == 'on') or (!isset($_POST['track_me']) and $prli_options->link_track_me == '1'))?'checked="true"':'');
67
+ $values['nofollow'] = (((isset($_POST['nofollow']) and $_POST['nofollow'] == 'on') or (!isset($_POST['nofollow']) and $prli_options->link_nofollow == '1'))?'checked="true"':'');
68
+
69
+ $values['redirect_type'] = array();
70
+ $values['redirect_type']['307'] = (((isset($_POST['redirect_type']) and $_POST['redirect_type'] == '307') or (!isset($_POST['redirect_type']) and $prli_options->link_redirect_type == '307'))?'selected="selected"':'');
71
+ $values['redirect_type']['301'] = (((isset($_POST['redirect_type']) and $_POST['redirect_type'] == '301') or (!isset($_POST['redirect_type']) and $prli_options->link_redirect_type == '301'))?'selected="selected"':'');
72
+ $values['redirect_type']['prettybar'] = (((isset($_POST['redirect_type']) and $_POST['redirect_type'] == 'prettybar') or (!isset($_POST['redirect_type']) and $prli_options->link_redirect_type == 'prettybar'))?'selected="selected"':'');
73
+ $values['redirect_type']['cloak'] = (((isset($_POST['redirect_type']) and $_POST['redirect_type'] == 'cloak') or (!isset($_POST['redirect_type']) and $prli_options->link_redirect_type == 'cloak'))?'selected="selected"':'');
74
+ $values['redirect_type']['pixel'] = (((isset($_POST['redirect_type']) and $_POST['redirect_type'] == 'pixel') or (!isset($_POST['redirect_type']) and $prli_options->link_redirect_type == 'pixel'))?'selected="selected"':'');
75
+
76
+ $values['groups'] = array();
77
+
78
+ if(is_array($groups))
79
+ {
80
+ foreach($groups as $group)
81
+ {
82
+ $values['groups'][] = array( 'id' => $group->id,
83
+ 'value' => (($_POST['group_id'] == $group->id)?' selected="true"':''),
84
+ 'name' => $group->name );
85
+ }
86
+ }
87
+
88
+ $values['param_forwarding'] = array();
89
+ $values['param_forwarding']['off'] = (((isset($_POST['param_forwarding']) and $_POST['param_forwarding'] == 'off') or !isset($_POST['param_forwarding']))?'checked="true"':'');
90
+ $values['param_forwarding']['on'] = ((isset($_POST['param_forwarding']) and $_POST['param_forwarding'] == 'on')?'checked="true"':'');
91
+ $values['param_forwarding']['custom'] = ((isset($_POST['param_forwarding']) and $_POST['param_forwarding'] == 'custom')?'checked="true"':'');
92
+
93
+ return $values;
94
+ }
95
+
96
+ function setup_edit_vars($groups,$record)
97
+ {
98
+ global $prli_link;
99
+
100
+ $values = array();
101
+ $values['url'] = (($_POST['url'] != null and $record == null)?$_POST['url']:$record->url);
102
+ $values['slug'] = (($_POST['slug'] != null and $record == null)?$_POST['slug']:$record->slug);
103
+ $values['name'] = htmlspecialchars(stripslashes((($_POST['name'] != null and $record == null)?$_POST['name']:$record->name)));
104
+ $values['description'] = htmlspecialchars(stripslashes((($_POST['description'] != null and $record == null)?$_POST['description']:$record->description)));
105
+ $values['track_me'] = ((($_POST['track_me'] or $record->track_me) and ($_POST['track_me'] == 'on' or $record->track_me == 1))?'checked="true"':'');
106
+ $values['nofollow'] = ((($_POST['nofollow'] or $record->nofollow) and ($_POST['nofollow'] == 'on' or $record->nofollow == 1))?'checked="true"':'');
107
+
108
+ $values['groups'] = array();
109
+ foreach($groups as $group)
110
+ {
111
+ $values['groups'][] = array( 'id' => $group->id,
112
+ 'value' => ((($_POST['group_id'] == $group->id) or ($record->group_id == $group->id))?' selected="true"':''),
113
+ 'name' => $group->name );
114
+ }
115
+
116
+ $values['param_forwarding'] = array();
117
+ $values['param_forwarding']['off'] = ((!isset($_POST['param_forwarding']) or $record->param_forwarding == 'off')?'checked="true"':'');
118
+ $values['param_forwarding']['on'] = (((isset($_POST['param_forwarding']) and $_POST['param_forwarding'] == 'on') or (isset($record->param_forwarding) and $record->param_forwarding == 'on'))?'checked="true"':'');
119
+ $values['param_forwarding']['custom'] = (((isset($_POST['param_forwarding']) and $_POST['param_forwarding'] == 'custom') or (isset($record->param_forwarding) and $record->param_forwarding == 'custom'))?'checked="true"':'');
120
+ $values['param_struct'] = (($_POST['param_struct'] != null and $record == null)?$_POST['param_struct']:$record->param_struct);
121
+
122
+ $values['redirect_type'] = array();
123
+ $values['redirect_type']['307'] = ((!isset($_POST['redirect_type']) or (isset($_POST['redirect_type']) and $_POST['redirect_type'] == '307') or (isset($record->redirect_type) and $record->redirect_type == '307'))?' selected="selected"':'');
124
+ $values['redirect_type']['301'] = (((isset($_POST['redirect_type']) and $_POST['redirect_type'] == '301') or (isset($record->redirect_type) and $record->redirect_type == '301'))?' selected="selected"':'');
125
+ $values['redirect_type']['prettybar'] = (((isset($_POST['redirect_type']) and $_POST['redirect_type'] == 'prettybar') or (isset($record->redirect_type) and $record->redirect_type == 'prettybar'))?' selected="selected"':'');
126
+ $values['redirect_type']['cloak'] = (((isset($_POST['redirect_type']) and $_POST['redirect_type'] == 'cloak') or (isset($record->redirect_type) and $record->redirect_type == 'cloak'))?' selected="selected"':'');
127
+ $values['redirect_type']['pixel'] = (((isset($_POST['redirect_type']) and $_POST['redirect_type'] == 'pixel') or (isset($record->redirect_type) and $record->redirect_type == 'pixel'))?' selected="selected"':'');
128
+
129
+ return $values;
130
+ }
131
+ ?>
prli-dashboard-widget.php ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ require_once('prli-config.php');
3
+ require_once(PRLI_MODELS_PATH . '/models.inc.php');
4
+
5
+ $message = prli_get_main_message("Add a Pretty Link from your Dashboard:");
6
+
7
+ global $prli_group,$prli_link,$prli_blogurl;
8
+
9
+ $groups = $prli_group->getAll('',' ORDER BY name');
10
+ $values = setup_new_vars($groups);
11
+
12
+ require_once(PRLI_VIEWS_PATH . "/prli-dashboard-widget/widget.php");
13
+ ?>
prli-groups.php ADDED
@@ -0,0 +1,175 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ require_once 'prli-config.php';
3
+ require_once(PRLI_MODELS_PATH . '/models.inc.php');
4
+
5
+ $params = $prli_group->get_params_array();
6
+
7
+ if($params['action'] == 'list')
8
+ {
9
+ $prli_message = "Create a group and use it to organize your Pretty Links.";
10
+ prli_display_groups_list($params, $prli_message);
11
+ }
12
+ else if($params['action'] == 'new')
13
+ {
14
+ $links = $prli_link->getAll('',' ORDER BY li.name');
15
+ require_once 'classes/views/prli-groups/new.php';
16
+ }
17
+ else if($params['action'] == 'create')
18
+ {
19
+ $errors = $prli_group->validate($_POST);
20
+ if( count($errors) > 0 )
21
+ {
22
+ $links = $prli_link->getAll('',' ORDER BY li.name');
23
+ require_once 'classes/views/prli-groups/new.php';
24
+ }
25
+ else
26
+ {
27
+ $insert_id = $prli_group->create( $_POST );
28
+ prli_update_groups($insert_id, $_POST['link']);
29
+ $prli_message = "Your Pretty Link Group was Successfully Created";
30
+ prli_display_groups_list($params, $prli_message, '', 1);
31
+ }
32
+ }
33
+ else if($params['action'] == 'edit')
34
+ {
35
+ $record = $prli_group->getOne( $params['id'] );
36
+ $id = $params['id'];
37
+ $links = $prli_link->getAll('',' ORDER BY li.name');
38
+ require_once 'classes/views/prli-groups/edit.php';
39
+ }
40
+ else if($params['action'] == 'update')
41
+ {
42
+ $errors = $prli_group->validate($_POST);
43
+ $id = $_POST['id'];
44
+ if( count($errors) > 0 )
45
+ {
46
+ $links = $prli_link->getAll('',' ORDER BY li.name');
47
+ require_once 'classes/views/prli-groups/edit.php';
48
+ }
49
+ else
50
+ {
51
+ $record = $prli_group->update( $_POST['id'], $_POST );
52
+ prli_update_groups($_POST['id'],$_POST['link']);
53
+ $prli_message = "Your Pretty Link Group was Successfully Updated";
54
+ prli_display_groups_list($params, $prli_message, '', 1);
55
+ }
56
+ }
57
+ else if($params['action'] == 'destroy')
58
+ {
59
+ $prli_group->destroy( $params['id'] );
60
+ $prli_message = "Your Pretty Link Group was Successfully Deleted";
61
+ prli_display_groups_list($params, $prli_message, '', 1);
62
+ }
63
+
64
+ function prli_update_groups($group_id, $values)
65
+ {
66
+ global $prli_link;
67
+
68
+ $links = $prli_link->getAll();
69
+
70
+ foreach($links as $link)
71
+ {
72
+ // Only update a group if the user's pulling it from another group
73
+ if($link->group_id != $group_id and empty($values[$link->id]))
74
+ continue;
75
+
76
+ $prli_link->update_group($link->id, $values[$link->id], $group_id);
77
+ }
78
+ }
79
+
80
+ // Helpers
81
+ function prli_display_groups_list($params, $prli_message, $page_params_ov = false, $current_page_ov = false)
82
+ {
83
+ global $wpdb, $prli_utils, $prli_group, $prli_click, $prli_link, $page_size;
84
+
85
+ $controller_file = basename(__FILE__);
86
+
87
+ $group_vars = prli_get_group_sort_vars($params);
88
+
89
+ if($current_page_ov)
90
+ $current_page = $current_page_ov;
91
+ else
92
+ $current_page = $params['paged'];
93
+
94
+ if($page_params_ov)
95
+ $page_params = $page_params_ov;
96
+ else
97
+ $page_params = $group_vars['page_params'];
98
+
99
+ $sort_str = $group_vars['sort_str'];
100
+ $sdir_str = $group_vars['sdir_str'];
101
+ $search_str = $group_vars['search_str'];
102
+
103
+ $record_count = $prli_group->getRecordCount($group_vars['where_clause']);
104
+ $page_count = $prli_group->getPageCount($page_size,$group_vars['where_clause']);
105
+ $groups = $prli_group->getPage($current_page,$page_size,$group_vars['where_clause'],$group_vars['order_by']);
106
+ $page_last_record = $prli_utils->getLastRecordNum($record_count,$current_page,$page_size);
107
+ $page_first_record = $prli_utils->getFirstRecordNum($record_count,$current_page,$page_size);
108
+
109
+ require_once 'classes/views/prli-groups/list.php';
110
+ }
111
+
112
+ function prli_get_group_sort_vars($params,$where_clause = '')
113
+ {
114
+ $order_by = '';
115
+ $page_params = '';
116
+
117
+ // These will have to work with both get and post
118
+ $sort_str = $params['sort'];
119
+ $sdir_str = $params['sdir'];
120
+ $search_str = $params['search'];
121
+
122
+ // Insert search string
123
+ if(!empty($search_str))
124
+ {
125
+ $search_params = explode(" ", $search_str);
126
+
127
+ foreach($search_params as $search_param)
128
+ {
129
+ if(!empty($where_clause))
130
+ $where_clause .= " AND";
131
+
132
+ $where_clause .= " (name like '%$search_param%' OR description like '%$search_param%' OR created_at like '%$search_param%')";
133
+ }
134
+
135
+ $page_params .="&search=$search_str";
136
+ }
137
+
138
+ // make sure page params stay correct
139
+ if(!empty($sort_str))
140
+ $page_params .="&sort=$sort_str";
141
+
142
+ if(!empty($sdir_str))
143
+ $page_params .= "&sdir=$sdir_str";
144
+
145
+ // Add order by clause
146
+ switch($sort_str)
147
+ {
148
+ case "name":
149
+ case "link_count":
150
+ case "click_count":
151
+ case "description":
152
+ $order_by .= " ORDER BY $sort_str";
153
+ break;
154
+ default:
155
+ $order_by .= " ORDER BY created_at";
156
+ }
157
+
158
+ // Toggle ascending / descending
159
+ if((empty($sort_str) and empty($sdir_str)) or $sdir_str == 'desc')
160
+ {
161
+ $order_by .= ' DESC';
162
+ $sdir_str = 'desc';
163
+ }
164
+ else
165
+ $sdir_str = 'asc';
166
+
167
+ return array('order_by' => $order_by,
168
+ 'sort_str' => $sort_str,
169
+ 'sdir_str' => $sdir_str,
170
+ 'search_str' => $search_str,
171
+ 'where_clause' => $where_clause,
172
+ 'page_params' => $page_params);
173
+ }
174
+
175
+ ?>
prli-image-lookups.php ADDED
@@ -0,0 +1,136 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $browser_images = array(
3
+ "Akregator" => "akregator.png",
4
+ "Amiga" => "amigavoyager.png",
5
+ "Avant Browser" => "avant.png",
6
+ "Chimera" => "chimera.png",
7
+ "Chrome" => "chrome.png",
8
+ "Dillo" => "dillo.png",
9
+ "eCatch" => "ecatch.png",
10
+ "Enigma Browser" => "epiphany.png",
11
+ "FeedDemon" => "feeddemon.png",
12
+ "Firefox" => "firefox.png",
13
+ "Firefox Mobile" => "firefox.png",
14
+ "FlashGet" => "flashget.png",
15
+ "FreshDownload" => "freshdownload.png",
16
+ "FrontPage" => "frontpage.png",
17
+ "Galeon" => "galeon.png",
18
+ "GetRight" => "getright.png",
19
+ "GetRightPro" => "getright.png",
20
+ "gnome-vfs" => "gnome.png",
21
+ "GoZilla" => "gozilla.png",
22
+ "HTTrack" => "httrack.png",
23
+ "IBrowse" => "ibrowse.png",
24
+ "iCab" => "icab.png",
25
+ "K-Meleon" => "kmeleon.png",
26
+ "Konqueror" => "konqueror.png",
27
+ "LeechGet" => "leechget.png",
28
+ "Lynx" => "lynx.png",
29
+ "Media Players" => "mediaplayer.png",
30
+ "Motorola Internet Browser" => "motorola.png",
31
+ "Mozilla" => "mozilla.png",
32
+ "MPlayer" => "mplayer.png",
33
+ "IE" => "msie.png",
34
+ "IE Offline Browser" => "msie.png",
35
+ "IECheck" => "msie.png",
36
+ "IEMobile" => "msie.png",
37
+ "Mosaic" => "ncsa_mosaic.png",
38
+ "NetNewsWire" => "netnewswire.png",
39
+ "Netscape" => "netscape.png",
40
+ "NewsFire" => "newsfire.png",
41
+ "NewsGator" => "newsgator.png",
42
+ "Newz Crawler" => "newzcrawler.png",
43
+ "Nokia" => "nokia.png",
44
+ "OmniWeb" => "omniweb.png",
45
+ "Opera" => "opera.png",
46
+ "Opera Mini" => "opera.png",
47
+ "Opera Mobi" => "opera.png",
48
+ "Phoenix" => "phoenix.png",
49
+ "RealDownload" => "real.png",
50
+ "RealPlayer" => "real.png",
51
+ "RSS Reader Panel" => "rssreader.png",
52
+ "Safari" => "safari.png",
53
+ "Safari RSS" => "safari.png",
54
+ "SafariBookmarkChecker" => "safari.png",
55
+ "SharpReader" => "sharpreader.png",
56
+ "Sony PS2" => "sony.png",
57
+ "SonyEricsson" => "sony.png",
58
+ "Teleport" => "teleport.png",
59
+ "W3C Line Mode" => "w3c.png",
60
+ "W3C Link Checker" => "w3c.png",
61
+ "W3C Validator" => "w3c.png",
62
+ "W3CRobot" => "w3c.png",
63
+ "W3C-WebCon" => "w3c.png",
64
+ "WebCopier" => "webcopier.png",
65
+ "WebReaper" => "webreaper.png",
66
+ "WebTV/MSNTV" => "webtv.png",
67
+ "WebZIP" => "webzip.png",
68
+ "Wizz" => "wizz.png"
69
+ );
70
+
71
+ $os_images = array(
72
+ "AIX" => "aix.png",
73
+ "Amiga" => "amigaos.png",
74
+ "BeOS" => "beos.png",
75
+ "Darwin" => "macosx.png",
76
+ "Debian" => "debian.png",
77
+ "Digital Unix" => "digital.png",
78
+ "FreeBSD" => "freebsd.png",
79
+ "HP-UX" => "hpux.png",
80
+ "iPhone OSX" => "macosx.png",
81
+ "IRIX" => "irix.png",
82
+ "IRIX64" => "irix.png",
83
+ "JAVA" => "java.png",
84
+ "Linux" => "linux.png",
85
+ "Mac68K" => "mac.png",
86
+ "MacOSX" => "macosx.png",
87
+ "MacPPC" => "macintosh.png",
88
+ "NetBSD" => "netbsd.png",
89
+ "OpenBSD" => "openbsd.png",
90
+ "OS/2" => "os2.png",
91
+ "RISC OS" => "riscos.png",
92
+ "Solaris" => "sunos.png",
93
+ "SunOS" => "sunos.png",
94
+ "SymbianOS" => "symbian.png",
95
+ "Unix" => "unix.png",
96
+ "WebTV" => "webtv.png",
97
+ "Win16" => "win16.png",
98
+ "Win2000" => "win2000.png",
99
+ "Win2003" => "win2003.png",
100
+ "Win31" => "win.png",
101
+ "Win32" => "win.png",
102
+ "Win7" => "win.png",
103
+ "Win95" => "win95.png",
104
+ "Win98" => "win98.png",
105
+ "WinCE" => "wince.png",
106
+ "WinME" => "winme.png",
107
+ "WinNT" => "winnt.png",
108
+ "WinVista" => "win.png",
109
+ "WinXP" => "winxp.png"
110
+ );
111
+
112
+ function prli_browser_image($browser)
113
+ {
114
+ global $browser_images;
115
+
116
+ $image = $browser_images[$browser];
117
+
118
+ if(empty($image))
119
+ $image = "unknown.png";
120
+
121
+ return $image;
122
+ }
123
+
124
+ function prli_os_image($os)
125
+ {
126
+ global $os_images;
127
+
128
+ $image = $os_images[$os];
129
+
130
+ if(empty($image))
131
+ $image = "unknown.png";
132
+
133
+ return $image;
134
+ }
135
+
136
+ ?>
prli-links.php ADDED
@@ -0,0 +1,233 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ require_once 'prli-config.php';
3
+ require_once(PRLI_MODELS_PATH . '/models.inc.php');
4
+
5
+ $params = $prli_link->get_params_array();
6
+
7
+ if($params['action'] == 'list')
8
+ {
9
+ if(empty($params['group']))
10
+ $prli_message = prli_get_main_message();
11
+ else
12
+ $prli_message = "Links in Group: " . $wpdb->get_var("SELECT name FROM " . $prli_group->table_name . " WHERE id=".$params['group']);
13
+ if($params['regenerate'] == 'true')
14
+ {
15
+ $wp_rewrite->flush_rules();
16
+ $prli_message = "Your Pretty Links were Successfully Regenerated";
17
+ }
18
+
19
+ prli_display_links_list($params, $prli_message);
20
+ }
21
+ else if($params['action'] == 'list-form')
22
+ {
23
+ if(apply_filters('prli-link-list-process-form', true))
24
+ prli_display_links_list($params, prli_get_main_message());
25
+ }
26
+ else if($params['action'] == 'quick-create')
27
+ {
28
+ $errors = $prli_link->validate($_POST);
29
+
30
+ if( count($errors) > 0 )
31
+ {
32
+ $groups = $prli_group->getAll('',' ORDER BY name');
33
+ $values = setup_new_vars($groups);
34
+ require_once 'classes/views/prli-links/new.php';
35
+ }
36
+ else
37
+ {
38
+ $_POST['param_forwarding'] = 'off';
39
+ $_POST['param_struct'] = '';
40
+ $_POST['name'] = '';
41
+ $_POST['description'] = '';
42
+ if( $prli_options->link_track_me )
43
+ $_POST['track_me'] = 'on';
44
+ if( $prli_options->link_nofollow )
45
+ $_POST['nofollow'] = 'on';
46
+
47
+ $_POST['redirect_type'] = $prli_options->link_redirect_type;
48
+
49
+ $record = $prli_link->create( $_POST );
50
+
51
+ $prli_message = "Your Pretty Link was Successfully Created";
52
+ prli_display_links_list($params, $prli_message, '', 1);
53
+ }
54
+ }
55
+ else if($params['action'] == 'create')
56
+ {
57
+ $errors = $prli_link->validate($_POST);
58
+
59
+ $errors = apply_filters( "prli_validate_link", $errors );
60
+
61
+ if( count($errors) > 0 )
62
+ {
63
+ $groups = $prli_group->getAll('',' ORDER BY name');
64
+ $values = setup_new_vars($groups);
65
+ require_once 'classes/views/prli-links/new.php';
66
+ }
67
+ else
68
+ {
69
+ $record = $prli_link->create( $_POST );
70
+
71
+ do_action( "prli_update_link", $record );
72
+
73
+ $prli_message = "Your Pretty Link was Successfully Created";
74
+ prli_display_links_list($params, $prli_message, '', 1);
75
+ }
76
+ }
77
+ else if($params['action'] == 'edit')
78
+ {
79
+ $groups = $prli_group->getAll('',' ORDER BY name');
80
+
81
+ $record = $prli_link->getOne( $params['id'] );
82
+ $values = setup_edit_vars($groups,$record);
83
+ $id = $params['id'];
84
+ require_once 'classes/views/prli-links/edit.php';
85
+ }
86
+ else if($params['action'] == 'bulk-update')
87
+ {
88
+ if(apply_filters('prli-bulk-link-update', true))
89
+ {
90
+ $prli_message = "Your Pretty Links were Successfully Updated";
91
+ prli_display_links_list($params, $prli_message, '', 1);
92
+ }
93
+ }
94
+ else if($params['action'] == 'update')
95
+ {
96
+ $errors = $prli_link->validate($_POST);
97
+ $id = $_POST['id'];
98
+
99
+ $errors = apply_filters( "prli_validate_link", $errors );
100
+
101
+ if( count($errors) > 0 )
102
+ {
103
+ $groups = $prli_group->getAll('',' ORDER BY name');
104
+ $record = $prli_link->getOne( $params['id'] );
105
+ $values = setup_edit_vars($groups,$record);
106
+ require_once 'classes/views/prli-links/edit.php';
107
+ }
108
+ else
109
+ {
110
+ $record = $prli_link->update( $_POST['id'], $_POST );
111
+
112
+ do_action( "prli_update_link", $id );
113
+
114
+ $prli_message = "Your Pretty Link was Successfully Updated";
115
+ prli_display_links_list($params, $prli_message, '', 1);
116
+ }
117
+ }
118
+ else if($params['action'] == 'reset')
119
+ {
120
+ $prli_link->reset( $params['id'] );
121
+ $prli_message = "Your Pretty Link was Successfully Reset";
122
+ prli_display_links_list($params, $prli_message, '', 1);
123
+ }
124
+ else if($params['action'] == 'destroy')
125
+ {
126
+ $prli_link->destroy( $params['id'] );
127
+ $prli_message = "Your Pretty Link was Successfully Destroyed";
128
+ prli_display_links_list($params, $prli_message, '', 1);
129
+ }
130
+
131
+ // Helpers
132
+ function prli_display_links_list($params, $prli_message, $page_params_ov = false, $current_page_ov = false)
133
+ {
134
+ global $wpdb, $prli_utils, $prli_click, $prli_group, $prli_link, $page_size, $prli_options;
135
+
136
+ $controller_file = basename(__FILE__);
137
+
138
+ if(!empty($params['group']))
139
+ {
140
+ $where_clause = " group_id=" . $params['group'];
141
+ $page_params = "&group=" . $params['group'];
142
+ }
143
+
144
+ $link_vars = prli_get_link_sort_vars($params, $where_clause);
145
+
146
+ if($current_page_ov)
147
+ $current_page = $current_page_ov;
148
+ else
149
+ $current_page = $params['paged'];
150
+
151
+ if($page_params_ov)
152
+ $page_params .= $page_params_ov;
153
+ else
154
+ $page_params .= $link_vars['page_params'];
155
+
156
+ $sort_str = $link_vars['sort_str'];
157
+ $sdir_str = $link_vars['sdir_str'];
158
+ $search_str = $link_vars['search_str'];
159
+
160
+ $record_count = $prli_link->getRecordCount($link_vars['where_clause']);
161
+ $page_count = $prli_link->getPageCount($page_size,$link_vars['where_clause']);
162
+ $links = $prli_link->getPage($current_page,$page_size,$link_vars['where_clause'],$link_vars['order_by']);
163
+ $page_last_record = $prli_utils->getLastRecordNum($record_count,$current_page,$page_size);
164
+ $page_first_record = $prli_utils->getFirstRecordNum($record_count,$current_page,$page_size);
165
+
166
+ require_once 'classes/views/prli-links/list.php';
167
+ }
168
+
169
+ function prli_get_link_sort_vars($params,$where_clause = '')
170
+ {
171
+ $order_by = '';
172
+ $page_params = '';
173
+
174
+ // These will have to work with both get and post
175
+ $sort_str = $params['sort'];
176
+ $sdir_str = $params['sdir'];
177
+ $search_str = $params['search'];
178
+
179
+ // Insert search string
180
+ if(!empty($search_str))
181
+ {
182
+ $search_params = explode(" ", $search_str);
183
+
184
+ foreach($search_params as $search_param)
185
+ {
186
+ if(!empty($where_clause))
187
+ $where_clause .= " AND";
188
+
189
+ $where_clause .= " (li.name like '%$search_param%' OR li.slug like '%$search_param%' OR li.url like '%$search_param%' OR li.created_at like '%$search_param%')";
190
+ }
191
+
192
+ $page_params .="&search=$search_str";
193
+ }
194
+
195
+ // make sure page params stay correct
196
+ if(!empty($sort_str))
197
+ $page_params .="&sort=$sort_str";
198
+
199
+ if(!empty($sdir_str))
200
+ $page_params .= "&sdir=$sdir_str";
201
+
202
+ // Add order by clause
203
+ switch($sort_str)
204
+ {
205
+ case "name":
206
+ case "clicks":
207
+ case "group_name":
208
+ case "slug":
209
+ $order_by .= " ORDER BY $sort_str";
210
+ break;
211
+ default:
212
+ $order_by .= " ORDER BY created_at";
213
+ }
214
+
215
+ // Toggle ascending / descending
216
+ if((empty($sort_str) and empty($sdir_str)) or $sdir_str == 'desc')
217
+ {
218
+ $order_by .= ' DESC';
219
+ $sdir_str = 'desc';
220
+ }
221
+ else
222
+ $sdir_str = 'asc';
223
+
224
+ return array('order_by' => $order_by,
225
+ 'sort_str' => $sort_str,
226
+ 'sdir_str' => $sdir_str,
227
+ 'search_str' => $search_str,
228
+ 'where_clause' => $where_clause,
229
+ 'page_params' => $page_params);
230
+ }
231
+
232
+
233
+ ?>
prli-options.php ADDED
@@ -0,0 +1,138 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ require_once 'prli-config.php';
3
+ require_once(PRLI_MODELS_PATH . '/models.inc.php');
4
+
5
+ $errors = array();
6
+
7
+ // variables for the field and option names
8
+ $prli_exclude_ips = 'prli_exclude_ips';
9
+ $whitelist_ips = 'prli_whitelist_ips';
10
+ $filter_robots = 'prli_filter_robots';
11
+ $prettybar_image_url = 'prli_prettybar_image_url';
12
+ $prettybar_background_image_url = 'prli_prettybar_background_image_url';
13
+ $prettybar_color = 'prli_prettybar_color';
14
+ $prettybar_text_color = 'prli_prettybar_text_color';
15
+ $prettybar_link_color = 'prli_prettybar_link_color';
16
+ $prettybar_hover_color = 'prli_prettybar_hover_color';
17
+ $prettybar_visited_color = 'prli_prettybar_visited_color';
18
+ $prettybar_show_title = 'prli_prettybar_show_title';
19
+ $prettybar_show_description = 'prli_prettybar_show_description';
20
+ $prettybar_show_share_links = 'prli_prettybar_show_share_links';
21
+ $prettybar_show_target_url_link = 'prli_prettybar_show_target_url_link';
22
+ $prettybar_title_limit = 'prli_prettybar_title_limit';
23
+ $prettybar_desc_limit = 'prli_prettybar_desc_limit';
24
+ $prettybar_link_limit = 'prli_prettybar_link_limit';
25
+
26
+ $link_track_me = 'prli_link_track_me';
27
+ $link_nofollow = 'prli_link_nofollow';
28
+ $link_redirect_type = 'prli_link_redirect_type';
29
+ $hidden_field_name = 'prli_update_options';
30
+
31
+ $prli_domain = "pretty-link";
32
+
33
+ // See if the user has posted us some information
34
+ // If they did, this hidden field will be set to 'Y'
35
+ if( $_POST[ $hidden_field_name ] == 'Y' )
36
+ {
37
+ // Validate This
38
+ if( !empty($_POST[$prettybar_image_url]) and !preg_match('/^http.?:\/\/.*\..*$/', $_POST[$prettybar_image_url] ) )
39
+ $errors[] = "Logo Image URL must be a correctly formatted URL";
40
+
41
+ if( !empty($_POST[$prettybar_background_image_url]) and !preg_match('/^http.?:\/\/.*\..*$/', $_POST[$prettybar_background_image_url] ) )
42
+ $errors[] = "Background Image URL must be a correctly formatted URL";
43
+
44
+ if( !empty($_POST[ $prli_exclude_ips ]) and !preg_match( "#^[ \t]*((\d{1,3}|\*)\.(\d{1,3}|\*)\.(\d{1,3}|\*)\.(\d{1,3}|\*)|([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*))([ \t]*,[ \t]*((\d{1,3}|\*)\.(\d{1,3}|\*)\.(\d{1,3}|\*)\.(\d{1,3}|\*)|([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*)))*$#", $_POST[ $prli_exclude_ips ] ) )
45
+ $errors[] = "Excluded IP Addresses must be a comma separated list of IPv4 or IPv6 addresses or ranges.";
46
+
47
+ if( !empty($_POST[ $whitelist_ips ]) and !preg_match( "#^[ \t]*((\d{1,3}|\*)\.(\d{1,3}|\*)\.(\d{1,3}|\*)\.(\d{1,3}|\*)|([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*))([ \t]*,[ \t]*((\d{1,3}|\*)\.(\d{1,3}|\*)\.(\d{1,3}|\*)\.(\d{1,3}|\*)|([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*)))*$#", $_POST[ $whitelist_ips ] ) )
48
+ $errors[] = "Whitlist IP Addresses must be a comma separated list of IPv4 or IPv6 addresses or ranges.";
49
+
50
+ if( !empty($_POST[ $prettybar_color ]) and !preg_match( "#^[0-9a-fA-F]{6}$#", $_POST[ $prettybar_color ] ) )
51
+ $errors[] = "PrettyBar Background Color must be an actual RGB Value";
52
+
53
+ if( !empty($_POST[ $prettybar_text_color ]) and !preg_match( "#^[0-9a-fA-F]{6}$#", $_POST[ $prettybar_text_color ] ) )
54
+ $errors[] = "PrettyBar Text Color must be an actual RGB Value";
55
+
56
+ if( !empty($_POST[ $prettybar_link_color ]) and !preg_match( "#^[0-9a-fA-F]{6}$#", $_POST[ $prettybar_link_color ] ) )
57
+ $errors[] = "PrettyBar Link Color must be an actual RGB Value";
58
+
59
+ if( !empty($_POST[ $prettybar_hover_color ]) and !preg_match( "#^[0-9a-fA-F]{6}$#", $_POST[ $prettybar_hover_color ] ) )
60
+ $errors[] = "PrettyBar Hover Color must be an actual RGB Value";
61
+
62
+ if( !empty($_POST[ $prettybar_visited_color ]) and !preg_match( "#^[0-9a-fA-F]{6}$#", $_POST[ $prettybar_visited_color ] ) )
63
+ $errors[] = "PrettyBar Hover Color must be an actual RGB Value";
64
+
65
+ if( empty($_POST[ $prettybar_title_limit ]) )
66
+ $errors[] = "PrettyBar Title Character Limit must not be blank";
67
+
68
+ if( empty($_POST[ $prettybar_desc_limit ]) )
69
+ $errors[] = "PrettyBar Description Character Limit must not be blank";
70
+
71
+ if( empty($_POST[ $prettybar_link_limit ]) )
72
+ $errors[] = "PrettyBar Link Character Limit must not be blank";
73
+
74
+ if( !empty($_POST[ $prettybar_title_limit ]) and !preg_match( "#^[0-9]*$#", $_POST[ $prettybar_title_limit ] ) )
75
+ $errors[] = "PrettyBar Title Character Limit must be a number";
76
+
77
+ if( !empty($_POST[ $prettybar_desc_limit ]) and !preg_match( "#^[0-9]*$#", $_POST[ $prettybar_desc_limit ] ) )
78
+ $errors[] = "PrettyBar Description Character Limit must be a number";
79
+
80
+ if( !empty($_POST[ $prettybar_link_limit ]) and !preg_match( "#^[0-9]*$#", $_POST[ $prettybar_link_limit ] ) )
81
+ $errors[] = "PrettyBar Link Character Limit must be a number";
82
+
83
+ $errors = apply_filters('prli-validate-options',$errors);
84
+
85
+ // Read their posted value
86
+ $prli_options->prli_exclude_ips = stripslashes($_POST[ $prli_exclude_ips ]);
87
+ $prli_options->whitelist_ips = stripslashes($_POST[ $whitelist_ips ]);
88
+ $prli_options->filter_robots = (int)isset($_POST[ $filter_robots ]);
89
+ $prli_options->prettybar_image_url = stripslashes($_POST[ $prettybar_image_url ]);
90
+ $prli_options->prettybar_background_image_url = stripslashes($_POST[ $prettybar_background_image_url ]);
91
+ $prli_options->prettybar_color = stripslashes($_POST[ $prettybar_color ]);
92
+ $prli_options->prettybar_text_color = stripslashes($_POST[ $prettybar_text_color ]);
93
+ $prli_options->prettybar_link_color = stripslashes($_POST[ $prettybar_link_color ]);
94
+ $prli_options->prettybar_hover_color = stripslashes($_POST[ $prettybar_hover_color ]);
95
+ $prli_options->prettybar_visited_color = stripslashes($_POST[ $prettybar_visited_color ]);
96
+ $prli_options->prettybar_show_title = (int)isset($_POST[ $prettybar_show_title ]);
97
+ $prli_options->prettybar_show_description = (int)isset($_POST[ $prettybar_show_description ]);
98
+ $prli_options->prettybar_show_share_links = (int)isset($_POST[ $prettybar_show_share_links ]);
99
+ $prli_options->prettybar_show_target_url_link = (int)isset($_POST[ $prettybar_show_target_url_link ]);
100
+ $prli_options->prettybar_title_limit = stripslashes($_POST[ $prettybar_title_limit ]);
101
+ $prli_options->prettybar_desc_limit = stripslashes($_POST[ $prettybar_desc_limit ]);
102
+ $prli_options->prettybar_link_limit = stripslashes($_POST[ $prettybar_link_limit ]);
103
+ $prli_options->link_track_me = (int)isset($_POST[ $link_track_me ]);
104
+ $prli_options->link_nofollow = (int)isset($_POST[ $link_nofollow ]);
105
+ $prli_options->link_redirect_type = $_POST[ $link_redirect_type ];
106
+
107
+ do_action('prli-store-options');
108
+
109
+ if( count($errors) > 0 )
110
+ require(PRLI_VIEWS_PATH.'/shared/errors.php');
111
+ else
112
+ {
113
+ // Save the posted value in the database
114
+ $prli_options_str = serialize($prli_options);
115
+
116
+ // Save the posted value in the database
117
+ delete_option( 'prli_options' );
118
+ add_option( 'prli_options', $prli_options_str );
119
+
120
+ // Put an options updated message on the screen
121
+ ?>
122
+
123
+ <div class="updated"><p><strong><?php _e('Options saved.', $prli_domain ); ?></strong></p></div>
124
+ <?php
125
+ }
126
+ }
127
+ else if($_GET['action'] == 'clear_all_clicks4134' or $_POST['action'] == 'clear_all_clicks4134')
128
+ {
129
+ $prli_click->clearAllClicks();
130
+ ?>
131
+
132
+ <div class="updated"><p><strong><?php _e('Hit Database Was Cleared.', $prli_domain ); ?></strong></p></div>
133
+ <?php
134
+ }
135
+
136
+ require_once 'classes/views/prli-options/form.php';
137
+
138
+ ?>
prli-pro-settings.php ADDED
@@ -0,0 +1,77 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ require_once 'prli-config.php';
3
+ require_once(PRLI_MODELS_PATH . '/models.inc.php');
4
+
5
+ $errors = array();
6
+
7
+ // variables for the field and option names
8
+ $prlipro_username = 'prlipro_username';
9
+ $prlipro_password = 'prlipro_password';
10
+ $hidden_field_name = 'prli_update_options';
11
+
12
+ $prli_domain = "pretty-link";
13
+
14
+ // Read in existing option value from database
15
+ $prlipro_username_val = get_option( $prlipro_username );
16
+ $prlipro_password_val = get_option( $prlipro_password );
17
+
18
+ if($_GET['action'] == 'force-pro-reinstall')
19
+ {
20
+ $prli_utils->download_and_install_pro($prlipro_username_val, $prlipro_password_val, true);
21
+ ?>
22
+
23
+ <div class="updated"><p><strong><?php _e('Pretty Link Pro Successfully Reinstalled.', $prli_domain ); ?></strong></p></div>
24
+ <?php
25
+ }
26
+ if($_GET['action'] == 'pro-uninstall')
27
+ {
28
+ $prli_utils->uninstall_pro();
29
+ ?>
30
+
31
+ <div class="updated"><p><strong><?php _e('Pretty Link Pro Successfully Uninstalled.', $prli_domain ); ?></strong></p></div>
32
+ <?php
33
+ }
34
+ else
35
+ {
36
+ // See if the user has posted us some information
37
+ // If they did, this hidden field will be set to 'Y'
38
+ if( $_POST[ $hidden_field_name ] == 'Y' )
39
+ {
40
+ // Validate This
41
+ // This is where the remote username / password will be validated
42
+ //if( !empty($_POST[$prettybar_image_url]) and !preg_match('/^http.?:\/\/.*\..*$/', $_POST[$prettybar_image_url] ) )
43
+ // $errors[] = "Logo Image URL must be a correctly formatted URL";
44
+
45
+ // Read their posted value
46
+ $prlipro_username_val = stripslashes($_POST[ $prlipro_username ]);
47
+ $prlipro_password_val = stripslashes($_POST[ $prlipro_password ]);
48
+
49
+ $user_type = $prli_utils->get_pro_user_type($prlipro_username_val, $prlipro_password_val);
50
+ if(empty($user_type))
51
+ $errors[] = "Your user account couldn't be validated...";
52
+
53
+
54
+ if( count($errors) > 0 )
55
+ {
56
+ require(PRLI_VIEWS_PATH.'/shared/errors.php');
57
+ }
58
+ else
59
+ {
60
+ // TODO: Download & Install Pretty Link Pro if Account is valid and software isn't currently installed
61
+ // Save the posted value in the database
62
+ update_option( $prlipro_username, $prlipro_username_val );
63
+ update_option( $prlipro_password, $prlipro_password_val );
64
+
65
+ // Put an options updated message on the screen
66
+ $message = $prli_utils->download_and_install_pro($prlipro_username_val, $prlipro_password_val);
67
+
68
+ $message = (($message == 'SUCCESS')?'Pretty Link Pro has been installed click here to get started: <a href="?page=pretty-link/pro/prlipro-options.php">Pretty Link Pro Options</a>':$message);
69
+ ?>
70
+
71
+ <div class="updated"><p><strong><?php _e($message, $prli_domain ); ?></strong></p></div>
72
+ <?php
73
+ }
74
+ }
75
+ }
76
+
77
+ require_once 'classes/views/prli-options/pro-settings.php';
prli-tools.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+ require_once PRLI_VIEWS_PATH . '/prli-tools/form.php';
3
+ ?>
prli-xmlrpc.php ADDED
@@ -0,0 +1,333 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Pretty Link WordPress Plugin API export via XML-RPC
4
+ *
5
+ * The first 2 arguments to each of these methods are username and password.
6
+ */
7
+
8
+ include_once(ABSPATH . '/wp-includes/class-IXR.php');
9
+
10
+ /**
11
+ * Returns the API Version as a string.
12
+ */
13
+ function prli_xmlrpc_api_version($args)
14
+ {
15
+ $username = $args[0];
16
+ $password = $args[1];
17
+
18
+ if ( !get_option( 'enable_xmlrpc' ) )
19
+ return new IXR_Error( 401, __( 'Sorry, XML-RPC Not enabled for this website' ) );
20
+
21
+ if (!user_pass_ok($username, $password))
22
+ return new IXR_Error( 401, __( 'Sorry, Login failed' ) );
23
+
24
+ // make sure user is an admin
25
+ $userdata = get_userdatabylogin( $username );
26
+ if( !isset($userdata->user_level) or
27
+ (int)$userdata->user_level < 8 )
28
+ return new IXR_Error( 401, __( 'Sorry, you must be an administrator to access this resource' ) );
29
+
30
+ return prli_api_version();
31
+ }
32
+
33
+ /**
34
+ * Get a Pretty Link for a long, ugly URL.
35
+ *
36
+ * @param string $username Required, an admin user of this blog
37
+ *
38
+ * @param string $password Required, the password for this user
39
+ *
40
+ * @param string $target_url Required, it is the value of the Target URL you
41
+ * want the Pretty Link to redirect to
42
+ *
43
+ * @param string $slug Optional, slug for the Pretty Link (string that comes
44
+ * after the Pretty Link's slash) if this value isn't set
45
+ * then a random slug will be automatically generated.
46
+ *
47
+ * @param string $name Optional, name for the Pretty Link. If this value isn't
48
+ * set then the name will be the slug.
49
+ *
50
+ * @param string $description Optional, description for the Pretty Link.
51
+ *
52
+ * @param integer $group_id Optional, the group that this link will be placed in.
53
+ * If this value isn't set then the link will not be
54
+ * placed in a group.
55
+ *
56
+ * @param boolean $link_track_me Optional, If true the link will be tracked,
57
+ * if not set the default value (from the pretty
58
+ * link option page) will be used
59
+ *
60
+ * @param boolean $link_nofollow Optional, If true the nofollow attribute will
61
+ * be set for the link, if not set the default
62
+ * value (from the pretty link option page) will
63
+ * be used
64
+ *
65
+ * @param string $link_redirect_type Optional, valid values include '307' or '301',
66
+ * if not set the default value (from the pretty
67
+ * link option page) will be used
68
+ *
69
+ * @return boolean / string The Full Pretty Link if Successful and false for Failure.
70
+ * This function will also set a global variable named
71
+ * $prli_pretty_slug which gives the slug of the link
72
+ * created if the link is successfully created -- it will
73
+ * set a variable named $prli_error_messages if the link
74
+ * was not successfully created.
75
+ */
76
+ function prli_xmlrpc_create_pretty_link( $args )
77
+ {
78
+ $username = $args[0];
79
+ $password = $args[1];
80
+
81
+ if ( !get_option( 'enable_xmlrpc' ) )
82
+ return new IXR_Error( 401, __( 'Sorry, XML-RPC Not enabled for this website' ) );
83
+
84
+ if (!user_pass_ok($username, $password))
85
+ return new IXR_Error( 401, __( 'Sorry, Login failed' ) );
86
+
87
+ // make sure user is an admin
88
+ $userdata = get_userdatabylogin( $username );
89
+ if( !isset($userdata->user_level) or
90
+ (int)$userdata->user_level < 8 )
91
+ return new IXR_Error( 401, __( 'Sorry, you must be an administrator to access this resource' ) );
92
+
93
+ // Target URL Required
94
+ if(!isset($args[2]))
95
+ return new IXR_Error( 401, __( 'You must provide a target URL' ) );
96
+
97
+ $target_url = $args[2];
98
+
99
+ $slug = (isset($args[3])?$args[3]:'');
100
+ $name = (isset($args[4])?$args[4]:'');
101
+ $description = (isset($args[5])?$args[5]:'');
102
+ $group_id = (isset($args[6])?$args[6]:'');
103
+ $track_me = (isset($args[7])?$args[7]:'');
104
+ $nofollow = (isset($args[8])?$args[8]:'');
105
+ $redirect_type = (isset($args[9])?$args[9]:'');
106
+ $param_forwarding = (isset($args[10])?$args[10]:'off');
107
+ $param_struct = (isset($args[11])?$args[11]:'');
108
+
109
+ if( $link = prli_create_pretty_link( $target_url,
110
+ $slug,
111
+ $name,
112
+ $description,
113
+ $group_id,
114
+ $track_me,
115
+ $nofollow,
116
+ $redirect_type,
117
+ $param_forwarding,
118
+ $param_struct ) )
119
+ return $link;
120
+ else
121
+ return new IXR_Error( 401, __( 'There was an error creating your Pretty Link' ) );
122
+ }
123
+
124
+ function prli_xmlrpc_update_pretty_link( $args )
125
+ {
126
+ $username = $args[0];
127
+ $password = $args[1];
128
+
129
+ if ( !get_option( 'enable_xmlrpc' ) )
130
+ return new IXR_Error( 401, __( 'Sorry, XML-RPC Not enabled for this website' ) );
131
+
132
+ if (!user_pass_ok($username, $password))
133
+ return new IXR_Error( 401, __( 'Sorry, Login failed' ) );
134
+
135
+ // make sure user is an admin
136
+ $userdata = get_userdatabylogin( $username );
137
+ if( !isset($userdata->user_level) or
138
+ (int)$userdata->user_level < 8 )
139
+ return new IXR_Error( 401, __( 'Sorry, you must be an administrator to access this resource' ) );
140
+
141
+ // Target URL Required
142
+ if(!isset($args[2]))
143
+ return new IXR_Error( 401, __( 'You must provide the id of the link you want to update' ) );
144
+
145
+ $id = $args[2];
146
+ $target_url = (isset($args[3])?$args[3]:'');
147
+ $slug = (isset($args[4])?$args[4]:'');
148
+ $name = (isset($args[5])?$args[5]:'');
149
+ $description = (isset($args[6])?$args[6]:'');
150
+ $group_id = (isset($args[7])?$args[7]:'');
151
+ $track_me = (isset($args[8])?$args[8]:'');
152
+ $nofollow = (isset($args[9])?$args[9]:'');
153
+ $redirect_type = (isset($args[10])?$args[10]:'');
154
+ $param_forwarding = (isset($args[11])?$args[11]:'');
155
+ $param_struct = (isset($args[12])?$args[12]:'');
156
+
157
+ if( $link = prli_update_pretty_link( $id,
158
+ $target_url,
159
+ $slug,
160
+ $name,
161
+ $description,
162
+ $group_id,
163
+ $track_me,
164
+ $nofollow,
165
+ $redirect_type,
166
+ $param_forwarding,
167
+ $param_struct ) )
168
+ return $link;
169
+ else
170
+ return new IXR_Error( 401, __( 'There was an error creating your Pretty Link' ) );
171
+ }
172
+
173
+ /**
174
+ * Get all the pretty link groups in an array suitable for creating a select box.
175
+ *
176
+ * @return bool (false if failure) | array A numerical array of associative arrays
177
+ * containing all the data about the pretty
178
+ * link groups.
179
+ */
180
+ function prli_xmlrpc_get_all_groups($args)
181
+ {
182
+ $username = $args[0];
183
+ $password = $args[1];
184
+
185
+ if ( !get_option( 'enable_xmlrpc' ) )
186
+ return new IXR_Error( 401, __( 'Sorry, XML-RPC Not enabled for this website' ) );
187
+
188
+ if (!user_pass_ok($username, $password))
189
+ return new IXR_Error( 401, __( 'Sorry, Login failed' ) );
190
+
191
+ // make sure user is an admin
192
+ $userdata = get_userdatabylogin( $username );
193
+ if( !isset($userdata->user_level) or
194
+ (int)$userdata->user_level < 8 )
195
+ return new IXR_Error( 401, __( 'Sorry, you must be an administrator to access this resource' ) );
196
+
197
+ if( $groups = prli_get_all_groups())
198
+ return $groups;
199
+ else
200
+ return new IXR_Error( 401, __( 'There was an error fetching the Pretty Link Groups' ) );
201
+ }
202
+
203
+ /**
204
+ * Get all the pretty links in an array suitable for creating a select box.
205
+ *
206
+ * @return bool (false if failure) | array A numerical array of associative arrays
207
+ * containing all the data about the pretty
208
+ * links.
209
+ */
210
+ function prli_xmlrpc_get_all_links($args)
211
+ {
212
+ $username = $args[0];
213
+ $password = $args[1];
214
+
215
+ if ( !get_option( 'enable_xmlrpc' ) )
216
+ return new IXR_Error( 401, __( 'Sorry, XML-RPC Not enabled for this website' ) );
217
+
218
+ if (!user_pass_ok($username, $password))
219
+ return new IXR_Error( 401, __( 'Sorry, Login failed' ) );
220
+
221
+ // make sure user is an admin
222
+ $userdata = get_userdatabylogin( $username );
223
+ if( !isset($userdata->user_level) or
224
+ (int)$userdata->user_level < 8 )
225
+ return new IXR_Error( 401, __( 'Sorry, you must be an administrator to access this resource' ) );
226
+
227
+ if( $links = prli_get_all_links())
228
+ return $links;
229
+ else
230
+ return new IXR_Error( 401, __( 'There was an error fetching the Pretty Links' ) );
231
+ }
232
+
233
+ /**
234
+ * Gets a specific link from a slug and returns info about it in an array
235
+ *
236
+ * @return bool (false if failure) | array An associative array with all the
237
+ * data about the given pretty link.
238
+ */
239
+ function prli_xmlrpc_get_link_from_slug($args)
240
+ {
241
+ $username = $args[0];
242
+ $password = $args[1];
243
+
244
+ if ( !get_option( 'enable_xmlrpc' ) )
245
+ return new IXR_Error( 401, __( 'Sorry, XML-RPC Not enabled for this website' ) );
246
+
247
+ if (!user_pass_ok($username, $password))
248
+ return new IXR_Error( 401, __( 'Sorry, Login failed' ) );
249
+
250
+ // make sure user is an admin
251
+ $userdata = get_userdatabylogin( $username );
252
+ if( !isset($userdata->user_level) or
253
+ (int)$userdata->user_level < 8 )
254
+ return new IXR_Error( 401, __( 'Sorry, you must be an administrator to access this resource' ) );
255
+
256
+ if(!isset($args[2]))
257
+ return new IXR_Error( 401, __( 'Sorry, you must provide a slug to lookup' ) );
258
+
259
+ $slug = $args[2];
260
+
261
+ if( $link = prli_get_link_from_slug($slug) )
262
+ return $link;
263
+ else
264
+ return new IXR_Error( 401, __( 'There was an error fetching your Pretty Link' ) );
265
+ }
266
+
267
+ /**
268
+ * Gets a specific link from an id and returns info about it in an array
269
+ *
270
+ * @return bool (false if failure) | array An associative array with all the
271
+ * data about the given pretty link.
272
+ */
273
+ function prli_xmlrpc_get_link($args)
274
+ {
275
+ $username = $args[0];
276
+ $password = $args[1];
277
+
278
+ if ( !get_option( 'enable_xmlrpc' ) )
279
+ return new IXR_Error( 401, __( 'Sorry, XML-RPC Not enabled for this website' ) );
280
+
281
+ if (!user_pass_ok($username, $password))
282
+ return new IXR_Error( 401, __( 'Sorry, Login failed' ) );
283
+
284
+ // make sure user is an admin
285
+ $userdata = get_userdatabylogin( $username );
286
+ if( !isset($userdata->user_level) or
287
+ (int)$userdata->user_level < 8 )
288
+ return new IXR_Error( 401, __( 'Sorry, you must be an administrator to access this resource' ) );
289
+
290
+ if(!isset($args[2]))
291
+ return new IXR_Error( 401, __( 'Sorry, you must provide an id to lookup' ) );
292
+
293
+ $id = $args[2];
294
+
295
+ if( $link = prli_get_link($id) )
296
+ return $link;
297
+ else
298
+ return new IXR_Error( 401, __( 'There was an error fetching your Pretty Link' ) );
299
+ }
300
+
301
+ /**
302
+ * Gets the full Pretty Link URL from a link id
303
+ *
304
+ * @return bool (false if failure) | string containing the pretty link url
305
+ */
306
+ function prli_xmlrpc_get_pretty_link_url($args)
307
+ {
308
+ $username = $args[0];
309
+ $password = $args[1];
310
+
311
+ if ( !get_option( 'enable_xmlrpc' ) )
312
+ return new IXR_Error( 401, __( 'Sorry, XML-RPC Not enabled for this website' ) );
313
+
314
+ if (!user_pass_ok($username, $password))
315
+ return new IXR_Error( 401, __( 'Sorry, Login failed' ) );
316
+
317
+ // make sure user is an admin
318
+ $userdata = get_userdatabylogin( $username );
319
+ if( !isset($userdata->user_level) or
320
+ (int)$userdata->user_level < 8 )
321
+ return new IXR_Error( 401, __( 'Sorry, you must be an administrator to access this resource' ) );
322
+
323
+ if(!isset($args[2]))
324
+ return new IXR_Error( 401, __( 'Sorry, you must provide an id to lookup' ) );
325
+
326
+ $id = $args[2];
327
+
328
+ if( $url = prli_get_pretty_link_url($id) )
329
+ return $url;
330
+ else
331
+ return new IXR_Error( 401, __( 'There was an error fetching your Pretty Link URL' ) );
332
+ }
333
+ ?>
readme.txt ADDED
@@ -0,0 +1,216 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ === Pretty Link ===
2
+ Contributors: supercleanse
3
+ Donate link: http://www.blairwilliams.com/pretty-link/donate/
4
+ Tags: links, link, url, urls, affiliate, affiliates, pretty, marketing, redirect, forward, plugin, twitter, tweet, rewrite, shorturl, hoplink, hop, shortlink, short, shorten, click, clicks, track, tracking, tiny, tinyurl, budurl, shrinking, domain, shrink, mask, masking, slug, slugs, admin, administration, stats, statistics, stat, statistic, cloaking, cloak, email, ajax, javascript, ui, csv, download, page, post, pro, professional, pages, posts, shortcode, seo, automation, keyword, replacement, replacements, widget, widgets, dashboard, sidebar
5
+ Requires at least: 2.7.1
6
+ Tested up to: 2.9
7
+ Stable tag: 1.4.33
8
+
9
+ Shrink, track and share any URL on the Internet from your WordPress website. Create short links suitable for Twitter using your own domain name!
10
+
11
+ == Description ==
12
+
13
+ Shrink, track and share any URL on the Internet from your WordPress website. You can now shorten links using your own domain name (as opposed to using tinyurl.com, bit.ly, or any other link shrinking service)! In addition to creating clean links, Pretty Link tracks each hit on your URL and provides a full, detailed report of where the hit came from, the browser, os and host. Pretty Link is a killer plugin for people who want to mask their affiliate links, track clicks from emails, their links on Twitter to come from their own domain, or generally increase the reach of their website by spreading these links on forums or comments on other blogs.
14
+
15
+ = Upgrade to Pretty Link Pro =
16
+
17
+ Pretty Link Pro is an upgrade to Pretty Link that re-sets the bar for Link Management, Automation, Sharing and Tracking! You can learn more about it here:
18
+
19
+ http://prettylinkpro.com
20
+
21
+ = Examples =
22
+
23
+ This is a link setup using Pretty Link that redirects to the Pretty Link Homepage where you can find more info about this Plugin:
24
+
25
+ http://blairwilliams.com/pl
26
+
27
+ Here's a named Pretty Link (I used the slug 'thesis') that redirects to my affiliate link for diythemes.com -- only the best theme you can get for WordPress -- in my humble opinion :) :
28
+
29
+ http://blairwilliams.com/thesis
30
+
31
+ Here's a link that Pretty Link generated a random slug for (similar to how bit.ly or tinyurl would do):
32
+
33
+ http://blairwilliams.com/w7a
34
+
35
+ Here's a Pretty Link that uses the configurable Pretty Link PrettyBar:
36
+
37
+ http://blairwilliams.com/x0z
38
+
39
+ = Features =
40
+
41
+ * Gives you the ability to create clean, simple URLs on your website that redirect to any other URL
42
+ * Generates random 2-3 character slugs for your URL or allows you to name a custom slug for your URL
43
+ * Tracks the Number of Hits per link
44
+ * Tracks the Number of Unique Hits per link
45
+ * Provides a reporting interface where you can see a configurable chart of clicks per day. This report can be filtered by the specific link clicked, date range, and/or unique clicks.
46
+ * View click details including ip address, remote host, browser (including browser version), operating system, and referring site
47
+ * Download hit details in CSV format
48
+ * Intuitive Javascript / AJAX Admin User Interface
49
+ * Pass custom parameters to your scripts through pretty link and still have full tracking ability
50
+ * Ability to rewrite these custom Parameters before forwarding to Target URL
51
+ * Setup Pretty Links as Tracking Pixels and track impressions
52
+ * Exclude IP Addresses from Stats
53
+ * Enables you to post your Pretty Links to Twitter directly from your WordPress admin
54
+ * Enables you to send your Pretty Links via Email directly from your WordPress admin
55
+ * Select Temporary (307) or Permanent (301) redirection for your Pretty Links
56
+ * Cookie based system for tracking visitor activity across hits
57
+ * Organize Links into Groups
58
+ * Create nofollow/noindex links
59
+ * Turn tracking on / off on each link
60
+ * Keep users on your site even when being redirected by using the PrettyBar which stays at the top of the page
61
+ * Ability to configure and skin the PrettyBar to mirror the look and feel of your site
62
+ * Hide the Target URL by loading it in a full-screen frame
63
+ * Pretty Link Bookmarklet
64
+
65
+ = Pro Features =
66
+ You'll get the following additional features when you purchase Pretty Link Pro:
67
+
68
+ * Replace keywords throughout your blog with Pretty Links
69
+ * Replace URLs throughout your blog with Pretty Links
70
+ * Rotate up to 5 URLs from one Pretty Link
71
+ * Split Test these URL rotations for a Pretty Link
72
+ * Setup Conversion Reports
73
+ * Setup your own link shortening service
74
+ * Create an alternate URL for your pretty links to be created on
75
+ * Import / Export Pretty Links
76
+ * Automatically create Pretty Links for each Post / Page
77
+ * Automatically Tweet each Post / Page when it is Published
78
+ * Display a Tweet Badge on Pages and / or Posts that contains the number of tweets that this page has received
79
+ * Display a Re-Tweet button on every Page and / or Post that incorporates your twitter handle & Pretty Link into the ReTweet
80
+ * Display a row of social networking buttons on each Page and / or Post
81
+ * Lifetime Updates
82
+
83
+ == Installation ==
84
+
85
+ 1. Upload 'pretty-link.zip' to the '/wp-content/plugins/' directory
86
+
87
+ 2. Activate the plugin through the 'Plugins' menu in WordPress
88
+
89
+ 3. Make sure you have changed your permalink Common Settings in Settings -> Permalinks away from "Default" to something else. I prefer using custom and then "/%postname%/" for the simplest possible URL slugs.
90
+
91
+ = Release Notes =
92
+ [Pretty Link Change Log](http://blairwilliams.com/pretty-link/change-log "Pretty link Change Log")
93
+
94
+ == Frequently Asked Questions ==
95
+ [Pretty Link FAQ](http://blairwilliams.com/pretty-link/pretty-link-faq "Pretty link FAQ")
96
+
97
+ = Developers =
98
+ [Pretty Link API](http://blairwilliams.com/pretty-link/api/ "Pretty link API")
99
+
100
+ == Changelog ==
101
+
102
+ = 1.4.33 =
103
+ * Added more support options for all users
104
+ * Updated install
105
+ * Added exclude tweet badge/comments & social media buttons for specific pages & posts to the page/post edit screen for pro users
106
+
107
+ = 1.4.32 =
108
+ * Optimized CSV download of hits
109
+ * Optimized more SQL calls
110
+ * Fixed keyword replacement bug on password protected posts for Pro Users
111
+ * Fixed group issue on options page for Pro Users
112
+
113
+ = 1.4.31 =
114
+ * Fixed a bug in pretty link, pixel & cloaking redirection.
115
+
116
+ = 1.4.30 =
117
+ * Altered the where Pretty Links are redirected to put less burden on normal page loads
118
+ * Optimized Group & Report SQL calls to be significantly faster
119
+ * Added a shortcode & template tag for pro users to display their pretty links on pages & posts (the shortcode is [post-pretty-link] and the template tag is the_prettylink())
120
+
121
+ = 1.4.29 =
122
+ * Added some more support options
123
+ * fixed some minor bugs in keyword replacement and pro options.
124
+
125
+ = 1.4.28 =
126
+ * Fixed a bug with link creation from the bookmarklet, post publishing and public link creation that was introduced in the last release
127
+
128
+ = 1.4.27 =
129
+ * Simplified SQL Calls and reduced the number of them that it takes to load a page
130
+ * Modified tweets to be counted for each link -- even ones not associated with a post -- got rid of the url_alias feature
131
+ * Streamlined database calls & fixed a bug in the api
132
+ * Added the ability to tweet to multiple accounts...
133
+ * Added tweetmeme count checking and added additional twitter account validation
134
+
135
+ = 1.4.26 =
136
+ * Fixed the html entity display issue for target urls
137
+ * Reduced package size of Pretty Link for more reliable installation
138
+ * Added Customizable Bookmarklet for Pro Users
139
+
140
+ = 1.4.25 =
141
+ * Fixed some bugs in the install
142
+ * Added nofollows to links in the social bar & re-tweet badge
143
+
144
+ = 1.4.23/24 =
145
+ * Fixed an installation issue for PHP4 users
146
+
147
+ = 1.4.22 =
148
+ * Added known robot and unidentified browser filtering to Pretty Link stats
149
+ * Added IP Address range definition to the Excluded IP address field
150
+ * Fixed html formatting issue on the bookmarklet success page
151
+ * Added the ability for Pro users to remove or alter the attribution link on the Pretty Bar
152
+ * Added new shortcodes for Pro users to display the title, target url and social networking buttons for a newly created public pretty link
153
+ * Enhanced the default success page for public link creation for pro users
154
+ * Fixed the redirect-type not being set bug for pro users allowing public link creation
155
+ * Fixed another php short-code bug affecting Pro users (thanks to Clay Loveless of KillerSoft for helping me with that one)
156
+
157
+ = 1.4.21 =
158
+ * Fixed UTF-8 issues
159
+ * Enabled UTF-8 Pretty Link slugs
160
+ * Enabled UTF-8 tweets for Pro users
161
+ * Fixed several issues for users hosted on Windows
162
+ * Added padding configuration to space the buttons on the social bar for Pro users
163
+ * Fixed the html validation issues with the tweet badge and social buttons bar for Pro users
164
+
165
+ = 1.4.20 =
166
+ * Added IPv6 support for IP Address Exclusions
167
+ * Added Twitter Comments post widget for Pro users
168
+ * Added RSS feed support for the tweet badge for Pro users
169
+
170
+ = 1.4.19 =
171
+ * Fixed https image loading / path issue
172
+ * Fixed bookmarklet javascript encoding issue
173
+ * Fixed import / export issue for pro users
174
+ * Added Hyves.nl and Sphinn to the social buttons bar
175
+ * Added more placement options for the social buttons bar
176
+ * Added a social buttons bar shortcode & template tag
177
+
178
+ = 1.4.18 =
179
+ * Added the Social Network Button Bar for Pro Users
180
+
181
+ = 1.4.17 =
182
+ * Fixed the php strict tags issue affecting some users
183
+ * Fixed the click record issue affecting some IIS users
184
+ * Added DOCTYPE line to Pretty Bar HTML
185
+ * Elimitated Pro upgrade messages for Pro users
186
+
187
+ = 1.4.16 =
188
+ * Fixed PrliUrlUtils not found error affecting some users
189
+ * Added instructions for installing the Pretty Link bookmarklet on the iPhone
190
+ * Added a URL Alias feature to Pro to allow tweet counts to be aggregated and hence, more accurate
191
+
192
+ = 1.4.15 =
193
+ * Fixed the nested slug cookie issue.
194
+
195
+ = 1.4.14 =
196
+ * Fixed bookmarklet/fopen issue affecting some users
197
+ * Fixed XML-RPC auto-tweeting of Posts
198
+ * Fixed Scheduled auto-tweeting & link creation of Posts issue
199
+ * Fixed bulk auto link creation issue
200
+ * Added slug choice for your post
201
+ * Added a twitter message formatting textarea on the post edit screen
202
+
203
+ = 1.4.13 =
204
+ * Fixed the option reset issue
205
+
206
+ = 1.4.12 =
207
+ * Added title detection
208
+ * Added enhancements to the Pretty Link Bookmarklet
209
+ * Added better support for IIS by redefining the fnmatch function if it isn't present
210
+ * Changed the keyword replacement algorithm in Pro to replace links throughout the post when thresholds are set (instead of only linking to the top x keywords)
211
+ * Fixed some issues surrounding keyword content caching in Pro
212
+
213
+ == Screenshots ==
214
+ [Pretty Link Screenshots](http://blairwilliams.com/pretty-link "Pretty link Screenshots")
215
+
216
+ [Pretty Link Pro Screenshots](http://prettylinkpro.com "Pretty link Pro Screenshots")