package Ġio . n ich ij ou . utils . fp Ċ Ċ import Ġcom . google . gson . Gson Ċ import Ġcom . google . gson . annotations . SerializedName Ċ import Ġokhttp 3 .* Ċ import Ġokhttp 3 . logging . Http Logging Interceptor Ċ import Ġorg . mozilla . javascript . Context Ċ import Ġorg . mozilla . javascript . Function Ċ import Ġjava . io . File Ċ import Ġjava . net . Cookie Manager Ċ import Ġjava . net . Cookie Policy Ċ import Ġjava . net . URL Encoder Ċ import Ġjava . security . Secure Random Ċ import Ġjava . security . cert . Certificate Exception Ċ import Ġjava . security . cert . X 5 0 9 Certificate Ċ import Ġjava . util . concurrent . TimeUnit Ċ import Ġjava . util . regex . Pattern Ċ import Ġjavax . net . ssl . SSL Context Ċ import Ġjavax . net . ssl . Trust Manager Ċ import Ġjavax . net . ssl . X 5 0 9 Trust Manager Ċ import Ġkotlin . random . Random ĊĊ Ċ class ĠF ap iao Ġprivate Ġconstructor () Ġ{ ĊĠ Ġprivate Ġval Ġgson Ġby Ġlazy ( Lazy Thread Safety Mode . SYN CH RON IZED ) Ġ{ ĊĠĠĠ ĠGson () ĊĠ Ġ} ĊĊĠ Ġprivate Ġval Ġnormal Client Ġby Ġlazy ( Lazy Thread Safety Mode . SYN CH RON IZED ) Ġ{ ĊĠĠĠ Ġval Ġlogging Interceptor Ġ= ĠHttp Logging Interceptor () ĊĠĠĠ Ġlogging Interceptor . level Ġ= ĠHttp Logging Interceptor . Level . BODY ĊĠĠĠ Ġval Ġcookie Manager Ġ= ĠCookie Manager () ĊĠĠĠ Ġcookie Manager . set Cookie Policy ( Cookie Policy . ACCEPT _ ALL ) ĊĠĠĠ Ġval Ġcookie Jar Ġ= ĠJava Net Cookie Jar ( cookie Manager ) ĊĠĠĠ Ġval Ġbuilder Ġ= ĠOk HttpClient . Builder () ĊĠĠĠĠĠ Ġ. add Network Interceptor ( logging Interceptor ) ĊĠĠĠĠĠ Ġ. read Timeout ( 3 0 , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠ Ġ. write Timeout ( 3 0 , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠ Ġ. connect Timeout ( 3 0 , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠ Ġ. cookie Jar ( cookie Jar ) ĊĠĠĠĠĠ Ġ. retry On Connection Failure ( true ) ĊĠĠĠĠĠ Ġ. hostname Verifier Ġ{ Ġ_, Ġ_ Ġ-> Ġtrue Ġ} ĊĠĠĠ Ġval Ġtrust Manager Ġ= Ġobject Ġ: ĠX 5 0 9 Trust Manager Ġ{ ĊĠĠĠĠĠ Ġ@ Throws ( Certificate Exception :: class ) ĊĠĠĠĠĠ Ġoverride Ġfun Ġcheck Client Trusted ( chain : ĠArray < X 5 0 9 Certificate >, Ġauth Type : ĠString ) Ġ= ĠUnit ĊĊĠĠĠĠĠ Ġ@ Throws ( Certificate Exception :: class ) ĊĠĠĠĠĠ Ġoverride Ġfun Ġcheck Server Trusted ( chain : ĠArray < X 5 0 9 Certificate >, Ġauth Type : ĠString ) Ġ= ĠUnit ĊĊĠĠĠĠĠ Ġoverride Ġfun Ġget Accepted Iss u ers (): ĠArray < X 5 0 9 Certificate > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠarrayOf () ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġval Ġssl Context Ġ= ĠSSL Context . getInstance (" TLS ") ĊĠĠĠ Ġssl Context . init ( null , ĠarrayOf < Trust Manager >( trust Manager ), ĠSecure Random ()) ĊĠĠĠ Ġbuilder . ssl Socket Factory ( ssl Context . socket Factory , Ġtrust Manager ) ĊĠĠĠ Ġbuilder . build () ĊĠ Ġ} ĊĊĠ Ġfun Ġget Ver Code ( params : ĠVer Code Params ): ĠVer Code Wrapper ? Ġ{ ĊĠĠĠ Ġval Ġfp dm Ġ= Ġparams . fp dm ĊĠĠĠ Ġval Ġf ph m Ġ= Ġparams . f ph m ĊĠĠĠ Ġval Ġsm Ġ= ĠSystem . currentTimeMillis () Ġ- ĠRandom . nextInt ( 1 0 0 0 ) Ġ- Ġ 5 0 0 // Ġ å°Ŀè¯ķ åĩı åİ» èĩ³ å°ĳ 5 0 0 æ¯ « ç§Ĵ æĹ¶éĹ´ ï¼Į æ¨¡ æĭŁ æµıè§ĪåĻ¨ åĬłè½½ éģİ ç¨ĭ ä¸Ń ï¼Į jquery åĪĿå§ĭåĮĸ ĊĠĠĠ Ġval Ġts Ġ= Ġsm Ġ+ Ġ 1 // Ġæ¨¡ æĭŁ ç¬¬ ä¸Ģæ¬¡ åĬłè½½ çļĦæĹ¶éĹ´ æĪ ³ ĊĠĠĠ Ġval Ġcallback Ġ= Ġ" jQuery 1 1 0 2 ${ Math . random (). toString (). replace (".", Ġ"") }_ $ sm " ĊĠĠĠ Ġval Ġnow Ġ= ĠSystem . currentTimeMillis () ĊĠĠĠ Ġval ĠpublicKey Ġ= Ġget Ver Code PublicKey ( fp dm , Ġnow . toString ()) ĊĠĠĠ Ġval Ġarea Ġ= Ġget F ap iao Area ( fp dm ) ĊĠĠĠ Ġval Ġurl Ġ= ĠVER _ CODE _ URL Ġ+ ĊĠĠĠĠĠ Ġ"? callback =$ callback " Ġ+ ĊĠĠĠĠĠ Ġ"& fp dm =$ fp dm " Ġ+ ĊĠĠĠĠĠ Ġ"& f ph m =$ f ph m " Ġ+ ĊĠĠĠĠĠ Ġ"& r =${ Math . random () }" Ġ+ ĊĠĠĠĠĠ Ġ"& v = V 1 . 0 . 0 7 _ 0 0 1 " Ġ+ ĊĠĠĠĠĠ Ġ"& now time =$ now " Ġ+ ĊĠĠĠĠĠ Ġ"& area =${ area . code }" Ġ+ ĊĠĠĠĠĠ Ġ"& public key =$ publicKey " Ġ+ ĊĠĠĠĠĠ Ġ"& _ =$ ts " ĊĠĠĠ Ġlog (" get Ver Code : Ġ$ url ") ĊĠĠĠ Ġval Ġrequest Ġ= ĠRequest . Builder () ĊĠĠĠĠĠ Ġ. get () ĊĠĠĠĠĠ Ġ. url ( url ) ĊĠĠĠĠĠ Ġ. header (" User - Agent ", ĠUSER _ AGENT ) ĊĠĠĠĠĠ Ġ. header (" Refer er ", ĠHOME ) ĊĠĠĠĠĠ Ġ. header (" Accept ", Ġ"* /* ") ĊĠĠĠĠĠ Ġ. header (" Accept - Language ", Ġ" zh - CN , zh ; q = 0 . 9 ") ĊĠĠĠĠĠ Ġ. header (" Cache - Control ", Ġ" no - cache ") ĊĠĠĠĠĠ Ġ. header (" Connection ", Ġ" keep - alive ") ĊĠĠĠĠĠ Ġ. header (" Pr agma ", Ġ" no - cache ") ĊĠĠĠĠĠ Ġ. header (" D NT ", Ġ" 1 ") ĊĠĠĠĠĠ Ġ. header (" Host ", Ġarea . url . split (": ")[ 1 ]. replace ("// ", Ġ"")) ĊĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġval Ġresponse Ġ= Ġnormal Client . new Call ( request ). execute () ĊĠĠĠ Ġif Ġ( response . is Successful ) Ġ{ ĊĠĠĠĠĠ Ġval Ġresult Ġ= Ġresponse . body ()?. string () ĊĠĠĠĠĠ Ġif Ġ(! result . isNull Or Blank ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmatcher Ġ= ĠPattern . compile ("^ jQuery \\ d + _ \\ d + \\ (( .* )\\ )$ "). matcher ( result ) ĊĠĠĠĠĠĠĠ Ġif Ġ( matcher . find ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġval Ġjson Ġ= Ġmatcher . group ( 1 ) ĊĠĠĠĠĠĠĠĠĠ Ġval Ġresp Ġ= Ġgson . fromJson < F ap iao Response >( json , ĠF ap iao Response :: class . java ) ĊĠĠĠĠĠĠĠĠĠ Ġval Ġver Code Ġ= ĠVer Code ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimg Ġ= Ġ" data : image / png ; base 6 4 , ${ resp . key 1 }", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= Ġresp . key 4 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhint Ġ= ĠVer Code Type . get Hint By Code ( resp . key 4 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdate Ġ= Ġresp . key 2 ĊĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠ Ġval Ġextra Ġ= ĠF ap iao Req Extra ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcallback Ġ= Ġcallback , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġindex Ġ= Ġresp . key 3 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġold Web Ġ= Ġresp . key 5 ĊĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠ Ġreturn ĠVer Code Wrapper ( ver Code , Ġextra , Ġarea ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġnull ĊĠ Ġ} ĊĊĠ Ġfun Ġget F ap iao ( params : ĠF ap iao Params ): ĠF ap iao Wrapper ? Ġ{ ĊĠĠĠ Ġval Ġtype Ġ= Ġget F ap iao Type ( params . fp dm ) ĊĠĠĠ Ġval Ġarea Ġ= Ġget F ap iao Area ( params . fp dm ) ĊĠĠĠ Ġval ĠpublicKey Ġ= ĊĠĠĠĠĠ Ġget F ap iao PublicKey ( params . fp dm , Ġparams . f ph m , Ġparams . k pr q , Ġparams . extra , Ġparams . yz ms j , Ġparams . y zm ) ĊĠĠĠ Ġval Ġcallback Ġ= Ġparams . callback ĊĠĠĠ Ġval Ġts Ġ= Ġcallback . split ("_ ")[ 1 ]. to Long () Ġ+ Ġ 2 ĊĠĠĠ Ġval Ġurl Ġ= Ġif Ġ( params . old Web Ġ== Ġ" 1 ") Ġ{ ĊĠĠĠĠĠ Ġ"${ area . url }/ Web Query / inv Query " Ġ+ ĊĠĠĠĠĠĠĠ Ġ"? callback =$ callback " Ġ+ ĊĠĠĠĠĠĠĠ Ġ"& fp dm =${ params . fp dm }" Ġ+ ĊĠĠĠĠĠĠĠ Ġ"& f ph m =${ params . f ph m }" Ġ+ ĊĠĠĠĠĠĠĠ Ġ"& k pr q =${ params . k pr q }" Ġ+ ĊĠĠĠĠĠĠĠ Ġ"& fp je =${ params . extra }" Ġ+ ĊĠĠĠĠĠĠĠ Ġ"& f pl x =${ type . code }" Ġ+ ĊĠĠĠĠĠĠĠ Ġ"& y zm =${ params . y zm }" Ġ+ ĊĠĠĠĠĠĠĠ Ġ"& y zm S j =${ params . yz ms j . url Encode () }" Ġ+ ĊĠĠĠĠĠĠĠ Ġ"& index =${ params . index }" Ġ+ ĊĠĠĠĠĠĠĠ Ġ"& area =${ area . code }" Ġ+ ĊĠĠĠĠĠĠĠ Ġ"& public key =$ publicKey " Ġ+ ĊĠĠĠĠĠĠĠ Ġ"& _ =$ ts " ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠ Ġ"${ area . url }/ Web Query / vat Query " Ġ+ ĊĠĠĠĠĠĠĠ Ġ"? callback =$ callback " Ġ+ ĊĠĠĠĠĠĠĠ Ġ"& key 1 =${ params . fp dm }" Ġ+ ĊĠĠĠĠĠĠĠ Ġ"& key 2 =${ params . f ph m }" Ġ+ ĊĠĠĠĠĠĠĠ Ġ"& key 3 =${ params . k pr q }" Ġ+ ĊĠĠĠĠĠĠĠ Ġ"& key 4 =${ params . extra }" Ġ+ ĊĠĠĠĠĠĠĠ Ġ"& f pl x =${ type . code }" Ġ+ ĊĠĠĠĠĠĠĠ Ġ"& y zm =${ params . y zm }" Ġ+ ĊĠĠĠĠĠĠĠ Ġ"& y zm S j =${ params . yz ms j . url Encode () }" Ġ+ ĊĠĠĠĠĠĠĠ Ġ"& index =${ params . index }" Ġ+ ĊĠĠĠĠĠĠĠ Ġ"& area =${ area . code }" Ġ+ ĊĠĠĠĠĠĠĠ Ġ"& public key =$ publicKey " Ġ+ ĊĠĠĠĠĠĠĠ Ġ"& _ =$ ts " ĊĠĠĠ Ġ} ĊĠĠĠ Ġlog (" getF ap iao : Ġ$ url ") ĊĠĠĠ Ġval Ġver Code Ġ= ĠHttp Url . parse ( VER _ CODE _ URL ) Ġ?: Ġreturn Ġnull ĊĠĠĠ Ġval Ġcookies Ġ= Ġnormal Client . cookie Jar (). load For Request ( ver Code ). map Ġ{ ĠCookie . parse ( ver Code , Ġit . toString ()) Ġ} ĊĠĠĠ Ġnormal Client . cookie Jar (). save From Response ( Http Url . parse ( url ) Ġ?: Ġreturn Ġnull , Ġcookies ) ĊĠĠĠ Ġval Ġrequest Ġ= ĠRequest . Builder () ĊĠĠĠĠĠ Ġ. get () ĊĠĠĠĠĠ Ġ. url ( url ) ĊĠĠĠĠĠ Ġ. header (" User - Agent ", ĠUSER _ AGENT ) ĊĠĠĠĠĠ Ġ. header (" Refer er ", ĠHOME ) ĊĠĠĠĠĠ Ġ. header (" Accept ", Ġ"* /* ") ĊĠĠĠĠĠ Ġ. header (" Accept - Language ", Ġ" zh - CN , zh ; q = 0 . 9 ") ĊĠĠĠĠĠ Ġ. header (" Cache - Control ", Ġ" no - cache ") ĊĠĠĠĠĠ Ġ. header (" Connection ", Ġ" keep - alive ") ĊĠĠĠĠĠ Ġ. header (" Pr agma ", Ġ" no - cache ") ĊĠĠĠĠĠ Ġ. header (" D NT ", Ġ" 1 ") ĊĠĠĠĠĠ Ġ. header (" Host ", Ġarea . url . split (": ")[ 1 ]. replace ("// ", Ġ"")) ĊĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġval Ġresponse Ġ= Ġnormal Client . new Call ( request ). execute () ĊĠĠĠ Ġif Ġ( response . is Successful ) Ġ{ ĊĠĠĠĠĠ Ġval Ġresult Ġ= Ġresponse . body ()?. string () ĊĠĠĠĠĠ Ġif Ġ(! result . isNull Or Blank ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmatcher Ġ= ĠPattern . compile ("^ jQuery \\ d + _ \\ d + \\ (( .* )\\ )$ "). matcher ( result ) ĊĠĠĠĠĠĠĠ Ġif Ġ( matcher . find ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġval Ġresp Ġ= Ġgson . fromJson < F ap iao Response >( matcher . group ( 1 ), ĠF ap iao Response :: class . java ) ĊĠĠĠĠĠĠĠĠĠ Ġreturn ĠF ap iao Wrapper ( Resp Code . get Resp Code ( resp . key 1 ). msg , Ġresp ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġnull ĊĠ Ġ} ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġprivate Ġconst Ġval ĠVER _ CODE _ URL Ġ= Ġ" https :// f pc y . gd - n - tax . gov . cn / Web Query / y zm Query " ĊĠĠĠ Ġprivate Ġval ĠSPECIAL _ CODES Ġ= ĠarrayOf (" 1 4 4 0 3 1 5 3 9 1 1 0 ", Ġ" 1 3 1 0 0 1 5 7 0 1 5 1 ", Ġ" 1 3 3 0 1 1 5 0 1 1 1 8 ", Ġ" 1 1 1 0 0 1 5 7 1 0 7 1 ") ĊĠĠĠ Ġprivate Ġconst Ġval ĠUSER _ AGENT Ġ= ĊĠĠĠĠĠ Ġ" Mozilla / 5 . 0 Ġ( Windows ĠNT Ġ 1 0 . 0 ; ĠWin 6 4 ; Ġx 6 4 ) ĠAppleWebKit / 5 3 7 . 3 6 Ġ( KHTML , Ġlike ĠGecko ) ĠChrome / 7 4 . 0 . 3 7 2 9 . 1 0 8 ĠSafari / 5 3 7 . 3 6 " ĊĠĠĠ Ġprivate Ġconst Ġval ĠHOME Ġ= Ġ" https :// inv - ver i . ch in ata x . gov . cn /" ĊĠĠĠ Ġprivate Ġval ĠAre as Ġby Ġlazy Ġ{ ĊĠĠĠĠĠ Ġmutable ListOf ( ĊĠĠĠĠĠĠĠ ĠArea (" åĮĹäº¬ ", Ġ" 1 1 0 0 ", Ġ" https :// f pc y . be ij ing . ch in ata x . gov . cn : 4 4 3 "), ĊĠĠĠĠĠĠĠ ĠArea (" å¤© æ´ ¥ ", Ġ" 1 2 0 0 ", Ġ" https :// f pc y . t js at . gov . cn : 4 4 3 "), ĊĠĠĠĠĠĠĠ ĠArea (" æ²³ åĮĹ ", Ġ" 1 3 0 0 ", Ġ" https :// f pc y . he bei . ch in ata x . gov . cn "), ĊĠĠĠĠĠĠĠ ĠArea (" å±± è¥¿ ", Ġ" 1 4 0 0 ", Ġ" https :// f pc y . sh an xi . ch in ata x . gov . cn : 4 4 3 "), ĊĠĠĠĠĠĠĠ ĠArea (" åĨħ èĴ Ļ åı¤ ", Ġ" 1 5 0 0 ", Ġ" https :// f pc y . ne im eng gu . ch in ata x . gov . cn : 4 4 3 "), ĊĠĠĠĠĠĠĠ ĠArea (" è¾ ½ å®ģ ", Ġ" 2 1 0 0 ", Ġ" https :// f pc y . lia oning . ch in ata x . gov . cn : 4 4 3 "), ĊĠĠĠĠĠĠĠ ĠArea (" å¤§ è¿ŀ ", Ġ" 2 1 0 2 ", Ġ" https :// f pc y . dl nt ax . gov . cn : 4 4 3 "), ĊĠĠĠĠĠĠĠ ĠArea (" åĲ ī æŀĹ ", Ġ" 2 2 0 0 ", Ġ" https :// f pc y . j il in . ch in ata x . gov . cn : 4 4 3 2 "), ĊĠĠĠĠĠĠĠ ĠArea (" é»ĳ é¾Ļ æ±Ł ", Ġ" 2 3 0 0 ", Ġ" https :// f pc y . hl - n - tax . gov . cn : 4 4 3 "), ĊĠĠĠĠĠĠĠ ĠArea (" ä¸Ĭ æµ· ", Ġ" 3 1 0 0 ", Ġ" https :// f pc y web . tax . sh . gov . cn : 1 0 0 1 "), ĊĠĠĠĠĠĠĠ ĠArea (" æ±Ł èĭı ", Ġ" 3 2 0 0 ", Ġ" https :// f pc y . jiang su . ch in ata x . gov . cn : 8 0 "), ĊĠĠĠĠĠĠĠ ĠArea (" æµ Ļ æ±Ł ", Ġ" 3 3 0 0 ", Ġ" https :// f pc y . z he jiang . ch in ata x . gov . cn : 4 4 3 "), ĊĠĠĠĠĠĠĠ ĠArea (" å®ģ æ³¢ ", Ġ" 3 3 0 2 ", Ġ" https :// f pc y . ning bo . ch in ata x . gov . cn : 4 4 3 "), ĊĠĠĠĠĠĠĠ ĠArea (" å®ī å¾ ½ ", Ġ" 3 4 0 0 ", Ġ" https :// f pc y . anh ui . ch in ata x . gov . cn : 4 4 3 "), ĊĠĠĠĠĠĠĠ ĠArea (" ç¦ı å»º ", Ġ" 3 5 0 0 ", Ġ" https :// f pc y . f uj ian . ch in ata x . gov . cn : 4 4 3 "), ĊĠĠĠĠĠĠĠ ĠArea (" åİ ¦ éĹ¨ ", Ġ" 3 5 0 2 ", Ġ" https :// f pc y . x iam en . ch in ata x . gov . cn "), ĊĠĠĠĠĠĠĠ ĠArea (" æ±Ł è¥¿ ", Ġ" 3 6 0 0 ", Ġ" https :// f pc y . jiang xi . ch in ata x . gov . cn : 8 2 "), ĊĠĠĠĠĠĠĠ ĠArea (" å±± ä¸ľ ", Ġ" 3 7 0 0 ", Ġ" https :// f pc y . sh and ong . ch in ata x . gov . cn : 4 4 3 "), ĊĠĠĠĠĠĠĠ ĠArea (" éĿĴ å² Ľ ", Ġ" 3 7 0 2 ", Ġ" https :// f pc y . q ing dao . ch in ata x . gov . cn : 4 4 3 "), ĊĠĠĠĠĠĠĠ ĠArea (" æ²³ åįĹ ", Ġ" 4 1 0 0 ", Ġ" https :// f pc y . hen an . ch in ata x . gov . cn "), ĊĠĠĠĠĠĠĠ ĠArea (" æ¹ ĸ åĮĹ ", Ġ" 4 2 0 0 ", Ġ" https :// f pc y . hb - n - tax . gov . cn : 4 4 3 "), ĊĠĠĠĠĠĠĠ ĠArea (" æ¹ ĸ åįĹ ", Ġ" 4 3 0 0 ", Ġ" https :// f pc y . hun an . ch in ata x . gov . cn : 8 0 8 3 "), ĊĠĠĠĠĠĠĠ ĠArea (" å¹¿ ä¸ľ ", Ġ" 4 4 0 0 ", Ġ" https :// f pc y . gd - n - tax . gov . cn : 4 4 3 "), ĊĠĠĠĠĠĠĠ ĠArea (" æ·± åľ ³ ", Ġ" 4 4 0 3 ", Ġ" https :// f pc y . sh en zh en . ch in ata x . gov . cn : 4 4 3 "), ĊĠĠĠĠĠĠĠ ĠArea (" å¹¿ è¥¿ ", Ġ" 4 5 0 0 ", Ġ" https :// f pc y . gu ang xi . ch in ata x . gov . cn : 8 2 0 0 "), ĊĠĠĠĠĠĠĠ ĠArea (" æµ· åįĹ ", Ġ" 4 6 0 0 ", Ġ" https :// f pc y . h ain an . ch in ata x . gov . cn : 4 4 3 "), ĊĠĠĠĠĠĠĠ ĠArea (" éĩį åº Ĩ ", Ġ" 5 0 0 0 ", Ġ" https :// f pc y . ch ong q ing . ch in ata x . gov . cn : 8 0 "), ĊĠĠĠĠĠĠĠ ĠArea (" åĽĽ å·Ŀ ", Ġ" 5 1 0 0 ", Ġ" https :// f pc y . s ich uan . ch in ata x . gov . cn : 4 4 3 "), ĊĠĠĠĠĠĠĠ ĠArea (" è´ µ å·ŀ ", Ġ" 5 2 0 0 ", Ġ" https :// f pc y . gz - n - tax . gov . cn : 8 0 "), ĊĠĠĠĠĠĠĠ ĠArea (" äºĳ åįĹ ", Ġ" 5 3 0 0 ", Ġ" https :// f pc y . yn gs . gov . cn : 4 4 3 "), ĊĠĠĠĠĠĠĠ ĠArea (" è¥¿ èĹı ", Ġ" 5 4 0 0 ", Ġ" https :// f pc y . xz tax . gov . cn : 8 1 "), ĊĠĠĠĠĠĠĠ ĠArea (" éĻ ķ è¥¿ ", Ġ" 6 1 0 0 ", Ġ" https :// f pc y . sha an xi . ch in ata x . gov . cn : 4 4 3 "), ĊĠĠĠĠĠĠĠ ĠArea (" çĶ ĺ èĤ ĥ ", Ġ" 6 2 0 0 ", Ġ" https :// f pc y . g ans u . ch in ata x . gov . cn : 4 4 3 "), ĊĠĠĠĠĠĠĠ ĠArea (" éĿĴ æµ· ", Ġ" 6 3 0 0 ", Ġ" https :// f pc y . q ing hai . ch in ata x . gov . cn : 4 4 3 "), ĊĠĠĠĠĠĠĠ ĠArea (" å®ģ å¤ ı ", Ġ" 6 4 0 0 ", Ġ" https :// f pc y . ning xia . ch in ata x . gov . cn : 4 4 3 "), ĊĠĠĠĠĠĠĠ ĠArea (" æĸ° çĸ Ĩ ", Ġ" 6 5 0 0 ", Ġ" https :// f pc y . xj - n - tax . gov . cn : 4 4 3 ") ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġval Ġjs Env Ġby Ġlazy ( Lazy Thread Safety Mode . SYN CH RON IZED ) Ġ{ ĊĠĠĠĠĠ Ġvar Ġpath Ġ= ĠF ap iao :: class . java . class Loader . getResource (" core . js "). path ĊĠĠĠĠĠ Ġif Ġ( path . matches ( Regex ("/ [ A - Za - z 0 - 9 ]+ :/ .* "))) Ġ{ ĊĠĠĠĠĠĠĠ Ġpath Ġ= Ġpath . substring ( 1 ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ ĠFile ( path ). read Text () ĊĠĠĠ Ġ} ĊĠĠĠ Ġ@ Volatile ĊĠĠĠ Ġprivate Ġvar Ġinstance : ĠF ap iao ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġget F ap iao Area ( fp dm : ĠString ): ĠArea Ġ{ ĊĠĠĠĠĠ Ġvar Ġarea Ġ= Ġif Ġ( fp dm . length Ġ== Ġ 1 2 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfp dm . substring ( 1 , Ġ 5 ) ĊĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġfp dm . substring ( 0 , Ġ 4 ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġif Ġ( area Ġ!= Ġ" 2 1 0 2 " Ġ&& Ġarea Ġ!= Ġ" 3 3 0 2 " Ġ&& Ġarea Ġ!= Ġ" 3 5 0 2 " Ġ&& Ġarea Ġ!= Ġ" 3 7 0 2 " Ġ&& Ġarea Ġ!= Ġ" 4 4 0 3 ") Ġ{ ĊĠĠĠĠĠĠĠ Ġarea Ġ= Ġarea . substring ( 0 , Ġ 2 ) Ġ+ Ġ" 0 0 " ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġfor Ġ( a Ġin ĠAre as ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( a . code Ġ== Ġarea ) Ġreturn Ġa ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġthrow ĠArea NotExist ErrorException (" åĮºåŁŁ ä»£çłģ ä¸į æŃ£ç¡® ï¼ļ $ fp dm Ġ=> Ġ$ area ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġget F ap iao Type ( fp dm : ĠString ): ĠF ap iao Type Ġ{ ĊĠĠĠĠĠ Ġval Ġb : ĠString ĊĠĠĠĠĠ Ġvar Ġco Ġ= Ġ" 9 9 " ĊĠĠĠĠĠ Ġif Ġ( fp dm . length Ġ== Ġ 1 2 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġb Ġ= Ġfp dm . substring ( 7 , Ġ 8 ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( s Ġin ĠSPECIAL _ CODES ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġif Ġ( s Ġ== Ġfp dm ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġco Ġ= Ġ" 1 0 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontinue ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( co Ġ== Ġ" 9 9 ") Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġif Ġ( fp dm [ 0 ] Ġ== Ġ' 0 ' Ġ&& Ġfp dm . substring ( 1 0 , Ġ 1 2 ) Ġ== Ġ" 1 1 ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġco Ġ= Ġ" 1 0 " ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠ Ġif Ġ( fp dm [ 0 ] Ġ== Ġ' 0 ' Ġ&& Ġ( fp dm . substring ( 1 0 , Ġ 1 2 ) Ġ== Ġ" 0 4 " Ġ|| Ġfp dm . substring ( 1 0 , Ġ 1 2 ) Ġ== Ġ" 0 5 ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġco Ġ= Ġ" 0 4 " ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠ Ġif Ġ( fp dm [ 0 ] Ġ== Ġ' 0 ' Ġ&& Ġ( fp dm . substring ( 1 0 , Ġ 1 2 ) Ġ== Ġ" 0 6 " Ġ|| Ġfp dm . substring ( 1 0 , Ġ 1 2 ) Ġ== Ġ" 0 7 ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġco Ġ= Ġ" 1 1 " ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠ Ġif Ġ( fp dm [ 0 ] Ġ== Ġ' 0 ' Ġ&& Ġfp dm . substring ( 1 0 , Ġ 1 2 ) Ġ== Ġ" 1 2 ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġco Ġ= Ġ" 1 4 " ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( co Ġ== Ġ" 9 9 ") Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġif Ġ( fp dm . substring ( 1 0 , Ġ 1 2 ) Ġ== Ġ" 1 7 " Ġ&& Ġfp dm [ 0 ] Ġ== Ġ' 0 ') Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġco Ġ= Ġ" 1 5 " ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠ Ġif Ġ( co Ġ== Ġ" 9 9 " Ġ&& Ġb Ġ== Ġ" 2 " Ġ&& Ġfp dm [ 0 ] Ġ!= Ġ' 0 ') Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġco Ġ= Ġ" 0 3 " ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( fp dm . length Ġ== Ġ 1 0 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġb Ġ= Ġfp dm . substring ( 7 , Ġ 8 ) ĊĠĠĠĠĠĠĠ Ġif Ġ( b Ġ== Ġ" 1 " Ġ|| Ġb Ġ== Ġ" 5 ") Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġco Ġ= Ġ" 0 1 " ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( b Ġ== Ġ" 6 " Ġ|| Ġb Ġ== Ġ" 3 ") Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġco Ġ= Ġ" 0 4 " ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( b Ġ== Ġ" 7 " Ġ|| Ġb Ġ== Ġ" 2 ") Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġco Ġ= Ġ" 0 2 " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġvar Ġdesc Ġ= Ġ" æľª çŁ¥ " ĊĠĠĠĠĠ Ġif Ġ( co Ġ== Ġ" 0 2 ") Ġ{ ĊĠĠĠĠĠĠĠ Ġdesc Ġ= Ġ" åĲĪ è®¡ éĩĳé¢Ŀ " ĊĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( co Ġ== Ġ" 0 3 ") Ġ{ ĊĠĠĠĠĠĠĠ Ġdesc Ġ= Ġ" ç¨ İ ä»· " ĊĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( co Ġ== Ġ" 1 5 ") Ġ{ ĊĠĠĠĠĠĠĠ Ġdesc Ġ= Ġ" è½¦ ä»· " ĊĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( co Ġ== Ġ" 0 4 " Ġ|| Ġco Ġ== Ġ" 1 0 " Ġ|| Ġco Ġ== Ġ" 1 1 " Ġ|| Ġco Ġ== Ġ" 1 4 ") Ġ{ ĊĠĠĠĠĠĠĠ Ġdesc Ġ= Ġ" æł¡éªĮ çłģ " ĊĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( co Ġ== Ġ" 0 1 " Ġ|| Ġco Ġ== Ġ" 9 9 ") Ġ{ ĊĠĠĠĠĠĠĠ Ġdesc Ġ= Ġ" å¼Ģ åħ· éĩĳé¢Ŀ " ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġreturn ĠF ap iao Type ( co , Ġdesc ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun ĠgetInstance (): ĠF ap iao Ġ{ ĊĠĠĠĠĠ Ġreturn Ġinstance Ġ?: Ġsynchronized ( this ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinstance Ġ?: ĠF ap iao (). also Ġ{ Ġinstance Ġ= Ġit Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Ver Code PublicKey ( code : ĠString , Ġnow Time : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġjs Context Ġ= ĠContext . enter () ĊĠĠĠĠĠĠĠ Ġval Ġjs Scope Ġ= Ġjs Context . init Standard Objects () ĊĠĠĠĠĠĠĠ Ġjs Context . optimization Level Ġ= Ġ- 1 ĊĠĠĠĠĠĠĠ Ġjs Context . evaluate String ( js Scope , Ġjs Env , Ġnull , Ġ 1 , Ġnull ) ĊĠĠĠĠĠĠĠ Ġval Ġfunc Ġ= Ġjs Scope . get (" get Ver Code PublicKey ", Ġjs Scope ) ĊĠĠĠĠĠĠĠ Ġif Ġ( func Ġis ĠFunction ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġval Ġmy Ġ= Ġfunc . call ( js Context , Ġjs Scope , Ġjs Scope , ĠarrayOf ( code , Ġnow Time )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġthrow ĠPublicKey Exception (" èİ·åıĸ éªĮè¯ģçłģ PublicKey éĶĻè¯¯ ") ĊĠĠĠĠĠĠĠĠĠ Ġlog (" èİ·å¾Ĺ åıĳ ç¥¨ ãĢĲ Ġ$ code Ġ ãĢĳ éªĮè¯ģçłģ PublicKey ï¼ļ $ my ") ĊĠĠĠĠĠĠĠĠĠ Ġreturn Ġmy . toString () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} Ġfinally Ġ{ ĊĠĠĠĠĠĠĠ ĠContext . exit () ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġthrow ĠPublicKey Exception (" èİ·åıĸ éªĮè¯ģçłģ PublicKey éĶĻè¯¯ ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget F ap iao PublicKey ( ĊĠĠĠĠĠ Ġfp dm : ĠString , ĊĠĠĠĠĠ Ġf ph m : ĠString , ĊĠĠĠĠĠ Ġk pr q : ĠString , ĊĠĠĠĠĠ Ġk j je : ĠString , ĊĠĠĠĠĠ Ġy zm S j : ĠString , ĊĠĠĠĠĠ Ġy zm : ĠString ĊĠĠĠ Ġ): ĠString Ġ{ ĊĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġjs Context Ġ= ĠContext . enter () ĊĠĠĠĠĠĠĠ Ġval Ġjs Scope Ġ= Ġjs Context . init Standard Objects () ĊĠĠĠĠĠĠĠ Ġjs Context . optimization Level Ġ= Ġ- 1 ĊĠĠĠĠĠĠĠ Ġjs Context . evaluate String ( js Scope , Ġjs Env , Ġnull , Ġ 1 , Ġnull ) ĊĠĠĠĠĠĠĠ Ġval Ġfunc Ġ= Ġjs Scope . get (" getF ap iao PublicKey ", Ġjs Scope ) ĊĠĠĠĠĠĠĠ Ġif Ġ( func Ġis ĠFunction ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġval Ġmy Ġ= Ġfunc . call ( js Context , Ġjs Scope , Ġjs Scope , ĠarrayOf ( fp dm , Ġf ph m , Ġk pr q , Ġk j je , Ġy zm S j , Ġy zm )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġthrow ĠPublicKey Exception (" èİ·åıĸ åıĳ ç¥¨ PublicKey éĶĻè¯¯ ") ĊĠĠĠĠĠĠĠĠĠ Ġlog (" èİ·å¾Ĺ åıĳ ç¥¨ ãĢĲ Ġ$ fp dm Ġ ãĢĳ PublicKey ï¼ļ $ my ") ĊĠĠĠĠĠĠĠĠĠ Ġreturn Ġmy . toString () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} Ġfinally Ġ{ ĊĠĠĠĠĠĠĠ ĠContext . exit () ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġthrow ĠPublicKey Exception (" èİ·åıĸ åıĳ ç¥¨ PublicKey éĶĻè¯¯ ") ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ Ċ class ĠPublicKey Exception ( message : ĠString ?) Ġ: ĠRuntimeException ( message ) Ċ class ĠUnknown Ver Code Exception ( message : ĠString ?) Ġ: ĠRuntimeException ( message ) Ċ class ĠArea NotExist ErrorException ( message : ĠString ?) Ġ: ĠRuntimeException ( message ) Ċ Ċ data Ġclass ĠF ap iao Params ( ĊĠ Ġval Ġy zm : ĠString , ĊĠ Ġval Ġy z ms j : ĠString , ĊĠ Ġval Ġcallback : ĠString , ĊĠ Ġval Ġfp dm : ĠString , ĊĠ Ġval Ġf ph m : ĠString , ĊĠ Ġval Ġk pr q : ĠString , ĊĠ Ġval Ġextra : ĠString , ĊĠ Ġval Ġindex : ĠString , ĊĠ Ġval Ġold Web : ĠString Ċ ) Ċ Ċ data Ġclass ĠVer Code Params ( ĊĠ Ġval Ġfp dm : ĠString , ĊĠ Ġval Ġf ph m : ĠString Ċ ) Ċ Ċ data Ġclass ĠF ap iao Response ( ĊĠ Ġ@ SerializedName (" key 1 ") ĊĠ Ġval Ġkey 1 : ĠString , ĊĠ Ġ@ SerializedName (" key 2 ") ĊĠ Ġval Ġkey 2 : ĠString , ĊĠ Ġ@ SerializedName (" key 3 ") ĊĠ Ġval Ġkey 3 : ĠString , ĊĠ Ġ@ SerializedName (" key 4 ") ĊĠ Ġval Ġkey 4 : ĠString , ĊĠ Ġ@ SerializedName (" key 5 ") ĊĠ Ġval Ġkey 5 : ĠString Ċ ) Ċ Ċ enum Ġclass ĠVer Code Type ( private Ġval Ġcode : ĠString , Ġprivate Ġval Ġhint : ĠString ) Ġ{ ĊĠ ĠNORMAL (" 0 0 ", Ġ" è¯·è¾ĵåħ¥ éªĮè¯ģçłģ æĸĩåŃĹ "), ĊĠ ĠRED (" 0 1 ", Ġ" è¯·è¾ĵåħ¥ éªĮè¯ģçłģ åĽ¾çīĩ ä¸Ń çº¢ èī² æĸĩåŃĹ "), ĊĠ ĠY ELLOW (" 0 2 ", Ġ" è¯·è¾ĵåħ¥ éªĮè¯ģçłģ åĽ¾çīĩ ä¸Ń é»Ħ èī² æĸĩåŃĹ "), ĊĠ ĠBL UE (" 0 3 ", Ġ" è¯·è¾ĵåħ¥ éªĮè¯ģçłģ åĽ¾çīĩ ä¸Ń èĵĿ èī² æĸĩåŃĹ "); ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġget Hint By Code ( code : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠ Ġfor Ġ( value Ġin Ġvalues ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( value . code Ġ== Ġcode ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġreturn Ġvalue . hint ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġthrow ĠUnknown Ver Code Exception (" æľª çŁ¥ çļĦ éªĮè¯ģçłģ ç±»åŀĭ ï¼ļ $ code ") ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ Ċ enum Ġclass ĠResp Code ( val Ġcode : ĠString , Ġval Ġmsg : ĠString ) Ġ{ ĊĠ ĠCODE _ 1 (" 1 ", Ġ" è¯¥ çľģ å° ļ æľª å¼Ģ éĢļ åıĳ ç¥¨ æŁ¥ éªĮ åĬŁèĥ½ "), ĊĠ ĠCODE _ 0 0 1 (" 0 0 1 ", Ġ" æĪĲåĬŁ "), ĊĠ ĠCODE _ 0 0 2 (" 0 0 2 ", Ġ" è¶ħè¿ĩ è¯¥ å¼ł åıĳ ç¥¨ å½ĵ æĹ¥ æŁ¥ éªĮ æ¬¡æķ° ï¼Ī è¯· äºİ æ¬¡ æĹ¥ åĨį æ¬¡ æŁ¥ éªĮ ï¼ī "), ĊĠ ĠCODE _ 0 0 3 (" 0 0 3 ", Ġ" åıĳ ç¥¨ æŁ¥ éªĮ è¯·æ±Ĥ å¤ª é¢ĳ ç¹ ģ ï¼Į è¯· ç¨ į åĲİ åĨį è¯ķ "), ĊĠ ĠCODE _ 0 0 4 (" 0 0 4 ", Ġ" è¶ħè¿ĩ æľįåĬ¡åĻ¨ æľĢå¤§ è¯·æ±Ĥ æķ° ï¼Į è¯· ç¨ į åĲİ è®¿éĹ® "), ĊĠ ĠCODE _ 0 0 5 (" 0 0 5 ", Ġ" è¯·æ±Ĥ ä¸į åĲĪ æ³ķ "), ĊĠ ĠCODE _ 0 0 6 (" 0 0 6 ", Ġ" ä¸į ä¸Ģèĩ´ "), ĊĠ ĠCODE _ 0 0 7 (" 0 0 7 ", Ġ" éªĮè¯ģçłģ å¤± æķĪ "), ĊĠ ĠCODE _ 0 0 8 (" 0 0 8 ", Ġ" éªĮè¯ģçłģ éĶĻè¯¯ "), ĊĠ ĠCODE _ 0 0 9 (" 0 0 9 ", Ġ" æŁ¥ æĹł æŃ¤ ç¥¨ "), ĊĠ ĠCODE _ 0 1 0 (" 0 1 0 ", Ġ" ç³»ç»Ł å¼Ĥå¸¸ ï¼Į è¯· éĩį è¯ķ "), ĊĠ ĠCODE _ 0 1 0 _(" 0 1 0 _", Ġ" ç³»ç»Ł å¼Ĥå¸¸ ï¼Į è¯· éĩį è¯ķ ï¼Ī 0 5 ï¼ī "), ĊĠ ĠCODE _ 0 1 6 (" 0 1 6 ", Ġ" æľįåĬ¡åĻ¨ æİ¥æĶ¶ çļĦ è¯·æ±Ĥ å¤ª é¢ĳ ç¹ ģ ï¼Į è¯· ç¨ į åĲİ åĨį è¯ķ "), ĊĠ ĠCODE _ 0 2 0 (" 0 2 0 ", Ġ" çĶ±äºİ æŁ¥ éªĮ è¡Įä¸º å¼Ĥå¸¸ ï¼Į æ¶ ī å « Į è¿ Ŀ è§Ħ ï¼Į å½ĵåīį æĹłæ³ķ ä½¿çĶ¨ æŁ¥ éªĮ æľįåĬ¡ "), ĊĠ ĠCODE _ rq err (" rq err ", Ġ" å½ĵ æĹ¥ å¼Ģ åħ· åıĳ ç¥¨ åı¯ äºİ æ¬¡ æĹ¥ è¿Ľè¡Į æŁ¥ éªĮ "), ĊĠ ĠCODE _ other ("", Ġ" ç³»ç»Ł å¼Ĥå¸¸ ï¼Į è¯· éĩį è¯ķ ï¼ģ ( 0 4 )"); ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġfun Ġget Resp Code ( code : ĠString ): ĠResp Code Ġ{ ĊĠĠĠĠĠ Ġfor Ġ( value Ġin Ġvalues ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( value . code Ġ== Ġcode ) Ġreturn Ġvalue ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġreturn ĠCODE _ other ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ Ċ data Ġclass ĠF ap iao Type ( ĊĠ Ġval Ġcode : ĠString , ĊĠ Ġval Ġdesc : ĠString Ċ ) Ċ Ċ data Ġclass ĠVer Code Wrapper ( ĊĠ Ġ@ SerializedName (" ver Code ") ĊĠ Ġval Ġver Code : ĠVer Code , ĊĠ Ġ@ SerializedName (" extra ") ĊĠ Ġval Ġextra : ĠF ap iao Req Extra , ĊĠ Ġ@ SerializedName (" area ") ĊĠ Ġval Ġarea : ĠArea Ċ ) Ċ Ċ data Ġclass ĠF ap iao Wrapper ( ĊĠ Ġval Ġmsg : ĠString , ĊĠ Ġval Ġresp : ĠF ap iao Response Ċ ) Ċ Ċ data Ġclass ĠVer Code ( ĊĠ Ġ@ SerializedName (" img ") ĊĠ Ġval Ġimg : ĠString , ĊĠ Ġ@ SerializedName (" type ") ĊĠ Ġval Ġtype : ĠString , ĊĠ Ġ@ SerializedName (" hint ") ĊĠ Ġval Ġhint : ĠString , ĊĠ Ġ@ SerializedName (" date ") ĊĠ Ġval Ġdate : ĠString Ċ ) Ċ Ċ data Ġclass ĠF ap iao Req Extra ( ĊĠ Ġ@ SerializedName (" callback ") ĊĠ Ġval Ġcallback : ĠString , ĊĠ Ġ@ SerializedName (" index ") ĊĠ Ġval Ġindex : ĠString , ĊĠ Ġ@ SerializedName (" old Web ") ĊĠ Ġval Ġold Web : ĠString Ġ= Ġ" 0 " Ċ ) Ċ Ċ data Ġclass ĠArea ( ĊĠ Ġ@ SerializedName (" name ") ĊĠ Ġval Ġname : ĠString , ĊĠ Ġ@ SerializedName (" code ") ĊĠ Ġval Ġcode : ĠString , ĊĠ Ġ@ SerializedName (" url ") ĊĠ Ġval Ġurl : ĠString Ċ ) Ċ Ċ inline Ġfun Ġ< re ified ĠT > ĠT . log ( msg : ĠString ) Ġ{ ĊĠ Ġprintln ("${ T :: class . java . name } Ġ=> Ġ$ msg ") Ċ } Ċ Ċ fun ĠString . url Encode (): ĠString ? Ġ{ ĊĠ Ġreturn ĠURL Encoder . encode ( this ) Ċ } ĊĊ