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

Signing you up...

Thank you for signing up!

PHP Decode

eval(base64_decode('aWYoIGlzc2V0KCAkX1BPU1RbJ2FkZF9saWMnXSApICYmICRfUE9TVFsnYWRkX2xpYyddID..

Decoded Output download

if( isset( $_POST['add_lic'] ) && $_POST['add_lic'] == 'add_lic' ) {
			if( isset( $_POST['coupon-add-license'] ) && $_POST['coupon-add-license'] != '' ) {
				$coupon_lic = get_option( 'coupon_lic_key' );
				if(!$coupon_lic) { $coupon_lic = array('key' => '', 'time' => '', 'before'=>'', 'mess'=>''); }
				$coupon_lic['key'] = trim( $_POST['coupon-add-license'] );
				update_option('coupon_lic_key', $coupon_lic); // 
			}
		}
		
		$coupon_lic = get_option('coupon_lic_key');
		$coupon_lic_key = $coupon_lic['key']; 
		$time_before = $coupon_lic['time'];
		$coupon_lic_int = ($coupon_lic['time']) ?  ( time() - $coupon_lic['time'] ) : false; 
		// echo $coupon_lic_int;
		// $coupon_user_em = get_option('coupon_user_em');
		$coupon_site_url = str_replace( 'http://', '', get_bloginfo('url') );
		$coupon_site_url = str_replace( 'www.', '', $coupon_site_url );
		
		$cct = $this->cct;
		$hgf = $this->hgf;
		
		//perform check if...
		
		if( $coupon_lic_key && ($coupon_lic_int > $cct                         //interval has expired 
								|| !$coupon_lic_int       	                   //check perform first time
								|| $coupon_lic['before']==''                   //unknown result of first check
								|| $coupon_lic['before']=='unsuccessful') ) {  //negative result of first check
			
			$ch = curl_init();
			curl_setopt($ch, CURLOPT_URL, $this->ccu.'/wp-content/plugins/wp-police/modules/check_license.php');
			curl_setopt($ch, CURLOPT_HEADER, false);
			curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

			curl_setopt($ch, CURLOPT_POST, true);
			curl_setopt($ch, CURLOPT_POSTFIELDS, 'license=' . $coupon_lic_key . '&site_url=' . $coupon_site_url);
			
			curl_setopt($ch, CURLOPT_REFERER, get_bloginfo('url'));
			curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
			curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
			curl_setopt($ch, CURLOPT_USERAGENT, 'Check license');
			$data = curl_exec($ch);
			$coupon_lic['time'] = time();
			update_option('coupon_lic_key', $coupon_lic);
			curl_close($ch);		
			
			switch($data) {
   			
				case md5( 'not license' . $coupon_lic_key ) : 
      				
					$message = '<h2>';
					$message .= sprintf(__( 'Invalid License.  Please re-enter your License Key or contact Support for assistance: %s".   ', 'coupon' ), ERROR_EMAIL);
   					$message .= '</h2>';
   					
   					/* Test message */
   					if($hgf == true) {
   						$message .= '<h3>Test information</h3>';
   						$message .= '<p>Reason: not license</p>';
   						$message .= '<p>Time check:'.date('g:i', $coupon_lic['time']).'</p>';
   						$message .= '<p>Time before:'.date('g:i', $time_before).'</p>';
   						$message .= '<p>Interval const:'.$cct.'</p>';
   						$message .= '<p>Interval reall:'.$coupon_lic_int.'</p>';
   						//$message .= '<p>Enable display:'.$this->enable_display_coupon.'</p>';
   					}
   					
   					echo $message;
      				
      				//Change information
      				$this->enable_display_coupon = false;
   					$coupon_lic = get_option('coupon_lic_key');
      				$coupon_lic['before']='unsuccessful';
   					$coupon_lic['mess']=$message;
      				$coupon_lic = update_option('coupon_lic_key', $coupon_lic);
					
      				require_once ( dirname( __FILE__ ) . '/add_license_page.php');
      			
      			break;
   
   				
      			
      			case md5( 'no url registration yes' . $coupon_lic_key ) : 
      				
      				/* Test message */
   					if($hgf == true) {
   						$message .= '<h3>Test information</h3>';
   						$message .= '<p>Reason: no url registration yes</p>';
   						$message .= '<p>Time check:'.date('g:i', $coupon_lic['time']).'</p>';
   						$message .= '<p>Time before:'.date('g:i', $time_before).'</p>';
   						$message .= '<p>Interval const:'.$cct.'</p>';
   						$message .= '<p>Interval reall:'.$coupon_lic_int.'</p>';
   					}
   					
   					echo $message;
   					
   					//Change information
   					$this->enable_display_coupon = true;
   					$coupon_lic = get_option('coupon_lic_key');
   					$coupon_lic['before']='successful';
   					$coupon_lic['mess']=$message;
      				$coupon_lic = update_option('coupon_lic_key', $coupon_lic);
   					
      				// _e('no url registration yes', 'coupon');
   					require_once ( dirname( __FILE__ ) . '/admin_page.php' ); //
   					
   				break;
   
   				
   				
   				case md5( 'no url registration no' . $coupon_lic_key ) : 
      				
   					$message = '<h2>';
   					$message .= sprintf(__('Your license for the %s plugin has expired or been disabled', 'coupon'), $page_title);
   					$message .= '</h2>';
   					
   					/* Test message */
   					if($hgf == true) {
   						$message .= '<h3>Test information</h3>';
   						$message .= '<p>Reason: no url registration no</p>';
   						$message .= '<p>Time check:'.date('g:i', $coupon_lic['time']).'</p>';
   						$message .= '<p>Time before:'.date('g:i', $time_before).'</p>';
   						$message .= '<p>Interval const:'.$cct.'</p>';
   						$message .= '<p>Interval reall:'.$coupon_lic_int.'</p>';
   					}
   					
   					echo $message;
      				
   					//Change information
   					$this->enable_display_coupon = false;
      				$coupon_lic = get_option('coupon_lic_key');
      				$coupon_lic['before']='unsuccessful';
   					$coupon_lic['mess']=$message;
      				$coupon_lic = update_option('coupon_lic_key', $coupon_lic);
      			
      				require_once (dirname(__FILE__) . '/add_license_page.php');
      			
      			break;
   		
   				
      			
      			case md5( 'url registration yes' . $coupon_lic_key ) : 
      				
   					/* Test message */
   					if($hgf == true) {
   						$message .= '<h3>Test information</h3>';
   						$message .= '<p>Reason: url registration yes</p>';
   						$message .= '<p>Time check:'.date('g:i', $coupon_lic['time']).'</p>';
   						$message .= '<p>Time before:'.date('g:i', $time_before).'</p>';
   						$message .= '<p>Interval const:'.$cct.'</p>';
   						$message .= '<p>Interval reall:'.$coupon_lic_int.'</p>';
   					}
   					echo $message;
   					
   					//Change information
   					$this->enable_display_coupon = true;
   					$coupon_lic = get_option('coupon_lic_key');
   					$coupon_lic['before']='successful';
   					$coupon_lic['mess']=$message;
   					$coupon_lic = update_option('coupon_lic_key', $coupon_lic);
   					
   					// _e('url registration yes', 'coupon');
   					require_once (dirname(__FILE__) . '/admin_page.php'); //
   					
   				break;
   				
   				
   				
   				case md5( 'url registration no' . $coupon_lic_key ) : 
      				
   					$message = '<h2>';
   					$message .= sprintf(__('Your license for the %s plugin has expired or been disabled', 'coupon'), $page_title);
   					$message .= '</h2>';
   					
   					/* Test message */
   					if($hgf == true) {
   						$message .= '<h3>Test information</h3>';
   						$message .= '<p>Reason: url registration no</p>';
   						$message .= '<p>Time check:'.date('g:i', $coupon_lic['time']).'</p>';
   						$message .= '<p>Time before:'.date('g:i', $time_before).'</p>';
   						$message .= '<p>Interval const:'.$cct.'</p>';
   						$message .= '<p>Interval reall:'.$coupon_lic_int.'</p>';
   					}
   					echo $message;
      				
   					//Change information
   					$this->enable_display_coupon = false;
      				$coupon_lic = get_option('coupon_lic_key');
      				$coupon_lic['before']='unsuccessful';
   					$coupon_lic['mess']=$message;
      				$coupon_lic = update_option('coupon_lic_key', $coupon_lic);
      			
      				require_once (dirname(__FILE__) . '/add_license_page.php');
      			
      			break;
   				
   				
      			
      			
      			case md5( 'url registration no url' . $coupon_lic_key ) : 
      				
   					$message = '<h2>';
   					$message .= sprintf(__( 'Invalid License.  Please re-enter your License Key or contact Support for assistance: %s".   ', 'coupon' ), ERROR_EMAIL);
   					$message .= '</h2>';
   					
   					/* Test message */
   					if($hgf == true) {
   						$message .= '<h3>Test information</h3>';
   						$message .= '<p>Reason: url registration no url</p>';
   						$message .= '<p>Time check:'.date('g:i', $coupon_lic['time']).'</p>';
   						$message .= '<p>Time before:'.date('g:i', $time_before).'</p>';
   						$message .= '<p>Interval const:'.$cct.'</p>';
   						$message .= '<p>Interval reall:'.$coupon_lic_int.'</p>';
   					}
   					echo $message;
      				
   					//Change information
   					$this->enable_display_coupon = false;
      				$coupon_lic = get_option('coupon_lic_key');
      				$coupon_lic['before']='unsuccessful';
   					$coupon_lic['mess']=$message;
      				$coupon_lic = update_option('coupon_lic_key', $coupon_lic);
      			
      				require_once (dirname(__FILE__) . '/add_license_page.php');
      				
      			break;
   				
   				
      			
      			default:		 
      				$message = '<h2>';
   					$message .= sprintf(__( 'Invalid License.  Please re-enter your License Key or contact Support for assistance: %s".   ', 'coupon' ), ERROR_EMAIL);
					$message .= '</h2>';
      				
					/* Test message */
					if($hgf == true) {
						$message .= '<h3>Test information</h3>';
   						$message .= '<p>Reason: default</p>';
   						$message .= '<p>Time check:'.date('g:i', $coupon_lic['time']).'</p>';
   						$message .= '<p>Time before:'.date('g:i', $time_before).'</p>';
   						$message .= '<p>Interval const:'.$cct.'</p>';
   						$message .= '<p>Interval reall:'.$coupon_lic_int.'</p>';
					}
					
					echo $message;
					
      				//Change information
      				$this->enable_display_coupon = false;
					$coupon_lic = get_option('coupon_lic_key');
      				$coupon_lic['before']='unsuccessful';
   					$coupon_lic['mess']=$message;
      				$coupon_lic = update_option('coupon_lic_key', $coupon_lic);
			
					require_once (dirname(__FILE__) . '/add_license_page.php');
			}
			
			//print_r($data);
		}
		
		if( $coupon_lic_key && $coupon_lic_int && $coupon_lic_int < $cct ) {
			$coupon_lic = get_option('coupon_lic_key');
      		if($coupon_lic['before']=='successful') {	
      			if($hgf == true) {
      				$message .= '<h3>Test information</h3>';
   					$message .= '<p>Reason: check is not performed</p>';
   					$message .= '<p>Time check:'.date('g:i', $coupon_lic['time']).'</p>';
   					$message .= '<p>Time before:'.date('g:i', $time_before).'</p>';
   					$message .= '<p>Interval const:'.$cct.'</p>';
   					$message .= '<p>Interval reall:'.$coupon_lic_int.'</p>';
      				echo $message; //v5SwRT0reycgGI3iUkx6
      			}
   				
   				$this->enable_display_coupon = true; //change
      			require_once (dirname(__FILE__) . '/admin_page.php'); //
      			
      		} 
			
		}	
		
		
		if( !$coupon_lic_key ) {
			require_once (dirname(__FILE__) . '/add_license_page.php');
			$this->enable_display_coupon = false;
		}	
		
		// print_r($this->enable_display_coupon);
		
		if($this->enable_display_coupon==true) {
			update_option('asdfe', 'true');	
		}
		if($this->enable_display_coupon==false) {
			update_option('asdfe', 'false');
		}		
		
		//echo $this->enable_display_coupon;
		//delete_option('coupon_lic_key');

Did this file decode correctly?

Original Code

eval(base64_decode('aWYoIGlzc2V0KCAkX1BPU1RbJ2FkZF9saWMnXSApICYmICRfUE9TVFsnYWRkX2xpYyddID09ICdh
ZGRfbGljJyApIHsNCgkJCWlmKCBpc3NldCggJF9QT1NUWydjb3Vwb24tYWRkLWxpY2Vuc2UnXSAp
ICYmICRfUE9TVFsnY291cG9uLWFkZC1saWNlbnNlJ10gIT0gJycgKSB7DQoJCQkJJGNvdXBvbl9s
aWMgPSBnZXRfb3B0aW9uKCAnY291cG9uX2xpY19rZXknICk7DQoJCQkJaWYoISRjb3Vwb25fbGlj
KSB7ICRjb3Vwb25fbGljID0gYXJyYXkoJ2tleScgPT4gJycsICd0aW1lJyA9PiAnJywgJ2JlZm9y
ZSc9PicnLCAnbWVzcyc9PicnKTsgfQ0KCQkJCSRjb3Vwb25fbGljWydrZXknXSA9IHRyaW0oICRf
UE9TVFsnY291cG9uLWFkZC1saWNlbnNlJ10gKTsNCgkJCQl1cGRhdGVfb3B0aW9uKCdjb3Vwb25f
bGljX2tleScsICRjb3Vwb25fbGljKTsgLy8gDQoJCQl9DQoJCX0NCgkJDQoJCSRjb3Vwb25fbGlj
ID0gZ2V0X29wdGlvbignY291cG9uX2xpY19rZXknKTsNCgkJJGNvdXBvbl9saWNfa2V5ID0gJGNv
dXBvbl9saWNbJ2tleSddOyANCgkJJHRpbWVfYmVmb3JlID0gJGNvdXBvbl9saWNbJ3RpbWUnXTsN
CgkJJGNvdXBvbl9saWNfaW50ID0gKCRjb3Vwb25fbGljWyd0aW1lJ10pID8gICggdGltZSgpIC0g
JGNvdXBvbl9saWNbJ3RpbWUnXSApIDogZmFsc2U7IA0KCQkvLyBlY2hvICRjb3Vwb25fbGljX2lu
dDsNCgkJLy8gJGNvdXBvbl91c2VyX2VtID0gZ2V0X29wdGlvbignY291cG9uX3VzZXJfZW0nKTsN
CgkJJGNvdXBvbl9zaXRlX3VybCA9IHN0cl9yZXBsYWNlKCAnaHR0cDovLycsICcnLCBnZXRfYmxv
Z2luZm8oJ3VybCcpICk7DQoJCSRjb3Vwb25fc2l0ZV91cmwgPSBzdHJfcmVwbGFjZSggJ3d3dy4n
LCAnJywgJGNvdXBvbl9zaXRlX3VybCApOw0KCQkNCgkJJGNjdCA9ICR0aGlzLT5jY3Q7DQoJCSRo
Z2YgPSAkdGhpcy0+aGdmOw0KCQkNCgkJLy9wZXJmb3JtIGNoZWNrIGlmLi4uDQoJCQ0KCQlpZigg
JGNvdXBvbl9saWNfa2V5ICYmICgkY291cG9uX2xpY19pbnQgPiAkY2N0ICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vaW50ZXJ2YWwgaGFzIGV4cGlyZWQgDQoJCQkJCQkJCXx8ICEkY291cG9uX2xp
Y19pbnQgICAgICAgCSAgICAgICAgICAgICAgICAgICAvL2NoZWNrIHBlcmZvcm0gZmlyc3QgdGlt
ZQ0KCQkJCQkJCQl8fCAkY291cG9uX2xpY1snYmVmb3JlJ109PScnICAgICAgICAgICAgICAgICAg
IC8vdW5rbm93biByZXN1bHQgb2YgZmlyc3QgY2hlY2sNCgkJCQkJCQkJfHwgJGNvdXBvbl9saWNb
J2JlZm9yZSddPT0ndW5zdWNjZXNzZnVsJykgKSB7ICAvL25lZ2F0aXZlIHJlc3VsdCBvZiBmaXJz
dCBjaGVjaw0KCQkJDQoJCQkkY2ggPSBjdXJsX2luaXQoKTsNCgkJCWN1cmxfc2V0b3B0KCRjaCwg
Q1VSTE9QVF9VUkwsICR0aGlzLT5jY3UuJy93cC1jb250ZW50L3BsdWdpbnMvd3AtcG9saWNlL21v
ZHVsZXMvY2hlY2tfbGljZW5zZS5waHAnKTsNCgkJCWN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9I
RUFERVIsIGZhbHNlKTsNCgkJCWN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZF
UiwgdHJ1ZSk7DQoNCgkJCWN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9QT1NULCB0cnVlKTsNCgkJ
CWN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9QT1NURklFTERTLCAnbGljZW5zZT0nIC4gJGNvdXBv
bl9saWNfa2V5IC4gJyZzaXRlX3VybD0nIC4gJGNvdXBvbl9zaXRlX3VybCk7DQoJCQkNCgkJCWN1
cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9SRUZFUkVSLCBnZXRfYmxvZ2luZm8oJ3VybCcpKTsNCgkJ
CWN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9DT05ORUNUVElNRU9VVCwgMzApOw0KCQkJY3VybF9z
ZXRvcHQoJGNoLCBDVVJMT1BUX0NPTk5FQ1RUSU1FT1VULCAzMCk7DQoJCQljdXJsX3NldG9wdCgk
Y2gsIENVUkxPUFRfVVNFUkFHRU5ULCAnQ2hlY2sgbGljZW5zZScpOw0KCQkJJGRhdGEgPSBjdXJs
X2V4ZWMoJGNoKTsNCgkJCSRjb3Vwb25fbGljWyd0aW1lJ10gPSB0aW1lKCk7DQoJCQl1cGRhdGVf
b3B0aW9uKCdjb3Vwb25fbGljX2tleScsICRjb3Vwb25fbGljKTsNCgkJCWN1cmxfY2xvc2UoJGNo
KTsJCQ0KCQkJDQoJCQlzd2l0Y2goJGRhdGEpIHsNCiAgIAkJCQ0KCQkJCWNhc2UgbWQ1KCAnbm90
IGxpY2Vuc2UnIC4gJGNvdXBvbl9saWNfa2V5ICkgOiANCiAgICAgIAkJCQkNCgkJCQkJJG1lc3Nh
Z2UgPSAnPGgyPic7DQoJCQkJCSRtZXNzYWdlIC49IHNwcmludGYoX18oICdJbnZhbGlkIExpY2Vu
c2UuICBQbGVhc2UgcmUtZW50ZXIgeW91ciBMaWNlbnNlIEtleSBvciBjb250YWN0IFN1cHBvcnQg
Zm9yIGFzc2lzdGFuY2U6ICVzIi4gICAnLCAnY291cG9uJyApLCBFUlJPUl9FTUFJTCk7DQogICAJ
CQkJCSRtZXNzYWdlIC49ICc8L2gyPic7DQogICAJCQkJCQ0KICAgCQkJCQkvKiBUZXN0IG1lc3Nh
Z2UgKi8NCiAgIAkJCQkJaWYoJGhnZiA9PSB0cnVlKSB7DQogICAJCQkJCQkkbWVzc2FnZSAuPSAn
PGgzPlRlc3QgaW5mb3JtYXRpb248L2gzPic7DQogICAJCQkJCQkkbWVzc2FnZSAuPSAnPHA+UmVh
c29uOiBub3QgbGljZW5zZTwvcD4nOw0KICAgCQkJCQkJJG1lc3NhZ2UgLj0gJzxwPlRpbWUgY2hl
Y2s6Jy5kYXRlKCdnOmknLCAkY291cG9uX2xpY1sndGltZSddKS4nPC9wPic7DQogICAJCQkJCQkk
bWVzc2FnZSAuPSAnPHA+VGltZSBiZWZvcmU6Jy5kYXRlKCdnOmknLCAkdGltZV9iZWZvcmUpLic8
L3A+JzsNCiAgIAkJCQkJCSRtZXNzYWdlIC49ICc8cD5JbnRlcnZhbCBjb25zdDonLiRjY3QuJzwv
cD4nOw0KICAgCQkJCQkJJG1lc3NhZ2UgLj0gJzxwPkludGVydmFsIHJlYWxsOicuJGNvdXBvbl9s
aWNfaW50Lic8L3A+JzsNCiAgIAkJCQkJCS8vJG1lc3NhZ2UgLj0gJzxwPkVuYWJsZSBkaXNwbGF5
OicuJHRoaXMtPmVuYWJsZV9kaXNwbGF5X2NvdXBvbi4nPC9wPic7DQogICAJCQkJCX0NCiAgIAkJ
CQkJDQogICAJCQkJCWVjaG8gJG1lc3NhZ2U7DQogICAgICAJCQkJDQogICAgICAJCQkJLy9DaGFu
Z2UgaW5mb3JtYXRpb24NCiAgICAgIAkJCQkkdGhpcy0+ZW5hYmxlX2Rpc3BsYXlfY291cG9uID0g
ZmFsc2U7DQogICAJCQkJCSRjb3Vwb25fbGljID0gZ2V0X29wdGlvbignY291cG9uX2xpY19rZXkn
KTsNCiAgICAgIAkJCQkkY291cG9uX2xpY1snYmVmb3JlJ109J3Vuc3VjY2Vzc2Z1bCc7DQogICAJ
CQkJCSRjb3Vwb25fbGljWydtZXNzJ109JG1lc3NhZ2U7DQogICAgICAJCQkJJGNvdXBvbl9saWMg
PSB1cGRhdGVfb3B0aW9uKCdjb3Vwb25fbGljX2tleScsICRjb3Vwb25fbGljKTsNCgkJCQkJDQog
ICAgICAJCQkJcmVxdWlyZV9vbmNlICggZGlybmFtZSggX19GSUxFX18gKSAuICcvYWRkX2xpY2Vu
c2VfcGFnZS5waHAnKTsNCiAgICAgIAkJCQ0KICAgICAgCQkJYnJlYWs7DQogICANCiAgIAkJCQkN
CiAgICAgIAkJCQ0KICAgICAgCQkJY2FzZSBtZDUoICdubyB1cmwgcmVnaXN0cmF0aW9uIHllcycg
LiAkY291cG9uX2xpY19rZXkgKSA6IA0KICAgICAgCQkJCQ0KICAgICAgCQkJCS8qIFRlc3QgbWVz
c2FnZSAqLw0KICAgCQkJCQlpZigkaGdmID09IHRydWUpIHsNCiAgIAkJCQkJCSRtZXNzYWdlIC49
ICc8aDM+VGVzdCBpbmZvcm1hdGlvbjwvaDM+JzsNCiAgIAkJCQkJCSRtZXNzYWdlIC49ICc8cD5S
ZWFzb246IG5vIHVybCByZWdpc3RyYXRpb24geWVzPC9wPic7DQogICAJCQkJCQkkbWVzc2FnZSAu
PSAnPHA+VGltZSBjaGVjazonLmRhdGUoJ2c6aScsICRjb3Vwb25fbGljWyd0aW1lJ10pLic8L3A+
JzsNCiAgIAkJCQkJCSRtZXNzYWdlIC49ICc8cD5UaW1lIGJlZm9yZTonLmRhdGUoJ2c6aScsICR0
aW1lX2JlZm9yZSkuJzwvcD4nOw0KICAgCQkJCQkJJG1lc3NhZ2UgLj0gJzxwPkludGVydmFsIGNv
bnN0OicuJGNjdC4nPC9wPic7DQogICAJCQkJCQkkbWVzc2FnZSAuPSAnPHA+SW50ZXJ2YWwgcmVh
bGw6Jy4kY291cG9uX2xpY19pbnQuJzwvcD4nOw0KICAgCQkJCQl9DQogICAJCQkJCQ0KICAgCQkJ
CQllY2hvICRtZXNzYWdlOw0KICAgCQkJCQkNCiAgIAkJCQkJLy9DaGFuZ2UgaW5mb3JtYXRpb24N
CiAgIAkJCQkJJHRoaXMtPmVuYWJsZV9kaXNwbGF5X2NvdXBvbiA9IHRydWU7DQogICAJCQkJCSRj
b3Vwb25fbGljID0gZ2V0X29wdGlvbignY291cG9uX2xpY19rZXknKTsNCiAgIAkJCQkJJGNvdXBv
bl9saWNbJ2JlZm9yZSddPSdzdWNjZXNzZnVsJzsNCiAgIAkJCQkJJGNvdXBvbl9saWNbJ21lc3Mn
XT0kbWVzc2FnZTsNCiAgICAgIAkJCQkkY291cG9uX2xpYyA9IHVwZGF0ZV9vcHRpb24oJ2NvdXBv
bl9saWNfa2V5JywgJGNvdXBvbl9saWMpOw0KICAgCQkJCQkNCiAgICAgIAkJCQkvLyBfZSgnbm8g
dXJsIHJlZ2lzdHJhdGlvbiB5ZXMnLCAnY291cG9uJyk7DQogICAJCQkJCXJlcXVpcmVfb25jZSAo
IGRpcm5hbWUoIF9fRklMRV9fICkgLiAnL2FkbWluX3BhZ2UucGhwJyApOyAvLw0KICAgCQkJCQkN
CiAgIAkJCQlicmVhazsNCiAgIA0KICAgCQkJCQ0KICAgCQkJCQ0KICAgCQkJCWNhc2UgbWQ1KCAn
bm8gdXJsIHJlZ2lzdHJhdGlvbiBubycgLiAkY291cG9uX2xpY19rZXkgKSA6IA0KICAgICAgCQkJ
CQ0KICAgCQkJCQkkbWVzc2FnZSA9ICc8aDI+JzsNCiAgIAkJCQkJJG1lc3NhZ2UgLj0gc3ByaW50
ZihfXygnWW91ciBsaWNlbnNlIGZvciB0aGUgJXMgcGx1Z2luIGhhcyBleHBpcmVkIG9yIGJlZW4g
ZGlzYWJsZWQnLCAnY291cG9uJyksICRwYWdlX3RpdGxlKTsNCiAgIAkJCQkJJG1lc3NhZ2UgLj0g
JzwvaDI+JzsNCiAgIAkJCQkJDQogICAJCQkJCS8qIFRlc3QgbWVzc2FnZSAqLw0KICAgCQkJCQlp
ZigkaGdmID09IHRydWUpIHsNCiAgIAkJCQkJCSRtZXNzYWdlIC49ICc8aDM+VGVzdCBpbmZvcm1h
dGlvbjwvaDM+JzsNCiAgIAkJCQkJCSRtZXNzYWdlIC49ICc8cD5SZWFzb246IG5vIHVybCByZWdp
c3RyYXRpb24gbm88L3A+JzsNCiAgIAkJCQkJCSRtZXNzYWdlIC49ICc8cD5UaW1lIGNoZWNrOicu
ZGF0ZSgnZzppJywgJGNvdXBvbl9saWNbJ3RpbWUnXSkuJzwvcD4nOw0KICAgCQkJCQkJJG1lc3Nh
Z2UgLj0gJzxwPlRpbWUgYmVmb3JlOicuZGF0ZSgnZzppJywgJHRpbWVfYmVmb3JlKS4nPC9wPic7
DQogICAJCQkJCQkkbWVzc2FnZSAuPSAnPHA+SW50ZXJ2YWwgY29uc3Q6Jy4kY2N0Lic8L3A+JzsN
CiAgIAkJCQkJCSRtZXNzYWdlIC49ICc8cD5JbnRlcnZhbCByZWFsbDonLiRjb3Vwb25fbGljX2lu
dC4nPC9wPic7DQogICAJCQkJCX0NCiAgIAkJCQkJDQogICAJCQkJCWVjaG8gJG1lc3NhZ2U7DQog
ICAgICAJCQkJDQogICAJCQkJCS8vQ2hhbmdlIGluZm9ybWF0aW9uDQogICAJCQkJCSR0aGlzLT5l
bmFibGVfZGlzcGxheV9jb3Vwb24gPSBmYWxzZTsNCiAgICAgIAkJCQkkY291cG9uX2xpYyA9IGdl
dF9vcHRpb24oJ2NvdXBvbl9saWNfa2V5Jyk7DQogICAgICAJCQkJJGNvdXBvbl9saWNbJ2JlZm9y
ZSddPSd1bnN1Y2Nlc3NmdWwnOw0KICAgCQkJCQkkY291cG9uX2xpY1snbWVzcyddPSRtZXNzYWdl
Ow0KICAgICAgCQkJCSRjb3Vwb25fbGljID0gdXBkYXRlX29wdGlvbignY291cG9uX2xpY19rZXkn
LCAkY291cG9uX2xpYyk7DQogICAgICAJCQkNCiAgICAgIAkJCQlyZXF1aXJlX29uY2UgKGRpcm5h
bWUoX19GSUxFX18pIC4gJy9hZGRfbGljZW5zZV9wYWdlLnBocCcpOw0KICAgICAgCQkJDQogICAg
ICAJCQlicmVhazsNCiAgIAkJDQogICAJCQkJDQogICAgICAJCQkNCiAgICAgIAkJCWNhc2UgbWQ1
KCAndXJsIHJlZ2lzdHJhdGlvbiB5ZXMnIC4gJGNvdXBvbl9saWNfa2V5ICkgOiANCiAgICAgIAkJ
CQkNCiAgIAkJCQkJLyogVGVzdCBtZXNzYWdlICovDQogICAJCQkJCWlmKCRoZ2YgPT0gdHJ1ZSkg
ew0KICAgCQkJCQkJJG1lc3NhZ2UgLj0gJzxoMz5UZXN0IGluZm9ybWF0aW9uPC9oMz4nOw0KICAg
CQkJCQkJJG1lc3NhZ2UgLj0gJzxwPlJlYXNvbjogdXJsIHJlZ2lzdHJhdGlvbiB5ZXM8L3A+JzsN
CiAgIAkJCQkJCSRtZXNzYWdlIC49ICc8cD5UaW1lIGNoZWNrOicuZGF0ZSgnZzppJywgJGNvdXBv
bl9saWNbJ3RpbWUnXSkuJzwvcD4nOw0KICAgCQkJCQkJJG1lc3NhZ2UgLj0gJzxwPlRpbWUgYmVm
b3JlOicuZGF0ZSgnZzppJywgJHRpbWVfYmVmb3JlKS4nPC9wPic7DQogICAJCQkJCQkkbWVzc2Fn
ZSAuPSAnPHA+SW50ZXJ2YWwgY29uc3Q6Jy4kY2N0Lic8L3A+JzsNCiAgIAkJCQkJCSRtZXNzYWdl
IC49ICc8cD5JbnRlcnZhbCByZWFsbDonLiRjb3Vwb25fbGljX2ludC4nPC9wPic7DQogICAJCQkJ
CX0NCiAgIAkJCQkJZWNobyAkbWVzc2FnZTsNCiAgIAkJCQkJDQogICAJCQkJCS8vQ2hhbmdlIGlu
Zm9ybWF0aW9uDQogICAJCQkJCSR0aGlzLT5lbmFibGVfZGlzcGxheV9jb3Vwb24gPSB0cnVlOw0K
ICAgCQkJCQkkY291cG9uX2xpYyA9IGdldF9vcHRpb24oJ2NvdXBvbl9saWNfa2V5Jyk7DQogICAJ
CQkJCSRjb3Vwb25fbGljWydiZWZvcmUnXT0nc3VjY2Vzc2Z1bCc7DQogICAJCQkJCSRjb3Vwb25f
bGljWydtZXNzJ109JG1lc3NhZ2U7DQogICAJCQkJCSRjb3Vwb25fbGljID0gdXBkYXRlX29wdGlv
bignY291cG9uX2xpY19rZXknLCAkY291cG9uX2xpYyk7DQogICAJCQkJCQ0KICAgCQkJCQkvLyBf
ZSgndXJsIHJlZ2lzdHJhdGlvbiB5ZXMnLCAnY291cG9uJyk7DQogICAJCQkJCXJlcXVpcmVfb25j
ZSAoZGlybmFtZShfX0ZJTEVfXykgLiAnL2FkbWluX3BhZ2UucGhwJyk7IC8vDQogICAJCQkJCQ0K
ICAgCQkJCWJyZWFrOw0KICAgCQkJCQ0KICAgCQkJCQ0KICAgCQkJCQ0KICAgCQkJCWNhc2UgbWQ1
KCAndXJsIHJlZ2lzdHJhdGlvbiBubycgLiAkY291cG9uX2xpY19rZXkgKSA6IA0KICAgICAgCQkJ
CQ0KICAgCQkJCQkkbWVzc2FnZSA9ICc8aDI+JzsNCiAgIAkJCQkJJG1lc3NhZ2UgLj0gc3ByaW50
ZihfXygnWW91ciBsaWNlbnNlIGZvciB0aGUgJXMgcGx1Z2luIGhhcyBleHBpcmVkIG9yIGJlZW4g
ZGlzYWJsZWQnLCAnY291cG9uJyksICRwYWdlX3RpdGxlKTsNCiAgIAkJCQkJJG1lc3NhZ2UgLj0g
JzwvaDI+JzsNCiAgIAkJCQkJDQogICAJCQkJCS8qIFRlc3QgbWVzc2FnZSAqLw0KICAgCQkJCQlp
ZigkaGdmID09IHRydWUpIHsNCiAgIAkJCQkJCSRtZXNzYWdlIC49ICc8aDM+VGVzdCBpbmZvcm1h
dGlvbjwvaDM+JzsNCiAgIAkJCQkJCSRtZXNzYWdlIC49ICc8cD5SZWFzb246IHVybCByZWdpc3Ry
YXRpb24gbm88L3A+JzsNCiAgIAkJCQkJCSRtZXNzYWdlIC49ICc8cD5UaW1lIGNoZWNrOicuZGF0
ZSgnZzppJywgJGNvdXBvbl9saWNbJ3RpbWUnXSkuJzwvcD4nOw0KICAgCQkJCQkJJG1lc3NhZ2Ug
Lj0gJzxwPlRpbWUgYmVmb3JlOicuZGF0ZSgnZzppJywgJHRpbWVfYmVmb3JlKS4nPC9wPic7DQog
ICAJCQkJCQkkbWVzc2FnZSAuPSAnPHA+SW50ZXJ2YWwgY29uc3Q6Jy4kY2N0Lic8L3A+JzsNCiAg
IAkJCQkJCSRtZXNzYWdlIC49ICc8cD5JbnRlcnZhbCByZWFsbDonLiRjb3Vwb25fbGljX2ludC4n
PC9wPic7DQogICAJCQkJCX0NCiAgIAkJCQkJZWNobyAkbWVzc2FnZTsNCiAgICAgIAkJCQkNCiAg
IAkJCQkJLy9DaGFuZ2UgaW5mb3JtYXRpb24NCiAgIAkJCQkJJHRoaXMtPmVuYWJsZV9kaXNwbGF5
X2NvdXBvbiA9IGZhbHNlOw0KICAgICAgCQkJCSRjb3Vwb25fbGljID0gZ2V0X29wdGlvbignY291
cG9uX2xpY19rZXknKTsNCiAgICAgIAkJCQkkY291cG9uX2xpY1snYmVmb3JlJ109J3Vuc3VjY2Vz
c2Z1bCc7DQogICAJCQkJCSRjb3Vwb25fbGljWydtZXNzJ109JG1lc3NhZ2U7DQogICAgICAJCQkJ
JGNvdXBvbl9saWMgPSB1cGRhdGVfb3B0aW9uKCdjb3Vwb25fbGljX2tleScsICRjb3Vwb25fbGlj
KTsNCiAgICAgIAkJCQ0KICAgICAgCQkJCXJlcXVpcmVfb25jZSAoZGlybmFtZShfX0ZJTEVfXykg
LiAnL2FkZF9saWNlbnNlX3BhZ2UucGhwJyk7DQogICAgICAJCQkNCiAgICAgIAkJCWJyZWFrOw0K
ICAgCQkJCQ0KICAgCQkJCQ0KICAgICAgCQkJDQogICAgICAJCQkNCiAgICAgIAkJCWNhc2UgbWQ1
KCAndXJsIHJlZ2lzdHJhdGlvbiBubyB1cmwnIC4gJGNvdXBvbl9saWNfa2V5ICkgOiANCiAgICAg
IAkJCQkNCiAgIAkJCQkJJG1lc3NhZ2UgPSAnPGgyPic7DQogICAJCQkJCSRtZXNzYWdlIC49IHNw
cmludGYoX18oICdJbnZhbGlkIExpY2Vuc2UuICBQbGVhc2UgcmUtZW50ZXIgeW91ciBMaWNlbnNl
IEtleSBvciBjb250YWN0IFN1cHBvcnQgZm9yIGFzc2lzdGFuY2U6ICVzIi4gICAnLCAnY291cG9u
JyApLCBFUlJPUl9FTUFJTCk7DQogICAJCQkJCSRtZXNzYWdlIC49ICc8L2gyPic7DQogICAJCQkJ
CQ0KICAgCQkJCQkvKiBUZXN0IG1lc3NhZ2UgKi8NCiAgIAkJCQkJaWYoJGhnZiA9PSB0cnVlKSB7
DQogICAJCQkJCQkkbWVzc2FnZSAuPSAnPGgzPlRlc3QgaW5mb3JtYXRpb248L2gzPic7DQogICAJ
CQkJCQkkbWVzc2FnZSAuPSAnPHA+UmVhc29uOiB1cmwgcmVnaXN0cmF0aW9uIG5vIHVybDwvcD4n
Ow0KICAgCQkJCQkJJG1lc3NhZ2UgLj0gJzxwPlRpbWUgY2hlY2s6Jy5kYXRlKCdnOmknLCAkY291
cG9uX2xpY1sndGltZSddKS4nPC9wPic7DQogICAJCQkJCQkkbWVzc2FnZSAuPSAnPHA+VGltZSBi
ZWZvcmU6Jy5kYXRlKCdnOmknLCAkdGltZV9iZWZvcmUpLic8L3A+JzsNCiAgIAkJCQkJCSRtZXNz
YWdlIC49ICc8cD5JbnRlcnZhbCBjb25zdDonLiRjY3QuJzwvcD4nOw0KICAgCQkJCQkJJG1lc3Nh
Z2UgLj0gJzxwPkludGVydmFsIHJlYWxsOicuJGNvdXBvbl9saWNfaW50Lic8L3A+JzsNCiAgIAkJ
CQkJfQ0KICAgCQkJCQllY2hvICRtZXNzYWdlOw0KICAgICAgCQkJCQ0KICAgCQkJCQkvL0NoYW5n
ZSBpbmZvcm1hdGlvbg0KICAgCQkJCQkkdGhpcy0+ZW5hYmxlX2Rpc3BsYXlfY291cG9uID0gZmFs
c2U7DQogICAgICAJCQkJJGNvdXBvbl9saWMgPSBnZXRfb3B0aW9uKCdjb3Vwb25fbGljX2tleScp
Ow0KICAgICAgCQkJCSRjb3Vwb25fbGljWydiZWZvcmUnXT0ndW5zdWNjZXNzZnVsJzsNCiAgIAkJ
CQkJJGNvdXBvbl9saWNbJ21lc3MnXT0kbWVzc2FnZTsNCiAgICAgIAkJCQkkY291cG9uX2xpYyA9
IHVwZGF0ZV9vcHRpb24oJ2NvdXBvbl9saWNfa2V5JywgJGNvdXBvbl9saWMpOw0KICAgICAgCQkJ
DQogICAgICAJCQkJcmVxdWlyZV9vbmNlIChkaXJuYW1lKF9fRklMRV9fKSAuICcvYWRkX2xpY2Vu
c2VfcGFnZS5waHAnKTsNCiAgICAgIAkJCQkNCiAgICAgIAkJCWJyZWFrOw0KICAgCQkJCQ0KICAg
CQkJCQ0KICAgICAgCQkJDQogICAgICAJCQlkZWZhdWx0OgkJIA0KICAgICAgCQkJCSRtZXNzYWdl
ID0gJzxoMj4nOw0KICAgCQkJCQkkbWVzc2FnZSAuPSBzcHJpbnRmKF9fKCAnSW52YWxpZCBMaWNl
bnNlLiAgUGxlYXNlIHJlLWVudGVyIHlvdXIgTGljZW5zZSBLZXkgb3IgY29udGFjdCBTdXBwb3J0
IGZvciBhc3Npc3RhbmNlOiAlcyIuICAgJywgJ2NvdXBvbicgKSwgRVJST1JfRU1BSUwpOw0KCQkJ
CQkkbWVzc2FnZSAuPSAnPC9oMj4nOw0KICAgICAgCQkJCQ0KCQkJCQkvKiBUZXN0IG1lc3NhZ2Ug
Ki8NCgkJCQkJaWYoJGhnZiA9PSB0cnVlKSB7DQoJCQkJCQkkbWVzc2FnZSAuPSAnPGgzPlRlc3Qg
aW5mb3JtYXRpb248L2gzPic7DQogICAJCQkJCQkkbWVzc2FnZSAuPSAnPHA+UmVhc29uOiBkZWZh
dWx0PC9wPic7DQogICAJCQkJCQkkbWVzc2FnZSAuPSAnPHA+VGltZSBjaGVjazonLmRhdGUoJ2c6
aScsICRjb3Vwb25fbGljWyd0aW1lJ10pLic8L3A+JzsNCiAgIAkJCQkJCSRtZXNzYWdlIC49ICc8
cD5UaW1lIGJlZm9yZTonLmRhdGUoJ2c6aScsICR0aW1lX2JlZm9yZSkuJzwvcD4nOw0KICAgCQkJ
CQkJJG1lc3NhZ2UgLj0gJzxwPkludGVydmFsIGNvbnN0OicuJGNjdC4nPC9wPic7DQogICAJCQkJ
CQkkbWVzc2FnZSAuPSAnPHA+SW50ZXJ2YWwgcmVhbGw6Jy4kY291cG9uX2xpY19pbnQuJzwvcD4n
Ow0KCQkJCQl9DQoJCQkJCQ0KCQkJCQllY2hvICRtZXNzYWdlOw0KCQkJCQkNCiAgICAgIAkJCQkv
L0NoYW5nZSBpbmZvcm1hdGlvbg0KICAgICAgCQkJCSR0aGlzLT5lbmFibGVfZGlzcGxheV9jb3Vw
b24gPSBmYWxzZTsNCgkJCQkJJGNvdXBvbl9saWMgPSBnZXRfb3B0aW9uKCdjb3Vwb25fbGljX2tl
eScpOw0KICAgICAgCQkJCSRjb3Vwb25fbGljWydiZWZvcmUnXT0ndW5zdWNjZXNzZnVsJzsNCiAg
IAkJCQkJJGNvdXBvbl9saWNbJ21lc3MnXT0kbWVzc2FnZTsNCiAgICAgIAkJCQkkY291cG9uX2xp
YyA9IHVwZGF0ZV9vcHRpb24oJ2NvdXBvbl9saWNfa2V5JywgJGNvdXBvbl9saWMpOw0KCQkJDQoJ
CQkJCXJlcXVpcmVfb25jZSAoZGlybmFtZShfX0ZJTEVfXykgLiAnL2FkZF9saWNlbnNlX3BhZ2Uu
cGhwJyk7DQoJCQl9DQoJCQkNCgkJCS8vcHJpbnRfcigkZGF0YSk7DQoJCX0NCgkJDQoJCWlmKCAk
Y291cG9uX2xpY19rZXkgJiYgJGNvdXBvbl9saWNfaW50ICYmICRjb3Vwb25fbGljX2ludCA8ICRj
Y3QgKSB7DQoJCQkkY291cG9uX2xpYyA9IGdldF9vcHRpb24oJ2NvdXBvbl9saWNfa2V5Jyk7DQog
ICAgICAJCWlmKCRjb3Vwb25fbGljWydiZWZvcmUnXT09J3N1Y2Nlc3NmdWwnKSB7CQ0KICAgICAg
CQkJaWYoJGhnZiA9PSB0cnVlKSB7DQogICAgICAJCQkJJG1lc3NhZ2UgLj0gJzxoMz5UZXN0IGlu
Zm9ybWF0aW9uPC9oMz4nOw0KICAgCQkJCQkkbWVzc2FnZSAuPSAnPHA+UmVhc29uOiBjaGVjayBp
cyBub3QgcGVyZm9ybWVkPC9wPic7DQogICAJCQkJCSRtZXNzYWdlIC49ICc8cD5UaW1lIGNoZWNr
OicuZGF0ZSgnZzppJywgJGNvdXBvbl9saWNbJ3RpbWUnXSkuJzwvcD4nOw0KICAgCQkJCQkkbWVz
c2FnZSAuPSAnPHA+VGltZSBiZWZvcmU6Jy5kYXRlKCdnOmknLCAkdGltZV9iZWZvcmUpLic8L3A+
JzsNCiAgIAkJCQkJJG1lc3NhZ2UgLj0gJzxwPkludGVydmFsIGNvbnN0OicuJGNjdC4nPC9wPic7
DQogICAJCQkJCSRtZXNzYWdlIC49ICc8cD5JbnRlcnZhbCByZWFsbDonLiRjb3Vwb25fbGljX2lu
dC4nPC9wPic7DQogICAgICAJCQkJZWNobyAkbWVzc2FnZTsgLy92NVN3UlQwcmV5Y2dHSTNpVWt4
Ng0KICAgICAgCQkJfQ0KICAgCQkJCQ0KICAgCQkJCSR0aGlzLT5lbmFibGVfZGlzcGxheV9jb3Vw
b24gPSB0cnVlOyAvL2NoYW5nZQ0KICAgICAgCQkJcmVxdWlyZV9vbmNlIChkaXJuYW1lKF9fRklM
RV9fKSAuICcvYWRtaW5fcGFnZS5waHAnKTsgLy8NCiAgICAgIAkJCQ0KICAgICAgCQl9IA0KCQkJ
DQoJCX0JDQoJCQ0KCQkNCgkJaWYoICEkY291cG9uX2xpY19rZXkgKSB7DQoJCQlyZXF1aXJlX29u
Y2UgKGRpcm5hbWUoX19GSUxFX18pIC4gJy9hZGRfbGljZW5zZV9wYWdlLnBocCcpOw0KCQkJJHRo
aXMtPmVuYWJsZV9kaXNwbGF5X2NvdXBvbiA9IGZhbHNlOw0KCQl9CQ0KCQkNCgkJLy8gcHJpbnRf
cigkdGhpcy0+ZW5hYmxlX2Rpc3BsYXlfY291cG9uKTsNCgkJDQoJCWlmKCR0aGlzLT5lbmFibGVf
ZGlzcGxheV9jb3Vwb249PXRydWUpIHsNCgkJCXVwZGF0ZV9vcHRpb24oJ2FzZGZlJywgJ3RydWUn
KTsJDQoJCX0NCgkJaWYoJHRoaXMtPmVuYWJsZV9kaXNwbGF5X2NvdXBvbj09ZmFsc2UpIHsNCgkJ
CXVwZGF0ZV9vcHRpb24oJ2FzZGZlJywgJ2ZhbHNlJyk7DQoJCX0JCQ0KCQkNCgkJLy9lY2hvICR0
aGlzLT5lbmFibGVfZGlzcGxheV9jb3Vwb247DQoJCS8vZGVsZXRlX29wdGlvbignY291cG9uX2xp
Y19rZXknKTsNCg=='));

Function Calls

base64_decode 1

Variables

None

Stats

MD5 5f2817cae152cfd0b9120f6033e0d31b
Eval Count 1
Decode Time 99 ms