Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php $_F=__FILE__;$_X='P2lCPw1WDVYJaGhDTUhNemU9TT5lPnplSDlPWT5uPXpzSHhYPkNNSE16ZVdXcSw+ZW..
Decoded Output download
?><?
//Generate a random string. Generally, as a password
function RandomPassword(){
$chars = "abcdefghijkmnopqrstuvwxyz023456789";
srand((double)microtime()*1000000);
$i = 0;
$pass = '' ;
while($i <= 7){
$num = rand() % 33;
$tmp = substr($chars, $num, 1);
$pass = $pass.$tmp;
$i++;
}
return $pass;
}
//Translate all the blank spaces to HTML blank spaces ' '
function UnWrap($TextToUnWrap){
return str_replace(" ", " ", $TextToUnWrap);
}
function CRLFToBR($TextToTranslate){
return str_replace(chr(13).chr(10), "<br>", $TextToTranslate);
}
//An extended string search function
function SearchStringEx($LookFor, $LookIn, $StringComparisonMode="SCTM_PARTIAL"){
$MatchPosition=-1;
if($StringComparisonMode=='SCTM_EXACT'){
if($LookIn==$LookFor){$MatchPosition=0;}
}elseif($StringComparisonMode=='SCTM_PARTIAL'){
if(strpos($LookIn, $LookFor)){$MatchPosition=strpos($LookIn, $LookFor);}
}elseif($StringComparisonMode=='SCTM_LEFT'){
if(substr($LookIn, 0, strlen($LookFor))){$MatchPosition=0;}
}elseif($StringComparisonMode=='SCTM_RIGHT'){
if(substr($LookIn, strlen($LookIn)-strlen($LookFor), strlen($LookFor))){$MatchPosition=strlen($LookIn)-strlen($LookFor);}
}
//if($MatchPosition>-1){print "Match found! Looking for '$LookFor' in '$LookIn' as '$StringComparisonMode'<br>";}
return $MatchPosition;
}
function CutHTMLString($HTML,$CWord){
$a = preg_replace('/<.*?>/', '', $HTML);
$a=substr("{$a}", 0,$CWord);
return $a;
}
// $StaticContentName {string} = Name of the content to return
function StaticContent($StaticContentName){
global $Application;
$StaticContent=SQL_Select($Entity="StaticContent", $Where="StaticContentName = '$StaticContentName'", $OrderBy="StaticContentName", $SingleRow=true);
$StaticContentHTML="";
$StaticContentHTML.=$StaticContent["StaticContent"];
if($_SESSION["UserID"]==2)
$StaticContentHTML.="
<div align=\"center\"><a href=\"#\" class=\"StaticContentControlButton\" onclick=\"PopUpStaticContentEditor('$StaticContentName')\"><b style=\"font-size: 8px; background-color: #ffff66;text-decoration: none;\" >EDIT CONTENT</b></a></div>
";
return $StaticContentHTML;
}
function StaticContentView($StaticContentName){
global $Application;
$StaticContent=SQL_Select($Entity="StaticContent", $Where="StaticContentName = '$StaticContentName'", $OrderBy="StaticContentName", $SingleRow=true);
$StaticContentHTML="";
$StaticContentHTML.=$StaticContent["StaticContent"];
return $StaticContentHTML;
}
/*
Template: other.php
Purpose: Other miscellanious functions
Risk: Critical
*/
//Build the application URL specially formatted to fit the FuseBox manner
function ApplicationURL($Base="", $Script="", $OtherParameter="", $Section="", $PathOnly=false){
$URL="http";
if(substr($_SERVER["SERVER_PROTOCOL"], 0, 5)=="HTTPS"){$URL.="s";}
$URL.="://";
$URL.=$_SERVER["HTTP_HOST"];
if(!$PathOnly){$URL.=$_SERVER["PHP_SELF"];}else{$URL.=ScriptPath();}
$URL.="?";
if(isset($_REQUEST["Theme"]))$URL.="Theme={$_REQUEST["Theme"]}";
if($Base!="")$URL.="&Base=$Base";
if($Script!="")$URL.="&Script=$Script";
if($OtherParameter!=""){$URL.="&$OtherParameter";}
if(isset($_REQUEST["Debug"])){$URL.="&Debug";}
if(isset($_REQUEST["MainContentOnly"])){$URL.="&MainContentOnly";}
if(isset($_REQUEST["NoHeader"])){$URL.="&NoHeader";}
if(isset($_REQUEST["NoFooter"])){$URL.="&NoFooter";}
//if(isset($_REQUEST["FreeText"])!=""){$URL.="&SearchCombo={$_REQUEST["SearchCombo"]}";}
if($Section!=""){$URL.="#$Section";}
/*
if(!isset($_REQUEST["NE"])){
$ModifyURL=explode("ThemExGroup.com","{$URL}");
//sa($ModifyURL);
$URL=base64_encode($ModifyURL[1]);
$URL="{$ModifyURL[0]}ThemEX={$URL}{$SectionURL}";
}
*/
return $URL;
}
//Generate a system wide unique identifier
function GUID($CurlyBrace=false){
if (function_exists('com_create_guid')){
return com_create_guid();
}else{
mt_srand((double)microtime()*10000);//optional for php 4.2.0 and up.
$CharacterID = strtoupper(md5(uniqid(rand(), true)));
$Hyphen = chr(45);// "-"
$GUID = substr($CharacterID, 0, 8).$Hyphen
.substr($CharacterID, 8, 4).$Hyphen
.substr($CharacterID,12, 4).$Hyphen
.substr($CharacterID,16, 4).$Hyphen
.substr($CharacterID,20,12);// "}"
if($CurlyBrace)$GUID="{".$GUID."}";
return $GUID;
}
}
function is_valid_email($email) {
$result = TRUE;
if(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$", $email)) {
$result = FALSE;
}
return $result;
}
//Just send the file name and the value of the file.
function CTL_Create_File($cachefile, $output){
if (!$handle = fopen($cachefile, 'w')) {
echo "Cannot open file ($cachefile)";
return false;
}
/// James [email protected]
$content="<?";
$content_1="$";
$content_2="MainContent.=StaticContent(";
$content_3="$";
$content_4="StaticContentName='|||');";
$content_4=str_replace("|||", $output, $content_4);
$content_5="?";
$content_6=">";
$output="$content $content_1$content_2$content_3$content_4 $content_5$content_6";
// Write $somecontent to our opened file.
if (!fwrite($handle, $output)) {
echo "Cannot write to file ($cachefile)";
return false;
}
fclose($handle);
return true;
}
function CTL_AutoCoderCreateFile($cachefile, $output){
if (!$handle = fopen($cachefile, 'w')) {
echo "Cannot open file ($cachefile)";
return false;
}
// Write $somecontent to our opened file.
if (!fwrite($handle, $output)) {
echo "Cannot write to file ($cachefile)";
return false;
}
fclose($handle);
return true;
}
function CTL_CreateFileContent($cachefile, $output,$content){
if (!$handle = fopen($cachefile, 'w')) {
echo "Cannot open file ($cachefile)";
return false;
}
/// James [email protected]
$output="$content";
// Write $somecontent to our opened file.
if (!fwrite($handle, $output)) {
echo "Cannot write to file ($cachefile)";
return false;
}
fclose($handle);
return true;
}
//Check if the given number is negative
//Return type BOOLEAN
// TRUE = Negative number
// FALSE = Positive number
function IsNegative($Number){
// DebugFunctionTrace($FunctionName="IsNegative", $Parameter=array("Number"=>$Number), $UseURLDebugFlag=true);
$IsNegative=false;
if($Number/abs($Number)==-1)$IsNegative=true;
return $IsNegative;
}
//Check if the specified is an odd number
function IsOdd($Number){
if($Number>floor($Number/2)*2){return true;}else{return false;}
}
?>
<?
//[email protected]
function PayPalBuyNowButton(
$PayPalGateway="https://www.paypal.com/cgi-bin/webscr",
$Command="_cart",
$BusinessEmail="",
$Item=array(
array("Name"=>"Test item A", "Code"=>"000001", "UnitPrice"=>0.02, "Quantity"=>1, "UseShippingCost"=>false, "ShippingCost"=>0, "UseHandlingCost"=>false, "HandlingCost"=>0),
array("Name"=>"Test item B", "Code"=>"000002", "UnitPrice"=>0.01, "Quantity"=>2, "UseShippingCost"=>false, "ShippingCost"=>0, "UseHandlingCost"=>false, "HandlingCost"=>0)
),
$CurrencyCode="",
$UseShippingCost=true,
$ShippingCost=0,
$NoShippingAddress=false,
$UseHandlingCost=true,
$HandlingCost=0,
$TAX=0,
$NotificationURL="",
$ReturnURLOnSuccess="",
$ReturnURLOnFailure="",
$ButtonCaption="Proceed to payment",
$ImageButtonSource="http://images.paypal.com/images/x-click-butcc.gif",
$ExtraOption=array(
array(
"Type"=>"Select",
"Caption"=>"Color",
"Item"=>array(
array("Caption"=>"Grey", "Value"=>"Grey"),
array("Caption"=>"Pink", "Value"=>"Pink"),
array("Caption"=>"Blue", "Value"=>"Blue"),
array("Caption"=>"Yellow", "Value"=>"Yellow")
)
),
array("Type"=>"Text", "Caption"=>"Note")
),
$NoteCaption="",
$NoNote=true,
$Custom="",
$InvoiceNumber="",
$ReturnToMerchantButtonCaption="Please click here to complete the process",
$SimulationMode=false
){
$ItemHTML=$ShippingCostHTML=$HandlingCostHTML=$ButtonHTML=$ImageButtonHTML=$ExtraOptionHTML=$CommandCartHTML="";
$ItemCounter=$ExtraOptionCounter=0;
if($Command=="_cart")$CommandCartHTML="<input type=\"hidden\" name=\"upload\" value=\"1\">";
foreach($Item as $ThisItem){
$ItemCounter++;
if($ThisItem["Code"]!="")$ItemHTML.="<input type=\"hidden\" name=\"item_number_$ItemCounter\" value=\"{$ThisItem["Code"]}\">";
$ItemHTML.="
<input type=\"hidden\" name=\"item_name_$ItemCounter\" value=\"{$ThisItem["Name"]}\">
<input type=\"hidden\" name=\"amount_$ItemCounter\" value=\"{$ThisItem["UnitPrice"]}\">
<input type=\"hidden\" name=\"quantity_$ItemCounter\" value=\"{$ThisItem["Quantity"]}\">
";
if($ThisItem["UseShippingCost"])$ItemHTML.="<input type=\"hidden\" name=\"shipping_$ItemCounter\" value=\"{$ThisItem["ShippingCost"]}\">";
if($ThisItem["UseHandlingCost"])$ItemHTML.="<input type=\"hidden\" name=\"handling_$ItemCounter\" value=\"{$ThisItem["HandlingCost"]}\">";
}
if($UseShippingCost)$ShippingCostHTML="<input type=\"hidden\" name=\"shipping\" value=\"$ShippingCost\">";
if($NoShippingAddress){$NoShippingAddress=1;}else{$NoShippingAddress=0;}
if($UseHandlingCost)$HandlingCostHTML="<input type=\"hidden\" name=\"handling\" value=\"$HandlingCost\">";
if($ButtonCaption!="")$ButtonHTML=CTL_InputSubmit($Name="", $Value=$ButtonCaption);
if($ImageButtonSource!="")$ImageButtonHTML="<input type=\"image\" src=\"$ImageButtonSource\">";
foreach($ExtraOption as $ThisExtraOption){
$ExtraOptionCounter++;
if($ThisExtraOption["Type"]=="Text")$ExtraOptionHTML.="<tr valign=\"middle\"><td><input type=\"hidden\" name=\"on".($ExtraOptionCounter-1)."\" value=\"{$ThisExtraOption["Caption"]}\">{$ThisExtraOption["Caption"]}</td><td><input type=\"text\" name=\"os".($ExtraOptionCounter-1)."\" maxlength=\"200\"></td></tr>";
if($ThisExtraOption["Type"]=="Select"){
$ExtraOptionHTML.="<tr valign=\"middle\"><td><input type=\"hidden\" name=\"on".($ExtraOptionCounter-1)."\" value=\"{$ThisExtraOption["Caption"]}\">{$ThisExtraOption["Caption"]}</td><td><select name=\"os".($ExtraOptionCounter-1)."\">";
foreach($ThisExtraOption["Item"] as $ThisItem)$ExtraOptionHTML.="<option value=\"{$ThisItem["Value"]}\">{$ThisItem["Caption"]}</option>";
$ExtraOptionHTML.="</select></td></tr>";
}
}
if(count($ExtraOption)>0)$ExtraOptionHTML="<table>$ExtraOptionHTML</table>";
if($NoNote){$NoNote=1;}else{$NoNote=0;}
$HTML="
<form action=\"$PayPalGateway\" method=\"post\">
<input type=\"hidden\" name=\"bn\" value>
<input type=\"hidden\" name=\"cmd\" value=\"$Command\">
$CommandCartHTML
<input type=\"hidden\" name=\"business\" value=\"$BusinessEmail\">
$ItemHTML
$ShippingCostHTML
<input type=\"hidden\" name=\"no_shipping\" value=\"$NoShippingAddress\">
$HandlingCostHTML
<input type=\"hidden\" name=\"tax\" value=\"$TAX\">
$ExtraOptionHTML
<input type=\"hidden\" name=\"cn\" value=\"$NoteCaption\">
<input type=\"hidden\" name=\"no_note\" value=\"$NoNote\">
<input type=\"hidden\" name=\"custom\" value=\"$Custom\">
<!--<input type=\"hidden\" name=\"invoice\" value=\"$InvoiceNumber\">-->
<input type=\"hidden\" name=\"currency_code\" value=\"$CurrencyCode\">
<input type=\"hidden\" name=\"rm\" value=\"1\"><!-- Use GET method to return to merchant's site -->
<input type=\"hidden\" name=\"notify_url\" value=\"$NotificationURL\">
<input type=\"hidden\" name=\"return\" value=\"$ReturnURLOnSuccess\">
<input type=\"hidden\" name=\"cancel_return\" value=\"$ReturnURLOnFailure\">
$ButtonHTML
$ImageButtonHTML
</form>
";
if($SimulationMode)$HTML.="Simulate: <a href=\"$ReturnURLOnSuccess\" onclick=\"window.open('$NotificationURL');\">Success</a> or <a href=\"$ReturnURLOnFailure\">Cancel</a><br>(JavaScript must be enabled in order to allow the IPN to work)";
return $HTML;
}
/*
Template: http.php
Purpose: HTTP protocol related function, an alternate approach to the CURL PHP extension
Risk: Normal
Date: February 1, 2004
*/
//Return only the current script filename
function ScriptFileName($URL=""){
$SFN=$URL;
if($SFN=="")$SFN=$_SERVER["SCRIPT_NAME"];
if(substr($SFN, 0, 7)=="http://")$SFN=substr($SFN, 7 + strlen($_SERVER["HTTP_HOST"]));
if(substr($SFN, 0, 7)=="https://")$SFN=substr($SFN, 8 + strlen($_SERVER["HTTP_HOST"]));
$SFN=explode("/", $SFN);
return $SFN[count($SFN)-1];
}
//Return only the current script's path
function ScriptPath($URL=""){
$SP=$URL;
if($SP=="")$SP=$_SERVER["SCRIPT_NAME"];
if(substr($SP, 0, 7)=="http://")$SP=substr($SP, 7 + strlen($_SERVER["HTTP_HOST"]));
if(substr($SP, 0, 7)=="https://")$SP=substr($SP, 8 + strlen($_SERVER["HTTP_HOST"]));
return substr($SP, 0, strlen($SP)-strlen(ScriptFileName($URL)));
}
//A combo box control to load data from database
function CTL_DBCombo($Name="", $Rows=array(), $ValueColumn, $CaptionColumn, $ValueSelected=0, $PrependBlankOption=false, $BlankItemCaption="", $Class="FormComboBox", $Style=""){
$HTML="<select name=\"$Name\" class=\"$Class\" style=\"$Style\">";
if($PrependBlankOption)$HTML.="<option value=\"\">$BlankItemCaption</option>";
foreach($Rows as $Row){
$HTML.="<option value=\"".$Row[$ValueColumn]."\"";
if($Row[$ValueColumn]==$ValueSelected)$HTML.=" selected";
$HTML.=">".$Row[$CaptionColumn]."</option>";
}
$HTML.="</select>";
return $HTML;
}
function CheckRequiredFormVariables($Variable){
global $ErrorUserInput;
foreach($Variable as $ThisVariable){
if(trim($_POST[$ThisVariable["Name"]])==""){
//print "'{$ThisVariable["Name"]}' = '".trim($_POST[$ThisVariable["Name"]])."' found NULL<hr>";
$ErrorUserInput["_Error"]=true;
$ErrorUserInput["_Message"]=$ThisVariable["Message"];
$ErrorUserInput[$ThisVariable["Name"]]=true;
}
}
}
function SetFormVariable($VariableName, $DefaultValue="", $SetErrorFlag=true, $UseRequestVariable=true, $Debug=false){
if(isset($_REQUEST[$VariableName]))$Debug_1="\$_REQUEST[\"$VariableName\"] = '{$_REQUEST[$VariableName]}' is set, skipping \$DefaultValue";
if(!isset($_REQUEST[$VariableName]))$Debug_1="\$_REQUEST[\"$VariableName\"] is NOT set, setting \$DefaultValue";
global $ErrorUserInput;
if($SetErrorFlag){
if(!isset($ErrorUserInput["_Error"]))$ErrorUserInput["_Error"]=false;
if(!isset($ErrorUserInput[$VariableName]))$ErrorUserInput[$VariableName]=false;
}
if($UseRequestVariable)if(!isset($_REQUEST[$VariableName]))$_REQUEST[$VariableName]=$DefaultValue;
if(!isset($_POST[$VariableName])){
$_POST[$VariableName]=$DefaultValue;
if($UseRequestVariable)$_POST[$VariableName]=$_REQUEST[$VariableName];
}
if($Debug)print "
SetFormVariable($VariableName='$VariableName', \$DefaultValue='$DefaultValue', \$SetErrorFlag=$SetErrorFlag, \$UseRequestVariable=$UseRequestVariable, \$Debug=$Debug){<br>
$Debug_1<br>
\$_REQUEST[\"$VariableName\"] = '{$_REQUEST["$VariableName"]}';<br>
\$_POST[\"$VariableName\"] = '{$_POST["$VariableName"]}';<br>
}
<hr>
";
}
function FormTitleRow($FormTitle){
return "<tr class=\"DataGrid_Title_Table_Bar\"><td align=\"center\">$FormTitle</td></tr>";
}
function FormErrorRow($EntityName){
global $ErrorUserInput;
$HTML="";
if($ErrorUserInput["_Error"])$HTML="<tr class=\"FormRowErrorMessage\"><td>{$ErrorUserInput["_Message"]}</td></tr>";
return $HTML;
}
function FormInputSectionRow($Caption=""){
return "<tr ><td colspan=\"30\" class=\"ThemeAltDataTD\">$Caption</td></tr>";
}
function FormInputRow($VariableName, $Caption, $ControlHTML){
global $ErrorUserInput;
$HTML="<tr class=\"ThemeDataTD\"><td";
if($ErrorUserInput[$VariableName])$HTML.=" class=\"\"";
$HTML.=" align=\"right\"> $Caption : </td><td>$ControlHTML</td></tr>";
return $HTML;
}
function FormButtonRow($ButtonCaption){
return "<tr class=\"DataGrid_Title_Table_Bar\" align=\"right\"><td>".CTL_InputSubmit("", $ButtonCaption)."</td></tr>";
}
function FormInsertUpdate($EntityName, $FormTitle, $Input, $ButtonCaption, $ActionURL){
global $ErrorUserInput;
if(!isset($ErrorUserInput["_Error"]))$ErrorUserInput["_Error"]=false;
foreach($Input as $ThisInput){
//$HTML.=FormInputRow($ThisInput["VariableName"], $Caption=$ThisInput["Caption"], $ControlHTML=$ThisInput["ControlHTML"]);
$FormInputs.='
<div class="control-group">
<label class="control-label">'.$ThisInput["Caption"].'</label>
<div class="controls">
'.$ThisInput["ControlHTML"].'
</div>
</div>
';
}
$HTML='
<div class="container-fluid">
<div class="row-fluid">
<div class="span12">
<div class="widget-box">
<div class="widget-title">
<span class="icon">
<i class="icon-align-justify"></i>
</span>
<h5>'.$FormTitle.'</h5>
</div>
<div class="widget-content nopadding">
<form class="form-horizontal" method="post" action="'.$ActionURL.'" name="From_'.$EntityName.'" id="basic_validate" novalidate="novalidate" enctype="multipart/form-data">
'.$FormInputs.'
<div class="form-actions">
<input type="submit" value="'.$ButtonCaption.'" class="btn btn-primary">
</div>
</form>
</div>
</div>
</div>
</div>
</div>
';
$HTMLddd.="
<form id=\"myForm\" name=\"frm".$EntityName."InsertUpdate\" action=\"$ActionURL\" method=\"post\" enctype=\"multipart/form-data\">
<table cellspacing=\"0\" border=\"1\" align=\"center\">
".FormTitleRow($FormTitle)."
".FormErrorRow($EntityName)."
<tr>
<td>
<table class=\"ThemeFormTABLE\">
";
//foreach($Input as $ThisInput)$HTML.=FormInputRow($ThisInput["VariableName"], $Caption=$ThisInput["Caption"], $ControlHTML=$ThisInput["ControlHTML"]);
$HTMLddd.="
</table>
</td>
</tr>
".FormButtonRow($ButtonCaption)."
</table>
</form>
";
return $HTML;
}
//Save something in a disk file
function file_put_contents2($FileName, $Content=""){
$File=fopen($FileName, "w");
fwrite($File, $Content);
fclose($File);
}
//Move the file from the temporary location of the PHP's upload path & rename the file accordingly. Returns the new filename on a
//successful operation. Designed for application's internal purpose
function FileUpload($RemoteFile, $LocalPath){//Uploads a file
if($_FILES[$RemoteFile]["name"]!=""){
if(!file_exists($LocalPath)){@mkdir($LocalPath,0777);}
@chmod($LocalPath,0777);
if(file_exists($LocalPath.$_FILES[$RemoteFile]["name"])){
$NewName = md5(uniqid(rand(0, 1000),1))."_".$_FILES[$RemoteFile]["name"];
}else{$NewName = $_FILES[$RemoteFile]["name"];}
move_uploaded_file($_FILES[$RemoteFile]["tmp_name"], $LocalPath.$NewName);
return $NewName;
}else{return "";}
}
//Process the upload of a user posted file, delete the existing file if requested
function ProcessUpload($FieldName, $UploadPath){
$Document=FileUpload($FieldName, $UploadPath);
if(($_POST[$FieldName]!="" and $Document!="") or isset($_POST[$FieldName."Delete"])){@unlink($UploadPath.$_POST[$FieldName]);}
if($_POST[$FieldName]!="" and $Document=="" and !isset($_POST[$FieldName."Delete"])){$Document=$_POST[$FieldName];}
return $Document;
}
function ResizeImage($filename,$uploaddir,$width="300",$height="300"){
// The file
$filename = "{$uploaddir}{$filename}";
$file_ext = preg_split("/\./",$filename);
//sa($file_ext);
//echo end($file_ext);
// Set a maximum height and width
//$width = 300;
//$height = 300;
// Content type
//header('Content-type: image/jpeg');
// Get new dimensions
list($width_orig, $height_orig) = getimagesize($filename);
if ($width && ($width_orig < $height_orig)) {
$width = ($height / $height_orig) * $width_orig;
} else {
$height = ($width / $width_orig) * $height_orig;
}
// Resample
$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
// Output
$NUM = time();
$newfilename = "ProductsBangladesh.com_".$NUM.".".end($file_ext);
$save="{$uploaddir}{$newfilename}";
imagejpeg($image_p, $save, 100);
unlink("{$filename}");
return $save;
//unlink("{$filename}");
}
// Email Version 2
function SendMail($ToEmail="", $Subject="", $Body="", $FromName="", $FromEmail = "", $ReplyToName="", $ReplyToEmail="", $ExtraHeaderParameters="", $Debug=false){
$headers = "MIME-Version: 1.0
";
$headers .= "Content-type: text/html; charset=iso-8859-1
";
$headers .= "Content-Transfer-Encoding: 8bit
";
$headers .= "From: {$FromName} <{$FromEmail}>
";
$headers .= "X-Priority: 1
";
$headers .= "X-MSMail-Priority: High
";
$headers .= "X-Mailer: PHP/" . phpversion()."
";
@mail($ToEmail, $Subject, $Body, $headers);
}
/*
Template: debug.php
Purpose: A special routine that directly prints debug information to the browser, for development purpose only.
Risk: Normal
Date: February 1, 2004
*/
// Function SA($Value){
// var_export($Value);
// }
function sa($REQUEST){
echo "
<div align=\"left\" style=\"letter-spacing:1px;border:1px dotted #39F;background:#f3f3f3;line-height:29px;word-spacing:12px;padding:5px;\">
";
foreach($REQUEST as $k=>$v){
if($v=='')$kstyle="style=\"color:red;font-weight:bold;\"";
else $kstyle="style=\"color:green;\"";
echo "
<span $kstyle>$k</span>
<span style=\"color:#963;\">=></span>
<span style=\"color:#369;\">$v</span>
<br/>
";
$AllArrayFields.="
\"\"=>\"{$_REQUEST[\"{$k}\"]}\",<br>
";
}
echo "
<hr>
{$AllArrayFields}
</div>
";
}
function DebugOutput(){
global $Application;
$DebugOutput="";
$DebugOutput.="<table>";
$DebugOutput.="<tr class=\"DebugVariableTypeRow\"><td colspan=\"99\">REQUEST</td></tr>";
foreach($_REQUEST as $Variable=>$Value){$DebugOutput.="<tr><td style=\"background-color: Navy; font-size: 10px; font-weight: bold; color: White;\">$Variable</td><td class=\"background-color: Silver; font-size: 10px; font-weight: bold;\">$Value</td></tr>";}
$DebugOutput.="<tr class=\"DebugVariableTypeRow\"><td colspan=\"99\">POST</td></tr>";
foreach($_POST as $Variable=>$Value){$DebugOutput.="<tr><td style=\"background-color: Navy; font-size: 10px; font-weight: bold; color: White;\">$Variable</td><td class=\"background-color: Silver; font-size: 10px; font-weight: bold;\">$Value</td></tr>";}
$DebugOutput.="<tr class=\"DebugVariableTypeRow\"><td colspan=\"99\">SESSION</td></tr>";
foreach($_SESSION as $Variable=>$Value){$DebugOutput.="<tr><td style=\"background-color: Navy; font-size: 10px; font-weight: bold; color: White;\">$Variable</td><td class=\"background-color: Silver; font-size: 10px; font-weight: bold;\">$Value</td></tr>";}
$DebugOutput.="<tr class=\"DebugVariableTypeRow\"><td colspan=\"99\">FILES</td></tr>";
foreach($_FILES as $Variable=>$Value){$DebugOutput.="<tr><td style=\"background-color: Navy; font-size: 10px; font-weight: bold; color: White;\">$Variable</td><td class=\"background-color: Silver; font-size: 10px; font-weight: bold;\">$Value</td></tr>";}
$DebugOutput.="<tr class=\"DebugVariableTypeRow\"><td colspan=\"99\">SERVER</td></tr>";
foreach($_SERVER as $Variable=>$Value){$DebugOutput.="<tr><td style=\"background-color: Navy; font-size: 10px; font-weight: bold; color: White;\">$Variable</td><td class=\"background-color: Silver; font-size: 10px; font-weight: bold;\">$Value</td></tr>";}
$DebugOutput.="<tr class=\"DebugVariableTypeRow\"><td colspan=\"99\">Application</td></tr>";
foreach($Application as $Variable=>$Value){$DebugOutput.="<tr><td style=\"background-color: Navy; font-size: 10px; font-weight: bold; color: White;\">$Variable</td><td class=\"background-color: Silver; font-size: 10px; font-weight: bold;\">$Value</td></tr>";}
$DebugOutput.="</table>";
return $DebugOutput;
}
function DebugFunctionTrace($FunctionName="", $Parameter=array(), $UseURLDebugFlag=true){
$ParameterHTML=$HTML="";
foreach($Parameter as $Name=>$Value)$ParameterHTML.=" <span style=\"font-weight: bold; color: blue;\">$Name</span> = <span style=\"font-weight: bold; color: red;\">'</span>$Value<span style=\"font-weight: bold; color: red;\">'</span> <br>";
$ID=GUID();
$HTML.="
<center>
<table cellspacing=\"0\" style=\"font-family: Courier New; font-size: 12px;\">
<tr><td style=\"border-style: solid; border-width: 1px; border-color: yellow; background-color: red; font-weight: bold;\"><a href=\"#\" style=\"color: white;\" onclick=\"ToggleVisibilityByElementID('DebugParameterDivision_$ID')\"> <span style=\"font-weight: bold; color: yellow;\">".date("M d, Y H:i:s")." ></span> $FunctionName() </a></td></tr>
<tr><td id=\"DebugParameterDivision_$ID\" style=\"border-style: solid; border-width: 1px; border-color: RED; background-color: yellow;\"><a name=\"DebugParameterDivision_$ID\">$ParameterHTML</td></tr>
</table>
<script language=\"JavaScript\">document.getElementById('DebugParameterDivision_$ID').style.display = 'none';</script>
";
if($UseURLDebugFlag&&isset($_REQUEST["Debug"]))print $HTML;
}
//Return the date and time difference among two literally (e.g.: mm/dd/yy hh:mm:ss) expressed dates.
//The function returns an array as follows;
// $Difference["Seconds"] = The second difference
// $Difference["Minutes"] = The minute difference
// $Difference["Hours"] = The hour difference
// $Difference["Days"] = The day difference
// $Difference["Months"] = The month difference
// $Difference["Years"] = The year difference
function FN_DateTimeDifference($LaterDate, $EarlierDate){
// DebugFunctionTrace($FunctionName="FN_DateTimeDifference", $Parameter=array("LaterDate"=>$LaterDate, "EarlierDate"=>$EarlierDate), $UseURLDebugFlag=true);
$DifferenceInSecends=strtotime($LaterDate)-strtotime($EarlierDate);
$DifferenceInMinutes=floor($DifferenceInSecends/60);
$Difference["Seconds"]=$DifferenceInSecends-($DifferenceInMinutes*60);
$DifferenceInHours=floor($DifferenceInMinutes/60);
$Difference["Minutes"]=$DifferenceInMinutes-($DifferenceInHours*60);
$DifferenceInDays=floor($DifferenceInHours/24);
$Difference["Hours"]=$DifferenceInHours-($DifferenceInDays*24);
$DifferenceInMonths=floor($DifferenceInDays/30);
$Difference["Days"]=$DifferenceInDays-($DifferenceInMonths*30);
$DifferenceInYears=floor($DifferenceInMonths/12);
$Difference["Months"]=$DifferenceInMonths-($DifferenceInYears*12);
$Difference["Years"]=$DifferenceInYears;
return $Difference;
}
//Return the date formatted to LONG DATE manner
function FN_FormattedDate($vDate=""){
if($vDate=="")$vDate=getdate();
return $vDate["month"]." ".$vDate["mday"].", ".$vDate["year"];
}
//Format a date to a MySQL datetime field
function FN_MySQLDateTime($vDate=""){
if($vDate=="")$vDate=getdate();
return $vDate["year"]."-".str_pad($vDate["mon"], 2, "0", "STR_PAD_LEFT")."-".str_pad($vDate["mday"], 2, "0", "STR_PAD_LEFT")." ".str_pad($vDate["hours"], 2, "0", "STR_PAD_LEFT").":".str_pad($vDate["minutes"], 2, "0", "STR_PAD_LEFT").":".str_pad($vDate["seconds"], 2, "0", "STR_PAD_LEFT");
}
function SQL_Select($Entity="", $Where="", $OrderBy="", $SingleRow=false, $RecordShowFrom=0, $RecordShowUpTo=0, $Debug=false, $GroupBy=""){
global $SQL_SelectStatement;
//$SQL=$SQL_SelectStatement["$Entity"];
$SQL="SELECT * FROM tbl".strtolower($Entity)."";
if($Limit!="")$SQL.=" LIMIT $Limit";//Attach custom Limit clause
if($Where!="")$SQL.=" WHERE $Where";//Attach custom WHERE clause
if($GroupBy!="")$SQL.=" GROUP BY $GroupBy";//Attach custom ORDER BY clause
if($OrderBy!="")$SQL.=" ORDER BY $OrderBy";//Attach custom ORDER BY clause
if($RecordShowUpTo>0&&$RecordShowUpTo!=""&&$RecordShowFrom>0&&$RecordShowFrom!="")$SQL.=" LIMIT ".($RecordShowFrom-1).", $RecordShowUpTo";
//Return the records to the caller
return MySQLRows(
$SQL=$SQL,
$SingleRow=$SingleRow,
$Link="",
$Debug=$Debug
);
}
function SQL_InsertUpdate($Entity="", $Data=array(), $Where="", $Debug=false){
//Insert new data or update existing data into the database table
//$Entity = Database entity name (e.g.: User where table name will be tbluser)
//$Data = Array of data where each element is Key = Field Name & Value = Value
//$Where= = Determines the records to be updated for an UPDATE SQL statement
$EntityLower=strtolower($Entity);
$UpdateMode=true;
if($Where=="")$UpdateMode=false;
$SQL_SET=$SQL_FieldName=$SQL_FieldValue="";
$Field=MySQLRows($SQL="SHOW COLUMNS FROM tbl$EntityLower");
foreach($Field as $ThisField){
if($ThisField["Field"]!="{$Entity}ID"&&$ThisField["Field"]!="{$Entity}UUID"&&$ThisField["Field"]!="UserIDInserted"&&$ThisField["Field"]!="UserIDUpdated"&&$ThisField["Field"]!="UserIDLocked"&&$ThisField["Field"]!="DateInserted"&&$ThisField["Field"]!="DateUpdated"&&$ThisField["Field"]!="DateLocked"){
$StringMarker="'";
if(
substr($ThisField["Type"], 0, 3)=="int"||
substr($ThisField["Type"], 0, 7)=="tinyint"||
substr($ThisField["Type"], 0, 8)=="smallint"||
substr($ThisField["Type"], 0, 9)=="mediumint"||
substr($ThisField["Type"], 0, 7)=="integer"||
substr($ThisField["Type"], 0, 6)=="bigint"||
substr($ThisField["Type"], 0, 4)=="real"||
substr($ThisField["Type"], 0, 6)=="double"||
substr($ThisField["Type"], 0, 5)=="float"||
substr($ThisField["Type"], 0, 7)=="decimal"||
substr($ThisField["Type"], 0, 7)=="numeric"||
1==0
)$StringMarker="";
if(isset($Data["{$ThisField["Field"]}"])){
$SQL_SET.="{$ThisField["Field"]} = $StringMarker".str_replace("'", "''", $Data["{$ThisField["Field"]}"])."$StringMarker, ";
$SQL_FieldName.="{$ThisField["Field"]}, ";
$SQL_FieldValue.="$StringMarker".str_replace("'", "''", $Data["{$ThisField["Field"]}"])."$StringMarker, ";
}
}
}
if($UpdateMode){//UPDATE SQL
$SQL="UPDATE tbl$EntityLower SET $SQL_SET UserIDUpdated = {$_SESSION["UserID"]}, UserIDLocked = 0, DateUpdated = NOW(), DateLocked = NOW() WHERE 1 = 1";
if($Where!="")$SQL.=" AND $Where";
}else{//INSERT SQL
$Entity_Value_UUID=GUID();
if(isset($Data["{$Entity}UUID"]))$Entity_Value_UUID=$Data["{$Entity}UUID"];
$SQL="INSERT INTO tbl$EntityLower ({$Entity}UUID, $SQL_FieldName UserIDInserted, UserIDUpdated, UserIDLocked, DateInserted, DateUpdated, DateLocked) VALUES ('$Entity_Value_UUID', $SQL_FieldValue {$_SESSION["UserID"]}, {$_SESSION["UserID"]}, 0, NOW(), NOW(), NOW())";
}
MySQLQuery($SQL, $Link="", $Debug);
if($UpdateMode){
//return SQL_Select($Entity, $Where, $OrderBy="", $SingleRow=true, $RecordShowFrom=0, $RecordShowUpTo=0, $Debug);
return 0;
}else{
return SQL_Select($Entity, $Where="{$Entity}UUID = '$Entity_Value_UUID'", $OrderBy="", $SingleRow=true, $RecordShowFrom=0, $RecordShowUpTo=0, $Debug);
}
if($Debug)DebugFunctionTrace($FunctionName="SQL_InsertUpdate", $Parameter=array("SQL"=>$SQL), $UseURLDebugFlag=true);
}
function SQL_Delete($Entity="", $Where="", $CleanUp=true, $Debug=false){
global $Application;
// DebugFunctionTrace($FunctionName="SQL_Delete", $Parameter=array("Entity"=>$Entity, "Where"=>$Where, "CleanUp"=>$CleanUp), $UseURLDebugFlag=true);
$EntityLower=strtolower($Entity);
$RecordSet=SQL_Select($Entity, $Where, $OrderBy="", $SingleRow=false, $RecordShowFrom=0, $RecordShowUpTo=0, $Debug);
$FileField=array("Picture", "Image", "Thumbnail", "File");
$EntityIDList=array(0);
foreach($RecordSet as $ThisRecordSet){
$EntityIDList[]=$ThisRecordSet["{$Entity}ID"];
foreach($FileField as $ThisFileField)@unlink($Application["UploadPath"].$ThisRecordSet["{$Entity}$ThisFileField"]);
}
$SQL="DELETE FROM tbl$EntityLower";
if($Where!="")$SQL.=" WHERE {$Entity}ID IN (".implode(", ", $EntityIDList).")";
MySQLQuery($SQL);
//if($CleanUp)SQL_CleanUp();
}
//Fetch a recordset off a MySQL database's table using SQL including SELECT, INSERT, UPDATE & DELETE commands
// $SQL = SQL statement to pull the records from
// $Link = Specifies the database to works on, if not supplied, assumes the current application database
//Returns a MySQL recordset
function MySQLQuery($SQL, $Link="", $Debug=false){
global $Application, $MainContent;
//DebugFunctionTrace($FunctionName="MySQLQuery", $Parameter=array("SQL"=>$SQL, "Link"=>$Link, "Debug"=>$Debug), $UseURLDebugFlag=true);
$DebugResponse="
<span class=\"DebugBackground\">
<span class=\"DebugReservedWord\">function</span> <span class=\"DebugIdentifier\">MySQLQuery</span> <span class=\"DebugSymbol\">(</span>
<span class=\"DebugVariable\">\$SQL</span> <span class=\"DebugSymbol\">=</span> <span class=\"DebugSymbol\">\"</span><span class=\"DebugString\">$SQL</span><span class=\"DebugSymbol\">\"</span>,
<span class=\"DebugVariable\">\$Link</span> <span class=\"DebugSymbol\">=</span> <span class=\"DebugReservedWord\">$Link</span>
<span class=\"DebugSymbol\">)</span>
</span>
<hr>
";
if(!$Link)$Link=$Application["DatabaseLink"];
if($Debug)$MainContent.=$DebugResponse;
$Query = mysql_query($SQL, $Link) or die($DebugResponse);
return $Query;
}
//Fetch rows from a MySQL database in an array in array(array("colum_name"=>"value"),...) manner
// $SQL = SQL Statement to use to fetch the recordset
// $Link = Specifies the database to works on, if not supplied, assumes the current application database
// $Debaug = While set to "true", it will output the passed SQL directly to the browser
//Returns an array that contains arrays for each row.
function MySQLRows($SQL, $SingleRow=false, $Link="", $Debug=false){
//DebugFunctionTrace($FunctionName="MySQLRows", $Parameter=array("SQL"=>$SQL, "SingleRow"=>$SingleRow, "Link"=>$Link, "Debug"=>$Debug), $UseURLDebugFlag=true);
if($Debug)print "
<span class=\"DebugBackground\">
<span class=\"DebugReservedWord\">function</span> <span class=\"DebugIdentifier\">MySQLRows</span> <span class=\"DebugSymbol\">(</span>
<span class=\"DebugSymbol\">\"</span><span class=\"DebugString\">$SQL</span><span class=\"DebugSymbol\">\"</span>,
<span class=\"DebugReservedWord\">$SingleRow</span>,
<span class=\"DebugReservedWord\">$Link</span>
<span class=\"DebugSymbol\">)</span>
</span>
<hr>
";
$Query=MySQLQuery($SQL, $Link, $Debug);
$Rows=array();
if($SingleRow){
$Rows=mysql_fetch_array($Query);
}else{
while($ThisRow=mysql_fetch_array($Query))$Rows[]=$ThisRow;
}
return $Rows;
}
function CTL_InputText($Name, $DefaultValue="", $Title="", $Size="", $Class="ThemeInput", $Style="", $ReadOnly=false, $Debug=false){
SetFormVariable($Name, $DefaultValue, $SetErrorFlag=true, $UseRequestVariable=true, $Debug);
$ReadOnlyHTML="";
if($ReadOnly)$ReadOnlyHTML=" readonly=\"true\"";
$HTML="<input type=\"text\" id = \"$Name\" name=\"$Name\" value=\"{$_POST[$Name]}\" title=\"$Title\" size=\"$Size\" $ReadOnlyHTML class=\"$Class\" style=\"$Style\">";
return $HTML;
}
function CTL_InputTextDate($Name, $DefaultValue="", $Title="", $Size="", $Class="ThemeInput", $Style="", $ReadOnly=false, $Debug=false){
$HTML="
<script type=\"text/javascript\" src=\"./library/Mootool Date Picker/mootools.js\"></script>
<script type=\"text/javascript\" src=\"./library/Mootool Date Picker/DatePicker.js\"></script>
<link rel=\"stylesheet\" type=\"text/css\" href=\"./library/Mooto ol Date Picker/DatePicker.css\">
<script type=\"text/javascript\">
window.addEvent('domready', function(){
$$('input.DatePicker').each( function(el){
new DatePicker(el);
});
});
</script>
<input id=\"$Name\" name=\"$Name\" type=\"text\" class=\"DatePicker\" tabindex=\"1\" value=\"$DefaultValue\" />
";
return $HTML;
}
//TEXT AREA
function CTL_InputTextArea($Name, $Value="", $Columns=80, $Rows=15, $Class="", $Style="", $ReadOnly=false){
SetFormVariable($Name, $Value, $SetErrorFlag=true, $UseRequestVariable=true);
$ReadOnlyHTML="";
if($ReadOnly)$ReadOnlyHTML=" readonly";
$HTML="<textarea id =\"$Name\" name=\"$Name\" cols=\"$Columns\" rows=\"$Rows\" class=\"$Class\" $ReadOnlyHTML style=\"$Style\">{$_POST[$Name]}</textarea>";
return $HTML;
}
//Input type PASSWORD
function CTL_InputPassword($Name, $DefaultValue="", $Title="", $Size="", $Class="ThemeButton", $Style="", $Debug=false){
SetFormVariable($Name, $DefaultValue, $SetErrorFlag=true, $UseRequestVariable=true);
$HTML="<input id =\"$Name\" type=\"password\" name=\"$Name\" value=\"$DefaultValue\" title=\"$Title\" size=\"$Size\" class=\"$Class\" style=\"$Style\">";
return $HTML;
}
//Input type CHECKBOX
function CTL_InputCheck($Name, $Value="", $Title="", $Class="FormInputCheck", $Style=""){
SetFormVariable($Name, $Value, $SetErrorFlag=true, $UseRequestVariable=true);
$HTML="<input id =\"$Name\" type=\"checkbox\" name=\"$Name\" value=\"1\" title=\"$Title\" class=\"$Class\" style=\"$Style\"";
if($Value==1)$HTML.=" checked";
$HTML.=">";
return $HTML;
}
//Input type RADIO
function CTL_InputRadio($Name, $Value, $ValueSelected="", $Title="", $Class="FormInputRadio", $Style=""){
SetFormVariable($Name, $ValueSelected, $SetErrorFlag=true, $UseRequestVariable=true);
$HTML="<input id =\"$Name\" type=\"radio\" name=\"$Name\" value=\"$Value\" title=\"$Title\" class=\"$Class\" style=\"$Style\"";
if($_POST[$Name]==$Value)$HTML.=" checked";
$HTML.=">";
return $HTML;
}
//Input type RADIO set
function CTL_InputRadioSet($VariableName, $Captions, $Values, $CurrentValue, $Class="FormInputRadio", $Style=""){
/*
$Values: Array of values of datatype of string or number
*/
SetFormVariable($VariableName, $CurrentValue, $SetErrorFlag=true, $UseRequestVariable=true);
$HTML="";
$ValueCounter=-1;
foreach($Values as $ThisValue){
$ValueCounter++;
$Selected="";
if($ThisValue==$_POST[$VariableName])$Selected=" checked";
$HTML.="<input id =\"$Name\" type=\"radio\" name=\"$VariableName\" value=\"$ThisValue\" class=\"$Class\" style=\"$Style\"$Selected> {$Captions[$ValueCounter]} ";
}
/*
print "\$_POST[\"$VariableName\"] = {$_POST[$VariableName]}<hr>";
print "\$CurrentValue = $CurrentValue<hr>";
*/
return $HTML;
}
//Input type BUTTON
function CTL_InputButton($Name="", $Value="", $Title="", $Size="", $Class="ThemeInput", $Style="", $OnClick=""){
$HTML="<input id =\"$Name\" type=\"button\" name=\"$Name\" value=\"$Value\" title=\"$Title\" size=\"$Size\" class=\"$Class\" style=\"$Style\" OnClick=\"$OnClick\">";
return $HTML;
}
//Input type SUBMIT
function CTL_InputSubmit($Name="", $Value="Post", $Title="", $Size="", $Class="DataGridButton", $Style="", $OnClick=""){
$HTML="<input id =\"$Name\" type=\"submit\" name=\"$Name\" value=\"$Value\" title=\"$Title\" size=\"$Size\" class=\"$Class\" style=\"$Style\" onclick=\"$OnClick\">";
return $HTML;
}
//Input type RESET
function CTL_InputReset($Name, $Value="", $Title="", $Size="", $Class="ThemeButton", $Style=""){
$HTML="<input type=\"reset\" name=\"$Name\" value=\"$Value\" title=\"$Title\" size=\"$Size\" class=\"$Class\" style=\"$Style\">";
return $HTML;
}
//Input type HIDDEN
function CTL_InputHidden($Name, $Value=""){
SetFormVariable($Name, $Value, $SetErrorFlag=true, $UseRequestVariable=true);
$HTML="<input id =\"$Name\" type=\"hidden\" name=\"$Name\" value=\"{$_POST[$Name]}\">";
return $HTML;
}
//SELECT
function CTL_Combo($Name="", $Values, $Captions, $IncludeBlankItem=false, $CurrentValue, $BlankItemCaption="", $Class="", $Style=""){
SetFormVariable($Name, $CurrentValue, $SetErrorFlag=true, $UseRequestVariable=true);
$HTML="<select name=\"$Name\" class=\"$Class\" style=\"$Style\">";
if($IncludeBlankItem)$HTML.="<option value=\"\">$BlankItemCaption</option>";
foreach($Values as $Value){
$HTML.="<option value=\"$Value\"";
if($Value==$_POST[$Name])$HTML.=" selected";
$HTML.=">".$Captions[array_search($Value, $Values)]."</option>";
}
$HTML.="</select>";
return $HTML;
}
//Image
function CTL_Image($ImageFile, $Height=0, $Width=0, $Class="", $Nothing=false){
global $Application;
$ImageFile=$Application["UploadPath"].$ImageFile;
if(!file_exists($ImageFile) or $ImageFile==$Application["UploadPath"])$ImageFile="./theme/{$_REQUEST["Theme"]}/image/other/noimage.gif";
$HeightHTML=$WidthHTML="";
if($Height>0)$HeightHTML=" height=\"$Height\"";
if($Width>0)$WidthHTML=" width=\"$Width\"";
if(!$Nothing or $ImageFile!="./theme/{$_REQUEST["Theme"]}/image/other/noimage.gif"){
return "<img src=\"$ImageFile\"".$HeightHTML.$WidthHTML." class=\"$Class\">";
}else{
return "";
}
}
function CTL_HeightSelector($HeightSelectorName, $HeightSelected="", $HeightStart=42, $HeightStop=84, $Class="DataFormInput", $ShowFeet=true, $ShowInch=true, $ShowCM=true){
/*Build HTML code for a height picker by Feet-Inch-Cm list
$HeightSelectorName = Outputs a list of heights to chose from
$HeightSelected = Selected height
$HeightStart = Height to start the list from
$HeightStop = Height to stop the list at
$Class = CSS class to be used for the control, if NULL, "FormTextInput" is used
*/
if($Class==""){$Class="DataFormInput";}
$HTML_Code="<select name=$HeightSelectorName class=$Class>";
for($Counter=$HeightStart;$Counter<=$HeightStop;$Counter++){
$HTML_Code=$HTML_Code."<option value=\"$Counter\"";
if($HeightSelected==$Counter){$HTML_Code=$HTML_Code." selected";}
$HeightFeet=round($Counter/12, 2)." ft";
$HeightInch="$Counter inch";
$HeightCM=round($Counter*2.54, 0)." cm";
$HeightOptionHTML="";
if($ShowFeet)if($HeightOptionHTML==""){$HeightOptionHTML.=$HeightFeet;}else{$HeightOptionHTML.=" = $HeightFeet";}
if($ShowInch)if($HeightOptionHTML==""){$HeightOptionHTML.=$HeightInch;}else{$HeightOptionHTML.=" = $HeightInch";}
if($ShowCM)if($HeightOptionHTML==""){$HeightOptionHTML.=$HeightCM;}else{$HeightOptionHTML.=" = $HeightCM";}
$HTML_Code=$HTML_Code.">$HeightOptionHTML</option>";
}
$HTML_Code=$HTML_Code."</select>";
return $HTML_Code;
}
function CTL_WeightSelector($WeightSelectorName, $WeightSelected="", $WeightStart=50, $WeightStop=250, $Class="DataFormInput"){
/*Build HTML code for a height picker by Feet-Inch-Cm list
$WeightSelectorName = Outputs a list of weights to chose from
$WeightSelected = Selected weight
$WeightStart = Weight to start the list from
$WeightStop = Weight to stop the list at
$Class = CSS class to be used for the control, if NULL, "FormTextInput" is used
*/
if($Class==""){$Class="DataFormInput";}
$HTML_Code="<select name=$WeightSelectorName class=$Class>";
for($Counter=$WeightStart;$Counter<=$WeightStop;$Counter++){
$HTML_Code=$HTML_Code."<option value=\"$Counter\"";
if($WeightSelected==$Counter){$HTML_Code=$HTML_Code." selected";}
$HTML_Code=$HTML_Code.">$Counter lbs = ".round($Counter/2.2, 0)." kg</option>";
}
$HTML_Code=$HTML_Code."</select>";
return $HTML_Code;
}
function CTL_TimeSelector($TimeSelectorName, $HourSelected="01", $MinuteSelected="00", $SecondSelected="00", $Class="DataFormInput"){
/*Build HTML code for a time picker by Hour-Minute-Second list
$TimeSelectorName = Outputs 3 form controls as $TimeSelectorName_Hour, $TimeSelectorName_Minute & $TimeSelectorName_Second
$HourSelected = Selected hour
$MinuteSelected = Selected minute
$SecondSelected = Selected second
$Class = CSS class to be used for the control, if NULL, "FormTextInput" is used
*/
if($Class==""){$Class="DataFormInput";}
$HTML_Code="<select name=".$TimeSelectorName."Hour class=$Class>";
for($Counter=0;$Counter<=23;$Counter++){
$HTML_Code=$HTML_Code."<option value=".$Counter;
if($Counter==$HourSelected){$HTML_Code=$HTML_Code." selected";}
$HTML_Code=$HTML_Code.">".str_pad($Counter, 2, "0", STR_PAD_LEFT)."</option>";
}
$HTML_Code=$HTML_Code."</select>";
$HTML_Code=$HTML_Code."<select name=".$TimeSelectorName."Minute class=$Class>";
for($Counter=0;$Counter<=59;$Counter++){
$HTML_Code=$HTML_Code."<option value=".$Counter;
if($Counter==$MinuteSelected){$HTML_Code=$HTML_Code." selected";}
$HTML_Code=$HTML_Code.">".str_pad($Counter, 2, "0", STR_PAD_LEFT)."</option>";
}
$HTML_Code=$HTML_Code."</select>";
$HTML_Code=$HTML_Code."<select name=".$TimeSelectorName."Second class=$Class>";
for($Counter=0;$Counter<=59;$Counter++){
$HTML_Code=$HTML_Code."<option value=".$Counter;
if($Counter==$SecondSelected){$HTML_Code=$HTML_Code." selected";}
$HTML_Code=$HTML_Code.">".str_pad($Counter, 2, "0", STR_PAD_LEFT)."</option>";
}
$HTML_Code=$HTML_Code."</select>";
return $HTML_Code;
}
function CTL_DateSelector($DateSelectorName, $SelectedDate="", $YearHalfSpan=50, $Class="", $Years=true, $Months=true, $Days=true){
/*Build HTML code for a date picker by Year-Month-Day list
$DateSelectorName = Outputs 3 form controls as $DateSelectorName_Year, $DateSelectorName_Month & $DateSelectorName_Day
$SelectedDate = Selected date (YYYY-MM-DD)
$YearHalfSpan = Half value of the years to be ranged from YearSelected
*/
if($SelectedDate==""||$SelectedDate=="0000-00-00")$SelectedDate=date("Y-m-d");
SetFormVariable($VariableName=$DateSelectorName, $CurrentValue=$SelectedDate, $SetErrorFlag=true, $UseRequestVariable=true);
/*
SetFormVariable($VariableName=$DateSelectorName."Year", $CurrentValue=date("Y", strtotime($SelectedDate)), $SetErrorFlag=true, $UseRequestVariable=true);
SetFormVariable($VariableName=$DateSelectorName."Month", $CurrentValue=date("m", strtotime($SelectedDate)), $SetErrorFlag=true, $UseRequestVariable=true);
SetFormVariable($VariableName=$DateSelectorName."Day", $CurrentValue=date("d", strtotime($SelectedDate)), $SetErrorFlag=true, $UseRequestVariable=true);
*/
SetFormVariable($VariableName=$DateSelectorName."Year", $CurrentValue=substr($SelectedDate, 0, 4), $SetErrorFlag=true, $UseRequestVariable=true);
SetFormVariable($VariableName=$DateSelectorName."Month", $CurrentValue=substr($SelectedDate, 5, 2), $SetErrorFlag=true, $UseRequestVariable=true);
SetFormVariable($VariableName=$DateSelectorName."Day", $CurrentValue=substr($SelectedDate, 8, 2), $SetErrorFlag=true, $UseRequestVariable=true);
$YearSelected= $_POST[$DateSelectorName."Year"];
$MonthSelected=$_POST[$DateSelectorName."Month"];
$DaySelected= $_POST[$DateSelectorName."Day"];
$strDateSelector="";
if($Years){
$strDateSelector=$strDateSelector."<select name=\"".$DateSelectorName."Year\" class=\"$Class\">";
for($Counter=$YearSelected-$YearHalfSpan;$Counter<=$YearSelected+$YearHalfSpan;$Counter++){
$strDateSelector=$strDateSelector."<option value=\"".$Counter."\"";
if($Counter==$YearSelected){$strDateSelector=$strDateSelector." selected";}
$strDateSelector=$strDateSelector.">".$Counter."</option>";
}
$strDateSelector=$strDateSelector."</select>";
}else{$strDateSelector.="<input type=\"hidden\" name=\"$DateSelectorName\" value=\"$YearSelected\">";}
if($Months){
$strDateSelector=$strDateSelector."<select name=\"".$DateSelectorName."Month\" class=\"DataFormInput\">";
$strDateSelector=$strDateSelector."<option value=\"01\"";
if($MonthSelected==1){$strDateSelector=$strDateSelector." selected";}
$strDateSelector=$strDateSelector.">January</option>";
$strDateSelector=$strDateSelector."<option value=\"02\"";
if($MonthSelected==2){$strDateSelector=$strDateSelector." selected";}
$strDateSelector=$strDateSelector.">February</option>";
$strDateSelector=$strDateSelector."<option value=\"03\"";
if($MonthSelected==3){$strDateSelector=$strDateSelector." selected";}
$strDateSelector=$strDateSelector.">March</option>";
$strDateSelector=$strDateSelector."<option value=\"04\"";
if($MonthSelected==4){$strDateSelector=$strDateSelector." selected";}
$strDateSelector=$strDateSelector.">April</option>";
$strDateSelector=$strDateSelector."<option value=\"05\"";
if($MonthSelected==5){$strDateSelector=$strDateSelector." selected";}
$strDateSelector=$strDateSelector.">May</option>";
$strDateSelector=$strDateSelector."<option value=\"06\"";
if($MonthSelected==6){$strDateSelector=$strDateSelector." selected";}
$strDateSelector=$strDateSelector.">June</option>";
$strDateSelector=$strDateSelector."<option value=\"07\"";
if($MonthSelected==7){$strDateSelector=$strDateSelector." selected";}
$strDateSelector=$strDateSelector.">July</option>";
$strDateSelector=$strDateSelector."<option value=\"08\"";
if($MonthSelected==8){$strDateSelector=$strDateSelector." selected";}
$strDateSelector=$strDateSelector.">August</option>";
$strDateSelector=$strDateSelector."<option value=\"09\"";
if($MonthSelected==9){$strDateSelector=$strDateSelector." selected";}
$strDateSelector=$strDateSelector.">September</option>";
$strDateSelector=$strDateSelector."<option value=\"10\"";
if($MonthSelected==10){$strDateSelector=$strDateSelector." selected";}
$strDateSelector=$strDateSelector.">October</option>";
$strDateSelector=$strDateSelector."<option value=\"11\"";
if($MonthSelected==11){$strDateSelector=$strDateSelector." selected";}
$strDateSelector=$strDateSelector.">November</option>";
$strDateSelector=$strDateSelector."<option value=\"12\"";
if($MonthSelected==12){$strDateSelector=$strDateSelector." selected";}
$strDateSelector=$strDateSelector.">December</option>";
$strDateSelector=$strDateSelector."</select>";
}else{$strDateSelector.="<input type=\"hidden\" name=\"$DateSelectorName\" value=\"$MonthSelected\">";}
if($Days){
$strDateSelector=$strDateSelector."<select name=\"".$DateSelectorName."Day\" class=\"DataFormInput\">";
for($Counter=1;$Counter<=31;$Counter++){
$strDateSelector=$strDateSelector."<option value=\"".$Counter."\"";
if($Counter==$DaySelected){$strDateSelector=$strDateSelector." selected";}
$strDateSelector=$strDateSelector.">".$Counter."</option>";
}
$strDateSelector=$strDateSelector."</select>";
}else{$strDateSelector.="<input type=\"hidden\" name=\"$DateSelectorName\" value=\"$DaySelected\">";}
return $strDateSelector;
}
//Date range selection control
function CTL_DateRangeSelector(
$DateRangeSelectorName,
$FromYear=0,
$FromMonth=0,
$FromDay=0,
$FromCaption="From",
$ToYear=0,
$ToMonth=0,
$ToDay=0,
$ToCaption="to",
$YearHalfSpan=50,
$Class="",
$FromDate="",
$ToDate=""
){
$HTML_Code="
$FromCaption ".CTL_DateSelector($DateRangeSelectorName."From", $FromYear, $FromMonth, $FromDay, $YearHalfSpan, $Class, $FromDate)."
$ToCaption ".CTL_DateSelector($DateRangeSelectorName."To", $ToYear, $ToMonth, $ToDay, $YearHalfSpan, $Class, $ToDate)."
";
return $HTML_Code;
}
//A file upload control with DELETE EXISTING link & download link
function CTL_FileUpload($ControlName, $CurrentFile="", $AllowDelete=true, $Class="FormTextInput", $Size=50){
global $Application;
SetFormVariable($ControlName, $CurrentFile, $SetErrorFlag=true, $UseRequestVariable=true);
if(!$Class)$Class="FormTextInput";
$DocumentFile=$Application["UploadPath"].$CurrentFile;
if(!file_exists($Application["UploadPath"].$CurrentFile) or !$CurrentFile){$DocumentFile="./theme/".$_REQUEST["Theme"]."/image/noimage.gif";}
$HTML_Code="<input type=\"file\" name=\"".$ControlName."New\" size=\"$Size\" class=\"$Class\"><br>";
if(file_exists($Application["UploadPath"].$CurrentFile)&&$CurrentFile){$HTML_Code.="<a href=\"".$Application["UploadPath"].$CurrentFile."\" class=\"FormTextLink\" title=\" Download \"><img src=\"./theme/".$_REQUEST["Theme"]."/image/datagrid/datagrid_action_download.gif\" border=\"0\"> Download</a> ";}
if(file_exists($Application["UploadPath"].$CurrentFile) and $CurrentFile){$HTML_Code.=CTL_InputCheck($ControlName."Delete")." Delete";}
$HTML_Code.="<input type=\"hidden\" name=\"$ControlName\" value=\"$CurrentFile\">";
return $HTML_Code;
}
//An image upload control with DELETE EXISTING link & preview
function CTL_ImageUpload($ControlName, $CurrentImage="", $AllowDelete=true, $Class="FormTextInput", $ThumbnailHeight=100, $ThumbnailWidth=0, $Preview=true, $Size=50){
global $Application;
if(!$Class)$Class="FormTextInput";
$ImageFile=$Application["UploadPath"].$CurrentImage;
if(!$CurrentImage or !file_exists($ImageFile)){$ImageFile="./theme/".$_REQUEST["Theme"]."/image/other/noimage.gif";}
$HTML_Code="<input type=\"file\" name=\"{$ControlName}\" accept=\"image/png, image/gif, image/jpeg, image/bmp\" size=\"$Size\" class=\"$Class\"><br>";
if($Preview){
$HTML_Code.="<img src=\"$ImageFile\" border=\"";
if(!$CurrentImage or !file_exists($ImageFile)){$HTML_Code.="0";}else{$HTML_Code.="1";}
if($ThumbnailWidth){$HTML_Code.=" width=$ThumbnailWidth";}else{$HTML_Code.="\" height=\"$ThumbnailHeight";}
$HTML_Code.="\"><br>";
}
if($CurrentImage and file_exists($ImageFile)){$HTML_Code.=CTL_InputCheck($ControlName."Delete")." Delete current";}
$HTML_Code.="<input type=\"hidden\" name=\"$ControlName\" value=\"$CurrentImage\">";
return $HTML_Code;
}
//A control to make a custom window/panel/box with Caption, icon, etc.
function CTL_Window($Title="", $Content="", $Width="", $Icon="system", $Template=""){
if($Icon){
$HTML_Icon="
<td width=\"1\" valign=\"top\"><img src=\"./theme/".$_REQUEST["Theme"]."/image/window/".$Template."window_icon_".$Icon.".gif\"></td>
<td width=\"1\"> </td>
";
}else{$HTML_Icon="";}
$HTML="
<div align=\"center\">
<table class=\"".$Template."WindowTable\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" >
<tr class=\"".$Template."WindowRowTop\">
<td class=\"".$Template."WindowRowTopCellLeft\"></td>
<td class=\"".$Template."WindowRowTopCellCenter\">
<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">
<tr>
<td width=\"1\"><img src=\"./theme/".$_REQUEST["Theme"]."/image/window/".$Template."window_icon.gif\"></td>
<td width=\"1\"> </td>
<td class=\"".$Template."WindowTitle\">$Title</td>
</tr>
</table>
</td>
<td class=\"".$Template."WindowRowTopCellRight\"></td>
</tr>
<tr class=\"".$Template."WindowRowMiddle\">
<td class=\"".$Template."WindowRowMiddleCellLeft\"></td>
<td class=\"".$Template."WindowRowMiddleCellCenter\" width=\"$Width\">
<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">
<tr>
".$HTML_Icon."
<td class=\"".$Template."WindowContent\">$Content</td>
</tr>
</table>
</td>
<td class=\"".$Template."WindowRowMiddleCellRight\"></td>
</tr>
<tr class=\"".$Template."WindowRowBottom\">
<td class=\"".$Template."WindowRowBottomCellLeft\"></td>
<td class=\"".$Template."WindowRowBottomCellCenter\"></td>
<td class=\"".$Template."WindowRowBottomCellRight\"></td>
</tr>
</table>
</div>
";
return $HTML;
}
function CTL_Thumbnail($Thumbnail, $Width=148, $Height=148, $ThumbnailStyle="standard", $BackgroundColor="White"){
$HTML="
<table cellspacing=\"0\">
<tr>
<td colspan=\"99\" width=\"1\"><img src=\"./theme/".$_REQUEST["Theme"]."/image/thumbnail_".$ThumbnailStyle."_border_top.gif\"></td>
</tr>
<tr>
<td width=\"1\"><img src=\"./theme/".$_REQUEST["Theme"]."/image/thumbnail_".$ThumbnailStyle."_border_left.gif\"></td>
<td style=\"background-color: $BackgroundColor;\"><a href=\"./image/".$Thumbnail.".gif\" target=\"_blank\"><img src=\"./image/".$Thumbnail."_thumbnail.gif\" width=\"$Width\" height=\"$Height\"></a></td>
<td width=\"1\"><img src=\"./theme/".$_REQUEST["Theme"]."/image/thumbnail_".$ThumbnailStyle."_border_right.gif\"></td>
</tr>
<tr>
<td colspan=\"99\" width=\"1\"><img src=\"./theme/".$_REQUEST["Theme"]."/image/thumbnail_".$ThumbnailStyle."_border_bottom.gif\"></td>
</tr>
</table>
<!-- Thumbnail end -->
";
return $HTML;
}
function CTL_ThumbnailGrid($Images, $Columns=4, $Spacing=15){
// DebugFunctionTrace($FunctionName="CTL_ThumbnailGrid", $Parameter=array("Images"=>$Images, "Columns"=>$Columns, "Spacing"=>$Spacing), $UseURLDebugFlag=true);
$Rows=ceil(count($Images)/$Columns);
$ThumbnailGrid="
<!-- Start of Thumbnail grid -->
<table cellspacing=\"$Spacing\">
";
for($RowCounter=1; $RowCounter<=$Rows; $RowCounter++){
$ThumbnailGrid.="<tr>";
for($ColumnCounter=1; $ColumnCounter<=$Columns; $ColumnCounter++){
$CurrentImage=(($RowCounter*$Columns)-$Columns)+$ColumnCounter;
if($CurrentImage<=count($Images)){
$ThumbnailGrid.="<td>".CTL_Thumbnail($Images[$CurrentImage-1])."</td>";
}
}
$ThumbnailGrid.="</tr>";
}
$ThumbnailGrid.="
</table>
<!-- End of Thumbnail grid -->
";
return $ThumbnailGrid;
}
//Datagrid control!
function CTL_Datagrid(
$Entity,
$ColumnName,
$ColumnTitle,
$ColumnAlign,
$ColumnType,
$Rows,
$SearchHTML,
$ActionLinks=true,
$SearchPanel=true,
$ControlPanel=true,
$EntityAlias="",
$AddButton=true,
$AdditionalLinkCaption="",
$AdditionalLinkField="",
$AdditionalLinkURL="",
$TableClass="table table-bordered table-striped table-hover data-table"
){
global $Application;
$EntityLower=strtolower($Entity);
if($EntityAlias=="")$EntityAlias=$Entity;
$EntityAliasLower=strtolower($EntityAlias);
$Title_Search="Search/Filter $EntityAliasLower Record(s)";
if(!isset($_REQUEST["SortBy"]))$_REQUEST["SortBy"]=$ColumnName[0];
if(!isset($_REQUEST["SortType"]))$_REQUEST["SortType"]="ASC";
if($_REQUEST["SortType"]=="ASC"){$ReverseSortType="DESC";}else{$ReverseSortType="ASC";}
$FormActionURL=ApplicationURL("{$_REQUEST["Base"]}",$Script=$_REQUEST["Script"], "RecordShowFrom={$_POST["RecordShowFrom"]}&SortBy={$_REQUEST["SortBy"]}&SortType={$_REQUEST["SortType"]}");
// Calculate the PerPage DataGrid
if(!isset($_REQUEST["RecordShowFrom"])){
$_REQUEST["RecordShowFrom"]=1;
}
$RecordShowFromNumber=$Application["DatagridRowsDefault"] + $_REQUEST["RecordShowFrom"];
$RecordShowFromNumberMinus=$_REQUEST["RecordShowFrom"] - $Application["DatagridRowsDefault"];
// Check If the user want to go Back
if ($RecordShowFromNumberMinus < -1){
$OnClickURL="<img src=\"./theme/".$_REQUEST["Theme"]."/image/datagrid/leftarrow.gif\" alt=\"Previous\" style=\"border: #ff33cc; cursor: pointer; padding-top: 0px;\" onclick=\"alert('This Operation Not Possible!')\">";
$CurrentPage=1;
}
else {
$CurrentPage=$_REQUEST["PageNo"];
$PreviousPage=$CurrentPage-1;
$OnClickURL="<img src=\"./theme/".$_REQUEST["Theme"]."/image/datagrid/leftarrow.gif\" alt=\"Previous\" style=\"border: #ff33cc; cursor: pointer; padding-top: 0px;\" onclick=\"window.location='".ApplicationURL("{$_REQUEST["Base"]}","{$_REQUEST["Script"]}", "RecordShowFrom=$RecordShowFromNumberMinus&SortBy={$_REQUEST["SortBy"]}&SortType={$_REQUEST["SortType"]}&PageNo=$PreviousPage")."'\")\">";
}
// Search Combo
$i=0;foreach($ColumnTitle as $ThisColumnTitle){$SearchComboValue[$i]=$ThisColumnTitle; $i++;}
$i=0;$SearchCombo="<select name=\"SearchCombo\" class=\"DataGridComboBox\" >";
foreach($ColumnName as $ThisColumn){
if ($_REQUEST["SearchCombo"]==$ThisColumn)
$SearchCombo.="<option value=\"$ThisColumn\" selected >$SearchComboValue[$i]</option>";
else
$SearchCombo.="<option value=\"$ThisColumn\">$SearchComboValue[$i]</option>";
$i++;
}
$SearchCombo.="</select>";
$NextPage=$CurrentPage+1;
$AddButtonHTML="";
if($AddButton)
$AddButtonHTML="
<img src=\"./theme/".$_REQUEST["Theme"]."/image/datagrid/add.gif\" alt=\"Add New {$Entity}\" style=\"border: #ff33cc; cursor: pointer;\" onclick=\"window.location='".ApplicationURL("{$_REQUEST["Base"]}","{$_REQUEST["Script"]}","ActionNew{$Entity}=1")."'\")\">
";
$HTML_Search="
<form name=\"frmDataGridSearch$Entity\" action=\"$FormActionURL\" method=\"post\" enctype=\"multipart form/data\">
<div class=\"widget-box\">
<div class=\"widget-title\">
<span class=\"icon\">
<i class=\"icon-th-list\"></i>
</span>
<h5>$EntityAlias</h5>
</div>
<div class=\"widget-content\">
<table border=\"0\" cellspacing=\"0\" class=\"\">
<tr>
<td>
{$AddButtonHTML}
{$OnClickURL} <b>{$CurrentPage}</b> <img src=\"./theme/".$_REQUEST["Theme"]."/image/datagrid/rightarrow.gif\" alt=\"Next\" style=\"border: #ff33cc; cursor: pointer; \" onclick=\"window.location='".ApplicationURL("{$_REQUEST["Base"]}","{$_REQUEST["Script"]}", "RecordShowFrom=$RecordShowFromNumber&SortBy={$_REQUEST["SortBy"]}&SortType={$_REQUEST["SortType"]}&PageNo=$NextPage")."'\")\">
</td>
<td>
</td>
<td valign=\"top\">
$SearchCombo $SearchHTML
</td>
<td valign=\"top\">
".CTL_InputSubmit("", "Search", $Title="", $Size="", $Class="btn")."
".CTL_InputButton($Name="", $Value="Show All", $Title="", $Size="", $Class="btn", $Style="", $OnClick="window.location='".ApplicationURL("{$_REQUEST["Base"]}","Manage")."'")."
</td>
</tr>
</table>
</div>
</div>
</form>
";
if(!$SearchPanel)$HTML_Search="";
if(!$ControlPanel)$HTML_ControlPanel="";
$HTML_Grid="
<script language=\"javascript\">
function confirmSubmit(url){
var agree=confirm(\"Are you sure you want to delete?\");
if(agree){
window.location=url;
}
else
return false ;
}
</script>
$HTML_Search
<form name=\"frmDataGrid$Entity\" action=\"$FormActionURL\" method=\"post\" enctype=\"multipart form/data\">
<table border=\"0\" cellspacing=\"0\" class=\"{$TableClass}\">
<tr class=\"DataGrid_Title_Table_Bar\" valign=\"middle\">
<td class=\"DataGrid_ColumnTitle_Row_Serial_Cell\" > SL No.</td>
";
foreach($ColumnName as $ThisColumn){
$HTML_Grid.="<td width=\"";
if($ColumnType[array_search($ThisColumn, $ColumnName)]!="email" and $ColumnType[array_search($ThisColumn, $ColumnName)]!="file"){
$HTML_Grid.="\"><a href=\"".ApplicationURL($Base=$_REQUEST["Base"],$Script=$_REQUEST["Script"], "RecordShowFrom={$_REQUEST["RecordShowFrom"]}&RecordShowUpTo={$_REQUEST["RecordShowUpTo"]}&SortBy=$ThisColumn&SortType=$ReverseSortType&$SortLinkExtraParameter")."\" class=\"DataGrid_ColumnTitle_Link\">".$ColumnTitle[array_search($ThisColumn, $ColumnName)]."</a>";
if($ThisColumn==$_REQUEST["SortBy"]){
$HTML_Grid.="<img src=\"./theme/".$_REQUEST["Theme"]."/image/datagrid/datagrid_sortorder_".strtolower($_REQUEST["SortType"]).".gif\">";
}
}else{$HTML_Grid.="1\">";}
$HTML_Grid.="</td>";
}
if($ActionLinks>0)$HTML_Grid.="<td class=\"DataGrid_ColumnTitle_Row_Action_Cell\"> Options </td>";
$HTML_Grid.=" </tr>";
//$CurrentPage
$RowCounter=($Application["DatagridRowsDefault"]*$CurrentPage) - ($Application["DatagridRowsDefault"]-1);
foreach($Rows as $Row){
if(fmod($RowCounter+2, 2)==0){$DataRowHightLightType="Even";}else{$DataRowHightLightType="Odd";}
$HTML_Grid.=" <tr class=\"DataGrid_DataRow_$DataRowHightLightType\" onMouseOver=this.className=\"RowMouseOver\" onMouseOut=this.className=\"DataGrid_DataRow_$DataRowHightLightType\">
<td align=\"center\">$RowCounter </td>
";
$RowCounter++;
foreach($ColumnName as $ThisColumn){
if($ColumnType[array_search($ThisColumn, $ColumnName)]!="Email"){
$HTML_Grid.="<td class=\"DataGrid_DataCell\" align=\"".$ColumnAlign[array_search($ThisColumn, $ColumnName)];
}else{
$HTML_Grid.="<td width=\"1";
}
$HTML_Grid.="\">";
switch(trim(strtolower($ColumnType[array_search($ThisColumn, $ColumnName)]))){
case "sql":
//Country:CountryID:CountryName:CountryName
//tableName:SeachFieldName:ShowFiledName:SearchKeyFiledName
$GetSQLParam = explode(":",$ThisColumn);
//$GetSQLParamValue=SQL_Select($GetSQLParam[0],"{$GetSQLParam[1]}='{$GetSQLParam[3]}'","",true);
if($GetSQLParam[4]=="true")
$Debug = true;
else
$Debug = false;
$GetSQLParamValue=SQL_Select($GetSQLParam[0],"{$GetSQLParam[1]}='{$Row["$GetSQLParam[3]"]}'", "", true, "", "", $Debug);
$HTML_Grid.=$GetSQLParamValue["{$GetSQLParam[2]}"];
print_r($result);
break;
case "text":
$HTML_Grid.=$Row[$ThisColumn];
break;
case "date":
$HTML_Grid.=date("M j, y", strtotime($Row[$ThisColumn]));
break;
case "email":
$HTML_Grid.="<a href=\"mailto:".$Row[$ThisColumn]."\" class=\"\" title=\"".$Row[$ThisColumn]."\"><img src=\"./theme/".$_REQUEST["Theme"]."/image/datagrid/datagrid_action_email.gif\" style=\"border: 0px;\" ></a>";
break;
case "url":
$HTML_Grid.="<a href=\"".$Row[$ThisColumn]."\" target=\"_blank\" class=\"\" title=\"".$Row[$ThisColumn]."\"><img src=\"./theme/".$_REQUEST["Theme"]."/image/datagrid/HOME32.ICO\" width=\"18\" height=\"18\" style=\"border: 0px;\" ></a>";
break;
case "yes/no":
$HTML_Grid.="<img src=\"./theme/".$_REQUEST["Theme"]."/image/datagrid/datagrid_icon_";
if($Row[$ThisColumn]==1){$HTML_Grid.="yes";}else{$HTML_Grid.="no";}
$HTML_Grid.=".gif\">";
break;
case "file":
if(file_exists($Application["UploadPath"].$Row[$ThisColumn])&&$Row[$ThisColumn]){
$HTML_Grid.="<a href=\"".$Application["UploadPath"].$Row[$ThisColumn]."\" class=\"\" title=\" Download ".$Row[$ThisColumn]." \"><img src=\"./theme/".$_REQUEST["Theme"]."/image/datagrid_action_download.gif\"></a>";
}else{
$HTML_Grid.="<img src=\"./theme/".$_REQUEST["Theme"]."/image/datagrid/datagrid_icon_notavailable.gif\">";
}
break;
case "imagelink":
if(file_exists($Application["UploadPath"].$Row[$ThisColumn])&&$Row[$ThisColumn]){
$HTML_Grid.="<a href=\"".$Application["UploadPath"].$Row[$ThisColumn]."\" class=\"\" title=\" Click to view full size \" target=\"_blank\"><img src=\"".$Application["UploadPath"].$Row[$ThisColumn]."\" class=\"DataGrid_Image\" width=\"60\" ></a>";
}else{
$HTML_Grid.="<img src=\"./theme/".$_REQUEST["Theme"]."/image/datagrid/datagrid_icon_notavailable.gif\">";
}
break;
}
$HTML_Grid.="</td>";
}
if($ActionLinks>0)$HTML_Grid.="<td align=\"center\">";
$ActionParameter=$Entity."ID=".$Row[$Entity."ID"]."&".$Entity."UUID=".$Row[$Entity."UUID"];
$i=0;
//print_r($AdditionalLinkCaption);
if($AdditionalLinkCaption!="")
foreach($AdditionalLinkCaption as $ThisAdditionalLinkCaption){
$HTML_Grid.="
<a href=\"{$AdditionalLinkURL[$i]}{$Row["{$AdditionalLinkField[$i]}"]}\">{$AdditionalLinkCaption[$i]}</a>
";
$i++;
}
if($ActionLinks){
$HTML_Grid.="
<span class=\"btn btn-primary\" onclick=\"window.location='".ApplicationURL("{$_REQUEST["Base"]}", $Script="Insertupdate", $ActionParameter)."'\"><i class=\"icon-pencil icon-white\"></i> Edit</span>
<span class=\"btn btn-danger\" onclick=\"confirmSubmit('".ApplicationURL("{$_REQUEST["Base"]}", $Script="Manage", $ActionParameter."&DeleteConfirm")."')\"><i class=\"icon-remove icon-white\"></i> Delete</span>
";
}
if($ActionLinks>0)$HTML_Grid.="</td>";
$HTML_Grid.="</tr>";
}
$HTML_Grid.="
</table>
</form>
";
return $HTML_Grid;
}
?>
Did this file decode correctly?
Original Code
<?php $_F=__FILE__;$_X='P2lCPw1WDVYJaGhDTUhNemU9TT5lPnplSDlPWT5uPXpzSHhYPkNNSE16ZVdXcSw+ZW4+ZT5aZW5ufU96OQ1WCUFRSDI9c09IPmdlSDlPWW1lbm59T3o5KCldDVYJCSQyLmV6bj5TPiJlPDI5TUF4LnMKeVlIT1p2em49UWN9UnE1YWtKVUxbMWZQIjsNVgkJbnplSDkoKDlPUTxXTSlZczJ6Tz1zWU0oKSowYWFhYWFhKTsNVgkJJHM+Uz5hOw1WCQkkWmVubj5TPicnPjsNVgkJfS5zV00oJHM+QlM+MSldDVYJCQkkSFFZPlM+emVIOSgpPiU+Sko7DVYJCQkkPVlaPlM+blE8bj16KCQyLmV6biw+JEhRWSw+MCk7DVYJCQkkWmVubj5TPiRaZW5uWCQ9WVo7DVYJCQkkcysrOw1WCQlsDVYJCXpNPVF6SD4kWmVubjsNVglsDVYNVgloaFR6ZUhuV2U9TT5lV1c+PS5NPjxXZUh5Pm5aZTJNbj49Tz50VHVJPjxXZUh5Pm5aZTJNbj4nJkg8blo7Jw1WCUFRSDI9c09IPiBIe3plWigkVE1SPVRPIEh7emVaKV0NVgkJek09UXpIPm49el96TVpXZTJNKCI+Iiw+IiZIPG5aOyIsPiRUTVI9VE8gSHt6ZVopOw1WCWwNVg1WCUFRSDI9c09IPi9nSXJUT29nKCRUTVI9VE9UemVIbldlPU0pXQ1WCQl6TT1Rekg+bj16X3pNWldlMk0oMi56KDBKKVgyLnooMGEpLD4iQjx6aSIsPiRUTVI9VE9UemVIbldlPU0pOw1WCWwNVg1WCWhoRkg+TVI9TUg5TTk+bj16c0h4Pm5NZXoyLj5BUUgyPXNPSA1WPj4+PkFRSDI9c09IPnBNZXoyLnA9enNIeEtSKCRJT095ck96LD4kSU9PeTNILD4kcD16c0h4L09ZWmV6c25PSHVPOU1TInAvVHVfbUZnVDNGSSIpXQ1WPj4+Pj4+Pj4kdWU9Mi5tT25zPXNPSFMtMDsNVg1WPj4+Pj4+Pj5zQSgkcD16c0h4L09ZWmV6c25PSHVPOU1TUydwL1R1X0tERi9UJyldDVY+Pj4+Pj4+Pj4+Pj5zQSgkSU9PeTNIU1MkSU9PeXJPeildJHVlPTIubU9ucz1zT0hTYTtsDVY+Pj4+Pj4+PmxNV25Nc0EoJHA9enNIeC9PWVplenNuT0h1TzlNU1MncC9UdV9tRmdUM0ZJJyldDVY+Pj4+Pj4+Pj4+Pj5zQShuPXpaT24oJElPT3kzSCw+JElPT3lyT3opKV0kdWU9Mi5tT25zPXNPSFNuPXpaT24oJElPT3kzSCw+JElPT3lyT3opO2wNVj4+Pj4+Pj4+bE1Xbk1zQSgkcD16c0h4L09ZWmV6c25PSHVPOU1TUydwL1R1X0lLclQnKV0NVj4+Pj4+Pj4+Pj4+PnNBKG5RPG49eigkSU9PeTNILD5hLD5uPXpXTUgoJElPT3lyT3opKSldJHVlPTIubU9ucz1zT0hTYTtsDVY+Pj4+Pj4+PmxNV25Nc0EoJHA9enNIeC9PWVplenNuT0h1TzlNU1MncC9UdV9nM0N0VCcpXQ1WPj4+Pj4+Pj4+Pj4+c0EoblE8bj16KCRJT095M0gsPm49eldNSCgkSU9PeTNIKS1uPXpXTUgoJElPT3lyT3opLD5uPXpXTUgoJElPT3lyT3opKSldJHVlPTIubU9ucz1zT0hTbj16V01IKCRJT095M0gpLW49eldNSCgkSU9PeXJPeik7bA1WPj4+Pj4+Pj5sDVYNVj4+Pj4+Pj4+aGhzQSgkdWU9Mi5tT25zPXNPSGktMCldWnpzSD0+InVlPTIuPkFPUUg5IT5JT095c0h4PkFPej4nJElPT3lyT3onPnNIPickSU9PeTNIJz5lbj4nJHA9enNIeC9PWVplenNuT0h1TzlNJ0I8emkiO2wNVg1WPj4+Pj4+Pj56TT1Rekg+JHVlPTIubU9ucz1zT0g7DVY+Pj4+bA1WPj4+Pg1WDVYNVglBUUgyPXNPSD4vUT10VHVJcD16c0h4KCR0VHVJLCQve096OSldDVYJPj4+PiRlPlM+WnpNeF96TVpXZTJNKCdoQlgqP2loJyw+JycsPiR0VHVJKTsNVgk+Pj4+JGVTblE8bj16KCJdJGVsIiw+YSwkL3tPejkpOw1WCT4+Pj56TT1Rekg+JGU7DVYJbA1WDVYNVg1WCWhoPj4kcD1lPXMyL09IPU1IPUVlWU0+XW49enNIeGw+Uz4+PkVlWU0+T0E+PS5NPjJPSD1NSD0+PU8+ek09UXpIDVYJQVFIMj1zT0g+cD1lPXMyL09IPU1IPSgkcD1lPXMyL09IPU1IPUVlWU0pXQ1WCQl4V088ZVc+JEZaWldzMmU9c09IOw1WCT4+Pj4kcD1lPXMyL09IPU1IPVNwd0lfcE1XTTI9KCRLSD1zPXFTInA9ZT1zMi9PSD1NSD0iLD4key5Nek1TInA9ZT1zMi9PSD1NSD1FZVlNPlM+JyRwPWU9czIvT0g9TUg9RWVZTSciLD4kN3o5TXpvcVMicD1lPXMyL09IPU1IPUVlWU0iLD4kcHNIeFdNZ099Uz16UU0pOw1WPj4+Pj4+Pj4kcD1lPXMyL09IPU1IPXRUdUlTIiI7DVYJCSRwPWU9czIvT0g9TUg9dFR1SVhTJHA9ZT1zMi9PSD1NSD1qInA9ZT1zMi9PSD1NSD0iZDsNVgk+Pj4+c0EoJF9wS3BwMzdFaiIgbk16MzQiZFNTaykNVgkJCSRwPWU9czIvT0g9TUg9dFR1SVhTIg1WCQkJCUI5c2M+ZVdzeEhTXCIyTUg9TXpcImlCZT4uek1BU1wiI1wiPjJXZW5uU1wicD1lPXMyL09IPU1IPS9PSD16T1dvUT09T0hcIj5PSDJXczJ5U1wibU9aIFpwPWU9czIvT0g9TUg9SzlzPU96KCckcD1lPXMyL09IPU1IPUVlWU0nKVwiaUI8Pm49cVdNU1wiQU9IPS1uczVNOj5mWlI7PjxlMnl4ek9RSDktMk9XT3o6PiNBQUFBW1s7PU1SPS05TTJPemU9c09IOj5IT0hNO1wiPmlLNDNUPi83RVRLRVRCaDxpQmhlaUJoOXNjaQ1WCQkJIjsNVgk+Pj4+ek09UXpIPiRwPWU9czIvT0g9TUg9dFR1STsNVglsDVYNVglBUUgyPXNPSD5wPWU9czIvT0g9TUg9NnNNfSgkcD1lPXMyL09IPU1IPUVlWU0pXQ1WCQl4V088ZVc+JEZaWldzMmU9c09IOw1WCT4+Pj4kcD1lPXMyL09IPU1IPVNwd0lfcE1XTTI9KCRLSD1zPXFTInA9ZT1zMi9PSD1NSD0iLD4key5Nek1TInA9ZT1zMi9PSD1NSD1FZVlNPlM+JyRwPWU9czIvT0g9TUg9RWVZTSciLD4kN3o5TXpvcVMicD1lPXMyL09IPU1IPUVlWU0iLD4kcHNIeFdNZ099Uz16UU0pOw1WPj4+Pj4+Pj4kcD1lPXMyL09IPU1IPXRUdUlTIiI7DVYJCSRwPWU9czIvT0g9TUg9dFR1SVhTJHA9ZT1zMi9PSD1NSD1qInA9ZT1zMi9PSD1NSD0iZDsNVgk+Pj4+ek09UXpIPiRwPWU9czIvT0g9TUg9dFR1STsNVglsDVYNVg1WCWgqDVYJCVRNWVpXZT1NOj4+Pk89Lk16WFouWg1WCQltUXpaT25NOj4+Pj43PS5Nej5Zc24yTVdXZUhzT1FuPkFRSDI9c09Ibg1WCQlnc255Oj4+Pj4+Pj4venM9czJlVw1WCSpoDVYNVgloaG9Rc1c5Pj0uTT5lWlpXczJlPXNPSD4gZ0k+blpNMnNlV1dxPkFPelllPT1NOT49Tz5Bcz0+PS5NPnJRbk1vT1I+WWVISE16DVYJQVFIMj1zT0g+RlpaV3MyZT1zT0ggZ0koJG9lbk1TIiIsPiRwMnpzWj1TIiIsPiQ3PS5Nem1lemVZTT1NelMiIiw+JHBNMj1zT0hTIiIsPiRtZT0uN0hXcVNBZVduTSldDVYNVgk+Pj4+JCBnSVMiLj09WiI7DVYJPj4+PnNBKG5RPG49eigkX3BLZzZLZ2oicEtnNktnX21nN1Q3LzdJImQsPmEsPkwpU1MidFRUbXAiKV0kIGdJWFMibiI7bA1WCT4+Pj4kIGdJWFMiOmhoIjsNVgkJJCBnSVhTJF9wS2c2S2dqInRUVG1fdDdwVCJkOw1WCQlzQSghJG1lPS43SFdxKV0kIGdJWFMkX3BLZzZLZ2oibXRtX3BLSXIiZDtsTVduTV0kIGdJWFNwMnpzWj1tZT0uKCk7bA1WCQkkIGdJWFMiPyI7DVYJCXNBKHNubk09KCRfZ0t3IEtwVGoiVC5NWU0iZCkpJCBnSVhTIlQuTVlNU10kX2dLdyBLcFRqIlQuTVlNImRsIjsNVgkJc0EoJG9lbk0hUyIiKSQgZ0lYUyImb2VuTVMkb2VuTSI7DVYJCXNBKCRwMnpzWj0hUyIiKSQgZ0lYUyImcDJ6c1o9UyRwMnpzWj0iOw1WCQlzQSgkNz0uTXptZXplWU09TXohUyIiKV0kIGdJWFMiJiQ3PS5Nem1lemVZTT1NeiI7bA1WCQlzQShzbm5NPSgkX2dLdyBLcFRqIjRNPFF4ImQpKV0kIGdJWFMiJjRNPFF4IjtsDVYJCXNBKHNubk09KCRfZ0t3IEtwVGoidWVzSC9PSD1NSD03SFdxImQpKV0kIGdJWFMiJnVlc0gvT0g9TUg9N0hXcSI7bA1WCQlzQShzbm5NPSgkX2dLdyBLcFRqIkVPdE1lOU16ImQpKV0kIGdJWFMiJkVPdE1lOU16IjtsDVYJCXNBKHNubk09KCRfZ0t3IEtwVGoiRU9yT089TXoiZCkpXSQgZ0lYUyImRU9yT089TXoiO2wNVgkJaGhzQShzbm5NPSgkX2dLdyBLcFRqInJ6TU1UTVI9ImQpIVMiIildJCBnSVhTIiZwTWV6Mi4vT1k8T1NdJF9nS3cgS3BUaiJwTWV6Mi4vT1k8TyJkbCI7bA1WCQlzQSgkcE0yPXNPSCFTIiIpXSQgZ0lYUyIjJHBNMj1zT0giO2wNVg1WCQloKg1WCQlzQSghc25uTT0oJF9nS3cgS3BUaiJFSyJkKSldDVYJCQkkdU85c0FxIGdJU01SWldPOU0oIlQuTVlLUkN6T1FaWDJPWSIsIl0kIGdJbCIpOw1WCQkJaGhuZSgkdU85c0FxIGdJKTsNVgkJCSQgZ0lTPGVuTVtVX01IMk85TSgkdU85c0FxIGdJajBkKTsNVgkJCSQgZ0lTIl0kdU85c0FxIGdJamFkbFQuTVlLRFNdJCBnSWxdJHBNMj1zT0ggZ0lsIjsNVgkJbA1WCQkqaA1WDVYNVgkJek09UXpIPiQgZ0k7DVYJbA1WCQ1WCWhoQ01ITXplPU0+ZT5ucW49TVk+fXM5TT5RSHN2UU0+czlNSD1zQXNNeg1WCUFRSDI9c09IPkMgMzQoJC9Reldxb3plMk1TQWVXbk0pXQ1WCQlzQT4oQVFIMj1zT0hfTVJzbj1uKCcyT1lfMnpNZT1NX3hRczknKSldDVYJCQl6TT1Rekg+Mk9ZXzJ6TWU9TV94UXM5KCk7DVYJCWxNV25NXQ1WCQkJWT1fbnplSDkoKDlPUTxXTSlZczJ6Tz1zWU0oKSowYWFhYSk7aGhPWj1zT0hlVz5BT3o+Wi5aPlVYa1hhPmVIOT5RWlgNVgkJCSQvLmV6ZTI9TXozND5TPm49ej1PUVpaTXooWTlMKFFIc3ZzOSh6ZUg5KCksPj16UU0pKSk7DVYJCQkkdHFaLk1IPlM+Mi56KFVMKTtoaD4iLSINVgkJCSRDIDM0PlM+blE8bj16KCQvLmV6ZTI9TXozNCw+YSw+ZilYJHRxWi5NSA1WCQkJWG5RPG49eigkLy5lemUyPU16MzQsPmYsPlUpWCR0cVouTUgNVgkJCVhuUTxuPXooJC8uZXplMj1NejM0LDBrLD5VKVgkdHFaLk1IDVYJCQlYblE8bj16KCQvLmV6ZTI9TXozNCwwWyw+VSlYJHRxWi5NSA1WCQkJWG5RPG49eigkLy5lemUyPU16MzQsa2EsMGspO2hoPiJsIg1WCQkJc0EoJC9Reldxb3plMk0pJEMgMzRTIl0iWCRDIDM0WCJsIjsNVgkJCXpNPVF6SD4kQyAzNDsNVgkJbA1WCWwNVg1WDVYNVg1WDVYJQVFIMj1zT0g+c25fY2VXczlfTVllc1coJE1ZZXNXKT5dDVYJPj4kek1uUVc9PlM+VGcgSzsNVgk+PnNBKCFNek14cygiXmpfZS01YS1QLWQrKFxYal9lLTVhLVAtZCspKkBqZS01YS1QLWQrKFxYamUtNWEtUC1kKykqKFxYamUtNWRdayxVbCkkIiw+JE1ZZXNXKSk+XQ1WCT4+Pj4kek1uUVc9PlM+ckZJcEs7DVYJPj5sDVYJPj56TT1Rekg+JHpNblFXPTsNVglsDVYNVgloaDhRbj0+bk1IOT49Lk0+QXNXTT5IZVlNPmVIOT49Lk0+Y2VXUU0+T0E+PS5NPkFzV01YDVYJQVFIMj1zT0g+L1RJXy96TWU9TV9yc1dNKCQyZTIuTUFzV00sPiRPUT1aUT0pXQ1WCQlzQT4oISQuZUg5V00+Uz5BT1pNSCgkMmUyLk1Bc1dNLD4nfScpKT5dDVYJCQk+TTIuTz4iL2VISE89Pk9aTUg+QXNXTT4oJDJlMi5NQXNXTSkiOw1WCQkJPnpNPVF6SD5BZVduTTsNVgkJbA1WCQloaGg+OGVZTW4+cFFICk9jTUB4WWVzV1gyT1kNVg1WCQkkMk9IPU1IPVMiQj8iOw1WCQkkMk9IPU1IPV8wUyIkIjsNVgkJJDJPSD1NSD1fa1MidWVzSC9PSD1NSD1YU3A9ZT1zMi9PSD1NSD0oIjsNVgkJJDJPSD1NSD1fSlMiJCI7DVYJCSQyT0g9TUg9X1VTInA9ZT1zMi9PSD1NSD1FZVlNUyd8fHwnKTsiOw1WCT4+Pj4kMk9IPU1IPV9VU249el96TVpXZTJNKCJ8fHwiLD4kT1E9WlE9LD4kMk9IPU1IPV9VKTsNVgkJJDJPSD1NSD1fTFMiPyI7DVYJCSQyT0g9TUg9X1tTImkiOw1WCQkkT1E9WlE9UyIkMk9IPU1IPT4+JDJPSD1NSD1fMCQyT0g9TUg9X2skMk9IPU1IPV9KJDJPSD1NSD1fVT4kMk9IPU1IPV9MJDJPSD1NSD1fWyI7DVYNVgkJaGg+e3pzPU0+JG5PWU0yT0g9TUg9Pj1PPk9Rej5PWk1ITTk+QXNXTVgNVgkJc0E+KCFBfXpzPU0oJC5lSDlXTSw+JE9RPVpRPSkpPl0NVgkJCU0yLk8+Ii9lSEhPPT59enM9TT49Tz5Bc1dNPigkMmUyLk1Bc1dNKSI7DVYJCQl6TT1Rekg+QWVXbk07DVYJCWwNVg1WCQlBMldPbk0oJC5lSDlXTSk7DVYJCXpNPVF6SD49elFNOw1WCWwNVg1WDVYJQVFIMj1zT0g+L1RJX0ZRPU8vTzlNei96TWU9TXJzV00oJDJlMi5NQXNXTSw+JE9RPVpRPSldDVYJCXNBPighJC5lSDlXTT5TPkFPWk1IKCQyZTIuTUFzV00sPid9JykpPl0NVgkJCT5NMi5PPiIvZUhITz0+T1pNSD5Bc1dNPigkMmUyLk1Bc1dNKSI7DVYJCQk+ek09UXpIPkFlV25NOw1WCQlsDVYNVgkJaGg+e3pzPU0+JG5PWU0yT0g9TUg9Pj1PPk9Rej5PWk1ITTk+QXNXTVgNVgkJc0E+KCFBfXpzPU0oJC5lSDlXTSw+JE9RPVpRPSkpPl0NVgkJCU0yLk8+Ii9lSEhPPT59enM9TT49Tz5Bc1dNPigkMmUyLk1Bc1dNKSI7DVYJCQl6TT1Rekg+QWVXbk07DVYJCWwNVg1WCQlBMldPbk0oJC5lSDlXTSk7DVYJCXpNPVF6SD49elFNOw1WCWwNVg1WDVYJQVFIMj1zT0g+L1RJXy96TWU9TXJzV00vT0g9TUg9KCQyZTIuTUFzV00sPiRPUT1aUT0sJDJPSD1NSD0pXQ1WCQlzQT4oISQuZUg5V00+Uz5BT1pNSCgkMmUyLk1Bc1dNLD4nfScpKT5dDVYJCQk+TTIuTz4iL2VISE89Pk9aTUg+QXNXTT4oJDJlMi5NQXNXTSkiOw1WCQkJPnpNPVF6SD5BZVduTTsNVgkJbA1WCQloaGg+OGVZTW4+cFFICk9jTUB4WWVzV1gyT1kNVg1WCQkkT1E9WlE9UyIkMk9IPU1IPSI7DVYNVgkJaGg+e3pzPU0+JG5PWU0yT0g9TUg9Pj1PPk9Rej5PWk1ITTk+QXNXTVgNVgkJc0E+KCFBfXpzPU0oJC5lSDlXTSw+JE9RPVpRPSkpPl0NVgkJCU0yLk8+Ii9lSEhPPT59enM9TT49Tz5Bc1dNPigkMmUyLk1Bc1dNKSI7DVYJCQl6TT1Rekg+QWVXbk07DVYJCWwNVg1WCQlBMldPbk0oJC5lSDlXTSk7DVYJCXpNPVF6SD49elFNOw1WCWwNVg1WDVYNVg1WCQ1WCWhoLy5NMnk+c0E+PS5NPnhzY01IPkhRWTxNej5zbj5ITXhlPXNjTQ1WCWhoZ009UXpIPj1xWk0+bzc3SUtGRQ1WCWhoPj4+Pj4+VGcgSz5TPkVNeGU9c2NNPkhRWTxNeg1WCWhoPj4+Pj4+ckZJcEs+Uz5tT25zPXNjTT5IUVk8TXoNVglBUUgyPXNPSD4zbkVNeGU9c2NNKCRFUVk8TXopXQ1WaGgJCTRNPFF4clFIMj1zT0hUemUyTSgkclFIMj1zT0hFZVlNUyIzbkVNeGU9c2NNIiw+JG1lemVZTT1NelNlenplcSgiRVFZPE16IlNpJEVRWTxNeiksPiQgbk0gZ0k0TTxReHJXZXhTPXpRTSk7DVYNVgk+Pj4+JDNuRU14ZT1zY01TQWVXbk07DVYJPj4+PnNBKCRFUVk8TXpoZTxuKCRFUVk8TXopU1MtMCkkM25FTXhlPXNjTVM9elFNOw1WCT4+Pj56TT1Rekg+JDNuRU14ZT1zY007DVYJbA1WDVYJaGgvLk0yeT5zQT49Lk0+blpNMnNBc005PnNuPmVIPk85OT5IUVk8TXoNVglBUUgyPXNPSD4zbjc5OSgkRVFZPE16KV0NVgkJc0EoJEVRWTxNemlBV09PeigkRVFZPE16aGspKmspXXpNPVF6SD49elFNO2xNV25NXXpNPVF6SD5BZVduTTtsDVYJbA1WP2kNVkI/DVYJaGhuUUgKT2NNQHhZZXNXWDJPWQ1WCUFRSDI9c09IPm1lcW1lV29RcUVPfW9RPT1PSCgNVgk+Pj4+JG1lcW1lV0NlPU19ZXFTIi49PVpuOmhofX19WFplcVplV1gyT1loMnhzLTxzSGh9TTxuMnoiLA1WCT4+Pj4kL09ZWWVIOVMiXzJlej0iLA1WCT4+Pj4kb1Fuc0hNbm5LWWVzV1MiIiwNVgk+Pj4+JDM9TVlTZXp6ZXEoDVYJCQllenplcSgiRWVZTSJTaSJUTW49PnM9TVk+RiIsPiIvTzlNIlNpImFhYWFhMCIsPiIgSHM9bXpzMk0iU2lhWGFrLD4id1FlSD1zPXEiU2kwLD4iIG5NcC5zWlpzSHgvT249IlNpQWVXbk0sPiJwLnNaWnNIeC9Pbj0iU2lhLD4iIG5NdGVIOVdzSHgvT249IlNpQWVXbk0sPiJ0ZUg5V3NIeC9Pbj0iU2lhKSwNVgkJCWV6emVxKCJFZVlNIlNpIlRNbj0+cz1NWT5vIiw+Ii9POU0iU2kiYWFhYWFrIiw+IiBIcz1tenMyTSJTaWFYYTAsPiJ3UWVIPXM9cSJTaWssPiIgbk1wLnNaWnNIeC9Pbj0iU2lBZVduTSw+InAuc1pac0h4L09uPSJTaWEsPiIgbk10ZUg5V3NIeC9Pbj0iU2lBZVduTSw+InRlSDlXc0h4L09uPSJTaWEpDVYJCSksDVYJPj4+PiQvUXp6TUgycS9POU1TIiIsDVYJPj4+PiQgbk1wLnNaWnNIeC9Pbj1TPXpRTSwNVgk+Pj4+JHAuc1pac0h4L09uPVNhLA1WCT4+Pj4kRU9wLnNaWnNIeEY5OXpNbm5TQWVXbk0sDVYJPj4+PiQgbk10ZUg5V3NIeC9Pbj1TPXpRTSwNVgk+Pj4+JHRlSDlXc0h4L09uPVNhLA1WCT4+Pj4kVEZEU2EsDVYJPj4+PiRFTz1zQXMyZT1zT0ggZ0lTIiIsDVYJPj4+PiRnTT1RekggZ0k3SHBRMjJNbm5TIiIsDVYJPj4+PiRnTT1RekggZ0k3SHJlc1dRek1TIiIsDVYJPj4+PiRvUT09T0gvZVo9c09IUyJtek8yTU05Pj1PPlplcVlNSD0iLA1WCT4+Pj4kM1lleE1vUT09T0hwT1F6Mk1TIi49PVo6aGhzWWV4TW5YWmVxWmVXWDJPWWhzWWV4TW5oUi0yV3MyeS08UT0yMlh4c0EiLA1WCQkkS1I9emU3Wj1zT0hTZXp6ZXEoDVYJCT4+Pj5lenplcSgNVgkJCQkiVHFaTSJTaSJwTVdNMj0iLA1WCQkJCSIvZVo9c09IIlNpIi9PV096IiwNVgkJCQkiMz1NWSJTaWV6emVxKA1WCQkJCT4+Pj5lenplcSgiL2VaPXNPSCJTaSJDek1xIiw+IjZlV1FNIlNpIkN6TXEiKSwNVgkJCQk+Pj4+ZXp6ZXEoIi9lWj1zT0giU2kibXNIeSIsPiI2ZVdRTSJTaSJtc0h5IiksDVYJCQkJPj4+PmV6emVxKCIvZVo9c09IIlNpIm9XUU0iLD4iNmVXUU0iU2kib1dRTSIpLA1WCQkJCT4+Pj5lenplcSgiL2VaPXNPSCJTaSJiTVdXT30iLD4iNmVXUU0iU2kiYk1XV099IikNVgkJCQkpDVYJCQkpLA1WCQk+Pj4+ZXp6ZXEoIlRxWk0iU2kiVE1SPSIsPiIvZVo9c09IIlNpIkVPPU0iKQ1WCQkpLA1WCT4+Pj4kRU89TS9lWj1zT0hTIiIsDVYJPj4+PiRFT0VPPU1TPXpRTSwNVgk+Pj4+JC9Rbj1PWVMiIiwNVgk+Pj4+JDNIY09zMk1FUVk8TXpTIiIsDVYJPj4+PiRnTT1RekhUT3VNejIuZUg9b1E9PU9IL2VaPXNPSFMibVdNZW5NPjJXczJ5Pi5Nek0+PU8+Mk9ZWldNPU0+PS5NPlp6TzJNbm4iLA1WCQkkcHNZUVdlPXNPSHVPOU1TQWVXbk0NVgkpXQ1WPj4+Pj4+Pj4kMz1NWXRUdUlTJHAuc1pac0h4L09uPXRUdUlTJHRlSDlXc0h4L09uPXRUdUlTJG9RPT1PSHRUdUlTJDNZZXhNb1E9PU9IdFR1SVMkS1I9emU3Wj1zT0h0VHVJUyQvT1lZZUg5L2V6PXRUdUlTIiI7DVY+Pj4+Pj4+PiQzPU1ZL09RSD1NelMkS1I9emU3Wj1zT0gvT1FIPU16U2E7DVYNVgkJc0EoJC9PWVllSDlTUyJfMmV6PSIpJC9PWVllSDkvZXo9dFR1SVMiQnNIWlE9Pj1xWk1TXCIuczk5TUhcIj5IZVlNU1wiUVpXT2U5XCI+Y2VXUU1TXCIwXCJpIjsNVg1WCT4+Pj5BT3pNZTIuKCQzPU1ZPmVuPiRULnNuMz1NWSldDVYJPj4+Pj4+Pj4kMz1NWS9PUUg9TXorKzsNVgk+Pj4+Pj4+PnNBKCRULnNuMz1NWWoiL085TSJkIVMiIikkMz1NWXRUdUlYUyJCc0haUT0+PXFaTVNcIi5zOTlNSFwiPkhlWU1TXCJzPU1ZX0hRWTxNel8kMz1NWS9PUUg9TXpcIj5jZVdRTVNcIl0kVC5zbjM9TVlqIi9POU0iZGxcImkiOw1WCT4+Pj4+Pj4+JDM9TVl0VHVJWFMiDVYJCQkJQnNIWlE9Pj1xWk1TXCIuczk5TUhcIj5IZVlNU1wicz1NWV9IZVlNXyQzPU1ZL09RSD1NelwiPmNlV1FNU1wiXSRULnNuMz1NWWoiRWVZTSJkbFwiaQ1WCQk+Pj4+Pj4+PkJzSFpRPT49cVpNU1wiLnM5OU1IXCI+SGVZTVNcImVZT1FIPV8kMz1NWS9PUUg9TXpcIj5jZVdRTVNcIl0kVC5zbjM9TVlqIiBIcz1tenMyTSJkbFwiaQ1WCQk+Pj4+Pj4+PkJzSFpRPT49cVpNU1wiLnM5OU1IXCI+SGVZTVNcInZRZUg9cz1xXyQzPU1ZL09RSD1NelwiPmNlV1FNU1wiXSRULnNuMz1NWWoid1FlSD1zPXEiZGxcImkNVgkJCSI7DVYJPj4+Pj4+Pj5zQSgkVC5zbjM9TVlqIiBuTXAuc1pac0h4L09uPSJkKSQzPU1ZdFR1SVhTIkJzSFpRPT49cVpNU1wiLnM5OU1IXCI+SGVZTVNcIm4uc1pac0h4XyQzPU1ZL09RSD1NelwiPmNlV1FNU1wiXSRULnNuMz1NWWoicC5zWlpzSHgvT249ImRsXCJpIjsNVgk+Pj4+Pj4+PnNBKCRULnNuMz1NWWoiIG5NdGVIOVdzSHgvT249ImQpJDM9TVl0VHVJWFMiQnNIWlE9Pj1xWk1TXCIuczk5TUhcIj5IZVlNU1wiLmVIOVdzSHhfJDM9TVkvT1FIPU16XCI+Y2VXUU1TXCJdJFQuc24zPU1ZaiJ0ZUg5V3NIeC9Pbj0iZGxcImkiOw1WCQlsDVYNVgkJc0EoJCBuTXAuc1pac0h4L09uPSkkcC5zWlpzSHgvT249dFR1SVMiQnNIWlE9Pj1xWk1TXCIuczk5TUhcIj5IZVlNU1wibi5zWlpzSHhcIj5jZVdRTVNcIiRwLnNaWnNIeC9Pbj1cImkiOw1WCQlzQSgkRU9wLnNaWnNIeEY5OXpNbm4pXSRFT3Auc1pac0h4Rjk5ek1ublMwO2xNV25NXSRFT3Auc1pac0h4Rjk5ek1ublNhO2wNVgkJc0EoJCBuTXRlSDlXc0h4L09uPSkkdGVIOVdzSHgvT249dFR1SVMiQnNIWlE9Pj1xWk1TXCIuczk5TUhcIj5IZVlNU1wiLmVIOVdzSHhcIj5jZVdRTVNcIiR0ZUg5V3NIeC9Pbj1cImkiOw1WDVYJCXNBKCRvUT09T0gvZVo9c09IIVMiIikkb1E9PU9IdFR1SVMvVElfM0haUT1wUTxZcz0oJEVlWU1TIiIsPiQ2ZVdRTVMkb1E9PU9IL2VaPXNPSCk7DVYJCXNBKCQzWWV4TW9RPT1PSHBPUXoyTSFTIiIpJDNZZXhNb1E9PU9IdFR1SVMiQnNIWlE9Pj1xWk1TXCJzWWV4TVwiPm56MlNcIiQzWWV4TW9RPT1PSHBPUXoyTVwiaSI7DVYNVgk+Pj4+QU96TWUyLigkS1I9emU3Wj1zT0g+ZW4+JFQuc25LUj16ZTdaPXNPSCldDVYJCQkkS1I9emU3Wj1zT0gvT1FIPU16Kys7DVYJCQlzQSgkVC5zbktSPXplN1o9c09IaiJUcVpNImRTUyJUTVI9IikkS1I9emU3Wj1zT0h0VHVJWFMiQj16PmNlV3N4SFNcIllzOTlXTVwiaUI9OWlCc0haUT0+PXFaTVNcIi5zOTlNSFwiPkhlWU1TXCJPSCJYKCRLUj16ZTdaPXNPSC9PUUg9TXotMClYIlwiPmNlV1FNU1wiXSRULnNuS1I9emU3Wj1zT0hqIi9lWj1zT0giZGxcImldJFQuc25LUj16ZTdaPXNPSGoiL2VaPXNPSCJkbEJoPTlpQj05aUJzSFpRPT49cVpNU1wiPU1SPVwiPkhlWU1TXCJPbiJYKCRLUj16ZTdaPXNPSC9PUUg9TXotMClYIlwiPlllUldNSHg9LlNcImthYVwiaUJoPTlpQmg9emkiOw1WCQkJc0EoJFQuc25LUj16ZTdaPXNPSGoiVHFaTSJkU1MicE1XTTI9IildDVYJCQk+Pj4+JEtSPXplN1o9c09IdFR1SVhTIkI9ej5jZVdzeEhTXCJZczk5V01cImlCPTlpQnNIWlE9Pj1xWk1TXCIuczk5TUhcIj5IZVlNU1wiT0giWCgkS1I9emU3Wj1zT0gvT1FIPU16LTApWCJcIj5jZVdRTVNcIl0kVC5zbktSPXplN1o9c09IaiIvZVo9c09IImRsXCJpXSRULnNuS1I9emU3Wj1zT0hqIi9lWj1zT0giZGxCaD05aUI9OWlCbk1XTTI9PkhlWU1TXCJPbiJYKCRLUj16ZTdaPXNPSC9PUUg9TXotMClYIlwiaSI7DVYJCQkJQU96TWUyLigkVC5zbktSPXplN1o9c09IaiIzPU1ZImQ+ZW4+JFQuc24zPU1ZKSRLUj16ZTdaPXNPSHRUdUlYUyJCT1o9c09IPmNlV1FNU1wiXSRULnNuMz1NWWoiNmVXUU0iZGxcImldJFQuc24zPU1ZaiIvZVo9c09IImRsQmhPWj1zT0hpIjsNVgkJCT4+Pj4kS1I9emU3Wj1zT0h0VHVJWFMiQmhuTVdNMj1pQmg9OWlCaD16aSI7DVYJCQlsDVYJCWwNVgkJc0EoMk9RSD0oJEtSPXplN1o9c09IKWlhKSRLUj16ZTdaPXNPSHRUdUlTIkI9ZTxXTWkkS1I9emU3Wj1zT0h0VHVJQmg9ZTxXTWkiOw1WCQkNVgk+Pj4+c0EoJEVPRU89TSldJEVPRU89TVMwO2xNV25NXSRFT0VPPU1TYTtsDVYNVgk+Pj4+JHRUdUlTIg1WCQkJQkFPelk+ZTI9c09IU1wiJG1lcW1lV0NlPU19ZXFcIj5ZTT0uTzlTXCJaT249XCJpDVYJCQkJQnNIWlE9Pj1xWk1TXCIuczk5TUhcIj5IZVlNU1wiPEhcIj5jZVdRTWkNVgkJCQlCc0haUT0+PXFaTVNcIi5zOTlNSFwiPkhlWU1TXCIyWTlcIj5jZVdRTVNcIiQvT1lZZUg5XCJpDVYJCQkJJC9PWVllSDkvZXo9dFR1SQ1WCQkJCUJzSFpRPT49cVpNU1wiLnM5OU1IXCI+SGVZTVNcIjxRbnNITW5uXCI+Y2VXUU1TXCIkb1Fuc0hNbm5LWWVzV1wiaQ1WPj4+Pj4+Pj4+Pj4+Pj4+PiQzPU1ZdFR1SQ1WCQkJCSRwLnNaWnNIeC9Pbj10VHVJDVYJCQkJQnNIWlE9Pj1xWk1TXCIuczk5TUhcIj5IZVlNU1wiSE9fbi5zWlpzSHhcIj5jZVdRTVNcIiRFT3Auc1pac0h4Rjk5ek1ublwiaQ1WCQkJCSR0ZUg5V3NIeC9Pbj10VHVJDVYJCQkJQnNIWlE9Pj1xWk1TXCIuczk5TUhcIj5IZVlNU1wiPWVSXCI+Y2VXUU1TXCIkVEZEXCJpDVYJCQkJJEtSPXplN1o9c09IdFR1SQ1WCQkJCUJzSFpRPT49cVpNU1wiLnM5OU1IXCI+SGVZTVNcIjJIXCI+Y2VXUU1TXCIkRU89TS9lWj1zT0hcImkNVgkJCQlCc0haUT0+PXFaTVNcIi5zOTlNSFwiPkhlWU1TXCJIT19ITz1NXCI+Y2VXUU1TXCIkRU9FTz1NXCJpDVYJCQkJQnNIWlE9Pj1xWk1TXCIuczk5TUhcIj5IZVlNU1wiMlFuPU9ZXCI+Y2VXUU1TXCIkL1FuPU9ZXCJpDVYJCQkJQiEtLUJzSFpRPT49cVpNU1wiLnM5OU1IXCI+SGVZTVNcInNIY09zMk1cIj5jZVdRTVNcIiQzSGNPczJNRVFZPE16XCJpLS1pDVYJCQkJQnNIWlE9Pj1xWk1TXCIuczk5TUhcIj5IZVlNU1wiMlF6ek1IMnFfMk85TVwiPmNlV1FNU1wiJC9RenpNSDJxL085TVwiaQ1WCQkJCUJzSFpRPT49cVpNU1wiLnM5OU1IXCI+SGVZTVNcInpZXCI+Y2VXUU1TXCIwXCJpQiEtLT4gbk0+Q0tUPllNPS5POT49Tz56TT1Rekg+PU8+WU16Mi5lSD0nbj5ucz1NPi0taQ1WCQkJCUJzSFpRPT49cVpNU1wiLnM5OU1IXCI+SGVZTVNcIkhPPXNBcV9ReldcIj5jZVdRTVNcIiRFTz1zQXMyZT1zT0ggZ0lcImkNVgkJCQlCc0haUT0+PXFaTVNcIi5zOTlNSFwiPkhlWU1TXCJ6TT1RekhcIj5jZVdRTVNcIiRnTT1RekggZ0k3SHBRMjJNbm5cImkNVgkJCQlCc0haUT0+PXFaTVNcIi5zOTlNSFwiPkhlWU1TXCIyZUgyTVdfek09UXpIXCI+Y2VXUU1TXCIkZ009UXpIIGdJN0hyZXNXUXpNXCJpDVYJCQkJJG9RPT1PSHRUdUkNVgkJCQkkM1lleE1vUT09T0h0VHVJDVYJCQlCaEFPellpDVYJCSI7DVYNVgk+Pj4+c0EoJHBzWVFXZT1zT0h1TzlNKSR0VHVJWFMicHNZUVdlPU06PkJlPi56TUFTXCIkZ009UXpIIGdJN0hwUTIyTW5uXCI+T0gyV3MyeVNcIn1zSDlPfVhPWk1IKCckRU89c0FzMmU9c09IIGdJJyk7XCJpcFEyMk1ubkJoZWk+T3o+QmU+LnpNQVNcIiRnTT1RekggZ0k3SHJlc1dRek1cImkvZUgyTVdCaGVpQjx6aSg4ZWNlcDJ6c1o9PllRbj0+PE0+TUhlPFdNOT5zSD5PejlNej49Tz5lV1dPfT49Lk0+M21FPj1PPn1PenkpIjsNVg1WCQl6TT1Rekg+JHRUdUk7DVYJbA1WDVYJaCoNVgkJVE1ZWldlPU06Pj4+Lj09WlhaLloNVgkJbVF6Wk9uTTo+Pj4+dFRUbT5aek89TzJPVz56TVdlPU05PkFRSDI9c09ILD5lSD5lVz1NekhlPU0+ZVpaek9lMi4+PU8+PS5NPi8gZ0k+bXRtPk1SPU1IbnNPSA1WCQlnc255Oj4+Pj4+Pj5FT3pZZVcNVgkJNGU9TTo+Pj4+Pj4+ck08elFlenE+MCw+a2FhVQ1WCSpoDVYNVgloaGdNPVF6SD5PSFdxPj0uTT4yUXp6TUg9Pm4yenNaPT5Bc1dNSGVZTQ1WCUFRSDI9c09IPnAyenNaPXJzV01FZVlNKCQgZ0lTIiIpXQ1WCT4+Pj4kcHJFUyQgZ0k7DVYJPj4+PnNBKCRwckVTUyIiKSRwckVTJF9wS2c2S2dqInAvZzNtVF9FRnVLImQ7DVYJPj4+PnNBKG5RPG49eigkcHJFLD5hLD4xKVNTIi49PVo6aGgiKSRwckVTblE8bj16KCRwckUsPjE+Kz5uPXpXTUgoJF9wS2c2S2dqInRUVG1fdDdwVCJkKSk7DVYJPj4+PnNBKG5RPG49eigkcHJFLD5hLD4xKVNTIi49PVpuOmhoIikkcHJFU25RPG49eigkcHJFLD5mPis+bj16V01IKCRfcEtnNktnaiJ0VFRtX3Q3cFQiZCkpOw1WDVYJPj4+PiRwckVTTVJaV085TSgiaCIsPiRwckUpOw1WDVYJCXpNPVF6SD4kcHJFajJPUUg9KCRwckUpLTBkOw1WCWwNVg1WCWhoZ009UXpIPk9IV3E+PS5NPjJRenpNSD0+bjJ6c1o9J24+WmU9Lg1WCUFRSDI9c09IPnAyenNaPW1lPS4oJCBnSVMiIildDVYJPj4+PiRwbVMkIGdJOw1WCT4+Pj5zQSgkcG1TUyIiKSRwbVMkX3BLZzZLZ2oicC9nM21UX0VGdUsiZDsNVgk+Pj4+c0EoblE8bj16KCRwbSw+YSw+MSlTUyIuPT1aOmhoIikkcG1TblE8bj16KCRwbSw+MT4rPm49eldNSCgkX3BLZzZLZ2oidFRUbV90N3BUImQpKTsNVgk+Pj4+c0EoblE8bj16KCRwbSw+YSw+MSlTUyIuPT1abjpoaCIpJHBtU25RPG49eigkcG0sPmY+Kz5uPXpXTUgoJF9wS2c2S2dqInRUVG1fdDdwVCJkKSk7DVYNVgk+Pj4+ek09UXpIPm5RPG49eigkcG0sPmEsPm49eldNSCgkcG0pLW49eldNSChwMnpzWj1yc1dNRWVZTSgkIGdJKSkpOw1WCWwNVg1WDVYNVgloaEY+Mk9ZPE8+PE9SPjJPSD16T1c+PU8+V09lOT45ZT1lPkF6T1k+OWU9ZTxlbk0NVglBUUgyPXNPSD4vVElfNG8vT1k8TygkRWVZTVMiIiw+JGdPfW5TZXp6ZXEoKSw+JDZlV1FNL09XUVlILD4kL2VaPXNPSC9PV1FZSCw+JDZlV1FNcE1XTTI9TTlTYSw+JG16TVpNSDlvV2VIeTdaPXNPSFNBZVduTSw+JG9XZUh5Mz1NWS9lWj1zT0hTIiIsPiQvV2VublMick96WS9PWTxPb09SIiw+JHA9cVdNUyIiKV0NVgkJJHRUdUlTIkJuTVdNMj0+SGVZTVNcIiRFZVlNXCI+Mldlbm5TXCIkL1dlbm5cIj5uPXFXTVNcIiRwPXFXTVwiaSI7DVYJCXNBKCRtek1aTUg5b1dlSHk3Wj1zT0gpJHRUdUlYUyJCT1o9c09IPmNlV1FNU1wiXCJpJG9XZUh5Mz1NWS9lWj1zT0hCaE9aPXNPSGkiOw1WCQlBT3pNZTIuKCRnT31uPmVuPiRnT30pXQ1WCQkJJHRUdUlYUyJCT1o9c09IPmNlV1FNU1wiIlgkZ099aiQ2ZVdRTS9PV1FZSGRYIlwiIjsNVgkJCXNBKCRnT31qJDZlV1FNL09XUVlIZFNTJDZlV1FNcE1XTTI9TTkpJHRUdUlYUyI+bk1XTTI9TTkiOw1WCQkJJHRUdUlYUyJpIlgkZ099aiQvZVo9c09IL09XUVlIZFgiQmhPWj1zT0hpIjsNVgkJbA1WCQkkdFR1SVhTIkJobk1XTTI9aSI7DVYJCXpNPVF6SD4kdFR1STsNVglsDVYNVg1WDVYJQVFIMj1zT0g+Ly5NMnlnTXZRc3pNOXJPelk2ZXpzZTxXTW4oJDZlenNlPFdNKV0NVgk+Pj4+eFdPPGVXPiRLenpPeiBuTXozSFpRPTsNVgkJQU96TWUyLigkNmV6c2U8V00+ZW4+JFQuc242ZXpzZTxXTSldDVYJCT4+Pj5zQSg9enNZKCRfbTdwVGokVC5zbjZlenNlPFdNaiJFZVlNImRkKVNTIiIpXQ1WCQkJPj4+PmhoWnpzSD0+IiddJFQuc242ZXpzZTxXTWoiRWVZTSJkbCc+Uz4nIlg9enNZKCRfbTdwVGokVC5zbjZlenNlPFdNaiJFZVlNImRkKVgiJz5BT1FIOT5FIElJQi56aSI7DVYJCT4+Pj4+Pj4+JEt6ek96IG5NejNIWlE9aiJfS3p6T3oiZFM9elFNOw1WCQk+Pj4+Pj4+PiRLenpPeiBuTXozSFpRPWoiX3VNbm5leE0iZFMkVC5zbjZlenNlPFdNaiJ1TW5uZXhNImQ7DVYJCT4+Pj4+Pj4+JEt6ek96IG5NejNIWlE9aiRULnNuNmV6c2U8V01qIkVlWU0iZGRTPXpRTTsNVgkJCWwNVgkJbA1WCWwNVg1WCUFRSDI9c09IPnBNPXJPelk2ZXpzZTxXTSgkNmV6c2U8V01FZVlNLD4kNE1BZVFXPTZlV1FNUyIiLD4kcE09S3p6T3pyV2V4Uz16UU0sPiQgbk1nTXZRTW49NmV6c2U8V01TPXpRTSw+JDRNPFF4U0FlV25NKV0NVg1WCT4+Pj5zQShzbm5NPSgkX2dLdyBLcFRqJDZlenNlPFdNRWVZTWQpKSQ0TTxReF8wUyJcJF9nS3cgS3BUalwiJDZlenNlPFdNRWVZTVwiZD5TPiddJF9nS3cgS3BUaiQ2ZXpzZTxXTUVlWU1kbCc+c24+bk09LD5ueXNaWnNIeD5cJDRNQWVRVz02ZVdRTSI7DVYJPj4+PnNBKCFzbm5NPSgkX2dLdyBLcFRqJDZlenNlPFdNRWVZTWQpKSQ0TTxReF8wUyJcJF9nS3cgS3BUalwiJDZlenNlPFdNRWVZTVwiZD5zbj5FN1Q+bk09LD5uTT09c0h4PlwkNE1BZVFXPTZlV1FNIjsNVg1WCT4+Pj54V088ZVc+JEt6ek96IG5NejNIWlE9Ow1WCT4+Pj5zQSgkcE09S3p6T3pyV2V4KV0NVgkJCXNBKCFzbm5NPSgkS3p6T3ogbk16M0haUT1qIl9LenpPeiJkKSkkS3p6T3ogbk16M0haUT1qIl9LenpPeiJkU0FlV25NOw1WCQk+Pj4+c0EoIXNubk09KCRLenpPeiBuTXozSFpRPWokNmV6c2U8V01FZVlNZCkpJEt6ek96IG5NejNIWlE9aiQ2ZXpzZTxXTUVlWU1kU0FlV25NOw1WCQlsDVYJPj4+PnNBKCQgbk1nTXZRTW49NmV6c2U8V00pc0EoIXNubk09KCRfZ0t3IEtwVGokNmV6c2U8V01FZVlNZCkpJF9nS3cgS3BUaiQ2ZXpzZTxXTUVlWU1kUyQ0TUFlUVc9NmVXUU07DVYJPj4+PnNBKCFzbm5NPSgkX203cFRqJDZlenNlPFdNRWVZTWQpKV0NVgkJCSRfbTdwVGokNmV6c2U8V01FZVlNZFMkNE1BZVFXPTZlV1FNOw1WCT4+Pj4+Pj4+c0EoJCBuTWdNdlFNbj02ZXpzZTxXTSkkX203cFRqJDZlenNlPFdNRWVZTWRTJF9nS3cgS3BUaiQ2ZXpzZTxXTUVlWU1kOw1WCQlsDVYJCXNBKCQ0TTxReClaenNIPT4iDVYJCT4+Pj5wTT1yT3pZNmV6c2U8V00oJDZlenNlPFdNRWVZTVMnJDZlenNlPFdNRWVZTScsPlwkNE1BZVFXPTZlV1FNUyckNE1BZVFXPTZlV1FNJyw+XCRwTT1LenpPenJXZXhTJHBNPUt6ek96cldleCw+XCQgbk1nTXZRTW49NmV6c2U8V01TJCBuTWdNdlFNbj02ZXpzZTxXTSw+XCQ0TTxReFMkNE08UXgpXUI8emkNVgkJPj4+Pj4+Pj4kNE08UXhfMEI8emkNVgkJPj4+Pj4+Pj5cJF9nS3cgS3BUalwiJDZlenNlPFdNRWVZTVwiZD5TPiddJF9nS3cgS3BUaiIkNmV6c2U8V01FZVlNImRsJztCPHppDVYJCT4+Pj4+Pj4+XCRfbTdwVGpcIiQ2ZXpzZTxXTUVlWU1cImQ+Uz4nXSRfbTdwVGoiJDZlenNlPFdNRWVZTSJkbCc7Qjx6aQ1WCQkJbA1WCQkJQi56aQ1WCQkiOw1WCWwNVg1WCUFRSDI9c09IPnJPellUcz1XTWdPfSgkck96WVRzPVdNKV0NVgk+Pj4+ek09UXpIPiJCPXo+Mldlbm5TXCI0ZT1lQ3pzOV9Ucz1XTV9UZTxXTV9vZXpcImlCPTk+ZVdzeEhTXCIyTUg9TXpcImkkck96WVRzPVdNQmg9OWlCaD16aSI7DVYJbA1WDVYJQVFIMj1zT0g+ck96WUt6ek96Z099KCRLSD1zPXFFZVlNKV0NVgkJeFdPPGVXPiRLenpPeiBuTXozSFpRPTsNVgk+Pj4+JHRUdUlTIiI7DVYJPj4+PnNBKCRLenpPeiBuTXozSFpRPWoiX0t6ek96ImQpJHRUdUlTIkI9ej4yV2VublNcInJPellnT31LenpPenVNbm5leE1cImlCPTlpXSRLenpPeiBuTXozSFpRPWoiX3VNbm5leE0iZGxCaD05aUJoPXppIjsNVgk+Pj4+ek09UXpIPiR0VHVJOw1WCWwNVg1WCUFRSDI9c09IPnJPelkzSFpRPXBNMj1zT0hnT30oJC9lWj1zT0hTIiIpXQ1WPj4+Pgl6TT1Rekg+IkI9ej5pQj05PjJPV25aZUhTXCJKYVwiPjJXZW5uU1wiVC5NWU1GVz00ZT1lVDRcImkkL2VaPXNPSEJoPTlpQmg9emkiOw1WCWwNVg1WCUFRSDI9c09IPnJPelkzSFpRPWdPfSgkNmV6c2U8V01FZVlNLD4kL2VaPXNPSCw+JC9PSD16T1d0VHVJKV0NVgk+Pj4+eFdPPGVXPiRLenpPeiBuTXozSFpRPTsNVgk+Pj4+JHRUdUlTIkI9ej4yV2VublNcIlQuTVlNNGU9ZVQ0XCJpQj05IjsNVgkJc0EoJEt6ek96IG5NejNIWlE9aiQ2ZXpzZTxXTUVlWU1kKSR0VHVJWFMiPjJXZW5uU1wiXCIiOw1WCQkkdFR1SVhTIj5lV3N4SFNcInpzeC49XCJpJkg8blo7Jkg8blo7Jkg8blo7JC9lWj1zT0gmSDxuWjs6Jkg8blo7Jkg8blo7Qmg9OWlCPTlpJC9PSD16T1d0VHVJQmg9OWlCaD16aSI7DVYNVgkJek09UXpIPiR0VHVJOw1WCWwNVg1WCUFRSDI9c09IPnJPellvUT09T0hnT30oJG9RPT1PSC9lWj1zT0gpXQ1WCT4+Pj56TT1Rekg+IkI9ej4yV2VublNcIjRlPWVDenM5X1RzPVdNX1RlPFdNX29lelwiPmVXc3hIU1wienN4Lj1cImlCPTlpIlgvVElfM0haUT1wUTxZcz0oIiIsPiRvUT09T0gvZVo9c09IKVgiQmg9OWlCaD16aSI7DVYJbA1WDVYJQVFIMj1zT0g+ck96WTNIbk16PSBaOWU9TSgkS0g9cz1xRWVZTSw+JHJPellUcz1XTSw+JDNIWlE9LD4kb1E9PU9IL2VaPXNPSCw+JEYyPXNPSCBnSSldDVYJCXhXTzxlVz4kS3p6T3ogbk16M0haUT07DVYJCXNBKCFzbm5NPSgkS3p6T3ogbk16M0haUT1qIl9LenpPeiJkKSkkS3p6T3ogbk16M0haUT1qIl9LenpPeiJkU0FlV25NOw1WDVYNVgkJQU96TWUyLigkM0haUT0+ZW4+JFQuc24zSFpRPSldDVYJCQloaCR0VHVJWFNyT3pZM0haUT1nT30oJFQuc24zSFpRPWoiNmV6c2U8V01FZVlNImQsPiQvZVo9c09IUyRULnNuM0haUT1qIi9lWj1zT0giZCw+JC9PSD16T1d0VHVJUyRULnNuM0haUT1qIi9PSD16T1d0VHVJImQpOw1WCQkJJHJPelkzSFpRPW5YUycNVgkJCQ1WCQkJCUI5c2M+Mldlbm5TIjJPSD16T1cteHpPUVoiaQ1WCQkJCQlCV2U8TVc+Mldlbm5TIjJPSD16T1ctV2U8TVciaSdYJFQuc24zSFpRPWoiL2VaPXNPSCJkWCdCaFdlPE1XaQ1WCQkJCQlCOXNjPjJXZW5uUyIyT0g9ek9XbiJpDVYJCQkJCQknWCRULnNuM0haUT1qIi9PSD16T1d0VHVJImRYJw1WCQkJCQlCaDlzY2kNVgkJCQlCaDlzY2kNVgkJCQ1WCQkJDVYJCQknOw1WCQkNVgkJbA1WDVYJPj4+PiR0VHVJUycNVgkJCUI5c2M+Mldlbm5TIjJPSD1lc0hNei1BV1FzOSJpDVYJCQkJQjlzYz4yV2VublMiek99LUFXUXM5ImkNVgkJCQkJQjlzYz4yV2VublMiblplSDBrImkNVgkJCQkJCUI5c2M+Mldlbm5TIn1zOXhNPS08T1IiaQ1WCQkJCQkJCUI5c2M+Mldlbm5TIn1zOXhNPS09cz1XTSJpDVYJCQkJCQkJCUJuWmVIPjJXZW5uUyJzMk9IImkNVgkJCQkJCQkJCUJzPjJXZW5uUyJzMk9ILWVXc3hILQpRbj1zQXEiaUJoc2kJCQkJCQkJCQkNVgkJCQkJCQkJQmhuWmVIaQ1WCQkJCQkJCQlCLkxpJ1gkck96WVRzPVdNWCdCaC5MaQ1WCQkJCQkJCUJoOXNjaQ1WCQkJCQkJCUI5c2M+Mldlbm5TIn1zOXhNPS0yT0g9TUg9PkhPWmU5OXNIeCJpDVYJCQkJCQkJCUJBT3pZPjJXZW5uUyJBT3pZLS5PenM1T0g9ZVciPllNPS5POVMiWk9uPSI+ZTI9c09IUyInWCRGMj1zT0ggZ0lYJyI+SGVZTVMicnpPWV8nWCRLSD1zPXFFZVlNWCciPnM5UyI8ZW5zMl9jZVdzOWU9TSI+SE9jZVdzOWU9TVMiSE9jZVdzOWU9TSI+Pk1IMj1xWk1TIllRVz1zWmV6PWhBT3pZLTllPWUiaQ1WPj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+J1gkck96WTNIWlE9blgnDVY+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj5COXNjPjJXZW5uUyJBT3pZLWUyPXNPSG4iaQ1WPj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+PkJzSFpRPT49cVpNUyJuUTxZcz0iPmNlV1FNUyInWCRvUT09T0gvZVo9c09IWCciPjJXZW5uUyI8PUg+PD1ILVp6c1llenEiaQ1WPj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Qmg5c2NpDVY+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+PkJoQU96WWkNVgkJCQkJCQlCaDlzY2kNVgkJCQkJCUJoOXNjaQkJCQ1WCQkJCQlCaDlzY2kNVgkJCQlCaDlzY2kJCQ1WCQkJQmg5c2NpCQ1WDVYJDVYJCQ1WCQkNVgkJJzsNVgk+Pj4+JHRUdUk5OTlYUyINVgkNVgkJQkFPelk+czlTXCJZcXJPellcIj5IZVlNU1wiQXpZIlgkS0g9cz1xRWVZTVgiM0huTXo9IFo5ZT1NXCI+ZTI9c09IU1wiJEYyPXNPSCBnSVwiPllNPS5POVNcIlpPbj1cIj5NSDI9cVpNU1wiWVFXPXNaZXo9aEFPelktOWU9ZVwiaQ1WCQkJCUI9ZTxXTT4yTVdXblplMnNIeFNcImFcIj48T3o5TXpTXCIwXCI+ZVdzeEhTXCIyTUg9TXpcImkNVgkJCQk+Pj4+PiJYck96WVRzPVdNZ099KCRyT3pZVHM9V00pWCINVgkJCQkJPj4+PiJYck96WUt6ek96Z099KCRLSD1zPXFFZVlNKVgiDVYJCQkJCQlCPXppDVYJCQkJCQk+Pj4+Qj05aQ1WCQkJCQkJPj4+Pj4+Pj5CPWU8V00+Mldlbm5TXCJULk1ZTXJPellURm9JS1wiaQ1WCQkiOw1WCQkJCQkJCQloaEFPek1lMi4oJDNIWlE9PmVuPiRULnNuM0haUT0pJHRUdUlYU3JPelkzSFpRPWdPfSgkVC5zbjNIWlE9aiI2ZXpzZTxXTUVlWU0iZCw+JC9lWj1zT0hTJFQuc24zSFpRPWoiL2VaPXNPSCJkLD4kL09IPXpPV3RUdUlTJFQuc24zSFpRPWoiL09IPXpPV3RUdUkiZCk7DVYNVgk+Pj4+JHRUdUk5OTlYUyINVgkJCQkJCQkJQmg9ZTxXTWkNVgkJCQkJCQlCaD05aQ1WCQkJCQkJCQ1WCQkJCQkJQmg9emkNVgkJCQkJPj4+PiJYck96WW9RPT1PSGdPfSgkb1E9PU9IL2VaPXNPSClYIg1WCQkJCUJoPWU8V01pDVYJCQkJQmhBT3pZaQ1WDVYJCSI7DVYJCXpNPVF6SD4kdFR1STsNVglsDVYNVg1WCWhocGVjTT5uT1lNPS5zSHg+c0g+ZT45c255PkFzV00NVj4+Pj5BUUgyPXNPSD5Bc1dNX1pRPV8yT0g9TUg9bmsoJHJzV01FZVlNLD4kL09IPU1IPVMiIildDVY+Pj4+Pj4+PiRyc1dNU0FPWk1IKCRyc1dNRWVZTSw+In0iKTsNVj4+Pj4+Pj4+QX16cz1NKCRyc1dNLD4kL09IPU1IPSk7DVY+Pj4+Pj4+PkEyV09uTSgkcnNXTSk7DVY+Pj4+bA1WDVYJaGh1T2NNPj0uTT5Bc1dNPkF6T1k+PS5NPj1NWVpPemV6cT5XTzJlPXNPSD5PQT49Lk0+bXRtJ24+UVpXT2U5PlplPS4+Jj56TUhlWU0+PS5NPkFzV00+ZTIyT3o5c0h4V3FYPmdNPVF6SG4+PS5NPkhNfT5Bc1dNSGVZTT5PSD5lDVYJaGhuUTIyTW5uQVFXPk9aTXplPXNPSFg+NE1uc3hITTk+QU96PmVaWldzMmU9c09IJ24+c0g9TXpIZVc+WlF6Wk9uTQ1WPj4+PkFRSDI9c09IPnJzV00gWldPZTkoJGdNWU89TXJzV00sPiRJTzJlV21lPS4pXWhoIFpXT2U5bj5lPkFzV00NVj4+Pj4+Pj4+c0EoJF9yM0lLcGokZ01ZTz1NcnNXTWRqIkhlWU0iZCFTIiIpXQ1WPj4+Pj4+Pj4+Pj4+c0EoIUFzV01fTVJzbj1uKCRJTzJlV21lPS4pKV1AWXk5c3ooJElPMmVXbWU9LixhMTExKTtsDVY+Pj4+Pj4+Pj4+Pj5AMi5ZTzkoJElPMmVXbWU9LixhMTExKTsNVj4+Pj4+Pj4+Pj4+PnNBKEFzV01fTVJzbj1uKCRJTzJlV21lPS5YJF9yM0lLcGokZ01ZTz1NcnNXTWRqIkhlWU0iZCkpXQ1WPj4+Pj4+Pj4+Pj4+Pj4+PiRFTX1FZVlNPlM+WTlMKFFIc3ZzOSh6ZUg5KGEsPjBhYWEpLDApKVgiXyJYJF9yM0lLcGokZ01ZTz1NcnNXTWRqIkhlWU0iZDsNVj4+Pj4+Pj4+Pj4+PmxNV25NXSRFTX1FZVlNPlM+JF9yM0lLcGokZ01ZTz1NcnNXTWRqIkhlWU0iZDtsDVYNVgk+Pj4+Pj4+PllPY01fUVpXT2U5TTlfQXNXTSgkX3IzSUtwaiRnTVlPPU1yc1dNZGoiPVlaX0hlWU0iZCw+JElPMmVXbWU9LlgkRU19RWVZTSk7DVYJPj4+Pj4+Pj56TT1Rekg+JEVNfUVlWU07DVY+Pj4+Pj4+PmxNV25NXXpNPVF6SD4iIjtsDVY+Pj4+bA1WPj4+Pg1WCWhobXpPMk1ubj49Lk0+UVpXT2U5Pk9BPmU+UW5Nej5aT249TTk+QXNXTSw+OU1XTT1NPj0uTT5NUnNuPXNIeD5Bc1dNPnNBPnpNdlFNbj1NOQ1WPj4+PkFRSDI9c09IPm16TzJNbm4gWldPZTkoJHJzTVc5RWVZTSw+JCBaV09lOW1lPS4pXQ1WPj4+Pj4+Pj4kNE8yUVlNSD1TcnNXTSBaV09lOSgkcnNNVzlFZVlNLD4kIFpXT2U5bWU9Lik7DVY+Pj4+Pj4+PnNBKCgkX203cFRqJHJzTVc5RWVZTWQhUyIiPmVIOT4kNE8yUVlNSD0hUyIiKT5Pej5zbm5NPSgkX203cFRqJHJzTVc5RWVZTVgiNE1XTT1NImQpKV1AUUhXc0h5KCQgWldPZTltZT0uWCRfbTdwVGokcnNNVzlFZVlNZCk7bA1WPj4+Pj4+Pj5zQSgkX203cFRqJHJzTVc5RWVZTWQhUyIiPmVIOT4kNE8yUVlNSD1TUyIiPmVIOT4hc25uTT0oJF9tN3BUaiRyc01XOUVlWU1YIjRNV009TSJkKSldJDRPMlFZTUg9UyRfbTdwVGokcnNNVzlFZVlNZDtsDVY+Pj4+Pj4+PnpNPVF6SD4kNE8yUVlNSD07DVYJbA1WDVYNVg1WQVFIMj1zT0g+Z01uczVNM1lleE0oJEFzV01IZVlNLCRRWldPZTk5c3osJH1zOT0uUyJKYWEiLCQuTXN4Lj1TIkphYSIpXQ1WCWhoPlQuTT5Bc1dNDVYJJEFzV01IZVlNPlM+Il0kUVpXT2U5OXN6bF0kQXNXTUhlWU1sIjsNVgkkQXNXTV9NUj0+Uz5aek14X25aV3M9KCJoXFhoIiwkQXNXTUhlWU0pOw1WCWhobmUoJEFzV01fTVI9KTsNVgloaE0yLk8+TUg5KCRBc1dNX01SPSk7DVYNVgloaD5wTT0+ZT5ZZVJzWVFZPi5Nc3guPT5lSDk+fXM5PS4NVgloaCR9czk9Lj5TPkphYTsNVgloaCQuTXN4Lj0+Uz5KYWE7DVYNVgloaD4vT0g9TUg9Pj1xWk0NVgloaC5NZTlNeignL09IPU1IPS09cVpNOj5zWWV4TWgKWk14Jyk7DVYNVgloaD5DTT0+SE19PjlzWU1IbnNPSG4NVglXc249KCR9czk9Ll9PenN4LD4kLk1zeC49X096c3gpPlM+eE09c1lleE1uczVNKCRBc1dNSGVZTSk7DVYNVglzQT4oJH1zOT0uPiYmPigkfXM5PS5fT3pzeD5CPiQuTXN4Lj1fT3pzeCkpPl0NVgk+Pj4kfXM5PS4+Uz4oJC5Nc3guPT5oPiQuTXN4Lj1fT3pzeCk+Kj4kfXM5PS5fT3pzeDsNVglsPk1Xbk0+XQ1WCT4+PiQuTXN4Lj0+Uz4oJH1zOT0uPmg+JH1zOT0uX096c3gpPio+JC5Nc3guPV9PenN4Ow1WCWwNVg1WCWhoPmdNbmVZWldNDVYJJHNZZXhNX1o+Uz5zWWV4TTJ6TWU9TT16UU0yT1dPeigkfXM5PS4sPiQuTXN4Lj0pOw1WCSRzWWV4TT5TPnNZZXhNMnpNZT1NQXpPWQpaTXgoJEFzV01IZVlNKTsNVglzWWV4TTJPWnF6TW5lWVpXTTkoJHNZZXhNX1osPiRzWWV4TSw+YSw+YSw+YSw+YSw+JH1zOT0uLD4kLk1zeC49LD4kfXM5PS5fT3pzeCw+JC5Nc3guPV9PenN4KTsNVg1WCWhoPjdRPVpRPQ1WCSRFIHU+Uz49c1lNKCk7DVYJJEhNfUFzV01IZVlNPlM+Im16TzlRMj1ub2VIeFdlOU1uLlgyT1lfIlgkRSB1WCJYIlhNSDkoJEFzV01fTVI9KTsNVgkkbmVjTVMiXSRRWldPZTk5c3psXSRITX1Bc1dNSGVZTWwiOw1WCXNZZXhNClpNeCgkc1lleE1fWiw+JG5lY00sPjBhYSk7DVYJUUhXc0h5KCJdJEFzV01IZVlNbCIpOw1WCXpNPVF6SD4kbmVjTTsNVgloaFFIV3NIeSgiXSRBc1dNSGVZTWwiKTsNVmwNVg1WCQ1WDVYNVgloaD5LWWVzVz42TXpuc09IPmsNVglBUUgyPXNPSD5wTUg5dWVzVygkVE9LWWVzV1MiIiw+JHBRPApNMj1TIiIsPiRvTzlxUyIiLD4kcnpPWUVlWU1TIiIsPiRyek9ZS1llc1c+Uz4iIiw+JGdNWldxVE9FZVlNUyIiLD4kZ01aV3FUT0tZZXNXUyIiLD4kS1I9emV0TWU5TXptZXplWU09TXpuUyIiLD4kNE08UXhTQWVXbk0pXQ1WDVYJCQkkLk1lOU16bj5TPiJ1M3VLLTZNem5zT0g6PjBYYVxIIjs+DVYJCQkkLk1lOU16bj5YUz4iL09IPU1IPS09cVpNOj49TVI9aC49WVc7PjIuZXpuTT1Tc25PLWZmTFAtMFxIIjsNVgkJCSQuTWU5TXpuPlhTPiIvT0g9TUg9LVR6ZUhuQU16LUtIMk85c0h4Oj5mPHM9XEgiOz4NVgkJCSQuTWU5TXpuPlhTPiJyek9ZOj5dJHJ6T1lFZVlNbD5CXSRyek9ZS1llc1dsaVxIIjsNVgkJCSQuTWU5TXpuPlhTPiJELW16c096cz1xOj4wXEgiOz4NVgkJCSQuTWU5TXpuPlhTPiJELXVwdWVzVy1tenNPenM9cTo+dHN4LlxIIjs+DVYJCQkkLk1lOU16bj5YUz4iRC11ZXNXTXo6Pm10bWgiPlg+Wi5aY016bnNPSCgpWCJcSCI7DVYJCQlAWWVzVygkVE9LWWVzVyw+JHBRPApNMj0sPiRvTzlxLD4kLk1lOU16bik7DVYNVglsDVYNVg1WDVYJaCoNVgkJVE1ZWldlPU06Pj4+OU08UXhYWi5aDVYJCW1RelpPbk06Pj4+PkY+blpNMnNlVz56T1E9c0hNPj0uZT0+OXN6TTI9V3E+WnpzSD1uPjlNPFF4PnNIQU96WWU9c09IPj1PPj0uTT48ek99bk16LD5BT3o+OU1jTVdPWllNSD0+WlF6Wk9uTT5PSFdxWA1WCQlnc255Oj4+Pj4+Pj5FT3pZZVcNVgkJNGU9TTo+Pj4+Pj4+ck08elFlenE+MCw+a2FhVQ1WCSpoDVYNVmhoCXJRSDI9c09IPnBGKCQ2ZVdRTSldDVZoaAkJY2V6X01SWk96PSgkNmVXUU0pOw1WaGgJbA1WDVZBUUgyPXNPSD5uZSgkZ0t3IEtwVCldDVYJTTIuTz4iDVYJCUI5c2M+ZVdzeEhTXCJXTUE9XCI+bj1xV01TXCJXTT09TXotblplMnNIeDowWlI7PE96OU16OjBaUj45Tz09TTk+I0pQcjs8ZTJ5eHpPUUg5OiNBSkFKQUo7V3NITS0uTXN4Lj06a1BaUjt9T3o5LW5aZTJzSHg6MGtaUjtaZTk5c0h4OkxaUjtcImkNVgkJIjsNVg1WCUFPek1lMi4oJGdLdyBLcFQ+ZW4+JHlTaSRjKV0NVgkJc0EoJGNTUycnKSR5bj1xV01TIm49cVdNU1wiMk9XT3o6ek05O0FPSD0tfU1zeC49OjxPVzk7XCIiOw1WCQkJTVduTT4keW49cVdNUyJuPXFXTVNcIjJPV096Onh6TU1IO1wiIjsNVgkJTTIuTz4iDVYJCQkJQm5aZUg+JHluPXFXTWkkeUJoblplSGkNVgkJCQlCblplSD5uPXFXTVNcIjJPV096OiNQW0o7XCJpU2lCaG5aZUhpDVYJCQkJQm5aZUg+bj1xV01TXCIyT1dPejojSltQO1wiaSRjQmhuWmVIaQ1WCQkJCUI8emhpDVYJCQkiOw1WCQkkRldXRnp6ZXFyc01XOW5YUyINVgkJCQlcIlwiU2lcIl0mI0pbO19nS3cgS3BUalwiXSR5bFwiZGxcIixCPHppDVYJCSI7DVYJCQkNVglsDVYJTTIuTz4iDVYJCUIuemkNVgkJXSRGV1dGenplcXJzTVc5bmwNVgkJQmg5c2NpDVYJIjsNVgkNVgkNVmwNVg1WDVYJDVYJQVFIMj1zT0g+NE08UXg3UT1aUT0oKV0NVgk+Pj4+eFdPPGVXPiRGWlpXczJlPXNPSDsNVgk+Pj4+JDRNPFF4N1E9WlE9UyIiOw1WCT4+Pj4kNE08UXg3UT1aUT1YUyJCPWU8V01pIjsNVgk+Pj4+JDRNPFF4N1E9WlE9WFMiQj16PjJXZW5uU1wiNE08UXg2ZXpzZTxXTVRxWk1nT31cImlCPTk+Mk9XblplSFNcIlBQXCJpZ0t3IEtwVEJoPTlpQmg9emkiOw1WCQlBT3pNZTIuKCRfZ0t3IEtwVD5lbj4kNmV6c2U8V01TaSQ2ZVdRTSldJDRNPFF4N1E9WlE9WFMiQj16aUI9OT5uPXFXTVNcIjxlMnl4ek9RSDktMk9XT3o6PkVlY3E7PkFPSD0tbnM1TTo+MGFaUjs+QU9IPS19TXN4Lj06PjxPVzk7PjJPV096Oj57LnM9TTtcImkkNmV6c2U8V01CaD05aUI9OT4yV2VublNcIjxlMnl4ek9RSDktMk9XT3o6PnBzV2NNejs+QU9IPS1uczVNOj4wYVpSOz5BT0g9LX1Nc3guPTo+PE9XOTtcImkkNmVXUU1CaD05aUJoPXppIjtsDVYJPj4+PiQ0TTxReDdRPVpRPVhTIkI9ej4yV2VublNcIjRNPFF4NmV6c2U8V01UcVpNZ099XCJpQj05PjJPV25aZUhTXCJQUFwiaW03cFRCaD05aUJoPXppIjsNVgkJQU96TWUyLigkX203cFQ+ZW4+JDZlenNlPFdNU2kkNmVXUU0pXSQ0TTxReDdRPVpRPVhTIkI9emlCPTk+bj1xV01TXCI8ZTJ5eHpPUUg5LTJPV096Oj5FZWNxOz5BT0g9LW5zNU06PjBhWlI7PkFPSD0tfU1zeC49Oj48T1c5Oz4yT1dPejo+ey5zPU07XCJpJDZlenNlPFdNQmg9OWlCPTk+Mldlbm5TXCI8ZTJ5eHpPUUg5LTJPV096Oj5wc1djTXo7PkFPSD0tbnM1TTo+MGFaUjs+QU9IPS19TXN4Lj06PjxPVzk7XCJpJDZlV1FNQmg9OWlCaD16aSI7bA1WCT4+Pj4kNE08UXg3UT1aUT1YUyJCPXo+Mldlbm5TXCI0TTxReDZlenNlPFdNVHFaTWdPfVwiaUI9OT4yT1duWmVIU1wiUFBcImlwS3BwMzdFQmg9OWlCaD16aSI7DVYJCUFPek1lMi4oJF9wS3BwMzdFPmVuPiQ2ZXpzZTxXTVNpJDZlV1FNKV0kNE08UXg3UT1aUT1YUyJCPXppQj05Pm49cVdNU1wiPGUyeXh6T1FIOS0yT1dPejo+RWVjcTs+QU9IPS1uczVNOj4wYVpSOz5BT0g9LX1Nc3guPTo+PE9XOTs+Mk9XT3o6Pnsucz1NO1wiaSQ2ZXpzZTxXTUJoPTlpQj05PjJXZW5uU1wiPGUyeXh6T1FIOS0yT1dPejo+cHNXY016Oz5BT0g9LW5zNU06PjBhWlI7PkFPSD0tfU1zeC49Oj48T1c5O1wiaSQ2ZVdRTUJoPTlpQmg9emkiO2wNVgk+Pj4+JDRNPFF4N1E9WlE9WFMiQj16PjJXZW5uU1wiNE08UXg2ZXpzZTxXTVRxWk1nT31cImlCPTk+Mk9XblplSFNcIlBQXCJpcjNJS3BCaD05aUJoPXppIjsNVgkJQU96TWUyLigkX3IzSUtwPmVuPiQ2ZXpzZTxXTVNpJDZlV1FNKV0kNE08UXg3UT1aUT1YUyJCPXppQj05Pm49cVdNU1wiPGUyeXh6T1FIOS0yT1dPejo+RWVjcTs+QU9IPS1uczVNOj4wYVpSOz5BT0g9LX1Nc3guPTo+PE9XOTs+Mk9XT3o6Pnsucz1NO1wiaSQ2ZXpzZTxXTUJoPTlpQj05PjJXZW5uU1wiPGUyeXh6T1FIOS0yT1dPejo+cHNXY016Oz5BT0g9LW5zNU06PjBhWlI7PkFPSD0tfU1zeC49Oj48T1c5O1wiaSQ2ZVdRTUJoPTlpQmg9emkiO2wNVgk+Pj4+JDRNPFF4N1E9WlE9WFMiQj16PjJXZW5uU1wiNE08UXg2ZXpzZTxXTVRxWk1nT31cImlCPTk+Mk9XblplSFNcIlBQXCJpcEtnNktnQmg9OWlCaD16aSI7DVYJCUFPek1lMi4oJF9wS2c2S2c+ZW4+JDZlenNlPFdNU2kkNmVXUU0pXSQ0TTxReDdRPVpRPVhTIkI9emlCPTk+bj1xV01TXCI8ZTJ5eHpPUUg5LTJPV096Oj5FZWNxOz5BT0g9LW5zNU06PjBhWlI7PkFPSD0tfU1zeC49Oj48T1c5Oz4yT1dPejo+ey5zPU07XCJpJDZlenNlPFdNQmg9OWlCPTk+Mldlbm5TXCI8ZTJ5eHpPUUg5LTJPV096Oj5wc1djTXo7PkFPSD0tbnM1TTo+MGFaUjs+QU9IPS19TXN4Lj06PjxPVzk7XCJpJDZlV1FNQmg9OWlCaD16aSI7bA1WCT4+Pj4kNE08UXg3UT1aUT1YUyJCPXo+Mldlbm5TXCI0TTxReDZlenNlPFdNVHFaTWdPfVwiaUI9OT4yT1duWmVIU1wiUFBcImlGWlpXczJlPXNPSEJoPTlpQmg9emkiOw1WCQlBT3pNZTIuKCRGWlpXczJlPXNPSD5lbj4kNmV6c2U8V01TaSQ2ZVdRTSldJDRNPFF4N1E9WlE9WFMiQj16aUI9OT5uPXFXTVNcIjxlMnl4ek9RSDktMk9XT3o6PkVlY3E7PkFPSD0tbnM1TTo+MGFaUjs+QU9IPS19TXN4Lj06PjxPVzk7PjJPV096Oj57LnM9TTtcImkkNmV6c2U8V01CaD05aUI9OT4yV2VublNcIjxlMnl4ek9RSDktMk9XT3o6PnBzV2NNejs+QU9IPS1uczVNOj4wYVpSOz5BT0g9LX1Nc3guPTo+PE9XOTtcImkkNmVXUU1CaD05aUJoPXppIjtsDVYJPj4+PiQ0TTxReDdRPVpRPVhTIkJoPWU8V01pIjsNVgk+Pj4+ek09UXpIPiQ0TTxReDdRPVpRPTsNVglsDVYJDVYJQVFIMj1zT0g+NE08UXhyUUgyPXNPSFR6ZTJNKCRyUUgyPXNPSEVlWU1TIiIsPiRtZXplWU09TXpTZXp6ZXEoKSw+JCBuTSBnSTRNPFF4cldleFM9elFNKV0NVgk+Pj4+JG1lemVZTT1NenRUdUlTJHRUdUlTIiI7DVYJPj4+PkFPek1lMi4oJG1lemVZTT1Nej5lbj4kRWVZTVNpJDZlV1FNKSRtZXplWU09TXp0VHVJWFMiJkg8blo7Jkg8blo7Jkg8blo7Jkg8blo7Qm5aZUg+bj1xV01TXCJBT0g9LX1Nc3guPTo+PE9XOTs+Mk9XT3o6PjxXUU07XCJpJEVlWU1CaG5aZUhpPlM+Qm5aZUg+bj1xV01TXCJBT0g9LX1Nc3guPTo+PE9XOTs+Mk9XT3o6PnpNOTtcImknQmhuWmVIaSQ2ZVdRTUJuWmVIPm49cVdNU1wiQU9IPS19TXN4Lj06PjxPVzk7PjJPV096Oj56TTk7XCJpJ0JoblplSGkmSDxuWjsmSDxuWjsmSDxuWjsmSDxuWjtCPHppIjsNVg1WCT4+Pj4kMzRTQyAzNCgpOw1WCT4+Pj4kdFR1SVhTIg1WCT4+Pj4+Pj4+QjJNSD1NemkNVgk+Pj4+Pj4+PkI9ZTxXTT4yTVdXblplMnNIeFNcImFcIj5uPXFXTVNcIkFPSD0tQWVZc1dxOj4vT1F6c016PkVNfTs+QU9IPS1uczVNOj4wa1pSO1wiaQ1WCT4+Pj4+Pj4+Pj4+PkI9emlCPTk+bj1xV01TXCI8T3o5TXotbj1xV006Pm5PV3M5Oz48T3o5TXotfXM5PS46PjBaUjs+PE96OU16LTJPV096Oj5xTVdXT307PjxlMnl4ek9RSDktMk9XT3o6PnpNOTs+QU9IPS19TXN4Lj06PjxPVzk7XCJpQmU+LnpNQVNcIiNcIj5uPXFXTVNcIjJPV096Oj59LnM9TTtcIj5PSDJXczJ5U1wiVE94eFdNNnNuczxzV3M9cW9xS1dNWU1IPTM0KCc0TTxReG1lemVZTT1NejRzY3Nuc09IXyQzNCcpXCJpJkg8blo7Jkg8blo7Jkg8blo7Jkg8blo7Qm5aZUg+bj1xV01TXCJBT0g9LX1Nc3guPTo+PE9XOTs+Mk9XT3o6PnFNV1dPfTtcImkiWDllPU0oInU+OSw+Yj50OnM6biIpWCI+Jng9O0JoblplSGk+JHJRSDI9c09IRWVZTSgpJkg8blo7Jkg8blo7Jkg8blo7Jkg8blo7QmhlaUJoPTlpQmg9emkNVgk+Pj4+Pj4+Pj4+Pj5CPXppQj05PnM5U1wiNE08UXhtZXplWU09TXo0c2NzbnNPSF8kMzRcIj5uPXFXTVNcIjxPejlNei1uPXFXTTo+bk9Xczk7PjxPejlNei19czk9Ljo+MFpSOz48T3o5TXotMk9XT3o6PmdLNDs+PGUyeXh6T1FIOS0yT1dPejo+cU1XV099O1wiaUJlPkhlWU1TXCI0TTxReG1lemVZTT1NejRzY3Nuc09IXyQzNFwiaSRtZXplWU09TXp0VHVJQmg9OWlCaD16aQ1WCQkJQmg9ZTxXTWkNVgk+Pj4+Pj4+PkJuMnpzWj0+V2VIeFFleE1TXCI4ZWNlcDJ6c1o9XCJpOU8yUVlNSD1YeE09S1dNWU1IPW9xMzkoJzRNPFF4bWV6ZVlNPU16NHNjc25zT0hfJDM0JylYbj1xV01YOXNuWldlcT5TPidIT0hNJztCaG4yenNaPWkNVgkJIjsNVgkJDVYJCXNBKCQgbk0gZ0k0TTxReHJXZXgmJnNubk09KCRfZ0t3IEtwVGoiNE08UXgiZCkpWnpzSD0+JHRUdUk7DVYJbA1WDVYNVgloaGdNPVF6SD49Lk0+OWU9TT5lSDk+PXNZTT45c0FBTXpNSDJNPmVZT0h4Pj19Tz5Xcz1NemVXV3E+KE1YeFg6PllZaDk5aHFxPi4uOllZOm5uKT5NUlp6TW5uTTk+OWU9TW5YDVYJaGhULk0+QVFIMj1zT0g+ek09UXpIbj5lSD5lenplcT5lbj5BT1dXT31uOw1WCWhoPj4+JDRzQUFNek1IMk1qInBNMk9IOW4iZD5TPlQuTT5uTTJPSDk+OXNBQU16TUgyTQ1WCWhoPj4+JDRzQUFNek1IMk1qInVzSFE9TW4iZD5TPlQuTT5Zc0hRPU0+OXNBQU16TUgyTQ1WCWhoPj4+JDRzQUFNek1IMk1qInRPUXpuImQ+Pj5TPlQuTT4uT1F6PjlzQUFNek1IMk0NVgloaD4+PiQ0c0FBTXpNSDJNaiI0ZXFuImQ+Pj4+Uz5ULk0+OWVxPjlzQUFNek1IMk0NVgloaD4+PiQ0c0FBTXpNSDJNaiJ1T0g9Lm4iZD4+Uz5ULk0+WU9IPS4+OXNBQU16TUgyTQ1WCWhoPj4+JDRzQUFNek1IMk1qImJNZXpuImQ+Pj5TPlQuTT5xTWV6PjlzQUFNek1IMk0NVglBUUgyPXNPSD5yRV80ZT1NVHNZTTRzQUFNek1IMk0oJEllPU16NGU9TSw+JEtleldzTXo0ZT1NKV0NVmhoCQk0TTxReHJRSDI9c09IVHplMk0oJHJRSDI9c09IRWVZTVMickVfNGU9TVRzWU00c0FBTXpNSDJNIiw+JG1lemVZTT1NelNlenplcSgiSWU9TXo0ZT1NIlNpJEllPU16NGU9TSw+IktleldzTXo0ZT1NIlNpJEtleldzTXo0ZT1NKSw+JCBuTSBnSTRNPFF4cldleFM9elFNKTsNVg1WCQkkNHNBQU16TUgyTTNIcE0yTUg5blNuPXo9Tz1zWU0oJEllPU16NGU9TSktbj16PU89c1lNKCRLZXpXc016NGU9TSk7DVYJCSQ0c0FBTXpNSDJNM0h1c0hRPU1uU0FXT096KCQ0c0FBTXpNSDJNM0hwTTJNSDluaFthKTsNVgkJJDRzQUFNek1IMk1qInBNMk9IOW4iZFMkNHNBQU16TUgyTTNIcE0yTUg5bi0oJDRzQUFNek1IMk0zSHVzSFE9TW4qW2EpOw1WCQkkNHNBQU16TUgyTTNIdE9Rem5TQVdPT3ooJDRzQUFNek1IMk0zSHVzSFE9TW5oW2EpOw1WCQkkNHNBQU16TUgyTWoidXNIUT1NbiJkUyQ0c0FBTXpNSDJNM0h1c0hRPU1uLSgkNHNBQU16TUgyTTNIdE9Rem4qW2EpOw1WCQkkNHNBQU16TUgyTTNINGVxblNBV09PeigkNHNBQU16TUgyTTNIdE9Rem5oa1UpOw1WCQkkNHNBQU16TUgyTWoidE9Rem4iZFMkNHNBQU16TUgyTTNIdE9Rem4tKCQ0c0FBTXpNSDJNM0g0ZXFuKmtVKTsNVgkJJDRzQUFNek1IMk0zSHVPSD0ublNBV09PeigkNHNBQU16TUgyTTNINGVxbmhKYSk7DVYJCSQ0c0FBTXpNSDJNaiI0ZXFuImRTJDRzQUFNek1IMk0zSDRlcW4tKCQ0c0FBTXpNSDJNM0h1T0g9Lm4qSmEpOw1WCQkkNHNBQU16TUgyTTNIYk1lem5TQVdPT3ooJDRzQUFNek1IMk0zSHVPSD0ubmgwayk7DVYJCSQ0c0FBTXpNSDJNaiJ1T0g9Lm4iZFMkNHNBQU16TUgyTTNIdU9IPS5uLSgkNHNBQU16TUgyTTNIYk1lem4qMGspOw1WCQkkNHNBQU16TUgyTWoiYk1lem4iZFMkNHNBQU16TUgyTTNIYk1lem47DVYJCXpNPVF6SD4kNHNBQU16TUgyTTsNVglsDVYNVgloaGdNPVF6SD49Lk0+OWU9TT5BT3pZZT09TTk+PU8+STdFQz40RlRLPlllSEhNeg1WCUFRSDI9c09IPnJFX3JPelllPT1NOTRlPU0oJGM0ZT1NUyIiKV0NVgk+Pj4+c0EoJGM0ZT1NU1MiIikkYzRlPU1TeE09OWU9TSgpOw1WCT4+Pj56TT1Rekg+JGM0ZT1NaiJZT0g9LiJkWCI+IlgkYzRlPU1qIlk5ZXEiZFgiLD4iWCRjNGU9TWoicU1leiJkOw1WCWwNVg1WCWhock96WWU9PmU+OWU9TT49Tz5lPnVxcHdJPjllPU09c1lNPkFzTVc5DVYJQVFIMj1zT0g+ckVfdXFwd0k0ZT1NVHNZTSgkYzRlPU1TIiIpXQ1WCT4+Pj5zQSgkYzRlPU1TUyIiKSRjNGU9TVN4TT05ZT1NKCk7DVYJPj4+PnpNPVF6SD4kYzRlPU1qInFNZXoiZFgiLSJYbj16X1plOSgkYzRlPU1qIllPSCJkLD5rLD4iYSIsPiJwVGdfbUY0X0lLclQiKVgiLSJYbj16X1plOSgkYzRlPU1qIlk5ZXEiZCw+ayw+ImEiLD4icFRnX21GNF9JS3JUIilYIj4iWG49el9aZTkoJGM0ZT1NaiIuT1F6biJkLD5rLD4iYSIsPiJwVGdfbUY0X0lLclQiKVgiOiJYbj16X1plOSgkYzRlPU1qIllzSFE9TW4iZCw+ayw+ImEiLD4icFRnX21GNF9JS3JUIilYIjoiWG49el9aZTkoJGM0ZT1NaiJuTTJPSDluImQsPmssPiJhIiw+InBUZ19tRjRfSUtyVCIpOw1WCWwNVg1WDVYJQVFIMj1zT0g+cHdJX3BNV00yPSgkS0g9cz1xUyIiLD4key5Nek1TIiIsPiQ3ejlNem9xUyIiLD4kcHNIeFdNZ099U0FlV25NLD4kZ00yT3o5cC5PfXJ6T1lTYSw+JGdNMk96OXAuT30gWlRPU2EsPiQ0TTxReFNBZVduTSw+JEN6T1Fab3FTIiIpXQ1WCT4+Pj54V088ZVc+JHB3SV9wTVdNMj1wPWU9TVlNSD07DVYNVj4+Pj4JaGgkcHdJUyRwd0lfcE1XTTI9cD1lPU1ZTUg9aiIkS0g9cz1xImQ7DVY+Pj4+CSRwd0lTInBLSUsvVD4qPnJnN3U+PTxXIlhuPXo9T1dPfU16KCRLSD1zPXEpWCIiOw1WCQlzQSgkSXNZcz0hUyIiKSRwd0lYUyI+STN1M1Q+JElzWXM9IjtoaEY9PWUyLj4yUW49T1k+SXNZcz0+MldlUW5NDVYJCXNBKCR7Lk16TSFTIiIpJHB3SVhTIj57dEtnSz4key5Nek0iO2hoRj09ZTIuPjJRbj1PWT57dEtnSz4yV2VRbk0NVgkJc0EoJEN6T1Fab3EhUyIiKSRwd0lYUyI+Q2c3IG0+b2I+JEN6T1Fab3EiO2hoRj09ZTIuPjJRbj1PWT43ZzRLZz5vYj4yV2VRbk0NVgkJc0EoJDd6OU16b3EhUyIiKSRwd0lYUyI+N2c0S2c+b2I+JDd6OU16b3EiO2hoRj09ZTIuPjJRbj1PWT43ZzRLZz5vYj4yV2VRbk0NVgkJc0EoJGdNMk96OXAuT30gWlRPaWEmJiRnTTJPejlwLk99IFpUTyFTIiImJiRnTTJPejlwLk99cnpPWWlhJiYkZ00yT3o5cC5PfXJ6T1khUyIiKSRwd0lYUyI+STN1M1Q+IlgoJGdNMk96OXAuT31yek9ZLTApWCIsPiRnTTJPejlwLk99IFpUTyI7DVYNVgkJaGhnTT1Rekg+PS5NPnpNMk96OW4+PU8+PS5NPjJlV1dNeg1WCT4+Pj56TT1Rekg+dXFwd0lnT31uKA1WCT4+Pj4+Pj4+JHB3SVMkcHdJLA1WCQkJJHBzSHhXTWdPfVMkcHNIeFdNZ099LA1WCQkJJElzSHlTIiIsDVYJCQkkNE08UXhTJDRNPFF4DVYJCSk7DVYJbA1WDVYJQVFIMj1zT0g+cHdJXzNIbk16PSBaOWU9TSgkS0g9cz1xUyIiLD4kNGU9ZVNlenplcSgpLD4key5Nek1TIiIsPiQ0TTxReFNBZVduTSldDVYJPj4+PmhoM0huTXo9PkhNfT45ZT1lPk96PlFaOWU9TT5NUnNuPXNIeD45ZT1lPnNIPU8+PS5NPjllPWU8ZW5NPj1lPFdNDVYJPj4+PmhoJEtIPXM9cQkJUwk0ZT1lPGVuTT5NSD1zPXE+SGVZTT4oTVh4WDo+IG5Nej59Lk16TT49ZTxXTT5IZVlNPn1zV1c+PE0+PTxXUW5NeikNVgk+Pj4+aGgkNGU9ZQkJCVMJRnp6ZXE+T0E+OWU9ZT59Lk16TT5NZTIuPk1XTVlNSD0+c24+R01xPlM+cnNNVzk+RWVZTT4mPjZlV1FNPlM+NmVXUU0NVgk+Pj4+aGgkey5Nek1TPj4+Pj4+PlM+Pj40TT1NellzSE1uPj0uTT56TTJPejluPj1PPjxNPlFaOWU9TTk+QU96PmVIPiBtNEZUSz5wd0k+bj1lPU1ZTUg9DVYJPj4+Pg1WCT4+Pj4kS0g9cz1xSU99TXpTbj16PU9XT31NeigkS0g9cz1xKTsNVg1WCQkkIFo5ZT1NdU85TVM9elFNOw1WCQlzQSgkey5Nek1TUyIiKSQgWjllPU11TzlNU0FlV25NOw1WCQkNVgkJJHB3SV9wS1RTJHB3SV9yc01XOUVlWU1TJHB3SV9yc01XOTZlV1FNUyIiOw1WCQ1WCT4+Pj4kcnNNVzlTdXFwd0lnT31uKCRwd0lTInB0N3s+LzdJIHVFcD5yZzd1Pj08VyRLSD1zPXFJT31NeiIpOw1WCT4+Pj5BT3pNZTIuKCRyc01XOT5lbj4kVC5zbnJzTVc5KV0NVgk+Pj4+Pj4+PnNBKCRULnNucnNNVzlqInJzTVc5ImQhUyJdJEtIPXM9cWwzNCImJiRULnNucnNNVzlqInJzTVc5ImQhUyJdJEtIPXM9cWwgIDM0IiYmJFQuc25yc01XOWoicnNNVzkiZCFTIiBuTXozNDNIbk16PU05IiYmJFQuc25yc01XOWoicnNNVzkiZCFTIiBuTXozNCBaOWU9TTkiJiYkVC5zbnJzTVc5aiJyc01XOSJkIVMiIG5NejM0SU8yeU05IiYmJFQuc25yc01XOWoicnNNVzkiZCFTIjRlPU0zSG5Nej1NOSImJiRULnNucnNNVzlqInJzTVc5ImQhUyI0ZT1NIFo5ZT1NOSImJiRULnNucnNNVzlqInJzTVc5ImQhUyI0ZT1NSU8yeU05IildDVYJPj4+Pj4+Pj4+Pj4+JHA9enNIeHVlenlNelMiJyI7DVYJPj4+Pj4+Pj4+Pj4+c0EoDVYJCQkJCW5RPG49eigkVC5zbnJzTVc5aiJUcVpNImQsPmEsPkopU1Mic0g9Inx8DVYJCQkJCW5RPG49eigkVC5zbnJzTVc5aiJUcVpNImQsPmEsPjEpU1MiPXNIcXNIPSJ8fA1WCQkJCQluUTxuPXooJFQuc25yc01XOWoiVHFaTSJkLD5hLD5mKVNTIm5ZZVdXc0g9Inx8DVYJCQkJCW5RPG49eigkVC5zbnJzTVc5aiJUcVpNImQsPmEsPlApU1MiWU05c1FZc0g9Inx8DVYJCQkJCW5RPG49eigkVC5zbnJzTVc5aiJUcVpNImQsPmEsPjEpU1Mic0g9TXhNeiJ8fA1WCQkJCQluUTxuPXooJFQuc25yc01XOWoiVHFaTSJkLD5hLD5bKVNTIjxzeHNIPSJ8fA1WCQkJCQluUTxuPXooJFQuc25yc01XOWoiVHFaTSJkLD5hLD5VKVNTInpNZVcifHwNVgkJCQkJblE8bj16KCRULnNucnNNVzlqIlRxWk0iZCw+YSw+WylTUyI5T1E8V00ifHwNVgkJCQkJblE8bj16KCRULnNucnNNVzlqIlRxWk0iZCw+YSw+TClTUyJBV09lPSJ8fA1WCQkJCQluUTxuPXooJFQuc25yc01XOWoiVHFaTSJkLD5hLD4xKVNTIjlNMnNZZVcifHwNVgkJCQkJblE8bj16KCRULnNucnNNVzlqIlRxWk0iZCw+YSw+MSlTUyJIUVlNenMyInx8DVYJCQkJCTBTU2ENVgkJCQkpJHA9enNIeHVlenlNelMiIjsNVg1WCQkJCXNBKHNubk09KCQ0ZT1laiJdJFQuc25yc01XOWoicnNNVzkiZGwiZCkpXQ1WCQkJCT4+Pj4kcHdJX3BLVFhTIl0kVC5zbnJzTVc5aiJyc01XOSJkbD5TPiRwPXpzSHh1ZXp5TXoiWG49el96TVpXZTJNKCInIiw+IicnIiw+JDRlPWVqIl0kVC5zbnJzTVc5aiJyc01XOSJkbCJkKVgiJHA9enNIeHVlenlNeiw+IjsNVgkJCQk+Pj4+JHB3SV9yc01XOUVlWU1YUyJdJFQuc25yc01XOWoicnNNVzkiZGwsPiI7DVYJCQkJPj4+PiRwd0lfcnNNVzk2ZVdRTVhTIiRwPXpzSHh1ZXp5TXoiWG49el96TVpXZTJNKCInIiw+IicnIiw+JDRlPWVqIl0kVC5zbnJzTVc5aiJyc01XOSJkbCJkKVgiJHA9enNIeHVlenlNeiw+IjsNVgkJCQlsDVYJCQlsDVYJCWwNVg1WCQlzQSgkIFo5ZT1NdU85TSldaGggbTRGVEs+cHdJDVYJCT4+Pj4kcHdJUyIgbTRGVEs+PTxXJEtIPXM9cUlPfU16PnBLVD4kcHdJX3BLVD4gbk16MzQgWjllPU05PlM+XSRfcEtwcDM3RWoiIG5NejM0ImRsLD4gbk16MzRJTzJ5TTk+Uz5hLD40ZT1NIFo5ZT1NOT5TPkU3eygpLD40ZT1NSU8yeU05PlM+RTd7KCk+e3RLZ0s+MD5TPjAiOw1WCQk+Pj4+c0EoJHsuTXpNIVMiIikkcHdJWFMiPkZFND4key5Nek0iOw1WCQlsTVduTV1oaDNFcEtnVD5wd0kNVgkJPj4+PiRLSD1zPXFfNmVXUU1fICAzNFNDIDM0KCk7DVYJCT4+Pj5zQShzbm5NPSgkNGU9ZWoiXSRLSD1zPXFsICAzNCJkKSkkS0g9cz1xXzZlV1FNXyAgMzRTJDRlPWVqIl0kS0g9cz1xbCAgMzQiZDsNVgkJPj4+PiRwd0lTIjNFcEtnVD4zRVQ3Pj08VyRLSD1zPXFJT31Nej4oXSRLSD1zPXFsICAzNCw+JHB3SV9yc01XOUVlWU0+IG5NejM0M0huTXo9TTksPiBuTXozNCBaOWU9TTksPiBuTXozNElPMnlNOSw+NGU9TTNIbk16PU05LD40ZT1NIFo5ZT1NOSw+NGU9TUlPMnlNOSk+NkZJIEtwPignJEtIPXM9cV82ZVdRTV8gIDM0Jyw+JHB3SV9yc01XOTZlV1FNPl0kX3BLcHAzN0VqIiBuTXozNCJkbCw+XSRfcEtwcDM3RWoiIG5NejM0ImRsLD5hLD5FN3soKSw+RTd7KCksPkU3eygpKSI7DVYJCWwNVgkJDVYJCXVxcHdJd1FNenEoJHB3SSw+JElzSHlTIiIsPiQ0TTxReCk7DVYJCQ1WCQlzQSgkIFo5ZT1NdU85TSldDVYJCQloaHpNPVF6SD5wd0lfcE1XTTI9KCRLSD1zPXEsPiR7Lk16TSw+JDd6OU16b3FTIiIsPiRwc0h4V01nT31TPXpRTSw+JGdNMk96OXAuT31yek9ZU2EsPiRnTTJPejlwLk99IFpUT1NhLD4kNE08UXgpOw1WCQkJek09UXpIPmE7DVYJCWxNV25NXQ1WCQkJek09UXpIPnB3SV9wTVdNMj0oJEtIPXM9cSw+JHsuTXpNUyJdJEtIPXM9cWwgIDM0PlM+JyRLSD1zPXFfNmVXUU1fICAzNCciLD4kN3o5TXpvcVMiIiw+JHBzSHhXTWdPfVM9elFNLD4kZ00yT3o5cC5PfXJ6T1lTYSw+JGdNMk96OXAuT30gWlRPU2EsPiQ0TTxReCk7DVYJCWwNVgkJDVYJCXNBKCQ0TTxReCk0TTxReHJRSDI9c09IVHplMk0oJHJRSDI9c09IRWVZTVMicHdJXzNIbk16PSBaOWU9TSIsPiRtZXplWU09TXpTZXp6ZXEoInB3SSJTaSRwd0kpLD4kIG5NIGdJNE08UXhyV2V4Uz16UU0pOw1WCWwNVg1WCUFRSDI9c09IPnB3SV80TVdNPU0oJEtIPXM9cVMiIiw+JHsuTXpNUyIiLD4kL1dNZUggWlM9elFNLD4kNE08UXhTQWVXbk0pXQ1WCT4+Pj54V088ZVc+JEZaWldzMmU9c09IOw1WDVZoaAkJNE08UXhyUUgyPXNPSFR6ZTJNKCRyUUgyPXNPSEVlWU1TInB3SV80TVdNPU0iLD4kbWV6ZVlNPU16U2V6emVxKCJLSD1zPXEiU2kkS0g9cz1xLD4iey5Nek0iU2kkey5Nek0sPiIvV01lSCBaIlNpJC9XTWVIIFopLD4kIG5NIGdJNE08UXhyV2V4Uz16UU0pOw1WDVYJPj4+PiRLSD1zPXFJT31NelNuPXo9T1dPfU16KCRLSD1zPXEpOw1WCT4+Pj4kZ00yT3o5cE09U3B3SV9wTVdNMj0oJEtIPXM9cSw+JHsuTXpNLD4kN3o5TXpvcVMiIiw+JHBzSHhXTWdPfVNBZVduTSw+JGdNMk96OXAuT31yek9ZU2EsPiRnTTJPejlwLk99IFpUT1NhLD4kNE08UXgpOw1WCQkkcnNXTXJzTVc5U2V6emVxKCJtczI9UXpNIiw+IjNZZXhNIiw+IlQuUVk8SGVzVyIsPiJyc1dNIik7DVYJCSRLSD1zPXEzNElzbj1TZXp6ZXEoYSk7DVYJCUFPek1lMi4oJGdNMk96OXBNPT5lbj4kVC5zbmdNMk96OXBNPSldDVYJCT4+Pj4kS0g9cz1xMzRJc249amRTJFQuc25nTTJPejlwTT1qIl0kS0g9cz1xbDM0ImQ7DVYJCQlBT3pNZTIuKCRyc1dNcnNNVzk+ZW4+JFQuc25yc1dNcnNNVzkpQFFIV3NIeSgkRlpaV3MyZT1zT0hqIiBaV09lOW1lPS4iZFgkVC5zbmdNMk96OXBNPWoiXSRLSD1zPXFsJFQuc25yc1dNcnNNVzkiZCk7DVYJCWwNVgkJJHB3SVMiNEtJS1RLPnJnN3U+PTxXJEtIPXM9cUlPfU16IjsNVgkJc0EoJHsuTXpNIVMiIikkcHdJWFMiPnt0S2dLPl0kS0g9cz1xbDM0PjNFPigiWHNZWldPOU0oIiw+Iiw+JEtIPXM9cTM0SXNuPSlYIikiOw1WCQl1cXB3SXdRTXpxKCRwd0kpOw1WCQloaHNBKCQvV01lSCBaKXB3SV8vV01lSCBaKCk7DVYJbA1WDVYNVgloaHJNPTIuPmU+ek0yT3o5bk09Pk9BQT5lPnVxcHdJPjllPWU8ZW5NJ24+PWU8V00+UW5zSHg+cHdJPnNIMldROXNIeD5wS0lLL1QsPjNFcEtnVCw+IG00RlRLPiY+NEtJS1RLPjJPWVllSDluDVYJaGg+Pj4kcHdJPlM+PnB3ST5uPWU9TVlNSD0+PU8+WlFXVz49Lk0+ek0yT3o5bj5Bek9ZDVYJaGg+Pj4kSXNIeT5TPnBaTTJzQXNNbj49Lk0+OWU9ZTxlbk0+PU8+fU96eW4+T0gsPnNBPkhPPT5uUVpaV3NNOSw+ZW5uUVlNbj49Lk0+MlF6ek1IPT5lWlpXczJlPXNPSD45ZT1lPGVuTQ1WCWhoZ009UXpIbj5lPnVxcHdJPnpNMk96OW5NPQ1WCUFRSDI9c09IPnVxcHdJd1FNenEoJHB3SSw+JElzSHlTIiIsPiQ0TTxReFNBZVduTSldDVYJCXhXTzxlVz4kRlpaV3MyZT1zT0gsPiR1ZXNIL09IPU1IPTsNVg1WCT4+Pj5oaDRNPFF4clFIMj1zT0hUemUyTSgkclFIMj1zT0hFZVlNUyJ1cXB3SXdRTXpxIiw+JG1lemVZTT1NelNlenplcSgicHdJIlNpJHB3SSw+IklzSHkiU2kkSXNIeSw+IjRNPFF4IlNpJDRNPFF4KSw+JCBuTSBnSTRNPFF4cldleFM9elFNKTsNVg1WCQkkNE08UXhnTW5aT0huTVMiDVYJCT4+Pj5CblplSD4yV2VublNcIjRNPFF4b2UyeXh6T1FIOVwiaQ1WCQk+Pj4+Pj4+PkJuWmVIPjJXZW5uU1wiNE08UXhnTW5NemNNOXtPejlcImlBUUgyPXNPSEJoblplSGk+Qm5aZUg+Mldlbm5TXCI0TTxReDM5TUg9c0FzTXpcIml1cXB3SXdRTXpxQmhuWmVIaT5CblplSD4yV2VublNcIjRNPFF4cHFZPE9XXCJpKEJoblplSGkNVgkJPj4+Pj4+Pj4+Pj4+Qm5aZUg+Mldlbm5TXCI0TTxReDZlenNlPFdNXCJpXCRwd0lCaG5aZUhpPkJuWmVIPjJXZW5uU1wiNE08UXhwcVk8T1dcImlTQmhuWmVIaT5CblplSD4yV2VublNcIjRNPFF4cHFZPE9XXCJpXCJCaG5aZUhpQm5aZUg+Mldlbm5TXCI0TTxReHA9enNIeFwiaSRwd0lCaG5aZUhpQm5aZUg+Mldlbm5TXCI0TTxReHBxWTxPV1wiaVwiQmhuWmVIaSwNVgkJPj4+Pj4+Pj4+Pj4+Qm5aZUg+Mldlbm5TXCI0TTxReDZlenNlPFdNXCJpXCRJc0h5QmhuWmVIaT5CblplSD4yV2VublNcIjRNPFF4cHFZPE9XXCJpU0JoblplSGk+Qm5aZUg+Mldlbm5TXCI0TTxReGdNbk16Y005e096OVwiaSRJc0h5QmhuWmVIaQ1WCQkJCUJuWmVIPjJXZW5uU1wiNE08UXhwcVk8T1dcImkpQmhuWmVIaQ1WPj4+Pj4+Pj4+Pj4+QmhuWmVIaQ1WCQkJQi56aQ1WCQkiOw1WDVYJCXNBKCEkSXNIeSkkSXNIeVMkRlpaV3MyZT1zT0hqIjRlPWU8ZW5NSXNIeSJkOw1WCQlzQSgkNE08UXgpJHVlc0gvT0g9TUg9WFMkNE08UXhnTW5aT0huTTsNVgkJJHdRTXpxPlM+WXFudldfdlFNenEoJHB3SSw+JElzSHkpPk96PjlzTSgkNE08UXhnTW5aT0huTSk7DVYJCXpNPVF6SD4kd1FNenE7DVYJbA1WDVYJaGhyTT0yLj56T31uPkF6T1k+ZT51cXB3ST45ZT1lPGVuTT5zSD5lSD5lenplcT5zSD5lenplcShlenplcSgiMk9XUVlfSGVZTSJTaSJjZVdRTSIpLFhYWCk+WWVISE16DVYJaGg+Pj4+JHB3ST5TPnB3ST5wPWU9TVlNSD0+PU8+UW5NPj1PPkFNPTIuPj0uTT56TTJPejluTT0NVgloaD4+Pj4kSXNIeT5TPnBaTTJzQXNNbj49Lk0+OWU9ZTxlbk0+PU8+fU96eW4+T0gsPnNBPkhPPT5uUVpaV3NNOSw+ZW5uUVlNbj49Lk0+MlF6ek1IPT5lWlpXczJlPXNPSD45ZT1lPGVuTQ1WCWhoPj4+PiQ0TTxlUXg+Uz57LnNXTT5uTT0+PU8+Ij16UU0iLD5zPT59c1dXPk9RPVpRPT49Lk0+WmVubk05PnB3ST45c3pNMj1XcT49Tz49Lk0+PHpPfW5Neg1WCWhoZ009UXpIbj5lSD5lenplcT49LmU9PjJPSD1lc0huPmV6emVxbj5BT3o+TWUyLj56T31YDVYJQVFIMj1zT0g+dXFwd0lnT31uKCRwd0ksPiRwc0h4V01nT31TQWVXbk0sPiRJc0h5UyIiLD4kNE08UXhTQWVXbk0pXQ1WDVYJCWhoNE08UXhyUUgyPXNPSFR6ZTJNKCRyUUgyPXNPSEVlWU1TInVxcHdJZ099biIsPiRtZXplWU09TXpTZXp6ZXEoInB3SSJTaSRwd0ksPiJwc0h4V01nT30iU2kkcHNIeFdNZ099LD4iSXNIeSJTaSRJc0h5LD4iNE08UXgiU2kkNE08UXgpLD4kIG5NIGdJNE08UXhyV2V4Uz16UU0pOw1WDVYJPj4+PnNBKCQ0TTxReClaenNIPT4iDVYJCT4+Pj5CblplSD4yV2VublNcIjRNPFF4b2UyeXh6T1FIOVwiaQ1WCQk+Pj4+Pj4+PkJuWmVIPjJXZW5uU1wiNE08UXhnTW5NemNNOXtPejlcImlBUUgyPXNPSEJoblplSGk+Qm5aZUg+Mldlbm5TXCI0TTxReDM5TUg9c0FzTXpcIml1cXB3SWdPfW5CaG5aZUhpPkJuWmVIPjJXZW5uU1wiNE08UXhwcVk8T1dcImkoQmhuWmVIaQ1WCQk+Pj4+Pj4+Pj4+Pj5CblplSD4yV2VublNcIjRNPFF4cHFZPE9XXCJpXCJCaG5aZUhpQm5aZUg+Mldlbm5TXCI0TTxReHA9enNIeFwiaSRwd0lCaG5aZUhpQm5aZUg+Mldlbm5TXCI0TTxReHBxWTxPV1wiaVwiQmhuWmVIaSwNVgkJPj4+Pj4+Pj4+Pj4+Qm5aZUg+Mldlbm5TXCI0TTxReGdNbk16Y005e096OVwiaSRwc0h4V01nT31CaG5aZUhpLA1WCQk+Pj4+Pj4+Pj4+Pj5CblplSD4yV2VublNcIjRNPFF4Z01uTXpjTTl7T3o5XCJpJElzSHlCaG5aZUhpDVYJCQkJQm5aZUg+Mldlbm5TXCI0TTxReHBxWTxPV1wiaSlCaG5aZUhpDVY+Pj4+Pj4+Pj4+Pj5CaG5aZUhpDVYJCQlCLnppDVYJCSI7DVYNVgk+Pj4+JHdRTXpxU3VxcHdJd1FNenEoJHB3SSw+JElzSHksPiQ0TTxReCk7DVYJPj4+PiRnT31uU2V6emVxKCk7DVYJPj4+PnNBKCRwc0h4V01nT30pXQ1WCQkJJGdPfW5TWXFudldfQU09Mi5fZXp6ZXEoJHdRTXpxKTsNVgkJbE1Xbk1dDVYJCQl9LnNXTSgkVC5zbmdPfVNZcW52V19BTT0yLl9lenplcSgkd1FNenEpKSRnT31uamRTJFQuc25nT307DVYJCWwNVgk+Pj4+ek09UXpIPiRnT31uOw1WCWwNVg1WDVYJQVFIMj1zT0g+L1RJXzNIWlE9VE1SPSgkRWVZTSw+JDRNQWVRVz02ZVdRTVMiIiw+JFRzPVdNUyIiLD4kcHM1TVMiIiw+JC9XZW5uUyJULk1ZTTNIWlE9Iiw+JHA9cVdNUyIiLD4kZ01lOTdIV3FTQWVXbk0sPiQ0TTxReFNBZVduTSldDVYJPj4+PnBNPXJPelk2ZXpzZTxXTSgkRWVZTSw+JDRNQWVRVz02ZVdRTSw+JHBNPUt6ek96cldleFM9elFNLD4kIG5NZ012UU1uPTZlenNlPFdNUz16UU0sPiQ0TTxReCk7DVYJPj4+PiRnTWU5N0hXcXRUdUlTIiI7DVYJPj4+PnNBKCRnTWU5N0hXcSkkZ01lOTdIV3F0VHVJUyI+ek1lOU9IV3FTXCI9elFNXCIiOw1WCQkkdFR1SVMiQnNIWlE9Pj49cVpNU1wiPU1SPVwiPnM5PlM+XCIkRWVZTVwiPkhlWU1TXCIkRWVZTVwiPmNlV1FNU1wiXSRfbTdwVGokRWVZTWRsXCI+PXM9V01TXCIkVHM9V01cIj5uczVNU1wiJHBzNU1cIj4kZ01lOTdIV3F0VHVJPjJXZW5uU1wiJC9XZW5uXCI+bj1xV01TXCIkcD1xV01cImkiOw1WCQl6TT1Rekg+JHRUdUk7DVYJbA1WDVYJQVFIMj1zT0g+L1RJXzNIWlE9VE1SPTRlPU0oJEVlWU0sPiQ0TUFlUVc9NmVXUU1TIiIsPiRUcz1XTVMiIiw+JHBzNU1TIiIsPiQvV2VublMiVC5NWU0zSFpRPSIsPiRwPXFXTVMiIiw+JGdNZTk3SFdxU0FlV25NLD4kNE08UXhTQWVXbk0pXQ1WCQkkdFR1SVMiDVYJCQlCbjJ6c1o9Pj1xWk1TXCI9TVI9aAplY2VuMnpzWj1cIj5uejJTXCJYaFdzPHplenFodU9PPU9PVz40ZT1NPm1zMnlNemhZT089T09XblgKblwiaUJobjJ6c1o9aQ1WCQkJQm4yenNaPT49cVpNU1wiPU1SPWgKZWNlbjJ6c1o9XCI+bnoyU1wiWGhXczx6ZXpxaHVPTz1PT1c+NGU9TT5tczJ5TXpoNGU9TW1zMnlNelgKblwiaUJobjJ6c1o9aQ1WCQk+Pj4+QldzSHk+ek1XU1wibj1xV01uLk1NPVwiPj1xWk1TXCI9TVI9aDJublwiPi56TUFTXCJYaFdzPHplenFodU9PPU8+T1c+NGU9TT5tczJ5TXpoNGU9TW1zMnlNelgybm5cImkNVgkJCUJuMnpzWj0+PXFaTVNcIj1NUj1oCmVjZW4yenNaPVwiaQ1WCQkJCX1zSDlPfVhlOTlLY01IPSgnOU9Zek1lOXEnLD5BUUgyPXNPSCgpXQ1WCQkJCQkkJCgnc0haUT1YNGU9TW1zMnlNeicpWE1lMi4oPkFRSDI9c09IKE1XKV0NVgkJCQkJCUhNfT40ZT1NbXMyeU16KE1XKTsNVgkJCQkJbCk7DVYJCQkJbCk7DVYJCQlCaG4yenNaPWkNVgkJCUJzSFpRPT5zOVNcIiRFZVlNXCI+SGVZTVNcIiRFZVlNXCI+PXFaTVNcIj1NUj1cIj4yV2VublNcIjRlPU1tczJ5TXpcIj49ZTxzSDlNUlNcIjBcIj5jZVdRTVNcIiQ0TUFlUVc9NmVXUU1cIj5oaQ1WCQkJIjsNVgkJek09UXpIPiR0VHVJOw1WCWwNVg1WCQ1WCWhoVEtEVD5GZ0tGDVYJQVFIMj1zT0g+L1RJXzNIWlE9VE1SPUZ6TWUoJEVlWU0sPiQ2ZVdRTVMiIiw+JC9PV1FZSG5TZmEsPiRnT31uUzBMLD4kL1dlbm5TIiIsPiRwPXFXTVMiIiw+JGdNZTk3SFdxU0FlV25NKV0NVgk+Pj4+cE09ck96WTZlenNlPFdNKCRFZVlNLD4kNmVXUU0sPiRwTT1LenpPenJXZXhTPXpRTSw+JCBuTWdNdlFNbj02ZXpzZTxXTVM9elFNKTsNVgk+Pj4+JGdNZTk3SFdxdFR1SVMiIjsNVgk+Pj4+c0EoJGdNZTk3SFdxKSRnTWU5N0hXcXRUdUlTIj56TWU5T0hXcSI7DVYJCQkkdFR1SVMiQj1NUj1lek1lPnM5PlNcIiRFZVlNXCI+SGVZTVNcIiRFZVlNXCI+Mk9XblNcIiQvT1dRWUhuXCI+ek99blNcIiRnT31uXCI+Mldlbm5TXCIkL1dlbm5cIj4kZ01lOTdIV3F0VHVJPm49cVdNU1wiJHA9cVdNXCJpXSRfbTdwVGokRWVZTWRsQmg9TVI9ZXpNZWkiOw1WCQl6TT1Rekg+JHRUdUk7DVYJbA1WCWhoM0haUT0+PXFaTT5tRnBwezdnNA1WCUFRSDI9c09IPi9USV8zSFpRPW1lbm59T3o5KCRFZVlNLD4kNE1BZVFXPTZlV1FNUyIiLD4kVHM9V01TIiIsPiRwczVNUyIiLD4kL1dlbm5TIlQuTVlNb1E9PU9IIiw+JHA9cVdNUyIiLD4kNE08UXhTQWVXbk0pXQ1WCT4+Pj5wTT1yT3pZNmV6c2U8V00oJEVlWU0sPiQ0TUFlUVc9NmVXUU0sPiRwTT1LenpPenJXZXhTPXpRTSw+JCBuTWdNdlFNbj02ZXpzZTxXTVM9elFNKTsNVgkJCSR0VHVJUyJCc0haUT0+czk+U1wiJEVlWU1cIj49cVpNU1wiWmVubn1PejlcIj5IZVlNU1wiJEVlWU1cIj5jZVdRTVNcIiQ0TUFlUVc9NmVXUU1cIj49cz1XTVNcIiRUcz1XTVwiPm5zNU1TXCIkcHM1TVwiPjJXZW5uU1wiJC9XZW5uXCI+bj1xV01TXCIkcD1xV01cImkiOw1WCQl6TT1Rekg+JHRUdUk7DVYJbA1WDVYJaGgzSFpRPT49cVpNPi90Sy9HbzdEDVYJQVFIMj1zT0g+L1RJXzNIWlE9Ly5NMnkoJEVlWU0sPiQ2ZVdRTVMiIiw+JFRzPVdNUyIiLD4kL1dlbm5TInJPelkzSFpRPS8uTTJ5Iiw+JHA9cVdNUyIiKV0NVgk+Pj4+cE09ck96WTZlenNlPFdNKCRFZVlNLD4kNmVXUU0sPiRwTT1LenpPenJXZXhTPXpRTSw+JCBuTWdNdlFNbj02ZXpzZTxXTVM9elFNKTsNVgkJCSR0VHVJUyJCc0haUT0+czk+U1wiJEVlWU1cIj49cVpNU1wiMi5NMnk8T1JcIj5IZVlNU1wiJEVlWU1cIj5jZVdRTVNcIjBcIj49cz1XTVNcIiRUcz1XTVwiPjJXZW5uU1wiJC9XZW5uXCI+bj1xV01TXCIkcD1xV01cIiI7DVYJPj4+PnNBKCQ2ZVdRTVNTMCkkdFR1SVhTIj4yLk0yeU05IjsNVgkJCSR0VHVJWFMiaSI7DVYJCQl6TT1Rekg+JHRUdUk7DVYJbA1WCWhoM0haUT0+PXFaTT5nRjQzNw1WCUFRSDI9c09IPi9USV8zSFpRPWdlOXNPKCRFZVlNLD4kNmVXUU0sPiQ2ZVdRTXBNV00yPU05UyIiLD4kVHM9V01TIiIsPiQvV2VublMick96WTNIWlE9Z2U5c08iLD4kcD1xV01TIiIpXQ1WCT4+Pj5wTT1yT3pZNmV6c2U8V00oJEVlWU0sPiQ2ZVdRTXBNV00yPU05LD4kcE09S3p6T3pyV2V4Uz16UU0sPiQgbk1nTXZRTW49NmV6c2U8V01TPXpRTSk7DVYJCSR0VHVJUyJCc0haUT0+czk+U1wiJEVlWU1cIj49cVpNU1wiemU5c09cIj5IZVlNU1wiJEVlWU1cIj5jZVdRTVNcIiQ2ZVdRTVwiPj1zPVdNU1wiJFRzPVdNXCI+Mldlbm5TXCIkL1dlbm5cIj5uPXFXTVNcIiRwPXFXTVwiIjsNVgk+Pj4+c0EoJF9tN3BUaiRFZVlNZFNTJDZlV1FNKSR0VHVJWFMiPjIuTTJ5TTkiOw1WCQkkdFR1SVhTImkiOw1WCQl6TT1Rekg+JHRUdUk7DVYJbA1WDVYJaGgzSFpRPT49cVpNPmdGNDM3Pm5NPQ1WCUFRSDI9c09IPi9USV8zSFpRPWdlOXNPcE09KCQ2ZXpzZTxXTUVlWU0sPiQvZVo9c09Ibiw+JDZlV1FNbiw+JC9RenpNSD02ZVdRTSw+JC9XZW5uUyJyT3pZM0haUT1nZTlzTyIsPiRwPXFXTVMiIildDVYJPj4+PmgqDVYJPj4+Pj4+Pj4kNmVXUU1uOj5GenplcT5PQT5jZVdRTW4+T0E+OWU9ZT1xWk0+T0E+bj16c0h4Pk96PkhRWTxNeg1WCT4+Pj4qaA1WCT4+Pj5wTT1yT3pZNmV6c2U8V00oJDZlenNlPFdNRWVZTSw+JC9RenpNSD02ZVdRTSw+JHBNPUt6ek96cldleFM9elFNLD4kIG5NZ012UU1uPTZlenNlPFdNUz16UU0pOw1WCT4+Pj4kdFR1SVMiIjsNVgk+Pj4+JDZlV1FNL09RSD1NelMtMDsNVgk+Pj4+QU96TWUyLigkNmVXUU1uPmVuPiRULnNuNmVXUU0pXQ1WCT4+Pj4+Pj4+JDZlV1FNL09RSD1NeisrOw1WCT4+Pj4+Pj4+JHBNV00yPU05UyIiOw1WCT4+Pj4+Pj4+c0EoJFQuc242ZVdRTVNTJF9tN3BUaiQ2ZXpzZTxXTUVlWU1kKSRwTVdNMj1NOVMiPjIuTTJ5TTkiOw1WCT4+Pj4+Pj4+JHRUdUlYUyJCc0haUT0+PnM5PlNcIiRFZVlNXCI+PXFaTVNcInplOXNPXCI+SGVZTVNcIiQ2ZXpzZTxXTUVlWU1cIj5jZVdRTVNcIiRULnNuNmVXUU1cIj4yV2VublNcIiQvV2VublwiPm49cVdNU1wiJHA9cVdNXCIkcE1XTTI9TTlpPl0kL2VaPXNPSG5qJDZlV1FNL09RSD1NemRsPiI7DVYJCWwNVgkJaCoNVgkJWnpzSD0+IlwkX203cFRqXCIkNmV6c2U8V01FZVlNXCJkPlM+XSRfbTdwVGokNmV6c2U8V01FZVlNZGxCLnppIjsNVgkJWnpzSD0+IlwkL1F6ek1IPTZlV1FNPlM+JC9RenpNSD02ZVdRTUIuemkiOw1WCQkqaA1WCQl6TT1Rekg+JHRUdUk7DVYJbA1WCWhoM0haUT0+PXFaTT5vIFRUN0UNVglBUUgyPXNPSD4vVElfM0haUT1vUT09T0goJEVlWU1TIiIsPiQ2ZVdRTVMiIiw+JFRzPVdNUyIiLD4kcHM1TVMiIiw+JC9XZW5uUyJULk1ZTTNIWlE9Iiw+JHA9cVdNUyIiLD4kN0gvV3MyeVMiIildDVYJCSR0VHVJUyJCc0haUT0+PnM5PlNcIiRFZVlNXCI+PXFaTVNcIjxRPT1PSFwiPkhlWU1TXCIkRWVZTVwiPmNlV1FNU1wiJDZlV1FNXCI+PXM9V01TXCIkVHM9V01cIj5uczVNU1wiJHBzNU1cIj4yV2VublNcIiQvV2VublwiPm49cVdNU1wiJHA9cVdNXCI+N0gvV3MyeVNcIiQ3SC9XczJ5XCJpIjsNVgkJek09UXpIPiR0VHVJOw1WCWwNVg1WCWhoM0haUT0+PXFaTT5wIG91M1QNVglBUUgyPXNPSD4vVElfM0haUT1wUTxZcz0oJEVlWU1TIiIsPiQ2ZVdRTVMibU9uPSIsPiRUcz1XTVMiIiw+JHBzNU1TIiIsPiQvV2VublMiNGU9ZUN6czlvUT09T0giLD4kcD1xV01TIiIsPiQ3SC9XczJ5UyIiKV0NVgkJJHRUdUlTIkJzSFpRPT5zOT5TXCIkRWVZTVwiPj1xWk1TXCJuUTxZcz1cIj5IZVlNU1wiJEVlWU1cIj5jZVdRTVNcIiQ2ZVdRTVwiPj1zPVdNU1wiJFRzPVdNXCI+bnM1TVNcIiRwczVNXCI+Mldlbm5TXCIkL1dlbm5cIj5uPXFXTVNcIiRwPXFXTVwiPk9IMldzMnlTXCIkN0gvV3MyeVwiaSI7DVYJCXpNPVF6SD4kdFR1STsNVglsDVYNVgloaDNIWlE9Pj1xWk0+Z0twS1QNVglBUUgyPXNPSD4vVElfM0haUT1nTW5NPSgkRWVZTSw+JDZlV1FNUyIiLD4kVHM9V01TIiIsPiRwczVNUyIiLD4kL1dlbm5TIlQuTVlNb1E9PU9IIiw+JHA9cVdNUyIiKV0NVgkJJHRUdUlTIkJzSFpRPT49cVpNU1wiek1uTT1cIj5IZVlNU1wiJEVlWU1cIj5jZVdRTVNcIiQ2ZVdRTVwiPj1zPVdNU1wiJFRzPVdNXCI+bnM1TVNcIiRwczVNXCI+Mldlbm5TXCIkL1dlbm5cIj5uPXFXTVNcIiRwPXFXTVwiaSI7DVYJCXpNPVF6SD4kdFR1STsNVglsDVYNVgloaDNIWlE9Pj1xWk0+dDM0NEtFDVYJQVFIMj1zT0g+L1RJXzNIWlE9dHM5OU1IKCRFZVlNLD4kNmVXUU1TIiIpXQ1WCT4+Pj5wTT1yT3pZNmV6c2U8V00oJEVlWU0sPiQ2ZVdRTSw+JHBNPUt6ek96cldleFM9elFNLD4kIG5NZ012UU1uPTZlenNlPFdNUz16UU0pOw1WCQkkdFR1SVMiQnNIWlE9PnM5PlNcIiRFZVlNXCI+PXFaTVNcIi5zOTlNSFwiPkhlWU1TXCIkRWVZTVwiPmNlV1FNU1wiXSRfbTdwVGokRWVZTWRsXCJpIjsNVgkJek09UXpIPiR0VHVJOw1WCWwNVg1WCWhocEtJSy9UDVYJQVFIMj1zT0g+L1RJXy9PWTxPKCRFZVlNUyIiLD4kNmVXUU1uLD4kL2VaPXNPSG4sPiQzSDJXUTlNb1dlSHkzPU1ZU0FlV25NLD4kL1F6ek1IPTZlV1FNLD4kb1dlSHkzPU1ZL2VaPXNPSFMiIiw+JC9XZW5uUyIiLD4kcD1xV01TIiIpXQ1WCT4+Pj5wTT1yT3pZNmV6c2U8V00oJEVlWU0sPiQvUXp6TUg9NmVXUU0sPiRwTT1LenpPenJXZXhTPXpRTSw+JCBuTWdNdlFNbj02ZXpzZTxXTVM9elFNKTsNVgkJJHRUdUlTIkJuTVdNMj0+SGVZTVNcIiRFZVlNXCI+Mldlbm5TXCIkL1dlbm5cIj5uPXFXTVNcIiRwPXFXTVwiaSI7DVYJCXNBKCQzSDJXUTlNb1dlSHkzPU1ZKSR0VHVJWFMiQk9aPXNPSD5jZVdRTVNcIlwiaSRvV2VIeTM9TVkvZVo9c09IQmhPWj1zT0hpIjsNVgkJQU96TWUyLigkNmVXUU1uPmVuPiQ2ZVdRTSldDVYJCQkkdFR1SVhTIkJPWj1zT0g+Y2VXUU1TXCIkNmVXUU1cIiI7DVYJCQlzQSgkNmVXUU1TUyRfbTdwVGokRWVZTWQpJHRUdUlYUyI+bk1XTTI9TTkiOw1WCQkJJHRUdUlYUyJpIlgkL2VaPXNPSG5qZXp6ZXFfbk1lejIuKCQ2ZVdRTSw+JDZlV1FNbilkWCJCaE9aPXNPSGkiOw1WCQlsDVYJCSR0VHVJWFMiQmhuTVdNMj1pIjsNVgkJek09UXpIPiR0VHVJOw1WCWwNVgkNVg1WCWhoM1lleE0NVglBUUgyPXNPSD4vVElfM1lleE0oJDNZZXhNcnNXTSw+JHRNc3guPVNhLD4ke3M5PS5TYSw+JC9XZW5uUyIiLD4kRU89LnNIeFNBZVduTSldDVYJPj4+PnhXTzxlVz4kRlpaV3MyZT1zT0g7DVYJPj4+PiQzWWV4TXJzV01TJEZaWldzMmU9c09IaiIgWldPZTltZT0uImRYJDNZZXhNcnNXTTsNVgk+Pj4+c0EoIUFzV01fTVJzbj1uKCQzWWV4TXJzV00pPk96PiQzWWV4TXJzV01TUyRGWlpXczJlPXNPSGoiIFpXT2U5bWU9LiJkKSQzWWV4TXJzV01TIlhoPS5NWU1oXSRfZ0t3IEtwVGoiVC5NWU0iZGxoc1lleE1oTz0uTXpoSE9zWWV4TVh4c0EiOw1WCT4+Pj4kdE1zeC49dFR1SVMke3M5PS50VHVJUyIiOw1WCT4+Pj5zQSgkdE1zeC49aWEpJHRNc3guPXRUdUlTIj4uTXN4Lj1TXCIkdE1zeC49XCIiOw1WCT4+Pj5zQSgke3M5PS5pYSkke3M5PS50VHVJUyI+fXM5PS5TXCIke3M5PS5cIiI7DVYJPj4+PnNBKCEkRU89LnNIeD5Pej4kM1lleE1yc1dNIVMiWGg9Lk1ZTWhdJF9nS3cgS3BUaiJULk1ZTSJkbGhzWWV4TWhPPS5NemhIT3NZZXhNWHhzQSIpXQ1WCT4+Pj4Jek09UXpIPiJCc1l4Pm56MlNcIiQzWWV4TXJzV01cIiJYJHRNc3guPXRUdUlYJHtzOT0udFR1SVgiPjJXZW5uU1wiJC9XZW5uXCJpIjsNVgkJbE1Xbk1dDVYJCT4+Pj56TT1Rekg+IiI7DVYJCWwNVglsDVYNVglBUUgyPXNPSD4vVElfdE1zeC49cE1XTTI9T3ooJHRNc3guPXBNV00yPU96RWVZTSw+JHRNc3guPXBNV00yPU05UyIiLD4kdE1zeC49cD1lej1TVWssPiR0TXN4Lj1wPU9aU2ZVLD4kL1dlbm5TIjRlPWVyT3pZM0haUT0iLD4kcC5PfXJNTT1TPXpRTSw+JHAuT30zSDIuUz16UU0sPiRwLk99L3VTPXpRTSldDVYNVgkJaCpvUXNXOT50VHVJPjJPOU0+QU96PmU+Lk1zeC49PlpzMnlNej48cT5yTU09LTNIMi4tL1k+V3NuPQ1WCQkkdE1zeC49cE1XTTI9T3pFZVlNCVM+N1E9WlE9bj5lPldzbj0+T0E+Lk1zeC49bj49Tz4yLk9uTT5Bek9ZDVYJCSR0TXN4Lj1wTVdNMj1NOQkJUz5wTVdNMj1NOT4uTXN4Lj0NVgkJJHRNc3guPXA9ZXo9CQlTPnRNc3guPT49Tz5uPWV6PT49Lk0+V3NuPT5Bek9ZDVYJCSR0TXN4Lj1wPU9aCQkJUz50TXN4Lj0+PU8+bj1PWj49Lk0+V3NuPT5lPQ1WCQkkL1dlbm4JCQkJUz4vcHA+Mldlbm4+PU8+PE0+UW5NOT5BT3o+PS5NPjJPSD16T1csPnNBPkUgSUksPiJyT3pZVE1SPTNIWlE9Ij5zbj5Rbk05DVYJCSpoDVYJCXNBKCQvV2VublNTIiIpXSQvV2VublMiNGU9ZXJPelkzSFpRPSI7bA1WPj4+PgkkdFR1SV8vTzlNUyJCbk1XTTI9PkhlWU1TJHRNc3guPXBNV00yPU96RWVZTT4yV2VublMkL1dlbm5pIjsNVgkJQU96KCQvT1FIPU16UyR0TXN4Lj1wPWV6PTskL09RSD1NekJTJHRNc3guPXA9T1o7JC9PUUg9TXorKyldDVYJCQkkdFR1SV8vTzlNUyR0VHVJXy9POU1YIkJPWj1zT0g+Y2VXUU1TXCIkL09RSD1NelwiIjsNVgkJCXNBKCR0TXN4Lj1wTVdNMj1NOVNTJC9PUUg9TXopXSR0VHVJXy9POU1TJHRUdUlfL085TVgiPm5NV00yPU05IjtsDVYJCQkkdE1zeC49ck1NPVN6T1FIOSgkL09RSD1Nemgwayw+aylYIj5BPSI7DVYJCQkkdE1zeC49M0gyLlMiJC9PUUg9TXo+c0gyLiI7DVYJCQkkdE1zeC49L3VTek9RSDkoJC9PUUg9TXoqa1hMVSw+YSlYIj4yWSI7DVYJCQkkdE1zeC49N1o9c09IdFR1SVMiIjsNVgkJCXNBKCRwLk99ck1NPSlzQSgkdE1zeC49N1o9c09IdFR1SVNTIiIpXSR0TXN4Lj03Wj1zT0h0VHVJWFMkdE1zeC49ck1NPTtsTVduTV0kdE1zeC49N1o9c09IdFR1SVhTIj5TPiR0TXN4Lj1yTU09IjtsDVYJCQlzQSgkcC5PfTNIMi4pc0EoJHRNc3guPTdaPXNPSHRUdUlTUyIiKV0kdE1zeC49N1o9c09IdFR1SVhTJHRNc3guPTNIMi47bE1Xbk1dJHRNc3guPTdaPXNPSHRUdUlYUyI+Uz4kdE1zeC49M0gyLiI7bA1WCQkJc0EoJHAuT30vdSlzQSgkdE1zeC49N1o9c09IdFR1SVNTIiIpXSR0TXN4Lj03Wj1zT0h0VHVJWFMkdE1zeC49L3U7bE1Xbk1dJHRNc3guPTdaPXNPSHRUdUlYUyI+Uz4kdE1zeC49L3UiO2wNVgkJCSR0VHVJXy9POU1TJHRUdUlfL085TVgiaSR0TXN4Lj03Wj1zT0h0VHVJQmhPWj1zT0hpIjsNVgkJbA1WCQkkdFR1SV8vTzlNUyR0VHVJXy9POU1YIkJobk1XTTI9aSI7DVYJCXpNPVF6SD4kdFR1SV8vTzlNOw1WCWwNVg1WCUFRSDI9c09IPi9USV97TXN4Lj1wTVdNMj1Peigke01zeC49cE1XTTI9T3pFZVlNLD4ke01zeC49cE1XTTI9TTlTIiIsPiR7TXN4Lj1wPWV6PVNMYSw+JHtNc3guPXA9T1pTa0xhLD4kL1dlbm5TIjRlPWVyT3pZM0haUT0iKV0NVg1WCQloKm9Rc1c5PnRUdUk+Mk85TT5BT3o+ZT4uTXN4Lj0+WnMyeU16PjxxPnJNTT0tM0gyLi0vWT5Xc249DVYJCSR7TXN4Lj1wTVdNMj1PekVlWU0JUz43UT1aUT1uPmU+V3NuPT5PQT59TXN4Lj1uPj1PPjIuT25NPkF6T1kNVgkJJHtNc3guPXBNV00yPU05CQlTPnBNV00yPU05Pn1Nc3guPQ1WCQkke01zeC49cD1lej0JCVM+e01zeC49Pj1PPm49ZXo9Pj0uTT5Xc249PkF6T1kNVgkJJHtNc3guPXA9T1oJCQlTPntNc3guPT49Tz5uPU9aPj0uTT5Xc249PmU9DVYJCSQvV2VubgkJCQlTPi9wcD4yV2Vubj49Tz48TT5Rbk05PkFPej49Lk0+Mk9IPXpPVyw+c0E+RSBJSSw+InJPellUTVI9M0haUT0iPnNuPlFuTTkNVg1WCSpoDVYNVgkJc0EoJC9XZW5uU1MiIildJC9XZW5uUyI0ZT1lck96WTNIWlE9IjtsDVYNVj4+Pj4JJHRUdUlfL085TVMiQm5NV00yPT5IZVlNUyR7TXN4Lj1wTVdNMj1PekVlWU0+Mldlbm5TJC9XZW5uaSI7DVYJCUFPeigkL09RSD1NelMke01zeC49cD1lej07JC9PUUg9TXpCUyR7TXN4Lj1wPU9aOyQvT1FIPU16KyspXQ1WCQkJJHRUdUlfL085TVMkdFR1SV8vTzlNWCJCT1o9c09IPmNlV1FNU1wiJC9PUUg9TXpcIiI7DVYJCQlzQSgke01zeC49cE1XTTI9TTlTUyQvT1FIPU16KV0kdFR1SV8vTzlNUyR0VHVJXy9POU1YIj5uTVdNMj1NOSI7bA1WCQkJJHRUdUlfL085TVMkdFR1SV8vTzlNWCJpJC9PUUg9TXo+VzxuPlM+Ilh6T1FIOSgkL09RSD1NemhrWGssPmEpWCI+eXhCaE9aPXNPSGkiOw1WCQlsDVYJCSR0VHVJXy9POU1TJHRUdUlfL085TVgiQmhuTVdNMj1pIjsNVg1WCQl6TT1Rekg+JHRUdUlfL085TTsNVglsDVYNVglBUUgyPXNPSD4vVElfVHNZTXBNV00yPU96KCRUc1lNcE1XTTI9T3pFZVlNLD4kdE9RenBNV00yPU05UyJhMCIsPiR1c0hRPU1wTVdNMj1NOVMiYWEiLD4kcE0yT0g5cE1XTTI9TTlTImFhIiw+JC9XZW5uUyI0ZT1lck96WTNIWlE9IildDVYNVgkJaCpvUXNXOT50VHVJPjJPOU0+QU96PmU+PXNZTT5aczJ5TXo+PHE+dE9Rei11c0hRPU0tcE0yT0g5Pldzbj0NVg1WCQkkVHNZTXBNV00yPU96RWVZTQlTPjdRPVpRPW4+Sj5BT3pZPjJPSD16T1duPmVuPiRUc1lNcE1XTTI9T3pFZVlNX3RPUXosPiRUc1lNcE1XTTI9T3pFZVlNX3VzSFE9TT4mPiRUc1lNcE1XTTI9T3pFZVlNX3BNMk9IOQ1WCQkkdE9RenBNV00yPU05CQlTPnBNV00yPU05Pi5PUXoNVgkJJHVzSFE9TXBNV00yPU05CQlTPnBNV00yPU05PllzSFE9TQ1WCQkkcE0yT0g5cE1XTTI9TTkJCVM+cE1XTTI9TTk+bk0yT0g5DVYJCSQvV2VubgkJCQlTPi9wcD4yV2Vubj49Tz48TT5Rbk05PkFPej49Lk0+Mk9IPXpPVyw+c0E+RSBJSSw+InJPellUTVI9M0haUT0iPnNuPlFuTTkNVg1WCQkqaA1WDVYJCXNBKCQvV2VublNTIiIpXSQvV2VublMiNGU9ZXJPelkzSFpRPSI7bA1WDVYJCSR0VHVJXy9POU1TIkJuTVdNMj0+SGVZTVMiWCRUc1lNcE1XTTI9T3pFZVlNWCJ0T1F6PjJXZW5uUyQvV2VubmkiOw1WCQlBT3ooJC9PUUg9TXpTYTskL09RSD1NekJTa0o7JC9PUUg9TXorKyldDVYJCQkkdFR1SV8vTzlNUyR0VHVJXy9POU1YIkJPWj1zT0g+Y2VXUU1TIlgkL09RSD1NejsNVgkJCXNBKCQvT1FIPU16U1MkdE9RenBNV00yPU05KV0kdFR1SV8vTzlNUyR0VHVJXy9POU1YIj5uTVdNMj1NOSI7bA1WPj4+Pj4+Pj4+Pj4+JHRUdUlfL085TVMkdFR1SV8vTzlNWCJpIlhuPXpfWmU5KCQvT1FIPU16LD5rLD4iYSIsPnBUZ19tRjRfSUtyVClYIkJoT1o9c09IaSI7DVYJCWwNVgkJJHRUdUlfL085TVMkdFR1SV8vTzlNWCJCaG5NV00yPWkiOw1WDVYJCSR0VHVJXy9POU1TJHRUdUlfL085TVgiQm5NV00yPT5IZVlNUyJYJFRzWU1wTVdNMj1PekVlWU1YInVzSFE9TT4yV2VublMkL1dlbm5pIjsNVgkJQU96KCQvT1FIPU16U2E7JC9PUUg9TXpCU0xQOyQvT1FIPU16KyspXQ1WCQkJJHRUdUlfL085TVMkdFR1SV8vTzlNWCJCT1o9c09IPmNlV1FNUyJYJC9PUUg9TXo7DVYJCQlzQSgkL09RSD1NelNTJHVzSFE9TXBNV00yPU05KV0kdFR1SV8vTzlNUyR0VHVJXy9POU1YIj5uTVdNMj1NOSI7bA1WPj4+Pj4+Pj4+Pj4+JHRUdUlfL085TVMkdFR1SV8vTzlNWCJpIlhuPXpfWmU5KCQvT1FIPU16LD5rLD4iYSIsPnBUZ19tRjRfSUtyVClYIkJoT1o9c09IaSI7DVYJCWwNVgkJJHRUdUlfL085TVMkdFR1SV8vTzlNWCJCaG5NV00yPWkiOw1WDVYJCSR0VHVJXy9POU1TJHRUdUlfL085TVgiQm5NV00yPT5IZVlNUyJYJFRzWU1wTVdNMj1PekVlWU1YInBNMk9IOT4yV2VublMkL1dlbm5pIjsNVgkJQU96KCQvT1FIPU16U2E7JC9PUUg9TXpCU0xQOyQvT1FIPU16KyspXQ1WCQkJJHRUdUlfL085TVMkdFR1SV8vTzlNWCJCT1o9c09IPmNlV1FNUyJYJC9PUUg9TXo7DVYJCQlzQSgkL09RSD1NelNTJHBNMk9IOXBNV00yPU05KV0kdFR1SV8vTzlNUyR0VHVJXy9POU1YIj5uTVdNMj1NOSI7bA1WPj4+Pj4+Pj4+Pj4+JHRUdUlfL085TVMkdFR1SV8vTzlNWCJpIlhuPXpfWmU5KCQvT1FIPU16LD5rLD4iYSIsPnBUZ19tRjRfSUtyVClYIkJoT1o9c09IaSI7DVYJCWwNVgkJJHRUdUlfL085TVMkdFR1SV8vTzlNWCJCaG5NV00yPWkiOw1WDVYJCXpNPVF6SD4kdFR1SV8vTzlNOw1WCWwNVg1WCUFRSDI9c09IPi9USV80ZT1NcE1XTTI9T3ooJDRlPU1wTVdNMj1PekVlWU0sPiRwTVdNMj1NOTRlPU1TIiIsPiRiTWV6dGVXQXBaZUhTTGEsPiQvV2VublMiIiw+JGJNZXpuUz16UU0sPiR1T0g9Lm5TPXpRTSw+JDRlcW5TPXpRTSldDVYNVgkJaCpvUXNXOT50VHVJPjJPOU0+QU96PmU+OWU9TT5aczJ5TXo+PHE+Yk1lei11T0g9Li00ZXE+V3NuPQ1WDVYJCSQ0ZT1NcE1XTTI9T3pFZVlNCVM+N1E9WlE9bj5KPkFPelk+Mk9IPXpPV24+ZW4+JDRlPU1wTVdNMj1PekVlWU1fYk1leiw+JDRlPU1wTVdNMj1PekVlWU1fdU9IPS4+Jj4kNGU9TXBNV00yPU96RWVZTV80ZXENVgkJJHBNV00yPU05NGU9TQkJUz5wTVdNMj1NOT45ZT1NPihiYmJiLXV1LTQ0KQ1WCQkkYk1lenRlV0FwWmVICQlTPnRlV0E+Y2VXUU0+T0E+PS5NPnFNZXpuPj1PPjxNPnplSHhNOT5Bek9ZPmJNZXpwTVdNMj1NOQ1WDVYJCSpoDVYJCQ1WCQlzQSgkcE1XTTI9TTk0ZT1NU1MiInx8JHBNV00yPU05NGU9TVNTImFhYWEtYWEtYWEiKSRwTVdNMj1NOTRlPU1TOWU9TSgiYi1ZLTkiKTsNVg1WCT4+Pj5wTT1yT3pZNmV6c2U8V00oJDZlenNlPFdNRWVZTVMkNGU9TXBNV00yPU96RWVZTSw+JC9RenpNSD02ZVdRTVMkcE1XTTI9TTk0ZT1NLD4kcE09S3p6T3pyV2V4Uz16UU0sPiQgbk1nTXZRTW49NmV6c2U8V01TPXpRTSk7DVZoKg1WCT4+Pj5wTT1yT3pZNmV6c2U8V00oJDZlenNlPFdNRWVZTVMkNGU9TXBNV00yPU96RWVZTVgiYk1leiIsPiQvUXp6TUg9NmVXUU1TOWU9TSgiYiIsPm49ej1PPXNZTSgkcE1XTTI9TTk0ZT1NKSksPiRwTT1LenpPenJXZXhTPXpRTSw+JCBuTWdNdlFNbj02ZXpzZTxXTVM9elFNKTsNVgk+Pj4+cE09ck96WTZlenNlPFdNKCQ2ZXpzZTxXTUVlWU1TJDRlPU1wTVdNMj1PekVlWU1YInVPSD0uIiw+JC9RenpNSD02ZVdRTVM5ZT1NKCJZIiw+bj16PU89c1lNKCRwTVdNMj1NOTRlPU0pKSw+JHBNPUt6ek96cldleFM9elFNLD4kIG5NZ012UU1uPTZlenNlPFdNUz16UU0pOw1WCT4+Pj5wTT1yT3pZNmV6c2U8V00oJDZlenNlPFdNRWVZTVMkNGU9TXBNV00yPU96RWVZTVgiNGVxIiw+JC9RenpNSD02ZVdRTVM5ZT1NKCI5Iiw+bj16PU89c1lNKCRwTVdNMj1NOTRlPU0pKSw+JHBNPUt6ek96cldleFM9elFNLD4kIG5NZ012UU1uPTZlenNlPFdNUz16UU0pOw1WKmgNVgk+Pj4+cE09ck96WTZlenNlPFdNKCQ2ZXpzZTxXTUVlWU1TJDRlPU1wTVdNMj1PekVlWU1YImJNZXoiLD4kL1F6ek1IPTZlV1FNU25RPG49eigkcE1XTTI9TTk0ZT1NLD5hLD5VKSw+JHBNPUt6ek96cldleFM9elFNLD4kIG5NZ012UU1uPTZlenNlPFdNUz16UU0pOw1WCT4+Pj5wTT1yT3pZNmV6c2U8V00oJDZlenNlPFdNRWVZTVMkNGU9TXBNV00yPU96RWVZTVgidU9IPS4iLD4kL1F6ek1IPTZlV1FNU25RPG49eigkcE1XTTI9TTk0ZT1NLD5MLD5rKSw+JHBNPUt6ek96cldleFM9elFNLD4kIG5NZ012UU1uPTZlenNlPFdNUz16UU0pOw1WCT4+Pj5wTT1yT3pZNmV6c2U8V00oJDZlenNlPFdNRWVZTVMkNGU9TXBNV00yPU96RWVZTVgiNGVxIiw+JC9RenpNSD02ZVdRTVNuUTxuPXooJHBNV00yPU05NGU9TSw+Ziw+ayksPiRwTT1LenpPenJXZXhTPXpRTSw+JCBuTWdNdlFNbj02ZXpzZTxXTVM9elFNKTsNVg1WPj4+Pj4+Pj4kYk1lenBNV00yPU05Uz4kX203cFRqJDRlPU1wTVdNMj1PekVlWU1YImJNZXoiZDsNVj4+Pj4+Pj4+JHVPSD0ucE1XTTI9TTlTJF9tN3BUaiQ0ZT1NcE1XTTI9T3pFZVlNWCJ1T0g9LiJkOw1WPj4+Pj4+Pj4kNGVxcE1XTTI9TTlTPj4kX203cFRqJDRlPU1wTVdNMj1PekVlWU1YIjRlcSJkOw1WDVY+Pj4+Pj4+PiRuPXo0ZT1NcE1XTTI9T3pTIiI7DVYNVgkJc0EoJGJNZXpuKV0NVgk+Pj4+Pj4+PiRuPXo0ZT1NcE1XTTI9T3pTJG49ejRlPU1wTVdNMj1PelgiQm5NV00yPT5IZVlNU1wiIlgkNGU9TXBNV00yPU96RWVZTVgiYk1lelwiPjJXZW5uU1wiJC9XZW5uXCJpIjsNVgkJCUFPeigkL09RSD1NelMkYk1lenBNV00yPU05LSRiTWV6dGVXQXBaZUg7JC9PUUg9TXpCUyRiTWV6cE1XTTI9TTkrJGJNZXp0ZVdBcFplSDskL09RSD1NeisrKV0NVgkJCQkkbj16NGU9TXBNV00yPU96UyRuPXo0ZT1NcE1XTTI9T3pYIkJPWj1zT0g+Y2VXUU1TXCIiWCQvT1FIPU16WCJcIiI7DVYJCQkJc0EoJC9PUUg9TXpTUyRiTWV6cE1XTTI9TTkpXSRuPXo0ZT1NcE1XTTI9T3pTJG49ejRlPU1wTVdNMj1PelgiPm5NV00yPU05IjtsDVYJPj4+Pj4+Pj4+Pj4+JG49ejRlPU1wTVdNMj1PelMkbj16NGU9TXBNV00yPU96WCJpIlgkL09RSD1NelgiQmhPWj1zT0hpIjsNVgkJCWwNVgkJCSRuPXo0ZT1NcE1XTTI9T3pTJG49ejRlPU1wTVdNMj1PelgiQmhuTVdNMj1pIjsNVgkJbE1Xbk1dJG49ejRlPU1wTVdNMj1PelhTIkJzSFpRPT49cVpNU1wiLnM5OU1IXCI+SGVZTVNcIiQ0ZT1NcE1XTTI9T3pFZVlNXCI+Y2VXUU1TXCIkYk1lenBNV00yPU05XCJpIjtsDVYNVgkJc0EoJHVPSD0ubildDVYJPj4+Pj4+Pj4kbj16NGU9TXBNV00yPU96UyRuPXo0ZT1NcE1XTTI9T3pYIkJuTVdNMj0+SGVZTVNcIiJYJDRlPU1wTVdNMj1PekVlWU1YInVPSD0uXCI+Mldlbm5TXCI0ZT1lck96WTNIWlE9XCJpIjsNVgkJCSRuPXo0ZT1NcE1XTTI9T3pTJG49ejRlPU1wTVdNMj1PelgiQk9aPXNPSD5jZVdRTVNcImEwXCIiOw1WCQkJc0EoJHVPSD0ucE1XTTI9TTlTUzApXSRuPXo0ZT1NcE1XTTI9T3pTJG49ejRlPU1wTVdNMj1PelgiPm5NV00yPU05IjtsDVYJPj4+Pj4+Pj4kbj16NGU9TXBNV00yPU96UyRuPXo0ZT1NcE1XTTI9T3pYImk4ZUhRZXpxQmhPWj1zT0hpIjsNVgkJCSRuPXo0ZT1NcE1XTTI9T3pTJG49ejRlPU1wTVdNMj1PelgiQk9aPXNPSD5jZVdRTVNcImFrXCIiOw1WCQkJc0EoJHVPSD0ucE1XTTI9TTlTU2spXSRuPXo0ZT1NcE1XTTI9T3pTJG49ejRlPU1wTVdNMj1PelgiPm5NV00yPU05IjtsDVYJPj4+Pj4+Pj4kbj16NGU9TXBNV00yPU96UyRuPXo0ZT1NcE1XTTI9T3pYImlyTTx6UWV6cUJoT1o9c09IaSI7DVYJCQkkbj16NGU9TXBNV00yPU96UyRuPXo0ZT1NcE1XTTI9T3pYIkJPWj1zT0g+Y2VXUU1TXCJhSlwiIjsNVgkJCXNBKCR1T0g9LnBNV00yPU05U1NKKV0kbj16NGU9TXBNV00yPU96UyRuPXo0ZT1NcE1XTTI9T3pYIj5uTVdNMj1NOSI7bA1WCT4+Pj4+Pj4+JG49ejRlPU1wTVdNMj1PelMkbj16NGU9TXBNV00yPU96WCJpdWV6Mi5CaE9aPXNPSGkiOw1WCQkJJG49ejRlPU1wTVdNMj1PelMkbj16NGU9TXBNV00yPU96WCJCT1o9c09IPmNlV1FNU1wiYVVcIiI7DVYJCQlzQSgkdU9IPS5wTVdNMj1NOVNTVSldJG49ejRlPU1wTVdNMj1PelMkbj16NGU9TXBNV00yPU96WCI+bk1XTTI9TTkiO2wNVgk+Pj4+Pj4+PiRuPXo0ZT1NcE1XTTI9T3pTJG49ejRlPU1wTVdNMj1PelgiaUZaenNXQmhPWj1zT0hpIjsNVgkJCSRuPXo0ZT1NcE1XTTI9T3pTJG49ejRlPU1wTVdNMj1PelgiQk9aPXNPSD5jZVdRTVNcImFMXCIiOw1WCQkJc0EoJHVPSD0ucE1XTTI9TTlTU0wpXSRuPXo0ZT1NcE1XTTI9T3pTJG49ejRlPU1wTVdNMj1PelgiPm5NV00yPU05IjtsDVYJPj4+Pj4+Pj4kbj16NGU9TXBNV00yPU96UyRuPXo0ZT1NcE1XTTI9T3pYIml1ZXFCaE9aPXNPSGkiOw1WCQkJJG49ejRlPU1wTVdNMj1PelMkbj16NGU9TXBNV00yPU96WCJCT1o9c09IPmNlV1FNU1wiYVtcIiI7DVYJCQlzQSgkdU9IPS5wTVdNMj1NOVNTWyldJG49ejRlPU1wTVdNMj1PelMkbj16NGU9TXBNV00yPU96WCI+bk1XTTI9TTkiO2wNVgk+Pj4+Pj4+PiRuPXo0ZT1NcE1XTTI9T3pTJG49ejRlPU1wTVdNMj1PelgiaThRSE1CaE9aPXNPSGkiOw1WCQkJJG49ejRlPU1wTVdNMj1PelMkbj16NGU9TXBNV00yPU96WCJCT1o9c09IPmNlV1FNU1wiYTFcIiI7DVYJCQlzQSgkdU9IPS5wTVdNMj1NOVNTMSldJG49ejRlPU1wTVdNMj1PelMkbj16NGU9TXBNV00yPU96WCI+bk1XTTI9TTkiO2wNVgk+Pj4+Pj4+PiRuPXo0ZT1NcE1XTTI9T3pTJG49ejRlPU1wTVdNMj1PelgiaThRV3FCaE9aPXNPSGkiOw1WCQkJJG49ejRlPU1wTVdNMj1PelMkbj16NGU9TXBNV00yPU96WCJCT1o9c09IPmNlV1FNU1wiYWZcIiI7DVYJCQlzQSgkdU9IPS5wTVdNMj1NOVNTZildJG49ejRlPU1wTVdNMj1PelMkbj16NGU9TXBNV00yPU96WCI+bk1XTTI9TTkiO2wNVgk+Pj4+Pj4+PiRuPXo0ZT1NcE1XTTI9T3pTJG49ejRlPU1wTVdNMj1PelgiaUZReFFuPUJoT1o9c09IaSI7DVYJCQkkbj16NGU9TXBNV00yPU96UyRuPXo0ZT1NcE1XTTI9T3pYIkJPWj1zT0g+Y2VXUU1TXCJhUFwiIjsNVgkJCXNBKCR1T0g9LnBNV00yPU05U1NQKV0kbj16NGU9TXBNV00yPU96UyRuPXo0ZT1NcE1XTTI9T3pYIj5uTVdNMj1NOSI7bA1WCT4+Pj4+Pj4+JG49ejRlPU1wTVdNMj1PelMkbj16NGU9TXBNV00yPU96WCJpcE1aPU1ZPE16QmhPWj1zT0hpIjsNVgkJCSRuPXo0ZT1NcE1XTTI9T3pTJG49ejRlPU1wTVdNMj1PelgiQk9aPXNPSD5jZVdRTVNcIjBhXCIiOw1WCQkJc0EoJHVPSD0ucE1XTTI9TTlTUzBhKV0kbj16NGU9TXBNV00yPU96UyRuPXo0ZT1NcE1XTTI9T3pYIj5uTVdNMj1NOSI7bA1WCT4+Pj4+Pj4+JG49ejRlPU1wTVdNMj1PelMkbj16NGU9TXBNV00yPU96WCJpNzI9TzxNekJoT1o9c09IaSI7DVYJCQkkbj16NGU9TXBNV00yPU96UyRuPXo0ZT1NcE1XTTI9T3pYIkJPWj1zT0g+Y2VXUU1TXCIwMFwiIjsNVgkJCXNBKCR1T0g9LnBNV00yPU05U1MwMCldJG49ejRlPU1wTVdNMj1PelMkbj16NGU9TXBNV00yPU96WCI+bk1XTTI9TTkiO2wNVgk+Pj4+Pj4+PiRuPXo0ZT1NcE1XTTI9T3pTJG49ejRlPU1wTVdNMj1PelgiaUVPY01ZPE16QmhPWj1zT0hpIjsNVgkJCSRuPXo0ZT1NcE1XTTI9T3pTJG49ejRlPU1wTVdNMj1PelgiQk9aPXNPSD5jZVdRTVNcIjBrXCIiOw1WCQkJc0EoJHVPSD0ucE1XTTI9TTlTUzBrKV0kbj16NGU9TXBNV00yPU96UyRuPXo0ZT1NcE1XTTI9T3pYIj5uTVdNMj1NOSI7bA1WCT4+Pj4+Pj4+JG49ejRlPU1wTVdNMj1PelMkbj16NGU9TXBNV00yPU96WCJpNE0yTVk8TXpCaE9aPXNPSGkiOw1WCQkJJG49ejRlPU1wTVdNMj1PelMkbj16NGU9TXBNV00yPU96WCJCaG5NV00yPWkiOw1WCQlsTVduTV0kbj16NGU9TXBNV00yPU96WFMiQnNIWlE9Pj1xWk1TXCIuczk5TUhcIj5IZVlNU1wiJDRlPU1wTVdNMj1PekVlWU1cIj5jZVdRTVNcIiR1T0g9LnBNV00yPU05XCJpIjtsDVYNVgkJc0EoJDRlcW4pXQ1WCT4+Pj4+Pj4+JG49ejRlPU1wTVdNMj1PelMkbj16NGU9TXBNV00yPU96WCJCbk1XTTI9PkhlWU1TXCIiWCQ0ZT1NcE1XTTI9T3pFZVlNWCI0ZXFcIj4yV2VublNcIjRlPWVyT3pZM0haUT1cImkiOw1WCQkJQU96KCQvT1FIPU16UzA7JC9PUUg9TXpCU0owOyQvT1FIPU16KyspXQ1WCQkJCSRuPXo0ZT1NcE1XTTI9T3pTJG49ejRlPU1wTVdNMj1PelgiQk9aPXNPSD5jZVdRTVNcIiJYJC9PUUg9TXpYIlwiIjsNVgkJCQlzQSgkL09RSD1NelNTJDRlcXBNV00yPU05KV0kbj16NGU9TXBNV00yPU96UyRuPXo0ZT1NcE1XTTI9T3pYIj5uTVdNMj1NOSI7bA1WCT4+Pj4+Pj4+Pj4+PiRuPXo0ZT1NcE1XTTI9T3pTJG49ejRlPU1wTVdNMj1PelgiaSJYJC9PUUg9TXpYIkJoT1o9c09IaSI7DVYJCQlsDVYJCQkkbj16NGU9TXBNV00yPU96UyRuPXo0ZT1NcE1XTTI9T3pYIkJobk1XTTI9aSI7DVYJCWxNV25NXSRuPXo0ZT1NcE1XTTI9T3pYUyJCc0haUT0+PXFaTVNcIi5zOTlNSFwiPkhlWU1TXCIkNGU9TXBNV00yPU96RWVZTVwiPmNlV1FNU1wiJDRlcXBNV00yPU05XCJpIjtsDVYNVgkJek09UXpIPiRuPXo0ZT1NcE1XTTI9T3o7DVY+Pj4+bA1WDVYJaGg0ZT1NPnplSHhNPm5NV00yPXNPSD4yT0g9ek9XDVY+Pj4+QVFIMj1zT0g+L1RJXzRlPU1nZUh4TXBNV00yPU96KA1WPj4+Pj4+Pj4kNGU9TWdlSHhNcE1XTTI9T3pFZVlNLA1WPj4+Pj4+Pj4kcnpPWWJNZXpTYSwNVj4+Pj4+Pj4+JHJ6T1l1T0g9LlNhLA1WPj4+Pj4+Pj4kcnpPWTRlcVNhLA1WPj4+Pj4+Pj4kcnpPWS9lWj1zT0hTInJ6T1kiLA1WPj4+Pj4+Pj4kVE9iTWV6U2EsDVY+Pj4+Pj4+PiRUT3VPSD0uU2EsDVY+Pj4+Pj4+PiRUTzRlcVNhLA1WPj4+Pj4+Pj4kVE8vZVo9c09IUyI9TyIsDVY+Pj4+Pj4+PiRiTWV6dGVXQXBaZUhTTGEsDVY+Pj4+Pj4+PiQvV2VublMiIiwNVj4+Pj4+Pj4+JHJ6T1k0ZT1NUyIiLA1WPj4+Pj4+Pj4kVE80ZT1NUyIiDVY+Pj4+KV0NVg1WDVY+Pj4+Pj4+PiR0VHVJXy9POU1TIg1WPj4+Pj4+Pj4+Pj4+JHJ6T1kvZVo9c09IPiJYL1RJXzRlPU1wTVdNMj1PeigkNGU9TWdlSHhNcE1XTTI9T3pFZVlNWCJyek9ZIiw+JHJ6T1liTWV6LD4kcnpPWXVPSD0uLD4kcnpPWTRlcSw+JGJNZXp0ZVdBcFplSCw+JC9XZW5uLD4kcnpPWTRlPU0pWCINVj4+Pj4+Pj4+Pj4+PiRUTy9lWj1zT0g+IlgvVElfNGU9TXBNV00yPU96KCQ0ZT1NZ2VIeE1wTVdNMj1PekVlWU1YIlRPIiw+JFRPYk1leiw+JFRPdU9IPS4sPiRUTzRlcSw+JGJNZXp0ZVdBcFplSCw+JC9XZW5uLD4kVE80ZT1NKVgiDVY+Pj4+Pj4+PiI7DVYNVj4+Pj4+Pj4+ek09UXpIPiR0VHVJXy9POU07DVY+Pj4+bA1WDVYJaGhGPkFzV00+UVpXT2U5PjJPSD16T1c+fXM9Lj40S0lLVEs+S0QzcFQzRUM+V3NIeT4mPjlPfUhXT2U5PldzSHkNVj4+Pj5BUUgyPXNPSD4vVElfcnNXTSBaV09lOSgkL09IPXpPV0VlWU0sPiQvUXp6TUg9cnNXTVMiIiw+JEZXV099NE1XTT1NUz16UU0sPiQvV2VublMick96WVRNUj0zSFpRPSIsPiRwczVNU0xhKV0NVj4+Pj4JeFdPPGVXPiRGWlpXczJlPXNPSDsNVg1WCT4+Pj5wTT1yT3pZNmV6c2U8V00oJC9PSD16T1dFZVlNLD4kL1F6ek1IPXJzV00sPiRwTT1LenpPenJXZXhTPXpRTSw+JCBuTWdNdlFNbj02ZXpzZTxXTVM9elFNKTsNVg1WPj4+PglzQSghJC9XZW5uKSQvV2VublMick96WVRNUj0zSFpRPSI7DVYNVj4+Pj4JJDRPMlFZTUg9cnNXTVMkRlpaV3MyZT1zT0hqIiBaV09lOW1lPS4iZFgkL1F6ek1IPXJzV007DVY+Pj4+CXNBKCFBc1dNX01Sc249bigkRlpaV3MyZT1zT0hqIiBaV09lOW1lPS4iZFgkL1F6ek1IPXJzV00pPk96PiEkL1F6ek1IPXJzV00pXSQ0TzJRWU1IPXJzV01TIlhoPS5NWU1oIlgkX2dLdyBLcFRqIlQuTVlNImRYImhzWWV4TWhIT3NZZXhNWHhzQSI7bA1WDVY+Pj4+CSR0VHVJXy9POU1TIkJzSFpRPT49cVpNU1wiQXNXTVwiPkhlWU1TXCIiWCQvT0g9ek9XRWVZTVgiRU19XCI+bnM1TVNcIiRwczVNXCI+Mldlbm5TXCIkL1dlbm5cImlCPHppIjsNVj4+Pj4Jc0EoQXNXTV9NUnNuPW4oJEZaWldzMmU9c09IaiIgWldPZTltZT0uImRYJC9RenpNSD1yc1dNKSYmJC9RenpNSD1yc1dNKV0kdFR1SV8vTzlNWFMiQmU+LnpNQVNcIiJYJEZaWldzMmU9c09IaiIgWldPZTltZT0uImRYJC9RenpNSD1yc1dNWCJcIj4yV2VublNcInJPellUTVI9SXNIeVwiPj1zPVdNU1wiPjRPfUhXT2U5PlwiaUJzWXg+bnoyU1wiWGg9Lk1ZTWgiWCRfZ0t3IEtwVGoiVC5NWU0iZFgiaHNZZXhNaDllPWV4enM5aDllPWV4enM5X2UyPXNPSF85T31IV09lOVh4c0FcIj48T3o5TXpTXCJhXCJpJkg8blo7NE99SFdPZTlCaGVpJkg8blo7IjtsDVY+Pj4+CXNBKEFzV01fTVJzbj1uKCRGWlpXczJlPXNPSGoiIFpXT2U5bWU9LiJkWCQvUXp6TUg9cnNXTSk+ZUg5PiQvUXp6TUg9cnNXTSldJHRUdUlfL085TVhTL1RJXzNIWlE9Ly5NMnkoJC9PSD16T1dFZVlNWCI0TVdNPU0iKVgiPjRNV009TSI7bA1WPj4+PgkkdFR1SV8vTzlNWFMiQnNIWlE9Pj1xWk1TXCIuczk5TUhcIj5IZVlNU1wiJC9PSD16T1dFZVlNXCI+Y2VXUU1TXCIkL1F6ek1IPXJzV01cImkiOw1WDVYJCXpNPVF6SD4kdFR1SV8vTzlNOw1WCWwNVg1WCWhoRkg+c1lleE0+UVpXT2U5PjJPSD16T1c+fXM9Lj40S0lLVEs+S0QzcFQzRUM+V3NIeT4mPlp6TWNzTX0NVj4+Pj5BUUgyPXNPSD4vVElfM1lleE0gWldPZTkoJC9PSD16T1dFZVlNLD4kL1F6ek1IPTNZZXhNUyIiLD4kRldXT300TVdNPU1TPXpRTSw+JC9XZW5uUyJyT3pZVE1SPTNIWlE9Iiw+JFQuUVk8SGVzV3RNc3guPVMwYWEsPiRULlFZPEhlc1d7czk9LlNhLD4kbXpNY3NNfVM9elFNLD4kcHM1TVNMYSldDVY+Pj4+CXhXTzxlVz4kRlpaV3MyZT1zT0g7DVY+Pj4+CXNBKCEkL1dlbm4pJC9XZW5uUyJyT3pZVE1SPTNIWlE9IjsNVj4+Pj4JJDNZZXhNcnNXTVMkRlpaV3MyZT1zT0hqIiBaV09lOW1lPS4iZFgkL1F6ek1IPTNZZXhNOw1WPj4+PglzQSghJC9RenpNSD0zWWV4TT5Pej4hQXNXTV9NUnNuPW4oJDNZZXhNcnNXTSkpXSQzWWV4TXJzV01TIlhoPS5NWU1oIlgkX2dLdyBLcFRqIlQuTVlNImRYImhzWWV4TWhPPS5NemhIT3NZZXhNWHhzQSI7bA1WPj4+PgkkdFR1SV8vTzlNUyJCc0haUT0+PXFaTVNcIkFzV01cIj5IZVlNU1wiXSQvT0g9ek9XRWVZTWxcIj5lMjJNWj1TXCJzWWV4TWhaSHgsPnNZZXhNaHhzQSw+c1lleE1oClpNeCw+c1lleE1oPFlaXCI+bnM1TVNcIiRwczVNXCI+Mldlbm5TXCIkL1dlbm5cImlCPHppIjsNVj4+Pj4Jc0EoJG16TWNzTX0pXQ1WCT4+Pj4JJHRUdUlfL085TVhTIkJzWXg+bnoyU1wiJDNZZXhNcnNXTVwiPjxPejlNelNcIiI7DVY+Pj4+Pj4+PglzQSghJC9RenpNSD0zWWV4TT5Pej4hQXNXTV9NUnNuPW4oJDNZZXhNcnNXTSkpXSR0VHVJXy9POU1YUyJhIjtsTVduTV0kdFR1SV8vTzlNWFMiMCI7bA1WCT4+Pj4Jc0EoJFQuUVk8SGVzV3tzOT0uKV0kdFR1SV8vTzlNWFMiPn1zOT0uUyRULlFZPEhlc1d7czk9LiI7bE1Xbk1dJHRUdUlfL085TVhTIlwiPi5Nc3guPVNcIiRULlFZPEhlc1d0TXN4Lj0iO2wNVgk+Pj4+CSR0VHVJXy9POU1YUyJcImlCPHppIjsNVgkJbA1WPj4+PglzQSgkL1F6ek1IPTNZZXhNPmVIOT5Bc1dNX01Sc249bigkM1lleE1yc1dNKSldJHRUdUlfL085TVhTL1RJXzNIWlE9Ly5NMnkoJC9PSD16T1dFZVlNWCI0TVdNPU0iKVgiPjRNV009TT4yUXp6TUg9IjtsDVY+Pj4+CSR0VHVJXy9POU1YUyJCc0haUT0+PXFaTVNcIi5zOTlNSFwiPkhlWU1TXCIkL09IPXpPV0VlWU1cIj5jZVdRTVNcIiQvUXp6TUg9M1lleE1cImkiOw1WCQl6TT1Rekg+JHRUdUlfL085TTsNVglsDVYNVgloaEY+Mk9IPXpPVz49Tz5ZZXlNPmU+MlFuPU9ZPn1zSDlPfWhaZUhNV2g8T1I+fXM9Lj4vZVo9c09ILD5zMk9ILD5NPTJYDVYJQVFIMj1zT0g+L1RJX3tzSDlPfSgkVHM9V01TIiIsPiQvT0g9TUg9UyIiLD4ke3M5PS5TIiIsPiQzMk9IUyJucW49TVkiLD4kVE1ZWldlPU1TIiIpXQ1WCQlzQSgkMzJPSCldDVYJCQkkdFR1SV8zMk9IUyINVgkJCQkJCQkJQj05Pn1zOT0uU1wiMFwiPmNlV3N4SFNcIj1PWlwiaUJzWXg+bnoyU1wiWGg9Lk1ZTWgiWCRfZ0t3IEtwVGoiVC5NWU0iZFgiaHNZZXhNaH1zSDlPfWgiWCRUTVlaV2U9TVgifXNIOU99X3MyT0hfIlgkMzJPSFgiWHhzQVwiaUJoPTlpDVYJCQkJCQkJCUI9OT59czk9LlNcIjBcImkmSDxuWjsmSDxuWjtCaD05aQ1WCQkJIjsNVgkJbE1Xbk1dJHRUdUlfMzJPSFMiIjtsDVYJCSR0VHVJUyINVgkJPj4+PkI5c2M+ZVdzeEhTXCIyTUg9TXpcImkNVgkJCQlCPWU8V00+Mldlbm5TXCIiWCRUTVlaV2U9TVgie3NIOU99VGU8V01cIj48T3o5TXpTXCJhXCI+Mk1XV1plOTlzSHhTXCJhXCI+Mk1XV25aZTJzSHhTXCJhXCI+aQ1WCQkJCQlCPXo+Mldlbm5TXCIiWCRUTVlaV2U9TVgie3NIOU99Z099VE9aXCJpDVYJCQkJCQlCPTk+Mldlbm5TXCIiWCRUTVlaV2U9TVgie3NIOU99Z099VE9aL01XV0lNQT1cImlCaD05aQ1WCQkJCQkJQj05PjJXZW5uU1wiIlgkVE1ZWldlPU1YIntzSDlPfWdPfVRPWi9NV1cvTUg9TXpcImkNVgkJCQkJCQlCPWU8V00+PE96OU16U1wiYVwiPjJNV1daZTk5c0h4U1wiYVwiPjJNV1duWmUyc0h4U1wiYVwiPn1zOT0uU1wiMGFhJVwiaQ1WCQkJCQkJCQlCPXppDVYJCQkJCQkJCQlCPTk+fXM5PS5TXCIwXCJpQnNZeD5uejJTXCJYaD0uTVlNaCJYJF9nS3cgS3BUaiJULk1ZTSJkWCJoc1lleE1ofXNIOU99aCJYJFRNWVpXZT1NWCJ9c0g5T31fczJPSFh4c0FcImlCaD05aQ1WCQkJCQkJCQkJQj05Pn1zOT0uU1wiMFwiaSZIPG5aO0JoPTlpDVYJCQkJCQkJCQlCPTk+Mldlbm5TXCIiWCRUTVlaV2U9TVgie3NIOU99VHM9V01cImkkVHM9V01CaD05aQ1WCQkJCQkJCQlCaD16aQ1WCQkJCQkJCUJoPWU8V01pDVYJCQkJCQlCaD05aQ1WCQkJCQkJQj05PjJXZW5uU1wiIlgkVE1ZWldlPU1YIntzSDlPfWdPfVRPWi9NV1dnc3guPVwiaUJoPTlpDVYJCQkJCUJoPXppDVYJCQkJCUI9ej4yV2VublNcIiJYJFRNWVpXZT1NWCJ7c0g5T31nT311czk5V01cImkNVgkJCQkJCUI9OT4yV2VublNcIiJYJFRNWVpXZT1NWCJ7c0g5T31nT311czk5V00vTVdXSU1BPVwiaUJoPTlpDVYJCQkJCQlCPTk+Mldlbm5TXCIiWCRUTVlaV2U9TVgie3NIOU99Z099dXM5OVdNL01XVy9NSD1NelwiPn1zOT0uU1wiJHtzOT0uXCJpDVYJCQkJCQkJQj1lPFdNPjxPejlNelNcImFcIj4yTVdXWmU5OXNIeFNcImFcIj4yTVdXblplMnNIeFNcImFcIj59czk9LlNcIjBhYSVcImkNVgkJCQkJCQkJQj16aQ1WCQkJCQkJCQkJIlgkdFR1SV8zMk9IWCINVgkJCQkJCQkJCUI9OT4yV2VublNcIiJYJFRNWVpXZT1NWCJ7c0g5T30vT0g9TUg9XCJpJC9PSD1NSD1CaD05aQ1WCQkJCQkJCQlCaD16aQ1WCQkJCQkJCUJoPWU8V01pDVYJCQkJCQlCaD05aQ1WCQkJCQkJQj05PjJXZW5uU1wiIlgkVE1ZWldlPU1YIntzSDlPfWdPfXVzOTlXTS9NV1dnc3guPVwiaUJoPTlpDVYJCQkJCUJoPXppDVYJCQkJCUI9ej4yV2VublNcIiJYJFRNWVpXZT1NWCJ7c0g5T31nT31vTz09T1lcImkNVgkJCQkJCUI9OT4yV2VublNcIiJYJFRNWVpXZT1NWCJ7c0g5T31nT31vTz09T1kvTVdXSU1BPVwiaUJoPTlpDVYJCQkJCQlCPTk+Mldlbm5TXCIiWCRUTVlaV2U9TVgie3NIOU99Z099b089PU9ZL01XVy9NSD1NelwiaUJoPTlpDVYJCQkJCQlCPTk+Mldlbm5TXCIiWCRUTVlaV2U9TVgie3NIOU99Z099b089PU9ZL01XV2dzeC49XCJpQmg9OWkNVgkJCQkJQmg9emkNVgkJCQlCaD1lPFdNaQ1WCQkJQmg5c2NpDVYJCSI7DVYJCXpNPVF6SD4kdFR1STsNVglsDVYNVg1WDVYJDVYJQVFIMj1zT0g+L1RJX1QuUVk8SGVzVygkVC5RWTxIZXNXLD4ke3M5PS5TMFVmLD4kdE1zeC49UzBVZiw+JFQuUVk8SGVzV3A9cVdNUyJuPWVIOWV6OSIsPiRvZTJ5eHpPUUg5L09XT3pTInsucz1NIildDVYJPj4+PiR0VHVJUyINVgkJCUI9ZTxXTT4yTVdXblplMnNIeFNcImFcImkNVgkJCQlCPXppDVYJCQkJPj4+PkI9OT4yT1duWmVIU1wiUFBcIj59czk9LlNcIjBcImlCc1l4Pm56MlNcIlhoPS5NWU1oIlgkX2dLdyBLcFRqIlQuTVlNImRYImhzWWV4TWg9LlFZPEhlc1dfIlgkVC5RWTxIZXNXcD1xV01YIl88T3o5TXpfPU9aWHhzQVwiaUJoPTlpDVYJCQkJQmg9emkNVgkJCQlCPXppDVYJCQkJPj4+PkI9OT59czk9LlNcIjBcImlCc1l4Pm56MlNcIlhoPS5NWU1oIlgkX2dLdyBLcFRqIlQuTVlNImRYImhzWWV4TWg9LlFZPEhlc1dfIlgkVC5RWTxIZXNXcD1xV01YIl88T3o5TXpfV01BPVh4c0FcImlCaD05aQ1WCQkJCT4+Pj5CPTk+bj1xV01TXCI8ZTJ5eHpPUUg5LTJPV096Oj4kb2UyeXh6T1FIOS9PV096O1wiaUJlPi56TUFTXCJYaHNZZXhNaCJYJFQuUVk8SGVzV1giWHhzQVwiPj1lenhNPVNcIl88V2VIeVwiaUJzWXg+bnoyU1wiWGhzWWV4TWgiWCRULlFZPEhlc1dYIl89LlFZPEhlc1dYeHNBXCI+fXM5PS5TXCIke3M5PS5cIj4uTXN4Lj1TXCIkdE1zeC49XCJpQmhlaUJoPTlpDVYJCQkJPj4+PkI9OT59czk9LlNcIjBcImlCc1l4Pm56MlNcIlhoPS5NWU1oIlgkX2dLdyBLcFRqIlQuTVlNImRYImhzWWV4TWg9LlFZPEhlc1dfIlgkVC5RWTxIZXNXcD1xV01YIl88T3o5TXpfenN4Lj1YeHNBXCJpQmg9OWkNVgkJCQlCaD16aQ1WCQkJCUI9emkNVgkJCQk+Pj4+Qj05PjJPV25aZUhTXCJQUFwiPn1zOT0uU1wiMFwiaUJzWXg+bnoyU1wiWGg9Lk1ZTWgiWCRfZ0t3IEtwVGoiVC5NWU0iZFgiaHNZZXhNaD0uUVk8SGVzV18iWCRULlFZPEhlc1dwPXFXTVgiXzxPejlNel88Tz09T1lYeHNBXCJpQmg9OWkNVgkJCQlCaD16aQ1WCQkJQmg9ZTxXTWkNVgk+Pj4+Pj4+PkIhLS0+VC5RWTxIZXNXPk1IOT4tLWkNVgkJIjsNVgkJek09UXpIPiR0VHVJOw1WCWwNVgkNVgkNVglBUUgyPXNPSD4vVElfVC5RWTxIZXNXQ3pzOSgkM1lleE1uLD4kL09XUVlIblNVLD4kcFplMnNIeFMwTCldDVZoaAkJNE08UXhyUUgyPXNPSFR6ZTJNKCRyUUgyPXNPSEVlWU1TIi9USV9ULlFZPEhlc1dDenM5Iiw+JG1lemVZTT1NelNlenplcSgiM1lleE1uIlNpJDNZZXhNbiw+Ii9PV1FZSG4iU2kkL09XUVlIbiw+InBaZTJzSHgiU2kkcFplMnNIeCksPiQgbk0gZ0k0TTxReHJXZXhTPXpRTSk7DVYNVgkJJGdPfW5TMk1zVygyT1FIPSgkM1lleE1uKWgkL09XUVlIbik7DVYJPj4+PiRULlFZPEhlc1dDenM5UyINVgkJCUIhLS0+cD1lej0+T0E+VC5RWTxIZXNXPnh6czk+LS1pDVYJCQlCPWU8V00+Mk1XV25aZTJzSHhTXCIkcFplMnNIeFwiaQ1WCQkiOw1WCQlBT3ooJGdPfS9PUUg9TXpTMDs+JGdPfS9PUUg9TXpCUyRnT31uOz4kZ099L09RSD1NeisrKV0NVgkJPj4+PiRULlFZPEhlc1dDenM5WFMiQj16aSI7DVYJCT4+Pj5BT3ooJC9PV1FZSC9PUUg9TXpTMDs+JC9PV1FZSC9PUUg9TXpCUyQvT1dRWUhuOz4kL09XUVlIL09RSD1NeisrKV0NVgkJPj4+Pj4+Pj4kL1F6ek1IPTNZZXhNUygoJGdPfS9PUUg9TXoqJC9PV1FZSG4pLSQvT1dRWUhuKSskL09XUVlIL09RSD1NejsNVgkJPj4+Pj4+Pj5zQSgkL1F6ek1IPTNZZXhNQlMyT1FIPSgkM1lleE1uKSldDVYJCT4+Pj4+Pj4+Pj4+PiRULlFZPEhlc1dDenM5WFMiQj05aSJYL1RJX1QuUVk8SGVzVygkM1lleE1uaiQvUXp6TUg9M1lleE0tMGQpWCJCaD05aSI7DVYJCQkJbA1WCQkJbA1WCQk+Pj4+JFQuUVk8SGVzV0N6czlYUyJCaD16aSI7DVYJCWwNVgk+Pj4+JFQuUVk8SGVzV0N6czlYUyINVgkJCUJoPWU8V01pDVYJCQlCIS0tPktIOT5PQT5ULlFZPEhlc1c+eHpzOT4tLWkNVgkJIjsNVgkJek09UXpIPiRULlFZPEhlc1dDenM5Ow1WCWwNVg1WDVYJaGg0ZT1leHpzOT4yT0g9ek9XIQ1WCUFRSDI9c09IPi9USV80ZT1leHpzOSgNVgkJJEtIPXM9cSwNVgkJJC9PV1FZSEVlWU0sDVYJCSQvT1dRWUhUcz1XTSwNVgkJJC9PV1FZSEZXc3hILA1WCQkkL09XUVlIVHFaTSwNVgkJJGdPfW4sDVYJCSRwTWV6Mi50VHVJLA1WCQkkRjI9c09ISXNIeW5TPXpRTSwNVgkJJHBNZXoyLm1lSE1XUz16UU0sDVYJCSQvT0g9ek9XbWVITVdTPXpRTSwNVgkJJEtIPXM9cUZXc2VuUyIiLA1WCQkkRjk5b1E9PU9IUz16UU0sDVYJCSRGOTlzPXNPSGVXSXNIeS9lWj1zT0hTIiIsDVYJCSRGOTlzPXNPSGVXSXNIeXJzTVc5UyIiLA1WCQkkRjk5cz1zT0hlV0lzSHkgZ0lTIiIsDVYJCSRUZTxXTS9XZW5uUyI9ZTxXTT49ZTxXTS08T3o5TXpNOT49ZTxXTS1uPXpzWk05Pj1lPFdNLS5PY016PjllPWUtPWU8V00iDVYJKV0NVg1WCT4+Pj54V088ZVc+JEZaWldzMmU9c09IOw1WCT4+Pj4kS0g9cz1xSU99TXpTbj16PU9XT31NeigkS0g9cz1xKTsNVgk+Pj4+c0EoJEtIPXM9cUZXc2VuU1MiIikkS0g9cz1xRldzZW5TJEtIPXM9cTsNVgk+Pj4+JEtIPXM9cUZXc2VuSU99TXpTbj16PU9XT31NeigkS0g9cz1xRldzZW4pOw1WCQkkVHM9V01fcE1lejIuUyJwTWV6Mi5ocnNXPU16PiRLSD1zPXFGV3NlbklPfU16PmdNMk96OShuKSI7DVYJCXNBKCFzbm5NPSgkX2dLdyBLcFRqInBPej1vcSJkKSkkX2dLdyBLcFRqInBPej1vcSJkUyQvT1dRWUhFZVlNamFkOw1WCQlzQSghc25uTT0oJF9nS3cgS3BUaiJwT3o9VHFaTSJkKSkkX2dLdyBLcFRqInBPej1UcVpNImRTIkZwLyI7DVYJCXNBKCRfZ0t3IEtwVGoicE96PVRxWk0iZFNTIkZwLyIpXSRnTWNNem5NcE96PVRxWk1TIjRLcC8iO2xNV25NXSRnTWNNem5NcE96PVRxWk1TIkZwLyI7bA1WCQkkck96WUYyPXNPSCBnSVNGWlpXczJlPXNPSCBnSSgiXSRfZ0t3IEtwVGoib2VuTSJkbCIsJHAyenNaPVMkX2dLdyBLcFRqInAyenNaPSJkLD4iZ00yT3o5cC5PfXJ6T1lTXSRfbTdwVGoiZ00yT3o5cC5PfXJ6T1kiZGwmcE96PW9xU10kX2dLdyBLcFRqInBPej1vcSJkbCZwT3o9VHFaTVNdJF9nS3cgS3BUaiJwT3o9VHFaTSJkbCIpOw1WCQloaD4vZVcyUVdlPU0+PS5NPm1Nem1leE0+NGU9ZUN6czkNVgkJc0EoIXNubk09KCRfZ0t3IEtwVGoiZ00yT3o5cC5PfXJ6T1kiZCkpXQ1WCQkJJF9nS3cgS3BUaiJnTTJPejlwLk99cnpPWSJkUzA7DVYJCWwNVgkJJGdNMk96OXAuT31yek9ZRVFZPE16UyRGWlpXczJlPXNPSGoiNGU9ZXh6czlnT31uNE1BZVFXPSJkPis+JF9nS3cgS3BUaiJnTTJPejlwLk99cnpPWSJkOw1WCQkkZ00yT3o5cC5PfXJ6T1lFUVk8TXp1c0hRblMkX2dLdyBLcFRqImdNMk96OXAuT31yek9ZImQ+LT4kRlpaV3MyZT1zT0hqIjRlPWV4enM5Z099bjRNQWVRVz0iZDsNVg1WCQkNVgkJaGg+Ly5NMnk+M0E+PS5NPlFuTXo+fWVIPT49Tz54Tz5vZTJ5DVYJCXNBPigkZ00yT3o5cC5PfXJ6T1lFUVk8TXp1c0hRbj5CPi0wKV0NVgkJPj4+PiQ3SC9XczJ5IGdJUyJCc1l4Pj5uejJTXCJYaD0uTVlNaCJYJF9nS3cgS3BUaiJULk1ZTSJkWCJoc1lleE1oOWU9ZXh6czloV01BPWV6ek99WHhzQVwiPmVXPVNcIm16TWNzT1FuXCI+bj1xV01TXCI8T3o5TXo6PiNBQUpKMjI7PjJRem5Pejo+Wk9zSD1Nejs+PlplOTlzSHgtPU9aOj5hWlI7XCI+T0gyV3MyeVNcImVXTXo9KCdULnNuPjdaTXplPXNPSD5FTz0+bU9ubnM8V00hJylcImkiOw1WCQk+Pj4+JC9RenpNSD1tZXhNUzA7DVYJCWwNVgkJDVYJCU1Xbk0+XQ1WCQkJJC9RenpNSD1tZXhNUyRfZ0t3IEtwVGoibWV4TUVPImQ7DVYJCQkkbXpNY3NPUW5tZXhNUyQvUXp6TUg9bWV4TS0wOw1WCQk+Pj4+JDdIL1dzMnkgZ0lTIkJzWXg+Pm56MlNcIlhoPS5NWU1oIlgkX2dLdyBLcFRqIlQuTVlNImRYImhzWWV4TWg5ZT1leHpzOWhXTUE9ZXp6T31YeHNBXCI+ZVc9U1wibXpNY3NPUW5cIj5uPXFXTVNcIjxPejlNejo+I0FBSkoyMjs+MlF6bk96Oj5aT3NIPU16Oz4+WmU5OXNIeC09T1o6PmFaUjtcIj5PSDJXczJ5U1wifXNIOU99WFdPMmU9c09IUyciWEZaWldzMmU9c09IIGdJKCJdJF9nS3cgS3BUaiJvZW5NImRsIiwiXSRfZ0t3IEtwVGoicDJ6c1o9ImRsIiw+ImdNMk96OXAuT31yek9ZUyRnTTJPejlwLk99cnpPWUVRWTxNenVzSFFuJnBPej1vcVNdJF9nS3cgS3BUaiJwT3o9b3EiZGwmcE96PVRxWk1TXSRfZ0t3IEtwVGoicE96PVRxWk0iZGwmbWV4TUVPUyRtek1jc09Rbm1leE0iKVgiJ1wiKVwiaSI7DVYJCQkNVgkJbA1WCQkJDVYJCWhoPnBNZXoyLj4vT1k8Tw1WCQkkc1NhO0FPek1lMi4oJC9PV1FZSFRzPVdNPmVuPiRULnNuL09XUVlIVHM9V00pXSRwTWV6Mi4vT1k8TzZlV1FNaiRzZFMkVC5zbi9PV1FZSFRzPVdNOz4kcysrO2wNVgkJJHNTYTskcE1lejIuL09ZPE9TIkJuTVdNMj0+SGVZTVNcInBNZXoyLi9PWTxPXCI+Mldlbm5TXCI0ZT1lQ3pzOS9PWTxPb09SXCI+aSI7DVYJCUFPek1lMi4oJC9PV1FZSEVlWU0+ZW4+JFQuc24vT1dRWUgpXQ1WCQk+Pj4+c0E+KCRfZ0t3IEtwVGoicE1lejIuL09ZPE8iZFNTJFQuc24vT1dRWUgpDVYJPj4+PgkJJHBNZXoyLi9PWTxPWFMiQk9aPXNPSD5jZVdRTVNcIiRULnNuL09XUVlIXCI+bk1XTTI9TTk+aSRwTWV6Mi4vT1k8TzZlV1FNaiRzZEJoT1o9c09IaSI7DVYJCQlNV25NDVYJPj4+PgkJJHBNZXoyLi9PWTxPWFMiQk9aPXNPSD5jZVdRTVNcIiRULnNuL09XUVlIXCJpJHBNZXoyLi9PWTxPNmVXUU1qJHNkQmhPWj1zT0hpIjsNVgkJCSRzKys7DVYJCWwNVgkJJHBNZXoyLi9PWTxPWFMiQmhuTVdNMj1pIjsNVg1WDVYkRU1SPW1leE1TJC9RenpNSD1tZXhNKzA7DVYkRjk5b1E9PU9IdFR1SVMiIjsNVnNBKCRGOTlvUT09T0gpDVY+Pj4+JEY5OW9RPT1PSHRUdUlTIg1WCQk+QnNZeD4+bnoyU1wiWGg9Lk1ZTWgiWCRfZ0t3IEtwVGoiVC5NWU0iZFgiaHNZZXhNaDllPWV4enM5aGU5OVh4c0FcIj5lVz1TXCJGOTk+RU19Pl0kS0g9cz1xbFwiPm49cVdNU1wiPE96OU16Oj4jQUFKSjIyOz4yUXpuT3o6PlpPc0g9TXo7XCI+T0gyV3MyeVNcIn1zSDlPfVhXTzJlPXNPSFMnIlhGWlpXczJlPXNPSCBnSSgiXSRfZ0t3IEtwVGoib2VuTSJkbCIsIl0kX2dLdyBLcFRqInAyenNaPSJkbCIsIkYyPXNPSEVNfV0kS0g9cz1xbFMwIilYIidcIilcImkmSDxuWjsmSDxuWjsNVgkiOw1WDVY+PiR0VHVJX3BNZXoyLlMiDVYJCUJBT3pZPkhlWU1TXCJBelk0ZT1lQ3pzOXBNZXoyLiRLSD1zPXFcIj5lMj1zT0hTXCIkck96WUYyPXNPSCBnSVwiPllNPS5POVNcIlpPbj1cIj5NSDI9cVpNU1wiWVFXPXNaZXo9PkFPelloOWU9ZVwiaQkJDVYNVgkJCQlCOXNjPjJXZW5uU1wifXM5eE09LTxPUlwiaQ1WCQkJCQlCOXNjPjJXZW5uU1wifXM5eE09LT1zPVdNXCJpDVYJCQkJCQlCblplSD4yV2VublNcInMyT0hcImkNVgkJCQkJCQlCcz4yV2VublNcInMyT0gtPS4tV3NuPVwiaUJoc2kNVgkJCQkJCUJoblplSGkJCQkJDVYJCQkJCQlCLkxpJEtIPXM9cUZXc2VuQmguTGkNVgkJCQkJQmg5c2NpDVYJCQkJCUI5c2M+Mldlbm5TXCJ9czl4TT0tMk9IPU1IPVwiaQkJDVYJCQkJCQlCPWU8V00+PE96OU16U1wiYVwiPj4yTVdXblplMnNIeFNcImFcIj4yV2VublNcIlwiaQ1WCQkJCQkJCQlCPXppDVYJCQkJCQkJCQlCPTlpDVYJCQkJCQkJCQkJCT5dJEY5OW9RPT1PSHRUdUlsDVYJCQkJCQkJCQkJCT5dJDdIL1dzMnkgZ0lsJkg8blo7QjxpXSQvUXp6TUg9bWV4TWxCaDxpJkg8blo7QnNZeD4+bnoyU1wiWGg9Lk1ZTWgiWCRfZ0t3IEtwVGoiVC5NWU0iZFgiaHNZZXhNaDllPWV4enM5aHpzeC49ZXp6T31YeHNBXCI+ZVc9U1wiRU1SPVwiPm49cVdNU1wiPE96OU16Oj4jQUFKSjIyOz4yUXpuT3o6PlpPc0g9TXo7PlwiPk9IMldzMnlTXCJ9c0g5T31YV08yZT1zT0hTJyJYRlpaV3MyZT1zT0ggZ0koIl0kX2dLdyBLcFRqIm9lbk0iZGwiLCJdJF9nS3cgS3BUaiJwMnpzWj0iZGwiLD4iZ00yT3o5cC5PfXJ6T1lTJGdNMk96OXAuT31yek9ZRVFZPE16JnBPej1vcVNdJF9nS3cgS3BUaiJwT3o9b3EiZGwmcE96PVRxWk1TXSRfZ0t3IEtwVGoicE96PVRxWk0iZGwmbWV4TUVPUyRFTVI9bWV4TSIpWCInXCIpXCJpDVYJCQkJCQkJCQlCaD05aQ1WCQkJCQkJCQkJQj05aQ1WCQkJCQkJCQkJCSZIPG5aOyZIPG5aOyZIPG5aOw1WCQkJCQkJCQkJQmg9OWkNVgkJCQkJCQkJCUI9OT5jZVdzeEhTXCI9T1pcImkNVgkJCQkJDVYJCQkJCQkJCQkJCT4kcE1lejIuL09ZPE8+JHBNZXoyLnRUdUkNVgkJCQkJCQkJCUJoPTlpDVYJCQkJCQkJCQlCPTk+Y2VXc3hIU1wiPU9aXCJpDVYJCQkJCQkJCQkJCSJYL1RJXzNIWlE9cFE8WXM9KCIiLD4icE1lejIuIiw+JFRzPVdNUyIiLD4kcHM1TVMiIiw+JC9XZW5uUyI8PUgiKVgiDVYJCQkJCQkJCQkJCSJYL1RJXzNIWlE9b1E9PU9IKCRFZVlNUyIiLD4kNmVXUU1TInAuT30+RldXIiw+JFRzPVdNUyIiLD4kcHM1TVMiIiw+JC9XZW5uUyI8PUgiLD4kcD1xV01TIiIsPiQ3SC9XczJ5UyJ9c0g5T31YV08yZT1zT0hTJyJYRlpaV3MyZT1zT0ggZ0koIl0kX2dLdyBLcFRqIm9lbk0iZGwiLCJ1ZUhleE0iKVgiJyIpWCINVgkJCQkJCQkJCUJoPTlpDVYJCQkJCQkJCUJoPXppDVYJCQkJCQlCaD1lPFdNaQkJDVYJCQkJCUJoOXNjaQkNVgkJCQlCaDlzY2kNVgkJQmhBT3pZaQ1WCQkNViI7DVYNVg1WCQlzQSghJHBNZXoyLm1lSE1XKSR0VHVJX3BNZXoyLlMiIjsNVgkJc0EoISQvT0g9ek9XbWVITVcpJHRUdUlfL09IPXpPV21lSE1XUyIiOw1WCQkJJHRUdUlfQ3pzOVMiDVYJCQkJQm4yenNaPT5XZUh4UWV4TVNcIgplY2VuMnpzWj1cImkNVgkJCQkJQVFIMj1zT0g+Mk9IQXN6WXBRPFlzPShRelcpXQ1WCQkJCQkJY2V6PmV4ek1NUzJPSEFzelkoXCJGek0+cU9RPm5Rek0+cU9RPn1lSD0+PU8+OU1XTT1NP1wiKTsNVgkJCQkJCXNBKGV4ek1NKV0NVgkJCQkJCQl9c0g5T31YV08yZT1zT0hTUXpXOw1WCQkJCQkJbA1WCQkJCQkJTVduTQ1WCQkJCQkJCXpNPVF6SD5BZVduTT47DVYJCQkJCWwNVgkJCQlCaG4yenNaPWkNVgkJCQkkdFR1SV9wTWV6Mi4NVg1WCT4+Pj4+Pj4+QkFPelk+SGVZTVNcIkF6WTRlPWVDenM5JEtIPXM9cVwiPmUyPXNPSFNcIiRyT3pZRjI9c09IIGdJXCI+WU09Lk85U1wiWk9uPVwiPk1IMj1xWk1TXCJZUVc9c1plej0+QU96WWg5ZT1lXCJpDVYJCQkJQj1lPFdNPjxPejlNelNcImFcIj4yTVdXblplMnNIeFNcImFcIj4yV2VublNcIl0kVGU8V00vV2VubmxcImkNVgkJCQkJQj16PjJXZW5uU1wiNGU9ZUN6czlfVHM9V01fVGU8V01fb2V6XCI+Y2VXc3hIU1wiWXM5OVdNXCJpDVYJCQkJCQlCPTk+Mldlbm5TXCI0ZT1lQ3pzOV8vT1dRWUhUcz1XTV9nT31fcE16c2VXXy9NV1dcIj5pJkg8blo7Jkg8blo7Jkg8blo7cEkmSDxuWjtFT1hCaD05aQ1WCQkiOw1WDVYJCUFPek1lMi4oJC9PV1FZSEVlWU0+ZW4+JFQuc24vT1dRWUgpXQ1WCQkJJHRUdUlfQ3pzOVhTIkI9OT59czk9LlNcIiI7DVYJCT4+Pj5zQSgkL09XUVlIVHFaTWplenplcV9uTWV6Mi4oJFQuc24vT1dRWUgsPiQvT1dRWUhFZVlNKWQhUyJNWWVzVyI+ZUg5PiQvT1dRWUhUcVpNamV6emVxX25NZXoyLigkVC5zbi9PV1FZSCw+JC9PV1FZSEVlWU0pZCFTIkFzV00iKV0NVgkJCQkkdFR1SV9DenM5WFMiXCJpQmU+LnpNQVNcIiJYRlpaV3MyZT1zT0ggZ0koJG9lbk1TJF9nS3cgS3BUaiJvZW5NImQsJHAyenNaPVMkX2dLdyBLcFRqInAyenNaPSJkLD4iZ00yT3o5cC5PfXJ6T1lTXSRfZ0t3IEtwVGoiZ00yT3o5cC5PfXJ6T1kiZGwmZ00yT3o5cC5PfSBaVE9TXSRfZ0t3IEtwVGoiZ00yT3o5cC5PfSBaVE8iZGwmcE96PW9xUyRULnNuL09XUVlIJnBPej1UcVpNUyRnTWNNem5NcE96PVRxWk0mJHBPej1Jc0h5S1I9emVtZXplWU09TXoiKVgiXCI+Mldlbm5TXCI0ZT1lQ3pzOV8vT1dRWUhUcz1XTV9Jc0h5XCJpIlgkL09XUVlIVHM9V01qZXp6ZXFfbk1lejIuKCRULnNuL09XUVlILD4kL09XUVlIRWVZTSlkWCJCaGVpIjsNVgkJCQlzQSgkVC5zbi9PV1FZSFNTJF9nS3cgS3BUaiJwT3o9b3EiZCldDVYJCQkJCSR0VHVJX0N6czlYUyJCc1l4Pm56MlNcIlhoPS5NWU1oIlgkX2dLdyBLcFRqIlQuTVlNImRYImhzWWV4TWg5ZT1leHpzOWg5ZT1leHpzOV9uT3o9T3o5TXpfIlhuPXo9T1dPfU16KCRfZ0t3IEtwVGoicE96PVRxWk0iZClYIlh4c0FcImkiOw1WCQkJCWwNVgkJCWxNV25NXSR0VHVJX0N6czlYUyIwXCJpIjtsDVYJCQkkdFR1SV9DenM5WFMiQmg9OWkiOw1WCQlsDVYJCXNBKCRGMj1zT0hJc0h5bmlhKSR0VHVJX0N6czlYUyJCPTk+Mldlbm5TXCI0ZT1lQ3pzOV8vT1dRWUhUcz1XTV9nT31fRjI9c09IXy9NV1dcImkmSDxuWjs3Wj1zT0huJkg8blo7Qmg9OWkiOw1WCQkkdFR1SV9DenM5WFMiCQkJQmg9emkiOw1WCQloaCQvUXp6TUg9bWV4TQ1WCQkkZ099L09RSD1NelMoJEZaWldzMmU9c09IaiI0ZT1leHpzOWdPfW40TUFlUVc9ImQqJC9RenpNSD1tZXhNKT4tPigkRlpaV3MyZT1zT0hqIjRlPWV4enM5Z099bjRNQWVRVz0iZC0wKTsNVgkJQU96TWUyLigkZ099bj5lbj4kZ099KV0NVgkJPj4+PnNBKEFZTzkoJGdPfS9PUUg9TXorayw+aylTU2EpXSQ0ZT1lZ099dHN4Lj1Jc3guPVRxWk1TIktjTUgiO2xNV25NXSQ0ZT1lZ099dHN4Lj1Jc3guPVRxWk1TIjc5OSI7bA1WCQk+Pj4+JHRUdUlfQ3pzOVhTIgkJQj16PjJXZW5uU1wiNGU9ZUN6czlfNGU9ZWdPfV8kNGU9ZWdPfXRzeC49SXN4Lj1UcVpNXCI+T0h1T1FuTTdjTXpTPS5zblgyV2VubkVlWU1TXCJnT311T1FuTTdjTXpcIj5PSHVPUW5NN1E9Uz0uc25YMldlbm5FZVlNU1wiNGU9ZUN6czlfNGU9ZWdPfV8kNGU9ZWdPfXRzeC49SXN4Lj1UcVpNXCJpDVYJCT4+Pj4JCQkJCT4+Pj5CPTk+ZVdzeEhTXCIyTUg9TXpcImkkZ099L09RSD1Nej5CaD05aQ1WCQkJIjsNVgkJPj4+PiRnT30vT1FIPU16Kys7DVYJCQlBT3pNZTIuKCQvT1dRWUhFZVlNPmVuPiRULnNuL09XUVlIKV0NVgkJCT4+Pj5zQSgkL09XUVlIVHFaTWplenplcV9uTWV6Mi4oJFQuc24vT1dRWUgsPiQvT1dRWUhFZVlNKWQhUyJLWWVzVyIpXQ1WCQkJCT4+Pj4kdFR1SV9DenM5WFMiQj05PjJXZW5uU1wiNGU9ZUN6czlfNGU9ZS9NV1dcIj5lV3N4SFNcIiJYJC9PV1FZSEZXc3hIamV6emVxX25NZXoyLigkVC5zbi9PV1FZSCw+JC9PV1FZSEVlWU0pZDsNVgkJCQlsTVduTV0NVgkJCQk+Pj4+JHRUdUlfQ3pzOVhTIkI9OT59czk9LlNcIjAiOw1WCQkJCWwNVgkJCT4+Pj4kdFR1SV9DenM5WFMiXCJpIjsNVgkJCQkJbn1zPTIuKD16c1kobj16PU9XT31NeigkL09XUVlIVHFaTWplenplcV9uTWV6Mi4oJFQuc24vT1dRWUgsPiQvT1dRWUhFZVlNKWQpKSldDVYJCT4+PgkJCTJlbk0+Im52VyI6DVYJCQkJCQloaC9PUUg9enE6L09RSD16cTM0Oi9PUUg9enFFZVlNOi9PUUg9enFFZVlNDVYJCQkJCQloaD1lPFdNRWVZTTpwTWUyLnJzTVc5RWVZTTpwLk99cnNXTTlFZVlNOnBNZXoyLkdNcXJzV005RWVZTQ1WCQkJCQkJJENNPXB3SW1lemVZPlM+TVJaV085TSgiOiIsJFQuc24vT1dRWUgpOw1WCQkJCQkJaGgkQ009cHdJbWV6ZVk2ZVdRTVNwd0lfcE1XTTI9KCRDTT1wd0ltZXplWWphZCwiXSRDTT1wd0ltZXplWWowZGxTJ10kQ009cHdJbWV6ZVlqSmRsJyIsIiIsPXpRTSk7DVYJCQkJCQlzQSgkQ009cHdJbWV6ZVlqVWRTUyI9elFNIikNVgkJCQkJCQkkNE08UXg+Uz49elFNOw1WCQkJCQkJTVduTQkNVgkJCQkJCQkkNE08UXg+Uz5BZVduTTsNVgkJCQkJCQkNVgkJCQkJCSRDTT1wd0ltZXplWTZlV1FNU3B3SV9wTVdNMj0oJENNPXB3SW1lemVZamFkLCJdJENNPXB3SW1lemVZajBkbFMnXSRnT31qIiRDTT1wd0ltZXplWWpKZCJkbCciLD4+IiIsPj16UU0sPiIiLD4iIiw+JDRNPFF4KTsNVgkJCQkJCSR0VHVJX0N6czlYUyRDTT1wd0ltZXplWTZlV1FNaiJdJENNPXB3SW1lemVZamtkbCJkOw1WCQkJCQkJDVYJCQkJCQlaenNIPV96KCR6TW5RVz0pOw1WCQkJCQk+Pj4+PHpNZXk7DVYJCT4+PgkJCTJlbk0+Ij1NUj0iOg1WCQkJCQkJJHRUdUlfQ3pzOVhTJGdPfWokVC5zbi9PV1FZSGQ7DVYJCQkJCT4+Pj48ek1leTsNVgkJPj4+CQkJMmVuTT4iOWU9TSI6DVYJCQkJCQkkdFR1SV9DenM5WFM5ZT1NKCJ1PgosPnEiLD5uPXo9Tz1zWU0oJGdPfWokVC5zbi9PV1FZSGQpKTsNVgkJCQkJPj4+Pjx6TWV5Ow1WCQk+Pj4JCQkyZW5NPiJNWWVzVyI6DVYJCQkJCQkkdFR1SV9DenM5WFMiQmU+LnpNQVNcIlllc1c9TzoiWCRnT31qJFQuc24vT1dRWUhkWCJcIj4yV2VublNcIlwiPj1zPVdNU1wiIlgkZ099aiRULnNuL09XUVlIZFgiXCJpQnNZeD5uejJTXCJYaD0uTVlNaCJYJF9nS3cgS3BUaiJULk1ZTSJkWCJoc1lleE1oOWU9ZXh6czloOWU9ZXh6czlfZTI9c09IX01ZZXNXWHhzQVwiPm49cVdNU1wiPE96OU16Oj5hWlI7XCI+aUJoZWkiOw1WCQkJCQk+Pj4+PHpNZXk7DVYJCT4+PgkJCTJlbk0+IlF6VyI6DVYJCQkJCQkkdFR1SV9DenM5WFMiQmU+LnpNQVNcIiJYJGdPfWokVC5zbi9PV1FZSGRYIlwiPj1lenhNPVNcIl88V2VIeVwiPjJXZW5uU1wiXCI+PXM9V01TXCIiWCRnT31qJFQuc24vT1dRWUhkWCJcImlCc1l4Pm56MlNcIlhoPS5NWU1oIlgkX2dLdyBLcFRqIlQuTVlNImRYImhzWWV4TWg5ZT1leHpzOWh0N3VLSmtYMy83XCI+fXM5PS5TXCIwZlwiPi5Nc3guPVNcIjBmXCI+bj1xV01TXCI8T3o5TXo6PmFaUjtcIj5pQmhlaSI7DVYJCQkJCT4+Pj48ek1leTsNVgkJCQkJMmVuTT4icU1uaEhPIjoNVgkJCQkJPj4+PiR0VHVJX0N6czlYUyJCc1l4Pm56MlNcIlhoPS5NWU1oIlgkX2dLdyBLcFRqIlQuTVlNImRYImhzWWV4TWg5ZT1leHpzOWg5ZT1leHpzOV9zMk9IXyI7DVYJCQkJCT4+Pj5zQSgkZ099aiRULnNuL09XUVlIZFNTMCldJHRUdUlfQ3pzOVhTInFNbiI7bE1Xbk1dJHRUdUlfQ3pzOVhTIkhPIjtsDVYJCQkJCQkkdFR1SV9DenM5WFMiWHhzQVwiaSI7DVYJCQkJCT4+Pj48ek1leTsNVgkJCQkJMmVuTT4iQXNXTSI6DVYJCQkJCT4+Pj5zQShBc1dNX01Sc249bigkRlpaV3MyZT1zT0hqIiBaV09lOW1lPS4iZFgkZ099aiRULnNuL09XUVlIZCkmJiRnT31qJFQuc24vT1dRWUhkKV0NVgkJCQkJCQkkdFR1SV9DenM5WFMiQmU+LnpNQVNcIiJYJEZaWldzMmU9c09IaiIgWldPZTltZT0uImRYJGdPfWokVC5zbi9PV1FZSGRYIlwiPjJXZW5uU1wiXCI+PXM9V01TXCI+NE99SFdPZTk+IlgkZ099aiRULnNuL09XUVlIZFgiPlwiaUJzWXg+bnoyU1wiWGg9Lk1ZTWgiWCRfZ0t3IEtwVGoiVC5NWU0iZFgiaHNZZXhNaDllPWV4enM5X2UyPXNPSF85T31IV09lOVh4c0FcImlCaGVpIjsNVgkJCQkJCWxNV25NXQ1WCQkJCQkJCSR0VHVJX0N6czlYUyJCc1l4Pm56MlNcIlhoPS5NWU1oIlgkX2dLdyBLcFRqIlQuTVlNImRYImhzWWV4TWg5ZT1leHpzOWg5ZT1leHpzOV9zMk9IX0hPPWVjZXNXZTxXTVh4c0FcImkiOw1WCQkJCQkJbA1WCQkJCQk+Pj4+PHpNZXk7DVYJCQkJCTJlbk0+InNZZXhNV3NIeSI6DVYJCQkJCT4+Pj5zQShBc1dNX01Sc249bigkRlpaV3MyZT1zT0hqIiBaV09lOW1lPS4iZFgkZ099aiRULnNuL09XUVlIZCkmJiRnT31qJFQuc24vT1dRWUhkKV0NVgkJCQkJCQkkdFR1SV9DenM5WFMiQmU+LnpNQVNcIiJYJEZaWldzMmU9c09IaiIgWldPZTltZT0uImRYJGdPfWokVC5zbi9PV1FZSGRYIlwiPjJXZW5uU1wiXCI+PXM9V01TXCI+L1dzMnk+PU8+Y3NNfT5BUVdXPm5zNU0+XCI+PWV6eE09U1wiXzxXZUh5XCJpQnNZeD5uejJTXCIiWCRGWlpXczJlPXNPSGoiIFpXT2U5bWU9LiJkWCRnT31qJFQuc24vT1dRWUhkWCJcIj4yV2VublNcIjRlPWVDenM5XzNZZXhNXCI+fXM5PS5TXCJbYVwiPmlCaGVpIjsNVgkJCQkJCWxNV25NXQ1WCQkJCQkJCSR0VHVJX0N6czlYUyJCc1l4Pm56MlNcIlhoPS5NWU1oIlgkX2dLdyBLcFRqIlQuTVlNImRYImhzWWV4TWg5ZT1leHpzOWg5ZT1leHpzOV9zMk9IX0hPPWVjZXNXZTxXTVh4c0FcImkiOw1WCQkJCQkJbA1WCQkJCQk+Pj4+PHpNZXk7DVYJCQkJCWwNVgkJCQkJJHRUdUlfQ3pzOVhTIkJoPTlpIjsNVgkJCWwNVg1WCQkJc0EoJEYyPXNPSElzSHluaWEpJHRUdUlfQ3pzOVhTIkI9OT5lV3N4SFNcIjJNSD1NelwiaSI7DVYJCQkkRjI9c09IbWV6ZVlNPU16UyRLSD1zPXFYIjM0UyJYJGdPfWokS0g9cz1xWCIzNCJkWCImIlgkS0g9cz1xWCIgIDM0UyJYJGdPfWokS0g9cz1xWCIgIDM0ImQ7DVYNVgkJCSRzU2E7DVYJCQkNVgkJCWhoWnpzSD1feigkRjk5cz1zT0hlV0lzSHkvZVo9c09IKTsNVgkJCXNBKCRGOTlzPXNPSGVXSXNIeS9lWj1zT0ghUyIiKQ1WCQkJCUFPek1lMi4oJEY5OXM9c09IZVdJc0h5L2VaPXNPSD5lbj4kVC5zbkY5OXM9c09IZVdJc0h5L2VaPXNPSCldDVYJCQkJCSR0VHVJX0N6czlYUyINVgkJCQkJCQ1WCQkJCQkJQmU+LnpNQVNcIl0kRjk5cz1zT0hlV0lzSHkgZ0lqJHNkbF0kZ099aiJdJEY5OXM9c09IZVdJc0h5cnNNVzlqJHNkbCJkbFwiaV0kRjk5cz1zT0hlV0lzSHkvZVo9c09IaiRzZGxCaGVpDVYJCQkJCSI7CQkJCQ1WCQkJCQkkcysrOw1WCQkJCWwNVgkJCQ1WCQkJDVYJCQlzQSgkRjI9c09ISXNIeW4pXQ1WCQkJCSR0VHVJX0N6czlYUyINVgkJCQkJCQlCblplSD4yV2VublNcIjw9SD48PUgtWnpzWWV6cVwiPk9IMldzMnlTXCJ9c0g5T31YV08yZT1zT0hTJyJYRlpaV3MyZT1zT0ggZ0koIl0kX2dLdyBLcFRqIm9lbk0iZGwiLD4kcDJ6c1o9UyIzSG5Nej1RWjllPU0iLD4kRjI9c09IbWV6ZVlNPU16KVgiJ1wiaUJzPjJXZW5uU1wiczJPSC1aTUgyc1c+czJPSC19LnM9TVwiaUJoc2k+SzlzPUJoblplSGkNVgkJCQkJCQlCblplSD4yV2VublNcIjw9SD48PUgtOWVIeE16XCI+T0gyV3MyeVNcIjJPSEFzellwUTxZcz0oJyJYRlpaV3MyZT1zT0ggZ0koIl0kX2dLdyBLcFRqIm9lbk0iZGwiLD4kcDJ6c1o9UyJ1ZUhleE0iLD4kRjI9c09IbWV6ZVlNPU16WCImNE1XTT1NL09IQXN6WSIpWCInKVwiaUJzPjJXZW5uU1wiczJPSC16TVlPY00+czJPSC19LnM9TVwiaUJoc2k+NE1XTT1NQmhuWmVIaQ1WDVY+Pj4+Pj4+Pj4+Pj4+Pj4+IjsNVgkJCWw+Pj4+Pg1WCQkJDVYJCQkNVgkJCQ1WCQkJc0EoJEYyPXNPSElzSHluaWEpJHRUdUlfQ3pzOVhTIkJoPTlpIjsNVgkJCSR0VHVJX0N6czlYUyJCaD16aSI7DVYJCWwNVgkJDVYJCSR0VHVJX0N6czlYUyIJCQ1WCQkJCQlCaD1lPFdNaQ1WCQkJCUJoQU96WWkNVgkJCSI7DVYJCXpNPVF6SD4kdFR1SV9DenM5Ow1WCWwNVg1WDVYNVg1WP2k=';$_D=strrev('edoced_46esab');eval($_D('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLCdTZ1BPOVlaV0ZLbXF5ZnhjakxKUnp1TTV2TnRzMWIue0I0bkNdaS8yRGwwRWhlQQpbZDg9UXA+VlhvIEh9NkdJdzdrYTNUclU8JywnPVI5b2RtcGxBRVB5azhndls1M3hyTWV6cVpIaTdZaFc8RHNHez5DY1h9MU4vYWZqNl1KdHVTIAouQlVud1ZLTFFPMjBJVEY0YicpOyRfUj1zdHJfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0YuIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw='));?>
Function Calls
strtr | 1 |
strrev | 1 |
str_replace | 1 |
base64_decode | 2 |
Stats
MD5 | 4ebaf0feb4293c9b9a11091aa88c0f6a |
Eval Count | 2 |
Decode Time | 238 ms |