<ul><li><strong>woo_ad_image_1</strong> - http://www.shum.eu/wp-content/themes/papercut/images/shum_3_ushi_ads.gif</li><li><strong>woo_ad_image_2</strong> - http://www.shum.eu/wp-content/themes/papercut/images/metalfist125.gif</li><li><strong>woo_ad_image_3</strong> - http://www.shum.eu/wp-content/themes/papercut/images/ma125.gif</li><li><strong>woo_ad_image_4</strong> - http://www.shum.eu/wp-content/themes/papercut/images/shum125.gif</li><li><strong>woo_ad_url_1</strong> - http://www.shum.eu</li><li><strong>woo_ad_url_2</strong> - http://www.metalfist.com</li><li><strong>woo_ad_url_3</strong> - http://www.musicartworks.com</li><li><strong>woo_ad_url_4</strong> - http://www.shum.eu</li><li><strong>woo_alt_stylesheet</strong> - newspaper.css</li><li><strong>woo_archives</strong> - Select a page:</li><li><strong>woo_auto_img</strong> - false</li><li><strong>woo_block_image</strong> - http://www.shum.eu/wp-content/themes/papercut/images/shum_468.gif</li><li><strong>woo_block_url</strong> - http://www.shum.eu</li><li><strong>woo_cat_list</strong> - 3</li><li><strong>woo_cat_mid_1</strong> - true</li><li><strong>woo_cat_mid_3</strong> - true</li><li><strong>woo_cat_mid_4</strong> - false</li><li><strong>woo_cat_mid_5</strong> - false</li><li><strong>woo_cat_mid_6</strong> - true</li><li><strong>woo_cat_nav_1</strong> - false</li><li><strong>woo_cat_nav_3</strong> - false</li><li><strong>woo_cat_nav_4</strong> - false</li><li><strong>woo_cat_nav_5</strong> - false</li><li><strong>woo_cat_nav_6</strong> - false</li><li><strong>woo_content_feat</strong> - false</li><li><strong>woo_content_left</strong> - true</li><li><strong>woo_content_mid</strong> - false</li><li><strong>woo_custom_css</strong> - </li><li><strong>woo_custom_favicon</strong> - </li><li><strong>woo_featured_category</strong> - Select a category:</li><li><strong>woo_feedburner_url</strong> - </li><li><strong>woo_flickr_entries</strong> - Select a number:</li><li><strong>woo_flickr_id</strong> - </li><li><strong>woo_google_analytics</strong> - <script type=\"text/javascript\">
var gaJsHost = ((\"https:\" == document.location.protocol) ? \"https://ssl.\" : \"http://www.\");
document.write(unescape(\"%3Cscript src=\'\" + gaJsHost + \"google-analytics.com/ga.js\' type=\'text/javascript\'%3E%3C/script%3E\"));
</script>
<script type=\"text/javascript\">
try {
var pageTracker = _gat._getTracker(\"UA-16343723-1\");
pageTracker._trackPageview();
} catch(err) {}</script></li><li><strong>woo_home_secondary</strong> - 10</li><li><strong>woo_image_disable</strong> - false</li><li><strong>woo_image_height</strong> - 200</li><li><strong>woo_image_width</strong> - 200</li><li><strong>woo_logo</strong> - http://www.shum.eu/wp-content/woo_uploads/3-logo.png</li><li><strong>woo_manual</strong> - http://www.woothemes.com/</li><li><strong>woo_not_mpu</strong> - true</li><li><strong>woo_resize</strong> - true</li><li><strong>woo_shortname</strong> - woo</li><li><strong>woo_themename</strong> - Papercut</li><li><strong>woo_thumb_height</strong> - 75</li><li><strong>woo_thumb_width</strong> - 75</li><li><strong>woo_uploads</strong> - http://www.shum.eu/wp-content/woo_uploads/3-logo.png</li></ul>