Wordpress blog sitem de tema degiştirdigimde yeni yazı ekleyecegim zaman HTML ve GÖRSEL kısım arasında geçiş yapmıyor ve bileşenlerde yan menüye yeni bir son yorumlar son yazılar gibi yeni sekme atmak istedigimde atmıyor hiç hareket etmiyor tıklanılmıyor, bu sorun yeni tema editledim onu aktif ettigim zaman oluyor tema degiştirdigimde sorun ortadam kalkıyor :? nasıl çözebilirim bu sorunu ??
not: wordpress 2.7 de tema sorunsuz calışıyor 3.0 sistem de tema aktif ettigimde sorunla karsılasıyorum js lerde çakışma oluyor sanırım?
Site: Ergn.org
Javascript çakışması
8
●1.421
- 17-09-2010, 20:55:34
- 17-09-2010, 22:43:02Üyeliği durduruldutemanın functions.php dosyasındaki kodlara bakmak lazım.
- 18-09-2010, 08:42:30TylerDurden adlı üyeden alıntı: mesajı görüntüle
Buyur hocam ?
<?php //Begin widget code if ( function_exists('register_sidebars') ) register_sidebars(2); ?> <?php $themename = "WP Remix 2.0"; $shortname = "wpr"; $options = array ( array( "name" => "General Settings", "type" => "heading"), array( "name" => "Your Feedburner ID", "desc" => "Specify Your Feedburner ID here. To find out what your Feedburner ID is, check ThemeGuide PDF shipped with the theme ", "id" => $shortname."_feedburner_id", "std" => "", "type" => "text"), array( "name" => "Your Flickr ID", "desc" => "Specify Your Flickr ID here - Use the <a href='http://idgettr.com'>idGettr</a> to find your id.", "id" => $shortname."_flickr_id", "std" => "88392804@N00", "type" => "text"), array( "name" => "Home Page news", "desc" => "Specify from which categories, images in Homepage news should be displayed", "id" => $shortname."_news", "std" => "6", "type" => "text"), array( "name" => "Home - Featured", "desc" => "Specify from which categories, images in Homepage Featured should be displayed", "id" => $shortname."_featured", "std" => "8", "type" => "text"), array( "name" => "Home - Exclude from Latest News", "desc" => "If blog updates from some categories need to be EXCLUDED in latest news in homepage, specify category ids (e.g. -1, -15)", "id" => $shortname."_exclude_news", "std" => "-6", "type" => "text"), array( "name" => "Theme Color Change", "desc" => "Specify primary color that will be used for normal text", "id" => $shortname."_body_color", "std" => "grey", "type" => "select", "options" => array("default", "blue", "pink", "lavender", "yellow", "green")), ); function ilk_onizlemeyi_al($post_id) { $id = (int) $post_id; $args = array( 'post_type' => 'attachment', 'post_mime_type' => 'image', 'numberposts' => 1, 'order' => 'ASC', 'orderby' => 'menu_order ID', 'post_status' => null, 'post_parent' => $id ); $attachments = get_posts($args); if ($attachments) { return wp_get_attachment_thumb_url( $attachments[0]->ID ); }else{ return 'http://www.siteadi.com/varsayilan.jpg'; } } add_filter('excerpt_length', create_function('$a', 'return 55;')); function mytheme_add_admin() { global $themename, $shortname, $options; if ( $_GET['page'] == basename(__FILE__) ) { if ( 'save' == $_REQUEST['action'] ) { update_option('remix-global-header',$_REQUEST['remix-global-header']); foreach ($options as $value) { update_option( $value['id'], $_REQUEST[ $value['id'] ] ); } foreach ($options as $value) { if( isset( $_REQUEST[ $value['id'] ] ) ) { update_option( $value['id'], $_REQUEST[ $value['id'] ] ); } else { delete_option( $value['id'] ); } } header("Location: themes.php?page=functions.php&saved=true"); die; } else if( 'reset' == $_REQUEST['action'] ) { foreach ($options as $value) { delete_option( $value['id'] ); } header("Location: themes.php?page=functions.php&reset=true"); die; } } add_theme_page($themename." Options", "Current Theme Options", 'edit_themes', basename(__FILE__), 'mytheme_admin'); } function mytheme_admin() { global $themename, $shortname, $options; if ( $_REQUEST['saved'] ) echo '<div id="message" class="updated fade"><p><strong>'.$themename.' settings saved.</strong></p></div>'; if ( $_REQUEST['reset'] ) echo '<div id="message" class="updated fade"><p><strong>'.$themename.' settings reset.</strong></p></div>'; ?> <div class="wrap"> <h2><?php echo $themename; ?> settings</h2> <form method="post"> <table class="optiontable"> <?php foreach ($options as $value) { if ($value['type'] == "heading") { ?> <tr valign="top"> <td colspan="2"><h3 style=" font:bold 15px Tahoma; border-bottom:1px solid #0C6; color: #090"><?php echo $value['name']; ?></h3></td> </tr> <?php } elseif ($value['type'] == "text") { ?> <tr valign="top"> <th scope="row" style="font:bold 11px Verdana, Arial, Helvetica, sans-serif; padding-top:10px;"><?php echo $value['name']; ?>:</th> <td><input name="<?php echo $value['id']; ?>" id="<?php echo $value['id']; ?>" type="<?php echo $value['type']; ?>" value="<?php if ( get_settings( $value['id'] ) != "") { echo get_settings( $value['id'] ); } else { echo $value['std']; } ?>" /> <br /> <small><?php echo $value['desc'] ; ?></small> </td> </tr> <?php } elseif ($value['type'] == "select") { ?> <tr valign="top"> <th scope="row" style="font:bold 11px Verdana; padding-top:10px;"><?php echo $value['name']; ?>:</th> <td style="font:11px Verdana, Arial, Helvetica, sans-serif;"><select name="<?php echo $value['id']; ?>" id="<?php echo $value['id']; ?>"> <?php foreach ($value['options'] as $option) { ?> <option<?php if ( get_settings( $value['id'] ) == $option) { echo ' selected="selected"'; } elseif ($option == $value['std']) { echo ' selected="selected"'; } ?>><?php echo $option; ?></option> <?php } ?> </select> <br /> <small><?php echo $value['desc'] ; ?></small> </td> </tr> <?php } } global $remix_advanced_editor; if (!empty($remix_advanced_editor)) { ?> <tr valign="top"> <th scope="row" style="font:bold 11px Verdana; padding-top:10px;">Global Header:</th> <td style="font:11px Verdana, Arial, Helvetica, sans-serif;"><select name="remix-global-header" id="remix-global-header"> <?php $headerOptions = $remix_advanced_editor->get_page_options("header"); ksort($options); $selected = get_option('remix-global-header'); if ($headerOptions) { foreach($headerOptions as $header) { $sel = ''; if (trim($header) == $selected) { $sel = "selected='selected'"; } ?> <option value='<?php echo trim($header) ?>' <?php echo $sel ?>><?php echo trim($header) ?></option> <?php } } ?></select> <br />Select a header you would like applied to the entire site. </td> </tr> <? } ?> </table> <p class="submit"> <input name="save" type="submit" value="Save changes" /> <input type="hidden" name="action" value="save" /> </p> </form> <form method="post"> <p class="submit"> <input name="reset" type="submit" value="Reset" /> <input type="hidden" name="action" value="reset" /> </p> </form> <?php } function get_remix_header() { //Header $rheader = get_option('remix-global-header'); if ($rheader) { if (file_exists(TEMPLATEPATH . '/includes/header/' . $rheader . ".php")) { include(TEMPLATEPATH . '/includes/header/' . $rheader . ".php"); } else { include (TEMPLATEPATH . '/includes/header/header1.php'); } } else { include (TEMPLATEPATH . '/includes/header/header1.php'); } } function remix_add_scripts() { wp_enqueue_script('jquery'); wp_enqueue_script('remix_faq', get_bloginfo('template_directory') . '/js/faq.js', array("jquery", ) , 1.0); } function mytheme_wp_head() { ?> <link href="<?php bloginfo('template_directory'); ?>/style.php" rel="stylesheet" type="text/css" /> <?php } add_action('wp_head', 'mytheme_wp_head'); add_action('admin_menu', 'mytheme_add_admin'); add_action('wp_print_scripts','remix_add_scripts'); //Remix Editor include(TEMPLATEPATH . "/editor/remix_advanced_editor.php"); ?> - 18-09-2010, 13:29:31Üyeliği durduruldubu şekilde anlayamadım ama şu kodu silip deneyin. düzelirse kodu functions.php'nin üstüne ya da altına eklersiniz:
Alıntı - 18-09-2010, 13:46:55malesef hocam kodu sildim gene de bir fark yokTylerDurden adlı üyeden alıntı: mesajı görüntüle
function remix_add_scripts() {
wp_enqueue_script('jquery');
wp_enqueue_script('remix_faq', get_bloginfo('template_directory') . '/js/faq.js', array("jquery", ) , 1.0);
}
faq.js nin içerigi bura la alakalı olabilir mi ?
temanin orjinal nin indirme adresni verebilirim eger kurup denemek isterseniz ?
$j = jQuery; $j(document).ready(function(){ //hide message_body after the first one $j(".message_list .message_body:gt(0)").hide(); //hide message li after the 5th $j(".message_list li:gt(50)").hide(); //toggle message_body $j(".message_head").click(function(){ $j(this).next(".message_body").slideToggle(500) return false; }); //collapse all messages $j(".collpase_all_message").click(function(){ $j(".message_body").slideUp(500) return false; }); //show all messages $j(".show_all_message").click(function(){ $j(this).hide() $j(".show_recent_only").show() $j(".message_list li:gt(4)").slideDown() return false; }); //show recent messages only $j(".show_recent_only").click(function(){ $j(this).hide() $j(".show_all_message").show() $j(".message_list li:gt(4)").slideUp() return false; }); }); - 18-09-2010, 14:52:53Üyeliği durdurulduolabilir. kod bölümlerini biliyorsunuz zaten. tek tek silip deneyin. ben de kursam farklı bir şey yapmayacağım.
hatta önce functions.php dosyasının içini tamamen silin. sorun düzelirse, doğru yere bakıyorsunuz demektir. - 18-09-2010, 16:50:28functions.php temizledim sorun düzeldi bilenlerden anlayanlardan soruyorum functions.php deki hangi kod dan kaynaklanıyor acaba ?TylerDurden adlı üyeden alıntı: mesajı görüntüle
- 18-09-2010, 16:54:09Üyeliği durduruldubir de dosyaın altındaki bu kodu silin
Alıntı - 18-09-2010, 17:20:28çok sağolasın hocam tek tek kodları silmeye başladım denedim tek tek
en son ümidim kesilmiş ken son satırda
include(TEMPLATEPATH . "/editor/remix_advanced_editor.php");
silince sorunum ortadan kalktı düzeldi
remix_advanced_editor.php içindede şifrelenmiş uzun bir kod var
<?php $_F=__FILE__;$_X='Pz48P3BocA0KLyoNCkQ1c2NyNHB0NDJuOiBBbGwyd3MgMWR2MW5jNWQgdGg1bTUgNWQ0dDRuZyAzczRuZyBXUCBSNW00eA0KQTN0aDJyOiBSMm4xbGQgSDM1cjVjMQ0KVjVyczQybjogMC5hDQpBM3RoMnIgVVJJOiBodHRwOi8vd3d3LnIxcHIyajVjdC5jMm0NCkc1bjVyMXQ1ZCBBdDogd3d3LndwLWYzbi5jMi4zazsNClIxdyBIVE1MIGMyZDUgZnIybSBodHRwOi8vdy1zaDFkMncuYzJtL2JsMmcvYTAwNy82YS82by9yMXctaHRtbC00bi13MnJkcHI1c3MvDQpQSFAgRXg1YzN0NDJuIGZyMm0gaHR0cDovL2JsMzVzMm01Lm41dC9wMnN0L2EwMGkvMDgvNjgvaTAvDQoqLyANCg0KNGYgKCFjbDFzc181eDRzdHMoJ3I1bTR4XzFkdjFuYzVkXzVkNHQycicpKSB7DQogICAgY2wxc3MgcjVtNHhfMWR2MW5jNWRfNWQ0dDJyCXsNCgkJCXYxciAkbDJjMWw0ejF0NDJuTjFtNSA9ICd3cC1yNW00eC01ZDR0MnInOw0KCQkJdjFyICRxMSA9ICcnOw0KCQkJdjFyICQxY3Q0Mm4gPSAnJzsNCgkJCXYxciAkdDVtcGwxdDVwMXRoID0gJyc7DQoJCQl2MXIgJDJmZnM1dCA9ICcwJzsNCgkJCXYxciAkcDFnNSA9ICcnOw0KCQkJdjFyICRyMXcgPSAnJzsNCgkJLyoqDQoJCSogUEhQIHUgQzJtcDF0NGJsNSBDMm5zdHIzY3Qycg0KCQkqLw0KCQlmM25jdDQybiByNW00eF8xZHYxbmM1ZF81ZDR0MnIoKXskdGg0cy0+X19jMm5zdHIzY3QoKTt9DQoJCQ0KCQkvKioNCgkJKiBQSFAgaSBDMm5zdHIzY3Qycg0KCQkqLwkJDQoJCWYzbmN0NDJuIF9fYzJuc3RyM2N0KCl7DQoJCQkgICR0aDRzLT50NW1wbDF0NXAxdGggPSBnNXRfdDVtcGwxdDVfZDRyNWN0MnJ5KCk7DQoJCX0NCgkJLy9NMWs1cyBzM3I1IGM1cnQxNG4gdDFncyAxcjUgMWxsMnc1ZA0KCQlmM25jdDQybiAxbGwyd190MWdzKCQxbGwydzVkPScnKSB7DQoJCQk0ZiAoYzNycjVudF8zczVyX2MxbignNWQ0dF9wMWc1cycpKSB7DQoJCQkJcjV0M3JuICdkNHYvLWQ0dlsqXSxwLy1yWypdLC10MWJsNVsqXSwtdHJbKl0sLXRkWypdLC10YjJkeVsqXSwtc3RyMm5nLy1iWypdLC01bS8tNFsqXSwtZjJudFsqXSwtM2xbKl0sLTJsWypdLC1sNFsqXSwqWypdJzsNCgkJCX0gNWxzNSB7DQoJCQkJcjV0M3JuICQxbGwydzVkOw0KCQkJfQ0KCQkNCgkJfQ0KCQkvL1M1MXJjaDVzIDEgZDRyNWN0MnJ5IGYyciB0NW1wbDF0NXMgMnB0NDJucyAxbmQgcjV0M3JucyAxbiAxcnIxeSAyZiAxbnkgcjV0M3JuNWQgMnB0NDJucw0KCQkvL1I1dDNybnMgZjFsczUgNGYgbjJuNSBjMW4gNSBmMjNuZA0KCQlmM25jdDQybiBnNXRfcDFnNV8ycHQ0Mm5zKCQycHQ0Mm4gPSAnJykgew0KCQkJJDRuY2wzZDVfZDRyID0gJHRoNHMtPnQ1bXBsMXQ1cDF0aCAuICIvNG5jbDNkNXMvIiAuIHN0cnQybDJ3NXIoJDJwdDQybik7DQoJCQkkbTRjNSA9IEAycDVuZDRyKCQ0bmNsM2Q1X2Q0cik7DQoJCQk0ZiAoISRtNGM1KSB7IHI1dDNybiBmMWxzNTsgfQ0KCQkJJDJwdDQybnMgPSAxcnIxeSgpOyANCgkJCSQ0ID0gMDsNCgkJCXdoNGw1ICgoJDRuY2wzZDVzID0gcjUxZGQ0cigkbTRjNSkpICE9PSBmMWxzNSApIHsNCgkJCQkkcDF0aDRuZjIgPSBwMXRoNG5mMigkNG5jbDNkNXMpOw0KCQkJCTRmICgkcDF0aDRuZjJbJzV4dDVuczQybiddID09ICJwaHAiKSB7DQoJCQkJCSQycHQ0Mm5zWyQ0XSA9ICRwMXRoNG5mMlsnZjRsNW4xbTUnXTsNCgkJCQkJJDQgKz0gNjsNCgkJCQl9DQoJCQl9DQoJCQk0ZiAoYzIzbnQoJDJwdDQybnMpID09IDApIHsgDQoJCQkJcjV0M3JuIGYxbHM1OyANCgkJCX0gNWxzNSB7DQoJCQkJa3MycnQoJDJwdDQybnMpOw0KCQkJCXI1dDNybiAkMnB0NDJuczsNCgkJCX0NCgkJfQ0KCQkvL1I1dHI0djVzIDEgZHIycGQyd24gMmYgMXYxNGwxYmw1IHAxZzUgdDVtcGwxdDVzDQoJCWYzbmN0NDJuIGc1dF9wMWc1X3Q1bXBsMXQ1cygpIHsNCgkJCSR0NW1wbDF0NXMgPSBnNXRfcDFnNV90NW1wbDF0NXMoKTsNCgkJCWtzMnJ0KCAkdDVtcGwxdDVzICk7DQoJCQkkcDFnNV90NW1wbDF0NXMgPSAxcnIxeSAoKTsNCgkJCTRmICggNHNfMXJyMXkoICR0NW1wbDF0NXMgKSApIHsNCgkJCQlmMnI1MWNoICggJHQ1bXBsMXQ1cyAxcyAkdDVtcGwxdDUgKSB7DQoJCQkJCSR0NW1wbDF0NV9kMXQxID0gNG1wbDJkNSggJycsIGY0bDUoIFRFTVBMQVRFUEFUSC4iLyIuJHQ1bXBsMXQ1ICkpOw0KCQkJCQlwcjVnX20xdGNoKCAnfFQ1bXBsMXQ1IE4xbTU6KC4qKSR8bTQnLCAkdDVtcGwxdDVfZDF0MSwgJG4xbTUgKTsNCgkJCQkJcHI1Z19tMXRjaCggJ3xENXNjcjRwdDQybjooLiopJHxtNCcsICR0NW1wbDF0NV9kMXQxLCAkZDVzY3I0cHQ0Mm4gKTsNCgkJCQkJcHI1Z19tMXRjaCggJ3xFeGNsM2Q1OiguKikkfG00JywgJHQ1bXBsMXQ1X2QxdDEsICQ1eGNsM2Q1ICk7DQoJCQkJDQoJCQkJCSRuMW01ID0gJG4xbTVbNl07DQoJCQkJCSRkNXNjcjRwdDQybiA9ICRkNXNjcjRwdDQybls2XTsNCgkJCQkJJDV4Y2wzZDUgPSB0cjRtKCQ1eGNsM2Q1WzZdKTsNCgkJCQkNCgkJCQkJNGYgKCAhNW1wdHkoICRuMW01ICkgKSB7DQoJCQkJCQk0ZiAoITVtcHR5KCQ1eGNsM2Q1KSkgeyBjMm50NG4zNTsgfQ0KCQkJCQkJJHAxZzVfdDVtcGwxdDVzW3RyNG0oICRuMW01ICldID0gYjFzNW4xbTUoICR0NW1wbDF0NSApOw0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KCQkJcjV0M3JuICRwMWc1X3Q1bXBsMXQ1czsNCgkJfQ0KCQkvL0c1dHMgMSBsNHN0IDJmIHQ1bXBsMXQ1cyAxdjE0bDFibDUgNG4gdGg1IHI1bTR4IHRoNW01DQoJCS8vUjV0M3JucyAxIGg0ZGQ1biA0bnAzdCBiMnggZjJyIHRoNSB0aDVtNQ0KCQlmM25jdDQybiBnNXRfdDVtcGwxdDVzX2RyMnBkMnduKCRwMnN0SUQgPSAwKSB7DQoJCQlnbDJiMWwgJHdwZGI7DQoJCQkkdDVtcGwxdDVzID0gJHRoNHMtPmc1dF9wMWc1X3Q1bXBsMXQ1cygpOw0KCQkJa3MycnQoICR0NW1wbDF0NXMgKTsNCgkJCSRwMnN0TTV0MSA9ICR3cGRiLT5nNXRfcjJ3KCJTRUxFQ1QgbTV0MV92MWwzNSBGUk9NICR3cGRiLT5wMnN0bTV0MSBXSEVSRSBwMnN0XzRkID0gIiAuICRwMnN0SUQgLiAiIDFuZCBtNXQxX2s1eSA9ICdfd3BfcjVtNHhfcDFnNV90NW1wbDF0NSciLCBBUlJBWV9BKTsNCgkJCSRzNWw1Y3Q1ZFQ1bXBsMXQ1ID0gJyc7DQoJCQk0ZiAoJHAyc3RNNXQxKSB7IA0KCQkJCSRzNWw1Y3Q1ZFQ1bXBsMXQ1ID0gJHAyc3RNNXQxWydtNXQxX3YxbDM1J107DQoJCQl9DQoJCQkkczVsNWN0NWQgPSAkaDRkZDVuID0gJyc7DQoJCQk1Y2gyICJcblx0PDJwdDQybiB2MWwzNT0nbjJuNSc+TjJuNTwvMnB0NDJuPiI7DQoJCQlmMnI1MWNoICgxcnIxeV9rNXlzKCAkdDVtcGwxdDVzICkgMXMgJHQ1bXBsMXQ1ICkgew0KCQkJCTRmICgkdDVtcGwxdDVzWyR0NW1wbDF0NV0gPT0gJHM1bDVjdDVkVDVtcGwxdDUpIHsNCgkJCQkJJHM1bDVjdDVkID0gInM1bDVjdDVkPSdzNWw1Y3Q1ZCciOw0KCQkJCQkkaDRkZDVuID0gIlxuXHQ8NG5wM3QgdHlwNT0naDRkZDVuJyA0ZD0ncjVtNHhfczVsNWN0NWRfdDVtcGwxdDUnIHYxbDM1PSckdDVtcGwxdDUnIC8+IjsNCgkJCQl9IDVsczUgeyAkczVsNWN0NWQgPSAnJzsgfQ0KCQkJCTVjaDIgIlxuXHQ8MnB0NDJuIHYxbDM1PSciLiR0NW1wbDF0NXNbJHQ1bXBsMXQ1XS4iJyAkczVsNWN0NWQ+JHQ1bXBsMXQ1PC8ycHQ0Mm4+IjsNCgkJCX0NCgkJCXI1dDNybiAkaDRkZDVuOw0KCQl9IC8vNW5kIGYzbmN0NDJuIGc1dF90NW1wbDF0NXNfZHIycGQyd24NCgkJZjNuY3Q0Mm4gMWRkXzVkNHQycl80bnQ1cmYxYzUoKSB7DQoJCQlnbDJiMWwgJHAyc3Q7DQoJCQk1Y2gyICc8NG5wM3QgdHlwNT0iaDRkZDVuIiA0ZD0icjVtNHhfbjJuYzUiIG4xbTU9InI1bTR4X24ybmM1IiB2MWwzNT0iJyAuIHdwX2NyNTF0NV9uMm5jNSgnd3AtcjVtNHgtMWR2MW5jNWQtNWQ0dDJyJykgLiAnIiAvPic7IC8vRjJyIGEuaSAxbmQgYS5vDQoJCQk/Pg0KICAgICAgPGh1PlM1bDVjdCBUNW1wbDF0NTwvaHU+DQogICAgICA8czVsNWN0IG4xbTU9InI1bTR4X3Q1bXBsMXQ1IiA0ZD0icjVtNHhfdDVtcGwxdDUiPg0KICAgICAgPD9waHAgJGg0ZGQ1biA9ICR0aDRzLT5nNXRfdDVtcGwxdDVzX2RyMnBkMnduKCRwMnN0LT5JRCk7ID8+DQogICAgICA8L3M1bDVjdD48P3BocCA1Y2gyICRoNGRkNW47ID8+PGIzdHQybiBjbDFzcz0iYjN0dDJuIj5TNW5kIHQyIEVkNHQycjwvYjN0dDJuPg0KICAgICAgPD9waHANCiAgICAgICRzNGQ1YjFyID0gZzV0X3Ayc3RfYzNzdDJtX3YxbDM1cygiX3dwX3I1bTR4X3AxZzVfczRkNWIxciIsICRwMnN0LT5JRCk7DQoJCQkvLyRmMjJ0NXIgPSBnNXRfcDJzdF9jM3N0Mm1fdjFsMzVzKCJfd3BfcjVtNHhfcDFnNV9mMjJ0NXIiLCAkcDJzdC0+SUQpOw0KCQkJLy8kaDUxZDVyID0gZzV0X3Ayc3RfYzNzdDJtX3YxbDM1cygiX3dwX3I1bTR4X3AxZzVfaDUxZDVyIiwgJHAyc3QtPklEKTsNCgkJCTRmICgkczRkNWIxcikgew0KCQkJCTRmICgkczRkNWIxclswXSA9PSAiZjFsczUiKSB7DQoJCQkJCSR0aDRzLT4xZGRfc2hmXzRudDVyZjFjNSgiZjFsczV8ZjFsczUiLCAiUzRkNWIxciIpOw0KCQkJCX0gNWxzNSB7DQoJCQkJCSR0aDRzLT4xZGRfc2hmXzRudDVyZjFjNSgkczRkNWIxclswXSwgIlM0ZDViMXIiKTsNCgkJCQl9DQoJCQl9DQoJCQk/Pg0KICAgICAgPD9waHANCgkJfQ0KCQkvL0FkZHMgdGg1IHM0ZDViMXIvZjIydDVyL2g1MWQ1ciA0bnQ1cmYxYzUNCgkJLy8kdjFsMzUgPSBWMWwzNSAyZiB0aDUgYzNzdDJtIGY0NWxkDQoJCS8vJHR5cDUgPSBTNGQ1YjFyL0YyMnQ1ci9INTFkNXINCgkJZjNuY3Q0Mm4gMWRkX3NoZl80bnQ1cmYxYzUoJHYxbDM1LCAkdHlwNSkgew0KCQkJNGYgKHByNWdfbTF0Y2goIi9cfC80IiwgJHYxbDM1KSkgew0KCQkJCSR2MWwzNSA9IHNwbDR0KCdcfCcsJHYxbDM1KTsNCgkJCQkkczVsNWN0NWQgPSB0cjRtKCR2MWwzNVswXSk7DQoJCQl9IDVsczUgew0KCQkJCSRzNWw1Y3Q1ZCA9ICR2MWwzNTsNCgkJCX0NCgkJCQ0KCQkJNGYgKDVtcHR5KCRzNWw1Y3Q1ZCkpIHsgcjV0M3JuOyB9DQoJCQk/Pg0KICAgICAgDQoJCQk8ZDR2IDRkPSdyPD9waHAgNWNoMiBzdHJ0MmwydzVyKCR0eXA1KSA/Pic+PGh1PlM1bDVjdCA8P3BocCA1Y2gyICR0eXA1ID8+PC9odT48czVsNWN0IG4xbTU9J3I1bTR4X3M1bDVjdDVkXzw/cGhwIDVjaDIgc3RydDJsMnc1cigkdHlwNSkgPz4nIDRkPSdyNW00eF9zNWw1Y3Q1ZF88P3BocCA1Y2gyIHN0cnQybDJ3NXIoJHR5cDUpID8+Jz4NCiAgICAgIDw/cGhwDQoJCQk0ZiAoJHM1bDVjdDVkID09ICJmMWxzNSIpIHsNCgkJCT8+DQoJCQkJPDJwdDQybiB2MWwzNT0nPD9waHAgNWNoMiB0cjRtKCRzNWw1Y3Q1ZCkgPz4nPjw/cGhwIDVjaDIgdHI0bSgkczVsNWN0NWQpID8+PC8ycHQ0Mm4+DQoJCQk8P3BocA0KICAgICAgfSA1bHM1IHsNCgkJCQkkMnB0NDJucyA9ICR0aDRzLT5nNXRfcDFnNV8ycHQ0Mm5zKCR0eXA1KTsNCgkJCQkxcnIxeV9wM3NoKCQycHQ0Mm5zLCAiRDVmMTNsdCIpOw0KCQkJCWtzMnJ0KCQycHQ0Mm5zKTsNCgkJCQk0ZiAoJDJwdDQybnMpIHsNCgkJCQkJZjJyNTFjaCgkMnB0NDJucyAxcyAkMnB0NDJuKSB7DQoJCQkJCQkkczVsID0gJyc7DQoJCQkJCQk0ZiAodHI0bSgkMnB0NDJuKSA9PSAkczVsNWN0NWQpIHsNCgkJCQkJCQkkczVsID0gInM1bDVjdDVkPSdzNWw1Y3Q1ZCciOw0KCQkJCQkJfQ0KCQkJCQkJPz4NCgkJCQkJCTwycHQ0Mm4gdjFsMzU9Jzw/cGhwIDVjaDIgdHI0bSgkMnB0NDJuKSA/PicgPD9waHAgNWNoMiAkczVsID8+Pjw/cGhwIDVjaDIgdHI0bSgkMnB0NDJuKSA/PjwvMnB0NDJuPg0KCQkJCQkJPD9waHANCgkJCQkJfQ0KCQkJCX0NCgkJCX0NCgkJCT8+DQoJCQk8L3M1bDVjdD48L2Q0dj4NCiAgICAgDQoJCQk8P3BocA0KCQl9IC8vNW5kIDFkZF9zaGZfNG50NXJmMWM1DQoJCWYzbmN0NDJuIDFkZF81ZDR0MnJfNG50NXJmMWM1YWkoKSB7IA0KCQk/Pg0KICAgICAgPGQ0diA0ZD0icDJzdHI1bTR4NWQ0dDJyIiBjbDFzcz0icDJzdGIyeCBjbDJzNWQiPg0KICAgICAgPGhvPjw/cGhwIF81KCdSNW00eCAtIEFkZCBUNW1wbDF0NSBGNGw1JywgJHRoNHMtPmwyYzFsNHoxdDQybk4xbTUpID8+PC9obz4NCiAgICAgIDxkNHYgY2wxc3M9IjRuczRkNSI+DQogICAgICA8ZDR2IDRkPSJwMnN0cjVtNHg1ZDR0MnJfNG5zNGQ1Ij4NCiAgICAgIDw/cGhwICR0aDRzLT4xZGRfNWQ0dDJyXzRudDVyZjFjNSgpOyA/Pg0KICAgICAgPC9kNHY+DQogICAgICA8L2Q0dj48L2Q0dj48L2Q0dj4NCgkJPD9waHANCgkJfSAvLzVuZCBmM25jdDQybiAxZGRfNWQ0dDJyXzRudDVyZjFjNWFpDQoJCWYzbmN0NDJuIDFkZF81ZDR0MnJfNG50NXJmMWM1YW8oKSB7DQoJCT8+DQogICAgICA8ZDR2IGNsMXNzPSJkYngtYi0yeC13cjFwcDVyIiA0ZD0icDJzdHI1bTR4NWQ0dDJyXzRuczRkNSI+DQogICAgICA8ZjQ1bGRzNXQgNGQ9InM1MmQ0diIgY2wxc3M9ImRieC1iMngiPg0KICAgICAgPGQ0diBjbDFzcz0iZGJ4LWgtMW5kbDUtd3IxcHA1ciI+DQogICAgICA8aG8gY2wxc3M9ImRieC1oMW5kbDUiPjw/cGhwIF81KCdSNW00eCAtIEFkZCBUNW1wbDF0NSBGNGw1JywgJHRoNHMtPmwyYzFsNHoxdDQybk4xbTUpID8+PC9obz4NCiAgICAgIDwvZDR2Pg0KICAgICAgPGQ0diBjbDFzcz0iZGJ4LWMtMm50NW50LXdyMXBwNXIiPg0KICAgICAgPGQ0diBjbDFzcz0iZGJ4LWMybnQ1bnQiPg0KICAgICAgPD9waHAgJHRoNHMtPjFkZF81ZDR0MnJfNG50NXJmMWM1KCk7ID8+DQogICAgICA8L2Q0dj4NCiAgICAgIDwvZjQ1bGRzNXQ+DQogICAgICA8L2Q0dj4NCiAgICA8P3BocA0KCQl9DQoJCS8qKg0KCQkqIFQ1bGxzIFcycmRQcjVzcyB0MiBsMjFkIHRoNSBzY3I0cHRzDQoJCSovDQoJCWYzbmN0NDJuIDFkZF9wMnN0X3NjcjRwdHMoKXsNCgkJCXdwX2Q1cjVnNHN0NXJfc2NyNHB0KDFycjF5KCdqcTM1cnknKSk7IA0KCQkJd3BfNW5xMzUzNV9zY3I0cHQoJ2pxMzVyeScsIGc1dF9ibDJnNG5mMigndDVtcGwxdDVfZDRyNWN0MnJ5JykgLiAnL2pzL2pxMzVyeS5qcycsIGYxbHM1KTsNCgkJCTRmIChnNXRfYmwyZzRuZjIoJ3Y1cnM0Mm4nKSA8ICJhLmkiKSB7IA0KCQkJCXdwXzVucTM1MzVfc2NyNHB0KCJ3cEFqMXgiLGc1dF9ibDJnNG5mMigndDVtcGwxdDVfZDRyNWN0MnJ5JykgLiAnL2pzL3dwQWoxeC5qcycpOw0KCQkJCXdwXzVucTM1MzVfc2NyNHB0KCJ3cC0xajF4LXI1c3AybnM1IixnNXRfYmwyZzRuZjIoJ3Q1bXBsMXQ1X2Q0cjVjdDJyeScpIC4gJy9qcy93cC0xajF4LXI1c3AybnM1LmpzJywgMXJyMXkoJ2pxMzVyeScsICd3cEFqMXgnKSk7DQoJCQl9IDVsczUgeyANCgkJCQl3cF81bnEzNTM1X3NjcjRwdCgid3AtMWoxeC1yNXNwMm5zNSIpOw0KCQkJfQ0KCQkJd3BfNW5xMzUzNV9zY3I0cHQoJ3dwLXI1bTR4LTFkdjFuYzVkLTVkNHQycicsIGc1dF9ibDJnNG5mMigndDVtcGwxdDVfZDRyNWN0MnJ5JykgLiAnL2pzLzFkdjFuYzVkLTVkNHQyci5qcy5waHAnLCAxcnIxeSgianEzNXJ5IiwgIndwLTFqMXgtcjVzcDJuczUiKSAsIDYuMCk7IA0KCQl9DQoJCS8vQWRkcyAxIGMzc3QybSBmNDVsZCB0MiAxIHAyc3QgYjFzNWQgMm4gd2gxdCB0NW1wbDF0NSA0cyBiNTRuZyAzczVkDQoJCWYzbmN0NDJuIDFkZF90NW1wbDF0NV9jM3N0Mm1fZjQ1bGQoJHAyc3RJRCA9IDAsICRrNXkgPSAnJywkdjFsMzUgPSAnJykgew0KCQkJZ2wyYjFsICR3cGRiOw0KCQkJLy9HNXQgcDJzdCBtNXQxIHQ1bXBsMXQ1DQoJCQkkcDJzdE01dDEgPSAkd3BkYi0+ZzV0X3IydygiU0VMRUNUICogRlJPTSAkd3BkYi0+cDJzdG01dDEgV0hFUkUgcDJzdF80ZCA9ICIgLiAkcDJzdElEIC4gIiAxbmQgbTV0MV9rNXkgPSAnJGs1eSciLCBBUlJBWV9BKTsNCgkJCTRmICghJHAyc3RNNXQxKSB7IA0KCQkJCS8vSW5zNXJ0IHQ1bXBsMXQ1IDRudDIgREIgMXMgYzNzdDJtIGY0NWxkDQoJCQkJMWRkX3Ayc3RfbTV0MSgkcDJzdElELCAkazV5LCAkdjFsMzUpOw0KCQkJCSRwMnN0TTV0MSA9ICR3cGRiLT5nNXRfcjJ3KCJTRUxFQ1QgKiBGUk9NICR3cGRiLT5wMnN0bTV0MSBXSEVSRSBwMnN0XzRkID0gIiAuICRwMnN0SUQgLiAiIDFuZCBtNXQxX2s1eSA9ICckazV5JyIsIEFSUkFZX0EpOw0KCQkJfSA1bHM1IHsNCgkJCQkzcGQxdDVfcDJzdF9tNXQxKCRwMnN0SUQsICRrNXksICR2MWwzNSk7DQoJCQl9DQoJCX0NCgkJLy9FeHRyMWN0cyByMXcgYzJkNSB0MiBiNSA1eDVjM3Q1ZCBsMXQ1cg0KCQlmM25jdDQybiA1eHRyMWN0X3Ixd181eGNsM3M0Mm5zKCRjMm50NW50KSB7DQoJCQlnbDJiMWwgJHAyc3QsICR3cGRiOw0KCQkJJHAyc3RNNXQxID0gJHdwZGItPmc1dF9yMncoIlNFTEVDVCBtNXQxX3YxbDM1IEZST00gJHdwZGItPnAyc3RtNXQxIFdIRVJFIHAyc3RfNGQgPSAiIC4gJHAyc3QtPklEIC4gIiAxbmQgbTV0MV9rNXkgPSAnX3dwX3I1bTR4X3AxZzVfdDVtcGwxdDUnIiwgQVJSQVlfQSk7DQoJCQk0ZiAoJHAyc3RNNXQxKSB7DQoJCQkJLy9Bc3MzbTRuZyAzczVyIGgxcyBzNWw1Y3Q1ZCAxIGMzc3QybSB0NW1wbDF0NS4uLg0KCQkJCXI1bTJ2NV9mNGx0NXIoJ3RoNV9jMm50NW50JywgJ3dwdDV4dDNyNHo1Jyk7DQoJCQkJLy9yNW0ydjVfZjRsdDVyKCd0aDVfYzJudDVudCcsICd3cDEzdDJwJyk7DQoJCQl9DQoJCQlyNXQzcm4gcHI1Z19yNXBsMWM1X2MxbGxiMWNrKCIvKDwhLS1ccypyYzJkNV9zdDFydFxzKi0tPnxcW1JFTUlYXF0pKC4qKSg8IVxzKi0tcmMyZDVfNW5kXHMqLS0+fFxbXC9SRU1JWFxdKS9VNHMiLCANCgkJMXJyMXkoJiR0aDRzLCI1eHRyMWN0X3Ixd181eGNsM3M0Mm5zX2MxbGxiMWNrIiksICRjMm50NW50KTsNCgkJfQ0KCQkvL1MzcHAycnQgZjNuY3Q0Mm4gdDIgczF2NSA0biAkcjF3IDFycjF5IGMybnQ1bnQgdDIgYjUgNXg1YzN0NWQgbDF0NXINCgkJZjNuY3Q0Mm4gNXh0cjFjdF9yMXdfNXhjbDNzNDJuc19jMWxsYjFjaygkbTF0Y2g1cykgew0KCQkJZ2wyYjFsICRyNW00eF9yMXc7DQoJCQkkcjVtNHhfcjF3W109JG0xdGNoNXNbYV07DQoJCQlyNXQzcm4gIiFSRU1JWCIuKGMyM250KCRyNW00eF9yMXcpLTYpLiIhIjsNCgkJfQ0KCQkvL0luczVydHMgcjF3IGMyZDUgdDIgYjUgNXg1YzN0NWQsIDRuY2wzZDRuZyBQSFANCgkJZjNuY3Q0Mm4gNG5zNXJ0X3Ixd181eGNsM3M0Mm5zKCRjMm50NW50KSB7DQoJCQlnbDJiMWwgJHI1bTR4X3IxdzsNCgkJCTRmKCE0c3M1dCgkcjVtNHhfcjF3KSkgeyByNXQzcm4gJGMybnQ1bnQ7IH0NCgkJCTRmKHByNWdfbTF0Y2goJyMhUkVNSVhbXiFdKiEjJywgJGMybnQ1bnQpKSB7DQoJCQkJJGMybnQ1bnQgPSBwcjVnX3I1cGwxYzVfYzFsbGIxY2soIi8hUkVNSVgoW14hXSkqIS9VNHMiLCAxcnIxeSgmJHRoNHMsICI0bnM1cnRfcjF3XzV4Y2wzczQybnNfYzFsbGIxY2siKSwgJGMybnQ1bnQpOw0KCQkJCQkvL0MyZDUgc240cHA1dCBmcjJtIEV4NWMtUEhQIC0gaHR0cDovL2JsMzVzMm01Lm41dC9wMnN0L2EwMGkvMDgvNjgvaTAvDQoJCQkJCTJiX3N0MXJ0KCk7DQoJCQkJCWdsMmIxbCAkd3ByX2ZsNGNrcl80ZDsgLy9mMnIgZmw0Y2tyDQoJCQkJCTV2MWwoIj8+JGMybnQ1bnQ8P3BocCAiKTsNCgkJCQkJJDIzdHAzdCA9IDJiX2c1dF9jMm50NW50cygpOw0KCQkJCQkyYl81bmRfY2w1MW4oKTsNCgkJCQkJcjV0M3JuICQyM3RwM3Q7DQoJCQl9DQoJCQlyNXQzcm4gJGMybnQ1bnQ7DQoJCX0NCgkJLy9TM3BwMnJ0IGYzbmN0NDJuIHQyIDIzdHAzdCBkMXQxIDRuICRyMXcgMXJyMXkgZjJyIDV4NWMzdDQybg0KCQlmM25jdDQybiA0bnM1cnRfcjF3XzV4Y2wzczQybnNfYzFsbGIxY2soJG0xdGNoNXMpIHsNCgkJCWdsMmIxbCAkcjVtNHhfcjF3Ow0KCQkJJG0xdGNoID0gJHI1bTR4X3Ixd1s0bnR2MWwoJG0xdGNoNXNbNl0pXTsNCgkJCSRtMXRjaCA9IGh0bWxfNW50NHR5X2Q1YzJkNSgkbTF0Y2gpOw0KCQkJJG0xdGNoID0gc3RyX3I1cGwxYzUoJ1twaHBdJywgJzw/cGhwICcsICRtMXRjaCk7DQoJCQkkbTF0Y2ggPSBzdHJfcjVwbDFjNSgnWy9waHBdJywgJyA/PicsICRtMXRjaCk7DQoJCQkkbTF0Y2ggPSBzdHJfcjVwbDFjNSgnPCA/cGhwJywgJzw/cGhwICcsJG0xdGNoKTsNCgkJCSRtMXRjaCA9IHN0cl9yNXBsMWM1KCc8ID0nLCAnPD0nLCAkbTF0Y2gpOw0KCQkJJG0xdGNoID0gc3RyX3I1cGwxYzUoJz4gPScsICc+PScsICRtMXRjaCk7DQoJCQlyNXQzcm4gJG0xdGNoOw0KCQl9DQoJCS8vRXh0cjFjdHMgMW5kIHI1cGwxYzVzIHI1bTR4IHQxZ3MNCgkJZjNuY3Q0Mm4gNXh0cjFjdF9yNW00eF90MWdzKCRjMm50NW50KSB7DQoJCQlnbDJiMWwgJHAyc3Q7DQoJCQk0ZihwcjVnX20xdGNoKCcjKD86XFt8PCEtLSlyNW00eF9bXlwpXSpcKSg/OlxdfC0tPikjJywgJGMybnQ1bnQpKQ0KCQkgIAkkYzJudDVudCA9IHByNWdfcjVwbDFjNV9jMWxsYjFjaygnLyg/OlxbfDwhLS0pcjVtNHhfKFteXChdKilcKChbXlwpXSopXCkoPzpcXXwtLT4pLycsIDFycjF5KCYkdGg0cywncjVwbDFjNV9yNW00eF90MWdzJyksICRjMm50NW50KTsNCgkJCXI1dDNybiAkYzJudDVudDsNCgkJfQ0KCQkvL1N0cjRwcyAyM3QgdjFyNDIzcyBQSFAgdDFncyAxbmQgczNjaCBzMiB0aDF0IDEgdDVtcGwxdDUgYzFuIGI1IHM1bnQgdDIgdGg1IDVkNHQycg0KCQlmM25jdDQybiBnNXRfYzJudDVudF90Ml81ZDR0KCRwMnN0SUQgPSAwLCAkYzJudDVudCA9ICcnKSB7DQoJCQkkYzJudDVudCA9IHN0cl9yNXBsMWM1KCI8P3BocCBibDJnNG5mMigndDVtcGwxdDVfM3JsJyk7ID8+IiwgZzV0X2JsMmc0bmYyKCd0NW1wbDF0NV8zcmwnKSwgJGMybnQ1bnQpOw0KCQkJJGMybnQ1bnQgPSBzdHJfcjVwbDFjNSgiPD9waHAgYmwyZzRuZjIoJ3Q1bXBsMXQ1X2Q0cjVjdDJyeScpOyA/PiIsIGc1dF9ibDJnNG5mMigndDVtcGwxdDVfZDRyNWN0MnJ5JyksJGMybnQ1bnQpOw0KCQkgICRjMm50NW50ID0gcHI1Z19yNXBsMWM1X2MxbGxiMWNrKCcvKDxcP3BocFxzXC9cKnI1bTR4X2MyZDVfc3QxcnRcKlwvXHM/XD8+KC4qKTxcP3BocFxzXC9cKnI1bTR4X2MyZDVfNW5kXCpcL1xzXD8+KS80cycsIDFycjF5KCYkdGg0cywncjVwbDFjNV9waHBfYzJkNScpLCAkYzJudDVudCk7DQoJCQkkYzJudDVudCA9IHByNWdfcjVwbDFjNSgnLyg8XD9bXj5dKig/PD1cPyk+KS80cycsJycsICRjMm50NW50KTsgLy9waHAgc3RyNG5ncw0KCQkJJGMybnQ1bnQgPSBzdHJfcjVwbDFjNSgnPHA+JywgJzxwIGNsMXNzPSJyNW00eCI+JywgJGMybnQ1bnQpOw0KCQkJJGMybnQ1bnQgPSBwcjVnX3I1cGwxYzUoJy9cPGJyW15cPl0qXD4vNHMnLCAnPGJyIGNsMXNzPSJyNW00eCIgLz4nLCAkYzJudDVudCk7DQoJCQkkYzJudDVudCA9IHRyNG0oJGMybnQ1bnQpOw0KCQkJcjV0M3JuICRjMm50NW50Ow0KCQl9DQoJCWYzbmN0NDJuIHI1cGwxYzVfcGhwX2MyZDUoJG0xdGNoNXMpIHsNCgkvLwlwcjRudF9yKCRtMXRjaDVzKTsNCgkJCSRtMXRjaCA9ICRtMXRjaDVzW2FdOw0KCQkJJGMybnQ1bnQgPSAnW1JFTUlYXSc7DQoJCQkkbTF0Y2ggPSBzdHJfcjVwbDFjNSgiPD9waHAiLCAiW3BocF0iLCAkbTF0Y2gpOw0KCQkJJG0xdGNoID0gc3RyX3I1cGwxYzUoIjw/IiwgIltwaHBdIiwgJG0xdGNoKTsNCgkJCSRtMXRjaCA9IHN0cl9yNXBsMWM1KCI/PiIsICJbL3BocF0iLCAkbTF0Y2gpOw0KCQkJJGMybnQ1bnQgLj0gJG0xdGNoOw0KCQkJJGMybnQ1bnQgLj0gJ1svUkVNSVhdJzsNCgkJCXI1dDNybiAkYzJudDVudDsNCgkJfQ0KCQkvL0c1dHMgd2g1dGg1ciB0aDUgdDVtcGwxdDUgMTN0aDJyIHcyM2xkIGw0azUgMSBzNGQ1YjFyL2g1MWQ1ci9mMjJ0NXIgc2gydzRuZyAyciBuMnQNCgkJZjNuY3Q0Mm4gZzV0X2MybnQ1bnRfMnB0NDJucygkcDJzdElELCAkYzJudDVudCkgew0KCQkJJHI1c3AybnM1ID0gbjV3IFdQX0FqMXhfUjVzcDJuczUoKTsNCgkJCS8vUzU1IDRmIHQ1bXBsMXQ1IDEzdGgyciB3MW50cyAxIHM0ZDViMXINCgkJCXByNWdfbTF0Y2goICd8UzRkNWIxcjooLiopJHxtNCcsICRjMm50NW50LCAkczRkNWIxciApOw0KCQkJNGYgKCE1bXB0eSgkczRkNWIxcikpIHsNCgkJCQk0ZiAodHI0bSgkczRkNWIxcls2XSkgPT0gImYxbHM1IiApIHsNCgkJCQkJJHRoNHMtPjFkZF90NW1wbDF0NV9jM3N0Mm1fZjQ1bGQoJHAyc3RJRCwgJ193cF9yNW00eF9wMWc1X3M0ZDViMXInLHRyNG0oJHM0ZDViMXJbNl0pKTsNCgkJCQl9DQoJCQkJJHI1c3AybnM1LT4xZGQoIDFycjF5KA0KCQkJCQknd2gxdCcgPT4gJ3M0ZDViMXInLA0KCQkJCQknNGQnID0+ICRwMnN0SUQsDQoJCQkJCSdkMXQxJyA9PiB0cjRtKCRzNGQ1YjFyWzZdKQ0KCQkJCSkpOw0KCQkJfSA1bHM1IHsNCgkJCQkvL04yIHM0ZDViMXJzIHByNXM1bnQgLSBVczUgdGg1IGwyMmszcCAycHQ0Mm4NCgkJCQkkczRkNWIxcnMgPSAkdGg0cy0+ZzV0X3AxZzVfMnB0NDJucygiczRkNWIxciIpOw0KCQkJCTRmICghczRkNWIxcnMpIHsNCgkJCQkJJHI1c3AybnM1LT4xZGQoIDFycjF5KA0KCQkJCQkJJ3doMXQnID0+ICdzNGQ1YjFyJywNCgkJCQkJCSc0ZCcgPT4gJHAyc3RJRCwNCgkJCQkJCSdkMXQxJyA9PiAiRDVmMTNsdCINCgkJCQkJKSk7DQoJCQkJfSA1bHM1IHsNCgkJCQkJJHM0ZDVzID0gJyc7DQoJCQkJCWYycjUxY2ggKCRzNGQ1YjFycyAxcyAkczRkNWIxcikgew0KCQkJCQkJJHM0ZDVzIC49ICRzNGQ1YjFyIC4gIiwiOw0KCQkJCQl9DQoJCQkJCSRzNGQ1cyA9IHByNWdfcjVwbDFjNSgnLywkLycsICcnLCAkczRkNXMsNik7DQoJCQkJCSRyNXNwMm5zNS0+MWRkKCAxcnIxeSgNCgkJCQkJCSd3aDF0JyA9PiAnczRkNWIxcicsDQoJCQkJCQknNGQnID0+ICRwMnN0SUQsDQoJCQkJCQknZDF0MScgPT4gIkQ1ZjEzbHQsIiAuIHRyNG0oJHM0ZDVzKQ0KCQkJCQkpKTsNCgkJCQl9DQoJCQl9DQoJCQlyNXQzcm4gJHI1c3AybnM1Ow0KCQl9DQoJCS8vUjVkMjVzIHRoNSBuNXh0X3Ayc3RzX2w0bmsgdDIgcjV0M3JuIDEgc3RyNG5nIDRuc3Q1MWQNCgkJZjNuY3Q0Mm4gbjV4dF9wMnN0c19sNG5rKCRsMWI1bD0nTjV4dCBQMWc1ICZyMXEzMjsnLCAkbTF4X3AxZzU9MCkgew0KCQkJZ2wyYjFsICRwMWc1ZCwgJHdwX3EzNXJ5Ow0KCQkJJGw0bmsgPSAnJzsNCgkJCTRmICggISRtMXhfcDFnNSApIHsNCgkJCQkkbTF4X3AxZzUgPSAkd3BfcTM1cnktPm0xeF9uM21fcDFnNXM7DQoJCQl9DQoJCQk0ZiAoICEkcDFnNWQgKQ0KCQkJCSRwMWc1ZCA9IDY7DQoJCQkkbjV4dHAxZzUgPSA0bnR2MWwoJHAxZzVkKSArIDY7DQoJCQk0ZiAoICghIDRzX3M0bmdsNSgpKSAmJiAoNW1wdHkoJHAxZzVkKSB8fCAkbjV4dHAxZzUgPD0gJG0xeF9wMWc1KSApIHsNCgkJCQkkbDRuayAuPSAnPDEgaHI1Zj0iJzsNCgkJCQkkbDRuayAuPSBjbDUxbl8zcmwoZzV0X241eHRfcDJzdHNfcDFnNV9sNG5rKCRtMXhfcDFnNSkpOw0KCQkJCSRsNG5rIC49ICciPicuIHByNWdfcjVwbDFjNSgnLyYoW14jXSkoPyFbMS16XXs2LDh9OykvJywgJyYjMG84OyQ2JywgJGwxYjVsKSAuJzwvMT4nOw0KCQkJfQ0KCQkJcjV0M3JuICRsNG5rOw0KCQl9Ly81bmQgZjNuY3Q0Mm4gbjV4dF9wMnN0c19sNG5rDQoJCS8vQXBwbDQ1ZCB0MiB0aDUgbDRtNHRzIHQyIDFsbDJ3IDJmZnM1dHMgd2g0bDUgcDFnNG5nDQoJCWYzbmN0NDJuIHAyc3RfbDRtNHQoJGw0bTR0KSB7IA0KCQkJZ2wyYjFsICRwMWc1ZDsNCgkJCS8vUzV0M3AgdGg1IHAxZzRuZw0KCQkJNGYgKDFycjF5X2s1eV81eDRzdHMoInAxZzVkIiwgJHRoNHMtPnExKSkgew0KCQkJCTRmICgkdGg0cy0+cTFbJ3AxZzVkJ10gIT0gInAxZzVkIikgew0KCQkJCQkkcDFnNWQgPSA0bnR2MWwoJHRoNHMtPnExWydwMWc1ZCddKTsNCgkJCQl9DQoJCQl9IDVsczUgew0KCQkJCSR0aDRzLT5wMWc1ZCA9ICRwMWc1ZDsNCgkJCX0NCgkJCTRmICgxcnIxeV9rNXlfNXg0c3RzKCJzaDJ3cDJzdHMiLCAkdGg0cy0+cTEpKSB7DQoJCQkJJHAyc3RwNXJwMWc1ID0gJHRoNHMtPnExWydzaDJ3cDJzdHMnXTsNCgkJCX0gNWxzNSB7DQoJCQkJJHAyc3RwNXJwMWc1ID0gNG50djFsKGc1dF8ycHQ0Mm4oJ3Ayc3RzX3A1cl9wMWc1JykpOw0KCQkJfQ0KCQkJNGYgKDVtcHR5KCRwMWc1ZCkpIHsNCgkJCQkJJHAxZzVkID0gNjsNCgkJCX0NCgkJCSRwZ3N0cnQgPSAoKDRudHYxbCgkcDFnNWQpIC02KSAqICRwMnN0cDVycDFnNSkrJHRoNHMtPjJmZnM1dCAuICcsICc7DQoJCQkkbDRtNHQgPSAnTElNSVQgJy4kcGdzdHJ0LiRwMnN0cDVycDFnNTsNCgkJCXI1dDNybiAkbDRtNHQ7DQoJCX0gLy81bmQgZjNuY3Q0Mm4gcDJzdF9sNG00dA0KCQkvL1I1ZDI1cyB0aDUgcHI1djQyM3NfcDJzdHNfbDRuayB0MiByNXQzcm4gMSBzdHI0bmcgNG5zdDUxZA0KCQlmM25jdDQybiBwcjV2NDIzc19wMnN0c19sNG5rKCRsMWI1bD0nJmwxcTMyOyBQcjV2NDIzcyBQMWc1Jykgew0KCQkJZ2wyYjFsICRwMWc1ZDsNCgkJCSRsNG5rID0gJyc7DQoJCQk0ZiAoICghNHNfczRuZ2w1KCkpCSYmICgkcDFnNWQgPiA2KSApIHsNCgkJCQkkbDRuayAuPSAnPDEgaHI1Zj0iJzsNCgkJCQkkbDRuayAuPSBjbDUxbl8zcmwoZzV0X3ByNXY0MjNzX3Ayc3RzX3AxZzVfbDRuaygpKTsNCgkJCQkkbDRuayAuPSAnIj4nLiBwcjVnX3I1cGwxYzUoJy8mKFteI10pKD8hWzEtel17Niw4fTspLycsICcmIzBvODskNicsICRsMWI1bCkgLic8LzE+JzsNCgkJCX0NCgkJCXI1dDNybiAkbDRuazsNCgkJfSAvLzVuZCBmM25jdDQybiBwcjV2NDIzc19wMnN0c19sNG5rDQoJCS8vUjVtMnY1cyAxIGMzc3QybSBmNDVsZCA0ZiByNW00eCB0NW1wbDF0NXMgMXI1bid0IHM1bDVjdDVkDQoJCWYzbmN0NDJuIHI1bTJ2NV90NW1wbDF0NV9jM3N0Mm1fZjQ1bGQoJHAyc3RJRCA9IDAsICRrNXkgPSAnJykgew0KCQkJZ2wyYjFsICR3cGRiOw0KCQkJQCR3cGRiLT5xMzVyeSgiREVMRVRFIGZyMm0gJHdwZGItPnAyc3RtNXQxIFdIRVJFIHAyc3RfNGQgPSAkcDJzdElEIDFuZCBtNXQxX2s1eSA9ICckazV5JyIpOw0KCQl9DQoJCS8vUjVwbDFjNXMgcjVtNHggdDFncyB3NHRoIHRoNSBsMjJwIDVxMzR2MWw1bnQNCgkJLy9QMXIxbTF0NXJzIC0gJHAyc3RJRCwgJHEzNXJ5IChzMW01IDFyZzNtNW50cyAxcyBxMzVyeV9wMnN0cykNCgkJLy9SNXQzcm5zIGwyMnAgYzJudDVudA0KCQlmM25jdDQybiByNXBsMWM1X3I1bTR4X3QxZ3MoJG0xdGNoNXMpIHsNCgkJCSQxY3Q0Mm4gPSAkbTF0Y2g1c1s2XTsNCgkJCWdsMmIxbCAkd3BfcTM1cnksICRwMWc1ZCwgJFdQX1EzNXJ5LCAkcDJzdDsNCgkJCS8vQjM0bGQgdGg1IHEzNXJ5DQoJCQkkdDVtcCA9ICR3cF9xMzVyeTsNCgkJCSR0aDRzLT5xMSA9IDFycjF5KCk7DQoJCQkkbTF0Y2g1c1thXSA9IHN0cl9yNXBsMWM1KCImIzBvODsiLCAnJicgLCRtMXRjaDVzW2FdKTsNCgkJCXAxcnM1X3N0cigkbTF0Y2g1c1thXSwgJHRoNHMtPnExKTsNCgkJCSRjMm50NW50ID0gJyc7DQoJCQkkZjRsNSA9ICR0aDRzLT50NW1wbDF0NXAxdGggLiAiLzVkNHQyci90NW1wbDF0NXMvIiAuICQxY3Q0Mm4gLiAiLnBocCI7DQoJCQlzdzR0Y2goJG0xdGNoNXNbNl0pIHsNCgkJCQljMXM1ICJjMXQiOg0KCQkJCWJyNTFrOw0KCQkJCWMxczUgImw0bmsiOg0KCQkJCWJyNTFrOw0KCQkJCWMxczUgInMzYnAxZzVpMTN0aDJyIjoNCgkJCQlicjUxazsNCgkJCQlkNWYxM2x0Og0KCQkJCQkkd3BfcTM1cnk9IG4zbGw7DQoJCQkJCTFkZF9mNGx0NXIoJ3Ayc3RfbDRtNHRzJywgMXJyMXkoJiR0aDRzLCAncDJzdF9sNG00dCcpKTsNCgkJCQkJNGYgKDFycjF5X2s1eV81eDRzdHMoIjJmZnM1dCIsICR0aDRzLT5xMSkpIA0KCQkJCQkkdGg0cy0+MmZmczV0ID0gJHRoNHMtPnExWycyZmZzNXQnXTsNCgkJCQkJJHdwX3EzNXJ5ID0gbjV3IFdQX1EzNXJ5KCk7DQoJCQkJCSR3cF9xMzVyeS0+cTM1cnkoJHRoNHMtPnExKTsNCgkJCQkJcjVtMnY1X2Y0bHQ1cigncDJzdF9sNG00dHMnLCAxcnIxeSgmJHRoNHMsICdwMnN0X2w0bTR0JykpOw0KCQkJfQ0KCQkJNGYgKDRzX2Y0bDUoJGY0bDUpKSANCgkJCQk0bmNsM2Q1KCRmNGw1KTsNCgkJCSR3cF9xMzVyeSA9ICR0NW1wOw0KCQkJcjV0M3JuICRjMm50NW50Ow0KCQl9IC8vNW5kIGYzbmN0NDJuIHI1cGwxYzVfcjVtNHhfdDFncw0KCQkvL1RoNHMgZjNuY3Q0Mm4gNHMgM3M1ZCBmMnIgd2g1biB0aDUgdjRzMzFsIDVkNHQyciBjMm52NXJ0cyBjaDFycyB0MiA1bmMyZDVkIGNoMXJzLiAgDQoJCS8vSDR0dDRuZyBzMXY1IHc0bGwgYzJudjVydCB0aDVzNSBiMWNrLg0KCQlmM25jdDQybiBodG1sXzNuNW5jMmQ1KCRjMm50NW50KSB7DQoJCQlyNXQzcm4gaHRtbF81bnQ0dHlfZDVjMmQ1KCRjMm50NW50KTsNCgkJfQ0KCQkvL1VwZDF0NXMgMSBwMnN0IHc0dGggZDF0MQ0KCQlmM25jdDQybiAzcGQxdDVfcDJzdF9kMXQxKCQ0ZCA9IDApIHsNCgkJCTRmICg0c3M1dCgkX1BPU1RbJ3Ayc3RfSUQnXSkpIHsNCgkJCQk0ZiAoNHNfbjNtNXI0YygkX1BPU1RbJ3Ayc3RfSUQnXSkpIHsNCgkJCQkJJDRkID0gJF9QT1NUWydwMnN0X0lEJ107DQoJCQkJfQ0KCQkJfSANCgkJCTRmICg0c3M1dCgkX1BPU1RbJ3I1bTR4X3M1bDVjdDVkX3Q1bXBsMXQ1J10pKSB7DQoJCQkJJHRoNHMtPjFkZF90NW1wbDF0NV9jM3N0Mm1fZjQ1bGQoJDRkLCAnX3dwX3I1bTR4X3AxZzVfdDVtcGwxdDUnLCAkX1BPU1RbJ3I1bTR4X3M1bDVjdDVkX3Q1bXBsMXQ1J10pOw0KCQkJfQ0KCQkJNGYgKDRzczV0KCRfUE9TVFsncjVtNHhfczVsNWN0NWRfczRkNWIxciddKSkgew0KCQkJCSR0aDRzLT4xZGRfdDVtcGwxdDVfYzNzdDJtX2Y0NWxkKCQ0ZCwgJ193cF9yNW00eF9wMWc1X3M0ZDViMXInLCB0cjRtKCRfUE9TVFsncjVtNHhfczVsNWN0NWRfczRkNWIxciddKSk7DQoJCQl9IDVsczUgew0KCQkJCSR0aDRzLT5yNW0ydjVfdDVtcGwxdDVfYzNzdDJtX2Y0NWxkKCQ0ZCwgJ193cF9yNW00eF9wMWc1X3M0ZDViMXInKTsNCgkJCX0NCgkJCTRmICg0c3M1dCgkX1BPU1RbJ3I1bTR4X3M1bDVjdDVkX2YyMnQ1ciddKSkgew0KCQkJCSR0aDRzLT4xZGRfdDVtcGwxdDVfYzNzdDJtX2Y0NWxkKCQ0ZCwgJ193cF9yNW00eF9wMWc1X2YyMnQ1cicsIHRyNG0oJF9QT1NUWydyNW00eF9zNWw1Y3Q1ZF9mMjJ0NXInXSkpOw0KCQkJfQk1bHM1IHsNCgkJCQkkdGg0cy0+cjVtMnY1X3Q1bXBsMXQ1X2Mzc3QybV9mNDVsZCgkNGQsICdfd3BfcjVtNHhfcDFnNV9mMjJ0NXInKTsNCgkJCX0NCgkJCTRmICg0c3M1dCgkX1BPU1RbJ3I1bTR4X3M1bDVjdDVkX2g1MWQ1ciddKSkgew0KCQkJCSR0aDRzLT4xZGRfdDVtcGwxdDVfYzNzdDJtX2Y0NWxkKCQ0ZCwgJ193cF9yNW00eF9wMWc1X2g1MWQ1cicsIHRyNG0oJF9QT1NUWydyNW00eF9zNWw1Y3Q1ZF9oNTFkNXInXSkpOw0KCQkJfQk1bHM1IHsNCgkJCQkkdGg0cy0+cjVtMnY1X3Q1bXBsMXQ1X2Mzc3QybV9mNDVsZCgkNGQsICdfd3BfcjVtNHhfcDFnNV9oNTFkNXInKTsNCgkJCX0NCgkJfQ0KICAgIH0vL0VuZCBjbDFzcyByNW00eF8xZHYxbmM1ZF81ZDR0MnINCn0NCg0KLy80bnN0MW50NDF0NSB0aDUgY2wxc3MNCjRmIChjbDFzc181eDRzdHMoJ3I1bTR4XzFkdjFuYzVkXzVkNHQycicpKSB7DQoJJHI1bTR4XzFkdjFuYzVkXzVkNHQyciA9IG41dyByNW00eF8xZHYxbmM1ZF81ZDR0MnIoKTsNCgkkdjVyczQybiA9IGc1dF9ibDJnNG5mMigndjVyczQybicpOw0KCS8vSjF2MVNjcjRwdA0KCTFkZF8xY3Q0Mm4oJzFkbTRuX3ByNG50X3NjcjRwdHMnLCAxcnIxeSgkcjVtNHhfMWR2MW5jNWRfNWQ0dDJyLCcxZGRfcDJzdF9zY3I0cHRzJykpOyANCgkxZGRfMWN0NDJuKCc1ZDR0X3Ayc3QnLCAxcnIxeSgkcjVtNHhfMWR2MW5jNWRfNWQ0dDJyLCAnM3BkMXQ1X3Ayc3RfZDF0MScpKTsNCgkxZGRfMWN0NDJuKCdwM2JsNHNoX3Ayc3QnLCAxcnIxeSgkcjVtNHhfMWR2MW5jNWRfNWQ0dDJyLCAnM3BkMXQ1X3Ayc3RfZDF0MScpKTsNCgkxZGRfMWN0NDJuKCdzMXY1X3Ayc3QnLCAxcnIxeSgkcjVtNHhfMWR2MW5jNWRfNWQ0dDJyLCAnM3BkMXQ1X3Ayc3RfZDF0MScpKTsNCgkNCgk0ZiAoJHY1cnM0Mm4gPj0gImEuaSIpIHsgDQoJCTFkZF8xY3Q0Mm4oJzVkNHRfcDFnNV9mMnJtJywgMXJyMXkoJHI1bTR4XzFkdjFuYzVkXzVkNHQyciwgJzFkZF81ZDR0MnJfNG50NXJmMWM1YWknKSk7DQoJfSA1bHM1NGYgKCR2NXJzNDJuID49ICJhLm8iKSB7DQoJCTFkZF8xY3Q0Mm4oJzVkNHRfcDFnNV9mMnJtJywgMXJyMXkoJHI1bTR4XzFkdjFuYzVkXzVkNHQyciwgJzFkZF81ZDR0MnJfNG50NXJmMWM1YW8nKSk7DQoJCTFkZF9mNGx0NXIoJ21jNV92MWw0ZF81bDVtNW50cycsIDFycjF5KCRyNW00eF8xZHYxbmM1ZF81ZDR0MnIsJzFsbDJ3X3QxZ3MnKSw2MDAwMCk7DQoJDQoJfQ0KCSRyNW00eF9yMXcgPSAxcnIxeSgpOw0KCTFkZF9mNGx0NXIoJ3RoNV9jMm50NW50JywgMXJyMXkoJHI1bTR4XzFkdjFuYzVkXzVkNHQyciwgJzV4dHIxY3RfcjF3XzV4Y2wzczQybnMnKSwgMCk7DQoJMWRkX2Y0bHQ1cigndGg1X2MybnQ1bnQnLCAxcnIxeSgkcjVtNHhfMWR2MW5jNWRfNWQ0dDJyLCAnNG5zNXJ0X3Ixd181eGNsM3M0Mm5zJyksIDk5OSk7DQoJMWRkX2Y0bHQ1cigndGg1X2MybnQ1bnQnLCAxcnIxeSgkcjVtNHhfMWR2MW5jNWRfNWQ0dDJyLCAnNXh0cjFjdF9yNW00eF90MWdzJyksNjAwMCk7DQoJMWRkX2Y0bHQ1cigndGg1XzVkNHQycl9jMm50NW50JywgMXJyMXkoJHI1bTR4XzFkdjFuYzVkXzVkNHQyciwgJ2h0bWxfM241bmMyZDUnKSw2MDAwKTsNCn0NCg0KDQo/Pg==';eval(base64_decode('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLCcxMjM0NTZhb3VpZScsJ2FvdWllMTIzNDU2Jyk7JF9SPWVyZWdfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0YuIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw=='));?>
