Online PHP and Javascript Decoder decode hidden script to uncover its real functionality


Show other level

namespace Bitrix\Main\Security\W\Rules;
$GLOBALS['____830017208']= array(base64_decode('aXNfc3RyaW5n'),base64_decode('c3RydG9sb3dlcg=='),base64_decode('aXNfYXJyYXk='),base64_decode('aXNfc3RyaW5n'),base64_decode('Z3pkZWNvZGU='),base64_decode('YmFzZTY0X2RlY29kZQ=='),base64_decode('dXJsZGVjb2Rl'),base64_decode('YXJyYXlfcmV2ZXJzZQ=='),base64_decode('Z3plbmNvZGU='),base64_decode('YmFzZTY0X2VuY29kZQ=='),base64_decode('dXJsZW5jb2Rl'),base64_decode('YmluMmhleA=='),base64_decode('aXNfYXJyYXk='),base64_decode('c3RydG9sb3dlcg=='),base64_decode('aXNfYXJyYXk='),base64_decode('am9pbg=='),base64_decode('Zm5tYXRjaA=='),base64_decode('cmF3dXJsZGVjb2Rl'),base64_decode('c3Vic3Ry'),base64_decode('c3Vic3Ry'),base64_decode('c3RyX3JlcGxhY2U='),base64_decode('cHJlZ19xdW90ZQ=='),base64_decode('cHJlZ19tYXRjaA=='));
	if(!function_exists(__NAMESPACE__.'\\___382649677')){
		function ___382649677($_1875219387){
		static $_780509565= false;
		 if($_780509565 == false) $_780509565=array('YWN0aW9u','aW50dmFs','cGF0aA==','Y29udGV4dA==','a2V5cw==','cHJvY2Vzcw==','ZW5jb2Rpbmc=','cHJlZ19yZXBsYWNl','cGF0aA==','Y29udGV4dA==','a2V5cw==','cHJvY2Vzcw==','ZW5jb2Rpbmc=','cGF0dGVybg==','cHJlZ19tYXRjaA==','cGF0aA==','Y29udGV4dA==','a2V5cw==','cHJvY2Vzcw==','ZW5jb2Rpbmc=','cGF0dGVybg==','cG9zdF9hY3Rpb24=','Y2hlY2tfY3NyZg==','cGF0aA==','Y29udGV4dA==','a2V5cw==','cHJvY2Vzcw==','ZW5jb2Rpbmc=','cGF0dGVybg==','YWN0aW9u','YWN0aW9u','YWN0aW9u','YWN0aW9u','YWN0aW9u','YWN0aW9u','cG9zdF9hY3Rpb24=','ZW5jb2Rpbmc=','ZW5jb2Rpbmc=','ZW5jb2Rpbmc=','ZW5jb2Rpbmc=','ZW5jb2Rpbmc=','ZW5jb2Rpbmc=','Z3o=','YmFzZTY0','dXJs','aGV4','Lg==','Lw==','aW5kZXgucGhw','L2luZGV4LnBocA==','U0NSSVBUX05BTUU=','L2luZGV4LnBocA==','U0NSSVBUX05BTUU=','U0NSSVBUX05BTUU=','U0NSSVBUX05BTUU=','fg==','fl4=','fg==','XH4=','JH4=');
		return base64_decode($_780509565[$_1875219387]);
	}
};
 use Bitrix\Main\IO\Path;
 use Bitrix\Main\Web\Uri;
 use Bitrix\Main\Security\W\Rules\Results\ModifyResult;
	 abstract class Rule{
	 protected $_2134305518;
	 protected $_570645104;
	 protected $_477114732;
	 protected $_921733102;
	 protected $_343286610;
		 public static function make(array $_1624445452):?static{
		 $_1624445452= static::prepareRuleParameters($_1624445452);
			 return match($_1624445452[___382649677(0)]){
			 ___382649677(1) => new IntvalRule( $_1624445452[___382649677(2)], $_1624445452[___382649677(3)], $_1624445452[___382649677(4)], $_1624445452[___382649677(5)], $_1624445452[___382649677(6)]), ___382649677(7) => new PregReplaceRule( $_1624445452[___382649677(8)], $_1624445452[___382649677(9)], $_1624445452[___382649677(10)], $_1624445452[___382649677(11)], $_1624445452[___382649677(12)], $_1624445452[___382649677(13)]), ___382649677(14) => new PregMatchRule( $_1624445452[___382649677(15)], $_1624445452[___382649677(16)], $_1624445452[___382649677(17)], $_1624445452[___382649677(18)], $_1624445452[___382649677(19)], $_1624445452[___382649677(20)], $_1624445452[___382649677(21)]), ___382649677(22) => new CsrfRule( $_1624445452[___382649677(23)], $_1624445452[___382649677(24)], $_1624445452[___382649677(25)], $_1624445452[___382649677(26)], $_1624445452[___382649677(27)], $_1624445452[___382649677(28)],), default => null,
		};
	}
		 protected static function prepareRuleParameters(array $_1226791046): array{
			 if($GLOBALS['____830017208'][0]($_1226791046[___382649677(29)])){
			 $_1226791046[___382649677(30)]= $GLOBALS['____830017208'][1]($_1226791046[___382649677(31)]);
		}
			 elseif($GLOBALS['____830017208'][2]($_1226791046[___382649677(32)])){
			 $_1513267481= $_1226791046[___382649677(33)];
			 $_1226791046[___382649677(34)]= $_1513267481[min(22,0,7.3333333333333)];
			 $_1226791046[___382649677(35)]= $_1513267481[round(0+1)];
		}
		 $_1226791046[___382649677(36)]=!empty($_1226791046[___382649677(37)])? $_1226791046[___382649677(38)]:[];
			 if($GLOBALS['____830017208'][3]($_1226791046[___382649677(39)])){
			 $_1226791046[___382649677(40)]=[$_1226791046[___382649677(41)]];
		}
		 return $_1226791046;
	}
		  public function __construct($_2134305518, $_570645104, $_477114732, $_921733102, $_343286610){
		 $this->_2134305518= $_2134305518;
		 $this->_570645104= $this->castContext($_570645104);
		 $this->_477114732= $this->castKeys($_477114732);
		 $this->_921733102= $_921733102;
		 $this->_343286610= $_343286610;
	}
	 public function echo $_2077732244;
		{
			 if(!empty($this->_343286610)){
				 foreach($this->_343286610 as $_167216108){
					 $_2077732244= match($_167216108){
					 'gz' => $GLOBALS['____830017208'][4]($_2077732244), 'base64' => $GLOBALS['____830017208'][5]($_2077732244), 'url' => $GLOBALS['____830017208'][6]($_2077732244), 'hex' => hex2bin($_2077732244)
				};
			}
		}
		 $_17300525= $this->evaluate($_2077732244);
			 if(!empty($this->_343286610) && $_17300525 instanceof ModifyResult){
			 $_371332965= $_17300525->getCleanValue();
				 foreach($GLOBALS['____830017208'][7]($this->_343286610) as $_167216108){
					 $_371332965= match($_167216108){
					 ___382649677(42) => $GLOBALS['____830017208'][8]($_371332965), ___382649677(43) => $GLOBALS['____830017208'][9]($_371332965), ___382649677(44) => $GLOBALS['____830017208'][10]($_371332965), ___382649677(45) => $GLOBALS['____830017208'][11]($_371332965)
				};
			}
			 $_17300525= new ModifyResult($_371332965);
		}
		 return $_17300525;
	}
	 abstract public function evaluate($_2077732244);
		 protected function castContext($_570645104){
			 if(!$GLOBALS['____830017208'][12]($_570645104)){
			 $_570645104=[$_570645104];
		}
			 foreach($_570645104 as $_2127317795 => $_869202545){
			 $_570645104[$_2127317795]= $GLOBALS['____830017208'][13]($_869202545);
		}
		 return $_570645104;
	}
		 protected function castKeys($_477114732){
			 if(!$GLOBALS['____830017208'][14]($_477114732)){
			 $_477114732=[$_477114732];
		}
		 return $_477114732;
	}
		 public function matchKey(array $_814110615): bool{
		 $_814110615= $GLOBALS['____830017208'][15](___382649677(46), $_814110615);
			 foreach($this->_477114732 as $_1141146471){
				   if($GLOBALS['____830017208'][16]($_1141146471, $_814110615)){
				 return true;
			}
		}
		 return false;
	}
		  public function matchPath($_903117546){
			 if($this->_2134305518 === '*'){
			 return true;
		}
		  $_1702363384= new Uri($_903117546);
		 $_1715066730= $_1702363384->getPath();
		 $_1715066730= $GLOBALS['____830017208'][17]($_1715066730);
			      if(str_ends_with($_1715066730, ___382649677(47))){
			 $_1715066730 .= ___382649677(48);
		}
		 $_1715066730= Path::normalize($_1715066730);
		  $_846585432[]= $_1715066730;
			 if(str_ends_with($_1715066730, ___382649677(49))){
			 $_846585432[]= $GLOBALS['____830017208'][18]($_1715066730,(1156/2-578),-round(0+2.25+2.25+2.25+2.25));
		}
			 elseif(str_ends_with($_SERVER[___382649677(50)], ___382649677(51))){
			 $_846585432[]= $GLOBALS['____830017208'][19]($_SERVER[___382649677(52)], min(156,0,52),-round(0+9));
		}
			 if($_1715066730 !== $_SERVER[___382649677(53)]){
			 $_846585432[]= $_SERVER[___382649677(54)];
		}
			  if(str_starts_with($this->_2134305518, ___382649677(55))){
			 $_1711437661= $this->_2134305518;
		}
			 else{
			 $_1711437661= ___382649677(56). $GLOBALS['____830017208'][20](___382649677(57), ___382649677(58), $GLOBALS['____830017208'][21]($this->_2134305518)). ___382649677(59);
		}
			 foreach($_846585432 as $_1699250198){
				 if($this->_2134305518 === $_1699250198 || $GLOBALS['____830017208'][22]($_1711437661, $_1699250198)){
				 return true;
			}
		}
		 return false;
	}
		  public function getPath(){
		 return $this->_2134305518;
	}
		  public function getContext(){
		 return $this->_570645104;
	}
		  public function getKeys(){
		 return $this->_477114732;
	}
		  public function getProcess(){
		 return $this->_921733102;
	}
}

namespace Bitrix\Main\Security\W\Rules;
$GLOBALS['____830017208']= array(base64_decode('aXNfc3RyaW5n'),base64_decode('c3RydG9sb3dlcg=='),base64_decode('aXNfYXJyYXk='),base64_decode('aXNfc3RyaW5n'),base64_decode('Z3pkZWNvZGU='),base64_decode('YmFzZTY0X2RlY29kZQ=='),base64_decode('dXJsZGVjb2Rl'),base64_decode('YXJyYXlfcmV2ZXJzZQ=='),base64_decode('Z3plbmNvZGU='),base64_decode('YmFzZTY0X2VuY29kZQ=='),base64_decode('dXJsZW5jb2Rl'),base64_decode('YmluMmhleA=='),base64_decode('aXNfYXJyYXk='),base64_decode('c3RydG9sb3dlcg=='),base64_decode('aXNfYXJyYXk='),base64_decode('am9pbg=='),base64_decode('Zm5tYXRjaA=='),base64_decode('cmF3dXJsZGVjb2Rl'),base64_decode('c3Vic3Ry'),base64_decode('c3Vic3Ry'),base64_decode('c3RyX3JlcGxhY2U='),base64_decode('cHJlZ19xdW90ZQ=='),base64_decode('cHJlZ19tYXRjaA=='));
	if(!function_exists(__NAMESPACE__.'\\___382649677')){
		function ___382649677($_1875219387){
		static $_780509565= false;
		 if($_780509565 == false) $_780509565=array('YWN0aW9u','aW50dmFs','cGF0aA==','Y29udGV4dA==','a2V5cw==','cHJvY2Vzcw==','ZW5jb2Rpbmc=','cHJlZ19yZXBsYWNl','cGF0aA==','Y29udGV4dA==','a2V5cw==','cHJvY2Vzcw==','ZW5jb2Rpbmc=','cGF0dGVybg==','cHJlZ19tYXRjaA==','cGF0aA==','Y29udGV4dA==','a2V5cw==','cHJvY2Vzcw==','ZW5jb2Rpbmc=','cGF0dGVybg==','cG9zdF9hY3Rpb24=','Y2hlY2tfY3NyZg==','cGF0aA==','Y29udGV4dA==','a2V5cw==','cHJvY2Vzcw==','ZW5jb2Rpbmc=','cGF0dGVybg==','YWN0aW9u','YWN0aW9u','YWN0aW9u','YWN0aW9u','YWN0aW9u','YWN0aW9u','cG9zdF9hY3Rpb24=','ZW5jb2Rpbmc=','ZW5jb2Rpbmc=','ZW5jb2Rpbmc=','ZW5jb2Rpbmc=','ZW5jb2Rpbmc=','ZW5jb2Rpbmc=','Z3o=','YmFzZTY0','dXJs','aGV4','Lg==','Lw==','aW5kZXgucGhw','L2luZGV4LnBocA==','U0NSSVBUX05BTUU=','L2luZGV4LnBocA==','U0NSSVBUX05BTUU=','U0NSSVBUX05BTUU=','U0NSSVBUX05BTUU=','fg==','fl4=','fg==','XH4=','JH4=');
		return base64_decode($_780509565[$_1875219387]);
	}
};
 use Bitrix\Main\IO\Path;
 use Bitrix\Main\Web\Uri;
 use Bitrix\Main\Security\W\Rules\Results\ModifyResult;
	 abstract class Rule{
	 protected $_2134305518;
	 protected $_570645104;
	 protected $_477114732;
	 protected $_921733102;
	 protected $_343286610;
		 public static function make(array $_1624445452):?static{
		 $_1624445452= static::prepareRuleParameters($_1624445452);
			 return match($_1624445452[___382649677(0)]){
			 ___382649677(1) => new IntvalRule( $_1624445452[___382649677(2)], $_1624445452[___382649677(3)], $_1624445452[___382649677(4)], $_1624445452[___382649677(5)], $_1624445452[___382649677(6)]), ___382649677(7) => new PregReplaceRule( $_1624445452[___382649677(8)], $_1624445452[___382649677(9)], $_1624445452[___382649677(10)], $_1624445452[___382649677(11)], $_1624445452[___382649677(12)], $_1624445452[___382649677(13)]), ___382649677(14) => new PregMatchRule( $_1624445452[___382649677(15)], $_1624445452[___382649677(16)], $_1624445452[___382649677(17)], $_1624445452[___382649677(18)], $_1624445452[___382649677(19)], $_1624445452[___382649677(20)], $_1624445452[___382649677(21)]), ___382649677(22) => new CsrfRule( $_1624445452[___382649677(23)], $_1624445452[___382649677(24)], $_1624445452[___382649677(25)], $_1624445452[___382649677(26)], $_1624445452[___382649677(27)], $_1624445452[___382649677(28)],), default => null,
		};
	}
		 protected static function prepareRuleParameters(array $_1226791046): array{
			 if($GLOBALS['____830017208'][0]($_1226791046[___382649677(29)])){
			 $_1226791046[___382649677(30)]= $GLOBALS['____830017208'][1]($_1226791046[___382649677(31)]);
		}
			 elseif($GLOBALS['____830017208'][2]($_1226791046[___382649677(32)])){
			 $_1513267481= $_1226791046[___382649677(33)];
			 $_1226791046[___382649677(34)]= $_1513267481[min(22,0,7.3333333333333)];
			 $_1226791046[___382649677(35)]= $_1513267481[round(0+1)];
		}
		 $_1226791046[___382649677(36)]=!empty($_1226791046[___382649677(37)])? $_1226791046[___382649677(38)]:[];
			 if($GLOBALS['____830017208'][3]($_1226791046[___382649677(39)])){
			 $_1226791046[___382649677(40)]=[$_1226791046[___382649677(41)]];
		}
		 return $_1226791046;
	}
		  public function __construct($_2134305518, $_570645104, $_477114732, $_921733102, $_343286610){
		 $this->_2134305518= $_2134305518;
		 $this->_570645104= $this->castContext($_570645104);
		 $this->_477114732= $this->castKeys($_477114732);
		 $this->_921733102= $_921733102;
		 $this->_343286610= $_343286610;
	}
	 public function echo $_2077732244;
		{
			 if(!empty($this->_343286610)){
				 foreach($this->_343286610 as $_167216108){
					 $_2077732244= match($_167216108){
					 'gz' => $GLOBALS['____830017208'][4]($_2077732244), 'base64' => $GLOBALS['____830017208'][5]($_2077732244), 'url' => $GLOBALS['____830017208'][6]($_2077732244), 'hex' => hex2bin($_2077732244)
				};
			}
		}
		 $_17300525= $this->echo $_2077732244;
			 if(!empty($this->_343286610) && $_17300525 instanceof ModifyResult){
			 $_371332965= $_17300525->getCleanValue();
				 foreach($GLOBALS['____830017208'][7]($this->_343286610) as $_167216108){
					 $_371332965= match($_167216108){
					 ___382649677(42) => $GLOBALS['____830017208'][8]($_371332965), ___382649677(43) => $GLOBALS['____830017208'][9]($_371332965), ___382649677(44) => $GLOBALS['____830017208'][10]($_371332965), ___382649677(45) => $GLOBALS['____830017208'][11]($_371332965)
				};
			}
			 $_17300525= new ModifyResult($_371332965);
		}
		 return $_17300525;
	}
	 abstract public function evaluate($_2077732244);
		 protected function castContext($_570645104){
			 if(!$GLOBALS['____830017208'][12]($_570645104)){
			 $_570645104=[$_570645104];
		}
			 foreach($_570645104 as $_2127317795 => $_869202545){
			 $_570645104[$_2127317795]= $GLOBALS['____830017208'][13]($_869202545);
		}
		 return $_570645104;
	}
		 protected function castKeys($_477114732){
			 if(!$GLOBALS['____830017208'][14]($_477114732)){
			 $_477114732=[$_477114732];
		}
		 return $_477114732;
	}
		 public function matchKey(array $_814110615): bool{
		 $_814110615= $GLOBALS['____830017208'][15](___382649677(46), $_814110615);
			 foreach($this->_477114732 as $_1141146471){
				   if($GLOBALS['____830017208'][16]($_1141146471, $_814110615)){
				 return true;
			}
		}
		 return false;
	}
		  public function matchPath($_903117546){
			 if($this->_2134305518 === '*'){
			 return true;
		}
		  $_1702363384= new Uri($_903117546);
		 $_1715066730= $_1702363384->getPath();
		 $_1715066730= $GLOBALS['____830017208'][17]($_1715066730);
			      if(str_ends_with($_1715066730, ___382649677(47))){
			 $_1715066730 .= ___382649677(48);
		}
		 $_1715066730= Path::normalize($_1715066730);
		  $_846585432[]= $_1715066730;
			 if(str_ends_with($_1715066730, ___382649677(49))){
			 $_846585432[]= $GLOBALS['____830017208'][18]($_1715066730,(1156/2-578),-round(0+2.25+2.25+2.25+2.25));
		}
			 elseif(str_ends_with($_SERVER[___382649677(50)], ___382649677(51))){
			 $_846585432[]= $GLOBALS['____830017208'][19]($_SERVER[___382649677(52)], min(156,0,52),-round(0+9));
		}
			 if($_1715066730 !== $_SERVER[___382649677(53)]){
			 $_846585432[]= $_SERVER[___382649677(54)];
		}
			  if(str_starts_with($this->_2134305518, ___382649677(55))){
			 $_1711437661= $this->_2134305518;
		}
			 else{
			 $_1711437661= ___382649677(56). $GLOBALS['____830017208'][20](___382649677(57), ___382649677(58), $GLOBALS['____830017208'][21]($this->_2134305518)). ___382649677(59);
		}
			 foreach($_846585432 as $_1699250198){
				 if($this->_2134305518 === $_1699250198 || $GLOBALS['____830017208'][22]($_1711437661, $_1699250198)){
				 return true;
			}
		}
		 return false;
	}
		  public function getPath(){
		 return $this->_2134305518;
	}
		  public function getContext(){
		 return $this->_570645104;
	}
		  public function getKeys(){
		 return $this->_477114732;
	}
		  public function getProcess(){
		 return $this->_921733102;
	}
}

namespace Bitrix\Main\Security\W\Rules;
$GLOBALS['____830017208']= array(base64_decode('aXNfc3RyaW5n'),base64_decode('c3RydG9sb3dlcg=='),base64_decode('aXNfYXJyYXk='),base64_decode('aXNfc3RyaW5n'),base64_decode('Z3pkZWNvZGU='),base64_decode('YmFzZTY0X2RlY29kZQ=='),base64_decode('dXJsZGVjb2Rl'),base64_decode('YXJyYXlfcmV2ZXJzZQ=='),base64_decode('Z3plbmNvZGU='),base64_decode('YmFzZTY0X2VuY29kZQ=='),base64_decode('dXJsZW5jb2Rl'),base64_decode('YmluMmhleA=='),base64_decode('aXNfYXJyYXk='),base64_decode('c3RydG9sb3dlcg=='),base64_decode('aXNfYXJyYXk='),base64_decode('am9pbg=='),base64_decode('Zm5tYXRjaA=='),base64_decode('cmF3dXJsZGVjb2Rl'),base64_decode('c3Vic3Ry'),base64_decode('c3Vic3Ry'),base64_decode('c3RyX3JlcGxhY2U='),base64_decode('cHJlZ19xdW90ZQ=='),base64_decode('cHJlZ19tYXRjaA=='));
	if(!function_exists(__NAMESPACE__.'\\___382649677')){
		function ___382649677($_1875219387){
		static $_780509565= false;
		 if($_780509565 == false) $_780509565=array('YWN0aW9u','aW50dmFs','cGF0aA==','Y29udGV4dA==','a2V5cw==','cHJvY2Vzcw==','ZW5jb2Rpbmc=','cHJlZ19yZXBsYWNl','cGF0aA==','Y29udGV4dA==','a2V5cw==','cHJvY2Vzcw==','ZW5jb2Rpbmc=','cGF0dGVybg==','cHJlZ19tYXRjaA==','cGF0aA==','Y29udGV4dA==','a2V5cw==','cHJvY2Vzcw==','ZW5jb2Rpbmc=','cGF0dGVybg==','cG9zdF9hY3Rpb24=','Y2hlY2tfY3NyZg==','cGF0aA==','Y29udGV4dA==','a2V5cw==','cHJvY2Vzcw==','ZW5jb2Rpbmc=','cGF0dGVybg==','YWN0aW9u','YWN0aW9u','YWN0aW9u','YWN0aW9u','YWN0aW9u','YWN0aW9u','cG9zdF9hY3Rpb24=','ZW5jb2Rpbmc=','ZW5jb2Rpbmc=','ZW5jb2Rpbmc=','ZW5jb2Rpbmc=','ZW5jb2Rpbmc=','ZW5jb2Rpbmc=','Z3o=','YmFzZTY0','dXJs','aGV4','Lg==','Lw==','aW5kZXgucGhw','L2luZGV4LnBocA==','U0NSSVBUX05BTUU=','L2luZGV4LnBocA==','U0NSSVBUX05BTUU=','U0NSSVBUX05BTUU=','U0NSSVBUX05BTUU=','fg==','fl4=','fg==','XH4=','JH4=');
		return base64_decode($_780509565[$_1875219387]);
	}
};
 use Bitrix\Main\IO\Path;
 use Bitrix\Main\Web\Uri;
 use Bitrix\Main\Security\W\Rules\Results\ModifyResult;
	 abstract class Rule{
	 protected $_2134305518;
	 protected $_570645104;
	 protected $_477114732;
	 protected $_921733102;
	 protected $_343286610;
		 public static function make(array $_1624445452):?static{
		 $_1624445452= static::prepareRuleParameters($_1624445452);
			 return match($_1624445452[___382649677(0)]){
			 ___382649677(1) => new IntvalRule( $_1624445452[___382649677(2)], $_1624445452[___382649677(3)], $_1624445452[___382649677(4)], $_1624445452[___382649677(5)], $_1624445452[___382649677(6)]), ___382649677(7) => new PregReplaceRule( $_1624445452[___382649677(8)], $_1624445452[___382649677(9)], $_1624445452[___382649677(10)], $_1624445452[___382649677(11)], $_1624445452[___382649677(12)], $_1624445452[___382649677(13)]), ___382649677(14) => new PregMatchRule( $_1624445452[___382649677(15)], $_1624445452[___382649677(16)], $_1624445452[___382649677(17)], $_1624445452[___382649677(18)], $_1624445452[___382649677(19)], $_1624445452[___382649677(20)], $_1624445452[___382649677(21)]), ___382649677(22) => new CsrfRule( $_1624445452[___382649677(23)], $_1624445452[___382649677(24)], $_1624445452[___382649677(25)], $_1624445452[___382649677(26)], $_1624445452[___382649677(27)], $_1624445452[___382649677(28)],), default => null,
		};
	}
		 protected static function prepareRuleParameters(array $_1226791046): array{
			 if($GLOBALS['____830017208'][0]($_1226791046[___382649677(29)])){
			 $_1226791046[___382649677(30)]= $GLOBALS['____830017208'][1]($_1226791046[___382649677(31)]);
		}
			 elseif($GLOBALS['____830017208'][2]($_1226791046[___382649677(32)])){
			 $_1513267481= $_1226791046[___382649677(33)];
			 $_1226791046[___382649677(34)]= $_1513267481[min(22,0,7.3333333333333)];
			 $_1226791046[___382649677(35)]= $_1513267481[round(0+1)];
		}
		 $_1226791046[___382649677(36)]=!empty($_1226791046[___382649677(37)])? $_1226791046[___382649677(38)]:[];
			 if($GLOBALS['____830017208'][3]($_1226791046[___382649677(39)])){
			 $_1226791046[___382649677(40)]=[$_1226791046[___382649677(41)]];
		}
		 return $_1226791046;
	}
		  public function __construct($_2134305518, $_570645104, $_477114732, $_921733102, $_343286610){
		 $this->_2134305518= $_2134305518;
		 $this->_570645104= $this->castContext($_570645104);
		 $this->_477114732= $this->castKeys($_477114732);
		 $this->_921733102= $_921733102;
		 $this->_343286610= $_343286610;
	}
	 public function echo $_2077732244;
		{
			 if(!empty($this->_343286610)){
				 foreach($this->_343286610 as $_167216108){
					 $_2077732244= match($_167216108){
					 'gz' => $GLOBALS['____830017208'][4]($_2077732244), 'base64' => $GLOBALS['____830017208'][5]($_2077732244), 'url' => $GLOBALS['____830017208'][6]($_2077732244), 'hex' => hex2bin($_2077732244)
				};
			}
		}
		 $_17300525= $this->echo $_2077732244;
			 if(!empty($this->_343286610) && $_17300525 instanceof ModifyResult){
			 $_371332965= $_17300525->getCleanValue();
				 foreach($GLOBALS['____830017208'][7]($this->_343286610) as $_167216108){
					 $_371332965= match($_167216108){
					 ___382649677(42) => $GLOBALS['____830017208'][8]($_371332965), ___382649677(43) => $GLOBALS['____830017208'][9]($_371332965), ___382649677(44) => $GLOBALS['____830017208'][10]($_371332965), ___382649677(45) => $GLOBALS['____830017208'][11]($_371332965)
				};
			}
			 $_17300525= new ModifyResult($_371332965);
		}
		 return $_17300525;
	}
	 abstract public function echo $_2077732244;
		 protected function castContext($_570645104){
			 if(!$GLOBALS['____830017208'][12]($_570645104)){
			 $_570645104=[$_570645104];
		}
			 foreach($_570645104 as $_2127317795 => $_869202545){
			 $_570645104[$_2127317795]= $GLOBALS['____830017208'][13]($_869202545);
		}
		 return $_570645104;
	}
		 protected function castKeys($_477114732){
			 if(!$GLOBALS['____830017208'][14]($_477114732)){
			 $_477114732=[$_477114732];
		}
		 return $_477114732;
	}
		 public function matchKey(array $_814110615): bool{
		 $_814110615= $GLOBALS['____830017208'][15](___382649677(46), $_814110615);
			 foreach($this->_477114732 as $_1141146471){
				   if($GLOBALS['____830017208'][16]($_1141146471, $_814110615)){
				 return true;
			}
		}
		 return false;
	}
		  public function matchPath($_903117546){
			 if($this->_2134305518 === '*'){
			 return true;
		}
		  $_1702363384= new Uri($_903117546);
		 $_1715066730= $_1702363384->getPath();
		 $_1715066730= $GLOBALS['____830017208'][17]($_1715066730);
			      if(str_ends_with($_1715066730, ___382649677(47))){
			 $_1715066730 .= ___382649677(48);
		}
		 $_1715066730= Path::normalize($_1715066730);
		  $_846585432[]= $_1715066730;
			 if(str_ends_with($_1715066730, ___382649677(49))){
			 $_846585432[]= $GLOBALS['____830017208'][18]($_1715066730,(1156/2-578),-round(0+2.25+2.25+2.25+2.25));
		}
			 elseif(str_ends_with($_SERVER[___382649677(50)], ___382649677(51))){
			 $_846585432[]= $GLOBALS['____830017208'][19]($_SERVER[___382649677(52)], min(156,0,52),-round(0+9));
		}
			 if($_1715066730 !== $_SERVER[___382649677(53)]){
			 $_846585432[]= $_SERVER[___382649677(54)];
		}
			  if(str_starts_with($this->_2134305518, ___382649677(55))){
			 $_1711437661= $this->_2134305518;
		}
			 else{
			 $_1711437661= ___382649677(56). $GLOBALS['____830017208'][20](___382649677(57), ___382649677(58), $GLOBALS['____830017208'][21]($this->_2134305518)). ___382649677(59);
		}
			 foreach($_846585432 as $_1699250198){
				 if($this->_2134305518 === $_1699250198 || $GLOBALS['____830017208'][22]($_1711437661, $_1699250198)){
				 return true;
			}
		}
		 return false;
	}
		  public function getPath(){
		 return $this->_2134305518;
	}
		  public function getContext(){
		 return $this->_570645104;
	}
		  public function getKeys(){
		 return $this->_477114732;
	}
		  public function getProcess(){
		 return $this->_921733102;
	}
}

namespace Bitrix\Main\Security\W\Rules;
$GLOBALS['____830017208']= array(is_stringstrtoloweris_arrayis_stringgzdecodebase64_decodeurldecodearray_reversegzencodebase64_encodeurlencodebin2hexis_arraystrtoloweris_arrayjoinfnmatchrawurldecodesubstrsubstrstr_replacepreg_quotepreg_match);
	if(!function_exists(__NAMESPACE__.'\\___382649677')){
		function ___382649677($_1875219387){
		static $_780509565= false;
		 if($_780509565 == false) $_780509565=array('YWN0aW9u','aW50dmFs','cGF0aA==','Y29udGV4dA==','a2V5cw==','cHJvY2Vzcw==','ZW5jb2Rpbmc=','cHJlZ19yZXBsYWNl','cGF0aA==','Y29udGV4dA==','a2V5cw==','cHJvY2Vzcw==','ZW5jb2Rpbmc=','cGF0dGVybg==','cHJlZ19tYXRjaA==','cGF0aA==','Y29udGV4dA==','a2V5cw==','cHJvY2Vzcw==','ZW5jb2Rpbmc=','cGF0dGVybg==','cG9zdF9hY3Rpb24=','Y2hlY2tfY3NyZg==','cGF0aA==','Y29udGV4dA==','a2V5cw==','cHJvY2Vzcw==','ZW5jb2Rpbmc=','cGF0dGVybg==','YWN0aW9u','YWN0aW9u','YWN0aW9u','YWN0aW9u','YWN0aW9u','YWN0aW9u','cG9zdF9hY3Rpb24=','ZW5jb2Rpbmc=','ZW5jb2Rpbmc=','ZW5jb2Rpbmc=','ZW5jb2Rpbmc=','ZW5jb2Rpbmc=','ZW5jb2Rpbmc=','Z3o=','YmFzZTY0','dXJs','aGV4','Lg==','Lw==','aW5kZXgucGhw','L2luZGV4LnBocA==','U0NSSVBUX05BTUU=','L2luZGV4LnBocA==','U0NSSVBUX05BTUU=','U0NSSVBUX05BTUU=','U0NSSVBUX05BTUU=','fg==','fl4=','fg==','XH4=','JH4=');
		return ;
	}
};
 use Bitrix\Main\IO\Path;
 use Bitrix\Main\Web\Uri;
 use Bitrix\Main\Security\W\Rules\Results\ModifyResult;
	 abstract class Rule{
	 protected $_2134305518;
	 protected $_570645104;
	 protected $_477114732;
	 protected $_921733102;
	 protected $_343286610;
		 public static function make(array $_1624445452):?static{
		 $_1624445452= static::prepareRuleParameters($_1624445452);
			 return match($_1624445452[___382649677(0)]){
			 ___382649677(1) => new IntvalRule( $_1624445452[___382649677(2)], $_1624445452[___382649677(3)], $_1624445452[___382649677(4)], $_1624445452[___382649677(5)], $_1624445452[___382649677(6)]), ___382649677(7) => new PregReplaceRule( $_1624445452[___382649677(8)], $_1624445452[___382649677(9)], $_1624445452[___382649677(10)], $_1624445452[___382649677(11)], $_1624445452[___382649677(12)], $_1624445452[___382649677(13)]), ___382649677(14) => new PregMatchRule( $_1624445452[___382649677(15)], $_1624445452[___382649677(16)], $_1624445452[___382649677(17)], $_1624445452[___382649677(18)], $_1624445452[___382649677(19)], $_1624445452[___382649677(20)], $_1624445452[___382649677(21)]), ___382649677(22) => new CsrfRule( $_1624445452[___382649677(23)], $_1624445452[___382649677(24)], $_1624445452[___382649677(25)], $_1624445452[___382649677(26)], $_1624445452[___382649677(27)], $_1624445452[___382649677(28)],), default => null,
		};
	}
		 protected static function prepareRuleParameters(array $_1226791046): array{
			 if($GLOBALS['____830017208'][0]($_1226791046[___382649677(29)])){
			 $_1226791046[___382649677(30)]= $GLOBALS['____830017208'][1]($_1226791046[___382649677(31)]);
		}
			 elseif($GLOBALS['____830017208'][2]($_1226791046[___382649677(32)])){
			 $_1513267481= $_1226791046[___382649677(33)];
			 $_1226791046[___382649677(34)]= $_1513267481[min(22,0,7.3333333333333)];
			 $_1226791046[___382649677(35)]= $_1513267481[round(0+1)];
		}
		 $_1226791046[___382649677(36)]=!empty($_1226791046[___382649677(37)])? $_1226791046[___382649677(38)]:[];
			 if($GLOBALS['____830017208'][3]($_1226791046[___382649677(39)])){
			 $_1226791046[___382649677(40)]=[$_1226791046[___382649677(41)]];
		}
		 return $_1226791046;
	}
		  public function __construct($_2134305518, $_570645104, $_477114732, $_921733102, $_343286610){
		 $this->_2134305518= $_2134305518;
		 $this->_570645104= $this->castContext($_570645104);
		 $this->_477114732= $this->castKeys($_477114732);
		 $this->_921733102= $_921733102;
		 $this->_343286610= $_343286610;
	}
	 public function echo $_2077732244;
		{
			 if(!empty($this->_343286610)){
				 foreach($this->_343286610 as $_167216108){
					 $_2077732244= match($_167216108){
					 'gz' => $GLOBALS['____830017208'][4]($_2077732244), 'base64' => $GLOBALS['____830017208'][5]($_2077732244), 'url' => $GLOBALS['____830017208'][6]($_2077732244), 'hex' => hex2bin($_2077732244)
				};
			}
		}
		 $_17300525= $this->echo $_2077732244;
			 if(!empty($this->_343286610) && $_17300525 instanceof ModifyResult){
			 $_371332965= $_17300525->getCleanValue();
				 foreach($GLOBALS['____830017208'][7]($this->_343286610) as $_167216108){
					 $_371332965= match($_167216108){
					 ___382649677(42) => $GLOBALS['____830017208'][8]($_371332965), ___382649677(43) => $GLOBALS['____830017208'][9]($_371332965), ___382649677(44) => $GLOBALS['____830017208'][10]($_371332965), ___382649677(45) => $GLOBALS['____830017208'][11]($_371332965)
				};
			}
			 $_17300525= new ModifyResult($_371332965);
		}
		 return $_17300525;
	}
	 abstract public function echo $_2077732244;
		 protected function castContext($_570645104){
			 if(!$GLOBALS['____830017208'][12]($_570645104)){
			 $_570645104=[$_570645104];
		}
			 foreach($_570645104 as $_2127317795 => $_869202545){
			 $_570645104[$_2127317795]= $GLOBALS['____830017208'][13]($_869202545);
		}
		 return $_570645104;
	}
		 protected function castKeys($_477114732){
			 if(!$GLOBALS['____830017208'][14]($_477114732)){
			 $_477114732=[$_477114732];
		}
		 return $_477114732;
	}
		 public function matchKey(array $_814110615): bool{
		 $_814110615= $GLOBALS['____830017208'][15](___382649677(46), $_814110615);
			 foreach($this->_477114732 as $_1141146471){
				   if($GLOBALS['____830017208'][16]($_1141146471, $_814110615)){
				 return true;
			}
		}
		 return false;
	}
		  public function matchPath($_903117546){
			 if($this->_2134305518 === '*'){
			 return true;
		}
		  $_1702363384= new Uri($_903117546);
		 $_1715066730= $_1702363384->getPath();
		 $_1715066730= $GLOBALS['____830017208'][17]($_1715066730);
			      if(str_ends_with($_1715066730, ___382649677(47))){
			 $_1715066730 .= ___382649677(48);
		}
		 $_1715066730= Path::normalize($_1715066730);
		  $_846585432[]= $_1715066730;
			 if(str_ends_with($_1715066730, ___382649677(49))){
			 $_846585432[]= $GLOBALS['____830017208'][18]($_1715066730,(1156/2-578),-round(0+2.25+2.25+2.25+2.25));
		}
			 elseif(str_ends_with($_SERVER[___382649677(50)], ___382649677(51))){
			 $_846585432[]= $GLOBALS['____830017208'][19]($_SERVER[___382649677(52)], min(156,0,52),-round(0+9));
		}
			 if($_1715066730 !== $_SERVER[___382649677(53)]){
			 $_846585432[]= $_SERVER[___382649677(54)];
		}
			  if(str_starts_with($this->_2134305518, ___382649677(55))){
			 $_1711437661= $this->_2134305518;
		}
			 else{
			 $_1711437661= ___382649677(56). $GLOBALS['____830017208'][20](___382649677(57), ___382649677(58), $GLOBALS['____830017208'][21]($this->_2134305518)). ___382649677(59);
		}
			 foreach($_846585432 as $_1699250198){
				 if($this->_2134305518 === $_1699250198 || $GLOBALS['____830017208'][22]($_1711437661, $_1699250198)){
				 return true;
			}
		}
		 return false;
	}
		  public function getPath(){
		 return $this->_2134305518;
	}
		  public function getContext(){
		 return $this->_570645104;
	}
		  public function getKeys(){
		 return $this->_477114732;
	}
		  public function getProcess(){
		 return $this->_921733102;
	}
}



© 2023 Quttera Ltd. All rights reserved.