Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

$_F=__FILE__;$_X='P2thP0xRTC5HKi49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09..

Decoded Output download

?><?php
/*
=====================================================
 DataLife Engine - by SoftNews Media Group 
-----------------------------------------------------
 https://dle-news.ru/
-----------------------------------------------------
 Copyright (c) 2004-2023 SoftNews Media Group
=====================================================
 This code is protected by copyright
=====================================================
 File: engine.php
=====================================================
*/

if (!defined('DATALIFEENGINE')) {
	die ( "Hacking attempt!" );
}

if ($cstart < 0) $cstart = 0;

$CN_HALT = false;
$allow_add_comment = false;
$allow_active_news = true;
$allow_comments = false;
$allow_userinfo = false;
$active = false;
$disable_index = false;
$social_tags = array();
$canonical = false;
$url_page = false;
$user_query = false;
$news_author = false;
$attachments = array ();
$short_news_cache = false;
$sql_select_ids = false;

switch ( $do ) {
	
	case "search" :
		
		if (isset($_REQUEST['mode']) AND $_REQUEST['mode'] == "advanced") $_REQUEST['full_search'] = 1;
		include (DLEPlugins::Check(ENGINE_DIR . '/modules/search.php'));
		break;

	case "download" :
		if (isset($_REQUEST['mode']) AND $_REQUEST['mode'] == 'error') {
			include_once(DLEPlugins::Check(ENGINE_DIR . '/download.php'));
		}

		break;

	case "changemail":
		include(DLEPlugins::Check(ENGINE_DIR . '/modules/changemail.php'));
		break;

	case "deletenews" :
		include (DLEPlugins::Check(ENGINE_DIR . '/modules/deletenews.php'));
		break;

	case "comments" :
		include (DLEPlugins::Check(ENGINE_DIR . '/modules/comments.php'));
		break;
	
	case "stats" :
		include (DLEPlugins::Check(ENGINE_DIR . '/modules/stats.php'));
		break;
	
	case "addnews" :
		include (DLEPlugins::Check(ENGINE_DIR . '/modules/addnews.php'));
		break;
	
	case "register" :
		include (DLEPlugins::Check(ENGINE_DIR . '/modules/register.php'));
		break;
	
	case "lostpassword" :
		include (DLEPlugins::Check(ENGINE_DIR . '/modules/lostpassword.php'));
		break;
	
	case "rules" :
		$_GET['page'] = "dle-rules-page";
		include (DLEPlugins::Check(ENGINE_DIR . '/modules/static.php'));
		break;
	
	case "static" :
		include (DLEPlugins::Check(ENGINE_DIR . '/modules/static.php'));
		break;
	
	case "alltags" :
		include_once (DLEPlugins::Check(ENGINE_DIR . '/modules/tagscloud.php'));
		break;

	case "auth-social" :
		include_once (DLEPlugins::Check(ENGINE_DIR . '/modules/social.php'));
		break;
	
	case "favorites" :
		
		if ($is_logged) {
			
			include (DLEPlugins::Check(ENGINE_DIR . '/modules/favorites.php'));
		
		} else {
			
			@header( "HTTP/1.1 403 Forbidden" );
			msgbox ( $lang['all_err_1'], $lang['fav_error'] );
			
		}
			
		break;
	
	case "feedback" :
		include (DLEPlugins::Check(ENGINE_DIR . '/modules/feedback.php'));
		break;
	
	case "lastcomments" :
		include (DLEPlugins::Check(ENGINE_DIR . '/modules/lastcomments.php'));
		break;
	
	case "pm" :
		include (DLEPlugins::Check(ENGINE_DIR . '/modules/pm.php'));
		break;

	case "unsubscribe" :
		$_GET['post_id'] = intval ($_GET['post_id']);
		$_GET['user_id'] = intval ($_GET['user_id']);

		if ($_GET['post_id'] AND $_GET['user_id'] AND $_GET['hash']) {

			$row = $db->super_query( "SELECT hash FROM " . PREFIX . "_subscribe WHERE news_id='{$_GET['post_id']}' AND user_id='{$_GET['user_id']}'" );

			if ($row['hash'] AND $row['hash'] == $_GET['hash']) {

				$db->query( "DELETE FROM " . PREFIX . "_subscribe WHERE news_id='{$_GET['post_id']}' AND user_id='{$_GET['user_id']}'" );
				msgbox( $lang['all_info'],  $lang['unsubscribe_ok']);

			} else {
				msgbox( $lang['all_info'],  $lang['unsubscribe_err']);
			}

		} else {
			msgbox( $lang['all_info'],  $lang['unsubscribe_err']);
		}

		break;
	
	case "newsletterunsubscribe" :
		
		$_GET['user_id'] = intval ($_GET['user_id']);

		if ($_GET['user_id'] AND $_GET['hash']) {

			$row = $db->super_query( "SELECT password, user_id FROM " . USERPREFIX . "_users WHERE user_id='{$_GET['user_id']}'" );
			
			if ($row['user_id']) {
				
				$unsubscribe_hash = md5( SECURE_AUTH_KEY . $_SERVER['HTTP_HOST'] . $row['user_id'] . sha1( substr($row['password'], 0, 6) ) . $config['key'] );
	
				if ($unsubscribe_hash == $_GET['hash']) {
	
					$db->query( "UPDATE " . USERPREFIX . "_users SET allow_mail='0' WHERE user_id = '{$_GET['user_id']}'" );
					
					msgbox( $lang['all_info'],  $lang['n_unsubscribe_ok']);
	
				} else {
					
					msgbox( $lang['all_info'],  $lang['n_unsubscribe_err']);
					
				}
				
			} else {
				msgbox( $lang['all_info'],  $lang['n_unsubscribe_err']);
			}

		} else {
			msgbox( $lang['all_info'],  $lang['n_unsubscribe_err']);
		}

		break;
	
	default :
		
		$active = false;
		$user_query = "";
		$url_page = "";
		
		$thisdate = date ( "Y-m-d H:i:s", time () );
		if ($config['no_date'] AND !$config['news_future']) $where_date = " AND date < '" . $thisdate . "'";
		else $where_date = "";
		
		if ($config['allow_fixed']) $fixed = "fixed desc, ";
		else $fixed = "";
		
		$config['news_number'] = intval ( $config['news_number'] );

		if( $config['news_number'] < 1 ) $config['news_number'] = 1;

		if ( $smartphone_detected AND $config['mobile_news'] ) $config['news_number'] = intval ( $config['mobile_news'] );
		
		$news_sort_by = $config['news_sort'] ? $config['news_sort'] : "date";
		$news_direction_by = $config['news_msort'] ? $config['news_msort'] : "DESC";

		$allow_list = explode ( ',', $user_group[$member_id['user_group']]['allow_cats'] );
		$stop_list = "";
		$cat_join = "";
		$cat_join_count = "";
		$extra_join = "LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) ";

		if ($allow_list[0] != "all") {
			
			if ($config['allow_multi_category']) {
				
				$cat_join = "INNER JOIN (SELECT DISTINCT(" . PREFIX . "_post_extras_cats.news_id) FROM " . PREFIX . "_post_extras_cats WHERE cat_id IN (" . implode ( ',', $allow_list ) . ")) c ON (p.id=c.news_id) ";
				$cat_join_count = "p ".$cat_join;
			
			} else {
				
				$stop_list = "category IN ('" . implode ( "','", $allow_list ) . "') AND ";
			
			}
		
		}
		
		$not_allow_cats = explode ( ',', $user_group[$member_id['user_group']]['not_allow_cats'] );
		
		if( $not_allow_cats[0] != "" ) {
			
			if ($config['allow_multi_category']) {
				
				$stop_list = "p.id NOT IN ( SELECT DISTINCT(" . PREFIX . "_post_extras_cats.news_id) FROM " . PREFIX . "_post_extras_cats WHERE cat_id IN (" . implode ( ',', $not_allow_cats ) . ") ) AND ";
				$cat_join_count = "p ";
				
			} else {
				
				$stop_list = "category NOT IN ('" . implode ( "','", $not_allow_cats ) . "') AND ";
			
			}
			
		}

		if( $config['user_in_news'] ) {
			
			$user_select = ", u.email, u.name, u.user_id, u.news_num, u.comm_num as user_comm_num, u.user_group, u.lastdate, u.reg_date, u.banned, u.allow_mail, u.info, u.signature, u.foto, u.fullname, u.land, u.favorites, u.pm_all, u.pm_unread, u.time_limit, u.xfields as user_xfields ";
			$user_join = "LEFT JOIN " . USERPREFIX . "_users u ON (e.user_id=u.user_id) ";
			
		} else { $user_select = ""; $user_join = ""; }
		
		if ($user_group[$member_id['user_group']]['allow_short']) { $stop_list = ""; $cat_join = ""; $cat_join_count = ""; }
		
		$sql_select = '';
		$sql_count = '';
		$sql_news = '';

		// ################ Show of a category #################
		if ($do == "cat" and $category != '' and $subaction == '') {

			$allow_sub_cats = true;
			
			if( $config['allow_alt_url'] AND $config['seo_control'] AND $category_id AND $view_template != "rss") {

				$re_cat = get_url( $category_id );

				if ($re_cat != $_GET['category'] OR substr ( $_SERVER['REQUEST_URI'], - 1, 1 ) != '/' OR (isset($_GET['cstart']) AND $_GET['cstart'] == 1) OR substr ( $_SERVER['REQUEST_URI'], - 2 ) == '//' OR strpos ($_SERVER['REQUEST_URI'], "do=cat" ) !== false ) {
					$re_url = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) );
					$re_url = reset ( $re_url );

					if( (substr ( $_SERVER['REQUEST_URI'], - 1, 1 ) != '/' OR substr ( $_SERVER['REQUEST_URI'], - 2 ) == '//') AND $_GET['cstart'] AND $_GET['cstart'] != 1 ) {
					 $re_cat .= "/page/".intval($_GET['cstart']);
					}
					
					header("HTTP/1.0 301 Moved Permanently");
					header("Location: {$re_url}{$re_cat}/");
					die("Redirect");
				}
			}

			if (!$category_id) $category_id = 'not detected';
			
			if ($allow_list[0] != "all") {
				if (!$user_group[$member_id['user_group']]['allow_short'] AND !in_array( $category_id, $allow_list )) $category_id = 'not detected';
			}

			if ($not_allow_cats[0] != "") {
				if (!$user_group[$member_id['user_group']]['allow_short'] AND in_array( $category_id, $not_allow_cats )) $category_id = 'not detected';
			}

			if( !intval($category_id) ) {
				$allow_active_news = false;
			}
			
			if ( isset($cat_info[$category_id]['show_sub']) AND  $cat_info[$category_id]['show_sub'] ) {

				if ( $cat_info[$category_id]['show_sub'] == 1 ) $get_cats = get_sub_cats ( $category_id );
				else { $get_cats = $category_id; $allow_sub_cats = false; }

			} else {

				if ( $config['show_sub_cats'] ) $get_cats = get_sub_cats ( $category_id );
				else { $get_cats = $category_id; $allow_sub_cats = false; }

			}

			if (isset($cat_info[$category_id]['news_sort']) AND $cat_info[$category_id]['news_sort']) $news_sort_by = $cat_info[$category_id]['news_sort'];
			if (isset($cat_info[$category_id]['news_msort']) AND $cat_info[$category_id]['news_msort']) $news_direction_by = $cat_info[$category_id]['news_msort'];
			if (isset($cat_info[$category_id]['news_number']) AND $cat_info[$category_id]['news_number']) $config['news_number'] = $cat_info[$category_id]['news_number'];

			if ($cstart) {
				$cstart = $cstart - 1;
				$cstart = $cstart * $config['news_number'];
			}

			if( isset( $cat_info[$category_id]['alt_name'] ) ) {
				$url_page = $config['http_home_url'] . get_url ( $category_id );
				$user_query = "do=cat&amp;category=" . $cat_info[$category_id]['alt_name'];
			} else {
				$url_page = '';
				$user_query = '';
			}

			
			if( $config['allow_alt_url'] ) $canonical = $url_page . "/"; else $canonical = $PHP_SELF."?do=cat&category=" . $cat_info[$category_id]['alt_name'];
			
			if ($config['allow_multi_category']) {
		
				$get_cats = str_replace ( "|", "','", $get_cats );
				$join_category = "INNER JOIN (SELECT DISTINCT(" . PREFIX . "_post_extras_cats.news_id) FROM " . PREFIX . "_post_extras_cats WHERE cat_id IN ('" . $get_cats . "')) c ON (p.id=c.news_id) ";
				$where_category = "";
				
			} else {
				
				if ( $allow_sub_cats ) {
					
					$get_cats = str_replace ( "|", "','", $get_cats );
					$where_category = "category IN ('" . $get_cats . "') AND ";
				
				} else {
					
					$where_category = "category = '{$get_cats}' AND ";
				
				}
				
				$join_category = "";
			
			}
			
			if ($view_template == "rss") {
				
				if( $rssmode == 'dzen' ) {
					$where_rss = ' AND e.allow_rss_dzen=1';
				} elseif ( $rssmode == 'turbo' ) {
					$where_rss = ' AND e.allow_rss_turbo=1';
				} else $where_rss = '';

				$sql_select = "SELECT p.id, p.autor, p.date, p.short_story, p.full_story, p.xfields, p.title, p.category, p.alt_name, p.comm_num, p.allow_comm, p.fixed, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.editdate, e.editor, e.reason, e.allow_rss_turbo, e.allow_rss_dzen {$user_select}FROM " . PREFIX . "_post p {$join_category}LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) {$user_join}WHERE {$where_category}approve=1 AND allow_rss=1" . $where_rss . $where_date . " ORDER BY date DESC LIMIT 0," . $config['rss_number'];


			} else {
				
				if (isset ( $_SESSION['dle_sort_cat_'.$category_id] )) $news_sort_by = $_SESSION['dle_sort_cat_'.$category_id];
				if (isset ( $_SESSION['dle_direction_cat_'.$category_id] )) $news_direction_by = $_SESSION['dle_direction_cat_'.$category_id];

				if( !in_array($news_sort_by, array('rating', 'news_read', 'editdate')) ) $extra_join = '';

				$sql_select_ids = "SELECT p.id FROM " . PREFIX . "_post p {$join_category}{$extra_join}WHERE {$where_category}approve=1" . $where_date . " ORDER BY " . $fixed . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];

				$sql_select = "SELECT p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.descr, p.keywords, p.category, p.alt_name, p.comm_num, p.allow_comm, p.allow_main, p.approve, p.fixed, p.symbol, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.disable_index, e.editdate, e.editor, e.reason {$user_select}FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) {$user_join}";
				$sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post p {$join_category}WHERE {$where_category}approve=1";
			}
			
		} elseif ($do == 'lastnews') {
			// ################ Show all news #################			
			if ($cstart) {
				$cstart = $cstart - 1;
				$cstart = $cstart * $config['news_number'];
			}

			if( $config['allow_alt_url'] AND $config['seo_control'] AND isset($_GET['cstart']) AND $_GET['cstart'] ) {
	
				if (substr ( $_SERVER['REQUEST_URI'], - 1, 1 ) != '/' OR $_GET['cstart'] == 1 ) {

					$re_url = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) );
					$re_url = reset ( $re_url );
						
					$re_url .= "lastnews/";
						
					if(substr ( $_SERVER['REQUEST_URI'], - 1, 1 ) != '/' AND $_GET['cstart'] != 1 ) {
						$re_url .= "page/".intval($_GET['cstart'])."/";
					}
					
					header("HTTP/1.0 301 Moved Permanently");
					header("Location: {$re_url}");
					die("Redirect");
				}
			}
				
			$url_page = $config['http_home_url'] . "lastnews";
			$user_query = "do=lastnews";
			
			if( $config['allow_alt_url'] ) $canonical = $url_page . "/"; else $canonical = $PHP_SELF."?do=lastnews";
			
			if (isset ( $_SESSION['dle_sort_lastnews'] )) $news_sort_by = $_SESSION['dle_sort_lastnews']; else $news_sort_by = "date";
			if (isset ( $_SESSION['dle_direction_lastnews'] )) $news_direction_by = $_SESSION['dle_direction_lastnews']; else $news_direction_by = "DESC";

			if ( !in_array($news_sort_by, array('rating', 'news_read', 'editdate')) ) $extra_join = '';

			$sql_select_ids = "SELECT p.id FROM " . PREFIX . "_post p {$cat_join}{$extra_join}WHERE {$stop_list}approve=1" . $where_date . " ORDER BY " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];

			$sql_select = "SELECT p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.descr, p.keywords, p.category, p.alt_name, p.comm_num, p.allow_comm, p.allow_main, p.approve, p.fixed, p.symbol, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.disable_index, e.editdate, e.editor, e.reason {$user_select}FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) {$user_join}";
			$sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post {$cat_join_count}WHERE {$stop_list}approve=1";
		
		} elseif ($do == 'tags') {
			// ################ Seach news by tags #################			
			if ($cstart) {
				$cstart = $cstart - 1;
				$cstart = $cstart * $config['news_number'];
			}

			$tag = rawurldecode( $_GET['tag'] );

			$tag = htmlspecialchars ( strip_tags ( stripslashes ( trim ( $tag ) ) ), ENT_COMPAT, $config['charset'] );
			
			$encoded_tag = rawurlencode(dle_strtolower(str_replace(array("&#039;", "&quot;", "&amp;", "&amp;frasl;"), array("'", '"', "&", "&frasl;"), $tag)));

			$tag = str_replace( "&amp;frasl;", "/", $tag );

			$_CLOUDSTAG = $tag;
			
			$url_page = $config['http_home_url'] . "tags/" . $encoded_tag;
			$user_query = "do=tags&amp;tag=" . $encoded_tag;
			
			if( $config['allow_alt_url'] ) $canonical = $url_page . "/"; else $canonical = $PHP_SELF."?do=tags&tag=" . $encoded_tag;

			if( $config['allow_alt_url'] AND $config['seo_control'] ) {

				if ( substr ( $_SERVER['REQUEST_URI'], - 1, 1 ) != '/' OR (isset($_GET['cstart']) AND $_GET['cstart'] == 1) OR substr ( $_SERVER['REQUEST_URI'], - 2 ) == '//' OR strpos ($_SERVER['REQUEST_URI'], "do=tags" ) !== false OR dle_strtolower($tag)  !== $tag ) {
	
					$re_url = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) );
					$re_url = reset ( $re_url );
						
					$re_url .= "tags/" . $encoded_tag . "/";
						
					if( $_GET['cstart'] > 1 ) {
						$re_url .= "page/".intval($_GET['cstart'])."/";
					}
					
					header("HTTP/1.0 301 Moved Permanently");
					header("Location: {$re_url}");
					die("Redirect");
				}
			}
			
			if (isset ( $_SESSION['dle_sort_tags'] )) $news_sort_by = $_SESSION['dle_sort_tags'];
			if (isset ( $_SESSION['dle_direction_tags'] )) $news_direction_by = $_SESSION['dle_direction_tags'];

			$tag = $db->safesql($tag);

			if ( !in_array($news_sort_by, array('rating', 'news_read', 'editdate')) ) $extra_join = '';

			$sql_select_ids = "SELECT p.id, t.tag FROM " . PREFIX . "_post p INNER JOIN " . PREFIX . "_tags t on (t.news_id=p.id) {$cat_join}{$extra_join}WHERE {$stop_list}t.tag = '{$tag}' AND p.approve=1" . $where_date . " ORDER BY " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];

			$sql_select = "SELECT p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.descr, p.keywords, p.category, p.alt_name, p.comm_num, p.allow_comm, p.allow_main, p.approve, p.fixed, p.symbol, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.disable_index, e.editdate, e.editor, e.reason {$user_select}FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) {$user_join}";
			$sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post p INNER JOIN " . PREFIX . "_tags t on (t.news_id=p.id) {$cat_join}WHERE {$stop_list}t.tag = '{$tag}' AND approve=1";

		} elseif ($do == 'xfsearch') {
			// ################ Seach news by xfields #################		
			if ($cstart) {
				$cstart = $cstart - 1;
				$cstart = $cstart * $config['news_number'];
			}
			
			if (isset ( $_SESSION['dle_sort_xfsearch'] )) $news_sort_by = $_SESSION['dle_sort_xfsearch'];
			if (isset ( $_SESSION['dle_direction_xfsearch'] )) $news_direction_by = $_SESSION['dle_direction_xfsearch'];

			if ( !in_array($news_sort_by, array('rating', 'news_read', 'editdate')) ) $extra_join = '';

			$xf = rawurldecode($_GET['xf']);

			if (dle_substr ( $xf, - 1, 1, $config['charset'] ) == '/') $xf = dle_substr ( $xf, 0, - 1, $config['charset'] );
			
			$xf = explode ( '/', $xf );
			$xfname = "";
			
			if( isset($_GET['xfname']) AND $_GET['xfname'] ) {
				$xfname =totranslit(trim($_GET['xfname']));
			} elseif(count($xf) > 1 ) {
				$xfname =totranslit(trim($xf[0]));
				unset($xf[0]);
			}

			$xf = implode(' ', $xf);
			$xf = htmlspecialchars ( strip_tags ( stripslashes ( trim ( $xf ) ) ), ENT_QUOTES, $config['charset'] );
			$xf = str_replace( array("{", "[", ":", "&amp;frasl;"), array("&#123;", "&#91;", "&#58;", "/"), $xf );
			$xf_encoded = rawurlencode ( dle_strtolower(str_replace(array("&#039;", "&quot;", "&amp;", "&#123;", "&#91;", "&#58;", "/"), array("'", '"', "&", "{", "[", ":", "&frasl;"), $xf ) ) );

			if($xfname) {
				
				$url_page = $config['http_home_url'] . "xfsearch/{$xfname}/{$xf_encoded}";
				$user_query = "do=xfsearch&amp;xfname={$xfname}&amp;xf={$xf_encoded}";
				
				if( $config['allow_alt_url'] ) $canonical = $url_page . "/"; else $canonical = $PHP_SELF."?do=xfsearch&xfname={$xfname}&xf={$xf_encoded}";
				
			} else {
				
				$url_page = $config['http_home_url'] . "xfsearch/{$xf_encoded}";
				$user_query = "do=xfsearch&amp;xf={$xf_encoded}";
				
				if( $config['allow_alt_url'] ) $canonical = $url_page . "/"; else $canonical = $PHP_SELF."?do=xfsearch&xf={$xf_encoded}";
				
				$xfields = xfieldsload();
				$xfields_name = array();
				
				foreach ( $xfields as $value ) {
					$xfields_name[] = $value[0];
				}
				
				if( in_array($xf, $xfields_name) ) {$xf .= "|";}
				
				
			}
			
			$xfname = $db->safesql($xfname);
			$xf = $db->safesql($xf);

			if ( $xfname ) {
				
				if( $config['allow_alt_url'] AND $config['seo_control'] ) {

					if (substr ( $_SERVER['REQUEST_URI'], - 1, 1 ) != '/' OR (isset($_GET['cstart']) AND $_GET['cstart'] == 1) OR substr ( $_SERVER['REQUEST_URI'], - 2 ) == '//' OR strpos ($_SERVER['REQUEST_URI'], "do=xfsearch" ) !== false OR dle_strtolower($xf) !== $xf) {
							
						$re_url = $url_page . "/";
							
						if( $_GET['cstart'] > 1 ) {
							$re_url .= "page/".intval($_GET['cstart'])."/";
						}
						
						header("HTTP/1.0 301 Moved Permanently");
						header("Location: {$re_url}");
						die("Redirect");
					}
				}

				$sql_select_ids = "SELECT p.id, xf.tagvalue FROM " . PREFIX . "_post p INNER JOIN " . PREFIX . "_xfsearch xf on (xf.news_id=p.id) {$cat_join}{$extra_join}WHERE {$stop_list}xf.tagname = '{$xfname}' AND xf.tagvalue='{$xf}' AND p.approve=1" . $where_date . " ORDER BY " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];

				$sql_select = "SELECT p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.descr, p.keywords, p.category, p.alt_name, p.comm_num, p.allow_comm, p.allow_main, p.approve, p.fixed, p.symbol, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.disable_index, e.editdate, e.editor, e.reason {$user_select}FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) {$user_join}";
				$sql_count  = "SELECT COUNT(*) as count FROM " . PREFIX . "_post p INNER JOIN " . PREFIX . "_xfsearch xf on (xf.news_id=p.id) {$cat_join}WHERE {$stop_list}xf.tagname = '{$xfname}' AND xf.tagvalue='{$xf}' AND approve=1";
		
			} else {
				
				if(!$xf) {
					
					$re_url = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) );
					$re_url = reset ( $re_url );
						
					header("HTTP/1.0 301 Moved Permanently");
					header("Location: {$re_url}");
					die("Redirect");
				}

				$sql_select_ids = "SELECT p.id FROM " . PREFIX . "_post p {$cat_join}{$extra_join}WHERE {$stop_list}p.xfields LIKE '%{$xf}%' AND approve=1" . $where_date . " ORDER BY " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];

				$sql_select = "SELECT p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.descr, p.keywords, p.category, p.alt_name, p.comm_num, p.allow_comm, p.allow_main, p.approve, p.fixed, p.symbol, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.disable_index, e.editdate, e.editor, e.reason {$user_select}FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) {$user_join}";
				$sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post {$cat_join_count}WHERE {$stop_list}xfields LIKE '%{$xf}%' AND approve=1";
		
				$xf = str_replace ( '|', '', $xf );
			}
		
		} elseif ($subaction == 'userinfo') {
			// ################ show user profile #################
			if ($cstart) {
				
				$cstart = $cstart - 1;
				$cstart = $cstart * $config['news_number'];
			
			}
			
			$url_page = $config['http_home_url'] . "user/" . urlencode ( $user );
			$user_query = "subaction=userinfo&amp;user=" . urlencode ( $user );
			
			if ($member_id['name'] == $user OR $user_group[$member_id['user_group']]['allow_all_edit']) {
				if (isset ( $_SESSION['dle_sort_userinfo'] )) $news_sort_by = $_SESSION['dle_sort_userinfo'];
				if (isset ( $_SESSION['dle_direction_userinfo'] )) $news_direction_by = $_SESSION['dle_direction_userinfo'];

				if ( !in_array($news_sort_by, array('rating', 'news_read', 'editdate')) ) $extra_join = '';

				$sql_select_ids = "SELECT p.id FROM " . PREFIX . "_post p {$extra_join}WHERE autor = '{$user}' AND approve=0 ORDER BY " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];

				$sql_select = "SELECT p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.descr, p.keywords, p.category, p.alt_name, p.comm_num, p.allow_comm, p.allow_main, p.approve, p.fixed, p.symbol, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.disable_index, e.editdate, e.editor, e.reason {$user_select}FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) {$user_join}";
				$sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE autor = '{$user}' AND approve=0";
				$where_date = "";
				
				if( !$config['profile_news'] ) {
					$allow_active_news = false;
					$news_found = false;		
				}

			} else {
				$allow_active_news = false;
				$news_found = false;
			}
			
			$config['allow_cache'] = false;
			
		} elseif ($subaction == 'allnews') {
			// ################ show all news by user #################
			if ($cstart) {
				
				$cstart = $cstart - 1;
				$cstart = $cstart * $config['news_number'];
			
			}
			
			$url_page = $config['http_home_url'] . "user/" . urlencode ( $user ) . "/news";
			$user_query = "subaction=allnews&amp;user=" . urlencode ( $user );
			
			if( $config['allow_alt_url'] ) $canonical = $url_page . "/"; else $canonical = $PHP_SELF."?subaction=allnews&user=" . urlencode ( $user );
			
			if ($view_template == "rss") {

				if ($rssmode == 'dzen') {
					$where_rss = ' AND e.allow_rss_dzen=1';
				} elseif ($rssmode == 'turbo') {
					$where_rss = ' AND e.allow_rss_turbo=1';
				} else $where_rss = '';

				$sql_select = "SELECT p.id, p.autor, p.date, p.short_story, p.full_story, p.xfields, p.title, p.category, p.alt_name, p.comm_num, p.allow_comm, p.fixed, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.editdate, e.editor, e.reason, e.allow_rss_turbo, e.allow_rss_dzen {$user_select}FROM " . PREFIX . "_post p {$cat_join}LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) {$user_join}WHERE {$stop_list}p.autor = '{$user}' AND p.approve=1 AND e.allow_rss=1" . $where_rss. $where_date . " ORDER BY date DESC LIMIT 0," . $config['rss_number'];
			
			} else {
				
				if (isset ( $_SESSION['dle_sort_allnews'] )) $news_sort_by = $_SESSION['dle_sort_allnews'];
				if (isset ( $_SESSION['dle_direction_allnews'] )) $news_direction_by = $_SESSION['dle_direction_allnews'];

				if ( !in_array($news_sort_by, array('rating', 'news_read', 'editdate')) ) $extra_join = '';

				$sql_select_ids = "SELECT p.id FROM " . PREFIX . "_post p {$cat_join}{$extra_join}WHERE {$stop_list}autor = '$user' AND approve=1" . $where_date . " ORDER BY " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];

				$sql_select = "SELECT p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.descr, p.keywords, p.category, p.alt_name, p.comm_num, p.allow_comm, p.allow_main, p.approve, p.fixed, p.symbol, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.disable_index, e.editdate, e.editor, e.reason {$user_select}FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) {$user_join}";
				$sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post {$cat_join_count}WHERE {$stop_list}autor = '$user' AND approve=1";
			}
		
		} elseif ($subaction == 'newposts') {
			// ################ show all unread news #################
			if ($cstart) {
				$cstart = $cstart - 1;
				$cstart = $cstart * $config['news_number'];
			}
			
			$url_page = $config['http_home_url'] . "newposts";
			$user_query = "subaction=newposts";
			
			if( $config['allow_alt_url'] ) $canonical = $url_page . "/"; else $canonical = $PHP_SELF."?subaction=newposts";
			
			$thistime = date ( "Y-m-d H:i:s", $_TIME );
			
			if (isset ( $_SESSION['member_lasttime'] )) {
				$lasttime = date ( "Y-m-d H:i:s", $_SESSION['member_lasttime'] );
			} else {
				$lasttime = date ( "Y-m-d H:i:s", (time () - (3600 * 4)) );
			}
			
			if (isset ( $_SESSION['dle_sort_newposts'] )) $news_sort_by = $_SESSION['dle_sort_newposts'];
			if (isset ( $_SESSION['dle_direction_newposts'] )) $news_direction_by = $_SESSION['dle_direction_newposts'];

			if ( !in_array($news_sort_by, array('rating', 'news_read', 'editdate')) ) $extra_join = '';

			$sql_select_ids = "SELECT p.id FROM " . PREFIX . "_post p {$cat_join}{$extra_join}WHERE {$stop_list}approve=1 AND date between '$lasttime' and '$thistime' order by " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];

			$sql_select = "SELECT p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.descr, p.keywords, p.category, p.alt_name, p.comm_num, p.allow_comm, p.allow_main, p.approve, p.fixed, p.symbol, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.disable_index, e.editdate, e.editor, e.reason {$user_select}FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) {$user_join}";
			$sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post {$cat_join_count}WHERE {$stop_list}approve=1 AND date between '$lasttime' and '$thistime'";
			$where_date = "";
			
			$config['allow_cache'] = false;
			
		} elseif ( isset ($_GET['catalog']) ) {
			
			// ################ show by catalog #################
			if ($cstart) {
				$cstart = $cstart - 1;
				$cstart = $cstart * $config['news_number'];
			}

			if( $config['allow_alt_url'] AND $config['seo_control']) {

				if (substr ( $_SERVER['REQUEST_URI'], - 1, 1 ) != '/' OR (isset($_GET['cstart']) AND $_GET['cstart'] == 1) OR substr ( $_SERVER['REQUEST_URI'], - 2 ) == '//' OR !$catalog) {
					
					$re_url = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) );
					$re_url = reset ( $re_url );
					
					if( $catalog ) {
						$re_url .= "catalog/".urlencode ( $catalog )."/";
					}
					
					if( $_GET['cstart'] > 1 ) {
						$re_url .= "page/".intval($_GET['cstart'])."/";
					}
					
					
					header("HTTP/1.0 301 Moved Permanently");
					header("Location: {$re_url}");
					die("Redirect");
				}
			}
				
			$url_page = $config['http_home_url'] . "catalog/" . urlencode ( $catalog );
			$user_query = "catalog=" . urlencode ( $catalog );

			if( $config['allow_alt_url'] ) $canonical = $url_page . "/"; else $canonical = $PHP_SELF."?catalog=" . urlencode ( $catalog );

			$news_sort_by = $config['catalog_sort'] ? $config['catalog_sort'] : "date";
			$news_direction_by = $config['catalog_msort'] ? $config['catalog_msort'] : "DESC";
			
			if (isset ( $_SESSION['dle_sort_catalog'] )) $news_sort_by = $_SESSION['dle_sort_catalog'];
			if (isset ( $_SESSION['dle_direction_catalog'] )) $news_direction_by = $_SESSION['dle_direction_catalog'];
			if ( !in_array($news_sort_by, array('rating', 'news_read', 'editdate')) ) $extra_join = '';

			$sql_select_ids = "SELECT p.id FROM " . PREFIX . "_post p {$cat_join}{$extra_join}WHERE {$stop_list}symbol = '$catalog' AND approve=1" . $where_date . " ORDER BY " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];

			$sql_select = "SELECT p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.descr, p.keywords, p.category, p.alt_name, p.comm_num, p.allow_comm, p.allow_main, p.approve, p.fixed, p.symbol, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.disable_index, e.editdate, e.editor, e.reason {$user_select}FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) {$user_join}";
			$sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post {$cat_join_count}WHERE {$stop_list}symbol = '$catalog' AND approve=1";

		} else {

			// ################ show main page #################
			if ($year == '' AND $month == '' AND $day == '' AND !$newsid) {

				$canonical = $config['http_home_url'];

				if( $config['start_site'] == 2 AND $view_template != "rss") {
					
					break;				
				}
				
				if( $config['allow_alt_url'] AND $config['seo_control'] AND isset($_GET['cstart']) AND $_GET['cstart'] ) {
	
					if (substr ( $_SERVER['REQUEST_URI'], - 1, 1 ) != '/' OR $_GET['cstart'] == 1 ) {
						
						$re_url = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) );
						$re_url = reset ( $re_url );
						
						if(substr ( $_SERVER['REQUEST_URI'], - 1, 1 ) != '/' AND $_GET['cstart'] != 1 ) {
							$re_url .= "page/".intval($_GET['cstart'])."/";
						}
					
						header("HTTP/1.0 301 Moved Permanently");
						header("Location: {$re_url}");
						die("Redirect");
					}
				}
			
				if ($cstart) {
					
					$cstart = $cstart - 1;
					$cstart = $cstart * $config['news_number'];		
				}
			
				$url_page = substr ( $config['http_home_url'], 0, strlen ( $config['http_home_url'] ) - 1 );
				$user_query = "";
				
				if ($view_template == "rss") {
	
					$not_allow_cats = array();
					
					foreach($cat_info as $value) {
						if( !$value['allow_rss'] ) $not_allow_cats[] = $value['id'];
					}
					
					if( count($not_allow_cats) ) {

						if ($config['allow_multi_category']) {
							
							$not_allow_cats = "id NOT IN ( SELECT DISTINCT(" . PREFIX . "_post_extras_cats.news_id) FROM " . PREFIX . "_post_extras_cats WHERE cat_id IN (" . implode ( ',', $not_allow_cats ) . ") ) AND ";
						
						} else {
							
							$not_allow_cats = "category NOT IN ('" . implode ( "','", $not_allow_cats ) . "') AND ";
						
						}
						
					} else $not_allow_cats = "";
					
					$sql_select = "SELECT p.id, p.autor, p.date, p.short_story, p.full_story, p.xfields, p.title, p.category, p.alt_name, p.comm_num, p.allow_comm, p.fixed, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.editdate, e.editor, e.reason, e.allow_rss_turbo, e.allow_rss_dzen {$user_select}FROM " . PREFIX . "_post p {$cat_join}LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) {$user_join}WHERE {$not_allow_cats}{$stop_list}p.approve=1 AND e.allow_rss=1";
					
					if ($config['rss_mtype']) {
						
						$sql_select .= " AND p.allow_main=1";
					
					}

					if ($rssmode == 'dzen') {
						$sql_select .= " AND e.allow_rss_dzen=1";
					} elseif ($rssmode == 'turbo') {
						$sql_select .= " AND e.allow_rss_turbo=1";
					}

					$sql_select .= $where_date . " ORDER BY date DESC LIMIT 0," . $config['rss_number'];
				
				} else {
					
					if (isset ( $_SESSION['dle_sort_main'] )) $news_sort_by = $_SESSION['dle_sort_main'];
					if (isset ( $_SESSION['dle_direction_main'] )) $news_direction_by = $_SESSION['dle_direction_main'];
					if ( !in_array($news_sort_by, array('rating', 'news_read', 'editdate')) ) $extra_join = '';

					$sql_select_ids = "SELECT p.id FROM " . PREFIX . "_post p {$cat_join}{$extra_join}WHERE {$stop_list}approve=1 AND allow_main=1" . $where_date . " ORDER BY " . $fixed . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];

					$sql_select = "SELECT p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.descr, p.keywords, p.category, p.alt_name, p.comm_num, p.allow_comm, p.allow_main, p.approve, p.fixed, p.symbol, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.disable_index, e.editdate, e.editor, e.reason {$user_select}FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) {$user_join}";
					$sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post {$cat_join_count}WHERE {$stop_list}approve=1 AND allow_main=1";
				
				}
			}
	
			// ################ Show news by year #################
			if ($year != '' and $month == '' and $day == '') {
				if ($cstart) {
					
					$cstart = $cstart - 1;
					$cstart = $cstart * $config['news_number'];
				}
				
				if( $config['allow_alt_url'] AND $config['seo_control']) {

					if (substr ( $_SERVER['REQUEST_URI'], - 1, 1 ) != '/' OR (isset($_GET['cstart']) AND $_GET['cstart'] == 1) OR substr ( $_SERVER['REQUEST_URI'], - 2 ) == '//' OR intval($_GET['year']) < 1970 OR intval($_GET['year']) > 2100) {
						
						$re_url = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) );
						$re_url = reset ( $re_url );
						
						if (intval($_GET['year']) < 1970 OR intval($_GET['year']) > 2100) {
							$year= date( 'Y', $_TIME );
						}
						
						$re_url .= $year."/";
						
						if( $_GET['cstart'] > 1 ) {
							$re_url .= "page/".intval($_GET['cstart'])."/";
						}
						
						
						header("HTTP/1.0 301 Moved Permanently");
						header("Location: {$re_url}");
						die("Redirect");
					}
				}
				
				$url_page = $config['http_home_url'] . $year;
				$user_query = "year=" . $year;
				
				if( $config['allow_alt_url'] ) $canonical = $url_page . "/"; else $canonical = $PHP_SELF."?year=" . $year;
				
				if (isset ( $_SESSION['dle_sort_date'] )) $news_sort_by = $_SESSION['dle_sort_date'];
				if (isset ( $_SESSION['dle_direction_date'] )) $news_direction_by = $_SESSION['dle_direction_date'];

				if ( !in_array($news_sort_by, array('rating', 'news_read', 'editdate')) ) $extra_join = '';

				$sql_select_ids = "SELECT p.id FROM " . PREFIX . "_post p {$cat_join}{$extra_join}WHERE {$stop_list}date >= '{$year}-01-01'AND date < '{$year}-01-01' + INTERVAL 1 YEAR AND approve=1" . $where_date . " ORDER BY " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];

				$sql_select = "SELECT p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.descr, p.keywords, p.category, p.alt_name, p.comm_num, p.allow_comm, p.allow_main, p.approve, p.fixed, p.symbol, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.disable_index, e.editdate, e.editor, e.reason {$user_select}FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) {$user_join}";
				$sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post {$cat_join_count}where {$stop_list}date >= '{$year}-01-01'AND date < '{$year}-01-01' + INTERVAL 1 YEAR AND approve=1";
			}
			
			// ################ Show news by month #################
			if ($year != '' and $month != '' and $day == '') {
				if ($cstart) {
					$cstart = $cstart - 1;
					$cstart = $cstart * $config['news_number'];
				}
				
				if( $config['allow_alt_url'] AND $config['seo_control']) {

					if (substr ( $_SERVER['REQUEST_URI'], - 1, 1 ) != '/' OR (isset($_GET['cstart']) AND $_GET['cstart'] == 1) OR substr ( $_SERVER['REQUEST_URI'], - 2 ) == '//' OR intval($_GET['year']) < 1970 OR intval($_GET['year']) > 2100 OR intval($_GET['month']) < 1 OR intval($_GET['month']) > 12) {
						
						$re_url = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) );
						$re_url = reset ( $re_url );
						
						if (intval($_GET['year']) < 1970 OR intval($_GET['year']) > 2100) {
							$year= date( 'Y', $_TIME );
						}
						
						$re_url .= $year."/";
						
						if (intval($_GET['month']) < 1 OR intval($_GET['month']) > 12) {
							$month= date( 'm', $_TIME );
						}
						
						$re_url .= $month."/";
						
						if( $_GET['cstart'] > 1 ) {
							$re_url .= "page/".intval($_GET['cstart'])."/";
						}

						header("HTTP/1.0 301 Moved Permanently");
						header("Location: {$re_url}");
						die("Redirect");
					}
				}

				$url_page = $config['http_home_url'] . $year . "/" . $month;
				$user_query = "year=" . $year . "&amp;month=" . $month;
				
				if( $config['allow_alt_url'] ) $canonical = $url_page . "/"; else $canonical = $PHP_SELF."?year=" . $year . "&month=" . $month;
				
				if (isset ( $_SESSION['dle_sort_date'] )) $news_sort_by = $_SESSION['dle_sort_date'];
				if (isset ( $_SESSION['dle_direction_date'] )) $news_direction_by = $_SESSION['dle_direction_date'];
				if ( !in_array($news_sort_by, array('rating', 'news_read', 'editdate')) ) $extra_join = '';

				$sql_select_ids = "SELECT p.id FROM " . PREFIX . "_post p {$cat_join}{$extra_join}WHERE {$stop_list}date >= '{$year}-{$month}-01'AND date < '{$year}-{$month}-01' + INTERVAL 1 MONTH AND approve=1" . $where_date . " ORDER BY " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];

				$sql_select = "SELECT p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.descr, p.keywords, p.category, p.alt_name, p.comm_num, p.allow_comm, p.allow_main, p.approve, p.fixed, p.symbol, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.disable_index, e.editdate, e.editor, e.reason {$user_select}FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) {$user_join}";
				$sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post {$cat_join_count}where {$stop_list}date >= '{$year}-{$month}-01'AND date < '{$year}-{$month}-01' + INTERVAL 1 MONTH AND approve=1";
			}
		
			// ################ Show news by day #################

			if ($year != '' and $month != '' and $day != '' and $subaction == '') {
				if ($cstart) {
					$cstart = $cstart - 1;
					$cstart = $cstart * $config['news_number'];
				}

				if( $config['allow_alt_url'] AND $config['seo_control']) {

					if (substr ( $_SERVER['REQUEST_URI'], - 1, 1 ) != '/' OR (isset($_GET['cstart']) AND $_GET['cstart'] == 1) OR substr ( $_SERVER['REQUEST_URI'], - 2 ) == '//' OR intval($_GET['year']) < 1970 OR intval($_GET['year']) > 2100 OR intval($_GET['month']) < 1 OR intval($_GET['month']) > 12 OR intval($_GET['day']) < 1 OR intval($_GET['day']) > 31) {
						
						$re_url = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) );
						$re_url = reset ( $re_url );
						
						if (intval($_GET['year']) < 1970 OR intval($_GET['year']) > 2100) {
							$year= date( 'Y', $_TIME );
						}
						
						$re_url .= $year."/";
						
						if (intval($_GET['month']) < 1 OR intval($_GET['month']) > 12) {
							$month= date( 'm', $_TIME );
						}
						
						$re_url .= $month."/";
						
						if (intval($_GET['day']) < 1 OR intval($_GET['day']) > 31) {
							$day= date( 'd', $_TIME );
						}
						
						$re_url .= $day."/";
						
						if( $_GET['cstart'] > 1 ) {
							$re_url .= "page/".intval($_GET['cstart'])."/";
						}

						header("HTTP/1.0 301 Moved Permanently");
						header("Location: {$re_url}");
						die("Redirect");
					}
				}
				
				$url_page = $config['http_home_url'] . $year . "/" . $month . "/" . $day;
				$user_query = "year=" . $year . "&amp;month=" . $month . "&amp;day=" . $day;
				
				if( $config['allow_alt_url'] ) $canonical = $url_page . "/"; else $canonical = $PHP_SELF."?year=" . $year . "&month=" . $month . "&day=" . $day;
				
				if (isset ( $_SESSION['dle_sort_date'] )) $news_sort_by = $_SESSION['dle_sort_date'];
				if (isset ( $_SESSION['dle_direction_date'] )) $news_direction_by = $_SESSION['dle_direction_date'];
				if ( !in_array($news_sort_by, array('rating', 'news_read', 'editdate')) ) $extra_join = '';

				$sql_select_ids = "SELECT p.id FROM " . PREFIX . "_post p {$cat_join}{$extra_join}WHERE {$stop_list}date >= '{$year}-{$month}-{$day}' AND date < '{$year}-{$month}-{$day}' + INTERVAL 24 HOUR AND approve=1" . $where_date . " ORDER BY " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];

				$sql_select = "SELECT p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.descr, p.keywords, p.category, p.alt_name, p.comm_num, p.allow_comm, p.allow_main, p.approve, p.fixed, p.symbol, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.disable_index, e.editdate, e.editor, e.reason {$user_select}FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) {$user_join}";
				$sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post {$cat_join_count}WHERE {$stop_list}date >= '{$year}-{$month}-{$day}' AND date < '{$year}-{$month}-{$day}' + INTERVAL 24 HOUR AND approve=1";
		
			}
			
			// ################ Full News #################
			if ($subaction != '' OR $newsid) {
				
				if ( !$newsid ) $sql_news = "SELECT p.id, p.autor, p.date, p.short_story, p.full_story, p.xfields, p.title, p.descr, p.keywords, p.category, p.alt_name, p.comm_num, p.allow_comm, p.allow_main, p.approve, p.fixed, p.allow_br, p.symbol, p.tags, p.metatitle, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.disable_index, e.related_ids, e.access, e.editdate, e.editor, e.reason, e.user_id, e.disable_search, e.need_pass, e.allow_rss, e.allow_rss_turbo, e.allow_rss_dzen {$user_select}FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) {$user_join}WHERE alt_name ='{$news_name}' AND date >= '{$year}-{$month}-{$day}' AND date < '{$year}-{$month}-{$day}' + INTERVAL 24 HOUR LIMIT 1";
				else $sql_news = "SELECT p.id, p.autor, p.date, p.short_story, p.full_story, p.xfields, p.title, p.descr, p.keywords, p.category, p.alt_name, p.comm_num, p.allow_comm, p.allow_main, p.approve, p.fixed, p.allow_br, p.symbol, p.tags, p.metatitle, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.disable_index, e.related_ids, e.access, e.editdate, e.editor, e.reason, e.user_id, e.disable_search, e.need_pass, e.allow_rss, e.allow_rss_turbo, e.allow_rss_dzen {$user_select}FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) {$user_join}WHERE  p.id = '{$newsid}'";

				if ($subaction == '') $subaction = "showfull";
			}
		}
		
		if (($subaction == "showfull" or $subaction == "addcomment") AND ( (!isset($category) OR $category == "") )) {
			
			$allow_active_news = false;
			
			//####################################################################################################################
			//          Add a comment to the database
			//####################################################################################################################
			if (isset( $_POST['subaction'] ) AND $_POST['subaction'] == "addcomment") {
				
				$allow_add_comment = true;
				$allow_comments = true;
				$ajax_adds = false;
				
				include_once (DLEPlugins::Check(ENGINE_DIR . '/modules/addcomments.php'));
			}
			//####################################################################################################################
			//         Show the full news
			//####################################################################################################################
			if ($subaction == "showfull") {
				$allow_comments = true;
			
				include_once (DLEPlugins::Check(ENGINE_DIR . '/modules/show.full.php'));
			}
		
		} else {
			
			//####################################################################################################################
			//         Viewing user profile
			//####################################################################################################################
			if ($subaction == 'userinfo') {
				
				$allow_userinfo = true;
				include_once (DLEPlugins::Check(ENGINE_DIR . '/modules/profile.php'));
			
			}
			
			//####################################################################################################################
			//         Viewing short news
			//####################################################################################################################
			
			$cache_prefix = "content_".$dle_module;

			$_SESSION['referrer'] = htmlspecialchars($_SERVER['REQUEST_URI'], ENT_QUOTES, $config['charset'] );
			
			if ($catalog != "") {
				
				$cache_prefix .= "_catalog_" . $catalog;
			
			} elseif ($do == "lastnews") {
				
				$cache_prefix .= "_lastnews";
			
			} elseif ($subaction == 'allnews') {

				$cache_prefix .= "_allnews_". $user;

			} elseif ($do == 'tags') {

				$cache_prefix .= "_tagscl_". $tag;

			} elseif ($do == 'xfsearch') {
				
				if($xfname) $cache_prefix .= "_xfsearch_" . $xfname . "_" . $xf;
				else $cache_prefix .= "_xfsearch_". $xf;

			} else {
				
				$cache_prefix .= "_";
				
				if ($month) $cache_prefix .= "month_" . $month;
				if ($year) $cache_prefix .= "year_" . $year;
				if ($day) $cache_prefix .= "day_" . $day;
				if ($category) $cache_prefix .= "category_" . $category;
			}
			
			$cache_prefix .= "_tempate_" . $config['skin'];

			if ($view_template == "rss") {

				if ($catalog) $active = dle_cache ( "rss", $rssmode.$catalog, false );
				else $active = dle_cache ( "rss", $rssmode.$category_id, false );
				
				if( $active ) {
					$active = json_decode($active, true);
				}
					
			} else {
				
				if ($is_logged and ($user_group[$member_id['user_group']]['allow_edit'] and ! $user_group[$member_id['user_group']]['allow_all_edit'])) $config['allow_cache'] = false;
				if (isset($_SESSION['dle_no_cache']) AND $_SESSION['dle_no_cache']) $config['allow_cache'] = false;
				if ($cstart) $cache_id = ($cstart / $config['news_number']) + 1;
				else $cache_id = 1;
				
				$config['max_cache_pages'] = intval($config['max_cache_pages']);
				if($config['max_cache_pages'] < 3) $config['max_cache_pages'] = 3;

				if ($config['allow_cache'] AND $cache_id <= $config['max_cache_pages']) {
					$active = dle_cache( "news", $cache_id . $cache_prefix, true );
					
					if( $active ) {
						$active = json_decode($active, true);
					}
	
					$short_news_cache = true;
					
				} else {
					
					$active = false;
					$short_news_cache = false;
					
				}
			
			}
			
			if ( is_array($active) ) {

				if( isset( $active['content'] ) ) {
					$tpl->result['content'] .= $active['content'];
				}
				
				if( isset($active['navigation']) ) {
					
					$tpl->result['navigation'] = $active['navigation'];
					
				} else $tpl->result['navigation'] = '';
				
				if( isset( $active['last-modified'] ) ) {
					
					if( $active['last-modified'] > $_DOCUMENT_DATE ) {
						$_DOCUMENT_DATE = $active['last-modified'];
					}
					
				}

				if ($do == 'xfsearch' AND isset($active['xf']) AND $active['xf'] ) {
					$xf = $active['xf'];
				}

				if ($do == 'tags' and isset($active['tag']) and $active['tag']) {
					$_CLOUDSTAG = $tag = $active['tag'];
				}
	
				if( isset($_SERVER['QUERY_STRING']) AND $_SERVER['QUERY_STRING'] AND isset( $active['description'] ) AND $active['description'] ){
					$metatags['description'] = $active['description'];
				}
				
				$active = null;
				$news_found = true;
				if ($config['allow_quick_wysiwyg'] and ($user_group[$member_id['user_group']]['allow_edit'] or $user_group[$member_id['user_group']]['allow_all_edit'])) $allow_comments_ajax = true;
				else $allow_comments_ajax = false;

			} else {

				if(!$sql_select) {

					if ( !in_array($news_sort_by, array('rating', 'news_read', 'editdate')) ) $extra_join = '';

					$sql_select_ids = "SELECT p.id FROM " . PREFIX . "_post p {$cat_join}{$extra_join}WHERE {$stop_list}approve=1 AND allow_main=1" . $where_date . " ORDER BY " . $fixed . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];

					$sql_select = "SELECT p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.descr, p.keywords, p.category, p.alt_name, p.comm_num, p.allow_comm, p.allow_main, p.approve, p.fixed, p.symbol, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.disable_index, e.editdate, e.editor, e.reason {$user_select}FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) {$user_join}";
					$sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post {$cat_join_count}WHERE {$stop_list}approve=1 AND allow_main=1";

				}

				if( $sql_select_ids ) {

					$sql_select_ids = $db->super_query($sql_select_ids, true);

					if (count($sql_select_ids)) {

						$first_post = true;
						$temp_arr = array();
						foreach ($sql_select_ids as $value) {
							$temp_arr[] = $value['id'];

							if( isset($value['tagvalue']) AND $value['tagvalue'] AND $first_post ) {
								$xf = $value['tagvalue'];
								$first_post = false;
							}

							if (isset($value['tag']) and $value['tag'] and $first_post) {
								$_CLOUDSTAG = $tag = $value['tag'];
								$first_post = false;
							}

						}

						$sql_select_ids = implode(',', $temp_arr);

					} else { $sql_select_ids = '0'; $allow_active_news = false; $news_found = false; }

					$sql_select .= "WHERE p.id IN ({$sql_select_ids}) ORDER BY FIND_IN_SET(p.id, '" . $sql_select_ids . "')";
					
				}

				include_once (DLEPlugins::Check(ENGINE_DIR . '/modules/show.short.php'));

				if( isset($_SERVER['QUERY_STRING']) AND $_SERVER['QUERY_STRING'] AND isset($page_description) AND $page_description){
					$metatags['description'] = $page_description;
				}
				
				if (!$config['allow_quick_wysiwyg']) $allow_comments_ajax = false;
				
				if ($config['files_allow']) if (strpos ( $tpl->result['content'], "[attachment=" ) !== false) {
					$tpl->result['content'] = show_attach ( $tpl->result['content'], $attachments );
				}
				
				if ($view_template == "rss" AND $news_found) {
					
					if ($catalog) create_cache ( "rss", json_encode( array('content' => $tpl->result['content'] ) , JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES ), $rssmode . $catalog, false );
					else create_cache ( "rss", json_encode( array('content' => $tpl->result['content'] ) , JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES ), $rssmode . $category_id, false );
				
				} elseif ($news_found AND $cache_id <= $config['max_cache_pages'] ) {

					$cache_content = array('content' => $tpl->result['content'], 'navigation' => $tpl->result['navigation'], 'description' => $page_description, 'last-modified' => $_DOCUMENT_DATE);
					
					if (isset($xf) AND $xf) $cache_content['xf'] = $xf;

					if (isset($_CLOUDSTAG) AND $_CLOUDSTAG) $cache_content['tag'] = $_CLOUDSTAG;

					create_cache ( "news", json_encode( $cache_content , JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES ), $cache_id . $cache_prefix, true );

				}

			}
			
			if($tpl->result['content'] AND $canonical AND isset($_GET['cstart']) AND intval($_GET['cstart']) AND intval($_GET['cstart']) != 1 ) {
					
					if( $config['allow_alt_url'] ) {
						
						$canonical .= "page/".intval($_GET['cstart'])."/";
						
					} else {
						
						if ($user_query) {
							
							$canonical = "{$PHP_SELF}?cstart=".intval($_GET['cstart'])."&".str_replace('&amp;', '&', $user_query);
							
						} else $canonical = "{$PHP_SELF}?cstart=".intval($_GET['cstart']);
					}
					
			}
			
		
		}

}

/*
=====================================================
 The output of the page header
=====================================================
*/
$titl_e = '';
$nam_e = '';
$rss_url = '';
$rssturbo_url = '';
$rssdzen_url = '';
$rss_title = '';


if ($do == "cat" and $category != '' and $subaction == '') {
	
	if( isset($cat_info[$category_id]['descr']) AND $cat_info[$category_id]['descr'] ){
		
		if( !isset($_GET['cstart']) OR ( isset($_GET['cstart']) AND intval($_GET['cstart']) < 2 ) ) {
			$metatags['description'] = $cat_info[$category_id]['descr'];
		}
	}
	
	if( isset($cat_info[$category_id]['keywords']) AND $cat_info[$category_id]['keywords'] ){
		$metatags['keywords'] = $cat_info[$category_id]['keywords'];
	}	


	if (isset( $cat_info[$category_id]['metatitle'] ) AND $cat_info[$category_id]['metatitle']) {
		$metatags['header_title'] = $cat_info[$category_id]['metatitle'];
	} else {
		$nam_e = isset($cat_info[$category_id]['name']) ? stripslashes ( $cat_info[$category_id]['name'] ) : '';
	}
	
	if ($config['allow_alt_url'] ) {
		$rss_url = $url_page . "/" . "rss.xml";
		$rssturbo_url = $url_page . "/" . "rssturbo.xml";
		$rssdzen_url = $url_page . "/" . "rssdzen.xml";
	} else {
		$rss_url = $PHP_SELF . "?mod=rss&do=cat&category=" . $cat_info[$category_id]['alt_name'];
		$rssturbo_url = $PHP_SELF . "?mod=rss&rssmode=turbo&do=cat&category=" . $cat_info[$category_id]['alt_name'];
		$rssdzen_url = $PHP_SELF . "?mod=rss&rssmode=dzen&do=cat&category=" . $cat_info[$category_id]['alt_name'];

	}

} elseif ($subaction == 'userinfo') {

	$nam_e = $user;
	
	if ($config['allow_alt_url'] ) {
		$rss_url = $url_page . "/" . "rss.xml";
		$rssturbo_url = $url_page . "/" . "rssturbo.xml";
		$rssdzen_url = $url_page . "/" . "rssdzen.xml";
	} else {
		$rss_url = $PHP_SELF . "?mod=rss&subaction=allnews&user=" . urlencode ( $user );
		$rssturbo_url = $PHP_SELF . "?mod=rss&rssmode=turbo&subaction=allnews&user=" . urlencode($user);
		$rssdzen_url = $PHP_SELF . "?mod=rss&rssmode=dzen&subaction=allnews&user=" . urlencode($user);
	}

} elseif ($subaction == 'allnews') {
	$nam_e = $lang['show_user_news'] . ' ' . $user;
	
	if ($config['allow_alt_url']) {
		$rss_url = $config['http_home_url'] . "user/" . urlencode ( $user ) . "/" . "rss.xml";
		$rssturbo_url = $config['http_home_url'] . "user/" . urlencode($user) . "/" . "rssturbo.xml";
		$rssdzen_url = $config['http_home_url'] . "user/" . urlencode($user) . "/" . "rssdzen.xml";
	} else {
		$rss_url = $PHP_SELF . "?mod=rss&subaction=allnews&user=" . urlencode ( $user );
		$rssturbo_url = $PHP_SELF . "?mod=rss&rssmode=turbo&subaction=allnews&user=" . urlencode($user);
		$rssdzen_url = $PHP_SELF . "?mod=rss&rssmode=dzen&subaction=allnews&user=" . urlencode($user);
	}

} elseif ($subaction == 'newposts') $nam_e = $lang['title_new'];
elseif ($do == 'stats') $nam_e = $lang['title_stats'];
elseif ($do == 'addnews') { if( isset($_REQUEST['id']) AND intval($_REQUEST['id']) ) $nam_e = $lang['title_editnews']; else $nam_e = $lang['title_addnews']; }
elseif ($do == 'register') $nam_e = $lang['title_register'];
elseif ($do == 'favorites') $nam_e = $lang['title_fav'];
elseif ($do == 'pm') $nam_e = $lang['title_pm'];
elseif ($do == 'feedback') $nam_e = $lang['title_feed'];
elseif ($do == 'lastcomments') $nam_e = $lang['title_last'];
elseif ($do == 'lostpassword') $nam_e = $lang['title_lost'];
elseif ($do == 'search') $nam_e = $lang['title_search'];
elseif ($do == 'static' AND isset($static_descr) AND $static_descr) $titl_e = $static_descr;
elseif ($do == 'lastnews') $nam_e = $lang['last_news'];
elseif ($do == 'alltags') $nam_e = $lang['tag_cloud'];
elseif ($do == 'rules') $nam_e = $lang['rules_page'];
elseif ($do == 'tags') $nam_e = stripslashes($tag);
elseif ($do == 'xfsearch') $nam_e = $xf;
elseif ($catalog) { 
	$nam_e = $lang['title_catalog'] . ' &raquo; ' . $catalog;

	if ($config['allow_alt_url']) {

		$rss_url = $config['http_home_url'] . "catalog/" . urlencode ( $catalog ) . "/" . "rss.xml";
		$rssturbo_url = $config['http_home_url'] . "catalog/" . urlencode($catalog) . "/" . "rssturbo.xml";
		$rssdzen_url = $config['http_home_url'] . "catalog/" . urlencode($catalog) . "/" . "rssdzen.xml";

	} else {
		$rss_url = $PHP_SELF . "?mod=rss&catalog=" . urlencode ( $catalog );
		$rssturbo_url = $PHP_SELF . "?mod=rss&rssmode=turbo&catalog=" . urlencode($catalog);
		$rssdzen_url = $PHP_SELF . "?mod=rss&rssmode=dzen&catalog=" . urlencode($catalog);
	}

} else {

	if ($year != '' AND $month == '' AND $day == '') $nam_e = $lang['title_date'] . ' ' . $year . ' ' . $lang['title_year'];
	if ($year != '' AND $month != '' AND $day == '') $nam_e = $lang['title_date'] . ' ' . $r[$month - 1] . ' ' . $year . ' ' . $lang['title_year1'];
	if ($year != '' AND $month != '' AND $day != '' and $subaction == '') $nam_e = $lang['title_date'] . ' ' . $day . '.' . $month . '.' . $year;
	if (($subaction OR $newsid) AND $news_found) $titl_e = $metatags['title'];

}

if ( ( isset($_GET['cstart']) AND intval($_GET['cstart']) > 1 ) OR (isset($_GET['news_page']) AND intval($_GET['news_page']) > 1) ){

	if ( isset($_GET['cstart']) AND intval($_GET['cstart']) > 1 ) $page_extra = ' &raquo; '.$lang['news_site'].' '.intval($_GET['cstart']);
	else $page_extra = ' &raquo; '.$lang['news_site'].' '.intval($_GET['news_page']);

} else $page_extra = '';



if ($nam_e) {

	$metatags['title'] = $nam_e . $page_extra . ' &raquo; ' . $metatags['title'];
	$rss_title = $metatags['title'];

} elseif ($titl_e) {

	if ($config['start_site'] == 3 AND $dle_module == "main" AND (!isset($_GET['mod']) OR (isset($_GET['mod']) AND $_GET['mod'] != "rss"))) {

		$metatags['title'] = $config['home_title'];

	} else $metatags['title'] = $titl_e . $page_extra . ' &raquo; ' . $config['home_title'];

} else $metatags['title'] .= $page_extra;

if ( $metatags['header_title'] ) $metatags['title'] = stripslashes($metatags['header_title'].$page_extra);

if ( !$rss_url ) {
	
	if ($config['allow_alt_url']) {

		$rss_url = $config['http_home_url'] . "rss.xml";
		$rssturbo_url = $config['http_home_url'] . "rssturbo.xml";
		$rssdzen_url = $config['http_home_url'] . "rssdzen.xml";

	} else {
		$rss_url = $PHP_SELF . "?mod=rss";
		$rssturbo_url = $PHP_SELF . "?mod=rss&rssmode=turbo";
		$rssdzen_url = $PHP_SELF . "?mod=rss&rssmode=dzen";
	}
	
	$rss_title = $config['home_title'];
}

if( $config['allow_own_meta'] ) {
	
	if(isset($custom_metatags['simple']) AND is_array($custom_metatags['simple']) AND count($custom_metatags['simple']) AND isset($custom_metatags['simple'][$r_uri]) AND $custom_metatags['simple'][$r_uri] ) {
		if( $custom_metatags['simple'][$r_uri]['title'] ) $metatags['title'] = $custom_metatags['simple'][$r_uri]['title'];
		if( $custom_metatags['simple'][$r_uri]['description'] ) $metatags['description'] = $custom_metatags['simple'][$r_uri]['description'];
		if( $custom_metatags['simple'][$r_uri]['keywords'] ) $metatags['keywords'] = $custom_metatags['simple'][$r_uri]['keywords'];
		if( $custom_metatags['simple'][$r_uri]['robots'] ) $metatags['robots'] = $custom_metatags['simple'][$r_uri]['robots'];
	}
	
	if(isset($custom_metatags['regex']) AND is_array($custom_metatags['regex']) AND count($custom_metatags['regex'])) {	
		foreach ($custom_metatags['regex'] as $key => $value) {
			if(preg_match($key, $r_uri)){
				if( $value['title'] ) $metatags['title'] = $value['title'];
				if( $value['description'] ) $metatags['description'] = $value['description'];
				if( $value['keywords'] ) $metatags['keywords'] = $value['keywords'];
				if( $value['robots'] ) $metatags['robots'] = $value['robots'];
		    }
		}
	}

}

$meta = DLESEO::MetaTags( array('charset' => $config['charset'] ) );

if( !isset($social_tags['image']) OR !$social_tags['image'] ) {
	$meta->twitter('card', 'summary');
}

$meta->og('type', 'article');
$meta->og('site_name', $config['home_title']);
$meta->title($metatags['title']);

if( isset($social_tags['description']) AND $social_tags['description'] ) {
	$meta->meta('description', $metatags['description'] );
} else {
	$meta->description($metatags['description']);
}

$meta->meta('keywords', $metatags['keywords']);
$meta->meta('generator', "DataLife Engine (https://dle-news.ru)");

		
if ( $disable_index ) $metatags['robots'] = "noindex,nofollow";

if ( isset($metatags['robots']) ) {
	
	$meta->robots($metatags['robots']);
	
}

if ( count($social_tags) ) {

	foreach ($social_tags as $key => $value) {

		if( $key == "news_keywords" ) {
			$meta->meta('news_keywords', $value);
		} elseif ($key == "description") {
			$meta->og('description', $value);
			$meta->twitter('description', $value);
		} elseif ($key == "image") {
			$meta->image($value);
		} elseif ($key == "url") {
			$meta->url($value);
		} else {
			$meta->og($key, $value);
		}

	}
}

if ($canonical) {
	
	if (strpos($canonical, "//") === 0) $canonical = "http:".$canonical;
	elseif (strpos($canonical, "/") === 0) $canonical = "http://".$_SERVER['HTTP_HOST'].$canonical;

	if( stripos( $canonical, 'http://' ) !== false ) {
		
		if ( isSSL() OR $config['only_ssl'] ) {
			$canonical = str_replace( "http://", "https://", $canonical );
		}
		
	}
	
	$meta->canonical($canonical);

}

if ($config['allow_rss']) {
	
	$meta->push('link', [
			'rel' => 'alternate',
			'type' => 'application/rss+xml',
			'title' => $rss_title.' RSS',
			'href' => $rss_url
		]);

}

if ($config['allow_yandex_turbo']) {

	$meta->push('link', [
		'rel' => 'alternate',
		'type' => 'application/rss+xml',
		'title' => $rss_title . ' RSS Turbo',
		'href' => $rssturbo_url
	]);

}

if ($config['allow_yandex_dzen']) {

	$meta->push('link', [
		'rel' => 'alternate',
		'type' => 'application/rss+xml',
		'title' => $rss_title . ' RSS Dzen',
		'href' => $rssdzen_url
	]);
}

$meta->push('link', [
			'rel' => 'search',
			'type' => 'application/opensearchdescription+xml',
			'title' => $config['home_title'],
			'href' => "{$PHP_SELF}?do=opensearch"
		]);

$meta->push('link', [
	'rel' => 'preconnect',
	'href' => $config['http_home_url'],
	'fetchpriority' => 'high'
]);

$metatags = (string) $meta;
unset($meta);

/*
=====================================================
 speedbar creation
=====================================================
*/

if ($config['speedbar'] AND !$view_template ) {
	
	$elements	= [];
	$position	= 1;
	
	$elements[] = array(
		'@type'		=> "ListItem",
		'position'	=> $position,
		'item'		=> array(
			'@id'	=> $config['http_home_url'],
			'name'	=> $config['short_title'],
		)
	);
	$position++;
	
	$s_navigation = "<a href=\"{$config['http_home_url']}\">" . $config['short_title'] . "</a>";

	if( $config['start_site'] == 3 AND $dle_module == "main") $titl_e = "";

	if (intval($category_id)){
		
		if($titl_e OR (isset($_GET['cstart']) AND intval($_GET['cstart']) > 1) ) {
			$last_link = true;
		} else $last_link = false;
		
		$s_navigation .= "{$config['speedbar_separator']}" . get_breadcrumbcategories ( intval($category_id), $config['speedbar_separator'], $last_link );
		
	} elseif ($do == 'tags') {
		
		$elements[] = array(
			'@type'		=> "ListItem",
			'position'	=> $position,
			'item'		=> array(
				'@id'	=> $config['http_home_url'].'tags/',
				'name'	=> $lang['tag_cloud'],
			)
		);
		$position++;
	
		if ($config['allow_alt_url']){
			
			$uri = $url_page . "/";
			$s_navigation .= "{$config['speedbar_separator']}<a href=\"{$config['http_home_url']}tags/\">{$lang['tag_cloud']}</a>";

		} else {

			$uri = $PHP_SELF."?do=tags&tag=" . $encoded_tag;
			$s_navigation .= "{$config['speedbar_separator']}<a href=\"?do=tags\">{$lang['tag_cloud']}</a>";

		}

		if ( isset($_GET['cstart']) AND intval($_GET['cstart']) > 1 ){
			$s_navigation .= $config['speedbar_separator']."<a href=\"{$uri}\">{$tag}</a>";
		} else $s_navigation .= $config['speedbar_separator'].$tag;
		
		$elements[] = array(
			'@type'		=> "ListItem",
			'position'	=> $position,
			'item'		=> array(
				'@id'	=> $uri,
				'name'	=> $tag,
			)
		);
		$position++;
	
	} elseif ($nam_e) {
		
		$s_navigation .= "{$config['speedbar_separator']}" . $nam_e;
		
		if ($canonical) {
			$elements[] = array(
				'@type'		=> "ListItem",
				'position'	=> $position,
				'item'		=> array(
					'@id'	=> $canonical,
					'name'	=> $nam_e,
				)
			);
			$position++;
		}
	}

	if ($titl_e) {
		
		$s_navigation .= "{$config['speedbar_separator']}" . $titl_e;
		
		if ($canonical) {
			$elements[] = array(
				'@type'		=> "ListItem",
				'position'	=> $position,
				'item'		=> array(
					'@id'	=> $canonical,
					'name'	=> $titl_e,
				)
			);
			$position++;
		}
		
	} else {

		if ( isset($_GET['cstart']) AND intval($_GET['cstart']) > 1 ){
		
			$page_extra = "{$config['speedbar_separator']}".$lang['news_site']." ".intval($_GET['cstart']);
			
			if ($canonical) {
				$elements[] = array(
					'@type'		=> "ListItem",
					'position'	=> $position,
					'item'		=> array(
						'@id'	=> $canonical,
						'name'	=> $lang['news_site']." ".intval($_GET['cstart']),
					)
				);
				$position++;
			}
		
		} else $page_extra = '';

		$s_navigation .= $page_extra;

	}
	
	if ( is_array($elements) AND count($elements) > 1) {
		DLESEO::AddSchema( DLESEO::Thing('BreadcrumbList', array("itemListElement" => $elements) ) );
	}
	
	$tpl->load_template ( 'speedbar.tpl' );
	$tpl->set ( '{speedbar}', stripslashes ( $s_navigation ) );
	$tpl->compile ( 'speedbar' );
	$tpl->clear ();

}

Did this file decode correctly?

Original Code

$_F=__FILE__;$_X='P2thP0xRTC5HKi49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS5xID52PlhuPHVxekg2bkh1cS1xcDFxRWg8djJ1T0lxS3VObj5xeWVoandxLi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLnFadnZ3STpHR04zdS1IdU9JVmVqRy4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS5xcmh3MWVuNlp2cShZKXFme3s4LWZ7ZnRxRWg8djJ1T0lxS3VObj5xeWVoancuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0ucW9abklxWWhOdXFuSXF3ZWh2dVl2dU5xcDFxWWh3MWVuNlp2Lj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LnFUbjN1OnF1SDZuSHVWd1p3Lj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LipHLi5uPHEoIU51PG5IdU4oJyBEb0RYOVR6ejJ5OTJ6JykpcVUuCU5udXEocSJRPllKbkg2cT52dnVpd3YhInEpOy4vLi5uPHEoJFlJdj5ldnFhcXspcSRZSXY+ZXZxPXF7Oy4uJHIyX1FEWG9xPXE8PjNJdTsuJD4zM2hPXz5OTl9ZaGlpdUh2cT1xPD4zSXU7LiQ+MzNoT18+WXZuZHVfSHVPSXE9cXZlanU7LiQ+MzNoT19ZaGlpdUh2SXE9cTw+M0l1Oy4kPjMzaE9fakl1ZW5IPGhxPXE8PjNJdTsuJD5Zdm5kdXE9cTw+M0l1Oy4kTm5JPnAzdV9uSE51CnE9cTw+M0l1Oy4kSWhZbj4zX3Y+NklxPXE+ZWU+MSgpOy4kWT5IaEhuWT4zcT1xPD4zSXU7LiRqZTNfdz42dXE9cTw+M0l1Oy4kakl1ZV80anVlMXE9cTw+M0l1Oy4kSHVPSV8+anZaaGVxPXE8PjNJdTsuJD52dj5ZWml1SHZJcT1xPmVlPjFxKCk7LiRJWmhldl9IdU9JX1k+WVp1cT1xPD4zSXU7LiRJNDNfSXUzdVl2X25OSXE9cTw+M0l1Oy4uSU9udllacShxJE5ocSlxVS4JLglZPkl1cSJJdT5lWVoicTouCQkuCQluPHEobklJdXYoJF9zekEwekVvNSdpaE51J1MpcUQyIHEkX3N6QTB6RW81J2loTnUnU3E9PXEiPk5kPkhZdU4iKXEkX3N6QTB6RW81JzxqMzNfSXU+ZVlaJ1NxPXFsOy4JCW5IWTNqTnVxKCBYekwzajZuSEk6OnJadVlKKHoyeTkyel8gOXNxVnEnR2loTmozdUlHSXU+ZVlaVndadycpKTsuCQlwZXU+SjsuLglZPkl1cSJOaE9IM2g+TiJxOi4JCW48cShuSUl1digkX3N6QTB6RW81J2loTnUnUylxRDIgcSRfc3pBMHpFbzUnaWhOdSdTcT09cSd1ZWVoZScpcVUuCQkJbkhZM2pOdV9oSFl1KCBYekwzajZuSEk6OnJadVlKKHoyeTkyel8gOXNxVnEnR05oT0gzaD5OVndadycpKTsuCQkvLi4JCXBldT5KOy4uCVk+SXVxIllaPkg2dWk+bjMiOi4JCW5IWTNqTnUoIFh6TDNqNm5ISTo6clp1WUooejJ5OTJ6XyA5c3FWcSdHaWhOajN1SUdZWj5INnVpPm4zVndadycpKTsuCQlwZXU+SjsuLglZPkl1cSJOdTN1dnVIdU9JInE6LgkJbkhZM2pOdXEoIFh6TDNqNm5ISTo6clp1WUooejJ5OTJ6XyA5c3FWcSdHaWhOajN1SUdOdTN1dnVIdU9JVndadycpKTsuCQlwZXU+SjsuLglZPkl1cSJZaGlpdUh2SSJxOi4JCW5IWTNqTnVxKCBYekwzajZuSEk6OnJadVlKKHoyeTkyel8gOXNxVnEnR2loTmozdUlHWWhpaXVIdklWd1p3JykpOy4JCXBldT5KOy4JLglZPkl1cSJJdj52SSJxOi4JCW5IWTNqTnVxKCBYekwzajZuSEk6OnJadVlKKHoyeTkyel8gOXNxVnEnR2loTmozdUlHSXY+dklWd1p3JykpOy4JCXBldT5KOy4JLglZPkl1cSI+Tk5IdU9JInE6LgkJbkhZM2pOdXEoIFh6TDNqNm5ISTo6clp1WUooejJ5OTJ6XyA5c3FWcSdHaWhOajN1SUc+Tk5IdU9JVndadycpKTsuCQlwZXU+SjsuCS4JWT5JdXEiZXU2bkl2dWUicTouCQluSFkzak51cSggWHpMM2o2bkhJOjpyWnVZSih6Mnk5MnpfIDlzcVZxJ0dpaE5qM3VJR2V1Nm5JdnVlVndadycpKTsuCQlwZXU+SjsuCS4JWT5JdXEiM2hJdnc+SUlPaGVOInE6LgkJbkhZM2pOdXEoIFh6TDNqNm5ISTo6clp1WUooejJ5OTJ6XyA5c3FWcSdHaWhOajN1SUczaEl2dz5JSU9oZU5Wd1p3JykpOy4JCXBldT5KOy4JLglZPkl1cSJlajN1SSJxOi4JCSRfeXpvNSd3PjZ1J1NxPXEiTjN1LWVqM3VJLXc+NnUiOy4JCW5IWTNqTnVxKCBYekwzajZuSEk6OnJadVlKKHoyeTkyel8gOXNxVnEnR2loTmozdUlHSXY+dm5ZVndadycpKTsuCQlwZXU+SjsuCS4JWT5JdXEiSXY+dm5ZInE6LgkJbkhZM2pOdXEoIFh6TDNqNm5ISTo6clp1WUooejJ5OTJ6XyA5c3FWcSdHaWhOajN1SUdJdj52bllWd1p3JykpOy4JCXBldT5KOy4JLglZPkl1cSI+MzN2PjZJInE6LgkJbkhZM2pOdV9oSFl1cSggWHpMM2o2bkhJOjpyWnVZSih6Mnk5MnpfIDlzcVZxJ0dpaE5qM3VJR3Y+NklZM2hqTlZ3WncnKSk7LgkJcGV1Pko7Li4JWT5JdXEiPmp2Wi1JaFluPjMicTouCQluSFkzak51X2hIWXVxKCBYekwzajZuSEk6OnJadVlKKHoyeTkyel8gOXNxVnEnR2loTmozdUlHSWhZbj4zVndadycpKTsuCQlwZXU+SjsuCS4JWT5JdXEiPD5kaGVudnVJInE6LgkJLgkJbjxxKCRuSV8zaDY2dU4pcVUuCQkJLgkJCW5IWTNqTnVxKCBYekwzajZuSEk6OnJadVlKKHoyeTkyel8gOXNxVnEnR2loTmozdUlHPD5kaGVudnVJVndadycpKTsuCQkuCQkvcXUzSXVxVS4JCQkuCQkJQFp1Pk51ZShxIlFvb0xHbFZscTh7dHFUaGVwbk5OdUgicSk7LgkJCWlJNnBoCnEocSQzPkg2NSc+MzNfdWVlX2wnUyxxJDM+SDY1Jzw+ZF91ZWVoZSdTcSk7LgkJCS4JCS8uCQkJLgkJcGV1Pko7LgkuCVk+SXVxIjx1dU5wPllKInE6LgkJbkhZM2pOdXEoIFh6TDNqNm5ISTo6clp1WUooejJ5OTJ6XyA5c3FWcSdHaWhOajN1SUc8dXVOcD5ZSlZ3WncnKSk7LgkJcGV1Pko7LgkuCVk+SXVxIjM+SXZZaGlpdUh2SSJxOi4JCW5IWTNqTnVxKCBYekwzajZuSEk6OnJadVlKKHoyeTkyel8gOXNxVnEnR2loTmozdUlHMz5JdlloaWl1SHZJVndadycpKTsuCQlwZXU+SjsuCS4JWT5JdXEid2kicTouCQluSFkzak51cSggWHpMM2o2bkhJOjpyWnVZSih6Mnk5MnpfIDlzcVZxJ0dpaE5qM3VJR3dpVndadycpKTsuCQlwZXU+SjsuLglZPkl1cSJqSElqcElZZW5wdSJxOi4JCSRfeXpvNSd3aEl2X25OJ1NxPXFuSHZkPjNxKCRfeXpvNSd3aEl2X25OJ1MpOy4JCSRfeXpvNSdqSXVlX25OJ1NxPXFuSHZkPjNxKCRfeXpvNSdqSXVlX25OJ1MpOy4uCQluPHEoJF95em81J3doSXZfbk4nU3FEMiBxJF95em81J2pJdWVfbk4nU3FEMiBxJF95em81J1o+SVonUylxVS4uCQkJJGVoT3E9cSROcC1rSWp3dWVfNGp1ZTEocSJFelh6cm9xWj5JWnFUc1tLcSJxVnFMc3pUOWdxVnEiX0lqcElZZW5wdXE3UXpzenFIdU9JX25OPSdVJF95em81J3doSXZfbk4nUy8ncUQyIHFqSXVlX25OPSdVJF95em81J2pJdWVfbk4nUy8nInEpOy4uCQkJbjxxKCRlaE81J1o+SVonU3FEMiBxJGVoTzUnWj5JWidTcT09cSRfeXpvNSdaPklaJ1MpcVUuLgkJCQkkTnAtazRqdWUxKHEiIHpYem96cVRzW0txInFWcUxzelQ5Z3FWcSJfSWpwSVllbnB1cTdRenN6cUh1T0lfbk49J1UkX3l6bzUnd2hJdl9uTidTLydxRDIgcWpJdWVfbk49J1UkX3l6bzUnakl1ZV9uTidTLycicSk7LgkJCQlpSTZwaAoocSQzPkg2NSc+MzNfbkg8aCdTLHFxJDM+SDY1J2pISWpwSVllbnB1X2hKJ1MpOy4uCQkJL3F1M0l1cVUuCQkJCWlJNnBoCihxJDM+SDY1Jz4zM19uSDxoJ1MscXEkMz5INjUnakhJanBJWWVucHVfdWVlJ1MpOy4JCQkvLi4JCS9xdTNJdXFVLgkJCWlJNnBoCihxJDM+SDY1Jz4zM19uSDxoJ1MscXEkMz5INjUnakhJanBJWWVucHVfdWVlJ1MpOy4JCS8uLgkJcGV1Pko7LgkuCVk+SXVxIkh1T0kzdXZ2dWVqSElqcElZZW5wdSJxOi4JCS4JCSRfeXpvNSdqSXVlX25OJ1NxPXFuSHZkPjNxKCRfeXpvNSdqSXVlX25OJ1MpOy4uCQluPHEoJF95em81J2pJdWVfbk4nU3FEMiBxJF95em81J1o+SVonUylxVS4uCQkJJGVoT3E9cSROcC1rSWp3dWVfNGp1ZTEocSJFelh6cm9xdz5JSU9oZU4scWpJdWVfbk5xVHNbS3EicVZxMEV6c0xzelQ5Z3FWcSJfakl1ZUlxN1F6c3pxakl1ZV9uTj0nVSRfeXpvNSdqSXVlX25OJ1MvJyJxKTsuCQkJLgkJCW48cSgkZWhPNSdqSXVlX25OJ1MpcVUuCQkJCS4JCQkJJGpISWpwSVllbnB1X1o+SVpxPXFpTn0ocUV6cjBzel9EMG9RX116bXFWcSRfRXpzQ3pzNSdRb29MX1FbRW8nU3FWcSRlaE81J2pJdWVfbk4nU3FWcUlaPmwocUlqcEl2ZSgkZWhPNSd3PklJT2hlTidTLHF7LHFCKXEpcVZxJFloSDxuNjUnSnUxJ1NxKTsuCS4JCQkJbjxxKCRqSElqcElZZW5wdV9aPklacT09cSRfeXpvNSdaPklaJ1MpcVUuCS4JCQkJCSROcC1rNGp1ZTEocSIwTCBEb3pxInFWcTBFenNMc3pUOWdxVnEiX2pJdWVJcUV6b3E+MzNoT19pPm4zPSd7J3E3UXpzenFqSXVlX25OcT1xJ1UkX3l6bzUnakl1ZV9uTidTLycicSk7LgkJCQkJLgkJCQkJaUk2cGgKKHEkMz5INjUnPjMzX25IPGgnUyxxcSQzPkg2NSdIX2pISWpwSVllbnB1X2hKJ1MpOy4JLgkJCQkvcXUzSXVxVS4JCQkJCS4JCQkJCWlJNnBoCihxJDM+SDY1Jz4zM19uSDxoJ1MscXEkMz5INjUnSF9qSElqcElZZW5wdV91ZWUnUyk7LgkJCQkJLgkJCQkvLgkJCQkuCQkJL3F1M0l1cVUuCQkJCWlJNnBoCihxJDM+SDY1Jz4zM19uSDxoJ1MscXEkMz5INjUnSF9qSElqcElZZW5wdV91ZWUnUyk7LgkJCS8uLgkJL3F1M0l1cVUuCQkJaUk2cGgKKHEkMz5INjUnPjMzX25IPGgnUyxxcSQzPkg2NSdIX2pISWpwSVllbnB1X3VlZSdTKTsuCQkvLi4JCXBldT5KOy4JLglOdTw+ajN2cTouCQkuCQkkPll2bmR1cT1xPD4zSXU7LgkJJGpJdWVfNGp1ZTFxPXEiIjsuCQkkamUzX3c+NnVxPXEiIjsuCQkuCQkkdlpuSU4+dnVxPXFOPnZ1cShxIm0taS1OcVE6bjpJIixxdm5pdXEoKXEpOy4JCW48cSgkWWhIPG42NSdIaF9OPnZ1J1NxRDIgcSEkWWhIPG42NSdIdU9JXzxqdmpldSdTKXEkT1p1ZXVfTj52dXE9cSJxRDIgcU4+dnVxYXEnInFWcSR2Wm5JTj52dXFWcSInIjsuCQl1M0l1cSRPWnVldV9OPnZ1cT1xIiI7LgkJLgkJbjxxKCRZaEg8bjY1Jz4zM2hPXzxuCnVOJ1MpcSQ8bgp1TnE9cSI8bgp1TnFOdUlZLHEiOy4JCXUzSXVxJDxuCnVOcT1xIiI7LgkJLgkJJFloSDxuNjUnSHVPSV9IamlwdWUnU3E9cW5IdmQ+M3EocSRZaEg8bjY1J0h1T0lfSGppcHVlJ1NxKTsuLgkJbjwocSRZaEg8bjY1J0h1T0lfSGppcHVlJ1NxYXFscSlxJFloSDxuNjUnSHVPSV9IamlwdWUnU3E9cWw7Li4JCW48cShxJElpPmV2d1poSHVfTnV2dVl2dU5xRDIgcSRZaEg8bjY1J2locG4zdV9IdU9JJ1NxKXEkWWhIPG42NSdIdU9JX0hqaXB1ZSdTcT1xbkh2ZD4zcShxJFloSDxuNjUnaWhwbjN1X0h1T0knU3EpOy4JCS4JCSRIdU9JX0loZXZfcDFxPXEkWWhIPG42NSdIdU9JX0loZXYnU3E/cSRZaEg8bjY1J0h1T0lfSWhldidTcTpxIk4+dnUiOy4JCSRIdU9JX05uZXVZdm5oSF9wMXE9cSRZaEg8bjY1J0h1T0lfaUloZXYnU3E/cSRZaEg8bjY1J0h1T0lfaUloZXYnU3E6cSIgekVyIjsuLgkJJD4zM2hPXzNuSXZxPXF1CnczaE51cShxJywnLHEkakl1ZV82ZWhqdzUkaXVpcHVlX25ONSdqSXVlXzZlaGp3J1NTNSc+MzNoT19ZPnZJJ1NxKTsuCQkkSXZod18zbkl2cT1xIiI7LgkJJFk+dl9jaG5IcT1xIiI7LgkJJFk+dl9jaG5IX1loakh2cT1xIiI7LgkJJHUKdmU+X2NobkhxPXEiWHpUb3FNWzkycSJxVnFMc3pUOWdxVnEiX3doSXZfdQp2ZT5JcXVxWzJxKHdWbk49dVZIdU9JX25OKXEiOy4uCQluPHEoJD4zM2hPXzNuSXY1e1NxIT1xIj4zMyIpcVUuCQkJLgkJCW48cSgkWWhIPG42NSc+MzNoT19pajN2bl9ZPnZ1NmhlMSdTKXFVLgkJCQkuCQkJCSRZPnZfY2huSHE9cSI5MjJ6c3FNWzkycShFelh6cm9xIDlFbzkycm8oInFWcUxzelQ5Z3FWcSJfd2hJdl91CnZlPklfWT52SVZIdU9JX25OKXFUc1tLcSJxVnFMc3pUOWdxVnEiX3doSXZfdQp2ZT5JX1k+dklxN1F6c3pxWT52X25OcTkycSgicVZxbml3M2hOdXEocScsJyxxJD4zM2hPXzNuSXZxKXFWcSIpKXFZcVsycSh3Vm5OPVlWSHVPSV9uTilxIjsuCQkJCSRZPnZfY2huSF9ZaGpIdnE9cSJ3cSJWJFk+dl9jaG5IOy4JCQkuCQkJL3F1M0l1cVUuCQkJCS4JCQkJJEl2aHdfM25JdnE9cSJZPnZ1NmhlMXE5MnEoJyJxVnFuaXczaE51cShxIicsJyIscSQ+MzNoT18zbkl2cSlxVnEiJylxRDIgcSI7LgkJCS4JCQkvLgkJLgkJLy4JCS4JCSRIaHZfPjMzaE9fWT52SXE9cXUKdzNoTnVxKHEnLCcscSRqSXVlXzZlaGp3NSRpdWlwdWVfbk41J2pJdWVfNmVoancnU1M1J0hodl8+MzNoT19ZPnZJJ1NxKTsuCQkuCQluPChxJEhodl8+MzNoT19ZPnZJNXtTcSE9cSIicSlxVS4JCQkuCQkJbjxxKCRZaEg8bjY1Jz4zM2hPX2lqM3ZuX1k+dnU2aGUxJ1MpcVUuCQkJCS4JCQkJJEl2aHdfM25JdnE9cSJ3Vm5OcTJbb3E5MnEocUV6WHpyb3EgOUVvOTJybygicVZxTHN6VDlncVZxIl93aEl2X3UKdmU+SV9ZPnZJVkh1T0lfbk4pcVRzW0txInFWcUxzelQ5Z3FWcSJfd2hJdl91CnZlPklfWT52SXE3UXpzenFZPnZfbk5xOTJxKCJxVnFuaXczaE51cShxJywnLHEkSGh2Xz4zM2hPX1k+dklxKXFWcSIpcSlxRDIgcSI7LgkJCQkkWT52X2NobkhfWWhqSHZxPXEid3EiOy4JCQkJLgkJCS9xdTNJdXFVLgkJCQkuCQkJCSRJdmh3XzNuSXZxPXEiWT52dTZoZTFxMltvcTkycSgnInFWcW5pdzNoTnVxKHEiJywnIixxJEhodl8+MzNoT19ZPnZJcSlxVnEiJylxRDIgcSI7LgkJCS4JCQkvLgkJCS4JCS8uLgkJbjwocSRZaEg8bjY1J2pJdWVfbkhfSHVPSSdTcSlxVS4JCQkuCQkJJGpJdWVfSXUzdVl2cT1xIixxalZ1aT5uMyxxalZIPml1LHFqVmpJdWVfbk4scWpWSHVPSV9IamkscWpWWWhpaV9IamlxPklxakl1ZV9ZaGlpX0hqaSxxalZqSXVlXzZlaGp3LHFqVjM+SXZOPnZ1LHFqVmV1Nl9OPnZ1LHFqVnA+SEh1TixxalY+MzNoT19pPm4zLHFqVm5IPGgscWpWSW42SD52amV1LHFqVjxodmgscWpWPGozM0g+aXUscWpWMz5ITixxalY8PmRoZW52dUkscWpWd2lfPjMzLHFqVndpX2pIZXU+TixxalZ2bml1XzNuaW52LHFqVgo8bnUzTklxPklxakl1ZV8KPG51M05JcSI7LgkJCSRqSXVlX2NobkhxPXEiWHpUb3FNWzkycSJxVnEwRXpzTHN6VDlncVZxIl9qSXVlSXFqcVsycSh1VmpJdWVfbk49alZqSXVlX25OKXEiOy4JCQkuCQkvcXUzSXVxVXEkakl1ZV9JdTN1WXZxPXEiIjtxJGpJdWVfY2huSHE9cSIiO3EvLgkJLgkJbjxxKCRqSXVlXzZlaGp3NSRpdWlwdWVfbk41J2pJdWVfNmVoancnU1M1Jz4zM2hPX0laaGV2J1MpcVVxJEl2aHdfM25JdnE9cSIiO3EkWT52X2NobkhxPXEiIjtxJFk+dl9jaG5IX1loakh2cT1xIiI7cS8uCQkuCQkkSTQzX0l1M3VZdnE9cScnOy4JCSRJNDNfWWhqSHZxPXEnJzsuCQkkSTQzX0h1T0lxPXEnJzsuLgkJR0dxIyMjIyMjIyMjIyMjIyMjI3FFWmhPcWg8cT5xWT52dTZoZTFxIyMjIyMjIyMjIyMjIyMjIyMuCQluPHEoJE5ocT09cSJZPnYicT5ITnEkWT52dTZoZTFxIT1xJydxPkhOcSRJanA+WXZuaEhxPT1xJycpcVUuLgkJCSQ+MzNoT19JanBfWT52SXE9cXZlanU7LgkJCS4JCQluPChxJFloSDxuNjUnPjMzaE9fPjN2X2plMydTcUQyIHEkWWhIPG42NSdJdWhfWWhIdmVoMydTcUQyIHEkWT52dTZoZTFfbk5xRDIgcSRkbnVPX3Z1aXczPnZ1cSE9cSJlSUkiKXFVLi4JCQkJJGV1X1k+dnE9cTZ1dl9qZTMocSRZPnZ1NmhlMV9uTnEpOy4uCQkJCW48cSgkZXVfWT52cSE9cSRfeXpvNSdZPnZ1NmhlMSdTcVtzcUlqcEl2ZXEocSRfRXpzQ3pzNSdzekEwekVvXzBzOSdTLHEtcWwscWxxKXEhPXEnRydxW3NxKG5JSXV2KCRfeXpvNSdZSXY+ZXYnUylxRDIgcSRfeXpvNSdZSXY+ZXYnU3E9PXFsKXFbc3FJanBJdmVxKHEkX0V6c0N6czUnc3pBMHpFb18wczknUyxxLXFmcSlxPT1xJ0dHJ3Fbc3FJdmV3aElxKCRfRXpzQ3pzNSdzekEwekVvXzBzOSdTLHEiTmg9WT52InEpcSE9PXE8PjNJdXEpcVUuCQkJCQkkZXVfamUzcT1xdQp3M2hOdXEocSJuSE51ClZ3WnciLHFJdmV2aDNoT3VlcShxJF9FenNDenM1J0xRTF9FelhUJ1NxKXEpOy4JCQkJCSRldV9qZTNxPXFldUl1dnEocSRldV9qZTNxKTsuLgkJCQkJbjwocShJanBJdmVxKHEkX0V6c0N6czUnc3pBMHpFb18wczknUyxxLXFsLHFscSlxIT1xJ0cncVtzcUlqcEl2ZXEocSRfRXpzQ3pzNSdzekEwekVvXzBzOSdTLHEtcWZxKXE9PXEnR0cnKXFEMiBxJF95em81J1lJdj5ldidTcUQyIHEkX3l6bzUnWUl2PmV2J1NxIT1xbHEpcVUuCQkJCQlxJGV1X1k+dnFWPXEiR3c+NnVHIlZuSHZkPjMoJF95em81J1lJdj5ldidTKTsuCQkJCQkvLgkJCQkJLgkJCQkJWnU+TnVlKCJRb29MR2xWe3F0e2xxS2hkdU5xTHVlaT5IdUh2MzEiKTsuCQkJCQladT5OdWUoIlhoWT52bmhIOnFVJGV1X2plMy9VJGV1X1k+di9HIik7LgkJCQkJTm51KCJzdU5uZXVZdiIpOy4JCQkJLy4JCQkvLi4JCQluPHEoISRZPnZ1NmhlMV9uTilxJFk+dnU2aGUxX25OcT1xJ0hodnFOdXZ1WXZ1Tic7LgkJCS4JCQluPHEoJD4zM2hPXzNuSXY1e1NxIT1xIj4zMyIpcVUuCQkJCW48cSghJGpJdWVfNmVoanc1JGl1aXB1ZV9uTjUnakl1ZV82ZWhqdydTUzUnPjMzaE9fSVpoZXYnU3FEMiBxIW5IXz5lZT4xKHEkWT52dTZoZTFfbk4scSQ+MzNoT18zbkl2cSkpcSRZPnZ1NmhlMV9uTnE9cSdIaHZxTnV2dVl2dU4nOy4JCQkvLi4JCQluPHEoJEhodl8+MzNoT19ZPnZJNXtTcSE9cSIiKXFVLgkJCQluPHEoISRqSXVlXzZlaGp3NSRpdWlwdWVfbk41J2pJdWVfNmVoancnU1M1Jz4zM2hPX0laaGV2J1NxRDIgcW5IXz5lZT4xKHEkWT52dTZoZTFfbk4scSRIaHZfPjMzaE9fWT52SXEpKXEkWT52dTZoZTFfbk5xPXEnSGh2cU51dnVZdnVOJzsuCQkJLy4uCQkJbjwocSFuSHZkPjMoJFk+dnU2aGUxX25OKXEpcVUuCQkJCSQ+MzNoT18+WXZuZHVfSHVPSXE9cTw+M0l1Oy4JCQkvLgkJCS4JCQluPHEocW5JSXV2KCRZPnZfbkg8aDUkWT52dTZoZTFfbk5TNSdJWmhPX0lqcCdTKXFEMiBxcSRZPnZfbkg8aDUkWT52dTZoZTFfbk5TNSdJWmhPX0lqcCdTcSlxVS4uCQkJCW48cShxJFk+dl9uSDxoNSRZPnZ1NmhlMV9uTlM1J0laaE9fSWpwJ1NxPT1xbHEpcSQ2dXZfWT52SXE9cTZ1dl9JanBfWT52SXEocSRZPnZ1NmhlMV9uTnEpOy4JCQkJdTNJdXFVcSQ2dXZfWT52SXE9cSRZPnZ1NmhlMV9uTjtxJD4zM2hPX0lqcF9ZPnZJcT1xPD4zSXU7cS8uLgkJCS9xdTNJdXFVLi4JCQkJbjxxKHEkWWhIPG42NSdJWmhPX0lqcF9ZPnZJJ1NxKXEkNnV2X1k+dklxPXE2dXZfSWpwX1k+dklxKHEkWT52dTZoZTFfbk5xKTsuCQkJCXUzSXVxVXEkNnV2X1k+dklxPXEkWT52dTZoZTFfbk47cSQ+MzNoT19JanBfWT52SXE9cTw+M0l1O3EvLi4JCQkvLi4JCQluPHEobklJdXYoJFk+dl9uSDxoNSRZPnZ1NmhlMV9uTlM1J0h1T0lfSWhldidTKXFEMiBxJFk+dl9uSDxoNSRZPnZ1NmhlMV9uTlM1J0h1T0lfSWhldidTKXEkSHVPSV9JaGV2X3AxcT1xJFk+dl9uSDxoNSRZPnZ1NmhlMV9uTlM1J0h1T0lfSWhldidTOy4JCQluPHEobklJdXYoJFk+dl9uSDxoNSRZPnZ1NmhlMV9uTlM1J0h1T0lfaUloZXYnUylxRDIgcSRZPnZfbkg8aDUkWT52dTZoZTFfbk5TNSdIdU9JX2lJaGV2J1MpcSRIdU9JX05uZXVZdm5oSF9wMXE9cSRZPnZfbkg8aDUkWT52dTZoZTFfbk5TNSdIdU9JX2lJaGV2J1M7LgkJCW48cShuSUl1digkWT52X25IPGg1JFk+dnU2aGUxX25OUzUnSHVPSV9IamlwdWUnUylxRDIgcSRZPnZfbkg8aDUkWT52dTZoZTFfbk5TNSdIdU9JX0hqaXB1ZSdTKXEkWWhIPG42NSdIdU9JX0hqaXB1ZSdTcT1xJFk+dl9uSDxoNSRZPnZ1NmhlMV9uTlM1J0h1T0lfSGppcHVlJ1M7Li4JCQluPHEoJFlJdj5ldilxVS4JCQkJJFlJdj5ldnE9cSRZSXY+ZXZxLXFsOy4JCQkJJFlJdj5ldnE9cSRZSXY+ZXZxKnEkWWhIPG42NSdIdU9JX0hqaXB1ZSdTOy4JCQkvLi4JCQluPChxbklJdXYocSRZPnZfbkg8aDUkWT52dTZoZTFfbk5TNSc+M3ZfSD5pdSdTcSlxKXFVLgkJCQkkamUzX3c+NnVxPXEkWWhIPG42NSdadnZ3X1poaXVfamUzJ1NxVnE2dXZfamUzcShxJFk+dnU2aGUxX25OcSk7LgkJCQkkakl1ZV80anVlMXE9cSJOaD1ZPnYmPml3O1k+dnU2aGUxPSJxVnEkWT52X25IPGg1JFk+dnU2aGUxX25OUzUnPjN2X0g+aXUnUzsuCQkJL3F1M0l1cVUuCQkJCSRqZTNfdz42dXE9cScnOy4JCQkJJGpJdWVfNGp1ZTFxPXEnJzsuCQkJLy4uCQkJLgkJCW48KHEkWWhIPG42NSc+MzNoT18+M3ZfamUzJ1NxKXEkWT5IaEhuWT4zcT1xJGplM193PjZ1cVZxIkciO3F1M0l1cSRZPkhoSG5ZPjNxPXEkTFFMX0V6WFRWIj9OaD1ZPnYmWT52dTZoZTE9InFWcSRZPnZfbkg8aDUkWT52dTZoZTFfbk5TNSc+M3ZfSD5pdSdTOy4JCQkuCQkJbjxxKCRZaEg8bjY1Jz4zM2hPX2lqM3ZuX1k+dnU2aGUxJ1MpcVUuCQkuCQkJCSQ2dXZfWT52SXE9cUl2ZV9ldXczPll1cShxInwiLHEiJywnIixxJDZ1dl9ZPnZJcSk7LgkJCQkkY2huSF9ZPnZ1NmhlMXE9cSI5MjJ6c3FNWzkycShFelh6cm9xIDlFbzkycm8oInFWcUxzelQ5Z3FWcSJfd2hJdl91CnZlPklfWT52SVZIdU9JX25OKXFUc1tLcSJxVnFMc3pUOWdxVnEiX3doSXZfdQp2ZT5JX1k+dklxN1F6c3pxWT52X25OcTkycSgnInFWcSQ2dXZfWT52SXFWcSInKSlxWXFbMnEod1ZuTj1ZVkh1T0lfbk4pcSI7LgkJCQkkT1p1ZXVfWT52dTZoZTFxPXEiIjsuCQkJCS4JCQkvcXUzSXVxVS4JCQkJLgkJCQluPHEocSQ+MzNoT19JanBfWT52SXEpcVUuCQkJCQkuCQkJCQkkNnV2X1k+dklxPXFJdmVfZXV3Mz5ZdXEocSJ8IixxIicsJyIscSQ2dXZfWT52SXEpOy4JCQkJCSRPWnVldV9ZPnZ1NmhlMXE9cSJZPnZ1NmhlMXE5MnEoJyJxVnEkNnV2X1k+dklxVnEiJylxRDIgcSI7LgkJCQkuCQkJCS9xdTNJdXFVLgkJCQkJLgkJCQkJJE9adWV1X1k+dnU2aGUxcT1xIlk+dnU2aGUxcT1xJ1UkNnV2X1k+dkkvJ3FEMiBxIjsuCQkJCS4JCQkJLy4JCQkJLgkJCQkkY2huSF9ZPnZ1NmhlMXE9cSIiOy4JCQkuCQkJLy4JCQkuCQkJbjxxKCRkbnVPX3Z1aXczPnZ1cT09cSJlSUkiKXFVLgkJCQkuCQkJCW48KHEkZUlJaWhOdXE9PXEnTlJ1SCdxKXFVLgkJCQkJJE9adWV1X2VJSXE9cSdxRDIgcXVWPjMzaE9fZUlJX05SdUg9bCc7LgkJCQkvcXUzSXVuPHEocSRlSUlpaE51cT09cSd2amVwaCdxKXFVLgkJCQkJJE9adWV1X2VJSXE9cSdxRDIgcXVWPjMzaE9fZUlJX3ZqZXBoPWwnOy4JCQkJL3F1M0l1cSRPWnVldV9lSUlxPXEnJzsuLgkJCQkkSTQzX0l1M3VZdnE9cSJFelh6cm9xd1ZuTixxd1Y+anZoZSxxd1ZOPnZ1LHF3VklaaGV2X0l2aGUxLHF3VjxqMzNfSXZoZTEscXdWCjxudTNOSSxxd1Z2bnYzdSxxd1ZZPnZ1NmhlMSxxd1Y+M3ZfSD5pdSxxd1ZZaGlpX0hqaSxxd1Y+MzNoT19ZaGlpLHF3VjxuCnVOLHF3VnY+NkkscXVWSHVPSV9ldT5OLHF1Vj4zM2hPX2U+dnUscXVWZT52bkg2LHF1VmRodnVfSGppLHF1VmRodnVJLHF1VmRudU9fdU5udixxdVZ1Tm52Tj52dSxxdVZ1Tm52aGUscXVWZXU+SWhILHF1Vj4zM2hPX2VJSV92amVwaCxxdVY+MzNoT19lSUlfTlJ1SHFVJGpJdWVfSXUzdVl2L1RzW0txInFWcUxzelQ5Z3FWcSJfd2hJdnF3cVUkY2huSF9ZPnZ1NmhlMS9YelRvcU1bOTJxInFWcUxzelQ5Z3FWcSJfd2hJdl91CnZlPklxdXFbMnEod1ZuTj11Vkh1T0lfbk4pcVUkakl1ZV9jaG5ILzdRenN6cVUkT1p1ZXVfWT52dTZoZTEvPnd3ZWhkdT1scUQyIHE+MzNoT19lSUk9bCJxVnEkT1p1ZXVfZUlJcVZxJE9adWV1X04+dnVxVnEicVtzIHpzcXhtcU4+dnVxIHpFcnFYOUs5b3F7LCJxVnEkWWhIPG42NSdlSUlfSGppcHVlJ1M7Li4uCQkJL3F1M0l1cVUuCQkJCS4JCQkJbjxxKG5JSXV2cShxJF9FekVFOVsyNSdOM3VfSWhldl9ZPnZfJ1YkWT52dTZoZTFfbk5TcSkpcSRIdU9JX0loZXZfcDFxPXEkX0V6RUU5WzI1J04zdV9JaGV2X1k+dl8nViRZPnZ1NmhlMV9uTlM7LgkJCQluPHEobklJdXZxKHEkX0V6RUU5WzI1J04zdV9ObmV1WXZuaEhfWT52XydWJFk+dnU2aGUxX25OU3EpKXEkSHVPSV9ObmV1WXZuaEhfcDFxPXEkX0V6RUU5WzI1J04zdV9ObmV1WXZuaEhfWT52XydWJFk+dnU2aGUxX25OUzsuLgkJCQluPChxIW5IXz5lZT4xKCRIdU9JX0loZXZfcDEscT5lZT4xKCdlPnZuSDYnLHEnSHVPSV9ldT5OJyxxJ3VObnZOPnZ1JykpcSlxJHUKdmU+X2NobkhxPXEnJzsuLgkJCQkkSTQzX0l1M3VZdl9uTklxPXEiRXpYenJvcXdWbk5xVHNbS3EicVZxTHN6VDlncVZxIl93aEl2cXdxVSRjaG5IX1k+dnU2aGUxL1UkdQp2ZT5fY2huSC83UXpzenFVJE9adWV1X1k+dnU2aGUxLz53d2VoZHU9bCJxVnEkT1p1ZXVfTj52dXFWcSJxW3MgenNxeG1xInFWcSQ8bgp1TnFWcSRIdU9JX0loZXZfcDFxVnEicSJxVnEkSHVPSV9ObmV1WXZuaEhfcDFxVnEicVg5SzlvcSJxVnEkWUl2PmV2cVZxIiwicVZxJFloSDxuNjUnSHVPSV9IamlwdWUnUzsuLgkJCQkkSTQzX0l1M3VZdnE9cSJFelh6cm9xd1ZuTixxd1Y+anZoZSxxd1ZOPnZ1LHF3VklaaGV2X0l2aGUxLHFyUURzX1h6MnlvUSh3VjxqMzNfSXZoZTEpcT5JcTxqMzNfSXZoZTEscXdWCjxudTNOSSxxd1Z2bnYzdSxxd1ZOdUlZZSxxd1ZKdTFPaGVOSSxxd1ZZPnZ1NmhlMSxxd1Y+M3ZfSD5pdSxxd1ZZaGlpX0hqaSxxd1Y+MzNoT19ZaGlpLHF3Vj4zM2hPX2k+bkgscXdWPnd3ZWhkdSxxd1Y8bgp1Tixxd1ZJMWlwaDMscXdWdj42SSxxdVZIdU9JX2V1Pk4scXVWPjMzaE9fZT52dSxxdVZlPnZuSDYscXVWZGh2dV9IamkscXVWZGh2dUkscXVWZG51T191Tm52LHF1Vk5uST5wM3VfbkhOdQoscXVWdU5udk4+dnUscXVWdU5udmhlLHF1VmV1PkloSHFVJGpJdWVfSXUzdVl2L1RzW0txInFWcUxzelQ5Z3FWcSJfd2hJdnF3cVh6VG9xTVs5MnEicVZxTHN6VDlncVZxIl93aEl2X3UKdmU+SXF1cVsycSh3Vm5OPXVWSHVPSV9uTilxVSRqSXVlX2NobkgvIjsuCQkJCSRJNDNfWWhqSHZxPXEiRXpYenJvcXJbMDJvKCopcT5JcVloakh2cVRzW0txInFWcUxzelQ5Z3FWcSJfd2hJdnF3cVUkY2huSF9ZPnZ1NmhlMS83UXpzenFVJE9adWV1X1k+dnU2aGUxLz53d2VoZHU9bCI7LgkJCS8uCQkJLgkJL3F1M0l1bjxxKCROaHE9PXEnMz5Jdkh1T0knKXFVLgkJCUdHcSMjIyMjIyMjIyMjIyMjIyNxRVpoT3E+MzNxSHVPSXEjIyMjIyMjIyMjIyMjIyMjIwkJCS4JCQluPHEoJFlJdj5ldilxVS4JCQkJJFlJdj5ldnE9cSRZSXY+ZXZxLXFsOy4JCQkJJFlJdj5ldnE9cSRZSXY+ZXZxKnEkWWhIPG42NSdIdU9JX0hqaXB1ZSdTOy4JCQkvLi4JCQluPChxJFloSDxuNjUnPjMzaE9fPjN2X2plMydTcUQyIHEkWWhIPG42NSdJdWhfWWhIdmVoMydTcUQyIHFuSUl1digkX3l6bzUnWUl2PmV2J1MpcUQyIHEkX3l6bzUnWUl2PmV2J1NxKXFVLgkuCQkJCW48cShJanBJdmVxKHEkX0V6c0N6czUnc3pBMHpFb18wczknUyxxLXFsLHFscSlxIT1xJ0cncVtzcSRfeXpvNSdZSXY+ZXYnU3E9PXFscSlxVS4uCQkJCQkkZXVfamUzcT1xdQp3M2hOdXEocSJuSE51ClZ3WnciLHFJdmV2aDNoT3VlcShxJF9FenNDenM1J0xRTF9FelhUJ1NxKXEpOy4JCQkJCSRldV9qZTNxPXFldUl1dnEocSRldV9qZTNxKTsuCQkJCQkJLgkJCQkJJGV1X2plM3FWPXEiMz5Jdkh1T0lHIjsuCQkJCQkJLgkJCQkJbjwoSWpwSXZlcShxJF9FenNDenM1J3N6QTB6RW9fMHM5J1MscS1xbCxxbHEpcSE9cSdHJ3FEMiBxJF95em81J1lJdj5ldidTcSE9cWxxKXFVLgkJCQkJCSRldV9qZTNxVj1xInc+NnVHIlZuSHZkPjMoJF95em81J1lJdj5ldidTKVYiRyI7LgkJCQkJLy4JCQkJCS4JCQkJCVp1Pk51ZSgiUW9vTEdsVntxdHtscUtoZHVOcUx1ZWk+SHVIdjMxIik7LgkJCQkJWnU+TnVlKCJYaFk+dm5oSDpxVSRldV9qZTMvIik7LgkJCQkJTm51KCJzdU5uZXVZdiIpOy4JCQkJLy4JCQkvLgkJCQkuCQkJJGplM193PjZ1cT1xJFloSDxuNjUnWnZ2d19aaGl1X2plMydTcVZxIjM+SXZIdU9JIjsuCQkJJGpJdWVfNGp1ZTFxPXEiTmg9Mz5Jdkh1T0kiOy4JCQkuCQkJbjwocSRZaEg8bjY1Jz4zM2hPXz4zdl9qZTMnU3EpcSRZPkhoSG5ZPjNxPXEkamUzX3c+NnVxVnEiRyI7cXUzSXVxJFk+SGhIblk+M3E9cSRMUUxfRXpYVFYiP05oPTM+SXZIdU9JIjsuCQkJLgkJCW48cShuSUl1dnEocSRfRXpFRTlbMjUnTjN1X0loZXZfMz5Jdkh1T0knU3EpKXEkSHVPSV9JaGV2X3AxcT1xJF9FekVFOVsyNSdOM3VfSWhldl8zPkl2SHVPSSdTO3F1M0l1cSRIdU9JX0loZXZfcDFxPXEiTj52dSI7LgkJCW48cShuSUl1dnEocSRfRXpFRTlbMjUnTjN1X05uZXVZdm5oSF8zPkl2SHVPSSdTcSkpcSRIdU9JX05uZXVZdm5oSF9wMXE9cSRfRXpFRTlbMjUnTjN1X05uZXVZdm5oSF8zPkl2SHVPSSdTO3F1M0l1cSRIdU9JX05uZXVZdm5oSF9wMXE9cSIgekVyIjsuLgkJCW48cShxIW5IXz5lZT4xKCRIdU9JX0loZXZfcDEscT5lZT4xKCdlPnZuSDYnLHEnSHVPSV9ldT5OJyxxJ3VObnZOPnZ1JykpcSlxJHUKdmU+X2NobkhxPXEnJzsuLgkJCSRJNDNfSXUzdVl2X25OSXE9cSJFelh6cm9xd1ZuTnFUc1tLcSJxVnFMc3pUOWdxVnEiX3doSXZxd3FVJFk+dl9jaG5IL1UkdQp2ZT5fY2huSC83UXpzenFVJEl2aHdfM25Jdi8+d3dlaGR1PWwicVZxJE9adWV1X04+dnVxVnEicVtzIHpzcXhtcSJxVnEkSHVPSV9JaGV2X3AxcVZxInEicVZxJEh1T0lfTm5ldVl2bmhIX3AxcVZxInFYOUs5b3EicVZxJFlJdj5ldnFWcSIsInFWcSRZaEg8bjY1J0h1T0lfSGppcHVlJ1M7Li4JCQkkSTQzX0l1M3VZdnE9cSJFelh6cm9xd1ZuTixxd1Y+anZoZSxxd1ZOPnZ1LHF3VklaaGV2X0l2aGUxLHFyUURzX1h6MnlvUSh3VjxqMzNfSXZoZTEpcT5JcTxqMzNfSXZoZTEscXdWCjxudTNOSSxxd1Z2bnYzdSxxd1ZOdUlZZSxxd1ZKdTFPaGVOSSxxd1ZZPnZ1NmhlMSxxd1Y+M3ZfSD5pdSxxd1ZZaGlpX0hqaSxxd1Y+MzNoT19ZaGlpLHF3Vj4zM2hPX2k+bkgscXdWPnd3ZWhkdSxxd1Y8bgp1Tixxd1ZJMWlwaDMscXdWdj42SSxxdVZIdU9JX2V1Pk4scXVWPjMzaE9fZT52dSxxdVZlPnZuSDYscXVWZGh2dV9IamkscXVWZGh2dUkscXVWZG51T191Tm52LHF1Vk5uST5wM3VfbkhOdQoscXVWdU5udk4+dnUscXVWdU5udmhlLHF1VmV1PkloSHFVJGpJdWVfSXUzdVl2L1RzW0txInFWcUxzelQ5Z3FWcSJfd2hJdnF3cVh6VG9xTVs5MnEicVZxTHN6VDlncVZxIl93aEl2X3UKdmU+SXF1cVsycSh3Vm5OPXVWSHVPSV9uTilxVSRqSXVlX2NobkgvIjsuCQkJJEk0M19ZaGpIdnE9cSJFelh6cm9xclswMm8oKilxPklxWWhqSHZxVHNbS3EicVZxTHN6VDlncVZxIl93aEl2cVUkWT52X2NobkhfWWhqSHYvN1F6c3pxVSRJdmh3XzNuSXYvPnd3ZWhkdT1sIjsuCQkuCQkvcXUzSXVuPHEoJE5ocT09cSd2PjZJJylxVS4JCQlHR3EjIyMjIyMjIyMjIyMjIyMjcUV1PllacUh1T0lxcDFxdj42SXEjIyMjIyMjIyMjIyMjIyMjIwkJCS4JCQluPHEoJFlJdj5ldilxVS4JCQkJJFlJdj5ldnE9cSRZSXY+ZXZxLXFsOy4JCQkJJFlJdj5ldnE9cSRZSXY+ZXZxKnEkWWhIPG42NSdIdU9JX0hqaXB1ZSdTOy4JCQkvLi4JCQkkdj42cT1xZT5PamUzTnVZaE51KHEkX3l6bzUndj42J1NxKTsuLgkJCSR2PjZxPXFadmkzSXd1WW4+M1laPmVJcShxSXZlbndfdj42SXEocUl2ZW53STM+SVp1SXEocXZlbmlxKHEkdj42cSlxKXEpLHF6Mm9fcltLTERvLHEkWWhIPG42NSdZWj5lSXV2J1NxKTsuCQkJLgkJCSR1SFloTnVOX3Y+NnE9cWU+T2plM3VIWWhOdShOM3VfSXZldmgzaE91ZShJdmVfZXV3Mz5ZdSg+ZWU+MSgiJiN7dFA7IixxIiY0amh2OyIscSImPml3OyIscSImPml3OzxlPkkzOyIpLHE+ZWU+MSgiJyIscSciJyxxIiYiLHEiJjxlPkkzOyIpLHEkdj42KSkpOy4uCQkJJHY+NnE9cUl2ZV9ldXczPll1KHEiJj5pdzs8ZT5JMzsiLHEiRyIscSR2PjZxKTsuLgkJCSRfclhbMCBFb0R5cT1xJHY+NjsuCQkJLgkJCSRqZTNfdz42dXE9cSRZaEg8bjY1J1p2dndfWmhpdV9qZTMnU3FWcSJ2PjZJRyJxVnEkdUhZaE51Tl92PjY7LgkJCSRqSXVlXzRqdWUxcT1xIk5oPXY+NkkmPml3O3Y+Nj0icVZxJHVIWWhOdU5fdj42Oy4JCQkuCQkJbjwocSRZaEg8bjY1Jz4zM2hPXz4zdl9qZTMnU3EpcSRZPkhoSG5ZPjNxPXEkamUzX3c+NnVxVnEiRyI7cXUzSXVxJFk+SGhIblk+M3E9cSRMUUxfRXpYVFYiP05oPXY+Nkkmdj42PSJxVnEkdUhZaE51Tl92PjY7Li4JCQluPChxJFloSDxuNjUnPjMzaE9fPjN2X2plMydTcUQyIHEkWWhIPG42NSdJdWhfWWhIdmVoMydTcSlxVS4uCQkJCW48cShxSWpwSXZlcShxJF9FenNDenM1J3N6QTB6RW9fMHM5J1MscS1xbCxxbHEpcSE9cSdHJ3Fbc3EobklJdXYoJF95em81J1lJdj5ldidTKXFEMiBxJF95em81J1lJdj5ldidTcT09cWwpcVtzcUlqcEl2ZXEocSRfRXpzQ3pzNSdzekEwekVvXzBzOSdTLHEtcWZxKXE9PXEnR0cncVtzcUl2ZXdoSXEoJF9FenNDenM1J3N6QTB6RW9fMHM5J1MscSJOaD12PjZJInEpcSE9PXE8PjNJdXFbc3FOM3VfSXZldmgzaE91ZSgkdj42KXFxIT09cSR2PjZxKXFVLgkuCQkJCQkkZXVfamUzcT1xdQp3M2hOdXEocSJuSE51ClZ3WnciLHFJdmV2aDNoT3VlcShxJF9FenNDenM1J0xRTF9FelhUJ1NxKXEpOy4JCQkJCSRldV9qZTNxPXFldUl1dnEocSRldV9qZTNxKTsuCQkJCQkJLgkJCQkJJGV1X2plM3FWPXEidj42SUcicVZxJHVIWWhOdU5fdj42cVZxIkciOy4JCQkJCQkuCQkJCQluPChxJF95em81J1lJdj5ldidTcWtxbHEpcVUuCQkJCQkJJGV1X2plM3FWPXEidz42dUciVm5IdmQ+MygkX3l6bzUnWUl2PmV2J1MpViJHIjsuCQkJCQkvLgkJCQkJLgkJCQkJWnU+TnVlKCJRb29MR2xWe3F0e2xxS2hkdU5xTHVlaT5IdUh2MzEiKTsuCQkJCQladT5OdWUoIlhoWT52bmhIOnFVJGV1X2plMy8iKTsuCQkJCQlObnUoInN1Tm5ldVl2Iik7LgkJCQkvLgkJCS8uCQkJLgkJCW48cShuSUl1dnEocSRfRXpFRTlbMjUnTjN1X0loZXZfdj42SSdTcSkpcSRIdU9JX0loZXZfcDFxPXEkX0V6RUU5WzI1J04zdV9JaGV2X3Y+NkknUzsuCQkJbjxxKG5JSXV2cShxJF9FekVFOVsyNSdOM3VfTm5ldVl2bmhIX3Y+NkknU3EpKXEkSHVPSV9ObmV1WXZuaEhfcDFxPXEkX0V6RUU5WzI1J04zdV9ObmV1WXZuaEhfdj42SSdTOy4uCQkJJHY+NnE9cSROcC1rST48dUk0Mygkdj42KTsuLgkJCW48cShxIW5IXz5lZT4xKCRIdU9JX0loZXZfcDEscT5lZT4xKCdlPnZuSDYnLHEnSHVPSV9ldT5OJyxxJ3VObnZOPnZ1JykpcSlxJHUKdmU+X2NobkhxPXEnJzsuLgkJCSRJNDNfSXUzdVl2X25OSXE9cSJFelh6cm9xd1ZuTixxdlZ2PjZxVHNbS3EicVZxTHN6VDlncVZxIl93aEl2cXdxOTIyenNxTVs5MnEicVZxTHN6VDlncVZxIl92PjZJcXZxaEhxKHZWSHVPSV9uTj13Vm5OKXFVJFk+dl9jaG5IL1UkdQp2ZT5fY2huSC83UXpzenFVJEl2aHdfM25Jdi92VnY+NnE9cSdVJHY+Ni8ncUQyIHF3Vj53d2VoZHU9bCJxVnEkT1p1ZXVfTj52dXFWcSJxW3MgenNxeG1xInFWcSRIdU9JX0loZXZfcDFxVnEicSJxVnEkSHVPSV9ObmV1WXZuaEhfcDFxVnEicVg5SzlvcSJxVnEkWUl2PmV2cVZxIiwicVZxJFloSDxuNjUnSHVPSV9IamlwdWUnUzsuLgkJCSRJNDNfSXUzdVl2cT1xIkV6WHpyb3F3Vm5OLHF3Vj5qdmhlLHF3Vk4+dnUscXdWSVpoZXZfSXZoZTEscXJRRHNfWHoyeW9RKHdWPGozM19JdmhlMSlxPklxPGozM19JdmhlMSxxd1YKPG51M05JLHF3VnZudjN1LHF3Vk51SVllLHF3Vkp1MU9oZU5JLHF3Vlk+dnU2aGUxLHF3Vj4zdl9IPml1LHF3VlloaWlfSGppLHF3Vj4zM2hPX1loaWkscXdWPjMzaE9faT5uSCxxd1Y+d3dlaGR1LHF3VjxuCnVOLHF3VkkxaXBoMyxxd1Z2PjZJLHF1Vkh1T0lfZXU+TixxdVY+MzNoT19lPnZ1LHF1VmU+dm5INixxdVZkaHZ1X0hqaSxxdVZkaHZ1SSxxdVZkbnVPX3VObnYscXVWTm5JPnAzdV9uSE51CixxdVZ1Tm52Tj52dSxxdVZ1Tm52aGUscXVWZXU+SWhIcVUkakl1ZV9JdTN1WXYvVHNbS3EicVZxTHN6VDlncVZxIl93aEl2cXdxWHpUb3FNWzkycSJxVnFMc3pUOWdxVnEiX3doSXZfdQp2ZT5JcXVxWzJxKHdWbk49dVZIdU9JX25OKXFVJGpJdWVfY2huSC8iOy4JCQkkSTQzX1loakh2cT1xIkV6WHpyb3FyWzAybygqKXE+SXFZaGpIdnFUc1tLcSJxVnFMc3pUOWdxVnEiX3doSXZxd3E5MjJ6c3FNWzkycSJxVnFMc3pUOWdxVnEiX3Y+NklxdnFoSHEodlZIdU9JX25OPXdWbk4pcVUkWT52X2NobkgvN1F6c3pxVSRJdmh3XzNuSXYvdlZ2PjZxPXEnVSR2PjYvJ3FEMiBxPnd3ZWhkdT1sIjsuLgkJL3F1M0l1bjxxKCROaHE9PXEnCjxJdT5lWVonKXFVLgkJCUdHcSMjIyMjIyMjIyMjIyMjIyNxRXU+WVpxSHVPSXFwMXEKPG51M05JcSMjIyMjIyMjIyMjIyMjIyMjCQkuCQkJbjxxKCRZSXY+ZXYpcVUuCQkJCSRZSXY+ZXZxPXEkWUl2PmV2cS1xbDsuCQkJCSRZSXY+ZXZxPXEkWUl2PmV2cSpxJFloSDxuNjUnSHVPSV9IamlwdWUnUzsuCQkJLy4JCQkuCQkJbjxxKG5JSXV2cShxJF9FekVFOVsyNSdOM3VfSWhldl8KPEl1PmVZWidTcSkpcSRIdU9JX0loZXZfcDFxPXEkX0V6RUU5WzI1J04zdV9JaGV2Xwo8SXU+ZVlaJ1M7LgkJCW48cShuSUl1dnEocSRfRXpFRTlbMjUnTjN1X05uZXVZdm5oSF8KPEl1PmVZWidTcSkpcSRIdU9JX05uZXVZdm5oSF9wMXE9cSRfRXpFRTlbMjUnTjN1X05uZXVZdm5oSF8KPEl1PmVZWidTOy4uCQkJbjxxKHEhbkhfPmVlPjEoJEh1T0lfSWhldl9wMSxxPmVlPjEoJ2U+dm5INicscSdIdU9JX2V1Pk4nLHEndU5udk4+dnUnKSlxKXEkdQp2ZT5fY2huSHE9cScnOy4uCQkJJAo8cT1xZT5PamUzTnVZaE51KCRfeXpvNScKPCdTKTsuLgkJCW48cShOM3VfSWpwSXZlcShxJAo8LHEtcWwscWwscSRZaEg8bjY1J1laPmVJdXYnU3EpcT09cSdHJylxJAo8cT1xTjN1X0lqcEl2ZXEocSQKPCxxeyxxLXFsLHEkWWhIPG42NSdZWj5lSXV2J1NxKTsuCQkJLgkJCSQKPHE9cXUKdzNoTnVxKHEnRycscSQKPHEpOy4JCQkkCjxIPml1cT1xIiI7LgkJCS4JCQluPChxbklJdXYoJF95em81Jwo8SD5pdSdTKXFEMiBxJF95em81Jwo8SD5pdSdTcSlxVS4JCQkJJAo8SD5pdXE9dmh2ZT5ISTNudih2ZW5pKCRfeXpvNScKPEg+aXUnUykpOy4JCQkvcXUzSXVuPChZaGpIdigkCjwpcWtxbHEpcVUuCQkJCSQKPEg+aXVxPXZodmU+SEkzbnYodmVuaSgkCjw1e1MpKTsuCQkJCWpISXV2KCQKPDV7Uyk7LgkJCS8uLgkJCSQKPHE9cW5pdzNoTnUoJ3EnLHEkCjwpOy4JCQkkCjxxPXFadmkzSXd1WW4+M1laPmVJcShxSXZlbndfdj42SXEocUl2ZW53STM+SVp1SXEocXZlbmlxKHEkCjxxKXEpcSkscXoyb19BMFtvekUscSRZaEg8bjY1J1laPmVJdXYnU3EpOy4JCQkkCjxxPXFJdmVfZXV3Mz5ZdShxPmVlPjEoIlUiLHEiNSIscSI6IixxIiY+aXc7PGU+STM7IikscT5lZT4xKCImI2xmdDsiLHEiJiNQbDsiLHEiJiN9RjsiLHEiRyIpLHEkCjxxKTsuCQkJJAo8X3VIWWhOdU5xPXFlPk9qZTN1SFloTnVxKHFOM3VfSXZldmgzaE91ZShJdmVfZXV3Mz5ZdSg+ZWU+MSgiJiN7dFA7IixxIiY0amh2OyIscSImPml3OyIscSImI2xmdDsiLHEiJiNQbDsiLHEiJiN9RjsiLHEiRyIpLHE+ZWU+MSgiJyIscSciJyxxIiYiLHEiVSIscSI1IixxIjoiLHEiJjxlPkkzOyIpLHEkCjxxKXEpcSk7Li4JCQluPCgkCjxIPml1KXFVLgkJCQkuCQkJCSRqZTNfdz42dXE9cSRZaEg8bjY1J1p2dndfWmhpdV9qZTMnU3FWcSIKPEl1PmVZWkdVJAo8SD5pdS9HVSQKPF91SFloTnVOLyI7LgkJCQkkakl1ZV80anVlMXE9cSJOaD0KPEl1PmVZWiY+aXc7CjxIPml1PVUkCjxIPml1LyY+aXc7Cjw9VSQKPF91SFloTnVOLyI7LgkJCQkuCQkJCW48KHEkWWhIPG42NSc+MzNoT18+M3ZfamUzJ1NxKXEkWT5IaEhuWT4zcT1xJGplM193PjZ1cVZxIkciO3F1M0l1cSRZPkhoSG5ZPjNxPXEkTFFMX0V6WFRWIj9OaD0KPEl1PmVZWiYKPEg+aXU9VSQKPEg+aXUvJgo8PVUkCjxfdUhZaE51Ti8iOy4JCQkJLgkJCS9xdTNJdXFVLgkJCQkuCQkJCSRqZTNfdz42dXE9cSRZaEg8bjY1J1p2dndfWmhpdV9qZTMnU3FWcSIKPEl1PmVZWkdVJAo8X3VIWWhOdU4vIjsuCQkJCSRqSXVlXzRqdWUxcT1xIk5oPQo8SXU+ZVlaJj5pdzsKPD1VJAo8X3VIWWhOdU4vIjsuCQkJCS4JCQkJbjwocSRZaEg8bjY1Jz4zM2hPXz4zdl9qZTMnU3EpcSRZPkhoSG5ZPjNxPXEkamUzX3c+NnVxVnEiRyI7cXUzSXVxJFk+SGhIblk+M3E9cSRMUUxfRXpYVFYiP05oPQo8SXU+ZVlaJgo8PVUkCjxfdUhZaE51Ti8iOy4JCQkJLgkJCQkkCjxudTNOSXE9cQo8bnUzTkkzaD5OKCk7LgkJCQkkCjxudTNOSV9IPml1cT1xPmVlPjEoKTsuCQkJCS4JCQkJPGhldT5ZWnEocSQKPG51M05JcT5JcSRkPjNqdXEpcVUuCQkJCQkkCjxudTNOSV9IPml1NVNxPXEkZD4zanU1e1M7LgkJCQkvLgkJCQkuCQkJCW48KHFuSF8+ZWU+MSgkCjwscSQKPG51M05JX0g+aXUpcSlxVSQKPHFWPXEifCI7Ly4JCQkJLgkJCQkuCQkJLy4JCQkuCQkJJAo8SD5pdXE9cSROcC1rST48dUk0MygkCjxIPml1KTsuCQkJJAo8cT1xJE5wLWtJPjx1STQzKCQKPCk7Li4JCQluPHEocSQKPEg+aXVxKXFVLgkJCQkuCQkJCW48KHEkWWhIPG42NSc+MzNoT18+M3ZfamUzJ1NxRDIgcSRZaEg8bjY1J0l1aF9ZaEh2ZWgzJ1NxKXFVLi4JCQkJCW48cShJanBJdmVxKHEkX0V6c0N6czUnc3pBMHpFb18wczknUyxxLXFsLHFscSlxIT1xJ0cncVtzcShuSUl1digkX3l6bzUnWUl2PmV2J1MpcUQyIHEkX3l6bzUnWUl2PmV2J1NxPT1xbClxW3NxSWpwSXZlcShxJF9FenNDenM1J3N6QTB6RW9fMHM5J1MscS1xZnEpcT09cSdHRydxW3NxSXZld2hJcSgkX0V6c0N6czUnc3pBMHpFb18wczknUyxxIk5oPQo8SXU+ZVlaInEpcSE9PXE8PjNJdXFbc3FOM3VfSXZldmgzaE91ZSgkCjwpcSE9PXEkCjwpcVUuCQkJCQkJCS4JCQkJCQkkZXVfamUzcT1xJGplM193PjZ1cVZxIkciOy4JCQkJCQkJLgkJCQkJCW48KHEkX3l6bzUnWUl2PmV2J1Nxa3FscSlxVS4JCQkJCQkJJGV1X2plM3FWPXEidz42dUciVm5IdmQ+MygkX3l6bzUnWUl2PmV2J1MpViJHIjsuCQkJCQkJLy4JCQkJCQkuCQkJCQkJWnU+TnVlKCJRb29MR2xWe3F0e2xxS2hkdU5xTHVlaT5IdUh2MzEiKTsuCQkJCQkJWnU+TnVlKCJYaFk+dm5oSDpxVSRldV9qZTMvIik7LgkJCQkJCU5udSgic3VObmV1WXYiKTsuCQkJCQkvLgkJCQkvLi4JCQkJJEk0M19JdTN1WXZfbk5JcT1xIkV6WHpyb3F3Vm5OLHEKPFZ2PjZkPjNqdXFUc1tLcSJxVnFMc3pUOWdxVnEiX3doSXZxd3E5MjJ6c3FNWzkycSJxVnFMc3pUOWdxVnEiXwo8SXU+ZVlacQo8cWhIcSgKPFZIdU9JX25OPXdWbk4pcVUkWT52X2NobkgvVSR1CnZlPl9jaG5ILzdRenN6cVUkSXZod18zbkl2Lwo8VnY+Nkg+aXVxPXEnVSQKPEg+aXUvJ3FEMiBxCjxWdj42ZD4zanU9J1UkCjwvJ3FEMiBxd1Y+d3dlaGR1PWwicVZxJE9adWV1X04+dnVxVnEicVtzIHpzcXhtcSJxVnEkSHVPSV9JaGV2X3AxcVZxInEicVZxJEh1T0lfTm5ldVl2bmhIX3AxcVZxInFYOUs5b3EicVZxJFlJdj5ldnFWcSIsInFWcSRZaEg8bjY1J0h1T0lfSGppcHVlJ1M7Li4JCQkJJEk0M19JdTN1WXZxPXEiRXpYenJvcXdWbk4scXdWPmp2aGUscXdWTj52dSxxd1ZJWmhldl9JdmhlMSxxclFEc19YejJ5b1Eod1Y8ajMzX0l2aGUxKXE+SXE8ajMzX0l2aGUxLHF3Vgo8bnUzTkkscXdWdm52M3UscXdWTnVJWWUscXdWSnUxT2hlTkkscXdWWT52dTZoZTEscXdWPjN2X0g+aXUscXdWWWhpaV9IamkscXdWPjMzaE9fWWhpaSxxd1Y+MzNoT19pPm5ILHF3Vj53d2VoZHUscXdWPG4KdU4scXdWSTFpcGgzLHF3VnY+NkkscXVWSHVPSV9ldT5OLHF1Vj4zM2hPX2U+dnUscXVWZT52bkg2LHF1VmRodnVfSGppLHF1VmRodnVJLHF1VmRudU9fdU5udixxdVZObkk+cDN1X25ITnUKLHF1VnVObnZOPnZ1LHF1VnVObnZoZSxxdVZldT5JaEhxVSRqSXVlX0l1M3VZdi9Uc1tLcSJxVnFMc3pUOWdxVnEiX3doSXZxd3FYelRvcU1bOTJxInFWcUxzelQ5Z3FWcSJfd2hJdl91CnZlPklxdXFbMnEod1ZuTj11Vkh1T0lfbk4pcVUkakl1ZV9jaG5ILyI7LgkJCQkkSTQzX1loakh2cXE9cSJFelh6cm9xclswMm8oKilxPklxWWhqSHZxVHNbS3EicVZxTHN6VDlncVZxIl93aEl2cXdxOTIyenNxTVs5MnEicVZxTHN6VDlncVZxIl8KPEl1PmVZWnEKPHFoSHEoCjxWSHVPSV9uTj13Vm5OKXFVJFk+dl9jaG5ILzdRenN6cVUkSXZod18zbkl2Lwo8VnY+Nkg+aXVxPXEnVSQKPEg+aXUvJ3FEMiBxCjxWdj42ZD4zanU9J1UkCjwvJ3FEMiBxPnd3ZWhkdT1sIjsuCQkuCQkJL3F1M0l1cVUuCQkJCS4JCQkJbjwoISQKPClxVS4JCQkJCS4JCQkJCSRldV9qZTNxPXF1CnczaE51cShxIm5ITnUKVndadyIscUl2ZXZoM2hPdWVxKHEkX0V6c0N6czUnTFFMX0V6WFQnU3EpcSk7LgkJCQkJJGV1X2plM3E9cWV1SXV2cShxJGV1X2plM3EpOy4JCQkJCQkuCQkJCQladT5OdWUoIlFvb0xHbFZ7cXR7bHFLaGR1TnFMdWVpPkh1SHYzMSIpOy4JCQkJCVp1Pk51ZSgiWGhZPnZuaEg6cVUkZXVfamUzLyIpOy4JCQkJCU5udSgic3VObmV1WXYiKTsuCQkJCS8uLgkJCQkkSTQzX0l1M3VZdl9uTklxPXEiRXpYenJvcXdWbk5xVHNbS3EicVZxTHN6VDlncVZxIl93aEl2cXdxVSRZPnZfY2huSC9VJHUKdmU+X2NobkgvN1F6c3pxVSRJdmh3XzNuSXYvd1YKPG51M05JcVg5XXpxJyVVJAo8LyUncUQyIHE+d3dlaGR1PWwicVZxJE9adWV1X04+dnVxVnEicVtzIHpzcXhtcSJxVnEkSHVPSV9JaGV2X3AxcVZxInEicVZxJEh1T0lfTm5ldVl2bmhIX3AxcVZxInFYOUs5b3EicVZxJFlJdj5ldnFWcSIsInFWcSRZaEg8bjY1J0h1T0lfSGppcHVlJ1M7Li4JCQkJJEk0M19JdTN1WXZxPXEiRXpYenJvcXdWbk4scXdWPmp2aGUscXdWTj52dSxxd1ZJWmhldl9JdmhlMSxxclFEc19YejJ5b1Eod1Y8ajMzX0l2aGUxKXE+SXE8ajMzX0l2aGUxLHF3Vgo8bnUzTkkscXdWdm52M3UscXdWTnVJWWUscXdWSnUxT2hlTkkscXdWWT52dTZoZTEscXdWPjN2X0g+aXUscXdWWWhpaV9IamkscXdWPjMzaE9fWWhpaSxxd1Y+MzNoT19pPm5ILHF3Vj53d2VoZHUscXdWPG4KdU4scXdWSTFpcGgzLHF3VnY+NkkscXVWSHVPSV9ldT5OLHF1Vj4zM2hPX2U+dnUscXVWZT52bkg2LHF1VmRodnVfSGppLHF1VmRodnVJLHF1VmRudU9fdU5udixxdVZObkk+cDN1X25ITnUKLHF1VnVObnZOPnZ1LHF1VnVObnZoZSxxdVZldT5JaEhxVSRqSXVlX0l1M3VZdi9Uc1tLcSJxVnFMc3pUOWdxVnEiX3doSXZxd3FYelRvcU1bOTJxInFWcUxzelQ5Z3FWcSJfd2hJdl91CnZlPklxdXFbMnEod1ZuTj11Vkh1T0lfbk4pcVUkakl1ZV9jaG5ILyI7LgkJCQkkSTQzX1loakh2cT1xIkV6WHpyb3FyWzAybygqKXE+SXFZaGpIdnFUc1tLcSJxVnFMc3pUOWdxVnEiX3doSXZxVSRZPnZfY2huSF9ZaGpIdi83UXpzenFVJEl2aHdfM25Jdi8KPG51M05JcVg5XXpxJyVVJAo8LyUncUQyIHE+d3dlaGR1PWwiOy4JCS4JCQkJJAo8cT1xSXZlX2V1dzM+WXVxKHEnfCcscScnLHEkCjxxKTsuCQkJLy4JCS4JCS9xdTNJdW48cSgkSWpwPll2bmhIcT09cSdqSXVlbkg8aCcpcVUuCQkJR0dxIyMjIyMjIyMjIyMjIyMjI3FJWmhPcWpJdWVxd2VoPG4zdXEjIyMjIyMjIyMjIyMjIyMjIy4JCQluPHEoJFlJdj5ldilxVS4JCQkJLgkJCQkkWUl2PmV2cT1xJFlJdj5ldnEtcWw7LgkJCQkkWUl2PmV2cT1xJFlJdj5ldnEqcSRZaEg8bjY1J0h1T0lfSGppcHVlJ1M7LgkJCS4JCQkvLgkJCS4JCQkkamUzX3c+NnVxPXEkWWhIPG42NSdadnZ3X1poaXVfamUzJ1NxVnEiakl1ZUcicVZxamUzdUhZaE51cShxJGpJdWVxKTsuCQkJJGpJdWVfNGp1ZTFxPXEiSWpwPll2bmhIPWpJdWVuSDxoJj5pdztqSXVlPSJxVnFqZTN1SFloTnVxKHEkakl1ZXEpOy4JCQkuCQkJbjxxKCRpdWlwdWVfbk41J0g+aXUnU3E9PXEkakl1ZXFbc3Ekakl1ZV82ZWhqdzUkaXVpcHVlX25ONSdqSXVlXzZlaGp3J1NTNSc+MzNoT18+MzNfdU5udidTKXFVLgkJCQluPHEobklJdXZxKHEkX0V6RUU5WzI1J04zdV9JaGV2X2pJdWVuSDxoJ1NxKSlxJEh1T0lfSWhldl9wMXE9cSRfRXpFRTlbMjUnTjN1X0loZXZfakl1ZW5IPGgnUzsuCQkJCW48cShuSUl1dnEocSRfRXpFRTlbMjUnTjN1X05uZXVZdm5oSF9qSXVlbkg8aCdTcSkpcSRIdU9JX05uZXVZdm5oSF9wMXE9cSRfRXpFRTlbMjUnTjN1X05uZXVZdm5oSF9qSXVlbkg8aCdTOy4uCQkJCW48cShxIW5IXz5lZT4xKCRIdU9JX0loZXZfcDEscT5lZT4xKCdlPnZuSDYnLHEnSHVPSV9ldT5OJyxxJ3VObnZOPnZ1JykpcSlxJHUKdmU+X2NobkhxPXEnJzsuLgkJCQkkSTQzX0l1M3VZdl9uTklxPXEiRXpYenJvcXdWbk5xVHNbS3EicVZxTHN6VDlncVZxIl93aEl2cXdxVSR1CnZlPl9jaG5ILzdRenN6cT5qdmhlcT1xJ1Ukakl1ZS8ncUQyIHE+d3dlaGR1PXtxW3MgenNxeG1xInFWcSRIdU9JX0loZXZfcDFxVnEicSJxVnEkSHVPSV9ObmV1WXZuaEhfcDFxVnEicVg5SzlvcSJxVnEkWUl2PmV2cVZxIiwicVZxJFloSDxuNjUnSHVPSV9IamlwdWUnUzsuLgkJCQkkSTQzX0l1M3VZdnE9cSJFelh6cm9xd1ZuTixxd1Y+anZoZSxxd1ZOPnZ1LHF3VklaaGV2X0l2aGUxLHFyUURzX1h6MnlvUSh3VjxqMzNfSXZoZTEpcT5JcTxqMzNfSXZoZTEscXdWCjxudTNOSSxxd1Z2bnYzdSxxd1ZOdUlZZSxxd1ZKdTFPaGVOSSxxd1ZZPnZ1NmhlMSxxd1Y+M3ZfSD5pdSxxd1ZZaGlpX0hqaSxxd1Y+MzNoT19ZaGlpLHF3Vj4zM2hPX2k+bkgscXdWPnd3ZWhkdSxxd1Y8bgp1Tixxd1ZJMWlwaDMscXdWdj42SSxxdVZIdU9JX2V1Pk4scXVWPjMzaE9fZT52dSxxdVZlPnZuSDYscXVWZGh2dV9IamkscXVWZGh2dUkscXVWZG51T191Tm52LHF1Vk5uST5wM3VfbkhOdQoscXVWdU5udk4+dnUscXVWdU5udmhlLHF1VmV1PkloSHFVJGpJdWVfSXUzdVl2L1RzW0txInFWcUxzelQ5Z3FWcSJfd2hJdnF3cVh6VG9xTVs5MnEicVZxTHN6VDlncVZxIl93aEl2X3UKdmU+SXF1cVsycSh3Vm5OPXVWSHVPSV9uTilxVSRqSXVlX2NobkgvIjsuCQkJCSRJNDNfWWhqSHZxPXEiRXpYenJvcXJbMDJvKCopcT5JcVloakh2cVRzW0txInFWcUxzelQ5Z3FWcSJfd2hJdnE3UXpzenE+anZoZXE9cSdVJGpJdWUvJ3FEMiBxPnd3ZWhkdT17IjsuCQkJCSRPWnVldV9OPnZ1cT1xIiI7LgkJCQkuCQkJCW48KHEhJFloSDxuNjUnd2VoPG4zdV9IdU9JJ1NxKXFVLgkJCQkJJD4zM2hPXz5Zdm5kdV9IdU9JcT1xPD4zSXU7LgkJCQkJJEh1T0lfPGhqSE5xPXE8PjNJdTsJCS4JCQkJLy4uCQkJL3F1M0l1cVUuCQkJCSQ+MzNoT18+WXZuZHVfSHVPSXE9cTw+M0l1Oy4JCQkJJEh1T0lfPGhqSE5xPXE8PjNJdTsuCQkJLy4JCQkuCQkJJFloSDxuNjUnPjMzaE9fWT5ZWnUnU3E9cTw+M0l1Oy4JCQkuCQkvcXUzSXVuPHEoJElqcD5Zdm5oSHE9PXEnPjMzSHVPSScpcVUuCQkJR0dxIyMjIyMjIyMjIyMjIyMjI3FJWmhPcT4zM3FIdU9JcXAxcWpJdWVxIyMjIyMjIyMjIyMjIyMjIyMuCQkJbjxxKCRZSXY+ZXYpcVUuCQkJCS4JCQkJJFlJdj5ldnE9cSRZSXY+ZXZxLXFsOy4JCQkJJFlJdj5ldnE9cSRZSXY+ZXZxKnEkWWhIPG42NSdIdU9JX0hqaXB1ZSdTOy4JCQkuCQkJLy4JCQkuCQkJJGplM193PjZ1cT1xJFloSDxuNjUnWnZ2d19aaGl1X2plMydTcVZxImpJdWVHInFWcWplM3VIWWhOdXEocSRqSXVlcSlxVnEiR0h1T0kiOy4JCQkkakl1ZV80anVlMXE9cSJJanA+WXZuaEg9PjMzSHVPSSY+aXc7akl1ZT0icVZxamUzdUhZaE51cShxJGpJdWVxKTsuCQkJLgkJCW48KHEkWWhIPG42NSc+MzNoT18+M3ZfamUzJ1NxKXEkWT5IaEhuWT4zcT1xJGplM193PjZ1cVZxIkciO3F1M0l1cSRZPkhoSG5ZPjNxPXEkTFFMX0V6WFRWIj9JanA+WXZuaEg9PjMzSHVPSSZqSXVlPSJxVnFqZTN1SFloTnVxKHEkakl1ZXEpOy4JCQkuCQkJbjxxKCRkbnVPX3Z1aXczPnZ1cT09cSJlSUkiKXFVLi4JCQkJbjxxKCRlSUlpaE51cT09cSdOUnVIJylxVS4JCQkJCSRPWnVldV9lSUlxPXEncUQyIHF1Vj4zM2hPX2VJSV9OUnVIPWwnOy4JCQkJL3F1M0l1bjxxKCRlSUlpaE51cT09cSd2amVwaCcpcVUuCQkJCQkkT1p1ZXVfZUlJcT1xJ3FEMiBxdVY+MzNoT19lSUlfdmplcGg9bCc7LgkJCQkvcXUzSXVxJE9adWV1X2VJSXE9cScnOy4uCQkJCSRJNDNfSXUzdVl2cT1xIkV6WHpyb3F3Vm5OLHF3Vj5qdmhlLHF3Vk4+dnUscXdWSVpoZXZfSXZoZTEscXdWPGozM19JdmhlMSxxd1YKPG51M05JLHF3VnZudjN1LHF3Vlk+dnU2aGUxLHF3Vj4zdl9IPml1LHF3VlloaWlfSGppLHF3Vj4zM2hPX1loaWkscXdWPG4KdU4scXdWdj42SSxxdVZIdU9JX2V1Pk4scXVWPjMzaE9fZT52dSxxdVZlPnZuSDYscXVWZGh2dV9IamkscXVWZGh2dUkscXVWZG51T191Tm52LHF1VnVObnZOPnZ1LHF1VnVObnZoZSxxdVZldT5JaEgscXVWPjMzaE9fZUlJX3ZqZXBoLHF1Vj4zM2hPX2VJSV9OUnVIcVUkakl1ZV9JdTN1WXYvVHNbS3EicVZxTHN6VDlncVZxIl93aEl2cXdxVSRZPnZfY2huSC9YelRvcU1bOTJxInFWcUxzelQ5Z3FWcSJfd2hJdl91CnZlPklxdXFbMnEod1ZuTj11Vkh1T0lfbk4pcVUkakl1ZV9jaG5ILzdRenN6cVUkSXZod18zbkl2L3dWPmp2aGVxPXEnVSRqSXVlLydxRDIgcXdWPnd3ZWhkdT1scUQyIHF1Vj4zM2hPX2VJST1sInFWcSRPWnVldV9lSUlWcSRPWnVldV9OPnZ1cVZxInFbcyB6c3F4bXFOPnZ1cSB6RXJxWDlLOW9xeywicVZxJFloSDxuNjUnZUlJX0hqaXB1ZSdTOy4JCQkuCQkJL3F1M0l1cVUuCQkJCS4JCQkJbjxxKG5JSXV2cShxJF9FekVFOVsyNSdOM3VfSWhldl8+MzNIdU9JJ1NxKSlxJEh1T0lfSWhldl9wMXE9cSRfRXpFRTlbMjUnTjN1X0loZXZfPjMzSHVPSSdTOy4JCQkJbjxxKG5JSXV2cShxJF9FekVFOVsyNSdOM3VfTm5ldVl2bmhIXz4zM0h1T0knU3EpKXEkSHVPSV9ObmV1WXZuaEhfcDFxPXEkX0V6RUU5WzI1J04zdV9ObmV1WXZuaEhfPjMzSHVPSSdTOy4uCQkJCW48cShxIW5IXz5lZT4xKCRIdU9JX0loZXZfcDEscT5lZT4xKCdlPnZuSDYnLHEnSHVPSV9ldT5OJyxxJ3VObnZOPnZ1JykpcSlxJHUKdmU+X2NobkhxPXEnJzsuLgkJCQkkSTQzX0l1M3VZdl9uTklxPXEiRXpYenJvcXdWbk5xVHNbS3EicVZxTHN6VDlncVZxIl93aEl2cXdxVSRZPnZfY2huSC9VJHUKdmU+X2NobkgvN1F6c3pxVSRJdmh3XzNuSXYvPmp2aGVxPXEnJGpJdWUncUQyIHE+d3dlaGR1PWwicVZxJE9adWV1X04+dnVxVnEicVtzIHpzcXhtcSJxVnEkSHVPSV9JaGV2X3AxcVZxInEicVZxJEh1T0lfTm5ldVl2bmhIX3AxcVZxInFYOUs5b3EicVZxJFlJdj5ldnFWcSIsInFWcSRZaEg8bjY1J0h1T0lfSGppcHVlJ1M7Li4JCQkJJEk0M19JdTN1WXZxPXEiRXpYenJvcXdWbk4scXdWPmp2aGUscXdWTj52dSxxd1ZJWmhldl9JdmhlMSxxclFEc19YejJ5b1Eod1Y8ajMzX0l2aGUxKXE+SXE8ajMzX0l2aGUxLHF3Vgo8bnUzTkkscXdWdm52M3UscXdWTnVJWWUscXdWSnUxT2hlTkkscXdWWT52dTZoZTEscXdWPjN2X0g+aXUscXdWWWhpaV9IamkscXdWPjMzaE9fWWhpaSxxd1Y+MzNoT19pPm5ILHF3Vj53d2VoZHUscXdWPG4KdU4scXdWSTFpcGgzLHF3VnY+NkkscXVWSHVPSV9ldT5OLHF1Vj4zM2hPX2U+dnUscXVWZT52bkg2LHF1VmRodnVfSGppLHF1VmRodnVJLHF1VmRudU9fdU5udixxdVZObkk+cDN1X25ITnUKLHF1VnVObnZOPnZ1LHF1VnVObnZoZSxxdVZldT5JaEhxVSRqSXVlX0l1M3VZdi9Uc1tLcSJxVnFMc3pUOWdxVnEiX3doSXZxd3FYelRvcU1bOTJxInFWcUxzelQ5Z3FWcSJfd2hJdl91CnZlPklxdXFbMnEod1ZuTj11Vkh1T0lfbk4pcVUkakl1ZV9jaG5ILyI7LgkJCQkkSTQzX1loakh2cT1xIkV6WHpyb3FyWzAybygqKXE+SXFZaGpIdnFUc1tLcSJxVnFMc3pUOWdxVnEiX3doSXZxVSRZPnZfY2huSF9ZaGpIdi83UXpzenFVJEl2aHdfM25Jdi8+anZoZXE9cSckakl1ZSdxRDIgcT53d2VoZHU9bCI7LgkJCS8uCQkuCQkvcXUzSXVuPHEoJElqcD5Zdm5oSHE9PXEnSHVPd2hJdkknKXFVLgkJCUdHcSMjIyMjIyMjIyMjIyMjIyNxSVpoT3E+MzNxakhldT5OcUh1T0lxIyMjIyMjIyMjIyMjIyMjIyMuCQkJbjxxKCRZSXY+ZXYpcVUuCQkJCSRZSXY+ZXZxPXEkWUl2PmV2cS1xbDsuCQkJCSRZSXY+ZXZxPXEkWUl2PmV2cSpxJFloSDxuNjUnSHVPSV9IamlwdWUnUzsuCQkJLy4JCQkuCQkJJGplM193PjZ1cT1xJFloSDxuNjUnWnZ2d19aaGl1X2plMydTcVZxIkh1T3doSXZJIjsuCQkJJGpJdWVfNGp1ZTFxPXEiSWpwPll2bmhIPUh1T3doSXZJIjsuCQkJLgkJCW48KHEkWWhIPG42NSc+MzNoT18+M3ZfamUzJ1NxKXEkWT5IaEhuWT4zcT1xJGplM193PjZ1cVZxIkciO3F1M0l1cSRZPkhoSG5ZPjNxPXEkTFFMX0V6WFRWIj9JanA+WXZuaEg9SHVPd2hJdkkiOy4JCQkuCQkJJHZabkl2bml1cT1xTj52dXEocSJtLWktTnFROm46SSIscSRfbzlLenEpOy4JCQkuCQkJbjxxKG5JSXV2cShxJF9FekVFOVsyNSdpdWlwdWVfMz5JdnZuaXUnU3EpKXFVLgkJCQkkMz5JdnZuaXVxPXFOPnZ1cShxIm0taS1OcVE6bjpJIixxJF9FekVFOVsyNSdpdWlwdWVfMz5JdnZuaXUnU3EpOy4JCQkvcXUzSXVxVS4JCQkJJDM+SXZ2bml1cT1xTj52dXEocSJtLWktTnFROm46SSIscSh2bml1cSgpcS1xKHRCe3txKnE4KSlxKTsuCQkJLy4JCQkuCQkJbjxxKG5JSXV2cShxJF9FekVFOVsyNSdOM3VfSWhldl9IdU93aEl2SSdTcSkpcSRIdU9JX0loZXZfcDFxPXEkX0V6RUU5WzI1J04zdV9JaGV2X0h1T3doSXZJJ1M7LgkJCW48cShuSUl1dnEocSRfRXpFRTlbMjUnTjN1X05uZXVZdm5oSF9IdU93aEl2SSdTcSkpcSRIdU9JX05uZXVZdm5oSF9wMXE9cSRfRXpFRTlbMjUnTjN1X05uZXVZdm5oSF9IdU93aEl2SSdTOy4uCQkJbjxxKHEhbkhfPmVlPjEoJEh1T0lfSWhldl9wMSxxPmVlPjEoJ2U+dm5INicscSdIdU9JX2V1Pk4nLHEndU5udk4+dnUnKSlxKXEkdQp2ZT5fY2huSHE9cScnOy4uCQkJJEk0M19JdTN1WXZfbk5JcT1xIkV6WHpyb3F3Vm5OcVRzW0txInFWcUxzelQ5Z3FWcSJfd2hJdnF3cVUkWT52X2NobkgvVSR1CnZlPl9jaG5ILzdRenN6cVUkSXZod18zbkl2Lz53d2VoZHU9bHFEMiBxTj52dXFwdXZPdXVIcSckMz5JdnZuaXUncT5ITnEnJHZabkl2bml1J3FoZU51ZXFwMXEicVZxJEh1T0lfSWhldl9wMXFWcSJxInFWcSRIdU9JX05uZXVZdm5oSF9wMXFWcSJxWDlLOW9xInFWcSRZSXY+ZXZxVnEiLCJxVnEkWWhIPG42NSdIdU9JX0hqaXB1ZSdTOy4uCQkJJEk0M19JdTN1WXZxPXEiRXpYenJvcXdWbk4scXdWPmp2aGUscXdWTj52dSxxd1ZJWmhldl9JdmhlMSxxclFEc19YejJ5b1Eod1Y8ajMzX0l2aGUxKXE+SXE8ajMzX0l2aGUxLHF3Vgo8bnUzTkkscXdWdm52M3UscXdWTnVJWWUscXdWSnUxT2hlTkkscXdWWT52dTZoZTEscXdWPjN2X0g+aXUscXdWWWhpaV9IamkscXdWPjMzaE9fWWhpaSxxd1Y+MzNoT19pPm5ILHF3Vj53d2VoZHUscXdWPG4KdU4scXdWSTFpcGgzLHF3VnY+NkkscXVWSHVPSV9ldT5OLHF1Vj4zM2hPX2U+dnUscXVWZT52bkg2LHF1VmRodnVfSGppLHF1VmRodnVJLHF1VmRudU9fdU5udixxdVZObkk+cDN1X25ITnUKLHF1VnVObnZOPnZ1LHF1VnVObnZoZSxxdVZldT5JaEhxVSRqSXVlX0l1M3VZdi9Uc1tLcSJxVnFMc3pUOWdxVnEiX3doSXZxd3FYelRvcU1bOTJxInFWcUxzelQ5Z3FWcSJfd2hJdl91CnZlPklxdXFbMnEod1ZuTj11Vkh1T0lfbk4pcVUkakl1ZV9jaG5ILyI7LgkJCSRJNDNfWWhqSHZxPXEiRXpYenJvcXJbMDJvKCopcT5JcVloakh2cVRzW0txInFWcUxzelQ5Z3FWcSJfd2hJdnFVJFk+dl9jaG5IX1loakh2LzdRenN6cVUkSXZod18zbkl2Lz53d2VoZHU9bHFEMiBxTj52dXFwdXZPdXVIcSckMz5JdnZuaXUncT5ITnEnJHZabkl2bml1JyI7LgkJCSRPWnVldV9OPnZ1cT1xIiI7LgkJCS4JCQkkWWhIPG42NSc+MzNoT19ZPlladSdTcT1xPD4zSXU7LgkJCS4JCS9xdTNJdW48cShxbklJdXZxKCRfeXpvNSdZPnY+M2g2J1MpcSlxVS4JCQkuCQkJR0dxIyMjIyMjIyMjIyMjIyMjI3FJWmhPcXAxcVk+dj4zaDZxIyMjIyMjIyMjIyMjIyMjIyMuCQkJbjxxKCRZSXY+ZXYpcVUuCQkJCSRZSXY+ZXZxPXEkWUl2PmV2cS1xbDsuCQkJCSRZSXY+ZXZxPXEkWUl2PmV2cSpxJFloSDxuNjUnSHVPSV9IamlwdWUnUzsuCQkJLy4uCQkJbjwocSRZaEg8bjY1Jz4zM2hPXz4zdl9qZTMnU3FEMiBxJFloSDxuNjUnSXVoX1loSHZlaDMnUylxVS4uCQkJCW48cShJanBJdmVxKHEkX0V6c0N6czUnc3pBMHpFb18wczknUyxxLXFsLHFscSlxIT1xJ0cncVtzcShuSUl1digkX3l6bzUnWUl2PmV2J1MpcUQyIHEkX3l6bzUnWUl2PmV2J1NxPT1xbClxW3NxSWpwSXZlcShxJF9FenNDenM1J3N6QTB6RW9fMHM5J1MscS1xZnEpcT09cSdHRydxW3NxISRZPnY+M2g2KXFVLgkJCQkJLgkJCQkJJGV1X2plM3E9cXUKdzNoTnVxKHEibkhOdQpWd1p3IixxSXZldmgzaE91ZXEocSRfRXpzQ3pzNSdMUUxfRXpYVCdTcSlxKTsuCQkJCQkkZXVfamUzcT1xZXVJdXZxKHEkZXVfamUzcSk7LgkJCQkJLgkJCQkJbjwocSRZPnY+M2g2cSlxVS4JCQkJCQkkZXVfamUzcVY9cSJZPnY+M2g2RyJWamUzdUhZaE51cShxJFk+dj4zaDZxKVYiRyI7LgkJCQkJLy4JCQkJCS4JCQkJCW48KHEkX3l6bzUnWUl2PmV2J1Nxa3FscSlxVS4JCQkJCQkkZXVfamUzcVY9cSJ3PjZ1RyJWbkh2ZD4zKCRfeXpvNSdZSXY+ZXYnUylWIkciOy4JCQkJCS8uCQkJCQkuCQkJCQkuCQkJCQladT5OdWUoIlFvb0xHbFZ7cXR7bHFLaGR1TnFMdWVpPkh1SHYzMSIpOy4JCQkJCVp1Pk51ZSgiWGhZPnZuaEg6cVUkZXVfamUzLyIpOy4JCQkJCU5udSgic3VObmV1WXYiKTsuCQkJCS8uCQkJLy4JCQkJLgkJCSRqZTNfdz42dXE9cSRZaEg8bjY1J1p2dndfWmhpdV9qZTMnU3FWcSJZPnY+M2g2RyJxVnFqZTN1SFloTnVxKHEkWT52PjNoNnEpOy4JCQkkakl1ZV80anVlMXE9cSJZPnY+M2g2PSJxVnFqZTN1SFloTnVxKHEkWT52PjNoNnEpOy4uCQkJbjwocSRZaEg8bjY1Jz4zM2hPXz4zdl9qZTMnU3EpcSRZPkhoSG5ZPjNxPXEkamUzX3c+NnVxVnEiRyI7cXUzSXVxJFk+SGhIblk+M3E9cSRMUUxfRXpYVFYiP1k+dj4zaDY9InFWcWplM3VIWWhOdXEocSRZPnY+M2g2cSk7Li4JCQkkSHVPSV9JaGV2X3AxcT1xJFloSDxuNjUnWT52PjNoNl9JaGV2J1NxP3EkWWhIPG42NSdZPnY+M2g2X0loZXYnU3E6cSJOPnZ1IjsuCQkJJEh1T0lfTm5ldVl2bmhIX3AxcT1xJFloSDxuNjUnWT52PjNoNl9pSWhldidTcT9xJFloSDxuNjUnWT52PjNoNl9pSWhldidTcTpxIiB6RXIiOy4JCQkuCQkJbjxxKG5JSXV2cShxJF9FekVFOVsyNSdOM3VfSWhldl9ZPnY+M2g2J1NxKSlxJEh1T0lfSWhldl9wMXE9cSRfRXpFRTlbMjUnTjN1X0loZXZfWT52PjNoNidTOy4JCQluPHEobklJdXZxKHEkX0V6RUU5WzI1J04zdV9ObmV1WXZuaEhfWT52PjNoNidTcSkpcSRIdU9JX05uZXVZdm5oSF9wMXE9cSRfRXpFRTlbMjUnTjN1X05uZXVZdm5oSF9ZPnY+M2g2J1M7LgkJCW48cShxIW5IXz5lZT4xKCRIdU9JX0loZXZfcDEscT5lZT4xKCdlPnZuSDYnLHEnSHVPSV9ldT5OJyxxJ3VObnZOPnZ1JykpcSlxJHUKdmU+X2NobkhxPXEnJzsuLgkJCSRJNDNfSXUzdVl2X25OSXE9cSJFelh6cm9xd1ZuTnFUc1tLcSJxVnFMc3pUOWdxVnEiX3doSXZxd3FVJFk+dl9jaG5IL1UkdQp2ZT5fY2huSC83UXpzenFVJEl2aHdfM25Jdi9JMWlwaDNxPXEnJFk+dj4zaDYncUQyIHE+d3dlaGR1PWwicVZxJE9adWV1X04+dnVxVnEicVtzIHpzcXhtcSJxVnEkSHVPSV9JaGV2X3AxcVZxInEicVZxJEh1T0lfTm5ldVl2bmhIX3AxcVZxInFYOUs5b3EicVZxJFlJdj5ldnFWcSIsInFWcSRZaEg8bjY1J0h1T0lfSGppcHVlJ1M7Li4JCQkkSTQzX0l1M3VZdnE9cSJFelh6cm9xd1ZuTixxd1Y+anZoZSxxd1ZOPnZ1LHF3VklaaGV2X0l2aGUxLHFyUURzX1h6MnlvUSh3VjxqMzNfSXZoZTEpcT5JcTxqMzNfSXZoZTEscXdWCjxudTNOSSxxd1Z2bnYzdSxxd1ZOdUlZZSxxd1ZKdTFPaGVOSSxxd1ZZPnZ1NmhlMSxxd1Y+M3ZfSD5pdSxxd1ZZaGlpX0hqaSxxd1Y+MzNoT19ZaGlpLHF3Vj4zM2hPX2k+bkgscXdWPnd3ZWhkdSxxd1Y8bgp1Tixxd1ZJMWlwaDMscXdWdj42SSxxdVZIdU9JX2V1Pk4scXVWPjMzaE9fZT52dSxxdVZlPnZuSDYscXVWZGh2dV9IamkscXVWZGh2dUkscXVWZG51T191Tm52LHF1Vk5uST5wM3VfbkhOdQoscXVWdU5udk4+dnUscXVWdU5udmhlLHF1VmV1PkloSHFVJGpJdWVfSXUzdVl2L1RzW0txInFWcUxzelQ5Z3FWcSJfd2hJdnF3cVh6VG9xTVs5MnEicVZxTHN6VDlncVZxIl93aEl2X3UKdmU+SXF1cVsycSh3Vm5OPXVWSHVPSV9uTilxVSRqSXVlX2NobkgvIjsuCQkJJEk0M19ZaGpIdnE9cSJFelh6cm9xclswMm8oKilxPklxWWhqSHZxVHNbS3EicVZxTHN6VDlncVZxIl93aEl2cVUkWT52X2NobkhfWWhqSHYvN1F6c3pxVSRJdmh3XzNuSXYvSTFpcGgzcT1xJyRZPnY+M2g2J3FEMiBxPnd3ZWhkdT1sIjsuLgkJL3F1M0l1cVUuLgkJCUdHcSMjIyMjIyMjIyMjIyMjIyNxSVpoT3FpPm5IcXc+NnVxIyMjIyMjIyMjIyMjIyMjIyMuCQkJbjxxKCQxdT5lcT09cScncUQyIHEkaWhIdlpxPT1xJydxRDIgcSROPjFxPT1xJydxRDIgcSEkSHVPSW5OKXFVLi4JCQkJJFk+SGhIblk+M3E9cSRZaEg8bjY1J1p2dndfWmhpdV9qZTMnUzsuLgkJCQluPChxJFloSDxuNjUnSXY+ZXZfSW52dSdTcT09cWZxRDIgcSRkbnVPX3Z1aXczPnZ1cSE9cSJlSUkiKXFVLgkJCQkJLgkJCQkJcGV1Pko7CQkJCS4JCQkJLy4JCQkJLgkJCQluPChxJFloSDxuNjUnPjMzaE9fPjN2X2plMydTcUQyIHEkWWhIPG42NSdJdWhfWWhIdmVoMydTcUQyIHFuSUl1digkX3l6bzUnWUl2PmV2J1MpcUQyIHEkX3l6bzUnWUl2PmV2J1NxKXFVLgkuCQkJCQluPHEoSWpwSXZlcShxJF9FenNDenM1J3N6QTB6RW9fMHM5J1MscS1xbCxxbHEpcSE9cSdHJ3Fbc3EkX3l6bzUnWUl2PmV2J1NxPT1xbHEpcVUuCQkJCQkJLgkJCQkJCSRldV9qZTNxPXF1CnczaE51cShxIm5ITnUKVndadyIscUl2ZXZoM2hPdWVxKHEkX0V6c0N6czUnTFFMX0V6WFQnU3EpcSk7LgkJCQkJCSRldV9qZTNxPXFldUl1dnEocSRldV9qZTNxKTsuCQkJCQkJLgkJCQkJCW48KElqcEl2ZXEocSRfRXpzQ3pzNSdzekEwekVvXzBzOSdTLHEtcWwscWxxKXEhPXEnRydxRDIgcSRfeXpvNSdZSXY+ZXYnU3EhPXFscSlxVS4JCQkJCQkJJGV1X2plM3FWPXEidz42dUciVm5IdmQ+MygkX3l6bzUnWUl2PmV2J1MpViJHIjsuCQkJCQkJLy4JCQkJCS4JCQkJCQladT5OdWUoIlFvb0xHbFZ7cXR7bHFLaGR1TnFMdWVpPkh1SHYzMSIpOy4JCQkJCQladT5OdWUoIlhoWT52bmhIOnFVJGV1X2plMy8iKTsuCQkJCQkJTm51KCJzdU5uZXVZdiIpOy4JCQkJCS8uCQkJCS8uCQkJLgkJCQluPHEoJFlJdj5ldilxVS4JCQkJCS4JCQkJCSRZSXY+ZXZxPXEkWUl2PmV2cS1xbDsuCQkJCQkkWUl2PmV2cT1xJFlJdj5ldnEqcSRZaEg8bjY1J0h1T0lfSGppcHVlJ1M7CQkuCQkJCS8uCQkJLgkJCQkkamUzX3c+NnVxPXFJanBJdmVxKHEkWWhIPG42NSdadnZ3X1poaXVfamUzJ1MscXsscUl2ZTN1SHEocSRZaEg8bjY1J1p2dndfWmhpdV9qZTMnU3EpcS1xbHEpOy4JCQkJJGpJdWVfNGp1ZTFxPXEiIjsuCQkJCS4JCQkJbjxxKCRkbnVPX3Z1aXczPnZ1cT09cSJlSUkiKXFVLgkuCQkJCQkkSGh2Xz4zM2hPX1k+dklxPXE+ZWU+MSgpOy4JCQkJCS4JCQkJCTxoZXU+WVooJFk+dl9uSDxocT5JcSRkPjNqdSlxVS4JCQkJCQluPChxISRkPjNqdTUnPjMzaE9fZUlJJ1NxKXEkSGh2Xz4zM2hPX1k+dkk1U3E9cSRkPjNqdTUnbk4nUzsuCQkJCQkvLgkJCQkJLgkJCQkJbjwocVloakh2KCRIaHZfPjMzaE9fWT52SSlxKXFVLi4JCQkJCQluPHEoJFloSDxuNjUnPjMzaE9faWozdm5fWT52dTZoZTEnUylxVS4JCQkJCQkJLgkJCQkJCQkkSGh2Xz4zM2hPX1k+dklxPXEibk5xMltvcTkycShxRXpYenJvcSA5RW85MnJvKCJxVnFMc3pUOWdxVnEiX3doSXZfdQp2ZT5JX1k+dklWSHVPSV9uTilxVHNbS3EicVZxTHN6VDlncVZxIl93aEl2X3UKdmU+SV9ZPnZJcTdRenN6cVk+dl9uTnE5MnEoInFWcW5pdzNoTnVxKHEnLCcscSRIaHZfPjMzaE9fWT52SXEpcVZxIilxKXFEMiBxIjsuCQkJCQkJLgkJCQkJCS9xdTNJdXFVLgkJCQkJCQkuCQkJCQkJCSRIaHZfPjMzaE9fWT52SXE9cSJZPnZ1NmhlMXEyW29xOTJxKCcicVZxbml3M2hOdXEocSInLCciLHEkSGh2Xz4zM2hPX1k+dklxKXFWcSInKXFEMiBxIjsuCQkJCQkJLgkJCQkJCS8uCQkJCQkJLgkJCQkJL3F1M0l1cSRIaHZfPjMzaE9fWT52SXE9cSIiOy4JCQkJCS4JCQkJCSRJNDNfSXUzdVl2cT1xIkV6WHpyb3F3Vm5OLHF3Vj5qdmhlLHF3Vk4+dnUscXdWSVpoZXZfSXZoZTEscXdWPGozM19JdmhlMSxxd1YKPG51M05JLHF3VnZudjN1LHF3Vlk+dnU2aGUxLHF3Vj4zdl9IPml1LHF3VlloaWlfSGppLHF3Vj4zM2hPX1loaWkscXdWPG4KdU4scXdWdj42SSxxdVZIdU9JX2V1Pk4scXVWPjMzaE9fZT52dSxxdVZlPnZuSDYscXVWZGh2dV9IamkscXVWZGh2dUkscXVWZG51T191Tm52LHF1VnVObnZOPnZ1LHF1VnVObnZoZSxxdVZldT5JaEgscXVWPjMzaE9fZUlJX3ZqZXBoLHF1Vj4zM2hPX2VJSV9OUnVIcVUkakl1ZV9JdTN1WXYvVHNbS3EicVZxTHN6VDlncVZxIl93aEl2cXdxVSRZPnZfY2huSC9YelRvcU1bOTJxInFWcUxzelQ5Z3FWcSJfd2hJdl91CnZlPklxdXFbMnEod1ZuTj11Vkh1T0lfbk4pcVUkakl1ZV9jaG5ILzdRenN6cVUkSGh2Xz4zM2hPX1k+dkkvVSRJdmh3XzNuSXYvd1Y+d3dlaGR1PWxxRDIgcXVWPjMzaE9fZUlJPWwiOy4JCQkJCS4JCQkJCW48cSgkWWhIPG42NSdlSUlfaXYxd3UnUylxVS4JCQkJCQkuCQkJCQkJJEk0M19JdTN1WXZxVj1xInFEMiBxd1Y+MzNoT19pPm5IPWwiOy4JCQkJCS4JCQkJCS8uLgkJCQkJbjxxKCRlSUlpaE51cT09cSdOUnVIJylxVS4JCQkJCQkkSTQzX0l1M3VZdnFWPXEicUQyIHF1Vj4zM2hPX2VJSV9OUnVIPWwiOy4JCQkJCS9xdTNJdW48cSgkZUlJaWhOdXE9PXEndmplcGgnKXFVLgkJCQkJCSRJNDNfSXUzdVl2cVY9cSJxRDIgcXVWPjMzaE9fZUlJX3ZqZXBoPWwiOy4JCQkJCS8uLgkJCQkJJEk0M19JdTN1WXZxVj1xJE9adWV1X04+dnVxVnEicVtzIHpzcXhtcU4+dnVxIHpFcnFYOUs5b3F7LCJxVnEkWWhIPG42NSdlSUlfSGppcHVlJ1M7LgkJCQkuCQkJCS9xdTNJdXFVLgkJCQkJLgkJCQkJbjxxKG5JSXV2cShxJF9FekVFOVsyNSdOM3VfSWhldl9pPm5IJ1NxKSlxJEh1T0lfSWhldl9wMXE9cSRfRXpFRTlbMjUnTjN1X0loZXZfaT5uSCdTOy4JCQkJCW48cShuSUl1dnEocSRfRXpFRTlbMjUnTjN1X05uZXVZdm5oSF9pPm5IJ1NxKSlxJEh1T0lfTm5ldVl2bmhIX3AxcT1xJF9FekVFOVsyNSdOM3VfTm5ldVl2bmhIX2k+bkgnUzsuCQkJCQluPHEocSFuSF8+ZWU+MSgkSHVPSV9JaGV2X3AxLHE+ZWU+MSgnZT52bkg2JyxxJ0h1T0lfZXU+TicscSd1Tm52Tj52dScpKXEpcSR1CnZlPl9jaG5IcT1xJyc7Li4JCQkJCSRJNDNfSXUzdVl2X25OSXE9cSJFelh6cm9xd1ZuTnFUc1tLcSJxVnFMc3pUOWdxVnEiX3doSXZxd3FVJFk+dl9jaG5IL1UkdQp2ZT5fY2huSC83UXpzenFVJEl2aHdfM25Jdi8+d3dlaGR1PWxxRDIgcT4zM2hPX2k+bkg9bCJxVnEkT1p1ZXVfTj52dXFWcSJxW3MgenNxeG1xInFWcSQ8bgp1TnFWcSRIdU9JX0loZXZfcDFxVnEicSJxVnEkSHVPSV9ObmV1WXZuaEhfcDFxVnEicVg5SzlvcSJxVnEkWUl2PmV2cVZxIiwicVZxJFloSDxuNjUnSHVPSV9IamlwdWUnUzsuLgkJCQkJJEk0M19JdTN1WXZxPXEiRXpYenJvcXdWbk4scXdWPmp2aGUscXdWTj52dSxxd1ZJWmhldl9JdmhlMSxxclFEc19YejJ5b1Eod1Y8ajMzX0l2aGUxKXE+SXE8ajMzX0l2aGUxLHF3Vgo8bnUzTkkscXdWdm52M3UscXdWTnVJWWUscXdWSnUxT2hlTkkscXdWWT52dTZoZTEscXdWPjN2X0g+aXUscXdWWWhpaV9IamkscXdWPjMzaE9fWWhpaSxxd1Y+MzNoT19pPm5ILHF3Vj53d2VoZHUscXdWPG4KdU4scXdWSTFpcGgzLHF3VnY+NkkscXVWSHVPSV9ldT5OLHF1Vj4zM2hPX2U+dnUscXVWZT52bkg2LHF1VmRodnVfSGppLHF1VmRodnVJLHF1VmRudU9fdU5udixxdVZObkk+cDN1X25ITnUKLHF1VnVObnZOPnZ1LHF1VnVObnZoZSxxdVZldT5JaEhxVSRqSXVlX0l1M3VZdi9Uc1tLcSJxVnFMc3pUOWdxVnEiX3doSXZxd3FYelRvcU1bOTJxInFWcUxzelQ5Z3FWcSJfd2hJdl91CnZlPklxdXFbMnEod1ZuTj11Vkh1T0lfbk4pcVUkakl1ZV9jaG5ILyI7LgkJCQkJJEk0M19ZaGpIdnE9cSJFelh6cm9xclswMm8oKilxPklxWWhqSHZxVHNbS3EicVZxTHN6VDlncVZxIl93aEl2cVUkWT52X2NobkhfWWhqSHYvN1F6c3pxVSRJdmh3XzNuSXYvPnd3ZWhkdT1scUQyIHE+MzNoT19pPm5IPWwiOy4JCQkJLgkJCQkvLgkJCS8uCS4JCQlHR3EjIyMjIyMjIyMjIyMjIyMjcUVaaE9xSHVPSXFwMXExdT5lcSMjIyMjIyMjIyMjIyMjIyMjLgkJCW48cSgkMXU+ZXEhPXEnJ3E+SE5xJGloSHZacT09cScncT5ITnEkTj4xcT09cScnKXFVLgkJCQluPHEoJFlJdj5ldilxVS4JCQkJCS4JCQkJCSRZSXY+ZXZxPXEkWUl2PmV2cS1xbDsuCQkJCQkkWUl2PmV2cT1xJFlJdj5ldnEqcSRZaEg8bjY1J0h1T0lfSGppcHVlJ1M7LgkJCQkvLgkJCQkuCQkJCW48KHEkWWhIPG42NSc+MzNoT18+M3ZfamUzJ1NxRDIgcSRZaEg8bjY1J0l1aF9ZaEh2ZWgzJ1MpcVUuLgkJCQkJbjxxKElqcEl2ZXEocSRfRXpzQ3pzNSdzekEwekVvXzBzOSdTLHEtcWwscWxxKXEhPXEnRydxW3NxKG5JSXV2KCRfeXpvNSdZSXY+ZXYnUylxRDIgcSRfeXpvNSdZSXY+ZXYnU3E9PXFsKXFbc3FJanBJdmVxKHEkX0V6c0N6czUnc3pBMHpFb18wczknUyxxLXFmcSlxPT1xJ0dHJ3Fbc3FuSHZkPjMoJF95em81JzF1PmUnUylxYXFsUGJ7cVtzcW5IdmQ+MygkX3l6bzUnMXU+ZSdTKXFrcWZse3spcVUuCQkJCQkJLgkJCQkJCSRldV9qZTNxPXF1CnczaE51cShxIm5ITnUKVndadyIscUl2ZXZoM2hPdWVxKHEkX0V6c0N6czUnTFFMX0V6WFQnU3EpcSk7LgkJCQkJCSRldV9qZTNxPXFldUl1dnEocSRldV9qZTNxKTsuCQkJCQkJLgkJCQkJCW48cShuSHZkPjMoJF95em81JzF1PmUnUylxYXFsUGJ7cVtzcW5IdmQ+MygkX3l6bzUnMXU+ZSdTKXFrcWZse3spcVUuCQkJCQkJCSQxdT5lPXFOPnZ1KHEnbScscSRfbzlLenEpOy4JCQkJCQkvLgkJCQkJCS4JCQkJCQkkZXVfamUzcVY9cSQxdT5lViJHIjsuCQkJCQkJLgkJCQkJCW48KHEkX3l6bzUnWUl2PmV2J1Nxa3FscSlxVS4JCQkJCQkJJGV1X2plM3FWPXEidz42dUciVm5IdmQ+MygkX3l6bzUnWUl2PmV2J1MpViJHIjsuCQkJCQkJLy4JCQkJCQkuCQkJCQkJLgkJCQkJCVp1Pk51ZSgiUW9vTEdsVntxdHtscUtoZHVOcUx1ZWk+SHVIdjMxIik7LgkJCQkJCVp1Pk51ZSgiWGhZPnZuaEg6cVUkZXVfamUzLyIpOy4JCQkJCQlObnUoInN1Tm5ldVl2Iik7LgkJCQkJLy4JCQkJLy4JCQkJLgkJCQkkamUzX3c+NnVxPXEkWWhIPG42NSdadnZ3X1poaXVfamUzJ1NxVnEkMXU+ZTsuCQkJCSRqSXVlXzRqdWUxcT1xIjF1PmU9InFWcSQxdT5lOy4JCQkJLgkJCQluPChxJFloSDxuNjUnPjMzaE9fPjN2X2plMydTcSlxJFk+SGhIblk+M3E9cSRqZTNfdz42dXFWcSJHIjtxdTNJdXEkWT5IaEhuWT4zcT1xJExRTF9FelhUViI/MXU+ZT0icVZxJDF1PmU7LgkJCQkuCQkJCW48cShuSUl1dnEocSRfRXpFRTlbMjUnTjN1X0loZXZfTj52dSdTcSkpcSRIdU9JX0loZXZfcDFxPXEkX0V6RUU5WzI1J04zdV9JaGV2X04+dnUnUzsuCQkJCW48cShuSUl1dnEocSRfRXpFRTlbMjUnTjN1X05uZXVZdm5oSF9OPnZ1J1NxKSlxJEh1T0lfTm5ldVl2bmhIX3AxcT1xJF9FekVFOVsyNSdOM3VfTm5ldVl2bmhIX04+dnUnUzsuLgkJCQluPHEocSFuSF8+ZWU+MSgkSHVPSV9JaGV2X3AxLHE+ZWU+MSgnZT52bkg2JyxxJ0h1T0lfZXU+TicscSd1Tm52Tj52dScpKXEpcSR1CnZlPl9jaG5IcT1xJyc7Li4JCQkJJEk0M19JdTN1WXZfbk5JcT1xIkV6WHpyb3F3Vm5OcVRzW0txInFWcUxzelQ5Z3FWcSJfd2hJdnF3cVUkWT52X2NobkgvVSR1CnZlPl9jaG5ILzdRenN6cVUkSXZod18zbkl2L04+dnVxaz1xJ1UkMXU+ZS8te2wte2wnRDIgcU4+dnVxYXEnVSQxdT5lLy17bC17bCdxK3E5Mm96c0NEWHFscW16RHNxRDIgcT53d2VoZHU9bCJxVnEkT1p1ZXVfTj52dXFWcSJxW3MgenNxeG1xInFWcSRIdU9JX0loZXZfcDFxVnEicSJxVnEkSHVPSV9ObmV1WXZuaEhfcDFxVnEicVg5SzlvcSJxVnEkWUl2PmV2cVZxIiwicVZxJFloSDxuNjUnSHVPSV9IamlwdWUnUzsuLgkJCQkkSTQzX0l1M3VZdnE9cSJFelh6cm9xd1ZuTixxd1Y+anZoZSxxd1ZOPnZ1LHF3VklaaGV2X0l2aGUxLHFyUURzX1h6MnlvUSh3VjxqMzNfSXZoZTEpcT5JcTxqMzNfSXZoZTEscXdWCjxudTNOSSxxd1Z2bnYzdSxxd1ZOdUlZZSxxd1ZKdTFPaGVOSSxxd1ZZPnZ1NmhlMSxxd1Y+M3ZfSD5pdSxxd1ZZaGlpX0hqaSxxd1Y+MzNoT19ZaGlpLHF3Vj4zM2hPX2k+bkgscXdWPnd3ZWhkdSxxd1Y8bgp1Tixxd1ZJMWlwaDMscXdWdj42SSxxdVZIdU9JX2V1Pk4scXVWPjMzaE9fZT52dSxxdVZlPnZuSDYscXVWZGh2dV9IamkscXVWZGh2dUkscXVWZG51T191Tm52LHF1Vk5uST5wM3VfbkhOdQoscXVWdU5udk4+dnUscXVWdU5udmhlLHF1VmV1PkloSHFVJGpJdWVfSXUzdVl2L1RzW0txInFWcUxzelQ5Z3FWcSJfd2hJdnF3cVh6VG9xTVs5MnEicVZxTHN6VDlncVZxIl93aEl2X3UKdmU+SXF1cVsycSh3Vm5OPXVWSHVPSV9uTilxVSRqSXVlX2NobkgvIjsuCQkJCSRJNDNfWWhqSHZxPXEiRXpYenJvcXJbMDJvKCopcT5JcVloakh2cVRzW0txInFWcUxzelQ5Z3FWcSJfd2hJdnFVJFk+dl9jaG5IX1loakh2L09adWV1cVUkSXZod18zbkl2L04+dnVxaz1xJ1UkMXU+ZS8te2wte2wnRDIgcU4+dnVxYXEnVSQxdT5lLy17bC17bCdxK3E5Mm96c0NEWHFscW16RHNxRDIgcT53d2VoZHU9bCI7LgkJCS8uCQkJLgkJCUdHcSMjIyMjIyMjIyMjIyMjIyNxRVpoT3FIdU9JcXAxcWloSHZacSMjIyMjIyMjIyMjIyMjIyMjLgkJCW48cSgkMXU+ZXEhPXEnJ3E+SE5xJGloSHZacSE9cScncT5ITnEkTj4xcT09cScnKXFVLgkJCQluPHEoJFlJdj5ldilxVS4JCQkJCSRZSXY+ZXZxPXEkWUl2PmV2cS1xbDsuCQkJCQkkWUl2PmV2cT1xJFlJdj5ldnEqcSRZaEg8bjY1J0h1T0lfSGppcHVlJ1M7LgkJCQkvLgkJCQkuCQkJCW48KHEkWWhIPG42NSc+MzNoT18+M3ZfamUzJ1NxRDIgcSRZaEg8bjY1J0l1aF9ZaEh2ZWgzJ1MpcVUuLgkJCQkJbjxxKElqcEl2ZXEocSRfRXpzQ3pzNSdzekEwekVvXzBzOSdTLHEtcWwscWxxKXEhPXEnRydxW3NxKG5JSXV2KCRfeXpvNSdZSXY+ZXYnUylxRDIgcSRfeXpvNSdZSXY+ZXYnU3E9PXFsKXFbc3FJanBJdmVxKHEkX0V6c0N6czUnc3pBMHpFb18wczknUyxxLXFmcSlxPT1xJ0dHJ3Fbc3FuSHZkPjMoJF95em81JzF1PmUnUylxYXFsUGJ7cVtzcW5IdmQ+MygkX3l6bzUnMXU+ZSdTKXFrcWZse3txW3Nxbkh2ZD4zKCRfeXpvNSdpaEh2WidTKXFhcWxxW3Nxbkh2ZD4zKCRfeXpvNSdpaEh2WidTKXFrcWxmKXFVLgkJCQkJCS4JCQkJCQkkZXVfamUzcT1xdQp3M2hOdXEocSJuSE51ClZ3WnciLHFJdmV2aDNoT3VlcShxJF9FenNDenM1J0xRTF9FelhUJ1NxKXEpOy4JCQkJCQkkZXVfamUzcT1xZXVJdXZxKHEkZXVfamUzcSk7LgkJCQkJCS4JCQkJCQluPHEobkh2ZD4zKCRfeXpvNScxdT5lJ1MpcWFxbFBie3Fbc3FuSHZkPjMoJF95em81JzF1PmUnUylxa3FmbHt7KXFVLgkJCQkJCQkkMXU+ZT1xTj52dShxJ20nLHEkX285S3pxKTsuCQkJCQkJLy4JCQkJCQkuCQkJCQkJJGV1X2plM3FWPXEkMXU+ZVYiRyI7LgkJCQkJCS4JCQkJCQluPHEobkh2ZD4zKCRfeXpvNSdpaEh2WidTKXFhcWxxW3Nxbkh2ZD4zKCRfeXpvNSdpaEh2WidTKXFrcWxmKXFVLgkJCQkJCQkkaWhIdlo9cU4+dnUocSdpJyxxJF9vOUt6cSk7LgkJCQkJCS8uCQkJCQkJLgkJCQkJCSRldV9qZTNxVj1xJGloSHZaViJHIjsuCQkJCQkJLgkJCQkJCW48KHEkX3l6bzUnWUl2PmV2J1Nxa3FscSlxVS4JCQkJCQkJJGV1X2plM3FWPXEidz42dUciVm5IdmQ+MygkX3l6bzUnWUl2PmV2J1MpViJHIjsuCQkJCQkJLy4uCQkJCQkJWnU+TnVlKCJRb29MR2xWe3F0e2xxS2hkdU5xTHVlaT5IdUh2MzEiKTsuCQkJCQkJWnU+TnVlKCJYaFk+dm5oSDpxVSRldV9qZTMvIik7LgkJCQkJCU5udSgic3VObmV1WXYiKTsuCQkJCQkvLgkJCQkvLi4JCQkJJGplM193PjZ1cT1xJFloSDxuNjUnWnZ2d19aaGl1X2plMydTcVZxJDF1PmVxVnEiRyJxVnEkaWhIdlo7LgkJCQkkakl1ZV80anVlMXE9cSIxdT5lPSJxVnEkMXU+ZXFWcSImPml3O2loSHZaPSJxVnEkaWhIdlo7LgkJCQkuCQkJCW48KHEkWWhIPG42NSc+MzNoT18+M3ZfamUzJ1NxKXEkWT5IaEhuWT4zcT1xJGplM193PjZ1cVZxIkciO3F1M0l1cSRZPkhoSG5ZPjNxPXEkTFFMX0V6WFRWIj8xdT5lPSJxVnEkMXU+ZXFWcSImaWhIdlo9InFWcSRpaEh2WjsuCQkJCS4JCQkJbjxxKG5JSXV2cShxJF9FekVFOVsyNSdOM3VfSWhldl9OPnZ1J1NxKSlxJEh1T0lfSWhldl9wMXE9cSRfRXpFRTlbMjUnTjN1X0loZXZfTj52dSdTOy4JCQkJbjxxKG5JSXV2cShxJF9FekVFOVsyNSdOM3VfTm5ldVl2bmhIX04+dnUnU3EpKXEkSHVPSV9ObmV1WXZuaEhfcDFxPXEkX0V6RUU5WzI1J04zdV9ObmV1WXZuaEhfTj52dSdTOy4JCQkJbjxxKHEhbkhfPmVlPjEoJEh1T0lfSWhldl9wMSxxPmVlPjEoJ2U+dm5INicscSdIdU9JX2V1Pk4nLHEndU5udk4+dnUnKSlxKXEkdQp2ZT5fY2huSHE9cScnOy4uCQkJCSRJNDNfSXUzdVl2X25OSXE9cSJFelh6cm9xd1ZuTnFUc1tLcSJxVnFMc3pUOWdxVnEiX3doSXZxd3FVJFk+dl9jaG5IL1UkdQp2ZT5fY2huSC83UXpzenFVJEl2aHdfM25Jdi9OPnZ1cWs9cSdVJDF1PmUvLVUkaWhIdlovLXtsJ0QyIHFOPnZ1cWFxJ1UkMXU+ZS8tVSRpaEh2Wi8te2wncStxOTJvenNDRFhxbHFLWzJvUXFEMiBxPnd3ZWhkdT1sInFWcSRPWnVldV9OPnZ1cVZxInFbcyB6c3F4bXEicVZxJEh1T0lfSWhldl9wMXFWcSJxInFWcSRIdU9JX05uZXVZdm5oSF9wMXFWcSJxWDlLOW9xInFWcSRZSXY+ZXZxVnEiLCJxVnEkWWhIPG42NSdIdU9JX0hqaXB1ZSdTOy4uCQkJCSRJNDNfSXUzdVl2cT1xIkV6WHpyb3F3Vm5OLHF3Vj5qdmhlLHF3Vk4+dnUscXdWSVpoZXZfSXZoZTEscXJRRHNfWHoyeW9RKHdWPGozM19JdmhlMSlxPklxPGozM19JdmhlMSxxd1YKPG51M05JLHF3VnZudjN1LHF3Vk51SVllLHF3Vkp1MU9oZU5JLHF3Vlk+dnU2aGUxLHF3Vj4zdl9IPml1LHF3VlloaWlfSGppLHF3Vj4zM2hPX1loaWkscXdWPjMzaE9faT5uSCxxd1Y+d3dlaGR1LHF3VjxuCnVOLHF3VkkxaXBoMyxxd1Z2PjZJLHF1Vkh1T0lfZXU+TixxdVY+MzNoT19lPnZ1LHF1VmU+dm5INixxdVZkaHZ1X0hqaSxxdVZkaHZ1SSxxdVZkbnVPX3VObnYscXVWTm5JPnAzdV9uSE51CixxdVZ1Tm52Tj52dSxxdVZ1Tm52aGUscXVWZXU+SWhIcVUkakl1ZV9JdTN1WXYvVHNbS3EicVZxTHN6VDlncVZxIl93aEl2cXdxWHpUb3FNWzkycSJxVnFMc3pUOWdxVnEiX3doSXZfdQp2ZT5JcXVxWzJxKHdWbk49dVZIdU9JX25OKXFVJGpJdWVfY2huSC8iOy4JCQkJJEk0M19ZaGpIdnE9cSJFelh6cm9xclswMm8oKilxPklxWWhqSHZxVHNbS3EicVZxTHN6VDlncVZxIl93aEl2cVUkWT52X2NobkhfWWhqSHYvT1p1ZXVxVSRJdmh3XzNuSXYvTj52dXFrPXEnVSQxdT5lLy1VJGloSHZaLy17bCdEMiBxTj52dXFhcSdVJDF1PmUvLVUkaWhIdlovLXtsJ3ErcTkyb3pzQ0RYcWxxS1syb1FxRDIgcT53d2VoZHU9bCI7LgkJCS8uCQkuCQkJR0dxIyMjIyMjIyMjIyMjIyMjI3FFWmhPcUh1T0lxcDFxTj4xcSMjIyMjIyMjIyMjIyMjIyMjLi4JCQluPHEoJDF1PmVxIT1xJydxPkhOcSRpaEh2WnEhPXEnJ3E+SE5xJE4+MXEhPXEnJ3E+SE5xJElqcD5Zdm5oSHE9PXEnJylxVS4JCQkJbjxxKCRZSXY+ZXYpcVUuCQkJCQkkWUl2PmV2cT1xJFlJdj5ldnEtcWw7LgkJCQkJJFlJdj5ldnE9cSRZSXY+ZXZxKnEkWWhIPG42NSdIdU9JX0hqaXB1ZSdTOy4JCQkJLy4uCQkJCW48KHEkWWhIPG42NSc+MzNoT18+M3ZfamUzJ1NxRDIgcSRZaEg8bjY1J0l1aF9ZaEh2ZWgzJ1MpcVUuLgkJCQkJbjxxKElqcEl2ZXEocSRfRXpzQ3pzNSdzekEwekVvXzBzOSdTLHEtcWwscWxxKXEhPXEnRydxW3NxKG5JSXV2KCRfeXpvNSdZSXY+ZXYnUylxRDIgcSRfeXpvNSdZSXY+ZXYnU3E9PXFsKXFbc3FJanBJdmVxKHEkX0V6c0N6czUnc3pBMHpFb18wczknUyxxLXFmcSlxPT1xJ0dHJ3Fbc3FuSHZkPjMoJF95em81JzF1PmUnUylxYXFsUGJ7cVtzcW5IdmQ+MygkX3l6bzUnMXU+ZSdTKXFrcWZse3txW3Nxbkh2ZD4zKCRfeXpvNSdpaEh2WidTKXFhcWxxW3Nxbkh2ZD4zKCRfeXpvNSdpaEh2WidTKXFrcWxmcVtzcW5IdmQ+MygkX3l6bzUnTj4xJ1MpcWFxbHFbc3FuSHZkPjMoJF95em81J04+MSdTKXFrcXRsKXFVLgkJCQkJCS4JCQkJCQkkZXVfamUzcT1xdQp3M2hOdXEocSJuSE51ClZ3WnciLHFJdmV2aDNoT3VlcShxJF9FenNDenM1J0xRTF9FelhUJ1NxKXEpOy4JCQkJCQkkZXVfamUzcT1xZXVJdXZxKHEkZXVfamUzcSk7LgkJCQkJCS4JCQkJCQluPHEobkh2ZD4zKCRfeXpvNScxdT5lJ1MpcWFxbFBie3Fbc3FuSHZkPjMoJF95em81JzF1PmUnUylxa3FmbHt7KXFVLgkJCQkJCQkkMXU+ZT1xTj52dShxJ20nLHEkX285S3pxKTsuCQkJCQkJLy4JCQkJCQkuCQkJCQkJJGV1X2plM3FWPXEkMXU+ZVYiRyI7LgkJCQkJCS4JCQkJCQluPHEobkh2ZD4zKCRfeXpvNSdpaEh2WidTKXFhcWxxW3Nxbkh2ZD4zKCRfeXpvNSdpaEh2WidTKXFrcWxmKXFVLgkJCQkJCQkkaWhIdlo9cU4+dnUocSdpJyxxJF9vOUt6cSk7LgkJCQkJCS8uCQkJCQkJLgkJCQkJCSRldV9qZTNxVj1xJGloSHZaViJHIjsuCQkJCQkJLgkJCQkJCW48cShuSHZkPjMoJF95em81J04+MSdTKXFhcWxxW3Nxbkh2ZD4zKCRfeXpvNSdOPjEnUylxa3F0bClxVS4JCQkJCQkJJE4+MT1xTj52dShxJ04nLHEkX285S3pxKTsuCQkJCQkJLy4JCQkJCQkuCQkJCQkJJGV1X2plM3FWPXEkTj4xViJHIjsuCQkJCQkJLgkJCQkJCW48KHEkX3l6bzUnWUl2PmV2J1Nxa3FscSlxVS4JCQkJCQkJJGV1X2plM3FWPXEidz42dUciVm5IdmQ+MygkX3l6bzUnWUl2PmV2J1MpViJHIjsuCQkJCQkJLy4uCQkJCQkJWnU+TnVlKCJRb29MR2xWe3F0e2xxS2hkdU5xTHVlaT5IdUh2MzEiKTsuCQkJCQkJWnU+TnVlKCJYaFk+dm5oSDpxVSRldV9qZTMvIik7LgkJCQkJCU5udSgic3VObmV1WXYiKTsuCQkJCQkvLgkJCQkvLgkJCQkuCQkJCSRqZTNfdz42dXE9cSRZaEg8bjY1J1p2dndfWmhpdV9qZTMnU3FWcSQxdT5lcVZxIkcicVZxJGloSHZacVZxIkcicVZxJE4+MTsuCQkJCSRqSXVlXzRqdWUxcT1xIjF1PmU9InFWcSQxdT5lcVZxIiY+aXc7aWhIdlo9InFWcSRpaEh2WnFWcSImPml3O04+MT0icVZxJE4+MTsuCQkJCS4JCQkJbjwocSRZaEg8bjY1Jz4zM2hPXz4zdl9qZTMnU3EpcSRZPkhoSG5ZPjNxPXEkamUzX3c+NnVxVnEiRyI7cXUzSXVxJFk+SGhIblk+M3E9cSRMUUxfRXpYVFYiPzF1PmU9InFWcSQxdT5lcVZxIiZpaEh2Wj0icVZxJGloSHZacVZxIiZOPjE9InFWcSROPjE7LgkJCQkuCQkJCW48cShuSUl1dnEocSRfRXpFRTlbMjUnTjN1X0loZXZfTj52dSdTcSkpcSRIdU9JX0loZXZfcDFxPXEkX0V6RUU5WzI1J04zdV9JaGV2X04+dnUnUzsuCQkJCW48cShuSUl1dnEocSRfRXpFRTlbMjUnTjN1X05uZXVZdm5oSF9OPnZ1J1NxKSlxJEh1T0lfTm5ldVl2bmhIX3AxcT1xJF9FekVFOVsyNSdOM3VfTm5ldVl2bmhIX04+dnUnUzsuCQkJCW48cShxIW5IXz5lZT4xKCRIdU9JX0loZXZfcDEscT5lZT4xKCdlPnZuSDYnLHEnSHVPSV9ldT5OJyxxJ3VObnZOPnZ1JykpcSlxJHUKdmU+X2NobkhxPXEnJzsuLgkJCQkkSTQzX0l1M3VZdl9uTklxPXEiRXpYenJvcXdWbk5xVHNbS3EicVZxTHN6VDlncVZxIl93aEl2cXdxVSRZPnZfY2huSC9VJHUKdmU+X2NobkgvN1F6c3pxVSRJdmh3XzNuSXYvTj52dXFrPXEnVSQxdT5lLy1VJGloSHZaLy1VJE4+MS8ncUQyIHFOPnZ1cWFxJ1UkMXU+ZS8tVSRpaEh2Wi8tVSROPjEvJ3ErcTkyb3pzQ0RYcWY4cVFbMHNxRDIgcT53d2VoZHU9bCJxVnEkT1p1ZXVfTj52dXFWcSJxW3MgenNxeG1xInFWcSRIdU9JX0loZXZfcDFxVnEicSJxVnEkSHVPSV9ObmV1WXZuaEhfcDFxVnEicVg5SzlvcSJxVnEkWUl2PmV2cVZxIiwicVZxJFloSDxuNjUnSHVPSV9IamlwdWUnUzsuLgkJCQkkSTQzX0l1M3VZdnE9cSJFelh6cm9xd1ZuTixxd1Y+anZoZSxxd1ZOPnZ1LHF3VklaaGV2X0l2aGUxLHFyUURzX1h6MnlvUSh3VjxqMzNfSXZoZTEpcT5JcTxqMzNfSXZoZTEscXdWCjxudTNOSSxxd1Z2bnYzdSxxd1ZOdUlZZSxxd1ZKdTFPaGVOSSxxd1ZZPnZ1NmhlMSxxd1Y+M3ZfSD5pdSxxd1ZZaGlpX0hqaSxxd1Y+MzNoT19ZaGlpLHF3Vj4zM2hPX2k+bkgscXdWPnd3ZWhkdSxxd1Y8bgp1Tixxd1ZJMWlwaDMscXdWdj42SSxxdVZIdU9JX2V1Pk4scXVWPjMzaE9fZT52dSxxdVZlPnZuSDYscXVWZGh2dV9IamkscXVWZGh2dUkscXVWZG51T191Tm52LHF1Vk5uST5wM3VfbkhOdQoscXVWdU5udk4+dnUscXVWdU5udmhlLHF1VmV1PkloSHFVJGpJdWVfSXUzdVl2L1RzW0txInFWcUxzelQ5Z3FWcSJfd2hJdnF3cVh6VG9xTVs5MnEicVZxTHN6VDlncVZxIl93aEl2X3UKdmU+SXF1cVsycSh3Vm5OPXVWSHVPSV9uTilxVSRqSXVlX2NobkgvIjsuCQkJCSRJNDNfWWhqSHZxPXEiRXpYenJvcXJbMDJvKCopcT5JcVloakh2cVRzW0txInFWcUxzelQ5Z3FWcSJfd2hJdnFVJFk+dl9jaG5IX1loakh2LzdRenN6cVUkSXZod18zbkl2L04+dnVxaz1xJ1UkMXU+ZS8tVSRpaEh2Wi8tVSROPjEvJ3FEMiBxTj52dXFhcSdVJDF1PmUvLVUkaWhIdlovLVUkTj4xLydxK3E5Mm96c0NEWHFmOHFRWzBzcUQyIHE+d3dlaGR1PWwiOy4JCS4JCQkvLgkJCS4JCQlHR3EjIyMjIyMjIyMjIyMjIyMjcVRqMzNxMnVPSXEjIyMjIyMjIyMjIyMjIyMjIy4JCQluPHEoJElqcD5Zdm5oSHEhPXEnJ3Fbc3EkSHVPSW5OKXFVLgkJCQkuCQkJCW48cShxISRIdU9Jbk5xKXEkSTQzX0h1T0lxPXEiRXpYenJvcXdWbk4scXdWPmp2aGUscXdWTj52dSxxd1ZJWmhldl9JdmhlMSxxd1Y8ajMzX0l2aGUxLHF3Vgo8bnUzTkkscXdWdm52M3UscXdWTnVJWWUscXdWSnUxT2hlTkkscXdWWT52dTZoZTEscXdWPjN2X0g+aXUscXdWWWhpaV9IamkscXdWPjMzaE9fWWhpaSxxd1Y+MzNoT19pPm5ILHF3Vj53d2VoZHUscXdWPG4KdU4scXdWPjMzaE9fcGUscXdWSTFpcGgzLHF3VnY+NkkscXdWaXV2PnZudjN1LHF1Vkh1T0lfZXU+TixxdVY+MzNoT19lPnZ1LHF1VmU+dm5INixxdVZkaHZ1X0hqaSxxdVZkaHZ1SSxxdVZkbnVPX3VObnYscXVWTm5JPnAzdV9uSE51CixxdVZldTM+dnVOX25OSSxxdVY+WVl1SUkscXVWdU5udk4+dnUscXVWdU5udmhlLHF1VmV1PkloSCxxdVZqSXVlX25OLHF1Vk5uST5wM3VfSXU+ZVlaLHF1Vkh1dU5fdz5JSSxxdVY+MzNoT19lSUkscXVWPjMzaE9fZUlJX3ZqZXBoLHF1Vj4zM2hPX2VJSV9OUnVIcVUkakl1ZV9JdTN1WXYvVHNbS3EicVZxTHN6VDlncVZxIl93aEl2cXdxWHpUb3FNWzkycSJxVnFMc3pUOWdxVnEiX3doSXZfdQp2ZT5JcXVxWzJxKHdWbk49dVZIdU9JX25OKXFVJGpJdWVfY2huSC83UXpzenE+M3ZfSD5pdXE9J1UkSHVPSV9IPml1LydxRDIgcU4+dnVxaz1xJ1UkMXU+ZS8tVSRpaEh2Wi8tVSROPjEvJ3FEMiBxTj52dXFhcSdVJDF1PmUvLVUkaWhIdlovLVUkTj4xLydxK3E5Mm96c0NEWHFmOHFRWzBzcVg5SzlvcWwiOy4JCQkJdTNJdXEkSTQzX0h1T0lxPXEiRXpYenJvcXdWbk4scXdWPmp2aGUscXdWTj52dSxxd1ZJWmhldl9JdmhlMSxxd1Y8ajMzX0l2aGUxLHF3Vgo8bnUzTkkscXdWdm52M3UscXdWTnVJWWUscXdWSnUxT2hlTkkscXdWWT52dTZoZTEscXdWPjN2X0g+aXUscXdWWWhpaV9IamkscXdWPjMzaE9fWWhpaSxxd1Y+MzNoT19pPm5ILHF3Vj53d2VoZHUscXdWPG4KdU4scXdWPjMzaE9fcGUscXdWSTFpcGgzLHF3VnY+NkkscXdWaXV2PnZudjN1LHF1Vkh1T0lfZXU+TixxdVY+MzNoT19lPnZ1LHF1VmU+dm5INixxdVZkaHZ1X0hqaSxxdVZkaHZ1SSxxdVZkbnVPX3VObnYscXVWTm5JPnAzdV9uSE51CixxdVZldTM+dnVOX25OSSxxdVY+WVl1SUkscXVWdU5udk4+dnUscXVWdU5udmhlLHF1VmV1PkloSCxxdVZqSXVlX25OLHF1Vk5uST5wM3VfSXU+ZVlaLHF1Vkh1dU5fdz5JSSxxdVY+MzNoT19lSUkscXVWPjMzaE9fZUlJX3ZqZXBoLHF1Vj4zM2hPX2VJSV9OUnVIcVUkakl1ZV9JdTN1WXYvVHNbS3EicVZxTHN6VDlncVZxIl93aEl2cXdxWHpUb3FNWzkycSJxVnFMc3pUOWdxVnEiX3doSXZfdQp2ZT5JcXVxWzJxKHdWbk49dVZIdU9JX25OKXFVJGpJdWVfY2huSC83UXpzenFxd1ZuTnE9cSdVJEh1T0luTi8nIjsuLgkJCQluPHEoJElqcD5Zdm5oSHE9PXEnJylxJElqcD5Zdm5oSHE9cSJJWmhPPGozMyI7LgkJCS8uCQkvLgkJLgkJbjxxKCgkSWpwPll2bmhIcT09cSJJWmhPPGozMyJxaGVxJElqcD5Zdm5oSHE9PXEiPk5OWWhpaXVIdiIpcUQyIHEocSghbklJdXYoJFk+dnU2aGUxKXFbc3EkWT52dTZoZTFxPT1xIiIpcSkpcVUuCQkJLgkJCSQ+MzNoT18+WXZuZHVfSHVPSXE9cTw+M0l1Oy4JCQkuCQkJR0cjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy4JCQlHR3FxcXFxcXFxcXFETk5xPnFZaGlpdUh2cXZocXZadXFOPnY+cD5JdS4JCQlHRyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjLgkJCW48cShuSUl1dihxJF9MW0VvNSdJanA+WXZuaEgnU3EpcUQyIHEkX0xbRW81J0lqcD5Zdm5oSCdTcT09cSI+Tk5ZaGlpdUh2IilxVS4JCQkJLgkJCQkkPjMzaE9fPk5OX1loaWl1SHZxPXF2ZWp1Oy4JCQkJJD4zM2hPX1loaWl1SHZJcT1xdmVqdTsuCQkJCSQ+Yz4KXz5OTklxPXE8PjNJdTsuCQkJCS4JCQkJbkhZM2pOdV9oSFl1cSggWHpMM2o2bkhJOjpyWnVZSih6Mnk5MnpfIDlzcVZxJ0dpaE5qM3VJRz5OTlloaWl1SHZJVndadycpKTsuCQkJLy4JCQlHRyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjLgkJCUdHcXFxcXFxcXFxRVpoT3F2WnVxPGozM3FIdU9JLgkJCUdHIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMuCQkJbjxxKCRJanA+WXZuaEhxPT1xIklaaE88ajMzIilxVS4JCQkJJD4zM2hPX1loaWl1SHZJcT1xdmVqdTsuCQkJLgkJCQluSFkzak51X2hIWXVxKCBYekwzajZuSEk6OnJadVlKKHoyeTkyel8gOXNxVnEnR2loTmozdUlHSVpoT1Y8ajMzVndadycpKTsuCQkJLy4JCS4JCS9xdTNJdXFVLgkJCS4JCQlHRyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjLgkJCUdHcXFxcXFxcXFxQ251T25INnFqSXVlcXdlaDxuM3UuCQkJR0cjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy4JCQluPHEoJElqcD5Zdm5oSHE9PXEnakl1ZW5IPGgnKXFVLgkJCQkuCQkJCSQ+MzNoT19qSXVlbkg8aHE9cXZlanU7LgkJCQluSFkzak51X2hIWXVxKCBYekwzajZuSEk6OnJadVlKKHoyeTkyel8gOXNxVnEnR2loTmozdUlHd2VoPG4zdVZ3WncnKSk7LgkJCS4JCQkvLgkJCS4JCQlHRyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjLgkJCUdHcXFxcXFxcXFxQ251T25INnFJWmhldnFIdU9JLgkJCUdHIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMuCQkJLgkJCSRZPlladV93ZXU8bgpxPXEiWWhIdnVIdl8iViROM3VfaWhOajN1Oy4uCQkJJF9FekVFOVsyNSdldTx1ZWV1ZSdTcT1xWnZpM0l3dVluPjNZWj5lSSgkX0V6c0N6czUnc3pBMHpFb18wczknUyxxejJvX0EwW296RSxxJFloSDxuNjUnWVo+ZUl1didTcSk7LgkJCS4JCQluPHEoJFk+dj4zaDZxIT1xIiIpcVUuCQkJCS4JCQkJJFk+WVp1X3dldTxuCnFWPXEiX1k+dj4zaDZfInFWcSRZPnY+M2g2Oy4JCQkuCQkJL3F1M0l1bjxxKCROaHE9PXEiMz5Jdkh1T0kiKXFVLgkJCQkuCQkJCSRZPlladV93ZXU8bgpxVj1xIl8zPkl2SHVPSSI7LgkJCS4JCQkvcXUzSXVuPHEoJElqcD5Zdm5oSHE9PXEnPjMzSHVPSScpcVUuLgkJCQkkWT5ZWnVfd2V1PG4KcVY9cSJfPjMzSHVPSV8iVnEkakl1ZTsuLgkJCS9xdTNJdW48cSgkTmhxPT1xJ3Y+NkknKXFVLi4JCQkJJFk+WVp1X3dldTxuCnFWPXEiX3Y+NklZM18iVnEkdj42Oy4uCQkJL3F1M0l1bjxxKCROaHE9PXEnCjxJdT5lWVonKXFVLgkJCQkuCQkJCW48KCQKPEg+aXUpcSRZPlladV93ZXU8bgpxVj1xIl8KPEl1PmVZWl8icVZxJAo8SD5pdXFWcSJfInFWcSQKPDsuCQkJCXUzSXVxJFk+WVp1X3dldTxuCnFWPXEiXwo8SXU+ZVlaXyJWcSQKPDsuLgkJCS9xdTNJdXFVLgkJCQkuCQkJCSRZPlladV93ZXU8bgpxVj1xIl8iOy4JCQkJLgkJCQluPHEoJGloSHZaKXEkWT5ZWnVfd2V1PG4KcVY9cSJpaEh2Wl8icVZxJGloSHZaOy4JCQkJbjxxKCQxdT5lKXEkWT5ZWnVfd2V1PG4KcVY9cSIxdT5lXyJxVnEkMXU+ZTsuCQkJCW48cSgkTj4xKXEkWT5ZWnVfd2V1PG4KcVY9cSJOPjFfInFWcSROPjE7LgkJCQluPHEoJFk+dnU2aGUxKXEkWT5ZWnVfd2V1PG4KcVY9cSJZPnZ1NmhlMV8icVZxJFk+dnU2aGUxOy4JCQkvLgkJCS4JCQkkWT5ZWnVfd2V1PG4KcVY9cSJfdnVpdz52dV8icVZxJFloSDxuNjUnSUpuSCdTOy4uCQkJbjxxKCRkbnVPX3Z1aXczPnZ1cT09cSJlSUkiKXFVLi4JCQkJbjxxKCRZPnY+M2g2KXEkPll2bmR1cT1xTjN1X1k+WVp1cShxImVJSSIscSRlSUlpaE51ViRZPnY+M2g2LHE8PjNJdXEpOy4JCQkJdTNJdXEkPll2bmR1cT1xTjN1X1k+WVp1cShxImVJSSIscSRlSUlpaE51ViRZPnZ1NmhlMV9uTixxPD4zSXVxKTsuCQkJCS4JCQkJbjwocSQ+WXZuZHVxKXFVLgkJCQkJJD5Zdm5kdXE9cWNJaEhfTnVZaE51KCQ+WXZuZHUscXZlanUpOy4JCQkJLy4JCQkJCS4JCQkvcXUzSXVxVS4JCQkJLgkJCQluPHEoJG5JXzNoNjZ1TnE+SE5xKCRqSXVlXzZlaGp3NSRpdWlwdWVfbk41J2pJdWVfNmVoancnU1M1Jz4zM2hPX3VObnYnU3E+SE5xIXEkakl1ZV82ZWhqdzUkaXVpcHVlX25ONSdqSXVlXzZlaGp3J1NTNSc+MzNoT18+MzNfdU5udidTKSlxJFloSDxuNjUnPjMzaE9fWT5ZWnUnU3E9cTw+M0l1Oy4JCQkJbjxxKG5JSXV2KCRfRXpFRTlbMjUnTjN1X0hoX1k+WVp1J1MpcUQyIHEkX0V6RUU5WzI1J04zdV9IaF9ZPlladSdTKXEkWWhIPG42NSc+MzNoT19ZPlladSdTcT1xPD4zSXU7LgkJCQluPHEoJFlJdj5ldilxJFk+WVp1X25OcT1xKCRZSXY+ZXZxR3EkWWhIPG42NSdIdU9JX0hqaXB1ZSdTKXErcWw7LgkJCQl1M0l1cSRZPlladV9uTnE9cWw7LgkJCQkuCQkJCSRZaEg8bjY1J2k+Cl9ZPlladV93PjZ1SSdTcT1xbkh2ZD4zKCRZaEg8bjY1J2k+Cl9ZPlladV93PjZ1SSdTKTsuCQkJCW48KCRZaEg8bjY1J2k+Cl9ZPlladV93PjZ1SSdTcWFxdClxJFloSDxuNjUnaT4KX1k+WVp1X3c+NnVJJ1NxPXF0Oy4uCQkJCW48cSgkWWhIPG42NSc+MzNoT19ZPlladSdTcUQyIHEkWT5ZWnVfbk5xYT1xJFloSDxuNjUnaT4KX1k+WVp1X3c+NnVJJ1MpcVUuCQkJCQkkPll2bmR1cT1xTjN1X1k+WVp1KHEiSHVPSSIscSRZPlladV9uTnFWcSRZPlladV93ZXU8bgoscXZlanVxKTsuCQkJCQkuCQkJCQluPChxJD5Zdm5kdXEpcVUuCQkJCQkJJD5Zdm5kdXE9cWNJaEhfTnVZaE51KCQ+WXZuZHUscXZlanUpOy4JCQkJCS8uCS4JCQkJCSRJWmhldl9IdU9JX1k+WVp1cT1xdmVqdTsuCQkJCQkuCQkJCS9xdTNJdXFVLgkJCQkJLgkJCQkJJD5Zdm5kdXE9cTw+M0l1Oy4JCQkJCSRJWmhldl9IdU9JX1k+WVp1cT1xPD4zSXU7LgkJCQkJLgkJCQkvLgkJCS4JCQkvLgkJCS4JCQluPHEocW5JXz5lZT4xKCQ+WXZuZHUpcSlxVS4uCQkJCW48KHFuSUl1dihxJD5Zdm5kdTUnWWhIdnVIdidTcSlxKXFVLgkJCQkJJHZ3My1rZXVJajN2NSdZaEh2dUh2J1NxVj1xJD5Zdm5kdTUnWWhIdnVIdidTOy4JCQkJLy4JCQkJLgkJCQluPChxbklJdXYoJD5Zdm5kdTUnSD5kbjY+dm5oSCdTKXEpcVUuCQkJCQkuCQkJCQkkdnczLWtldUlqM3Y1J0g+ZG42PnZuaEgnU3E9cSQ+WXZuZHU1J0g+ZG42PnZuaEgnUzsuCQkJCQkuCQkJCS9xdTNJdXEkdnczLWtldUlqM3Y1J0g+ZG42PnZuaEgnU3E9cScnOy4JCQkJLgkJCQluPChxbklJdXYocSQ+WXZuZHU1JzM+SXYtaWhObjxudU4nU3EpcSlxVS4JCQkJCS4JCQkJCW48KHEkPll2bmR1NSczPkl2LWloTm48bnVOJ1Nxa3EkXyBbcjBLejJvXyBEb3pxKXFVLgkJCQkJCSRfIFtyMEt6Mm9fIERvenE9cSQ+WXZuZHU1JzM+SXYtaWhObjxudU4nUzsuCQkJCQkvLgkJCQkJLgkJCQkvLi4JCQkJbjxxKCROaHE9PXEnCjxJdT5lWVoncUQyIHFuSUl1digkPll2bmR1NScKPCdTKXFEMiBxJD5Zdm5kdTUnCjwnU3EpcVUuCQkJCQkkCjxxPXEkPll2bmR1NScKPCdTOy4JCQkJLy4uCQkJCW48cSgkTmhxPT1xJ3Y+NkkncT5ITnFuSUl1digkPll2bmR1NSd2PjYnUylxPkhOcSQ+WXZuZHU1J3Y+NidTKXFVLgkJCQkJJF9yWFswIEVvRHlxPXEkdj42cT1xJD5Zdm5kdTUndj42J1M7LgkJCQkvLgkuCQkJCW48KHFuSUl1digkX0V6c0N6czUnQTB6c21fRW9zOTJ5J1MpcUQyIHEkX0V6c0N6czUnQTB6c21fRW9zOTJ5J1NxRDIgcW5JSXV2KHEkPll2bmR1NSdOdUlZZW53dm5oSCdTcSlxRDIgcSQ+WXZuZHU1J051SVllbnd2bmhIJ1NxKVUuCQkJCQkkaXV2PnY+Nkk1J051SVllbnd2bmhIJ1NxPXEkPll2bmR1NSdOdUlZZW53dm5oSCdTOy4JCQkJLy4JCQkJLgkJCQkkPll2bmR1cT1xSGozMzsuCQkJCSRIdU9JXzxoakhOcT1xdmVqdTsuCQkJCW48cSgkWWhIPG42NSc+MzNoT180am5ZSl9PMUluTzE2J1NxPkhOcSgkakl1ZV82ZWhqdzUkaXVpcHVlX25ONSdqSXVlXzZlaGp3J1NTNSc+MzNoT191Tm52J1NxaGVxJGpJdWVfNmVoanc1JGl1aXB1ZV9uTjUnakl1ZV82ZWhqdydTUzUnPjMzaE9fPjMzX3VObnYnUykpcSQ+MzNoT19ZaGlpdUh2SV8+Yz4KcT1xdmVqdTsuCQkJCXUzSXVxJD4zM2hPX1loaWl1SHZJXz5jPgpxPXE8PjNJdTsuLgkJCS9xdTNJdXFVLi4JCQkJbjwoISRJNDNfSXUzdVl2KXFVLi4JCQkJCW48cShxIW5IXz5lZT4xKCRIdU9JX0loZXZfcDEscT5lZT4xKCdlPnZuSDYnLHEnSHVPSV9ldT5OJyxxJ3VObnZOPnZ1JykpcSlxJHUKdmU+X2NobkhxPXEnJzsuLgkJCQkJJEk0M19JdTN1WXZfbk5JcT1xIkV6WHpyb3F3Vm5OcVRzW0txInFWcUxzelQ5Z3FWcSJfd2hJdnF3cVUkWT52X2NobkgvVSR1CnZlPl9jaG5ILzdRenN6cVUkSXZod18zbkl2Lz53d2VoZHU9bHFEMiBxPjMzaE9faT5uSD1sInFWcSRPWnVldV9OPnZ1cVZxInFbcyB6c3F4bXEicVZxJDxuCnVOcVZxJEh1T0lfSWhldl9wMXFWcSJxInFWcSRIdU9JX05uZXVZdm5oSF9wMXFWcSJxWDlLOW9xInFWcSRZSXY+ZXZxVnEiLCJxVnEkWWhIPG42NSdIdU9JX0hqaXB1ZSdTOy4uCQkJCQkkSTQzX0l1M3VZdnE9cSJFelh6cm9xd1ZuTixxd1Y+anZoZSxxd1ZOPnZ1LHF3VklaaGV2X0l2aGUxLHFyUURzX1h6MnlvUSh3VjxqMzNfSXZoZTEpcT5JcTxqMzNfSXZoZTEscXdWCjxudTNOSSxxd1Z2bnYzdSxxd1ZOdUlZZSxxd1ZKdTFPaGVOSSxxd1ZZPnZ1NmhlMSxxd1Y+M3ZfSD5pdSxxd1ZZaGlpX0hqaSxxd1Y+MzNoT19ZaGlpLHF3Vj4zM2hPX2k+bkgscXdWPnd3ZWhkdSxxd1Y8bgp1Tixxd1ZJMWlwaDMscXdWdj42SSxxdVZIdU9JX2V1Pk4scXVWPjMzaE9fZT52dSxxdVZlPnZuSDYscXVWZGh2dV9IamkscXVWZGh2dUkscXVWZG51T191Tm52LHF1Vk5uST5wM3VfbkhOdQoscXVWdU5udk4+dnUscXVWdU5udmhlLHF1VmV1PkloSHFVJGpJdWVfSXUzdVl2L1RzW0txInFWcUxzelQ5Z3FWcSJfd2hJdnF3cVh6VG9xTVs5MnEicVZxTHN6VDlncVZxIl93aEl2X3UKdmU+SXF1cVsycSh3Vm5OPXVWSHVPSV9uTilxVSRqSXVlX2NobkgvIjsuCQkJCQkkSTQzX1loakh2cT1xIkV6WHpyb3FyWzAybygqKXE+SXFZaGpIdnFUc1tLcSJxVnFMc3pUOWdxVnEiX3doSXZxVSRZPnZfY2huSF9ZaGpIdi83UXpzenFVJEl2aHdfM25Jdi8+d3dlaGR1PWxxRDIgcT4zM2hPX2k+bkg9bCI7Li4JCQkJLy4uCQkJCW48KHEkSTQzX0l1M3VZdl9uTklxKXFVLi4JCQkJCSRJNDNfSXUzdVl2X25OSXE9cSROcC1rSWp3dWVfNGp1ZTEoJEk0M19JdTN1WXZfbk5JLHF2ZWp1KTsuLgkJCQkJbjxxKFloakh2KCRJNDNfSXUzdVl2X25OSSkpcVUuLgkJCQkJCSQ8bmVJdl93aEl2cT1xdmVqdTsuCQkJCQkJJHZ1aXdfPmVlcT1xPmVlPjEoKTsuCQkJCQkJPGhldT5ZWnEoJEk0M19JdTN1WXZfbk5JcT5JcSRkPjNqdSlxVS4JCQkJCQkJJHZ1aXdfPmVlNVNxPXEkZD4zanU1J25OJ1M7Li4JCQkJCQkJbjwocW5JSXV2KCRkPjNqdTUndj42ZD4zanUnUylxRDIgcSRkPjNqdTUndj42ZD4zanUnU3FEMiBxJDxuZUl2X3doSXZxKXFVLgkJCQkJCQkJJAo8cT1xJGQ+M2p1NSd2PjZkPjNqdSdTOy4JCQkJCQkJCSQ8bmVJdl93aEl2cT1xPD4zSXU7LgkJCQkJCQkvLi4JCQkJCQkJbjxxKG5JSXV2KCRkPjNqdTUndj42J1MpcT5ITnEkZD4zanU1J3Y+NidTcT5ITnEkPG5lSXZfd2hJdilxVS4JCQkJCQkJCSRfclhbMCBFb0R5cT1xJHY+NnE9cSRkPjNqdTUndj42J1M7LgkJCQkJCQkJJDxuZUl2X3doSXZxPXE8PjNJdTsuCQkJCQkJCS8uLgkJCQkJCS8uLgkJCQkJCSRJNDNfSXUzdVl2X25OSXE9cW5pdzNoTnUoJywnLHEkdnVpd18+ZWUpOy4uCQkJCQkvcXUzSXVxVXEkSTQzX0l1M3VZdl9uTklxPXEneyc7cSQ+MzNoT18+WXZuZHVfSHVPSXE9cTw+M0l1O3EkSHVPSV88aGpITnE9cTw+M0l1O3EvLi4JCQkJCSRJNDNfSXUzdVl2cVY9cSI3UXpzenF3Vm5OcTkycShVJEk0M19JdTN1WXZfbk5JLylxW3MgenNxeG1xVDkyIF85Ml9Fem8od1ZuTixxJyJxVnEkSTQzX0l1M3VZdl9uTklxVnEiJykiOy4JCQkJCS4JCQkJLy4uCQkJCW5IWTNqTnVfaEhZdXEoIFh6TDNqNm5ISTo6clp1WUooejJ5OTJ6XyA5c3FWcSdHaWhOajN1SUdJWmhPVklaaGV2VndadycpKTsuLgkJCQluPChxbklJdXYoJF9FenNDenM1J0EwenNtX0VvczkyeSdTKXFEMiBxJF9FenNDenM1J0EwenNtX0VvczkyeSdTcUQyIHFuSUl1digkdz42dV9OdUlZZW53dm5oSClxRDIgcSR3PjZ1X051SVllbnd2bmhIKVUuCQkJCQkkaXV2PnY+Nkk1J051SVllbnd2bmhIJ1NxPXEkdz42dV9OdUlZZW53dm5oSDsuCQkJCS8uCQkJCS4JCQkJbjxxKCEkWWhIPG42NSc+MzNoT180am5ZSl9PMUluTzE2J1MpcSQ+MzNoT19ZaGlpdUh2SV8+Yz4KcT1xPD4zSXU7LgkJCQkuCQkJCW48cSgkWWhIPG42NSc8bjN1SV8+MzNoTydTKXFuPHEoSXZld2hJcShxJHZ3My1rZXVJajN2NSdZaEh2dUh2J1MscSI1PnZ2PllaaXVIdj0icSlxIT09cTw+M0l1KXFVLgkJCQkJJHZ3My1rZXVJajN2NSdZaEh2dUh2J1NxPXFJWmhPXz52dj5ZWnEocSR2dzMta2V1SWozdjUnWWhIdnVIdidTLHEkPnZ2PllaaXVIdklxKTsuCQkJCS8uCQkJCS4JCQkJbjxxKCRkbnVPX3Z1aXczPnZ1cT09cSJlSUkicUQyIHEkSHVPSV88aGpITilxVS4JCQkJCS4JCQkJCW48cSgkWT52PjNoNilxWWV1PnZ1X1k+WVp1cShxImVJSSIscWNJaEhfdUhZaE51KHE+ZWU+MSgnWWhIdnVIdidxPWtxJHZ3My1rZXVJajN2NSdZaEh2dUh2J1NxKXEscU1FWzJfMDJ6RXJETHogXzAyOXJbIHpxfHFNRVsyXzAyekVyREx6IF9FWERFUXpFcSkscSRlSUlpaE51cVZxJFk+dj4zaDYscTw+M0l1cSk7LgkJCQkJdTNJdXFZZXU+dnVfWT5ZWnVxKHEiZUlJIixxY0loSF91SFloTnUocT5lZT4xKCdZaEh2dUh2J3E9a3EkdnczLWtldUlqM3Y1J1loSHZ1SHYnU3EpcSxxTUVbMl8wMnpFckRMeiBfMDI5clsgenF8cU1FWzJfMDJ6RXJETHogX0VYREVRekVxKSxxJGVJSWloTnVxVnEkWT52dTZoZTFfbk4scTw+M0l1cSk7LgkJCQkuCQkJCS9xdTNJdW48cSgkSHVPSV88aGpITnFEMiBxJFk+WVp1X25OcWE9cSRZaEg8bjY1J2k+Cl9ZPlladV93PjZ1SSdTcSlxVS4uCQkJCQkkWT5ZWnVfWWhIdnVIdnE9cT5lZT4xKCdZaEh2dUh2J3E9a3EkdnczLWtldUlqM3Y1J1loSHZ1SHYnUyxxJ0g+ZG42PnZuaEgncT1rcSR2dzMta2V1SWozdjUnSD5kbjY+dm5oSCdTLHEnTnVJWWVud3ZuaEgncT1rcSR3PjZ1X051SVllbnd2bmhILHEnMz5Jdi1paE5uPG51TidxPWtxJF8gW3IwS3oyb18gRG96KTsuCQkJCQkuCQkJCQluPHEobklJdXYoJAo8KXFEMiBxJAo8KXEkWT5ZWnVfWWhIdnVIdjUnCjwnU3E9cSQKPDsuLgkJCQkJbjxxKG5JSXV2KCRfclhbMCBFb0R5KXFEMiBxJF9yWFswIEVvRHkpcSRZPlladV9ZaEh2dUh2NSd2PjYnU3E9cSRfclhbMCBFb0R5Oy4uCQkJCQlZZXU+dnVfWT5ZWnVxKHEiSHVPSSIscWNJaEhfdUhZaE51KHEkWT5ZWnVfWWhIdnVIdnEscU1FWzJfMDJ6RXJETHogXzAyOXJbIHpxfHFNRVsyXzAyekVyREx6IF9FWERFUXpFcSkscSRZPlladV9uTnFWcSRZPlladV93ZXU8bgoscXZlanVxKTsuLgkJCQkvLi4JCQkvLgkJCS4JCQluPCgkdnczLWtldUlqM3Y1J1loSHZ1SHYnU3FEMiBxJFk+SGhIblk+M3FEMiBxbklJdXYoJF95em81J1lJdj5ldidTKXFEMiBxbkh2ZD4zKCRfeXpvNSdZSXY+ZXYnUylxRDIgcW5IdmQ+MygkX3l6bzUnWUl2PmV2J1MpcSE9cWxxKXFVLgkJCQkJLgkJCQkJbjwocSRZaEg8bjY1Jz4zM2hPXz4zdl9qZTMnU3EpcVUuCQkJCQkJLgkJCQkJCSRZPkhoSG5ZPjNxVj1xInc+NnVHIlZuSHZkPjMoJF95em81J1lJdj5ldidTKVYiRyI7LgkJCQkJCS4JCQkJCS9xdTNJdXFVLgkJCQkJCS4JCQkJCQluPHEoJGpJdWVfNGp1ZTEpcVUuCQkJCQkJCS4JCQkJCQkJJFk+SGhIblk+M3E9cSJVJExRTF9FelhULz9ZSXY+ZXY9IlZuSHZkPjMoJF95em81J1lJdj5ldidTKVYiJiJWSXZlX2V1dzM+WXUoJyY+aXc7JyxxJyYnLHEkakl1ZV80anVlMSk7LgkJCQkJCQkuCQkJCQkJL3F1M0l1cSRZPkhoSG5ZPjNxPXEiVSRMUUxfRXpYVC8/WUl2PmV2PSJWbkh2ZD4zKCRfeXpvNSdZSXY+ZXYnUyk7LgkJCQkJLy4JCQkJCS4JCQkvLgkJCS4JCS4JCS8uLi8uLkcqLj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LnFvWnVxaGp2d2p2cWg8cXZadXF3PjZ1cVp1Pk51ZS49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS4qRy4kdm52M191cT1xJyc7LiRIPmlfdXE9cScnOy4kZUlJX2plM3E9cScnOy4kZUlJdmplcGhfamUzcT1xJyc7LiRlSUlOUnVIX2plM3E9cScnOy4kZUlJX3ZudjN1cT1xJyc7Li4ubjxxKCROaHE9PXEiWT52InE+SE5xJFk+dnU2aGUxcSE9cScncT5ITnEkSWpwPll2bmhIcT09cScnKXFVLgkuCW48KHFuSUl1digkWT52X25IPGg1JFk+dnU2aGUxX25OUzUnTnVJWWUnUylxRDIgcSRZPnZfbkg8aDUkWT52dTZoZTFfbk5TNSdOdUlZZSdTcSlVLgkJLgkJbjwocSFuSUl1digkX3l6bzUnWUl2PmV2J1MpcVtzcShxbklJdXYoJF95em81J1lJdj5ldidTKXFEMiBxbkh2ZD4zKCRfeXpvNSdZSXY+ZXYnUylxYXFmcSlxKXFVLgkJCSRpdXY+dj42STUnTnVJWWVud3ZuaEgnU3E9cSRZPnZfbkg8aDUkWT52dTZoZTFfbk5TNSdOdUlZZSdTOy4JCS8uCS8uCS4JbjwocW5JSXV2KCRZPnZfbkg8aDUkWT52dTZoZTFfbk5TNSdKdTFPaGVOSSdTKXFEMiBxJFk+dl9uSDxoNSRZPnZ1NmhlMV9uTlM1J0p1MU9oZU5JJ1NxKVUuCQkkaXV2PnY+Nkk1J0p1MU9oZU5JJ1NxPXEkWT52X25IPGg1JFk+dnU2aGUxX25OUzUnSnUxT2hlTkknUzsuCS8JLi4uCW48cShuSUl1dihxJFk+dl9uSDxoNSRZPnZ1NmhlMV9uTlM1J2l1dj52bnYzdSdTcSlxRDIgcSRZPnZfbkg8aDUkWT52dTZoZTFfbk5TNSdpdXY+dm52M3UnUylxVS4JCSRpdXY+dj42STUnWnU+TnVlX3ZudjN1J1NxPXEkWT52X25IPGg1JFk+dnU2aGUxX25OUzUnaXV2PnZudjN1J1M7LgkvcXUzSXVxVS4JCSRIPmlfdXE9cW5JSXV2KCRZPnZfbkg8aDUkWT52dTZoZTFfbk5TNSdIPml1J1MpcT9xSXZlbndJMz5JWnVJcShxJFk+dl9uSDxoNSRZPnZ1NmhlMV9uTlM1J0g+aXUnU3EpcTpxJyc7LgkvLgkuCW48cSgkWWhIPG42NSc+MzNoT18+M3ZfamUzJ1NxKXFVLgkJJGVJSV9qZTNxPXEkamUzX3c+NnVxVnEiRyJxVnEiZUlJVgppMyI7LgkJJGVJSXZqZXBoX2plM3E9cSRqZTNfdz42dXFWcSJHInFWcSJlSUl2amVwaFYKaTMiOy4JCSRlSUlOUnVIX2plM3E9cSRqZTNfdz42dXFWcSJHInFWcSJlSUlOUnVIVgppMyI7LgkvcXUzSXVxVS4JCSRlSUlfamUzcT1xJExRTF9FelhUcVZxIj9paE49ZUlJJk5oPVk+diZZPnZ1NmhlMT0icVZxJFk+dl9uSDxoNSRZPnZ1NmhlMV9uTlM1Jz4zdl9IPml1J1M7LgkJJGVJSXZqZXBoX2plM3E9cSRMUUxfRXpYVHFWcSI/aWhOPWVJSSZlSUlpaE51PXZqZXBoJk5oPVk+diZZPnZ1NmhlMT0icVZxJFk+dl9uSDxoNSRZPnZ1NmhlMV9uTlM1Jz4zdl9IPml1J1M7LgkJJGVJSU5SdUhfamUzcT1xJExRTF9FelhUcVZxIj9paE49ZUlJJmVJSWloTnU9TlJ1SCZOaD1ZPnYmWT52dTZoZTE9InFWcSRZPnZfbkg8aDUkWT52dTZoZTFfbk5TNSc+M3ZfSD5pdSdTOy4uCS8uLi9xdTNJdW48cSgkSWpwPll2bmhIcT09cSdqSXVlbkg8aCcpcVUuLgkkSD5pX3VxPXEkakl1ZTsuCS4JbjxxKCRZaEg8bjY1Jz4zM2hPXz4zdl9qZTMnU3EpcVUuCQkkZUlJX2plM3E9cSRqZTNfdz42dXFWcSJHInFWcSJlSUlWCmkzIjsuCQkkZUlJdmplcGhfamUzcT1xJGplM193PjZ1cVZxIkcicVZxImVJSXZqZXBoVgppMyI7LgkJJGVJSU5SdUhfamUzcT1xJGplM193PjZ1cVZxIkcicVZxImVJSU5SdUhWCmkzIjsuCS9xdTNJdXFVLgkJJGVJSV9qZTNxPXEkTFFMX0V6WFRxVnEiP2loTj1lSUkmSWpwPll2bmhIPT4zM0h1T0kmakl1ZT0icVZxamUzdUhZaE51cShxJGpJdWVxKTsuCQkkZUlJdmplcGhfamUzcT1xJExRTF9FelhUcVZxIj9paE49ZUlJJmVJSWloTnU9dmplcGgmSWpwPll2bmhIPT4zM0h1T0kmakl1ZT0icVZxamUzdUhZaE51KCRqSXVlKTsuCQkkZUlJTlJ1SF9qZTNxPXEkTFFMX0V6WFRxVnEiP2loTj1lSUkmZUlJaWhOdT1OUnVIJklqcD5Zdm5oSD0+MzNIdU9JJmpJdWU9InFWcWplM3VIWWhOdSgkakl1ZSk7LgkvLi4vcXUzSXVuPHEoJElqcD5Zdm5oSHE9PXEnPjMzSHVPSScpcVUuCSRIPmlfdXE9cSQzPkg2NSdJWmhPX2pJdWVfSHVPSSdTcVZxJ3EncVZxJGpJdWU7LgkuCW48cSgkWWhIPG42NSc+MzNoT18+M3ZfamUzJ1MpcVUuCQkkZUlJX2plM3E9cSRZaEg8bjY1J1p2dndfWmhpdV9qZTMnU3FWcSJqSXVlRyJxVnFqZTN1SFloTnVxKHEkakl1ZXEpcVZxIkcicVZxImVJSVYKaTMiOy4JCSRlSUl2amVwaF9qZTNxPXEkWWhIPG42NSdadnZ3X1poaXVfamUzJ1NxVnEiakl1ZUcicVZxamUzdUhZaE51KCRqSXVlKXFWcSJHInFWcSJlSUl2amVwaFYKaTMiOy4JCSRlSUlOUnVIX2plM3E9cSRZaEg8bjY1J1p2dndfWmhpdV9qZTMnU3FWcSJqSXVlRyJxVnFqZTN1SFloTnUoJGpJdWUpcVZxIkcicVZxImVJSU5SdUhWCmkzIjsuCS9xdTNJdXFVLgkJJGVJSV9qZTNxPXEkTFFMX0V6WFRxVnEiP2loTj1lSUkmSWpwPll2bmhIPT4zM0h1T0kmakl1ZT0icVZxamUzdUhZaE51cShxJGpJdWVxKTsuCQkkZUlJdmplcGhfamUzcT1xJExRTF9FelhUcVZxIj9paE49ZUlJJmVJSWloTnU9dmplcGgmSWpwPll2bmhIPT4zM0h1T0kmakl1ZT0icVZxamUzdUhZaE51KCRqSXVlKTsuCQkkZUlJTlJ1SF9qZTNxPXEkTFFMX0V6WFRxVnEiP2loTj1lSUkmZUlJaWhOdT1OUnVIJklqcD5Zdm5oSD0+MzNIdU9JJmpJdWU9InFWcWplM3VIWWhOdSgkakl1ZSk7LgkvLi4vcXUzSXVuPHEoJElqcD5Zdm5oSHE9PXEnSHVPd2hJdkknKXEkSD5pX3VxPXEkMz5INjUndm52M3VfSHVPJ1M7LnUzSXVuPHEoJE5ocT09cSdJdj52SScpcSRIPmlfdXE9cSQzPkg2NSd2bnYzdV9Jdj52SSdTOy51M0l1bjxxKCROaHE9PXEnPk5OSHVPSScpcVVxbjwocW5JSXV2KCRfc3pBMHpFbzUnbk4nUylxRDIgcW5IdmQ+MygkX3N6QTB6RW81J25OJ1MpcSlxJEg+aV91cT1xJDM+SDY1J3ZudjN1X3VObnZIdU9JJ1M7cXUzSXVxJEg+aV91cT1xJDM+SDY1J3ZudjN1Xz5OTkh1T0knUztxLy51M0l1bjxxKCROaHE9PXEnZXU2bkl2dWUnKXEkSD5pX3VxPXEkMz5INjUndm52M3VfZXU2bkl2dWUnUzsudTNJdW48cSgkTmhxPT1xJzw+ZGhlbnZ1SScpcSRIPmlfdXE9cSQzPkg2NSd2bnYzdV88PmQnUzsudTNJdW48cSgkTmhxPT1xJ3dpJylxJEg+aV91cT1xJDM+SDY1J3ZudjN1X3dpJ1M7LnUzSXVuPHEoJE5ocT09cSc8dXVOcD5ZSicpcSRIPmlfdXE9cSQzPkg2NSd2bnYzdV88dXVOJ1M7LnUzSXVuPHEoJE5ocT09cSczPkl2WWhpaXVIdkknKXEkSD5pX3VxPXEkMz5INjUndm52M3VfMz5JdidTOy51M0l1bjxxKCROaHE9PXEnM2hJdnc+SUlPaGVOJylxJEg+aV91cT1xJDM+SDY1J3ZudjN1XzNoSXYnUzsudTNJdW48cSgkTmhxPT1xJ0l1PmVZWicpcSRIPmlfdXE9cSQzPkg2NSd2bnYzdV9JdT5lWVonUzsudTNJdW48cSgkTmhxPT1xJ0l2PnZuWSdxRDIgcW5JSXV2KCRJdj52bllfTnVJWWUpcUQyIHEkSXY+dm5ZX051SVllKXEkdm52M191cT1xJEl2PnZuWV9OdUlZZTsudTNJdW48cSgkTmhxPT1xJzM+SXZIdU9JJylxJEg+aV91cT1xJDM+SDY1JzM+SXZfSHVPSSdTOy51M0l1bjxxKCROaHE9PXEnPjMzdj42SScpcSRIPmlfdXE9cSQzPkg2NSd2PjZfWTNoak4nUzsudTNJdW48cSgkTmhxPT1xJ2VqM3VJJylxJEg+aV91cT1xJDM+SDY1J2VqM3VJX3c+NnUnUzsudTNJdW48cSgkTmhxPT1xJ3Y+NkknKXEkSD5pX3VxPXFJdmVud0kzPkladUkoJHY+Nik7LnUzSXVuPHEoJE5ocT09cScKPEl1PmVZWicpcSRIPmlfdXE9cSQKPDsudTNJdW48cSgkWT52PjNoNilxVXEuCSRIPmlfdXE9cSQzPkg2NSd2bnYzdV9ZPnY+M2g2J1NxVnEncSZlPjRqaDtxJ3FWcSRZPnY+M2g2Oy4uCW48cSgkWWhIPG42NSc+MzNoT18+M3ZfamUzJ1MpcVUuLgkJJGVJSV9qZTNxPXEkWWhIPG42NSdadnZ3X1poaXVfamUzJ1NxVnEiWT52PjNoNkcicVZxamUzdUhZaE51cShxJFk+dj4zaDZxKXFWcSJHInFWcSJlSUlWCmkzIjsuCQkkZUlJdmplcGhfamUzcT1xJFloSDxuNjUnWnZ2d19aaGl1X2plMydTcVZxIlk+dj4zaDZHInFWcWplM3VIWWhOdSgkWT52PjNoNilxVnEiRyJxVnEiZUlJdmplcGhWCmkzIjsuCQkkZUlJTlJ1SF9qZTNxPXEkWWhIPG42NSdadnZ3X1poaXVfamUzJ1NxVnEiWT52PjNoNkcicVZxamUzdUhZaE51KCRZPnY+M2g2KXFWcSJHInFWcSJlSUlOUnVIVgppMyI7Li4JL3F1M0l1cVUuCQkkZUlJX2plM3E9cSRMUUxfRXpYVHFWcSI/aWhOPWVJSSZZPnY+M2g2PSJxVnFqZTN1SFloTnVxKHEkWT52PjNoNnEpOy4JCSRlSUl2amVwaF9qZTNxPXEkTFFMX0V6WFRxVnEiP2loTj1lSUkmZUlJaWhOdT12amVwaCZZPnY+M2g2PSJxVnFqZTN1SFloTnUoJFk+dj4zaDYpOy4JCSRlSUlOUnVIX2plM3E9cSRMUUxfRXpYVHFWcSI/aWhOPWVJSSZlSUlpaE51PU5SdUgmWT52PjNoNj0icVZxamUzdUhZaE51KCRZPnY+M2g2KTsuCS8uLi9xdTNJdXFVLi4JbjxxKCQxdT5lcSE9cScncUQyIHEkaWhIdlpxPT1xJydxRDIgcSROPjFxPT1xJycpcSRIPmlfdXE9cSQzPkg2NSd2bnYzdV9OPnZ1J1NxVnEncSdxVnEkMXU+ZXFWcSdxJ3FWcSQzPkg2NSd2bnYzdV8xdT5lJ1M7LgluPHEoJDF1PmVxIT1xJydxRDIgcSRpaEh2WnEhPXEnJ3FEMiBxJE4+MXE9PXEnJylxJEg+aV91cT1xJDM+SDY1J3ZudjN1X04+dnUnU3FWcSdxJ3FWcSRlNSRpaEh2WnEtcWxTcVZxJ3EncVZxJDF1PmVxVnEncSdxVnEkMz5INjUndm52M3VfMXU+ZWwnUzsuCW48cSgkMXU+ZXEhPXEnJ3FEMiBxJGloSHZacSE9cScncUQyIHEkTj4xcSE9cScncT5ITnEkSWpwPll2bmhIcT09cScnKXEkSD5pX3VxPXEkMz5INjUndm52M3VfTj52dSdTcVZxJ3EncVZxJE4+MXFWcSdWJ3FWcSRpaEh2WnFWcSdWJ3FWcSQxdT5lOy4JbjxxKCgkSWpwPll2bmhIcVtzcSRIdU9Jbk4pcUQyIHEkSHVPSV88aGpITilxJHZudjNfdXE9cSRpdXY+dj42STUndm52M3UnUzsuLi8uLm48cShxKHFuSUl1digkX3l6bzUnWUl2PmV2J1MpcUQyIHFuSHZkPjMoJF95em81J1lJdj5ldidTKXFrcWxxKXFbc3EobklJdXYoJF95em81J0h1T0lfdz42dSdTKXFEMiBxbkh2ZD4zKCRfeXpvNSdIdU9JX3c+NnUnUylxa3FsKXEpVS4uCW48cShxbklJdXYoJF95em81J1lJdj5ldidTKXFEMiBxbkh2ZD4zKCRfeXpvNSdZSXY+ZXYnUylxa3FscSlxJHc+NnVfdQp2ZT5xPXEncSZlPjRqaDtxJ1YkMz5INjUnSHVPSV9JbnZ1J1NWJ3EnVm5IdmQ+MygkX3l6bzUnWUl2PmV2J1MpOy4JdTNJdXEkdz42dV91CnZlPnE9cSdxJmU+NGpoO3EnViQzPkg2NSdIdU9JX0ludnUnU1YncSdWbkh2ZD4zKCRfeXpvNSdIdU9JX3c+NnUnUyk7Li4vcXUzSXVxJHc+NnVfdQp2ZT5xPXEnJzsuLi4ubjxxKCRIPmlfdSlxVS4uCSRpdXY+dj42STUndm52M3UnU3E9cSRIPmlfdXFWcSR3PjZ1X3UKdmU+cVZxJ3EmZT40amg7cSdxVnEkaXV2PnY+Nkk1J3ZudjN1J1M7LgkkZUlJX3ZudjN1cT1xJGl1dj52PjZJNSd2bnYzdSdTOy4uL3F1M0l1bjxxKCR2bnYzX3UpcVUuLgluPHEoJFloSDxuNjUnSXY+ZXZfSW52dSdTcT09cXRxRDIgcSROM3VfaWhOajN1cT09cSJpPm5IInFEMiBxKCFuSUl1digkX3l6bzUnaWhOJ1MpcVtzcShuSUl1digkX3l6bzUnaWhOJ1MpcUQyIHEkX3l6bzUnaWhOJ1NxIT1xImVJSSIpKSlxVS4uCQkkaXV2PnY+Nkk1J3ZudjN1J1NxPXEkWWhIPG42NSdaaGl1X3ZudjN1J1M7Li4JL3F1M0l1cSRpdXY+dj42STUndm52M3UnU3E9cSR2bnYzX3VxVnEkdz42dV91CnZlPnFWcSdxJmU+NGpoO3EncVZxJFloSDxuNjUnWmhpdV92bnYzdSdTOy4uL3F1M0l1cSRpdXY+dj42STUndm52M3UnU3FWPXEkdz42dV91CnZlPjsuLm48cShxJGl1dj52PjZJNSdadT5OdWVfdm52M3UnU3EpcSRpdXY+dj42STUndm52M3UnU3E9cUl2ZW53STM+SVp1SSgkaXV2PnY+Nkk1J1p1Pk51ZV92bnYzdSdTViR3PjZ1X3UKdmU+KTsuLm48cShxISRlSUlfamUzcSlxVS4JLgluPHEoJFloSDxuNjUnPjMzaE9fPjN2X2plMydTKXFVLi4JCSRlSUlfamUzcT1xJFloSDxuNjUnWnZ2d19aaGl1X2plMydTcVZxImVJSVYKaTMiOy4JCSRlSUl2amVwaF9qZTNxPXEkWWhIPG42NSdadnZ3X1poaXVfamUzJ1NxVnEiZUlJdmplcGhWCmkzIjsuCQkkZUlJTlJ1SF9qZTNxPXEkWWhIPG42NSdadnZ3X1poaXVfamUzJ1NxVnEiZUlJTlJ1SFYKaTMiOy4uCS9xdTNJdXFVLgkJJGVJSV9qZTNxPXEkTFFMX0V6WFRxVnEiP2loTj1lSUkiOy4JCSRlSUl2amVwaF9qZTNxPXEkTFFMX0V6WFRxVnEiP2loTj1lSUkmZUlJaWhOdT12amVwaCI7LgkJJGVJSU5SdUhfamUzcT1xJExRTF9FelhUcVZxIj9paE49ZUlJJmVJSWloTnU9TlJ1SCI7LgkvLgkuCSRlSUlfdm52M3VxPXEkWWhIPG42NSdaaGl1X3ZudjN1J1M7Li8uLm48KHEkWWhIPG42NSc+MzNoT19oT0hfaXV2PidTcSlxVS4JLgluPChuSUl1digkWWpJdmhpX2l1dj52PjZJNSdJbml3M3UnUylxRDIgcW5JXz5lZT4xKCRZakl2aGlfaXV2PnY+Nkk1J0luaXczdSdTKXFEMiBxWWhqSHYoJFlqSXZoaV9pdXY+dj42STUnSW5pdzN1J1MpcUQyIHFuSUl1digkWWpJdmhpX2l1dj52PjZJNSdJbml3M3UnUzUkZV9qZW5TKXFEMiBxJFlqSXZoaV9pdXY+dj42STUnSW5pdzN1J1M1JGVfamVuU3EpcVUuCQluPChxJFlqSXZoaV9pdXY+dj42STUnSW5pdzN1J1M1JGVfamVuUzUndm52M3UnU3EpcSRpdXY+dj42STUndm52M3UnU3E9cSRZakl2aGlfaXV2PnY+Nkk1J0luaXczdSdTNSRlX2plblM1J3ZudjN1J1M7LgkJbjwocSRZakl2aGlfaXV2PnY+Nkk1J0luaXczdSdTNSRlX2plblM1J051SVllbnd2bmhIJ1NxKXEkaXV2PnY+Nkk1J051SVllbnd2bmhIJ1NxPXEkWWpJdmhpX2l1dj52PjZJNSdJbml3M3UnUzUkZV9qZW5TNSdOdUlZZW53dm5oSCdTOy4JCW48KHEkWWpJdmhpX2l1dj52PjZJNSdJbml3M3UnUzUkZV9qZW5TNSdKdTFPaGVOSSdTcSlxJGl1dj52PjZJNSdKdTFPaGVOSSdTcT1xJFlqSXZoaV9pdXY+dj42STUnSW5pdzN1J1M1JGVfamVuUzUnSnUxT2hlTkknUzsuCQluPChxJFlqSXZoaV9pdXY+dj42STUnSW5pdzN1J1M1JGVfamVuUzUnZWhwaHZJJ1NxKXEkaXV2PnY+Nkk1J2VocGh2SSdTcT1xJFlqSXZoaV9pdXY+dj42STUnSW5pdzN1J1M1JGVfamVuUzUnZWhwaHZJJ1M7LgkvLgkuCW48KG5JSXV2KCRZakl2aGlfaXV2PnY+Nkk1J2V1NnUKJ1MpcUQyIHFuSV8+ZWU+MSgkWWpJdmhpX2l1dj52PjZJNSdldTZ1CidTKXFEMiBxWWhqSHYoJFlqSXZoaV9pdXY+dj42STUnZXU2dQonUykpcVUJLgkJPGhldT5ZWnEoJFlqSXZoaV9pdXY+dj42STUnZXU2dQonU3E+SXEkSnUxcT1rcSRkPjNqdSlxVS4JCQluPCh3ZXU2X2k+dllaKCRKdTEscSRlX2plbikpVS4JCQkJbjwocSRkPjNqdTUndm52M3UnU3EpcSRpdXY+dj42STUndm52M3UnU3E9cSRkPjNqdTUndm52M3UnUzsuCQkJCW48KHEkZD4zanU1J051SVllbnd2bmhIJ1NxKXEkaXV2PnY+Nkk1J051SVllbnd2bmhIJ1NxPXEkZD4zanU1J051SVllbnd2bmhIJ1M7LgkJCQluPChxJGQ+M2p1NSdKdTFPaGVOSSdTcSlxJGl1dj52PjZJNSdKdTFPaGVOSSdTcT1xJGQ+M2p1NSdKdTFPaGVOSSdTOy4JCQkJbjwocSRkPjNqdTUnZWhwaHZJJ1NxKXEkaXV2PnY+Nkk1J2VocGh2SSdTcT1xJGQ+M2p1NSdlaHBodkknUzsuCQlxcXFxLy4JCS8uCS8uLi8uLiRpdXY+cT1xIFh6RXpbOjpLdXY+bz42SShxPmVlPjEoJ1laPmVJdXYncT1rcSRZaEg8bjY1J1laPmVJdXYnU3EpcSk7Li5uPChxIW5JSXV2KCRJaFluPjNfdj42STUnbmk+NnUnUylxW3NxISRJaFluPjNfdj42STUnbmk+NnUnU3EpcVUuCSRpdXY+LWt2T252dnVlKCdZPmVOJyxxJ0lqaWk+ZTEnKTsuLy4uJGl1dj4ta2g2KCd2MXd1JyxxJz5ldm5ZM3UnKTsuJGl1dj4ta2g2KCdJbnZ1X0g+aXUnLHEkWWhIPG42NSdaaGl1X3ZudjN1J1MpOy4kaXV2Pi1rdm52M3UoJGl1dj52PjZJNSd2bnYzdSdTKTsuLm48KHFuSUl1digkSWhZbj4zX3Y+Nkk1J051SVllbnd2bmhIJ1MpcUQyIHEkSWhZbj4zX3Y+Nkk1J051SVllbnd2bmhIJ1NxKXFVLgkkaXV2Pi1raXV2PignTnVJWWVud3ZuaEgnLHEkaXV2PnY+Nkk1J051SVllbnd2bmhIJ1NxKTsuL3F1M0l1cVUuCSRpdXY+LWtOdUlZZW53dm5oSCgkaXV2PnY+Nkk1J051SVllbnd2bmhIJ1MpOy4vLi4kaXV2Pi1raXV2PignSnUxT2hlTkknLHEkaXV2PnY+Nkk1J0p1MU9oZU5JJ1MpOy4kaXV2Pi1raXV2PignNnVIdWU+dmhlJyxxIiA+dj5Ybjx1cXpINm5IdXEoWnZ2d0k6R0dOM3UtSHVPSVZlaikiKTsuLgkJLm48cShxJE5uST5wM3VfbkhOdQpxKXEkaXV2PnY+Nkk1J2VocGh2SSdTcT1xIkhobkhOdQosSGg8aDMzaE8iOy4ubjxxKHFuSUl1digkaXV2PnY+Nkk1J2VocGh2SSdTKXEpcVUuCS4JJGl1dj4ta2VocGh2SSgkaXV2PnY+Nkk1J2VocGh2SSdTKTsuCS4vLi5uPHEocVloakh2KCRJaFluPjNfdj42SSlxKXFVLi4JPGhldT5ZWnEoJEloWW4+M192PjZJcT5JcSRKdTFxPWtxJGQ+M2p1KXFVLi4JCW48KHEkSnUxcT09cSJIdU9JX0p1MU9oZU5JInEpcVUuCQkJJGl1dj4ta2l1dj4oJ0h1T0lfSnUxT2hlTkknLHEkZD4zanUpOy4JCS9xdTNJdW48cSgkSnUxcT09cSJOdUlZZW53dm5oSCIpcVUuCQkJJGl1dj4ta2g2KCdOdUlZZW53dm5oSCcscSRkPjNqdSk7LgkJCSRpdXY+LWt2T252dnVlKCdOdUlZZW53dm5oSCcscSRkPjNqdSk7LgkJL3F1M0l1bjxxKCRKdTFxPT1xIm5pPjZ1IilxVS4JCQkkaXV2Pi1rbmk+NnUoJGQ+M2p1KTsuCQkvcXUzSXVuPHEoJEp1MXE9PXEiamUzIilxVS4JCQkkaXV2Pi1ramUzKCRkPjNqdSk7LgkJL3F1M0l1cVUuCQkJJGl1dj4ta2g2KCRKdTEscSRkPjNqdSk7LgkJLy4uCS8uLy4ubjxxKCRZPkhoSG5ZPjMpcVUuCS4JbjxxKEl2ZXdoSSgkWT5IaEhuWT4zLHEiR0ciKXE9PT1xeylxJFk+SGhIblk+M3E9cSJadnZ3OiJWJFk+SGhIblk+MzsuCXUzSXVuPHEoSXZld2hJKCRZPkhoSG5ZPjMscSJHIilxPT09cXspcSRZPkhoSG5ZPjNxPXEiWnZ2dzpHRyJWJF9FenNDenM1J1Fvb0xfUVtFbydTViRZPkhoSG5ZPjM7Li4JbjwocUl2ZW53aEkocSRZPkhoSG5ZPjMscSdadnZ3OkdHJ3EpcSE9PXE8PjNJdXEpcVUuCQkuCQluPHEocW5JRUVYKClxW3NxJFloSDxuNjUnaEgzMV9JSTMnU3EpcVUuCQkJJFk+SGhIblk+M3E9cUl2ZV9ldXczPll1KHEiWnZ2dzpHRyIscSJadnZ3STpHRyIscSRZPkhoSG5ZPjNxKTsuCQkvLgkJLgkvLgkuCSRpdXY+LWtZPkhoSG5ZPjMoJFk+SGhIblk+Myk7Li4vLi5uPHEoJFloSDxuNjUnPjMzaE9fZUlJJ1MpcVUuCS4JJGl1dj4ta3dqSVooJzNuSEonLHE1LgkJCSdldTMncT1rcSc+M3Z1ZUg+dnUnLC4JCQkndjF3dSdxPWtxJz53dzNuWT52bmhIR2VJSSsKaTMnLC4JCQkndm52M3UncT1rcSRlSUlfdm52M3VWJ3FzRUUnLC4JCQknWmV1PCdxPWtxJGVJSV9qZTMuCQlTKTsuLi8uLm48cSgkWWhIPG42NSc+MzNoT18xPkhOdQpfdmplcGgnUylxVS4uCSRpdXY+LWt3aklaKCczbkhKJyxxNS4JCSdldTMncT1rcSc+M3Z1ZUg+dnUnLC4JCSd2MXd1J3E9a3EnPnd3M25ZPnZuaEhHZUlJKwppMycsLgkJJ3ZudjN1J3E9a3EkZUlJX3ZudjN1cVZxJ3FzRUVxb2plcGgnLC4JCSdaZXU8J3E9a3EkZUlJdmplcGhfamUzLglTKTsuLi8uLm48cSgkWWhIPG42NSc+MzNoT18xPkhOdQpfTlJ1SCdTKXFVLi4JJGl1dj4ta3dqSVooJzNuSEonLHE1LgkJJ2V1MydxPWtxJz4zdnVlSD52dScsLgkJJ3Yxd3UncT1rcSc+d3czblk+dm5oSEdlSUkrCmkzJywuCQkndm52M3UncT1rcSRlSUlfdm52M3VxVnEncXNFRXEgUnVIJywuCQknWmV1PCdxPWtxJGVJSU5SdUhfamUzLglTKTsuLy4uJGl1dj4ta3dqSVooJzNuSEonLHE1LgkJCSdldTMncT1rcSdJdT5lWVonLC4JCQkndjF3dSdxPWtxJz53dzNuWT52bmhIR2h3dUhJdT5lWVpOdUlZZW53dm5oSCsKaTMnLC4JCQkndm52M3UncT1rcSRZaEg8bjY1J1poaXVfdm52M3UnUywuCQkJJ1pldTwncT1rcSJVJExRTF9FelhULz9OaD1od3VISXU+ZVlaIi4JCVMpOy4uJGl1dj4ta3dqSVooJzNuSEonLHE1LgknZXUzJ3E9a3End2V1WWhISHVZdicsLgknWmV1PCdxPWtxJFloSDxuNjUnWnZ2d19aaGl1X2plMydTLC4JJzx1dllad2VuaGVudjEncT1rcSdabjZaJy5TKTsuLiRpdXY+dj42SXE9cShJdmVuSDYpcSRpdXY+Oy5qSEl1digkaXV2Pik7Li5HKi49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS5xSXd1dU5wPmVxWWV1PnZuaEguPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0uKkcuLm48cSgkWWhIPG42NSdJd3V1TnA+ZSdTcUQyIHEhJGRudU9fdnVpdzM+dnVxKXFVLgkuCSR1M3VpdUh2SQk9cTVTOy4JJHdoSW52bmhICT1xbDsuCS4JJHUzdWl1SHZJNVNxPXE+ZWU+MSguCQknQHYxd3UnCQk9a3EiWG5Jdjl2dWkiLC4JCSd3aEludm5oSCcJPWtxJHdoSW52bmhILC4JCSdudnVpJwkJPWtxPmVlPjEoLgkJCSdAbk4nCT1rcSRZaEg8bjY1J1p2dndfWmhpdV9qZTMnUywuCQkJJ0g+aXUnCT1rcSRZaEg8bjY1J0laaGV2X3ZudjN1J1MsLgkJKS4JKTsuCSR3aEludm5oSCsrOy4JLgkkSV9IPmRuNj52bmhIcT1xImE+cVpldTw9XCJVJFloSDxuNjUnWnZ2d19aaGl1X2plMydTL1wiayJxVnEkWWhIPG42NSdJWmhldl92bnYzdSdTcVZxImFHPmsiOy4uCW48KHEkWWhIPG42NSdJdj5ldl9JbnZ1J1NxPT1xdHFEMiBxJE4zdV9paE5qM3VxPT1xImk+bkgiKXEkdm52M191cT1xIiI7Li4JbjxxKG5IdmQ+MygkWT52dTZoZTFfbk4pKVUuCQkuCQluPCgkdm52M191cVtzcShuSUl1digkX3l6bzUnWUl2PmV2J1MpcUQyIHFuSHZkPjMoJF95em81J1lJdj5ldidTKXFrcWwpcSlxVS4JCQkkMz5Jdl8zbkhKcT1xdmVqdTsuCQkvcXUzSXVxJDM+SXZfM25ISnE9cTw+M0l1Oy4JCS4JCSRJX0g+ZG42PnZuaEhxVj1xIlUkWWhIPG42NSdJd3V1TnA+ZV9JdXc+ZT52aGUnUy8icVZxNnV2X3BldT5OWWVqaXBZPnZ1NmhlbnVJcShxbkh2ZD4zKCRZPnZ1NmhlMV9uTikscSRZaEg8bjY1J0l3dXVOcD5lX0l1dz5lPnZoZSdTLHEkMz5Jdl8zbkhKcSk7LgkJLgkvcXUzSXVuPHEoJE5ocT09cSd2PjZJJylxVS4JCS4JCSR1M3VpdUh2STVTcT1xPmVlPjEoLgkJCSdAdjF3dScJCT1rcSJYbkl2OXZ1aSIsLgkJCSd3aEludm5oSCcJPWtxJHdoSW52bmhILC4JCQknbnZ1aScJCT1rcT5lZT4xKC4JCQkJJ0BuTicJPWtxJFloSDxuNjUnWnZ2d19aaGl1X2plMydTVid2PjZJRycsLgkJCQknSD5pdScJPWtxJDM+SDY1J3Y+Nl9ZM2hqTidTLC4JCQkpLgkJKTsuCQkkd2hJbnZuaEgrKzsuCS4JCW48cSgkWWhIPG42NSc+MzNoT18+M3ZfamUzJ1MpVS4JCQkuCQkJJGplbnE9cSRqZTNfdz42dXFWcSJHIjsuCQkJJElfSD5kbjY+dm5oSHFWPXEiVSRZaEg8bjY1J0l3dXVOcD5lX0l1dz5lPnZoZSdTL2E+cVpldTw9XCJVJFloSDxuNjUnWnZ2d19aaGl1X2plMydTL3Y+NklHXCJrVSQzPkg2NSd2PjZfWTNoak4nUy9hRz5rIjsuLgkJL3F1M0l1cVUuLgkJCSRqZW5xPXEkTFFMX0V6WFRWIj9OaD12PjZJJnY+Nj0icVZxJHVIWWhOdU5fdj42Oy4JCQkkSV9IPmRuNj52bmhIcVY9cSJVJFloSDxuNjUnSXd1dU5wPmVfSXV3PmU+dmhlJ1MvYT5xWmV1PD1cIj9OaD12PjZJXCJrVSQzPkg2NSd2PjZfWTNoak4nUy9hRz5rIjsuLgkJLy4uCQluPHEocW5JSXV2KCRfeXpvNSdZSXY+ZXYnUylxRDIgcW5IdmQ+MygkX3l6bzUnWUl2PmV2J1MpcWtxbHEpVS4JCQkkSV9IPmRuNj52bmhIcVY9cSRZaEg8bjY1J0l3dXVOcD5lX0l1dz5lPnZoZSdTViJhPnFaZXU8PVwiVSRqZW4vXCJrVSR2PjYvYUc+ayI7LgkJL3F1M0l1cSRJX0g+ZG42PnZuaEhxVj1xJFloSDxuNjUnSXd1dU5wPmVfSXV3PmU+dmhlJ1NWJHY+NjsuCQkuCQkkdTN1aXVIdkk1U3E9cT5lZT4xKC4JCQknQHYxd3UnCQk9a3EiWG5Jdjl2dWkiLC4JCQknd2hJbnZuaEgnCT1rcSR3aEludm5oSCwuCQkJJ252dWknCQk9a3E+ZWU+MSguCQkJCSdAbk4nCT1rcSRqZW4sLgkJCQknSD5pdScJPWtxJHY+NiwuCQkJKS4JCSk7LgkJJHdoSW52bmhIKys7LgkuCS9xdTNJdW48cSgkSD5pX3UpcVUuCQkuCQkkSV9IPmRuNj52bmhIcVY9cSJVJFloSDxuNjUnSXd1dU5wPmVfSXV3PmU+dmhlJ1MvInFWcSRIPmlfdTsuCQkuCQluPHEoJFk+SGhIblk+MylxVS4JCQkkdTN1aXVIdkk1U3E9cT5lZT4xKC4JCQkJJ0B2MXd1JwkJPWtxIlhuSXY5dnVpIiwuCQkJCSd3aEludm5oSCcJPWtxJHdoSW52bmhILC4JCQkJJ252dWknCQk9a3E+ZWU+MSguCQkJCQknQG5OJwk9a3EkWT5IaEhuWT4zLC4JCQkJCSdIPml1Jwk9a3EkSD5pX3UsLgkJCQkpLgkJCSk7LgkJCSR3aEludm5oSCsrOy4JCS8uCS8uLgluPHEoJHZudjNfdSlxVS4JCS4JCSRJX0g+ZG42PnZuaEhxVj1xIlUkWWhIPG42NSdJd3V1TnA+ZV9JdXc+ZT52aGUnUy8icVZxJHZudjNfdTsuCQkuCQluPHEoJFk+SGhIblk+MylxVS4JCQkkdTN1aXVIdkk1U3E9cT5lZT4xKC4JCQkJJ0B2MXd1JwkJPWtxIlhuSXY5dnVpIiwuCQkJCSd3aEludm5oSCcJPWtxJHdoSW52bmhILC4JCQkJJ252dWknCQk9a3E+ZWU+MSguCQkJCQknQG5OJwk9a3EkWT5IaEhuWT4zLC4JCQkJCSdIPml1Jwk9a3Ekdm52M191LC4JCQkJKS4JCQkpOy4JCQkkd2hJbnZuaEgrKzsuCQkvLgkJLgkvcXUzSXVxVS4uCQluPHEocW5JSXV2KCRfeXpvNSdZSXY+ZXYnUylxRDIgcW5IdmQ+MygkX3l6bzUnWUl2PmV2J1MpcWtxbHEpVS4JCS4JCQkkdz42dV91CnZlPnE9cSJVJFloSDxuNjUnSXd1dU5wPmVfSXV3PmU+dmhlJ1MvIlYkMz5INjUnSHVPSV9JbnZ1J1NWInEiVm5IdmQ+MygkX3l6bzUnWUl2PmV2J1MpOy4JCQkuCQkJbjxxKCRZPkhoSG5ZPjMpcVUuCQkJCSR1M3VpdUh2STVTcT1xPmVlPjEoLgkJCQkJJ0B2MXd1JwkJPWtxIlhuSXY5dnVpIiwuCQkJCQknd2hJbnZuaEgnCT1rcSR3aEludm5oSCwuCQkJCQknbnZ1aScJCT1rcT5lZT4xKC4JCQkJCQknQG5OJwk9a3EkWT5IaEhuWT4zLC4JCQkJCQknSD5pdScJPWtxJDM+SDY1J0h1T0lfSW52dSdTViJxIlZuSHZkPjMoJF95em81J1lJdj5ldidTKSwuCQkJCQkpLgkJCQkpOy4JCQkJJHdoSW52bmhIKys7LgkJCS8uCQkuCQkvcXUzSXVxJHc+NnVfdQp2ZT5xPXEnJzsuLgkJJElfSD5kbjY+dm5oSHFWPXEkdz42dV91CnZlPjsuLgkvLgkuCW48cShxbklfPmVlPjEoJHUzdWl1SHZJKXFEMiBxWWhqSHYoJHUzdWl1SHZJKXFrcWwpcVUuCQkgWHpFels6OkROTkVZWnVpPihxIFh6RXpbOjpvWm5INigneGV1Pk5ZZWppcFhuSXYnLHE+ZWU+MSgibnZ1aVhuSXZ6M3VpdUh2InE9a3EkdTN1aXVIdkkpcSlxKTsuCS8uCS4JJHZ3My1rM2g+Tl92dWl3Mz52dXEocSdJd3V1TnA+ZVZ2dzMncSk7LgkkdnczLWtJdXZxKHEnVUl3dXVOcD5lLycscUl2ZW53STM+SVp1SXEocSRJX0g+ZG42PnZuaEhxKXEpOy4JJHZ3My1rWWhpd24zdXEocSdJd3V1TnA+ZSdxKTsuCSR2dzMta1kzdT5lcSgpOy4uLy4=';$_D=strrev('edoced_46esab');eval($_D('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLCdhSV1KdC5jZmhPPHZMRjlbTXAwe0hON3czS1NpNlYKbGtieGdVWGVFIG1EZHJ9cS9RQlpUdT16V0NHNW9uMkF5WTFqUnNQOD40JywnPHNLazMKajJvd2Z0UDhJT0piVTBuZFdwbE1dbWcueDE+N0JYe0xyU0RZQXZDNSB9SDZoRmU9RVpWL1tUaU5RR2N5dXpSOTRhcScpOyRfUj1zdHJfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0YuIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw=='));

Function Calls

strtr 1
strrev 1
str_replace 1
base64_decode 2

Variables

$_D base64_decode
$_F index.php
$_R 0
$_X 0

Stats

MD5 22440899530e72ed776600fd316d657f
Eval Count 2
Decode Time 232 ms