<!DOCTYPE html>
<html>
<!--STATUS OK-->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="description" content="百度帐号是登录所有百度系产品的通行证，登录后还可以在帐户管理页管理/修改您的个人信息，包括修改密码、绑定手机、身份认证等">
<title>passport</title>
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta name="viewport" content="width=240, user-scalable=no, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0" />
<meta name="format-detection" content="telephone=no, email=no" />
<style type="text/css">body,h1,h2,h3,h4,h5,h6,hr,p,blockquote,dl,dt,dd,ul,ol,li,pre,form,fieldset,legend,button,input,textarea,th,td{margin:0;padding:0}html{color:#111;background:#f5f5f5;-webkit-text-size-adjust:none}body,button,input,select,textarea,pre{font-size:1.6rem;font-family:PingFang SC,Helvetica,sans-serif}h1,h2,h3,h4,h5,h6{font-size:100%}h3,h4,h5,h6{font-weight:400}ul,ol{list-style:none}a{text-decoration:none;color:#3c76ff;-webkit-touch-callout:none}a:hover{cursor:pointer}fieldset,img{border:0}table{border-collapse:collapse;border-spacing:0}textarea{resize:vertical}html,body{width:100%;height:100%;min-height:430px;position:relative}@media screen and (orientation:landscape){html,body{height:auto}}body{-webkit-touch-callout:none;-webkit-text-size-adjust:none;-webkit-user-select:none;-webkit-highlight:none;-webkit-tap-highlight-color:rgba(0,0,0,0);box-sizing:border-box}:focus{outline:0}.left{float:left}.right{float:right}.tright{text-align:right}.tcenter{text-align:center}.hide{display:none}.inlineBlock{display:inline-block;zoom:1}.inline{display:inline}button{cursor:pointer}.block,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary{display:block}.clearfix:after{content:'\20';display:block;height:0;clear:both;overflow:hidden;visibility:hidden}.clearfix{zoom:1}.clear{clear:both}.wordwrap{word-break:break-all;word-wrap:break-word}input[type=submit],input[type=button]{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-appearance:none}.gray{color:#999}.f14{font-size:1.4rem}.fb{font-weight:700}.m-t05{margin-top:.5rem}.m-t10{margin-top:1rem}.m-t20{margin-top:2rem}.m-t40{margin-top:4rem}.m-t50{margin-top:5rem}.m-t25{margin-top:2.5rem}.m-b10{margin-bottom:1rem}.m-b15{margin-bottom:1.5rem}.link-font{color:#666;cursor:pointer;font-size:1.4rem;height:3rem}.p-t25{padding-top:2.5rem}.p-t15{padding-top:1.5rem}.p-t50{padding-top:5rem}.p-l5{padding-left:.5rem}.orange{color:#ff812d}.p-b20{padding-bottom:2rem}.m-t180{margin-top:18rem}.p-b40{padding-bottom:4rem}.pass-header{background:#fff;border-bottom:1px solid #d6d6d6;height:4.4rem;width:100%;padding:0;display:block;text-align:center;z-index:100;position:relative}.pass-header-title{text-align:center;width:100%;height:4.4rem;display:block;font-size:2rem;line-height:4.4rem}.pass-header-links{margin:.6rem 0;border:1px solid #fff;background:#fff;font-size:1.6rem;line-height:3rem;text-align:center;width:5rem;color:#666;display:block;position:absolute;right:1.4rem;top:0;cursor:pointer;-webkit-border-radius:2px;border:1px solid #ccc}.pass-header-back{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAApCAYAAAAvUenwAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowRTYwMTYyRkVBMTZFNDExOTczNkJERkUyMDY2QTY5NSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpDMDAyNDIwMDE2RUMxMUU0OTNFRTlCRTlEQkY5RkEzOSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpDMDAyNDFGRjE2RUMxMUU0OTNFRTlCRTlEQkY5RkEzOSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjBFNjAxNjJGRUExNkU0MTE5NzM2QkRGRTIwNjZBNjk1IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjBFNjAxNjJGRUExNkU0MTE5NzM2QkRGRTIwNjZBNjk1Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+k2fgIgAAAc1JREFUeNq0lz8sA2EYxq+XxmAwsJiYGIiNTSIiGBAiLGyGMwhDO2BikXQQBhJ6kxiIf5MYDBQTk9gsNpOlEZImkobnTd5PvjT9c9d7+ia/9L636fNr+9333V0snU47UcrzvP9j3/fjeDkGb+ivSM91SGWFT4FljFM0QUG4qTqKoET4Nv6iBENQNjyqoGJ4FEGg8GoFgcOrEYQKDysIHR5GUCx8CyQqfdCNEJ4M8s3cWoZXEkQOLyeghJcS0MKLCajhhQJ6uC2oSbgR1CzcCI4Kwi9Y4UaQAb9WbwyMMwV7YAF8WdfSczDLEjgq6QCv1qQfyl0JSyD1DvrAs/XePus0NfUBBsCjjmNgE6yxBFJZMAhurd66imIMgdQ3GAVXVi+pc+UyBFI5MAlOrN68Tn6cIZD60dP1wOrJ+MzcGjIumXkwB3as3gS4BPUMgaMrfQmkrN4QuMa9aQNDYGpVMdULbiBpYgkc/RWL1v7VDe4haWYJpHZ1XvI67gQPkLSyBI6eWTN6pkm1qaSdJZA61bWS03GL/l1dLIE8BMpqH9HVLyVzcQdJD+0ZDZKM7l9ZbTWCDepTJiSyA/frjvwEpqkClbzo2hjG8af0/gQYAHkain5LZUqyAAAAAElFTkSuQmCC') no-repeat 15px 13px;-webkit-background-size:1.2rem 2rem;padding:1.3rem 0 1.3rem 3.3rem;width:3.6rem;height:1.8rem;position:absolute;left:0;top:0;cursor:pointer;color:#f8f8f8}.mod-button-back.active{}#agreement-headerWrapper,#personal_agreement-headerWrapper{position:fixed}.error_area{color:#E85352;font-size:1.2rem;min-height:2.5rem;line-height:2.5rem;clear:both}.error_redtip{color:red;height:2rem;line-height:2rem;visibility:hidden}.mod-info{color:#cac9c9;-webkit-box-flex:1;visibility:visible;text-align:center}.error_div .t-a-l{text-align:left}.mod-ok,.mod-page-ok{background:url(/static/appsapi/img/icon_ok.png) no-repeat 0 5px;-webkit-background-size:14px 14px}.mod-page-ok{margin-top:14px;background-position:0 2px;-webkit-background-size:20px 20px;padding-left:25px}.pass-mod-toastWrapper{background:rgba(0,0,0,.7);text-align:center;min-height:3.4rem;line-height:3.4rem;color:#fff;width:50%;position:absolute;left:25%;top:50%;margin-top:-6rem;-webkit-border-radius:2px;z-index:101;padding:.8rem;display:none}.pass-form-item{display:-webkit-box;width:100%;background:#fff}.pass-form-item-v{width:100%;float:left;height:5rem;display:-webkit-box}.pass-form-verify-wrapper p.pass-form-item-v{margin:1rem 0 0}.pass-form-input-wrapper{display:-webkit-box;-webkit-box-sizing:border-box;border-radius:2px;-webkit-border-radius:2px;-webkit-box-flex:1;height:5rem;line-height:4.8rem;padding:0 1.4rem;background:#fff;margin-left:1px}.pass-form-input-wrapper-forvcode{display:-webkit-box;-webkit-box-sizing:border-box;float:left;width:66%;border-radius:2px;-webkit-border-radius:2px;-webkit-box-flex:1;height:5rem;line-height:4.8rem;padding:0 1.4rem;background:#fff;z-index:10}.pass-form-verify-wrapper span.pass-form-input-wrapper-forvcode{margin-right:1rem}.pass-form-code{line-height:4rem}input[type=text],input[type=password],input[type=number],input[type=email],input[type=tel],textarea{border:0;display:block;-webkit-box-flex:1;-webkit-appearance:none;-webkit-tap-highlight-color:rgba(255,0,0,0);line-height:2rem;font-size:1.6rem;height:2rem;padding-top:1.5rem;padding-bottom:1.3rem;color:#333;line-height:2rem;z-index:10;position:relative;margin-top:1px}textarea{padding-bottom:0}.pass-text-label{display:inline-block}.pass-text-label{font-size:1.6rem;width:5rem;margin-right:.5rem}.pass-text-label-long{width:6.5rem}.pass-overseas-wrapper{width:60px;display:inline-block;border-right:1px solid #efefef;margin-right:10px;margin-top:1rem}.pass-label-code{position:relative;z-index:14;text-align:right;width:50px;margin-right:4px;margin-left:-1.5rem;float:left;height:3rem;line-height:3rem}.pass-overseas-down{width:.6rem;height:.6rem;display:block;margin-top:1rem;margin-right:11px;border-right:1px solid #333;border-bottom:1px solid #333;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);float:left}.pass-input-aide{width:22px;height:19px;display:block;cursor:pointer;margin-top:1.5rem}.pass-input-userlist{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpiYTBkNDQzNC04NGRjLTRlNGYtYWFiMi1kY2U4ZGY1NGRhMTIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NkM1MzI4MzY4QUI4MTFFNUExMDlEN0Y5QzdCM0ZCQjUiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NkM1MzI4MzU4QUI4MTFFNUExMDlEN0Y5QzdCM0ZCQjUiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpiYTBkNDQzNC04NGRjLTRlNGYtYWFiMi1kY2U4ZGY1NGRhMTIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6YmEwZDQ0MzQtODRkYy00ZTRmLWFhYjItZGNlOGRmNTRkYTEyIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+hJCX0AAAAPdJREFUeNrsl9EKwiAYhWeMXUTdBdWLBLuOoEFvW9BFvVDQ3bqKwI7jF0SW+jvJG384E4bzfHPzuAkpZZWzZlXmKgAFoAAUgOwAtToIIf5urLcAewZa6AA1if0aGrcdnQGjttAKmkNX6J3IvIPW0NP3DtygF3XuEsyEad7T+E4A1emcCMI2v1DrXQUpIILMXctQQ/QREMHmvhwwLw6FYJmHBBEHQp0/csxDkzAEQptvOOacKHZBRJsPKawikRHFS+hE7QO6Q/sYcx3FXAAb4kNpyr7zX3sB93FEmY+SRNQC2lEb5Tt45/oz0gD1xFkon2QFYHJ9BRgA1YdoEYAKKm8AAAAASUVORK5CYII=') no-repeat 50% 50%;-webkit-background-size:16px 16px;z-index:12;position:relative;margin-left:20px;display:none}.pass-input-down-userlist{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3BpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpiYTBkNDQzNC04NGRjLTRlNGYtYWFiMi1kY2U4ZGY1NGRhMTIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzhDRjIwRkFCMTFCMTFFNTkxQzZEREUwMDFGOTcyMjciIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzhDRjIwRjlCMTFCMTFFNTkxQzZEREUwMDFGOTcyMjciIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2QzUzMjgzNThBQjgxMUU1QTEwOUQ3RjlDN0IzRkJCNSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo2QzUzMjgzNjhBQjgxMUU1QTEwOUQ3RjlDN0IzRkJCNSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pgkdx+4AAADZSURBVHja7NaxCsIwEAbgBqSTboI+idBZBIW6+KBOgosvJLh1EyH+gStEMcldEujgHfzc1PwfLbQ11tpmyjEKUIACFPD3gMYBxghnjmxoZ/W5fNwBYwz3nAXS0x6QC20WIPgImAC//IXMJIhSgF9+R27IFllzESWA7/Ir8kRaZM9F5AJC5eOwETmAVLkIIQVwy33EAVmFEBKAtJyF4AJc6ZFeMpLyJIIDKC2PIlKAWuVBBPqGGOCEtaxU/gvxQN859jHqkB1dVHNaOreLfoz0h0QBCphi3gIMAKyG6fHr2eHjAAAAAElFTkSuQmCC) no-repeat 50% 50%;-webkit-background-size:16px 16px;z-index:12;position:relative}.pass-input-userSelect{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAmCAYAAAC/H3lnAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAb9JREFUeNrsmNFHQ1Ecx7eWMSJi9NTD3iMiRowYy1LKKNLD2FNE7Kk/IHqKntJDSmmKaaJsliKi/+L+FTHGrO/he7l+7rV27rnVcn58bPfce8/v4+w6v99dvN/vx0YpxmIjFlbYClthK2yFfzfGg044jrOEjwuQBHugHqHHKjgDXVDOZDKvOiusJpgB0+AW7EQkWwL3zKPyXek+EpOe7wmu9qZh2XVww/ndmNAVPhTHCU5eMiRb5C+XFONHusInPje70sWQsgU+BlL2OIywigNO4o0kkxU0ZfMBsmqBqia2tSon85PODymbAw8gJcbPwb7JfVhNdirGUkye++YcWfDoI3sJKlEUjl2uhJRugsUB9y7wOrkDXA8jq1PpKkziJ50NuGcetMU2qeJOFQnQi7o0l5ksJvbOJlfSG3MBsqpqbg8rqyvcY7K6T6FpU1LFLI+nxHUNXdkwzY8r3QiQVhXxBaTF+RbYYs/w491al8mfxHiaFUzKPoONMLIm2ssuJVoDrnsDa6DzF/phVzqoJXwHyyZkTTbwSmaFct74MClr+o2jQ7kaV73G40+T/Wjc/rdmha2wFbbCVvhfC38JMABCZlbvDsimaQAAAABJRU5ErkJggg==) no-repeat 50% 50%;-webkit-background-size:22px 19px;z-index:12;position:relative}.pass-input-pwdToggle{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAAA4VBMVEVMaXGnp6elpaWfn5+ampqXl5eZmZmioqKsrKyZmZmZmZmZmZmfn5+mpqampqaZmZmZmZmjo6OYmJiZmZmlpaWYmJiZmZmZmZmZmZmcnJyYmJilpaWlpaWYmJiZmZmZmZmYmJiYmJiYmJiYmJigoKCmpqalpaWZmZmmpqaZmZmZmZmYmJiZmZmampqZmZmYmJimpqampqaenp6lpaWZmZmZmZmZmZmZmZmZmZmXl5eZmZmmpqalpaWZmZmYmJimpqampqalpaWmpqampqaZmZmmpqaYmJimpqafn5+ZmZmmpqbbCXr6AAAASXRSTlMACmkhHxWfBwH8+OUN9ufaRyrLSsFlpxi7ENDhYd+sfU3q8kIcmXjtg/7D1lI+joNBNyaPvm6KXsYwOK+osljs3OnEw3Gzk/pszOrydQAAAbpJREFUeNrlU+t6ojAQFVFCAAVEFKUgiC0q3mq992Lt7fsm7/9AixNgrd19gs6fnEwmc04OQ+kXhSbuD9PosBc7/6sgy8lsF0Ma/cbXRJT/VVNZJ6CoerfR6CaqAo115SdRsIPYmQeiUCrJA2PuxLCbXJFWNwqs7M5FwnYo3bS/UfkQSxUufbkcaGfUnoXgX1AOniEJzkLJ/cMrY68P9yTdyFYCz0UvrQXdKb6vXGdH1z2yepmc99MutDIJpKd4U0Q3p9rjQtMWn7X6DSYij84FRJZKbTRFbLIhpoQha4p49kLVAEFr5HPmcq1p8ubmW62MoCPRFgIPDH50y+4ym+U7dsuRBTquMex54omhEmzKnjg4QIirDlbRKS8qOgVZp5S2eq2pmWmq+lRCYBSve2dDgqbkr5O3VDVyn9SI+1RPfRKExSP6hPeVHskclyCJuOMndnLdU+54pIOk5TLbPnhbwr+dy5jLvx3ZeoBq8yrp7xSYpoi3K1IMUvvbPPX6o9X68trHCpQeTxQhGA70x7MXs0rkTjrs4z44hvBzxu0djEKccT0cwdhG+uuQRWvuqBQAwvHGwr/lV8Qftuw0O3ggesMAAAAASUVORK5CYII=) no-repeat 50% 50%;-webkit-background-size:18px 18px;z-index:12;position:relative;margin-left:20px}.pass-input-pwdToggle-show{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAAAkFBMVEVMaXE1e/82fP82e/81e/81fP82e/89ff82fP81fP81e/81e/81ev82fP81fP81fP81e/80ev81fP84e/80fP81fP81e/81fP82e/82e/8zff81e/81fP82e/82e/9Cef81e/82fP81e/8AAP82e/80fP80ef81f/82ff82fP81fP81e/82e/81fP81fP82fP9qlGdGAAAAL3RSTlMA2/mUmzYwDOvFYqNRIvzfjEqBEBbne3Hh/gnvRMr1A7rYWwFvaSkfPamGn7MrrIf6PmoAAAFJSURBVHja5ZPJloIwEEWFhJAAEiAyySA4j13//3fdVtCAh0Xvfasi554aH4uv0fro0SZt27Sh3nE9zzik5zagbN4TZwZZkiK0RbQ9M3beRsIOJVl+MrEIK78+Kf2lTrVfhSKeILuDBX2wGj+tgh6sw/gl50DYM3ADcu8OumlGgOeG8TgkmMbxJQDfboZkCXDvxdQWJC4yHfyJYox5E5DxMFcHN4VvN5z/akooCkLPmNkW0xNKhC7Pyjud7tHbGQYN7HUTkV4lT9Ri7enBNnkpMODAdPILaHH/StOf4QyQzkMo30DTcqFhwqspN228MFARTxtfitcKqIGoa1Yws0xU50yXiWcpM/U+C4D0kVFZyb3RgSuI3ge+kwDzsgiqfGyVvZyzitzvFmMF2nTucFltumDGvmVr7NuWBdr3Uw61zI9gUedfv9S36BcT/SwPiz/IggAAAABJRU5ErkJggg==) no-repeat 50% 50%;-webkit-background-size:18px 18px;z-index:12;position:relative;margin-left:20px}.pass-input-clearValue{width:20px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAAAJ1BMVEUAAABMaXFFRUXz8/MAAAAAAAAAAAAAAAAAAADx8fEAAAAAAAD///+VXwL6AAAADHRSTlMzAEHYHS8CKQfREQq/Q1+sAAAAsUlEQVR42pXU6w6DIAyG4W/aE+j9X++SynB1mnbvLxOeRCMUvAr9j6STMsBKXR6QEWPGZDdICJdIrsgUP6lFtDFu4u0b2WmishOJ4iGViQiP0QcZvNYWzJbW4NlANNC+LtOs+0B0IOG54Co+sjjqQFgKBuiOCFFFA3KkiCoaqCNGVNGAHQFRRQNUUf666ofnv6D+M/NtyTe4flTyQ5cf3/og5COVD2c+5vULo371JJXRG1ESBwk5JTX6AAAAAElFTkSuQmCC) no-repeat center center;-webkit-background-size:18px 18px;cursor:pointer;z-index:12;position:relative}.pass-form-vcodeImg{float:right;display:inline-block;position:relative;width:10rem;height:5rem}.pass-verifyCode-img{display:block;float:left;-webkit-box-sizing:border-box;-webkit-border-radius:2px;margin-left:1px;position:relative;z-index:15;height:4.8rem;width:9.8rem;top:1px}.pass-form-item-content{height:14rem}.pass-text-area{height:12rem;resize:none;font-size:1.6rem}.pass-form-item-realname{border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;margin-bottom:0;float:left;border-bottom:0;padding-top:1px}.pass-form-item-code{border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;margin-bottom:0;float:left;border-bottom:0}.pass-form-item-accpassword{border-top:0;border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;float:left}.pass-form-item-smsvc,.pass-form-item-smsVcode{width:64%;float:left}.pass-form-item-password,.pass-form-item-idcard{border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;float:left}.pass-form-input-wrapper{float:left}.pass-form-VerifyButton,.sms_verify-noVerifyButton{-webkit-box-sizing:border-box;display:box;background-color:#fff;border:0;line-height:4.8rem;width:98%;font-size:1.4rem;position:relative;z-index:12;left:1%;top:2%;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;-ms-border-radius:2px}.pass-form-VerifyButton:disabled{border:0;background:#fff}p.verify-button{position:relative;height:5rem;width:33%;float:right;background:#fff}p.verify-button:before{content:" ";-moz-box-sizing:border-box;box-sizing:border-box;display:block;width:200%;height:200%;position:absolute;z-index:1;-webkit-transform:scale(0.5,.5);-ms-transform:scale(0.5,.5);transform:scale(0.5,.5);-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;border:1px solid #ccc;border-radius:2px}.pass-form-item-univc{width:100%}.agree-link{text-decoration:underline;color:#999;display:inline-block}input[type=text]::-webkit-input-placeholder,input[type=password]::-webkit-input-placeholder,input[type=number]::-webkit-input-placeholder,input[type=email]::-webkit-input-placeholder,input[type=tel]::-webkit-input-placeholder{font-size:1.6rem;-webkit-appearance:none;color:#CCC}input.pass-button-vcode{z-index:10;top:0;float:right;margin-right:.5rem;width:40%}p.pass-form-input-wrapper{position:relative}p.pass-form-item.pass-form-input-wrapper:before,span.pass-form-input-wrapper-forvcode:before,span.pass-form-vcodeImg:before{content:"";-webkit-box-sizing:border-box;display:block;width:200%;height:200%;position:absolute;left:0;top:0;z-index:1;-webkit-transform:scale(0.5);-webkit-transform-origin:0 0;border:1px solid #ccc;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;-ms-border-radius:2px}.border-lighter:before{content:"";-webkit-box-sizing:border-box;display:block;width:200%;height:200%;position:absolute;left:0;top:0;z-index:1;-webkit-transform:scale(0.5);-webkit-transform-origin:0 0}p.pass-form-item.pass-form-input-wrapper.pass-form-item-username,p.pass-form-item.pass-form-input-wrapper.pass-form-item-code{margin-bottom:0}p.pass-form-item.pass-form-input-wrapper.pass-form-item-username:before,p.pass-form-item.pass-form-input-wrapper.pass-form-item-code:before{border-bottom-right-radius:0;border-bottom-left-radius:0;border-bottom:0}p.pass-form-item.pass-form-input-wrapper.pass-form-item-password:before{border-top-right-radius:0;border-top-left-radius:0}p.pass-form-item.pass-form-input-wrapper.pass-form-item-password-other:before{border-top-right-radius:3px;border-top-left-radius:3px}span.pass-form-input-wrapper-forvcode{position:relative;-webkit-box-flex:1}p.pass-form-item.pass-form-input-wrapper.pass-form-item-content:before{border-top-right-radius:0;border-top-left-radius:0;border-bottom:0}p.pass-form-item.pass-form-input-wrapper.pass-form-item-realname:before{border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;border-bottom:1px solid #e6e6e6}p.pass-form-item.pass-form-input-wrapper.pass-form-item-idcard:before{border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;border-top:1px solid #e6e6e6}p.pass-form-item.pass-form-item-error:before,span.pass-form-item-error:before,span.pass-form-item-error:before{-webkit-transition:all .3s;border:1px solid red!important}@-webkit-keyframes progressError{0%{border:1px solid #fc4343}100%{border:1px solid #fc4343}}.pass-form-item-submit{float:left;border:0;background:0 0;margin:0 0 1.5rem}.pass-button-full{color:#fff;font-size:1.8rem;width:100%;line-height:4.4rem;height:4.4rem;background:#3c76ff;border:1px solid #3c76ff;-webkit-box-sizing:border-box;border-radius:2px;-webkit-border-radius:2px;cursor:pointer;display:block;text-align:center;-webkit-appearance:none;-webkit-tap-highlight-color:rgba(255,0,0,0)}.pass-button-full-disabled{border:1px solid #3c76ff;background:#3c76ff;color:#90b6ff;border-radius:2px;-webkit-border-radius:2px}.pass-button-full-active{border:1px solid #3c76ff;background:#3c76ff;border-radius:2px;-webkit-border-radius:2px}.pass-button-auto{z-index:12;position:relative;display:block;font-size:1.8rem;color:#666;height:4.4rem;line-height:4.4rem;-webkit-appearance:none;-webkit-tap-highlight-color:rgba(255,0,0,0);border:1px solid #ddd;background:#f1f1f1;padding:0 2rem;cursor:pointer;width:13.6rem;margin:.5rem .5rem .5rem 0}.pass-button-sub-full{background:#fff;border:1px solid #d6d6d6;color:#3c76ff}.pass-button-auto-active{background:#eee}.pass-button-disabled{color:#ddd}.pass-button-sub-default{width:100%;line-height:4.3rem;text-align:center;-webkit-box-sizing:border-box;background:#fff;border:1px solid #ddd;margin-top:2.5rem;-webkit-border-radius:2px;cursor:pointer;color:#666}.pass-button-sub-active{border:1px solid #ddd;background:#ddd}.mod-btn-colwrapper a{display:inline-block;width:12rem;padding:0;border:0}.mod-btn-colwrapper a.pass-button-auto{background:#dfdfdf;margin-left:1.4rem}.pass-button-minor{font-size:1.6rem;width:auto;line-height:4.4rem;background:#e1e1e1;border-color:#d5d5d5;color:#666;-webkit-box-sizing:border-box;cursor:pointer;display:block;text-align:center;-webkit-appearance:none;-webkit-tap-highlight-color:rgba(255,0,0,0);-webkit-border-radius:2px}.other-log{border:0;background:0 0;position:relative;color:#3c76ff;cursor:pointer;font-size:1.4rem;line-height:1.4rem;height:2rem;line-height:2rem}.pass-button-other{color:#3c76ff;font-size:1.8rem;width:100%;line-height:4.4rem;height:4.4rem;background:#fff;border:1px solid #d6d6d6;-webkit-box-sizing:border-box;border-radius:2px;-webkit-border-radius:2px;display:block;text-align:center}.mod-vcode{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1010;background:#000;opacity:.7}.mod-vcode-body{width:30rem;position:absolute;left:50%;top:50%;margin-left:-15rem;margin-top:-15rem;z-index:1012;overflow-y:auto;-webkit-border-radius:2px;-webkit-transform-style:preserve-3d}.mod-vcode-content{background:#fff;padding:4rem 1.6rem 3rem;text-align:center}.vcode-content-btn{height:4.4rem;line-height:4.4rem}.mod-page-verifyImg{text-align:center;margin:2rem 0 .6rem}.vcodeInputWrapper{display:inline-block;position:relative}.mod-page-verifyImg img{height:4.6rem;width:11rem;border:1px solid #e0e0e0}.small-tip{font-size:1.2rem;color:#adadad;line-height:1.4rem}.vcode-close{background:url(/static/appsapi/img/vcode_close.png) no-repeat center center;width:3rem;height:3rem;background-size:1.4rem 1.4rem;position:absolute;top:.7rem;right:.7rem}.keyboardInputEle_focus{color:#fff;border-bottom:1px solid #3C76FF}.vcode_error_redtip{color:red;height:1.4rem;line-height:1.4rem;visibility:hidden;font-size:1.2rem;margin-top:.6rem}.vcodeInputWrapper .vcodeInput{display:block;position:absolute;border:0;height:5rem;width:20rem;left:-1rem;font-size:12px;top:0;color:#fff;opacity:0}.vcodeInputWrapper .vcodeInput_9300:focus{top:100rem}.vcodeInput_ios:focus{visibility:hidden}.keyboardInputEle{width:4rem;height:4rem;display:block;float:left;margin-right:1rem;text-align:center;line-height:4rem;border:0;border-bottom:1px solid #aaa;border-radius:0;font-size:1.8rem}.keyboardCursor,.keyboardCursor2{color:#3c76ff;font-size:2.2rem;font-weight:lighter;-webkit-animation:blink 1s infinite;animation:blink 1s infinite;border-bottom:1px solid #3C76FF}.keyboardCursor2:before{content:"|";position:relative;height:4rem;line-height:4rem;display:block;width:4rem;text-align:center}@keyframes blink{0%,100%{color:#fff}50%{color:#3c76ff}}@-webkit-keyframes blink{0%,100%{color:#fff}50%{color:#3c76ff}}.keyboarddone{border-bottom:1px solid #3C76FF}.keyboarderror{border-bottom:1px solid #E85352}.mod-dialog{position:absolute;top:0;left:0;width:100%;height:100%;z-index:101;background:#000;opacity:.3}.mod-dialog-body{width:80%;position:absolute;left:50%;z-index:102;overflow-y:auto;-webkit-border-radius:2px;-webkit-transform-style:preserve-3d}.mod-dialog-content{background:#fff;padding:2.1rem 1.6rem 1.6rem}.page-dialog-content{line-height:2.8rem;font-size:1.6rem;text-align:left;padding-bottom:3.5rem}.dialog-title{font-size:20px;text-align:center;padding-bottom:3.2rem}.page-dialog-title{text-align:center;font-size:2rem;color:#333;margin-bottom:3rem;line-height:2rem}.pass-dialog-orangecolor{color:#ff5400}.dialog-content-btn{height:4.4rem;line-height:4.4rem}.dialog-content-btn input{background:0 0;border:0;display:inline-block;color:#333;text-align:center;height:100%;width:47%;border-radius:2px}.dialog-content-btn input.pass-dialog-btnleft{float:left;background:#fff;border:1px solid #ccc}.dialog-content-btn input.pass-dialog-btnright{float:right;background:#3c76ff;color:#fff;border:1px solid #3c76ff}.pass-fast-dialog{padding-bottom:3.5rem}a.dialog-banner-mainbtn{background:#3c76ff;color:#fff;border:1px solid #3c76ff;height:4.2rem;width:100%;display:inline-block;text-align:center}.footer{margin:2rem 0 1rem;text-align:center}.go-safe-manager{display:none;border-top:1px solid #d6d6d6;height:.1rem;position:relative;width:19rem;left:50%;margin-left:-9.5rem}.register-content .border-none{border:0}.fastlogin-bordertext{position:absolute;left:50%;margin-left:-2rem;font-size:1.2rem;color:#bcbcbc;top:-.7rem;z-index:10;width:4rem;background:#f5f5f5}.fastlogin-layer-login{display:-webkit-flex;display:flex;display:-webkit-box;display:box;-webkit-box-pack:center;box-pack:center;-webkit-justify-content:center;justify-content:center}.fastlogin-item{padding-top:2rem}.fastlogin-item a{display:block;width:3rem;height:3rem;background-size:3rem 3rem;margin-right:5.4rem}.fastlogin-item:last-child a{margin-right:0}.li-img-tweixin_sso{background:url(data:image/png;base64,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) no-repeat}.li-img-tsina_sso,.li-img-tsina{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD4AAAA+CAYAAABzwahEAAAAAXNSR0IArs4c6QAADUlJREFUaAXVmwlwldUVx83LAiRkElygxUBAQCzgAK0VBMmKzBRGJLSm0omghk1cauu0FXCIOIgFywwVN2ISIEiDmKK17gYCYRNlS2WpECqVQohhD0gISPr7f77v8b0l733vJcR4Z27ucpZ7zj3n3nvu/V7CrmqGVF9fH15WVnbDpUuXepKvCwsLi6VsS3kJWI3D4aihXdm6desvbr/99q+aQaSrwq7EIOXl5THHjh1LQal0cipj9CIfIu9G2WrKGvIpciTwWPqiqSdS70kZR3sH9dXUS8PDw9elpqZepN6kqckUR9Cw1atX34F0WdRHUn5GLkWJks6dO5f36NHjvB3JNWnHjx+/7dtvv00DPwX67vArioiIeC0lJUU8myQ1WvEtW7ZE1tTUZOKq0xDwG9x2KUIWJSUlybKNTuvWrbuhrq7uXhjdC/+D8J+Vlpa2qrGMQ1YcIQwLUy7AKkcQ5Jn09PSPGitQQ/TO8bKAT6deHRkZOSU5OfnzhvAD9Yek+IYNG9rX1ta+ggB9scDEprBAIEFNuHMC7qM9h/oz7AEL2QNqTbjd0mEX0cQrLS3td+7cuS20yxm0d3MqLRnwrno8axET3ot6X/aCsvXr13c05bNbBmVxNq9fMsuvMOBkFP673UGuJB4yTUWmhzBCRjCbn23FV61alcMA2QwwEtfacSWVCZY3st0JTQH5UbyhyA69LcVh/CxKP9GmTZsOgwcP/toO4+bGwfK9kVHH55N4Y26g8QMqLkvDJIM1NTCUTSSQAE0JZ/9JYM0fRPnRWP5Nf7z9bm7ONZ1NKDmspSstJZHxfxjoFqq5yN43JMW1e+M6r2hNt1T39qUYbr4VuR8koHpbx64vHPX5tLgIcJm3tXu3tI2sIUWs/UOHDi3G8ouJNVbu2rUrygoz616KM1thCk5QOr+lHFmmsMGUyK69qerIkSPZvui8FGdt3IHyisjm+CL4IfW1atXqd+gyi2XbxVNut11dF46TJ0/uROkpzFijLwKeg9lpI6jj1VdffQTcfmSFol+RP0tISFg3fPhwWzc88F0JQ/6e9Z6E+49ydVJxUxyk3zDwZI6CJCtSc9Zzc3PvQQavIISld5L+xVxOZj/wwAO2b35YuzWKH8CYQ9mvdpq6uFwdpmHk6QBmmcDvo0TBcsY94Tk2ssXT99jFixf3Mjm679tKOobhOQ/lpZsruRR3ru2zWPuKXS1do/qpTJgwYU9UVFRH7vTXU3bFUumgzycfFJlzAt5Ced3RbSUUXwDdMOtlxuXqRGiFIGxhbT9vi1sQSAjZG/SRDN6fshJlilDwkyBYXLVw4cJI5JsJj6lOuvPwuRU+/7LDp6SkJB+83az1ecKP0B8991RXV49k/TyudlOlvLy8PsQDM+GXgcCuSab+CJPx1MSJE5/2NdaKFSvasMn+AdhN4H5JuXzSpEl6dJjGBLShfIzcCtgzlLqgBExMUiH4MqqhuOHqPAwmy9pN9VzEhhKBYjNQehsDjWZAl9KSUG1yzqJFi7RuvdLp06eTgcu6YwBOI2+DnyZQSWu1UhXgwzkBOqgeKOHJa8H/EbIlCNdQnIWvdVQaiNgOHGW67Nu37xMJDn6kHxqM4IjxBc/Ozv6QUHkA8FHA8zBKOPxmoHwmlv+G9mInneRPc9YDFtCtAUm6fufqlKl0PqiOxiQEG8TDoG5FDcbIFv77x40bd8jp1rcyfndgXVEwGitWcDEqHjt27Kf0/QP31tN0DrBfU65gQjbhTVQNq99kVOz9+Ri6VFCXOGAWTqV3p06ddtij9Y2FcHfDS2/hdpQWkwPQvHOCBN0avC5PRw51RVsv8rz1JXBZXGm5/jA5PVXiDf9W6UztzEqgEvrt5H7Cc+gLB+Uhu+/evphj6Qz6/0Zu5QveQJ9cboQfGn1kWChaLByvkqQPEVrb35nboy6Yv4TSXwC/EfowB7OsWdztj8AfDKuMgNHr4BgnhD/cEGDyRimuzbESwY2jFpmvNXkBO2zWA5UEM2eQ9Si3z04RMNG3LNshoJV5fn5+T9ZMEcz8bWImiT4DVTjHqoGmLe32tHtQNxQ0ES3lS6qz2W2icL2kgl8NXR1lLYHOWxZ8O9Wj58+fvzYCBrEwMFzIDpWJg6WjCR+LaceafT5KWWk5/Fe2a9dua2Zm5jlPnMLCwhg2xCEYYCywTHCNSYDuMBuczxsiQYvWfy/eAGvYAIN6A4RvjXSWxfXV8pSnQDbaCh76NID3NTxnxsfH56FsnXBQKIyjrjVKOnQkmXQIfpb6B8oEPLORpwDcn5M7ssH9l/2jDF6vx8XFFcPLtbbhsd/kEWQpXduGEao+QSWeGF2lrcRsd0aYfQjn9bpBfwk5C6tUcVRFnTp1St/V7oOxjhEHsHrKzeTlbKgvsu7cvoTKA3gIeRfeyeC4EnS7iCwz7r///n2uzhAq6PsevF7Qcab15s9dvdhD+GQDSr+PlUdI6SVLllxD2FmC0kthkE42giXoFLUNJM/fu3fvB8uWLXM7juQBrNt7GUOe4Erg975w4cIaJlN7Q8gJPvo2r2/yDvm8jg5bSeEoxJk+kCujo6PvkWvL0lhtPXhDfOBdsvSlnzlzRhPjlrhvH6TjfbdOGvDryGRO9OwPsh2Dzqd1nFVCmGiXGCsJN84Tn8l7Nisr67T6iUkmU3hFVAz4FMHHdcAOkM00gqXTzWxYSmuQ4upG+f6uRmiVzuh8xKGfX8BMZ7mtBH6tL0Tc812zn0mQ4kaivoysy8ZzjCM31bJyO/6A69rqmcygxa0fXKvHuMECNTZv3nwNOBFcTasczt+cxOlqGohQcMXXDO51/GFJ68nwYyev57l6ZpF1rfwjfb/g3D9Aeb0TbhR4wklrmwnSfqCozisxtqKvkBLLSgbeI2Jjw6Hczn18kDrsJAT7pyceG4/LasArBEfITSYe7qy7tS4ibgmcim7dum20dnKETQK3q7VPdXB1Irzj2W+3Dc/bwNVV+bswkxlfTWca7Y/VGSghwGxwxkCjUNJIrBvd7srUAJ4LTJ9ynkMJ7QnauaVMK0q3BO5U65HGzUzBzF/ckC433rX74nKZ5HKNsdLIBeoxLE6jFKGSL6P4r+G6u6CZacWC/h6EzlYfwuVTzKcvgfxn8p/Inmv2AjyywS02+UA/BqXfo+3rlPkaAz1s4gZbMn44NINiYmLWiNawmI4oBjzM497AIUOG/EcAOwn3XQpelhUXZeayAT6t8xhF9Auoh4APoDTGAn6WejGb4QvE4FtEW1BQ0Ivwdxb9GVZelvo37CHDxo8fv8HSF1SVN7dRjP0YgVqKCA1hVAHwVwDHAcxU206SMiinO7RozP1CpHpQLCC/ERsbu5NfRXWAdzyTW8fmdlghK+Fpd+op9GvJpHjQi4eRgFcAHw3N52ZfKCUR20p4vZOWlma4uktxrH4Lgi0H0AMEbSK2E0okocQ8CLSuPZPi8v3w1M6tXzJeTb0Tpafru9GBoxj/ZfByUNp6Yrjh2WnoGGNHr8AQXdlPjBPEpbgYYHX9oqAAq8uFg05sZPqNjFxb+4XVA2zzYvzj8HidZTeXuPyAbUI/iFhbMUQU5/dvTTQ3xbH6UKy+AKvrF0VBWd1kqJJ7ekfW7K+oDoLPzyi7MbDbWMJzJl1Vd4C3lfJD8D7EwhdMYGPLjRs3Xs0tbz98+mDQQyY/L2Gw+jqEkNUXmUiNLXWxwNXac9bH427GWmezOslt6wR36iPW62Zjx/Kkx9rz6YtCnylWmJfia9euvRlrrULAXqyHo1bkH1odpX+KzO+xbH7CaeX2Pc5rHepnkrjbG7j83B+aolZ5dUTTfhnvneGptPC8FFcnbvg4yt/MjNl+nBBdS0qcMq8hz172q1xfcvlUHBevxT30KfZhvqLa/iTra4Dvow+DTcfSXfm5+PiGxvepuJD5jqYgZBSWz2fd92+IQUvrx1B3IdNkNs5R/r4VNKi4FMLyCikfZTfexppJUF9LTsioJ61FWHuUDOdPVr+Ki5BjoAhGE1gzn7Zky+tnLMi4CS8dxrpWTOA3BVRc1CivL5YPccx9xPq52y/H7wFI7KH/jpiD0rc4vTSgFF7nuD8KZrUvx9zbDLCYWc3xh9scMB1ZyLMUpbuxGd8VyL2tMgWluAj5yHgda/5NqlX6HVlz/buUVWjVncHJSyhdkZiYmO1vI/OkVTtoxUWkn0lWVVVNZ7b1MDCbc18fBnw+Qgq/KZMz9p4BT/0sLIeLx8JQ+IekuDkQrtaFDWU+638geR55wZWaAOfVcipj65WnCNee7isiM2ULVDZKcZM5E9AH6+tBYhh9b7EHFLIHrDXhoZbwC8el72RCx8IjlbyE/BybreuWFSrvJlHcHFy/I+MLyhinoB3ol/IlTMR2Agr9+6TXs7RJq9JpVT0B68VXiqosh18heSXeZDwi0Nfo1KSKW6XBCxTwpOMJKViuH/UbycfIR1FCE6BXFX2OiqWMISeS9SC4h4nSOVyqh8EBAwaIpsnTFVPcU1IUDONESCAWMP6pFnhbcj0Tow94pzkhKpvzHwL+D/apVUBAYAKoAAAAAElFTkSuQmCC) no-repeat}.li-img-qzone{background:url(data:image/png;base64,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) no-repeat}.li-img-tqq{background:url(data:image/png;base64,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) no-repeat}.li-img-qr_app_login{background:url(data:image/png;base64,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) no-repeat}.li-img-device_login{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD4AAAA+CAYAAABzwahEAAAAAXNSR0IArs4c6QAACMtJREFUaAXlm11sVEUUx9tlhRbailBTQ/hQCR/hgb6IQdLSpSABRYmQ4EObvvBZMCYKMSSCD4IxGuDByDeEWIpGtASUAMGy3VJEEcEUEkJNTBAI0ghIaMG2tF1//8u9zd12t3tvuy3bdZLZmXvm45z/OefOzJ2ZTU7qhRAMBj2nTp16trm5eWxra+szsEyHlu7xeEiC9TzXkb/p9Xp/z8nJuZKcnNza02Il9wSDioqKFADl0Xc+qY+YTb6WeEkpwOqg1ZGKfxr5dNIs4gSlkKuJAfJ+0spp06Y1kI9piClwAPuwaAESzgeMITypf+DAgb9OmTLlXyeSnz59OvXBgwcvANhQGqmUVoZH7EMBASd9OKnTbeAA8/j9/rkwW0P0Imhp//799+GyN5wIEK0Or8iwpqamAvgUUreZuD4/P/8QfLr1OnQLOBbOaWlp2YIwjVjEECgakO6US8F4lBQ8gLhixowZVV3tr0vAq6qqnsIKn8M0D80vxwLfdVWArrRDAa/jAZtpexLveis3N/cft/143DbAyuMBfRbA1zMzM8f1NmjJK57wHi8ZJItkcovDlcVPnDgxGwYlMFwJ8xK3zHqiPtYvwvob6bto+vTpR53ycAwcBu/yfq3q16/fPEbXn50y6I16WHwyY80BxpkNGGSTE56OgGPp1Wj1Y0CPAPR1Jx33dh3AD8cw5fA9juXfjsY/KvDy8vKVuPaiAQMGvMgUVRetw8dZztSX3tDQcA/L61Xs1PKdDm5ocRZAVrKUnBnvoKVwySiv1CtpjkcR7RDR4hop6eAkHc31+Xw/RewhDgv0ziP791g+l1fzcjgRw1pc8zQND+Piq/oaaIHU4KuZRxiExTFwLU5oWBYvU1Y4waPRJLswmAutDtU7WBw3yaFW3tChQz/sULuPEUwMUxmgc9uLHgKcKcuDe2xFU8uzs7Pvt6/c156FASwrkHuzsEWUn0XKPLTzS8QKfbQATGcZ5d+wix+iBay9Rl9Z9gqJkDcx6auuY+Dd9qGV6o4liUERNmG00LRZHGsX8D6UWgWJlgqbMFq4DOBoIgXCfO2cWAWJlprY5ptYkwzgaGIqQC/EarsoHpUmbIzs1URtgj4CTppPDBATOuDuAQAKa5JXP4RpaGLVo6zz3z179gzmO9hDbFi6dOkDtSwtLc3gC8noNyUlpbmwsPBe+x63b9/+BN8A2lI2wsKFC+8iVKvm2t27dw+26PY0IyOjfsGCBU3wTIHfwNTU1GBBQYGrLSf699PnBvWrHX3FbG0B2xk5yTc2Nl58+PDhbdp/ZNWvr68/LppiXV3dtSNHjmhjMCRQf41VR+mOHTvGqoJSO92ev3PnjjEwwfMd0en7ZkinDh6EUViJHuOEgza1Tve9HfRvr5Jx9epVfdqGBBi/GULopQcTY61Odbw61oGvTjhiHf6kw1FEgTxkdb5t2zZpfByufZ10uEUPk85jrX3MRm+y5buTvSTMXkZ0nWXpeCemAWDnADaK+Nr+/ftTeT+tkxTL2r/BMCJw2jfa2sRStlph1iCUDpOYbynRpzb7XwZ4+t27d18hXybpeTaAU35YShEtQsjcuXNnm2IWLVp0gzbdOj0RHxNrugY2nVzGHDh9thAPihkaNsAyeE3i8XmYn6fsD5VFCpR/gUtes+KuXbuejlTXJb0e/mms3z1BMhG3oFx2GlKdKesrk/BqSUnJIKYhQwGA+jqkYpgHRApCloWtGKaWexK8gxgi2Uuq8+lh7ruI3mLMmDE/1NTU3IJH5v3792cCZh55NdxPHB2lhznFxcVHotRxXYwMWj/8pSWrzqrbFhOue+qkAXtfzRR/qyowXAKf50jPAOiKaI8jmFjrvLj6TVwwqweFkLsvg6Exn5NGdXNTlidZ4WVacrHF3cgKLxZjUZYwe3T9gs51E6FHAkvZKqx8XZ2TBuH3jRNGKOhL3sW/rcim4TYn7RzUmSDMHr5arlA5SzcRHDRyXUVgbVb+cfHixYYSXHcUgwYmxixh1g2GVu1O6PoFfbs6aB8yZMjotLS0ZNbnepeNQH+5I0eO9Nhpy5Yte+/o0aPv82HRYtXDE/zQtA+QNHv27Caek5YsWVJj0ax6Vmq1heen8NxE/8YoaZU7Sc0rJrqi0mp8RdGogofppK6A62upPUMAPGxPEyNojXY6NAkelWZvozw8pbw2BbYv7+wZnvnEgOoYGxGkfqKPmNCBV84HQGF9BJxR7iT5ibpoI2IiBmHD2tnESuEzLM5820Bexy1tm3GJBt7EVmZibXP1JKy+D1coTDTAFh5hE0brOSTlxOG8bhSFEBPgAUxzmbnO2aFYg5tBw//XsWBYa6+QCHkwrQHH+ohYcAcPmrmYSFYXFjz5grDZgYc8YPFW3oNiKm2prq4eZK/YF/PCICx8Hi8XNjuGEOAqYNQ7RVJ5+/btD+wV+2LexFBpYgqB0AG4SnVNEk3Nx02KQmr3oQfJLgzCEk7siDsvnDH9/y7/SEO4x2Xe9yL2vMoqKytHhNNaPNIw2HD2Fw4gW5EwRJIxrKtblWl4jPxGTi6u6vKcRY/XVDIydZVjsA3R7rVGdHU7OKa4z3ieygf8a3l5edfsZfGSl1fKQIzeqwH9STS5OrW41Vh3Qxko9tLxGVxpskWPlzQQCLwk2ZBnlRPQktuRxS2AgJ6FK+1Fq/F2bXuDxiPz1bTE7TR1BVw9maO9bj2W6R7Z47oWpsWJ5mlNWYCe09lAFk4Djlzd3lAMmBsnwXD4rVu3ah7H8lY8xVsySBa3oIXHtcXtSsD6Obj+VgRoQOvr8nv4vykCrA8OvC0VfsUA1iqzS6FbwMUR0Mbfr0jXIlA/Yo/9/QoeLQBeD+CD8AlZe7tF323gdoZ4QNsf7qBfIAYQ9kQX/3CnzU8fcSIx/v5wh1AdAgpIwSWnUpBP1P2abNJaoi4gGH+xJK2HrgNL43+mPOs0Rwcbxl8sSSuIfix8EgtrayymIaYWjyQZ+Dr8qRbAaSiHxDib7/U/1f4H6rqNgYgM/yMAAAAASUVORK5CYII=) no-repeat}.li-img-nuomi_login{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD4AAAA+CAYAAABzwahEAAAAAXNSR0IArs4c6QAAC+lJREFUaAXlm31sVlcdx/u0D9CxdmggYxksYmocq7pmkSHD0j4UNDPhZYPpMjtLkJcGhnMKQ+IYJkBmVCB733gJSFf8Y9qNvSSbsy9PoXabQ2PR4DanQ52DEgqTAhb65ud7ds/l3qd92vvcp0AbT3L6O+d3fuf3+33P77zd+9xGMi5B6u7uzmxoaJjQ0dHx2a6urmswmQsvNzMzE9J9mnor5aPRaPTdwsLCw5FIpOtiuxW5GAbq6uqyAVSM7hJojFxAuZl8SBRgrfBaobKfQzkXOpacLwq7iRynXAutnz59ehvlAU0DChzAMSJaiofzAWOch9aOHDnywNSpU/8bxPPGxsYrzp49OwnAZtCgGrQqZsQeBiAeREcQmbSBAyyztrZ2LsbWkqM4Wjl8+PA9TNkPgzjQnwxL5Nrz58+XYuduZDvIG0tKSl7ATlrLIS3gRLiws7PzSZw5R0SMQ/0BSaddA8yM0gCPIN8zc+bM/WH1hQK+f//+TxKFxzFazMgvJwIvhnUgTD8GYA4z4An67mN2rZg2bdrJVPVkptqBKE8E9FsA/mDMmDHXX2rQ8lc2sT1RPsgX+ZQqjpQiXlNT8zUMVGBwJcYrUjV2MeSJfhnR34zushkzZrwS1EZg4Bj4PutrVVZW1jx21zeCGrgUckR8CnvNc+wzmwjIliA2AwEn0msY1R8D+jpAfxBE8aWWAfx4AlON3deI/L392e8XeHV19Uqm9uIRI0ZM5ohq7U/h5Wzn6Mtta2s7ReS1FPuMfJ+bG6N4K0BWcpX86mAHrQGXj5qVWpLOfpQ0Dkkjrp0SBftQNDcWi72eVMMgbNCax/eXiPw0lubbvbnYa8R1TtPxZab4qqEGWiC1+erkEQZhCQxclxM6Vg2WI6s3x/vjyXdhcC5aPcR7RJxpUohU8ejRo9f3kB5iDAdDERv0tETXfcA5sjKZHk8xUssLCgrOJAoPtbowgOUe/H5C2Lz++zY3LinzAL6Gy/9kr1CQckVFxZUcJflLly59a/v27Xdh6OvkO6l37ty580u8hDhQXl7eLl3btm1bR9uPKPqcCWIHmSNsWpOXLFkS+D5BxHXFfojz/Xlrw2cY0GtRutE2pkIB/ShgfgfoL6JnEeXb6f8F6ncAuhG996eiL5ksALqTtSXjO5j0VOemqC2xtvUSIYtNIeyTlh4VMwCcj3MRaAbnv5bODSpDs60tZsF6yso90tatW/8I83PMjmE9GkMywPQC5/p6YWTHj0uNCxzHSvG3MqRudTumP4C8WkRl7s8aAL1SymDU9erJJMAtwJbW3nmH5RLkP0Mli+XQ4DKdAn2k/wx3izsWLVqU0i1S2IQRVXGpM8AZiWyY83m2/byYYRIOGeAYuJqyq8LW0W/anYZNyIxxhXop0P7lRLbVi64y2vQ8HjjprdC5c+f+DNbvEPU2AxxFRWg4mM7rIkUUPYqIXhZCuhXlCDzNgAx4XuDm/Ru8ech4+ZoluxD/NFGNqZ830baK+m3o7vTyg5SFjU2uib7FyP/abm4lVOJBFCSTAaAb8QQZM9Ux6E51284ecIB+UbLeqIxYvHjxb2k7q3aVAXqKPIv2caozUEdt3zCU/nH6Cat7nEzHcI0YYZMnor41jj4TcSLoi6y1g91HyKsB95jlWYrOdZT1SPxzpqiZnbYtDEVPLTmmvnqjr1ygV8BhlNk+w4YN+yvl0+hqsTxR1QHwDzYj970Y9Qbye+3t7UcZkIVM99VkrVtfYkb8AMYqZOewLjugr5P148MffIIBK8IorOTMKM+wE+jXHPS9dzIbCxcu/IhLTF52dnbryZMn90oOByM4P4n7cjcOuzsex9k3ZRxeF7v39ZRvpqzX0b/36mdgPgV/EjxdtKq5tFQgW6l+XrmgZWFknTcLc1Q/69DxUNDOiXK6oODMDPG5xJhM/QacE+t+nD+mMgAVfUVrMwD0a4pxHt5q5G6CToTuUSdPKod/J7KzmeoPO1EPBdqj85Awa2PRb1k9Nh6PYJ9F+j+MwDivkANal5Z5Xr5Tfg+6zfKZIbOZEbdQf8Ph/Qf6kco5OTnL+FXlWYp/EWjxBiDp9LlGG0YujqZ0GfAap+8s6lOIjPfevwJePvln5PfJJhHt1lGjRlXZuuiCBQv+DfmVh/ct1v1VqpeWlmpfeM7TlnbRwZobxeFctIUGznrVFVPZTdzM5lDR1XUv7Y1ug1PYvXv3OC4TsUS+rRMRLY0CW0+gJ1gqr6Lb3TMS2vurnqZvTpQogN0Xrf469tq+Y8eOm3B4C9G6jzXkygBgC/qzuHt/1zIBrSNsvq2nSrGlDc+3EQbVIbCkiCJ+mk7XBu2YTI6Lxl20xaBfUTRIZlenvgR+Djv+D8vKyswzPoPzAIOzDznv8rCqx9P3PpqyYPyUfMQ2OPQEy8U3wxLa+6yiVzP8iNa4fqtWJd1kLioobhFoTzpOOQegusH9XXzO9Hcgyr5UWVl51ZkzZ3RGKyAPMUse8AkMQEVY8bFVU/0oUTHXyjT1Wh06IQxy9GIjcgxjEyhrYAxwrXGOPu0DvgTob8PII/8Nvz5kr1jmE6ACv5k1ns6GN1aYuV9E38Up7cDpJhNxlB5Dn6sL0PaotAOjs/41BPqymcd+8birxFPQxsfdoQjwYX8izhfmTJ5aDqN3rL5E8OhPuUhkDXCmtCJsIs4gmIhLGSzT7ig+4dAXEXia/Bunfhj6Sy+Psl4VS+Zp2sx6R1eoT0McjGOF2VwbUdqkzy8c42GJAcZz77EEBaaeANzc2xmYRzjultH2vNOninX9DfGo2+ncqLoyfuryo0G8MKWcjkGI84mJPlHpso+ldVTMtTOIgkSZXbt2fQJnhsM/xZ29DV0m4lDt2maqU3SnOmVz7XTapc7WrT96fjc82tydHxvuTFKnVBM6S8hx9bOGainHxAiTuI+baKM0MdruCwh8dqe6BQA19i1I6i5I1rIFbn10B8P2S9VX+sXoI6wfA2fK7aN8I08toc5zHLfRNNHFgIkMvieLuLddU9fUrT/GMS5WoiQXuJXT3vFxU/C/woafBeR6V6neQVHRzy2lwVVdkMQhG81AEaeniSZOGAAQW3dBWhmoCxI5Mxg6Ji9YD1ZysFU5WC+MJqO4BwB3B1Pjl8KhKx2OHjg0JY2D0AgvKI6oTrYyEkmMptnssH9KjUqUzRMaRe9zhBmgMBEXNmE0yvnjjjAjEaexU18U2caglDcbLyG7AXBbnD7totTbefpqoVhO/p54TrIRNpHD7svwS3lEtf0F3PD4IGGz7QQ1A5YqcDDNpW+HMFpdvvdYOLqBdfkgjSn9qOA8Pq6zStGzifL7eXl5b4rHUbTdtjn0WWTGc/SZdo4wDdQvvDK98SRDv2xm0UGvbH9lMK2l38akcoxyJr84/ClM1JMqvcwNwsLrpoPC5nXFV2FUuphGulA82dTU5F2T3j5DpiwMwsLT4HJh8zruA64G1kEDpL6lpcWdut4OQ6nsYKh3MPlc7wFcray9FYzUfKZJmU96CFXkuzAIS29uJz0Peav5//fxj0aI6fE2672Mp62q+vr663obtcHII2DjueDoAadMGJL52OtUt8J0fJXyZu7i/+TKNxBvaazqi0LlI0dXNQHbxNcPr/RlJOlU93biiHuUehEP8LOLi4v/5W0bLGXNSgWI3XsNoH/Sn199Rtx2RtG9bBTPoPhNptIUyx8sNB6P3yLf8GdVENDyO1DELUBA38pUeoZRHWyfbW/SfuQsTetunzQl4NLk7Pb66rFK35Fdrs/CdDnROa0jC9Cz+trIehuBQFPd21EGOBtvxuD448ePv3M5rreyKdvyQb6kClp4Uo64dxCIfiFT/ykcaGPUN5SE/2LKqzZpWYCdB44rsLcMwLplhkppAZdFQJt/v4I+yPTPIl+0f7/CRieANwJ4L3Z8d+9U0acN3GuQGeD+wx18PTrqGb8m5D/c6eVnjHwjefD9wx1O9UgMgD4fK6KhhKzvawqgzeRDokRLb1X02YjezJj/M6Wu93b5ovCaoHXkWiK8jwjr1diApgGNeDLPwNfjn2oBl8PgQMwg6EuJS/pPtf8Dx7gDHNqiisoAAAAASUVORK5CYII=) no-repeat}.li-img-voice_login{background:url(data:image/png;base64,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) no-repeat}.li-img-huawei_login{background:url(data:image/png;base64,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) no-repeat}.li-img-feifan{background:url(data:image/png;base64,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) no-repeat}.li-img-meizu_sso{background:url(data:image/png;base64,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) no-repeat}.li-img-chuanke{background:url(data:image/png;base64,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) no-repeat}#pageWrapper{width:100%;height:100%;-moz-box-sizing:border-box;box-sizing:border-box}[data-role]{-webkit-appearance:none;-webkit-tap-highlight-color:rgba(255,0,0,0)}.wrapper{width:100%;height:100%;-moz-box-sizing:border-box;box-sizing:border-box;display:none}.mod-content{overflow:hidden;padding:0 15px;-webkit-box-sizing:border-box}.mod-content-code{padding-right:0;-webkit-box-sizing:border-box}.pass-form-wrapper{margin-top:2.5rem}.pass-form-item-username{position:relative}.pass-input-suggest{position:absolute;left:0;top:4.9rem;width:100%;-webkit-box-sizing:content-box;background:#fff;max-height:150px;overflow-y:scroll;z-index:15;border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;border-top:1px solid #e6e6e6;border-bottom:1px solid #e6e6e6}.pass-input-suggest:before{content:"";-webkit-box-sizing:border-box;display:block;width:200%;height:200%;position:absolute;left:0;top:0;z-index:13;-webkit-transform:scale(0.5);-webkit-transform-origin:0 0;border:1px solid #ccc;border-radius:2px;border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;border-top:1px solid #e6e6e6;border-bottom:1px solid #e6e6e6}.pass-input-suggest li{cursor:pointer;color:#999;font-size:1.6rem;line-height:4.2rem;position:relative;word-spacing:break-word;word-break:break-all;display:-webkit-box;height:4.2rem;border:1px solid #e6e6e6;border-top:0;z-index:14;position:relative}.pass-input-suggest li:nth-child(odd){background:#fff}.pass-input-suggest li:nth-child(even){background:#fff}.pass-input-suggest li:nth-child(odd) span{color:#999}.pass-input-suggest li:nth-child(even) span{color:#999}.pass-input-suggest .pass-remove-item{background:url('data:image/png;base64,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') 4px 15px no-repeat;background-size:10px;position:absolute;top:0;right:0;width:12px;height:12px;padding:8px;text-align:center;padding-top:15px;padding-right:15px;z-index:14}.pass-input-suggest li a{color:#999;line-height:4.2rem;display:block;padding:0 2rem;-webkit-box-flex:1;height:4.2rem}.pass-input-suggest li a:focus{background:#aaa;color:#eee}.mod-page-tipInfo{font-size:1.5rem;color:#333;line-height:2.1rem;margin:4rem 0 0}.mod-page-downInfo{padding-top:1rem;clear:both}.mod-page-tipInfo-gray{color:#333;text-align:center;font-size:1.8rem}.mod-page-tipUsername{text-align:center;font-size:2.4rem;font-weight:400;padding-top:1.5rem}.mod-page-verifySendInfo{text-align:center;margin-bottom:1.5rem;height:2.1rem}.mod-page-verifySendInfo span{color:#2e82ff}.pass-mod-loadingWrap,.pass-mod-reSendToast{background:rgba(0,0,0,.7);text-align:center;min-height:3.4rem;line-height:3.4rem;color:#fff;width:50%;position:absolute;left:25%;top:50%;margin-top:-1.7re,;-webkit-border-radius:2px;z-index:151;padding:.8rem;display:none}@-webkit-keyframes rotate{0%,100%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes rotate{0%,100%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.pass-mod-loadingImg{background-color:#fff;border-radius:100%;margin:2px;-webkit-animation-fill-mode:both;animation-fill-mode:both;border:2px solid #fff;border-bottom-color:transparent;height:20px;width:20px;margin-right:10px;background:transparent!important;display:inline-block;vertical-align:middle;-webkit-animation:rotate .75s linear infinite;animation:rotate .75s linear infinite}.pass-mod-Mask{background:rgba(0,0,0,.5);position:absolute;top:0;left:0;display:none;width:100%;height:100%;z-index:100}.pass-mod-reSendToast{background:rgba(255,255,255,1);color:#2e82ff}.sms-verify-noVerifycode{text-align:center;color:#2e82ff;margin-bottom:15px;height:21px;display:none}.canshare-account-list{margin-top:20px}.loading-img{background:url(data:image/gif;base64,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) no-repeat 50% 50%}.loading{-webkit-background-size:30px 30px;width:100%;height:30px;margin-top:14px;text-align:center}.loading1{background-position:50% 20px;-webkit-background-size:60px 60px;padding-top:100px}.canshare-account-list li{height:90px;border-bottom:1px solid rgba(224,224,224,.5);padding:15px 17px;width:100%;-webkit-box-sizing:border-box;display:-webkit-box;-webkit-animation-duration:1s;-webkit-animation-name:fadeInDown;position:relative;background:#fff}.ajax-loading{-webkit-background-size:24px 24px;width:30px;display:none}.canshare-account-list li.canshare-account-active{background:#e7e7e7}.user-avatar{display:block;border-radius:100px;width:59px;height:59px;padding:3px;margin-right:15px;overflow:hidden}.user-avatar img{border-radius:100px;width:59px;height:59px}.canshare-account-list span:nth-child(2){-webkit-box-flex:1;display:block;white-space:nowrap;text-overflow:ellipsis;font-size:13px;color:#999}.canshare-account-list li:last-child{border-bottom:0}span.canshare-account-displayname{color:#333;float:left;font-size:18px;margin-top:5px}.canshare-account-tip{height:25px;display:inline-block;padding-top:5px}.mod-btn-wrapper input:nth-child(2){margin-top:10px}.mod-intro-tit{font-size:14px;color:#666;margin-top:10px}.mod-intro-info{font-size:14px;color:#999;line-height:20px;margin-top:10px}.mod-send-tip{margin-top:1rem;color:#999;font-size:1.4rem}.fast-reg-tip{margin-top:65px}.fast-reg-tip h4{}.fast-reg-tippaymsg{color:#969696;font-size:14px;margin:6px 6px 12px 0}.fast-reg-tip li{margin-top:10px}.fast-regSuccess-tip{line-height:24px;margin:10px 0 25px}.dialog-verifyCode-wrapper{padding:0 10px}.dialog-verifyCode-wrapper .dialog-verifyCode{border:1px solid #bcbcbc;display:inline-block;padding:10px 2px 10px 5px;width:46%}.dialog-verifyCode-img{vertical-align:middle;background:#f5f5f5;border:1px solid #bcbcbc;border-width:1px 1px 1px 0;height:40px;position:relative;top:-1px}.upstream-content{background:#fff;border:1px solid #ccc;margin-top:14px;padding:14px;color:#666}.upstream-tip{padding:15px 0 0;line-height:24px;color:#969696}.upstream-tip li{padding-left:15px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAYAAADEUlfTAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAFZJREFUeNpivHv3LhMDA0MMEJcCsTIQ3wXibiBewgKVWMiAADowPkhXMQN2UAySVMUhqQqSvIZD8hpIshmI/6FJgPjNIMmNQBwMxIeA+DuUBvE3AgQYABc7EdTu/IgyAAAAAElFTkSuQmCC) no-repeat 0 8px;margin-top:12px}.prompt-css{margin-top:10px;font-size:14px}.account_login{color:#1b66c7;float:right;font-size:14px;line-height:35px}.pass-form-item-code,.overseas_login_header{display:none}.text-input-code{padding-left:2.3rem}.mod-agreement-info{word-break:break-all;line-height:2.4rem;font-family:PingFang SC,Helvetica,sans-serif;margin-top:8.4rem}.mod-agreement-info h5{margin:1.5rem 0}.mod-realName-loginSuccess{text-align:center;margin:20px 0 0}.mod-realName-loginSuccess span{display:inline-block;color:#367cff;font-size:24px;line-height:24px;height:24px;padding:15px 0;letter-spacing:3px}.logo-dom{display:inline-block;width:13.8rem;height:4.6rem;margin:0 auto;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARQAAABZCAYAAAD/wdt/AAAcaElEQVR4nO2dd5wU5f3H38/uXr+jHiUIeEjE+rNHYyFo7C0EFBGMHaPGqNgSTeLvl0QTW8SoSSyJUTAWVGyxJfYuYBQTsBsRkM55cFzfmfn98b2Fvb2ZnfZsuXPer9e+lNnZZ2ZvZ77zPN/y+aovasuJ2Mw3rFbOT8zgrvg5DLOWFvp0dDEEuBg4EtgubftnwOPAzcDnBTivgtNMFVuwhNkdB1JOC0lKCn1KPZpYoU8gIuccDryFGJTtMt4bDVwAvA5M0nzcvsAgoErzuBFFTGRQejeHAQ8BdS77fQN4ADhWwzEPBe4DPgY+Bd4DrgZ20DB2RJETGZTey1bAvUClj8/cCewc8HiDgZnAM8Dxnf/ug8yCfgq83fnfiF5MZFB6L7cA/X1+phq4LcCxtgdeBE7Ksk85MlOZRXTd9VqiH7Z3cjhwSMDP7gVM8bH/MGRZtb3H/U8E7vF7UhE9g8ig9E5+EvLzPwbKPOxXg0SJMp29bhwP/NrvSeWKRvpiogp9Gr2CyKD0PnYG9g05xj7Arh72+wOwe8BjXE748wxFHIMGBnK2cRWDaMIgUcjT6RVEBqX3cTRoSaY4wOX975HdZ+KFX1HAa7CZSraz3uNw82liWFjR7RCa6C/Y+9hN0zj7geM6oApxsIblQGCshnF8o7BYpoZzgnkbY6zVrKMcsApxKr2KyKD0Lipwzznxyo5IZMaOSfj3mzhxlKZxfPGFGs0R5qOMN59klSolFhkTLUQGpXcxGEmz1zVWX4f3ztJ0DID9EUOYN5qp4ghzDrclpzKYFTQTz+fhezWRQeld1KAv1T2BpM5nsisSWtbFLsBQjeM5orCwUKxiKBcYv2SY1UI9FcSj2Yk2IoPSuyhBj0MWxH9SarPdzVnrlwQwUPOY3VBYtFHGUjWKC4zfsr21lFWqFBUZE61EBqV30dH50oEFtNlsH6Vp/HRyeh0m6KCeWpbGRvAj4xquMn6OopG2aKmjnSjw3rtoBDbi7PvwgwHU22zvo2HsTOyOo4UYJsvVCPYyX+H4jjlMMO9gnYI2yiJHbA6IDErvYhWwBthC01hf2Wyv0TB2Op8AazWPuYl6Vcsu1nz+1jGJITSxVJVhEouWOjkiWvL0LlqBLzSNtahzvFwzD2jI1eAtVDDK+pQhNPG5qsBCRcYkh0QGpffxL03jvI59pleTpvFTPK95vC7EMWihkmaIojl5IDIovY8n0OOYfcFh+woNY6dYC/xT43gRBSbyoRQv3wX2RpTOEsAS4A1k5rAqy+feBeYjBX5BmQ+84/DehyHGzeRh4EuN40UUmMigFB97IKX9h9u8dxHixPwjcGOWMX6H3KxBuQX7kDGIQTMJP7ttA64JOUZEkREteYqLY5Glhp0xSbE18Hvg74gWrB2PAM8FPId5iKqaEx8BbwYcO53rgP9qGCeiiIgMSvGwO3AX3sOyRwGPYZ8eDzAdaPd5DklEXMlw2S+ITGQ6KeHqiF5GZFAyUEAHJbRQSivlHl8VtFMWJhxZhcwK/NbhfAt4FPuq4EXIjMePg3Yq4j9x40Fk6ROEVUi1su5oUUQREPlQMjCBahoZzFoGssbTZxRgEKeZqqBG5Qy8a7Jmsg9wBXCJzXt/B8YDtwIjs4yxGjgH0Yb1QiswGQn5buP5TCVH5jjEDxTRC1FR58CuKKCVctrxrpFRSwvPxfbh5PgzbMXHJP3Z6SrgfbLf8F7YHefIzHDgF0jkaCvYVMTyGeKzuY5gN/m2iHPYiyD2s8D5wAdZ9hmCyCakZmobgOWESHxbrYZymPkYd3WcwFoVXeu5JpqhZJCaoSQwPM81KoD9zH9xSOxR3owdwABrLZZ30ePxhDcmIHKKRzu8twzRMOmHGJ7+SM3PfGBdiGN+iDT2OhXx6Yylq09nI9Je42HEP+TEIcjybH+6GrxWxAn8KjAHeCnEuUbkgcigZJDyoXT4UAFoQjHKWsdU406ejE2gio2U0erVqEwOeq4ZHIYIVL+XZZ8GcpOZemfnaxQyyyhHHLurEYPgRAIRuv4h9nKT5ch32hk4E2m/cSH2NUYRRUDklNVAHItlqpzDzH9woXElK9RwTG9/2hpEYEgHCWS2U0g+R/oov4TMKrIZEwXcjxgKL5a3BDgFeBqPxY8Kiw5KWKcGRRd6noj+zpowgDbVwVXJyznXuIKVbEHcNfrKnuipDE4R1LFbCK4Ajgnwub2Q8oJ+bjt2UEI/6jnGuJvWqO1OXogMiiYU0E45DSrBjOT/cow5k8Xqm25GZVvQqvIzQONYuWQMcHGIz+8CXOu2UzuljLY+ZrJxNy0hDhbhncigaERh0UwJFnCceT9gsYG+2ULJdZpPIa9izyE4CW+dCbNxBlm0bRN0sIJvcLoxgyqgw1HAP0InkUHRTAyLxaqCQ80XuTU5iSZVTQuVTkbFKXU+KOWEv1FzTSVwpKaxzrbbqLBYo4ZykPUM48y5kap9HokMSg6IY7FclXKq8Qg3J09lPX3ZSI3d8sdOBDrcoYv/N90W6fmjg2OQZu2bUFi0U0o9/ZhszWIrayXrle4/c4QTxX7x9WDiLFelnGw8yA3JM1mnau18KrqX9q04Vwn7IQHUAiMQp3GlhjFTbI2+dIVqJHdlExaK5WokZxu/Y4Ixh2WqPBJWyiNRHkqOkJBljCWqlFPMexjQ0cCc+ESeVePpy1epHBWdYkUgeSZmwM+WITU2uwM7IcuxGiSAtRxYiOixPEi4Opy6EJ+1Y2/gXhB1tmVqJKcbM7gheQkNCgzKvacYRoQmMig5RC7kGEtVBRONJ6mzFvLPku9jECcm9322PI0gZBNecqIPkhI/GRFzsmNL5MY9A/gpcDciodAc4Hi6m3oNB4hhsFiN5mhzNrcmL2KtitNK1Hcn30QGJQ/EsVgaK2cXaymTrTv4Y+wSxlgfYxB/HUlPr9Z0qIU+9z8SuB5/BX7bAr8Bvg+cC8z1eUzX/BGflAO0UU4/6plk3oMFNFIaLXU2U4VUpjthIL+jX7mLbkQGJU+YyDrhOOMBnlCTaVAD6GM1fGyhFgD7aTiEAbziY/8rkILBoHyr83jTkBmLV3R7SCsUFmvVYMaZz3Kc+RSLVdReNINtkJqqbIwCFoc9UAJ5QtWir+NcCoXcR23IU3glkpr9HuI70OE8LCZqyOLkVsAaVZbc13q76a7k0ZyWeJR2Simh4070GJQFwNse970VSXkPSymi49IXqcnxgu4YrpkkThVNnGHM4CsidXsbvCyttfRGSiAKXfmMqzUhZfMPIorn8/J47FwRR2pX6rLtlMB6bR0cVWd9RAelKPGj3If4JcaEPIc/Yd/2IpMr0WNM0rkZaTA228O+uu/2ljYq2Nt8ibHmy7Sr2Jbkpl1qLllAd4mGOvQ5sL34rY4l/AwlmUC+yOCQA/mhCoki7IRMu58B/oKUp/dkBuPeAnRgkgRlJJhg3sPs+GmUWu0tiDjSYyGOPQ9vy47xwM9DHCcbf0U0Yt0U34I4crPRtFH15ZzkNfTHYhnlZymsSzUfI9ccSvd2IucildX54k4dg8QIHmbUxWGIUtgs8mvYdOMlp6S1gxKGWk0cac5mNbXESQI8DtwU8LgrkVR2tyXrQGQmkSsqkYvSLcc9jP6KHSsUJo30IQkorI2ax88Hds7QxryfRXg2FFNi24lIafqIQp9ILlFYNBKj0jLZwVpI8+YAz/lkFyGyYxkwBW9r5GvI/d92B+Aql32Waz7m+5rHiwhBMRkUgN0QqcDaQp9ILqlXZYy1FnCMOYtlaotUTgqI8tl0RPowGxayTNwHbypmRwOnBzxdv0wnu2iUzkZhIPorEUVCsRkUkBBXtiZWPZ4YFqtUKcebs9nJeo+1anB6AtaNSEj2AuAfiAN7BaJi/whwHlK+fwaw1MPhtkbT+tgHt+OcJPcB+hTX3iOaoRQTfYo1D2Uq4uTLaSPtQtJMnG2sJRxhzuEv8ekYxNJFsT/ufN2ISBLEER9Jq8/DlCLLqIF6ztozfZAZ1H507/HzBSKMHURcKZO/0d131FM0YdLxKzvxDt1nsa1IBFXRVQHPQoIFQcP19chvmD6miVxbmUmKzcVqUECe0D3JoHhxKG+6seNYrAXOMq7nqdix1DOAsu6pORbhoiKzCNfjOAzfRiJPU23euxaYQLgZ8mrsOxw+hh6Hpoko6rlJLTQDM3BvjpaNbJ0A7DgOmblmsgViYFNPJoX8jVcGPzWGIQ73dMNdjjjXu+Wu+DEoM5A+L0EZBByEOBG9dMfbG/kyup14ucBEvpvbk6ZLrkEM+Ir+1FNLXHteIdejTwA7KFOQ3y9TnW0e8H9I2kBQfowYlUxewV/GcDb+7GGfl4HLNR3PK7V0NyjnITlGBl0NikIM48cBjhNH/pbD6WowS5BU/bGZH/BjUOYSvo3Bg8j6ejYw2mXfAYgvIUx+Rr6w8F/TgkGM/jTzTWshc2PjGGl9TtKH2n4WrsU9h2EVIhJdhVQalyJPnsGIMdfFRUg06vcZ26/sPK7f9P8kYqAeDH9qWdkO+9lVJmEeskGxmw114PygDvpQNpCWK3aiXbZdLv0YlP5BzsiGfwGnIZbdjTpNxyxKWimjn7Weu5NTmVTyOO+rnRhirfCqmO/EjcjTyo3FSEQmkzHor4KegRiw+zK2X47MVk7Hm2L/00hTshdBQvAWig1U0Uap7gjDCbjrwDRRmAdeDfAjui6z982y/9UES61X4PiEGwL8MmNbW6F8KKl6HjcJRCcHWw3iaNpIuFRuC1mupOqOmkOMl7WWp5MkaVoiCot6VcYgax0PdhzGwSXzWK2G+m0UlqIEqdE5zeP+Tr99Lhy4CnGgGsADGe/9vfO1K6LktiNysaac0fVIhGs+oseyCZMYDWoAZ5o3cYD1Fus2K7MpxBjEyZ646eSo7Ic3p/F85Pd0y5B2wkCuYb9UI3lFXqvUzwlwDDeGIcvWLhTSKbsGd4PidFdNA35NOEcYyA3eihiCNmSd+QryBHwL71nEnmp5gNeQDntpH7RYoyoYSSNHmw9wZ/zHmMT86nj0QW5Yp86BxUAMOcd2pMF7Ju92vjyR0o0dbX3EDcnzaQY2sKnKuBK52Wuxz0K1Os+nEvtrLIG3xvXfQsoNgkZQ5gMHB/icgUTLnELzhWJDoQxK6sd0w8lbX4k+DZF06tjcp/c5JHSdOU13wlMtj93GOBb1wDRjBrNjp2AQJyEp+V4Ygdygu3n9QAEpQbr/TQKeCjOQQZxymjnJ+BNJYCNdpB5jiI8u10WvVXgzPE70ugTOQiW21eDNP1LvsN3z3RaCgxBpwfvx1ozLUy2P8xtlDLOauMy4jAblOZViN8Tw9QRjkqIS8TucEGaQDkoYYS1msjGTFrpNM8KG2/OF37yiFDH0K9/poGCJbVNwX251AJ/k4VzcmIyolE1EprfFwgREsqAYLyw3EsjypxJvodmMD3fwmRrNZcmfUEuSlV+/njttiN+pLm3bSKTRvB0vEkwHWAEHYl/w2YgEWNLxldgWWh6uk/F4i9t/iWQEFgM7I+XlY9EvLA1AOW0sV325Kn4V/SynidkmLkd8SGEohun27YgD9DqvHxDfyRDGWi9xkPkaTV9POaUGpO4rnbORB4wdxxC83GEpnbq9GSwEDsjc6Meg1BDcb6GQGp1peBf3eQFnD3ifgOcRhtHIDzZB98AGigHAdfELaVbV9LEytXY2UYU80ad4GPZdZLn2NvbOZS/ZpF2iUmm4OS1Nh/FjdM+VuBZZUtqFsG0GjtFEDROMexljLeW/qoKEf5Oiq92IFypxDr0Gxc5VkS1ZtJZgBiUzjT8d2+/kx6D8ChEC8hvPtDoP3h9/TrJbsry3kPBJdimyTRUz+X7nyy5KEZhKDD5QW/J0bCImMWKYdmHjKkQ35jCX4RYhItIPE/6mmQ8cbrP9AKRQ0YnVSAQiMwo3Evi3zf7nI5nUp+Fyzg0MYJz5T6aYs1imyoMYE5CQ6w1BPhiAuynu6Fs2fP9x/RiUfuhXLHfiVrLro96H9+iLG7WI/N10vKm//wJxKmqZaZsohljt3BQ/gYVqR7a2PrFLbBuErJkde/l2chei9KVLZKgdWG+z3W1NZjjsY5cqn2IqErGagix3HQZOUMMGhtDG5wSanYDMnuy+Vy4I6njVyZqAnxuPz2LLYiwOfBMpDMwXaxEDNgf4HaJ+lo3dkSf0CzoOPtBq42W1G4/ETmC49aWdMUkgSxc3Y/IbwqnY2+EUBXTrn6yQ3IzMGYpbrdNYJFfnZBzqcfpSz+vqAG6JncQpxt9YG6zNqO4lSDaKobHyMwTrUrkvzn+r0EuefDAXOJ7CWPU1wCnIbMBump/Od9FgUCwUNZg0qzgfqO0ZY32E0f0n+UPn8bJxL/qNSaGoA54EfoBNWnsZbSxRI1mmRlCJSRIVdJbydcLtYRQE26hRMRmUu3GfHeQaCymJdzMofvUrbCmlgxWqmqdikxnMWjtjMgl3J/ZystfuDEaWEZm1WMuRKEsxUo3Myg4lY6ZiEmMQ65gbG8dCdT/D+IKNRXUZf224325jMf0S2yFLnXw5y5zwEh4Pm/IPQIIkjVg8EptKhdXN4A+ge4WuHVfhLPx8ElLAZddWYg3Fa1BAch/uAfYgo8XqAGsNL8QO5iM1gh3Nz2hUJVHLUW+SILp4BIegSTEZlD06Xwcha2gtjYcCENSB5ZsYsEjtRgVNdHRfkk5HCrCy8SUw0+G9CVneA1ji6SQLy3BEM+WH6RuTlNDfWs9nansaeJM4ht8K7XxeW/lS4V+EvsinEybij3EUlComg5LiCGSaezhSAOWFMmR6/D+Ed7jlreCqDPh9/BesVMMYai1PDxUPJOMmcuAp7PM9+iOO5t7AKUj+z4L0jX2tr7gp/jMONJ9gS5bQ7C9b9njsk7VyQbaewkGxS924H4dlSD7xY1BaCJct67WCE2T58wAwjuwO2hjSde8HwPYhzq0gWEANG4hjZOadHIOU8LuxwGH7IfTsHkfplCBLty7f1SRGDRtIYARZ7BzY+eqpGEj0KBcFsmHY6Meg/Ixw6un9ES3MaYgSuxt7Apdho7nQSR1wB+4RkJ7I/h73c8oH0dEruZiYgiRW5it3pNhZjtxDxdZC5FA/BmU94X7Q9Uia9e2IIroXAZsLESO2OGP71khtTV2I8ylW+iBLNy84zd5GajqXYmEoIsD0UoHPo1gwkJlbUGGnXFHqx5OlS1uiAclMfd3DvtV0F1pOef/rNJ1PsTEc79/N6TfxLffWA9iz0CdQRKQUBouNeCEbfTlVRmZyMF1vkHPIjaOrWKjG+9rYSbrgP5rOpZioK/QJFBEpxblio7GQUR6vStw7I1O7BiT6camPY8xDHMlev2cTslzw4uPJFX5mgjs5bH8I8XnlikJczLpE0kH6Pb2mcbxsHIcEGXSi0CcnooNPkILLfxfSoHi9KFNFiQ2Ic86LjseHSIbpO0gJvtdjtSFFanYNpPKFnwY933bY/i6SFOdJEiAA2psIeUDnMu5+xI+XD0ah36AMQVqwnoU8YOs8fOY/iO7MB0jEdiCb7wsLub86kALNiUgumFvNVkvnmH+iM/mwkAbFq9KYyeZUd7eUeJAeMOMJ1tgIMppxFYAGRLvCyxN5DGJU7Lz9FyCznZOwX0J5cdw6rdMXIC0tnH4Pt4S8IOhMEMunuFQuQruVyAzlNqQ/0cXIAzRbZfBWSJDjFiThcZHNPgcgLoXdcc/nehiJvHWRoyikQfEqVBRjs4aslwvh5wQ3JqCpTicESxCpyd097FuCdNBzCh+eg1w84+ieA+RlyemULVaPGO1TsTcejWiSd0ijJ3SQzBfpWar1yPL2XsSwnOzwmSpgF8QIXQ3chMwsWhG1t5PxNpN6FVnePGn3ph+DovMCORmJ9HghyeZ8Cy9ZsMUWm/dLC9K3yItBAVkGPgA87vD+vM5XEHZEMoftnmYd5LcW6P08HqsnshDJKr4dmTkclGXf/kh+10nI7zjGw/hLEHmP28kiguXHuRZUkzKd4Uiy2l0+PrM47dhezrfHZcza8KaPfWNIrs53cnAeVUjxYaGx8NGz52vOG0gZyom4R/tG4W5MGoGbkcjqzbgo6vmZoUxDnlZe+ulkkkR8JgchTh8/vMHmtbwXz/YvkQSooL6QvHnPFdBIHwzim9pqdvI4ciN7XesPAJ5A1si6nY1HI43XL9I8rh/epXtz8J5CPlq+ZGIiXQVmI9IWZxIscjkbmZVkU0/sgh+Dcgibm2Dlkzlp/+9Upp/OzkhY8EfYT9XdyJsAdhsw3biSC9Vf6aAkvbnXaqTwz48+TA0iYH0U0t/4VYJdzKtstl2IrK8vQ5ZjQQnaMeBxMr5LDJP19KODeJDwTz5T+H1JKGqmA3kYLECMg582s39A5ER9UYzVxum8Q1dltNdxF2kGaXz1MmKAUr2LvWARbAYWCAPYxZpHJc3UMyCzW+DNBBOcGo8YlbeQfJT38Of/cqq2PhypMXoIMfJBbsogPYQsZPbVhXbK2Nl6m740Y/hPi9kV93qpGOKgDxKutpCcpu9g02pCA170eBJIntL3kOpqvw/KYxGH7T04F6HaHrRYsZDQZ3q9yh3I09JLSLWM3IQvtRED1jGQBvoT636NvI0sX6YFGDqO6IHuG+4Mu1GBrM1P1DxuNp7Fxn+yXvXnvORvGW2tZamq8CuwdEbnq6dSg8zAnSrKS4C9CWfMhiJRo4uR2fIC3POP/lrMBuUSugsVr2BzwWCPp5VS6qy1nGf8ht8mrqa/1W1FdxlSZm+nuPZ14Vps8mFimDTShyT0ZLW2oALW1UjoNl/yBUd0vtx4rRjrAdqQ3IrrHd6/C/lj9ngM4vSjndHWIupVPxLdHwBrEaGlQjj2ioE/I/6wLiTooJFKNlJZFJLyIQj6uxp4Fx/LxrvIvXaHhrEAWmIUV2Xqs0gx4B9d9rsUZ52UQuHl76i6/sOiXiUYY33J/ubzrFFD7Z62zyF+kXxJCRYLLyINwLqQ3op0L+s/rFfFPMl2JbM3cL54HslZ2QO516Z1/jt0L/EY3pTBcoWBaLjeCxyJxM9f9fjZXwP7IOu7fNeW2Dm4vCikdfOyr6eE7a3PmWjcQxPVTtqoTyFOxHxcgO2IQ3ED4njd0PnvVvRnvzoxB3Esd+slk96KdAfrMxrscx0V+WtKF5TPyS5Cnk3rpBz/Du71yExkHHKfzaTrUnIm0hdpOsFD9GXqi9ryWZ0nl+terwq58TciRmQxEoFYQPgw3p5Ii9AdEUezFlV6GxSS7DWLrn6cGJLSPArnhkrVSMJatyrgGFCKxcmJh5gbG8sAy1FDuQpxVJ8AbBvkC6TRjohcr0AuoFSux3JkqdWITMlT0p19ECf3VsA3kQTCURrOI50vkSemYzLdVwxkD+sNZiYnkkQ5FRtVINnDxSaRmOJTZNn+aZZ9TsE5jf5SpDCwzsOx1gH/QGqvlnk8v0rkfpqKd9lWgHPVF7W+xH0jcoAFDKKVqYmHeCl2CLVWto6dgPzg45HsxW2Q5mTViHe/DHH2tSCGtRkx2F8BK5Ecl6VIvdOHZG8P6kYV8lTbG6kT2YNgkbW5yCxsJi6+gXUMYqz1PPcmJ7KO8qJar0cUd9j4a0Nq6pbKmPVAM137O1cj0+A4YlRiyAzERGaezeRmWdiEtFV4pvPfI5HyilRK9whkSV3D5qLLFmQGtASpVF2E1KHYdqLLRGFhEKeD4nL+RQj/D6vx13Afeh1vAAAAAElFTkSuQmCC) no-repeat;background-size:100% 100%}.img-div{text-align:center;padding-top:39px}.other-baidu-sms{position:absolute;bottom:25px;width:100%;text-align:center}@media all and (max-height:400px){.other-baidu-sms{position:absolute;display:none;bottom:25px;width:100%;text-align:center}}.register-content{min-height:100px;position:relative;height:80px;text-align:center;visibility:hidden;display:-webkit-box;display:box;box-orient:horizontal;box-align:end;box-pack:center;-webkit-box-orient:horizontal;-webkit-box-align:end;-webkit-box-pack:center;display:-webkit-flex;display:flex;justify-content:center;align-items:flex-end;-webkit-justify-content:center;-webkit-align-items:flex-end}.login-register{line-height:20px;margin-bottom:2rem;font-size:1.4rem;color:#666}.layer-account .go-safe-manager{margin-bottom:0}.other-text{font-size:14px;color:#96aecf;z-index:0}.other-text-reg{font-size:1.2rem;color:#999;z-index:0}.other-text-sms{font-size:14px;color:#96aecf;z-index:0}.img-item .item-icon{width:14px;height:14px;display:inline-block;line-height:14px;padding-top:30px;text-align:center;background-color:transparent;padding-right:15px;-webkit-tap-highlight-color:rgba(255,0,0,0)}.item-shoubai{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAfCAYAAAD0ma06AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgHS3X78AAADxElEQVRIx53WXahdxRUH8N+c3MaSigYbq6X4mVoh5GE0tdASiqJXUuJXJCoVqUKtKcq8lFL0pVVbpL7Y1gEFBVGE1vgVFQ0xVgU/UKQ1IzYGakhKSQxaKbWNqI2948Pe53bf49knev4ve/Zaa9Z/zZpZayY4CGKqy/E7rMRT+EnJ4T9j7A7BESWHfZP8DQ5CdhiexVochytx/xi7ddiLt2Kqm2OqR0xFiKtxzIhsTUz19A7Z2XgAX25F38OmmGqYhvDcSfI2jXdi0Yj+uzhnGsITeuTHdYiP7bFZMw3hRz3y/7bflRPmHjIN4fYe+Rvt9+MJc18eJ5yBmOrRuAnfwHP4dcnh37hXc0K7+Bh/aMe7esj2dWwWIMRUl+BVnNyRF3wHH2ITzu/ori853NAGeij+iq929BUXlxwe7CNMuHWM7uaSw7Ux1S9gA1Zga8nhka5RTHUlbsE38XfcWHJ4OKZ6FNbjSPwJm0sOcyGm+gzOGEP4TsnhKFMgpvp1vIRlHfEWnD/AqT3zvtKmbBpcP0JGUyY/nWlz3of/jYn+WKzCe3il5LB/zLwze/xdOsBfepT/KDl80CFaFlN9CH/Dw3gae2KqPx4JaBGO7vF58gB39Sh/33GyFC/iQnR75OG4PaZ6bUc2qbYPDHAPNo4oXsIvOv+/0dRoH34VUz0DSg4HsL/H7u1ByWEO32/zfg1msbrk8F67uktwhclYhI3t/tI0j3HYGiZ5ianO4nEsbkV3tOO+ALZhNY7HHy1sCLuwupcwpnpOm+olQ1nJIcRUD8e/JsT5FC7Q7OUsvqZpdU+UHD6c6SH7EW7T9trPiVlNO7yg5LBpVLnAYUx1gN8itaI3cR/eH+P4IczhovZ/v+aGmMHZeDqmel7J4d1eQmTNs4Lmpvhhe+o+hZLD+jbIYePYXXKY7aT823g5prqm5LBzOG++Zto9G5LtwYaSw4GY6k0x1Z0x1TJFepdjaxvEQkJ0i/fRksMH7Sm9rp14/BSENM+U+W40aFe3uE3BEMN35/IpSUaxbnSFS0dWOyR60v/fL334yMExX49DknctrK21MdWTSg678S38THPlzCOmOrx+TtGUwlUTCN8eDmag5DAXU30MP2jlS7Alpnp5yeEFvDbGyb0x1ctKDjuw4yArfH44mO80MdUVmta0eMR4N/7Z+V+E2Enn3hH7gYUHrGJVyWHbAsKW9BLcjS9+hn35rPhlyeHnn1phh/QEXI4TW+L3Nbf7LryO7SWHd2KqM5rDEHEWTtOUwJc0XefPuLPk8FjX/yc/cCmMexx7NAAAAABJRU5ErkJggg==') no-repeat 50% 50%;-webkit-background-size:14px 15px}.item-tieba{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgHS3X78AAAB7ElEQVRIx+2Wv2sVQRDHP/O8JBK0C4gk2BlQooyV2ljZCUKsggTTiSKLiGCMrUWKYOP+A8KDkMKABK2EVBaJ1YIBBUGDhaR80YCIkbG4e+Sy2Rfu/bCI+IWF3dnvzndnbndvRJ0JcAeYBkaohlPBy4fmQJ0dBRpADTBgJHj5mlqYAfeAJxWFmuiLxrWiAUjhN4kMuNumWBXMqrMtYAAYLNl/ZsCJkuEm8LmFk9dtCF7fL8IyVoKXdymiOutJ6Mlcq7MNoJ/8AFwIXj626Xce2ErYt1t93GOl/uEOApkJXr6kJmrteuoW/wUPvmDWzWJ1NgkMs/ck31ZnjcSSza4EgQfAmYT9YQv+5sFKaYQ1YCNhHwL0bwjOBi/zsVGdXQFeNsf//rXYI6jOjkSmwYq+KiEDVtgpGb4DYxFnFFiNeN86FgxeLkYR3o84V4F6zOsUu1Kqzs6RlxlljKuznojtElRn54FX5H/6Mg4Bi8V818jU2TVgHJhg514a8Jj8ieoHjgNv1NlzYAl4Ebz8iHyNqbPLCQ0t9X9nwGKCNB28zKmz98Az8nIvKzY1AZwF4mJrpmj74VN8LRrAjeBlDiB4WQAuAeu9SCfwtEZeXa0Cj4CTwUu9zAhe3gKngVvAcrGpX8X0dkWhdWAqeKn/AeHLdg+EotRhAAAAAElFTkSuQmCC') no-repeat 50% 50%;-webkit-background-size:14px 14px}.item-yun{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAbCAYAAAAZMl2nAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgHS3X78AAAEmklEQVRIx62WW2xUVRSGv31ml15ordMiIPdwMcUI6AwtkNRLVBBFioQUuQiICdEEGAgkxgdagRYhk5QApSbYaAxNEBCNXB+KMSAmwEynLdEHrg8iRBAQwkBpy559fJiBnO4Oc1phJetl7/X/6z9rrb3PFnTTxla2C+BtYBbwKvBsYutv4FdgJ3CoYVUPuzu8ojvB/rVtI4A6YJxLaAhYEClPP/3Ehfg/vzcOqAee6iLkNvBWZE3miScmxFfWMgA4BeR1VXjCbgFjGiuyLroFyi7RaV2TREQM+In4XEB8Xt4DLEfM00ANMPWxK/LSZ9ERwFlj+QpQ0rQhJ2zEFgH7gd5G/MimDTkp58XCzbSejNYYXmqKAGjakBNC65lJ4ie7pXEVYmvbb2sbhx9tCub+9qj4pmDuUVvbxwyM/7GFENN9iGkc7n4KYvq4genjBnEdVlvb+n9U0eTVbphOQnyVygOMB14BhhTcCBcP/beZWFuMUO5rXOvRt7gLQl7GshDpEiE9COkZ7qtUXwKXiJ+y442rZMyJ6XBqfBXqTaAaKDDJK07OpP+d8xzxTuFn77TSA9+M35NMxJjAjRmiZ8YeKys9ldbTQKCxTB7uVGbfGhVAU4+mAJ0opsOvZA3GQvP6zf0s+6t818K5P87uJGL5zTlWbvZuKyOdZBwOL0BT71ujAh0q4l+tZgBJvxAgS0X5IjSd3PbrD9cupg9l9cDNx9qsjKOAENIzUeblFgnpceucaaWR1XKP8JerLOAC0NcIuArsK7x2OG/Kxa/7Dbp7ZoKg4w91V95H7PXOQngs0np5SSrCto8gxHGgF1ACmCfoCjBM+MtUANhsbO4AFkUqZMuDhZp3l83ztZz8tqe+87CdLVY2nwzZjdWnN0Iac6+1jrW2LWyuytn+YMlfprKAWmCOkS9goZlu9K8ZzQKnCIDFBzbXXZe9P3SuxTxpZObnICzZcQaU3R671z7RKQIgUiFb0CxI5HBipltCM0pocPiWyDqpkjVzav2+OuA8QDTNS/D5Wu7LHAz8LYEY27wx+5dkHJF1UgnNFgMz2sImHxscfs5luE5H07wER9ZyOXM4BvY2Nm80rJe/p2SwOWfg8iWaO0C2IyzldRyV3oHBglouZww378vbwKSGoGzEzXSnHFELm7OGuvmPwn83bdG4Tc9Vj7mckbQSkxqC8qSrCBI5jC5IoTkI+BxhJYUrVSBcJbc4sYUr1TN1bZf2XksfgHBUQmBHbcSkcFVcROFKNRuYD5wD1oar5HWDJ4CmxJB2UBSuUP2I3yMZxuYh4i/yG4AfWGy2Tdr3lRJpxeGNCREr1ItAkyPkKrAVaATyib/83zHytALDBEDhcrUKqOhSWROWptvs/q0XSr//avQPD792uZoHbO8OD1AW3iQrrUTP1mOzw+hbKr87qOXM+04RCZ4jiXnpKs8ObNbHW5ywoqXKA5QDnyZpk9P+AD4IVctTyTaLlqpRxG/mF1JwtAJBYG2oOv4c6PR4LlqiBgMfA1OAEUAm8A9wAtgF7AxtlSkfOkVLlARmAHOBCcT/M/eID/BBYFtoq/zTifkPzJoOHOT14icAAAAASUVORK5CYII=') no-repeat 50% 50%;-webkit-background-size:17px 14px}.item-map{background:url('data:image/png;base64,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') no-repeat 50% 50%;-webkit-background-size:13px 20px}.item-waimai{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAeCAYAAADQBxWhAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgHS3X78AAAB1ElEQVRIx+2WMUwUQRSGv7ci0cAVZ0eDHYWZipAQ7bCAxExobCguWlhaYIwFFYUFJtAYSxITxWAMDc2EhgRDdxrPhomFQkJsJCZwQAzBgIzFDtwlt+fOeXtX3V/tznv7f9n3Zt+OOKX3SJFYc80p/QiYBiaAQ2AFeC7WPPUeRbHmjlP6HTD6D7tiF5BPg3pd8bmXgfPnrvpYHsj5694Uz1wUCMxUHWgH2oE2pK4Gcl8Bq8Am8AcYAnZ8bAj4lTlUrNmpggCUqmKlUB8ILK9TupE2XMoECvQ1AO3PCno7sCL9wEAI9CTAb8op3R2Q94T0fXIaAfsBZjeAl07puoZO6QLwMMCrHAFfQ0oHFIB1p/T1BOAMsEBYu75FwIdAKMAtQCWsa0ACPT5GxMeOduk3sBYB74HvbYIuizXlSKw5A2bbAHTAHFQaPw98aTH0tVjz+QIq1pwA94hr3gptA4/Pby62uB/aD3wZstQBMC7WlGugHrwI3AeOMwLuAmNizUb1Ys3HLNa8AUaAH00CPwHDYk3NHEicIGJNkXj0vfiPt/5J3L+bYs1WUkLdWSrW7AOTTulnxCW/CwzWST8iPlW8BZbEmqMmq1SRUzrnlO5JWE/9cVfrL3vfehZhAhjFAAAAAElFTkSuQmCC') no-repeat 50% 50%;-webkit-background-size:15px 15px}.item-nuomi{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAeCAYAAAA/xX6fAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgHS3X78AAADwklEQVRIx62WX4jVRRTHP/f2o+yfNt12t9DM3B7C/tAm+VLisGEI2ltFRUJSLxWIDERFD6099BKMQpAQYUaEWwSGppQVDNVGkEqJKK5LK0WLu+42ClKuurs9zJnrMMzd3bTvy/nNOed3zpxzZs6ZGhm8NhuAxcAG5ewk/zOqAu8N4AZgC3CksKEO4BPg1v/g5wLQo5zdXnltGsArQK9y9gBQi5vx2swDXgN2Kmd/FP4qYMUlBLce2F4BTwMvA13AykzpKdnMMqBbeLuAL4BbMt02YCFwBjiaySaAt2NKR4V5e2FXnUJPRoZy9i/g0UKqXwDeBX5Rzi5vFWYF/C7fC7w2tUy+SOhxMfoSsK6FrTah93lt9rXQOZg6vAroyBRi1MeFPgksZXpcN43O0goYIpyiSmrQMsIE+4D3gamEt4JwHgaQeiVYDjwDUFfOTgB/iiA96tcAjRYOvwE+Ax4EJpWz7wE/iOyErA8DDwP7gd74Y13oB8AhEUb8A+wG9gL9hfQsAtYCj8n6ykzeDTwhm2qiAlDObgQ2AnhtomxKObsmMzIAPAQMKWf3e23uT6K/OtN9SzLxE3C3lO2PymuzCViTRHu90D1em3PyfZBwYJ4jNIJhcfYz8C3wSCEDrwM9wHrl7DvSRM5XwPOEk5VjQfK9GLhNOdsPnJBMDAIfAd+JzrjQU0md74y1Vc7+HVO6StIU0QPMATZH40C/OGtCOeuBZxPWh4Rr1SvyPqAvj6Imu+0A5itnD3htTgHzgHsJBwfl7IDo3QF8XqjXbGHjtNgFPOC1WZYI50rBp7w27ZKSJcBdl+gMoDs6XCI0rWWNcBcB5gPHgK8AA9wEXJEZ6yIcnnEpR4qzkq0vK6/NHOBaEYwkSqeBc4T71QCOKWfHgU2lrXttPpXPvcrZV1uFWMluI0Yz+RhhDHUkhrsIlz4d3jVgdbThtXm84GsU+L4C2jMHKUbEYUOcrSbMwumwjtYTZWudi/1yTDl7obArkiykzf0s4KU2cT3F9NB1Ls6xsYJC5LUXZDcrZ28E3pT1ZuVsHXhR1luUszXlbI3Q6AGq1OFoweiw0EYuUM6eZvZovhjSlI4UFGOEbTNZnC3qSbpKKY1RX67D5v1OIzxZUIxRN2ayOAOaTaJOGLKDhPaWo48wmHdcpsMmKuXsNmBbSaicHQLuSVjnC2oTQuOVijN0sqAzUXrqjxFaXSnFRwh37XDC+5jQHLbKegdhDqZB/Ep4jnydv0Px2iwE5ipnD5Wi9tp0AsPK2TOzTaO8dzuB3/4FNUwSC0AuesEAAAAASUVORK5CYII=') no-repeat 50% 50%;-webkit-background-size:14px 15px}.item-purse{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAeCAYAAAAy2w7YAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgHS3X78AAADDklEQVRIx63WT2hdRRQG8N97RomOggZsqYJgrQqimytKW70FlbQ760ZwUcU/K3VlUIIWV4JWcakIIoIGRSyIRARjSxVGrC060o0IFhdisUIJ/uHGok3i4t4nLzdz05fit5tvzpxv5szMOadXlcU4Ep7DhyGmv6wDVVn0cTPuwd24ESewL8T0ysCu1xgfwh1YwGF8je/xE042PFyCi7EZW3ArtuGyjn08GGJ6a1hoEp+u5yQj4nCIaTv0IcR0AG/8T84XcQzv4u0BOTZk8HgTlvvOwflJ7MfHiCGmhbZBb3hQlUUPD6sfxqYRBD7Dy5gLMS2uZdjLkVVZBBzFDR3rDmFviOmrUY881iaqstiI2Q6RE3gixLR/vbFth24TIq7J2M7ioRDTfGO7V32fl+M8zGMO07m/2BsSGccX6s/XxtN4McS03NheiG9wNcYz9t9he4jp95zQ843DNh4LMb3WFZKqLG7HR7i0NbWIHSGmL/8TqsriKhzH+S3jF0JMz4xyB1VZzGFni17G9SGmH/oNMZUROY5nRxGBENMufNuie02I9Zq/c8Lqf/NIiOnNzM434qYQ08GOk/1j9Wt+qo8NGZGFDpEtzQ4PVGWxr+Nw72e4J/vyGSB1iHyOKxtqukNsKsNt6OOizMSxTLiGRQZYJRZi+lX9CIbR6+OCjNDp1nhbRmSAR5viN4y2kD5yFfXa1nhWnfbb+AM7Q0xLGb+riN8yDlZkh8bRAy2xU5gMMR1phXl3xt9SHz9nJq6oymJFUm3KwEDsFO4MMR3NrH0pw80PMsMRdf0fxo8hplxyVZXFWIjpTIa/RV1e2nh1EMvXM5Obq7KYyQl1iEyok3Iby5geCM10hHBP0yGtieYkv8i/4A9CTNVw9t6FTzp8ncE7mBrUo2bNbvWdXNe1B0yEmP5uF76DuOssB1jGkrrYrYUl3DYo9+33PqluHtdCb0SRe4d7iq7mZAZ7nBv+VH/iFY1LP2cZYrofO9Qt8ahYVN/jRK476p1tdVUWW7EXW9U99nDYTjebeU/dUyx0+fkXIQsECBl2Z4IAAAAASUVORK5CYII=') no-repeat 50% 50%;-webkit-background-size:13px 15px}.pass-user-userlist{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpiYTBkNDQzNC04NGRjLTRlNGYtYWFiMi1kY2U4ZGY1NGRhMTIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NkM1MzI4M0U4QUI4MTFFNUExMDlEN0Y5QzdCM0ZCQjUiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NkM1MzI4M0Q4QUI4MTFFNUExMDlEN0Y5QzdCM0ZCQjUiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpiYTBkNDQzNC04NGRjLTRlNGYtYWFiMi1kY2U4ZGY1NGRhMTIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6YmEwZDQ0MzQtODRkYy00ZTRmLWFhYjItZGNlOGRmNTRkYTEyIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+KUOq1gAAARVJREFUeNrsl88HAkEUx5t+SatIZBXRuWt/QmpF/b2ViA5JVpKNDhGROnfMttt3eOdtVrPzih4f5jL7vmbe+85bEYZhijPE1wsQQnycJCrHTwkYgQBMwUOXgHSM7+RAHTggq6sG4ggYgzuwQR9kOIqwRFdhgTNdR2C6CMskoghOYCZzmO6CChiCAjiCeZSIpNqwSiLy4AAWHD5QAwMS4YElhxHZJEK25g6sOJywQa0pRWyAy2HFTdAjb1mDLcdb0AJduY3qwdNpxSohfWFP645uK1Y9gTatXdPzAGsNsHYBqw+wOiHrW8D6GrLOA6wTkUXHLk/gQjPi0+RU7FDyG5ioJn8XccZrH1wpuf//NTMmIOl4CTAAiNLM3uuw2aUAAAAASUVORK5CYII=') no-repeat 50% 50%;background-size:16px 16px;-webkit-background-size:16px 16px;width:16px;height:16px;display:block;cursor:pointer;margin-top:22px;margin-left:5px}.user-text{margin-top:4px;color:#999;font-size:14px;display:block}.combobox-mask{position:fixed;top:0;left:0;width:100%;height:100%;background:#000;opacity:0;z-index:16;transition:all .5s;-webkit-transition:all .5s}.combobox-mask.show{opacity:.6}.mod-page-downInfo{font-size:1.4rem;color:#999}input.pass-button-verifycode{float:right;top:0;right:0}.mod-page-sub-tipInfo{width:75%;margin:0 auto 25px;background:#fff;font-size:14px;padding:10px;color:#999;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;border:1px solid #d5d4d4;position:relative}.mod-page-sub-tipInfo:before{display:inline-block;width:0;height:0;overflow:hidden;line-height:0;font-size:0;vertical-align:center;border-bottom:8px solid #d5d4d4;border-top:0 none;border-left:8px dashed transparent;border-right:8px dashed transparent;content:"";left:50%;position:absolute;top:-8px;margin-left:-11px}.mod-page-sub-tipInfo:after{display:inline-block;width:0;height:0;overflow:hidden;line-height:0;font-size:0;vertical-align:center;border-bottom:7px solid #fff;border-top:0 none;border-left:7px dashed transparent;border-right:7px dashed transparent;content:"";left:50%;position:absolute;top:-7px;margin-left:-10px}.mod-page-tipInfo-black{font-size:1.5rem;line-height:2.2rem;margin:4rem 0 0}.user-info{margin-bottom:.3rem}.user-img{height:6rem;margin:0 auto;width:6rem;border-radius:50%;display:none;overflow:hidden}.face-user-img{height:6rem;margin:0 auto;width:6rem;border-radius:50%}.user-default-img{display:block;width:6rem;height:6rem;top:.2rem;position:relative;border-radius:50%;border:1px solid rgba(218,231,253,.4);background:url(data:image/png;base64,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) no-repeat;background-size:100% 100%}.user-img img,.face-user-img img{width:6rem;height:6rem;top:.2rem;position:relative;border-radius:50%;display:none;border:1px solid rgba(218,231,253,.4)}.user-info p{text-align:center;font-size:1.6rem;color:#333;height:1.6rem;line-height:1.6rem;margin-top:2.5rem;margin-bottom:.7rem}.mod-voice-sms{float:left;margin-bottom:5px;margin-top:15px}.sms_verify-voice-verify{border:0;background:#f6f6f6;font-size:14px;color:#000}.mod-voice-sms .voice_sms_disabled{color:#666}.mod-unametip{position:absolute;font-size:14px;padding:0 5px;right:0;top:50px;z-index:14;background:#000;color:#fff;opacity:.7;border-radius:2px;line-height:44px;display:none}.mod-unametip:before{display:inline-block;width:0;height:0;overflow:hidden;line-height:0;font-size:0;vertical-align:center;border-bottom:8px solid #000;border-top:0 none;border-left:8px dashed transparent;border-right:8px dashed transparent;content:"";left:50%;position:absolute;top:-7px;margin-left:-6px}.layer-cover{position:fixed;top:0;width:100%;height:100%;z-index:10000;background-color:rgba(0,0,0,.5);display:none}.layer-account,.layer-account-third{position:absolute;left:0;width:100%;transition:all .3s;-webkit-transition:all .3s;z-index:17;-webkit-transform:translateY(0px);-ms-transform:translateY(0px);transform:translateY(0px);bottom:-158px;font-size:0}.layer-account >a,.layer-account-third>a{color:#2c85ff;background-color:#fff;cursor:pointer;border-bottom:1px solid #e6e6e6;display:block;width:100%;text-align:center;font-size:1.6rem;line-height:5rem;height:5rem;overflow:hidden}.layer-account-third{bottom:-205px}.layer-account a:last-child,.layer-account-third a:last-child{overflow:hidden;margin-top:5px;color:#000}.layermenu-out{-webkit-transform:translateY(-158px);-ms-transform:translateY(-158px);transform:translateY(-158px)}.p-l0{padding-left:0}.p-r3{padding-right:3px}.loadingText{text-align:center;font-size:1.8rem;padding-top:20rem;color:#222}.headerquestion{padding:1.7rem 1.5rem 0}.small-portrait{width:3.5rem;height:3.5rem;border-radius:3.5rem;margin:1.2rem 1.7rem;display:block;float:left}.top-userContent{background-color:#fff;border-bottom:1px solid #E0E0E0}.top-userContent span{line-height:2rem;padding-top:2rem;display:block;float:left}#fullName-contentWrapper{padding-bottom:10rem}.login-coolpad{top:-50px;position:relative}.success-img{height:5.7rem;width:100%;background:url(/static/touch/img/bindsuccess.png) no-repeat center 5.5rem;background-size:5.7rem 5.7rem;padding:5.5rem 0 1.7rem}.mod-page-bind-tipInfo{text-align:center;font-size:1.8rem;padding-bottom:1.5rem}.mod-page-bind-tipInfo1{text-align:center;font-size:1.5rem;line-height:2.2rem}.bottom-link{display:-webkit-flex;display:flex;display:-webkit-box;display:box;-webkit-box-pack:center;box-pack:center;-webkit-justify-content:center;justify-content:center}.spilit-line{color:#666;font-weight:lighter;font-size:16px;display:inline-block;padding:0 1rem}#face_login{background:#fff}.face-login-link{display:none}.face-main{padding:4.8rem 1.2rem 0}.biometry-loadingImg{margin:0 auto;-webkit-animation-fill-mode:both;animation-fill-mode:both;height:30px;width:30px;background:url(data:image/png;base64,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) no-repeat 0 0;background-size:30px 30px;display:block;vertical-align:middle;-webkit-animation:rotate .75s linear infinite;animation:rotate .75s linear infinite}@-webkit-keyframes rotate{0%,100%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes rotate{0%,100%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.biometry-loadingMask{top:0;left:0;width:100%;height:100%;position:fixed;background:#fff;z-index:20;display:none}.biometry-loading{font-size:24px;padding-top:15rem;padding-bottom:2rem;color:#367cff;text-align:center}.baidu-attention{font-weight:700;margin-top:1rem}.personal_agreement-info{line-height:2.4rem;font-size:1.4rem;padding-top:5rem}.personal_agreement-info ul{list-style:none;padding-left:2rem;margin-bottom:.5rem}.personal_agreement-info strong{line-height:5rem}.personal_agreement-info div>p{margin:1rem 0}
</style><link href="" type=text/css rel=stylesheet id=product-skin>
</head>
<body>
<div id="pageWrapper" class="page-wrapper"></div>
<script type="text/javascript">
        var apiDomain = location.protocol+"//"+location.host,
            publicData = {
                "vcodestr": "{{$ppVcodestr|sp_escape_js}}",
                "action" : "{{$ppRequestInfo.action|default:'login'|sp_escape_js}}",
                "u" : "{{$ppRequestInfo.u|sp_escape_js}}",
                "tpl" : "{{$ppRequestInfo.tpl|default:'pp'|sp_escape_js}}",
                "tn" : "{{$ppRequestInfo.tn|sp_escape_js}}",
                "pu" : "{{$ppRequestInfo.pu|sp_escape_js}}",
                "ssid" : "{{$ppRequestInfo.ssid|sp_escape_js}}",
                "from" : "{{$ppRequestInfo.from|sp_escape_js}}",
                "bd_page_type" : "{{$ppRequestInfo.bd_page_type|sp_escape_js}}",
                "uid" : "{{$ppRequestInfo.uid|sp_escape_js}}",
                "type" : "{{$ppRequestInfo.type|sp_escape_js}}",
                "regtype" : "{{$ppRegtype|sp_escape_js}}",
                "adapter" : "{{$ppPageInfo.adapter|sp_escape_js}}",
                "skin" : "{{$ppPageInfo.skin|sp_escape_js}}",
                "regist_mode" : "{{$ppRequestInfo.regist_mode|sp_escape_js}}",
                "login_share_strategy" : "{{$ppRequestInfo.login_share_strategy|sp_escape_js}}",
                "bdcm" : "{{$ppRequestInfo.bdcm|sp_escape_js}}",
                "token" : "{{$ppBdToken|sp_escape_js}}",
                "client" : "{{$ppRequestInfo.client|sp_escape_js}}",
                "clientfrom" : "{{$ppRequestInfo.clientfrom|sp_escape_js}}"
            }

        var _hmt = _hmt || [];
        var currClientWidth, fontValue,originWidth;
        originWidth=375;
        __resize();
        window.addEventListener('resize', __resize, false);
        function __resize() {
            currClientWidth = document.documentElement.clientWidth;
            if (currClientWidth < 320) currClientWidth = 320;
            if (currClientWidth > 400) currClientWidth = 400;
            fontValue = ((62.5 * currClientWidth) /originWidth).toFixed(2);
            document.documentElement.style.fontSize = fontValue + '%';
        }
    </script>
<script type="text/javascript">function BarrettMu(t){this.modulus=biCopy(t),this.k=biHighIndex(this.modulus)+1;var e=new BigInt;e.digits[2*this.k]=1,this.mu=biDivide(e,this.modulus),this.bkplus1=new BigInt,this.bkplus1.digits[this.k+1]=1,this.modulo=BarrettMu_modulo,this.multiplyMod=BarrettMu_multiplyMod,this.powMod=BarrettMu_powMod}function BarrettMu_modulo(t){var e=biDivideByRadixPower(t,this.k-1),i=biMultiply(e,this.mu),n=biDivideByRadixPower(i,this.k+1),a=biModuloByRadixPower(t,this.k+1),o=biMultiply(n,this.modulus),s=biModuloByRadixPower(o,this.k+1),r=biSubtract(a,s);r.isNeg&&(r=biAdd(r,this.bkplus1));for(var c=biCompare(r,this.modulus)>=0;c;)r=biSubtract(r,this.modulus),c=biCompare(r,this.modulus)>=0;return r}function BarrettMu_multiplyMod(t,e){var i=biMultiply(t,e);return this.modulo(i)}function BarrettMu_powMod(t,e){var i=new BigInt;i.digits[0]=1;for(var n=t,a=e;0!=(1&a.digits[0])&&(i=this.multiplyMod(i,n)),a=biShiftRight(a,1),0!=a.digits[0]||0!=biHighIndex(a);)n=this.multiplyMod(n,n);return i}function setMaxDigits(t){maxDigits=t,ZERO_ARRAY=new Array(maxDigits);for(var e=0;e<ZERO_ARRAY.length;e++)ZERO_ARRAY[e]=0;bigZero=new BigInt,bigOne=new BigInt,bigOne.digits[0]=1}function BigInt(t){this.digits="boolean"==typeof t&&1==t?null:ZERO_ARRAY.slice(0),this.isNeg=!1}function biFromDecimal(t){for(var e,i="-"==t.charAt(0),n=i?1:0;n<t.length&&"0"==t.charAt(n);)++n;if(n==t.length)e=new BigInt;else{var a=t.length-n,o=a%dpl10;for(0==o&&(o=dpl10),e=biFromNumber(Number(t.substr(n,o))),n+=o;n<t.length;)e=biAdd(biMultiply(e,lr10),biFromNumber(Number(t.substr(n,dpl10)))),n+=dpl10;e.isNeg=i}return e}function biCopy(t){var e=new BigInt(!0);return e.digits=t.digits.slice(0),e.isNeg=t.isNeg,e}function biFromNumber(t){var e=new BigInt;e.isNeg=0>t,t=Math.abs(t);for(var i=0;t>0;)e.digits[i++]=t&maxDigitVal,t>>=biRadixBits;return e}function reverseStr(t){for(var e="",i=t.length-1;i>-1;--i)e+=t.charAt(i);return e}function biToString(t,e){var i=new BigInt;i.digits[0]=e;for(var n=biDivideModulo(t,i),a=hexatrigesimalToChar[n[1].digits[0]];1==biCompare(n[0],bigZero);)n=biDivideModulo(n[0],i),digit=n[1].digits[0],a+=hexatrigesimalToChar[n[1].digits[0]];return(t.isNeg?"-":"")+reverseStr(a)}function biToDecimal(t){var e=new BigInt;e.digits[0]=10;for(var i=biDivideModulo(t,e),n=String(i[1].digits[0]);1==biCompare(i[0],bigZero);)i=biDivideModulo(i[0],e),n+=String(i[1].digits[0]);return(t.isNeg?"-":"")+reverseStr(n)}function digitToHex(t){var e=15,n="";for(i=0;4>i;++i)n+=hexToChar[t&e],t>>>=4;return reverseStr(n)}function biToHex(t){for(var e="",i=(biHighIndex(t),biHighIndex(t));i>-1;--i)e+=digitToHex(t.digits[i]);return e}function charToHex(t){var e,i=48,n=i+9,a=97,o=a+25,s=65,r=90;return e=t>=i&&n>=t?t-i:t>=s&&r>=t?10+t-s:t>=a&&o>=t?10+t-a:0}function hexToDigit(t){for(var e=0,i=Math.min(t.length,4),n=0;i>n;++n)e<<=4,e|=charToHex(t.charCodeAt(n));return e}function biFromHex(t){for(var e=new BigInt,i=t.length,n=i,a=0;n>0;n-=4,++a)e.digits[a]=hexToDigit(t.substr(Math.max(n-4,0),Math.min(n,4)));return e}function biFromString(t,e){var i="-"==t.charAt(0),n=i?1:0,a=new BigInt,o=new BigInt;o.digits[0]=1;for(var s=t.length-1;s>=n;s--){var r=t.charCodeAt(s),c=charToHex(r),l=biMultiplyDigit(o,c);a=biAdd(a,l),o=biMultiplyDigit(o,e)}return a.isNeg=i,a}function biDump(t){return(t.isNeg?"-":"")+t.digits.join(" ")}function biAdd(t,e){var i;if(t.isNeg!=e.isNeg)e.isNeg=!e.isNeg,i=biSubtract(t,e),e.isNeg=!e.isNeg;else{i=new BigInt;for(var n,a=0,o=0;o<t.digits.length;++o)n=t.digits[o]+e.digits[o]+a,i.digits[o]=65535&n,a=Number(n>=biRadix);i.isNeg=t.isNeg}return i}function biSubtract(t,e){var i;if(t.isNeg!=e.isNeg)e.isNeg=!e.isNeg,i=biAdd(t,e),e.isNeg=!e.isNeg;else{i=new BigInt;var n,a;a=0;for(var o=0;o<t.digits.length;++o)n=t.digits[o]-e.digits[o]+a,i.digits[o]=65535&n,i.digits[o]<0&&(i.digits[o]+=biRadix),a=0-Number(0>n);if(-1==a){a=0;for(var o=0;o<t.digits.length;++o)n=0-i.digits[o]+a,i.digits[o]=65535&n,i.digits[o]<0&&(i.digits[o]+=biRadix),a=0-Number(0>n);i.isNeg=!t.isNeg}else i.isNeg=t.isNeg}return i}function biHighIndex(t){for(var e=t.digits.length-1;e>0&&0==t.digits[e];)--e;return e}function biNumBits(t){var e,i=biHighIndex(t),n=t.digits[i],a=(i+1)*bitsPerDigit;for(e=a;e>a-bitsPerDigit&&0==(32768&n);--e)n<<=1;return e}function biMultiply(t,e){for(var i,n,a,o=new BigInt,s=biHighIndex(t),r=biHighIndex(e),c=0;r>=c;++c){for(i=0,a=c,j=0;s>=j;++j,++a)n=o.digits[a]+t.digits[j]*e.digits[c]+i,o.digits[a]=n&maxDigitVal,i=n>>>biRadixBits;o.digits[c+s+1]=i}return o.isNeg=t.isNeg!=e.isNeg,o}function biMultiplyDigit(t,e){var i,n,a;result=new BigInt,i=biHighIndex(t),n=0;for(var o=0;i>=o;++o)a=result.digits[o]+t.digits[o]*e+n,result.digits[o]=a&maxDigitVal,n=a>>>biRadixBits;return result.digits[1+i]=n,result}function arrayCopy(t,e,i,n,a){for(var o=Math.min(e+a,t.length),s=e,r=n;o>s;++s,++r)i[r]=t[s]}function biShiftLeft(t,e){var i=Math.floor(e/bitsPerDigit),n=new BigInt;arrayCopy(t.digits,0,n.digits,i,n.digits.length-i);for(var a=e%bitsPerDigit,o=bitsPerDigit-a,s=n.digits.length-1,r=s-1;s>0;--s,--r)n.digits[s]=n.digits[s]<<a&maxDigitVal|(n.digits[r]&highBitMasks[a])>>>o;return n.digits[0]=n.digits[s]<<a&maxDigitVal,n.isNeg=t.isNeg,n}function biShiftRight(t,e){var i=Math.floor(e/bitsPerDigit),n=new BigInt;arrayCopy(t.digits,i,n.digits,0,t.digits.length-i);for(var a=e%bitsPerDigit,o=bitsPerDigit-a,s=0,r=s+1;s<n.digits.length-1;++s,++r)n.digits[s]=n.digits[s]>>>a|(n.digits[r]&lowBitMasks[a])<<o;return n.digits[n.digits.length-1]>>>=a,n.isNeg=t.isNeg,n}function biMultiplyByRadixPower(t,e){var i=new BigInt;return arrayCopy(t.digits,0,i.digits,e,i.digits.length-e),i}function biDivideByRadixPower(t,e){var i=new BigInt;return arrayCopy(t.digits,e,i.digits,0,i.digits.length-e),i}function biModuloByRadixPower(t,e){var i=new BigInt;return arrayCopy(t.digits,0,i.digits,0,e),i}function biCompare(t,e){if(t.isNeg!=e.isNeg)return 1-2*Number(t.isNeg);for(var i=t.digits.length-1;i>=0;--i)if(t.digits[i]!=e.digits[i])return t.isNeg?1-2*Number(t.digits[i]>e.digits[i]):1-2*Number(t.digits[i]<e.digits[i]);return 0}function biDivideModulo(t,e){var i,n,a=biNumBits(t),o=biNumBits(e),s=e.isNeg;if(o>a)return t.isNeg?(i=biCopy(bigOne),i.isNeg=!e.isNeg,t.isNeg=!1,e.isNeg=!1,n=biSubtract(e,t),t.isNeg=!0,e.isNeg=s):(i=new BigInt,n=biCopy(t)),new Array(i,n);i=new BigInt,n=t;for(var r=Math.ceil(o/bitsPerDigit)-1,c=0;e.digits[r]<biHalfRadix;)e=biShiftLeft(e,1),++c,++o,r=Math.ceil(o/bitsPerDigit)-1;n=biShiftLeft(n,c),a+=c;for(var l=Math.ceil(a/bitsPerDigit)-1,u=biMultiplyByRadixPower(e,l-r);-1!=biCompare(n,u);)++i.digits[l-r],n=biSubtract(n,u);for(var d=l;d>r;--d){var p=d>=n.digits.length?0:n.digits[d],f=d-1>=n.digits.length?0:n.digits[d-1],h=d-2>=n.digits.length?0:n.digits[d-2],g=r>=e.digits.length?0:e.digits[r],m=r-1>=e.digits.length?0:e.digits[r-1];i.digits[d-r-1]=p==g?maxDigitVal:Math.floor((p*biRadix+f)/g);for(var v=i.digits[d-r-1]*(g*biRadix+m),b=p*biRadixSquared+(f*biRadix+h);v>b;)--i.digits[d-r-1],v=i.digits[d-r-1]*(g*biRadix|m),b=p*biRadix*biRadix+(f*biRadix+h);u=biMultiplyByRadixPower(e,d-r-1),n=biSubtract(n,biMultiplyDigit(u,i.digits[d-r-1])),n.isNeg&&(n=biAdd(n,u),--i.digits[d-r-1])}return n=biShiftRight(n,c),i.isNeg=t.isNeg!=s,t.isNeg&&(i=s?biAdd(i,bigOne):biSubtract(i,bigOne),e=biShiftRight(e,c),n=biSubtract(e,n)),0==n.digits[0]&&0==biHighIndex(n)&&(n.isNeg=!1),new Array(i,n)}function biDivide(t,e){return biDivideModulo(t,e)[0]}function biModulo(t,e){return biDivideModulo(t,e)[1]}function biMultiplyMod(t,e,i){return biModulo(biMultiply(t,e),i)}function biPow(t,e){for(var i=bigOne,n=t;0!=(1&e)&&(i=biMultiply(i,n)),e>>=1,0!=e;)n=biMultiply(n,n);return i}function biPowMod(t,e,i){for(var n=bigOne,a=t,o=e;0!=(1&o.digits[0])&&(n=biMultiplyMod(n,a,i)),o=biShiftRight(o,1),0!=o.digits[0]||0!=biHighIndex(o);)a=biMultiplyMod(a,a,i);return n}function RSAKeyPair(t,e,i){this.e=biFromHex(t),this.d=biFromHex(e),this.m=biFromHex(i),this.chunkSize=2*biHighIndex(this.m),this.radix=16,this.barrett=new BarrettMu(this.m)}function twoDigit(t){return(10>t?"0":"")+String(t)}function encryptedString(t,e){for(var i=new Array,n=e.length,a=0;n>a;)i[a]=e.charCodeAt(a),a++;for(;i.length%t.chunkSize!=0;)i[a++]=0;var o,s,r,c=i.length,l="";for(a=0;c>a;a+=t.chunkSize){for(r=new BigInt,o=0,s=a;s<a+t.chunkSize;++o)r.digits[o]=i[s++],r.digits[o]+=i[s++]<<8;var u=t.barrett.powMod(r,t.e),d=16==t.radix?biToHex(u):biToString(u,t.radix);l+=d+" "}return l.substring(0,l.length-1)}function decryptedString(t,e){var i,n,a,o=e.split(" "),s="";for(i=0;i<o.length;++i){var r;for(r=16==t.radix?biFromHex(o[i]):biFromString(o[i],t.radix),a=t.barrett.powMod(r,t.d),n=0;n<=biHighIndex(a);++n)s+=String.fromCharCode(255&a.digits[n],a.digits[n]>>8)}return 0==s.charCodeAt(s.length-1)&&(s=s.substring(0,s.length-1)),s}!function(t){String.prototype.trim===t&&(String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")}),Array.prototype.reduce===t&&(Array.prototype.reduce=function(e){if(void 0===this||null===this)throw new TypeError;var i,n=Object(this),a=n.length>>>0,o=0;if("function"!=typeof e)throw new TypeError;if(0==a&&1==arguments.length)throw new TypeError;if(arguments.length>=2)i=arguments[1];else for(;;){if(o in n){i=n[o++];break}if(++o>=a)throw new TypeError}for(;a>o;)o in n&&(i=e.call(t,i,n[o],o,n)),o++;return i})}();var Zepto=function(){function t(t){return null==t?String(t):J[Y.call(t)]||"object"}function e(e){return"function"==t(e)}function i(t){return null!=t&&t==t.window}function n(t){return null!=t&&t.nodeType==t.DOCUMENT_NODE}function a(e){return"object"==t(e)}function o(t){return a(t)&&!i(t)&&t.__proto__==Object.prototype}function s(t){return t instanceof Array}function r(t){return"number"==typeof t.length}function c(t){return I.call(t,function(t){return null!=t})}function l(t){return t.length>0?D.fn.concat.apply([],t):t}function u(t){return t.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function d(t){return t in B?B[t]:B[t]=new RegExp("(^|\\s)"+t+"(\\s|$)")}function p(t,e){return"number"!=typeof e||R[u(t)]?e:e+"px"}function f(t){var e,i;return P[t]||(e=N.createElement(t),N.body.appendChild(e),i=E(e,"").getPropertyValue("display"),e.parentNode.removeChild(e),"none"==i&&(i="block"),P[t]=i),P[t]}function h(t){return"children"in t?A.call(t.children):D.map(t.childNodes,function(t){return 1==t.nodeType?t:void 0})}function g(t,e,i){for(k in e)i&&(o(e[k])||s(e[k]))?(o(e[k])&&!o(t[k])&&(t[k]={}),s(e[k])&&!s(t[k])&&(t[k]=[]),g(t[k],e[k],i)):e[k]!==x&&(t[k]=e[k])}function m(t,e){return e===x?D(t):D(t).filter(e)}function v(t,i,n,a){return e(i)?i.call(t,n,a):i}function b(t,e,i){null==i?t.removeAttribute(e):t.setAttribute(e,i)}function y(t,e){var i=t.className,n=i&&i.baseVal!==x;return e===x?n?i.baseVal:i:void(n?i.baseVal=e:t.className=e)}function w(t){var e;try{return t?"true"==t||("false"==t?!1:"null"==t?null:isNaN(e=Number(t))?/^[\[\{]/.test(t)?D.parseJSON(t):t:e):t}catch(i){return t}}function _(t,e){e(t);for(var i in t.childNodes)_(t.childNodes[i],e)}var x,k,D,C,S,j,T=[],A=T.slice,I=T.filter,N=window.document,P={},B={},E=N.defaultView.getComputedStyle,R={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},M=/^\s*<(\w+|!)[^>]*>/,O=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,V=/^(?:body|html)$/i,L=["val","css","html","text","data","width","height","offset"],q=["after","prepend","before","append"],F=N.createElement("table"),$=N.createElement("tr"),H={tr:N.createElement("tbody"),tbody:F,thead:F,tfoot:F,td:$,th:$,"*":N.createElement("div")},z=/complete|loaded|interactive/,W=/^\.([\w-]+)$/,Z=/^#([\w-]*)$/,U=/^[\w-]+$/,J={},Y=J.toString,Q={},X=N.createElement("div");return Q.matches=function(t,e){if(!t||1!==t.nodeType)return!1;var i=t.webkitMatchesSelector||t.mozMatchesSelector||t.oMatchesSelector||t.matchesSelector;if(i)return i.call(t,e);var n,a=t.parentNode,o=!a;return o&&(a=X).appendChild(t),n=~Q.qsa(a,e).indexOf(t),o&&X.removeChild(t),n},S=function(t){return t.replace(/-+(.)?/g,function(t,e){return e?e.toUpperCase():""})},j=function(t){return I.call(t,function(e,i){return t.indexOf(e)==i})},Q.fragment=function(t,e,i){t.replace&&(t=t.replace(O,"<$1></$2>")),e===x&&(e=M.test(t)&&RegExp.$1),e in H||(e="*");var n,a,s=H[e];return s.innerHTML=""+t,a=D.each(A.call(s.childNodes),function(){s.removeChild(this)}),o(i)&&(n=D(a),D.each(i,function(t,e){L.indexOf(t)>-1?n[t](e):n.attr(t,e)})),a},Q.Z=function(t,e){return t=t||[],t.__proto__=D.fn,t.selector=e||"",t},Q.isZ=function(t){return t instanceof Q.Z},Q.init=function(t,i){if(t){if(e(t))return D(N).ready(t);if(Q.isZ(t))return t;var n;if(s(t))n=c(t);else if(a(t))n=[o(t)?D.extend({},t):t],t=null;else if(M.test(t))n=Q.fragment(t.trim(),RegExp.$1,i),t=null;else{if(i!==x)return D(i).find(t);n=Q.qsa(N,t)}return Q.Z(n,t)}return Q.Z()},D=function(t,e){return Q.init(t,e)},D.extend=function(t){var e,i=A.call(arguments,1);return"boolean"==typeof t&&(e=t,t=i.shift()),i.forEach(function(i){g(t,i,e)}),t},Q.qsa=function(t,e){var i;return n(t)&&Z.test(e)?(i=t.getElementById(RegExp.$1))?[i]:[]:1!==t.nodeType&&9!==t.nodeType?[]:A.call(W.test(e)?t.getElementsByClassName(RegExp.$1):U.test(e)?t.getElementsByTagName(e):t.querySelectorAll(e))},D.contains=function(t,e){return t!==e&&t.contains(e)},D.type=t,D.isFunction=e,D.isWindow=i,D.isArray=s,D.isPlainObject=o,D.isEmptyObject=function(t){var e;for(e in t)return!1;return!0},D.inArray=function(t,e,i){return T.indexOf.call(e,t,i)},D.camelCase=S,D.trim=function(t){return t.trim()},D.uuid=0,D.support={},D.expr={},D.map=function(t,e){var i,n,a,o=[];if(r(t))for(n=0;n<t.length;n++)i=e(t[n],n),null!=i&&o.push(i);else for(a in t)i=e(t[a],a),null!=i&&o.push(i);return l(o)},D.each=function(t,e){var i,n;if(r(t)){for(i=0;i<t.length;i++)if(e.call(t[i],i,t[i])===!1)return t}else for(n in t)if(e.call(t[n],n,t[n])===!1)return t;return t},D.grep=function(t,e){return I.call(t,e)},window.JSON&&(D.parseJSON=JSON.parse),D.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(t,e){J["[object "+e+"]"]=e.toLowerCase()}),D.fn={forEach:T.forEach,reduce:T.reduce,push:T.push,sort:T.sort,indexOf:T.indexOf,concat:T.concat,map:function(t){return D(D.map(this,function(e,i){return t.call(e,i,e)}))},slice:function(){return D(A.apply(this,arguments))},ready:function(t){return z.test(N.readyState)?t(D):N.addEventListener("DOMContentLoaded",function(){t(D)},!1),this},get:function(t){return t===x?A.call(this):this[t>=0?t:t+this.length]},toArray:function(){return this.get()},size:function(){return this.length},remove:function(){return this.each(function(){null!=this.parentNode&&this.parentNode.removeChild(this)})},each:function(t){return T.every.call(this,function(e,i){return t.call(e,i,e)!==!1}),this},filter:function(t){return e(t)?this.not(this.not(t)):D(I.call(this,function(e){return Q.matches(e,t)}))},add:function(t,e){return D(j(this.concat(D(t,e))))},is:function(t){return this.length>0&&Q.matches(this[0],t)},not:function(t){var i=[];if(e(t)&&t.call!==x)this.each(function(e){t.call(this,e)||i.push(this)});else{var n="string"==typeof t?this.filter(t):r(t)&&e(t.item)?A.call(t):D(t);this.forEach(function(t){n.indexOf(t)<0&&i.push(t)})}return D(i)},has:function(t){return this.filter(function(){return a(t)?D.contains(this,t):D(this).find(t).size()})},eq:function(t){return-1===t?this.slice(t):this.slice(t,+t+1)},first:function(){var t=this[0];return t&&!a(t)?t:D(t)},last:function(){var t=this[this.length-1];return t&&!a(t)?t:D(t)},find:function(t){var e,i=this;return e="object"==typeof t?D(t).filter(function(){var t=this;return T.some.call(i,function(e){return D.contains(e,t)})}):1==this.length?D(Q.qsa(this[0],t)):this.map(function(){return Q.qsa(this,t)})},closest:function(t,e){var i=this[0],a=!1;for("object"==typeof t&&(a=D(t));i&&!(a?a.indexOf(i)>=0:Q.matches(i,t));)i=i!==e&&!n(i)&&i.parentNode;return D(i)},parents:function(t){for(var e=[],i=this;i.length>0;)i=D.map(i,function(t){return(t=t.parentNode)&&!n(t)&&e.indexOf(t)<0?(e.push(t),t):void 0});return m(e,t)},parent:function(t){return m(j(this.pluck("parentNode")),t)},children:function(t){return m(this.map(function(){return h(this)}),t)},contents:function(){return this.map(function(){return A.call(this.childNodes)})},siblings:function(t){return m(this.map(function(t,e){return I.call(h(e.parentNode),function(t){return t!==e})}),t)},empty:function(){return this.each(function(){this.innerHTML=""})},pluck:function(t){return D.map(this,function(e){return e[t]})},show:function(){return this.each(function(){"none"==this.style.display&&(this.style.display=null),"none"==E(this,"").getPropertyValue("display")&&(this.style.display=f(this.nodeName))})},replaceWith:function(t){return this.before(t).remove()},wrap:function(t){var i=e(t);if(this[0]&&!i)var n=D(t).get(0),a=n.parentNode||this.length>1;return this.each(function(e){D(this).wrapAll(i?t.call(this,e):a?n.cloneNode(!0):n)})},wrapAll:function(t){if(this[0]){D(this[0]).before(t=D(t));for(var e;(e=t.children()).length;)t=e.first();D(t).append(this)}return this},wrapInner:function(t){var i=e(t);return this.each(function(e){var n=D(this),a=n.contents(),o=i?t.call(this,e):t;a.length?a.wrapAll(o):n.append(o)})},unwrap:function(){return this.parent().each(function(){D(this).replaceWith(D(this).children())}),this},clone:function(){return this.map(function(){return this.cloneNode(!0)})},hide:function(){return this.css("display","none")},toggle:function(t){return this.each(function(){var e=D(this);(t===x?"none"==e.css("display"):t)?e.show():e.hide()})},prev:function(t){return D(this.pluck("previousElementSibling")).filter(t||"*")},next:function(t){return D(this.pluck("nextElementSibling")).filter(t||"*")},html:function(t){return t===x?this.length>0?this[0].innerHTML:null:this.each(function(e){var i=this.innerHTML;D(this).empty().append(v(this,t,e,i))})},text:function(t){return t===x?this.length>0?this[0].textContent:null:this.each(function(){this.textContent=t})},attr:function(t,e){var i;return"string"==typeof t&&e===x?0==this.length||1!==this[0].nodeType?x:"value"==t&&"INPUT"==this[0].nodeName?this.val():!(i=this[0].getAttribute(t))&&t in this[0]?this[0][t]:i:this.each(function(i){if(1===this.nodeType)if(a(t))for(k in t)b(this,k,t[k]);else b(this,t,v(this,e,i,this.getAttribute(t)))})},removeAttr:function(t){return this.each(function(){1===this.nodeType&&b(this,t)})},prop:function(t,e){return e===x?this[0]&&this[0][t]:this.each(function(i){this[t]=v(this,e,i,this[t])})},data:function(t,e){var i=this.attr("data-"+u(t),e);return null!==i?w(i):x},val:function(t){return t===x?this[0]&&(this[0].multiple?D(this[0]).find("option").filter(function(){return this.selected}).pluck("value"):this[0].value):this.each(function(e){this.value=v(this,t,e,this.value)})},offset:function(t){if(t)return this.each(function(e){var i=D(this),n=v(this,t,e,i.offset()),a=i.offsetParent().offset(),o={top:n.top-a.top,left:n.left-a.left};"static"==i.css("position")&&(o.position="relative"),i.css(o)});if(0==this.length)return null;var e=this[0].getBoundingClientRect();return{left:e.left+window.pageXOffset,top:e.top+window.pageYOffset,width:Math.round(e.width),height:Math.round(e.height)}},css:function(e,i){if(arguments.length<2&&"string"==typeof e)return this[0]&&(this[0].style[S(e)]||E(this[0],"").getPropertyValue(e));var n="";if("string"==t(e))i||0===i?n=u(e)+":"+p(e,i):this.each(function(){this.style.removeProperty(u(e))});else for(k in e)e[k]||0===e[k]?n+=u(k)+":"+p(k,e[k])+";":this.each(function(){this.style.removeProperty(u(k))});return this.each(function(){this.style.cssText+=";"+n})},index:function(t){return t?this.indexOf(D(t)[0]):this.parent().children().indexOf(this[0])},hasClass:function(t){return T.some.call(this,function(t){return this.test(y(t))},d(t))},addClass:function(t){return this.each(function(e){C=[];var i=y(this),n=v(this,t,e,i);n.split(/\s+/g).forEach(function(t){D(this).hasClass(t)||C.push(t)},this),C.length&&y(this,i+(i?" ":"")+C.join(" "))})},removeClass:function(t){return this.each(function(e){return t===x?y(this,""):(C=y(this),v(this,t,e,C).split(/\s+/g).forEach(function(t){C=C.replace(d(t)," ")}),void y(this,C.trim()))})},toggleClass:function(t,e){return this.each(function(i){var n=D(this),a=v(this,t,i,y(this));a.split(/\s+/g).forEach(function(t){(e===x?!n.hasClass(t):e)?n.addClass(t):n.removeClass(t)})})},scrollTop:function(){return this.length?"scrollTop"in this[0]?this[0].scrollTop:this[0].scrollY:void 0},position:function(){if(this.length){var t=this[0],e=this.offsetParent(),i=this.offset(),n=V.test(e[0].nodeName)?{top:0,left:0}:e.offset();return i.top-=parseFloat(D(t).css("margin-top"))||0,i.left-=parseFloat(D(t).css("margin-left"))||0,n.top+=parseFloat(D(e[0]).css("border-top-width"))||0,n.left+=parseFloat(D(e[0]).css("border-left-width"))||0,{top:i.top-n.top,left:i.left-n.left}}},offsetParent:function(){return this.map(function(){for(var t=this.offsetParent||N.body;t&&!V.test(t.nodeName)&&"static"==D(t).css("position");)t=t.offsetParent;return t})}},D.fn.detach=D.fn.remove,["width","height"].forEach(function(t){D.fn[t]=function(e){var a,o=this[0],s=t.replace(/./,function(t){return t[0].toUpperCase()});return e===x?i(o)?o["inner"+s]:n(o)?o.documentElement["offset"+s]:(a=this.offset())&&a[t]:this.each(function(i){o=D(this),o.css(t,v(this,e,i,o[t]()))})}}),q.forEach(function(e,i){var n=i%2;D.fn[e]=function(){var e,a,o=D.map(arguments,function(i){return e=t(i),"object"==e||"array"==e||null==i?i:Q.fragment(i)}),s=this.length>1;return o.length<1?this:this.each(function(t,e){a=n?e:e.parentNode,e=0==i?e.nextSibling:1==i?e.firstChild:2==i?e:null,o.forEach(function(t){if(s)t=t.cloneNode(!0);else if(!a)return D(t).remove();_(a.insertBefore(t,e),function(t){null==t.nodeName||"SCRIPT"!==t.nodeName.toUpperCase()||t.type&&"text/javascript"!==t.type||t.src||window.eval.call(window,t.innerHTML)})})})},D.fn[n?e+"To":"insert"+(i?"Before":"After")]=function(t){return D(t)[e](this),this}}),Q.Z.prototype=D.fn,Q.uniq=j,Q.deserializeValue=w,D.zepto=Q,D}();window.Zepto=Zepto,"$"in window||(window.$=Zepto),function(t){function e(t){var e=this.os={},i=this.browser={},n=t.match(/WebKit\/([\d.]+)/),a=t.match(/(Android)\s+([\d.]+)/),o=t.match(/(iPad).*OS\s([\d_]+)/),s=!o&&t.match(/(iPhone\sOS)\s([\d_]+)/),r=t.match(/(webOS|hpwOS)[\s\/]([\d.]+)/),c=r&&t.match(/TouchPad/),l=t.match(/Kindle\/([\d.]+)/),u=t.match(/Silk\/([\d._]+)/),d=t.match(/(BlackBerry).*Version\/([\d.]+)/),p=t.match(/(BB10).*Version\/([\d.]+)/),f=t.match(/(RIM\sTablet\sOS)\s([\d.]+)/),h=t.match(/PlayBook/),g=t.match(/Chrome\/([\d.]+)/)||t.match(/CriOS\/([\d.]+)/),m=t.match(/Firefox\/([\d.]+)/);(i.webkit=!!n)&&(i.version=n[1]),a&&(e.android=!0,e.version=a[2]),s&&(e.ios=e.iphone=!0,e.version=s[2].replace(/_/g,".")),o&&(e.ios=e.ipad=!0,e.version=o[2].replace(/_/g,".")),r&&(e.webos=!0,e.version=r[2]),c&&(e.touchpad=!0),d&&(e.blackberry=!0,e.version=d[2]),p&&(e.bb10=!0,e.version=p[2]),f&&(e.rimtabletos=!0,e.version=f[2]),h&&(i.playbook=!0),l&&(e.kindle=!0,e.version=l[1]),u&&(i.silk=!0,i.version=u[1]),!u&&e.android&&t.match(/Kindle Fire/)&&(i.silk=!0),g&&(i.chrome=!0,i.version=g[1]),m&&(i.firefox=!0,i.version=m[1]),e.tablet=!!(o||h||a&&!t.match(/Mobile/)||m&&t.match(/Tablet/)),e.phone=!(e.tablet||!(a||s||r||d||p||g&&t.match(/Android/)||g&&t.match(/CriOS\/([\d.]+)/)||m&&t.match(/Mobile/)))}e.call(t,navigator.userAgent),t.__detect=e}(Zepto),function(t){function e(t){return t._zid||(t._zid=f++)}function i(t,i,o,s){if(i=n(i),i.ns)var r=a(i.ns);return(p[e(t)]||[]).filter(function(t){return!(!t||i.e&&t.e!=i.e||i.ns&&!r.test(t.ns)||o&&e(t.fn)!==e(o)||s&&t.sel!=s)})}function n(t){var e=(""+t).split(".");return{e:e[0],ns:e.slice(1).sort().join(" ")}}function a(t){return new RegExp("(?:^| )"+t.replace(" "," .* ?")+"(?: |$)")}function o(e,i,n){"string"!=t.type(e)?t.each(e,n):e.split(/\s/).forEach(function(t){n(t,i)})}function s(t,e){return t.del&&("focus"==t.e||"blur"==t.e)||!!e}function r(t){return g[t]||t}function c(i,a,c,l,u,d){var f=e(i),h=p[f]||(p[f]=[]);o(a,c,function(e,a){var o=n(e);o.fn=a,o.sel=l,o.e in g&&(a=function(e){var i=e.relatedTarget;return!i||i!==this&&!t.contains(this,i)?o.fn.apply(this,arguments):void 0}),o.del=u&&u(a,e);var c=o.del||a;o.proxy=function(t){var e=c.apply(i,[t].concat(t.data));return e===!1&&(t.preventDefault(),t.stopPropagation()),e},o.i=h.length,h.push(o),i.addEventListener(r(o.e),o.proxy,s(o,d))})}function l(t,n,a,c,l){var u=e(t);o(n||"",a,function(e,n){i(t,e,n,c).forEach(function(e){delete p[u][e.i],t.removeEventListener(r(e.e),e.proxy,s(e,l))})})}function u(e){var i,n={originalEvent:e};for(i in e)b.test(i)||void 0===e[i]||(n[i]=e[i]);return t.each(y,function(t,i){n[t]=function(){return this[i]=m,e[t].apply(e,arguments)},n[i]=v}),n}function d(t){if(!("defaultPrevented"in t)){t.defaultPrevented=!1;var e=t.preventDefault;t.preventDefault=function(){this.defaultPrevented=!0,e.call(this)}}}var p=(t.zepto.qsa,{}),f=1,h={},g={mouseenter:"mouseover",mouseleave:"mouseout"};h.click=h.mousedown=h.mouseup=h.mousemove="MouseEvents",t.event={add:c,remove:l},t.proxy=function(i,n){if(t.isFunction(i)){var a=function(){return i.apply(n,arguments)};return a._zid=e(i),a}if("string"==typeof n)return t.proxy(i[n],i);throw new TypeError("expected function")},t.fn.bind=function(t,e){return this.each(function(){c(this,t,e)})},t.fn.unbind=function(t,e){return this.each(function(){l(this,t,e)})},t.fn.one=function(t,e){return this.each(function(i,n){c(this,t,e,null,function(t,e){return function(){var i=t.apply(n,arguments);return l(n,e,t),i}})})};var m=function(){return!0},v=function(){return!1},b=/^([A-Z]|layer[XY]$)/,y={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};t.fn.delegate=function(e,i,n){return this.each(function(a,o){c(o,i,n,e,function(i){return function(n){var a,s=t(n.target).closest(e,o).get(0);return s?(a=t.extend(u(n),{currentTarget:s,liveFired:o}),i.apply(s,[a].concat([].slice.call(arguments,1)))):void 0}})})},t.fn.undelegate=function(t,e,i){return this.each(function(){l(this,e,i,t)})},t.fn.live=function(e,i){return t(document.body).delegate(this.selector,e,i),this},t.fn.die=function(e,i){return t(document.body).undelegate(this.selector,e,i),this},t.fn.on=function(e,i,n){return!i||t.isFunction(i)?this.bind(e,i||n):this.delegate(i,e,n)},t.fn.off=function(e,i,n){return!i||t.isFunction(i)?this.unbind(e,i||n):this.undelegate(i,e,n)},t.fn.trigger=function(e,i){return("string"==typeof e||t.isPlainObject(e))&&(e=t.Event(e)),d(e),e.data=i,this.each(function(){"dispatchEvent"in this&&this.dispatchEvent(e)})},t.fn.triggerHandler=function(e,n){var a,o;return this.each(function(s,r){a=u("string"==typeof e?t.Event(e):e),a.data=n,a.target=r,t.each(i(r,e.type||e),function(t,e){return o=e.proxy(a),a.isImmediatePropagationStopped()?!1:void 0})}),o},"focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error".split(" ").forEach(function(e){t.fn[e]=function(t){return t?this.bind(e,t):this.trigger(e)}}),["focus","blur"].forEach(function(e){t.fn[e]=function(t){return t?this.bind(e,t):this.each(function(){try{this[e]()}catch(t){}}),this}}),t.Event=function(t,e){"string"!=typeof t&&(e=t,t=e.type);var i=document.createEvent(h[t]||"Events"),n=!0;if(e)for(var a in e)"bubbles"==a?n=!!e[a]:i[a]=e[a];return i.initEvent(t,n,!0,null,null,null,null,null,null,null,null,null,null,null,null),i.isDefaultPrevented=function(){return this.defaultPrevented},i}}(Zepto),function(t){function e(e,i,n){var a=t.Event(i);return t(e).trigger(a,n),!a.defaultPrevented}function i(t,i,n,a){return t.global?e(i||b,n,a):void 0}function n(e){e.global&&0===t.active++&&i(e,null,"ajaxStart")}function a(e){e.global&&!--t.active&&i(e,null,"ajaxStop")}function o(t,e){var n=e.context;return e.beforeSend.call(n,t,e)===!1||i(e,n,"ajaxBeforeSend",[t,e])===!1?!1:void i(e,n,"ajaxSend",[t,e])}function s(t,e,n){var a=n.context,o="success";n.success.call(a,t,o,e),i(n,a,"ajaxSuccess",[e,n,t]),c(o,e,n)}function r(t,e,n,a){var o=a.context;a.error.call(o,n,e,t),i(a,o,"ajaxError",[n,a,t]),c(e,n,a)}function c(t,e,n){var o=n.context;n.complete.call(o,e,t),i(n,o,"ajaxComplete",[e,n]),a(n)}function l(){}function u(t){return t&&(t=t.split(";",2)[0]),t&&(t==k?"html":t==x?"json":w.test(t)?"script":_.test(t)&&"xml")||"text"}function d(t,e){return(t+"&"+e).replace(/[&?]{1,2}/,"?")}function p(e){e.processData&&e.data&&"string"!=t.type(e.data)&&(e.data=t.param(e.data,e.traditional)),!e.data||e.type&&"GET"!=e.type.toUpperCase()||(e.url=d(e.url,e.data))}function f(e,i,n,a){var o=!t.isFunction(i);return{url:e,data:o?i:void 0,success:o?t.isFunction(n)?n:void 0:i,dataType:o?a||n:n}}function h(e,i,n,a){var o,s=t.isArray(i);t.each(i,function(i,r){o=t.type(r),a&&(i=n?a:a+"["+(s?"":i)+"]"),!a&&s?e.add(r.name,r.value):"array"==o||!n&&"object"==o?h(e,r,n,i):e.add(i,r)})}var g,m,v=0,b=window.document,y=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,w=/^(?:text|application)\/javascript/i,_=/^(?:text|application)\/xml/i,x="application/json",k="text/html",D=/^\s*$/;t.active=0,t.ajaxJSONP=function(e){if(!("type"in e))return t.ajax(e);var i,n="jsonp"+ ++v,a=b.createElement("script"),c=function(){clearTimeout(i),t(a).remove(),delete window[n]},u=function(t){c(),t&&"timeout"!=t||(window[n]=l),r(null,t||"abort",d,e)},d={abort:u};return o(d,e)===!1?(u("abort"),!1):(window[n]=function(t){c(),s(t,d,e)},a.onerror=function(){u("error")},a.src=e.url.replace(/=\?/,"="+n),t("head").append(a),e.timeout>0&&(i=setTimeout(function(){u("timeout")},e.timeout)),d)},t.ajaxSettings={type:"GET",beforeSend:l,success:l,error:l,complete:l,context:null,global:!0,xhr:function(){return new window.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript",json:x,xml:"application/xml, text/xml",html:k,text:"text/plain"},crossDomain:!1,timeout:0,processData:!0,cache:!0},t.ajax=function(e){var i=t.extend({},e||{});for(g in t.ajaxSettings)void 0===i[g]&&(i[g]=t.ajaxSettings[g]);n(i),urlProtcol=null,urlDomain=null,crosstest=/^([\w-]+:)?\/\/([^\/]+)/.test(i.url),urlProtcol=RegExp.$1,urlDomain=RegExp.$2;var a="wappass.baidu.com";"http:"==urlProtcol&&urlDomain==a&&(i.url=i.url.replace(/^http:/,"https:")),i.crossDomain||(i.crossDomain=crosstest&&urlDomain!=window.location.host),i.url||(i.url=window.location.toString()),p(i),i.cache===!1&&(i.url=d(i.url,"_="+Date.now()));var c=i.dataType,f=/=\?/.test(i.url);if("jsonp"==c||f)return f||(i.url=d(i.url,"callback=?")),t.ajaxJSONP(i);var h,v=i.accepts[c],b={},y=urlProtcol?urlProtcol:window.location.protocol,w=i.xhr();urlDomain==a&&"http:"==window.location.protocol&&(i.crossDomain=!0),i.crossDomain||(b["X-Requested-With"]="XMLHttpRequest"),v&&(b.Accept=v,v.indexOf(",")>-1&&(v=v.split(",",2)[0]),w.overrideMimeType&&w.overrideMimeType(v)),(i.contentType||i.contentType!==!1&&i.data&&"GET"!=i.type.toUpperCase())&&(b["Content-Type"]=i.contentType||"application/x-www-form-urlencoded"),i.headers=t.extend(b,i.headers||{}),w.onreadystatechange=function(){if(4==w.readyState){w.onreadystatechange=l,clearTimeout(h);var e,n=!1;if(w.status>=200&&w.status<300||304==w.status||0==w.status&&"file:"==y){c=c||u(w.getResponseHeader("content-type")),e=w.responseText;try{"script"==c?(1,eval)(e):"xml"==c?e=w.responseXML:"json"==c&&(e=D.test(e)?null:t.parseJSON(e))}catch(a){n=a}n?r(n,"parsererror",w,i):s(e,w,i)}else r(null,w.status?"error":"abort",w,i)}};var _="async"in i?i.async:!0;w.open(i.type,i.url,_),urlDomain==a&&(w.withCredentials=!0);for(m in i.headers)w.setRequestHeader(m,i.headers[m]);return o(w,i)===!1?(w.abort(),!1):(i.timeout>0&&(h=setTimeout(function(){w.onreadystatechange=l,w.abort(),r(null,"timeout",w,i)},i.timeout)),w.send(i.data?i.data:null),w)},t.get=function(){return t.ajax(f.apply(null,arguments))},t.post=function(){var e=f.apply(null,arguments);return e.type="POST",t.ajax(e)},t.getJSON=function(){var e=f.apply(null,arguments);return e.dataType="json",t.ajax(e)},t.fn.load=function(e,i,n){if(!this.length)return this;
var a,o=this,s=e.split(/\s/),r=f(e,i,n),c=r.success;return s.length>1&&(r.url=s[0],a=s[1]),r.success=function(e){o.html(a?t("<div>").html(e.replace(y,"")).find(a):e),c&&c.apply(o,arguments)},t.ajax(r),this};var C=encodeURIComponent;t.param=function(t,e){var i=[];return i.add=function(t,e){this.push(C(t)+"="+C(e))},h(i,t,e),i.join("&").replace(/%20/g,"+")}}(Zepto),function(t){t.fn.serializeArray=function(){var e,i=[];return t(Array.prototype.slice.call(this.get(0).elements)).each(function(){e=t(this);var n=e.attr("type");"fieldset"!=this.nodeName.toLowerCase()&&!this.disabled&&"submit"!=n&&"reset"!=n&&"button"!=n&&("radio"!=n&&"checkbox"!=n||this.checked)&&i.push({name:e.attr("name"),value:e.val()})}),i},t.fn.serialize=function(){var t=[];return this.serializeArray().forEach(function(e){t.push(encodeURIComponent(e.name)+"="+encodeURIComponent(e.value))}),t.join("&")},t.fn.submit=function(e){if(e)this.bind("submit",e);else if(this.length){var i=t.Event("submit");this.eq(0).trigger(i),i.defaultPrevented||this.get(0).submit()}return this}}(Zepto),function(t,e){function i(t){return n(t.replace(/([a-z])([A-Z])/,"$1-$2"))}function n(t){return t.toLowerCase()}function a(t){return o?o+t:n(t)}var o,s,r,c,l,u,d,p,f="",h={Webkit:"webkit",Moz:"",O:"o",ms:"MS"},g=window.document,m=g.createElement("div"),v=/^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i,b={};t.each(h,function(t,i){return m.style[t+"TransitionProperty"]!==e?(f="-"+n(t)+"-",o=i,!1):void 0}),s=f+"transform",b[r=f+"transition-property"]=b[c=f+"transition-duration"]=b[l=f+"transition-timing-function"]=b[u=f+"animation-name"]=b[d=f+"animation-duration"]=b[p=f+"animation-timing-function"]="",t.fx={off:o===e&&m.style.transitionProperty===e,speeds:{_default:400,fast:200,slow:600},cssPrefix:f,transitionEnd:a("TransitionEnd"),animationEnd:a("AnimationEnd")},t.fn.animate=function(e,i,n,a){return t.isPlainObject(i)&&(n=i.easing,a=i.complete,i=i.duration),i&&(i=("number"==typeof i?i:t.fx.speeds[i]||t.fx.speeds._default)/1e3),this.anim(e,i,n,a)},t.fn.anim=function(n,a,o,f){var h,g,m,y={},w="",_=this,x=t.fx.transitionEnd;if(a===e&&(a=.4),t.fx.off&&(a=0),"string"==typeof n)y[u]=n,y[d]=a+"s",y[p]=o||"linear",x=t.fx.animationEnd;else{g=[];for(h in n)v.test(h)?w+=h+"("+n[h]+") ":(y[h]=n[h],g.push(i(h)));w&&(y[s]=w,g.push(s)),a>0&&"object"==typeof n&&(y[r]=g.join(", "),y[c]=a+"s",y[l]=o||"linear")}return m=function(e){if("undefined"!=typeof e){if(e.target!==e.currentTarget)return;t(e.target).unbind(x,m)}t(this).css(b),f&&f.call(this)},a>0&&this.bind(x,m),this.size()&&this.get(0).clientLeft,this.css(y),0>=a&&setTimeout(function(){_.each(function(){m.call(this)})},0),this},m=null}(Zepto),function(t){function e(t){return"tagName"in t?t:t.parentNode}function i(t,e,i,n){var a=Math.abs(t-e),o=Math.abs(i-n);return a>=o?t-e>0?"Left":"Right":i-n>0?"Up":"Down"}function n(){l=null,u.last&&(u.el.trigger("longTap"),u={})}function a(){l&&clearTimeout(l),l=null}function o(){s&&clearTimeout(s),r&&clearTimeout(r),c&&clearTimeout(c),l&&clearTimeout(l),s=r=c=l=null,u={}}var s,r,c,l,u={},d=750;t(document).ready(function(){var p,f,h=0,g=0;t(document.body).bind("touchstart",function(i){p=Date.now(),f=p-(u.last||p),u.el=t(e(i.touches[0].target)),s&&clearTimeout(s),u.x1=i.touches[0].pageX,u.y1=i.touches[0].pageY,f>0&&250>=f&&(u.isDoubleTap=!0),u.last=p,l=setTimeout(n,d)}).bind("touchmove",function(t){a(),u.x2=t.touches[0].pageX,u.y2=t.touches[0].pageY,Math.abs(u.x1-u.x2)>10&&t.preventDefault(),h+=Math.abs(u.x1-u.x2),g+=Math.abs(u.y1-u.y2)}).bind("touchend",function(){a(),u.x2&&Math.abs(u.x1-u.x2)>30||u.y2&&Math.abs(u.y1-u.y2)>30?c=setTimeout(function(){u.el.trigger("swipe"),u.el.trigger("swipe"+i(u.x1,u.x2,u.y1,u.y2)),u={}},0):"last"in u&&(30>h&&30>g?r=setTimeout(function(){var e=t.Event("tap");e.cancelTouch=o,u.el.trigger(e),u.isDoubleTap?(u.el.trigger("doubleTap"),u={}):s=setTimeout(function(){s=null,u.el.trigger("singleTap"),u={}},250)},0):u={}),h=g=0}).bind("touchcancel",o),t(window).bind("scroll",o)}),["swipe","swipeLeft","swipeRight","swipeUp","swipeDown","doubleTap","tap","singleTap","longTap"].forEach(function(e){t.fn[e]=function(t){return this.bind(e,t)}})}(Zepto),function(t){function e(e){return e=t(e),!(!e.width()&&!e.height())&&"none"!==e.css("display")}function i(t,e){t=t.replace(/=#\]/g,'="#"]');var i,n,a=r.exec(t);if(a&&a[2]in s&&(i=s[a[2]],n=a[3],t=a[1],n)){var o=Number(n);n=isNaN(o)?n.replace(/^["']|["']$/g,""):o}return e(t,i,n)}var n=t.zepto,a=n.qsa,o=n.matches,s=t.expr[":"]={visible:function(){return e(this)?this:void 0},hidden:function(){return e(this)?void 0:this},selected:function(){return this.selected?this:void 0},checked:function(){return this.checked?this:void 0},parent:function(){return this.parentNode},first:function(t){return 0===t?this:void 0},last:function(t,e){return t===e.length-1?this:void 0},eq:function(t,e,i){return t===i?this:void 0},contains:function(e,i,n){return t(this).text().indexOf(n)>-1?this:void 0},has:function(t,e,i){return n.qsa(this,i).length?this:void 0}},r=new RegExp("(.*):(\\w+)(?:\\(([^)]+)\\))?$\\s*"),c=/^\s*>/,l="Zepto"+ +new Date;n.qsa=function(e,o){return i(o,function(i,s,r){try{var u;!i&&s?i="*":c.test(i)&&(u=t(e).addClass(l),i="."+l+" "+i);var d=a(e,i)}catch(p){throw console.error("error performing selector: %o",o),p}finally{u&&u.removeClass(l)}return s?n.uniq(t.map(d,function(t,e){return s.call(t,e,d,r)})):d})},n.matches=function(t,e){return i(e,function(e,i,n){return!(e&&!o(t,e)||i&&i.call(t,null,n)!==t)})}}(Zepto),function(t){t.fn.formJson=function(e,i){function n(t,e){var i=l[t];i?(i.push||(l[t]=[i]),l[t].push(e)):l[t]=e}for(var a,o,s,r,e=e||t(this).get(0),c=e.elements,i=i||function(t){return t},l={},u=0,d=c.length;d>u;u++)if(a=c[u],s=a.name,!a.disabled&&s)switch(o=a.type,r=a.value,o){case"radio":case"checkbox":if(!a.checked)break;case"textarea":case"text":case"tel":case"email":case"password":case"hidden":case"file":n(s,i(r,s))}return l}}(Zepto),function(t,e){function i(i,n,a,o,s){"function"!=typeof n||s||(s=n,n=e);var r={opacity:a};return o&&(r.scale=o,i.css(t.fx.cssPrefix+"transform-origin","0 0")),i.animate(r,n,null,s)}function n(e,n,a,o){return i(e,n,0,a,function(){s.call(t(this)),o&&o.call(this)})}var a=window.document,o=(a.documentElement,t.fn.show),s=t.fn.hide,r=t.fn.toggle;t.fn.show=function(t,n){return o.call(this),t===e?t=0:this.css("opacity",0),i(this,t,1,"1,1",n)},t.fn.hide=function(t,i){return t===e?s.call(this):n(this,t,"0,0",i)},t.fn.toggle=function(i,n){return i===e||"boolean"==typeof i?r.call(this,i):this.each(function(){var e=t(this);e["none"==e.css("display")?"show":"hide"](i,n)})},t.fn.fadeTo=function(t,e,n){return i(this,t,e,null,n)},t.fn.fadeIn=function(t,e){var i=this.css("opacity");return i>0?this.css("opacity",0):i=1,o.call(this).fadeTo(t,i,e)},t.fn.fadeOut=function(t,e){return n(this,t,null,e)},t.fn.fadeToggle=function(e,i){return this.each(function(){var n=t(this);n[0==n.css("opacity")||"none"==n.css("display")?"fadeIn":"fadeOut"](e,i)})}}(Zepto),function(t){t.fn.getQueryString=function(t){for(var e=location.href.substring(location.href.indexOf("?")+1).split("&"),i={},n=0,a=e.length;a>n;n++){var o=e[n].split("=");i[o[0]]=o[1]}return i[t]?i[t]:""}}(Zepto),function(t){t.extend(t.fn,{cookie:function(e,i,n){var a,o,s,r;return arguments.length>1&&"[object Object]"!==String(i)?(n=t.extend({},n),(null===i||void 0===i)&&(n.expires=-1),"number"==typeof n.expires&&(a=24*n.expires*60*60*1e3,o=n.expires=new Date,o.setTime(o.getTime()+a)),i=String(i),document.cookie=[encodeURIComponent(e),"=",n.raw?i:encodeURIComponent(i),n.expires?"; expires="+n.expires.toUTCString():"",n.path?"; path="+n.path:"",n.domain?"; domain="+n.domain:"",n.secure?"; secure":""].join("")):(n=i||{},r=n.raw?function(t){return t}:decodeURIComponent,(s=new RegExp("(?:^|; )"+encodeURIComponent(e)+"=([^;]*)").exec(document.cookie))?r(s[1]):null)}})}(Zepto),!function(t){"use strict";function e(t){(e=Array.prototype.indexOf?function(t){return o.indexOf(t)>-1}:function(t){var e=t+s;return o.join(s).indexOf(e)>-1})(t)}function i(t,i){var a,t,o,s=t.split("/"),r=s.length;for(a=0,o=n;r>a;a++,o=o[t]){if(t=s[a],0==a&&e(t))throw t+"is reservedWord";o[t]||a===r-1||(o[t]={}),a===r-1&&(o[t]=i)}}var n,e,a={},o=["require","define"],s="arr"+ +new Date;n=t.Pass={},n.define=function(t,e){if(!t)throw"base/namespace Pass.define first param must be passed in";return a[t]||(e?(a[t]=e,i(t,a[t])):(a[t]={},i(t,a[t]))),a[t]},n.require=function(t){if(!t||!a[t])throw"base/namespace Pass.require cant get target obj";return a[t]},t.Pass=n}(this),!function(t,e){"use strict";var i=(e.require,{login:"/static/appsapi/js/app_show_webapp_login.js",login_again:"/static/appsapi/js/app_show_webapp_login_again.js",sms_login:"/static/appsapi/js/app_show_webapp_sms_login.js",sms_verify:"/static/appsapi/js/app_show_webapp_sms_verify.js",face_login:"/static/appsapi/js/app_show_webapp_face_login.js",bind:"/static/appsapi/js/app_show_webapp_bind.js",bind_verify:"/static/appsapi/js/app_show_webapp_bind_verify.js",bindResult:"/static/appsapi/js/app_show_webapp_bind_result.js",forcedBind:"/static/appsapi/js/app_show_webapp_forced_bind.js",forcedBind_verify:"/static/appsapi/js/app_show_webapp_forced_bind_verify.js",realName:"/static/appsapi/js/app_show_webapp_real_name.js",realName_verify:"/static/appsapi/js/app_show_webapp_real_name_verify.js",verify:"/static/appsapi/js/app_show_webapp_verify.js",reg:"/static/appsapi/js/app_show_webapp_reg.js",reg_verify:"/static/appsapi/js/app_show_webapp_reg_verify.js",canshare_accounts:"/static/appsapi/js/app_show_webapp_canshare_accounts.js",authPwd:"/static/appsapi/js/app_show_webapp_auth_pwd.js",agreement:"/static/appsapi/js/app_show_webapp_agreement.js",personal_agreement:"/static/appsapi/js/app_show_webapp_personal_agreement.js",getpass:"/static/appsapi/js/app_show_webapp_getpass.js",getpassbyphone:"/static/appsapi/js/app_show_webapp_getpassbyphone.js",getpassbyemail:"/static/appsapi/js/app_show_webapp_getpassbyemail.js",getpassbyemail_result:"/static/appsapi/js/app_show_webapp_getpassbyemail_result.js",fastReg:"/static/appsapi/js/app_show_webapp_fast_reg.js",upstreamReg:"/static/appsapi/js/app_show_webapp_upstream_reg.js",setpwd:"/static/appsapi/js/app_show_webapp_setpwd.js",fastRegSuccess:"/static/appsapi/js/app_show_webapp_fast_reg_success.js",fastRegVerify:"/static/appsapi/js/app_show_webapp_fast_reg_verify.js",feedback:"/static/appsapi/js/app_show_webapp_feedback.js",codelist:"/static/appsapi/js/app_show_webapp_codelist.js",idcardverify:"/static/appsapi/js/app_show_webapp_idcardverify.js",uniqueVerifyCode:"/static/appsapi/js/app_show_webapp_unique_verify_code.js",setunamepwd:"/static/appsapi/js/app_show_webapp_setuname_pwd.js",secondCardVerify:"/static/appsapi/js/app_show_webapp_secondCard_verify.js",secondCardResult:"/static/appsapi/js/app_show_webapp_secondCard_result.js",smsSecondcard:"/static/appsapi/js/app_show_webapp_sms_secondcard.js",fullName:"/static/appsapi/js/app_show_webapp_fullName.js",question:"/static/appsapi/js/app_show_webapp_question.js"}),n={realName:"/static/appsapi/css/realname.css",secondCardResult:"/static/appsapi/css/second_card.css",secondCardVerify:"/static/appsapi/css/second_card.css",smsSecondcard:"/static/appsapi/css/second_card.css",login_again:"/static/appsapi/css/login_again.css",question:"/static/appsapi/css/question.css",idcardverify:"/static/appsapi/css/idcard.css",codelist:"/static/appsapi/css/codelist.css",feedback:"/static/appsapi/css/feedback.css"};e._modulePool=e._modulePool||{},e._moduleList=e._moduleList||[],e._moduleCurrent="",e._define=e._define||function(t,i){e._modulePool[t]=i&&i()},e._getModule=e._getModule||function(t){return e._modulePool[t]};var a=function(t,e){for(var i=e.length;i>0;i--)return t===e[i-1]?i-1:-1},o=function(t,e){for(var i=0;i<e.length;i++)if(t===e[i])return i;return-1};e.switchView=function(i){if(e.logAll&&e.logAll.logBfb&&(e.logAll&&e.logAll.setRelation&&e.logAll.setRelation(),e.load.insertScript("https://baifubao.baidu.com/content/cashdesk/statistic.min.js",function(){i=i||"pagename",e.logAll.logBfb({en:"appsapi-"+i,eg:"in",evSource:e._moduleCurrent,ev:[i,"show"]})})),e.logAll.logPass){var n={page:i,source:"appsapi",tpl:publicData.tpl},s={eventType:i+"_pv"};e.logAll.logPass(n,s)}if(t("input").blur(),"back"==i){var r=a(e._moduleCurrent,e._moduleList);if(e._modulePool[e._moduleCurrent].backSign)return e._modulePool[e._moduleCurrent].back&&e._modulePool[e._moduleCurrent].back(),i=e._moduleList[r],void e.animate(i);if(i=r>0?e._moduleList[r-1]:"",t(".mod-dialog-body").length>0&&"block"==t(".mod-dialog-body").css("display"))return;e._moduleList.length>0&&e._moduleList.splice(r,1)}else if(-1==t.inArray(i,e._moduleList))e._moduleList.push(i);else{var r=o(i,e._moduleList);e._moduleList.splice(r,1),e._moduleList.push(i)}e.animate(i),""!=i&&(e._moduleCurrent=i,e.client.deviceClass("action_set_title",{title:e._getModule(i).lang.title}))},e._getScript=e._getScript||function(t,a){function o(){var i=e._getModule(t);if(!i)throw new Error("load "+t+"module script error.");a&&a(i)}function s(t){var e=document,i=e.createElement("SCRIPT");i.type="text/javascript",i.charset="UTF-8",i.readyState?i.onreadystatechange=function(){("loaded"==i.readyState||"complete"==i.readyState)&&(i.onreadystatechange=null,o())}:i.onload=function(){o()},i.src=apiDomain+t,e.getElementsByTagName("head")[0].appendChild(i)}var r=e._getModule(t);r?a&&a(r):n[t]?e.load.loadCssFileW(apiDomain+n[t],function(){s(i[t])}):s(i[t])}}($,window.Pass),!function(){var t,e;!function(){function i(e){var i=e.factory,n=function(i){var n=i;return"."===i.charAt(0)&&(n=e.id.slice(0,e.id.lastIndexOf(s))+s+i.slice(2)),t(n)};return e.exports={},delete e.factory,i(n,e.exports,e),e.exports}var n={},a=[],o={},s=".";t=function(t){if(!n[t])throw"module "+t+" not found";if(t in o){var e=a.slice(o[t]).join("->")+"->"+t;throw"Cycle in require graph: "+e}if(n[t].factory)try{return o[t]=a.length,a.push(t),i(n[t])}finally{delete o[t],a.pop()}return n[t].exports},e=function(t,e){if(n[t])throw"module "+t+" already defined";n[t]={id:t,factory:e}},e.remove=function(t){delete n[t]},e.moduleMap=n}(),e("sapi_bridge",function(t,e,i){var n={callbackId:Math.floor(2e9*Math.random()),callbacks:{},commandQueue:[],loopEnabled:!1,invoke:function(t,e,i,n){return this.loopEnabled?void this.enqueueCommand(t,e,i,n):(t||(t="defaultCommand"),e||(e={}),this.callbackId++,this.callbacks[this.callbackId]={success:i,fail:n},void(window.sapiUseIframe?this.bridgeLoadURL("sapi://"+t+"/"+JSON.stringify(e)+"/"+this.callbackId):document.location="sapi://"+t+"/"+JSON.stringify(e)+"/"+this.callbackId))},bridgeLoadURL:function(t){var e;e=document.createElement("iframe"),e.setAttribute("src",t),e.setAttribute("style","display:none;"),e.setAttribute("height","0px"),e.setAttribute("width","0px"),e.setAttribute("frameborder","0"),document.body.appendChild(e),e.parentNode.removeChild(e),e=null},enqueueCommand:function(t,e,i,n){t||(t="defaultCommand"),e||(e={}),this.callbackId++,this.callbacks[this.callbackId]={success:i,fail:n};var a=t+"/"+JSON.stringify(e)+"/"+this.callbackId;this.commandQueue.push(a)},fetchNativeCommands:function(){var t=JSON.stringify(this.commandQueue);return this.commandQueue=[],t},activateCommandQueue:function(){document.location="sapi://ready"},callbackSuccess:function(t,e){try{n.callbackFromNative(t,e,!0)}catch(i){console.log("Error in error callback: "+t+" = "+i)}},callbackError:function(t,e){try{n.callbackFromNative(t,e,!1)}catch(i){console.log("Error in error callback: "+t+" = "+i)}},callbackFromNative:function(t,e,i){var a=this.callbacks[t];a&&(i?a.success&&a.success(t,e):a.fail&&a.fail(t,e),delete n.callbacks[t])}};i.exports=n}),window.sapi_bridge=t("sapi_bridge")}(),!function(t,e){var e=Pass;e.client=e.client||{network:!1,encodeHTML:function(t){return String(t).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")},upData:function(){var t,e=location.search.substring(1).split("&"),i=this,n={};for(var a in e)t=e[a].split("="),n[t[0]]=i.encodeHTML(t[1]);publicData=n,publicData.lang=(publicData.lang||"zh-cn").toLowerCase(),-1=="zh-cn|en".indexOf(publicData.lang)&&(publicData.lang="zh-cn"),"en"==publicData.lang&&(publicData.overseas=1)},fastReg:function(){window.sapi_obj&&window.sapi_obj.action_fast_reg?window.sapi_obj.action_fast_reg():"android"==publicData.client?prompt("{action:{name:'action_fast_reg'}}"):"ios"==publicData.client&&this.deviceClass("action_fast_reg")},customLogin:function(){window.sapi_obj&&window.sapi_obj.action_share_accounts_view_btn_clicked?window.sapi_obj.action_share_accounts_view_btn_clicked():"android"==publicData.client?prompt("{action:{name:'action_share_accounts_view_btn_clicked'}}"):"ios"==publicData.client&&this.deviceClass("action_share_accounts_view_btn_clicked")},vcodetoclient:function(t){window.sapi_obj&&window.sapi_obj.action_received_sms_code?window.sapi_obj.action_received_sms_code("Pass.client.setVcodeVal",t):"android"==publicData.client&&prompt("{action:{name:'action_received_sms_code', params:['Pass.client.setVcodeVal','"+t+"']}}")},setVcodeVal:function(t,e){Pass._modulePool[e]&&Pass._modulePool[e].setVcodeVal&&"[object function]"==Object.prototype.toString.call(Pass._modulePool[e].setVcodeVal).toLowerCase()&&Pass._modulePool[e].setVcodeVal(t)},webViewWillAppear:function(){var t=Pass._moduleCurrent||"login";Pass._modulePool[t]&&Pass._modulePool[t].webViewWillAppear&&"[object function]"==Object.prototype.toString.call(Pass._modulePool[t].webViewWillAppear).toLowerCase()&&Pass._modulePool[t].webViewWillAppear()},webViewWillDisappear:function(){var t=Pass._moduleCurrent||"login";Pass._modulePool[t]&&Pass._modulePool[t].webViewWillDisappear&&"[object function]"==Object.prototype.toString.call(Pass._modulePool[t].webViewWillDisappear).toLowerCase()&&Pass._modulePool[t].webViewWillDisappear()},deviceClass:function(t,e,i,n){if("android"==publicData.client&&window.sapi_obj){if(window.sapi_obj[t])return window.sapi_obj[t]()}else{if("android"==publicData.client){var e=e||{},a="",o=JSON.stringify(e),s="";return e.title?(a=e.title,s="{action:{name:'"+t+"',params:['"+a+"']}}"):s="{action:{name:'"+t+"',params:['"+o+"']}}",prompt(s)}if("ios"==publicData.client){var e=e||{},r=function(t,e){i&&i(t,e)},c=function(t,e){n&&n(t,e)};window.sapi_bridge.invoke(arguments[0],e,r,c)}}},success:function(t){if(window.sapi_obj)window.sapi_obj.authorized_response(t);else if("android"==publicData.client){var e="{action:{name:'authorized_response',params:['"+t+"']}}";prompt(e)}else if("ios"==publicData.client){var i=function(){},n=function(){};window.sapi_bridge.invoke("loginSucceed",{result:t},i,n)}},action_unite_verify:function(t){if(window.sapi_obj&&window.sapi_obj.action_unite_verify)window.sapi_obj.action_unite_verify&&window.sapi_obj.action_unite_verify(t);else if("android"==publicData.client)prompt("{action:{name:'action_unite_verify'}}")&&prompt("{action:{name:'action_unite_verify',params:['"+t+"']}}","action_unite_verify");else if("ios"==publicData.client){var e=function(){},i=function(){};window.sapi_bridge.invoke("action_unite_verify",{result:t},e,i)}},getNavWhiteList:function(){var t=[{title:"第三方登录",url:"https: //passport.baidu.com/phoenix/account/startlogin"}];return t},net:function(){this.network=!0,e._modulePool.canshare_accounts&&e._modulePool.canshare_accounts.getImg(),window.Pass.login.getRerocdList(),e.getSeverTimeAsync(),window.Pass.face_login.getUserInfo(),this.logPV(e._moduleCurrent)},sendLog:function(t,i,n,a){var o=new Image;o.onerror=o.onload=function(){o=null},o.src="https://nsclick.baidu.com/v.gif?pid=111&type=1023&gid="+(e.guideRandom||"")+"&tpl="+(publicData.tpl||"")+"&device="+(t||"")+"&name="+(i||"")+"&time="+(n||"")+"&errno="+(a||"")+"&tt="+(new Date).getTime()},logAjax:function(t,e,i){"android"==publicData.client&&this.network?this.sendLog("android",t,e,i):"ios"==publicData.client&&this.sendLog("ios",t,e,i)},logPV:function(t){if("back"!=t){var e={login:"pv_login",bind:"pv_bind",verify:"pv_verify",reg:"pv_reg",sms_login:"pv_slogin",canshare_accounts:"pv_sh_acc",agreement:"pv_agree",getpass:"pv_forgot",getpassbyphone:"pv_pforgot",getpassbyemail:"pv_eforgot",getpassbyemail_result:"pv_eforgot_r",fastReg:"pv_sreg",fastRegVerify:"pv_sreg_vcd",fastRegSuccess:"pv_sreg_succ",setpwd:"pv_sreg_pwd"},i=e[t]?e[t]:t;"android"==publicData.client&&this.network?this.sendLog("android",i,"",0,0):"ios"==publicData.client&&this.sendLog("ios",i,"",0,0)}},logEffective:function(t,e){function i(){var n=new Image;n.onerror=n.onload=function(){n=null},n.src="https://passport.baidu.com/img/v.gif?type="+e+"&v="+(new Date).getTime();for(var a in t)t[a].off(a,i)}for(var n in t)t[n].on(n,i)},logAjaxAll:function(e,i,n){t.ajax({url:i+"&module="+e,type:"POST",dataType:"json",data:n,error:function(){},success:function(){}})}},e.client.upData()}($,window.Pass),!function(t,e){"use strict";function i(t){this.module=t.module}var n=(e.require,{"zh-cn":{goback:"返回"},en:{goback:"Back"}}[window.publicData.lang||"zh-cn"]);i.prototype.getId=function(t){var e=this.module+"-"+t;return e},i.prototype._getHeaderField=function(t){var e=t.nextRole?' data-role="'+t.nextRole+'"':"",i="";return i+=t.overseas?'<header class="pass-header overseas_login_header" id="login-overseas-headerWrapper" data-role="back"><span class="pass-header-back">'+(1==publicData.isVoiceover?n.goback:"")+"</span>":t.usual?'<header class="pass-header usual_login_header" id="'+this.getId("headerWrapper")+'">':'<header class="pass-header" id="'+this.getId("headerWrapper")+'">',i+=(t.goBack?'<span class="pass-header-back" data-role="back">'+(1==publicData.isVoiceover?n.goback:"")+"</span>":"")+'<span class="pass-header-title">'+t.title+"</span>"+(t.words?'<span class="pass-header-links"'+e+">"+t.words+"</span>":"")+"</header>"},i.prototype._getToastField=function(){var t='<p class="pass-mod-toastWrapper" id="'+this.getId("toastWrapper")+'"></p>';return t},i.prototype._getLoadingField=function(t){var e='<p class="pass-mod-loadingWrap" id="'+this.module+'-loading"><span class="pass-mod-loadingImg"></span>'+t.html+'</p><div class="pass-mod-Mask" id="'+this.module+'-loadingMask"></div>';return e},i.prototype._getErrorField=function(){var t='<p class="error_area" id="'+this.getId("errorWrapper")+'"></p>';return t},i.prototype._getRegularField=function(t){var e=t.autoComplete?' autocomplete = "off"':"",i=t.type?t.type:t.pwd?"password":"text",n=t.maxLength?'maxlength="'+t.maxLength+'"':"",a=t.placeholder?' placeholder="'+t.placeholder+'"':"",o=t.value?t.value:"",s=(t.code?'<span class="pass-overseas-wrapper">':"")+'<label class="pass-text-label '+(t.labellong?"pass-text-label-long ":"")+(t.code?"pass-label-"+this.module+"-code pass-label-code pass-text-label-":"pass-text-label-"),r=t.code?'<p class="pass-form-code pass-form-item pass-form-input-wrapper pass-form-item-':'<p class="pass-form-item pass-form-input-wrapper pass-form-item-',c=r+t.field+'">'+(t.label?s+t.field+'" for="'+this.getId(t.field)+'" id="'+this.module+"-label-"+t.field+'">'+(t.labeltext?t.labeltext:"")+"</label>":"")+(t.code?'<span class="pass-overseas-down"></span></span>':"")+'<input type="'+i+'" id="'+this.module+"-"+t.field+'" name="'+t.field+'" class="'+(t.passcode?"text-input-code":"")+" pass-text-input pass-text-input-"+t.field+'" '+n+e+a+' value="'+o+'" '+(t.readonly?"readonly":"")+"/>"+(0==t.clearValue?"":'<span class="pass-input-clearValue hide pass-clearbtn-'+t.field+'"></span>')+(t.rightDom?t.rightDom:"")+"</p>";return c},i.prototype._getVCodeField=function(t){var e=1==t.show?"":' style="display:none;"',i=t.type?t.type:"text",n='<p class="pass-form-item-v pass-form-item-'+t.field+'"'+e+' id="'+this.getId("verifyCodeWrapper")+'"><span class="pass-form-input-wrapper-forvcode">'+(t.labeltext?'<label class="pass-text-label pass-text-label-verifyCode" for="'+this.getId(t.field)+'">'+(t.labeltext?t.labeltext:"")+"</label>":"")+'<input type="'+i+'" id="'+this.getId(t.field)+'" name="'+t.field+'" class="pass-text-input pass-text-input-'+t.field+'" value="" placeholder="'+t.placeholder+'" autocomplete="off" maxlength="6"/>'+(0==t.clearValue?"":'<span class="pass-input-clearValue pass-clearbtn-'+t.field+'"></span>')+'</span><span class="pass-form-vcodeImg"><img  class="pass-verifyCode-img" width="100" height="40" id="'+this.getId("verifyCodeImg")+'"/></span></p>';return n},i.prototype._getVCodeSmsField=function(t){var e=t.type?t.type:"text",i='<p class="pass-form-item-v pass-form-item-'+t.field+' pass-form-item-smsVcode pass-form-item-vcode"><span class="pass-form-input-wrapper-forvcode">'+(t.labeltext?'<label class="pass-text-label pass-text-label-verifyCode" for="'+this.getId(t.field)+'">'+(t.labeltext?t.labeltext:"")+"</label>":"")+'<input type="'+e+'" id="'+this.module+"-"+t.field+'" name="'+t.field+'" class="pass-text-input pass-text-input-'+t.field+'" value="" placeholder="'+t.placeholder+'" autocomplete="off" maxlength="6"/>'+(0==t.clearValue?"":'<span class="pass-input-clearValue pass-clearbtn-'+t.field+'"></span>')+'</span></p><p class="verify-button"><input type="button" value="'+t.text+'" class="pass-form-VerifyButton" id="'+this.getId("verifyCodeSend")+'"></p>';return i},i.prototype._getHiddenField=function(t){var e,i=this,n='<p id="'+this.getId("hiddenFields")+'" class="hide">';for(var a in t)t.hasOwnProperty(a)&&(e="string"==typeof t[a]?t[a].replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/\x22/g,"&quot;").replace(/\x27/g,"&#39;"):t[a],n+='<input type="hidden" id="'+i.getId(a)+'" name="'+a+'" value="'+e+'" />');return n+="</p>"},i.prototype._getSubmitField=function(t){var e='<p class="pass-form-item pass-form-item-submit"><input id="'+this.getId("submit")+'" type="submit" value="'+t.value+'" class="pass-button-full pass-button-submit '+(t.actived?"":"pass-button-full-disabled")+'"'+(t.disabled?"disabled=disabled":"")+" /></p>";return e},i.prototype._getFooterField=function(){var t='<footer class="footer" id="'+this.getId("footerWrapper")+'">&copy;'+(new Date).getFullYear()+" Baidu</footer>";return t},e.define("ui/temp",i)}($,window.Pass),!function(t,e){"use strict";function i(e){this.config=t.extend(e,{}),this.button=this.config.handler,this._validations=[],this._errno=0,this._time=this.config.sTime||60,this._init()}e.require,i.prototype._init=function(){var t=this;this.addValidation(this.config.validations),this.button.on("click",function(){t.clickCallBack(),t.config.tapcallback&&t.config.tapcallback()}),"disabled"==this.config.initStatus&&(this._timing(),this.button.get(0).disabled=!0)},i.prototype.clickCallBack=function(){this.button.get(0).disabled||(this._validate(),0===this.getErrno()&&(this._send(),e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-button_smsSend",ev:[e._moduleCurrent||"","click"]})))},i.prototype._timing=function(){function e(){return 0==--o?(a.val(n.config.sendText),a.removeClass("pass-button-disabled"),n.config.is_voice_sms?t("#sms_verify-verifyCodeSend").removeAttr("disabled").removeClass("pass-button-disabled"):t("#sms_verify-voiceVerify")&&t("#sms_verify-voiceVerify").removeAttr("disabled").removeClass("voice_sms_disabled"),void(a.get(0).disabled=!1)):(a.val(n.config.reSend+"("+o+")"),void(i=setTimeout(function(){e()},1e3)))}var i,n=this,a=n.button,o=n._time;a.addClass("pass-button-disabled"),e()},i.prototype._send=function(){var i,n,a=this;a.config.beforeSend&&a.config.beforeSend(),i="[object function]"==Object.prototype.toString.call(a.config.url).toLowerCase()?a.config.url():a.config.url,"[object function]"==Object.prototype.toString.call(a.config.data).toLowerCase()?(n=a.config.data(),n.tpl=publicData.tpl):(n=a.config.data,n.tpl=publicData.tpl),a.button.get(0).disabled=!0,a.button.get(0).value=a.config.loadingText,n.clientfrom=publicData.clientfrom||"native",a.config.beforeSend&&a.config.beforeSend();var o=new Date;t.ajax({url:i,data:n,type:a.config.type||"POST",dataType:a.config.dataType||"json",success:function(t){var i=(new Date).getTime()-o;e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-button_smsSend_request",ev:[e._moduleCurrent||"","request",t.errInfo.no,t.errInfo.msg]}),0==t.errInfo.no?(a._timing(),a.config.success(t)):(a.button.get(0).value=a.config.sendText,a.button.get(0).disabled=!1,a.config.error(t)),!a.config.page||"ios"!=publicData.client&&"android"!=publicData.client||e.client.logAjax(a.config.page,i,t.errno||t.errInfo&&t.errInfo.no),a.sendTimer&&clearTimeout(a.sendTimer)}}),a.config.timmerText&&(a.sendTimer=setTimeout(function(){a.button.get(0).disabled=!1,a.config.is_voice_sms?t("#sms_verify-verifyCodeSend").removeAttr("disabled").removeClass("pass-button-disabled"):t("#sms_verify-voiceVerify")&&t("#sms_verify-voiceVerify").removeAttr("disabled").removeClass("voice_sms_disabled"),a.button.get(0).value=a.config.sendText,a.config.error({errInfo:{msg:a.config.timmerText}})},a.config.timmer||15e3))},i.prototype.addValidation=function(t){"[object Function]"==Object.prototype.toString.call(t)&&this._validations.push(t)},i.prototype._validate=function(){for(var t=this._validations.length;t--;){var e=this._validations[t].call(this,this._value);if(this.setErrno(e.errNo),e.errNo)break}},i.prototype.getErrno=function(){return this._errno},i.prototype.setErrno=function(t){this._errno=t},e.define("ui/button",i)}($,window.Pass),!function(t,e){"use strict";var i=(e.require,{"zh-cn":{required:"请输入%s",phone:"请输入有效手机号码",email:"邮箱格式不正确",password:"密码格式不正确",idcard:"身份证格式不正确",passAllNum:"请输入数字、字母和符号组合",passHaveSpace:"密码6-14位不能含有空格"},en:{required:"Enter %s",phone:"Incorrect phone format",email:"Incorrect email format",password:"Incorrect password format",idcard:"Incorrect idcard format",passAllNum:"Incorrect password format",passHaveSpace:"Incorrect password format"}}[window.publicData.lang||"zh-cn"]);e.animate=function(i){if(""==i){var n=publicData.backType;return void(n?window.history.go(-1):"ios"==publicData.client||"android"==publicData.client?e.client.deviceClass("finish"):document.location=publicData.u)}""==e._moduleCurrent?t("#"+i).css("display","block"):e._moduleCurrent!=i?(t("#"+e._moduleCurrent).css("display","none").css("z-index","-1"),t("#"+i).css("display","block").css("z-index","0")):t("#"+i).css("display","block").css("z-index","0"),e._modulePool&&e._modulePool[i]&&e._modulePool[i].initModule&&e._modulePool[i].initModule(),("ios"==publicData.client||"android"==publicData.client)&&e.client.logPV(i)},e.infoAnimate=function(e,i){var n=t("#"+e+"-errorWrapper");n.html(i)},e.removeInfoAnimate=function(e){t("#"+e+"-errorWrapper").html(""),t(".pass-form-item-error").removeClass("pass-form-item-error")},"ios"==publicData.client&&t(window).on("resize",function(){var e=document.documentElement;setTimeout(function(){t("html").width(e.clientWidth)},0),setTimeout(function(){t("html").width(e.clientWidth)},400)}),t(window).on("orientationchange",function(){var e=document.documentElement;setTimeout(function(){t("html").width(e.clientWidth)},0),setTimeout(function(){t("html").width(e.clientWidth)},400)}),e.view={tap:function(e,i){var n=function(e){e.stopPropagation(),e.preventDefault(),t(document).off("click",n,!0)};e.on("tap",i).on("touchstart",function(){t(document).on("click",n,!0)})},click:function(e,i){var n=function(e){e.stopPropagation(),e.preventDefault(),t(document).off("click",n,!0)};e.on("click",i).on("touchstart",function(){t(document).on("click",n,!0)})},cutPage:function(i,n){e.view.click(i,function(){var i=t(this).attr("data-role");if(e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-"+i+"_cutPage",ev:[e.module||"","click"]}),n&&n.callback&&n.callback(),"back"==i)Pass.switchView(i);else{if("fastReg"==i||"reg"==i&&"1"===publicData.fastRegLink)return void e.client.fastReg();Pass._getScript(i,function(t){t.render("pageWrapper",n||{})})}})},clearInputValueBtn:function(i,n,a){i.on("focus",function(){""!=t(this).val()&&n.is(":hidden")&&setTimeout(function(){n.css("display","block")},25)}),i.on("blur",function(){n.is(":hidden")||n.css("display","none")}),i.on("keyup",function(){e.removeInfoAnimate(e._moduleCurrent),""!=t(this).val()||n.is(":hidden")?""!=t(this).val()&&n.is(":hidden")&&n.css("display","block"):n.css("display","none")
}),n.on("tap",function(){e.removeInfoAnimate(e._moduleCurrent),i.val(""),t(this).hide(),a&&t(a).addClass("pass-button-full-disabled"),e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-input_clearValue_"+i.attr("name"),ev:[e._moduleCurrent||"","click"]})})},_setFocusStyle:function(e,i){var n=t(e.getElement(i)).parents(".pass-form-item");n.length>0&&!n.hasClass("pass-form-item-focus")&&n.addClass("pass-form-item-focus")},_setBlurStyle:function(e,i){var n=t(e.getElement(i)).parents(".pass-form-item");n.length>0&&n.hasClass("pass-form-item-focus")&&n.removeClass("pass-form-item-focus")},_setErrorStyle:function(e,i){var n=t(e.getElement(i)).parents(".pass-form-item");n.length>0&&!n.hasClass("pass-form-item-error")&&n.addClass("pass-form-item-error")},_clearErrorStyle:function(){setTimeout(function(){t(".pass-form-item-error").each(function(){t(this).removeClass("pass-form-item-error")})},2e3)},_mobilenumFormat:function(e,i,n){t(e.getElement(i)).on("keyup",function(){var a=t(e.getElement(i)).val(),o=/(\d{3}){1}(\d){1,4}?(?=\d*$)/g;a=a&&a.replace(/\s/g,"").replace(o,"$1 $2"),t(e.getElement(i)).val(a),n&&n()})},_substrMobile:function(t){var e="",i=/(\d{3}){1}(\d){1,4}?(?=\d*$)/g;return t?(e=t.replace(/\s/g,"").replace(i,"$1 $2"),e=t.replace(/\s/g,"").length>11?t.replace(/\s/g,"").substring(0,11).replace(i,"$1 $2"):t.replace(/\s/g,"").replace(i,"$1 $2")):void 0},_strTrim:function(t){return"[object string]"==Object.prototype.toString.call(t).toLowerCase()?t.replace(/\s/g,""):void 0},_SBCtoDBC:function(t){var e="";if(t){for(var i=t.length,n=0;i>n;n++){var a=t.charCodeAt(n);a=a>=65281&&65374>=a?a-65248:a,a=12288==a?32:a,e+=String.fromCharCode(a)}return e}},_setMaxLength:function(t,i,n){t.on("keydown",function(){e.view._strTrim(this.value).length==i?this.setAttribute("maxlength",i+n):this.removeAttribute("maxlength")})},setSubmitStyle:function(e,i){function n(){e.keyupTimer=!0;for(var i in e.validateRules){var n=e.getElement(i);if(n&&0!=n.offsetHeight&&""==n.value)return-1==e.getElement("submit").className.indexOf("pass-button-full-disabled")&&t(e.getElement("submit")).addClass("pass-button-full-disabled"),!1}t(e.getElement("submit")).removeClass("pass-button-full-disabled")}clearTimeout(e.keyupTimer),0===i?n():e.keyupTimer=setTimeout(function(){n()},200)},fullButton:function(e){e.on("touchstart",function(){t(this).hasClass("pass-button-full-disabled")||t(this).addClass("pass-button-full-active")}),e.on("touchend",function(){t(this).hasClass("pass-button-full-active")&&t(this).removeClass("pass-button-full-active")})},touch:function(e,i){e.on("touchstart",function(){t(this).disabled||t(this).addClass(i)}),e.on("touchend",function(){t(this).hasClass(i)>-1&&t(this).removeClass(i)})},labelFocus:function(e,i){t("#"+e.module+"-label-"+i).addClass("pass-label-"+i+"-focus")},labelBlur:function(e,i){t("#"+e.module+"-label-"+i).removeClass("pass-label-"+i+"-focus")},inputBlur:function(){t(document).on("tap",function(e){"input"!=e.target.tagName.toLowerCase()&&t("input").blur()})},inputScroll:function(e,i){var n=["automap"],a=t.fn.getQueryString(a);n.indexOf(a)&&t(e).each(function(e,n){n.focus(function(){var e=t(window).height(),n=e+e/2,a=t(this).offset().top;i.height(n),window.scrollTo(0,a-76)})})}},e.validator={_validator:{_validateInfo:{},confStorage:{},builtInMsg:i,builtInRules:{required:/\S+/,phone:/^1[34578]\d{9}$/,email:/^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/,password:/^\S{6,14}$/,idcard:/(^\d{15}$)|(^\d{17}(\d|X|x)$)/,passAllNum:/^[0-9]*$/,passHaveSpace:/^([0-9a-zA-Z\_`!~@#$%^*+=,.?;'":)(}{/\\\|&lt;&gt;&amp;\[\-]|\]]){6,14}$/},init:function(t,e){this.confStorage[t.module]=e},validate:function(t,e,i){var n=this,a=t.getElement(e),o={field:e};if(!a||0==a.offsetHeight)return!1;var s,r=n.confStorage[t.module][e],c=r.rules;s=a.value;for(var l=0,u=c.length;u>l;l++){var d,p=c[l],f=n.builtInRules[p];if(f instanceof Function?d=f.call(t,a):(d=new RegExp(f).test(s),"passAllNum"==p&&(d=!d)),!d)return o.error=!0,n._validateInfo[e]=0,o.msg=n.builtInMsg[p].replace(/\%s/,r.desc),o.field=a,t._validateError(o),void i.error(o)}r.asyncRule?r.asyncRule.call(t,{success:function(){o.error=!1,n._validateInfo[e]=1,t._validateSuccess(o),i.success(o)},error:function(a){o.error=!0,n._validateInfo[e]=0,o.msg=a.msg,t._validateError(o),i.error(o)}}):(o.error=!1,n._validateInfo[e]=1,t._validateSuccess(o),i.success(o))},validateAll:function(t,e,i){function n(){r=!0,s?e&&e.error(c):e&&e.success(c)}var a=this.confStorage[t.module],o=0,s=!1,r=!1,c=[],l=this._getActiveValidate(t,!0);for(var u in a){if(r)break;this.validate(t,u,{success:function(t){o++,c.push(t),o==l&&n()},error:function(t){return s=!0,i?void n():(o++,c.push(t),void(o==l&&n()))}})}},_getActiveValidate:function(t,e){var i=this.confStorage[t.module],n=[];for(var a in i){var o=t.getElement(a);o&&0!=o.offsetHeight&&n.push(o)}return e?n.length:n},addRule:function(e,i){var n={};n[e]=i,t.extend(this.builtInRules,n)},addMsg:function(e,i){var n={};n[e]=i,t.extend(this.builtInMsg,n)}},validate:function(t,e){var i=this;this._validator.validate(i,t,{success:function(t){e&&e.success&&e.success(t)},error:function(t){e&&e.error&&e.error(t)}})},validateAll:function(t,e){var i=this;e="boolean"==typeof t?t:e?e:!1,i._validator.validateAll(i,{success:function(e){t&&t.success&&t.success(e)},error:function(e){t&&t.error&&t.error(e)}},e)},getValidateStatus:function(t){return this._validateInfo.hasOwnProperty(t)?this._validateInfo[t]:-1},setValidateSuccess:function(t){var e=this;e._validateInfo[t]=1,e._validateSuccess({field:t})},setValidateError:function(t,e){var i=this;i._validateInfo[t]=0,i._validateError({field:t,msg:e})}},e.load={insertScript:function(t,i){if(e.jsFileList=e.jsFileList||{},e.jsFileList[t])i&&i();else{e.jsFileList[t]=!0;var n=document,a=n.createElement("script");a.type="text/javascript",a.charset="utf-8",a.readyState?a.onreadystatechange=function(){("loaded"==a.readyState||"complete"==a.readyState)&&(a.onreadystatechange=null,i&&i())}:a.onload=function(){i&&i()},a.src=t,n.getElementsByTagName("head")[0].appendChild(a)}},loadCssFileW:function(t,e){if(window._loadedFilesW=window._loadedFilesW||{},window._loadedFilesW[t])e&&e();else{window._loadedFilesW[t]=!0;var i=document.createElement("link");i.rel="stylesheet",i.type="text/css",i.href=t,document.getElementsByTagName("head")[0].appendChild(i),i.readyState?i.onreadystatechange=function(){("loaded"===i.readyState||"complete"===i.readyState)&&(i.onreadystatechange=null,e&&e())}:i.onload=function(){e&&e()}}}},e.logAll={getRefer:function(){var t,e=document.referrer;if(e.indexOf("?")>-1){var i=/(^.+?)\?{1}.*/,n=e.match(i);t=n[1]}else t=e||"source";return t},setRelation:function(){var t="localStorage"in window&&null!==window.localStorage;t&&(localStorage.setItem("keyprev",localStorage.getItem("key")||""),localStorage.setItem("key",(new Date).getTime()))},getRelation:function(){var t="localStorage"in window&&null!==window.localStorage,e="";if(t){var i=localStorage.getItem("keyprev")||"",n=localStorage.getItem("key")||"";e=""!=i&&""!=n&&parseInt(n)-parseInt(i)>18e5?"-"+localStorage.getItem("key"):i+"-"+n}return e},logBfb:function(i){window.statisticUserActionSwitcher=!0;var n,i=i||{},a=i.ev||[];if(e.logAll&&e.logAll.getRelation&&(n=e.logAll.getRelation()),window.BfbStatistic){var o=[];o.push(t.fn.cookie("BAIDUID")||"BAIDUID"),o.push(publicData.tpl||"ppdemo"),o.push(publicData.clientfrom||"clientfrom"),o.push(publicData.client||"client"),o.push(publicData.subpro||"subpro"),o.push(n||"source"),window.BfbStatistic.sendUserActionData({en:i.en,eg:i.eg||"",ev:o.concat(a)},function(){i.callback&&i.callback()})}},logPass:function(t,e){function i(t){var e,i,n,a,o,s,r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(n=t.length,i=0,e="";n>i;){if(a=255&t.charCodeAt(i++),i==n){e+=r.charAt(a>>2),e+=r.charAt((3&a)<<4),e+="==";break}if(o=t.charCodeAt(i++),i==n){e+=r.charAt(a>>2),e+=r.charAt((3&a)<<4|(240&o)>>4),e+=r.charAt((15&o)<<2),e+="=";break}s=t.charCodeAt(i++),e+=r.charAt(a>>2),e+=r.charAt((3&a)<<4|(240&o)>>4),e+=r.charAt((15&o)<<2|(192&s)>>6),e+=r.charAt(63&s)}return e}var n=document.location.protocol+"//nsclick.baidu.com/v.gif?v="+(new Date).getTime(),a="";for(var o in e)a=a+o+":"+e[o]+",";a=i("{"+a.substring(0,a.length-1)+"}");var s="&page="+t.page+"&source="+t.source+"&tpl="+t.tpl+"&auto_statistic="+a;if(n+=s){var r=new Image;r.onload=r.onerror=function(){r.onload=r.onerror=null,r=null},r.src=n}}}}($,window.Pass),!function(t,e){"use strict";function i(t){this.conf=t,this.width=t.width,this.height=t.height,this.mask=t.mask,this.titleText=t.titleText,this.content=t.content,this.onRender=t.onRender||function(){},this.num=Math.floor(1e3*Math.random()),this.init()}e.require,i.prototype.init=function(){this.mask&&this.createMask(),this.createBody()},i.prototype.createMask=function(){Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),this.maskDom=t('<div class="mod-dialog" id="pass-'+this.num+'"></div>'),t("body").append(this.maskDom)},i.prototype.show=function(){this.mask&&(this.maskDom.get(0).style.display="block"),this.domBody.height(),this.domBody.show()},i.prototype.hide=function(){var t=this;t.domBody.height(),t.mask&&(t.maskDom.get(0).style.display="none"),t.domBody.hide()},i.prototype.remove=function(){this.mask&&this.maskDom.remove(),this.domBody.remove()},i.prototype.createBody=function(){var e,i;Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),this.domBody=t('<div class="mod-dialog-body" id="pass-content'+this.num+'"><div class="mod-dialog-content"><div class="mod-dialog-main"></div></div></div>'),t("body").append(this.domBody),this.domBody.css({width:this.width,marginLeft:-parseInt(this.width)/2+"%"}),e=this.domBody.children(".mod-dialog-content"),this.content&&(e.children(".mod-dialog-main").append(this.content),this.show(),i=this.domBody.height(),this.domBody.css({top:Math.max((t(window).height()-i)/2,0)+"px"})),this.bind(),this.onRender(this)},i.prototype.setContent=function(t){this.domBody.append(t),this.show()},i.prototype.bind=function(){var e=this;t("#close-"+e.num).on("click",function(t){e.hide(),t.preventDefault()})},e.define("ui/dialog",i)}($,window.Pass),!function(t,e){"use strict";function i(t){this.conf=t,this.mask=t.mask,this.onRender=t.onRender||function(){},this.num=Math.floor(1e3*Math.random()),this.vcodestr=t.vcodestr,this.vcodenum="",this.lang={"zh-cn":{title:"验证码",uniqueVerifyCode:"验证码",uniqueVerifyCodePlaceholder:"请输入验证码",uniqueVerifyCodeTip:"请输入图中的验证码",clickReresh:"看不清?点击图片刷新",networkNoText:"网络连接失败，请稍后再试。"},en:{title:"Captcha",uniqueVerifyCode:"Captcha",uniqueVerifyCodePlaceholder:"Captcha",uniqueVerifyCodeTip:"Enter Image Captcha",clickReresh:"click refresh",networkNoText:"Network Error"}}[window.publicData.lang||"zh-cn"],this.current=0,this.init()}e.require,i.prototype.init=function(){this.mask&&this.createMask(),this.createBody()},i.prototype.createMask=function(){Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),this.maskDom=t('<div class="mod-vcode" id="pass-'+this.num+'"></div>'),t("body").append(this.maskDom)},i.prototype.show=function(){var e=this;this.mask&&(this.maskDom.get(0).style.display="block"),this.domBody.fadeIn(),t("input.pass-text-input").attr("disabled","true");var i="https://wappass.baidu.com/cgi-bin/genimage?"+e.conf.vcodestr+"&tt="+(new Date).getTime();t("#vcode-"+e.num).attr("src",i)},i.prototype.hide=function(){var e=this;e.mask&&(e.maskDom.get(0).style.display="none"),e.domBody.fadeOut(150),t("input.pass-text-input").removeAttr("disabled")},i.prototype.remove=function(){this.mask&&this.maskDom.remove(),this.domBody.remove(),t("input.pass-text-input").removeAttr("disabled")},i.prototype.InputLayer=function(){var t=navigator.userAgent.indexOf("GT-I9300")>-1?1:0,e='<div class="vcodeInputWrapper" id="vcode-wrapper-'+this.num+'"><input class="vcodeInput '+("ios"==publicData.client?"vcodeInput_ios":"")+(t?"vcodeInput_9300":"")+'" id="vcode-input-'+this.num+'" type="password" autocapitalize="off"/><span class="keyboardInputEle"/><span class="keyboardInputEle" /><span class="keyboardInputEle" /><span class="keyboardInputEle" /></div>';return e},i.prototype.createBody=function(){var i;this.domBody=t('<div class="mod-vcode-body" id="pass-content'+this.num+'"><div class="mod-vcode-content clearfix"></div></div>'),t("body").append(this.domBody),i=this.domBody.children(".mod-vcode-content"),this.content='<p class="mod-page-tipInfo-gray">'+this.lang.uniqueVerifyCodeTip+'</p><p class="mod-page-verifyImg"><img id="vcode-'+this.num+'" /></p><p class="small-tip" id="refresh-'+this.num+'">'+this.lang.clickReresh+'</p><p class="vcode_error_redtip" id="vcode-error-'+this.num+'"></p>',this.content+=this.InputLayer(),this.content+='<div id="close-'+this.num+'" class="vcode-close"></div>',i.append(this.content),this.show(),this.setEvent(),this.onRender(this),e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-vcode",eg:"in",ev:[e.module||"","show"]})},i.prototype.setContent=function(t){this.domBody.append(t),this.show()},i.prototype.setVcode=function(e){var i=this;t("#vcode-"+i.num).attr("src",e),this.vcodestr=e},i.prototype.setEvent=function(){function i(i){if(n.vcodenum+=i,t("#vcode-wrapper-"+n.num+" span").removeClass("keyboarderror").eq(n.current).html(i).addClass("keyboarddone").removeClass("keyboardCursor2").next().addClass("keyboardCursor2"),"3"==n.current){t(n.conf.from_module+"-loading").css("display","block"),e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-vcode_submit",ev:[e.module||"","click"]});var a={verifycode:n.vcodenum,codestring:n.vcodestr};t.ajax({url:apiDomain+"/wp/api/security/checkvcode?tt="+(new Date).getTime(),data:a,success:function(i){if(e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-vcode_request",ev:[e.module||"","request",i.errInfo.no,i.errInfo.msg]}),0==i.errInfo.no)n.hide(),document.getElementById("vcode-input-"+n.num).blur(),t("input").blur(),t("#vcode-wrapper-"+n.num+" span").html(""),n.conf.verifySuccessFn&&n.conf.verifySuccessFn(n.vcodenum),n.vcodenum="",t("#vcode-input-"+n.num).val("");else{t("#vcode-error-"+n.num).html(i.errInfo.msg).css("visibility","visible"),t("#vcode-wrapper-"+n.num+" span").addClass("keyboarderror").html(""),t("#vcode-wrapper-"+n.num+" span").removeClass("keyboarddone").eq(0).addClass("keyboardCursor2"),n.vcodenum="";var a="https://wappass.baidu.com/cgi-bin/genimage?"+n.conf.vcodestr+"&tt="+(new Date).getTime();t("#vcode-"+n.num).attr("src",a),t("#vcode-input-"+n.num).val("")}},error:function(){t("#vcode-error-"+n.num).html(n.lang.networkNoText).css("visibility","visible"),t("#vcode-wrapper-"+n.num+" span").addClass("keyboarderror").html(""),t("#vcode-wrapper-"+n.num+" span").removeClass("keyboarddone").eq(0).addClass("keyboardCursor2"),n.vcodenum="",t("#vcode-input-"+n.num).val("")}})}}var n=this;document.getElementById("vcode-input-"+n.num).addEventListener("focus",function(){t(t("#vcode-wrapper-"+n.num).find("span").get(n.current)).addClass("keyboardCursor2"),"ios"==publicData.client&&t("body").css("height","125%")}),"ios"==publicData.client&&document.getElementById("vcode-input-"+n.num).addEventListener("blur",function(){t("body").css("height","100%")}),t("#close-"+n.num).on("touchend",function(t){t.preventDefault(),n.conf.closeFn&&n.conf.closeFn(),n.hide()}),t("#vcode-"+n.num).on("touchend",function(i){i.preventDefault(),e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-vcode_verifyChange",ev:[e.module||"","click"]});var a="https://wappass.baidu.com/cgi-bin/genimage?"+n.conf.vcodestr+"&tt="+(new Date).getTime();t(this).attr("src",a)}),t("#refresh-"+n.num).on("touchend",function(i){i.preventDefault(),e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-vcode_verifyChange",ev:[e.module||"","click"]});var a="https://wappass.baidu.com/cgi-bin/genimage?"+n.conf.vcodestr+"&tt="+(new Date).getTime();t("#vcode-"+n.num).attr("src",a)}),t("#vcode-input-"+n.num).on("keyup",function(e){n.current=n.vcodenum.length,t("#vcode-error-"+n.num).html("").css("visibility","hidden"),8==e.keyCode?(n.vcodenum=n.vcodenum.substring(0,n.vcodenum.length-1),n.current=n.vcodenum.length,t(t("#vcode-wrapper-"+n.num+" span").get(n.current)).html("").removeClass("keyboarddone").addClass("keyboardCursor2").next().removeClass("keyboardCursor2 keyboarddone")):"android"==publicData.client&&(n.current<t("#vcode-input-"+n.num).val().length?(i(t("#vcode-input-"+n.num).val()[n.current]),n.current++):n.current>t("#vcode-input-"+n.num).val().length&&(n.vcodenum=n.vcodenum.substring(0,n.vcodenum.length-1),n.current=n.vcodenum.length,t(t("#vcode-wrapper-"+n.num+" span").get(n.current)).html("").removeClass("keyboarddone").addClass("keyboardCursor2").next().removeClass("keyboardCursor2 keyboarddone")))}),t("#vcode-input-"+n.num).on("keypress",function(t){var e=String.fromCharCode(t.keyCode);n.current=n.vcodenum.length,e&&8!=t.keyCode&&"ios"==publicData.client&&i(e)})},e.define("ui/vcode",i)}($,window.Pass);var biRadixBase=2,biRadixBits=16,bitsPerDigit=biRadixBits,biRadix=65536,biHalfRadix=biRadix>>>1,biRadixSquared=biRadix*biRadix,maxDigitVal=biRadix-1,maxInteger=9999999999999998,maxDigits,ZERO_ARRAY,bigZero,bigOne;setMaxDigits(20);var dpl10=15,lr10=biFromNumber(1e15),hexatrigesimalToChar=new Array("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"),hexToChar=new Array("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"),highBitMasks=new Array(0,32768,49152,57344,61440,63488,64512,65024,65280,65408,65472,65504,65520,65528,65532,65534,65535),lowBitMasks=new Array(0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535);!function(t,e){e.getSeverTimeAsync=function(){t.ajax({url:apiDomain+"/wp/api/security/antireplaytoken?tpl="+publicData.tpl+"&v="+(new Date).getTime(),type:"GET",dataType:"json",success:function(t){e.serverTime=t.time}})},e.getSeverTime=function(){t.ajax({url:apiDomain+"/wp/api/security/antireplaytoken?tpl="+publicData.tpl+"&v="+(new Date).getTime(),type:"GET",dataType:"json",async:!1,success:function(t){e.serverTime=t.time},error:function(){}})},"android"!==publicData.client&&e.getSeverTimeAsync()}($,window.Pass),!function(t,e){e.timerId||(e.timerId=1),e.connectURL={nuomi:"http://app.nuomi.com/naserver/user/checkaccount"},e.loginConnect=function(i,n,a){var i=i||{},o={username:i.username,sms:i.sms||""},s=apiDomain+"/wp/unitewidget-bind?v="+(new Date).getTime(),r=++e.timerId,c=function(t){if("object"==typeof t){var e=[];for(var i in t){var n=t[i];if(void 0!==n&&null!==n){e.length&&e.push("&");var a=encodeURIComponent("boolean"==typeof n?n?"1":"0":n.toString());e.push(encodeURIComponent(i),"=",a)}}return e.join("")}return"string"==typeof t?t:null},l=function(t,e){if(e=c(e),"string"==typeof e){var i=/\?/g.test(t);t+=(i?"&":"?")+c(e)}return t},u=e.connectURL[publicData.tpl],d=l(u,o);d=d+(d.indexOf("?")>0?"&":"?")+"callback=?",t.getJSON(d,function(o){if(clearTimeout(e["loginConnectTimer"+r]),0==o.errInfo.no)e.client.action_unite_verify(JSON.stringify(o.data)),n&&n.success&&n.success(o);else if(2==o.errInfo.no)n&&n.fail&&n.fail(o);else if(3==o.errInfo.no){var c={mobilenum:i.username,password:i.password,sms:i.sms||"",token:o.data.token||""};t.post(s,c,function(){a&&a()})}else a&&a()}),e["loginConnectTimer"+r]=setTimeout(function(){a&&a()},15e3)}}($,window.Pass),!function($,ns){var lang={"zh-cn":{sina:"新浪微博登录",tweibo:"腾讯微博",qq:"qq",weixin:"微信",qrcode:"二维码",device:"设备号",nuomi:"原糯米",voice:"百度语音",huawei:"华为帐号",feifan:"飞凡帐号",chuanke:"原传课帐号",ok:"确定",otherlogin:"第三方帐号登录"},en:{sina:"Sina Weibo",tweibo:"Tencent Weibo",qq:"QQ",weixin:"Weixin",qrcode:"QRcode",device:"Device Number",nuomi:"Nuomi",voice:"BaiduVoice",huawei:"Huawei",feifan:"Feifan",chuanke:"Chuanke",ok:"OK",otherlogin:"Other Account"}}[window.publicData.lang||"zh-cn"];ns.fastLogin={config:{tsina_sso:{name:lang.sina,fn:"android"==publicData.client||"ios"==publicData.client?function(){ns.client.deviceClass("action_social_sina_sso")}:!1,href:"https://passport.baidu.com/phoenix/account/startlogin?tpl="+publicData.tpl+"&type=2&u="+publicData.u+"&act="+publicData.act+"&display=wap"},tsina:{name:lang.sina,fn:"android"==publicData.client||"ios"==publicData.client?function(){ns.client.deviceClass("action_social_sina_weibo_webview")}:!1,href:"https://passport.baidu.com/phoenix/account/startlogin?tpl="+publicData.tpl+"&type=2&u="+publicData.u+"&act="+publicData.act+"&display=wap"},tqq:{name:lang.tweibo,fn:"android"==publicData.client||"ios"==publicData.client?function(){ns.client.deviceClass("action_social_tx_weibo_webview")}:!1,href:"https://passport.baidu.com/phoenix/account/startlogin?tpl="+publicData.tpl+"&type=4&u="+publicData.u+"&act="+publicData.act+"&display=wap"},qzone:{name:lang.qq,fn:"android"==publicData.client||"ios"==publicData.client?function(){ns.client.deviceClass("action_social_qzone_webview")}:!1,href:"https://passport.baidu.com/phoenix/account/startlogin?tpl="+publicData.tpl+"&type=15&u="+publicData.u+"&act="+publicData.act+"&display=wap"},tweixin_sso:{name:lang.weixin,fn:"android"==publicData.client||"ios"==publicData.client?function(){ns.client.deviceClass("action_social_weixin_sso")}:!1,href:"https://passport.baidu.com/phoenix/account/startlogin?tpl="+publicData.tpl+"&type=42&u="+publicData.u+"&act="+publicData.act+"&display=wap"},qr_app_login:{name:lang.qrcode,fn:"android"==publicData.client||"ios"==publicData.client?function(){ns.client.deviceClass("loginWithQRCode")}:!1,href:""},device_login:{name:lang.device,fn:"android"==publicData.client||"ios"==publicData.client?function(){ns.client.deviceClass("loginWithDeviceId")}:!1,href:""},nuomi_login:{name:lang.nuomi,fn:"android"==publicData.client||"ios"==publicData.client?function(){ns.client.deviceClass("action_nuomi_login")}:!1,href:""},voice_login:{name:lang.voice,fn:"android"==publicData.client||"ios"==publicData.client?function(){ns.client.deviceClass("action_voice_login")}:!1,href:""},huawei_login:{name:lang.huawei,fn:"android"==publicData.client||"ios"==publicData.client?function(){ns.client.deviceClass("action_huawei_login")}:!1,href:"https://passport.baidu.com/phoenix/account/startlogin?tpl="+publicData.tpl+"&type=45&u="+publicData.u+"&act="+publicData.act+"&display=wap"},feifan:{name:lang.feifan,fn:"android"==publicData.client||"ios"==publicData.client?function(){ns.client.deviceClass("action_feifan_login")}:!1,href:"https://passport.baidu.com/phoenix/account/startlogin?tpl="+publicData.tpl+"&type=46&u="+publicData.u+"&act="+publicData.act+"&display=wap"},chuanke:{name:lang.chuanke,fn:"android"==publicData.client||"ios"==publicData.client?function(){ns.client.deviceClass("action_chuanke_login")}:!1,href:"https://passport.baidu.com/phoenix/account/startlogin?tpl="+publicData.tpl+"&type=&u="+publicData.u+"&act="+publicData.act+"&display=wap"},meizu_sso:{name:"魅族",fn:"android"==publicData.client||"ios"==publicData.client?function(){ns.client.deviceClass("action_social_meizu_sso")}:!1,href:"https://passport.baidu.com/phoenix/account/startlogin?tpl="+publicData.tpl+"&type=50&u="+publicData.u+"&act="+publicData.act+"&display=wap"}},num:1,init:function(module){var me=this;if(this.module=module,"android"==publicData.client){var str=ns.client.deviceClass("config_fastlogin_features"),realStrArray=[];return str&&(realStrArray=str.toLocaleString().split(",")),void me.draw(realStrArray,module)}"ios"==publicData.client?ns.client.deviceClass("getFastLoginOptionList",{},function(id,params){var thirdList=eval(params.result);me.draw(thirdList,module)}):me.draw(["feifan","chuanke","meizu_sso","tqq","tsina","feifan"],module)},getHref:function(t){return"https://passport.baidu.com/phoenix/account/startlogin?tpl="+publicData.tpl+"&type="+t+"&u="+publicData.u+"&act="+publicData.act+"&display=wap"},draw:function(t,e){var i=t.length||0,n="";if("[object Array]"==Object.prototype.toString.call(t)&&t.length>0){$("#"+e+"-sotherlogin").css("display","block");for(var a=t.length>5?5:t.length,o=0;a>o;o++){var s=this.config[t[o]];s&&(n+=s.fn?'<div class="fastlogin-item"><a class="li-img-'+t[o]+'" type="'+t[o]+'" actjs="'+t[o]+'"></a></div>':'<div class="fastlogin-item"><a class="li-img-'+t[o]+'" type="'+t[o]+'" href="'+s.href+'"></a></div>')}this.num=i,document.getElementById("fastlogin-layer-"+e).innerHTML=n,this.bind()}},bind:function(){var t=this;ns.view.tap($("[actjs]","#"+this.module),function(){var e=$(this).attr("actjs");t.config[e].fn()}),$("body").on("click",".fastlogin-item a",function(){ns.logAll&&ns.logAll.logBfb&&ns.logAll.logBfb({en:"appsapi-authsite_"+$(this).attr("type"),ev:[ns.module||"","click"]})})}}}($,window.Pass),!function(t,e){e.guideRandom=function(){return"xxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){var e=16*Math.random()|0,i="x"==t?e:3&e|8;return i.toString(16)}).toUpperCase()}()}($,window.Pass); Pass._define("login",function(){var e,t,a,n=Pass,i={module:"login",initialized:!1,histroyRecordList:[],error:{field:""},stage:"usual",historyNum:0,backSign:!1,horizonBottom:"",pwdErrorCount:0,faceLoginData:{tempUsername:"",tempRealname:0},data:{code:"+86",countrycode:""},serverTimeCount:0,login_vcode:"",rsa:"B3C61EBBA4659C4CE3639287EE871F1F48F7930EA977991C7AFE3CC442FEA49643212E7D570C853F368065CC57A2014666DA8AE7D493FD47D171C0D894EEE3ED7F99F6798B7FFD7B5873227038AD23E3197631A8CB642213B9F27D4901AB0D92BFA27542AE890855396ED92775255C977F5C302F1E7ED4B1E369C12CB6B1822F"};return i=$.extend(i,Pass.validator),i=$.extend(i,{lang:{"zh-cn":{title:"百度帐号登录",username:"手机号/用户名/邮箱",password:"密码",passwordError:"登录密码",verifycode:"验证码",usernamePlaceholder:"手机号/用户名/邮箱",passwordPlaceholder:"密码",verifycodePlaceholder:"验证码",faceLogin:"刷脸登录",forgot:"遇到问题",otherLogin:"其他登录方式",prompt:"登录百度帐号，体验全新个人中心，好礼等您拿！（不支持安卓网用户名登录）",submitText:"登录",submitLoading5s:"继续登录中",fastRegText:publicData.fastRegText?decodeURIComponent(publicData.fastRegText):"手机一键注册",sms_loginText:"短信快速登录",submitLoading:"登录中",overseas:"海外登录",mobilenumPlaceholder:"手机号",code:"+86",loading:"登录中...",tel:"手机号",phoneformatRegError:"请输入有效手机号码",cancel:"取消",lecaiLogin:"原乐彩帐号登录",smsLogin:"短信验证码登录",otherLogin:"其他登录方式",fastLogin:"第三方登录",fastReg:"快速注册",usernameOrMobile:"为了您的帐号安全，请先确认您输入的帐号是用户名还是手机号",feedback:"帮助中心",smsReg:"短信注册",smsLoginBtn:"短信登录",networkError:"网络连接失败，请检查您的网络设置并稍后再试。",mobile:"手机号",accountname:"用户名",or:"或",mobileSure:"不需要解绑",appealBtn:"申诉去解绑",reg:"快速注册",sureMobileMsg:"您绑定的手机号,请确认该手机号是否还在使用,为了您的帐号安全，请及时解绑不使用的手机。"},en:{title:"Baidu Login",username:"Account",password:"Password",passwordError:"Login Password",verifycode:"Captcha",usernamePlaceholder:"Phone/Account/Email",passwordPlaceholder:"Password",verifycodePlaceholder:"Captcha",faceLogin:"face Login",forgot:"Can't Login?",prompt:"Logging on to Baidu account and experience all new personal center. There are more prices waiting for you too! (doesn’t support Android network login).",submitText:"Login",submitLoading5s:"Login",fastRegText:"Cellphone one click register",sms_loginText:"Login via SMS",submitLoading:"Login",overseas:"Overseas number",mobilenumPlaceholder:"Phone",code:"+86",loading:"Login",tel:"Phone",phoneformatRegError:"Incorrect phone format",cancel:"Cancel",lecaiLogin:"Lecai Account Login",smsLogin:"SMS Login",otherLogin:"Other",fastLogin:"Other Account",fastReg:"Sign Up",usernameOrMobile:"Phone or username?",feedback:"Feedback",smsReg:"Sign Up",smsLoginBtn:"SMS Login",networkError:"Network error",mobile:"Phone",accountname:"Account",or:"or",mobileSure:"don't unbind",appealBtn:"unbind",reg:"Sign Up",sureMobileMsg:"is the cell phone number you bind to your account. please make sure that the cell phone number is still available. Otherwise, for the safety of your account, please unbind it soon."}}[window.publicData.lang||"zh-cn"],getElement:function(e){return document.getElementById(this.module+"-"+e)},_getIrregularField:function(e){var t=this,a={userNameRightDom:'<span id="'+t.module+'-userlist" class="pass-input-aide pass-input-userlist"></span>',passwordRightDom:'<span id="'+t.module+'-pwdToggle" class="pass-input-aide pass-input-pwdToggle"></span>',fastReg:'<span data-role="fastReg" class="'+(1==publicData.lPlayout?"pass-button-minor m-b10":"account_login")+'">'+t.lang.fastRegText+"</span>",forgot:'<div id="'+t.module+'-forgot" class="login-register">'+t.lang.forgot+"</div>",smsLogin:'<span id="'+t.module+'-smslogin" class="right link-font" >'+t.lang.sms_loginText+"</span>",faceLogin:'<span id="'+t.module+'-facelogin" class="left link-font face-login-link" >'+t.lang.faceLogin+"</span>",prompt:"<span>"+t.lang.prompt+"</span>",regLink:'<div id="'+t.module+'-register" class="login-register">'+t.lang.reg+"</div>",overseaslink:'<div id="overseasLink" class="login-register">'+t.lang.overseas+"</div>",loadingFaceLogin:'<div class="biometry-loadingMask"><p class="biometry-loading">'+t.lang.loading+'</p><div class="biometry-loadingImg"></div></div>',otherLayer:'<div id="'+t.module+'-sotherlogin" class="go-safe-manager"><div class="fastlogin-bordertext">或</div></div><div id="fastlogin-layer-login" class="fastlogin-layer-login"></div>'};return a[e]},_getTemplate:function(){var e=this,t=new Pass.ui.temp({module:e.module}),a='<article class="wrapper" id="'+this.module+'">',i=publicData,o=[];i.action="login",i.loginmerge=1,i.isphone="0",i.dialogVerifyCode="",i.dialogVcodestr="",i.dialogVcodesign="",i.gid=n.guideRandom||"",i.authtoken="",o.push({field:"username",labeltext:e.lang.username,maxLength:60,placeholder:e.lang.usernamePlaceholder,rightDom:e._getIrregularField("userNameRightDom")}),o.push({field:"code",label:!0,labeltext:e.lang.code,type:"tel",code:!0,placeholder:e.lang.mobilenumPlaceholder}),o.push({field:"password",placeholder:e.lang.passwordPlaceholder,pwd:!0,labeltext:e.lang.password,rightDom:e._getIrregularField("passwordRightDom")}),"apps"!=publicData.adapter&&1!=publicData.adapter&&3!=publicData.adapter&&(a+=t._getHeaderField({title:"<span >"+e.lang.title+"</span>",goBack:!0,usual:!0}),a+=t._getHeaderField({title:"<span>"+e.lang.overseas+"</span>",overseas:!0})),a+='<div class="img-div"><div class="logo-dom" id="'+t.getId("loginLogo")+'"></div><div class="user-img"><img src="" id="'+t.getId("userImg")+'"/></div></div>',a+='<div class="mod-content" id="'+t.getId("contentWrapper")+'">',a+='<form autocomplete="off" id="'+t.getId("formWrapper")+'" method="POST" class="form-wrapper pass-form-verify-wrapper m-t25 clearfix">';for(var l=0;l<o.length;l++)a+=t._getRegularField(o[l]);return a+=t._getVCodeField({field:"verifycode",placeholder:e.lang.verifycodePlaceholder,vcodestr:i.vcodestr?"":""}),a+=t._getErrorField(),a+=t._getSubmitField({value:e.lang.submitText}),a+=t._getHiddenField(i),a+="</form>",a+='<div class="clearfix patch-clearfix">',1==publicData.liveAbility&&(a+=e._getIrregularField("faceLogin")),"bdwm"!=publicData.tpl&&(1==publicData.smsLoginLink||"en"==publicData.lang)&&(a+=e._getIrregularField("smsLogin")),a+=t._getLoadingField({module:e.module,html:e.lang.loading}),a+="</div>",1==publicData.androidmerge&&(a+='<div class="prompt-css">'+e._getIrregularField("prompt")+"</div>"),a+="</div>",a+='<div class="register-content" id="'+e.module+'-registerWrapper"><div class="p-b20"><div class="bottom-link">'+(1==publicData.regLink?e._getIrregularField("regLink"):"")+(1==publicData.regLink&&1==publicData.overseas?'<span class="spilit-line">|</span>':"")+(1==publicData.overseas?e._getIrregularField("overseaslink"):"")+(1==publicData.regLink||1==publicData.overseas?'<span class="spilit-line">|</span>':"")+e._getIrregularField("forgot")+"</div>"+e._getIrregularField("otherLayer")+"</div></div>",1==publicData.liveAbility&&(a+=e._getIrregularField("loadingFaceLogin")),a+="</article>"},_checkUserName:function(e){var t=this;$.getJSON(apiDomain+"/wp/api/login/check?clientfrom="+publicData.clientfrom+"&gid="+(n.guideRandom||"")+"&tt="+(new Date).getTime(),e,function(e){e.data.codeString&&t.getVerifyCode(e.data.codeString),e.data.userid&&t._getSmsVerify(e)},"json")},getFaceLoginCheck:function(){if("1"===publicData.liveAbility){var e=this,t={username:n.view._strTrim(e.getElement("username").value),faceCheckRole:"passFe"};$.ajax({url:"/v3/login/facelogincheck",data:t,type:"GET",dataType:"json",success:function(t){t.type&&"face_login"===t.type?(setTimeout(function(){$(e.getElement("facelogin")).show()},0),e.faceLoginData.tempRealname="1"):($(e.getElement("facelogin")).hide(),e.faceLoginData.tempRealname="0"),e.exp_case=t.exp_case,e.livinguname=t.livinguname}})}},getUrlLoginUserName:function(){var e=$.fn.getQueryString("loginUserName");return e=decodeURIComponent(e&&e.indexOf("#")>-1?e.split("#")[0]:e)},getRerocdList:function(){var e=this,t=e.getUrlLoginUserName(),a=apiDomain+"/wp/api/login/history?item=&token="+publicData.token+"&clientfrom="+publicData.clientfrom+"&tpl="+publicData.tpl+"&gid="+(n.guideRandom||"")+"&tt="+(new Date).getTime();$.ajax({url:a,data:{},type:"GET",dataType:"json",success:function(a){var o=[];if(i.histroyRecordList=a.data.loginList,e.historyNum=a.data.loginList.length,""!=t){o.push(t);for(var l=0,s=e.historyNum;s>l;l++)o.push(i.histroyRecordList[l])}else o=i.histroyRecordList;if(o.length>0&&e.getElement("userlist")){e.getElement("userlist").style.display="block",$(e.getElement("username")).val(o[0]);var r={username:n.view._strTrim(o[0]),tpl:publicData.tpl};e._checkUserName(r),e.getFaceLoginCheck()}else""!=t&&($(e.getElement("username")).val(t),$(e.getElement("password")).val())},error:function(){}})},back:function(){$(".usual_login_header").css("display","block"),$(".overseas_login_header").css("display","none"),$(".pass-form-item-username").css("display","-webkit-box"),$(".pass-form-item-code").css("display","none"),$(".other-login-type").css("display","block"),$("#overseasLink").css("display","block"),$(".spilit-line").html()&&$(".spilit-line").css("display","block"),$("#login-label-password").css("padding-right","0").next().val(""),$(".pass-text-label-verifyCode").css("padding-right","0").next().val(""),(1==publicData.smsLoginLink||1==publicData.lPFastRegLink)&&$(".account_login").css("display","block"),n.removeInfoAnimate(this.module),this.backSign=!1,this.stage="usual"},render:function(e,t){var a=this;if(publicData.smsLoginLink=1,(0!=publicData.regLink&&"android"==publicData.client||1==publicData.regLink)&&(publicData.regLink=1),t&&t.code&&($(".pass-label-"+a.module+"-code").html(t.code),a.data.code=t.code,a.data.countrycode=t.countrycode),a.initialized)Pass.switchView(a.module);else{var i=a._getTemplate();"[object string]"==Object.prototype.toString.call(e).toLowerCase()?$("#"+e).append(i):e.append(i),"android"!==publicData.client&&a.getRerocdList(),window.Pass.login=a,this.initialized=!0,Pass.switchView(a.module),a.setEvent(),a._suggestion();var o=!1;a.data.adapter&&"apps"!=a.data.adapter&&1!=a.data.adapter&&3!=a.data.adapter&&(o=!0),n.fastLogin.init(a.module),n.view.inputBlur()}a._setValidator();var l=(window.screen.height,window.innerHeight);if(l>430&&($("html").css("height","100%"),$("body").css("height","100%")),$(a.getElement("registerWrapper")).html()){var s=$(a.getElement("registerWrapper")).offset().top;$(a.getElement("registerWrapper")).height($(window).height()-s).css("visibility","visible")}1==publicData.smsLoginLink&&1==publicData.regLink&&$("#login-sms-span").css("display","inline-block")},initModule:function(){},logPageEffective:function(){var e=this;e.logPEffective||(e.logPEffective=!0,n.client.logPV("num_login_va"))},setVcodeVal:function(e){e&&n&&n.setloginAgainSmsVal&&n.setloginAgainSmsVal(e)},webViewWillAppear:function(){var e="localStorage"in window&&null!==window.localStorage;e&&1==localStorage.getItem("isCallLoginWebAppear")&&n&&n.setloginAgainWebViewWillAppear&&(n.setloginAgainWebViewWillAppear(),localStorage.setItem("isCallLoginWebAppear",""))},setEvent:function(){var e=this;$("[data-role]",$("#"+e.module)).each(function(){n.view.cutPage($(this))});var t=function(t){e.logPageEffective(),e._eventHandler.entrance.apply(e,[t])};$(".pass-text-input",e.getElement("formWrapper")).on({focus:t,blur:t,change:t,keyup:t}),$(".pass-input-clearValue",e.getElement("formWrapper")).each(function(t,a){var a=$(this);n.view.clearInputValueBtn(a.prev(),a,e.getElement("submit"))}),$(".pass-input-clearValue").on("tap",function(){"username"==$(this).prev().attr("name")&&(e.getElement("username-suggest")&&($(e.getElement("username-suggest")).hide(),$(e.getElement("userlist")).removeClass("pass-input-down-userlist")),e.faceLoginData.tempUsername="")}),$("input").on("focus",function(){$("#pageWrapper").css("height","")}),$(e.getElement("formWrapper")).on("submit",t),$(e.getElement("pwdToggle")).on("tap",t),$(e.getElement("verifyCodeImg")).on("tap",t),$(e.getElement("smslogin")).on("touchend",function(t){t.preventDefault(),n.logAll&&n.logAll.logBfb&&n.logAll.logBfb({en:"appsapi-"+e.module+"_smslogin_link",ev:[e.module,"click",publicData.overseas]}),e.module.adapter=publicData.adapter,e.module.client=publicData.client,e.module.from="acclogin",n._getScript("sms_login",function(t){t.render("pageWrapper",e.module)}),$(".cancle-btn").click()}),$(e.getElement("facelogin")).on("touchend",function(t){if(t.preventDefault(),n.logAll.logPass){var a={page:"login",source:"appsapi",tpl:publicData.tpl},i={eventType:"login_faceLogin_click"};n.logAll.logPass(a,i)}e.getUserInfo()}),$(e.getElement("register")).on("touchend",function(t){t.preventDefault(),n.logAll&&n.logAll.logBfb&&n.logAll.logBfb({en:"appsapi-"+e.module+"_reg_link",ev:[e.module,"click",publicData.overseas]}),1==publicData.fastRegLink&&"android"==publicData.client?window.sapi_obj&&window.sapi_obj.action_fast_reg?window.sapi_obj.action_fast_reg():"android"==publicData.client?prompt("{action:{name:'action_fast_reg'}}"):"ios"==publicData.client&&this.deviceClass("action_fast_reg"):n._getScript("reg",function(t){t.render("pageWrapper",e.module)})}),n.view.fullButton($(e.getElement("submit"))),n.view.tap($(e.getElement("forgot")),function(t){if(t.preventDefault(),$("input").blur(),n.logAll&&n.logAll.logBfb&&n.logAll.logBfb({en:"appsapi-"+e.module+"_question_link",ev:[e.module,"click",publicData.overseas]}),n.logAll.logPass){var a={page:"login",source:"appsapi",tpl:publicData.tpl},i={eventType:"login_question_link_click"};n.logAll.logPass(a,i)}Pass._getScript("question",function(e){var t={type:"question"};e.render("pageWrapper",t)})}),n.client.logEffective({keydown:$(".pass-text-input",e.getElement("formWrapper")),tap:$(e.getElement("submit"))},"sapiLogin"),$("#overseasLink").on("touchend",function(t){t.preventDefault(),n.logAll&&n.logAll.logBfb&&n.logAll.logBfb({en:"appsapi-"+e.module+"_overseas_link",ev:[e.module,"click",publicData.overseas]}),$(".usual_login_header").css("display","none"),$(".overseas_login_header").css("display","block"),$(".pass-form-item-username").css("display","none"),$(".pass-form-item-code").css("display","-webkit-box"),$("#login-label-password").css("padding-right","23px").next().val(""),$(".pass-text-label-verifyCode").css("padding-right","23px").next().val(""),$(this).css("display","none"),$(".spilit-line").html()&&$(".spilit-line").css("display","none"),(1==publicData.smsLoginLink||1==publicData.lPFastRegLink)&&$(".account_login").css("display","none"),n.removeInfoAnimate(e.module),e.stage="overseas",e.backSign=!0}),$(".pass-label-login-code").on("touchend",function(t){t.preventDefault(),$("input").blur();var a={};a.module=e.module,Pass._getScript("codelist",function(e){e.render("pageWrapper",a)})})},getUserInfo:function(){var e=this,t={tpl:publicData.tpl,clientfrom:publicData.clientfrom,client:publicData.client,username:e.livinguname};$.ajax({url:apiDomain+"/v3/login/api/prelivinglogin?tt="+(new Date).getTime(),data:t,type:"POST",success:function(t){var t=JSON.parse(t);"0"===t.errInfo.no?t.data.authtoken&&($(e.getElement("authtoken")).val(t.data.authtoken),e.identification(t.data.authtoken)):e._validateError({msg:t.errInfo.msg})},error:function(){e._validateError({msg:e.lang.networkError})}})},identification:function(e){var t=this,a=publicData.subpro||"pp";if("ios"==publicData.client)n.client.deviceClass("sapi_biometrics_identification_with_authtoken",{type:1,subpro:a,authtoken:encodeURIComponent(e)},function(e,a){t._validateError({msg:""}),$(".biometry-loadingMask").show(),t.upliving(a.credentialKey,a.authsid)},function(e,a){if(-204!=a.errno){var n=a.errmsg;-301==a.errno||-302==a.errno||-306==a.errno?n="登录失败，请确保本人操作，或尝试其他登录方式":-303==a.errno&&(n="刷脸功能获取失败，请重新尝试"),t._validateError({msg:n})}});else{var i=JSON.parse(prompt('{action: {name: "sapi_biometrics_identification_with_authtoken", params: ["1","'+e+'","0","'+a+'"]}}'));if(0===i.errno)t._validateError({msg:""}),$(".biometry-loadingMask").show(),t.upliving(i.credentialKey,i.authsid);else{var o=i.errmsg;-301==i.errno||-302==i.errno||-306==i.errno?o="登录失败，请确保本人操作，或尝试其他登录方式":-303==i.errno&&(o="刷脸功能获取失败，请重新尝试"),t._validateError({msg:o})}}},upliving:function(e){var t=this,a={};a.callbackkey=e,a.tpl=publicData.tpl,a.clientfrom=publicData.clientfrom,a.client=publicData.client,a.token=$(t.getElement("authtoken")).val(),a.username=t.livinguname,a.faceLoginCase=t.exp_case||"none",$.ajax({url:"/v3/login/api/livinglogin",data:a,type:"POST",success:function(e){var e=JSON.parse(e);if(0==e.errInfo.no)if(t._validateError({msg:""}),$("#login").hide(),"ios"==publicData.client||"android"==publicData.client){var a=e.data.xml.replace("<account></account>","<account>"+t.username+"</account>").replace("<password></password>","<password></password>").replace("<livinguname></livinguname>","<livinguname>"+encodeURIComponent(e.data.livinguname)+"</livinguname>");n.client.success(a)}else document.location=publicData.u;else $(".biometry-loadingMask").hide(),t._validateError({msg:e.errInfo.msg})}})},_getUserImg:function(e){var t=this;$(t.getElement("loginLogo")).hide(),$(t.getElement("userImg")).attr("src","https://gss0.baidu.com/7Ls0a8Sm2Q5IlBGlnYG/sys/portrait/item/"+("overseas"==t.stage?t.data.countrycode:"")+e+"?isuname=1&tt="+(new Date).getTime()).parent().show()},_getLogoImg:function(){var e=this;$(e.getElement("userImg")).parent().hide(),$(e.getElement("loginLogo")).show()},_suggestion:function(){function e(){var e="",t=n.histroyRecordList;if(""==$(this).val())return void(n.getElement("username-suggest")&&($(n.getElement("username-suggest")).hide(),$(document).off("click",r),$(n.getElement("userlist")).removeClass("pass-input-down-userlist")));if(t.length>0&&$.each(t,function(t,a){0==a.indexOf(l.val())&&a!=l.val()&&(e+='<li><a href="###" data="'+a+'">'+a+'<span class="pass-remove-item"></span></a></li>')}),""==e){var g=o.exec(l.val()),c=l.val();if(g)if(g[2])for(var d=0,u=i.length;u>d;d++)0==i[d].indexOf(g[2])&&i[d]!=g[2]&&(e+='<li><a href="###">'+g[1]+"@"+i[d]+"</a></li>");else for(var d=0,u=i.length;u>d;d++)e='<li><a href="###">'+c+i.join('</a></li><li><a href="###">'+c)+"</a></li>"}if(""==e)$(n.getElement("username-suggest")).hide(),$(document).off("click",r),$(n.getElement("userlist")).removeClass("pass-input-down-userlist");else{n.getElement("username-suggest")||(l.parent().append(s),$(n.getElement("username-suggest")).on("click",a));var p=n.getElement("username-suggest");$(p).html(e),$(p).is(":hidden")&&$(p).show(),$(n.getElement("userlist")).addClass("pass-input-down-userlist"),$(document).on("click",r)}}function t(){var e="",t=n.histroyRecordList;if(""!=$(this).val()||0!=t.length){t.length>0&&$.each(t,function(t,a){e+='<li><a href="###" data="'+a+'">'+a+'<span class="pass-remove-item"></span></a></li>'}),n.getElement("username-suggest")||(l.parent().append(s),$(n.getElement("username-suggest")).on("click",a));var i=n.getElement("username-suggest");$(i).html(e),$(i).is(":hidden")&&$(i).show(),$(n.getElement("userlist")).addClass("pass-input-down-userlist"),$(document).on("click",r)}}function a(e){var t=e.target,a=n.histroyRecordList;if("a"==t.tagName.toLowerCase()){var i=$(t).attr("data")?$(t).attr("data"):$(t).html();l.val(i),$(n.getElement("username")).change(),n.getFaceLoginCheck(),$(n.getElement("password")).focus(),$(n.getElement("username-suggest")).hide(),$(document).off("click",r),$(n.getElement("userlist")).removeClass("pass-input-down-userlist")}else if(t.className.indexOf("pass-remove-item")>-1){var i=$(t).parent().attr("data"),o=$.inArray(i,a);a.splice(o,1),$(t).parent().remove(),$.getJSON(apiDomain+"/wp/api/login/history?item="+i+"&token="+publicData.token+"&tpl="+publicData.tpl+"&clientfrom="+publicData.clientfrom+"&v="+(new Date).getTime(),{},function(){},"json"),0==n.getElement("username-suggest").getElementsByTagName("li").length&&($(n.getElement("username-suggest")).hide(),$(document).off("click",r),$(n.getElement("userlist")).removeClass("pass-input-down-userlist"))}e.preventDefault()}var n=this,i=["163.com","qq.com","gmail.com","sohu.com","126.com","sina.com","hotmail.com","139.com"],o=/^([a-zA-Z0-9_.\-+]+)@(.*)$/,l=$(n.getElement("username")),s='<ul class="pass-input-suggest" id="login-username-suggest"></ul>';l.on({focus:e,keyup:e}),$(n.getElement("userlist")).on("click",function(){!n.getElement("username-suggest")||$(n.getElement("username-suggest")).is(":hidden")?t():($(n.getElement("username-suggest")).hide(),$(document).off("click",r),$(n.getElement("userlist")).removeClass("pass-input-down-userlist"))});var r=function(){$(event.target).closest("#login-username-suggest").size()||$(event.target).closest("#login-username").size()||$(event.target).closest("#login-userlist").size()||($(n.getElement("username-suggest")).hide(),$(document).off("click",r),$(n.getElement("userlist")).removeClass("pass-input-down-userlist"))}},getVerifyCode:function(e){var t=this;if(t.getElement("verifyCodeWrapper").style.display="",$(t.getElement("registerWrapper")).html()){var a=$(t.getElement("registerWrapper")).offset().top;$(t.getElement("registerWrapper")).height($(window).height()-a).css("visibility","visible")}if(e&&e.length)$(t.getElement("verifyCodeImg")).attr("src",apiDomain+"/cgi-bin/genimage?"+e+"&v="+(new Date).getTime()),t.getElement("vcodestr")||$(t.getElement("hiddenFields")).append('<input type="hidden" id="'+t.module+'-vcodestr" name="vcodestr" value="" />'),t.getElement("vcodestr").value=e;else{var i=$(t.getElement("verifyCodeImg")),o=i.attr("src").split("&")[0];i.attr("src",o+"&v="+(new Date).getTime())}$(t.getElement("verifycode")).val(""),n.view.setSubmitStyle(t)},clearVerifyCode:function(){var e=this;e.getElement("vcodestr").value=""},_validateError:function(e){var t=this;n.infoAnimate(t.module,e.msg),n.view.setSubmitStyle(t),e.field?(t.error.field=e.field,$(e.field).parents("p.pass-form-item").addClass("pass-form-item-error")):t.error.field=""},_validateSuccess:function(e){{var t=this;$(t.getElement("errorWrapper"))}e.msg?n.infoAnimate(t.module,e.msg):e.field==t.error.field&&(n.removeInfoAnimate(t.module),t.error.field="")},_setValidator:function(){var e=this;e.validateRules={username:{rules:["required"],asyncRule:e._asyncValidate.checkUserName,desc:e.lang.username},code:{rules:"+86"==e.data.code?["required","phoneformatReg"]:["required","numformat"],desc:e.lang.tel},password:{rules:["required"],desc:e.lang.passwordError},verifycode:{rules:["required"],desc:e.lang.verifycode}},e._validator.addRule("phoneformatReg",function(){var t=n.view._strTrim(e.getElement("code").value);return/^1[34578]\d{9}$/.test(t)?!0:!1}),e._validator.addMsg("phoneformatReg",e.lang.phoneformatRegError),e._validator.addRule("numformat",function(){var t=n.view._strTrim(e.getElement("code").value);return/^\d+$/.test(t)?!0:!1}),e._validator.addMsg("numformat",e.lang.phoneformatRegError),e._validator.init(e,e.validateRules)},_asyncValidate:{},sureAccountType:function(){var t=this,a='<div class="page-dialog-content"><p class="page-dialog-title">提示</p><p>'+t.lang.usernameOrMobile+'</p></div><div class="dialog-content-btn tcenter"><input type="button" value="'+t.lang.mobile+'" class="pass-button-auto pass-dialog-btnleft" id="account-type-phone"><input type="button" value="'+t.lang.accountname+'" class="pass-button-auto pass-dialog-btnright" id="account-type-username"></div>';e=new Pass.ui.dialog({width:"90%",mask:!0,content:a}),n.view.tap($("#account-type-phone"),function(){t.getElement("loginmerge").value=0,t.getElement("isphone").value=1,e.remove(),$(t.getElement("formWrapper")).submit()}),n.view.tap($("#account-type-username"),function(){t.getElement("loginmerge").value=0,t.getElement("isphone").value=0,e.remove(),$(t.getElement("formWrapper")).submit()}),$("#account-type-phone,#account-type-username").each(function(){n.view.touch($(this),"pass-button-auto-active")})},sureMobile:function(e){var a=this,i='<div class="page-dialog-content"><p class="page-dialog-title">提示</p><p><span class="pass-dialog-orangecolor">'+e.mobileNum+"</span>"+a.lang.sureMobileMsg+'</p></div><div class="dialog-content-btn tcenter"><input type="button" value="'+a.lang.mobileSure+'" class="pass-button-auto pass-dialog-btnleft" id="mobile-sure-btn"><input type="button" value="'+a.lang.appealBtn+'" class="pass-button-auto pass-dialog-btnright" id="appeal-btn"></div>';t=new Pass.ui.dialog({width:"90%",mask:!0,content:i}),n.view.tap($("#mobile-sure-btn"),function(){t.remove(),e.successFn&&e.successFn()}),n.view.tap($("#appeal-btn"),function(){t.remove(),e.otherFn&&e.otherFn()}),$("#mobile-sure-btn,#appeal-btn").each(function(){n.view.touch($(this),"pass-button-auto-active")})},_getSmsVerify:function(e){var t=this;t.globaTemp=e||{};var a=e.data.phone,i=e.data.userid,o={mobilenum:a,tpl:publicData.tpl,isuserid:1,username:i,sub_source:"leadsetpwd",clientfrom:"native",dialogVerifyCode:t.getElement("dialogVerifyCode").value,vcodesign:t.getElement("dialogVcodesign").value,vcodestr:t.getElement("dialogVcodestr").value};$.post(apiDomain+"/wp/api/login/sms?v="+(new Date).getTime(),o,function(e){if(t.getElement("dialogVcodesign").value="",t.getElement("dialogVcodestr").value="",n.logAll&&n.logAll.logBfb&&n.logAll.logBfb({en:"appsapi-"+t.module+"_smsLogin_request",ev:[t.module,"request",e.errInfo.no,e.errInfo.msg]}),0==e.errInfo.no)$(t.getElement("loadingMask")).hide(),$(t.getElement("loading")).hide(),e.data.mobilenum=a,e.data.isuserid=1,e.data.checkUserid=i,e.data.sub_source="leadsetpwd",e.data.clientfrom="native",n._getScript("sms_verify",function(t){t.render("pageWrapper",e.data)});else if(50020==e.errInfo.no||50021==e.errInfo.no){$(t.getElement("loadingMask")).hide(),$(t.getElement("loading")).hide(),e.data.tempid=e.data.tempid;var o=e.data.vcodestr;e.data.verifyCodeData={mask:!0,vcodestr:o,from_module:"login",verifySuccessFn:function(a){t.getElement("dialogVerifyCode").value=a||"",t.getElement("dialogVcodesign").value=e.data.vcodesign,t.getElement("dialogVcodestr").value=o,t._getSmsVerify(t.globaTemp||{}),login_vcode.remove()}},login_vcode=new n.ui.vcode(e.data.verifyCodeData)}},"json")},_disablePwdCut:function(){var e=this,t=$(e.getElement("password"));"text"==t.attr("type")&&(t.on("longTap",function(){t.attr("type","password"),$(e.getElement("pwdToggle")).removeClass("pass-input-pwdToggle-show")}),t.on("copy",function(){return!1}),t.on("cut",function(){return!1}))},_eventHandler:function(){var e=this,t={focus:function(t){"verifycode"!=t&&n.view.labelFocus(e,t),navigator.userAgent.indexOf("Coolpad")>-1&&"verifycode"==t&&$("#login").addClass("login-coolpad"),"username"===t&&($(e.getElement("facelogin")).hide(),e.faceLoginData.tempUsername=$(e.getElement("username")).val())},blur:function(t){if("verifycode"!=t&&n.view.labelBlur(e,t),navigator.userAgent.indexOf("Coolpad")>-1&&"verifycode"==t&&setTimeout(function(){$("#login").removeClass("login-coolpad")},10),"username"===t&&"1"===publicData.liveAbility){if(""===$(e.getElement("username")).val())return;e.faceLoginData.tempUsername===$(e.getElement("username")).val()&&"1"===e.faceLoginData.tempRealname?$(e.getElement("facelogin")).show():e.faceLoginData.tempUsername!==$(e.getElement("username")).val()&&e.getFaceLoginCheck()}n.view.setSubmitStyle(e,0)},keyup:function(t){n.view.setSubmitStyle(e);var a={username:"num_login_wuna",password:"num_login_wpwd",verifycode:"num_login_gvcd"};e["logPNum"+t]||(e["logPNum"+t]=!0,n.client.logPV(a[t]))}},i={change:{username:function(){var t=e.getElement("username");e.pwdErrorCount=0,$.getJSON(apiDomain+"/wp/api/login/check?clientfrom="+publicData.clientfrom+"&gid="+(n.guideRandom||"")+"&tt="+(new Date).getTime(),{username:n.view._strTrim(t.value),tpl:publicData.tpl},function(t){t.data.codeString&&e.getVerifyCode(t.data.codeString),t.data.userid&&e._getSmsVerify(t)},"json"),e.getElement("loginmerge").value=1,e.getElement("isphone").value=0},code:function(){var t=e.getElement("code");e.validate("code",{success:function(){$.getJSON(apiDomain+"/wp/api/login/check?clientfrom="+publicData.clientfrom+"&gid="+(n.guideRandom||"")+"&tt="+(new Date).getTime(),{username:n.view._strTrim(t.value),tpl:publicData.tpl,countrycode:e.data.countrycode},function(t){t.data.codeString&&e.getVerifyCode(t.data.codeString),t.data.userid&&e._getSmsVerify(t)},"json")}})}},tap:{verifyCodeImg:function(t,a){e.getVerifyCode(),n.logAll&&n.logAll.logBfb&&n.logAll.logBfb({en:"appsapi-"+e.module+"_verifyChange",ev:[e.module,"click",publicData.overseas]}),a.preventDefault()},pwdToggle:function(t){var a=$(e.getElement("password"));"text"==a.attr("type")?(a.attr("type","password"),$(e.getElement(t)).removeClass("pass-input-pwdToggle-show")):(a.attr("type","text"),$(e.getElement(t)).addClass("pass-input-pwdToggle-show"),e._disablePwdCut())}},submit:function(t){var o=e.getElement("submit");t.preventDefault(),n.client.logPV("num_login_submit"),o.disabled||e.validateAll({success:function(){function l(){s.logLoginType="sdk_login",s.passAppHash=publicData.passAppHash||"",s.passAppVersion=publicData.passAppVersion||"",s.cv="170601",s.faceLoginCase=e.exp_case||"none";var l=(new Date).getTime();$.post(apiDomain+"/wp/api/login?v="+(new Date).getTime()+"&cv=170601",s,function(g){var c=(new Date).getTime()-l;if(o.disabled=!1,n.logAll&&n.logAll.logBfb&&n.logAll.logBfb({en:"appsapi-"+e.module+"_request",ev:[e.module,"request",g.errInfo.no,g.errInfo.msg]}),clearTimeout(e.submitTimer5s),clearTimeout(e.submitTimer15s),"0"==g.errInfo.no&&"1"==g.data.realName&&(g.errInfo.no=400408),0==g.errInfo.no){if($(e.getElement("loadingMask")).hide(),$(e.getElement("loading")).hide(),"ios"==publicData.client||"android"==publicData.client){var d=g.data.xml.replace("<account></account>","<account>"+s.username+"</account>").replace("<password></password>","<password>"+r+"</password>").replace("<livinguname></livinguname>","<livinguname>"+encodeURIComponent(g.data.livinguname)+"</livinguname>");n.client.success(d)}else document.location=publicData.u;e.getElement("loginmerge").value=1,e.getElement("isphone").value=0}else{if(n.getSeverTime(),$(e.getElement("loadingMask")).hide(),$(e.getElement("loading")).hide(),400101==g.errInfo.no||400023==g.errInfo.no)g.data.account=s.username,g.data.password=s.password,g.data.errno=g.errInfo.no,n._getScript("verify",function(e){e.render("pageWrapper",g.data)}),e.getElement("loginmerge").value=1,e.getElement("isphone").value=0;else{if(50018==g.errInfo.no&&e.serverTimeCount<=5)return++e.serverTimeCount,void i[t.type].apply($(t.target),[t]);if(400032==g.errInfo.no)g.data.guide=1,g.data.account=s.username,g.data.password=s.password,g.data.livinguname=g.data.livinguname,n._getScript("bind",function(e){e.render("pageWrapper",g.data)}),e.getElement("loginmerge").value=1,e.getElement("isphone").value=0;else if(400024==g.errInfo.no)g.data.account=s.username,g.data.password=s.password,n._getScript("forcedBind",function(e){e.render("pageWrapper",g.data)}),e.getElement("loginmerge").value=1,e.getElement("isphone").value=0;else if(400408==g.errInfo.no)g.data.account=s.username,g.data.password=s.password,g.data.realnameNeed=1,g.data.loginProxy=g.data.ppU,g.data.realnameverifyemail?n._getScript("verify",function(e){e.render("pageWrapper",g.data)}):n._getScript("realName",function(e){e.render("pageWrapper",g.data)});else if(400401==g.errInfo.no)e.sureAccountType();else if(400036==g.errInfo.no){var u={mobileNum:g.data.phone||"",successFn:function(){var e=new Image;if(e.onerror=e.onload=function(){e=null},e.src="https://passport.baidu.com/v.gif?type=mobileSureNative&clientfrom="+publicData.clientfrom+"&client="+publicData.client+"&tpl="+(publicData.tpl||"")+"&tt="+(new Date).getTime(),"ios"==publicData.client||"android"==publicData.client){var t=g.data.xml.replace("<account></account>","<account>"+s.username+"</account>").replace("<password></password>","<password>"+r+"</password>").replace("<livinguname></livinguname>","<livinguname>"+encodeURIComponent(g.data.livinguname)+"</livinguname>");n.client.success(t)}else document.location=publicData.u},otherFn:function(){var e=new Image;e.onerror=e.onload=function(){e=null},e.src="https://passport.baidu.com/v.gif?type=appealMobileNative&clientfrom="+publicData.clientfrom+"&client="+publicData.client+"&tpl="+(publicData.tpl||"")+"&tt="+(new Date).getTime(),document.location.href=g.data.appealurl
}};e.sureMobile(u)}else if(400413==g.errInfo.no||400414==g.errInfo.no)g.data.loginType="password",n._getScript("secondCardVerify",function(e){e.render("pageWrapper",g.data)});else if($.inArray(g.errInfo.no,["100002","110001","400012"])>-1){var p='<div class="pass-dialog-content pass-fast-dialog"><p class="page-dialog-title">提示</p><p id="fastdialog-msg">'+g.errInfo.msg+'</p></div><div class="dialog-content-btn"><a class="dialog-banner-mainbtn" id="dialogmsg-ok-btn">确定</a></div>';a=new Pass.ui.dialog({width:"90%",mask:!0,content:p}),$("#dialogmsg-ok-btn").live("click",function(){a.remove()})}else if($.inArray(g.errInfo.no,["50028","50029"])>-1){var p='<div class="page-dialog-content"><p class="page-dialog-title">提示</p><p>帐号或密码多次输错，请3个小时之后再试或找回密码</p></div><div class="dialog-content-btn tcenter"><input type="button" value="取消" class="pass-button-auto pass-dialog-btnleft" id="dialogmsg-cancel-btn"><input type="button" value="找回密码" class="pass-button-auto pass-dialog-btnright" id="dialogmsg-getpass-btn"></div>';a=new Pass.ui.dialog({width:"90%",mask:!0,content:p}),$("#dialogmsg-cancel-btn").live("touchend",function(e){if(e.preventDefault(),n.logAll.logPass){var t={page:"login",source:"appsapi",tpl:publicData.tpl},i={eventType:"pwdError_cancelClick"};n.logAll.logPass(t,i)}a.remove()}),$("#dialogmsg-getpass-btn").live("touchend",function(e){if(e.preventDefault(),n.logAll.logPass){var t={page:"login",source:"appsapi",tpl:publicData.tpl},i={eventType:"pwdError_getpassClick"};n.logAll.logPass(t,i)}var o=window.location.href,l=location.protocol+"//"+location.hostname,s="?tpl="+publicData.tpl+"&client="+publicData.client+"&clientfrom="+publicData.clientfrom,r=l+"/passport/getpass"+s;if(a.remove(),1==publicData.enableExternalWeb){var g=r+"&enableExternalWeb=1&adapter=3";"android"==publicData.client?prompt('{"action":{"name":"action_load_external_webview",params:[找回密码,"'+g+'"]}}'):n.client.deviceClass("action_load_external_webview",{placeholderTitle:"找回密码",url:encodeURIComponent(g)})}else window.location.href=r+"&newForgetPwd=no&redireu="+encodeURIComponent(o)})}else if(72200==g.errInfo.no){var p='<div class="page-dialog-content"><p class="page-dialog-title">提示</p><p>'+g.errInfo.msg+'</p></div><div class="dialog-content-btn tcenter"><input type="button" value="取消" class="pass-button-auto pass-dialog-btnleft" id="dialogmsg-cancel-btn"><input type="button" value="去解冻" class="pass-button-auto pass-dialog-btnright" id="dialogmsg-unfreeze-btn"></div>';a=new Pass.ui.dialog({width:"90%",mask:!0,content:p}),$("#dialogmsg-cancel-btn").live("touchend",function(e){e.preventDefault(),a.remove()}),$("#dialogmsg-unfreeze-btn").live("touchend",function(e){e.preventDefault();var t=window.location.href,i=location.protocol+"//"+location.hostname,o="?tpl="+publicData.tpl+"&client="+publicData.client+"&clientfrom="+publicData.clientfrom,l=i+"/wp/v3/ucenter/accountunfreezeapply"+o;if(a.remove(),1==publicData.enableExternalWeb){var s=l+"&enableExternalWeb=1&adapter=3";"android"===publicData.client?prompt('{"action":{"name":"action_load_external_webview",params:[帐号解冻,"'+s+'"]}}'):n.client.deviceClass("action_load_external_webview",{placeholderTitle:"帐号解冻",url:encodeURIComponent(s)})}else window.location.href=l+"&newForgetPwd=no&redireu="+encodeURIComponent(t)})}else(g.errInfo.msg.indexOf("系统繁忙")>-1||$.inArray(g.errInfo.no,["500004"])>-1)&&(g.errInfo.msg+='，<a data-role="feedback" data-no="'+g.errInfo.no+'">'+e.lang.feedback+"</a>"),e._validateError({msg:g.errInfo.msg}),$("[data-role]",$("#"+e.module+"-errorWrapper")).each(function(){$(this).on("click",function(){var e="feedback"==$(this).attr("data-role")?"num_login_tf":"num_login_ts";n.client.logPV(e)});var e=$(this).attr("data-no");n.view.cutPage($(this),{no:e})})}g.data.codeString&&e.getVerifyCode(g.data.codeString),$.inArray(g.errInfo.no,["230048","400010","400010"])>-1?(e.getElement("username").focus(),e.getElement("verifycode").value=""):$.inArray(g.errInfo.no,["400011","400015","400038"])>-1?($(e.getElement("password")).attr("type","text"),$(e.getElement("pwdToggle")).addClass("pass-input-pwdToggle-show"),e.getElement("verifycode").value="",e._disablePwdCut(),++e.pwdErrorCount>1&&"licai"!=publicData.tpl&&"baiduwalletapp"!=publicData.tpl&&(n.removeInfoAnimate(e.module),n.logAll&&n.logAll.logBfb&&n.logAll.logBfb({en:"appsapi-"+e.module+"_secLogin_guide",ev:[e.module,"click",publicData.overseas]}),Pass._getScript("login_again",function(e){var t={mobile:g.data.mobile,mobileHidden:g.data.mobileHidden,idcard:g.data.idcard,countrycode:g.data.countrycode,liveUsername:g.data.liveUsername};e.render("pageWrapper",t)}))):$.inArray(g.errInfo.no,["310006","500002","500001"])>-1&&(e.getElement("verifycode").value="",e.getElement("verifycode").focus())}o.value=e.lang.submitText,("ios"==publicData.client||"android"==publicData.client)&&(400032==g.errInfo.no&&(g.errInfo.no=0),n.client.logAjax("ax_login_sb",c,g.errInfo.no))},"json"),e.submitTimer5s=setTimeout(function(){o.value=e.lang.submitLoading5s},5e3),e.submitTimer15s=setTimeout(function(){o.disabled=!1,o.value=e.lang.submitText,$(e.getElement("loadingMask")).hide(),$(e.getElement("loading")).hide(),e._validateError({msg:e.lang.networkError}),n.getSeverTime()},15e3)}e.getElement("submit").focus(),o.disabled=!0,n.logAll&&n.logAll.logBfb&&n.logAll.logBfb({en:"appsapi-"+e.module+"_submit",ev:[e.module,"click",publicData.overseas]}),n.removeInfoAnimate(e.module);var s=$(e.getElement("formWrapper")).formJson();$(e.getElement("loadingMask")).show(),$(e.getElement("loading")).show(),"overseas"==e.stage?(s.username=n.view._strTrim(s.code),s.isphone=1,s.countrycode=e.data.countrycode):s.countrycode="",s.username=n.view._strTrim(s.username),s.verifycode=n.view._strTrim(s.verifycode);var r=s.password;try{n.serverTime?(s.password=s.password+n.serverTime,r+=n.serverTime,s.servertime=n.serverTime):(n.getSeverTime(),s.password=s.password+n.serverTime,r+=n.serverTime,s.servertime=n.serverTime),setMaxDigits(131);var g=new RSAKeyPair("10001","",e.rsa);s.password=encryptedString(g,s.password),r=encryptedString(g,r)}catch(c){}l()}},!0)}};return{entrance:function(a){e=this;var n=($(a.target),a.target.name);if(!n&&a.target.id){var o=a.target.id.match(/login-(.*)$/);o&&(n=o[1])}n&&(t.hasOwnProperty(a.type)&&t[a.type].apply($(a.target),[n,a]),i.hasOwnProperty(a.type)&&("function"==typeof i[a.type]&&i[a.type].apply($(a.target),[a]),i[a.type].hasOwnProperty(n)&&i[a.type][n].apply($(a.target),[n,a])))}}}()}),window.Pass.login=i,window.Pass.client.fillLoginNameFn=function(e){$(window.Pass.login.getElement("username")).val(e)},i}); Pass._define("reg",function(){var e,t=Pass,a={error:{field:""},data:{code:"+86",countrycode:""},module:"reg",reg_vcode:"",sms_vcode:"",rsa:"B3C61EBBA4659C4CE3639287EE871F1F48F7930EA977991C7AFE3CC442FEA49643212E7D570C853F368065CC57A2014666DA8AE7D493FD47D171C0D894EEE3ED7F99F6798B7FFD7B5873227038AD23E3197631A8CB642213B9F27D4901AB0D92BFA27542AE890855396ED92775255C977F5C302F1E7ED4B1E369C12CB6B1822F"};return a=$.extend(a,Pass.validator),a=$.extend(a,{lang:{"zh-cn":{title:2==publicData.regtype?"输入用户名":"注册",titleBar:"输入",words:"登录",username:"用户名",usernamePlaceholder:"用户名",mobilenum:"手机号码",mobilenumPlaceholder:"请输入手机号码",phoneformatRegError:"您输入的手机号格式有误，请重新输入",password:"密码",passwordPlaceholder:"6-14位，建议数字、字母、符号组合",submitTextVerify:"获取手机验证码",submitTextReg:"注册",loading:"请等待...",regDialogVerifyCodeErr:"验证码为空",networkNoText:"网络连接失败，请检查您的网络设置并稍后再试。",fastLogin:"注册",otherBaidu:"注册百度帐号，即可登录所有百度产品",regTip:"注册成功后，可用其登录百度所有产品,如贴吧、文库、知道、地图等",otherReg:'您还可以通过<a id="#{module}-upstreamReg">手机快速注册</a>的方式完成注册',readAndAccept:"阅读并同意",agreement:"百度用户协议",personal_agreement:"百度隐私权保护声明",and:"及",cancel:"取消",feedback:"问题反馈",smsLogin:"短信登录",agree:"请勾选“阅读并接受百度用户协议”"},en:{title:"Sign Up",titleBar:"Enter",words:"Login",username:"Account",usernamePlaceholder:"Account",mobilenum:"Phone",mobilenumPlaceholder:"Phone ",phoneformatRegError:"Incorrect phone format",password:"Password",passwordPlaceholder:"6-14 Alaphabets, numbers and symbols",submitTextVerify:"Next",submitTextReg:"Sign Up",loading:"Waiting",regDialogVerifyCodeErr:"Code is empty",networkNoText:"Network error",fastLogin:"Sign Up",otherBaidu:"This Baidu account can be used in all Baidu app.",regTip:"This Baidu account can be used in all Baidu app.",otherReg:'You can use <a id="#{module}-upstreamReg">expedite cellphone registration</a> to register.',readAndAccept:"I agree to",personal_agreement:"Baidu Privacy Statement",agreement:"Baidu Service Agreement",cancel:"Cancel",and:"and",feedback:"Feedback",smsLogin:"Login via SMS",agree:'Please check "Read and accept Baidu User Agreement"'}}[window.publicData.lang||"zh-cn"],getElement:function(e){return document.getElementById(this.module+"-"+e)},_getIrregularField:function(e){var t=this,a={phoneRightDom:'<span id="'+t.module+'-userSelect" class="pass-input-aide pass-input-userSelect"></span>',passwordRightDom:'<span id="'+t.module+'-pwdToggle" class="pass-input-aide pass-input-pwdToggle"></span>',passportTip:'<p class="f14 m-b10 gray">'+t.lang.regTip+"</p>",regAgreement:'<p class="f14 gray"><input type="checkbox" name="agree" id="'+t.module+'-agree"/>&nbsp;'+t.lang.readAndAccept+'<a data-role="agreement" class="agree-link">'+t.lang.agreement+"</a>&nbsp;"+t.lang.and+'&nbsp;<a data-role="personal_agreement" class="agree-link">'+t.lang.personal_agreement+"</a></p>",upstreamReg:'<p class="f14 m-t20 gray hide" id="'+t.module+'-upstreamRegWrapper">'+t.lang.otherReg.replace("#{module}",t.module)+"</p>"};return a[e]},_getTemplate:function(){var e=this,a=new Pass.ui.temp({module:e.module}),n='<article class="wrapper" id="'+this.module+'">',i=publicData,l=[];i.tempid="",i.agreement=1,i.nopsw=publicData.nopsw||"",i.regVcodesign="",i.regVcodestr="",i.regDialogVerifyCode="",i.smsVcodesign="",i.smsVcodestr="",i.smsDialogVerifyCode="",i.gid=t.guideRandom||"",l.push(2==publicData.regtype?{field:"username",maxLength:14,placeholder:e.lang.usernamePlaceholder}:1!=publicData.regdomestic&&1==publicData.overseas?{field:"mobilenum",label:!0,type:"tel",code:!0,labeltext:"+86",placeholder:e.lang.mobilenumPlaceholder}:{field:"mobilenum",type:"tel",placeholder:e.lang.mobilenumPlaceholder}),"apps"!=publicData.adapter&&1!=publicData.adapter&&3!=publicData.adapter&&(n+=a._getHeaderField({title:2==publicData.regtype?e.lang.titleBar+e.lang.username:e.lang.fastLogin,goBack:!0})),n+='<div class="img-div"><span  class="logo-dom"></span></div>',n+='<div class="mod-content" id="'+a.getId("contentWrapper")+'">',n+='<form autocomplete="off" id="'+a.getId("formWrapper")+'" method="POST" class="pass-form-wrapper m-t25 clearfix">';for(var o=0;o<l.length;o++)n+=a._getRegularField(l[o]);return n+=a._getErrorField(),n+=a._getSubmitField({value:2==publicData.regtype?e.lang.submitTextReg:e.lang.submitTextVerify}),n+=a._getHiddenField(i),n+="</form>",n+=e._getIrregularField("regAgreement"),n+=e._getIrregularField("upstreamReg"),n+=a._getLoadingField({module:e.module,html:e.lang.loading}),n+="</div>",n+='<div class="register-content" id="'+e.module+'-registerWrapper"><div class="other-baidu-reg" id="other-baidu-reg"><div><span class="other-text-reg">'+e.lang.otherBaidu+'</span></div><div class="img-item"><span class="item-icon item-shoubai"></span><span class="item-icon item-tieba"></span><span class="item-icon item-yun"></span><span class="item-icon item-map"></span><span class="item-icon item-waimai"></span><span class="item-icon item-nuomi"></span><span class="item-icon item-purse"></span></div></div></div>',n+="</article>"},render:function(e,a){var n=this;if(n.initialized)Pass.switchView(n.module);else{var i=n._getTemplate();"[object string]"==Object.prototype.toString.call(e).toLowerCase()?$("#"+e).append(i):e.append(i),this.initialized=!0,Pass.switchView(n.module),n.setEvent(),Pass._getScript("login")}a&&a.code&&($(".pass-label-"+n.module+"-code").html(a.code),n.data.code=a.code,n.data.countrycode=a.countrycode),n._setValidator();var l=window.screen.height,o=window.innerHeight,r=64;if(o>l-r&&("apps"==publicData.adapter||1==publicData.adapter||3==publicData.adapter)&&"ios"==publicData.client){var s=document.getElementById("other-baidu-reg");s.style.bottom="79px"}var d=$(window).height();d>430&&($("html").css("height","100%"),$("body").css("height","100%"));var g=$(n.getElement("registerWrapper")).offset().top;$(n.getElement("registerWrapper")).height($(window).height()-g).css("visibility","visible"),t.view.inputBlur()},getPhone:function(){var e=this;if("android"==publicData.client){var a=t.client.deviceClass("get_preset_phone_number");$(e.getElement("mobilenum")).val(a?t.view._substrMobile(a):""),a&&1==publicData.nopsw&&t.view.setSubmitStyle(e,0)}else"ios"==publicData.client&&t.client.deviceClass("get_preset_phone_number",{},function(a,n){var n=n||{},i=n.result;$(e.getElement("mobilenum")).val(i?t.view._substrMobile(i):""),i&&1==publicData.nopsw&&t.view.setSubmitStyle(e,0)})},logPageEffective:function(){var e=this;e.logPEffective||(e.logPEffective=!0,t.client.logPV("num_reg_va"))},setEvent:function(){var e=this;$("[data-role]",$("#"+e.module)).each(function(){t.view.cutPage($(this))});var a=function(t){e.logPageEffective(),e._eventHandler.entrance.apply(e,[t])};$(".pass-text-input",e.getElement("formWrapper")).on({focus:a,blur:a,change:a,keyup:a}),$(".pass-input-clearValue",e.getElement("formWrapper")).each(function(a,n){var n=$(this);t.view.clearInputValueBtn(n.prev(),n,e.getElement("submit"))}),e.getPhone(),2!=publicData.regtype&&(t.view._mobilenumFormat(e,"mobilenum",function(){1==publicData.nopsw&&("+86"==e.data.code&&$(e.getElement("mobilenum")).val().replace(/\s/g,"").length>=11||"+86"!=e.data.code&&$(e.getElement("mobilenum")).val().replace(/\s/g,"").length>=1)?t.view.setSubmitStyle(e,0):1==publicData.nopsw&&-1==e.getElement("submit").className.indexOf("pass-button-full-disabled")&&$(e.getElement("submit")).addClass("pass-button-full-disabled")}),t.view._setMaxLength($(e.getElement("mobilenum")),11,2),$(e.getElement("mobilenum")).on("paste",function(){var e=this;setTimeout(function(){e.value=t.view._substrMobile(e.value)},100)})),$(e.getElement("formWrapper")).on("submit",a),$(e.getElement("pwdToggle")).on("tap",a),$(e.getElement("upstreamReg")).on("tap",function(){var a=$(e.getElement("mobilenum")).val(),n=n||{};n._upstreamMobile=t.view._strTrim(a),t._getScript("upstreamReg",function(e){e.render("pageWrapper",n)})}),t.view.fullButton($(e.getElement("submit"))),t.client.logEffective({keydown:$(".pass-text-input",e.getElement("formWrapper")),tap:$(e.getElement("submit"))},"sapiReg"),$(".pass-label-reg-code").on("touchend",function(t){t.preventDefault();var a={};a.module=e.module,Pass._getScript("codelist",function(e){e.render("pageWrapper",a)})}),$("#reg-agree").on("click",function(){$("#reg-agree").attr("checked")&&$(".error_area").html("")})},_setValidator:function(){var e=this;e.validateRules={username:{rules:["required"],desc:e.lang.username},mobilenum:{rules:"+86"==e.data.code?["required","phoneformatReg"]:["required","numformat"],desc:e.lang.mobilenum},agree:{rules:["agree"],desc:e.lang.agree}},e._validator.addRule("phoneformatReg",function(){var a=t.view._strTrim(e.getElement("mobilenum").value);return/^1[34578]\d{9}$/.test(a)?!0:!1}),e._validator.addMsg("phoneformatReg",e.lang.phoneformatRegError),e._validator.addRule("numformat",function(){var a=t.view._strTrim(e.getElement("mobilenum").value);return/^\d+$/.test(a)?!0:!1}),e._validator.addMsg("numformat",e.lang.phoneformatRegError),e._validator.addRule("agree",function(){return $("#reg-agree").attr("checked")?!0:!1}),e._validator.addMsg("agree",e.lang.agree),e._validator.init(e,e.validateRules)},_validateError:function(e){var a=this;t.infoAnimate(a.module,e.msg),t.view.setSubmitStyle(a),e.field?(a.error.field=e.field,$(e.field).parents("p.pass-form-item").addClass("pass-form-item-error")):a.error.field=""},_validateSuccess:function(e){var a=this,e=e||{};e.msg?t.infoAnimate(a.module,e.msg):e.field==a.error.field&&(a.error.field="")},_showSuggestNames:function(e){var a=this,n="",i=$(a.getElement("username")),l='<ul class="pass-input-suggest" id="'+this.module+'-username-suggest"></ul>';if(e&&e.length){for(var o=0,r=e.length;r>o;o++)n+='<li><a href="###">'+e[o]+"</a></li>";a.getElement("username-suggest")||(i.parent().append(l),t.view.tap($(a.getElement("username-suggest")),function(e){var t=$(e.target).html();i.val(t),a._validateSuccess(),$(a.getElement("username-suggest")).fadeOut(),e.preventDefault()}));var s=a.getElement("username-suggest");$(s).html(n),$(s).is(":hidden")&&$(s).fadeIn()}else $(a.getElement("username-suggest")).hide()},_eventHandler:function(){var a=this,n={focus:function(e){t.view._setFocusStyle(a,e)},blur:function(e){t.view._setBlurStyle(a,e),1!=publicData.nopsw&&t.view.setSubmitStyle(a,0)},keyup:function(e){1!=publicData.nopsw&&t.view.setSubmitStyle(a);var n={mobilenum:"num_reg_wtel",password:"num_reg_wpwd",username:"num_reg_wun"};a["logPNum"+e]||(a["logPNum"+e]=!0,t.client.logPV(n[e]))}},i={change:{username:function(e){a.validate(e,{success:function(){var n=a.getElement(e);$.getJSON(apiDomain+"/wp/api/reg/check/uname?tpl="+publicData.tpl+"&clientfrom="+publicData.clientfrom+"&gid="+(t.guideRandom||"")+"&username="+n.value+"&tt="+(new Date).getTime()+"&countrycode="+a.data.countrycode,function(e){0==e.errInfo.no?t.removeInfoAnimate(a.module):(a._showSuggestNames(e.data.suggNames),a._validateError({msg:e.errInfo}))},"json")}})}},blur:{username:function(){},mobilenum:function(e){var n=a.getElement(e).value;""!=n&&(a.getElement(e).value=t.view._substrMobile(n))},password:function(){}},tap:{pwdToggle:function(e){var t=$(a.getElement("password"));"text"==t.attr("type")?(t.attr("type","password"),$(a.getElement(e)).removeClass("pass-input-pwdToggle-show")):(t.attr("type","text"),$(a.getElement(e)).addClass("pass-input-pwdToggle-show")),a.getElement("password").focus()}},submit:function(n){var i=a.getElement("submit");n.preventDefault(),i.disabled||a.validateAll({success:function(){function n(){l.mobilenum=t.view._strTrim(a.getElement("mobilenum").value),l.vcodesign=a.getElement("regVcodesign").value,l.vcodestr=a.getElement("regVcodestr").value,l.dialogVerifyCode=a.getElement("regDialogVerifyCode").value,$.post(apiDomain+"/wp/api/reg/sms?v="+(new Date).getTime(),l,function(r){function s(){a.data.username=a.getElement("mobilenum").value;var e=(new Date).getTime();i.disabled=!0,t.logAll&&t.logAll.logBfb&&t.logAll.logBfb({en:"appsapi-"+a.module+"_smsLogin_submit",ev:[a.module,"click"]}),$(a.getElement("loadingMask")).show(),$(a.getElement("loading")).show();var n={username:t.view._strTrim(a.getElement("mobilenum").value),tpl:publicData.tpl,clientfrom:publicData.clientfrom,countrycode:a.data.countrycode,gid:t.guideRandom||"",vcodesign:a.getElement("smsVcodesign").value,vcodestr:a.getElement("smsVcodestr").value,dialogVerifyCode:a.getElement("smsDialogVerifyCode").value};$.post(apiDomain+"/wp/api/login/sms?v="+(new Date).getTime(),n,function(l){var o=(new Date).getTime()-e;if(t.logAll&&t.logAll.logBfb&&t.logAll.logBfb({en:"appsapi-"+a.module+"_smsLogin_request",ev:[a.module,"request",l.errInfo.no,l.errInfo.msg]}),a.getElement("smsVcodesign").value="",a.getElement("smsVcodestr").value="",0==l.errInfo.no)$(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),l.data.username=n.username,l.data.code=a.data.code,a.getElement("submit").className.indexOf("pass-button-full-disabled")>-1&&$(a.getElement("submit")).removeClass("pass-button-full-disabled"),t._getScript("sms_verify",function(e){e.render("pageWrapper",l.data)});else if(50020==l.errInfo.no||50021==l.errInfo.no){$(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),l.data.tempid=l.data.tempid;var r=l.data.vcodestr;l.data.verifyCodeData={mask:!0,vcodestr:r,from_module:"reg-smsLogin",verifySuccessFn:function(e){a.getElement("smsDialogVerifyCode").value=e||"",a.getElement("smsVcodesign").value=l.data.vcodesign,a.getElement("smsVcodestr").value=r,s&&s(),a.sms_vcode.remove()}},a.sms_vcode=new t.ui.vcode(l.data.verifyCodeData)}else $(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),a._validateError({msg:l.errInfo.msg});i.disabled=!1,clearTimeout(a.submitTimer),("ios"==publicData.client||"android"==publicData.client)&&t.client.logAjax("ax_slogin_vcd",o,l.errInfo.no)},"json")}var d=(new Date).getTime()-o;if(t.logAll&&t.logAll.logBfb&&t.logAll.logBfb({en:"appsapi-"+a.module+"_request",ev:[a.module,"request",r.errInfo.no,r.errInfo.msg]}),a.logPageEffective(),$(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),0==r.errInfo.no)r.data.tempid&&(a.getElement("tempid").value=r.data.tempid),a.getElement("regVcodesign").value="",a.getElement("regVcodestr").value="",r.data.tempid=r.data.tempid,r.data.mobilenum=l.mobilenum,r.data.code=a.data.code,t._getScript("reg_verify",function(e){e.render("pageWrapper",r.data)});else if(400003==r.errInfo.no){var g='<div class="page-dialog-content"><p class="page-dialog-title">提示</p><p>'+r.errInfo.msg+'</p></div><div class="dialog-content-btn tcenter"><input type="button" value="'+a.lang.cancel+'" class="pass-button-auto pass-dialog-btnleft" id="reg-cancel-btn"><input type="button" value="'+a.lang.smsLogin+'" class="pass-button-auto pass-dialog-btnright" id="sms_login-ok-btn" data-no="'+r.errInfo.no+'"></div>';e=new Pass.ui.dialog({width:"90%",mask:!0,content:g}),$("#reg-cancel-btn").live("click",function(){e.remove()}),$("#sms_login-ok-btn").live("click",function(){e.remove(),s()})}else if(50019==r.errInfo.no){$(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),r.data.tempid=r.data.tempid;var m=r.data.vcodestr;a.getElement("regVcodesign").value="",a.getElement("regVcodestr").value="",r.data.verifyCodeData={mask:!0,vcodestr:m,from_module:"reg",verifySuccessFn:function(e){a.getElement("regDialogVerifyCode").value=e||"",a.getElement("regVcodesign").value=r.data.vcodesign,a.getElement("regVcodestr").value=m,n&&n(),a.reg_vcode.remove()}},a.reg_vcode=new t.ui.vcode(r.data.verifyCodeData)}else if($(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),50013==r.errInfo.no)$(a.getElement("upstreamRegWrapper")).show(),a._validateError({msg:r.errInfo.msg});else if(r.errInfo.msg.indexOf("系统繁忙")>-1||$.inArray(r.errInfo.no,["50014","50015","50013"])>-1){var g='<div class="page-dialog-content"><p class="page-dialog-title">提示</p><p>'+r.errInfo.msg+'</p></div><div class="dialog-content-btn tcenter"><input type="button" value="'+a.lang.cancel+'" class="pass-button-auto pass-dialog-btnleft" id="feedback-cancel-btn"><input type="button" value="'+a.lang.feedback+'" class="pass-button-auto pass-dialog-btnright" id="feedback-ok-btn" data-no="'+r.errInfo.no+'"></div>';e=new Pass.ui.dialog({width:"90%",mask:!0,content:g}),$("#feedback-cancel-btn").live("click",function(){e.remove()}),$("#feedback-ok-btn").live("click",function(){e.remove(),r.data.no=$(this).attr("data-no"),t._getScript("feedback",function(e){e.render("pageWrapper",r.data)})})}else a._validateError({msg:r.errInfo.msg});i.disabled=!1,clearTimeout(a.submitTimer),("ios"==publicData.client||"android"==publicData.client)&&t.client.logAjax("ax_reg_vcd",d,r.errInfo.no)},"json"),a.submitTimer=setTimeout(function(){i.disabled=!1,$(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),a._validateError({msg:a.lang.networkNoText})},15e3)}a.getElement("submit").focus();var l=$(a.getElement("formWrapper")).formJson();i.disabled=!0,t.logAll&&t.logAll.logBfb&&t.logAll.logBfb({en:"appsapi-"+a.module+"_submit",ev:[a.module,"click"]}),$(a.getElement("loadingMask")).show(),$(a.getElement("loading")).show();var o=(new Date).getTime();l.tpl=publicData.tpl,l.countrycode=a.data.countrycode,l.tt=(new Date).getTime();try{setMaxDigits(131);var r=new RSAKeyPair("10001","",a.rsa);l.password=encryptedString(r,l.password)}catch(s){}2==publicData.regtype?(t.client.logPV("num_reg_sb"),l.logRegType="sdk_reg",$.post(apiDomain+"/wp/api/reg/uname&v="+(new Date).getTime(),l,function(n){var r=(new Date).getTime()-o;if(0==n.errInfo.no)if($(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),"ios"==publicData.client||"android"==publicData.client){var s=n.data.xml.replace("<account></account>","<account>"+l.username+"</account>").replace("<password></password>","<password>"+l.password+"</password>");t.client.success(s)}else document.location=publicData.u;else if($(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),n.errInfo.msg.indexOf("系统繁忙")>-1||$.inArray(n.errInfo.no,["500004","400012","50014","50015","50013"])>-1){var d='<div class="page-dialog-content"><p class="page-dialog-title">提示</p><p>'+n.errInfo.msg+'</p></div><div class="dialog-content-btn tcenter"><input type="button" value="'+a.lang.cancel+'" class="pass-button-auto pass-dialog-btnleft" id="feedback-cancel-btn"><input type="button" value="'+a.lang.feedback+'" class="pass-button-auto pass-dialog-btnright" id="feedback-ok-btn" data-no="'+n.errInfo.no+'"></div>';e=new Pass.ui.dialog({width:"90%",mask:!0,content:d}),$("#feedback-cancel-btn").live("click",function(){e.remove()}),$("#feedback-ok-btn").live("click",function(){e.remove(),n.data.no=$(this).attr("data-no"),t._getScript("feedback",function(e){e.render("pageWrapper",n.data)})})}else a._validateError({msg:n.errInfo.msg}),$.inArray(n.errInfo.no,["400001","230049","230053","230054","230048"])>-1?a.getElement("username").focus():$.inArray(n.errInfo.no,["230052","230052"])>-1&&$(a.getElement("password")).attr("type","text").focus();i.disabled=!1,$(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),clearTimeout(a.submitTimerReg),("ios"==publicData.client||"android"==publicData.client)&&t.client.logAjax("ax_reg_sb",r,n.errInfo.no)},"json"),a.submitTimerReg=setTimeout(function(){i.disabled=!1,$(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),a._validateError({msg:a.lang.networkNoText})},15e3)):n()}},!0)}};return{entrance:function(e){a=this;var t=($(e.target),e.target.name);if(!t&&e.target.id){var l=e.target.id.match(/reg-(.*)$/);l&&(t=l[1])}t&&(n.hasOwnProperty(e.type)&&n[e.type].apply($(e.target),[t,e]),i.hasOwnProperty(e.type)&&("function"==typeof i[e.type]&&i[e.type].apply($(e.target),[e]),i[e.type].hasOwnProperty(t)&&i[e.type][t].apply($(e.target),[t,e])))}}}()})}); Pass._define("reg_verify",function(){var e,t,a=Pass,i={error:{field:""},data:{code:"+86",countrycode:""},module:"reg_verify",rsa:"B3C61EBBA4659C4CE3639287EE871F1F48F7930EA977991C7AFE3CC442FEA49643212E7D570C853F368065CC57A2014666DA8AE7D493FD47D171C0D894EEE3ED7F99F6798B7FFD7B5873227038AD23E3197631A8CB642213B9F27D4901AB0D92BFA27542AE890855396ED92775255C977F5C302F1E7ED4B1E369C12CB6B1822F"};return i=$.extend(i,Pass.validator),i=$.extend(i,{lang:{"zh-cn":{title:"验证手机号",smsvc:"验证码",smsvcPlaceholder:"请输入验证码",submitText:"提交",pageTipInfo:"已发送短信验证码到",pageTipUsername:"#{mobilenum}",sendText:"验证码已发送",verifySendInfo:"发送验证码",countTime:60,noVerifycode:"没收到验证码？",reSendText:"重新发送",loading:"正在注册",vcodeloading:"发送中",regVerDialogSmsvcErr:"验证码为空",regVerifyUpper:"此手机获取验证码已达上限，请在24小时后重试",networkNoText:"网络连接失败，请检查您的网络设置并稍后再试。",is_voice_sms:publicData.is_voice_sms,fastLogin:"快速注册",otherReg:'您还可以通过<a id="#{module}-upstreamReg">手机快速注册</a>的方式完成注册',cancel:"取消",feedback:"问题反馈",smsLogin:"短信登录"},en:{title:"Phone Verify",smsvc:"Code",smsvcPlaceholder:"Verification Code",submitText:"Submit",pageTipInfo:"We have sent a verification code to the following number:",pageTipUsername:"#{mobilenum}",sendText:"Verification code has been sent to your phone",verifySendInfo:"Send Verification.",countTime:60,noVerifycode:"No SMS received?",reSendText:"Resend",loading:"Register",vcodeloading:"Sending",regVerDialogSmsvcErr:"Code is empty",regVerifyUpper:"Please try again after 24 hours.",networkNoText:"Network error",is_voice_sms:publicData.is_voice_sms,fastLogin:"Sign Up",otherReg:"",cancel:"Cancel",feedback:"Feedback",smsLogin:"Login via SMS"}}[window.publicData.lang||"zh-cn"],getElement:function(e){return document.getElementById(this.module+"-"+e)},_getIrregularField:function(e){var t=this,a={pageTipInfo:'<p class="mod-page-tipInfo mod-page-tipInfo-gray">'+t.lang.pageTipInfo+"</p>",pageTipUsername:'<p class="mod-page-tipUsername">'+t.data.code+" "+t.lang.pageTipUsername+"</p>",upstreamReg:'<p class="f14 m-t20 gray hide" id="'+t.module+'-upstreamRegWrapper">您还可以通过<a id="'+t.module+'-upstreamReg">手机快速注册</a>的方式完成注册</p>'};return a[e]},_getTemplate:function(){var e=this,t=new Pass.ui.temp({module:e.module}),i='<article class="wrapper" id="'+this.module+'">',n=publicData;return n.tempid="",n.agreement=1,n.vcodesign="",n.vcodestr="",n.dialogVerifyCode="",publicData.nopsw=1,n.nopsw=publicData.nopsw||"",n.gid=a.guideRandom||"","apps"!=publicData.adapter&&1!=publicData.adapter&&3!=publicData.adapter&&(i+=t._getHeaderField({title:e.lang.title,goBack:!0})),i+='<div class="mod-content" id="'+t.getId("contentWrapper")+'">',i+=e._getIrregularField("pageTipInfo"),i+=e._getIrregularField("pageTipUsername").replace("#{mobilenum}",a.view._substrMobile(e.data.mobilenum)||""),i+='<form autocomplete="off" id="'+t.getId("formWrapper")+'" method="POST" class="pass-form-wrapper m-t25 clearfix">',i+=t._getVCodeSmsField({field:"smsvc",type:"tel",placeholder:e.lang.smsvcPlaceholder}),i+=t._getErrorField(),i+=t._getSubmitField({value:e.lang.submitText}),i+=t._getHiddenField(n),i+="</form>",i+=e._getIrregularField("upstreamReg"),i+=t._getLoadingField({module:e.module,html:e.lang.loading}),i+="</div>",i+="</article>"},render:function(e,t){var i=this,n=$("#"+i.module);i.data=t||{},"+86"==i.data.code?t.countrycode="":i.data.code&&(t.countrycode="00"+i.data.code.substring(1)),n.length>0&&n.remove();var o=i._getTemplate();"[object string]"==Object.prototype.toString.call(e).toLowerCase()?$("#"+e).append(o):e.append(o),Pass.switchView(i.module),this.initialized||(this.initialized=!0,i._setValidator()),i.getElement("tempid").value=i.data.tempid,i.setEvent();var l=i.getElement("smsvc");l.focus(),a.view.inputBlur()},setEvent:function(){var e=this;$("[data-role]",$("#"+e.module)).each(function(){$(this).attr("data-role");a.view.cutPage($(this))});var i=function(t){e._eventHandler.entrance.apply(e,[t])};$(".pass-text-input",e.getElement("formWrapper")).on({focus:i,blur:i,keyup:i}),$(".pass-input-clearValue",e.getElement("formWrapper")).each(function(e,t){var t=$(this);a.view.clearInputValueBtn(t.prev(),t)}),"android"==publicData.client&&a.client.vcodetoclient(e.module);new Pass.ui.button({handler:$(e.getElement("verifyCodeSend")),url:apiDomain+"/wp/api/reg/sms?v="+(new Date).getTime(),type:"POST",dataType:"json",sendText:e.lang.verifySendInfo,reSend:e.lang.reSendText,page:"ax_reg_vcd",initStatus:"disabled",timmerText:e.lang.networkNoText,loadingText:e.lang.vcodeloading,tapcallback:function(){$(e.getElement("smsvc")).val(""),$(e.getElement("submit")).addClass("pass-button-full-disabled")},data:function(){var t={mobilenum:e.data.mobilenum,tpl:publicData.tpl,gid:a.guideRandom||"",tt:(new Date).getTime(),clientfrom:publicData.clientfrom,countrycode:e.data.countrycode,dialogVerifyCode:e.getElement("dialogVerifyCode").value,vcodesign:e.getElement("vcodesign").value,vcodestr:e.getElement("vcodestr").value};return t},success:function(t){"android"==publicData.client&&a.client.vcodetoclient(e.module),e.getElement("vcodesign").value="",e.getElement("vcodestr").value="",t.data.tempid&&(e.getElement("tempid").value=t.data.tempid)},error:function(i){if(50019==i.errInfo.no){$(e.getElement("loadingMask")).hide(),$(e.getElement("loading")).hide(),i.data.tempid=i.data.tempid;var n=i.data.vcodestr;e.getElement("vcodesign").value="",e.getElement("vcodestr").value="",i.data.verifyCodeData={vcodestr:n,mask:!0,from_module:"reg_verify",verifySuccessFn:function(t){e.getElement("dialogVerifyCode").value=t||"",e.getElement("vcodesign").value=i.data.vcodesign,e.getElement("vcodestr").value=n,$(e.getElement("verifyCodeSend")).click()}},t=new a.ui.vcode(i.data.verifyCodeData)}e._validateError({msg:i.errInfo.msg,field:"smsvc"})}});$(e.getElement("upstreamReg")).on("tap",function(){var t=e.data.mobilenum||"",i=i||{};i._upstreamMobile=t,a.client.deviceClass("action_set_title",{title:"快速注册"}),a._getScript("upstreamReg",function(e){e.render("pageWrapper",i)})}),$(e.getElement("formWrapper")).on("submit",i),a.view.fullButton($(e.getElement("submit"))),a.client.logEffective({keydown:$(".pass-text-input",e.getElement("formWrapper")),tap:$(e.getElement("submit"))},"sapiReg")},setVcodeVal:function(e){var t=this;t.getElement("smsvc").value=e,e&&$(t.getElement("submit")).click(),a.view.setSubmitStyle(t,0)},_setValidator:function(){var e=this;e.validateRules={smsvc:{rules:["required"],desc:e.lang.smsvc}},e._validator.init(e,e.validateRules)},_validateError:function(e){var t=this;a.infoAnimate(t.module,e.msg),a.view.setSubmitStyle(t),e.field?(t.error.field=e.field,$(e.field).parents("span.pass-form-input-wrapper-forvcode").addClass("pass-form-item-error")):t.error.field=""},_validateSuccess:function(e){var t=this,e=e||{};e.msg?a.infoAnimate(t.module,e.msg):e.field==t.error.field&&(a.removeInfoAnimate(t.module),t.error.field="")},_eventHandler:function(){var t=this,i={focus:function(e){a.view._setFocusStyle(t,e)},blur:function(e){a.view._setBlurStyle(t,e),a.view.setSubmitStyle(t,0)},keyup:function(e){a.view.setSubmitStyle(t);var i={smsvc:"num_reg_gvcd"};t["logPNum"+e]||(t["logPNum"+e]=!0,a.client.logPV(i[e]))}},n={blur:{smsvc:function(){}},submit:function(i){var n=t.getElement("submit");i.preventDefault(),a.client.logPV("num_reg_sb"),n.disabled||t.validateAll({success:function(){t.getElement("submit").focus();var i=$(t.getElement("formWrapper")).formJson();n.disabled=!0,a.logAll&&a.logAll.logBfb&&a.logAll.logBfb({en:"appsapi-"+t.module+"_submit",ev:[t.module,"click"]}),$(t.getElement("loadingMask")).show(),$(t.getElement("loading")).show(),a.removeInfoAnimate(t.module);var o=(new Date).getTime();if(i.tpl=publicData.tpl||"ppdemo",i.logRegType="sdk_reg",i.mobilenum=t.data.mobilenum,i.countrycode=t.data.countrycode,i.tt=(new Date).getTime(),i.passAppHash=publicData.passAppHash||"",i.passAppVersion=publicData.passAppVersion||"",publicData.nopsw=1,1!=publicData.nopsw){i.password=t.data.password||"";try{setMaxDigits(131);var l=new RSAKeyPair("10001","",t.rsa);i.password=encryptedString(l,i.password)}catch(r){}}$.post(apiDomain+"/wp/api/reg/phone?v="+(new Date).getTime(),i,function(l){var r=(new Date).getTime()-o;if(a.logAll&&a.logAll.logBfb&&a.logAll.logBfb({en:"appsapi-"+t.module+"_request",ev:[t.module,"request",l.errInfo.no,l.errInfo.msg]}),0==l.errInfo.no){$(t.getElement("loadingMask")).hide(),$(t.getElement("loading")).hide();var d=l.data.xml.replace("<account></account>","<account>"+i.mobilenum+"</account>"),s={};s.xml=d,s.from_module=t.module,s.authsid=l.data.authsid||"",s.bdstoken=l.data.bdstoken||"",s.jumpset=l.data.jumpset||"",s.tpl=i.tpl,Pass._getScript("setunamepwd",function(e){e.render("pageWrapper",s)})}else if($(t.getElement("loadingMask")).hide(),$(t.getElement("loading")).hide(),l.errInfo.msg.indexOf("系统繁忙")>-1||$.inArray(l.errInfo.no,["500004","400012","50014","50015","50013"])>-1){var c='<div class="page-dialog-content"><p class="page-dialog-title">提示</p><p>'+l.errInfo.msg+'</p></div><div class="dialog-content-btn tcenter"><input type="button" value="'+t.lang.cancel+'" class="pass-button-auto pass-dialog-btnleft" id="feedback-cancel-btn"><input type="button" value="'+t.lang.feedback+'" class="pass-button-auto pass-dialog-btnright" id="feedback-ok-btn" data-no="'+l.errInfo.no+'"></div>';e=new Pass.ui.dialog({width:"90%",mask:!0,content:c}),$("#feedback-cancel-btn").live("click",function(){e.remove()}),$("#feedback-ok-btn").live("click",function(){e.remove(),l.data.no=$(this).attr("data-no"),a.client.deviceClass("action_set_title",{title:t.lang.feedback}),a._getScript("feedback",function(e){e.render("pageWrapper",l.data)})})}else t._validateError({msg:l.errInfo.msg,field:"smsvc"}),$.inArray(l.errInfo.no,["300001","310005","310004"])>-1;n.disabled=!1,$(t.getElement("loadingMask")).hide(),$(t.getElement("loading")).hide(),clearTimeout(t.submitTimer),("ios"==publicData.client||"android"==publicData.client)&&a.client.logAjax("ax_reg_sb",r,l.errInfo.no)},"json"),t.submitTimer=setTimeout(function(){n.disabled=!1,$(t.getElement("loadingMask")).hide(),$(t.getElement("loading")).hide(),t._validateError({msg:t.lang.networkNoText,field:"smsvc"})},15e3)}},!0)}};return{entrance:function(e){t=this;var a=($(e.target),e.target.name);if(!a&&e.target.id){var o=e.target.id.match(/reg_verify-(.*)$/);o&&(a=o[1])}a&&(i.hasOwnProperty(e.type)&&i[e.type].apply($(e.target),[a,e]),n.hasOwnProperty(e.type)&&("function"==typeof n[e.type]&&n[e.type].apply($(e.target),[e]),n[e.type].hasOwnProperty(a)&&n[e.type][a].apply($(e.target),[a,e])))}}}()})}); Pass._define("canshare_accounts",function(){var ns=Pass,canshare_accounts={data:{},bduss:[],getnetwork:!1,num:0,submitData:[],netstrvalue:"",module:"canshare_accounts",initialized:!1,rsa:"B3C61EBBA4659C4CE3639287EE871F1F48F7930EA977991C7AFE3CC442FEA49643212E7D570C853F368065CC57A2014666DA8AE7D493FD47D171C0D894EEE3ED7F99F6798B7FFD7B5873227038AD23E3197631A8CB642213B9F27D4901AB0D92BFA27542AE890855396ED92775255C977F5C302F1E7ED4B1E369C12CB6B1822F"};return ns.client=ns.client||{},canshare_accounts=$.extend(canshare_accounts,{lang:{"zh-cn":{title:"快速登录",words:"登录",networkNoText:"网络连接失败，请检查您的网络设置并稍后再试。",pageTipInfo:"检测到您在百度产品中登录以下帐号，点击可以快速登录:",btn:"用其它帐号登录",promap:{BaiduBoxApp:"手机百度",Zhidao:"百度知道",netdisk:"百度网盘",Waimai:"百度外卖",BaiduVideo:"百度视频",smartnews:"百度新闻",translate:"百度翻译",mybox:"百度网盘"},baiduOtherApp:"百度其他产品",sms_login:"短信验证登录",fastReg:"快速注册",login:"百度帐号登录",face_login:"刷脸登录",fastLogin:"快速登录"},en:{title:"Login",words:"Login",networkNoText:"Network error",pageTipInfo:"Choose an account",btn:"Other Account",promap:{BaiduBoxApp:"Baidu App",Zhidao:"Baidu Know",netdisk:"Baidu Cloud",Waimai:"Baidu Takeaway",BaiduVideo:"Baidu Video",smartnews:"Baidu News",translate:"Baidu Trans",mybox:"Baidu Cloud"},baiduOtherApp:"Other App",sms_login:"SMS Login",fastReg:"Sign Up",login:"Login with account and password",face_login:"Face Login",fastLogin:"Login"}}[window.publicData.lang||"zh-cn"],getElement:function(a){return document.getElementById(this.module+"-"+a)},_getIrregularField:function(a){var e=this,t={pageTipInfo:'<p class="mod-page-tipInfo">'+e.lang.pageTipInfo+"</p>",normalLogin:'<div class="normal-login"><input type="button" class="pass-button-sub-default other-log" value="'+e.lang.btn+'"'+(3==publicData.loginInitType?"":' data-role="'+e.loginType+'"')+' id="'+this.module+'-login" /></div>'};return t[a]},_getTemplate:function(){var a=this,e=new Pass.ui.temp({module:a.module}),t='<article class="wrapper" id="'+this.module+'">';return"apps"!=publicData.adapter&&1!=publicData.adapter&&3!=publicData.adapter&&(t+=e._getHeaderField({title:a.lang.title,nextRole:a.loginType,goBack:!0})),t+='<div class="img-div"><span  class="logo-dom"></span></div>',t+='<div class="mod-content-code '+e.getId("contentWrapper")+'" id="'+e.getId("contentWrapper")+'">',t+='<div class="loading loading-img"></div>',t+=a._getIrregularField("normalLogin"),t+=e._getErrorField(),t+="</div>",t+="</article>"},render:function(a){var e=this,t=publicData.loginInitType;if(e.loginType="login",e.loginType="1"===t?"sms_login":"2"===t&&"android"===publicData.client?"fastReg":"4"===t?"face_login":"login",e.initialized)Pass.switchView(e.module);else{var n=e._getTemplate();"[object string]"==Object.prototype.toString.call(a).toLowerCase()?$("#"+a).append(n):a.append(n),this.initialized=!0,Pass.switchView(e.module),e.setEvent(),e.getData()}},setEvent:function(){var a=this;$("[data-role]",$("#"+a.module)).each(function(){ns.view.cutPage($(this))}),$(a.getElement("login")).on("click",function(){ns.client.logPV("num_acc_oth")}),3==publicData.loginInitType&&$(a.getElement("login")).on("click",function(){ns.client.customLogin(),ns.logAll&&ns.logAll.logBfb&&ns.logAll.logBfb({en:"appsapi-"+a.module+"_login",ev:[a.module,"click"]})}),ns.view.touch($(a.getElement("login")),"pass-button-sub-active")},getData:function(){var me=this;if("android"==publicData.client){for(var str=ns.client.deviceClass("config_canshare_accounts"),realStr=eval("("+str.toLocaleString()+")"),strvalue="",retCopy=realStr,exeFlag=0,i=0;i<realStr.length;i++)strvalue+=realStr[i].bduss+"|";strvalue=strvalue.substring(0,strvalue.length-1),me.netstrvalue=strvalue,me._draw(realStr)}else"ios"==publicData.client&&ns.client.deviceClass("getAccountsInfo",{},function(id,params){for(var ret=eval("("+params.result+")"),strvalue="",retCopy=ret,i=0;i<ret.length;i++)strvalue+=ret[i].bduss+"|";strvalue=strvalue.substring(0,strvalue.length-1),me.netstrvalue=strvalue,me._draw(ret)})},_draw:function(a){var e=this;str='<ul class="canshare-account-list clearfix">',wrap=$(e.getElement("contentWrapper")),bduss=[],proMap=e.lang.promap,e.num=0,e.submitData=[];var t=(window.screen.height,window.innerHeight);if(a.length>0&&"[object Array]"==Object.prototype.toString.call(a)){for(var n=0,i=a.length;i>n;n++){var s=e.lang.baiduOtherApp;if(e.num>=3||e.num>=2&&500>t)break;if(""!=a[n].displayname&&""!=a[n].bduss){var o=a[n].app;proMap[o]&&void 0!=proMap[o]?s=proMap[o]:""!=o&&void 0!=o&&(s=o),str+=0==n?'<li id="purse-li-'+a[n].uid+'" data-role="2"><span class="user-avatar"><img/></span><span><span class="canshare-account-displayname">'+a[n].displayname+'</span><span class="canshare-account-tip"><img data-role="purse-icon" style="display:none;padding-left:10px;padding-top:5px;" id="purse-icon-'+a[n].uid+'"  src="" width="40" height="12"/></span><span class="user-text">通过'+s+'关联</span></span><span class="ajax-loading loading-img"></span><span class="pass-user-userlist"></span></li>':'<li id="purse-li-'+a[n].uid+'" data-role="2"><span class="user-avatar"><img/></span><span><span class="canshare-account-displayname">'+a[n].displayname+'</span><span class="canshare-account-tip"><img data-role="purse-icon" style="display:none;padding-left:10px;padding-top:5px;" id="purse-icon-'+a[n].uid+'"  src="" width="40" height="12"/></span><span class="user-text">通过'+s+'关联</span></span><span class="ajax-loading loading-img"></span><span class="pass-user-userlist"></span></li>',e.bduss.push(a[n].bduss?a[n].bduss:""),e.num++,e.submitData.push(a[n])}}if(0==e.num){3!=publicData.loginInitType&&(ns.client.deviceClass("action_set_title",{title:e.lang[e.loginType]}),Pass._getScript(e.loginType,function(a){a.render("pageWrapper")}))}else"android"!==publicData.client&&e.getImg(),str+="</ul>",$(".loading",wrap).remove(),$(".normal-login",wrap).before(str),this._bind()}},getCardImg:function(){var a=this;$.ajax({url:apiDomain+"/v3/login/api/getcardinfo/?v="+(new Date).getTime(),type:"POST",data:{data:a.netstrvalue},dataType:"json",error:function(){},success:function(a){if(-1==a.result);else for(var e=a.has_card_info.length,t=0;e>t;t++)1==a.has_card_info[t].hascard?(document.getElementById("purse-icon-"+a.has_card_info[t].uid).src=apiDomain+"/static/appsapi/img/purse.png",document.getElementById("purse-icon-"+a.has_card_info[t].uid).style.display="block",$("#purse-li-"+a.has_card_info[t].uid).attr("data-role",a.has_card_info[t].hascard)):$("#purse-li-"+a.has_card_info[t].uid).attr("data-role",a.has_card_info[t].hascard)}})},getImg:function(){var a=this;a.getnetwork!==!0&&0!=a.num&&$.post(apiDomain+"/wp/api/ucenter/portrait/get?v="+(new Date).getTime(),{tpl:publicData.tpl,data:a.bduss},function(e){a.getnetwork=!0,a.reSetImgSrc(e.data.portrait),a.getCardImg()},"json")},reSetImgSrc:function(a){var e=this;if(e.getImg(),$(".canshare-account-list li").length>0){var t=0;$(".canshare-account-list img").each(function(){var e=a[t]?a[t]:$(this).attr("src"),n=e.indexOf("?")>0?"&":"?";"purse-icon"==$(this).attr("data-role")||(t++,$(this).attr("src",e+n+"v="+(new Date).getTime()))})}},_bind:function(){var a=this,e=$(".canshare-account-list li"),t=function(e){var n=$(e.target).closest("li"),i=n.index(),s=a.submitData[i];if(n){ns.logAll&&ns.logAll.logBfb&&ns.logAll.logBfb({en:"appsapi-"+a.module+"_submit",ev:[a.module,"click"]});var o=n.attr("data-role"),l=0;a.num>1&&(l=1),$(".ajax-loading",n).css("display","block"),$(".canshare-account-list").off("tap").off("touchstart"),ns.removeInfoAnimate(a.module);var r=(new Date).getTime(),c=s.uid,p=s.uid;if(c)try{setMaxDigits(131);var u=new RSAKeyPair("10001","",a.rsa);c=encryptedString(u,c)}catch(d){}$.post(apiDomain+"/wp/checkuser?v="+(new Date).getTime(),{bduss:s.bduss,uid:c||"",tpl:publicData.tpl||"",client:publicData.client||"",cardflag:o,passAppHash:publicData.passAppHash||"",passAppVersion:publicData.passAppVersion||"",cardNum:l},function(e){var o=(new Date).getTime()-r;if(ns.logAll&&ns.logAll.logBfb&&ns.logAll.logBfb({en:"appsapi-"+a.module+"_request",ev:[a.module,"request",e.errInfo.no,e.errInfo.msg]}),0==e.errInfo.no)if("android"==publicData.client){var l="<client><page>login</page><data><actiontype></actiontype><errno>0</errno><errmsg></errmsg><res>";if(s.uname=e.data.uname,s.displayname=e.data.displayname,e.data.incomplete_user&&""!=e.data.incomplete_user&&(s.incomplete_user=e.data.incomplete_user),$.each(s,function(a,e){l+="<"+a+">"+e+"</"+a+">"}),l+="</res></data></client>",window.sapi_obj&&window.sapi_obj.authorized_response)window.sapi_obj.authorized_response(l);else{var c="{action:{name:'authorized_response',params:['"+l+"']}}";prompt(c,"authorized_response_str")}}else"ios"==publicData.client&&(e.data.incomplete_user&&""!=e.data.incomplete_user&&(s.incomplete_user=e.data.incomplete_user),ns.client.deviceClass("loginWithExistedAccount",s));else 220003==e.errInfo.no?(ns.infoAnimate(e.errInfo.msg),"android"==publicData.client&&window.sapi_obj&&window.sapi_obj.action_remove_share_account?(n.remove(),a.submitData.splice(i,1),window.sapi_obj.action_remove_share_account(p)):"android"==publicData.client?(n.remove(),a.submitData.splice(i,1),prompt("{action:{name:'action_remove_share_account', params:['"+p+"']}}")):"ios"==publicData.client&&(n.remove(),a.submitData.splice(i,1),ns.client.deviceClass("action_remove_share_account",{uid:p}))):(ns.client.deviceClass("action_set_title",{title:"快速登录"}),Pass._getScript("authPwd",function(a){a.render("pageWrapper",s)}));$(".ajax-loading",n).css("display","none"),ns.view.tap($(".canshare-account-list"),t),clearTimeout(a.submitTimer),("ios"==publicData.client||"android"==publicData.client)&&ns.client.logAjax("choice_login_share",o,e.errInfo.no)},"json"),a.submitTimer=setTimeout(function(){$(".ajax-loading",n).css("display","none"),ns.view.tap($(".canshare-account-list"),t),ns.infoAnimate(a.module,a.lang.networkNoText)},15e3),e.preventDefault(),ns.client.logPV("num_acc_login")}};ns.view.tap($(".canshare-account-list"),t),ns.view.touch(e,"canshare-account-active")}})}); Pass._define("sms_login",function(){var e,t=Pass,i={error:{field:""},module:"sms_login",data:{code:"+86",countrycode:""},sms_login_vcode:"",rsa:"B3C61EBBA4659C4CE3639287EE871F1F48F7930EA977991C7AFE3CC442FEA49643212E7D570C853F368065CC57A2014666DA8AE7D493FD47D171C0D894EEE3ED7F99F6798B7FFD7B5873227038AD23E3197631A8CB642213B9F27D4901AB0D92BFA27542AE890855396ED92775255C977F5C302F1E7ED4B1E369C12CB6B1822F"};return i=$.extend(i,Pass.validator),i=$.extend(i,{lang:{"zh-cn":{title:"短信验证登录",words:"注册",mobilenum:"手机号码",mobilenumError:"手机号",mobilenumPlaceholder:"请输入手机号码",phoneformatSmsError:"您输入的手机号格式有误，请重新输入",submitText:"获取手机验证码",loading:"请等待...",smsDialogVerifyCodeErr:"验证码为空",loginLinkText:"使用百度帐号登录",networkNoText:"网络连接失败，请检查您的网络设置并稍后再试。",code:"+86",readAndAccept:"我已阅读并同意",agreement:"百度用户协议",cancel:"取消",baiduLogin:"百度帐号登录",workLogin:"合作帐号登录",otherLogin:"其他登录方式",fastLogin:"第三方帐号登录",fastReg:"快速注册",bindTip:"您的手机号尚未注册，点击注册将为您注册百度帐号，您可通过手机号和短信验证码登录",notReg:"该手机号尚未注册，无法登录",reg:"快速注册"},en:{title:"SMS Login",words:"Sign Up",mobilenum:"Phone",mobilenumError:"Phone",mobilenumPlaceholder:"Phone",phoneformatSmsError:"Incorrect phone format",submitText:"Next",loading:"Waiting",smsDialogVerifyCodeErr:"Code is empty",loginLinkText:"Login",networkNoText:"Network error",code:"+86",readAndAccept:"I agree to",agreement:"Baidu Service Agreement",cancel:"Cancel",baiduLogin:"Login with account and password",workLogin:"Switch account",otherLogin:"Other",fastLogin:"Other Account",fastReg:"Sign Up",bindTip:"Phone number is not registered, Automatically register Baidu account and bind to the cell phone number.",notReg:"Phone number is not registered,so can not login",reg:"Sign Up"}}[window.publicData.lang||"zh-cn"],getElement:function(e){return document.getElementById(this.module+"-"+e)},_getIrregularField:function(e){var t,i,a=this;return i=1==publicData.loginLink?'<span id="" class="right login-index">'+a.lang.baiduLogin+"</span>":"",t={links:'<p class="account_login right clearfix"><a data-role="login">'+a.lang.loginLinkText+"</a></p>",regAgreement:'<p class="f14 gray">'+a.lang.readAndAccept+'<a data-role="agreement" class="agree-link">&nbsp;'+a.lang.agreement+"</a>"+i+"</p>",otherLayer:'<div id="'+a.module+'-sotherlogin" class="go-safe-manager '+(publicData.regLink?"":"border-none")+'">'+(publicData.regLink?'<div class="fastlogin-bordertext">或</div>':"")+'</div><div id="fastlogin-layer-sms_login" class="fastlogin-layer-login"></div>',regLink:'<div id="'+a.module+'-register" class="login-register">'+a.lang.reg+"</div>"},t[e]},_getTemplate:function(){var e=this,i=new Pass.ui.temp({module:e.module}),a='<article class="wrapper" id="'+this.module+'">',l=publicData,n={sms:1},o=[];l.agreement=1,l.vcodesign="",l.vcodestr="",l.dialogVerifyCode="",l.gid=t.guideRandom||"",o.push({field:"mobilenum",labeltext:1==publicData.overseas?"+86":e.lang.mobilenum,type:"tel",code:1==publicData.overseas?!0:!1,label:1==publicData.overseas?!0:!1,code:1==publicData.overseas?!0:!1,placeholder:e.lang.mobilenumPlaceholder}),"apps"!=publicData.adapter&&1!=publicData.adapter&&3!=publicData.adapter&&(a+=i._getHeaderField({title:e.lang.title,goBack:!0})),a+='<div class="img-div"><div class="logo-dom" id="'+i.getId("loginLogo")+'"></div><div class="user-img"><img src="" id="'+i.getId("userImg")+'"/></div></div>',a+='<div class="mod-content" id="'+i.getId("contentWrapper")+'">',a+='<form autocomplete="off" id="'+i.getId("formWrapper")+'" method="POST" class="pass-form-wrapper m-t25 clearfix">';for(var r=0;r<o.length;r++)a+=i._getRegularField(o[r]);return a+=i._getErrorField(),a+=i._getSubmitField({value:e.lang.submitText}),a+=i._getHiddenField(l),a+=i._getHiddenField(n),a+="</form>",a+=e._getIrregularField("regAgreement"),a+=i._getLoadingField({module:e.module,html:e.lang.loading}),a+="</div>",a+='<div class="register-content" id="'+e.module+'-registerWrapper"><div class="p-b20"><div class="bottom-link">'+(1==publicData.regLink?e._getIrregularField("regLink"):"")+"</div>"+e._getIrregularField("otherLayer")+"</div></div>",a+="</article>"},render:function(e,i){var a=this;if(""!=$.fn.getQueryString("setTitleTxt")&&(document.title=decodeURIComponent($.fn.getQueryString("setTitleTxt"))),(0!=publicData.regLink&&"android"==publicData.client||1==publicData.regLink)&&(publicData.regLink=1),(i&&i.from&&"acclogin"==i.from||1==publicData.loginLink)&&(publicData.loginLink=1),i&&i.code&&($(".pass-label-"+a.module+"-code").html(i.code),a.data.code=i.code,a.data.countrycode=i.countrycode),a.error.field="",a.initialized)Pass.switchView(a.module);else{a.initialized=!0;var l=a._getTemplate();"[object string]"==Object.prototype.toString.call(e).toLowerCase()?$("#"+e).append(l):e.append(l),Pass.switchView(a.module),a.setEvent(),1==publicData.loginmerge&&(publicData.loginmerge="")}var n=!1;if(a.data.adapter&&"apps"!=a.data.adapter&&1!=a.data.adapter&&3!=a.data.adapter&&(n=!0),a._setValidator(),publicData.smsfastlogin&&t.fastLogin.init(a.module),t.view.inputBlur(),$(a.getElement("registerWrapper")).html()){var o=$(a.getElement("registerWrapper")).offset().top;$(a.getElement("registerWrapper")).height($(window).height()-o).css("visibility","visible")}},getPhone:function(){var e=this;if("android"==publicData.client){var i=t.client.deviceClass("get_preset_phone_number");$(e.getElement("mobilenum")).val(i?t.view._substrMobile(i):""),i&&t.view.setSubmitStyle(e,0)}else"ios"==publicData.client&&t.client.deviceClass("get_preset_phone_number",{},function(i,a){var a=a||{},l=a.result;$(e.getElement("mobilenum")).val(l?t.view._substrMobile(l):""),l&&t.view.setSubmitStyle(e,0)})},logPageEffective:function(){var e=this;e.logPEffective||(e.logPEffective=!0,t.client.logPV("num_smslogin_va"))},_getUserImg:function(e){var i=this;$(i.getElement("loginLogo")).hide(),$(i.getElement("userImg")).attr("src","https://gss0.baidu.com/7Ls0a8Sm2Q5IlBGlnYG/sys/portrait/item/"+i.data.countrycode+t.view._strTrim(e)+"?isuname=1&tt="+(new Date).getTime()).parent().show()},setEvent:function(){var e=this;$("[data-role]",$("#"+e.module)).each(function(){t.view.cutPage($(this))});var i=function(t){e._eventHandler.entrance.apply(e,[t])};(window.screen&&window.screen.orientation&&"landscape-primary"==window.screen.orientation.type||window.innerWidth>window.innerHeight)&&window.Pass.view.inputScroll([$(".pass-text-input-mobilenum"),$("#uniqueVerifyCode-uniqueVerifyCode")],$("body")),$(".pass-text-input",e.getElement("formWrapper")).on({focus:i,blur:i,keyup:i}),$(".pass-input-clearValue",e.getElement("formWrapper")).each(function(i,a){var a=$(this);t.view.clearInputValueBtn(a.prev(),a,e.getElement("submit"))}),$(e.getElement("formWrapper")).on("submit",i),e.getPhone(),t.view._mobilenumFormat(e,"mobilenum",function(){"+86"==e.data.code&&$(e.getElement("mobilenum")).val().replace(/\s/g,"").length>=11||"+86"!=e.data.code&&$(e.getElement("mobilenum")).val().replace(/\s/g,"").length>=1?t.view.setSubmitStyle(e,0):-1==e.getElement("submit").className.indexOf("pass-button-full-disabled")&&$(e.getElement("submit")).addClass("pass-button-full-disabled")}),t.view._setMaxLength($(e.getElement("mobilenum")),11,2),$(".pass-label-sms_login-code").on("touchend",function(t){t.preventDefault(),$("input").blur(),Pass._getScript("codelist",function(t){var i={};i.module=e.module,t.render("pageWrapper",i)})}),$(e.getElement("register")).on("touchend",function(i){i.preventDefault(),t.logAll&&t.logAll.logBfb&&t.logAll.logBfb({en:"appsapi-"+e.module+"_reg_link",ev:[e.module,"click",publicData.overseas]}),1==publicData.fastRegLink&&"android"==publicData.client?window.sapi_obj&&window.sapi_obj.action_fast_reg?window.sapi_obj.action_fast_reg():"android"==publicData.client?prompt("{action:{name:'action_fast_reg'}}"):"ios"==publicData.client&&this.deviceClass("action_fast_reg"):t._getScript("reg",function(t){t.render("pageWrapper",e.module)})}),$("body").on("touchend",".login-index",function(i){return i.preventDefault(),t.logAll&&t.logAll.logBfb&&t.logAll.logBfb({en:"appsapi-"+e.module+"_usernameLogin",ev:[e.module,"click",publicData.overseas]}),e.module.adapter=publicData.adapter,e.module.client=publicData.client,e.module.from="sms_login",t._getScript("login",function(t){t.render("pageWrapper",e.module)}),!1})},_setValidator:function(){var e=this;"+86"!=e.data.code?(e.validateRules={mobilenum:{rules:["required","numformat"],desc:e.lang.mobilenumError}},e._validator.addRule("numformat",function(){var i=t.view._strTrim(e.getElement("mobilenum").value);return/^\d+$/.test(i)?!0:!1}),e._validator.addMsg("phoneformatSms",e.lang.phoneformatSmsError)):(e.validateRules={mobilenum:{rules:["required","phoneformatSms"],desc:e.lang.mobilenumError}},e._validator.addRule("phoneformatSms",function(){var i=t.view._strTrim(e.getElement("mobilenum").value);return/^1[34578]\d{9}$/.test(i)?!0:!1}),e._validator.addMsg("phoneformatSms",e.lang.phoneformatSmsError)),e._validator.init(e,e.validateRules)},_validateError:function(e){var i=this;t.infoAnimate(i.module,e.msg),t.view.setSubmitStyle(i),e.field?(i.error.field=e.field,$(e.field).parents("p.pass-form-item").addClass("pass-form-item-error")):i.error.field=""},_validateSuccess:function(e){var i=this;e.msg?t.infoAnimate(i.module,e.msg):e.field==i.error.field&&(t.removeInfoAnimate(i.module),i.error.field="")},_eventHandler:function(){var i=this,a={focus:function(e){i.logPageEffective(),t.view._setFocusStyle(i,e)},blur:function(e){t.view._setBlurStyle(i,e)},keyup:function(e){var a={mobilenum:"num_slogin_wtel"};i["logPNum"+e]||(i["logPNum"+e]=!0,t.client.logPV(a[e]))}},l={blur:{mobilenum:function(e){var a=i.getElement(e).value;""!=a&&(i.validate(e),i.getElement(e).value=t.view._substrMobile(a),i.data.countrycode)}},keyup:{mobilenum:function(e){var a=t.view._strTrim(i.getElement(e).value);!i.data.countrycode&&/^1[34578]\d{9}$/.test(a)}},submit:function(a){var l=i.getElement("submit");a.preventDefault(),l.disabled||i.validateAll({success:function(){function a(){var e=(new Date).getTime();l.disabled=!0,$(i.getElement("loadingMask")).show(),$(i.getElement("loading")).show();var n={username:t.view._strTrim(i.getElement("mobilenum").value),tpl:publicData.tpl,clientfrom:publicData.clientfrom,countrycode:i.data.countrycode,gid:t.guideRandom||"",dialogVerifyCode:i.getElement("dialogVerifyCode").value,vcodesign:i.getElement("vcodesign").value,vcodestr:i.getElement("vcodestr").value};$.post(apiDomain+"/wp/api/login/sms?v="+(new Date).getTime(),n,function(o){var r=(new Date).getTime()-e;if(t.logAll&&t.logAll.logBfb&&t.logAll.logBfb({en:"appsapi-"+i.module+"_request",ev:[i.module,"request",o.errInfo.no,o.errInfo.msg]}),i.getElement("vcodesign").value="",i.getElement("vcodestr").value="",0==o.errInfo.no)$(i.getElement("loadingMask")).hide(),$(i.getElement("loading")).hide(),o.data.username=n.username,o.data.code=i.data.code,i.getElement("submit").className.indexOf("pass-button-full-disabled")>-1&&$(i.getElement("submit")).removeClass("pass-button-full-disabled"),t._getScript("sms_verify",function(e){e.render("pageWrapper",o.data)});else if(50020==o.errInfo.no||50021==o.errInfo.no){$(i.getElement("loadingMask")).hide(),$(i.getElement("loading")).hide(),o.data.tempid=o.data.tempid;var s=o.data.vcodestr;o.data.verifyCodeData={mask:!0,vcodestr:s,from_module:"sms_login",verifySuccessFn:function(e){i.getElement("dialogVerifyCode").value=e||"",i.getElement("vcodesign").value=o.data.vcodesign,i.getElement("vcodestr").value=s,a(),i.sms_login_vcode.remove()}},i.sms_login_vcode=new t.ui.vcode(o.data.verifyCodeData)}else $(i.getElement("loadingMask")).hide(),$(i.getElement("loading")).hide(),i._validateError({msg:o.errInfo.msg});l.disabled=!1,clearTimeout(i.submitTimer),("ios"==publicData.client||"android"==publicData.client)&&t.client.logAjax("ax_slogin_vcd",r,o.errInfo.no)},"json"),i.submitTimer=setTimeout(function(){l.disabled=!1,$(i.getElement("loadingMask")).hide(),$(i.getElement("loading")).hide(),i._validateError({msg:i.lang.networkNoText})},15e3)}i.getElement("submit").focus();var n=$(i.getElement("formWrapper")).formJson();n.username=t.view._strTrim(n.mobilenum),n.countrycode=i.data.countrycode,t.removeInfoAnimate(i.module),t.logAll&&t.logAll.logBfb&&t.logAll.logBfb({en:"appsapi-"+i.module+"_submit",ev:[i.module,"click",publicData.overseas]}),$.post(apiDomain+"/wp/api/security/getphonestatus?v="+(new Date).getTime(),n,function(l){if(t.logAll&&t.logAll.logBfb&&t.logAll.logBfb({en:"appsapi-"+i.module+"_phonestatus_request",ev:[i.module,"request",l.errInfo.no,l.errInfo.msg]}),"0"===l.errInfo.no)a();else if("3"===l.errInfo.no)if(1==publicData.regdomestic&&""!=i.data.countrycode)i._validateError({msg:i.lang.notReg});else if(e)e.show();else{var n='<div class="page-dialog-content"><p class="page-dialog-title">提示</p><p>'+i.lang.bindTip+'</p></div><div class="dialog-content-btn tcenter"><input type="button" value="'+i.lang.cancel+'" class="pass-button-auto pass-dialog-btnleft" id="smsreg-cancel-btn"><input type="button" value="'+i.lang.reg+'" class="pass-button-auto pass-dialog-btnright" id="smsreg-ok-btn"></div>';e=new Pass.ui.dialog({width:"90%",mask:!0,content:n}),$("#smsreg-cancel-btn").live("click",function(){e.hide(),$(i.getElement("mobilenum")).focus(),t.logAll&&t.logAll.logBfb&&t.logAll.logBfb({en:"appsapi-"+i.module+"_reg_cancel",ev:[i.module,"click",publicData.overseas]})}),$("#smsreg-ok-btn").live("click",function(){e.hide(),t.logAll&&t.logAll.logBfb&&t.logAll.logBfb({en:"appsapi-"+i.module+"_reg",ev:[i.module,"click",publicData.overseas]}),a()})}else i._validateError({msg:l.errInfo.msg})},"json")}},!0)}};return{entrance:function(e){i=this;var t=($(e.target),e.target.name);if(!t&&e.target.id){var n=e.target.id.match(/sms_login-(.*)$/);n&&(t=n[1])}t&&(a.hasOwnProperty(e.type)&&a[e.type].apply($(e.target),[t,e]),l.hasOwnProperty(e.type)&&("function"==typeof l[e.type]&&l[e.type].apply($(e.target),[e]),l[e.type].hasOwnProperty(t)&&l[e.type][t].apply($(e.target),[t,e])))}}}()})}); Pass._define("sms_verify",function(){var e,t=Pass,a={error:{field:""},module:"sms_verify",data:{},sms_verify_vcode:"",voice_login_vcode:"",rsa:"B3C61EBBA4659C4CE3639287EE871F1F48F7930EA977991C7AFE3CC442FEA49643212E7D570C853F368065CC57A2014666DA8AE7D493FD47D171C0D894EEE3ED7F99F6798B7FFD7B5873227038AD23E3197631A8CB642213B9F27D4901AB0D92BFA27542AE890855396ED92775255C977F5C302F1E7ED4B1E369C12CB6B1822F"};return a=$.extend(a,Pass.validator),a=$.extend(a,{lang:{"zh-cn":{title:"验证手机号",words:"注册",password:"验证码",passwordWaimai:'<input type="button" value="验证码">',passwordPlaceholder:"请输入验证码",submitText:"提交",pageTipInfo:"已发送短信验证码到",pageTipUsername:"#{username}",sendText:"验证码已发送",verifySendInfo:"发送验证码",verifySendInfoVoice:"发送语音验证码",countTime:60,countTimeVoice:20,noVerifycode:"没收到验证码？",reSendText:"重新发送",loading:"正在登录...",vcodeloading:"发送中",loginLinkText:"使用百度帐号登录",smsVerDialogVerifyCodeErr:"验证码为空",networkNoText:"网络连接失败，请检查您的网络设置并稍后再试。",is_voice_sms:publicData.is_voice_sms,is_voice:0,inputVCode:"请输入图片验证码",vcode:"验证码",cancel:"取消",ok:"确定",setpassTip:"该账户尚未设置密码，完成验证后即可登录并设置密码",sendvoiceSMS:"获取语音验证码"},en:{title:"Phone Verify",words:"Sign Up",password:"Code",passwordWaimai:'<input type="button" value="captcha">',passwordPlaceholder:"Verification Code",submitText:"Submit",pageTipInfo:"We have sent a verification code to the following number:",pageTipUsername:"#{username}",sendText:"Verification code has been sent to your phone",verifySendInfo:"Send Verification.",verifySendInfoVoice:"Send Voice Verification.",countTime:60,countTimeVoice:20,noVerifycode:"No SMS received?",reSendText:"Resend",loading:"Login",vcodeloading:"Sending",loginLinkText:"Login",smsVerDialogVerifyCodeErr:"Code is empty",networkNoText:"Network error",is_voice_sms:publicData.is_voice_sms,is_voice:0,inputVCode:"Code",vcode:"Code",cancel:"Cancel",ok:"OK",setpassTip:"Please setting login password",sendvoiceSMS:"Send Voice SMS"}}[window.publicData.lang||"zh-cn"],getElement:function(e){return document.getElementById(this.module+"-"+e)},_getIrregularField:function(e){var t=this,a={pageTipInfo:'<p class="mod-page-tipInfo mod-page-tipInfo-gray">'+t.lang.pageTipInfo+"</p>",pageTipUsername:'<p class="mod-page-tipUsername">'+(t.data.code||"")+" "+t.lang.pageTipUsername+"</p>",pageTipNoSetPwd:'<div class="mod-page-sub-tipInfo mod-page-tip-noSetpwd"><p class="mod-page-noSetpwd-msg">'+t.lang.setpassTip+"</p></div>",resendWrapper:'<div id="'+t.module+"-"+e+'"></div>',links:'<p class="f14 gray clearfix"><a data-role="login">'+t.lang.loginLinkText+"</a></p>",voice_sms:'<div class="mod-voice-sms"><input type="button" class="sms_verify-voice-verify voice_sms_disabled" disabled="true" id="sms_verify-voiceVerify" value="'+t.lang.sendvoiceSMS+'"/></div>'};return a[e]},_getTemplate:function(){var e=this,a=new Pass.ui.temp({module:e.module}),i='<article class="wrapper" id="'+this.module+'">',n=publicData,o={sms:1};return n.smsverify=1,n.vcodesign="",n.vcodestr="",n.dialogVerifyCode="","apps"!=publicData.adapter&&1!=publicData.adapter&&3!=publicData.adapter&&(i+=a._getHeaderField({title:e.lang.title,nextRole:"reg",goBack:!0})),i+='<div class="mod-content" id="'+a.getId("contentWrapper")+'">',i+=e._getIrregularField("pageTipInfo"),i+=e._getIrregularField("pageTipUsername").replace("#{username}",t.view._substrMobile(e.data.username)||""),e.data.checkUserid&&(i+=e._getIrregularField("pageTipNoSetPwd")),i+='<form autocomplete="off" id="'+a.getId("formWrapper")+'" method="POST" class="pass-form-wrapper m-t25 clearfix">',i+=a._getVCodeSmsField({field:"smsvc",type:"tel",placeholder:e.lang.passwordPlaceholder}),i+=a._getErrorField(),i+=a._getSubmitField({value:e.lang.submitText}),1==publicData.is_voice_sms&&(i+=e._getIrregularField("voice_sms")),i+=a._getHiddenField(n),i+=a._getHiddenField(o),i+="</form>",i+=a._getLoadingField({module:e.module,html:e.lang.loading}),i+="</div>",i+="</article>"},render:function(e,a){var i=this,n=$("#"+i.module);i.data=a||{},a&&a.mobilenum&&""!=a.mobilenum&&(i.data.username=a.mobilenum),i.error.field="",n.length>0&&n.remove(),i.data.countrycode=i.data.code&&"+86"!=i.data.code?"00"+i.data.code.substring(1):"";var o=i._getTemplate();"[object string]"==Object.prototype.toString.call(e).toLowerCase()?$("#"+e).append(o):e.append(o),Pass.switchView(i.module),i.setEvent(),this.initialized||(this.initialized=!0,i._setValidator()),t.view.inputBlur()},setVcodeVal:function(e){var a=this;a.getElement("smsvc").value=e,e&&$(a.getElement("submit")).click(),t.view.setSubmitStyle(a,0)},setEvent:function(){var e=this;$("[data-role]",$("#"+e.module)).each(function(){$(this).attr("data-role");t.view.cutPage($(this))});var a=function(t){e._eventHandler.entrance.apply(e,[t])};$(".pass-text-input",e.getElement("formWrapper")).on({focus:a,blur:a,keyup:a}),$(".pass-input-clearValue",e.getElement("formWrapper")).each(function(e,a){var a=$(this);t.view.clearInputValueBtn(a.prev(),a)}),"android"==publicData.client&&t.client.vcodetoclient(e.module);new Pass.ui.button({handler:$(e.getElement("verifyCodeSend")),url:apiDomain+"/wp/api/login/sms?v="+(new Date).getTime(),type:"POST",dataType:"json",sendText:e.lang.verifySendInfo,reSend:e.lang.reSendText,page:"ax_slogin_vcd",initStatus:"disabled",timmerText:e.lang.networkNoText,loadingText:e.lang.vcodeloading,tapcallback:function(){$(e.getElement("voiceVerify")).attr("disabled",!0).addClass("voice_sms_disabled"),$(e.getElement("smsvc")).val(""),$(e.getElement("submit")).addClass("pass-button-full-disabled")},data:function(){var t={username:e.data.checkUserid?e.data.checkUserid:e.data.username,isuserid:e.data.isuserid?e.data.isuserid:"",sub_source:e.data.sub_source?e.data.sub_source:"",tpl:publicData.tpl,clientfrom:publicData.clientfrom,countrycode:e.data.countrycode,dialogVerifyCode:e.getElement("dialogVerifyCode").value,vcodesign:e.getElement("vcodesign").value,vcodestr:e.getElement("vcodestr").value};return t},success:function(){e.getElement("vcodesign").value="",e.getElement("vcodestr").value="","android"==publicData.client&&t.client.vcodetoclient(e.module),t.infoAnimate(e.module,e.lang.sendText)},error:function(a){if(50020==a.errInfo.no||50021==a.errInfo.no){$(e.getElement("loadingMask")).hide(),$(e.getElement("loading")).hide();var i=a.data.vcodestr;e.getElement("vcodesign").value="",e.getElement("vcodestr").value="",a.data.verifyCodeData={vcodestr:i,from_module:"sms_verify",mask:!0,verifySuccessFn:function(t){e.getElement("dialogVerifyCode").value=t||"",e.getElement("vcodesign").value=a.data.vcodesign,e.getElement("vcodestr").value=i,$(e.getElement("verifyCodeSend")).click(),e.sms_verify_vcode.remove()}},e.sms_verify_vcode=new t.ui.vcode(a.data.verifyCodeData)}else e._validateError({msg:a.errInfo.msg,field:"smsvc"})}});if(e.getElement("voiceVerify")){new Pass.ui.button({handler:$(e.getElement("voiceVerify")),url:apiDomain+"/wp/api/login/sms?v="+(new Date).getTime(),type:"POST",dataType:"json",sendText:e.lang.verifySendInfoVoice,reSend:e.lang.reSendText,page:"ax_slogin_vcd",is_voice_sms:1,timmerText:e.lang.networkNoText,loadingText:e.lang.vcodeloading,sTime:20,tapcallback:function(){e.getElement("verifyCodeSend").disabled=!0,$(e.getElement("smsvc")).val(""),$(e.getElement("submit")).addClass("pass-button-full-disabled")},data:function(){var t={username:e.data.checkUserid?e.data.checkUserid:e.data.username,isuserid:e.data.isuserid?e.data.isuserid:"",sub_source:e.data.sub_source?e.data.sub_source:"",tpl:publicData.tpl,clientfrom:publicData.clientfrom,countrycode:e.data.countrycode,is_voice_sms:1,dialogVerifyCode:e.getElement("dialogVerifyCode").value,vcodesign:e.getElement("vcodesign").value,vcodestr:e.getElement("vcodestr").value};return t},success:function(){e._validateSuccess({msg:"验证码将通过电话告知您，请注意接听"}),e.getElement("vcodesign").value="",e.getElement("vcodestr").value="","android"==publicData.client&&t.client.vcodetoclient(e.module)},error:function(a){if(e.getElement("verifyCodeSend").disabled=!1,50020==a.errInfo.no||50021==a.errInfo.no){$(e.getElement("loadingMask")).hide(),$(e.getElement("loading")).hide(),a.data.tempid=a.data.tempid;var i=a.data.vcodestr;e.getElement("vcodesign").value="",e.getElement("vcodestr").value="",a.data.verifyCodeData={vcodestr:i,from_module:"sms_verify",mask:!0,verifySuccessFn:function(t){e.getElement("dialogVerifyCode").value=t||"",e.getElement("vcodesign").value=a.data.vcodesign,e.getElement("vcodestr").value=i,$(e.getElement("voiceVerify")).click(),e.voice_login_vcode.remove()}},e.voice_login_vcode=new t.ui.vcode(a.data.verifyCodeData)}else e._validateError({msg:a.errInfo.msg,field:"smsvc"})}})}$(e.getElement("formWrapper")).on("submit",a),t.view.fullButton($(e.getElement("submit")))},_setValidator:function(){var e=this;e.validateRules={smsvc:{rules:["required"],desc:e.lang.password}},e._validator.init(e,e.validateRules)},_validateError:function(e){var a=this;t.infoAnimate(a.module,e.msg),t.view.setSubmitStyle(a),e.field?(a.error.field=e.field,$(e.field).parents("span.pass-form-input-wrapper-forvcode").addClass("pass-form-item-error")):a.error.field=""},_validateSuccess:function(e){var a=this;e.msg?t.infoAnimate(a.module,e.msg):e.field==a.error.field&&(t.removeInfoAnimate(a.module),a.error.field="")},_eventHandler:function(){var a=this,i={focus:function(e){t.view._setFocusStyle(a,e)},blur:function(e){t.view._setBlurStyle(a,e),t.view.setSubmitStyle(a,0)},keyup:function(e){t.view.setSubmitStyle(a);var i={smsvc:"num_slogin_wvcd"};a["logPNum"+e]||(a["logPNum"+e]=!0,t.client.logPV(i[e]))}},n={blur:{},submit:function(i){var n=a.getElement("submit");i.preventDefault(),n.disabled||a.validateAll({success:function(){function i(){var i=(new Date).getTime();o.mobilenum=a.data.username,o.username=a.data.username,o.countrycode=a.data.countrycode,o.loginmerge="",o.tpl=publicData.tpl||"ppdemo",o.passAppHash=publicData.passAppHash||"",o.passAppVersion=publicData.passAppVersion||"",a.data.checkUserid&&(o.isuserid=a.data.isuserid,o.username=a.data.checkUserid,o.sub_source="leadsetpwd",o.clientfrom="native"),$.post(apiDomain+"/wp/api/login?v="+(new Date).getTime(),o,function(s){var l=(new Date).getTime()-i;if(t.logAll&&t.logAll.logBfb&&t.logAll.logBfb({en:"appsapi-"+a.module+"_request",ev:[a.module,"request",s.errInfo.no,s.errInfo.msg]}),0==s.errInfo.no)if($(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),"ios"==publicData.client||"android"==publicData.client){var r=s.data.xml.replace("{#user.account#}","").replace("{#user.password#}","").replace("<livinguname></livinguname>","<livinguname>"+encodeURIComponent(s.data.livinguname)+"</livinguname>");t.client.success(r)}else document.location=publicData.u;else if(400410==s.errInfo.no||400412==s.errInfo.no){$(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide();var r=s.data.xml.replace("{#user.account#}","").replace("{#user.password#}","").replace("<livinguname></livinguname>","<livinguname>"+encodeURIComponent(s.data.livinguname)+"</livinguname>"),d={};d.xml=r,d.from_module=a.module,d.authsid=s.data.authsid||"",d.bdstoken=s.data.bdstoken||"",d.tpl=o.tpl,400410==s.errInfo.no?(d.jump=!0,d.type="set",a.data.checkUserid&&(d.isuserid=1,d.checkUserid=a.data.checkUserid,d.sub_source="leadsetpwd",d.clientfrom="native"),Pass._getScript("setpwd",function(e){e.render("pageWrapper",d)})):(d.jumpset=s.data.jumpset||"",Pass._getScript("setunamepwd",function(e){e.render("pageWrapper",d)}))}else if(72200==s.errInfo.no){var c='<div class="page-dialog-content"><p class="page-dialog-title">提示</p><p>'+s.errInfo.msg+'</p></div><div class="dialog-content-btn tcenter"><input type="button" value="取消" class="pass-button-auto pass-dialog-btnleft" id="dialogmsg-smscancel-btn"><input type="button" value="去解冻" class="pass-button-auto pass-dialog-btnright" id="dialogmsg-smsunfreeze-btn"></div>';e=new Pass.ui.dialog({width:"90%",mask:!0,content:c}),$("#dialogmsg-smscancel-btn").live("touchend",function(t){t.preventDefault(),e.remove()}),$("#dialogmsg-smsunfreeze-btn").live("touchend",function(a){a.preventDefault();var i=window.location.href,n=location.protocol+"//"+location.hostname,o="?tpl="+publicData.tpl+"&client="+publicData.client+"&clientfrom="+publicData.clientfrom,s=n+"/wp/v3/ucenter/accountunfreezeapply"+o;if(e.remove(),1==publicData.enableExternalWeb){var l=s+"&enableExternalWeb=1&adapter=3";"android"===publicData.client?prompt('{"action":{"name":"action_load_external_webview",params:[帐号解冻,"'+l+'"]}}'):t.client.deviceClass("action_load_external_webview",{placeholderTitle:"帐号解冻",url:encodeURIComponent(l)})}else window.location.href=s+"&newForgetPwd=no&redireu="+encodeURIComponent(i)})}else 400413==s.errInfo.no?(s.data.loginType="sms",t._getScript("smsSecondcard",function(e){e.render("pageWrapper",s.data)})):400414==s.errInfo.no?(s.data.loginType="sms",t._getScript("secondCardVerify",function(e){e.render("pageWrapper",s.data)})):($(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),a._validateError({msg:s.errInfo.msg,field:"smsvc"}),$.inArray(s.errInfo.no,["400011","400015"])>-1);n.disabled=!1,$(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),clearTimeout(a.submitTimer),("ios"==publicData.client||"android"==publicData.client)&&t.client.logAjax("sms_login",l,s.errInfo.no)},"json"),a.submitTimer=setTimeout(function(){n.disabled=!1,$(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),a._validateError({msg:a.lang.networkNoText,field:"smsvc"})},15e3)}a.getElement("submit").focus();var o=$(a.getElement("formWrapper")).formJson();n.disabled=!0,t.logAll&&t.logAll.logBfb&&t.logAll.logBfb({en:"appsapi-"+a.module+"_submit",ev:[a.module,"click"]}),$(a.getElement("loadingMask")).show(),$(a.getElement("loading")).show();try{setMaxDigits(131);var s=new RSAKeyPair("10001","",a.rsa);o.password=encryptedString(s,o.password)}catch(l){}i()}},!0)}};return{entrance:function(e){a=this;var t=($(e.target),e.target.name);if(!t&&e.target.id){var o=e.target.id.match(/sms_verify-(.*)$/);o&&(t=o[1])}t&&(i.hasOwnProperty(e.type)&&i[e.type].apply($(e.target),[t,e]),n.hasOwnProperty(e.type)&&("function"==typeof n[e.type]&&n[e.type].apply($(e.target),[e]),n[e.type].hasOwnProperty(t)&&n[e.type][t].apply($(e.target),[t,e])))}}}()})}); Pass._define("fastReg",function(){var e=Pass,t={error:{field:""},module:"fastReg",data:{}};return t=$.extend(t,{lang:{"zh-cn":{title:publicData.fastRegText?decodeURIComponent(publicData.fastRegText):"手机一键注册",loading:"正在处理中...",tipPayMsg:"系统将使用您当前手机号发送一条短信验证您的身份，预计花费0.1元，短信费用将由短信运营商收取",tipTitle:"注册成功后",tipList1:"帐号：即为当前手机号，用于登录和找回密码;",tipList2:"密码：系统自动帮您生成密码，随时可以修改;",readAndAccept:"我已阅读并同意",agreement:"百度用户协议"},en:{title:"Sign Up",loading:"Proccessing",tipPayMsg:"System will send a short message to your current cellphone for verification. Expected charge is 0.1 yuan by telecom provider.",tipTitle:"After successful registration",tipList1:"Account: Your current cellphone number, used to login and retrieve password.",tipList2:"Password: System automatically generates password and can be revised at any time.",readAndAccept:"Agree to",agreement:"Baidu Service Agreement"}}[window.publicData.lang||"zh-cn"],getElement:function(e){return document.getElementById(this.module+"-"+e)},_getIrregularField:function(e){var t=this,i={loading:'<p class="loading loading1">'+t.lang.loading+"</p>",tipPayMsg:'<p class="fast-reg-tippaymsg">'+t.lang.tipPayMsg+"</p>",tipTitle:"<h4>"+t.lang.tipTitle+"</h4>",tipList1:"<li>"+t.lang.tipList1+"</li>",tipList2:"<li>"+t.lang.tipList2+"</li>",regAgreement:'<p class="f14 gray m-t10">'+t.lang.readAndAccept+' <a data-role="agreement">&lt;&lt;'+t.lang.agreement+"&gt;&gt;</a></p>"};return i[e]},_getTemplate:function(){var e=this,t=new Pass.ui.temp({module:e.module}),i='<article class="wrapper" id="'+this.module+'">';return"apps"!=publicData.adapter&&1!=publicData.adapter&&3!=publicData.adapter&&(i+=t._getHeaderField({title:e.lang.title,goBack:!0})),i+='<div class="mod-content" id="'+t.getId("contentWrapper")+'">',i+=e._getIrregularField("loading"),i+='<section class="fast-reg-tip">',i+=e._getIrregularField("tipPayMsg"),i+=e._getIrregularField("tipTitle"),i+="<ul>",i+=e._getIrregularField("tipList1"),i+=e._getIrregularField("tipList2"),i+="</ul></section>",i+=e._getIrregularField("regAgreement"),i+="</article>"},render:function(e){var t=this;if(t.initialized)Pass.switchView(t.module);else{var i=t._getTemplate();"[object string]"==Object.prototype.toString.call(e).toLowerCase()?$("#"+e).append(i):e.append(i),this.initialized=!0,Pass.switchView(t.module),this.setEvent()}},setEvent:function(){var t=this;$("[data-role]",$("#"+t.module)).each(function(){e.view.cutPage($(this))})}})}); Pass._define("face_login",function(){var e=Pass,i={module:"face_login",initialized:!1};return i=$.extend(i,{lang:{"zh-cn":{title:"刷脸登录",submitText:"刷脸登录",baiduLogin:"帐号密码登录",smsLogin:"短信快速登录",loading:"认证中",submitLoading:"登录中...",forgot:"遇到问题",reg:"快速注册",networkError:"网络连接失败，请检查您的网络设置并稍后再试。"},en:{title:"Face Login",submitText:"Face Login",baiduLogin:"Login",smsLogin:"SMS Login",loading:"loading",submitLoading:"Login...",forgot:"Can't Login?",reg:"Sign Up",networkError:"Network error"}}[window.publicData.lang||"zh-cn"],getElement:function(e){return document.getElementById(this.module+"-"+e)},getIrregularField:function(e){var i=this,a={baidLogin:'<span id="'+i.module+'-baidLogin" class="link-font" >'+i.lang.baiduLogin+"</span>",smsLogin:'<span id="'+i.module+'-smsLogin" class="right link-font" >'+i.lang.smsLogin+"</span>",forgot:'<div id="'+i.module+'-forgot" class="login-register">'+i.lang.forgot+"</div>",regLink:'<div id="'+i.module+'-register" class="login-register">'+i.lang.reg+'</div><span class="spilit-line">|</span>',loading:'<div class="biometry-loadingMask"><p class="biometry-loading">'+i.lang.loading+'</p><div class="biometry-loadingImg"></div></div>'};return a[e]},getTemplate:function(){var e=this,i=new Pass.ui.temp({module:e.module}),a=publicData;a.authtoken="";var t="";return t+='<article class="wrapper" id="'+this.module+'">',"apps"!==publicData.adapter&&"1"!==publicData.adapter&&"3"!==publicData.adapter&&(t+=i._getHeaderField({title:"<span >"+e.lang.title+"</span>",goBack:!0,usual:!0})),t+='<div class="face-main clearfix">',t+='<div class="user-info" id="'+i.getId("userInfo")+'"><div class="face-user-img"><span class="user-default-img" id="'+i.getId("defaultImg")+'"></span><img src="" id="'+i.getId("userImg")+'"/></div><p id="'+i.getId("userName")+'"></p></div>',t+=i._getErrorField(),t+=i._getSubmitField({value:e.lang.submitText,disabled:!0}),t+=e.getIrregularField("baidLogin"),t+=e.getIrregularField("smsLogin"),t+="</div>",t+=i._getHiddenField(a),t+='<div class="register-content" id="'+e.module+'-registerWrapper"><div class="bottom-link">'+("1"===publicData.regLink?e.getIrregularField("regLink"):"")+e.getIrregularField("forgot")+"</div></div>",t+=e.getIrregularField("loading"),t+="</article>"},clearErrorMsg:function(){var e=this;$(e.getElement("errorWrapper")).html("")},setErrorMsg:function(e){var i='<div class="pass-dialog-content pass-fast-dialog"><p class="page-dialog-title">提示</p><p id="fastdialog-msg">'+e+'</p></div><div class="dialog-content-btn"><a class="dialog-banner-mainbtn" id="dialogmsg-ok-btn">确定</a></div>';dialogMsg=new Pass.ui.dialog({width:"90%",mask:!0,content:i}),$("#dialogmsg-ok-btn").live("click",function(){dialogMsg.remove()})},render:function(e,i){var a=this;if(a.data=i||{},a.initialized)Pass.switchView(a.module);else{var t=a.getTemplate();"[object string]"===Object.prototype.toString.call(e).toLowerCase()?$("#"+e).append(t):e.append(t),window.Pass.face_login=a,this.initialized=!0,Pass.switchView(a.module),a.setEvent()}a.getUid();var n=(window.screen.height,window.innerHeight);if(n>430&&($("html").css("height","100%"),$("body").css("height","100%")),$(a.getElement("registerWrapper")).html()){var l=$(a.getElement("registerWrapper")).offset().top;$(a.getElement("registerWrapper")).height($(window).height()-l).css("visibility","visible")}},setEvent:function(){var i=this;$("[data-role]",$("#"+i.module)).each(function(){e.view.cutPage($(this))}),e.view.tap($(i.getElement("baidLogin")),function(){if(e.logAll.logPass){var a={page:"face_login",source:"appsapi",tpl:publicData.tpl},t={eventType:"face_login_baidLogin_click",faceLoginCase:i.data.faceLoginCase||"none"};e.logAll.logPass(a,t)}e._getScript("login",function(e){e.render("pageWrapper",i.module)})}),e.view.tap($(i.getElement("smsLogin")),function(){if(e.logAll.logPass){var a={page:"face_login",source:"appsapi",tpl:publicData.tpl},t={eventType:"face_login_smsLogin_click",faceLoginCase:i.data.faceLoginCase||"none"};e.logAll.logPass(a,t)}e._getScript("sms_login",function(e){e.render("pageWrapper",i.module)})}),$(i.getElement("register")).on("touchend",function(a){a.preventDefault(),e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-"+i.module+"_reg_link",ev:[i.module,"click",publicData.overseas]}),"1"===publicData.fastRegLink&&"android"===publicData.client?window.sapi_obj&&window.sapi_obj.action_fast_reg?window.sapi_obj.action_fast_reg():"android"===publicData.client?prompt("{action:{name:'action_fast_reg'}}"):"ios"===publicData.client&&this.deviceClass("action_fast_reg"):e._getScript("reg",function(e){e.render("pageWrapper",i.module)})}),e.view.tap($(i.getElement("forgot")),function(a){if(a.preventDefault(),e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-"+i.module+"_question_link",ev:[i.module,"click",publicData.overseas]}),e.logAll.logPass){var t={page:"login",source:"appsapi",tpl:publicData.tpl},n={eventType:"face_login_question_link_click"};e.logAll.logPass(t,n)}Pass._getScript("question",function(e){var i={type:"question"};e.render("pageWrapper",i)})}),$(i.getElement("submit")).on("touchend",function(e){e.preventDefault(),i.submitFaceLogin()})},getUid:function(){var i=this;if("android"===publicData.client){var a=e.client.deviceClass("getFaceLoginInfo");a=JSON.parse(a),i.data.livinguname=a.livinguname,i.data.faceLoginCase=JSON.parse(a.queryRes).exp_case}else"ios"===publicData.client&&e.client.deviceClass("getFaceLoginInfo",{},function(e,a){var a=a||{},t=a.result;i.data.livinguname=t.livinguname,i.data.faceLoginCase=t.queryRes.exp_case,i.getUserInfo()})},getUserInfo:function(){var e=this,i={tpl:publicData.tpl,clientfrom:publicData.clientfrom,client:publicData.client,username:e.data.livinguname},a=$(e.getElement("userImg"));$.ajax({url:apiDomain+"/v3/login/api/prelivinglogin?tt="+(new Date).getTime(),data:i,type:"POST",success:function(i){var i=JSON.parse(i);"0"===i.errInfo.no?(a.attr("src",i.data.portrait+"?tt="+(new Date).getTime()),$(e.getElement("defaultImg")).hide(),a.show(),$(e.getElement("userName")).html(i.data.username),e.userName=i.data.username,i.data.authtoken&&($(e.getElement("submit")).removeAttr("disabled").removeClass("pass-button-full-disabled"),$(e.getElement("authtoken")).val(i.data.authtoken))):e.setErrorMsg(i.errInfo.errmsg)},error:function(){e.setErrorMsg(e.lang.networkError)}})},submitFaceLogin:function(){var e=this,i=$(e.getElement("submit"));"disabled"!=i.attr("disabled")&&(i.attr("disabled","disabled").addClass("pass-button-full-disabled"),""!==$(e.getElement("authtoken")).val()&&e.identification($(e.getElement("authtoken")).val()))},identification:function(i){var a=this,t=publicData.subpro||"pp";if($(a.getElement("submit")).removeAttr("disabled").removeClass("pass-button-full-disabled"),"ios"==publicData.client)e.client.deviceClass("sapi_biometrics_identification_with_authtoken",{type:1,subpro:t,authtoken:encodeURIComponent(i)},function(e,i){$(".biometry-loadingMask").show(),a.upliving(i.credentialKey,i.authsid)},function(e,i){if(-204!=i.errno){var t=i.errmsg;-301==i.errno||-302==i.errno||-306==i.errno?t="登录失败，请确保本人操作，或尝试其他登录方式":-303==i.errno&&(t="刷脸功能获取失败，请重新尝试"),a.setErrorMsg(t)}});else{var n=JSON.parse(prompt('{action: {name: "sapi_biometrics_identification_with_authtoken", params: ["1","'+i+'","0","'+t+'"]}}'));if(0===n.errno)$(".biometry-loadingMask").show(),a.upliving(n.credentialKey,n.authsid);else if(-204!=n.errno){var l=n.errmsg;-301==n.errno||-302==n.errno||-306==n.errno?l="登录失败，请确保本人操作，或尝试其他登录方式":-303==n.errno&&(l="刷脸功能获取失败，请重新尝试"),a.setErrorMsg(l)}}},upliving:function(i){var a=this,t={};t.callbackkey=i,t.tpl=publicData.tpl,t.clientfrom=publicData.clientfrom,t.client=publicData.client,t.token=$(a.getElement("authtoken")).val(),t.username=a.data.livinguname,t.faceLoginCase=a.data.faceLoginCase||"none",$.ajax({url:"/v3/login/api/livinglogin",data:t,type:"POST",success:function(i){var i=JSON.parse(i);if(0==i.errInfo.no)if($("#face_login").hide(),"ios"==publicData.client||"android"==publicData.client){var t=i.data.xml.replace("<account></account>","<account>"+a.username+"</account>").replace("<password></password>","<password></password>").replace("<livinguname></livinguname>","<livinguname>"+encodeURIComponent(i.data.livinguname)+"</livinguname>");e.client.success(t)}else document.location=publicData.u;else $(".biometry-loadingMask").hide(),a.setErrorMsg({msg:i.errInfo.msg})}})}})}); </script><script type="text/javascript">
    $(function(){
        var module = location.hash.substring(1) || publicData.action || 'login';
        Pass._getScript(module,function(module){
            module.render('pageWrapper')
        })
    })
    </script>
</body>
</html>
