0?a3Jp{iNOEg}Fc=pF*4npwfenmOb!(w%T>f`ypEQ=Q4V4XHVK0wvrbU6j^|
z^C`VFp^pM33oxf1S`h$Da!2pidwhA_QgQ6QN?qA9h1JHq%oBo+r{^%=jLjj;$;4s0
z`LzuMz*xBvMb5n1yeE#_>hx;?z@Ni~oJv5pFLxxgpE_pq##fFDt3%A#+Qgau{+j%U
zg{*p5E(5)q<0DxIyj_^veryaaoo}4j;s06Vk`Yje3-Y~4m1BuS40RT&Qo_b^zj;Aq
z=i`Z4`ywS8Y>9Frj^ALI1aOslm>2w}1t;XPw7=8>-02I|kmm$Sla#S&bDepb7d#hm
zj4T)W_Z1+>@g1Fz=
z9rgX=gr?bJTTJMypE#@MF)#KHvNB*#xFigvjUyp`k?>4`%IJ`4I$aCGv{M1yL*SPk
zvqR827T|S&gGfIW{OC}rAiHMNvc|Ijcob@TfrDzv3TQl;CX8dlnH{554o6KpJANEo
zD8A|lz{g2=rkKQoNz6JQQ#_dwHt=>Oi7C(i!p~X9Tjr8hM*v>s`8i3-5GO}PBn&Jb
zhI1D7EP=yVMGJ6U3s@y4FP+vpYd}1ydB0-5^ob8_0M>$9S5pDh8gy!O6$d5(^sEg{
z1VBEps_}nSYy=@i@xME0B7mNC=bABm9Rax5#O8w^)9LGIVc$}4DT2qd*rX~d#MKQ$
zoou)y-8U14FuqICog`u&gyVN?Lag$pjA>_ciesCd3gDR<@Z?DVn>Sz%5Z*fppnGRz
z3+P1v40@tK2)3#jF#^EtYz*F@Qy26Y4f@Ft|E_uz^jPuXQ(e0t&WBQt_M@w-CIlZy
zpbAPk+W+fp&6DscuUID!a2uW^;U{i(7ub|xgMO7R(|opw=BHj||AQzMWbmj6$IpKTxjxugm6+Ymr3gc0zs^(hwDeyTHQ
zY60$#i4-5nXq_G1b?BoxjV-+`0dz;P)(}qS?%8Tpxe5mwaA2zj&z46E
z2UZmT6%aJyKmkxA_LYYVfC>g0ai9RG5&O!+1waJ@jW|#M)QElM;R2xP7=SMqoA~K}
z`ulC?csrHYxgzca|>5IpTJ~Add
zXp8`QcmUAlG6U#u0YL9702<5;T&tm;R&KASjuKrb^Az?gmA9Yh8)XWsC6~e6Yyc4`
zWeHE{BIhcM&<0C+0l2oXQ73izdSdba+%p6HpH3*;K|2rh^j=wRYHE-{T9qW5a38Q{dNB
z4nCmYL|SgBJgU|1u>mO7LTiH-x~%^9QoIiH{LJ5j_E|qR?E|yM2q5}xpV0I5`LIZ9
zRP_lNJWOHhL@$lXtOLTq-#bEXy%>(Cl&s<%u#4x`1?uC_h
z88CXehu?=b`mBAfp|*cg#14%*&P3nKPK^7Aem77pR7Hl!7(5{7Ej9~G1JLBMl=O$I
zh}f~oNIO-8_w@vk_mg7>Os$}&L(&?9rTYs*zhW&ruh|}*#MNFTVo5(FEo23O|B4HD
z#%?0K@;iy>7dvqOC?Y+D%UWtPg)#{sry+2tz+*)0Ucfi9wTKKpem_@)`UXf8{tnUU
z;kO|;(-?L1dq>d+MWl7q(LRBn8=oPK;~{|u0IToX*k%cXA08lQlmx(G8o!!|-^j2$
zUxd$#-6qJHLnby$Rfz%QA0Dln@XVstLFBya$GYJN(d$J+NM*35VAX~8v5Ky0|Ck@v
zLX1eX5UaAjYawe{K>jq*fubAF6R>_~#$md~^Zu?FL}r?I5dfT*i|p2iId-hY#uatK
zKyQhm0t$b&$kSRMH`lo@*H$};#@{ZqH+5@|qw(KVIYi@s9fZ+GEoAx8*H?;=wH1W7
zb<_MwInx(!yd-?{+#u@x~J%ii{wtlx;(w^toz9xylrT2s`hcU7Q(mm1zC=#1itoB3*A+1`;5qm
zbo0VCldLs1u#N63Iu@a`g8G~Y5T$^}mH1hbs%{~|!PckCnt^GSRTEcJ@WdeEGpjnL
zhdyc{9H!qFkxZ9E&c~{peE<-^!OBKW)kWkaK%5`EzkXQXBlG|in6^elJ~XG0RaM_r
zy5X`oy^Or*(*iGT4^}Co?R(a$0uF)5kp~Vh!Oq_NgYk>~ljE|RAC1OoU$%vEl-;BZ
zuP}+Wqai#3Q*EEgw%A5s0HWcD*7s>=2DT5Us_i3ck^?^3@55mr&Y~+fk}!<
z4Mg~dy1u-^#P(qcnp^w0f3X(A6@o3)mp$_MdwwQj)s<_|(C_moEcZ&uqx+UBn>n}Z
z%bMURYRDTzbq|xO+J5*5h_HX2Dte=+FIotj^n0Qvw$D^PEIWW=?Ze6ozfTSuU?otw
zZ2UrAk@Z0f4H7_v2ta+8myKu60^(HFwzQA?7;7O;edWv`0MxZH&1^u(r4G%Fi2UEp@lXC5OwJnx~bYgC?dy7JLba$OkrpV
zgq_2I@h@c{=
znK>@2$PcM7{2`ZE|dh!TDg(22q!`5J6u2U$iCXG`0=^q1s6(
zr;?_gSubVprn0&WXIT5NoW^-Z-U}Z0MP9BGrz-9Pt}e9@VT><`ayU>a1Ld%nRT)84
zoNP@BH?nbYbNYMyVvbCP-RHWo!`6!!WV!ur
zRoZD;FqjDXrVc3gha50~cy4S=A^4AqNL}SdMr_sCSe$@;h@Qh}{X-~YkxN*Qa86<+
zoN_}E-z{4ESg7ZVBCiN^aUrQEm8}a
z_b7$eiXIdiH7y=CEgjc3o9)N1>UlCR*#>nXW?~IwHHYnhJ#-Hd=Lpul?2RSDk2dm|
zfo(G`);>(fw7pC1W4>7nafTvle-T>91BtrHcSh@w-=6A)r|q8=VfSFmZ8T3N{Q+?v
z3#+p|LasP3oWbtlPw4%1~%{cg>`
z|4cO)%xIHYt{E?W7;NiA*f*1xH<(Uc49x&3m^)$y2Q(SU=0BA
ztkog)V)e6+3c}u+=7*@#2}TS#-Q?cn%=fKQcgj6(BRNX!txC~Co}$qp>~VvUy`L>*#JUs2nLZ%8
zQ6hloMBH&Q<`_-*ajJHNZP>(_Sa}WcVnqfY*)BZqGEeX$p|wc@oaEuWGUDG2pr7c=
zhXy{@9lS{@Kep}(SdwQ_WhFMNa|RNQwx^3eC30wD)^p??!^|OH3>xyaXI-*;
zL^w)Qv`$=yWk%i>fnI~LR-_#r;plN5^c-q6V9@V~n4pW)0IlE@ZA)`la
zKV8HbO!Klg*XkaoYIvWM-z@zZh)JvAQ~=r81b9eBv->->ych#kt(^3MaYtfWtd0Dc
z6Cya4ZazWc)Ru<82Anv9dmpIg99<0rUekl+6>E
z2H+qisM|;bO*5ny!GIzTx>T!UT9WDc02gwF>
z4glHt#C{{9%CmNA)azooyA2L_h9K*KEC%-PB{>jt*g%wF<7-!aMkTHmm1(RE(dQ}C
zve}^G@ZFsh$uOygCPuV17$8Col7@jHT>z9MiiJF6*)%ndi%1-7`d2kC3SoTk9Ci$sc{pA2jdTf1m
zI!>dO<^quIAkr;}%o9;ASN}LbCIb<8(nXR3sByP)0m#{G_!ihvK_XN!r27LP%Ywu_
zc6Q*iOUgi;>{2cOxg0hba(Du}L<@lW2OxICa`*z93At)*;hEN*TmYhM+d%+`_hgi-
ze;nX_82~7Y{X_S10?2bJr(BUHSt9fO0ucTl(vLY^E{pxs7JxXXhsb;}r27RR3}_YfAaHzWV&=%9g;c3@2FMs5w^ecjurGSVeU?I>6G
z93X{*wBvKatkBqj=q}|3khL0`hto4wch9@h0&!r2h<*2HqHN%?uyb?R(-^0A_~fhH
zb(HezaexCbIE5qI^1V$B^kqoB=c%3=?boVg02Lm8pOL^FE_`K9DU8mmh
zI?X|B>#?Vkw+{2hWzI|FyP}B}i&4KOlyebz^K<;x>ufD)OQ;4B2O6=d-)ghO#XC?xoHC=OfB=z$`UBJVch`iD%tKl5;uuTm_J+azkMF#OIgq=lX$dxHA5267G
z8K9?#c$ERGE@)B)d1{MFX&XT906SFuTA}Uqc?S_YB^ObDcBb{PK&CEue1_<(&_2J0
zD_io|w0RonpOZb1S$2njRinG7S0fwRsb{vDfPIG1wcI(
c&JddRf3rQ28sbd@9RL6T07*qoM6N<$f@CmuXKfN2eWX$7i(f)Hti
zGzuXYREK2}JihN43cr;70{{r9uY+=wReC?XVvuK#U~_x%^Vrw{)hP2gMf
z3INCEJ57&`vNH-?mj?^b${6G3`b~Q9!MnWhLc}9O8g|mn(LAs{QI`zG&m<#Mb~jZn
zd#i-Aty
zr2P();Nn|);LC1N@f?GER|*tqil}-nL9jYN*d&d3*3sO>&5s|B0{on+9Nv%Sj+P&%
zlo1TtJ#nR7tNy689c_dKV^qsd+}fRkP6O|D#tP~Ut0cP{8153gv7NE@l#^9nB(+%X
zO8+TH#Sh8OC-igx6o&yJ2<@8S*!2)_0neFa&o#Kk+y2AwLK62vx
z2MWjk9aN{&C0MX#^+E-Av4o9PPErq1YWo+0|EU;=2|tZkxK&}PDsD$09h3O)rqJF
zwF+FTHcW|!-SO%e2dKU$UZ&EbMqJF)0$Vexb1ZjcfNpddM7`|GUMyk20CxU+Z32`3
zREdH)KK9!R0u~FOQOYRe5_Rx4J^by?)7lkhgi_A$@GC^4|6eelvcbw{8Fm0WTz&sy8;dt{V%^
zU-!qe0rDnhG=sOr05*6m56=n#q_B2{G!{4^WG}SwkcLV+9=C!iCnnR@&|PH4dt5Tc
z15Tv5@?pP{0FY<)q0qqLr#0CCBEMVF9$89jrK(a~+!+Xjb*O<|q0!iL#7*cgVi0*5O@vqL5Lfz>%VcB
zlIdFnDoVh|@vHUQ7llv%{7fVYHikvk@MkV>Euhd!(Hh8O@B9De*0gDtMPj&>%{FkC
zZaq}^0yGkx>aFtRJx&4Q@InA(!^3!O_{JA}Z8})1(vQu1Y4T4Cza|pj$Wh3@0-w@l
zxBR!3i(n|xZ=OHW`|2sSLDoZMH>TsM)FglQ*X&4)U?Hl=<3E0a3W|0w3_Z_O46Hd-
z-MCD4E-=jmHmmJs3KJx|M60&O8-h%wh`Z27%r0zRYRNNcvrEz?OW|(5gno6?UGq;1
z2K)1!Qd*%$k_7S~dep!$pKGt@g0$&71%|&UCHOCKXO!8W^B>m}mvs3xD0DBO;VUEE
zlpCh>??>ROMa!$OpYa~<6YUj7PYPJ}$9sR#Ky_$~?!V;kIy34a!54>_y!$bgy>^~t
zC1r|>!sDNc&arDlc^25W3o1-!Zuxp;HGX9_0k_Mye_+a1OM)&GB|fbbi(0H6^Zffz
zg(=`8`fvijyGr(|?g4YNHCi*gi|+gBl^MAcjH_QOzmSe|Qy`g{;eKlYT1MgUk@GC%
zRnbQy?{-$u*==C+h?2{(#g-PzqUdsW{Sw`%?k$8CrF(m|@@!UK61H@|wppc&$5j$V
zl`t=D>bQt{M{Ak5L)BHU`o@mHJ}^%!<2}dbKW~$J1#2c=)1G
z_*o}kn7CUoht9Q}>))%Q1lDBYA1jaC3n-me0C@ua}I(wx>zJXCI$&
zprQ&7_dld3l2i)xoNAB_AGiM$pCqle#-pXjY}Ap}fXl0JL&VVy5>~Y%nXL)5w-)1D
z3VwCyh;w<$RkEo7ImLW61_^FWj-R{(=BlaIXV3IW`rUU{Nq*;5IfmrqFRADb``Oxa
zs2}8jE#s|-1}=kJ$K>Zykp*m&NBhM#{7h
zWJ6~pQ{Dqqj;zfZx8(28`&^WjpJ{(n13z>aas6UB()triZnk&bt%_^F+n&sZVm}>l
zfx9`e{1ZlsLNssM8gr(HJOfTW@sPNy`s6PA4?G6sn?L;V_I?7sn#+~z9E=K;T)UjHX92mdx6>b5gBFf`zMXQGhaYe-0=Ws3xUvO=Z~T5P!ZWoj=32G^_`0F7T?^hOlX$=0r5
z6}-2_!47IkeLg+q1Fd0zZcX&TBWcBi*)^);Hq@x*HHsVl{%~kp@++{G_*H;(BIX
z(<}DnLHPRDUjyk4_8b9Mtu47VljQFfcP0*=!qu7AJ66^wqa7kbqlqk}sJ;mhNTz?J
z31N;ymKuj>SM~9n_m2|>zU(q=XYp7p2B#Q>Tqd@|Nd!}A*Bm4E*4)?$
zlFRAV8#S3f^A!!(!}Q5*0Gc(ENWyIj4Ua9iNu5&{8-(|D0BQ(9YcGB1f~#{8oe=;rti{omB}6nY(?_~tDPA0
z)RZ!}!{Il)Yq~uqb)g
z(*0Ri8*iB>3fagE&Lg}sAhcSI-EOLaTWhhKxMVX_7+^+E#;PnT=h`|RkNps1=Isbw
zzX{mwR|_jm@l1dD+96Ce-`cp8)tFdNOpfbdh)qtwl_zgqa*Mi&t9=1(!_j94Jm1SS
ze-T_^T?qGj`(mWA8Em+6LgexJr;+6)Zt0!oL2D12R`gmjZ9}PJxCRJLVG4I<2`1k-
z;fABNYHfN>pV|OwaEEVUOATNN>pwAnA2v<2x#m)`CTCL82tVg;M>_&y(9E;X)4&5}
znL-Ta7i1{It>o;YXA~Y>nF1eK%&&x!O`tZ?-AEh^I5)=mUZs2)NCxj6loI?7#gd`j
zFH?K~(Xm1v1OU^*BU>wF$BE}rxS}^J=&H$OW^4yPr_-p20u(Hb9g9=YAX{SoxvB@p
zULy^oCSlH;&(#`@>Dbo}7COjH7V3(NZLApFB7#Qswcxnxp#@?H?KcpXY=5tLtxQ<@DKqOeJ
ztLAfNzkhq$Q%RlR)jdm2BpCfQ56H{TzEyJEzpvgn&t!CSzoAtdnP8pwSax5y*Tlw+
z6(UB80$e@^{;N87F;nhn)V;eiFCx-BUaTz8)`TzNaj+*-7t5J-hbyqsper_|DCtq1Q=|l%>ZH1{yc7+tU|
z&)fej2j|ML;=Y`7vnHdF+7~+`dI%647~;h
z-;4rt{A}xom<#=d6~-cvJB9S@3OD@k?^QjdH5T)1^;NI$&HMtVP5ql5=(?6r1m;K9|(wAjf*rFIHpYR{s**tmkyne
z*T!Kec8X=W~nK*|`;=`#ISdbf&9
zA_$h#v>3$@cLc8$`6oCI+cldW8GL(0_%1K>wkm1wD5qi
zWAW3ED9O5r@}dG;Pbz4Mf>aM(II`c=;{5DYtdC
z?AF-dXUdAtCTItw$C~tpU7UyGv2lpxUSI?QcW=5}h0P#)Z^%?AId2Ir_)~^2;|DWu
zA3Qs^Uqn=LUzH^<(p|Rxfi1Z1=_)X@{0lg@Gum2ENQ3)j@o~S7Z`*nWQh428{$q(_
zTmw{^;V;>K{hsnmz~JX{8ougZX5sFi7Y6}L55|%1tfYkbG|ZquXYiieQgx=JxEC$f
zd%SSn>7Vnc;b$mX2(K3d~K>>L#
zJafxOBT(1q8PZIOpT11~_;t0NDa@qw)p0~QWQ$5eTnxo@#L*tb@f0g|`d1rHCxO5=
zhd5bL8Onc|Et|JLd%<f1WI!4r`+8u9UbD55!OU%$y#R!=4J
zqi<8E(z1{Q$$8M#_f6?o%wTH%QLAE{SVW+(KPp(h84L6(Ly3f7v#Pj)r*nO;iDC#8eR;NJQ4p8=BP%4gm85Y+%o(}#uwg=?AAfsHc@;4U69
zk8rd@Q)iRQH^P3ru@6e!QJbaDr%U7^tC@^G&b-B8(e}zGJvlV@t{DAqIe<|sMG~T#
z8$-92cyR05dOL@5_&Z~YsfhKcU;?1IYw&x;`K+;Vn2Y~ABQ9!+bVqJgsX@2drHp;)
zhmtRkeI@&Sndj5ScemK(Z&LAZ5w+?8d&MczjYW$bBB|87(fw)syS8BDd}kY!cqq+~}K?CU?<-@rHZKYH-%e>UWaI6hXsjQMc6m
z+n?&Z_WU%SG6lpi4(4S&B7qDi|3ilZmhVTp`D?yA$A&ozsIj~xe6$Ih-V?Tuzc=;n
z$UcEdDoelH-SsogKH(#&v6s<*6q^W
zy2l8Da1#2Iv|}MmXs$Hy@J1{DJtaNz>PKm2UWuZYBEZMSpAX^d_xGuhBa#4)G^2Yv
zK&i8UTrPwr+dQi6qo!N^Inzb$Ab!1}J^{PA@sf(w?o`+7s%UC1Vi;d1`tbSbI33{*
z#@YMHkQ(z@Y#m@W*LOQ4^GKFxqX7l@5_-dN#KwT8B-qdl2V>qdW~J838+nio^<(w^
zN;55a^g4kXHX{#2qDtv~s^d2z!hZqWe!ytj_pKh6?pSBQ9m(3OuEOK==*}vwCB^xQ
zh&Y05Qg;HjK7|t^w`R7qHuloi>{i>oE;|VCwOVRiouyIzu6s6ICu)T9dRT`PVbU*@~FKU2dEzdX6)BoWB@VBrST(x#*7mQ
zi-?%V#4S#+$1=iXuZM_j{&Yu%C&b15rh4TaADFYD=z9^!T7~
zt3#lgBg6wmWZJpsGN05!S>eLc=6U)2ARHI-w|9U+=mC6P2cmG*^D3)C2oBVx75B^#
zqGrfh?B&T+Nk7D>czvF;0W|Wq3T?qv7;SSwFLxXn>^zDF_G988!9Sv($Tawz4oNhq
z)1O94KrP5>-)t>vjgTfu<~s+Ee-B|oXj2xJW{ZNpC1KvKYXAwpa+g#hel80{oQUns
zE
zLhZMgkbUdPP
zEP=IAP&{{qvQU}EN1}(3jTIGA5DgxH&r!mGB0
ztp5xIPFH#*>;w2VL3SFm-+&fe%qqXx&{-3GIuXavAS2dj#|RzG6j}uFcW=WgkSH8I
z_I;2z@Rv~RAI%ICms;IP8$py=&zTBTDYYz?^c^i|yXSNHhZdw$a)69Fs*n$&wxPAX
zK>s762Z+mIxJ%TsltrFCl#zLb(n#!W9)7dC6B?Q;R&9`h+YCCMq6cIU*7L93i5M&f
zVp~?*P>-04C$!EMhzD_tz$&86R13vu#qb$j8-h$Bu-0-@t{9=C$`u
zhvU@aY!Kw3{dgKKj~sDyouF?BpKu69W9VzJpn}98O=(_U#i&S+7B-|w=x3M3vL1*C2;9LA?8Xt;-1KEYyk_=}G22ETcwNhz{Nl~fF2@Q?u
z9SYW54^ZF31VJ8v$Bs%}diIqMs&AO$fDS{7(BWH-3U)7xXa%0~zodQQnn~vg;TE}|
zSOTob(#KBF1WTw8zVNbvM-dt}5@=7TM+n{Kk!4F7B3aFw)Dndz^Z<5jEJ}#p^mK~)
zggWWB4afePW&P)mL3xC(#xP@@st%kL!c|{l*$ma0!s(t=8cMmEA;843l)Z==S_8w-
zM=3%+fJ!Bbh~s~e*~e0=qK(|E!17MN2?ppDlghe?j0Fa#uF4CC^zp7W1D
z2mZ1xTd?9Vtg4tU10Q>}MxiUK1GTEkfDFzAg?WKITi)7#9VBus+0;?kMuorj&rHoN
zud-r+t?7C1KAm&=D&ids0C+m|SyJ#bmJV{_UWgvXv*AsiTfE&0C?+5wOpgDCcG7Rp
zjMW5%E66>=ifU?RzZc7_gCoT4+;Y_Dz$QUk1J!M)$I
zFu-A&@DB&o7@Y|INUh3OGa@*rCUoqwB-$qy_|wjG`Qe-V40Db!;D^asn}=eg9wZz-
z#fk6ocSZDF1#OQ2Ux6N}S0(seot$HMvt@qGG_S{kNWKcs=(}N9o9+Uz{|f=kwl-Z7
zaCH7OUJB>nA_hlMY#$T4g|ZRKm8b6K<=*i;4f8^~Cs)Z$IH2a>>y*I5>YM@X$<
z;?i~u)sDhp+~J_zps9YJy3|ld!=>;EQ((;PcUr&C4}Nwtnh|x`W`>3;3&ASgbOt^M
z3DSTj+$>DnoTl36)`LWy4ToAZ_wr+bHv1q@1NKh1;w@v75~8`wyqEO`HcFE~@j;_D
z48>IX)_0=h!%@}t|Jw-l5Q5my^$XP!J^1B9SEDmk5^q*!gVrUWPXI%jtx?2~!mo@Z
zYFR9yf{Hn1K)s@F@yUJ%6Z$xySOjuayCj}>vPAQb3*#fw4mH{3g{0wJpjwpD)o$kt
zY0k+yZb96mJ6TTRhwg)teteB4P}0R_7ltsl05h{QTjsbvuuseF<@4x47dM`)Hi(n=
z5gcXJFQMYD0SZ@^6M>^*xueC(`|n7meM@ZS8oC49`Y`59N>C3#-$s5hpXm;yYAbr9
z)bD6(#9TYPehIC50~8GRB=P$OykFjF>Wydt$slDHpD1SvCCCBLu2sN_T=#a=O_R8Ww(jIF44)pi1*GV
zM|k=a%nL;np%R36t1s!a=c+bb=ITSc{E-a2ob~FUd?p!>Y;Qrs#FGBeUKP1D)n$KCq+9hl<3{rlq
z_;l9#`Fwu$=%W-(H<4sESf?@Hy^Pny)i4A-
zf;OQHuT)&0!Xg;Fb2OV+PI#OJV&9{f$V7eWy%Z{|_89*Ku6mi+D2GSWD<
z_icm1Uk=f#=Hcix2$|4bVG$$s91H)>h_5P3JzErJIPY}&!r;#f^Tw^S2X`d_S^w1n
z#E&Nc_sC&3+Dr5nb6!p5C1DA67d
z6m}=73&JCGds6N|?e;=k7y00wx1p#XgP;BfQtSmTU-G
r2Yqa9P-}Mwc>VttpZsqNVYvV!f8C().getSharedPreferences("source_$id", 0x0000)
+ }
+
+ override fun popularAnimeSelector(): String = "div.item-container div.item"
+
+ override fun popularAnimeRequest(page: Int): Request {
+ val interceptor = client.newBuilder().addInterceptor(CloudflareInterceptor()).build()
+ val headers = interceptor.newCall(GET(baseUrl)).execute().request.headers
+ return GET("$baseUrl/page/$page/?order=rating", headers = headers)
+ }
+
+ override fun popularAnimeFromElement(element: Element): SAnime {
+ val anime = SAnime.create()
+ val postid = element.attr("id").replace("post-", "")
+ anime.setUrlWithoutDomain(element.select("a").attr("href"))
+ anime.thumbnail_url = element.select("a img").attr("data-src")
+ anime.title = element.select("a h2").text()
+ return anime
+ }
+
+ override fun popularAnimeNextPageSelector(): String = "footer"
+
+ // episodes
+
+ override fun episodeListRequest(anime: SAnime): Request {
+ return GET("$baseUrl${anime.url}", headers = Headers.headersOf("if-modified-since", ""))
+ }
+
+ override fun episodeListSelector() = throw Exception("not used")
+
+ override fun episodeListParse(response: Response): List {
+ val document = response.asJsoup()
+ val episodeList = mutableListOf()
+ if (document.select("#movie-js-extra").isNullOrEmpty()) {
+ val episodeElement = document.select("script[id=\"tv-js-after\"]")
+ val episodeString = episodeElement.toString()
+ .substringAfter("var streaming = {").substringBefore("}; var").split(",")
+ episodeString.forEach {
+ val episode = episodeFromString(it)
+ episodeList.add(episode)
+ }
+ } else {
+ val episode = SEpisode.create()
+ episode.name = document.select("h1.entry-title").text()
+ episode.episode_number = 1F
+ episode.setUrlWithoutDomain(document.select("meta[property=\"og:url\"]").attr("content"))
+ episodeList.add(episode)
+ }
+ return episodeList.reversed()
+ }
+
+ override fun episodeFromElement(element: Element): SEpisode = throw Exception("not Used")
+
+ private fun episodeFromString(string: String): SEpisode {
+ val episode = SEpisode.create()
+ val season = string.substringAfter("\"s").substringBefore("_")
+ val ep = string.substringAfter("_").substringBefore("\":")
+ episode.episode_number = ep.toFloat()
+ episode.name = "Staffel $season Folge $ep"
+ episode.url = (string.replace("\\", "").replace("\"", "").replace("s${season}_$ep:", ""))
+ return episode
+ }
+
+ // Video Extractor
+
+ override fun videoListRequest(episode: SEpisode): Request {
+ if (!episode.url.contains("https://")) {
+ return GET("$baseUrl${episode.url}")
+ } else {
+ return GET(episode.url.replace(baseUrl, ""))
+ }
+ }
+
+ override fun videoListParse(response: Response): List