From 2b21a1cfb989aa736d084c5efcb8ce7ab39c1b09 Mon Sep 17 00:00:00 2001 From: sliverkiss <1393579810@qq.com> Date: Sun, 22 Oct 2023 15:51:12 +0800 Subject: [PATCH] tools --- icon/Zsm.png | Bin 0 -> 21339 bytes tools/base64.js | 0 tools/ql_api.js | 141 ++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 141 insertions(+) create mode 100644 icon/Zsm.png create mode 100644 tools/base64.js create mode 100644 tools/ql_api.js diff --git a/icon/Zsm.png b/icon/Zsm.png new file mode 100644 index 0000000000000000000000000000000000000000..72d10785928b2487ecd200912e0060af844364e1 GIT binary patch literal 21339 zcmagF1yo$knl6lcaCdjN;BJl6xVyVF5-bFF*Wm8%4#6Q1+}(mZ!MWr+GiPS*KX?6m zt=jc=)ob;XSM3g0R+RpPfR6wM2KEUcBLVz~$&8d~OE8-Pwu(Q<7B; zx58mE~k`CyMp-J~ZqSdGER2!z|Ds2( zOQ4L$a1TLyloBsLP}nrrzULhnnyp%HQD2(Ri17B>adI<#x1kiKtSi*nn1DhIQUey%1w2?EfnL0>#tTJJYL5&-stP%hPz3u-p8zUUUAv)`ITpk&h88+dK}m4dg6yt^*m~Ce}R=|?=;D>vLXh_la-e^zq;ZHg^Lg7 za4gTICViZDf8f&l49}Vd5pqG>V0_R|=Hcy+^xJ#;#T4n12*N%2riNnj3_mz0fZ-Ju zht8%`6-IRYqaHlXwEz|h3SjgfG#nT-I1Cu%2L%oW@$te3gZ_sG1Cs?O_%{s%r~NOU zP-`%#|KQR2i2pu89|8Q|F+?uJzd7P^A^(g1%gX13zWWiuJIQFff`MTw{0-nqW6>;N zV30o6YFchu3i5oWj`qyPW{xK2%%1j6f2F_#Jo!FIdviBqQcrt32Uk8%LGph%_&(^r z$t>ig|FF2(3X*FnD3gjix|ox4GqWDb233FFd7i%XsYexst zzj}>L96@e^cagPSW08#5cr|0d^VZSh|o zI=KD^93Q~2{LT3gWBp&n08VbEoF7O@dVcuxALaXS)bt;_u5M;5|BZo#ot2e`iIts+ zotNd`<@<17z|54-&Dzb*{2$={U7mjs6t#2vpQ(TO|3YAA{TEq2J7Wh+L2^$fGjj`L zkewU3&_QPTetg${T=ZU7=6+&;0L#Ca|EH3FrT$Od0xbWF8v=g|&!-JEcXhM_{e@qM zje}j_A4vX3>VH+lza+H&SBd|g`hQC(TRFNpel#o>Yg2%Oo4JdV%SR*o$Krq5`+sx% z-@5+GxVnS2o6vtM_`j0>o78`+BtB6WHxEY_TeW{GZaHO3^0bNy-CR; zO=bF#%~2Xro0~;+XQI#FXSkV)ioCV)WfN115tEuYgMczJ5M*SLSp(Xg7xh%S&(|BX zi3jhm=Qrw7N*AL_DQ5hlG+x=$6IuKmf3m$NJyN`B(8KHkuywXDbxFTOEHdde|AMH7 z#>TY@K(m;KKt$rKIM8kN3<$vXG}2(I?G`N)R-|IZe_LgM7(vl%t3&y^y? z$EPn{Qv&AYSiu}09o6MLrsvdobnX%@%+GV#_q_k{e{Zqh=v)?hf1Fa%J*PR_Lre$= zLlM52;Al1-jQ8sek@+;bE?%K{Io@9ZJ%CetvF!;@y`? ziT^HEkj3u-Q=wUdyilo)ak|mPe{m8W8w)!n^lV3Jfw**-8arUr7wiABD-y+K-=^gM zG%M=m<#j37b1T=kw4~L2Y`{9a%aRt4`UTBN!O$>ARSre)Hm<3qC3I4#g&VRB;wETOpIbn{uB)p{>XpUqi$PiK5g*T*3WH{KBTm%OYCW+!*Ejbc3g8hMBvz{l;t|Jm!TE-M=)3JqZGb7ezCmQYhrQHd{_J<7bBxZT=MHFS8%zHnPGA{{-#YogkE zAlQ5e8C9F~BFgfeSJ!NFW$*d)^?M{Xi@_=KZc86aQe>O~iqJzY@5vu6r4zik}9zK!dYmZkUC&G&t#NGdfQony5P zRVBgX20dNf@8InP(^du*bl8!2<<`sf=I(s_*WJ(O4Ly(Fdw8wA_k8MRL6>%-R{bP> zC}h3Ce;d&-Emn5|kQG(h@a=b}@XHTjw@(`C>R2xq?{624 zQ&gJ@q-AJH$;k@3_x6t7-zzXGXh;I(y(zMi+Rlz28ib!4Iwki7kb+{bvsw0n{Dsn< zUN8K6I!X!+YC$IpV$8x6=9Bm^J7@cX$knYo2#ZcQ2AEY74#qxg5(s3x6b-+i$>|O6$7_F)A z=>NP5x!skh?;SDr-nL0zwi~{94-tk- zR5)M8w**2e*^IMxT(!YTtp05ns{|XDF#K-6KLS<~W*@Y}9%`%A9x^F3alhEm#vXC)b^URdwaeJ}!Rl0Qp^@^p~J&w1m- z30huS_-Q&eb5s!zea-Kw#D4{A*gRk=vXkmX?e6Z5I@1cr(8t-J<%ip!^cz>pZ(Vq0 z2=49E#W)#D=q>I0DZ11XE`^8%@$CK|Ls-rqmAV+(g1M-z-_r%EWA>Zf>j1DZpSudf zpI*dt&X-$#bcf2qhL2;K-!6O(`Aec42lN8^$-r0jf;zyDMsD)j@6XpyB1S#1^!#7% zFwTB>`Rx(VVeY6IR6i*m*3DM;?=fbAg(JxE47I-AuLc^v&KqX&yfO4#GaxrYkS4nv z<1>*A<<%h*@@zScJRatd(7Le|y&8S9RV*F&?%3@$_IQNs^ZvYv(rZ#xRn-?yAzjSC zx9dvm6!_B!39z&kY50;~0ehfw`jhBzIhhOfmm-)SFW35&NB2#ZWoEb{10>rFbJs19 zM*Z^9%<`13Y0eydj6=Yf9TMnVNG4fKA;nZ6K+>1%mXOd7Q8q<4=*eBH$ql$`JL%;G zmMoW8zJ5+2(V(0PQ46@F>3Uwja39`tMi~h~!oW+7C}_L!zryiH69TRLQDT7n7>Hj} zy^lV39VuWKVN;8VdG;TEvt~wORT;|pp^bCyBmC|4@u+z&lFuv&(NUg$%xW0;V=?gz z98Hlk8c!%T;CCVnbnG0wt}pwDG85gN?l>T`x_o3Rfxb4AZuoO8yS&4 zqbaU#mT+M=+plte;^a62L8_rIzdZ~KJJk5Up3tCgfzJSO?w3qs@xW#<%=aDHf?4&@ zJB1B?Ys3I3t`)N=r$YfV;{i?yQ(()+16>?d(ea6H=%-3E67EjMD~fi1O2Io6L<5!7)oGYH@SjA*&?mtKnY4*$ zaT)j5Z)fiTXPu474MTm%z0!$hpIsA(C)tDW8X%jl57V5Y0eASb0oQ2zaC_{mxN6y+ z9&omE7y%Z+9@OW9V3g1C?%QosxIaTHZwyvX+v^H%^ZOj%4jdIT#eBEOqy$CHZUW%p zJ_Si~AJzt8GwE;^Ax~n7xqNE11&=G;t`j`3=e1)L zM{>6Lw9t~Ni7&qOcaAJp3+9c%9L(CPNe9Zndb$@bUGI;t3zbneVkG?b@H_O#%nL{* zwzwMbHcjT@=5DvdIQWh;KD`-xmdSyd5@8lg)9NPwY#QvP^H%nx}_mt}@t6`PV~!{?wVijURk zG>tVSYBqI}@X8zahs%xxT{kk!aO&~}k53K0Wpc#%({{F`b$22O?j=ujQLns zlH7-8ssdADIGTQ-t7w0#W-RBN&|`&r1Z<`L?Wxt-tchDZ`@{%~dr3&080G3I^8*~0 zpX&sw`{bhAVlh#KJ6NLlgG3ssiT7^HpIuzrvOdG?ka+<*i=x! zjkV^Tm}cECmvias)4$&6AtHP3GZ^BH2=&`9(_fohWn}m^`~alvtJM-953> zczYN+Ft^-{i3rdZ^q=_RXT_K%g-W|s zo+3BdaIewEuFuD8+h)4;iIOTvHjfbArZbU-FKgE*Ht`d(zd|*WNV;fhtQ7{Yb_o~x zwLU+|uqlKM$!z2le>{7@u=Yc*SGqGHI}>b4dP4u&DSX#fAtrQYL{jP;U(sP=xtoEB zHi+6Ho%2wxjw_X&EW{ZU3CQ}4?^sit{Jkh(5&wdBib?$_rVLVHX2{_6ShM5AOGpN6 z!HJpv;9v&0)~EUqs!hoQ->}-R89bc9>rmfIO<3@@hPOPK!qAZA8$9=?>%!MjEc$nm zzSP!eF+C2@v6@{VN7FD9C&(Gy-jjB>RifPs{;){D+H||UY}PPQpIgsC=>95jJL2JE zufn-|Y#rLB5#0bZP78;6ssA}Dwt>VLunAiMP2Jx)7#eS%fCJQQMPhh)Q1^S`_7QSj z$O-ToBINK4$+h#`H2i*&ChXDPEC2}uM|^sjOS|`0DhV`kXx$FU%svr29#OZ@K-%l7 zYtSYIv&{E6?~~d3*vr(FKD&0!BJSWSidM>zMCXjkd09vUfhYsL1749hLUv7)g&TV2 z6odj;>!arE4EjzeQDn1A>OY)W5w*aP0u_bv&NjMMi}LH;BBfHAnwrwD0~Hj7aqKdE zUOf+lu$|wD)>e&u1tGEFF>z8_jC>gFCFy~>2If?QlGt?7I+E%|(J_ULxU*i&O3}J* z0wx)eHpTL@60A1sKLS%UuuKcABY)!!-62m~NhmUMDRI_jtk_iOt6AKevcnbJOlbs9T8A1j8SIdv<@+Cs*64{$8dG2TNR} z5sym}z@9W&oQ-+40uvfYW>ooit^Kq86e<@R(&t9*-L}Q=IERS~9m{o~l9qUBNjX-3 zVZ))O>&b>dA$n*oiUED_PsV4>2_5le+pS=?0mgxwH@6w zMFv@$RlvmbORQ(-2-~kAoGjBtyY7`CT?!37-LetiwRZmJvm7B%DAAJd5)4dZw}~=6 zHQH8e%t`mF1|eQ;#E!FE5k?9wKug;?I5|mu>5-*tK9ra9~18}bgTRjLjLQKjAFWueV|dPN6+)R17_`( zDDyQi()D_^Re)fIbWizv0&)Nt8EkOO^Om=tHW9B;vUxOiB&M#l-I|U4h=J>od2@c= zXo7ekH#?_M)0K@ay@AP9z6n8<`t=JmgB|CxrIO#t_h$b;$Z}PBHfNf4_1kRPB1PrW zbl6&&Kg0p4!a;+x1s{8a`YPjP^a_XanR+k#=I8KN_hEa(7GLjn`4zDl$2EHTNGh&b z>_TrQF1HC;E@3C9T-_#KPfQYE{~XmepsKl*-izy!Q#IodcK@F7gGLCYBqrEFC*D zgEprFg?OmjI20S6V^7SmE@OB@FDLjf$hGk=nKjhaP#L=X|TY>*f zZoC48w%qiK$l#;bL4~c;iX;bw_DYsgr;M4Ke+uTMW^y?qkq=NmY`O9eZOIPk<+uu) z%l|5+CPG~e6InQ1*~w!;HJx@xND%kH(vWeD&p?!9I2dA2i`%%H^;~tbg?v&6Zo9Np z9Anc^ZF#>GLz7eci9thd?K`f;i0n93^o|MvfGU$u*Q4)Iqo;I(_-Vt#Zc{K;+f}Y1 zdVI>Q>~i3KxMlg?KJ*p|l%gnE1S1X7UyF#OXUf9GCZ7GKcBJx}Gt)3sWD}p)2A^Ey zmbOOYN+>D0t(s__vTJvs?D_S8$t{BBAUNQqp;x9b;fol;RewZ2e`Nt}mnr5YdI7YN zCN0@72nL`frft$N)R*D;?OmX%^@%|9c)1*oZlerXs}{MR2&pdc!gCYtgx_6)f<4a_ zjQ~(8PQXyvUAA!V;Jt=jC9qhY%GfgVq!T$5zg&7>zB(_A4g1z6XCilt!ei@X1hpkVj)cVqFTs$&Cr>S1SuTGURu_UHzR>CttPfg0 zcwzY*$YI2Vgh%<3p4%V#5?(@alsQQ)??ew32!@QM$_}lq@6t*>!Q7+OKz@3^>c~>6 zQ9ZvEh?$%H%)=~r(v0F{q~l7$1>nDEmd#iO zDhb;jCTXlfGw4)i6FwLXM3^Q-v7Zf_0u8TZ0sMg42zmwX zzxpDU*G#35B(8Zlpp!aw84F{5Pfd%zmdZKh9Er#6Rf83N@9Hf#8z@wEo;`9o-_Fud z0hC#BRx9=o=TF8A*bC^`3@4~BkZ79(@^LfMC82vV#gFRMDON-#OYPm@)h9IT=sNGi z*a|r|sV}h9)g?$Sd}nS7lzu)dV_L0jQS}tVPA2TBryQ;<@t0Z967!@k3*fMmG?&x> z>RX@G_=HE#VXoG7n`)Gm@L0YAy{AGAY`+^ix5@hg2(?`wLL=lV7|E)rP?G1>7If+g zhoByD_?*GYCO%x=O=1Df+^3ZuQu52DIwR&jn;;ogb{Rf58IE_z=d$pxbKg?WVvT2- z&QW-!N%hBSL!eIdHex_TaZnu$m2TlnSN%VpqKp1-)-9SWjo zJ$hEnGh5e!QmZjsxt1o+h`1@aco3XYR^*~%e&heN$0=oDsqi@`x?|S@KzY0$<-Co) z-3Y(Cn%JP(i`G7>!EK_j253`6aI{}|Y#|#Fffp6jW@%P55d(SUj~4)TQKz4kzfCmfimMz7hmc8<;*e&q$m{Eix>zJ;(==vQ!Vk_b3`fJX#tD>FY;U~UJgGPvy$%@-WayW3~ z-b*V^TJP>Jnp4cj?@oCzhl9513m41^W6c@M2eiggvN|TS+usdN$^a|JTyjjyymqVp zx2>Saqun|nTP|ffE@cEJIw=VnD?L-94k8+{CnY$VZhl<=QuO2Qv-&ysHvOHZk zGi1OZu2w6#fF;riHU*4WBx_DIcTV_K!Ydeu2`RINU-a`;Iwhg)7TLs2ZIdLgk6@At zd#X2`KXD1pBvTHI=<<=wv}sE}{S3`Zz6{x5zg`+C{TjOzjY@n!@}Rjh!7)LtUeLec#QTn7%51C-%45@z(fLyeT||~@8l+~W;5#sP=xa_0f9Y0rOcK5 ze4f^zv2^-ajhdMb7p@n{M!8TrgsG^9!A;+M+=L$+uX!he{ba>?E&>a}+NQkWhcwK< zTG5xu!hT#WQ~1a1Cq}9lH0qVWW(oFMde|fUk5j5`atGm4rz{sBtk$$dq^dlhB>vB~ z!|W4{+g?GDV6~;_%=9c4R7y`*$z(Bpt0G0c!x)H3y>Hm z!p?#mwg>AiN>s@aj{|&4ZAmgYGjfqVX{e#v3~iheEt4D#Q#ePve@#)S6r;MDqu}nm zM#4hjkl8?j^~4u&8$f7%`IlhaF>@On?O;UAN6_b7~1%t}m2PTc~P{e8lsp@TZZ_p_MQ3(N-N=s`-R z!41iMZpLKp!jpc9ZZu@g%2~ar-SK>vIChUs-xggM*im9?%2bHi>UC|KkTjf4Br;-+ z-(Np1YL2{B;###6^rHIsLrm=HUsVnwT_66SMt#bHqQed1%BpEQ!2hhnD%V9fC6lL; z3!sSWE$bY7&>fIH&NT^86H7bRN#EO#5S|}%V`i>MaVu}m?(-|lNoyz_g3uNpoYyd1 zG?PTokLuNHM`==5Q`hS0Tr=ONg7`&&kiW20&Sl?h*jlzL6FNVduBA;^%uwEJnzf#S zugD7nxGlEZT(D0O+F&}d3v8kna9Q5RSzX^;C$Es3px#ufEL;KB9|NEGzx$Zz-d~;e zaN+g&u0l2;8z3aka3S@ea_AgJ8u$M(_20k^8%u8iAV=d*#&iTC%=K9AQzE7mlhOqsjwnd6hdz%s6L7zNI#k+6TvlLWWvFw zR)*iAg#;wKR1h#&k}8LDo4lhcqDo1*pw6?bD62}KKW)lrw|OkVKl_dLm>lCSBgcKD z*Tq*ZHgi<#BjF;89KEuOB4jb;ux`T8!B=Vj!hT!;<$Hb9v?Hv0p@Xqbt9%23U@ zGKn!yYp|71ae^GA%Gj%~t@S2y}Bk@6UrHC-15F3ayWRToAW#rK)q)vwNJZp5>W2`hxRR(M-pN)PE; zCmb+}iwb#k!Md$W;TdI|uSdIxY(!4UGAy7<8lZBNG2}Kx7`lCE;eY+zEJyH@KStAG zXj91i*HHi|76XKOXh{YMQivLYw;o>G-i`z+(Q$76NLq3fitHrZa9G|Rd(s%{SLnl1 z`L)X1iqnzqGVRYj#1kA)MbNtU3vhHj6HJYnJ!#Hn0Y#PXHA z^bbGM^}wP>t*AbX;~Y3XZ6xEPlaJj%vFF3np^Gjnq_MTJwspjK=KAJmIIR4Zc+QvG zHkm_gBQ9hqQXzC7dAtKrx)HD6UmFO+k1>~M=ub-3>S|WXU2Ltjn8@Z#3)X+gqGFJy zP~lk34KqaO>s9Dcg8+asr?_)n1B)V?V79^8kfbzsEp!+=$xeFu7jC!HR?yf^MAQgu zp?4IG>KHG6!W_ry-GsZXU1iIslZBNxU)cSDBw@>%xzygX?)6Z+!Rw~xLi6ymWsr=G z{8R)YzC|hnseC5^J)%1FWzi>P!>>D!q*2(lbff0C3{alJSZivikl^m%R+JI(LR&X- z^@hlFV!4=WflJT=vqw?1F<$yY@JN=L`8{3Gi_8qjh=ZwrbeX}W2ZCrK8HD(q4!;V>Qb>4;t6=O zUaP)ba7QngnL_DQaK6N6W%ujvdu%NxN8z|d&-Kd3BT{!RIP9(WTvCSS+db2yH0VvJq(^d?4aCHsuSXR@V4w8J@s<>UfmY@G0Fx{4{6gG9wuJ zy<#VU87f9&MR%f|)J9}NBN;~AsT0dLiyTuk@LYVs?O-YPBzlngI5*v+TuPjU(ZKvj zXz-v-DwnQAOz%R3&WUCr5d#t<2CTmfM0D&8B4&mI;*J2<2Dy_l#$eS`@ZlN377mR9{L|;I{xNA0+q~%n&@I;@YQt#q9Z# z`s+VFvzhF_%7hpfq^gy)^DDxGjbEpY41AqQo{TuN8hLm`C(zI^w#m-%lZuw~Xq5Hr zlBp1MVrbV$-^aJUnrN04%K6YhyUWX~>1yxK$VYKzSZ z({v`~%cj!`W7(CU>hCVUY_QrVsG=@HUxc>z;g4A$;ldqQ+1er+ei`~Rg#a_Qh`>qy z=@`Tl%_DjYi7uUpAf9CNByWvpaKIkSMBZ;>B9J~eJg7GOlr(3c?tlhJX}x3c6$i?- zen-@Ty@V%i{B(L<%uHE+|fofMLsi?;n3=`eXmzn zxqrOe8Wr-OeiyR+a6LD^mJsY@i>6YjmlPL4I5_tAtdX1OgqK@76psxknhBzg?z0yQ zJws_>p=^UFCnRN6@8M-DmfTKK7~V{R4&Ra5r@W|@W8lg0sY*hswyJN_ft$4rG6#d1 zezF|<;Gn<}t>`RyXs8T5MJ+uKb4$PsU_klou(J6r9(=X!S$p*%AF(R04q#(B(*C90 z?#~-pvL>qfVzeApjP<<eY0R1Dj)qYrjbMjjJG) zB10ND3EC%!>rmWyGY+uHdv0ymG_tY*y;}LD5)HukkTTIW$br2H`DD)oGlr&Pv-B#xmX$Hvfzkv8PUF^1*k}OqXJ^6C_+#n5?bqO^3Pc zEoF#kd+D>A93K71GwwOg3zNR#1F1&y9KdzGinu;~k?VGAWw@msu4|@;9K3E7p{WH;UZb``-f)B z{pWZrw`uc*^1_Cp!AM3wat*9mq}Wo%hP1C92)GHLM&6^rmmyj3lawag zN|me(YI!mX7+MaLY&z*6ZEUWj(Qj*36}q-XLrEjl>KZyl^<@2c58_OIiqfXeGtDox zVy{Bkz9s>vGa2rEj}bv7NWMY-!zf$IcjvBZJg9feFfD#)GdTioRlC2B1L{WnC>^be zKbC(1fCmd4*Qy5ikW2a~m4KjYYC4vx8lsL~S_?X02oK6W_|Q{nM#ZEqA#3u&=gIED zfla-`a8mjP(b0yZGX*Q^(l_k!IFOdX^46TLUKD101mXZ(Mnk2U=l)Y^;uDoUJ(mdp zN|#<(Im;z&oT0E7(=8evDc%ShxGSr!28>yjt)6$XpnbV6X;`JtP@@2VgR|1@52x@5Z z;4z|Ntg(?2tQVyjM?Vqirot#?QC#EY_Kw0~a~fk`PH7koW=-}ZZT3YM@(El}v9V&8 z>ko>)eTLXWmkJnv4c9eS%MvclG~NHr$;DKMb&YXnt24EdQsjPKzn_5X0;@Jq^+hFG ztz@8G-s@}Qf^^*^QODV@Nx_I#&6SyZ4Zs4Kw_RlSeqPxa|DV$on>L`4@5FHi&T1Qu zKB@EpFcPB-nt|b3{5kIpz5bW`#S#rppoNp2-l5?j0AKBMh}g%cc&f`7G>1m8bdvn+ zVetk6C=Ki~WTN)@&|2C|nKr7w?Ga6K#TdSiyJ#7eN_}gooCy$*4)R0EZxMP3T7S9m zx1Ofozn006gm~25gNUIo?5hkO)m*&?mS}Ln{*;%#wEUI`KP79?VLDmE5C7j6fo+PX$bZ zd;w221qKW}p0rrItPVX@M>Grqtbe)jtDBxk`fqOufN7~rs6r!Egdsf^*WCJH!cpiR z=30ki50`psBrl}*>5=qlq~SXYw2f_*c3N(CozFFCQVe-0gD;rm#rC(C zW|hvq8qQW)BeGv7KRWRu^aPY@{Lc1#95X*v2E)+RXJHC-xZ=L+Z)`p$Jfo^<4f5p_ zByfl^TV!8-Zw`J=3g(0df{PS1@8?;b9vF72my4ZX3=VMyOEoB&>%hw7@=Ok!91fEO z$P1Va?m}v0@>O$2p)sgxJrIyIbI8HTxs{@b!*%uD?qby1r)fMb>*XvPKPEJAR&}qUAV+ z?}X29BIZoM3N#i1(`OKAXzjU zVws>A3H1%$2o4{NNL~lLj_D0XGr$pSONO9o`*Z~|?&obvSrA@yt%`CIC$fDwQ}k$? z^rVu`>epW(B2E$q9?k$YMX_xH$+NnpT9LF9gJSD(kSsj|U96U4{Wy%OPE~=TkH8p*kbb{EvdQ%2^Rg*vE&+_D<6;P*K_Cc!{t@!=f^LdN< z$yCch@t|z-S%ZvMd@;gN7T3F-gh-~Rz8Ju^2Mvv_W z+v=mSpm7y>ys~SlM^#ytE70OM_DwxM3p!kq5@ejp2qq?aniZyxh}ovG;1*;*y(u>} z@(`<66Sh!FSI_?R`h9%tOQag6>jdVfRA_9p4Hp+!cfZCNi;cg5Lj;`)!9g_FQrCWuWYNfjCTMo?MC~j)bA&+yzwGwv7M-1 z|jL*r-vRQ z4JD{kiw{M5cSYS6i$&K&x-f*?L_Yh^);6-Oqkctr$fpeYxr%2}*(7huKaxcj&H`m^ z#_zs|EoVa>oeHxd_*F_%hU73NU3qg?-SUlwZ?w${F2d&470fPVmQ63>NqrNJ1NWUSrxblq5`1FXUt z+)LvBGO$pyY7~k>_gUMTkind6o^IUfXNEh@^u^58gOeC;i5^}E<0$%KW<5QDCizlo zw{MB>A?%+Bug14LgKGJ{g;dA(zJ*GmVX371_Pa8s`-cYI{i&E^Uc)kLq2VN$?@4^x z_Mf|7e`?St^JwJH2k!~}j$_E}?(W-(hWK5PNhG>AUFNIZ);3AMAPPo+w_Fh;fno<;MENygSsUo_ZAHjB97+<$UUhqtQp-7!j zmUdwb2CIy!pvHduqogL=2-oKstou0({?p4h z$oqK~-$Cw8rz%M-YTY$PrS?MB0awWvl5r!!hB88+pV!I%-h7=LxYCHb&GHk;K+ z_2A~|&=+ZEoz3V`Y13nN)1rl9a+sCPW(!C7+ASo=;4%Ytf%avX&b^`v z?|@MjHHXy9KjbH;8qD!d8uC+3CeB%Bguk00z1=^Ke_SS*=f*0>S5n~jaBLA84}Pug zF^b`CecaS~9F&Vk6*Hb3A26`YS~L;^$}X^_Q?6FNx ztEIbdQcl&+HJE_ETEuR0jiqi?6mwwC1TmIC3bc;YVAfa(wFnGTZNgY?bQ7wG6kw&+EKQMdn*ACuy2&IfL%yRGAsR#V{(o z=9Vf%#g6RuDrv(s>c{<<7 zv#yGcMg0Pt3B9wpcta(dwzx@0pibVbOVjZ|JVk?A6)+KBZ$u{e?W!g>rVA_J*uvm|QMRY=FW z$rfQ*8>HO6=i5~1waG6Pj>VjBQe;nGdmR4|k^gEH9u|OUjCm3E9aDq|r-2oVhPk3z zj)-K0SDP`;pr946H{GP5Ul_m((}!FM8-zrdQe#^|c|1upr4!HC-gNTWCa=tam%-M~ zZrY?spKyMRM2AF%Az9Rcwbh^9QAr0zK9DUT^0!k8V95V~sM-jZn(A9Yt;UW1_loW| z9_|aI0jqDdJ7F-1Mlg_9ugn*>8OxDoWMq4!{OjaipT ze%gXB`ZB_6KaS&qkr)4G8i?}^Rr+S27-9wUM`&~vwuy(H`fN2*I3ugmz-L9u2yEcMK;YvTm$N?b2qj zI0CvnwOYHV=$aV>tRzID-b8HRy(d|tftlmT@~CdA)=rEUp}_|~B(;|sf%pLd3YLK9 zS9fi~;Q?%RdEg;>J~(&QhjlpK=q*m{*YPHbbkeej91y5l14avPt}4GoR{eqB?ni{Hcr;FfynjO-=qfM zUNgd{>+9DS9C!?~owUCuxOI(H@R9-=&Swzq*S$`%B2F)`!7h#)LIMWabG%Q}2&0I^ zAvGu#g9@UY+}n|`f-XWZu>~GIj{!S3F|$7Qp*L}Rtkr$mt=6;DB^r1>6M?W+H}lzT zz5H$2c}7ZZ_k+gayHoMLp0f&{+k~BgWIE0^S$3Gt;KlST;hV6d!9UQ)8K1q;!1N{@ z%vO5qg4X}6htB0C2z{#LD78<=Rzj^!?opI4YCG@$>}*VyQempYamDDT;+9GabMsqT z1e;WlK9n>)I$5@`Moj>bt?on{n%(@H>1Z9TSJRFbWP+AD7f6K0m&t0NjI|zzrESNB z$)KpvcRo7rbKxM)yzOPQQj8-m0 z=aKryq<{pBcLgE;gZFQv9H-h34Q80G=hw4YNR#&BU zP2}7otEYx#&GwdGEvC5>$?3lDpNFOH2&NsCg}d*@G_!o^eCt)8ldgr&6v=+pASSV& zJjwMf(j6+@^;S}%=A-FHOL8SXUbabnYHKU4wVSf8uHQEO;#@*L{g^iA7b4v%@41-&N6}K*buZ>@8pt8N?q(Y?*eIgm6%Di? z(A0IFM@SYocY$84`>9uz1y9}uNkZ6)9(pG4d?X>M&EH^>TiK5AgfT5^nJB=e*&BmP zG-^p%wCOxdgi*(X3;s2nUQ+T4t717k4=NGX ziHpFPllqD6E__Pwkx|Y=RPg*C6Cp4Qonw?5lENJl2xX9aG$2BiRc%nO-Q#X<3$p@9pP zqIH{LOX#R#Dj_bw&6gC6_ei{fw|3B zKz;eWpb3NW@}nZ~S?K0?>usu&{bAeE(W%F~sq39&6VvYfEeEzB&|5uJ?fc3jrB3su zG(TW8-K2}x*oFnZxFQNu%fcA-Zc6&gXAF+kM(F&X|0jPCfbUp+KI+UhEQ&?I7R!zl zPze7DCNC5=k&%i}SZ(>bI7db$MAiWk4d71>lqc^Q=1Yya=Fji~`UET@-=1M$Gzf3GXDlognB7k`=6rj5yHj7>lhx%t;k+Zw1s6p2 z0^q(3I1i>{nVC$-(!r1{ORf64=l=h+&Rts-l$D#ps~|BBDJh9ag|(djD!Xv=+ic@C zH`<1m-DI(HeOSif9<59w2Wp~Yt37@H7i@Hxxn9_*^G~Ohfp{IF!Hi-$4u>JYj!{c+ zmCp4YN{5rQMjAt|%si$)^EqrJ16h3Do$s%wPE1zr#g~9QA&Ce=5>q0G>xqtsU>YAn zV0sY@#65hvC{oE|BxX=}=Ehw9$VWcn7%)2})!&1}I1=s1;FOp+@k9Rf*x@bTu+Du? zDB+(j3F8-`BK;XHt+u6YtL^yC`)uoX@36{-cFly{DCZ}oH7i#$aG8BFcwmcdfB387 zPtAkVnG74vA1lq7C)zg>ThzpK02#nZR-CsAxQ0%H5y)2|)#QdnV>BU|j?lMhH;X$_$h4$cV{!W$_m6xX_p zeBQIW@1Pw$uvKd^UT@{fxh9x5POgb^qKMIzND_7J{GlCRd9f{8cA4s*s43SY&HC7! zGY}q7nB#p4LEweXCZrBgc(x>>p?VnASW=`Z2-vzs0!XBqZq5^o0RADzH(NrHW=nmz z1hS_Fk>v-2gwcfhbpQYjbV)=(R5S26hI)a*ZUizeNj=FXoTg+9vJ4H9(=!myk)2)| zzLp><pWu>sO*u-bZrk_7_Y^Ev95N2}n?DIO=PHba!SN=O44+M? zD8xL>^WhJF*ewPLCSq|;@Cp(KFE%TQQqRcpQw# zvu_W%NAvGd=yT4b+?+EI5=17kOHs{!5Jn&C+yJ2YwiW8a6IcVk49oRK>#upIE#G*p@Q_k;MGinGkK6I1d-Rt8y53{H=(*ONqdU-X zV1ZoDG%OI90@a3k!aGWeEag!L5EBm>;V_#AsQ%GlOgh?|-2QlY3sd4eq{9iuhRI7s zKH!3B4|yg=0zx{T9*ln@kkbb0J__W+`0aA8hMi?+Z$#UxL5NJfL z3hqjJq@zj;x%};R*(=^{m%RM-cJZ~>SzB9`b#77a_z%Ad-ym`LR5%?CV9hmO3Wj41LDsp+ zmR#Hmi-|e;FhzLg1Lu%-fPPki$Mg>qU>O2iAu&BM2yi1H5q(I*pJNNw!Z=`FmY+8l zK0nc!%3hR_uAgUG?dwpYU+YjGeo9zohb6VDe!Ob2B{hk1Al_)pH*9hr1@7!PKt`@I zFHc-cJxa&LYI8swrlk6Lq|+*aFn?hhqz)1Xa~Ek4PN>Iwj73CeB8?y%e@vU^Z)PcY z^%HIvIthyjDWY)6lo7vMYYZXrV2JF`bP^j2Ge@{y|LJYabMIjE=lKRHzgz@HA}tlk zhMFcumU*8{kCK#vDk{>)V&I{S;`EFlOG+jcIYUux!9~q$F16x%%_b?*HA6dX=a0W- zfmYQTmxHmWO!LJwCv7~fxofI7kSAJ8r@OVX$#KeXQKs%(&pMl9)PC9s%Y{W1n2&@b z4^tZxn$AP&V37f?35s&w6P6U|o?xJ`^Ut5hsR-zXNTMQ8n@xaMqymzR`orYESc97J zOzY2+@y7yCKBvYXKiL*6g|)|k!BX?;(@UDnRv)FQZ5ER-j_KeNovh7sfiDt?eMlAekr zkJ&T#{YOT^2y`QzhV?Pu_~LV|PG0b%kA7baq{Y-Vy$R`NMT@Lq$x3cQb@N82RRZxA zU($qt0aZ#YA}{e|A>|ulpyuTlJBpLOltDyGW#kyxRvT#Q*=zdZby^RjQt3W9F@^aCv+`#Gk-b;kcMD<9$MSp~Ggp zKR?|T#=rUIo1NA8=}&)pk|&$%P^nm9c-gTeS<)AP>&_ALx>?31)xF)Gx#z1|=lZCd!W1Z^F%qql1NACd zWtj{Fo@2h~j4+UY85oIQHWkV|T!)#>6d;%&>;w$g3Fbo0frGLc2+83i@wvcxxSm}5 zSZ7F3tU#V2915X43=QrgR);#vP)1T@l#M>O&~mXgtbVZ_d-iUv?Koh29{e|JIC8Gk z5#MqZ)5vo4*PYl=f*Grwb!ZCpZsBKzK~x4mQbNwe$`zMbbDI*(P6M4$2AYfaqk~uu zB_AQpnAQRihk>#Q)dmwlMBh(F+0qffj-`b$(B9sj^K#qSe321^i7(4 zc*GK2Pl+)O*un074l6kmA19;A;om_bW&YAGl3J3;1;KPYF|M_U>dv$Em%Tww#ms6P z++jZHv}2(8e3@KzGkU=`I0(U9*@S8DRaia-LQRp_<{hEoI;fvyGE~*c)F0|P6GkET z2xdT;i6mu;D%IROV4MC2nUj5Qs-_yqOmqo}E62D}QD^Ez49+HQZ*G9xV zd_KZYg&X1%pCBJ7L}CJ*e`WP+Y~#y5WOZw=7mi_t5zKjEATb!| zM^hNx)^!>nT$iPkY&H-yTJiFi*+nmVza}lN)-|V(&Kd>+i?FUA(Qv@#To7u7I`Jtn z@^caRhlDXKCLdzSE{7A60B^p?J0T7{;LL5$?RC!72wvkonShDg!V^-6P6zK4Rp^U| zo8DvVH-FHITV863_+m*HeRDOfkKoDUoYZeb=KIiCxt6w(mwd?;w&tq$+ojjNSCXgQ zskcmRzV`Xuo;4Tq{1*#M3!08%9mQ>@)ucemrV4-J7r~cX=ZFv z=T%M%dzQ*c*tB%D)#?+RMI{&_Sau*LYB`Oh203d;qukAO&?ueunbhF{Wlu)R3vvTn z7$}e`%UN6tdIypWfwBhzdBby-QG%SSM*-YG(rVf=a##lPE9ET1L3z}J_V)Hb{;s@b zGE+3%G>uRhO)ebM*_=~J>L-xO3>0gdnBtRNN>ans19J!nXPlsPlQ4v1B%F+T_aR z`^QJ*QL$i{Ttt30=^KPm2&v>E065_sd_@=vV6S{-CtnZ$W>iz=U;gF@f1PHPx%@i*YC4M<7+6*_361#c!&}UBLNB-6a*OkphtGxgaRcPT zQNEmHf!ie&gy+u(?tS^pHXoB@>Y7~k^#1j{l0b}FBmmY-zOaRFKA4A?8z6Z)M)T#T z+mhhs7XqKITp{PY8vuY$eiC`wGpBqEHS?Ngd&Oy=8$a6zCiNAj2(NrLn>vvQSbnG; z_I(Fu*U33l7^-u+a@p7A`y2I39@5$H#hrZ5Sjh3`l?vm9NP8tAESxN#{h~-I0<6Tp zrgKVCjupXBaeNVHI_4oKh@^j}MdvHWbHEtPcY`_d5e$gWi51*PAK~xkE$QK3a3s|b zsDlE9E&@rcyzhtEj!CV~3lvGuTMoAYCOqXdUoCGrPEZf!G#@RmRX1$~&$E-yD-2ZV zD8z{AOUyuxhdf+=` zbl`NVPJ`Xev_OqW66NhX>L9fh;+p9Q#=#q%&+|Rqwa>?MFGvQWBTg0>rwnPc1WIua zoa{RkB%>jPa?QY?t}y+iFc0tiytBf>9ksB3=3C%-XN8^lCR=!da0@IjP`EV~_GjDz z3k)>lCR?~5+yV;>6mE@${Ta8w0t3ys$rdgMx4;4eg JSON.parse(response.body)); + }, + enabled(ids) { + if (!this.headers.Authorization) return; + const opt = { + url: `${$.ql_url}/${this.type}/envs/enable`, + headers: this.headers, + body: JSON.stringify(ids), + }; + return $.http.put(opt).then((response) => JSON.parse(response.body)); + }, + delete(ids) { + if (!this.headers.Authorization) return; + const opt = { + url: `${$.ql_url}/${this.type}/envs`, + headers: this.headers, + body: JSON.stringify(ids), + }; + return $.http.delete(opt).then((response) => JSON.parse(response.body)); + }, + add(records) { + if (!this.headers.Authorization) return; + const opt = { + url: `${$.ql_url}/${this.type}/envs`, + headers: this.headers, + body: JSON.stringify(records), + }; + return $.http.post(opt).then((response) => JSON.parse(response.body)); + }, + edit(records) { + if (!this.headers.Authorization) return; + const opt = { + url: `${$.ql_url}/${this.type}/envs`, + headers: this.headers, + body: JSON.stringify(records), + }; + return $.http.put(opt).then((response) => JSON.parse(response.body)); + }, + select(searchValue = 'JD_COOKIE') { + if (!this.headers.Authorization) return; + const opt = { + url: `${$.ql_url}/${this.type}/envs?searchValue=${searchValue}`, + headers: this.headers, + }; + return $.http.get(opt).then((response) => JSON.parse(response.body)); + }, + initial: () => { + $.ql_url = $.ql_config.ip; + if ($.ql_url && !$.ql_url.match(/^(http|https)/)) + $.ql_url = `http://${$.ql_url}`; + + $.application = { + client_id: $.ql_config.client_id, + client_secret: $.ql_config.client_secret, + }; + + $.ql_account = { + username: $.ql_config.username, + password: $.ql_config.password, + }; + }, +}; + +try { + $.ql_config = JSON.parse($.read('#ql')); +} catch (e) { + $.ql_config = {}; +} + +$.ql.initial(); + +$.log(`地址:${$.ql_url}`); + +function noReady() { + $.ql = false; + $.log('请配置好相关信息'); +} + +if ($.ql_config.is_pwd === 'true') { + if ($.ql_account.username && $.ql_account.password) { + $.ql.login = async () => { + const options = { + url: `${$.ql_url}/api/user/login`, + body: JSON.stringify($.ql_account), + headers: { + 'Content-Type': `application/json;charset=UTF-8`, + }, + }; + + let response = await $.http.post(options); + response = JSON.parse(response.body); + if (response.code === 200) { + $.ql.type = 'api'; + $.ql.headers.Authorization = `Bearer ${response.data.token}`; + $.log(`登陆成功:${response.data.lastaddr}`); + $.log(`ip:${response.data.lastip}`); + } else { + $.log(response); + $.log(`登陆失败:${response.message}`); + } + }; + } else { + noReady(); + } +} else { + if ($.application.client_id && $.application.client_secret) { + $.ql.login = async () => { + const options = { + url: `${$.ql_url}/open/auth/token?client_id=${$.application.client_id}&client_secret=${$.application.client_secret}`, + headers: { + 'Content-Type': `application/json;charset=UTF-8`, + }, + }; + let response = await $.http.get(options); + response = JSON.parse(response.body); + if (response.code === 200) { + $.ql.type = 'open'; + $.ql.headers.Authorization = `Bearer ${response.data.token}`; + $.log(`登陆成功`); + } else { + $.log(response); + $.log(`登陆失败:${response.message}`); + } + }; + } else { + noReady(); + } +} \ No newline at end of file